usertrust 1.4.0 → 1.5.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.
Files changed (46) hide show
  1. package/dist/anomaly/detector.d.ts.map +1 -1
  2. package/dist/anomaly/detector.js +36 -11
  3. package/dist/anomaly/detector.js.map +1 -1
  4. package/dist/anomaly/signals/spend-velocity.d.ts +39 -12
  5. package/dist/anomaly/signals/spend-velocity.d.ts.map +1 -1
  6. package/dist/anomaly/signals/spend-velocity.js +66 -43
  7. package/dist/anomaly/signals/spend-velocity.js.map +1 -1
  8. package/dist/anomaly/signals/token-rate.d.ts +33 -13
  9. package/dist/anomaly/signals/token-rate.d.ts.map +1 -1
  10. package/dist/anomaly/signals/token-rate.js +124 -38
  11. package/dist/anomaly/signals/token-rate.js.map +1 -1
  12. package/dist/anomaly/types.d.ts +28 -6
  13. package/dist/anomaly/types.d.ts.map +1 -1
  14. package/dist/cli/init.d.ts.map +1 -1
  15. package/dist/cli/init.js +98 -1
  16. package/dist/cli/init.js.map +1 -1
  17. package/dist/cli/main.js +0 -0
  18. package/dist/detect.d.ts +34 -1
  19. package/dist/detect.d.ts.map +1 -1
  20. package/dist/detect.js +124 -0
  21. package/dist/detect.js.map +1 -1
  22. package/dist/govern.d.ts +8 -1
  23. package/dist/govern.d.ts.map +1 -1
  24. package/dist/govern.js +191 -12
  25. package/dist/govern.js.map +1 -1
  26. package/dist/headless.d.ts +41 -2
  27. package/dist/headless.d.ts.map +1 -1
  28. package/dist/headless.js +54 -3
  29. package/dist/headless.js.map +1 -1
  30. package/dist/index.d.ts +4 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +3 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/ledger/pricing.d.ts +54 -0
  35. package/dist/ledger/pricing.d.ts.map +1 -1
  36. package/dist/ledger/pricing.js +128 -8
  37. package/dist/ledger/pricing.js.map +1 -1
  38. package/dist/shared/types.d.ts +175 -0
  39. package/dist/shared/types.d.ts.map +1 -1
  40. package/dist/shared/types.js +55 -5
  41. package/dist/shared/types.js.map +1 -1
  42. package/dist/streaming.d.ts +8 -3
  43. package/dist/streaming.d.ts.map +1 -1
  44. package/dist/streaming.js +61 -30
  45. package/dist/streaming.js.map +1 -1
  46. package/package.json +1 -1
@@ -5,6 +5,7 @@
5
5
  *
6
6
  * Canonical pricing source for supported LLM models.
7
7
  */
8
+ import type { CostBasis, EndpointClass, RateSource, TrustConfig } from "../shared/types.js";
8
9
  export interface ModelRates {
9
10
  inputPer1k: number;
10
11
  outputPer1k: number;
@@ -25,11 +26,64 @@ export declare function modelsForProvider(provider: string): string[];
25
26
  * then FALLBACK_RATE for unknown models.
26
27
  */
27
28
  export declare function getModelRates(model: string, customRates?: Record<string, ModelRates>): ModelRates;
29
+ /**
30
+ * Emit the once-per-process cloud-scope "unknown model" warning for
31
+ * unknownModelPolicy "warn". Shared by trust() and createGovernor() so both
32
+ * governance paths log identical text and share a single dedup set. Idempotent
33
+ * per model string; the receipt's meter.rateSource "fallback" marker is set by
34
+ * the caller independently of this dedup.
35
+ */
36
+ export declare function warnUnknownModel(model: string): void;
37
+ /**
38
+ * Compute usertoken cost from explicit rates.
39
+ * Applies the same non-finite/negative clamp and >=1 floor as estimateCost —
40
+ * the floor is per-call and load-bearing (zero-amount ledger transfers are
41
+ * invalid; it is what makes a {0,0}-rate local call settle at exactly 1
42
+ * nominal usertoken).
43
+ */
44
+ export declare function costFromRates(rates: ModelRates, inputTokens: number, outputTokens: number): number;
28
45
  /**
29
46
  * Estimate cost in usertokens for a model call.
30
47
  * Returns at least 1 (floor to prevent zero-amount transfers).
31
48
  */
32
49
  export declare function estimateCost(model: string, inputTokens: number, outputTokens: number, customRates?: Record<string, ModelRates>): number;
50
+ /** A matched model-pattern entry: the pattern key that won and its value. */
51
+ export interface ModelPatternMatch<T> {
52
+ pattern: string;
53
+ value: T;
54
+ }
55
+ /**
56
+ * Match a model string against a record keyed by exact models or TRAILING-star
57
+ * globs ("llama3.3*"; "*" matches everything). Exact match beats any glob;
58
+ * among globs the longest prefix wins. This is the model-pattern matcher (A2) —
59
+ * hostname patterns use a different leading-star syntax, implemented in detect.ts.
60
+ *
61
+ * Used by local.models, anomaly tokenRate.perModel.
62
+ */
63
+ export declare function matchModelPattern<T>(model: string, patterns: Record<string, T>): ModelPatternMatch<T> | undefined;
64
+ /** Result of scope-aware rate resolution. */
65
+ export interface RateResolution {
66
+ rates: ModelRates;
67
+ scope: EndpointClass;
68
+ costBasis: CostBasis;
69
+ rateSource: RateSource;
70
+ /** true when cloud scope missed table+custom+prefix and fell back. */
71
+ unknown: boolean;
72
+ }
73
+ /**
74
+ * Resolve rates for a model within an endpoint scope. Never throws —
75
+ * unknownModelPolicy enforcement lives in the callers (govern/headless).
76
+ *
77
+ * Local scope: local.models exact match → longest trailing-* glob →
78
+ * local.defaultRate (rateSource "local-default"). NEVER FALLBACK_RATE, never
79
+ * the cloud table, never `unknown: true` (A5). costBasis is "usd-proxy" when
80
+ * local.rateClass is "amortized-usd", else "nominal".
81
+ *
82
+ * Cloud scope: delegates to the existing getModelRates(model, customRates)
83
+ * semantics, including the callers' pricing==="custom" gate on customRates;
84
+ * costBasis "usd-proxy"; unknown=true iff the result came from FALLBACK_RATE.
85
+ */
86
+ export declare function resolveRates(model: string, scope: EndpointClass, config: TrustConfig): RateResolution;
33
87
  /**
34
88
  * Estimate input token count from a messages array.
35
89
  * Heuristic: ~4 chars/token with a 1.5x safety margin so the PENDING
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/ledger/pricing.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA0CpD,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAKlD,+DAA+D;AAC/D,eAAO,MAAM,aAAa,EAAE,UAAiD,CAAC;AAiB9E,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAI5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,UAAU,CAejG;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GACtC,MAAM,CAWR;AA6BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAqC/D"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/ledger/pricing.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5F,MAAM,WAAW,UAAU;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA0CpD,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAKlD,+DAA+D;AAC/D,eAAO,MAAM,aAAa,EAAE,UAAiD,CAAC;AAiB9E,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAO5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,UAAU,CAsBjG;AAKD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAClB,MAAM,CAUR;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GACtC,MAAM,CAER;AAID,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,CAAC,CAAC;CACT;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GACzB,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,CAiBlC;AAED,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,WAAW,GACjB,cAAc,CAiDhB;AA6BD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAqC/D"}
@@ -59,6 +59,10 @@ const PROVIDER_MODEL_MAP = {
59
59
  };
60
60
  /** Return all PRICING_TABLE model keys that belong to a given provider. */
61
61
  export function modelsForProvider(provider) {
62
+ // Object.hasOwn guards against inherited Object.prototype keys: a provider
63
+ // name like "constructor" must resolve to nothing, not Object's constructor.
64
+ if (!Object.hasOwn(PROVIDER_MODEL_MAP, provider))
65
+ return [];
62
66
  const prefixes = PROVIDER_MODEL_MAP[provider];
63
67
  if (!prefixes)
64
68
  return [];
@@ -69,14 +73,21 @@ export function modelsForProvider(provider) {
69
73
  * then FALLBACK_RATE for unknown models.
70
74
  */
71
75
  export function getModelRates(model, customRates) {
72
- if (customRates) {
76
+ // Object.hasOwn guards both direct lookups against inherited Object.prototype
77
+ // members: a model string like "constructor"/"__proto__"/"toString" would
78
+ // otherwise resolve to a Function/object, survive the truthiness check, and
79
+ // yield NaN cost (NaN then defeats the Math.max(1, ...) floor and poisons the
80
+ // ledger). Prefix matching below is already own-key-only (SORTED_TABLE).
81
+ if (customRates && Object.hasOwn(customRates, model)) {
73
82
  const custom = customRates[model];
74
83
  if (custom)
75
84
  return custom;
76
85
  }
77
- const exact = PRICING_TABLE[model];
78
- if (exact)
79
- return exact;
86
+ if (Object.hasOwn(PRICING_TABLE, model)) {
87
+ const exact = PRICING_TABLE[model];
88
+ if (exact)
89
+ return exact;
90
+ }
80
91
  // Prefix match — longest key first prevents partial matches
81
92
  for (const [key, rates] of SORTED_TABLE) {
82
93
  if (model.startsWith(key))
@@ -84,12 +95,29 @@ export function getModelRates(model, customRates) {
84
95
  }
85
96
  return FALLBACK_RATE;
86
97
  }
98
+ /** Models already warned about — unknownModelPolicy "warn" fires once per model per process. */
99
+ const warnedUnknownModels = new Set();
87
100
  /**
88
- * Estimate cost in usertokens for a model call.
89
- * Returns at least 1 (floor to prevent zero-amount transfers).
101
+ * Emit the once-per-process cloud-scope "unknown model" warning for
102
+ * unknownModelPolicy "warn". Shared by trust() and createGovernor() so both
103
+ * governance paths log identical text and share a single dedup set. Idempotent
104
+ * per model string; the receipt's meter.rateSource "fallback" marker is set by
105
+ * the caller independently of this dedup.
90
106
  */
91
- export function estimateCost(model, inputTokens, outputTokens, customRates) {
92
- const rates = getModelRates(model, customRates);
107
+ export function warnUnknownModel(model) {
108
+ if (warnedUnknownModels.has(model))
109
+ return;
110
+ warnedUnknownModels.add(model);
111
+ console.warn(`[usertrust] unknown model "${model}": metering at FALLBACK_RATE (sonnet-class); add it to customRates or set unknownModelPolicy`);
112
+ }
113
+ /**
114
+ * Compute usertoken cost from explicit rates.
115
+ * Applies the same non-finite/negative clamp and >=1 floor as estimateCost —
116
+ * the floor is per-call and load-bearing (zero-amount ledger transfers are
117
+ * invalid; it is what makes a {0,0}-rate local call settle at exactly 1
118
+ * nominal usertoken).
119
+ */
120
+ export function costFromRates(rates, inputTokens, outputTokens) {
93
121
  // Defend against non-finite/negative token counts (garbage `max_tokens`, or
94
122
  // provider usage that reports a negative/NaN value): any count that is not a
95
123
  // finite number >= 0 is treated as 0. A NaN would otherwise poison budget
@@ -100,6 +128,98 @@ export function estimateCost(model, inputTokens, outputTokens, customRates) {
100
128
  const outputCost = (outTok / 1000) * rates.outputPer1k;
101
129
  return Math.max(1, Math.ceil(inputCost + outputCost));
102
130
  }
131
+ /**
132
+ * Estimate cost in usertokens for a model call.
133
+ * Returns at least 1 (floor to prevent zero-amount transfers).
134
+ */
135
+ export function estimateCost(model, inputTokens, outputTokens, customRates) {
136
+ return costFromRates(getModelRates(model, customRates), inputTokens, outputTokens);
137
+ }
138
+ /**
139
+ * Match a model string against a record keyed by exact models or TRAILING-star
140
+ * globs ("llama3.3*"; "*" matches everything). Exact match beats any glob;
141
+ * among globs the longest prefix wins. This is the model-pattern matcher (A2) —
142
+ * hostname patterns use a different leading-star syntax, implemented in detect.ts.
143
+ *
144
+ * Used by local.models, anomaly tokenRate.perModel.
145
+ */
146
+ export function matchModelPattern(model, patterns) {
147
+ // Object.hasOwn guards against inherited Object.prototype keys
148
+ // (model "constructor" must not resolve to a Function).
149
+ if (Object.hasOwn(patterns, model)) {
150
+ return { pattern: model, value: patterns[model] };
151
+ }
152
+ let best;
153
+ let bestLen = -1;
154
+ for (const [pattern, value] of Object.entries(patterns)) {
155
+ if (!pattern.endsWith("*"))
156
+ continue;
157
+ const prefix = pattern.slice(0, -1);
158
+ if (model.startsWith(prefix) && prefix.length > bestLen) {
159
+ best = { pattern, value };
160
+ bestLen = prefix.length;
161
+ }
162
+ }
163
+ return best;
164
+ }
165
+ /**
166
+ * Resolve rates for a model within an endpoint scope. Never throws —
167
+ * unknownModelPolicy enforcement lives in the callers (govern/headless).
168
+ *
169
+ * Local scope: local.models exact match → longest trailing-* glob →
170
+ * local.defaultRate (rateSource "local-default"). NEVER FALLBACK_RATE, never
171
+ * the cloud table, never `unknown: true` (A5). costBasis is "usd-proxy" when
172
+ * local.rateClass is "amortized-usd", else "nominal".
173
+ *
174
+ * Cloud scope: delegates to the existing getModelRates(model, customRates)
175
+ * semantics, including the callers' pricing==="custom" gate on customRates;
176
+ * costBasis "usd-proxy"; unknown=true iff the result came from FALLBACK_RATE.
177
+ */
178
+ export function resolveRates(model, scope, config) {
179
+ if (scope === "local") {
180
+ const costBasis = config.local.rateClass === "amortized-usd" ? "usd-proxy" : "nominal";
181
+ const match = matchModelPattern(model, config.local.models);
182
+ if (match !== undefined) {
183
+ return { rates: match.value, scope, costBasis, rateSource: "local-model", unknown: false };
184
+ }
185
+ return {
186
+ rates: config.local.defaultRate,
187
+ scope,
188
+ costBasis,
189
+ rateSource: "local-default",
190
+ unknown: false,
191
+ };
192
+ }
193
+ // Cloud scope — mirrors getModelRates(model, customRates) exactly, including
194
+ // the pricing==="custom" gate applied at the existing govern/headless call sites.
195
+ // Object.hasOwn guards both lookups so a model string like "constructor"/
196
+ // "__proto__" resolves to FALLBACK_RATE, never an inherited prototype member.
197
+ const customRates = config.pricing === "custom" ? config.customRates : undefined;
198
+ if (customRates && Object.hasOwn(customRates, model)) {
199
+ const custom = customRates[model];
200
+ if (custom) {
201
+ return { rates: custom, scope, costBasis: "usd-proxy", rateSource: "custom", unknown: false };
202
+ }
203
+ }
204
+ if (Object.hasOwn(PRICING_TABLE, model)) {
205
+ const exact = PRICING_TABLE[model];
206
+ if (exact) {
207
+ return { rates: exact, scope, costBasis: "usd-proxy", rateSource: "table", unknown: false };
208
+ }
209
+ }
210
+ for (const [key, rates] of SORTED_TABLE) {
211
+ if (model.startsWith(key)) {
212
+ return { rates, scope, costBasis: "usd-proxy", rateSource: "table", unknown: false };
213
+ }
214
+ }
215
+ return {
216
+ rates: FALLBACK_RATE,
217
+ scope,
218
+ costBasis: "usd-proxy",
219
+ rateSource: "fallback",
220
+ unknown: true,
221
+ };
222
+ }
103
223
  /**
104
224
  * Estimate the block-level token count for a non-text content block.
105
225
  * Extracts textual payload where possible, falls back to serialised length.
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/ledger/pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/ledger/pricing.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
1
  import { z } from "zod";
2
+ /** Settlement scope of an endpoint: local (self-hosted) or cloud (metered provider). */
3
+ export type EndpointClass = "local" | "cloud";
4
+ /** Best-effort runtime label for a local endpoint (receipt/UX metadata only). */
5
+ export type LocalRuntime = "ollama" | "vllm" | "lmstudio" | "openai-compat" | "unknown";
6
+ /** Result of endpoint classification — selects the settlement regime for a call. */
7
+ export interface EndpointInfo {
8
+ class: EndpointClass;
9
+ runtime: LocalRuntime;
10
+ baseURL?: string | undefined;
11
+ }
12
+ /** Denomination of a settled cost: real-dollar proxy or nominal bookkeeping units. */
13
+ export type CostBasis = "usd-proxy" | "nominal";
14
+ /** Where the applied rates came from during resolution. */
15
+ export type RateSource = "table" | "custom" | "local-model" | "local-default" | "fallback";
2
16
  export interface TrustReceipt {
3
17
  transferId: string;
4
18
  cost: number;
@@ -18,6 +32,17 @@ export interface TrustReceipt {
18
32
  chunksDelivered?: number;
19
33
  /** Action kind for governed non-LLM actions. Absent for LLM calls (backward compat). */
20
34
  actionKind?: ActionKind;
35
+ /** Endpoint classification for this call. Absent on pre-M2 receipts. */
36
+ endpoint?: {
37
+ class: EndpointClass;
38
+ runtime: LocalRuntime;
39
+ };
40
+ /** Metering provenance: denomination and rate origin of the settled cost. */
41
+ meter?: {
42
+ costBasis: CostBasis;
43
+ rateSource: RateSource;
44
+ computeMs?: number;
45
+ };
21
46
  }
22
47
  export interface TrustedResponse<T> {
23
48
  response: T;
@@ -105,6 +130,94 @@ export declare const TrustConfigSchema: z.ZodObject<{
105
130
  inputPer1k: number;
106
131
  outputPer1k: number;
107
132
  }>>>;
133
+ /**
134
+ * Endpoint matchers consumed by classifyEndpoint(). First match wins.
135
+ * match forms: scheme URL ("http://gpu-box:8000", matched by origin),
136
+ * leading-star hostname suffix ("*.gpu.internal"), or bare hostname ("gpu-box").
137
+ */
138
+ endpoints: z.ZodDefault<z.ZodArray<z.ZodObject<{
139
+ match: z.ZodString;
140
+ class: z.ZodDefault<z.ZodEnum<["local", "cloud"]>>;
141
+ runtime: z.ZodDefault<z.ZodEnum<["ollama", "vllm", "lmstudio", "openai-compat", "unknown"]>>;
142
+ }, "strip", z.ZodTypeAny, {
143
+ match: string;
144
+ class: "local" | "cloud";
145
+ runtime: "ollama" | "vllm" | "lmstudio" | "openai-compat" | "unknown";
146
+ }, {
147
+ match: string;
148
+ class?: "local" | "cloud" | undefined;
149
+ runtime?: "ollama" | "vllm" | "lmstudio" | "openai-compat" | "unknown" | undefined;
150
+ }>, "many">>;
151
+ /** Local (zero-marginal-cost) settlement scope. */
152
+ local: z.ZodDefault<z.ZodObject<{
153
+ /** Loopback hosts (localhost/127.0.0.1/[::1]) classify as local without config. */
154
+ autoDetectLoopback: z.ZodDefault<z.ZodBoolean>;
155
+ /**
156
+ * Rate applied to any local-scope model with no local.models match. Default {0,0}:
157
+ * with the >=1 floor, every local call settles at exactly 1 nominal usertoken.
158
+ */
159
+ defaultRate: z.ZodDefault<z.ZodObject<{
160
+ inputPer1k: z.ZodNumber;
161
+ outputPer1k: z.ZodNumber;
162
+ }, "strip", z.ZodTypeAny, {
163
+ inputPer1k: number;
164
+ outputPer1k: number;
165
+ }, {
166
+ inputPer1k: number;
167
+ outputPer1k: number;
168
+ }>>;
169
+ /**
170
+ * Denomination of local rates: "nominal" (bookkeeping units) or "amortized-usd"
171
+ * (operator's GPU-chargeback rate; 1 usertoken = $0.0001 as usual).
172
+ */
173
+ rateClass: z.ZodDefault<z.ZodEnum<["nominal", "amortized-usd"]>>;
174
+ /**
175
+ * Per-model local rates. Keys: exact model strings or trailing-* globs
176
+ * ("llama3.3*", "*"). Exact match beats glob; longest glob wins.
177
+ */
178
+ models: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
179
+ inputPer1k: z.ZodNumber;
180
+ outputPer1k: z.ZodNumber;
181
+ }, "strip", z.ZodTypeAny, {
182
+ inputPer1k: number;
183
+ outputPer1k: number;
184
+ }, {
185
+ inputPer1k: number;
186
+ outputPer1k: number;
187
+ }>>>;
188
+ /** Inject stream_options:{include_usage:true} into local openai-kind streams. */
189
+ injectUsageOptions: z.ZodDefault<z.ZodBoolean>;
190
+ }, "strip", z.ZodTypeAny, {
191
+ models: Record<string, {
192
+ inputPer1k: number;
193
+ outputPer1k: number;
194
+ }>;
195
+ autoDetectLoopback: boolean;
196
+ defaultRate: {
197
+ inputPer1k: number;
198
+ outputPer1k: number;
199
+ };
200
+ rateClass: "nominal" | "amortized-usd";
201
+ injectUsageOptions: boolean;
202
+ }, {
203
+ models?: Record<string, {
204
+ inputPer1k: number;
205
+ outputPer1k: number;
206
+ }> | undefined;
207
+ autoDetectLoopback?: boolean | undefined;
208
+ defaultRate?: {
209
+ inputPer1k: number;
210
+ outputPer1k: number;
211
+ } | undefined;
212
+ rateClass?: "nominal" | "amortized-usd" | undefined;
213
+ injectUsageOptions?: boolean | undefined;
214
+ }>>;
215
+ /**
216
+ * Cloud-scope policy when a model misses customRates, PRICING_TABLE, and prefix match.
217
+ * "fallback" = silent sonnet-class rate (legacy) · "warn" = same rate + one-time warn +
218
+ * receipt.meter.rateSource "fallback" · "deny" = PolicyDeniedError before the PENDING hold.
219
+ */
220
+ unknownModelPolicy: z.ZodDefault<z.ZodEnum<["fallback", "warn", "deny"]>>;
108
221
  supplyChain: z.ZodDefault<z.ZodObject<{
109
222
  enabled: z.ZodDefault<z.ZodBoolean>;
110
223
  trustedPublishers: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
@@ -164,26 +277,38 @@ export declare const TrustConfigSchema: z.ZodObject<{
164
277
  enabled: z.ZodDefault<z.ZodBoolean>;
165
278
  tokenRate: z.ZodDefault<z.ZodObject<{
166
279
  thresholdTokPerSec: z.ZodDefault<z.ZodNumber>;
280
+ /** Local-scope threshold (fast local GPU inference legitimately exceeds 500). */
281
+ localThresholdTokPerSec: z.ZodDefault<z.ZodNumber>;
282
+ /** Per-model threshold overrides. Keys: exact model or trailing-* glob. */
283
+ perModel: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
167
284
  windowMs: z.ZodDefault<z.ZodNumber>;
168
285
  consecutiveWindows: z.ZodDefault<z.ZodNumber>;
169
286
  }, "strip", z.ZodTypeAny, {
170
287
  thresholdTokPerSec: number;
288
+ localThresholdTokPerSec: number;
289
+ perModel: Record<string, number>;
171
290
  windowMs: number;
172
291
  consecutiveWindows: number;
173
292
  }, {
174
293
  thresholdTokPerSec?: number | undefined;
294
+ localThresholdTokPerSec?: number | undefined;
295
+ perModel?: Record<string, number> | undefined;
175
296
  windowMs?: number | undefined;
176
297
  consecutiveWindows?: number | undefined;
177
298
  }>>;
178
299
  spendVelocity: z.ZodDefault<z.ZodObject<{
179
300
  thresholdDollarsPerMin: z.ZodDefault<z.ZodNumber>;
301
+ /** Local-scope velocity threshold in nominal usertokens per minute. */
302
+ localThresholdUsertokensPerMin: z.ZodDefault<z.ZodNumber>;
180
303
  windowMs: z.ZodDefault<z.ZodNumber>;
181
304
  }, "strip", z.ZodTypeAny, {
182
305
  windowMs: number;
183
306
  thresholdDollarsPerMin: number;
307
+ localThresholdUsertokensPerMin: number;
184
308
  }, {
185
309
  windowMs?: number | undefined;
186
310
  thresholdDollarsPerMin?: number | undefined;
311
+ localThresholdUsertokensPerMin?: number | undefined;
187
312
  }>>;
188
313
  injectionCascade: z.ZodDefault<z.ZodObject<{
189
314
  eventCount: z.ZodDefault<z.ZodNumber>;
@@ -200,12 +325,15 @@ export declare const TrustConfigSchema: z.ZodObject<{
200
325
  enabled: boolean;
201
326
  tokenRate: {
202
327
  thresholdTokPerSec: number;
328
+ localThresholdTokPerSec: number;
329
+ perModel: Record<string, number>;
203
330
  windowMs: number;
204
331
  consecutiveWindows: number;
205
332
  };
206
333
  spendVelocity: {
207
334
  windowMs: number;
208
335
  thresholdDollarsPerMin: number;
336
+ localThresholdUsertokensPerMin: number;
209
337
  };
210
338
  injectionCascade: {
211
339
  windowMs: number;
@@ -216,12 +344,15 @@ export declare const TrustConfigSchema: z.ZodObject<{
216
344
  enabled?: boolean | undefined;
217
345
  tokenRate?: {
218
346
  thresholdTokPerSec?: number | undefined;
347
+ localThresholdTokPerSec?: number | undefined;
348
+ perModel?: Record<string, number> | undefined;
219
349
  windowMs?: number | undefined;
220
350
  consecutiveWindows?: number | undefined;
221
351
  } | undefined;
222
352
  spendVelocity?: {
223
353
  windowMs?: number | undefined;
224
354
  thresholdDollarsPerMin?: number | undefined;
355
+ localThresholdUsertokensPerMin?: number | undefined;
225
356
  } | undefined;
226
357
  injectionCascade?: {
227
358
  windowMs?: number | undefined;
@@ -235,6 +366,19 @@ export declare const TrustConfigSchema: z.ZodObject<{
235
366
  indexLimit: number;
236
367
  failClosed: boolean;
237
368
  };
369
+ local: {
370
+ models: Record<string, {
371
+ inputPer1k: number;
372
+ outputPer1k: number;
373
+ }>;
374
+ autoDetectLoopback: boolean;
375
+ defaultRate: {
376
+ inputPer1k: number;
377
+ outputPer1k: number;
378
+ };
379
+ rateClass: "nominal" | "amortized-usd";
380
+ injectUsageOptions: boolean;
381
+ };
238
382
  budget: number;
239
383
  tier: "free" | "mini" | "pro" | "mega" | "ultra";
240
384
  policies: string;
@@ -261,6 +405,12 @@ export declare const TrustConfigSchema: z.ZodObject<{
261
405
  models: string[];
262
406
  }[];
263
407
  pricing: "custom" | "recommended";
408
+ endpoints: {
409
+ match: string;
410
+ class: "local" | "cloud";
411
+ runtime: "ollama" | "vllm" | "lmstudio" | "openai-compat" | "unknown";
412
+ }[];
413
+ unknownModelPolicy: "fallback" | "warn" | "deny";
264
414
  supplyChain: {
265
415
  enabled: boolean;
266
416
  trustedPublishers: string[];
@@ -282,12 +432,15 @@ export declare const TrustConfigSchema: z.ZodObject<{
282
432
  enabled: boolean;
283
433
  tokenRate: {
284
434
  thresholdTokPerSec: number;
435
+ localThresholdTokPerSec: number;
436
+ perModel: Record<string, number>;
285
437
  windowMs: number;
286
438
  consecutiveWindows: number;
287
439
  };
288
440
  spendVelocity: {
289
441
  windowMs: number;
290
442
  thresholdDollarsPerMin: number;
443
+ localThresholdUsertokensPerMin: number;
291
444
  };
292
445
  injectionCascade: {
293
446
  windowMs: number;
@@ -308,6 +461,19 @@ export declare const TrustConfigSchema: z.ZodObject<{
308
461
  indexLimit?: number | undefined;
309
462
  failClosed?: boolean | undefined;
310
463
  } | undefined;
464
+ local?: {
465
+ models?: Record<string, {
466
+ inputPer1k: number;
467
+ outputPer1k: number;
468
+ }> | undefined;
469
+ autoDetectLoopback?: boolean | undefined;
470
+ defaultRate?: {
471
+ inputPer1k: number;
472
+ outputPer1k: number;
473
+ } | undefined;
474
+ rateClass?: "nominal" | "amortized-usd" | undefined;
475
+ injectUsageOptions?: boolean | undefined;
476
+ } | undefined;
311
477
  tier?: "free" | "mini" | "pro" | "mega" | "ultra" | undefined;
312
478
  proxy?: string | undefined;
313
479
  key?: string | undefined;
@@ -339,6 +505,12 @@ export declare const TrustConfigSchema: z.ZodObject<{
339
505
  inputPer1k: number;
340
506
  outputPer1k: number;
341
507
  }> | undefined;
508
+ endpoints?: {
509
+ match: string;
510
+ class?: "local" | "cloud" | undefined;
511
+ runtime?: "ollama" | "vllm" | "lmstudio" | "openai-compat" | "unknown" | undefined;
512
+ }[] | undefined;
513
+ unknownModelPolicy?: "fallback" | "warn" | "deny" | undefined;
342
514
  supplyChain?: {
343
515
  enabled?: boolean | undefined;
344
516
  trustedPublishers?: string[] | undefined;
@@ -360,12 +532,15 @@ export declare const TrustConfigSchema: z.ZodObject<{
360
532
  enabled?: boolean | undefined;
361
533
  tokenRate?: {
362
534
  thresholdTokPerSec?: number | undefined;
535
+ localThresholdTokPerSec?: number | undefined;
536
+ perModel?: Record<string, number> | undefined;
363
537
  windowMs?: number | undefined;
364
538
  consecutiveWindows?: number | undefined;
365
539
  } | undefined;
366
540
  spendVelocity?: {
367
541
  windowMs?: number | undefined;
368
542
  thresholdDollarsPerMin?: number | undefined;
543
+ localThresholdUsertokensPerMin?: number | undefined;
369
544
  } | undefined;
370
545
  injectionCascade?: {
371
546
  windowMs?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}