Files
2026-07-13 13:34:48 +08:00

42 lines
1.4 KiB
TypeScript

import * as sdk from '@botpress/sdk'
export const states = {
authorization: {
type: 'integration',
schema: sdk.z.object({
refreshToken: sdk.z
.string()
.title('Refresh Token')
.describe('Refresh token used to generate a new access token')
.secret(),
grantedScopes: sdk.z.array(sdk.z.string()).title('Granted Scopes').describe('Scopes granted by the user'),
accountId: sdk.z.string().title('Account ID').describe('User ID of the authenticated user'),
authorizationCode: sdk.z
.string()
.title('Access Code')
.describe('The Access Code that was exchanged for the refresh token')
.secret(),
}),
},
realTimeSync: {
type: 'integration',
schema: sdk.z.object({
syncCursor: sdk.z
.string()
.title('Sync Cursor')
.describe('The cursor used to track the sync state of the tracked Dropbox account.'),
fileTreeJson: sdk.z.string().title('File Tree JSON').describe('The JSON representation of the file tree.'),
}),
},
setupMeta: {
type: 'integration',
schema: sdk.z.object({
integrationRegisteredAt: sdk.z
.string()
.datetime()
.title('Registered At')
.describe('Date and time when the user configured the integration'),
}),
},
} as const satisfies sdk.IntegrationDefinitionProps['states']