@descryy/runtime-orchestrator 0.1.0 → 0.2.1
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/attach-to-running-process.d.ts +9 -0
- package/dist/attach-to-running-process.d.ts.map +1 -1
- package/dist/attach-to-running-process.js +4 -0
- package/dist/attach-to-running-process.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/instrumented-execution.d.ts +31 -0
- package/dist/instrumented-execution.d.ts.map +1 -1
- package/dist/instrumented-execution.js +215 -9
- package/dist/instrumented-execution.js.map +1 -1
- package/dist/polling-output-source.d.ts +7 -0
- package/dist/polling-output-source.d.ts.map +1 -1
- package/dist/polling-output-source.js +1 -0
- package/dist/polling-output-source.js.map +1 -1
- package/package.json +9 -9
|
@@ -45,6 +45,15 @@ export interface AttachToRunningProcessOptions {
|
|
|
45
45
|
readonly pid: number;
|
|
46
46
|
/** Path to a file the target process is already writing its stdout/stderr to. Read in full on every poll — same growing-buffer contract `ManagedProcess.readOutput()` has, not a delta. */
|
|
47
47
|
readonly logFilePath: string;
|
|
48
|
+
/**
|
|
49
|
+
* The declared service this pid is, carried onto every `Evidence` a collector
|
|
50
|
+
* built over this source emits. Optional here, unlike on the source itself,
|
|
51
|
+
* because an attach to a bare pid genuinely may have no declared service
|
|
52
|
+
* behind it — and omitting it resolves to `null`, which is a statement, not a
|
|
53
|
+
* gap. Supply it whenever the caller *does* know: without it, correlation
|
|
54
|
+
* cannot look a scope up for anything this source produces.
|
|
55
|
+
*/
|
|
56
|
+
readonly serviceName?: string | null;
|
|
48
57
|
/**
|
|
49
58
|
* True once the caller's observation window has closed. Required, and the
|
|
50
59
|
* reason it is not optional is the bug it was added to fix.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-to-running-process.d.ts","sourceRoot":"","sources":["../src/attach-to-running-process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAIhF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2HAA2H;IAC3H,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,2LAA2L;IAC3L,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"attach-to-running-process.d.ts","sourceRoot":"","sources":["../src/attach-to-running-process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAIhF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2HAA2H;IAC3H,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,2LAA2L;IAC3L,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,mBAAmB,CA8BlG"}
|
|
@@ -79,6 +79,10 @@ export function attachToRunningProcess(options) {
|
|
|
79
79
|
}
|
|
80
80
|
return createPollingProcessOutputSource({
|
|
81
81
|
processId: options.processId,
|
|
82
|
+
// An attach may or may not have a declared service behind it. `null` here
|
|
83
|
+
// is the honest answer for an ad-hoc attach to a pid, and it is stated
|
|
84
|
+
// rather than defaulted in the source itself.
|
|
85
|
+
serviceName: options.serviceName ?? null,
|
|
82
86
|
readOutput: () => {
|
|
83
87
|
try {
|
|
84
88
|
return readFileSync(options.logFilePath, "utf8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-to-running-process.js","sourceRoot":"","sources":["../src/attach-to-running-process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"attach-to-running-process.js","sourceRoot":"","sources":["../src/attach-to-running-process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAuC9E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAQ,KAA+B,CAAC,IAAI,KAAK,OAAO,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAsC;IAC3E,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,CAAC,GAAG,SAAS,OAAO,CAAC,SAAS,qCAAqC;YACvG,6FAA6F,CAChG,CAAC;IACJ,CAAC;IAED,OAAO,gCAAgC,CAAC;QACtC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,0EAA0E;QAC1E,uEAAuE;QACvE,8CAA8C;QAC9C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;QACxC,UAAU,EAAE,GAAG,EAAE;YACf,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,IAAI,KAAK,CACb,oDAAoD,OAAO,CAAC,WAAW,aAAa,OAAO,CAAC,GAAG,KAAK,MAAM,EAAE,CAC7G,CAAC;YACJ,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,wEAAwE;QACxE,yDAAyD;QACzD,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5F,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export type { RespawnCommand, RespawnCommandSource, RespawnAndSuperviseOptions,
|
|
|
12
12
|
export { respawnAndSupervise, inferRespawnCommandFromProc } from "./respawn-and-supervise.ts";
|
|
13
13
|
export type { CgroupResourceLimits, CgroupMoveResult, } from "./cgroup-partial-restriction.ts";
|
|
14
14
|
export { CGROUP_PARTIAL_RESTRICTION_SCOPE, cgroupV2Capability, findDelegatedCgroupAncestor, moveProcessIntoRestrictedCgroup, } from "./cgroup-partial-restriction.ts";
|
|
15
|
-
export type { InstrumentedExecutionInput, InstrumentedExecutionResult } from "./instrumented-execution.ts";
|
|
15
|
+
export type { InstrumentedExecutionInput, InstrumentedExecutionResult, ExecutionBudgetOutcome } from "./instrumented-execution.ts";
|
|
16
16
|
export { runInstrumentedExecution, createSourceRootResolver, applyOutboundLaunch } from "./instrumented-execution.ts";
|
|
17
17
|
export type { BackendObservationMechanism, RunRemoteLogObservationInput, RunRemoteLogObservationResult, } from "./profile-backend-observation.ts";
|
|
18
18
|
export { backendObservationMechanismFor, runRemoteLogObservation } from "./profile-backend-observation.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,YAAY,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACxF,YAAY,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC3G,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9F,YAAY,EACV,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,YAAY,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACxF,YAAY,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC3G,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAC9F,YAAY,EACV,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,gCAAgC,EAChC,kBAAkB,EAClB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACnI,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACtH,YAAY,EACV,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC"}
|
|
@@ -95,6 +95,37 @@ export interface InstrumentedExecutionResult {
|
|
|
95
95
|
}[];
|
|
96
96
|
/** Set when `run()` refused before spawning anything. Evidence is empty and that is a refusal, not an absence of failures. */
|
|
97
97
|
readonly validationError: string | null;
|
|
98
|
+
/**
|
|
99
|
+
* What the declared whole-execution budget actually did to this run.
|
|
100
|
+
*
|
|
101
|
+
* `ExecutionConfiguration.timeoutMs` is published to callers as the
|
|
102
|
+
* whole-execution budget, and before this it bounded only how long a
|
|
103
|
+
* *service* was allowed to live: `ExecutionController` armed a timer that
|
|
104
|
+
* killed the processes, and this function then slept the full
|
|
105
|
+
* `observeForMs` anyway, drained collectors and returned. Measured, not
|
|
106
|
+
* theoretical — a 1500ms budget with a 12000ms window returned after
|
|
107
|
+
* 12288ms with zero evidence, because the services had been dead for the
|
|
108
|
+
* last 10.8s of a window nothing shortened.
|
|
109
|
+
*
|
|
110
|
+
* Reported as a struct rather than left implicit in the elapsed time so a
|
|
111
|
+
* caller can say *which* of the two it got: a full window that found
|
|
112
|
+
* nothing, or a window cut short before it could. Those are the same two
|
|
113
|
+
* claims the five report categories exist to keep apart, one layer down.
|
|
114
|
+
*/
|
|
115
|
+
readonly budget: ExecutionBudgetOutcome;
|
|
116
|
+
}
|
|
117
|
+
/** See `InstrumentedExecutionResult.budget`. */
|
|
118
|
+
export interface ExecutionBudgetOutcome {
|
|
119
|
+
/** `ExecutionConfiguration.timeoutMs`, verbatim. */
|
|
120
|
+
readonly declaredMs: number;
|
|
121
|
+
/** Wall-clock time this function actually took. */
|
|
122
|
+
readonly elapsedMs: number;
|
|
123
|
+
/** What `observeForMs` asked for. */
|
|
124
|
+
readonly requestedObservationMs: number;
|
|
125
|
+
/** What the budget left for it. Less than `requestedObservationMs` means the window was cut short. */
|
|
126
|
+
readonly observedForMs: number;
|
|
127
|
+
/** True when the run finished past its own deadline — teardown of real processes can overshoot even a bounded window. */
|
|
128
|
+
readonly exceeded: boolean;
|
|
98
129
|
}
|
|
99
130
|
/**
|
|
100
131
|
* Builds the origin → source-root lookup a collector reads through
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumented-execution.d.ts","sourceRoot":"","sources":["../src/instrumented-execution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAEV,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAuB,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAGpH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAGhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAKhE,MAAM,WAAW,0BAA0B;IACzC,oIAAoI;IACpI,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,qIAAqI;IACrI,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;QAC9B,mHAAmH;QACnH,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACvD,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAC;IACvC,6GAA6G;IAC7G,QAAQ,CAAC,qBAAqB,EAAE,SAAS;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,4BAA4B,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;KAAE,EAAE,CAAC;IAC/K,8HAA8H;IAC9H,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,aAAa,EAAE,sBAAsB,GACpC,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAEvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE,kBAAkB,GACzB,oBAAoB,CAyBtB;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,
|
|
1
|
+
{"version":3,"file":"instrumented-execution.d.ts","sourceRoot":"","sources":["../src/instrumented-execution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAEV,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAuB,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAGpH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAGhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAKhE,MAAM,WAAW,0BAA0B;IACzC,oIAAoI;IACpI,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,qIAAqI;IACrI,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;QAC9B,mHAAmH;QACnH,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACvD,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAC;IACvC,6GAA6G;IAC7G,QAAQ,CAAC,qBAAqB,EAAE,SAAS;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,4BAA4B,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,CAAA;KAAE,EAAE,CAAC;IAC/K,8HAA8H;IAC9H,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAED,gDAAgD;AAChD,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,sGAAsG;IACtG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,yHAAyH;IACzH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,aAAa,EAAE,sBAAsB,GACpC,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAEvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE,kBAAkB,GACzB,oBAAoB,CAyBtB;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA0lBtH"}
|
|
@@ -96,9 +96,32 @@ export async function runInstrumentedExecution(input) {
|
|
|
96
96
|
// is language-specific, so it is declared on the adapter and merely applied
|
|
97
97
|
// here. An adapter that declares nothing gets neither -- the run proceeds,
|
|
98
98
|
// no outbound collector is started, and nothing claims one was.
|
|
99
|
+
// The budget clock starts here, not at `controller.run()`. The controller
|
|
100
|
+
// arms its own timer for the same number a few statements later, so this
|
|
101
|
+
// deadline is the marginally earlier — and therefore the conservative — of
|
|
102
|
+
// the two; a caller who declared a bound never waits past it because this
|
|
103
|
+
// function took some of it before the controller was even created.
|
|
104
|
+
const budgetStartedAt = Date.now();
|
|
99
105
|
const outboundLaunch = input.adapter.outboundHttpLaunch?.() ?? null;
|
|
100
106
|
const launchedExecution = outboundLaunch === null ? input.execution : applyOutboundLaunch(input.execution, outboundLaunch);
|
|
101
107
|
const configuration = launchedExecution.configuration;
|
|
108
|
+
/**
|
|
109
|
+
* Every exit from this function reports the same struct, built from the one
|
|
110
|
+
* clock. Written as a closure rather than repeated at each `return` because
|
|
111
|
+
* there are four of them and the failure mode of the alternative — one
|
|
112
|
+
* return that quietly reports a different number — is exactly the class of
|
|
113
|
+
* bug this whole field exists to make visible.
|
|
114
|
+
*/
|
|
115
|
+
const budgetOutcome = (observedForMs) => {
|
|
116
|
+
const elapsedMs = Date.now() - budgetStartedAt;
|
|
117
|
+
return {
|
|
118
|
+
declaredMs: configuration.timeoutMs,
|
|
119
|
+
elapsedMs,
|
|
120
|
+
requestedObservationMs: input.observeForMs,
|
|
121
|
+
observedForMs,
|
|
122
|
+
exceeded: elapsedMs > configuration.timeoutMs,
|
|
123
|
+
};
|
|
124
|
+
};
|
|
102
125
|
const controller = ExecutionController.create(launchedExecution);
|
|
103
126
|
// Closes §34's remaining "runtime self-observability" gap after RT-219:
|
|
104
127
|
// `controller.run()` has exactly one throw path (`controller.ts`'s own
|
|
@@ -145,10 +168,17 @@ export async function runInstrumentedExecution(input) {
|
|
|
145
168
|
evidence: [harnessEvidence],
|
|
146
169
|
collectorCapabilities: [],
|
|
147
170
|
validationError: `ExecutionController.run() threw: ${detail}`,
|
|
171
|
+
budget: budgetOutcome(0),
|
|
148
172
|
};
|
|
149
173
|
}
|
|
150
174
|
if (controller.validationError !== null) {
|
|
151
|
-
return {
|
|
175
|
+
return {
|
|
176
|
+
execution,
|
|
177
|
+
evidence: [],
|
|
178
|
+
collectorCapabilities: [],
|
|
179
|
+
validationError: controller.validationError,
|
|
180
|
+
budget: budgetOutcome(0),
|
|
181
|
+
};
|
|
152
182
|
}
|
|
153
183
|
// One source per spawned service. `serviceName` is what joins a handle
|
|
154
184
|
// back to its configuration entry, and a handle without one cannot be
|
|
@@ -173,8 +203,14 @@ export async function runInstrumentedExecution(input) {
|
|
|
173
203
|
if (handle.serviceName === null)
|
|
174
204
|
continue;
|
|
175
205
|
const serviceName = handle.serviceName;
|
|
206
|
+
// `serviceName` is stamped here, at construction, and this is the only
|
|
207
|
+
// place it can be. The handle knows which declared service this process is;
|
|
208
|
+
// by the time a collector's evidence reaches `correlateExecution` that
|
|
209
|
+
// association is gone — a row in a store and no handle in scope — which is
|
|
210
|
+
// what made the gap permanent rather than recoverable.
|
|
176
211
|
sources.push(createPollingProcessOutputSource({
|
|
177
212
|
processId: handle.processId,
|
|
213
|
+
serviceName,
|
|
178
214
|
readOutput: () => controller.readProcessOutput(serviceName),
|
|
179
215
|
isFinished: () => finished,
|
|
180
216
|
}));
|
|
@@ -182,6 +218,7 @@ export async function runInstrumentedExecution(input) {
|
|
|
182
218
|
serviceName,
|
|
183
219
|
source: createPollingProcessOutputSource({
|
|
184
220
|
processId: handle.processId,
|
|
221
|
+
serviceName,
|
|
185
222
|
readOutput: () => controller.readProcessOutput(serviceName),
|
|
186
223
|
isFinished: () => finished,
|
|
187
224
|
}),
|
|
@@ -431,19 +468,188 @@ export async function runInstrumentedExecution(input) {
|
|
|
431
468
|
if (port !== null)
|
|
432
469
|
proxyPorts[entry.serviceName] = port;
|
|
433
470
|
}
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
//
|
|
437
|
-
//
|
|
438
|
-
//
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
471
|
+
// **Everything from here to the teardown is wrapped, because a throw above
|
|
472
|
+
// the teardown used to leak the whole execution.**
|
|
473
|
+
//
|
|
474
|
+
// `onReady` is caller code and is documented not to be caught — correctly,
|
|
475
|
+
// since turning a caller's failed setup into a clean run would be the
|
|
476
|
+
// silent-degradation failure this repo rules against. But "not caught" and
|
|
477
|
+
// "not cleaned up" are two different promises and only the first was ever
|
|
478
|
+
// made: when `onReady` threw, `finished = true`, the collector `stop()` loop
|
|
479
|
+
// and `controller.stop()` were all skipped, so the polling output sources
|
|
480
|
+
// kept polling a live buffer, the spawned child was never killed, and the
|
|
481
|
+
// controller's timer held the event loop open. Measured: the call rejects in
|
|
482
|
+
// 270ms with the caller's own error, and the process then never exits.
|
|
483
|
+
//
|
|
484
|
+
// The exception still propagates, uncaught by any handler that changes it,
|
|
485
|
+
// to the same caller with the same stack — the documented contract is
|
|
486
|
+
// untouched. Only the leak goes away.
|
|
487
|
+
//
|
|
488
|
+
// Found the expensive way: a worktree missing the fixture app's
|
|
489
|
+
// `node_modules` made a test's `onReady` throw after a correctly bounded
|
|
490
|
+
// ten-second readiness wait, and the suite then hung for twenty minutes.
|
|
491
|
+
// `scripts/preflight.mjs` predicts that dependency gap and calls its worst
|
|
492
|
+
// case "a readiness timeout that looks like a slow boot" — milder than what
|
|
493
|
+
// actually happened, which is what makes this a defect rather than an
|
|
494
|
+
// inconvenience: a guard whose stated worst case is better than reality
|
|
495
|
+
// teaches people to trust it less than they should.
|
|
496
|
+
let observationMs = 0;
|
|
497
|
+
let bodyFailure = null;
|
|
498
|
+
let teardownFailure = null;
|
|
499
|
+
try {
|
|
500
|
+
await input.onReady?.({ execution, proxyPorts });
|
|
501
|
+
// **The observation window is bounded by the declared budget, not just by
|
|
502
|
+
// `observeForMs`.** This line used to be an unconditional sleep for the
|
|
503
|
+
// full requested window, which made `timeoutMs` an upper bound on how long
|
|
504
|
+
// a service was allowed to live and no bound at all on how long the caller
|
|
505
|
+
// was made to wait. The two numbers then diverged silently, and in the
|
|
506
|
+
// worst direction: `ExecutionController`'s own timer had already killed
|
|
507
|
+
// every process at the deadline, so the remainder of the window watched
|
|
508
|
+
// dead processes and produced nothing. Measured — a 1500ms budget with a
|
|
509
|
+
// 12000ms window returned after 12288ms with zero evidence.
|
|
510
|
+
//
|
|
511
|
+
// Clamped rather than aborted. There is real work left after this point
|
|
512
|
+
// (draining collectors, reaping children) that owns OS resources and must
|
|
513
|
+
// still run; cancelling it to hit the number exactly would leak the
|
|
514
|
+
// processes the budget exists to bound. So the deadline decides how long we
|
|
515
|
+
// *watch*, and the overshoot from teardown is reported rather than hidden —
|
|
516
|
+
// `budget.exceeded` is what says the run finished past its own bound.
|
|
517
|
+
const remainingMs = budgetStartedAt + configuration.timeoutMs - Date.now();
|
|
518
|
+
observationMs = Math.max(0, Math.min(input.observeForMs, remainingMs));
|
|
519
|
+
if (observationMs > 0) {
|
|
520
|
+
await new Promise((resolve) => setTimeout(resolve, observationMs));
|
|
521
|
+
}
|
|
522
|
+
// A window that was cut short is a degradation, and rule 7 says every
|
|
523
|
+
// fallback is labelled. `execution.state` already carries `TIMED_OUT` when
|
|
524
|
+
// the controller's own timer fired, but that says the *services* were
|
|
525
|
+
// stopped early — it does not say the observation was, and a run whose
|
|
526
|
+
// budget expired before the controller ever armed (or after it had already
|
|
527
|
+
// completed) leaves no trace in the state at all.
|
|
528
|
+
//
|
|
529
|
+
// Tagged `source: "harness"` with `COLLECTOR_ERROR`: this is the runtime
|
|
530
|
+
// observing itself rather than any watched domain, and the event type's own
|
|
531
|
+
// documented purpose is to keep "found nothing" apart from "stopped
|
|
532
|
+
// looking". A truncated window is precisely the second one, so it needs no
|
|
533
|
+
// new event type of its own.
|
|
534
|
+
if (observationMs < input.observeForMs) {
|
|
535
|
+
emitted.push(input.store.write({
|
|
536
|
+
executionId: execution.executionId,
|
|
537
|
+
timestamp: new Date().toISOString(),
|
|
538
|
+
source: "harness",
|
|
539
|
+
service: null,
|
|
540
|
+
process: null,
|
|
541
|
+
eventType: "COLLECTOR_ERROR",
|
|
542
|
+
payload: {
|
|
543
|
+
raw: `the observation window was cut short by the declared whole-execution budget: ` +
|
|
544
|
+
`observed for ${String(observationMs)}ms of the ${String(input.observeForMs)}ms requested, ` +
|
|
545
|
+
`against a ${String(configuration.timeoutMs)}ms budget. Evidence from this run is partial — ` +
|
|
546
|
+
`absence of an event is not evidence the application did not produce one.`,
|
|
547
|
+
collectorId: "orchestrator:execution-budget",
|
|
548
|
+
},
|
|
549
|
+
traceId: null,
|
|
550
|
+
requestId: null,
|
|
551
|
+
correlationId: null,
|
|
552
|
+
graphNodeId: null,
|
|
553
|
+
sourceLocation: null,
|
|
554
|
+
stackTrace: null,
|
|
555
|
+
confidence: 1,
|
|
556
|
+
collectorVersion: COLLECTOR_VERSION,
|
|
557
|
+
}));
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
catch (error) {
|
|
561
|
+
// Held, not handled. Rethrown below, unchanged, once the teardown in the
|
|
562
|
+
// `finally` has run.
|
|
563
|
+
bodyFailure = { error };
|
|
564
|
+
}
|
|
565
|
+
finally {
|
|
566
|
+
// Order matters: the sources must be told the process is done before
|
|
567
|
+
// stop() awaits their drain, or stop() waits forever on a generator
|
|
568
|
+
// still polling a live buffer.
|
|
569
|
+
finished = true;
|
|
570
|
+
try {
|
|
571
|
+
await Promise.all(collectors.map((collector) => collector.stop()));
|
|
572
|
+
// **`timeout()` when this function cut the window short, `stop()` when it
|
|
573
|
+
// did not — and the distinction is not left to whichever timer fires
|
|
574
|
+
// first.**
|
|
575
|
+
//
|
|
576
|
+
// The clamp above ends the observation window at the deadline;
|
|
577
|
+
// `ExecutionController`'s own timer fires a moment later. Whichever of the
|
|
578
|
+
// two reached the controller first used to decide what the run *said* had
|
|
579
|
+
// happened, and teardown regularly won: measured `TIMED_OUT` at 1534ms and
|
|
580
|
+
// `COMPLETED` at 1515ms for the same case, with the second surfacing only
|
|
581
|
+
// under a loaded full-suite run.
|
|
582
|
+
//
|
|
583
|
+
// That is the one field `descry-core`'s `observe_runtime` reads to choose
|
|
584
|
+
// between `ok` and `timed_out`, so losing the race turned a disclosed
|
|
585
|
+
// degradation into a silent one — a run that returns on time and reports
|
|
586
|
+
// nothing was cut short. This function already knows: `observationMs <
|
|
587
|
+
// input.observeForMs` is exactly the condition it wrote the truncation
|
|
588
|
+
// evidence under. It says so directly rather than hoping to lose a race
|
|
589
|
+
// it set up itself.
|
|
590
|
+
if (observationMs < input.observeForMs) {
|
|
591
|
+
await controller.timeout();
|
|
592
|
+
}
|
|
593
|
+
else {
|
|
594
|
+
await controller.stop();
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
catch (teardownError) {
|
|
598
|
+
// On the ordinary path a teardown failure is the only failure there is,
|
|
599
|
+
// so it propagates exactly as it always did — held here and rethrown
|
|
600
|
+
// below rather than thrown from inside the `finally`, which is the one
|
|
601
|
+
// place a throw really can discard an in-flight exception.
|
|
602
|
+
if (bodyFailure === null) {
|
|
603
|
+
teardownFailure = { error: teardownError };
|
|
604
|
+
}
|
|
605
|
+
else {
|
|
606
|
+
// When something already failed above, the caller's own error is the
|
|
607
|
+
// actionable one and a teardown failure must not replace it — a plain
|
|
608
|
+
// `finally` would silently substitute the second for the first, which
|
|
609
|
+
// is the same class of mistake as the leak this block exists to fix.
|
|
610
|
+
// So it is written to the evidence store instead of thrown, tagged
|
|
611
|
+
// `harness` (RT-219) because it is the runtime's own machinery
|
|
612
|
+
// breaking rather than anything about the observed application. It is
|
|
613
|
+
// not in the returned array — there is no return on this path — but
|
|
614
|
+
// the store is durable and is what `evidencePath` points at, so the
|
|
615
|
+
// record survives the throw.
|
|
616
|
+
input.store.write({
|
|
617
|
+
executionId: execution.executionId,
|
|
618
|
+
timestamp: new Date().toISOString(),
|
|
619
|
+
source: "harness",
|
|
620
|
+
service: null,
|
|
621
|
+
process: null,
|
|
622
|
+
eventType: "COLLECTOR_ERROR",
|
|
623
|
+
payload: {
|
|
624
|
+
raw: "teardown also failed while unwinding from an earlier failure, and is recorded rather than " +
|
|
625
|
+
`thrown so it does not mask it: ${teardownError instanceof Error ? `${teardownError.name}: ${teardownError.message}` : String(teardownError)}`,
|
|
626
|
+
collectorId: "orchestrator:teardown",
|
|
627
|
+
},
|
|
628
|
+
traceId: null,
|
|
629
|
+
requestId: null,
|
|
630
|
+
correlationId: null,
|
|
631
|
+
graphNodeId: null,
|
|
632
|
+
sourceLocation: null,
|
|
633
|
+
stackTrace: null,
|
|
634
|
+
confidence: 1,
|
|
635
|
+
collectorVersion: COLLECTOR_VERSION,
|
|
636
|
+
});
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
// Rethrown untouched — the same error object, the same stack, to the same
|
|
641
|
+
// caller. The caller's own failure wins over a teardown failure when both
|
|
642
|
+
// happened, because it is the one they can act on.
|
|
643
|
+
if (bodyFailure !== null)
|
|
644
|
+
throw bodyFailure.error;
|
|
645
|
+
if (teardownFailure !== null)
|
|
646
|
+
throw teardownFailure.error;
|
|
442
647
|
return {
|
|
443
648
|
execution: controller.execution,
|
|
444
649
|
evidence: emitted,
|
|
445
650
|
collectorCapabilities: collectors.map((collector) => ({ collectorId: collector.collectorId, capabilities: collector.capabilities() })),
|
|
446
651
|
validationError: null,
|
|
652
|
+
budget: budgetOutcome(observationMs),
|
|
447
653
|
};
|
|
448
654
|
}
|
|
449
655
|
//# sourceMappingURL=instrumented-execution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumented-execution.js","sourceRoot":"","sources":["../src/instrumented-execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instrumented-execution.js","sourceRoot":"","sources":["../src/instrumented-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,13 @@
|
|
|
18
18
|
import { type ProcessOutputSource } from "@descryy/runtime-backend-observation";
|
|
19
19
|
export interface PollingProcessOutputSourceOptions {
|
|
20
20
|
readonly processId: string;
|
|
21
|
+
/**
|
|
22
|
+
* The declared service this process is. Carried onto the `ProcessOutputSource`
|
|
23
|
+
* so every collector built over it can attribute what it emits — see
|
|
24
|
+
* `ProcessOutputSource.serviceName` for why this is required and why `null` is
|
|
25
|
+
* a statement rather than an omission.
|
|
26
|
+
*/
|
|
27
|
+
readonly serviceName: string | null;
|
|
21
28
|
/** The whole accumulated buffer so far — `ManagedProcess.readOutput` has exactly this shape. */
|
|
22
29
|
readonly readOutput: () => string;
|
|
23
30
|
/** True once the process has exited. Output already buffered is still drained afterwards. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling-output-source.d.ts","sourceRoot":"","sources":["../src/polling-output-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAwC,KAAK,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEtH,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gGAAgG;IAChG,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAC;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAID,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,iCAAiC,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"polling-output-source.d.ts","sourceRoot":"","sources":["../src/polling-output-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAwC,KAAK,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEtH,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gGAAgG;IAChG,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAC;IAClC,6FAA6F;IAC7F,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAID,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,iCAAiC,GAAG,mBAAmB,CA6DhH"}
|
|
@@ -21,6 +21,7 @@ export function createPollingProcessOutputSource(options) {
|
|
|
21
21
|
const pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
|
|
22
22
|
return {
|
|
23
23
|
processId: options.processId,
|
|
24
|
+
serviceName: options.serviceName,
|
|
24
25
|
lines: (async function* () {
|
|
25
26
|
const splitter = new LineSplitter();
|
|
26
27
|
let consumed = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling-output-source.js","sourceRoot":"","sources":["../src/polling-output-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAoD,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"polling-output-source.js","sourceRoot":"","sources":["../src/polling-output-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAoD,MAAM,sCAAsC,CAAC;AAkBtH,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,MAAM,UAAU,gCAAgC,CAAC,OAA0C;IACzF,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,wBAAwB,CAAC;IAE1E,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;YACpC,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,SAAS,CAAC;gBACR,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBAEnC,0DAA0D;gBAC1D,kEAAkE;gBAClE,mEAAmE;gBACnE,iEAAiE;gBACjE,oEAAoE;gBACpE,oEAAoE;gBACpE,mEAAmE;gBACnE,kEAAkE;gBAClE,uBAAuB;gBACvB,EAAE;gBACF,oEAAoE;gBACpE,kEAAkE;gBAClE,mEAAmE;gBACnE,gCAAgC;gBAChC,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CACb,qCAAqC,QAAQ,OAAO,KAAK,CAAC,MAAM,4BAA4B;wBAC1F,6FAA6F;wBAC7F,6EAA6E,CAChF,CAAC;gBACJ,CAAC;gBAED,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACpC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;oBACxB,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;oBACjD,CAAC;oBACD,+DAA+D;oBAC/D,0DAA0D;oBAC1D,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAC5C,+DAA+D;oBAC/D,qDAAqD;oBACrD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;wBACpC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;oBACjD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,EAAE;KACL,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@descryy/runtime-orchestrator",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Assembles the runtime: controller-spawned services, live process output, collectors from a RuntimeAdapter, and a CollectorContext that can resolve script origins to source roots.",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -24,14 +24,14 @@
|
|
|
24
24
|
"build": "tsc -b"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@descryy/runtime-contracts": "0.
|
|
28
|
-
"@descryy/runtime-backend-observation": "0.
|
|
29
|
-
"@descryy/runtime-controller": "0.1
|
|
30
|
-
"@descryy/runtime-evidence-store": "0.
|
|
31
|
-
"@descryy/runtime-adapter-typescript": "0.
|
|
32
|
-
"@descryy/runtime-environment-profile": "0.
|
|
33
|
-
"@descryy/runtime-remote-log-ingestion": "0.
|
|
34
|
-
"@descryy/runtime-external-service-observation": "0.
|
|
27
|
+
"@descryy/runtime-contracts": "0.2.0",
|
|
28
|
+
"@descryy/runtime-backend-observation": "0.2.0",
|
|
29
|
+
"@descryy/runtime-controller": "0.2.1",
|
|
30
|
+
"@descryy/runtime-evidence-store": "0.2.0",
|
|
31
|
+
"@descryy/runtime-adapter-typescript": "0.2.0",
|
|
32
|
+
"@descryy/runtime-environment-profile": "0.2.0",
|
|
33
|
+
"@descryy/runtime-remote-log-ingestion": "0.2.0",
|
|
34
|
+
"@descryy/runtime-external-service-observation": "0.2.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@descryy/runtime-adapter-csharp": "*",
|