MCPcopy Create free account
hub / github.com/Noumena-Network/code / createToolUseContextGetter

Function createToolUseContextGetter

src/session/replRuntimeContext.ts:111–280  ·  view source on GitHub ↗
(
  deps: ToolUseContextDeps,
  providers: ToolAssemblyProviders = defaultToolAssemblyProviders,
)

Source from the content-addressed store, hash-verified

109}
110
111export function createToolUseContextGetter(
112 deps: ToolUseContextDeps,
113 providers: ToolAssemblyProviders = defaultToolAssemblyProviders,
114): (
115 messages: MessageType[],
116 newMessages: MessageType[],
117 abortController: AbortController,
118 mainLoopModel: string,
119) => ProcessUserInputContext {
120 return (
121 messages,
122 newMessages,
123 abortController,
124 mainLoopModel,
125 ): ProcessUserInputContext => {
126 const computeTools = () => {
127 const state = deps.store.getState()
128 const assembled = providers.assembleToolPool(
129 state.toolPermissionContext,
130 state.mcp.tools,
131 )
132 const filteredInitialTools = providers.filterToolsByDenyRules(
133 deps.combinedInitialTools,
134 state.toolPermissionContext,
135 )
136 const merged = providers.mergeAndFilterTools(
137 filteredInitialTools,
138 assembled,
139 state.toolPermissionContext.mode,
140 )
141 if (!deps.mainThreadAgentDefinition) {
142 return merged
143 }
144 return providers.resolveAgentTools(
145 deps.mainThreadAgentDefinition,
146 merged,
147 false,
148 true,
149 ).resolvedTools
150 }
151
152 const state = deps.store.getState()
153 return {
154 abortController,
155 options: {
156 commands: deps.commands,
157 tools: computeTools(),
158 debug: deps.debug,
159 verbose: state.verbose,
160 mainLoopModel,
161 thinkingConfig:
162 state.thinkingEnabled !== false
163 ? deps.thinkingConfig
164 : { type: 'disabled' },
165 mcpClients: providers.mergeClients(
166 deps.initialMcpClients,
167 state.mcp.clients,
168 ),

Callers 2

REPLFunction · 0.85

Calls 3

computeToolsFunction · 0.85
isInternalBuildFunction · 0.85
sendNotificationFunction · 0.50

Tested by

no test coverage detected