@descryy/runtime-test-runner 0.2.1 → 0.4.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 (42) hide show
  1. package/LICENSE +6 -0
  2. package/dist/collector-version.d.ts +2 -6
  3. package/dist/collector-version.d.ts.map +1 -1
  4. package/dist/collector-version.js +2 -6
  5. package/dist/collector-version.js.map +1 -1
  6. package/dist/go-test.d.ts +24 -50
  7. package/dist/go-test.d.ts.map +1 -1
  8. package/dist/go-test.js +30 -68
  9. package/dist/go-test.js.map +1 -1
  10. package/dist/graph-mapping.d.ts +10 -28
  11. package/dist/graph-mapping.d.ts.map +1 -1
  12. package/dist/graph-mapping.js +16 -43
  13. package/dist/graph-mapping.js.map +1 -1
  14. package/dist/index.d.ts +2 -2
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/jest-reporter.d.ts +20 -46
  19. package/dist/jest-reporter.d.ts.map +1 -1
  20. package/dist/jest-reporter.js +28 -71
  21. package/dist/jest-reporter.js.map +1 -1
  22. package/dist/playwright-reporter.d.ts +16 -34
  23. package/dist/playwright-reporter.d.ts.map +1 -1
  24. package/dist/playwright-reporter.js +22 -51
  25. package/dist/playwright-reporter.js.map +1 -1
  26. package/dist/reporter.d.ts +7 -19
  27. package/dist/reporter.d.ts.map +1 -1
  28. package/dist/reporter.js +18 -52
  29. package/dist/reporter.js.map +1 -1
  30. package/dist/swift-xctest.d.ts +40 -94
  31. package/dist/swift-xctest.d.ts.map +1 -1
  32. package/dist/swift-xctest.js +47 -105
  33. package/dist/swift-xctest.js.map +1 -1
  34. package/dist/test-runner-collector.d.ts +139 -2
  35. package/dist/test-runner-collector.d.ts.map +1 -1
  36. package/dist/test-runner-collector.js +322 -42
  37. package/dist/test-runner-collector.js.map +1 -1
  38. package/dist/vitest-reporter.d.ts +19 -43
  39. package/dist/vitest-reporter.d.ts.map +1 -1
  40. package/dist/vitest-reporter.js +30 -82
  41. package/dist/vitest-reporter.js.map +1 -1
  42. package/package.json +11 -6
@@ -1,48 +1,24 @@
1
1
  /**
2
- * A **Vitest** custom reporter (`--reporter=<path to this file's compiled
3
- * output>`), emitting the same NDJSON envelope `reporter.ts` emits for
4
- * `node:test` and `jest-reporter.ts` for Jest. See `jest-reporter.ts`'s
5
- * header for why the envelope is shared and why the per-runner knowledge
6
- * lives inside a reporter rather than in the collector.
7
- *
8
- * ## Vitest's `fullName` is NOT the graph's qualified name, and using it
9
- * would have failed the RT-076 way
10
- *
11
- * Measured against a real run: Vitest joins the `describe()` chain with
12
- * `" > "` —
13
- *
14
- * ```
15
- * fullName: "invoice deletion > deletes an invoice"
16
- * ```
17
- *
18
- * `adapter-typescript`'s TEST_CASE node name is `[...suite, title].join(" ")`
19
- * — a plain space. Jest's own `fullName` happens to match that exactly;
20
- * Vitest's does not. Passing it through would `not-found` **every nested
21
- * test** in graph resolution while every top-level test resolved fine,
22
- * which is precisely the failure RT-076 caught for node:test and precisely
23
- * how it would ship unnoticed again: a fixture with no `describe()` block
24
- * shows nothing wrong.
25
- *
26
- * So the chain is walked instead — `testCase.parent` upward while the
27
- * parent is a suite (a top-level test's parent is the *module*, which is
28
- * what terminates the walk) — and re-joined with the graph's own
29
- * separator. Splitting `fullName` on `" > "` was rejected: a test whose own
30
- * title contains `" > "` is legal and would split wrong, and a
31
- * reconstruction that can be wrong on legal input is not a reconstruction.
32
- *
33
- * ## `--includeTaskLocation` is load-bearing, and its absence is silent
34
- *
35
- * Measured directly: without it, `testCase.location` is `undefined` on
36
- * every result — the collector still runs, still emits every event, and
37
- * every one silently has no line or column. Same shape as Jest's
38
- * `--testLocationInResults` and as RT-073's reporter-flag ordering bug.
2
+ * Vitest custom reporter (`--reporter=`), emitting the same NDJSON envelope
3
+ * as `reporter.ts`/`jest-reporter.ts`. See `jest-reporter.ts`'s header for why
4
+ * the envelope is shared and per-runner knowledge lives in the reporter.
5
+ *
6
+ * Vitest's `fullName` joins the describe() chain with `" > "`, not a plain
7
+ * space like `adapter-typescript`'s TEST_CASE convention (`[...suite, title].join(" ")`,
8
+ * which Jest's `fullName` happens to match). Passing `fullName` through would
9
+ * `not-found` every nested test in graph resolution while top-level tests still
10
+ * resolved fine (RT-076's failure shape, easy to ship unnoticed). So the chain
11
+ * is walked via `testCase.parent` instead (stopping at the module) and rejoined
12
+ * with the graph's separator -- splitting on `" > "` was rejected since a title
13
+ * containing `" > "` is legal and would split wrong.
14
+ *
15
+ * `--includeTaskLocation` is load-bearing and its absence is silent: without it
16
+ * `testCase.location` is `undefined` on every result, no error, just missing
17
+ * line/column (same shape as Jest's `--testLocationInResults`, RT-073).
39
18
  * `withReporterFlags` injects it rather than leaving it to the caller.
40
19
  *
41
- * ## `skipped` covers both `.skip` and `.todo`
42
- *
43
- * Measured: Vitest reports `state: "skipped"` for both, where Jest reports
44
- * `"todo"` for one and omits the other from its result callback entirely.
45
- * Neither is a pass, and the translator counts what it declines to emit.
20
+ * `state: "skipped"` covers both `.skip` and `.todo` (measured) -- Jest tells
21
+ * them apart. Neither is a pass.
46
22
  */
47
23
  interface VitestSuite {
48
24
  readonly type: string;
@@ -59,7 +35,7 @@ interface VitestTestCase {
59
35
  readonly line: number;
60
36
  readonly column: number;
61
37
  } | undefined;
62
- /** `errors` are plain, already-serialised objects by the time a reporter sees them — see `onTestCaseResult`. Typed as unknown so nothing here narrows away the assertion fields Vitest supplies. */
38
+ /** `errors` are plain, already-serialised objects by the time a reporter sees them (see `onTestCaseResult`); typed `unknown` so nothing narrows away Vitest's assertion fields. */
63
39
  result(): {
64
40
  readonly state?: string;
65
41
  readonly errors?: readonly unknown[];
@@ -1 +1 @@
1
- {"version":3,"file":"vitest-reporter.d.ts","sourceRoot":"","sources":["../src/vitest-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,UAAU,WAAW;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACnF,oMAAoM;IACpM,MAAM,IAAI;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IACxF,UAAU,IAAI;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC1D;AA8BD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAU/C,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAgDjD"}
1
+ {"version":3,"file":"vitest-reporter.d.ts","sourceRoot":"","sources":["../src/vitest-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,UAAU,WAAW;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACnF,mLAAmL;IACnL,MAAM,IAAI;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IACxF,UAAU,IAAI;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC1D;AAsBD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAU/C,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CA4BjD"}
@@ -1,68 +1,36 @@
1
1
  /**
2
- * A **Vitest** custom reporter (`--reporter=<path to this file's compiled
3
- * output>`), emitting the same NDJSON envelope `reporter.ts` emits for
4
- * `node:test` and `jest-reporter.ts` for Jest. See `jest-reporter.ts`'s
5
- * header for why the envelope is shared and why the per-runner knowledge
6
- * lives inside a reporter rather than in the collector.
2
+ * Vitest custom reporter (`--reporter=`), emitting the same NDJSON envelope
3
+ * as `reporter.ts`/`jest-reporter.ts`. See `jest-reporter.ts`'s header for why
4
+ * the envelope is shared and per-runner knowledge lives in the reporter.
7
5
  *
8
- * ## Vitest's `fullName` is NOT the graph's qualified name, and using it
9
- * would have failed the RT-076 way
6
+ * Vitest's `fullName` joins the describe() chain with `" > "`, not a plain
7
+ * space like `adapter-typescript`'s TEST_CASE convention (`[...suite, title].join(" ")`,
8
+ * which Jest's `fullName` happens to match). Passing `fullName` through would
9
+ * `not-found` every nested test in graph resolution while top-level tests still
10
+ * resolved fine (RT-076's failure shape, easy to ship unnoticed). So the chain
11
+ * is walked via `testCase.parent` instead (stopping at the module) and rejoined
12
+ * with the graph's separator -- splitting on `" > "` was rejected since a title
13
+ * containing `" > "` is legal and would split wrong.
10
14
  *
11
- * Measured against a real run: Vitest joins the `describe()` chain with
12
- * `" > "` —
13
- *
14
- * ```
15
- * fullName: "invoice deletion > deletes an invoice"
16
- * ```
17
- *
18
- * `adapter-typescript`'s TEST_CASE node name is `[...suite, title].join(" ")`
19
- * — a plain space. Jest's own `fullName` happens to match that exactly;
20
- * Vitest's does not. Passing it through would `not-found` **every nested
21
- * test** in graph resolution while every top-level test resolved fine,
22
- * which is precisely the failure RT-076 caught for node:test and precisely
23
- * how it would ship unnoticed again: a fixture with no `describe()` block
24
- * shows nothing wrong.
25
- *
26
- * So the chain is walked instead — `testCase.parent` upward while the
27
- * parent is a suite (a top-level test's parent is the *module*, which is
28
- * what terminates the walk) — and re-joined with the graph's own
29
- * separator. Splitting `fullName` on `" > "` was rejected: a test whose own
30
- * title contains `" > "` is legal and would split wrong, and a
31
- * reconstruction that can be wrong on legal input is not a reconstruction.
32
- *
33
- * ## `--includeTaskLocation` is load-bearing, and its absence is silent
34
- *
35
- * Measured directly: without it, `testCase.location` is `undefined` on
36
- * every result — the collector still runs, still emits every event, and
37
- * every one silently has no line or column. Same shape as Jest's
38
- * `--testLocationInResults` and as RT-073's reporter-flag ordering bug.
15
+ * `--includeTaskLocation` is load-bearing and its absence is silent: without it
16
+ * `testCase.location` is `undefined` on every result, no error, just missing
17
+ * line/column (same shape as Jest's `--testLocationInResults`, RT-073).
39
18
  * `withReporterFlags` injects it rather than leaving it to the caller.
40
19
  *
41
- * ## `skipped` covers both `.skip` and `.todo`
42
- *
43
- * Measured: Vitest reports `state: "skipped"` for both, where Jest reports
44
- * `"todo"` for one and omits the other from its result callback entirely.
45
- * Neither is a pass, and the translator counts what it declines to emit.
20
+ * `state: "skipped"` covers both `.skip` and `.todo` (measured) -- Jest tells
21
+ * them apart. Neither is a pass.
46
22
  */
47
23
  function write(type, data) {
48
24
  process.stdout.write(JSON.stringify({ type, data }) + "\n");
49
25
  }
50
- // **The envelope declaration, emitted at module load** — before any test
51
- // runs, because the runner imports this reporter during its own start-up.
52
- // A stdout write is correct here (unlike node:test's reporter, which is a
53
- // stream transform and must yield instead), since this reporter already
54
- // writes every event the same way (RT-130).
26
+ // emitted at module load, before any test runs -- plain stdout write is fine here,
27
+ // unlike node:test's stream-transform reporter (RT-130)
55
28
  write("descry:envelope", { version: 1 });
56
- /**
57
- * The `describe()` chain, space-joined ahead of the test's own title —
58
- * `adapter-typescript`'s TEST_CASE convention exactly, and deliberately not
59
- * Vitest's own `" > "`-joined `fullName`.
60
- */
29
+ /** describe() chain, space-joined -- matches `adapter-typescript`'s TEST_CASE convention, deliberately not Vitest's `" > "`-joined `fullName`. */
61
30
  function qualifiedNameOf(testCase) {
62
31
  const chain = [];
63
32
  let ancestor = testCase.parent;
64
- // A top-level test's parent is the module, not a suite — that is what
65
- // ends the walk, rather than a depth count that could be wrong.
33
+ // top-level test's parent is the module, not a suite -- ends the walk here
66
34
  while (ancestor !== undefined && ancestor.type === "suite") {
67
35
  chain.unshift(ancestor.name);
68
36
  ancestor = ancestor.parent;
@@ -88,41 +56,21 @@ export default class DescryVitestReporter {
88
56
  file: testCase.module?.moduleId ?? null,
89
57
  line: testCase.location?.line ?? null,
90
58
  column: testCase.location?.column ?? null,
91
- // `.skip` and `.todo` both arrive as "skipped" (measured), where
92
- // Jest distinguishes them and drops one. Neither is a pass; the
93
- // translator turns them into `TEST_SKIPPED` (RT-124), its own event
94
- // carrying this location and qualified name.
59
+ // .skip and .todo both arrive as "skipped" (measured); translator turns them
60
+ // into TEST_SKIPPED (RT-124).
95
61
  skip: state === "skipped",
96
62
  todo: false,
97
- // **`unspecified` is a real answer, not a fallback.** Vitest reports
98
- // `state: "skipped"` for both `.skip` and `.todo` (measured), so
99
- // `disabled` here would be a guess dressed as a fact — and the
100
- // translator cannot supply one either, because the flags above look
101
- // identical to node:test's `.skip`. Saying "the runner did not say"
102
- // is the honest shape (RT-129).
63
+ // "unspecified" is a real answer, not a fallback: Vitest doesn't distinguish
64
+ // .skip from .todo, so "disabled" here would be a guess (RT-129).
103
65
  skipReason: "unspecified",
104
66
  details: {
105
67
  duration_ms: testCase.diagnostic()?.duration ?? null,
106
- // **Passed through verbatim, and the first version of this did not
107
- // — it copied `name`/`message`/`stack` field by field, on the
108
- // reasoning that an `Error` is not JSON-serialisable
109
- // (`JSON.stringify(new Error("x"))` is `{}`). That reasoning is
110
- // true in general and false here, and a mutation swapping the copy
111
- // for a pass-through changed nothing, which is what prompted
112
- // measuring it.
113
- //
114
- // Measured: by the time a reporter sees them, Vitest's errors have
115
- // already crossed its worker RPC and are **plain objects**, not
116
- // `Error` instances (`e instanceof Error === false`,
117
- // `constructor.name === "Object"`). They carry
118
- // `message`/`name`/`stack` **and** `actual`/`expected`/`operator`/
119
- // `diff` — so the field-by-field copy was silently discarding the
120
- // assertion's own actual-vs-expected, which is the most useful part
121
- // of a failure and the part `node:test`'s own path preserves via
122
- // `error.cause`.
123
- //
124
- // This is safe *because* of that measurement, not in general: a
125
- // runner handing over live `Error` instances would need the copy.
68
+ // passed through verbatim, not copied field-by-field: by the time a reporter
69
+ // sees them, Vitest's errors have crossed its worker RPC and are plain objects
70
+ // (not Error instances), carrying actual/expected/operator/diff alongside
71
+ // message/name/stack -- a field-by-field copy silently drops the assertion
72
+ // diff, the most useful part of a failure. Safe because of that measurement;
73
+ // a runner handing over live Error instances would need the copy.
126
74
  error: state === "failed" ? { failureType: "test", errors: result?.errors ?? [] } : null,
127
75
  },
128
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"vitest-reporter.js","sourceRoot":"","sources":["../src/vitest-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitest-reporter.js","sourceRoot":"","sources":["../src/vitest-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAkBH,SAAS,KAAK,CAAC,IAAY,EAAE,IAAa;IACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,mFAAmF;AACnF,wDAAwD;AACxD,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAEzC,kJAAkJ;AAClJ,SAAS,eAAe,CAAC,QAAwB;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,2EAA2E;IAC3E,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,eAAe,CAAC,QAAwB;QACtC,KAAK,CAAC,YAAY,EAAE;YAClB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC;YACxC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI;YACvC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI;YACrC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,QAAwB;QACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;QAC5B,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE;YACpD,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,aAAa,EAAE,eAAe,CAAC,QAAQ,CAAC;YACxC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,IAAI,IAAI;YACvC,IAAI,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI;YACrC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI;YACzC,6EAA6E;YAC7E,8BAA8B;YAC9B,IAAI,EAAE,KAAK,KAAK,SAAS;YACzB,IAAI,EAAE,KAAK;YACX,6EAA6E;YAC7E,kEAAkE;YAClE,UAAU,EAAE,aAAsB;YAClC,OAAO,EAAE;gBACP,WAAW,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,IAAI,IAAI;gBACpD,6EAA6E;gBAC7E,+EAA+E;gBAC/E,0EAA0E;gBAC1E,2EAA2E;gBAC3E,6EAA6E;gBAC7E,kEAAkE;gBAClE,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;aACzF;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
package/package.json CHANGED
@@ -1,9 +1,14 @@
1
1
  {
2
2
  "name": "@descryy/runtime-test-runner",
3
- "version": "0.2.1",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
5
  "description": "Test-runner observation (plan \u00a717): discovery, start, TEST_STARTED/PASSED/FAILED, trace capture, source mapping, not-run disclosure. Three runners -- node:test, Jest, Vitest -- each observed through its own structured reporter API writing one shared envelope; no TAP or text scraping anywhere.",
6
6
  "license": "UNLICENSED",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/descryhq-wq/descry-runtime.git",
10
+ "directory": "packages/test-runner"
11
+ },
7
12
  "engines": {
8
13
  "node": ">=22.5"
9
14
  },
@@ -24,10 +29,10 @@
24
29
  "build": "tsc -b && node reporters/junit/build.mjs && node reporters/xunit/build.mjs"
25
30
  },
26
31
  "dependencies": {
27
- "@descryy/runtime-contracts": "0.2.0",
28
- "@descryy/runtime-backend-observation": "0.2.0",
29
- "@descryy/runtime-controller": "0.2.1",
30
- "@descryy/runtime-graph-correlator": "0.2.0",
31
- "@descryy/core": "0.3.0"
32
+ "@descryy/runtime-contracts": "0.3.0",
33
+ "@descryy/runtime-backend-observation": "0.3.0",
34
+ "@descryy/runtime-controller": "0.3.0",
35
+ "@descryy/runtime-graph-correlator": "0.4.0",
36
+ "@descryy/core": "0.5.0"
32
37
  }
33
38
  }