instar 1.3.486 → 1.3.487
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/commands/reflect.d.ts.map +1 -1
- package/dist/commands/reflect.js +4 -0
- package/dist/commands/reflect.js.map +1 -1
- package/dist/commands/route.d.ts.map +1 -1
- package/dist/commands/route.js +3 -0
- package/dist/commands/route.js.map +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +14 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/core/CircuitBreakingIntelligenceProvider.d.ts +7 -0
- package/dist/core/CircuitBreakingIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/CircuitBreakingIntelligenceProvider.js +50 -0
- package/dist/core/CircuitBreakingIntelligenceProvider.js.map +1 -1
- package/dist/core/ClaudeCliIntelligenceProvider.d.ts +5 -0
- package/dist/core/ClaudeCliIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/ClaudeCliIntelligenceProvider.js +6 -1
- package/dist/core/ClaudeCliIntelligenceProvider.js.map +1 -1
- package/dist/core/CodexCliIntelligenceProvider.d.ts +58 -0
- package/dist/core/CodexCliIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/CodexCliIntelligenceProvider.js +293 -27
- package/dist/core/CodexCliIntelligenceProvider.js.map +1 -1
- package/dist/core/GeminiCliIntelligenceProvider.d.ts +8 -0
- package/dist/core/GeminiCliIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/GeminiCliIntelligenceProvider.js +8 -0
- package/dist/core/GeminiCliIntelligenceProvider.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +40 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SafeGitExecutor.d.ts.map +1 -1
- package/dist/core/SafeGitExecutor.js +79 -1
- package/dist/core/SafeGitExecutor.js.map +1 -1
- package/dist/core/componentCategories.d.ts.map +1 -1
- package/dist/core/componentCategories.js +10 -0
- package/dist/core/componentCategories.js.map +1 -1
- package/dist/core/intelligenceProviderFactory.d.ts +8 -0
- package/dist/core/intelligenceProviderFactory.d.ts.map +1 -1
- package/dist/core/intelligenceProviderFactory.js +1 -0
- package/dist/core/intelligenceProviderFactory.js.map +1 -1
- package/dist/core/types.d.ts +17 -9
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/messaging/slack/SlackAdapter.d.ts +3 -0
- package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
- package/dist/messaging/slack/SlackAdapter.js +8 -1
- package/dist/messaging/slack/SlackAdapter.js.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.d.ts +123 -1
- package/dist/monitoring/FeatureMetricsLedger.d.ts.map +1 -1
- package/dist/monitoring/FeatureMetricsLedger.js +211 -25
- package/dist/monitoring/FeatureMetricsLedger.js.map +1 -1
- package/dist/providers/adapters/anthropic-interactive-pool/index.d.ts.map +1 -1
- package/dist/providers/adapters/anthropic-interactive-pool/index.js +1 -0
- package/dist/providers/adapters/anthropic-interactive-pool/index.js.map +1 -1
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.d.ts +93 -0
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.d.ts.map +1 -1
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.js +339 -0
- package/dist/providers/adapters/openai-codex/transport/codexSpawn.js.map +1 -1
- package/dist/providers/adapters/openai-codex/transport/codexUsageParser.d.ts +84 -0
- package/dist/providers/adapters/openai-codex/transport/codexUsageParser.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/transport/codexUsageParser.js +208 -0
- package/dist/providers/adapters/openai-codex/transport/codexUsageParser.js.map +1 -0
- package/dist/providers/uxConfirm/OverrideDetector.d.ts.map +1 -1
- package/dist/providers/uxConfirm/OverrideDetector.js +1 -0
- package/dist/providers/uxConfirm/OverrideDetector.js.map +1 -1
- package/dist/providers/uxConfirm/TaskClassifier.d.ts.map +1 -1
- package/dist/providers/uxConfirm/TaskClassifier.js +1 -0
- package/dist/providers/uxConfirm/TaskClassifier.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +3 -2
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/security/LLMSanitizer.d.ts.map +1 -1
- package/dist/security/LLMSanitizer.js +7 -1
- package/dist/security/LLMSanitizer.js.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -1
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +10 -1
- package/dist/server/routes.js.map +1 -1
- package/dist/threadline/PipeSessionSpawner.d.ts.map +1 -1
- package/dist/threadline/PipeSessionSpawner.js +2 -0
- package/dist/threadline/PipeSessionSpawner.js.map +1 -1
- package/dist/threadline/WarrantsReplyGate.d.ts.map +1 -1
- package/dist/threadline/WarrantsReplyGate.js +5 -1
- package/dist/threadline/WarrantsReplyGate.js.map +1 -1
- package/package.json +4 -2
- package/scripts/lint-llm-attribution.js +418 -0
- package/scripts/lint-no-direct-destructive.js +4 -0
- package/scripts/pre-push-gate.js +24 -0
- package/src/data/builtin-manifest.json +63 -63
- package/src/scaffold/templates.ts +3 -2
- package/upgrades/1.3.487.md +39 -0
- package/upgrades/side-effects/token-audit-completeness.md +84 -0
|
@@ -49,6 +49,7 @@ const SCHEMA = [
|
|
|
49
49
|
*/
|
|
50
50
|
const ADDED_COLUMNS = [
|
|
51
51
|
{ name: 'framework', ddl: 'ALTER TABLE feature_metrics ADD COLUMN framework TEXT' },
|
|
52
|
+
{ name: 'tokens_cached', ddl: 'ALTER TABLE feature_metrics ADD COLUMN tokens_cached INTEGER' },
|
|
52
53
|
];
|
|
53
54
|
function percentile(sortedAsc, p) {
|
|
54
55
|
if (sortedAsc.length === 0)
|
|
@@ -84,8 +85,8 @@ export class FeatureMetricsLedger {
|
|
|
84
85
|
}
|
|
85
86
|
catch { /* already closed */ } });
|
|
86
87
|
this.insertStmt = this.db.prepare(`INSERT INTO feature_metrics
|
|
87
|
-
(ts, feature, kind, outcome, tokens_in, tokens_out, latency_ms, model, framework, waited, wait_ms, verdict_id)
|
|
88
|
-
VALUES (@ts, @feature, @kind, @outcome, @tokensIn, @tokensOut, @latencyMs, @model, @framework, @waited, @waitMs, @verdictId)`);
|
|
88
|
+
(ts, feature, kind, outcome, tokens_in, tokens_out, tokens_cached, latency_ms, model, framework, waited, wait_ms, verdict_id)
|
|
89
|
+
VALUES (@ts, @feature, @kind, @outcome, @tokensIn, @tokensOut, @tokensCached, @latencyMs, @model, @framework, @waited, @waitMs, @verdictId)`);
|
|
89
90
|
}
|
|
90
91
|
/** Add post-ship columns to an existing table, idempotently (pragma-guarded). */
|
|
91
92
|
ensureAddedColumns() {
|
|
@@ -114,6 +115,7 @@ export class FeatureMetricsLedger {
|
|
|
114
115
|
outcome: r.outcome,
|
|
115
116
|
tokensIn: r.tokensIn ?? null,
|
|
116
117
|
tokensOut: r.tokensOut ?? null,
|
|
118
|
+
tokensCached: r.tokensCached ?? null,
|
|
117
119
|
latencyMs: r.latencyMs ?? null,
|
|
118
120
|
model: r.model ?? null,
|
|
119
121
|
framework: r.framework ?? null,
|
|
@@ -131,9 +133,20 @@ export class FeatureMetricsLedger {
|
|
|
131
133
|
recordEvent(feature, outcome, verdictId) {
|
|
132
134
|
this.record({ feature, kind: 'event', outcome, verdictId });
|
|
133
135
|
}
|
|
136
|
+
sinceMsFrom(opts) {
|
|
137
|
+
return opts.sinceHours && opts.sinceHours > 0 ? this.now() - opts.sinceHours * 3_600_000 : 0;
|
|
138
|
+
}
|
|
134
139
|
/** Per-feature rollup over the lookback window (default: all time). */
|
|
135
140
|
byFeature(opts = {}) {
|
|
136
|
-
|
|
141
|
+
return this.byFeatureCore(this.sinceMsFrom(opts), { includeProviderScan: true });
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Core per-feature rollup. `includeProviderScan: false` skips the DISTINCT
|
|
145
|
+
* frameworks/models window scan — summary() derives those arrays from the
|
|
146
|
+
* byFeatureModel partition instead (its group keys ARE feature×framework×
|
|
147
|
+
* model), so the per-model slice lands at NET-ZERO window scans, not +1.
|
|
148
|
+
*/
|
|
149
|
+
byFeatureCore(sinceMs, o) {
|
|
137
150
|
const agg = this.db
|
|
138
151
|
.prepare(`SELECT
|
|
139
152
|
feature,
|
|
@@ -142,6 +155,7 @@ export class FeatureMetricsLedger {
|
|
|
142
155
|
SUM(CASE WHEN kind='event' THEN 1 ELSE 0 END) AS events,
|
|
143
156
|
COALESCE(SUM(tokens_in), 0) AS tokensIn,
|
|
144
157
|
COALESCE(SUM(tokens_out), 0) AS tokensOut,
|
|
158
|
+
COALESCE(SUM(tokens_cached), 0) AS tokensCached,
|
|
145
159
|
SUM(CASE WHEN outcome='fired' THEN 1 ELSE 0 END) AS fired,
|
|
146
160
|
SUM(CASE WHEN outcome='noop' THEN 1 ELSE 0 END) AS noop,
|
|
147
161
|
SUM(CASE WHEN outcome='error' THEN 1 ELSE 0 END) AS errors,
|
|
@@ -155,7 +169,10 @@ export class FeatureMetricsLedger {
|
|
|
155
169
|
GROUP BY feature
|
|
156
170
|
ORDER BY calls DESC`)
|
|
157
171
|
.all(sinceMs);
|
|
158
|
-
// Percentiles in JS from the per-feature latency lists (bounded by the
|
|
172
|
+
// Percentiles in JS from the per-feature latency lists (bounded by the
|
|
173
|
+
// window). This is the one full-row-materializing query and stays
|
|
174
|
+
// single-keyed — a future per-model percentile must reuse one
|
|
175
|
+
// composite-key query, never a second full-window load.
|
|
159
176
|
const latRows = this.db
|
|
160
177
|
.prepare(`SELECT feature, latency_ms FROM feature_metrics
|
|
161
178
|
WHERE ts >= ? AND latency_ms IS NOT NULL
|
|
@@ -167,24 +184,27 @@ export class FeatureMetricsLedger {
|
|
|
167
184
|
arr.push(row.latency_ms);
|
|
168
185
|
latByFeature.set(row.feature, arr);
|
|
169
186
|
}
|
|
170
|
-
// Distinct provider/model per feature in the window (Observable
|
|
171
|
-
//
|
|
172
|
-
|
|
173
|
-
.prepare(`SELECT DISTINCT feature, framework, model FROM feature_metrics
|
|
174
|
-
WHERE ts >= ? AND (framework IS NOT NULL OR model IS NOT NULL)`)
|
|
175
|
-
.all(sinceMs);
|
|
187
|
+
// Distinct provider/model per feature in the window (Observable
|
|
188
|
+
// Intelligence). Skipped when the caller derives these from the
|
|
189
|
+
// byFeatureModel partition (summary()).
|
|
176
190
|
const fwByFeature = new Map();
|
|
177
191
|
const modelByFeature = new Map();
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
192
|
+
if (o.includeProviderScan) {
|
|
193
|
+
const fwRows = this.db
|
|
194
|
+
.prepare(`SELECT DISTINCT feature, framework, model FROM feature_metrics
|
|
195
|
+
WHERE ts >= ? AND (framework IS NOT NULL OR model IS NOT NULL)`)
|
|
196
|
+
.all(sinceMs);
|
|
197
|
+
for (const row of fwRows) {
|
|
198
|
+
if (row.framework) {
|
|
199
|
+
const s = fwByFeature.get(row.feature) ?? new Set();
|
|
200
|
+
s.add(row.framework);
|
|
201
|
+
fwByFeature.set(row.feature, s);
|
|
202
|
+
}
|
|
203
|
+
if (row.model) {
|
|
204
|
+
const s = modelByFeature.get(row.feature) ?? new Set();
|
|
205
|
+
s.add(row.model);
|
|
206
|
+
modelByFeature.set(row.feature, s);
|
|
207
|
+
}
|
|
188
208
|
}
|
|
189
209
|
}
|
|
190
210
|
return agg.map((a) => {
|
|
@@ -201,6 +221,7 @@ export class FeatureMetricsLedger {
|
|
|
201
221
|
events: Number(a.events) || 0,
|
|
202
222
|
tokensIn: Number(a.tokensIn) || 0,
|
|
203
223
|
tokensOut: Number(a.tokensOut) || 0,
|
|
224
|
+
tokensCached: Number(a.tokensCached) || 0,
|
|
204
225
|
frameworks: Array.from(fwByFeature.get(String(a.feature)) ?? []).sort(),
|
|
205
226
|
models: Array.from(modelByFeature.get(String(a.feature)) ?? []).sort(),
|
|
206
227
|
fired,
|
|
@@ -217,10 +238,158 @@ export class FeatureMetricsLedger {
|
|
|
217
238
|
};
|
|
218
239
|
});
|
|
219
240
|
}
|
|
220
|
-
/**
|
|
241
|
+
/**
|
|
242
|
+
* Feature×model×framework partition (token-audit-completeness, Slice 2).
|
|
243
|
+
* llm-kind rows only; NULL model/framework render "unknown". ONE composite-
|
|
244
|
+
* key GROUP BY carries the usage-presence counts itself — SQLite
|
|
245
|
+
* COUNT(expr) counts non-NULL, so `COUNT(CASE WHEN outcome IN
|
|
246
|
+
* ('fired','noop') THEN tokens_in END)` is the success-rows-with-usage
|
|
247
|
+
* count (a recorded 0 counts as reported; a SUM would let one large row
|
|
248
|
+
* mask N null rows). No latency percentiles on this dimension.
|
|
249
|
+
*/
|
|
250
|
+
byFeatureModel(opts = {}) {
|
|
251
|
+
const sinceMs = this.sinceMsFrom(opts);
|
|
252
|
+
let rows;
|
|
253
|
+
try {
|
|
254
|
+
rows = this.db
|
|
255
|
+
.prepare(`SELECT
|
|
256
|
+
feature,
|
|
257
|
+
model,
|
|
258
|
+
framework,
|
|
259
|
+
COUNT(*) AS calls,
|
|
260
|
+
COALESCE(SUM(tokens_in), 0) AS tokensIn,
|
|
261
|
+
COALESCE(SUM(tokens_out), 0) AS tokensOut,
|
|
262
|
+
COALESCE(SUM(tokens_cached), 0) AS tokensCached,
|
|
263
|
+
SUM(CASE WHEN outcome='fired' THEN 1 ELSE 0 END) AS fired,
|
|
264
|
+
SUM(CASE WHEN outcome='noop' THEN 1 ELSE 0 END) AS noop,
|
|
265
|
+
SUM(CASE WHEN outcome='error' THEN 1 ELSE 0 END) AS errors,
|
|
266
|
+
SUM(CASE WHEN outcome='shed' THEN 1 ELSE 0 END) AS shed,
|
|
267
|
+
COUNT(CASE WHEN outcome IN ('fired','noop') THEN tokens_in END) AS successRowsWithUsage,
|
|
268
|
+
COUNT(CASE WHEN outcome='error' THEN tokens_in END) AS errorRowsWithUsage
|
|
269
|
+
FROM feature_metrics
|
|
270
|
+
WHERE ts >= ? AND kind='llm'
|
|
271
|
+
GROUP BY feature, model, framework
|
|
272
|
+
ORDER BY tokensIn + tokensOut DESC, calls DESC`)
|
|
273
|
+
.all(sinceMs);
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
// @silent-fallback-ok: identical failure envelope to byFeature on a DB
|
|
277
|
+
// whose ALTER was swallowed — degrade to [] rather than throw.
|
|
278
|
+
return [];
|
|
279
|
+
}
|
|
280
|
+
return rows.map((r) => {
|
|
281
|
+
const calls = Number(r.calls) || 0;
|
|
282
|
+
const shed = Number(r.shed) || 0;
|
|
283
|
+
return {
|
|
284
|
+
feature: String(r.feature),
|
|
285
|
+
model: r.model === null || r.model === undefined ? 'unknown' : String(r.model),
|
|
286
|
+
framework: r.framework === null || r.framework === undefined ? 'unknown' : String(r.framework),
|
|
287
|
+
calls,
|
|
288
|
+
realCalls: calls - shed,
|
|
289
|
+
tokensIn: Number(r.tokensIn) || 0,
|
|
290
|
+
tokensOut: Number(r.tokensOut) || 0,
|
|
291
|
+
tokensCached: Number(r.tokensCached) || 0,
|
|
292
|
+
fired: Number(r.fired) || 0,
|
|
293
|
+
noop: Number(r.noop) || 0,
|
|
294
|
+
errors: Number(r.errors) || 0,
|
|
295
|
+
shed,
|
|
296
|
+
successRowsWithUsage: Number(r.successRowsWithUsage) || 0,
|
|
297
|
+
errorRowsWithUsage: Number(r.errorRowsWithUsage) || 0,
|
|
298
|
+
};
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Frameworks whose provider implementation cannot surface per-call usage by
|
|
303
|
+
* documented contract (the cannot-surface list, keyed per implementation —
|
|
304
|
+
* see the provider usage-contract test, which derives expectations from
|
|
305
|
+
* fixtures, never from this list).
|
|
306
|
+
*/
|
|
307
|
+
static USAGE_EXEMPT_FRAMEWORKS = new Set(['gemini-cli']);
|
|
308
|
+
/** Totals + per-feature rollup, enriched with the per-model partition. */
|
|
221
309
|
summary(opts = {}) {
|
|
222
|
-
const
|
|
223
|
-
|
|
310
|
+
const sinceMs = this.sinceMsFrom(opts);
|
|
311
|
+
// ONE byFeatureModel call, partitioned in JS — per-feature slicing
|
|
312
|
+
// queries are forbidden (N× full-window scans on synchronous
|
|
313
|
+
// better-sqlite3).
|
|
314
|
+
const partition = this.byFeatureModel(opts);
|
|
315
|
+
const features = this.byFeatureCore(sinceMs, { includeProviderScan: false });
|
|
316
|
+
// Derive per-feature byModel + frameworks/models from the partition
|
|
317
|
+
// (scan-neutral: subsumes the DISTINCT provider scan).
|
|
318
|
+
const byFeaturePartition = new Map();
|
|
319
|
+
for (const row of partition) {
|
|
320
|
+
const arr = byFeaturePartition.get(row.feature) ?? [];
|
|
321
|
+
arr.push(row);
|
|
322
|
+
byFeaturePartition.set(row.feature, arr);
|
|
323
|
+
}
|
|
324
|
+
for (const f of features) {
|
|
325
|
+
const rows = byFeaturePartition.get(f.feature) ?? [];
|
|
326
|
+
f.byModel = rows;
|
|
327
|
+
f.frameworks = Array.from(new Set(rows.filter((r) => r.framework !== 'unknown').map((r) => r.framework))).sort();
|
|
328
|
+
f.models = Array.from(new Set(rows.filter((r) => r.model !== 'unknown').map((r) => r.model))).sort();
|
|
329
|
+
}
|
|
330
|
+
// totals.byModel — aggregate the same partition by model×framework.
|
|
331
|
+
const modelAgg = new Map();
|
|
332
|
+
for (const row of partition) {
|
|
333
|
+
const key = `${row.model}${row.framework}`;
|
|
334
|
+
const acc = modelAgg.get(key) ??
|
|
335
|
+
{
|
|
336
|
+
model: row.model,
|
|
337
|
+
framework: row.framework,
|
|
338
|
+
calls: 0,
|
|
339
|
+
realCalls: 0,
|
|
340
|
+
tokensIn: 0,
|
|
341
|
+
tokensOut: 0,
|
|
342
|
+
tokensCached: 0,
|
|
343
|
+
fired: 0,
|
|
344
|
+
noop: 0,
|
|
345
|
+
errors: 0,
|
|
346
|
+
shed: 0,
|
|
347
|
+
};
|
|
348
|
+
acc.calls += row.calls;
|
|
349
|
+
acc.realCalls += row.realCalls;
|
|
350
|
+
acc.tokensIn += row.tokensIn;
|
|
351
|
+
acc.tokensOut += row.tokensOut;
|
|
352
|
+
acc.tokensCached += row.tokensCached;
|
|
353
|
+
acc.fired += row.fired;
|
|
354
|
+
acc.noop += row.noop;
|
|
355
|
+
acc.errors += row.errors;
|
|
356
|
+
acc.shed += row.shed;
|
|
357
|
+
modelAgg.set(key, acc);
|
|
358
|
+
}
|
|
359
|
+
const byModel = Array.from(modelAgg.values()).sort((a, b) => b.tokensIn + b.tokensOut - (a.tokensIn + a.tokensOut));
|
|
360
|
+
// usageCoverage — per framework from the SAME partition (no second window
|
|
361
|
+
// scan). Success-only denominator; interactive-pool rows excluded from
|
|
362
|
+
// the claude-code denominator (that provider never invokes onUsage by
|
|
363
|
+
// documented contract).
|
|
364
|
+
const coverageAgg = new Map();
|
|
365
|
+
for (const row of partition) {
|
|
366
|
+
const fw = row.framework;
|
|
367
|
+
const acc = coverageAgg.get(fw) ??
|
|
368
|
+
{ successRows: 0, successRowsWithUsage: 0, errorRows: 0, errorRowsWithUsage: 0, excludedRows: 0 };
|
|
369
|
+
const isInteractivePool = fw === 'claude-code' && row.model === 'interactive-pool';
|
|
370
|
+
if (isInteractivePool) {
|
|
371
|
+
acc.excludedRows += row.fired + row.noop;
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
acc.successRows += row.fired + row.noop;
|
|
375
|
+
acc.successRowsWithUsage += row.successRowsWithUsage;
|
|
376
|
+
}
|
|
377
|
+
acc.errorRows += row.errors;
|
|
378
|
+
acc.errorRowsWithUsage += row.errorRowsWithUsage;
|
|
379
|
+
coverageAgg.set(fw, acc);
|
|
380
|
+
}
|
|
381
|
+
const usageCoverage = Array.from(coverageAgg.entries())
|
|
382
|
+
.map(([framework, c]) => ({
|
|
383
|
+
framework,
|
|
384
|
+
successRows: c.successRows,
|
|
385
|
+
successRowsWithUsage: c.successRowsWithUsage,
|
|
386
|
+
coverage: c.successRows > 0 ? c.successRowsWithUsage / c.successRows : 0,
|
|
387
|
+
errorRows: c.errorRows,
|
|
388
|
+
errorRowsWithUsage: c.errorRowsWithUsage,
|
|
389
|
+
exempt: FeatureMetricsLedger.USAGE_EXEMPT_FRAMEWORKS.has(framework),
|
|
390
|
+
...(c.excludedRows > 0 ? { excludedRows: c.excludedRows } : {}),
|
|
391
|
+
}))
|
|
392
|
+
.sort((a, b) => a.framework.localeCompare(b.framework));
|
|
224
393
|
const totals = features.reduce((acc, f) => {
|
|
225
394
|
acc.calls += f.calls;
|
|
226
395
|
acc.realCalls += f.realCalls;
|
|
@@ -228,13 +397,30 @@ export class FeatureMetricsLedger {
|
|
|
228
397
|
acc.events += f.events;
|
|
229
398
|
acc.tokensIn += f.tokensIn;
|
|
230
399
|
acc.tokensOut += f.tokensOut;
|
|
400
|
+
acc.tokensCached += f.tokensCached;
|
|
231
401
|
acc.fired += f.fired;
|
|
232
402
|
acc.noop += f.noop;
|
|
233
403
|
acc.errors += f.errors;
|
|
234
404
|
acc.shed += f.shed;
|
|
235
405
|
return acc;
|
|
236
|
-
}, {
|
|
237
|
-
|
|
406
|
+
}, {
|
|
407
|
+
calls: 0, realCalls: 0, llmCalls: 0, events: 0,
|
|
408
|
+
tokensIn: 0, tokensOut: 0, tokensCached: 0,
|
|
409
|
+
fired: 0, noop: 0, errors: 0, shed: 0,
|
|
410
|
+
});
|
|
411
|
+
// Unlabeled shares — both needed: token-blind unlabeled calls contribute
|
|
412
|
+
// 0/0 to the token share, so the call share is what catches unlabeled
|
|
413
|
+
// traffic running at volume. Zero denominators → 0.
|
|
414
|
+
const unlabeled = features.find((f) => f.feature === 'unlabeled');
|
|
415
|
+
const totalTokens = totals.tokensIn + totals.tokensOut;
|
|
416
|
+
const unlabeledTokens = unlabeled ? unlabeled.tokensIn + unlabeled.tokensOut : 0;
|
|
417
|
+
const unlabeledTokenShare = totalTokens > 0 ? unlabeledTokens / totalTokens : 0;
|
|
418
|
+
const unlabeledCallShare = totals.realCalls > 0 ? (unlabeled?.realCalls ?? 0) / totals.realCalls : 0;
|
|
419
|
+
return {
|
|
420
|
+
sinceMs,
|
|
421
|
+
totals: { ...totals, byModel, usageCoverage, unlabeledTokenShare, unlabeledCallShare },
|
|
422
|
+
features,
|
|
423
|
+
};
|
|
238
424
|
}
|
|
239
425
|
/**
|
|
240
426
|
* Delete rows older than `cutoffMs`. Returns rows deleted. Fail-open.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureMetricsLedger.js","sourceRoot":"","sources":["../../src/monitoring/FeatureMetricsLedger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FeatureMetricsLedger.js","sourceRoot":"","sources":["../../src/monitoring/FeatureMetricsLedger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/adapters/anthropic-interactive-pool/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAuB5C;;;;;GAKG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,yEAAyE;IACzE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,aAAa,GAAE,OAAO,CAAC,qBAAqB,CAAM,GACjD,sBAAsB,CAuFxB;AAGD,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,OAAO,wBAAwB,EAAE,oBAAoB,GAClE,OAAO,+BAA+B,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/adapters/anthropic-interactive-pool/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAuB5C;;;;;GAKG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,yEAAyE;IACzE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,aAAa,GAAE,OAAO,CAAC,qBAAqB,CAAM,GACjD,sBAAsB,CAuFxB;AAGD,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,OAAO,wBAAwB,EAAE,oBAAoB,GAClE,OAAO,+BAA+B,EAAE,iBAAiB,CA4B3D"}
|
|
@@ -158,6 +158,7 @@ export function buildCanaryLlmFallback(intelligence) {
|
|
|
158
158
|
model: 'fast',
|
|
159
159
|
maxTokens: 16,
|
|
160
160
|
temperature: 0,
|
|
161
|
+
attribution: { component: 'InteractivePoolCanaryJudge' },
|
|
161
162
|
});
|
|
162
163
|
const verdict = raw.trim().toLowerCase();
|
|
163
164
|
if (verdict.startsWith('complete'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/adapters/anthropic-interactive-pool/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/adapters/anthropic-interactive-pool/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* structured one-shot). The agenticSessionHeadless primitive spawns
|
|
15
15
|
* codex inside tmux, where tmux owns stdin — that path is unaffected.
|
|
16
16
|
*/
|
|
17
|
+
import { spawn } from 'node:child_process';
|
|
18
|
+
import { type Stats } from 'node:fs';
|
|
17
19
|
export interface SpawnResult {
|
|
18
20
|
exitCode: number | null;
|
|
19
21
|
stdout: string;
|
|
@@ -65,4 +67,95 @@ export declare function spawnCodexAndWait(binary: string, args: string[], option
|
|
|
65
67
|
env: NodeJS.ProcessEnv;
|
|
66
68
|
signal?: AbortSignal;
|
|
67
69
|
}): Promise<SpawnResult>;
|
|
70
|
+
/** Carry-buffer cap for event-line assembly (2 MB). */
|
|
71
|
+
export declare const EXEC_JSON_CARRY_CAP_BYTES: number;
|
|
72
|
+
export interface SpawnCodexExecJsonOptions {
|
|
73
|
+
timeoutMs: number;
|
|
74
|
+
env: NodeJS.ProcessEnv;
|
|
75
|
+
/**
|
|
76
|
+
* Prompt text written to the child's stdin (then stdin is ended). The
|
|
77
|
+
* prompt moves OFF argv in --json mode: process argv is world-readable
|
|
78
|
+
* (`ps`), cartographer-sweep-class prompts embed repo content, and macOS
|
|
79
|
+
* ARG_MAX (~1 MB) would hard-fail large prompts.
|
|
80
|
+
*/
|
|
81
|
+
prompt: string;
|
|
82
|
+
/** Complete event lines, called BEFORE the promise settles. Must not throw. */
|
|
83
|
+
onLine: (line: string) => void;
|
|
84
|
+
/** An over-cap line was discarded unparsed (counted for the drift tripwire). */
|
|
85
|
+
onOversizedLine?: () => void;
|
|
86
|
+
/** Test seams. */
|
|
87
|
+
spawnImpl?: typeof spawn;
|
|
88
|
+
/** Bounded post-exit grace before forced settlement (default 5000 ms). */
|
|
89
|
+
postExitGraceMs?: number;
|
|
90
|
+
/** SIGTERM → SIGKILL grace (house standard 2000 ms). */
|
|
91
|
+
sigkillGraceMs?: number;
|
|
92
|
+
}
|
|
93
|
+
export interface ExecJsonResult {
|
|
94
|
+
exitCode: number | null;
|
|
95
|
+
/** Rolling tail (last 600 chars) of the child's stderr. */
|
|
96
|
+
stderrTail: string;
|
|
97
|
+
}
|
|
98
|
+
export declare class CodexExecJsonTimeoutError extends Error {
|
|
99
|
+
readonly stderrTail: string;
|
|
100
|
+
readonly killed = true;
|
|
101
|
+
readonly signal = "SIGTERM";
|
|
102
|
+
constructor(timeoutMs: number, stderrTail: string);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Spawn `codex exec --json ...` and stream its event lines to `onLine`.
|
|
106
|
+
*
|
|
107
|
+
* Settlement contract (the spec's "settlement ordering"): the timeout timer
|
|
108
|
+
* only INITIATES the kill sequence (SIGTERM → sigkillGraceMs → SIGKILL); the
|
|
109
|
+
* promise settles from the `close` handler — after the carry flush — or at a
|
|
110
|
+
* bounded post-`exit` grace when `close` is deferred by a held fd. Either
|
|
111
|
+
* way, every onLine callback (including the final post-SIGTERM flush) has
|
|
112
|
+
* completed before the promise settles, exactly once.
|
|
113
|
+
*
|
|
114
|
+
* Resolution: `{ exitCode, stderrTail }` for ANY exit (the caller decides
|
|
115
|
+
* what a non-zero exit means). Rejection: spawn error, or timeout
|
|
116
|
+
* (CodexExecJsonTimeoutError — after the final flush, so already-parsed
|
|
117
|
+
* usage is never lost to the reject path).
|
|
118
|
+
*/
|
|
119
|
+
export declare function spawnCodexExecJson(binary: string, args: string[], options: SpawnCodexExecJsonOptions): Promise<ExecJsonResult>;
|
|
120
|
+
export declare function createCodexOutDir(): string;
|
|
121
|
+
/**
|
|
122
|
+
* Remove a per-call out-dir. Pinned nesting per spec:
|
|
123
|
+
* `try { safeRm(dir) } finally { set.delete(dir) }` — a throwing deletion
|
|
124
|
+
* (EPERM, sandbox-revoked tmp access) cannot leak the in-flight entry.
|
|
125
|
+
* Never throws into the call path.
|
|
126
|
+
*/
|
|
127
|
+
export declare function cleanupCodexOutDir(dir: string): void;
|
|
128
|
+
/** Sweep brakes (P19 — every one unit-tested). */
|
|
129
|
+
export declare const CODEX_OUT_SWEEP_INTERVAL_MS: number;
|
|
130
|
+
export declare const CODEX_OUT_SWEEP_AGE_MS: number;
|
|
131
|
+
export declare const CODEX_OUT_SWEEP_MAX_DELETIONS = 20;
|
|
132
|
+
export declare const CODEX_OUT_SWEEP_MAX_CANDIDATES = 200;
|
|
133
|
+
export interface SweepStaleCodexOutDirsOptions {
|
|
134
|
+
/** Test seams. */
|
|
135
|
+
now?: () => number;
|
|
136
|
+
tmpDirOverride?: string;
|
|
137
|
+
lstatImpl?: (p: string) => Promise<Stats>;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Opportunistic, bounded sweep of stale `instar-codex-out-*` dirs left by
|
|
141
|
+
* CRASHED processes (the in-process `finally` covers everything else).
|
|
142
|
+
*
|
|
143
|
+
* Fire-and-forget async — NEVER awaited by evaluate() (os.tmpdir() population
|
|
144
|
+
* scales with the whole machine; a synchronous readdir+lstat pass inside a
|
|
145
|
+
* judgment call would block the single server event loop on foreign state).
|
|
146
|
+
* `lastSweepAt` is set BEFORE the pass starts so concurrent calls cannot
|
|
147
|
+
* double-trigger. os.tmpdir() is hostile on Linux (world-writable /tmp): each
|
|
148
|
+
* candidate is lstat-verified — a directory, NOT a symlink, owned by this
|
|
149
|
+
* uid, mtime older than the threshold — and EPERM/ENOENT during deletion is
|
|
150
|
+
* swallowed, never thrown into the call path.
|
|
151
|
+
*
|
|
152
|
+
* Returns the sweep promise when a pass started (for tests), null when
|
|
153
|
+
* rate-floored.
|
|
154
|
+
*/
|
|
155
|
+
export declare function maybeSweepStaleCodexOutDirs(options?: SweepStaleCodexOutDirsOptions): Promise<void> | null;
|
|
156
|
+
/** Test-only internals. */
|
|
157
|
+
export declare const _codexOutDirInternals: {
|
|
158
|
+
inFlightOutDirs: Set<string>;
|
|
159
|
+
resetSweepClock(): void;
|
|
160
|
+
};
|
|
68
161
|
//# sourceMappingURL=codexSpawn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codexSpawn.d.ts","sourceRoot":"","sources":["../../../../../src/providers/adapters/openai-codex/transport/codexSpawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"codexSpawn.d.ts","sourceRoot":"","sources":["../../../../../src/providers/adapters/openai-codex/transport/codexSpawn.ts"],"names":[],"mappings":"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"}
|