@namzu/sdk 0.1.8 → 0.2.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 +16 -0
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +5 -3
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/RouterAgent.d.ts.map +1 -1
- package/dist/agents/RouterAgent.js +3 -0
- package/dist/agents/RouterAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +18 -5
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +6 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/a2a/task.d.ts +2 -2
- package/dist/bridge/a2a/task.d.ts.map +1 -1
- package/dist/bridge/a2a/task.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +6 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/constants/a2a/index.d.ts +2 -2
- package/dist/constants/a2a/index.d.ts.map +1 -1
- package/dist/constants/a2a/index.js.map +1 -1
- package/dist/contracts/api.d.ts +22 -3
- package/dist/contracts/api.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +3 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/gateway/local.d.ts.map +1 -1
- package/dist/gateway/local.js +6 -0
- package/dist/gateway/local.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/manager/agent/__tests__/lifecycle.test.d.ts +2 -0
- package/dist/manager/agent/__tests__/lifecycle.test.d.ts.map +1 -0
- package/dist/manager/agent/__tests__/lifecycle.test.js +302 -0
- package/dist/manager/agent/__tests__/lifecycle.test.js.map +1 -0
- package/dist/manager/agent/lifecycle.d.ts +58 -3
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +311 -12
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +8 -1
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +15 -0
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/run/reporter.d.ts.map +1 -1
- package/dist/run/reporter.js +25 -0
- package/dist/run/reporter.js.map +1 -1
- package/dist/runtime/query/__tests__/context.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/context.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/context.test.js +84 -0
- package/dist/runtime/query/__tests__/context.test.js.map +1 -0
- package/dist/runtime/query/context.d.ts +55 -2
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +48 -8
- package/dist/runtime/query/context.js.map +1 -1
- package/dist/runtime/query/events.d.ts.map +1 -1
- package/dist/runtime/query/events.js +8 -0
- package/dist/runtime/query/events.js.map +1 -1
- package/dist/runtime/query/index.d.ts +25 -2
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +11 -1
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/session/__tests__/integration/_fixtures.d.ts +115 -0
- package/dist/session/__tests__/integration/_fixtures.d.ts.map +1 -0
- package/dist/session/__tests__/integration/_fixtures.js +198 -0
- package/dist/session/__tests__/integration/_fixtures.js.map +1 -0
- package/dist/session/__tests__/integration/capacity-caps.test.d.ts +13 -0
- package/dist/session/__tests__/integration/capacity-caps.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/capacity-caps.test.js +116 -0
- package/dist/session/__tests__/integration/capacity-caps.test.js.map +1 -0
- package/dist/session/__tests__/integration/e2e-spawn.test.d.ts +18 -0
- package/dist/session/__tests__/integration/e2e-spawn.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/e2e-spawn.test.js +226 -0
- package/dist/session/__tests__/integration/e2e-spawn.test.js.map +1 -0
- package/dist/session/__tests__/integration/event-stream-ordering.test.d.ts +15 -0
- package/dist/session/__tests__/integration/event-stream-ordering.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/event-stream-ordering.test.js +323 -0
- package/dist/session/__tests__/integration/event-stream-ordering.test.js.map +1 -0
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.d.ts +12 -0
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js +170 -0
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js.map +1 -0
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.d.ts +18 -0
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.js +146 -0
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.js.map +1 -0
- package/dist/session/__tests__/integration/handoff-single-e2e.test.d.ts +15 -0
- package/dist/session/__tests__/integration/handoff-single-e2e.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/handoff-single-e2e.test.js +163 -0
- package/dist/session/__tests__/integration/handoff-single-e2e.test.js.map +1 -0
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.d.ts +12 -0
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js +157 -0
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js.map +1 -0
- package/dist/session/__tests__/integration/migration-filesystem.test.d.ts +11 -0
- package/dist/session/__tests__/integration/migration-filesystem.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/migration-filesystem.test.js +140 -0
- package/dist/session/__tests__/integration/migration-filesystem.test.js.map +1 -0
- package/dist/session/__tests__/integration/migration-id-prefix.test.d.ts +13 -0
- package/dist/session/__tests__/integration/migration-id-prefix.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/migration-id-prefix.test.js +84 -0
- package/dist/session/__tests__/integration/migration-id-prefix.test.js.map +1 -0
- package/dist/session/__tests__/integration/prev-artifact-dag.test.d.ts +14 -0
- package/dist/session/__tests__/integration/prev-artifact-dag.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/prev-artifact-dag.test.js +241 -0
- package/dist/session/__tests__/integration/prev-artifact-dag.test.js.map +1 -0
- package/dist/session/__tests__/integration/retention-archive.test.d.ts +12 -0
- package/dist/session/__tests__/integration/retention-archive.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/retention-archive.test.js +186 -0
- package/dist/session/__tests__/integration/retention-archive.test.js.map +1 -0
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.d.ts +18 -0
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.js +200 -0
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.js.map +1 -0
- package/dist/session/__tests__/integration/tenant-isolation.test.d.ts +14 -0
- package/dist/session/__tests__/integration/tenant-isolation.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/tenant-isolation.test.js +180 -0
- package/dist/session/__tests__/integration/tenant-isolation.test.js.map +1 -0
- package/dist/session/errors.d.ts +60 -0
- package/dist/session/errors.d.ts.map +1 -0
- package/dist/session/errors.js +50 -0
- package/dist/session/errors.js.map +1 -0
- package/dist/session/events/index.d.ts +4 -0
- package/dist/session/events/index.d.ts.map +1 -0
- package/dist/session/events/index.js +8 -0
- package/dist/session/events/index.js.map +1 -0
- package/dist/session/events/schema-version.d.ts +13 -0
- package/dist/session/events/schema-version.d.ts.map +1 -0
- package/dist/session/events/schema-version.js +12 -0
- package/dist/session/events/schema-version.js.map +1 -0
- package/dist/session/events/types.d.ts +64 -0
- package/dist/session/events/types.d.ts.map +1 -0
- package/dist/session/events/types.js +2 -0
- package/dist/session/events/types.js.map +1 -0
- package/dist/session/handoff/__tests__/broadcast.test.d.ts +2 -0
- package/dist/session/handoff/__tests__/broadcast.test.d.ts.map +1 -0
- package/dist/session/handoff/__tests__/broadcast.test.js +243 -0
- package/dist/session/handoff/__tests__/broadcast.test.js.map +1 -0
- package/dist/session/handoff/__tests__/capacity.test.d.ts +2 -0
- package/dist/session/handoff/__tests__/capacity.test.d.ts.map +1 -0
- package/dist/session/handoff/__tests__/capacity.test.js +100 -0
- package/dist/session/handoff/__tests__/capacity.test.js.map +1 -0
- package/dist/session/handoff/__tests__/single.test.d.ts +2 -0
- package/dist/session/handoff/__tests__/single.test.d.ts.map +1 -0
- package/dist/session/handoff/__tests__/single.test.js +230 -0
- package/dist/session/handoff/__tests__/single.test.js.map +1 -0
- package/dist/session/handoff/assignment.d.ts +59 -0
- package/dist/session/handoff/assignment.d.ts.map +1 -0
- package/dist/session/handoff/assignment.js +11 -0
- package/dist/session/handoff/assignment.js.map +1 -0
- package/dist/session/handoff/broadcast.d.ts +47 -0
- package/dist/session/handoff/broadcast.d.ts.map +1 -0
- package/dist/session/handoff/broadcast.js +296 -0
- package/dist/session/handoff/broadcast.js.map +1 -0
- package/dist/session/handoff/capacity.d.ts +66 -0
- package/dist/session/handoff/capacity.d.ts.map +1 -0
- package/dist/session/handoff/capacity.js +60 -0
- package/dist/session/handoff/capacity.js.map +1 -0
- package/dist/session/handoff/events.d.ts +66 -0
- package/dist/session/handoff/events.d.ts.map +1 -0
- package/dist/session/handoff/events.js +13 -0
- package/dist/session/handoff/events.js.map +1 -0
- package/dist/session/handoff/index.d.ts +12 -0
- package/dist/session/handoff/index.d.ts.map +1 -0
- package/dist/session/handoff/index.js +9 -0
- package/dist/session/handoff/index.js.map +1 -0
- package/dist/session/handoff/single.d.ts +62 -0
- package/dist/session/handoff/single.d.ts.map +1 -0
- package/dist/session/handoff/single.js +217 -0
- package/dist/session/handoff/single.js.map +1 -0
- package/dist/session/handoff/version.d.ts +52 -0
- package/dist/session/handoff/version.d.ts.map +1 -0
- package/dist/session/handoff/version.js +36 -0
- package/dist/session/handoff/version.js.map +1 -0
- package/dist/session/hierarchy/__tests__/session.test.d.ts +2 -0
- package/dist/session/hierarchy/__tests__/session.test.d.ts.map +1 -0
- package/dist/session/hierarchy/__tests__/session.test.js +67 -0
- package/dist/session/hierarchy/__tests__/session.test.js.map +1 -0
- package/dist/session/hierarchy/actor.d.ts +26 -0
- package/dist/session/hierarchy/actor.d.ts.map +1 -0
- package/dist/session/hierarchy/actor.js +2 -0
- package/dist/session/hierarchy/actor.js.map +1 -0
- package/dist/session/hierarchy/index.d.ts +8 -0
- package/dist/session/hierarchy/index.d.ts.map +1 -0
- package/dist/session/hierarchy/index.js +4 -0
- package/dist/session/hierarchy/index.js.map +1 -0
- package/dist/session/hierarchy/lineage.d.ts +15 -0
- package/dist/session/hierarchy/lineage.d.ts.map +1 -0
- package/dist/session/hierarchy/lineage.js +2 -0
- package/dist/session/hierarchy/lineage.js.map +1 -0
- package/dist/session/hierarchy/project.d.ts +40 -0
- package/dist/session/hierarchy/project.d.ts.map +1 -0
- package/dist/session/hierarchy/project.js +2 -0
- package/dist/session/hierarchy/project.js.map +1 -0
- package/dist/session/hierarchy/session.d.ts +59 -0
- package/dist/session/hierarchy/session.d.ts.map +1 -0
- package/dist/session/hierarchy/session.js +51 -0
- package/dist/session/hierarchy/session.js.map +1 -0
- package/dist/session/hierarchy/sub-session.d.ts +76 -0
- package/dist/session/hierarchy/sub-session.d.ts.map +1 -0
- package/dist/session/hierarchy/sub-session.js +2 -0
- package/dist/session/hierarchy/sub-session.js.map +1 -0
- package/dist/session/hierarchy/tenant.d.ts +13 -0
- package/dist/session/hierarchy/tenant.d.ts.map +1 -0
- package/dist/session/hierarchy/tenant.js +2 -0
- package/dist/session/hierarchy/tenant.js.map +1 -0
- package/dist/session/index.d.ts +10 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +15 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/intervention/__tests__/prev-artifact.test.d.ts +2 -0
- package/dist/session/intervention/__tests__/prev-artifact.test.d.ts.map +1 -0
- package/dist/session/intervention/__tests__/prev-artifact.test.js +179 -0
- package/dist/session/intervention/__tests__/prev-artifact.test.js.map +1 -0
- package/dist/session/intervention/index.d.ts +3 -0
- package/dist/session/intervention/index.d.ts.map +1 -0
- package/dist/session/intervention/index.js +8 -0
- package/dist/session/intervention/index.js.map +1 -0
- package/dist/session/intervention/prev-artifact.d.ts +103 -0
- package/dist/session/intervention/prev-artifact.d.ts.map +1 -0
- package/dist/session/intervention/prev-artifact.js +112 -0
- package/dist/session/intervention/prev-artifact.js.map +1 -0
- package/dist/session/migration/__tests__/filesystem.test.d.ts +2 -0
- package/dist/session/migration/__tests__/filesystem.test.d.ts.map +1 -0
- package/dist/session/migration/__tests__/filesystem.test.js +188 -0
- package/dist/session/migration/__tests__/filesystem.test.js.map +1 -0
- package/dist/session/migration/__tests__/id-prefix.test.d.ts +2 -0
- package/dist/session/migration/__tests__/id-prefix.test.d.ts.map +1 -0
- package/dist/session/migration/__tests__/id-prefix.test.js +83 -0
- package/dist/session/migration/__tests__/id-prefix.test.js.map +1 -0
- package/dist/session/migration/__tests__/marker.test.d.ts +2 -0
- package/dist/session/migration/__tests__/marker.test.d.ts.map +1 -0
- package/dist/session/migration/__tests__/marker.test.js +75 -0
- package/dist/session/migration/__tests__/marker.test.js.map +1 -0
- package/dist/session/migration/errors.d.ts +26 -0
- package/dist/session/migration/errors.d.ts.map +1 -0
- package/dist/session/migration/errors.js +22 -0
- package/dist/session/migration/errors.js.map +1 -0
- package/dist/session/migration/filesystem.d.ts +94 -0
- package/dist/session/migration/filesystem.d.ts.map +1 -0
- package/dist/session/migration/filesystem.js +319 -0
- package/dist/session/migration/filesystem.js.map +1 -0
- package/dist/session/migration/id-prefix.d.ts +98 -0
- package/dist/session/migration/id-prefix.d.ts.map +1 -0
- package/dist/session/migration/id-prefix.js +116 -0
- package/dist/session/migration/id-prefix.js.map +1 -0
- package/dist/session/migration/index.d.ts +8 -0
- package/dist/session/migration/index.d.ts.map +1 -0
- package/dist/session/migration/index.js +8 -0
- package/dist/session/migration/index.js.map +1 -0
- package/dist/session/migration/marker.d.ts +57 -0
- package/dist/session/migration/marker.d.ts.map +1 -0
- package/dist/session/migration/marker.js +111 -0
- package/dist/session/migration/marker.js.map +1 -0
- package/dist/session/retention/__tests__/archive.test.d.ts +2 -0
- package/dist/session/retention/__tests__/archive.test.d.ts.map +1 -0
- package/dist/session/retention/__tests__/archive.test.js +252 -0
- package/dist/session/retention/__tests__/archive.test.js.map +1 -0
- package/dist/session/retention/__tests__/disk-backend.test.d.ts +2 -0
- package/dist/session/retention/__tests__/disk-backend.test.d.ts.map +1 -0
- package/dist/session/retention/__tests__/disk-backend.test.js +154 -0
- package/dist/session/retention/__tests__/disk-backend.test.js.map +1 -0
- package/dist/session/retention/archive-backend-ref.d.ts +18 -0
- package/dist/session/retention/archive-backend-ref.d.ts.map +1 -0
- package/dist/session/retention/archive-backend-ref.js +2 -0
- package/dist/session/retention/archive-backend-ref.js.map +1 -0
- package/dist/session/retention/archive.d.ts +130 -0
- package/dist/session/retention/archive.d.ts.map +1 -0
- package/dist/session/retention/archive.js +203 -0
- package/dist/session/retention/archive.js.map +1 -0
- package/dist/session/retention/backend.d.ts +101 -0
- package/dist/session/retention/backend.d.ts.map +1 -0
- package/dist/session/retention/backend.js +15 -0
- package/dist/session/retention/backend.js.map +1 -0
- package/dist/session/retention/disk-backend.d.ts +59 -0
- package/dist/session/retention/disk-backend.d.ts.map +1 -0
- package/dist/session/retention/disk-backend.js +236 -0
- package/dist/session/retention/disk-backend.js.map +1 -0
- package/dist/session/retention/index.d.ts +9 -0
- package/dist/session/retention/index.d.ts.map +1 -0
- package/dist/session/retention/index.js +6 -0
- package/dist/session/retention/index.js.map +1 -0
- package/dist/session/retention/policy.d.ts +49 -0
- package/dist/session/retention/policy.d.ts.map +1 -0
- package/dist/session/retention/policy.js +21 -0
- package/dist/session/retention/policy.js.map +1 -0
- package/dist/session/summary/__tests__/materialize.test.d.ts +2 -0
- package/dist/session/summary/__tests__/materialize.test.d.ts.map +1 -0
- package/dist/session/summary/__tests__/materialize.test.js +269 -0
- package/dist/session/summary/__tests__/materialize.test.js.map +1 -0
- package/dist/session/summary/deliverable.d.ts +74 -0
- package/dist/session/summary/deliverable.d.ts.map +1 -0
- package/dist/session/summary/deliverable.js +20 -0
- package/dist/session/summary/deliverable.js.map +1 -0
- package/dist/session/summary/index.d.ts +6 -0
- package/dist/session/summary/index.d.ts.map +1 -0
- package/dist/session/summary/index.js +9 -0
- package/dist/session/summary/index.js.map +1 -0
- package/dist/session/summary/materialize.d.ts +82 -0
- package/dist/session/summary/materialize.d.ts.map +1 -0
- package/dist/session/summary/materialize.js +117 -0
- package/dist/session/summary/materialize.js.map +1 -0
- package/dist/session/summary/ref.d.ts +91 -0
- package/dist/session/summary/ref.d.ts.map +1 -0
- package/dist/session/summary/ref.js +51 -0
- package/dist/session/summary/ref.js.map +1 -0
- package/dist/session/workspace/__tests__/git-worktree.test.d.ts +2 -0
- package/dist/session/workspace/__tests__/git-worktree.test.d.ts.map +1 -0
- package/dist/session/workspace/__tests__/git-worktree.test.js +244 -0
- package/dist/session/workspace/__tests__/git-worktree.test.js.map +1 -0
- package/dist/session/workspace/__tests__/path-builder.test.d.ts +2 -0
- package/dist/session/workspace/__tests__/path-builder.test.d.ts.map +1 -0
- package/dist/session/workspace/__tests__/path-builder.test.js +37 -0
- package/dist/session/workspace/__tests__/path-builder.test.js.map +1 -0
- package/dist/session/workspace/driver.d.ts +55 -0
- package/dist/session/workspace/driver.d.ts.map +1 -0
- package/dist/session/workspace/driver.js +12 -0
- package/dist/session/workspace/driver.js.map +1 -0
- package/dist/session/workspace/git-worktree.d.ts +65 -0
- package/dist/session/workspace/git-worktree.d.ts.map +1 -0
- package/dist/session/workspace/git-worktree.js +156 -0
- package/dist/session/workspace/git-worktree.js.map +1 -0
- package/dist/session/workspace/index.d.ts +8 -0
- package/dist/session/workspace/index.d.ts.map +1 -0
- package/dist/session/workspace/index.js +7 -0
- package/dist/session/workspace/index.js.map +1 -0
- package/dist/session/workspace/path-builder.d.ts +50 -0
- package/dist/session/workspace/path-builder.d.ts.map +1 -0
- package/dist/session/workspace/path-builder.js +50 -0
- package/dist/session/workspace/path-builder.js.map +1 -0
- package/dist/session/workspace/ref.d.ts +46 -0
- package/dist/session/workspace/ref.d.ts.map +1 -0
- package/dist/session/workspace/ref.js +11 -0
- package/dist/session/workspace/ref.js.map +1 -0
- package/dist/session/workspace/registry.d.ts +26 -0
- package/dist/session/workspace/registry.d.ts.map +1 -0
- package/dist/session/workspace/registry.js +35 -0
- package/dist/session/workspace/registry.js.map +1 -0
- package/dist/store/conversation/memory.d.ts +22 -0
- package/dist/store/conversation/memory.d.ts.map +1 -1
- package/dist/store/conversation/memory.js +22 -0
- package/dist/store/conversation/memory.js.map +1 -1
- package/dist/store/session/__tests__/disk.test.d.ts +2 -0
- package/dist/store/session/__tests__/disk.test.d.ts.map +1 -0
- package/dist/store/session/__tests__/disk.test.js +240 -0
- package/dist/store/session/__tests__/disk.test.js.map +1 -0
- package/dist/store/session/__tests__/memory.test.d.ts +2 -0
- package/dist/store/session/__tests__/memory.test.d.ts.map +1 -0
- package/dist/store/session/__tests__/memory.test.js +217 -0
- package/dist/store/session/__tests__/memory.test.js.map +1 -0
- package/dist/store/session/disk.d.ts +85 -0
- package/dist/store/session/disk.d.ts.map +1 -0
- package/dist/store/session/disk.js +757 -0
- package/dist/store/session/disk.js.map +1 -0
- package/dist/store/session/index.d.ts +7 -0
- package/dist/store/session/index.d.ts.map +1 -0
- package/dist/store/session/index.js +11 -0
- package/dist/store/session/index.js.map +1 -0
- package/dist/store/session/linkage.d.ts +38 -0
- package/dist/store/session/linkage.d.ts.map +1 -0
- package/dist/store/session/linkage.js +64 -0
- package/dist/store/session/linkage.js.map +1 -0
- package/dist/store/session/memory.d.ts +48 -0
- package/dist/store/session/memory.d.ts.map +1 -0
- package/dist/store/session/memory.js +322 -0
- package/dist/store/session/memory.js.map +1 -0
- package/dist/store/session/messages.d.ts +20 -0
- package/dist/store/session/messages.d.ts.map +1 -0
- package/dist/store/session/messages.js +12 -0
- package/dist/store/session/messages.js.map +1 -0
- package/dist/tools/builtins/__tests__/structuredOutput.example.d.ts +1 -1
- package/dist/types/agent/base.d.ts +28 -1
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +50 -2
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/agent/task.js.map +1 -1
- package/dist/types/conversation/index.d.ts +7 -0
- package/dist/types/conversation/index.d.ts.map +1 -1
- package/dist/types/ids/index.d.ts +26 -3
- package/dist/types/ids/index.d.ts.map +1 -1
- package/dist/types/ids/index.js +8 -1
- package/dist/types/ids/index.js.map +1 -1
- package/dist/types/invocation/__tests__/state.test.js +36 -29
- package/dist/types/invocation/__tests__/state.test.js.map +1 -1
- package/dist/types/invocation/index.d.ts +20 -4
- package/dist/types/invocation/index.d.ts.map +1 -1
- package/dist/types/invocation/index.js +10 -7
- package/dist/types/invocation/index.js.map +1 -1
- package/dist/types/run/config.d.ts +11 -1
- package/dist/types/run/config.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +26 -1
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/index.d.ts.map +1 -1
- package/dist/types/run/index.js +8 -0
- package/dist/types/run/index.js.map +1 -1
- package/dist/types/run/metadata.d.ts +24 -1
- package/dist/types/run/metadata.d.ts.map +1 -1
- package/dist/types/run/status.d.ts +26 -0
- package/dist/types/run/status.d.ts.map +1 -0
- package/dist/types/run/status.js +2 -0
- package/dist/types/run/status.js.map +1 -0
- package/dist/types/session/ids.d.ts +18 -0
- package/dist/types/session/ids.d.ts.map +1 -0
- package/dist/types/session/ids.js +12 -0
- package/dist/types/session/ids.js.map +1 -0
- package/dist/types/session/index.d.ts +3 -0
- package/dist/types/session/index.d.ts.map +1 -0
- package/dist/types/session/index.js +5 -0
- package/dist/types/session/index.js.map +1 -0
- package/dist/types/session/store.d.ts +188 -0
- package/dist/types/session/store.d.ts.map +1 -0
- package/dist/types/session/store.js +14 -0
- package/dist/types/session/store.js.map +1 -0
- package/dist/utils/id.d.ts +18 -1
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +42 -4
- package/dist/utils/id.js.map +1 -1
- package/package.json +1 -1
- package/src/agents/ReactiveAgent.ts +7 -3
- package/src/agents/RouterAgent.ts +5 -0
- package/src/agents/SupervisorAgent.ts +26 -6
- package/src/bridge/a2a/mapper.ts +7 -0
- package/src/bridge/a2a/task.ts +2 -2
- package/src/bridge/sse/mapper.ts +8 -1
- package/src/constants/a2a/index.ts +2 -2
- package/src/contracts/api.ts +23 -3
- package/src/contracts/index.ts +2 -0
- package/src/gateway/local.ts +6 -0
- package/src/index.ts +14 -0
- package/src/manager/agent/__tests__/lifecycle.test.ts +452 -0
- package/src/manager/agent/lifecycle.ts +434 -19
- package/src/manager/run/persistence.ts +20 -1
- package/src/run/reporter.ts +28 -0
- package/src/runtime/query/__tests__/context.test.ts +101 -0
- package/src/runtime/query/context.ts +106 -10
- package/src/runtime/query/events.ts +8 -0
- package/src/runtime/query/index.ts +41 -3
- package/src/session/__tests__/integration/_fixtures.ts +282 -0
- package/src/session/__tests__/integration/capacity-caps.test.ts +164 -0
- package/src/session/__tests__/integration/e2e-spawn.test.ts +278 -0
- package/src/session/__tests__/integration/event-stream-ordering.test.ts +403 -0
- package/src/session/__tests__/integration/handoff-broadcast-e2e.test.ts +245 -0
- package/src/session/__tests__/integration/handoff-illegal-transition.test.ts +179 -0
- package/src/session/__tests__/integration/handoff-single-e2e.test.ts +220 -0
- package/src/session/__tests__/integration/hierarchy-lifecycle.test.ts +237 -0
- package/src/session/__tests__/integration/migration-filesystem.test.ts +209 -0
- package/src/session/__tests__/integration/migration-id-prefix.test.ts +101 -0
- package/src/session/__tests__/integration/prev-artifact-dag.test.ts +318 -0
- package/src/session/__tests__/integration/retention-archive.test.ts +231 -0
- package/src/session/__tests__/integration/summary-materialization-e2e.test.ts +237 -0
- package/src/session/__tests__/integration/tenant-isolation.test.ts +282 -0
- package/src/session/errors.ts +70 -0
- package/src/session/events/index.ts +16 -0
- package/src/session/events/schema-version.ts +13 -0
- package/src/session/events/types.ts +71 -0
- package/src/session/handoff/__tests__/broadcast.test.ts +350 -0
- package/src/session/handoff/__tests__/capacity.test.ts +123 -0
- package/src/session/handoff/__tests__/single.test.ts +316 -0
- package/src/session/handoff/assignment.ts +62 -0
- package/src/session/handoff/broadcast.ts +381 -0
- package/src/session/handoff/capacity.ts +121 -0
- package/src/session/handoff/events.ts +72 -0
- package/src/session/handoff/index.ts +29 -0
- package/src/session/handoff/single.ts +288 -0
- package/src/session/handoff/version.ts +59 -0
- package/src/session/hierarchy/__tests__/session.test.ts +92 -0
- package/src/session/hierarchy/actor.ts +17 -0
- package/src/session/hierarchy/index.ts +17 -0
- package/src/session/hierarchy/lineage.ts +15 -0
- package/src/session/hierarchy/project.ts +41 -0
- package/src/session/hierarchy/session.ts +97 -0
- package/src/session/hierarchy/sub-session.ts +92 -0
- package/src/session/hierarchy/tenant.ts +13 -0
- package/src/session/index.ts +15 -0
- package/src/session/intervention/__tests__/prev-artifact.test.ts +234 -0
- package/src/session/intervention/index.ts +16 -0
- package/src/session/intervention/prev-artifact.ts +180 -0
- package/src/session/migration/__tests__/filesystem.test.ts +263 -0
- package/src/session/migration/__tests__/id-prefix.test.ts +101 -0
- package/src/session/migration/__tests__/marker.test.ts +84 -0
- package/src/session/migration/errors.ts +23 -0
- package/src/session/migration/filesystem.ts +401 -0
- package/src/session/migration/id-prefix.ts +146 -0
- package/src/session/migration/index.ts +38 -0
- package/src/session/migration/marker.ts +131 -0
- package/src/session/retention/__tests__/archive.test.ts +316 -0
- package/src/session/retention/__tests__/disk-backend.test.ts +180 -0
- package/src/session/retention/archive-backend-ref.ts +17 -0
- package/src/session/retention/archive.ts +281 -0
- package/src/session/retention/backend.ts +107 -0
- package/src/session/retention/disk-backend.ts +304 -0
- package/src/session/retention/index.ts +16 -0
- package/src/session/retention/policy.ts +53 -0
- package/src/session/summary/__tests__/materialize.test.ts +341 -0
- package/src/session/summary/deliverable.ts +84 -0
- package/src/session/summary/index.ts +31 -0
- package/src/session/summary/materialize.ts +169 -0
- package/src/session/summary/ref.ts +104 -0
- package/src/session/workspace/__tests__/git-worktree.test.ts +258 -0
- package/src/session/workspace/__tests__/path-builder.test.ts +51 -0
- package/src/session/workspace/driver.ts +60 -0
- package/src/session/workspace/git-worktree.ts +209 -0
- package/src/session/workspace/index.ts +25 -0
- package/src/session/workspace/path-builder.ts +71 -0
- package/src/session/workspace/ref.ts +50 -0
- package/src/session/workspace/registry.ts +42 -0
- package/src/store/conversation/memory.ts +23 -0
- package/src/store/session/__tests__/disk.test.ts +346 -0
- package/src/store/session/__tests__/memory.test.ts +327 -0
- package/src/store/session/disk.ts +920 -0
- package/src/store/session/index.ts +14 -0
- package/src/store/session/linkage.ts +80 -0
- package/src/store/session/memory.ts +400 -0
- package/src/store/session/messages.ts +21 -0
- package/src/types/agent/base.ts +31 -1
- package/src/types/agent/task.ts +58 -2
- package/src/types/conversation/index.ts +7 -0
- package/src/types/ids/index.ts +41 -3
- package/src/types/invocation/__tests__/state.test.ts +37 -29
- package/src/types/invocation/index.ts +26 -10
- package/src/types/run/config.ts +12 -1
- package/src/types/run/events.ts +36 -1
- package/src/types/run/index.ts +8 -0
- package/src/types/run/metadata.ts +24 -1
- package/src/types/run/status.ts +33 -0
- package/src/types/session/ids.ts +34 -0
- package/src/types/session/index.ts +28 -0
- package/src/types/session/store.ts +229 -0
- package/src/utils/id.ts +55 -4
|
@@ -41,7 +41,7 @@ export declare const createDataExtractionTool: () => import("../../../index.js")
|
|
|
41
41
|
}[];
|
|
42
42
|
}>;
|
|
43
43
|
export declare const createTaskResultTool: () => import("../../../index.js").ToolDefinition<{
|
|
44
|
-
status: "failed" | "
|
|
44
|
+
status: "failed" | "partial" | "success";
|
|
45
45
|
metadata: {
|
|
46
46
|
timestamp: string;
|
|
47
47
|
attempts: number;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { AgentStatus, CostInfo, TokenUsage } from '../common/index.js';
|
|
2
|
-
import type { RunId, ThreadId } from '../ids/index.js';
|
|
2
|
+
import type { RunId, SessionId, TenantId, ThreadId } from '../ids/index.js';
|
|
3
3
|
import type { InvocationState } from '../invocation/index.js';
|
|
4
4
|
import type { Message } from '../message/index.js';
|
|
5
5
|
import type { PermissionMode } from '../permission/index.js';
|
|
6
6
|
import type { StopReason } from '../run/stop-reason.js';
|
|
7
|
+
import type { ProjectId } from '../session/ids.js';
|
|
7
8
|
import type { TaskStore } from '../task/index.js';
|
|
8
9
|
import type { ToolAvailability } from '../tool/index.js';
|
|
9
10
|
export type AgentType = 'reactive' | 'pipeline' | 'router' | 'supervisor';
|
|
@@ -18,7 +19,33 @@ export interface BaseAgentConfig {
|
|
|
18
19
|
costLimitUsd?: number;
|
|
19
20
|
permissionMode?: PermissionMode;
|
|
20
21
|
env?: Record<string, string>;
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated Use `projectId`. Kept as a migration-window mirror; when both
|
|
24
|
+
* are present `projectId` wins. See session-hierarchy.md §13.1.
|
|
25
|
+
*/
|
|
21
26
|
threadId?: ThreadId;
|
|
27
|
+
/**
|
|
28
|
+
* Long-lived goal scope for the run. Required at runtime in 0.2.0 per
|
|
29
|
+
* session-hierarchy.md §12.1 — `{@link ReactiveAgent}`, `{@link
|
|
30
|
+
* SupervisorAgent}`, etc. reject configs missing this (`'X requires
|
|
31
|
+
* sessionId, projectId, and tenantId in config (§12.1)'`).
|
|
32
|
+
*
|
|
33
|
+
* Kept optional at the TYPE level during the 0.2.x migration window
|
|
34
|
+
* because {@link AgentManager} stamps this field AFTER `configBuilder`
|
|
35
|
+
* returns (manager/agent/lifecycle.ts:228–230). That stamping path is
|
|
36
|
+
* how every `@namzu/agents` configBuilder currently gets its tenant /
|
|
37
|
+
* session / project triple; flipping the type to required without first
|
|
38
|
+
* updating every {@link AgentFactoryOptions} consumer (which does not
|
|
39
|
+
* carry these fields) would be a gratuitous downstream break.
|
|
40
|
+
*
|
|
41
|
+
* Tightening to required is Phase 9 Known Delta #6. The type-level flip
|
|
42
|
+
* lands in 0.3.0 alongside `AgentFactoryOptions` gaining the triple.
|
|
43
|
+
*/
|
|
44
|
+
projectId?: ProjectId;
|
|
45
|
+
/** Session under which the run executes. See `projectId` for the tightening plan. */
|
|
46
|
+
sessionId?: SessionId;
|
|
47
|
+
/** Isolation boundary (Convention #17). See `projectId` for the tightening plan. */
|
|
48
|
+
tenantId?: TenantId;
|
|
22
49
|
parentRunId?: RunId;
|
|
23
50
|
depth?: number;
|
|
24
51
|
contextLevel?: AgentContextLevel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/agent/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/agent/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,26 @@
|
|
|
1
|
+
import type { ActorRef } from '../../session/hierarchy/actor.js';
|
|
2
|
+
import type { WorkspaceBackendKind } from '../../session/workspace/ref.js';
|
|
1
3
|
import type { TokenUsage } from '../common/index.js';
|
|
2
|
-
import type { RunId, TaskId,
|
|
4
|
+
import type { RunId, SessionId, TaskId, TenantId } from '../ids/index.js';
|
|
3
5
|
import type { Message } from '../message/index.js';
|
|
4
6
|
import type { RunEventListener } from '../run/events.js';
|
|
7
|
+
import type { ProjectId } from '../session/ids.js';
|
|
5
8
|
import type { AgentInput, BaseAgentConfig, BaseAgentResult } from './base.js';
|
|
6
9
|
import type { Agent } from './core.js';
|
|
7
10
|
import type { AgentFactoryOptions } from './factory.js';
|
|
8
11
|
export type AgentTaskState = 'pending' | 'running' | 'completed' | 'failed' | 'canceled' | 'rejected' | 'input-required';
|
|
9
12
|
export declare function isTerminalAgentTaskState(state: AgentTaskState): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Context carried into {@link AgentManager.sendMessage}. Phase 6 promotes
|
|
15
|
+
* `tenantId`, `sessionId`, `projectId`, and `parentActor` to required fields —
|
|
16
|
+
* the spawn path is the ingress point for the session hierarchy; callers must
|
|
17
|
+
* provide the full scoping set (session-hierarchy.md §12.1 required-callsite
|
|
18
|
+
* matrix).
|
|
19
|
+
*
|
|
20
|
+
* `threadId` was removed — `projectId` owns the root scope. The deprecated
|
|
21
|
+
* alias `type ThreadId = ProjectId` still compiles for consumers transitioning
|
|
22
|
+
* off the name, but the shape no longer exposes a separate slot.
|
|
23
|
+
*/
|
|
10
24
|
export interface AgentTaskContext {
|
|
11
25
|
parentRunId: RunId;
|
|
12
26
|
parentAgentId: string;
|
|
@@ -14,7 +28,21 @@ export interface AgentTaskContext {
|
|
|
14
28
|
depth: number;
|
|
15
29
|
budgetTracker: AgentTaskBudget;
|
|
16
30
|
factoryOptions?: AgentFactoryOptions;
|
|
17
|
-
|
|
31
|
+
/** Isolation boundary. Required per session-hierarchy.md §12.1. */
|
|
32
|
+
tenantId: TenantId;
|
|
33
|
+
/**
|
|
34
|
+
* Parent session under which any sub-agent spawn is recorded. Required
|
|
35
|
+
* in 0.2.0; a spawn cannot be attributed without it.
|
|
36
|
+
*/
|
|
37
|
+
sessionId: SessionId;
|
|
38
|
+
/** Long-lived goal scope (replaces `threadId`). Required. */
|
|
39
|
+
projectId: ProjectId;
|
|
40
|
+
/**
|
|
41
|
+
* The actor invoking this task. Children built off this context stamp
|
|
42
|
+
* their own `parentActor: ActorRef` linking back via the actor chain
|
|
43
|
+
* (session-hierarchy.md §4.3 / §10.4).
|
|
44
|
+
*/
|
|
45
|
+
parentActor: ActorRef;
|
|
18
46
|
}
|
|
19
47
|
export interface AgentTaskBudget {
|
|
20
48
|
total: number;
|
|
@@ -40,6 +68,12 @@ export interface AgentTaskProgress {
|
|
|
40
68
|
usage: TokenUsage;
|
|
41
69
|
recentActivities: string[];
|
|
42
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Options accepted by {@link AgentManager.sendMessage}. Phase 6 adds the
|
|
73
|
+
* required sub-session spawn scope (`parentSessionId`, `tenantId`, `projectId`,
|
|
74
|
+
* `parentActor`) so the manager can create a SubSession + child Session +
|
|
75
|
+
* WorkspaceRef triple atomically on every spawn.
|
|
76
|
+
*/
|
|
43
77
|
export interface SendMessageOptions {
|
|
44
78
|
agentId: string;
|
|
45
79
|
input: AgentInput;
|
|
@@ -48,6 +82,20 @@ export interface SendMessageOptions {
|
|
|
48
82
|
tokenBudget?: number;
|
|
49
83
|
timeoutMs?: number;
|
|
50
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Parent session under which the new sub-session is created. Capacity
|
|
87
|
+
* validation (depth + width) is applied against this session.
|
|
88
|
+
*/
|
|
89
|
+
parentSessionId: SessionId;
|
|
90
|
+
tenantId: TenantId;
|
|
91
|
+
projectId: ProjectId;
|
|
92
|
+
/** The actor requesting the spawn — seeds the child's `parentActor`. */
|
|
93
|
+
parentActor: ActorRef;
|
|
94
|
+
/**
|
|
95
|
+
* Workspace backend to provision for the child session. Defaults to
|
|
96
|
+
* `git-worktree` — the MVP reference backend from Phase 3.
|
|
97
|
+
*/
|
|
98
|
+
workspaceBackend?: WorkspaceBackendKind;
|
|
51
99
|
}
|
|
52
100
|
export interface AgentManagerConfig {
|
|
53
101
|
maxDepth: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/types/agent/task.ts"],"names":[],"mappings":"AAoBA,MAAM,UAAU,wBAAwB,CAAC,KAAqB;IAC7D,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAA;AACnG,CAAC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { RunId, ThreadId } from '../ids/index.js';
|
|
2
2
|
import type { Message } from '../message/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use `SessionStore` from `@namzu/sdk` (import via
|
|
5
|
+
* `types/session/store.ts` or the root barrel). `ConversationStore` is
|
|
6
|
+
* thread-scoped and does not carry the `tenantId` required by
|
|
7
|
+
* session-hierarchy.md §12.1. Scheduled for removal in 0.3.0; the one-
|
|
8
|
+
* version migration window follows session-hierarchy.md §13.1.
|
|
9
|
+
*/
|
|
3
10
|
export interface ConversationStore {
|
|
4
11
|
loadMessages(threadId: ThreadId): Message[];
|
|
5
12
|
persistRunResult(threadId: ThreadId, runId: RunId, messages: Message[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAAE,CAAA;IAE3C,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAC7E"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAAE,CAAA;IAE3C,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CAC7E"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export type ThreadId = `thd_${string}`;
|
|
2
1
|
export type RunId = `run_${string}`;
|
|
3
2
|
export type MessageId = `msg_${string}`;
|
|
4
|
-
export type SessionId = `
|
|
3
|
+
export type SessionId = `ses_${string}`;
|
|
5
4
|
export type ToolCallId = `call_${string}`;
|
|
6
5
|
export type ActivityId = `act_${string}`;
|
|
7
6
|
export type TaskId = `task_${string}`;
|
|
@@ -11,7 +10,7 @@ export type DocumentId = `doc_${string}`;
|
|
|
11
10
|
export type ChunkId = `chk_${string}`;
|
|
12
11
|
export type ConnectorId = `conn_${string}`;
|
|
13
12
|
export type ConnectorInstanceId = `ci_${string}`;
|
|
14
|
-
export type TenantId = `
|
|
13
|
+
export type TenantId = `tnt_${string}`;
|
|
15
14
|
export type CredentialId = `cred_${string}`;
|
|
16
15
|
export type ExecutionContextId = `ectx_${string}`;
|
|
17
16
|
export type MCPServerId = `mcp_${string}`;
|
|
@@ -26,4 +25,28 @@ export type EmergencySaveId = `esave_${string}`;
|
|
|
26
25
|
export type MemoryId = `mem_${string}`;
|
|
27
26
|
export type PluginId = `plg_${string}`;
|
|
28
27
|
export type SandboxId = `sbx_${string}`;
|
|
28
|
+
export type UserId = `usr_${string}`;
|
|
29
|
+
export type AgentId = `agt_${string}`;
|
|
30
|
+
export type MemoryStoreRef = `mms_${string}`;
|
|
31
|
+
export type VaultRef = `vlt_${string}`;
|
|
32
|
+
export type KnowledgeBaseRef = `kbs_${string}`;
|
|
33
|
+
export type ProjectId = `prj_${string}`;
|
|
34
|
+
export type SubSessionId = `sub_${string}`;
|
|
35
|
+
export type HandoffId = `hof_${string}`;
|
|
36
|
+
export type WorkspaceId = `wsp_${string}`;
|
|
37
|
+
export type SummaryId = `sum_${string}`;
|
|
38
|
+
export type DeliverableId = `del_${string}`;
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Use {@link ProjectId}. Alias retained for the 0.2.x migration
|
|
41
|
+
* window; will be removed in 0.3.0. See session-hierarchy.md §13.3.1.
|
|
42
|
+
*/
|
|
43
|
+
export type ThreadId = ProjectId;
|
|
44
|
+
/**
|
|
45
|
+
* Sentinel {@link TenantId} for legacy pre-0.2.0 runs rehomed by the
|
|
46
|
+
* boot-time filesystem migration (session-hierarchy.md §13.4.1). Consumers
|
|
47
|
+
* with strict tenant enforcement should either tag these records on first
|
|
48
|
+
* access or reject them until a real tenant is assigned — the kernel
|
|
49
|
+
* surfaces the sentinel but does not prescribe policy (Convention #17).
|
|
50
|
+
*/
|
|
51
|
+
export declare const UNKNOWN_TENANT_ID: TenantId;
|
|
29
52
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,EAAE,CAAA;AACnC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,QAAQ,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,eAAe,GAAG,MAAM,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,mBAAmB,GAAG,MAAM,MAAM,EAAE,CAAA;AAChD,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACjD,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,YAAY,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,CAAA;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAA;AACrC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,EAAE,CAAA;AACxC,MAAM,MAAM,cAAc,GAAG,QAAQ,MAAM,EAAE,CAAA;AAC7C,MAAM,MAAM,eAAe,GAAG,SAAS,MAAM,EAAE,CAAA;AAC/C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AAIvC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,EAAE,CAAA;AACpC,MAAM,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,CAAA;AAKrC,MAAM,MAAM,cAAc,GAAG,OAAO,MAAM,EAAE,CAAA;AAC5C,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,CAAA;AACtC,MAAM,MAAM,gBAAgB,GAAG,OAAO,MAAM,EAAE,CAAA;AAO9C,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,YAAY,GAAG,OAAO,MAAM,EAAE,CAAA;AAC1C,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,CAAA;AACzC,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAA;AACvC,MAAM,MAAM,aAAa,GAAG,OAAO,MAAM,EAAE,CAAA;AAE3C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAA;AAEhC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAA2B,QAAQ,CAAA"}
|
package/dist/types/ids/index.js
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Sentinel {@link TenantId} for legacy pre-0.2.0 runs rehomed by the
|
|
3
|
+
* boot-time filesystem migration (session-hierarchy.md §13.4.1). Consumers
|
|
4
|
+
* with strict tenant enforcement should either tag these records on first
|
|
5
|
+
* access or reject them until a real tenant is assigned — the kernel
|
|
6
|
+
* surfaces the sentinel but does not prescribe policy (Convention #17).
|
|
7
|
+
*/
|
|
8
|
+
export const UNKNOWN_TENANT_ID = 'tnt_unknown_legacy';
|
|
2
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/ids/index.ts"],"names":[],"mappings":"AA0DA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAgC,CAAA"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
2
|
import { deriveChildState } from '../index.js';
|
|
3
|
+
const ROOT_TENANT = 'tnt_root';
|
|
3
4
|
describe('InvocationState', () => {
|
|
4
5
|
describe('deriveChildState', () => {
|
|
5
|
-
it('
|
|
6
|
-
const childState = deriveChildState(
|
|
6
|
+
it('seeds parentChain from a root seed when no parent state exists', () => {
|
|
7
|
+
const childState = deriveChildState({ tenantId: ROOT_TENANT }, 'agent-123');
|
|
7
8
|
expect(childState.parentChain).toEqual(['agent-123']);
|
|
8
|
-
expect(childState.tenantId).
|
|
9
|
+
expect(childState.tenantId).toBe(ROOT_TENANT);
|
|
9
10
|
expect(childState.metadata).toBeUndefined();
|
|
10
11
|
expect(childState.services).toBeUndefined();
|
|
11
12
|
});
|
|
12
|
-
it('
|
|
13
|
+
it('seeds parentChain when parent has no parentChain', () => {
|
|
13
14
|
const parent = {
|
|
14
|
-
tenantId: '
|
|
15
|
+
tenantId: 'tnt_abc',
|
|
15
16
|
metadata: { userId: 'user-123' },
|
|
16
17
|
};
|
|
17
18
|
const childState = deriveChildState(parent, 'agent-456');
|
|
@@ -19,16 +20,16 @@ describe('InvocationState', () => {
|
|
|
19
20
|
expect(childState.tenantId).toBe(parent.tenantId);
|
|
20
21
|
expect(childState.metadata).toBe(parent.metadata);
|
|
21
22
|
});
|
|
22
|
-
it('
|
|
23
|
+
it('extends parentChain with current agent', () => {
|
|
23
24
|
const parent = {
|
|
24
25
|
parentChain: ['supervisor', 'router'],
|
|
25
|
-
tenantId: '
|
|
26
|
+
tenantId: 'tnt_xyz',
|
|
26
27
|
};
|
|
27
28
|
const childState = deriveChildState(parent, 'worker-agent');
|
|
28
29
|
expect(childState.parentChain).toEqual(['supervisor', 'router', 'worker-agent']);
|
|
29
30
|
});
|
|
30
|
-
it('
|
|
31
|
-
const tenantId = '
|
|
31
|
+
it('preserves tenantId through derivation', () => {
|
|
32
|
+
const tenantId = 'tnt_tenant123';
|
|
32
33
|
const parent = {
|
|
33
34
|
tenantId,
|
|
34
35
|
parentChain: ['agent-1'],
|
|
@@ -36,13 +37,14 @@ describe('InvocationState', () => {
|
|
|
36
37
|
const childState = deriveChildState(parent, 'agent-2');
|
|
37
38
|
expect(childState.tenantId).toBe(tenantId);
|
|
38
39
|
});
|
|
39
|
-
it('
|
|
40
|
+
it('preserves metadata through derivation', () => {
|
|
40
41
|
const metadata = {
|
|
41
42
|
userId: 'user-456',
|
|
42
|
-
sessionId: '
|
|
43
|
+
sessionId: 'ses_789',
|
|
43
44
|
correlationId: 'corr_abc',
|
|
44
45
|
};
|
|
45
46
|
const parent = {
|
|
47
|
+
tenantId: ROOT_TENANT,
|
|
46
48
|
metadata,
|
|
47
49
|
parentChain: ['agent-1'],
|
|
48
50
|
};
|
|
@@ -50,23 +52,24 @@ describe('InvocationState', () => {
|
|
|
50
52
|
expect(childState.metadata).toBe(metadata);
|
|
51
53
|
expect(childState.metadata?.userId).toBe('user-456');
|
|
52
54
|
});
|
|
53
|
-
it('
|
|
55
|
+
it('preserves services through derivation', () => {
|
|
54
56
|
const services = {
|
|
55
57
|
db: { pool: 'mock-pool' },
|
|
56
58
|
cache: { client: 'mock-redis' },
|
|
57
59
|
};
|
|
58
60
|
const parent = {
|
|
61
|
+
tenantId: ROOT_TENANT,
|
|
59
62
|
services,
|
|
60
63
|
parentChain: ['agent-1'],
|
|
61
64
|
};
|
|
62
65
|
const childState = deriveChildState(parent, 'agent-2');
|
|
63
66
|
expect(childState.services).toBe(services);
|
|
64
67
|
});
|
|
65
|
-
it('
|
|
66
|
-
const tenantId = '
|
|
68
|
+
it('preserves all fields through multi-level derivation', () => {
|
|
69
|
+
const tenantId = 'tnt_multi';
|
|
67
70
|
const metadata = { userId: 'user-multi' };
|
|
68
71
|
const services = { db: 'postgres' };
|
|
69
|
-
const level1 = deriveChildState(
|
|
72
|
+
const level1 = deriveChildState({ tenantId }, 'supervisor');
|
|
70
73
|
expect(level1.parentChain).toEqual(['supervisor']);
|
|
71
74
|
const parent = {
|
|
72
75
|
tenantId,
|
|
@@ -85,8 +88,9 @@ describe('InvocationState', () => {
|
|
|
85
88
|
expect(level3.metadata).toBe(metadata);
|
|
86
89
|
expect(level3.services).toBe(services);
|
|
87
90
|
});
|
|
88
|
-
it('
|
|
91
|
+
it('creates immutable parentChain', () => {
|
|
89
92
|
const parent = {
|
|
93
|
+
tenantId: ROOT_TENANT,
|
|
90
94
|
parentChain: ['agent-1'],
|
|
91
95
|
};
|
|
92
96
|
const childState = deriveChildState(parent, 'agent-2');
|
|
@@ -94,28 +98,29 @@ describe('InvocationState', () => {
|
|
|
94
98
|
expect(parent.parentChain).toEqual(['agent-1']);
|
|
95
99
|
expect(childState.parentChain).toEqual(['agent-1', 'agent-2']);
|
|
96
100
|
});
|
|
97
|
-
it('
|
|
101
|
+
it('handles empty parentChain in parent', () => {
|
|
98
102
|
const parent = {
|
|
103
|
+
tenantId: ROOT_TENANT,
|
|
99
104
|
parentChain: [],
|
|
100
105
|
};
|
|
101
106
|
const childState = deriveChildState(parent, 'agent-first');
|
|
102
107
|
expect(childState.parentChain).toEqual(['agent-first']);
|
|
103
108
|
});
|
|
104
|
-
it('
|
|
109
|
+
it('allows complex agent IDs in parentChain', () => {
|
|
105
110
|
const agentIds = ['supervisor-agent-123', 'router-multi-path', 'worker-task-handler'];
|
|
106
|
-
let state;
|
|
111
|
+
let state = { tenantId: ROOT_TENANT };
|
|
107
112
|
for (const agentId of agentIds) {
|
|
108
113
|
state = deriveChildState(state, agentId);
|
|
109
114
|
}
|
|
110
|
-
expect(state
|
|
115
|
+
expect(state.parentChain).toEqual(agentIds);
|
|
111
116
|
});
|
|
112
|
-
it('
|
|
117
|
+
it('does not mutate parent state', () => {
|
|
113
118
|
const parent = {
|
|
114
119
|
parentChain: ['original'],
|
|
115
|
-
tenantId: '
|
|
120
|
+
tenantId: 'tnt_orig',
|
|
116
121
|
metadata: { key: 'value' },
|
|
117
122
|
};
|
|
118
|
-
const originalParentChain = [...parent.parentChain];
|
|
123
|
+
const originalParentChain = [...(parent.parentChain ?? [])];
|
|
119
124
|
deriveChildState(parent, 'child');
|
|
120
125
|
// Parent state should remain unchanged
|
|
121
126
|
expect(parent.parentChain).toEqual(originalParentChain);
|
|
@@ -123,29 +128,30 @@ describe('InvocationState', () => {
|
|
|
123
128
|
});
|
|
124
129
|
});
|
|
125
130
|
describe('InvocationState immutability', () => {
|
|
126
|
-
it('
|
|
131
|
+
it('has readonly fields', () => {
|
|
127
132
|
const state = {
|
|
128
|
-
tenantId: '
|
|
133
|
+
tenantId: 'tnt_test',
|
|
129
134
|
metadata: { key: 'value' },
|
|
130
135
|
services: { db: 'postgres' },
|
|
131
136
|
parentChain: ['agent-1'],
|
|
132
137
|
};
|
|
133
138
|
// Type system enforces immutability, so these assertions verify the type definitions
|
|
134
|
-
expect(state.tenantId).toBe('
|
|
139
|
+
expect(state.tenantId).toBe('tnt_test');
|
|
135
140
|
expect(state.metadata).toBeDefined();
|
|
136
141
|
expect(state.services).toBeDefined();
|
|
137
142
|
expect(state.parentChain).toBeDefined();
|
|
138
143
|
});
|
|
139
|
-
it('
|
|
144
|
+
it('supports undefined optional fields (tenantId still required)', () => {
|
|
140
145
|
const minimalState = {
|
|
146
|
+
tenantId: ROOT_TENANT,
|
|
141
147
|
parentChain: ['agent-1'],
|
|
142
148
|
};
|
|
143
|
-
expect(minimalState.tenantId).
|
|
149
|
+
expect(minimalState.tenantId).toBe(ROOT_TENANT);
|
|
144
150
|
expect(minimalState.metadata).toBeUndefined();
|
|
145
151
|
expect(minimalState.services).toBeUndefined();
|
|
146
152
|
expect(minimalState.parentChain).toEqual(['agent-1']);
|
|
147
153
|
});
|
|
148
|
-
it('
|
|
154
|
+
it('handles metadata with various types', () => {
|
|
149
155
|
const metadata = {
|
|
150
156
|
userId: 'user-123',
|
|
151
157
|
count: 42,
|
|
@@ -154,6 +160,7 @@ describe('InvocationState', () => {
|
|
|
154
160
|
array: [1, 2, 3],
|
|
155
161
|
};
|
|
156
162
|
const state = {
|
|
163
|
+
tenantId: ROOT_TENANT,
|
|
157
164
|
metadata,
|
|
158
165
|
};
|
|
159
166
|
expect(state.metadata?.userId).toBe('user-123');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.test.js","sourceRoot":"","sources":["../../../../src/types/invocation/__tests__/state.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"state.test.js","sourceRoot":"","sources":["../../../../src/types/invocation/__tests__/state.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,12 @@ import type { TenantId } from '../ids/index.js';
|
|
|
13
13
|
* - Tools can access state via ToolContext.invocationState
|
|
14
14
|
*/
|
|
15
15
|
export interface InvocationState {
|
|
16
|
-
/**
|
|
17
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Isolation boundary — required in 0.2.0 per session-hierarchy.md §12.1.
|
|
18
|
+
* Every store accessor downstream branches on this id; omission is a
|
|
19
|
+
* compile-time error.
|
|
20
|
+
*/
|
|
21
|
+
readonly tenantId: TenantId;
|
|
18
22
|
/** Request-scoped metadata (user info, session, correlation IDs, etc.) */
|
|
19
23
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
20
24
|
/** Shared services (DB clients, external APIs, cache, etc.) */
|
|
@@ -22,6 +26,14 @@ export interface InvocationState {
|
|
|
22
26
|
/** Parent agent chain for debugging/tracing (agent IDs in order) */
|
|
23
27
|
readonly parentChain?: readonly string[];
|
|
24
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Params for {@link deriveChildState} when the parent is absent. `tenantId`
|
|
31
|
+
* is required even at the top level — the kernel refuses to guess tenant
|
|
32
|
+
* identity (session-hierarchy.md §12.1).
|
|
33
|
+
*/
|
|
34
|
+
export interface DeriveChildStateRoot {
|
|
35
|
+
readonly tenantId: TenantId;
|
|
36
|
+
}
|
|
25
37
|
/**
|
|
26
38
|
* Create a child invocation state with the current agent appended to parentChain.
|
|
27
39
|
*
|
|
@@ -29,9 +41,13 @@ export interface InvocationState {
|
|
|
29
41
|
* to sub-agents. It ensures the full agent hierarchy is tracked for debugging,
|
|
30
42
|
* logging, and tenant isolation validation.
|
|
31
43
|
*
|
|
32
|
-
*
|
|
44
|
+
* When `parent` is undefined (top-level agent), a minimal root context is
|
|
45
|
+
* required so `tenantId` can be seeded — see {@link DeriveChildStateRoot}.
|
|
46
|
+
* `InvocationState.tenantId` is required in 0.2.0 (§12.1).
|
|
47
|
+
*
|
|
48
|
+
* @param parent The parent invocation state, or a root seed carrying `tenantId`.
|
|
33
49
|
* @param currentAgentId The ID of the agent making the delegation
|
|
34
50
|
* @returns A new InvocationState with currentAgentId appended to parentChain
|
|
35
51
|
*/
|
|
36
|
-
export declare function deriveChildState(parent: InvocationState |
|
|
52
|
+
export declare function deriveChildState(parent: InvocationState | DeriveChildStateRoot, currentAgentId: string): InvocationState;
|
|
37
53
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC/B
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/invocation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAE3B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErD,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErD,oEAAoE;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,eAAe,GAAG,oBAAoB,EAC9C,cAAc,EAAE,MAAM,GACpB,eAAe,CAUjB"}
|
|
@@ -5,18 +5,21 @@
|
|
|
5
5
|
* to sub-agents. It ensures the full agent hierarchy is tracked for debugging,
|
|
6
6
|
* logging, and tenant isolation validation.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* When `parent` is undefined (top-level agent), a minimal root context is
|
|
9
|
+
* required so `tenantId` can be seeded — see {@link DeriveChildStateRoot}.
|
|
10
|
+
* `InvocationState.tenantId` is required in 0.2.0 (§12.1).
|
|
11
|
+
*
|
|
12
|
+
* @param parent The parent invocation state, or a root seed carrying `tenantId`.
|
|
9
13
|
* @param currentAgentId The ID of the agent making the delegation
|
|
10
14
|
* @returns A new InvocationState with currentAgentId appended to parentChain
|
|
11
15
|
*/
|
|
12
16
|
export function deriveChildState(parent, currentAgentId) {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
: [currentAgentId];
|
|
17
|
+
const existingChain = 'parentChain' in parent ? parent.parentChain : undefined;
|
|
18
|
+
const parentChain = existingChain ? [...existingChain, currentAgentId] : [currentAgentId];
|
|
16
19
|
return {
|
|
17
|
-
tenantId: parent
|
|
18
|
-
metadata: parent
|
|
19
|
-
services: parent
|
|
20
|
+
tenantId: parent.tenantId,
|
|
21
|
+
metadata: 'metadata' in parent ? parent.metadata : undefined,
|
|
22
|
+
services: 'services' in parent ? parent.services : undefined,
|
|
20
23
|
parentChain,
|
|
21
24
|
};
|
|
22
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/invocation/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/invocation/index.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAC/B,MAA8C,EAC9C,cAAsB;IAEtB,MAAM,aAAa,GAAG,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAEzF,OAAO;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC5D,QAAQ,EAAE,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC5D,WAAW;KACX,CAAA;AACF,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { ModelPricing } from '../../utils/cost.js';
|
|
2
2
|
import type { Logger } from '../../utils/logger.js';
|
|
3
|
-
import type { RunId } from '../ids/index.js';
|
|
3
|
+
import type { RunId, SessionId, TenantId } from '../ids/index.js';
|
|
4
4
|
import type { PermissionMode } from '../permission/index.js';
|
|
5
|
+
import type { ProjectId } from '../session/ids.js';
|
|
5
6
|
export interface AgentRunConfig {
|
|
6
7
|
model: string;
|
|
7
8
|
timeoutMs: number;
|
|
@@ -18,6 +19,12 @@ export interface AgentRunConfig {
|
|
|
18
19
|
maxProcesses?: number;
|
|
19
20
|
};
|
|
20
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Config for {@link RunPersistence}. Phase 6 promotes `sessionId`, `tenantId`,
|
|
24
|
+
* and `projectId` to required — every Run must be attributed to a Session
|
|
25
|
+
* under a Project within a Tenant (session-hierarchy.md §12.1). The legacy
|
|
26
|
+
* `threadId`-only shape is gone.
|
|
27
|
+
*/
|
|
21
28
|
export interface RunPersistenceConfig {
|
|
22
29
|
runId: RunId;
|
|
23
30
|
agentId: string;
|
|
@@ -27,6 +34,9 @@ export interface RunPersistenceConfig {
|
|
|
27
34
|
outputDir: string;
|
|
28
35
|
pricing?: ModelPricing;
|
|
29
36
|
log: Logger;
|
|
37
|
+
sessionId: SessionId;
|
|
38
|
+
tenantId: TenantId;
|
|
39
|
+
projectId: ProjectId;
|
|
30
40
|
parentRunId?: RunId;
|
|
31
41
|
depth?: number;
|
|
32
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/run/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/run/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,OAAO,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACD;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;IAEX,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IAEpB,WAAW,CAAC,EAAE,KAAK,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,sBAAsB,EAAE,MAAM,CAAA;CAC9B"}
|