"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDefaultMessageRegistry = createDefaultMessageRegistry;
const jsx_runtime_1 = require("react/jsx-runtime");
const messageTypeRegistry_1 = require("../../../utils/messageTypeRegistry.js");
const MarkdownRenderer_1 = require("../../atoms/MarkdownRenderer/index.js");
const ThinkingMessage_1 = require("../ThinkingMessage/index.js");
const ToolMessage_1 = require("../ToolMessage/index.js");
function createDefaultMessageRegistry(transformOptions, shouldParseIncompleteMarkdown) {
    const registry = (0, messageTypeRegistry_1.createMessageRendererRegistry)();
    (0, messageTypeRegistry_1.registerMessageRenderer)(registry, 'text', {
        component: ({ part }) => ((0, jsx_runtime_1.jsx)(MarkdownRenderer_1.MarkdownRenderer, { content: part.data.text, transformOptions: transformOptions, shouldParseIncompleteMarkdown: shouldParseIncompleteMarkdown })),
    });
    (0, messageTypeRegistry_1.registerMessageRenderer)(registry, 'tool', {
        component: ({ part }) => (0, jsx_runtime_1.jsx)(ToolMessage_1.ToolMessage, Object.assign({}, part.data)),
    });
    (0, messageTypeRegistry_1.registerMessageRenderer)(registry, 'thinking', {
        component: ({ part }) => (0, jsx_runtime_1.jsx)(ThinkingMessage_1.ThinkingMessage, Object.assign({}, part.data)),
    });
    return registry;
}
//# sourceMappingURL=defaultMessageTypeRegistry.js.map
