@tanstack/ai
Version:
Core TanStack AI library - Open source AI SDK
50 lines (49 loc) • 1.07 kB
JavaScript
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