@namzu/sdk 14.0.7 → 15.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +187 -0
- package/dist/public-runtime.d.ts +1 -0
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +5 -0
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-types.d.ts +1 -0
- package/dist/public-types.d.ts.map +1 -1
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +70 -112
- package/dist/skills/loader.js.map +1 -1
- package/dist/types/agent/lifecycle-event.d.ts +0 -13
- package/dist/types/agent/lifecycle-event.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +0 -12
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/agent/task.js.map +1 -1
- package/dist/utils/frontmatter.d.ts +85 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +191 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/package.json +11 -1
- package/src/public-runtime.ts +5 -0
- package/src/public-types.ts +1 -0
- package/src/skills/loader.ts +67 -119
- package/src/types/agent/lifecycle-event.ts +0 -9
- package/src/types/agent/task.ts +0 -13
- package/src/utils/frontmatter.ts +240 -0
- package/dist/__tests__/default-path-conformance.test.d.ts +0 -2
- package/dist/__tests__/default-path-conformance.test.d.ts.map +0 -1
- package/dist/__tests__/default-path-conformance.test.js +0 -262
- package/dist/__tests__/default-path-conformance.test.js.map +0 -1
- package/dist/__tests__/replay-public-surface.test.d.ts +0 -2
- package/dist/__tests__/replay-public-surface.test.d.ts.map +0 -1
- package/dist/__tests__/replay-public-surface.test.js +0 -45
- package/dist/__tests__/replay-public-surface.test.js.map +0 -1
- package/dist/__tests__/shipped-defaults.test.d.ts +0 -2
- package/dist/__tests__/shipped-defaults.test.d.ts.map +0 -1
- package/dist/__tests__/shipped-defaults.test.js +0 -97
- package/dist/__tests__/shipped-defaults.test.js.map +0 -1
- package/dist/advisory/__tests__/budget-enforcement.test.d.ts +0 -2
- package/dist/advisory/__tests__/budget-enforcement.test.d.ts.map +0 -1
- package/dist/advisory/__tests__/budget-enforcement.test.js +0 -159
- package/dist/advisory/__tests__/budget-enforcement.test.js.map +0 -1
- package/dist/advisory/__tests__/consultation-context.test.d.ts +0 -2
- package/dist/advisory/__tests__/consultation-context.test.d.ts.map +0 -1
- package/dist/advisory/__tests__/consultation-context.test.js +0 -124
- package/dist/advisory/__tests__/consultation-context.test.js.map +0 -1
- package/dist/advisory/__tests__/structured-response.test.d.ts +0 -2
- package/dist/advisory/__tests__/structured-response.test.d.ts.map +0 -1
- package/dist/advisory/__tests__/structured-response.test.js +0 -99
- package/dist/advisory/__tests__/structured-response.test.js.map +0 -1
- package/dist/advisory/context.test.d.ts +0 -16
- package/dist/advisory/context.test.d.ts.map +0 -1
- package/dist/advisory/context.test.js +0 -92
- package/dist/advisory/context.test.js.map +0 -1
- package/dist/advisory/evaluator.test.d.ts +0 -34
- package/dist/advisory/evaluator.test.d.ts.map +0 -1
- package/dist/advisory/evaluator.test.js +0 -172
- package/dist/advisory/evaluator.test.js.map +0 -1
- package/dist/advisory/executor.test.d.ts +0 -38
- package/dist/advisory/executor.test.d.ts.map +0 -1
- package/dist/advisory/executor.test.js +0 -262
- package/dist/advisory/executor.test.js.map +0 -1
- package/dist/advisory/registry.test.d.ts +0 -16
- package/dist/advisory/registry.test.d.ts.map +0 -1
- package/dist/advisory/registry.test.js +0 -62
- package/dist/advisory/registry.test.js.map +0 -1
- package/dist/agents/__tests__/a-policy-nobody-can-select.test.d.ts +0 -2
- package/dist/agents/__tests__/a-policy-nobody-can-select.test.d.ts.map +0 -1
- package/dist/agents/__tests__/a-policy-nobody-can-select.test.js +0 -177
- package/dist/agents/__tests__/a-policy-nobody-can-select.test.js.map +0 -1
- package/dist/agents/__tests__/idempotency-key.test.d.ts +0 -2
- package/dist/agents/__tests__/idempotency-key.test.d.ts.map +0 -1
- package/dist/agents/__tests__/idempotency-key.test.js +0 -149
- package/dist/agents/__tests__/idempotency-key.test.js.map +0 -1
- package/dist/agents/__tests__/invocation-lock.test.d.ts +0 -2
- package/dist/agents/__tests__/invocation-lock.test.d.ts.map +0 -1
- package/dist/agents/__tests__/invocation-lock.test.js +0 -126
- package/dist/agents/__tests__/invocation-lock.test.js.map +0 -1
- package/dist/agents/__tests__/lock.test.d.ts +0 -2
- package/dist/agents/__tests__/lock.test.d.ts.map +0 -1
- package/dist/agents/__tests__/lock.test.js +0 -131
- package/dist/agents/__tests__/lock.test.js.map +0 -1
- package/dist/agents/__tests__/reachability.test.d.ts +0 -2
- package/dist/agents/__tests__/reachability.test.d.ts.map +0 -1
- package/dist/agents/__tests__/reachability.test.js +0 -173
- package/dist/agents/__tests__/reachability.test.js.map +0 -1
- package/dist/agents/__tests__/run-agent-forwarding.test.d.ts +0 -2
- package/dist/agents/__tests__/run-agent-forwarding.test.d.ts.map +0 -1
- package/dist/agents/__tests__/run-agent-forwarding.test.js +0 -76
- package/dist/agents/__tests__/run-agent-forwarding.test.js.map +0 -1
- package/dist/agents/__tests__/run-agent.test.d.ts +0 -2
- package/dist/agents/__tests__/run-agent.test.d.ts.map +0 -1
- package/dist/agents/__tests__/run-agent.test.js +0 -143
- package/dist/agents/__tests__/run-agent.test.js.map +0 -1
- package/dist/agents/__tests__/run-completed-stop-reason.test.d.ts +0 -2
- package/dist/agents/__tests__/run-completed-stop-reason.test.d.ts.map +0 -1
- package/dist/agents/__tests__/run-completed-stop-reason.test.js +0 -50
- package/dist/agents/__tests__/run-completed-stop-reason.test.js.map +0 -1
- package/dist/agents/__tests__/supervisor-coordinator-registration.test.d.ts +0 -2
- package/dist/agents/__tests__/supervisor-coordinator-registration.test.d.ts.map +0 -1
- package/dist/agents/__tests__/supervisor-coordinator-registration.test.js +0 -153
- package/dist/agents/__tests__/supervisor-coordinator-registration.test.js.map +0 -1
- package/dist/agents/__tests__/supervisor-hands-down-hitl.test.d.ts +0 -2
- package/dist/agents/__tests__/supervisor-hands-down-hitl.test.d.ts.map +0 -1
- package/dist/agents/__tests__/supervisor-hands-down-hitl.test.js +0 -112
- package/dist/agents/__tests__/supervisor-hands-down-hitl.test.js.map +0 -1
- package/dist/agents/__tests__/supervisor-inbox-scope.test.d.ts +0 -2
- package/dist/agents/__tests__/supervisor-inbox-scope.test.d.ts.map +0 -1
- package/dist/agents/__tests__/supervisor-inbox-scope.test.js +0 -125
- package/dist/agents/__tests__/supervisor-inbox-scope.test.js.map +0 -1
- package/dist/agents/__tests__/supervisor-ledger.test.d.ts +0 -2
- package/dist/agents/__tests__/supervisor-ledger.test.d.ts.map +0 -1
- package/dist/agents/__tests__/supervisor-ledger.test.js +0 -131
- package/dist/agents/__tests__/supervisor-ledger.test.js.map +0 -1
- package/dist/bridge/a2a/__tests__/project-is-the-a2a-context.test.d.ts +0 -2
- package/dist/bridge/a2a/__tests__/project-is-the-a2a-context.test.d.ts.map +0 -1
- package/dist/bridge/a2a/__tests__/project-is-the-a2a-context.test.js +0 -55
- package/dist/bridge/a2a/__tests__/project-is-the-a2a-context.test.js.map +0 -1
- package/dist/bridge/a2a/agent-card.test.d.ts +0 -24
- package/dist/bridge/a2a/agent-card.test.d.ts.map +0 -1
- package/dist/bridge/a2a/agent-card.test.js +0 -118
- package/dist/bridge/a2a/agent-card.test.js.map +0 -1
- package/dist/bridge/a2a/late-events.test.d.ts +0 -2
- package/dist/bridge/a2a/late-events.test.d.ts.map +0 -1
- package/dist/bridge/a2a/late-events.test.js +0 -70
- package/dist/bridge/a2a/late-events.test.js.map +0 -1
- package/dist/bridge/a2a/mapper.test.d.ts +0 -29
- package/dist/bridge/a2a/mapper.test.d.ts.map +0 -1
- package/dist/bridge/a2a/mapper.test.js +0 -291
- package/dist/bridge/a2a/mapper.test.js.map +0 -1
- package/dist/bridge/a2a/message.test.d.ts +0 -20
- package/dist/bridge/a2a/message.test.d.ts.map +0 -1
- package/dist/bridge/a2a/message.test.js +0 -116
- package/dist/bridge/a2a/message.test.js.map +0 -1
- package/dist/bridge/a2a/task.test.d.ts +0 -29
- package/dist/bridge/a2a/task.test.d.ts.map +0 -1
- package/dist/bridge/a2a/task.test.js +0 -198
- package/dist/bridge/a2a/task.test.js.map +0 -1
- package/dist/bridge/mcp/connector/adapter.test.d.ts +0 -27
- package/dist/bridge/mcp/connector/adapter.test.d.ts.map +0 -1
- package/dist/bridge/mcp/connector/adapter.test.js +0 -203
- package/dist/bridge/mcp/connector/adapter.test.js.map +0 -1
- package/dist/bridge/sse/late-events.test.d.ts +0 -2
- package/dist/bridge/sse/late-events.test.d.ts.map +0 -1
- package/dist/bridge/sse/late-events.test.js +0 -163
- package/dist/bridge/sse/late-events.test.js.map +0 -1
- package/dist/bridge/sse/mapper.test.d.ts +0 -27
- package/dist/bridge/sse/mapper.test.d.ts.map +0 -1
- package/dist/bridge/sse/mapper.test.js +0 -378
- package/dist/bridge/sse/mapper.test.js.map +0 -1
- package/dist/bridge/tools/connector/adapter.test.d.ts +0 -28
- package/dist/bridge/tools/connector/adapter.test.d.ts.map +0 -1
- package/dist/bridge/tools/connector/adapter.test.js +0 -182
- package/dist/bridge/tools/connector/adapter.test.js.map +0 -1
- package/dist/bridge/tools/connector/definitions.test.d.ts +0 -23
- package/dist/bridge/tools/connector/definitions.test.d.ts.map +0 -1
- package/dist/bridge/tools/connector/definitions.test.js +0 -158
- package/dist/bridge/tools/connector/definitions.test.js.map +0 -1
- package/dist/bridge/tools/connector/router.test.d.ts +0 -21
- package/dist/bridge/tools/connector/router.test.d.ts.map +0 -1
- package/dist/bridge/tools/connector/router.test.js +0 -139
- package/dist/bridge/tools/connector/router.test.js.map +0 -1
- package/dist/bus/breaker.test.d.ts +0 -41
- package/dist/bus/breaker.test.d.ts.map +0 -1
- package/dist/bus/breaker.test.js +0 -242
- package/dist/bus/breaker.test.js.map +0 -1
- package/dist/bus/index.test.d.ts +0 -25
- package/dist/bus/index.test.d.ts.map +0 -1
- package/dist/bus/index.test.js +0 -151
- package/dist/bus/index.test.js.map +0 -1
- package/dist/bus/lock.test.d.ts +0 -44
- package/dist/bus/lock.test.d.ts.map +0 -1
- package/dist/bus/lock.test.js +0 -226
- package/dist/bus/lock.test.js.map +0 -1
- package/dist/bus/ownership.test.d.ts +0 -26
- package/dist/bus/ownership.test.d.ts.map +0 -1
- package/dist/bus/ownership.test.js +0 -205
- package/dist/bus/ownership.test.js.map +0 -1
- package/dist/compaction/__tests__/SlidingWindowManager.test.d.ts +0 -2
- package/dist/compaction/__tests__/SlidingWindowManager.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/SlidingWindowManager.test.js +0 -113
- package/dist/compaction/__tests__/SlidingWindowManager.test.js.map +0 -1
- package/dist/compaction/__tests__/cleared-result-recovery.test.d.ts +0 -2
- package/dist/compaction/__tests__/cleared-result-recovery.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/cleared-result-recovery.test.js +0 -101
- package/dist/compaction/__tests__/cleared-result-recovery.test.js.map +0 -1
- package/dist/compaction/__tests__/context-reducer.test.d.ts +0 -2
- package/dist/compaction/__tests__/context-reducer.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/context-reducer.test.js +0 -197
- package/dist/compaction/__tests__/context-reducer.test.js.map +0 -1
- package/dist/compaction/__tests__/context-window.test.d.ts +0 -2
- package/dist/compaction/__tests__/context-window.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/context-window.test.js +0 -62
- package/dist/compaction/__tests__/context-window.test.js.map +0 -1
- package/dist/compaction/__tests__/dangling.test.d.ts +0 -2
- package/dist/compaction/__tests__/dangling.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/dangling.test.js +0 -367
- package/dist/compaction/__tests__/dangling.test.js.map +0 -1
- package/dist/compaction/__tests__/factory.test.d.ts +0 -2
- package/dist/compaction/__tests__/factory.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/factory.test.js +0 -43
- package/dist/compaction/__tests__/factory.test.js.map +0 -1
- package/dist/compaction/__tests__/lossiness.test.d.ts +0 -2
- package/dist/compaction/__tests__/lossiness.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/lossiness.test.js +0 -163
- package/dist/compaction/__tests__/lossiness.test.js.map +0 -1
- package/dist/compaction/__tests__/state-across-resume.test.d.ts +0 -2
- package/dist/compaction/__tests__/state-across-resume.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/state-across-resume.test.js +0 -88
- package/dist/compaction/__tests__/state-across-resume.test.js.map +0 -1
- package/dist/compaction/__tests__/tool-result-editing.test.d.ts +0 -2
- package/dist/compaction/__tests__/tool-result-editing.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/tool-result-editing.test.js +0 -184
- package/dist/compaction/__tests__/tool-result-editing.test.js.map +0 -1
- package/dist/compaction/__tests__/trim-opens-on-user.test.d.ts +0 -2
- package/dist/compaction/__tests__/trim-opens-on-user.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/trim-opens-on-user.test.js +0 -109
- package/dist/compaction/__tests__/trim-opens-on-user.test.js.map +0 -1
- package/dist/compaction/__tests__/verifier-empty-reply.test.d.ts +0 -12
- package/dist/compaction/__tests__/verifier-empty-reply.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/verifier-empty-reply.test.js +0 -73
- package/dist/compaction/__tests__/verifier-empty-reply.test.js.map +0 -1
- package/dist/compaction/__tests__/verifier-model.test.d.ts +0 -2
- package/dist/compaction/__tests__/verifier-model.test.d.ts.map +0 -1
- package/dist/compaction/__tests__/verifier-model.test.js +0 -58
- package/dist/compaction/__tests__/verifier-model.test.js.map +0 -1
- package/dist/config/__tests__/compaction-budget-schema.test.d.ts +0 -18
- package/dist/config/__tests__/compaction-budget-schema.test.d.ts.map +0 -1
- package/dist/config/__tests__/compaction-budget-schema.test.js +0 -96
- package/dist/config/__tests__/compaction-budget-schema.test.js.map +0 -1
- package/dist/connector/BaseConnector.test.d.ts +0 -21
- package/dist/connector/BaseConnector.test.d.ts.map +0 -1
- package/dist/connector/BaseConnector.test.js +0 -108
- package/dist/connector/BaseConnector.test.js.map +0 -1
- package/dist/connector/builtins/__tests__/oauth2-auth.test.d.ts +0 -2
- package/dist/connector/builtins/__tests__/oauth2-auth.test.d.ts.map +0 -1
- package/dist/connector/builtins/__tests__/oauth2-auth.test.js +0 -54
- package/dist/connector/builtins/__tests__/oauth2-auth.test.js.map +0 -1
- package/dist/connector/builtins/http.test.d.ts +0 -30
- package/dist/connector/builtins/http.test.d.ts.map +0 -1
- package/dist/connector/builtins/http.test.js +0 -260
- package/dist/connector/builtins/http.test.js.map +0 -1
- package/dist/connector/builtins/webhook.test.d.ts +0 -20
- package/dist/connector/builtins/webhook.test.d.ts.map +0 -1
- package/dist/connector/builtins/webhook.test.js +0 -130
- package/dist/connector/builtins/webhook.test.js.map +0 -1
- package/dist/connector/execution/factory.test.d.ts +0 -16
- package/dist/connector/execution/factory.test.d.ts.map +0 -1
- package/dist/connector/execution/factory.test.js +0 -64
- package/dist/connector/execution/factory.test.js.map +0 -1
- package/dist/connector/execution/remote.test.d.ts +0 -16
- package/dist/connector/execution/remote.test.d.ts.map +0 -1
- package/dist/connector/execution/remote.test.js +0 -53
- package/dist/connector/execution/remote.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/a-close-that-means-closed.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/a-close-that-means-closed.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/a-close-that-means-closed.test.js +0 -106
- package/dist/connector/mcp/__tests__/a-close-that-means-closed.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/a-transport-forgets-its-listeners.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/a-transport-forgets-its-listeners.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/a-transport-forgets-its-listeners.test.js +0 -101
- package/dist/connector/mcp/__tests__/a-transport-forgets-its-listeners.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/discovery-policy.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/discovery-policy.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/discovery-policy.test.js +0 -109
- package/dist/connector/mcp/__tests__/discovery-policy.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/list-pagination.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/list-pagination.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/list-pagination.test.js +0 -81
- package/dist/connector/mcp/__tests__/list-pagination.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/policy.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/policy.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/policy.test.js +0 -86
- package/dist/connector/mcp/__tests__/policy.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/positional-arrays.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/positional-arrays.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/positional-arrays.test.js +0 -142
- package/dist/connector/mcp/__tests__/positional-arrays.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/prompt-as-tool.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/prompt-as-tool.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/prompt-as-tool.test.js +0 -122
- package/dist/connector/mcp/__tests__/prompt-as-tool.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/prompts-and-lifecycle.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/prompts-and-lifecycle.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/prompts-and-lifecycle.test.js +0 -214
- package/dist/connector/mcp/__tests__/prompts-and-lifecycle.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/protocol-negotiation.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/protocol-negotiation.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/protocol-negotiation.test.js +0 -81
- package/dist/connector/mcp/__tests__/protocol-negotiation.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/schema-fidelity.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/schema-fidelity.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/schema-fidelity.test.js +0 -206
- package/dist/connector/mcp/__tests__/schema-fidelity.test.js.map +0 -1
- package/dist/connector/mcp/__tests__/structured-result.test.d.ts +0 -2
- package/dist/connector/mcp/__tests__/structured-result.test.d.ts.map +0 -1
- package/dist/connector/mcp/__tests__/structured-result.test.js +0 -112
- package/dist/connector/mcp/__tests__/structured-result.test.js.map +0 -1
- package/dist/connector/mcp/adapter.test.d.ts +0 -34
- package/dist/connector/mcp/adapter.test.d.ts.map +0 -1
- package/dist/connector/mcp/adapter.test.js +0 -199
- package/dist/connector/mcp/adapter.test.js.map +0 -1
- package/dist/connector/mcp/client.test.d.ts +0 -2
- package/dist/connector/mcp/client.test.d.ts.map +0 -1
- package/dist/connector/mcp/client.test.js +0 -105
- package/dist/connector/mcp/client.test.js.map +0 -1
- package/dist/connector/mcp/streamable-http.test.d.ts +0 -2
- package/dist/connector/mcp/streamable-http.test.d.ts.map +0 -1
- package/dist/connector/mcp/streamable-http.test.js +0 -132
- package/dist/connector/mcp/streamable-http.test.js.map +0 -1
- package/dist/constants/tools/__tests__/dangerous-patterns.test.d.ts +0 -2
- package/dist/constants/tools/__tests__/dangerous-patterns.test.d.ts.map +0 -1
- package/dist/constants/tools/__tests__/dangerous-patterns.test.js +0 -54
- package/dist/constants/tools/__tests__/dangerous-patterns.test.js.map +0 -1
- package/dist/contracts/__tests__/an-id-the-sdk-mints-passes-its-own-schema.test.d.ts +0 -2
- package/dist/contracts/__tests__/an-id-the-sdk-mints-passes-its-own-schema.test.d.ts.map +0 -1
- package/dist/contracts/__tests__/an-id-the-sdk-mints-passes-its-own-schema.test.js +0 -73
- package/dist/contracts/__tests__/an-id-the-sdk-mints-passes-its-own-schema.test.js.map +0 -1
- package/dist/directory/__tests__/derive.test.d.ts +0 -2
- package/dist/directory/__tests__/derive.test.d.ts.map +0 -1
- package/dist/directory/__tests__/derive.test.js +0 -111
- package/dist/directory/__tests__/derive.test.js.map +0 -1
- package/dist/directory/__tests__/load-diagnostics.test.d.ts +0 -2
- package/dist/directory/__tests__/load-diagnostics.test.d.ts.map +0 -1
- package/dist/directory/__tests__/load-diagnostics.test.js +0 -106
- package/dist/directory/__tests__/load-diagnostics.test.js.map +0 -1
- package/dist/directory/__tests__/load-directory.test.d.ts +0 -2
- package/dist/directory/__tests__/load-directory.test.d.ts.map +0 -1
- package/dist/directory/__tests__/load-directory.test.js +0 -196
- package/dist/directory/__tests__/load-directory.test.js.map +0 -1
- package/dist/directory/__tests__/subagents.test.d.ts +0 -2
- package/dist/directory/__tests__/subagents.test.d.ts.map +0 -1
- package/dist/directory/__tests__/subagents.test.js +0 -117
- package/dist/directory/__tests__/subagents.test.js.map +0 -1
- package/dist/directory/__tests__/supervisor-budget.test.d.ts +0 -2
- package/dist/directory/__tests__/supervisor-budget.test.d.ts.map +0 -1
- package/dist/directory/__tests__/supervisor-budget.test.js +0 -97
- package/dist/directory/__tests__/supervisor-budget.test.js.map +0 -1
- package/dist/eval/__tests__/case-deadline.test.d.ts +0 -2
- package/dist/eval/__tests__/case-deadline.test.d.ts.map +0 -1
- package/dist/eval/__tests__/case-deadline.test.js +0 -128
- package/dist/eval/__tests__/case-deadline.test.js.map +0 -1
- package/dist/eval/__tests__/end-to-end.test.d.ts +0 -2
- package/dist/eval/__tests__/end-to-end.test.d.ts.map +0 -1
- package/dist/eval/__tests__/end-to-end.test.js +0 -223
- package/dist/eval/__tests__/end-to-end.test.js.map +0 -1
- package/dist/eval/__tests__/harness-honesty.test.d.ts +0 -2
- package/dist/eval/__tests__/harness-honesty.test.d.ts.map +0 -1
- package/dist/eval/__tests__/harness-honesty.test.js +0 -85
- package/dist/eval/__tests__/harness-honesty.test.js.map +0 -1
- package/dist/eval/__tests__/harness.test.d.ts +0 -2
- package/dist/eval/__tests__/harness.test.d.ts.map +0 -1
- package/dist/eval/__tests__/harness.test.js +0 -207
- package/dist/eval/__tests__/harness.test.js.map +0 -1
- package/dist/eval/__tests__/judge.test.d.ts +0 -2
- package/dist/eval/__tests__/judge.test.d.ts.map +0 -1
- package/dist/eval/__tests__/judge.test.js +0 -255
- package/dist/eval/__tests__/judge.test.js.map +0 -1
- package/dist/eval/__tests__/scorer-gates.test.d.ts +0 -2
- package/dist/eval/__tests__/scorer-gates.test.d.ts.map +0 -1
- package/dist/eval/__tests__/scorer-gates.test.js +0 -136
- package/dist/eval/__tests__/scorer-gates.test.js.map +0 -1
- package/dist/execution/local.test.d.ts +0 -2
- package/dist/execution/local.test.d.ts.map +0 -1
- package/dist/execution/local.test.js +0 -37
- package/dist/execution/local.test.js.map +0 -1
- package/dist/gateway/__tests__/a-gateway-that-forgets-the-oldest.test.d.ts +0 -2
- package/dist/gateway/__tests__/a-gateway-that-forgets-the-oldest.test.d.ts.map +0 -1
- package/dist/gateway/__tests__/a-gateway-that-forgets-the-oldest.test.js +0 -96
- package/dist/gateway/__tests__/a-gateway-that-forgets-the-oldest.test.js.map +0 -1
- package/dist/gateway/__tests__/a-knob-nobody-can-turn.test.d.ts +0 -2
- package/dist/gateway/__tests__/a-knob-nobody-can-turn.test.d.ts.map +0 -1
- package/dist/gateway/__tests__/a-knob-nobody-can-turn.test.js +0 -114
- package/dist/gateway/__tests__/a-knob-nobody-can-turn.test.js.map +0 -1
- package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.d.ts +0 -2
- package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.d.ts.map +0 -1
- package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.js +0 -137
- package/dist/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.js.map +0 -1
- package/dist/gateway/__tests__/completion-inbox.test.d.ts +0 -2
- package/dist/gateway/__tests__/completion-inbox.test.d.ts.map +0 -1
- package/dist/gateway/__tests__/completion-inbox.test.js +0 -565
- package/dist/gateway/__tests__/completion-inbox.test.js.map +0 -1
- package/dist/gateway/__tests__/list-survives-eviction.test.d.ts +0 -2
- package/dist/gateway/__tests__/list-survives-eviction.test.d.ts.map +0 -1
- package/dist/gateway/__tests__/list-survives-eviction.test.js +0 -102
- package/dist/gateway/__tests__/list-survives-eviction.test.js.map +0 -1
- package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.d.ts +0 -2
- package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.d.ts.map +0 -1
- package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.js +0 -101
- package/dist/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.js.map +0 -1
- package/dist/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.d.ts +0 -2
- package/dist/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.d.ts.map +0 -1
- package/dist/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.js +0 -159
- package/dist/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.js.map +0 -1
- package/dist/manager/agent/__tests__/depth-limit-authority.test.d.ts +0 -2
- package/dist/manager/agent/__tests__/depth-limit-authority.test.d.ts.map +0 -1
- package/dist/manager/agent/__tests__/depth-limit-authority.test.js +0 -58
- package/dist/manager/agent/__tests__/depth-limit-authority.test.js.map +0 -1
- package/dist/manager/agent/__tests__/dispose-cancels.test.d.ts +0 -2
- package/dist/manager/agent/__tests__/dispose-cancels.test.d.ts.map +0 -1
- package/dist/manager/agent/__tests__/dispose-cancels.test.js +0 -88
- package/dist/manager/agent/__tests__/dispose-cancels.test.js.map +0 -1
- package/dist/manager/agent/__tests__/hitl-across-spawn.test.d.ts +0 -2
- package/dist/manager/agent/__tests__/hitl-across-spawn.test.d.ts.map +0 -1
- package/dist/manager/agent/__tests__/hitl-across-spawn.test.js +0 -226
- package/dist/manager/agent/__tests__/hitl-across-spawn.test.js.map +0 -1
- package/dist/manager/agent/__tests__/lifecycle.test.d.ts +0 -2
- package/dist/manager/agent/__tests__/lifecycle.test.d.ts.map +0 -1
- package/dist/manager/agent/__tests__/lifecycle.test.js +0 -602
- package/dist/manager/agent/__tests__/lifecycle.test.js.map +0 -1
- package/dist/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.d.ts +0 -2
- package/dist/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.d.ts.map +0 -1
- package/dist/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.js +0 -73
- package/dist/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.js.map +0 -1
- package/dist/manager/project/__tests__/a-closed-workspace-takes-no-work.test.d.ts +0 -2
- package/dist/manager/project/__tests__/a-closed-workspace-takes-no-work.test.d.ts.map +0 -1
- package/dist/manager/project/__tests__/a-closed-workspace-takes-no-work.test.js +0 -248
- package/dist/manager/project/__tests__/a-closed-workspace-takes-no-work.test.js.map +0 -1
- package/dist/manager/thread/__tests__/lifecycle.test.d.ts +0 -2
- package/dist/manager/thread/__tests__/lifecycle.test.d.ts.map +0 -1
- package/dist/manager/thread/__tests__/lifecycle.test.js +0 -216
- package/dist/manager/thread/__tests__/lifecycle.test.js.map +0 -1
- package/dist/plugin/__tests__/discovery-scopes.test.d.ts +0 -2
- package/dist/plugin/__tests__/discovery-scopes.test.d.ts.map +0 -1
- package/dist/plugin/__tests__/discovery-scopes.test.js +0 -97
- package/dist/plugin/__tests__/discovery-scopes.test.js.map +0 -1
- package/dist/plugin/__tests__/enable-contributions.test.d.ts +0 -2
- package/dist/plugin/__tests__/enable-contributions.test.d.ts.map +0 -1
- package/dist/plugin/__tests__/enable-contributions.test.js +0 -269
- package/dist/plugin/__tests__/enable-contributions.test.js.map +0 -1
- package/dist/plugin/__tests__/hook-ordering.test.d.ts +0 -2
- package/dist/plugin/__tests__/hook-ordering.test.d.ts.map +0 -1
- package/dist/plugin/__tests__/hook-ordering.test.js +0 -227
- package/dist/plugin/__tests__/hook-ordering.test.js.map +0 -1
- package/dist/plugin/__tests__/install-time-refusal.test.d.ts +0 -2
- package/dist/plugin/__tests__/install-time-refusal.test.d.ts.map +0 -1
- package/dist/plugin/__tests__/install-time-refusal.test.js +0 -49
- package/dist/plugin/__tests__/install-time-refusal.test.js.map +0 -1
- package/dist/plugin/__tests__/lifecycle.test.d.ts +0 -2
- package/dist/plugin/__tests__/lifecycle.test.d.ts.map +0 -1
- package/dist/plugin/__tests__/lifecycle.test.js +0 -389
- package/dist/plugin/__tests__/lifecycle.test.js.map +0 -1
- package/dist/plugin/__tests__/mcp-admission.test.d.ts +0 -2
- package/dist/plugin/__tests__/mcp-admission.test.d.ts.map +0 -1
- package/dist/plugin/__tests__/mcp-admission.test.js +0 -227
- package/dist/plugin/__tests__/mcp-admission.test.js.map +0 -1
- package/dist/plugin/__tests__/path-containment.test.d.ts +0 -2
- package/dist/plugin/__tests__/path-containment.test.d.ts.map +0 -1
- package/dist/plugin/__tests__/path-containment.test.js +0 -91
- package/dist/plugin/__tests__/path-containment.test.js.map +0 -1
- package/dist/probe/registry.test.d.ts +0 -13
- package/dist/probe/registry.test.d.ts.map +0 -1
- package/dist/probe/registry.test.js +0 -348
- package/dist/probe/registry.test.js.map +0 -1
- package/dist/provider/__tests__/errors.test.d.ts +0 -2
- package/dist/provider/__tests__/errors.test.d.ts.map +0 -1
- package/dist/provider/__tests__/errors.test.js +0 -61
- package/dist/provider/__tests__/errors.test.js.map +0 -1
- package/dist/provider/__tests__/mock-script.test.d.ts +0 -2
- package/dist/provider/__tests__/mock-script.test.d.ts.map +0 -1
- package/dist/provider/__tests__/mock-script.test.js +0 -151
- package/dist/provider/__tests__/mock-script.test.js.map +0 -1
- package/dist/provider/__tests__/model-version.test.d.ts +0 -2
- package/dist/provider/__tests__/model-version.test.d.ts.map +0 -1
- package/dist/provider/__tests__/model-version.test.js +0 -80
- package/dist/provider/__tests__/model-version.test.js.map +0 -1
- package/dist/provider/__tests__/registry.test.d.ts +0 -16
- package/dist/provider/__tests__/registry.test.d.ts.map +0 -1
- package/dist/provider/__tests__/registry.test.js +0 -303
- package/dist/provider/__tests__/registry.test.js.map +0 -1
- package/dist/provider/__tests__/retry-visibility.test.d.ts +0 -2
- package/dist/provider/__tests__/retry-visibility.test.d.ts.map +0 -1
- package/dist/provider/__tests__/retry-visibility.test.js +0 -137
- package/dist/provider/__tests__/retry-visibility.test.js.map +0 -1
- package/dist/provider/__tests__/retry.test.d.ts +0 -2
- package/dist/provider/__tests__/retry.test.d.ts.map +0 -1
- package/dist/provider/__tests__/retry.test.js +0 -259
- package/dist/provider/__tests__/retry.test.js.map +0 -1
- package/dist/provider/__tests__/strict-schema.test.d.ts +0 -2
- package/dist/provider/__tests__/strict-schema.test.d.ts.map +0 -1
- package/dist/provider/__tests__/strict-schema.test.js +0 -157
- package/dist/provider/__tests__/strict-schema.test.js.map +0 -1
- package/dist/provider/__tests__/thinking-support.test.d.ts +0 -2
- package/dist/provider/__tests__/thinking-support.test.d.ts.map +0 -1
- package/dist/provider/__tests__/thinking-support.test.js +0 -47
- package/dist/provider/__tests__/thinking-support.test.js.map +0 -1
- package/dist/provider/__tests__/typed-error-classification.test.d.ts +0 -2
- package/dist/provider/__tests__/typed-error-classification.test.d.ts.map +0 -1
- package/dist/provider/__tests__/typed-error-classification.test.js +0 -123
- package/dist/provider/__tests__/typed-error-classification.test.js.map +0 -1
- package/dist/provider/__tests__/vendor-detail.test.d.ts +0 -2
- package/dist/provider/__tests__/vendor-detail.test.d.ts.map +0 -1
- package/dist/provider/__tests__/vendor-detail.test.js +0 -89
- package/dist/provider/__tests__/vendor-detail.test.js.map +0 -1
- package/dist/provider/collect.test.d.ts +0 -22
- package/dist/provider/collect.test.d.ts.map +0 -1
- package/dist/provider/collect.test.js +0 -123
- package/dist/provider/collect.test.js.map +0 -1
- package/dist/provider/instrumentation.test.d.ts +0 -17
- package/dist/provider/instrumentation.test.d.ts.map +0 -1
- package/dist/provider/instrumentation.test.js +0 -138
- package/dist/provider/instrumentation.test.js.map +0 -1
- package/dist/rag/__tests__/namespace-isolation.test.d.ts +0 -2
- package/dist/rag/__tests__/namespace-isolation.test.d.ts.map +0 -1
- package/dist/rag/__tests__/namespace-isolation.test.js +0 -80
- package/dist/rag/__tests__/namespace-isolation.test.js.map +0 -1
- package/dist/rag/__tests__/retrieval-math.test.d.ts +0 -2
- package/dist/rag/__tests__/retrieval-math.test.d.ts.map +0 -1
- package/dist/rag/__tests__/retrieval-math.test.js +0 -46
- package/dist/rag/__tests__/retrieval-math.test.js.map +0 -1
- package/dist/rag/chunking.test.d.ts +0 -20
- package/dist/rag/chunking.test.d.ts.map +0 -1
- package/dist/rag/chunking.test.js +0 -92
- package/dist/rag/chunking.test.js.map +0 -1
- package/dist/rag/context-assembler.test.d.ts +0 -19
- package/dist/rag/context-assembler.test.d.ts.map +0 -1
- package/dist/rag/context-assembler.test.js +0 -98
- package/dist/rag/context-assembler.test.js.map +0 -1
- package/dist/rag/embedding.test.d.ts +0 -19
- package/dist/rag/embedding.test.d.ts.map +0 -1
- package/dist/rag/embedding.test.js +0 -164
- package/dist/rag/embedding.test.js.map +0 -1
- package/dist/rag/ingestion.test.d.ts +0 -22
- package/dist/rag/ingestion.test.d.ts.map +0 -1
- package/dist/rag/ingestion.test.js +0 -99
- package/dist/rag/ingestion.test.js.map +0 -1
- package/dist/rag/knowledge-base.test.d.ts +0 -17
- package/dist/rag/knowledge-base.test.d.ts.map +0 -1
- package/dist/rag/knowledge-base.test.js +0 -77
- package/dist/rag/knowledge-base.test.js.map +0 -1
- package/dist/rag/rag-tool.test.d.ts +0 -21
- package/dist/rag/rag-tool.test.d.ts.map +0 -1
- package/dist/rag/rag-tool.test.js +0 -149
- package/dist/rag/rag-tool.test.js.map +0 -1
- package/dist/rag/retriever.test.d.ts +0 -26
- package/dist/rag/retriever.test.d.ts.map +0 -1
- package/dist/rag/retriever.test.js +0 -180
- package/dist/rag/retriever.test.js.map +0 -1
- package/dist/rag/vector-store.test.d.ts +0 -38
- package/dist/rag/vector-store.test.d.ts.map +0 -1
- package/dist/rag/vector-store.test.js +0 -175
- package/dist/rag/vector-store.test.js.map +0 -1
- package/dist/registry/ManagedRegistry.test.d.ts +0 -21
- package/dist/registry/ManagedRegistry.test.d.ts.map +0 -1
- package/dist/registry/ManagedRegistry.test.js +0 -98
- package/dist/registry/ManagedRegistry.test.js.map +0 -1
- package/dist/registry/Registry.test.d.ts +0 -18
- package/dist/registry/Registry.test.d.ts.map +0 -1
- package/dist/registry/Registry.test.js +0 -79
- package/dist/registry/Registry.test.js.map +0 -1
- package/dist/registry/agent/definitions.test.d.ts +0 -15
- package/dist/registry/agent/definitions.test.d.ts.map +0 -1
- package/dist/registry/agent/definitions.test.js +0 -84
- package/dist/registry/agent/definitions.test.js.map +0 -1
- package/dist/registry/connector/definitions.test.d.ts +0 -13
- package/dist/registry/connector/definitions.test.d.ts.map +0 -1
- package/dist/registry/connector/definitions.test.js +0 -41
- package/dist/registry/connector/definitions.test.js.map +0 -1
- package/dist/registry/connector/scoped.test.d.ts +0 -21
- package/dist/registry/connector/scoped.test.d.ts.map +0 -1
- package/dist/registry/connector/scoped.test.js +0 -115
- package/dist/registry/connector/scoped.test.js.map +0 -1
- package/dist/registry/plugin/index.test.d.ts +0 -12
- package/dist/registry/plugin/index.test.d.ts.map +0 -1
- package/dist/registry/plugin/index.test.js +0 -69
- package/dist/registry/plugin/index.test.js.map +0 -1
- package/dist/registry/tool/__tests__/dialect.test.d.ts +0 -2
- package/dist/registry/tool/__tests__/dialect.test.d.ts.map +0 -1
- package/dist/registry/tool/__tests__/dialect.test.js +0 -146
- package/dist/registry/tool/__tests__/dialect.test.js.map +0 -1
- package/dist/registry/tool/__tests__/schema.test.d.ts +0 -2
- package/dist/registry/tool/__tests__/schema.test.d.ts.map +0 -1
- package/dist/registry/tool/__tests__/schema.test.js +0 -176
- package/dist/registry/tool/__tests__/schema.test.js.map +0 -1
- package/dist/registry/tool/__tests__/strict-registration.test.d.ts +0 -2
- package/dist/registry/tool/__tests__/strict-registration.test.d.ts.map +0 -1
- package/dist/registry/tool/__tests__/strict-registration.test.js +0 -82
- package/dist/registry/tool/__tests__/strict-registration.test.js.map +0 -1
- package/dist/registry/tool/__tests__/tool-name-validation.test.d.ts +0 -2
- package/dist/registry/tool/__tests__/tool-name-validation.test.d.ts.map +0 -1
- package/dist/registry/tool/__tests__/tool-name-validation.test.js +0 -70
- package/dist/registry/tool/__tests__/tool-name-validation.test.js.map +0 -1
- package/dist/registry/tool/execute.test.d.ts +0 -47
- package/dist/registry/tool/execute.test.d.ts.map +0 -1
- package/dist/registry/tool/execute.test.js +0 -549
- package/dist/registry/tool/execute.test.js.map +0 -1
- package/dist/registry/toolset/catalog.test.d.ts +0 -2
- package/dist/registry/toolset/catalog.test.d.ts.map +0 -1
- package/dist/registry/toolset/catalog.test.js +0 -247
- package/dist/registry/toolset/catalog.test.js.map +0 -1
- package/dist/run/LimitChecker.test.d.ts +0 -2
- package/dist/run/LimitChecker.test.d.ts.map +0 -1
- package/dist/run/LimitChecker.test.js +0 -26
- package/dist/run/LimitChecker.test.js.map +0 -1
- package/dist/runtime/bidi/__tests__/session.test.d.ts +0 -2
- package/dist/runtime/bidi/__tests__/session.test.d.ts.map +0 -1
- package/dist/runtime/bidi/__tests__/session.test.js +0 -201
- package/dist/runtime/bidi/__tests__/session.test.js.map +0 -1
- package/dist/runtime/decision/parser.test.d.ts +0 -2
- package/dist/runtime/decision/parser.test.d.ts.map +0 -1
- package/dist/runtime/decision/parser.test.js +0 -37
- package/dist/runtime/decision/parser.test.js.map +0 -1
- package/dist/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.js +0 -90
- package/dist/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.js.map +0 -1
- package/dist/runtime/query/__tests__/a-settled-plan-reaches-the-host.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/a-settled-plan-reaches-the-host.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/a-settled-plan-reaches-the-host.test.js +0 -97
- package/dist/runtime/query/__tests__/a-settled-plan-reaches-the-host.test.js.map +0 -1
- package/dist/runtime/query/__tests__/answer-review.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/answer-review.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/answer-review.test.js +0 -141
- package/dist/runtime/query/__tests__/answer-review.test.js.map +0 -1
- package/dist/runtime/query/__tests__/capability-negotiation.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/capability-negotiation.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/capability-negotiation.test.js +0 -235
- package/dist/runtime/query/__tests__/capability-negotiation.test.js.map +0 -1
- package/dist/runtime/query/__tests__/checkpoint-store.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/checkpoint-store.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/checkpoint-store.test.js +0 -227
- package/dist/runtime/query/__tests__/checkpoint-store.test.js.map +0 -1
- package/dist/runtime/query/__tests__/checkpoint.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/checkpoint.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/checkpoint.test.js +0 -148
- package/dist/runtime/query/__tests__/checkpoint.test.js.map +0 -1
- package/dist/runtime/query/__tests__/citations.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/citations.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/citations.test.js +0 -85
- package/dist/runtime/query/__tests__/citations.test.js.map +0 -1
- package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.js +0 -142
- package/dist/runtime/query/__tests__/completion-does-not-erase-the-answer.test.js.map +0 -1
- package/dist/runtime/query/__tests__/completion-notification.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/completion-notification.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/completion-notification.test.js +0 -550
- package/dist/runtime/query/__tests__/completion-notification.test.js.map +0 -1
- package/dist/runtime/query/__tests__/content-budget.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/content-budget.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/content-budget.test.js +0 -69
- package/dist/runtime/query/__tests__/content-budget.test.js.map +0 -1
- package/dist/runtime/query/__tests__/context-size-on-the-wire.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/context-size-on-the-wire.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/context-size-on-the-wire.test.js +0 -100
- package/dist/runtime/query/__tests__/context-size-on-the-wire.test.js.map +0 -1
- package/dist/runtime/query/__tests__/context.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/context.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/context.test.js +0 -104
- package/dist/runtime/query/__tests__/context.test.js.map +0 -1
- package/dist/runtime/query/__tests__/deferred-tools.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/deferred-tools.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/deferred-tools.test.js +0 -176
- package/dist/runtime/query/__tests__/deferred-tools.test.js.map +0 -1
- package/dist/runtime/query/__tests__/delegation-resume.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/delegation-resume.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/delegation-resume.test.js +0 -111
- package/dist/runtime/query/__tests__/delegation-resume.test.js.map +0 -1
- package/dist/runtime/query/__tests__/document-attachments.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/document-attachments.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/document-attachments.test.js +0 -92
- package/dist/runtime/query/__tests__/document-attachments.test.js.map +0 -1
- package/dist/runtime/query/__tests__/durable-park-and-trace.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/durable-park-and-trace.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/durable-park-and-trace.test.js +0 -194
- package/dist/runtime/query/__tests__/durable-park-and-trace.test.js.map +0 -1
- package/dist/runtime/query/__tests__/durable-question-park.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/durable-question-park.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/durable-question-park.test.js +0 -253
- package/dist/runtime/query/__tests__/durable-question-park.test.js.map +0 -1
- package/dist/runtime/query/__tests__/durable-run-state.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/durable-run-state.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/durable-run-state.test.js +0 -158
- package/dist/runtime/query/__tests__/durable-run-state.test.js.map +0 -1
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.js +0 -118
- package/dist/runtime/query/__tests__/effort-reaches-the-wire.test.js.map +0 -1
- package/dist/runtime/query/__tests__/executor-concurrency.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/executor-concurrency.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/executor-concurrency.test.js +0 -98
- package/dist/runtime/query/__tests__/executor-concurrency.test.js.map +0 -1
- package/dist/runtime/query/__tests__/executor-plugin-hooks.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/executor-plugin-hooks.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js +0 -275
- package/dist/runtime/query/__tests__/executor-plugin-hooks.test.js.map +0 -1
- package/dist/runtime/query/__tests__/finish-reason-vs-tool-calls.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/finish-reason-vs-tool-calls.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/finish-reason-vs-tool-calls.test.js +0 -187
- package/dist/runtime/query/__tests__/finish-reason-vs-tool-calls.test.js.map +0 -1
- package/dist/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.js +0 -95
- package/dist/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.js.map +0 -1
- package/dist/runtime/query/__tests__/guardrails-e2e.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/guardrails-e2e.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/guardrails-e2e.test.js +0 -132
- package/dist/runtime/query/__tests__/guardrails-e2e.test.js.map +0 -1
- package/dist/runtime/query/__tests__/guardrails.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/guardrails.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/guardrails.test.js +0 -163
- package/dist/runtime/query/__tests__/guardrails.test.js.map +0 -1
- package/dist/runtime/query/__tests__/hook-model-visibility.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/hook-model-visibility.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/hook-model-visibility.test.js +0 -119
- package/dist/runtime/query/__tests__/hook-model-visibility.test.js.map +0 -1
- package/dist/runtime/query/__tests__/long-document-flow.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/long-document-flow.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/long-document-flow.test.js +0 -161
- package/dist/runtime/query/__tests__/long-document-flow.test.js.map +0 -1
- package/dist/runtime/query/__tests__/memory-promotion.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/memory-promotion.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/memory-promotion.test.js +0 -119
- package/dist/runtime/query/__tests__/memory-promotion.test.js.map +0 -1
- package/dist/runtime/query/__tests__/orphan-task-turn-end.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/orphan-task-turn-end.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/orphan-task-turn-end.test.js +0 -88
- package/dist/runtime/query/__tests__/orphan-task-turn-end.test.js.map +0 -1
- package/dist/runtime/query/__tests__/overflow-relief.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/overflow-relief.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/overflow-relief.test.js +0 -119
- package/dist/runtime/query/__tests__/overflow-relief.test.js.map +0 -1
- package/dist/runtime/query/__tests__/partial-batch-resume.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/partial-batch-resume.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/partial-batch-resume.test.js +0 -205
- package/dist/runtime/query/__tests__/partial-batch-resume.test.js.map +0 -1
- package/dist/runtime/query/__tests__/per-step-skills.test.d.ts +0 -10
- package/dist/runtime/query/__tests__/per-step-skills.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/per-step-skills.test.js +0 -122
- package/dist/runtime/query/__tests__/per-step-skills.test.js.map +0 -1
- package/dist/runtime/query/__tests__/per-step-tool-choice.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/per-step-tool-choice.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/per-step-tool-choice.test.js +0 -153
- package/dist/runtime/query/__tests__/per-step-tool-choice.test.js.map +0 -1
- package/dist/runtime/query/__tests__/plugin-hooks.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/plugin-hooks.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/plugin-hooks.test.js +0 -20
- package/dist/runtime/query/__tests__/plugin-hooks.test.js.map +0 -1
- package/dist/runtime/query/__tests__/prepare-step-chain.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/prepare-step-chain.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/prepare-step-chain.test.js +0 -104
- package/dist/runtime/query/__tests__/prepare-step-chain.test.js.map +0 -1
- package/dist/runtime/query/__tests__/prepare-step.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/prepare-step.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/prepare-step.test.js +0 -194
- package/dist/runtime/query/__tests__/prepare-step.test.js.map +0 -1
- package/dist/runtime/query/__tests__/probe-veto-is-error.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/probe-veto-is-error.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/probe-veto-is-error.test.js +0 -111
- package/dist/runtime/query/__tests__/probe-veto-is-error.test.js.map +0 -1
- package/dist/runtime/query/__tests__/prompt.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/prompt.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/prompt.test.js +0 -84
- package/dist/runtime/query/__tests__/prompt.test.js.map +0 -1
- package/dist/runtime/query/__tests__/provider-fault-pauses.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/provider-fault-pauses.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/provider-fault-pauses.test.js +0 -86
- package/dist/runtime/query/__tests__/provider-fault-pauses.test.js.map +0 -1
- package/dist/runtime/query/__tests__/reasoning-stream.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/reasoning-stream.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/reasoning-stream.test.js +0 -146
- package/dist/runtime/query/__tests__/reasoning-stream.test.js.map +0 -1
- package/dist/runtime/query/__tests__/recoverable-settle.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/recoverable-settle.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/recoverable-settle.test.js +0 -119
- package/dist/runtime/query/__tests__/recoverable-settle.test.js.map +0 -1
- package/dist/runtime/query/__tests__/resume-budget.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/resume-budget.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/resume-budget.test.js +0 -130
- package/dist/runtime/query/__tests__/resume-budget.test.js.map +0 -1
- package/dist/runtime/query/__tests__/resume-pending.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/resume-pending.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/resume-pending.test.js +0 -226
- package/dist/runtime/query/__tests__/resume-pending.test.js.map +0 -1
- package/dist/runtime/query/__tests__/resume-run.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/resume-run.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/resume-run.test.js +0 -211
- package/dist/runtime/query/__tests__/resume-run.test.js.map +0 -1
- package/dist/runtime/query/__tests__/rich-content-budget-wiring.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/rich-content-budget-wiring.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/rich-content-budget-wiring.test.js +0 -89
- package/dist/runtime/query/__tests__/rich-content-budget-wiring.test.js.map +0 -1
- package/dist/runtime/query/__tests__/run-survives-its-own-park.proc-test.d.ts +0 -2
- package/dist/runtime/query/__tests__/run-survives-its-own-park.proc-test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/run-survives-its-own-park.proc-test.js +0 -122
- package/dist/runtime/query/__tests__/run-survives-its-own-park.proc-test.js.map +0 -1
- package/dist/runtime/query/__tests__/steering-reaches-the-model.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/steering-reaches-the-model.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/steering-reaches-the-model.test.js +0 -94
- package/dist/runtime/query/__tests__/steering-reaches-the-model.test.js.map +0 -1
- package/dist/runtime/query/__tests__/steering.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/steering.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/steering.test.js +0 -92
- package/dist/runtime/query/__tests__/steering.test.js.map +0 -1
- package/dist/runtime/query/__tests__/step-allow-list.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/step-allow-list.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/step-allow-list.test.js +0 -171
- package/dist/runtime/query/__tests__/step-allow-list.test.js.map +0 -1
- package/dist/runtime/query/__tests__/stop-condition.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/stop-condition.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/stop-condition.test.js +0 -205
- package/dist/runtime/query/__tests__/stop-condition.test.js.map +0 -1
- package/dist/runtime/query/__tests__/stream-recovery.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/stream-recovery.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/stream-recovery.test.js +0 -190
- package/dist/runtime/query/__tests__/stream-recovery.test.js.map +0 -1
- package/dist/runtime/query/__tests__/structured-output.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/structured-output.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/structured-output.test.js +0 -219
- package/dist/runtime/query/__tests__/structured-output.test.js.map +0 -1
- package/dist/runtime/query/__tests__/structured-run-failure.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/structured-run-failure.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/structured-run-failure.test.js +0 -117
- package/dist/runtime/query/__tests__/structured-run-failure.test.js.map +0 -1
- package/dist/runtime/query/__tests__/terminal-tool.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/terminal-tool.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/terminal-tool.test.js +0 -119
- package/dist/runtime/query/__tests__/terminal-tool.test.js.map +0 -1
- package/dist/runtime/query/__tests__/the-other-approval-surface-names-the-agent.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/the-other-approval-surface-names-the-agent.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/the-other-approval-surface-names-the-agent.test.js +0 -81
- package/dist/runtime/query/__tests__/the-other-approval-surface-names-the-agent.test.js.map +0 -1
- package/dist/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.js +0 -62
- package/dist/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.js.map +0 -1
- package/dist/runtime/query/__tests__/tool-grants.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/tool-grants.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/tool-grants.test.js +0 -85
- package/dist/runtime/query/__tests__/tool-grants.test.js.map +0 -1
- package/dist/runtime/query/__tests__/tool-output-budget.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/tool-output-budget.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/tool-output-budget.test.js +0 -0
- package/dist/runtime/query/__tests__/tool-output-budget.test.js.map +0 -1
- package/dist/runtime/query/__tests__/tool-pause.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/tool-pause.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/tool-pause.test.js +0 -165
- package/dist/runtime/query/__tests__/tool-pause.test.js.map +0 -1
- package/dist/runtime/query/__tests__/tool-progress.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/tool-progress.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/tool-progress.test.js +0 -122
- package/dist/runtime/query/__tests__/tool-progress.test.js.map +0 -1
- package/dist/runtime/query/__tests__/tool-repair-retry.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/tool-repair-retry.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/tool-repair-retry.test.js +0 -196
- package/dist/runtime/query/__tests__/tool-repair-retry.test.js.map +0 -1
- package/dist/runtime/query/__tests__/tool-result-wire.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/tool-result-wire.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/tool-result-wire.test.js +0 -106
- package/dist/runtime/query/__tests__/tool-result-wire.test.js.map +0 -1
- package/dist/runtime/query/__tests__/tool-timeout.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/tool-timeout.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/tool-timeout.test.js +0 -218
- package/dist/runtime/query/__tests__/tool-timeout.test.js.map +0 -1
- package/dist/runtime/query/__tests__/trace-parenting.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/trace-parenting.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/trace-parenting.test.js +0 -111
- package/dist/runtime/query/__tests__/trace-parenting.test.js.map +0 -1
- package/dist/runtime/query/__tests__/wiring-seams.test.d.ts +0 -2
- package/dist/runtime/query/__tests__/wiring-seams.test.d.ts.map +0 -1
- package/dist/runtime/query/__tests__/wiring-seams.test.js +0 -237
- package/dist/runtime/query/__tests__/wiring-seams.test.js.map +0 -1
- package/dist/runtime/query/iteration/__tests__/cancel-settles-turn.test.d.ts +0 -2
- package/dist/runtime/query/iteration/__tests__/cancel-settles-turn.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/__tests__/cancel-settles-turn.test.js +0 -131
- package/dist/runtime/query/iteration/__tests__/cancel-settles-turn.test.js.map +0 -1
- package/dist/runtime/query/iteration/__tests__/settle-grace.test.d.ts +0 -2
- package/dist/runtime/query/iteration/__tests__/settle-grace.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/__tests__/settle-grace.test.js +0 -226
- package/dist/runtime/query/iteration/__tests__/settle-grace.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.d.ts +0 -2
- package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.js +0 -95
- package/dist/runtime/query/iteration/phases/__tests__/compaction-declined.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/advisory.test.d.ts +0 -42
- package/dist/runtime/query/iteration/phases/advisory.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/advisory.test.js +0 -337
- package/dist/runtime/query/iteration/phases/advisory.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/compaction-model-routing.test.d.ts +0 -2
- package/dist/runtime/query/iteration/phases/compaction-model-routing.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/compaction-model-routing.test.js +0 -96
- package/dist/runtime/query/iteration/phases/compaction-model-routing.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/compaction-safe-cut.test.d.ts +0 -32
- package/dist/runtime/query/iteration/phases/compaction-safe-cut.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/compaction-safe-cut.test.js +0 -152
- package/dist/runtime/query/iteration/phases/compaction-safe-cut.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/context-measurement.test.d.ts +0 -21
- package/dist/runtime/query/iteration/phases/context-measurement.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/context-measurement.test.js +0 -161
- package/dist/runtime/query/iteration/phases/context-measurement.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/context-reducer-dispatch.test.d.ts +0 -2
- package/dist/runtime/query/iteration/phases/context-reducer-dispatch.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/context-reducer-dispatch.test.js +0 -180
- package/dist/runtime/query/iteration/phases/context-reducer-dispatch.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/hitl-abort-race.test.d.ts +0 -2
- package/dist/runtime/query/iteration/phases/hitl-abort-race.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/hitl-abort-race.test.js +0 -73
- package/dist/runtime/query/iteration/phases/hitl-abort-race.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/hitl-answer-question.test.d.ts +0 -2
- package/dist/runtime/query/iteration/phases/hitl-answer-question.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/hitl-answer-question.test.js +0 -122
- package/dist/runtime/query/iteration/phases/hitl-answer-question.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/overflow-escalation.test.d.ts +0 -15
- package/dist/runtime/query/iteration/phases/overflow-escalation.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/overflow-escalation.test.js +0 -130
- package/dist/runtime/query/iteration/phases/overflow-escalation.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/retained-messages.test.d.ts +0 -2
- package/dist/runtime/query/iteration/phases/retained-messages.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/retained-messages.test.js +0 -180
- package/dist/runtime/query/iteration/phases/retained-messages.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/tool-review-denials.test.d.ts +0 -2
- package/dist/runtime/query/iteration/phases/tool-review-denials.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/tool-review-denials.test.js +0 -224
- package/dist/runtime/query/iteration/phases/tool-review-denials.test.js.map +0 -1
- package/dist/runtime/query/iteration/phases/working-memory-compaction.test.d.ts +0 -19
- package/dist/runtime/query/iteration/phases/working-memory-compaction.test.d.ts.map +0 -1
- package/dist/runtime/query/iteration/phases/working-memory-compaction.test.js +0 -188
- package/dist/runtime/query/iteration/phases/working-memory-compaction.test.js.map +0 -1
- package/dist/runtime/query/replay/__tests__/mutate.test.d.ts +0 -2
- package/dist/runtime/query/replay/__tests__/mutate.test.d.ts.map +0 -1
- package/dist/runtime/query/replay/__tests__/mutate.test.js +0 -123
- package/dist/runtime/query/replay/__tests__/mutate.test.js.map +0 -1
- package/dist/runtime/query/replay/__tests__/prepare.test.d.ts +0 -2
- package/dist/runtime/query/replay/__tests__/prepare.test.d.ts.map +0 -1
- package/dist/runtime/query/replay/__tests__/prepare.test.js +0 -171
- package/dist/runtime/query/replay/__tests__/prepare.test.js.map +0 -1
- package/dist/sandbox/__tests__/exec-cancellation.test.d.ts +0 -2
- package/dist/sandbox/__tests__/exec-cancellation.test.d.ts.map +0 -1
- package/dist/sandbox/__tests__/exec-cancellation.test.js +0 -59
- package/dist/sandbox/__tests__/exec-cancellation.test.js.map +0 -1
- package/dist/sandbox/__tests__/isolation.test.d.ts +0 -2
- package/dist/sandbox/__tests__/isolation.test.d.ts.map +0 -1
- package/dist/sandbox/__tests__/isolation.test.js +0 -139
- package/dist/sandbox/__tests__/isolation.test.js.map +0 -1
- package/dist/sandbox/__tests__/output-truncation.test.d.ts +0 -2
- package/dist/sandbox/__tests__/output-truncation.test.d.ts.map +0 -1
- package/dist/sandbox/__tests__/output-truncation.test.js +0 -88
- package/dist/sandbox/__tests__/output-truncation.test.js.map +0 -1
- package/dist/sandbox/__tests__/resource-limits.test.d.ts +0 -2
- package/dist/sandbox/__tests__/resource-limits.test.d.ts.map +0 -1
- package/dist/sandbox/__tests__/resource-limits.test.js +0 -86
- package/dist/sandbox/__tests__/resource-limits.test.js.map +0 -1
- package/dist/session/__tests__/integration/_fixtures.d.ts +0 -122
- package/dist/session/__tests__/integration/_fixtures.d.ts.map +0 -1
- package/dist/session/__tests__/integration/_fixtures.js +0 -215
- package/dist/session/__tests__/integration/_fixtures.js.map +0 -1
- package/dist/session/__tests__/integration/a-successful-delegation-disposes-its-workspace.test.d.ts +0 -21
- package/dist/session/__tests__/integration/a-successful-delegation-disposes-its-workspace.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/a-successful-delegation-disposes-its-workspace.test.js +0 -205
- package/dist/session/__tests__/integration/a-successful-delegation-disposes-its-workspace.test.js.map +0 -1
- package/dist/session/__tests__/integration/archive-gate.test.d.ts +0 -15
- package/dist/session/__tests__/integration/archive-gate.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/archive-gate.test.js +0 -214
- package/dist/session/__tests__/integration/archive-gate.test.js.map +0 -1
- package/dist/session/__tests__/integration/capacity-caps.test.d.ts +0 -13
- package/dist/session/__tests__/integration/capacity-caps.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/capacity-caps.test.js +0 -123
- package/dist/session/__tests__/integration/capacity-caps.test.js.map +0 -1
- package/dist/session/__tests__/integration/e2e-spawn.test.d.ts +0 -18
- package/dist/session/__tests__/integration/e2e-spawn.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/e2e-spawn.test.js +0 -238
- package/dist/session/__tests__/integration/e2e-spawn.test.js.map +0 -1
- package/dist/session/__tests__/integration/event-stream-ordering.test.d.ts +0 -15
- package/dist/session/__tests__/integration/event-stream-ordering.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/event-stream-ordering.test.js +0 -330
- package/dist/session/__tests__/integration/event-stream-ordering.test.js.map +0 -1
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.d.ts +0 -12
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js +0 -182
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js.map +0 -1
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.d.ts +0 -18
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.js +0 -156
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.js.map +0 -1
- package/dist/session/__tests__/integration/handoff-single-e2e.test.d.ts +0 -15
- package/dist/session/__tests__/integration/handoff-single-e2e.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/handoff-single-e2e.test.js +0 -188
- package/dist/session/__tests__/integration/handoff-single-e2e.test.js.map +0 -1
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.d.ts +0 -12
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js +0 -158
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js.map +0 -1
- package/dist/session/__tests__/integration/migration-filesystem.test.d.ts +0 -11
- package/dist/session/__tests__/integration/migration-filesystem.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/migration-filesystem.test.js +0 -140
- package/dist/session/__tests__/integration/migration-filesystem.test.js.map +0 -1
- package/dist/session/__tests__/integration/migration-id-prefix.test.d.ts +0 -13
- package/dist/session/__tests__/integration/migration-id-prefix.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/migration-id-prefix.test.js +0 -84
- package/dist/session/__tests__/integration/migration-id-prefix.test.js.map +0 -1
- package/dist/session/__tests__/integration/prev-artifact-dag.test.d.ts +0 -14
- package/dist/session/__tests__/integration/prev-artifact-dag.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/prev-artifact-dag.test.js +0 -242
- package/dist/session/__tests__/integration/prev-artifact-dag.test.js.map +0 -1
- package/dist/session/__tests__/integration/retention-archive.test.d.ts +0 -12
- package/dist/session/__tests__/integration/retention-archive.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/retention-archive.test.js +0 -187
- package/dist/session/__tests__/integration/retention-archive.test.js.map +0 -1
- package/dist/session/__tests__/integration/spawn-rollback.test.d.ts +0 -26
- package/dist/session/__tests__/integration/spawn-rollback.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/spawn-rollback.test.js +0 -236
- package/dist/session/__tests__/integration/spawn-rollback.test.js.map +0 -1
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.d.ts +0 -18
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.js +0 -201
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.js.map +0 -1
- package/dist/session/__tests__/integration/tenant-isolation.test.d.ts +0 -14
- package/dist/session/__tests__/integration/tenant-isolation.test.d.ts.map +0 -1
- package/dist/session/__tests__/integration/tenant-isolation.test.js +0 -189
- package/dist/session/__tests__/integration/tenant-isolation.test.js.map +0 -1
- package/dist/session/handoff/__tests__/broadcast.test.d.ts +0 -2
- package/dist/session/handoff/__tests__/broadcast.test.d.ts.map +0 -1
- package/dist/session/handoff/__tests__/broadcast.test.js +0 -261
- package/dist/session/handoff/__tests__/broadcast.test.js.map +0 -1
- package/dist/session/handoff/__tests__/capacity.test.d.ts +0 -2
- package/dist/session/handoff/__tests__/capacity.test.d.ts.map +0 -1
- package/dist/session/handoff/__tests__/capacity.test.js +0 -103
- package/dist/session/handoff/__tests__/capacity.test.js.map +0 -1
- package/dist/session/handoff/__tests__/single.test.d.ts +0 -2
- package/dist/session/handoff/__tests__/single.test.d.ts.map +0 -1
- package/dist/session/handoff/__tests__/single.test.js +0 -239
- package/dist/session/handoff/__tests__/single.test.js.map +0 -1
- package/dist/session/intervention/__tests__/prev-artifact.test.d.ts +0 -2
- package/dist/session/intervention/__tests__/prev-artifact.test.d.ts.map +0 -1
- package/dist/session/intervention/__tests__/prev-artifact.test.js +0 -179
- package/dist/session/intervention/__tests__/prev-artifact.test.js.map +0 -1
- package/dist/session/migration/__tests__/a-migrated-project-id-is-an-id.test.d.ts +0 -2
- package/dist/session/migration/__tests__/a-migrated-project-id-is-an-id.test.d.ts.map +0 -1
- package/dist/session/migration/__tests__/a-migrated-project-id-is-an-id.test.js +0 -75
- package/dist/session/migration/__tests__/a-migrated-project-id-is-an-id.test.js.map +0 -1
- package/dist/session/migration/__tests__/filesystem.test.d.ts +0 -2
- package/dist/session/migration/__tests__/filesystem.test.d.ts.map +0 -1
- package/dist/session/migration/__tests__/filesystem.test.js +0 -192
- package/dist/session/migration/__tests__/filesystem.test.js.map +0 -1
- package/dist/session/migration/__tests__/id-prefix.test.d.ts +0 -2
- package/dist/session/migration/__tests__/id-prefix.test.d.ts.map +0 -1
- package/dist/session/migration/__tests__/id-prefix.test.js +0 -83
- package/dist/session/migration/__tests__/id-prefix.test.js.map +0 -1
- package/dist/session/migration/__tests__/marker.test.d.ts +0 -2
- package/dist/session/migration/__tests__/marker.test.d.ts.map +0 -1
- package/dist/session/migration/__tests__/marker.test.js +0 -75
- package/dist/session/migration/__tests__/marker.test.js.map +0 -1
- package/dist/session/retention/__tests__/archive.test.d.ts +0 -2
- package/dist/session/retention/__tests__/archive.test.d.ts.map +0 -1
- package/dist/session/retention/__tests__/archive.test.js +0 -253
- package/dist/session/retention/__tests__/archive.test.js.map +0 -1
- package/dist/session/retention/__tests__/disk-backend.test.d.ts +0 -2
- package/dist/session/retention/__tests__/disk-backend.test.d.ts.map +0 -1
- package/dist/session/retention/__tests__/disk-backend.test.js +0 -154
- package/dist/session/retention/__tests__/disk-backend.test.js.map +0 -1
- package/dist/session/status/__tests__/derive.test.d.ts +0 -2
- package/dist/session/status/__tests__/derive.test.d.ts.map +0 -1
- package/dist/session/status/__tests__/derive.test.js +0 -69
- package/dist/session/status/__tests__/derive.test.js.map +0 -1
- package/dist/session/summary/__tests__/materialize.test.d.ts +0 -2
- package/dist/session/summary/__tests__/materialize.test.d.ts.map +0 -1
- package/dist/session/summary/__tests__/materialize.test.js +0 -271
- package/dist/session/summary/__tests__/materialize.test.js.map +0 -1
- package/dist/session/workspace/__tests__/git-worktree.test.d.ts +0 -2
- package/dist/session/workspace/__tests__/git-worktree.test.d.ts.map +0 -1
- package/dist/session/workspace/__tests__/git-worktree.test.js +0 -248
- package/dist/session/workspace/__tests__/git-worktree.test.js.map +0 -1
- package/dist/session/workspace/__tests__/path-builder.test.d.ts +0 -2
- package/dist/session/workspace/__tests__/path-builder.test.d.ts.map +0 -1
- package/dist/session/workspace/__tests__/path-builder.test.js +0 -37
- package/dist/session/workspace/__tests__/path-builder.test.js.map +0 -1
- package/dist/session/workspace/__tests__/shared-run.test.d.ts +0 -2
- package/dist/session/workspace/__tests__/shared-run.test.d.ts.map +0 -1
- package/dist/session/workspace/__tests__/shared-run.test.js +0 -162
- package/dist/session/workspace/__tests__/shared-run.test.js.map +0 -1
- package/dist/skills/__tests__/frontmatter.test.d.ts +0 -2
- package/dist/skills/__tests__/frontmatter.test.d.ts.map +0 -1
- package/dist/skills/__tests__/frontmatter.test.js +0 -106
- package/dist/skills/__tests__/frontmatter.test.js.map +0 -1
- package/dist/skills/loader.test.d.ts +0 -2
- package/dist/skills/loader.test.d.ts.map +0 -1
- package/dist/skills/loader.test.js +0 -65
- package/dist/skills/loader.test.js.map +0 -1
- package/dist/store/__tests__/checkpoint-integrity.test.d.ts +0 -2
- package/dist/store/__tests__/checkpoint-integrity.test.d.ts.map +0 -1
- package/dist/store/__tests__/checkpoint-integrity.test.js +0 -112
- package/dist/store/__tests__/checkpoint-integrity.test.js.map +0 -1
- package/dist/store/__tests__/checkpoint-versioning.test.d.ts +0 -2
- package/dist/store/__tests__/checkpoint-versioning.test.d.ts.map +0 -1
- package/dist/store/__tests__/checkpoint-versioning.test.js +0 -151
- package/dist/store/__tests__/checkpoint-versioning.test.js.map +0 -1
- package/dist/store/__tests__/schema-adoption.test.d.ts +0 -2
- package/dist/store/__tests__/schema-adoption.test.d.ts.map +0 -1
- package/dist/store/__tests__/schema-adoption.test.js +0 -90
- package/dist/store/__tests__/schema-adoption.test.js.map +0 -1
- package/dist/store/__tests__/schema.test.d.ts +0 -2
- package/dist/store/__tests__/schema.test.d.ts.map +0 -1
- package/dist/store/__tests__/schema.test.js +0 -93
- package/dist/store/__tests__/schema.test.js.map +0 -1
- package/dist/store/session/__tests__/a-session-has-one-writer.test.d.ts +0 -2
- package/dist/store/session/__tests__/a-session-has-one-writer.test.d.ts.map +0 -1
- package/dist/store/session/__tests__/a-session-has-one-writer.test.js +0 -79
- package/dist/store/session/__tests__/a-session-has-one-writer.test.js.map +0 -1
- package/dist/store/session/__tests__/a-workspace-can-be-configured.test.d.ts +0 -2
- package/dist/store/session/__tests__/a-workspace-can-be-configured.test.d.ts.map +0 -1
- package/dist/store/session/__tests__/a-workspace-can-be-configured.test.js +0 -149
- package/dist/store/session/__tests__/a-workspace-can-be-configured.test.js.map +0 -1
- package/dist/store/session/__tests__/disk.test.d.ts +0 -2
- package/dist/store/session/__tests__/disk.test.d.ts.map +0 -1
- package/dist/store/session/__tests__/disk.test.js +0 -267
- package/dist/store/session/__tests__/disk.test.js.map +0 -1
- package/dist/store/session/__tests__/memory.test.d.ts +0 -2
- package/dist/store/session/__tests__/memory.test.d.ts.map +0 -1
- package/dist/store/session/__tests__/memory.test.js +0 -258
- package/dist/store/session/__tests__/memory.test.js.map +0 -1
- package/dist/store/task/__tests__/an-edge-that-already-exists-is-not-news.test.d.ts +0 -2
- package/dist/store/task/__tests__/an-edge-that-already-exists-is-not-news.test.d.ts.map +0 -1
- package/dist/store/task/__tests__/an-edge-that-already-exists-is-not-news.test.js +0 -95
- package/dist/store/task/__tests__/an-edge-that-already-exists-is-not-news.test.js.map +0 -1
- package/dist/store/task/__tests__/disk-concurrency.test.d.ts +0 -2
- package/dist/store/task/__tests__/disk-concurrency.test.d.ts.map +0 -1
- package/dist/store/task/__tests__/disk-concurrency.test.js +0 -91
- package/dist/store/task/__tests__/disk-concurrency.test.js.map +0 -1
- package/dist/store/task/__tests__/lookup-across-runs.test.d.ts +0 -2
- package/dist/store/task/__tests__/lookup-across-runs.test.d.ts.map +0 -1
- package/dist/store/task/__tests__/lookup-across-runs.test.js +0 -60
- package/dist/store/task/__tests__/lookup-across-runs.test.js.map +0 -1
- package/dist/streaming/coalesce.test.d.ts +0 -19
- package/dist/streaming/coalesce.test.d.ts.map +0 -1
- package/dist/streaming/coalesce.test.js +0 -120
- package/dist/streaming/coalesce.test.js.map +0 -1
- package/dist/telemetry/__tests__/latency-instruments.test.d.ts +0 -2
- package/dist/telemetry/__tests__/latency-instruments.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/latency-instruments.test.js +0 -82
- package/dist/telemetry/__tests__/latency-instruments.test.js.map +0 -1
- package/dist/telemetry/__tests__/metrics.test.d.ts +0 -2
- package/dist/telemetry/__tests__/metrics.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/metrics.test.js +0 -112
- package/dist/telemetry/__tests__/metrics.test.js.map +0 -1
- package/dist/telemetry/__tests__/model-call-span.test.d.ts +0 -2
- package/dist/telemetry/__tests__/model-call-span.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/model-call-span.test.js +0 -170
- package/dist/telemetry/__tests__/model-call-span.test.js.map +0 -1
- package/dist/telemetry/__tests__/span-closure.test.d.ts +0 -2
- package/dist/telemetry/__tests__/span-closure.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/span-closure.test.js +0 -131
- package/dist/telemetry/__tests__/span-closure.test.js.map +0 -1
- package/dist/telemetry/__tests__/span-hierarchy.test.d.ts +0 -2
- package/dist/telemetry/__tests__/span-hierarchy.test.d.ts.map +0 -1
- package/dist/telemetry/__tests__/span-hierarchy.test.js +0 -84
- package/dist/telemetry/__tests__/span-hierarchy.test.js.map +0 -1
- package/dist/test-setup.d.ts +0 -22
- package/dist/test-setup.d.ts.map +0 -1
- package/dist/test-setup.js +0 -23
- package/dist/test-setup.js.map +0 -1
- package/dist/tools/__tests__/file-tool-containment.test.d.ts +0 -2
- package/dist/tools/__tests__/file-tool-containment.test.d.ts.map +0 -1
- package/dist/tools/__tests__/file-tool-containment.test.js +0 -134
- package/dist/tools/__tests__/file-tool-containment.test.js.map +0 -1
- package/dist/tools/__tests__/path-containment.test.d.ts +0 -2
- package/dist/tools/__tests__/path-containment.test.d.ts.map +0 -1
- package/dist/tools/__tests__/path-containment.test.js +0 -133
- package/dist/tools/__tests__/path-containment.test.js.map +0 -1
- package/dist/tools/__tests__/posix-path.test.d.ts +0 -2
- package/dist/tools/__tests__/posix-path.test.d.ts.map +0 -1
- package/dist/tools/__tests__/posix-path.test.js +0 -67
- package/dist/tools/__tests__/posix-path.test.js.map +0 -1
- package/dist/tools/__tests__/sandboxed-search.test.d.ts +0 -2
- package/dist/tools/__tests__/sandboxed-search.test.d.ts.map +0 -1
- package/dist/tools/__tests__/sandboxed-search.test.js +0 -165
- package/dist/tools/__tests__/sandboxed-search.test.js.map +0 -1
- package/dist/tools/__tests__/untrusted-envelope.test.d.ts +0 -2
- package/dist/tools/__tests__/untrusted-envelope.test.d.ts.map +0 -1
- package/dist/tools/__tests__/untrusted-envelope.test.js +0 -71
- package/dist/tools/__tests__/untrusted-envelope.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/bash.proc-test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/bash.proc-test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/bash.proc-test.js +0 -115
- package/dist/tools/builtins/__tests__/bash.proc-test.js.map +0 -1
- package/dist/tools/builtins/__tests__/bash.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/bash.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/bash.test.js +0 -65
- package/dist/tools/builtins/__tests__/bash.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/computer-use.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/computer-use.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/computer-use.test.js +0 -156
- package/dist/tools/builtins/__tests__/computer-use.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/edit-commits-atomically.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/edit-commits-atomically.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/edit-commits-atomically.test.js +0 -78
- package/dist/tools/builtins/__tests__/edit-commits-atomically.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/edit-insert-reachable.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/edit-insert-reachable.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/edit-insert-reachable.test.js +0 -120
- package/dist/tools/builtins/__tests__/edit-insert-reachable.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/edit.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/edit.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/edit.test.js +0 -286
- package/dist/tools/builtins/__tests__/edit.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/payload-budget.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/payload-budget.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/payload-budget.test.js +0 -70
- package/dist/tools/builtins/__tests__/payload-budget.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/read-file.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/read-file.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/read-file.test.js +0 -55
- package/dist/tools/builtins/__tests__/read-file.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/stale-file-refusal.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/stale-file-refusal.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/stale-file-refusal.test.js +0 -187
- package/dist/tools/builtins/__tests__/stale-file-refusal.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/structuredOutput.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/structuredOutput.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/structuredOutput.test.js +0 -224
- package/dist/tools/builtins/__tests__/structuredOutput.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/verify-outputs.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/verify-outputs.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/verify-outputs.test.js +0 -52
- package/dist/tools/builtins/__tests__/verify-outputs.test.js.map +0 -1
- package/dist/tools/builtins/__tests__/write-file.test.d.ts +0 -2
- package/dist/tools/builtins/__tests__/write-file.test.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/write-file.test.js +0 -133
- package/dist/tools/builtins/__tests__/write-file.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.js +0 -101
- package/dist/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.js +0 -139
- package/dist/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.js +0 -160
- package/dist/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/agent.test.d.ts +0 -15
- package/dist/tools/coordinator/__tests__/agent.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/agent.test.js +0 -147
- package/dist/tools/coordinator/__tests__/agent.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/allow-delegation.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/allow-delegation.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/allow-delegation.test.js +0 -94
- package/dist/tools/coordinator/__tests__/allow-delegation.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/an-approver-is-never-shown-an-impossible-step.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/an-approver-is-never-shown-an-impossible-step.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/an-approver-is-never-shown-an-impossible-step.test.js +0 -115
- package/dist/tools/coordinator/__tests__/an-approver-is-never-shown-an-impossible-step.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/approve-plan.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/approve-plan.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/approve-plan.test.js +0 -129
- package/dist/tools/coordinator/__tests__/approve-plan.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/ask-user-question.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/ask-user-question.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/ask-user-question.test.js +0 -411
- package/dist/tools/coordinator/__tests__/ask-user-question.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/completion-delivery.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/completion-delivery.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/completion-delivery.test.js +0 -376
- package/dist/tools/coordinator/__tests__/completion-delivery.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/empty-roster.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/empty-roster.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/empty-roster.test.js +0 -97
- package/dist/tools/coordinator/__tests__/empty-roster.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/plan-dependencies.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/plan-dependencies.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/plan-dependencies.test.js +0 -126
- package/dist/tools/coordinator/__tests__/plan-dependencies.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/task-list.test.d.ts +0 -13
- package/dist/tools/coordinator/__tests__/task-list.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/task-list.test.js +0 -268
- package/dist/tools/coordinator/__tests__/task-list.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/the-plan-a-human-approves.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/the-plan-a-human-approves.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/the-plan-a-human-approves.test.js +0 -99
- package/dist/tools/coordinator/__tests__/the-plan-a-human-approves.test.js.map +0 -1
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.d.ts +0 -2
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.d.ts.map +0 -1
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.js +0 -193
- package/dist/tools/coordinator/__tests__/wait-with-idle-bound.test.js.map +0 -1
- package/dist/types/common/__tests__/numeric-correctness.test.d.ts +0 -2
- package/dist/types/common/__tests__/numeric-correctness.test.d.ts.map +0 -1
- package/dist/types/common/__tests__/numeric-correctness.test.js +0 -108
- package/dist/types/common/__tests__/numeric-correctness.test.js.map +0 -1
- package/dist/types/common/usage-merge.test.d.ts +0 -2
- package/dist/types/common/usage-merge.test.d.ts.map +0 -1
- package/dist/types/common/usage-merge.test.js +0 -48
- package/dist/types/common/usage-merge.test.js.map +0 -1
- package/dist/types/errors/__tests__/catalog.test.d.ts +0 -2
- package/dist/types/errors/__tests__/catalog.test.d.ts.map +0 -1
- package/dist/types/errors/__tests__/catalog.test.js +0 -106
- package/dist/types/errors/__tests__/catalog.test.js.map +0 -1
- package/dist/types/errors/__tests__/errors.test.d.ts +0 -2
- package/dist/types/errors/__tests__/errors.test.d.ts.map +0 -1
- package/dist/types/errors/__tests__/errors.test.js +0 -104
- package/dist/types/errors/__tests__/errors.test.js.map +0 -1
- package/dist/types/invocation/__tests__/state.test.d.ts +0 -2
- package/dist/types/invocation/__tests__/state.test.d.ts.map +0 -1
- package/dist/types/invocation/__tests__/state.test.js +0 -174
- package/dist/types/invocation/__tests__/state.test.js.map +0 -1
- package/dist/types/provider/__tests__/cause-chain.test.d.ts +0 -2
- package/dist/types/provider/__tests__/cause-chain.test.d.ts.map +0 -1
- package/dist/types/provider/__tests__/cause-chain.test.js +0 -108
- package/dist/types/provider/__tests__/cause-chain.test.js.map +0 -1
- package/dist/types/provider/__tests__/declared-retryable.test.d.ts +0 -2
- package/dist/types/provider/__tests__/declared-retryable.test.d.ts.map +0 -1
- package/dist/types/provider/__tests__/declared-retryable.test.js +0 -70
- package/dist/types/provider/__tests__/declared-retryable.test.js.map +0 -1
- package/dist/types/provider/__tests__/overflow-classification.test.d.ts +0 -2
- package/dist/types/provider/__tests__/overflow-classification.test.d.ts.map +0 -1
- package/dist/types/provider/__tests__/overflow-classification.test.js +0 -80
- package/dist/types/provider/__tests__/overflow-classification.test.js.map +0 -1
- package/dist/types/run/__tests__/step.test.d.ts +0 -2
- package/dist/types/run/__tests__/step.test.d.ts.map +0 -1
- package/dist/types/run/__tests__/step.test.js +0 -107
- package/dist/types/run/__tests__/step.test.js.map +0 -1
- package/dist/utils/__tests__/abort-reason.test.d.ts +0 -2
- package/dist/utils/__tests__/abort-reason.test.d.ts.map +0 -1
- package/dist/utils/__tests__/abort-reason.test.js +0 -48
- package/dist/utils/__tests__/abort-reason.test.js.map +0 -1
- package/dist/utils/__tests__/atomic-write.test.d.ts +0 -2
- package/dist/utils/__tests__/atomic-write.test.d.ts.map +0 -1
- package/dist/utils/__tests__/atomic-write.test.js +0 -91
- package/dist/utils/__tests__/atomic-write.test.js.map +0 -1
- package/dist/utils/__tests__/shell-compress.test.d.ts +0 -2
- package/dist/utils/__tests__/shell-compress.test.d.ts.map +0 -1
- package/dist/utils/__tests__/shell-compress.test.js +0 -41
- package/dist/utils/__tests__/shell-compress.test.js.map +0 -1
- package/dist/vault/instrumentation.test.d.ts +0 -2
- package/dist/vault/instrumentation.test.d.ts.map +0 -1
- package/dist/vault/instrumentation.test.js +0 -80
- package/dist/vault/instrumentation.test.js.map +0 -1
- package/dist/verification/__tests__/argument-pattern.test.d.ts +0 -2
- package/dist/verification/__tests__/argument-pattern.test.d.ts.map +0 -1
- package/dist/verification/__tests__/argument-pattern.test.js +0 -122
- package/dist/verification/__tests__/argument-pattern.test.js.map +0 -1
- package/dist/verification/__tests__/rule-order-and-reason.test.d.ts +0 -2
- package/dist/verification/__tests__/rule-order-and-reason.test.d.ts.map +0 -1
- package/dist/verification/__tests__/rule-order-and-reason.test.js +0 -126
- package/dist/verification/__tests__/rule-order-and-reason.test.js.map +0 -1
- package/dist/verification/presets.test.d.ts +0 -16
- package/dist/verification/presets.test.d.ts.map +0 -1
- package/dist/verification/presets.test.js +0 -79
- package/dist/verification/presets.test.js.map +0 -1
- package/src/__tests__/default-path-conformance.test.ts +0 -306
- package/src/__tests__/replay-public-surface.test.ts +0 -54
- package/src/__tests__/shipped-defaults.test.ts +0 -111
- package/src/advisory/__tests__/budget-enforcement.test.ts +0 -208
- package/src/advisory/__tests__/consultation-context.test.ts +0 -191
- package/src/advisory/__tests__/structured-response.test.ts +0 -128
- package/src/advisory/context.test.ts +0 -109
- package/src/advisory/evaluator.test.ts +0 -192
- package/src/advisory/executor.test.ts +0 -301
- package/src/advisory/registry.test.ts +0 -75
- package/src/agents/__tests__/a-policy-nobody-can-select.test.ts +0 -202
- package/src/agents/__tests__/idempotency-key.test.ts +0 -177
- package/src/agents/__tests__/invocation-lock.test.ts +0 -154
- package/src/agents/__tests__/lock.test.ts +0 -158
- package/src/agents/__tests__/reachability.test.ts +0 -224
- package/src/agents/__tests__/run-agent-forwarding.test.ts +0 -85
- package/src/agents/__tests__/run-agent.test.ts +0 -165
- package/src/agents/__tests__/run-completed-stop-reason.test.ts +0 -59
- package/src/agents/__tests__/supervisor-coordinator-registration.test.ts +0 -185
- package/src/agents/__tests__/supervisor-hands-down-hitl.test.ts +0 -131
- package/src/agents/__tests__/supervisor-inbox-scope.test.ts +0 -149
- package/src/agents/__tests__/supervisor-ledger.test.ts +0 -185
- package/src/bridge/a2a/__tests__/project-is-the-a2a-context.test.ts +0 -66
- package/src/bridge/a2a/agent-card.test.ts +0 -140
- package/src/bridge/a2a/late-events.test.ts +0 -84
- package/src/bridge/a2a/mapper.test.ts +0 -319
- package/src/bridge/a2a/message.test.ts +0 -138
- package/src/bridge/a2a/task.test.ts +0 -235
- package/src/bridge/mcp/connector/adapter.test.ts +0 -230
- package/src/bridge/sse/late-events.test.ts +0 -182
- package/src/bridge/sse/mapper.test.ts +0 -550
- package/src/bridge/tools/connector/adapter.test.ts +0 -224
- package/src/bridge/tools/connector/definitions.test.ts +0 -183
- package/src/bridge/tools/connector/router.test.ts +0 -159
- package/src/bus/breaker.test.ts +0 -274
- package/src/bus/index.test.ts +0 -183
- package/src/bus/lock.test.ts +0 -265
- package/src/bus/ownership.test.ts +0 -243
- package/src/compaction/__tests__/SlidingWindowManager.test.ts +0 -139
- package/src/compaction/__tests__/cleared-result-recovery.test.ts +0 -118
- package/src/compaction/__tests__/context-reducer.test.ts +0 -239
- package/src/compaction/__tests__/context-window.test.ts +0 -77
- package/src/compaction/__tests__/dangling.test.ts +0 -457
- package/src/compaction/__tests__/factory.test.ts +0 -53
- package/src/compaction/__tests__/lossiness.test.ts +0 -187
- package/src/compaction/__tests__/state-across-resume.test.ts +0 -99
- package/src/compaction/__tests__/tool-result-editing.test.ts +0 -213
- package/src/compaction/__tests__/trim-opens-on-user.test.ts +0 -118
- package/src/compaction/__tests__/verifier-empty-reply.test.ts +0 -96
- package/src/compaction/__tests__/verifier-model.test.ts +0 -83
- package/src/config/__tests__/compaction-budget-schema.test.ts +0 -114
- package/src/connector/BaseConnector.test.ts +0 -130
- package/src/connector/builtins/__tests__/oauth2-auth.test.ts +0 -73
- package/src/connector/builtins/http.test.ts +0 -329
- package/src/connector/builtins/webhook.test.ts +0 -159
- package/src/connector/execution/factory.test.ts +0 -75
- package/src/connector/execution/remote.test.ts +0 -63
- package/src/connector/mcp/__tests__/a-close-that-means-closed.test.ts +0 -119
- package/src/connector/mcp/__tests__/a-transport-forgets-its-listeners.test.ts +0 -127
- package/src/connector/mcp/__tests__/discovery-policy.test.ts +0 -133
- package/src/connector/mcp/__tests__/list-pagination.test.ts +0 -98
- package/src/connector/mcp/__tests__/policy.test.ts +0 -100
- package/src/connector/mcp/__tests__/positional-arrays.test.ts +0 -183
- package/src/connector/mcp/__tests__/prompt-as-tool.test.ts +0 -157
- package/src/connector/mcp/__tests__/prompts-and-lifecycle.test.ts +0 -286
- package/src/connector/mcp/__tests__/protocol-negotiation.test.ts +0 -105
- package/src/connector/mcp/__tests__/schema-fidelity.test.ts +0 -250
- package/src/connector/mcp/__tests__/structured-result.test.ts +0 -143
- package/src/connector/mcp/adapter.test.ts +0 -249
- package/src/connector/mcp/client.test.ts +0 -159
- package/src/connector/mcp/streamable-http.test.ts +0 -169
- package/src/constants/tools/__tests__/dangerous-patterns.test.ts +0 -62
- package/src/contracts/__tests__/an-id-the-sdk-mints-passes-its-own-schema.test.ts +0 -84
- package/src/directory/__tests__/derive.test.ts +0 -135
- package/src/directory/__tests__/load-diagnostics.test.ts +0 -126
- package/src/directory/__tests__/load-directory.test.ts +0 -243
- package/src/directory/__tests__/subagents.test.ts +0 -155
- package/src/directory/__tests__/supervisor-budget.test.ts +0 -117
- package/src/eval/__tests__/case-deadline.test.ts +0 -147
- package/src/eval/__tests__/end-to-end.test.ts +0 -259
- package/src/eval/__tests__/harness-honesty.test.ts +0 -99
- package/src/eval/__tests__/harness.test.ts +0 -249
- package/src/eval/__tests__/judge.test.ts +0 -306
- package/src/eval/__tests__/scorer-gates.test.ts +0 -156
- package/src/execution/local.test.ts +0 -46
- package/src/gateway/__tests__/a-gateway-that-forgets-the-oldest.test.ts +0 -130
- package/src/gateway/__tests__/a-knob-nobody-can-turn.test.ts +0 -139
- package/src/gateway/__tests__/a-progress-tee-cannot-name-a-task-that-does-not-exist.test.ts +0 -175
- package/src/gateway/__tests__/completion-inbox.test.ts +0 -689
- package/src/gateway/__tests__/list-survives-eviction.test.ts +0 -124
- package/src/manager/agent/__tests__/a-fan-out-to-one-agent-id.test.ts +0 -118
- package/src/manager/agent/__tests__/an-env-reaches-the-child-it-was-set-for.test.ts +0 -196
- package/src/manager/agent/__tests__/depth-limit-authority.test.ts +0 -74
- package/src/manager/agent/__tests__/dispose-cancels.test.ts +0 -104
- package/src/manager/agent/__tests__/hitl-across-spawn.test.ts +0 -273
- package/src/manager/agent/__tests__/lifecycle.test.ts +0 -844
- package/src/manager/plan/__tests__/a-plan-that-succeeded-is-not-failed.test.ts +0 -88
- package/src/manager/project/__tests__/a-closed-workspace-takes-no-work.test.ts +0 -314
- package/src/manager/thread/__tests__/lifecycle.test.ts +0 -286
- package/src/plugin/__tests__/discovery-scopes.test.ts +0 -133
- package/src/plugin/__tests__/enable-contributions.test.ts +0 -299
- package/src/plugin/__tests__/hook-ordering.test.ts +0 -252
- package/src/plugin/__tests__/install-time-refusal.test.ts +0 -68
- package/src/plugin/__tests__/lifecycle.test.ts +0 -496
- package/src/plugin/__tests__/mcp-admission.test.ts +0 -286
- package/src/plugin/__tests__/path-containment.test.ts +0 -107
- package/src/probe/registry.test.ts +0 -523
- package/src/provider/__tests__/errors.test.ts +0 -85
- package/src/provider/__tests__/mock-script.test.ts +0 -179
- package/src/provider/__tests__/model-version.test.ts +0 -93
- package/src/provider/__tests__/registry.test.ts +0 -420
- package/src/provider/__tests__/retry-visibility.test.ts +0 -160
- package/src/provider/__tests__/retry.test.ts +0 -296
- package/src/provider/__tests__/strict-schema.test.ts +0 -189
- package/src/provider/__tests__/thinking-support.test.ts +0 -60
- package/src/provider/__tests__/typed-error-classification.test.ts +0 -143
- package/src/provider/__tests__/vendor-detail.test.ts +0 -107
- package/src/provider/collect.test.ts +0 -142
- package/src/provider/instrumentation.test.ts +0 -173
- package/src/rag/__tests__/namespace-isolation.test.ts +0 -109
- package/src/rag/__tests__/retrieval-math.test.ts +0 -54
- package/src/rag/chunking.test.ts +0 -107
- package/src/rag/context-assembler.test.ts +0 -114
- package/src/rag/embedding.test.ts +0 -185
- package/src/rag/ingestion.test.ts +0 -114
- package/src/rag/knowledge-base.test.ts +0 -106
- package/src/rag/rag-tool.test.ts +0 -167
- package/src/rag/retriever.test.ts +0 -210
- package/src/rag/vector-store.test.ts +0 -196
- package/src/registry/ManagedRegistry.test.ts +0 -118
- package/src/registry/Registry.test.ts +0 -91
- package/src/registry/agent/definitions.test.ts +0 -100
- package/src/registry/connector/definitions.test.ts +0 -51
- package/src/registry/connector/scoped.test.ts +0 -129
- package/src/registry/plugin/index.test.ts +0 -85
- package/src/registry/tool/__tests__/dialect.test.ts +0 -200
- package/src/registry/tool/__tests__/schema.test.ts +0 -208
- package/src/registry/tool/__tests__/strict-registration.test.ts +0 -115
- package/src/registry/tool/__tests__/tool-name-validation.test.ts +0 -88
- package/src/registry/tool/execute.test.ts +0 -648
- package/src/registry/toolset/catalog.test.ts +0 -282
- package/src/run/LimitChecker.test.ts +0 -32
- package/src/runtime/bidi/__tests__/session.test.ts +0 -232
- package/src/runtime/decision/parser.test.ts +0 -46
- package/src/runtime/query/__tests__/a-plan-that-succeeded-says-so.test.ts +0 -109
- package/src/runtime/query/__tests__/a-settled-plan-reaches-the-host.test.ts +0 -122
- package/src/runtime/query/__tests__/answer-review.test.ts +0 -172
- package/src/runtime/query/__tests__/capability-negotiation.test.ts +0 -301
- package/src/runtime/query/__tests__/checkpoint-store.test.ts +0 -285
- package/src/runtime/query/__tests__/checkpoint.test.ts +0 -170
- package/src/runtime/query/__tests__/citations.test.ts +0 -111
- package/src/runtime/query/__tests__/completion-does-not-erase-the-answer.test.ts +0 -163
- package/src/runtime/query/__tests__/completion-notification.test.ts +0 -648
- package/src/runtime/query/__tests__/content-budget.test.ts +0 -83
- package/src/runtime/query/__tests__/context-size-on-the-wire.test.ts +0 -122
- package/src/runtime/query/__tests__/context.test.ts +0 -127
- package/src/runtime/query/__tests__/deferred-tools.test.ts +0 -216
- package/src/runtime/query/__tests__/delegation-resume.test.ts +0 -159
- package/src/runtime/query/__tests__/document-attachments.test.ts +0 -125
- package/src/runtime/query/__tests__/durable-park-and-trace.test.ts +0 -245
- package/src/runtime/query/__tests__/durable-question-park.test.ts +0 -305
- package/src/runtime/query/__tests__/durable-run-state.test.ts +0 -194
- package/src/runtime/query/__tests__/effort-reaches-the-wire.test.ts +0 -135
- package/src/runtime/query/__tests__/executor-concurrency.test.ts +0 -122
- package/src/runtime/query/__tests__/executor-plugin-hooks.test.ts +0 -354
- package/src/runtime/query/__tests__/finish-reason-vs-tool-calls.test.ts +0 -206
- package/src/runtime/query/__tests__/grant-cannot-overrule-the-gate.test.ts +0 -115
- package/src/runtime/query/__tests__/guardrails-e2e.test.ts +0 -164
- package/src/runtime/query/__tests__/guardrails.test.ts +0 -236
- package/src/runtime/query/__tests__/hook-model-visibility.test.ts +0 -143
- package/src/runtime/query/__tests__/long-document-flow.test.ts +0 -187
- package/src/runtime/query/__tests__/memory-promotion.test.ts +0 -148
- package/src/runtime/query/__tests__/orphan-task-turn-end.test.ts +0 -101
- package/src/runtime/query/__tests__/overflow-relief.test.ts +0 -139
- package/src/runtime/query/__tests__/partial-batch-resume.test.ts +0 -264
- package/src/runtime/query/__tests__/per-step-skills.test.ts +0 -154
- package/src/runtime/query/__tests__/per-step-tool-choice.test.ts +0 -180
- package/src/runtime/query/__tests__/plugin-hooks.test.ts +0 -27
- package/src/runtime/query/__tests__/prepare-step-chain.test.ts +0 -127
- package/src/runtime/query/__tests__/prepare-step.test.ts +0 -233
- package/src/runtime/query/__tests__/probe-veto-is-error.test.ts +0 -145
- package/src/runtime/query/__tests__/prompt.test.ts +0 -91
- package/src/runtime/query/__tests__/provider-fault-pauses.test.ts +0 -104
- package/src/runtime/query/__tests__/reasoning-stream.test.ts +0 -177
- package/src/runtime/query/__tests__/recoverable-settle.test.ts +0 -145
- package/src/runtime/query/__tests__/resume-budget.test.ts +0 -158
- package/src/runtime/query/__tests__/resume-pending.test.ts +0 -273
- package/src/runtime/query/__tests__/resume-run.test.ts +0 -262
- package/src/runtime/query/__tests__/rich-content-budget-wiring.test.ts +0 -109
- package/src/runtime/query/__tests__/run-survives-its-own-park.proc-test.ts +0 -127
- package/src/runtime/query/__tests__/steering-reaches-the-model.test.ts +0 -117
- package/src/runtime/query/__tests__/steering.test.ts +0 -121
- package/src/runtime/query/__tests__/step-allow-list.test.ts +0 -205
- package/src/runtime/query/__tests__/stop-condition.test.ts +0 -265
- package/src/runtime/query/__tests__/stream-recovery.test.ts +0 -230
- package/src/runtime/query/__tests__/structured-output.test.ts +0 -268
- package/src/runtime/query/__tests__/structured-run-failure.test.ts +0 -144
- package/src/runtime/query/__tests__/terminal-tool.test.ts +0 -148
- package/src/runtime/query/__tests__/the-other-approval-surface-names-the-agent.test.ts +0 -95
- package/src/runtime/query/__tests__/the-plan-graph-reaches-a-host.test.ts +0 -79
- package/src/runtime/query/__tests__/tool-grants.test.ts +0 -102
- package/src/runtime/query/__tests__/tool-output-budget.test.ts +0 -0
- package/src/runtime/query/__tests__/tool-pause.test.ts +0 -209
- package/src/runtime/query/__tests__/tool-progress.test.ts +0 -154
- package/src/runtime/query/__tests__/tool-repair-retry.test.ts +0 -255
- package/src/runtime/query/__tests__/tool-result-wire.test.ts +0 -135
- package/src/runtime/query/__tests__/tool-timeout.test.ts +0 -268
- package/src/runtime/query/__tests__/trace-parenting.test.ts +0 -128
- package/src/runtime/query/__tests__/wiring-seams.test.ts +0 -288
- package/src/runtime/query/iteration/__tests__/cancel-settles-turn.test.ts +0 -177
- package/src/runtime/query/iteration/__tests__/settle-grace.test.ts +0 -265
- package/src/runtime/query/iteration/phases/__tests__/compaction-declined.test.ts +0 -124
- package/src/runtime/query/iteration/phases/advisory.test.ts +0 -415
- package/src/runtime/query/iteration/phases/compaction-model-routing.test.ts +0 -125
- package/src/runtime/query/iteration/phases/compaction-safe-cut.test.ts +0 -188
- package/src/runtime/query/iteration/phases/context-measurement.test.ts +0 -196
- package/src/runtime/query/iteration/phases/context-reducer-dispatch.test.ts +0 -238
- package/src/runtime/query/iteration/phases/hitl-abort-race.test.ts +0 -86
- package/src/runtime/query/iteration/phases/hitl-answer-question.test.ts +0 -141
- package/src/runtime/query/iteration/phases/overflow-escalation.test.ts +0 -167
- package/src/runtime/query/iteration/phases/retained-messages.test.ts +0 -226
- package/src/runtime/query/iteration/phases/tool-review-denials.test.ts +0 -270
- package/src/runtime/query/iteration/phases/working-memory-compaction.test.ts +0 -227
- package/src/runtime/query/replay/__tests__/mutate.test.ts +0 -134
- package/src/runtime/query/replay/__tests__/prepare.test.ts +0 -207
- package/src/sandbox/__tests__/exec-cancellation.test.ts +0 -72
- package/src/sandbox/__tests__/isolation.test.ts +0 -164
- package/src/sandbox/__tests__/output-truncation.test.ts +0 -106
- package/src/sandbox/__tests__/resource-limits.test.ts +0 -106
- package/src/session/__tests__/integration/_fixtures.ts +0 -310
- package/src/session/__tests__/integration/a-successful-delegation-disposes-its-workspace.test.ts +0 -270
- package/src/session/__tests__/integration/archive-gate.test.ts +0 -288
- package/src/session/__tests__/integration/capacity-caps.test.ts +0 -171
- package/src/session/__tests__/integration/e2e-spawn.test.ts +0 -296
- package/src/session/__tests__/integration/event-stream-ordering.test.ts +0 -410
- package/src/session/__tests__/integration/handoff-broadcast-e2e.test.ts +0 -271
- package/src/session/__tests__/integration/handoff-illegal-transition.test.ts +0 -214
- package/src/session/__tests__/integration/handoff-single-e2e.test.ts +0 -260
- package/src/session/__tests__/integration/hierarchy-lifecycle.test.ts +0 -240
- package/src/session/__tests__/integration/migration-filesystem.test.ts +0 -209
- package/src/session/__tests__/integration/migration-id-prefix.test.ts +0 -101
- package/src/session/__tests__/integration/prev-artifact-dag.test.ts +0 -328
- package/src/session/__tests__/integration/retention-archive.test.ts +0 -233
- package/src/session/__tests__/integration/spawn-rollback.test.ts +0 -313
- package/src/session/__tests__/integration/summary-materialization-e2e.test.ts +0 -239
- package/src/session/__tests__/integration/tenant-isolation.test.ts +0 -292
- package/src/session/handoff/__tests__/broadcast.test.ts +0 -378
- package/src/session/handoff/__tests__/capacity.test.ts +0 -129
- package/src/session/handoff/__tests__/single.test.ts +0 -333
- package/src/session/intervention/__tests__/prev-artifact.test.ts +0 -237
- package/src/session/migration/__tests__/a-migrated-project-id-is-an-id.test.ts +0 -92
- package/src/session/migration/__tests__/filesystem.test.ts +0 -270
- package/src/session/migration/__tests__/id-prefix.test.ts +0 -101
- package/src/session/migration/__tests__/marker.test.ts +0 -84
- package/src/session/retention/__tests__/archive.test.ts +0 -318
- package/src/session/retention/__tests__/disk-backend.test.ts +0 -180
- package/src/session/status/__tests__/derive.test.ts +0 -101
- package/src/session/summary/__tests__/materialize.test.ts +0 -340
- package/src/session/workspace/__tests__/git-worktree.test.ts +0 -262
- package/src/session/workspace/__tests__/path-builder.test.ts +0 -51
- package/src/session/workspace/__tests__/shared-run.test.ts +0 -199
- package/src/skills/__tests__/frontmatter.test.ts +0 -135
- package/src/skills/loader.test.ts +0 -89
- package/src/store/__tests__/checkpoint-integrity.test.ts +0 -134
- package/src/store/__tests__/checkpoint-versioning.test.ts +0 -194
- package/src/store/__tests__/schema-adoption.test.ts +0 -118
- package/src/store/__tests__/schema.test.ts +0 -119
- package/src/store/session/__tests__/a-session-has-one-writer.test.ts +0 -116
- package/src/store/session/__tests__/a-workspace-can-be-configured.test.ts +0 -210
- package/src/store/session/__tests__/disk.test.ts +0 -397
- package/src/store/session/__tests__/memory.test.ts +0 -402
- package/src/store/task/__tests__/an-edge-that-already-exists-is-not-news.test.ts +0 -115
- package/src/store/task/__tests__/disk-concurrency.test.ts +0 -118
- package/src/store/task/__tests__/lookup-across-runs.test.ts +0 -77
- package/src/streaming/coalesce.test.ts +0 -132
- package/src/telemetry/__tests__/latency-instruments.test.ts +0 -120
- package/src/telemetry/__tests__/metrics.test.ts +0 -160
- package/src/telemetry/__tests__/model-call-span.test.ts +0 -212
- package/src/telemetry/__tests__/span-closure.test.ts +0 -160
- package/src/telemetry/__tests__/span-hierarchy.test.ts +0 -94
- package/src/test-setup.ts +0 -24
- package/src/tools/__tests__/file-tool-containment.test.ts +0 -190
- package/src/tools/__tests__/path-containment.test.ts +0 -167
- package/src/tools/__tests__/posix-path.test.ts +0 -83
- package/src/tools/__tests__/sandboxed-search.test.ts +0 -206
- package/src/tools/__tests__/untrusted-envelope.test.ts +0 -105
- package/src/tools/builtins/__tests__/bash.proc-test.ts +0 -142
- package/src/tools/builtins/__tests__/bash.test.ts +0 -79
- package/src/tools/builtins/__tests__/computer-use.test.ts +0 -201
- package/src/tools/builtins/__tests__/edit-commits-atomically.test.ts +0 -103
- package/src/tools/builtins/__tests__/edit-insert-reachable.test.ts +0 -172
- package/src/tools/builtins/__tests__/edit.test.ts +0 -388
- package/src/tools/builtins/__tests__/payload-budget.test.ts +0 -92
- package/src/tools/builtins/__tests__/read-file.test.ts +0 -71
- package/src/tools/builtins/__tests__/stale-file-refusal.test.ts +0 -258
- package/src/tools/builtins/__tests__/structuredOutput.test.ts +0 -275
- package/src/tools/builtins/__tests__/verify-outputs.test.ts +0 -71
- package/src/tools/builtins/__tests__/write-file.test.ts +0 -177
- package/src/tools/coordinator/__tests__/a-failed-worker-is-not-an-answer.test.ts +0 -133
- package/src/tools/coordinator/__tests__/a-listing-is-not-a-back-door.test.ts +0 -171
- package/src/tools/coordinator/__tests__/a-plan-step-reports-its-own-outcome.test.ts +0 -215
- package/src/tools/coordinator/__tests__/agent.test.ts +0 -177
- package/src/tools/coordinator/__tests__/allow-delegation.test.ts +0 -120
- package/src/tools/coordinator/__tests__/an-approver-is-never-shown-an-impossible-step.test.ts +0 -153
- package/src/tools/coordinator/__tests__/approve-plan.test.ts +0 -160
- package/src/tools/coordinator/__tests__/ask-user-question.test.ts +0 -496
- package/src/tools/coordinator/__tests__/completion-delivery.test.ts +0 -501
- package/src/tools/coordinator/__tests__/empty-roster.test.ts +0 -118
- package/src/tools/coordinator/__tests__/plan-dependencies.test.ts +0 -186
- package/src/tools/coordinator/__tests__/task-list.test.ts +0 -303
- package/src/tools/coordinator/__tests__/the-plan-a-human-approves.test.ts +0 -121
- package/src/tools/coordinator/__tests__/wait-with-idle-bound.test.ts +0 -247
- package/src/types/common/__tests__/numeric-correctness.test.ts +0 -123
- package/src/types/common/usage-merge.test.ts +0 -53
- package/src/types/errors/__tests__/catalog.test.ts +0 -130
- package/src/types/errors/__tests__/errors.test.ts +0 -118
- package/src/types/invocation/__tests__/state.test.ts +0 -218
- package/src/types/provider/__tests__/cause-chain.test.ts +0 -132
- package/src/types/provider/__tests__/declared-retryable.test.ts +0 -85
- package/src/types/provider/__tests__/overflow-classification.test.ts +0 -113
- package/src/types/run/__tests__/step.test.ts +0 -123
- package/src/utils/__tests__/abort-reason.test.ts +0 -56
- package/src/utils/__tests__/atomic-write.test.ts +0 -108
- package/src/utils/__tests__/shell-compress.test.ts +0 -49
- package/src/vault/instrumentation.test.ts +0 -98
- package/src/verification/__tests__/argument-pattern.test.ts +0 -158
- package/src/verification/__tests__/rule-order-and-reason.test.ts +0 -149
- package/src/verification/presets.test.ts +0 -112
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises';
|
|
2
|
-
import { tmpdir } from 'node:os';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
5
|
-
import { RunDiskStore } from '../run/disk.js';
|
|
6
|
-
/**
|
|
7
|
-
* A checkpoint was written bare and read with a cast. Two consequences,
|
|
8
|
-
* one latent and one live.
|
|
9
|
-
*
|
|
10
|
-
* Latent: an unstamped record is read as version 1 by definition, which is
|
|
11
|
-
* correct only while version 1 is the only version there has ever been.
|
|
12
|
-
* The moment a second exists, a file written by the newer build is read by
|
|
13
|
-
* the older one as if it were the older shape, and the refusal that exists
|
|
14
|
-
* to prevent exactly that never fires. There was no chain to hang a
|
|
15
|
-
* migration on.
|
|
16
|
-
*
|
|
17
|
-
* Live: the read validated `id`, `iteration`, `createdAt` and `messages`
|
|
18
|
-
* and skipped the budget fields — which a resume dereferences before its
|
|
19
|
-
* first iteration. A run recalled at $4.80 of a $5 cap whose `costInfo`
|
|
20
|
-
* came back malformed continues with `NaN`, which compares false against
|
|
21
|
-
* every limit, so the guard that exists to stop it never stops it.
|
|
22
|
-
*/
|
|
23
|
-
const RID = 'run_1';
|
|
24
|
-
function checkpoint(overrides = {}) {
|
|
25
|
-
return {
|
|
26
|
-
id: 'cp_1',
|
|
27
|
-
runId: RID,
|
|
28
|
-
iteration: 2,
|
|
29
|
-
messages: [],
|
|
30
|
-
tokenUsage: {
|
|
31
|
-
promptTokens: 100,
|
|
32
|
-
completionTokens: 50,
|
|
33
|
-
totalTokens: 150,
|
|
34
|
-
cachedTokens: 0,
|
|
35
|
-
cacheWriteTokens: 0,
|
|
36
|
-
},
|
|
37
|
-
costInfo: { totalCost: 4.8 },
|
|
38
|
-
guardState: { iterationCount: 2, elapsedMs: 1_000 },
|
|
39
|
-
createdAt: Date.now(),
|
|
40
|
-
...overrides,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
describe('a checkpoint on disk', () => {
|
|
44
|
-
let dir;
|
|
45
|
-
let store;
|
|
46
|
-
beforeEach(async () => {
|
|
47
|
-
dir = await mkdtemp(join(tmpdir(), 'namzu-cpver-'));
|
|
48
|
-
store = new RunDiskStore({ baseDir: dir });
|
|
49
|
-
await store.initRun(RID);
|
|
50
|
-
});
|
|
51
|
-
afterEach(async () => {
|
|
52
|
-
await rm(dir, { recursive: true, force: true });
|
|
53
|
-
});
|
|
54
|
-
const writeRaw = async (name, record) => {
|
|
55
|
-
const cpDir = join(dir, RID, 'checkpoints');
|
|
56
|
-
await mkdir(cpDir, { recursive: true });
|
|
57
|
-
await writeFile(join(cpDir, `${name}.json`), JSON.stringify(record), 'utf-8');
|
|
58
|
-
};
|
|
59
|
-
it('is stamped ON DISK with the schema version it was written at', async () => {
|
|
60
|
-
await store.writeCheckpoint(checkpoint());
|
|
61
|
-
// Read the file, not the store: the reader re-stamps whatever it
|
|
62
|
-
// parses, so asking the store back cannot tell a stamped file from
|
|
63
|
-
// an unstamped one. The stamp only does its job if it is in the
|
|
64
|
-
// bytes another build will read.
|
|
65
|
-
const raw = JSON.parse(await readFile(join(dir, RID, 'checkpoints', 'cp_1.json'), 'utf-8'));
|
|
66
|
-
expect(raw.schemaVersion).toBe(1);
|
|
67
|
-
});
|
|
68
|
-
it('round-trips through the stamp without losing anything', async () => {
|
|
69
|
-
const original = checkpoint({ iteration: 7 });
|
|
70
|
-
await store.writeCheckpoint(original);
|
|
71
|
-
const read = await store.readCheckpoint(original.id);
|
|
72
|
-
expect(read?.iteration).toBe(7);
|
|
73
|
-
expect(read?.tokenUsage.totalTokens).toBe(150);
|
|
74
|
-
});
|
|
75
|
-
it('reads an unstamped record written before this existed', async () => {
|
|
76
|
-
// Optional-additive is the established practice here; an older file
|
|
77
|
-
// must keep working.
|
|
78
|
-
const { ...bare } = checkpoint({ id: 'cp_old' });
|
|
79
|
-
await writeRaw('cp_old', bare);
|
|
80
|
-
expect((await store.readCheckpoint('cp_old'))?.iteration).toBe(2);
|
|
81
|
-
});
|
|
82
|
-
it('refuses a record from a future version rather than reading it partially', async () => {
|
|
83
|
-
await writeRaw('cp_future', {
|
|
84
|
-
...checkpoint({ id: 'cp_future' }),
|
|
85
|
-
schemaVersion: 99,
|
|
86
|
-
});
|
|
87
|
-
// Reading it with today's parser silently drops the fields this
|
|
88
|
-
// build does not know about, and writing it back loses them.
|
|
89
|
-
await expect(store.readCheckpoint('cp_future')).rejects.toThrow(/schema version 99/);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
describe('budget state a resume dereferences', () => {
|
|
93
|
-
let dir;
|
|
94
|
-
let store;
|
|
95
|
-
beforeEach(async () => {
|
|
96
|
-
dir = await mkdtemp(join(tmpdir(), 'namzu-cpbudget-'));
|
|
97
|
-
store = new RunDiskStore({ baseDir: dir });
|
|
98
|
-
await store.initRun(RID);
|
|
99
|
-
});
|
|
100
|
-
afterEach(async () => {
|
|
101
|
-
await rm(dir, { recursive: true, force: true });
|
|
102
|
-
});
|
|
103
|
-
const writeRaw = async (name, record) => {
|
|
104
|
-
const cpDir = join(dir, RID, 'checkpoints');
|
|
105
|
-
await mkdir(cpDir, { recursive: true });
|
|
106
|
-
await writeFile(join(cpDir, `${name}.json`), JSON.stringify(record), 'utf-8');
|
|
107
|
-
};
|
|
108
|
-
it('refuses a checkpoint with no cost information', async () => {
|
|
109
|
-
const { costInfo: _dropped, ...rest } = checkpoint({ id: 'cp_nocost' });
|
|
110
|
-
await writeRaw('cp_nocost', rest);
|
|
111
|
-
// A run that resumes with an undefined cap is worse than one that
|
|
112
|
-
// refuses to resume: it looks healthy and never stops.
|
|
113
|
-
await expect(store.readCheckpoint('cp_nocost')).rejects.toThrow(/malformed budget state/);
|
|
114
|
-
});
|
|
115
|
-
it('refuses a NaN budget, which compares false against every limit', async () => {
|
|
116
|
-
await writeRaw('cp_nan', {
|
|
117
|
-
...checkpoint({ id: 'cp_nan' }),
|
|
118
|
-
// JSON has no NaN; this is what a serialized one becomes.
|
|
119
|
-
costInfo: { totalCost: null },
|
|
120
|
-
});
|
|
121
|
-
await expect(store.readCheckpoint('cp_nan')).rejects.toThrow(/malformed budget state/);
|
|
122
|
-
});
|
|
123
|
-
it('refuses a missing guard state', async () => {
|
|
124
|
-
const { guardState: _dropped, ...rest } = checkpoint({ id: 'cp_noguard' });
|
|
125
|
-
await writeRaw('cp_noguard', rest);
|
|
126
|
-
await expect(store.readCheckpoint('cp_noguard')).rejects.toThrow(/malformed budget state/);
|
|
127
|
-
});
|
|
128
|
-
it('applies the same refusal to the listing path', async () => {
|
|
129
|
-
// Two read paths disagreeing about whether damage matters is how the
|
|
130
|
-
// lenient one gets trusted.
|
|
131
|
-
const { costInfo: _dropped, ...rest } = checkpoint({ id: 'cp_listed' });
|
|
132
|
-
await writeRaw('cp_listed', rest);
|
|
133
|
-
await expect(store.listCheckpoints()).rejects.toThrow(/malformed budget state/);
|
|
134
|
-
});
|
|
135
|
-
it('accepts a zero budget, which is a real value', async () => {
|
|
136
|
-
await store.writeCheckpoint(checkpoint({
|
|
137
|
-
id: 'cp_zero',
|
|
138
|
-
tokenUsage: {
|
|
139
|
-
promptTokens: 0,
|
|
140
|
-
completionTokens: 0,
|
|
141
|
-
totalTokens: 0,
|
|
142
|
-
cachedTokens: 0,
|
|
143
|
-
cacheWriteTokens: 0,
|
|
144
|
-
},
|
|
145
|
-
costInfo: { totalCost: 0 },
|
|
146
|
-
guardState: { iterationCount: 0, elapsedMs: 0 },
|
|
147
|
-
}));
|
|
148
|
-
expect(await store.readCheckpoint('cp_zero')).not.toBeNull();
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
//# sourceMappingURL=checkpoint-versioning.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint-versioning.test.js","sourceRoot":"","sources":["../../../src/store/__tests__/checkpoint-versioning.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-adoption.test.d.ts","sourceRoot":"","sources":["../../../src/store/__tests__/schema-adoption.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { mkdtempSync, rmSync } from 'node:fs';
|
|
2
|
-
import { readFile, writeFile } from 'node:fs/promises';
|
|
3
|
-
import { tmpdir } from 'node:os';
|
|
4
|
-
import { join } from 'node:path';
|
|
5
|
-
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
6
|
-
import { createUserMessage } from '../../types/message/index.js';
|
|
7
|
-
import { DiskSessionStore } from '../session/disk.js';
|
|
8
|
-
/**
|
|
9
|
-
* The primitive is unit-tested next door. What matters here is that a store
|
|
10
|
-
* actually goes through it — a version that is stamped but never checked,
|
|
11
|
-
* or checked but never stamped, is the same silent read it replaces.
|
|
12
|
-
*/
|
|
13
|
-
const TENANT = 'tnt_schema';
|
|
14
|
-
const THREAD = 'thd_schema';
|
|
15
|
-
const actor = () => ({ kind: 'user', userId: 'usr_a', tenantId: TENANT });
|
|
16
|
-
let rootDir;
|
|
17
|
-
let store;
|
|
18
|
-
beforeEach(() => {
|
|
19
|
-
rootDir = mkdtempSync(join(tmpdir(), 'namzu-schema-'));
|
|
20
|
-
store = new DiskSessionStore({ rootDir });
|
|
21
|
-
});
|
|
22
|
-
afterEach(() => {
|
|
23
|
-
rmSync(rootDir, { recursive: true, force: true });
|
|
24
|
-
});
|
|
25
|
-
async function seed() {
|
|
26
|
-
const project = await store.createProject({ tenantId: TENANT, name: 'p' }, TENANT);
|
|
27
|
-
const session = await store.createSession({ threadId: THREAD, projectId: project.id, currentActor: actor() }, TENANT);
|
|
28
|
-
return { projectId: project.id, sessionId: session.id };
|
|
29
|
-
}
|
|
30
|
-
const sessionPath = (projectId, sessionId) => join(rootDir, 'projects', projectId, 'sessions', sessionId, 'session.json');
|
|
31
|
-
describe('what lands on disk', () => {
|
|
32
|
-
it('stamps a session record', async () => {
|
|
33
|
-
const { projectId, sessionId } = await seed();
|
|
34
|
-
const raw = JSON.parse(await readFile(sessionPath(projectId, sessionId), 'utf-8'));
|
|
35
|
-
expect(raw.schemaVersion).toBe(1);
|
|
36
|
-
});
|
|
37
|
-
it('stamps every line of the append-only message log', async () => {
|
|
38
|
-
const { projectId, sessionId } = await seed();
|
|
39
|
-
await store.appendMessage(sessionId, createUserMessage('one'), TENANT);
|
|
40
|
-
await store.appendMessage(sessionId, createUserMessage('two'), TENANT);
|
|
41
|
-
const log = await readFile(join(rootDir, 'projects', projectId, 'sessions', sessionId, 'messages.jsonl'), 'utf-8');
|
|
42
|
-
const lines = log.split('\n').filter((l) => l.length > 0);
|
|
43
|
-
expect(lines).toHaveLength(2);
|
|
44
|
-
// An append-only log is written by many builds over its lifetime, so
|
|
45
|
-
// its lines can legitimately differ in version — each carries its own.
|
|
46
|
-
for (const line of lines)
|
|
47
|
-
expect(JSON.parse(line).schemaVersion).toBe(1);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
describe('what comes back off disk', () => {
|
|
51
|
-
it('reads a legacy record that predates the stamp', async () => {
|
|
52
|
-
const { projectId, sessionId } = await seed();
|
|
53
|
-
const path = sessionPath(projectId, sessionId);
|
|
54
|
-
const record = JSON.parse(await readFile(path, 'utf-8'));
|
|
55
|
-
record.schemaVersion = undefined;
|
|
56
|
-
await writeFile(path, JSON.stringify(record), 'utf-8');
|
|
57
|
-
// Every file written before this mechanism existed looks exactly
|
|
58
|
-
// like this, and has to keep opening.
|
|
59
|
-
expect(await store.getSession(sessionId, TENANT)).not.toBeNull();
|
|
60
|
-
});
|
|
61
|
-
it('refuses a record from a build that knew more than this one', async () => {
|
|
62
|
-
const { projectId, sessionId } = await seed();
|
|
63
|
-
const path = sessionPath(projectId, sessionId);
|
|
64
|
-
const record = JSON.parse(await readFile(path, 'utf-8'));
|
|
65
|
-
record.schemaVersion = 99;
|
|
66
|
-
record.somethingThisBuildDoesNotKnow = { important: true };
|
|
67
|
-
await writeFile(path, JSON.stringify(record), 'utf-8');
|
|
68
|
-
// Reading it would drop the unknown field, and the next write would
|
|
69
|
-
// destroy it. A refusal is recoverable by upgrading.
|
|
70
|
-
await expect(store.getSession(sessionId, TENANT)).rejects.toThrow(/schema version 99/);
|
|
71
|
-
});
|
|
72
|
-
it('refuses a message line from the future rather than skipping it', async () => {
|
|
73
|
-
const { projectId, sessionId } = await seed();
|
|
74
|
-
await store.appendMessage(sessionId, createUserMessage('fine'), TENANT);
|
|
75
|
-
const path = join(rootDir, 'projects', projectId, 'sessions', sessionId, 'messages.jsonl');
|
|
76
|
-
const line = JSON.parse((await readFile(path, 'utf-8')).trim());
|
|
77
|
-
await writeFile(path, `${JSON.stringify({ ...line, schemaVersion: 42 })}\n`, 'utf-8');
|
|
78
|
-
// Silently dropping a message the build cannot read would hand the
|
|
79
|
-
// model a conversation with a hole in it.
|
|
80
|
-
await expect(store.loadMessages(sessionId, TENANT)).rejects.toThrow(/schema version 42/);
|
|
81
|
-
});
|
|
82
|
-
it('still round-trips a normal write and read', async () => {
|
|
83
|
-
const { sessionId } = await seed();
|
|
84
|
-
await store.appendMessage(sessionId, createUserMessage('hello'), TENANT);
|
|
85
|
-
await store.appendMessage(sessionId, createUserMessage('world'), TENANT);
|
|
86
|
-
const loaded = await store.loadMessages(sessionId, TENANT);
|
|
87
|
-
expect(loaded.map((m) => m.content)).toEqual(['hello', 'world']);
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
//# sourceMappingURL=schema-adoption.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-adoption.test.js","sourceRoot":"","sources":["../../../src/store/__tests__/schema-adoption.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../../../src/store/__tests__/schema.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { INITIAL_SCHEMA_VERSION, SchemaVersionError, defineSchema, migrate, stamp, } from '../schema.js';
|
|
3
|
-
/**
|
|
4
|
-
* Every persisted read was `JSON.parse(raw) as T`. A record from an older
|
|
5
|
-
* build arrived with fields missing and nothing said so; a record from a
|
|
6
|
-
* NEWER build was read partially and, once written back, permanently lost
|
|
7
|
-
* whatever this build did not understand.
|
|
8
|
-
*/
|
|
9
|
-
const V1 = defineSchema({ kind: 'thing', current: 1, migrations: {} });
|
|
10
|
-
const V3 = defineSchema({
|
|
11
|
-
kind: 'thing',
|
|
12
|
-
current: 3,
|
|
13
|
-
migrations: {
|
|
14
|
-
1: (r) => ({ ...r, addedInV2: true }),
|
|
15
|
-
2: (r) => ({ ...r, addedInV3: true }),
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
describe('reading an older record', () => {
|
|
19
|
-
it('treats an unstamped record as the first version', () => {
|
|
20
|
-
// Every file written before this mechanism existed IS version 1 —
|
|
21
|
-
// by definition, not by assumption.
|
|
22
|
-
const migrated = migrate(V3, { name: 'legacy' });
|
|
23
|
-
expect(migrated.addedInV2).toBe(true);
|
|
24
|
-
expect(migrated.addedInV3).toBe(true);
|
|
25
|
-
expect(migrated.schemaVersion).toBe(3);
|
|
26
|
-
});
|
|
27
|
-
it('runs only the steps that are missing', () => {
|
|
28
|
-
const migrated = migrate(V3, { schemaVersion: 2, name: 'x' });
|
|
29
|
-
expect(migrated.addedInV2).toBeUndefined();
|
|
30
|
-
expect(migrated.addedInV3).toBe(true);
|
|
31
|
-
});
|
|
32
|
-
it('leaves a current record alone apart from the stamp', () => {
|
|
33
|
-
const migrated = migrate(V3, { schemaVersion: 3, name: 'x' });
|
|
34
|
-
expect(migrated).toEqual({ schemaVersion: 3, name: 'x' });
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
describe('reading a newer record', () => {
|
|
38
|
-
it('refuses rather than reading it partially', () => {
|
|
39
|
-
expect(() => migrate(V1, { schemaVersion: 2, name: 'from the future' })).toThrow(SchemaVersionError);
|
|
40
|
-
});
|
|
41
|
-
it('says what it found and what it understands', () => {
|
|
42
|
-
try {
|
|
43
|
-
migrate(V1, { schemaVersion: 7 });
|
|
44
|
-
expect.unreachable();
|
|
45
|
-
}
|
|
46
|
-
catch (err) {
|
|
47
|
-
const e = err;
|
|
48
|
-
expect(e.found).toBe(7);
|
|
49
|
-
expect(e.supported).toBe(1);
|
|
50
|
-
// A refusal is recoverable by upgrading. A partial read that
|
|
51
|
-
// gets written back is not.
|
|
52
|
-
expect(e.message).toContain('Upgrade');
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('declaring a schema', () => {
|
|
57
|
-
it('rejects a gap in the migration chain at declaration time', () => {
|
|
58
|
-
// Discovered here, not in production by a user whose session will
|
|
59
|
-
// not open.
|
|
60
|
-
expect(() => defineSchema({ kind: 'gappy', current: 3, migrations: { 1: (r) => r } })).toThrow(/no migration from version 2 to 3/);
|
|
61
|
-
});
|
|
62
|
-
it('rejects a version below the first one', () => {
|
|
63
|
-
expect(() => defineSchema({ kind: 'x', current: 0, migrations: {} })).toThrow(/integer >= 1/);
|
|
64
|
-
});
|
|
65
|
-
it('accepts a schema that has never migrated', () => {
|
|
66
|
-
expect(() => defineSchema({ kind: 'x', current: INITIAL_SCHEMA_VERSION, migrations: {} })).not.toThrow();
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
describe('stamping', () => {
|
|
70
|
-
it('marks a record with the version this build writes', () => {
|
|
71
|
-
expect(stamp(V3, { a: 1 })).toEqual({ a: 1, schemaVersion: 3 });
|
|
72
|
-
});
|
|
73
|
-
it('leaves an array untouched', () => {
|
|
74
|
-
// There is nowhere on an array to put a field that survives
|
|
75
|
-
// `JSON.stringify`, and wrapping it would change every file already
|
|
76
|
-
// written.
|
|
77
|
-
const list = [{ a: 1 }, { a: 2 }];
|
|
78
|
-
expect(stamp(V3, list)).toEqual(list);
|
|
79
|
-
});
|
|
80
|
-
it('round-trips through JSON', () => {
|
|
81
|
-
const written = JSON.stringify(stamp(V1, { name: 'x' }));
|
|
82
|
-
expect(migrate(V1, JSON.parse(written))).toEqual({
|
|
83
|
-
name: 'x',
|
|
84
|
-
schemaVersion: 1,
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
it('passes a non-object through both ways', () => {
|
|
88
|
-
expect(stamp(V3, null)).toBeNull();
|
|
89
|
-
expect(migrate(V3, null)).toBeNull();
|
|
90
|
-
expect(migrate(V3, [1, 2])).toEqual([1, 2]);
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
//# sourceMappingURL=schema.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../../src/store/__tests__/schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a-session-has-one-writer.test.d.ts","sourceRoot":"","sources":["../../../../src/store/session/__tests__/a-session-has-one-writer.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { StaleSessionError } from '../../../session/errors.js';
|
|
3
|
-
import { InMemorySessionStore } from '../memory.js';
|
|
4
|
-
/**
|
|
5
|
-
* `Session.ownerVersion` was documented as the CAS counter for handoff, and
|
|
6
|
-
* nothing enforced it.
|
|
7
|
-
*
|
|
8
|
-
* Both stores overwrote unconditionally, so the only check was in the handoff
|
|
9
|
-
* path — where it compared a snapshot read several awaits earlier against
|
|
10
|
-
* itself. Two concurrent handoffs on one idle session both passed, both
|
|
11
|
-
* provisioned a worktree, and one silently erased the other.
|
|
12
|
-
*
|
|
13
|
-
* The store is the arbiter now, because it is the only party that can compare
|
|
14
|
-
* against the value at the instant of the write.
|
|
15
|
-
*/
|
|
16
|
-
const TENANT = 'tnt_cas';
|
|
17
|
-
async function seed() {
|
|
18
|
-
const store = new InMemorySessionStore();
|
|
19
|
-
const project = await store.createProject({ tenantId: TENANT, name: 'cas' }, TENANT);
|
|
20
|
-
const session = await store.createSession({ threadId: 'thd_cas', projectId: project.id, currentActor: null }, TENANT);
|
|
21
|
-
return { store, session };
|
|
22
|
-
}
|
|
23
|
-
describe('a session write can require that nobody else wrote first', () => {
|
|
24
|
-
it('accepts a write naming the version the store holds', async () => {
|
|
25
|
-
const { store, session } = await seed();
|
|
26
|
-
await store.updateSession({ ...session, status: 'locked' }, TENANT, session.ownerVersion);
|
|
27
|
-
expect((await store.getSession(session.id, TENANT))?.status).toBe('locked');
|
|
28
|
-
});
|
|
29
|
-
it('refuses a write naming a version that has moved on', async () => {
|
|
30
|
-
const { store, session } = await seed();
|
|
31
|
-
// Somebody else takes it first.
|
|
32
|
-
await store.updateSession({ ...session, ownerVersion: 1 }, TENANT, 0);
|
|
33
|
-
await expect(store.updateSession({ ...session, status: 'locked' }, TENANT, 0)).rejects.toBeInstanceOf(StaleSessionError);
|
|
34
|
-
});
|
|
35
|
-
it('reports what the store holds, not what the caller sent', async () => {
|
|
36
|
-
// The caller already knows what it sent; the useful half of the answer
|
|
37
|
-
// is how far behind it is.
|
|
38
|
-
const { store, session } = await seed();
|
|
39
|
-
await store.updateSession({ ...session, ownerVersion: 7 }, TENANT, 0);
|
|
40
|
-
await store
|
|
41
|
-
.updateSession({ ...session, status: 'locked' }, TENANT, 3)
|
|
42
|
-
.then(() => expect.unreachable('the stale write should have been refused'))
|
|
43
|
-
.catch((err) => {
|
|
44
|
-
expect(err.details.expectedVersion).toBe(3);
|
|
45
|
-
expect(err.details.actualVersion).toBe(7);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
it('compares against the STORED version, not the payload', async () => {
|
|
49
|
-
// The payload is the caller's own copy. Comparing it to itself is the
|
|
50
|
-
// check the handoff path was already making and getting nothing from,
|
|
51
|
-
// so a write whose payload agrees with itself must still be refused
|
|
52
|
-
// when the store has moved.
|
|
53
|
-
const { store, session } = await seed();
|
|
54
|
-
await store.updateSession({ ...session, ownerVersion: 5 }, TENANT, 0);
|
|
55
|
-
const selfConsistentButStale = { ...session, ownerVersion: 2, status: 'locked' };
|
|
56
|
-
await expect(store.updateSession(selfConsistentButStale, TENANT, 2)).rejects.toBeInstanceOf(StaleSessionError);
|
|
57
|
-
});
|
|
58
|
-
it('writes unconditionally when no version is named', async () => {
|
|
59
|
-
// The compatibility promise: every caller that existed before this
|
|
60
|
-
// parameter behaves exactly as it did.
|
|
61
|
-
const { store, session } = await seed();
|
|
62
|
-
await store.updateSession({ ...session, ownerVersion: 9 }, TENANT, 0);
|
|
63
|
-
await store.updateSession({ ...session, status: 'locked' }, TENANT);
|
|
64
|
-
expect((await store.getSession(session.id, TENANT))?.status).toBe('locked');
|
|
65
|
-
});
|
|
66
|
-
it('lets exactly one of two concurrent writers win', async () => {
|
|
67
|
-
// The defect, in the shape it actually took: two writers holding the
|
|
68
|
-
// same snapshot, racing for the same session.
|
|
69
|
-
const { store, session } = await seed();
|
|
70
|
-
const snapshot = session.ownerVersion;
|
|
71
|
-
const results = await Promise.allSettled([
|
|
72
|
-
store.updateSession({ ...session, status: 'locked', ownerVersion: snapshot + 1 }, TENANT, snapshot),
|
|
73
|
-
store.updateSession({ ...session, status: 'locked', ownerVersion: snapshot + 1 }, TENANT, snapshot),
|
|
74
|
-
]);
|
|
75
|
-
expect(results.filter((r) => r.status === 'fulfilled')).toHaveLength(1);
|
|
76
|
-
expect(results.filter((r) => r.status === 'rejected')).toHaveLength(1);
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
//# sourceMappingURL=a-session-has-one-writer.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a-session-has-one-writer.test.js","sourceRoot":"","sources":["../../../../src/store/session/__tests__/a-session-has-one-writer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"a-workspace-can-be-configured.test.d.ts","sourceRoot":"","sources":["../../../../src/store/session/__tests__/a-workspace-can-be-configured.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { mkdtemp, rm } from 'node:fs/promises';
|
|
2
|
-
import { tmpdir } from 'node:os';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { afterEach, describe, expect, it } from 'vitest';
|
|
5
|
-
import { TenantIsolationError } from '../../../session/errors.js';
|
|
6
|
-
import { DiskSessionStore } from '../disk.js';
|
|
7
|
-
import { InMemorySessionStore } from '../memory.js';
|
|
8
|
-
/**
|
|
9
|
-
* Every project in existence ran at depth 4 and width 8.
|
|
10
|
-
*
|
|
11
|
-
* The config was hardcoded identically in both stores, `CreateProjectParams`
|
|
12
|
-
* was `{tenantId, name}`, and there was no `updateProject`. So a tenant with
|
|
13
|
-
* several workspaces could not give them different limits — which is most of
|
|
14
|
-
* what having several workspaces is for.
|
|
15
|
-
*
|
|
16
|
-
* Only the two fields something READS are settable. `ProjectConfig` declares
|
|
17
|
-
* eight; five enforcement sites read two of them. Exposing the other six would
|
|
18
|
-
* make dead fields easier to set, and a host that configures a retention policy
|
|
19
|
-
* and gets no error believes retention is on. `maxInterventionDepth` looks like
|
|
20
|
-
* an exception and is not: its three apparent readers are all comments.
|
|
21
|
-
*
|
|
22
|
-
* Both stores are driven by the same cases, because a reference implementation
|
|
23
|
-
* that disagrees with the durable one is worse than having only one.
|
|
24
|
-
*/
|
|
25
|
-
const TENANT = 'tnt_cfg';
|
|
26
|
-
const OTHER = 'tnt_other';
|
|
27
|
-
const dirs = [];
|
|
28
|
-
afterEach(async () => {
|
|
29
|
-
await Promise.all(dirs.map((d) => rm(d, { recursive: true, force: true })));
|
|
30
|
-
dirs.length = 0;
|
|
31
|
-
});
|
|
32
|
-
async function diskStore() {
|
|
33
|
-
const rootDir = await mkdtemp(join(tmpdir(), 'namzu-cfg-'));
|
|
34
|
-
dirs.push(rootDir);
|
|
35
|
-
return new DiskSessionStore({ rootDir });
|
|
36
|
-
}
|
|
37
|
-
const IMPLEMENTATIONS = [
|
|
38
|
-
['in memory', async () => new InMemorySessionStore()],
|
|
39
|
-
['on disk', diskStore],
|
|
40
|
-
];
|
|
41
|
-
describe.each(IMPLEMENTATIONS)('a workspace carries its own limits (%s)', (_name, build) => {
|
|
42
|
-
it('takes the limits it was created with', async () => {
|
|
43
|
-
const store = await build();
|
|
44
|
-
const project = await store.createProject({ tenantId: TENANT, name: 'w', config: { maxDelegationDepth: 2, maxDelegationWidth: 3 } }, TENANT);
|
|
45
|
-
expect(project.config.maxDelegationDepth).toBe(2);
|
|
46
|
-
expect(project.config.maxDelegationWidth).toBe(3);
|
|
47
|
-
});
|
|
48
|
-
it('keeps the defaults for anything not given', async () => {
|
|
49
|
-
const store = await build();
|
|
50
|
-
const project = await store.createProject({ tenantId: TENANT, name: 'w', config: { maxDelegationDepth: 2 } }, TENANT);
|
|
51
|
-
expect(project.config.maxDelegationDepth).toBe(2);
|
|
52
|
-
expect(project.config.maxDelegationWidth).toBe(8);
|
|
53
|
-
});
|
|
54
|
-
it('lets two workspaces of one tenant differ, which is the point', async () => {
|
|
55
|
-
const store = await build();
|
|
56
|
-
const narrow = await store.createProject({ tenantId: TENANT, name: 'narrow', config: { maxDelegationWidth: 1 } }, TENANT);
|
|
57
|
-
const wide = await store.createProject({ tenantId: TENANT, name: 'wide', config: { maxDelegationWidth: 16 } }, TENANT);
|
|
58
|
-
expect(narrow.config.maxDelegationWidth).toBe(1);
|
|
59
|
-
expect(wide.config.maxDelegationWidth).toBe(16);
|
|
60
|
-
});
|
|
61
|
-
it('changes a limit after the fact, and the change is readable back', async () => {
|
|
62
|
-
const store = await build();
|
|
63
|
-
const project = await store.createProject({ tenantId: TENANT, name: 'w' }, TENANT);
|
|
64
|
-
await store.updateProject?.(project.id, { maxDelegationWidth: 12 }, TENANT);
|
|
65
|
-
expect((await store.getProject(project.id, TENANT))?.config.maxDelegationWidth).toBe(12);
|
|
66
|
-
});
|
|
67
|
-
it('leaves a limit it was not asked to change', async () => {
|
|
68
|
-
// Per field, not whole-value: raising the width says nothing about the
|
|
69
|
-
// depth, and resetting it would be an answer to a question nobody asked.
|
|
70
|
-
const store = await build();
|
|
71
|
-
const project = await store.createProject({ tenantId: TENANT, name: 'w', config: { maxDelegationDepth: 2 } }, TENANT);
|
|
72
|
-
await store.updateProject?.(project.id, { maxDelegationWidth: 12 }, TENANT);
|
|
73
|
-
const reloaded = await store.getProject(project.id, TENANT);
|
|
74
|
-
expect(reloaded?.config.maxDelegationDepth).toBe(2);
|
|
75
|
-
expect(reloaded?.config.maxDelegationWidth).toBe(12);
|
|
76
|
-
});
|
|
77
|
-
it('treats an explicitly undefined limit as "leave it", not "clear it"', async () => {
|
|
78
|
-
// The case the per-field guard exists for, and the one a plain spread
|
|
79
|
-
// gets wrong: `{...config}` with an explicit `undefined` key writes the
|
|
80
|
-
// undefined through and erases a limit the caller never mentioned. A
|
|
81
|
-
// caller building an update object programmatically produces exactly
|
|
82
|
-
// this shape.
|
|
83
|
-
const store = await build();
|
|
84
|
-
const project = await store.createProject({ tenantId: TENANT, name: 'w', config: { maxDelegationDepth: 3 } }, TENANT);
|
|
85
|
-
await store.updateProject?.(project.id, { maxDelegationDepth: undefined, maxDelegationWidth: 12 }, TENANT);
|
|
86
|
-
const reloaded = await store.getProject(project.id, TENANT);
|
|
87
|
-
expect(reloaded?.config.maxDelegationDepth).toBe(3);
|
|
88
|
-
expect(reloaded?.config.maxDelegationWidth).toBe(12);
|
|
89
|
-
});
|
|
90
|
-
it('lists what this tenant owns, oldest first', async () => {
|
|
91
|
-
// Eight, spaced past the millisecond `createdAt` is measured in, so this
|
|
92
|
-
// is an assertion about age rather than about the tie-break below. With
|
|
93
|
-
// the sort dropped the disk store returns them in directory order, which
|
|
94
|
-
// is id-ascending — it matches creation order once in 8!.
|
|
95
|
-
const store = await build();
|
|
96
|
-
const created = [];
|
|
97
|
-
for (const name of ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) {
|
|
98
|
-
created.push(await store.createProject({ tenantId: TENANT, name }, TENANT));
|
|
99
|
-
await new Promise((resolve) => setTimeout(resolve, 2));
|
|
100
|
-
}
|
|
101
|
-
const listed = await store.listProjects?.(TENANT);
|
|
102
|
-
expect(listed?.map((p) => p.id)).toEqual(created.map((p) => p.id));
|
|
103
|
-
});
|
|
104
|
-
it('stays a total order when several are created in the same millisecond', async () => {
|
|
105
|
-
// CI found this and a slower machine could not: on a fast filesystem
|
|
106
|
-
// projects routinely share a `createdAt`, and "oldest first" alone left
|
|
107
|
-
// the rest to `readdir`. A caller paginating a listing that reorders
|
|
108
|
-
// under it sees the same project twice and never sees another.
|
|
109
|
-
const store = await build();
|
|
110
|
-
for (const name of ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) {
|
|
111
|
-
await store.createProject({ tenantId: TENANT, name }, TENANT);
|
|
112
|
-
}
|
|
113
|
-
const listed = (await store.listProjects?.(TENANT)) ?? [];
|
|
114
|
-
expect(listed).toHaveLength(8);
|
|
115
|
-
for (let i = 1; i < listed.length; i++) {
|
|
116
|
-
const before = listed[i - 1];
|
|
117
|
-
const after = listed[i];
|
|
118
|
-
if (before === undefined || after === undefined)
|
|
119
|
-
throw new Error('short listing');
|
|
120
|
-
const olderFirst = before.createdAt.getTime() < after.createdAt.getTime();
|
|
121
|
-
const tieByName = before.createdAt.getTime() === after.createdAt.getTime() && before.id < after.id;
|
|
122
|
-
expect({ pair: [before.name, after.name], ordered: olderFirst || tieByName }).toEqual({
|
|
123
|
-
pair: [before.name, after.name],
|
|
124
|
-
ordered: true,
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
it('omits another tenant from the listing rather than refusing', async () => {
|
|
129
|
-
// A listing is a question about what you own. Refusing would confirm
|
|
130
|
-
// that somebody else's project is there, which is the leak the tenant
|
|
131
|
-
// boundary exists to prevent.
|
|
132
|
-
const store = await build();
|
|
133
|
-
await store.createProject({ tenantId: TENANT, name: 'mine' }, TENANT);
|
|
134
|
-
await store.createProject({ tenantId: OTHER, name: 'theirs' }, OTHER);
|
|
135
|
-
expect((await store.listProjects?.(TENANT))?.map((p) => p.name)).toEqual(['mine']);
|
|
136
|
-
});
|
|
137
|
-
it('refuses to reconfigure another tenant project', async () => {
|
|
138
|
-
// Reading a listing is a question; writing to somebody else's workspace
|
|
139
|
-
// is not, so this one throws.
|
|
140
|
-
const store = await build();
|
|
141
|
-
const theirs = await store.createProject({ tenantId: OTHER, name: 'theirs' }, OTHER);
|
|
142
|
-
await expect(store.updateProject?.(theirs.id, { maxDelegationWidth: 99 }, TENANT)).rejects.toBeInstanceOf(TenantIsolationError);
|
|
143
|
-
});
|
|
144
|
-
it('returns null for a project that does not exist', async () => {
|
|
145
|
-
const store = await build();
|
|
146
|
-
expect(await store.updateProject?.('prj_missing', {}, TENANT)).toBeNull();
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
//# sourceMappingURL=a-workspace-can-be-configured.test.js.map
|