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.
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +123 -0
- package/CLAUDE.md +1 -1
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/dist/core/Agent.js +23 -7
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/buildAgentMessageApiChart.js +10 -0
- package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
- package/dist/core/agent/buildToolRegistry.js +90 -33
- package/dist/core/agent/buildToolRegistry.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +176 -28
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/slots/buildToolsSlot.js +209 -62
- package/dist/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/core/Agent.js +24 -8
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/buildAgentMessageApiChart.js +10 -0
- package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
- package/dist/esm/core/agent/buildToolRegistry.d.ts +80 -31
- package/dist/esm/core/agent/buildToolRegistry.js +90 -33
- package/dist/esm/core/agent/buildToolRegistry.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +43 -5
- package/dist/esm/core/agent/stages/toolCalls.js +174 -27
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +15 -0
- package/dist/esm/core/slots/buildToolsSlot.d.ts +100 -0
- package/dist/esm/core/slots/buildToolsSlot.js +207 -61
- package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +92 -18
- package/dist/esm/events/registry.d.ts +5 -1
- package/dist/esm/events/registry.js +4 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/events/registry.js +4 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildToolRegistry.d.ts +80 -31
- package/dist/types/core/agent/buildToolRegistry.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +43 -5
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +15 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/slots/buildToolsSlot.d.ts +100 -0
- package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +92 -18
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +5 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -14,6 +14,8 @@ import type { FlowChart } from 'footprintjs';
|
|
|
14
14
|
import type { LLMToolSchema } from '../../adapters/types.js';
|
|
15
15
|
import { type StepPlanFor } from '../../lib/injection-engine/skillSteps.js';
|
|
16
16
|
import type { Tool } from '../tools.js';
|
|
17
|
+
import type { ToolClaim } from '../agent/buildToolRegistry.js';
|
|
18
|
+
import type { ToolNameChannel } from '../../events/payloads.js';
|
|
17
19
|
import type { ToolProvider } from '../../tool-providers/types.js';
|
|
18
20
|
/**
|
|
19
21
|
* Mutable cache shared between `buildToolsSlot` (writer) and
|
|
@@ -27,6 +29,86 @@ import type { ToolProvider } from '../../tool-providers/types.js';
|
|
|
27
29
|
export interface ProviderToolCache {
|
|
28
30
|
current: readonly Tool[];
|
|
29
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* A party that put a tool name forward for the wire (9.92.0) — the vocabulary
|
|
34
|
+
* `tools.shadowed` and `tools.claim_swallowed` speak. `id` is the provider id or
|
|
35
|
+
* the skill id when the party has one; a static `.tool()` and a framework
|
|
36
|
+
* auto-attach carry none.
|
|
37
|
+
*/
|
|
38
|
+
export interface ToolParty {
|
|
39
|
+
readonly channel: ToolNameChannel;
|
|
40
|
+
readonly id?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* WHO PUT EACH NAME ON THIS EPOCH'S WIRE (9.92.0) — written by Compose from
|
|
44
|
+
* the same merge that produces `scope.toolSchemas`, read by the tool-calls
|
|
45
|
+
* handler's `lookupTool` so that DISPATCH FOLLOWS THE OFFER: a name the model
|
|
46
|
+
* was served resolves to the implementation of the party whose contract it
|
|
47
|
+
* read, never to whichever map happened to be consulted first.
|
|
48
|
+
*
|
|
49
|
+
* The `ProviderToolCache` pattern, and for the same reason: build-closure
|
|
50
|
+
* plumbing shared by the slot (writer) and the handler (reader) within one
|
|
51
|
+
* chart, never scope state — so a run with no collision commits the exact
|
|
52
|
+
* bytes it always did. Overwritten every iteration; a name absent from it was
|
|
53
|
+
* not on the wire this epoch and dispatch falls back to the build-time map,
|
|
54
|
+
* which is the capability law's held-out clause unchanged.
|
|
55
|
+
*/
|
|
56
|
+
export interface ServedToolParties {
|
|
57
|
+
current: ReadonlyMap<string, ToolParty>;
|
|
58
|
+
/**
|
|
59
|
+
* The party each name was LAST served under, across the epochs of one run
|
|
60
|
+
* (cleared on iteration 1). The off-wire fallback reads it: a name that
|
|
61
|
+
* left the wire may still be answered by the party the model last read it
|
|
62
|
+
* under — never by a party the model was never shown under that name.
|
|
63
|
+
*/
|
|
64
|
+
readonly lastServed: Map<string, ToolParty>;
|
|
65
|
+
}
|
|
66
|
+
/** One schema put forward for the wire, by whom — and WHICH implementation. */
|
|
67
|
+
interface WireCandidate {
|
|
68
|
+
readonly schema: LLMToolSchema;
|
|
69
|
+
readonly party: ToolParty;
|
|
70
|
+
/**
|
|
71
|
+
* The implementation behind the contract. Identity is by implementation:
|
|
72
|
+
* two skills sharing ONE `Tool` reference (documented-legal) are one claim
|
|
73
|
+
* however many routes it arrives by, and draw nothing. Absent only on a
|
|
74
|
+
* chart with no claimant record (the message-API charts).
|
|
75
|
+
*/
|
|
76
|
+
readonly tool?: Tool;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* THE WIRE MERGE (9.92.0) — first occurrence wins, and the record of who won
|
|
80
|
+
* and who lost is produced by the SAME pass that produces the list, so the two
|
|
81
|
+
* cannot disagree about a name.
|
|
82
|
+
*
|
|
83
|
+
* Order is the caller's: `[static, provider, skill, step]`. A `registry`
|
|
84
|
+
* candidate is the static list; a `provider` candidate the resolved
|
|
85
|
+
* `ToolProvider` list; a `skill` candidate an active skill's `inject.tools`;
|
|
86
|
+
* a `framework` candidate the step tool. Two candidates from one provider
|
|
87
|
+
* under one name (a composed provider serving a name twice) lose to each
|
|
88
|
+
* other by the same rule and are reported the same way. The SAME
|
|
89
|
+
* implementation put forward twice — an always-visible skill's tool rides the
|
|
90
|
+
* static list and the active-injection list; two skills may share one `Tool`
|
|
91
|
+
* reference — is one claim and draws nothing: identity is by `tool`, and only
|
|
92
|
+
* where no implementation is known (a chart without a claimant record) by
|
|
93
|
+
* party + contract.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* const { merged, winners, losers } = mergeWire([
|
|
98
|
+
* { schema: { name: 'x', description: 'a' }, party: { channel: 'provider', id: 'p' } },
|
|
99
|
+
* { schema: { name: 'x', description: 'b' }, party: { channel: 'skill', id: 's' } },
|
|
100
|
+
* ]);
|
|
101
|
+
* merged.map((t) => t.description); // ['a']
|
|
102
|
+
* winners.get('x'); // { channel: 'provider', id: 'p' }
|
|
103
|
+
* losers.get('x'); // [{ channel: 'skill', id: 's' }]
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function mergeWire(candidates: readonly WireCandidate[]): {
|
|
107
|
+
readonly merged: readonly LLMToolSchema[];
|
|
108
|
+
readonly winners: ReadonlyMap<string, ToolParty>;
|
|
109
|
+
/** Every candidate that lost its name, in candidate order — competing losers. */
|
|
110
|
+
readonly losers: ReadonlyMap<string, readonly ToolParty[]>;
|
|
111
|
+
};
|
|
30
112
|
export interface ToolsSlotConfig {
|
|
31
113
|
/** Tool registry exposed to the LLM. Empty → empty slot (LLMCall case). */
|
|
32
114
|
readonly tools: readonly LLMToolSchema[];
|
|
@@ -70,6 +152,23 @@ export interface ToolsSlotConfig {
|
|
|
70
152
|
* calling `list()` a second time. Required when `toolProvider` is set.
|
|
71
153
|
*/
|
|
72
154
|
readonly providerToolCache?: ProviderToolCache;
|
|
155
|
+
/**
|
|
156
|
+
* Every build-time claimant per tool name (9.92.0) — `buildToolRegistry`'s
|
|
157
|
+
* `toolClaimants`. Read for two things: the party a STATIC-list schema
|
|
158
|
+
* belongs to (a `.tool()`, a framework auto-attach, an always-visible
|
|
159
|
+
* skill's tool), and the claimants that never reached this epoch's merge
|
|
160
|
+
* (a scoped skill's tool while the skill is inactive, a held-out step tool,
|
|
161
|
+
* the framework's `skip_step` between tenures) so a dead claim can be named.
|
|
162
|
+
* Absent — the message-API charts — and every static schema is `registry`.
|
|
163
|
+
*/
|
|
164
|
+
readonly toolClaimants?: ReadonlyMap<string, readonly ToolClaim[]>;
|
|
165
|
+
/**
|
|
166
|
+
* The record of who put each name on the wire (9.92.0), written here every
|
|
167
|
+
* iteration and read by dispatch. Same closure-shared shape and lifetime as
|
|
168
|
+
* `providerToolCache`. Absent → the record is not kept, and dispatch reads
|
|
169
|
+
* its build-time map first as it did before 9.92.0.
|
|
170
|
+
*/
|
|
171
|
+
readonly servedTools?: ServedToolParties;
|
|
73
172
|
/**
|
|
74
173
|
* Rebuild `read_skill`'s SCHEMA for this iteration's cursor (8.5.0).
|
|
75
174
|
*
|
|
@@ -147,3 +246,4 @@ export interface ToolsSlotConfig {
|
|
|
147
246
|
* })
|
|
148
247
|
*/
|
|
149
248
|
export declare function buildToolsSlot(config: ToolsSlotConfig): FlowChart;
|
|
249
|
+
export {};
|
|
@@ -20,6 +20,74 @@ import { buildSkipStepTool } from '../../lib/injection-engine/skillTools.js';
|
|
|
20
20
|
import { currentStepOf, pointerOf, skipStepDescription, stepBannerPrefix, stepInProgress, } from '../../lib/injection-engine/skillSteps.js';
|
|
21
21
|
import { typedEmit } from '../../recorders/core/typedEmit.js';
|
|
22
22
|
import { composeSlot, fnv1a, formatOverflowWarning, slotOverflow, truncate } from './helpers.js';
|
|
23
|
+
const FRAMEWORK_PARTY = { channel: 'framework' };
|
|
24
|
+
const sameParty = (a, b) => a.channel === b.channel && a.id === b.id;
|
|
25
|
+
/**
|
|
26
|
+
* The same CONTRACT arriving twice — an always-visible skill's tool rides the
|
|
27
|
+
* static list AND, once the skill is active, the injection list. One claim,
|
|
28
|
+
* two routes; not a loser of itself.
|
|
29
|
+
*/
|
|
30
|
+
const sameContract = (a, b) => a.name === b.name &&
|
|
31
|
+
a.description === b.description &&
|
|
32
|
+
JSON.stringify(a.inputSchema ?? null) === JSON.stringify(b.inputSchema ?? null);
|
|
33
|
+
const partyOfClaim = (c) => ({
|
|
34
|
+
channel: c.channel,
|
|
35
|
+
...(c.id !== undefined && { id: c.id }),
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* THE WIRE MERGE (9.92.0) — first occurrence wins, and the record of who won
|
|
39
|
+
* and who lost is produced by the SAME pass that produces the list, so the two
|
|
40
|
+
* cannot disagree about a name.
|
|
41
|
+
*
|
|
42
|
+
* Order is the caller's: `[static, provider, skill, step]`. A `registry`
|
|
43
|
+
* candidate is the static list; a `provider` candidate the resolved
|
|
44
|
+
* `ToolProvider` list; a `skill` candidate an active skill's `inject.tools`;
|
|
45
|
+
* a `framework` candidate the step tool. Two candidates from one provider
|
|
46
|
+
* under one name (a composed provider serving a name twice) lose to each
|
|
47
|
+
* other by the same rule and are reported the same way. The SAME
|
|
48
|
+
* implementation put forward twice — an always-visible skill's tool rides the
|
|
49
|
+
* static list and the active-injection list; two skills may share one `Tool`
|
|
50
|
+
* reference — is one claim and draws nothing: identity is by `tool`, and only
|
|
51
|
+
* where no implementation is known (a chart without a claimant record) by
|
|
52
|
+
* party + contract.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* const { merged, winners, losers } = mergeWire([
|
|
57
|
+
* { schema: { name: 'x', description: 'a' }, party: { channel: 'provider', id: 'p' } },
|
|
58
|
+
* { schema: { name: 'x', description: 'b' }, party: { channel: 'skill', id: 's' } },
|
|
59
|
+
* ]);
|
|
60
|
+
* merged.map((t) => t.description); // ['a']
|
|
61
|
+
* winners.get('x'); // { channel: 'provider', id: 'p' }
|
|
62
|
+
* losers.get('x'); // [{ channel: 'skill', id: 's' }]
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
export function mergeWire(candidates) {
|
|
66
|
+
const merged = [];
|
|
67
|
+
const winners = new Map();
|
|
68
|
+
const won = new Map();
|
|
69
|
+
const losers = new Map();
|
|
70
|
+
for (const candidate of candidates) {
|
|
71
|
+
const { schema, party } = candidate;
|
|
72
|
+
const first = won.get(schema.name);
|
|
73
|
+
if (first !== undefined) {
|
|
74
|
+
const sameImplementation = (candidate.tool !== undefined && candidate.tool === first.tool) ||
|
|
75
|
+
(sameParty(party, first.party) && sameContract(schema, first.schema));
|
|
76
|
+
if (sameImplementation)
|
|
77
|
+
continue;
|
|
78
|
+
const lost = losers.get(schema.name);
|
|
79
|
+
if (lost === undefined)
|
|
80
|
+
losers.set(schema.name, [party]);
|
|
81
|
+
else
|
|
82
|
+
lost.push(party);
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
won.set(schema.name, candidate);
|
|
86
|
+
winners.set(schema.name, party);
|
|
87
|
+
merged.push(schema);
|
|
88
|
+
}
|
|
89
|
+
return { merged, winners, losers };
|
|
90
|
+
}
|
|
23
91
|
/** Shared empty hold-out — the no-step iterations never allocate. */
|
|
24
92
|
const EMPTY_NAME_SET = new Set();
|
|
25
93
|
// LENS · tool-description + tool-list · request-ephemeral
|
|
@@ -45,6 +113,19 @@ export function buildToolsSlot(config) {
|
|
|
45
113
|
const providerToolCache = config.providerToolCache;
|
|
46
114
|
const hiddenSkillIdsFor = config.hiddenSkillIds;
|
|
47
115
|
const stepPlanFor = config.stepPlanFor;
|
|
116
|
+
const toolClaimants = config.toolClaimants;
|
|
117
|
+
const servedTools = config.servedTools;
|
|
118
|
+
/** A STATIC-list schema's party and implementation: its first build-time claimant. */
|
|
119
|
+
const registryCandidate = (schema) => {
|
|
120
|
+
const first = toolClaimants?.get(schema.name)?.[0];
|
|
121
|
+
return first === undefined
|
|
122
|
+
? { schema, party: { channel: 'registry' } }
|
|
123
|
+
: { schema, party: partyOfClaim(first), tool: first.tool };
|
|
124
|
+
};
|
|
125
|
+
/** The framework's own `skip_step` instance, when any skill declares steps. */
|
|
126
|
+
const frameworkSkipStep = toolClaimants
|
|
127
|
+
?.get(buildSkipStepTool().schema.name)
|
|
128
|
+
?.find((c) => c.channel === 'framework')?.tool;
|
|
48
129
|
// The skip_step schema template — description is rebuilt per iteration
|
|
49
130
|
// (it names the current step), everything else is static.
|
|
50
131
|
const skipStepSchemaTemplate = stepPlanFor ? buildSkipStepTool().schema : undefined;
|
|
@@ -319,6 +400,11 @@ export function buildToolsSlot(config) {
|
|
|
319
400
|
};
|
|
320
401
|
});
|
|
321
402
|
const providerSchemas = [];
|
|
403
|
+
const providerCandidates = [];
|
|
404
|
+
const providerParty = {
|
|
405
|
+
channel: 'provider',
|
|
406
|
+
...(toolProvider?.id !== undefined && { id: toolProvider.id }),
|
|
407
|
+
};
|
|
322
408
|
if (toolProvider && providerToolCache) {
|
|
323
409
|
for (const t of providerToolCache.current) {
|
|
324
410
|
// PARK HOLD-OUT, the same rule the registry list above and the
|
|
@@ -345,6 +431,7 @@ export function buildToolsSlot(config) {
|
|
|
345
431
|
// banner the model reads.
|
|
346
432
|
const schema = bannered(t.schema);
|
|
347
433
|
providerSchemas.push(schema);
|
|
434
|
+
providerCandidates.push({ schema, party: providerParty, tool: t });
|
|
348
435
|
const summary = `${schema.name}: ${schema.description}`;
|
|
349
436
|
injections.push({
|
|
350
437
|
contentSummary: truncate(summary, 80),
|
|
@@ -363,6 +450,7 @@ export function buildToolsSlot(config) {
|
|
|
363
450
|
// the step hold-out filters this source too — by the same sole-owner
|
|
364
451
|
// rule (a name in stepHoldOut is provably the stepped skill's alone).
|
|
365
452
|
const dynamicSchemas = [];
|
|
453
|
+
const dynamicCandidates = [];
|
|
366
454
|
for (const inj of activeInjections) {
|
|
367
455
|
const injTools = inj.inject.tools;
|
|
368
456
|
if (!injTools || injTools.length === 0)
|
|
@@ -375,6 +463,18 @@ export function buildToolsSlot(config) {
|
|
|
375
463
|
continue;
|
|
376
464
|
const schema = bannered(tool.schema);
|
|
377
465
|
dynamicSchemas.push(schema);
|
|
466
|
+
// The implementation is the REGISTRY's reference for (name, skill), not
|
|
467
|
+
// the object on the active injection: `activeInjections` is committed
|
|
468
|
+
// state, and what comes back from scope is a copy. Identity has to be
|
|
469
|
+
// judged on the one reference `buildToolRegistry` kept.
|
|
470
|
+
const claimed = toolClaimants
|
|
471
|
+
?.get(schema.name)
|
|
472
|
+
?.find((c) => c.channel === 'skill' && c.id === inj.id)?.tool;
|
|
473
|
+
dynamicCandidates.push({
|
|
474
|
+
schema,
|
|
475
|
+
party: { channel: 'skill', id: inj.id },
|
|
476
|
+
tool: claimed ?? tool,
|
|
477
|
+
});
|
|
378
478
|
const summary = `${schema.name}: ${schema.description}`;
|
|
379
479
|
injections.push({
|
|
380
480
|
contentSummary: truncate(summary, 80),
|
|
@@ -427,21 +527,39 @@ export function buildToolsSlot(config) {
|
|
|
427
527
|
// registry, AND the consumer's toolProvider emits one too. Without
|
|
428
528
|
// dedupe both reach the LLM and Anthropic rejects the request:
|
|
429
529
|
// "tools: Tool names must be unique."
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
530
|
+
//
|
|
531
|
+
// Since 9.92.0 the same pass records WHO won each name and who lost it
|
|
532
|
+
// (`mergeWire`), because the record of the wire and the wire itself must
|
|
533
|
+
// come from one loop: dispatch resolves against the winners, and the
|
|
534
|
+
// report below is computed from the losers — never from a re-derivation.
|
|
535
|
+
const candidates = [
|
|
536
|
+
...tools.map(registryCandidate),
|
|
537
|
+
...providerCandidates,
|
|
538
|
+
...dynamicCandidates,
|
|
539
|
+
...stepSchemas.map((schema) => ({
|
|
540
|
+
schema,
|
|
541
|
+
party: FRAMEWORK_PARTY,
|
|
542
|
+
...(frameworkSkipStep !== undefined && { tool: frameworkSkipStep }),
|
|
543
|
+
})),
|
|
544
|
+
];
|
|
545
|
+
const { merged, winners, losers } = mergeWire(candidates);
|
|
438
546
|
scope.toolSchemas = merged;
|
|
547
|
+
if (servedTools !== undefined) {
|
|
548
|
+
servedTools.current = winners;
|
|
549
|
+
// The run's memory of who served what (read by the off-wire fallback).
|
|
550
|
+
// Iteration 1 is a run's first epoch — `seed` sets it — so the memory
|
|
551
|
+
// of a previous run on this same built chart is dropped here.
|
|
552
|
+
if (iteration === 1)
|
|
553
|
+
servedTools.lastServed.clear();
|
|
554
|
+
for (const [name, party] of winners)
|
|
555
|
+
servedTools.lastServed.set(name, party);
|
|
556
|
+
}
|
|
439
557
|
// ── Compose-seam integrity backstop (9.60.0) ──────────────────────
|
|
440
|
-
//
|
|
441
|
-
//
|
|
442
|
-
//
|
|
443
|
-
//
|
|
444
|
-
//
|
|
558
|
+
// Every list the merge reads is park-filtered — the registry and skill
|
|
559
|
+
// lists from 9.59.0, the provider list since the 9.60.0 fix pass (the
|
|
560
|
+
// comment at the provider loop above says why it has to be this layer).
|
|
561
|
+
// The backstop stays as the check that the MERGED wire agrees with the
|
|
562
|
+
// park, whatever route a name took: the final list is compared against
|
|
445
563
|
// every parked map's owned names. One finding per defect (identity
|
|
446
564
|
// dedup via a scope-held seen list, written only when something fires),
|
|
447
565
|
// filed as a typed event; the composition itself is never altered —
|
|
@@ -491,9 +609,10 @@ export function buildToolsSlot(config) {
|
|
|
491
609
|
}
|
|
492
610
|
reportShadowedTools(scope, {
|
|
493
611
|
iteration,
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
612
|
+
winners,
|
|
613
|
+
losers,
|
|
614
|
+
candidates,
|
|
615
|
+
...(toolClaimants !== undefined && { claimants: toolClaimants }),
|
|
497
616
|
warnedShadow,
|
|
498
617
|
});
|
|
499
618
|
const composition = composeSlot('tools', iteration, injections, budgetCap, toolProvider ? 'registry+provider+injections' : 'registry+injections');
|
|
@@ -525,63 +644,90 @@ export function buildToolsSlot(config) {
|
|
|
525
644
|
.addFunction('Compose', composeStage, 'compose', 'Compose tools slot')
|
|
526
645
|
.build();
|
|
527
646
|
}
|
|
647
|
+
/** How a party is named in a sentence: `provider 'hub'`, `skill 'billing'`, `framework`. */
|
|
648
|
+
const describeParty = (p) => p.id === undefined ? p.channel : `${p.channel} '${p.id}'`;
|
|
528
649
|
/**
|
|
529
|
-
* Report
|
|
650
|
+
* Report every tool name more than one party claimed this epoch (8.7.0;
|
|
651
|
+
* re-subjected 9.92.0).
|
|
530
652
|
*
|
|
531
|
-
* The
|
|
532
|
-
*
|
|
653
|
+
* The SUBJECT is the wire crossed with dispatch: for each name on the wire,
|
|
654
|
+
* the party whose contract won it — which, since dispatch follows the offer,
|
|
655
|
+
* is also the party that answers — against every other party that claimed
|
|
656
|
+
* the name. Two kinds of loser, two events:
|
|
533
657
|
*
|
|
534
|
-
* •
|
|
535
|
-
* `
|
|
536
|
-
* `
|
|
537
|
-
*
|
|
538
|
-
*
|
|
539
|
-
* •
|
|
540
|
-
*
|
|
541
|
-
*
|
|
542
|
-
*
|
|
658
|
+
* • a COMPETING loser put a contract forward this epoch and lost the merge
|
|
659
|
+
* (`losers`, from `mergeWire`). The name draws ONE
|
|
660
|
+
* `agentfootprint.tools.shadowed` naming the wire's party in both halves —
|
|
661
|
+
* the shipped event, kept truthful — and one `tools.claim_swallowed` per
|
|
662
|
+
* loser;
|
|
663
|
+
* • a RESERVED loser is a build-time claimant that never reached the merge
|
|
664
|
+
* (`claimants`, from `buildToolRegistry`): a scoped skill's tool while the
|
|
665
|
+
* skill is inactive, a held-out step tool, the framework's `skip_step`
|
|
666
|
+
* between tenures. Its name is held by somebody else this epoch and its
|
|
667
|
+
* implementation cannot be reached by any call, so it draws
|
|
668
|
+
* `tools.claim_swallowed` — and NOT `tools.shadowed`, because no contract of
|
|
669
|
+
* its competed for the wire.
|
|
543
670
|
*
|
|
544
|
-
*
|
|
545
|
-
*
|
|
546
|
-
*
|
|
547
|
-
*
|
|
671
|
+
* Until 9.92.0 this loop walked `activeInjections` against the pre-merge
|
|
672
|
+
* provider list and ASSERTED `schemaFrom: 'provider'`, which could not see an
|
|
673
|
+
* inactive skill, a static `.tool()` or a framework auto-attach, and named the
|
|
674
|
+
* provider on epochs whose wire carried the skill's contract (recorded-not-
|
|
675
|
+
* built, entries 1 and 2). Reading the merge's own record is what makes both
|
|
676
|
+
* sentences true by construction.
|
|
548
677
|
*
|
|
549
|
-
*
|
|
550
|
-
*
|
|
551
|
-
*
|
|
678
|
+
* The events fire every iteration — that is the channel that reaches
|
|
679
|
+
* production, where a dynamic provider can start a collision on iteration 9
|
|
680
|
+
* of a run nobody is watching. The console line is dev-mode only and latched
|
|
681
|
+
* per tool name per built chart, so a 20-iteration loop prints once.
|
|
552
682
|
*/
|
|
553
683
|
function reportShadowedTools(scope, input) {
|
|
554
|
-
const { iteration,
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
684
|
+
const { iteration, winners, losers, candidates, claimants, warnedShadow } = input;
|
|
685
|
+
for (const [toolName, winner] of winners) {
|
|
686
|
+
const competing = losers.get(toolName) ?? [];
|
|
687
|
+
// Reserved: every build-time claimant of the name that is neither the
|
|
688
|
+
// winner nor one of this epoch's candidates for it.
|
|
689
|
+
const putForward = candidates.filter((c) => c.schema.name === toolName);
|
|
690
|
+
const winning = putForward.find((c) => sameParty(c.party, winner));
|
|
691
|
+
const reserved = (claimants?.get(toolName) ?? [])
|
|
692
|
+
.filter((c) =>
|
|
693
|
+
// The same implementation is the same claim: a second skill sharing
|
|
694
|
+
// the winner's `Tool` reference lost nothing.
|
|
695
|
+
c.tool !== winning?.tool &&
|
|
696
|
+
!putForward.some((p) => p.tool === c.tool) &&
|
|
697
|
+
!sameParty(partyOfClaim(c), winner) &&
|
|
698
|
+
!putForward.some((p) => sameParty(p.party, partyOfClaim(c))))
|
|
699
|
+
.map(partyOfClaim);
|
|
700
|
+
if (competing.length === 0 && reserved.length === 0)
|
|
701
|
+
continue;
|
|
702
|
+
if (competing.length > 0) {
|
|
567
703
|
typedEmit(scope, 'agentfootprint.tools.shadowed', {
|
|
568
704
|
toolName,
|
|
569
705
|
iteration,
|
|
570
|
-
schemaFrom:
|
|
571
|
-
...(
|
|
572
|
-
dispatchTo:
|
|
573
|
-
dispatchToId:
|
|
706
|
+
schemaFrom: winner.channel,
|
|
707
|
+
...(winner.id !== undefined && { schemaFromId: winner.id }),
|
|
708
|
+
dispatchTo: winner.channel,
|
|
709
|
+
...(winner.id !== undefined && { dispatchToId: winner.id }),
|
|
710
|
+
});
|
|
711
|
+
}
|
|
712
|
+
for (const lost of [...competing, ...reserved]) {
|
|
713
|
+
typedEmit(scope, 'agentfootprint.tools.claim_swallowed', {
|
|
714
|
+
toolName,
|
|
715
|
+
iteration,
|
|
716
|
+
lostBy: lost.channel,
|
|
717
|
+
...(lost.id !== undefined && { lostById: lost.id }),
|
|
718
|
+
wonBy: winner.channel,
|
|
719
|
+
...(winner.id !== undefined && { wonById: winner.id }),
|
|
574
720
|
});
|
|
575
|
-
if (!isDevMode() || warnedShadow.has(toolName))
|
|
576
|
-
continue;
|
|
577
|
-
warnedShadow.add(toolName);
|
|
578
|
-
// eslint-disable-next-line no-console
|
|
579
|
-
console.warn(`agentfootprint tools: '${toolName}' is declared by BOTH the tool provider` +
|
|
580
|
-
`${providerId ? ` '${providerId}'` : ''} and the active skill '${inj.id}'. The model ` +
|
|
581
|
-
`is shown the PROVIDER's description, but dispatch always resolves the SKILL's ` +
|
|
582
|
-
`implementation — so the model reads one tool's contract and calls another's. Rename ` +
|
|
583
|
-
`one of them, or drop it from the skill's tools:[] if the provider is meant to own it.`);
|
|
584
721
|
}
|
|
722
|
+
if (!isDevMode() || warnedShadow.has(toolName))
|
|
723
|
+
continue;
|
|
724
|
+
warnedShadow.add(toolName);
|
|
725
|
+
const others = [...competing, ...reserved].map(describeParty).join(', ');
|
|
726
|
+
// eslint-disable-next-line no-console
|
|
727
|
+
console.warn(`agentfootprint tools: '${toolName}' is claimed by ${describeParty(winner)} AND by ` +
|
|
728
|
+
`${others}. The model is shown ${describeParty(winner)}'s contract and ` +
|
|
729
|
+
`${describeParty(winner)}'s implementation answers; the other claim answers no call ` +
|
|
730
|
+
`while the name is held. Rename one of them, or drop the duplicate.`);
|
|
585
731
|
}
|
|
586
732
|
}
|
|
587
733
|
//# 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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"}
|