@namzu/sdk 30.1.0 → 31.0.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 +576 -0
- package/README.md +43 -2
- package/dist/advisory/executor.d.ts +2 -1
- package/dist/advisory/executor.d.ts.map +1 -1
- package/dist/advisory/executor.js +4 -1
- package/dist/advisory/executor.js.map +1 -1
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +12 -0
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/RouterAgent.d.ts.map +1 -1
- package/dist/agents/RouterAgent.js +21 -3
- package/dist/agents/RouterAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +34 -11
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/runAgent.d.ts +12 -0
- package/dist/agents/runAgent.d.ts.map +1 -1
- package/dist/agents/runAgent.js +26 -2
- package/dist/agents/runAgent.js.map +1 -1
- package/dist/authorization/command-line.d.ts +81 -0
- package/dist/authorization/command-line.d.ts.map +1 -0
- package/dist/authorization/command-line.js +347 -0
- package/dist/authorization/command-line.js.map +1 -0
- package/dist/authorization/rules.d.ts.map +1 -1
- package/dist/authorization/rules.js +22 -1
- package/dist/authorization/rules.js.map +1 -1
- package/dist/bridge/a2a/client.d.ts +23 -5
- package/dist/bridge/a2a/client.d.ts.map +1 -1
- package/dist/bridge/a2a/client.js +320 -73
- package/dist/bridge/a2a/client.js.map +1 -1
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +4 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/acp/server.d.ts +13 -1
- package/dist/bridge/acp/server.d.ts.map +1 -1
- package/dist/bridge/acp/server.js +150 -44
- package/dist/bridge/acp/server.js.map +1 -1
- package/dist/bridge/mcp/connector/adapter.d.ts +3 -2
- package/dist/bridge/mcp/connector/adapter.d.ts.map +1 -1
- package/dist/bridge/mcp/connector/adapter.js +17 -21
- package/dist/bridge/mcp/connector/adapter.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +3 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/compaction/dangling.d.ts +29 -2
- package/dist/compaction/dangling.d.ts.map +1 -1
- package/dist/compaction/dangling.js +172 -35
- package/dist/compaction/dangling.js.map +1 -1
- package/dist/compaction/index.d.ts +3 -2
- package/dist/compaction/index.d.ts.map +1 -1
- package/dist/compaction/index.js +1 -1
- package/dist/compaction/index.js.map +1 -1
- package/dist/compaction/manual.d.ts +11 -1
- package/dist/compaction/manual.d.ts.map +1 -1
- package/dist/compaction/manual.js +89 -14
- package/dist/compaction/manual.js.map +1 -1
- package/dist/compaction/plan.d.ts +19 -6
- package/dist/compaction/plan.d.ts.map +1 -1
- package/dist/compaction/plan.js +18 -4
- package/dist/compaction/plan.js.map +1 -1
- package/dist/compaction/retention.d.ts +10 -7
- package/dist/compaction/retention.d.ts.map +1 -1
- package/dist/compaction/retention.js +26 -8
- package/dist/compaction/retention.js.map +1 -1
- package/dist/compaction/summary.d.ts +4 -4
- package/dist/compaction/summary.js +4 -4
- package/dist/compaction/verifier.d.ts +19 -1
- package/dist/compaction/verifier.d.ts.map +1 -1
- package/dist/compaction/verifier.js +20 -1
- package/dist/compaction/verifier.js.map +1 -1
- package/dist/config/runtime.d.ts +6 -6
- package/dist/connector/BaseConnector.d.ts +6 -4
- package/dist/connector/BaseConnector.d.ts.map +1 -1
- package/dist/connector/BaseConnector.js +8 -2
- package/dist/connector/BaseConnector.js.map +1 -1
- package/dist/connector/builtins/http.d.ts +16 -4
- package/dist/connector/builtins/http.d.ts.map +1 -1
- package/dist/connector/builtins/http.js +177 -44
- package/dist/connector/builtins/http.js.map +1 -1
- package/dist/connector/builtins/webhook.d.ts +15 -4
- package/dist/connector/builtins/webhook.d.ts.map +1 -1
- package/dist/connector/builtins/webhook.js +165 -45
- package/dist/connector/builtins/webhook.js.map +1 -1
- package/dist/connector/execution-contract.d.ts +11 -0
- package/dist/connector/execution-contract.d.ts.map +1 -0
- package/dist/connector/execution-contract.js +14 -0
- package/dist/connector/execution-contract.js.map +1 -0
- package/dist/connector/http-operation.d.ts +48 -0
- package/dist/connector/http-operation.d.ts.map +1 -0
- package/dist/connector/http-operation.js +205 -0
- package/dist/connector/http-operation.js.map +1 -0
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +8 -3
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/connector/mcp/client.d.ts +14 -8
- package/dist/connector/mcp/client.d.ts.map +1 -1
- package/dist/connector/mcp/client.js +160 -44
- package/dist/connector/mcp/client.js.map +1 -1
- package/dist/connector/mcp/http-sse.d.ts +8 -2
- package/dist/connector/mcp/http-sse.d.ts.map +1 -1
- package/dist/connector/mcp/http-sse.js +70 -17
- package/dist/connector/mcp/http-sse.js.map +1 -1
- package/dist/connector/mcp/prompt-adapter.d.ts.map +1 -1
- package/dist/connector/mcp/prompt-adapter.js +9 -2
- package/dist/connector/mcp/prompt-adapter.js.map +1 -1
- package/dist/connector/mcp/stdio.d.ts +2 -2
- package/dist/connector/mcp/stdio.d.ts.map +1 -1
- package/dist/connector/mcp/stdio.js +14 -50
- package/dist/connector/mcp/stdio.js.map +1 -1
- package/dist/connector/mcp/streamable-http.d.ts +7 -2
- package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
- package/dist/connector/mcp/streamable-http.js +66 -18
- package/dist/connector/mcp/streamable-http.js.map +1 -1
- package/dist/connector/tools/adapter.d.ts +2 -2
- package/dist/connector/tools/adapter.d.ts.map +1 -1
- package/dist/connector/tools/adapter.js +23 -14
- package/dist/connector/tools/adapter.js.map +1 -1
- package/dist/connector/tools/definitions.d.ts.map +1 -1
- package/dist/connector/tools/definitions.js +5 -2
- package/dist/connector/tools/definitions.js.map +1 -1
- package/dist/connector/tools/result.d.ts +4 -0
- package/dist/connector/tools/result.d.ts.map +1 -0
- package/dist/connector/tools/result.js +20 -0
- package/dist/connector/tools/result.js.map +1 -0
- package/dist/connector/web/guarded-fetch.d.ts +4 -2
- package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
- package/dist/connector/web/guarded-fetch.js +157 -43
- package/dist/connector/web/guarded-fetch.js.map +1 -1
- package/dist/constants/sandbox/index.d.ts +3 -2
- package/dist/constants/sandbox/index.d.ts.map +1 -1
- package/dist/constants/sandbox/index.js +3 -2
- package/dist/constants/sandbox/index.js.map +1 -1
- package/dist/contracts/api.d.ts +2 -0
- package/dist/contracts/api.d.ts.map +1 -1
- package/dist/contracts/schemas.d.ts +38 -12
- package/dist/contracts/schemas.d.ts.map +1 -1
- package/dist/contracts/schemas.js +7 -0
- package/dist/contracts/schemas.js.map +1 -1
- package/dist/directory/derive-supervisor.d.ts.map +1 -1
- package/dist/directory/derive-supervisor.js +8 -0
- package/dist/directory/derive-supervisor.js.map +1 -1
- package/dist/directory/derive.d.ts.map +1 -1
- package/dist/directory/derive.js +8 -0
- package/dist/directory/derive.js.map +1 -1
- package/dist/directory/load.d.ts.map +1 -1
- package/dist/directory/load.js +2 -0
- package/dist/directory/load.js.map +1 -1
- package/dist/directory/types.d.ts +4 -0
- package/dist/directory/types.d.ts.map +1 -1
- package/dist/eval/experiment.d.ts +10 -10
- package/dist/eval/experiment.d.ts.map +1 -1
- package/dist/eval/experiment.js +121 -91
- package/dist/eval/experiment.js.map +1 -1
- package/dist/eval/judge.d.ts +6 -0
- package/dist/eval/judge.d.ts.map +1 -1
- package/dist/eval/judge.js +7 -2
- package/dist/eval/judge.js.map +1 -1
- package/dist/eval/types.d.ts +7 -1
- package/dist/eval/types.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts +12 -10
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +16 -3
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/connector/environment.d.ts +2 -2
- package/dist/manager/connector/environment.d.ts.map +1 -1
- package/dist/manager/connector/environment.js +2 -2
- package/dist/manager/connector/environment.js.map +1 -1
- package/dist/manager/connector/lifecycle.d.ts +10 -2
- package/dist/manager/connector/lifecycle.d.ts.map +1 -1
- package/dist/manager/connector/lifecycle.js +273 -24
- package/dist/manager/connector/lifecycle.js.map +1 -1
- package/dist/manager/connector/tenant.d.ts +5 -4
- package/dist/manager/connector/tenant.d.ts.map +1 -1
- package/dist/manager/connector/tenant.js +47 -22
- package/dist/manager/connector/tenant.js.map +1 -1
- package/dist/manager/goal/activation.d.ts +23 -0
- package/dist/manager/goal/activation.d.ts.map +1 -0
- package/dist/manager/goal/activation.js +41 -0
- package/dist/manager/goal/activation.js.map +1 -0
- package/dist/manager/index.d.ts +3 -2
- package/dist/manager/index.d.ts.map +1 -1
- package/dist/manager/index.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +2 -0
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +5 -1
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/manager/topic/dependency.d.ts +24 -0
- package/dist/manager/topic/dependency.d.ts.map +1 -0
- package/dist/manager/topic/dependency.js +13 -0
- package/dist/manager/topic/dependency.js.map +1 -0
- package/dist/manager/topic/lifecycle.d.ts +9 -21
- package/dist/manager/topic/lifecycle.d.ts.map +1 -1
- package/dist/manager/topic/lifecycle.js +17 -29
- package/dist/manager/topic/lifecycle.js.map +1 -1
- package/dist/plugin/index.d.ts +1 -0
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/lifecycle.d.ts +15 -0
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +144 -38
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/plugin/loader.d.ts +3 -3
- package/dist/plugin/loader.d.ts.map +1 -1
- package/dist/plugin/loader.js +58 -12
- package/dist/plugin/loader.js.map +1 -1
- package/dist/provider/collect-chat-completion.d.ts +7 -0
- package/dist/provider/collect-chat-completion.d.ts.map +1 -1
- package/dist/provider/collect-chat-completion.js +35 -0
- package/dist/provider/collect-chat-completion.js.map +1 -1
- package/dist/provider/fallback.d.ts +3 -1
- package/dist/provider/fallback.d.ts.map +1 -1
- package/dist/provider/fallback.js +62 -10
- package/dist/provider/fallback.js.map +1 -1
- package/dist/provider/idle-timeout.d.ts +4 -0
- package/dist/provider/idle-timeout.d.ts.map +1 -1
- package/dist/provider/idle-timeout.js +131 -15
- package/dist/provider/idle-timeout.js.map +1 -1
- package/dist/provider/index.d.ts +2 -0
- package/dist/provider/index.d.ts.map +1 -1
- package/dist/provider/index.js +1 -0
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/instrumentation.d.ts.map +1 -1
- package/dist/provider/instrumentation.js +1 -0
- package/dist/provider/instrumentation.js.map +1 -1
- package/dist/provider/retry.d.ts.map +1 -1
- package/dist/provider/retry.js +13 -1
- package/dist/provider/retry.js.map +1 -1
- package/dist/public-runtime.d.ts +57 -24
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +42 -35
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +1 -0
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +5 -0
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +33 -12
- package/dist/public-types.d.ts.map +1 -1
- package/dist/rag/embedding.d.ts +8 -3
- package/dist/rag/embedding.d.ts.map +1 -1
- package/dist/rag/embedding.js +120 -9
- package/dist/rag/embedding.js.map +1 -1
- package/dist/rag/index.d.ts +1 -1
- package/dist/rag/index.d.ts.map +1 -1
- package/dist/rag/index.js +1 -1
- package/dist/rag/index.js.map +1 -1
- package/dist/rag/ingestion.d.ts +2 -2
- package/dist/rag/ingestion.d.ts.map +1 -1
- package/dist/rag/ingestion.js +15 -3
- package/dist/rag/ingestion.js.map +1 -1
- package/dist/rag/knowledge-base.d.ts +3 -3
- package/dist/rag/knowledge-base.d.ts.map +1 -1
- package/dist/rag/knowledge-base.js +8 -4
- package/dist/rag/knowledge-base.js.map +1 -1
- package/dist/rag/operation.d.ts +10 -0
- package/dist/rag/operation.d.ts.map +1 -0
- package/dist/rag/operation.js +26 -0
- package/dist/rag/operation.js.map +1 -0
- package/dist/rag/rag-tool.d.ts.map +1 -1
- package/dist/rag/rag-tool.js +6 -3
- package/dist/rag/rag-tool.js.map +1 -1
- package/dist/rag/retriever.d.ts +2 -2
- package/dist/rag/retriever.d.ts.map +1 -1
- package/dist/rag/retriever.js +31 -15
- package/dist/rag/retriever.js.map +1 -1
- package/dist/rag/vector-store.d.ts +3 -3
- package/dist/rag/vector-store.d.ts.map +1 -1
- package/dist/rag/vector-store.js +4 -2
- package/dist/rag/vector-store.js.map +1 -1
- package/dist/registry/command/kernel-commands.d.ts +16 -4
- package/dist/registry/command/kernel-commands.d.ts.map +1 -1
- package/dist/registry/command/kernel-commands.js +171 -0
- package/dist/registry/command/kernel-commands.js.map +1 -1
- package/dist/run/reporter.d.ts.map +1 -1
- package/dist/run/reporter.js +9 -0
- package/dist/run/reporter.js.map +1 -1
- package/dist/run-query/index.d.ts +15 -1
- package/dist/run-query/index.d.ts.map +1 -1
- package/dist/run-query/index.js +69 -15
- package/dist/run-query/index.js.map +1 -1
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +10 -3
- package/dist/runtime/query/context.js.map +1 -1
- 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 +80 -18
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/guard.d.ts +9 -0
- package/dist/runtime/query/guard.d.ts.map +1 -1
- package/dist/runtime/query/guard.js +11 -0
- package/dist/runtime/query/guard.js.map +1 -1
- package/dist/runtime/query/index.d.ts +30 -1
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +548 -95
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +74 -14
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +94 -53
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +3 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +21 -0
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +4 -0
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/project-instructions.d.ts +69 -0
- package/dist/runtime/query/project-instructions.d.ts.map +1 -0
- package/dist/runtime/query/project-instructions.js +137 -0
- package/dist/runtime/query/project-instructions.js.map +1 -0
- package/dist/runtime/query/request-rich-content.d.ts +22 -0
- package/dist/runtime/query/request-rich-content.d.ts.map +1 -0
- package/dist/runtime/query/request-rich-content.js +122 -0
- package/dist/runtime/query/request-rich-content.js.map +1 -0
- package/dist/runtime/query/result.d.ts.map +1 -1
- package/dist/runtime/query/result.js +12 -1
- package/dist/runtime/query/result.js.map +1 -1
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +19 -20
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/resume-run.d.ts.map +1 -1
- package/dist/runtime/query/resume-run.js +54 -8
- package/dist/runtime/query/resume-run.js.map +1 -1
- package/dist/runtime/query/run-state.d.ts +5 -0
- package/dist/runtime/query/run-state.d.ts.map +1 -1
- package/dist/runtime/query/run-state.js +6 -1
- package/dist/runtime/query/run-state.js.map +1 -1
- package/dist/runtime/query/sandbox-lifecycle.d.ts +54 -0
- package/dist/runtime/query/sandbox-lifecycle.d.ts.map +1 -0
- package/dist/runtime/query/sandbox-lifecycle.js +167 -0
- package/dist/runtime/query/sandbox-lifecycle.js.map +1 -0
- package/dist/sandbox/isolation.d.ts.map +1 -1
- package/dist/sandbox/isolation.js +9 -0
- package/dist/sandbox/isolation.js.map +1 -1
- package/dist/sandbox/provider/local.d.ts +56 -6
- package/dist/sandbox/provider/local.d.ts.map +1 -1
- package/dist/sandbox/provider/local.js +181 -76
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/sandbox/terminal.d.ts +13 -5
- package/dist/sandbox/terminal.d.ts.map +1 -1
- package/dist/sandbox/terminal.js +11 -3
- package/dist/sandbox/terminal.js.map +1 -1
- package/dist/session/errors.d.ts +28 -29
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/errors.js +28 -29
- package/dist/session/errors.js.map +1 -1
- package/dist/session/handoff/broadcast.d.ts +5 -8
- package/dist/session/handoff/broadcast.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.js +16 -6
- package/dist/session/handoff/broadcast.js.map +1 -1
- package/dist/session/handoff/single.d.ts +5 -8
- package/dist/session/handoff/single.d.ts.map +1 -1
- package/dist/session/handoff/single.js +7 -4
- package/dist/session/handoff/single.js.map +1 -1
- package/dist/store/attachment/index.d.ts +11 -3
- package/dist/store/attachment/index.d.ts.map +1 -1
- package/dist/store/attachment/index.js +49 -4
- package/dist/store/attachment/index.js.map +1 -1
- package/dist/store/feedback/conformance.d.ts.map +1 -1
- package/dist/store/feedback/conformance.js +32 -0
- package/dist/store/feedback/conformance.js.map +1 -1
- package/dist/store/feedback/disk.d.ts +8 -6
- package/dist/store/feedback/disk.d.ts.map +1 -1
- package/dist/store/feedback/disk.js +111 -76
- package/dist/store/feedback/disk.js.map +1 -1
- package/dist/store/goal/index.d.ts +111 -0
- package/dist/store/goal/index.d.ts.map +1 -0
- package/dist/store/goal/index.js +436 -0
- package/dist/store/goal/index.js.map +1 -0
- package/dist/store/index.d.ts +1 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/kv/revision-record-store.d.ts +70 -0
- package/dist/store/kv/revision-record-store.d.ts.map +1 -0
- package/dist/store/kv/revision-record-store.js +290 -0
- package/dist/store/kv/revision-record-store.js.map +1 -0
- package/dist/store/memory/disk.d.ts +9 -7
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +256 -98
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/run/disk.d.ts +10 -2
- package/dist/store/run/disk.d.ts.map +1 -1
- package/dist/store/run/disk.js +70 -4
- package/dist/store/run/disk.js.map +1 -1
- package/dist/store/run/memory.d.ts +4 -2
- package/dist/store/run/memory.d.ts.map +1 -1
- package/dist/store/run/memory.js +15 -1
- package/dist/store/run/memory.js.map +1 -1
- package/dist/store/session/disk.d.ts +9 -0
- package/dist/store/session/disk.d.ts.map +1 -1
- package/dist/store/session/disk.js +57 -5
- package/dist/store/session/disk.js.map +1 -1
- package/dist/store/session/memory.d.ts +1 -0
- package/dist/store/session/memory.d.ts.map +1 -1
- package/dist/store/session/memory.js +14 -0
- package/dist/store/session/memory.js.map +1 -1
- package/dist/store/topic/memory.d.ts +1 -2
- package/dist/store/topic/memory.d.ts.map +1 -1
- package/dist/store/topic/memory.js +4 -5
- package/dist/store/topic/memory.js.map +1 -1
- package/dist/store/topic/objective.d.ts +8 -4
- package/dist/store/topic/objective.d.ts.map +1 -1
- package/dist/store/topic/objective.js +185 -100
- package/dist/store/topic/objective.js.map +1 -1
- package/dist/store/topic/state.d.ts +1 -2
- package/dist/store/topic/state.d.ts.map +1 -1
- package/dist/store/topic/state.js +50 -62
- package/dist/store/topic/state.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +20 -0
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/computer-use.d.ts +9 -1
- package/dist/tools/builtins/computer-use.d.ts.map +1 -1
- package/dist/tools/builtins/computer-use.js.map +1 -1
- package/dist/tools/builtins/content-fingerprint.d.ts +8 -7
- package/dist/tools/builtins/content-fingerprint.d.ts.map +1 -1
- package/dist/tools/builtins/content-fingerprint.js +9 -10
- package/dist/tools/builtins/content-fingerprint.js.map +1 -1
- package/dist/tools/builtins/edit.d.ts +6 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +166 -27
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/write-file.d.ts.map +1 -1
- package/dist/tools/builtins/write-file.js +45 -19
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/command-arguments.d.ts +43 -0
- package/dist/tools/command-arguments.d.ts.map +1 -0
- package/dist/tools/command-arguments.js +52 -0
- package/dist/tools/command-arguments.js.map +1 -0
- package/dist/tools/coordinator/index.d.ts +2 -0
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +3 -1
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/defineTool.d.ts +10 -0
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +1 -0
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/env-scrub.d.ts +7 -5
- package/dist/tools/env-scrub.d.ts.map +1 -1
- package/dist/tools/env-scrub.js +7 -5
- package/dist/tools/env-scrub.js.map +1 -1
- package/dist/tools/goal/index.d.ts +20 -0
- package/dist/tools/goal/index.d.ts.map +1 -0
- package/dist/tools/goal/index.js +104 -0
- package/dist/tools/goal/index.js.map +1 -0
- package/dist/tools/memory/index.d.ts +16 -0
- package/dist/tools/memory/index.d.ts.map +1 -1
- package/dist/tools/memory/index.js +6 -2
- package/dist/tools/memory/index.js.map +1 -1
- package/dist/tools/memory/search.d.ts +4 -1
- package/dist/tools/memory/search.d.ts.map +1 -1
- package/dist/tools/memory/search.js +10 -2
- package/dist/tools/memory/search.js.map +1 -1
- package/dist/types/agent/base.d.ts +11 -3
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/factory.d.ts +2 -0
- package/dist/types/agent/factory.d.ts.map +1 -1
- package/dist/types/agent/reactive.d.ts +2 -0
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/agent/supervisor.d.ts +6 -0
- package/dist/types/agent/supervisor.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +6 -2
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/connector/core.d.ts +13 -8
- package/dist/types/connector/core.d.ts.map +1 -1
- package/dist/types/connector/definition.d.ts +37 -18
- package/dist/types/connector/definition.d.ts.map +1 -1
- package/dist/types/connector/http.d.ts +6 -0
- package/dist/types/connector/http.d.ts.map +1 -1
- package/dist/types/connector/mcp.d.ts +24 -6
- package/dist/types/connector/mcp.d.ts.map +1 -1
- package/dist/types/connector/tenant.d.ts +17 -7
- package/dist/types/connector/tenant.d.ts.map +1 -1
- package/dist/types/connector/webhook.d.ts +6 -0
- package/dist/types/connector/webhook.d.ts.map +1 -1
- package/dist/types/goal/index.d.ts +46 -0
- package/dist/types/goal/index.d.ts.map +1 -0
- package/dist/types/goal/index.js +2 -0
- package/dist/types/goal/index.js.map +1 -0
- package/dist/types/ids/index.d.ts +2 -0
- package/dist/types/ids/index.d.ts.map +1 -1
- package/dist/types/ids/index.js.map +1 -1
- package/dist/types/message/index.d.ts +75 -10
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +49 -3
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +7 -5
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js.map +1 -1
- package/dist/types/provider/chat.d.ts +27 -4
- package/dist/types/provider/chat.d.ts.map +1 -1
- package/dist/types/provider/interface.d.ts +18 -7
- package/dist/types/provider/interface.d.ts.map +1 -1
- package/dist/types/provider/stream.d.ts +6 -0
- package/dist/types/provider/stream.d.ts.map +1 -1
- package/dist/types/rag/embedding.d.ts +15 -2
- package/dist/types/rag/embedding.d.ts.map +1 -1
- package/dist/types/rag/ingestion.d.ts +2 -2
- package/dist/types/rag/ingestion.d.ts.map +1 -1
- package/dist/types/rag/knowledge-base.d.ts +3 -3
- package/dist/types/rag/knowledge-base.d.ts.map +1 -1
- package/dist/types/rag/retrieval.d.ts +2 -2
- package/dist/types/rag/retrieval.d.ts.map +1 -1
- package/dist/types/rag/scope.d.ts +4 -0
- package/dist/types/rag/scope.d.ts.map +1 -1
- package/dist/types/rag/vector.d.ts +5 -2
- package/dist/types/rag/vector.d.ts.map +1 -1
- package/dist/types/run/config.d.ts +20 -0
- package/dist/types/run/config.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +25 -1
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/run/metadata.d.ts +2 -0
- package/dist/types/run/metadata.d.ts.map +1 -1
- package/dist/types/run/step.d.ts +2 -6
- package/dist/types/run/step.d.ts.map +1 -1
- package/dist/types/run/step.js.map +1 -1
- package/dist/types/run/store.d.ts +55 -2
- package/dist/types/run/store.d.ts.map +1 -1
- package/dist/types/sandbox/index.d.ts +47 -6
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js +23 -10
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/session/store.d.ts +13 -0
- package/dist/types/session/store.d.ts.map +1 -1
- package/dist/types/tool/index.d.ts +33 -11
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/types/topic/entity.d.ts +3 -4
- package/dist/types/topic/entity.d.ts.map +1 -1
- package/dist/types/topic/store.d.ts +3 -3
- package/dist/utils/id.d.ts +3 -1
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +4 -0
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/process-environment.d.ts +26 -0
- package/dist/utils/process-environment.d.ts.map +1 -0
- package/dist/utils/process-environment.js +78 -0
- package/dist/utils/process-environment.js.map +1 -0
- package/dist/vault/InMemoryCredentialVault.d.ts +2 -0
- package/dist/vault/InMemoryCredentialVault.d.ts.map +1 -1
- package/dist/vault/InMemoryCredentialVault.js +24 -4
- package/dist/vault/InMemoryCredentialVault.js.map +1 -1
- package/dist/vault/instrumentation.d.ts.map +1 -1
- package/dist/vault/instrumentation.js +15 -0
- package/dist/vault/instrumentation.js.map +1 -1
- package/package.json +1 -1
- package/src/advisory/executor.ts +4 -1
- package/src/agents/ReactiveAgent.ts +12 -0
- package/src/agents/RouterAgent.ts +25 -3
- package/src/agents/SupervisorAgent.ts +33 -11
- package/src/agents/runAgent.ts +38 -2
- package/src/authorization/command-line.ts +390 -0
- package/src/authorization/rules.ts +22 -1
- package/src/bridge/a2a/client.ts +384 -97
- package/src/bridge/a2a/mapper.ts +5 -0
- package/src/bridge/acp/server.ts +184 -42
- package/src/bridge/mcp/connector/adapter.ts +28 -20
- package/src/bridge/sse/mapper.ts +3 -0
- package/src/compaction/dangling.ts +203 -38
- package/src/compaction/index.ts +9 -2
- package/src/compaction/manual.ts +125 -18
- package/src/compaction/plan.ts +42 -11
- package/src/compaction/retention.ts +23 -8
- package/src/compaction/summary.ts +4 -4
- package/src/compaction/verifier.ts +66 -0
- package/src/connector/BaseConnector.ts +19 -4
- package/src/connector/builtins/http.ts +236 -46
- package/src/connector/builtins/webhook.ts +207 -47
- package/src/connector/execution-contract.ts +27 -0
- package/src/connector/http-operation.ts +238 -0
- package/src/connector/mcp/adapter.ts +8 -3
- package/src/connector/mcp/client.ts +207 -58
- package/src/connector/mcp/http-sse.ts +91 -23
- package/src/connector/mcp/prompt-adapter.ts +8 -2
- package/src/connector/mcp/stdio.ts +21 -46
- package/src/connector/mcp/streamable-http.ts +86 -22
- package/src/connector/tools/adapter.ts +23 -14
- package/src/connector/tools/definitions.ts +5 -2
- package/src/connector/tools/result.ts +21 -0
- package/src/connector/web/guarded-fetch.ts +188 -48
- package/src/constants/sandbox/index.ts +3 -2
- package/src/contracts/api.ts +2 -0
- package/src/contracts/schemas.ts +7 -0
- package/src/directory/derive-supervisor.ts +8 -0
- package/src/directory/derive.ts +8 -0
- package/src/directory/load.ts +2 -0
- package/src/directory/types.ts +4 -0
- package/src/eval/experiment.ts +160 -111
- package/src/eval/judge.ts +13 -2
- package/src/eval/types.ts +7 -1
- package/src/manager/agent/lifecycle.ts +28 -12
- package/src/manager/connector/environment.ts +3 -1
- package/src/manager/connector/lifecycle.ts +364 -24
- package/src/manager/connector/tenant.ts +56 -23
- package/src/manager/goal/activation.ts +52 -0
- package/src/manager/index.ts +10 -2
- package/src/manager/run/persistence.ts +6 -1
- package/src/manager/topic/dependency.ts +39 -0
- package/src/manager/topic/lifecycle.ts +19 -31
- package/src/plugin/index.ts +1 -0
- package/src/plugin/lifecycle.ts +180 -39
- package/src/plugin/loader.ts +70 -13
- package/src/pricing/rates.source.json +315 -204
- package/src/provider/collect-chat-completion.ts +36 -0
- package/src/provider/fallback.ts +79 -11
- package/src/provider/idle-timeout.ts +143 -17
- package/src/provider/index.ts +2 -0
- package/src/provider/instrumentation.ts +1 -0
- package/src/provider/retry.ts +16 -1
- package/src/public-runtime.ts +190 -32
- package/src/public-tools.ts +5 -0
- package/src/public-types.ts +85 -11
- package/src/rag/embedding.ts +147 -19
- package/src/rag/index.ts +1 -1
- package/src/rag/ingestion.ts +16 -2
- package/src/rag/knowledge-base.ts +13 -4
- package/src/rag/operation.ts +28 -0
- package/src/rag/rag-tool.ts +6 -3
- package/src/rag/retriever.ts +62 -11
- package/src/rag/vector-store.ts +8 -2
- package/src/registry/command/kernel-commands.ts +223 -4
- package/src/run/reporter.ts +10 -0
- package/src/run-query/index.ts +84 -15
- package/src/runtime/query/context.ts +13 -3
- package/src/runtime/query/executor.ts +90 -17
- package/src/runtime/query/guard.ts +12 -0
- package/src/runtime/query/index.ts +652 -103
- package/src/runtime/query/iteration/index.ts +89 -13
- package/src/runtime/query/iteration/phases/compaction.ts +120 -55
- package/src/runtime/query/iteration/phases/context.ts +4 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +28 -0
- package/src/runtime/query/iteration/stream-turn.ts +3 -0
- package/src/runtime/query/project-instructions.ts +212 -0
- package/src/runtime/query/request-rich-content.ts +153 -0
- package/src/runtime/query/result.ts +12 -1
- package/src/runtime/query/resume-pending.ts +20 -18
- package/src/runtime/query/resume-run.ts +52 -8
- package/src/runtime/query/run-state.ts +11 -1
- package/src/runtime/query/sandbox-lifecycle.ts +210 -0
- package/src/sandbox/isolation.ts +9 -0
- package/src/sandbox/provider/local.ts +255 -90
- package/src/sandbox/terminal.ts +13 -5
- package/src/session/errors.ts +68 -42
- package/src/session/handoff/broadcast.ts +20 -14
- package/src/session/handoff/single.ts +14 -13
- package/src/store/attachment/index.ts +65 -3
- package/src/store/feedback/conformance.ts +39 -0
- package/src/store/feedback/disk.ts +128 -82
- package/src/store/goal/index.ts +594 -0
- package/src/store/index.ts +1 -1
- package/src/store/kv/revision-record-store.ts +346 -0
- package/src/store/memory/disk.ts +288 -113
- package/src/store/run/disk.ts +96 -5
- package/src/store/run/memory.ts +22 -2
- package/src/store/session/disk.ts +93 -6
- package/src/store/session/memory.ts +22 -0
- package/src/store/topic/memory.ts +4 -5
- package/src/store/topic/objective.ts +215 -100
- package/src/store/topic/state.ts +100 -63
- package/src/tools/builtins/bash.ts +21 -0
- package/src/tools/builtins/computer-use.ts +9 -1
- package/src/tools/builtins/content-fingerprint.ts +9 -12
- package/src/tools/builtins/edit.ts +190 -27
- package/src/tools/builtins/write-file.ts +55 -19
- package/src/tools/command-arguments.ts +54 -0
- package/src/tools/coordinator/index.ts +4 -1
- package/src/tools/defineTool.ts +11 -0
- package/src/tools/env-scrub.ts +7 -5
- package/src/tools/goal/index.ts +129 -0
- package/src/tools/memory/index.ts +26 -3
- package/src/tools/memory/search.ts +20 -3
- package/src/types/agent/base.ts +12 -3
- package/src/types/agent/factory.ts +2 -0
- package/src/types/agent/reactive.ts +2 -0
- package/src/types/agent/supervisor.ts +6 -0
- package/src/types/agent/task.ts +6 -2
- package/src/types/connector/core.ts +13 -8
- package/src/types/connector/definition.ts +54 -20
- package/src/types/connector/http.ts +7 -0
- package/src/types/connector/mcp.ts +27 -6
- package/src/types/connector/tenant.ts +21 -7
- package/src/types/connector/webhook.ts +7 -0
- package/src/types/goal/index.ts +50 -0
- package/src/types/ids/index.ts +2 -0
- package/src/types/message/index.ts +143 -9
- package/src/types/plugin/index.ts +7 -5
- package/src/types/provider/chat.ts +35 -4
- package/src/types/provider/interface.ts +22 -7
- package/src/types/provider/stream.ts +6 -0
- package/src/types/rag/embedding.ts +16 -2
- package/src/types/rag/ingestion.ts +2 -1
- package/src/types/rag/knowledge-base.ts +7 -3
- package/src/types/rag/retrieval.ts +2 -1
- package/src/types/rag/scope.ts +5 -0
- package/src/types/rag/vector.ts +5 -2
- package/src/types/run/config.ts +20 -0
- package/src/types/run/events.ts +28 -3
- package/src/types/run/metadata.ts +2 -0
- package/src/types/run/step.ts +2 -7
- package/src/types/run/store.ts +60 -2
- package/src/types/sandbox/index.ts +57 -14
- package/src/types/session/store.ts +18 -0
- package/src/types/tool/index.ts +33 -11
- package/src/types/topic/entity.ts +3 -4
- package/src/types/topic/store.ts +3 -3
- package/src/utils/id.ts +6 -0
- package/src/utils/process-environment.ts +101 -0
- package/src/vault/InMemoryCredentialVault.ts +29 -4
- package/src/vault/instrumentation.ts +24 -0
|
@@ -18,40 +18,61 @@ export interface ConnectorDefinition<TConfig = unknown> {
|
|
|
18
18
|
category?: ConnectorCategory
|
|
19
19
|
connectionType: ConnectionType
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* Worth wiring where instances are created, not at request time: the
|
|
26
|
-
* point of declaring supported schemes is to reject a misconfiguration
|
|
27
|
-
* before anything is sent.
|
|
21
|
+
* Authentication schemes this connector can consume. When present, the
|
|
22
|
+
* manager refuses an unsupported explicit credential before publishing an
|
|
23
|
+
* instance and revalidates the effective scheme immediately before connect.
|
|
24
|
+
* Omit only when a custom connector intentionally accepts every scheme.
|
|
28
25
|
*/
|
|
29
|
-
supportedAuth?: AuthType[]
|
|
26
|
+
supportedAuth?: readonly AuthType[]
|
|
30
27
|
configSchema: z.ZodType<TConfig, z.ZodTypeDef, unknown>
|
|
31
28
|
methods: ConnectorMethod[]
|
|
32
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Declared, not implemented — see {@link ConnectorTrigger}.
|
|
31
|
+
*
|
|
32
|
+
* @deprecated The SDK never reads this field or starts a run from it. Move
|
|
33
|
+
* subscription metadata into a host-owned store before the next major.
|
|
34
|
+
* It remains readable through `ConnectorRegistry` during this migration
|
|
35
|
+
* release so existing host dispatchers do not break without warning.
|
|
36
|
+
*/
|
|
33
37
|
triggers?: ConnectorTrigger[]
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
export interface ConnectorConfig {
|
|
37
|
-
connectorId: ConnectorId
|
|
41
|
+
readonly connectorId: ConnectorId
|
|
38
42
|
name: string
|
|
39
43
|
auth?: AuthConfig
|
|
40
44
|
options?: Record<string, unknown>
|
|
41
45
|
}
|
|
42
46
|
|
|
43
47
|
export interface ConnectorInstance {
|
|
44
|
-
id: ConnectorInstanceId
|
|
45
|
-
connectorId: ConnectorId
|
|
46
|
-
config: ConnectorConfig
|
|
48
|
+
readonly id: ConnectorInstanceId
|
|
49
|
+
readonly connectorId: ConnectorId
|
|
50
|
+
readonly config: ConnectorConfig
|
|
47
51
|
status: ConnectorStatus
|
|
48
|
-
createdAt: number
|
|
52
|
+
readonly createdAt: number
|
|
49
53
|
connectedAt?: number
|
|
50
54
|
lastUsedAt?: number
|
|
51
55
|
error?: string
|
|
52
56
|
}
|
|
53
57
|
|
|
54
|
-
|
|
58
|
+
/** What the client can establish about a connector side effect. */
|
|
59
|
+
export type ConnectorRemoteOutcome = 'not_started' | 'unknown' | 'response_received'
|
|
60
|
+
|
|
61
|
+
/** Whether repeating the connector call can be recommended without duplicating a side effect. */
|
|
62
|
+
export type ConnectorRetrySafety = 'safe' | 'unsafe' | 'unknown'
|
|
63
|
+
|
|
64
|
+
export interface ConnectorOperationOptions {
|
|
65
|
+
/** The authority for this operation. A pre-aborted signal starts no connector work. */
|
|
66
|
+
signal?: AbortSignal
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface ConnectorExecutionMetadata extends Record<string, unknown> {
|
|
70
|
+
remoteOutcome?: ConnectorRemoteOutcome
|
|
71
|
+
retrySafety?: ConnectorRetrySafety
|
|
72
|
+
bodyAvailable?: boolean
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface ConnectorExecuteParams extends ConnectorOperationOptions {
|
|
55
76
|
instanceId: ConnectorInstanceId
|
|
56
77
|
method: string
|
|
57
78
|
input: unknown
|
|
@@ -62,26 +83,39 @@ export interface ConnectorExecuteResult {
|
|
|
62
83
|
output: unknown
|
|
63
84
|
error?: string
|
|
64
85
|
durationMs: number
|
|
65
|
-
metadata?:
|
|
86
|
+
metadata?: ConnectorExecutionMetadata
|
|
66
87
|
}
|
|
67
88
|
|
|
68
89
|
export interface ConnectorLifecycle<TConfig = unknown> {
|
|
69
90
|
connect(config: TConfig, auth?: AuthConfig): Promise<void>
|
|
70
91
|
disconnect(): Promise<void>
|
|
71
|
-
healthCheck(): Promise<boolean>
|
|
72
|
-
execute(
|
|
92
|
+
healthCheck(options?: ConnectorOperationOptions): Promise<boolean>
|
|
93
|
+
execute(
|
|
94
|
+
method: string,
|
|
95
|
+
/** ConnectorManager supplies the method schema's parsed canonical value on managed calls. */
|
|
96
|
+
input: unknown,
|
|
97
|
+
options?: ConnectorOperationOptions,
|
|
98
|
+
): Promise<ConnectorExecuteResult>
|
|
73
99
|
}
|
|
74
100
|
|
|
75
101
|
export type ConnectorLifecycleEvent =
|
|
76
102
|
| { type: 'connector_registered'; connectorId: ConnectorId }
|
|
77
103
|
| { type: 'connector_unregistered'; connectorId: ConnectorId }
|
|
78
|
-
| {
|
|
104
|
+
| {
|
|
105
|
+
type: 'instance_created'
|
|
106
|
+
instanceId: ConnectorInstanceId
|
|
107
|
+
connectorId: ConnectorId
|
|
108
|
+
}
|
|
79
109
|
| { type: 'instance_connecting'; instanceId: ConnectorInstanceId }
|
|
80
110
|
| { type: 'instance_connected'; instanceId: ConnectorInstanceId }
|
|
81
111
|
| { type: 'instance_disconnected'; instanceId: ConnectorInstanceId }
|
|
82
112
|
| { type: 'instance_error'; instanceId: ConnectorInstanceId; error: string }
|
|
83
113
|
| { type: 'instance_removed'; instanceId: ConnectorInstanceId }
|
|
84
|
-
| {
|
|
114
|
+
| {
|
|
115
|
+
type: 'action_executing'
|
|
116
|
+
instanceId: ConnectorInstanceId
|
|
117
|
+
method: string
|
|
118
|
+
}
|
|
85
119
|
| {
|
|
86
120
|
type: 'action_completed'
|
|
87
121
|
instanceId: ConnectorInstanceId
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import type { ConnectorRemoteOutcome, ConnectorRetrySafety } from './definition.js'
|
|
2
|
+
|
|
1
3
|
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD'
|
|
2
4
|
|
|
3
5
|
export interface HttpConnectorConfig {
|
|
4
6
|
baseUrl: string
|
|
5
7
|
defaultHeaders?: Record<string, string>
|
|
6
8
|
timeoutMs?: number
|
|
9
|
+
maxResponseBytes?: number
|
|
7
10
|
}
|
|
8
11
|
|
|
9
12
|
export interface HttpRequestInput {
|
|
@@ -19,4 +22,8 @@ export interface HttpResponseOutput {
|
|
|
19
22
|
statusText: string
|
|
20
23
|
headers: Record<string, string>
|
|
21
24
|
body: unknown
|
|
25
|
+
bodyAvailable?: boolean
|
|
26
|
+
bodyError?: string
|
|
27
|
+
remoteOutcome?: ConnectorRemoteOutcome
|
|
28
|
+
retrySafety?: ConnectorRetrySafety
|
|
22
29
|
}
|
|
@@ -74,10 +74,27 @@ export interface MCPJsonRpcMessage {
|
|
|
74
74
|
error?: MCPJsonRpcError
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
/** Authority for one MCP JSON-RPC request. */
|
|
78
|
+
export interface MCPRequestOptions {
|
|
79
|
+
/**
|
|
80
|
+
* Cancels the local wait and asks the peer to stop the correlated request.
|
|
81
|
+
*
|
|
82
|
+
* The peer notification is best effort: rejection proves that Namzu stopped
|
|
83
|
+
* waiting, not that an already-started remote side effect was rolled back.
|
|
84
|
+
*/
|
|
85
|
+
readonly signal?: AbortSignal
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** Authority for one transport write and any response body it consumes. */
|
|
89
|
+
export interface MCPTransportSendOptions {
|
|
90
|
+
/** A pre-aborted signal starts no transport work. */
|
|
91
|
+
readonly signal?: AbortSignal
|
|
92
|
+
}
|
|
93
|
+
|
|
77
94
|
export interface MCPTransport {
|
|
78
95
|
connect(): Promise<void>
|
|
79
96
|
close(): Promise<void>
|
|
80
|
-
send(message: MCPJsonRpcMessage): Promise<void>
|
|
97
|
+
send(message: MCPJsonRpcMessage, options?: MCPTransportSendOptions): Promise<void>
|
|
81
98
|
onMessage(handler: (message: MCPJsonRpcMessage) => void): void
|
|
82
99
|
onClose(handler: () => void): void
|
|
83
100
|
onError(handler: (error: Error) => void): void
|
|
@@ -91,6 +108,12 @@ export interface MCPJsonSchema {
|
|
|
91
108
|
[key: string]: unknown
|
|
92
109
|
}
|
|
93
110
|
|
|
111
|
+
/** A JSON Schema for a value, including non-object tool outputs. */
|
|
112
|
+
export interface MCPValueJsonSchema {
|
|
113
|
+
type?: string
|
|
114
|
+
[key: string]: unknown
|
|
115
|
+
}
|
|
116
|
+
|
|
94
117
|
export interface MCPToolAnnotations {
|
|
95
118
|
title?: string
|
|
96
119
|
readOnlyHint?: boolean
|
|
@@ -111,7 +134,7 @@ export interface MCPToolDefinition {
|
|
|
111
134
|
* shape never reached the model at all, which was left inferring one
|
|
112
135
|
* from prose or from whatever the first call happened to return.
|
|
113
136
|
*/
|
|
114
|
-
outputSchema?:
|
|
137
|
+
outputSchema?: MCPValueJsonSchema
|
|
115
138
|
annotations?: MCPToolAnnotations
|
|
116
139
|
}
|
|
117
140
|
|
|
@@ -284,10 +307,8 @@ export type MCPEventListener = (event: MCPLifecycleEvent) => void
|
|
|
284
307
|
|
|
285
308
|
type ConnectorManager = {
|
|
286
309
|
getInstance(instanceId: ConnectorInstanceId): ConnectorInstance | undefined
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
getOrThrow(connectorId: ConnectorId): ConnectorDefinition
|
|
290
|
-
}
|
|
310
|
+
getInstanceConnectorId(instanceId: ConnectorInstanceId): ConnectorId
|
|
311
|
+
getInstanceDefinition(instanceId: ConnectorInstanceId): ConnectorDefinition
|
|
291
312
|
listConnectedInstances(): ConnectorInstance[]
|
|
292
313
|
execute(params: ConnectorExecuteParams): Promise<ConnectorExecuteResult>
|
|
293
314
|
}
|
|
@@ -24,13 +24,13 @@ export interface TenantRateLimitConfig {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export interface CredentialRef {
|
|
27
|
-
id: CredentialId
|
|
28
|
-
connectorId: ConnectorId
|
|
29
|
-
tenantId: TenantId
|
|
30
|
-
label: string
|
|
31
|
-
authType: AuthType
|
|
32
|
-
createdAt: number
|
|
33
|
-
expiresAt?: number
|
|
27
|
+
readonly id: CredentialId
|
|
28
|
+
readonly connectorId: ConnectorId
|
|
29
|
+
readonly tenantId: TenantId
|
|
30
|
+
readonly label: string
|
|
31
|
+
readonly authType: AuthType
|
|
32
|
+
readonly createdAt: number
|
|
33
|
+
readonly expiresAt?: number
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export interface CredentialVault {
|
|
@@ -40,7 +40,21 @@ export interface CredentialVault {
|
|
|
40
40
|
label: string,
|
|
41
41
|
auth: AuthConfig,
|
|
42
42
|
): Promise<CredentialRef>
|
|
43
|
+
/** Host-authority lookup. Tenant-facing code must use {@link retrieveForScope}. */
|
|
43
44
|
retrieve(credentialId: CredentialId): Promise<AuthConfig | undefined>
|
|
45
|
+
/**
|
|
46
|
+
* Resolve only when the credential atomically belongs to both authorities.
|
|
47
|
+
* Implementations must not perform an unscoped read followed by a separate
|
|
48
|
+
* metadata check: a concurrent rotation must not cross the scope boundary.
|
|
49
|
+
*/
|
|
50
|
+
retrieveForScope(
|
|
51
|
+
tenantId: TenantId,
|
|
52
|
+
connectorId: ConnectorId,
|
|
53
|
+
credentialId: CredentialId,
|
|
54
|
+
): Promise<AuthConfig | undefined>
|
|
55
|
+
/** Host-authority deletion. Tenant-facing code must use {@link revokeForTenant}. */
|
|
44
56
|
revoke(credentialId: CredentialId): Promise<boolean>
|
|
57
|
+
/** Atomically delete only when the credential belongs to `tenantId`. */
|
|
58
|
+
revokeForTenant(tenantId: TenantId, credentialId: CredentialId): Promise<boolean>
|
|
45
59
|
list(tenantId: TenantId, connectorId?: ConnectorId): Promise<CredentialRef[]>
|
|
46
60
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import type { ConnectorRemoteOutcome, ConnectorRetrySafety } from './definition.js'
|
|
2
|
+
|
|
1
3
|
export interface WebhookConnectorConfig {
|
|
2
4
|
url: string
|
|
3
5
|
secret?: string
|
|
4
6
|
defaultHeaders?: Record<string, string>
|
|
5
7
|
timeoutMs?: number
|
|
8
|
+
maxResponseBytes?: number
|
|
6
9
|
}
|
|
7
10
|
|
|
8
11
|
export interface WebhookSendInput {
|
|
@@ -15,4 +18,8 @@ export interface WebhookSendOutput {
|
|
|
15
18
|
status: number
|
|
16
19
|
body: unknown
|
|
17
20
|
deliveredAt: number
|
|
21
|
+
bodyAvailable?: boolean
|
|
22
|
+
bodyError?: string
|
|
23
|
+
remoteOutcome?: ConnectorRemoteOutcome
|
|
24
|
+
retrySafety?: ConnectorRetrySafety
|
|
18
25
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { GoalId, SessionId, TenantId } from '../ids/index.js'
|
|
2
|
+
|
|
3
|
+
/** Durable lifecycle of one same-session completion goal. */
|
|
4
|
+
export type GoalPhase = 'active' | 'paused' | 'blocked' | 'complete'
|
|
5
|
+
|
|
6
|
+
/** Machine-routable and human-readable reason that a goal stopped. */
|
|
7
|
+
export interface GoalBlockReason {
|
|
8
|
+
/** Stable lower-kebab-case policy code. */
|
|
9
|
+
readonly code: string
|
|
10
|
+
/** Non-empty explanation suitable for an operator. */
|
|
11
|
+
readonly message: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** Exact compare-and-set identity of one goal revision. */
|
|
15
|
+
export interface GoalRef {
|
|
16
|
+
readonly id: GoalId
|
|
17
|
+
readonly revision: number
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The current completion goal owned by one durable Session.
|
|
22
|
+
*
|
|
23
|
+
* `objective` is the text to achieve; “goal” is the stateful concept around
|
|
24
|
+
* it. Keeping those terms apart prevents the old `TopicObjective` shape from
|
|
25
|
+
* making a piece of text sound like the lifecycle that owns it.
|
|
26
|
+
*/
|
|
27
|
+
export interface SessionGoal extends GoalRef {
|
|
28
|
+
readonly sessionId: SessionId
|
|
29
|
+
readonly tenantId: TenantId
|
|
30
|
+
readonly objective: string
|
|
31
|
+
readonly phase: GoalPhase
|
|
32
|
+
/** Finite number of automatic rounds that may be admitted for this goal. */
|
|
33
|
+
readonly maxGoalRounds: number
|
|
34
|
+
/** Durable admissions, not a claim that the provider began or completed. */
|
|
35
|
+
readonly roundsAdmitted: number
|
|
36
|
+
/** Present exactly while {@link phase} is `blocked`. */
|
|
37
|
+
readonly blockedReason?: GoalBlockReason
|
|
38
|
+
readonly createdAt: number
|
|
39
|
+
readonly updatedAt: number
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Immutable authority carried by exactly one admitted automatic turn. */
|
|
43
|
+
export interface GoalRoundAuthority extends GoalRef {
|
|
44
|
+
readonly sessionId: SessionId
|
|
45
|
+
readonly tenantId: TenantId
|
|
46
|
+
readonly objective: string
|
|
47
|
+
/** One-based admitted round number. */
|
|
48
|
+
readonly round: number
|
|
49
|
+
readonly maxGoalRounds: number
|
|
50
|
+
}
|
package/src/types/ids/index.ts
CHANGED
|
@@ -17,6 +17,8 @@ import { type Id, unsafeId } from './brand.js'
|
|
|
17
17
|
export type RunId = Id<'run', 'RunId'>
|
|
18
18
|
export type MessageId = Id<'msg', 'MessageId'>
|
|
19
19
|
export type SessionId = Id<'ses', 'SessionId'>
|
|
20
|
+
/** Identifies one durable completion goal across its revisions. */
|
|
21
|
+
export type GoalId = Id<'goal', 'GoalId'>
|
|
20
22
|
export type ToolCallId = Id<'call', 'ToolCallId'>
|
|
21
23
|
/**
|
|
22
24
|
* Provider-issued tool-use identifier surfaced on the streaming event bus.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { GoalId } from '../ids/index.js'
|
|
2
|
+
|
|
1
3
|
export type MessageRole = 'system' | 'user' | 'assistant' | 'tool'
|
|
2
4
|
|
|
3
5
|
export type CacheHint = 'cache' | 'ephemeral' | 'none'
|
|
@@ -156,10 +158,12 @@ export interface BaseMessage {
|
|
|
156
158
|
* one") therefore aged out at the same rate as chatter, and no
|
|
157
159
|
* positional rule could express it.
|
|
158
160
|
*
|
|
159
|
-
* Protection is transitive across a
|
|
160
|
-
*
|
|
161
|
-
* pinning
|
|
162
|
-
*
|
|
161
|
+
* Protection is transitive across a provider-valid turn: pinning an
|
|
162
|
+
* assistant message also pins the user message that opened its turn;
|
|
163
|
+
* pinning a `tool_result` additionally pins the assistant turn that called
|
|
164
|
+
* it, and pinning that call pins every result answering it. Half a pair,
|
|
165
|
+
* or an assistant-first retained tail, is not a smaller history — it is
|
|
166
|
+
* one the provider rejects.
|
|
163
167
|
*
|
|
164
168
|
* Pinned turns are exempt from the reclaim that keeps a long run
|
|
165
169
|
* alive, so this is a budget the setter spends. Nothing caps it: a cap
|
|
@@ -179,12 +183,111 @@ export interface UserMessage extends BaseMessage {
|
|
|
179
183
|
content: string
|
|
180
184
|
/** Optional image or document attachments. */
|
|
181
185
|
attachments?: readonly MessageAttachment[]
|
|
186
|
+
/** Host provenance for user-role input that was not authored by the operator. */
|
|
187
|
+
source?: UserMessageSource
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/** One automatic continuation prompt admitted against a durable SessionGoal. */
|
|
191
|
+
export interface GoalRoundMessageSource {
|
|
192
|
+
readonly type: 'goal-round'
|
|
193
|
+
readonly goalId: GoalId
|
|
194
|
+
readonly objective: string
|
|
195
|
+
/** Post-admission goal revision that authorized this prompt. */
|
|
196
|
+
readonly goalRevision: number
|
|
197
|
+
readonly round: number
|
|
198
|
+
readonly maxGoalRounds: number
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* A host-owned snapshot of the instruction files currently in force.
|
|
203
|
+
*
|
|
204
|
+
* Paths are canonical project-relative `AGENTS.md` paths. The text lives on
|
|
205
|
+
* the user message itself; the paths are provenance used to re-read the
|
|
206
|
+
* authoritative files after a restart rather than trusting persisted prose as
|
|
207
|
+
* standing policy.
|
|
208
|
+
*/
|
|
209
|
+
export interface ProjectInstructionMessageSource {
|
|
210
|
+
readonly type: 'project-instructions'
|
|
211
|
+
readonly files: readonly string[]
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
export type UserMessageSource = GoalRoundMessageSource | ProjectInstructionMessageSource
|
|
215
|
+
|
|
216
|
+
/** A bounded source list keeps untrusted persisted metadata cheap to validate. */
|
|
217
|
+
export const MAX_PROJECT_INSTRUCTION_SOURCE_FILES = 256
|
|
218
|
+
|
|
219
|
+
/** Runtime validation for persisted or JavaScript-authored instruction provenance. */
|
|
220
|
+
export function isProjectInstructionMessageSource(
|
|
221
|
+
value: unknown,
|
|
222
|
+
): value is ProjectInstructionMessageSource {
|
|
223
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) return false
|
|
224
|
+
const candidate = value as {
|
|
225
|
+
readonly type?: unknown
|
|
226
|
+
readonly files?: unknown
|
|
227
|
+
}
|
|
228
|
+
if (
|
|
229
|
+
candidate.type !== 'project-instructions' ||
|
|
230
|
+
!Array.isArray(candidate.files) ||
|
|
231
|
+
candidate.files.length === 0 ||
|
|
232
|
+
candidate.files.length > MAX_PROJECT_INSTRUCTION_SOURCE_FILES
|
|
233
|
+
) {
|
|
234
|
+
return false
|
|
235
|
+
}
|
|
236
|
+
const seen = new Set<string>()
|
|
237
|
+
for (const file of candidate.files) {
|
|
238
|
+
if (typeof file !== 'string' || file.length === 0 || file.length > 1024) return false
|
|
239
|
+
if (
|
|
240
|
+
file.includes('\\') ||
|
|
241
|
+
file.startsWith('/') ||
|
|
242
|
+
/^[A-Za-z]:/.test(file) ||
|
|
243
|
+
file.includes('\0') ||
|
|
244
|
+
(file !== 'AGENTS.md' && !file.endsWith('/AGENTS.md'))
|
|
245
|
+
) {
|
|
246
|
+
return false
|
|
247
|
+
}
|
|
248
|
+
const parts = file.split('/')
|
|
249
|
+
if (parts.some((part) => part.length === 0 || part === '.' || part === '..')) return false
|
|
250
|
+
if (seen.has(file)) return false
|
|
251
|
+
seen.add(file)
|
|
252
|
+
}
|
|
253
|
+
return true
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* The configured model route that produced or is about to receive a message.
|
|
258
|
+
*
|
|
259
|
+
* `chainIndex` is part of the identity on purpose: one chain may contain the
|
|
260
|
+
* same provider and model more than once with different credentials or base
|
|
261
|
+
* URLs. Names alone do not prove that provider-native replay state belongs to
|
|
262
|
+
* the target member.
|
|
263
|
+
*/
|
|
264
|
+
export interface ProviderRoute {
|
|
265
|
+
readonly providerId: string
|
|
266
|
+
readonly model: string
|
|
267
|
+
/** 0 is the primary provider; later values are declared fallbacks. */
|
|
268
|
+
readonly chainIndex: number
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/** Provenance and adapter-private replay state for a model-produced message. */
|
|
272
|
+
export interface AssistantMessageSource extends ProviderRoute {
|
|
273
|
+
readonly type: 'model'
|
|
274
|
+
/**
|
|
275
|
+
* Lossless-JSON state a provider adapter needs to restore native response
|
|
276
|
+
* metadata such as reasoning signatures.
|
|
277
|
+
*
|
|
278
|
+
* Opaque to the SDK. A target adapter must validate its kind, version,
|
|
279
|
+
* route, and correspondence with the durable message before using it.
|
|
280
|
+
* Missing or unusable state means provider-neutral history, never inferred
|
|
281
|
+
* native replay from matching names alone.
|
|
282
|
+
*/
|
|
283
|
+
readonly replayState?: unknown
|
|
182
284
|
}
|
|
183
285
|
|
|
184
286
|
/**
|
|
185
287
|
* An opaque reasoning block produced by the model.
|
|
186
288
|
*
|
|
187
|
-
* Deliberately opaque: the SDK stores and
|
|
289
|
+
* Deliberately opaque: the SDK stores it and leaves native replay to the
|
|
290
|
+
* adapter that owns the message's {@link AssistantMessageSource} route.
|
|
188
291
|
* A provider whose reasoning blocks are signed requires the preceding
|
|
189
292
|
* assistant turn to be echoed back **verbatim** — thinking blocks and
|
|
190
293
|
* their cryptographic `signature` included — whenever a `tool_result`
|
|
@@ -209,10 +312,12 @@ export interface AssistantMessage extends BaseMessage {
|
|
|
209
312
|
role: 'assistant'
|
|
210
313
|
content: string | null
|
|
211
314
|
toolCalls?: ToolCall[]
|
|
315
|
+
/** Which configured model route produced this turn. */
|
|
316
|
+
source?: AssistantMessageSource
|
|
212
317
|
/**
|
|
213
318
|
* Reasoning the model emitted before this turn's content, in order.
|
|
214
|
-
*
|
|
215
|
-
* {@link
|
|
319
|
+
* Stored verbatim; native replay additionally requires validated
|
|
320
|
+
* {@link AssistantMessageSource.replayState} owned by the target route.
|
|
216
321
|
*/
|
|
217
322
|
reasoning?: readonly ReasoningBlock[]
|
|
218
323
|
/**
|
|
@@ -239,7 +344,11 @@ export interface AssistantMessage extends BaseMessage {
|
|
|
239
344
|
*/
|
|
240
345
|
export type ToolResultBlock =
|
|
241
346
|
| { readonly type: 'text'; readonly text: string }
|
|
242
|
-
| {
|
|
347
|
+
| {
|
|
348
|
+
readonly type: 'image'
|
|
349
|
+
readonly data: string
|
|
350
|
+
readonly mediaType: string
|
|
351
|
+
}
|
|
243
352
|
| DocumentAttachment
|
|
244
353
|
|
|
245
354
|
/**
|
|
@@ -280,13 +389,32 @@ export function createSystemMessage(content: string, cacheHint?: CacheHint): Sys
|
|
|
280
389
|
export function createUserMessage(
|
|
281
390
|
content: string,
|
|
282
391
|
attachments?: readonly MessageAttachment[],
|
|
392
|
+
source?: UserMessageSource,
|
|
283
393
|
): UserMessage {
|
|
284
394
|
return {
|
|
285
395
|
role: 'user',
|
|
286
396
|
content,
|
|
287
397
|
timestamp: Date.now(),
|
|
288
398
|
...(attachments && attachments.length > 0 ? { attachments } : {}),
|
|
399
|
+
...(source ? { source } : {}),
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/** Build the retained user-context message that carries live project policy. */
|
|
404
|
+
export function createProjectInstructionMessage(
|
|
405
|
+
content: string,
|
|
406
|
+
files: readonly string[],
|
|
407
|
+
): UserMessage {
|
|
408
|
+
const source: ProjectInstructionMessageSource = {
|
|
409
|
+
type: 'project-instructions',
|
|
410
|
+
files,
|
|
411
|
+
}
|
|
412
|
+
if (!isProjectInstructionMessageSource(source)) {
|
|
413
|
+
throw new TypeError(
|
|
414
|
+
'Project instruction paths must be unique, canonical project-relative paths.',
|
|
415
|
+
)
|
|
289
416
|
}
|
|
417
|
+
return { ...createUserMessage(content, undefined, source), retain: true }
|
|
290
418
|
}
|
|
291
419
|
|
|
292
420
|
export function createAssistantMessage(
|
|
@@ -294,6 +422,7 @@ export function createAssistantMessage(
|
|
|
294
422
|
toolCalls?: ToolCall[],
|
|
295
423
|
reasoning?: readonly ReasoningBlock[],
|
|
296
424
|
citations?: readonly Citation[],
|
|
425
|
+
source?: AssistantMessageSource,
|
|
297
426
|
): AssistantMessage {
|
|
298
427
|
return {
|
|
299
428
|
role: 'assistant',
|
|
@@ -301,6 +430,7 @@ export function createAssistantMessage(
|
|
|
301
430
|
toolCalls,
|
|
302
431
|
...(reasoning && reasoning.length > 0 ? { reasoning } : {}),
|
|
303
432
|
...(citations && citations.length > 0 ? { citations } : {}),
|
|
433
|
+
...(source ? { source } : {}),
|
|
304
434
|
timestamp: Date.now(),
|
|
305
435
|
}
|
|
306
436
|
}
|
|
@@ -319,4 +449,8 @@ export function createToolMessage(
|
|
|
319
449
|
}
|
|
320
450
|
}
|
|
321
451
|
|
|
322
|
-
export {
|
|
452
|
+
export {
|
|
453
|
+
hasNonTextBlocks,
|
|
454
|
+
toToolResultBlocks,
|
|
455
|
+
toolResultToText,
|
|
456
|
+
} from './content.js'
|
|
@@ -175,12 +175,14 @@ export interface PluginHookContext {
|
|
|
175
175
|
*/
|
|
176
176
|
readonly response?: Readonly<PluginModelResponse>
|
|
177
177
|
/**
|
|
178
|
-
* Aborts when this hook's deadline expires.
|
|
178
|
+
* Aborts when this hook's run is cancelled or its deadline expires.
|
|
179
179
|
*
|
|
180
|
-
* The runtime stops waiting on a slow hook either way, but
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
180
|
+
* The runtime stops waiting on a slow hook either way, but in-process
|
|
181
|
+
* JavaScript cannot be forcibly stopped. Without a signal the hook itself
|
|
182
|
+
* never learns it was abandoned: an HTTP request inside it keeps a socket
|
|
183
|
+
* open and its eventual side effects can happen after the run moved on. A
|
|
184
|
+
* hook doing I/O must forward this signal and stop publishing when it
|
|
185
|
+
* aborts.
|
|
184
186
|
*/
|
|
185
187
|
readonly signal?: AbortSignal
|
|
186
188
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TokenUsage } from '../common/index.js'
|
|
2
|
-
import type { Message, ReasoningBlock, ToolCall } from '../message/index.js'
|
|
2
|
+
import type { Message, ProviderRoute, ReasoningBlock, ToolCall } from '../message/index.js'
|
|
3
3
|
import type { LLMToolSchema } from '../tool/index.js'
|
|
4
4
|
|
|
5
5
|
export type ToolChoice =
|
|
@@ -26,6 +26,14 @@ export interface CacheControl {
|
|
|
26
26
|
export interface ChatCompletionParams {
|
|
27
27
|
model: string
|
|
28
28
|
messages: Message[]
|
|
29
|
+
/**
|
|
30
|
+
* Exact configured member receiving this call.
|
|
31
|
+
*
|
|
32
|
+
* Set by the query/fallback runtime so provider adapters can decide whether
|
|
33
|
+
* historical native replay state belongs to this route. Direct primary
|
|
34
|
+
* calls may omit it; a provider then uses its own id, `model`, and index 0.
|
|
35
|
+
*/
|
|
36
|
+
providerRoute?: ProviderRoute
|
|
29
37
|
tools?: LLMToolSchema[]
|
|
30
38
|
/**
|
|
31
39
|
* Provider hint naming tools whose model-facing JSON Schema should be
|
|
@@ -73,14 +81,19 @@ export interface ChatCompletionParams {
|
|
|
73
81
|
* default the runtime received blocks it then discarded. Neither half
|
|
74
82
|
* was expressible.
|
|
75
83
|
*
|
|
76
|
-
*
|
|
84
|
+
* A driver that has no extended-thinking wire must refuse `enabled` and
|
|
85
|
+
* `adaptive` rather than return an ordinary answer that looks honoured.
|
|
86
|
+
* `disabled` may be accepted as an explicit no-op by a driver that was
|
|
87
|
+
* already going to leave thinking off.
|
|
77
88
|
*/
|
|
78
89
|
thinking?: ThinkingConfig
|
|
79
90
|
|
|
80
91
|
/**
|
|
81
92
|
* How much work to put into the response. See {@link ReasoningEffort}.
|
|
82
93
|
*
|
|
83
|
-
*
|
|
94
|
+
* A driver with no effort concept must refuse the field rather than silently
|
|
95
|
+
* use the model default. Drivers whose accepted levels vary by model resolve
|
|
96
|
+
* that narrower set according to their documented provider policy.
|
|
84
97
|
*/
|
|
85
98
|
effort?: ReasoningEffort
|
|
86
99
|
}
|
|
@@ -142,8 +155,24 @@ export interface ThinkingConfig {
|
|
|
142
155
|
* In adaptive mode it is the primary depth lever — low effort may skip
|
|
143
156
|
* thinking entirely on easy input. In manual mode `budgetTokens` sets depth
|
|
144
157
|
* and effort does not move it.
|
|
158
|
+
*
|
|
159
|
+
* This union describes caller intent, not a claim that every provider or model
|
|
160
|
+
* accepts every level. For example, `minimal` and `none` are distinct levels on
|
|
161
|
+
* different compatible model generations, `max` is available only on newer
|
|
162
|
+
* families, and `ultra` can be a host-level value rather than a model wire
|
|
163
|
+
* capability. A provider must resolve the selected model's actual set before
|
|
164
|
+
* transport or leave the vendor to refuse an unknown compatible-endpoint
|
|
165
|
+
* extension explicitly.
|
|
145
166
|
*/
|
|
146
|
-
export type ReasoningEffort =
|
|
167
|
+
export type ReasoningEffort =
|
|
168
|
+
| 'none'
|
|
169
|
+
| 'minimal'
|
|
170
|
+
| 'low'
|
|
171
|
+
| 'medium'
|
|
172
|
+
| 'high'
|
|
173
|
+
| 'xhigh'
|
|
174
|
+
| 'max'
|
|
175
|
+
| 'ultra'
|
|
147
176
|
|
|
148
177
|
export interface ChatCompletionResponse {
|
|
149
178
|
id: string
|
|
@@ -154,6 +183,8 @@ export interface ChatCompletionResponse {
|
|
|
154
183
|
toolCalls?: ToolCall[]
|
|
155
184
|
/** Reasoning blocks the model emitted, in original block order. */
|
|
156
185
|
reasoning?: readonly ReasoningBlock[]
|
|
186
|
+
/** Adapter-private lossless-JSON state for restoring native metadata. */
|
|
187
|
+
replayState?: unknown
|
|
157
188
|
/** Passages this turn cites, in the order the model made them. */
|
|
158
189
|
citations?: readonly import('../message/index.js').Citation[]
|
|
159
190
|
}
|