@opensip-cli/simulation 0.1.9 → 0.1.11
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 +4 -2
- package/dist/__tests__/public-api.test.js +6 -2
- package/dist/__tests__/public-api.test.js.map +1 -1
- package/dist/__tests__/tool-live-view.test.js +4 -4
- package/dist/__tests__/tool-live-view.test.js.map +1 -1
- package/dist/__tests__/tool.test.js +15 -8
- package/dist/__tests__/tool.test.js.map +1 -1
- package/dist/cli/__tests__/sim-runner.test.d.ts +1 -19
- package/dist/cli/__tests__/sim-runner.test.d.ts.map +1 -1
- package/dist/cli/__tests__/sim-runner.test.js +70 -193
- package/dist/cli/__tests__/sim-runner.test.js.map +1 -1
- package/dist/cli/sim-recipes.d.ts +6 -5
- package/dist/cli/sim-recipes.d.ts.map +1 -1
- package/dist/cli/sim-recipes.js +8 -8
- package/dist/cli/sim-recipes.js.map +1 -1
- package/dist/cli/sim-runner.d.ts +3 -48
- package/dist/cli/sim-runner.d.ts.map +1 -1
- package/dist/cli/sim-runner.js +67 -143
- package/dist/cli/sim-runner.js.map +1 -1
- package/dist/cli/sim-worker.d.ts.map +1 -1
- package/dist/cli/sim-worker.js +0 -1
- package/dist/cli/sim-worker.js.map +1 -1
- package/dist/cli/sim.d.ts.map +1 -1
- package/dist/cli/sim.js +10 -3
- package/dist/cli/sim.js.map +1 -1
- package/dist/framework/execution/fault-model.d.ts.map +1 -1
- package/dist/framework/execution/fault-model.js +0 -1
- package/dist/framework/execution/fault-model.js.map +1 -1
- package/dist/framework/execution/run-load-window.d.ts.map +1 -1
- package/dist/framework/execution/run-load-window.js +0 -2
- package/dist/framework/execution/run-load-window.js.map +1 -1
- package/dist/framework/execution/scenario-aborted-error.d.ts.map +1 -1
- package/dist/framework/execution/scenario-aborted-error.js +0 -1
- package/dist/framework/execution/scenario-aborted-error.js.map +1 -1
- package/dist/framework/result-builder.d.ts.map +1 -1
- package/dist/framework/result-builder.js +0 -3
- package/dist/framework/result-builder.js.map +1 -1
- package/dist/framework/result-renderers.d.ts.map +1 -1
- package/dist/framework/result-renderers.js +0 -1
- package/dist/framework/result-renderers.js.map +1 -1
- package/dist/framework/validation.d.ts.map +1 -1
- package/dist/framework/validation.js +0 -1
- package/dist/framework/validation.js.map +1 -1
- package/dist/identity.d.ts +8 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +8 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/kinds/load/executor.d.ts.map +1 -1
- package/dist/kinds/load/executor.js +0 -2
- package/dist/kinds/load/executor.js.map +1 -1
- package/dist/plugins/loader.d.ts.map +1 -1
- package/dist/plugins/loader.js +0 -1
- package/dist/plugins/loader.js.map +1 -1
- package/dist/recipes/__tests__/recipes.test.d.ts +7 -0
- package/dist/recipes/__tests__/recipes.test.d.ts.map +1 -1
- package/dist/recipes/__tests__/recipes.test.js +0 -1
- package/dist/recipes/__tests__/recipes.test.js.map +1 -1
- package/dist/recipes/service.d.ts.map +1 -1
- package/dist/recipes/service.js +0 -1
- package/dist/recipes/service.js.map +1 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +13 -22
- package/dist/tool.js.map +1 -1
- package/package.json +23 -13
package/dist/cli/sim-recipes.js
CHANGED
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
* change. `checkCount` is a free-form label; sim reuses it for tags / a built-in
|
|
12
12
|
* marker.
|
|
13
13
|
*
|
|
14
|
-
* The command mounts
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* The command mounts in the canonical nested `<tool> <verb>` form under
|
|
15
|
+
* `simulation`; the primary alias keeps `sim recipes` working. Sim never had a
|
|
16
|
+
* legacy flat `sim-recipes`, so there is nothing to alias.
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { defineNestedCommand } from '@opensip-cli/core';
|
|
19
19
|
import { currentSimulationRecipeRegistry } from '../recipes/registry.js';
|
|
20
20
|
import { ensureScenariosLoaded } from './sim.js';
|
|
21
21
|
/**
|
|
@@ -44,15 +44,15 @@ export async function listSimRecipes(projectDir) {
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
* `
|
|
48
|
-
*
|
|
47
|
+
* `simulation recipes` — list available simulation recipes. defineTool mounts
|
|
48
|
+
* this draft as a subcommand of the canonical primary; `sim recipes` works via
|
|
49
|
+
* the primary alias.
|
|
49
50
|
* `command-result`: the host dispatches the returned result through the shared
|
|
50
51
|
* seam (`--json` → JSON, else the shared `viewListRecipes` renderer) — the same
|
|
51
52
|
* path `graph recipes` / `fit recipes` use.
|
|
52
53
|
*/
|
|
53
|
-
export const simRecipesCommandSpec =
|
|
54
|
+
export const simRecipesCommandSpec = defineNestedCommand({
|
|
54
55
|
name: 'recipes',
|
|
55
|
-
parent: 'sim',
|
|
56
56
|
description: 'List available simulation recipes',
|
|
57
57
|
commonFlags: ['cwd', 'json'],
|
|
58
58
|
scope: 'project',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-recipes.js","sourceRoot":"","sources":["../../src/cli/sim-recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sim-recipes.js","sourceRoot":"","sources":["../../src/cli/sim-recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKjD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAmB;IACtD,+EAA+E;IAC/E,kEAAkE;IAClE,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,+BAA+B,EAAE;SAC9C,cAAc,EAAE;SAChB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,sEAAsE;QACtE,0EAA0E;QAC1E,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc;KAC3D,CAAC,CAAC,CAAC;IAEN,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAyC,mBAAmB,CAG5F;IACA,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,mCAAmC;IAChD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,OAAsB,CAAC;QACpC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;CACF,CAAC,CAAC"}
|
package/dist/cli/sim-runner.d.ts
CHANGED
|
@@ -1,60 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* sim-runner —
|
|
3
|
-
* (ADR-0016). Before this, sim had NO live view: it ran to completion silently
|
|
4
|
-
* and printed a static envelope-to-table. It now renders the shared
|
|
5
|
-
* <LiveProgress> (pool mode) during the run, so the user sees an animated
|
|
6
|
-
* spinner + scenario `completed/total` — including for parallel recipes, where
|
|
7
|
-
* the counter advances as concurrent scenarios finish.
|
|
8
|
-
*
|
|
9
|
-
* Shared presentational primitives (Banner, RunHeader, RunSummary, LiveProgress)
|
|
10
|
-
* come from @opensip-cli/cli-ui. Effectful egress (cloud + --report-to) stays
|
|
11
|
-
* at the composition root: this runner returns the run's SignalEnvelope and the
|
|
12
|
-
* tool's registerLiveView callback delivers it once the Ink app exits.
|
|
13
|
-
*
|
|
14
|
-
* The live run executes OFF the main process (ADR-0028): it forks the CLI to the
|
|
15
|
-
* internal `sim-run-worker` subcommand and relays progress + result over IPC, so
|
|
16
|
-
* the spinner + 80ms clock never block on a synchronous chunk. It falls back to
|
|
17
|
-
* in-process when forking is disabled/unavailable (OPENSIP_CLI_NO_WORKER).
|
|
2
|
+
* sim-runner — live-view entry for `opensip sim` via @opensip-cli/cli-live.
|
|
18
3
|
*/
|
|
19
|
-
import { type
|
|
20
|
-
import { type LiveViewContext, type ToolRunCompletion
|
|
21
|
-
import React from 'react';
|
|
22
|
-
/** The sim subcommand's parsed options. `quiet`/`open` are not on the base
|
|
23
|
-
* ToolOptions (they're added by the command's `.option(...)` flags), so the
|
|
24
|
-
* live view widens the type to read `quiet`. */
|
|
4
|
+
import { type ToolOptions } from '@opensip-cli/contracts';
|
|
5
|
+
import { type LiveViewContext, type ToolRunCompletion } from '@opensip-cli/core';
|
|
25
6
|
type SimLiveArgs = ToolOptions & {
|
|
26
7
|
readonly quiet?: boolean;
|
|
27
8
|
readonly verbose?: boolean;
|
|
28
9
|
};
|
|
29
|
-
/** Props for {@link SimRunner}. Exported so the live-view state machine can be
|
|
30
|
-
* driven directly under ink-testing-library without spinning up the full
|
|
31
|
-
* `render()` host (which needs a TTY stdout). */
|
|
32
|
-
export interface SimRunnerProps {
|
|
33
|
-
readonly args: SimLiveArgs;
|
|
34
|
-
readonly setExitCode?: (code: number) => void;
|
|
35
|
-
readonly onEnvelope?: (envelope: SignalEnvelope) => void;
|
|
36
|
-
/**
|
|
37
|
-
* Surfaces the run's generic-session contribution (host-owned-run-timing
|
|
38
|
-
* Phase 2). The host persists it after the live view exits — the component
|
|
39
|
-
* must NOT write the session itself.
|
|
40
|
-
*/
|
|
41
|
-
readonly onSession?: (contribution: ToolSessionContribution) => void;
|
|
42
|
-
/** From host LiveViewContext — carries the run timer for the RunTimingProvider. */
|
|
43
|
-
readonly liveContext?: LiveViewContext;
|
|
44
|
-
}
|
|
45
|
-
/** The sim live-view component (loading → running → done/error). Exported for
|
|
46
|
-
* testing; production renders it through {@link renderSimLive}. */
|
|
47
|
-
export declare function SimRunner({ args, setExitCode, onEnvelope, onSession, liveContext, }: SimRunnerProps): React.ReactElement;
|
|
48
10
|
export interface RenderSimLiveOptions {
|
|
49
11
|
readonly setExitCode?: (code: number) => void;
|
|
50
12
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Render the live `sim` view. Resolves once the Ink app exits with a
|
|
53
|
-
* {@link ToolRunCompletion} carrying the run's `envelope` (for root-owned
|
|
54
|
-
* egress) and `session` contribution (persisted by the HOST after this
|
|
55
|
-
* resolves — host-owned-run-timing Phase 2; the component no longer writes the
|
|
56
|
-
* session itself).
|
|
57
|
-
*/
|
|
58
13
|
export declare function renderSimLive(args: SimLiveArgs, options?: RenderSimLiveOptions, liveContext?: LiveViewContext): Promise<ToolRunCompletion>;
|
|
59
14
|
export {};
|
|
60
15
|
//# sourceMappingURL=sim-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-runner.d.ts","sourceRoot":"","sources":["../../src/cli/sim-runner.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sim-runner.d.ts","sourceRoot":"","sources":["../../src/cli/sim-runner.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAuB,KAAK,WAAW,EAAsB,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAc3B,KAAK,WAAW,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAkB1F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,oBAAoB,EAC9B,WAAW,CAAC,EAAE,eAAe,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAkF5B"}
|
package/dist/cli/sim-runner.js
CHANGED
|
@@ -1,81 +1,49 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
1
|
/**
|
|
3
|
-
* sim-runner —
|
|
4
|
-
* (ADR-0016). Before this, sim had NO live view: it ran to completion silently
|
|
5
|
-
* and printed a static envelope-to-table. It now renders the shared
|
|
6
|
-
* <LiveProgress> (pool mode) during the run, so the user sees an animated
|
|
7
|
-
* spinner + scenario `completed/total` — including for parallel recipes, where
|
|
8
|
-
* the counter advances as concurrent scenarios finish.
|
|
9
|
-
*
|
|
10
|
-
* Shared presentational primitives (Banner, RunHeader, RunSummary, LiveProgress)
|
|
11
|
-
* come from @opensip-cli/cli-ui. Effectful egress (cloud + --report-to) stays
|
|
12
|
-
* at the composition root: this runner returns the run's SignalEnvelope and the
|
|
13
|
-
* tool's registerLiveView callback delivers it once the Ink app exits.
|
|
14
|
-
*
|
|
15
|
-
* The live run executes OFF the main process (ADR-0028): it forks the CLI to the
|
|
16
|
-
* internal `sim-run-worker` subcommand and relays progress + result over IPC, so
|
|
17
|
-
* the spinner + 80ms clock never block on a synchronous chunk. It falls back to
|
|
18
|
-
* in-process when forking is disabled/unavailable (OPENSIP_CLI_NO_WORKER).
|
|
2
|
+
* sim-runner — live-view entry for `opensip sim` via @opensip-cli/cli-live.
|
|
19
3
|
*/
|
|
20
4
|
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
21
5
|
import { tmpdir } from 'node:os';
|
|
22
6
|
import { join } from 'node:path';
|
|
23
|
-
import {
|
|
7
|
+
import { runToolLiveView } from '@opensip-cli/cli-live';
|
|
24
8
|
import { runOffThreadOrInProcess, currentScope, liveEngineCorrelation, } from '@opensip-cli/core';
|
|
25
|
-
import {
|
|
26
|
-
import React, { useEffect, useState } from 'react';
|
|
9
|
+
import { SIMULATION_LAYOUT_KEY } from '../identity.js';
|
|
27
10
|
import { buildSimulationSessionPayload } from '../persistence/session-payload.js';
|
|
28
11
|
import { executeSim } from './sim.js';
|
|
29
12
|
const SIM_TOOL_TITLE = 'Simulation Scenarios';
|
|
30
13
|
const SIM_TOOL_DESCRIPTION = 'Running simulation scenarios against your codebase.';
|
|
31
|
-
const SIM_RUNNING_SURFACE = { shape: 'pool', label: 'Running scenarios...' };
|
|
32
14
|
const SIM_LOADING_SURFACE = { shape: 'pool', label: 'Loading scenarios...' };
|
|
33
|
-
const
|
|
34
|
-
// The loading phase has no event stream yet — render a bare animated spinner.
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Run sim through the transport, translating the engine's `(completed, total)`
|
|
38
|
-
* callback into pool ProgressEvents on the `'scenarios'` stage. Hoisted to
|
|
39
|
-
* module scope so the emit translation isn't a deeply-nested function.
|
|
40
|
-
*/
|
|
15
|
+
const SIM_RUNNING_SURFACE = { shape: 'pool', label: 'Running scenarios...' };
|
|
41
16
|
function executeSimWithProgress(args, emit) {
|
|
42
17
|
emit({ type: 'stage-start', stage: 'scenarios', label: 'Running scenarios...' });
|
|
43
18
|
return executeSim(args, {
|
|
44
19
|
onProgress: (completed, total) => emit({ type: 'stage-progress', stage: 'scenarios', completed, total }),
|
|
45
20
|
});
|
|
46
21
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
argv: ['sim-run-worker', specPath],
|
|
73
|
-
...(correlation ? { correlation } : {}),
|
|
74
|
-
},
|
|
75
|
-
inProcess: (emit) => executeSimWithProgress(args, emit),
|
|
76
|
-
});
|
|
77
|
-
setState({ phase: 'running', subscribe: run.onProgress });
|
|
78
|
-
void (async () => {
|
|
22
|
+
export async function renderSimLive(args, options, liveContext) {
|
|
23
|
+
return runToolLiveView({
|
|
24
|
+
tool: 'simulation',
|
|
25
|
+
meta: { title: SIM_TOOL_TITLE, description: SIM_TOOL_DESCRIPTION },
|
|
26
|
+
surface: SIM_RUNNING_SURFACE,
|
|
27
|
+
loadingSurface: SIM_LOADING_SURFACE,
|
|
28
|
+
verbose: args.verbose === true,
|
|
29
|
+
quiet: args.quiet === true,
|
|
30
|
+
projectPath: args.cwd,
|
|
31
|
+
walkedUp: currentScope()?.projectContext?.walkedUp,
|
|
32
|
+
initialHeaderMetadata: [{ label: 'Recipe', value: args.recipe ?? 'default' }],
|
|
33
|
+
produce: async (_emit, helpers) => {
|
|
34
|
+
const specDir = mkdtempSync(join(tmpdir(), 'sim-worker-'));
|
|
35
|
+
const specPath = join(specDir, 'spec.json');
|
|
36
|
+
writeFileSync(specPath, JSON.stringify(args), 'utf8');
|
|
37
|
+
const correlation = liveEngineCorrelation(currentScope()?.correlation);
|
|
38
|
+
const run = runOffThreadOrInProcess({
|
|
39
|
+
descriptor: {
|
|
40
|
+
command: process.argv[1] ?? '',
|
|
41
|
+
argv: ['sim-run-worker', specPath],
|
|
42
|
+
...(correlation ? { correlation } : {}),
|
|
43
|
+
},
|
|
44
|
+
inProcess: (workerEmit) => executeSimWithProgress(args, workerEmit),
|
|
45
|
+
});
|
|
46
|
+
helpers.setRunning(run.onProgress);
|
|
79
47
|
let simResult;
|
|
80
48
|
try {
|
|
81
49
|
simResult = await run.result;
|
|
@@ -84,90 +52,46 @@ export function SimRunner({ args, setExitCode, onEnvelope, onSession, liveContex
|
|
|
84
52
|
rmSync(specDir, { recursive: true, force: true });
|
|
85
53
|
}
|
|
86
54
|
const { result } = simResult;
|
|
87
|
-
if (cancelled)
|
|
88
|
-
return;
|
|
89
55
|
if (result.type === 'error') {
|
|
90
|
-
|
|
91
|
-
|
|
56
|
+
const err = result;
|
|
57
|
+
return {
|
|
58
|
+
kind: 'error',
|
|
59
|
+
message: err.message,
|
|
60
|
+
exitCode: err.exitCode,
|
|
61
|
+
...(err.suggestion === undefined ? {} : { suggestion: err.suggestion }),
|
|
62
|
+
};
|
|
92
63
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
passed: result.envelope.verdict.passed,
|
|
108
|
-
payload: buildSimulationSessionPayload(result.envelope),
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
onEnvelope?.(result.envelope);
|
|
112
|
-
setState({
|
|
113
|
-
phase: 'done',
|
|
114
|
-
result: {
|
|
115
|
-
envelope: result.envelope,
|
|
116
|
-
verboseDetail: result.verboseDetail,
|
|
64
|
+
const done = {
|
|
65
|
+
envelope: result.envelope,
|
|
66
|
+
verboseDetail: result.verboseDetail,
|
|
67
|
+
};
|
|
68
|
+
const findingsGroups = done.verboseDetail?.kind === 'findings' && done.verboseDetail.groups.length > 0
|
|
69
|
+
? done.verboseDetail.groups
|
|
70
|
+
: undefined;
|
|
71
|
+
return {
|
|
72
|
+
kind: 'done',
|
|
73
|
+
done: {
|
|
74
|
+
summary: {
|
|
75
|
+
passed: done.envelope.verdict.passed,
|
|
76
|
+
errors: done.envelope.verdict.summary.errors,
|
|
77
|
+
warnings: done.envelope.verdict.summary.warnings,
|
|
117
78
|
},
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
if (state.phase === 'loading') {
|
|
136
|
-
return (_jsxs(_Fragment, { children: [header, _jsx(Box, { paddingTop: 1, children: _jsx(LiveProgress, { surface: SIM_LOADING_SURFACE, subscribe: NO_PROGRESS }) })] }));
|
|
137
|
-
}
|
|
138
|
-
if (state.phase === 'running') {
|
|
139
|
-
return (_jsxs(_Fragment, { children: [header, _jsx(LiveProgress, { surface: SIM_RUNNING_SURFACE, subscribe: state.subscribe })] }));
|
|
140
|
-
}
|
|
141
|
-
const { summary } = state.result.envelope.verdict;
|
|
142
|
-
const { verboseDetail } = state.result;
|
|
143
|
-
const renderPolicy = { verbose: args.verbose === true };
|
|
144
|
-
const findingsDetail = verboseDetail?.kind === 'findings' && verboseDetail.groups.length > 0
|
|
145
|
-
? verboseDetail
|
|
146
|
-
: undefined;
|
|
147
|
-
return (_jsxs(_Fragment, { children: [header, _jsxs(Box, { flexDirection: "column", children: [args.quiet !== true && findingsDetail !== undefined && (_jsx(Box, { children: renderToInk(viewFindingsGroups(findingsDetail.groups)) })), (() => {
|
|
148
|
-
const summaryEl = (_jsx(RunSummary, { passed: state.result.envelope.verdict.passed, errors: summary.errors, warnings: summary.warnings }));
|
|
149
|
-
return liveContext?.runSession ? (_jsx(RunTimingProvider, { timer: liveContext.runSession.timing, children: summaryEl })) : (summaryEl);
|
|
150
|
-
})(), args.quiet !== true && shouldRenderRunFooterHints(renderPolicy) && (_jsx(RunFooterHints, { hints: DEFAULT_RUN_FOOTER_HINTS }))] })] }));
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Render the live `sim` view. Resolves once the Ink app exits with a
|
|
154
|
-
* {@link ToolRunCompletion} carrying the run's `envelope` (for root-owned
|
|
155
|
-
* egress) and `session` contribution (persisted by the HOST after this
|
|
156
|
-
* resolves — host-owned-run-timing Phase 2; the component no longer writes the
|
|
157
|
-
* session itself).
|
|
158
|
-
*/
|
|
159
|
-
export async function renderSimLive(args, options, liveContext) {
|
|
160
|
-
let envelope;
|
|
161
|
-
let session;
|
|
162
|
-
const app = render(_jsx(ThemeProvider, { children: _jsx(ClockProvider, { children: _jsx(SimRunner, { args: args, setExitCode: options?.setExitCode, onEnvelope: (e) => {
|
|
163
|
-
envelope = e;
|
|
164
|
-
}, onSession: (c) => {
|
|
165
|
-
session = c;
|
|
166
|
-
}, liveContext: liveContext }) }) }));
|
|
167
|
-
await app.waitUntilExit();
|
|
168
|
-
process.stdout.write('\n');
|
|
169
|
-
// host-owned-run-timing Phase 3: the host persists the returned session
|
|
170
|
-
// contribution after this live renderer resolves.
|
|
171
|
-
return { envelope, session };
|
|
79
|
+
...(findingsGroups === undefined ? {} : { verboseFindings: findingsGroups }),
|
|
80
|
+
},
|
|
81
|
+
envelope: done.envelope,
|
|
82
|
+
session: {
|
|
83
|
+
tool: SIMULATION_LAYOUT_KEY,
|
|
84
|
+
cwd: args.cwd,
|
|
85
|
+
recipe: done.envelope.recipe,
|
|
86
|
+
score: done.envelope.verdict.score,
|
|
87
|
+
passed: done.envelope.verdict.passed,
|
|
88
|
+
payload: buildSimulationSessionPayload(done.envelope),
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
}, {
|
|
93
|
+
setExitCode: options?.setExitCode,
|
|
94
|
+
liveContext,
|
|
95
|
+
});
|
|
172
96
|
}
|
|
173
97
|
//# sourceMappingURL=sim-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-runner.js","sourceRoot":"","sources":["../../src/cli/sim-runner.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-runner.js","sourceRoot":"","sources":["../../src/cli/sim-runner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-worker.d.ts","sourceRoot":"","sources":["../../src/cli/sim-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sim-worker.d.ts","sourceRoot":"","sources":["../../src/cli/sim-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAgB3B;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtE;AAED,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,OAAO,EAAE,cAAc,CAiBvE,CAAC"}
|
package/dist/cli/sim-worker.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file detached-promises -- this worker's `send()` helper is synchronous (it calls process.send, which returns immediately); the name-based heuristic mistakes the floating send(...) IPC posts for promise-returning calls. The one genuine async call (executeSim) is awaited.
|
|
2
1
|
/**
|
|
3
2
|
* `sim-run-worker <specPath>` — the headless sim run forked by the live view
|
|
4
3
|
* (ADR-0028). The live runner forks `node <cliScript> sim-run-worker <spec>`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-worker.js","sourceRoot":"","sources":["../../src/cli/sim-worker.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sim-worker.js","sourceRoot":"","sources":["../../src/cli/sim-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EACL,aAAa,GAId,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAStC,kEAAkE;AAClE,SAAS,IAAI,CAAC,GAAkD;IAC9D,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAkB,CAAC;QACzE,IAAI,CAAC;YACH,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB,EAAE;SAClF,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE;YACvC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAC/B,IAAI,CAAC;gBACH,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;aACxE,CAAC;SACL,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/D,GAAG,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAyC,aAAa,CAGxF;IACA,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,UAAU;IACtB,WAAW,EACT,6FAA6F;IAC/F,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;IAC9E,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,YAAY;IACpB,eAAe,EAAE,YAAY;IAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAiB,EAAE;QACxC,MAAM,QAAQ,GAAI,OAAyC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF,CAAC,CAAC"}
|
package/dist/cli/sim.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim.d.ts","sourceRoot":"","sources":["../../src/cli/sim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAwBH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,WAAW,EAGZ,MAAM,wBAAwB,CAAC;AAOhC;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAEvD;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"sim.d.ts","sourceRoot":"","sources":["../../src/cli/sim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAwBH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,WAAW,EAGZ,MAAM,wBAAwB,CAAC;AAOhC;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAEvD;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC9E;AAiFD,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,WAAW,GAAG;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAClD,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAkIhE"}
|
package/dist/cli/sim.js
CHANGED
|
@@ -54,7 +54,6 @@ export async function ensureScenariosLoaded(projectDir) {
|
|
|
54
54
|
const pluginResult = await loadAllSimPlugins(projectDir);
|
|
55
55
|
load.pluginLoadErrors = pluginResult.errors;
|
|
56
56
|
for (const err of pluginResult.errors) {
|
|
57
|
-
process.stderr.write(`opensip: plugin failed to load — ${err}\n`);
|
|
58
57
|
logger.warn({ evt: 'cli.plugin.warning', module: 'cli:sim', message: err });
|
|
59
58
|
}
|
|
60
59
|
// 2. Scenario packages (+ co-located recipes → the sim-recipe domain) through
|
|
@@ -93,7 +92,12 @@ async function loadSimScenarioPackages(projectDir) {
|
|
|
93
92
|
const preferences = descriptor === undefined
|
|
94
93
|
? {}
|
|
95
94
|
: resolveCapabilityPreferences(descriptor, scope?.configDocument?.plugins ?? {});
|
|
96
|
-
await loadCapabilityDomain({
|
|
95
|
+
await loadCapabilityDomain({
|
|
96
|
+
registry,
|
|
97
|
+
domainId: 'sim-pack',
|
|
98
|
+
projectDir,
|
|
99
|
+
preferences,
|
|
100
|
+
});
|
|
97
101
|
}
|
|
98
102
|
/**
|
|
99
103
|
* A scenario passes the verdict when it emitted no `critical`/`high` signals
|
|
@@ -177,7 +181,10 @@ export async function executeSim(args, opts = {}) {
|
|
|
177
181
|
},
|
|
178
182
|
};
|
|
179
183
|
}
|
|
180
|
-
const service = new SimulationRecipeService({
|
|
184
|
+
const service = new SimulationRecipeService({
|
|
185
|
+
cwd: args.cwd,
|
|
186
|
+
onProgress: opts.onProgress,
|
|
187
|
+
});
|
|
181
188
|
const recipeResult = await service.runRecipe(recipe);
|
|
182
189
|
const scenarios = recipeResult.scenarios;
|
|
183
190
|
// Fail closed on an empty run. Zero executed scenarios — whether because
|
package/dist/cli/sim.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim.js","sourceRoot":"","sources":["../../src/cli/sim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACN,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAY5D,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,0BAA0B,EAAE,CAAC,gBAAgB,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAmB;IAC7D,MAAM,GAAG,GAAG,UAAU,IAAI,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,0BAA0B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG;QAAE,OAAO;IAEnC,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACtC,
|
|
1
|
+
{"version":3,"file":"sim.js","sourceRoot":"","sources":["../../src/cli/sim.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fault-model.d.ts","sourceRoot":"","sources":["../../../src/framework/execution/fault-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAS,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AAEzD,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,8CAA8C;IAC9C,OAAO,IAAI,SAAS,UAAU,EAAE,CAAC;CAClC;AAoBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE,cAAmB,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"fault-model.d.ts","sourceRoot":"","sources":["../../../src/framework/execution/fault-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAS,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AAEzD,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,8CAA8C;IAC9C,OAAO,IAAI,SAAS,UAAU,EAAE,CAAC;CAClC;AAoBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE,cAAmB,GAAG,UAAU,CA+DvF"}
|
|
@@ -63,7 +63,6 @@ export function createFaultModel(spec, deps = {}) {
|
|
|
63
63
|
// signal so it cancels, but guarantee the request fails regardless of
|
|
64
64
|
// whether the target honours the signal (we throw deterministically).
|
|
65
65
|
const controller = new AbortController();
|
|
66
|
-
// @fitness-ignore-next-line detached-promises -- AbortController.abort() is a synchronous void call, not a promise
|
|
67
66
|
controller.abort();
|
|
68
67
|
const signal = typeof AbortSignal.any === 'function'
|
|
69
68
|
? AbortSignal.any([ctx.signal, controller.signal])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fault-model.js","sourceRoot":"","sources":["../../../src/framework/execution/fault-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA0BH,SAAS,KAAK,CAAC,EAAU,EAAE,MAAmB;IAC5C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAe,EAAE,OAAuB,EAAE;IACzE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;IACpC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB;;;OAGG;IACH,KAAK,UAAU,UAAU,CAAC,KAAY,EAAE,MAAc,EAAE,GAAkB;QACxE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,mEAAmE;gBACnE,sEAAsE;gBACtE,sEAAsE;gBACtE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,
|
|
1
|
+
{"version":3,"file":"fault-model.js","sourceRoot":"","sources":["../../../src/framework/execution/fault-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-load-window.d.ts","sourceRoot":"","sources":["../../../src/framework/execution/run-load-window.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-load-window.d.ts","sourceRoot":"","sources":["../../../src/framework/execution/run-load-window.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAMxD,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC;AA+ED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAmD3B"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// @fitness-ignore-file detached-promises -- the driver intentionally dispatches in-flight requests and tracks them in a Set, draining via Promise.allSettled
|
|
2
1
|
/**
|
|
3
2
|
* @fileoverview Shared load-window driver used by the load and chaos kinds.
|
|
4
3
|
*
|
|
@@ -73,7 +72,6 @@ function dispatchRequest(state) {
|
|
|
73
72
|
/** Block until fewer than `cap` requests are in flight (or the run aborts). */
|
|
74
73
|
async function awaitBelowCap(inFlight, cap, signal) {
|
|
75
74
|
while (inFlight.size >= cap && !signal.aborted) {
|
|
76
|
-
// @fitness-ignore-next-line performance-anti-patterns -- back-pressure gate: blocks until the fastest in-flight request settles to free a concurrency slot; parallelizing defeats the cap
|
|
77
75
|
await Promise.race(inFlight);
|
|
78
76
|
}
|
|
79
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-load-window.js","sourceRoot":"","sources":["../../../src/framework/execution/run-load-window.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"run-load-window.js","sourceRoot":"","sources":["../../../src/framework/execution/run-load-window.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario-aborted-error.d.ts","sourceRoot":"","sources":["../../../src/framework/execution/scenario-aborted-error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scenario-aborted-error.d.ts","sourceRoot":"","sources":["../../../src/framework/execution/scenario-aborted-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5B,UAAU,CAAC,EAAE,MAAM;CAUhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario-aborted-error.js","sourceRoot":"","sources":["../../../src/framework/execution/scenario-aborted-error.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scenario-aborted-error.js","sourceRoot":"","sources":["../../../src/framework/execution/scenario-aborted-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAC1C,UAAU,CAAqB;IAExC,YAAY,UAAmB;QAC7B,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,UAAU,cAAc,CAAC,CAAC,CAAC,sBAAsB,EAAE;YAChF,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;SAC3C,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-builder.d.ts","sourceRoot":"","sources":["../../src/framework/result-builder.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,SAAS,eAAe,EAAE,GAC3C,MAAM,CAWR;AAMD;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAC7D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC,OAAO;IAIP,4CAA4C;IAC5C,aAAa,IAAI,MAAM;IAIvB,mCAAmC;IACnC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB;IAQxD,kCAAkC;IAClC,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAK7C,gFAAgF;IAChF,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASnC,iCAAiC;IACjC,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAKnD,iCAAiC;IACjC,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKnE,2DAA2D;IAC3D,kBAAkB,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"result-builder.d.ts","sourceRoot":"","sources":["../../src/framework/result-builder.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,SAAS,eAAe,EAAE,GAC3C,MAAM,CAWR;AAMD;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2B;IAC7D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC,OAAO;IAIP,4CAA4C;IAC5C,aAAa,IAAI,MAAM;IAIvB,mCAAmC;IACnC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB;IAQxD,kCAAkC;IAClC,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAK7C,gFAAgF;IAChF,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASnC,iCAAiC;IACjC,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAKnD,iCAAiC;IACjC,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKnE,2DAA2D;IAC3D,kBAAkB,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI;IAwBlE,2BAA2B;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,4BAA4B;IAC5B,UAAU,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAS5C,0EAA0E;IAC1E,KAAK,IAAI,iBAAiB;IA8B1B,OAAO,CAAC,sBAAsB;CAS/B;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CAWtD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,SAAS,iBAAiB,EAAE,GAAG,iBAAiB,CAiCzF"}
|