audit-tools 0.30.2 → 0.30.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 (141) hide show
  1. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  2. package/dist/audit/cli/auditStep.js +24 -13
  3. package/dist/audit/cli/auditStep.js.map +1 -1
  4. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  5. package/dist/audit/cli/nextStepHelpers.js +11 -6
  6. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  7. package/dist/audit/cli/prompts.d.ts.map +1 -1
  8. package/dist/audit/cli/prompts.js +3 -1
  9. package/dist/audit/cli/prompts.js.map +1 -1
  10. package/dist/audit/cli/reviewRun.d.ts.map +1 -1
  11. package/dist/audit/cli/reviewRun.js +9 -4
  12. package/dist/audit/cli/reviewRun.js.map +1 -1
  13. package/dist/audit/contracts/workerSchemas.d.ts +22 -4
  14. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  15. package/dist/audit/contracts/wrapperResponse.d.ts +12 -12
  16. package/dist/audit/orchestrator/artifactFreshness.d.ts +2 -1
  17. package/dist/audit/orchestrator/artifactFreshness.d.ts.map +1 -1
  18. package/dist/audit/orchestrator/artifactFreshness.js +5 -15
  19. package/dist/audit/orchestrator/artifactFreshness.js.map +1 -1
  20. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  21. package/dist/audit/orchestrator/executorRunners.js +10 -9
  22. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  23. package/dist/audit/orchestrator/ingestionExecutors.d.ts.map +1 -1
  24. package/dist/audit/orchestrator/ingestionExecutors.js +5 -1
  25. package/dist/audit/orchestrator/ingestionExecutors.js.map +1 -1
  26. package/dist/audit/orchestrator/intentCheckpointGate.d.ts +129 -0
  27. package/dist/audit/orchestrator/intentCheckpointGate.d.ts.map +1 -0
  28. package/dist/audit/orchestrator/intentCheckpointGate.js +193 -0
  29. package/dist/audit/orchestrator/intentCheckpointGate.js.map +1 -0
  30. package/dist/audit/orchestrator/ledger.d.ts +30 -0
  31. package/dist/audit/orchestrator/ledger.d.ts.map +1 -0
  32. package/dist/audit/orchestrator/ledger.js +126 -0
  33. package/dist/audit/orchestrator/ledger.js.map +1 -0
  34. package/dist/audit/orchestrator/nextStep.d.ts +11 -29
  35. package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
  36. package/dist/audit/orchestrator/nextStep.js +11 -29
  37. package/dist/audit/orchestrator/nextStep.js.map +1 -1
  38. package/dist/audit/orchestrator/resultBaseline.d.ts +82 -0
  39. package/dist/audit/orchestrator/resultBaseline.d.ts.map +1 -0
  40. package/dist/audit/orchestrator/resultBaseline.js +79 -0
  41. package/dist/audit/orchestrator/resultBaseline.js.map +1 -0
  42. package/dist/audit/quota/index.d.ts +17 -12
  43. package/dist/audit/quota/index.d.ts.map +1 -1
  44. package/dist/audit/types/artifactMetadata.d.ts +9 -0
  45. package/dist/audit/types/artifactMetadata.d.ts.map +1 -1
  46. package/dist/audit/types.d.ts +13 -4
  47. package/dist/audit/types.d.ts.map +1 -1
  48. package/dist/audit/types.js +8 -0
  49. package/dist/audit/types.js.map +1 -1
  50. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  51. package/dist/remediate/steps/dispatch.js +16 -22
  52. package/dist/remediate/steps/dispatch.js.map +1 -1
  53. package/dist/remediate/steps/nextStep.d.ts +11 -23
  54. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  55. package/dist/remediate/steps/nextStep.js +49 -43
  56. package/dist/remediate/steps/nextStep.js.map +1 -1
  57. package/dist/shared/contentKey.d.ts +83 -0
  58. package/dist/shared/contentKey.d.ts.map +1 -0
  59. package/dist/shared/contentKey.js +163 -0
  60. package/dist/shared/contentKey.js.map +1 -0
  61. package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
  62. package/dist/shared/dispatch/rollingDispatch.js +7 -3
  63. package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
  64. package/dist/shared/friction/captureFrictionEvent.d.ts +50 -0
  65. package/dist/shared/friction/captureFrictionEvent.d.ts.map +1 -0
  66. package/dist/shared/friction/captureFrictionEvent.js +34 -0
  67. package/dist/shared/friction/captureFrictionEvent.js.map +1 -0
  68. package/dist/shared/friction/triage.d.ts +126 -0
  69. package/dist/shared/friction/triage.d.ts.map +1 -0
  70. package/dist/shared/friction/triage.js +149 -0
  71. package/dist/shared/friction/triage.js.map +1 -0
  72. package/dist/shared/index.d.ts +15 -3
  73. package/dist/shared/index.d.ts.map +1 -1
  74. package/dist/shared/index.js +11 -3
  75. package/dist/shared/index.js.map +1 -1
  76. package/dist/shared/io/auditToolsPaths.d.ts +9 -0
  77. package/dist/shared/io/auditToolsPaths.d.ts.map +1 -1
  78. package/dist/shared/io/auditToolsPaths.js +11 -0
  79. package/dist/shared/io/auditToolsPaths.js.map +1 -1
  80. package/dist/shared/io/frictionCapture.d.ts +2 -0
  81. package/dist/shared/io/frictionCapture.d.ts.map +1 -1
  82. package/dist/shared/io/frictionCapture.js +1 -1
  83. package/dist/shared/io/frictionCapture.js.map +1 -1
  84. package/dist/shared/quota/apiPool.d.ts +1 -1
  85. package/dist/shared/quota/apiPool.d.ts.map +1 -1
  86. package/dist/shared/quota/apiPool.js +29 -7
  87. package/dist/shared/quota/apiPool.js.map +1 -1
  88. package/dist/shared/quota/capacity.d.ts +19 -4
  89. package/dist/shared/quota/capacity.d.ts.map +1 -1
  90. package/dist/shared/quota/capacity.js +5 -0
  91. package/dist/shared/quota/capacity.js.map +1 -1
  92. package/dist/shared/quota/claudeOAuthQuotaSource.d.ts +8 -0
  93. package/dist/shared/quota/claudeOAuthQuotaSource.d.ts.map +1 -1
  94. package/dist/shared/quota/claudeOAuthQuotaSource.js +15 -0
  95. package/dist/shared/quota/claudeOAuthQuotaSource.js.map +1 -1
  96. package/dist/shared/quota/codexQuotaSource.d.ts +3 -0
  97. package/dist/shared/quota/codexQuotaSource.d.ts.map +1 -1
  98. package/dist/shared/quota/codexQuotaSource.js +8 -0
  99. package/dist/shared/quota/codexQuotaSource.js.map +1 -1
  100. package/dist/shared/quota/compositeQuotaSource.d.ts +22 -0
  101. package/dist/shared/quota/compositeQuotaSource.d.ts.map +1 -1
  102. package/dist/shared/quota/compositeQuotaSource.js +42 -0
  103. package/dist/shared/quota/compositeQuotaSource.js.map +1 -1
  104. package/dist/shared/quota/coverage.d.ts +45 -0
  105. package/dist/shared/quota/coverage.d.ts.map +1 -0
  106. package/dist/shared/quota/coverage.js +77 -0
  107. package/dist/shared/quota/coverage.js.map +1 -0
  108. package/dist/shared/quota/httpQuotaSource.d.ts +24 -1
  109. package/dist/shared/quota/httpQuotaSource.d.ts.map +1 -1
  110. package/dist/shared/quota/httpQuotaSource.js +46 -6
  111. package/dist/shared/quota/httpQuotaSource.js.map +1 -1
  112. package/dist/shared/quota/quotaCoverageNudge.d.ts +26 -0
  113. package/dist/shared/quota/quotaCoverageNudge.d.ts.map +1 -0
  114. package/dist/shared/quota/quotaCoverageNudge.js +82 -0
  115. package/dist/shared/quota/quotaCoverageNudge.js.map +1 -0
  116. package/dist/shared/quota/quotaSource.d.ts +25 -2
  117. package/dist/shared/quota/quotaSource.d.ts.map +1 -1
  118. package/dist/shared/quota/quotaSource.js +15 -0
  119. package/dist/shared/quota/quotaSource.js.map +1 -1
  120. package/dist/shared/quota/scheduler.d.ts +10 -2
  121. package/dist/shared/quota/scheduler.d.ts.map +1 -1
  122. package/dist/shared/quota/scheduler.js +12 -3
  123. package/dist/shared/quota/scheduler.js.map +1 -1
  124. package/dist/shared/repair/emitValidateRepair.d.ts +124 -0
  125. package/dist/shared/repair/emitValidateRepair.d.ts.map +1 -0
  126. package/dist/shared/repair/emitValidateRepair.js +179 -0
  127. package/dist/shared/repair/emitValidateRepair.js.map +1 -0
  128. package/dist/shared/repair/index.d.ts +8 -0
  129. package/dist/shared/repair/index.d.ts.map +1 -0
  130. package/dist/shared/repair/index.js +2 -0
  131. package/dist/shared/repair/index.js.map +1 -0
  132. package/dist/shared/stableStringify.d.ts +14 -0
  133. package/dist/shared/stableStringify.d.ts.map +1 -0
  134. package/dist/shared/stableStringify.js +28 -0
  135. package/dist/shared/stableStringify.js.map +1 -0
  136. package/dist/shared/types/sessionConfig.d.ts +16 -0
  137. package/dist/shared/types/sessionConfig.d.ts.map +1 -1
  138. package/dist/shared/types/sessionConfig.js.map +1 -1
  139. package/package.json +1 -1
  140. package/schemas/audit_result.schema.json +9 -0
  141. package/schemas/audit_results.schema.json +9 -0
@@ -0,0 +1,179 @@
1
+ /**
2
+ * The shared emit-validate-repair seam (O3) — the SOLE definition of the
3
+ * cheapest-first monotonic repair pipeline that every contract's worker result
4
+ * passes through before it is accepted (OBL-emit-validate-repair-seam-o3-contract).
5
+ *
6
+ * The seam is EVERYTHING-AGNOSTIC: it hardcodes no contract id, no validator, no
7
+ * field classification, no model, and no provider. A caller registers a
8
+ * {@link RepairContract} — `{ validate, classifyError, identity }` — for a
9
+ * contract id, then drives a payload through {@link runEmitValidateRepair}. A new
10
+ * contract id therefore registers a validator + classification WITHOUT editing the
11
+ * seam (INV-o3-3 / everything-agnostic).
12
+ *
13
+ * CHEAPEST-FIRST MONOTONIC STAGES (a stage runs only if the prior left a
14
+ * REQUIRED-field error; no LLM call when coercion alone yields clean):
15
+ *
16
+ * stage1 — deterministic coercion (INV-o3-1):
17
+ * - drops/empties OPTIONAL sub-objects ONLY (never touches a REQUIRED field);
18
+ * - backfills tool-owned identity that is RECOVERABLE PER ELEMENT (e.g. the
19
+ * coordinate is uniform across a single-element array);
20
+ * - a missing per-element `unit_id` (or any non-recoverable required identity)
21
+ * on a MULTI-element array escalates the whole payload to `unrepairable` —
22
+ * it is NEVER homogenized by copying a sibling's id (INV-o3-2, fail-2).
23
+ *
24
+ * stage2 — bounded ~1-attempt errors-only LLM patch (INV-o3-4):
25
+ * - runs ONLY if stage1 left REQUIRED-field errors and a patcher is supplied;
26
+ * - the patch prompt carries ONLY the remaining errors + the payload, never
27
+ * the whole contract — cheapest viable LLM touch;
28
+ * - bounded to a single attempt (the caller may set `maxLlmAttempts`, default
29
+ * 1); the validator re-runs after it.
30
+ * - The patcher MUST run OUTSIDE any held artifact-tree `withFileLock`: the
31
+ * seam holds no lock and performs no artifact-tree IO, so a caller that
32
+ * holds the lock must release it before invoking the seam (enforced by the
33
+ * lock-free contract of this module — it never imports the file lock).
34
+ *
35
+ * stage3 — re-dispatch signal (INV-o3-5):
36
+ * - if REQUIRED-field errors remain after stage2, the seam returns
37
+ * `status: 'unrepairable'` with `stages_applied` ending in `redispatch`,
38
+ * the SIGNAL the caller turns into a fresh dispatch. The re-dispatched
39
+ * attempt carries a DISTINCT `result_content_discriminator` (the seam
40
+ * surfaces the next discriminator via {@link RepairOutcome.redispatch}),
41
+ * so its idempotencyKey differs from the attempt it replaces.
42
+ *
43
+ * ONE VALIDATOR (INV-o3-6): the seam re-runs the SAME injected canonical
44
+ * `validate` after every stage — it never forks or re-implements validation.
45
+ *
46
+ * IDENTITY PRESERVATION (INV-o3-7): coercion only drops/backfills; it never
47
+ * rewrites the emitted tool-owned identity coordinate, so identityKey /
48
+ * idempotencyKey computed off the repaired payload are UNCHANGED. Only a stage3
49
+ * re-dispatch changes identity, and only via a distinct discriminator.
50
+ *
51
+ * FRICTION (fail-1..7): every drop, backfill, escalation, LLM patch, and repeated
52
+ * repair is recorded through the O1 `captureFrictionEvent` sink (best-effort,
53
+ * never fatal). `warnings` is non-empty whenever `status !== 'clean'`.
54
+ */
55
+ import { captureFrictionEvent } from '../friction/captureFrictionEvent.js';
56
+ function requiredErrors(result) {
57
+ return result.errors.filter((e) => e.required);
58
+ }
59
+ /** Emit one best-effort, de-duped friction event for a repair action. */
60
+ async function captureRepair(opts, idSuffix, note, severity) {
61
+ await captureFrictionEvent(opts.artifactsDir, opts.runId, {
62
+ id: `repair:${opts.contract.contractId}:attempt-${opts.attempt ?? 1}:${idSuffix}`,
63
+ note,
64
+ severity,
65
+ category: 'trap',
66
+ area: opts.contract.contractId,
67
+ }, opts.tool ?? 'remediate-code');
68
+ }
69
+ /**
70
+ * Run the cheapest-first monotonic emit-validate-repair pipeline over one
71
+ * payload. See the module header for the full stage contract.
72
+ */
73
+ export async function runEmitValidateRepair(opts) {
74
+ const { contract } = opts;
75
+ const attempt = opts.attempt ?? 1;
76
+ const maxLlmAttempts = Math.max(0, opts.maxLlmAttempts ?? 1);
77
+ const stages_applied = ['validate'];
78
+ const warnings = [];
79
+ // A repeated repair (attempt > 1) is itself friction worth recording (fail-7).
80
+ if (attempt > 1) {
81
+ await captureRepair(opts, 'repeated', `Repeated repair pass (attempt ${attempt}) for ${contract.contractId}.`, 'low');
82
+ }
83
+ // --- stage0: validate as emitted. Clean ⟹ no work, identity untouched. ---
84
+ let payload = opts.payload;
85
+ let validation = contract.validate(payload);
86
+ if (requiredErrors(validation).length === 0 && validation.errors.length === 0) {
87
+ return {
88
+ repaired_payload: payload,
89
+ status: 'clean',
90
+ warnings,
91
+ remaining_errors: [],
92
+ stages_applied,
93
+ };
94
+ }
95
+ // --- stage1: deterministic OPTIONAL-only coercion + recoverable backfill. ---
96
+ const coerced = contract.coercion.coerce(payload);
97
+ stages_applied.push('coerce');
98
+ if (coerced.unrecoverableIdentity) {
99
+ // Multi-element missing required identity → escalate; never homogenize.
100
+ await captureRepair(opts, 'unrecoverable-identity', `Unrecoverable per-element identity in ${contract.contractId}; escalating to re-dispatch rather than homogenizing.`, 'high');
101
+ warnings.push('Required per-element identity missing on a multi-element payload; cannot be recovered deterministically.');
102
+ const remaining = requiredErrors(contract.validate(coerced.payload));
103
+ stages_applied.push('redispatch');
104
+ return {
105
+ repaired_payload: coerced.payload,
106
+ status: 'unrepairable',
107
+ warnings,
108
+ remaining_errors: remaining,
109
+ stages_applied,
110
+ redispatch: { attempt: attempt + 1 },
111
+ };
112
+ }
113
+ payload = coerced.payload;
114
+ for (const drop of coerced.drops) {
115
+ warnings.push(`Dropped invalid OPTIONAL sub-object at ${drop}.`);
116
+ await captureRepair(opts, `drop:${drop}`, `Dropped invalid OPTIONAL sub-object at ${drop} in ${contract.contractId}.`, 'low');
117
+ }
118
+ for (const backfill of coerced.backfills) {
119
+ warnings.push(`Backfilled recoverable tool-owned identity at ${backfill}.`);
120
+ await captureRepair(opts, `backfill:${backfill}`, `Backfilled recoverable tool-owned identity at ${backfill} in ${contract.contractId}.`, 'info');
121
+ }
122
+ validation = contract.validate(payload);
123
+ let remaining = requiredErrors(validation);
124
+ if (remaining.length === 0) {
125
+ // Coercion alone cleared every REQUIRED error → NO LLM call (cheapest-first).
126
+ return {
127
+ repaired_payload: payload,
128
+ status: 'coerced',
129
+ warnings: warnings.length > 0
130
+ ? warnings
131
+ : ['Payload required deterministic coercion to validate.'],
132
+ remaining_errors: [],
133
+ stages_applied,
134
+ };
135
+ }
136
+ // --- stage2: bounded errors-only LLM patch (lock-free). ---
137
+ if (opts.patcher && maxLlmAttempts > 0) {
138
+ let llmRound = 0;
139
+ while (llmRound < maxLlmAttempts && remaining.length > 0) {
140
+ llmRound += 1;
141
+ stages_applied.push('llm_patch');
142
+ await captureRepair(opts, `llm-patch-${llmRound}`, `Bounded errors-only LLM patch (round ${llmRound}) for ${contract.contractId}.`, 'medium');
143
+ let patched;
144
+ try {
145
+ patched = await opts.patcher(payload, remaining);
146
+ }
147
+ catch {
148
+ // A failed patch leaves the payload as-is; fall through to re-dispatch.
149
+ break;
150
+ }
151
+ payload = patched;
152
+ validation = contract.validate(payload);
153
+ remaining = requiredErrors(validation);
154
+ }
155
+ if (remaining.length === 0) {
156
+ warnings.push('Payload required a bounded LLM patch to validate.');
157
+ return {
158
+ repaired_payload: payload,
159
+ status: 'patched',
160
+ warnings,
161
+ remaining_errors: [],
162
+ stages_applied,
163
+ };
164
+ }
165
+ }
166
+ // --- stage3: re-dispatch signal. ---
167
+ stages_applied.push('redispatch');
168
+ warnings.push(`Repair exhausted coercion${opts.patcher ? ' and bounded LLM patch' : ''}; ${remaining.length} required error(s) remain — re-dispatch required.`);
169
+ await captureRepair(opts, 'redispatch', `Repair exhausted cheaper stages for ${contract.contractId}; signalling re-dispatch (next attempt ${attempt + 1}).`, 'high');
170
+ return {
171
+ repaired_payload: payload,
172
+ status: 'unrepairable',
173
+ warnings,
174
+ remaining_errors: remaining,
175
+ stages_applied,
176
+ redispatch: { attempt: attempt + 1 },
177
+ };
178
+ }
179
+ //# sourceMappingURL=emitValidateRepair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitValidateRepair.js","sourceRoot":"","sources":["../../../src/shared/repair/emitValidateRepair.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * `audit-tools/shared/repair` — the single-sourced emit-validate-repair seam (O3).
3
+ * Both orchestrators import the seam from here so the staged repair policy cannot
4
+ * drift between the two halves of the pipeline.
5
+ */
6
+ export type { RepairValidationError, RepairValidationResult, RepairCoercion, RepairCoercionResult, RepairPatcher, RepairContract, RepairStatus, RepairStage, RepairRedispatch, RepairOutcome, RunEmitValidateRepairOptions, } from './emitValidateRepair.js';
7
+ export { runEmitValidateRepair } from './emitValidateRepair.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/repair/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { runEmitValidateRepair } from './emitValidateRepair.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/repair/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The single deterministic JSON serializer for content hashing across the
3
+ * codebase (INV-CK-2 / content-key-seam-fail-2). Object keys are sorted, so two
4
+ * structurally-equal values with differently-ordered keys serialize identically.
5
+ * `undefined` is normalized to `null` (both top-level and inside arrays) so a
6
+ * present-but-undefined field can never change the hash.
7
+ *
8
+ * There must be exactly ONE such serializer — never write a second. Both the
9
+ * artifact-freshness metadata hash (`src/audit/orchestrator/artifactFreshness.ts`,
10
+ * which re-exports this) and the content-key seam (`src/shared/contentKey.ts`)
11
+ * route through this function.
12
+ */
13
+ export declare function stableStringify(value: unknown): string;
14
+ //# sourceMappingURL=stableStringify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stableStringify.d.ts","sourceRoot":"","sources":["../../src/shared/stableStringify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CActD"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The single deterministic JSON serializer for content hashing across the
3
+ * codebase (INV-CK-2 / content-key-seam-fail-2). Object keys are sorted, so two
4
+ * structurally-equal values with differently-ordered keys serialize identically.
5
+ * `undefined` is normalized to `null` (both top-level and inside arrays) so a
6
+ * present-but-undefined field can never change the hash.
7
+ *
8
+ * There must be exactly ONE such serializer — never write a second. Both the
9
+ * artifact-freshness metadata hash (`src/audit/orchestrator/artifactFreshness.ts`,
10
+ * which re-exports this) and the content-key seam (`src/shared/contentKey.ts`)
11
+ * route through this function.
12
+ */
13
+ export function stableStringify(value) {
14
+ if (value === undefined) {
15
+ return "null";
16
+ }
17
+ if (value === null || typeof value !== "object") {
18
+ return JSON.stringify(value);
19
+ }
20
+ if (Array.isArray(value)) {
21
+ return `[${value.map((item) => stableStringify(item ?? null)).join(",")}]`;
22
+ }
23
+ const entries = Object.entries(value)
24
+ .filter(([, item]) => item !== undefined)
25
+ .sort(([a], [b]) => a.localeCompare(b));
26
+ return `{${entries.map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`).join(",")}}`;
27
+ }
28
+ //# sourceMappingURL=stableStringify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stableStringify.js","sourceRoot":"","sources":["../../src/shared/stableStringify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7E,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;SAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SACxC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC1G,CAAC"}
@@ -147,6 +147,22 @@ export interface DispatchableSource {
147
147
  parameters?: Record<string, unknown>;
148
148
  /** Per-source quota / rate-limit (rpm, tpm, context/output tokens). */
149
149
  quota?: QuotaModelLimits;
150
+ /**
151
+ * Path to THIS source's own credential file, when it authenticates as a
152
+ * different account than the host (e.g. a Claude CLI signed into a second
153
+ * account: its own `.credentials.json`; a second Codex `auth.json`). The
154
+ * source's quota probe + account id are read from here, so the source forms a
155
+ * pool keyed on its OWN `(provider, account)` — distinct budget from the host's
156
+ * same-provider pool (docs/quota-dispatch-design.md §5b). Omit when the source
157
+ * shares the host's account.
158
+ */
159
+ credentials_path?: string;
160
+ /**
161
+ * Explicit account id override for the pool key, when it can't be read from a
162
+ * credential (e.g. an API-key source). Takes precedence over the credential-read
163
+ * account. Omit to auto-resolve from {@link credentials_path} / the host cred.
164
+ */
165
+ account?: string;
150
166
  }
151
167
  export interface BlockQuotaConfig {
152
168
  context_tokens?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,OAAO;IACP,UAAU;IACV,mBAAmB;IACnB,aAAa;IACb,aAAa;CACL,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AA6FjE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB,EAAE,qBAAqB;IAC5C,aAAa,EAAE,aAAa;IAC5B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,mBAAmB,EAAE,mBAAmB;IACxC,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,mBAAmB;IACnB,OAAO;IACP,UAAU;IACV,kBAAkB;IAClB,qBAAqB;CACb,CAAC;AA+JX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,WAAW;IACX,WAAW;IACX,MAAM;IACN,MAAM;CACE,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,OAAO;IACP,UAAU;IACV,mBAAmB;IACnB,aAAa;IACb,aAAa;CACL,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AA6FjE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB,EAAE,qBAAqB;IAC5C,aAAa,EAAE,aAAa;IAC5B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,mBAAmB,EAAE,mBAAmB;IACxC,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,mBAAmB;IACnB,OAAO;IACP,UAAU;IACV,kBAAkB;IAClB,qBAAqB;CACb,CAAC;AA+KX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,WAAW;IACX,WAAW;IACX,MAAM;IACN,MAAM;CACE,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "audit-tools",
3
- "version": "0.30.2",
3
+ "version": "0.30.4",
4
4
  "private": false,
5
5
  "description": "Portable hybrid code auditing + remediation orchestrators for arbitrary repositories.",
6
6
  "type": "module",
@@ -496,6 +496,15 @@
496
496
  "submitted_at": {
497
497
  "type": "string",
498
498
  "format": "date-time"
499
+ },
500
+ "instance_id": {
501
+ "type": "string"
502
+ },
503
+ "identity_key": {
504
+ "type": "string"
505
+ },
506
+ "idempotency_key": {
507
+ "type": "string"
499
508
  }
500
509
  },
501
510
  "required": [
@@ -498,6 +498,15 @@
498
498
  "submitted_at": {
499
499
  "type": "string",
500
500
  "format": "date-time"
501
+ },
502
+ "instance_id": {
503
+ "type": "string"
504
+ },
505
+ "identity_key": {
506
+ "type": "string"
507
+ },
508
+ "idempotency_key": {
509
+ "type": "string"
501
510
  }
502
511
  },
503
512
  "required": [