chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
import * as sdk from '@botpress/sdk'
|
||||
import { addToSync } from './sync'
|
||||
|
||||
export const actions = {
|
||||
addToSync,
|
||||
} as const satisfies sdk.IntegrationDefinitionProps['actions']
|
||||
@@ -0,0 +1,14 @@
|
||||
import { z } from '@botpress/sdk'
|
||||
|
||||
export const addToSync = {
|
||||
title: 'Add Libraries to Sync',
|
||||
description: 'Register additional SharePoint document libraries for real-time sync without re-deploying.',
|
||||
input: {
|
||||
schema: z.object({
|
||||
documentLibraryNames: z.string().array().min(1).title('Document Library Names').describe('Libraries to add.'),
|
||||
}),
|
||||
},
|
||||
output: {
|
||||
schema: z.object({}),
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import { z, IntegrationDefinitionProps } from '@botpress/sdk'
|
||||
|
||||
export const configuration = {
|
||||
schema: z.object({
|
||||
clientId: z.string().min(1).title('Client ID').describe('Azure AD application client ID'),
|
||||
tenantId: z.string().min(1).title('Tenant ID').describe('Azure AD tenant ID'),
|
||||
thumbprint: z.string().min(1).title('Certificate Thumbprint').describe('Certificate thumbprint'),
|
||||
privateKey: z.string().min(1).title('Private Key').describe('PEM-formatted certificate private key'),
|
||||
primaryDomain: z
|
||||
.string()
|
||||
.min(1)
|
||||
.title('Primary Domain')
|
||||
.describe('SharePoint primary domain (e.g. contoso, without .sharepoint.com)'),
|
||||
siteName: z.string().min(1).title('Site Name').describe('SharePoint site name'),
|
||||
documentLibraryNames: z
|
||||
.string()
|
||||
.array()
|
||||
.optional()
|
||||
.title('Document Library Names')
|
||||
.describe(
|
||||
'Document libraries to subscribe to for real-time sync. Not needed for knowledge-connector browsing only.'
|
||||
),
|
||||
}),
|
||||
} satisfies IntegrationDefinitionProps['configuration']
|
||||
@@ -0,0 +1,3 @@
|
||||
export { configuration } from './configuration'
|
||||
export { states } from './states'
|
||||
export { actions } from './actions'
|
||||
@@ -0,0 +1,27 @@
|
||||
import { z, IntegrationDefinitionProps } from '@botpress/sdk'
|
||||
|
||||
export const states = {
|
||||
configuration: {
|
||||
type: 'integration',
|
||||
schema: z.object({
|
||||
subscriptions: z
|
||||
.record(
|
||||
z.object({
|
||||
webhookSubscriptionId: z.string().min(1),
|
||||
changeToken: z.string().min(1),
|
||||
itemPathCache: z
|
||||
.record(
|
||||
z.object({
|
||||
absolutePath: z.string(),
|
||||
name: z.string(),
|
||||
})
|
||||
)
|
||||
.default({}),
|
||||
expiresAt: z.string().optional().describe('ISO 8601 expiry date of the SharePoint webhook subscription.'),
|
||||
})
|
||||
)
|
||||
.title('Webhook Subscriptions')
|
||||
.describe('Active SharePoint webhook subscriptions keyed by document library name.'),
|
||||
}),
|
||||
},
|
||||
} satisfies IntegrationDefinitionProps['states']
|
||||
Reference in New Issue
Block a user