@lloyal-labs/lloyal-agents 1.2.2 → 1.4.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.
@@ -7,6 +7,9 @@ const sdk_1 = require("@lloyal-labs/sdk");
7
7
  const context_1 = require("./context");
8
8
  const sdk_2 = require("@lloyal-labs/sdk");
9
9
  const trace_scope_1 = require("./trace-scope");
10
+ const generate_1 = require("./generate");
11
+ const Agent_1 = require("./Agent");
12
+ const AgentPolicy_1 = require("./AgentPolicy");
10
13
  /**
11
14
  * Immutable KV budget snapshot for one tick of the agent loop
12
15
  *
@@ -100,32 +103,30 @@ function* setupAgent(parent, task, ctx) {
100
103
  const suffixTokens = [...sep, ...ctx.tokenizeSync(fmt.prompt, false)];
101
104
  if (task.seed != null)
102
105
  branch.reseedSampler(task.seed);
103
- return {
104
- agent: {
105
- id: branch.handle,
106
- parentId: parent.handle,
107
- branch,
108
- state: 'generating',
109
- fmt: {
110
- format: fmt.format,
111
- reasoningFormat: fmt.reasoningFormat,
112
- thinkingForcedOpen: fmt.thinkingForcedOpen,
113
- parser: fmt.parser,
114
- grammar: fmt.grammar,
115
- grammarLazy: fmt.grammarLazy,
116
- grammarTriggers: fmt.grammarTriggers,
117
- },
118
- rawOutput: '',
119
- tokenCount: 0,
120
- toolCallCount: 0,
121
- turns: 0,
122
- findings: null,
123
- traceBuffer: [],
124
- nudged: false,
106
+ // Read calling agent from Effection context (set during outer pool's DISPATCH)
107
+ let callingAgent = null;
108
+ try {
109
+ const a = yield* context_1.CallingAgent.get();
110
+ if (a)
111
+ callingAgent = a;
112
+ }
113
+ catch { /* top-level — no caller */ }
114
+ const agent = new Agent_1.Agent({
115
+ id: branch.handle,
116
+ parentId: parent.handle,
117
+ branch,
118
+ parent: callingAgent,
119
+ fmt: {
120
+ format: fmt.format,
121
+ reasoningFormat: fmt.reasoningFormat,
122
+ thinkingForcedOpen: fmt.thinkingForcedOpen,
123
+ parser: fmt.parser,
124
+ grammar: fmt.grammar,
125
+ grammarLazy: fmt.grammarLazy,
126
+ grammarTriggers: fmt.grammarTriggers,
125
127
  },
126
- suffixTokens,
127
- formattedPrompt: fmt.prompt,
128
- };
128
+ });
129
+ return { agent, suffixTokens, formattedPrompt: fmt.prompt };
129
130
  }
130
131
  /**
131
132
  * Concurrent agent generation loop as an Effection resource
@@ -213,6 +214,8 @@ function useAgentPool(opts) {
213
214
  // in its registry — passing the full tool map makes this flag true and
214
215
  // traps reporters in an infinite rejection loop.
215
216
  const hasNonTerminalTools = terminalTool ? [...tools.keys()].some(k => k !== terminalTool) : tools.size > 0;
217
+ const policy = opts.policy ?? new AgentPolicy_1.DefaultAgentPolicy();
218
+ const policyConfig = { maxTurns, terminalTool, hasNonTerminalTools };
216
219
  // ── Setup: fork branches, collect suffix tokens ──────────
217
220
  // setupAgent is now a generator — each branch registers its own ensure()
218
221
  // for cleanup. No manual try/finally needed here.
@@ -257,7 +260,7 @@ function useAgentPool(opts) {
257
260
  break;
258
261
  prefillSetup.pop();
259
262
  const dropped = agents.pop();
260
- dropped.state = 'done';
263
+ dropped.dispose();
261
264
  tw.write({
262
265
  traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
263
266
  type: 'pool:agentDrop', agentId: dropped.id, reason: 'pressure_init',
@@ -273,8 +276,9 @@ function useAgentPool(opts) {
273
276
  taskSuffixTokens: prefillSetup.map(([, t]) => t.length),
274
277
  pressure: { remaining: initPressure.remaining, softLimit: initPressure.softLimit, headroom: initPressure.headroom },
275
278
  });
276
- // Emit spawn events TUI uses parentAgentId to detect sub-agents
279
+ // Emit spawn events and activate agents
277
280
  for (const a of agents) {
281
+ a.transition('active');
278
282
  yield* events.send({ type: 'agent:spawn', agentId: a.id, parentAgentId: a.parentId });
279
283
  }
280
284
  // ── Lazy grammar setup ───────────────────────────────────
@@ -320,10 +324,10 @@ function useAgentPool(opts) {
320
324
  const entries = [];
321
325
  const toolCalls = [];
322
326
  for (const a of agents) {
323
- if (a.state !== 'generating')
327
+ if (a.status !== 'active')
324
328
  continue;
325
329
  if (pressure.critical) {
326
- a.state = 'done';
330
+ a.transition('idle');
327
331
  tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
328
332
  type: 'pool:agentDrop', agentId: a.id, reason: 'pressure_critical' });
329
333
  yield* events.send({ type: 'agent:done', agentId: a.id });
@@ -343,96 +347,77 @@ function useAgentPool(opts) {
343
347
  parsedContent: parsed.content || null,
344
348
  parsedToolCalls: parsed.toolCalls.map(tc => ({ name: tc.name, arguments: tc.arguments })),
345
349
  });
346
- const tc = parsed.toolCalls[0];
347
- if (!tc) {
348
- a.state = 'done';
349
- if (!a.findings && a.toolCallCount > 0 && parsed.content) {
350
- a.findings = parsed.content;
350
+ // Policy decides what to do with the parsed output
351
+ const action = policy.onProduced(a, parsed, pressure, policyConfig);
352
+ switch (action.type) {
353
+ case 'free_text_report':
354
+ a.reportFindings(action.content, 'free_text');
355
+ a.transition('idle');
351
356
  yield* events.send({ type: 'agent:report', agentId: a.id, findings: a.findings });
352
- }
353
- yield* events.send({ type: 'agent:done', agentId: a.id });
354
- continue;
355
- }
356
- // Over budget: deny non-terminal tool calls when the agent has
357
- // exceeded maxTurns or KV headroom is negative. Terminal tools
358
- // (e.g. `report()`) are always allowed through — an agent that has
359
- // done research and wants to report should never be blocked by
360
- // pressure, since the report call itself consumes minimal KV.
361
- const overBudget = (a.turns >= maxTurns || pressure.headroom < 0)
362
- && (!terminalTool || tc.name !== terminalTool);
363
- if (overBudget) {
364
- // Nudge: inject a fake tool error telling the agent to report.
365
- // On second offense (already nudged), kill outright.
366
- if (terminalTool && !a.nudged && a.toolCallCount > 0 && !pressure.critical) {
367
- a.nudged = true;
368
- a.turns++;
369
- a.state = 'awaiting_tool';
370
- const callId = tc.id || `call_${a.toolCallCount}`;
371
- const nudgeMsg = JSON.stringify({ error: 'KV memory pressure — you cannot call more tools. Report your findings now.' });
357
+ yield* events.send({ type: 'agent:done', agentId: a.id });
358
+ continue;
359
+ case 'idle':
360
+ a.transition('idle');
361
+ if (action.reason !== 'free_text_stop') {
362
+ tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
363
+ type: 'pool:agentDrop', agentId: a.id,
364
+ reason: action.reason === 'max_turns' ? 'maxTurns' : 'pressure_softcut' });
365
+ }
366
+ yield* events.send({ type: 'agent:done', agentId: a.id });
367
+ continue;
368
+ case 'nudge': {
369
+ const tc = parsed.toolCalls[0];
370
+ const callId = tc?.id || `call_${a.toolCallCount}`;
371
+ const isResearchFirst = terminalTool && tc?.name === terminalTool && a.toolCallCount === 0 && hasNonTerminalTools;
372
+ const nudgeMsg = action.message
373
+ ? JSON.stringify({ error: action.message })
374
+ : isResearchFirst
375
+ ? JSON.stringify({ error: 'You must perform research before reporting. Call at least one tool first.' })
376
+ : JSON.stringify({ error: 'KV memory pressure — you cannot call more tools. Report your findings now.' });
377
+ if (!isResearchFirst)
378
+ a.markNudged();
379
+ a.incrementTurns();
380
+ a.transition('awaiting_tool');
372
381
  const prefillTokens = (0, sdk_2.buildToolResultDelta)(ctx, nudgeMsg, callId);
373
- settledBuffer.push({ agentId: a.id, prefillTokens, toolName: tc.name, callId });
374
- a.rawOutput = '';
375
- tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
376
- type: 'pool:agentNudge', agentId: a.id, reason: 'pressure_softcut' });
382
+ settledBuffer.push({ agentId: a.id, prefillTokens, toolName: tc?.name || '', callId });
383
+ a.resetTurn();
384
+ if (!isResearchFirst) {
385
+ tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
386
+ type: 'pool:agentNudge', agentId: a.id, reason: 'pressure_softcut' });
387
+ }
377
388
  continue;
378
389
  }
379
- a.state = 'done';
380
- tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
381
- type: 'pool:agentDrop', agentId: a.id,
382
- reason: a.turns >= maxTurns ? 'maxTurns' : 'pressure_softcut' });
383
- yield* events.send({ type: 'agent:done', agentId: a.id });
384
- continue;
385
- }
386
- // Terminal tool — intercept, extract findings, mark done.
387
- if (terminalTool && tc.name === terminalTool) {
388
- if (a.toolCallCount === 0 && hasNonTerminalTools) {
389
- const callId = tc.id || `call_${a.toolCallCount}`;
390
- const errorMsg = 'You must perform research before reporting. Call at least one tool first.';
391
- a.turns++;
392
- a.state = 'awaiting_tool';
393
- const prefillTokens = (0, sdk_2.buildToolResultDelta)(ctx, JSON.stringify({ error: errorMsg }), callId);
394
- settledBuffer.push({ agentId: a.id, prefillTokens, toolName: tc.name, callId });
395
- a.rawOutput = '';
390
+ case 'report':
391
+ a.reportFindings(action.findings, 'report_tool');
392
+ a.transition('idle');
393
+ a.incrementToolCalls();
394
+ totalToolCalls++;
395
+ yield* events.send({ type: 'agent:tool_call', agentId: a.id, tool: terminalTool, args: parsed.toolCalls[0].arguments });
396
+ yield* events.send({ type: 'agent:report', agentId: a.id, findings: a.findings });
397
+ yield* events.send({ type: 'agent:done', agentId: a.id });
398
+ if (pruneOnReport && !a.branch.disposed) {
399
+ a.branch.pruneSync();
400
+ }
401
+ continue;
402
+ case 'tool_call':
403
+ a.transition('awaiting_tool');
404
+ toolCalls.push({ agent: a, tc: action.tc });
405
+ a.resetTurn();
396
406
  continue;
397
- }
398
- try {
399
- a.findings = JSON.parse(tc.arguments).findings;
400
- }
401
- catch {
402
- a.findings = tc.arguments;
403
- }
404
- a.state = 'done';
405
- a.toolCallCount++;
406
- totalToolCalls++;
407
- yield* events.send({ type: 'agent:tool_call', agentId: a.id, tool: tc.name, args: tc.arguments });
408
- yield* events.send({ type: 'agent:report', agentId: a.id, findings: a.findings });
409
- yield* events.send({ type: 'agent:done', agentId: a.id });
410
- // Free KV immediately — reported agents don't need their branches
411
- // (reportPass only forks from agents that DIDN'T report)
412
- if (pruneOnReport && !a.branch.disposed) {
413
- a.branch.pruneSync();
414
- }
415
- continue;
416
407
  }
417
- // Collect tool call — dispatched in Phase 4 after decode phases
418
- a.state = 'awaiting_tool';
419
- toolCalls.push({ agent: a, tc });
420
- a.rawOutput = '';
421
- continue;
422
408
  }
423
409
  entries.push([a.branch, token]);
424
- a.rawOutput += text;
425
- a.tokenCount++;
426
410
  if (trace) {
427
411
  const entropy = a.branch.modelEntropy();
428
412
  const surprisal = a.branch.modelSurprisal(token);
429
- a.traceBuffer.push({ text, entropy, surprisal });
413
+ a.accumulateTokenWithTrace(text, entropy, surprisal);
430
414
  yield* events.send({
431
415
  type: 'agent:produce', agentId: a.id, text, tokenCount: a.tokenCount,
432
416
  entropy, surprisal,
433
417
  });
434
418
  }
435
419
  else {
420
+ a.accumulateToken(text);
436
421
  yield* events.send({ type: 'agent:produce', agentId: a.id, text, tokenCount: a.tokenCount });
437
422
  }
438
423
  }
@@ -461,7 +446,7 @@ function useAgentPool(opts) {
461
446
  const settledAgents = [];
462
447
  for (const item of settled) {
463
448
  const a = agentById.get(item.agentId);
464
- if (!a || a.state === 'done')
449
+ if (!a || a.status === 'idle')
465
450
  continue;
466
451
  if (item.prefillTokens.length > headroom) {
467
452
  if (trace) {
@@ -470,13 +455,12 @@ function useAgentPool(opts) {
470
455
  }
471
456
  catch { }
472
457
  }
473
- // Nudge: replace oversized result with a small "report now" message.
474
- // On second offense (already nudged), kill outright.
475
- if (terminalTool && !a.nudged && a.toolCallCount > 0) {
458
+ const settleAction = policy.onSettleReject(a, item.prefillTokens.length, settlePressure, policyConfig);
459
+ if (settleAction.type === 'nudge') {
476
460
  const nudgeMsg = JSON.stringify({ error: 'Tool result too large for remaining KV. Report your findings now.' });
477
461
  const nudgeTokens = (0, sdk_2.buildToolResultDelta)(ctx, nudgeMsg, item.callId);
478
462
  if (nudgeTokens.length <= headroom) {
479
- a.nudged = true;
463
+ a.markNudged();
480
464
  prefillPairs.push([a.branch, nudgeTokens]);
481
465
  settledAgents.push(a);
482
466
  headroom -= nudgeTokens.length;
@@ -485,15 +469,27 @@ function useAgentPool(opts) {
485
469
  continue;
486
470
  }
487
471
  }
472
+ // Nudge failed (tokens don't fit) or policy said kill
488
473
  tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
489
474
  type: 'pool:agentDrop', agentId: a.id, reason: 'pressure_settle_reject' });
490
- a.state = 'done';
475
+ a.transition('idle');
491
476
  yield* events.send({ type: 'agent:done', agentId: a.id });
492
477
  continue;
493
478
  }
494
479
  prefillPairs.push([a.branch, item.prefillTokens]);
495
480
  settledAgents.push(a);
496
481
  headroom -= item.prefillTokens.length;
482
+ // Record tool history for policy decisions
483
+ const postSettle = ctx._storeKvPressure();
484
+ a.recordToolResult({
485
+ name: item.toolName,
486
+ args: item.callId,
487
+ resultTokenCount: item.prefillTokens.length,
488
+ contextAfterPercent: postSettle.nCtx > 0
489
+ ? Math.max(0, Math.round((postSettle.remaining / postSettle.nCtx) * 100))
490
+ : 100,
491
+ timestamp: performance.now(),
492
+ });
497
493
  tw.write({ traceId: tw.nextId(), parentTraceId: poolScope.traceId, ts: performance.now(),
498
494
  type: 'branch:prefill', branchHandle: a.id,
499
495
  tokenCount: item.prefillTokens.length, role: 'toolResult' });
@@ -511,8 +507,8 @@ function useAgentPool(opts) {
511
507
  counters.warmPrefillBranches += prefillPairs.length;
512
508
  // Only NOW transition state + reset grammar
513
509
  for (const a of settledAgents) {
514
- a.state = 'generating';
515
- a.rawOutput = '';
510
+ a.transition('active');
511
+ a.resetTurn();
516
512
  applyLazyGrammar(a);
517
513
  }
518
514
  }
@@ -531,9 +527,9 @@ function useAgentPool(opts) {
531
527
  toolArgs = {};
532
528
  }
533
529
  const callId = tc.id || `call_${agent.toolCallCount}`;
534
- agent.toolCallCount++;
530
+ agent.incrementToolCalls();
535
531
  totalToolCalls++;
536
- agent.turns++;
532
+ agent.incrementTurns();
537
533
  yield* events.send({ type: 'agent:tool_call', agentId: agent.id, tool: tc.name, args: tc.arguments });
538
534
  const dispatchTraceId = tw.nextId();
539
535
  const toolT0 = performance.now();
@@ -546,18 +542,36 @@ function useAgentPool(opts) {
546
542
  const tool = tools.get(tc.name);
547
543
  const toolContext = {
548
544
  agentId: agent.id,
545
+ branch: agent.branch,
549
546
  onProgress: (p) => {
550
547
  progressBridge.send({ type: 'agent:tool_progress', agentId: agent.id, tool: tc.name, filled: p.filled, total: p.total });
551
548
  },
552
549
  };
553
550
  try {
554
- // Set TraceParent so inner pools (research/web_research) link to this dispatch
551
+ // Set TraceParent + CallingAgent so inner pools inherit lineage
555
552
  yield* context_1.TraceParent.set(dispatchTraceId);
553
+ yield* context_1.CallingAgent.set(agent);
556
554
  const result = yield* (0, effection_1.scoped)(function* () {
557
555
  return yield* (0, effection_1.call)(() => tool ? tool.execute(toolArgs, toolContext) : Promise.resolve({ error: `Unknown tool: ${tc.name}` }));
558
556
  });
557
+ // Inject context availability into tool result so agent can make pressure-aware decisions
558
+ const postToolPressure = ctx._storeKvPressure();
559
+ const contextAvailablePercent = postToolPressure.nCtx > 0
560
+ ? Math.max(0, Math.round((postToolPressure.remaining / postToolPressure.nCtx) * 100))
561
+ : 100;
562
+ if (result && typeof result === 'object' && !Array.isArray(result)) {
563
+ result._contextAvailablePercent = contextAvailablePercent;
564
+ // Collect nested results from recursive tool returns
565
+ const resultObj = result;
566
+ if (Array.isArray(resultObj.results)) {
567
+ agent.addNestedResults(resultObj.results.filter((f) => typeof f === 'string'));
568
+ }
569
+ if (Array.isArray(resultObj.nestedResults)) {
570
+ agent.addNestedResults(resultObj.nestedResults.filter((f) => typeof f === 'string'));
571
+ }
572
+ }
559
573
  const resultStr = JSON.stringify(result);
560
- yield* events.send({ type: 'agent:tool_result', agentId: agent.id, tool: tc.name, result: resultStr });
574
+ yield* events.send({ type: 'agent:tool_result', agentId: agent.id, tool: tc.name, result: resultStr, contextAvailablePercent });
561
575
  const prefillTokens = (0, sdk_2.buildToolResultDelta)(ctx, resultStr, callId);
562
576
  settledBuffer.push({ agentId: agent.id, prefillTokens, toolName: tc.name, callId });
563
577
  tw.write({
@@ -568,8 +582,8 @@ function useAgentPool(opts) {
568
582
  });
569
583
  }
570
584
  catch (err) {
571
- agent.state = 'done';
572
- agent.findings = `Tool error: ${err.message}`;
585
+ agent.transition('idle');
586
+ agent.reportFindings(`Tool error: ${err.message}`, 'tool_error');
573
587
  tw.write({
574
588
  traceId: tw.nextId(), parentTraceId: dispatchTraceId, ts: performance.now(),
575
589
  type: 'tool:error', agentId: agent.id, tool: tc.name,
@@ -578,9 +592,61 @@ function useAgentPool(opts) {
578
592
  }
579
593
  }
580
594
  // -- Termination
581
- if (agents.every(a => a.state === 'done'))
595
+ if (agents.every(a => a.status === 'idle' || a.status === 'disposed'))
582
596
  break;
583
597
  }
598
+ // ── Idle processing: scratchpad extraction ────────────────
599
+ // Replaces harness-level reportPass. Agents in 'idle' without findings
600
+ // get scratchpad extraction if they did enough work. This runs BEFORE
601
+ // pool:close trace so findings are populated in the trace.
602
+ if (opts.reportPrompt) {
603
+ // Free KV from agents that already reported — gives room for extraction
604
+ for (const a of agents) {
605
+ if (a.findings && !a.branch.disposed) {
606
+ a.branch.pruneSync();
607
+ }
608
+ }
609
+ const reportSchema = {
610
+ type: 'object',
611
+ properties: { findings: { type: 'string' } },
612
+ required: ['findings'],
613
+ };
614
+ const reportGrammar = yield* (0, effection_1.call)(() => ctx.jsonSchemaToGrammar(JSON.stringify(reportSchema)));
615
+ const reportMessages = [
616
+ { role: 'system', content: opts.reportPrompt.system },
617
+ { role: 'user', content: opts.reportPrompt.user },
618
+ ];
619
+ const { prompt: reportPromptStr } = ctx.formatChatSync(JSON.stringify(reportMessages), { enableThinking: false });
620
+ for (const a of agents) {
621
+ if (a.status !== 'idle' || a.findings || a.branch.disposed)
622
+ continue;
623
+ // Confabulation guard: skip agents that barely ran
624
+ const minTokens = opts.reportPrompt?.minTokens ?? 100;
625
+ const minToolCalls = opts.reportPrompt?.minToolCalls ?? 2;
626
+ if (a.tokenCount < minTokens || a.toolCallCount < minToolCalls) {
627
+ if (!a.branch.disposed)
628
+ a.branch.pruneSync();
629
+ continue;
630
+ }
631
+ try {
632
+ const result = yield* (0, generate_1.generate)({
633
+ prompt: reportPromptStr,
634
+ grammar: reportGrammar,
635
+ parse: (o) => JSON.parse(o),
636
+ parent: a.branch,
637
+ });
638
+ if (result.parsed?.findings) {
639
+ a.reportFindings(result.parsed.findings, 'scratchpad');
640
+ yield* events.send({ type: 'agent:report', agentId: a.id, findings: a.findings });
641
+ }
642
+ }
643
+ catch {
644
+ /* extraction failure non-fatal */
645
+ }
646
+ if (!a.branch.disposed)
647
+ a.branch.pruneSync();
648
+ }
649
+ }
584
650
  // ── Provide result — suspends, branches stay alive ───────
585
651
  // Branch cleanup is handled by each branch's ensure() from setupAgent —
586
652
  // when this resource's scope exits, all ensure() callbacks fire.
@@ -607,6 +673,7 @@ function useAgentPool(opts) {
607
673
  ppl: a.branch.disposed ? 0 : a.branch.perplexity,
608
674
  samplingPpl: a.branch.disposed ? 0 : a.branch.samplingPerplexity,
609
675
  trace: trace ? a.traceBuffer : undefined,
676
+ nestedResults: [...a.nestedResults],
610
677
  })),
611
678
  totalTokens: agents.reduce((s, a) => s + a.tokenCount, 0),
612
679
  totalToolCalls,
@@ -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
@@ -3,6 +3,7 @@ import type { BranchStore, Branch } from '@lloyal-labs/sdk';
3
3
  import type { Channel } from 'effection';
4
4
  import type { AgentEvent } from './types';
5
5
  import type { TraceWriter } from './trace-writer';
6
+ import type { Agent } from './Agent';
6
7
  /**
7
8
  * Effection context holding the active {@link SessionContext}
8
9
  *
@@ -61,4 +62,18 @@ export declare const TraceParent: import("effection").Context<number>;
61
62
  * @category Agents
62
63
  */
63
64
  export declare const ScratchpadParent: import("effection").Context<Branch>;
65
+ /**
66
+ * Effection context holding the calling agent during DISPATCH
67
+ *
68
+ * Set by the pool before each tool execution in `scoped()`. Tools and
69
+ * recursive `withSharedRoot` calls read this to access the calling
70
+ * agent's branch (for Continuous Context forking) and tool history
71
+ * (for deduplication guards).
72
+ *
73
+ * Scope-isolated: each `scoped()` DISPATCH sees only its own agent.
74
+ * Nested pools (web_research) shadow the parent's context correctly.
75
+ *
76
+ * @category Agents
77
+ */
78
+ export declare const CallingAgent: import("effection").Context<Agent>;
64
79
  //# 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,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"}
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;AAElD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;;;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;AAEjF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,oCAA8C,CAAC"}