@xera-ai/core 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/internal.js +382 -248
- package/dist/bin-internal/disputes.d.ts +2 -0
- package/dist/bin-internal/disputes.d.ts.map +1 -0
- package/dist/bin-internal/doctor.d.ts +1 -1
- package/dist/bin-internal/doctor.d.ts.map +1 -1
- package/dist/bin-internal/exec.d.ts.map +1 -1
- package/dist/bin-internal/graph-record-script.d.ts.map +1 -1
- package/dist/bin-internal/index.d.ts.map +1 -1
- package/dist/graph/store.d.ts.map +1 -1
- package/dist/graph/types.d.ts +1 -0
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/package.json +1 -1
- package/src/bin-internal/disputes.ts +88 -0
- package/src/bin-internal/doctor.ts +13 -1
- package/src/bin-internal/exec.ts +3 -0
- package/src/bin-internal/graph-record-script.ts +37 -8
- package/src/bin-internal/index.ts +2 -0
- package/src/config/schema.ts +1 -1
- package/src/graph/store.ts +8 -1
- package/src/graph/types.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disputes.d.ts","sourceRoot":"","sources":["../../src/bin-internal/disputes.ts"],"names":[],"mappings":"AAoDA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/bin-internal/doctor.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA8GD,wBAAsB,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/bin-internal/doctor.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA8GD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA6DtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/bin-internal/exec.ts"],"names":[],"mappings":"AAWA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/bin-internal/exec.ts"],"names":[],"mappings":"AAWA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwH7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-record-script.d.ts","sourceRoot":"","sources":["../../src/bin-internal/graph-record-script.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph-record-script.d.ts","sourceRoot":"","sources":["../../src/bin-internal/graph-record-script.ts"],"names":[],"mappings":"AAqIA,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsFxF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bin-internal/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bin-internal/index.ts"],"names":[],"mappings":"AAsDA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAczD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/graph/store.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,KAAK,EAIL,QAAQ,EAET,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAa3F;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,CAyCvD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAIzD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/graph/store.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,KAAK,EAIL,QAAQ,EAET,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAa3F;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,CAyCvD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAIzD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAuHxD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAMpE;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAQ9D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKzD"}
|
package/dist/graph/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/graph/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/graph/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -327,7 +327,7 @@ var ReportingSchema = z4.object({
|
|
|
327
327
|
var RunSchema = z4.object({
|
|
328
328
|
autoImpact: z4.object({
|
|
329
329
|
enabled: z4.boolean().default(true),
|
|
330
|
-
threshold: z4.number().nonnegative().default(
|
|
330
|
+
threshold: z4.number().nonnegative().default(8)
|
|
331
331
|
}).prefault({})
|
|
332
332
|
}).prefault({});
|
|
333
333
|
var XeraConfigSchema = z4.object({
|
package/package.json
CHANGED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { loadAllEvents } from '../graph/store';
|
|
2
|
+
import type { ClassificationDisputedPayload, Event } from '../graph/types';
|
|
3
|
+
|
|
4
|
+
function parseDuration(s: string): number {
|
|
5
|
+
// accepts "7d", "30d", "1h", "5m" — returns ms; returns 0 for invalid input
|
|
6
|
+
const match = s.match(/^(\d+)([dhm])$/);
|
|
7
|
+
if (!match) return 0;
|
|
8
|
+
const n = Number.parseInt(match[1]!, 10);
|
|
9
|
+
const unit = match[2]!;
|
|
10
|
+
if (unit === 'd') return n * 86400 * 1000;
|
|
11
|
+
if (unit === 'h') return n * 3600 * 1000;
|
|
12
|
+
if (unit === 'm') return n * 60 * 1000;
|
|
13
|
+
return 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface DisputeRow {
|
|
17
|
+
ts: string;
|
|
18
|
+
runId: string;
|
|
19
|
+
scenarioId: string;
|
|
20
|
+
originalClassification: string;
|
|
21
|
+
disputedTo: string;
|
|
22
|
+
qaActor: string;
|
|
23
|
+
qaReason?: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function eventToRow(e: Event & { type: 'classification.disputed' }): DisputeRow {
|
|
27
|
+
const p = e.payload as ClassificationDisputedPayload;
|
|
28
|
+
const row: DisputeRow = {
|
|
29
|
+
ts: e.ts,
|
|
30
|
+
runId: p.runId,
|
|
31
|
+
scenarioId: p.scenarioId,
|
|
32
|
+
originalClassification: p.originalClassification,
|
|
33
|
+
disputedTo: p.disputedTo,
|
|
34
|
+
qaActor: p.qaActor,
|
|
35
|
+
};
|
|
36
|
+
if (p.qaReason) row.qaReason = p.qaReason;
|
|
37
|
+
return row;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function renderText(rows: DisputeRow[]): string {
|
|
41
|
+
if (rows.length === 0) return 'No disputes recorded.\n';
|
|
42
|
+
const lines: string[] = [];
|
|
43
|
+
lines.push(`${rows.length} dispute(s):`);
|
|
44
|
+
for (const r of rows) {
|
|
45
|
+
lines.push(
|
|
46
|
+
` ${r.ts} | ${r.scenarioId} | ${r.originalClassification} → ${r.disputedTo} | ${r.qaActor}`,
|
|
47
|
+
);
|
|
48
|
+
if (r.qaReason) lines.push(` reason: ${r.qaReason}`);
|
|
49
|
+
}
|
|
50
|
+
return `${lines.join('\n')}\n`;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export async function disputesCmd(argv: string[]): Promise<number> {
|
|
54
|
+
let since: string | undefined;
|
|
55
|
+
let format: 'text' | 'json' = 'text';
|
|
56
|
+
for (let i = 0; i < argv.length; i++) {
|
|
57
|
+
if (argv[i] === '--since') {
|
|
58
|
+
since = argv[++i];
|
|
59
|
+
} else if (argv[i] === '--format') {
|
|
60
|
+
const v = argv[++i];
|
|
61
|
+
if (v === 'json' || v === 'text') format = v;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const repoRoot = process.cwd();
|
|
66
|
+
const events = loadAllEvents(repoRoot);
|
|
67
|
+
const disputes = events.filter(
|
|
68
|
+
(e): e is Event & { type: 'classification.disputed' } => e.type === 'classification.disputed',
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
let cutoffMs: number | undefined;
|
|
72
|
+
if (since) {
|
|
73
|
+
const sinceMs = parseDuration(since);
|
|
74
|
+
if (sinceMs > 0) cutoffMs = Date.now() - sinceMs;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const rows = disputes
|
|
78
|
+
.filter((e) => cutoffMs === undefined || Date.parse(e.ts) >= cutoffMs)
|
|
79
|
+
.map(eventToRow)
|
|
80
|
+
.sort((a, b) => (a.ts < b.ts ? 1 : -1));
|
|
81
|
+
|
|
82
|
+
if (format === 'json') {
|
|
83
|
+
process.stdout.write(JSON.stringify(rows, null, 2));
|
|
84
|
+
} else {
|
|
85
|
+
process.stdout.write(renderText(rows));
|
|
86
|
+
}
|
|
87
|
+
return 0;
|
|
88
|
+
}
|
|
@@ -117,8 +117,9 @@ function checkRootScripts(repoRoot: string): CheckResult[] {
|
|
|
117
117
|
return missing.map((s) => ({ ok: false, message: `root package.json missing script: ${s}` }));
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
export async function doctorCmd(
|
|
120
|
+
export async function doctorCmd(argv: string[], opts: DoctorOpts = {}): Promise<number> {
|
|
121
121
|
const repoRoot = opts.cwd ?? process.cwd();
|
|
122
|
+
const autoEnrich = argv.includes('--auto-enrich');
|
|
122
123
|
const results: CheckResult[] = [
|
|
123
124
|
...checkGoldenEvalDir(repoRoot),
|
|
124
125
|
...checkRubricPrompt(repoRoot),
|
|
@@ -156,6 +157,17 @@ export async function doctorCmd(_argv: string[], opts: DoctorOpts = {}): Promise
|
|
|
156
157
|
console.log(` These won't participate in v0.6.1+ features (TEST_OUTDATED, /xera-impact).`);
|
|
157
158
|
console.log(` Run: bun run xera:graph-backfill`);
|
|
158
159
|
console.log(` (Use --dry-run to preview.)`);
|
|
160
|
+
if (autoEnrich) {
|
|
161
|
+
console.log('[doctor] --auto-enrich: running backfill for unbackfilled tickets...');
|
|
162
|
+
// Lazy import to avoid circular deps
|
|
163
|
+
const { graphBackfillCmd } = await import('./graph-backfill');
|
|
164
|
+
const exitCode = await graphBackfillCmd([]);
|
|
165
|
+
if (exitCode === 0) {
|
|
166
|
+
console.log(`[doctor] auto-enrich: backfilled ${unbackfilled.length} tickets`);
|
|
167
|
+
} else {
|
|
168
|
+
console.error('[doctor] auto-enrich: backfill failed');
|
|
169
|
+
}
|
|
170
|
+
}
|
|
159
171
|
}
|
|
160
172
|
}
|
|
161
173
|
}
|
package/src/bin-internal/exec.ts
CHANGED
|
@@ -15,6 +15,8 @@ export async function execCmd(argv: string[]): Promise<number> {
|
|
|
15
15
|
console.error('[xera:exec] usage: exec <TICKET>');
|
|
16
16
|
return 1;
|
|
17
17
|
}
|
|
18
|
+
const grepIdx = argv.indexOf('--grep');
|
|
19
|
+
const grep = grepIdx > -1 ? argv[grepIdx + 1] : undefined;
|
|
18
20
|
const cwd = process.cwd();
|
|
19
21
|
const config = await loadConfig(cwd);
|
|
20
22
|
const paths = resolveArtifactPaths(cwd, ticket);
|
|
@@ -117,6 +119,7 @@ export async function execCmd(argv: string[]): Promise<number> {
|
|
|
117
119
|
// path to read.
|
|
118
120
|
PLAYWRIGHT_JSON_OUTPUT_NAME: reportJsonPath,
|
|
119
121
|
},
|
|
122
|
+
...(grep && { grep }),
|
|
120
123
|
});
|
|
121
124
|
log.log({ step: 'exec.done', runId, exit: r.exitCode, ms: Date.now() - t0 });
|
|
122
125
|
|
|
@@ -30,18 +30,49 @@ const mk = <T extends Event['type']>(
|
|
|
30
30
|
payload,
|
|
31
31
|
}) as Event;
|
|
32
32
|
|
|
33
|
+
const P0_KEYWORDS = [
|
|
34
|
+
'log in',
|
|
35
|
+
'login',
|
|
36
|
+
'sign in',
|
|
37
|
+
'signin',
|
|
38
|
+
'sign up',
|
|
39
|
+
'signup',
|
|
40
|
+
'auth',
|
|
41
|
+
'authentic',
|
|
42
|
+
'payment',
|
|
43
|
+
'pay ',
|
|
44
|
+
'checkout',
|
|
45
|
+
'purchase',
|
|
46
|
+
'charge',
|
|
47
|
+
'password',
|
|
48
|
+
'credential',
|
|
49
|
+
'admin',
|
|
50
|
+
'permission',
|
|
51
|
+
'role',
|
|
52
|
+
'must ',
|
|
53
|
+
'critical',
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
function inferPriority(name: string, gherkin: string): 'p0' | 'p1' {
|
|
57
|
+
const haystack = `${name} ${gherkin}`.toLowerCase();
|
|
58
|
+
for (const kw of P0_KEYWORDS) {
|
|
59
|
+
if (haystack.includes(kw)) return 'p0';
|
|
60
|
+
}
|
|
61
|
+
return 'p1';
|
|
62
|
+
}
|
|
63
|
+
|
|
33
64
|
function parseFeature(
|
|
34
65
|
text: string,
|
|
35
66
|
): Array<{ name: string; priority: 'p0' | 'p1' | 'p2'; gherkin: string }> {
|
|
36
67
|
const scenarios: Array<{ name: string; priority: 'p0' | 'p1' | 'p2'; gherkin: string }> = [];
|
|
37
68
|
const lines = text.split('\n');
|
|
38
|
-
let
|
|
69
|
+
let explicitTag: 'p0' | 'p1' | 'p2' | null = null;
|
|
39
70
|
let i = 0;
|
|
40
71
|
while (i < lines.length) {
|
|
41
72
|
const line = lines[i]!.trim();
|
|
42
73
|
if (line.startsWith('@')) {
|
|
43
74
|
const tag = line.slice(1).split(/\s+/)[0]!.toLowerCase();
|
|
44
|
-
if (tag === 'p0' || tag === 'p1' || tag === 'p2')
|
|
75
|
+
if (tag === 'p0' || tag === 'p1' || tag === 'p2') explicitTag = tag;
|
|
45
76
|
i++;
|
|
46
77
|
continue;
|
|
47
78
|
}
|
|
@@ -55,12 +86,10 @@ function parseFeature(
|
|
|
55
86
|
!lines[i]!.trim().startsWith('@')
|
|
56
87
|
)
|
|
57
88
|
i++;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
});
|
|
63
|
-
currentTagPriority = 'p1';
|
|
89
|
+
const gherkin = lines.slice(start, i).join('\n');
|
|
90
|
+
const priority = explicitTag !== null ? explicitTag : inferPriority(name, gherkin);
|
|
91
|
+
scenarios.push({ name, priority, gherkin });
|
|
92
|
+
explicitTag = null;
|
|
64
93
|
continue;
|
|
65
94
|
}
|
|
66
95
|
i++;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { disputesCmd } from './disputes';
|
|
1
2
|
import { doctorCmd } from './doctor';
|
|
2
3
|
import { evalDeterministicCmd } from './eval-deterministic';
|
|
3
4
|
import { evalPrepareCmd } from './eval-prepare';
|
|
@@ -24,6 +25,7 @@ import { validateFeatureCmd } from './validate-feature';
|
|
|
24
25
|
import { verifyPromptsCmd } from './verify-prompts';
|
|
25
26
|
|
|
26
27
|
const COMMANDS: Record<string, (argv: string[]) => Promise<number>> = {
|
|
28
|
+
disputes: disputesCmd,
|
|
27
29
|
doctor: doctorCmd,
|
|
28
30
|
'eval-deterministic': evalDeterministicCmd,
|
|
29
31
|
'eval-prepare': evalPrepareCmd,
|
package/src/config/schema.ts
CHANGED
package/src/graph/store.ts
CHANGED
|
@@ -185,7 +185,14 @@ export function deriveSnapshot(events: Event[]): Snapshot {
|
|
|
185
185
|
edges.push(ed);
|
|
186
186
|
break;
|
|
187
187
|
}
|
|
188
|
-
|
|
188
|
+
case 'classification.disputed': {
|
|
189
|
+
const existing = latestFailures[e.payload.scenarioId];
|
|
190
|
+
if (existing && existing.runId === e.payload.runId) {
|
|
191
|
+
existing.disputed = true;
|
|
192
|
+
}
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
// run.classified: not materialized in snapshot
|
|
189
196
|
default:
|
|
190
197
|
break;
|
|
191
198
|
}
|