swarm-engine 1.43.0 → 1.51.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/README.md +145 -42
- package/agents/implementer.md +1 -14
- package/agents/orchestrator.md +127 -246
- package/agents/reviewer.md +3 -18
- package/dist/cli/commands/agents.js +13 -1
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/dashboard.d.ts +3 -0
- package/dist/cli/commands/dashboard.d.ts.map +1 -0
- package/dist/cli/commands/dashboard.js +43 -0
- package/dist/cli/commands/dashboard.js.map +1 -0
- package/dist/cli/commands/orchestrate.d.ts.map +1 -1
- package/dist/cli/commands/orchestrate.js +17 -0
- package/dist/cli/commands/orchestrate.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +20 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/status.d.ts +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +5 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js +4 -1
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/types.d.ts +24 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +4 -0
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/index.js +2 -2
- package/dist/memory/index.js.map +1 -1
- package/dist/runtime/agent-runner.d.ts +8 -0
- package/dist/runtime/agent-runner.d.ts.map +1 -1
- package/dist/runtime/agent-runner.js +93 -4
- package/dist/runtime/agent-runner.js.map +1 -1
- package/dist/runtime/backends/claude.d.ts +1 -0
- package/dist/runtime/backends/claude.d.ts.map +1 -1
- package/dist/runtime/backends/claude.js +50 -2
- package/dist/runtime/backends/claude.js.map +1 -1
- package/dist/runtime/backends/codex.d.ts.map +1 -1
- package/dist/runtime/backends/codex.js +4 -0
- package/dist/runtime/backends/codex.js.map +1 -1
- package/dist/runtime/backends/gemini.d.ts.map +1 -1
- package/dist/runtime/backends/gemini.js +4 -0
- package/dist/runtime/backends/gemini.js.map +1 -1
- package/dist/runtime/benefits.d.ts +81 -1
- package/dist/runtime/benefits.d.ts.map +1 -1
- package/dist/runtime/benefits.js +199 -12
- package/dist/runtime/benefits.js.map +1 -1
- package/dist/runtime/cache-optimizer.d.ts +7 -3
- package/dist/runtime/cache-optimizer.d.ts.map +1 -1
- package/dist/runtime/cache-optimizer.js +11 -7
- package/dist/runtime/cache-optimizer.js.map +1 -1
- package/dist/runtime/compaction.d.ts +6 -1
- package/dist/runtime/compaction.d.ts.map +1 -1
- package/dist/runtime/compaction.js +39 -2
- package/dist/runtime/compaction.js.map +1 -1
- package/dist/runtime/cost-model.d.ts.map +1 -1
- package/dist/runtime/cost-model.js +20 -17
- package/dist/runtime/cost-model.js.map +1 -1
- package/dist/runtime/engine.d.ts +1 -0
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +62 -2
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/graph-discovery.js +2 -2
- package/dist/runtime/graph-discovery.js.map +1 -1
- package/dist/runtime/graph-trajectory.js +3 -3
- package/dist/runtime/graph-trajectory.js.map +1 -1
- package/dist/runtime/lsp.d.ts.map +1 -1
- package/dist/runtime/lsp.js +4 -0
- package/dist/runtime/lsp.js.map +1 -1
- package/dist/runtime/mcp.d.ts +1 -0
- package/dist/runtime/mcp.d.ts.map +1 -1
- package/dist/runtime/mcp.js +38 -0
- package/dist/runtime/mcp.js.map +1 -1
- package/dist/runtime/output-summarizer.d.ts +45 -0
- package/dist/runtime/output-summarizer.d.ts.map +1 -0
- package/dist/runtime/output-summarizer.js +171 -0
- package/dist/runtime/output-summarizer.js.map +1 -0
- package/dist/runtime/plugins.d.ts +5 -1
- package/dist/runtime/plugins.d.ts.map +1 -1
- package/dist/runtime/plugins.js +14 -2
- package/dist/runtime/plugins.js.map +1 -1
- package/dist/runtime/prompt-tier.d.ts +33 -0
- package/dist/runtime/prompt-tier.d.ts.map +1 -0
- package/dist/runtime/prompt-tier.js +105 -0
- package/dist/runtime/prompt-tier.js.map +1 -0
- package/dist/runtime/sharing.js +2 -1
- package/dist/runtime/sharing.js.map +1 -1
- package/dist/runtime/stats.d.ts +2 -0
- package/dist/runtime/stats.d.ts.map +1 -1
- package/dist/runtime/stats.js +17 -3
- package/dist/runtime/stats.js.map +1 -1
- package/dist/utils/project-config.d.ts +20 -0
- package/dist/utils/project-config.d.ts.map +1 -1
- package/dist/utils/project-config.js +46 -1
- package/dist/utils/project-config.js.map +1 -1
- package/dist/utils/redact.d.ts.map +1 -1
- package/dist/utils/redact.js +5 -1
- package/dist/utils/redact.js.map +1 -1
- package/dist/web/bridge.d.ts +47 -0
- package/dist/web/bridge.d.ts.map +1 -0
- package/dist/web/bridge.js +267 -0
- package/dist/web/bridge.js.map +1 -0
- package/dist/web/graph-api.d.ts +19 -0
- package/dist/web/graph-api.d.ts.map +1 -0
- package/dist/web/graph-api.js +157 -0
- package/dist/web/graph-api.js.map +1 -0
- package/dist/web/index.d.ts +21 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +38 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/public/index.html +1304 -0
- package/dist/web/public/public/index.html +1307 -0
- package/dist/web/server.d.ts +24 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +113 -0
- package/dist/web/server.js.map +1 -0
- package/dist/web/tray.d.ts +23 -0
- package/dist/web/tray.d.ts.map +1 -0
- package/dist/web/tray.js +205 -0
- package/dist/web/tray.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
* BenefitsCollector — aggregates optimization metrics during orchestration
|
|
3
3
|
* and produces a user-facing summary of what the engine did for them.
|
|
4
4
|
*/
|
|
5
|
+
import type { EventBus } from '../core/event-bus.js';
|
|
6
|
+
/** Approximate base payload loaded per Claude Code session spawn (system prompt + tool schemas + MCP + skills).
|
|
7
|
+
* Dropped from ~45k to ~31k in Wave 1 via ENABLE_TOOL_SEARCH (deferred tool loading). */
|
|
8
|
+
export declare const BASE_PAYLOAD_TOKENS_PER_AGENT = 31000;
|
|
9
|
+
/** Cache-read pricing model: cache_read is billed at ~10% of regular input rate, so each
|
|
10
|
+
* cache_read token represents ~90% savings vs the equivalent regular input token.
|
|
11
|
+
* For Opus 4.6 we assume $5/MTok regular input → $4.5/MTok (90%) savings per cache_read token. */
|
|
12
|
+
export declare const CACHE_SAVINGS_RATE: number;
|
|
5
13
|
export interface TokenSavings {
|
|
6
14
|
/** Tokens saved by smart phase output routing (review/test phases get filtered context) */
|
|
7
15
|
smartRoutingSaved: number;
|
|
@@ -11,10 +19,19 @@ export interface TokenSavings {
|
|
|
11
19
|
verbatimCompactionSaved: number;
|
|
12
20
|
/** Tokens saved by context decay (older phases summarized) */
|
|
13
21
|
contextDecaySaved: number;
|
|
22
|
+
/** Tokens saved by per-agent file-scope context filtering (irrelevant phase outputs removed) */
|
|
23
|
+
contextFilteringSaved: number;
|
|
14
24
|
/** Cost saved by prompt cache hits on shared prefixes */
|
|
15
25
|
cacheSavingsUsd: number;
|
|
26
|
+
/** Whether cacheSavingsUsd came from real API data (true) or caller estimate (false) */
|
|
27
|
+
cacheSavingsMeasured: boolean;
|
|
16
28
|
/** Total tokens saved across all techniques */
|
|
17
29
|
totalTokensSaved: number;
|
|
30
|
+
/** Conservative estimate of compounded savings accounting for the stateless loop.
|
|
31
|
+
* Per-prompt/per-context savings are multiplied by avgTurnsPerAgent since each saved
|
|
32
|
+
* token avoids re-transmission on every subsequent turn.
|
|
33
|
+
* This is a CONSERVATIVE estimate — actual compounding varies per agent. */
|
|
34
|
+
compoundedTotalSaved: number;
|
|
18
35
|
/** Savings as percentage of what would have been used without optimizations */
|
|
19
36
|
savingsPercent: number;
|
|
20
37
|
}
|
|
@@ -81,6 +98,17 @@ export interface BenefitsSummary {
|
|
|
81
98
|
agentsExecuted: number;
|
|
82
99
|
/** Total phases executed */
|
|
83
100
|
phasesExecuted: number;
|
|
101
|
+
/** Total agent turns across all agents (sum of per-agent turns) */
|
|
102
|
+
totalAgentTurns: number;
|
|
103
|
+
/** Average turns per agent (totalAgentTurns / agentsExecuted) */
|
|
104
|
+
avgTurnsPerAgent: number;
|
|
105
|
+
/** Count of detected cache expiry events during this orchestration */
|
|
106
|
+
cacheCliffs: number;
|
|
107
|
+
/** Count of cold-wake events: idle gaps > prompt cache TTL where the next
|
|
108
|
+
* invocation pays full input price because the cache rebuilt from cold. */
|
|
109
|
+
coldWakes: number;
|
|
110
|
+
/** Estimated base-payload tax: totalAgentTurns × ~31k (re-sent every turn due to stateless loop) */
|
|
111
|
+
basePayloadEstimateTokens: number;
|
|
84
112
|
}
|
|
85
113
|
/**
|
|
86
114
|
* Collects benefits metrics during orchestration execution.
|
|
@@ -91,7 +119,14 @@ export declare class BenefitsCollector {
|
|
|
91
119
|
private _promptCompressionSaved;
|
|
92
120
|
private _verbatimCompactionSaved;
|
|
93
121
|
private _contextDecaySaved;
|
|
94
|
-
private
|
|
122
|
+
private _contextFilteringSaved;
|
|
123
|
+
/** Pre-computed estimate accumulated via {@link addCacheSavingsUsd} (caller-side guess
|
|
124
|
+
* from shared-prefix length × parallel agent count). Used as a fallback only when
|
|
125
|
+
* no real API cache_read data has been recorded. */
|
|
126
|
+
private _cacheSavingsUsdEstimate;
|
|
127
|
+
/** Real savings accumulated via {@link recordApiUsage} from API-reported cache_read
|
|
128
|
+
* tokens. Takes priority over {@link _cacheSavingsUsdEstimate} in {@link build}. */
|
|
129
|
+
private _cacheSavingsUsdReal;
|
|
95
130
|
private _contextRoutingDecisions;
|
|
96
131
|
private _coModHintsInjected;
|
|
97
132
|
private _confidenceGatesEvaluated;
|
|
@@ -110,11 +145,54 @@ export declare class BenefitsCollector {
|
|
|
110
145
|
private _cascadeTierChanges;
|
|
111
146
|
private _budgetWarnings;
|
|
112
147
|
private _livingSpecUpdates;
|
|
148
|
+
private _cacheCliffs;
|
|
149
|
+
private _agentCacheRatios;
|
|
150
|
+
private _coldWakes;
|
|
151
|
+
private bus;
|
|
152
|
+
constructor(bus?: EventBus);
|
|
113
153
|
addSmartRoutingSaved(tokens: number): void;
|
|
114
154
|
addPromptCompressionSaved(tokens: number): void;
|
|
115
155
|
addVerbatimCompactionSaved(tokens: number): void;
|
|
116
156
|
addContextDecaySaved(tokens: number): void;
|
|
157
|
+
addContextFilteringSaved(tokens: number): void;
|
|
158
|
+
/**
|
|
159
|
+
* Add a pre-computed cache savings estimate (caller-side). Used by the engine
|
|
160
|
+
* for shared-prefix-across-parallel-agents projections before any real API data
|
|
161
|
+
* is available. This estimate is **superseded** by real data from
|
|
162
|
+
* {@link recordApiUsage} in {@link build} — the two are tracked separately to
|
|
163
|
+
* avoid double-counting.
|
|
164
|
+
*/
|
|
117
165
|
addCacheSavingsUsd(usd: number): void;
|
|
166
|
+
/**
|
|
167
|
+
* Record actual API usage and credit real cache savings based on cache_read tokens
|
|
168
|
+
* reported by the Claude API. When any real data is recorded, the value reported
|
|
169
|
+
* by {@link build} switches to the real total, ignoring the caller-side estimate
|
|
170
|
+
* accumulated via {@link addCacheSavingsUsd} (the two were previously double-counted).
|
|
171
|
+
*
|
|
172
|
+
* Pricing: see {@link CACHE_SAVINGS_RATE} ($4.5/MTok cache_read).
|
|
173
|
+
*
|
|
174
|
+
* Also performs **cross-phase** cache-cliff detection per agentType — when an agent's
|
|
175
|
+
* cache_read ratio drops >{@link CLIFF_DROP_RATIO} vs its rolling baseline (over
|
|
176
|
+
* {@link CLIFF_HISTORY_WINDOW} prior samples), emits `cache:cliff` to the EventBus
|
|
177
|
+
* (if any) and increments the cliff counter.
|
|
178
|
+
*
|
|
179
|
+
* **Limitation**: detection happens at agent-execution granularity (one call per
|
|
180
|
+
* AgentInstance.usage roll-up). Mid-conversation cache TTL expiry within a single
|
|
181
|
+
* agent run is NOT detected here — that would require a per-API-call hook in the
|
|
182
|
+
* backend (see BackendOptions for per-call observability options if/when added).
|
|
183
|
+
*/
|
|
184
|
+
recordApiUsage(usage: {
|
|
185
|
+
inputTokens?: number;
|
|
186
|
+
cacheReadInputTokens?: number;
|
|
187
|
+
cacheCreationInputTokens?: number;
|
|
188
|
+
}, agentType?: string): void;
|
|
189
|
+
/**
|
|
190
|
+
* Record a cold-wake event — fired when an agent's idle gap exceeds the prompt cache
|
|
191
|
+
* TTL (typically 5 minutes), so the next invocation rebuilds the cache from cold and
|
|
192
|
+
* pays full input price. Typically wired to the `cache:cold-wake` event from
|
|
193
|
+
* AgentRunner via `bus.on(...)` in the engine.
|
|
194
|
+
*/
|
|
195
|
+
recordColdWake(): void;
|
|
118
196
|
addContextRoutingDecision(): void;
|
|
119
197
|
addCoModHintInjected(): void;
|
|
120
198
|
addConfidenceGateEvaluated(triggered: boolean): void;
|
|
@@ -137,6 +215,7 @@ export declare class BenefitsCollector {
|
|
|
137
215
|
* @param opts.actualCostUsd — total USD cost of the orchestration
|
|
138
216
|
* @param opts.durationMs — wall-clock duration in milliseconds
|
|
139
217
|
* @param opts.agentsExecuted — number of agents that ran
|
|
218
|
+
* @param opts.totalAgentTurns — sum of per-agent turns (each turn re-sends full context in stateless loop)
|
|
140
219
|
* @param opts.phasesExecuted — number of phases that ran
|
|
141
220
|
* @param opts.historicalAvgCostUsd — average cost for this pattern from history (null if none)
|
|
142
221
|
* @param opts.patternRunsRecorded — how many historical runs exist for this pattern
|
|
@@ -147,6 +226,7 @@ export declare class BenefitsCollector {
|
|
|
147
226
|
actualCostUsd: number;
|
|
148
227
|
durationMs: number;
|
|
149
228
|
agentsExecuted: number;
|
|
229
|
+
totalAgentTurns?: number;
|
|
150
230
|
phasesExecuted: number;
|
|
151
231
|
historicalAvgCostUsd?: number | null;
|
|
152
232
|
patternRunsRecorded?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benefits.d.ts","sourceRoot":"","sources":["../../src/runtime/benefits.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"benefits.d.ts","sourceRoot":"","sources":["../../src/runtime/benefits.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIrD;yFACyF;AACzF,eAAO,MAAM,6BAA6B,QAAS,CAAC;AAEpD;;mGAEmG;AACnG,eAAO,MAAM,kBAAkB,QAAkB,CAAC;AAoBlD,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,uBAAuB,EAAE,MAAM,CAAC;IAChC,8DAA8D;IAC9D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gGAAgG;IAChG,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,oBAAoB,EAAE,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;gFAG4E;IAC5E,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,uBAAuB,EAAE,MAAM,CAAC;IAChC,yEAAyE;IACzE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,wBAAwB,EAAE,MAAM,CAAC;IACjC,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iDAAiD;IACjD,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,uBAAuB,EAAE,MAAM,CAAC;IAChC,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,aAAa,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,aAAa,CAAC;IACrB,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,qDAAqD;IACrD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB;gFAC4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAID;;;GAGG;AACH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,sBAAsB,CAAK;IACnC;;yDAEqD;IACrD,OAAO,CAAC,wBAAwB,CAAK;IACrC;yFACqF;IACrF,OAAO,CAAC,oBAAoB,CAAK;IAGjC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,yBAAyB,CAAK;IACtC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,uBAAuB,CAAK;IAGpC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,0BAA0B,CAAK;IAGvC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,kBAAkB,CAAK;IAG/B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,iBAAiB,CAA+B;IAGxD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,GAAG,CAAyB;gBAExB,GAAG,CAAC,EAAE,QAAQ;IAM1B,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI1C,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/C,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIhD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI1C,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI9C;;;;;;OAMG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIrC;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CACZ,KAAK,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;KACnC,EACD,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI;IA6CP;;;;;OAKG;IACH,cAAc,IAAI,IAAI;IAMtB,yBAAyB,IAAI,IAAI;IAIjC,oBAAoB,IAAI,IAAI;IAI5B,0BAA0B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAKpD,wBAAwB,IAAI,IAAI;IAMhC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAK7C,iBAAiB,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI;IAKrD,oBAAoB,IAAI,IAAI;IAI5B,qBAAqB,IAAI,IAAI;IAI7B,uBAAuB,IAAI,IAAI;IAM/B,eAAe,IAAI,IAAI;IAIvB,iBAAiB,IAAI,IAAI;IAIzB,eAAe,IAAI,IAAI;IAIvB,oBAAoB,IAAI,IAAI;IAI5B,gBAAgB,IAAI,IAAI;IAIxB,mBAAmB,IAAI,IAAI;IAM3B;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,EAAE;QACV,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvC,GAAG,eAAe;IA2FnB,yBAAyB;IACzB,KAAK,IAAI,IAAI;CA8Bd;AAcD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAsJtE;AA+CD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAgSpE"}
|
package/dist/runtime/benefits.js
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
* BenefitsCollector — aggregates optimization metrics during orchestration
|
|
3
3
|
* and produces a user-facing summary of what the engine did for them.
|
|
4
4
|
*/
|
|
5
|
+
// ─── Constants ────────────────────────────────────────────────
|
|
6
|
+
/** Approximate base payload loaded per Claude Code session spawn (system prompt + tool schemas + MCP + skills).
|
|
7
|
+
* Dropped from ~45k to ~31k in Wave 1 via ENABLE_TOOL_SEARCH (deferred tool loading). */
|
|
8
|
+
export const BASE_PAYLOAD_TOKENS_PER_AGENT = 31_000;
|
|
9
|
+
/** Cache-read pricing model: cache_read is billed at ~10% of regular input rate, so each
|
|
10
|
+
* cache_read token represents ~90% savings vs the equivalent regular input token.
|
|
11
|
+
* For Opus 4.6 we assume $5/MTok regular input → $4.5/MTok (90%) savings per cache_read token. */
|
|
12
|
+
export const CACHE_SAVINGS_RATE = 4.5 / 1_000_000;
|
|
13
|
+
/** Minimum cache-read ratio over the window for cliff detection to fire
|
|
14
|
+
* (if baseline is already low, the "cliff" isn't meaningful). */
|
|
15
|
+
const CLIFF_BASELINE_FLOOR = 0.2;
|
|
16
|
+
/** Current-ratio-vs-baseline drop threshold — >50% drop = cliff. */
|
|
17
|
+
const CLIFF_DROP_RATIO = 0.5;
|
|
18
|
+
/** Token floor for cliff detection — noise floor avoids flagging tiny requests. */
|
|
19
|
+
const CLIFF_NOISE_FLOOR_TOKENS = 1000;
|
|
20
|
+
/** Rolling history window size per agentType for baseline computation. */
|
|
21
|
+
const CLIFF_HISTORY_WINDOW = 10;
|
|
22
|
+
/** Minimum number of prior samples required before cliff detection activates. */
|
|
23
|
+
const CLIFF_MIN_HISTORY = 3;
|
|
5
24
|
// ─── Collector ────────────────────────────────────────────────
|
|
6
25
|
/**
|
|
7
26
|
* Collects benefits metrics during orchestration execution.
|
|
@@ -13,7 +32,14 @@ export class BenefitsCollector {
|
|
|
13
32
|
_promptCompressionSaved = 0;
|
|
14
33
|
_verbatimCompactionSaved = 0;
|
|
15
34
|
_contextDecaySaved = 0;
|
|
16
|
-
|
|
35
|
+
_contextFilteringSaved = 0;
|
|
36
|
+
/** Pre-computed estimate accumulated via {@link addCacheSavingsUsd} (caller-side guess
|
|
37
|
+
* from shared-prefix length × parallel agent count). Used as a fallback only when
|
|
38
|
+
* no real API cache_read data has been recorded. */
|
|
39
|
+
_cacheSavingsUsdEstimate = 0;
|
|
40
|
+
/** Real savings accumulated via {@link recordApiUsage} from API-reported cache_read
|
|
41
|
+
* tokens. Takes priority over {@link _cacheSavingsUsdEstimate} in {@link build}. */
|
|
42
|
+
_cacheSavingsUsdReal = 0;
|
|
17
43
|
// Graph counters
|
|
18
44
|
_contextRoutingDecisions = 0;
|
|
19
45
|
_coModHintsInjected = 0;
|
|
@@ -35,6 +61,15 @@ export class BenefitsCollector {
|
|
|
35
61
|
_cascadeTierChanges = 0;
|
|
36
62
|
_budgetWarnings = 0;
|
|
37
63
|
_livingSpecUpdates = 0;
|
|
64
|
+
// Cache cliff detection state
|
|
65
|
+
_cacheCliffs = 0;
|
|
66
|
+
_agentCacheRatios = new Map(); // agentType → recent ratios (last CLIFF_HISTORY_WINDOW)
|
|
67
|
+
// Cold-wake counter (incremented via recordColdWake, typically wired to 'cache:cold-wake' events)
|
|
68
|
+
_coldWakes = 0;
|
|
69
|
+
bus = null;
|
|
70
|
+
constructor(bus) {
|
|
71
|
+
this.bus = bus ?? null;
|
|
72
|
+
}
|
|
38
73
|
// ─── Token savings methods ────────────────────────────────
|
|
39
74
|
addSmartRoutingSaved(tokens) {
|
|
40
75
|
this._smartRoutingSaved += tokens;
|
|
@@ -48,8 +83,82 @@ export class BenefitsCollector {
|
|
|
48
83
|
addContextDecaySaved(tokens) {
|
|
49
84
|
this._contextDecaySaved += tokens;
|
|
50
85
|
}
|
|
86
|
+
addContextFilteringSaved(tokens) {
|
|
87
|
+
this._contextFilteringSaved += tokens;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Add a pre-computed cache savings estimate (caller-side). Used by the engine
|
|
91
|
+
* for shared-prefix-across-parallel-agents projections before any real API data
|
|
92
|
+
* is available. This estimate is **superseded** by real data from
|
|
93
|
+
* {@link recordApiUsage} in {@link build} — the two are tracked separately to
|
|
94
|
+
* avoid double-counting.
|
|
95
|
+
*/
|
|
51
96
|
addCacheSavingsUsd(usd) {
|
|
52
|
-
this.
|
|
97
|
+
this._cacheSavingsUsdEstimate += usd;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Record actual API usage and credit real cache savings based on cache_read tokens
|
|
101
|
+
* reported by the Claude API. When any real data is recorded, the value reported
|
|
102
|
+
* by {@link build} switches to the real total, ignoring the caller-side estimate
|
|
103
|
+
* accumulated via {@link addCacheSavingsUsd} (the two were previously double-counted).
|
|
104
|
+
*
|
|
105
|
+
* Pricing: see {@link CACHE_SAVINGS_RATE} ($4.5/MTok cache_read).
|
|
106
|
+
*
|
|
107
|
+
* Also performs **cross-phase** cache-cliff detection per agentType — when an agent's
|
|
108
|
+
* cache_read ratio drops >{@link CLIFF_DROP_RATIO} vs its rolling baseline (over
|
|
109
|
+
* {@link CLIFF_HISTORY_WINDOW} prior samples), emits `cache:cliff` to the EventBus
|
|
110
|
+
* (if any) and increments the cliff counter.
|
|
111
|
+
*
|
|
112
|
+
* **Limitation**: detection happens at agent-execution granularity (one call per
|
|
113
|
+
* AgentInstance.usage roll-up). Mid-conversation cache TTL expiry within a single
|
|
114
|
+
* agent run is NOT detected here — that would require a per-API-call hook in the
|
|
115
|
+
* backend (see BackendOptions for per-call observability options if/when added).
|
|
116
|
+
*/
|
|
117
|
+
recordApiUsage(usage, agentType) {
|
|
118
|
+
// ─── Real savings credit (separate accumulator from estimate) ─────────
|
|
119
|
+
this._cacheSavingsUsdReal += (usage.cacheReadInputTokens ?? 0) * CACHE_SAVINGS_RATE;
|
|
120
|
+
// ─── Cache cliff detection ────────────────────────────
|
|
121
|
+
// Only meaningful when we know which agentType this call belongs to.
|
|
122
|
+
if (!agentType)
|
|
123
|
+
return;
|
|
124
|
+
const cacheRead = usage.cacheReadInputTokens ?? 0;
|
|
125
|
+
const input = usage.inputTokens ?? 0;
|
|
126
|
+
const totalInput = cacheRead + input;
|
|
127
|
+
// Noise floor — avoid false positives on tiny requests where ratios swing wildly.
|
|
128
|
+
if (totalInput < CLIFF_NOISE_FLOOR_TOKENS)
|
|
129
|
+
return;
|
|
130
|
+
const ratio = cacheRead / totalInput;
|
|
131
|
+
const history = this._agentCacheRatios.get(agentType) ?? [];
|
|
132
|
+
if (history.length >= CLIFF_MIN_HISTORY) {
|
|
133
|
+
// Need at least CLIFF_MIN_HISTORY prior samples to establish a meaningful baseline.
|
|
134
|
+
const baseline = history.reduce((a, b) => a + b, 0) / history.length;
|
|
135
|
+
// Only flag when baseline was non-trivial AND dropped by more than the threshold.
|
|
136
|
+
if (baseline > CLIFF_BASELINE_FLOOR && ratio < baseline * CLIFF_DROP_RATIO) {
|
|
137
|
+
this._cacheCliffs++;
|
|
138
|
+
// Regular-vs-cache price delta: ($5 - $0.5) / 1M = $4.5/MTok extra cost per token
|
|
139
|
+
// moved from cache to regular input. Approximate cost of the missed cache.
|
|
140
|
+
const estimatedExtraCostUsd = (totalInput * (baseline - ratio) * (5 - 0.5)) / 1_000_000;
|
|
141
|
+
this.bus?.emit('cache:cliff', {
|
|
142
|
+
agentType,
|
|
143
|
+
previousRatio: baseline,
|
|
144
|
+
currentRatio: ratio,
|
|
145
|
+
estimatedExtraCostUsd,
|
|
146
|
+
}, 'benefits-collector');
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
history.push(ratio);
|
|
150
|
+
if (history.length > CLIFF_HISTORY_WINDOW)
|
|
151
|
+
history.shift();
|
|
152
|
+
this._agentCacheRatios.set(agentType, history);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Record a cold-wake event — fired when an agent's idle gap exceeds the prompt cache
|
|
156
|
+
* TTL (typically 5 minutes), so the next invocation rebuilds the cache from cold and
|
|
157
|
+
* pays full input price. Typically wired to the `cache:cold-wake` event from
|
|
158
|
+
* AgentRunner via `bus.on(...)` in the engine.
|
|
159
|
+
*/
|
|
160
|
+
recordColdWake() {
|
|
161
|
+
this._coldWakes++;
|
|
53
162
|
}
|
|
54
163
|
// ─── Graph methods ────────────────────────────────────────
|
|
55
164
|
addContextRoutingDecision() {
|
|
@@ -111,6 +220,7 @@ export class BenefitsCollector {
|
|
|
111
220
|
* @param opts.actualCostUsd — total USD cost of the orchestration
|
|
112
221
|
* @param opts.durationMs — wall-clock duration in milliseconds
|
|
113
222
|
* @param opts.agentsExecuted — number of agents that ran
|
|
223
|
+
* @param opts.totalAgentTurns — sum of per-agent turns (each turn re-sends full context in stateless loop)
|
|
114
224
|
* @param opts.phasesExecuted — number of phases that ran
|
|
115
225
|
* @param opts.historicalAvgCostUsd — average cost for this pattern from history (null if none)
|
|
116
226
|
* @param opts.patternRunsRecorded — how many historical runs exist for this pattern
|
|
@@ -121,19 +231,39 @@ export class BenefitsCollector {
|
|
|
121
231
|
this._promptCompressionSaved +
|
|
122
232
|
this._verbatimCompactionSaved +
|
|
123
233
|
this._contextDecaySaved +
|
|
234
|
+
this._contextFilteringSaved +
|
|
124
235
|
this._dropoutTokensSaved;
|
|
125
236
|
// What would have been used without optimizations = actual + saved
|
|
126
237
|
const wouldHaveUsed = opts.actualTotalTokens + totalTokensSaved;
|
|
127
238
|
const savingsPercent = totalTokensSaved > 0 && wouldHaveUsed > 0 ? Math.round((totalTokensSaved / wouldHaveUsed) * 100) : 0;
|
|
128
239
|
const costDelta = opts.historicalAvgCostUsd != null ? opts.actualCostUsd - opts.historicalAvgCostUsd : null;
|
|
240
|
+
// Real API data takes priority over caller-side estimate to avoid double-counting.
|
|
241
|
+
// If any real data was recorded (recordApiUsage with cache_read), use that exclusively;
|
|
242
|
+
// otherwise fall back to the pre-computed estimate (addCacheSavingsUsd).
|
|
243
|
+
const cacheSavingsUsd = this._cacheSavingsUsdReal > 0 ? this._cacheSavingsUsdReal : this._cacheSavingsUsdEstimate;
|
|
244
|
+
const cacheSavingsMeasured = this._cacheSavingsUsdReal > 0;
|
|
245
|
+
// ─── Turn-based compounding ──────────────────────────────
|
|
246
|
+
// The stateless loop re-sends full context every turn, so per-prompt/per-context
|
|
247
|
+
// savings compound across turns. Use conservative floor of avgTurns.
|
|
248
|
+
const totalAgentTurns = opts.totalAgentTurns ?? opts.agentsExecuted;
|
|
249
|
+
const avgTurns = totalAgentTurns / Math.max(opts.agentsExecuted, 1);
|
|
250
|
+
// Only compound savings that are part of the persistent re-sent context
|
|
251
|
+
const compoundable = this._smartRoutingSaved + this._promptCompressionSaved + this._contextDecaySaved + this._contextFilteringSaved;
|
|
252
|
+
// Non-compounding savings (output-side compaction or spawn-avoidance)
|
|
253
|
+
const nonCompounding = this._verbatimCompactionSaved + this._dropoutTokensSaved;
|
|
254
|
+
// Conservative: use floor of avgTurns (under-estimate)
|
|
255
|
+
const compoundedTotalSaved = Math.floor(compoundable * Math.floor(avgTurns)) + nonCompounding;
|
|
129
256
|
return {
|
|
130
257
|
tokens: {
|
|
131
258
|
smartRoutingSaved: this._smartRoutingSaved,
|
|
132
259
|
promptCompressionSaved: this._promptCompressionSaved,
|
|
133
260
|
verbatimCompactionSaved: this._verbatimCompactionSaved,
|
|
134
261
|
contextDecaySaved: this._contextDecaySaved,
|
|
135
|
-
|
|
262
|
+
contextFilteringSaved: this._contextFilteringSaved,
|
|
263
|
+
cacheSavingsUsd: Math.round(cacheSavingsUsd * 10000) / 10000,
|
|
264
|
+
cacheSavingsMeasured,
|
|
136
265
|
totalTokensSaved,
|
|
266
|
+
compoundedTotalSaved,
|
|
137
267
|
savingsPercent,
|
|
138
268
|
},
|
|
139
269
|
graph: {
|
|
@@ -168,6 +298,11 @@ export class BenefitsCollector {
|
|
|
168
298
|
durationMs: opts.durationMs,
|
|
169
299
|
agentsExecuted: opts.agentsExecuted,
|
|
170
300
|
phasesExecuted: opts.phasesExecuted,
|
|
301
|
+
totalAgentTurns,
|
|
302
|
+
avgTurnsPerAgent: Math.round(avgTurns * 100) / 100,
|
|
303
|
+
cacheCliffs: this._cacheCliffs,
|
|
304
|
+
coldWakes: this._coldWakes,
|
|
305
|
+
basePayloadEstimateTokens: totalAgentTurns * BASE_PAYLOAD_TOKENS_PER_AGENT,
|
|
171
306
|
};
|
|
172
307
|
}
|
|
173
308
|
/** Reset all counters */
|
|
@@ -176,7 +311,9 @@ export class BenefitsCollector {
|
|
|
176
311
|
this._promptCompressionSaved = 0;
|
|
177
312
|
this._verbatimCompactionSaved = 0;
|
|
178
313
|
this._contextDecaySaved = 0;
|
|
179
|
-
this.
|
|
314
|
+
this._contextFilteringSaved = 0;
|
|
315
|
+
this._cacheSavingsUsdEstimate = 0;
|
|
316
|
+
this._cacheSavingsUsdReal = 0;
|
|
180
317
|
this._contextRoutingDecisions = 0;
|
|
181
318
|
this._coModHintsInjected = 0;
|
|
182
319
|
this._confidenceGatesEvaluated = 0;
|
|
@@ -195,6 +332,9 @@ export class BenefitsCollector {
|
|
|
195
332
|
this._cascadeTierChanges = 0;
|
|
196
333
|
this._budgetWarnings = 0;
|
|
197
334
|
this._livingSpecUpdates = 0;
|
|
335
|
+
this._cacheCliffs = 0;
|
|
336
|
+
this._agentCacheRatios.clear();
|
|
337
|
+
this._coldWakes = 0;
|
|
198
338
|
}
|
|
199
339
|
}
|
|
200
340
|
// ─── Formatter ────────────────────────────────────────────────
|
|
@@ -228,11 +368,18 @@ export function formatBenefitsSummary(summary) {
|
|
|
228
368
|
if (t.contextDecaySaved > 0) {
|
|
229
369
|
tokenLines.push(` Context decay saved ~${fmtNum(t.contextDecaySaved)} tokens (older phases summarized)`);
|
|
230
370
|
}
|
|
371
|
+
if (t.contextFilteringSaved > 0) {
|
|
372
|
+
tokenLines.push(` Context filtering saved ~${fmtNum(t.contextFilteringSaved)} tokens (per-agent file-scope filtering)`);
|
|
373
|
+
}
|
|
231
374
|
if (t.cacheSavingsUsd > 0) {
|
|
232
|
-
|
|
375
|
+
const cacheTag = t.cacheSavingsMeasured ? '(measured)' : '(est.)';
|
|
376
|
+
tokenLines.push(` Cache savings ${cacheTag}: ${fmtUsd(t.cacheSavingsUsd)} (shared prefix caching across parallel agents)`);
|
|
233
377
|
}
|
|
234
378
|
if (t.totalTokensSaved > 0) {
|
|
235
|
-
tokenLines.push(`
|
|
379
|
+
tokenLines.push(` Per-injection total: ~${fmtNum(t.totalTokensSaved)} tokens saved (${t.savingsPercent}% reduction)`);
|
|
380
|
+
}
|
|
381
|
+
if (t.compoundedTotalSaved > 0 && t.compoundedTotalSaved !== t.totalTokensSaved) {
|
|
382
|
+
tokenLines.push(` Compounded savings (conservative est.): ~${fmtNum(t.compoundedTotalSaved)} tokens (x avg ${fmtNum(summary.avgTurnsPerAgent)} turns/agent)`);
|
|
236
383
|
}
|
|
237
384
|
if (tokenLines.length > 0) {
|
|
238
385
|
sections.push(`TOKEN EFFICIENCY\n${tokenLines.join('\n')}`);
|
|
@@ -384,16 +531,53 @@ export function formatBenefitsTable(summary) {
|
|
|
384
531
|
detail: 'older phases summarized',
|
|
385
532
|
});
|
|
386
533
|
}
|
|
534
|
+
if (t.contextFilteringSaved > 0) {
|
|
535
|
+
tokenRows.push({
|
|
536
|
+
label: 'Context filtering',
|
|
537
|
+
value: `-${fmtNum(t.contextFilteringSaved)} tok`,
|
|
538
|
+
detail: 'file-scope filtering',
|
|
539
|
+
});
|
|
540
|
+
}
|
|
387
541
|
if (t.cacheSavingsUsd > 0) {
|
|
388
|
-
|
|
542
|
+
const cacheLabel = t.cacheSavingsMeasured ? 'Cache savings (measured)' : 'Cache savings (est.)';
|
|
543
|
+
tokenRows.push({ label: cacheLabel, value: fmtUsd(t.cacheSavingsUsd), detail: 'prefix sharing' });
|
|
389
544
|
}
|
|
390
545
|
if (t.totalTokensSaved > 0) {
|
|
391
546
|
tokenRows.push({
|
|
392
|
-
label: '
|
|
547
|
+
label: 'Per-injection saved',
|
|
393
548
|
value: `-${fmtNum(t.totalTokensSaved)} tok`,
|
|
394
549
|
detail: `${t.savingsPercent}% reduction`,
|
|
395
550
|
});
|
|
396
551
|
}
|
|
552
|
+
if (t.compoundedTotalSaved > 0 && t.compoundedTotalSaved !== t.totalTokensSaved) {
|
|
553
|
+
tokenRows.push({
|
|
554
|
+
label: 'Compounded (est.)',
|
|
555
|
+
value: `~${fmtNum(t.compoundedTotalSaved)} tok`,
|
|
556
|
+
detail: `x avg ${fmtNum(summary.avgTurnsPerAgent)} turns/agent (conservative)`,
|
|
557
|
+
});
|
|
558
|
+
}
|
|
559
|
+
if (summary.basePayloadEstimateTokens > 0) {
|
|
560
|
+
const avgT = summary.avgTurnsPerAgent;
|
|
561
|
+
tokenRows.push({
|
|
562
|
+
label: 'Base-payload tax',
|
|
563
|
+
value: `+${fmtNum(summary.basePayloadEstimateTokens)} tok`,
|
|
564
|
+
detail: `${fmtNum(summary.totalAgentTurns)} turns x ~31k/turn (${fmtNum(summary.agentsExecuted)} agents, avg ${fmtNum(avgT)} turns)`,
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
if (summary.cacheCliffs > 0) {
|
|
568
|
+
tokenRows.push({
|
|
569
|
+
label: 'Cache cliffs',
|
|
570
|
+
value: `${summary.cacheCliffs} detected`,
|
|
571
|
+
detail: 'cache_read ratio dropped >50%',
|
|
572
|
+
});
|
|
573
|
+
}
|
|
574
|
+
if (summary.coldWakes > 0) {
|
|
575
|
+
tokenRows.push({
|
|
576
|
+
label: 'Cold wakes',
|
|
577
|
+
value: `${summary.coldWakes} detected`,
|
|
578
|
+
detail: 'idle gap > prompt cache TTL',
|
|
579
|
+
});
|
|
580
|
+
}
|
|
397
581
|
if (tokenRows.length > 0) {
|
|
398
582
|
sections.push({ title: 'TOKEN EFFICIENCY', rows: tokenRows });
|
|
399
583
|
}
|
|
@@ -514,15 +698,18 @@ export function formatBenefitsTable(summary) {
|
|
|
514
698
|
sections.push({ title: 'ADAPTIVE', rows: adaptiveRows });
|
|
515
699
|
}
|
|
516
700
|
// ─── Pre-compute cost bar to include in width calc ──────
|
|
517
|
-
|
|
701
|
+
const costParts = [`$${summary.actualCostUsd.toFixed(2)}`];
|
|
518
702
|
if (summary.historicalAvgCostUsd != null && summary.costDeltaUsd != null) {
|
|
519
703
|
const dir = summary.costDeltaUsd <= 0 ? 'saved' : 'over';
|
|
520
|
-
|
|
704
|
+
costParts.push(`${dir} $${Math.abs(summary.costDeltaUsd).toFixed(2)} vs avg`);
|
|
521
705
|
}
|
|
522
706
|
if (summary.tokens.savingsPercent > 0) {
|
|
523
|
-
|
|
707
|
+
costParts.push(`${summary.tokens.savingsPercent}% tokens saved`);
|
|
524
708
|
}
|
|
525
|
-
|
|
709
|
+
costParts.push(`${fmtNum(summary.agentsExecuted)} agents`);
|
|
710
|
+
costParts.push(`${fmtNum(summary.phasesExecuted)} phases`);
|
|
711
|
+
costParts.push(`${(summary.durationMs / 1000).toFixed(1)}s`);
|
|
712
|
+
let costText = costParts.join(' | ');
|
|
526
713
|
// ─── Compute column widths ──────────────────────────────
|
|
527
714
|
const allRows = sections.flatMap((s) => s.rows);
|
|
528
715
|
const treePrefix = 5; // " ├─ " or " └─ "
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benefits.js","sourceRoot":"","sources":["../../src/runtime/benefits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"benefits.js","sourceRoot":"","sources":["../../src/runtime/benefits.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,10 +19,14 @@ export interface CacheOptimizedPrompt {
|
|
|
19
19
|
/**
|
|
20
20
|
* Structure a prompt for optimal cache utilization.
|
|
21
21
|
*
|
|
22
|
-
* Order: Orchestration context →
|
|
22
|
+
* Order: Orchestration context → Agent definition → Phase context → Task
|
|
23
23
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
24
|
+
* Security (CWE-74): the agent's own definition is placed BEFORE the
|
|
25
|
+
* (potentially untrusted) phase context so the model reads its instructions
|
|
26
|
+
* first. This is a structural defense — position in prompt matters for LLM
|
|
27
|
+
* attention. Trade-off: sharedPrefix now varies per agent (includes
|
|
28
|
+
* agent-specific definition), weakening cross-agent cache sharing.
|
|
29
|
+
* Security wins over caching in this trade-off.
|
|
26
30
|
*/
|
|
27
31
|
export declare function optimizeForCache(orchestrationContext: string, sharedPhaseContext: string, agentDefinition: string, task: string): CacheOptimizedPrompt;
|
|
28
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-optimizer.d.ts","sourceRoot":"","sources":["../../src/runtime/cache-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED
|
|
1
|
+
{"version":3,"file":"cache-optimizer.d.ts","sourceRoot":"","sources":["../../src/runtime/cache-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,oBAAoB,EAAE,MAAM,EAC5B,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,GACX,oBAAoB,CAYtB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,kBAAkB,EAAE,MAAM,EAC1B,UAAU,EAAE,MAAM,EAClB,oBAAoB,EAAE,MAAM,GAC3B;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAetF"}
|