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

58 lines
1.9 KiB
TypeScript

import { z } from '@botpress/sdk'
import { ActionDef } from './types'
export const getLabel = {
title: 'Get Label',
description: 'Gets the specified label by its ID.',
input: {
schema: z.object({
id: z.string().title('Label ID').describe('The ID of the label to retrieve.'),
}),
},
output: {
schema: z.object({
id: z.string().optional().title('Label ID').describe('The immutable ID of the label.'),
name: z.string().optional().title('Name').describe('The display name of the label.'),
type: z.string().optional().title('Type').describe('The owner type for the label (system or user).'),
messageListVisibility: z
.string()
.optional()
.title('Message List Visibility')
.describe('The visibility of messages with this label in the message list.'),
labelListVisibility: z
.string()
.optional()
.title('Label List Visibility')
.describe('The visibility of the label in the label list.'),
messagesTotal: z
.number()
.optional()
.title('Messages Total')
.describe('The total number of messages with the label.'),
messagesUnread: z
.number()
.optional()
.title('Messages Unread')
.describe('The number of unread messages with the label.'),
threadsTotal: z
.number()
.optional()
.title('Threads Total')
.describe('The total number of threads with the label.'),
threadsUnread: z
.number()
.optional()
.title('Threads Unread')
.describe('The number of unread threads with the label.'),
color: z
.object({
backgroundColor: z.string().optional().describe('The background color.'),
textColor: z.string().optional().describe('The text color.'),
})
.optional()
.title('Color')
.describe('The color to assign to the label.'),
}),
},
} as const satisfies ActionDef