chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
import { z, ActionDefinition } from '@botpress/sdk'
|
||||
|
||||
export const getComments = {
|
||||
title: 'Get Comments',
|
||||
description: 'Get a comments thread',
|
||||
input: {
|
||||
schema: z.object({
|
||||
submissionId: z
|
||||
.string()
|
||||
.title('SubmissionId')
|
||||
.describe('The id of the submission to get comments for.')
|
||||
.optional(),
|
||||
changelogId: z
|
||||
.string()
|
||||
.title('changelogId')
|
||||
.describe(
|
||||
'The id of the changelog to get comments for. Accepts both ObjectId and slug. Example: "65f5f3c037fc63b7d43d0f16" or "my-changelog-slug"'
|
||||
)
|
||||
.optional(),
|
||||
privacy: z
|
||||
.enum(['public', 'private', 'all'])
|
||||
.title('Privacy')
|
||||
.describe('Filter comments by privacy setting. Allowed values: "public", "private", "all"')
|
||||
.optional(),
|
||||
inReview: z
|
||||
.boolean()
|
||||
.title('In Review')
|
||||
.describe('Filter comments by whether they are in review. Set to true to get only comments that are in review.')
|
||||
.optional(),
|
||||
commentThreadId: z
|
||||
.string()
|
||||
.title('Comment Thread Id')
|
||||
.describe(
|
||||
'Given a specific comment id, this will return all comments in the thread with the root comment being the comment with the given id.'
|
||||
)
|
||||
.optional(),
|
||||
limit: z.number().title('Limit').describe('Number of results per page. Default is 10.').optional(),
|
||||
page: z.number().title('Page').describe('Page number. Default is 1.').optional(),
|
||||
sortBy: z.enum(['best', 'top', 'new', 'old']).title('SortBy').describe('Sort order of the results.').optional(),
|
||||
nextToken: z.string().title('Next Token').optional().describe('Page number. Starts at 1'),
|
||||
}),
|
||||
},
|
||||
output: {
|
||||
schema: z.object({
|
||||
results: z
|
||||
.array(
|
||||
z
|
||||
.object({
|
||||
id: z.string().title('ID').describe('Comment ID'),
|
||||
upvoted: z.boolean().optional().title('Upvoted').describe('Whether the comment is upvoted'),
|
||||
downvoted: z.boolean().optional().title('Downvoted').describe('Whether the comment is downvoted'),
|
||||
inReview: z.boolean().optional().title('In Review').describe('Whether the comment is in review'),
|
||||
isSpam: z.boolean().optional().title('Is Spam').describe('Whether the comment is marked as spam'),
|
||||
pinned: z.boolean().optional().title('Pinned').describe('Whether the comment is pinned'),
|
||||
emailSent: z.boolean().optional().title('Email Sent').describe('Whether an email notification was sent'),
|
||||
sendNotification: z
|
||||
.boolean()
|
||||
.optional()
|
||||
.title('Send Notification')
|
||||
.describe('Whether to send notifications'),
|
||||
organization: z.string().optional().title('Organization').describe('Organization ID'),
|
||||
submission: z.string().optional().title('Submission').describe('Submission ID'),
|
||||
author: z.string().optional().title('Author').describe('Author name'),
|
||||
authorId: z.string().optional().title('Author ID').describe('Author ID'),
|
||||
authorPicture: z.string().optional().title('Author Picture').describe('Author profile picture URL'),
|
||||
isPrivate: z.boolean().optional().title('Is Private').describe('Whether the comment is private'),
|
||||
isDeleted: z.boolean().optional().title('Is Deleted').describe('Whether the comment is deleted'),
|
||||
content: z.string().optional().title('Content').describe('Comment content'),
|
||||
upvotes: z.number().optional().title('Upvotes').describe('Number of upvotes'),
|
||||
downvotes: z.number().optional().title('Downvotes').describe('Number of downvotes'),
|
||||
parentComment: z.string().nullable().optional().title('Parent Comment').describe('Parent comment ID'),
|
||||
path: z.string().optional().title('Path').describe('Comment path'),
|
||||
})
|
||||
.title('Comment')
|
||||
.describe('Represent a single comment.')
|
||||
)
|
||||
.title('Comments')
|
||||
.describe('A list of comments.'),
|
||||
}),
|
||||
},
|
||||
} satisfies ActionDefinition
|
||||
Reference in New Issue
Block a user