usertrust 0.2.6 → 1.0.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/dist/cli/main.js CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"govern.d.ts","sourceRoot":"","sources":["../src/govern.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAsBvE,MAAM,WAAW,SAAS;IACzB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC3B,YAAY,CAAC,MAAM,EAAE;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,gEAAgE;IAChE,cAAc,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,IAAI,CAAC;CACjB;AAED,+DAA+D;AAC/D,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAsEhE,wBAAsB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAggBrF"}
1
+ {"version":3,"file":"govern.d.ts","sourceRoot":"","sources":["../src/govern.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAsBvE,MAAM,WAAW,SAAS;IACzB,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC3B,YAAY,CAAC,MAAM,EAAE;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpC,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,gEAAgE;IAChE,cAAc,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,IAAI,CAAC;CACjB;AAED,+DAA+D;AAC/D,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAyEhE,wBAAsB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAomBrF"}
package/dist/govern.js CHANGED
@@ -72,7 +72,10 @@ async function loadSpendLedger(vaultBase) {
72
72
  typeof parsed === "object" &&
73
73
  "budgetSpent" in parsed &&
74
74
  typeof parsed.budgetSpent === "number") {
75
- return parsed.budgetSpent;
75
+ const value = parsed.budgetSpent;
76
+ if (Number.isFinite(value) && value >= 0) {
77
+ return value;
78
+ }
76
79
  }
77
80
  }
78
81
  catch {
@@ -161,6 +164,8 @@ export async function trust(client, opts) {
161
164
  let budgetSpent = await loadSpendLedger(vaultBase); // AUD-457: restore from disk
162
165
  const budgetMutex = new AsyncMutex(); // AUD-453: serialise budget-check + hold
163
166
  let inFlightCount = 0; // AUD-462: track in-flight calls for graceful destroy
167
+ let inFlightStreamCount = 0; // AUD-462: track in-flight streams (consumed after interceptCall returns)
168
+ let inFlightHoldTotal = 0; // Track estimated cost of in-flight pending holds
164
169
  // 7. Two-phase intercept
165
170
  async function interceptCall(originalFn, thisArg, args) {
166
171
  if (destroyed) {
@@ -194,7 +199,7 @@ export async function trust(client, opts) {
194
199
  model,
195
200
  tier: config.tier,
196
201
  estimated_cost: estimatedCost,
197
- budget_remaining: config.budget - budgetSpent,
202
+ budget_remaining: config.budget - budgetSpent - inFlightHoldTotal,
198
203
  ...params,
199
204
  });
200
205
  if (policyResult.decision === "deny") {
@@ -236,6 +241,8 @@ export async function trust(client, opts) {
236
241
  throw new LedgerUnavailableError(holdErr instanceof Error ? holdErr.message : String(holdErr));
237
242
  }
238
243
  }
244
+ // Track in-flight hold cost for accurate budget calculations
245
+ inFlightHoldTotal += estimatedCost;
239
246
  }
240
247
  finally {
241
248
  // AUD-453: Release lock after budget check + hold are complete
@@ -251,8 +258,20 @@ export async function trust(client, opts) {
251
258
  typeof response === "object" &&
252
259
  Symbol.asyncIterator in response) {
253
260
  const stream = response;
254
- const governedStream = createGovernedStream(stream, kind, async (usage) => {
255
- const streamCost = estimateCost(model, usage.inputTokens, usage.outputTokens);
261
+ const governedStream = createGovernedStream(stream, kind, async (completion) => {
262
+ // Determine cost: use provider usage if reported, else fall back to estimate
263
+ let streamCost;
264
+ let usageSource;
265
+ if (completion.usageReported) {
266
+ streamCost = estimateCost(model, completion.usage.inputTokens, completion.usage.outputTokens);
267
+ usageSource = "provider";
268
+ }
269
+ else {
270
+ streamCost = estimatedCost;
271
+ usageSource = "estimated";
272
+ }
273
+ // Release in-flight hold
274
+ inFlightHoldTotal -= estimatedCost;
256
275
  budgetSpent += streamCost;
257
276
  // AUD-457: Persist cumulative spend to disk
258
277
  await persistSpendLedger(vaultBase, budgetSpent);
@@ -262,16 +281,48 @@ export async function trust(client, opts) {
262
281
  // AUD-460: Use the proxy's transferId for settlement
263
282
  await proxyConn.settle(proxyTransferId ?? transferId, streamCost);
264
283
  }
265
- catch {
284
+ catch (postErr) {
266
285
  settled = false;
286
+ await audit
287
+ .appendEvent({
288
+ kind: "settlement_ambiguous",
289
+ actor: "local",
290
+ data: {
291
+ model,
292
+ cost: streamCost,
293
+ transferId,
294
+ error: postErr instanceof Error
295
+ ? postErr.message.slice(0, 200)
296
+ : String(postErr).slice(0, 200),
297
+ },
298
+ })
299
+ .catch(() => {
300
+ callAuditDegraded = true;
301
+ });
267
302
  }
268
303
  }
269
304
  else if (engine != null && !isDryRun) {
270
305
  try {
271
306
  await engine.postPendingSpend(transferId);
272
307
  }
273
- catch {
308
+ catch (postErr) {
274
309
  settled = false;
310
+ await audit
311
+ .appendEvent({
312
+ kind: "settlement_ambiguous",
313
+ actor: "local",
314
+ data: {
315
+ model,
316
+ cost: streamCost,
317
+ transferId,
318
+ error: postErr instanceof Error
319
+ ? postErr.message.slice(0, 200)
320
+ : String(postErr).slice(0, 200),
321
+ },
322
+ })
323
+ .catch(() => {
324
+ callAuditDegraded = true;
325
+ });
275
326
  }
276
327
  }
277
328
  const syntheticHash = createHash("sha256").update(transferId).digest("hex");
@@ -280,17 +331,24 @@ export async function trust(client, opts) {
280
331
  const auditEvent = await audit.appendEvent({
281
332
  kind: "llm_call",
282
333
  actor: "local",
283
- data: { model, cost: streamCost, settled, transferId },
334
+ data: {
335
+ model,
336
+ cost: streamCost,
337
+ settled,
338
+ transferId,
339
+ usageSource,
340
+ chunksDelivered: completion.chunksDelivered,
341
+ },
284
342
  });
285
343
  auditHash = auditEvent.hash;
286
344
  }
287
345
  catch {
288
346
  callAuditDegraded = true;
289
347
  }
290
- return {
348
+ const streamReceipt = {
291
349
  transferId,
292
350
  cost: streamCost,
293
- budgetRemaining: config.budget - budgetSpent,
351
+ budgetRemaining: config.budget - budgetSpent - inFlightHoldTotal,
294
352
  auditHash,
295
353
  chainPath: join(VAULT_DIR, "audit"),
296
354
  receiptUrl: opts?.proxy != null ? `${VERIFY_URL_BASE}/${transferId}` : null,
@@ -298,12 +356,36 @@ export async function trust(client, opts) {
298
356
  model,
299
357
  provider: kind,
300
358
  timestamp: new Date().toISOString(),
359
+ usageSource,
360
+ chunksDelivered: completion.chunksDelivered,
301
361
  ...(callAuditDegraded ? { auditDegraded: true } : {}),
302
362
  // AUD-456: Flag proxy stub receipts
303
363
  ...(proxyConn != null ? { proxyStub: true } : {}),
304
364
  };
305
- }, (error) => {
365
+ inFlightStreamCount--;
366
+ return streamReceipt;
367
+ }, (error, partial) => {
368
+ // Release in-flight hold
369
+ inFlightHoldTotal -= estimatedCost;
306
370
  cb.recordFailure();
371
+ // Best-effort audit of partial delivery
372
+ audit
373
+ .appendEvent({
374
+ kind: "stream_partial_delivery",
375
+ actor: "local",
376
+ data: {
377
+ transferId,
378
+ model,
379
+ chunksDelivered: partial.chunksDelivered,
380
+ partialInputTokens: partial.usage.inputTokens,
381
+ partialOutputTokens: partial.usage.outputTokens,
382
+ usageReported: partial.usageReported,
383
+ error: error instanceof Error
384
+ ? error.message.slice(0, 200)
385
+ : String(error).slice(0, 200),
386
+ },
387
+ })
388
+ .catch(() => { });
307
389
  if (proxyConn != null && !isDryRun) {
308
390
  // AUD-460: Use the proxy's transferId for void
309
391
  proxyConn.void(proxyTransferId ?? transferId).catch(() => { });
@@ -311,6 +393,7 @@ export async function trust(client, opts) {
311
393
  else if (engine != null && !isDryRun) {
312
394
  engine.voidPendingSpend(transferId).catch(() => { });
313
395
  }
396
+ inFlightStreamCount--;
314
397
  });
315
398
  // AUD-454: For streaming responses, settlement has NOT happened yet.
316
399
  // Set settled: false — the real settlement status will be on
@@ -319,7 +402,7 @@ export async function trust(client, opts) {
319
402
  const estimatedReceipt = {
320
403
  transferId,
321
404
  cost: estimatedCost,
322
- budgetRemaining: config.budget - budgetSpent,
405
+ budgetRemaining: config.budget - budgetSpent - inFlightHoldTotal,
323
406
  auditHash,
324
407
  chainPath: join(VAULT_DIR, "audit"),
325
408
  receiptUrl: opts?.proxy != null ? `${VERIFY_URL_BASE}/${transferId}` : null,
@@ -331,6 +414,7 @@ export async function trust(client, opts) {
331
414
  // AUD-456: Flag proxy stub receipts
332
415
  ...(proxyConn != null ? { proxyStub: true } : {}),
333
416
  };
417
+ inFlightStreamCount++;
334
418
  return { response: governedStream, receipt: estimatedReceipt };
335
419
  }
336
420
  // f. Compute actual cost from response usage
@@ -347,6 +431,8 @@ export async function trust(client, opts) {
347
431
  actualCost = estimateCost(model, inputTokens, outputTokens);
348
432
  }
349
433
  }
434
+ // Release in-flight hold (non-streaming success)
435
+ inFlightHoldTotal -= estimatedCost;
350
436
  // Track budget (cumulative)
351
437
  budgetSpent += actualCost;
352
438
  // AUD-457: Persist cumulative spend to disk
@@ -428,7 +514,7 @@ export async function trust(client, opts) {
428
514
  success: true,
429
515
  }).catch(() => { });
430
516
  }
431
- const budgetRemaining = config.budget - budgetSpent;
517
+ const budgetRemaining = config.budget - budgetSpent - inFlightHoldTotal;
432
518
  const receipt = {
433
519
  transferId,
434
520
  cost: actualCost,
@@ -447,6 +533,8 @@ export async function trust(client, opts) {
447
533
  return { response, receipt };
448
534
  }
449
535
  catch (err) {
536
+ // Release in-flight hold (non-streaming failure)
537
+ inFlightHoldTotal -= estimatedCost;
450
538
  // j. Circuit breaker: record failure
451
539
  cb.recordFailure();
452
540
  // j2. Failure mode 15.2: LLM fails — VOID the pending hold
@@ -507,7 +595,7 @@ export async function trust(client, opts) {
507
595
  // AUD-462: Wait up to 5 seconds for in-flight calls to complete.
508
596
  // After the deadline, proceed with teardown anyway.
509
597
  const deadline = Date.now() + 5_000;
510
- while (inFlightCount > 0 && Date.now() < deadline) {
598
+ while ((inFlightCount > 0 || inFlightStreamCount > 0) && Date.now() < deadline) {
511
599
  await new Promise((r) => setTimeout(r, 50));
512
600
  }
513
601
  // Remove beforeExit safety net
@@ -1 +1 @@
1
- {"version":3,"file":"govern.js","sourceRoot":"","sources":["../src/govern.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"govern.js","sourceRoot":"","sources":["../src/govern.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export interface TrustReceipt {
12
12
  timestamp: string;
13
13
  /** Present and true when the audit chain write failed (failure mode 15.3). */
14
14
  auditDegraded?: boolean;
15
+ /** Whether cost came from provider-reported usage or the pre-call estimate. */
16
+ usageSource?: "provider" | "estimated";
17
+ /** Number of chunks delivered to the consumer (streaming calls only). */
18
+ chunksDelivered?: number;
15
19
  }
16
20
  export interface TrustedResponse<T> {
17
21
  response: T;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC;IACZ,OAAO,EAAE,YAAY,CAAC;CACtB;AAGD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7E,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,aAAa,GACtB,QAAQ,GACR,YAAY,GACZ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,QAAQ,GACR,UAAU,GACV,OAAO,CAAC;AAEX,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAGD,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAGD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AACjE,MAAM,MAAM,WAAW,GACpB,eAAe,GACf,MAAM,GACN,QAAQ,GACR,aAAa,GACb,gBAAgB,GAChB,kBAAkB,CAAC;AACtB,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAG1D,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACvC,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC;IACZ,OAAO,EAAE,YAAY,CAAC;CACtB;AAGD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7E,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,aAAa,GACtB,QAAQ,GACR,YAAY,GACZ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,QAAQ,GACR,UAAU,GACV,OAAO,CAAC;AAEX,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAGD,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAGD,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AACjE,MAAM,MAAM,WAAW,GACpB,eAAe,GACf,MAAM,GACN,QAAQ,GACR,aAAa,GACb,gBAAgB,GAChB,kBAAkB,CAAC;AACtB,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAG1D,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/D,KAAK,EAAE,CAAC;SACN,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KAC5E,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACb,cAAc,EAAE,CAAC;SACf,MAAM,CAAC;QACP,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KAC9C,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;SACT,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACrC,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;SACN,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KAC5C,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;SACZ,MAAM,CAAC;QACP,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;KACpD,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACb,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4BxB,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACtE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAClC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/D,KAAK,EAAE,CAAC;SACN,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KAC5E,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACb,cAAc,EAAE,CAAC;SACf,MAAM,CAAC;QACP,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KAC9C,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;SACT,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACrC,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;SACN,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KAC5C,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;SACZ,MAAM,CAAC;QACP,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;KACpD,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACb,CAAC,CAAC"}
@@ -22,6 +22,11 @@ export interface StreamUsage {
22
22
  inputTokens: number;
23
23
  outputTokens: number;
24
24
  }
25
+ export interface StreamCompletion {
26
+ usage: StreamUsage;
27
+ chunksDelivered: number;
28
+ usageReported: boolean;
29
+ }
25
30
  export interface GovernedStream<T> extends AsyncIterable<T> {
26
31
  /** Resolves with the trust receipt when the stream completes */
27
32
  receipt: Promise<TrustReceipt>;
@@ -31,7 +36,7 @@ export interface GovernedStream<T> extends AsyncIterable<T> {
31
36
  * Yields all chunks unchanged. Calls onComplete with accumulated usage
32
37
  * when the stream ends, or onError on failure.
33
38
  */
34
- export declare function wrapStream<T>(stream: AsyncIterable<T>, kind: LLMClientKind, onComplete: (usage: StreamUsage) => void, onError: (error: unknown) => void): AsyncIterable<T>;
39
+ export declare function wrapStream<T>(stream: AsyncIterable<T>, kind: LLMClientKind, onComplete: (completion: StreamCompletion) => void, onError: (error: unknown, partial: StreamCompletion) => void): AsyncIterable<T>;
35
40
  /**
36
41
  * Creates a GovernedStream: an AsyncIterable that also exposes a `.receipt`
37
42
  * promise resolving to the TrustReceipt after the stream completes.
@@ -40,5 +45,5 @@ export declare function wrapStream<T>(stream: AsyncIterable<T>, kind: LLMClientK
40
45
  * It should POST the actual cost and return the receipt.
41
46
  * - `rejectReceipt` is called on stream error. It should VOID the hold.
42
47
  */
43
- export declare function createGovernedStream<T>(stream: AsyncIterable<T>, kind: LLMClientKind, resolveReceipt: (usage: StreamUsage) => Promise<TrustReceipt>, rejectReceipt: (error: unknown) => void): GovernedStream<T>;
48
+ export declare function createGovernedStream<T>(stream: AsyncIterable<T>, kind: LLMClientKind, resolveReceipt: (completion: StreamCompletion) => Promise<TrustReceipt>, rejectReceipt: (error: unknown, partial: StreamCompletion) => void): GovernedStream<T>;
44
49
  //# sourceMappingURL=streaming.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIrE,MAAM,WAAW,WAAW;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC1D,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAqDD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC3B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACxC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/B,aAAa,CAAC,CAAC,CAAC,CAElB;AA6BD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACrC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,aAAa,EACnB,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,EAC7D,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACrC,cAAc,CAAC,CAAC,CAAC,CA8BnB"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIrE,MAAM,WAAW,WAAW;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IAC1D,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAqDD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC3B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,EAClD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,GAC1D,aAAa,CAAC,CAAC,CAAC,CAElB;AAsCD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACrC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,aAAa,EACnB,cAAc,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,OAAO,CAAC,YAAY,CAAC,EACvE,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,IAAI,GAChE,cAAc,CAAC,CAAC,CAAC,CA8BnB"}
package/dist/streaming.js CHANGED
@@ -54,20 +54,27 @@ export function wrapStream(stream, kind, onComplete, onError) {
54
54
  async function* wrapStreamImpl(stream, kind, onComplete, onError) {
55
55
  let inputTokens = 0;
56
56
  let outputTokens = 0;
57
+ let chunksDelivered = 0;
58
+ let usageReported = false;
57
59
  try {
58
60
  for await (const chunk of stream) {
59
61
  const tokens = extractTokensFromChunk(chunk, kind);
60
62
  // Use latest non-zero value (providers report cumulative or final)
61
- if (tokens.inputTokens > 0)
63
+ if (tokens.inputTokens > 0) {
62
64
  inputTokens = tokens.inputTokens;
63
- if (tokens.outputTokens > 0)
65
+ usageReported = true;
66
+ }
67
+ if (tokens.outputTokens > 0) {
64
68
  outputTokens = tokens.outputTokens;
69
+ usageReported = true;
70
+ }
65
71
  yield chunk;
72
+ chunksDelivered++;
66
73
  }
67
- onComplete({ inputTokens, outputTokens });
74
+ onComplete({ usage: { inputTokens, outputTokens }, chunksDelivered, usageReported });
68
75
  }
69
76
  catch (err) {
70
- onError(err);
77
+ onError(err, { usage: { inputTokens, outputTokens }, chunksDelivered, usageReported });
71
78
  throw err;
72
79
  }
73
80
  }
@@ -87,16 +94,16 @@ export function createGovernedStream(stream, kind, resolveReceipt, rejectReceipt
87
94
  receiptResolve = resolve;
88
95
  receiptReject = reject;
89
96
  });
90
- const wrapped = wrapStream(stream, kind, (usage) => {
91
- resolveReceipt(usage)
97
+ const wrapped = wrapStream(stream, kind, (completion) => {
98
+ resolveReceipt(completion)
92
99
  .then((receipt) => {
93
100
  receiptResolve(receipt);
94
101
  })
95
102
  .catch((err) => {
96
103
  receiptReject(err);
97
104
  });
98
- }, (error) => {
99
- rejectReceipt(error);
105
+ }, (error, partial) => {
106
+ rejectReceipt(error, partial);
100
107
  receiptReject(error);
101
108
  });
102
109
  return Object.assign(wrapped, {
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "usertrust",
3
- "version": "0.2.6",
3
+ "version": "1.0.0",
4
4
  "description": "Financial governance for AI agents. Every LLM call becomes an immutable, auditable transaction.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Usertools, Inc. <hello@usertools.ai> (https://usertrust.ai)",
@@ -38,10 +38,10 @@
38
38
  }
39
39
  },
40
40
  "dependencies": {
41
- "minimatch": "^10.0.0",
41
+ "minimatch": "^10.2.4",
42
42
  "picocolors": "^1.1.1",
43
43
  "tigerbeetle-node": "^0.16.0",
44
- "yaml": "^2.7.0",
44
+ "yaml": "^2.8.3",
45
45
  "zod": "^3.23.0"
46
46
  },
47
47
  "scripts": {