42 lines
1.4 KiB
TypeScript
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']
|