UNPKG

@tanstack/ai

Version:

Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.

50 lines (49 loc) 1.07 kB
function createToolRegistry(initialTools = []) { const tools = /* @__PURE__ */ new Map(); for (const tool of initialTools) { tools.set(tool.name, tool); } return { getTools: () => Array.from(tools.values()), add: (tool) => { tools.set(tool.name, tool); }, remove: (name) => { return tools.delete(name); }, has: (name) => { return tools.has(name); }, get: (name) => { return tools.get(name); }, isFrozen: false }; } function createFrozenRegistry(tools = []) { const toolMap = /* @__PURE__ */ new Map(); for (const tool of tools) { toolMap.set(tool.name, tool); } const frozenTools = Object.freeze([...tools]); return { getTools: () => [...frozenTools], add: (_tool) => { }, remove: (_name) => { return false; }, has: (name) => { return toolMap.has(name); }, get: (name) => { return toolMap.get(name); }, isFrozen: true }; } export { createFrozenRegistry, createToolRegistry }; //# sourceMappingURL=tool-registry.js.map