Files
oh-my-pi/docs
Larry Gordon a50bcd5fed fix(extensions): wire invokeTool to the extension path as same-tool delegation
Addresses PR review. The initial version put invokeTool on AgentToolContext
via ToolContextStore, but the extension execute path (RegisteredToolAdapter)
builds its own ExtensionContext and never saw it, so the documented
registerTool wrapper use case did not work. It also allowed arbitrary
cross-tool targets (bypassing the target's approval policy), used a
session-global recursion counter that tripped on concurrent independent
delegations, and missed discoverable built-ins that xdev partitioning moves
out of the tool array.

Rework:
- Move invokeTool onto ExtensionContext, and bind it in RegisteredToolAdapter
  to the tool's own name, so a re-registered built-in actually receives it.
- Make delegation same-tool only: invokeTool takes just (params, options) and
  runs the native built-in of the caller's own name. It cannot reach an
  arbitrary target, so it cannot escalate past the approval already granted
  for the call, and the native call is not re-gated.
- Track recursion depth per call chain (threaded through invokeNativeTool and
  createContext) instead of session-global state, so concurrent delegations
  do not interfere.
- Seed the native resolver from the xdev registry when present (it retains
  discoverable built-ins like browser), else the built-in registry.

Replaces the ToolContextStore-level unit test with an end-to-end test that
registers a built-in wrapper through the extension/session path and asserts
the native tool runs the wrapper's delegated input.
2026-07-30 10:35:12 -07:00
..
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-12 14:43:35 +02:00
2026-06-12 14:43:35 +02:00
2026-05-31 04:36:14 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00
2026-06-17 04:37:39 +02:00