@namzu/sdk 0.4.0 → 0.4.2
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 +86 -0
- package/dist/__tests__/replay-public-surface.test.d.ts +2 -0
- package/dist/__tests__/replay-public-surface.test.d.ts.map +1 -0
- package/dist/__tests__/replay-public-surface.test.js +45 -0
- package/dist/__tests__/replay-public-surface.test.js.map +1 -0
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.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/config/runtime.d.ts +24 -25
- package/dist/config/runtime.d.ts.map +1 -1
- package/dist/config/runtime.js.map +1 -1
- package/dist/contracts/api.d.ts +2 -2
- package/dist/contracts/api.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +1 -2
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/schemas.d.ts +10 -10
- package/dist/index.d.ts +3 -103
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -89
- package/dist/index.js.map +1 -1
- package/dist/manager/agent/__tests__/lifecycle.test.js.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts +1 -1
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +1 -1
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +3 -3
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/manager/thread/__tests__/lifecycle.test.js.map +1 -1
- package/dist/manager/thread/lifecycle.d.ts +1 -1
- package/dist/manager/thread/lifecycle.d.ts.map +1 -1
- package/dist/plugin/loader.d.ts +0 -5
- package/dist/plugin/loader.d.ts.map +1 -1
- package/dist/plugin/loader.js +1 -13
- package/dist/plugin/loader.js.map +1 -1
- package/dist/public-runtime.d.ts +70 -0
- package/dist/public-runtime.d.ts.map +1 -0
- package/dist/public-runtime.js +108 -0
- package/dist/public-runtime.js.map +1 -0
- package/dist/public-tools.d.ts +19 -0
- package/dist/public-tools.d.ts.map +1 -0
- package/dist/public-tools.js +34 -0
- package/dist/public-tools.js.map +1 -0
- package/dist/public-types.d.ts +55 -0
- package/dist/public-types.d.ts.map +1 -0
- package/dist/public-types.js +14 -0
- package/dist/public-types.js.map +1 -0
- package/dist/rag/rag-tool.d.ts +1 -1
- package/dist/run/LimitChecker.d.ts +0 -1
- package/dist/run/LimitChecker.d.ts.map +1 -1
- package/dist/run/LimitChecker.js +0 -6
- package/dist/run/LimitChecker.js.map +1 -1
- package/dist/run/reporter.d.ts +2 -2
- package/dist/run/reporter.d.ts.map +1 -1
- package/dist/run/reporter.js.map +1 -1
- package/dist/runtime/query/__tests__/checkpoint.test.d.ts +2 -0
- package/dist/runtime/query/__tests__/checkpoint.test.d.ts.map +1 -0
- package/dist/runtime/query/__tests__/checkpoint.test.js +150 -0
- package/dist/runtime/query/__tests__/checkpoint.test.js.map +1 -0
- package/dist/runtime/query/checkpoint.d.ts +23 -0
- package/dist/runtime/query/checkpoint.d.ts.map +1 -1
- package/dist/runtime/query/checkpoint.js +49 -0
- package/dist/runtime/query/checkpoint.js.map +1 -1
- package/dist/runtime/query/context.d.ts +0 -2
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +0 -4
- package/dist/runtime/query/context.js.map +1 -1
- package/dist/runtime/query/index.d.ts +3 -3
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/replay/__tests__/mutate.test.d.ts +2 -0
- package/dist/runtime/query/replay/__tests__/mutate.test.d.ts.map +1 -0
- package/dist/runtime/query/replay/__tests__/mutate.test.js +123 -0
- package/dist/runtime/query/replay/__tests__/mutate.test.js.map +1 -0
- package/dist/runtime/query/replay/__tests__/prepare.test.d.ts +2 -0
- package/dist/runtime/query/replay/__tests__/prepare.test.d.ts.map +1 -0
- package/dist/runtime/query/replay/__tests__/prepare.test.js +171 -0
- package/dist/runtime/query/replay/__tests__/prepare.test.js.map +1 -0
- package/dist/runtime/query/replay/list.d.ts +24 -0
- package/dist/runtime/query/replay/list.d.ts.map +1 -0
- package/dist/runtime/query/replay/list.js +21 -0
- package/dist/runtime/query/replay/list.js.map +1 -0
- package/dist/runtime/query/replay/mutate.d.ts +17 -0
- package/dist/runtime/query/replay/mutate.d.ts.map +1 -0
- package/dist/runtime/query/replay/mutate.js +62 -0
- package/dist/runtime/query/replay/mutate.js.map +1 -0
- package/dist/runtime/query/replay/prepare.d.ts +56 -0
- package/dist/runtime/query/replay/prepare.d.ts.map +1 -0
- package/dist/runtime/query/replay/prepare.js +65 -0
- package/dist/runtime/query/replay/prepare.js.map +1 -0
- package/dist/runtime/query/result.d.ts +2 -2
- package/dist/runtime/query/result.d.ts.map +1 -1
- package/dist/session/__tests__/integration/_fixtures.d.ts +4 -4
- package/dist/session/__tests__/integration/_fixtures.d.ts.map +1 -1
- package/dist/session/__tests__/integration/_fixtures.js.map +1 -1
- package/dist/session/__tests__/integration/archive-gate.test.js.map +1 -1
- package/dist/session/__tests__/integration/capacity-caps.test.js.map +1 -1
- package/dist/session/__tests__/integration/e2e-spawn.test.js.map +1 -1
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js.map +1 -1
- package/dist/session/__tests__/integration/handoff-single-e2e.test.js.map +1 -1
- package/dist/session/__tests__/integration/prev-artifact-dag.test.js.map +1 -1
- package/dist/session/__tests__/integration/retention-archive.test.js.map +1 -1
- package/dist/session/__tests__/integration/spawn-rollback.test.js.map +1 -1
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.js +1 -1
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.js.map +1 -1
- package/dist/session/errors.d.ts +1 -1
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/events/index.d.ts +3 -3
- package/dist/session/events/index.d.ts.map +1 -1
- package/dist/session/events/index.js +3 -2
- package/dist/session/events/index.js.map +1 -1
- package/dist/session/handoff/__tests__/broadcast.test.js.map +1 -1
- package/dist/session/handoff/__tests__/capacity.test.js.map +1 -1
- package/dist/session/handoff/__tests__/single.test.js.map +1 -1
- package/dist/session/handoff/assignment.d.ts +1 -1
- package/dist/session/handoff/assignment.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.js.map +1 -1
- package/dist/session/handoff/single.d.ts.map +1 -1
- package/dist/session/handoff/single.js.map +1 -1
- package/dist/session/index.d.ts +0 -1
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +7 -6
- package/dist/session/index.js.map +1 -1
- package/dist/session/intervention/__tests__/prev-artifact.test.js.map +1 -1
- package/dist/session/intervention/prev-artifact.d.ts +1 -1
- package/dist/session/intervention/prev-artifact.d.ts.map +1 -1
- package/dist/session/retention/__tests__/archive.test.js.map +1 -1
- package/dist/session/retention/__tests__/disk-backend.test.js.map +1 -1
- package/dist/session/retention/archive.d.ts +1 -1
- package/dist/session/retention/archive.d.ts.map +1 -1
- package/dist/session/retention/backend.d.ts +4 -4
- package/dist/session/retention/backend.d.ts.map +1 -1
- package/dist/session/retention/disk-backend.d.ts +1 -1
- package/dist/session/retention/disk-backend.d.ts.map +1 -1
- package/dist/session/retention/index.d.ts +3 -3
- package/dist/session/retention/index.d.ts.map +1 -1
- package/dist/session/retention/index.js +4 -2
- package/dist/session/retention/index.js.map +1 -1
- package/dist/session/status/__tests__/derive.test.d.ts +2 -0
- package/dist/session/status/__tests__/derive.test.d.ts.map +1 -0
- package/dist/session/{hierarchy/__tests__/session.test.js → status/__tests__/derive.test.js} +2 -2
- package/dist/session/status/__tests__/derive.test.js.map +1 -0
- package/dist/session/status/derive.d.ts +33 -0
- package/dist/session/status/derive.d.ts.map +1 -0
- package/dist/session/{hierarchy/session.js → status/derive.js} +6 -1
- package/dist/session/status/derive.js.map +1 -0
- package/dist/session/summary/__tests__/materialize.test.js +2 -1
- package/dist/session/summary/__tests__/materialize.test.js.map +1 -1
- package/dist/session/summary/errors.d.ts +43 -0
- package/dist/session/summary/errors.d.ts.map +1 -0
- package/dist/session/summary/errors.js +37 -0
- package/dist/session/summary/errors.js.map +1 -0
- package/dist/session/summary/index.d.ts +4 -3
- package/dist/session/summary/index.d.ts.map +1 -1
- package/dist/session/summary/index.js +5 -4
- package/dist/session/summary/index.js.map +1 -1
- package/dist/session/summary/materialize.d.ts +2 -2
- package/dist/session/summary/materialize.d.ts.map +1 -1
- package/dist/session/summary/materialize.js +2 -1
- package/dist/session/summary/materialize.js.map +1 -1
- package/dist/session/workspace/__tests__/git-worktree.test.js.map +1 -1
- package/dist/session/workspace/driver.d.ts +2 -2
- package/dist/session/workspace/driver.d.ts.map +1 -1
- package/dist/session/workspace/git-worktree.d.ts +1 -1
- package/dist/session/workspace/git-worktree.d.ts.map +1 -1
- package/dist/session/workspace/git-worktree.js.map +1 -1
- package/dist/session/workspace/index.d.ts +1 -1
- package/dist/session/workspace/index.d.ts.map +1 -1
- package/dist/session/workspace/index.js +3 -2
- package/dist/session/workspace/index.js.map +1 -1
- package/dist/store/run/disk.d.ts +4 -4
- package/dist/store/run/disk.d.ts.map +1 -1
- package/dist/store/run/disk.js.map +1 -1
- package/dist/store/session/__tests__/disk.test.js.map +1 -1
- package/dist/store/session/__tests__/memory.test.js.map +1 -1
- package/dist/store/session/disk.d.ts +6 -6
- package/dist/store/session/disk.d.ts.map +1 -1
- package/dist/store/session/disk.js +1 -1
- package/dist/store/session/disk.js.map +1 -1
- package/dist/store/session/index.d.ts +1 -1
- package/dist/store/session/index.d.ts.map +1 -1
- package/dist/store/session/index.js +2 -1
- package/dist/store/session/index.js.map +1 -1
- package/dist/store/session/linkage.d.ts +1 -1
- package/dist/store/session/linkage.d.ts.map +1 -1
- package/dist/store/session/memory.d.ts +5 -5
- package/dist/store/session/memory.d.ts.map +1 -1
- package/dist/store/session/memory.js +1 -1
- package/dist/store/session/memory.js.map +1 -1
- package/dist/store/thread/disk.d.ts +1 -1
- package/dist/store/thread/disk.d.ts.map +1 -1
- package/dist/store/thread/memory.d.ts +1 -1
- package/dist/store/thread/memory.d.ts.map +1 -1
- package/dist/telemetry/attributes.d.ts +0 -1
- package/dist/telemetry/attributes.d.ts.map +1 -1
- package/dist/telemetry/attributes.js +0 -3
- package/dist/telemetry/attributes.js.map +1 -1
- package/dist/telemetry/runtime-accessors.d.ts +1 -2
- package/dist/telemetry/runtime-accessors.d.ts.map +1 -1
- package/dist/telemetry/runtime-accessors.js +1 -4
- package/dist/telemetry/runtime-accessors.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts +1 -1
- package/dist/tools/builtins/computer-use.d.ts +4 -4
- package/dist/tools/builtins/edit.d.ts +1 -1
- package/dist/tools/builtins/glob.d.ts +1 -1
- package/dist/tools/builtins/grep.d.ts +1 -1
- package/dist/tools/builtins/ls.d.ts +1 -1
- package/dist/tools/builtins/read-file.d.ts +1 -1
- package/dist/tools/builtins/search-tools.d.ts +1 -1
- package/dist/tools/builtins/write-file.d.ts +1 -1
- package/dist/types/agent/task.d.ts +2 -2
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/{session/hierarchy/project.d.ts → types/project/entity.d.ts} +4 -4
- package/dist/types/project/entity.d.ts.map +1 -0
- package/dist/types/project/entity.js +2 -0
- package/dist/types/project/entity.js.map +1 -0
- package/dist/types/project/index.d.ts +2 -0
- package/dist/types/project/index.d.ts.map +1 -0
- package/dist/types/project/index.js +4 -0
- package/dist/types/project/index.js.map +1 -0
- package/dist/types/retention/archive-backend-ref.d.ts.map +1 -0
- package/dist/types/retention/archive-backend-ref.js.map +1 -0
- package/dist/types/retention/index.d.ts +4 -0
- package/dist/types/retention/index.d.ts.map +1 -0
- package/dist/types/retention/index.js +4 -0
- package/dist/types/retention/index.js.map +1 -0
- package/dist/types/retention/policy.d.ts.map +1 -0
- package/dist/types/retention/policy.js.map +1 -0
- package/dist/types/run/entity.d.ts +56 -0
- package/dist/types/run/entity.d.ts.map +1 -0
- package/dist/types/run/entity.js +2 -0
- package/dist/types/run/entity.js.map +1 -0
- package/dist/types/run/events.d.ts +2 -2
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/index.d.ts +7 -1
- package/dist/types/run/index.d.ts.map +1 -1
- package/dist/types/run/index.js +8 -9
- package/dist/types/run/index.js.map +1 -1
- package/dist/{session/hierarchy → types/run}/lineage.d.ts +1 -1
- package/dist/types/run/lineage.d.ts.map +1 -0
- package/dist/types/run/lineage.js.map +1 -0
- package/dist/types/run/replay.d.ts +53 -0
- package/dist/types/run/replay.d.ts.map +1 -0
- package/dist/types/run/replay.js +15 -0
- package/dist/types/run/replay.js.map +1 -0
- package/dist/types/run/schema-version.d.ts.map +1 -0
- package/dist/types/run/schema-version.js.map +1 -0
- package/dist/{session/events/types.d.ts → types/run/subsession-events.d.ts} +5 -5
- package/dist/types/run/subsession-events.d.ts.map +1 -0
- package/dist/types/run/subsession-events.js +2 -0
- package/dist/types/run/subsession-events.js.map +1 -0
- package/dist/{session/hierarchy → types/session}/actor.d.ts +1 -1
- package/dist/types/session/actor.d.ts.map +1 -0
- package/dist/{session/hierarchy → types/session}/actor.js.map +1 -1
- package/dist/types/session/entity.d.ts +51 -0
- package/dist/types/session/entity.d.ts.map +1 -0
- package/dist/types/session/entity.js +2 -0
- package/dist/types/session/entity.js.map +1 -0
- package/dist/types/session/index.d.ts +4 -0
- package/dist/types/session/index.d.ts.map +1 -1
- package/dist/{store → types}/session/messages.d.ts +2 -2
- package/dist/{store → types}/session/messages.d.ts.map +1 -1
- package/dist/types/session/messages.js.map +1 -0
- package/dist/types/session/store.d.ts +6 -6
- package/dist/types/session/store.d.ts.map +1 -1
- package/dist/{session/hierarchy → types/session}/sub-session.d.ts +9 -9
- package/dist/types/session/sub-session.d.ts.map +1 -0
- package/dist/types/session/sub-session.js.map +1 -0
- package/dist/{session → types}/summary/deliverable.d.ts +2 -2
- package/dist/types/summary/deliverable.d.ts.map +1 -0
- package/dist/types/summary/deliverable.js.map +1 -0
- package/dist/types/summary/index.d.ts +4 -0
- package/dist/types/summary/index.d.ts.map +1 -0
- package/dist/types/summary/index.js +4 -0
- package/dist/types/summary/index.js.map +1 -0
- package/dist/{session → types}/summary/ref.d.ts +9 -36
- package/dist/types/summary/ref.d.ts.map +1 -0
- package/dist/types/summary/ref.js +28 -0
- package/dist/types/summary/ref.js.map +1 -0
- package/dist/{session/hierarchy/tenant.d.ts → types/tenant/entity.d.ts} +2 -2
- package/dist/types/tenant/entity.d.ts.map +1 -0
- package/dist/types/tenant/entity.js +2 -0
- package/dist/types/tenant/entity.js.map +1 -0
- package/dist/types/tenant/index.d.ts +2 -0
- package/dist/types/tenant/index.d.ts.map +1 -0
- package/dist/types/tenant/index.js +4 -0
- package/dist/types/tenant/index.js.map +1 -0
- package/dist/{session/hierarchy/thread.d.ts → types/thread/entity.d.ts} +31 -7
- package/dist/types/thread/entity.d.ts.map +1 -0
- package/dist/types/thread/entity.js +2 -0
- package/dist/types/thread/entity.js.map +1 -0
- package/dist/types/thread/index.d.ts +1 -0
- package/dist/types/thread/index.d.ts.map +1 -1
- package/dist/types/thread/store.d.ts +1 -1
- package/dist/types/thread/store.d.ts.map +1 -1
- package/dist/types/workspace/index.d.ts +2 -0
- package/dist/types/workspace/index.d.ts.map +1 -0
- package/dist/types/workspace/index.js +7 -0
- package/dist/types/workspace/index.js.map +1 -0
- package/dist/{session → types}/workspace/ref.d.ts +1 -1
- package/dist/types/workspace/ref.d.ts.map +1 -0
- package/dist/types/workspace/ref.js.map +1 -0
- package/package.json +1 -1
- package/src/__tests__/replay-public-surface.test.ts +54 -0
- package/src/agents/SupervisorAgent.ts +1 -1
- package/src/bridge/a2a/task.ts +4 -4
- package/src/config/runtime.ts +0 -2
- package/src/contracts/api.ts +2 -2
- package/src/contracts/index.ts +1 -3
- package/src/index.ts +11 -362
- package/src/manager/agent/__tests__/lifecycle.test.ts +2 -2
- package/src/manager/agent/lifecycle.ts +5 -5
- package/src/manager/run/persistence.ts +4 -4
- package/src/manager/thread/__tests__/lifecycle.test.ts +1 -1
- package/src/manager/thread/lifecycle.ts +2 -2
- package/src/plugin/loader.ts +0 -16
- package/src/public-runtime.ts +373 -0
- package/src/public-tools.ts +63 -0
- package/src/public-types.ts +156 -0
- package/src/run/LimitChecker.ts +0 -9
- package/src/run/reporter.ts +3 -3
- package/src/runtime/query/__tests__/checkpoint.test.ts +169 -0
- package/src/runtime/query/checkpoint.ts +54 -0
- package/src/runtime/query/context.ts +0 -5
- package/src/runtime/query/index.ts +4 -4
- package/src/runtime/query/replay/__tests__/mutate.test.ts +134 -0
- package/src/runtime/query/replay/__tests__/prepare.test.ts +207 -0
- package/src/runtime/query/replay/list.ts +32 -0
- package/src/runtime/query/replay/mutate.ts +76 -0
- package/src/runtime/query/replay/prepare.ts +114 -0
- package/src/runtime/query/result.ts +2 -2
- package/src/session/__tests__/integration/_fixtures.ts +2 -2
- package/src/session/__tests__/integration/archive-gate.test.ts +1 -1
- package/src/session/__tests__/integration/capacity-caps.test.ts +1 -1
- package/src/session/__tests__/integration/e2e-spawn.test.ts +1 -1
- package/src/session/__tests__/integration/handoff-broadcast-e2e.test.ts +1 -1
- package/src/session/__tests__/integration/handoff-single-e2e.test.ts +1 -1
- package/src/session/__tests__/integration/prev-artifact-dag.test.ts +4 -1
- package/src/session/__tests__/integration/retention-archive.test.ts +1 -1
- package/src/session/__tests__/integration/spawn-rollback.test.ts +2 -2
- package/src/session/__tests__/integration/summary-materialization-e2e.test.ts +1 -1
- package/src/session/errors.ts +1 -1
- package/src/session/events/index.ts +5 -4
- package/src/session/handoff/__tests__/broadcast.test.ts +1 -1
- package/src/session/handoff/__tests__/capacity.test.ts +1 -1
- package/src/session/handoff/__tests__/single.test.ts +1 -1
- package/src/session/handoff/assignment.ts +1 -1
- package/src/session/handoff/broadcast.ts +2 -2
- package/src/session/handoff/single.ts +2 -2
- package/src/session/index.ts +7 -6
- package/src/session/intervention/__tests__/prev-artifact.test.ts +4 -1
- package/src/session/intervention/prev-artifact.ts +1 -1
- package/src/session/retention/__tests__/archive.test.ts +3 -3
- package/src/session/retention/__tests__/disk-backend.test.ts +4 -4
- package/src/session/retention/archive.ts +2 -2
- package/src/session/retention/backend.ts +4 -4
- package/src/session/retention/disk-backend.ts +4 -4
- package/src/session/retention/index.ts +6 -4
- package/src/session/{hierarchy/__tests__/session.test.ts → status/__tests__/derive.test.ts} +3 -2
- package/src/session/{hierarchy/session.ts → status/derive.ts} +9 -55
- package/src/session/summary/__tests__/materialize.test.ts +4 -7
- package/src/session/summary/errors.ts +51 -0
- package/src/session/summary/index.ts +7 -10
- package/src/session/summary/materialize.ts +4 -5
- package/src/session/workspace/__tests__/git-worktree.test.ts +1 -1
- package/src/session/workspace/driver.ts +2 -2
- package/src/session/workspace/git-worktree.ts +1 -1
- package/src/session/workspace/index.ts +7 -6
- package/src/store/run/disk.ts +4 -4
- package/src/store/session/__tests__/disk.test.ts +2 -2
- package/src/store/session/__tests__/memory.test.ts +2 -2
- package/src/store/session/disk.ts +12 -12
- package/src/store/session/index.ts +3 -2
- package/src/store/session/linkage.ts +1 -1
- package/src/store/session/memory.ts +6 -6
- package/src/store/thread/disk.ts +1 -1
- package/src/store/thread/memory.ts +1 -1
- package/src/telemetry/attributes.ts +0 -4
- package/src/telemetry/runtime-accessors.ts +1 -5
- package/src/types/agent/task.ts +2 -2
- package/src/{session/hierarchy/project.ts → types/project/entity.ts} +3 -3
- package/src/types/project/index.ts +4 -0
- package/src/types/retention/index.ts +6 -0
- package/src/types/run/entity.ts +63 -0
- package/src/types/run/events.ts +6 -6
- package/src/types/run/index.ts +16 -9
- package/src/{session/hierarchy → types/run}/lineage.ts +1 -1
- package/src/types/run/replay.ts +61 -0
- package/src/{session/events/types.ts → types/run/subsession-events.ts} +4 -4
- package/src/{session/hierarchy → types/session}/actor.ts +1 -1
- package/src/types/session/entity.ts +59 -0
- package/src/types/session/index.ts +15 -0
- package/src/{store → types}/session/messages.ts +2 -2
- package/src/types/session/store.ts +6 -6
- package/src/{session/hierarchy → types/session}/sub-session.ts +9 -9
- package/src/{session → types}/summary/deliverable.ts +2 -2
- package/src/types/summary/index.ts +18 -0
- package/src/{session → types}/summary/ref.ts +9 -44
- package/src/{session/hierarchy/tenant.ts → types/tenant/entity.ts} +1 -1
- package/src/types/tenant/index.ts +4 -0
- package/src/{session/hierarchy/thread.ts → types/thread/entity.ts} +30 -6
- package/src/types/thread/index.ts +1 -0
- package/src/types/thread/store.ts +1 -1
- package/src/types/workspace/index.ts +12 -0
- package/src/{session → types}/workspace/ref.ts +1 -1
- package/dist/contracts/ids.d.ts +0 -2
- package/dist/contracts/ids.d.ts.map +0 -1
- package/dist/contracts/ids.js +0 -2
- package/dist/contracts/ids.js.map +0 -1
- package/dist/session/events/schema-version.d.ts.map +0 -1
- package/dist/session/events/schema-version.js.map +0 -1
- package/dist/session/events/types.d.ts.map +0 -1
- package/dist/session/events/types.js +0 -2
- package/dist/session/events/types.js.map +0 -1
- package/dist/session/hierarchy/__tests__/session.test.d.ts +0 -2
- package/dist/session/hierarchy/__tests__/session.test.d.ts.map +0 -1
- package/dist/session/hierarchy/__tests__/session.test.js.map +0 -1
- package/dist/session/hierarchy/actor.d.ts.map +0 -1
- package/dist/session/hierarchy/index.d.ts +0 -9
- package/dist/session/hierarchy/index.d.ts.map +0 -1
- package/dist/session/hierarchy/index.js +0 -4
- package/dist/session/hierarchy/index.js.map +0 -1
- package/dist/session/hierarchy/lineage.d.ts.map +0 -1
- package/dist/session/hierarchy/lineage.js.map +0 -1
- package/dist/session/hierarchy/project.d.ts.map +0 -1
- package/dist/session/hierarchy/project.js +0 -2
- package/dist/session/hierarchy/project.js.map +0 -1
- package/dist/session/hierarchy/session.d.ts +0 -71
- package/dist/session/hierarchy/session.d.ts.map +0 -1
- package/dist/session/hierarchy/session.js.map +0 -1
- package/dist/session/hierarchy/sub-session.d.ts.map +0 -1
- package/dist/session/hierarchy/sub-session.js.map +0 -1
- package/dist/session/hierarchy/tenant.d.ts.map +0 -1
- package/dist/session/hierarchy/tenant.js +0 -2
- package/dist/session/hierarchy/tenant.js.map +0 -1
- package/dist/session/hierarchy/thread.d.ts.map +0 -1
- package/dist/session/hierarchy/thread.js +0 -2
- package/dist/session/hierarchy/thread.js.map +0 -1
- package/dist/session/retention/archive-backend-ref.d.ts.map +0 -1
- package/dist/session/retention/archive-backend-ref.js.map +0 -1
- package/dist/session/retention/policy.d.ts.map +0 -1
- package/dist/session/retention/policy.js.map +0 -1
- package/dist/session/summary/deliverable.d.ts.map +0 -1
- package/dist/session/summary/deliverable.js.map +0 -1
- package/dist/session/summary/ref.d.ts.map +0 -1
- package/dist/session/summary/ref.js +0 -51
- package/dist/session/summary/ref.js.map +0 -1
- package/dist/session/workspace/ref.d.ts.map +0 -1
- package/dist/session/workspace/ref.js.map +0 -1
- package/dist/store/session/messages.js.map +0 -1
- package/dist/tools/builtins/__tests__/structuredOutput.example.d.ts +0 -140
- package/dist/tools/builtins/__tests__/structuredOutput.example.d.ts.map +0 -1
- package/dist/tools/builtins/__tests__/structuredOutput.example.js +0 -183
- package/dist/tools/builtins/__tests__/structuredOutput.example.js.map +0 -1
- package/dist/types/run/state.d.ts +0 -30
- package/dist/types/run/state.d.ts.map +0 -1
- package/dist/types/run/state.js +0 -2
- package/dist/types/run/state.js.map +0 -1
- package/src/contracts/ids.ts +0 -1
- package/src/session/hierarchy/index.ts +0 -18
- package/src/tools/builtins/__tests__/structuredOutput.example.ts +0 -221
- package/src/types/run/state.ts +0 -35
- /package/dist/{session → types}/retention/archive-backend-ref.d.ts +0 -0
- /package/dist/{session → types}/retention/archive-backend-ref.js +0 -0
- /package/dist/{session → types}/retention/policy.d.ts +0 -0
- /package/dist/{session → types}/retention/policy.js +0 -0
- /package/dist/{session/hierarchy → types/run}/lineage.js +0 -0
- /package/dist/{session/events → types/run}/schema-version.d.ts +0 -0
- /package/dist/{session/events → types/run}/schema-version.js +0 -0
- /package/dist/{session/hierarchy → types/session}/actor.js +0 -0
- /package/dist/{store → types}/session/messages.js +0 -0
- /package/dist/{session/hierarchy → types/session}/sub-session.js +0 -0
- /package/dist/{session → types}/summary/deliverable.js +0 -0
- /package/dist/{session → types}/workspace/ref.js +0 -0
- /package/src/{session → types}/retention/archive-backend-ref.ts +0 -0
- /package/src/{session → types}/retention/policy.ts +0 -0
- /package/src/{session/events → types/run}/schema-version.ts +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { AgentStatus, CostInfo, TokenUsage } from '../common/index.js'
|
|
2
|
+
import type { RunId } from '../ids/index.js'
|
|
3
|
+
import type { Message } from '../message/index.js'
|
|
4
|
+
import type { AgentRunConfig } from './config.js'
|
|
5
|
+
import type { ReplayAttribution } from './replay.js'
|
|
6
|
+
import type { StopReason } from './stop-reason.js'
|
|
7
|
+
|
|
8
|
+
export interface RunStateMetadata {
|
|
9
|
+
agentId: string
|
|
10
|
+
agentName: string
|
|
11
|
+
config: AgentRunConfig
|
|
12
|
+
provider: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type SessionMetadata = RunStateMetadata
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Domain Run entity — the persistence record for a single agent invocation
|
|
19
|
+
* under a {@link import('../session/entity.js').Session}. Renamed from
|
|
20
|
+
* `AgentRun` on 2026-04-21 (ses_010 commit 7) to match the 5-layer hierarchy
|
|
21
|
+
* (`Project → Thread → Session → SubSession → Run`) ratified in ses_001.
|
|
22
|
+
*
|
|
23
|
+
* The wire counterpart is `WireRun` under `contracts/api.ts` — the two stay
|
|
24
|
+
* decoupled so the HTTP field shape can evolve independently from this
|
|
25
|
+
* persistence record. See `docs/sdk/sessions/` for the public hierarchy
|
|
26
|
+
* reference.
|
|
27
|
+
*/
|
|
28
|
+
export interface Run {
|
|
29
|
+
id: RunId
|
|
30
|
+
status: AgentStatus
|
|
31
|
+
metadata: RunStateMetadata
|
|
32
|
+
messages: Message[]
|
|
33
|
+
tokenUsage: TokenUsage
|
|
34
|
+
costInfo: CostInfo
|
|
35
|
+
currentIteration: number
|
|
36
|
+
startedAt: number
|
|
37
|
+
endedAt?: number
|
|
38
|
+
stopReason?: StopReason
|
|
39
|
+
lastError?: string
|
|
40
|
+
result?: string
|
|
41
|
+
|
|
42
|
+
parentRunId?: RunId
|
|
43
|
+
|
|
44
|
+
depth?: number
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Present when this run was produced by {@link replay}. `undefined` for
|
|
48
|
+
* original runs. See `ses_005-deterministic-replay` for the primitive.
|
|
49
|
+
*/
|
|
50
|
+
replayOf?: ReplayAttribution
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @deprecated Use {@link Run}. Alias retained for the 0.4.x compatibility
|
|
55
|
+
* window; scheduled for removal in a later session.
|
|
56
|
+
*/
|
|
57
|
+
export type AgentRun = Run
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @deprecated Use {@link Run}. Alias retained for the 0.4.x compatibility
|
|
61
|
+
* window; scheduled for removal in a later session.
|
|
62
|
+
*/
|
|
63
|
+
export type AgentSession = Run
|
package/src/types/run/events.ts
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
SubsessionIdledEvent,
|
|
3
|
-
SubsessionMessagedEvent,
|
|
4
|
-
SubsessionSpawnedEvent,
|
|
5
|
-
} from '../../session/events/index.js'
|
|
6
|
-
import type { Lineage } from '../../session/hierarchy/lineage.js'
|
|
7
1
|
import type { ActivityStatus, ActivityType } from '../activity/index.js'
|
|
8
2
|
import type { BaseAgentResult } from '../agent/base.js'
|
|
9
3
|
import type { CostInfo, TokenUsage } from '../common/index.js'
|
|
@@ -12,6 +6,12 @@ import type { ActivityId, PlanId, PluginId, RunId, SandboxId, TaskId } from '../
|
|
|
12
6
|
import type { PlanStep } from '../plan/index.js'
|
|
13
7
|
import type { PluginHookEvent, PluginHookResult } from '../plugin/index.js'
|
|
14
8
|
import type { TaskStatus } from '../task/index.js'
|
|
9
|
+
import type { Lineage } from './lineage.js'
|
|
10
|
+
import type {
|
|
11
|
+
SubsessionIdledEvent,
|
|
12
|
+
SubsessionMessagedEvent,
|
|
13
|
+
SubsessionSpawnedEvent,
|
|
14
|
+
} from './subsession-events.js'
|
|
15
15
|
|
|
16
16
|
export type { StopReason } from './stop-reason.js'
|
|
17
17
|
|
package/src/types/run/index.ts
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
export * from './stop-reason.js'
|
|
2
2
|
export * from './config.js'
|
|
3
|
-
export * from './
|
|
4
|
-
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
// `
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
// so external consumers of `@namzu/sdk` land on the domain enum while
|
|
11
|
-
// `@namzu/contracts` continues to own the wire shape.
|
|
3
|
+
export * from './entity.js'
|
|
4
|
+
export * from './replay.js'
|
|
5
|
+
// Domain `RunStatus` (session-hierarchy.md §4.6 state machine). Safe to
|
|
6
|
+
// re-export via `export *` now — the former wire-side `RunStatus` alias was
|
|
7
|
+
// renamed to `WireRunStatus` in ses_010 commit 7, so there is no longer a
|
|
8
|
+
// collision to avoid.
|
|
9
|
+
export * from './status.js'
|
|
12
10
|
export * from './events.js'
|
|
13
11
|
export * from './metadata.js'
|
|
14
12
|
export * from './emergency.js'
|
|
13
|
+
export type { Lineage } from './lineage.js'
|
|
14
|
+
export type {
|
|
15
|
+
SubsessionIdledEvent,
|
|
16
|
+
SubsessionLifecycleEvent,
|
|
17
|
+
SubsessionMessagedEvent,
|
|
18
|
+
SubsessionSpawnedEvent,
|
|
19
|
+
} from './subsession-events.js'
|
|
20
|
+
export { RUN_EVENT_SCHEMA_VERSION } from './schema-version.js'
|
|
21
|
+
export type { RunEventSchemaVersion } from './schema-version.js'
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { CheckpointId, RunId, ToolCallId } from '../ids/index.js'
|
|
2
|
+
import type { ToolResult } from '../tool/index.js'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Controlled mutation applied at the fork point during {@link replay}.
|
|
6
|
+
*
|
|
7
|
+
* v1 ships a single variant: `injectToolResponse` — the 80% debugging use
|
|
8
|
+
* case. Additional variants (`swapProvider`, `overrideBudget`, etc.) are
|
|
9
|
+
* deferred; see ses_005-deterministic-replay §3.3.
|
|
10
|
+
*/
|
|
11
|
+
export type Mutation = {
|
|
12
|
+
type: 'injectToolResponse'
|
|
13
|
+
toolCallId: ToolCallId
|
|
14
|
+
response: ToolResult
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Lightweight listing entry returned by {@link listCheckpoints}. Projected
|
|
19
|
+
* from {@link import('../hitl/index.js').IterationCheckpoint} — not a full
|
|
20
|
+
* checkpoint payload, just enough to pick a fork point.
|
|
21
|
+
*
|
|
22
|
+
* Named `CheckpointListEntry` (not `CheckpointSummary`) to avoid collision
|
|
23
|
+
* with the pre-existing HITL `CheckpointSummary` shape at
|
|
24
|
+
* `types/hitl/index.ts`.
|
|
25
|
+
*/
|
|
26
|
+
export interface CheckpointListEntry {
|
|
27
|
+
id: CheckpointId
|
|
28
|
+
runId: RunId
|
|
29
|
+
iteration: number
|
|
30
|
+
createdAt: number
|
|
31
|
+
messageCount: number
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Attribution record stamped on a {@link Run} produced by {@link replay}.
|
|
36
|
+
* Non-replay runs have `replayOf === undefined`. Shape mirrors voltagent's
|
|
37
|
+
* `replayedFromExecutionId` / `replayFromStepId` pattern, folded into a
|
|
38
|
+
* single optional rather than three parallel ones.
|
|
39
|
+
*/
|
|
40
|
+
export interface ReplayAttribution {
|
|
41
|
+
sourceRunId: RunId
|
|
42
|
+
fromCheckpointId: CheckpointId
|
|
43
|
+
mutations: Mutation[]
|
|
44
|
+
replayedAt: number
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Thrown when a {@link Mutation} cannot be applied at the resolved fork
|
|
49
|
+
* point. Currently raised by `injectToolResponse` when the supplied
|
|
50
|
+
* `toolCallId` does not match any pending tool call in the checkpoint's
|
|
51
|
+
* last assistant message.
|
|
52
|
+
*/
|
|
53
|
+
export class MutationNotApplicableError extends Error {
|
|
54
|
+
constructor(
|
|
55
|
+
message: string,
|
|
56
|
+
public readonly availableToolCallIds: readonly ToolCallId[],
|
|
57
|
+
) {
|
|
58
|
+
super(message)
|
|
59
|
+
this.name = 'MutationNotApplicableError'
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { MessageId, RunId, SessionId } from '
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { Lineage } from '
|
|
1
|
+
import type { MessageId, RunId, SessionId } from '../ids/index.js'
|
|
2
|
+
import type { ActorRef } from '../session/actor.js'
|
|
3
|
+
import type { SubSessionId } from '../session/ids.js'
|
|
4
|
+
import type { Lineage } from './lineage.js'
|
|
5
5
|
import type { RunEventSchemaVersion } from './schema-version.js'
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { SessionId, TenantId } from '../ids/index.js'
|
|
2
|
+
import type { ActorRef } from './actor.js'
|
|
3
|
+
import type { ProjectId, ThreadId, WorkspaceId } from './ids.js'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Session lifecycle states. See session-hierarchy.md §4.3 and the state
|
|
7
|
+
* machine in §5.1. `awaiting_merge` is a sub-state of idle used on the
|
|
8
|
+
* broadcast source session (§5.4) between fan-out and all recipients
|
|
9
|
+
* terminalizing.
|
|
10
|
+
*/
|
|
11
|
+
export type SessionStatus =
|
|
12
|
+
| 'active'
|
|
13
|
+
| 'idle'
|
|
14
|
+
| 'locked'
|
|
15
|
+
| 'awaiting_hitl'
|
|
16
|
+
| 'awaiting_merge'
|
|
17
|
+
| 'failed'
|
|
18
|
+
| 'archived'
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Multi-turn work unit owned by exactly one {@link ActorRef} at a time.
|
|
22
|
+
*
|
|
23
|
+
* Scope identifiers:
|
|
24
|
+
* - `threadId` — the topic-level {@link import('../thread/entity.js').Thread}
|
|
25
|
+
* this Session lives under. Set at creation, immutable; Sessions never
|
|
26
|
+
* move threads.
|
|
27
|
+
* - `projectId` — the {@link import('../project/entity.js').Project} the
|
|
28
|
+
* owning Thread belongs to. **Denormalized** from `thread.projectId` at
|
|
29
|
+
* creation time; immutable. Kept on the Session record for ergonomic
|
|
30
|
+
* access (Project-scoped consumers — handoff validators, archival,
|
|
31
|
+
* retention — would otherwise need a second round-trip to ThreadStore
|
|
32
|
+
* on every read). This is NOT a deprecated mirror of a fading field;
|
|
33
|
+
* it is a deliberate denormalization of structurally-immutable derived
|
|
34
|
+
* data.
|
|
35
|
+
*
|
|
36
|
+
* Other invariants (session-hierarchy.md §4.3):
|
|
37
|
+
* - `previousActors` is append-only and publicly read-only; previous
|
|
38
|
+
* owners cannot write to the session again.
|
|
39
|
+
* - `ownerVersion` is the CAS counter for handoff (§6.1 / §6.2 / §6.4).
|
|
40
|
+
* - `workspaceId` is nullable for sessions whose workspace has not yet
|
|
41
|
+
* been provisioned (or has been torn down during archival).
|
|
42
|
+
*
|
|
43
|
+
* The pure `deriveStatus(session, runs)` fan-in helper lives at
|
|
44
|
+
* `session/status/derive.ts` — it is runtime, not a shape, so it is not
|
|
45
|
+
* colocated with this interface.
|
|
46
|
+
*/
|
|
47
|
+
export interface Session {
|
|
48
|
+
id: SessionId
|
|
49
|
+
threadId: ThreadId
|
|
50
|
+
projectId: ProjectId
|
|
51
|
+
tenantId: TenantId
|
|
52
|
+
status: SessionStatus
|
|
53
|
+
currentActor: ActorRef | null
|
|
54
|
+
previousActors: readonly ActorRef[]
|
|
55
|
+
workspaceId: WorkspaceId | null
|
|
56
|
+
ownerVersion: number
|
|
57
|
+
createdAt: Date
|
|
58
|
+
updatedAt: Date
|
|
59
|
+
}
|
|
@@ -25,3 +25,18 @@ export type {
|
|
|
25
25
|
CreateSessionParams,
|
|
26
26
|
CreateSubSessionParams,
|
|
27
27
|
} from './store.js'
|
|
28
|
+
|
|
29
|
+
export type { SessionMessage } from './messages.js'
|
|
30
|
+
|
|
31
|
+
export type { ActorRef, SystemRoleId } from './actor.js'
|
|
32
|
+
|
|
33
|
+
export type { Session, SessionStatus } from './entity.js'
|
|
34
|
+
|
|
35
|
+
export type {
|
|
36
|
+
CompletionMode,
|
|
37
|
+
DeliverableRef,
|
|
38
|
+
FailureMode,
|
|
39
|
+
SubSession,
|
|
40
|
+
SubSessionKind,
|
|
41
|
+
SubSessionStatus,
|
|
42
|
+
} from './sub-session.js'
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* addressability + tenant isolation.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import type { MessageId, SessionId, TenantId } from '
|
|
13
|
-
import type { Message } from '
|
|
12
|
+
import type { MessageId, SessionId, TenantId } from '../ids/index.js'
|
|
13
|
+
import type { Message } from '../message/index.js'
|
|
14
14
|
|
|
15
15
|
export interface SessionMessage {
|
|
16
16
|
readonly id: MessageId
|
|
@@ -6,17 +6,17 @@
|
|
|
6
6
|
* API — extensions land alongside their consumers.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type {
|
|
10
|
-
import type {
|
|
11
|
-
import type { Session } from '../../session/
|
|
9
|
+
import type { Project } from '../../types/project/entity.js'
|
|
10
|
+
import type { ActorRef } from '../../types/session/actor.js'
|
|
11
|
+
import type { Session } from '../../types/session/entity.js'
|
|
12
|
+
import type { SessionMessage } from '../../types/session/messages.js'
|
|
12
13
|
import type {
|
|
13
14
|
CompletionMode,
|
|
14
15
|
FailureMode,
|
|
15
16
|
SubSession,
|
|
16
17
|
SubSessionKind,
|
|
17
|
-
} from '../../session/
|
|
18
|
-
import type { SessionSummaryRef } from '../../
|
|
19
|
-
import type { SessionMessage } from '../../store/session/messages.js'
|
|
18
|
+
} from '../../types/session/sub-session.js'
|
|
19
|
+
import type { SessionSummaryRef } from '../../types/summary/ref.js'
|
|
20
20
|
import type { MessageId, SessionId, TenantId } from '../ids/index.js'
|
|
21
21
|
import type { Message } from '../message/index.js'
|
|
22
22
|
import type { ProjectId, SubSessionId, SummaryId, ThreadId } from '../session/ids.js'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { DeliverableRef } from '../summary/deliverable.js'
|
|
1
|
+
import type { ArchiveBackendRef } from '../../types/retention/archive-backend-ref.js'
|
|
2
|
+
import type { DeliverableRef } from '../../types/summary/deliverable.js'
|
|
3
|
+
import type { SessionId } from '../ids/index.js'
|
|
5
4
|
import type { ActorRef } from './actor.js'
|
|
5
|
+
import type { SubSessionId, SummaryId, WorkspaceId } from './ids.js'
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Full 11-variant status union. See session-hierarchy.md §4.4 and the merge
|
|
@@ -50,15 +50,15 @@ export type CompletionMode = 'summary_ref' | 'merge_back'
|
|
|
50
50
|
/**
|
|
51
51
|
* Re-export of the real {@link DeliverableRef} discriminated union. The
|
|
52
52
|
* concrete shape lives in `../summary/deliverable.ts` — see
|
|
53
|
-
* session-hierarchy.md §4.7 / §8.1. Phase 5
|
|
54
|
-
*
|
|
53
|
+
* session-hierarchy.md §4.7 / §8.1. Phase 5 replaced the Phase 1 `unknown`
|
|
54
|
+
* placeholder with the real type.
|
|
55
55
|
*/
|
|
56
56
|
export type { DeliverableRef }
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
|
-
* Edge between a parent {@link Session} and a child
|
|
60
|
-
* delegation metadata. The child session itself lives
|
|
61
|
-
* like any other session — see session-hierarchy.md §4.4.
|
|
59
|
+
* Edge between a parent {@link import('./entity.js').Session} and a child
|
|
60
|
+
* session, carrying the delegation metadata. The child session itself lives
|
|
61
|
+
* in `SessionStore` like any other session — see session-hierarchy.md §4.4.
|
|
62
62
|
*/
|
|
63
63
|
export interface SubSession {
|
|
64
64
|
id: SubSessionId
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
* handle all variants exhaustively.
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
import type { RunId, SessionId } from '
|
|
21
|
-
import type { DeliverableId, SummaryId } from '
|
|
20
|
+
import type { RunId, SessionId } from '../ids/index.js'
|
|
21
|
+
import type { DeliverableId, SummaryId } from '../session/ids.js'
|
|
22
22
|
|
|
23
23
|
/** Discriminator for {@link DeliverableRef}. */
|
|
24
24
|
export type DeliverableKind = 'file' | 'session_summary' | 'message' | 'artifact_blob'
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Sub-barrel for the session-summary shape surface (Convention #4).
|
|
2
|
+
// Concrete types live in sibling files; re-export them here.
|
|
3
|
+
|
|
4
|
+
export type {
|
|
5
|
+
ArtifactBlobDeliverable,
|
|
6
|
+
DeliverableKind,
|
|
7
|
+
DeliverableRef,
|
|
8
|
+
FileDeliverable,
|
|
9
|
+
MessageDeliverable,
|
|
10
|
+
SessionSummaryDeliverable,
|
|
11
|
+
} from './deliverable.js'
|
|
12
|
+
export { AGENT_SUMMARY_MAX_CHARS } from './ref.js'
|
|
13
|
+
export type {
|
|
14
|
+
SessionSummaryKeyDecision,
|
|
15
|
+
SessionSummaryOutcome,
|
|
16
|
+
SessionSummaryOutcomeStatus,
|
|
17
|
+
SessionSummaryRef,
|
|
18
|
+
} from './ref.js'
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SessionSummaryRef — the structured pointer a parent session sees when a
|
|
3
3
|
* sub-session completes. Kernel-owned terminalization primitive: the only
|
|
4
|
-
* producer is
|
|
5
|
-
*
|
|
6
|
-
* (emission invariant).
|
|
4
|
+
* producer is `SessionSummaryMaterializer.materialize` (see
|
|
5
|
+
* `session/summary/materialize.ts`). See session-hierarchy.md §4.7 (shape)
|
|
6
|
+
* and §8.1 (emission invariant).
|
|
7
7
|
*
|
|
8
8
|
* The `materializedBy: 'kernel'` literal field is load-bearing — combined
|
|
9
9
|
* with the opaque {@link SummaryId} brand (mintable only by
|
|
@@ -14,10 +14,14 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This is Convention #0 load-bearing: there is no "tool" path to emit a
|
|
16
16
|
* summary; the parent agent sees only what the kernel seals.
|
|
17
|
+
*
|
|
18
|
+
* Runtime errors related to summary emission (`AgentSummaryTooLongError`,
|
|
19
|
+
* `SessionAlreadySummarizedError`) are runtime and therefore live at
|
|
20
|
+
* `session/summary/errors.ts` — they are NOT pure shapes.
|
|
17
21
|
*/
|
|
18
22
|
|
|
19
|
-
import type { SessionId, TenantId } from '
|
|
20
|
-
import type { SummaryId } from '
|
|
23
|
+
import type { SessionId, TenantId } from '../ids/index.js'
|
|
24
|
+
import type { SummaryId } from '../session/ids.js'
|
|
21
25
|
import type { DeliverableRef } from './deliverable.js'
|
|
22
26
|
|
|
23
27
|
/**
|
|
@@ -63,42 +67,3 @@ export interface SessionSummaryRef {
|
|
|
63
67
|
*/
|
|
64
68
|
readonly materializedBy: 'kernel'
|
|
65
69
|
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Raised by {@link SessionSummaryMaterializer.materialize} when the provided
|
|
69
|
-
* `agentSummary` exceeds {@link AGENT_SUMMARY_MAX_CHARS}. Convention #5
|
|
70
|
-
* deny-by-default — the kernel does not truncate silently.
|
|
71
|
-
*/
|
|
72
|
-
export class AgentSummaryTooLongError extends Error {
|
|
73
|
-
readonly details: {
|
|
74
|
-
readonly actual: number
|
|
75
|
-
readonly max: number
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
constructor(details: { actual: number; max: number }) {
|
|
79
|
-
super(`agentSummary ${details.actual} chars exceeds max ${details.max}`)
|
|
80
|
-
this.name = 'AgentSummaryTooLongError'
|
|
81
|
-
this.details = details
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Raised when {@link SessionSummaryMaterializer.materialize} is invoked
|
|
87
|
-
* against a session that already has a persisted summary. Re-materialization
|
|
88
|
-
* would duplicate history — callers wanting to append must open a new
|
|
89
|
-
* intervention sub-session (see session-hierarchy.md §4.5).
|
|
90
|
-
*/
|
|
91
|
-
export class SessionAlreadySummarizedError extends Error {
|
|
92
|
-
readonly details: {
|
|
93
|
-
readonly sessionId: SessionId
|
|
94
|
-
readonly existingSummaryId: SummaryId
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
constructor(details: { sessionId: SessionId; existingSummaryId: SummaryId }) {
|
|
98
|
-
super(
|
|
99
|
-
`Session ${details.sessionId} already has summary ${details.existingSummaryId}; re-materialization rejected`,
|
|
100
|
-
)
|
|
101
|
-
this.name = 'SessionAlreadySummarizedError'
|
|
102
|
-
this.details = details
|
|
103
|
-
}
|
|
104
|
-
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { TenantId } from '
|
|
2
|
-
import type { ProjectId, ThreadId } from '
|
|
1
|
+
import type { TenantId } from '../ids/index.js'
|
|
2
|
+
import type { ProjectId, ThreadId } from '../session/ids.js'
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Lifecycle state of a Thread.
|
|
@@ -19,8 +19,8 @@ export type ThreadStatus = 'open' | 'archived'
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Topic-level container sitting between {@link ProjectId Project} and
|
|
22
|
-
* {@link import('
|
|
23
|
-
*
|
|
22
|
+
* {@link import('../session/ids.js').SessionId Session} in the five-layer hierarchy
|
|
23
|
+
* (Project → Thread → Session → SubSession → Run).
|
|
24
24
|
*
|
|
25
25
|
* A Thread groups together many Sessions that address the same coherent
|
|
26
26
|
* topic or line-of-work within a Project (e.g. "auth refactor", "billing
|
|
@@ -28,7 +28,31 @@ export type ThreadStatus = 'open' | 'archived'
|
|
|
28
28
|
* resources (memory, vaults, knowledge bases) but have independent actor
|
|
29
29
|
* state, handoff history, and Run streams.
|
|
30
30
|
*
|
|
31
|
-
*
|
|
31
|
+
* ## Why Thread is a first-class layer (A2A-connection surface)
|
|
32
|
+
*
|
|
33
|
+
* The layer exists because of how enterprise sharing works in Namzu:
|
|
34
|
+
*
|
|
35
|
+
* - **Project is the folder-bound sharing unit.** An enterprise team shares
|
|
36
|
+
* a Project (`.namzu/` in a repo, a long-lived goal scope). Everyone with
|
|
37
|
+
* Project access sees its shape but not necessarily its active work.
|
|
38
|
+
* - **Thread is the path-independent, A2A-attachable topic surface.** A
|
|
39
|
+
* Project can have multiple Threads — one per objective or line-of-work —
|
|
40
|
+
* and the Threads can be partitioned by device, user, or agent identity.
|
|
41
|
+
* A2A (agent-to-agent) connections attach at the Thread level: connecting
|
|
42
|
+
* to a Thread exposes every Session under it and the ability to join the
|
|
43
|
+
* ongoing work.
|
|
44
|
+
* - **Sessions are the immediate work unit.** A user or agent enters a
|
|
45
|
+
* Thread and opens/resumes Sessions for the concrete interval of work.
|
|
46
|
+
*
|
|
47
|
+
* This is the mental model ses_001 ratified (Phase 0, 2026-04-18). Industry
|
|
48
|
+
* frameworks (OpenAI Responses, LangGraph, Claude Agent SDK, Temporal) do
|
|
49
|
+
* not have an exact analogue for the Thread layer — it is Namzu's answer to
|
|
50
|
+
* the question "how do you expose a multi-session topic to A2A without
|
|
51
|
+
* coupling it to the Project's filesystem identity?".
|
|
52
|
+
*
|
|
53
|
+
* ## Design reference
|
|
54
|
+
*
|
|
55
|
+
* Session design §4 (`docs.local/sessions/ses_001-hierarchy-redesign/design.md`):
|
|
32
56
|
* - Container only. No own message stream, no own Run stream. Messages
|
|
33
57
|
* live in Sessions (Phase 0 decision B.1).
|
|
34
58
|
* - `title` is a user-facing label. **Titles are NOT unique within a
|
|
@@ -39,7 +63,7 @@ export type ThreadStatus = 'open' | 'archived'
|
|
|
39
63
|
* - `ownerVersion` is the CAS counter for mutations — `updateThread` and
|
|
40
64
|
* archival transitions require a matching version and reject
|
|
41
65
|
* {@link StaleThreadError} on mismatch. Mirrors the
|
|
42
|
-
* {@link import('./
|
|
66
|
+
* {@link import('./entity.js').Session} handoff CAS pattern (§6.1).
|
|
43
67
|
* - No fan-in `deriveStatus()` helper — status is owner-managed, not
|
|
44
68
|
* Run-derived. This is the Thread-vs-Session contract boundary.
|
|
45
69
|
*/
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* has just introduced for this layer (Convention #0).
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
import type { Thread } from '../../
|
|
22
|
+
import type { Thread } from '../../types/thread/entity.js'
|
|
23
23
|
import type { TenantId } from '../ids/index.js'
|
|
24
24
|
import type { ProjectId, ThreadId } from '../session/ids.js'
|
|
25
25
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Sub-barrel for the workspace shape surface (Convention #4).
|
|
2
|
+
// Concrete types live in sibling files; re-export them here.
|
|
3
|
+
//
|
|
4
|
+
// Runtime workspace machinery (drivers, registry, path-builder, git-worktree)
|
|
5
|
+
// stays under `session/workspace/` — this barrel is shape-only.
|
|
6
|
+
|
|
7
|
+
export type {
|
|
8
|
+
GitWorktreeBackendMeta,
|
|
9
|
+
WorkspaceBackendKind,
|
|
10
|
+
WorkspaceBackendMeta,
|
|
11
|
+
WorkspaceRef,
|
|
12
|
+
} from './ref.js'
|
package/dist/contracts/ids.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/contracts/ids.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA"}
|
package/dist/contracts/ids.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/contracts/ids.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../../src/session/events/schema-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAA;AAElD,MAAM,MAAM,qBAAqB,GAAG,OAAO,wBAAwB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-version.js","sourceRoot":"","sources":["../../../src/session/events/schema-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAU,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/session/events/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEhE;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,oBAAoB,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,YAAY,EAAE,YAAY,CAAA;IAC1B,eAAe,EAAE,SAAS,CAAA;IAC1B,SAAS,EAAE,QAAQ,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,qBAAqB,CAAA;IACpC,EAAE,EAAE,IAAI,CAAA;CACR;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,KAAK,EAAE,KAAK,CAAA;IACZ,YAAY,EAAE,YAAY,CAAA;IAC1B,eAAe,EAAE,SAAS,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,qBAAqB,CAAA;IACpC,EAAE,EAAE,IAAI,CAAA;CACR;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,kBAAkB,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,YAAY,EAAE,YAAY,CAAA;IAC1B,eAAe,EAAE,SAAS,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,qBAAqB,CAAA;IACpC,EAAE,EAAE,IAAI,CAAA;CACR;AAED,MAAM,MAAM,wBAAwB,GACjC,sBAAsB,GACtB,uBAAuB,GACvB,oBAAoB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/session/events/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.test.d.ts","sourceRoot":"","sources":["../../../../src/session/hierarchy/__tests__/session.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.test.js","sourceRoot":"","sources":["../../../../src/session/hierarchy/__tests__/session.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actor.d.ts","sourceRoot":"","sources":["../../../src/session/hierarchy/actor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAEzE;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,WAAW,CAAC,EAAE,QAAQ,CAAA;CAAE,GAC/E;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE7D,4DAA4D;AAC5D,MAAM,MAAM,YAAY,GAAG,OAAO,MAAM,EAAE,CAAA"}
|