@namzu/sdk 0.2.0 → 0.3.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 +53 -2
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +3 -2
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +5 -2
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/bridge/a2a/index.d.ts +1 -1
- package/dist/bridge/a2a/index.d.ts.map +1 -1
- package/dist/bridge/a2a/index.js +1 -1
- package/dist/bridge/a2a/index.js.map +1 -1
- package/dist/bridge/a2a/message.d.ts +0 -2
- package/dist/bridge/a2a/message.d.ts.map +1 -1
- package/dist/bridge/a2a/message.js +0 -26
- package/dist/bridge/a2a/message.js.map +1 -1
- package/dist/bridge/a2a/task.d.ts +4 -3
- package/dist/bridge/a2a/task.d.ts.map +1 -1
- package/dist/bridge/a2a/task.js +4 -4
- package/dist/bridge/a2a/task.js.map +1 -1
- package/dist/contracts/api.d.ts +6 -38
- package/dist/contracts/api.d.ts.map +1 -1
- package/dist/contracts/ids.d.ts +1 -1
- package/dist/contracts/ids.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +3 -5
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +1 -1
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/schemas.d.ts +1 -31
- package/dist/contracts/schemas.d.ts.map +1 -1
- package/dist/contracts/schemas.js +1 -7
- package/dist/contracts/schemas.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/manager/agent/__tests__/lifecycle.test.js +27 -13
- package/dist/manager/agent/__tests__/lifecycle.test.js.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts +9 -0
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +93 -31
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/index.d.ts +2 -0
- package/dist/manager/index.d.ts.map +1 -1
- package/dist/manager/index.js +1 -0
- package/dist/manager/index.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +3 -1
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +5 -0
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/manager/thread/__tests__/lifecycle.test.d.ts +2 -0
- package/dist/manager/thread/__tests__/lifecycle.test.d.ts.map +1 -0
- package/dist/manager/thread/__tests__/lifecycle.test.js +216 -0
- package/dist/manager/thread/__tests__/lifecycle.test.js.map +1 -0
- package/dist/manager/thread/lifecycle.d.ts +105 -0
- package/dist/manager/thread/lifecycle.d.ts.map +1 -0
- package/dist/manager/thread/lifecycle.js +186 -0
- package/dist/manager/thread/lifecycle.js.map +1 -0
- package/dist/rag/retriever.js +2 -2
- package/dist/runtime/query/__tests__/context.test.js +8 -7
- package/dist/runtime/query/__tests__/context.test.js.map +1 -1
- package/dist/runtime/query/context-cache.d.ts +3 -3
- package/dist/runtime/query/context-cache.d.ts.map +1 -1
- package/dist/runtime/query/context-cache.js +2 -2
- package/dist/runtime/query/context-cache.js.map +1 -1
- package/dist/runtime/query/context.d.ts +12 -21
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +3 -1
- package/dist/runtime/query/context.js.map +1 -1
- package/dist/runtime/query/index.d.ts +13 -15
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +1 -0
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/session/__tests__/integration/_fixtures.d.ts +11 -4
- package/dist/session/__tests__/integration/_fixtures.d.ts.map +1 -1
- package/dist/session/__tests__/integration/_fixtures.js +23 -6
- package/dist/session/__tests__/integration/_fixtures.js.map +1 -1
- package/dist/session/__tests__/integration/archive-gate.test.d.ts +15 -0
- package/dist/session/__tests__/integration/archive-gate.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/archive-gate.test.js +214 -0
- package/dist/session/__tests__/integration/archive-gate.test.js.map +1 -0
- package/dist/session/__tests__/integration/capacity-caps.test.js +13 -6
- package/dist/session/__tests__/integration/capacity-caps.test.js.map +1 -1
- package/dist/session/__tests__/integration/e2e-spawn.test.js +14 -2
- package/dist/session/__tests__/integration/e2e-spawn.test.js.map +1 -1
- package/dist/session/__tests__/integration/event-stream-ordering.test.js +14 -7
- package/dist/session/__tests__/integration/event-stream-ordering.test.js.map +1 -1
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js +26 -14
- package/dist/session/__tests__/integration/handoff-broadcast-e2e.test.js.map +1 -1
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.js +30 -20
- package/dist/session/__tests__/integration/handoff-illegal-transition.test.js.map +1 -1
- package/dist/session/__tests__/integration/handoff-single-e2e.test.js +25 -9
- package/dist/session/__tests__/integration/handoff-single-e2e.test.js.map +1 -1
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js +11 -10
- package/dist/session/__tests__/integration/hierarchy-lifecycle.test.js.map +1 -1
- package/dist/session/__tests__/integration/prev-artifact-dag.test.js +5 -4
- package/dist/session/__tests__/integration/prev-artifact-dag.test.js.map +1 -1
- package/dist/session/__tests__/integration/retention-archive.test.js +3 -2
- package/dist/session/__tests__/integration/retention-archive.test.js.map +1 -1
- package/dist/session/__tests__/integration/spawn-rollback.test.d.ts +26 -0
- package/dist/session/__tests__/integration/spawn-rollback.test.d.ts.map +1 -0
- package/dist/session/__tests__/integration/spawn-rollback.test.js +236 -0
- package/dist/session/__tests__/integration/spawn-rollback.test.js.map +1 -0
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.js +2 -1
- package/dist/session/__tests__/integration/summary-materialization-e2e.test.js.map +1 -1
- package/dist/session/__tests__/integration/tenant-isolation.test.js +14 -5
- package/dist/session/__tests__/integration/tenant-isolation.test.js.map +1 -1
- package/dist/session/errors.d.ts +79 -0
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/errors.js +57 -0
- package/dist/session/errors.js.map +1 -1
- package/dist/session/handoff/__tests__/broadcast.test.js +49 -31
- package/dist/session/handoff/__tests__/broadcast.test.js.map +1 -1
- package/dist/session/handoff/__tests__/capacity.test.js +21 -18
- package/dist/session/handoff/__tests__/capacity.test.js.map +1 -1
- package/dist/session/handoff/__tests__/single.test.js +39 -30
- package/dist/session/handoff/__tests__/single.test.js.map +1 -1
- package/dist/session/handoff/assignment.d.ts +13 -1
- package/dist/session/handoff/assignment.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.d.ts +7 -0
- package/dist/session/handoff/broadcast.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.js +16 -1
- package/dist/session/handoff/broadcast.js.map +1 -1
- package/dist/session/handoff/single.d.ts +7 -0
- package/dist/session/handoff/single.d.ts.map +1 -1
- package/dist/session/handoff/single.js +13 -1
- package/dist/session/handoff/single.js.map +1 -1
- package/dist/session/hierarchy/__tests__/session.test.js +2 -0
- package/dist/session/hierarchy/__tests__/session.test.js.map +1 -1
- package/dist/session/hierarchy/index.d.ts +1 -0
- package/dist/session/hierarchy/index.d.ts.map +1 -1
- package/dist/session/hierarchy/index.js.map +1 -1
- package/dist/session/hierarchy/session.d.ts +15 -3
- package/dist/session/hierarchy/session.d.ts.map +1 -1
- package/dist/session/hierarchy/session.js.map +1 -1
- package/dist/session/hierarchy/thread.d.ts +54 -0
- package/dist/session/hierarchy/thread.d.ts.map +1 -0
- package/dist/session/hierarchy/thread.js +2 -0
- package/dist/session/hierarchy/thread.js.map +1 -0
- package/dist/session/migration/id-prefix.d.ts +8 -13
- package/dist/session/migration/id-prefix.d.ts.map +1 -1
- package/dist/session/migration/id-prefix.js +8 -13
- package/dist/session/migration/id-prefix.js.map +1 -1
- package/dist/session/retention/__tests__/archive.test.js +3 -2
- package/dist/session/retention/__tests__/archive.test.js.map +1 -1
- package/dist/session/summary/__tests__/materialize.test.js +4 -3
- package/dist/session/summary/__tests__/materialize.test.js.map +1 -1
- package/dist/store/index.d.ts +0 -2
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +0 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/session/__tests__/disk.test.js +32 -5
- package/dist/store/session/__tests__/disk.test.js.map +1 -1
- package/dist/store/session/__tests__/memory.test.js +50 -9
- package/dist/store/session/__tests__/memory.test.js.map +1 -1
- package/dist/store/session/disk.d.ts +2 -1
- package/dist/store/session/disk.d.ts.map +1 -1
- package/dist/store/session/disk.js +61 -0
- package/dist/store/session/disk.js.map +1 -1
- package/dist/store/session/index.d.ts.map +1 -1
- package/dist/store/session/index.js +3 -4
- package/dist/store/session/index.js.map +1 -1
- package/dist/store/session/memory.d.ts +2 -1
- package/dist/store/session/memory.d.ts.map +1 -1
- package/dist/store/session/memory.js +13 -0
- package/dist/store/session/memory.js.map +1 -1
- package/dist/store/thread/disk.d.ts +41 -0
- package/dist/store/thread/disk.d.ts.map +1 -0
- package/dist/store/thread/disk.js +229 -0
- package/dist/store/thread/disk.js.map +1 -0
- package/dist/store/thread/index.d.ts +4 -0
- package/dist/store/thread/index.d.ts.map +1 -0
- package/dist/store/thread/index.js +6 -0
- package/dist/store/thread/index.js.map +1 -0
- package/dist/store/thread/memory.d.ts +23 -0
- package/dist/store/thread/memory.d.ts.map +1 -0
- package/dist/store/thread/memory.js +90 -0
- package/dist/store/thread/memory.js.map +1 -0
- package/dist/types/agent/base.d.ts +17 -21
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/factory.d.ts +8 -2
- package/dist/types/agent/factory.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +18 -11
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/ids/index.d.ts +5 -9
- package/dist/types/ids/index.d.ts.map +1 -1
- package/dist/types/ids/index.js +4 -4
- package/dist/types/ids/index.js.map +1 -1
- package/dist/types/rag/retrieval.d.ts +4 -3
- package/dist/types/rag/retrieval.d.ts.map +1 -1
- package/dist/types/run/config.d.ts +6 -5
- package/dist/types/run/config.d.ts.map +1 -1
- package/dist/types/run/metadata.d.ts +5 -18
- package/dist/types/run/metadata.d.ts.map +1 -1
- package/dist/types/session/ids.d.ts +4 -13
- package/dist/types/session/ids.d.ts.map +1 -1
- package/dist/types/session/ids.js +3 -6
- package/dist/types/session/ids.js.map +1 -1
- package/dist/types/session/index.d.ts +1 -1
- package/dist/types/session/index.d.ts.map +1 -1
- package/dist/types/session/store.d.ts +32 -10
- package/dist/types/session/store.d.ts.map +1 -1
- package/dist/types/session/store.js +3 -8
- package/dist/types/session/store.js.map +1 -1
- package/dist/types/thread/index.d.ts +2 -0
- package/dist/types/thread/index.d.ts.map +1 -0
- package/dist/types/thread/index.js +5 -0
- package/dist/types/thread/index.js.map +1 -0
- package/dist/types/thread/store.d.ts +86 -0
- package/dist/types/thread/store.d.ts.map +1 -0
- package/dist/types/thread/store.js +22 -0
- package/dist/types/thread/store.js.map +1 -0
- package/dist/utils/id.d.ts +1 -12
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +3 -23
- package/dist/utils/id.js.map +1 -1
- package/package.json +6 -11
- package/src/agents/ReactiveAgent.ts +3 -2
- package/src/agents/SupervisorAgent.ts +5 -2
- package/src/bridge/a2a/index.ts +0 -1
- package/src/bridge/a2a/message.ts +0 -32
- package/src/bridge/a2a/task.ts +8 -7
- package/src/contracts/api.ts +6 -42
- package/src/contracts/ids.ts +1 -1
- package/src/contracts/index.ts +2 -8
- package/src/contracts/schemas.ts +1 -8
- package/src/index.ts +0 -4
- package/src/manager/agent/__tests__/lifecycle.test.ts +34 -13
- package/src/manager/agent/lifecycle.ts +114 -35
- package/src/manager/index.ts +3 -0
- package/src/manager/run/persistence.ts +7 -1
- package/src/manager/thread/__tests__/lifecycle.test.ts +286 -0
- package/src/manager/thread/lifecycle.ts +217 -0
- package/src/rag/retriever.ts +2 -2
- package/src/runtime/query/__tests__/context.test.ts +9 -8
- package/src/runtime/query/context-cache.ts +4 -4
- package/src/runtime/query/context.ts +15 -22
- package/src/runtime/query/index.ts +15 -16
- package/src/session/__tests__/integration/_fixtures.ts +36 -8
- package/src/session/__tests__/integration/archive-gate.test.ts +288 -0
- package/src/session/__tests__/integration/capacity-caps.test.ts +13 -6
- package/src/session/__tests__/integration/e2e-spawn.test.ts +20 -2
- package/src/session/__tests__/integration/event-stream-ordering.test.ts +14 -7
- package/src/session/__tests__/integration/handoff-broadcast-e2e.test.ts +39 -13
- package/src/session/__tests__/integration/handoff-illegal-transition.test.ts +54 -19
- package/src/session/__tests__/integration/handoff-single-e2e.test.ts +40 -9
- package/src/session/__tests__/integration/hierarchy-lifecycle.test.ts +13 -10
- package/src/session/__tests__/integration/prev-artifact-dag.test.ts +12 -5
- package/src/session/__tests__/integration/retention-archive.test.ts +5 -3
- package/src/session/__tests__/integration/spawn-rollback.test.ts +313 -0
- package/src/session/__tests__/integration/summary-materialization-e2e.test.ts +4 -2
- package/src/session/__tests__/integration/tenant-isolation.test.ts +16 -6
- package/src/session/errors.ts +89 -0
- package/src/session/handoff/__tests__/broadcast.test.ts +56 -28
- package/src/session/handoff/__tests__/capacity.test.ts +26 -20
- package/src/session/handoff/__tests__/single.test.ts +45 -28
- package/src/session/handoff/assignment.ts +13 -1
- package/src/session/handoff/broadcast.ts +26 -1
- package/src/session/handoff/single.ts +23 -1
- package/src/session/hierarchy/__tests__/session.test.ts +9 -1
- package/src/session/hierarchy/index.ts +1 -0
- package/src/session/hierarchy/session.ts +15 -3
- package/src/session/hierarchy/thread.ts +55 -0
- package/src/session/migration/id-prefix.ts +8 -13
- package/src/session/retention/__tests__/archive.test.ts +5 -3
- package/src/session/summary/__tests__/materialize.test.ts +6 -4
- package/src/store/index.ts +0 -3
- package/src/store/session/__tests__/disk.test.ts +57 -6
- package/src/store/session/__tests__/memory.test.ts +84 -9
- package/src/store/session/disk.ts +57 -1
- package/src/store/session/index.ts +3 -4
- package/src/store/session/memory.ts +13 -1
- package/src/store/thread/disk.ts +261 -0
- package/src/store/thread/index.ts +7 -0
- package/src/store/thread/memory.ts +104 -0
- package/src/types/agent/base.ts +17 -21
- package/src/types/agent/factory.ts +8 -3
- package/src/types/agent/task.ts +19 -11
- package/src/types/ids/index.ts +8 -15
- package/src/types/rag/retrieval.ts +4 -3
- package/src/types/run/config.ts +6 -5
- package/src/types/run/metadata.ts +5 -18
- package/src/types/session/ids.ts +4 -15
- package/src/types/session/index.ts +1 -2
- package/src/types/session/store.ts +34 -11
- package/src/types/thread/index.ts +5 -0
- package/src/types/thread/store.ts +92 -0
- package/src/utils/id.ts +3 -24
- package/dist/store/conversation/memory.d.ts +0 -43
- package/dist/store/conversation/memory.d.ts.map +0 -1
- package/dist/store/conversation/memory.js +0 -108
- package/dist/store/conversation/memory.js.map +0 -1
- package/dist/types/conversation/index.d.ts +0 -14
- package/dist/types/conversation/index.d.ts.map +0 -1
- package/dist/types/conversation/index.js +0 -2
- package/dist/types/conversation/index.js.map +0 -1
- package/src/store/conversation/memory.ts +0 -144
- package/src/types/conversation/index.ts +0 -15
|
@@ -15,15 +15,19 @@ import { DEFAULT_TENANT, agentActor, buildAgent, buildDefinition, buildHarness,
|
|
|
15
15
|
describe('Integration — capacity caps at spawn sites', () => {
|
|
16
16
|
it('spawn at depth 4 accepted; depth 5 rejected (default maxDelegationDepth=4)', async () => {
|
|
17
17
|
const harness = buildHarness();
|
|
18
|
-
const { project } = await seedActiveParent(harness);
|
|
18
|
+
const { project, thread } = await seedActiveParent(harness);
|
|
19
19
|
// Build a depth-4 ancestry chain under the project. Each layer flips to
|
|
20
20
|
// `active` so it is a legal spawn parent via the real AgentManager.
|
|
21
21
|
const chainActors = [userActor('usr_root')];
|
|
22
|
-
let parentSessionId = (await harness.store.createSession({
|
|
22
|
+
let parentSessionId = (await harness.store.createSession({
|
|
23
|
+
threadId: thread.id,
|
|
24
|
+
projectId: project.id,
|
|
25
|
+
currentActor: chainActors[0] ?? userActor('usr_root'),
|
|
26
|
+
}, DEFAULT_TENANT)).id;
|
|
23
27
|
// depth 0 root session.
|
|
24
28
|
const sessions = [parentSessionId];
|
|
25
29
|
for (let i = 0; i < 4; i++) {
|
|
26
|
-
const child = await harness.store.createSession({ projectId: project.id, currentActor: agentActor(`agt_${i}`) }, DEFAULT_TENANT);
|
|
30
|
+
const child = await harness.store.createSession({ threadId: thread.id, projectId: project.id, currentActor: agentActor(`agt_${i}`) }, DEFAULT_TENANT);
|
|
27
31
|
await harness.store.createSubSession({
|
|
28
32
|
parentSessionId,
|
|
29
33
|
childSessionId: child.id,
|
|
@@ -40,6 +44,7 @@ describe('Integration — capacity caps at spawn sites', () => {
|
|
|
40
44
|
const context = buildTaskContext({
|
|
41
45
|
sessionId: tail,
|
|
42
46
|
projectId: project.id,
|
|
47
|
+
threadId: thread.id,
|
|
43
48
|
tenantId: DEFAULT_TENANT,
|
|
44
49
|
parentActor: userActor('usr_root'),
|
|
45
50
|
});
|
|
@@ -54,10 +59,10 @@ describe('Integration — capacity caps at spawn sites', () => {
|
|
|
54
59
|
});
|
|
55
60
|
it('spawn at width 8 accepted; 9th sibling rejected (default maxDelegationWidth=8)', async () => {
|
|
56
61
|
const harness = buildHarness();
|
|
57
|
-
const { project, session, actor } = await seedActiveParent(harness);
|
|
62
|
+
const { project, thread, session, actor } = await seedActiveParent(harness);
|
|
58
63
|
// Seed 8 existing children directly through the store.
|
|
59
64
|
for (let i = 0; i < 8; i++) {
|
|
60
|
-
const child = await harness.store.createSession({ projectId: project.id, currentActor: agentActor(`agt_${i}`) }, DEFAULT_TENANT);
|
|
65
|
+
const child = await harness.store.createSession({ threadId: thread.id, projectId: project.id, currentActor: agentActor(`agt_${i}`) }, DEFAULT_TENANT);
|
|
61
66
|
await harness.store.createSubSession({
|
|
62
67
|
parentSessionId: session.id,
|
|
63
68
|
childSessionId: child.id,
|
|
@@ -69,6 +74,7 @@ describe('Integration — capacity caps at spawn sites', () => {
|
|
|
69
74
|
const context = buildTaskContext({
|
|
70
75
|
sessionId: session.id,
|
|
71
76
|
projectId: project.id,
|
|
77
|
+
threadId: thread.id,
|
|
72
78
|
tenantId: DEFAULT_TENANT,
|
|
73
79
|
parentActor: actor,
|
|
74
80
|
});
|
|
@@ -88,13 +94,14 @@ describe('Integration — capacity caps at spawn sites', () => {
|
|
|
88
94
|
// DefaultCapacityValidator(store) so it walks the actual persisted
|
|
89
95
|
// parent chain — confirms the wiring rather than a direct unit call.
|
|
90
96
|
const harness = buildHarness();
|
|
91
|
-
const { project, session, actor } = await seedActiveParent(harness);
|
|
97
|
+
const { project, thread, session, actor } = await seedActiveParent(harness);
|
|
92
98
|
harness.registry.register(buildDefinition(buildAgent('worker')));
|
|
93
99
|
// Only 1 existing child — well below caps. Spawn should succeed
|
|
94
100
|
// through the wired path.
|
|
95
101
|
const context = buildTaskContext({
|
|
96
102
|
sessionId: session.id,
|
|
97
103
|
projectId: project.id,
|
|
104
|
+
threadId: thread.id,
|
|
98
105
|
tenantId: DEFAULT_TENANT,
|
|
99
106
|
parentActor: actor,
|
|
100
107
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capacity-caps.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/integration/capacity-caps.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAEtE,OAAO,EACN,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,GACT,MAAM,gBAAgB,CAAA;AAEvB,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC3D,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,OAAO,GAAG,YAAY,EAAE,CAAA;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"capacity-caps.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/integration/capacity-caps.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,10 @@
|
|
|
17
17
|
import { describe, expect, it } from 'vitest';
|
|
18
18
|
import { EMPTY_TOKEN_USAGE } from '../../../constants/limits.js';
|
|
19
19
|
import { AgentManager } from '../../../manager/agent/lifecycle.js';
|
|
20
|
+
import { ThreadManager } from '../../../manager/thread/lifecycle.js';
|
|
20
21
|
import { AgentRegistry } from '../../../registry/agent/definitions.js';
|
|
21
22
|
import { InMemorySessionStore } from '../../../store/session/memory.js';
|
|
23
|
+
import { InMemoryThreadStore } from '../../../store/thread/memory.js';
|
|
22
24
|
import { createAssistantMessage } from '../../../types/message/index.js';
|
|
23
25
|
import { ZERO_COST } from '../../../utils/cost.js';
|
|
24
26
|
import { DefaultCapacityValidator } from '../../handoff/capacity.js';
|
|
@@ -74,13 +76,15 @@ function buildDefinition(agent) {
|
|
|
74
76
|
describe('E2E — SubSession spawn → kernel summary → parent drill', () => {
|
|
75
77
|
it('emits the §10.5 event sequence with lineage + schemaVersion stamping', async () => {
|
|
76
78
|
const store = new InMemorySessionStore();
|
|
79
|
+
const threadStore = new InMemoryThreadStore();
|
|
77
80
|
const project = await store.createProject({ tenantId: tenant, name: 'e2e-project' }, tenant);
|
|
81
|
+
const thread = await threadStore.createThread({ projectId: project.id, title: 'e2e-spawn' }, tenant);
|
|
78
82
|
const userActor = {
|
|
79
83
|
kind: 'user',
|
|
80
84
|
userId: 'usr_root',
|
|
81
85
|
tenantId: tenant,
|
|
82
86
|
};
|
|
83
|
-
const parentSession = await store.createSession({ projectId: project.id, currentActor: userActor }, tenant);
|
|
87
|
+
const parentSession = await store.createSession({ threadId: thread.id, projectId: project.id, currentActor: userActor }, tenant);
|
|
84
88
|
// Parent Run in flight — session active while the spawn is happening.
|
|
85
89
|
await store.updateSession({ ...parentSession, status: 'active' }, tenant);
|
|
86
90
|
let summaryCounter = 0;
|
|
@@ -90,11 +94,13 @@ describe('E2E — SubSession spawn → kernel summary → parent drill', () => {
|
|
|
90
94
|
});
|
|
91
95
|
const registry = new AgentRegistry();
|
|
92
96
|
registry.register(buildDefinition(buildAgent('worker')));
|
|
97
|
+
const threadManager = new ThreadManager({ threadStore, sessionStore: store });
|
|
93
98
|
const manager = new AgentManager(registry, undefined, {
|
|
94
99
|
sessionStore: store,
|
|
95
100
|
summaryMaterializer: materializer,
|
|
96
101
|
workspaceRegistry: new WorkspaceBackendRegistry(),
|
|
97
102
|
capacity: new DefaultCapacityValidator(store),
|
|
103
|
+
threadManager,
|
|
98
104
|
});
|
|
99
105
|
const capturedEvents = [];
|
|
100
106
|
const listener = (event) => {
|
|
@@ -107,6 +113,7 @@ describe('E2E — SubSession spawn → kernel summary → parent drill', () => {
|
|
|
107
113
|
depth: 0,
|
|
108
114
|
budgetTracker: { total: 100_000, remaining: 100_000 },
|
|
109
115
|
tenantId: tenant,
|
|
116
|
+
threadId: thread.id,
|
|
110
117
|
sessionId: parentSession.id,
|
|
111
118
|
projectId: project.id,
|
|
112
119
|
parentActor: userActor,
|
|
@@ -172,13 +179,15 @@ describe('E2E — SubSession spawn → kernel summary → parent drill', () => {
|
|
|
172
179
|
});
|
|
173
180
|
it('closes the parent→child message gap: parent can re-ingest child content via drill + summary', async () => {
|
|
174
181
|
const store = new InMemorySessionStore();
|
|
182
|
+
const threadStore = new InMemoryThreadStore();
|
|
175
183
|
const project = await store.createProject({ tenantId: tenant, name: 'e2e-gap' }, tenant);
|
|
184
|
+
const thread = await threadStore.createThread({ projectId: project.id, title: 'e2e-gap' }, tenant);
|
|
176
185
|
const userActor = {
|
|
177
186
|
kind: 'user',
|
|
178
187
|
userId: 'usr_root',
|
|
179
188
|
tenantId: tenant,
|
|
180
189
|
};
|
|
181
|
-
const parentSession = await store.createSession({ projectId: project.id, currentActor: userActor }, tenant);
|
|
190
|
+
const parentSession = await store.createSession({ threadId: thread.id, projectId: project.id, currentActor: userActor }, tenant);
|
|
182
191
|
await store.updateSession({ ...parentSession, status: 'active' }, tenant);
|
|
183
192
|
let counter = 0;
|
|
184
193
|
const materializer = new SessionSummaryMaterializer({
|
|
@@ -187,11 +196,13 @@ describe('E2E — SubSession spawn → kernel summary → parent drill', () => {
|
|
|
187
196
|
});
|
|
188
197
|
const registry = new AgentRegistry();
|
|
189
198
|
registry.register(buildDefinition(buildAgent('worker')));
|
|
199
|
+
const threadManager = new ThreadManager({ threadStore, sessionStore: store });
|
|
190
200
|
const manager = new AgentManager(registry, undefined, {
|
|
191
201
|
sessionStore: store,
|
|
192
202
|
summaryMaterializer: materializer,
|
|
193
203
|
workspaceRegistry: new WorkspaceBackendRegistry(),
|
|
194
204
|
capacity: new DefaultCapacityValidator(store),
|
|
205
|
+
threadManager,
|
|
195
206
|
});
|
|
196
207
|
const task = await manager.sendMessage({
|
|
197
208
|
agentId: 'worker',
|
|
@@ -207,6 +218,7 @@ describe('E2E — SubSession spawn → kernel summary → parent drill', () => {
|
|
|
207
218
|
depth: 0,
|
|
208
219
|
budgetTracker: { total: 10_000, remaining: 10_000 },
|
|
209
220
|
tenantId: tenant,
|
|
221
|
+
threadId: thread.id,
|
|
210
222
|
sessionId: parentSession.id,
|
|
211
223
|
projectId: project.id,
|
|
212
224
|
parentActor: userActor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e-spawn.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/integration/e2e-spawn.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"e2e-spawn.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/integration/e2e-spawn.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ import { DEFAULT_TENANT, buildAgent, buildAgentCustom, buildDefinition, buildHar
|
|
|
19
19
|
describe('Integration — event stream ordering + lineage + schemaVersion', () => {
|
|
20
20
|
it('every sub-session RunEvent carries schemaVersion: 2', async () => {
|
|
21
21
|
const harness = buildHarness();
|
|
22
|
-
const { project, session, actor } = await seedActiveParent(harness);
|
|
22
|
+
const { project, thread, session, actor } = await seedActiveParent(harness);
|
|
23
23
|
harness.registry.register(buildDefinition(buildAgent('worker')));
|
|
24
24
|
const captured = [];
|
|
25
25
|
const task = await harness.manager.sendMessage(buildSendMessageOptions({
|
|
@@ -31,6 +31,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
31
31
|
}), buildTaskContext({
|
|
32
32
|
sessionId: session.id,
|
|
33
33
|
projectId: project.id,
|
|
34
|
+
threadId: thread.id,
|
|
34
35
|
tenantId: DEFAULT_TENANT,
|
|
35
36
|
parentActor: actor,
|
|
36
37
|
}), (ev) => {
|
|
@@ -48,7 +49,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
48
49
|
});
|
|
49
50
|
it('every sub-session event carries lineage { parentSessionId, rootSessionId, depth }', async () => {
|
|
50
51
|
const harness = buildHarness();
|
|
51
|
-
const { project, session, actor } = await seedActiveParent(harness);
|
|
52
|
+
const { project, thread, session, actor } = await seedActiveParent(harness);
|
|
52
53
|
harness.registry.register(buildDefinition(buildAgent('worker')));
|
|
53
54
|
const captured = [];
|
|
54
55
|
const task = await harness.manager.sendMessage(buildSendMessageOptions({
|
|
@@ -60,6 +61,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
60
61
|
}), buildTaskContext({
|
|
61
62
|
sessionId: session.id,
|
|
62
63
|
projectId: project.id,
|
|
64
|
+
threadId: thread.id,
|
|
63
65
|
tenantId: DEFAULT_TENANT,
|
|
64
66
|
parentActor: actor,
|
|
65
67
|
}), (ev) => {
|
|
@@ -83,7 +85,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
83
85
|
});
|
|
84
86
|
it('3-deep delegation: rootSessionId identical across tree; depth ascends 1→2→3', async () => {
|
|
85
87
|
const harness = buildHarness();
|
|
86
|
-
const { project, session, actor } = await seedActiveParent(harness);
|
|
88
|
+
const { project, thread, session, actor } = await seedActiveParent(harness);
|
|
87
89
|
// Wire a cascading agent: level-1 child spawns level-2 via its own
|
|
88
90
|
// sendMessage. We hand a reference to the manager into the child agent
|
|
89
91
|
// via a closure so level-2 can spawn level-3.
|
|
@@ -92,7 +94,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
92
94
|
const leafAgent = buildAgent('leaf', 'leaf result');
|
|
93
95
|
const midAgent = buildAgentCustom('mid', async (_input, config) => {
|
|
94
96
|
// Spawn a level-2 child from inside the mid-agent's run.
|
|
95
|
-
if (!config.sessionId || !config.projectId || !config.tenantId) {
|
|
97
|
+
if (!config.sessionId || !config.threadId || !config.projectId || !config.tenantId) {
|
|
96
98
|
throw new Error('mid agent missing session scoping');
|
|
97
99
|
}
|
|
98
100
|
// Flip child session to active so it is a legal spawn parent.
|
|
@@ -115,6 +117,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
115
117
|
depth: 1,
|
|
116
118
|
budgetTracker: { total: 10_000, remaining: 10_000 },
|
|
117
119
|
tenantId: config.tenantId,
|
|
120
|
+
threadId: config.threadId,
|
|
118
121
|
sessionId: childSessionId,
|
|
119
122
|
projectId: config.projectId,
|
|
120
123
|
parentActor: { kind: 'agent', agentId: 'mid', tenantId: config.tenantId },
|
|
@@ -145,6 +148,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
145
148
|
}), buildTaskContext({
|
|
146
149
|
sessionId: session.id,
|
|
147
150
|
projectId: project.id,
|
|
151
|
+
threadId: thread.id,
|
|
148
152
|
tenantId: DEFAULT_TENANT,
|
|
149
153
|
parentActor: actor,
|
|
150
154
|
}), (ev) => {
|
|
@@ -185,12 +189,12 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
185
189
|
// its own listener — the outer listener does NOT see the nested
|
|
186
190
|
// listener's events (no cross-contamination).
|
|
187
191
|
const harness = buildHarness();
|
|
188
|
-
const { project, session, actor } = await seedActiveParent(harness);
|
|
192
|
+
const { project, thread, session, actor } = await seedActiveParent(harness);
|
|
189
193
|
const outerCaptured = [];
|
|
190
194
|
const nestedCaptured = [];
|
|
191
195
|
const leafAgent = buildAgent('leaf', 'leaf');
|
|
192
196
|
const midAgent = buildAgentCustom('mid', async (_input, config) => {
|
|
193
|
-
if (!config.sessionId || !config.projectId || !config.tenantId) {
|
|
197
|
+
if (!config.sessionId || !config.threadId || !config.projectId || !config.tenantId) {
|
|
194
198
|
throw new Error('mid missing scope');
|
|
195
199
|
}
|
|
196
200
|
const cs = await harness.store.getSession(config.sessionId, config.tenantId);
|
|
@@ -215,6 +219,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
215
219
|
depth: 1,
|
|
216
220
|
budgetTracker: { total: 10_000, remaining: 10_000 },
|
|
217
221
|
tenantId: config.tenantId,
|
|
222
|
+
threadId: config.threadId,
|
|
218
223
|
sessionId: config.sessionId,
|
|
219
224
|
projectId: config.projectId,
|
|
220
225
|
parentActor: {
|
|
@@ -248,6 +253,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
248
253
|
}), buildTaskContext({
|
|
249
254
|
sessionId: session.id,
|
|
250
255
|
projectId: project.id,
|
|
256
|
+
threadId: thread.id,
|
|
251
257
|
tenantId: DEFAULT_TENANT,
|
|
252
258
|
parentActor: actor,
|
|
253
259
|
}), (ev) => {
|
|
@@ -278,7 +284,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
278
284
|
// therefore inherit the envelope even though they have no lineage in
|
|
279
285
|
// their own type definition.
|
|
280
286
|
const harness = buildHarness();
|
|
281
|
-
const { project, session, actor } = await seedActiveParent(harness);
|
|
287
|
+
const { project, thread, session, actor } = await seedActiveParent(harness);
|
|
282
288
|
const leafAgent = buildAgentCustom('leaf-emit', async (_i, _c, listener) => {
|
|
283
289
|
// Emit a core event inside the child's run via the listener passed in.
|
|
284
290
|
await listener?.({
|
|
@@ -307,6 +313,7 @@ describe('Integration — event stream ordering + lineage + schemaVersion', () =
|
|
|
307
313
|
}), buildTaskContext({
|
|
308
314
|
sessionId: session.id,
|
|
309
315
|
projectId: project.id,
|
|
316
|
+
threadId: thread.id,
|
|
310
317
|
tenantId: DEFAULT_TENANT,
|
|
311
318
|
parentActor: actor,
|
|
312
319
|
}), (ev) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-stream-ordering.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/integration/event-stream-ordering.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-stream-ordering.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/integration/event-stream-ordering.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,14 +9,16 @@
|
|
|
9
9
|
* partialState counts).
|
|
10
10
|
*/
|
|
11
11
|
import { describe, expect, it, vi } from 'vitest';
|
|
12
|
+
import { ThreadManager } from '../../../manager/thread/lifecycle.js';
|
|
12
13
|
import { InMemorySessionStore } from '../../../store/session/memory.js';
|
|
14
|
+
import { InMemoryThreadStore } from '../../../store/thread/memory.js';
|
|
13
15
|
import { generateHandoffId } from '../../../utils/id.js';
|
|
14
16
|
import { executeBroadcastHandoff } from '../../handoff/broadcast.js';
|
|
15
17
|
import { DefaultCapacityValidator } from '../../handoff/capacity.js';
|
|
16
18
|
import { GitWorktreeDriver } from '../../workspace/git-worktree.js';
|
|
17
19
|
import { WorkspaceBackendRegistry } from '../../workspace/registry.js';
|
|
18
20
|
import { DEFAULT_TENANT, okExec, stubLogger, userActor } from './_fixtures.js';
|
|
19
|
-
function buildDeps(store, execOverride) {
|
|
21
|
+
function buildDeps(store, threadStore, execOverride) {
|
|
20
22
|
const exec = execOverride ?? (async () => okExec());
|
|
21
23
|
const driver = new GitWorktreeDriver({
|
|
22
24
|
repoRoot: '/repo',
|
|
@@ -38,16 +40,18 @@ function buildDeps(store, execOverride) {
|
|
|
38
40
|
workspaceRegistry,
|
|
39
41
|
capacity: new DefaultCapacityValidator(store),
|
|
40
42
|
events: sink,
|
|
43
|
+
threadManager: new ThreadManager({ threadStore, sessionStore: store }),
|
|
41
44
|
},
|
|
42
45
|
events: { ...sink, onBroadcastRollback },
|
|
43
46
|
};
|
|
44
47
|
}
|
|
45
|
-
function buildAssignments(sourceSessionId, projectId, recipients, broadcastId = 'bc_integration', expectedOwnerVersion = 0) {
|
|
48
|
+
function buildAssignments(sourceSessionId, projectId, threadId, recipients, broadcastId = 'bc_integration', expectedOwnerVersion = 0) {
|
|
46
49
|
return recipients.map((recipientActor) => ({
|
|
47
50
|
id: generateHandoffId(),
|
|
48
51
|
mode: 'broadcast',
|
|
49
52
|
sourceSessionId,
|
|
50
53
|
tenantId: DEFAULT_TENANT,
|
|
54
|
+
threadId,
|
|
51
55
|
projectId,
|
|
52
56
|
sourceActor: userActor('usr_source'),
|
|
53
57
|
recipientActor,
|
|
@@ -59,8 +63,10 @@ function buildAssignments(sourceSessionId, projectId, recipients, broadcastId =
|
|
|
59
63
|
describe('Integration — broadcast handoff E2E', () => {
|
|
60
64
|
it('happy: 3-recipient fan-out → each recipient has isolated worktree + source reaches awaiting_merge', async () => {
|
|
61
65
|
const store = new InMemorySessionStore();
|
|
66
|
+
const threadStore = new InMemoryThreadStore();
|
|
62
67
|
const project = await store.createProject({ tenantId: DEFAULT_TENANT, name: 'bc-happy' }, DEFAULT_TENANT);
|
|
63
|
-
const
|
|
68
|
+
const thread = await threadStore.createThread({ projectId: project.id, title: 'bc-happy' }, DEFAULT_TENANT);
|
|
69
|
+
const source = await store.createSession({ threadId: thread.id, projectId: project.id, currentActor: userActor('usr_source') }, DEFAULT_TENANT);
|
|
64
70
|
// Track each `worktree add` call so we can assert each recipient got a
|
|
65
71
|
// distinct worktree path (isolation).
|
|
66
72
|
const addCalls = [];
|
|
@@ -73,9 +79,9 @@ describe('Integration — broadcast handoff E2E', () => {
|
|
|
73
79
|
}
|
|
74
80
|
return okExec();
|
|
75
81
|
};
|
|
76
|
-
const { deps } = buildDeps(store, exec);
|
|
82
|
+
const { deps } = buildDeps(store, threadStore, exec);
|
|
77
83
|
const recipients = [userActor('usr_bob'), userActor('usr_carol'), userActor('usr_dan')];
|
|
78
|
-
const assignments = buildAssignments(source.id, project.id, recipients);
|
|
84
|
+
const assignments = buildAssignments(source.id, project.id, thread.id, recipients);
|
|
79
85
|
const outcomes = await executeBroadcastHandoff(deps, assignments, DEFAULT_TENANT);
|
|
80
86
|
expect(outcomes).toHaveLength(3);
|
|
81
87
|
expect(new Set(outcomes.map((o) => o.newSessionId)).size).toBe(3);
|
|
@@ -92,8 +98,10 @@ describe('Integration — broadcast handoff E2E', () => {
|
|
|
92
98
|
});
|
|
93
99
|
it('rollback on 2nd-recipient provisioning failure: zero orphan records, partialState accurate', async () => {
|
|
94
100
|
const store = new InMemorySessionStore();
|
|
101
|
+
const threadStore = new InMemoryThreadStore();
|
|
95
102
|
const project = await store.createProject({ tenantId: DEFAULT_TENANT, name: 'bc-rb' }, DEFAULT_TENANT);
|
|
96
|
-
const
|
|
103
|
+
const thread = await threadStore.createThread({ projectId: project.id, title: 'bc-rb' }, DEFAULT_TENANT);
|
|
104
|
+
const source = await store.createSession({ threadId: thread.id, projectId: project.id, currentActor: userActor('usr_source') }, DEFAULT_TENANT);
|
|
97
105
|
let addCount = 0;
|
|
98
106
|
const exec = async (_file, args) => {
|
|
99
107
|
if (args.includes('add')) {
|
|
@@ -103,8 +111,8 @@ describe('Integration — broadcast handoff E2E', () => {
|
|
|
103
111
|
}
|
|
104
112
|
return okExec();
|
|
105
113
|
};
|
|
106
|
-
const { deps, events } = buildDeps(store, exec);
|
|
107
|
-
const assignments = buildAssignments(source.id, project.id, [
|
|
114
|
+
const { deps, events } = buildDeps(store, threadStore, exec);
|
|
115
|
+
const assignments = buildAssignments(source.id, project.id, thread.id, [
|
|
108
116
|
userActor('usr_b'),
|
|
109
117
|
userActor('usr_c'),
|
|
110
118
|
userActor('usr_d'),
|
|
@@ -128,11 +136,13 @@ describe('Integration — broadcast handoff E2E', () => {
|
|
|
128
136
|
});
|
|
129
137
|
it('source transitions to awaiting_merge + retains currentActor as coordinator (§5.4)', async () => {
|
|
130
138
|
const store = new InMemorySessionStore();
|
|
139
|
+
const threadStore = new InMemoryThreadStore();
|
|
131
140
|
const project = await store.createProject({ tenantId: DEFAULT_TENANT, name: 'coord' }, DEFAULT_TENANT);
|
|
141
|
+
const thread = await threadStore.createThread({ projectId: project.id, title: 'coord' }, DEFAULT_TENANT);
|
|
132
142
|
const coordinator = userActor('usr_source');
|
|
133
|
-
const source = await store.createSession({ projectId: project.id, currentActor: coordinator }, DEFAULT_TENANT);
|
|
134
|
-
const { deps } = buildDeps(store);
|
|
135
|
-
const assignments = buildAssignments(source.id, project.id, [
|
|
143
|
+
const source = await store.createSession({ threadId: thread.id, projectId: project.id, currentActor: coordinator }, DEFAULT_TENANT);
|
|
144
|
+
const { deps } = buildDeps(store, threadStore);
|
|
145
|
+
const assignments = buildAssignments(source.id, project.id, thread.id, [
|
|
136
146
|
userActor('usr_b'),
|
|
137
147
|
userActor('usr_c'),
|
|
138
148
|
]);
|
|
@@ -145,8 +155,10 @@ describe('Integration — broadcast handoff E2E', () => {
|
|
|
145
155
|
});
|
|
146
156
|
it('all recipients get isolated worktrees — zero path collisions even under N=8', async () => {
|
|
147
157
|
const store = new InMemorySessionStore();
|
|
158
|
+
const threadStore = new InMemoryThreadStore();
|
|
148
159
|
const project = await store.createProject({ tenantId: DEFAULT_TENANT, name: 'iso' }, DEFAULT_TENANT);
|
|
149
|
-
const
|
|
160
|
+
const thread = await threadStore.createThread({ projectId: project.id, title: 'iso' }, DEFAULT_TENANT);
|
|
161
|
+
const source = await store.createSession({ threadId: thread.id, projectId: project.id, currentActor: userActor('usr_source') }, DEFAULT_TENANT);
|
|
150
162
|
const seenPaths = new Set();
|
|
151
163
|
const exec = async (_file, args) => {
|
|
152
164
|
if (args.includes('add')) {
|
|
@@ -159,9 +171,9 @@ describe('Integration — broadcast handoff E2E', () => {
|
|
|
159
171
|
}
|
|
160
172
|
return okExec();
|
|
161
173
|
};
|
|
162
|
-
const { deps } = buildDeps(store, exec);
|
|
174
|
+
const { deps } = buildDeps(store, threadStore, exec);
|
|
163
175
|
const recipients = Array.from({ length: 8 }, (_, i) => userActor(`usr_${i}`));
|
|
164
|
-
const assignments = buildAssignments(source.id, project.id, recipients);
|
|
176
|
+
const assignments = buildAssignments(source.id, project.id, thread.id, recipients);
|
|
165
177
|
const outcomes = await executeBroadcastHandoff(deps, assignments, DEFAULT_TENANT);
|
|
166
178
|
expect(outcomes).toHaveLength(8);
|
|
167
179
|
expect(seenPaths.size).toBe(8);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff-broadcast-e2e.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/integration/handoff-broadcast-e2e.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"handoff-broadcast-e2e.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/integration/handoff-broadcast-e2e.test.ts"],"names":[],"mappings":"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"}
|