@lloyal-labs/lloyal-agents 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +14 -14
  2. package/dist/Agent.d.ts +3 -3
  3. package/dist/Agent.d.ts.map +1 -1
  4. package/dist/Agent.js +2 -2
  5. package/dist/Agent.js.map +1 -1
  6. package/dist/AgentPolicy.d.ts +8 -8
  7. package/dist/AgentPolicy.d.ts.map +1 -1
  8. package/dist/AgentPolicy.js +10 -10
  9. package/dist/AgentPolicy.js.map +1 -1
  10. package/dist/Tool.d.ts +1 -1
  11. package/dist/Tool.js +1 -1
  12. package/dist/agent-pool.d.ts +4 -4
  13. package/dist/agent-pool.js +42 -42
  14. package/dist/agent-pool.js.map +1 -1
  15. package/dist/context.d.ts +10 -10
  16. package/dist/context.d.ts.map +1 -1
  17. package/dist/context.js +11 -11
  18. package/dist/context.js.map +1 -1
  19. package/dist/create-agent-pool.d.ts +10 -10
  20. package/dist/create-agent-pool.d.ts.map +1 -1
  21. package/dist/create-agent-pool.js +27 -27
  22. package/dist/create-agent-pool.js.map +1 -1
  23. package/dist/index.d.ts +3 -3
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +4 -4
  26. package/dist/index.js.map +1 -1
  27. package/dist/orchestrators.d.ts +8 -8
  28. package/dist/orchestrators.d.ts.map +1 -1
  29. package/dist/orchestrators.js +10 -10
  30. package/dist/orchestrators.js.map +1 -1
  31. package/dist/replay.d.ts +19 -19
  32. package/dist/replay.d.ts.map +1 -1
  33. package/dist/replay.js +29 -29
  34. package/dist/replay.js.map +1 -1
  35. package/dist/spine.d.ts +106 -0
  36. package/dist/spine.d.ts.map +1 -0
  37. package/dist/{shared-root.js → spine.js} +40 -37
  38. package/dist/spine.js.map +1 -0
  39. package/dist/trace-types.d.ts +4 -4
  40. package/dist/trace-types.d.ts.map +1 -1
  41. package/dist/types.d.ts +20 -14
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/use-agent.d.ts +3 -3
  44. package/dist/use-agent.d.ts.map +1 -1
  45. package/dist/use-agent.js +5 -5
  46. package/dist/use-agent.js.map +1 -1
  47. package/package.json +2 -2
  48. package/dist/shared-root.d.ts +0 -96
  49. package/dist/shared-root.d.ts.map +0 -1
  50. package/dist/shared-root.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"create-agent-pool.d.ts","sourceRoot":"","sources":["../src/create-agent-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQpD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,WAAW,EAAE,YAAY,CAAC;IAC1B,qHAAqH;IACrH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,iGAAiG;IACjG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAiB,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAC,eAAe,CAAC,CA+DhF"}
1
+ {"version":3,"file":"create-agent-pool.d.ts","sourceRoot":"","sources":["../src/create-agent-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQpD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,WAAW,EAAE,YAAY,CAAC;IAC1B,qHAAqH;IACrH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAiB,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAC,eAAe,CAAC,CA+DhF"}
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.agentPool = agentPool;
4
4
  const context_1 = require("./context");
5
5
  const toolkit_1 = require("./toolkit");
6
- const shared_root_1 = require("./shared-root");
6
+ const spine_1 = require("./spine");
7
7
  const agent_pool_1 = require("./agent-pool");
8
8
  // ── agentPool ───────────────────────────────────────────────
9
9
  /**
10
10
  * Run a parallel agent pool with tools.
11
11
  *
12
- * Composes `withSharedRoot` + `createToolkit` + `useAgentPool` internally.
13
- * Drains the Subscription inside `withSharedRoot`'s body and forwards
12
+ * Composes `withSpine` + `createToolkit` + `useAgentPool` internally.
13
+ * Drains the Subscription inside `withSpine`'s body and forwards
14
14
  * events to the broadcast Channel. Returns `AgentPoolResult` with
15
15
  * branches pruned.
16
16
  *
@@ -19,7 +19,7 @@ const agent_pool_1 = require("./agent-pool");
19
19
  * const pool = yield* agentPool({
20
20
  * tools: [delegateTool, ...source.tools, reportTool],
21
21
  * orchestrate: parallel(questions.map(q => ({ content: q, systemPrompt: RESEARCH_PROMPT }))),
22
- * terminalTool: 'report',
22
+ * terminalToolName: 'report',
23
23
  * });
24
24
  * ```
25
25
  *
@@ -31,48 +31,48 @@ function* agentPool(opts) {
31
31
  // Warm path priority: explicit parent > session trunk > cold
32
32
  const warmParent = opts.parent ?? opts.session?.trunk ?? undefined;
33
33
  const sharedMode = opts.systemPrompt !== undefined;
34
- return yield* (0, shared_root_1.withSharedRoot)({
34
+ return yield* (0, spine_1.withSpine)({
35
35
  parent: warmParent,
36
36
  systemPrompt: opts.systemPrompt,
37
- // Only emit toolsJson into the root header in shared mode; the rest
38
- // of the system uses the toolkit toolMap for actual dispatch.
39
- toolsJson: sharedMode ? toolkit.toolsJson : undefined,
40
- // Thread enableThinking so the root header chat-format and the
41
- // RootFmt FormatConfig (parser/grammar/triggers) match what the
37
+ // Only emit tool schemas into the spine header in shared mode; the
38
+ // dispatcher (toolkit.toolMap) is registered on the useAgentPool
39
+ // below regardless.
40
+ tools: sharedMode ? opts.tools : undefined,
41
+ // Thread enableThinking so the spine header chat-format and the
42
+ // SpineFmt FormatConfig (parser/grammar/triggers) match what the
42
43
  // per-agent suffixes get further down. Otherwise a caller passing
43
- // enableThinking:true gets divergent grammar between root + suffix.
44
+ // enableThinking:true gets divergent grammar between spine + suffix.
44
45
  enableThinking: opts.enableThinking,
45
- }, function* (root) {
46
- // SHARED mode (systemPrompt set): the inner `root` carries the
47
- // [system + tools] header and IS the spine. extendRoot writes onto
48
- // it, agents fork from it, nested useAgent calls fork from it. Inner
49
- // root is pruned at withSharedRoot exit; that's fine because pool
50
- // findings flow to the session via session.commitTurn (post-pool),
51
- // not via root mutation.
46
+ }, function* (innerSpine) {
47
+ // SHARED mode (systemPrompt set): the inner spine carries the
48
+ // [system + tools] header. extendSpine writes onto it, agents fork
49
+ // from it, nested useAgent calls fork from it. Inner spine is pruned
50
+ // at withSpine exit; that's fine because pool findings flow to the
51
+ // session via session.commitTurn (post-pool), not via spine mutation.
52
52
  //
53
53
  // NON-SHARED mode (existing behavior): on warm path, use the caller-
54
- // provided parent AS the logical spine so `ctx.extendRoot` mutations
54
+ // provided parent AS the logical spine so `ctx.extendSpine` mutations
55
55
  // persist across the pool's lifetime and are visible to sibling pools
56
- // that fork from the same parent. The inner `root` is just a
56
+ // that fork from the same parent. The inner spine is just a
57
57
  // separator-prefilled fork of parent — its extensions would be
58
58
  // discarded at pool close, breaking the multi-task spine pattern
59
- // (research → synth over shared queryRoot). On cold path, the inner
60
- // root IS the spine.
61
- const spineRoot = sharedMode ? root : (warmParent ?? root);
59
+ // (research → synth over shared spine). On cold path, the inner
60
+ // spine IS the persistent spine.
61
+ const spine = sharedMode ? innerSpine : (warmParent ?? innerSpine);
62
62
  const sub = yield* (0, agent_pool_1.useAgentPool)({
63
- root: spineRoot,
63
+ spine,
64
64
  orchestrate: opts.orchestrate,
65
65
  toolsJson: toolkit.toolsJson,
66
66
  tools: toolkit.toolMap,
67
- terminalTool: opts.terminalTool,
68
- pruneOnReport: opts.pruneOnReport,
67
+ terminalToolName: opts.terminalToolName,
68
+ pruneOnReturn: opts.pruneOnReturn,
69
69
  maxTurns: opts.maxTurns,
70
70
  trace: opts.trace,
71
71
  policy: opts.policy,
72
72
  scorer: opts.scorer,
73
73
  enableThinking: opts.enableThinking,
74
74
  });
75
- // Drain Subscription inside body — before withSharedRoot's finally fires
75
+ // Drain Subscription inside body — before withSpine's finally fires
76
76
  let next = yield* sub.next();
77
77
  while (!next.done) {
78
78
  yield* broadcast.send(next.value);
@@ -1 +1 @@
1
- {"version":3,"file":"create-agent-pool.js","sourceRoot":"","sources":["../src/create-agent-pool.ts"],"names":[],"mappings":";;AAwGA,8BA+DC;AA/JD,uCAAmC;AACnC,uCAA0C;AAC1C,+CAA+C;AAC/C,6CAA4C;AAwE5C,+DAA+D;AAE/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAe,CAAC,CAAC,SAAS,CAAC,IAAyB;IAClD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,gBAAM,CAAC,MAAM,EAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAEhD,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC;IAEnE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;IAEnD,OAAO,KAAK,CAAC,CAAC,IAAA,4BAAc,EAC1B;QACE,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,oEAAoE;QACpE,8DAA8D;QAC9D,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACrD,+DAA+D;QAC/D,gEAAgE;QAChE,kEAAkE;QAClE,oEAAoE;QACpE,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,EACD,QAAQ,CAAC,EAAE,IAAI;QACb,+DAA+D;QAC/D,mEAAmE;QACnE,qEAAqE;QACrE,kEAAkE;QAClE,mEAAmE;QACnE,yBAAyB;QACzB,EAAE;QACF,qEAAqE;QACrE,qEAAqE;QACrE,sEAAsE;QACtE,6DAA6D;QAC7D,+DAA+D;QAC/D,iEAAiE;QACjE,oEAAoE;QACpE,qBAAqB;QACrB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,IAAA,yBAAY,EAAC;YAC9B,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC;QAEH,yEAAyE;QACzE,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-agent-pool.js","sourceRoot":"","sources":["../src/create-agent-pool.ts"],"names":[],"mappings":";;AAwGA,8BA+DC;AA/JD,uCAAmC;AACnC,uCAA0C;AAC1C,mCAAoC;AACpC,6CAA4C;AAwE5C,+DAA+D;AAE/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAe,CAAC,CAAC,SAAS,CAAC,IAAyB;IAClD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,gBAAM,CAAC,MAAM,EAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAEhD,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC;IAEnE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;IAEnD,OAAO,KAAK,CAAC,CAAC,IAAA,iBAAS,EACrB;QACE,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,mEAAmE;QACnE,iEAAiE;QACjE,oBAAoB;QACpB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC1C,gEAAgE;QAChE,iEAAiE;QACjE,kEAAkE;QAClE,qEAAqE;QACrE,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,EACD,QAAQ,CAAC,EAAE,UAAU;QACnB,8DAA8D;QAC9D,mEAAmE;QACnE,qEAAqE;QACrE,mEAAmE;QACnE,sEAAsE;QACtE,EAAE;QACF,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,4DAA4D;QAC5D,+DAA+D;QAC/D,iEAAiE;QACjE,gEAAgE;QAChE,iCAAiC;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,IAAA,yBAAY,EAAC;YAC9B,KAAK;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC;QAEH,oEAAoE;QACpE,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC,CACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -17,7 +17,7 @@ export { diverge } from './diverge';
17
17
  export { useAgentPool, ContextPressure } from './agent-pool';
18
18
  export { createToolkit } from './toolkit';
19
19
  export { initAgents } from './init';
20
- export { withSharedRoot } from './shared-root';
20
+ export { withSpine } from './spine';
21
21
  export { NullTraceWriter, JsonlTraceWriter } from './trace-writer';
22
22
  export { traceScope } from './trace-scope';
23
23
  export { composePrompt, renderPrompt, renderTemplate } from './prompt';
@@ -25,12 +25,12 @@ export type { PromptState, PromptSection, PromptStep } from './prompt';
25
25
  export { reduce } from './combinators';
26
26
  export { parallel, chain, fanout, dag } from './orchestrators';
27
27
  export type { SpawnSpec, ChainStep, DAGNode, Orchestrator, PoolContext } from './orchestrators';
28
- export { extractRootCheckpoint, extractSpineCheckpoint, reconstructBranch } from './replay';
28
+ export { extractSpineSeed, extractSpineCheckpoint, reconstructBranch } from './replay';
29
29
  export type { BranchCheckpoint } from './replay';
30
30
  export type { Toolkit } from './toolkit';
31
31
  export type { TraceWriter } from './trace-writer';
32
32
  export type { TraceEvent, TraceId } from './trace-types';
33
33
  export type { AgentHandle } from './init';
34
- export type { SharedRootOptions } from './shared-root';
34
+ export type { SpineOptions } from './spine';
35
35
  export type { TraceToken, JsonSchema, ToolSchema, ToolContext, PressureThresholds, AgentTaskSpec, AgentPoolOptions, AgentResult, AgentPoolResult, DivergeOptions, DivergeAttempt, DivergeResult, AgentEvent, } from './types';
36
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC3J,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC5F,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,YAAY,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC3J,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC/D,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACvF,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,YAAY,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reconstructBranch = exports.extractSpineCheckpoint = exports.extractRootCheckpoint = exports.dag = exports.fanout = exports.chain = exports.parallel = exports.reduce = exports.renderTemplate = exports.renderPrompt = exports.composePrompt = exports.traceScope = exports.JsonlTraceWriter = exports.NullTraceWriter = exports.withSharedRoot = exports.initAgents = exports.createToolkit = exports.ContextPressure = exports.useAgentPool = exports.diverge = exports.agentPool = exports.agent = exports.useAgent = exports.buildToolResultDelta = exports.buildUserDelta = exports.NULL_SCORER = exports.Source = exports.CallingAgent = exports.defaultToolGuards = exports.DefaultAgentPolicy = exports.Agent = exports.Tool = exports.ScratchpadParent = exports.TraceParent = exports.Trace = exports.Events = exports.Store = exports.Ctx = void 0;
3
+ exports.reconstructBranch = exports.extractSpineCheckpoint = exports.extractSpineSeed = exports.dag = exports.fanout = exports.chain = exports.parallel = exports.reduce = exports.renderTemplate = exports.renderPrompt = exports.composePrompt = exports.traceScope = exports.JsonlTraceWriter = exports.NullTraceWriter = exports.withSpine = exports.initAgents = exports.createToolkit = exports.ContextPressure = exports.useAgentPool = exports.diverge = exports.agentPool = exports.agent = exports.useAgent = exports.buildToolResultDelta = exports.buildUserDelta = exports.NULL_SCORER = exports.Source = exports.CallingAgent = exports.defaultToolGuards = exports.DefaultAgentPolicy = exports.Agent = exports.Tool = exports.ScratchpadParent = exports.TraceParent = exports.Trace = exports.Events = exports.Store = exports.Ctx = void 0;
4
4
  var context_1 = require("./context");
5
5
  Object.defineProperty(exports, "Ctx", { enumerable: true, get: function () { return context_1.Ctx; } });
6
6
  Object.defineProperty(exports, "Store", { enumerable: true, get: function () { return context_1.Store; } });
@@ -38,8 +38,8 @@ var toolkit_1 = require("./toolkit");
38
38
  Object.defineProperty(exports, "createToolkit", { enumerable: true, get: function () { return toolkit_1.createToolkit; } });
39
39
  var init_1 = require("./init");
40
40
  Object.defineProperty(exports, "initAgents", { enumerable: true, get: function () { return init_1.initAgents; } });
41
- var shared_root_1 = require("./shared-root");
42
- Object.defineProperty(exports, "withSharedRoot", { enumerable: true, get: function () { return shared_root_1.withSharedRoot; } });
41
+ var spine_1 = require("./spine");
42
+ Object.defineProperty(exports, "withSpine", { enumerable: true, get: function () { return spine_1.withSpine; } });
43
43
  var trace_writer_1 = require("./trace-writer");
44
44
  Object.defineProperty(exports, "NullTraceWriter", { enumerable: true, get: function () { return trace_writer_1.NullTraceWriter; } });
45
45
  Object.defineProperty(exports, "JsonlTraceWriter", { enumerable: true, get: function () { return trace_writer_1.JsonlTraceWriter; } });
@@ -57,7 +57,7 @@ Object.defineProperty(exports, "chain", { enumerable: true, get: function () { r
57
57
  Object.defineProperty(exports, "fanout", { enumerable: true, get: function () { return orchestrators_1.fanout; } });
58
58
  Object.defineProperty(exports, "dag", { enumerable: true, get: function () { return orchestrators_1.dag; } });
59
59
  var replay_1 = require("./replay");
60
- Object.defineProperty(exports, "extractRootCheckpoint", { enumerable: true, get: function () { return replay_1.extractRootCheckpoint; } });
60
+ Object.defineProperty(exports, "extractSpineSeed", { enumerable: true, get: function () { return replay_1.extractSpineSeed; } });
61
61
  Object.defineProperty(exports, "extractSpineCheckpoint", { enumerable: true, get: function () { return replay_1.extractSpineCheckpoint; } });
62
62
  Object.defineProperty(exports, "reconstructBranch", { enumerable: true, get: function () { return replay_1.reconstructBranch; } });
63
63
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAqF;AAA5E,8FAAA,GAAG,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AACjE,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAE3B,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AACrB,mCAA+C;AAAtC,gGAAA,MAAM,OAAA;AAAE,qGAAA,WAAW,OAAA;AAE5B,wCAAwE;AAA/D,qGAAA,cAAc,OAAA;AAAE,2GAAA,oBAAoB,OAAA;AAC7C,yCAA8C;AAArC,qGAAA,QAAQ,OAAA;AAAE,kGAAA,KAAK,OAAA;AAExB,yDAAgD;AAAvC,8GAAA,SAAS,OAAA;AAElB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,2CAA6D;AAApD,0GAAA,YAAY,OAAA;AAAE,6GAAA,eAAe,OAAA;AACtC,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,+BAAoC;AAA3B,kGAAA,UAAU,OAAA;AACnB,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;AACvB,+CAAmE;AAA1D,+GAAA,eAAe,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAC1C,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,mCAAuE;AAA9D,uGAAA,aAAa,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,wGAAA,cAAc,OAAA;AAEpD,6CAAuC;AAA9B,qGAAA,MAAM,OAAA;AACf,iDAA+D;AAAtD,yGAAA,QAAQ,OAAA;AAAE,sGAAA,KAAK,OAAA;AAAE,uGAAA,MAAM,OAAA;AAAE,oGAAA,GAAG,OAAA;AAErC,mCAA4F;AAAnF,+GAAA,qBAAqB,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AAAE,2GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAqF;AAA5E,8FAAA,GAAG,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AACjE,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAE3B,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AACrB,mCAA+C;AAAtC,gGAAA,MAAM,OAAA;AAAE,qGAAA,WAAW,OAAA;AAE5B,wCAAwE;AAA/D,qGAAA,cAAc,OAAA;AAAE,2GAAA,oBAAoB,OAAA;AAC7C,yCAA8C;AAArC,qGAAA,QAAQ,OAAA;AAAE,kGAAA,KAAK,OAAA;AAExB,yDAAgD;AAAvC,8GAAA,SAAS,OAAA;AAElB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,2CAA6D;AAApD,0GAAA,YAAY,OAAA;AAAE,6GAAA,eAAe,OAAA;AACtC,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,+BAAoC;AAA3B,kGAAA,UAAU,OAAA;AACnB,iCAAoC;AAA3B,kGAAA,SAAS,OAAA;AAClB,+CAAmE;AAA1D,+GAAA,eAAe,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAC1C,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,mCAAuE;AAA9D,uGAAA,aAAa,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,wGAAA,cAAc,OAAA;AAEpD,6CAAuC;AAA9B,qGAAA,MAAM,OAAA;AACf,iDAA+D;AAAtD,yGAAA,QAAQ,OAAA;AAAE,sGAAA,KAAK,OAAA;AAAE,uGAAA,MAAM,OAAA;AAAE,oGAAA,GAAG,OAAA;AAErC,mCAAuF;AAA9E,0GAAA,gBAAgB,OAAA;AAAE,gHAAA,sBAAsB,OAAA;AAAE,2GAAA,iBAAiB,OAAA"}
@@ -3,7 +3,7 @@ import type { Branch } from '@lloyal-labs/sdk';
3
3
  import type { Agent } from './Agent';
4
4
  /**
5
5
  * Spec for spawning a single agent under a {@link PoolContext}.
6
- * `parent` defaults to `ctx.root`.
6
+ * `parent` defaults to `ctx.spine`.
7
7
  *
8
8
  * @category Agents
9
9
  */
@@ -14,7 +14,7 @@ export interface SpawnSpec {
14
14
  systemPrompt: string;
15
15
  /** PRNG seed for sampler diversity. */
16
16
  seed?: number;
17
- /** Parent branch to fork from. Falls back to ctx.root. */
17
+ /** Parent branch to fork from. Falls back to ctx.spine. */
18
18
  parent?: Branch;
19
19
  }
20
20
  /**
@@ -27,17 +27,17 @@ export interface SpawnSpec {
27
27
  * @category Agents
28
28
  */
29
29
  export interface PoolContext {
30
- /** Shared root branch. Orchestrator-provided spawns fork from here by default. */
31
- readonly root: Branch;
30
+ /** The pool's spine branch. Orchestrator-provided spawns fork from here by default. */
31
+ readonly spine: Branch;
32
32
  /** Fork an agent branch, prefill its suffix, transition to active. Tick loop picks it up. */
33
33
  spawn(spec: SpawnSpec): Operation<Agent>;
34
34
  /** Suspend until agent.status becomes 'idle' | 'disposed'. Returns agent for chaining. */
35
35
  waitFor(agent: Agent): Operation<Agent>;
36
36
  /**
37
- * Serialize a user+assistant turn and prefill it into root, advancing root.position.
37
+ * Serialize a user+assistant turn and prefill it into the spine, advancing spine.position.
38
38
  * No-op (returns 0) when assistantContent is empty.
39
39
  */
40
- extendRoot(userContent: string, assistantContent: string): Operation<number>;
40
+ extendSpine(userContent: string, assistantContent: string): Operation<number>;
41
41
  /** Whether another spawn with this suffix size would fit under current pressure. */
42
42
  canFit(estimatedSuffixTokens: number): boolean;
43
43
  }
@@ -82,7 +82,7 @@ export interface ChainStep {
82
82
  /** Fires BEFORE `ctx.spawn` for this step. Use for "task starting" events. */
83
83
  beforeSpawn?: () => Operation<void>;
84
84
  /**
85
- * Fires AFTER `ctx.extendRoot` for this step (or immediately after waitFor
85
+ * Fires AFTER `ctx.extendSpine` for this step (or immediately after waitFor
86
86
  * if no extension happened). Receives the number of tokens added to the
87
87
  * spine (0 when no extension) and the root's position after any extension.
88
88
  * Use for "task done" events with spine telemetry.
@@ -101,7 +101,7 @@ export interface ChainStep {
101
101
  * ```ts
102
102
  * yield* agentPool({
103
103
  * tools: [...],
104
- * parent: queryRoot,
104
+ * parent: querySpine,
105
105
  * orchestrate: chain(researchTasks, (task, i) => ({
106
106
  * task: { content: taskToContent(task), systemPrompt: renderWorker({ taskIndex: i }) },
107
107
  * userContent: `Research task: ${task.description}`,
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrators.d.ts","sourceRoot":"","sources":["../src/orchestrators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAQ,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,6FAA6F;IAC7F,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEzC,0FAA0F;IAC1F,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAExC;;;OAGG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE7E,oFAAoF;IACpF,MAAM,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC;CAChD;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;AAIjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,EAAE,KAAG,YAI3C,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;CACpE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,OAAO,CAAC,EAAE,EACV,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,KAC5C,YAaA,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GAAI,WAAW,SAAS,EAAE,SAAS,SAAS,EAAE,KAAG,YAajE,CAAC;AAEJ;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,GAAI,OAAO,OAAO,EAAE,KAAG,YA0CtC,CAAC"}
1
+ {"version":3,"file":"orchestrators.d.ts","sourceRoot":"","sources":["../src/orchestrators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAQ,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,6FAA6F;IAC7F,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEzC,0FAA0F;IAC1F,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAExC;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE9E,oFAAoF;IACpF,MAAM,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC;CAChD;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;AAIjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,EAAE,KAAG,YAI3C,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;CACpE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,OAAO,CAAC,EAAE,EACV,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,KAC5C,YAaA,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GAAI,WAAW,SAAS,EAAE,SAAS,SAAS,EAAE,KAAG,YAajE,CAAC;AAEJ;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,GAAI,OAAO,OAAO,EAAE,KAAG,YA0CtC,CAAC"}
@@ -18,7 +18,7 @@ const effection_1 = require("effection");
18
18
  * @category Agents
19
19
  */
20
20
  const parallel = (tasks) => function* (ctx) {
21
- const agents = yield* (0, effection_1.all)(tasks.map(t => ctx.spawn({ ...t, parent: t.parent ?? ctx.root })));
21
+ const agents = yield* (0, effection_1.all)(tasks.map(t => ctx.spawn({ ...t, parent: t.parent ?? ctx.spine })));
22
22
  yield* (0, effection_1.all)(agents.map(a => ctx.waitFor(a)));
23
23
  };
24
24
  exports.parallel = parallel;
@@ -34,7 +34,7 @@ exports.parallel = parallel;
34
34
  * ```ts
35
35
  * yield* agentPool({
36
36
  * tools: [...],
37
- * parent: queryRoot,
37
+ * parent: querySpine,
38
38
  * orchestrate: chain(researchTasks, (task, i) => ({
39
39
  * task: { content: taskToContent(task), systemPrompt: renderWorker({ taskIndex: i }) },
40
40
  * userContent: `Research task: ${task.description}`,
@@ -49,12 +49,12 @@ const chain = (items, toStep) => function* (ctx) {
49
49
  const step = toStep(item, i);
50
50
  if (step.beforeSpawn)
51
51
  yield* step.beforeSpawn();
52
- const agent = yield* ctx.waitFor(yield* ctx.spawn({ ...step.task, parent: step.task.parent ?? ctx.root }));
52
+ const agent = yield* ctx.waitFor(yield* ctx.spawn({ ...step.task, parent: step.task.parent ?? ctx.spine }));
53
53
  const delta = agent.result && step.userContent
54
- ? yield* ctx.extendRoot(step.userContent, agent.result)
54
+ ? yield* ctx.extendSpine(step.userContent, agent.result)
55
55
  : 0;
56
56
  if (step.afterExtend)
57
- yield* step.afterExtend(delta, ctx.root.position);
57
+ yield* step.afterExtend(delta, ctx.spine.position);
58
58
  }
59
59
  };
60
60
  exports.chain = chain;
@@ -79,11 +79,11 @@ exports.chain = chain;
79
79
  * @category Agents
80
80
  */
81
81
  const fanout = (landscape, domains) => function* (ctx) {
82
- const l = yield* ctx.waitFor(yield* ctx.spawn({ ...landscape.task, parent: landscape.task.parent ?? ctx.root }));
82
+ const l = yield* ctx.waitFor(yield* ctx.spawn({ ...landscape.task, parent: landscape.task.parent ?? ctx.spine }));
83
83
  if (l.result && landscape.userContent) {
84
- yield* ctx.extendRoot(landscape.userContent, l.result);
84
+ yield* ctx.extendSpine(landscape.userContent, l.result);
85
85
  }
86
- const agents = yield* (0, effection_1.all)(domains.map(d => ctx.spawn({ ...d, parent: d.parent ?? ctx.root })));
86
+ const agents = yield* (0, effection_1.all)(domains.map(d => ctx.spawn({ ...d, parent: d.parent ?? ctx.spine })));
87
87
  yield* (0, effection_1.all)(agents.map(a => ctx.waitFor(a)));
88
88
  };
89
89
  exports.fanout = fanout;
@@ -123,9 +123,9 @@ const dag = (nodes) => {
123
123
  for (const depId of n.dependsOn ?? []) {
124
124
  yield* tasks.get(depId);
125
125
  }
126
- const agent = yield* ctx.waitFor(yield* ctx.spawn({ ...n.task, parent: n.task.parent ?? ctx.root }));
126
+ const agent = yield* ctx.waitFor(yield* ctx.spawn({ ...n.task, parent: n.task.parent ?? ctx.spine }));
127
127
  if (agent.result && n.userContent) {
128
- yield* ctx.extendRoot(n.userContent, agent.result);
128
+ yield* ctx.extendSpine(n.userContent, agent.result);
129
129
  }
130
130
  }
131
131
  for (const n of nodes) {
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrators.js","sourceRoot":"","sources":["../src/orchestrators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrators.js","sourceRoot":"","sources":["../src/orchestrators.ts"],"names":[],"mappings":"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"}
package/dist/replay.d.ts CHANGED
@@ -4,48 +4,48 @@ import type { TraceEvent } from './trace-types';
4
4
  /**
5
5
  * Serialized state needed to reconstruct a Branch deterministically.
6
6
  *
7
- * `rootPrompt` is the tokenized prompt that initialized a shared root — the
7
+ * `seedPrompt` is the tokenized prompt that initialized a spine — the
8
8
  * full formatted chat template including system prompt and any tool schemas.
9
- * Captured from `prompt:format` events with `role: 'sharedRoot'`.
9
+ * Captured from `prompt:format` events with `role: 'spine'`.
10
10
  *
11
11
  * `turns` is an ordered list of user/assistant turn pairs that were prefilled
12
- * on top of the root via {@link extendSpine}. Empty for pool-start replay
12
+ * on top of the spine via {@link extendSpine}. Empty for pool-start replay
13
13
  * (any orchestration shape that doesn't extend the spine — e.g. `parallel`);
14
14
  * populated for spine-extending orchestrations (`chain`, `fanout`, `dag`).
15
15
  *
16
16
  * @category Agents
17
17
  */
18
18
  export interface BranchCheckpoint {
19
- rootPrompt: string;
19
+ seedPrompt: string;
20
20
  turns: Array<{
21
21
  userContent: string;
22
22
  assistantContent: string;
23
23
  }>;
24
24
  }
25
25
  /**
26
- * Extract the shared-root prompt from a trace, with no spine extensions.
26
+ * Extract the spine seed prompt from a trace, with no spine extensions.
27
27
  *
28
28
  * Useful for replaying parallel orchestrations, or for forking a fresh
29
29
  * agent off the same pool-start state for A/B experiments.
30
30
  *
31
31
  * @param events - parsed JSONL trace events, in emission order
32
- * @throws If no `prompt:format` event with `role: 'sharedRoot'` is found.
32
+ * @throws If no `prompt:format` event with `role: 'spine'` is found.
33
33
  *
34
34
  * @category Agents
35
35
  */
36
- export declare function extractRootCheckpoint(events: TraceEvent[]): BranchCheckpoint;
36
+ export declare function extractSpineSeed(events: TraceEvent[]): BranchCheckpoint;
37
37
  /**
38
- * Extract a full spine checkpoint — root prompt plus every `spine:extend`
39
- * event in emission order.
38
+ * Extract a full spine checkpoint — spine seed prompt plus every
39
+ * `spine:extend` event in emission order.
40
40
  *
41
41
  * When `opts.poolTraceId` is set, only spine extensions under that pool's
42
42
  * scope are included (useful when a trace contains multiple nested or
43
43
  * sequential pools with independent spines — typically the research pool
44
- * vs. a later synthesis pool, both extending their own roots).
44
+ * vs. a later synthesis pool, both extending their own spines).
45
45
  *
46
46
  * @param events - parsed JSONL trace events, in emission order
47
47
  * @param opts.poolTraceId - filter extensions to this pool's scope
48
- * @throws If no shared-root prompt is found.
48
+ * @throws If no spine seed prompt is found.
49
49
  *
50
50
  * @category Agents
51
51
  */
@@ -55,11 +55,11 @@ export declare function extractSpineCheckpoint(events: TraceEvent[], opts?: {
55
55
  /**
56
56
  * Materialize a Branch reflecting the checkpointed state.
57
57
  *
58
- * Creates a fresh root at position 0 in the active `SessionContext`, prefills
59
- * the tokenized root prompt, then applies each turn delta via `buildTurnDelta`
58
+ * Creates a fresh spine at position 0 in the active `SessionContext`, prefills
59
+ * the tokenized seed prompt, then applies each turn delta via `buildTurnDelta`
60
60
  * + `store.prefill`. Registers an `ensure()` so the subtree is pruned when
61
61
  * the caller's scope exits — lifetime follows the enclosing `scoped()` or
62
- * `resource()`, matching how `withSharedRoot` manages its own root.
62
+ * `resource()`, matching how `withSpine` manages its own spine.
63
63
  *
64
64
  * Pass the returned branch as `parent` to `agentPool` to run a replacement
65
65
  * stage (synth re-run, single-agent replay with modified prompt, etc.) against
@@ -68,10 +68,10 @@ export declare function extractSpineCheckpoint(events: TraceEvent[], opts?: {
68
68
  * @example Replay a pool-start (parallel orchestration) with a modified task
69
69
  * ```ts
70
70
  * const events = parseTrace(tracePath);
71
- * const checkpoint = extractRootCheckpoint(events);
72
- * const root = yield* reconstructBranch(checkpoint);
71
+ * const checkpoint = extractSpineSeed(events);
72
+ * const spine = yield* reconstructBranch(checkpoint);
73
73
  * yield* agentPool({
74
- * parent: root,
74
+ * parent: spine,
75
75
  * orchestrate: parallel([{ content: modifiedTask, systemPrompt: modifiedSys }]),
76
76
  * ...
77
77
  * });
@@ -81,9 +81,9 @@ export declare function extractSpineCheckpoint(events: TraceEvent[], opts?: {
81
81
  * ```ts
82
82
  * const events = parseTrace(tracePath);
83
83
  * const checkpoint = extractSpineCheckpoint(events);
84
- * const queryRoot = yield* reconstructBranch(checkpoint);
84
+ * const spine = yield* reconstructBranch(checkpoint);
85
85
  * yield* agentPool({
86
- * parent: queryRoot,
86
+ * parent: spine,
87
87
  * orchestrate: parallel([{ content: SYNTHESIZE.user }]),
88
88
  * systemPrompt: SYNTHESIZE.system,
89
89
  * ...
@@ -1 +1 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAkB,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAW5E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAAE,EACpB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,gBAAgB,CASlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAiB,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAgBlF"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAkB,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAWvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAAE,EACpB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,gBAAgB,CASlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAiB,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAgBlF"}
package/dist/replay.js CHANGED
@@ -1,46 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.extractRootCheckpoint = extractRootCheckpoint;
3
+ exports.extractSpineSeed = extractSpineSeed;
4
4
  exports.extractSpineCheckpoint = extractSpineCheckpoint;
5
5
  exports.reconstructBranch = reconstructBranch;
6
6
  const effection_1 = require("effection");
7
7
  const sdk_1 = require("@lloyal-labs/sdk");
8
8
  const context_1 = require("./context");
9
9
  /**
10
- * Extract the shared-root prompt from a trace, with no spine extensions.
10
+ * Extract the spine seed prompt from a trace, with no spine extensions.
11
11
  *
12
12
  * Useful for replaying parallel orchestrations, or for forking a fresh
13
13
  * agent off the same pool-start state for A/B experiments.
14
14
  *
15
15
  * @param events - parsed JSONL trace events, in emission order
16
- * @throws If no `prompt:format` event with `role: 'sharedRoot'` is found.
16
+ * @throws If no `prompt:format` event with `role: 'spine'` is found.
17
17
  *
18
18
  * @category Agents
19
19
  */
20
- function extractRootCheckpoint(events) {
21
- const sharedRoot = events.find((e) => e.type === 'prompt:format' && e.role === 'sharedRoot');
22
- if (!sharedRoot) {
23
- throw new Error('extractRootCheckpoint: no prompt:format event with role=sharedRoot found in trace');
20
+ function extractSpineSeed(events) {
21
+ const seed = events.find((e) => e.type === 'prompt:format' && e.role === 'spine');
22
+ if (!seed) {
23
+ throw new Error('extractSpineSeed: no prompt:format event with role=spine found in trace');
24
24
  }
25
- return { rootPrompt: sharedRoot.promptText, turns: [] };
25
+ return { seedPrompt: seed.promptText, turns: [] };
26
26
  }
27
27
  /**
28
- * Extract a full spine checkpoint — root prompt plus every `spine:extend`
29
- * event in emission order.
28
+ * Extract a full spine checkpoint — spine seed prompt plus every
29
+ * `spine:extend` event in emission order.
30
30
  *
31
31
  * When `opts.poolTraceId` is set, only spine extensions under that pool's
32
32
  * scope are included (useful when a trace contains multiple nested or
33
33
  * sequential pools with independent spines — typically the research pool
34
- * vs. a later synthesis pool, both extending their own roots).
34
+ * vs. a later synthesis pool, both extending their own spines).
35
35
  *
36
36
  * @param events - parsed JSONL trace events, in emission order
37
37
  * @param opts.poolTraceId - filter extensions to this pool's scope
38
- * @throws If no shared-root prompt is found.
38
+ * @throws If no spine seed prompt is found.
39
39
  *
40
40
  * @category Agents
41
41
  */
42
42
  function extractSpineCheckpoint(events, opts = {}) {
43
- const root = extractRootCheckpoint(events);
43
+ const seed = extractSpineSeed(events);
44
44
  const turns = [];
45
45
  for (const e of events) {
46
46
  if (e.type !== 'spine:extend')
@@ -49,16 +49,16 @@ function extractSpineCheckpoint(events, opts = {}) {
49
49
  continue;
50
50
  turns.push({ userContent: e.userContent, assistantContent: e.assistantContent });
51
51
  }
52
- return { rootPrompt: root.rootPrompt, turns };
52
+ return { seedPrompt: seed.seedPrompt, turns };
53
53
  }
54
54
  /**
55
55
  * Materialize a Branch reflecting the checkpointed state.
56
56
  *
57
- * Creates a fresh root at position 0 in the active `SessionContext`, prefills
58
- * the tokenized root prompt, then applies each turn delta via `buildTurnDelta`
57
+ * Creates a fresh spine at position 0 in the active `SessionContext`, prefills
58
+ * the tokenized seed prompt, then applies each turn delta via `buildTurnDelta`
59
59
  * + `store.prefill`. Registers an `ensure()` so the subtree is pruned when
60
60
  * the caller's scope exits — lifetime follows the enclosing `scoped()` or
61
- * `resource()`, matching how `withSharedRoot` manages its own root.
61
+ * `resource()`, matching how `withSpine` manages its own spine.
62
62
  *
63
63
  * Pass the returned branch as `parent` to `agentPool` to run a replacement
64
64
  * stage (synth re-run, single-agent replay with modified prompt, etc.) against
@@ -67,10 +67,10 @@ function extractSpineCheckpoint(events, opts = {}) {
67
67
  * @example Replay a pool-start (parallel orchestration) with a modified task
68
68
  * ```ts
69
69
  * const events = parseTrace(tracePath);
70
- * const checkpoint = extractRootCheckpoint(events);
71
- * const root = yield* reconstructBranch(checkpoint);
70
+ * const checkpoint = extractSpineSeed(events);
71
+ * const spine = yield* reconstructBranch(checkpoint);
72
72
  * yield* agentPool({
73
- * parent: root,
73
+ * parent: spine,
74
74
  * orchestrate: parallel([{ content: modifiedTask, systemPrompt: modifiedSys }]),
75
75
  * ...
76
76
  * });
@@ -80,9 +80,9 @@ function extractSpineCheckpoint(events, opts = {}) {
80
80
  * ```ts
81
81
  * const events = parseTrace(tracePath);
82
82
  * const checkpoint = extractSpineCheckpoint(events);
83
- * const queryRoot = yield* reconstructBranch(checkpoint);
83
+ * const spine = yield* reconstructBranch(checkpoint);
84
84
  * yield* agentPool({
85
- * parent: queryRoot,
85
+ * parent: spine,
86
86
  * orchestrate: parallel([{ content: SYNTHESIZE.user }]),
87
87
  * systemPrompt: SYNTHESIZE.system,
88
88
  * ...
@@ -94,15 +94,15 @@ function extractSpineCheckpoint(events, opts = {}) {
94
94
  function* reconstructBranch(checkpoint) {
95
95
  const ctx = yield* context_1.Ctx.expect();
96
96
  const store = yield* context_1.Store.expect();
97
- const root = sdk_1.Branch.create(ctx, 0, {});
98
- yield* (0, effection_1.ensure)(() => { if (!root.disposed)
99
- root.pruneSubtreeSync(); });
100
- const rootTokens = ctx.tokenizeSync(checkpoint.rootPrompt, false);
101
- yield* (0, effection_1.call)(() => root.prefill(rootTokens));
97
+ const spine = sdk_1.Branch.create(ctx, 0, {});
98
+ yield* (0, effection_1.ensure)(() => { if (!spine.disposed)
99
+ spine.pruneSubtreeSync(); });
100
+ const seedTokens = ctx.tokenizeSync(checkpoint.seedPrompt, false);
101
+ yield* (0, effection_1.call)(() => spine.prefill(seedTokens));
102
102
  for (const turn of checkpoint.turns) {
103
103
  const delta = (0, sdk_1.buildTurnDelta)(ctx, turn.userContent, turn.assistantContent);
104
- yield* (0, effection_1.call)(() => store.prefill([[root, delta]]));
104
+ yield* (0, effection_1.call)(() => store.prefill([[spine, delta]]));
105
105
  }
106
- return root;
106
+ return spine;
107
107
  }
108
108
  //# sourceMappingURL=replay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":";;AAoCA,sDAWC;AAiBD,wDAYC;AA0CD,8CAgBC;AAtID,yCAAyC;AAEzC,0CAA0D;AAC1D,uCAAuC;AAsBvC;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CAAC,MAAoB;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAuD,EAAE,CACzD,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CACxD,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,sBAAsB,CACpC,MAAoB,EACpB,OAAiC,EAAE;IAEnC,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,SAAS;QACxC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW;YAAE,SAAS;QAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,QAAe,CAAC,CAAC,iBAAiB,CAAC,UAA4B;IAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAK,CAAC,MAAM,EAAE,CAAC;IAEpC,MAAM,IAAI,GAAG,YAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACvC,KAAK,CAAC,CAAC,IAAA,kBAAM,EAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAClE,KAAK,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAA,oBAAc,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3E,KAAK,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":";;AAoCA,4CAWC;AAiBD,wDAYC;AA0CD,8CAgBC;AAtID,yCAAyC;AAEzC,0CAA0D;AAC1D,uCAAuC;AAsBvC;;;;;;;;;;GAUG;AACH,SAAgB,gBAAgB,CAAC,MAAoB;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CACtB,CAAC,CAAC,EAAuD,EAAE,CACzD,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CACnD,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,sBAAsB,CACpC,MAAoB,EACpB,OAAiC,EAAE;IAEnC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc;YAAE,SAAS;QACxC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW;YAAE,SAAS;QAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,QAAe,CAAC,CAAC,iBAAiB,CAAC,UAA4B;IAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,aAAG,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAK,CAAC,MAAM,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAG,YAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,CAAC,IAAA,kBAAM,EAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAClE,KAAK,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAA,oBAAc,EAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3E,KAAK,CAAC,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}