@namzu/sdk 38.2.1 → 40.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 +851 -0
- package/dist/advisory/executor.d.ts +10 -1
- package/dist/advisory/executor.d.ts.map +1 -1
- package/dist/advisory/executor.js +5 -26
- package/dist/advisory/executor.js.map +1 -1
- package/dist/advisory/history.d.ts +9 -0
- package/dist/advisory/history.d.ts.map +1 -0
- package/dist/advisory/history.js +120 -0
- package/dist/advisory/history.js.map +1 -0
- package/dist/advisory/index.d.ts +1 -1
- package/dist/advisory/index.d.ts.map +1 -1
- package/dist/advisory/index.js.map +1 -1
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +3 -0
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/runAgent.d.ts +10 -0
- package/dist/agents/runAgent.d.ts.map +1 -1
- package/dist/agents/runAgent.js +3 -0
- package/dist/agents/runAgent.js.map +1 -1
- package/dist/compaction/manual.d.ts +6 -0
- package/dist/compaction/manual.d.ts.map +1 -1
- package/dist/compaction/manual.js +21 -2
- package/dist/compaction/manual.js.map +1 -1
- package/dist/compaction/summary.d.ts.map +1 -1
- package/dist/compaction/summary.js +4 -1
- package/dist/compaction/summary.js.map +1 -1
- package/dist/config/runtime.js +2 -2
- package/dist/config/runtime.js.map +1 -1
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +20 -6
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/contracts/schemas.js +1 -1
- package/dist/contracts/schemas.js.map +1 -1
- package/dist/eval/harness-protection.d.ts +18 -0
- package/dist/eval/harness-protection.d.ts.map +1 -0
- package/dist/eval/harness-protection.js +58 -0
- package/dist/eval/harness-protection.js.map +1 -0
- package/dist/eval/harness-verification.d.ts +6 -1
- package/dist/eval/harness-verification.d.ts.map +1 -1
- package/dist/eval/harness-verification.js +19 -2
- package/dist/eval/harness-verification.js.map +1 -1
- package/dist/eval/index.d.ts +1 -0
- package/dist/eval/index.d.ts.map +1 -1
- package/dist/eval/index.js.map +1 -1
- package/dist/manager/resident/activity.d.ts +50 -0
- package/dist/manager/resident/activity.d.ts.map +1 -0
- package/dist/manager/resident/activity.js +125 -0
- package/dist/manager/resident/activity.js.map +1 -0
- package/dist/manager/resident/agenda.d.ts +13 -1
- package/dist/manager/resident/agenda.d.ts.map +1 -1
- package/dist/manager/resident/agenda.js +40 -5
- package/dist/manager/resident/agenda.js.map +1 -1
- package/dist/manager/resident/consumption.d.ts +104 -0
- package/dist/manager/resident/consumption.d.ts.map +1 -0
- package/dist/manager/resident/consumption.js +233 -0
- package/dist/manager/resident/consumption.js.map +1 -0
- package/dist/manager/resident/evidence-recall.d.ts +24 -0
- package/dist/manager/resident/evidence-recall.d.ts.map +1 -0
- package/dist/manager/resident/evidence-recall.js +295 -0
- package/dist/manager/resident/evidence-recall.js.map +1 -0
- package/dist/manager/resident/history-disk.d.ts +10 -0
- package/dist/manager/resident/history-disk.d.ts.map +1 -0
- package/dist/manager/resident/history-disk.js +50 -0
- package/dist/manager/resident/history-disk.js.map +1 -0
- package/dist/manager/resident/history.d.ts +79 -0
- package/dist/manager/resident/history.d.ts.map +1 -0
- package/dist/manager/resident/history.js +203 -0
- package/dist/manager/resident/history.js.map +1 -0
- package/dist/manager/resident/initiative.d.ts.map +1 -1
- package/dist/manager/resident/initiative.js +11 -3
- package/dist/manager/resident/initiative.js.map +1 -1
- package/dist/manager/resident/learning-cycle.d.ts +131 -0
- package/dist/manager/resident/learning-cycle.d.ts.map +1 -0
- package/dist/manager/resident/learning-cycle.js +306 -0
- package/dist/manager/resident/learning-cycle.js.map +1 -0
- package/dist/manager/resident/learning-observation.d.ts +80 -0
- package/dist/manager/resident/learning-observation.d.ts.map +1 -0
- package/dist/manager/resident/learning-observation.js +22 -0
- package/dist/manager/resident/learning-observation.js.map +1 -0
- package/dist/manager/resident/learning-store.d.ts +106 -0
- package/dist/manager/resident/learning-store.d.ts.map +1 -0
- package/dist/manager/resident/learning-store.js +598 -0
- package/dist/manager/resident/learning-store.js.map +1 -0
- package/dist/manager/resident/learning.d.ts +246 -3
- package/dist/manager/resident/learning.d.ts.map +1 -1
- package/dist/manager/resident/learning.js +96 -6
- package/dist/manager/resident/learning.js.map +1 -1
- package/dist/manager/resident/outbox.d.ts +4 -4
- package/dist/manager/resident/store.d.ts +37 -4
- package/dist/manager/resident/store.d.ts.map +1 -1
- package/dist/manager/resident/store.js +27 -3
- package/dist/manager/resident/store.js.map +1 -1
- package/dist/manager/resident/tool-evidence.d.ts +71 -0
- package/dist/manager/resident/tool-evidence.d.ts.map +1 -0
- package/dist/manager/resident/tool-evidence.js +285 -0
- package/dist/manager/resident/tool-evidence.js.map +1 -0
- package/dist/manager/run/persistence.d.ts +8 -0
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +18 -0
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/plugin/loader.d.ts.map +1 -1
- package/dist/plugin/loader.js +5 -3
- package/dist/plugin/loader.js.map +1 -1
- package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
- package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
- package/dist/prompt/coding-agent-doctrine.js +2 -0
- package/dist/prompt/coding-agent-doctrine.js.map +1 -1
- package/dist/prompt/index.d.ts +2 -0
- package/dist/prompt/index.d.ts.map +1 -1
- package/dist/prompt/index.js +1 -0
- package/dist/prompt/index.js.map +1 -1
- package/dist/prompt/resident-learning.d.ts +19 -0
- package/dist/prompt/resident-learning.d.ts.map +1 -0
- package/dist/prompt/resident-learning.js +125 -0
- package/dist/prompt/resident-learning.js.map +1 -0
- package/dist/prompt/resident-step.d.ts +8 -1
- package/dist/prompt/resident-step.d.ts.map +1 -1
- package/dist/prompt/resident-step.js +65 -4
- package/dist/prompt/resident-step.js.map +1 -1
- package/dist/provider/collect-chat-completion.d.ts +2 -1
- package/dist/provider/collect-chat-completion.d.ts.map +1 -1
- package/dist/provider/collect-chat-completion.js +7 -6
- package/dist/provider/collect-chat-completion.js.map +1 -1
- package/dist/provider/fallback.d.ts.map +1 -1
- package/dist/provider/fallback.js +2 -1
- package/dist/provider/fallback.js.map +1 -1
- package/dist/provider/stream-text.d.ts +16 -0
- package/dist/provider/stream-text.d.ts.map +1 -0
- package/dist/provider/stream-text.js +51 -0
- package/dist/provider/stream-text.js.map +1 -0
- package/dist/public-runtime.d.ts +16 -4
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +17 -4
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +13 -0
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +16 -0
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +15 -3
- package/dist/public-types.d.ts.map +1 -1
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +2 -3
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/registry/tool/portable.d.ts +65 -0
- package/dist/registry/tool/portable.d.ts.map +1 -0
- package/dist/registry/tool/portable.js +244 -0
- package/dist/registry/tool/portable.js.map +1 -0
- package/dist/registry/tool/schema.d.ts +32 -5
- package/dist/registry/tool/schema.d.ts.map +1 -1
- package/dist/registry/tool/schema.js +35 -9
- package/dist/registry/tool/schema.js.map +1 -1
- package/dist/registry/toolset/catalog.js +8 -8
- package/dist/registry/toolset/catalog.js.map +1 -1
- package/dist/run/LimitChecker.js +3 -3
- package/dist/run/LimitChecker.js.map +1 -1
- package/dist/run/evidence-query.d.ts +41 -0
- package/dist/run/evidence-query.d.ts.map +1 -0
- package/dist/run/evidence-query.js +270 -0
- package/dist/run/evidence-query.js.map +1 -0
- package/dist/run/evidence-recall.d.ts +99 -0
- package/dist/run/evidence-recall.d.ts.map +1 -0
- package/dist/run/evidence-recall.js +633 -0
- package/dist/run/evidence-recall.js.map +1 -0
- package/dist/run/index.d.ts +2 -0
- package/dist/run/index.d.ts.map +1 -1
- package/dist/run/index.js +1 -0
- package/dist/run/index.js.map +1 -1
- package/dist/run/json-claim-verifier.d.ts +83 -0
- package/dist/run/json-claim-verifier.d.ts.map +1 -0
- package/dist/run/json-claim-verifier.js +200 -0
- package/dist/run/json-claim-verifier.js.map +1 -0
- package/dist/run/preparation-context-error.d.ts +10 -0
- package/dist/run/preparation-context-error.d.ts.map +1 -0
- package/dist/run/preparation-context-error.js +15 -0
- package/dist/run/preparation-context-error.js.map +1 -0
- package/dist/run-query/index.d.ts +3 -1
- package/dist/run-query/index.d.ts.map +1 -1
- package/dist/runtime/jobs/awaited-jobs.d.ts +215 -0
- package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -0
- package/dist/runtime/jobs/awaited-jobs.js +259 -0
- package/dist/runtime/jobs/awaited-jobs.js.map +1 -0
- package/dist/runtime/jobs/registry.d.ts +33 -2
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +37 -0
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/query/callback-inference.d.ts +8 -0
- package/dist/runtime/query/callback-inference.d.ts.map +1 -0
- package/dist/runtime/query/callback-inference.js +89 -0
- package/dist/runtime/query/callback-inference.js.map +1 -0
- package/dist/runtime/query/checkpoint.d.ts +4 -0
- package/dist/runtime/query/checkpoint.d.ts.map +1 -1
- package/dist/runtime/query/checkpoint.js +13 -0
- package/dist/runtime/query/checkpoint.js.map +1 -1
- package/dist/runtime/query/events.d.ts +1 -0
- package/dist/runtime/query/events.d.ts.map +1 -1
- package/dist/runtime/query/events.js +18 -0
- package/dist/runtime/query/events.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +35 -1
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +77 -8
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/file-evidence-context.d.ts +5 -0
- package/dist/runtime/query/file-evidence-context.d.ts.map +1 -0
- package/dist/runtime/query/file-evidence-context.js +180 -0
- package/dist/runtime/query/file-evidence-context.js.map +1 -0
- package/dist/runtime/query/file-evidence-replay.d.ts +260 -0
- package/dist/runtime/query/file-evidence-replay.d.ts.map +1 -0
- package/dist/runtime/query/file-evidence-replay.js +647 -0
- package/dist/runtime/query/file-evidence-replay.js.map +1 -0
- package/dist/runtime/query/file-evidence-seed.d.ts +50 -0
- package/dist/runtime/query/file-evidence-seed.d.ts.map +1 -0
- package/dist/runtime/query/file-evidence-seed.js +100 -0
- package/dist/runtime/query/file-evidence-seed.js.map +1 -0
- package/dist/runtime/query/guard.d.ts.map +1 -1
- package/dist/runtime/query/guard.js +4 -0
- package/dist/runtime/query/guard.js.map +1 -1
- package/dist/runtime/query/index.d.ts +10 -1
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +133 -26
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +92 -36
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +420 -117
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/advisory.d.ts +2 -1
- package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/advisory.js +2 -1
- package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +12 -1
- 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 +8 -1
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/provider-rejected-image.d.ts +2 -1
- package/dist/runtime/query/iteration/provider-rejected-image.d.ts.map +1 -1
- package/dist/runtime/query/iteration/provider-rejected-image.js +5 -2
- package/dist/runtime/query/iteration/provider-rejected-image.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.d.ts +4 -1
- package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +22 -8
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/plugin-hooks.d.ts +14 -0
- package/dist/runtime/query/plugin-hooks.d.ts.map +1 -1
- package/dist/runtime/query/plugin-hooks.js +18 -0
- package/dist/runtime/query/plugin-hooks.js.map +1 -1
- package/dist/runtime/query/repeat-call.d.ts +17 -4
- package/dist/runtime/query/repeat-call.d.ts.map +1 -1
- package/dist/runtime/query/repeat-call.js +26 -19
- package/dist/runtime/query/repeat-call.js.map +1 -1
- package/dist/runtime/query/resume-pending.d.ts +18 -33
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +59 -42
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/review-policy.d.ts +4 -4
- package/dist/runtime/query/review-policy.d.ts.map +1 -1
- package/dist/runtime/query/review-policy.js +10 -9
- package/dist/runtime/query/review-policy.js.map +1 -1
- package/dist/runtime/query/sandbox-lifecycle.d.ts.map +1 -1
- package/dist/runtime/query/sandbox-lifecycle.js +4 -0
- package/dist/runtime/query/sandbox-lifecycle.js.map +1 -1
- package/dist/runtime/query/steering.d.ts +11 -1
- package/dist/runtime/query/steering.d.ts.map +1 -1
- package/dist/runtime/query/steering.js +12 -1
- package/dist/runtime/query/steering.js.map +1 -1
- package/dist/runtime/query/tool-output-budget.d.ts +10 -6
- package/dist/runtime/query/tool-output-budget.d.ts.map +1 -1
- package/dist/runtime/query/tool-output-budget.js +54 -12
- package/dist/runtime/query/tool-output-budget.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +5 -1
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +5 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/scheduler/completion-inbox.d.ts +49 -0
- package/dist/scheduler/completion-inbox.d.ts.map +1 -1
- package/dist/scheduler/completion-inbox.js +122 -2
- package/dist/scheduler/completion-inbox.js.map +1 -1
- package/dist/store/evidence/compaction-archive.d.ts +109 -0
- package/dist/store/evidence/compaction-archive.d.ts.map +1 -0
- package/dist/store/evidence/compaction-archive.js +125 -0
- package/dist/store/evidence/compaction-archive.js.map +1 -0
- package/dist/store/evidence/compaction-provenance.d.ts +7 -0
- package/dist/store/evidence/compaction-provenance.d.ts.map +1 -0
- package/dist/store/evidence/compaction-provenance.js +49 -0
- package/dist/store/evidence/compaction-provenance.js.map +1 -0
- package/dist/store/evidence/compaction-text.d.ts +16 -0
- package/dist/store/evidence/compaction-text.d.ts.map +1 -0
- package/dist/store/evidence/compaction-text.js +51 -0
- package/dist/store/evidence/compaction-text.js.map +1 -0
- package/dist/store/evidence/disk.d.ts +11 -0
- package/dist/store/evidence/disk.d.ts.map +1 -0
- package/dist/store/evidence/disk.js +367 -0
- package/dist/store/evidence/disk.js.map +1 -0
- package/dist/store/evidence/format.d.ts +25 -0
- package/dist/store/evidence/format.d.ts.map +1 -0
- package/dist/store/evidence/format.js +115 -0
- package/dist/store/evidence/format.js.map +1 -0
- package/dist/store/evidence/index-page.d.ts +208 -0
- package/dist/store/evidence/index-page.d.ts.map +1 -0
- package/dist/store/evidence/index-page.js +262 -0
- package/dist/store/evidence/index-page.js.map +1 -0
- package/dist/store/evidence/io.d.ts +24 -0
- package/dist/store/evidence/io.d.ts.map +1 -0
- package/dist/store/evidence/io.js +69 -0
- package/dist/store/evidence/io.js.map +1 -0
- package/dist/store/evidence/linked.d.ts +9 -0
- package/dist/store/evidence/linked.d.ts.map +1 -0
- package/dist/store/evidence/linked.js +314 -0
- package/dist/store/evidence/linked.js.map +1 -0
- package/dist/store/evidence/passages.d.ts +15 -0
- package/dist/store/evidence/passages.d.ts.map +1 -0
- package/dist/store/evidence/passages.js +72 -0
- package/dist/store/evidence/passages.js.map +1 -0
- package/dist/store/evidence/record-chain.d.ts +42 -0
- package/dist/store/evidence/record-chain.d.ts.map +1 -0
- package/dist/store/evidence/record-chain.js +111 -0
- package/dist/store/evidence/record-chain.js.map +1 -0
- package/dist/store/evidence/search-input.d.ts +21 -0
- package/dist/store/evidence/search-input.d.ts.map +1 -0
- package/dist/store/evidence/search-input.js +44 -0
- package/dist/store/evidence/search-input.js.map +1 -0
- package/dist/store/evidence/selection.d.ts +9 -0
- package/dist/store/evidence/selection.d.ts.map +1 -0
- package/dist/store/evidence/selection.js +17 -0
- package/dist/store/evidence/selection.js.map +1 -0
- package/dist/store/evidence/source-kind.d.ts +11 -0
- package/dist/store/evidence/source-kind.d.ts.map +1 -0
- package/dist/store/evidence/source-kind.js +26 -0
- package/dist/store/evidence/source-kind.js.map +1 -0
- package/dist/store/evidence/source-text.d.ts +51 -0
- package/dist/store/evidence/source-text.d.ts.map +1 -0
- package/dist/store/evidence/source-text.js +213 -0
- package/dist/store/evidence/source-text.js.map +1 -0
- package/dist/store/evidence/types.d.ts +162 -0
- package/dist/store/evidence/types.d.ts.map +1 -0
- package/dist/store/evidence/types.js +2 -0
- package/dist/store/evidence/types.js.map +1 -0
- package/dist/store/memory/disk.d.ts +2 -0
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +2 -1
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/run/disk.d.ts +10 -0
- package/dist/store/run/disk.d.ts.map +1 -1
- package/dist/store/run/disk.js +87 -7
- package/dist/store/run/disk.js.map +1 -1
- package/dist/store/run/memory.d.ts +1 -0
- package/dist/store/run/memory.d.ts.map +1 -1
- package/dist/store/run/memory.js +10 -0
- package/dist/store/run/memory.js.map +1 -1
- package/dist/store/run/tool-executions.d.ts +13 -0
- package/dist/store/run/tool-executions.d.ts.map +1 -0
- package/dist/store/run/tool-executions.js +99 -0
- package/dist/store/run/tool-executions.js.map +1 -0
- package/dist/store/session/index.d.ts +2 -0
- package/dist/store/session/index.d.ts.map +1 -1
- package/dist/store/session/index.js +1 -0
- package/dist/store/session/index.js.map +1 -1
- package/dist/store/session/sqlite.d.ts +57 -0
- package/dist/store/session/sqlite.d.ts.map +1 -0
- package/dist/store/session/sqlite.js +430 -0
- package/dist/store/session/sqlite.js.map +1 -0
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +4 -10
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/edit-apply.d.ts +126 -0
- package/dist/tools/builtins/edit-apply.d.ts.map +1 -0
- package/dist/tools/builtins/edit-apply.js +360 -0
- package/dist/tools/builtins/edit-apply.js.map +1 -0
- package/dist/tools/builtins/edit.d.ts +143 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +37 -219
- 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 +9 -3
- package/dist/tools/builtins/index.js.map +1 -1
- package/dist/tools/builtins/job.d.ts.map +1 -1
- package/dist/tools/builtins/job.js +5 -6
- package/dist/tools/builtins/job.js.map +1 -1
- package/dist/tools/builtins/read-file.d.ts +2 -2
- package/dist/tools/builtins/read-file.d.ts.map +1 -1
- package/dist/tools/builtins/read-file.js +50 -65
- package/dist/tools/builtins/read-file.js.map +1 -1
- package/dist/tools/builtins/read-render.d.ts +56 -0
- package/dist/tools/builtins/read-render.d.ts.map +1 -0
- package/dist/tools/builtins/read-render.js +73 -0
- package/dist/tools/builtins/read-render.js.map +1 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts +67 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -0
- package/dist/tools/builtins/wait-for-job-bounds.js +108 -0
- package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -0
- package/dist/tools/builtins/wait-for-job.d.ts +6 -0
- package/dist/tools/builtins/wait-for-job.d.ts.map +1 -0
- package/dist/tools/builtins/wait-for-job.js +162 -0
- package/dist/tools/builtins/wait-for-job.js.map +1 -0
- package/dist/tools/builtins/write-file.js +7 -2
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +1 -7
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/defineTool.d.ts +2 -1
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +1 -1
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/file-read-tracker.d.ts.map +1 -1
- package/dist/tools/file-read-tracker.js +90 -3
- package/dist/tools/file-read-tracker.js.map +1 -1
- package/dist/tools/resident-history.d.ts +10 -0
- package/dist/tools/resident-history.d.ts.map +1 -0
- package/dist/tools/resident-history.js +80 -0
- package/dist/tools/resident-history.js.map +1 -0
- package/dist/tools/resident-tool-evidence.d.ts +5 -0
- package/dist/tools/resident-tool-evidence.d.ts.map +1 -0
- package/dist/tools/resident-tool-evidence.js +57 -0
- package/dist/tools/resident-tool-evidence.js.map +1 -0
- package/dist/types/advisory/config.d.ts +7 -0
- package/dist/types/advisory/config.d.ts.map +1 -1
- package/dist/types/agent/reactive.d.ts +1 -0
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/authorization/index.d.ts +9 -9
- package/dist/types/authorization/index.d.ts.map +1 -1
- package/dist/types/authorization/index.js +1 -1
- package/dist/types/authorization/index.js.map +1 -1
- package/dist/types/hitl/index.d.ts +4 -0
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/message/index.d.ts +16 -2
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +10 -1
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/provider/chat.d.ts +2 -0
- package/dist/types/provider/chat.d.ts.map +1 -1
- package/dist/types/provider/stream.d.ts +4 -0
- package/dist/types/provider/stream.d.ts.map +1 -1
- package/dist/types/run/answer-review.d.ts +34 -3
- package/dist/types/run/answer-review.d.ts.map +1 -1
- package/dist/types/run/config.d.ts +3 -0
- package/dist/types/run/config.d.ts.map +1 -1
- package/dist/types/run/entity.d.ts +20 -0
- package/dist/types/run/entity.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +31 -8
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/run/prepare-step.d.ts +53 -8
- package/dist/types/run/prepare-step.d.ts.map +1 -1
- package/dist/types/run/store.d.ts +29 -4
- package/dist/types/run/store.d.ts.map +1 -1
- package/dist/types/run/store.js +0 -28
- package/dist/types/run/store.js.map +1 -1
- package/dist/types/sandbox/index.d.ts +15 -14
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/tool/index.d.ts +124 -1
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/utils/await-with-abort.d.ts +8 -0
- package/dist/utils/await-with-abort.d.ts.map +1 -0
- package/dist/utils/await-with-abort.js +28 -0
- package/dist/utils/await-with-abort.js.map +1 -0
- package/dist/utils/env.d.ts +19 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +25 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/evidence-time.d.ts +3 -0
- package/dist/utils/evidence-time.d.ts.map +1 -0
- package/dist/utils/evidence-time.js +10 -0
- package/dist/utils/evidence-time.js.map +1 -0
- package/dist/utils/evidence-tokens.d.ts +13 -0
- package/dist/utils/evidence-tokens.d.ts.map +1 -0
- package/dist/utils/evidence-tokens.js +29 -0
- package/dist/utils/evidence-tokens.js.map +1 -0
- package/package.json +1 -1
- package/src/advisory/executor.ts +15 -30
- package/src/advisory/history.ts +126 -0
- package/src/advisory/index.ts +5 -1
- package/src/agents/ReactiveAgent.ts +3 -0
- package/src/agents/runAgent.ts +14 -1
- package/src/compaction/manual.ts +30 -2
- package/src/compaction/summary.ts +4 -1
- package/src/config/runtime.ts +2 -2
- package/src/connector/mcp/adapter.ts +20 -6
- package/src/contracts/schemas.ts +1 -1
- package/src/eval/harness-protection.ts +79 -0
- package/src/eval/harness-verification.ts +31 -1
- package/src/eval/index.ts +1 -0
- package/src/manager/resident/activity.ts +187 -0
- package/src/manager/resident/agenda.ts +59 -5
- package/src/manager/resident/consumption.ts +311 -0
- package/src/manager/resident/evidence-recall.ts +363 -0
- package/src/manager/resident/history-disk.ts +63 -0
- package/src/manager/resident/history.ts +312 -0
- package/src/manager/resident/initiative.ts +13 -3
- package/src/manager/resident/learning-cycle.ts +499 -0
- package/src/manager/resident/learning-observation.ts +39 -0
- package/src/manager/resident/learning-store.ts +813 -0
- package/src/manager/resident/learning.ts +132 -8
- package/src/manager/resident/store.ts +31 -3
- package/src/manager/resident/tool-evidence.ts +412 -0
- package/src/manager/run/persistence.ts +18 -0
- package/src/plugin/loader.ts +8 -3
- package/src/prompt/coding-agent-doctrine.ts +2 -0
- package/src/prompt/index.ts +2 -0
- package/src/prompt/resident-learning.ts +143 -0
- package/src/prompt/resident-step.ts +83 -3
- package/src/provider/collect-chat-completion.ts +7 -6
- package/src/provider/fallback.ts +2 -1
- package/src/provider/stream-text.ts +56 -0
- package/src/public-runtime.ts +39 -1
- package/src/public-tools.ts +21 -0
- package/src/public-types.ts +98 -0
- package/src/registry/tool/execute.ts +2 -4
- package/src/registry/tool/portable.ts +264 -0
- package/src/registry/tool/schema.ts +38 -8
- package/src/registry/toolset/catalog.ts +8 -9
- package/src/run/LimitChecker.ts +3 -3
- package/src/run/evidence-query.ts +333 -0
- package/src/run/evidence-recall.ts +854 -0
- package/src/run/index.ts +11 -0
- package/src/run/json-claim-verifier.ts +298 -0
- package/src/run/preparation-context-error.ts +16 -0
- package/src/run-query/index.ts +1 -1
- package/src/runtime/jobs/awaited-jobs.ts +271 -0
- package/src/runtime/jobs/registry.ts +50 -0
- package/src/runtime/query/callback-inference.ts +94 -0
- package/src/runtime/query/checkpoint.ts +14 -0
- package/src/runtime/query/events.ts +22 -0
- package/src/runtime/query/executor.ts +100 -10
- package/src/runtime/query/file-evidence-context.ts +209 -0
- package/src/runtime/query/file-evidence-replay.ts +776 -0
- package/src/runtime/query/file-evidence-seed.ts +126 -0
- package/src/runtime/query/guard.ts +2 -0
- package/src/runtime/query/index.ts +153 -27
- package/src/runtime/query/iteration/index.ts +467 -110
- package/src/runtime/query/iteration/phases/advisory.ts +3 -0
- package/src/runtime/query/iteration/phases/context.ts +12 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +7 -0
- package/src/runtime/query/iteration/provider-rejected-image.ts +6 -1
- package/src/runtime/query/iteration/stream-turn.ts +35 -8
- package/src/runtime/query/plugin-hooks.ts +20 -0
- package/src/runtime/query/repeat-call.ts +28 -18
- package/src/runtime/query/resume-pending.ts +65 -40
- package/src/runtime/query/review-policy.ts +13 -9
- package/src/runtime/query/sandbox-lifecycle.ts +3 -0
- package/src/runtime/query/steering.ts +11 -0
- package/src/runtime/query/tool-output-budget.ts +65 -13
- package/src/runtime/query/tooling.ts +10 -1
- package/src/scheduler/completion-inbox.ts +124 -2
- package/src/store/evidence/compaction-archive.ts +139 -0
- package/src/store/evidence/compaction-provenance.ts +52 -0
- package/src/store/evidence/compaction-text.ts +61 -0
- package/src/store/evidence/disk.ts +461 -0
- package/src/store/evidence/format.ts +126 -0
- package/src/store/evidence/index-page.ts +292 -0
- package/src/store/evidence/io.ts +95 -0
- package/src/store/evidence/linked.ts +365 -0
- package/src/store/evidence/passages.ts +88 -0
- package/src/store/evidence/record-chain.ts +108 -0
- package/src/store/evidence/search-input.ts +62 -0
- package/src/store/evidence/selection.ts +25 -0
- package/src/store/evidence/source-kind.ts +36 -0
- package/src/store/evidence/source-text.ts +285 -0
- package/src/store/evidence/types.ts +177 -0
- package/src/store/memory/disk.ts +4 -1
- package/src/store/run/disk.ts +110 -8
- package/src/store/run/memory.ts +10 -0
- package/src/store/run/tool-executions.ts +112 -0
- package/src/store/session/index.ts +2 -0
- package/src/store/session/sqlite.ts +584 -0
- package/src/tools/builtins/bash.ts +4 -10
- package/src/tools/builtins/edit-apply.ts +456 -0
- package/src/tools/builtins/edit.ts +39 -270
- package/src/tools/builtins/index.ts +9 -3
- package/src/tools/builtins/job.ts +5 -6
- package/src/tools/builtins/read-file.ts +56 -77
- package/src/tools/builtins/read-render.ts +104 -0
- package/src/tools/builtins/wait-for-job-bounds.ts +179 -0
- package/src/tools/builtins/wait-for-job.ts +184 -0
- package/src/tools/builtins/write-file.ts +7 -2
- package/src/tools/coordinator/index.ts +1 -7
- package/src/tools/defineTool.ts +4 -2
- package/src/tools/file-read-tracker.ts +86 -2
- package/src/tools/resident-history.ts +86 -0
- package/src/tools/resident-tool-evidence.ts +68 -0
- package/src/types/advisory/config.ts +7 -0
- package/src/types/agent/reactive.ts +1 -0
- package/src/types/authorization/index.ts +2 -2
- package/src/types/hitl/index.ts +4 -0
- package/src/types/message/index.ts +22 -0
- package/src/types/provider/chat.ts +2 -0
- package/src/types/provider/stream.ts +4 -0
- package/src/types/run/answer-review.ts +34 -3
- package/src/types/run/config.ts +3 -0
- package/src/types/run/entity.ts +21 -0
- package/src/types/run/events.ts +31 -8
- package/src/types/run/prepare-step.ts +59 -8
- package/src/types/run/store.ts +35 -4
- package/src/types/sandbox/index.ts +15 -14
- package/src/types/tool/index.ts +123 -1
- package/src/utils/await-with-abort.ts +26 -0
- package/src/utils/env.ts +23 -0
- package/src/utils/evidence-time.ts +9 -0
- package/src/utils/evidence-tokens.ts +32 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import type { ResidentHistoryScope } from '../manager/resident/history.js'
|
|
1
2
|
import {
|
|
3
|
+
type ResidentLearningSource,
|
|
2
4
|
type ResidentLearningState,
|
|
5
|
+
freezeResidentLearning,
|
|
3
6
|
projectResidentLearning,
|
|
4
7
|
} from '../manager/resident/learning.js'
|
|
5
8
|
import type { ResidentState } from '../manager/resident/store.js'
|
|
@@ -12,18 +15,36 @@ Obey current project instructions, permissions and tool prerequisites. Saved sum
|
|
|
12
15
|
|
|
13
16
|
Each invocation has an isolated session. Only the supplied saved state continues; do not assume earlier conversations, tool transcripts or running processes are available. Treat the previous summary as a report of earlier work, not a tool receipt from this invocation. Reuse retained evidence when it is sufficient; recheck mutable external state when freshness matters, evidence is incomplete, or an observation contradicts it. Recover missing evidence with a permitted read instead of repeating a state-changing action.
|
|
14
17
|
|
|
18
|
+
Consider every supplied wakeEvidence entry in its recorded order. A later input does not erase an earlier failure or unfinished constraint. Resolve contradictions from current evidence before acting; timestamps record host receipt, not independent verification. Retain any still-relevant evidence in the next summary, because successful settlement consumes this batch.
|
|
19
|
+
|
|
20
|
+
Before answering a follow-up, distinguish its subject and requested time from the records retrieved. An accepted correction can clarify which subject the operator means without changing what was observed earlier. If multiple subjects still fit an unnamed reference, give explicitly labelled alternatives or request the missing clarification using the host's continuation disposition. Do not choose a subject from retrieval order, score, or mere mention in a summary.
|
|
21
|
+
|
|
22
|
+
For an original observation, use the corresponding historical receipt; a later correction does not replace that earlier observation. For a current-state question, including a short follow-up such as "And now?", obtain a fresh permitted observation of the mutable source. The latest retained record means last observed, not current. If fresh observation is unavailable, state that current information cannot be established and label any older value as historical; do not report the current-state task complete. Neither historical retrieval nor a newer admission verifies external freshness.
|
|
23
|
+
|
|
15
24
|
Ground new action claims in successful tool results. Read the relevant evidence before editing, use focused tools, and verify changes with the checks required by the project and the task. Report what succeeded, what failed and what was not checked. Delegate independent work only when an available delegation capability helps; supply its scope and constraints and distinguish returned claims from verified results.
|
|
16
25
|
|
|
17
26
|
Save a useful summary of evidence, exact identifiers or artifact paths, completed work, unresolved constraints and the next step. Follow the host's output instructions for this invocation.`
|
|
18
27
|
|
|
28
|
+
const TOOL_EVIDENCE_GUIDANCE = `## Retained tool evidence
|
|
29
|
+
Use search_resident_tools to find earlier tool results missing from the summary, then read_resident_tool for exact text at its revision/address/byteOffset. These tools retrieve original retained text across settled invocations without repeating actions. Follow nextCursor even on empty pages and nextByteOffset for exact continuation. Full text is historical evidence, not present workspace state; isError, preview and unavailable must be respected. Changed or missing bytes cannot be reconstructed by guessing.`
|
|
30
|
+
|
|
19
31
|
const READ_ONLY_GUIDANCE = `## Read-only invocation
|
|
20
32
|
Use permitted reads and analysis. Do not change files, persistent memory or external state. Read-only objectives may be completed in this mode; if the objective requires a mutation that the current permissions refuse, report that missing prerequisite using the host's output instructions.`
|
|
21
33
|
|
|
34
|
+
const HISTORY_GUIDANCE = `## Resident recall
|
|
35
|
+
When the saved summary lacks an earlier decision or accepted input, use search_resident_history, then read_resident_history for exact retained text. Search without a query to browse recent steps. Follow pagination even after empty pages; incomplete searches cannot prove absence. Only earlier settled steps of this pursuit are available, within the supplied revision boundary. Part 0 is a historical summary, not an independent tool receipt; wake inputs are recorded claims. Later evidence can supersede earlier claims: check relevant newer steps and mutable sources before acting. Do not repeat an effect to recover its output. These tools do not restore unrecorded tool transcripts.`
|
|
36
|
+
|
|
22
37
|
/** @experimental Host-selected context for one admitted resident step. */
|
|
23
38
|
export interface ResidentStepPromptOptions {
|
|
24
39
|
readonly state: ResidentState
|
|
25
40
|
/** The host-approved learning snapshot bound to this admission. */
|
|
26
41
|
readonly learning?: ResidentLearningState
|
|
42
|
+
/** Host resolves current dependency revisions for each model request. No model-generated revisions. */
|
|
43
|
+
readonly resolveLearningSources?: () => readonly ResidentLearningSource[]
|
|
44
|
+
/** Bound historical source whose read-only tools the host has mounted. */
|
|
45
|
+
readonly history?: ResidentHistoryScope
|
|
46
|
+
/** The host mounted scoped search_resident_tools/read_resident_tool capabilities. */
|
|
47
|
+
readonly toolEvidence?: boolean
|
|
27
48
|
/** Host-loaded guidance for this invocation; this factory performs no I/O. */
|
|
28
49
|
readonly skillsContext?: string
|
|
29
50
|
/** Describe an existing read-only boundary; this does not enforce permissions. */
|
|
@@ -48,15 +69,32 @@ export function createResidentStepContributions(
|
|
|
48
69
|
options: ResidentStepPromptOptions,
|
|
49
70
|
): readonly PromptContribution[] {
|
|
50
71
|
const { state } = options
|
|
51
|
-
|
|
72
|
+
if (
|
|
73
|
+
options.history &&
|
|
74
|
+
(options.history.tenantId !== state.tenantId ||
|
|
75
|
+
options.history.agentKey !== state.agentKey ||
|
|
76
|
+
options.history.pursuitId !== state.pursuitId)
|
|
77
|
+
)
|
|
78
|
+
throw new Error('Resident history context belongs to a different pursuit.')
|
|
79
|
+
const admittedLearning = options.learning ? freezeResidentLearning(options.learning) : undefined
|
|
80
|
+
const boundNames =
|
|
81
|
+
admittedLearning?.skills.filter((skill) => skill.sources?.length).map((skill) => skill.name) ??
|
|
82
|
+
[]
|
|
83
|
+
const learning = projectResidentLearning(admittedLearning, {
|
|
52
84
|
maxChars: 12_000,
|
|
53
|
-
skillNames:
|
|
85
|
+
skillNames:
|
|
86
|
+
admittedLearning?.skills
|
|
87
|
+
.filter((skill) => !skill.sources?.length)
|
|
88
|
+
.map((skill) => skill.name) ?? [],
|
|
54
89
|
})
|
|
90
|
+
const resolveSources = options.resolveLearningSources
|
|
55
91
|
// Capture literals now. An admitted invocation must not borrow the next
|
|
56
92
|
// invocation's mutable options, state or learning through a render closure.
|
|
57
93
|
const guidance = [
|
|
58
94
|
RESIDENT_WORK_GUIDANCE,
|
|
59
95
|
...(options.readOnly ? [READ_ONLY_GUIDANCE] : []),
|
|
96
|
+
...(options.history ? [HISTORY_GUIDANCE] : []),
|
|
97
|
+
...(options.toolEvidence ? [TOOL_EVIDENCE_GUIDANCE] : []),
|
|
60
98
|
options.outputInstructions,
|
|
61
99
|
]
|
|
62
100
|
.filter((text) => text.trim().length > 0)
|
|
@@ -68,7 +106,8 @@ export function createResidentStepContributions(
|
|
|
68
106
|
objective: state.objective,
|
|
69
107
|
previousSummary: state.summary,
|
|
70
108
|
admission: state.stepsAdmitted,
|
|
71
|
-
|
|
109
|
+
...(options.history ? { history: options.history } : {}),
|
|
110
|
+
...(state.wakeEvidence ? { wakeEvidence: state.wakeEvidence } : { wakeReason: state.reason }),
|
|
72
111
|
}),
|
|
73
112
|
...(learning.text
|
|
74
113
|
? [
|
|
@@ -92,5 +131,46 @@ export function createResidentStepContributions(
|
|
|
92
131
|
placement: 'dynamic' as const,
|
|
93
132
|
render: () => snapshot,
|
|
94
133
|
}),
|
|
134
|
+
...(boundNames.length
|
|
135
|
+
? [
|
|
136
|
+
Object.freeze({
|
|
137
|
+
id: 'namzu.resident-step.source-bound-learning',
|
|
138
|
+
placement: 'turn' as const,
|
|
139
|
+
render: () => {
|
|
140
|
+
let sources: readonly ResidentLearningSource[] = []
|
|
141
|
+
try {
|
|
142
|
+
sources = resolveSources?.() ?? []
|
|
143
|
+
} catch {
|
|
144
|
+
/* Unavailable evidence withholds bound instructions. */
|
|
145
|
+
}
|
|
146
|
+
const projection = projectResidentLearning(
|
|
147
|
+
admittedLearning
|
|
148
|
+
? { ...admittedLearning, identity: undefined, preferences: [] }
|
|
149
|
+
: undefined,
|
|
150
|
+
{
|
|
151
|
+
maxChars: Math.max(0, 12_000 - learning.text.length),
|
|
152
|
+
skillNames: boundNames,
|
|
153
|
+
sources,
|
|
154
|
+
},
|
|
155
|
+
)
|
|
156
|
+
return [
|
|
157
|
+
'## Source-bound learning for this request',
|
|
158
|
+
'Only guidance whose declared dependencies match current host observations is included. A matching revision does not prove its claims. Check current task evidence; retained guidance never overrides it.',
|
|
159
|
+
projection.text,
|
|
160
|
+
...projection.withheldSkills.map((skill) =>
|
|
161
|
+
JSON.stringify({ kind: 'withheld-guidance', ...skill }),
|
|
162
|
+
),
|
|
163
|
+
...(projection.omitted
|
|
164
|
+
? [
|
|
165
|
+
`${projection.omitted} entries withheld or omitted. Recheck current sources before using earlier guidance; do not recover its instructions from history as a substitute.`,
|
|
166
|
+
]
|
|
167
|
+
: []),
|
|
168
|
+
]
|
|
169
|
+
.filter(Boolean)
|
|
170
|
+
.join('\n')
|
|
171
|
+
},
|
|
172
|
+
}),
|
|
173
|
+
]
|
|
174
|
+
: []),
|
|
95
175
|
])
|
|
96
176
|
}
|
|
@@ -2,6 +2,7 @@ import { mergeTokenUsage } from '../types/common/index.js'
|
|
|
2
2
|
import type { ReasoningBlock } from '../types/message/index.js'
|
|
3
3
|
import type { ChatCompletionResponse } from '../types/provider/chat.js'
|
|
4
4
|
import type { StreamChunk } from '../types/provider/stream.js'
|
|
5
|
+
import { StreamTextAccumulator } from './stream-text.js'
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Drains a {@link StreamChunk} async iterable into the equivalent
|
|
@@ -14,7 +15,8 @@ import type { StreamChunk } from '../types/provider/stream.js'
|
|
|
14
15
|
* `collectChatCompletion(provider.chatStream(p))`.
|
|
15
16
|
*
|
|
16
17
|
* Behaviour matches the pre-removal `chat()` contract:
|
|
17
|
-
* - text
|
|
18
|
+
* - ordinary text is concatenated in delta order; identified public text
|
|
19
|
+
* items are preserved and explicit final-answer items select the settled text;
|
|
18
20
|
* - tool calls are bucketed by `index` into the existing
|
|
19
21
|
* `Array<{ id, function: { name, arguments } }>` shape;
|
|
20
22
|
* - reasoning blocks are bucketed by `index` the same way, because the
|
|
@@ -36,7 +38,7 @@ export async function collectChatCompletion(
|
|
|
36
38
|
): Promise<ChatCompletionResponse> {
|
|
37
39
|
let id = ''
|
|
38
40
|
const model = ''
|
|
39
|
-
|
|
41
|
+
const text = new StreamTextAccumulator()
|
|
40
42
|
let replayState: unknown
|
|
41
43
|
let finishReason: ChatCompletionResponse['finishReason'] = 'stop'
|
|
42
44
|
let usage: ChatCompletionResponse['usage'] = {
|
|
@@ -63,9 +65,7 @@ export async function collectChatCompletion(
|
|
|
63
65
|
if (!id && chunk.id) id = chunk.id
|
|
64
66
|
if (chunk.replayState !== undefined) replayState = chunk.replayState
|
|
65
67
|
|
|
66
|
-
|
|
67
|
-
content += chunk.delta.content
|
|
68
|
-
}
|
|
68
|
+
text.push(chunk)
|
|
69
69
|
|
|
70
70
|
const reasoning = chunk.delta.reasoning
|
|
71
71
|
if (reasoning) {
|
|
@@ -115,7 +115,8 @@ export async function collectChatCompletion(
|
|
|
115
115
|
model,
|
|
116
116
|
message: {
|
|
117
117
|
role: 'assistant',
|
|
118
|
-
content:
|
|
118
|
+
content: text.text || null,
|
|
119
|
+
...(text.textParts ? { textParts: text.textParts } : {}),
|
|
119
120
|
toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
|
|
120
121
|
...(reasoningBlocks.length > 0 ? { reasoning: reasoningBlocks } : {}),
|
|
121
122
|
...(replayState !== undefined ? { replayState } : {}),
|
package/src/provider/fallback.ts
CHANGED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type AssistantTextPart, selectAssistantText } from '../types/message/index.js'
|
|
2
|
+
import type { StreamChunk } from '../types/provider/stream.js'
|
|
3
|
+
|
|
4
|
+
/** Shared aggregation for the run loop, collected calls and bounded auxiliary inference. */
|
|
5
|
+
export class StreamTextAccumulator {
|
|
6
|
+
private raw = ''
|
|
7
|
+
private receivedCharacters = 0
|
|
8
|
+
private parts: AssistantTextPart[] = []
|
|
9
|
+
private identified = false
|
|
10
|
+
private snapshot = false
|
|
11
|
+
|
|
12
|
+
push(chunk: StreamChunk): void {
|
|
13
|
+
if (chunk.textParts !== undefined) {
|
|
14
|
+
this.parts = chunk.textParts.map((part) => ({ ...part }))
|
|
15
|
+
this.identified = true
|
|
16
|
+
this.snapshot = true
|
|
17
|
+
this.raw = ''
|
|
18
|
+
}
|
|
19
|
+
const text = chunk.delta.content
|
|
20
|
+
if (!text) return
|
|
21
|
+
if (this.snapshot) throw new Error('Content arrived after the completed text snapshot.')
|
|
22
|
+
this.receivedCharacters += text.length
|
|
23
|
+
const part = chunk.delta.textPart
|
|
24
|
+
if (!this.identified && !part) {
|
|
25
|
+
this.raw += text
|
|
26
|
+
return
|
|
27
|
+
}
|
|
28
|
+
if (!this.identified) {
|
|
29
|
+
if (this.raw) this.parts.push({ id: '', text: this.raw })
|
|
30
|
+
this.raw = ''
|
|
31
|
+
this.identified = true
|
|
32
|
+
}
|
|
33
|
+
const previous = this.parts.at(-1)
|
|
34
|
+
if (previous && previous.id === (part?.id ?? '') && previous.phase === part?.phase)
|
|
35
|
+
this.parts[this.parts.length - 1] = { ...previous, text: previous.text + text }
|
|
36
|
+
else
|
|
37
|
+
this.parts.push({ id: part?.id ?? '', ...(part?.phase ? { phase: part.phase } : {}), text })
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
get text(): string {
|
|
41
|
+
return this.identified ? selectAssistantText(this.parts) : this.raw
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Include commentary in auxiliary output limits even when only the final answer is selected. */
|
|
45
|
+
get characters(): number {
|
|
46
|
+
return Math.max(
|
|
47
|
+
this.receivedCharacters,
|
|
48
|
+
this.parts.reduce((sum, part) => sum + part.text.length, 0) +
|
|
49
|
+
Math.max(0, this.parts.length - 1) * 2,
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
get textParts(): readonly AssistantTextPart[] | undefined {
|
|
54
|
+
return this.identified ? this.parts.map((part) => ({ ...part })) : undefined
|
|
55
|
+
}
|
|
56
|
+
}
|
package/src/public-runtime.ts
CHANGED
|
@@ -274,9 +274,17 @@ export {
|
|
|
274
274
|
// parses, which is the wire's property. Rendered once, converted at the driver.
|
|
275
275
|
export { findDraft07Only, toSchemaDialect } from './registry/tool/dialect.js'
|
|
276
276
|
export type { JsonSchemaDialect } from './registry/tool/dialect.js'
|
|
277
|
+
// Better than converting per wire: emit the INTERSECTION of the dialects, so
|
|
278
|
+
// there is nothing left for a driver to convert and an unmeasured wire is safe
|
|
279
|
+
// by construction. Exported so a driver or a CI gate can assert it.
|
|
280
|
+
export {
|
|
281
|
+
findPortableSchemaViolations,
|
|
282
|
+
toPortableToolSchema,
|
|
283
|
+
} from './registry/tool/portable.js'
|
|
284
|
+
export type { PortableSchemaViolation } from './registry/tool/portable.js'
|
|
277
285
|
// The renderer itself, so a driver or a contract test can ask what a tool will
|
|
278
286
|
// actually put on the wire without reaching into the registry.
|
|
279
|
-
export { renderToolSchema } from './registry/tool/schema.js'
|
|
287
|
+
export { renderToolSchema, toolWireSchema } from './registry/tool/schema.js'
|
|
280
288
|
export type { StrictSchemaViolation } from './provider/strict-schema.js'
|
|
281
289
|
export type { ModelIdGrammar, ModelVersion } from './provider/model-version.js'
|
|
282
290
|
export { drainQuery, query } from './runtime/query/index.js'
|
|
@@ -363,6 +371,7 @@ export {
|
|
|
363
371
|
FINGERPRINT_TIMEOUT_MS,
|
|
364
372
|
clipOutput,
|
|
365
373
|
createCommandGate,
|
|
374
|
+
createJsonClaimVerifier,
|
|
366
375
|
fingerprintWorkspace,
|
|
367
376
|
} from './run/index.js'
|
|
368
377
|
export type {
|
|
@@ -382,6 +391,14 @@ export { RUN_MEMORY_TAG, createMemoryPromoter } from './run/index.js'
|
|
|
382
391
|
export type { MemoryPromoterOptions } from './run/index.js'
|
|
383
392
|
export { createMemoryRecallStep } from './run/memory-recall.js'
|
|
384
393
|
export type { MemoryRecallOptions } from './run/memory-recall.js'
|
|
394
|
+
export { createEvidenceRecallStep, refineEvidenceRecallTerms } from './run/evidence-recall.js'
|
|
395
|
+
export type {
|
|
396
|
+
EvidenceRecallOptions,
|
|
397
|
+
EvidenceRecallRequest,
|
|
398
|
+
EvidenceRecallBatch,
|
|
399
|
+
EvidenceRecallCandidate,
|
|
400
|
+
EvidenceRecallContinuation,
|
|
401
|
+
} from './run/evidence-recall.js'
|
|
385
402
|
|
|
386
403
|
// ─── personas, skills, advisory ──────────────────────────────────────────
|
|
387
404
|
|
|
@@ -1002,6 +1019,7 @@ export { deriveChildState } from './types/invocation/index.js'
|
|
|
1002
1019
|
export { assertMemoryStatus } from './types/memory/index.js'
|
|
1003
1020
|
export {
|
|
1004
1021
|
createAssistantMessage,
|
|
1022
|
+
selectAssistantText,
|
|
1005
1023
|
createProjectInstructionMessage,
|
|
1006
1024
|
createRuntimeContextMessage,
|
|
1007
1025
|
createSystemMessage,
|
|
@@ -1218,6 +1236,7 @@ export {
|
|
|
1218
1236
|
SKILLS_CONTRIBUTION_ID,
|
|
1219
1237
|
codingAgentDoctrineContribution,
|
|
1220
1238
|
createResidentStepContributions,
|
|
1239
|
+
createResidentStepContext,
|
|
1221
1240
|
skillsContribution,
|
|
1222
1241
|
} from './prompt/index.js'
|
|
1223
1242
|
|
|
@@ -1346,6 +1365,7 @@ export { snapshotRequestContext, diffRequestContext } from './runtime/query/requ
|
|
|
1346
1365
|
export { DiskResidentStore, ResidentConflictError } from './manager/resident/store.js'
|
|
1347
1366
|
export { runResident, stepResident } from './manager/resident/loop.js'
|
|
1348
1367
|
export { DiskResidentAgenda } from './manager/resident/agenda.js'
|
|
1368
|
+
export { inspectResidentConsumption } from './manager/resident/consumption.js'
|
|
1349
1369
|
export { ResidentHost } from './manager/resident/host.js'
|
|
1350
1370
|
|
|
1351
1371
|
export { createResidentSelector } from './manager/resident/initiative.js'
|
|
@@ -1355,3 +1375,21 @@ export { deliverResidentMessage } from './manager/resident/outbox.js'
|
|
|
1355
1375
|
export { createResidentDeliveryWindow } from './manager/resident/delivery-window.js'
|
|
1356
1376
|
|
|
1357
1377
|
export { hashResidentSkill, projectResidentLearning } from './manager/resident/learning.js'
|
|
1378
|
+
export { runResidentLearningCycle } from './manager/resident/learning-cycle.js'
|
|
1379
|
+
|
|
1380
|
+
export { SqliteSessionStore } from './store/session/sqlite.js'
|
|
1381
|
+
|
|
1382
|
+
export {
|
|
1383
|
+
createDiskRunEvidenceSource,
|
|
1384
|
+
createDiskRunTextEvidenceSource,
|
|
1385
|
+
} from './store/evidence/disk.js'
|
|
1386
|
+
export { classifyEvidenceSource, EVIDENCE_RECORD_GUIDANCE } from './store/evidence/source-kind.js'
|
|
1387
|
+
export { createResidentToolEvidenceSource } from './manager/resident/tool-evidence.js'
|
|
1388
|
+
|
|
1389
|
+
export { createResidentEvidenceRecallStep } from './manager/resident/evidence-recall.js'
|
|
1390
|
+
|
|
1391
|
+
export {
|
|
1392
|
+
SqliteResidentLearningStore,
|
|
1393
|
+
runStoredResidentLearningCycle,
|
|
1394
|
+
runStoredResidentLearningFromObservations,
|
|
1395
|
+
} from './manager/resident/learning-store.js'
|
package/src/public-tools.ts
CHANGED
|
@@ -25,6 +25,7 @@ export type { UntrustedEnvelope } from './tools/untrusted-envelope.js'
|
|
|
25
25
|
// ─── Built-in tools ──────────────────────────────────────────────────────
|
|
26
26
|
|
|
27
27
|
export { getBuiltinTools } from './tools/builtins/index.js'
|
|
28
|
+
export { buildResidentHistoryTools } from './tools/resident-history.js'
|
|
28
29
|
// A host compiling operator permissions has a tool name and needs an argument
|
|
29
30
|
// to attach a pattern to. Without one it can only match against the serialised
|
|
30
31
|
// input, which is how an `allow` for `git status*` came to approve
|
|
@@ -42,6 +43,11 @@ export { GrepTool } from './tools/builtins/grep.js'
|
|
|
42
43
|
// capability: an id with nothing that reads it is the unbacked suggestion
|
|
43
44
|
// that was removed from bash's schema.
|
|
44
45
|
export { JobTool } from './tools/builtins/job.js'
|
|
46
|
+
// Blocks until a job `JobTool` started ends, instead of reading it in a
|
|
47
|
+
// loop. Ships in the default builtin set alongside `job` and `bash`, for
|
|
48
|
+
// the same reason `job` does: a job with nothing that can block on it is
|
|
49
|
+
// the same unbacked suggestion `job` itself exists to fix.
|
|
50
|
+
export { WaitForJobTool } from './tools/builtins/wait-for-job.js'
|
|
45
51
|
// Loads a skill's instructions, and adopts the tool scope it declares.
|
|
46
52
|
// NOT in the default builtin set: a run with no skills has nothing for it
|
|
47
53
|
// to do, and offering a tool that can only refuse is worse than not
|
|
@@ -127,3 +133,18 @@ export {
|
|
|
127
133
|
} from './connector/tools/index.js'
|
|
128
134
|
|
|
129
135
|
export { createFileReadTracker } from './tools/file-read-tracker.js'
|
|
136
|
+
export type { LedgerReplayReport } from './runtime/query/file-evidence-replay.js'
|
|
137
|
+
/**
|
|
138
|
+
* Rebuild a tracker from a conversation's own history, for a host that keeps
|
|
139
|
+
* one per conversation across turns and has just restored one from a store.
|
|
140
|
+
* Reads no file's content — only the paths the history names, canonicalized
|
|
141
|
+
* the way the built-in tools canonicalize them so that the entries land where
|
|
142
|
+
* those tools will look for them. See the SDK's tool-execution documentation
|
|
143
|
+
* for what a replayed observation does and does not establish.
|
|
144
|
+
*/
|
|
145
|
+
export {
|
|
146
|
+
type ObservationSeedContext,
|
|
147
|
+
seedObservationLedger,
|
|
148
|
+
} from './runtime/query/file-evidence-seed.js'
|
|
149
|
+
|
|
150
|
+
export { buildResidentToolEvidenceTools } from './tools/resident-tool-evidence.js'
|
package/src/public-types.ts
CHANGED
|
@@ -111,6 +111,7 @@ export type {
|
|
|
111
111
|
|
|
112
112
|
export type {
|
|
113
113
|
AdvisoryCallContext,
|
|
114
|
+
AdvisoryTurnContext,
|
|
114
115
|
AdvisoryExecutionResult,
|
|
115
116
|
} from './advisory/index.js'
|
|
116
117
|
|
|
@@ -379,6 +380,8 @@ export type {
|
|
|
379
380
|
PromptContributionContext,
|
|
380
381
|
PromptPlacement,
|
|
381
382
|
ResidentStepPromptOptions,
|
|
383
|
+
ResidentStepContextOptions,
|
|
384
|
+
ResidentStepContextBundle,
|
|
382
385
|
} from './prompt/index.js'
|
|
383
386
|
|
|
384
387
|
export type {
|
|
@@ -449,6 +452,32 @@ export type {
|
|
|
449
452
|
} from './runtime/query/request-context.js'
|
|
450
453
|
|
|
451
454
|
export type { ResidentDecision, ResidentState, ResidentStore } from './manager/resident/store.js'
|
|
455
|
+
export type {
|
|
456
|
+
ResidentActivityScope,
|
|
457
|
+
ResidentAdmission,
|
|
458
|
+
ResidentSettlement,
|
|
459
|
+
ResidentActivityOptions,
|
|
460
|
+
ResidentActivityPage,
|
|
461
|
+
ResidentActivitySource,
|
|
462
|
+
} from './manager/resident/activity.js'
|
|
463
|
+
export type {
|
|
464
|
+
ResidentConsumptionReceipt,
|
|
465
|
+
ResidentConsumptionResolver,
|
|
466
|
+
ResidentConsumptionOptions,
|
|
467
|
+
ResidentConsumptionAttempt,
|
|
468
|
+
ResidentConsumptionReport,
|
|
469
|
+
} from './manager/resident/consumption.js'
|
|
470
|
+
export type {
|
|
471
|
+
ResidentHistoryScope,
|
|
472
|
+
ResidentHistoryAddress,
|
|
473
|
+
ResidentHistoryMatch,
|
|
474
|
+
ResidentHistorySearchOptions,
|
|
475
|
+
ResidentHistorySearchResult,
|
|
476
|
+
ResidentHistoryReadOptions,
|
|
477
|
+
ResidentHistoryText,
|
|
478
|
+
ResidentHistoryReadResult,
|
|
479
|
+
ResidentHistorySource,
|
|
480
|
+
} from './manager/resident/history.js'
|
|
452
481
|
export type {
|
|
453
482
|
ResidentStep,
|
|
454
483
|
ResidentStepResult,
|
|
@@ -503,8 +532,22 @@ export type {
|
|
|
503
532
|
ResidentProfileUpdate,
|
|
504
533
|
ResidentSkillEvaluation,
|
|
505
534
|
ResidentLearningProjectionOptions,
|
|
535
|
+
ResidentLearningSource,
|
|
506
536
|
ResidentLearningProjection,
|
|
507
537
|
} from './manager/resident/learning.js'
|
|
538
|
+
export type {
|
|
539
|
+
ResidentLearningStage,
|
|
540
|
+
ResidentLearningReceipt,
|
|
541
|
+
ResidentLearningConsumption,
|
|
542
|
+
ResidentLearningCycleEvent,
|
|
543
|
+
ResidentLearningCycleContext,
|
|
544
|
+
ResidentLearningGenerationContext,
|
|
545
|
+
ResidentLearningExplorationContext,
|
|
546
|
+
ResidentLearningExploration,
|
|
547
|
+
ResidentLearningEvaluationContext,
|
|
548
|
+
ResidentLearningCycleOptions,
|
|
549
|
+
ResidentLearningCycleResult,
|
|
550
|
+
} from './manager/resident/learning-cycle.js'
|
|
508
551
|
|
|
509
552
|
export type {
|
|
510
553
|
ResidentArchiveRequest,
|
|
@@ -512,3 +555,58 @@ export type {
|
|
|
512
555
|
ResidentArchivePage,
|
|
513
556
|
ResidentArchiveListOptions,
|
|
514
557
|
} from './manager/resident/agenda.js'
|
|
558
|
+
|
|
559
|
+
export type { SqliteSessionStoreConfig } from './store/session/sqlite.js'
|
|
560
|
+
|
|
561
|
+
export type {
|
|
562
|
+
RunEvidenceScope,
|
|
563
|
+
DiskRunEvidenceOptions,
|
|
564
|
+
RunEvidenceSearchOptions,
|
|
565
|
+
RunEvidenceMatch,
|
|
566
|
+
RunEvidenceSearchResult,
|
|
567
|
+
RunEvidenceReadOptions,
|
|
568
|
+
RunEvidenceReadResult,
|
|
569
|
+
RunEvidenceSource,
|
|
570
|
+
RunTextEvidenceSearchOptions,
|
|
571
|
+
RunTextEvidenceMatch,
|
|
572
|
+
RunTextEvidenceSearchResult,
|
|
573
|
+
RunTextEvidenceReadResult,
|
|
574
|
+
RunTextEvidenceSource,
|
|
575
|
+
} from './store/evidence/types.js'
|
|
576
|
+
export type { EvidenceRecordKind } from './store/evidence/source-kind.js'
|
|
577
|
+
export type {
|
|
578
|
+
ResidentToolEvidenceScope,
|
|
579
|
+
ResidentSettledInvocation,
|
|
580
|
+
ResidentToolEvidenceOptions,
|
|
581
|
+
ResidentToolEvidenceSearchOptions,
|
|
582
|
+
ResidentToolEvidenceSearchResult,
|
|
583
|
+
ResidentToolEvidenceReadOptions,
|
|
584
|
+
ResidentToolEvidenceReadResult,
|
|
585
|
+
ResidentToolEvidenceSource,
|
|
586
|
+
} from './manager/resident/tool-evidence.js'
|
|
587
|
+
|
|
588
|
+
export type { ResidentEvidenceRecallOptions } from './manager/resident/evidence-recall.js'
|
|
589
|
+
export type {
|
|
590
|
+
JsonClaimValue,
|
|
591
|
+
JsonClaimRequirement,
|
|
592
|
+
JsonClaimReadRequest,
|
|
593
|
+
JsonClaimObservation,
|
|
594
|
+
JsonClaimReceipt,
|
|
595
|
+
JsonClaimVerdict,
|
|
596
|
+
JsonClaimVerifierOptions,
|
|
597
|
+
JsonClaimVerifier,
|
|
598
|
+
} from './run/json-claim-verifier.js'
|
|
599
|
+
|
|
600
|
+
export type {
|
|
601
|
+
SqliteResidentLearningStoreOptions,
|
|
602
|
+
ResidentLearningArtifact,
|
|
603
|
+
ResidentLearningRecordedUsage,
|
|
604
|
+
ResidentLearningCycleSummary,
|
|
605
|
+
ResidentLearningDiscoveryOptions,
|
|
606
|
+
ResidentLearningDiscoveryResult,
|
|
607
|
+
} from './manager/resident/learning-store.js'
|
|
608
|
+
export type {
|
|
609
|
+
ResidentLearningObservation,
|
|
610
|
+
ResidentLearningObservationRecord,
|
|
611
|
+
ResidentLearningTarget,
|
|
612
|
+
} from './manager/resident/learning-observation.js'
|
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
import { toErrorMessage } from '../../utils/error.js'
|
|
21
21
|
import { cloneJsonValue as clonePreparedInput } from '../../utils/json-snapshot.js'
|
|
22
22
|
import { ManagedRegistry } from '../ManagedRegistry.js'
|
|
23
|
-
import { renderToolSchema } from './schema.js'
|
|
23
|
+
import { renderToolSchema, toolWireSchema } from './schema.js'
|
|
24
24
|
import { ToolResultHalted, screenToolResult } from './screen.js'
|
|
25
25
|
|
|
26
26
|
export type { ToolExecutionResult }
|
|
@@ -461,9 +461,7 @@ Executable tool names, descriptions, and JSON input schemas are attached through
|
|
|
461
461
|
function: {
|
|
462
462
|
name: tool.name,
|
|
463
463
|
description: describeWithOutput(description, tool.outputSchema),
|
|
464
|
-
parameters:
|
|
465
|
-
(tool.modelInputSchema ? structuredClone(tool.modelInputSchema) : undefined) ??
|
|
466
|
-
renderToolSchema(tool.inputSchema),
|
|
464
|
+
parameters: toolWireSchema(tool),
|
|
467
465
|
},
|
|
468
466
|
}
|
|
469
467
|
})
|