import { createTypedValidator } from '@takeshape/json-schema';
import * as agentAttachment from "./agent-attachment.js";
export const shapeName = 'TSChatArgs';
export const schema = {
    type: 'object',
    properties: {
        input: {
            type: 'string',
            description: 'The chat message input from the user.'
        },
        attachments: {
            type: 'array',
            description: 'Optional attachments to send with the chat message. Supported media types depends on LLM',
            items: agentAttachment.schema
        }
    },
    required: ['input'],
    additionalProperties: false
};
export const shapeSchema = {
    ...schema,
    properties: {
        ...schema.properties,
        attachments: {
            type: 'array',
            items: { '@ref': agentAttachment.shapeName }
        }
    }
};
export const validate = createTypedValidator(schema);
