@lloyal-labs/lloyal-agents 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +28 -50
  2. package/dist/Tool.d.ts +13 -3
  3. package/dist/Tool.d.ts.map +1 -1
  4. package/dist/Tool.js +7 -2
  5. package/dist/Tool.js.map +1 -1
  6. package/dist/agent-pool.d.ts +9 -11
  7. package/dist/agent-pool.d.ts.map +1 -1
  8. package/dist/agent-pool.js +156 -101
  9. package/dist/agent-pool.js.map +1 -1
  10. package/dist/context.d.ts +32 -1
  11. package/dist/context.d.ts.map +1 -1
  12. package/dist/context.js +31 -1
  13. package/dist/context.js.map +1 -1
  14. package/dist/generate.d.ts +20 -5
  15. package/dist/generate.d.ts.map +1 -1
  16. package/dist/generate.js +80 -9
  17. package/dist/generate.js.map +1 -1
  18. package/dist/index.d.ts +6 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +11 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/init.d.ts +4 -1
  23. package/dist/init.d.ts.map +1 -1
  24. package/dist/init.js +5 -1
  25. package/dist/init.js.map +1 -1
  26. package/dist/shared-root.d.ts +3 -3
  27. package/dist/shared-root.d.ts.map +1 -1
  28. package/dist/shared-root.js +66 -5
  29. package/dist/shared-root.js.map +1 -1
  30. package/dist/source.d.ts +27 -0
  31. package/dist/source.d.ts.map +1 -0
  32. package/dist/source.js +25 -0
  33. package/dist/source.js.map +1 -0
  34. package/dist/trace-scope.d.ts +25 -0
  35. package/dist/trace-scope.d.ts.map +1 -0
  36. package/dist/trace-scope.js +41 -0
  37. package/dist/trace-scope.js.map +1 -0
  38. package/dist/trace-types.d.ts +178 -0
  39. package/dist/trace-types.d.ts.map +1 -0
  40. package/dist/trace-types.js +3 -0
  41. package/dist/trace-types.js.map +1 -0
  42. package/dist/trace-writer.d.ts +58 -0
  43. package/dist/trace-writer.d.ts.map +1 -0
  44. package/dist/trace-writer.js +56 -0
  45. package/dist/trace-writer.js.map +1 -0
  46. package/dist/types.d.ts +8 -6
  47. package/dist/types.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -6,16 +6,16 @@ const effection_1 = require("effection");
6
6
  const sdk_1 = require("@lloyal-labs/sdk");
7
7
  const context_1 = require("./context");
8
8
  const sdk_2 = require("@lloyal-labs/sdk");
9
+ const trace_scope_1 = require("./trace-scope");
9
10
  /**
10
11
  * Immutable KV budget snapshot for one tick of the agent loop
11
12
  *
12
13
  * Created from `SessionContext._storeKvPressure()` which returns
13
14
  * `{ nCtx, cellsUsed, remaining }` where `remaining = nCtx - cellsUsed`.
14
- * `cellsUsed` is a monotonic counter in `BranchStore`it increments on
15
- * every `decode_each` / `decode_scatter` but does **not** decrement on
16
- * individual branch prune (only resets on bulk ops like `retainOnly` and
17
- * `drain`). This means `remaining` is a conservative lower bound that
18
- * becomes increasingly pessimistic as branches are pruned mid-run.
15
+ * `cellsUsed` tracks unique KV cells per branchincremented on
16
+ * `decode_each` / `decode_scatter`, decremented on release by
17
+ * `position - fork_head` (unique cells above the fork point), reset on
18
+ * bulk ops like `retainOnly` and `drain`.
19
19
  *
20
20
  * Two thresholds partition `remaining` into three zones:
21
21
  *
@@ -49,8 +49,6 @@ class ContextPressure {
49
49
  /**
50
50
  * KV slots remaining (`nCtx - cellsUsed`).
51
51
  * Infinity when nCtx ≤ 0 (no context limit).
52
- * Conservative: may undercount actual free space when branches have been
53
- * pruned, since `cellsUsed` is monotonic.
54
52
  */
55
53
  remaining;
56
54
  /** Remaining KV floor — tokens reserved for downstream work */
@@ -87,7 +85,9 @@ function* setupAgent(parent, task, ctx) {
87
85
  { role: 'system', content: task.systemPrompt },
88
86
  { role: 'user', content: task.content },
89
87
  ];
90
- const fmtOpts = task.tools ? { tools: task.tools } : {};
88
+ const fmtOpts = { enableThinking: false };
89
+ if (task.tools)
90
+ fmtOpts.tools = task.tools;
91
91
  const fmt = ctx.formatChatSync(JSON.stringify(messages), fmtOpts);
92
92
  if (task.tools && (fmt.format === sdk_1.CHAT_FORMAT_CONTENT_ONLY || fmt.format === sdk_1.CHAT_FORMAT_GENERIC)) {
93
93
  // Error before fork — no branch to clean up
@@ -123,22 +123,24 @@ function* setupAgent(parent, task, ctx) {
123
123
  traceBuffer: [],
124
124
  },
125
125
  suffixTokens,
126
+ formattedPrompt: fmt.prompt,
126
127
  };
127
128
  }
128
129
  /**
129
130
  * Concurrent agent generation loop as an Effection resource
130
131
  *
131
- * Runs N agents in parallel using a three-phase tick loop over shared
132
+ * Runs N agents in parallel using a four-phase tick loop over shared
132
133
  * {@link BranchStore} infrastructure. Each agent forks from a parent
133
134
  * branch, generates tokens, invokes tools, and reports findings.
134
135
  *
135
- * **Three-phase tick loop:**
136
+ * **Four-phase tick loop:**
136
137
  * 1. **PRODUCE** — sample all active agents via `produceSync()` (no async gap)
137
138
  * 2. **COMMIT** — single GPU call via `store.commit()` for all produced tokens
138
139
  * 3. **SETTLE** — drain settled tool results, batch prefill, reset grammars
140
+ * 4. **DISPATCH** — execute collected tool calls sequentially via `scoped()` + `call()`
139
141
  *
140
- * Tool dispatch uses `scope.run()` for eager start — tool executions run as
141
- * children of the agent pool scope and are cancelled if the scope exits.
142
+ * Tool dispatch uses `scoped()` + `call()`each tool executes to completion
143
+ * before the next tick, ensuring exclusive `llama_context` access (no concurrent decode).
142
144
  *
143
145
  * **Resource semantics:** `provide()` suspends after all agents complete,
144
146
  * keeping branches alive so the caller can fork from them (e.g. for
@@ -176,7 +178,6 @@ function useAgentPool(opts) {
176
178
  const ctx = yield* context_1.Ctx.expect();
177
179
  const store = yield* context_1.Store.expect();
178
180
  const events = yield* context_1.Events.expect();
179
- const scope = yield* (0, effection_1.useScope)();
180
181
  // Bridge for onProgress callbacks — Signal is correct here (external callback).
181
182
  // A spawned forwarder drains the bridge into the Channel with proper scope context.
182
183
  const progressBridge = (0, effection_1.createSignal)();
@@ -186,7 +187,20 @@ function useAgentPool(opts) {
186
187
  yield* effection_1.each.next();
187
188
  }
188
189
  });
190
+ const tw = yield* context_1.Trace.expect();
189
191
  const { tasks, tools, maxTurns = 100, terminalTool, trace = false, pressure: pressureOpts } = opts;
192
+ // Tool index map for trace — position in toolkit array
193
+ const toolIndexMap = new Map([...tools.keys()].map((name, i) => [name, i]));
194
+ const toolkitSize = tools.size;
195
+ const poolT0 = performance.now();
196
+ let poolParentTraceId = null;
197
+ try {
198
+ const p = yield* context_1.TraceParent.get();
199
+ if (p != null)
200
+ poolParentTraceId = p;
201
+ }
202
+ catch { /* top level */ }
203
+ const poolScope = (0, trace_scope_1.traceScope)(tw, poolParentTraceId, 'pool', { agentCount: tasks.length, maxTurns, terminalTool });
190
204
  // Whether the pool's tool registry contains tools besides the terminal tool.
191
205
  // When false, agents are allowed to call the terminal tool as their first
192
206
  // action (e.g. reporter sub-agents that only have `report()`). When true,
@@ -207,9 +221,25 @@ function useAgentPool(opts) {
207
221
  const parent = task.parent;
208
222
  if (!parent)
209
223
  throw new Error('useAgentPool: each task must have a parent branch');
210
- const { agent, suffixTokens } = yield* setupAgent(parent, task, ctx);
224
+ const { agent, suffixTokens, formattedPrompt } = yield* setupAgent(parent, task, ctx);
211
225
  agents.push(agent);
212
226
  prefillSetup.push([agent.branch, suffixTokens]);
227
+ tw.write({
228
+ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
229
+ type: 'branch:create', branchHandle: agent.id, parentHandle: agent.parentId,
230
+ position: 0, role: 'agentFork',
231
+ });
232
+ tw.write({
233
+ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
234
+ type: 'prompt:format', promptText: formattedPrompt,
235
+ taskContent: task.content,
236
+ tokenCount: suffixTokens.length,
237
+ messages: JSON.stringify([
238
+ { role: 'system', content: task.systemPrompt },
239
+ { role: 'user', content: task.content },
240
+ ]),
241
+ tools: task.tools, role: 'agentSuffix',
242
+ });
213
243
  }
214
244
  // Batch prefill all agent suffixes — pressure-gated.
215
245
  // Each suffix is the full formatted chat (system prompt + tools JSON +
@@ -227,11 +257,21 @@ function useAgentPool(opts) {
227
257
  prefillSetup.pop();
228
258
  const dropped = agents.pop();
229
259
  dropped.state = 'done';
260
+ tw.write({
261
+ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
262
+ type: 'pool:agentDrop', agentId: dropped.id, reason: 'pressure_init',
263
+ });
230
264
  }
231
265
  }
232
266
  if (prefillSetup.length > 0) {
233
267
  yield* (0, effection_1.call)(() => store.prefill(prefillSetup));
234
268
  }
269
+ tw.write({
270
+ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
271
+ type: 'pool:open', agentCount: agents.length,
272
+ taskSuffixTokens: prefillSetup.map(([, t]) => t.length),
273
+ pressure: { remaining: initPressure.remaining, softLimit: initPressure.softLimit, headroom: initPressure.headroom },
274
+ });
235
275
  // Emit spawn events — TUI uses parentAgentId to detect sub-agents
236
276
  for (const a of agents) {
237
277
  yield* events.send({ type: 'agent:spawn', agentId: a.id, parentAgentId: a.parentId });
@@ -254,74 +294,20 @@ function useAgentPool(opts) {
254
294
  for (const a of agents)
255
295
  applyLazyGrammar(a);
256
296
  // ── Tool dispatch coordination ───────────────────────────
257
- // Plain JS buffer: spawned tool tasks push synchronously on completion.
258
- // SETTLE drains with splice(0). Safe because generators are synchronous
259
- // between yieldsspawns can only push at yield points (during COMMIT's
260
- // yield* call()), and SETTLE runs after COMMIT in the same tick.
297
+ // Tool results land in settledBuffer during DISPATCH, drained by SETTLE
298
+ // in the next tick. DISPATCH awaits each tool to completion via
299
+ // scoped() + call() no concurrent llama_decode possible.
261
300
  const settledBuffer = [];
262
301
  const agentById = new Map(agents.map(a => [a.id, a]));
263
- // Track pending tool count for idle detection
264
- let pendingToolCount = 0;
265
- // Resolve function for idle wake — set when all agents stall
266
- let wakeIdle = null;
267
302
  let steps = 0;
268
303
  let totalToolCalls = 0;
269
304
  const counters = {
270
305
  warmPrefillCalls: 0,
271
306
  warmPrefillBranches: 0,
272
- stalledTicks: 0,
273
- maxConcurrentTools: 0,
274
- idleTicks: 0,
275
307
  };
276
- function* dispatchTool(agent, tc) {
277
- let toolArgs;
278
- try {
279
- toolArgs = JSON.parse(tc.arguments);
280
- }
281
- catch {
282
- toolArgs = {};
283
- }
284
- const callId = tc.id || `call_${agent.toolCallCount}`;
285
- agent.toolCallCount++;
286
- totalToolCalls++;
287
- agent.turns++;
288
- agent.state = 'awaiting_tool';
289
- yield* events.send({ type: 'agent:tool_call', agentId: agent.id, tool: tc.name, args: tc.arguments });
290
- const tool = tools.get(tc.name);
291
- pendingToolCount++;
292
- counters.maxConcurrentTools = Math.max(counters.maxConcurrentTools, pendingToolCount);
293
- // scope.run() — eager start, child of agent pool scope, cancelled if scope exits.
294
- // spawn() is lazy (Operation), but we're in a generator — scope.run() is eager.
295
- scope.run(function* () {
296
- try {
297
- const toolContext = {
298
- onProgress: (p) => {
299
- // Signal bridge — onProgress is an external callback, Signal.send() is correct here.
300
- progressBridge.send({ type: 'agent:tool_progress', agentId: agent.id, tool: tc.name, filled: p.filled, total: p.total });
301
- },
302
- };
303
- const result = yield* (0, effection_1.call)(() => tool ? tool.execute(toolArgs, toolContext) : Promise.resolve({ error: `Unknown tool: ${tc.name}` }));
304
- const resultStr = JSON.stringify(result);
305
- yield* events.send({ type: 'agent:tool_result', agentId: agent.id, tool: tc.name, result: resultStr });
306
- const prefillTokens = (0, sdk_2.buildToolResultDelta)(ctx, resultStr, callId);
307
- settledBuffer.push({ agentId: agent.id, prefillTokens, toolName: tc.name });
308
- }
309
- catch (err) {
310
- agent.state = 'done';
311
- agent.findings = `Tool error: ${err.message}`;
312
- }
313
- finally {
314
- pendingToolCount--;
315
- if (wakeIdle) {
316
- wakeIdle();
317
- wakeIdle = null;
318
- }
319
- }
320
- });
321
- }
322
- // ── Three-phase tick loop ────────────────────────────────
308
+ // ── Four-phase tick loop ─────────────────────────────────
323
309
  for (;;) {
324
- // -- Phase 1: PRODUCE -- sample from active agents
310
+ // -- Phase 1: PRODUCE -- sample from active agents, collect tool calls
325
311
  const pressure = new ContextPressure(ctx, pressureOpts);
326
312
  if (trace && (pressure.critical || pressure.headroom < 0)) {
327
313
  const p = ctx._storeKvPressure();
@@ -331,11 +317,14 @@ function useAgentPool(opts) {
331
317
  catch { }
332
318
  }
333
319
  const entries = [];
320
+ const toolCalls = [];
334
321
  for (const a of agents) {
335
322
  if (a.state !== 'generating')
336
323
  continue;
337
324
  if (pressure.critical) {
338
325
  a.state = 'done';
326
+ tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
327
+ type: 'pool:agentDrop', agentId: a.id, reason: 'pressure_critical' });
339
328
  yield* events.send({ type: 'agent:done', agentId: a.id });
340
329
  continue;
341
330
  }
@@ -346,6 +335,13 @@ function useAgentPool(opts) {
346
335
  thinkingForcedOpen: a.fmt.thinkingForcedOpen,
347
336
  parser: a.fmt.parser,
348
337
  });
338
+ tw.write({
339
+ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
340
+ type: 'agent:turn', agentId: a.id, turn: a.turns,
341
+ rawOutput: a.rawOutput,
342
+ parsedContent: parsed.content || null,
343
+ parsedToolCalls: parsed.toolCalls.map(tc => ({ name: tc.name, arguments: tc.arguments })),
344
+ });
349
345
  const tc = parsed.toolCalls[0];
350
346
  if (!tc) {
351
347
  a.state = 'done';
@@ -365,6 +361,9 @@ function useAgentPool(opts) {
365
361
  && (!terminalTool || tc.name !== terminalTool);
366
362
  if (overBudget) {
367
363
  a.state = 'done';
364
+ tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
365
+ type: 'pool:agentDrop', agentId: a.id,
366
+ reason: a.turns >= maxTurns ? 'maxTurns' : 'pressure_softcut' });
368
367
  yield* events.send({ type: 'agent:done', agentId: a.id });
369
368
  continue;
370
369
  }
@@ -375,20 +374,8 @@ function useAgentPool(opts) {
375
374
  const errorMsg = 'You must perform research before reporting. Call at least one tool first.';
376
375
  a.turns++;
377
376
  a.state = 'awaiting_tool';
378
- pendingToolCount++;
379
- scope.run(function* () {
380
- try {
381
- const prefillTokens = (0, sdk_2.buildToolResultDelta)(ctx, JSON.stringify({ error: errorMsg }), callId);
382
- settledBuffer.push({ agentId: a.id, prefillTokens, toolName: tc.name });
383
- }
384
- finally {
385
- pendingToolCount--;
386
- if (wakeIdle) {
387
- wakeIdle();
388
- wakeIdle = null;
389
- }
390
- }
391
- });
377
+ const prefillTokens = (0, sdk_2.buildToolResultDelta)(ctx, JSON.stringify({ error: errorMsg }), callId);
378
+ settledBuffer.push({ agentId: a.id, prefillTokens, toolName: tc.name });
392
379
  a.rawOutput = '';
393
380
  continue;
394
381
  }
@@ -406,8 +393,9 @@ function useAgentPool(opts) {
406
393
  yield* events.send({ type: 'agent:done', agentId: a.id });
407
394
  continue;
408
395
  }
409
- // Fire-and-forgetdispatch tool without blocking the decode loop
410
- yield* dispatchTool(a, tc);
396
+ // Collect tool call dispatched in Phase 4 after decode phases
397
+ a.state = 'awaiting_tool';
398
+ toolCalls.push({ agent: a, tc });
411
399
  a.rawOutput = '';
412
400
  continue;
413
401
  }
@@ -431,6 +419,8 @@ function useAgentPool(opts) {
431
419
  if (entries.length > 0) {
432
420
  yield* (0, effection_1.call)(() => store.commit(entries));
433
421
  steps++;
422
+ const tp = ctx._storeKvPressure();
423
+ yield* events.send({ type: 'agent:tick', cellsUsed: tp.cellsUsed, nCtx: tp.nCtx });
434
424
  }
435
425
  // -- Phase 3: SETTLE -- drain settled tool buffer, batch prefill
436
426
  const settled = settledBuffer.splice(0);
@@ -459,6 +449,8 @@ function useAgentPool(opts) {
459
449
  }
460
450
  catch { }
461
451
  }
452
+ tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
453
+ type: 'pool:agentDrop', agentId: a.id, reason: 'pressure_settle_reject' });
462
454
  a.state = 'done';
463
455
  yield* events.send({ type: 'agent:done', agentId: a.id });
464
456
  continue;
@@ -466,6 +458,9 @@ function useAgentPool(opts) {
466
458
  prefillPairs.push([a.branch, item.prefillTokens]);
467
459
  settledAgents.push(a);
468
460
  headroom -= item.prefillTokens.length;
461
+ tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
462
+ type: 'branch:prefill', branchHandle: a.id,
463
+ tokenCount: item.prefillTokens.length, role: 'toolResult' });
469
464
  }
470
465
  if (prefillPairs.length > 0) {
471
466
  if (trace) {
@@ -486,25 +481,85 @@ function useAgentPool(opts) {
486
481
  }
487
482
  }
488
483
  }
489
- // -- Termination + idle yield
490
- const allDone = agents.every(a => a.state === 'done') && pendingToolCount === 0;
491
- if (allDone)
492
- break;
493
- if (entries.length === 0 && pendingToolCount > 0) {
494
- counters.stalledTicks++;
495
- if (settled.length === 0) {
496
- // Nothing produced, nothing settled — yield until a tool resolves
497
- yield* (0, effection_1.action)((resolve) => {
498
- wakeIdle = resolve;
499
- return () => { wakeIdle = null; };
484
+ // -- Phase 4: DISPATCH -- execute collected tool calls sequentially
485
+ // scoped() creates an error boundary inner pool errors are caught
486
+ // here instead of crashing the outer pool. call() yields the Operation
487
+ // directly, ensuring exclusive llama_context access (no concurrent
488
+ // AsyncWorkers). See docs/agents/concurrency.md.
489
+ for (const { agent, tc } of toolCalls) {
490
+ let toolArgs;
491
+ try {
492
+ toolArgs = JSON.parse(tc.arguments);
493
+ }
494
+ catch {
495
+ toolArgs = {};
496
+ }
497
+ const callId = tc.id || `call_${agent.toolCallCount}`;
498
+ agent.toolCallCount++;
499
+ totalToolCalls++;
500
+ agent.turns++;
501
+ yield* events.send({ type: 'agent:tool_call', agentId: agent.id, tool: tc.name, args: tc.arguments });
502
+ const dispatchTraceId = tw.nextId();
503
+ const toolT0 = performance.now();
504
+ tw.write({
505
+ traceId: dispatchTraceId, parentTraceId: poolScope.traceId, ts: toolT0,
506
+ type: 'tool:dispatch', agentId: agent.id, tool: tc.name,
507
+ toolIndex: toolIndexMap.get(tc.name) ?? -1, toolkitSize,
508
+ args: toolArgs, callId,
509
+ });
510
+ const tool = tools.get(tc.name);
511
+ const toolContext = {
512
+ agentId: agent.id,
513
+ onProgress: (p) => {
514
+ progressBridge.send({ type: 'agent:tool_progress', agentId: agent.id, tool: tc.name, filled: p.filled, total: p.total });
515
+ },
516
+ };
517
+ try {
518
+ // Set TraceParent so inner pools (research/web_research) link to this dispatch
519
+ yield* context_1.TraceParent.set(dispatchTraceId);
520
+ const result = yield* (0, effection_1.scoped)(function* () {
521
+ return yield* (0, effection_1.call)(() => tool ? tool.execute(toolArgs, toolContext) : Promise.resolve({ error: `Unknown tool: ${tc.name}` }));
522
+ });
523
+ const resultStr = JSON.stringify(result);
524
+ yield* events.send({ type: 'agent:tool_result', agentId: agent.id, tool: tc.name, result: resultStr });
525
+ const prefillTokens = (0, sdk_2.buildToolResultDelta)(ctx, resultStr, callId);
526
+ settledBuffer.push({ agentId: agent.id, prefillTokens, toolName: tc.name });
527
+ tw.write({
528
+ traceId: tw.nextId(), parentTraceId: dispatchTraceId, ts: performance.now(),
529
+ type: 'tool:result', agentId: agent.id, tool: tc.name,
530
+ result, prefillTokenCount: prefillTokens.length,
531
+ durationMs: performance.now() - toolT0,
532
+ });
533
+ }
534
+ catch (err) {
535
+ agent.state = 'done';
536
+ agent.findings = `Tool error: ${err.message}`;
537
+ tw.write({
538
+ traceId: tw.nextId(), parentTraceId: dispatchTraceId, ts: performance.now(),
539
+ type: 'tool:error', agentId: agent.id, tool: tc.name,
540
+ error: err.message,
500
541
  });
501
- counters.idleTicks++;
502
542
  }
503
543
  }
544
+ // -- Termination
545
+ if (agents.every(a => a.state === 'done'))
546
+ break;
504
547
  }
505
548
  // ── Provide result — suspends, branches stay alive ───────
506
549
  // Branch cleanup is handled by each branch's ensure() from setupAgent —
507
550
  // when this resource's scope exits, all ensure() callbacks fire.
551
+ tw.write({
552
+ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
553
+ type: 'pool:close',
554
+ agents: agents.map(a => ({
555
+ agentId: a.id, tokenCount: a.tokenCount,
556
+ toolCallCount: a.toolCallCount, findings: a.findings,
557
+ ppl: a.branch.perplexity,
558
+ })),
559
+ totalTokens: agents.reduce((s, a) => s + a.tokenCount, 0),
560
+ steps, durationMs: performance.now() - poolT0,
561
+ });
562
+ poolScope.close();
508
563
  const result = {
509
564
  agents: agents.map(a => ({
510
565
  agentId: a.id,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-pool.js","sourceRoot":"","sources":["../src/agent-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-pool.js","sourceRoot":"","sources":["../src/agent-pool.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import type { SessionContext } from '@lloyal-labs/sdk';
2
- import type { BranchStore } from '@lloyal-labs/sdk';
2
+ import type { BranchStore, Branch } from '@lloyal-labs/sdk';
3
3
  import type { Channel } from 'effection';
4
4
  import type { AgentEvent } from './types';
5
+ import type { TraceWriter } from './trace-writer';
5
6
  /**
6
7
  * Effection context holding the active {@link SessionContext}
7
8
  *
@@ -30,4 +31,34 @@ export declare const Store: import("effection").Context<BranchStore>;
30
31
  * @category Agents
31
32
  */
32
33
  export declare const Events: import("effection").Context<Channel<AgentEvent, void>>;
34
+ /**
35
+ * Effection context holding the trace writer
36
+ *
37
+ * Set by {@link initAgents}. Defaults to {@link NullTraceWriter} (zero cost).
38
+ * All agent operations read from this context to emit structured trace events.
39
+ *
40
+ * @category Agents
41
+ */
42
+ export declare const Trace: import("effection").Context<TraceWriter>;
43
+ /**
44
+ * Effection context carrying the current trace scope ID
45
+ *
46
+ * Used to build parent-child relationships across nested agent pools.
47
+ * Set in DISPATCH before tool execution so inner pools inherit the
48
+ * correct parent trace ID.
49
+ *
50
+ * @category Agents
51
+ */
52
+ export declare const TraceParent: import("effection").Context<number>;
53
+ /**
54
+ * Effection context holding the scratchpad fork parent branch
55
+ *
56
+ * Set by {@link withSharedRoot} to the current root branch. Tools that
57
+ * need scratchpad extraction (e.g. BufferingFetchPage, BufferingWebSearch)
58
+ * read this via `yield* ScratchpadParent.expect()` to fork from the
59
+ * innermost active root — never a stale reference from a prior scope.
60
+ *
61
+ * @category Agents
62
+ */
63
+ export declare const ScratchpadParent: import("effection").Context<Branch>;
33
64
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;GAQG;AACH,eAAO,MAAM,GAAG,6CAA8C,CAAC;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,0CAA6C,CAAC;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,wDAA4D,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;;;;;;;GAQG;AACH,eAAO,MAAM,GAAG,6CAA8C,CAAC;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,0CAA6C,CAAC;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,wDAA4D,CAAC;AAEhF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,0CAA6C,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,qCAA+C,CAAC;AAExE;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,qCAAmD,CAAC"}
package/dist/context.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Events = exports.Store = exports.Ctx = void 0;
3
+ exports.ScratchpadParent = exports.TraceParent = exports.Trace = exports.Events = exports.Store = exports.Ctx = void 0;
4
4
  const effection_1 = require("effection");
5
5
  /**
6
6
  * Effection context holding the active {@link SessionContext}
@@ -30,4 +30,34 @@ exports.Store = (0, effection_1.createContext)('lloyal.store');
30
30
  * @category Agents
31
31
  */
32
32
  exports.Events = (0, effection_1.createContext)('lloyal.events');
33
+ /**
34
+ * Effection context holding the trace writer
35
+ *
36
+ * Set by {@link initAgents}. Defaults to {@link NullTraceWriter} (zero cost).
37
+ * All agent operations read from this context to emit structured trace events.
38
+ *
39
+ * @category Agents
40
+ */
41
+ exports.Trace = (0, effection_1.createContext)('lloyal.trace');
42
+ /**
43
+ * Effection context carrying the current trace scope ID
44
+ *
45
+ * Used to build parent-child relationships across nested agent pools.
46
+ * Set in DISPATCH before tool execution so inner pools inherit the
47
+ * correct parent trace ID.
48
+ *
49
+ * @category Agents
50
+ */
51
+ exports.TraceParent = (0, effection_1.createContext)('lloyal.traceParent');
52
+ /**
53
+ * Effection context holding the scratchpad fork parent branch
54
+ *
55
+ * Set by {@link withSharedRoot} to the current root branch. Tools that
56
+ * need scratchpad extraction (e.g. BufferingFetchPage, BufferingWebSearch)
57
+ * read this via `yield* ScratchpadParent.expect()` to fork from the
58
+ * innermost active root — never a stale reference from a prior scope.
59
+ *
60
+ * @category Agents
61
+ */
62
+ exports.ScratchpadParent = (0, effection_1.createContext)('lloyal.scratchpadParent');
33
63
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAAA,yCAA0C;AAM1C;;;;;;;;GAQG;AACU,QAAA,GAAG,GAAG,IAAA,yBAAa,EAAiB,YAAY,CAAC,CAAC;AAE/D;;;;;;;GAOG;AACU,QAAA,KAAK,GAAG,IAAA,yBAAa,EAAc,cAAc,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACU,QAAA,MAAM,GAAG,IAAA,yBAAa,EAA4B,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAAA,yCAA0C;AAQ1C;;;;;;;;GAQG;AACU,QAAA,GAAG,GAAG,IAAA,yBAAa,EAAiB,YAAY,CAAC,CAAC;AAE/D;;;;;;;GAOG;AACU,QAAA,KAAK,GAAG,IAAA,yBAAa,EAAc,cAAc,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACU,QAAA,MAAM,GAAG,IAAA,yBAAa,EAA4B,eAAe,CAAC,CAAC;AAEhF;;;;;;;GAOG;AACU,QAAA,KAAK,GAAG,IAAA,yBAAa,EAAc,cAAc,CAAC,CAAC;AAEhE;;;;;;;;GAQG;AACU,QAAA,WAAW,GAAG,IAAA,yBAAa,EAAU,oBAAoB,CAAC,CAAC;AAExE;;;;;;;;;GASG;AACU,QAAA,gBAAgB,GAAG,IAAA,yBAAa,EAAS,yBAAyB,CAAC,CAAC"}