usertrust 1.3.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.
- package/README.md +9 -9
- package/dist/anomaly/detector.d.ts.map +1 -1
- package/dist/anomaly/detector.js +36 -11
- package/dist/anomaly/detector.js.map +1 -1
- package/dist/anomaly/signals/spend-velocity.d.ts +39 -12
- package/dist/anomaly/signals/spend-velocity.d.ts.map +1 -1
- package/dist/anomaly/signals/spend-velocity.js +66 -43
- package/dist/anomaly/signals/spend-velocity.js.map +1 -1
- package/dist/anomaly/signals/token-rate.d.ts +33 -13
- package/dist/anomaly/signals/token-rate.d.ts.map +1 -1
- package/dist/anomaly/signals/token-rate.js +124 -38
- package/dist/anomaly/signals/token-rate.js.map +1 -1
- package/dist/anomaly/types.d.ts +28 -6
- package/dist/anomaly/types.d.ts.map +1 -1
- package/dist/audit/chain.d.ts +9 -0
- package/dist/audit/chain.d.ts.map +1 -1
- package/dist/audit/chain.js +65 -9
- package/dist/audit/chain.js.map +1 -1
- package/dist/audit/verify.d.ts +19 -0
- package/dist/audit/verify.d.ts.map +1 -1
- package/dist/audit/verify.js +216 -14
- package/dist/audit/verify.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +107 -2
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/main.js +0 -0
- package/dist/cli/skill.d.ts.map +1 -1
- package/dist/cli/skill.js +35 -5
- package/dist/cli/skill.js.map +1 -1
- package/dist/cli/snapshot.d.ts.map +1 -1
- package/dist/cli/snapshot.js +20 -2
- package/dist/cli/snapshot.js.map +1 -1
- package/dist/cli/verify.d.ts.map +1 -1
- package/dist/cli/verify.js +20 -11
- package/dist/cli/verify.js.map +1 -1
- package/dist/detect.d.ts +34 -1
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +124 -0
- package/dist/detect.js.map +1 -1
- package/dist/govern.d.ts +13 -2
- package/dist/govern.d.ts.map +1 -1
- package/dist/govern.js +475 -127
- package/dist/govern.js.map +1 -1
- package/dist/headless.d.ts +41 -2
- package/dist/headless.d.ts.map +1 -1
- package/dist/headless.js +203 -35
- package/dist/headless.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/ledger/client.d.ts +14 -0
- package/dist/ledger/client.d.ts.map +1 -1
- package/dist/ledger/client.js +56 -0
- package/dist/ledger/client.js.map +1 -1
- package/dist/ledger/pricing.d.ts +54 -0
- package/dist/ledger/pricing.d.ts.map +1 -1
- package/dist/ledger/pricing.js +134 -8
- package/dist/ledger/pricing.js.map +1 -1
- package/dist/policy/default-rules.d.ts +18 -3
- package/dist/policy/default-rules.d.ts.map +1 -1
- package/dist/policy/default-rules.js +33 -15
- package/dist/policy/default-rules.js.map +1 -1
- package/dist/policy/gate.d.ts.map +1 -1
- package/dist/policy/gate.js +114 -16
- package/dist/policy/gate.js.map +1 -1
- package/dist/policy/injection.d.ts.map +1 -1
- package/dist/policy/injection.js +25 -16
- package/dist/policy/injection.js.map +1 -1
- package/dist/policy/pii.d.ts +20 -0
- package/dist/policy/pii.d.ts.map +1 -1
- package/dist/policy/pii.js +45 -2
- package/dist/policy/pii.js.map +1 -1
- package/dist/shared/types.d.ts +191 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +67 -6
- package/dist/shared/types.js.map +1 -1
- package/dist/snapshot/checkpoint.d.ts +18 -2
- package/dist/snapshot/checkpoint.d.ts.map +1 -1
- package/dist/snapshot/checkpoint.js +101 -17
- package/dist/snapshot/checkpoint.js.map +1 -1
- package/dist/streaming.d.ts +8 -3
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js +75 -31
- package/dist/streaming.js.map +1 -1
- package/dist/supply-chain/permissions.d.ts +16 -3
- package/dist/supply-chain/permissions.d.ts.map +1 -1
- package/dist/supply-chain/permissions.js +59 -9
- package/dist/supply-chain/permissions.js.map +1 -1
- package/dist/supply-chain/sign.d.ts +5 -2
- package/dist/supply-chain/sign.d.ts.map +1 -1
- package/dist/supply-chain/sign.js +10 -2
- package/dist/supply-chain/sign.js.map +1 -1
- package/package.json +2 -4
package/dist/headless.js
CHANGED
|
@@ -35,24 +35,39 @@
|
|
|
35
35
|
* await governor.destroy();
|
|
36
36
|
* ```
|
|
37
37
|
*/
|
|
38
|
-
import { createHash } from "node:crypto";
|
|
38
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
39
39
|
import { existsSync, mkdirSync } from "node:fs";
|
|
40
|
-
import { readFile, rename, writeFile } from "node:fs/promises";
|
|
40
|
+
import { readFile, rename, unlink, writeFile } from "node:fs/promises";
|
|
41
41
|
import { join } from "node:path";
|
|
42
|
+
import { CreateTransferError } from "tigerbeetle-node";
|
|
42
43
|
import { createAuditWriter } from "./audit/chain.js";
|
|
43
44
|
import { writeReceipt } from "./audit/rotation.js";
|
|
44
|
-
import { TrustTBClient, XFER_SPEND } from "./ledger/client.js";
|
|
45
|
-
import { estimateCost, estimateInputTokens } from "./ledger/pricing.js";
|
|
45
|
+
import { TBTransferError, TrustTBClient, XFER_SPEND } from "./ledger/client.js";
|
|
46
|
+
import { costFromRates, estimateCost, estimateInputTokens, resolveRates, warnUnknownModel, } from "./ledger/pricing.js";
|
|
46
47
|
import { recordPattern } from "./memory/patterns.js";
|
|
48
|
+
import { DEFAULT_RULES, mergePolicies } from "./policy/default-rules.js";
|
|
47
49
|
import { evaluatePolicy, loadPolicies } from "./policy/gate.js";
|
|
48
50
|
import { detectPII } from "./policy/pii.js";
|
|
49
51
|
import { CircuitBreakerRegistry } from "./resilience/circuit.js";
|
|
50
52
|
import { DEFAULT_BUDGET, VAULT_DIR } from "./shared/constants.js";
|
|
51
|
-
import { LedgerUnavailableError, PolicyDeniedError } from "./shared/errors.js";
|
|
53
|
+
import { InsufficientBalanceError, LedgerUnavailableError, PolicyDeniedError, } from "./shared/errors.js";
|
|
52
54
|
import { trustId } from "./shared/ids.js";
|
|
53
55
|
import { TrustConfigSchema } from "./shared/types.js";
|
|
54
56
|
// ── Verify URL base ──
|
|
55
57
|
const VERIFY_URL_BASE = "https://verify.usertrust.dev";
|
|
58
|
+
// ── M2 endpoint scope helpers ──
|
|
59
|
+
/**
|
|
60
|
+
* Normalize a (possibly partial, e.g. untyped-JS-caller) endpoint shape into a
|
|
61
|
+
* full EndpointInfo. Missing class defaults to "cloud" — the fail-EXPENSIVE
|
|
62
|
+
* safe default — and missing runtime to "unknown".
|
|
63
|
+
*/
|
|
64
|
+
function normalizeEndpoint(endpoint) {
|
|
65
|
+
return {
|
|
66
|
+
class: endpoint?.class ?? "cloud",
|
|
67
|
+
runtime: endpoint?.runtime ?? "unknown",
|
|
68
|
+
...(endpoint?.baseURL !== undefined ? { baseURL: endpoint.baseURL } : {}),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
56
71
|
// ── Async mutex (same as govern.ts AUD-453) ──
|
|
57
72
|
class AsyncMutex {
|
|
58
73
|
queue = Promise.resolve();
|
|
@@ -90,52 +105,111 @@ async function loadSpendLedger(vaultBase) {
|
|
|
90
105
|
async function persistSpendLedger(vaultBase, budgetSpent) {
|
|
91
106
|
const dir = join(vaultBase, VAULT_DIR);
|
|
92
107
|
const ledgerPath = join(dir, "spend-ledger.json");
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
};
|
|
108
|
+
// AUD-457 hardening (RECON #4): UNIQUE tmp path per write. A fixed
|
|
109
|
+
// `spend-ledger.json.tmp` lets two concurrent writers clobber each other's
|
|
110
|
+
// staging file, so a half-written record can be renamed into place. A pid +
|
|
111
|
+
// uuid suffix isolates every writer's staging file.
|
|
112
|
+
const tmpPath = join(dir, `spend-ledger.json.${process.pid}.${randomUUID()}.tmp`);
|
|
98
113
|
try {
|
|
114
|
+
// Ensure vault dir exists
|
|
99
115
|
if (!existsSync(dir)) {
|
|
100
116
|
mkdirSync(dir, { recursive: true });
|
|
101
117
|
}
|
|
118
|
+
// MONOTONIC guard (RECON #4): cumulative spend must never regress on disk.
|
|
119
|
+
// A stale/racing writer carrying a lower budgetSpent must not "un-spend"
|
|
120
|
+
// money that another writer (a concurrent settle, another process, or a
|
|
121
|
+
// prior run) already recorded. Skip the write if the persisted value is
|
|
122
|
+
// already >= ours.
|
|
123
|
+
const existing = await loadSpendLedger(vaultBase);
|
|
124
|
+
if (existing > budgetSpent) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const data = {
|
|
128
|
+
budgetSpent,
|
|
129
|
+
updatedAt: new Date().toISOString(),
|
|
130
|
+
};
|
|
131
|
+
// Atomic write: write UNIQUE tmp then rename over the target.
|
|
102
132
|
await writeFile(tmpPath, JSON.stringify(data), "utf-8");
|
|
103
133
|
await rename(tmpPath, ledgerPath);
|
|
104
134
|
}
|
|
105
135
|
catch {
|
|
106
|
-
// Best-effort — do not fail the LLM call over ledger persistence
|
|
136
|
+
// Best-effort — do not fail the LLM call over ledger persistence. Clean up
|
|
137
|
+
// our unique staging file if the rename never happened.
|
|
138
|
+
await unlink(tmpPath).catch(() => { });
|
|
107
139
|
}
|
|
108
140
|
}
|
|
109
|
-
// ── TigerBeetle engine factory (
|
|
110
|
-
|
|
141
|
+
// ── TigerBeetle engine factory (mirrors govern.ts) ──
|
|
142
|
+
/** TigerBeetle codes that mean "this debit would exceed the account's credits". */
|
|
143
|
+
function isTBInsufficientBalance(err) {
|
|
144
|
+
if (!(err instanceof TBTransferError))
|
|
145
|
+
return false;
|
|
146
|
+
return (err.code === CreateTransferError.exceeds_credits ||
|
|
147
|
+
err.code === CreateTransferError.overflows_debits ||
|
|
148
|
+
err.code === CreateTransferError.overflows_debits_pending);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Create a balance-enforcing TrustEngine backed by a real TigerBeetle client.
|
|
152
|
+
*
|
|
153
|
+
* P1-LEDGER-ENFORCE (RECON #3): the holding account is created with
|
|
154
|
+
* `debits_must_not_exceed_credits` and FUNDED with `seedBudget` usertokens, so a
|
|
155
|
+
* pending debit (hold) whose cumulative amount would exceed the remaining budget
|
|
156
|
+
* is REJECTED atomically by TigerBeetle. That rejection is surfaced as an
|
|
157
|
+
* {@link InsufficientBalanceError}, which the governor re-throws as a hard budget
|
|
158
|
+
* DENY (never as a ledger outage).
|
|
159
|
+
*
|
|
160
|
+
* NOTE (cross-domain): RECON #3 designates `createLedgerEngine` /
|
|
161
|
+
* `createFundedBudgetWallet` (LEDGER-owned, in `ledger/engine.ts`) as the eventual
|
|
162
|
+
* home for this factory. Those symbols do not yet exist on disk, so this
|
|
163
|
+
* HEADLESS-local factory implements the same funded-enforcing contract using the
|
|
164
|
+
* existing `TrustTBClient` primitives — identical to the GOVERN-local factory in
|
|
165
|
+
* `govern.ts`. When LEDGER ships `createLedgerEngine`, BOTH `trust()` and
|
|
166
|
+
* `createGovernor()` should switch to it in lockstep.
|
|
167
|
+
*/
|
|
168
|
+
async function createTBEngine(config, seedBudget) {
|
|
111
169
|
const tbAddresses = config.tigerbeetle.addresses;
|
|
112
170
|
const tbClusterId = BigInt(config.tigerbeetle.clusterId);
|
|
113
171
|
const tbClient = new TrustTBClient({
|
|
114
172
|
addresses: tbAddresses,
|
|
115
173
|
clusterId: tbClusterId,
|
|
116
174
|
});
|
|
175
|
+
// Treasury (unconstrained) funds a per-session enforcing holding wallet.
|
|
117
176
|
await tbClient.createTreasury();
|
|
118
|
-
|
|
177
|
+
const treasury = tbClient.getTreasuryId();
|
|
178
|
+
// Enforcing holding wallet (debits_must_not_exceed_credits), funded with the
|
|
179
|
+
// remaining session budget so cumulative pending debits cannot exceed it.
|
|
180
|
+
// A FRESH account id per session prevents double-funding a deterministic
|
|
181
|
+
// account across restarts (which would inflate the TB-enforced budget).
|
|
182
|
+
const holdingId = await tbClient.createFundedBudgetWallet(seedBudget);
|
|
119
183
|
const pendingMap = new Map();
|
|
120
184
|
return {
|
|
121
185
|
async spendPending(params) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
186
|
+
try {
|
|
187
|
+
const tbTransferId = await tbClient.createPendingTransfer({
|
|
188
|
+
debitAccountId: holdingId,
|
|
189
|
+
creditAccountId: treasury,
|
|
190
|
+
amount: params.amount,
|
|
191
|
+
code: XFER_SPEND,
|
|
192
|
+
});
|
|
193
|
+
pendingMap.set(params.transferId, tbTransferId);
|
|
194
|
+
return { transferId: params.transferId };
|
|
195
|
+
}
|
|
196
|
+
catch (err) {
|
|
197
|
+
// Over-budget reservation → TB rejects the pending debit. Surface as a
|
|
198
|
+
// budget error so the governor reports a hard DENY, not an outage.
|
|
199
|
+
if (isTBInsufficientBalance(err)) {
|
|
200
|
+
throw new InsufficientBalanceError("trust:hold", params.amount, seedBudget);
|
|
201
|
+
}
|
|
202
|
+
throw err;
|
|
203
|
+
}
|
|
132
204
|
},
|
|
133
|
-
async postPendingSpend(transferId) {
|
|
205
|
+
async postPendingSpend(transferId, actualAmount) {
|
|
134
206
|
const tbId = pendingMap.get(transferId);
|
|
135
207
|
if (tbId === undefined) {
|
|
136
208
|
throw new Error(`No pending transfer found for ${transferId}`);
|
|
137
209
|
}
|
|
138
|
-
|
|
210
|
+
// Post the ACTUAL consumed amount (≤ the reserved estimate); omitting it
|
|
211
|
+
// posts the full pending amount.
|
|
212
|
+
await tbClient.postTransfer(tbId, actualAmount);
|
|
139
213
|
pendingMap.delete(transferId);
|
|
140
214
|
},
|
|
141
215
|
async voidPendingSpend(transferId) {
|
|
@@ -190,13 +264,23 @@ export async function createGovernor(opts) {
|
|
|
190
264
|
});
|
|
191
265
|
}
|
|
192
266
|
const customRates = config.pricing === "custom" ? config.customRates : undefined;
|
|
267
|
+
// M2: governor-wide default endpoint scope; per-call AuthorizeParams.endpoint
|
|
268
|
+
// overrides it (A3). Defaults to cloud — pre-M2 metering exactly.
|
|
269
|
+
const defaultEndpoint = normalizeEndpoint(opts?.endpoint);
|
|
193
270
|
const isDryRun = opts?.dryRun ?? process.env.USERTRUST_DRY_RUN === "true";
|
|
194
271
|
const isTestEnv = process.env.USERTRUST_TEST === "1" || process.env.NODE_ENV === "test";
|
|
195
272
|
// 2. Initialize subsystems
|
|
196
273
|
const vaultPath = vaultBase;
|
|
197
274
|
const audit = (isTestEnv ? opts?._audit : undefined) ?? createAuditWriter(vaultPath);
|
|
198
275
|
const policiesPath = join(vaultPath, VAULT_DIR, config.policies);
|
|
199
|
-
const
|
|
276
|
+
const loadedRules = existsSync(policiesPath) ? loadPolicies(policiesPath) : [];
|
|
277
|
+
// P1-CUSTOM-POLICY-REPLACES (RECON #2): platform DEFAULT_RULES are ALWAYS
|
|
278
|
+
// enforced (parity with trust()). mergePolicies is a safe concat — a custom
|
|
279
|
+
// policy file can only ADD deny/warn rules, never remove the
|
|
280
|
+
// budget/overshoot/exhausted guarantees. Before this, headless dropped the
|
|
281
|
+
// defaults entirely when no policies file existed, so authorize() granted
|
|
282
|
+
// unbounded spend with no budget gate at all.
|
|
283
|
+
const policyRules = mergePolicies(DEFAULT_RULES, loadedRules);
|
|
200
284
|
const breaker = new CircuitBreakerRegistry({
|
|
201
285
|
failureThreshold: config.circuitBreaker.failureThreshold,
|
|
202
286
|
resetTimeoutMs: config.circuitBreaker.resetTimeout,
|
|
@@ -209,6 +293,9 @@ export async function createGovernor(opts) {
|
|
|
209
293
|
// AUD-456: proxyConn is always null now — proxy mode throws above.
|
|
210
294
|
// Cast keeps dead code paths type-safe for future re-enablement.
|
|
211
295
|
const proxyConn = null;
|
|
296
|
+
// AUD-457: restore cumulative spend from disk BEFORE building the engine so the
|
|
297
|
+
// enforcing holding account can be seeded with the REMAINING budget.
|
|
298
|
+
let budgetSpent = await loadSpendLedger(vaultBase);
|
|
212
299
|
// 4. Engine
|
|
213
300
|
let engine;
|
|
214
301
|
if (isTestEnv && opts?._engine !== undefined) {
|
|
@@ -216,7 +303,9 @@ export async function createGovernor(opts) {
|
|
|
216
303
|
}
|
|
217
304
|
else if (!isDryRun && proxyConn == null) {
|
|
218
305
|
try {
|
|
219
|
-
|
|
306
|
+
// P1-LEDGER-ENFORCE (RECON #3): seed the enforcing holding account with the
|
|
307
|
+
// remaining budget so TigerBeetle atomically REJECTS an over-budget hold.
|
|
308
|
+
engine = await createTBEngine(config, Math.max(0, config.budget - budgetSpent));
|
|
220
309
|
}
|
|
221
310
|
catch (err) {
|
|
222
311
|
throw new LedgerUnavailableError(err instanceof Error ? err.message : String(err));
|
|
@@ -227,10 +316,37 @@ export async function createGovernor(opts) {
|
|
|
227
316
|
}
|
|
228
317
|
// 5. State
|
|
229
318
|
let destroyed = false;
|
|
230
|
-
let budgetSpent = await loadSpendLedger(vaultBase);
|
|
231
319
|
const budgetMutex = new AsyncMutex();
|
|
232
320
|
let inFlightHoldTotal = 0;
|
|
233
321
|
const activeAuths = new Map();
|
|
322
|
+
// Finding-2 (RECON #4): serialized, monotonic spend-ledger persistence.
|
|
323
|
+
// budgetSpent only ever increases (settle adds actualCost >= 0; authorize and
|
|
324
|
+
// abort never mutate it). Persisting OUTSIDE the budget mutex means two
|
|
325
|
+
// concurrent settles can race the read-check-write inside persistSpendLedger:
|
|
326
|
+
// a settle carrying a LOWER cumulative can rename its file AFTER a settle
|
|
327
|
+
// carrying a HIGHER one, regressing the on-disk total and silently
|
|
328
|
+
// under-counting spend on restart (→ overspend). Serializing persistence on a
|
|
329
|
+
// dedicated mutex and refusing to write a value that does not exceed the last
|
|
330
|
+
// value we persisted closes that same-instance race atomically. The disk-read
|
|
331
|
+
// guard + unique tmp inside persistSpendLedger remain as the cross-instance /
|
|
332
|
+
// prior-run defence.
|
|
333
|
+
const persistMutex = new AsyncMutex();
|
|
334
|
+
let lastPersistedSpent = budgetSpent;
|
|
335
|
+
async function persistSpend() {
|
|
336
|
+
const release = await persistMutex.acquire();
|
|
337
|
+
try {
|
|
338
|
+
// Read the LIVE cumulative under the persist mutex — never a stale
|
|
339
|
+
// snapshot captured at an earlier call site.
|
|
340
|
+
const current = budgetSpent;
|
|
341
|
+
if (current <= lastPersistedSpent)
|
|
342
|
+
return;
|
|
343
|
+
lastPersistedSpent = current;
|
|
344
|
+
await persistSpendLedger(vaultBase, current);
|
|
345
|
+
}
|
|
346
|
+
finally {
|
|
347
|
+
release();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
234
350
|
// 6. Governor implementation
|
|
235
351
|
const governor = {
|
|
236
352
|
config,
|
|
@@ -244,23 +360,47 @@ export async function createGovernor(opts) {
|
|
|
244
360
|
// Circuit breaker — key on "headless" since we don't have a client kind
|
|
245
361
|
const cb = breaker.get("headless");
|
|
246
362
|
cb.allowRequest();
|
|
363
|
+
// M2: effective endpoint scope — per-call override wins over the
|
|
364
|
+
// governor-wide default (A3). Captured on the Authorization below so
|
|
365
|
+
// settle() meters with the AUTHORIZE-time scope.
|
|
366
|
+
const endpoint = params.endpoint !== undefined ? normalizeEndpoint(params.endpoint) : defaultEndpoint;
|
|
367
|
+
// Scope-aware rate resolution. resolveRates never throws;
|
|
368
|
+
// unknownModelPolicy is enforced HERE, at authorize time. `unknown` is
|
|
369
|
+
// only ever true for cloud scope — local misses resolve to
|
|
370
|
+
// "local-default" by definition (A5), so local calls never deny/warn.
|
|
371
|
+
const rateInfo = resolveRates(model, endpoint.class, config);
|
|
372
|
+
if (rateInfo.unknown) {
|
|
373
|
+
if (config.unknownModelPolicy === "deny") {
|
|
374
|
+
throw new PolicyDeniedError(`unknown_model: ${model} not in pricing table`);
|
|
375
|
+
}
|
|
376
|
+
if (config.unknownModelPolicy === "warn") {
|
|
377
|
+
// Shared once-per-process helper — identical wording to trust() (F5).
|
|
378
|
+
warnUnknownModel(model);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
247
381
|
// Estimate cost
|
|
248
382
|
const transferId = trustId("tx");
|
|
249
383
|
const estInputTokens = params.estimatedInputTokens ?? estimateInputTokens(messages);
|
|
250
384
|
const maxOutputTokens = params.maxOutputTokens ?? 4096;
|
|
251
|
-
const estCost =
|
|
385
|
+
const estCost = costFromRates(rateInfo.rates, estInputTokens, maxOutputTokens);
|
|
252
386
|
// Acquire mutex for budget atomicity (AUD-453)
|
|
253
387
|
const releaseBudgetLock = await budgetMutex.acquire();
|
|
254
388
|
let proxyTransferId;
|
|
255
389
|
try {
|
|
256
|
-
// Policy gate — caller params spread FIRST so governance
|
|
257
|
-
// fields
|
|
390
|
+
// Policy gate — caller params spread FIRST so trusted governance
|
|
391
|
+
// fields (tier/estimated_cost/budget_remaining/budget_remaining_after)
|
|
392
|
+
// CANNOT be shadowed by attacker-controlled params.
|
|
393
|
+
// P1-BUDGET-PREFLIGHT (RECON #1): budget_remaining_after is the derived
|
|
394
|
+
// field the block-budget-overshoot default rule compares against zero to
|
|
395
|
+
// deny a single overshooting call PRE-spend. As a HARD rule it fails
|
|
396
|
+
// CLOSED if omitted, so it MUST be supplied on every evaluation.
|
|
258
397
|
const policyResult = evaluatePolicy(policyRules, {
|
|
259
398
|
...(params.params ?? {}),
|
|
260
399
|
model,
|
|
261
400
|
tier: config.tier,
|
|
262
401
|
estimated_cost: estCost,
|
|
263
402
|
budget_remaining: config.budget - budgetSpent - inFlightHoldTotal,
|
|
403
|
+
budget_remaining_after: config.budget - budgetSpent - inFlightHoldTotal - estCost,
|
|
264
404
|
});
|
|
265
405
|
if (policyResult.decision === "deny") {
|
|
266
406
|
const reason = policyResult.reasons.length > 0 ? policyResult.reasons.join("; ") : "Policy denied";
|
|
@@ -292,6 +432,14 @@ export async function createGovernor(opts) {
|
|
|
292
432
|
await engine.spendPending({ transferId, amount: estCost });
|
|
293
433
|
}
|
|
294
434
|
catch (holdErr) {
|
|
435
|
+
// P1-LEDGER-ENFORCE: an over-budget reservation is rejected
|
|
436
|
+
// atomically by the ledger. Surface it as a hard budget DENY —
|
|
437
|
+
// NOT as "ledger unavailable" (which would misreport a budget cap
|
|
438
|
+
// as an outage).
|
|
439
|
+
if (holdErr instanceof InsufficientBalanceError) {
|
|
440
|
+
throw holdErr;
|
|
441
|
+
}
|
|
442
|
+
// Genuine ledger outage — do NOT forward to provider.
|
|
295
443
|
throw new LedgerUnavailableError(holdErr instanceof Error ? holdErr.message : String(holdErr));
|
|
296
444
|
}
|
|
297
445
|
}
|
|
@@ -306,6 +454,7 @@ export async function createGovernor(opts) {
|
|
|
306
454
|
model,
|
|
307
455
|
proxyTransferId,
|
|
308
456
|
createdAt: Date.now(),
|
|
457
|
+
endpoint,
|
|
309
458
|
};
|
|
310
459
|
activeAuths.set(transferId, auth);
|
|
311
460
|
return auth;
|
|
@@ -317,11 +466,15 @@ export async function createGovernor(opts) {
|
|
|
317
466
|
activeAuths.delete(auth.transferId);
|
|
318
467
|
const model = auth.model;
|
|
319
468
|
let callAuditDegraded = false;
|
|
469
|
+
// A3: settlement meters with the endpoint scope CAPTURED AT AUTHORIZE —
|
|
470
|
+
// SettleParams carries no endpoint field by design.
|
|
471
|
+
const endpoint = auth.endpoint ?? defaultEndpoint;
|
|
472
|
+
const rateInfo = resolveRates(model, endpoint.class, config);
|
|
320
473
|
// Determine actual cost
|
|
321
474
|
let actualCost;
|
|
322
475
|
let usageSource;
|
|
323
476
|
if (params?.inputTokens != null || params?.outputTokens != null) {
|
|
324
|
-
actualCost =
|
|
477
|
+
actualCost = costFromRates(rateInfo.rates, params.inputTokens ?? 0, params.outputTokens ?? 0);
|
|
325
478
|
usageSource = params.usageSource ?? "provider";
|
|
326
479
|
}
|
|
327
480
|
else {
|
|
@@ -338,7 +491,8 @@ export async function createGovernor(opts) {
|
|
|
338
491
|
finally {
|
|
339
492
|
releaseLock();
|
|
340
493
|
}
|
|
341
|
-
|
|
494
|
+
// Finding-2 (RECON #4): serialized monotonic persist — never regresses.
|
|
495
|
+
await persistSpend();
|
|
342
496
|
// Circuit breaker: success
|
|
343
497
|
const cb = breaker.get("headless");
|
|
344
498
|
cb.recordSuccess();
|
|
@@ -370,7 +524,9 @@ export async function createGovernor(opts) {
|
|
|
370
524
|
}
|
|
371
525
|
else if (engine != null && !isDryRun) {
|
|
372
526
|
try {
|
|
373
|
-
|
|
527
|
+
// Post the ACTUAL consumed cost (RECON #3) — which may be less than
|
|
528
|
+
// the reserved estimate.
|
|
529
|
+
await engine.postPendingSpend(auth.transferId, actualCost);
|
|
374
530
|
}
|
|
375
531
|
catch (postErr) {
|
|
376
532
|
settled = false;
|
|
@@ -450,6 +606,18 @@ export async function createGovernor(opts) {
|
|
|
450
606
|
provider: "headless",
|
|
451
607
|
timestamp: new Date().toISOString(),
|
|
452
608
|
usageSource,
|
|
609
|
+
// M2: endpoint classification + metering provenance (A6: computeMs is
|
|
610
|
+
// OMITTED, never undefined, when absent/invalid).
|
|
611
|
+
endpoint: { class: endpoint.class, runtime: endpoint.runtime },
|
|
612
|
+
meter: {
|
|
613
|
+
costBasis: rateInfo.costBasis,
|
|
614
|
+
rateSource: rateInfo.rateSource,
|
|
615
|
+
...(params?.computeMs != null &&
|
|
616
|
+
Number.isFinite(params.computeMs) &&
|
|
617
|
+
params.computeMs >= 0
|
|
618
|
+
? { computeMs: params.computeMs }
|
|
619
|
+
: {}),
|
|
620
|
+
},
|
|
453
621
|
...(params?.chunksDelivered != null ? { chunksDelivered: params.chunksDelivered } : {}),
|
|
454
622
|
...(callAuditDegraded ? { auditDegraded: true } : {}),
|
|
455
623
|
...(proxyConn != null ? { proxyStub: true } : {}),
|
package/dist/headless.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../src/headless.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../src/headless.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ export type { TrustOpts, TrustedClient } from "./govern.js";
|
|
|
3
3
|
export { createGovernor } from "./headless.js";
|
|
4
4
|
export type { Governor, Authorization, AuthorizeParams, SettleParams } from "./headless.js";
|
|
5
5
|
export { loadConfig, defineConfig } from "./config.js";
|
|
6
|
-
export
|
|
6
|
+
export { classifyEndpoint } from "./detect.js";
|
|
7
|
+
export type { TrustedResponse, TrustReceipt, TrustConfig, EndpointClass, EndpointInfo, LocalRuntime, CostBasis, RateSource, PolicyRule, FieldCondition, FieldOperator, PolicyEffect, PolicyEnforcement, PolicySeverity, BoardDecision, AuditEvent, LLMClientKind, ActionKind, ActionDescriptor, GovernedActionResult, InjectionDetection, CanaryToken, SkillPermission, SkillManifest, SkillVerification, CredentialScope, CredentialEntry, CredentialAccessResult, } from "./shared/types.js";
|
|
7
8
|
export { detectInjection } from "./policy/injection.js";
|
|
8
9
|
export { generateCanary, injectCanary, detectCanaryLeak } from "./policy/canary.js";
|
|
9
10
|
export { validateManifest, createUnsignedManifest, hashManifest } from "./supply-chain/manifest.js";
|
|
@@ -19,8 +20,8 @@ export type { PIIDetection } from "./policy/pii.js";
|
|
|
19
20
|
export { hashPrompt, recordPattern, suggestModel, getPatternStats } from "./memory/patterns.js";
|
|
20
21
|
export { buildMerkleTree, generateInclusionProof, verifyInclusionProof, generateConsistencyProof, verifyConsistencyProof, hashLeaf, hashInternal, } from "./audit/merkle.js";
|
|
21
22
|
export type { MerkleInclusionProof, MerkleConsistencyProof, MerkleSibling, } from "./audit/merkle.js";
|
|
22
|
-
export { getModelRates, estimateCost, estimateInputTokens } from "./ledger/pricing.js";
|
|
23
|
-
export type { ModelRates } from "./ledger/pricing.js";
|
|
23
|
+
export { getModelRates, estimateCost, estimateInputTokens, resolveRates, } from "./ledger/pricing.js";
|
|
24
|
+
export type { ModelRates, RateResolution } from "./ledger/pricing.js";
|
|
24
25
|
export { createBoard } from "./board/board.js";
|
|
25
26
|
export type { BoardStats, BoardReviewResult } from "./board/board.js";
|
|
26
27
|
export { CircuitBreaker, CircuitBreakerRegistry, CircuitOpenError } from "./resilience/circuit.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG5F,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGvD,YAAY,EACX,eAAe,EACf,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,GACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EACN,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,YAAY,GACZ,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGhG,OAAO,EACN,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,QAAQ,EACR,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,8 @@ export { trust } from "./govern.js";
|
|
|
7
7
|
export { createGovernor } from "./headless.js";
|
|
8
8
|
// Config
|
|
9
9
|
export { loadConfig, defineConfig } from "./config.js";
|
|
10
|
+
// Endpoint classification
|
|
11
|
+
export { classifyEndpoint } from "./detect.js";
|
|
10
12
|
// Injection detection
|
|
11
13
|
export { detectInjection } from "./policy/injection.js";
|
|
12
14
|
export { generateCanary, injectCanary, detectCanaryLeak } from "./policy/canary.js";
|
|
@@ -26,7 +28,7 @@ export { hashPrompt, recordPattern, suggestModel, getPatternStats } from "./memo
|
|
|
26
28
|
// Merkle proofs
|
|
27
29
|
export { buildMerkleTree, generateInclusionProof, verifyInclusionProof, generateConsistencyProof, verifyConsistencyProof, hashLeaf, hashInternal, } from "./audit/merkle.js";
|
|
28
30
|
// Pricing
|
|
29
|
-
export { getModelRates, estimateCost, estimateInputTokens } from "./ledger/pricing.js";
|
|
31
|
+
export { getModelRates, estimateCost, estimateInputTokens, resolveRates, } from "./ledger/pricing.js";
|
|
30
32
|
// Board
|
|
31
33
|
export { createBoard } from "./board/board.js";
|
|
32
34
|
// Circuit breaker
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,0CAA0C;AAE1C,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,0CAA0C;AAE1C,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAkC/C,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEnF,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,SAAS;AACT,OAAO,EACN,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,YAAY,GACZ,MAAM,oBAAoB,CAAC;AAK5B,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEhG,gBAAgB;AAChB,OAAO,EACN,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,QAAQ,EACR,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAO3B,UAAU;AACV,OAAO,EACN,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,GACZ,MAAM,qBAAqB,CAAC;AAG7B,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGnG,+BAA+B;AAC/B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/ledger/client.d.ts
CHANGED
|
@@ -46,6 +46,20 @@ export declare class TrustTBClient {
|
|
|
46
46
|
setTreasuryId(id: bigint): void;
|
|
47
47
|
createTreasury(): Promise<bigint>;
|
|
48
48
|
ensureEscrowAccount(label: string): Promise<bigint>;
|
|
49
|
+
/**
|
|
50
|
+
* Create a per-session budget wallet that TigerBeetle balance-enforces.
|
|
51
|
+
*
|
|
52
|
+
* The account carries `debits_must_not_exceed_credits` and is seeded with
|
|
53
|
+
* `seedCredits` usertokens via an ALLOCATION transfer from the treasury (the
|
|
54
|
+
* mint). Any pending debit against this wallet is atomically REJECTED by TB
|
|
55
|
+
* once cumulative (debits_pending + debits_posted) would exceed the seed —
|
|
56
|
+
* surfaced by createPendingTransfer as a {@link TBTransferError}.
|
|
57
|
+
*
|
|
58
|
+
* Returns a FRESH, non-deterministic account id (tbId()) every call, so
|
|
59
|
+
* re-initialising across processes never double-funds a shared deterministic
|
|
60
|
+
* account (which would inflate the enforced budget on every restart).
|
|
61
|
+
*/
|
|
62
|
+
createFundedBudgetWallet(seedCredits: number): Promise<bigint>;
|
|
49
63
|
setAccountMapping(userId: string, accountId: bigint): void;
|
|
50
64
|
getAccountId(userId: string): bigint;
|
|
51
65
|
getTreasuryId(): bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ledger/client.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAW1D,8EAA8E;AAC9E,qBAAa,eAAgB,SAAQ,KAAK;aAExB,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM;CAKhB;AAGD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAGnC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,WAAW,IAAI,CAAC;AAG7B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACnE;AAED,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,IAAI,CAAkE;IAC9E,OAAO,CAAC,OAAO,CAAC,CAA2D;IAC3E,OAAO,CAAC,mBAAmB,CAA+C;IAC1E,OAAO,CAAC,gBAAgB,CAA8B;gBAE1C,IAAI,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ledger/client.ts"],"names":[],"mappings":"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"}
|