# ------------------------------------------------------ # THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY) # ------------------------------------------------------ type ChatMessage { attachments: [String!] content: String! createdAt: DateTime role: String! } type Copilot { """Get the session list of actions in the workspace""" actions: [String!]! """Get the session list of chats in the workspace""" chats: [String!]! histories(docId: String, options: QueryChatHistoriesInput): [CopilotHistories!]! """Get the quota of the user in the workspace""" quota: CopilotQuota! workspaceId: ID } type CopilotHistories { """An mark identifying which view to use to display the session""" action: String messages: [ChatMessage!]! sessionId: String! """The number of tokens used in the session""" tokens: Int! } type CopilotQuota { limit: SafeInt! used: SafeInt! } input CreateChatMessageInput { attachments: [String!] content: String! params: String sessionId: String! } input CreateChatSessionInput { """An mark identifying which view to use to display the session""" action: String docId: String! """The prompt name to use for the session""" promptName: String! workspaceId: String! } input CreateCheckoutSessionInput { coupon: String idempotencyKey: String! plan: SubscriptionPlan = Pro recurring: SubscriptionRecurring = Yearly successCallbackLink: String } type CredentialsRequirementType { password: PasswordLimitsType! } """ A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format. """ scalar DateTime type DeleteAccount { success: Boolean! } type DocHistoryType { id: String! timestamp: DateTime! workspaceId: String! } """The type of workspace feature""" enum FeatureType { Copilot EarlyAccess UnlimitedWorkspace } type HumanReadableQuotaType { blobLimit: String! copilotActionLimit: String historyPeriod: String! memberLimit: String! name: String! storageQuota: String! } type InvitationType { """Invitee information""" invitee: UserType! """User information""" user: UserType! """Workspace information""" workspace: InvitationWorkspaceType! } type InvitationWorkspaceType { """Base64 encoded avatar""" avatar: String! id: ID! """Workspace name""" name: String! } type InviteUserType { """User accepted""" accepted: Boolean! """User avatar url""" avatarUrl: String """User email verified""" createdAt: DateTime @deprecated(reason: "useless") """User email""" email: String """User email verified""" emailVerified: Boolean """User password has been set""" hasPassword: Boolean id: ID! """Invite id""" inviteId: String! """User name""" name: String """User permission in workspace""" permission: Permission! } enum InvoiceStatus { Draft Open Paid Uncollectible Void } type LimitedUserType { """User email""" email: String! """User password has been set""" hasPassword: Boolean } type Mutation { acceptInviteById(inviteId: String!, sendAcceptMail: Boolean, workspaceId: String!): Boolean! addToEarlyAccess(email: String!): Int! addWorkspaceFeature(feature: FeatureType!, workspaceId: String!): Int! cancelSubscription(idempotencyKey: String!, plan: SubscriptionPlan = Pro): UserSubscription! changeEmail(email: String!, token: String!): UserType! changePassword(newPassword: String!, token: String!): UserType! """Create a subscription checkout link of stripe""" createCheckoutSession(input: CreateCheckoutSessionInput!): String! """Create a chat message""" createCopilotMessage(options: CreateChatMessageInput!): String! """Create a chat session""" createCopilotSession(options: CreateChatSessionInput!): String! """Create a stripe customer portal to manage payment methods""" createCustomerPortal: String! """Create a new workspace""" createWorkspace(init: Upload): WorkspaceType! deleteAccount: DeleteAccount! deleteBlob(hash: String!, workspaceId: String!): Boolean! deleteWorkspace(id: String!): Boolean! invite(email: String!, permission: Permission!, sendInviteMail: Boolean, workspaceId: String!): String! leaveWorkspace(sendLeaveMail: Boolean, workspaceId: String!, workspaceName: String!): Boolean! publishPage(mode: PublicPageMode = Page, pageId: String!, workspaceId: String!): WorkspacePage! recoverDoc(guid: String!, timestamp: DateTime!, workspaceId: String!): DateTime! """Remove user avatar""" removeAvatar: RemoveAvatar! removeEarlyAccess(email: String!): Int! removeWorkspaceFeature(feature: FeatureType!, workspaceId: String!): Int! resumeSubscription(idempotencyKey: String!, plan: SubscriptionPlan = Pro): UserSubscription! revoke(userId: String!, workspaceId: String!): Boolean! revokePage(pageId: String!, workspaceId: String!): Boolean! @deprecated(reason: "use revokePublicPage") revokePublicPage(pageId: String!, workspaceId: String!): WorkspacePage! sendChangeEmail(callbackUrl: String!, email: String): Boolean! sendChangePasswordEmail(callbackUrl: String!, email: String): Boolean! sendSetPasswordEmail(callbackUrl: String!, email: String): Boolean! sendVerifyChangeEmail(callbackUrl: String!, email: String!, token: String!): Boolean! sendVerifyEmail(callbackUrl: String!): Boolean! setBlob(blob: Upload!, workspaceId: String!): String! setWorkspaceExperimentalFeature(enable: Boolean!, feature: FeatureType!, workspaceId: String!): Boolean! sharePage(pageId: String!, workspaceId: String!): Boolean! @deprecated(reason: "renamed to publicPage") signIn(email: String!, password: String!): UserType! signUp(email: String!, name: String!, password: String!): UserType! updateProfile(input: UpdateUserInput!): UserType! updateSubscriptionRecurring(idempotencyKey: String!, plan: SubscriptionPlan = Pro, recurring: SubscriptionRecurring!): UserSubscription! """Update workspace""" updateWorkspace(input: UpdateWorkspaceInput!): WorkspaceType! """Upload user avatar""" uploadAvatar(avatar: Upload!): UserType! verifyEmail(token: String!): Boolean! } enum OAuthProviderType { GitHub Google } type PasswordLimitsType { maxLength: Int! minLength: Int! } """User permission in workspace""" enum Permission { Admin Owner Read Write } """The mode which the public page default in""" enum PublicPageMode { Edgeless Page } type Query { checkBlobSize(size: SafeInt!, workspaceId: String!): WorkspaceBlobSizes! @deprecated(reason: "no more needed") collectAllBlobSizes: WorkspaceBlobSizes! @deprecated(reason: "use `user.storageUsage` instead") """Get current user""" currentUser: UserType earlyAccessUsers: [UserType!]! """Update workspace""" getInviteInfo(inviteId: String!): InvitationType! """Get is owner of workspace""" isOwner(workspaceId: String!): Boolean! """List blobs of workspace""" listBlobs(workspaceId: String!): [String!]! @deprecated(reason: "use `workspace.blobs` instead") listWorkspaceFeatures(feature: FeatureType!): [WorkspaceType!]! prices: [SubscriptionPrice!]! """Get public workspace by id""" publicWorkspace(id: String!): WorkspaceType! """server config""" serverConfig: ServerConfigType! """Get user by email""" user(email: String!): UserOrLimitedUser """Get workspace by id""" workspace(id: String!): WorkspaceType! """Get all accessible workspaces for current user""" workspaces: [WorkspaceType!]! } input QueryChatHistoriesInput { action: Boolean limit: Int sessionId: String skip: Int } type QuotaQueryType { blobLimit: SafeInt! copilotActionLimit: SafeInt historyPeriod: SafeInt! humanReadable: HumanReadableQuotaType! memberLimit: SafeInt! name: String! storageQuota: SafeInt! usedSize: SafeInt! } type RemoveAvatar { success: Boolean! } """ The `SafeInt` scalar type represents non-fractional signed whole numeric values that are considered safe as defined by the ECMAScript specification. """ scalar SafeInt @specifiedBy(url: "https://www.ecma-international.org/ecma-262/#sec-number.issafeinteger") type ServerConfigType { """server base url""" baseUrl: String! """credentials requirement""" credentialsRequirement: CredentialsRequirementType! """enable telemetry""" enableTelemetry: Boolean! """enabled server features""" features: [ServerFeature!]! """server flavor""" flavor: String! @deprecated(reason: "use `features`") """server identical name could be shown as badge on user interface""" name: String! oauthProviders: [OAuthProviderType!]! """server type""" type: ServerDeploymentType! """server version""" version: String! } enum ServerDeploymentType { Affine Selfhosted } enum ServerFeature { Copilot OAuth Payment } enum SubscriptionPlan { AI Enterprise Free Pro SelfHosted Team } type SubscriptionPrice { amount: Int currency: String! plan: SubscriptionPlan! type: String! yearlyAmount: Int } enum SubscriptionRecurring { Monthly Yearly } enum SubscriptionStatus { Active Canceled Incomplete IncompleteExpired PastDue Paused Trialing Unpaid } input UpdateUserInput { """User name""" name: String } input UpdateWorkspaceInput { id: ID! """is Public workspace""" public: Boolean } """The `Upload` scalar type represents a file upload.""" scalar Upload type UserInvoice { amount: Int! createdAt: DateTime! currency: String! id: String! lastPaymentError: String link: String plan: SubscriptionPlan! reason: String! recurring: SubscriptionRecurring! status: InvoiceStatus! updatedAt: DateTime! } union UserOrLimitedUser = LimitedUserType | UserType type UserQuota { blobLimit: SafeInt! historyPeriod: SafeInt! humanReadable: UserQuotaHumanReadable! memberLimit: Int! name: String! storageQuota: SafeInt! } type UserQuotaHumanReadable { blobLimit: String! historyPeriod: String! memberLimit: String! name: String! storageQuota: String! } type UserSubscription { canceledAt: DateTime createdAt: DateTime! end: DateTime! id: String! nextBillAt: DateTime plan: SubscriptionPlan! recurring: SubscriptionRecurring! start: DateTime! status: SubscriptionStatus! trialEnd: DateTime trialStart: DateTime updatedAt: DateTime! } type UserType { """User avatar url""" avatarUrl: String copilot(workspaceId: String): Copilot! """User email verified""" createdAt: DateTime @deprecated(reason: "useless") """User email""" email: String! """User email verified""" emailVerified: Boolean! """Enabled features of a user""" features: [FeatureType!]! """User password has been set""" hasPassword: Boolean id: ID! """Get user invoice count""" invoiceCount: Int! invoices(skip: Int, take: Int = 8): [UserInvoice!]! """User name""" name: String! quota: UserQuota subscription(plan: SubscriptionPlan = Pro): UserSubscription @deprecated(reason: "use `UserType.subscriptions`") subscriptions: [UserSubscription!]! token: tokenType! @deprecated(reason: "use [/api/auth/authorize]") } type WorkspaceBlobSizes { size: SafeInt! } type WorkspacePage { id: String! mode: PublicPageMode! public: Boolean! workspaceId: String! } type WorkspaceType { """Available features of workspace""" availableFeatures: [FeatureType!]! """List blobs of workspace""" blobs: [String!]! """Blobs size of workspace""" blobsSize: Int! """Workspace created date""" createdAt: DateTime! """Enabled features of workspace""" features: [FeatureType!]! histories(before: DateTime, guid: String!, take: Int): [DocHistoryType!]! id: ID! """member count of workspace""" memberCount: Int! """Members of workspace""" members(skip: Int, take: Int): [InviteUserType!]! """Owner of workspace""" owner: UserType! """Permission of current signed in user in workspace""" permission: Permission! """is Public workspace""" public: Boolean! """Public pages of a workspace""" publicPages: [WorkspacePage!]! """quota of workspace""" quota: QuotaQueryType! """Shared pages of workspace""" sharedPages: [String!]! @deprecated(reason: "use WorkspaceType.publicPages") } type tokenType { refresh: String! sessionToken: String token: String! }