modality-ts 0.0.14 → 0.0.16

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 (164) hide show
  1. package/dist/check/properties/observe.d.ts.map +1 -1
  2. package/dist/check/properties/observe.js +57 -2
  3. package/dist/check/properties/observe.js.map +1 -1
  4. package/dist/cli/cli.js +108 -35
  5. package/dist/cli/cli.js.map +1 -1
  6. package/dist/cli/features/check/command.d.ts +2 -0
  7. package/dist/cli/features/check/command.d.ts.map +1 -1
  8. package/dist/cli/features/check/command.js +11 -3
  9. package/dist/cli/features/check/command.js.map +1 -1
  10. package/dist/cli/features/check/index.d.ts +2 -2
  11. package/dist/cli/features/check/index.d.ts.map +1 -1
  12. package/dist/cli/features/check/index.js +1 -1
  13. package/dist/cli/features/check/index.js.map +1 -1
  14. package/dist/cli/features/check/output.d.ts +22 -7
  15. package/dist/cli/features/check/output.d.ts.map +1 -1
  16. package/dist/cli/features/check/output.js +132 -76
  17. package/dist/cli/features/check/output.js.map +1 -1
  18. package/dist/cli/features/ci/command.d.ts +2 -0
  19. package/dist/cli/features/ci/command.d.ts.map +1 -1
  20. package/dist/cli/features/ci/command.js +21 -0
  21. package/dist/cli/features/ci/command.js.map +1 -1
  22. package/dist/cli/features/ci/index.d.ts +2 -0
  23. package/dist/cli/features/ci/index.d.ts.map +1 -1
  24. package/dist/cli/features/ci/index.js +1 -0
  25. package/dist/cli/features/ci/index.js.map +1 -1
  26. package/dist/cli/features/ci/output.d.ts +19 -0
  27. package/dist/cli/features/ci/output.d.ts.map +1 -0
  28. package/dist/cli/features/ci/output.js +40 -0
  29. package/dist/cli/features/ci/output.js.map +1 -0
  30. package/dist/cli/features/conform/index.d.ts +1 -0
  31. package/dist/cli/features/conform/index.d.ts.map +1 -1
  32. package/dist/cli/features/conform/index.js +1 -0
  33. package/dist/cli/features/conform/index.js.map +1 -1
  34. package/dist/cli/features/conform/output.d.ts +9 -0
  35. package/dist/cli/features/conform/output.d.ts.map +1 -0
  36. package/dist/cli/features/conform/output.js +28 -0
  37. package/dist/cli/features/conform/output.js.map +1 -0
  38. package/dist/cli/features/export/command.d.ts +2 -0
  39. package/dist/cli/features/export/command.d.ts.map +1 -1
  40. package/dist/cli/features/export/command.js +8 -2
  41. package/dist/cli/features/export/command.js.map +1 -1
  42. package/dist/cli/features/export/index.d.ts +1 -0
  43. package/dist/cli/features/export/index.d.ts.map +1 -1
  44. package/dist/cli/features/export/index.js +1 -0
  45. package/dist/cli/features/export/index.js.map +1 -1
  46. package/dist/cli/features/export/output.d.ts +8 -0
  47. package/dist/cli/features/export/output.d.ts.map +1 -0
  48. package/dist/cli/features/export/output.js +14 -0
  49. package/dist/cli/features/export/output.js.map +1 -0
  50. package/dist/cli/features/extract/command.d.ts +13 -1
  51. package/dist/cli/features/extract/command.d.ts.map +1 -1
  52. package/dist/cli/features/extract/command.js +105 -4
  53. package/dist/cli/features/extract/command.js.map +1 -1
  54. package/dist/cli/features/extract/index.d.ts +2 -0
  55. package/dist/cli/features/extract/index.d.ts.map +1 -1
  56. package/dist/cli/features/extract/index.js +1 -0
  57. package/dist/cli/features/extract/index.js.map +1 -1
  58. package/dist/cli/features/extract/output.d.ts +22 -0
  59. package/dist/cli/features/extract/output.d.ts.map +1 -0
  60. package/dist/cli/features/extract/output.js +48 -0
  61. package/dist/cli/features/extract/output.js.map +1 -0
  62. package/dist/cli/features/init/command.d.ts.map +1 -1
  63. package/dist/cli/features/init/command.js +0 -1
  64. package/dist/cli/features/init/command.js.map +1 -1
  65. package/dist/cli/features/init/index.d.ts +1 -0
  66. package/dist/cli/features/init/index.d.ts.map +1 -1
  67. package/dist/cli/features/init/index.js +1 -0
  68. package/dist/cli/features/init/index.js.map +1 -1
  69. package/dist/cli/features/init/output.d.ts +4 -0
  70. package/dist/cli/features/init/output.d.ts.map +1 -0
  71. package/dist/cli/features/init/output.js +9 -0
  72. package/dist/cli/features/init/output.js.map +1 -0
  73. package/dist/cli/features/replay/index.d.ts +1 -0
  74. package/dist/cli/features/replay/index.d.ts.map +1 -1
  75. package/dist/cli/features/replay/index.js +1 -0
  76. package/dist/cli/features/replay/index.js.map +1 -1
  77. package/dist/cli/features/replay/output.d.ts +10 -0
  78. package/dist/cli/features/replay/output.d.ts.map +1 -0
  79. package/dist/cli/features/replay/output.js +37 -0
  80. package/dist/cli/features/replay/output.js.map +1 -0
  81. package/dist/cli/output.d.ts +28 -0
  82. package/dist/cli/output.d.ts.map +1 -0
  83. package/dist/cli/output.js +64 -0
  84. package/dist/cli/output.js.map +1 -0
  85. package/dist/core/props/index.d.ts +6 -0
  86. package/dist/core/props/index.d.ts.map +1 -1
  87. package/dist/core/props/index.js +5 -0
  88. package/dist/core/props/index.js.map +1 -1
  89. package/dist/extract/engine/ts/context.d.ts.map +1 -1
  90. package/dist/extract/engine/ts/context.js +7 -1
  91. package/dist/extract/engine/ts/context.js.map +1 -1
  92. package/dist/extract/engine/ts/react-source-transitions.d.ts +4 -1
  93. package/dist/extract/engine/ts/react-source-transitions.d.ts.map +1 -1
  94. package/dist/extract/engine/ts/react-source-transitions.js +11 -2
  95. package/dist/extract/engine/ts/react-source-transitions.js.map +1 -1
  96. package/dist/extract/engine/ts/transition/expressions.d.ts +1 -1
  97. package/dist/extract/engine/ts/transition/expressions.d.ts.map +1 -1
  98. package/dist/extract/engine/ts/transition/expressions.js +12 -1
  99. package/dist/extract/engine/ts/transition/expressions.js.map +1 -1
  100. package/dist/extract/engine/ts/transition/handlers.d.ts +4 -4
  101. package/dist/extract/engine/ts/transition/handlers.d.ts.map +1 -1
  102. package/dist/extract/engine/ts/transition/handlers.js +121 -16
  103. package/dist/extract/engine/ts/transition/handlers.js.map +1 -1
  104. package/dist/extract/engine/ts/transition/statement-summary.d.ts +6 -2
  105. package/dist/extract/engine/ts/transition/statement-summary.d.ts.map +1 -1
  106. package/dist/extract/engine/ts/transition/statement-summary.js +40 -6
  107. package/dist/extract/engine/ts/transition/statement-summary.js.map +1 -1
  108. package/dist/extract/engine/ts/types.d.ts +3 -0
  109. package/dist/extract/engine/ts/types.d.ts.map +1 -1
  110. package/dist/extract/sources/jotai/derived-writes.d.ts +11 -0
  111. package/dist/extract/sources/jotai/derived-writes.d.ts.map +1 -0
  112. package/dist/extract/sources/jotai/derived-writes.js +141 -0
  113. package/dist/extract/sources/jotai/derived-writes.js.map +1 -0
  114. package/dist/extract/sources/jotai/discover.d.ts +16 -0
  115. package/dist/extract/sources/jotai/discover.d.ts.map +1 -1
  116. package/dist/extract/sources/jotai/discover.js +163 -46
  117. package/dist/extract/sources/jotai/discover.js.map +1 -1
  118. package/dist/extract/sources/jotai/domains.d.ts +14 -1
  119. package/dist/extract/sources/jotai/domains.d.ts.map +1 -1
  120. package/dist/extract/sources/jotai/domains.js +481 -70
  121. package/dist/extract/sources/jotai/domains.js.map +1 -1
  122. package/dist/extract/sources/jotai/harness.d.ts +4 -1
  123. package/dist/extract/sources/jotai/harness.d.ts.map +1 -1
  124. package/dist/extract/sources/jotai/harness.js +10 -3
  125. package/dist/extract/sources/jotai/harness.js.map +1 -1
  126. package/dist/extract/sources/jotai/hydration.d.ts +16 -0
  127. package/dist/extract/sources/jotai/hydration.d.ts.map +1 -0
  128. package/dist/extract/sources/jotai/hydration.js +116 -0
  129. package/dist/extract/sources/jotai/hydration.js.map +1 -0
  130. package/dist/extract/sources/jotai/ids.d.ts +7 -0
  131. package/dist/extract/sources/jotai/ids.d.ts.map +1 -0
  132. package/dist/extract/sources/jotai/ids.js +23 -0
  133. package/dist/extract/sources/jotai/ids.js.map +1 -0
  134. package/dist/extract/sources/jotai/imports.d.ts +23 -0
  135. package/dist/extract/sources/jotai/imports.d.ts.map +1 -0
  136. package/dist/extract/sources/jotai/imports.js +111 -0
  137. package/dist/extract/sources/jotai/imports.js.map +1 -0
  138. package/dist/extract/sources/jotai/jsx.d.ts +4 -0
  139. package/dist/extract/sources/jotai/jsx.d.ts.map +1 -0
  140. package/dist/extract/sources/jotai/jsx.js +52 -0
  141. package/dist/extract/sources/jotai/jsx.js.map +1 -0
  142. package/dist/extract/sources/jotai/plugin.d.ts.map +1 -1
  143. package/dist/extract/sources/jotai/plugin.js +9 -2
  144. package/dist/extract/sources/jotai/plugin.js.map +1 -1
  145. package/dist/extract/sources/jotai/stores.d.ts +3 -0
  146. package/dist/extract/sources/jotai/stores.d.ts.map +1 -0
  147. package/dist/extract/sources/jotai/stores.js +40 -0
  148. package/dist/extract/sources/jotai/stores.js.map +1 -0
  149. package/dist/extract/sources/jotai/transitions.d.ts.map +1 -1
  150. package/dist/extract/sources/jotai/transitions.js +16 -5
  151. package/dist/extract/sources/jotai/transitions.js.map +1 -1
  152. package/dist/extract/sources/jotai/types.d.ts +22 -0
  153. package/dist/extract/sources/jotai/types.d.ts.map +1 -0
  154. package/dist/extract/sources/jotai/types.js +86 -0
  155. package/dist/extract/sources/jotai/types.js.map +1 -0
  156. package/dist/extract/sources/jotai/writes.d.ts +23 -1
  157. package/dist/extract/sources/jotai/writes.d.ts.map +1 -1
  158. package/dist/extract/sources/jotai/writes.js +330 -89
  159. package/dist/extract/sources/jotai/writes.js.map +1 -1
  160. package/dist/extract/sources/shared/react-transition-extract.d.ts +3 -0
  161. package/dist/extract/sources/shared/react-transition-extract.d.ts.map +1 -1
  162. package/dist/extract/sources/shared/react-transition-extract.js +5 -0
  163. package/dist/extract/sources/shared/react-transition-extract.js.map +1 -1
  164. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/features/check/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/features/check/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,eAAe,GAChB,MAAM,aAAa,CAAC"}
@@ -1,14 +1,29 @@
1
1
  import type { CheckResult, PropertyVerdict } from "modality-ts/check";
2
- export type CheckOutputMode = "plain" | "color";
3
- export interface CheckOutputOptions {
4
- color?: boolean;
5
- }
6
- export declare function symbolForStatus(status: PropertyVerdict["status"]): string;
7
- export declare function renderHumanCheckResult(check: CheckResult, options?: CheckOutputOptions): string[];
2
+ import { type OutputOptions } from "../../output.js";
3
+ export type CheckOutputOptions = OutputOptions;
8
4
  export interface ArtifactPathEntry {
9
- kind: "trace" | "replayTest" | "actionReplayTest";
5
+ kind: "report" | "trace" | "replayTest" | "actionReplayTest";
10
6
  path: string;
11
7
  }
8
+ export interface HumanCheckTargetResult {
9
+ modelPath: string;
10
+ propsPath: string;
11
+ check: CheckResult;
12
+ reportPath?: string;
13
+ artifacts: readonly ArtifactPathEntry[];
14
+ durationMs?: number;
15
+ }
16
+ export interface HumanCheckRenderOptions extends OutputOptions {
17
+ startedAt: Date;
18
+ totalDurationMs: number;
19
+ }
20
+ export declare function symbolForStatus(status: PropertyVerdict["status"]): string;
21
+ export declare function renderHumanCheckTargets(results: readonly HumanCheckTargetResult[], options: HumanCheckRenderOptions): string[];
22
+ /** @deprecated Use renderHumanCheckTargets for CLI output */
23
+ export declare function renderHumanCheckResult(check: CheckResult, options?: CheckOutputOptions): string[];
24
+ /** @deprecated Use renderHumanCheckTargets artifact block */
12
25
  export declare function renderHumanCheckArtifacts(paths: readonly ArtifactPathEntry[], options?: CheckOutputOptions): string[];
26
+ /** @deprecated No longer used in CLI output */
13
27
  export declare function renderHumanCheckTargetHeader(modelPath: string, propsPath: string, options?: CheckOutputOptions): string[];
28
+ export type CheckOutputMode = "plain" | "color";
14
29
  //# sourceMappingURL=output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/check/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAyBD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,MAAM,CAazE;AAoCD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,EAAE,CAqEV;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,GAAG,YAAY,GAAG,kBAAkB,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,OAAO,GAAE,kBAAuB,GAC/B,MAAM,EAAE,CAQV;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,EAAE,CAGV"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/check/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAQL,KAAK,aAAa,EAGnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,kBAAkB,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC5D,SAAS,EAAE,IAAI,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,MAAM,CAWzE;AAqHD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,sBAAsB,EAAE,EAC1C,OAAO,EAAE,uBAAuB,GAC/B,MAAM,EAAE,CAsEV;AAED,6DAA6D;AAC7D,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,EAAE,CAgBV;AAED,6DAA6D;AAC7D,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,OAAO,GAAE,kBAAuB,GAC/B,MAAM,EAAE,CAMV;AAED,+CAA+C;AAC/C,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,EAAE,CAGV;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC"}
@@ -1,50 +1,71 @@
1
- const ANSI = {
2
- reset: "\u001b[0m",
3
- bold: "\u001b[1m",
4
- green: "\u001b[32m",
5
- red: "\u001b[31m",
6
- yellow: "\u001b[33m",
7
- cyan: "\u001b[36m",
8
- dim: "\u001b[2m",
9
- };
10
- function useColor(options) {
11
- return options.color === true;
12
- }
13
- function colorize(text, color, options) {
14
- if (!useColor(options))
15
- return text;
16
- return `${color}${text}${ANSI.reset}`;
17
- }
1
+ import { colorize, formatArtifactLine, formatDuration, formatMs, formatStatusSymbol, formatSummaryLabel, formatTime, statusSymbol, ANSI, } from "../../output.js";
18
2
  export function symbolForStatus(status) {
19
3
  switch (status) {
20
4
  case "verified-within-bounds":
21
- return "✓";
22
5
  case "reachable":
23
- return "";
6
+ return statusSymbol("pass");
24
7
  case "violated":
25
- return "×";
26
8
  case "error":
27
- return "×";
9
+ return statusSymbol("fail");
28
10
  case "vacuous-warning":
29
- return "";
11
+ return statusSymbol("warn");
30
12
  }
31
13
  }
32
- function symbolColor(status) {
33
- switch (status) {
34
- case "verified-within-bounds":
35
- return ANSI.green;
36
- case "reachable":
37
- return ANSI.cyan;
38
- case "violated":
39
- case "error":
40
- return ANSI.red;
41
- case "vacuous-warning":
42
- return ANSI.yellow;
14
+ function targetStatusKind(check) {
15
+ if (check.verdicts.some((verdict) => verdict.status === "violated" || verdict.status === "error")) {
16
+ return "fail";
43
17
  }
18
+ if (check.verdicts.some((verdict) => verdict.status === "vacuous-warning")) {
19
+ return "warn";
20
+ }
21
+ return "pass";
44
22
  }
45
- function formatSymbol(status, options) {
46
- const symbol = symbolForStatus(status);
47
- return colorize(symbol, symbolColor(status), options);
23
+ function verdictCounts(check) {
24
+ const tests = check.verdicts.length;
25
+ const passed = check.verdicts.filter((verdict) => verdict.status === "verified-within-bounds" ||
26
+ verdict.status === "reachable").length;
27
+ const failed = check.verdicts.filter((verdict) => verdict.status === "violated").length;
28
+ const errors = check.verdicts.filter((verdict) => verdict.status === "error").length;
29
+ const warnings = check.verdicts.filter((verdict) => verdict.status === "vacuous-warning").length;
30
+ return { tests, passed, failed, errors, warnings };
31
+ }
32
+ function slicingStats(check) {
33
+ const slicing = check.diagnostics?.slicing;
34
+ if (slicing?.enabled) {
35
+ const totalVars = slicing.sliceSummaries?.reduce((sum, summary) => sum + summary.vars, 0) ??
36
+ 0;
37
+ const totalTransitions = slicing.sliceSummaries?.reduce((sum, summary) => sum + summary.transitions, 0) ?? 0;
38
+ return {
39
+ slices: slicing.slices ?? 0,
40
+ vars: totalVars,
41
+ transitions: totalTransitions,
42
+ skipped: 0,
43
+ };
44
+ }
45
+ if (slicing?.skipped) {
46
+ return { slices: 0, vars: 0, transitions: 0, skipped: 1 };
47
+ }
48
+ return { slices: 1, vars: 0, transitions: 0, skipped: 0 };
49
+ }
50
+ function formatTargetStats(check) {
51
+ const { tests, passed, failed, errors, warnings } = verdictCounts(check);
52
+ const { slices, vars, transitions, skipped } = slicingStats(check);
53
+ const parts = [
54
+ `${tests} tests`,
55
+ `${passed} passed`,
56
+ `${failed} failed`,
57
+ `${errors} errors`,
58
+ `states ${check.stats.states}`,
59
+ `edges ${check.stats.edges}`,
60
+ `depth ${check.stats.depth}`,
61
+ `slices ${slices}`,
62
+ `vars ${vars}`,
63
+ `transitions ${transitions}`,
64
+ `skipped ${skipped}`,
65
+ ];
66
+ if (warnings > 0)
67
+ parts.push(`warnings ${warnings}`);
68
+ return `(${parts.join(", ")})`;
48
69
  }
49
70
  function traceSteps(verdict) {
50
71
  if (verdict.status !== "violated" && verdict.status !== "reachable") {
@@ -53,13 +74,15 @@ function traceSteps(verdict) {
53
74
  return (verdict.trace.steps.map((step) => step.transitionId).join(" -> ") ||
54
75
  "(initial)");
55
76
  }
56
- export function renderHumanCheckResult(check, options = {}) {
77
+ function renderTargetRows(target, options) {
57
78
  const lines = [];
58
- const section = (title) => colorize(title, `${ANSI.bold}`, options);
59
- lines.push(section("Properties"));
60
- for (const verdict of check.verdicts) {
61
- const symbol = formatSymbol(verdict.status, options);
62
- lines.push(` ${symbol} ${verdict.property} ${verdict.status}`);
79
+ const kind = targetStatusKind(target.check);
80
+ const symbol = formatStatusSymbol(kind, options);
81
+ const duration = target.durationMs !== undefined ? ` ${formatMs(target.durationMs)}` : "";
82
+ lines.push(` ${symbol} ${target.propsPath}${duration}`);
83
+ lines.push(` ${formatTargetStats(target.check)}`);
84
+ for (const verdict of target.check.verdicts) {
85
+ lines.push(` - ${verdict.property} ${verdict.status}`);
63
86
  if (verdict.status === "violated" || verdict.status === "reachable") {
64
87
  lines.push(` trace: ${traceSteps(verdict)}`);
65
88
  }
@@ -67,50 +90,83 @@ export function renderHumanCheckResult(check, options = {}) {
67
90
  lines.push(` ${verdict.message}`);
68
91
  }
69
92
  }
70
- lines.push("");
71
- lines.push(section("Stats"));
72
- lines.push(` states=${check.stats.states} edges=${check.stats.edges} depth=${check.stats.depth}`);
73
- const slicing = check.diagnostics?.slicing;
74
- if (slicing?.enabled) {
75
- const totalVars = slicing.sliceSummaries?.reduce((sum, summary) => sum + summary.vars, 0) ??
76
- 0;
77
- const totalTransitions = slicing.sliceSummaries?.reduce((sum, summary) => sum + summary.transitions, 0) ?? 0;
78
- lines.push(` slicing slices=${slicing.slices ?? 0} vars=${totalVars} transitions=${totalTransitions} skipped=0`);
79
- }
80
- else if (slicing?.skipped) {
81
- lines.push(` slicing skipped reason=${slicing.skipReason ?? "unknown"}`);
93
+ return lines;
94
+ }
95
+ export function renderHumanCheckTargets(results, options) {
96
+ const lines = [];
97
+ for (const target of results) {
98
+ lines.push(...renderTargetRows(target, options));
82
99
  }
83
- const limits = check.diagnostics?.limits;
84
- if (limits) {
85
- const limitKind = limits.maxStates !== undefined
86
- ? "maxStates"
87
- : limits.maxFrontier !== undefined
88
- ? "maxFrontier"
89
- : limits.maxEdges !== undefined
90
- ? "maxEdges"
91
- : "memoryGuard";
92
- lines.push(` search-limit=${limitKind} states=${check.stats.states} frontier=${check.diagnostics?.search?.finalFrontier ?? 0} depth=${check.stats.depth}`);
100
+ lines.push("");
101
+ const totalTargets = results.length;
102
+ const passedTargets = results.filter((target) => targetStatusKind(target.check) === "pass").length;
103
+ const failedTargets = totalTargets - passedTargets;
104
+ const testFilesValue = failedTargets > 0
105
+ ? `${failedTargets} failed | ${passedTargets} passed (${totalTargets})`
106
+ : `${passedTargets} passed (${totalTargets})`;
107
+ lines.push(formatSummaryLabel("Test Files", testFilesValue));
108
+ const totalTests = results.reduce((sum, target) => sum + target.check.verdicts.length, 0);
109
+ const passedTests = results.reduce((sum, target) => sum + verdictCounts(target.check).passed, 0);
110
+ const failedTests = results.reduce((sum, target) => sum + verdictCounts(target.check).failed, 0);
111
+ const errorTests = results.reduce((sum, target) => sum + verdictCounts(target.check).errors, 0);
112
+ const warningTests = results.reduce((sum, target) => sum + verdictCounts(target.check).warnings, 0);
113
+ let testsValue = `${passedTests} passed (${totalTests})`;
114
+ if (failedTests > 0 || errorTests > 0 || warningTests > 0) {
115
+ const parts = [`${passedTests} passed`];
116
+ if (failedTests > 0)
117
+ parts.push(`${failedTests} failed`);
118
+ if (errorTests > 0)
119
+ parts.push(`${errorTests} errors`);
120
+ if (warningTests > 0)
121
+ parts.push(`${warningTests} warnings`);
122
+ parts.push(`(${totalTests})`);
123
+ testsValue = parts.join(", ");
93
124
  }
94
- const storage = check.diagnostics?.storage;
95
- if (storage) {
96
- lines.push(` storage mode=${storage.edgeRecordingMode} recordedEdges=${storage.recordedEdges} storedStates=${storage.storedStates} parentEntries=${storage.parentEntries}`);
125
+ lines.push(formatSummaryLabel("Tests", testsValue));
126
+ lines.push(formatSummaryLabel("Start at", formatTime(options.startedAt)));
127
+ lines.push(formatSummaryLabel("Duration", formatDuration(options.totalDurationMs)));
128
+ const artifacts = [];
129
+ for (const target of results) {
130
+ if (target.reportPath) {
131
+ artifacts.push({ kind: "report", path: target.reportPath });
132
+ }
133
+ for (const entry of target.artifacts) {
134
+ artifacts.push(entry);
135
+ }
97
136
  }
98
- const hotPath = check.diagnostics?.hotPath;
99
- if (hotPath) {
100
- lines.push(` hotPath canonicalCache=${hotPath.canonicalCache} transitionIndex=${hotPath.transitionIndex} internalTransitionIndex=${hotPath.internalTransitionIndex}`);
137
+ if (artifacts.length > 0) {
138
+ lines.push(formatSummaryLabel("Artifacts", ""));
139
+ for (const entry of artifacts) {
140
+ lines.push(formatArtifactLine(entry.kind, entry.path, options));
141
+ }
101
142
  }
102
143
  return lines;
103
144
  }
145
+ /** @deprecated Use renderHumanCheckTargets for CLI output */
146
+ export function renderHumanCheckResult(check, options = {}) {
147
+ return renderHumanCheckTargets([
148
+ {
149
+ modelPath: "",
150
+ propsPath: "",
151
+ check,
152
+ artifacts: [],
153
+ },
154
+ ], {
155
+ ...options,
156
+ startedAt: new Date(0),
157
+ totalDurationMs: 0,
158
+ });
159
+ }
160
+ /** @deprecated Use renderHumanCheckTargets artifact block */
104
161
  export function renderHumanCheckArtifacts(paths, options = {}) {
105
162
  if (paths.length === 0)
106
163
  return [];
107
- const lines = [];
108
- lines.push(colorize("Artifacts", `${ANSI.bold}`, options));
109
- for (const entry of paths) {
110
- lines.push(` ${entry.kind} ${entry.path}`);
111
- }
112
- return lines;
164
+ return [
165
+ colorize("Artifacts", `${ANSI.bold}`, options),
166
+ ...paths.map((entry) => ` ${entry.kind} ${entry.path}`),
167
+ ];
113
168
  }
169
+ /** @deprecated No longer used in CLI output */
114
170
  export function renderHumanCheckTargetHeader(modelPath, propsPath, options = {}) {
115
171
  const title = colorize(`Target ${modelPath}`, `${ANSI.bold}`, options);
116
172
  return [title, ` props ${propsPath}`];
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../src/cli/features/check/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../src/cli/features/check/output.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { HumanCiRenderInput } from "./output.js";
1
2
  export interface CiCommandOptions {
2
3
  modelPath: string;
3
4
  propsPath?: string;
@@ -20,6 +21,7 @@ export interface CiCommandResult {
20
21
  lines: string[];
21
22
  reportPath: string;
22
23
  tracesDir: string;
24
+ summary: Omit<HumanCiRenderInput, "durationMs">;
23
25
  }
24
26
  export declare function runCiCommand(options: CiCommandOptions): Promise<CiCommandResult>;
25
27
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/ci/command.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA+F1B"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/ci/command.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;CACjD;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAoH1B"}
@@ -51,6 +51,27 @@ export async function runCiCommand(options) {
51
51
  exitCode,
52
52
  reportPath,
53
53
  tracesDir,
54
+ summary: {
55
+ exitCode,
56
+ violationCount,
57
+ errorCount,
58
+ determinismPassed: determinism.length === 0,
59
+ determinismFailures: determinism,
60
+ trustRegressions,
61
+ sourceStaleFailures: options.sourcePath ? staleSource : [],
62
+ ...(options.sourcePath
63
+ ? { sourceFreshnessPassed: staleSource.length === 0 }
64
+ : {}),
65
+ ...(conformPassRate !== undefined
66
+ ? {
67
+ conformPassRate,
68
+ conformMinPassRate: minConformPassRate,
69
+ transitionConformFailures,
70
+ }
71
+ : { transitionConformFailures: [] }),
72
+ reportPath,
73
+ tracesDir,
74
+ },
54
75
  lines: [
55
76
  `ci: ${exitCode === 0 ? "passed" : "failed"}`,
56
77
  `violations=${violationCount} errors=${errorCount}`,
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/cli/features/ci/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/cli/features/ci/command.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  export { runCiCommand } from "./command.js";
2
+ export { renderHumanCiResult } from "./output.js";
2
3
  export type { CiCommandOptions, CiCommandResult } from "./command.js";
4
+ export type { HumanCiRenderInput } from "./output.js";
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/ci/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/ci/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { runCiCommand } from "./command.js";
2
+ export { renderHumanCiResult } from "./output.js";
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/features/ci/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/features/ci/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type OutputOptions } from "../../output.js";
2
+ export interface HumanCiRenderInput {
3
+ exitCode: number;
4
+ violationCount: number;
5
+ errorCount: number;
6
+ determinismPassed: boolean;
7
+ determinismFailures: readonly string[];
8
+ trustRegressions: readonly string[];
9
+ sourceFreshnessPassed?: boolean;
10
+ sourceStaleFailures: readonly string[];
11
+ conformPassRate?: number;
12
+ conformMinPassRate?: number;
13
+ transitionConformFailures: readonly string[];
14
+ reportPath: string;
15
+ tracesDir: string;
16
+ durationMs: number;
17
+ }
18
+ export declare function renderHumanCiResult(input: HumanCiRenderInput, options?: OutputOptions): string[];
19
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/ci/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EAEnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,aAAkB,GAC1B,MAAM,EAAE,CAsCV"}
@@ -0,0 +1,40 @@
1
+ import { formatArtifactLine, formatDuration, formatMs, formatStatusSymbol, formatSummaryLabel, } from "../../output.js";
2
+ function ciStatusKind(input) {
3
+ return input.exitCode === 0 ? "pass" : "fail";
4
+ }
5
+ export function renderHumanCiResult(input, options = {}) {
6
+ const kind = ciStatusKind(input);
7
+ const lines = [
8
+ ` ${formatStatusSymbol(kind, options)} ci ${formatMs(input.durationMs)}`,
9
+ ` - check ${input.violationCount} violations, ${input.errorCount} errors`,
10
+ ` - determinism ${input.determinismPassed ? "passed" : "failed"}`,
11
+ ];
12
+ for (const failure of input.determinismFailures) {
13
+ lines.push(` ${failure}`);
14
+ }
15
+ if (input.trustRegressions.length > 0) {
16
+ lines.push(` - trust-regressions ${input.trustRegressions.length}`);
17
+ for (const regression of input.trustRegressions) {
18
+ lines.push(` ${regression}`);
19
+ }
20
+ }
21
+ if (input.sourceFreshnessPassed !== undefined) {
22
+ lines.push(` - source-freshness ${input.sourceFreshnessPassed ? "passed" : "failed"}`);
23
+ for (const failure of input.sourceStaleFailures) {
24
+ lines.push(` ${failure}`);
25
+ }
26
+ }
27
+ if (input.conformPassRate !== undefined) {
28
+ lines.push(` - conform passRate ${input.conformPassRate} min ${input.conformMinPassRate ?? 1}`);
29
+ for (const failure of input.transitionConformFailures) {
30
+ lines.push(` ${failure}`);
31
+ }
32
+ }
33
+ lines.push("");
34
+ lines.push(formatSummaryLabel("Duration", formatDuration(input.durationMs)));
35
+ lines.push(formatSummaryLabel("Artifacts", ""));
36
+ lines.push(formatArtifactLine("report", input.reportPath, options));
37
+ lines.push(formatArtifactLine("traces", input.tracesDir, options));
38
+ return lines;
39
+ }
40
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../src/cli/features/ci/output.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,iBAAiB,CAAC;AAmBzB,SAAS,YAAY,CAAC,KAAyB;IAC7C,OAAO,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAyB,EACzB,UAAyB,EAAE;IAE3B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG;QACZ,IAAI,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QACxE,aAAa,KAAK,CAAC,cAAc,gBAAgB,KAAK,CAAC,UAAU,SAAS;QAC1E,mBAAmB,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;KACnE,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CACR,wBAAwB,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAC5E,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAChD,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,wBAAwB,KAAK,CAAC,eAAe,QAAQ,KAAK,CAAC,kBAAkB,IAAI,CAAC,EAAE,CACrF,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { generateConformWalks, runConformCommand } from "./command.js";
2
+ export { renderHumanConformResult } from "./output.js";
2
3
  export type { ConformCommandOptions, ConformCommandResult } from "./command.js";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/conform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACvE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/conform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { generateConformWalks, runConformCommand } from "./command.js";
2
+ export { renderHumanConformResult } from "./output.js";
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/features/conform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/features/conform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ConformReport } from "modality-ts/core";
2
+ import { type OutputOptions } from "../../output.js";
3
+ export interface HumanConformRenderInput {
4
+ report: ConformReport;
5
+ reportPath?: string;
6
+ durationMs: number;
7
+ }
8
+ export declare function renderHumanConformResult(input: HumanConformRenderInput, options?: OutputOptions): string[];
9
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../src/cli/features/conform/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAML,KAAK,aAAa,EAEnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE,aAAkB,GAC1B,MAAM,EAAE,CAkBV"}
@@ -0,0 +1,28 @@
1
+ import { formatArtifactLine, formatDuration, formatMs, formatStatusSymbol, formatSummaryLabel, } from "../../output.js";
2
+ function conformStatusKind(report) {
3
+ if (report.metrics.notReproduced > 0)
4
+ return "fail";
5
+ if (report.metrics.inconclusive > 0)
6
+ return "warn";
7
+ return "pass";
8
+ }
9
+ export function renderHumanConformResult(input, options = {}) {
10
+ const { metrics } = input.report;
11
+ const kind = conformStatusKind(input.report);
12
+ const lines = [
13
+ ` ${formatStatusSymbol(kind, options)} conformance ${formatMs(input.durationMs)}`,
14
+ ` (${metrics.total} walks, ${metrics.reproduced} reproduced, ${metrics.notReproduced} not-reproduced, ${metrics.inconclusive} inconclusive, passRate ${metrics.passRate})`,
15
+ ` - mode ${input.report.mode ?? "abstract"}`,
16
+ ];
17
+ if (input.report.harnessPath) {
18
+ lines.push(` - harness ${input.report.harnessPath}`);
19
+ }
20
+ lines.push("");
21
+ lines.push(formatSummaryLabel("Duration", formatDuration(input.durationMs)));
22
+ if (input.reportPath) {
23
+ lines.push(formatSummaryLabel("Artifacts", ""));
24
+ lines.push(formatArtifactLine("report", input.reportPath, options));
25
+ }
26
+ return lines;
27
+ }
28
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../src/cli/features/conform/output.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,iBAAiB,CAAC;AAQzB,SAAS,iBAAiB,CAAC,MAAqB;IAC9C,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACpD,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,KAA8B,EAC9B,UAAyB,EAAE;IAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG;QACZ,IAAI,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QACjF,MAAM,OAAO,CAAC,KAAK,WAAW,OAAO,CAAC,UAAU,gBAAgB,OAAO,CAAC,aAAa,oBAAoB,OAAO,CAAC,YAAY,2BAA2B,OAAO,CAAC,QAAQ,GAAG;QAC3K,YAAY,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU,EAAE;KAC9C,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7E,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}