chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
import { z, IntegrationDefinitionProps, messages, ConfigurationDefinition } from '@botpress/sdk'
|
||||
import { issueSchema } from './schemas'
|
||||
|
||||
export { actions } from './actions'
|
||||
export { events } from './events'
|
||||
export { states } from './states'
|
||||
export * as schemas from './schemas'
|
||||
|
||||
export const configuration = {
|
||||
identifier: {
|
||||
linkTemplateScript: 'linkTemplate.vrl',
|
||||
},
|
||||
schema: z.object({
|
||||
displayName: z.string().optional().title('Display Name').describe('The name displayed in message transmissions'),
|
||||
avatarUrl: z.string().optional().title('Avatar URL').describe('The web address for the profile picture'),
|
||||
}),
|
||||
} as const satisfies ConfigurationDefinition
|
||||
|
||||
export const configurations = {
|
||||
apiKey: {
|
||||
title: 'API Key',
|
||||
description: 'Configure Linear with an API Key.',
|
||||
schema: z.object({
|
||||
apiKey: z.string().title('API Key').describe('The API key for Linear'),
|
||||
webhookSigningSecret: z
|
||||
.string()
|
||||
.secret()
|
||||
.optional()
|
||||
.title('Webhook Signing Secret (deprecated)')
|
||||
.describe(
|
||||
'The secret key for verifying incoming Linear webhook events if the webhook has been registered manually. ' +
|
||||
"If you don't provide this value, a webhook will be created automatically."
|
||||
),
|
||||
}),
|
||||
},
|
||||
} as const satisfies IntegrationDefinitionProps['configurations']
|
||||
|
||||
export const channels = {
|
||||
issue: {
|
||||
title: 'Issue',
|
||||
description: 'A linear issue',
|
||||
messages: { ...messages.defaults, markdown: messages.markdown, bloc: messages.markdownBloc },
|
||||
message: {
|
||||
tags: {
|
||||
id: {
|
||||
title: 'Comment ID',
|
||||
description: 'The ID of the comment on Linear',
|
||||
},
|
||||
},
|
||||
},
|
||||
conversation: {
|
||||
tags: {
|
||||
id: {
|
||||
title: 'Issue ID',
|
||||
description: 'The ID of the issue on Linear',
|
||||
},
|
||||
title: {
|
||||
title: 'Issue Title',
|
||||
description: 'The title of the issue',
|
||||
},
|
||||
url: {
|
||||
title: 'Issue URL',
|
||||
description: 'The URL of the issue on Linear',
|
||||
},
|
||||
parentId: {
|
||||
title: 'Parent Issue ID',
|
||||
description: 'The ID of the parent issue on Linear',
|
||||
},
|
||||
parentTitle: {
|
||||
title: 'Parent Issue Title',
|
||||
description: 'The title of the parent issue',
|
||||
},
|
||||
parentUrl: {
|
||||
title: 'Parent Issue URL',
|
||||
description: 'The URL of the parent issue on Linear',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
} as const satisfies IntegrationDefinitionProps['channels']
|
||||
|
||||
export const user = {
|
||||
tags: {
|
||||
id: {
|
||||
title: 'User ID',
|
||||
description: 'The ID of the user on Linear',
|
||||
},
|
||||
},
|
||||
} as const satisfies IntegrationDefinitionProps['user']
|
||||
|
||||
export const entities = {
|
||||
issue: {
|
||||
title: 'Issue',
|
||||
description: 'A linear issue',
|
||||
schema: issueSchema,
|
||||
},
|
||||
issueConversation: {
|
||||
title: 'Issue Conversation',
|
||||
description: 'A conversation representing a linear issue',
|
||||
schema: z.object({ id: z.string().title('Issue ID').describe('The issue ID on Linear') }),
|
||||
},
|
||||
} as const satisfies IntegrationDefinitionProps['entities']
|
||||
Reference in New Issue
Block a user