usertrust 0.2.2 → 0.2.4

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 (47) hide show
  1. package/dist/audit/canonical.d.ts.map +1 -1
  2. package/dist/audit/canonical.js +11 -0
  3. package/dist/audit/canonical.js.map +1 -1
  4. package/dist/audit/chain.d.ts +1 -1
  5. package/dist/audit/chain.d.ts.map +1 -1
  6. package/dist/audit/chain.js +104 -57
  7. package/dist/audit/chain.js.map +1 -1
  8. package/dist/audit/rotation.d.ts +1 -1
  9. package/dist/audit/rotation.js +1 -1
  10. package/dist/audit/verify.d.ts +1 -0
  11. package/dist/audit/verify.d.ts.map +1 -1
  12. package/dist/audit/verify.js +13 -3
  13. package/dist/audit/verify.js.map +1 -1
  14. package/dist/board/board.d.ts +1 -1
  15. package/dist/board/board.js +1 -1
  16. package/dist/detect.d.ts +19 -2
  17. package/dist/detect.d.ts.map +1 -1
  18. package/dist/detect.js +7 -2
  19. package/dist/detect.js.map +1 -1
  20. package/dist/govern.d.ts +2 -0
  21. package/dist/govern.d.ts.map +1 -1
  22. package/dist/govern.js +378 -260
  23. package/dist/govern.js.map +1 -1
  24. package/dist/ledger/engine.d.ts +1 -1
  25. package/dist/ledger/engine.d.ts.map +1 -1
  26. package/dist/ledger/engine.js +35 -12
  27. package/dist/ledger/engine.js.map +1 -1
  28. package/dist/memory/patterns.d.ts +4 -1
  29. package/dist/memory/patterns.d.ts.map +1 -1
  30. package/dist/memory/patterns.js +46 -14
  31. package/dist/memory/patterns.js.map +1 -1
  32. package/dist/policy/gate.d.ts.map +1 -1
  33. package/dist/policy/gate.js +38 -6
  34. package/dist/policy/gate.js.map +1 -1
  35. package/dist/proxy.d.ts +3 -0
  36. package/dist/proxy.d.ts.map +1 -1
  37. package/dist/proxy.js +14 -0
  38. package/dist/proxy.js.map +1 -1
  39. package/dist/resilience/scope.d.ts +32 -4
  40. package/dist/resilience/scope.d.ts.map +1 -1
  41. package/dist/resilience/scope.js +83 -35
  42. package/dist/resilience/scope.js.map +1 -1
  43. package/dist/shared/errors.d.ts +14 -0
  44. package/dist/shared/errors.d.ts.map +1 -1
  45. package/dist/shared/errors.js +49 -7
  46. package/dist/shared/errors.js.map +1 -1
  47. package/package.json +1 -1
@@ -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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"}
@@ -22,7 +22,7 @@ export interface TrustEngineOptions {
22
22
  pricing?: PricingTable;
23
23
  /** Hold timeout in milliseconds (default: 5 minutes) */
24
24
  holdTtlMs?: number;
25
- /** DLQ directory path (default: .usertools/dlq/) */
25
+ /** DLQ directory path (default: .usertrust/dlq/) */
26
26
  dlqPath?: string;
27
27
  }
28
28
  export declare class TrustEngine {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/ledger/engine.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,KAAK,UAAU,EAA+B,MAAM,cAAc,CAAC;AAI5E,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC5B,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAgDD,qBAAa,WAAW;IACvB,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,kBAAkB;IAMpC;;;OAGG;IACG,YAAY,CAAC,CAAC,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,WAAW,CAAC;QACpB,QAAQ,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACjC,GAAG,OAAO,CAAC,cAAc,CAAC;IAwC3B;;;OAGG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BhF;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;CAIF"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/ledger/engine.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,KAAK,UAAU,EAA+B,MAAM,cAAc,CAAC;AAI5E,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC5B,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAoED,qBAAa,WAAW;IACvB,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,kBAAkB;IAMpC;;;OAGG;IACG,YAAY,CAAC,CAAC,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,WAAW,CAAC;QACpB,QAAQ,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACjC,GAAG,OAAO,CAAC,cAAc,CAAC;IA8C3B;;;OAGG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BhF;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;CAIF"}
@@ -4,23 +4,39 @@
4
4
  * Two-phase spend engine for the usertrust SDK.
5
5
  * Implements PENDING -> POST/VOID lifecycle for all governed operations.
6
6
  */
7
- import { createHash } from "node:crypto";
8
- import { existsSync, mkdirSync, writeFileSync } from "node:fs";
7
+ import { createHash, createHmac } from "node:crypto";
8
+ import { closeSync, existsSync, fsyncSync, mkdirSync, openSync, writeSync } from "node:fs";
9
9
  import { join } from "node:path";
10
10
  import { CreateTransferError } from "tigerbeetle-node";
11
- import { DEFAULT_HOLD_TTL_MS } from "../shared/constants.js";
11
+ import { DEFAULT_HOLD_TTL_MS, VAULT_DIR } from "../shared/constants.js";
12
12
  import { InsufficientBalanceError } from "../shared/errors.js";
13
13
  import { fnv1a32 } from "../shared/ids.js";
14
14
  import { XFER_SPEND } from "./client.js";
15
15
  import { estimateCost } from "./pricing.js";
16
+ /** Derive a DLQ integrity key from the vault base path. */
17
+ function deriveDlqKey(dlqPath) {
18
+ return createHash("sha256").update(`dlq-integrity:${dlqPath}`).digest("hex");
19
+ }
16
20
  function writeDeadLetter(entry, dlqPath) {
17
21
  try {
18
22
  if (!existsSync(dlqPath)) {
19
- mkdirSync(dlqPath, { recursive: true });
23
+ mkdirSync(dlqPath, { recursive: true, mode: 0o700 });
20
24
  }
21
- const line = `${JSON.stringify(entry)}\n`;
25
+ // Compute HMAC over the entry (excluding the hmac field itself)
26
+ const key = deriveDlqKey(dlqPath);
27
+ const hmac = createHmac("sha256", key).update(JSON.stringify(entry)).digest("hex");
28
+ const sealed = { ...entry, hmac };
29
+ const line = `${JSON.stringify(sealed)}\n`;
22
30
  const filePath = join(dlqPath, "dead-letter.jsonl");
23
- writeFileSync(filePath, line, { flag: "a" });
31
+ // Open with append + create, restricted permissions, then fsync
32
+ const fd = openSync(filePath, "a", 0o600);
33
+ try {
34
+ writeSync(fd, line);
35
+ fsyncSync(fd);
36
+ }
37
+ finally {
38
+ closeSync(fd);
39
+ }
24
40
  }
25
41
  catch (err) {
26
42
  console.error("[usertrust] Failed to write dead letter:", err);
@@ -52,7 +68,7 @@ export class TrustEngine {
52
68
  constructor(opts) {
53
69
  this.tb = opts.tbClient;
54
70
  this.holdTtlMs = opts.holdTtlMs ?? DEFAULT_HOLD_TTL_MS;
55
- this.dlqPath = opts.dlqPath ?? join(".usertrust", "dlq");
71
+ this.dlqPath = opts.dlqPath ?? join(VAULT_DIR, "dlq");
56
72
  }
57
73
  /**
58
74
  * Create a PENDING hold for an AI compute action.
@@ -62,10 +78,8 @@ export class TrustEngine {
62
78
  const cost = estimateCost(p.action.model, p.action.inputTokens, p.action.outputTokens);
63
79
  const userAccount = this.tb.getAccountId(p.userId);
64
80
  const treasury = this.tb.getTreasuryId();
65
- const bal = await this.tb.lookupBalance(userAccount);
66
- if (bal.available < cost) {
67
- throw new InsufficientBalanceError(p.userId, cost, bal.available);
68
- }
81
+ // AUD-455: No pre-check — TB enforces debits_must_not_exceed_credits atomically.
82
+ // A lookupBalance + createPendingTransfer sequence has a TOCTOU race.
69
83
  const holdTimeoutSeconds = Math.ceil(this.holdTtlMs / 1000);
70
84
  let pendingId;
71
85
  try {
@@ -81,7 +95,16 @@ export class TrustEngine {
81
95
  }
82
96
  catch (err) {
83
97
  if (isInsufficientBalanceError(err)) {
84
- throw new InsufficientBalanceError(p.userId, cost, 0);
98
+ // Fresh lookup for accurate error reporting
99
+ let available = 0;
100
+ try {
101
+ const bal = await this.tb.lookupBalance(userAccount);
102
+ available = bal.available;
103
+ }
104
+ catch {
105
+ // Balance lookup failed — report 0 as fallback
106
+ }
107
+ throw new InsufficientBalanceError(p.userId, cost, available);
85
108
  }
86
109
  throw err;
87
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/ledger/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/ledger/engine.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,11 @@ export declare function _resetPatternCache(): void;
18
18
  export declare function hashPrompt(text: string): string;
19
19
  /**
20
20
  * Record a pattern entry from a completed LLM call.
21
- * Appends to `.usertools/patterns/memory.json`.
21
+ * Appends to `.usertrust/patterns/memory.json`.
22
22
  * Evicts oldest entries when exceeding 10,000.
23
+ *
24
+ * Uses an async mutex to serialize concurrent read-modify-write cycles
25
+ * and prevent entry loss under concurrent calls (AUD-464).
23
26
  */
24
27
  export declare function recordPattern(entry: Omit<PatternEntry, "timestamp">, vaultPath?: string): Promise<void>;
25
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/memory/patterns.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAoCD,+CAA+C;AAC/C,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAuCD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAClC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,EACtC,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA6ClF;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAgB/E"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/memory/patterns.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AA+DD,+CAA+C;AAC/C,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAuCD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAClC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,EACtC,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA6ClF;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAgB/E"}
@@ -8,6 +8,29 @@ import { VAULT_DIR } from "../shared/constants.js";
8
8
  const PATTERNS_DIR = "patterns";
9
9
  const MEMORY_FILE = "memory.json";
10
10
  const MAX_ENTRIES = 10_000;
11
+ // ── AsyncMutex (AUD-464) ──
12
+ /**
13
+ * In-process async mutex for serializing pattern memory writes.
14
+ *
15
+ * SINGLE-PROCESS CONSTRAINT: This mutex is process-local (in-memory).
16
+ * It guarantees sequential read-modify-write cycles within a single
17
+ * Node.js process but provides NO protection across multiple processes.
18
+ * Pattern memory is process-local, so this is sufficient.
19
+ */
20
+ class AsyncMutex {
21
+ queue = Promise.resolve();
22
+ async acquire() {
23
+ let release;
24
+ const next = new Promise((resolve) => {
25
+ release = resolve;
26
+ });
27
+ const prev = this.queue;
28
+ this.queue = next;
29
+ await prev;
30
+ return release;
31
+ }
32
+ }
33
+ const patternMutex = new AsyncMutex();
11
34
  const cacheByVault = new Map();
12
35
  function resolveVaultKey(vaultPath) {
13
36
  return vaultPath ?? VAULT_DIR;
@@ -71,24 +94,33 @@ export function hashPrompt(text) {
71
94
  }
72
95
  /**
73
96
  * Record a pattern entry from a completed LLM call.
74
- * Appends to `.usertools/patterns/memory.json`.
97
+ * Appends to `.usertrust/patterns/memory.json`.
75
98
  * Evicts oldest entries when exceeding 10,000.
99
+ *
100
+ * Uses an async mutex to serialize concurrent read-modify-write cycles
101
+ * and prevent entry loss under concurrent calls (AUD-464).
76
102
  */
77
103
  export async function recordPattern(entry, vaultPath) {
78
- const entries = await ensureLoaded(vaultPath);
79
- const full = {
80
- ...entry,
81
- timestamp: new Date().toISOString(),
82
- };
83
- entries.push(full);
84
- // Evict oldest if over capacity
85
- if (entries.length > MAX_ENTRIES) {
86
- const excess = entries.length - MAX_ENTRIES;
87
- entries.splice(0, excess);
104
+ const release = await patternMutex.acquire();
105
+ try {
106
+ const entries = await ensureLoaded(vaultPath);
107
+ const full = {
108
+ ...entry,
109
+ timestamp: new Date().toISOString(),
110
+ };
111
+ entries.push(full);
112
+ // Evict oldest if over capacity
113
+ if (entries.length > MAX_ENTRIES) {
114
+ const excess = entries.length - MAX_ENTRIES;
115
+ entries.splice(0, excess);
116
+ }
117
+ const cache = getCache(vaultPath);
118
+ cache.entries = entries;
119
+ await persist(entries, vaultPath);
120
+ }
121
+ finally {
122
+ release();
88
123
  }
89
- const cache = getCache(vaultPath);
90
- cache.entries = entries;
91
- await persist(entries, vaultPath);
92
124
  }
93
125
  /**
94
126
  * Suggest the best model for a given prompt hash based on past patterns.
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/memory/patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/memory/patterns.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/policy/gate.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAGX,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,MAAM,oBAAoB,CAAC;AAM5B,MAAM,WAAW,SAAS;IACzB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,wBAAwB;IACxB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,sBAAsB;IACtB,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC5B,oEAAoE;IACpE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,wBAAwB;IACxB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,uCAAuC;IACvC,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,sCAAsC;IACtC,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;CACpB;AAsFD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAE1E;AAMD,MAAM,WAAW,UAAU;IAC1B,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,EACrC,SAAS,EAAE,MAAM,GACf,OAAO,CAaT;AAMD;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,qDAAqD;IACrD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAS,SAAQ,UAAU;IAC3C,6BAA6B;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY,CAkDtF;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAiBrD"}
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/policy/gate.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAGX,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,MAAM,oBAAoB,CAAC;AAM5B,MAAM,WAAW,SAAS;IACzB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,wBAAwB;IACxB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,sBAAsB;IACtB,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC5B,oEAAoE;IACpE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,wBAAwB;IACxB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,uCAAuC;IACvC,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,sCAAsC;IACtC,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;CACpB;AAuHD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAE1E;AAMD,MAAM,WAAW,UAAU;IAC1B,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,EACrC,SAAS,EAAE,MAAM,GACf,OAAO,CAaT;AAMD;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,qDAAqD;IACrD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAS,SAAQ,UAAU;IAC3C,6BAA6B;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY,CAkDtF;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAiBrD"}
@@ -34,6 +34,39 @@ function resolveFieldPath(path, context) {
34
34
  return current;
35
35
  }
36
36
  // ---------------------------------------------------------------------------
37
+ // Regex safety guard (AUD-463)
38
+ // ---------------------------------------------------------------------------
39
+ /** Maximum allowed length for regex patterns in policy rules. */
40
+ const MAX_REGEX_LENGTH = 200;
41
+ /**
42
+ * Detects nested quantifiers that can cause catastrophic backtracking (ReDoS).
43
+ * Matches patterns like `a+*`, `a*+`, `a{2,}*`, `a+{2,}`, etc.
44
+ */
45
+ const NESTED_QUANTIFIER_RE = /[+*?]\{?\d*,?\d*\}?[+*?]/;
46
+ /**
47
+ * Validate that a regex pattern is safe to compile and execute.
48
+ *
49
+ * **Security**: Regex policies must contain trusted input. User-supplied patterns
50
+ * are constrained to prevent ReDoS (Regular Expression Denial of Service):
51
+ * - Patterns longer than 200 characters are rejected.
52
+ * - Patterns containing nested quantifiers (e.g. `a+*`, `x{2,}+`) are rejected.
53
+ * - Invalid regex syntax is caught and treated as non-matching.
54
+ *
55
+ * @returns The compiled RegExp, or null if the pattern is unsafe or invalid.
56
+ */
57
+ function safeRegExp(pattern) {
58
+ if (pattern.length > MAX_REGEX_LENGTH)
59
+ return null;
60
+ if (NESTED_QUANTIFIER_RE.test(pattern))
61
+ return null;
62
+ try {
63
+ return new RegExp(pattern);
64
+ }
65
+ catch {
66
+ return null;
67
+ }
68
+ }
69
+ // ---------------------------------------------------------------------------
37
70
  // Field condition evaluation (12 operators)
38
71
  // ---------------------------------------------------------------------------
39
72
  /**
@@ -65,15 +98,14 @@ function evaluateFieldCondition(fc, context) {
65
98
  return Array.isArray(fc.value) && !fc.value.includes(resolved);
66
99
  case "contains":
67
100
  return (typeof resolved === "string" && typeof fc.value === "string" && resolved.includes(fc.value));
68
- case "regex":
101
+ case "regex": {
69
102
  if (typeof resolved !== "string" || typeof fc.value !== "string")
70
103
  return false;
71
- try {
72
- return new RegExp(fc.value).test(resolved);
73
- }
74
- catch {
104
+ const re = safeRegExp(fc.value);
105
+ if (re === null)
75
106
  return false;
76
- }
107
+ return re.test(resolved);
108
+ }
77
109
  default:
78
110
  return false;
79
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/policy/gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/policy/gate.ts"],"names":[],"mappings":"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"}
package/dist/proxy.d.ts CHANGED
@@ -28,6 +28,9 @@ export interface ProxyConnection {
28
28
  * Stub implementation for v1 — all operations succeed immediately
29
29
  * with synthetic data. Real implementation will HTTP POST to the
30
30
  * proxy URL with the provided API key.
31
+ *
32
+ * AUD-456: Proxy mode is honest about being a stub. Receipts include
33
+ * `proxyStub: true` and a console.warn fires on first call.
31
34
  */
32
35
  export declare function connectProxy(url: string, key?: string): ProxyConnection;
33
36
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,eAAe,CAoBvE"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,eAAe,CAiCvE"}
package/dist/proxy.js CHANGED
@@ -6,12 +6,24 @@
6
6
  * Stub implementation for v1 — all operations succeed immediately
7
7
  * with synthetic data. Real implementation will HTTP POST to the
8
8
  * proxy URL with the provided API key.
9
+ *
10
+ * AUD-456: Proxy mode is honest about being a stub. Receipts include
11
+ * `proxyStub: true` and a console.warn fires on first call.
9
12
  */
10
13
  export function connectProxy(url, key) {
14
+ let warnedOnce = false;
15
+ function emitStubWarning() {
16
+ if (!warnedOnce) {
17
+ warnedOnce = true;
18
+ // AUD-456: intentional one-time warning for proxy stub mode
19
+ console.warn("usertrust: proxy mode is a stub — no real financial governance is applied");
20
+ }
21
+ }
11
22
  return {
12
23
  url,
13
24
  key,
14
25
  async spend(params) {
26
+ emitStubWarning();
15
27
  return {
16
28
  transferId: `proxy_${Date.now().toString(36)}`,
17
29
  estimatedCost: params.estimatedCost,
@@ -19,9 +31,11 @@ export function connectProxy(url, key) {
19
31
  },
20
32
  async settle(_transferId, _actualCost) {
21
33
  // Stub: no-op — real implementation will POST settlement
34
+ emitStubWarning();
22
35
  },
23
36
  async void(_transferId) {
24
37
  // Stub: no-op — real implementation will POST void
38
+ emitStubWarning();
25
39
  },
26
40
  destroy() {
27
41
  // Stub: no-op — real implementation will close HTTP connection pool
package/dist/proxy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AA8BjC;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAY;IACrD,OAAO;QACN,GAAG;QACH,GAAG;QACH,KAAK,CAAC,KAAK,CAAC,MAAwB;YACnC,OAAO;gBACN,UAAU,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBAC9C,aAAa,EAAE,MAAM,CAAC,aAAa;aACnC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,WAAmB;YACpD,yDAAyD;QAC1D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,WAAmB;YAC7B,mDAAmD;QACpD,CAAC;QACD,OAAO;YACN,oEAAoE;QACrE,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AA8BjC;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAY;IACrD,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,SAAS,eAAe;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,UAAU,GAAG,IAAI,CAAC;YAClB,4DAA4D;YAC5D,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC3F,CAAC;IACF,CAAC;IAED,OAAO;QACN,GAAG;QACH,GAAG;QACH,KAAK,CAAC,KAAK,CAAC,MAAwB;YACnC,eAAe,EAAE,CAAC;YAClB,OAAO;gBACN,UAAU,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBAC9C,aAAa,EAAE,MAAM,CAAC,aAAa;aACnC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,WAAmB;YACpD,yDAAyD;YACzD,eAAe,EAAE,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,WAAmB;YAC7B,mDAAmD;YACnD,eAAe,EAAE,CAAC;QACnB,CAAC;QACD,OAAO;YACN,oEAAoE;QACrE,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -25,10 +25,16 @@ export interface LeaseConflict {
25
25
  }
26
26
  /**
27
27
  * Set the store directory path (for testing).
28
+ *
29
+ * @deprecated Use the `storeDir` constructor parameter on `ScopeManager` instead.
30
+ * This function mutates module-level state shared by all ScopeManager instances
31
+ * that were created without an explicit storeDir.
28
32
  */
29
33
  export declare function setStoreDir(dir: string): void;
30
34
  /**
31
- * Get the current store directory.
35
+ * Get the current module-level store directory.
36
+ *
37
+ * @deprecated Use the `storeDir` constructor parameter on `ScopeManager` instead.
32
38
  */
33
39
  export declare function getStoreDir(): string;
34
40
  /**
@@ -48,10 +54,22 @@ export declare function fileMatchesScope(file: string, scope: string[]): boolean
48
54
  *
49
55
  * Provides `acquireLease`, `releaseLease`, `findConflicts`, and `expireStale`
50
56
  * for coordinating parallel workers operating on overlapping file scopes.
57
+ *
58
+ * AUD-465: Accepts an optional `storeDir` constructor parameter to avoid
59
+ * reliance on module-level mutable state. Falls back to the module-level
60
+ * `moduleStoreDir` for backward compatibility.
51
61
  */
52
62
  export declare class ScopeManager {
53
63
  private readonly clock;
54
- constructor(clock?: () => number);
64
+ private readonly storeDir;
65
+ /**
66
+ * @param optionsOrClock - Either an options object `{ clock?, storeDir? }`
67
+ * or a legacy clock function `() => number` for backward compatibility.
68
+ */
69
+ constructor(optionsOrClock?: (() => number) | {
70
+ clock?: () => number;
71
+ storeDir?: string;
72
+ });
55
73
  /**
56
74
  * Acquire a lease for the given scope.
57
75
  * Throws if scope overlaps with another actor's active lease.
@@ -59,12 +77,22 @@ export declare class ScopeManager {
59
77
  acquireLease(options: AcquireLeaseOptions): Lease;
60
78
  /**
61
79
  * Renew an existing lease, extending its TTL.
80
+ *
81
+ * AUD-466: When `actor` is provided, verifies the caller matches the lease
82
+ * owner to prevent unauthorized renewal by a different actor. Callers SHOULD
83
+ * always pass `actor` — omitting it is supported only for backward
84
+ * compatibility and will be removed in a future major version.
62
85
  */
63
- renewLease(leaseId: string, ttlMin?: number): Lease;
86
+ renewLease(leaseId: string, actorOrTtl?: string | number, ttlMin?: number): Lease;
64
87
  /**
65
88
  * Release a lease, marking it as released.
89
+ *
90
+ * AUD-466: When `actor` is provided, verifies the caller matches the lease
91
+ * owner to prevent unauthorized release by a different actor. Callers SHOULD
92
+ * always pass `actor` — omitting it is supported only for backward
93
+ * compatibility and will be removed in a future major version.
66
94
  */
67
- releaseLease(leaseId: string): Lease;
95
+ releaseLease(leaseId: string, actor?: string): Lease;
68
96
  /**
69
97
  * Find conflicts for a proposed scope against active leases.
70
98
  */
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/resilience/scope.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE,MAAM,WAAW,KAAK;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAQD;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAgDD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAgBzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAOvE;AAMD;;;;;GAKG;AACH,qBAAa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,KAAK,CAAC,EAAE,MAAM,MAAM;IAIhC;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,KAAK;IAsCjD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,KAAK;IAkB/C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAcpC;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;IAMtE;;;OAGG;IACH,WAAW,IAAI,MAAM;IASrB;;OAEG;IACH,eAAe,IAAI,KAAK,EAAE;IAK1B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAO5C,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,kBAAkB;CAa1B"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/resilience/scope.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE,MAAM,WAAW,KAAK;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IAC1B,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAQD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AA+CD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAgBzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAOvE;AAMD;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC;;;OAGG;gBACS,cAAc,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAWzF;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,KAAK;IAsCjD;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK;IA+BjF;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK;IAiBpD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;IAMtE;;;OAGG;IACH,WAAW,IAAI,MAAM;IASrB;;OAEG;IACH,eAAe,IAAI,KAAK,EAAE;IAK1B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAO5C,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,kBAAkB;CAa1B"}