@qcobro/common 1.12.4 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/bin/engineEval.d.ts +67 -0
  2. package/dist/bin/engineEval.d.ts.map +1 -0
  3. package/dist/bin/engineEval.js +290 -0
  4. package/dist/bin/engineEval.js.map +1 -0
  5. package/dist/config.d.ts +2 -1
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +8 -2
  8. package/dist/config.js.map +1 -1
  9. package/dist/evaluation/evaluate.d.ts +4 -0
  10. package/dist/evaluation/evaluate.d.ts.map +1 -0
  11. package/dist/evaluation/evaluate.js +504 -0
  12. package/dist/evaluation/evaluate.js.map +1 -0
  13. package/dist/evaluation/index.d.ts +3 -0
  14. package/dist/evaluation/index.d.ts.map +1 -0
  15. package/dist/evaluation/index.js +3 -0
  16. package/dist/evaluation/index.js.map +1 -0
  17. package/dist/evaluation/scorecard.d.ts +84 -0
  18. package/dist/evaluation/scorecard.d.ts.map +1 -0
  19. package/dist/evaluation/scorecard.js +29 -0
  20. package/dist/evaluation/scorecard.js.map +1 -0
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/schemas/engineEvents.d.ts +407 -0
  26. package/dist/schemas/engineEvents.d.ts.map +1 -0
  27. package/dist/schemas/engineEvents.js +179 -0
  28. package/dist/schemas/engineEvents.js.map +1 -0
  29. package/dist/schemas/index.d.ts +1 -0
  30. package/dist/schemas/index.d.ts.map +1 -1
  31. package/dist/schemas/index.js +1 -0
  32. package/dist/schemas/index.js.map +1 -1
  33. package/dist/types/engine.d.ts +5 -0
  34. package/dist/types/engine.d.ts.map +1 -1
  35. package/dist/utils/index.d.ts +2 -1
  36. package/dist/utils/index.d.ts.map +1 -1
  37. package/dist/utils/index.js +2 -1
  38. package/dist/utils/index.js.map +1 -1
  39. package/dist/utils/pacing.d.ts +17 -0
  40. package/dist/utils/pacing.d.ts.map +1 -0
  41. package/dist/utils/pacing.js +18 -0
  42. package/dist/utils/pacing.js.map +1 -0
  43. package/dist/utils/time.d.ts +16 -0
  44. package/dist/utils/time.d.ts.map +1 -1
  45. package/dist/utils/time.js +17 -0
  46. package/dist/utils/time.js.map +1 -1
  47. package/package.json +4 -1
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env node
2
+ import { type EvaluationParameters, type Scorecard } from "../evaluation/scorecard.js";
3
+ /**
4
+ * `engine-eval` — the npx-runnable judge client (engine-scorecard capability,
5
+ * requirement "A deployment can be evaluated with npx"). Fetches the flight-
6
+ * recorder stream + engine parameters from a deployment's
7
+ * `GET /api/engine/events`, runs the pure `evaluate` from this same package
8
+ * locally, and prints the resulting scorecard. No repository checkout,
9
+ * database access, or config file is required — only the API URL and a
10
+ * workspace API key pair. All imports below are relative (this file ships
11
+ * inside `@qcobro/common`; it must not import its own package by name).
12
+ */
13
+ export declare const DEFAULT_URL = "https://api.qcobro.com";
14
+ export interface CliOptions {
15
+ url: string;
16
+ from?: string;
17
+ to?: string;
18
+ accessKeyId?: string;
19
+ accessKeySecret?: string;
20
+ latencyP95?: number;
21
+ maxErrorRate?: number;
22
+ livenessTicks?: number;
23
+ json: boolean;
24
+ help: boolean;
25
+ }
26
+ export declare const USAGE = "Usage: engine-eval [options]\n\nEvaluate a QCobro deployment's campaigns-engine event stream against the\nbuilt-in invariant catalog (safety, performance, liveness) and print a\nscorecard. Exits non-zero when the overall verdict is fail.\n\nOptions:\n --url <url> Deployment API base URL (default: https://api.qcobro.com)\n --from <iso> Range start (ISO datetime)\n --to <iso> Range end (ISO datetime)\n (omit both to evaluate today, operator's local timezone)\n --access-key-id <id> Workspace API key id (or QCOBRO_ACCESS_KEY_ID)\n --access-key-secret <secret> Workspace API key secret (or QCOBRO_ACCESS_KEY_SECRET)\n --latency-p95 <ms> Override PERF-2 threshold (dispatch latency p95, ms)\n --max-error-rate <0..1> Override PERF-3 threshold (max per-channel error rate)\n --liveness-ticks <n> Override LIVE-1 threshold (ticks to first attempt)\n --json Print the scorecard as JSON instead of text\n --help Show this help\n\nExit codes: 0 = pass, 1 = fail, 2 = usage/network/auth error.\n";
27
+ /** Raised for usage, network, or auth failures — mapped to exit code 2. */
28
+ export declare class CliError extends Error {
29
+ }
30
+ /** Parses argv into typed options. Throws `CliError` on malformed flags. */
31
+ export declare function parseCliArgs(argv: string[]): CliOptions;
32
+ /**
33
+ * Resolves the from/to range. When BOTH flags are omitted, defaults to today
34
+ * in the operator's local timezone (the machine running the CLI): local
35
+ * midnight through now. When either flag is given, both are passed through
36
+ * unchanged (no default is applied to just one side).
37
+ */
38
+ export declare function resolveRange(from: string | undefined, to: string | undefined, now: Date): {
39
+ from?: string;
40
+ to?: string;
41
+ };
42
+ /** Resolves the API key pair from flags, falling back to environment variables. */
43
+ export declare function resolveCredentials(opts: Pick<CliOptions, "accessKeyId" | "accessKeySecret">, env: Record<string, string | undefined>): {
44
+ accessKeyId: string;
45
+ accessKeySecret: string;
46
+ };
47
+ /** Builds only the threshold overrides the operator actually passed. */
48
+ export declare function buildThresholdOverrides(opts: Pick<CliOptions, "latencyP95" | "maxErrorRate" | "livenessTicks">): Partial<EvaluationParameters["thresholds"]>;
49
+ /**
50
+ * Renders rows as aligned columns: each column as wide as its widest cell,
51
+ * numeric-looking cells right-aligned, two spaces between columns. Width is
52
+ * computed from the data, so alignment holds for any campaign name or count.
53
+ */
54
+ export declare function alignColumns(rows: string[][], indent?: string): string[];
55
+ /** Renders the scorecard as a plain-ASCII, human-readable summary. */
56
+ export declare function formatScorecard(scorecard: Scorecard, ctx: {
57
+ url: string;
58
+ from?: string;
59
+ to?: string;
60
+ }): string;
61
+ /**
62
+ * Entry point. Exported (rather than only run inline) so it can be exercised
63
+ * directly if ever needed; the module also self-invokes when run via `node`
64
+ * or `npx` (see the guard at the bottom of the file).
65
+ */
66
+ export declare function main(argv?: string[], env?: Record<string, string | undefined>, now?: Date, stdout?: (s: string) => void, stderr?: (s: string) => void): Promise<number>;
67
+ //# sourceMappingURL=engineEval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engineEval.d.ts","sourceRoot":"","sources":["../../src/bin/engineEval.ts"],"names":[],"mappings":";AAGA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAC;AAGpC;;;;;;;;;GASG;AAEH,eAAO,MAAM,WAAW,2BAA2B,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,KAAK,opCAoBjB,CAAC;AAEF,2EAA2E;AAC3E,qBAAa,QAAS,SAAQ,KAAK;CAAG;AAwBtC,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAmBvD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,GAAG,EAAE,IAAI,GACR;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAMhC;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,iBAAiB,CAAC,EACzD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAUlD;AAED,wEAAwE;AACxE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,cAAc,GAAG,eAAe,CAAC,GACtE,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAM7C;AA6CD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,SAAO,GAAG,MAAM,EAAE,CAqBtE;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,MAAM,CA4ER;AAED;;;;GAIG;AACH,wBAAsB,IAAI,CACxB,IAAI,GAAE,MAAM,EAA0B,EACtC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,GAAG,GAAE,IAAiB,EACtB,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,EAC5D,MAAM,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAqC,GAC3D,OAAO,CAAC,MAAM,CAAC,CA8CjB"}
@@ -0,0 +1,290 @@
1
+ #!/usr/bin/env node
2
+ import { parseArgs } from "node:util";
3
+ import { evaluate } from "../evaluation/evaluate.js";
4
+ import { evaluationParametersSchema } from "../evaluation/scorecard.js";
5
+ /**
6
+ * `engine-eval` — the npx-runnable judge client (engine-scorecard capability,
7
+ * requirement "A deployment can be evaluated with npx"). Fetches the flight-
8
+ * recorder stream + engine parameters from a deployment's
9
+ * `GET /api/engine/events`, runs the pure `evaluate` from this same package
10
+ * locally, and prints the resulting scorecard. No repository checkout,
11
+ * database access, or config file is required — only the API URL and a
12
+ * workspace API key pair. All imports below are relative (this file ships
13
+ * inside `@qcobro/common`; it must not import its own package by name).
14
+ */
15
+ export const DEFAULT_URL = "https://api.qcobro.com";
16
+ export const USAGE = `Usage: engine-eval [options]
17
+
18
+ Evaluate a QCobro deployment's campaigns-engine event stream against the
19
+ built-in invariant catalog (safety, performance, liveness) and print a
20
+ scorecard. Exits non-zero when the overall verdict is fail.
21
+
22
+ Options:
23
+ --url <url> Deployment API base URL (default: ${DEFAULT_URL})
24
+ --from <iso> Range start (ISO datetime)
25
+ --to <iso> Range end (ISO datetime)
26
+ (omit both to evaluate today, operator's local timezone)
27
+ --access-key-id <id> Workspace API key id (or QCOBRO_ACCESS_KEY_ID)
28
+ --access-key-secret <secret> Workspace API key secret (or QCOBRO_ACCESS_KEY_SECRET)
29
+ --latency-p95 <ms> Override PERF-2 threshold (dispatch latency p95, ms)
30
+ --max-error-rate <0..1> Override PERF-3 threshold (max per-channel error rate)
31
+ --liveness-ticks <n> Override LIVE-1 threshold (ticks to first attempt)
32
+ --json Print the scorecard as JSON instead of text
33
+ --help Show this help
34
+
35
+ Exit codes: 0 = pass, 1 = fail, 2 = usage/network/auth error.
36
+ `;
37
+ /** Raised for usage, network, or auth failures — mapped to exit code 2. */
38
+ export class CliError extends Error {
39
+ }
40
+ const OPTION_SPEC = {
41
+ url: { type: "string" },
42
+ from: { type: "string" },
43
+ to: { type: "string" },
44
+ "access-key-id": { type: "string" },
45
+ "access-key-secret": { type: "string" },
46
+ "latency-p95": { type: "string" },
47
+ "max-error-rate": { type: "string" },
48
+ "liveness-ticks": { type: "string" },
49
+ json: { type: "boolean", default: false },
50
+ help: { type: "boolean", default: false }
51
+ };
52
+ function parseNumberFlag(flag, raw) {
53
+ if (raw === undefined)
54
+ return undefined;
55
+ const value = Number(raw);
56
+ if (!Number.isFinite(value)) {
57
+ throw new CliError(`--${flag} must be a number, got "${raw}"`);
58
+ }
59
+ return value;
60
+ }
61
+ /** Parses argv into typed options. Throws `CliError` on malformed flags. */
62
+ export function parseCliArgs(argv) {
63
+ let values;
64
+ try {
65
+ ({ values } = parseArgs({ args: argv, options: OPTION_SPEC, allowPositionals: false }));
66
+ }
67
+ catch (err) {
68
+ throw new CliError(`Invalid arguments: ${err instanceof Error ? err.message : String(err)}`);
69
+ }
70
+ return {
71
+ url: values.url ?? DEFAULT_URL,
72
+ from: values.from,
73
+ to: values.to,
74
+ accessKeyId: values["access-key-id"],
75
+ accessKeySecret: values["access-key-secret"],
76
+ latencyP95: parseNumberFlag("latency-p95", values["latency-p95"]),
77
+ maxErrorRate: parseNumberFlag("max-error-rate", values["max-error-rate"]),
78
+ livenessTicks: parseNumberFlag("liveness-ticks", values["liveness-ticks"]),
79
+ json: values.json ?? false,
80
+ help: values.help ?? false
81
+ };
82
+ }
83
+ /**
84
+ * Resolves the from/to range. When BOTH flags are omitted, defaults to today
85
+ * in the operator's local timezone (the machine running the CLI): local
86
+ * midnight through now. When either flag is given, both are passed through
87
+ * unchanged (no default is applied to just one side).
88
+ */
89
+ export function resolveRange(from, to, now) {
90
+ if (from === undefined && to === undefined) {
91
+ const localMidnight = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0, 0);
92
+ return { from: localMidnight.toISOString(), to: now.toISOString() };
93
+ }
94
+ return { from, to };
95
+ }
96
+ /** Resolves the API key pair from flags, falling back to environment variables. */
97
+ export function resolveCredentials(opts, env) {
98
+ const accessKeyId = opts.accessKeyId ?? env.QCOBRO_ACCESS_KEY_ID;
99
+ const accessKeySecret = opts.accessKeySecret ?? env.QCOBRO_ACCESS_KEY_SECRET;
100
+ if (!accessKeyId || !accessKeySecret) {
101
+ throw new CliError("Missing API key credentials: pass --access-key-id/--access-key-secret or set " +
102
+ "QCOBRO_ACCESS_KEY_ID/QCOBRO_ACCESS_KEY_SECRET");
103
+ }
104
+ return { accessKeyId, accessKeySecret };
105
+ }
106
+ /** Builds only the threshold overrides the operator actually passed. */
107
+ export function buildThresholdOverrides(opts) {
108
+ const thresholds = {};
109
+ if (opts.latencyP95 !== undefined)
110
+ thresholds.dispatchLatencyP95Ms = opts.latencyP95;
111
+ if (opts.maxErrorRate !== undefined)
112
+ thresholds.maxErrorRate = opts.maxErrorRate;
113
+ if (opts.livenessTicks !== undefined)
114
+ thresholds.livenessTicks = opts.livenessTicks;
115
+ return thresholds;
116
+ }
117
+ async function fetchEvents(url, range, accessKeyId, accessKeySecret) {
118
+ let endpoint;
119
+ try {
120
+ endpoint = new URL("/api/engine/events", url);
121
+ }
122
+ catch {
123
+ throw new CliError(`Invalid --url "${url}"`);
124
+ }
125
+ if (range.from)
126
+ endpoint.searchParams.set("from", range.from);
127
+ if (range.to)
128
+ endpoint.searchParams.set("to", range.to);
129
+ const auth = Buffer.from(`${accessKeyId}:${accessKeySecret}`).toString("base64");
130
+ let res;
131
+ try {
132
+ res = await fetch(endpoint, { headers: { Authorization: `Basic ${auth}` } });
133
+ }
134
+ catch (err) {
135
+ throw new CliError(`Could not reach ${endpoint.origin}: ${err instanceof Error ? err.message : String(err)}`);
136
+ }
137
+ if (res.status === 401) {
138
+ throw new CliError("Authentication failed: invalid API key credentials");
139
+ }
140
+ if (!res.ok) {
141
+ throw new CliError(`Request failed: ${res.status} ${res.statusText}`);
142
+ }
143
+ return (await res.json());
144
+ }
145
+ /**
146
+ * Renders rows as aligned columns: each column as wide as its widest cell,
147
+ * numeric-looking cells right-aligned, two spaces between columns. Width is
148
+ * computed from the data, so alignment holds for any campaign name or count.
149
+ */
150
+ export function alignColumns(rows, indent = " ") {
151
+ const widths = [];
152
+ for (const row of rows) {
153
+ row.forEach((cell, i) => {
154
+ widths[i] = Math.max(widths[i] ?? 0, cell.length);
155
+ });
156
+ }
157
+ const numeric = /^[\d,.%]+$/;
158
+ return rows.map((row) => (indent +
159
+ row
160
+ .map((cell, i) => {
161
+ const w = widths[i];
162
+ // Last column flows free; numbers right-align under their header.
163
+ if (i === row.length - 1)
164
+ return cell;
165
+ return numeric.test(cell) ? cell.padStart(w) : cell.padEnd(w);
166
+ })
167
+ .join(" ")).trimEnd());
168
+ }
169
+ /** Renders the scorecard as a plain-ASCII, human-readable summary. */
170
+ export function formatScorecard(scorecard, ctx) {
171
+ const lines = [];
172
+ lines.push("QCobro engine-eval");
173
+ lines.push(`url: ${ctx.url}`);
174
+ lines.push(`range: ${ctx.from ?? "(unbounded)"} .. ${ctx.to ?? "(unbounded)"}`);
175
+ lines.push(`totals: events=${scorecard.totals.events} ticks=${scorecard.totals.ticks} ` +
176
+ `campaigns=${scorecard.totals.campaigns} accountsConsidered=${scorecard.totals.accountsConsidered}`);
177
+ if (scorecard.gaps.length === 0) {
178
+ lines.push("gaps: none");
179
+ }
180
+ else {
181
+ lines.push(`gaps: ${scorecard.gaps.length} tick(s) started but never completed`);
182
+ for (const g of scorecard.gaps)
183
+ lines.push(` - tick ${g.tickId} at ${g.at}`);
184
+ }
185
+ lines.push("");
186
+ lines.push(`VERDICT: ${scorecard.verdict.toUpperCase()}`);
187
+ lines.push("");
188
+ lines.push("INVARIANTS");
189
+ lines.push(...alignColumns(scorecard.invariants.map((inv) => [
190
+ `[${inv.verdict === "pass" ? "PASS" : "FAIL"}]`,
191
+ inv.id,
192
+ inv.name,
193
+ inv.scope,
194
+ inv.metric ?? ""
195
+ ])));
196
+ lines.push("");
197
+ lines.push("BY CAMPAIGN");
198
+ // Names come from the stream's campaign.evaluated events; streams recorded
199
+ // before names existed fall back to the id.
200
+ const campaignName = new Map(scorecard.campaigns.map((c) => [c.campaignId, c.name]));
201
+ const displayName = (id) => campaignName.get(id) ?? id;
202
+ if (scorecard.campaigns.length === 0) {
203
+ lines.push(" (no campaigns in range)");
204
+ }
205
+ else {
206
+ lines.push(...alignColumns([
207
+ ["campaign", "ticks", "considered", "dispatched", "failed", "suppressed", "violations"],
208
+ ...scorecard.campaigns.map((c) => [
209
+ c.name ?? c.campaignId,
210
+ String(c.ticksSeen),
211
+ String(c.considered),
212
+ String(c.dispatched),
213
+ String(c.failed),
214
+ String(c.suppressed),
215
+ Object.entries(c.violations)
216
+ .map(([id, count]) => `${id}:${count}`)
217
+ .join(" ") || "-"
218
+ ])
219
+ ]));
220
+ }
221
+ const violating = scorecard.invariants.filter((inv) => inv.violations.length > 0);
222
+ if (violating.length > 0) {
223
+ lines.push("");
224
+ lines.push("VIOLATIONS");
225
+ for (const inv of violating) {
226
+ lines.push(` ${inv.id} ${inv.name}`);
227
+ for (const v of inv.violations) {
228
+ const scope = [
229
+ v.campaignId ? `campaign "${displayName(v.campaignId)}"` : undefined,
230
+ v.portfolioAccountId ? `account ${v.portfolioAccountId}` : undefined
231
+ ]
232
+ .filter((s) => Boolean(s))
233
+ .join(", ");
234
+ lines.push(` - ${scope ? scope + ": " : ""}${v.detail} [events: ${v.eventIds.join(", ")}]`);
235
+ }
236
+ }
237
+ }
238
+ return lines.join("\n");
239
+ }
240
+ /**
241
+ * Entry point. Exported (rather than only run inline) so it can be exercised
242
+ * directly if ever needed; the module also self-invokes when run via `node`
243
+ * or `npx` (see the guard at the bottom of the file).
244
+ */
245
+ export async function main(argv = process.argv.slice(2), env = process.env, now = new Date(), stdout = (s) => process.stdout.write(s), stderr = (s) => process.stderr.write(s)) {
246
+ let opts;
247
+ try {
248
+ opts = parseCliArgs(argv);
249
+ }
250
+ catch (err) {
251
+ stderr(`engine-eval: ${err instanceof Error ? err.message : String(err)}\n\n${USAGE}`);
252
+ return 2;
253
+ }
254
+ if (opts.help) {
255
+ stdout(USAGE);
256
+ return 0;
257
+ }
258
+ try {
259
+ const { accessKeyId, accessKeySecret } = resolveCredentials(opts, env);
260
+ const range = resolveRange(opts.from, opts.to, now);
261
+ const { events, parameters, truncated } = await fetchEvents(opts.url, range, accessKeyId, accessKeySecret);
262
+ if (truncated) {
263
+ stderr("engine-eval: warning — the server truncated the event stream for this range; " +
264
+ "verdicts may miss violations. Narrow --from/--to and re-run.\n");
265
+ }
266
+ const evaluationParameters = evaluationParametersSchema.parse({
267
+ tickSeconds: parameters.tickSeconds,
268
+ ratesPerMinute: parameters.ratesPerMinute,
269
+ thresholds: buildThresholdOverrides(opts)
270
+ });
271
+ const scorecard = evaluate(events, evaluationParameters);
272
+ if (opts.json) {
273
+ stdout(JSON.stringify(scorecard, null, 2) + "\n");
274
+ }
275
+ else {
276
+ stdout(formatScorecard(scorecard, { url: opts.url, from: range.from, to: range.to }) + "\n");
277
+ }
278
+ return scorecard.verdict === "pass" ? 0 : 1;
279
+ }
280
+ catch (err) {
281
+ const message = err instanceof Error ? err.message : String(err);
282
+ stderr(`engine-eval: ${message}\n`);
283
+ return 2;
284
+ }
285
+ }
286
+ // Only run when this file is the process entry point (not when imported by tests).
287
+ if (import.meta.url === `file://${process.argv[1]}`) {
288
+ main().then((code) => process.exit(code));
289
+ }
290
+ //# sourceMappingURL=engineEval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engineEval.js","sourceRoot":"","sources":["../../src/bin/engineEval.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -297,9 +297,10 @@ export declare const qcobroConfigSchema: z.ZodObject<{
297
297
  appSecret: z.ZodOptional<z.ZodString>;
298
298
  maxRepliesDefault: z.ZodDefault<z.ZodNumber>;
299
299
  }, z.core.$strip>>;
300
- engine: z.ZodDefault<z.ZodObject<{
300
+ engine: z.ZodPrefault<z.ZodObject<{
301
301
  enabled: z.ZodDefault<z.ZodBoolean>;
302
302
  tickSeconds: z.ZodDefault<z.ZodNumber>;
303
+ eventsRetentionDays: z.ZodDefault<z.ZodNumber>;
303
304
  }, z.core.$strip>>;
304
305
  }, z.core.$strip>;
305
306
  export type IdentityConfig = z.infer<typeof identityConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB;;;iBAK/B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;iBAMlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkEpB,CAAC;AAEd,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAG1F;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;kBAYlB,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;kBAqBlB,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;EAAoD,CAAC;AAClF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAKlD,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;kBAwBd,CAAC;AAEd,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;kBAMf,CAAC;AAEd,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,2EAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;kBAcxB,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8E7B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB;;;iBAK/B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;iBAMlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkEpB,CAAC;AAEd,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAG1F;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;kBAYlB,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;kBAqBlB,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;EAAoD,CAAC;AAClF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAKlD,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;kBAwBd,CAAC;AAEd,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;kBAMf,CAAC;AAEd,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,2EAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;kBAcxB,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoF7B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
package/dist/config.js CHANGED
@@ -320,8 +320,14 @@ export const qcobroConfigSchema = z.object({
320
320
  .object({
321
321
  enabled: z.boolean().default(false),
322
322
  /** Seconds between engine ticks. */
323
- tickSeconds: z.number().int().positive().default(60)
323
+ tickSeconds: z.number().int().positive().default(60),
324
+ /**
325
+ * Days the flight-recorder event stream (`engine_events`) is kept before the
326
+ * runner prunes it. `0` disables pruning. Telemetry only — gestiones are the
327
+ * record of contact attempts and are never pruned.
328
+ */
329
+ eventsRetentionDays: z.number().int().nonnegative().default(30)
324
330
  })
325
- .default({ enabled: false, tickSeconds: 60 })
331
+ .prefault({})
326
332
  });
327
333
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { EngineEvent } from "../schemas/engineEvents.js";
2
+ import type { EvaluationParameters, Scorecard } from "./scorecard.js";
3
+ export declare function evaluate(events: EngineEvent[], parameters: EvaluationParameters): Scorecard;
4
+ //# sourceMappingURL=evaluate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/evaluation/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAQV,WAAW,EAGZ,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EAEV,oBAAoB,EAIpB,SAAS,EAGV,MAAM,gBAAgB,CAAC;AAiLxB,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,oBAAoB,GAAG,SAAS,CA4Y3F"}