@miraland-labs/conduit-bridge 0.16.161 → 0.16.162
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/ensure-test-evidence.js +15 -2
- package/package.json +1 -1
|
@@ -240,20 +240,33 @@ export function boundedDetailLines(lines, maxLines, identifiers = []) {
|
|
|
240
240
|
// is proved by one line in the middle of a long suite, and a reviewer must not infer it from the
|
|
241
241
|
// summary. So the lines that name an identifier the criteria name are kept too, in run order. The
|
|
242
242
|
// cap keeps a broad identifier that matches every line from storing the whole run.
|
|
243
|
+
// A run of several suites prints one summary per suite, and only the last one sits in the tail:
|
|
244
|
+
// cargo's "test result: ok. 614 passed" for the cli binary says nothing about the core binary. A
|
|
245
|
+
// criterion settled by the totals (a test count delta) needs every summary, so they are kept too.
|
|
246
|
+
const summaries = middle.filter((line) => SUITE_SUMMARY.some((form) => form.test(line))).slice(0, NAMED_DETAIL_LINES_MAX);
|
|
243
247
|
const named = identifiers.length === 0
|
|
244
248
|
? []
|
|
245
|
-
: [...new Set(middle.filter((line) => identifiers.some((id) => line.includes(id))))]
|
|
249
|
+
: [...new Set(middle.filter((line) => !summaries.includes(line) && identifiers.some((id) => line.includes(id))))]
|
|
246
250
|
.slice(0, NAMED_DETAIL_LINES_MAX)
|
|
247
251
|
.map((line) => (line.length > 500 ? `${line.slice(0, 500)}…` : line));
|
|
248
|
-
const dropped = middle.length - named.length;
|
|
252
|
+
const dropped = middle.length - summaries.length - named.length;
|
|
249
253
|
return [
|
|
250
254
|
...lines.slice(0, head),
|
|
251
255
|
`… ${dropped} line${dropped === 1 ? "" : "s"} omitted …`,
|
|
256
|
+
...summaries,
|
|
252
257
|
...named,
|
|
253
258
|
...lines.slice(lines.length - tail),
|
|
254
259
|
];
|
|
255
260
|
}
|
|
256
261
|
const NAMED_DETAIL_LINES_MAX = 40;
|
|
262
|
+
/** One suite's totals line: cargo, vitest, unittest, pytest, go test. */
|
|
263
|
+
const SUITE_SUMMARY = [
|
|
264
|
+
/^test result: /,
|
|
265
|
+
/^\s*(Test Files|Tests)\s+\d/,
|
|
266
|
+
/^Ran \d+ tests?\b/,
|
|
267
|
+
/^=+ .*\b(passed|failed)\b.* in [\d.]+s =+$/,
|
|
268
|
+
/^(ok|FAIL)\s+\S+\s+[\d.]+s$/,
|
|
269
|
+
];
|
|
257
270
|
/**
|
|
258
271
|
* The test and symbol names the acceptance criteria name: every backticked string, and every
|
|
259
272
|
* snake_case, camelCase, dotted or `::` token of at least 8 characters. An ordinary English word has
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miraland-labs/conduit-bridge",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.162",
|
|
4
4
|
"description": "Conduit Bridge CLI \u2014 join, connect, disconnect, multi-driver lanes, and run Claude Code / Codex / Cursor / OpenCode / Pi / Kiro / Antigravity / Grok Build agents for a Conduit organization",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|