agentfootprint 9.18.0 → 9.20.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.
- package/AGENTS.md +1 -1
- package/CLAUDE.md +6 -2
- package/README.md +2 -0
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/dist/core/Agent.js +71 -1
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +66 -1
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +19 -0
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +42 -0
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/resultCeiling.js +65 -0
- package/dist/core/agent/resultCeiling.js.map +1 -0
- package/dist/core/agent/skillBrains.js +216 -0
- package/dist/core/agent/skillBrains.js.map +1 -0
- package/dist/core/agent/stages/callLLM.js +29 -9
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/routeTurn.js +123 -3
- package/dist/core/agent/stages/routeTurn.js.map +1 -1
- package/dist/core/agent/stages/seed.js +9 -0
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +428 -14
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/agent/toolEffects.js +242 -0
- package/dist/core/agent/toolEffects.js.map +1 -0
- package/dist/core/tools.js +34 -1
- package/dist/core/tools.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +6 -1
- package/dist/esm/core/Agent.js +71 -1
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +43 -3
- package/dist/esm/core/agent/AgentBuilder.js +66 -1
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +11 -0
- package/dist/esm/core/agent/buildAgentChart.js +19 -0
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +42 -0
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/resultCeiling.d.ts +58 -0
- package/dist/esm/core/agent/resultCeiling.js +61 -0
- package/dist/esm/core/agent/resultCeiling.js.map +1 -0
- package/dist/esm/core/agent/skillBrains.d.ts +144 -0
- package/dist/esm/core/agent/skillBrains.js +209 -0
- package/dist/esm/core/agent/skillBrains.js.map +1 -0
- package/dist/esm/core/agent/stages/callLLM.d.ts +24 -0
- package/dist/esm/core/agent/stages/callLLM.js +29 -9
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/routeTurn.d.ts +23 -0
- package/dist/esm/core/agent/stages/routeTurn.js +123 -3
- package/dist/esm/core/agent/stages/routeTurn.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +8 -0
- package/dist/esm/core/agent/stages/seed.js +9 -0
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +33 -0
- package/dist/esm/core/agent/stages/toolCalls.js +428 -14
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/toolEffects.d.ts +202 -0
- package/dist/esm/core/agent/toolEffects.js +234 -0
- package/dist/esm/core/agent/toolEffects.js.map +1 -0
- package/dist/esm/core/agent/types.d.ts +35 -0
- package/dist/esm/core/tools.d.ts +46 -0
- package/dist/esm/core/tools.js +32 -0
- package/dist/esm/core/tools.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +152 -3
- package/dist/esm/events/payloads.js +3 -1
- package/dist/esm/events/payloads.js.map +1 -1
- package/dist/esm/events/registry.d.ts +7 -1
- package/dist/esm/events/registry.js +6 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +7 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js +57 -1
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/esm/lib/injection-engine/constrainedEnumPick.d.ts +52 -0
- package/dist/esm/lib/injection-engine/constrainedEnumPick.js +101 -0
- package/dist/esm/lib/injection-engine/constrainedEnumPick.js.map +1 -0
- package/dist/esm/lib/injection-engine/evaluator.d.ts +7 -0
- package/dist/esm/lib/injection-engine/evaluator.js +16 -0
- package/dist/esm/lib/injection-engine/evaluator.js.map +1 -1
- package/dist/esm/lib/injection-engine/factories/defineSkill.d.ts +22 -0
- package/dist/esm/lib/injection-engine/factories/defineSkill.js +7 -0
- package/dist/esm/lib/injection-engine/factories/defineSkill.js.map +1 -1
- package/dist/esm/lib/injection-engine/index.d.ts +1 -0
- package/dist/esm/lib/injection-engine/index.js +3 -0
- package/dist/esm/lib/injection-engine/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/llmClassifier.d.ts +11 -8
- package/dist/esm/lib/injection-engine/llmClassifier.js +27 -84
- package/dist/esm/lib/injection-engine/llmClassifier.js.map +1 -1
- package/dist/esm/lib/injection-engine/routingPolicy.d.ts +10 -3
- package/dist/esm/lib/injection-engine/routingPolicy.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraph.d.ts +28 -3
- package/dist/esm/lib/injection-engine/skillGraph.js +87 -19
- package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraphCheckup.js +9 -0
- package/dist/esm/lib/injection-engine/skillGraphCheckup.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillMatch.d.ts +43 -3
- package/dist/esm/lib/injection-engine/skillMatch.js +177 -13
- package/dist/esm/lib/injection-engine/skillMatch.js.map +1 -1
- package/dist/esm/lib/injection-engine/types.d.ts +30 -0
- package/dist/esm/lib/injection-engine/types.js.map +1 -1
- package/dist/esm/recorders/observability/RouteRecorder.d.ts +6 -1
- package/dist/esm/recorders/observability/RouteRecorder.js +10 -0
- package/dist/esm/recorders/observability/RouteRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js +58 -0
- package/dist/esm/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
- package/dist/events/payloads.js +3 -1
- package/dist/events/payloads.js.map +1 -1
- package/dist/events/registry.js +6 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js +57 -1
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/lib/injection-engine/constrainedEnumPick.js +105 -0
- package/dist/lib/injection-engine/constrainedEnumPick.js.map +1 -0
- package/dist/lib/injection-engine/evaluator.js +16 -0
- package/dist/lib/injection-engine/evaluator.js.map +1 -1
- package/dist/lib/injection-engine/factories/defineSkill.js +7 -0
- package/dist/lib/injection-engine/factories/defineSkill.js.map +1 -1
- package/dist/lib/injection-engine/index.js +5 -1
- package/dist/lib/injection-engine/index.js.map +1 -1
- package/dist/lib/injection-engine/llmClassifier.js +27 -84
- package/dist/lib/injection-engine/llmClassifier.js.map +1 -1
- package/dist/lib/injection-engine/routingPolicy.js.map +1 -1
- package/dist/lib/injection-engine/skillGraph.js +87 -19
- package/dist/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/lib/injection-engine/skillGraphCheckup.js +9 -0
- package/dist/lib/injection-engine/skillGraphCheckup.js.map +1 -1
- package/dist/lib/injection-engine/skillMatch.js +177 -13
- package/dist/lib/injection-engine/skillMatch.js.map +1 -1
- package/dist/lib/injection-engine/types.js.map +1 -1
- package/dist/recorders/observability/RouteRecorder.js +10 -0
- package/dist/recorders/observability/RouteRecorder.js.map +1 -1
- package/dist/recorders/observability/commentary/commentaryTemplates.js +58 -0
- package/dist/recorders/observability/commentary/commentaryTemplates.js.map +1 -1
- package/dist/types/core/Agent.d.ts +6 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +43 -3
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +11 -0
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/resultCeiling.d.ts +59 -0
- package/dist/types/core/agent/resultCeiling.d.ts.map +1 -0
- package/dist/types/core/agent/skillBrains.d.ts +145 -0
- package/dist/types/core/agent/skillBrains.d.ts.map +1 -0
- package/dist/types/core/agent/stages/callLLM.d.ts +24 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/routeTurn.d.ts +23 -0
- package/dist/types/core/agent/stages/routeTurn.d.ts.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts +8 -0
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +33 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/toolEffects.d.ts +203 -0
- package/dist/types/core/agent/toolEffects.d.ts.map +1 -0
- package/dist/types/core/agent/types.d.ts +35 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/tools.d.ts +46 -0
- package/dist/types/core/tools.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +152 -3
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +7 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/buildInjectionEngineSubflow.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/constrainedEnumPick.d.ts +53 -0
- package/dist/types/lib/injection-engine/constrainedEnumPick.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/evaluator.d.ts +7 -0
- package/dist/types/lib/injection-engine/evaluator.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/factories/defineSkill.d.ts +22 -0
- package/dist/types/lib/injection-engine/factories/defineSkill.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/index.d.ts +1 -0
- package/dist/types/lib/injection-engine/index.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/llmClassifier.d.ts +11 -8
- package/dist/types/lib/injection-engine/llmClassifier.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/routingPolicy.d.ts +10 -3
- package/dist/types/lib/injection-engine/routingPolicy.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraph.d.ts +28 -3
- package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraphCheckup.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillMatch.d.ts +43 -3
- package/dist/types/lib/injection-engine/skillMatch.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/types.d.ts +30 -0
- package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
- package/dist/types/recorders/observability/RouteRecorder.d.ts +6 -1
- package/dist/types/recorders/observability/RouteRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/commentary/commentaryTemplates.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* skillBrains — per-skill model switching (9.19.0). ONE owner of the brains
|
|
4
|
+
* fold: the declared shapes (`ProviderChoice`, `EscalationPolicy`), the
|
|
5
|
+
* build-time fold + check-up over BOTH declaration homes, and the runtime
|
|
6
|
+
* `brainFor` consult callLLM makes.
|
|
7
|
+
*
|
|
8
|
+
* "THE CURSOR PICKS THE BRAIN." A skill graph already decides WHERE the run
|
|
9
|
+
* is (the one cursor); this feature lets that same position decide WHO
|
|
10
|
+
* answers — a cheap triage skill on a small model, the refund skill on the
|
|
11
|
+
* strong one — with zero new stages: `callLLM` consults `brainFor(cursor,
|
|
12
|
+
* escalated)` once at the top and resolves field by field down the stated
|
|
13
|
+
* precedence chain:
|
|
14
|
+
*
|
|
15
|
+
* **escalation > per-skill brain > `.configure()` `resolvedModel` >
|
|
16
|
+
* build-time default** — the more specific context wins (evidence > node
|
|
17
|
+
* > run > build). Field-by-field at the call site: `provider =
|
|
18
|
+
* brain?.provider ?? deps.provider`; `model = brain?.model ??
|
|
19
|
+
* (runConfigured ? scope.resolvedModel : undefined) ?? deps.model`;
|
|
20
|
+
* `cacheStrategy = brain?.cacheStrategy ?? deps.cacheStrategy`. A brain
|
|
21
|
+
* naming only a MODEL inherits the agent's provider; a brain naming only a
|
|
22
|
+
* foreign PROVIDER may not inherit the agent's model id (that id belongs
|
|
23
|
+
* to another vendor's namespace and would fail mid-turn, on exactly the
|
|
24
|
+
* iteration the cursor enters the skill) — refused at build instead.
|
|
25
|
+
*
|
|
26
|
+
* TWO declaration homes, one meaning: `defineSkill({ provider, model })`
|
|
27
|
+
* keeps the choice beside the skill it serves; `SkillGraphOptions.providers`
|
|
28
|
+
* keeps a fleet's choices in one place at the mount. The same id declared in
|
|
29
|
+
* both with different choices is refused naming both homes — configuration
|
|
30
|
+
* that disagrees with itself must not pick a silent winner.
|
|
31
|
+
*
|
|
32
|
+
* ESCALATE-ON-EVIDENCE. `escalation: { provider, model?, afterRefusals: N }`
|
|
33
|
+
* — when the gate refuses N routing picks in ONE turn (`skill.rejected`,
|
|
34
|
+
* reachability or posture — real recorded refusals, never vibes), the rest
|
|
35
|
+
* of the turn runs on the escalation brain, `skill.escalated` goes on the
|
|
36
|
+
* record once, and the next turn's seed de-escalates. The loop the model is
|
|
37
|
+
* flubbing gets the bigger brain until the turn resolves.
|
|
38
|
+
*
|
|
39
|
+
* Vendor-neutral by construction: a brain is an `LLMProvider` OBJECT (any
|
|
40
|
+
* port implementation), never a vendor name this library resolves.
|
|
41
|
+
*/
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.describeServingBrain = exports.buildBrainFor = exports.foldSkillBrains = exports.skillBrainOf = void 0;
|
|
44
|
+
const strategyRegistry_js_1 = require("../../cache/strategyRegistry.js");
|
|
45
|
+
/** The per-skill brain declared on `defineSkill({ provider, model })`,
|
|
46
|
+
* read off the metadata bag (the engine-ignores-unknown precedent —
|
|
47
|
+
* `projectActiveInjection` never projects it, so the live provider object
|
|
48
|
+
* stays on the closure-held list and never crosses a scope boundary). */
|
|
49
|
+
function skillBrainOf(injection) {
|
|
50
|
+
const meta = injection.metadata;
|
|
51
|
+
if (meta?.provider === undefined && meta?.model === undefined)
|
|
52
|
+
return undefined;
|
|
53
|
+
return {
|
|
54
|
+
// `model` alone is legal — the agent's own provider, another model.
|
|
55
|
+
...(meta.provider !== undefined && { provider: meta.provider }),
|
|
56
|
+
...(meta.model !== undefined && { model: meta.model }),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
exports.skillBrainOf = skillBrainOf;
|
|
60
|
+
/**
|
|
61
|
+
* Fold both declaration homes into one frozen map, running every build-time
|
|
62
|
+
* refusal (the check-up). Returns `undefined` when nothing was declared —
|
|
63
|
+
* the zero-cost gate every caller branches on.
|
|
64
|
+
*/
|
|
65
|
+
function foldSkillBrains(args) {
|
|
66
|
+
const fromOptions = new Map(Object.entries(args.providers ?? {}));
|
|
67
|
+
const fromSkills = new Map();
|
|
68
|
+
for (const inj of args.injections) {
|
|
69
|
+
if (inj.flavor !== 'skill')
|
|
70
|
+
continue;
|
|
71
|
+
const brain = skillBrainOf(inj);
|
|
72
|
+
if (brain)
|
|
73
|
+
fromSkills.set(inj.id, brain);
|
|
74
|
+
}
|
|
75
|
+
const declaredAnything = fromOptions.size > 0 ||
|
|
76
|
+
fromSkills.size > 0 ||
|
|
77
|
+
args.escalation !== undefined ||
|
|
78
|
+
args.decider !== undefined;
|
|
79
|
+
if (!declaredAnything)
|
|
80
|
+
return undefined;
|
|
81
|
+
// A brain with no cursor to pick it: "the cursor picks the brain", and an
|
|
82
|
+
// agent without a graph has no cursor. Refused rather than silently inert.
|
|
83
|
+
if (!args.graphMounted) {
|
|
84
|
+
const ids = [...new Set([...fromOptions.keys(), ...fromSkills.keys()])];
|
|
85
|
+
const what = ids.length > 0
|
|
86
|
+
? `per-skill brains (${ids.map((id) => `'${id}'`).join(', ')})`
|
|
87
|
+
: args.escalation !== undefined
|
|
88
|
+
? 'an escalation policy'
|
|
89
|
+
: 'a routing decider';
|
|
90
|
+
throw new Error(`Agent.build(): ${what} declared, but no skill graph is mounted — the cursor picks ` +
|
|
91
|
+
`the brain, and without .skillGraph() there is no cursor, so the declaration would ` +
|
|
92
|
+
`never serve a single call. Mount a graph, or drop the provider/model declarations.`);
|
|
93
|
+
}
|
|
94
|
+
if (args.nodeIds === undefined) {
|
|
95
|
+
throw new Error(`Agent.build(): per-skill brains / escalation / decider were declared, but the mounted ` +
|
|
96
|
+
`graph object carries no \`nodes\` — the brain check-up cannot tell a skill id from a ` +
|
|
97
|
+
`typo against it. Build the graph with this version's skillGraph() (every graph it ` +
|
|
98
|
+
`builds carries nodes), or drop the declarations.`);
|
|
99
|
+
}
|
|
100
|
+
// Foreign-provider-without-model: decidable at build, guaranteed wrong at
|
|
101
|
+
// run (the agent's model id belongs to another vendor's namespace).
|
|
102
|
+
const requireModelOnForeign = (choice, where) => {
|
|
103
|
+
if (choice.model !== undefined)
|
|
104
|
+
return;
|
|
105
|
+
if (choice.provider === undefined || choice.provider.name === args.agentProviderName)
|
|
106
|
+
return;
|
|
107
|
+
throw new Error(`Agent.build(): ${where} names provider '${choice.provider.name}' without a model. The ` +
|
|
108
|
+
`run's configured model belongs to '${args.agentProviderName}' and cannot be resolved ` +
|
|
109
|
+
`against a different provider — the call would fail mid-turn, on exactly the ` +
|
|
110
|
+
`iteration this brain first serves. Name the model for it (inheritance down the ` +
|
|
111
|
+
`chain stays legal when the provider matches the agent's).`);
|
|
112
|
+
};
|
|
113
|
+
// Merge the two homes. Same id + same choice = fine (one fact said twice);
|
|
114
|
+
// different choices = a disagreement no silent winner may resolve.
|
|
115
|
+
const bySkill = new Map();
|
|
116
|
+
for (const [skillId, choice] of fromSkills)
|
|
117
|
+
bySkill.set(skillId, choice);
|
|
118
|
+
for (const [skillId, choice] of fromOptions) {
|
|
119
|
+
const other = fromSkills.get(skillId);
|
|
120
|
+
if (other !== undefined) {
|
|
121
|
+
const sameProvider = other.provider === choice.provider;
|
|
122
|
+
const sameModel = other.model === choice.model;
|
|
123
|
+
if (!sameProvider || !sameModel) {
|
|
124
|
+
throw new Error(`Agent.build(): skill '${skillId}' declares a brain in BOTH homes with different ` +
|
|
125
|
+
`choices — defineSkill({ provider: ${describeChoice(other)} }) and ` +
|
|
126
|
+
`skillGraph options.providers['${skillId}'] = ${describeChoice(choice)}. Two ` +
|
|
127
|
+
`homes may repeat one choice; they may not disagree. Keep one declaration, or ` +
|
|
128
|
+
`make them identical.`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
bySkill.set(skillId, choice);
|
|
132
|
+
}
|
|
133
|
+
for (const [skillId, choice] of bySkill) {
|
|
134
|
+
if (!args.nodeIds.has(skillId)) {
|
|
135
|
+
throw new Error(`Agent.build(): a brain is declared for skill '${skillId}', but the mounted graph ` +
|
|
136
|
+
`has no node with that id — the cursor can never land there, so the brain would ` +
|
|
137
|
+
`never serve a call. Fix the id, wire the skill into the graph, or drop the ` +
|
|
138
|
+
`declaration.`);
|
|
139
|
+
}
|
|
140
|
+
// `model` alone (provider undefined in the defineSkill home) is the
|
|
141
|
+
// agent's own provider — nothing foreign to check.
|
|
142
|
+
if (choice.provider !== undefined) {
|
|
143
|
+
requireModelOnForeign(choice, `skill '${skillId}''s brain`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (args.escalation !== undefined) {
|
|
147
|
+
const n = args.escalation.afterRefusals;
|
|
148
|
+
if (!Number.isInteger(n) || n < 1) {
|
|
149
|
+
throw new Error(`Agent.build(): escalation.afterRefusals must be an integer ≥ 1 (got ${String(n)}). ` +
|
|
150
|
+
`It counts recorded gate refusals (skill.rejected) in one turn before the flip — ` +
|
|
151
|
+
`0 would mean "always escalated", which is not escalation but a different default ` +
|
|
152
|
+
`brain; declare that as the agent's provider/model instead.`);
|
|
153
|
+
}
|
|
154
|
+
requireModelOnForeign(args.escalation, 'the escalation brain');
|
|
155
|
+
}
|
|
156
|
+
if (args.decider !== undefined) {
|
|
157
|
+
requireModelOnForeign(args.decider, 'the routing decider');
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
bySkill,
|
|
161
|
+
...(args.escalation !== undefined && { escalation: args.escalation }),
|
|
162
|
+
...(args.decider !== undefined && { decider: args.decider }),
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
exports.foldSkillBrains = foldSkillBrains;
|
|
166
|
+
function describeChoice(c) {
|
|
167
|
+
const provider = c.provider !== undefined ? `provider '${c.provider.name}'` : 'agent provider';
|
|
168
|
+
return c.model !== undefined ? `${provider}, model '${c.model}'` : provider;
|
|
169
|
+
}
|
|
170
|
+
/** Build the runtime consult. See {@link BrainFor}. */
|
|
171
|
+
function buildBrainFor(args) {
|
|
172
|
+
const strategyFor = (provider) => provider === undefined || provider.name === args.agentProviderName
|
|
173
|
+
? args.agentCacheStrategy
|
|
174
|
+
: (0, strategyRegistry_js_1.getDefaultCacheStrategy)(provider.name);
|
|
175
|
+
const bySkill = new Map();
|
|
176
|
+
for (const [skillId, choice] of args.brains.bySkill) {
|
|
177
|
+
bySkill.set(skillId, {
|
|
178
|
+
provider: choice.provider,
|
|
179
|
+
...(choice.model !== undefined && { model: choice.model }),
|
|
180
|
+
cacheStrategy: strategyFor(choice.provider),
|
|
181
|
+
via: 'skill',
|
|
182
|
+
skillId,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
const escalation = args.brains.escalation
|
|
186
|
+
? {
|
|
187
|
+
provider: args.brains.escalation.provider,
|
|
188
|
+
...(args.brains.escalation.model !== undefined && {
|
|
189
|
+
model: args.brains.escalation.model,
|
|
190
|
+
}),
|
|
191
|
+
cacheStrategy: strategyFor(args.brains.escalation.provider),
|
|
192
|
+
via: 'escalation',
|
|
193
|
+
}
|
|
194
|
+
: undefined;
|
|
195
|
+
return (activeCursor, escalated) => {
|
|
196
|
+
// Evidence outranks the node: once the turn escalated, EVERY remaining
|
|
197
|
+
// call of the turn runs on the escalation brain, whatever the cursor.
|
|
198
|
+
if (escalated && escalation !== undefined)
|
|
199
|
+
return escalation;
|
|
200
|
+
if (activeCursor === undefined)
|
|
201
|
+
return undefined;
|
|
202
|
+
return bySkill.get(activeCursor);
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
exports.buildBrainFor = buildBrainFor;
|
|
206
|
+
/** Describe the brain that WOULD serve a cursor pre-escalation — the
|
|
207
|
+
* `skill.escalated` event's honest `from` field, resolved by the same
|
|
208
|
+
* precedence chain callLLM applies (skill brain > configured > default). */
|
|
209
|
+
function describeServingBrain(args) {
|
|
210
|
+
const brain = args.cursor !== undefined ? args.brains.bySkill.get(args.cursor) : undefined;
|
|
211
|
+
const provider = brain?.provider?.name ?? args.agentProviderName;
|
|
212
|
+
const model = brain?.model ?? args.resolvedModel ?? args.defaultModel;
|
|
213
|
+
return { provider, model };
|
|
214
|
+
}
|
|
215
|
+
exports.describeServingBrain = describeServingBrain;
|
|
216
|
+
//# sourceMappingURL=skillBrains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skillBrains.js","sourceRoot":"","sources":["../../../src/core/agent/skillBrains.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,12 +57,24 @@ function buildCallLLMStage(deps) {
|
|
|
57
57
|
// `scope.messagesInjections` is read by ContextRecorder for
|
|
58
58
|
// observability; the LLM-wire path now reads scope.history directly.
|
|
59
59
|
const iteration = scope.iteration;
|
|
60
|
+
// "The cursor picks the brain" (9.19.0) — ONE consult, at the top, with
|
|
61
|
+
// the advanced cursor and the escalation flag. Gated on `deps.brainFor`
|
|
62
|
+
// so an agent without brains reads no new scope key and resolves on the
|
|
63
|
+
// exact line it always did.
|
|
64
|
+
const brain = deps.brainFor
|
|
65
|
+
? deps.brainFor((scope.nextSkillCursor ?? scope.currentSkillId), scope.skillEscalated === true)
|
|
66
|
+
: undefined;
|
|
67
|
+
const provider = brain?.provider ?? deps.provider;
|
|
68
|
+
const cacheStrategy = brain?.cacheStrategy ?? deps.cacheStrategy;
|
|
60
69
|
// The model for this run. `.configure()` resolved it at seed and
|
|
61
70
|
// COMMITTED it to scope, so what gets called, what the `llm_start`
|
|
62
71
|
// event reports and what cost is priced against are all one value —
|
|
63
72
|
// the one the trace records. Without `.configure()` this is the
|
|
64
|
-
// build-time model and scope is never touched.
|
|
65
|
-
|
|
73
|
+
// build-time model and scope is never touched. A winning brain rung
|
|
74
|
+
// (9.19.0) outranks both — the stated precedence chain.
|
|
75
|
+
const model = brain?.model ??
|
|
76
|
+
(deps.runConfigured ? scope.resolvedModel : undefined) ??
|
|
77
|
+
deps.model;
|
|
66
78
|
// Per-iteration boundary marker (was a dedicated `IterationStart` stage —
|
|
67
79
|
// folded here since emitting is passive observability, not work that needs
|
|
68
80
|
// its own execution stage). Fires FIRST, before the LLM call, so recorders
|
|
@@ -105,11 +117,19 @@ function buildCallLLMStage(deps) {
|
|
|
105
117
|
: registeredToolSchemas;
|
|
106
118
|
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.llm_start', {
|
|
107
119
|
iteration,
|
|
108
|
-
provider:
|
|
120
|
+
provider: provider.name,
|
|
109
121
|
model,
|
|
110
122
|
systemPromptChars: systemPrompt.length,
|
|
111
123
|
messagesCount: messages.length,
|
|
112
124
|
toolsCount: activeToolSchemas.length,
|
|
125
|
+
// WHICH BRAIN answered (9.19.0) — stamped ONLY when a brain rung won,
|
|
126
|
+
// so configured/default runs keep byte-identical events.
|
|
127
|
+
...(brain !== undefined && {
|
|
128
|
+
brain: {
|
|
129
|
+
via: brain.via,
|
|
130
|
+
...(brain.skillId !== undefined && { skillId: brain.skillId }),
|
|
131
|
+
},
|
|
132
|
+
}),
|
|
113
133
|
...(activeToolSchemas.length > 0 && {
|
|
114
134
|
tools: activeToolSchemas.map((t) => ({
|
|
115
135
|
name: t.name,
|
|
@@ -138,7 +158,7 @@ function buildCallLLMStage(deps) {
|
|
|
138
158
|
// and populated scope.cacheMarkers accordingly. Strategy.prepareRequest
|
|
139
159
|
// is a pass-through for empty markers.
|
|
140
160
|
const cacheMarkers = scope.cacheMarkers ?? [];
|
|
141
|
-
const cachePrepared = await
|
|
161
|
+
const cachePrepared = await cacheStrategy.prepareRequest(baseRequest, cacheMarkers, {
|
|
142
162
|
iteration,
|
|
143
163
|
iterationsRemaining: Math.max(0, deps.maxIterations - iteration),
|
|
144
164
|
recentHitRate: scope.recentHitRate,
|
|
@@ -170,8 +190,8 @@ function buildCallLLMStage(deps) {
|
|
|
170
190
|
const singleProviderCall = async (req, hooks) => {
|
|
171
191
|
let resp;
|
|
172
192
|
let firstChunkFired = false;
|
|
173
|
-
if (
|
|
174
|
-
for await (const chunk of
|
|
193
|
+
if (provider.stream) {
|
|
194
|
+
for await (const chunk of provider.stream(req, providerHooks)) {
|
|
175
195
|
if (chunk.done) {
|
|
176
196
|
if (chunk.response)
|
|
177
197
|
resp = chunk.response;
|
|
@@ -185,7 +205,7 @@ function buildCallLLMStage(deps) {
|
|
|
185
205
|
// with its own marker instead of `done: true`, which is why the
|
|
186
206
|
// refusal says what the terminal chunk looks like.
|
|
187
207
|
if (typeof chunk.content !== 'string') {
|
|
188
|
-
throw new TypeError(`provider '${
|
|
208
|
+
throw new TypeError(`provider '${provider.name}' yielded a stream chunk whose \`content\` is ` +
|
|
189
209
|
`${chunk.content === undefined ? 'missing' : `a ${typeof chunk.content}`}. ` +
|
|
190
210
|
`Every chunk from LLMProvider.stream() is ` +
|
|
191
211
|
`{ tokenIndex: number, content: string, done: boolean }, and the LAST one is ` +
|
|
@@ -216,7 +236,7 @@ function buildCallLLMStage(deps) {
|
|
|
216
236
|
// those are two genuinely billed calls and collapsing them would
|
|
217
237
|
// hide real double-billing. (That this branch can re-call at all
|
|
218
238
|
// after a stream is a pre-existing quirk; see MENTAL_MODEL §14.)
|
|
219
|
-
resp = await
|
|
239
|
+
resp = await provider.complete(req, providerHooks);
|
|
220
240
|
}
|
|
221
241
|
// `'tool-forced'`: the answer arrived as the synthetic tool's ARGUMENTS,
|
|
222
242
|
// so it is moved into `content` and the call is taken off the list here,
|
|
@@ -279,7 +299,7 @@ function buildCallLLMStage(deps) {
|
|
|
279
299
|
}
|
|
280
300
|
let response;
|
|
281
301
|
if (deps.reliability) {
|
|
282
|
-
response = await (0, reliabilityExecution_js_1.executeWithReliability)(scope, llmRequest, deps.reliability,
|
|
302
|
+
response = await (0, reliabilityExecution_js_1.executeWithReliability)(scope, llmRequest, deps.reliability, provider, provider.name, model, singleProviderCall, postValidate);
|
|
283
303
|
// `executeWithReliability` returns `undefined` when it took the
|
|
284
304
|
// fail-fast path. It already wrote scope state and called
|
|
285
305
|
// `$break(reason)` — `Agent.run()` translates the propagated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callLLM.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/callLLM.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAYH,uEAAiE;AACjE,mFAA6E;AAE7E,2CAAsE;AAEtE,2DAAmF;AACnF,kEAA+D;AAC/D,uEAImC;AAGnC;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,QAA+B;IAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACzC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3C,KAAK,OAAO,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"callLLM.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/callLLM.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,12 @@ exports.makeRouteTurnStage = void 0;
|
|
|
52
52
|
const footprintjs_1 = require("footprintjs");
|
|
53
53
|
const intentScorer_js_1 = require("../../../lib/injection-engine/intentScorer.js");
|
|
54
54
|
const routingPolicy_js_1 = require("../../../lib/injection-engine/routingPolicy.js");
|
|
55
|
+
const constrainedEnumPick_js_1 = require("../../../lib/injection-engine/constrainedEnumPick.js");
|
|
55
56
|
const typedEmit_js_1 = require("../../../recorders/core/typedEmit.js");
|
|
57
|
+
/** The decider's `'stay'` sentinel — first-class on mid-conversation menus. */
|
|
58
|
+
const DECIDER_STAY = 'stay';
|
|
59
|
+
/** The decider's decline sentinel (the enum machinery's fallback). */
|
|
60
|
+
const DECIDER_NONE = 'none';
|
|
56
61
|
function makeRouteTurnStage(deps) {
|
|
57
62
|
const plan = deps.turnRouting;
|
|
58
63
|
return async (scope) => {
|
|
@@ -91,7 +96,7 @@ function makeRouteTurnStage(deps) {
|
|
|
91
96
|
'Fix the resolver passed to hiddenSkillIds.');
|
|
92
97
|
}
|
|
93
98
|
const visibleEntryIds = plan.entryIds.filter((id) => !hidden.has(id));
|
|
94
|
-
|
|
99
|
+
let verdict = await runCascade(deps, plan, ctx, inherited, hidden, visibleEntryIds, env.signal);
|
|
95
100
|
if (verdict === undefined && droppedResume === undefined) {
|
|
96
101
|
// Cold start on a continuity graph with no tier 2 at all: the resolver's
|
|
97
102
|
// cold walk decides exactly as it always has — no verdict, no event.
|
|
@@ -103,6 +108,59 @@ function makeRouteTurnStage(deps) {
|
|
|
103
108
|
scope.entryScores = verdict.scores;
|
|
104
109
|
scope.entryScorer = verdict.scorer;
|
|
105
110
|
}
|
|
111
|
+
// ── Tier-3 DECIDER (9.19.0) — the out-of-band menu resolver ────────
|
|
112
|
+
// Runs HERE, off the hot loop, only when a menu verdict is actually
|
|
113
|
+
// outstanding. A decisive pick starts the turn; 'stay' holds the
|
|
114
|
+
// incumbent; 'none'/parse-fail/throw leaves the in-band envelope
|
|
115
|
+
// standing. The consult is ALWAYS recorded on the event (`decider`),
|
|
116
|
+
// picked or not — a resolver that ran and said nothing is still a fact.
|
|
117
|
+
let deciderRecord;
|
|
118
|
+
/** Set when the decider RESOLVED the menu — the menu is then no longer
|
|
119
|
+
* outstanding, so the scope POJO carries no `offered` (the rails
|
|
120
|
+
* what-happened vs what-the-loop-may-act-on split, reused). */
|
|
121
|
+
let deciderResolved;
|
|
122
|
+
if (deps.decider !== undefined &&
|
|
123
|
+
verdict !== undefined &&
|
|
124
|
+
verdict.by === 'menu' &&
|
|
125
|
+
verdict.offered !== undefined &&
|
|
126
|
+
verdict.offered.length > 0) {
|
|
127
|
+
// The precedence chain's model rung, for the decider's own call:
|
|
128
|
+
// declared > `.configure()` resolvedModel > build-time default.
|
|
129
|
+
const deciderModel = deps.decider.model ??
|
|
130
|
+
(deps.decider.runConfigured ? scope.resolvedModel : undefined) ??
|
|
131
|
+
deps.decider.defaultModel;
|
|
132
|
+
const stayAllowed = verdict.stayOffered === true && inherited !== undefined;
|
|
133
|
+
const picked = await runDecider({
|
|
134
|
+
provider: deps.decider.provider,
|
|
135
|
+
model: deciderModel,
|
|
136
|
+
plan,
|
|
137
|
+
userMessage: ctx.userMessage,
|
|
138
|
+
offered: verdict.offered,
|
|
139
|
+
stayAllowed,
|
|
140
|
+
inherited,
|
|
141
|
+
signal: env.signal,
|
|
142
|
+
});
|
|
143
|
+
deciderRecord = {
|
|
144
|
+
provider: deps.decider.provider.name,
|
|
145
|
+
model: deciderModel,
|
|
146
|
+
...(picked !== undefined && { picked }),
|
|
147
|
+
};
|
|
148
|
+
if (picked !== undefined && picked !== DECIDER_STAY) {
|
|
149
|
+
// Decisive pick: the turn starts there. `offered` stays on the
|
|
150
|
+
// VERDICT (the event keeps the full menu); the POJO below drops it.
|
|
151
|
+
verdict = { ...verdict, by: 'decider', to: picked };
|
|
152
|
+
deciderResolved = 'move';
|
|
153
|
+
}
|
|
154
|
+
else if (picked === DECIDER_STAY) {
|
|
155
|
+
// STAY is a resolution too: the incumbent holds AND the menu closes
|
|
156
|
+
// — the scope TurnRoute carries no `offered` while the event keeps
|
|
157
|
+
// the full offered set (nice-6; guard's `menuOutstanding` then
|
|
158
|
+
// refuses late picks against a menu the decider already answered).
|
|
159
|
+
verdict = { ...verdict, by: 'continuity', to: inherited };
|
|
160
|
+
deciderResolved = 'stay';
|
|
161
|
+
}
|
|
162
|
+
// picked === undefined → the in-band envelope stands, decider recorded.
|
|
163
|
+
}
|
|
106
164
|
const policy = plan.policy;
|
|
107
165
|
const effectiveFloor = policy.floor ?? plan.scorer?.floor;
|
|
108
166
|
// Rails × menu: the model may not act on it — record the offer, act on none.
|
|
@@ -125,6 +183,7 @@ function makeRouteTurnStage(deps) {
|
|
|
125
183
|
},
|
|
126
184
|
...(verdict?.window !== undefined && { window: verdict.window }),
|
|
127
185
|
...(droppedResume !== undefined && { droppedResume }),
|
|
186
|
+
...(deciderRecord !== undefined && { decider: { ...deciderRecord } }),
|
|
128
187
|
});
|
|
129
188
|
// The POJO the LOOP acts on — the resolver's iteration-1 input, the
|
|
130
189
|
// envelope's source, the guard gate's window. Under rails a menu carries
|
|
@@ -136,13 +195,23 @@ function makeRouteTurnStage(deps) {
|
|
|
136
195
|
// untouched, or the drop would silently strand the turn on no entry.
|
|
137
196
|
if (verdict === undefined)
|
|
138
197
|
return;
|
|
198
|
+
// A decider-RESOLVED menu (move OR stay) is no longer outstanding: the
|
|
199
|
+
// POJO carries no `offered`, so the envelope composes none and `guard`'s
|
|
200
|
+
// `menuOutstanding` goes false — while the event above kept the full
|
|
201
|
+
// offered set. Same split rails ships; one more case earns it.
|
|
202
|
+
const menuStillOutstanding = deciderResolved === undefined;
|
|
139
203
|
const turnRoute = {
|
|
140
204
|
by: eventBy,
|
|
141
205
|
...(inherited !== undefined && { from: inherited }),
|
|
142
206
|
...(verdict.to !== undefined && { to: verdict.to }),
|
|
143
|
-
...(!rails && verdict.offered !== undefined && { offered: [...verdict.offered] }),
|
|
144
|
-
...(!rails && verdict.stayOffered !== undefined && { stayOffered: verdict.stayOffered }),
|
|
145
207
|
...(!rails &&
|
|
208
|
+
menuStillOutstanding &&
|
|
209
|
+
verdict.offered !== undefined && { offered: [...verdict.offered] }),
|
|
210
|
+
...(!rails &&
|
|
211
|
+
menuStillOutstanding &&
|
|
212
|
+
verdict.stayOffered !== undefined && { stayOffered: verdict.stayOffered }),
|
|
213
|
+
...(!rails &&
|
|
214
|
+
menuStillOutstanding &&
|
|
146
215
|
verdict.offered !== undefined &&
|
|
147
216
|
verdict.scores !== undefined && {
|
|
148
217
|
relevance: verdict.scores.map((s) => ({ id: s.id, relevance: s.relevance })),
|
|
@@ -296,6 +365,57 @@ function menuVerdict(offered, stayOffered, scorerName, window) {
|
|
|
296
365
|
...(window !== undefined && { window }),
|
|
297
366
|
};
|
|
298
367
|
}
|
|
368
|
+
/**
|
|
369
|
+
* The tier-3 decider's one constrained call (9.19.0). Candidates project
|
|
370
|
+
* from the offered entries' declared intents, else their descriptions —
|
|
371
|
+
* `plan.incumbentCandidate` is the one projection that already does exactly
|
|
372
|
+
* that, so ids are never fabricated. `'stay'` joins the enum only on a
|
|
373
|
+
* mid-conversation menu. Returns the picked id / `'stay'`, or `undefined`
|
|
374
|
+
* when the decider declined (`'none'`, a parse failure after the one
|
|
375
|
+
* re-ask, or a throw — dev-warned): a decider is a tier, never a
|
|
376
|
+
* correctness dependency, so the in-band envelope stands.
|
|
377
|
+
*/
|
|
378
|
+
async function runDecider(args) {
|
|
379
|
+
const lines = args.offered.map((id) => {
|
|
380
|
+
const candidate = args.plan.incumbentCandidate(id);
|
|
381
|
+
return `- ${candidate.id}: ${candidate.intent}`;
|
|
382
|
+
});
|
|
383
|
+
if (args.stayAllowed) {
|
|
384
|
+
lines.push(`- ${DECIDER_STAY}: continue the current skill '${args.inherited}'`);
|
|
385
|
+
}
|
|
386
|
+
const allowed = [...args.offered, ...(args.stayAllowed ? [DECIDER_STAY] : []), DECIDER_NONE];
|
|
387
|
+
const systemPrompt = `You route ONE user message to a skill from a fixed menu.\n` +
|
|
388
|
+
`Menu:\n${lines.join('\n')}\n\n` +
|
|
389
|
+
`Pick the single id that should handle the message. If genuinely none fits, pick ` +
|
|
390
|
+
`'${DECIDER_NONE}'. Never invent an id.`;
|
|
391
|
+
try {
|
|
392
|
+
const picked = await (0, constrainedEnumPick_js_1.constrainedEnumPick)({
|
|
393
|
+
provider: args.provider,
|
|
394
|
+
model: args.model,
|
|
395
|
+
systemPrompt,
|
|
396
|
+
messages: [{ role: 'user', content: args.userMessage }],
|
|
397
|
+
allowed,
|
|
398
|
+
fallback: DECIDER_NONE,
|
|
399
|
+
pickTool: {
|
|
400
|
+
name: 'pick_skill',
|
|
401
|
+
description: `Report which menu skill should handle the user's message ('${DECIDER_NONE}' if none).`,
|
|
402
|
+
argName: 'skill',
|
|
403
|
+
argDescription: 'The picked skill id.',
|
|
404
|
+
},
|
|
405
|
+
...(args.signal !== undefined && { signal: args.signal }),
|
|
406
|
+
});
|
|
407
|
+
return picked === DECIDER_NONE ? undefined : picked;
|
|
408
|
+
}
|
|
409
|
+
catch (err) {
|
|
410
|
+
if ((0, footprintjs_1.isDevMode)()) {
|
|
411
|
+
// eslint-disable-next-line no-console
|
|
412
|
+
console.warn(`agentfootprint RouteTurn: the routing decider threw — the menu stands and the ` +
|
|
413
|
+
`in-band envelope resolves it (recorded: turn_routed.decider with no pick). ` +
|
|
414
|
+
`${err instanceof Error ? err.message : String(err)}`);
|
|
415
|
+
}
|
|
416
|
+
return undefined;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
299
419
|
/** The prior conversational turns a windowed scorer sees — user/assistant
|
|
300
420
|
* roles only, the CURRENT user message excluded, newest last. */
|
|
301
421
|
function recentTurnsOf(history, window) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeTurn.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/routeTurn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routeTurn.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/routeTurn.ts"],"names":[],"mappings":"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"}
|
|
@@ -266,6 +266,15 @@ function seedFrom(scope, message, deps) {
|
|
|
266
266
|
scope.stepPointer = [];
|
|
267
267
|
scope.stepNudgeSpent = false;
|
|
268
268
|
}
|
|
269
|
+
// Escalation state (9.19.0) — fresh every run: the refusal budget is a
|
|
270
|
+
// per-turn budget and DE-escalation is this very reset (the flip never
|
|
271
|
+
// outlives the turn that earned it). Written only when an escalation
|
|
272
|
+
// brain is declared, so every other agent commits exactly the keys it
|
|
273
|
+
// always did.
|
|
274
|
+
if (deps.hasEscalation === true) {
|
|
275
|
+
scope.skillRefusalsThisTurn = 0;
|
|
276
|
+
scope.skillEscalated = false;
|
|
277
|
+
}
|
|
269
278
|
// `.configure()` — resolved ONCE here (seed runs exactly once per run)
|
|
270
279
|
// and written to scope, which means the run's commit log records the
|
|
271
280
|
// model and instructions the run actually used. A run that changed its
|