MCPcopy
hub / github.com/continuedev/continue / getRequestTools

Function getRequestTools

extensions/cli/src/stream/handleToolCalls.ts:172–196  ·  view source on GitHub ↗
(isHeadless: boolean)

Source from the content-addressed store, hash-verified

170}
171
172export async function getRequestTools(isHeadless: boolean) {
173 const availableTools = await getAllAvailableTools(isHeadless);
174
175 const permissionsState =
176 await serviceContainer.get<ToolPermissionServiceState>(
177 SERVICE_NAMES.TOOL_PERMISSIONS,
178 );
179
180 const allowedTools: Tool[] = [];
181 for (const tool of availableTools) {
182 const result = checkToolPermission(
183 { name: tool.name, arguments: {} },
184 permissionsState.permissions,
185 );
186
187 if (
188 result.permission === "allow" ||
189 (result.permission === "ask" && !isHeadless)
190 ) {
191 allowedTools.push(tool);
192 }
193 }
194
195 return allowedTools.map(convertToolToChatCompletionTool);
196}

Calls 3

getAllAvailableToolsFunction · 0.85
checkToolPermissionFunction · 0.85
pushMethod · 0.65

Tested by

no test coverage detected