scoutline 0.17.0 → 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/async-file-lock.d.ts +31 -2
- package/dist/lib/async-file-lock.d.ts.map +1 -1
- package/dist/lib/async-file-lock.js +101 -9
- package/dist/lib/async-file-lock.js.map +1 -1
- package/dist/lib/cache.d.ts.map +1 -1
- package/dist/lib/cache.js +8 -5
- package/dist/lib/cache.js.map +1 -1
- package/dist/lib/config-store.d.ts +3 -2
- package/dist/lib/config-store.d.ts.map +1 -1
- package/dist/lib/config-store.js +6 -4
- package/dist/lib/config-store.js.map +1 -1
- package/dist/lib/execution.d.ts +6 -0
- package/dist/lib/execution.d.ts.map +1 -1
- package/dist/lib/execution.js +62 -2
- package/dist/lib/execution.js.map +1 -1
- package/dist/lib/quota-store.d.ts +28 -5
- package/dist/lib/quota-store.d.ts.map +1 -1
- package/dist/lib/quota-store.js +128 -47
- package/dist/lib/quota-store.js.map +1 -1
- package/dist/lib/redact.d.ts.map +1 -1
- package/dist/lib/redact.js +29 -3
- package/dist/lib/redact.js.map +1 -1
- package/dist/lib/tool-cache.d.ts +7 -0
- package/dist/lib/tool-cache.d.ts.map +1 -1
- package/dist/lib/tool-cache.js +12 -1
- package/dist/lib/tool-cache.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/quota-store.js
CHANGED
|
@@ -126,6 +126,128 @@ function findCategoryIndex(categories, adjustment) {
|
|
|
126
126
|
}
|
|
127
127
|
return -1;
|
|
128
128
|
}
|
|
129
|
+
function numericDecrement(adjustment) {
|
|
130
|
+
const amount = adjustment.amount;
|
|
131
|
+
if (amount.kind === "unknown")
|
|
132
|
+
return undefined;
|
|
133
|
+
const value = amount.value;
|
|
134
|
+
if (!Number.isFinite(value) || value < 0)
|
|
135
|
+
return undefined;
|
|
136
|
+
return value;
|
|
137
|
+
}
|
|
138
|
+
function withPending(pending, category, delta) {
|
|
139
|
+
if (category === undefined || delta === undefined || delta === 0)
|
|
140
|
+
return pending;
|
|
141
|
+
return { ...(pending ?? {}), [category]: (pending?.[category] ?? 0) + delta };
|
|
142
|
+
}
|
|
143
|
+
function omitEmptyPending(pending) {
|
|
144
|
+
if (pending === undefined)
|
|
145
|
+
return undefined;
|
|
146
|
+
const kept = {};
|
|
147
|
+
for (const [name, amount] of Object.entries(pending)) {
|
|
148
|
+
if (Number.isFinite(amount) && amount > 0)
|
|
149
|
+
kept[name] = amount;
|
|
150
|
+
}
|
|
151
|
+
return Object.keys(kept).length > 0 ? kept : undefined;
|
|
152
|
+
}
|
|
153
|
+
function applyPendingToCategories(categories, pending) {
|
|
154
|
+
const overlay = omitEmptyPending(pending);
|
|
155
|
+
if (overlay === undefined)
|
|
156
|
+
return categories;
|
|
157
|
+
return categories.map((cat) => {
|
|
158
|
+
const delta = overlay[cat.name];
|
|
159
|
+
if (delta === undefined)
|
|
160
|
+
return cat;
|
|
161
|
+
return {
|
|
162
|
+
...cat,
|
|
163
|
+
current: applyConsumptionToWindow(cat.current, {
|
|
164
|
+
category: cat.name,
|
|
165
|
+
amount: { kind: "estimate", value: delta },
|
|
166
|
+
}),
|
|
167
|
+
};
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
function categoryByName(categories, name) {
|
|
171
|
+
return categories.find((cat) => cat.name === name);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Apply a consumption write. Missing snapshots become an `observedAt: 0`
|
|
175
|
+
* scaffold so pre-harvest decrements persist until the first harvest.
|
|
176
|
+
*/
|
|
177
|
+
export function applyWriteConsumption(prior, adjustment, at) {
|
|
178
|
+
const delta = numericDecrement(adjustment);
|
|
179
|
+
if (!prior) {
|
|
180
|
+
const pending = omitEmptyPending(withPending(undefined, adjustment.category, delta));
|
|
181
|
+
return {
|
|
182
|
+
observedAt: 0,
|
|
183
|
+
locallyUpdatedAt: at,
|
|
184
|
+
categories: [],
|
|
185
|
+
...(pending !== undefined ? { decrementedSinceObserved: pending } : {}),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
const pending = omitEmptyPending(withPending(prior.decrementedSinceObserved, adjustment.category, delta));
|
|
189
|
+
const categories = prior.categories;
|
|
190
|
+
const idx = findCategoryIndex(categories, adjustment);
|
|
191
|
+
const newCategories = idx >= 0
|
|
192
|
+
? categories.map((c, i) => i === idx ? { ...c, current: applyConsumptionToWindow(c.current, adjustment) } : c)
|
|
193
|
+
: categories;
|
|
194
|
+
return {
|
|
195
|
+
observedAt: prior.observedAt,
|
|
196
|
+
locallyUpdatedAt: at,
|
|
197
|
+
categories: newCategories,
|
|
198
|
+
...(pending !== undefined ? { decrementedSinceObserved: pending } : {}),
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Merge a fresh provider harvest with unacknowledged local decrements.
|
|
203
|
+
* Provider `used` growth since the last harvest absorbs pending amounts
|
|
204
|
+
* (no double-count). Leftover pending is re-applied onto the fresh
|
|
205
|
+
* categories so a lagging usage endpoint does not clobber local estimates.
|
|
206
|
+
*/
|
|
207
|
+
export function applyWriteObserved(prior, snapshot) {
|
|
208
|
+
const pending = omitEmptyPending(prior?.decrementedSinceObserved);
|
|
209
|
+
const remaining = {};
|
|
210
|
+
if (pending !== undefined) {
|
|
211
|
+
for (const [name, amount] of Object.entries(pending)) {
|
|
212
|
+
const freshCat = categoryByName(snapshot.categories, name);
|
|
213
|
+
const priorCat = prior ? categoryByName(prior.categories, name) : undefined;
|
|
214
|
+
let absorbed = 0;
|
|
215
|
+
const freshUsed = freshCat?.current.used;
|
|
216
|
+
if (prior !== undefined &&
|
|
217
|
+
prior.observedAt > 0 &&
|
|
218
|
+
priorCat !== undefined &&
|
|
219
|
+
freshUsed !== undefined &&
|
|
220
|
+
Number.isFinite(freshUsed)) {
|
|
221
|
+
const priorDisplayed = priorCat.current.used;
|
|
222
|
+
if (priorDisplayed !== undefined && Number.isFinite(priorDisplayed)) {
|
|
223
|
+
const priorProviderUsed = priorDisplayed - amount;
|
|
224
|
+
absorbed = Math.max(0, freshUsed - priorProviderUsed);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
const leftover = Math.max(0, amount - absorbed);
|
|
228
|
+
if (leftover > 0)
|
|
229
|
+
remaining[name] = leftover;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
const leftoverPending = omitEmptyPending(remaining);
|
|
233
|
+
return {
|
|
234
|
+
observedAt: snapshot.observedAt,
|
|
235
|
+
...(prior?.locallyUpdatedAt !== undefined ? { locallyUpdatedAt: prior.locallyUpdatedAt } : {}),
|
|
236
|
+
categories: applyPendingToCategories(snapshot.categories, leftoverPending),
|
|
237
|
+
...(leftoverPending !== undefined ? { decrementedSinceObserved: leftoverPending } : {}),
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
function parsePendingDecrements(raw) {
|
|
241
|
+
if (!isRecord(raw))
|
|
242
|
+
return undefined;
|
|
243
|
+
const pending = {};
|
|
244
|
+
for (const [name, amount] of Object.entries(raw)) {
|
|
245
|
+
if (typeof amount === "number" && Number.isFinite(amount) && amount > 0) {
|
|
246
|
+
pending[name] = amount;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return Object.keys(pending).length > 0 ? pending : undefined;
|
|
250
|
+
}
|
|
129
251
|
// ---------------------------------------------------------------------------
|
|
130
252
|
// Parsing — fail-open, never throws
|
|
131
253
|
// ---------------------------------------------------------------------------
|
|
@@ -177,12 +299,14 @@ function parseQuotaState(raw, now, onWarning) {
|
|
|
177
299
|
const categories = entry.categories;
|
|
178
300
|
if (!Array.isArray(categories))
|
|
179
301
|
continue;
|
|
302
|
+
const pending = parsePendingDecrements(entry.decrementedSinceObserved);
|
|
180
303
|
const snapshot = {
|
|
181
304
|
observedAt,
|
|
182
305
|
...(typeof entry.locallyUpdatedAt === "number" && Number.isFinite(entry.locallyUpdatedAt)
|
|
183
306
|
? { locallyUpdatedAt: entry.locallyUpdatedAt }
|
|
184
307
|
: {}),
|
|
185
308
|
categories: categories,
|
|
309
|
+
...(pending !== undefined ? { decrementedSinceObserved: pending } : {}),
|
|
186
310
|
};
|
|
187
311
|
// Trust the key — a stale entry for a removed provider is
|
|
188
312
|
// harmless (PB-T3 ignores unknown IDs); dropping it here would
|
|
@@ -295,16 +419,7 @@ export function createDefaultQuotaStore(options = {}) {
|
|
|
295
419
|
async writeObserved(providerId, snapshot) {
|
|
296
420
|
await withFileLock(filePath, async () => {
|
|
297
421
|
const existing = await readStateFile();
|
|
298
|
-
const
|
|
299
|
-
const merged = {
|
|
300
|
-
observedAt: snapshot.observedAt,
|
|
301
|
-
// Preserve locallyUpdatedAt from the existing snapshot —
|
|
302
|
-
// PB-T1 does NOT advance it; PB-T2 (local decrement) does.
|
|
303
|
-
...(prior?.locallyUpdatedAt !== undefined
|
|
304
|
-
? { locallyUpdatedAt: prior.locallyUpdatedAt }
|
|
305
|
-
: {}),
|
|
306
|
-
categories: snapshot.categories,
|
|
307
|
-
};
|
|
422
|
+
const merged = applyWriteObserved(existing.quota[providerId], snapshot);
|
|
308
423
|
const updated = {
|
|
309
424
|
version: QUOTA_STATE_VERSION,
|
|
310
425
|
quota: { ...existing.quota, [providerId]: merged },
|
|
@@ -315,22 +430,7 @@ export function createDefaultQuotaStore(options = {}) {
|
|
|
315
430
|
async writeConsumption(providerId, adjustment, at) {
|
|
316
431
|
await withFileLock(filePath, async () => {
|
|
317
432
|
const existing = await readStateFile();
|
|
318
|
-
const
|
|
319
|
-
// No snapshot → nothing to decrement against. Advance only
|
|
320
|
-
// when there's something to advance on. (A future harvest will
|
|
321
|
-
// establish the snapshot; PB-T2 only adjusts existing ones.)
|
|
322
|
-
if (!prior)
|
|
323
|
-
return;
|
|
324
|
-
const categories = prior.categories;
|
|
325
|
-
const idx = findCategoryIndex(categories, adjustment);
|
|
326
|
-
const newCategories = idx >= 0
|
|
327
|
-
? categories.map((c, i) => i === idx ? { ...c, current: applyConsumptionToWindow(c.current, adjustment) } : c)
|
|
328
|
-
: categories;
|
|
329
|
-
const merged = {
|
|
330
|
-
observedAt: prior.observedAt,
|
|
331
|
-
locallyUpdatedAt: at,
|
|
332
|
-
categories: newCategories,
|
|
333
|
-
};
|
|
433
|
+
const merged = applyWriteConsumption(existing.quota[providerId], adjustment, at);
|
|
334
434
|
const updated = {
|
|
335
435
|
version: QUOTA_STATE_VERSION,
|
|
336
436
|
quota: { ...existing.quota, [providerId]: merged },
|
|
@@ -373,33 +473,14 @@ export function createInMemoryQuotaStore(initial, options = {}) {
|
|
|
373
473
|
return JSON.parse(JSON.stringify(state));
|
|
374
474
|
},
|
|
375
475
|
async writeObserved(providerId, snapshot) {
|
|
376
|
-
const
|
|
377
|
-
const merged = {
|
|
378
|
-
observedAt: snapshot.observedAt,
|
|
379
|
-
...(prior?.locallyUpdatedAt !== undefined
|
|
380
|
-
? { locallyUpdatedAt: prior.locallyUpdatedAt }
|
|
381
|
-
: {}),
|
|
382
|
-
categories: snapshot.categories,
|
|
383
|
-
};
|
|
476
|
+
const merged = applyWriteObserved(state.quota[providerId], snapshot);
|
|
384
477
|
state = {
|
|
385
478
|
version: QUOTA_STATE_VERSION,
|
|
386
479
|
quota: { ...state.quota, [providerId]: merged },
|
|
387
480
|
};
|
|
388
481
|
},
|
|
389
482
|
async writeConsumption(providerId, adjustment, at) {
|
|
390
|
-
const
|
|
391
|
-
if (!prior)
|
|
392
|
-
return;
|
|
393
|
-
const categories = prior.categories;
|
|
394
|
-
const idx = findCategoryIndex(categories, adjustment);
|
|
395
|
-
const newCategories = idx >= 0
|
|
396
|
-
? categories.map((c, i) => i === idx ? { ...c, current: applyConsumptionToWindow(c.current, adjustment) } : c)
|
|
397
|
-
: categories;
|
|
398
|
-
const merged = {
|
|
399
|
-
observedAt: prior.observedAt,
|
|
400
|
-
locallyUpdatedAt: at,
|
|
401
|
-
categories: newCategories,
|
|
402
|
-
};
|
|
483
|
+
const merged = applyWriteConsumption(state.quota[providerId], adjustment, at);
|
|
403
484
|
state = {
|
|
404
485
|
version: QUOTA_STATE_VERSION,
|
|
405
486
|
quota: { ...state.quota, [providerId]: merged },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-store.js","sourceRoot":"","sources":["../../src/lib/quota-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quota-store.js","sourceRoot":"","sources":["../../src/lib/quota-store.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/redact.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/lib/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA4BtC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/lib/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA4BtC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CA8F9F;AAuBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,EAAE,CAchF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAiClF;AAQD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAIxE"}
|
package/dist/lib/redact.js
CHANGED
|
@@ -70,9 +70,35 @@ export function redactCredentialString(input, extraSecrets) {
|
|
|
70
70
|
// - Basic: base64 credentials can be short, so no length floor.
|
|
71
71
|
// - Digest: comma-separated key=value params — the full param list
|
|
72
72
|
// is consumed so sensitive fields (response, nonce) don't leak.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
// Two-pass approach for Bearer / Token / ApiKey so prose like
|
|
74
|
+
// "Token subscription and Basic understanding are ordinary prose"
|
|
75
|
+
// is preserved while real credentials (mid-string, in error messages)
|
|
76
|
+
// are still redacted:
|
|
77
|
+
// 1. In an `Authorization:` header context the existing 8-char floor
|
|
78
|
+
// is trusted — `Authorization: Token abcdefgh` must redact. The
|
|
79
|
+
// prefix is captured and preserved; only the scheme + value is
|
|
80
|
+
// replaced with REDACTED.
|
|
81
|
+
// 2. Outside that context, ALSO require at least one credential-like
|
|
82
|
+
// character (digit, hyphen, underscore, uppercase letter). Pure
|
|
83
|
+
// lowercase 8+ char runs like "subscription" / "understanding" are
|
|
84
|
+
// too common in English prose to redact blindly. The character
|
|
85
|
+
// class is wrapped in `(?-i:...)` so it stays case-SENSITIVE even
|
|
86
|
+
// though the keyword alternation is matched case-insensitively
|
|
87
|
+
// via the `/i` flag.
|
|
88
|
+
result = result.replace(/(Authorization\s*:\s*)(?:Bearer|Token|ApiKey)\s+[^\s]{8,}/gi, (_match, prefix) => prefix + REDACTED);
|
|
89
|
+
result = result.replace(/(?:Bearer|Token|ApiKey)\s+(?=[^\s]*(?-i:[^a-z\s]))[^\s]{8,}/gi, REDACTED);
|
|
90
|
+
// Same two-pass approach for Basic. The Authorization-context pass
|
|
91
|
+
// covers `Authorization: Basic …` regardless of value composition; the
|
|
92
|
+
// outside-context pass requires a credential-like character to keep
|
|
93
|
+
// prose like `Basic understanding` untouched.
|
|
94
|
+
result = result.replace(/(Authorization\s*:\s*)Basic\s+\S+/gi, (_match, prefix) => prefix + REDACTED);
|
|
95
|
+
result = result.replace(/Basic\s+(?=\S*(?-i:[^a-z\s]))\S{8,}/gi, REDACTED);
|
|
96
|
+
// Honor RFC 7235 quoted-string values in Digest parameters. The value
|
|
97
|
+
// span may be either a bare token `[^\s,]+` or a quoted string
|
|
98
|
+
// `"[^"]*"`, and the comma-separated param list must consume every
|
|
99
|
+
// parameter (including `nonce=` and `response=`) so they don't leak
|
|
100
|
+
// when a quoted realm contains an internal space, e.g. `realm="My App"`.
|
|
101
|
+
result = result.replace(/Digest\s+(?:[^\s,=]+=(?:"[^"]*"|[^\s,]+)|[^\s,]+)(?:,\s*(?:[^\s,=]+=(?:"[^"]*"|[^\s,]+)|[^\s,]+))*/gi, REDACTED);
|
|
76
102
|
// Tavily API keys carry the `tvly-` prefix; redact the full token
|
|
77
103
|
// wherever it appears (logs, URLs, error bodies).
|
|
78
104
|
result = result.replace(/tvly-[A-Za-z0-9_-]+/gi, REDACTED);
|
package/dist/lib/redact.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/lib/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH;;;;GAIG;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,eAAe;IACf,WAAW;IACX,SAAS;IACT,QAAQ;IACR,cAAc;IACd,OAAO;IACP,cAAc;IACd,aAAa;IACb,iBAAiB;IACjB,gBAAgB;IAChB,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,YAAgC;IACpF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,oEAAoE;IACpE,mDAAmD;IACnD,yEAAyE;IACzE,0DAA0D;IAC1D,kEAAkE;IAClE,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/lib/redact.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/tool-cache.d.ts
CHANGED
|
@@ -79,6 +79,13 @@ export declare function buildToolCachePath(config: ToolCacheConfig): string;
|
|
|
79
79
|
* mismatch, TTL expiry, corruption (invalid JSON, missing file), or when
|
|
80
80
|
* the tool cache is disabled. NEVER throws — a miss degrades cleanly to
|
|
81
81
|
* discovery.
|
|
82
|
+
*
|
|
83
|
+
* On a version mismatch the legacy envelope is unlinked best-effort
|
|
84
|
+
* (B1-U2 / #45): pre-redaction v1 entries may carry plaintext Provider
|
|
85
|
+
* credentials, so leaving them on disk after we detect they are unsafe
|
|
86
|
+
* would let the secret linger until manual cleanup. `fs.unlink` is
|
|
87
|
+
* wrapped — a failure to remove the file (race, permissions) degrades to
|
|
88
|
+
* a clean miss; it never surfaces as an error from the read path.
|
|
82
89
|
*/
|
|
83
90
|
export declare function readToolCache(config: ToolCacheConfig): Promise<Tool[] | null>;
|
|
84
91
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-cache.d.ts","sourceRoot":"","sources":["../../src/lib/tool-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKtC;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;CACvB;AAQD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAEjE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAElE;AAED
|
|
1
|
+
{"version":3,"file":"tool-cache.d.ts","sourceRoot":"","sources":["../../src/lib/tool-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKtC;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;CACvB;AAQD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAEjE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAElE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAmBnF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
package/dist/lib/tool-cache.js
CHANGED
|
@@ -80,6 +80,13 @@ export function buildToolCachePath(config) {
|
|
|
80
80
|
* mismatch, TTL expiry, corruption (invalid JSON, missing file), or when
|
|
81
81
|
* the tool cache is disabled. NEVER throws — a miss degrades cleanly to
|
|
82
82
|
* discovery.
|
|
83
|
+
*
|
|
84
|
+
* On a version mismatch the legacy envelope is unlinked best-effort
|
|
85
|
+
* (B1-U2 / #45): pre-redaction v1 entries may carry plaintext Provider
|
|
86
|
+
* credentials, so leaving them on disk after we detect they are unsafe
|
|
87
|
+
* would let the secret linger until manual cleanup. `fs.unlink` is
|
|
88
|
+
* wrapped — a failure to remove the file (race, permissions) degrades to
|
|
89
|
+
* a clean miss; it never surfaces as an error from the read path.
|
|
83
90
|
*/
|
|
84
91
|
export async function readToolCache(config) {
|
|
85
92
|
if (!isToolCacheEnabled())
|
|
@@ -87,10 +94,14 @@ export async function readToolCache(config) {
|
|
|
87
94
|
const ttlMs = getCacheTtlMs();
|
|
88
95
|
if (ttlMs <= 0)
|
|
89
96
|
return null;
|
|
97
|
+
const filePath = buildToolCachePath(config);
|
|
90
98
|
try {
|
|
91
|
-
const raw = await fs.readFile(
|
|
99
|
+
const raw = await fs.readFile(filePath, "utf8");
|
|
92
100
|
const entry = JSON.parse(raw);
|
|
93
101
|
if (!entry || entry.version !== TOOL_CACHE_VERSION || !Array.isArray(entry.tools)) {
|
|
102
|
+
// Legacy envelope: drop the file so un-redacted secrets do not
|
|
103
|
+
// linger. Best-effort — a failed unlink still returns null.
|
|
104
|
+
await fs.unlink(filePath).catch(() => { });
|
|
94
105
|
return null;
|
|
95
106
|
}
|
|
96
107
|
if (Date.now() - (entry.timestamp ?? 0) > ttlMs)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/lib/tool-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAsBpC;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,OAAO,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACvD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAuB;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/lib/tool-cache.ts"],"names":[],"mappings":"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"}
|