@agentguard-run/spend 0.15.10 → 0.15.11

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.
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ /**
3
+ * AgentGuard Spend: spend-and-policy-aware model router.
4
+ *
5
+ * `createRouter(...)` composes the EXISTING pieces of this SDK into one call
6
+ * that:
7
+ * 1. selects a candidate model across providers by a routing policy
8
+ * (cost-first / explicit priority / capability-tag filter),
9
+ * 2. enforces the spend cap using the EXISTING enforcement path
10
+ * (`SpendGuard.decide` -> `evaluatePolicy`) — block / downgrade / allow,
11
+ * 3. executes via the candidate's provider client,
12
+ * 4. FAILS OVER to the next viable candidate on a provider error/timeout OR a
13
+ * cap breach (block) on the chosen model — this removes vendor lock-in,
14
+ * 5. signs a routing receipt that records the decision, hash-chained onto the
15
+ * SAME signed log as the enforcement decisions using the EXISTING Ed25519 +
16
+ * canonical-JSON receipt infra (`SpendGuard.recordRoutingReceipt`).
17
+ *
18
+ * ZERO DATA PLANE: prompts, completions and provider keys never leave the
19
+ * process, and the routing receipt is payload-minimized (provider + model +
20
+ * projected cost only — never content).
21
+ *
22
+ * Patent notice: Protected by U.S. patent-pending technology
23
+ * (App. Nos. 63/983,615; 63/983,621; 63/983,843; 63/984,626;
24
+ * 64/071,781; 64/071,789).
25
+ */
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.RoutingExhaustedError = void 0;
28
+ exports.createRouter = createRouter;
29
+ const spend_guard_1 = require("./spend-guard");
30
+ const cost_table_1 = require("./cost-table");
31
+ class RoutingExhaustedError extends Error {
32
+ fallbacks;
33
+ constructor(fallbacks) {
34
+ super('agentguard router: every candidate was exhausted (' +
35
+ fallbacks.map((f) => `${f.provider}/${f.model}:${f.reason}`).join(', ') +
36
+ ')');
37
+ this.name = 'RoutingExhaustedError';
38
+ this.fallbacks = fallbacks;
39
+ }
40
+ }
41
+ exports.RoutingExhaustedError = RoutingExhaustedError;
42
+ const ROUTER_PROVIDER_TO_ENFORCEMENT = {
43
+ openai: 'openai',
44
+ openrouter: 'openai',
45
+ anthropic: 'anthropic',
46
+ bedrock: 'bedrock',
47
+ };
48
+ function createRouter(config) {
49
+ if (!Array.isArray(config.candidates) || config.candidates.length === 0) {
50
+ throw new Error('createRouter: at least one candidate is required');
51
+ }
52
+ const policy = config.policy ?? { mode: 'cost' };
53
+ const guard = new spend_guard_1.SpendGuard({
54
+ policy: config.spendPolicy,
55
+ ...(config.guardConfig ?? {}),
56
+ ...(config.signingKeys ? { signingKeys: config.signingKeys } : {}),
57
+ ...(config.logStore ? { logStore: config.logStore } : {}),
58
+ ...(config.spendStore ? { spendStore: config.spendStore } : {}),
59
+ });
60
+ async function route(request) {
61
+ const scope = request.scope ?? config.spendPolicy.scope;
62
+ const inputTokens = request.inputTokens ?? guard.estimateTokens(estimateText(request.messages));
63
+ const outputTokens = normalizeTokens(request.outputTokens ?? paramsMaxTokens(request.params), 512);
64
+ const ordered = selectCandidates(config.candidates, policy, inputTokens, outputTokens);
65
+ const considered = ordered.map((c) => ({
66
+ provider: c.provider,
67
+ model: c.model,
68
+ projectedCents: projectCents(c.model, inputTokens, outputTokens),
69
+ }));
70
+ const firstChoiceModel = ordered[0]?.model ?? request.params?.model ?? 'unknown';
71
+ const fallbacks = [];
72
+ for (let i = 0; i < ordered.length; i++) {
73
+ const candidate = ordered[i];
74
+ const call = buildCall(candidate, request, scope, inputTokens, outputTokens);
75
+ const { decision } = await guard.decide(call);
76
+ // (d) cap breach on the chosen model -> fail over to the next candidate.
77
+ if (decision.action === 'block') {
78
+ fallbacks.push({
79
+ provider: candidate.provider,
80
+ model: candidate.model,
81
+ reason: 'cap_breach',
82
+ detail: decision.reasons[0],
83
+ });
84
+ continue;
85
+ }
86
+ const executedModel = decision.action === 'downgrade' && decision.modelResolved !== decision.modelRequested
87
+ ? decision.modelResolved
88
+ : candidate.model;
89
+ let response;
90
+ try {
91
+ // (c) execute via the correct provider binding.
92
+ response = (await executeCandidate(candidate, executedModel, request));
93
+ }
94
+ catch (err) {
95
+ // (d) provider error/timeout -> fail over to the next candidate.
96
+ fallbacks.push({
97
+ provider: candidate.provider,
98
+ model: candidate.model,
99
+ reason: 'provider_error',
100
+ detail: errorDetail(err),
101
+ });
102
+ continue;
103
+ }
104
+ // (b) settle the true cost against the EXISTING spend window.
105
+ const resolvedCents = await settleUsage(guard, decision, response, executedModel, inputTokens, outputTokens);
106
+ const reason = resolveReason(policy, i, decision.action === 'downgrade');
107
+ // (e) sign a routing receipt onto the same chain via the existing infra.
108
+ const receiptPayload = {
109
+ policy: policy.mode,
110
+ ...(policy.requireCapability ? { requireCapability: policy.requireCapability } : {}),
111
+ candidates: considered,
112
+ chosen: { provider: candidate.provider, model: executedModel },
113
+ reason,
114
+ resolvedCents,
115
+ fallbacks,
116
+ enforcementDecisionId: decision.decisionId,
117
+ };
118
+ const { signed } = await guard.recordRoutingReceipt({
119
+ provider: ROUTER_PROVIDER_TO_ENFORCEMENT[candidate.provider],
120
+ modelRequested: firstChoiceModel,
121
+ modelResolved: executedModel,
122
+ projectedCents: resolvedCents,
123
+ reason,
124
+ routingReceipt: receiptPayload,
125
+ });
126
+ return {
127
+ response,
128
+ chosen: { provider: candidate.provider, model: executedModel },
129
+ reason,
130
+ resolvedCents,
131
+ fallbacks,
132
+ decision,
133
+ routingReceipt: signed,
134
+ };
135
+ }
136
+ throw new RoutingExhaustedError(fallbacks);
137
+ }
138
+ return { route, guard };
139
+ }
140
+ function selectCandidates(candidates, policy, inputTokens, outputTokens) {
141
+ let pool = candidates.slice();
142
+ if (policy.mode === 'capability') {
143
+ const tag = policy.requireCapability;
144
+ pool = pool.filter((c) => !tag || (c.capabilities ?? []).includes(tag));
145
+ }
146
+ if (policy.mode === 'priority') {
147
+ return pool; // honor the given order verbatim
148
+ }
149
+ // cost-first (also the tiebreaker within capability mode). Stable on ties by
150
+ // preserving original index order.
151
+ return pool
152
+ .map((candidate, index) => ({ candidate, index, cents: projectCents(candidate.model, inputTokens, outputTokens) }))
153
+ .sort((a, b) => a.cents - b.cents || a.index - b.index)
154
+ .map((entry) => entry.candidate);
155
+ }
156
+ function resolveReason(policy, winnerIndex, downgraded) {
157
+ if (downgraded)
158
+ return 'downgrade';
159
+ if (winnerIndex > 0)
160
+ return 'failover';
161
+ return policy.mode;
162
+ }
163
+ function buildCall(candidate, request, scope, inputTokens, outputTokens) {
164
+ return {
165
+ provider: ROUTER_PROVIDER_TO_ENFORCEMENT[candidate.provider],
166
+ model: candidate.model,
167
+ inputTokens,
168
+ outputTokens,
169
+ scope,
170
+ ...(request.capabilityClaim ? { capabilityClaim: request.capabilityClaim } : {}),
171
+ ...(request.label ? { label: request.label } : {}),
172
+ requestShape: { model: candidate.model, maxTokens: outputTokens, routedProvider: candidate.provider },
173
+ };
174
+ }
175
+ async function executeCandidate(candidate, model, request) {
176
+ const client = candidate.client;
177
+ const baseParams = { ...(request.params ?? {}) };
178
+ if (request.messages !== undefined && baseParams.messages === undefined) {
179
+ baseParams.messages = request.messages;
180
+ }
181
+ const params = { ...baseParams, model };
182
+ if ((candidate.provider === 'openai' || candidate.provider === 'openrouter') && client?.chat?.completions?.create) {
183
+ return client.chat.completions.create(params);
184
+ }
185
+ if (candidate.provider === 'anthropic' && client?.messages?.create) {
186
+ return client.messages.create(params);
187
+ }
188
+ if (candidate.provider === 'bedrock' && typeof client?.send === 'function') {
189
+ return client.send({
190
+ constructor: { name: 'InvokeModelCommand' },
191
+ input: { modelId: model, body: JSON.stringify(params) },
192
+ });
193
+ }
194
+ // Structural fallbacks so any minimal/mocked client still routes.
195
+ if (client?.chat?.completions?.create)
196
+ return client.chat.completions.create(params);
197
+ if (client?.messages?.create)
198
+ return client.messages.create(params);
199
+ if (typeof client?.create === 'function')
200
+ return client.create(params);
201
+ throw new Error(`router: candidate client for ${candidate.provider} exposes no known invoke method`);
202
+ }
203
+ async function settleUsage(guard, decision, response, executedModel, inputTokens, outputTokens) {
204
+ const usage = (0, spend_guard_1.extractUsage)(response);
205
+ if (usage) {
206
+ const settlement = await guard.settleStreamUsage(decision.decisionId, usage.inputTokens, usage.outputTokens, {
207
+ partial: false,
208
+ });
209
+ if (settlement && Number.isFinite(settlement.decision.actualCents)) {
210
+ return settlement.decision.actualCents;
211
+ }
212
+ const settled = (0, cost_table_1.computeCallCents)(executedModel, usage.inputTokens, usage.outputTokens);
213
+ if (settled !== null)
214
+ return settled;
215
+ }
216
+ return projectCents(executedModel, inputTokens, outputTokens);
217
+ }
218
+ function projectCents(model, inputTokens, outputTokens) {
219
+ const cents = (0, cost_table_1.computeCallCents)(model, inputTokens, outputTokens);
220
+ return cents === null ? Number.POSITIVE_INFINITY : cents;
221
+ }
222
+ function estimateText(messages) {
223
+ if (!Array.isArray(messages))
224
+ return '';
225
+ return messages
226
+ .map((message) => {
227
+ const content = message?.content;
228
+ if (typeof content === 'string')
229
+ return content;
230
+ return content == null ? '' : JSON.stringify(content);
231
+ })
232
+ .join('\n');
233
+ }
234
+ function paramsMaxTokens(params) {
235
+ const value = params?.max_tokens ?? params?.maxTokens ?? params?.max_completion_tokens;
236
+ return Number.isSafeInteger(value) && value >= 0 ? value : undefined;
237
+ }
238
+ function normalizeTokens(value, fallback) {
239
+ return Number.isSafeInteger(value) && value >= 0 ? value : fallback;
240
+ }
241
+ function errorDetail(err) {
242
+ if (err instanceof Error && err.message)
243
+ return err.message.slice(0, 160);
244
+ return 'provider_error';
245
+ }
246
+ //# sourceMappingURL=router-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-engine.js","sourceRoot":"","sources":["../src/router-engine.ts"],"names":[],"mappings":"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"}
package/dist/router.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * (App. Nos. 63/983,615; 63/983,621; 63/983,843; 63/984,626;
9
9
  * 64/071,781; 64/071,789).
10
10
  */
11
+ export { createRouter, RoutingExhaustedError, type ModelRouter, type CreateRouterConfig, type RouterCandidate, type RouterPolicy, type RouterProvider, type RouterRequest, type RouteResult, type RouteReason, type RouteFallback, } from './router-engine';
11
12
  export interface RouterCatalogModel {
12
13
  id: string;
13
14
  in_per_mtok: number;
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACnD,cAAc,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AA4lCD,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,wBAAwB,CA+BlF;AAaD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAKrE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7C,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACnD,cAAc,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AA4lCD,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,wBAAwB,CA+BlF;AAaD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAKrE"}
package/dist/router.js CHANGED
@@ -10,9 +10,15 @@
10
10
  * 64/071,781; 64/071,789).
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RoutingExhaustedError = exports.createRouter = void 0;
13
14
  exports.recommend = recommend;
14
15
  exports.defaultKey = defaultKey;
15
16
  const openrouter_catalog_1 = require("./openrouter-catalog");
17
+ // Spend-and-policy-aware model router (removes vendor risk). Re-exported here so
18
+ // the `./router` subpath exposes both the config recommender and the executor.
19
+ var router_engine_1 = require("./router-engine");
20
+ Object.defineProperty(exports, "createRouter", { enumerable: true, get: function () { return router_engine_1.createRouter; } });
21
+ Object.defineProperty(exports, "RoutingExhaustedError", { enumerable: true, get: function () { return router_engine_1.RoutingExhaustedError; } });
16
22
  const DEFAULTS = {
17
23
  "version": 2,
18
24
  "compliance_verticals": [
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * (App. Nos. 63/983,615; 63/983,621; 63/983,843; 63/984,626;
15
15
  * 64/071,781; 64/071,789).
16
16
  */
17
- import type { SpendPolicy, CallContext, SpendDecision, SpendStore, DecisionLogStore, SignedDecisionLogEntry, CapabilityTier, AttestationChainInput, SpendScope } from './types';
17
+ import type { SpendPolicy, CallContext, SpendDecision, SpendStore, DecisionLogStore, SignedDecisionLogEntry, Provider, CapabilityTier, AttestationChainInput, SpendScope } from './types';
18
18
  import { type LicenseClientOptions } from './license';
19
19
  import { type ManagedOpenRouterKeyOptions } from './openrouter/key-fetch';
20
20
  import { type ComplianceEnforcementConfig, type GovernancePosture } from './posture/enforce';
@@ -155,6 +155,25 @@ export declare class SpendGuard {
155
155
  decision: SpendDecision;
156
156
  signed: SignedDecisionLogEntry | null;
157
157
  }>;
158
+ /**
159
+ * Sign + hash-chain a routing receipt onto the SAME decision log as
160
+ * enforcement decisions. Reuses the existing Ed25519 + canonical-JSON signing
161
+ * path (`signAndAppendDecision`); it does NOT introduce a second crypto
162
+ * scheme. The routing receipt is metadata-only: candidates considered,
163
+ * chosen provider+model, reason, resolved cost, and fallbacks. Prompt and
164
+ * completion content and provider keys never enter it.
165
+ */
166
+ recordRoutingReceipt(input: {
167
+ provider: Provider;
168
+ modelRequested: string;
169
+ modelResolved: string;
170
+ projectedCents: number;
171
+ reason: string;
172
+ routingReceipt: Record<string, unknown>;
173
+ }): Promise<{
174
+ decision: SpendDecision;
175
+ signed: SignedDecisionLogEntry | null;
176
+ }>;
158
177
  private getSignerFingerprint;
159
178
  private refreshChainHead;
160
179
  private withDecisionLock;
@@ -1 +1 @@
1
- {"version":3,"file":"spend-guard.d.ts","sourceRoot":"","sources":["../src/spend-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spend-guard.d.ts","sourceRoot":"","sources":["../src/spend-guard.ts"],"names":[],"mappings":"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"}
@@ -290,6 +290,43 @@ class SpendGuard {
290
290
  }
291
291
  return result;
292
292
  }
293
+ /**
294
+ * Sign + hash-chain a routing receipt onto the SAME decision log as
295
+ * enforcement decisions. Reuses the existing Ed25519 + canonical-JSON signing
296
+ * path (`signAndAppendDecision`); it does NOT introduce a second crypto
297
+ * scheme. The routing receipt is metadata-only: candidates considered,
298
+ * chosen provider+model, reason, resolved cost, and fallbacks. Prompt and
299
+ * completion content and provider keys never enter it.
300
+ */
301
+ async recordRoutingReceipt(input) {
302
+ const decision = {
303
+ decisionId: (0, crypto_1.randomUUID)(),
304
+ timestamp: new Date().toISOString(),
305
+ action: 'allow',
306
+ triggeredCap: null,
307
+ triggeredScopeKey: null,
308
+ projectedCents: safeReceiptNumber(input.projectedCents),
309
+ windowSpendBefore: 0,
310
+ windowSpendAfter: safeReceiptNumber(input.projectedCents),
311
+ provider: input.provider,
312
+ modelRequested: input.modelRequested,
313
+ modelResolved: input.modelResolved,
314
+ policyId: this.config.policy.id,
315
+ policyVersion: this.config.policy.version,
316
+ enforcementMode: this.config.policy.mode,
317
+ reasons: [`Model router selected ${input.provider}/${input.modelResolved} (${input.reason})`],
318
+ entryType: 'routing',
319
+ routingReceipt: sanitizeOutcomeReceipt(input.routingReceipt),
320
+ };
321
+ const result = await this.withDecisionLock(async () => {
322
+ const signed = await this.signAndAppendDecision(decision);
323
+ return { decision, signed };
324
+ });
325
+ if (this.config.onDecision) {
326
+ await this.config.onDecision(result.decision, result.signed);
327
+ }
328
+ return result;
329
+ }
293
330
  getSignerFingerprint() {
294
331
  return this.config.signingKeys
295
332
  ? (0, decision_log_1.computeSignerFingerprint)(this.config.signingKeys.publicKey)