@namzu/sdk 0.6.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +529 -0
- package/dist/advisory/executor.d.ts.map +1 -1
- package/dist/advisory/executor.js +9 -2
- package/dist/advisory/executor.js.map +1 -1
- package/dist/advisory/executor.test.d.ts +2 -1
- package/dist/advisory/executor.test.d.ts.map +1 -1
- package/dist/advisory/executor.test.js +7 -4
- package/dist/advisory/executor.test.js.map +1 -1
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +7 -0
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts +22 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +54 -14
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/__tests__/supervisor-ledger.test.d.ts +2 -0
- package/dist/agents/__tests__/supervisor-ledger.test.d.ts.map +1 -0
- package/dist/agents/__tests__/supervisor-ledger.test.js +131 -0
- package/dist/agents/__tests__/supervisor-ledger.test.js.map +1 -0
- package/dist/bridge/sse/mapper.test.js +2 -2
- package/dist/config/runtime.d.ts +24 -0
- package/dist/config/runtime.d.ts.map +1 -1
- package/dist/config/runtime.js +9 -0
- package/dist/config/runtime.js.map +1 -1
- package/dist/connector/builtins/webhook.test.js +17 -0
- package/dist/connector/builtins/webhook.test.js.map +1 -1
- package/dist/connector/index.d.ts +1 -0
- package/dist/connector/index.d.ts.map +1 -1
- package/dist/connector/index.js +1 -0
- package/dist/connector/index.js.map +1 -1
- package/dist/connector/mcp/client.d.ts.map +1 -1
- package/dist/connector/mcp/client.js +4 -0
- package/dist/connector/mcp/client.js.map +1 -1
- package/dist/connector/mcp/index.d.ts +1 -0
- package/dist/connector/mcp/index.d.ts.map +1 -1
- package/dist/connector/mcp/index.js +1 -0
- package/dist/connector/mcp/index.js.map +1 -1
- package/dist/connector/mcp/streamable-http.d.ts +22 -0
- package/dist/connector/mcp/streamable-http.d.ts.map +1 -0
- package/dist/connector/mcp/streamable-http.js +128 -0
- package/dist/connector/mcp/streamable-http.js.map +1 -0
- package/dist/connector/mcp/streamable-http.test.d.ts +2 -0
- package/dist/connector/mcp/streamable-http.test.d.ts.map +1 -0
- package/dist/connector/mcp/streamable-http.test.js +132 -0
- package/dist/connector/mcp/streamable-http.test.js.map +1 -0
- package/dist/constants/compaction/index.d.ts.map +1 -1
- package/dist/constants/compaction/index.js +8 -3
- package/dist/constants/compaction/index.js.map +1 -1
- package/dist/constants/sandbox/index.d.ts +21 -0
- package/dist/constants/sandbox/index.d.ts.map +1 -1
- package/dist/constants/sandbox/index.js +30 -0
- package/dist/constants/sandbox/index.js.map +1 -1
- package/dist/constants/tools/index.d.ts.map +1 -1
- package/dist/constants/tools/index.js +33 -2
- package/dist/constants/tools/index.js.map +1 -1
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +35 -5
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/persona/assembler.d.ts +1 -0
- package/dist/persona/assembler.d.ts.map +1 -1
- package/dist/persona/assembler.js +37 -6
- package/dist/persona/assembler.js.map +1 -1
- package/dist/provider/collect.d.ts.map +1 -1
- package/dist/provider/collect.js +4 -1
- package/dist/provider/collect.js.map +1 -1
- package/dist/provider/collect.test.js +2 -2
- package/dist/public-runtime.d.ts +6 -5
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +6 -5
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +2 -0
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +2 -0
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +3 -0
- package/dist/public-types.d.ts.map +1 -1
- package/dist/registry/index.d.ts +2 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +1 -0
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/tool/execute.d.ts +27 -0
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +192 -7
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/registry/tool/execute.test.d.ts +9 -4
- package/dist/registry/tool/execute.test.d.ts.map +1 -1
- package/dist/registry/tool/execute.test.js +178 -7
- package/dist/registry/tool/execute.test.js.map +1 -1
- package/dist/registry/toolset/catalog.d.ts +42 -0
- package/dist/registry/toolset/catalog.d.ts.map +1 -0
- package/dist/registry/toolset/catalog.js +217 -0
- package/dist/registry/toolset/catalog.js.map +1 -0
- package/dist/registry/toolset/catalog.test.d.ts +2 -0
- package/dist/registry/toolset/catalog.test.d.ts.map +1 -0
- package/dist/registry/toolset/catalog.test.js +147 -0
- package/dist/registry/toolset/catalog.test.js.map +1 -0
- package/dist/runtime/query/__tests__/deferred-tools.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/deferred-tools.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/deferred-tools.test.js +185 -0
- package/dist/runtime/query/__tests__/deferred-tools.test.js.map +1 -0
- package/dist/runtime/query/__tests__/executor-concurrency.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/executor-concurrency.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/executor-concurrency.test.js +98 -0
- package/dist/runtime/query/__tests__/executor-concurrency.test.js.map +1 -0
- package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js +38 -3
- package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js.map +1 -1
- package/dist/runtime/query/__tests__/long-document-flow.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/long-document-flow.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/long-document-flow.test.js +154 -0
- package/dist/runtime/query/__tests__/long-document-flow.test.js.map +1 -0
- package/dist/runtime/query/__tests__/prompt.test.js +51 -2
- package/dist/runtime/query/__tests__/prompt.test.js.map +1 -1
- package/dist/runtime/query/__tests__/stream-recovery.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/stream-recovery.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/stream-recovery.test.js +126 -0
- package/dist/runtime/query/__tests__/stream-recovery.test.js.map +1 -0
- package/dist/runtime/query/continuation.d.ts +16 -0
- package/dist/runtime/query/continuation.d.ts.map +1 -0
- package/dist/runtime/query/continuation.js +16 -0
- package/dist/runtime/query/continuation.js.map +1 -0
- package/dist/runtime/query/executor.d.ts +3 -0
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +71 -3
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/index.d.ts +9 -0
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +42 -5
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +24 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +326 -66
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/checkpoint.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/checkpoint.js +2 -2
- package/dist/runtime/query/iteration/phases/checkpoint.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.d.ts +8 -0
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +84 -3
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +22 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js +53 -0
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/hitl-abort-race.test.d.ts +2 -0
- package/dist/runtime/query/iteration/phases/hitl-abort-race.test.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/hitl-abort-race.test.js +73 -0
- package/dist/runtime/query/iteration/phases/hitl-abort-race.test.js.map +1 -0
- package/dist/runtime/query/iteration/phases/hitl-answer-question.test.d.ts +2 -0
- package/dist/runtime/query/iteration/phases/hitl-answer-question.test.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/hitl-answer-question.test.js +120 -0
- package/dist/runtime/query/iteration/phases/hitl-answer-question.test.js.map +1 -0
- package/dist/runtime/query/iteration/phases/tool-review.d.ts +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +7 -2
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/phases/working-memory-compaction.test.d.ts +19 -0
- package/dist/runtime/query/iteration/phases/working-memory-compaction.test.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/working-memory-compaction.test.js +177 -0
- package/dist/runtime/query/iteration/phases/working-memory-compaction.test.js.map +1 -0
- package/dist/runtime/query/iteration/phases/working-memory.d.ts +31 -0
- package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -0
- package/dist/runtime/query/iteration/phases/working-memory.js +81 -0
- package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -0
- package/dist/runtime/query/prompt.d.ts.map +1 -1
- package/dist/runtime/query/prompt.js +21 -1
- package/dist/runtime/query/prompt.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +1 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +1 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/sandbox/provider/local.d.ts.map +1 -1
- package/dist/sandbox/provider/local.js +32 -1
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/session/workspace/__tests__/shared-run.test.d.ts +2 -0
- package/dist/session/workspace/__tests__/shared-run.test.d.ts.map +1 -0
- package/dist/session/workspace/__tests__/shared-run.test.js +147 -0
- package/dist/session/workspace/__tests__/shared-run.test.js.map +1 -0
- package/dist/session/workspace/index.d.ts +2 -0
- package/dist/session/workspace/index.d.ts.map +1 -1
- package/dist/session/workspace/index.js +1 -0
- package/dist/session/workspace/index.js.map +1 -1
- package/dist/session/workspace/shared-run.d.ts +81 -0
- package/dist/session/workspace/shared-run.d.ts.map +1 -0
- package/dist/session/workspace/shared-run.js +252 -0
- package/dist/session/workspace/shared-run.js.map +1 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +36 -6
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/loader.test.d.ts +2 -0
- package/dist/skills/loader.test.d.ts.map +1 -0
- package/dist/skills/loader.test.js +65 -0
- package/dist/skills/loader.test.js.map +1 -0
- package/dist/streaming/coalesce.test.js +1 -1
- package/dist/streaming/coalesce.test.js.map +1 -1
- package/dist/tools/builtins/__tests__/edit.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/edit.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/edit.test.js +38 -0
- package/dist/tools/builtins/__tests__/edit.test.js.map +1 -0
- package/dist/tools/builtins/__tests__/payload-budget.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/payload-budget.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/payload-budget.test.js +70 -0
- package/dist/tools/builtins/__tests__/payload-budget.test.js.map +1 -0
- package/dist/tools/builtins/__tests__/read-file.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/read-file.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/read-file.test.js +33 -0
- package/dist/tools/builtins/__tests__/read-file.test.js.map +1 -0
- package/dist/tools/builtins/__tests__/verify-outputs.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/verify-outputs.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/verify-outputs.test.js +52 -0
- package/dist/tools/builtins/__tests__/verify-outputs.test.js.map +1 -0
- package/dist/tools/builtins/__tests__/write-file.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/write-file.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/write-file.test.js +74 -0
- package/dist/tools/builtins/__tests__/write-file.test.js.map +1 -0
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +40 -7
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/edit.d.ts +5 -2
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +114 -18
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/index.d.ts +1 -0
- package/dist/tools/builtins/index.d.ts.map +1 -1
- package/dist/tools/builtins/index.js +13 -13
- package/dist/tools/builtins/index.js.map +1 -1
- package/dist/tools/builtins/read-file.d.ts +1 -0
- package/dist/tools/builtins/read-file.d.ts.map +1 -1
- package/dist/tools/builtins/read-file.js +73 -10
- package/dist/tools/builtins/read-file.js.map +1 -1
- package/dist/tools/builtins/search-tools.d.ts.map +1 -1
- package/dist/tools/builtins/search-tools.js +35 -7
- package/dist/tools/builtins/search-tools.js.map +1 -1
- package/dist/tools/builtins/verify-outputs.d.ts +5 -0
- package/dist/tools/builtins/verify-outputs.d.ts.map +1 -0
- package/dist/tools/builtins/verify-outputs.js +103 -0
- package/dist/tools/builtins/verify-outputs.js.map +1 -0
- package/dist/tools/builtins/write-file.d.ts +3 -2
- package/dist/tools/builtins/write-file.d.ts.map +1 -1
- package/dist/tools/builtins/write-file.js +72 -12
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/coordinator/__tests__/agent.test.d.ts +15 -0
- package/dist/tools/coordinator/__tests__/agent.test.d.ts.map +1 -0
- package/dist/tools/coordinator/__tests__/agent.test.js +142 -0
- package/dist/tools/coordinator/__tests__/agent.test.js.map +1 -0
- package/dist/tools/coordinator/__tests__/approve-plan.test.d.ts +2 -0
- package/dist/tools/coordinator/__tests__/approve-plan.test.d.ts.map +1 -0
- package/dist/tools/coordinator/__tests__/approve-plan.test.js +114 -0
- package/dist/tools/coordinator/__tests__/approve-plan.test.js.map +1 -0
- package/dist/tools/coordinator/__tests__/ask-user-question.test.d.ts +2 -0
- package/dist/tools/coordinator/__tests__/ask-user-question.test.d.ts.map +1 -0
- package/dist/tools/coordinator/__tests__/ask-user-question.test.js +309 -0
- package/dist/tools/coordinator/__tests__/ask-user-question.test.js.map +1 -0
- package/dist/tools/coordinator/__tests__/task-list.test.d.ts +13 -0
- package/dist/tools/coordinator/__tests__/task-list.test.d.ts.map +1 -0
- package/dist/tools/coordinator/__tests__/task-list.test.js +162 -0
- package/dist/tools/coordinator/__tests__/task-list.test.js.map +1 -0
- package/dist/tools/coordinator/agent.d.ts +34 -0
- package/dist/tools/coordinator/agent.d.ts.map +1 -0
- package/dist/tools/coordinator/agent.js +107 -0
- package/dist/tools/coordinator/agent.js.map +1 -0
- package/dist/tools/coordinator/index.d.ts +15 -0
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +305 -35
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/types/agent/base.d.ts +8 -0
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/index.d.ts +1 -0
- package/dist/types/agent/index.d.ts.map +1 -1
- package/dist/types/agent/index.js +1 -0
- package/dist/types/agent/index.js.map +1 -1
- package/dist/types/agent/reactive.d.ts +38 -0
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/agent/supervisor.d.ts +32 -0
- package/dist/types/agent/supervisor.d.ts.map +1 -1
- package/dist/types/agent/working-memory.d.ts +29 -0
- package/dist/types/agent/working-memory.d.ts.map +1 -0
- package/dist/types/agent/working-memory.js +2 -0
- package/dist/types/agent/working-memory.js.map +1 -0
- package/dist/types/common/index.d.ts +10 -0
- package/dist/types/common/index.d.ts.map +1 -1
- package/dist/types/common/index.js +18 -0
- package/dist/types/common/index.js.map +1 -1
- package/dist/types/common/usage-merge.test.d.ts +2 -0
- package/dist/types/common/usage-merge.test.d.ts.map +1 -0
- package/dist/types/common/usage-merge.test.js +48 -0
- package/dist/types/common/usage-merge.test.js.map +1 -0
- package/dist/types/connector/mcp.d.ts +9 -2
- package/dist/types/connector/mcp.d.ts.map +1 -1
- package/dist/types/hitl/index.d.ts +42 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js +11 -0
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/message/index.d.ts +22 -1
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +7 -2
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/provider/chat.d.ts +11 -9
- package/dist/types/provider/chat.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +6 -0
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/sandbox/index.d.ts +193 -0
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/skills/index.d.ts +2 -0
- package/dist/types/skills/index.d.ts.map +1 -1
- package/dist/types/tool/index.d.ts +22 -0
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/toolset/index.d.ts +71 -0
- package/dist/types/toolset/index.d.ts.map +1 -0
- package/dist/types/toolset/index.js +2 -0
- package/dist/types/toolset/index.js.map +1 -0
- package/dist/types/workspace/index.d.ts +1 -0
- package/dist/types/workspace/index.d.ts.map +1 -1
- package/dist/types/workspace/shared-run.d.ts +61 -0
- package/dist/types/workspace/shared-run.d.ts.map +1 -0
- package/dist/types/workspace/shared-run.js +2 -0
- package/dist/types/workspace/shared-run.js.map +1 -0
- package/dist/verification/index.d.ts +1 -0
- package/dist/verification/index.d.ts.map +1 -1
- package/dist/verification/index.js +1 -0
- package/dist/verification/index.js.map +1 -1
- package/dist/verification/presets.d.ts +53 -0
- package/dist/verification/presets.d.ts.map +1 -0
- package/dist/verification/presets.js +70 -0
- package/dist/verification/presets.js.map +1 -0
- package/dist/verification/presets.test.d.ts +16 -0
- package/dist/verification/presets.test.d.ts.map +1 -0
- package/dist/verification/presets.test.js +79 -0
- package/dist/verification/presets.test.js.map +1 -0
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +25 -4
- package/dist/version.js.map +1 -1
- package/package.json +3 -2
- package/src/advisory/executor.test.ts +7 -4
- package/src/advisory/executor.ts +11 -2
- package/src/agents/ReactiveAgent.ts +7 -0
- package/src/agents/SupervisorAgent.ts +63 -16
- package/src/agents/__tests__/supervisor-ledger.test.ts +185 -0
- package/src/bridge/sse/mapper.test.ts +2 -2
- package/src/config/runtime.ts +9 -0
- package/src/connector/builtins/webhook.test.ts +21 -0
- package/src/connector/index.ts +1 -0
- package/src/connector/mcp/client.ts +4 -0
- package/src/connector/mcp/index.ts +1 -0
- package/src/connector/mcp/streamable-http.test.ts +169 -0
- package/src/connector/mcp/streamable-http.ts +152 -0
- package/src/constants/compaction/index.ts +8 -3
- package/src/constants/sandbox/index.ts +37 -0
- package/src/constants/tools/index.ts +33 -2
- package/src/manager/run/persistence.ts +34 -6
- package/src/persona/assembler.ts +43 -8
- package/src/provider/collect.test.ts +2 -2
- package/src/provider/collect.ts +4 -1
- package/src/public-runtime.ts +15 -1
- package/src/public-tools.ts +2 -0
- package/src/public-types.ts +7 -0
- package/src/registry/index.ts +7 -0
- package/src/registry/tool/execute.test.ts +211 -7
- package/src/registry/tool/execute.ts +199 -11
- package/src/registry/toolset/catalog.test.ts +165 -0
- package/src/registry/toolset/catalog.ts +283 -0
- package/src/runtime/query/__tests__/deferred-tools.test.ts +230 -0
- package/src/runtime/query/__tests__/executor-concurrency.test.ts +122 -0
- package/src/runtime/query/__tests__/executor-plugin-hooks.test.ts +48 -3
- package/src/runtime/query/__tests__/long-document-flow.test.ts +180 -0
- package/src/runtime/query/__tests__/prompt.test.ts +55 -2
- package/src/runtime/query/__tests__/stream-recovery.test.ts +156 -0
- package/src/runtime/query/continuation.ts +16 -0
- package/src/runtime/query/executor.ts +82 -13
- package/src/runtime/query/index.ts +58 -5
- package/src/runtime/query/iteration/index.ts +361 -74
- package/src/runtime/query/iteration/phases/checkpoint.ts +7 -2
- package/src/runtime/query/iteration/phases/compaction.ts +89 -3
- package/src/runtime/query/iteration/phases/context.ts +68 -0
- package/src/runtime/query/iteration/phases/hitl-abort-race.test.ts +86 -0
- package/src/runtime/query/iteration/phases/hitl-answer-question.test.ts +139 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +7 -3
- package/src/runtime/query/iteration/phases/working-memory-compaction.test.ts +215 -0
- package/src/runtime/query/iteration/phases/working-memory.ts +86 -0
- package/src/runtime/query/prompt.ts +17 -1
- package/src/runtime/query/tooling.ts +2 -0
- package/src/sandbox/provider/local.ts +33 -0
- package/src/session/workspace/__tests__/shared-run.test.ts +181 -0
- package/src/session/workspace/index.ts +6 -0
- package/src/session/workspace/shared-run.ts +317 -0
- package/src/skills/loader.test.ts +89 -0
- package/src/skills/loader.ts +37 -6
- package/src/streaming/coalesce.test.ts +4 -4
- package/src/tools/builtins/__tests__/edit.test.ts +57 -0
- package/src/tools/builtins/__tests__/payload-budget.test.ts +92 -0
- package/src/tools/builtins/__tests__/read-file.test.ts +43 -0
- package/src/tools/builtins/__tests__/verify-outputs.test.ts +71 -0
- package/src/tools/builtins/__tests__/write-file.test.ts +97 -0
- package/src/tools/builtins/bash.ts +48 -7
- package/src/tools/builtins/edit.ts +162 -27
- package/src/tools/builtins/index.ts +13 -13
- package/src/tools/builtins/read-file.ts +81 -10
- package/src/tools/builtins/search-tools.ts +42 -7
- package/src/tools/builtins/verify-outputs.ts +126 -0
- package/src/tools/builtins/write-file.ts +83 -14
- package/src/tools/coordinator/__tests__/agent.test.ts +172 -0
- package/src/tools/coordinator/__tests__/approve-plan.test.ts +139 -0
- package/src/tools/coordinator/__tests__/ask-user-question.test.ts +370 -0
- package/src/tools/coordinator/__tests__/task-list.test.ts +182 -0
- package/src/tools/coordinator/agent.ts +157 -0
- package/src/tools/coordinator/index.ts +355 -39
- package/src/types/agent/base.ts +8 -0
- package/src/types/agent/index.ts +1 -0
- package/src/types/agent/reactive.ts +42 -0
- package/src/types/agent/supervisor.ts +36 -0
- package/src/types/agent/working-memory.ts +29 -0
- package/src/types/common/index.ts +19 -0
- package/src/types/common/usage-merge.test.ts +53 -0
- package/src/types/connector/mcp.ts +14 -2
- package/src/types/hitl/index.ts +52 -1
- package/src/types/message/index.ts +32 -2
- package/src/types/provider/chat.ts +12 -9
- package/src/types/run/events.ts +6 -0
- package/src/types/sandbox/index.ts +219 -0
- package/src/types/skills/index.ts +4 -0
- package/src/types/tool/index.ts +24 -0
- package/src/types/toolset/index.ts +86 -0
- package/src/types/workspace/index.ts +9 -0
- package/src/types/workspace/shared-run.ts +65 -0
- package/src/verification/index.ts +1 -0
- package/src/verification/presets.test.ts +112 -0
- package/src/verification/presets.ts +72 -0
- package/src/version.ts +26 -4
|
@@ -4,6 +4,37 @@ import { GENAI, NAMZU, toolSpanName } from '../../telemetry/attributes.js';
|
|
|
4
4
|
import { getTracer } from '../../telemetry/runtime-accessors.js';
|
|
5
5
|
import { toErrorMessage } from '../../utils/error.js';
|
|
6
6
|
import { ManagedRegistry } from '../ManagedRegistry.js';
|
|
7
|
+
// Tokens too generic to identify a tool by name — ignored when matching a
|
|
8
|
+
// batched `search_tools` query so they can't activate the whole catalog
|
|
9
|
+
// (every bridged tool name shares the `clawtool` prefix, for instance).
|
|
10
|
+
// Generic CRUD verbs are stopped too: a query like "list deals" must rank
|
|
11
|
+
// by "deals", not token-match every `list_*` tool in the deferred catalog.
|
|
12
|
+
const SEARCH_STOP_TOKENS = new Set([
|
|
13
|
+
'clawtool',
|
|
14
|
+
'tool',
|
|
15
|
+
'tools',
|
|
16
|
+
'mcp',
|
|
17
|
+
'the',
|
|
18
|
+
'and',
|
|
19
|
+
'for',
|
|
20
|
+
'use',
|
|
21
|
+
'list',
|
|
22
|
+
'read',
|
|
23
|
+
'create',
|
|
24
|
+
'update',
|
|
25
|
+
'get',
|
|
26
|
+
'find',
|
|
27
|
+
'delete',
|
|
28
|
+
'search',
|
|
29
|
+
]);
|
|
30
|
+
// Weighted-scoring weights mirroring ToolCatalog.searchTools (the richer,
|
|
31
|
+
// otherwise-unused catalog scorer): exact name 12, name substring 8,
|
|
32
|
+
// description 5 — extended here with argument-name indexing (3), following
|
|
33
|
+
// Anthropic's tool-search practice of searching argument names too.
|
|
34
|
+
const SEARCH_WEIGHT_NAME_EXACT = 12;
|
|
35
|
+
const SEARCH_WEIGHT_NAME_PARTIAL = 8;
|
|
36
|
+
const SEARCH_WEIGHT_DESCRIPTION = 5;
|
|
37
|
+
const SEARCH_WEIGHT_ARGUMENT = 3;
|
|
7
38
|
export class ToolRegistry extends ManagedRegistry {
|
|
8
39
|
availability = new Map();
|
|
9
40
|
tierConfig;
|
|
@@ -80,9 +111,59 @@ export class ToolRegistry extends ManagedRegistry {
|
|
|
80
111
|
getAvailability(name) {
|
|
81
112
|
return this.availability.get(name) ?? 'active';
|
|
82
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Ranked lexical search over DEFERRED tools, score-descending (ties broken
|
|
116
|
+
* by name) so callers can cap activation at a top-k. Each meaningful query
|
|
117
|
+
* term (≥3 chars, not a stop token) is scored against the tool name
|
|
118
|
+
* (exact/substring), description, and argument names; only tools with a
|
|
119
|
+
* positive score are returned. Description matching is safe here precisely
|
|
120
|
+
* because the result is RANKED — the `search_tools` builtin activates only
|
|
121
|
+
* the top slice, so a shared word can no longer drag in the whole catalog.
|
|
122
|
+
*
|
|
123
|
+
* PARKED (phase 5 of the tool-loading plan): an embedding-backed semantic
|
|
124
|
+
* upgrade was evaluated and deliberately NOT built — at ≤~35 deferred
|
|
125
|
+
* in-house tools with distinct names, weighted lexical scoring sits inside
|
|
126
|
+
* the literature's safe zone, and a weak retriever underperforms no
|
|
127
|
+
* retriever at all. Revisit only when (a) the deferred catalog grows past
|
|
128
|
+
* ~75-100 tools (realistic driver: connector-MCP growth), or (b) telemetry
|
|
129
|
+
* shows a search_tools miss-rate above ~10%. Sticky activation is also
|
|
130
|
+
* deliberate: activating inserts the schema into the tools array at its
|
|
131
|
+
* registry position (a one-time prompt-cache prefix bust); re-defer/TTL
|
|
132
|
+
* would churn that prefix repeatedly and is rejected.
|
|
133
|
+
*/
|
|
83
134
|
searchDeferred(query) {
|
|
84
|
-
const q = query.toLowerCase();
|
|
85
|
-
|
|
135
|
+
const q = query.toLowerCase().trim();
|
|
136
|
+
if (q.length === 0)
|
|
137
|
+
return [];
|
|
138
|
+
const terms = q.split(/\s+/).filter((tok) => tok.length >= 3 && !SEARCH_STOP_TOKENS.has(tok));
|
|
139
|
+
if (terms.length === 0)
|
|
140
|
+
return [];
|
|
141
|
+
const scored = [];
|
|
142
|
+
for (const tool of this.getByAvailability(['deferred'])) {
|
|
143
|
+
const name = tool.name.toLowerCase();
|
|
144
|
+
const description = tool.description.toLowerCase();
|
|
145
|
+
const argumentNames = listArgumentNames(tool);
|
|
146
|
+
let score = 0;
|
|
147
|
+
for (const term of terms) {
|
|
148
|
+
if (name === term) {
|
|
149
|
+
score += SEARCH_WEIGHT_NAME_EXACT;
|
|
150
|
+
}
|
|
151
|
+
else if (name.includes(term)) {
|
|
152
|
+
score += SEARCH_WEIGHT_NAME_PARTIAL;
|
|
153
|
+
}
|
|
154
|
+
if (description.includes(term)) {
|
|
155
|
+
score += SEARCH_WEIGHT_DESCRIPTION;
|
|
156
|
+
}
|
|
157
|
+
if (argumentNames.some((arg) => arg.includes(term))) {
|
|
158
|
+
score += SEARCH_WEIGHT_ARGUMENT;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (score > 0) {
|
|
162
|
+
scored.push({ tool, score });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
scored.sort((a, b) => b.score - a.score || a.tool.name.localeCompare(b.tool.name));
|
|
166
|
+
return scored.map((entry) => entry.tool);
|
|
86
167
|
}
|
|
87
168
|
assignTiers(mapping) {
|
|
88
169
|
for (const [toolName, tierId] of Object.entries(mapping)) {
|
|
@@ -108,17 +189,35 @@ export class ToolRegistry extends ManagedRegistry {
|
|
|
108
189
|
const active = this.getByAvailability(['active'], toolNames);
|
|
109
190
|
const deferred = this.getByAvailability(['deferred'], toolNames);
|
|
110
191
|
const parts = [];
|
|
192
|
+
const contractNote = `<tool_runtime_contract>
|
|
193
|
+
Executable tool names, descriptions, and JSON input schemas are attached through the runtime tools parameter. Treat that runtime schema as authoritative; this prompt section is a discoverability summary only.
|
|
194
|
+
</tool_runtime_contract>`;
|
|
111
195
|
if (active.length > 0) {
|
|
112
|
-
|
|
196
|
+
// Name-only: every active tool's full description + JSON schema
|
|
197
|
+
// already rides the runtime tools parameter on each request —
|
|
198
|
+
// repeating descriptions here double-bills the same tokens.
|
|
199
|
+
const entries = active.map((t) => `- ${t.name}`).join('\n');
|
|
113
200
|
parts.push(`<available_tools>\n${entries}\n</available_tools>`);
|
|
114
201
|
}
|
|
115
202
|
if (deferred.length > 0) {
|
|
116
|
-
|
|
117
|
-
|
|
203
|
+
// Name + one-line hint: deferred schemas stay off the wire, so the
|
|
204
|
+
// hint is the model's only signal of what a deferred tool does. A
|
|
205
|
+
// bare name list caused a real discovery failure in production
|
|
206
|
+
// (the agent never found read_document behind search_tools).
|
|
207
|
+
const entries = deferred
|
|
208
|
+
.map((t) => {
|
|
209
|
+
const hint = toolDiscoveryHint(t.description);
|
|
210
|
+
return hint.length > 0 ? `- ${t.name}: ${hint}` : `- ${t.name}`;
|
|
211
|
+
})
|
|
212
|
+
.join('\n');
|
|
213
|
+
const deferredIntro = this.has('search_tools') && this.getAvailability('search_tools') === 'active'
|
|
214
|
+
? 'Use search_tools to load these before use:'
|
|
215
|
+
: 'Deferred tools are discoverable but not executable until the runtime activates them:';
|
|
216
|
+
parts.push(`<deferred_tools>\n${deferredIntro}\n${entries}\n</deferred_tools>`);
|
|
118
217
|
}
|
|
119
218
|
if (parts.length === 0)
|
|
120
219
|
return '';
|
|
121
|
-
return parts.join('\n\n');
|
|
220
|
+
return [contractNote, ...parts].join('\n\n');
|
|
122
221
|
}
|
|
123
222
|
toLLMTools(toolNames) {
|
|
124
223
|
const toolsToConvert = this.getByAvailability(['active', 'suspended'], toolNames);
|
|
@@ -195,8 +294,29 @@ export class ToolRegistry extends ManagedRegistry {
|
|
|
195
294
|
const errorMessage = parseResult.error.issues
|
|
196
295
|
.map((i) => `${i.path.join('.')}: ${i.message}`)
|
|
197
296
|
.join('; ');
|
|
297
|
+
// Distinguish "model sent an empty/no-arg call" from
|
|
298
|
+
// "model sent partial args" — the first is most often a
|
|
299
|
+
// streaming hiccup or a definition-test ping (Anthropic
|
|
300
|
+
// occasionally pings tool surfaces with `{}` while the
|
|
301
|
+
// schema is still loading), the second is a genuine
|
|
302
|
+
// programming mistake by the model. The model self-
|
|
303
|
+
// corrects MUCH more reliably when the error tells it
|
|
304
|
+
// (a) which fields are required, (b) their types, and
|
|
305
|
+
// (c) a minimal example call. Without these hints the
|
|
306
|
+
// downstream UI just shows a red "Failed" row and the
|
|
307
|
+
// model rarely retries with the right args.
|
|
308
|
+
const isEmptyInput = rawInput === null ||
|
|
309
|
+
rawInput === undefined ||
|
|
310
|
+
(typeof rawInput === 'object' &&
|
|
311
|
+
!Array.isArray(rawInput) &&
|
|
312
|
+
Object.keys(rawInput).length === 0);
|
|
313
|
+
const requiredHint = describeRequiredInput(tool.inputSchema);
|
|
314
|
+
const enrichedMessage = isEmptyInput
|
|
315
|
+
? `Tool "${toolName}" was called with no arguments. ${requiredHint} Retry the call with the required parameters populated.`
|
|
316
|
+
: `Validation failed for "${toolName}": ${errorMessage}. ${requiredHint}`;
|
|
198
317
|
this.log.error(`Tool input validation failed: ${toolName}`, {
|
|
199
318
|
errors: errorMessage,
|
|
319
|
+
empty: isEmptyInput,
|
|
200
320
|
});
|
|
201
321
|
span.setAttributes({
|
|
202
322
|
[NAMZU.TOOL_SUCCESS]: false,
|
|
@@ -207,7 +327,7 @@ export class ToolRegistry extends ManagedRegistry {
|
|
|
207
327
|
return {
|
|
208
328
|
success: false,
|
|
209
329
|
output: '',
|
|
210
|
-
error:
|
|
330
|
+
error: enrichedMessage,
|
|
211
331
|
};
|
|
212
332
|
}
|
|
213
333
|
const finalInput = parseResult.data;
|
|
@@ -254,4 +374,69 @@ export class ToolRegistry extends ManagedRegistry {
|
|
|
254
374
|
return candidates.filter((t) => states.includes(this.getAvailability(t.name)));
|
|
255
375
|
}
|
|
256
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* One-line discoverability hint for a deferred tool: the first sentence of
|
|
379
|
+
* its description, capped at ~100 chars. Used for the `<deferred_tools>`
|
|
380
|
+
* prompt listing and for `search_tools` near-miss suggestions, where the
|
|
381
|
+
* full description would re-import the token weight deferral avoids.
|
|
382
|
+
*/
|
|
383
|
+
export function toolDiscoveryHint(description, maxLength = 100) {
|
|
384
|
+
const normalized = description.trim().replace(/\s+/g, ' ');
|
|
385
|
+
if (normalized.length === 0)
|
|
386
|
+
return '';
|
|
387
|
+
const sentenceMatch = normalized.match(/^.*?[.!?](?=\s|$)/);
|
|
388
|
+
const sentence = sentenceMatch ? sentenceMatch[0] : normalized;
|
|
389
|
+
if (sentence.length <= maxLength)
|
|
390
|
+
return sentence;
|
|
391
|
+
return `${sentence.slice(0, maxLength - 1).trimEnd()}…`;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Lower-cased argument (property) names of a tool's input schema, used by
|
|
395
|
+
* `searchDeferred` ranking. Walks the JSON-Schema rendering (already a
|
|
396
|
+
* registration dependency) instead of Zod internals; opaque schemas simply
|
|
397
|
+
* contribute no argument matches.
|
|
398
|
+
*/
|
|
399
|
+
function listArgumentNames(tool) {
|
|
400
|
+
try {
|
|
401
|
+
const json = zodToJsonSchema(tool.inputSchema, {
|
|
402
|
+
target: 'jsonSchema7',
|
|
403
|
+
$refStrategy: 'none',
|
|
404
|
+
});
|
|
405
|
+
return Object.keys(json.properties ?? {}).map((key) => key.toLowerCase());
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
return [];
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Build a one-sentence "Required: <field>: <type>, <field>: <type>"
|
|
413
|
+
* hint from a Zod schema, used to enrich tool-input validation
|
|
414
|
+
* errors so the model can self-correct without round-tripping the
|
|
415
|
+
* full JSON schema again. Walks the schema's JSON-Schema rendering
|
|
416
|
+
* (already a dependency for tool registration) so we don't have to
|
|
417
|
+
* branch over Zod's internal type tree.
|
|
418
|
+
*
|
|
419
|
+
* Returns a fallback string for opaque/non-object schemas — the
|
|
420
|
+
* caller still ships the raw Zod issues separately, so the hint
|
|
421
|
+
* here is bonus context, not the only signal.
|
|
422
|
+
*/
|
|
423
|
+
function describeRequiredInput(schema) {
|
|
424
|
+
try {
|
|
425
|
+
const json = zodToJsonSchema(schema);
|
|
426
|
+
const required = json.required ?? [];
|
|
427
|
+
if (required.length === 0)
|
|
428
|
+
return 'No required parameters known.';
|
|
429
|
+
const props = json.properties ?? {};
|
|
430
|
+
const lines = required.map((name) => {
|
|
431
|
+
const def = props[name] ?? {};
|
|
432
|
+
const type = def.type ?? 'value';
|
|
433
|
+
const desc = def.description ? ` — ${def.description}` : '';
|
|
434
|
+
return `${name}: ${type}${desc}`;
|
|
435
|
+
});
|
|
436
|
+
return `Required: ${lines.join(', ')}.`;
|
|
437
|
+
}
|
|
438
|
+
catch {
|
|
439
|
+
return 'Could not introspect required parameters.';
|
|
440
|
+
}
|
|
441
|
+
}
|
|
257
442
|
//# sourceMappingURL=execute.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/registry/tool/execute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/registry/tool/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,16 +20,21 @@
|
|
|
20
20
|
* reports true iff at least one tool is suspended.
|
|
21
21
|
* - `getAvailability(name)` returns 'active' as a default even for
|
|
22
22
|
* unknown names (this is non-obvious but is the current behavior).
|
|
23
|
-
* - `searchDeferred(q)` is a
|
|
24
|
-
*
|
|
23
|
+
* - `searchDeferred(q)` is a RANKED weighted search over DEFERRED tools:
|
|
24
|
+
* per meaningful term (≥3 chars, not a stop token) the score is
|
|
25
|
+
* exact-name 12 / name-substring 8 / description 5 / argument-name 3;
|
|
26
|
+
* results sort score-descending with name ties broken alphabetically.
|
|
27
|
+
* Generic/short tokens (`clawtool`, `tool`, CRUD verbs like `list`,
|
|
28
|
+
* `read`, …) are stopped so they can't over-activate the catalog.
|
|
25
29
|
* - `assignTiers(mapping)` mutates `tool.tier` on existing tools;
|
|
26
30
|
* throws via `getOrThrow` on unknown name; throws if the tier id
|
|
27
31
|
* is not in `tierConfig.tiers`.
|
|
28
32
|
* - `toTierGuidance` returns null without a guidanceTemplate; calls
|
|
29
33
|
* the template with every defined tier otherwise.
|
|
30
34
|
* - `toPromptSection`: returns '' when no active or deferred tools;
|
|
31
|
-
* otherwise produces `<available_tools>`
|
|
32
|
-
*
|
|
35
|
+
* otherwise produces `<available_tools>` (name-only — descriptions
|
|
36
|
+
* already ride the runtime tools param) + `<deferred_tools>` (name +
|
|
37
|
+
* first-sentence hint ≤100 chars) fragments.
|
|
33
38
|
* - `toLLMTools`: converts active + suspended tools (filtered by
|
|
34
39
|
* `toolNames` if provided) into LLM tool schemas via
|
|
35
40
|
* `zodToJsonSchema`. When `tierConfig.labelInDescription` is true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.test.d.ts","sourceRoot":"","sources":["../../../src/registry/tool/execute.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"execute.test.d.ts","sourceRoot":"","sources":["../../../src/registry/tool/execute.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG"}
|
|
@@ -20,16 +20,21 @@
|
|
|
20
20
|
* reports true iff at least one tool is suspended.
|
|
21
21
|
* - `getAvailability(name)` returns 'active' as a default even for
|
|
22
22
|
* unknown names (this is non-obvious but is the current behavior).
|
|
23
|
-
* - `searchDeferred(q)` is a
|
|
24
|
-
*
|
|
23
|
+
* - `searchDeferred(q)` is a RANKED weighted search over DEFERRED tools:
|
|
24
|
+
* per meaningful term (≥3 chars, not a stop token) the score is
|
|
25
|
+
* exact-name 12 / name-substring 8 / description 5 / argument-name 3;
|
|
26
|
+
* results sort score-descending with name ties broken alphabetically.
|
|
27
|
+
* Generic/short tokens (`clawtool`, `tool`, CRUD verbs like `list`,
|
|
28
|
+
* `read`, …) are stopped so they can't over-activate the catalog.
|
|
25
29
|
* - `assignTiers(mapping)` mutates `tool.tier` on existing tools;
|
|
26
30
|
* throws via `getOrThrow` on unknown name; throws if the tier id
|
|
27
31
|
* is not in `tierConfig.tiers`.
|
|
28
32
|
* - `toTierGuidance` returns null without a guidanceTemplate; calls
|
|
29
33
|
* the template with every defined tier otherwise.
|
|
30
34
|
* - `toPromptSection`: returns '' when no active or deferred tools;
|
|
31
|
-
* otherwise produces `<available_tools>`
|
|
32
|
-
*
|
|
35
|
+
* otherwise produces `<available_tools>` (name-only — descriptions
|
|
36
|
+
* already ride the runtime tools param) + `<deferred_tools>` (name +
|
|
37
|
+
* first-sentence hint ≤100 chars) fragments.
|
|
33
38
|
* - `toLLMTools`: converts active + suspended tools (filtered by
|
|
34
39
|
* `toolNames` if provided) into LLM tool schemas via
|
|
35
40
|
* `zodToJsonSchema`. When `tierConfig.labelInDescription` is true,
|
|
@@ -74,6 +79,14 @@ describe('ToolRegistry — register + availability', () => {
|
|
|
74
79
|
expect(r.getAvailability('a')).toBe('deferred');
|
|
75
80
|
expect(r.getAvailability('b')).toBe('deferred');
|
|
76
81
|
});
|
|
82
|
+
it('register overloads: array w/o state defaults active, (id, tool) form, bad id throws', () => {
|
|
83
|
+
const r = new ToolRegistry();
|
|
84
|
+
r.register([makeTool('arr')]);
|
|
85
|
+
expect(r.getAvailability('arr')).toBe('active');
|
|
86
|
+
r.register('byid', makeTool('byid'));
|
|
87
|
+
expect(r.get('byid')).toBeDefined();
|
|
88
|
+
expect(() => r.register('oops', 'not-a-tool')).toThrow(/requires a ToolDefinition/);
|
|
89
|
+
});
|
|
77
90
|
it('getAvailability returns active for unknown names (current default)', () => {
|
|
78
91
|
const r = new ToolRegistry();
|
|
79
92
|
expect(r.getAvailability('never-registered')).toBe('active');
|
|
@@ -158,6 +171,68 @@ describe('ToolRegistry — searchDeferred', () => {
|
|
|
158
171
|
expect(r.searchDeferred('does').map((t) => t.name)).toEqual(['alpha', 'beta']);
|
|
159
172
|
expect(r.searchDeferred('gamma')).toEqual([]);
|
|
160
173
|
});
|
|
174
|
+
it('tokenizes a multi-term query so a batch of tool names each match', () => {
|
|
175
|
+
const r = new ToolRegistry();
|
|
176
|
+
r.register([makeTool('clawtool_A2aCard')], 'deferred');
|
|
177
|
+
r.register([makeTool('clawtool_PeerRegister')], 'deferred');
|
|
178
|
+
r.register([makeTool('clawtool_PeerList')], 'deferred');
|
|
179
|
+
r.register([makeTool('clawtool_Unrelated')], 'deferred');
|
|
180
|
+
// A whole-phrase substring match would find none of these. Equal
|
|
181
|
+
// scores tie-break alphabetically by name (deterministic ranking).
|
|
182
|
+
expect(r.searchDeferred('A2aCard PeerRegister PeerList').map((t) => t.name)).toEqual([
|
|
183
|
+
'clawtool_A2aCard',
|
|
184
|
+
'clawtool_PeerList',
|
|
185
|
+
'clawtool_PeerRegister',
|
|
186
|
+
]);
|
|
187
|
+
expect(r.searchDeferred(' ')).toEqual([]);
|
|
188
|
+
});
|
|
189
|
+
it('ranks exact name above name substring above description-only matches', () => {
|
|
190
|
+
const r = new ToolRegistry();
|
|
191
|
+
r.register([makeTool('release_notes', { description: 'Write deploy notes.' })], 'deferred');
|
|
192
|
+
r.register([makeTool('deploy_preview', { description: 'Stage a preview build.' })], 'deferred');
|
|
193
|
+
r.register([makeTool('deploy', { description: 'Ship the current build.' })], 'deferred');
|
|
194
|
+
expect(r.searchDeferred('deploy').map((t) => t.name)).toEqual([
|
|
195
|
+
'deploy', // exact name → 12
|
|
196
|
+
'deploy_preview', // name substring → 8
|
|
197
|
+
'release_notes', // description only → 5
|
|
198
|
+
]);
|
|
199
|
+
});
|
|
200
|
+
it('indexes argument names so a parameter term can locate a tool', () => {
|
|
201
|
+
const r = new ToolRegistry();
|
|
202
|
+
r.register([
|
|
203
|
+
makeTool('send_invoice', {
|
|
204
|
+
inputSchema: z.object({ customerEmail: z.string(), amount: z.number() }),
|
|
205
|
+
}),
|
|
206
|
+
], 'deferred');
|
|
207
|
+
r.register([makeTool('send_reminder')], 'deferred');
|
|
208
|
+
expect(r.searchDeferred('customerEmail').map((t) => t.name)).toEqual(['send_invoice']);
|
|
209
|
+
});
|
|
210
|
+
it('stops generic CRUD verbs so they cannot activate catalog slices', () => {
|
|
211
|
+
const r = new ToolRegistry();
|
|
212
|
+
r.register([makeTool('list_deals', { description: 'List the deals in an account.' })], 'deferred');
|
|
213
|
+
r.register([makeTool('list_workflows', { description: 'List workflows.' })], 'deferred');
|
|
214
|
+
r.register([makeTool('read_document', { description: 'Read a document body.' })], 'deferred');
|
|
215
|
+
// Bare CRUD verbs identify nothing.
|
|
216
|
+
expect(r.searchDeferred('list')).toEqual([]);
|
|
217
|
+
expect(r.searchDeferred('read')).toEqual([]);
|
|
218
|
+
expect(r.searchDeferred('create update delete')).toEqual([]);
|
|
219
|
+
// The non-generic remainder carries the query.
|
|
220
|
+
expect(r.searchDeferred('list deals').map((t) => t.name)).toEqual(['list_deals']);
|
|
221
|
+
expect(r.searchDeferred('read document').map((t) => t.name)).toEqual(['read_document']);
|
|
222
|
+
});
|
|
223
|
+
it('does not over-activate on generic/shared tokens', () => {
|
|
224
|
+
const r = new ToolRegistry();
|
|
225
|
+
r.register([makeTool('clawtool_A2aCard', { description: 'peer card' })], 'deferred');
|
|
226
|
+
r.register([makeTool('clawtool_PeerList', { description: 'list peers' })], 'deferred');
|
|
227
|
+
r.register([makeTool('clawtool_WebSearch', { description: 'search the web' })], 'deferred');
|
|
228
|
+
// The shared "clawtool" prefix token must not drag in every tool.
|
|
229
|
+
expect(r.searchDeferred('clawtool WebSearch').map((t) => t.name)).toEqual([
|
|
230
|
+
'clawtool_WebSearch',
|
|
231
|
+
]);
|
|
232
|
+
// A bare generic token identifies nothing — must not activate the catalog.
|
|
233
|
+
expect(r.searchDeferred('clawtool')).toEqual([]);
|
|
234
|
+
expect(r.searchDeferred('tool')).toEqual([]);
|
|
235
|
+
});
|
|
161
236
|
});
|
|
162
237
|
describe('ToolRegistry — tier mutation + guidance', () => {
|
|
163
238
|
const tierConfig = {
|
|
@@ -198,10 +273,44 @@ describe('ToolRegistry — toPromptSection + toLLMTools', () => {
|
|
|
198
273
|
r.register(makeTool('a'));
|
|
199
274
|
r.register([makeTool('b')], 'deferred');
|
|
200
275
|
const s = r.toPromptSection();
|
|
276
|
+
expect(s).toContain('<tool_runtime_contract>');
|
|
277
|
+
expect(s).toContain('runtime tools parameter');
|
|
201
278
|
expect(s).toContain('<available_tools>');
|
|
202
|
-
|
|
279
|
+
// Active entries are NAME-ONLY: the description already rides the
|
|
280
|
+
// runtime tools param every request — repeating it double-bills.
|
|
281
|
+
expect(s).toContain('- a\n');
|
|
282
|
+
expect(s).not.toContain('- a: a tool');
|
|
203
283
|
expect(s).toContain('<deferred_tools>');
|
|
204
|
-
expect(s).toContain('
|
|
284
|
+
expect(s).toContain('Deferred tools are discoverable');
|
|
285
|
+
// Deferred entries carry a one-line hint — their schema is off the
|
|
286
|
+
// wire, so the hint is the model's only capability signal.
|
|
287
|
+
expect(s).toContain('- b: b tool');
|
|
288
|
+
});
|
|
289
|
+
it('toPromptSection truncates deferred hints to the first sentence, capped at 100 chars', () => {
|
|
290
|
+
const r = new ToolRegistry();
|
|
291
|
+
r.register([
|
|
292
|
+
makeTool('two_sentences', {
|
|
293
|
+
description: 'Reads the document. Second sentence that must not appear.',
|
|
294
|
+
}),
|
|
295
|
+
makeTool('long_sentence', {
|
|
296
|
+
description: `${'x'.repeat(150)} end`,
|
|
297
|
+
}),
|
|
298
|
+
], 'deferred');
|
|
299
|
+
const s = r.toPromptSection();
|
|
300
|
+
expect(s).toContain('- two_sentences: Reads the document.');
|
|
301
|
+
expect(s).not.toContain('Second sentence');
|
|
302
|
+
const longLine = s.split('\n').find((line) => line.startsWith('- long_sentence:'));
|
|
303
|
+
expect(longLine).toBeDefined();
|
|
304
|
+
const hint = (longLine ?? '').replace('- long_sentence: ', '');
|
|
305
|
+
expect(hint.length).toBeLessThanOrEqual(100);
|
|
306
|
+
expect(hint.endsWith('…')).toBe(true);
|
|
307
|
+
});
|
|
308
|
+
it('toPromptSection references search_tools only when it is active', () => {
|
|
309
|
+
const r = new ToolRegistry();
|
|
310
|
+
r.register(makeTool('search_tools'));
|
|
311
|
+
r.register([makeTool('b')], 'deferred');
|
|
312
|
+
const s = r.toPromptSection();
|
|
313
|
+
expect(s).toContain('Use search_tools to load these before use');
|
|
205
314
|
});
|
|
206
315
|
it('toLLMTools: converts active + suspended tools', () => {
|
|
207
316
|
const r = new ToolRegistry();
|
|
@@ -257,7 +366,36 @@ describe('ToolRegistry — execute', () => {
|
|
|
257
366
|
}));
|
|
258
367
|
const result = await r.execute('strict', { required: 123 }, makeContext());
|
|
259
368
|
expect(result.success).toBe(false);
|
|
260
|
-
expect(result.error).toMatch(/
|
|
369
|
+
expect(result.error).toMatch(/Validation failed for "strict"/);
|
|
370
|
+
expect(result.error).toContain('Expected string, received number');
|
|
371
|
+
});
|
|
372
|
+
it('empty-args validation lists required params with descriptions', async () => {
|
|
373
|
+
const r = new ToolRegistry();
|
|
374
|
+
r.register(makeTool('needs', {
|
|
375
|
+
inputSchema: z.object({ q: z.string().describe('the query'), n: z.number() }),
|
|
376
|
+
}));
|
|
377
|
+
const result = await r.execute('needs', {}, makeContext());
|
|
378
|
+
expect(result.success).toBe(false);
|
|
379
|
+
expect(result.error).toMatch(/called with no arguments/);
|
|
380
|
+
expect(result.error).toContain('q: string — the query');
|
|
381
|
+
expect(result.error).toContain('n: number');
|
|
382
|
+
});
|
|
383
|
+
it('validation hint reports when there are no required params', async () => {
|
|
384
|
+
const r = new ToolRegistry();
|
|
385
|
+
r.register(makeTool('opt', { inputSchema: z.object({ k: z.string().optional() }) }));
|
|
386
|
+
const result = await r.execute('opt', { k: 123 }, makeContext());
|
|
387
|
+
expect(result.success).toBe(false);
|
|
388
|
+
expect(result.error).toContain('No required parameters known.');
|
|
389
|
+
});
|
|
390
|
+
it('validation hint tolerates a schema it cannot introspect', async () => {
|
|
391
|
+
const r = new ToolRegistry();
|
|
392
|
+
const bogusSchema = {
|
|
393
|
+
safeParse: () => ({ success: false, error: { issues: [{ path: [], message: 'nope' }] } }),
|
|
394
|
+
};
|
|
395
|
+
r.register(makeTool('weird', { inputSchema: bogusSchema }));
|
|
396
|
+
const result = await r.execute('weird', { a: 1 }, makeContext());
|
|
397
|
+
expect(result.success).toBe(false);
|
|
398
|
+
expect(result.error).toContain('Could not introspect required parameters.');
|
|
261
399
|
});
|
|
262
400
|
it('wraps thrown errors in the execute function', async () => {
|
|
263
401
|
const r = new ToolRegistry();
|
|
@@ -270,6 +408,39 @@ describe('ToolRegistry — execute', () => {
|
|
|
270
408
|
expect(result.success).toBe(false);
|
|
271
409
|
expect(result.error).toMatch(/execution failed: boom/);
|
|
272
410
|
});
|
|
411
|
+
it('wraps a non-Error throw', async () => {
|
|
412
|
+
const r = new ToolRegistry();
|
|
413
|
+
r.register(makeTool('throws-string', {
|
|
414
|
+
async execute() {
|
|
415
|
+
throw 'plain string failure';
|
|
416
|
+
},
|
|
417
|
+
}));
|
|
418
|
+
const result = await r.execute('throws-string', {}, makeContext());
|
|
419
|
+
expect(result.success).toBe(false);
|
|
420
|
+
expect(result.error).toMatch(/execution failed/);
|
|
421
|
+
});
|
|
422
|
+
it('passes through a tool result that is unsuccessful with an error', async () => {
|
|
423
|
+
const r = new ToolRegistry();
|
|
424
|
+
r.register(makeTool('soft-fail', {
|
|
425
|
+
async execute() {
|
|
426
|
+
return { success: false, output: '', error: 'soft failure' };
|
|
427
|
+
},
|
|
428
|
+
}));
|
|
429
|
+
const result = await r.execute('soft-fail', {}, makeContext());
|
|
430
|
+
expect(result.success).toBe(false);
|
|
431
|
+
expect(result.error).toBe('soft failure');
|
|
432
|
+
});
|
|
433
|
+
it('blocks a non-read-only tool in plan mode (no isReadOnly hint)', async () => {
|
|
434
|
+
const r = new ToolRegistry();
|
|
435
|
+
const execute = vi.fn(async () => ({ success: true, output: 'ok' }));
|
|
436
|
+
r.register(makeTool('mutate', { execute }));
|
|
437
|
+
const result = await r.execute('mutate', {}, makeContext({
|
|
438
|
+
permissionContext: { mode: 'plan', runId: 'run_1', workingDirectory: '/tmp' },
|
|
439
|
+
}));
|
|
440
|
+
expect(result.success).toBe(false);
|
|
441
|
+
expect(result.error).toMatch(/plan mode/);
|
|
442
|
+
expect(execute).not.toHaveBeenCalled();
|
|
443
|
+
});
|
|
273
444
|
it('returns the tool result on happy path', async () => {
|
|
274
445
|
const r = new ToolRegistry();
|
|
275
446
|
r.register(makeTool('good'));
|