agentfootprint 9.55.0 → 9.57.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 +8 -1
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/dist/cache/CacheDecisionSubflow.js +2 -1
- package/dist/cache/CacheDecisionSubflow.js.map +1 -1
- package/dist/conventions.js +16 -0
- package/dist/conventions.js.map +1 -1
- package/dist/core/Agent.js +43 -1
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +12 -0
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +17 -0
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/stages/callLLM.js +20 -2
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/prepareFinal.js +15 -0
- package/dist/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/core/agent/stages/route.js +168 -27
- package/dist/core/agent/stages/route.js.map +1 -1
- package/dist/core/agent/stages/window.js +75 -3
- package/dist/core/agent/stages/window.js.map +1 -1
- package/dist/core/agent/stages/wrapUp.js +101 -0
- package/dist/core/agent/stages/wrapUp.js.map +1 -0
- package/dist/core/agent/window/index.js.map +1 -1
- package/dist/core/agent/window/lastToolResult.js +123 -0
- package/dist/core/agent/window/lastToolResult.js.map +1 -0
- package/dist/core/agent/window/notice.js +58 -6
- package/dist/core/agent/window/notice.js.map +1 -1
- package/dist/core/agent/window/options.js +31 -1
- package/dist/core/agent/window/options.js.map +1 -1
- package/dist/core/agent/window/strategies/drop.js +73 -17
- package/dist/core/agent/window/strategies/drop.js.map +1 -1
- package/dist/core/agent/window/toolNames.js +81 -0
- package/dist/core/agent/window/toolNames.js.map +1 -0
- package/dist/core/agent/window/turns.js +50 -2
- package/dist/core/agent/window/turns.js.map +1 -1
- package/dist/esm/cache/CacheDecisionSubflow.js +2 -1
- package/dist/esm/cache/CacheDecisionSubflow.js.map +1 -1
- package/dist/esm/conventions.d.ts +8 -0
- package/dist/esm/conventions.js +16 -0
- package/dist/esm/conventions.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +6 -0
- package/dist/esm/core/Agent.js +43 -1
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +14 -0
- package/dist/esm/core/agent/buildAgentChart.js +12 -0
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +17 -0
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/stages/callLLM.js +20 -2
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/prepareFinal.js +15 -0
- package/dist/esm/core/agent/stages/prepareFinal.js.map +1 -1
- package/dist/esm/core/agent/stages/route.d.ts +8 -2
- package/dist/esm/core/agent/stages/route.js +168 -26
- package/dist/esm/core/agent/stages/route.js.map +1 -1
- package/dist/esm/core/agent/stages/window.d.ts +10 -0
- package/dist/esm/core/agent/stages/window.js +75 -3
- package/dist/esm/core/agent/stages/window.js.map +1 -1
- package/dist/esm/core/agent/stages/wrapUp.d.ts +64 -0
- package/dist/esm/core/agent/stages/wrapUp.js +97 -0
- package/dist/esm/core/agent/stages/wrapUp.js.map +1 -0
- package/dist/esm/core/agent/types.d.ts +116 -0
- package/dist/esm/core/agent/window/index.d.ts +1 -1
- package/dist/esm/core/agent/window/index.js.map +1 -1
- package/dist/esm/core/agent/window/lastToolResult.d.ts +96 -0
- package/dist/esm/core/agent/window/lastToolResult.js +119 -0
- package/dist/esm/core/agent/window/lastToolResult.js.map +1 -0
- package/dist/esm/core/agent/window/notice.d.ts +14 -4
- package/dist/esm/core/agent/window/notice.js +58 -6
- package/dist/esm/core/agent/window/notice.js.map +1 -1
- package/dist/esm/core/agent/window/options.d.ts +21 -0
- package/dist/esm/core/agent/window/options.js +29 -0
- package/dist/esm/core/agent/window/options.js.map +1 -1
- package/dist/esm/core/agent/window/strategies/drop.d.ts +20 -0
- package/dist/esm/core/agent/window/strategies/drop.js +73 -17
- package/dist/esm/core/agent/window/strategies/drop.js.map +1 -1
- package/dist/esm/core/agent/window/toolNames.d.ts +53 -0
- package/dist/esm/core/agent/window/toolNames.js +76 -0
- package/dist/esm/core/agent/window/toolNames.js.map +1 -0
- package/dist/esm/core/agent/window/turns.d.ts +23 -1
- package/dist/esm/core/agent/window/turns.js +50 -2
- package/dist/esm/core/agent/window/turns.js.map +1 -1
- package/dist/esm/core/agent/window/types.d.ts +84 -0
- package/dist/esm/events/payloads.d.ts +67 -3
- package/dist/esm/events/registry.d.ts +3 -1
- package/dist/esm/events/registry.js +2 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js +12 -1
- package/dist/esm/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/esm/lib/injection-engine/evaluator.js +31 -6
- package/dist/esm/lib/injection-engine/evaluator.js.map +1 -1
- package/dist/esm/lib/injection-engine/factories/defineInstruction.d.ts +45 -3
- package/dist/esm/lib/injection-engine/factories/defineInstruction.js +38 -4
- package/dist/esm/lib/injection-engine/factories/defineInstruction.js.map +1 -1
- package/dist/esm/lib/injection-engine/promptTemplate.d.ts +76 -0
- package/dist/esm/lib/injection-engine/promptTemplate.js +124 -0
- package/dist/esm/lib/injection-engine/promptTemplate.js.map +1 -0
- package/dist/esm/lib/injection-engine/types.d.ts +60 -3
- package/dist/esm/lib/injection-engine/types.js +25 -3
- package/dist/esm/lib/injection-engine/types.js.map +1 -1
- package/dist/esm/lib/iterationBudget.d.ts +28 -0
- package/dist/esm/lib/iterationBudget.js +31 -0
- package/dist/esm/lib/iterationBudget.js.map +1 -0
- package/dist/events/registry.js +2 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js +12 -1
- package/dist/lib/injection-engine/buildInjectionEngineSubflow.js.map +1 -1
- package/dist/lib/injection-engine/evaluator.js +31 -6
- package/dist/lib/injection-engine/evaluator.js.map +1 -1
- package/dist/lib/injection-engine/factories/defineInstruction.js +38 -4
- package/dist/lib/injection-engine/factories/defineInstruction.js.map +1 -1
- package/dist/lib/injection-engine/promptTemplate.js +132 -0
- package/dist/lib/injection-engine/promptTemplate.js.map +1 -0
- package/dist/lib/injection-engine/types.js +25 -3
- package/dist/lib/injection-engine/types.js.map +1 -1
- package/dist/lib/iterationBudget.js +35 -0
- package/dist/lib/iterationBudget.js.map +1 -0
- package/dist/types/cache/CacheDecisionSubflow.d.ts.map +1 -1
- package/dist/types/conventions.d.ts +8 -0
- package/dist/types/conventions.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +6 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +14 -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/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/prepareFinal.d.ts.map +1 -1
- package/dist/types/core/agent/stages/route.d.ts +8 -2
- package/dist/types/core/agent/stages/route.d.ts.map +1 -1
- package/dist/types/core/agent/stages/window.d.ts +10 -0
- package/dist/types/core/agent/stages/window.d.ts.map +1 -1
- package/dist/types/core/agent/stages/wrapUp.d.ts +65 -0
- package/dist/types/core/agent/stages/wrapUp.d.ts.map +1 -0
- package/dist/types/core/agent/types.d.ts +116 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/agent/window/index.d.ts +1 -1
- package/dist/types/core/agent/window/index.d.ts.map +1 -1
- package/dist/types/core/agent/window/lastToolResult.d.ts +97 -0
- package/dist/types/core/agent/window/lastToolResult.d.ts.map +1 -0
- package/dist/types/core/agent/window/notice.d.ts +14 -4
- package/dist/types/core/agent/window/notice.d.ts.map +1 -1
- package/dist/types/core/agent/window/options.d.ts +21 -0
- package/dist/types/core/agent/window/options.d.ts.map +1 -1
- package/dist/types/core/agent/window/strategies/drop.d.ts +20 -0
- package/dist/types/core/agent/window/strategies/drop.d.ts.map +1 -1
- package/dist/types/core/agent/window/toolNames.d.ts +54 -0
- package/dist/types/core/agent/window/toolNames.d.ts.map +1 -0
- package/dist/types/core/agent/window/turns.d.ts +23 -1
- package/dist/types/core/agent/window/turns.d.ts.map +1 -1
- package/dist/types/core/agent/window/types.d.ts +84 -0
- package/dist/types/core/agent/window/types.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +67 -3
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +3 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- 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/evaluator.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/factories/defineInstruction.d.ts +45 -3
- package/dist/types/lib/injection-engine/factories/defineInstruction.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/promptTemplate.d.ts +77 -0
- package/dist/types/lib/injection-engine/promptTemplate.d.ts.map +1 -0
- package/dist/types/lib/injection-engine/types.d.ts +60 -3
- package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
- package/dist/types/lib/iterationBudget.d.ts +29 -0
- package/dist/types/lib/iterationBudget.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -39,7 +39,15 @@ function decideBranch(scope) {
|
|
|
39
39
|
// A limit only CUT SHORT a turn if the model still wanted to do something.
|
|
40
40
|
// A turn that ended because the model was done is not an early stop, however
|
|
41
41
|
// many iterations it spent getting there.
|
|
42
|
-
|
|
42
|
+
//
|
|
43
|
+
// 9.56.0 — with ONE addition: a turn that already spent its wrap-up is cut
|
|
44
|
+
// short for every judge downstream, whether or not this last answer still
|
|
45
|
+
// asked for tools. The budget that forced the wrap-up has not come back, and
|
|
46
|
+
// the wrap-up call is the last one this turn buys — a step nudge or an
|
|
47
|
+
// evidence revision here would loop past a limit that already fired. (It
|
|
48
|
+
// does not double-record: `settleWrapUp` sees the latch first and corrects
|
|
49
|
+
// the existing record instead of writing a second one.)
|
|
50
|
+
const earlyStop = chosen === 'final' && (toolCalls.length > 0 || scope.wrapUpAsked === true)
|
|
43
51
|
? outOfIterations
|
|
44
52
|
? 'max-iterations'
|
|
45
53
|
: costHalt
|
|
@@ -89,7 +97,10 @@ function decideBranch(scope) {
|
|
|
89
97
|
* is sometimes a real one (a model can return content AND tool calls). Raising
|
|
90
98
|
* would reject good answers to fix a bad one.
|
|
91
99
|
*/
|
|
92
|
-
function recordEarlyStop(scope, reason
|
|
100
|
+
function recordEarlyStop(scope, reason,
|
|
101
|
+
/** True when the WrapUp branch is about to run, so the answer the caller
|
|
102
|
+
* receives is not the one being measured here yet (9.56.0). */
|
|
103
|
+
wrapUp) {
|
|
93
104
|
const toolCalls = scope.llmLatestToolCalls;
|
|
94
105
|
const iteration = scope.iteration;
|
|
95
106
|
const answerWasEmpty = (scope.llmLatestContent ?? '') === '';
|
|
@@ -107,7 +118,29 @@ function recordEarlyStop(scope, reason) {
|
|
|
107
118
|
action: 'abort',
|
|
108
119
|
});
|
|
109
120
|
}
|
|
110
|
-
|
|
121
|
+
// 9.56.0 — a FOURTH channel, and the one a dashboard reads. `limit_hit`
|
|
122
|
+
// reports a limit being crossed and has to stay exactly that (it is the
|
|
123
|
+
// reserved cost vocabulary, and a cost budget fires its own). This one
|
|
124
|
+
// reports what the run DID about the crossing, which is the difference
|
|
125
|
+
// between an outcome chip that says "answered" and one that says "answered
|
|
126
|
+
// after the budget ran out". Emitted for BOTH limits: the fact is true
|
|
127
|
+
// either way, and only `action` differs.
|
|
128
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.budget_exhausted', {
|
|
129
|
+
reason,
|
|
130
|
+
iteration,
|
|
131
|
+
// `limit` only where the run actually HOLDS the limit. For a cost budget it
|
|
132
|
+
// holds the cumulative spend instead, and reporting spend as a limit is the
|
|
133
|
+
// exact mistake the `cost.limit_hit` comment above exists to avoid.
|
|
134
|
+
...(reason === 'max-iterations' && { limit: scope.maxIterations }),
|
|
135
|
+
pendingToolCalls: toolCalls.length,
|
|
136
|
+
action: wrapUp ? 'wrapped-up' : 'cut-short',
|
|
137
|
+
});
|
|
138
|
+
// Held back when a wrap-up is about to run: the answer this warning is
|
|
139
|
+
// about does not exist yet, and warning about a string that is being
|
|
140
|
+
// replaced would be the library complaining about its own draft.
|
|
141
|
+
// `settleWrapUp` warns on the pass after, if the wrap-up came back empty
|
|
142
|
+
// too.
|
|
143
|
+
if (answerWasEmpty && !wrapUp) {
|
|
111
144
|
// eslint-disable-next-line no-console
|
|
112
145
|
console.warn(`[agentfootprint] this turn stopped at iteration ${iteration} because ` +
|
|
113
146
|
`${reason === 'max-iterations' ? 'maxIterations was reached' : 'costBudget was reached'}, ` +
|
|
@@ -117,6 +150,66 @@ function recordEarlyStop(scope, reason) {
|
|
|
117
150
|
`show.`);
|
|
118
151
|
}
|
|
119
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Is this would-be-final turn going to be WRAPPED UP instead (9.56.0)?
|
|
155
|
+
*
|
|
156
|
+
* Pure, so the four deciders can announce the branch they are really taking
|
|
157
|
+
* before anything is recorded — the ordering every one of them already has
|
|
158
|
+
* (`route_decided`, then the early-stop record).
|
|
159
|
+
*
|
|
160
|
+
* Only the ITERATION budget is wrapped up. A halting `costBudget` capped the
|
|
161
|
+
* MONEY, and one more call would spend past the cap the person set; an action
|
|
162
|
+
* cap says nothing about a call that takes no action. `wrapUpAsked` is the
|
|
163
|
+
* one-per-turn latch: the wrap-up call itself can never buy a second one.
|
|
164
|
+
*/
|
|
165
|
+
function wantsWrapUp(scope, earlyStop, hasWrapUp) {
|
|
166
|
+
return hasWrapUp && earlyStop === 'max-iterations' && scope.wrapUpAsked !== true;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* File what a limit did to this turn (9.56.0) — called at every moment the
|
|
170
|
+
* four deciders answer `'final'` or `'wrap-up'`. Three outcomes:
|
|
171
|
+
*
|
|
172
|
+
* • the wrap-up already ran → its answer IS the turn's answer: correct the
|
|
173
|
+
* committed record to describe that string (not the fragment it replaced),
|
|
174
|
+
* mark it `wrappedUp`, and warn only if even the wrap-up came back empty.
|
|
175
|
+
* Never a second `limit_hit`, never a second `budget_exhausted` — one
|
|
176
|
+
* crossing, one report;
|
|
177
|
+
* • a limit just fired → today's `recordEarlyStop`, told whether a wrap-up
|
|
178
|
+
* is about to run (which holds back the empty-answer warning, since the
|
|
179
|
+
* answer it is about does not exist yet);
|
|
180
|
+
* • neither → nothing, after one `undefined` check.
|
|
181
|
+
*/
|
|
182
|
+
function settleWrapUp(scope, earlyStop, wrapUp) {
|
|
183
|
+
if (scope.wrapUpAsked === true) {
|
|
184
|
+
const cut = scope.stoppedEarly;
|
|
185
|
+
// Unreachable through the decider (the branch only runs after the record
|
|
186
|
+
// is written), but a hand-built chart mounting the branch without the
|
|
187
|
+
// decider must not take down a run — the SchemaRetry discipline.
|
|
188
|
+
if (cut === undefined)
|
|
189
|
+
return;
|
|
190
|
+
const answer = scope.llmLatestContent ?? '';
|
|
191
|
+
scope.stoppedEarly = { ...cut, answerWasEmpty: answer === '', wrappedUp: true };
|
|
192
|
+
if (answer === '') {
|
|
193
|
+
// eslint-disable-next-line no-console
|
|
194
|
+
console.warn(`[agentfootprint] this turn stopped at iteration ${cut.iteration} because ` +
|
|
195
|
+
`maxIterations was reached, while the model was still asking for ` +
|
|
196
|
+
`${cut.pendingToolCalls} tool call(s). One more call went out with the tools ` +
|
|
197
|
+
`withheld, asking for a final summary, and it came back EMPTY — so the answer ` +
|
|
198
|
+
`handed back is still the empty string. Raise the limit, or read ` +
|
|
199
|
+
`agent.stoppedEarly() and decide what to show.`);
|
|
200
|
+
}
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
if (earlyStop === undefined)
|
|
204
|
+
return;
|
|
205
|
+
recordEarlyStop(scope, earlyStop, wrapUp);
|
|
206
|
+
}
|
|
207
|
+
/** The `route_decided` rationale for a wrap-up. */
|
|
208
|
+
function wrapUpRationale(scope) {
|
|
209
|
+
const pending = scope.llmLatestToolCalls.length;
|
|
210
|
+
return (`maxIterations reached with ${pending} tool call(s) still pending — asking once more ` +
|
|
211
|
+
`with the tools withheld, so the turn ends with a summary instead of a fragment`);
|
|
212
|
+
}
|
|
120
213
|
function emitRouteDecided(scope, chosen, rationale) {
|
|
121
214
|
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.route_decided', {
|
|
122
215
|
turnIndex: 0,
|
|
@@ -299,14 +392,33 @@ function stepNudgeRationale(scope) {
|
|
|
299
392
|
return (`final answer left ${remaining} declared step(s) of '${ptr.skillId}' unrun — ` +
|
|
300
393
|
`one teaching nudge goes back (at most once per turn)`);
|
|
301
394
|
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
395
|
+
/**
|
|
396
|
+
* The decider every plain agent runs: decide, announce, file whatever a limit
|
|
397
|
+
* did. `hasWrapUp` is the ONE build-time fact it needs — a decider may never
|
|
398
|
+
* name a branch the chart did not mount.
|
|
399
|
+
*/
|
|
400
|
+
function buildSimpleDecider(hasWrapUp) {
|
|
401
|
+
return (scope) => {
|
|
402
|
+
const { chosen, rationale, earlyStop } = decideBranch(scope);
|
|
403
|
+
// ── The out-of-budget wrap-up (9.56.0) ─────────────────────────────
|
|
404
|
+
// FIRST, and before the output chain or any judge: a fragment the loop is
|
|
405
|
+
// about to replace is not the final answer, so it is not middlewared, not
|
|
406
|
+
// schema-judged and not grounded — the step nudge's reasoning, one branch
|
|
407
|
+
// over. `false` for hasWrapUp short-circuits here in one comparison.
|
|
408
|
+
if (chosen === 'final' && wantsWrapUp(scope, earlyStop, hasWrapUp)) {
|
|
409
|
+
emitRouteDecided(scope, 'wrap-up', wrapUpRationale(scope));
|
|
410
|
+
settleWrapUp(scope, earlyStop, true);
|
|
411
|
+
return 'wrap-up';
|
|
412
|
+
}
|
|
413
|
+
emitRouteDecided(scope, chosen, rationale);
|
|
414
|
+
if (chosen === 'final')
|
|
415
|
+
settleWrapUp(scope, earlyStop, false);
|
|
416
|
+
return chosen;
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
/** The wrap-up-less decider, kept as a module constant because it is the exact
|
|
420
|
+
* function reference every pre-9.56.0 chart was handed. */
|
|
421
|
+
exports.routeDeciderStage = buildSimpleDecider(false);
|
|
310
422
|
/**
|
|
311
423
|
* Build the Route decider, optionally carrying the `'output'` half of the
|
|
312
424
|
* message chain.
|
|
@@ -349,20 +461,34 @@ exports.routeDeciderStage = routeDeciderStage;
|
|
|
349
461
|
* never judged or retried: it was withheld on purpose, and re-asking for it
|
|
350
462
|
* would be the library working around a rule the app wrote.
|
|
351
463
|
*/
|
|
352
|
-
function buildRouteDeciderStage(messageMiddleware, enforcement, stepPlanFor, evidence
|
|
464
|
+
function buildRouteDeciderStage(messageMiddleware, enforcement, stepPlanFor, evidence,
|
|
465
|
+
/** Whether the chart mounted the WrapUp branch (9.56.0). A decider may never
|
|
466
|
+
* name a branch that does not exist, so this is build-time knowledge, not a
|
|
467
|
+
* scope read. `false` reproduces every earlier release exactly. */
|
|
468
|
+
hasWrapUp = false) {
|
|
353
469
|
const chain = messageMiddleware ?? [];
|
|
354
470
|
if (chain.length === 0 &&
|
|
355
471
|
enforcement === undefined &&
|
|
356
472
|
stepPlanFor === undefined &&
|
|
357
473
|
evidence === undefined) {
|
|
358
|
-
return exports.routeDeciderStage;
|
|
474
|
+
return hasWrapUp ? buildSimpleDecider(true) : exports.routeDeciderStage;
|
|
359
475
|
}
|
|
360
476
|
if (enforcement !== undefined)
|
|
361
|
-
return buildEnforcingDecider(chain, enforcement, stepPlanFor, evidence);
|
|
477
|
+
return buildEnforcingDecider(chain, enforcement, stepPlanFor, evidence, hasWrapUp);
|
|
362
478
|
if (stepPlanFor !== undefined || evidence !== undefined)
|
|
363
|
-
return buildJudgingDecider(chain, stepPlanFor, evidence);
|
|
479
|
+
return buildJudgingDecider(chain, stepPlanFor, evidence, hasWrapUp);
|
|
364
480
|
return async (scope) => {
|
|
365
481
|
const { chosen, rationale, earlyStop } = decideBranch(scope);
|
|
482
|
+
// ── The out-of-budget wrap-up (9.56.0) ─────────────────────────────
|
|
483
|
+
// FIRST, and before the output chain or any judge: a fragment the loop is
|
|
484
|
+
// about to replace is not the final answer, so it is not middlewared, not
|
|
485
|
+
// schema-judged and not grounded — the step nudge's reasoning, one branch
|
|
486
|
+
// over. `false` for hasWrapUp short-circuits here in one comparison.
|
|
487
|
+
if (chosen === 'final' && wantsWrapUp(scope, earlyStop, hasWrapUp)) {
|
|
488
|
+
emitRouteDecided(scope, 'wrap-up', wrapUpRationale(scope));
|
|
489
|
+
settleWrapUp(scope, earlyStop, true);
|
|
490
|
+
return 'wrap-up';
|
|
491
|
+
}
|
|
366
492
|
emitRouteDecided(scope, chosen, rationale);
|
|
367
493
|
if (chosen !== 'final')
|
|
368
494
|
return chosen;
|
|
@@ -388,8 +514,7 @@ function buildRouteDeciderStage(messageMiddleware, enforcement, stepPlanFor, evi
|
|
|
388
514
|
scope.llmLatestContent = verdict.content;
|
|
389
515
|
// AFTER the chain: `answerWasEmpty` has to be judged on the string the
|
|
390
516
|
// caller will actually receive, and the chain may have rewritten it.
|
|
391
|
-
|
|
392
|
-
recordEarlyStop(scope, earlyStop);
|
|
517
|
+
settleWrapUp(scope, earlyStop, false);
|
|
393
518
|
return chosen;
|
|
394
519
|
};
|
|
395
520
|
}
|
|
@@ -407,13 +532,23 @@ exports.buildRouteDeciderStage = buildRouteDeciderStage;
|
|
|
407
532
|
* Only agents that asked for one of those two receive this function —
|
|
408
533
|
* everyone else keeps the exact decider (and event timing) they always had.
|
|
409
534
|
*/
|
|
410
|
-
function buildJudgingDecider(chain, stepPlanFor, evidence) {
|
|
535
|
+
function buildJudgingDecider(chain, stepPlanFor, evidence, hasWrapUp) {
|
|
411
536
|
return async (scope) => {
|
|
412
537
|
const { chosen, rationale, earlyStop } = decideBranch(scope);
|
|
413
538
|
if (chosen !== 'final') {
|
|
414
539
|
emitRouteDecided(scope, chosen, rationale);
|
|
415
540
|
return chosen;
|
|
416
541
|
}
|
|
542
|
+
// ── The out-of-budget wrap-up (9.56.0) ─────────────────────────────
|
|
543
|
+
// FIRST, and before the output chain or any judge: a fragment the loop is
|
|
544
|
+
// about to replace is not the final answer, so it is not middlewared, not
|
|
545
|
+
// schema-judged and not grounded — the step nudge's reasoning, one branch
|
|
546
|
+
// over. `false` for hasWrapUp short-circuits here in one comparison.
|
|
547
|
+
if (wantsWrapUp(scope, earlyStop, hasWrapUp)) {
|
|
548
|
+
emitRouteDecided(scope, 'wrap-up', wrapUpRationale(scope));
|
|
549
|
+
settleWrapUp(scope, earlyStop, true);
|
|
550
|
+
return 'wrap-up';
|
|
551
|
+
}
|
|
417
552
|
let denied = false;
|
|
418
553
|
if (chain.length > 0) {
|
|
419
554
|
const verdict = await (0, runChain_js_1.runMessageChain)(chain, {
|
|
@@ -443,8 +578,7 @@ function buildJudgingDecider(chain, stepPlanFor, evidence) {
|
|
|
443
578
|
return 'evidence-recheck';
|
|
444
579
|
}
|
|
445
580
|
emitRouteDecided(scope, 'final', rationale);
|
|
446
|
-
|
|
447
|
-
recordEarlyStop(scope, earlyStop);
|
|
581
|
+
settleWrapUp(scope, earlyStop, false);
|
|
448
582
|
return 'final';
|
|
449
583
|
};
|
|
450
584
|
}
|
|
@@ -454,13 +588,23 @@ function buildJudgingDecider(chain, stepPlanFor, evidence) {
|
|
|
454
588
|
* announce the branch — so `route_decided` names the branch the run actually
|
|
455
589
|
* took rather than the one it was heading for.
|
|
456
590
|
*/
|
|
457
|
-
function buildEnforcingDecider(chain, enforcement, stepPlanFor, evidence) {
|
|
591
|
+
function buildEnforcingDecider(chain, enforcement, stepPlanFor, evidence, hasWrapUp) {
|
|
458
592
|
return async (scope) => {
|
|
459
593
|
const base = decideBranch(scope);
|
|
460
594
|
if (base.chosen !== 'final') {
|
|
461
595
|
emitRouteDecided(scope, base.chosen, base.rationale);
|
|
462
596
|
return base.chosen;
|
|
463
597
|
}
|
|
598
|
+
// ── The out-of-budget wrap-up (9.56.0) ─────────────────────────────
|
|
599
|
+
// FIRST, and before the output chain or any judge: a fragment the loop is
|
|
600
|
+
// about to replace is not the final answer, so it is not middlewared, not
|
|
601
|
+
// schema-judged and not grounded — the step nudge's reasoning, one branch
|
|
602
|
+
// over. `false` for hasWrapUp short-circuits here in one comparison.
|
|
603
|
+
if (wantsWrapUp(scope, base.earlyStop, hasWrapUp)) {
|
|
604
|
+
emitRouteDecided(scope, 'wrap-up', wrapUpRationale(scope));
|
|
605
|
+
settleWrapUp(scope, base.earlyStop, true);
|
|
606
|
+
return 'wrap-up';
|
|
607
|
+
}
|
|
464
608
|
let denied = false;
|
|
465
609
|
// Who, if anyone, rewrote the answer on its way out — and whether the
|
|
466
610
|
// answer they rewrote was already good. See `brokenBy` below.
|
|
@@ -494,8 +638,7 @@ function buildEnforcingDecider(chain, enforcement, stepPlanFor, evidence) {
|
|
|
494
638
|
// of it would be the library routing around that decision.
|
|
495
639
|
if (denied) {
|
|
496
640
|
emitRouteDecided(scope, 'final', base.rationale);
|
|
497
|
-
|
|
498
|
-
recordEarlyStop(scope, base.earlyStop);
|
|
641
|
+
settleWrapUp(scope, base.earlyStop, false);
|
|
499
642
|
return 'final';
|
|
500
643
|
}
|
|
501
644
|
const attempt = (scope.outputAttempts?.length ?? 0) + 1;
|
|
@@ -520,8 +663,7 @@ function buildEnforcingDecider(chain, enforcement, stepPlanFor, evidence) {
|
|
|
520
663
|
return 'evidence-recheck';
|
|
521
664
|
}
|
|
522
665
|
emitRouteDecided(scope, 'final', base.rationale);
|
|
523
|
-
|
|
524
|
-
recordEarlyStop(scope, base.earlyStop);
|
|
666
|
+
settleWrapUp(scope, base.earlyStop, false);
|
|
525
667
|
return 'final';
|
|
526
668
|
}
|
|
527
669
|
// Did the OUTPUT CHAIN break an answer the model got right? (8.18.0)
|
|
@@ -585,8 +727,7 @@ function buildEnforcingDecider(chain, enforcement, stepPlanFor, evidence) {
|
|
|
585
727
|
`rewrote it (${failure.stage}) — not re-asked, because the model's answer was fine`
|
|
586
728
|
: `final answer failed the output schema (${failure.stage}) and ` +
|
|
587
729
|
`${enforcement.retries} retry/retries were spent`);
|
|
588
|
-
|
|
589
|
-
recordEarlyStop(scope, base.earlyStop);
|
|
730
|
+
settleWrapUp(scope, base.earlyStop, false);
|
|
590
731
|
return 'final';
|
|
591
732
|
};
|
|
592
733
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/route.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/route.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,8 +51,33 @@ const typedEmit_js_1 = require("../../../recorders/core/typedEmit.js");
|
|
|
51
51
|
const helpers_js_1 = require("../../slots/helpers.js");
|
|
52
52
|
const cost_js_1 = require("../../cost.js");
|
|
53
53
|
const currentRequest_js_1 = require("../window/currentRequest.js");
|
|
54
|
+
const lastToolResult_js_1 = require("../window/lastToolResult.js");
|
|
55
|
+
const options_js_1 = require("../window/options.js");
|
|
54
56
|
const removal_js_1 = require("../window/removal.js");
|
|
55
57
|
const turns_js_1 = require("../window/turns.js");
|
|
58
|
+
const toolNames_js_1 = require("../window/toolNames.js");
|
|
59
|
+
/**
|
|
60
|
+
* True when the pin is PROVABLY what is stopping the window from shrinking:
|
|
61
|
+
* the two most recent visits both removed nothing AND both named
|
|
62
|
+
* `'last-tool-result'`.
|
|
63
|
+
*
|
|
64
|
+
* Two, not one: a single blocked boundary is ordinary (the next tool result
|
|
65
|
+
* arrives and the pin moves). Two in a row with the pin named in both is
|
|
66
|
+
* non-progress, and the pin releases for one visit rather than let a window
|
|
67
|
+
* grow without bound — which is reachable under `summarizeOldest`, where a
|
|
68
|
+
* lone existing summary sitting in front of a pinned turn short-circuits the
|
|
69
|
+
* whole plan to "remove nothing" for ever.
|
|
70
|
+
*
|
|
71
|
+
* Deliberately a release-under-PROVEN-NON-PROGRESS rule and not a
|
|
72
|
+
* release-under-budget-pressure one: budget pressure peaks exactly when the
|
|
73
|
+
* model is most likely to fabricate, which is the worst moment to throw its
|
|
74
|
+
* evidence away.
|
|
75
|
+
*/
|
|
76
|
+
function pinIsBlocking(records) {
|
|
77
|
+
const recent = records.slice(-2);
|
|
78
|
+
return (recent.length === 2 &&
|
|
79
|
+
recent.every((r) => r.removedMessageCount === 0 && r.refusals.some((f) => f.reason === 'last-tool-result')));
|
|
80
|
+
}
|
|
56
81
|
/** Build the window stage. */
|
|
57
82
|
function buildWindowStage(deps) {
|
|
58
83
|
const { strategy, meter } = deps;
|
|
@@ -87,18 +112,38 @@ function buildWindowStage(deps) {
|
|
|
87
112
|
`being managed. Use a provider that reports usage, or remove the window strategy.`);
|
|
88
113
|
}
|
|
89
114
|
const origins = meter.origins();
|
|
115
|
+
// Read once, used twice: the append below, and the pin's stand-down check
|
|
116
|
+
// (9.57.0). One tracked read of the same key either way.
|
|
117
|
+
const priorRecords = scope.compactions ?? [];
|
|
90
118
|
const pausedToolCallId = scope.pausedToolCallId;
|
|
91
119
|
// The one message this run is executing (9.55.0). `scope.userMessage` is
|
|
92
120
|
// what the seed stage committed, so the match is against the run's own
|
|
93
121
|
// copy rather than a guess from position — see window/currentRequest.ts
|
|
94
122
|
// for what happens when the window was seeded from somewhere else.
|
|
95
123
|
const currentRequestIndex = (0, currentRequest_js_1.currentRequestIndexOf)(history, scope.userMessage);
|
|
124
|
+
// The last-tool-result pin (9.57.0). Candidates are resolved here, in the
|
|
125
|
+
// stage, for the same reason the anchor is: this is the one place holding
|
|
126
|
+
// the window, the anchor and the run's own state together. The CEILING is
|
|
127
|
+
// spent inside `planRemoval`, where the keep window is known — a pin that
|
|
128
|
+
// is already safe must not spend a slot.
|
|
129
|
+
const limit = deps.keepLastToolResults === false
|
|
130
|
+
? 0
|
|
131
|
+
: deps.keepLastToolResults ?? options_js_1.DEFAULT_KEEP_LAST_TOOL_RESULTS;
|
|
132
|
+
const standDown = limit > 0 && pinIsBlocking(priorRecords);
|
|
133
|
+
const pins = limit > 0 && !standDown ? (0, lastToolResult_js_1.toolResultPinsOf)(turns, history, currentRequestIndex) : [];
|
|
96
134
|
const guards = {
|
|
97
135
|
answeredCallIds: (0, turns_js_1.answeredCallIds)(history),
|
|
98
136
|
...(currentRequestIndex >= 0 && { currentRequestIndex }),
|
|
99
137
|
...(pausedToolCallId !== undefined && { pausedToolCallId }),
|
|
100
138
|
...(scope.pausedCheckIn === true && { pausedCheckIn: true }),
|
|
139
|
+
// Value-conditional: with no pinnable result the guards are the exact
|
|
140
|
+
// object this stage has always built.
|
|
141
|
+
...(pins.length > 0 && { toolResultPins: pins, keepLastToolResults: limit }),
|
|
101
142
|
};
|
|
143
|
+
// What the pin actually did, captured off the plan the strategy asked
|
|
144
|
+
// for. A strategy may ask more than once; the last answer is the one that
|
|
145
|
+
// decided the window.
|
|
146
|
+
let observed;
|
|
102
147
|
const result = await strategy.plan({
|
|
103
148
|
history,
|
|
104
149
|
turns,
|
|
@@ -113,7 +158,12 @@ function buildWindowStage(deps) {
|
|
|
113
158
|
now,
|
|
114
159
|
// The refusal engine, bound. A strategy cannot skip it: it never
|
|
115
160
|
// receives the guards, only the answer.
|
|
116
|
-
planRemoval: (keepRecentTurns, isExistingSummary) =>
|
|
161
|
+
planRemoval: (keepRecentTurns, isExistingSummary) => {
|
|
162
|
+
const plan = (0, turns_js_1.planRemoval)(turns, keepRecentTurns, guards, isExistingSummary);
|
|
163
|
+
if (plan.observations !== undefined)
|
|
164
|
+
observed = plan.observations;
|
|
165
|
+
return plan;
|
|
166
|
+
},
|
|
117
167
|
removalFacts: (indices, atMs) => (0, removal_js_1.removalFacts)(origins, indices, atMs),
|
|
118
168
|
});
|
|
119
169
|
// `undefined` = this strategy did not engage this iteration. Nothing to
|
|
@@ -127,8 +177,30 @@ function buildWindowStage(deps) {
|
|
|
127
177
|
meter.rebaseForWindowChange(result.rebase.headCount, result.rebase.keptTailCount, result.rebase.insertedAtMs);
|
|
128
178
|
scope.history = result.window;
|
|
129
179
|
}
|
|
130
|
-
|
|
131
|
-
|
|
180
|
+
// The record's honesty pass (9.57.0). The strategy files WHAT it did; the
|
|
181
|
+
// stage — which is the one place that holds the pre-change window and the
|
|
182
|
+
// eviction indices together — files WHOSE EVIDENCE left. It is stamped
|
|
183
|
+
// here rather than inside a strategy so a strategy a consumer wrote gets
|
|
184
|
+
// it too, and so it is filed on the removals that authored no notice at
|
|
185
|
+
// all: a drop further into the window tells the model nothing, and then
|
|
186
|
+
// the record is the only place the fact exists.
|
|
187
|
+
const evicted = result.evictions
|
|
188
|
+
.map((e) => history[e.index])
|
|
189
|
+
.filter((m) => m !== undefined);
|
|
190
|
+
const droppedObservations = (0, toolNames_js_1.droppedToolNames)(evicted, history);
|
|
191
|
+
// A stand-down is a decision, so it is filed even though it kept nothing.
|
|
192
|
+
const observations = standDown
|
|
193
|
+
? { pinned: [], yielded: 0, limit, standDown: true }
|
|
194
|
+
: observed;
|
|
195
|
+
const record = droppedObservations.length > 0 || observations !== undefined
|
|
196
|
+
? {
|
|
197
|
+
...result.record,
|
|
198
|
+
...(droppedObservations.length > 0 && { droppedObservations }),
|
|
199
|
+
...(observations !== undefined && { observations }),
|
|
200
|
+
}
|
|
201
|
+
: result.record;
|
|
202
|
+
const prior = priorRecords;
|
|
203
|
+
scope.compactions = [...prior, record];
|
|
132
204
|
// The durable half, written in the SAME commit as the window change and
|
|
133
205
|
// the record above. That co-location is the guarantee: there is no state,
|
|
134
206
|
// and no failure, in which messages left the window and the record of what
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/window.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;;;AAKH,uEAAiE;AACjE,uDAA+C;AAC/C,2CAAsE;AACtE,mEAAoE;AACpE,qDAAoD;AAEpD,iDAAoG;
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/window.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* wrapUp — the branch that asks for a real answer when the action budget
|
|
4
|
+
* runs out mid-task (9.56.0).
|
|
5
|
+
*
|
|
6
|
+
* Mounted as a branch of the Route decider on any agent that can call tools,
|
|
7
|
+
* unless `wrapUpAtMaxIterations: false` turned it off. It carries `{ loopTo }`
|
|
8
|
+
* to the same target the `tool-calls` branch loops to — the SchemaRetry
|
|
9
|
+
* mechanism verbatim: a wrap-up is not a special mode, it is one more ordinary
|
|
10
|
+
* turn of the ReAct loop, with its own `iteration_start` / `llm_start` /
|
|
11
|
+
* `llm_end` bracket and its own `cost.tick` against `costBudget`.
|
|
12
|
+
*
|
|
13
|
+
* ## What it exists to stop
|
|
14
|
+
*
|
|
15
|
+
* `maxIterations` is a cap on ACTIONS, and the model does not know it is about
|
|
16
|
+
* to be hit. Before this, a turn that reached the cap while the model was
|
|
17
|
+
* still asking for tools handed back whatever text happened to ride that last
|
|
18
|
+
* call — which, mid-task, is a fragment:
|
|
19
|
+
*
|
|
20
|
+
* > "The third finding focus is not settling… Let me check what's on screen
|
|
21
|
+
* > now:"
|
|
22
|
+
*
|
|
23
|
+
* That sentence reached the person as if it were the answer, under an `'ok'`
|
|
24
|
+
* status, with nothing anywhere saying the budget had run out. Two recorded
|
|
25
|
+
* runs of exactly that shape are why this branch exists.
|
|
26
|
+
*
|
|
27
|
+
* ## Why the tools come off
|
|
28
|
+
*
|
|
29
|
+
* The one thing the run must not do is spend this call the way it spent the
|
|
30
|
+
* last ten. Withholding the tools is what makes the call terminal BY
|
|
31
|
+
* CONSTRUCTION rather than by another rule: with nothing to ask for, the model
|
|
32
|
+
* can only answer, so the wrap-up is exempt from `maxIterations` without any
|
|
33
|
+
* risk of looping past it. The withholding itself happens at request assembly
|
|
34
|
+
* in `callLLM` (the one seam that decides what goes on the wire); this stage
|
|
35
|
+
* only raises the flag.
|
|
36
|
+
*
|
|
37
|
+
* ## What it appends
|
|
38
|
+
*
|
|
39
|
+
* One `role: 'user'` message, authored by the framework, and NOT the fragment
|
|
40
|
+
* that preceded it. The model's tool-asking turn was never appended to history
|
|
41
|
+
* (nothing ran, so nothing round-tripped), and putting the half-sentence back
|
|
42
|
+
* as an assistant turn would invite the model to continue it — which is the
|
|
43
|
+
* opposite of the ask. The fragment is not lost: it is committed as
|
|
44
|
+
* `llmLatestContent`, where the run's own record keeps it.
|
|
45
|
+
*
|
|
46
|
+
* Pure function — no closure over Agent class state, no deps.
|
|
47
|
+
*/
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.wrapUpStage = exports.WRAP_UP_INSTRUCTION = void 0;
|
|
50
|
+
const typedEmit_js_1 = require("../../../recorders/core/typedEmit.js");
|
|
51
|
+
/**
|
|
52
|
+
* The instruction the wrap-up call carries, verbatim.
|
|
53
|
+
*
|
|
54
|
+
* Exported so tests, docs and consumers read the one string the wire reads —
|
|
55
|
+
* a sentence quoted in three places and defined in none is how documentation
|
|
56
|
+
* starts lying. It is written to be answerable from what the turn already
|
|
57
|
+
* has: no new lookups, an honest split between done and not-done, and room
|
|
58
|
+
* for the thing the person most needs to hear.
|
|
59
|
+
*/
|
|
60
|
+
exports.WRAP_UP_INSTRUCTION = 'Your action budget for this turn is exhausted. Do not request tools. ' +
|
|
61
|
+
'Give your best final answer from what you have: what you completed, ' +
|
|
62
|
+
'what remains undone, and anything the person should know.';
|
|
63
|
+
/**
|
|
64
|
+
* The stage body. The decider has already established the whole table (the
|
|
65
|
+
* iteration budget ran out, tool calls were pending, the wrap-up is unspent)
|
|
66
|
+
* immediately before routing here — this stage does the work of asking.
|
|
67
|
+
*/
|
|
68
|
+
const wrapUpStage = (scope) => {
|
|
69
|
+
const iteration = scope.iteration;
|
|
70
|
+
// The conversation as it really went, plus the ask. A plain local array —
|
|
71
|
+
// a TypedScope array read is a live proxy view, and both the commit and the
|
|
72
|
+
// event payload below must be detached plain data.
|
|
73
|
+
const newHistory = [
|
|
74
|
+
...scope.history,
|
|
75
|
+
{ role: 'user', content: exports.WRAP_UP_INSTRUCTION },
|
|
76
|
+
];
|
|
77
|
+
scope.history = newHistory;
|
|
78
|
+
// The one-per-turn latch, raised BEFORE the loop turns. It does double duty
|
|
79
|
+
// and both jobs need it set now: `callLLM` reads it at request assembly to
|
|
80
|
+
// withhold the tools, and the Route decider reads it on the pass after to
|
|
81
|
+
// settle `stoppedEarly` against the answer that actually came back instead
|
|
82
|
+
// of wrapping up a second time.
|
|
83
|
+
scope.wrapUpAsked = true;
|
|
84
|
+
// Close this iteration's bracket before the loop turns — every recorder that
|
|
85
|
+
// synthesizes steps pairs `iteration_start`/`iteration_end` per `iterIndex`,
|
|
86
|
+
// and the crash-checkpoint tracker snapshots history from this payload (the
|
|
87
|
+
// SchemaRetry stage's reasoning, verbatim).
|
|
88
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_end', {
|
|
89
|
+
turnIndex: 0,
|
|
90
|
+
iterIndex: iteration,
|
|
91
|
+
toolCallCount: 0,
|
|
92
|
+
history: newHistory,
|
|
93
|
+
});
|
|
94
|
+
// The wrap-up is a real turn on the record — one more `iteration_start`, one
|
|
95
|
+
// more billed call — so the counter moves with it. What it is exempt from is
|
|
96
|
+
// the LIMIT, not the count: the decider never re-asks whether the budget
|
|
97
|
+
// allows this call, because the call it allows cannot take an action.
|
|
98
|
+
scope.iteration = iteration + 1;
|
|
99
|
+
};
|
|
100
|
+
exports.wrapUpStage = wrapUpStage;
|
|
101
|
+
//# sourceMappingURL=wrapUp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapUp.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/wrapUp.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;;;AAIH,uEAAiE;AAGjE;;;;;;;;GAQG;AACU,QAAA,mBAAmB,GAC9B,uEAAuE;IACvE,sEAAsE;IACtE,2DAA2D,CAAC;AAE9D;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,KAA6B,EAAQ,EAAE;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAmB,CAAC;IAE5C,0EAA0E;IAC1E,4EAA4E;IAC5E,mDAAmD;IACnD,MAAM,UAAU,GAAiB;QAC/B,GAAI,KAAK,CAAC,OAAiC;QAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAAmB,EAAE;KAC/C,CAAC;IACF,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;IAE3B,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,gCAAgC;IAChC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAEzB,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,4CAA4C;IAC5C,IAAA,wBAAS,EAAC,KAAK,EAAE,oCAAoC,EAAE;QACrD,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,CAAC;QAChB,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IAEH,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,sEAAsE;IACtE,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;AAClC,CAAC,CAAC;AAnCW,QAAA,WAAW,eAmCtB"}
|