@opensip-cli/simulation 0.1.6 → 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__/public-api.test.js +2 -1
- package/dist/__tests__/public-api.test.js.map +1 -1
- package/dist/__tests__/test-utils/with-sim-scope.d.ts.map +1 -1
- package/dist/__tests__/test-utils/with-sim-scope.js +2 -2
- package/dist/__tests__/test-utils/with-sim-scope.js.map +1 -1
- package/dist/__tests__/tool-live-view.test.js +2 -2
- package/dist/__tests__/tool-live-view.test.js.map +1 -1
- package/dist/__tests__/tool-show-mode.test.js +2 -2
- package/dist/__tests__/tool-show-mode.test.js.map +1 -1
- package/dist/__tests__/tool.test.js +26 -13
- package/dist/__tests__/tool.test.js.map +1 -1
- package/dist/cli/__tests__/sim-runner.test.js +18 -2
- package/dist/cli/__tests__/sim-runner.test.js.map +1 -1
- package/dist/cli/__tests__/sim-worker.test.js +1 -1
- package/dist/cli/__tests__/sim-worker.test.js.map +1 -1
- package/dist/cli/__tests__/sim.test.js +18 -18
- package/dist/cli/__tests__/sim.test.js.map +1 -1
- package/dist/cli/sim-recipes.d.ts +36 -0
- package/dist/cli/sim-recipes.d.ts.map +1 -0
- package/dist/cli/sim-recipes.js +65 -0
- package/dist/cli/sim-recipes.js.map +1 -0
- package/dist/cli/sim-runner.d.ts.map +1 -1
- package/dist/cli/sim-runner.js +20 -22
- 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 +1 -0
- package/dist/cli/sim-worker.js.map +1 -1
- package/dist/cli/sim.d.ts +9 -6
- package/dist/cli/sim.d.ts.map +1 -1
- package/dist/cli/sim.js +15 -9
- package/dist/cli/sim.js.map +1 -1
- package/dist/persistence/session-replay.d.ts +9 -4
- package/dist/persistence/session-replay.d.ts.map +1 -1
- package/dist/persistence/session-replay.js +8 -9
- package/dist/persistence/session-replay.js.map +1 -1
- package/dist/persistence/session-replay.test.js +9 -8
- package/dist/persistence/session-replay.test.js.map +1 -1
- package/dist/plugins/__tests__/loader-scenarios.test.js +2 -2
- package/dist/plugins/__tests__/loader-scenarios.test.js.map +1 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +41 -61
- package/dist/tool.js.map +1 -1
- package/package.json +12 -8
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* sim-recipes command — list all available simulation recipes
|
|
3
|
+
* (tool-command-surface-taxonomy Task 3.3).
|
|
4
|
+
*
|
|
5
|
+
* Sim already supports RUNNING a recipe (`sim --recipe <name>`) but had no
|
|
6
|
+
* command to LIST recipes — a missing discoverability command, not an omission.
|
|
7
|
+
* This adds the equivalent of fitness's `listRecipes` (`cli/fit-recipes.ts`) and
|
|
8
|
+
* graph's `listGraphRecipes` (`cli/graph-recipes.ts`): it maps the scope-bound
|
|
9
|
+
* simulation recipe registry to the shared `ListRecipesResult` contract so the
|
|
10
|
+
* existing CLI renderer (`viewListRecipes`) handles the output with no contracts
|
|
11
|
+
* change. `checkCount` is a free-form label; sim reuses it for tags / a built-in
|
|
12
|
+
* marker.
|
|
13
|
+
*
|
|
14
|
+
* The command mounts only in the canonical nested `<tool> <verb>` form
|
|
15
|
+
* (`sim recipes`, `parent: 'sim'`) via the Phase 0 nested-mount capability — sim
|
|
16
|
+
* never had a legacy flat `sim-recipes`, so there is nothing to alias.
|
|
17
|
+
*/
|
|
18
|
+
import { defineCommand } from '@opensip-cli/core';
|
|
19
|
+
import { currentSimulationRecipeRegistry } from '../recipes/registry.js';
|
|
20
|
+
import { ensureScenariosLoaded } from './sim.js';
|
|
21
|
+
/**
|
|
22
|
+
* Returns metadata for every registered simulation recipe (built-in plus
|
|
23
|
+
* user-defined). Loads sim plugins first (via {@link ensureScenariosLoaded}) so
|
|
24
|
+
* project-local + package recipes appear, mirroring how `fit-recipes` calls
|
|
25
|
+
* `ensureChecksLoaded` before reading the registry. Reads
|
|
26
|
+
* `currentSimulationRecipeRegistry()`, so it runs inside the entered RunScope.
|
|
27
|
+
*/
|
|
28
|
+
export async function listSimRecipes(projectDir) {
|
|
29
|
+
// Load plugins so user-defined recipes (project-local + package scenarios with
|
|
30
|
+
// co-located recipes) are registered before we read the registry.
|
|
31
|
+
await ensureScenariosLoaded(projectDir);
|
|
32
|
+
const recipes = currentSimulationRecipeRegistry()
|
|
33
|
+
.listForDisplay()
|
|
34
|
+
.map((recipe) => ({
|
|
35
|
+
name: recipe.name,
|
|
36
|
+
description: recipe.description,
|
|
37
|
+
// `checkCount` is a free-form label the shared renderer prints in dim
|
|
38
|
+
// parentheses; sim reuses it to surface the built-in/user-defined origin.
|
|
39
|
+
checkCount: recipe.isBuiltIn ? 'built-in' : 'user-defined',
|
|
40
|
+
}));
|
|
41
|
+
return {
|
|
42
|
+
type: 'list-recipes',
|
|
43
|
+
recipes,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* `sim recipes` — list available simulation recipes. Mounts as a SUBCOMMAND of
|
|
48
|
+
* the `sim` primary (`parent: 'sim'`, via the Phase 0 nested-mount capability).
|
|
49
|
+
* `command-result`: the host dispatches the returned result through the shared
|
|
50
|
+
* seam (`--json` → JSON, else the shared `viewListRecipes` renderer) — the same
|
|
51
|
+
* path `graph recipes` / `fit recipes` use.
|
|
52
|
+
*/
|
|
53
|
+
export const simRecipesCommandSpec = defineCommand({
|
|
54
|
+
name: 'recipes',
|
|
55
|
+
parent: 'sim',
|
|
56
|
+
description: 'List available simulation recipes',
|
|
57
|
+
commonFlags: ['cwd', 'json'],
|
|
58
|
+
scope: 'project',
|
|
59
|
+
output: 'command-result',
|
|
60
|
+
handler: async (rawOpts) => {
|
|
61
|
+
const opts = rawOpts;
|
|
62
|
+
return listSimRecipes(opts.cwd);
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=sim-recipes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-recipes.js","sourceRoot":"","sources":["../../src/cli/sim-recipes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,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;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAyC,aAAa,CAGtF;IACA,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,KAAK;IACb,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-runner.d.ts","sourceRoot":"","sources":["../../src/cli/sim-runner.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"sim-runner.d.ts","sourceRoot":"","sources":["../../src/cli/sim-runner.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA0BH,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC7B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAA8B,MAAM,OAAO,CAAC;AAUnD;;iDAEiD;AACjD,KAAK,WAAW,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAwC1F;;kDAEkD;AAClD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACrE,mFAAmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;CACxC;AAED;oEACoE;AACpE,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,GACZ,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAwKrC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,oBAAoB,EAC9B,WAAW,CAAC,EAAE,eAAe,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAyB5B"}
|
package/dist/cli/sim-runner.js
CHANGED
|
@@ -20,8 +20,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
20
20
|
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
21
21
|
import { tmpdir } from 'node:os';
|
|
22
22
|
import { join } from 'node:path';
|
|
23
|
-
import { Banner, ClockProvider, ErrorMessage, LiveProgress, normalizeBannerSize, ProjectHeader, renderToInk, RunFooterHints, RunHeader, RunSummary, RunTimingProvider, ThemeProvider, UpdateHint,
|
|
24
|
-
import { runOffThreadOrInProcess, currentScope, } from '@opensip-cli/core';
|
|
23
|
+
import { Banner, ClockProvider, ErrorMessage, LiveProgress, normalizeBannerSize, ProjectHeader, renderToInk, RunFooterHints, RunHeader, RunSummary, RunTimingProvider, shouldRenderRunFooterHints, ThemeProvider, UpdateHint, DEFAULT_RUN_FOOTER_HINTS, viewFindingsGroups, } from '@opensip-cli/cli-ui';
|
|
24
|
+
import { runOffThreadOrInProcess, currentScope, liveEngineCorrelation, } from '@opensip-cli/core';
|
|
25
25
|
import { Box, Static, useApp, render } from 'ink';
|
|
26
26
|
import React, { useEffect, useState } from 'react';
|
|
27
27
|
import { buildSimulationSessionPayload } from '../persistence/session-payload.js';
|
|
@@ -60,8 +60,18 @@ export function SimRunner({ args, setExitCode, onEnvelope, onSession, liveContex
|
|
|
60
60
|
const specDir = mkdtempSync(join(tmpdir(), 'sim-worker-'));
|
|
61
61
|
const specPath = join(specDir, 'spec.json');
|
|
62
62
|
writeFileSync(specPath, JSON.stringify(args), 'utf8');
|
|
63
|
+
// Forward the parent run's correlation bag (composition root, Phase 0) so the
|
|
64
|
+
// forked live-engine worker's logs attribute to this run — symmetric to the
|
|
65
|
+
// spawn-path shard-runner. The transport injects OPENSIP_RUN_ID from
|
|
66
|
+
// currentScope()?.runId (B1); the descriptor omits runId and marks the
|
|
67
|
+
// live-engine fork via workerKind.
|
|
68
|
+
const correlation = liveEngineCorrelation(currentScope()?.correlation);
|
|
63
69
|
const run = runOffThreadOrInProcess({
|
|
64
|
-
descriptor: {
|
|
70
|
+
descriptor: {
|
|
71
|
+
command: process.argv[1] ?? '',
|
|
72
|
+
argv: ['sim-run-worker', specPath],
|
|
73
|
+
...(correlation ? { correlation } : {}),
|
|
74
|
+
},
|
|
65
75
|
inProcess: (emit) => executeSimWithProgress(args, emit),
|
|
66
76
|
});
|
|
67
77
|
setState({ phase: 'running', subscribe: run.onProgress });
|
|
@@ -86,11 +96,13 @@ export function SimRunner({ args, setExitCode, onEnvelope, onSession, liveContex
|
|
|
86
96
|
// `deliverSignals`; the root sets the exit from `envelope.verdict.passed`.
|
|
87
97
|
// Host-owned persistence (host-owned-run-timing Phase 2): surface the
|
|
88
98
|
// contribution; the host persists after the live view exits.
|
|
89
|
-
|
|
99
|
+
// envelope-first-presentation: `result` is the render-only RunPresentation —
|
|
100
|
+
// cwd comes from `args.cwd` (in scope), recipe from `result.envelope.recipe`.
|
|
101
|
+
if (result.type === 'run-presentation') {
|
|
90
102
|
onSession?.({
|
|
91
103
|
tool: 'sim',
|
|
92
|
-
cwd:
|
|
93
|
-
recipe: result.
|
|
104
|
+
cwd: args.cwd,
|
|
105
|
+
recipe: result.envelope.recipe,
|
|
94
106
|
score: result.envelope.verdict.score,
|
|
95
107
|
passed: result.envelope.verdict.passed,
|
|
96
108
|
payload: buildSimulationSessionPayload(result.envelope),
|
|
@@ -101,8 +113,6 @@ export function SimRunner({ args, setExitCode, onEnvelope, onSession, liveContex
|
|
|
101
113
|
phase: 'done',
|
|
102
114
|
result: {
|
|
103
115
|
envelope: result.envelope,
|
|
104
|
-
// duration omitted for summary (host provider supplies); keep if present for other internal use
|
|
105
|
-
...(result.durationMs === undefined ? {} : { durationMs: result.durationMs }),
|
|
106
116
|
verboseDetail: result.verboseDetail,
|
|
107
117
|
},
|
|
108
118
|
});
|
|
@@ -130,26 +140,14 @@ export function SimRunner({ args, setExitCode, onEnvelope, onSession, liveContex
|
|
|
130
140
|
}
|
|
131
141
|
const { summary } = state.result.envelope.verdict;
|
|
132
142
|
const { verboseDetail } = state.result;
|
|
143
|
+
const renderPolicy = { verbose: args.verbose === true };
|
|
133
144
|
const findingsDetail = verboseDetail?.kind === 'findings' && verboseDetail.groups.length > 0
|
|
134
145
|
? verboseDetail
|
|
135
146
|
: undefined;
|
|
136
147
|
return (_jsxs(_Fragment, { children: [header, _jsxs(Box, { flexDirection: "column", children: [args.quiet !== true && findingsDetail !== undefined && (_jsx(Box, { children: renderToInk(viewFindingsGroups(findingsDetail.groups)) })), (() => {
|
|
137
148
|
const summaryEl = (_jsx(RunSummary, { passed: state.result.envelope.verdict.passed, errors: summary.errors, warnings: summary.warnings }));
|
|
138
149
|
return liveContext?.runSession ? (_jsx(RunTimingProvider, { timer: liveContext.runSession.timing, children: summaryEl })) : (summaryEl);
|
|
139
|
-
})(), args.quiet !== true && (_jsx(RunFooterHints, { hints:
|
|
140
|
-
? [
|
|
141
|
-
{
|
|
142
|
-
text: 'opensip report for HTML report',
|
|
143
|
-
bold: ['opensip report'],
|
|
144
|
-
},
|
|
145
|
-
]
|
|
146
|
-
: [
|
|
147
|
-
VERBOSE_DETAIL_HINT,
|
|
148
|
-
{
|
|
149
|
-
text: 'opensip report for HTML report',
|
|
150
|
-
bold: ['opensip report'],
|
|
151
|
-
},
|
|
152
|
-
] }))] })] }));
|
|
150
|
+
})(), args.quiet !== true && shouldRenderRunFooterHints(renderPolicy) && (_jsx(RunFooterHints, { hints: DEFAULT_RUN_FOOTER_HINTS }))] })] }));
|
|
153
151
|
}
|
|
154
152
|
/**
|
|
155
153
|
* Render the live `sim` view. Resolves once the Ink app exits with a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-runner.js","sourceRoot":"","sources":["../../src/cli/sim-runner.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,MAAM,EACN,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,
|
|
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":"AACA;;;;;;;;;;;;;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,
|
|
1
|
+
{"version":3,"file":"sim-worker.d.ts","sourceRoot":"","sources":["../../src/cli/sim-worker.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;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
|
@@ -51,6 +51,7 @@ export async function executeSimWorker(specPath) {
|
|
|
51
51
|
/** `sim-run-worker` — [internal] headless sim run, IPC progress/result. */
|
|
52
52
|
export const simRunWorkerCommandSpec = defineCommand({
|
|
53
53
|
name: 'sim-run-worker',
|
|
54
|
+
visibility: 'internal',
|
|
54
55
|
description: '[internal] Run sim headless and stream progress + result over IPC (forked by the live view)',
|
|
55
56
|
commonFlags: [],
|
|
56
57
|
args: [{ name: 'specPath', description: 'Path to a JSON sim-args spec file' }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-worker.js","sourceRoot":"","sources":["../../src/cli/sim-worker.ts"],"names":[],"mappings":"AAAA,iSAAiS;AACjS;;;;;;;;;;;;;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,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"}
|
|
1
|
+
{"version":3,"file":"sim-worker.js","sourceRoot":"","sources":["../../src/cli/sim-worker.ts"],"names":[],"mappings":"AAAA,iSAAiS;AACjS;;;;;;;;;;;;;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
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* registered scenario, parallel mode). With `--recipe <name>`, looks
|
|
6
6
|
* the recipe up in the registry and runs it.
|
|
7
7
|
*
|
|
8
|
-
* Returns a
|
|
9
|
-
* callers (CLI / Tool layer)
|
|
8
|
+
* Returns a render-only `RunPresentation` carrying the run envelope (the
|
|
9
|
+
* per-scenario outcomes ride on `envelope.units`); callers (CLI / Tool layer)
|
|
10
|
+
* render or JSON-serialize the envelope as appropriate.
|
|
10
11
|
*
|
|
11
12
|
* Scenario loading lifecycle (mirrors fitness's `ensureChecksLoaded`):
|
|
12
13
|
*
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
* the CLI exists to prevent. (The loader only structured-logs the
|
|
20
21
|
* empty registry; the fatal decision is the command's.)
|
|
21
22
|
*/
|
|
22
|
-
import type { ErrorResult,
|
|
23
|
+
import type { ErrorResult, RunPresentation, ToolOptions } from '@opensip-cli/contracts';
|
|
23
24
|
/**
|
|
24
25
|
* Plugin load errors recorded during the most recent ensureScenariosLoaded()
|
|
25
26
|
* call — on `scope.simulation.load` now, NOT a module singleton (audit F1). Read
|
|
@@ -43,13 +44,15 @@ export interface ExecuteSimOptions {
|
|
|
43
44
|
readonly onProgress?: (completed: number, total: number) => void;
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
|
-
* Run sim and return
|
|
47
|
-
* recipe is missing). The caller
|
|
47
|
+
* Run sim and return the render-only {@link RunPresentation} (or an
|
|
48
|
+
* {@link ErrorResult} when the recipe is missing / no scenarios run). The caller
|
|
49
|
+
* decides what to print or render. `recipeName`/`cwd` are no longer on the render
|
|
50
|
+
* object (the handler recovers them from `result.envelope.recipe` + `opts.cwd`).
|
|
48
51
|
*/
|
|
49
52
|
export declare function executeSim(args: ToolOptions & {
|
|
50
53
|
readonly verbose?: boolean;
|
|
51
54
|
}, opts?: ExecuteSimOptions): Promise<{
|
|
52
|
-
result:
|
|
55
|
+
result: RunPresentation;
|
|
53
56
|
} | {
|
|
54
57
|
result: ErrorResult;
|
|
55
58
|
}>;
|
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
|
|
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,CAiC9E;AA4ED,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,CA+HhE"}
|
package/dist/cli/sim.js
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* registered scenario, parallel mode). With `--recipe <name>`, looks
|
|
6
6
|
* the recipe up in the registry and runs it.
|
|
7
7
|
*
|
|
8
|
-
* Returns a
|
|
9
|
-
* callers (CLI / Tool layer)
|
|
8
|
+
* Returns a render-only `RunPresentation` carrying the run envelope (the
|
|
9
|
+
* per-scenario outcomes ride on `envelope.units`); callers (CLI / Tool layer)
|
|
10
|
+
* render or JSON-serialize the envelope as appropriate.
|
|
10
11
|
*
|
|
11
12
|
* Scenario loading lifecycle (mirrors fitness's `ensureChecksLoaded`):
|
|
12
13
|
*
|
|
@@ -140,8 +141,10 @@ function assembleEnvelopeInputs(scenarios) {
|
|
|
140
141
|
return { units, signals };
|
|
141
142
|
}
|
|
142
143
|
/**
|
|
143
|
-
* Run sim and return
|
|
144
|
-
* recipe is missing). The caller
|
|
144
|
+
* Run sim and return the render-only {@link RunPresentation} (or an
|
|
145
|
+
* {@link ErrorResult} when the recipe is missing / no scenarios run). The caller
|
|
146
|
+
* decides what to print or render. `recipeName`/`cwd` are no longer on the render
|
|
147
|
+
* object (the handler recovers them from `result.envelope.recipe` + `opts.cwd`).
|
|
145
148
|
*/
|
|
146
149
|
export async function executeSim(args, opts = {}) {
|
|
147
150
|
// Lifecycle: load .mjs plugins + scenario packages before the recipe
|
|
@@ -241,12 +244,15 @@ export async function executeSim(args, opts = {}) {
|
|
|
241
244
|
const verboseDetail = args.verbose === true
|
|
242
245
|
? { kind: 'findings', groups: buildFindingGroups(units, signals) }
|
|
243
246
|
: undefined;
|
|
247
|
+
// envelope-first-presentation: the render object is the render-only
|
|
248
|
+
// RunPresentation. recipeName/cwd are no longer carried on it — the handler
|
|
249
|
+
// recovers the recipe from `envelope.recipe` and cwd from `opts.cwd`. No
|
|
250
|
+
// `durationMs` is set: sim's summary duration is the envelope unit-sum (the
|
|
251
|
+
// presentation renderer falls back to it), matching the pre-migration render
|
|
252
|
+
// byte-for-byte (sim-done's durationMs field was never consumed by the view).
|
|
244
253
|
const result = {
|
|
245
|
-
type: '
|
|
246
|
-
|
|
247
|
-
cwd: args.cwd,
|
|
248
|
-
// durationMs optional on SimDoneResult (phase2 host timing); internal recipe makespan may be present.
|
|
249
|
-
...(recipeResult.durationMs === undefined ? {} : { durationMs: recipeResult.durationMs }),
|
|
254
|
+
type: 'run-presentation',
|
|
255
|
+
tool: 'simulation',
|
|
250
256
|
// ADR-0035: the run verdict is the single host verdict. With Phase 0 a failed
|
|
251
257
|
// scenario emits an error signal, so `envelope.verdict.passed` (with the {1,0}
|
|
252
258
|
// policy) is exactly the old `failed > 0`; the host derives the exit from it.
|
package/dist/cli/sim.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim.js","sourceRoot":"","sources":["../../src/cli/sim.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sim.js","sourceRoot":"","sources":["../../src/cli/sim.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RunPresentation, StoredSession, ToolSessionReplay } from '@opensip-cli/contracts';
|
|
2
2
|
/**
|
|
3
|
-
* Project a stored sim session back into a {@link SignalEnvelope}/{@link
|
|
3
|
+
* Project a stored sim session back into a {@link SignalEnvelope}/{@link RunPresentation}.
|
|
4
4
|
*
|
|
5
5
|
* The structural decode of the opaque payload is shared across tools
|
|
6
6
|
* (`decodeSessionPayload`); this function owns only sim's projection
|
|
7
|
-
* (`tool: 'sim'`, `category: 'testing'`, signal id prefix
|
|
7
|
+
* (`tool: 'sim'`, `category: 'testing'`, signal id prefix).
|
|
8
|
+
*
|
|
9
|
+
* The replay RENDER path reads only `replay.envelope` + `replay.fidelity` (the
|
|
10
|
+
* host builds the shared `SessionReplayResult` from those); the inner
|
|
11
|
+
* `RunPresentation` `result` is a uniform, render-only carrier and is not on the
|
|
12
|
+
* replay render path.
|
|
8
13
|
*
|
|
9
14
|
* @throws {Error | TypeError} when the stored payload is not the expected shape
|
|
10
15
|
* (propagated from `decodeSessionPayload`).
|
|
11
16
|
*/
|
|
12
|
-
export declare function simReplayFromSession(stored: StoredSession): ToolSessionReplay<
|
|
17
|
+
export declare function simReplayFromSession(stored: StoredSession): ToolSessionReplay<RunPresentation>;
|
|
13
18
|
//# sourceMappingURL=session-replay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../src/persistence/session-replay.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../src/persistence/session-replay.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EAEf,aAAa,EACb,iBAAiB,EAElB,MAAM,wBAAwB,CAAC;AAGhC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAmC9F"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { decodeSessionPayload } from '@opensip-cli/session-store';
|
|
2
2
|
/**
|
|
3
|
-
* Project a stored sim session back into a {@link SignalEnvelope}/{@link
|
|
3
|
+
* Project a stored sim session back into a {@link SignalEnvelope}/{@link RunPresentation}.
|
|
4
4
|
*
|
|
5
5
|
* The structural decode of the opaque payload is shared across tools
|
|
6
6
|
* (`decodeSessionPayload`); this function owns only sim's projection
|
|
7
|
-
* (`tool: 'sim'`, `category: 'testing'`, signal id prefix
|
|
7
|
+
* (`tool: 'sim'`, `category: 'testing'`, signal id prefix).
|
|
8
|
+
*
|
|
9
|
+
* The replay RENDER path reads only `replay.envelope` + `replay.fidelity` (the
|
|
10
|
+
* host builds the shared `SessionReplayResult` from those); the inner
|
|
11
|
+
* `RunPresentation` `result` is a uniform, render-only carrier and is not on the
|
|
12
|
+
* replay render path.
|
|
8
13
|
*
|
|
9
14
|
* @throws {Error | TypeError} when the stored payload is not the expected shape
|
|
10
15
|
* (propagated from `decodeSessionPayload`).
|
|
@@ -38,13 +43,7 @@ export function simReplayFromSession(stored) {
|
|
|
38
43
|
return {
|
|
39
44
|
fidelity: 'projection',
|
|
40
45
|
envelope,
|
|
41
|
-
result: {
|
|
42
|
-
type: 'sim-done',
|
|
43
|
-
recipeName: stored.recipe ?? 'default',
|
|
44
|
-
cwd: stored.cwd,
|
|
45
|
-
durationMs: stored.durationMs,
|
|
46
|
-
envelope,
|
|
47
|
-
},
|
|
46
|
+
result: { type: 'run-presentation', tool: 'simulation', envelope },
|
|
48
47
|
};
|
|
49
48
|
}
|
|
50
49
|
function replaySignal(stored, source, finding, checkIndex, findingIndex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-replay.js","sourceRoot":"","sources":["../../src/persistence/session-replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAA8B,MAAM,4BAA4B,CAAC;AAW9F
|
|
1
|
+
{"version":3,"file":"session-replay.js","sourceRoot":"","sources":["../../src/persistence/session-replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAA8B,MAAM,4BAA4B,CAAC;AAW9F;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE;QACnD,IAAI,EAAE,KAAK;QACX,qBAAqB,EAAE,IAAI;KAC5B,CAAC,CAAC;IACH,MAAM,KAAK,GAAiB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,EAAE,KAAK,CAAC,SAAS;QACrB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvF,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAC3D,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAC3C,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CACzE,CACF,CAAC;IACF,MAAM,QAAQ,GAAmB;QAC/B,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,MAAM,CAAC,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QACjE,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;QACD,KAAK;QACL,OAAO;KACR,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,QAAQ;QACR,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,MAAqB,EACrB,MAAc,EACd,OAA8B,EAC9B,UAAkB,EAClB,YAAoB;IAEpB,OAAO;QACL,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,QAAQ,UAAU,IAAI,YAAY,EAAE;QACpD,MAAM;QACN,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QAC1D,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/E,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAChC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO,CAAC,QAAQ;oBACtB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;iBACpE;aACF,CAAC;QACN,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -56,7 +56,7 @@ function realPayload() {
|
|
|
56
56
|
return buildSimulationSessionPayload(env);
|
|
57
57
|
}
|
|
58
58
|
describe('simReplayFromSession', () => {
|
|
59
|
-
it('round-trips a stored payload back into a projection envelope +
|
|
59
|
+
it('round-trips a stored payload back into a projection envelope + run-presentation result', () => {
|
|
60
60
|
const replay = simReplayFromSession(storedSession(realPayload()));
|
|
61
61
|
expect(replay.fidelity).toBe('projection');
|
|
62
62
|
expect(replay.envelope.tool).toBe('sim');
|
|
@@ -66,19 +66,20 @@ describe('simReplayFromSession', () => {
|
|
|
66
66
|
const located = replay.envelope.signals.find((s) => s.ruleId === 'sim:latency');
|
|
67
67
|
expect(located?.code).toEqual({ file: 'svc.ts', line: 7, column: 1 });
|
|
68
68
|
expect(located?.suggestion).toBe('add a cache');
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
// The inner replay result is the uniform render-only RunPresentation carrying
|
|
70
|
+
// the projected envelope (the host renders replay via SessionReplayResult, not
|
|
71
|
+
// this inner result).
|
|
72
|
+
expect(replay.result.type).toBe('run-presentation');
|
|
73
|
+
expect(replay.result.tool).toBe('simulation');
|
|
74
|
+
expect(replay.result.envelope).toBe(replay.envelope);
|
|
72
75
|
});
|
|
73
|
-
it('
|
|
76
|
+
it('carries the recipe onto the envelope when present', () => {
|
|
74
77
|
const replay = simReplayFromSession(storedSession(realPayload(), { recipe: 'example' }));
|
|
75
78
|
expect(replay.envelope.recipe).toBe('example');
|
|
76
|
-
expect(replay.result.recipeName).toBe('example');
|
|
77
79
|
});
|
|
78
|
-
it(
|
|
80
|
+
it('leaves the envelope recipe unset when no recipe is stored', () => {
|
|
79
81
|
const replay = simReplayFromSession(storedSession(realPayload()));
|
|
80
82
|
expect(replay.envelope.recipe).toBeUndefined();
|
|
81
|
-
expect(replay.result.recipeName).toBe('default');
|
|
82
83
|
});
|
|
83
84
|
it('preserves a finding with no optional location fields', () => {
|
|
84
85
|
const payload = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-replay.test.js","sourceRoot":"","sources":["../../src/persistence/session-replay.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAI3D,SAAS,aAAa,CAAC,OAAgB,EAAE,YAAoC,EAAE;IAC7E,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,0BAA0B;QACrC,WAAW,EAAE,0BAA0B;QACvC,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,GAAG;QACf,OAAO;QACP,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,mBAAmB,CAAC;QAC9B,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,0BAA0B;QACrC,MAAM,EAAE,4BAA4B;QACpC,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;YACrE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;SAC/C;QACD,OAAO,EAAE;YACP,YAAY,CAAC;gBACX,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;gBAC5C,UAAU,EAAE,aAAa;aAC1B,CAAC;YACF,YAAY,CAAC;gBACX,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,cAAc;aACxB,CAAC;SACH;KACF,CAAC,CAAC;IACH,OAAO,6BAA6B,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"session-replay.test.js","sourceRoot":"","sources":["../../src/persistence/session-replay.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
12
12
|
import { tmpdir } from 'node:os';
|
|
13
13
|
import { join } from 'node:path';
|
|
14
|
-
import { enterScope, RunScope } from '@opensip-cli/core';
|
|
14
|
+
import { enterScope, RunScope, applyToolContributeScope } from '@opensip-cli/core';
|
|
15
15
|
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
16
16
|
import { currentScenarioRegistry } from '../../framework/registry.js';
|
|
17
17
|
import { simulationTool } from '../../tool.js';
|
|
@@ -19,7 +19,7 @@ import { loadAllSimPlugins } from '../loader.js';
|
|
|
19
19
|
let testDir;
|
|
20
20
|
beforeEach(() => {
|
|
21
21
|
const scope = new RunScope();
|
|
22
|
-
|
|
22
|
+
applyToolContributeScope(scope, simulationTool);
|
|
23
23
|
enterScope(scope);
|
|
24
24
|
testDir = mkdtempSync(join(tmpdir(), 'sim-loader-scenarios-'));
|
|
25
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-scenarios.test.js","sourceRoot":"","sources":["../../../src/plugins/__tests__/loader-scenarios.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"loader-scenarios.test.js","sourceRoot":"","sources":["../../../src/plugins/__tests__/loader-scenarios.test.ts"],"names":[],"mappings":"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"}
|
package/dist/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAyBH,OAAO,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAGV,IAAI,EAGL,MAAM,mBAAmB,CAAC;AAoT3B;;GAEG;AACH,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAE3E,eAAO,MAAM,cAAc,EAAE,IA+B3B,CAAC"}
|