agentfootprint 9.91.0 → 9.92.1

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 (49) hide show
  1. package/AGENTS.md +1 -1
  2. package/CHANGELOG.md +123 -0
  3. package/CLAUDE.md +1 -1
  4. package/ai-instructions/claude-code/SKILL.md +1 -1
  5. package/dist/core/Agent.js +23 -7
  6. package/dist/core/Agent.js.map +1 -1
  7. package/dist/core/agent/buildAgentMessageApiChart.js +10 -0
  8. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
  9. package/dist/core/agent/buildToolRegistry.js +90 -33
  10. package/dist/core/agent/buildToolRegistry.js.map +1 -1
  11. package/dist/core/agent/stages/toolCalls.js +176 -28
  12. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  13. package/dist/core/slots/buildToolsSlot.js +209 -62
  14. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  15. package/dist/esm/core/Agent.js +24 -8
  16. package/dist/esm/core/Agent.js.map +1 -1
  17. package/dist/esm/core/agent/buildAgentMessageApiChart.js +10 -0
  18. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  19. package/dist/esm/core/agent/buildToolRegistry.d.ts +80 -31
  20. package/dist/esm/core/agent/buildToolRegistry.js +90 -33
  21. package/dist/esm/core/agent/buildToolRegistry.js.map +1 -1
  22. package/dist/esm/core/agent/stages/toolCalls.d.ts +43 -5
  23. package/dist/esm/core/agent/stages/toolCalls.js +174 -27
  24. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  25. package/dist/esm/core/agent/types.d.ts +15 -0
  26. package/dist/esm/core/slots/buildToolsSlot.d.ts +100 -0
  27. package/dist/esm/core/slots/buildToolsSlot.js +207 -61
  28. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  29. package/dist/esm/events/payloads.d.ts +92 -18
  30. package/dist/esm/events/registry.d.ts +5 -1
  31. package/dist/esm/events/registry.js +4 -0
  32. package/dist/esm/events/registry.js.map +1 -1
  33. package/dist/events/registry.js +4 -0
  34. package/dist/events/registry.js.map +1 -1
  35. package/dist/types/core/Agent.d.ts.map +1 -1
  36. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  37. package/dist/types/core/agent/buildToolRegistry.d.ts +80 -31
  38. package/dist/types/core/agent/buildToolRegistry.d.ts.map +1 -1
  39. package/dist/types/core/agent/stages/toolCalls.d.ts +43 -5
  40. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  41. package/dist/types/core/agent/types.d.ts +15 -0
  42. package/dist/types/core/agent/types.d.ts.map +1 -1
  43. package/dist/types/core/slots/buildToolsSlot.d.ts +100 -0
  44. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  45. package/dist/types/events/payloads.d.ts +92 -18
  46. package/dist/types/events/payloads.d.ts.map +1 -1
  47. package/dist/types/events/registry.d.ts +5 -1
  48. package/dist/types/events/registry.d.ts.map +1 -1
  49. package/package.json +1 -1
@@ -12,7 +12,7 @@
12
12
  * tool filtering arrives in Phase 5.
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.buildToolsSlot = void 0;
15
+ exports.buildToolsSlot = exports.mergeWire = void 0;
16
16
  const footprintjs_1 = require("footprintjs");
17
17
  const conventions_js_1 = require("../../conventions.js");
18
18
  const types_js_1 = require("../../recorders/core/types.js");
@@ -23,6 +23,75 @@ const skillTools_js_1 = require("../../lib/injection-engine/skillTools.js");
23
23
  const skillSteps_js_1 = require("../../lib/injection-engine/skillSteps.js");
24
24
  const typedEmit_js_1 = require("../../recorders/core/typedEmit.js");
25
25
  const helpers_js_1 = require("./helpers.js");
26
+ const FRAMEWORK_PARTY = { channel: 'framework' };
27
+ const sameParty = (a, b) => a.channel === b.channel && a.id === b.id;
28
+ /**
29
+ * The same CONTRACT arriving twice — an always-visible skill's tool rides the
30
+ * static list AND, once the skill is active, the injection list. One claim,
31
+ * two routes; not a loser of itself.
32
+ */
33
+ const sameContract = (a, b) => a.name === b.name &&
34
+ a.description === b.description &&
35
+ JSON.stringify(a.inputSchema ?? null) === JSON.stringify(b.inputSchema ?? null);
36
+ const partyOfClaim = (c) => ({
37
+ channel: c.channel,
38
+ ...(c.id !== undefined && { id: c.id }),
39
+ });
40
+ /**
41
+ * THE WIRE MERGE (9.92.0) — first occurrence wins, and the record of who won
42
+ * and who lost is produced by the SAME pass that produces the list, so the two
43
+ * cannot disagree about a name.
44
+ *
45
+ * Order is the caller's: `[static, provider, skill, step]`. A `registry`
46
+ * candidate is the static list; a `provider` candidate the resolved
47
+ * `ToolProvider` list; a `skill` candidate an active skill's `inject.tools`;
48
+ * a `framework` candidate the step tool. Two candidates from one provider
49
+ * under one name (a composed provider serving a name twice) lose to each
50
+ * other by the same rule and are reported the same way. The SAME
51
+ * implementation put forward twice — an always-visible skill's tool rides the
52
+ * static list and the active-injection list; two skills may share one `Tool`
53
+ * reference — is one claim and draws nothing: identity is by `tool`, and only
54
+ * where no implementation is known (a chart without a claimant record) by
55
+ * party + contract.
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * const { merged, winners, losers } = mergeWire([
60
+ * { schema: { name: 'x', description: 'a' }, party: { channel: 'provider', id: 'p' } },
61
+ * { schema: { name: 'x', description: 'b' }, party: { channel: 'skill', id: 's' } },
62
+ * ]);
63
+ * merged.map((t) => t.description); // ['a']
64
+ * winners.get('x'); // { channel: 'provider', id: 'p' }
65
+ * losers.get('x'); // [{ channel: 'skill', id: 's' }]
66
+ * ```
67
+ */
68
+ function mergeWire(candidates) {
69
+ const merged = [];
70
+ const winners = new Map();
71
+ const won = new Map();
72
+ const losers = new Map();
73
+ for (const candidate of candidates) {
74
+ const { schema, party } = candidate;
75
+ const first = won.get(schema.name);
76
+ if (first !== undefined) {
77
+ const sameImplementation = (candidate.tool !== undefined && candidate.tool === first.tool) ||
78
+ (sameParty(party, first.party) && sameContract(schema, first.schema));
79
+ if (sameImplementation)
80
+ continue;
81
+ const lost = losers.get(schema.name);
82
+ if (lost === undefined)
83
+ losers.set(schema.name, [party]);
84
+ else
85
+ lost.push(party);
86
+ continue;
87
+ }
88
+ won.set(schema.name, candidate);
89
+ winners.set(schema.name, party);
90
+ merged.push(schema);
91
+ }
92
+ return { merged, winners, losers };
93
+ }
94
+ exports.mergeWire = mergeWire;
26
95
  /** Shared empty hold-out — the no-step iterations never allocate. */
27
96
  const EMPTY_NAME_SET = new Set();
28
97
  // LENS · tool-description + tool-list · request-ephemeral
@@ -48,6 +117,19 @@ function buildToolsSlot(config) {
48
117
  const providerToolCache = config.providerToolCache;
49
118
  const hiddenSkillIdsFor = config.hiddenSkillIds;
50
119
  const stepPlanFor = config.stepPlanFor;
120
+ const toolClaimants = config.toolClaimants;
121
+ const servedTools = config.servedTools;
122
+ /** A STATIC-list schema's party and implementation: its first build-time claimant. */
123
+ const registryCandidate = (schema) => {
124
+ const first = toolClaimants?.get(schema.name)?.[0];
125
+ return first === undefined
126
+ ? { schema, party: { channel: 'registry' } }
127
+ : { schema, party: partyOfClaim(first), tool: first.tool };
128
+ };
129
+ /** The framework's own `skip_step` instance, when any skill declares steps. */
130
+ const frameworkSkipStep = toolClaimants
131
+ ?.get((0, skillTools_js_1.buildSkipStepTool)().schema.name)
132
+ ?.find((c) => c.channel === 'framework')?.tool;
51
133
  // The skip_step schema template — description is rebuilt per iteration
52
134
  // (it names the current step), everything else is static.
53
135
  const skipStepSchemaTemplate = stepPlanFor ? (0, skillTools_js_1.buildSkipStepTool)().schema : undefined;
@@ -322,6 +404,11 @@ function buildToolsSlot(config) {
322
404
  };
323
405
  });
324
406
  const providerSchemas = [];
407
+ const providerCandidates = [];
408
+ const providerParty = {
409
+ channel: 'provider',
410
+ ...(toolProvider?.id !== undefined && { id: toolProvider.id }),
411
+ };
325
412
  if (toolProvider && providerToolCache) {
326
413
  for (const t of providerToolCache.current) {
327
414
  // PARK HOLD-OUT, the same rule the registry list above and the
@@ -348,6 +435,7 @@ function buildToolsSlot(config) {
348
435
  // banner the model reads.
349
436
  const schema = bannered(t.schema);
350
437
  providerSchemas.push(schema);
438
+ providerCandidates.push({ schema, party: providerParty, tool: t });
351
439
  const summary = `${schema.name}: ${schema.description}`;
352
440
  injections.push({
353
441
  contentSummary: (0, helpers_js_1.truncate)(summary, 80),
@@ -366,6 +454,7 @@ function buildToolsSlot(config) {
366
454
  // the step hold-out filters this source too — by the same sole-owner
367
455
  // rule (a name in stepHoldOut is provably the stepped skill's alone).
368
456
  const dynamicSchemas = [];
457
+ const dynamicCandidates = [];
369
458
  for (const inj of activeInjections) {
370
459
  const injTools = inj.inject.tools;
371
460
  if (!injTools || injTools.length === 0)
@@ -378,6 +467,18 @@ function buildToolsSlot(config) {
378
467
  continue;
379
468
  const schema = bannered(tool.schema);
380
469
  dynamicSchemas.push(schema);
470
+ // The implementation is the REGISTRY's reference for (name, skill), not
471
+ // the object on the active injection: `activeInjections` is committed
472
+ // state, and what comes back from scope is a copy. Identity has to be
473
+ // judged on the one reference `buildToolRegistry` kept.
474
+ const claimed = toolClaimants
475
+ ?.get(schema.name)
476
+ ?.find((c) => c.channel === 'skill' && c.id === inj.id)?.tool;
477
+ dynamicCandidates.push({
478
+ schema,
479
+ party: { channel: 'skill', id: inj.id },
480
+ tool: claimed ?? tool,
481
+ });
381
482
  const summary = `${schema.name}: ${schema.description}`;
382
483
  injections.push({
383
484
  contentSummary: (0, helpers_js_1.truncate)(summary, 80),
@@ -430,21 +531,39 @@ function buildToolsSlot(config) {
430
531
  // registry, AND the consumer's toolProvider emits one too. Without
431
532
  // dedupe both reach the LLM and Anthropic rejects the request:
432
533
  // "tools: Tool names must be unique."
433
- const seen = new Set();
434
- const merged = [];
435
- for (const t of [...tools, ...providerSchemas, ...dynamicSchemas, ...stepSchemas]) {
436
- if (seen.has(t.name))
437
- continue;
438
- seen.add(t.name);
439
- merged.push(t);
440
- }
534
+ //
535
+ // Since 9.92.0 the same pass records WHO won each name and who lost it
536
+ // (`mergeWire`), because the record of the wire and the wire itself must
537
+ // come from one loop: dispatch resolves against the winners, and the
538
+ // report below is computed from the losers — never from a re-derivation.
539
+ const candidates = [
540
+ ...tools.map(registryCandidate),
541
+ ...providerCandidates,
542
+ ...dynamicCandidates,
543
+ ...stepSchemas.map((schema) => ({
544
+ schema,
545
+ party: FRAMEWORK_PARTY,
546
+ ...(frameworkSkipStep !== undefined && { tool: frameworkSkipStep }),
547
+ })),
548
+ ];
549
+ const { merged, winners, losers } = mergeWire(candidates);
441
550
  scope.toolSchemas = merged;
551
+ if (servedTools !== undefined) {
552
+ servedTools.current = winners;
553
+ // The run's memory of who served what (read by the off-wire fallback).
554
+ // Iteration 1 is a run's first epoch — `seed` sets it — so the memory
555
+ // of a previous run on this same built chart is dropped here.
556
+ if (iteration === 1)
557
+ servedTools.lastServed.clear();
558
+ for (const [name, party] of winners)
559
+ servedTools.lastServed.set(name, party);
560
+ }
442
561
  // ── Compose-seam integrity backstop (9.60.0) ──────────────────────
443
- // The park hold-out filters the registry and skill lists, but PROVIDER
444
- // schemas merge unfiltered — a provider tool sharing a parked member's
445
- // name stays on the wire (the shadowing seam: provider wins the wire,
446
- // skill wins dispatch). That is the recorded two-channels contradiction
447
- // still reachable today, so the final merged list is checked against
562
+ // Every list the merge reads is park-filtered — the registry and skill
563
+ // lists from 9.59.0, the provider list since the 9.60.0 fix pass (the
564
+ // comment at the provider loop above says why it has to be this layer).
565
+ // The backstop stays as the check that the MERGED wire agrees with the
566
+ // park, whatever route a name took: the final list is compared against
448
567
  // every parked map's owned names. One finding per defect (identity
449
568
  // dedup via a scope-held seen list, written only when something fires),
450
569
  // filed as a typed event; the composition itself is never altered —
@@ -494,9 +613,10 @@ function buildToolsSlot(config) {
494
613
  }
495
614
  reportShadowedTools(scope, {
496
615
  iteration,
497
- ...(toolProvider?.id && { providerId: toolProvider.id }),
498
- providerSchemas,
499
- activeInjections,
616
+ winners,
617
+ losers,
618
+ candidates,
619
+ ...(toolClaimants !== undefined && { claimants: toolClaimants }),
500
620
  warnedShadow,
501
621
  });
502
622
  const composition = (0, helpers_js_1.composeSlot)('tools', iteration, injections, budgetCap, toolProvider ? 'registry+provider+injections' : 'registry+injections');
@@ -529,63 +649,90 @@ function buildToolsSlot(config) {
529
649
  .build();
530
650
  }
531
651
  exports.buildToolsSlot = buildToolsSlot;
652
+ /** How a party is named in a sentence: `provider 'hub'`, `skill 'billing'`, `framework`. */
653
+ const describeParty = (p) => p.id === undefined ? p.channel : `${p.channel} '${p.id}'`;
532
654
  /**
533
- * Report a tool name a `ToolProvider` and an active SKILL both claim (8.7.0).
655
+ * Report every tool name more than one party claimed this epoch (8.7.0;
656
+ * re-subjected 9.92.0).
534
657
  *
535
- * The two sources disagree in opposite directions, and both directions are laws of
536
- * this codebase rather than races:
658
+ * The SUBJECT is the wire crossed with dispatch: for each name on the wire,
659
+ * the party whose contract won it — which, since dispatch follows the offer,
660
+ * is also the party that answers — against every other party that claimed
661
+ * the name. Two kinds of loser, two events:
537
662
  *
538
- * • **The provider wins the LLM's tool list.** The merge above is
539
- * `[static, provider, skill]` with first-occurrence-wins, and an
540
- * `autoActivate: 'currentSkill'` skill's tools are deliberately kept OUT of the
541
- * static registry (`buildToolRegistry`), so the provider's schema — its name, its
542
- * description, its `inputSchema` — is the one the model reads.
543
- * • **The skill wins dispatch.** `lookupTool` checks `registryByName` first, and
544
- * every skill tool is in that map (`buildToolRegistry` adds autoActivate tools
545
- * explicitly so dispatch resolves once the skill is active). Provider tools are
546
- * not in it. So the skill's `execute` is what runs.
663
+ * • a COMPETING loser put a contract forward this epoch and lost the merge
664
+ * (`losers`, from `mergeWire`). The name draws ONE
665
+ * `agentfootprint.tools.shadowed` naming the wire's party in both halves —
666
+ * the shipped event, kept truthful — and one `tools.claim_swallowed` per
667
+ * loser;
668
+ * • a RESERVED loser is a build-time claimant that never reached the merge
669
+ * (`claimants`, from `buildToolRegistry`): a scoped skill's tool while the
670
+ * skill is inactive, a held-out step tool, the framework's `skip_step`
671
+ * between tenures. Its name is held by somebody else this epoch and its
672
+ * implementation cannot be reached by any call, so it draws
673
+ * `tools.claim_swallowed` — and NOT `tools.shadowed`, because no contract of
674
+ * its competed for the wire.
547
675
  *
548
- * The model therefore reads one contract and calls a different implementation, with
549
- * nothing in the trace saying so. Reported rather than refused: the provider's list
550
- * is resolved per iteration (`list(ctx)`) and the skill has to be active, so there is
551
- * no build-time moment at which this is knowable.
676
+ * Until 9.92.0 this loop walked `activeInjections` against the pre-merge
677
+ * provider list and ASSERTED `schemaFrom: 'provider'`, which could not see an
678
+ * inactive skill, a static `.tool()` or a framework auto-attach, and named the
679
+ * provider on epochs whose wire carried the skill's contract (recorded-not-
680
+ * built, entries 1 and 2). Reading the merge's own record is what makes both
681
+ * sentences true by construction.
552
682
  *
553
- * A static `.tool()` colliding with a skill tool is NOT reported here —
554
- * `buildToolRegistry` already throws on that pair at build time, which is the better
555
- * answer when the answer is available that early.
683
+ * The events fire every iteration — that is the channel that reaches
684
+ * production, where a dynamic provider can start a collision on iteration 9
685
+ * of a run nobody is watching. The console line is dev-mode only and latched
686
+ * per tool name per built chart, so a 20-iteration loop prints once.
556
687
  */
557
688
  function reportShadowedTools(scope, input) {
558
- const { iteration, providerId, providerSchemas, activeInjections, warnedShadow } = input;
559
- if (providerSchemas.length === 0)
560
- return;
561
- const providerNames = new Set(providerSchemas.map((s) => s.name));
562
- for (const inj of activeInjections) {
563
- for (const tool of inj.inject.tools ?? []) {
564
- const toolName = tool.schema.name;
565
- if (!providerNames.has(toolName))
566
- continue;
567
- // The EVENT fires every iteration — it is the channel that reaches production,
568
- // where a dynamic provider can start shadowing on iteration 9 of a run nobody
569
- // is watching. The console line is dev-mode only and latched per tool name, so
570
- // a 20-iteration loop prints once (same discipline as the overflow warning).
689
+ const { iteration, winners, losers, candidates, claimants, warnedShadow } = input;
690
+ for (const [toolName, winner] of winners) {
691
+ const competing = losers.get(toolName) ?? [];
692
+ // Reserved: every build-time claimant of the name that is neither the
693
+ // winner nor one of this epoch's candidates for it.
694
+ const putForward = candidates.filter((c) => c.schema.name === toolName);
695
+ const winning = putForward.find((c) => sameParty(c.party, winner));
696
+ const reserved = (claimants?.get(toolName) ?? [])
697
+ .filter((c) =>
698
+ // The same implementation is the same claim: a second skill sharing
699
+ // the winner's `Tool` reference lost nothing.
700
+ c.tool !== winning?.tool &&
701
+ !putForward.some((p) => p.tool === c.tool) &&
702
+ !sameParty(partyOfClaim(c), winner) &&
703
+ !putForward.some((p) => sameParty(p.party, partyOfClaim(c))))
704
+ .map(partyOfClaim);
705
+ if (competing.length === 0 && reserved.length === 0)
706
+ continue;
707
+ if (competing.length > 0) {
571
708
  (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.tools.shadowed', {
572
709
  toolName,
573
710
  iteration,
574
- schemaFrom: 'provider',
575
- ...(providerId && { schemaFromId: providerId }),
576
- dispatchTo: 'skill',
577
- dispatchToId: inj.id,
711
+ schemaFrom: winner.channel,
712
+ ...(winner.id !== undefined && { schemaFromId: winner.id }),
713
+ dispatchTo: winner.channel,
714
+ ...(winner.id !== undefined && { dispatchToId: winner.id }),
715
+ });
716
+ }
717
+ for (const lost of [...competing, ...reserved]) {
718
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.tools.claim_swallowed', {
719
+ toolName,
720
+ iteration,
721
+ lostBy: lost.channel,
722
+ ...(lost.id !== undefined && { lostById: lost.id }),
723
+ wonBy: winner.channel,
724
+ ...(winner.id !== undefined && { wonById: winner.id }),
578
725
  });
579
- if (!(0, footprintjs_1.isDevMode)() || warnedShadow.has(toolName))
580
- continue;
581
- warnedShadow.add(toolName);
582
- // eslint-disable-next-line no-console
583
- console.warn(`agentfootprint tools: '${toolName}' is declared by BOTH the tool provider` +
584
- `${providerId ? ` '${providerId}'` : ''} and the active skill '${inj.id}'. The model ` +
585
- `is shown the PROVIDER's description, but dispatch always resolves the SKILL's ` +
586
- `implementation — so the model reads one tool's contract and calls another's. Rename ` +
587
- `one of them, or drop it from the skill's tools:[] if the provider is meant to own it.`);
588
726
  }
727
+ if (!(0, footprintjs_1.isDevMode)() || warnedShadow.has(toolName))
728
+ continue;
729
+ warnedShadow.add(toolName);
730
+ const others = [...competing, ...reserved].map(describeParty).join(', ');
731
+ // eslint-disable-next-line no-console
732
+ console.warn(`agentfootprint tools: '${toolName}' is claimed by ${describeParty(winner)} AND by ` +
733
+ `${others}. The model is shown ${describeParty(winner)}'s contract and ` +
734
+ `${describeParty(winner)}'s implementation answers; the other claim answers no call ` +
735
+ `while the name is held. Rename one of them, or drop the duplicate.`);
589
736
  }
590
737
  }
591
738
  //# sourceMappingURL=buildToolsSlot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildToolsSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildToolsSlot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildToolsSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildToolsSlot.ts"],"names":[],"mappings":"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"}
@@ -96,7 +96,7 @@ import { assertCostBudgetHasPricing, resolveCostBudget } from './cost.js';
96
96
  import { causalEvidenceRecorder, } from '../memory/causal/evidenceRecorder.js';
97
97
  import { buildSystemPromptSlot } from './slots/buildSystemPromptSlot.js';
98
98
  import { buildMessagesSlot } from './slots/buildMessagesSlot.js';
99
- import { buildToolsSlot } from './slots/buildToolsSlot.js';
99
+ import { buildToolsSlot, } from './slots/buildToolsSlot.js';
100
100
  import { isDevMode } from 'footprintjs';
101
101
  import { buildReadSkillTool } from '../lib/injection-engine/skillTools.js';
102
102
  import { foldStepPlans } from '../lib/injection-engine/skillSteps.js';
@@ -2977,7 +2977,7 @@ export class Agent extends RunnerBase {
2977
2977
  // auto-attached `present` tool when a store is attached, 9.22.0) +
2978
2978
  // skill-supplied tools (with autoActivate scoping); validates
2979
2979
  // name uniqueness; produces the dispatch map.
2980
- const { registryByName, toolSchemas, toolDeclaringSkills } = buildToolRegistry(registry, this.injections, {
2980
+ const { registryByName, toolSchemas, toolDeclaringSkills, toolClaimants } = buildToolRegistry(registry, this.injections, {
2981
2981
  hasArtifactStore: artifactStore !== undefined,
2982
2982
  });
2983
2983
  // A statically registered tool that declares `wants` on an agent with no
@@ -3134,13 +3134,25 @@ export class Agent extends RunnerBase {
3134
3134
  const messagesSubflow = buildMessagesSlot({
3135
3135
  ...(budget?.messages !== undefined && { budgetCap: budget.messages }),
3136
3136
  });
3137
- // Per-run cache shared between buildToolsSlot (writer, each
3138
- // iteration) and buildToolCallsHandler (reader, same iteration).
3139
- // Holds the resolved Tool[] from `provider.list(ctx)` so dispatch
3140
- // doesn't re-invoke `list()` — vital for async network providers.
3141
- // A fresh chart (and thus fresh cache) is built per `agent.run()`,
3142
- // so concurrent runs don't share state.
3137
+ // Cache shared between buildToolsSlot (writer, each iteration) and
3138
+ // buildToolCallsHandler (reader, same iteration). Holds the resolved
3139
+ // Tool[] from `provider.list(ctx)` so dispatch doesn't re-invoke `list()`
3140
+ // — vital for async network providers.
3141
+ //
3142
+ // LIFETIME, stated correctly (9.92.0): the chart is built ONCE, at
3143
+ // construction (`initChart`), and reused by every `run()` and `resume()`
3144
+ // of this Agent — so this cache and the record below outlive a run. They
3145
+ // are safe because one Agent runs one turn at a time and the slot
3146
+ // overwrites them every iteration before dispatch reads them. What that
3147
+ // does NOT cover is a resume in a FRESH instance, whose closure is empty
3148
+ // and whose Compose never re-runs before the resumed dispatch — which is
3149
+ // why the pause paths carry `pausedToolParty` on the checkpoint.
3143
3150
  const providerToolCache = { current: [] };
3151
+ // Who put each name on the wire (9.92.0) — the same closure-shared shape,
3152
+ // written by the tools slot's merge and read by dispatch so the party
3153
+ // whose contract the model read is the party that answers. `lastServed`
3154
+ // is the run's memory of the same fact, for a name that left the wire.
3155
+ const servedTools = { current: new Map(), lastServed: new Map() };
3144
3156
  const readSkillFor = this.readSkillOfferFor();
3145
3157
  // Per-role skill visibility. The RESOLVER is handed to the tools slot, which
3146
3158
  // is the fact's one owner: it resolves the ids once per iteration and
@@ -3222,6 +3234,8 @@ export class Agent extends RunnerBase {
3222
3234
  integrityLedger: this.integrityLedgerHolder,
3223
3235
  ...(this.externalToolProvider && { toolProvider: this.externalToolProvider }),
3224
3236
  ...(this.externalToolProvider && { providerToolCache }),
3237
+ toolClaimants,
3238
+ servedTools,
3225
3239
  ...(readSkillFor && { readSkillFor }),
3226
3240
  ...(hiddenSkillIds && { hiddenSkillIds }),
3227
3241
  ...(budget?.tools !== undefined && { budgetCap: budget.tools }),
@@ -3394,6 +3408,8 @@ export class Agent extends RunnerBase {
3394
3408
  }),
3395
3409
  ...(this.externalToolProvider && { externalToolProvider: this.externalToolProvider }),
3396
3410
  ...(this.externalToolProvider && { providerToolCache }),
3411
+ servedTools,
3412
+ toolClaimants,
3397
3413
  ...(permissionChecker && { permissionChecker }),
3398
3414
  ...(credentialProvider && { credentialProvider }),
3399
3415
  // The claim-check store (9.21.0). Absent → not one new line runs in