From fe1377f18b0015502fba9df14766c12e22e83f8c Mon Sep 17 00:00:00 2001 From: martmull Date: Mon, 30 Mar 2026 10:53:31 +0200 Subject: [PATCH] Provide applicatiion assets (#18973) - improve backend - improve frontend image --- packages/create-twenty-app/package.json | 2 +- .../src/create-app.command.ts | 6 +- .../src/utils/app-template.ts | 1 + .../fixtures/postcard-app/package.json | 17 +- packages/twenty-client-sdk/package.json | 2 +- .../src/metadata/generated/schema.graphql | 104 +- .../src/metadata/generated/schema.ts | 280 +----- .../src/metadata/generated/types.ts | 904 +++++++----------- .../developers/extend/apps/building.mdx | 369 ++++++- .../extend/apps/getting-started.mdx | 8 +- .../developers/extend/apps/publishing.mdx | 176 +++- .../src/generated-metadata/graphql.ts | 166 +--- .../LazyMarkdownRendererStyledComponents.tsx | 2 + ...findOneApplicationByUniversalIdentifier.ts | 4 +- .../fragments/marketplaceAppDetailFragment.ts | 15 + .../fragments/marketplaceAppFragment.ts | 65 -- .../queries/findMarketplaceAppDetail.ts | 12 + .../graphql/queries/findOneMarketplaceApp.ts | 12 - .../marketplace/hooks/useMarketplaceApps.ts | 35 +- .../applicationRegistrationFragment.ts | 5 - .../queries/getApplicationShareLink.ts | 7 + .../SettingsApplicationDetails.tsx | 17 +- .../SettingsAvailableApplicationDetails.tsx | 576 +++++------ .../SettingsApplicationDetailTitle.tsx | 131 +++ .../SettingsApplicationVersionContainer.tsx | 12 +- .../SettingsApplicationDetailAboutTab.tsx | 25 - ...icationDetailEnvironmentVariablesTable.tsx | 9 +- .../SettingsApplicationDetailSettingsTab.tsx | 40 +- .../SettingsApplicationPermissionsTab.tsx | 93 +- ...ApplicationRegistrationDistributionTab.tsx | 43 + ...tingsApplicationRegistrationGeneralTab.tsx | 9 - ...gsAvailableApplicationDetailContentTab.tsx | 110 ++- packages/twenty-sdk/package.json | 2 +- .../src/cli/commands/app-command.ts | 12 + .../src/cli/commands/catalog-sync.ts | 32 + .../twenty-sdk/src/cli/commands/remote.ts | 66 +- .../twenty-sdk/src/cli/operations/publish.ts | 3 +- .../src/cli/utilities/api/api-service.ts | 4 + .../src/cli/utilities/api/application-api.ts | 39 +- .../common/synchronize-built-application.ts | 147 --- .../steps/register-app-orchestrator-step.ts | 1 - ...me-marketplace-display-data-to-manifest.ts | 49 + .../application-development.resolver.ts | 70 +- .../marketplace-catalog-index.constant.ts | 156 +-- .../marketplace-catalog-sync.command.ts | 19 + .../dtos/marketplace-app-detail.dto.ts | 49 + .../dtos/marketplace-app.dto.ts | 242 +---- .../marketplace-catalog-sync.service.ts | 73 +- .../marketplace-query.service.ts | 66 +- .../marketplace.module.ts | 2 + .../marketplace.resolver.ts | 27 +- .../marketplace.service.ts | 104 +- .../types/marketplace-display-data.type.ts | 75 -- .../resolve-manifest-asset-urls.util.spec.ts | 145 +++ .../utils/build-registry-cdn-url.util.ts | 8 + .../utils/resolve-manifest-asset-urls.util.ts | 23 + .../oauth-registration.controller.ts | 4 - .../application-oauth/oauth.service.ts | 1 - .../application-registration.entity.ts | 24 +- .../application-registration.module.ts | 2 + .../application-registration.resolver.ts | 21 + .../application-registration.service.ts | 67 +- .../application-tarball.service.ts | 14 + .../create-application-registration.input.ts | 30 - .../update-application-registration.input.ts | 30 - .../twenty-config/config-variables.ts | 10 + ...-registration-variable.integration-spec.ts | 1 - ...rketplace-catalog-sync.integration-spec.ts | 20 +- .../utils/setup-application-for-sync.util.ts | 5 +- .../oauth/suites/oauth.integration-spec.ts | 12 +- .../test/integration/utils/teardown-test.ts | 4 +- .../src/application/applicationType.ts | 3 +- .../display/icon/components/TablerIcons.ts | 3 + packages/twenty-ui/src/display/index.ts | 3 + 74 files changed, 2367 insertions(+), 2558 deletions(-) create mode 100644 packages/twenty-front/src/modules/marketplace/graphql/fragments/marketplaceAppDetailFragment.ts create mode 100644 packages/twenty-front/src/modules/marketplace/graphql/queries/findMarketplaceAppDetail.ts delete mode 100644 packages/twenty-front/src/modules/marketplace/graphql/queries/findOneMarketplaceApp.ts create mode 100644 packages/twenty-front/src/modules/settings/application-registrations/graphql/queries/getApplicationShareLink.ts create mode 100644 packages/twenty-front/src/pages/settings/applications/components/SettingsApplicationDetailTitle.tsx create mode 100644 packages/twenty-sdk/src/cli/commands/catalog-sync.ts delete mode 100644 packages/twenty-sdk/src/cli/utilities/build/common/synchronize-built-application.ts create mode 100644 packages/twenty-server/src/database/typeorm/core/migrations/common/1774472400000-rename-marketplace-display-data-to-manifest.ts create mode 100644 packages/twenty-server/src/engine/core-modules/application/application-marketplace/crons/commands/marketplace-catalog-sync.command.ts create mode 100644 packages/twenty-server/src/engine/core-modules/application/application-marketplace/dtos/marketplace-app-detail.dto.ts delete mode 100644 packages/twenty-server/src/engine/core-modules/application/application-marketplace/types/marketplace-display-data.type.ts create mode 100644 packages/twenty-server/src/engine/core-modules/application/application-marketplace/utils/__tests__/resolve-manifest-asset-urls.util.spec.ts create mode 100644 packages/twenty-server/src/engine/core-modules/application/application-marketplace/utils/build-registry-cdn-url.util.ts create mode 100644 packages/twenty-server/src/engine/core-modules/application/application-marketplace/utils/resolve-manifest-asset-urls.util.ts diff --git a/packages/create-twenty-app/package.json b/packages/create-twenty-app/package.json index 5f94af29c1..579dafd73e 100644 --- a/packages/create-twenty-app/package.json +++ b/packages/create-twenty-app/package.json @@ -1,6 +1,6 @@ { "name": "create-twenty-app", - "version": "0.8.0-canary.5", + "version": "0.8.0-canary.6", "description": "Command-line interface to create Twenty application", "main": "dist/cli.cjs", "bin": "dist/cli.cjs", diff --git a/packages/create-twenty-app/src/create-app.command.ts b/packages/create-twenty-app/src/create-app.command.ts index be9256c4c7..5ec77be3af 100644 --- a/packages/create-twenty-app/src/create-app.command.ts +++ b/packages/create-twenty-app/src/create-app.command.ts @@ -211,14 +211,14 @@ export class CreateAppCommand { if (!result.success) { console.log( chalk.yellow( - 'Authentication skipped. Run `yarn twenty remote add --local` manually.', + 'Authentication skipped. Run `yarn twenty remote add` manually.', ), ); } } catch { console.log( chalk.yellow( - 'Authentication skipped. Run `yarn twenty remote add --local` manually.', + 'Authentication skipped. Run `yarn twenty remote add` manually.', ), ); } @@ -236,7 +236,7 @@ export class CreateAppCommand { if (!serverResult) { console.log( chalk.gray( - '- yarn twenty remote add --local # Authenticate with Twenty', + '- yarn twenty remote add # Authenticate with Twenty', ), ); } diff --git a/packages/create-twenty-app/src/utils/app-template.ts b/packages/create-twenty-app/src/utils/app-template.ts index 572108afc6..519298d429 100644 --- a/packages/create-twenty-app/src/utils/app-template.ts +++ b/packages/create-twenty-app/src/utils/app-template.ts @@ -794,6 +794,7 @@ const createPackageJson = async ({ npm: 'please-use-yarn', yarn: '>=4.0.2', }, + keywords: ['twenty-app'], packageManager: 'yarn@4.9.2', scripts, devDependencies, diff --git a/packages/twenty-apps/fixtures/postcard-app/package.json b/packages/twenty-apps/fixtures/postcard-app/package.json index 4c3a0ac420..bf09dab12b 100644 --- a/packages/twenty-apps/fixtures/postcard-app/package.json +++ b/packages/twenty-apps/fixtures/postcard-app/package.json @@ -9,22 +9,11 @@ }, "packageManager": "yarn@4.9.2", "scripts": { - "remote:add": "twenty remote add --local", - "remote:status": "twenty remote status", - "remote:switch": "twenty remote switch", - "remote:list": "twenty remote list", - "remote:remove": "twenty remote remove", - "dev": "twenty dev", - "add": "twenty add", - "logs": "twenty logs", - "exec": "twenty exec", - "uninstall": "twenty uninstall", - "help": "twenty help", - "lint": "oxlint -c .oxlintrc.json .", - "lint:fix": "oxlint --fix -c .oxlintrc.json ." + "twenty": "twenty" }, "dependencies": { - "twenty-sdk": "latest" + "twenty-sdk": "latest", + "twenty-client-sdk": "latest" }, "devDependencies": { "typescript": "^5.9.3", diff --git a/packages/twenty-client-sdk/package.json b/packages/twenty-client-sdk/package.json index b1f8aea918..d33a56c04c 100644 --- a/packages/twenty-client-sdk/package.json +++ b/packages/twenty-client-sdk/package.json @@ -1,6 +1,6 @@ { "name": "twenty-client-sdk", - "version": "0.8.0-canary.5", + "version": "0.8.0-canary.6", "sideEffects": false, "license": "AGPL-3.0", "scripts": { diff --git a/packages/twenty-client-sdk/src/metadata/generated/schema.graphql b/packages/twenty-client-sdk/src/metadata/generated/schema.graphql index 75a6949144..e88d30e421 100644 --- a/packages/twenty-client-sdk/src/metadata/generated/schema.graphql +++ b/packages/twenty-client-sdk/src/metadata/generated/schema.graphql @@ -38,9 +38,6 @@ type ApplicationRegistration { id: UUID! universalIdentifier: String! name: String! - description: String - logoUrl: String - author: String oAuthClientId: String! oAuthRedirectUris: [String!]! oAuthScopes: [String!]! @@ -48,8 +45,6 @@ type ApplicationRegistration { sourceType: ApplicationRegistrationSourceType! sourcePackage: String latestAvailableVersion: String - websiteUrl: String - termsUrl: String isListed: Boolean! isFeatured: Boolean! createdAt: DateTime! @@ -2421,91 +2416,30 @@ type File { createdAt: DateTime! } -type MarketplaceAppField { - name: String! - type: String! - label: String! - description: String - icon: String - objectUniversalIdentifier: String - universalIdentifier: String -} - -type MarketplaceAppObject { - universalIdentifier: String! - nameSingular: String! - namePlural: String! - labelSingular: String! - labelPlural: String! - description: String - icon: String - fields: [MarketplaceAppField!]! -} - -type MarketplaceAppLogicFunction { - name: String! - description: String - timeoutSeconds: Int -} - -type MarketplaceAppFrontComponent { - name: String! - description: String -} - -type MarketplaceAppRoleObjectPermission { - objectUniversalIdentifier: String! - canReadObjectRecords: Boolean - canUpdateObjectRecords: Boolean - canSoftDeleteObjectRecords: Boolean - canDestroyObjectRecords: Boolean -} - -type MarketplaceAppRoleFieldPermission { - objectUniversalIdentifier: String! - fieldUniversalIdentifier: String! - canReadFieldValue: Boolean - canUpdateFieldValue: Boolean -} - -type MarketplaceAppDefaultRole { - id: String! - label: String! - description: String - canReadAllObjectRecords: Boolean! - canUpdateAllObjectRecords: Boolean! - canSoftDeleteAllObjectRecords: Boolean! - canDestroyAllObjectRecords: Boolean! - canUpdateAllSettings: Boolean! - canAccessAllTools: Boolean! - objectPermissions: [MarketplaceAppRoleObjectPermission!]! - fieldPermissions: [MarketplaceAppRoleFieldPermission!]! - permissionFlags: [String!]! -} - type MarketplaceApp { id: String! name: String! description: String! icon: String! - version: String! author: String! category: String! logo: String - screenshots: [String!]! - aboutDescription: String! - providers: [String!]! - websiteUrl: String - termsUrl: String - objects: [MarketplaceAppObject!]! - fields: [MarketplaceAppField!]! - logicFunctions: [MarketplaceAppLogicFunction!]! - frontComponents: [MarketplaceAppFrontComponent!]! - defaultRole: MarketplaceAppDefaultRole sourcePackage: String isFeatured: Boolean! } +type MarketplaceAppDetail { + universalIdentifier: String! + id: String! + name: String! + sourceType: ApplicationRegistrationSourceType! + sourcePackage: String + latestAvailableVersion: String + isListed: Boolean! + isFeatured: Boolean! + manifest: JSON +} + type PublicDomain { id: UUID! domain: String! @@ -3249,6 +3183,7 @@ type Query { findApplicationRegistrationStats(id: String!): ApplicationRegistrationStats! findApplicationRegistrationVariables(applicationRegistrationId: String!): [ApplicationRegistrationVariable!]! applicationRegistrationTarballUrl(id: String!): String + getApplicationShareLink(id: String!): String! currentUser: User! currentWorkspace: Workspace! getPublicWorkspaceDataByDomain(origin: String): PublicWorkspaceData! @@ -3274,7 +3209,7 @@ type Query { findManyPublicDomains: [PublicDomain!]! getEmailingDomains: [EmailingDomain!]! findManyMarketplaceApps: [MarketplaceApp!]! - findOneMarketplaceApp(universalIdentifier: String!): MarketplaceApp! + findMarketplaceAppDetail(universalIdentifier: String!): MarketplaceAppDetail! findManyApplications: [Application!]! findOneApplication(id: UUID, universalIdentifier: UUID): Application! } @@ -3596,6 +3531,7 @@ type Mutation { verifyEmailingDomain(id: String!): EmailingDomain! createOneAppToken(input: CreateOneAppTokenInput!): AppToken! installMarketplaceApp(universalIdentifier: String!, version: String): Boolean! + syncMarketplaceCatalog: Boolean! installApplication(appRegistrationId: String!, version: String): Boolean! runWorkspaceMigration(workspaceMigration: WorkspaceMigrationInput!): Boolean! uninstallApplication(universalIdentifier: String!): Boolean! @@ -4441,14 +4377,9 @@ input GetAuthorizationUrlForSSOInput { input CreateApplicationRegistrationInput { name: String! - description: String - logoUrl: String - author: String universalIdentifier: String oAuthRedirectUris: [String!] oAuthScopes: [String!] - websiteUrl: String - termsUrl: String } input UpdateApplicationRegistrationInput { @@ -4458,13 +4389,8 @@ input UpdateApplicationRegistrationInput { input UpdateApplicationRegistrationPayload { name: String - description: String - logoUrl: String - author: String oAuthRedirectUris: [String!] oAuthScopes: [String!] - websiteUrl: String - termsUrl: String isListed: Boolean } diff --git a/packages/twenty-client-sdk/src/metadata/generated/schema.ts b/packages/twenty-client-sdk/src/metadata/generated/schema.ts index d278d95299..c8f4c2bf22 100644 --- a/packages/twenty-client-sdk/src/metadata/generated/schema.ts +++ b/packages/twenty-client-sdk/src/metadata/generated/schema.ts @@ -42,9 +42,6 @@ export interface ApplicationRegistration { id: Scalars['UUID'] universalIdentifier: Scalars['String'] name: Scalars['String'] - description?: Scalars['String'] - logoUrl?: Scalars['String'] - author?: Scalars['String'] oAuthClientId: Scalars['String'] oAuthRedirectUris: Scalars['String'][] oAuthScopes: Scalars['String'][] @@ -52,8 +49,6 @@ export interface ApplicationRegistration { sourceType: ApplicationRegistrationSourceType sourcePackage?: Scalars['String'] latestAvailableVersion?: Scalars['String'] - websiteUrl?: Scalars['String'] - termsUrl?: Scalars['String'] isListed: Scalars['Boolean'] isFeatured: Scalars['Boolean'] createdAt: Scalars['DateTime'] @@ -2120,99 +2115,32 @@ export interface File { __typename: 'File' } -export interface MarketplaceAppField { - name: Scalars['String'] - type: Scalars['String'] - label: Scalars['String'] - description?: Scalars['String'] - icon?: Scalars['String'] - objectUniversalIdentifier?: Scalars['String'] - universalIdentifier?: Scalars['String'] - __typename: 'MarketplaceAppField' -} - -export interface MarketplaceAppObject { - universalIdentifier: Scalars['String'] - nameSingular: Scalars['String'] - namePlural: Scalars['String'] - labelSingular: Scalars['String'] - labelPlural: Scalars['String'] - description?: Scalars['String'] - icon?: Scalars['String'] - fields: MarketplaceAppField[] - __typename: 'MarketplaceAppObject' -} - -export interface MarketplaceAppLogicFunction { - name: Scalars['String'] - description?: Scalars['String'] - timeoutSeconds?: Scalars['Int'] - __typename: 'MarketplaceAppLogicFunction' -} - -export interface MarketplaceAppFrontComponent { - name: Scalars['String'] - description?: Scalars['String'] - __typename: 'MarketplaceAppFrontComponent' -} - -export interface MarketplaceAppRoleObjectPermission { - objectUniversalIdentifier: Scalars['String'] - canReadObjectRecords?: Scalars['Boolean'] - canUpdateObjectRecords?: Scalars['Boolean'] - canSoftDeleteObjectRecords?: Scalars['Boolean'] - canDestroyObjectRecords?: Scalars['Boolean'] - __typename: 'MarketplaceAppRoleObjectPermission' -} - -export interface MarketplaceAppRoleFieldPermission { - objectUniversalIdentifier: Scalars['String'] - fieldUniversalIdentifier: Scalars['String'] - canReadFieldValue?: Scalars['Boolean'] - canUpdateFieldValue?: Scalars['Boolean'] - __typename: 'MarketplaceAppRoleFieldPermission' -} - -export interface MarketplaceAppDefaultRole { - id: Scalars['String'] - label: Scalars['String'] - description?: Scalars['String'] - canReadAllObjectRecords: Scalars['Boolean'] - canUpdateAllObjectRecords: Scalars['Boolean'] - canSoftDeleteAllObjectRecords: Scalars['Boolean'] - canDestroyAllObjectRecords: Scalars['Boolean'] - canUpdateAllSettings: Scalars['Boolean'] - canAccessAllTools: Scalars['Boolean'] - objectPermissions: MarketplaceAppRoleObjectPermission[] - fieldPermissions: MarketplaceAppRoleFieldPermission[] - permissionFlags: Scalars['String'][] - __typename: 'MarketplaceAppDefaultRole' -} - export interface MarketplaceApp { id: Scalars['String'] name: Scalars['String'] description: Scalars['String'] icon: Scalars['String'] - version: Scalars['String'] author: Scalars['String'] category: Scalars['String'] logo?: Scalars['String'] - screenshots: Scalars['String'][] - aboutDescription: Scalars['String'] - providers: Scalars['String'][] - websiteUrl?: Scalars['String'] - termsUrl?: Scalars['String'] - objects: MarketplaceAppObject[] - fields: MarketplaceAppField[] - logicFunctions: MarketplaceAppLogicFunction[] - frontComponents: MarketplaceAppFrontComponent[] - defaultRole?: MarketplaceAppDefaultRole sourcePackage?: Scalars['String'] isFeatured: Scalars['Boolean'] __typename: 'MarketplaceApp' } +export interface MarketplaceAppDetail { + universalIdentifier: Scalars['String'] + id: Scalars['String'] + name: Scalars['String'] + sourceType: ApplicationRegistrationSourceType + sourcePackage?: Scalars['String'] + latestAvailableVersion?: Scalars['String'] + isListed: Scalars['Boolean'] + isFeatured: Scalars['Boolean'] + manifest?: Scalars['JSON'] + __typename: 'MarketplaceAppDetail' +} + export interface PublicDomain { id: Scalars['UUID'] domain: Scalars['String'] @@ -2805,6 +2733,7 @@ export interface Query { findApplicationRegistrationStats: ApplicationRegistrationStats findApplicationRegistrationVariables: ApplicationRegistrationVariable[] applicationRegistrationTarballUrl?: Scalars['String'] + getApplicationShareLink: Scalars['String'] currentUser: User currentWorkspace: Workspace getPublicWorkspaceDataByDomain: PublicWorkspaceData @@ -2830,7 +2759,7 @@ export interface Query { findManyPublicDomains: PublicDomain[] getEmailingDomains: EmailingDomain[] findManyMarketplaceApps: MarketplaceApp[] - findOneMarketplaceApp: MarketplaceApp + findMarketplaceAppDetail: MarketplaceAppDetail findManyApplications: Application[] findOneApplication: Application __typename: 'Query' @@ -3047,6 +2976,7 @@ export interface Mutation { verifyEmailingDomain: EmailingDomain createOneAppToken: AppToken installMarketplaceApp: Scalars['Boolean'] + syncMarketplaceCatalog: Scalars['Boolean'] installApplication: Scalars['Boolean'] runWorkspaceMigration: Scalars['Boolean'] uninstallApplication: Scalars['Boolean'] @@ -3114,9 +3044,6 @@ export interface ApplicationRegistrationGenqlSelection{ id?: boolean | number universalIdentifier?: boolean | number name?: boolean | number - description?: boolean | number - logoUrl?: boolean | number - author?: boolean | number oAuthClientId?: boolean | number oAuthRedirectUris?: boolean | number oAuthScopes?: boolean | number @@ -3124,8 +3051,6 @@ export interface ApplicationRegistrationGenqlSelection{ sourceType?: boolean | number sourcePackage?: boolean | number latestAvailableVersion?: boolean | number - websiteUrl?: boolean | number - termsUrl?: boolean | number isListed?: boolean | number isFeatured?: boolean | number createdAt?: boolean | number @@ -5314,107 +5239,34 @@ export interface FileGenqlSelection{ __scalar?: boolean | number } -export interface MarketplaceAppFieldGenqlSelection{ - name?: boolean | number - type?: boolean | number - label?: boolean | number - description?: boolean | number - icon?: boolean | number - objectUniversalIdentifier?: boolean | number - universalIdentifier?: boolean | number - __typename?: boolean | number - __scalar?: boolean | number -} - -export interface MarketplaceAppObjectGenqlSelection{ - universalIdentifier?: boolean | number - nameSingular?: boolean | number - namePlural?: boolean | number - labelSingular?: boolean | number - labelPlural?: boolean | number - description?: boolean | number - icon?: boolean | number - fields?: MarketplaceAppFieldGenqlSelection - __typename?: boolean | number - __scalar?: boolean | number -} - -export interface MarketplaceAppLogicFunctionGenqlSelection{ - name?: boolean | number - description?: boolean | number - timeoutSeconds?: boolean | number - __typename?: boolean | number - __scalar?: boolean | number -} - -export interface MarketplaceAppFrontComponentGenqlSelection{ - name?: boolean | number - description?: boolean | number - __typename?: boolean | number - __scalar?: boolean | number -} - -export interface MarketplaceAppRoleObjectPermissionGenqlSelection{ - objectUniversalIdentifier?: boolean | number - canReadObjectRecords?: boolean | number - canUpdateObjectRecords?: boolean | number - canSoftDeleteObjectRecords?: boolean | number - canDestroyObjectRecords?: boolean | number - __typename?: boolean | number - __scalar?: boolean | number -} - -export interface MarketplaceAppRoleFieldPermissionGenqlSelection{ - objectUniversalIdentifier?: boolean | number - fieldUniversalIdentifier?: boolean | number - canReadFieldValue?: boolean | number - canUpdateFieldValue?: boolean | number - __typename?: boolean | number - __scalar?: boolean | number -} - -export interface MarketplaceAppDefaultRoleGenqlSelection{ - id?: boolean | number - label?: boolean | number - description?: boolean | number - canReadAllObjectRecords?: boolean | number - canUpdateAllObjectRecords?: boolean | number - canSoftDeleteAllObjectRecords?: boolean | number - canDestroyAllObjectRecords?: boolean | number - canUpdateAllSettings?: boolean | number - canAccessAllTools?: boolean | number - objectPermissions?: MarketplaceAppRoleObjectPermissionGenqlSelection - fieldPermissions?: MarketplaceAppRoleFieldPermissionGenqlSelection - permissionFlags?: boolean | number - __typename?: boolean | number - __scalar?: boolean | number -} - export interface MarketplaceAppGenqlSelection{ id?: boolean | number name?: boolean | number description?: boolean | number icon?: boolean | number - version?: boolean | number author?: boolean | number category?: boolean | number logo?: boolean | number - screenshots?: boolean | number - aboutDescription?: boolean | number - providers?: boolean | number - websiteUrl?: boolean | number - termsUrl?: boolean | number - objects?: MarketplaceAppObjectGenqlSelection - fields?: MarketplaceAppFieldGenqlSelection - logicFunctions?: MarketplaceAppLogicFunctionGenqlSelection - frontComponents?: MarketplaceAppFrontComponentGenqlSelection - defaultRole?: MarketplaceAppDefaultRoleGenqlSelection sourcePackage?: boolean | number isFeatured?: boolean | number __typename?: boolean | number __scalar?: boolean | number } +export interface MarketplaceAppDetailGenqlSelection{ + universalIdentifier?: boolean | number + id?: boolean | number + name?: boolean | number + sourceType?: boolean | number + sourcePackage?: boolean | number + latestAvailableVersion?: boolean | number + isListed?: boolean | number + isFeatured?: boolean | number + manifest?: boolean | number + __typename?: boolean | number + __scalar?: boolean | number +} + export interface PublicDomainGenqlSelection{ id?: boolean | number domain?: boolean | number @@ -6042,6 +5894,7 @@ export interface QueryGenqlSelection{ findApplicationRegistrationStats?: (ApplicationRegistrationStatsGenqlSelection & { __args: {id: Scalars['String']} }) findApplicationRegistrationVariables?: (ApplicationRegistrationVariableGenqlSelection & { __args: {applicationRegistrationId: Scalars['String']} }) applicationRegistrationTarballUrl?: { __args: {id: Scalars['String']} } + getApplicationShareLink?: { __args: {id: Scalars['String']} } currentUser?: UserGenqlSelection currentWorkspace?: WorkspaceGenqlSelection getPublicWorkspaceDataByDomain?: (PublicWorkspaceDataGenqlSelection & { __args?: {origin?: (Scalars['String'] | null)} }) @@ -6067,7 +5920,7 @@ export interface QueryGenqlSelection{ findManyPublicDomains?: PublicDomainGenqlSelection getEmailingDomains?: EmailingDomainGenqlSelection findManyMarketplaceApps?: MarketplaceAppGenqlSelection - findOneMarketplaceApp?: (MarketplaceAppGenqlSelection & { __args: {universalIdentifier: Scalars['String']} }) + findMarketplaceAppDetail?: (MarketplaceAppDetailGenqlSelection & { __args: {universalIdentifier: Scalars['String']} }) findManyApplications?: ApplicationGenqlSelection findOneApplication?: (ApplicationGenqlSelection & { __args?: {id?: (Scalars['UUID'] | null), universalIdentifier?: (Scalars['UUID'] | null)} }) __typename?: boolean | number @@ -6303,6 +6156,7 @@ export interface MutationGenqlSelection{ verifyEmailingDomain?: (EmailingDomainGenqlSelection & { __args: {id: Scalars['String']} }) createOneAppToken?: (AppTokenGenqlSelection & { __args: {input: CreateOneAppTokenInput} }) installMarketplaceApp?: { __args: {universalIdentifier: Scalars['String'], version?: (Scalars['String'] | null)} } + syncMarketplaceCatalog?: boolean | number installApplication?: { __args: {appRegistrationId: Scalars['String'], version?: (Scalars['String'] | null)} } runWorkspaceMigration?: { __args: {workspaceMigration: WorkspaceMigrationInput} } uninstallApplication?: { __args: {universalIdentifier: Scalars['String']} } @@ -6597,11 +6451,11 @@ export interface UpdateSkillInput {id: Scalars['UUID'],name?: (Scalars['String'] export interface GetAuthorizationUrlForSSOInput {identityProviderId: Scalars['UUID'],workspaceInviteHash?: (Scalars['String'] | null)} -export interface CreateApplicationRegistrationInput {name: Scalars['String'],description?: (Scalars['String'] | null),logoUrl?: (Scalars['String'] | null),author?: (Scalars['String'] | null),universalIdentifier?: (Scalars['String'] | null),oAuthRedirectUris?: (Scalars['String'][] | null),oAuthScopes?: (Scalars['String'][] | null),websiteUrl?: (Scalars['String'] | null),termsUrl?: (Scalars['String'] | null)} +export interface CreateApplicationRegistrationInput {name: Scalars['String'],universalIdentifier?: (Scalars['String'] | null),oAuthRedirectUris?: (Scalars['String'][] | null),oAuthScopes?: (Scalars['String'][] | null)} export interface UpdateApplicationRegistrationInput {id: Scalars['String'],update: UpdateApplicationRegistrationPayload} -export interface UpdateApplicationRegistrationPayload {name?: (Scalars['String'] | null),description?: (Scalars['String'] | null),logoUrl?: (Scalars['String'] | null),author?: (Scalars['String'] | null),oAuthRedirectUris?: (Scalars['String'][] | null),oAuthScopes?: (Scalars['String'][] | null),websiteUrl?: (Scalars['String'] | null),termsUrl?: (Scalars['String'] | null),isListed?: (Scalars['Boolean'] | null)} +export interface UpdateApplicationRegistrationPayload {name?: (Scalars['String'] | null),oAuthRedirectUris?: (Scalars['String'][] | null),oAuthScopes?: (Scalars['String'][] | null),isListed?: (Scalars['Boolean'] | null)} export interface CreateApplicationRegistrationVariableInput {applicationRegistrationId: Scalars['String'],key: Scalars['String'],value: Scalars['String'],description?: (Scalars['String'] | null),isSecret?: (Scalars['Boolean'] | null)} @@ -8295,62 +8149,6 @@ export interface LogicFunctionLogsInput {applicationId?: (Scalars['UUID'] | null - const MarketplaceAppField_possibleTypes: string[] = ['MarketplaceAppField'] - export const isMarketplaceAppField = (obj?: { __typename?: any } | null): obj is MarketplaceAppField => { - if (!obj?.__typename) throw new Error('__typename is missing in "isMarketplaceAppField"') - return MarketplaceAppField_possibleTypes.includes(obj.__typename) - } - - - - const MarketplaceAppObject_possibleTypes: string[] = ['MarketplaceAppObject'] - export const isMarketplaceAppObject = (obj?: { __typename?: any } | null): obj is MarketplaceAppObject => { - if (!obj?.__typename) throw new Error('__typename is missing in "isMarketplaceAppObject"') - return MarketplaceAppObject_possibleTypes.includes(obj.__typename) - } - - - - const MarketplaceAppLogicFunction_possibleTypes: string[] = ['MarketplaceAppLogicFunction'] - export const isMarketplaceAppLogicFunction = (obj?: { __typename?: any } | null): obj is MarketplaceAppLogicFunction => { - if (!obj?.__typename) throw new Error('__typename is missing in "isMarketplaceAppLogicFunction"') - return MarketplaceAppLogicFunction_possibleTypes.includes(obj.__typename) - } - - - - const MarketplaceAppFrontComponent_possibleTypes: string[] = ['MarketplaceAppFrontComponent'] - export const isMarketplaceAppFrontComponent = (obj?: { __typename?: any } | null): obj is MarketplaceAppFrontComponent => { - if (!obj?.__typename) throw new Error('__typename is missing in "isMarketplaceAppFrontComponent"') - return MarketplaceAppFrontComponent_possibleTypes.includes(obj.__typename) - } - - - - const MarketplaceAppRoleObjectPermission_possibleTypes: string[] = ['MarketplaceAppRoleObjectPermission'] - export const isMarketplaceAppRoleObjectPermission = (obj?: { __typename?: any } | null): obj is MarketplaceAppRoleObjectPermission => { - if (!obj?.__typename) throw new Error('__typename is missing in "isMarketplaceAppRoleObjectPermission"') - return MarketplaceAppRoleObjectPermission_possibleTypes.includes(obj.__typename) - } - - - - const MarketplaceAppRoleFieldPermission_possibleTypes: string[] = ['MarketplaceAppRoleFieldPermission'] - export const isMarketplaceAppRoleFieldPermission = (obj?: { __typename?: any } | null): obj is MarketplaceAppRoleFieldPermission => { - if (!obj?.__typename) throw new Error('__typename is missing in "isMarketplaceAppRoleFieldPermission"') - return MarketplaceAppRoleFieldPermission_possibleTypes.includes(obj.__typename) - } - - - - const MarketplaceAppDefaultRole_possibleTypes: string[] = ['MarketplaceAppDefaultRole'] - export const isMarketplaceAppDefaultRole = (obj?: { __typename?: any } | null): obj is MarketplaceAppDefaultRole => { - if (!obj?.__typename) throw new Error('__typename is missing in "isMarketplaceAppDefaultRole"') - return MarketplaceAppDefaultRole_possibleTypes.includes(obj.__typename) - } - - - const MarketplaceApp_possibleTypes: string[] = ['MarketplaceApp'] export const isMarketplaceApp = (obj?: { __typename?: any } | null): obj is MarketplaceApp => { if (!obj?.__typename) throw new Error('__typename is missing in "isMarketplaceApp"') @@ -8359,6 +8157,14 @@ export interface LogicFunctionLogsInput {applicationId?: (Scalars['UUID'] | null + const MarketplaceAppDetail_possibleTypes: string[] = ['MarketplaceAppDetail'] + export const isMarketplaceAppDetail = (obj?: { __typename?: any } | null): obj is MarketplaceAppDetail => { + if (!obj?.__typename) throw new Error('__typename is missing in "isMarketplaceAppDetail"') + return MarketplaceAppDetail_possibleTypes.includes(obj.__typename) + } + + + const PublicDomain_possibleTypes: string[] = ['PublicDomain'] export const isPublicDomain = (obj?: { __typename?: any } | null): obj is PublicDomain => { if (!obj?.__typename) throw new Error('__typename is missing in "isPublicDomain"') diff --git a/packages/twenty-client-sdk/src/metadata/generated/types.ts b/packages/twenty-client-sdk/src/metadata/generated/types.ts index 577440f629..b444994fe5 100644 --- a/packages/twenty-client-sdk/src/metadata/generated/types.ts +++ b/packages/twenty-client-sdk/src/metadata/generated/types.ts @@ -63,34 +63,34 @@ export default { 211, 228, 245, - 287, - 288, - 299, - 300, + 281, + 282, + 293, + 294, + 319, + 320, + 321, + 322, 325, 326, 327, 328, + 329, + 330, 331, - 332, 333, - 334, 335, - 336, - 337, - 339, - 341, + 343, 349, - 355, - 356, - 357, - 359, - 366, - 373, - 399, - 483, - 488, - 489 + 350, + 351, + 353, + 360, + 367, + 393, + 477, + 482, + 483 ], "types": { "BillingProductDTO": { @@ -185,15 +185,6 @@ export default { "name": [ 1 ], - "description": [ - 1 - ], - "logoUrl": [ - 1 - ], - "author": [ - 1 - ], "oAuthClientId": [ 1 ], @@ -215,12 +206,6 @@ export default { "latestAvailableVersion": [ 1 ], - "websiteUrl": [ - 1 - ], - "termsUrl": [ - 1 - ], "isListed": [ 6 ], @@ -4789,164 +4774,6 @@ export default { 1 ] }, - "MarketplaceAppField": { - "name": [ - 1 - ], - "type": [ - 1 - ], - "label": [ - 1 - ], - "description": [ - 1 - ], - "icon": [ - 1 - ], - "objectUniversalIdentifier": [ - 1 - ], - "universalIdentifier": [ - 1 - ], - "__typename": [ - 1 - ] - }, - "MarketplaceAppObject": { - "universalIdentifier": [ - 1 - ], - "nameSingular": [ - 1 - ], - "namePlural": [ - 1 - ], - "labelSingular": [ - 1 - ], - "labelPlural": [ - 1 - ], - "description": [ - 1 - ], - "icon": [ - 1 - ], - "fields": [ - 276 - ], - "__typename": [ - 1 - ] - }, - "MarketplaceAppLogicFunction": { - "name": [ - 1 - ], - "description": [ - 1 - ], - "timeoutSeconds": [ - 21 - ], - "__typename": [ - 1 - ] - }, - "MarketplaceAppFrontComponent": { - "name": [ - 1 - ], - "description": [ - 1 - ], - "__typename": [ - 1 - ] - }, - "MarketplaceAppRoleObjectPermission": { - "objectUniversalIdentifier": [ - 1 - ], - "canReadObjectRecords": [ - 6 - ], - "canUpdateObjectRecords": [ - 6 - ], - "canSoftDeleteObjectRecords": [ - 6 - ], - "canDestroyObjectRecords": [ - 6 - ], - "__typename": [ - 1 - ] - }, - "MarketplaceAppRoleFieldPermission": { - "objectUniversalIdentifier": [ - 1 - ], - "fieldUniversalIdentifier": [ - 1 - ], - "canReadFieldValue": [ - 6 - ], - "canUpdateFieldValue": [ - 6 - ], - "__typename": [ - 1 - ] - }, - "MarketplaceAppDefaultRole": { - "id": [ - 1 - ], - "label": [ - 1 - ], - "description": [ - 1 - ], - "canReadAllObjectRecords": [ - 6 - ], - "canUpdateAllObjectRecords": [ - 6 - ], - "canSoftDeleteAllObjectRecords": [ - 6 - ], - "canDestroyAllObjectRecords": [ - 6 - ], - "canUpdateAllSettings": [ - 6 - ], - "canAccessAllTools": [ - 6 - ], - "objectPermissions": [ - 280 - ], - "fieldPermissions": [ - 281 - ], - "permissionFlags": [ - 1 - ], - "__typename": [ - 1 - ] - }, "MarketplaceApp": { "id": [ 1 @@ -4960,9 +4787,6 @@ export default { "icon": [ 1 ], - "version": [ - 1 - ], "author": [ 1 ], @@ -4972,36 +4796,6 @@ export default { "logo": [ 1 ], - "screenshots": [ - 1 - ], - "aboutDescription": [ - 1 - ], - "providers": [ - 1 - ], - "websiteUrl": [ - 1 - ], - "termsUrl": [ - 1 - ], - "objects": [ - 277 - ], - "fields": [ - 276 - ], - "logicFunctions": [ - 278 - ], - "frontComponents": [ - 279 - ], - "defaultRole": [ - 282 - ], "sourcePackage": [ 1 ], @@ -5012,6 +4806,38 @@ export default { 1 ] }, + "MarketplaceAppDetail": { + "universalIdentifier": [ + 1 + ], + "id": [ + 1 + ], + "name": [ + 1 + ], + "sourceType": [ + 8 + ], + "sourcePackage": [ + 1 + ], + "latestAvailableVersion": [ + 1 + ], + "isListed": [ + 6 + ], + "isFeatured": [ + 6 + ], + "manifest": [ + 15 + ], + "__typename": [ + 1 + ] + }, "PublicDomain": { "id": [ 3 @@ -5060,13 +4886,13 @@ export default { 1 ], "driver": [ - 287 + 281 ], "status": [ - 288 + 282 ], "verificationRecords": [ - 285 + 279 ], "verifiedAt": [ 4 @@ -5113,7 +4939,7 @@ export default { 1 ], "location": [ - 290 + 284 ], "__typename": [ 1 @@ -5141,13 +4967,13 @@ export default { }, "ImapSmtpCaldavConnectionParameters": { "IMAP": [ - 292 + 286 ], "SMTP": [ - 292 + 286 ], "CALDAV": [ - 292 + 286 ], "__typename": [ 1 @@ -5167,7 +4993,7 @@ export default { 3 ], "connectionParameters": [ - 293 + 287 ], "__typename": [ 1 @@ -5259,10 +5085,10 @@ export default { 3 ], "frontComponent": [ - 297 + 291 ], "engineComponentKey": [ - 299 + 293 ], "label": [ 1 @@ -5280,7 +5106,7 @@ export default { 6 ], "availabilityType": [ - 300 + 294 ], "hotKeys": [ 1 @@ -5439,7 +5265,7 @@ export default { 1 ], "series": [ - 304 + 298 ], "xAxisLabel": [ 1 @@ -5488,7 +5314,7 @@ export default { 1 ], "data": [ - 306 + 300 ], "__typename": [ 1 @@ -5496,7 +5322,7 @@ export default { }, "LineChartData": { "series": [ - 307 + 301 ], "xAxisLabel": [ 1 @@ -5533,7 +5359,7 @@ export default { }, "PieChartData": { "data": [ - 309 + 303 ], "showLegend": [ 6 @@ -5616,13 +5442,13 @@ export default { }, "EventLogQueryResult": { "records": [ - 312 + 306 ], "totalCount": [ 21 ], "pageInfo": [ - 313 + 307 ], "__typename": [ 1 @@ -5718,7 +5544,7 @@ export default { 1 ], "parts": [ - 302 + 296 ], "createdAt": [ 4 @@ -5743,7 +5569,7 @@ export default { }, "AISystemPromptPreview": { "sections": [ - 318 + 312 ], "estimatedTokenCount": [ 21 @@ -5754,7 +5580,7 @@ export default { }, "AgentChatThreadEdge": { "node": [ - 316 + 310 ], "cursor": [ 40 @@ -5768,7 +5594,7 @@ export default { 232 ], "edges": [ - 320 + 314 ], "__typename": [ 1 @@ -5805,10 +5631,10 @@ export default { 3 ], "evaluations": [ - 322 + 316 ], "messages": [ - 317 + 311 ], "createdAt": [ 4 @@ -5825,19 +5651,19 @@ export default { 1 ], "syncStatus": [ - 325 + 319 ], "syncStage": [ - 326 + 320 ], "visibility": [ - 327 + 321 ], "isContactAutoCreationEnabled": [ 6 ], "contactAutoCreationPolicy": [ - 328 + 322 ], "isSyncEnabled": [ 6 @@ -5911,22 +5737,22 @@ export default { 3 ], "visibility": [ - 331 + 325 ], "handle": [ 1 ], "type": [ - 332 + 326 ], "isContactAutoCreationEnabled": [ 6 ], "contactAutoCreationPolicy": [ - 333 + 327 ], "messageFolderImportPolicy": [ - 334 + 328 ], "excludeNonProfessionalEmails": [ 6 @@ -5935,7 +5761,7 @@ export default { 6 ], "pendingGroupEmailsAction": [ - 335 + 329 ], "isSyncEnabled": [ 6 @@ -5944,10 +5770,10 @@ export default { 4 ], "syncStatus": [ - 336 + 330 ], "syncStage": [ - 337 + 331 ], "syncStageStartedAt": [ 4 @@ -5998,7 +5824,7 @@ export default { 1 ], "pendingSyncAction": [ - 339 + 333 ], "messageChannelId": [ 3 @@ -6016,7 +5842,7 @@ export default { "MessageFolderPendingSyncAction": {}, "CollectionHash": { "collectionName": [ - 341 + 335 ], "hash": [ 1 @@ -6083,13 +5909,13 @@ export default { }, "MinimalMetadata": { "objectMetadataItems": [ - 342 + 336 ], "views": [ - 343 + 337 ], "collectionHashes": [ - 340 + 334 ], "__typename": [ 1 @@ -6237,7 +6063,7 @@ export default { 2, { "input": [ - 347, + 341, "GetApiKeyInput!" ] } @@ -6341,7 +6167,7 @@ export default { 32, { "input": [ - 348, + 342, "LogicFunctionIdInput!" ] } @@ -6353,7 +6179,7 @@ export default { 15, { "input": [ - 348, + 342, "LogicFunctionIdInput!" ] } @@ -6362,16 +6188,16 @@ export default { 1, { "input": [ - 348, + 342, "LogicFunctionIdInput!" ] } ], "commandMenuItems": [ - 298 + 292 ], "commandMenuItem": [ - 298, + 292, { "id": [ 3, @@ -6380,10 +6206,10 @@ export default { } ], "frontComponents": [ - 297 + 291 ], "frontComponent": [ - 297, + 291, { "id": [ 3, @@ -6463,7 +6289,7 @@ export default { 25, { "input": [ - 350, + 344, "AgentIdInput!" ] } @@ -6472,7 +6298,7 @@ export default { 29 ], "getToolIndex": [ - 301 + 295 ], "getToolInputSchema": [ 15, @@ -6523,7 +6349,7 @@ export default { } ], "myMessageFolders": [ - 338, + 332, { "messageChannelId": [ 3 @@ -6531,20 +6357,6 @@ export default { } ], "myMessageChannels": [ - 330, - { - "connectedAccountId": [ - 3 - ] - } - ], - "myConnectedAccounts": [ - 329 - ], - "connectedAccounts": [ - 329 - ], - "myCalendarChannels": [ 324, { "connectedAccountId": [ @@ -6552,11 +6364,25 @@ export default { ] } ], + "myConnectedAccounts": [ + 323 + ], + "connectedAccounts": [ + 323 + ], + "myCalendarChannels": [ + 318, + { + "connectedAccountId": [ + 3 + ] + } + ], "webhooks": [ - 345 + 339 ], "webhook": [ - 345, + 339, { "id": [ 3, @@ -6565,10 +6391,10 @@ export default { } ], "minimalMetadata": [ - 344 + 338 ], "chatThread": [ - 316, + 310, { "id": [ 3, @@ -6577,7 +6403,7 @@ export default { } ], "chatMessages": [ - 317, + 311, { "threadId": [ 3, @@ -6586,13 +6412,13 @@ export default { } ], "getAISystemPromptPreview": [ - 319 + 313 ], "skills": [ - 315 + 309 ], "skill": [ - 315, + 309, { "id": [ 3, @@ -6601,24 +6427,24 @@ export default { } ], "chatThreads": [ - 321, + 315, { "paging": [ 39, "CursorPaging!" ], "filter": [ - 351, + 345, "AgentChatThreadFilter!" ], "sorting": [ - 354, + 348, "[AgentChatThreadSort!]!" ] } ], "agentTurns": [ - 323, + 317, { "agentId": [ 3, @@ -6627,37 +6453,37 @@ export default { } ], "eventLogs": [ - 314, + 308, { "input": [ - 358, + 352, "EventLogQueryInput!" ] } ], "pieChartData": [ - 310, + 304, { "input": [ - 362, + 356, "PieChartDataInput!" ] } ], "lineChartData": [ - 308, + 302, { "input": [ - 363, + 357, "LineChartDataInput!" ] } ], "barChartData": [ - 305, + 299, { "input": [ - 364, + 358, "BarChartDataInput!" ] } @@ -6758,6 +6584,15 @@ export default { ] } ], + "getApplicationShareLink": [ + 1, + { + "id": [ + 1, + "String!" + ] + } + ], "currentUser": [ 69 ], @@ -6776,7 +6611,7 @@ export default { 221 ], "getConnectedImapSmtpCaldavAccount": [ - 294, + 288, { "id": [ 3, @@ -6785,7 +6620,7 @@ export default { } ], "getAutoCompleteAddress": [ - 289, + 283, { "address": [ 1, @@ -6804,7 +6639,7 @@ export default { } ], "getAddressDetails": [ - 291, + 285, { "placeId": [ 1, @@ -6910,24 +6745,24 @@ export default { 271, { "input": [ - 365 + 359 ] } ], "getPostgresCredentials": [ - 296 + 290 ], "findManyPublicDomains": [ - 284 + 278 ], "getEmailingDomains": [ - 286 + 280 ], "findManyMarketplaceApps": [ - 283 + 276 ], - "findOneMarketplaceApp": [ - 283, + "findMarketplaceAppDetail": [ + 277, { "universalIdentifier": [ 1, @@ -6963,7 +6798,7 @@ export default { }, "LogicFunctionIdInput": { "id": [ - 349 + 343 ], "__typename": [ 1 @@ -6980,16 +6815,16 @@ export default { }, "AgentChatThreadFilter": { "and": [ - 351 + 345 ], "or": [ - 351 + 345 ], "id": [ 42 ], "updatedAt": [ - 352 + 346 ], "__typename": [ 1 @@ -7027,10 +6862,10 @@ export default { 4 ], "between": [ - 353 + 347 ], "notBetween": [ - 353 + 347 ], "__typename": [ 1 @@ -7049,13 +6884,13 @@ export default { }, "AgentChatThreadSort": { "field": [ - 355 + 349 ], "direction": [ - 356 + 350 ], "nulls": [ - 357 + 351 ], "__typename": [ 1 @@ -7066,10 +6901,10 @@ export default { "SortNulls": {}, "EventLogQueryInput": { "table": [ - 359 + 353 ], "filters": [ - 360 + 354 ], "first": [ 21 @@ -7090,7 +6925,7 @@ export default { 1 ], "dateRange": [ - 361 + 355 ], "recordId": [ 1 @@ -7157,7 +6992,7 @@ export default { 1 ], "operationTypes": [ - 366 + 360 ], "__typename": [ 1 @@ -7169,7 +7004,7 @@ export default { 6, { "input": [ - 368, + 362, "AddQuerySubscriptionInput!" ] } @@ -7178,7 +7013,7 @@ export default { 6, { "input": [ - 369, + 363, "RemoveQueryFromEventStreamInput!" ] } @@ -7187,7 +7022,7 @@ export default { 145, { "inputs": [ - 370, + 364, "[CreateNavigationMenuItemInput!]!" ] } @@ -7196,7 +7031,7 @@ export default { 145, { "input": [ - 370, + 364, "CreateNavigationMenuItemInput!" ] } @@ -7205,7 +7040,7 @@ export default { 145, { "inputs": [ - 371, + 365, "[UpdateOneNavigationMenuItemInput!]!" ] } @@ -7214,7 +7049,7 @@ export default { 145, { "input": [ - 371, + 365, "UpdateOneNavigationMenuItemInput!" ] } @@ -7241,7 +7076,7 @@ export default { 141, { "file": [ - 373, + 367, "Upload!" ] } @@ -7250,7 +7085,7 @@ export default { 141, { "file": [ - 373, + 367, "Upload!" ] } @@ -7259,7 +7094,7 @@ export default { 141, { "file": [ - 373, + 367, "Upload!" ] } @@ -7268,7 +7103,7 @@ export default { 141, { "file": [ - 373, + 367, "Upload!" ] } @@ -7277,7 +7112,7 @@ export default { 141, { "file": [ - 373, + 367, "Upload!" ], "fieldMetadataId": [ @@ -7290,7 +7125,7 @@ export default { 141, { "file": [ - 373, + 367, "Upload!" ], "fieldMetadataUniversalIdentifier": [ @@ -7303,7 +7138,7 @@ export default { 52, { "input": [ - 374, + 368, "CreateViewFilterGroupInput!" ] } @@ -7316,7 +7151,7 @@ export default { "String!" ], "input": [ - 375, + 369, "UpdateViewFilterGroupInput!" ] } @@ -7343,7 +7178,7 @@ export default { 54, { "input": [ - 376, + 370, "CreateViewFilterInput!" ] } @@ -7352,7 +7187,7 @@ export default { 54, { "input": [ - 377, + 371, "UpdateViewFilterInput!" ] } @@ -7361,7 +7196,7 @@ export default { 54, { "input": [ - 379, + 373, "DeleteViewFilterInput!" ] } @@ -7370,7 +7205,7 @@ export default { 54, { "input": [ - 380, + 374, "DestroyViewFilterInput!" ] } @@ -7379,7 +7214,7 @@ export default { 60, { "input": [ - 381, + 375, "CreateViewInput!" ] } @@ -7392,7 +7227,7 @@ export default { "String!" ], "input": [ - 382, + 376, "UpdateViewInput!" ] } @@ -7419,7 +7254,7 @@ export default { 57, { "input": [ - 383, + 377, "CreateViewSortInput!" ] } @@ -7428,7 +7263,7 @@ export default { 57, { "input": [ - 384, + 378, "UpdateViewSortInput!" ] } @@ -7437,7 +7272,7 @@ export default { 6, { "input": [ - 386, + 380, "DeleteViewSortInput!" ] } @@ -7446,7 +7281,7 @@ export default { 6, { "input": [ - 387, + 381, "DestroyViewSortInput!" ] } @@ -7455,7 +7290,7 @@ export default { 59, { "input": [ - 388, + 382, "UpdateViewFieldGroupInput!" ] } @@ -7464,7 +7299,7 @@ export default { 59, { "input": [ - 390, + 384, "CreateViewFieldGroupInput!" ] } @@ -7473,7 +7308,7 @@ export default { 59, { "inputs": [ - 390, + 384, "[CreateViewFieldGroupInput!]!" ] } @@ -7482,7 +7317,7 @@ export default { 59, { "input": [ - 391, + 385, "DeleteViewFieldGroupInput!" ] } @@ -7491,7 +7326,7 @@ export default { 59, { "input": [ - 392, + 386, "DestroyViewFieldGroupInput!" ] } @@ -7500,7 +7335,7 @@ export default { 60, { "input": [ - 393, + 387, "UpsertFieldsWidgetInput!" ] } @@ -7509,7 +7344,7 @@ export default { 2, { "input": [ - 396, + 390, "CreateApiKeyInput!" ] } @@ -7518,7 +7353,7 @@ export default { 2, { "input": [ - 397, + 391, "UpdateApiKeyInput!" ] } @@ -7527,7 +7362,7 @@ export default { 2, { "input": [ - 398, + 392, "RevokeApiKeyInput!" ] } @@ -7569,7 +7404,7 @@ export default { 115, { "type": [ - 399, + 393, "AnalyticsType!" ], "name": [ @@ -7682,7 +7517,7 @@ export default { 140, { "input": [ - 400, + 394, "CreateApprovedAccessDomainInput!" ] } @@ -7691,7 +7526,7 @@ export default { 6, { "input": [ - 401, + 395, "DeleteApprovedAccessDomainInput!" ] } @@ -7700,7 +7535,7 @@ export default { 140, { "input": [ - 402, + 396, "ValidateApprovedAccessDomainInput!" ] } @@ -7709,7 +7544,7 @@ export default { 112, { "input": [ - 403, + 397, "CreatePageLayoutTabInput!" ] } @@ -7722,7 +7557,7 @@ export default { "String!" ], "input": [ - 404, + 398, "UpdatePageLayoutTabInput!" ] } @@ -7740,7 +7575,7 @@ export default { 113, { "input": [ - 405, + 399, "CreatePageLayoutInput!" ] } @@ -7753,7 +7588,7 @@ export default { "String!" ], "input": [ - 406, + 400, "UpdatePageLayoutInput!" ] } @@ -7775,7 +7610,7 @@ export default { "String!" ], "input": [ - 407, + 401, "UpdatePageLayoutWithTabsInput!" ] } @@ -7784,7 +7619,7 @@ export default { 75, { "input": [ - 411, + 405, "CreatePageLayoutWidgetInput!" ] } @@ -7797,7 +7632,7 @@ export default { "String!" ], "input": [ - 412, + 406, "UpdatePageLayoutWidgetInput!" ] } @@ -7815,7 +7650,7 @@ export default { 32, { "input": [ - 348, + 342, "LogicFunctionIdInput!" ] } @@ -7824,7 +7659,7 @@ export default { 32, { "input": [ - 413, + 407, "CreateLogicFunctionFromSourceInput!" ] } @@ -7833,7 +7668,7 @@ export default { 154, { "input": [ - 414, + 408, "ExecuteOneLogicFunctionInput!" ] } @@ -7842,31 +7677,31 @@ export default { 6, { "input": [ - 415, + 409, "UpdateLogicFunctionFromSourceInput!" ] } ], "createCommandMenuItem": [ - 298, + 292, { "input": [ - 417, + 411, "CreateCommandMenuItemInput!" ] } ], "updateCommandMenuItem": [ - 298, + 292, { "input": [ - 418, + 412, "UpdateCommandMenuItemInput!" ] } ], "deleteCommandMenuItem": [ - 298, + 292, { "id": [ 3, @@ -7875,25 +7710,25 @@ export default { } ], "createFrontComponent": [ - 297, + 291, { "input": [ - 419, + 413, "CreateFrontComponentInput!" ] } ], "updateFrontComponent": [ - 297, + 291, { "input": [ - 420, + 414, "UpdateFrontComponentInput!" ] } ], "deleteFrontComponent": [ - 297, + 291, { "id": [ 3, @@ -7905,7 +7740,7 @@ export default { 46, { "input": [ - 422, + 416, "CreateOneObjectInput!" ] } @@ -7914,7 +7749,7 @@ export default { 46, { "input": [ - 424, + 418, "DeleteOneObjectInput!" ] } @@ -7923,7 +7758,7 @@ export default { 46, { "input": [ - 425, + 419, "UpdateOneObjectInput!" ] } @@ -7932,7 +7767,7 @@ export default { 50, { "input": [ - 427, + 421, "UpdateViewFieldInput!" ] } @@ -7941,7 +7776,7 @@ export default { 50, { "input": [ - 429, + 423, "CreateViewFieldInput!" ] } @@ -7950,7 +7785,7 @@ export default { 50, { "inputs": [ - 429, + 423, "[CreateViewFieldInput!]!" ] } @@ -7959,7 +7794,7 @@ export default { 50, { "input": [ - 430, + 424, "DeleteViewFieldInput!" ] } @@ -7968,7 +7803,7 @@ export default { 50, { "input": [ - 431, + 425, "DestroyViewFieldInput!" ] } @@ -7977,7 +7812,7 @@ export default { 25, { "input": [ - 432, + 426, "CreateAgentInput!" ] } @@ -7986,7 +7821,7 @@ export default { 25, { "input": [ - 433, + 427, "UpdateAgentInput!" ] } @@ -7995,7 +7830,7 @@ export default { 25, { "input": [ - 350, + 344, "AgentIdInput!" ] } @@ -8017,7 +7852,7 @@ export default { 29, { "createRoleInput": [ - 434, + 428, "CreateRoleInput!" ] } @@ -8026,7 +7861,7 @@ export default { 29, { "updateRoleInput": [ - 435, + 429, "UpdateRoleInput!" ] } @@ -8044,7 +7879,7 @@ export default { 16, { "upsertObjectPermissionsInput": [ - 437, + 431, "UpsertObjectPermissionsInput!" ] } @@ -8053,7 +7888,7 @@ export default { 27, { "upsertPermissionFlagsInput": [ - 439, + 433, "UpsertPermissionFlagsInput!" ] } @@ -8062,7 +7897,7 @@ export default { 26, { "upsertFieldPermissionsInput": [ - 440, + 434, "UpsertFieldPermissionsInput!" ] } @@ -8071,7 +7906,7 @@ export default { 243, { "input": [ - 442, + 436, "UpsertRowLevelPermissionPredicatesInput!" ] } @@ -8102,7 +7937,7 @@ export default { 34, { "input": [ - 445, + 439, "CreateOneFieldMetadataInput!" ] } @@ -8111,7 +7946,7 @@ export default { 34, { "input": [ - 447, + 441, "UpdateOneFieldMetadataInput!" ] } @@ -8120,7 +7955,7 @@ export default { 34, { "input": [ - 449, + 443, "DeleteOneFieldInput!" ] } @@ -8129,7 +7964,7 @@ export default { 56, { "input": [ - 450, + 444, "CreateViewGroupInput!" ] } @@ -8138,7 +7973,7 @@ export default { 56, { "inputs": [ - 450, + 444, "[CreateViewGroupInput!]!" ] } @@ -8147,7 +7982,7 @@ export default { 56, { "input": [ - 451, + 445, "UpdateViewGroupInput!" ] } @@ -8156,7 +7991,7 @@ export default { 56, { "inputs": [ - 451, + 445, "[UpdateViewGroupInput!]!" ] } @@ -8165,7 +8000,7 @@ export default { 56, { "input": [ - 453, + 447, "DeleteViewGroupInput!" ] } @@ -8174,40 +8009,40 @@ export default { 56, { "input": [ - 454, + 448, "DestroyViewGroupInput!" ] } ], "updateMessageFolder": [ - 338, + 332, { "input": [ - 455, + 449, "UpdateMessageFolderInput!" ] } ], "updateMessageFolders": [ - 338, + 332, { "input": [ - 457, + 451, "UpdateMessageFoldersInput!" ] } ], "updateMessageChannel": [ - 330, + 324, { "input": [ - 458, + 452, "UpdateMessageChannelInput!" ] } ], "deleteConnectedAccount": [ - 329, + 323, { "id": [ 3, @@ -8216,34 +8051,34 @@ export default { } ], "updateCalendarChannel": [ - 324, + 318, { "input": [ - 460, + 454, "UpdateCalendarChannelInput!" ] } ], "createWebhook": [ - 345, + 339, { "input": [ - 462, + 456, "CreateWebhookInput!" ] } ], "updateWebhook": [ - 345, + 339, { "input": [ - 463, + 457, "UpdateWebhookInput!" ] } ], "deleteWebhook": [ - 345, + 339, { "id": [ 3, @@ -8252,28 +8087,28 @@ export default { } ], "createChatThread": [ - 316 + 310 ], "createSkill": [ - 315, + 309, { "input": [ - 465, + 459, "CreateSkillInput!" ] } ], "updateSkill": [ - 315, + 309, { "input": [ - 466, + 460, "UpdateSkillInput!" ] } ], "deleteSkill": [ - 315, + 309, { "id": [ 3, @@ -8282,7 +8117,7 @@ export default { } ], "activateSkill": [ - 315, + 309, { "id": [ 3, @@ -8291,7 +8126,7 @@ export default { } ], "deactivateSkill": [ - 315, + 309, { "id": [ 3, @@ -8300,7 +8135,7 @@ export default { } ], "evaluateAgentTurn": [ - 322, + 316, { "turnId": [ 3, @@ -8309,7 +8144,7 @@ export default { } ], "runEvaluationInput": [ - 323, + 317, { "agentId": [ 3, @@ -8322,7 +8157,7 @@ export default { } ], "duplicateDashboard": [ - 311, + 305, { "id": [ 3, @@ -8334,7 +8169,7 @@ export default { 256, { "input": [ - 467, + 461, "GetAuthorizationUrlForSSOInput!" ] } @@ -8588,7 +8423,7 @@ export default { 214, { "input": [ - 468, + 462, "CreateApplicationRegistrationInput!" ] } @@ -8597,7 +8432,7 @@ export default { 7, { "input": [ - 469, + 463, "UpdateApplicationRegistrationInput!" ] } @@ -8624,7 +8459,7 @@ export default { 5, { "input": [ - 471, + 465, "CreateApplicationRegistrationVariableInput!" ] } @@ -8633,7 +8468,7 @@ export default { 5, { "input": [ - 472, + 466, "UpdateApplicationRegistrationVariableInput!" ] } @@ -8651,7 +8486,7 @@ export default { 7, { "file": [ - 373, + 367, "Upload!" ], "universalIdentifier": [ @@ -8747,7 +8582,7 @@ export default { 66, { "data": [ - 474, + 468, "ActivateWorkspaceInput!" ] } @@ -8756,7 +8591,7 @@ export default { 66, { "data": [ - 475, + 469, "UpdateWorkspaceInput!" ] } @@ -8771,7 +8606,7 @@ export default { 222, { "input": [ - 476, + 470, "SetupOIDCSsoInput!" ] } @@ -8780,7 +8615,7 @@ export default { 222, { "input": [ - 477, + 471, "SetupSAMLSsoInput!" ] } @@ -8789,7 +8624,7 @@ export default { 218, { "input": [ - 478, + 472, "DeleteSsoInput!" ] } @@ -8798,7 +8633,7 @@ export default { 219, { "input": [ - 479, + 473, "EditSsoInput!" ] } @@ -8817,7 +8652,7 @@ export default { } ], "startChannelSync": [ - 303, + 297, { "connectedAccountId": [ 3, @@ -8826,7 +8661,7 @@ export default { } ], "saveImapSmtpCaldavAccount": [ - 295, + 289, { "accountOwnerId": [ 3, @@ -8837,7 +8672,7 @@ export default { "String!" ], "connectionParameters": [ - 480, + 474, "EmailAccountConnectionParameters!" ], "id": [ @@ -8849,7 +8684,7 @@ export default { 198, { "input": [ - 482, + 476, "UpdateLabPublicFeatureFlagInput!" ] } @@ -8910,7 +8745,7 @@ export default { 6, { "role": [ - 483, + 477, "AiModelRole!" ], "modelId": [ @@ -9029,13 +8864,13 @@ export default { } ], "enablePostgresProxy": [ - 296 + 290 ], "disablePostgresProxy": [ - 296 + 290 ], "createPublicDomain": [ - 284, + 278, { "domain": [ 1, @@ -9062,14 +8897,14 @@ export default { } ], "createEmailingDomain": [ - 286, + 280, { "domain": [ 1, "String!" ], "driver": [ - 287, + 281, "EmailingDomainDriver!" ] } @@ -9084,7 +8919,7 @@ export default { } ], "verifyEmailingDomain": [ - 286, + 280, { "id": [ 1, @@ -9096,7 +8931,7 @@ export default { 68, { "input": [ - 484, + 478, "CreateOneAppTokenInput!" ] } @@ -9113,6 +8948,9 @@ export default { ] } ], + "syncMarketplaceCatalog": [ + 6 + ], "installApplication": [ 6, { @@ -9129,7 +8967,7 @@ export default { 6, { "workspaceMigration": [ - 486, + 480, "WorkspaceMigrationInput!" ] } @@ -9195,7 +9033,7 @@ export default { 275, { "file": [ - 373, + 367, "Upload!" ], "applicationUniversalIdentifier": [ @@ -9203,7 +9041,7 @@ export default { "String!" ], "fileFolder": [ - 489, + 483, "FileFolder!" ], "filePath": [ @@ -9309,7 +9147,7 @@ export default { 3 ], "update": [ - 372 + 366 ], "__typename": [ 1 @@ -9413,7 +9251,7 @@ export default { 3 ], "update": [ - 378 + 372 ], "__typename": [ 1 @@ -9586,7 +9424,7 @@ export default { 3 ], "update": [ - 385 + 379 ], "__typename": [ 1 @@ -9621,7 +9459,7 @@ export default { 3 ], "update": [ - 389 + 383 ], "__typename": [ 1 @@ -9685,10 +9523,10 @@ export default { 3 ], "groups": [ - 394 + 388 ], "fields": [ - 395 + 389 ], "__typename": [ 1 @@ -9708,7 +9546,7 @@ export default { 6 ], "fields": [ - 395 + 389 ], "__typename": [ 1 @@ -9874,7 +9712,7 @@ export default { 3 ], "tabs": [ - 408 + 402 ], "__typename": [ 1 @@ -9897,7 +9735,7 @@ export default { 79 ], "widgets": [ - 409 + 403 ], "__typename": [ 1 @@ -9920,7 +9758,7 @@ export default { 3 ], "gridPosition": [ - 410 + 404 ], "position": [ 15 @@ -9966,7 +9804,7 @@ export default { 3 ], "gridPosition": [ - 410 + 404 ], "position": [ 15 @@ -9989,7 +9827,7 @@ export default { 3 ], "gridPosition": [ - 410 + 404 ], "position": [ 15 @@ -10058,7 +9896,7 @@ export default { 3 ], "update": [ - 416 + 410 ], "__typename": [ 1 @@ -10110,7 +9948,7 @@ export default { 3 ], "engineComponentKey": [ - 299 + 293 ], "label": [ 1 @@ -10128,7 +9966,7 @@ export default { 6 ], "availabilityType": [ - 300 + 294 ], "hotKeys": [ 1 @@ -10163,13 +10001,13 @@ export default { 6 ], "availabilityType": [ - 300 + 294 ], "availabilityObjectMetadataId": [ 3 ], "engineComponentKey": [ - 299 + 293 ], "hotKeys": [ 1 @@ -10209,7 +10047,7 @@ export default { 3 ], "update": [ - 421 + 415 ], "__typename": [ 1 @@ -10228,7 +10066,7 @@ export default { }, "CreateOneObjectInput": { "object": [ - 423 + 417 ], "__typename": [ 1 @@ -10288,7 +10126,7 @@ export default { }, "UpdateOneObjectInput": { "update": [ - 426 + 420 ], "id": [ 3 @@ -10346,7 +10184,7 @@ export default { 3 ], "update": [ - 428 + 422 ], "__typename": [ 1 @@ -10536,7 +10374,7 @@ export default { }, "UpdateRoleInput": { "update": [ - 436 + 430 ], "id": [ 3 @@ -10591,7 +10429,7 @@ export default { 3 ], "objectPermissions": [ - 438 + 432 ], "__typename": [ 1 @@ -10633,7 +10471,7 @@ export default { 3 ], "fieldPermissions": [ - 441 + 435 ], "__typename": [ 1 @@ -10664,10 +10502,10 @@ export default { 3 ], "predicates": [ - 443 + 437 ], "predicateGroups": [ - 444 + 438 ], "__typename": [ 1 @@ -10727,7 +10565,7 @@ export default { }, "CreateOneFieldMetadataInput": { "field": [ - 446 + 440 ], "__typename": [ 1 @@ -10800,7 +10638,7 @@ export default { 3 ], "update": [ - 448 + 442 ], "__typename": [ 1 @@ -10892,7 +10730,7 @@ export default { 3 ], "update": [ - 452 + 446 ], "__typename": [ 1 @@ -10936,7 +10774,7 @@ export default { 3 ], "update": [ - 456 + 450 ], "__typename": [ 1 @@ -10955,7 +10793,7 @@ export default { 3 ], "update": [ - 456 + 450 ], "__typename": [ 1 @@ -10966,7 +10804,7 @@ export default { 3 ], "update": [ - 459 + 453 ], "__typename": [ 1 @@ -10974,16 +10812,16 @@ export default { }, "UpdateMessageChannelInputUpdates": { "visibility": [ - 331 + 325 ], "isContactAutoCreationEnabled": [ 6 ], "contactAutoCreationPolicy": [ - 333 + 327 ], "messageFolderImportPolicy": [ - 334 + 328 ], "isSyncEnabled": [ 6 @@ -11003,7 +10841,7 @@ export default { 3 ], "update": [ - 461 + 455 ], "__typename": [ 1 @@ -11011,13 +10849,13 @@ export default { }, "UpdateCalendarChannelInputUpdates": { "visibility": [ - 327 + 321 ], "isContactAutoCreationEnabled": [ 6 ], "contactAutoCreationPolicy": [ - 328 + 322 ], "isSyncEnabled": [ 6 @@ -11051,7 +10889,7 @@ export default { 3 ], "update": [ - 464 + 458 ], "__typename": [ 1 @@ -11138,15 +10976,6 @@ export default { "name": [ 1 ], - "description": [ - 1 - ], - "logoUrl": [ - 1 - ], - "author": [ - 1 - ], "universalIdentifier": [ 1 ], @@ -11156,12 +10985,6 @@ export default { "oAuthScopes": [ 1 ], - "websiteUrl": [ - 1 - ], - "termsUrl": [ - 1 - ], "__typename": [ 1 ] @@ -11171,7 +10994,7 @@ export default { 1 ], "update": [ - 470 + 464 ], "__typename": [ 1 @@ -11181,27 +11004,12 @@ export default { "name": [ 1 ], - "description": [ - 1 - ], - "logoUrl": [ - 1 - ], - "author": [ - 1 - ], "oAuthRedirectUris": [ 1 ], "oAuthScopes": [ 1 ], - "websiteUrl": [ - 1 - ], - "termsUrl": [ - 1 - ], "isListed": [ 6 ], @@ -11234,7 +11042,7 @@ export default { 1 ], "update": [ - 473 + 467 ], "__typename": [ 1 @@ -11394,13 +11202,13 @@ export default { }, "EmailAccountConnectionParameters": { "IMAP": [ - 481 + 475 ], "SMTP": [ - 481 + 475 ], "CALDAV": [ - 481 + 475 ], "__typename": [ 1 @@ -11440,7 +11248,7 @@ export default { "AiModelRole": {}, "CreateOneAppTokenInput": { "appToken": [ - 485 + 479 ], "__typename": [ 1 @@ -11456,7 +11264,7 @@ export default { }, "WorkspaceMigrationInput": { "actions": [ - 487 + 481 ], "__typename": [ 1 @@ -11464,10 +11272,10 @@ export default { }, "WorkspaceMigrationDeleteActionInput": { "type": [ - 488 + 482 ], "metadataName": [ - 341 + 335 ], "universalIdentifier": [ 1 @@ -11492,7 +11300,7 @@ export default { 247, { "input": [ - 491, + 485, "LogicFunctionLogsInput!" ] } diff --git a/packages/twenty-docs/developers/extend/apps/building.mdx b/packages/twenty-docs/developers/extend/apps/building.mdx index b28a09324b..fd021470ce 100644 --- a/packages/twenty-docs/developers/extend/apps/building.mdx +++ b/packages/twenty-docs/developers/extend/apps/building.mdx @@ -19,15 +19,17 @@ The SDK provides helper functions for defining your app entities. As described i |----------|---------| | `defineApplication` | Configure application metadata (required, one per app) | | `defineObject` | Define custom objects with fields | +| `defineField` | Extend existing objects with additional fields or define standalone relation fields | | `defineLogicFunction` | Define logic functions with handlers | | `definePreInstallLogicFunction` | Define a pre-install logic function (one per app) | | `definePostInstallLogicFunction` | Define a post-install logic function (one per app) | | `defineFrontComponent` | Define front components for custom UI | | `defineRole` | Configure role permissions and object access | -| `defineField` | Extend existing objects with additional fields | | `defineView` | Define saved views for objects | | `defineNavigationMenuItem` | Define sidebar navigation links | | `defineSkill` | Define AI agent skills | +| `defineAgent` | Define AI agents | +| `definePageLayout` | Define custom page layouts | These functions validate your configuration at build time and provide IDE autocompletion and type safety. @@ -36,7 +38,7 @@ These functions validate your configuration at build time and provide IDE autoco Custom objects describe both schema and behavior for records in your workspace. Use `defineObject()` to define objects with built-in validation: ```typescript -// src/app/postCard.object.ts +// src/objects/postCard.object.ts import { defineObject, FieldType } from 'twenty-sdk'; enum PostCardStatus { @@ -110,7 +112,7 @@ Key points: - The `universalIdentifier` must be unique and stable across deployments. - Each field requires a `name`, `type`, `label`, and its own stable `universalIdentifier`. - The `fields` array is optional — you can define objects without custom fields. -- You can scaffold new objects using `yarn twenty entity:add`, which guides you through naming, fields, and relationships. +- You can scaffold new objects using `yarn twenty add`, which guides you through naming, fields, and relationships. **Base fields are created automatically.** When you define a custom object, Twenty automatically adds standard fields @@ -120,6 +122,195 @@ Key points: but this is not recommended. +### Defining fields on existing objects + +Use `defineField()` to add fields to objects you don't own — such as standard Twenty objects (Person, Company, etc.) or objects from other apps. Unlike inline fields in `defineObject()`, standalone fields require an `objectUniversalIdentifier` to specify which object they extend: + +```typescript +// src/fields/company-loyalty-tier.field.ts +import { defineField, FieldType } from 'twenty-sdk'; + +export default defineField({ + universalIdentifier: 'f2a1b3c4-d5e6-7890-abcd-ef1234567890', + objectUniversalIdentifier: '701aecb9-eb1c-4d84-9d94-b954b231b64b', // Company object + name: 'loyaltyTier', + type: FieldType.SELECT, + label: 'Loyalty Tier', + icon: 'IconStar', + options: [ + { value: 'BRONZE', label: 'Bronze', position: 0, color: 'orange' }, + { value: 'SILVER', label: 'Silver', position: 1, color: 'gray' }, + { value: 'GOLD', label: 'Gold', position: 2, color: 'yellow' }, + ], +}); +``` + +Key points: +- `objectUniversalIdentifier` identifies the target object. For standard objects, use `STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS` exported from `twenty-sdk`. +- When defining fields inline in `defineObject()`, you do **not** need `objectUniversalIdentifier` — it's inherited from the parent object. +- `defineField()` is the only way to add fields to objects you didn't create with `defineObject()`. + +### Relations + +Relations connect objects together. In Twenty, relations are always **bidirectional** — you define both sides, and each side references the other. + +There are two relation types: + +| Relation type | Description | Has foreign key? | +|---------------|-------------|-----------------| +| `MANY_TO_ONE` | Many records of this object point to one record of the target | Yes (`joinColumnName`) | +| `ONE_TO_MANY` | One record of this object has many records of the target | No (inverse side) | + +#### How relations work + +Every relation requires **two fields** that reference each other: + +1. The **MANY_TO_ONE** side — lives on the object that holds the foreign key +2. The **ONE_TO_MANY** side — lives on the object that owns the collection + +Both fields use `FieldType.RELATION` and cross-reference each other via `relationTargetFieldMetadataUniversalIdentifier`. + +#### Example: Post Card has many Recipients + +Suppose a `PostCard` can be sent to many `PostCardRecipient` records. Each recipient belongs to exactly one post card. + +**Step 1: Define the ONE_TO_MANY side on PostCard** (the "one" side): + +```typescript +// src/fields/post-card-recipients-on-post-card.field.ts +import { defineField, FieldType, RelationType } from 'twenty-sdk'; +import { POST_CARD_UNIVERSAL_IDENTIFIER } from '../objects/post-card.object'; +import { POST_CARD_RECIPIENT_UNIVERSAL_IDENTIFIER } from '../objects/post-card-recipient.object'; + +// Export so the other side can reference it +export const POST_CARD_RECIPIENTS_FIELD_ID = 'a1111111-1111-1111-1111-111111111111'; +// Import from the other side +import { POST_CARD_FIELD_ID } from './post-card-on-post-card-recipient.field'; + +export default defineField({ + universalIdentifier: POST_CARD_RECIPIENTS_FIELD_ID, + objectUniversalIdentifier: POST_CARD_UNIVERSAL_IDENTIFIER, + type: FieldType.RELATION, + name: 'postCardRecipients', + label: 'Post Card Recipients', + icon: 'IconUsers', + relationTargetObjectMetadataUniversalIdentifier: POST_CARD_RECIPIENT_UNIVERSAL_IDENTIFIER, + relationTargetFieldMetadataUniversalIdentifier: POST_CARD_FIELD_ID, + universalSettings: { + relationType: RelationType.ONE_TO_MANY, + }, +}); +``` + +**Step 2: Define the MANY_TO_ONE side on PostCardRecipient** (the "many" side — holds the foreign key): + +```typescript +// src/fields/post-card-on-post-card-recipient.field.ts +import { defineField, FieldType, RelationType, OnDeleteAction } from 'twenty-sdk'; +import { POST_CARD_UNIVERSAL_IDENTIFIER } from '../objects/post-card.object'; +import { POST_CARD_RECIPIENT_UNIVERSAL_IDENTIFIER } from '../objects/post-card-recipient.object'; + +// Export so the other side can reference it +export const POST_CARD_FIELD_ID = 'b2222222-2222-2222-2222-222222222222'; +// Import from the other side +import { POST_CARD_RECIPIENTS_FIELD_ID } from './post-card-recipients-on-post-card.field'; + +export default defineField({ + universalIdentifier: POST_CARD_FIELD_ID, + objectUniversalIdentifier: POST_CARD_RECIPIENT_UNIVERSAL_IDENTIFIER, + type: FieldType.RELATION, + name: 'postCard', + label: 'Post Card', + icon: 'IconMail', + relationTargetObjectMetadataUniversalIdentifier: POST_CARD_UNIVERSAL_IDENTIFIER, + relationTargetFieldMetadataUniversalIdentifier: POST_CARD_RECIPIENTS_FIELD_ID, + universalSettings: { + relationType: RelationType.MANY_TO_ONE, + onDelete: OnDeleteAction.CASCADE, + joinColumnName: 'postCardId', + }, +}); +``` + + +**Circular imports:** Both relation fields reference each other's `universalIdentifier`. To avoid circular import issues, export your field IDs as named constants from each file, and import them in the other file. The build system resolves these at compile time. + + +#### Relating to standard objects + +To create a relation with a built-in Twenty object (Person, Company, etc.), use `STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS`: + +```typescript +// src/fields/person-on-self-hosting-user.field.ts +import { + defineField, + FieldType, + RelationType, + OnDeleteAction, + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS, +} from 'twenty-sdk'; +import { SELF_HOSTING_USER_UNIVERSAL_IDENTIFIER } from '../objects/self-hosting-user.object'; + +export const PERSON_FIELD_ID = 'c3333333-3333-3333-3333-333333333333'; +export const SELF_HOSTING_USER_REVERSE_FIELD_ID = 'd4444444-4444-4444-4444-444444444444'; + +export default defineField({ + universalIdentifier: PERSON_FIELD_ID, + objectUniversalIdentifier: SELF_HOSTING_USER_UNIVERSAL_IDENTIFIER, + type: FieldType.RELATION, + name: 'person', + label: 'Person', + description: 'Person matching with the self hosting user', + isNullable: true, + relationTargetObjectMetadataUniversalIdentifier: + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier, + relationTargetFieldMetadataUniversalIdentifier: SELF_HOSTING_USER_REVERSE_FIELD_ID, + universalSettings: { + relationType: RelationType.MANY_TO_ONE, + onDelete: OnDeleteAction.SET_NULL, + joinColumnName: 'personId', + }, +}); +``` + +#### Relation field properties + +| Property | Required | Description | +|----------|----------|-------------| +| `type` | Yes | Must be `FieldType.RELATION` | +| `relationTargetObjectMetadataUniversalIdentifier` | Yes | The `universalIdentifier` of the target object | +| `relationTargetFieldMetadataUniversalIdentifier` | Yes | The `universalIdentifier` of the matching field on the target object | +| `universalSettings.relationType` | Yes | `RelationType.MANY_TO_ONE` or `RelationType.ONE_TO_MANY` | +| `universalSettings.onDelete` | MANY_TO_ONE only | What happens when the referenced record is deleted: `CASCADE`, `SET_NULL`, `RESTRICT`, or `NO_ACTION` | +| `universalSettings.joinColumnName` | MANY_TO_ONE only | Database column name for the foreign key (e.g., `postCardId`) | + +#### Inline relation fields in defineObject + +You can also define relation fields directly inside `defineObject()`. In that case, omit `objectUniversalIdentifier` — it's inherited from the parent object: + +```typescript +export default defineObject({ + universalIdentifier: '...', + nameSingular: 'postCardRecipient', + // ... + fields: [ + { + universalIdentifier: POST_CARD_FIELD_ID, + type: FieldType.RELATION, + name: 'postCard', + label: 'Post Card', + relationTargetObjectMetadataUniversalIdentifier: POST_CARD_UNIVERSAL_IDENTIFIER, + relationTargetFieldMetadataUniversalIdentifier: POST_CARD_RECIPIENTS_FIELD_ID, + universalSettings: { + relationType: RelationType.MANY_TO_ONE, + onDelete: OnDeleteAction.CASCADE, + joinColumnName: 'postCardId', + }, + }, + // ... other fields + ], +}); +``` ### Application config (application-config.ts) @@ -161,13 +352,29 @@ Notes: - `defaultRoleUniversalIdentifier` must match the role file (see below). - Pre-install and post-install functions are automatically detected during the manifest build. See [Pre-install functions](#pre-install-functions) and [Post-install functions](#post-install-functions). +#### Marketplace metadata + +If you plan to [publish your app](/developers/extend/apps/publishing), these optional fields control how your app appears in the marketplace: + +| Field | Description | +|-------|-------------| +| `author` | Author or company name | +| `category` | App category for marketplace filtering | +| `logoUrl` | Path to your app logo (relative to `./assets/`) | +| `screenshots` | Array of screenshot paths (relative to `./assets/`) | +| `aboutDescription` | Longer markdown description for the "About" tab | +| `websiteUrl` | Link to your website | +| `termsUrl` | Link to terms of service | +| `emailSupport` | Support email address | +| `issueReportUrl` | Link to issue tracker | + #### Roles and permissions Applications can define roles that encapsulate permissions on your workspace's objects and actions. The field `defaultRoleUniversalIdentifier` in `application-config.ts` designates the default role used by your app's logic functions. - The runtime API key injected as `TWENTY_API_KEY` is derived from this default function role. - The typed client will be restricted to the permissions granted to that role. -- Follow least‑privilege: create a dedicated role with only the permissions your functions need, then reference its universal identifier. +- Follow least-privilege: create a dedicated role with only the permissions your functions need, then reference its universal identifier. ##### Default function role (*.role.ts) @@ -219,7 +426,7 @@ The `universalIdentifier` of this role is then referenced in `application-config - **application-config.ts** points to that role so your functions inherit its permissions. Notes: -- Start from the scaffolded role, then progressively restrict it following least‑privilege. +- Start from the scaffolded role, then progressively restrict it following least-privilege. - Replace the `objectPermissions` and `fieldPermissions` with the objects/fields your functions need. - `permissionFlags` control access to platform-level capabilities. Keep them minimal; add only what you need. - See a working example in the Hello World app: [`packages/twenty-apps/hello-world/src/roles/function-role.ts`](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/hello-world/src/roles/function-role.ts). @@ -229,7 +436,7 @@ Notes: Each function file uses `defineLogicFunction()` to export a configuration with a handler and optional triggers. ```typescript -// src/app/createPostCard.logic-function.ts +// src/logic-functions/createPostCard.logic-function.ts import { defineLogicFunction } from 'twenty-sdk'; import type { DatabaseEventPayload, ObjectRecordCreateEvent, CronPayload, RoutePayload } from 'twenty-sdk'; import { CoreApiClient, type Person } from 'twenty-sdk/generated'; @@ -318,7 +525,7 @@ export default definePreInstallLogicFunction({ You can also manually execute the pre-install function at any time using the CLI: ```bash filename="Terminal" -yarn twenty function:execute --preInstall +yarn twenty exec --preInstall ``` Key points: @@ -327,7 +534,7 @@ Key points: - Only one pre-install function is allowed per application. The manifest build will error if more than one is detected. - The function's `universalIdentifier` is automatically set as `preInstallLogicFunctionUniversalIdentifier` on the application manifest during the build — you do not need to reference it in `defineApplication()`. - The default timeout is set to 300 seconds (5 minutes) to allow for longer preparation tasks. -- Pre-install functions do not need triggers — they are invoked by the platform before installation or manually via `function:execute --preInstall`. +- Pre-install functions do not need triggers — they are invoked by the platform before installation or manually via `exec --preInstall`. ### Post-install functions @@ -355,7 +562,7 @@ export default definePostInstallLogicFunction({ You can also manually execute the post-install function at any time using the CLI: ```bash filename="Terminal" -yarn twenty function:execute --postInstall +yarn twenty exec --postInstall ``` Key points: @@ -364,7 +571,7 @@ Key points: - Only one post-install function is allowed per application. The manifest build will error if more than one is detected. - The function's `universalIdentifier` is automatically set as `postInstallLogicFunctionUniversalIdentifier` on the application manifest during the build — you do not need to reference it in `defineApplication()`. - The default timeout is set to 300 seconds (5 minutes) to allow for longer setup tasks like data seeding. -- Post-install functions do not need triggers — they are invoked by the platform during installation or manually via `function:execute --postInstall`. +- Post-install functions do not need triggers — they are invoked by the platform during installation or manually via `exec --postInstall`. ### Route trigger payload @@ -412,7 +619,7 @@ The `RoutePayload` type has the following structure: |----------|------|-------------| | `headers` | `Record` | HTTP headers (only those listed in `forwardedRequestHeaders`) | | `queryStringParameters` | `Record` | Query string parameters (multiple values joined with commas) | -| `pathParameters` | `Record` | Path parameters extracted from the route pattern (e.g., `/users/:id` → `{ id: '123' }`) | +| `pathParameters` | `Record` | Path parameters extracted from the route pattern (e.g., `/users/:id` -> `{ id: '123' }`) | | `body` | `object \| null` | Parsed request body (JSON) | | `isBase64Encoded` | `boolean` | Whether the body is base64 encoded | | `requestContext.http.method` | `string` | HTTP method (GET, POST, PUT, PATCH, DELETE) | @@ -458,7 +665,7 @@ const handler = async (event: RoutePayload) => { You can create new functions in two ways: -- **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new logic function. This generates a starter file with a handler and config. +- **Scaffolded**: Run `yarn twenty add` and choose the option to add a new logic function. This generates a starter file with a handler and config. - **Manual**: Create a new `*.logic-function.ts` file and use `defineLogicFunction()`, following the same pattern. ### Marking a logic function as a tool @@ -470,7 +677,7 @@ To mark a logic function as a tool, set `isTool: true` and provide a `toolInputS ```typescript // src/logic-functions/enrich-company.logic-function.ts import { defineLogicFunction } from 'twenty-sdk'; -import { CoreApiClient } from 'twenty-sdk/generated'; +import { CoreApiClient } from 'twenty-client-sdk/core'; const handler = async (params: { companyName: string; domain?: string }) => { const client = new CoreApiClient(); @@ -558,7 +765,7 @@ Key points: You can create new front components in two ways: -- **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new front component. +- **Scaffolded**: Run `yarn twenty add` and choose the option to add a new front component. - **Manual**: Create a new `.tsx` file and use `defineFrontComponent()`, following the same pattern. ### Skills @@ -592,46 +799,122 @@ Key points: You can create new skills in two ways: -- **Scaffolded**: Run `yarn twenty entity:add` and choose the option to add a new skill. +- **Scaffolded**: Run `yarn twenty add` and choose the option to add a new skill. - **Manual**: Create a new file and use `defineSkill()`, following the same pattern. -### Generated typed clients +### Typed API clients (`twenty-client-sdk`) -Two typed clients are auto-generated by `yarn twenty dev` and stored in `node_modules/twenty-sdk/generated` based on your workspace schema: +The `twenty-client-sdk` package provides two typed GraphQL clients for interacting with the Twenty API from your logic functions and front components: -- **`CoreApiClient`** — queries the `/graphql` endpoint for workspace data -- **`MetadataApiClient`** — queries the `/metadata` endpoint for workspace configuration and file uploads +| Client | Import | Endpoint | Generated? | +|--------|--------|----------|------------| +| `CoreApiClient` | `twenty-client-sdk/core` | `/graphql` — workspace data (records, objects) | Yes, at dev/build time | +| `MetadataApiClient` | `twenty-client-sdk/metadata` | `/metadata` — workspace config, file uploads | No, ships pre-built | + +#### CoreApiClient + +`CoreApiClient` is the main client for querying and mutating workspace data. It is **generated from your workspace schema** during `yarn twenty dev` or `yarn twenty build`, so it's fully typed to match your objects and fields. ```typescript -import { CoreApiClient, MetadataApiClient } from 'twenty-sdk/generated'; +import { CoreApiClient } from 'twenty-client-sdk/core'; const client = new CoreApiClient(); -const { me } = await client.query({ me: { id: true, displayName: true } }); -const metadataClient = new MetadataApiClient(); -const { currentWorkspace } = await metadataClient.query({ currentWorkspace: { id: true } }); +// Query records +const { companies } = await client.query({ + companies: { + edges: { + node: { + id: true, + name: true, + domainName: true, + }, + }, + }, +}); + +// Create a record +const { createCompany } = await client.mutation({ + createCompany: { + __args: { + data: { + name: 'Acme Corp', + }, + }, + id: true, + name: true, + }, +}); ``` -Both clients are re-generated automatically by `yarn twenty dev` whenever your objects or fields change. +The client uses a selection-set syntax: pass `true` to include a field, use `__args` for arguments, and nest objects for relations. You get full autocompletion and type checking based on your workspace schema. -#### Runtime credentials in logic functions + +**CoreApiClient is generated at dev/build time.** If you try to use it without running `yarn twenty dev` or `yarn twenty build` first, it throws an error. The generation happens automatically — the CLI introspects your workspace's GraphQL schema, generates a typed client using `@genql/cli`, writes the generated sources to `node_modules/twenty-client-sdk/dist/core/generated/`, and replaces the stubs in `node_modules/twenty-client-sdk/dist/core.mjs` and `node_modules/twenty-client-sdk/dist/core.cjs`. + -When your function runs on Twenty, the platform injects credentials as environment variables before your code executes: +#### Using CoreSchema for type annotations -- `TWENTY_API_URL`: Base URL of the Twenty API your app targets. -- `TWENTY_API_KEY`: Short‑lived key scoped to your application's default function role. +`CoreSchema` provides TypeScript types matching your workspace objects, useful for typing component state or function parameters: -Notes: -- You do not need to pass URL or API key to the generated client. It reads `TWENTY_API_URL` and `TWENTY_API_KEY` from process.env at runtime. -- The API key's permissions are determined by the role referenced in your `application-config.ts` via `defaultRoleUniversalIdentifier`. This is the default role used by logic functions of your application. -- Applications can define roles to follow least‑privilege. Grant only the permissions your functions need, then point `defaultRoleUniversalIdentifier` to that role's universal identifier. +```typescript +import { CoreApiClient, CoreSchema } from 'twenty-client-sdk/core'; +import { useState } from 'react'; + +const [company, setCompany] = useState< + Pick | undefined +>(undefined); + +const client = new CoreApiClient(); +const result = await client.query({ + company: { + __args: { filter: { position: { eq: 1 } } }, + id: true, + name: true, + }, +}); +setCompany(result.company); +``` + +#### MetadataApiClient + +`MetadataApiClient` ships pre-built with the SDK (no generation required). It queries the `/metadata` endpoint for workspace configuration, applications, and file uploads: + +```typescript +import { MetadataApiClient } from 'twenty-client-sdk/metadata'; + +const metadataClient = new MetadataApiClient(); + +// Query workspace info +const { currentWorkspace } = await metadataClient.query({ + currentWorkspace: { id: true, displayName: true }, +}); + +// List installed applications +const { findManyApplications } = await metadataClient.query({ + findManyApplications: { + id: true, + name: true, + version: true, + }, +}); +``` + +#### Runtime credentials + +When your code runs on Twenty (logic functions or front components), the platform injects credentials as environment variables: + +- `TWENTY_API_URL` — Base URL of the Twenty API +- `TWENTY_API_KEY` — Short-lived key scoped to your application's default function role + +You do **not** need to pass these to the clients — they read from `process.env` automatically. The API key's permissions are determined by the role referenced in `defaultRoleUniversalIdentifier` in your `application-config.ts`. #### Uploading files -The generated `MetadataApiClient` includes an `uploadFile` method for attaching files to file-type fields on your workspace objects. Because standard GraphQL clients do not support multipart file uploads natively, the client provides this dedicated method that implements the [GraphQL multipart request specification](https://github.com/jaydenseric/graphql-multipart-request-spec) under the hood. +`MetadataApiClient` includes an `uploadFile` method for attaching files to file-type fields. It implements the [GraphQL multipart request specification](https://github.com/jaydenseric/graphql-multipart-request-spec): ```typescript -import { MetadataApiClient } from 'twenty-sdk/generated'; +import { MetadataApiClient } from 'twenty-client-sdk/metadata'; import * as fs from 'fs'; const metadataClient = new MetadataApiClient(); @@ -641,25 +924,14 @@ const fileBuffer = fs.readFileSync('./invoice.pdf'); const uploadedFile = await metadataClient.uploadFile( fileBuffer, // file contents as a Buffer 'invoice.pdf', // filename - 'application/pdf', // MIME type (defaults to 'application/octet-stream') - '58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universal identifier + 'application/pdf', // MIME type + '58a0a314-d7ea-4865-9850-7fb84e72f30b', // field universalIdentifier ); console.log(uploadedFile); // { id: '...', path: '...', size: 12345, createdAt: '...', url: 'https://...' } ``` -The method signature: - -```typescript -uploadFile( - fileBuffer: Buffer, - filename: string, - contentType: string, - fieldMetadataUniversalIdentifier: string, -): Promise<{ id: string; path: string; size: number; createdAt: string; url: string }> -``` - | Parameter | Type | Description | |-----------|------|-------------| | `fileBuffer` | `Buffer` | The raw file contents | @@ -668,8 +940,7 @@ uploadFile( | `fieldMetadataUniversalIdentifier` | `string` | The `universalIdentifier` of the file-type field on your object | Key points: -- The `uploadFile` method is available on `MetadataApiClient` because the upload mutation is resolved by the `/metadata` endpoint. -- It uses the field's `universalIdentifier` (not its workspace-specific ID), so your upload code works across any workspace where your app is installed — consistent with how apps reference fields everywhere else. +- Uses the field's `universalIdentifier` (not its workspace-specific ID), so your upload code works across any workspace where your app is installed. - The returned `url` is a signed URL you can use to access the uploaded file. ### Hello World example diff --git a/packages/twenty-docs/developers/extend/apps/getting-started.mdx b/packages/twenty-docs/developers/extend/apps/getting-started.mdx index 65d851c097..46d71760a5 100644 --- a/packages/twenty-docs/developers/extend/apps/getting-started.mdx +++ b/packages/twenty-docs/developers/extend/apps/getting-started.mdx @@ -48,7 +48,7 @@ From here you can: ```bash filename="Terminal" # Add a new entity to your application (guided) -yarn twenty entity:add +yarn twenty add # Watch your application's function logs yarn twenty function:logs @@ -122,7 +122,7 @@ With `--minimal`, only the core files are created (`application-config.ts`, `rol At a high level: - **package.json**: Declares the app name, version, engines (Node 24+, Yarn 4), and adds `twenty-sdk` plus a `twenty` script that delegates to the local `twenty` CLI. Run `yarn twenty help` to list all available commands. -- **.gitignore**: Ignores common artifacts such as `node_modules`, `.yarn`, `generated/` (typed client), `dist/`, `build/`, coverage folders, log files, and `.env*` files. +- **.gitignore**: Ignores common artifacts such as `node_modules`, `.yarn`, `.twenty/`, `dist/`, `build/`, coverage folders, log files, and `.env*` files. - **yarn.lock**, **.yarnrc.yml**, **.yarn/**: Lock and configure the Yarn 4 toolchain used by the project. - **.nvmrc**: Pins the Node.js version expected by the project. - **.oxlintrc.json** and **tsconfig.json**: Provide linting and TypeScript configuration for your app's TypeScript sources. @@ -165,8 +165,8 @@ export default defineObject({ Later commands will add more files and folders: -- `yarn twenty dev` will auto-generate two typed API clients in `node_modules/twenty-sdk/generated`: `CoreApiClient` (for workspace data via `/graphql`) and `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`). -- `yarn twenty entity:add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more. +- `yarn twenty dev` will auto-generate the typed `CoreApiClient` (for workspace data via `/graphql`) into `node_modules/twenty-client-sdk/`. The `MetadataApiClient` (for workspace configuration and file uploads via `/metadata`) ships pre-built and is available immediately. Import them from `twenty-client-sdk/core` and `twenty-client-sdk/metadata` respectively. +- `yarn twenty add` will add entity definition files under `src/` for your custom objects, functions, front components, roles, skills, and more. ## Authentication diff --git a/packages/twenty-docs/developers/extend/apps/publishing.mdx b/packages/twenty-docs/developers/extend/apps/publishing.mdx index 3cbcfaee14..fa76d658ba 100644 --- a/packages/twenty-docs/developers/extend/apps/publishing.mdx +++ b/packages/twenty-docs/developers/extend/apps/publishing.mdx @@ -12,7 +12,25 @@ Apps are currently in alpha testing. The feature is functional but still evolvin Once your app is [built and tested locally](/developers/extend/apps/building), you have two paths for distributing it: - **Publish to npm** — list your app in the Twenty marketplace for any workspace to discover and install. -- **Push a tarball** — deploy your app to a specific Twenty server for internal use without making it publicly available. +- **Deploy a tarball** — upload your app directly to a specific Twenty server for internal or private use. + +Both paths start from the same **build** step. + +## Building your app + +The `build` command compiles your TypeScript sources, transpiles logic functions and front components, and generates a `manifest.json` that describes your app's contents: + +```bash filename="Terminal" +yarn twenty build +``` + +The output is written to `.twenty/output/`. This directory contains everything needed for distribution: compiled code, assets, the manifest, and a copy of your `package.json`. + +To also create a `.tgz` tarball (used by the deploy command internally, or for manual distribution): + +```bash filename="Terminal" +yarn twenty build --tarball +``` ## Publishing to npm @@ -21,29 +39,72 @@ Publishing to npm makes your app discoverable in the Twenty marketplace. Any Twe ### Requirements - An [npm](https://www.npmjs.com) account -- Your package name **must** use the `twenty-app-` prefix (e.g., `twenty-app-postcard-sender`) +- The `twenty-app` keyword **must** be listed in your `package.json` `keywords` array + +### Adding the required keyword + +The Twenty marketplace discovers apps by searching the npm registry for packages with the `twenty-app` keyword. Add it to your `package.json`: + +```json filename="package.json" +{ + "name": "twenty-app-postcard-sender", + "version": "1.0.0", + "keywords": ["twenty-app"], + ... +} +``` + + +The marketplace searches for `keywords:twenty-app` on the npm registry. Without this keyword, your package won't appear in the marketplace even if it has the `twenty-app-` name prefix. + ### Steps -1. **Build your app** — the CLI compiles your TypeScript sources and generates the application manifest: +1. **Build your app:** ```bash filename="Terminal" yarn twenty build ``` -2. **Publish to npm** — push the built package to the npm registry: +2. **Publish to npm:** ```bash filename="Terminal" -npx twenty publish +yarn twenty publish ``` -### Auto-discovery +This runs `npm publish` from the `.twenty/output/` directory. -Packages with the `twenty-app-` prefix are automatically discovered by the Twenty marketplace catalog. Once published, your app appears in the marketplace within a few minutes — no manual registration or approval required. +To publish under a specific dist-tag (e.g., `beta` or `next`): + +```bash filename="Terminal" +yarn twenty publish --tag beta +``` + +### How marketplace discovery works + +The Twenty server syncs its marketplace catalog from the npm registry **every hour**: + +1. It searches for all npm packages with the `keywords:twenty-app` keyword +2. For each package, it fetches the `manifest.json` from the npm CDN +3. The app's metadata (name, description, author, logo, screenshots, category) is extracted from the manifest and displayed in the marketplace + +After publishing, your app can take up to one hour to appear in the marketplace. To trigger the sync immediately instead of waiting for the next hourly run: + +```bash filename="Terminal" +yarn twenty catalog-sync +``` + +To target a specific remote: + +```bash filename="Terminal" +yarn twenty catalog-sync -r production +``` + +The metadata shown in the marketplace comes from your `defineApplication()` call in your app source code — fields like `displayName`, `description`, `author`, `category`, `logoUrl`, `screenshots`, `aboutDescription`, `websiteUrl`, and `termsUrl`. ### CI publishing -The scaffolded project includes a GitHub Actions workflow that publishes on every release. It runs `app:build`, then `npm publish --provenance` from the build output: +The scaffolded project includes a GitHub Actions workflow that publishes on every release: ```yaml filename=".github/workflows/publish.yml" name: Publish @@ -72,48 +133,117 @@ jobs: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} ``` -For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `npx twenty build`, then `npm publish` from `.twenty/output`. +For other CI systems (GitLab CI, CircleCI, etc.), the same three commands apply: `yarn install`, `yarn twenty build`, then `npm publish` from `.twenty/output`. **npm provenance** is optional but recommended. Publishing with `--provenance` adds a trust badge to your npm listing, letting users verify the package was built from a specific commit in a public CI pipeline. See the [npm provenance docs](https://docs.npmjs.com/generating-provenance-statements) for setup instructions. -## Internal distribution +## Deploying to a server (tarball) -For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can push a tarball directly to a Twenty server. +For apps you don't want publicly available — proprietary tools, enterprise-only integrations, or experimental builds — you can deploy a tarball directly to a Twenty server. -### Push a tarball +### Prerequisites -Build your app and deploy it to a specific server in one step: +Before deploying, you need a configured remote pointing to the target server. Remotes store the server URL and authentication credentials locally in `~/.twenty/config.json`. + +Add a remote: ```bash filename="Terminal" -npx twenty publish --server +yarn twenty remote add --url https://your-twenty-server.com --as production ``` -Any workspace on that server can then install and upgrade the app from the **Applications** settings page. +For a local development server: + +```bash filename="Terminal" +yarn twenty remote add --local --as local +``` + +You can also authenticate with an API key for non-interactive environments: + +```bash filename="Terminal" +yarn twenty remote add --url https://your-twenty-server.com --token --as production +``` + +Manage your remotes: + +```bash filename="Terminal" +yarn twenty remote list # List all configured remotes +yarn twenty remote switch prod # Set the default remote +yarn twenty remote status # Show active remote and auth status +yarn twenty remote remove old # Remove a remote +``` + +### Deploying + +Build and upload your app to the server in one step: + +```bash filename="Terminal" +yarn twenty deploy +``` + +This builds the app with `--tarball`, then uploads the tarball to the default remote via a GraphQL multipart upload. + +To deploy to a specific remote: + +```bash filename="Terminal" +yarn twenty deploy -r production +``` + +### Sharing a deployed app + +Tarball apps are not listed in the public marketplace, so other workspaces on the same server won't discover them by browsing. To share a deployed app: + +1. Go to **Settings > Applications > Registrations** and open your app +2. In the **Distribution** tab, click **Copy share link** +3. Share this link with users on other workspaces — it takes them directly to the app's install page + +The share link uses the server's base URL (without any workspace subdomain) so it works for any workspace on the server. ### Version management To release an update: 1. Bump the `version` field in your `package.json` -2. Push a new tarball with `npx twenty publish --server ` -3. Workspaces on that server will see the upgrade available in their settings +2. Run `yarn twenty deploy` (or `yarn twenty deploy -r production`) +3. Workspaces that have the app installed will see the upgrade available in their settings - -Internal apps are scoped to the server they're pushed to. They won't appear in the public marketplace and can't be installed by workspaces on other servers. - +## Installing apps -## App categories +Once an app is published (npm) or deployed (tarball), workspaces install it through the UI: + +```bash filename="Terminal" +yarn twenty install +``` + +Or from the **Settings > Applications** page in the Twenty UI, where both marketplace and tarball-deployed apps can be browsed and installed. + +## App distribution categories Twenty organizes apps into three categories based on how they're distributed: | Category | How it works | Visible in marketplace? | |----------|-------------|------------------------| | **Development** | Local dev mode apps running via `yarn twenty dev`. Used for building and testing. | No | -| **Published** | Apps published to npm with the `twenty-app-` prefix. Listed in the marketplace for any workspace to install. | Yes | -| **Internal** | Apps deployed via tarball to a specific server. Available only to workspaces on that server. | No | +| **Published (npm)** | Apps published to npm with the `twenty-app` keyword. Listed in the marketplace for any workspace to install. | Yes | +| **Internal (tarball)** | Apps deployed via tarball to a specific server. Available only to workspaces on that server via a share link. | No | Start in **Development** mode while building your app. When it's ready, choose **Published** (npm) for broad distribution or **Internal** (tarball) for private deployment. + +## CLI reference + +| Command | Description | Key flags | +|---------|-------------|-----------| +| `yarn twenty build` | Compile app and generate manifest | `--tarball` — also create a `.tgz` package | +| `yarn twenty publish` | Build and publish to npm | `--tag ` — npm dist-tag (e.g., `beta`, `next`) | +| `yarn twenty deploy` | Build and upload tarball to a server | `-r, --remote ` — target remote | +| `yarn twenty catalog-sync` | Trigger marketplace catalog sync on the server | `-r, --remote ` — target remote | +| `yarn twenty install` | Install a deployed app on a workspace | `-r, --remote ` — target remote | +| `yarn twenty dev` | Watch and sync local changes | Uses default remote | +| `yarn twenty remote add` | Add a server connection | `--url`, `--token`, `--as`, `--local`, `--port` | +| `yarn twenty remote list` | List configured remotes | — | +| `yarn twenty remote switch` | Set default remote | — | +| `yarn twenty remote status` | Show connection status | — | +| `yarn twenty remote remove` | Remove a remote | — | diff --git a/packages/twenty-front/src/generated-metadata/graphql.ts b/packages/twenty-front/src/generated-metadata/graphql.ts index 8a7f8c192e..ce50e1be32 100644 --- a/packages/twenty-front/src/generated-metadata/graphql.ts +++ b/packages/twenty-front/src/generated-metadata/graphql.ts @@ -367,14 +367,11 @@ export type Application = { export type ApplicationRegistration = { __typename?: 'ApplicationRegistration'; - author?: Maybe; createdAt: Scalars['DateTime']; - description?: Maybe; id: Scalars['UUID']; isFeatured: Scalars['Boolean']; isListed: Scalars['Boolean']; latestAvailableVersion?: Maybe; - logoUrl?: Maybe; name: Scalars['String']; oAuthClientId: Scalars['String']; oAuthRedirectUris: Array; @@ -382,10 +379,8 @@ export type ApplicationRegistration = { ownerWorkspaceId?: Maybe; sourcePackage?: Maybe; sourceType: ApplicationRegistrationSourceType; - termsUrl?: Maybe; universalIdentifier: Scalars['String']; updatedAt: Scalars['DateTime']; - websiteUrl?: Maybe; }; export enum ApplicationRegistrationSourceType { @@ -1068,15 +1063,10 @@ export type CreateApplicationRegistration = { }; export type CreateApplicationRegistrationInput = { - author?: InputMaybe; - description?: InputMaybe; - logoUrl?: InputMaybe; name: Scalars['String']; oAuthRedirectUris?: InputMaybe>; oAuthScopes?: InputMaybe>; - termsUrl?: InputMaybe; universalIdentifier?: InputMaybe; - websiteUrl?: InputMaybe; }; export type CreateApplicationRegistrationVariableInput = { @@ -2285,97 +2275,30 @@ export type LoginToken = { export type MarketplaceApp = { __typename?: 'MarketplaceApp'; - aboutDescription: Scalars['String']; author: Scalars['String']; category: Scalars['String']; - defaultRole?: Maybe; description: Scalars['String']; - fields: Array; - frontComponents: Array; icon: Scalars['String']; id: Scalars['String']; isFeatured: Scalars['Boolean']; - logicFunctions: Array; logo?: Maybe; name: Scalars['String']; - objects: Array; - providers: Array; - screenshots: Array; sourcePackage?: Maybe; - termsUrl?: Maybe; - version: Scalars['String']; - websiteUrl?: Maybe; }; -export type MarketplaceAppDefaultRole = { - __typename?: 'MarketplaceAppDefaultRole'; - canAccessAllTools: Scalars['Boolean']; - canDestroyAllObjectRecords: Scalars['Boolean']; - canReadAllObjectRecords: Scalars['Boolean']; - canSoftDeleteAllObjectRecords: Scalars['Boolean']; - canUpdateAllObjectRecords: Scalars['Boolean']; - canUpdateAllSettings: Scalars['Boolean']; - description?: Maybe; - fieldPermissions: Array; +export type MarketplaceAppDetail = { + __typename?: 'MarketplaceAppDetail'; id: Scalars['String']; - label: Scalars['String']; - objectPermissions: Array; - permissionFlags: Array; -}; - -export type MarketplaceAppField = { - __typename?: 'MarketplaceAppField'; - description?: Maybe; - icon?: Maybe; - label: Scalars['String']; + isFeatured: Scalars['Boolean']; + isListed: Scalars['Boolean']; + latestAvailableVersion?: Maybe; + manifest?: Maybe; name: Scalars['String']; - objectUniversalIdentifier?: Maybe; - type: Scalars['String']; - universalIdentifier?: Maybe; -}; - -export type MarketplaceAppFrontComponent = { - __typename?: 'MarketplaceAppFrontComponent'; - description?: Maybe; - name: Scalars['String']; -}; - -export type MarketplaceAppLogicFunction = { - __typename?: 'MarketplaceAppLogicFunction'; - description?: Maybe; - name: Scalars['String']; - timeoutSeconds?: Maybe; -}; - -export type MarketplaceAppObject = { - __typename?: 'MarketplaceAppObject'; - description?: Maybe; - fields: Array; - icon?: Maybe; - labelPlural: Scalars['String']; - labelSingular: Scalars['String']; - namePlural: Scalars['String']; - nameSingular: Scalars['String']; + sourcePackage?: Maybe; + sourceType: ApplicationRegistrationSourceType; universalIdentifier: Scalars['String']; }; -export type MarketplaceAppRoleFieldPermission = { - __typename?: 'MarketplaceAppRoleFieldPermission'; - canReadFieldValue?: Maybe; - canUpdateFieldValue?: Maybe; - fieldUniversalIdentifier: Scalars['String']; - objectUniversalIdentifier: Scalars['String']; -}; - -export type MarketplaceAppRoleObjectPermission = { - __typename?: 'MarketplaceAppRoleObjectPermission'; - canDestroyObjectRecords?: Maybe; - canReadObjectRecords?: Maybe; - canSoftDeleteObjectRecords?: Maybe; - canUpdateObjectRecords?: Maybe; - objectUniversalIdentifier: Scalars['String']; -}; - export type MessageChannel = { __typename?: 'MessageChannel'; connectedAccountId: Scalars['UUID']; @@ -2688,6 +2611,7 @@ export type Mutation = { switchBillingPlan: BillingUpdate; switchSubscriptionInterval: BillingUpdate; syncApplication: WorkspaceMigration; + syncMarketplaceCatalog: Scalars['Boolean']; trackAnalytics: Analytics; transferApplicationRegistrationOwnership: ApplicationRegistration; uninstallApplication: Scalars['Boolean']; @@ -4259,11 +4183,11 @@ export type Query = { findManyLogicFunctions: Array; findManyMarketplaceApps: Array; findManyPublicDomains: Array; + findMarketplaceAppDetail: MarketplaceAppDetail; findOneAgent: Agent; findOneApplication: Application; findOneApplicationRegistration: ApplicationRegistration; findOneLogicFunction: LogicFunction; - findOneMarketplaceApp: MarketplaceApp; findWorkspaceFromInviteHash: Workspace; findWorkspaceInvitations: Array; frontComponent?: Maybe; @@ -4273,6 +4197,7 @@ export type Query = { getAdminAiModels: AdminAiModels; getAdminAiUsageByWorkspace: Array; getAiProviders: Scalars['JSON']; + getApplicationShareLink: Scalars['String']; getApprovedAccessDomains: Array; getAutoCompleteAddress: Array; getAvailablePackages: Scalars['JSON']; @@ -4443,6 +4368,11 @@ export type QueryFindApplicationRegistrationVariablesArgs = { }; +export type QueryFindMarketplaceAppDetailArgs = { + universalIdentifier: Scalars['String']; +}; + + export type QueryFindOneAgentArgs = { input: AgentIdInput; }; @@ -4464,11 +4394,6 @@ export type QueryFindOneLogicFunctionArgs = { }; -export type QueryFindOneMarketplaceAppArgs = { - universalIdentifier: Scalars['String']; -}; - - export type QueryFindWorkspaceFromInviteHashArgs = { inviteHash: Scalars['String']; }; @@ -4491,6 +4416,11 @@ export type QueryGetAdminAiUsageByWorkspaceArgs = { }; +export type QueryGetApplicationShareLinkArgs = { + id: Scalars['String']; +}; + + export type QueryGetAutoCompleteAddressArgs = { address: Scalars['String']; country?: InputMaybe; @@ -5190,15 +5120,10 @@ export type UpdateApplicationRegistrationInput = { }; export type UpdateApplicationRegistrationPayload = { - author?: InputMaybe; - description?: InputMaybe; isListed?: InputMaybe; - logoUrl?: InputMaybe; name?: InputMaybe; oAuthRedirectUris?: InputMaybe>; oAuthScopes?: InputMaybe>; - termsUrl?: InputMaybe; - websiteUrl?: InputMaybe; }; export type UpdateApplicationRegistrationVariableInput = { @@ -6408,7 +6333,7 @@ export type FindOneApplicationByUniversalIdentifierQueryVariables = Exact<{ }>; -export type FindOneApplicationByUniversalIdentifierQuery = { __typename?: 'Query', findOneApplication: { __typename?: 'Application', id: string } }; +export type FindOneApplicationByUniversalIdentifierQuery = { __typename?: 'Query', findOneApplication: { __typename?: 'Application', id: string, name: string, description?: string | null, version?: string | null, universalIdentifier: string, applicationRegistrationId?: string | null, canBeUninstalled: boolean, defaultRoleId?: string | null, settingsCustomTabFrontComponentId?: string | null, availablePackages: any, applicationRegistration?: { __typename?: 'ApplicationRegistrationSummary', id: string, latestAvailableVersion?: string | null, sourceType: ApplicationRegistrationSourceType } | null, applicationVariables: Array<{ __typename?: 'ApplicationVariable', id: string, key: string, value: string, description: string, isSecret: boolean }>, agents: Array<{ __typename?: 'Agent', id: string, name: string, label: string, description?: string | null, icon?: string | null, prompt: string, modelId: string, responseFormat?: any | null, roleId?: string | null, isCustom: boolean, modelConfiguration?: any | null, evaluationInputs: Array, applicationId?: string | null, createdAt: string, updatedAt: string }>, objects: Array<{ __typename?: 'Object', id: string, universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, color?: string | null, description?: string | null, icon?: string | null, isCustom: boolean, isRemote: boolean, isActive: boolean, isSystem: boolean, isUIReadOnly: boolean, createdAt: string, updatedAt: string, labelIdentifierFieldMetadataId?: string | null, imageIdentifierFieldMetadataId?: string | null, applicationId: string, shortcut?: string | null, isLabelSyncedWithName: boolean, isSearchable: boolean, duplicateCriteria?: Array> | null, indexMetadataList: Array<{ __typename?: 'Index', id: string, createdAt: string, updatedAt: string, name: string, indexWhereClause?: string | null, indexType: IndexType, isUnique: boolean, isCustom?: boolean | null, indexFieldMetadataList: Array<{ __typename?: 'IndexField', id: string, fieldMetadataId: string, createdAt: string, updatedAt: string, order: number }> }>, fieldsList: Array<{ __typename?: 'Field', id: string, universalIdentifier: string, type: FieldMetadataType, name: string, label: string, description?: string | null, icon?: string | null, isCustom?: boolean | null, isActive?: boolean | null, isSystem?: boolean | null, isUIReadOnly?: boolean | null, isNullable?: boolean | null, isUnique?: boolean | null, createdAt: string, updatedAt: string, defaultValue?: any | null, options?: any | null, settings?: any | null, isLabelSyncedWithName?: boolean | null, morphId?: string | null, applicationId: string, relation?: { __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } } | null, morphRelations?: Array<{ __typename?: 'Relation', type: RelationType, sourceObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, targetObjectMetadata: { __typename?: 'Object', id: string, nameSingular: string, namePlural: string }, sourceFieldMetadata: { __typename?: 'Field', id: string, name: string }, targetFieldMetadata: { __typename?: 'Field', id: string, name: string } }> | null }> }>, logicFunctions: Array<{ __typename?: 'LogicFunction', id: string, name: string, description?: string | null, runtime: string, timeoutSeconds: number, sourceHandlerPath: string, handlerName: string, toolInputSchema?: any | null, isTool: boolean, cronTriggerSettings?: any | null, databaseEventTriggerSettings?: any | null, httpRouteTriggerSettings?: any | null, applicationId?: string | null, createdAt: string, updatedAt: string }> } }; export type AuthTokenFragmentFragment = { __typename?: 'AuthToken', token: string, expiresAt: string }; @@ -6739,7 +6664,9 @@ export type GetLogicFunctionSourceCodeQueryVariables = Exact<{ export type GetLogicFunctionSourceCodeQuery = { __typename?: 'Query', getLogicFunctionSourceCode?: string | null }; -export type MarketplaceAppFieldsFragment = { __typename?: 'MarketplaceApp', id: string, name: string, description: string, icon: string, version: string, author: string, category: string, logo?: string | null, screenshots: Array, aboutDescription: string, providers: Array, websiteUrl?: string | null, termsUrl?: string | null, sourcePackage?: string | null, isFeatured: boolean, objects: Array<{ __typename?: 'MarketplaceAppObject', universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, fields: Array<{ __typename?: 'MarketplaceAppField', universalIdentifier?: string | null, name: string, type: string, label: string, description?: string | null, icon?: string | null }> }>, fields: Array<{ __typename?: 'MarketplaceAppField', name: string, type: string, label: string, description?: string | null, icon?: string | null, objectUniversalIdentifier?: string | null }>, logicFunctions: Array<{ __typename?: 'MarketplaceAppLogicFunction', name: string, description?: string | null, timeoutSeconds?: number | null }>, frontComponents: Array<{ __typename?: 'MarketplaceAppFrontComponent', name: string, description?: string | null }>, defaultRole?: { __typename?: 'MarketplaceAppDefaultRole', id: string, label: string, description?: string | null, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean, canUpdateAllSettings: boolean, canAccessAllTools: boolean, permissionFlags: Array, objectPermissions: Array<{ __typename?: 'MarketplaceAppRoleObjectPermission', objectUniversalIdentifier: string, canReadObjectRecords?: boolean | null, canUpdateObjectRecords?: boolean | null, canSoftDeleteObjectRecords?: boolean | null, canDestroyObjectRecords?: boolean | null }>, fieldPermissions: Array<{ __typename?: 'MarketplaceAppRoleFieldPermission', objectUniversalIdentifier: string, fieldUniversalIdentifier: string, canReadFieldValue?: boolean | null, canUpdateFieldValue?: boolean | null }> } | null }; +export type MarketplaceAppDetailFieldsFragment = { __typename?: 'MarketplaceAppDetail', id: string, universalIdentifier: string, name: string, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, isListed: boolean, isFeatured: boolean, manifest?: any | null }; + +export type MarketplaceAppFieldsFragment = { __typename?: 'MarketplaceApp', id: string, name: string, description: string, icon: string, author: string, category: string, logo?: string | null, sourcePackage?: string | null, isFeatured: boolean }; export type InstallMarketplaceAppMutationVariables = Exact<{ universalIdentifier: Scalars['String']; @@ -6760,14 +6687,14 @@ export type UpgradeApplicationMutation = { __typename?: 'Mutation', upgradeAppli export type FindManyMarketplaceAppsQueryVariables = Exact<{ [key: string]: never; }>; -export type FindManyMarketplaceAppsQuery = { __typename?: 'Query', findManyMarketplaceApps: Array<{ __typename?: 'MarketplaceApp', id: string, name: string, description: string, icon: string, version: string, author: string, category: string, logo?: string | null, screenshots: Array, aboutDescription: string, providers: Array, websiteUrl?: string | null, termsUrl?: string | null, sourcePackage?: string | null, isFeatured: boolean, objects: Array<{ __typename?: 'MarketplaceAppObject', universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, fields: Array<{ __typename?: 'MarketplaceAppField', universalIdentifier?: string | null, name: string, type: string, label: string, description?: string | null, icon?: string | null }> }>, fields: Array<{ __typename?: 'MarketplaceAppField', name: string, type: string, label: string, description?: string | null, icon?: string | null, objectUniversalIdentifier?: string | null }>, logicFunctions: Array<{ __typename?: 'MarketplaceAppLogicFunction', name: string, description?: string | null, timeoutSeconds?: number | null }>, frontComponents: Array<{ __typename?: 'MarketplaceAppFrontComponent', name: string, description?: string | null }>, defaultRole?: { __typename?: 'MarketplaceAppDefaultRole', id: string, label: string, description?: string | null, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean, canUpdateAllSettings: boolean, canAccessAllTools: boolean, permissionFlags: Array, objectPermissions: Array<{ __typename?: 'MarketplaceAppRoleObjectPermission', objectUniversalIdentifier: string, canReadObjectRecords?: boolean | null, canUpdateObjectRecords?: boolean | null, canSoftDeleteObjectRecords?: boolean | null, canDestroyObjectRecords?: boolean | null }>, fieldPermissions: Array<{ __typename?: 'MarketplaceAppRoleFieldPermission', objectUniversalIdentifier: string, fieldUniversalIdentifier: string, canReadFieldValue?: boolean | null, canUpdateFieldValue?: boolean | null }> } | null }> }; +export type FindManyMarketplaceAppsQuery = { __typename?: 'Query', findManyMarketplaceApps: Array<{ __typename?: 'MarketplaceApp', id: string, name: string, description: string, icon: string, author: string, category: string, logo?: string | null, sourcePackage?: string | null, isFeatured: boolean }> }; -export type FindOneMarketplaceAppQueryVariables = Exact<{ +export type FindMarketplaceAppDetailQueryVariables = Exact<{ universalIdentifier: Scalars['String']; }>; -export type FindOneMarketplaceAppQuery = { __typename?: 'Query', findOneMarketplaceApp: { __typename?: 'MarketplaceApp', id: string, name: string, description: string, icon: string, version: string, author: string, category: string, logo?: string | null, screenshots: Array, aboutDescription: string, providers: Array, websiteUrl?: string | null, termsUrl?: string | null, sourcePackage?: string | null, isFeatured: boolean, objects: Array<{ __typename?: 'MarketplaceAppObject', universalIdentifier: string, nameSingular: string, namePlural: string, labelSingular: string, labelPlural: string, description?: string | null, icon?: string | null, fields: Array<{ __typename?: 'MarketplaceAppField', universalIdentifier?: string | null, name: string, type: string, label: string, description?: string | null, icon?: string | null }> }>, fields: Array<{ __typename?: 'MarketplaceAppField', name: string, type: string, label: string, description?: string | null, icon?: string | null, objectUniversalIdentifier?: string | null }>, logicFunctions: Array<{ __typename?: 'MarketplaceAppLogicFunction', name: string, description?: string | null, timeoutSeconds?: number | null }>, frontComponents: Array<{ __typename?: 'MarketplaceAppFrontComponent', name: string, description?: string | null }>, defaultRole?: { __typename?: 'MarketplaceAppDefaultRole', id: string, label: string, description?: string | null, canReadAllObjectRecords: boolean, canUpdateAllObjectRecords: boolean, canSoftDeleteAllObjectRecords: boolean, canDestroyAllObjectRecords: boolean, canUpdateAllSettings: boolean, canAccessAllTools: boolean, permissionFlags: Array, objectPermissions: Array<{ __typename?: 'MarketplaceAppRoleObjectPermission', objectUniversalIdentifier: string, canReadObjectRecords?: boolean | null, canUpdateObjectRecords?: boolean | null, canSoftDeleteObjectRecords?: boolean | null, canDestroyObjectRecords?: boolean | null }>, fieldPermissions: Array<{ __typename?: 'MarketplaceAppRoleFieldPermission', objectUniversalIdentifier: string, fieldUniversalIdentifier: string, canReadFieldValue?: boolean | null, canUpdateFieldValue?: boolean | null }> } | null } }; +export type FindMarketplaceAppDetailQuery = { __typename?: 'Query', findMarketplaceAppDetail: { __typename?: 'MarketplaceAppDetail', id: string, universalIdentifier: string, name: string, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, isListed: boolean, isFeatured: boolean, manifest?: any | null } }; export type NavigationMenuItemFieldsFragment = { __typename?: 'NavigationMenuItem', id: string, type: NavigationMenuItemType, userWorkspaceId?: string | null, targetRecordId?: string | null, targetObjectMetadataId?: string | null, viewId?: string | null, folderId?: string | null, name?: string | null, link?: string | null, icon?: string | null, color?: string | null, position: number, applicationId?: string | null, createdAt: string, updatedAt: string }; @@ -7093,7 +7020,7 @@ export type GetModelsDevSuggestionsQuery = { __typename?: 'Query', getModelsDevS export type FindAllApplicationRegistrationsQueryVariables = Exact<{ [key: string]: never; }>; -export type FindAllApplicationRegistrationsQuery = { __typename?: 'Query', findAllApplicationRegistrations: Array<{ __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, description?: string | null, logoUrl?: string | null, author?: string | null, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, websiteUrl?: string | null, termsUrl?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string }> }; +export type FindAllApplicationRegistrationsQuery = { __typename?: 'Query', findAllApplicationRegistrations: Array<{ __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string }> }; export type CreateDatabaseConfigVariableMutationVariables = Exact<{ key: Scalars['String']; @@ -7197,7 +7124,7 @@ export type GetSystemHealthStatusQueryVariables = Exact<{ [key: string]: never; export type GetSystemHealthStatusQuery = { __typename?: 'Query', getSystemHealthStatus: { __typename?: 'SystemHealth', services: Array<{ __typename?: 'SystemHealthService', id: HealthIndicatorId, label: string, status: AdminPanelHealthServiceStatus }> } }; -export type ApplicationRegistrationFragmentFragment = { __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, description?: string | null, logoUrl?: string | null, author?: string | null, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, websiteUrl?: string | null, termsUrl?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string }; +export type ApplicationRegistrationFragmentFragment = { __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string }; export type DeleteApplicationRegistrationMutationVariables = Exact<{ id: Scalars['String']; @@ -7226,7 +7153,7 @@ export type UpdateApplicationRegistrationMutationVariables = Exact<{ }>; -export type UpdateApplicationRegistrationMutation = { __typename?: 'Mutation', updateApplicationRegistration: { __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, description?: string | null, logoUrl?: string | null, author?: string | null, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, websiteUrl?: string | null, termsUrl?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string } }; +export type UpdateApplicationRegistrationMutation = { __typename?: 'Mutation', updateApplicationRegistration: { __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string } }; export type UpdateApplicationRegistrationVariableMutationVariables = Exact<{ input: UpdateApplicationRegistrationVariableInput; @@ -7259,14 +7186,21 @@ export type FindApplicationRegistrationVariablesQuery = { __typename?: 'Query', export type FindManyApplicationRegistrationsQueryVariables = Exact<{ [key: string]: never; }>; -export type FindManyApplicationRegistrationsQuery = { __typename?: 'Query', findManyApplicationRegistrations: Array<{ __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, description?: string | null, logoUrl?: string | null, author?: string | null, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, websiteUrl?: string | null, termsUrl?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string }> }; +export type FindManyApplicationRegistrationsQuery = { __typename?: 'Query', findManyApplicationRegistrations: Array<{ __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string }> }; export type FindOneApplicationRegistrationQueryVariables = Exact<{ id: Scalars['String']; }>; -export type FindOneApplicationRegistrationQuery = { __typename?: 'Query', findOneApplicationRegistration: { __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, description?: string | null, logoUrl?: string | null, author?: string | null, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, websiteUrl?: string | null, termsUrl?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string } }; +export type FindOneApplicationRegistrationQuery = { __typename?: 'Query', findOneApplicationRegistration: { __typename?: 'ApplicationRegistration', id: string, universalIdentifier: string, name: string, oAuthClientId: string, oAuthRedirectUris: Array, oAuthScopes: Array, sourceType: ApplicationRegistrationSourceType, sourcePackage?: string | null, latestAvailableVersion?: string | null, isListed: boolean, isFeatured: boolean, ownerWorkspaceId?: string | null, createdAt: string, updatedAt: string } }; + +export type GetApplicationShareLinkQueryVariables = Exact<{ + id: Scalars['String']; +}>; + + +export type GetApplicationShareLinkQuery = { __typename?: 'Query', getApplicationShareLink: string }; export type UninstallApplicationMutationVariables = Exact<{ universalIdentifier: Scalars['String']; @@ -8134,10 +8068,11 @@ export const CommandMenuItemFieldsFragmentDoc = {"kind":"Document","definitions" export const PageLayoutWidgetFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutWidgetFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidget"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"objectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isOverridden"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"deletedAt"}},{"kind":"Field","name":{"kind":"Name","value":"conditionalDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"gridPosition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}}]}},{"kind":"Field","name":{"kind":"Name","value":"position"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetGridPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetVerticalListPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"index"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetCanvasPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"configuration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BarChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"groupMode"}},{"kind":"Field","name":{"kind":"Name","value":"layout"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LineChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"isStacked"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PieChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"groupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"groupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"dateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"orderBy"}},{"kind":"Field","name":{"kind":"Name","value":"manualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"showCenterMetric"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"hideEmptyCategory"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AggregateChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"format"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"prefix"}},{"kind":"Field","name":{"kind":"Name","value":"suffix"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}},{"kind":"Field","name":{"kind":"Name","value":"ratioAggregateConfig"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"optionValue"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GaugeChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"IframeConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StandaloneRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blocknote"}},{"kind":"Field","name":{"kind":"Name","value":"markdown"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CalendarConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"fieldDisplayMode"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"newFieldDefaultVisibility"}},{"kind":"Field","name":{"kind":"Name","value":"shouldAllowUserToSeeHiddenFields"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FilesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NotesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TasksConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TimelineConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ViewConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RecordTableConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowRunConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowVersionConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FrontComponentConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"frontComponentId"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageLayoutTabId"}}]}}]} as unknown as DocumentNode; export const PageLayoutTabFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutTabFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutTab"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"isOverridden"}},{"kind":"Field","name":{"kind":"Name","value":"widgets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PageLayoutWidgetFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageLayoutId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutWidgetFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidget"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"objectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isOverridden"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"deletedAt"}},{"kind":"Field","name":{"kind":"Name","value":"conditionalDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"gridPosition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}}]}},{"kind":"Field","name":{"kind":"Name","value":"position"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetGridPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetVerticalListPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"index"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetCanvasPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"configuration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BarChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"groupMode"}},{"kind":"Field","name":{"kind":"Name","value":"layout"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LineChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"isStacked"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PieChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"groupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"groupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"dateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"orderBy"}},{"kind":"Field","name":{"kind":"Name","value":"manualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"showCenterMetric"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"hideEmptyCategory"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AggregateChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"format"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"prefix"}},{"kind":"Field","name":{"kind":"Name","value":"suffix"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}},{"kind":"Field","name":{"kind":"Name","value":"ratioAggregateConfig"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"optionValue"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GaugeChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"IframeConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StandaloneRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blocknote"}},{"kind":"Field","name":{"kind":"Name","value":"markdown"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CalendarConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"fieldDisplayMode"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"newFieldDefaultVisibility"}},{"kind":"Field","name":{"kind":"Name","value":"shouldAllowUserToSeeHiddenFields"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FilesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NotesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TasksConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TimelineConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ViewConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RecordTableConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowRunConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowVersionConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FrontComponentConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"frontComponentId"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageLayoutTabId"}}]}}]} as unknown as DocumentNode; export const PageLayoutFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayout"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"objectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"defaultTabToFocusOnMobileAndSidePanelId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"tabs"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PageLayoutTabFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutWidgetFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidget"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"objectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"isOverridden"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"deletedAt"}},{"kind":"Field","name":{"kind":"Name","value":"conditionalDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"gridPosition"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}}]}},{"kind":"Field","name":{"kind":"Name","value":"position"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetGridPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"row"}},{"kind":"Field","name":{"kind":"Name","value":"column"}},{"kind":"Field","name":{"kind":"Name","value":"rowSpan"}},{"kind":"Field","name":{"kind":"Name","value":"columnSpan"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetVerticalListPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"index"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutWidgetCanvasPosition"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"configuration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BarChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"groupMode"}},{"kind":"Field","name":{"kind":"Name","value":"layout"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LineChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"primaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisGroupByDateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisOrderBy"}},{"kind":"Field","name":{"kind":"Name","value":"secondaryAxisManualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"omitNullValues"}},{"kind":"Field","name":{"kind":"Name","value":"axisNameDisplay"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMin"}},{"kind":"Field","name":{"kind":"Name","value":"rangeMax"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"isStacked"}},{"kind":"Field","name":{"kind":"Name","value":"isCumulative"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PieChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"groupByFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"groupBySubFieldName"}},{"kind":"Field","name":{"kind":"Name","value":"dateGranularity"}},{"kind":"Field","name":{"kind":"Name","value":"orderBy"}},{"kind":"Field","name":{"kind":"Name","value":"manualSortOrder"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"showCenterMetric"}},{"kind":"Field","name":{"kind":"Name","value":"displayLegend"}},{"kind":"Field","name":{"kind":"Name","value":"hideEmptyCategory"}},{"kind":"Field","name":{"kind":"Name","value":"splitMultiValueFields"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"AggregateChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"format"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"prefix"}},{"kind":"Field","name":{"kind":"Name","value":"suffix"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}},{"kind":"Field","name":{"kind":"Name","value":"ratioAggregateConfig"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"optionValue"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"GaugeChartConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"aggregateOperation"}},{"kind":"Field","name":{"kind":"Name","value":"displayDataLabel"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"filter"}},{"kind":"Field","name":{"kind":"Name","value":"timezone"}},{"kind":"Field","name":{"kind":"Name","value":"firstDayOfTheWeek"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"IframeConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StandaloneRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"body"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"blocknote"}},{"kind":"Field","name":{"kind":"Name","value":"markdown"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CalendarConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"EmailsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"fieldDisplayMode"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldRichTextConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FieldsConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"newFieldDefaultVisibility"}},{"kind":"Field","name":{"kind":"Name","value":"shouldAllowUserToSeeHiddenFields"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FilesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NotesConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TasksConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TimelineConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ViewConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"RecordTableConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowRunConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"WorkflowVersionConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"FrontComponentConfiguration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurationType"}},{"kind":"Field","name":{"kind":"Name","value":"frontComponentId"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageLayoutTabId"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PageLayoutTabFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PageLayoutTab"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"layoutMode"}},{"kind":"Field","name":{"kind":"Name","value":"isOverridden"}},{"kind":"Field","name":{"kind":"Name","value":"widgets"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PageLayoutWidgetFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageLayoutId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; -export const MarketplaceAppFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceApp"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"category"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"screenshots"}},{"kind":"Field","name":{"kind":"Name","value":"aboutDescription"}},{"kind":"Field","name":{"kind":"Name","value":"providers"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}}]}},{"kind":"Field","name":{"kind":"Name","value":"frontComponents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRole"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"canReadAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllSettings"}},{"kind":"Field","name":{"kind":"Name","value":"canAccessAllTools"}},{"kind":"Field","name":{"kind":"Name","value":"objectPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyObjectRecords"}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"fieldUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadFieldValue"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateFieldValue"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissionFlags"}}]}}]}}]} as unknown as DocumentNode; +export const MarketplaceAppDetailFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppDetailFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceAppDetail"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"manifest"}}]}}]} as unknown as DocumentNode; +export const MarketplaceAppFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceApp"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"category"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}}]}}]} as unknown as DocumentNode; export const NavigationMenuItemFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; export const NavigationMenuItemQueryFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; -export const ApplicationRegistrationFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"logoUrl"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const ApplicationRegistrationFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; export const BillingPriceLicensedFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BillingPriceLicensedFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BillingPriceLicensed"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"stripePriceId"}},{"kind":"Field","name":{"kind":"Name","value":"unitAmount"}},{"kind":"Field","name":{"kind":"Name","value":"recurringInterval"}},{"kind":"Field","name":{"kind":"Name","value":"priceUsageType"}}]}}]} as unknown as DocumentNode; export const BillingPriceMeteredFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BillingPriceMeteredFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BillingPriceMetered"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"priceUsageType"}},{"kind":"Field","name":{"kind":"Name","value":"recurringInterval"}},{"kind":"Field","name":{"kind":"Name","value":"stripePriceId"}},{"kind":"Field","name":{"kind":"Name","value":"tiers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"flatAmount"}},{"kind":"Field","name":{"kind":"Name","value":"unitAmount"}},{"kind":"Field","name":{"kind":"Name","value":"upTo"}}]}}]}}]} as unknown as DocumentNode; export const ApiKeyFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApiKeyFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApiKey"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"expiresAt"}},{"kind":"Field","name":{"kind":"Name","value":"revokedAt"}},{"kind":"Field","name":{"kind":"Name","value":"role"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}}]}}]}}]} as unknown as DocumentNode; @@ -8193,7 +8128,7 @@ export const GetToolInputSchemaDocument = {"kind":"Document","definitions":[{"ki export const TrackAnalyticsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"TrackAnalytics"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"type"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AnalyticsType"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"event"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"name"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"properties"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"trackAnalytics"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"type"},"value":{"kind":"Variable","name":{"kind":"Name","value":"type"}}},{"kind":"Argument","name":{"kind":"Name","value":"event"},"value":{"kind":"Variable","name":{"kind":"Name","value":"event"}}},{"kind":"Argument","name":{"kind":"Name","value":"name"},"value":{"kind":"Variable","name":{"kind":"Name","value":"name"}}},{"kind":"Argument","name":{"kind":"Name","value":"properties"},"value":{"kind":"Variable","name":{"kind":"Name","value":"properties"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}}]}}]}}]} as unknown as DocumentNode; export const FindManyApplicationsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindManyApplications"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findManyApplications"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistrationId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}}]}}]}}]}}]} as unknown as DocumentNode; export const FindOneApplicationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneApplication"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneApplication"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AgentFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Agent"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"prompt"}},{"kind":"Field","name":{"kind":"Name","value":"modelId"}},{"kind":"Field","name":{"kind":"Name","value":"responseFormat"}},{"kind":"Field","name":{"kind":"Name","value":"roleId"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"modelConfiguration"}},{"kind":"Field","name":{"kind":"Name","value":"evaluationInputs"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LogicFunctionFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LogicFunction"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"runtime"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}},{"kind":"Field","name":{"kind":"Name","value":"sourceHandlerPath"}},{"kind":"Field","name":{"kind":"Name","value":"handlerName"}},{"kind":"Field","name":{"kind":"Name","value":"toolInputSchema"}},{"kind":"Field","name":{"kind":"Name","value":"isTool"}},{"kind":"Field","name":{"kind":"Name","value":"cronTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"databaseEventTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"httpRouteTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Application"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistrationId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canBeUninstalled"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRoleId"}},{"kind":"Field","name":{"kind":"Name","value":"settingsCustomTabFrontComponentId"}},{"kind":"Field","name":{"kind":"Name","value":"availablePackages"}},{"kind":"Field","name":{"kind":"Name","value":"applicationVariables"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"isSecret"}}]}},{"kind":"Field","name":{"kind":"Name","value":"agents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AgentFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ObjectMetadataFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LogicFunctionFields"}}]}}]}}]} as unknown as DocumentNode; -export const FindOneApplicationByUniversalIdentifierDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneApplicationByUniversalIdentifier"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneApplication"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"universalIdentifier"},"value":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]} as unknown as DocumentNode; +export const FindOneApplicationByUniversalIdentifierDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneApplicationByUniversalIdentifier"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneApplication"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"universalIdentifier"},"value":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"AgentFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Agent"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"prompt"}},{"kind":"Field","name":{"kind":"Name","value":"modelId"}},{"kind":"Field","name":{"kind":"Name","value":"responseFormat"}},{"kind":"Field","name":{"kind":"Name","value":"roleId"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"modelConfiguration"}},{"kind":"Field","name":{"kind":"Name","value":"evaluationInputs"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ObjectMetadataFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Object"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isRemote"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifierFieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"shortcut"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"isSearchable"}},{"kind":"Field","name":{"kind":"Name","value":"duplicateCriteria"}},{"kind":"Field","name":{"kind":"Name","value":"indexMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"indexWhereClause"}},{"kind":"Field","name":{"kind":"Name","value":"indexType"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"indexFieldMetadataList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"order"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldsList"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"isCustom"}},{"kind":"Field","name":{"kind":"Name","value":"isActive"}},{"kind":"Field","name":{"kind":"Name","value":"isSystem"}},{"kind":"Field","name":{"kind":"Name","value":"isUIReadOnly"}},{"kind":"Field","name":{"kind":"Name","value":"isNullable"}},{"kind":"Field","name":{"kind":"Name","value":"isUnique"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"options"}},{"kind":"Field","name":{"kind":"Name","value":"settings"}},{"kind":"Field","name":{"kind":"Name","value":"isLabelSyncedWithName"}},{"kind":"Field","name":{"kind":"Name","value":"morphId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"relation"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"morphRelations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"sourceObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourceFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}},{"kind":"Field","name":{"kind":"Name","value":"targetFieldMetadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"LogicFunctionFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LogicFunction"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"runtime"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}},{"kind":"Field","name":{"kind":"Name","value":"sourceHandlerPath"}},{"kind":"Field","name":{"kind":"Name","value":"handlerName"}},{"kind":"Field","name":{"kind":"Name","value":"toolInputSchema"}},{"kind":"Field","name":{"kind":"Name","value":"isTool"}},{"kind":"Field","name":{"kind":"Name","value":"cronTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"databaseEventTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"httpRouteTriggerSettings"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Application"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistrationId"}},{"kind":"Field","name":{"kind":"Name","value":"applicationRegistration"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}}]}},{"kind":"Field","name":{"kind":"Name","value":"canBeUninstalled"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRoleId"}},{"kind":"Field","name":{"kind":"Name","value":"settingsCustomTabFrontComponentId"}},{"kind":"Field","name":{"kind":"Name","value":"availablePackages"}},{"kind":"Field","name":{"kind":"Name","value":"applicationVariables"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"isSecret"}}]}},{"kind":"Field","name":{"kind":"Name","value":"agents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"AgentFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ObjectMetadataFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"LogicFunctionFields"}}]}}]}}]} as unknown as DocumentNode; export const AuthorizeAppDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"authorizeApp"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"clientId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"codeChallenge"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"redirectUrl"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"state"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"authorizeApp"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"clientId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"clientId"}}},{"kind":"Argument","name":{"kind":"Name","value":"codeChallenge"},"value":{"kind":"Variable","name":{"kind":"Name","value":"codeChallenge"}}},{"kind":"Argument","name":{"kind":"Name","value":"redirectUrl"},"value":{"kind":"Variable","name":{"kind":"Name","value":"redirectUrl"}}},{"kind":"Argument","name":{"kind":"Name","value":"state"},"value":{"kind":"Variable","name":{"kind":"Name","value":"state"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"redirectUrl"}}]}}]}}]} as unknown as DocumentNode; export const EmailPasswordResetLinkDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"EmailPasswordResetLink"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"email"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspaceId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"emailPasswordResetLink"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"email"},"value":{"kind":"Variable","name":{"kind":"Name","value":"email"}}},{"kind":"Argument","name":{"kind":"Name","value":"workspaceId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspaceId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"success"}}]}}]}}]} as unknown as DocumentNode; export const GenerateApiKeyTokenDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"GenerateApiKeyToken"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"apiKeyId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"expiresAt"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"generateApiKeyToken"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"apiKeyId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"apiKeyId"}}},{"kind":"Argument","name":{"kind":"Name","value":"expiresAt"},"value":{"kind":"Variable","name":{"kind":"Name","value":"expiresAt"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"token"}}]}}]}}]} as unknown as DocumentNode; @@ -8237,8 +8172,8 @@ export const FindOneLogicFunctionDocument = {"kind":"Document","definitions":[{" export const GetLogicFunctionSourceCodeDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetLogicFunctionSourceCode"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"LogicFunctionIdInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getLogicFunctionSourceCode"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}]}]}}]} as unknown as DocumentNode; export const InstallMarketplaceAppDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"InstallMarketplaceApp"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"version"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"installMarketplaceApp"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"universalIdentifier"},"value":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}}},{"kind":"Argument","name":{"kind":"Name","value":"version"},"value":{"kind":"Variable","name":{"kind":"Name","value":"version"}}}]}]}}]} as unknown as DocumentNode; export const UpgradeApplicationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpgradeApplication"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"appRegistrationId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"targetVersion"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"upgradeApplication"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"appRegistrationId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"appRegistrationId"}}},{"kind":"Argument","name":{"kind":"Name","value":"targetVersion"},"value":{"kind":"Variable","name":{"kind":"Name","value":"targetVersion"}}}]}]}}]} as unknown as DocumentNode; -export const FindManyMarketplaceAppsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindManyMarketplaceApps"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findManyMarketplaceApps"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MarketplaceAppFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceApp"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"category"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"screenshots"}},{"kind":"Field","name":{"kind":"Name","value":"aboutDescription"}},{"kind":"Field","name":{"kind":"Name","value":"providers"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}}]}},{"kind":"Field","name":{"kind":"Name","value":"frontComponents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRole"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"canReadAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllSettings"}},{"kind":"Field","name":{"kind":"Name","value":"canAccessAllTools"}},{"kind":"Field","name":{"kind":"Name","value":"objectPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyObjectRecords"}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"fieldUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadFieldValue"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateFieldValue"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissionFlags"}}]}}]}}]} as unknown as DocumentNode; -export const FindOneMarketplaceAppDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneMarketplaceApp"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneMarketplaceApp"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"universalIdentifier"},"value":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MarketplaceAppFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceApp"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"category"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"screenshots"}},{"kind":"Field","name":{"kind":"Name","value":"aboutDescription"}},{"kind":"Field","name":{"kind":"Name","value":"providers"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"objects"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"nameSingular"}},{"kind":"Field","name":{"kind":"Name","value":"namePlural"}},{"kind":"Field","name":{"kind":"Name","value":"labelSingular"}},{"kind":"Field","name":{"kind":"Name","value":"labelPlural"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}}]}},{"kind":"Field","name":{"kind":"Name","value":"logicFunctions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"timeoutSeconds"}}]}},{"kind":"Field","name":{"kind":"Name","value":"frontComponents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"defaultRole"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"canReadAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyAllObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateAllSettings"}},{"kind":"Field","name":{"kind":"Name","value":"canAccessAllTools"}},{"kind":"Field","name":{"kind":"Name","value":"objectPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canSoftDeleteObjectRecords"}},{"kind":"Field","name":{"kind":"Name","value":"canDestroyObjectRecords"}}]}},{"kind":"Field","name":{"kind":"Name","value":"fieldPermissions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"objectUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"fieldUniversalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"canReadFieldValue"}},{"kind":"Field","name":{"kind":"Name","value":"canUpdateFieldValue"}}]}},{"kind":"Field","name":{"kind":"Name","value":"permissionFlags"}}]}}]}}]} as unknown as DocumentNode; +export const FindManyMarketplaceAppsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindManyMarketplaceApps"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findManyMarketplaceApps"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MarketplaceAppFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceApp"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"category"}},{"kind":"Field","name":{"kind":"Name","value":"logo"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}}]}}]} as unknown as DocumentNode; +export const FindMarketplaceAppDetailDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindMarketplaceAppDetail"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findMarketplaceAppDetail"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"universalIdentifier"},"value":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"MarketplaceAppDetailFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"MarketplaceAppDetailFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"MarketplaceAppDetail"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"manifest"}}]}}]} as unknown as DocumentNode; export const CreateManyNavigationMenuItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateManyNavigationMenuItems"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"inputs"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"CreateNavigationMenuItemInput"}}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createManyNavigationMenuItems"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"inputs"},"value":{"kind":"Variable","name":{"kind":"Name","value":"inputs"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}}]} as unknown as DocumentNode; export const DeleteManyNavigationMenuItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteManyNavigationMenuItems"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"ids"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteManyNavigationMenuItems"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"ids"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}}]} as unknown as DocumentNode; export const UpdateManyNavigationMenuItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateManyNavigationMenuItems"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"inputs"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateOneNavigationMenuItemInput"}}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateManyNavigationMenuItems"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"inputs"},"value":{"kind":"Variable","name":{"kind":"Name","value":"inputs"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"userWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordId"}},{"kind":"Field","name":{"kind":"Name","value":"targetObjectMetadataId"}},{"kind":"Field","name":{"kind":"Name","value":"viewId"}},{"kind":"Field","name":{"kind":"Name","value":"folderId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"link"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"color"}},{"kind":"Field","name":{"kind":"Name","value":"position"}},{"kind":"Field","name":{"kind":"Name","value":"applicationId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"NavigationMenuItemQueryFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"NavigationMenuItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"NavigationMenuItemFields"}},{"kind":"Field","name":{"kind":"Name","value":"targetRecordIdentifier"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"labelIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"imageIdentifier"}}]}}]}}]} as unknown as DocumentNode; @@ -8285,7 +8220,7 @@ export const GetAdminAiUsageByWorkspaceDocument = {"kind":"Document","definition export const GetAiProvidersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAiProviders"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getAiProviders"}}]}}]} as unknown as DocumentNode; export const GetModelsDevProvidersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetModelsDevProviders"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getModelsDevProviders"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"modelCount"}},{"kind":"Field","name":{"kind":"Name","value":"npm"}}]}}]}}]} as unknown as DocumentNode; export const GetModelsDevSuggestionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetModelsDevSuggestions"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"providerType"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getModelsDevSuggestions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"providerType"},"value":{"kind":"Variable","name":{"kind":"Name","value":"providerType"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"modelId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"inputCostPerMillionTokens"}},{"kind":"Field","name":{"kind":"Name","value":"outputCostPerMillionTokens"}},{"kind":"Field","name":{"kind":"Name","value":"cachedInputCostPerMillionTokens"}},{"kind":"Field","name":{"kind":"Name","value":"cacheCreationCostPerMillionTokens"}},{"kind":"Field","name":{"kind":"Name","value":"contextWindowTokens"}},{"kind":"Field","name":{"kind":"Name","value":"maxOutputTokens"}},{"kind":"Field","name":{"kind":"Name","value":"modalities"}},{"kind":"Field","name":{"kind":"Name","value":"supportsReasoning"}}]}}]}}]} as unknown as DocumentNode; -export const FindAllApplicationRegistrationsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindAllApplicationRegistrations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findAllApplicationRegistrations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationRegistrationFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"logoUrl"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const FindAllApplicationRegistrationsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindAllApplicationRegistrations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findAllApplicationRegistrations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationRegistrationFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; export const CreateDatabaseConfigVariableDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateDatabaseConfigVariable"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"key"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"value"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createDatabaseConfigVariable"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"key"},"value":{"kind":"Variable","name":{"kind":"Name","value":"key"}}},{"kind":"Argument","name":{"kind":"Name","value":"value"},"value":{"kind":"Variable","name":{"kind":"Name","value":"value"}}}]}]}}]} as unknown as DocumentNode; export const DeleteDatabaseConfigVariableDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteDatabaseConfigVariable"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"key"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteDatabaseConfigVariable"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"key"},"value":{"kind":"Variable","name":{"kind":"Name","value":"key"}}}]}]}}]} as unknown as DocumentNode; export const UpdateDatabaseConfigVariableDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateDatabaseConfigVariable"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"key"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"value"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"JSON"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateDatabaseConfigVariable"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"key"},"value":{"kind":"Variable","name":{"kind":"Name","value":"key"}}},{"kind":"Argument","name":{"kind":"Name","value":"value"},"value":{"kind":"Variable","name":{"kind":"Name","value":"value"}}}]}]}}]} as unknown as DocumentNode; @@ -8303,13 +8238,14 @@ export const GetSystemHealthStatusDocument = {"kind":"Document","definitions":[{ export const DeleteApplicationRegistrationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"DeleteApplicationRegistration"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"deleteApplicationRegistration"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}]}]}}]} as unknown as DocumentNode; export const RotateApplicationRegistrationClientSecretDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"RotateApplicationRegistrationClientSecret"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"rotateApplicationRegistrationClientSecret"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"clientSecret"}}]}}]}}]} as unknown as DocumentNode; export const TransferApplicationRegistrationOwnershipDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"TransferApplicationRegistrationOwnership"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"applicationRegistrationId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"targetWorkspaceSubdomain"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"transferApplicationRegistrationOwnership"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"applicationRegistrationId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"applicationRegistrationId"}}},{"kind":"Argument","name":{"kind":"Name","value":"targetWorkspaceSubdomain"},"value":{"kind":"Variable","name":{"kind":"Name","value":"targetWorkspaceSubdomain"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]} as unknown as DocumentNode; -export const UpdateApplicationRegistrationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateApplicationRegistration"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateApplicationRegistrationInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateApplicationRegistration"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationRegistrationFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"logoUrl"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const UpdateApplicationRegistrationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateApplicationRegistration"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateApplicationRegistrationInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateApplicationRegistration"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationRegistrationFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; export const UpdateApplicationRegistrationVariableDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateApplicationRegistrationVariable"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UpdateApplicationRegistrationVariableInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateApplicationRegistrationVariable"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"isSecret"}},{"kind":"Field","name":{"kind":"Name","value":"isRequired"}},{"kind":"Field","name":{"kind":"Name","value":"isFilled"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; export const ApplicationRegistrationTarballUrlDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ApplicationRegistrationTarballUrl"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"applicationRegistrationTarballUrl"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}]}]}}]} as unknown as DocumentNode; export const FindApplicationRegistrationStatsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindApplicationRegistrationStats"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findApplicationRegistrationStats"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"activeInstalls"}},{"kind":"Field","name":{"kind":"Name","value":"mostInstalledVersion"}},{"kind":"Field","name":{"kind":"Name","value":"versionDistribution"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}}]}}]}}]} as unknown as DocumentNode; export const FindApplicationRegistrationVariablesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindApplicationRegistrationVariables"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"applicationRegistrationId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findApplicationRegistrationVariables"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"applicationRegistrationId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"applicationRegistrationId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"isSecret"}},{"kind":"Field","name":{"kind":"Name","value":"isRequired"}},{"kind":"Field","name":{"kind":"Name","value":"isFilled"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]}}]} as unknown as DocumentNode; -export const FindManyApplicationRegistrationsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindManyApplicationRegistrations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findManyApplicationRegistrations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationRegistrationFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"logoUrl"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; -export const FindOneApplicationRegistrationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneApplicationRegistration"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneApplicationRegistration"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationRegistrationFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"logoUrl"}},{"kind":"Field","name":{"kind":"Name","value":"author"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"websiteUrl"}},{"kind":"Field","name":{"kind":"Name","value":"termsUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const FindManyApplicationRegistrationsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindManyApplicationRegistrations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findManyApplicationRegistrations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationRegistrationFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const FindOneApplicationRegistrationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"FindOneApplicationRegistration"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"findOneApplicationRegistration"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ApplicationRegistrationFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ApplicationRegistrationFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ApplicationRegistration"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"universalIdentifier"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthClientId"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthRedirectUris"}},{"kind":"Field","name":{"kind":"Name","value":"oAuthScopes"}},{"kind":"Field","name":{"kind":"Name","value":"sourceType"}},{"kind":"Field","name":{"kind":"Name","value":"sourcePackage"}},{"kind":"Field","name":{"kind":"Name","value":"latestAvailableVersion"}},{"kind":"Field","name":{"kind":"Name","value":"isListed"}},{"kind":"Field","name":{"kind":"Name","value":"isFeatured"}},{"kind":"Field","name":{"kind":"Name","value":"ownerWorkspaceId"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}}]}}]} as unknown as DocumentNode; +export const GetApplicationShareLinkDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetApplicationShareLink"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"getApplicationShareLink"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}]}]}}]} as unknown as DocumentNode; export const UninstallApplicationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UninstallApplication"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"uninstallApplication"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"universalIdentifier"},"value":{"kind":"Variable","name":{"kind":"Name","value":"universalIdentifier"}}}]}]}}]} as unknown as DocumentNode; export const UpdateOneApplicationVariableDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateOneApplicationVariable"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"key"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"value"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"applicationId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateOneApplicationVariable"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"key"},"value":{"kind":"Variable","name":{"kind":"Name","value":"key"}}},{"kind":"Argument","name":{"kind":"Name","value":"value"},"value":{"kind":"Variable","name":{"kind":"Name","value":"value"}}},{"kind":"Argument","name":{"kind":"Name","value":"applicationId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"applicationId"}}}]}]}}]} as unknown as DocumentNode; export const CancelSwitchBillingIntervalDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CancelSwitchBillingInterval"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cancelSwitchBillingInterval"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currentBillingSubscription"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CurrentBillingSubscriptionFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"billingSubscriptions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BillingSubscriptionFragment"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BillingSubscriptionSchedulePhaseItemFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BillingSubscriptionSchedulePhaseItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"price"}},{"kind":"Field","name":{"kind":"Name","value":"quantity"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BillingSubscriptionSchedulePhaseFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BillingSubscriptionSchedulePhase"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"start_date"}},{"kind":"Field","name":{"kind":"Name","value":"end_date"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BillingSubscriptionSchedulePhaseItemFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CurrentBillingSubscriptionFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BillingSubscription"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"interval"}},{"kind":"Field","name":{"kind":"Name","value":"metadata"}},{"kind":"Field","name":{"kind":"Name","value":"currentPeriodEnd"}},{"kind":"Field","name":{"kind":"Name","value":"phases"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BillingSubscriptionSchedulePhaseFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"billingSubscriptionItems"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"hasReachedCurrentPeriodCap"}},{"kind":"Field","name":{"kind":"Name","value":"quantity"}},{"kind":"Field","name":{"kind":"Name","value":"stripePriceId"}},{"kind":"Field","name":{"kind":"Name","value":"billingProduct"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"images"}},{"kind":"Field","name":{"kind":"Name","value":"metadata"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"productKey"}},{"kind":"Field","name":{"kind":"Name","value":"planKey"}},{"kind":"Field","name":{"kind":"Name","value":"priceUsageBased"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BillingSubscriptionFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BillingSubscription"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}},{"kind":"Field","name":{"kind":"Name","value":"metadata"}},{"kind":"Field","name":{"kind":"Name","value":"phases"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"BillingSubscriptionSchedulePhaseFragment"}}]}}]}}]} as unknown as DocumentNode; diff --git a/packages/twenty-front/src/modules/ai/components/LazyMarkdownRendererStyledComponents.tsx b/packages/twenty-front/src/modules/ai/components/LazyMarkdownRendererStyledComponents.tsx index 3104cc0f51..ee9f2b4a0e 100644 --- a/packages/twenty-front/src/modules/ai/components/LazyMarkdownRendererStyledComponents.tsx +++ b/packages/twenty-front/src/modules/ai/components/LazyMarkdownRendererStyledComponents.tsx @@ -5,6 +5,7 @@ export const StyledMarkdownContainer = styled.div` border-radius: ${themeCssVariables.border.radius.sm}; line-height: 150%; margin: ${themeCssVariables.spacing['1.5']} 0; + overflow-x: auto; position: relative; scroll-margin-bottom: ${themeCssVariables.spacing[10]}; scroll-margin-top: ${themeCssVariables.spacing[10]}; @@ -134,6 +135,7 @@ export const StyledMarkdownContainer = styled.div` background-color: ${themeCssVariables.background.secondary}; border: 1px solid ${themeCssVariables.border.color.medium}; border-radius: ${themeCssVariables.border.radius.md} !important; + overflow-x: auto; } .markdown-block-code * { diff --git a/packages/twenty-front/src/modules/applications/graphql/queries/findOneApplicationByUniversalIdentifier.ts b/packages/twenty-front/src/modules/applications/graphql/queries/findOneApplicationByUniversalIdentifier.ts index d914982a87..f7976d5acb 100644 --- a/packages/twenty-front/src/modules/applications/graphql/queries/findOneApplicationByUniversalIdentifier.ts +++ b/packages/twenty-front/src/modules/applications/graphql/queries/findOneApplicationByUniversalIdentifier.ts @@ -1,9 +1,11 @@ import { gql } from '@apollo/client'; +import { APPLICATION_FRAGMENT } from '@/applications/graphql/fragments/applicationFragment'; export const FIND_ONE_APPLICATION_BY_UNIVERSAL_IDENTIFIER = gql` + ${APPLICATION_FRAGMENT} query FindOneApplicationByUniversalIdentifier($universalIdentifier: UUID!) { findOneApplication(universalIdentifier: $universalIdentifier) { - id + ...ApplicationFields } } `; diff --git a/packages/twenty-front/src/modules/marketplace/graphql/fragments/marketplaceAppDetailFragment.ts b/packages/twenty-front/src/modules/marketplace/graphql/fragments/marketplaceAppDetailFragment.ts new file mode 100644 index 0000000000..39a1721cc6 --- /dev/null +++ b/packages/twenty-front/src/modules/marketplace/graphql/fragments/marketplaceAppDetailFragment.ts @@ -0,0 +1,15 @@ +import gql from 'graphql-tag'; + +export const MARKETPLACE_APP_DETAIL_FRAGMENT = gql` + fragment MarketplaceAppDetailFields on MarketplaceAppDetail { + id + universalIdentifier + name + sourceType + sourcePackage + latestAvailableVersion + isListed + isFeatured + manifest + } +`; diff --git a/packages/twenty-front/src/modules/marketplace/graphql/fragments/marketplaceAppFragment.ts b/packages/twenty-front/src/modules/marketplace/graphql/fragments/marketplaceAppFragment.ts index d3fa666561..59e32d534d 100644 --- a/packages/twenty-front/src/modules/marketplace/graphql/fragments/marketplaceAppFragment.ts +++ b/packages/twenty-front/src/modules/marketplace/graphql/fragments/marketplaceAppFragment.ts @@ -6,75 +6,10 @@ export const MARKETPLACE_APP_FRAGMENT = gql` name description icon - version author category logo - screenshots - aboutDescription - providers - websiteUrl - termsUrl - objects { - universalIdentifier - nameSingular - namePlural - labelSingular - labelPlural - description - icon - fields { - universalIdentifier - name - type - label - description - icon - } - } - fields { - name - type - label - description - icon - objectUniversalIdentifier - } - logicFunctions { - name - description - timeoutSeconds - } - frontComponents { - name - description - } sourcePackage isFeatured - defaultRole { - id - label - description - canReadAllObjectRecords - canUpdateAllObjectRecords - canSoftDeleteAllObjectRecords - canDestroyAllObjectRecords - canUpdateAllSettings - canAccessAllTools - objectPermissions { - objectUniversalIdentifier - canReadObjectRecords - canUpdateObjectRecords - canSoftDeleteObjectRecords - canDestroyObjectRecords - } - fieldPermissions { - objectUniversalIdentifier - fieldUniversalIdentifier - canReadFieldValue - canUpdateFieldValue - } - permissionFlags - } } `; diff --git a/packages/twenty-front/src/modules/marketplace/graphql/queries/findMarketplaceAppDetail.ts b/packages/twenty-front/src/modules/marketplace/graphql/queries/findMarketplaceAppDetail.ts new file mode 100644 index 0000000000..7b19e52aba --- /dev/null +++ b/packages/twenty-front/src/modules/marketplace/graphql/queries/findMarketplaceAppDetail.ts @@ -0,0 +1,12 @@ +import gql from 'graphql-tag'; + +import { MARKETPLACE_APP_DETAIL_FRAGMENT } from '@/marketplace/graphql/fragments/marketplaceAppDetailFragment'; + +export const FIND_MARKETPLACE_APP_DETAIL = gql` + ${MARKETPLACE_APP_DETAIL_FRAGMENT} + query FindMarketplaceAppDetail($universalIdentifier: String!) { + findMarketplaceAppDetail(universalIdentifier: $universalIdentifier) { + ...MarketplaceAppDetailFields + } + } +`; diff --git a/packages/twenty-front/src/modules/marketplace/graphql/queries/findOneMarketplaceApp.ts b/packages/twenty-front/src/modules/marketplace/graphql/queries/findOneMarketplaceApp.ts deleted file mode 100644 index 913fb4927b..0000000000 --- a/packages/twenty-front/src/modules/marketplace/graphql/queries/findOneMarketplaceApp.ts +++ /dev/null @@ -1,12 +0,0 @@ -import gql from 'graphql-tag'; - -import { MARKETPLACE_APP_FRAGMENT } from '@/marketplace/graphql/fragments/marketplaceAppFragment'; - -export const FIND_ONE_MARKETPLACE_APP = gql` - ${MARKETPLACE_APP_FRAGMENT} - query FindOneMarketplaceApp($universalIdentifier: String!) { - findOneMarketplaceApp(universalIdentifier: $universalIdentifier) { - ...MarketplaceAppFields - } - } -`; diff --git a/packages/twenty-front/src/modules/marketplace/hooks/useMarketplaceApps.ts b/packages/twenty-front/src/modules/marketplace/hooks/useMarketplaceApps.ts index 3905b82eac..6e6efb72d4 100644 --- a/packages/twenty-front/src/modules/marketplace/hooks/useMarketplaceApps.ts +++ b/packages/twenty-front/src/modules/marketplace/hooks/useMarketplaceApps.ts @@ -1,42 +1,11 @@ import { useQuery } from '@apollo/client/react'; -import { - type MarketplaceApp, - FindManyMarketplaceAppsDocument, -} from '~/generated-metadata/graphql'; - -export type MarketplaceAppWithContentCounts = MarketplaceApp & { - content: { - objects: number; - fields: number; - functions: number; - frontComponents: number; - }; -}; +import { FindManyMarketplaceAppsDocument } from '~/generated-metadata/graphql'; export const useMarketplaceApps = () => { const { data, loading, error } = useQuery(FindManyMarketplaceAppsDocument); - const marketplaceApps: MarketplaceAppWithContentCounts[] = - data?.findManyMarketplaceApps.map((app) => { - const totalFieldsCount = - (app.objects ?? []).reduce( - (count, appObject) => count + appObject.fields.length, - 0, - ) + (app.fields ?? []).length; - - return { - ...app, - content: { - objects: (app.objects ?? []).length, - fields: totalFieldsCount, - functions: (app.logicFunctions ?? []).length, - frontComponents: (app.frontComponents ?? []).length, - }, - }; - }) ?? []; - return { - data: marketplaceApps, + data: data?.findManyMarketplaceApps ?? [], isLoading: loading, error, }; diff --git a/packages/twenty-front/src/modules/settings/application-registrations/graphql/fragments/applicationRegistrationFragment.ts b/packages/twenty-front/src/modules/settings/application-registrations/graphql/fragments/applicationRegistrationFragment.ts index 87ff0263cf..8573730c1b 100644 --- a/packages/twenty-front/src/modules/settings/application-registrations/graphql/fragments/applicationRegistrationFragment.ts +++ b/packages/twenty-front/src/modules/settings/application-registrations/graphql/fragments/applicationRegistrationFragment.ts @@ -5,17 +5,12 @@ export const APPLICATION_REGISTRATION_FRAGMENT = gql` id universalIdentifier name - description - logoUrl - author oAuthClientId oAuthRedirectUris oAuthScopes sourceType sourcePackage latestAvailableVersion - websiteUrl - termsUrl isListed isFeatured ownerWorkspaceId diff --git a/packages/twenty-front/src/modules/settings/application-registrations/graphql/queries/getApplicationShareLink.ts b/packages/twenty-front/src/modules/settings/application-registrations/graphql/queries/getApplicationShareLink.ts new file mode 100644 index 0000000000..4aa6883f44 --- /dev/null +++ b/packages/twenty-front/src/modules/settings/application-registrations/graphql/queries/getApplicationShareLink.ts @@ -0,0 +1,7 @@ +import { gql } from '@apollo/client'; + +export const GET_APPLICATION_SHARE_LINK = gql` + query GetApplicationShareLink($id: String!) { + getApplicationShareLink(id: $id) + } +`; diff --git a/packages/twenty-front/src/pages/settings/applications/SettingsApplicationDetails.tsx b/packages/twenty-front/src/pages/settings/applications/SettingsApplicationDetails.tsx index 50b46d05b4..7cbd177235 100644 --- a/packages/twenty-front/src/pages/settings/applications/SettingsApplicationDetails.tsx +++ b/packages/twenty-front/src/pages/settings/applications/SettingsApplicationDetails.tsx @@ -14,6 +14,7 @@ import { IconSettings, } from 'twenty-ui/display'; import { SettingsApplicationDetailSkeletonLoader } from '~/pages/settings/applications/components/SettingsApplicationDetailSkeletonLoader'; +import { SettingsApplicationDetailTitle } from '~/pages/settings/applications/components/SettingsApplicationDetailTitle'; import { TabList } from '@/ui/layout/tab-list/components/TabList'; import { activeTabIdComponentState } from '@/ui/layout/tab-list/states/activeTabIdComponentState'; import { useAtomComponentStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomComponentStateValue'; @@ -40,11 +41,8 @@ export const SettingsApplicationDetails = () => { const application = data?.findOneApplication; - const applicationName = application?.name; - - const title = !isDefined(application) - ? t`Application details` - : applicationName; + const applicationName = application?.name ?? t`Application details`; + const applicationDescription = application?.description ?? undefined; const settingsCustomTabFrontComponentId = application?.settingsCustomTabFrontComponentId; @@ -94,7 +92,12 @@ export const SettingsApplicationDetails = () => { return ( + } links={[ { children: t`Workspace`, @@ -104,7 +107,7 @@ export const SettingsApplicationDetails = () => { children: t`Applications`, href: getSettingsPath(SettingsPath.Applications), }, - { children: `${title}` }, + { children: applicationName }, ]} > diff --git a/packages/twenty-front/src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx b/packages/twenty-front/src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx index 5601dcb9c6..49dba49382 100644 --- a/packages/twenty-front/src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx +++ b/packages/twenty-front/src/pages/settings/applications/SettingsAvailableApplicationDetails.tsx @@ -1,3 +1,4 @@ +import { LazyMarkdownRenderer } from '@/ai/components/LazyMarkdownRenderer'; import { useInstallMarketplaceApp } from '@/marketplace/hooks/useInstallMarketplaceApp'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { useHasPermissionFlag } from '@/settings/roles/hooks/useHasPermissionFlag'; @@ -9,21 +10,26 @@ import { styled } from '@linaria/react'; import { t } from '@lingui/core/macro'; import { useState } from 'react'; import { useParams } from 'react-router-dom'; +import { type Manifest } from 'twenty-shared/application'; import { SettingsPath } from 'twenty-shared/types'; import { getSettingsPath, isDefined } from 'twenty-shared/utils'; import { - IconApps, + IconAlertTriangle, + IconBook, IconBox, IconCheck, - IconColumns, IconCommand, IconDownload, - IconEyeOff, - IconFileText, + IconGraph, IconInfoCircle, - IconLayoutGrid, + IconLego, + IconLink, + IconListDetails, IconLock, + IconMail, IconSettings, + IconShield, + IconUpload, IconWorld, } from 'twenty-ui/display'; import { Button } from 'twenty-ui/input'; @@ -33,89 +39,32 @@ import { useQuery } from '@apollo/client/react'; import { PermissionFlagType, FindOneApplicationByUniversalIdentifierDocument, - FindOneMarketplaceAppDocument, + FindMarketplaceAppDetailDocument, + ApplicationRegistrationSourceType, } from '~/generated-metadata/graphql'; -import { useMarketplaceApps } from '~/modules/marketplace/hooks/useMarketplaceApps'; import { SettingsApplicationPermissionsTab } from '~/pages/settings/applications/tabs/SettingsApplicationPermissionsTab'; import { SettingsAvailableApplicationDetailContentTab } from '~/pages/settings/applications/tabs/SettingsAvailableApplicationDetailContentTab'; +import { SettingsApplicationDetailTitle } from '~/pages/settings/applications/components/SettingsApplicationDetailTitle'; +import { isNewerSemver } from '~/pages/settings/applications/utils/isNewerSemver'; +import { useUpgradeApplication } from '@/marketplace/hooks/useUpgradeApplication'; +import { SettingsApplicationDetailSettingsTab } from '~/pages/settings/applications/tabs/SettingsApplicationDetailSettingsTab'; const AVAILABLE_APPLICATION_DETAIL_ID = 'available-application-detail'; -const StyledHeader = styled.div` - align-items: center; - display: flex; - gap: ${themeCssVariables.spacing[4]}; - justify-content: space-between; - margin-bottom: ${themeCssVariables.spacing[4]}; -`; - -const StyledHeaderLeft = styled.div` - align-items: center; - display: flex; - gap: ${themeCssVariables.spacing[3]}; -`; - -const StyledLogo = styled.div` - align-items: center; - background-color: ${themeCssVariables.background.tertiary}; - border-radius: ${themeCssVariables.border.radius.sm}; - display: flex; - flex-shrink: 0; - height: 48px; - justify-content: center; - overflow: hidden; - width: 48px; -`; - -const StyledLogoImage = styled.img` - height: 32px; - object-fit: contain; - width: 32px; -`; - -const StyledLogoPlaceholder = styled.div` - align-items: center; - background-color: ${themeCssVariables.color.blue}; - border-radius: ${themeCssVariables.border.radius.xs}; - color: ${themeCssVariables.font.color.inverted}; - display: flex; - font-size: ${themeCssVariables.font.size.lg}; - font-weight: ${themeCssVariables.font.weight.medium}; - height: 32px; - justify-content: center; - width: 32px; -`; - -const StyledHeaderInfo = styled.div` - display: flex; - flex-direction: column; - gap: ${themeCssVariables.spacing[1]}; -`; - -const StyledAppName = styled.div` - color: ${themeCssVariables.font.color.primary}; - font-size: ${themeCssVariables.font.size.lg}; - font-weight: ${themeCssVariables.font.weight.semiBold}; -`; - -const StyledAppDescription = styled.div` - color: ${themeCssVariables.font.color.secondary}; - font-size: ${themeCssVariables.font.size.md}; -`; - const StyledContentContainer = styled.div` display: flex; - gap: ${themeCssVariables.spacing[8]}; + gap: ${themeCssVariables.spacing[4]}; `; const StyledMainContent = styled.div` flex: 1; min-width: 0; + overflow: hidden; `; const StyledSidebar = styled.div` flex-shrink: 0; - width: 180px; + width: 140px; `; const StyledSidebarSection = styled.div` @@ -177,7 +126,7 @@ const StyledScreenshotsContainer = styled.div` display: flex; height: 300px; justify-content: center; - margin-bottom: ${themeCssVariables.spacing[4]}; + margin-bottom: ${themeCssVariables.spacing[2]}; overflow: hidden; `; @@ -222,43 +171,12 @@ const StyledThumbnailImage = styled.img` const StyledSectionTitle = styled.h2` color: ${themeCssVariables.font.color.primary}; - font-size: ${themeCssVariables.font.size.lg}; + font-size: ${themeCssVariables.font.size.xl}; font-weight: ${themeCssVariables.font.weight.semiBold}; margin: 0 0 ${themeCssVariables.spacing[3]} 0; `; -const StyledAboutText = styled.p` - color: ${themeCssVariables.font.color.secondary}; - font-size: ${themeCssVariables.font.size.md}; - line-height: 1.6; - margin: 0 0 ${themeCssVariables.spacing[6]} 0; - white-space: pre-line; -`; - -const StyledProvidersList = styled.ul` - color: ${themeCssVariables.font.color.secondary}; - font-size: ${themeCssVariables.font.size.md}; - list-style-type: disc; - margin: 0; - padding-left: ${themeCssVariables.spacing[5]}; -`; - -const StyledProviderItem = styled.li` - margin-bottom: ${themeCssVariables.spacing[1]}; -`; - -const StyledUnlistedBanner = styled.div` - align-items: center; - background-color: ${themeCssVariables.background.transparent.lighter}; - border: 1px solid ${themeCssVariables.border.color.medium}; - border-radius: ${themeCssVariables.border.radius.sm}; - color: ${themeCssVariables.font.color.secondary}; - display: flex; - font-size: ${themeCssVariables.font.size.md}; - gap: ${themeCssVariables.spacing[2]}; - margin-bottom: ${themeCssVariables.spacing[4]}; - padding: ${themeCssVariables.spacing[3]} ${themeCssVariables.spacing[4]}; -`; +const StyledAboutContainer = styled.div``; export const SettingsAvailableApplicationDetails = () => { const { availableApplicationId = '' } = useParams<{ @@ -267,12 +185,13 @@ export const SettingsAvailableApplicationDetails = () => { const [selectedScreenshotIndex, setSelectedScreenshotIndex] = useState(0); - const { data: marketplaceApps } = useMarketplaceApps(); const { install, isInstalling } = useInstallMarketplaceApp(); + const canInstallMarketplaceApps = useHasPermissionFlag( PermissionFlagType.MARKETPLACE_APPS, ); - const { data: installedAppData } = useQuery( + + const { data: applicationData } = useQuery( FindOneApplicationByUniversalIdentifierDocument, { variables: { universalIdentifier: availableApplicationId }, @@ -280,47 +199,177 @@ export const SettingsAvailableApplicationDetails = () => { }, ); - const listedApp = marketplaceApps?.find( - (app) => app.id === availableApplicationId, - ); - - const { data: singleAppData } = useQuery(FindOneMarketplaceAppDocument, { + const { data: detailData } = useQuery(FindMarketplaceAppDetailDocument, { variables: { universalIdentifier: availableApplicationId }, - skip: isDefined(listedApp) || !availableApplicationId, + skip: !availableApplicationId, }); - const singleApp = singleAppData?.findOneMarketplaceApp; + const application = applicationData?.findOneApplication; - const application = isDefined(listedApp) - ? listedApp - : isDefined(singleApp) - ? { - ...singleApp, - content: { - objects: (singleApp.objects ?? []).length, - fields: - (singleApp.objects ?? []).reduce( - (count, appObject) => count + appObject.fields.length, - 0, - ) + (singleApp.fields ?? []).length, - functions: (singleApp.logicFunctions ?? []).length, - frontComponents: (singleApp.frontComponents ?? []).length, - }, - } - : undefined; + const detail = detailData?.findMarketplaceAppDetail; + const manifest = detail?.manifest as Manifest | undefined; + const app = manifest?.application; - const isUnlisted = !isDefined(listedApp) && isDefined(application); + const displayName = app?.displayName ?? detail?.name ?? ''; + const description = app?.description ?? ''; + const screenshots = app?.screenshots ?? []; + const aboutDescription = app?.aboutDescription; - const isAlreadyInstalled = isDefined(installedAppData?.findOneApplication); + const currentVersion = application?.version; + const latestAvailableVersion = detail?.latestAvailableVersion; + + const sourceType = detail?.sourceType; + const isNpmApp = sourceType === ApplicationRegistrationSourceType.NPM; + const registrationId = detail?.id; + + const isUnlisted = isDefined(detail) && !detail.isListed; + const installedApp = applicationData?.findOneApplication; + const isAlreadyInstalled = isDefined(installedApp); + const hasScreenshots = screenshots.length > 0; + + const defaultRole = manifest?.roles?.find( + (r) => r.universalIdentifier === app?.defaultRoleUniversalIdentifier, + ); const handleInstall = async () => { - if (isDefined(application)) { + if (isDefined(detail)) { await install({ - universalIdentifier: application.id, + universalIdentifier: detail.universalIdentifier, }); } }; + const hasUpdate = + isNpmApp && + isDefined(latestAvailableVersion) && + isDefined(currentVersion) && + isNewerSemver(latestAvailableVersion, currentVersion); + + const { upgrade, isUpgrading } = useUpgradeApplication(); + + const handleUpgrade = async () => { + if (!isDefined(registrationId) || !isDefined(latestAvailableVersion)) { + return; + } + + await upgrade({ + appRegistrationId: registrationId, + targetVersion: latestAvailableVersion, + }); + }; + + const getActionButton = () => { + if (!canInstallMarketplaceApps) { + return null; + } + if (!isAlreadyInstalled) { + return ( + +