audit-tools 0.32.7 → 0.32.9
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/LICENSE +15 -0
- package/README.md +2 -0
- package/dist/audit/cli/dispatch/quotaPool.d.ts +20 -2
- package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.js +38 -7
- package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
- package/dist/audit/cli/dispatch/tierRouting.d.ts +4 -1
- package/dist/audit/cli/dispatch/tierRouting.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/tierRouting.js +7 -4
- package/dist/audit/cli/dispatch/tierRouting.js.map +1 -1
- package/dist/audit/cli/dispatch/types.d.ts +9 -4
- package/dist/audit/cli/dispatch/types.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.d.ts +7 -0
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +24 -12
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/mergeAndIngestCommand.d.ts +0 -9
- package/dist/audit/cli/mergeAndIngestCommand.d.ts.map +1 -1
- package/dist/audit/cli/mergeAndIngestCommand.js +29 -1
- package/dist/audit/cli/mergeAndIngestCommand.js.map +1 -1
- package/dist/audit/cli/prompts.d.ts.map +1 -1
- package/dist/audit/cli/prompts.js +4 -2
- package/dist/audit/cli/prompts.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +3 -0
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
- package/dist/audit/cli/semanticReviewStep.js +10 -6
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/cli/steps.d.ts +20 -10
- package/dist/audit/cli/steps.d.ts.map +1 -1
- package/dist/audit/cli/steps.js +4 -2
- package/dist/audit/cli/steps.js.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.js +1 -0
- package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.d.ts +7 -6
- package/dist/audit/orchestrator/rollingDispatch.d.ts.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.js +37 -19
- package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
- package/dist/audit/quota/index.d.ts +137 -8
- package/dist/audit/quota/index.d.ts.map +1 -1
- package/dist/audit/quota/index.js +9 -8
- package/dist/audit/quota/index.js.map +1 -1
- package/dist/remediate/contractPipeline/derive.d.ts +20 -0
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +91 -0
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/dispatch/ownershipRegistry.d.ts +2 -22
- package/dist/remediate/dispatch/ownershipRegistry.d.ts.map +1 -1
- package/dist/remediate/dispatch/ownershipRegistry.js +7 -45
- package/dist/remediate/dispatch/ownershipRegistry.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +17 -1
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +3 -2
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/riskSignal.d.ts +6 -3
- package/dist/remediate/riskSignal.d.ts.map +1 -1
- package/dist/remediate/riskSignal.js +6 -3
- package/dist/remediate/riskSignal.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +1 -2
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +80 -106
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch.d.ts +22 -1
- package/dist/remediate/steps/dispatch.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch.js +108 -5
- package/dist/remediate/steps/dispatch.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +89 -116
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/rollingSession.d.ts +82 -17
- package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
- package/dist/remediate/steps/rollingSession.js +157 -58
- package/dist/remediate/steps/rollingSession.js.map +1 -1
- package/dist/remediate/steps/types.d.ts +12 -4
- package/dist/remediate/steps/types.d.ts.map +1 -1
- package/dist/remediate/steps/types.js +1 -1
- package/dist/shared/dispatch/admissionLoop.d.ts +245 -0
- package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -0
- package/dist/shared/dispatch/admissionLoop.js +204 -0
- package/dist/shared/dispatch/admissionLoop.js.map +1 -0
- package/dist/{remediate → shared}/dispatch/ownershipScheduler.d.ts +23 -2
- package/dist/shared/dispatch/ownershipScheduler.d.ts.map +1 -0
- package/dist/{remediate → shared}/dispatch/ownershipScheduler.js +34 -6
- package/dist/shared/dispatch/ownershipScheduler.js.map +1 -0
- package/dist/shared/dispatch/pathIdentity.d.ts +26 -0
- package/dist/shared/dispatch/pathIdentity.d.ts.map +1 -0
- package/dist/shared/dispatch/pathIdentity.js +49 -0
- package/dist/shared/dispatch/pathIdentity.js.map +1 -0
- package/dist/shared/dispatch/rollingDispatch.d.ts +37 -0
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +117 -18
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.d.ts +131 -0
- package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -0
- package/dist/shared/dispatch/unifiedRolling.js +161 -0
- package/dist/shared/dispatch/unifiedRolling.js.map +1 -0
- package/dist/shared/friction/stepBoundaryCapture.d.ts +4 -1
- package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -1
- package/dist/shared/friction/stepBoundaryCapture.js.map +1 -1
- package/dist/shared/index.d.ts +12 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +18 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/quota/packetCost.d.ts +29 -0
- package/dist/shared/quota/packetCost.d.ts.map +1 -0
- package/dist/shared/quota/packetCost.js +51 -0
- package/dist/shared/quota/packetCost.js.map +1 -0
- package/dist/shared/quota/reservationLedger.d.ts +100 -0
- package/dist/shared/quota/reservationLedger.d.ts.map +1 -0
- package/dist/shared/quota/reservationLedger.js +224 -0
- package/dist/shared/quota/reservationLedger.js.map +1 -0
- package/dist/shared/quota/state.d.ts +20 -0
- package/dist/shared/quota/state.d.ts.map +1 -1
- package/dist/shared/quota/state.js +50 -0
- package/dist/shared/quota/state.js.map +1 -1
- package/dist/shared/quota/types.d.ts +11 -0
- package/dist/shared/quota/types.d.ts.map +1 -1
- package/dist/shared/quota/types.js.map +1 -1
- package/docs/audit-pkg/contracts.md +3 -1
- package/docs/audit-pkg/development.md +5 -4
- package/docs/audit-pkg/release.md +2 -3
- package/package.json +3 -1
- package/dist/remediate/dispatch/ownershipScheduler.d.ts.map +0 -1
- package/dist/remediate/dispatch/ownershipScheduler.js.map +0 -1
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
2
|
+
import { tmpdir } from "node:os";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { withFileLock, STALE_LOCK_MS } from "./fileLock.js";
|
|
5
|
+
import { getQuotaStatePath } from "./state.js";
|
|
6
|
+
function mintLeaseId() {
|
|
7
|
+
return `${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
8
|
+
}
|
|
9
|
+
function isLease(value) {
|
|
10
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
11
|
+
return false;
|
|
12
|
+
const obj = value;
|
|
13
|
+
return (typeof obj.leaseId === "string" &&
|
|
14
|
+
typeof obj.cost === "number" &&
|
|
15
|
+
Number.isFinite(obj.cost) &&
|
|
16
|
+
typeof obj.poolId === "string" &&
|
|
17
|
+
typeof obj.expiresAt === "number" &&
|
|
18
|
+
Number.isFinite(obj.expiresAt));
|
|
19
|
+
}
|
|
20
|
+
// Read the ledger, degrading ANY malformed/absent state to an empty map. A corrupt
|
|
21
|
+
// ledger must never throw into the dispatch loop — at worst a reservation is missed
|
|
22
|
+
// (over-admission), which the reactive floor still catches. Only well-formed leases
|
|
23
|
+
// are retained; junk is dropped silently.
|
|
24
|
+
async function readLedger(ledgerPath) {
|
|
25
|
+
let raw;
|
|
26
|
+
try {
|
|
27
|
+
raw = await readFile(ledgerPath, "utf8");
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return {};
|
|
31
|
+
}
|
|
32
|
+
let parsed;
|
|
33
|
+
try {
|
|
34
|
+
parsed = JSON.parse(raw);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed))
|
|
40
|
+
return {};
|
|
41
|
+
const out = {};
|
|
42
|
+
for (const [resourceKey, leases] of Object.entries(parsed)) {
|
|
43
|
+
if (!Array.isArray(leases))
|
|
44
|
+
continue;
|
|
45
|
+
const kept = leases.filter(isLease);
|
|
46
|
+
if (kept.length > 0)
|
|
47
|
+
out[resourceKey] = kept;
|
|
48
|
+
}
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
async function writeLedger(ledgerPath, ledger) {
|
|
52
|
+
await mkdir(dirname(ledgerPath), { recursive: true });
|
|
53
|
+
await writeFile(ledgerPath, `${JSON.stringify(ledger, null, 2)}\n`, "utf8");
|
|
54
|
+
}
|
|
55
|
+
/** Sum of non-expired leases for a key. Expired leases (crashed consumers) don't count. */
|
|
56
|
+
function sumOutstanding(leases, now) {
|
|
57
|
+
if (!leases)
|
|
58
|
+
return 0;
|
|
59
|
+
let total = 0;
|
|
60
|
+
for (const lease of leases) {
|
|
61
|
+
if (lease.expiresAt > now)
|
|
62
|
+
total += lease.cost;
|
|
63
|
+
}
|
|
64
|
+
return total;
|
|
65
|
+
}
|
|
66
|
+
/** Drop expired leases from every key, returning the trimmed map and how many were dropped. */
|
|
67
|
+
function pruneExpired(ledger, now) {
|
|
68
|
+
let dropped = 0;
|
|
69
|
+
const out = {};
|
|
70
|
+
for (const [resourceKey, leases] of Object.entries(ledger)) {
|
|
71
|
+
const live = leases.filter((l) => l.expiresAt > now);
|
|
72
|
+
dropped += leases.length - live.length;
|
|
73
|
+
if (live.length > 0)
|
|
74
|
+
out[resourceKey] = live;
|
|
75
|
+
}
|
|
76
|
+
return { ledger: out, dropped };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* File-backed token-reservation ledger. The caller owns the path (and may point
|
|
80
|
+
* two dispatch loops at the same file — that is the whole point: shared account
|
|
81
|
+
* budget across co-located consumers). Every mutating op runs its entire
|
|
82
|
+
* read-modify-write inside `withFileLock(ledgerPath + '.lock')`, so
|
|
83
|
+
* reserve-before-dispatch is atomic across processes and optimistic estimates
|
|
84
|
+
* cannot multiply across consumers.
|
|
85
|
+
*
|
|
86
|
+
* The default lease TTL is the file lock's `STALE_LOCK_MS` but is per-op
|
|
87
|
+
* overridable (`leaseTtlMs`): a lease guarding a long LLM dispatch needs a longer
|
|
88
|
+
* lifetime than a short state mutation, so a genuinely in-flight request is never
|
|
89
|
+
* treated as expired mid-flight.
|
|
90
|
+
*/
|
|
91
|
+
export class ReservationLedger {
|
|
92
|
+
ledgerPath;
|
|
93
|
+
now;
|
|
94
|
+
lockPath;
|
|
95
|
+
defaultTtlMs;
|
|
96
|
+
constructor(ledgerPath, now = () => Date.now(), defaultTtlMs = STALE_LOCK_MS) {
|
|
97
|
+
this.ledgerPath = ledgerPath;
|
|
98
|
+
this.now = now;
|
|
99
|
+
this.lockPath = `${ledgerPath}.lock`;
|
|
100
|
+
this.defaultTtlMs = defaultTtlMs;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Attempt to reserve `cost` tokens against `resourceKey`'s shared budget.
|
|
104
|
+
* Admitted iff `budget - Σ outstanding_leases(resourceKey) >= cost`, evaluated
|
|
105
|
+
* atomically under the lock so concurrent admitters serialize and each sees the
|
|
106
|
+
* others' in-flight reservations. A non-finite `budget` is treated as unbounded
|
|
107
|
+
* (optimistic start — the reactive floor still corrects). A non-positive `cost`
|
|
108
|
+
* is always admitted with a lease so completion still reconciles symmetrically.
|
|
109
|
+
* The returned `headroomBefore`/`outstandingBefore`/`cost` feed the per-admission
|
|
110
|
+
* explain record on the dispatch-quota artifact.
|
|
111
|
+
*/
|
|
112
|
+
async admit(input) {
|
|
113
|
+
const ttl = input.leaseTtlMs ?? this.defaultTtlMs;
|
|
114
|
+
return withFileLock(this.lockPath, async () => {
|
|
115
|
+
const now = this.now();
|
|
116
|
+
const { ledger } = pruneExpired(await readLedger(this.ledgerPath), now);
|
|
117
|
+
const outstandingBefore = sumOutstanding(ledger[input.resourceKey], now);
|
|
118
|
+
const budget = Number.isFinite(input.budget) ? input.budget : Number.POSITIVE_INFINITY;
|
|
119
|
+
const headroomBefore = budget - outstandingBefore;
|
|
120
|
+
const cost = Number.isFinite(input.cost) ? input.cost : 0;
|
|
121
|
+
const admitted = cost <= 0 || headroomBefore >= cost;
|
|
122
|
+
if (!admitted) {
|
|
123
|
+
// Persist the prune even on a blocked admission so expired leases don't
|
|
124
|
+
// linger and depress headroom for the next attempt.
|
|
125
|
+
await writeLedger(this.ledgerPath, ledger);
|
|
126
|
+
return { admitted: false, leaseId: null, headroomBefore, outstandingBefore, cost };
|
|
127
|
+
}
|
|
128
|
+
const leaseId = mintLeaseId();
|
|
129
|
+
const lease = {
|
|
130
|
+
leaseId,
|
|
131
|
+
cost,
|
|
132
|
+
poolId: input.poolId,
|
|
133
|
+
expiresAt: now + ttl,
|
|
134
|
+
};
|
|
135
|
+
ledger[input.resourceKey] = [...(ledger[input.resourceKey] ?? []), lease];
|
|
136
|
+
await writeLedger(this.ledgerPath, ledger);
|
|
137
|
+
return { admitted: true, leaseId, headroomBefore, outstandingBefore, cost };
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Free a reservation on completion (success OR failure — the request is no longer
|
|
142
|
+
* in flight either way). Token-checked by `leaseId`: a no-op if the lease is
|
|
143
|
+
* already gone (expired / reconciled). Returns whether a lease was removed. The
|
|
144
|
+
* lease's real cost surfaces in the provider's next quota snapshot; the ledger's
|
|
145
|
+
* job is only to stop reserving it.
|
|
146
|
+
*/
|
|
147
|
+
async reconcile(resourceKey, leaseId) {
|
|
148
|
+
return withFileLock(this.lockPath, async () => {
|
|
149
|
+
const now = this.now();
|
|
150
|
+
const { ledger } = pruneExpired(await readLedger(this.ledgerPath), now);
|
|
151
|
+
const leases = ledger[resourceKey];
|
|
152
|
+
if (!leases) {
|
|
153
|
+
await writeLedger(this.ledgerPath, ledger);
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
const remaining = leases.filter((l) => l.leaseId !== leaseId);
|
|
157
|
+
const removed = remaining.length !== leases.length;
|
|
158
|
+
if (remaining.length > 0)
|
|
159
|
+
ledger[resourceKey] = remaining;
|
|
160
|
+
else
|
|
161
|
+
delete ledger[resourceKey];
|
|
162
|
+
await writeLedger(this.ledgerPath, ledger);
|
|
163
|
+
return removed;
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
/** Sum of outstanding (non-expired) reservations for `resourceKey`. Read under the lock. */
|
|
167
|
+
async outstanding(resourceKey) {
|
|
168
|
+
return withFileLock(this.lockPath, async () => {
|
|
169
|
+
const now = this.now();
|
|
170
|
+
const ledger = await readLedger(this.ledgerPath);
|
|
171
|
+
return sumOutstanding(ledger[resourceKey], now);
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Drop every expired lease across all keys, returning how many were freed. Admit
|
|
176
|
+
* prunes lazily, but a long-idle ledger (all consumers gone) benefits from an
|
|
177
|
+
* explicit sweep so a later reader doesn't see stale reservations.
|
|
178
|
+
*/
|
|
179
|
+
async reclaimExpired() {
|
|
180
|
+
return withFileLock(this.lockPath, async () => {
|
|
181
|
+
const now = this.now();
|
|
182
|
+
const { ledger, dropped } = pruneExpired(await readLedger(this.ledgerPath), now);
|
|
183
|
+
if (dropped > 0)
|
|
184
|
+
await writeLedger(this.ledgerPath, ledger);
|
|
185
|
+
return dropped;
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Snapshot of all LIVE (non-expired) leases keyed by resourceKey, for the
|
|
190
|
+
* dispatch-quota explain-artifact. Read under the lock; expired leases are
|
|
191
|
+
* omitted (they no longer bind budget).
|
|
192
|
+
*/
|
|
193
|
+
async snapshot() {
|
|
194
|
+
return withFileLock(this.lockPath, async () => {
|
|
195
|
+
const now = this.now();
|
|
196
|
+
const { ledger } = pruneExpired(await readLedger(this.ledgerPath), now);
|
|
197
|
+
return ledger;
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Canonical reservation-ledger path — SINGLE-SOURCED so every co-located consumer
|
|
203
|
+
* (audit host grant, remediate host grant, the in-process rolling engine, a second
|
|
204
|
+
* IDE's run) leases against the SAME file and therefore shares one account budget.
|
|
205
|
+
* Sits beside the learned quota-state file (the same user-scoped quota dir), so it
|
|
206
|
+
* inherits `setQuotaStateDir` redirection in tests and per-user isolation in prod.
|
|
207
|
+
*/
|
|
208
|
+
export function getReservationLedgerPath() {
|
|
209
|
+
// Degrade-safe: when the quota-state dir is not configured (never throws into
|
|
210
|
+
// dispatch), fall back to a per-process temp path. Co-located coordination needs
|
|
211
|
+
// the shared quota dir; without it (a misconfigured/unit context) the ledger still
|
|
212
|
+
// functions locally — the reactive 429 floor remains the always-correct backstop.
|
|
213
|
+
try {
|
|
214
|
+
return join(dirname(getQuotaStatePath()), "reservations.json");
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
return join(tmpdir(), `audit-tools-reservations-${process.pid}.json`);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/** Construct a ReservationLedger at the canonical shared path. */
|
|
221
|
+
export function createReservationLedger() {
|
|
222
|
+
return new ReservationLedger(getReservationLedgerPath());
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=reservationLedger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reservationLedger.js","sourceRoot":"","sources":["../../../src/shared/quota/reservationLedger.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,26 @@ export declare const MIN_SLOPE_DELTA_PERCENT = 0.5;
|
|
|
22
22
|
* when any input is non-finite. Never throws.
|
|
23
23
|
*/
|
|
24
24
|
export declare function foldTokensPerPctObservation(prior: Record<string, number> | undefined, windowLabel: string, priorRemainingPct: number, newRemainingPct: number, tokensDispatched: number): Record<string, number>;
|
|
25
|
+
export declare const OUTPUT_RATIO_EWMA_ALPHA = 0.3;
|
|
26
|
+
/**
|
|
27
|
+
* Fold one output/input token-ratio observation into a lens's learned EWMA ratio,
|
|
28
|
+
* returning the updated map (pure — never mutates the input). `ratio =
|
|
29
|
+
* actualOutputTokens / actualInputTokens`, blended into the lens's EWMA so the
|
|
30
|
+
* next reservation's output envelope tracks measured reality.
|
|
31
|
+
*
|
|
32
|
+
* Degrade-safe: returns the prior map unchanged when either token count is
|
|
33
|
+
* non-finite or non-positive (a packet that produced no measurable output/input
|
|
34
|
+
* carries no ratio signal). Never throws.
|
|
35
|
+
*/
|
|
36
|
+
export declare function foldOutputRatioObservation(prior: Record<string, number> | undefined, lens: string, actualInputTokens: number, actualOutputTokens: number): Record<string, number>;
|
|
37
|
+
/**
|
|
38
|
+
* Persist a folded output/input ratio observation for a pool's quota-state entry,
|
|
39
|
+
* under the shared quota-state file lock. Reads the current entry (or a blank one),
|
|
40
|
+
* folds the observation via {@link foldOutputRatioObservation}, and writes back.
|
|
41
|
+
* Degrade-safe: a missing/unreadable state file falls to a blank entry; an
|
|
42
|
+
* observation carrying no ratio signal leaves the file untouched-in-value.
|
|
43
|
+
*/
|
|
44
|
+
export declare function recordOutputRatioObservation(providerModelKey: string, lens: string, actualInputTokens: number, actualOutputTokens: number): Promise<void>;
|
|
25
45
|
/**
|
|
26
46
|
* Persist a folded tokens_per_pct observation for a pool's quota-state entry,
|
|
27
47
|
* under the shared quota-state file lock. Reads the current entry (or a blank
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAWtG,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAKnC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGlD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,MAAM,CAGR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,GACpB,eAAe,CAWjB;AASD,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CA2B1D;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,EACrB,UAAU,SAAmB,GAC5B,MAAM,CAgBR;AAID,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,EACrB,UAAU,SAAmB,GAC5B,MAAM,CAYR;AAKD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAI7C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBxB;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAMD,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,eAAe,QAAc,CAAC;AAE3C,wBAAgB,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,wBAAgB,2BAA2B,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,mBAAmB,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC9C,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAaf"}
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAWtG,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAKnC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGlD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,MAAM,CAGR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,GACpB,eAAe,CAWjB;AASD,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,CA2B1D;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,EACrB,UAAU,SAAmB,GAC5B,MAAM,CAgBR;AAID,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,EACrB,UAAU,SAAmB,GAC5B,MAAM,CAYR;AAKD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAI7C,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBxB;AAKD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACzC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAMD,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,eAAe,QAAc,CAAC;AAE3C,wBAAgB,wBAAwB,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED,wBAAgB,2BAA2B,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,mBAAmB,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC9C,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAaf"}
|
|
@@ -146,6 +146,56 @@ export function foldTokensPerPctObservation(prior, windowLabel, priorRemainingPc
|
|
|
146
146
|
: sampleSlope;
|
|
147
147
|
return { ...base, [windowLabel]: blended };
|
|
148
148
|
}
|
|
149
|
+
// EWMA weight for a new output/input ratio observation. Shares the responsive-but-
|
|
150
|
+
// not-jumpy 0.3 of the tokens_per_pct slope — a lens's output ratio is at least as
|
|
151
|
+
// stable as its consumption slope, so the same blend converges within a few packets.
|
|
152
|
+
export const OUTPUT_RATIO_EWMA_ALPHA = 0.3;
|
|
153
|
+
/**
|
|
154
|
+
* Fold one output/input token-ratio observation into a lens's learned EWMA ratio,
|
|
155
|
+
* returning the updated map (pure — never mutates the input). `ratio =
|
|
156
|
+
* actualOutputTokens / actualInputTokens`, blended into the lens's EWMA so the
|
|
157
|
+
* next reservation's output envelope tracks measured reality.
|
|
158
|
+
*
|
|
159
|
+
* Degrade-safe: returns the prior map unchanged when either token count is
|
|
160
|
+
* non-finite or non-positive (a packet that produced no measurable output/input
|
|
161
|
+
* carries no ratio signal). Never throws.
|
|
162
|
+
*/
|
|
163
|
+
export function foldOutputRatioObservation(prior, lens, actualInputTokens, actualOutputTokens) {
|
|
164
|
+
const base = prior ?? {};
|
|
165
|
+
if (!Number.isFinite(actualInputTokens) ||
|
|
166
|
+
!Number.isFinite(actualOutputTokens) ||
|
|
167
|
+
actualInputTokens <= 0 ||
|
|
168
|
+
actualOutputTokens <= 0) {
|
|
169
|
+
return base;
|
|
170
|
+
}
|
|
171
|
+
const sampleRatio = actualOutputTokens / actualInputTokens;
|
|
172
|
+
if (!Number.isFinite(sampleRatio) || sampleRatio <= 0)
|
|
173
|
+
return base;
|
|
174
|
+
const previous = base[lens];
|
|
175
|
+
const blended = typeof previous === "number" && Number.isFinite(previous) && previous > 0
|
|
176
|
+
? previous * (1 - OUTPUT_RATIO_EWMA_ALPHA) + sampleRatio * OUTPUT_RATIO_EWMA_ALPHA
|
|
177
|
+
: sampleRatio;
|
|
178
|
+
return { ...base, [lens]: blended };
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Persist a folded output/input ratio observation for a pool's quota-state entry,
|
|
182
|
+
* under the shared quota-state file lock. Reads the current entry (or a blank one),
|
|
183
|
+
* folds the observation via {@link foldOutputRatioObservation}, and writes back.
|
|
184
|
+
* Degrade-safe: a missing/unreadable state file falls to a blank entry; an
|
|
185
|
+
* observation carrying no ratio signal leaves the file untouched-in-value.
|
|
186
|
+
*/
|
|
187
|
+
export async function recordOutputRatioObservation(providerModelKey, lens, actualInputTokens, actualOutputTokens) {
|
|
188
|
+
const lockPath = getQuotaStatePath() + ".lock";
|
|
189
|
+
await withFileLock(lockPath, async () => {
|
|
190
|
+
const state = await readQuotaState();
|
|
191
|
+
const entry = state.entries[providerModelKey] ?? blankEntry();
|
|
192
|
+
const updated = foldOutputRatioObservation(entry.output_per_input, lens, actualInputTokens, actualOutputTokens);
|
|
193
|
+
entry.output_per_input = updated;
|
|
194
|
+
entry.updated_at = new Date().toISOString();
|
|
195
|
+
state.entries[providerModelKey] = entry;
|
|
196
|
+
await writeQuotaState(state);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
149
199
|
/**
|
|
150
200
|
* Persist a folded tokens_per_pct observation for a pool's quota-state entry,
|
|
151
201
|
* under the shared quota-state file lock. Reads the current entry (or a blank
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/shared/quota/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/shared/quota/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,17 @@ export interface QuotaStateEntry {
|
|
|
58
58
|
* a pool's own windows. Absent until observed (cold start).
|
|
59
59
|
*/
|
|
60
60
|
tokens_per_pct?: Record<string, number>;
|
|
61
|
+
/**
|
|
62
|
+
* Learned output/input token RATIO (EWMA), keyed PER LENS (e.g. "security",
|
|
63
|
+
* "correctness"). Dispatch reserves an output ENVELOPE before a packet runs —
|
|
64
|
+
* output (the findings) is unknown until generated yet is frequently the binding
|
|
65
|
+
* rate-limit constraint, so reserving on input alone systematically
|
|
66
|
+
* under-reserves. `ratio = actual_output_tokens / actual_input_tokens`, folded on
|
|
67
|
+
* completion. When absent for a (key,lens) the caller falls back to the packet's
|
|
68
|
+
* declared output cap (cold start); once learned, `output_reservation =
|
|
69
|
+
* input_estimate * ratio`. Absent until observed.
|
|
70
|
+
*/
|
|
71
|
+
output_per_input?: Record<string, number>;
|
|
61
72
|
}
|
|
62
73
|
export interface QuotaState {
|
|
63
74
|
version: 1 | 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB,gHAO5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,sCAAoC,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gCAAgC,kHAY3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAM5B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AACZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB,gHAO5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,sCAAoC,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,gCAAgC,kHAY3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAM5B,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AACZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC1C;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,8FAQ/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,eAAe,CAAC;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,EAAE,cAAc,CAAC;IAChC,sBAAsB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC7E;;;OAGG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAMpB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/quota/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,iBAAiB;IACjB,uBAAuB;IACvB,WAAW;IACX,kBAAkB;IAClB,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAGvE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,IAAI,CAAC;IACrD,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,wEAAwE;IACxE,yEAAyE;IACzE,mBAAmB;IACnB,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,eAAe;CAChB,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,gCAAgC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC;KACD,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/quota/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,iBAAiB;IACjB,uBAAuB;IACvB,WAAW;IACX,kBAAkB;IAClB,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAGvE,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,IAAI,CAAC;IACrD,WAAW;IACX,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,wEAAwE;IACxE,yEAAyE;IACzE,mBAAmB;IACnB,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,eAAe;CAChB,CAAC,CAAC;AAKH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,EAAE,gCAAgC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC;KACD,MAAM,EAAE,CAAC;AAyCZ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IACzC,KAAK;IACL,KAAK;IACL,cAAc;IACd,SAAS;IACT,UAAU;IACV,kBAAkB;IAClB,MAAM;CACP,CAAC,CAAC;AA6BH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1C,CAAC;KACD,MAAM,EAAE,CAAC"}
|
|
@@ -56,7 +56,9 @@ audit-code validate-results --results /path/to/results.json
|
|
|
56
56
|
|
|
57
57
|
## Artifact bundle
|
|
58
58
|
|
|
59
|
-
The backend stores resumable artifacts under `.audit-tools/audit
|
|
59
|
+
The backend stores resumable artifacts under `.audit-tools/audit/`. A
|
|
60
|
+
non-exhaustive sample; the complete registry-backed list (all 32 entries) lives
|
|
61
|
+
in [`spec/audit/artifact-contract.md`](../../spec/audit/artifact-contract.md):
|
|
60
62
|
|
|
61
63
|
- `repo_manifest.json`
|
|
62
64
|
- `file_disposition.json`
|
|
@@ -103,10 +103,11 @@ ecosystem-specific parser.
|
|
|
103
103
|
|
|
104
104
|
Before treating a build as production-ready, verify the full review loop in one
|
|
105
105
|
real host (`prepare-dispatch` → worker reviews each packet → `submit-packet` →
|
|
106
|
-
`merge-and-ingest` → `validate`), then run
|
|
107
|
-
checkout
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
`merge-and-ingest` → `validate`), then run the release gate from a clean
|
|
107
|
+
checkout (see [`release.md`](release.md) for what `npm run verify:release`
|
|
108
|
+
covers and when to run it). Keep runtime command execution covered when
|
|
109
|
+
changing it — including the Windows package-manager-shim path (see the Windows
|
|
110
|
+
notes in [`operator-guide.md`](operator-guide.md)). If the
|
|
110
111
|
final `audit-report.md` cannot be promoted from `.audit-tools/audit/` to
|
|
111
112
|
`.audit-tools/audit-report.md` due to local permissions, completion still succeeds and the
|
|
112
113
|
pre-promotion copy under `.audit-tools/audit/` is authoritative.
|
|
@@ -45,8 +45,7 @@ Workflow:
|
|
|
45
45
|
The workflow:
|
|
46
46
|
|
|
47
47
|
- requests `id-token: write` for npm OIDC exchange
|
|
48
|
-
- pins Node
|
|
49
|
-
- pins npm to `11.5.1`
|
|
48
|
+
- pins the Node and npm versions declared in `.github/workflows/publish-package.yml`
|
|
50
49
|
- runs `npm run verify:release`
|
|
51
50
|
- previews the packed tarball with `npm pack --dry-run`
|
|
52
51
|
- publishes with public access and provenance
|
|
@@ -54,7 +53,7 @@ The workflow:
|
|
|
54
53
|
- verifies that the published version resolves from the registry
|
|
55
54
|
- uploads `*-npm-logs` artifacts on failure
|
|
56
55
|
|
|
57
|
-
Routine CI exercises Node `20` and Node `22
|
|
56
|
+
Routine CI exercises the Node majors matrixed in `.github/workflows/*.yml` (currently Node `20` and Node `22`).
|
|
58
57
|
|
|
59
58
|
## Version bump helpers
|
|
60
59
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "audit-tools",
|
|
3
|
-
"version": "0.32.
|
|
3
|
+
"version": "0.32.9",
|
|
4
4
|
"private": false,
|
|
5
|
+
"license": "ISC",
|
|
5
6
|
"description": "Portable hybrid code auditing + remediation orchestrators for arbitrary repositories.",
|
|
6
7
|
"type": "module",
|
|
7
8
|
"bin": {
|
|
@@ -38,6 +39,7 @@
|
|
|
38
39
|
"postinstall": "node scripts/postinstall.mjs",
|
|
39
40
|
"build": "tsc -p tsconfig.json",
|
|
40
41
|
"check": "tsc -p tsconfig.json --noEmit",
|
|
42
|
+
"test:doc-contract": "vitest run tests/audit/release-contract.test.mjs tests/audit/priority-chain-doc-sync.test.mjs tests/audit/file-lock-doc-sync.test.mjs tests/audit/host-asset-renderer-drift.test.mjs",
|
|
41
43
|
"test": "npm run build && vitest run",
|
|
42
44
|
"test:single": "npm run build && vitest run",
|
|
43
45
|
"verify:checks": "npm run check && npm run check:deadcode && npm run check:doc-manifest && npm run build && npm run verify:hosts && npm run verify:remediate-hosts && npm run smoke:packaged-audit-code && npm run smoke:packaged-remediate-code",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ownershipScheduler.d.ts","sourceRoot":"","sources":["../../../src/remediate/dispatch/ownershipScheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,sBAAsB,EAC5B,IAAI,CAAC,EAAE,MAAM,GACZ,GAAG,CAAC,MAAM,CAAC,CAIb;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,sBAAsB,EAAE,EAC/B,IAAI,CAAC,EAAE,MAAM,GACZ,sBAAsB,EAAE,EAAE,CAkE5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ownershipScheduler.js","sourceRoot":"","sources":["../../../src/remediate/dispatch/ownershipScheduler.ts"],"names":[],"mappings":"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"}
|