@lloyal-labs/lloyal-agents 2.0.0 → 3.0.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 (79) hide show
  1. package/LICENSE +107 -0
  2. package/LICENSE-FAQ.md +256 -0
  3. package/README.md +31 -15
  4. package/dist/Agent.d.ts +15 -4
  5. package/dist/Agent.d.ts.map +1 -1
  6. package/dist/Agent.js +12 -2
  7. package/dist/Agent.js.map +1 -1
  8. package/dist/AgentPolicy.d.ts +92 -15
  9. package/dist/AgentPolicy.d.ts.map +1 -1
  10. package/dist/AgentPolicy.js +42 -14
  11. package/dist/AgentPolicy.js.map +1 -1
  12. package/dist/Tool.d.ts +45 -1
  13. package/dist/Tool.d.ts.map +1 -1
  14. package/dist/Tool.js +50 -2
  15. package/dist/Tool.js.map +1 -1
  16. package/dist/agent-pool.d.ts +4 -4
  17. package/dist/agent-pool.d.ts.map +1 -1
  18. package/dist/agent-pool.js +224 -53
  19. package/dist/agent-pool.js.map +1 -1
  20. package/dist/app-config.d.ts +50 -0
  21. package/dist/app-config.d.ts.map +1 -0
  22. package/dist/app-config.js +27 -0
  23. package/dist/app-config.js.map +1 -0
  24. package/dist/app-types.d.ts +309 -0
  25. package/dist/app-types.d.ts.map +1 -0
  26. package/dist/app-types.js +28 -0
  27. package/dist/app-types.js.map +1 -0
  28. package/dist/chunk.d.ts +118 -0
  29. package/dist/chunk.d.ts.map +1 -0
  30. package/dist/chunk.js +19 -0
  31. package/dist/chunk.js.map +1 -0
  32. package/dist/context.d.ts +76 -20
  33. package/dist/context.d.ts.map +1 -1
  34. package/dist/context.js +72 -20
  35. package/dist/context.js.map +1 -1
  36. package/dist/create-agent-pool.d.ts +18 -12
  37. package/dist/create-agent-pool.d.ts.map +1 -1
  38. package/dist/create-agent-pool.js +30 -29
  39. package/dist/create-agent-pool.js.map +1 -1
  40. package/dist/grant-store.d.ts +49 -0
  41. package/dist/grant-store.d.ts.map +1 -0
  42. package/dist/grant-store.js +33 -0
  43. package/dist/grant-store.js.map +1 -0
  44. package/dist/index.d.ts +10 -6
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +9 -5
  47. package/dist/index.js.map +1 -1
  48. package/dist/orchestrators.d.ts +15 -8
  49. package/dist/orchestrators.d.ts.map +1 -1
  50. package/dist/orchestrators.js +10 -10
  51. package/dist/orchestrators.js.map +1 -1
  52. package/dist/replay.d.ts +19 -19
  53. package/dist/replay.d.ts.map +1 -1
  54. package/dist/replay.js +29 -29
  55. package/dist/replay.js.map +1 -1
  56. package/dist/source.d.ts +31 -1
  57. package/dist/source.d.ts.map +1 -1
  58. package/dist/source.js +32 -2
  59. package/dist/source.js.map +1 -1
  60. package/dist/spine.d.ts +100 -0
  61. package/dist/spine.d.ts.map +1 -0
  62. package/dist/{shared-root.js → spine.js} +57 -38
  63. package/dist/spine.js.map +1 -0
  64. package/dist/toolkit.d.ts +44 -17
  65. package/dist/toolkit.d.ts.map +1 -1
  66. package/dist/toolkit.js +24 -14
  67. package/dist/toolkit.js.map +1 -1
  68. package/dist/trace-types.d.ts +36 -4
  69. package/dist/trace-types.d.ts.map +1 -1
  70. package/dist/types.d.ts +46 -15
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/use-agent.d.ts +10 -5
  73. package/dist/use-agent.d.ts.map +1 -1
  74. package/dist/use-agent.js +18 -15
  75. package/dist/use-agent.js.map +1 -1
  76. package/package.json +7 -5
  77. package/dist/shared-root.d.ts +0 -96
  78. package/dist/shared-root.d.ts.map +0 -1
  79. package/dist/shared-root.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import type { ToolHistoryEntry } from './Agent';
1
2
  /**
2
3
  * Monotonically increasing trace ID
3
4
  *
@@ -45,18 +46,18 @@ export type TraceEvent = (TraceEventBase & {
45
46
  messages: string;
46
47
  tools?: string;
47
48
  grammar?: string;
48
- role: 'sharedRoot' | 'agentSuffix' | 'generate' | 'diverge' | 'toolResultDelta';
49
+ role: 'spine' | 'agentSuffix' | 'generate' | 'diverge' | 'toolResultDelta';
49
50
  }) | (TraceEventBase & {
50
51
  type: 'branch:create';
51
52
  branchHandle: number;
52
53
  parentHandle: number | null;
53
54
  position: number;
54
- role: 'root' | 'sharedRoot' | 'agentFork' | 'scratchpad' | 'divergeAttempt';
55
+ role: 'root' | 'spine' | 'agentFork' | 'divergeAttempt';
55
56
  }) | (TraceEventBase & {
56
57
  type: 'branch:prefill';
57
58
  branchHandle: number;
58
59
  tokenCount: number;
59
- role: 'sharedPrefix' | 'agentSuffix' | 'toolResult' | 'warmDelta' | 'scratchpad' | 'probe' | 'recovery';
60
+ role: 'spineHeader' | 'agentSuffix' | 'toolResult' | 'warmDelta' | 'probe' | 'recovery';
60
61
  probeText?: string;
61
62
  }) | (TraceEventBase & {
62
63
  type: 'branch:prune';
@@ -120,7 +121,7 @@ export type TraceEvent = (TraceEventBase & {
120
121
  tokenCount: number;
121
122
  outputLength: number;
122
123
  }) | (TraceEventBase & {
123
- type: 'pool:recoveryReport';
124
+ type: 'pool:recoveryReturn';
124
125
  agentId: number;
125
126
  resultLength: number;
126
127
  }) | (TraceEventBase & {
@@ -166,6 +167,27 @@ export type TraceEvent = (TraceEventBase & {
166
167
  agentId: number;
167
168
  tool: string;
168
169
  error: string;
170
+ }) | (TraceEventBase & {
171
+ type: 'tool:retry';
172
+ agentId: number;
173
+ tool: string;
174
+ callId: string;
175
+ retryAfterMs: number;
176
+ attempt: number;
177
+ }) | (TraceEventBase & {
178
+ type: 'tool:authReject';
179
+ agentId: number;
180
+ /** Non-enforcing app label (`SpawnSpec.assignedApp`); null for harness-internal spawns. */
181
+ assignedApp: string | null;
182
+ /** The protected tool the model attempted to call without a grant. */
183
+ attemptedTool: string;
184
+ /**
185
+ * Flattened tool history across the rejecting agent's lineage
186
+ * (self → caller → …) — the forensic correlation key for prompt
187
+ * injection. Cheap to carry: `tool:authReject` is
188
+ * rare-by-design (it fires only on an ungranted protected attempt).
189
+ */
190
+ lineageHistory: readonly ToolHistoryEntry[];
169
191
  }) | (TraceEventBase & {
170
192
  type: 'diverge:start';
171
193
  attempts: number;
@@ -176,6 +198,16 @@ export type TraceEvent = (TraceEventBase & {
176
198
  ppls: number[];
177
199
  outputs: string[];
178
200
  totalTokens: number;
201
+ }) | (TraceEventBase & {
202
+ type: 'bm25:start';
203
+ query: string;
204
+ candidateCount: number;
205
+ firstStageK: number;
206
+ }) | (TraceEventBase & {
207
+ type: 'bm25:end';
208
+ candidateCount: number;
209
+ keptCount: number;
210
+ durationMs: number;
179
211
  }) | (TraceEventBase & {
180
212
  type: 'rerank:start';
181
213
  query: string;
@@ -1 +1 @@
1
- {"version":3,"file":"trace-types.d.ts","sourceRoot":"","sources":["../src/trace-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-types.d.ts","sourceRoot":"","sources":["../src/trace-types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -56,7 +56,7 @@ export interface ToolContext {
56
56
  agentId: number;
57
57
  /**
58
58
  * The calling agent's branch — use for recursive tools that spawn
59
- * sub-agents via {@link withSharedRoot} with `parent` option.
59
+ * sub-agents via {@link withSpine} with `parent` option.
60
60
  * Sub-agents forking from this branch inherit the agent's full
61
61
  * KV state (Continuous Context).
62
62
  */
@@ -130,6 +130,14 @@ export interface AgentTaskSpec {
130
130
  seed?: number;
131
131
  /** Parent branch to fork from (required by {@link useAgentPool}) */
132
132
  parent?: Branch;
133
+ /**
134
+ * Non-enforcing label naming the App this spawn nominally belongs to
135
+ * Carried for trace attribution (`tool:authReject`) and
136
+ * harness UI only — tool access is gated by {@link Tool.protected} +
137
+ * session grants (the authGuard), not by app membership. Unset for
138
+ * harness-internal spawns.
139
+ */
140
+ assignedApp?: string;
133
141
  }
134
142
  /**
135
143
  * Sampling parameters for generation
@@ -202,10 +210,10 @@ export interface PressureThresholds {
202
210
  */
203
211
  export interface AgentPoolOptions {
204
212
  /**
205
- * Shared root branch. Orchestrator-spawned agents fork from this by default.
206
- * Produced by {@link withSharedRoot} in the {@link agentPool} wrapper.
213
+ * Spine branch. Orchestrator-spawned agents fork from this by default.
214
+ * Produced by {@link withSpine} in the {@link agentPool} wrapper.
207
215
  */
208
- root: Branch;
216
+ spine: Branch;
209
217
  /**
210
218
  * Orchestrator callback — declares the execution pattern (parallel, chain,
211
219
  * fanout, dag, or a custom shape). Drives task spawning, waiting, and
@@ -233,18 +241,20 @@ export interface AgentPoolOptions {
233
241
  /** Maximum tool-call turns per agent before forced termination */
234
242
  maxTurns?: number;
235
243
  /** Tool name that signals agent completion. When the model calls this tool,
236
- * findings are extracted from arguments and the agent is marked done.
237
- * The tool is intercepted never dispatched to execute(). If omitted,
238
- * agents complete only via stop token or hard-cut. */
239
- terminalTool?: string;
244
+ * the result is extracted from its arguments and the agent is marked done.
245
+ * The tool's execute() code-path is not reached the framework intercepts
246
+ * the call at the policy layer and treats it as the agent's return. If
247
+ * omitted, agents complete only via stop token, free-text return, or
248
+ * hard-cut. */
249
+ terminalToolName?: string;
240
250
  /** Enable per-token entropy/surprisal on `agent:produce` events */
241
251
  trace?: boolean;
242
- /** Prune agent branches immediately when they call the terminal tool.
243
- * Frees KV for remaining agents mid-pool. Only agents that reported
244
- * findings are pruned — hard-cut agents keep their branches for
245
- * reportPass extraction. @default false */
246
- pruneOnReport?: boolean;
247
- /** Custom agent policy. Configure recovery (scratchpad extraction),
252
+ /** Prune agent branches immediately when they voluntarily return via the
253
+ * terminal tool. Frees KV for remaining agents mid-pool. Only agents
254
+ * that voluntarily returned are pruned — hard-cut agents keep their
255
+ * branches for recovery extraction. @default false */
256
+ pruneOnReturn?: boolean;
257
+ /** Custom agent policy. Configure recovery (recovery-prompt extraction),
248
258
  * time limits, explore/exploit threshold, and tool guards via
249
259
  * {@link DefaultAgentPolicyOpts}. @default DefaultAgentPolicy with default opts */
250
260
  policy?: AgentPolicy;
@@ -265,6 +275,17 @@ export interface AgentPoolOptions {
265
275
  /** Entailment scorer for semantic coherence across recursive depths.
266
276
  * Passed to every tool via {@link ToolContext.scorer}. */
267
277
  scorer?: EntailmentScorer;
278
+ /**
279
+ * Eager GBNF grammar applied to every spawned agent's generating branch —
280
+ * constrains generation from the first sampled token (no trigger). Used for
281
+ * schema-constrained single-shot agents (e.g. the planner via
282
+ * {@link useAgent} with a `schema`). Applied at the same point as lazy tool
283
+ * grammar — in `applyLazyGrammar`, AFTER the suffix prefill — so it
284
+ * constrains generated tokens only, never the prompt. Unlike a lazy grammar
285
+ * (gated on tool triggers), this is unconditional; agents with tool grammars
286
+ * use the lazy path instead. @default undefined (unconstrained)
287
+ */
288
+ eagerGrammar?: string;
268
289
  }
269
290
  /**
270
291
  * Result for a single completed agent
@@ -446,7 +467,17 @@ export type AgentEvent = {
446
467
  filled: number;
447
468
  total: number;
448
469
  } | {
449
- type: 'agent:report';
470
+ type: 'agent:tool_retry';
471
+ agentId: number;
472
+ tool: string;
473
+ retryAfterMs: number;
474
+ attempt: number;
475
+ } | {
476
+ type: 'agent:return';
477
+ agentId: number;
478
+ result: string;
479
+ } | {
480
+ type: 'agent:recovered';
450
481
  agentId: number;
451
482
  result: string;
452
483
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,13 @@ export interface UseAgentOpts {
17
17
  task: string;
18
18
  /** Tools available to the agent. Optional — pool degenerates cleanly without tools. */
19
19
  tools?: Tool[];
20
- /** Terminal tool name — tool must be in the tools array. */
21
- terminalTool?: string;
20
+ /**
21
+ * The tool that ends the agent's turn (e.g. `reportTool`), by reference.
22
+ * Merged into the tool set so its schema reaches the model; the pool
23
+ * intercepts its call to extract the result. Omit to end on
24
+ * free-text/stop.
25
+ */
26
+ terminal?: Tool;
22
27
  /** Max tool-use turns before hard cut. @default 100 */
23
28
  maxTurns?: number;
24
29
  /** JSON Schema for eager grammar constraint (deferred: Zod support). */
@@ -44,7 +49,7 @@ export interface UseAgentOpts {
44
49
  * root and agent branch alive until the caller's scope exits — caller can
45
50
  * fork from the Agent's branch for verification or follow-up.
46
51
  *
47
- * Root managed via `ensure()` (not `withSharedRoot`) because the resource
52
+ * Root managed via `ensure()` (not `withSpine`) because the resource
48
53
  * lifetime requires the root alive until the caller's scope exits.
49
54
  *
50
55
  * Events stream passively to the broadcast Channel during the inline drain.
@@ -57,8 +62,8 @@ export interface UseAgentOpts {
57
62
  * const agent = yield* useAgent({
58
63
  * systemPrompt: "You are a research assistant.",
59
64
  * task: "Find information about X",
60
- * tools: [searchTool, reportTool],
61
- * terminalTool: 'report',
65
+ * tools: [searchTool],
66
+ * terminal: reportTool,
62
67
  * });
63
68
  * // agent.result — findings
64
69
  * // agent.branch — alive, can fork from
@@ -1 +1 @@
1
- {"version":3,"file":"use-agent.d.ts","sourceRoot":"","sources":["../src/use-agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMhC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAc,MAAM,SAAS,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CA+D7D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAiB,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAI3D"}
1
+ {"version":3,"file":"use-agent.d.ts","sourceRoot":"","sources":["../src/use-agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMhC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAc,MAAM,SAAS,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAkE7D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAiB,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAI3D"}
package/dist/use-agent.js CHANGED
@@ -19,7 +19,7 @@ const orchestrators_1 = require("./orchestrators");
19
19
  * root and agent branch alive until the caller's scope exits — caller can
20
20
  * fork from the Agent's branch for verification or follow-up.
21
21
  *
22
- * Root managed via `ensure()` (not `withSharedRoot`) because the resource
22
+ * Root managed via `ensure()` (not `withSpine`) because the resource
23
23
  * lifetime requires the root alive until the caller's scope exits.
24
24
  *
25
25
  * Events stream passively to the broadcast Channel during the inline drain.
@@ -32,8 +32,8 @@ const orchestrators_1 = require("./orchestrators");
32
32
  * const agent = yield* useAgent({
33
33
  * systemPrompt: "You are a research assistant.",
34
34
  * task: "Find information about X",
35
- * tools: [searchTool, reportTool],
36
- * terminalTool: 'report',
35
+ * tools: [searchTool],
36
+ * terminal: reportTool,
37
37
  * });
38
38
  * // agent.result — findings
39
39
  * // agent.branch — alive, can fork from
@@ -46,13 +46,13 @@ function useAgent(opts) {
46
46
  const ctx = yield* context_1.Ctx.expect();
47
47
  const broadcast = yield* context_1.Events.expect();
48
48
  const tw = yield* context_1.Trace.expect();
49
- const toolkit = (0, toolkit_1.createToolkit)(opts.tools ?? []);
49
+ const toolkit = (0, toolkit_1.createToolkit)(opts.tools ?? [], opts.terminal);
50
50
  const warmParent = opts.parent ?? opts.session?.trunk ?? undefined;
51
51
  const scope = (0, trace_scope_1.traceScope)(tw, null, 'useAgent', {
52
- hasTools: !!(opts.tools?.length),
52
+ hasTools: toolkit.tools.length > 0,
53
53
  hasParent: !!warmParent,
54
54
  });
55
- // Create root — ensure() for resource lifetime (not withSharedRoot's try/finally).
55
+ // Create root — ensure() for resource lifetime (not withSpine's try/finally).
56
56
  // The root carries no chat context; the agent's suffix (formatted fresh in
57
57
  // setupAgent) is the agent's full chat. Warm path prefills a turn separator
58
58
  // so the suffix lands on a clean turn boundary.
@@ -65,25 +65,28 @@ function useAgent(opts) {
65
65
  if (prefillTokens.length > 0) {
66
66
  yield* (0, effection_1.call)(() => root.prefill(prefillTokens));
67
67
  }
68
- // Eager grammar from schema set on root before fork.
69
- // Fork inherits grammar state. formatChatSync returns no grammar for
70
- // no-tools case, so applyLazyGrammar is a no-op and the inherited
71
- // eager grammar persists on the forked agent branch.
68
+ // Eager grammar from schema. Compile here, but apply it on the GENERATING
69
+ // branch via the pool (eagerGrammar below), not on root — setting it on
70
+ // root and relying on fork-inheritance didn't survive to the branch that
71
+ // decodes, so the agent free-ran (e.g. the planner emitting ```json fences
72
+ // / dropping required fields). The pool sets it in applyLazyGrammar, after
73
+ // the suffix prefill, the same seam tool grammar uses.
74
+ let eagerGrammar;
72
75
  if (opts.schema) {
73
- const grammar = yield* (0, effection_1.call)(() => ctx.jsonSchemaToGrammar(JSON.stringify(opts.schema)));
74
- root.setGrammar(grammar);
76
+ eagerGrammar = yield* (0, effection_1.call)(() => ctx.jsonSchemaToGrammar(JSON.stringify(opts.schema)));
75
77
  }
76
78
  // Delegate to useAgentPool N=1 via a trivial parallel orchestrator
77
- const hasTools = !!(opts.tools?.length);
79
+ const hasTools = toolkit.tools.length > 0;
78
80
  const sub = yield* (0, agent_pool_1.useAgentPool)({
79
- root,
81
+ spine: root,
80
82
  orchestrate: (0, orchestrators_1.parallel)([{ content: opts.task, systemPrompt: opts.systemPrompt }]),
81
83
  toolsJson: hasTools ? toolkit.toolsJson : '',
82
84
  tools: toolkit.toolMap,
83
- terminalTool: opts.terminalTool,
85
+ terminalToolName: toolkit.terminalName,
84
86
  maxTurns: opts.maxTurns,
85
87
  policy: opts.policy,
86
88
  trace: opts.trace,
89
+ eagerGrammar,
87
90
  });
88
91
  // Drain Subscription inline — forward to broadcast
89
92
  let next = yield* sub.next();
@@ -1 +1 @@
1
- {"version":3,"file":"use-agent.js","sourceRoot":"","sources":["../src/use-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-agent.js","sourceRoot":"","sources":["../src/use-agent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lloyal-labs/lloyal-agents",
3
- "version": "2.0.0",
4
- "description": "Multi-agent inference inside the decode loop structured concurrency over shared KV state",
3
+ "version": "3.0.0",
4
+ "description": "Multi-agent inference inside the decode loop \u2014 structured concurrency over shared KV state",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "publishConfig": {
@@ -25,17 +25,19 @@
25
25
  "effection",
26
26
  "llama.cpp"
27
27
  ],
28
- "license": "Apache-2.0",
28
+ "license": "SEE LICENSE IN LICENSE",
29
29
  "type": "commonjs",
30
30
  "scripts": {
31
31
  "build": "tsc -b"
32
32
  },
33
33
  "dependencies": {
34
- "@lloyal-labs/sdk": "^2.0.0",
34
+ "@lloyal-labs/sdk": "^3.0.0",
35
35
  "effection": "^4.0.2",
36
36
  "eta": "^4.5.1"
37
37
  },
38
38
  "files": [
39
- "dist/"
39
+ "dist/",
40
+ "LICENSE",
41
+ "LICENSE-FAQ.md"
40
42
  ]
41
43
  }
@@ -1,96 +0,0 @@
1
- import type { Operation } from "effection";
2
- import { Branch } from "@lloyal-labs/sdk";
3
- import type { SamplingParams } from "./types";
4
- /**
5
- * Configuration for {@link withSharedRoot}
6
- *
7
- * @category Agents
8
- */
9
- export interface SharedRootOptions {
10
- /** Sampling parameters for the root branch */
11
- params?: SamplingParams;
12
- /**
13
- * Set ScratchpadParent context so tools can fork from the shared root
14
- * for scratchpad extraction (fork-attend-extract-prune pattern).
15
- * @default false
16
- */
17
- enableScratchpad?: boolean;
18
- /**
19
- * Fork root from this branch instead of creating at position 0.
20
- *
21
- * When provided, the root inherits the parent's full KV state —
22
- * every tool call, tool result, and generated token the parent
23
- * accumulated. Sub-agents forking from this root attend over the
24
- * parent's complete attention state (Continuous Context).
25
- *
26
- * When omitted, creates a fresh root at position 0 (cold start).
27
- */
28
- parent?: Branch;
29
- /**
30
- * When set, prefill the chat-format `[system + tools]` header onto the
31
- * root once at setup. Every agent forking from the root inherits these
32
- * tokens via `forkSync`'s metadata-only KV prefix-share — the role and
33
- * tool schemas appear ONCE in physical KV regardless of how many agents
34
- * the pool spawns.
35
- *
36
- * The resulting `FormatConfig` (parser/grammar/format/triggers) is set
37
- * on the {@link RootFmt} context so `setupAgent` can detect shared mode,
38
- * skip its own system+tools formatting, and inherit the dispatch-side
39
- * fmt from the root.
40
- *
41
- * Use this for orchestrators where every agent shares the same role —
42
- * chain-mode research pools, fanout-style same-role pools, etc. Mixed-
43
- * role workflows (research → compare → synthesize) keep using per-spec
44
- * `SpawnSpec.systemPrompt` and don't pass this option.
45
- */
46
- systemPrompt?: string;
47
- /**
48
- * JSON-serialized tool schemas to embed in the chat-format header
49
- * prefilled at setup. Format matches `FormatChatOptions.tools` — output
50
- * of `createToolkit(...).toolsJson`. Only applied when `systemPrompt` is
51
- * also set; ignored otherwise.
52
- */
53
- toolsJson?: string;
54
- /**
55
- * Whether to enable thinking-mode tokens (e.g. `<think>` blocks) when
56
- * formatting the shared root header. Threaded through to the chat-format
57
- * call AND stored on the `RootFmt` FormatConfig so `setupAgent`'s
58
- * shared-mode shortcut copies a parser/grammar/triggers configuration
59
- * consistent with the per-agent suffix formatting.
60
- *
61
- * Should match the `enableThinking` value the caller passes to the agent
62
- * pool — divergent values produce inconsistent grammar between the
63
- * prefilled root and per-agent suffixes.
64
- *
65
- * @default false
66
- */
67
- enableThinking?: boolean;
68
- }
69
- /**
70
- * Scoped shared root branch with guaranteed cleanup
71
- *
72
- * Creates (or forks) a root branch for the pool's agents to fork from.
73
- * The root is pruned via try/finally when the body returns or throws,
74
- * regardless of whether children still exist.
75
- *
76
- * Each agent's chat format (system + user + generation prompt) is rendered
77
- * fresh inside `setupAgent`, so this root carries no chat context itself —
78
- * it exists as the pool's branching point and as the spine that
79
- * `ctx.extendRoot` writes onto between tasks.
80
- *
81
- * **Cold path** (no `parent`): creates a root at position 0 with no prefill.
82
- * Agents fork at position 0; their full chat context lives in their own suffix.
83
- *
84
- * **Warm path** (`parent` provided): forks from parent and prefills a turn
85
- * separator so subsequent agent suffixes land on a clean turn boundary.
86
- * Sub-agents inherit the parent's full KV state via the fork.
87
- *
88
- * @param opts - Sampling parameters and optional parent branch
89
- * @param body - Operation that receives the root branch and prefix length.
90
- * Typically calls {@link useAgentPool} inside.
91
- * @returns The body's return value
92
- *
93
- * @category Agents
94
- */
95
- export declare function withSharedRoot<T>(opts: SharedRootOptions, body: (root: Branch, sharedPrefixLength: number) => Operation<T>): Operation<T>;
96
- //# sourceMappingURL=shared-root.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared-root.d.ts","sourceRoot":"","sources":["../src/shared-root.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAiB,cAAc,CAAC,CAAC,EAC/B,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAC/D,SAAS,CAAC,CAAC,CAAC,CAsHd"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared-root.js","sourceRoot":"","sources":["../src/shared-root.ts"],"names":[],"mappings":"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"}