@opensip-cli/fitness 0.1.5 → 0.1.7
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/README.md +2 -2
- package/dist/__tests__/fit-execute-opts.test.js +2 -2
- package/dist/__tests__/fit-execute-opts.test.js.map +1 -1
- package/dist/__tests__/public-api.test.js +2 -1
- package/dist/__tests__/public-api.test.js.map +1 -1
- package/dist/__tests__/tool.test.js +24 -13
- package/dist/__tests__/tool.test.js.map +1 -1
- package/dist/cli/__tests__/fit-gate-mode.test.js +1 -1
- package/dist/cli/__tests__/fit-gate-mode.test.js.map +1 -1
- package/dist/cli/__tests__/fit-modes-live.test.d.ts +1 -1
- package/dist/cli/__tests__/fit-modes-live.test.js +13 -6
- package/dist/cli/__tests__/fit-modes-live.test.js.map +1 -1
- package/dist/cli/__tests__/report-data.test.js +3 -3
- package/dist/cli/__tests__/report-data.test.js.map +1 -1
- package/dist/cli/fit/__tests__/display-fold.test.js +2 -2
- package/dist/cli/fit/__tests__/display-fold.test.js.map +1 -1
- package/dist/cli/fit/__tests__/fit-export-command-spec.test.d.ts +9 -0
- package/dist/cli/fit/__tests__/fit-export-command-spec.test.d.ts.map +1 -0
- package/dist/cli/fit/__tests__/fit-export-command-spec.test.js +75 -0
- package/dist/cli/fit/__tests__/fit-export-command-spec.test.js.map +1 -0
- package/dist/cli/fit/check-loader.d.ts +1 -1
- package/dist/cli/fit/check-loader.js +1 -1
- package/dist/cli/fit/config-loader.d.ts +1 -1
- package/dist/cli/fit/config-loader.js +1 -1
- package/dist/cli/fit/envelope-view.d.ts.map +1 -1
- package/dist/cli/fit/envelope-view.js +2 -14
- package/dist/cli/fit/envelope-view.js.map +1 -1
- package/dist/cli/fit/fit-aux-command-specs.d.ts +27 -17
- package/dist/cli/fit/fit-aux-command-specs.d.ts.map +1 -1
- package/dist/cli/fit/fit-aux-command-specs.js +91 -53
- package/dist/cli/fit/fit-aux-command-specs.js.map +1 -1
- package/dist/cli/fit/recipe-selector.test.js +2 -2
- package/dist/cli/fit/recipe-selector.test.js.map +1 -1
- package/dist/cli/fit/result-builders.d.ts +29 -19
- package/dist/cli/fit/result-builders.d.ts.map +1 -1
- package/dist/cli/fit/result-builders.js +29 -24
- package/dist/cli/fit/result-builders.js.map +1 -1
- package/dist/cli/fit-modes.d.ts.map +1 -1
- package/dist/cli/fit-modes.js +7 -4
- package/dist/cli/fit-modes.js.map +1 -1
- package/dist/cli/fit-runner-views.d.ts +1 -1
- package/dist/cli/fit-runner-views.js +1 -1
- package/dist/cli/fit-runner.d.ts.map +1 -1
- package/dist/cli/fit-runner.js +18 -12
- package/dist/cli/fit-runner.js.map +1 -1
- package/dist/cli/fit-worker.d.ts.map +1 -1
- package/dist/cli/fit-worker.js +1 -0
- package/dist/cli/fit-worker.js.map +1 -1
- package/dist/cli/fit.d.ts +5 -3
- package/dist/cli/fit.d.ts.map +1 -1
- package/dist/cli/fit.js +6 -4
- package/dist/cli/fit.js.map +1 -1
- package/dist/framework/__tests__/concurrent-file-cache.test.d.ts +24 -0
- package/dist/framework/__tests__/concurrent-file-cache.test.d.ts.map +1 -0
- package/dist/framework/__tests__/concurrent-file-cache.test.js +151 -0
- package/dist/framework/__tests__/concurrent-file-cache.test.js.map +1 -0
- package/dist/framework/__tests__/define-check.test.js +38 -1
- package/dist/framework/__tests__/define-check.test.js.map +1 -1
- package/dist/framework/__tests__/define-regex-list-check.test.js +5 -1
- package/dist/framework/__tests__/define-regex-list-check.test.js.map +1 -1
- package/dist/framework/__tests__/execution-context.globalexcludes-parity.test.js +3 -1
- package/dist/framework/__tests__/execution-context.globalexcludes-parity.test.js.map +1 -1
- package/dist/framework/__tests__/execution-context.test.js +32 -9
- package/dist/framework/__tests__/execution-context.test.js.map +1 -1
- package/dist/framework/__tests__/file-accessor.test.js +7 -4
- package/dist/framework/__tests__/file-accessor.test.js.map +1 -1
- package/dist/framework/__tests__/file-cache-autoclear.test.d.ts +25 -0
- package/dist/framework/__tests__/file-cache-autoclear.test.d.ts.map +1 -0
- package/dist/framework/__tests__/file-cache-autoclear.test.js +116 -0
- package/dist/framework/__tests__/file-cache-autoclear.test.js.map +1 -0
- package/dist/framework/__tests__/register-helpers.test.js +2 -2
- package/dist/framework/__tests__/register-helpers.test.js.map +1 -1
- package/dist/framework/__tests__/scope-registry.test.js +2 -2
- package/dist/framework/__tests__/scope-registry.test.js.map +1 -1
- package/dist/framework/define-check.d.ts.map +1 -1
- package/dist/framework/define-check.js +9 -0
- package/dist/framework/define-check.js.map +1 -1
- package/dist/framework/execution-context.d.ts +9 -2
- package/dist/framework/execution-context.d.ts.map +1 -1
- package/dist/framework/execution-context.js +21 -7
- package/dist/framework/execution-context.js.map +1 -1
- package/dist/framework/file-accessor.d.ts +12 -0
- package/dist/framework/file-accessor.d.ts.map +1 -1
- package/dist/framework/file-accessor.js +8 -3
- package/dist/framework/file-accessor.js.map +1 -1
- package/dist/framework/file-cache.d.ts +11 -1
- package/dist/framework/file-cache.d.ts.map +1 -1
- package/dist/framework/file-cache.js +11 -1
- package/dist/framework/file-cache.js.map +1 -1
- package/dist/framework/ignore-processing.d.ts.map +1 -1
- package/dist/framework/ignore-processing.js +26 -11
- package/dist/framework/ignore-processing.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/persistence/session-replay.d.ts +8 -3
- package/dist/persistence/session-replay.d.ts.map +1 -1
- package/dist/persistence/session-replay.js +7 -8
- package/dist/persistence/session-replay.js.map +1 -1
- package/dist/persistence/session-replay.test.js +9 -7
- package/dist/persistence/session-replay.test.js.map +1 -1
- package/dist/plugins/__tests__/loader.test.js +2 -2
- package/dist/plugins/__tests__/loader.test.js.map +1 -1
- package/dist/recipes/__tests__/run-one-check.test.js +16 -1
- package/dist/recipes/__tests__/run-one-check.test.js.map +1 -1
- package/dist/recipes/__tests__/service.test.js +46 -3
- package/dist/recipes/__tests__/service.test.js.map +1 -1
- package/dist/recipes/service.d.ts +8 -1
- package/dist/recipes/service.d.ts.map +1 -1
- package/dist/recipes/service.js +33 -4
- package/dist/recipes/service.js.map +1 -1
- package/dist/scope-augmentation.d.ts +7 -1
- package/dist/scope-augmentation.d.ts.map +1 -1
- package/dist/tool.d.ts +4 -3
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +58 -85
- package/dist/tool.js.map +1 -1
- package/package.json +14 -14
|
@@ -1,35 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* fit-aux-command-specs — the declarative `fit
|
|
3
|
-
* `fit
|
|
2
|
+
* fit-aux-command-specs — the declarative `fit list` / `fit recipes` /
|
|
3
|
+
* `fit export` commands (the canonical `<tool> <verb>` grammar). The host mounts
|
|
4
|
+
* each spec via `mountCommandSpec`; the tool no longer touches Commander.
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* The legacy flat-root aliases (`fit-list` / `fit-recipes` /
|
|
7
|
+
* `fit-baseline-export`) were removed once their deprecation window closed — only
|
|
8
|
+
* the nested forms remain.
|
|
8
9
|
*
|
|
9
10
|
* Output modes:
|
|
10
|
-
* - `fit
|
|
11
|
+
* - `fit list` / `fit recipes` → `command-result`: the handler returns the
|
|
11
12
|
* list result; the host dispatches it through the shared seam
|
|
12
13
|
* (`--json` → JSON.stringify, else render). Byte-identical to the former
|
|
13
14
|
* `if (json) cli.emitJson(result) else cli.render(result)` body, because
|
|
14
15
|
* `emitJson` and the seam's json arm both write `JSON.stringify(x, null, 2)
|
|
15
16
|
* + '\n'`.
|
|
16
|
-
* - `fit
|
|
17
|
+
* - `fit export` → `raw-stream`: an explicit file-writing command. The
|
|
17
18
|
* handler writes the SARIF baseline and prints a one-line confirmation (or an
|
|
18
19
|
* error), owning its exit-code decision and the `--json` branch itself — the
|
|
19
20
|
* documented non-Ink exception. The host renders nothing.
|
|
20
21
|
*/
|
|
21
22
|
import type { CommandSpec, ToolCliContext } from '@opensip-cli/core';
|
|
22
|
-
/** `fit
|
|
23
|
-
export declare const
|
|
24
|
-
/** `fit
|
|
25
|
-
export declare const
|
|
23
|
+
/** `fit list` — list available fitness checks. */
|
|
24
|
+
export declare const fitListGroupedCommandSpec: CommandSpec<unknown, ToolCliContext>;
|
|
25
|
+
/** `fit recipes` — list available fitness recipes. */
|
|
26
|
+
export declare const fitRecipesGroupedCommandSpec: CommandSpec<unknown, ToolCliContext>;
|
|
26
27
|
/**
|
|
27
|
-
*
|
|
28
|
+
* The canonical fit export formats. Single value today (`baseline`) but declared
|
|
29
|
+
* as a `choices` enum so adding `sarif` later is purely additive (the host
|
|
30
|
+
* validates the value at mount).
|
|
28
31
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* the
|
|
32
|
-
* `
|
|
32
|
+
* NOTE on the `baseline` value: fitness's gate baseline is SARIF-shaped, so
|
|
33
|
+
* `fit export --format baseline` writes a SARIF file. The *format value* names
|
|
34
|
+
* the artifact ROLE (the gate baseline) — consistent with `graph export
|
|
35
|
+
* --format baseline` (which writes JSON fingerprints) — not the file syntax.
|
|
33
36
|
*/
|
|
34
|
-
export declare const
|
|
37
|
+
export declare const FIT_EXPORT_FORMATS: readonly ["baseline"];
|
|
38
|
+
/**
|
|
39
|
+
* `fit export --format baseline` — the canonical fitness export command. Mounts
|
|
40
|
+
* as a SUBCOMMAND of the `fit` primary (`parent: 'fit', via the nested-mount
|
|
41
|
+
* capability), so it shares the root with `graph export` without colliding (both
|
|
42
|
+
* declare `name: 'export'`).
|
|
43
|
+
*/
|
|
44
|
+
export declare const fitExportCommandSpec: CommandSpec<unknown, ToolCliContext>;
|
|
35
45
|
//# sourceMappingURL=fit-aux-command-specs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fit-aux-command-specs.d.ts","sourceRoot":"","sources":["../../../src/cli/fit/fit-aux-command-specs.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"fit-aux-command-specs.d.ts","sourceRoot":"","sources":["../../../src/cli/fit/fit-aux-command-specs.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAWrE,kDAAkD;AAClD,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAczE,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAc5E,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,uBAAwB,CAAC;AA8CxD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAgCpE,CAAC"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
// @fitness-ignore-file no-direct-stdout-in-tool-engine -- auxiliary subcommand status line: `fit
|
|
1
|
+
// @fitness-ignore-file no-direct-stdout-in-tool-engine -- auxiliary subcommand status line: `fit export --format baseline` writes the SARIF baseline to a file and prints a one-line "Exported fit baseline to <path>" confirmation (the --json path uses cli.emitJson). This is not the signal-envelope run output (ADR-0011), which routes through the composition root.
|
|
2
2
|
// @fitness-ignore-file only-documented-toolcli-seams -- same rationale as above: the one-line "Exported fit baseline to <path>" status confirmation after a file write; the --json path uses cli.emitJson. Not run output through a ToolCliContext seam.
|
|
3
3
|
/**
|
|
4
|
-
* fit-aux-command-specs — the declarative `fit
|
|
5
|
-
* `fit
|
|
4
|
+
* fit-aux-command-specs — the declarative `fit list` / `fit recipes` /
|
|
5
|
+
* `fit export` commands (the canonical `<tool> <verb>` grammar). The host mounts
|
|
6
|
+
* each spec via `mountCommandSpec`; the tool no longer touches Commander.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* The legacy flat-root aliases (`fit-list` / `fit-recipes` /
|
|
9
|
+
* `fit-baseline-export`) were removed once their deprecation window closed — only
|
|
10
|
+
* the nested forms remain.
|
|
10
11
|
*
|
|
11
12
|
* Output modes:
|
|
12
|
-
* - `fit
|
|
13
|
+
* - `fit list` / `fit recipes` → `command-result`: the handler returns the
|
|
13
14
|
* list result; the host dispatches it through the shared seam
|
|
14
15
|
* (`--json` → JSON.stringify, else render). Byte-identical to the former
|
|
15
16
|
* `if (json) cli.emitJson(result) else cli.render(result)` body, because
|
|
16
17
|
* `emitJson` and the seam's json arm both write `JSON.stringify(x, null, 2)
|
|
17
18
|
* + '\n'`.
|
|
18
|
-
* - `fit
|
|
19
|
+
* - `fit export` → `raw-stream`: an explicit file-writing command. The
|
|
19
20
|
* handler writes the SARIF baseline and prints a one-line confirmation (or an
|
|
20
21
|
* error), owning its exit-code decision and the `--json` branch itself — the
|
|
21
22
|
* documented non-Ink exception. The host renders nothing.
|
|
@@ -24,9 +25,18 @@ import { EXIT_CODES } from '@opensip-cli/contracts';
|
|
|
24
25
|
import { ConfigurationError, defineCommand, logger } from '@opensip-cli/core';
|
|
25
26
|
import { listChecks } from '../fit-list.js';
|
|
26
27
|
import { listRecipes } from '../fit-recipes.js';
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
// =============================================================================
|
|
29
|
+
// GROUPED <tool> <verb> CHILDREN (the canonical Tier-2 grammar)
|
|
30
|
+
//
|
|
31
|
+
// `fit list` / `fit recipes` mount as SUBCOMMANDS of the `fit` primary
|
|
32
|
+
// (`parent: 'fit'`) via the nested-mount capability. They own their handler
|
|
33
|
+
// bodies directly (calling the shared `listChecks` / `listRecipes` engine
|
|
34
|
+
// functions) — the legacy flat `fit-list` / `fit-recipes` aliases were removed.
|
|
35
|
+
// =============================================================================
|
|
36
|
+
/** `fit list` — list available fitness checks. */
|
|
37
|
+
export const fitListGroupedCommandSpec = defineCommand({
|
|
38
|
+
name: 'list',
|
|
39
|
+
parent: 'fit',
|
|
30
40
|
description: 'List available fitness checks',
|
|
31
41
|
commonFlags: ['cwd', 'json'],
|
|
32
42
|
scope: 'project',
|
|
@@ -36,9 +46,10 @@ export const fitListCommandSpec = defineCommand({
|
|
|
36
46
|
return listChecks(opts.cwd);
|
|
37
47
|
},
|
|
38
48
|
});
|
|
39
|
-
/** `fit
|
|
40
|
-
export const
|
|
41
|
-
name: '
|
|
49
|
+
/** `fit recipes` — list available fitness recipes. */
|
|
50
|
+
export const fitRecipesGroupedCommandSpec = defineCommand({
|
|
51
|
+
name: 'recipes',
|
|
52
|
+
parent: 'fit',
|
|
42
53
|
description: 'List available fitness recipes',
|
|
43
54
|
commonFlags: ['cwd', 'json'],
|
|
44
55
|
scope: 'project',
|
|
@@ -49,18 +60,74 @@ export const fitRecipesCommandSpec = defineCommand({
|
|
|
49
60
|
},
|
|
50
61
|
});
|
|
51
62
|
/**
|
|
52
|
-
*
|
|
63
|
+
* The canonical fit export formats. Single value today (`baseline`) but declared
|
|
64
|
+
* as a `choices` enum so adding `sarif` later is purely additive (the host
|
|
65
|
+
* validates the value at mount).
|
|
53
66
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* the
|
|
57
|
-
* `
|
|
67
|
+
* NOTE on the `baseline` value: fitness's gate baseline is SARIF-shaped, so
|
|
68
|
+
* `fit export --format baseline` writes a SARIF file. The *format value* names
|
|
69
|
+
* the artifact ROLE (the gate baseline) — consistent with `graph export
|
|
70
|
+
* --format baseline` (which writes JSON fingerprints) — not the file syntax.
|
|
58
71
|
*/
|
|
59
|
-
export const
|
|
60
|
-
|
|
61
|
-
|
|
72
|
+
export const FIT_EXPORT_FORMATS = ['baseline'];
|
|
73
|
+
/**
|
|
74
|
+
* Write the SQLite-backed fit gate baseline to a SARIF file at `--out` via the
|
|
75
|
+
* host baseline SARIF seam (ADR-0036, Q5).
|
|
76
|
+
*
|
|
77
|
+
* The host reconstructs a synthetic envelope from the stored payloads (no stored
|
|
78
|
+
* envelope under the plane). The seam throws ConfigurationError (→ exit 2) when
|
|
79
|
+
* no baseline exists; this maps it for both the `--json` and stderr boundaries.
|
|
80
|
+
*/
|
|
81
|
+
async function runFitBaselineExport(opts, cli) {
|
|
82
|
+
try {
|
|
83
|
+
await cli.exportBaselineSarif('fitness', opts.out);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
87
|
+
const exitCode = error instanceof ConfigurationError
|
|
88
|
+
? EXIT_CODES.CONFIGURATION_ERROR
|
|
89
|
+
: EXIT_CODES.RUNTIME_ERROR;
|
|
90
|
+
logger.warn({
|
|
91
|
+
evt: 'cli.fit.baseline_export.failed',
|
|
92
|
+
module: 'fit:cli',
|
|
93
|
+
message,
|
|
94
|
+
exitCode,
|
|
95
|
+
});
|
|
96
|
+
if (opts.json) {
|
|
97
|
+
// 2.12.0 (§5.5): structured error outcome (host wraps + sets exit code).
|
|
98
|
+
cli.emitError({ message, exitCode });
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
cli.setExitCode(exitCode);
|
|
102
|
+
process.stderr.write(`Error: ${message}\n`);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const result = { type: 'fit-baseline-export', outPath: opts.out };
|
|
106
|
+
if (opts.json) {
|
|
107
|
+
cli.emitJson(result);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
process.stdout.write(`Exported fit baseline to ${opts.out}\n`);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* `fit export --format baseline` — the canonical fitness export command. Mounts
|
|
114
|
+
* as a SUBCOMMAND of the `fit` primary (`parent: 'fit', via the nested-mount
|
|
115
|
+
* capability), so it shares the root with `graph export` without colliding (both
|
|
116
|
+
* declare `name: 'export'`).
|
|
117
|
+
*/
|
|
118
|
+
export const fitExportCommandSpec = defineCommand({
|
|
119
|
+
name: 'export',
|
|
120
|
+
parent: 'fit',
|
|
121
|
+
description: 'Export fit artifacts: --format baseline (the SARIF-shaped gate baseline)',
|
|
62
122
|
commonFlags: ['cwd', 'json'],
|
|
63
123
|
options: [
|
|
124
|
+
{
|
|
125
|
+
flag: '--format',
|
|
126
|
+
value: '<fmt>',
|
|
127
|
+
description: 'Export artifact: baseline (the SARIF-shaped gate baseline)',
|
|
128
|
+
required: true,
|
|
129
|
+
choices: [...FIT_EXPORT_FORMATS],
|
|
130
|
+
},
|
|
64
131
|
{
|
|
65
132
|
flag: '--out',
|
|
66
133
|
value: '<path>',
|
|
@@ -73,38 +140,9 @@ export const fitBaselineExportCommandSpec = defineCommand({
|
|
|
73
140
|
rawStreamReason: 'file-export',
|
|
74
141
|
handler: async (rawOpts, cli) => {
|
|
75
142
|
const opts = rawOpts;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
// seam throws ConfigurationError (→ exit 2) when no baseline exists.
|
|
79
|
-
try {
|
|
80
|
-
await cli.exportBaselineSarif('fitness', opts.out);
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
84
|
-
const exitCode = error instanceof ConfigurationError
|
|
85
|
-
? EXIT_CODES.CONFIGURATION_ERROR
|
|
86
|
-
: EXIT_CODES.RUNTIME_ERROR;
|
|
87
|
-
logger.warn({
|
|
88
|
-
evt: 'cli.fit.baseline_export.failed',
|
|
89
|
-
module: 'fit:cli',
|
|
90
|
-
message,
|
|
91
|
-
exitCode,
|
|
92
|
-
});
|
|
93
|
-
if (opts.json) {
|
|
94
|
-
// 2.12.0 (§5.5): structured error outcome (host wraps + sets exit code).
|
|
95
|
-
cli.emitError({ message, exitCode });
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
cli.setExitCode(exitCode);
|
|
99
|
-
process.stderr.write(`Error: ${message}\n`);
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
const result = { type: 'fit-baseline-export', outPath: opts.out };
|
|
103
|
-
if (opts.json) {
|
|
104
|
-
cli.emitJson(result);
|
|
105
|
-
return;
|
|
143
|
+
if (opts.format === 'baseline') {
|
|
144
|
+
await runFitBaselineExport(opts, cli);
|
|
106
145
|
}
|
|
107
|
-
process.stdout.write(`Exported fit baseline to ${opts.out}\n`);
|
|
108
146
|
},
|
|
109
147
|
});
|
|
110
148
|
//# sourceMappingURL=fit-aux-command-specs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fit-aux-command-specs.js","sourceRoot":"","sources":["../../../src/cli/fit/fit-aux-command-specs.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"fit-aux-command-specs.js","sourceRoot":"","sources":["../../../src/cli/fit/fit-aux-command-specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EXIT_CODES } from '@opensip-cli/contracts';
|
|
2
|
-
import { enterScope, RunScope } from '@opensip-cli/core';
|
|
2
|
+
import { enterScope, RunScope, applyToolContributeScope } from '@opensip-cli/core';
|
|
3
3
|
import { beforeEach, describe, expect, it } from 'vitest';
|
|
4
4
|
import { CheckRegistry } from '../../framework/registry.js';
|
|
5
5
|
import { FitnessRecipeRegistry } from '../../recipes/registry.js';
|
|
@@ -16,7 +16,7 @@ import { runRecipeOrAdHoc, selectRecipe } from './recipe-selector.js';
|
|
|
16
16
|
const base = { cwd: '/tmp' };
|
|
17
17
|
beforeEach(() => {
|
|
18
18
|
const scope = new RunScope();
|
|
19
|
-
|
|
19
|
+
applyToolContributeScope(scope, fitnessTool);
|
|
20
20
|
enterScope(scope);
|
|
21
21
|
});
|
|
22
22
|
describe('selectRecipe (ADR-0022 tool-scoped + tolerant)', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe-selector.test.js","sourceRoot":"","sources":["../../../src/cli/fit/recipe-selector.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"recipe-selector.test.js","sourceRoot":"","sources":["../../../src/cli/fit/recipe-selector.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pure builders that transform fitness recipe results into the run's
|
|
3
3
|
* `SignalEnvelope` (the universal output currency, ADR-0011) and the
|
|
4
|
-
* `
|
|
5
|
-
* and the best-effort session persistence side effect invoked at
|
|
6
|
-
* `executeFit` boundary.
|
|
4
|
+
* render-only `RunPresentation` that carries it — plus the formatting helpers
|
|
5
|
+
* they rely on and the best-effort session persistence side effect invoked at
|
|
6
|
+
* the `executeFit` boundary.
|
|
7
7
|
*
|
|
8
8
|
* Keeping these together (rather than per-output-shape) makes the
|
|
9
9
|
* signal-shape mapping visible in one place: `buildFitEnvelope` maps check
|
|
10
|
-
* violations to `Signal`s and `
|
|
10
|
+
* violations to `Signal`s and `buildFitPresentation` wraps the envelope in the
|
|
11
|
+
* render adjunct (envelope-first-presentation plan; replaced the old per-tool
|
|
12
|
+
* fit done-result builder).
|
|
11
13
|
*/
|
|
12
|
-
import { type FitOptions, type SignalEnvelope, type
|
|
14
|
+
import { type FitOptions, type SignalEnvelope, type RunPresentation } from '@opensip-cli/contracts';
|
|
13
15
|
import { type VerdictPolicy } from '@opensip-cli/core';
|
|
14
16
|
import type { FitnessRecipeServiceCallbacks } from '../../recipes/service-types.js';
|
|
15
17
|
import type { FitnessRecipeResult } from '../../recipes/types.js';
|
|
@@ -43,32 +45,40 @@ export declare function resolveFitVerdictPolicy(signalersConfig: SignalersConfig
|
|
|
43
45
|
* scope, matching graph/sim's envelope builders.
|
|
44
46
|
*/
|
|
45
47
|
export declare function buildFitEnvelope(fitnessResult: FitnessRecipeResult, recipeName: string | undefined, signalersConfig: SignalersConfig): SignalEnvelope;
|
|
46
|
-
/** Input bundle for {@link
|
|
47
|
-
export interface
|
|
48
|
+
/** Input bundle for {@link buildFitPresentation}: CLI args, recipe result, the run envelope, and signaler config. */
|
|
49
|
+
export interface BuildFitPresentationArgs {
|
|
48
50
|
args: FitOptions;
|
|
49
51
|
fitnessResult: FitnessRecipeResult;
|
|
50
52
|
envelope: SignalEnvelope;
|
|
51
53
|
signalersConfig: SignalersConfig;
|
|
52
54
|
recipeName: string | undefined;
|
|
53
|
-
warnings?: readonly string[];
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
|
-
* Build the {@link
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
57
|
+
* Build the render-only {@link RunPresentation} the live renderer / non-TTY
|
|
58
|
+
* render path consume (envelope-first-presentation plan; replaced the old
|
|
59
|
+
* per-tool fit done-result builder). Carries the run's {@link SignalEnvelope}
|
|
60
|
+
* (the composition root derives the terminal table + summary AND the findings
|
|
61
|
+
* exit code FROM it — one row per check unit, `envelope.verdict.passed` the
|
|
62
|
+
* single verdict) plus the optional verbose detail body.
|
|
61
63
|
*
|
|
62
|
-
*
|
|
64
|
+
* No `durationMs` is set: fit's summary duration is the envelope unit-sum (the
|
|
65
|
+
* presentation renderer falls back to it when no override is supplied), matching
|
|
66
|
+
* the pre-migration render byte-for-byte. The dropped `*DoneResult` fields
|
|
67
|
+
* (`label`/`cwd`/`configFound`) were not consumed by the table view; `warnings`
|
|
68
|
+
* is NOT a display field the view renders — it rides on the `executeFit` result
|
|
69
|
+
* bundle (a sibling field) so `emitWarningsToStderr` and the live runner keep
|
|
70
|
+
* surfacing it.
|
|
71
|
+
*
|
|
72
|
+
* ADR-0035: the exit code is not carried on the result. `verdict.passed`
|
|
63
73
|
* (computed with fit's resolved failOnErrors/failOnWarnings policy + plugin-load
|
|
64
74
|
* `runFaulted`) is the single exit driver; the host derives it in `deliverSignals`.
|
|
65
75
|
*
|
|
66
|
-
* Pure builder: session persistence
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
76
|
+
* Pure builder: session persistence lives at the `executeFit` call site
|
|
77
|
+
* (post-call), not here. The envelope is assembled once in `executeFit` and
|
|
78
|
+
* threaded in so the gate, render, and session-payload paths all consume the
|
|
79
|
+
* same envelope.
|
|
70
80
|
*/
|
|
71
|
-
export declare function
|
|
81
|
+
export declare function buildFitPresentation({ args, envelope, }: BuildFitPresentationArgs): RunPresentation;
|
|
72
82
|
/**
|
|
73
83
|
* Wire up CLI-side progress callbacks for the recipe service.
|
|
74
84
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-builders.d.ts","sourceRoot":"","sources":["../../../src/cli/fit/result-builders.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"result-builders.d.ts","sourceRoot":"","sources":["../../../src/cli/fit/result-builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,cAAc,EAEnB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAS3B,OAAO,KAAK,EAAE,6BAA6B,EAAgB,MAAM,gCAAgC,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAqB,MAAM,wBAAwB,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,eAAe,GAAG,aAAa,CAUvF;AAaD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,eAAe,EAAE,eAAe,GAC/B,cAAc,CAuChB;AAED,qHAAqH;AACrH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,mBAAmB,CAAC;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,QAAQ,GACT,EAAE,wBAAwB,GAAG,eAAe,CAY5C;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACtD,6BAA6B,CA2B/B;AAOD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pure builders that transform fitness recipe results into the run's
|
|
3
3
|
* `SignalEnvelope` (the universal output currency, ADR-0011) and the
|
|
4
|
-
* `
|
|
5
|
-
* and the best-effort session persistence side effect invoked at
|
|
6
|
-
* `executeFit` boundary.
|
|
4
|
+
* render-only `RunPresentation` that carries it — plus the formatting helpers
|
|
5
|
+
* they rely on and the best-effort session persistence side effect invoked at
|
|
6
|
+
* the `executeFit` boundary.
|
|
7
7
|
*
|
|
8
8
|
* Keeping these together (rather than per-output-shape) makes the
|
|
9
9
|
* signal-shape mapping visible in one place: `buildFitEnvelope` maps check
|
|
10
|
-
* violations to `Signal`s and `
|
|
10
|
+
* violations to `Signal`s and `buildFitPresentation` wraps the envelope in the
|
|
11
|
+
* render adjunct (envelope-first-presentation plan; replaced the old per-tool
|
|
12
|
+
* fit done-result builder).
|
|
11
13
|
*/
|
|
12
14
|
import { buildSignalEnvelope, } from '@opensip-cli/contracts';
|
|
13
15
|
import { currentScope, logger, resolveVerdictPolicy, } from '@opensip-cli/core';
|
|
@@ -103,36 +105,39 @@ export function buildFitEnvelope(fitnessResult, recipeName, signalersConfig) {
|
|
|
103
105
|
});
|
|
104
106
|
}
|
|
105
107
|
/**
|
|
106
|
-
* Build the {@link
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
108
|
+
* Build the render-only {@link RunPresentation} the live renderer / non-TTY
|
|
109
|
+
* render path consume (envelope-first-presentation plan; replaced the old
|
|
110
|
+
* per-tool fit done-result builder). Carries the run's {@link SignalEnvelope}
|
|
111
|
+
* (the composition root derives the terminal table + summary AND the findings
|
|
112
|
+
* exit code FROM it — one row per check unit, `envelope.verdict.passed` the
|
|
113
|
+
* single verdict) plus the optional verbose detail body.
|
|
111
114
|
*
|
|
112
|
-
*
|
|
115
|
+
* No `durationMs` is set: fit's summary duration is the envelope unit-sum (the
|
|
116
|
+
* presentation renderer falls back to it when no override is supplied), matching
|
|
117
|
+
* the pre-migration render byte-for-byte. The dropped `*DoneResult` fields
|
|
118
|
+
* (`label`/`cwd`/`configFound`) were not consumed by the table view; `warnings`
|
|
119
|
+
* is NOT a display field the view renders — it rides on the `executeFit` result
|
|
120
|
+
* bundle (a sibling field) so `emitWarningsToStderr` and the live runner keep
|
|
121
|
+
* surfacing it.
|
|
122
|
+
*
|
|
123
|
+
* ADR-0035: the exit code is not carried on the result. `verdict.passed`
|
|
113
124
|
* (computed with fit's resolved failOnErrors/failOnWarnings policy + plugin-load
|
|
114
125
|
* `runFaulted`) is the single exit driver; the host derives it in `deliverSignals`.
|
|
115
126
|
*
|
|
116
|
-
* Pure builder: session persistence
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
127
|
+
* Pure builder: session persistence lives at the `executeFit` call site
|
|
128
|
+
* (post-call), not here. The envelope is assembled once in `executeFit` and
|
|
129
|
+
* threaded in so the gate, render, and session-payload paths all consume the
|
|
130
|
+
* same envelope.
|
|
120
131
|
*/
|
|
121
|
-
export function
|
|
122
|
-
|
|
123
|
-
? `tags: ${args.tags.join(',')}`
|
|
124
|
-
: `recipe ${recipeName ?? 'default'}`;
|
|
125
|
-
// ADR-0021: carry the verbose findings body on the result so the shared
|
|
132
|
+
export function buildFitPresentation({ args, envelope, }) {
|
|
133
|
+
// ADR-0021: carry the verbose findings body on the presentation so the shared
|
|
126
134
|
// resultToView seam renders it identically in a TTY and a pipe (the old
|
|
127
135
|
// TTY-only path left `fit --verbose | cat` empty).
|
|
128
136
|
const verboseDetail = buildFitVerboseDetail(envelope, args);
|
|
129
137
|
return {
|
|
130
|
-
type: '
|
|
131
|
-
|
|
132
|
-
cwd: args.cwd,
|
|
138
|
+
type: 'run-presentation',
|
|
139
|
+
tool: 'fitness',
|
|
133
140
|
envelope,
|
|
134
|
-
configFound: true,
|
|
135
|
-
warnings: warnings && warnings.length > 0 ? warnings : undefined,
|
|
136
141
|
...(verboseDetail === undefined ? {} : { verboseDetail }),
|
|
137
142
|
};
|
|
138
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-builders.js","sourceRoot":"","sources":["../../../src/cli/fit/result-builders.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"result-builders.js","sourceRoot":"","sources":["../../../src/cli/fit/result-builders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,mBAAmB,GAKpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,MAAM,EACN,oBAAoB,GAGrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAMrE;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,eAAgC;IACtE,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC;QACvD,cAAc,EAAE,eAAe,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAE9E,+FAA+F;AAC/F,SAAS,SAAS,CAAC,EAAqB;IACtC,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC,KAAK,CAAC;IAC5C,IAAI,EAAE,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC;IAC7C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,aAAkC,EAClC,UAA8B,EAC9B,eAAgC;IAEhC,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;IAEvC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,KAAK,MAAM,SAAS,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,EAAE,CAAC,SAAS;YAClB,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,cAAc,EAAE,EAAE,CAAC,cAAc;YACjC,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YACpB,cAAc,EAAE,EAAE,CAAC,UAAU;YAC7B,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,YAAY,EAAE,EAAE,CAAC,YAAY;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,mBAAmB,CAAC;QACzB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,YAAY,EAAE,EAAE,KAAK,IAAI,EAAE;QAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;QACL,OAAO;QACP,wDAAwD;QACxD,yEAAyE;QACzE,6EAA6E;QAC7E,wBAAwB;QACxB,MAAM,EAAE,uBAAuB,CAAC,eAAe,CAAC;QAChD,UAAU,EAAE,mBAAmB,EAAE,CAAC,MAAM,GAAG,CAAC;QAC5C,0EAA0E;QAC1E,0EAA0E;QAC1E,0CAA0C;QAC1C,mBAAmB,EAAE,0BAA0B;KAChD,CAAC,CAAC;AACL,CAAC;AAWD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,IAAI,EACJ,QAAQ,GACiB;IACzB,8EAA8E;IAC9E,wEAAwE;IACxE,mDAAmD;IACnD,MAAM,aAAa,GAAG,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE5D,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,SAAS;QACf,QAAQ;QACR,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAuD;IAEvD,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,OAAO;QACL,YAAY,CAAC,SAAiB,EAAE,KAAa,EAAE,KAAa;YAC1D,MAAM,CAAC,KAAK,CAAC;gBACX,GAAG,EAAE,iBAAiB;gBACtB,MAAM,EAAE,SAAS;gBACjB,SAAS;gBACT,KAAK;gBACL,KAAK;aACN,CAAC,CAAC;YACH,UAAU,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,eAAe,CAAC,SAAiB,EAAE,OAAqB,EAAE,KAAa,EAAE,KAAa;YACpF,MAAM,CAAC,KAAK,CAAC;gBACX,GAAG,EAAE,oBAAoB;gBACzB,MAAM,EAAE,SAAS;gBACjB,SAAS;gBACT,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;YACH,cAAc,EAAE,CAAC;YACjB,UAAU,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,oEAAoE;AAEpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fit-modes.d.ts","sourceRoot":"","sources":["../../src/cli/fit-modes.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEvB,MAAM,mBAAmB,CAAC;AAa3B;;;;GAIG;AACH,KAAK,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;AA4E3D,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtF;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAOzF;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BtF;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"fit-modes.d.ts","sourceRoot":"","sources":["../../src/cli/fit-modes.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEvB,MAAM,mBAAmB,CAAC;AAa3B;;;;GAIG;AACH,KAAK,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;AA4E3D,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtF;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAOzF;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BtF;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAwBvC;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAiCvC;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAkGvC"}
|
package/dist/cli/fit-modes.js
CHANGED
|
@@ -142,8 +142,10 @@ export async function runJsonMode(args, cli) {
|
|
|
142
142
|
// formatter (the root owns stdout). No per-tool re-stringification.
|
|
143
143
|
cli.emitEnvelope(fitResult.envelope);
|
|
144
144
|
// Warnings collected during the run go to stderr so JSON consumers still
|
|
145
|
-
// see them without contaminating the structured stdout payload.
|
|
146
|
-
|
|
145
|
+
// see them without contaminating the structured stdout payload. They ride on
|
|
146
|
+
// the executeFit result bundle now (a sibling field), not on the render-only
|
|
147
|
+
// RunPresentation (envelope-first-presentation plan).
|
|
148
|
+
emitWarningsToStderr(fitResult);
|
|
147
149
|
// ADR-0011/ADR-0035: the composition root owns effectful egress (cloud +
|
|
148
150
|
// `--report-to`, exit 4) AND the findings exit code (derived from the
|
|
149
151
|
// envelope verdict). Called once, after the JSON is on stdout.
|
|
@@ -228,8 +230,9 @@ export async function runGateMode(args, cli) {
|
|
|
228
230
|
const envelope = fitResult.envelope;
|
|
229
231
|
const completion = fitRunCompletion(args, envelope);
|
|
230
232
|
// Surface non-fatal warnings before the gate output so the user sees them
|
|
231
|
-
// alongside the run summary. Safe here because gate mode is non-Ink.
|
|
232
|
-
|
|
233
|
+
// alongside the run summary. Safe here because gate mode is non-Ink. Warnings
|
|
234
|
+
// ride on the result bundle now (sibling field), not the RunPresentation.
|
|
235
|
+
emitWarningsToStderr(fitResult);
|
|
233
236
|
try {
|
|
234
237
|
if (args.gateSave === true) {
|
|
235
238
|
// @fitness-ignore-next-line async-waterfall-detection -- ordered side-effects: the "Baseline saved" confirmation (and the subsequent deliver) must follow a SUCCESSFUL save (if saveBaseline throws, nothing downstream runs), so these awaits cannot be parallelized.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fit-modes.js","sourceRoot":"","sources":["../../src/cli/fit-modes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fit-modes.js","sourceRoot":"","sources":["../../src/cli/fit-modes.ts"],"names":[],"mappings":"AAAA,uLAAuL;AACvL,uNAAuN;AACvN;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,UAAU,EACV,sBAAsB,GAIvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,GAIZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAWtC;;;;GAIG;AACH,SAAS,sBAAsB,CAC7B,IAAgB,EAChB,QAAwB;IAExB,OAAO;QACL,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;QAC7B,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;QAC/B,OAAO,EAAE,0BAA0B,CAAC,QAAQ,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAgB,EAAE,QAAwB;IAClE,OAAO;QACL,OAAO,EAAE,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,4EAA4E;AAC5E,mEAAmE;AACnE,6EAA6E;AAC7E,4DAA4D;AAC5D,gCAAgC;AAEhC;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,MAAwC;IACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC7D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAmB,EACnB,QAAwB,EACxB,IAAgB,EAChB,SAAmB;IAEnB,MAAM,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE;QACjC,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;KAClD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAgB,EAAE,GAAmB;IACrE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAgB,EAAE,GAAmB;IACxE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAgB,EAAE,GAAmB;IACrE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,EAA2B,CAAC;IACjE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,uBAAuB,EAAE,qCAAqC,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,aAAa,CACjB,IAAI,EACJ,GAAG,EACH,cAAc,EACd,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAgB,EAChB,GAAmB;IAEnB,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,2EAA2E;QAC3E,gFAAgF;QAChF,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1F,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,2EAA2E;IAC3E,oEAAoE;IACpE,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrC,yEAAyE;IACzE,6EAA6E;IAC7E,6EAA6E;IAC7E,sDAAsD;IACtD,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,yEAAyE;IACzE,sEAAsE;IACtE,+DAA+D;IAC/D,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvD,0EAA0E;IAC1E,6EAA6E;IAC7E,YAAY;IACZ,OAAO,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAgB,EAChB,GAAmB,EACnB,WAAmB,EACnB,aAAsB;IAEtB,6EAA6E;IAC7E,8EAA8E;IAC9E,uEAAuE;IACvE,IAAI,UAAwC,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAClC,MAAM,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,2EAA2E;QAC3E,wEAAwE;QACxE,4EAA4E;QAC5E,sEAAsE;QACtE,uEAAuE;QACvE,0EAA0E;QAC1E,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACnC,sEAAsE;YACtE,4EAA4E;YAC5E,MAAM,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvD,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,MAAM,GAAG,CAAC,eAAe,CAAC;QACxB,aAAa;QACb,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAgB,EAChB,GAAmB;IAEnB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QACxD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YACd,GAAG,EAAE,uBAAuB;YAC5B,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,0BAA0B;YAClC,GAAG,EAAE,mDAAmD;SACzD,CAAC,CAAC;QACH,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACxF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YACd,GAAG,EAAE,qBAAqB;YAC1B,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACjD,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO;SACjC,CAAC,CAAC;QACH,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,QAAQ,GAAmB,SAAS,CAAC,QAAQ,CAAC;IACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpD,0EAA0E;IAC1E,8EAA8E;IAC9E,0EAA0E;IAC1E,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,uQAAuQ;YACvQ,MAAM,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC5C,MAAM,GAAG,CAAC,MAAM,CAAC;gBACf,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE;oBACL,uCAAuC;oBACvC,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,cAAc,QAAQ,CAAC,OAAO,CAAC,MAAM,aAAa;iBAC7E;aACF,CAAC,CAAC;YACH,wEAAwE;YACxE,0EAA0E;YAC1E,wEAAwE;YACxE,wEAAwE;YACxE,yEAAyE;YACzE,0EAA0E;YAC1E,yEAAyE;YACzE,2EAA2E;YAC3E,0EAA0E;YAC1E,4EAA4E;YAC5E,iEAAiE;YACjE,MAAM,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,4EAA4E;QAC5E,gFAAgF;QAChF,gFAAgF;QAChF,+EAA+E;QAC/E,mEAAmE;QACnE,MAAM,iBAAiB,CACrB,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,MAAM,CAAC,QAAQ,IAAI,qBAAqB,CAAC,SAAS,CAAC,CACpD,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4DAA4D;QAC5D,gEAAgE;QAChE,iEAAiE;QACjE,gEAAgE;QAChE,kEAAkE;QAClE,oEAAoE;QACpE,+DAA+D;QAC/D,kCAAkC;QAClC,IAAI,KAAK,YAAY,kBAAkB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACxE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBACd,GAAG,EAAE,yBAAyB;gBAC9B,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACjD,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,MAAM,EAAE,KAAK,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YAClD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAA8B,EAC9B,GAAmB,EACnB,MAAc,EACd,MAAc;IAEd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,0EAA0E;QAC1E,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3F,OAAO;IACT,CAAC;IACD,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAChD,MAAM,GAAG,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,UAAU,CAAC,mBAAmB;KACzC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CACtB,OAAsB,EACtB,MAA+C;IAE/C,OAAO;QACL,OAAO,EAAE;YACP,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B;QACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -22,7 +22,7 @@ export declare function ResultsTable({ rows, }: {
|
|
|
22
22
|
* the run (plugin load failures, unknown languages in config, missing
|
|
23
23
|
* check packages, etc.).
|
|
24
24
|
*
|
|
25
|
-
* These come through
|
|
25
|
+
* These come through the run's collected warnings rather than direct stderr
|
|
26
26
|
* writes — emitting them during an active Ink render desyncs the renderer's
|
|
27
27
|
* frame tracking. Rendering them here through Ink keeps the live view's
|
|
28
28
|
* frame contract intact.
|
|
@@ -80,7 +80,7 @@ export function ResultsTable({ rows, }) {
|
|
|
80
80
|
* the run (plugin load failures, unknown languages in config, missing
|
|
81
81
|
* check packages, etc.).
|
|
82
82
|
*
|
|
83
|
-
* These come through
|
|
83
|
+
* These come through the run's collected warnings rather than direct stderr
|
|
84
84
|
* writes — emitting them during an active Ink render desyncs the renderer's
|
|
85
85
|
* frame tracking. Rendering them here through Ink keeps the live view's
|
|
86
86
|
* frame contract intact.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fit-runner.d.ts","sourceRoot":"","sources":["../../src/cli/fit-runner.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"fit-runner.d.ts","sourceRoot":"","sources":["../../src/cli/fit-runner.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AA4BH,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEvB,MAAM,mBAAmB,CAAC;AAS3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAwUxD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,UAAU,EAChB,kBAAkB,CAAC,EAAE,SAAS,GAAG,eAAe,EAChD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAgC5B"}
|