MCPcopy
hub / github.com/TanStack/ai / createToolRegistry

Function createToolRegistry

packages/ai/src/tool-registry.ts:78–108  ·  view source on GitHub ↗
(
  initialTools: Array<TTool> = [],
)

Source from the content-addressed store, hash-verified

76 * ```
77 */
78export function createToolRegistry<TTool extends AnyTool = AnyTool>(
79 initialTools: Array<TTool> = [],
80): ToolRegistry<TTool> {
81 const tools = new Map<string, TTool>()
82
83 for (const tool of initialTools) {
84 tools.set(tool.name, tool)
85 }
86
87 return {
88 getTools: () => Array.from(tools.values()),
89
90 add: (tool: TTool) => {
91 tools.set(tool.name, tool)
92 },
93
94 remove: (name: string) => {
95 return tools.delete(name)
96 },
97
98 has: (name: string) => {
99 return tools.has(name)
100 },
101
102 get: (name: string) => {
103 return tools.get(name)
104 },
105
106 isFrozen: false,
107 }
108}
109
110/**
111 * Create a frozen (immutable) tool registry from a tools array.

Callers 2

codeModeWithSkillsFunction · 0.90
type-check.test.tsFile · 0.90

Calls 6

fromMethod · 0.80
valuesMethod · 0.80
hasMethod · 0.80
setMethod · 0.65
deleteMethod · 0.65
getMethod · 0.65

Tested by

no test coverage detected