swit-message-create
Send a message to a Swit channel, supporting plain text or markdown content, assets, and attachments.
Instructions
Send message to channel
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes | ||
| content | No | ||
| body_type | No | plain | |
| assets | No | ||
| attachments | No | ||
| external_asset_type | No |
Implementation Reference
- src/handlers/core.handlers.ts:21-24 (handler)Handler function that parses args with MessageCreateArgsSchema and calls switClient.createMessage()
export const handleMessageCreate = async (switClient: SwitClient, args: any) => { const validatedArgs = MessageCreateArgsSchema.parse(args); return await switClient.createMessage(validatedArgs); }; - src/schemas.ts:67-74 (schema)Zod schema defining input args: channel_id (required), content, body_type, assets, attachments, external_asset_type
export const MessageCreateArgsSchema = z.object({ channel_id: z.string(), content: z.string().optional(), body_type: z.enum(['plain', 'markdown']).default('plain').optional(), assets: z.array(z.any()).optional(), attachments: z.record(z.any()).optional(), external_asset_type: z.string().optional(), }); - src/tools/core.tools.ts:22-26 (registration)Tool registration with name 'swit-message-create', description, and input schema
{ name: 'swit-message-create', description: 'Send message to channel', inputSchema: zodToJsonSchema(MessageCreateArgsSchema), }, - src/swit-client.ts:62-65 (helper)SwitClient.createMessage() sends POST to /api/message.create with the validated args
async createMessage(args: MessageCreateArgs): Promise<MessageCreateResponse> { const response = await this.client.post('/api/message.create', args); return response.data; } - src/handlers/core.handlers.ts:44-48 (registration)Handler registration mapping 'swit-message-create' string to handleMessageCreate function via coreHandlers factory
'swit-message-create': (args: any) => handleMessageCreate(switClient, args), 'swit-message-comment-create': (args: any) => handleMessageCommentCreate(switClient, args), 'swit-message-comment-list': (args: any) => handleMessageCommentList(switClient, args), 'swit-project-list': (args: any) => handleProjectList(switClient, args), });