opensip-cli 0.1.8 → 0.1.10
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/dist/bootstrap/admit-tool-package.d.ts +51 -11
- package/dist/bootstrap/admit-tool-package.d.ts.map +1 -1
- package/dist/bootstrap/admit-tool-package.js +46 -12
- package/dist/bootstrap/admit-tool-package.js.map +1 -1
- package/dist/bootstrap/baseline-seams.js +1 -1
- package/dist/bootstrap/baseline-seams.js.map +1 -1
- package/dist/bootstrap/bind-external-dispatch.d.ts +36 -0
- package/dist/bootstrap/bind-external-dispatch.d.ts.map +1 -0
- package/dist/bootstrap/bind-external-dispatch.js +81 -0
- package/dist/bootstrap/bind-external-dispatch.js.map +1 -0
- package/dist/bootstrap/build-command-registration-input.d.ts +13 -2
- package/dist/bootstrap/build-command-registration-input.d.ts.map +1 -1
- package/dist/bootstrap/build-command-registration-input.js +29 -2
- package/dist/bootstrap/build-command-registration-input.js.map +1 -1
- package/dist/bootstrap/build-per-run-scope.d.ts.map +1 -1
- package/dist/bootstrap/build-per-run-scope.js +19 -2
- package/dist/bootstrap/build-per-run-scope.js.map +1 -1
- package/dist/bootstrap/config-and-capabilities.d.ts +21 -6
- package/dist/bootstrap/config-and-capabilities.d.ts.map +1 -1
- package/dist/bootstrap/config-and-capabilities.js +79 -23
- package/dist/bootstrap/config-and-capabilities.js.map +1 -1
- package/dist/bootstrap/dispatch-external-tool-command.d.ts +67 -0
- package/dist/bootstrap/dispatch-external-tool-command.d.ts.map +1 -0
- package/dist/bootstrap/dispatch-external-tool-command.js +79 -0
- package/dist/bootstrap/dispatch-external-tool-command.js.map +1 -0
- package/dist/bootstrap/dispatch-external-tool-hook.d.ts +47 -0
- package/dist/bootstrap/dispatch-external-tool-hook.d.ts.map +1 -0
- package/dist/bootstrap/dispatch-external-tool-hook.js +49 -0
- package/dist/bootstrap/dispatch-external-tool-hook.js.map +1 -0
- package/dist/bootstrap/dispatch-fork-core.d.ts +48 -0
- package/dist/bootstrap/dispatch-fork-core.d.ts.map +1 -0
- package/dist/bootstrap/dispatch-fork-core.js +208 -0
- package/dist/bootstrap/dispatch-fork-core.js.map +1 -0
- package/dist/bootstrap/dispatch-host-rpc-handler.d.ts +27 -0
- package/dist/bootstrap/dispatch-host-rpc-handler.d.ts.map +1 -0
- package/dist/bootstrap/dispatch-host-rpc-handler.js +175 -0
- package/dist/bootstrap/dispatch-host-rpc-handler.js.map +1 -0
- package/dist/bootstrap/dispatch-replay-result.d.ts +51 -0
- package/dist/bootstrap/dispatch-replay-result.d.ts.map +1 -0
- package/dist/bootstrap/dispatch-replay-result.js +76 -0
- package/dist/bootstrap/dispatch-replay-result.js.map +1 -0
- package/dist/bootstrap/execute-post-bailout-bootstrap.d.ts.map +1 -1
- package/dist/bootstrap/execute-post-bailout-bootstrap.js +3 -1
- package/dist/bootstrap/execute-post-bailout-bootstrap.js.map +1 -1
- package/dist/bootstrap/owning-tool-init.d.ts +8 -2
- package/dist/bootstrap/owning-tool-init.d.ts.map +1 -1
- package/dist/bootstrap/owning-tool-init.js +11 -1
- package/dist/bootstrap/owning-tool-init.js.map +1 -1
- package/dist/bootstrap/register-authored-tools.d.ts +49 -0
- package/dist/bootstrap/register-authored-tools.d.ts.map +1 -0
- package/dist/bootstrap/register-authored-tools.js +132 -0
- package/dist/bootstrap/register-authored-tools.js.map +1 -0
- package/dist/bootstrap/register-tools-discovery.d.ts +0 -32
- package/dist/bootstrap/register-tools-discovery.d.ts.map +1 -1
- package/dist/bootstrap/register-tools-discovery.js +36 -100
- package/dist/bootstrap/register-tools-discovery.js.map +1 -1
- package/dist/bootstrap/register-tools-mount.d.ts.map +1 -1
- package/dist/bootstrap/register-tools-mount.js +20 -44
- package/dist/bootstrap/register-tools-mount.js.map +1 -1
- package/dist/bootstrap/register-tools.d.ts +2 -1
- package/dist/bootstrap/register-tools.d.ts.map +1 -1
- package/dist/bootstrap/register-tools.js +2 -1
- package/dist/bootstrap/register-tools.js.map +1 -1
- package/dist/bootstrap/run-plane.d.ts +11 -0
- package/dist/bootstrap/run-plane.d.ts.map +1 -1
- package/dist/bootstrap/run-plane.js.map +1 -1
- package/dist/bootstrap/synthesize-external-tool.d.ts +45 -0
- package/dist/bootstrap/synthesize-external-tool.d.ts.map +1 -0
- package/dist/bootstrap/synthesize-external-tool.js +112 -0
- package/dist/bootstrap/synthesize-external-tool.js.map +1 -0
- package/dist/bootstrap/tool-command-dispatch-types.d.ts +280 -0
- package/dist/bootstrap/tool-command-dispatch-types.d.ts.map +1 -0
- package/dist/bootstrap/tool-command-dispatch-types.js +34 -0
- package/dist/bootstrap/tool-command-dispatch-types.js.map +1 -0
- package/dist/bootstrap/tool-command-worker-config-pass.d.ts +24 -0
- package/dist/bootstrap/tool-command-worker-config-pass.d.ts.map +1 -0
- package/dist/bootstrap/tool-command-worker-config-pass.js +52 -0
- package/dist/bootstrap/tool-command-worker-config-pass.js.map +1 -0
- package/dist/bootstrap/tool-command-worker-context.d.ts +55 -0
- package/dist/bootstrap/tool-command-worker-context.d.ts.map +1 -0
- package/dist/bootstrap/tool-command-worker-context.js +163 -0
- package/dist/bootstrap/tool-command-worker-context.js.map +1 -0
- package/dist/bootstrap/tool-command-worker-entry.d.ts +66 -0
- package/dist/bootstrap/tool-command-worker-entry.d.ts.map +1 -0
- package/dist/bootstrap/tool-command-worker-entry.js +298 -0
- package/dist/bootstrap/tool-command-worker-entry.js.map +1 -0
- package/dist/bootstrap/tool-command-worker-rpc.d.ts +53 -0
- package/dist/bootstrap/tool-command-worker-rpc.d.ts.map +1 -0
- package/dist/bootstrap/tool-command-worker-rpc.js +78 -0
- package/dist/bootstrap/tool-command-worker-rpc.js.map +1 -0
- package/dist/bootstrap/tool-provenance.d.ts +85 -0
- package/dist/bootstrap/tool-provenance.d.ts.map +1 -0
- package/dist/bootstrap/tool-provenance.js +101 -0
- package/dist/bootstrap/tool-provenance.js.map +1 -0
- package/dist/cli-context.d.ts +17 -0
- package/dist/cli-context.d.ts.map +1 -1
- package/dist/cli-context.js +62 -1
- package/dist/cli-context.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +3 -0
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/host-command-specs.d.ts +13 -15
- package/dist/commands/host-command-specs.d.ts.map +1 -1
- package/dist/commands/host-command-specs.js +27 -27
- package/dist/commands/host-command-specs.js.map +1 -1
- package/dist/commands/host-subcommand-groups.d.ts.map +1 -1
- package/dist/commands/host-subcommand-groups.js +63 -5
- package/dist/commands/host-subcommand-groups.js.map +1 -1
- package/dist/commands/internal-command-visibility.d.ts +13 -4
- package/dist/commands/internal-command-visibility.d.ts.map +1 -1
- package/dist/commands/internal-command-visibility.js +14 -5
- package/dist/commands/internal-command-visibility.js.map +1 -1
- package/dist/commands/mount-command-spec.d.ts.map +1 -1
- package/dist/commands/mount-command-spec.js +31 -0
- package/dist/commands/mount-command-spec.js.map +1 -1
- package/dist/commands/session-show.d.ts.map +1 -1
- package/dist/commands/session-show.js +4 -1
- package/dist/commands/session-show.js.map +1 -1
- package/dist/commands/tools/data-purge.js +2 -2
- package/dist/commands/tools/data-purge.js.map +1 -1
- package/dist/commands/tools/validate.js +1 -1
- package/dist/env/host-env-specs.d.ts.map +1 -1
- package/dist/env/host-env-specs.js +6 -0
- package/dist/env/host-env-specs.js.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/report-compose.d.ts.map +1 -1
- package/dist/report-compose.js +85 -19
- package/dist/report-compose.js.map +1 -1
- package/dist/session-replay-registry.d.ts +33 -6
- package/dist/session-replay-registry.d.ts.map +1 -1
- package/dist/session-replay-registry.js +43 -6
- package/dist/session-replay-registry.js.map +1 -1
- package/dist/telemetry/profiling.d.ts +30 -0
- package/dist/telemetry/profiling.d.ts.map +1 -1
- package/dist/telemetry/profiling.js +16 -1
- package/dist/telemetry/profiling.js.map +1 -1
- package/package.json +32 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount-command-spec.d.ts","sourceRoot":"","sources":["../../src/commands/mount-command-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"mount-command-spec.d.ts","sourceRoot":"","sources":["../../src/commands/mount-command-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAOhE;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AAElG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,WAAW,CAAC,EAAE,eAAe,KAC1B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,SAAS,mBAAmB,EAC/D,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAChC,GAAG,EAAE,IAAI,GACR,UAAU,CA4FZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,wBAAsB,cAAc,CAAC,IAAI,SAAS,mBAAmB,EACnE,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,SAAS,OAAO,EAAE,EAC/B,GAAG,EAAE,IAAI,GACR,OAAO,CAAC,IAAI,CAAC,CAyDf"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { applyCommonFlags, mapToolErrorToExitCode, } from '@opensip-cli/contracts';
|
|
17
17
|
import { ToolError, currentScope, } from '@opensip-cli/core';
|
|
18
|
+
import { showInternalCommands } from './internal-command-visibility.js';
|
|
18
19
|
import { splitActionArgs } from './mount-command-action.js';
|
|
19
20
|
import { buildOption, formatArgUsage } from './mount-command-spec-wiring.js';
|
|
20
21
|
import { emitCommandResult } from './mount-result-command.js';
|
|
@@ -51,6 +52,23 @@ export function mountCommandSpec(program, spec, ctx) {
|
|
|
51
52
|
if (spec.aliases !== undefined && spec.aliases.length > 0) {
|
|
52
53
|
cmd.aliases([...spec.aliases]);
|
|
53
54
|
}
|
|
55
|
+
// Tier-3 visibility, self-enforced AT MOUNT (tool-command-surface-taxonomy).
|
|
56
|
+
// A `visibility: 'internal'` command (every Tier-3 worker — fit/graph/sim run
|
|
57
|
+
// workers and the ADR-0054 M4-E `__tool-command-worker` dispatch worker) is
|
|
58
|
+
// hidden from `--help` here, in the ONE plane that mounts every tool AND host
|
|
59
|
+
// command, so hiding is order-independent: it does not matter whether the
|
|
60
|
+
// command is mounted before or after any registry-walk pass. (The former
|
|
61
|
+
// separate post-mount hide pass was order-dependent — it ran inside
|
|
62
|
+
// `mountAllToolCommands`, BEFORE the host mounted `__tool-command-worker`, so a
|
|
63
|
+
// host-mounted internal command leaked into `--help`.) The command stays fully
|
|
64
|
+
// invocable (Commander only filters `_hidden` from help); `OPENSIP_CLI_SHOW_INTERNAL=1`
|
|
65
|
+
// reveals it. `internalCommandNames` remains the descriptor-driven source the
|
|
66
|
+
// completion inventory reads, kept in lockstep with this predicate.
|
|
67
|
+
if (spec.visibility === 'internal' && !showInternalCommands()) {
|
|
68
|
+
// `_hidden` is Commander-internal (the property its help renderer filters
|
|
69
|
+
// on), not on the public `Command` type — set via a narrow structural cast.
|
|
70
|
+
cmd._hidden = true;
|
|
71
|
+
}
|
|
54
72
|
// ADR-0021 common flags. `cwd` is the only flag with a computed (per-
|
|
55
73
|
// invocation) default; the registry leaves it to the caller, so seed it here.
|
|
56
74
|
const seedsCwd = spec.commonFlags.includes('cwd');
|
|
@@ -85,6 +103,19 @@ export function mountCommandSpec(program, spec, ctx) {
|
|
|
85
103
|
// runs. No-op for host commands whose leaner context carries no run plane.
|
|
86
104
|
ctx.beginRun?.();
|
|
87
105
|
try {
|
|
106
|
+
// ADR-0054 out-of-process dispatch: for an EXTERNAL-provenance tool the
|
|
107
|
+
// host forks a worker that imports the untrusted runtime and runs the
|
|
108
|
+
// handler, instead of importing + invoking it in-process. The hook (bound
|
|
109
|
+
// per-tool by `mountOneTool`) returns `true` when it dispatched — the
|
|
110
|
+
// action then skips the in-process handler + output dispatch entirely (the
|
|
111
|
+
// hook already replayed the worker's result through the host seams).
|
|
112
|
+
// Bundled tools (and host commands with no hook) fall through to the
|
|
113
|
+
// in-process path below, byte-identical to before.
|
|
114
|
+
const dispatched = await ctx.maybeDispatchExternal?.(spec.name, optsWithArgs, positionals);
|
|
115
|
+
if (dispatched === true) {
|
|
116
|
+
diagnostics?.event('execute', 'debug', `command '${spec.name}' dispatched out-of-process`);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
88
119
|
const result = await spec.handler(optsWithArgs, ctx);
|
|
89
120
|
diagnostics?.event('execute', 'debug', `command '${spec.name}' completed`);
|
|
90
121
|
// Static-path completion: if the handler returned a ToolRunCompletion with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount-command-spec.js","sourceRoot":"","sources":["../../src/commands/mount-command-spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mount-command-spec.js","sourceRoot":"","sources":["../../src/commands/mount-command-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-show.d.ts","sourceRoot":"","sources":["../../src/commands/session-show.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,kGAAkG;IAClG,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;CACzD;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"session-show.d.ts","sourceRoot":"","sources":["../../src/commands/session-show.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,kGAAkG;IAClG,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;CACzD;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFvF"}
|
|
@@ -25,7 +25,10 @@ export async function executeSessionShow(opts) {
|
|
|
25
25
|
}
|
|
26
26
|
let replay;
|
|
27
27
|
try {
|
|
28
|
-
|
|
28
|
+
// ADR-0054 M4-F: replaySession may be ASYNC — a BUNDLED tool resolves
|
|
29
|
+
// synchronously (in-host closure); an EXTERNAL tool forks a hook worker (its
|
|
30
|
+
// runtime never runs in-host). Await covers both.
|
|
31
|
+
replay = await contribution.replaySession(resolved.session);
|
|
29
32
|
}
|
|
30
33
|
catch (error) {
|
|
31
34
|
// @handles — a corrupt/legacy stored payload is surfaced to the caller as a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-show.js","sourceRoot":"","sources":["../../src/commands/session-show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AA8BtE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAA+B;IACtE,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,WAAW,CACnB,yDAAyD;YACvD,oFAAoF;YACpF,4FAA4F,EAC9F,EAAE,IAAI,EAAE,0BAA0B,EAAE,CACrC,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IACpC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CACnB,gHAAgH,EAChH,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAC/C,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAsB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5F,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAC7E,QAAQ,CAAC,OAAO,CAAC,IAAI,CACtB,CAAC;IACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,oBAAoB,CACxB,IAAI,EACJ,oBAAoB,EACpB,uCAAuC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAC/D,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,MAAwC,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"session-show.js","sourceRoot":"","sources":["../../src/commands/session-show.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* inventory, and mounter recursion for one leaf), so this ships flattened as
|
|
14
14
|
* `data-purge`. Recorded as a plan deviation.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import { isBundledToolShortId, isToolLongId, TOOL_LONG_TO_SHORT, TOOL_SHORT_TO_LONG, } from '@opensip-cli/core';
|
|
17
17
|
import { BaselineRepo, ToolStateRepo } from '@opensip-cli/datastore';
|
|
18
18
|
import { SessionRepo } from '@opensip-cli/session-store';
|
|
19
19
|
/**
|
|
@@ -27,7 +27,7 @@ import { SessionRepo } from '@opensip-cli/session-store';
|
|
|
27
27
|
function idFormsFor(toolId) {
|
|
28
28
|
if (isToolLongId(toolId))
|
|
29
29
|
return [...new Set([toolId, TOOL_LONG_TO_SHORT[toolId]])];
|
|
30
|
-
if (
|
|
30
|
+
if (isBundledToolShortId(toolId))
|
|
31
31
|
return [...new Set([toolId, TOOL_SHORT_TO_LONG[toolId]])];
|
|
32
32
|
return [toolId];
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-purge.js","sourceRoot":"","sources":["../../../src/commands/tools/data-purge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"data-purge.js","sourceRoot":"","sources":["../../../src/commands/tools/data-purge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzD;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,MAAc;IAChC,IAAI,YAAY,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,SAAoB;IACjE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,QAAQ,IAAI,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,eAAe,IAAI,QAAQ,CAAC,OAAO,CAAC;QACpC,YAAY,GAAG,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC;QAC7C,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,MAAM;QACN,QAAQ;QACR,eAAe;QACf,YAAY;QACZ,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -112,7 +112,7 @@ function skippedRuntimeSections() {
|
|
|
112
112
|
* verb (`fit`/`sim`), while the config namespace is a hardcoded
|
|
113
113
|
* `ToolConfigDeclaration.namespace` literal (`fitness`/`simulation`/`graph`).
|
|
114
114
|
* They are intentionally allowed to differ (the long config key is retained as
|
|
115
|
-
* the sole valid namespace
|
|
115
|
+
* the sole valid namespace — Q6 decided to keep the long keys), so this section no
|
|
116
116
|
* longer requires `namespace === toolId` — that coupling was the pre-rename
|
|
117
117
|
* assumption. The unclaimed-namespace policy (`config-and-capabilities.ts`)
|
|
118
118
|
* still rejects a user-typed block that no loaded tool claims.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-env-specs.d.ts","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAyB,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAExF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"host-env-specs.d.ts","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAyB,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAExF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAqG7D,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAGvD,CAAC;AAEF,oFAAoF;AAEpF,eAAO,MAAM,OAAO,aAAiC,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAKhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAoB7D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,CAEhE"}
|
|
@@ -93,6 +93,12 @@ export const CLI_INFRA_ENV_SPECS = [
|
|
|
93
93
|
'Does not affect bundled or authored tools. Pair with OPENSIP_CLI_SKIP_INSTALLED for ' +
|
|
94
94
|
'incident response (kill switch wins).',
|
|
95
95
|
},
|
|
96
|
+
// ADR-0054 M4-E: `OPENSIP_CLI_EXTERNAL_WORKER` (the opt-in gate for the
|
|
97
|
+
// out-of-process dispatch plane) was RETIRED. External (installed /
|
|
98
|
+
// project-local / user-global) tools now fork the worker BY DEFAULT — the gate
|
|
99
|
+
// is gone, not a no-op. `OPENSIP_CLI_NO_WORKER` is bundled-only (documented on
|
|
100
|
+
// its core spec in subprocess-transport.ts): it never lets an external tool run
|
|
101
|
+
// in-host; an external tool that cannot fork is a hard error.
|
|
96
102
|
{
|
|
97
103
|
canonical: 'OPENSIP_CLI_ALLOW_PROJECT_TOOLS',
|
|
98
104
|
// Mirror parseAllowlist's split (whitespace AND comma) so the registry value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-env-specs.js","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host-env-specs.js","sourceRoot":"","sources":["../../src/env/host-env-specs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AAExF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAmC;IACjE;QACE,SAAS,EAAE,6BAA6B;QACxC,IAAI,EAAE,6FAA6F;KACpG;IACD;QACE,SAAS,EAAE,mBAAmB;QAC9B,IAAI,EAAE,iRAAiR;KACxR;IACD;QACE,SAAS,EAAE,aAAa;QACxB,IAAI,EAAE,8FAA8F;KACrG;IACD;QACE,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;QAC/B,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,0DAA0D;KACjE;IACD;QACE,SAAS,EAAE,oBAAoB;QAC/B,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;QAC/B,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,yFAAyF;KAChG;IACD;QACE,SAAS,EAAE,2BAA2B;QACtC,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG;QAC5B,OAAO,EAAE,KAAK;QACd,IAAI,EACF,6EAA6E;YAC7E,gFAAgF;YAChF,oFAAoF;YACpF,8EAA8E;KACjF;IACD;QACE,SAAS,EAAE,0BAA0B;QACrC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd,GAAG;aACA,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,OAAO,EAAE,EAAuB;QAChC,IAAI,EACF,sFAAsF;YACtF,8FAA8F;YAC9F,iFAAiF;KACpF;IACD;QACE,SAAS,EAAE,4BAA4B;QACvC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;QAC/B,OAAO,EAAE,KAAK;QACd,IAAI,EACF,0FAA0F;YAC1F,wFAAwF;YACxF,yFAAyF;YACzF,+CAA+C;KAClD;IACD;QACE,SAAS,EAAE,mCAAmC;QAC9C,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd,GAAG;aACA,KAAK,CAAC,QAAQ,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,OAAO,EAAE,EAAuB;QAChC,IAAI,EACF,gFAAgF;YAChF,iFAAiF;YACjF,qFAAqF;YACrF,sFAAsF;YACtF,uCAAuC;KAC1C;IACD,wEAAwE;IACxE,oEAAoE;IACpE,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,8DAA8D;IAC9D;QACE,SAAS,EAAE,iCAAiC;QAC5C,6EAA6E;QAC7E,6EAA6E;QAC7E,mDAAmD;QACnD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd,GAAG;aACA,KAAK,CAAC,QAAQ,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,OAAO,EAAE,EAAuB;QAChC,IAAI,EACF,mFAAmF;YACnF,qFAAqF;YACrF,oFAAoF;YACpF,oFAAoF;YACpF,sEAAsE;KACzE;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAmC;IAC3D,GAAG,mBAAmB;IACtB,GAAG,qBAAqB;CACzB,CAAC;AAEF,oFAAoF;AACpF,0SAA0S;AAC1S,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACpE;QACE,SAAS,EAAE,yBAAyB;QACpC,IAAI,EAAE,8FAA8F;KACrG;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAmC;IACjE;QACE,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,8EAA8E;KACrF;IACD,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,uDAAuD,EAAE;IAC3F,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,mDAAmD,EAAE;IACrF,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,8CAA8C,EAAE;IAC3E;QACE,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,kEAAkE;KACzE;IACD;QACE,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,uFAAuF;KAC9F;IACD;QACE,SAAS,EAAE,uBAAuB;QAClC,IAAI,EAAE,2GAA2G;KAClH;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,GAAG,gBAAgB,EAAE,GAAG,sBAAsB,EAAE,GAAG,aAAa,EAAE,GAAG,mBAAmB,CAAC,CAAC;AACpG,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -93,7 +93,12 @@ async function main() {
|
|
|
93
93
|
// Extracted into a thin dedicated builder (roadmap item 2) to keep the
|
|
94
94
|
// top-level composition root focused on sequencing. The builder returns the
|
|
95
95
|
// exact shape consumed by `registerCliCommands`.
|
|
96
|
-
const registrationInput = buildCommandRegistrationInput(toolRegistry
|
|
96
|
+
const registrationInput = buildCommandRegistrationInput(toolRegistry, {
|
|
97
|
+
// ADR-0054 M4-F: an EXTERNAL tool's session replay runs in a forked worker
|
|
98
|
+
// (its runtime never runs in-host); bundled replays in-host.
|
|
99
|
+
provenance,
|
|
100
|
+
cwd: process.cwd(),
|
|
101
|
+
});
|
|
97
102
|
const commandCtx = {
|
|
98
103
|
setExitCode: ctx.setExitCode,
|
|
99
104
|
render: renderResult,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-compose.d.ts","sourceRoot":"","sources":["../src/report-compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"report-compose.d.ts","sourceRoot":"","sources":["../src/report-compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA8BH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AA6I3D;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAY1F"}
|
package/dist/report-compose.js
CHANGED
|
@@ -25,7 +25,9 @@ import { join } from 'node:path';
|
|
|
25
25
|
import { currentScope, resolveProjectPaths, resolveToolHooks, SystemError, logger as defaultLogger, } from '@opensip-cli/core';
|
|
26
26
|
import { generateDashboardHtml, } from '@opensip-cli/dashboard';
|
|
27
27
|
import { SessionRepo } from '@opensip-cli/session-store';
|
|
28
|
-
import {
|
|
28
|
+
import { dispatchExternalToolHook } from './bootstrap/dispatch-external-tool-hook.js';
|
|
29
|
+
import { isExternalToolProvenance, provenanceRecordFor, shouldRunHookInHost, } from './bootstrap/tool-provenance.js';
|
|
30
|
+
import { buildHostDispatchCtx, getCurrentProjectRoot } from './cli-context.js';
|
|
29
31
|
import { launchReport } from './open-report.js';
|
|
30
32
|
/**
|
|
31
33
|
* Host-reserved top-level dashboard-input key a tool's `collectReportData` must
|
|
@@ -59,29 +61,93 @@ async function composeReportInput() {
|
|
|
59
61
|
const repo = datastore ? new SessionRepo(datastore) : undefined;
|
|
60
62
|
const sessions = repo ? [...repo.list({ limit: 20 })] : [];
|
|
61
63
|
const input = { sessions };
|
|
64
|
+
const provenance = scope.toolProvenance;
|
|
65
|
+
// Built lazily ONLY when an external tool is encountered (so a bundled-only run
|
|
66
|
+
// never constructs the dispatch ctx). Shared across all external tools this run.
|
|
67
|
+
let hostCtx;
|
|
62
68
|
for (const tool of scope.tools.list()) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (reserved.length > 0) {
|
|
70
|
-
void log.warn({
|
|
71
|
-
evt: 'cli.report.compose.reserved_key_ignored',
|
|
72
|
-
module: 'cli:report',
|
|
73
|
-
tool: tool.metadata.id,
|
|
74
|
-
keys: reserved,
|
|
75
|
-
msg: 'Tool collectReportData returned a reserved host key; it was ignored.',
|
|
76
|
-
});
|
|
77
|
-
for (const k of reserved)
|
|
78
|
-
delete contribution[k];
|
|
79
|
-
}
|
|
80
|
-
Object.assign(input, contribution);
|
|
69
|
+
// ADR-0054 M4-F: a BUNDLED tool's collectReportData runs in-host (trusted
|
|
70
|
+
// computing base); an EXTERNAL tool's runs in a forked HOOK worker so its
|
|
71
|
+
// untrusted runtime never executes in the host process.
|
|
72
|
+
let contribution;
|
|
73
|
+
if (shouldRunHookInHost(tool, provenance)) {
|
|
74
|
+
contribution = await resolveToolHooks(tool).collectReportData?.(scope);
|
|
81
75
|
}
|
|
76
|
+
else {
|
|
77
|
+
hostCtx ??= buildHostDispatchCtx(log);
|
|
78
|
+
contribution = await collectExternalReportData(tool, provenance, hostCtx, log);
|
|
79
|
+
}
|
|
80
|
+
// @fitness-ignore-next-line detached-promises -- mergeContribution returns void (a synchronous Object.assign + warn); the name-based heuristic misfires on a bare call statement.
|
|
81
|
+
mergeContribution(input, contribution, tool, log);
|
|
82
82
|
}
|
|
83
83
|
return input;
|
|
84
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Gather an EXTERNAL tool's `collectReportData` over a forked hook worker
|
|
87
|
+
* (ADR-0054 M4-F). The worker imports the untrusted runtime, runs the hook
|
|
88
|
+
* against its own re-bootstrapped scope, and returns the plain-data contribution.
|
|
89
|
+
* A fork failure is best-effort: logged + the tool contributes nothing (parity
|
|
90
|
+
* with a tool that omits the hook), NEVER an in-host fallback. Returns `undefined`
|
|
91
|
+
* when there is no host ctx to fork with (the worker needs one to serve any
|
|
92
|
+
* host-RPC upcall the hook makes; without it we skip rather than run in-host).
|
|
93
|
+
*/
|
|
94
|
+
async function collectExternalReportData(tool, provenance, hostCtx, log) {
|
|
95
|
+
const record = provenanceRecordFor(tool, provenance);
|
|
96
|
+
if (record === undefined ||
|
|
97
|
+
!isExternalToolProvenance(tool, provenance) ||
|
|
98
|
+
hostCtx === undefined) {
|
|
99
|
+
if (hostCtx === undefined) {
|
|
100
|
+
void log.warn({
|
|
101
|
+
evt: 'cli.report.compose.external_hook_skipped',
|
|
102
|
+
module: 'cli:report',
|
|
103
|
+
tool: tool.metadata.id,
|
|
104
|
+
msg: 'No host context to fork the report-data worker for an external tool; skipping its contribution.',
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
const cwd = getCurrentProjectRoot();
|
|
111
|
+
const result = await dispatchExternalToolHook({
|
|
112
|
+
provenance: record,
|
|
113
|
+
hook: 'collectReportData',
|
|
114
|
+
cwd,
|
|
115
|
+
ctx: hostCtx,
|
|
116
|
+
});
|
|
117
|
+
return (result ?? undefined);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
void log.warn({
|
|
121
|
+
evt: 'cli.report.compose.external_hook_failed',
|
|
122
|
+
module: 'cli:report',
|
|
123
|
+
tool: tool.metadata.id,
|
|
124
|
+
error: error instanceof Error ? error.message : String(error),
|
|
125
|
+
msg: 'External tool report-data worker failed; its contribution is omitted (the report still renders).',
|
|
126
|
+
});
|
|
127
|
+
// @fitness-ignore-next-line error-handling-quality -- the failure IS logged via log.warn just above; an external report-data worker fault is best-effort by contract (parity with a tool that omits collectReportData): the report still renders for every other tool. NEVER an in-host fallback (that would run untrusted code).
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/** Merge one tool's report contribution into the input, guarding reserved host keys. */
|
|
132
|
+
function mergeContribution(input, contribution, tool, log) {
|
|
133
|
+
if (!contribution)
|
|
134
|
+
return;
|
|
135
|
+
// Guardrail (spec §8): tools must never clobber the host-owned `sessions` run
|
|
136
|
+
// history. Ignore with a warning (best-effort) — the host owns the history.
|
|
137
|
+
const reserved = Object.keys(contribution).filter((k) => RESERVED_DASHBOARD_KEYS.has(k));
|
|
138
|
+
if (reserved.length > 0) {
|
|
139
|
+
void log.warn({
|
|
140
|
+
evt: 'cli.report.compose.reserved_key_ignored',
|
|
141
|
+
module: 'cli:report',
|
|
142
|
+
tool: tool.metadata.id,
|
|
143
|
+
keys: reserved,
|
|
144
|
+
msg: 'Tool collectReportData returned a reserved host key; it was ignored.',
|
|
145
|
+
});
|
|
146
|
+
for (const k of reserved)
|
|
147
|
+
delete contribution[k];
|
|
148
|
+
}
|
|
149
|
+
Object.assign(input, contribution);
|
|
150
|
+
}
|
|
85
151
|
/**
|
|
86
152
|
* Compose the cross-tool report, write it to
|
|
87
153
|
* `<reportsDir>/latest.html`, and (optionally) open it in the browser.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-compose.js","sourceRoot":"","sources":["../src/report-compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,
|
|
1
|
+
{"version":3,"file":"report-compose.js","sourceRoot":"","sources":["../src/report-compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,47 @@
|
|
|
1
|
-
import { type ToolRegistry, type ToolSessionRecord, type ToolShortId } from '@opensip-cli/core';
|
|
1
|
+
import { type ToolProvenance, type ToolRegistry, type ToolSessionRecord, type ToolShortId } from '@opensip-cli/core';
|
|
2
2
|
import type { CommandResult, ToolSessionReplay } from '@opensip-cli/contracts';
|
|
3
|
+
/**
|
|
4
|
+
* One tool's session-replay capability as the host consumes it. `replaySession`
|
|
5
|
+
* may be ASYNC (ADR-0054 M4-F): for a BUNDLED tool it runs the tool's in-host
|
|
6
|
+
* `replaySession` closure and resolves synchronously; for an EXTERNAL tool it
|
|
7
|
+
* forks a HOOK worker that imports the untrusted runtime and runs the replay
|
|
8
|
+
* there (its code never executes in the host process).
|
|
9
|
+
*/
|
|
3
10
|
export interface CliSessionReplayContribution {
|
|
4
11
|
readonly tool: ToolShortId;
|
|
5
|
-
readonly replaySession: (stored: ToolSessionRecord) => ToolSessionReplay<CommandResult
|
|
12
|
+
readonly replaySession: (stored: ToolSessionRecord) => ToolSessionReplay<CommandResult> | Promise<ToolSessionReplay<CommandResult>>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The injected capability that runs an EXTERNAL tool's session replay
|
|
16
|
+
* out-of-process (ADR-0054 M4-F). It is INJECTED (not statically imported) so
|
|
17
|
+
* `session-replay-registry.ts` does not depend on the dispatch chain — which
|
|
18
|
+
* would form a module cycle, because this module is a TYPE dependency of
|
|
19
|
+
* `commands/shared.ts` that the dispatch chain transitively imports. The
|
|
20
|
+
* composition root (`build-command-registration-input.ts`, a bootstrap module the
|
|
21
|
+
* dispatch chain never imports) supplies the real implementation.
|
|
22
|
+
*/
|
|
23
|
+
export type ExternalReplayDispatcher = (provenance: ToolProvenance, stored: ToolSessionRecord) => Promise<unknown>;
|
|
24
|
+
/** Options for {@link SessionReplayRegistry.fromTools}. */
|
|
25
|
+
export interface SessionReplayRegistryOptions {
|
|
26
|
+
/** The per-run provenance (drives the M4-F host/external gate). */
|
|
27
|
+
readonly provenance?: readonly ToolProvenance[];
|
|
28
|
+
/** Injected external-replay dispatcher (forks the replay HOOK worker). */
|
|
29
|
+
readonly dispatchExternalReplay?: ExternalReplayDispatcher;
|
|
6
30
|
}
|
|
7
31
|
export declare class SessionReplayRegistry {
|
|
8
32
|
private readonly byTool;
|
|
9
33
|
private constructor();
|
|
10
34
|
static empty(): SessionReplayRegistry;
|
|
11
35
|
/**
|
|
12
|
-
* Build the registry from the tools' `sessionReplay` contributions
|
|
36
|
+
* Build the registry from the tools' `sessionReplay` contributions, honoring the
|
|
37
|
+
* ADR-0054 M4-F host/external split: a BUNDLED tool keeps its in-host replay
|
|
38
|
+
* closure; an EXTERNAL tool gets a worker-backed replay (the host never runs the
|
|
39
|
+
* external `replaySession` in-process) via the injected
|
|
40
|
+
* {@link ExternalReplayDispatcher}.
|
|
13
41
|
*
|
|
14
|
-
* @throws {Error} when two registered tools claim the same `tool` short id
|
|
15
|
-
* (a duplicate session-replay contribution).
|
|
42
|
+
* @throws {Error} when two registered tools claim the same `tool` short id.
|
|
16
43
|
*/
|
|
17
|
-
static fromTools(registry: ToolRegistry): SessionReplayRegistry;
|
|
44
|
+
static fromTools(registry: ToolRegistry, opts?: SessionReplayRegistryOptions): SessionReplayRegistry;
|
|
18
45
|
get(tool: ToolShortId): CliSessionReplayContribution | undefined;
|
|
19
46
|
}
|
|
20
47
|
//# sourceMappingURL=session-replay-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-replay-registry.d.ts","sourceRoot":"","sources":["../src/session-replay-registry.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"session-replay-registry.d.ts","sourceRoot":"","sources":["../src/session-replay-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEtB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,CACtB,MAAM,EAAE,iBAAiB,KACtB,iBAAiB,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;CACnF;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,iBAAiB,KACtB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,2DAA2D;AAC3D,MAAM,WAAW,4BAA4B;IAC3C,mEAAmE;IACnE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,0EAA0E;IAC1E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,wBAAwB,CAAC;CAC5D;AAED,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IADzB,OAAO;IAIP,MAAM,CAAC,KAAK,IAAI,qBAAqB;IAIrC;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CACd,QAAQ,EAAE,YAAY,EACtB,IAAI,GAAE,4BAAiC,GACtC,qBAAqB;IAmBxB,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,4BAA4B,GAAG,SAAS;CAGjE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// @fitness-ignore-file batch-operation-limits -- fromTools iterates the bounded, in-process tool registry (a handful of first-party + plugin tools registered for the run), not an unbounded external collection.
|
|
2
2
|
import { resolveToolHooks, } from '@opensip-cli/core';
|
|
3
|
+
import { isExternalToolProvenance, provenanceRecordFor } from './bootstrap/tool-provenance.js';
|
|
3
4
|
export class SessionReplayRegistry {
|
|
4
5
|
byTool;
|
|
5
6
|
constructor(byTool) {
|
|
@@ -9,12 +10,16 @@ export class SessionReplayRegistry {
|
|
|
9
10
|
return new SessionReplayRegistry(new Map());
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
|
-
* Build the registry from the tools' `sessionReplay` contributions
|
|
13
|
+
* Build the registry from the tools' `sessionReplay` contributions, honoring the
|
|
14
|
+
* ADR-0054 M4-F host/external split: a BUNDLED tool keeps its in-host replay
|
|
15
|
+
* closure; an EXTERNAL tool gets a worker-backed replay (the host never runs the
|
|
16
|
+
* external `replaySession` in-process) via the injected
|
|
17
|
+
* {@link ExternalReplayDispatcher}.
|
|
13
18
|
*
|
|
14
|
-
* @throws {Error} when two registered tools claim the same `tool` short id
|
|
15
|
-
* (a duplicate session-replay contribution).
|
|
19
|
+
* @throws {Error} when two registered tools claim the same `tool` short id.
|
|
16
20
|
*/
|
|
17
|
-
static fromTools(registry) {
|
|
21
|
+
static fromTools(registry, opts = {}) {
|
|
22
|
+
const provenance = opts.provenance ?? [];
|
|
18
23
|
const byTool = new Map();
|
|
19
24
|
for (const tool of registry.list()) {
|
|
20
25
|
const contribution = resolveToolHooks(tool).sessionReplay;
|
|
@@ -23,7 +28,9 @@ export class SessionReplayRegistry {
|
|
|
23
28
|
if (byTool.has(contribution.tool)) {
|
|
24
29
|
throw new Error(`Duplicate session replay contribution for tool '${contribution.tool}'`);
|
|
25
30
|
}
|
|
26
|
-
byTool.set(contribution.tool,
|
|
31
|
+
byTool.set(contribution.tool, isExternalToolProvenance(tool, provenance)
|
|
32
|
+
? externalContribution(tool, contribution, provenance, opts.dispatchExternalReplay)
|
|
33
|
+
: bundledContribution(contribution));
|
|
27
34
|
}
|
|
28
35
|
return new SessionReplayRegistry(byTool);
|
|
29
36
|
}
|
|
@@ -31,10 +38,40 @@ export class SessionReplayRegistry {
|
|
|
31
38
|
return this.byTool.get(tool);
|
|
32
39
|
}
|
|
33
40
|
}
|
|
34
|
-
|
|
41
|
+
/** A BUNDLED tool replays in-host (trusted computing base) — the closure as-is. */
|
|
42
|
+
function bundledContribution(contribution) {
|
|
35
43
|
return {
|
|
36
44
|
tool: contribution.tool,
|
|
37
45
|
replaySession: (stored) => contribution.replaySession(stored),
|
|
38
46
|
};
|
|
39
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* An EXTERNAL tool replays via the injected dispatcher, which forks a HOOK worker
|
|
50
|
+
* that imports the untrusted runtime and runs `sessionReplay.replaySession(stored)`
|
|
51
|
+
* there, returning the `ToolSessionReplay` (plain data) over IPC. A fork failure
|
|
52
|
+
* surfaces as a structured error to `sessions show` (fail loud — a replay the user
|
|
53
|
+
* explicitly asked for must not silently return empty, and external code never
|
|
54
|
+
* runs in-host).
|
|
55
|
+
*
|
|
56
|
+
* The returned `replaySession` closure @throws {Error} when the external tool
|
|
57
|
+
* cannot be isolated (no provenance record, or no injected dispatcher), and
|
|
58
|
+
* propagates a structured dispatch error when the replay worker fork fails — both
|
|
59
|
+
* are surfaced to `sessions show` as a `decode-error` outcome, never a silent
|
|
60
|
+
* empty replay or an in-host run.
|
|
61
|
+
*/
|
|
62
|
+
function externalContribution(tool, contribution, provenance, dispatchExternalReplay) {
|
|
63
|
+
return {
|
|
64
|
+
tool: contribution.tool,
|
|
65
|
+
// @fitness-ignore-next-line throws-documentation -- the throws are documented on the enclosing externalContribution factory's JSDoc above (fail-loud when the external tool cannot be isolated, or on a replay-worker fork failure).
|
|
66
|
+
replaySession: async (stored) => {
|
|
67
|
+
const record = provenanceRecordFor(tool, provenance);
|
|
68
|
+
if (record === undefined || dispatchExternalReplay === undefined) {
|
|
69
|
+
throw new Error(`external tool '${tool.metadata.name ?? tool.metadata.id}' session replay ` +
|
|
70
|
+
'cannot be isolated (no provenance/dispatcher to fork the replay worker); refusing to run it in-process');
|
|
71
|
+
}
|
|
72
|
+
const result = await dispatchExternalReplay(record, stored);
|
|
73
|
+
return result;
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
40
77
|
//# sourceMappingURL=session-replay-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-replay-registry.js","sourceRoot":"","sources":["../src/session-replay-registry.ts"],"names":[],"mappings":"AAAA,kNAAkN;AAClN,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"session-replay-registry.js","sourceRoot":"","sources":["../src/session-replay-registry.ts"],"names":[],"mappings":"AAAA,kNAAkN;AAClN,OAAO,EACL,gBAAgB,GAOjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAwC/F,MAAM,OAAO,qBAAqB;IAEb;IADnB,YACmB,MAA8D;QAA9D,WAAM,GAAN,MAAM,CAAwD;IAC9E,CAAC;IAEJ,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,qBAAqB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CACd,QAAsB,EACtB,OAAqC,EAAE;QAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6C,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;YAC1D,IAAI,YAAY,KAAK,SAAS;gBAAE,SAAS;YACzC,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,mDAAmD,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,CAAC,GAAG,CACR,YAAY,CAAC,IAAI,EACjB,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC;gBACxC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,sBAAsB,CAAC;gBACnF,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC,CACtC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAiB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,mFAAmF;AACnF,SAAS,mBAAmB,CAC1B,YAA2C;IAE3C,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CACxB,YAAY,CAAC,aAAa,CAAC,MAAM,CAAqC;KACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,oBAAoB,CAC3B,IAAU,EACV,YAA2C,EAC3C,UAAqC,EACrC,sBAA4D;IAE5D,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,qOAAqO;QACrO,aAAa,EAAE,KAAK,EAAE,MAAM,EAA6C,EAAE;YACzE,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACrD,IAAI,MAAM,KAAK,SAAS,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBACjE,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,mBAAmB;oBACzE,wGAAwG,CAC3G,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO,MAA0C,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -19,6 +19,28 @@
|
|
|
19
19
|
* SDK bits stay in the CLI root.
|
|
20
20
|
*/
|
|
21
21
|
import { type RunScope } from '@opensip-cli/core';
|
|
22
|
+
/**
|
|
23
|
+
* The slice of `node:inspector`'s {@link Session} this module actually drives:
|
|
24
|
+
* `connect`/`disconnect` plus the two `post` overloads we issue
|
|
25
|
+
* (`Profiler.enable`/`Profiler.start` and `Profiler.stop`). Narrowing to this
|
|
26
|
+
* interface lets {@link __setInspectorSessionFactoryForTests} inject a fake
|
|
27
|
+
* whose `post` invokes the callback SYNCHRONOUSLY — so the inner
|
|
28
|
+
* `Profiler.start`/`Profiler.stop` callback arms (label-sidecar write, profile
|
|
29
|
+
* write, and their error branches) are exercised deterministically, independent
|
|
30
|
+
* of the real V8 profiler's async callback timing. That timing is non-
|
|
31
|
+
* deterministic under the coverage lane (the `@vitest/coverage-v8` provider
|
|
32
|
+
* holds its own inspector session), which previously made this file's branch
|
|
33
|
+
* coverage flaky. Production keeps the real `new Session()` factory verbatim.
|
|
34
|
+
*/
|
|
35
|
+
export interface InspectorSession {
|
|
36
|
+
connect(): void;
|
|
37
|
+
disconnect(): void;
|
|
38
|
+
post(method: 'Profiler.enable' | 'Profiler.start', callback?: (err: Error | null, params?: unknown) => void): void;
|
|
39
|
+
post(method: 'Profiler.stop', callback?: (err: Error | null, params: {
|
|
40
|
+
profile?: unknown;
|
|
41
|
+
}) => void): void;
|
|
42
|
+
}
|
|
43
|
+
type InspectorSessionFactory = () => InspectorSession;
|
|
22
44
|
export interface ProfilingLabels {
|
|
23
45
|
readonly runId?: string;
|
|
24
46
|
readonly command?: string;
|
|
@@ -39,4 +61,12 @@ export declare function startProfiling(scope?: RunScope, command?: string): void
|
|
|
39
61
|
export declare function stopProfiling(scope?: RunScope): void;
|
|
40
62
|
/** Exposed for tests / shutdown. */
|
|
41
63
|
export declare function resetProfilingForTests(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Test-only: swap the inspector-session factory so the start/stop callback
|
|
66
|
+
* bodies can be driven deterministically (see {@link InspectorSession}). Pass
|
|
67
|
+
* `undefined` to restore the real `new Session()` factory. Always restore in an
|
|
68
|
+
* `afterEach` — {@link resetProfilingForTests} also restores it as a backstop.
|
|
69
|
+
*/
|
|
70
|
+
export declare function __setInspectorSessionFactoryForTests(factory: InspectorSessionFactory | undefined): void;
|
|
71
|
+
export {};
|
|
42
72
|
//# sourceMappingURL=profiling.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiling.d.ts","sourceRoot":"","sources":["../../src/telemetry/profiling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"profiling.d.ts","sourceRoot":"","sources":["../../src/telemetry/profiling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI1D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,IAAI,IAAI,CAAC;IACnB,IAAI,CACF,MAAM,EAAE,iBAAiB,GAAG,gBAAgB,EAC5C,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,GACvD,IAAI,CAAC;IACR,IAAI,CACF,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GACpE,IAAI,CAAC;CACT;AAED,KAAK,uBAAuB,GAAG,MAAM,gBAAgB,CAAC;AAqDtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,IAAI,OAAO,CAY5C;AAgBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CA8DvE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CA2CpD;AAiBD,oCAAoC;AACpC,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAC3C,IAAI,CAEN"}
|