feat(server): run server-exposed logic functions in the owner workspace (#22002)
## Summary Implements the server-level logic-function tier in the simplest shape: a logic function is "server-exposed" iff its manifest entry carries `serverWebhookTriggerSettings`. Execution delegates to the owner-workspace copy of that function — billing, throttling, env vars, and the existing executor all apply uniformly against that workspace. Supersedes #21971 with the simplified design from that discussion (no `applicationRegistrationLogicFunction` registry, no dedicated manifest type, no separate SDK helper, no special throttling). ## Design - **Manifest**: `LogicFunctionManifest` gains `serverWebhookTriggerSettings?`. The declarative `workspaceIdResolver` shape is dropped. - **Materialization**: those settings become two new jsonb columns on `LogicFunctionEntity`. The manifest → flat converter and the create-from-source DTO/util forward them; the property-config map and editable-properties list are extended. - **Lookup**: a single QB query joins `logicFunction → application → applicationRegistration` and filters on `lf.workspaceId = reg.workspaceId` to get only the owner workspace's copy. - **Webhook**: `POST /webhooks/server/:logicFunctionUniversalIdentifier` → `ServerWebhookTriggerService.handle` → join lookup → `LogicFunctionTriggerService.run`. No registry table, no `:applicationRegistrationUniversalIdentifier` segment, no resolver. - **Gate**: `IS_SERVER_LOGIC_FUNCTION_ENABLED` config var (disabled by default). ## Test plan - [x] `npx jest server-webhook-trigger` — 9 unit tests across the webhook service. - [x] `npx jest logic-function` — 88 existing tests stay green. - [x] `npx nx typecheck twenty-server`. - [x] `npx nx lint:diff-with-main twenty-server`. - [x] Reset DB → init → run `database:migrate:prod` → run `database:migrate:generate --name pending-migration-check` → no drift. - [ ] Manual: hit `/webhooks/server/<uid>` end-to-end against a manifest carrying `serverWebhookTriggerSettings`. https://claude.ai/code/session_01GgsnCGmYJ26xRirx8va1Yh --- _Generated by [Claude Code](https://claude.ai/code/session_01GgsnCGmYJ26xRirx8va1Yh)_ <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/22002?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. -->
This commit is contained in:
@@ -3114,13 +3114,6 @@ type Query {
|
||||
getViewGroup(id: String!): ViewGroup
|
||||
myMessageFolders(messageChannelId: UUID): [MessageFolder!]!
|
||||
myCalendarChannels(connectedAccountId: UUID): [CalendarChannel!]!
|
||||
findApplicationRegistrationByClientId(clientId: String!): PublicApplicationRegistration
|
||||
findApplicationRegistrationByUniversalIdentifier(universalIdentifier: String!): ApplicationRegistration
|
||||
findManyApplicationRegistrations: [ApplicationRegistration!]!
|
||||
findOneApplicationRegistration(id: String!): ApplicationRegistration!
|
||||
findApplicationRegistrationStats(id: String!): ApplicationRegistrationStats!
|
||||
findApplicationRegistrationVariables(applicationRegistrationId: String!): [ApplicationRegistrationVariableDTO!]!
|
||||
applicationRegistrationTarballUrl(id: String!): String
|
||||
minimalMetadata: MinimalMetadata!
|
||||
appConnections(filter: ListAppConnectionsInput): [AppConnection!]!
|
||||
appConnection(id: ID!): AppConnection!
|
||||
@@ -3139,6 +3132,13 @@ type Query {
|
||||
checkWorkspaceSubdomainAvailability(subdomain: String!): SubdomainAvailabilityDTO!
|
||||
getWorkspaceCreationDefaults: WorkspaceCreationDefaultsDTO!
|
||||
validatePasswordResetToken(passwordResetToken: String!): ValidatePasswordResetToken!
|
||||
findApplicationRegistrationByClientId(clientId: String!): PublicApplicationRegistration
|
||||
findApplicationRegistrationByUniversalIdentifier(universalIdentifier: String!): ApplicationRegistration
|
||||
findManyApplicationRegistrations: [ApplicationRegistration!]!
|
||||
findOneApplicationRegistration(id: String!): ApplicationRegistration!
|
||||
findApplicationRegistrationStats(id: String!): ApplicationRegistrationStats!
|
||||
findApplicationRegistrationVariables(applicationRegistrationId: String!): [ApplicationRegistrationVariableDTO!]!
|
||||
applicationRegistrationTarballUrl(id: String!): String
|
||||
currentUser: User!
|
||||
currentWorkspace: Workspace!
|
||||
getPublicWorkspaceDataByDomain(origin: String): PublicWorkspaceData!
|
||||
@@ -3381,15 +3381,6 @@ type Mutation {
|
||||
updateMessageFolder(input: UpdateMessageFolderInput!): MessageFolder!
|
||||
updateMessageFolders(input: UpdateMessageFoldersInput!): [MessageFolder!]!
|
||||
updateCalendarChannel(input: UpdateCalendarChannelInput!): CalendarChannel!
|
||||
createApplicationRegistration(input: CreateApplicationRegistrationInput!): CreateApplicationRegistration!
|
||||
updateApplicationRegistration(input: UpdateApplicationRegistrationInput!): ApplicationRegistration!
|
||||
deleteApplicationRegistration(id: String!): Boolean!
|
||||
rotateApplicationRegistrationClientSecret(id: String!): RotateClientSecret!
|
||||
createApplicationRegistrationVariable(input: CreateApplicationRegistrationVariableInput!): ApplicationRegistrationVariable!
|
||||
updateApplicationRegistrationVariable(input: UpdateApplicationRegistrationVariableInput!): ApplicationRegistrationVariable!
|
||||
deleteApplicationRegistrationVariable(id: String!): Boolean!
|
||||
uploadAppTarball(file: Upload!, universalIdentifier: String): ApplicationRegistration!
|
||||
transferApplicationRegistrationOwnership(applicationRegistrationId: String!, targetWorkspaceSubdomain: String!): ApplicationRegistration!
|
||||
createChatThread: AgentChatThread!
|
||||
sendChatMessage(threadId: UUID!, text: String!, messageId: UUID!, browsingContext: JSON, modelId: String, fileAttachments: [FileAttachmentInput!]): SendChatMessageResult!
|
||||
stopAgentChatStream(threadId: UUID!): Boolean!
|
||||
@@ -3423,6 +3414,15 @@ type Mutation {
|
||||
generatePlaygroundToken: AuthToken!
|
||||
emailPasswordResetLink(email: String!, workspaceId: UUID): EmailPasswordResetLink!
|
||||
updatePasswordViaResetToken(passwordResetToken: String!, newPassword: String!): InvalidatePassword!
|
||||
createApplicationRegistration(input: CreateApplicationRegistrationInput!): CreateApplicationRegistration!
|
||||
updateApplicationRegistration(input: UpdateApplicationRegistrationInput!): ApplicationRegistration!
|
||||
deleteApplicationRegistration(id: String!): Boolean!
|
||||
rotateApplicationRegistrationClientSecret(id: String!): RotateClientSecret!
|
||||
createApplicationRegistrationVariable(input: CreateApplicationRegistrationVariableInput!): ApplicationRegistrationVariable!
|
||||
updateApplicationRegistrationVariable(input: UpdateApplicationRegistrationVariableInput!): ApplicationRegistrationVariable!
|
||||
deleteApplicationRegistrationVariable(id: String!): Boolean!
|
||||
uploadAppTarball(file: Upload!, universalIdentifier: String): ApplicationRegistration!
|
||||
transferApplicationRegistrationOwnership(applicationRegistrationId: String!, targetWorkspaceSubdomain: String!): ApplicationRegistration!
|
||||
initiateOTPProvisioning(loginToken: String!, origin: String!): InitiateTwoFactorAuthenticationProvisioning!
|
||||
initiateOTPProvisioningForAuthenticatedUser: InitiateTwoFactorAuthenticationProvisioning!
|
||||
deleteTwoFactorAuthenticationMethod(twoFactorAuthenticationMethodId: UUID!): DeleteTwoFactorAuthenticationMethod!
|
||||
@@ -4023,6 +4023,7 @@ input CreateLogicFunctionFromSourceInput {
|
||||
cronTriggerSettings: JSON
|
||||
databaseEventTriggerSettings: JSON
|
||||
httpRouteTriggerSettings: JSON
|
||||
serverRouteTriggerSettings: JSON
|
||||
toolTriggerSettings: JSON
|
||||
workflowActionTriggerSettings: JSON
|
||||
}
|
||||
@@ -4409,6 +4410,40 @@ input UpdateCalendarChannelInputUpdates {
|
||||
isSyncEnabled: Boolean
|
||||
}
|
||||
|
||||
input FileAttachmentInput {
|
||||
id: UUID!
|
||||
filename: String!
|
||||
}
|
||||
|
||||
input CreateSkillInput {
|
||||
id: UUID
|
||||
name: String!
|
||||
label: String!
|
||||
icon: String
|
||||
description: String
|
||||
content: String!
|
||||
}
|
||||
|
||||
input UpdateSkillInput {
|
||||
id: UUID!
|
||||
name: String
|
||||
label: String
|
||||
icon: String
|
||||
description: String
|
||||
content: String
|
||||
isActive: Boolean
|
||||
}
|
||||
|
||||
input GetAuthorizationUrlForSSOInput {
|
||||
identityProviderId: UUID!
|
||||
workspaceInviteHash: String
|
||||
}
|
||||
|
||||
input SignUpInNewWorkspaceInput {
|
||||
displayName: String
|
||||
subdomain: String
|
||||
}
|
||||
|
||||
input CreateApplicationRegistrationInput {
|
||||
name: String!
|
||||
universalIdentifier: String
|
||||
@@ -4447,40 +4482,6 @@ input UpdateApplicationRegistrationVariablePayload {
|
||||
description: String
|
||||
}
|
||||
|
||||
input FileAttachmentInput {
|
||||
id: UUID!
|
||||
filename: String!
|
||||
}
|
||||
|
||||
input CreateSkillInput {
|
||||
id: UUID
|
||||
name: String!
|
||||
label: String!
|
||||
icon: String
|
||||
description: String
|
||||
content: String!
|
||||
}
|
||||
|
||||
input UpdateSkillInput {
|
||||
id: UUID!
|
||||
name: String
|
||||
label: String
|
||||
icon: String
|
||||
description: String
|
||||
content: String
|
||||
isActive: Boolean
|
||||
}
|
||||
|
||||
input GetAuthorizationUrlForSSOInput {
|
||||
identityProviderId: UUID!
|
||||
workspaceInviteHash: String
|
||||
}
|
||||
|
||||
input SignUpInNewWorkspaceInput {
|
||||
displayName: String
|
||||
subdomain: String
|
||||
}
|
||||
|
||||
input UpdateWorkspaceMemberSettingsInput {
|
||||
workspaceMemberId: UUID!
|
||||
update: JSON!
|
||||
|
||||
@@ -2710,13 +2710,6 @@ export interface Query {
|
||||
getViewGroup?: ViewGroup
|
||||
myMessageFolders: MessageFolder[]
|
||||
myCalendarChannels: CalendarChannel[]
|
||||
findApplicationRegistrationByClientId?: PublicApplicationRegistration
|
||||
findApplicationRegistrationByUniversalIdentifier?: ApplicationRegistration
|
||||
findManyApplicationRegistrations: ApplicationRegistration[]
|
||||
findOneApplicationRegistration: ApplicationRegistration
|
||||
findApplicationRegistrationStats: ApplicationRegistrationStats
|
||||
findApplicationRegistrationVariables: ApplicationRegistrationVariableDTO[]
|
||||
applicationRegistrationTarballUrl?: Scalars['String']
|
||||
minimalMetadata: MinimalMetadata
|
||||
appConnections: AppConnection[]
|
||||
appConnection: AppConnection
|
||||
@@ -2735,6 +2728,13 @@ export interface Query {
|
||||
checkWorkspaceSubdomainAvailability: SubdomainAvailabilityDTO
|
||||
getWorkspaceCreationDefaults: WorkspaceCreationDefaultsDTO
|
||||
validatePasswordResetToken: ValidatePasswordResetToken
|
||||
findApplicationRegistrationByClientId?: PublicApplicationRegistration
|
||||
findApplicationRegistrationByUniversalIdentifier?: ApplicationRegistration
|
||||
findManyApplicationRegistrations: ApplicationRegistration[]
|
||||
findOneApplicationRegistration: ApplicationRegistration
|
||||
findApplicationRegistrationStats: ApplicationRegistrationStats
|
||||
findApplicationRegistrationVariables: ApplicationRegistrationVariableDTO[]
|
||||
applicationRegistrationTarballUrl?: Scalars['String']
|
||||
currentUser: User
|
||||
currentWorkspace: Workspace
|
||||
getPublicWorkspaceDataByDomain: PublicWorkspaceData
|
||||
@@ -2898,15 +2898,6 @@ export interface Mutation {
|
||||
updateMessageFolder: MessageFolder
|
||||
updateMessageFolders: MessageFolder[]
|
||||
updateCalendarChannel: CalendarChannel
|
||||
createApplicationRegistration: CreateApplicationRegistration
|
||||
updateApplicationRegistration: ApplicationRegistration
|
||||
deleteApplicationRegistration: Scalars['Boolean']
|
||||
rotateApplicationRegistrationClientSecret: RotateClientSecret
|
||||
createApplicationRegistrationVariable: ApplicationRegistrationVariable
|
||||
updateApplicationRegistrationVariable: ApplicationRegistrationVariable
|
||||
deleteApplicationRegistrationVariable: Scalars['Boolean']
|
||||
uploadAppTarball: ApplicationRegistration
|
||||
transferApplicationRegistrationOwnership: ApplicationRegistration
|
||||
createChatThread: AgentChatThread
|
||||
sendChatMessage: SendChatMessageResult
|
||||
stopAgentChatStream: Scalars['Boolean']
|
||||
@@ -2940,6 +2931,15 @@ export interface Mutation {
|
||||
generatePlaygroundToken: AuthToken
|
||||
emailPasswordResetLink: EmailPasswordResetLink
|
||||
updatePasswordViaResetToken: InvalidatePassword
|
||||
createApplicationRegistration: CreateApplicationRegistration
|
||||
updateApplicationRegistration: ApplicationRegistration
|
||||
deleteApplicationRegistration: Scalars['Boolean']
|
||||
rotateApplicationRegistrationClientSecret: RotateClientSecret
|
||||
createApplicationRegistrationVariable: ApplicationRegistrationVariable
|
||||
updateApplicationRegistrationVariable: ApplicationRegistrationVariable
|
||||
deleteApplicationRegistrationVariable: Scalars['Boolean']
|
||||
uploadAppTarball: ApplicationRegistration
|
||||
transferApplicationRegistrationOwnership: ApplicationRegistration
|
||||
initiateOTPProvisioning: InitiateTwoFactorAuthenticationProvisioning
|
||||
initiateOTPProvisioningForAuthenticatedUser: InitiateTwoFactorAuthenticationProvisioning
|
||||
deleteTwoFactorAuthenticationMethod: DeleteTwoFactorAuthenticationMethod
|
||||
@@ -5871,13 +5871,6 @@ export interface QueryGenqlSelection{
|
||||
getViewGroup?: (ViewGroupGenqlSelection & { __args: {id: Scalars['String']} })
|
||||
myMessageFolders?: (MessageFolderGenqlSelection & { __args?: {messageChannelId?: (Scalars['UUID'] | null)} })
|
||||
myCalendarChannels?: (CalendarChannelGenqlSelection & { __args?: {connectedAccountId?: (Scalars['UUID'] | null)} })
|
||||
findApplicationRegistrationByClientId?: (PublicApplicationRegistrationGenqlSelection & { __args: {clientId: Scalars['String']} })
|
||||
findApplicationRegistrationByUniversalIdentifier?: (ApplicationRegistrationGenqlSelection & { __args: {universalIdentifier: Scalars['String']} })
|
||||
findManyApplicationRegistrations?: ApplicationRegistrationGenqlSelection
|
||||
findOneApplicationRegistration?: (ApplicationRegistrationGenqlSelection & { __args: {id: Scalars['String']} })
|
||||
findApplicationRegistrationStats?: (ApplicationRegistrationStatsGenqlSelection & { __args: {id: Scalars['String']} })
|
||||
findApplicationRegistrationVariables?: (ApplicationRegistrationVariableDTOGenqlSelection & { __args: {applicationRegistrationId: Scalars['String']} })
|
||||
applicationRegistrationTarballUrl?: { __args: {id: Scalars['String']} }
|
||||
minimalMetadata?: MinimalMetadataGenqlSelection
|
||||
appConnections?: (AppConnectionGenqlSelection & { __args?: {filter?: (ListAppConnectionsInput | null)} })
|
||||
appConnection?: (AppConnectionGenqlSelection & { __args: {id: Scalars['ID']} })
|
||||
@@ -5896,6 +5889,13 @@ export interface QueryGenqlSelection{
|
||||
checkWorkspaceSubdomainAvailability?: (SubdomainAvailabilityDTOGenqlSelection & { __args: {subdomain: Scalars['String']} })
|
||||
getWorkspaceCreationDefaults?: WorkspaceCreationDefaultsDTOGenqlSelection
|
||||
validatePasswordResetToken?: (ValidatePasswordResetTokenGenqlSelection & { __args: {passwordResetToken: Scalars['String']} })
|
||||
findApplicationRegistrationByClientId?: (PublicApplicationRegistrationGenqlSelection & { __args: {clientId: Scalars['String']} })
|
||||
findApplicationRegistrationByUniversalIdentifier?: (ApplicationRegistrationGenqlSelection & { __args: {universalIdentifier: Scalars['String']} })
|
||||
findManyApplicationRegistrations?: ApplicationRegistrationGenqlSelection
|
||||
findOneApplicationRegistration?: (ApplicationRegistrationGenqlSelection & { __args: {id: Scalars['String']} })
|
||||
findApplicationRegistrationStats?: (ApplicationRegistrationStatsGenqlSelection & { __args: {id: Scalars['String']} })
|
||||
findApplicationRegistrationVariables?: (ApplicationRegistrationVariableDTOGenqlSelection & { __args: {applicationRegistrationId: Scalars['String']} })
|
||||
applicationRegistrationTarballUrl?: { __args: {id: Scalars['String']} }
|
||||
currentUser?: UserGenqlSelection
|
||||
currentWorkspace?: WorkspaceGenqlSelection
|
||||
getPublicWorkspaceDataByDomain?: (PublicWorkspaceDataGenqlSelection & { __args?: {origin?: (Scalars['String'] | null)} })
|
||||
@@ -6084,15 +6084,6 @@ export interface MutationGenqlSelection{
|
||||
updateMessageFolder?: (MessageFolderGenqlSelection & { __args: {input: UpdateMessageFolderInput} })
|
||||
updateMessageFolders?: (MessageFolderGenqlSelection & { __args: {input: UpdateMessageFoldersInput} })
|
||||
updateCalendarChannel?: (CalendarChannelGenqlSelection & { __args: {input: UpdateCalendarChannelInput} })
|
||||
createApplicationRegistration?: (CreateApplicationRegistrationGenqlSelection & { __args: {input: CreateApplicationRegistrationInput} })
|
||||
updateApplicationRegistration?: (ApplicationRegistrationGenqlSelection & { __args: {input: UpdateApplicationRegistrationInput} })
|
||||
deleteApplicationRegistration?: { __args: {id: Scalars['String']} }
|
||||
rotateApplicationRegistrationClientSecret?: (RotateClientSecretGenqlSelection & { __args: {id: Scalars['String']} })
|
||||
createApplicationRegistrationVariable?: (ApplicationRegistrationVariableGenqlSelection & { __args: {input: CreateApplicationRegistrationVariableInput} })
|
||||
updateApplicationRegistrationVariable?: (ApplicationRegistrationVariableGenqlSelection & { __args: {input: UpdateApplicationRegistrationVariableInput} })
|
||||
deleteApplicationRegistrationVariable?: { __args: {id: Scalars['String']} }
|
||||
uploadAppTarball?: (ApplicationRegistrationGenqlSelection & { __args: {file: Scalars['Upload'], universalIdentifier?: (Scalars['String'] | null)} })
|
||||
transferApplicationRegistrationOwnership?: (ApplicationRegistrationGenqlSelection & { __args: {applicationRegistrationId: Scalars['String'], targetWorkspaceSubdomain: Scalars['String']} })
|
||||
createChatThread?: AgentChatThreadGenqlSelection
|
||||
sendChatMessage?: (SendChatMessageResultGenqlSelection & { __args: {threadId: Scalars['UUID'], text: Scalars['String'], messageId: Scalars['UUID'], browsingContext?: (Scalars['JSON'] | null), modelId?: (Scalars['String'] | null), fileAttachments?: (FileAttachmentInput[] | null)} })
|
||||
stopAgentChatStream?: { __args: {threadId: Scalars['UUID']} }
|
||||
@@ -6126,6 +6117,15 @@ export interface MutationGenqlSelection{
|
||||
generatePlaygroundToken?: AuthTokenGenqlSelection
|
||||
emailPasswordResetLink?: (EmailPasswordResetLinkGenqlSelection & { __args: {email: Scalars['String'], workspaceId?: (Scalars['UUID'] | null)} })
|
||||
updatePasswordViaResetToken?: (InvalidatePasswordGenqlSelection & { __args: {passwordResetToken: Scalars['String'], newPassword: Scalars['String']} })
|
||||
createApplicationRegistration?: (CreateApplicationRegistrationGenqlSelection & { __args: {input: CreateApplicationRegistrationInput} })
|
||||
updateApplicationRegistration?: (ApplicationRegistrationGenqlSelection & { __args: {input: UpdateApplicationRegistrationInput} })
|
||||
deleteApplicationRegistration?: { __args: {id: Scalars['String']} }
|
||||
rotateApplicationRegistrationClientSecret?: (RotateClientSecretGenqlSelection & { __args: {id: Scalars['String']} })
|
||||
createApplicationRegistrationVariable?: (ApplicationRegistrationVariableGenqlSelection & { __args: {input: CreateApplicationRegistrationVariableInput} })
|
||||
updateApplicationRegistrationVariable?: (ApplicationRegistrationVariableGenqlSelection & { __args: {input: UpdateApplicationRegistrationVariableInput} })
|
||||
deleteApplicationRegistrationVariable?: { __args: {id: Scalars['String']} }
|
||||
uploadAppTarball?: (ApplicationRegistrationGenqlSelection & { __args: {file: Scalars['Upload'], universalIdentifier?: (Scalars['String'] | null)} })
|
||||
transferApplicationRegistrationOwnership?: (ApplicationRegistrationGenqlSelection & { __args: {applicationRegistrationId: Scalars['String'], targetWorkspaceSubdomain: Scalars['String']} })
|
||||
initiateOTPProvisioning?: (InitiateTwoFactorAuthenticationProvisioningGenqlSelection & { __args: {loginToken: Scalars['String'], origin: Scalars['String']} })
|
||||
initiateOTPProvisioningForAuthenticatedUser?: InitiateTwoFactorAuthenticationProvisioningGenqlSelection
|
||||
deleteTwoFactorAuthenticationMethod?: (DeleteTwoFactorAuthenticationMethodGenqlSelection & { __args: {twoFactorAuthenticationMethodId: Scalars['UUID']} })
|
||||
@@ -6370,7 +6370,7 @@ export interface DeleteOneIndexInput {
|
||||
/** The id of the custom index to delete. */
|
||||
id: Scalars['UUID']}
|
||||
|
||||
export interface CreateLogicFunctionFromSourceInput {id?: (Scalars['UUID'] | null),universalIdentifier?: (Scalars['UUID'] | null),name: Scalars['String'],description?: (Scalars['String'] | null),timeoutSeconds?: (Scalars['Float'] | null),source?: (Scalars['JSON'] | null),cronTriggerSettings?: (Scalars['JSON'] | null),databaseEventTriggerSettings?: (Scalars['JSON'] | null),httpRouteTriggerSettings?: (Scalars['JSON'] | null),toolTriggerSettings?: (Scalars['JSON'] | null),workflowActionTriggerSettings?: (Scalars['JSON'] | null)}
|
||||
export interface CreateLogicFunctionFromSourceInput {id?: (Scalars['UUID'] | null),universalIdentifier?: (Scalars['UUID'] | null),name: Scalars['String'],description?: (Scalars['String'] | null),timeoutSeconds?: (Scalars['Float'] | null),source?: (Scalars['JSON'] | null),cronTriggerSettings?: (Scalars['JSON'] | null),databaseEventTriggerSettings?: (Scalars['JSON'] | null),httpRouteTriggerSettings?: (Scalars['JSON'] | null),serverRouteTriggerSettings?: (Scalars['JSON'] | null),toolTriggerSettings?: (Scalars['JSON'] | null),workflowActionTriggerSettings?: (Scalars['JSON'] | null)}
|
||||
|
||||
export interface ExecuteOneLogicFunctionInput {
|
||||
/** Id of the logic function to execute */
|
||||
@@ -6498,6 +6498,16 @@ export interface UpdateCalendarChannelInput {id: Scalars['UUID'],update: UpdateC
|
||||
|
||||
export interface UpdateCalendarChannelInputUpdates {visibility?: (CalendarChannelVisibility | null),isContactAutoCreationEnabled?: (Scalars['Boolean'] | null),contactAutoCreationPolicy?: (CalendarChannelContactAutoCreationPolicy | null),isSyncEnabled?: (Scalars['Boolean'] | null)}
|
||||
|
||||
export interface FileAttachmentInput {id: Scalars['UUID'],filename: Scalars['String']}
|
||||
|
||||
export interface CreateSkillInput {id?: (Scalars['UUID'] | null),name: Scalars['String'],label: Scalars['String'],icon?: (Scalars['String'] | null),description?: (Scalars['String'] | null),content: Scalars['String']}
|
||||
|
||||
export interface UpdateSkillInput {id: Scalars['UUID'],name?: (Scalars['String'] | null),label?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),description?: (Scalars['String'] | null),content?: (Scalars['String'] | null),isActive?: (Scalars['Boolean'] | null)}
|
||||
|
||||
export interface GetAuthorizationUrlForSSOInput {identityProviderId: Scalars['UUID'],workspaceInviteHash?: (Scalars['String'] | null)}
|
||||
|
||||
export interface SignUpInNewWorkspaceInput {displayName?: (Scalars['String'] | null),subdomain?: (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}
|
||||
@@ -6510,16 +6520,6 @@ export interface UpdateApplicationRegistrationVariableInput {id: Scalars['String
|
||||
|
||||
export interface UpdateApplicationRegistrationVariablePayload {value?: (Scalars['String'] | null),resetValue?: (Scalars['Boolean'] | null),description?: (Scalars['String'] | null)}
|
||||
|
||||
export interface FileAttachmentInput {id: Scalars['UUID'],filename: Scalars['String']}
|
||||
|
||||
export interface CreateSkillInput {id?: (Scalars['UUID'] | null),name: Scalars['String'],label: Scalars['String'],icon?: (Scalars['String'] | null),description?: (Scalars['String'] | null),content: Scalars['String']}
|
||||
|
||||
export interface UpdateSkillInput {id: Scalars['UUID'],name?: (Scalars['String'] | null),label?: (Scalars['String'] | null),icon?: (Scalars['String'] | null),description?: (Scalars['String'] | null),content?: (Scalars['String'] | null),isActive?: (Scalars['Boolean'] | null)}
|
||||
|
||||
export interface GetAuthorizationUrlForSSOInput {identityProviderId: Scalars['UUID'],workspaceInviteHash?: (Scalars['String'] | null)}
|
||||
|
||||
export interface SignUpInNewWorkspaceInput {displayName?: (Scalars['String'] | null),subdomain?: (Scalars['String'] | null)}
|
||||
|
||||
export interface UpdateWorkspaceMemberSettingsInput {workspaceMemberId: Scalars['UUID'],update: Scalars['JSON']}
|
||||
|
||||
export interface ActivateWorkspaceInput {
|
||||
|
||||
@@ -6424,63 +6424,6 @@ export default {
|
||||
]
|
||||
}
|
||||
],
|
||||
"findApplicationRegistrationByClientId": [
|
||||
201,
|
||||
{
|
||||
"clientId": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"findApplicationRegistrationByUniversalIdentifier": [
|
||||
7,
|
||||
{
|
||||
"universalIdentifier": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"findManyApplicationRegistrations": [
|
||||
7
|
||||
],
|
||||
"findOneApplicationRegistration": [
|
||||
7,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"findApplicationRegistrationStats": [
|
||||
199,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"findApplicationRegistrationVariables": [
|
||||
174,
|
||||
{
|
||||
"applicationRegistrationId": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"applicationRegistrationTarballUrl": [
|
||||
1,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"minimalMetadata": [
|
||||
336
|
||||
],
|
||||
@@ -6609,6 +6552,63 @@ export default {
|
||||
]
|
||||
}
|
||||
],
|
||||
"findApplicationRegistrationByClientId": [
|
||||
201,
|
||||
{
|
||||
"clientId": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"findApplicationRegistrationByUniversalIdentifier": [
|
||||
7,
|
||||
{
|
||||
"universalIdentifier": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"findManyApplicationRegistrations": [
|
||||
7
|
||||
],
|
||||
"findOneApplicationRegistration": [
|
||||
7,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"findApplicationRegistrationStats": [
|
||||
199,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"findApplicationRegistrationVariables": [
|
||||
174,
|
||||
{
|
||||
"applicationRegistrationId": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"applicationRegistrationTarballUrl": [
|
||||
1,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"currentUser": [
|
||||
79
|
||||
],
|
||||
@@ -8163,94 +8163,6 @@ export default {
|
||||
]
|
||||
}
|
||||
],
|
||||
"createApplicationRegistration": [
|
||||
200,
|
||||
{
|
||||
"input": [
|
||||
465,
|
||||
"CreateApplicationRegistrationInput!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"updateApplicationRegistration": [
|
||||
7,
|
||||
{
|
||||
"input": [
|
||||
466,
|
||||
"UpdateApplicationRegistrationInput!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"deleteApplicationRegistration": [
|
||||
6,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"rotateApplicationRegistrationClientSecret": [
|
||||
202,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"createApplicationRegistrationVariable": [
|
||||
5,
|
||||
{
|
||||
"input": [
|
||||
468,
|
||||
"CreateApplicationRegistrationVariableInput!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"updateApplicationRegistrationVariable": [
|
||||
5,
|
||||
{
|
||||
"input": [
|
||||
469,
|
||||
"UpdateApplicationRegistrationVariableInput!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"deleteApplicationRegistrationVariable": [
|
||||
6,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"uploadAppTarball": [
|
||||
7,
|
||||
{
|
||||
"file": [
|
||||
358,
|
||||
"Upload!"
|
||||
],
|
||||
"universalIdentifier": [
|
||||
1
|
||||
]
|
||||
}
|
||||
],
|
||||
"transferApplicationRegistrationOwnership": [
|
||||
7,
|
||||
{
|
||||
"applicationRegistrationId": [
|
||||
1,
|
||||
"String!"
|
||||
],
|
||||
"targetWorkspaceSubdomain": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"createChatThread": [
|
||||
316
|
||||
],
|
||||
@@ -8276,7 +8188,7 @@ export default {
|
||||
1
|
||||
],
|
||||
"fileAttachments": [
|
||||
471,
|
||||
465,
|
||||
"[FileAttachmentInput!]"
|
||||
]
|
||||
}
|
||||
@@ -8343,7 +8255,7 @@ export default {
|
||||
314,
|
||||
{
|
||||
"input": [
|
||||
472,
|
||||
466,
|
||||
"CreateSkillInput!"
|
||||
]
|
||||
}
|
||||
@@ -8352,7 +8264,7 @@ export default {
|
||||
314,
|
||||
{
|
||||
"input": [
|
||||
473,
|
||||
467,
|
||||
"UpdateSkillInput!"
|
||||
]
|
||||
}
|
||||
@@ -8410,7 +8322,7 @@ export default {
|
||||
247,
|
||||
{
|
||||
"input": [
|
||||
474,
|
||||
468,
|
||||
"GetAuthorizationUrlForSSOInput!"
|
||||
]
|
||||
}
|
||||
@@ -8576,7 +8488,7 @@ export default {
|
||||
250,
|
||||
{
|
||||
"input": [
|
||||
475
|
||||
469
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -8681,6 +8593,94 @@ export default {
|
||||
]
|
||||
}
|
||||
],
|
||||
"createApplicationRegistration": [
|
||||
200,
|
||||
{
|
||||
"input": [
|
||||
470,
|
||||
"CreateApplicationRegistrationInput!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"updateApplicationRegistration": [
|
||||
7,
|
||||
{
|
||||
"input": [
|
||||
471,
|
||||
"UpdateApplicationRegistrationInput!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"deleteApplicationRegistration": [
|
||||
6,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"rotateApplicationRegistrationClientSecret": [
|
||||
202,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"createApplicationRegistrationVariable": [
|
||||
5,
|
||||
{
|
||||
"input": [
|
||||
473,
|
||||
"CreateApplicationRegistrationVariableInput!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"updateApplicationRegistrationVariable": [
|
||||
5,
|
||||
{
|
||||
"input": [
|
||||
474,
|
||||
"UpdateApplicationRegistrationVariableInput!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"deleteApplicationRegistrationVariable": [
|
||||
6,
|
||||
{
|
||||
"id": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"uploadAppTarball": [
|
||||
7,
|
||||
{
|
||||
"file": [
|
||||
358,
|
||||
"Upload!"
|
||||
],
|
||||
"universalIdentifier": [
|
||||
1
|
||||
]
|
||||
}
|
||||
],
|
||||
"transferApplicationRegistrationOwnership": [
|
||||
7,
|
||||
{
|
||||
"applicationRegistrationId": [
|
||||
1,
|
||||
"String!"
|
||||
],
|
||||
"targetWorkspaceSubdomain": [
|
||||
1,
|
||||
"String!"
|
||||
]
|
||||
}
|
||||
],
|
||||
"initiateOTPProvisioning": [
|
||||
241,
|
||||
{
|
||||
@@ -10335,6 +10335,9 @@ export default {
|
||||
"httpRouteTriggerSettings": [
|
||||
15
|
||||
],
|
||||
"serverRouteTriggerSettings": [
|
||||
15
|
||||
],
|
||||
"toolTriggerSettings": [
|
||||
15
|
||||
],
|
||||
@@ -11235,96 +11238,6 @@ export default {
|
||||
1
|
||||
]
|
||||
},
|
||||
"CreateApplicationRegistrationInput": {
|
||||
"name": [
|
||||
1
|
||||
],
|
||||
"universalIdentifier": [
|
||||
1
|
||||
],
|
||||
"oAuthRedirectUris": [
|
||||
1
|
||||
],
|
||||
"oAuthScopes": [
|
||||
1
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"UpdateApplicationRegistrationInput": {
|
||||
"id": [
|
||||
1
|
||||
],
|
||||
"update": [
|
||||
467
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"UpdateApplicationRegistrationPayload": {
|
||||
"name": [
|
||||
1
|
||||
],
|
||||
"oAuthRedirectUris": [
|
||||
1
|
||||
],
|
||||
"oAuthScopes": [
|
||||
1
|
||||
],
|
||||
"isListed": [
|
||||
6
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"CreateApplicationRegistrationVariableInput": {
|
||||
"applicationRegistrationId": [
|
||||
1
|
||||
],
|
||||
"key": [
|
||||
1
|
||||
],
|
||||
"value": [
|
||||
1
|
||||
],
|
||||
"description": [
|
||||
1
|
||||
],
|
||||
"isSecret": [
|
||||
6
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"UpdateApplicationRegistrationVariableInput": {
|
||||
"id": [
|
||||
1
|
||||
],
|
||||
"update": [
|
||||
470
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"UpdateApplicationRegistrationVariablePayload": {
|
||||
"value": [
|
||||
1
|
||||
],
|
||||
"resetValue": [
|
||||
6
|
||||
],
|
||||
"description": [
|
||||
1
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"FileAttachmentInput": {
|
||||
"id": [
|
||||
3
|
||||
@@ -11407,6 +11320,96 @@ export default {
|
||||
1
|
||||
]
|
||||
},
|
||||
"CreateApplicationRegistrationInput": {
|
||||
"name": [
|
||||
1
|
||||
],
|
||||
"universalIdentifier": [
|
||||
1
|
||||
],
|
||||
"oAuthRedirectUris": [
|
||||
1
|
||||
],
|
||||
"oAuthScopes": [
|
||||
1
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"UpdateApplicationRegistrationInput": {
|
||||
"id": [
|
||||
1
|
||||
],
|
||||
"update": [
|
||||
472
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"UpdateApplicationRegistrationPayload": {
|
||||
"name": [
|
||||
1
|
||||
],
|
||||
"oAuthRedirectUris": [
|
||||
1
|
||||
],
|
||||
"oAuthScopes": [
|
||||
1
|
||||
],
|
||||
"isListed": [
|
||||
6
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"CreateApplicationRegistrationVariableInput": {
|
||||
"applicationRegistrationId": [
|
||||
1
|
||||
],
|
||||
"key": [
|
||||
1
|
||||
],
|
||||
"value": [
|
||||
1
|
||||
],
|
||||
"description": [
|
||||
1
|
||||
],
|
||||
"isSecret": [
|
||||
6
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"UpdateApplicationRegistrationVariableInput": {
|
||||
"id": [
|
||||
1
|
||||
],
|
||||
"update": [
|
||||
475
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"UpdateApplicationRegistrationVariablePayload": {
|
||||
"value": [
|
||||
1
|
||||
],
|
||||
"resetValue": [
|
||||
6
|
||||
],
|
||||
"description": [
|
||||
1
|
||||
],
|
||||
"__typename": [
|
||||
1
|
||||
]
|
||||
},
|
||||
"UpdateWorkspaceMemberSettingsInput": {
|
||||
"workspaceMemberId": [
|
||||
3
|
||||
|
||||
Reference in New Issue
Block a user