mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
feat(coding-agent): stop waiting for MCP servers on the first prompt
The first prompt waits only for servers with direct tools. Other servers connect in the background; codemode scripts, tool_search, and the resource tools wait for the servers they need. codemode and tool_search are activated from the config. Tool declarations no longer depend on connected servers: the codemode description leaves out deferred tools, and the tool_search description no longer lists sources. Servers are listed in an mcp_servers system prompt section instead, set in before_agent_start from the config and connected state, so changes are appended to the conversation. describeNamespace() and searchTools() accept mcp__dev-radius, mcp__dev_radius, dev-radius, and dev_radius. closes #10212
This commit is contained in:
parent
2bbfcca437
commit
e029c3ed0a
13 changed files with 550 additions and 172 deletions
|
|
@ -177,7 +177,7 @@ pi.on("tool_call", async (event, ctx) => {
|
|||
});
|
||||
```
|
||||
|
||||
A tool that orchestrates other tools can adjust what the model sees while it is active with `prepareLoadout(loadout)`. It runs whenever the active tools change and receives the declared tools, the callable tools, and every registered tool with its exposure and namespace. It returns replacement `descriptions` for declared tools (including its own) and `hiddenDeclarations`: active tools whose declarations requests leave out while they stay active and callable. `codemode` and `tool_search` use only this hook, `exposure`, and `ctx.executeTool()`, so another tool can implement the same behavior under a different name.
|
||||
A tool that orchestrates other tools can adjust what the model sees while it is active with `prepareLoadout(loadout)`. It runs whenever the active tools change and receives the declared tools, the callable tools, and every registered tool with its exposure and namespace. It returns replacement `descriptions` for declared tools (including its own) and `hiddenDeclarations`: active tools whose declarations requests leave out while they stay active and callable. `codemode` uses only this hook, `exposure`, and `ctx.executeTool()`, so another tool can implement the same behavior under a different name.
|
||||
|
||||
### Activate tools dynamically
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue