@runa-ai/runa-cli 0.5.27 → 0.5.28

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.
@@ -226,6 +226,8 @@ export declare const LayerResultSchema: z.ZodObject<{
226
226
  exitCode: z.ZodNumber;
227
227
  passed: z.ZodOptional<z.ZodNumber>;
228
228
  total: z.ZodOptional<z.ZodNumber>;
229
+ failed: z.ZodOptional<z.ZodNumber>;
230
+ flaky: z.ZodOptional<z.ZodNumber>;
229
231
  logPath: z.ZodOptional<z.ZodString>;
230
232
  error: z.ZodOptional<z.ZodString>;
231
233
  }, z.core.$strip>;
@@ -283,6 +285,8 @@ export declare const LayerSummarySchema: z.ZodObject<{
283
285
  exitCode: z.ZodNumber;
284
286
  passed: z.ZodOptional<z.ZodNumber>;
285
287
  total: z.ZodOptional<z.ZodNumber>;
288
+ failed: z.ZodOptional<z.ZodNumber>;
289
+ flaky: z.ZodOptional<z.ZodNumber>;
286
290
  logPath: z.ZodOptional<z.ZodString>;
287
291
  description: z.ZodOptional<z.ZodString>;
288
292
  level: z.ZodOptional<z.ZodEnum<{
@@ -332,6 +336,8 @@ export declare const CiOutputSchema: z.ZodObject<{
332
336
  exitCode: z.ZodNumber;
333
337
  passed: z.ZodOptional<z.ZodNumber>;
334
338
  total: z.ZodOptional<z.ZodNumber>;
339
+ failed: z.ZodOptional<z.ZodNumber>;
340
+ flaky: z.ZodOptional<z.ZodNumber>;
335
341
  logPath: z.ZodOptional<z.ZodString>;
336
342
  description: z.ZodOptional<z.ZodString>;
337
343
  level: z.ZodOptional<z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/machine/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/machine/contract.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare function getStatusIcon(status: string | undefined): string;
25
25
  export declare const LAYER_NAMES: Record<number, string>;
26
26
  /**
27
27
  * Format a single layer result line.
28
+ * Shows breakdown: passed, flaky, failed when available.
28
29
  */
29
30
  export declare function formatSingleLayer(layer: number, result: LayerResult | undefined): string;
30
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"format-helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/ci/machine/formatters/sections/format-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAOjD;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAWhE;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAQxF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,EAAE,CA8BtF;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,EAAE,CAkCX;AAOD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,OAAO,CAS5F;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,sBAAsB,EAAE,MAAM,EAAE,GAC/B,MAAM,EAAE,CA6BV"}
1
+ {"version":3,"file":"format-helpers.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/ci/machine/formatters/sections/format-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAOjD;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAWhE;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CA0BxF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,EAAE,CA8BtF;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBrE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,EAAE,CAkCX;AAOD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,OAAO,CAS5F;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACxC,sBAAsB,EAAE,MAAM,EAAE,GAC/B,MAAM,EAAE,CA6BV"}
@@ -31,10 +31,21 @@ export declare function getLayersForCorePhase(selectedLayers: number[], mode: st
31
31
  export declare function hasE2ELayer(selectedLayers: number[]): boolean;
32
32
  /** Layer result status type */
33
33
  export type LayerStatus = 'passed' | 'failed' | 'skipped' | 'timeout';
34
- /** Layer result record type */
34
+ /**
35
+ * Layer result record type.
36
+ * Includes test count fields for accurate reporting in GitHub comments.
37
+ */
35
38
  export type LayerResults = Record<number, {
36
39
  status: LayerStatus;
37
40
  exitCode: number;
41
+ /** Number of passed tests */
42
+ passed?: number;
43
+ /** Total number of tests */
44
+ total?: number;
45
+ /** Number of tests that failed all attempts */
46
+ failed?: number;
47
+ /** Number of flaky tests (failed initially but passed on retry) */
48
+ flaky?: number;
38
49
  }>;
39
50
  /**
40
51
  * Merge E2E layer results into existing core layer results.
@@ -43,12 +54,17 @@ export declare function mergeLayerResults(coreResults: LayerResults, e2eResults:
43
54
  /**
44
55
  * Convert layer results from actor output to context format.
45
56
  * Extracts the common logic used in multiple places.
57
+ * Preserves test count information for accurate reporting.
46
58
  */
47
59
  export declare function convertLayerResults(results: Array<{
48
60
  layer: number;
49
61
  success: boolean;
50
62
  exitCode: number;
51
63
  skipped?: boolean;
64
+ totalTests?: number;
65
+ passedTests?: number;
66
+ failedTests?: number;
67
+ flakyTests?: number;
52
68
  }>): LayerResults;
53
69
  /**
54
70
  * Get database URL for runtime operations.
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/machine/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,sCAAsC;AACtC,eAAO,MAAM,WAAW,oBAAqB,CAAC;AAE9C,6BAA6B;AAC7B,eAAO,MAAM,SAAS,IAAI,CAAC;AAM3B;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAOtF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAE7D;AAMD,+BAA+B;AAC/B,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtE,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAErF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,YAAY,GACvB,YAAY,CAEd;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACvF,YAAY,CAgBd;AAMD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAGnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAEzE;AAMD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GACjE,CAAC,GAAG,CAAC,GAAG,CAAC,CAyBX"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/machine/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,sCAAsC;AACtC,eAAO,MAAM,WAAW,oBAAqB,CAAC;AAE9C,6BAA6B;AAC7B,eAAO,MAAM,SAAS,IAAI,CAAC;AAM3B;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAOtF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAE7D;AAMD,+BAA+B;AAC/B,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,MAAM,EACN;IACE,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CACF,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,YAAY,GACvB,YAAY,CAEd;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,GACD,YAAY,CAqBd;AAMD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAGnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAEzE;AAMD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GACjE,CAAC,GAAG,CAAC,GAAG,CAAC,CAyBX"}
@@ -229,6 +229,8 @@ export declare const ciMachine: import("xstate").StateMachine<CiContext, CiEvent
229
229
  exitCode: number;
230
230
  passed?: number | undefined;
231
231
  total?: number | undefined;
232
+ failed?: number | undefined;
233
+ flaky?: number | undefined;
232
234
  logPath?: string | undefined;
233
235
  description?: string | undefined;
234
236
  level?: "blocking" | "warning" | "reportOnly" | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/machine/machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EAAU,KAAK,YAAY,EAAS,MAAM,QAAQ,CAAC;AA8C1D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAqB,MAAM,YAAY,CAAC;AAgBxE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwsCpB,CAAC;AAMH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AACzC,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;AAMxD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAYzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAE3D"}
1
+ {"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/machine/machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EAAU,KAAK,YAAY,EAAS,MAAM,QAAQ,CAAC;AA8C1D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAqB,MAAM,YAAY,CAAC;AAgBxE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwsCpB,CAAC;AAMH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AACzC,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;AAMxD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAYzD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAE3D"}
@@ -30,6 +30,14 @@ export type LayerRunResult = {
30
30
  logPath: string;
31
31
  exitPath: string;
32
32
  resultPath: string;
33
+ /** Total number of tests */
34
+ totalTests?: number;
35
+ /** Number of passed tests */
36
+ passedTests?: number;
37
+ /** Number of failed tests */
38
+ failedTests?: number;
39
+ /** Number of flaky tests (passed on retry) */
40
+ flakyTests?: number;
33
41
  };
34
42
  export declare function runLayersInParallel(params: {
35
43
  repoRoot: string;
@@ -1 +1 @@
1
- {"version":3,"file":"test-parallel.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/utils/test-parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqCH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAmLF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;CACjC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAkF5B"}
1
+ {"version":3,"file":"test-parallel.d.ts","sourceRoot":"","sources":["../../../../src/commands/ci/utils/test-parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqCH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AA8LF,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,EAAE,MAAM,CAAC;CACjC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAuF5B"}
package/dist/index.js CHANGED
@@ -899,7 +899,7 @@ var CLI_VERSION, HAS_ADMIN_COMMAND;
899
899
  var init_version = __esm({
900
900
  "src/version.ts"() {
901
901
  init_esm_shims();
902
- CLI_VERSION = "0.5.27";
902
+ CLI_VERSION = "0.5.28";
903
903
  HAS_ADMIN_COMMAND = false;
904
904
  }
905
905
  });
@@ -12648,7 +12648,12 @@ async function determineActualSuccess(tmpDir, layer, exitCode) {
12648
12648
  success: result.success,
12649
12649
  exitCodeMismatch: result.exitCodeMismatch,
12650
12650
  skipped: result.skipped,
12651
- skippedReason: result.skippedReason
12651
+ skippedReason: result.skippedReason,
12652
+ // Test count information
12653
+ totalTests: result.totalTests,
12654
+ passedTests: result.passedTests,
12655
+ failedTests: result.failedTests,
12656
+ flakyTests: result.flakyTests
12652
12657
  };
12653
12658
  }
12654
12659
  return {
@@ -12765,7 +12770,12 @@ async function runLayersInParallel(params) {
12765
12770
  skippedReason: actualResult.skippedReason,
12766
12771
  logPath: path10__default.relative(params.repoRoot, p.logFile),
12767
12772
  exitPath: path10__default.relative(params.repoRoot, p.exitFile),
12768
- resultPath: path10__default.relative(params.repoRoot, resultFile)
12773
+ resultPath: path10__default.relative(params.repoRoot, resultFile),
12774
+ // Test count information
12775
+ totalTests: actualResult.totalTests,
12776
+ passedTests: actualResult.passedTests,
12777
+ failedTests: actualResult.failedTests,
12778
+ flakyTests: actualResult.flakyTests
12769
12779
  });
12770
12780
  }
12771
12781
  return results;
@@ -12877,7 +12887,24 @@ var LAYER_NAMES = {
12877
12887
  function formatSingleLayer(layer, result) {
12878
12888
  const icon = getStatusIcon3(result?.status);
12879
12889
  const name = LAYER_NAMES[layer] ?? "";
12880
- const counts = typeof result?.passed === "number" && typeof result?.total === "number" ? ` (${result.passed}/${result.total})` : "";
12890
+ let counts = "";
12891
+ if (typeof result?.total === "number") {
12892
+ const parts = [];
12893
+ if (typeof result.passed === "number") {
12894
+ parts.push(`passed: ${result.passed}`);
12895
+ }
12896
+ if (typeof result.flaky === "number" && result.flaky > 0) {
12897
+ parts.push(`flaky: ${result.flaky}`);
12898
+ }
12899
+ if (typeof result.failed === "number" && result.failed > 0) {
12900
+ parts.push(`failed: ${result.failed}`);
12901
+ }
12902
+ if (parts.length > 0) {
12903
+ counts = ` (${parts.join(", ")})`;
12904
+ } else {
12905
+ counts = ` (${result.total} tests)`;
12906
+ }
12907
+ }
12881
12908
  return `- **L${layer}** ${name}: ${icon} ${result?.status ?? "unknown"}${counts}`;
12882
12909
  }
12883
12910
  function formatLayerResults(layerResults) {
@@ -13785,7 +13812,12 @@ function convertLayerResults(results) {
13785
13812
  }
13786
13813
  layerResults[r.layer] = {
13787
13814
  status,
13788
- exitCode: r.exitCode
13815
+ exitCode: r.exitCode,
13816
+ // Preserve test count information
13817
+ passed: r.passedTests,
13818
+ total: r.totalTests,
13819
+ failed: r.failedTests,
13820
+ flaky: r.flakyTests
13789
13821
  };
13790
13822
  }
13791
13823
  return layerResults;
@@ -15647,6 +15679,10 @@ z.object({
15647
15679
  exitCode: z.number().int(),
15648
15680
  passed: z.number().int().optional(),
15649
15681
  total: z.number().int().optional(),
15682
+ /** Number of tests that failed all attempts */
15683
+ failed: z.number().int().optional(),
15684
+ /** Number of flaky tests (failed initially but passed on retry) */
15685
+ flaky: z.number().int().optional(),
15650
15686
  logPath: z.string().optional(),
15651
15687
  error: z.string().optional()
15652
15688
  });
@@ -15673,6 +15709,10 @@ var LayerSummarySchema = z.object({
15673
15709
  exitCode: z.number().int(),
15674
15710
  passed: z.number().int().optional(),
15675
15711
  total: z.number().int().optional(),
15712
+ /** Number of tests that failed all attempts */
15713
+ failed: z.number().int().optional(),
15714
+ /** Number of flaky tests (failed initially but passed on retry) */
15715
+ flaky: z.number().int().optional(),
15676
15716
  logPath: z.string().optional(),
15677
15717
  description: z.string().optional(),
15678
15718
  level: z.enum(["blocking", "warning", "reportOnly"]).optional()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runa-ai/runa-cli",
3
- "version": "0.5.27",
3
+ "version": "0.5.28",
4
4
  "private": false,
5
5
  "description": "AI-powered DevOps CLI",
6
6
  "type": "module",
@@ -27,7 +27,7 @@
27
27
  "dependencies": {
28
28
  "@dotenvx/dotenvx": "1.51.4",
29
29
  "@runa-ai/runa": "^0.5.27",
30
- "@runa-ai/runa-xstate-test-plugin": "^0.5.22",
30
+ "@runa-ai/runa-xstate-test-plugin": "^0.5.28",
31
31
  "@types/node": "22.19.3",
32
32
  "boxen": "7.1.1",
33
33
  "chalk": "5.6.2",