@sublang/slc 0.4.0 → 0.6.0
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 +100 -131
- package/dist/app.d.ts +20 -20
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +37 -30
- package/dist/app.js.map +1 -1
- package/dist/artifacts.d.ts +6 -6
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +9 -9
- package/dist/artifacts.js.map +1 -1
- package/dist/cli.js +3 -3
- package/dist/cligent-agent.d.ts +1 -1
- package/dist/cligent-agent.js +5 -5
- package/dist/compiled-executor.d.ts +14 -6
- package/dist/compiled-executor.d.ts.map +1 -1
- package/dist/compiled-executor.js +133 -31
- package/dist/compiled-executor.js.map +1 -1
- package/dist/config-file.d.ts +10 -6
- package/dist/config-file.d.ts.map +1 -1
- package/dist/config-file.js +23 -10
- package/dist/config-file.js.map +1 -1
- package/dist/config.d.ts +22 -18
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +90 -27
- package/dist/config.js.map +1 -1
- package/dist/emitted-imports.d.ts +14 -0
- package/dist/emitted-imports.d.ts.map +1 -1
- package/dist/emitted-imports.js +63 -7
- package/dist/emitted-imports.js.map +1 -1
- package/dist/entry-module.d.ts +5 -3
- package/dist/entry-module.d.ts.map +1 -1
- package/dist/entry-module.js +41 -13
- package/dist/entry-module.js.map +1 -1
- package/dist/execution.d.ts +10 -10
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +13 -13
- package/dist/execution.js.map +1 -1
- package/dist/hash.js +2 -2
- package/dist/host-capabilities.d.ts +115 -0
- package/dist/host-capabilities.d.ts.map +1 -0
- package/dist/host-capabilities.js +507 -0
- package/dist/host-capabilities.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interpreter.d.ts +2 -2
- package/dist/interpreter.d.ts.map +1 -1
- package/dist/interpreter.js +7 -7
- package/dist/invocation.d.ts +6 -6
- package/dist/invocation.d.ts.map +1 -1
- package/dist/invocation.js +1 -1
- package/dist/link.d.ts +4 -4
- package/dist/link.d.ts.map +1 -1
- package/dist/link.js +11 -11
- package/dist/link.js.map +1 -1
- package/dist/phase-runner.d.ts +4 -4
- package/dist/phase-runner.js +9 -9
- package/dist/phase.d.ts +4 -4
- package/dist/phase.d.ts.map +1 -1
- package/dist/phase.js +7 -7
- package/dist/phase.js.map +1 -1
- package/dist/pin-closure.d.ts +35 -7
- package/dist/pin-closure.d.ts.map +1 -1
- package/dist/pin-closure.js +135 -21
- package/dist/pin-closure.js.map +1 -1
- package/dist/pin-currency.d.ts +9 -4
- package/dist/pin-currency.d.ts.map +1 -1
- package/dist/pin-currency.js +57 -20
- package/dist/pin-currency.js.map +1 -1
- package/dist/pin-generate.d.ts +7 -7
- package/dist/pin-generate.d.ts.map +1 -1
- package/dist/pin-generate.js +14 -8
- package/dist/pin-generate.js.map +1 -1
- package/dist/pin-inputs.d.ts +41 -0
- package/dist/pin-inputs.d.ts.map +1 -0
- package/dist/pin-inputs.js +179 -0
- package/dist/pin-inputs.js.map +1 -0
- package/dist/pin-paths.d.ts +1 -1
- package/dist/pin-paths.js +4 -4
- package/dist/pin-paths.js.map +1 -1
- package/dist/pins.d.ts +4 -4
- package/dist/pins.d.ts.map +1 -1
- package/dist/pins.js +5 -5
- package/dist/pins.js.map +1 -1
- package/dist/pipeline.d.ts +5 -5
- package/dist/pipeline.js +10 -10
- package/dist/playbook-contract.d.ts +53 -5
- package/dist/playbook-contract.d.ts.map +1 -1
- package/dist/playbook-contract.js +70 -21
- package/dist/playbook-contract.js.map +1 -1
- package/dist/playbook-ports.d.ts +9 -9
- package/dist/playbook-ports.d.ts.map +1 -1
- package/dist/playbook-ports.js +6 -4
- package/dist/playbook-ports.js.map +1 -1
- package/dist/progress.d.ts +8 -9
- package/dist/progress.d.ts.map +1 -1
- package/dist/progress.js +3 -3
- package/dist/progress.js.map +1 -1
- package/dist/resolver.d.ts +9 -9
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +12 -12
- package/dist/resolver.js.map +1 -1
- package/dist/reviewing-agent.d.ts +18 -0
- package/dist/reviewing-agent.d.ts.map +1 -0
- package/dist/reviewing-agent.js +295 -0
- package/dist/reviewing-agent.js.map +1 -0
- package/dist/runner.d.ts +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +195 -80
- package/dist/runner.js.map +1 -1
- package/dist/slc.config.template.yaml +6 -2
- package/dist/verify-coverage.d.ts +4 -3
- package/dist/verify-coverage.d.ts.map +1 -1
- package/dist/verify-coverage.js +509 -71
- package/dist/verify-coverage.js.map +1 -1
- package/dist/verify.d.ts +111 -15
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +656 -59
- package/dist/verify.js.map +1 -1
- package/package.json +3 -3
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,yBAAyB,GAE1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAqB,MAAM,eAAe,CAAC;AAC1E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAEnD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAEhE,CAAC;AACF,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;IACzC,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;AAC/D,CAAC;AACD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;AAExC,wBAAwB;AACxB,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC;AAE1B,sCAAsC;AACtC,MAAM,UAAU,OAAO;IACrB,OAAO,cAAc,CAAC;AACxB,CAAC;AAiCD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAA8B;AAC5E,sEAAsE;AACtE,uEAAuE;AACvE,iEAAiE;AACjE,0DAA0D;AAC1D,iBAAkC,wBAAwB,EAC1D,iBAAyC,+BAA+B;IAExE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC;QAChC,GAAG;QACH,UAAU;QACV,GAAG;QACH,sEAAsE;QACtE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,eAAe,IAAI,yBAAyB,CAAC;KACvE,CAAC,CAAC;IACH,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAClE,GAAG,EACH,IAAI,CAAC,MAAM,CACZ,CAAC;IACF,MAAM,QAAQ,GAAG,qBAAqB,CACpC,sBAAsB,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAC/D,CAAC;IACF,6EAA6E;IAC7E,uEAAuE;IACvE,wEAAwE;IACxE,8BAA8B;IAC9B,MAAM,SAAS,GAAG;QAChB,GAAG;QACH,WAAW,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE;QACtC,cAAc;KACf,CAAC;IACF,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,yEAAyE;IACzE,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/artifacts.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Phase } from './phase.js';
|
|
2
2
|
/** Machine-readable reason a source path was refused. */
|
|
3
3
|
export type SourceErrorCode = 'invalid-source-name';
|
|
4
|
-
/** Raised when a source filename matches no applicable form (
|
|
4
|
+
/** Raised when a source filename matches no applicable form (pipeline-6). */
|
|
5
5
|
export declare class SourceError extends Error {
|
|
6
6
|
readonly code: SourceErrorCode;
|
|
7
7
|
constructor(code: SourceErrorCode, message: string);
|
|
@@ -12,13 +12,13 @@ export interface ParsedSource {
|
|
|
12
12
|
basename: string;
|
|
13
13
|
/**
|
|
14
14
|
* True when an entry source carries a foreign extension: a raw input whose
|
|
15
|
-
* compilation auto-schedules normalization (DR-014,
|
|
15
|
+
* compilation auto-schedules normalization (DR-014, pipeline-6, pipeline-34).
|
|
16
16
|
*/
|
|
17
17
|
raw: boolean;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Validates a source path against the consuming phase's source format and
|
|
21
|
-
* extension, returning its `<basename>` (
|
|
21
|
+
* extension, returning its `<basename>` (pipeline-6).
|
|
22
22
|
*
|
|
23
23
|
* The non-entry form requires `<basename>.<source-format>.<ext>`; the entry form
|
|
24
24
|
* also accepts the plain `<basename>.<ext>`, and an entry source with any other
|
|
@@ -36,10 +36,10 @@ export declare function parseSource(opts: {
|
|
|
36
36
|
/**
|
|
37
37
|
* Computes the artifact directory under the invocation working directory,
|
|
38
38
|
* reusing the working directory itself without nesting when its leaf is
|
|
39
|
-
* already the canonical `<basename>.<pipeline>` (
|
|
39
|
+
* already the canonical `<basename>.<pipeline>` (pipeline-7, DR-014).
|
|
40
40
|
*/
|
|
41
41
|
export declare function artifactDir(cwd: string, basename: string, pipeline: string): string;
|
|
42
|
-
/** Computes the canonical path of a `<basename>.<format>.<ext>` artifact (
|
|
42
|
+
/** Computes the canonical path of a `<basename>.<format>.<ext>` artifact (pipeline-8). */
|
|
43
43
|
export declare function artifactPath(artDir: string, basename: string, format: string, ext: string): string;
|
|
44
44
|
/** A planned artifact: the phase that writes it, its path, and its pipeline role. */
|
|
45
45
|
export interface ArtifactPlan {
|
|
@@ -50,7 +50,7 @@ export interface ArtifactPlan {
|
|
|
50
50
|
/**
|
|
51
51
|
* Plans the target artifact each phase writes: every non-terminal phase writes a
|
|
52
52
|
* canonical intermediate, and the terminal phase writes the output, overridden by
|
|
53
|
-
* `output` (`-o`) when provided while intermediates stay canonical (
|
|
53
|
+
* `output` (`-o`) when provided while intermediates stay canonical (pipeline-8).
|
|
54
54
|
*/
|
|
55
55
|
export declare function planArtifacts(opts: {
|
|
56
56
|
phases: readonly Phase[];
|
package/dist/artifacts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAEpD,
|
|
1
|
+
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAEpD,6EAA6E;AAC7E,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;gBAEnB,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;CAKnD;AAED,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,YAAY,CA4Cf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,MAAM,CAER;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,GAAG,QAAQ,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,YAAY,EAAE,CAgBjB"}
|
package/dist/artifacts.js
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* Source-name validation and artifact-path computation (DR-001, DR-014).
|
|
5
5
|
*
|
|
6
|
-
* Implements
|
|
7
|
-
* foreign-extension entry source accepted as a raw input),
|
|
6
|
+
* Implements pipeline-6 (the entry/non-entry source filename forms, with a
|
|
7
|
+
* foreign-extension entry source accepted as a raw input), pipeline-7 (compute the
|
|
8
8
|
* artifact directory under the invocation working directory, reusing it without
|
|
9
|
-
* nesting), and
|
|
10
|
-
* specs/
|
|
9
|
+
* nesting), and pipeline-8 (place intermediates and the output, honoring `-o`). See
|
|
10
|
+
* specs/packages/pipeline.md.
|
|
11
11
|
*/
|
|
12
12
|
import { basename as pathBasename, extname, join } from 'node:path';
|
|
13
|
-
/** Raised when a source filename matches no applicable form (
|
|
13
|
+
/** Raised when a source filename matches no applicable form (pipeline-6). */
|
|
14
14
|
export class SourceError extends Error {
|
|
15
15
|
code;
|
|
16
16
|
constructor(code, message) {
|
|
@@ -21,7 +21,7 @@ export class SourceError extends Error {
|
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Validates a source path against the consuming phase's source format and
|
|
24
|
-
* extension, returning its `<basename>` (
|
|
24
|
+
* extension, returning its `<basename>` (pipeline-6).
|
|
25
25
|
*
|
|
26
26
|
* The non-entry form requires `<basename>.<source-format>.<ext>`; the entry form
|
|
27
27
|
* also accepts the plain `<basename>.<ext>`, and an entry source with any other
|
|
@@ -64,7 +64,7 @@ export function parseSource(opts) {
|
|
|
64
64
|
/**
|
|
65
65
|
* Computes the artifact directory under the invocation working directory,
|
|
66
66
|
* reusing the working directory itself without nesting when its leaf is
|
|
67
|
-
* already the canonical `<basename>.<pipeline>` (
|
|
67
|
+
* already the canonical `<basename>.<pipeline>` (pipeline-7, DR-014).
|
|
68
68
|
*/
|
|
69
69
|
export function artifactDir(cwd, basename, pipeline) {
|
|
70
70
|
const canonicalLeaf = `${basename}.${pipeline}`;
|
|
@@ -73,14 +73,14 @@ export function artifactDir(cwd, basename, pipeline) {
|
|
|
73
73
|
}
|
|
74
74
|
return join(cwd, canonicalLeaf);
|
|
75
75
|
}
|
|
76
|
-
/** Computes the canonical path of a `<basename>.<format>.<ext>` artifact (
|
|
76
|
+
/** Computes the canonical path of a `<basename>.<format>.<ext>` artifact (pipeline-8). */
|
|
77
77
|
export function artifactPath(artDir, basename, format, ext) {
|
|
78
78
|
return join(artDir, `${basename}.${format}${ext}`);
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
81
|
* Plans the target artifact each phase writes: every non-terminal phase writes a
|
|
82
82
|
* canonical intermediate, and the terminal phase writes the output, overridden by
|
|
83
|
-
* `output` (`-o`) when provided while intermediates stay canonical (
|
|
83
|
+
* `output` (`-o`) when provided while intermediates stay canonical (pipeline-8).
|
|
84
84
|
*/
|
|
85
85
|
export function planArtifacts(opts) {
|
|
86
86
|
const { phases, basename, artDir, output } = opts;
|
package/dist/artifacts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,0EAA0E;AAE1E;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOpE,
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
// SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
|
|
4
4
|
/**
|
|
5
|
-
* The published `slc` executable shim (
|
|
5
|
+
* The published `slc` executable shim (`cli` package).
|
|
6
6
|
*
|
|
7
7
|
* It supplies the process-backed defaults `run` falls back to and wires
|
|
8
8
|
* cancellation through `interruptSignal`: an interrupt aborts the in-flight run
|
|
9
|
-
* via the signal passed into `runSlc` (
|
|
10
|
-
* becomes the process exit status (
|
|
9
|
+
* via the signal passed into `runSlc` (cli-10), and the returned exit code
|
|
10
|
+
* becomes the process exit status (cli-11). All behavior lives in the testable
|
|
11
11
|
* `run`/`interruptSignal`; see app.ts.
|
|
12
12
|
*/
|
|
13
13
|
import { messageOf } from './errors.js';
|
package/dist/cligent-agent.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export declare function createCligentAgent(opts: {
|
|
|
20
20
|
effort?: string;
|
|
21
21
|
/**
|
|
22
22
|
* Milliseconds of adapter-event inactivity after which the in-flight call is
|
|
23
|
-
* aborted and reported as an error (DR-019,
|
|
23
|
+
* aborted and reported as an error (DR-019, phase-execution-36). Zero or absent
|
|
24
24
|
* disables the watchdog.
|
|
25
25
|
*/
|
|
26
26
|
stallTimeoutMs?: number;
|
package/dist/cligent-agent.js
CHANGED
|
@@ -6,19 +6,19 @@
|
|
|
6
6
|
* Backs the interpreter's agent transport with Cligent (npm `@sublang/cligent`),
|
|
7
7
|
* draining its event stream into a normalized {@link AgentRunResult}. The host
|
|
8
8
|
* supplies the concrete `AgentAdapter` (e.g. Claude Code, Codex) and any write
|
|
9
|
-
* permissions, keeping agent selection a configuration concern (
|
|
9
|
+
* permissions, keeping agent selection a configuration concern (phase-execution-13); the
|
|
10
10
|
* DR-003 write-scope sandbox would be configured here via `permissions`.
|
|
11
11
|
*
|
|
12
|
-
* The transport also owns the agent-stall watchdog (DR-019,
|
|
12
|
+
* The transport also owns the agent-stall watchdog (DR-019, phase-execution-36): with a
|
|
13
13
|
* positive `stallTimeoutMs`, an in-flight call that observes no adapter event
|
|
14
14
|
* for that window is aborted through a call-local controller — the caller's
|
|
15
15
|
* signal is composed in, never mutated — and reported as an error carrying the
|
|
16
16
|
* inactivity duration. Cligent's abort drain guarantees the event loop then
|
|
17
17
|
* terminates promptly with a terminal event, so a tripped watchdog cannot
|
|
18
|
-
* itself hang. No retry occurs at this seam (
|
|
18
|
+
* itself hang. No retry occurs at this seam (phase-execution-12, phase-execution-23).
|
|
19
19
|
*
|
|
20
20
|
* This transport is exercised by integration runs and by tests that fake the
|
|
21
|
-
* adapter's event stream. See specs/
|
|
21
|
+
* adapter's event stream. See specs/packages/phase-execution.md.
|
|
22
22
|
*/
|
|
23
23
|
import { Cligent } from '@sublang/cligent';
|
|
24
24
|
import { formatElapsed } from './progress.js';
|
|
@@ -42,7 +42,7 @@ export function createCligentAgent(opts) {
|
|
|
42
42
|
const cligent = new Cligent(opts.adapter, {
|
|
43
43
|
maxTurns: opts.maxTurns,
|
|
44
44
|
permissions: opts.permissions,
|
|
45
|
-
// Validated adapter-scoped by the configuration layer (
|
|
45
|
+
// Validated adapter-scoped by the configuration layer (cli-12).
|
|
46
46
|
...(opts.effort !== undefined ? { effort: opts.effort } : {}),
|
|
47
47
|
});
|
|
48
48
|
const stallMs = opts.stallTimeoutMs ?? 0;
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import { type PhaseExecutor } from './execution.js';
|
|
2
2
|
import type { AgentClient } from './interpreter.js';
|
|
3
|
-
import { type CompatiblePlaybookRuntimeFactory, type RuntimeContractProfile } from './playbook-contract.js';
|
|
3
|
+
import { type ComposedV3FactoryInput, type CompatiblePlaybookRuntimeFactory, type RuntimeContractProfile } from './playbook-contract.js';
|
|
4
4
|
import { type PlayerTransport } from './playbook-ports.js';
|
|
5
5
|
/**
|
|
6
6
|
* Imports a compiled `playbook` module and returns its runtime factory
|
|
7
|
-
* (
|
|
7
|
+
* (phase-execution-23).
|
|
8
8
|
*
|
|
9
9
|
* @throws when the module has no callable `createPlaybookRuntime` default export.
|
|
10
10
|
*/
|
|
11
11
|
export declare function loadPlaybookRuntime(artifactPath: string): Promise<CompatiblePlaybookRuntimeFactory>;
|
|
12
|
+
/** Builds one fresh, plain, capability-bearing argument for a v3 factory. */
|
|
13
|
+
/**
|
|
14
|
+
* The exact schema-3 factory input the compiled host supplies: empty configured
|
|
15
|
+
* options plus live host capabilities whose repository and effect-ledger seams
|
|
16
|
+
* fail closed (DR-024). Exported so verification drives the same construction
|
|
17
|
+
* the host performs rather than a divergent copy.
|
|
18
|
+
*/
|
|
19
|
+
export declare function composedV3FactoryInput(): ComposedV3FactoryInput;
|
|
12
20
|
/**
|
|
13
21
|
* Adapts a compiled `playbook` artifact to the {@link PhaseExecutor} boundary
|
|
14
|
-
* (
|
|
22
|
+
* (phase-execution-24, phase-execution-25): build the Cligent-backed Playbook ports, load and
|
|
15
23
|
* construct the runtime, drive one non-interactive root-session turn, and map
|
|
16
24
|
* the outcome, appending drained status and non-trace operational telemetry.
|
|
17
25
|
*/
|
|
@@ -24,16 +32,16 @@ export declare function createCompiledExecutor(opts: {
|
|
|
24
32
|
player: PlayerTransport;
|
|
25
33
|
/** Shared agent transport backing `callCaptain` and `callJudge`. */
|
|
26
34
|
judge: AgentClient;
|
|
27
|
-
/** Per-player model binding, applied as configuration (
|
|
35
|
+
/** Per-player model binding, applied as configuration (phase-execution-13). */
|
|
28
36
|
models?: Readonly<Record<string, string>>;
|
|
29
|
-
/** Model for players the `models` binding does not name (
|
|
37
|
+
/** Model for players the `models` binding does not name (phase-execution-13). */
|
|
30
38
|
defaultModel?: string;
|
|
31
39
|
/** Working directory handed to the agent transports. */
|
|
32
40
|
cwd?: string;
|
|
33
41
|
/** Stable authored phase identity used as the Playbook session's playbook id. */
|
|
34
42
|
playbookId?: string;
|
|
35
43
|
/**
|
|
36
|
-
* Live status sink (DR-019,
|
|
44
|
+
* Live status sink (DR-019, phase-execution-25): streams the runtime's human status
|
|
37
45
|
* and non-trace telemetry as it occurs; absent hosts keep the drained
|
|
38
46
|
* end-of-run diagnostics.
|
|
39
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-executor.d.ts","sourceRoot":"","sources":["../src/compiled-executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compiled-executor.d.ts","sourceRoot":"","sources":["../src/compiled-executor.ts"],"names":[],"mappings":"AAyCA,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAOpD,OAAO,EAIL,KAAK,sBAAsB,EAG3B,KAAK,gCAAgC,EAIrC,KAAK,sBAAsB,EAE5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEhF;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gCAAgC,CAAC,CAW3C;AAwED,6EAA6E;AAC7E;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,sBAAsB,CAuB/D;AAUD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,MAAM,EAAE,eAAe,CAAC;IACxB,oEAAoE;IACpE,KAAK,EAAE,WAAW,CAAC;IACnB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,MAAM,CAAC;IAC/B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,CACZ,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,gCAAgC,CAAC,CAAC;CAChD,GAAG,aAAa,CA2EhB"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// SPDX-FileCopyrightText: 2026 SubLang International <https://sublang.ai>
|
|
3
3
|
/**
|
|
4
4
|
* Compiled phase execution: load a `playbook` artifact and drive it host-side
|
|
5
|
-
* (
|
|
5
|
+
* (phase-execution-23, phase-execution-24, phase-execution-25,
|
|
6
|
+
* phase-execution-49; DR-005, DR-024).
|
|
6
7
|
*
|
|
7
8
|
* {@link loadPlaybookRuntime} imports a compiled `playbook` module and returns
|
|
8
9
|
* its `createPlaybookRuntime` factory. {@link createCompiledExecutor} adapts it
|
|
@@ -11,21 +12,22 @@
|
|
|
11
12
|
* non-interactive turn (`init` -> `handleBossInput` -> `dispose`), and maps a
|
|
12
13
|
* structured result when present or the bounded legacy host-observable outcome
|
|
13
14
|
* otherwise. The pin-selected contract profile chooses the exact legacy,
|
|
14
|
-
* traced-session,
|
|
15
|
-
* (DR-010, DR-011). The host-only
|
|
16
|
-
* human status and non-trace operational
|
|
17
|
-
*
|
|
18
|
-
*
|
|
15
|
+
* traced-session, composed-session, or roleless schema-3 construction and init
|
|
16
|
+
* shape without a retry heuristic (DR-010, DR-011, DR-024). The host-only
|
|
17
|
+
* `drainDiagnostics` stays host-side; human status and non-trace operational
|
|
18
|
+
* telemetry become diagnostics. Older compiled profiles may write through
|
|
19
|
+
* `callPlayer`; roleless schema-3 rejects that port and uses direct Captain
|
|
20
|
+
* work. Every profile relies on the DR-003 generic checks, which defend the
|
|
19
21
|
* protected inputs (not the full write scope); `slc` adds no host-side
|
|
20
22
|
* write-scope enforcement.
|
|
21
23
|
*
|
|
22
|
-
* The turn is seeded per the
|
|
24
|
+
* The turn is seeded per the phase-execution-29 contract ({@link seedPhaseTurn}), and a
|
|
23
25
|
* transformation-performing direct Captain call additionally carries the host
|
|
24
|
-
* workspace contract ({@link composeWorkspaceContract};
|
|
26
|
+
* workspace contract ({@link composeWorkspaceContract}; phase-execution-34) so the
|
|
25
27
|
* host-agnostic artifact's Captain learns the request's absolute paths; the
|
|
26
28
|
* result is derived in {@link drivePhase} from the structured runtime boundary
|
|
27
29
|
* or, for a void-result legacy runtime, the host-observable output delta.
|
|
28
|
-
* See specs/
|
|
30
|
+
* See specs/packages/phase-execution.md.
|
|
29
31
|
*/
|
|
30
32
|
import { createHash, randomUUID } from 'node:crypto';
|
|
31
33
|
import { readFile, stat } from 'node:fs/promises';
|
|
@@ -38,7 +40,7 @@ import { isPlaybookRunResult, } from './playbook-contract.js';
|
|
|
38
40
|
import { createPlaybookPorts } from './playbook-ports.js';
|
|
39
41
|
/**
|
|
40
42
|
* Imports a compiled `playbook` module and returns its runtime factory
|
|
41
|
-
* (
|
|
43
|
+
* (phase-execution-23).
|
|
42
44
|
*
|
|
43
45
|
* @throws when the module has no callable `createPlaybookRuntime` default export.
|
|
44
46
|
*/
|
|
@@ -50,9 +52,97 @@ export async function loadPlaybookRuntime(artifactPath) {
|
|
|
50
52
|
}
|
|
51
53
|
return create;
|
|
52
54
|
}
|
|
55
|
+
const COMPOSED_V3_COMPAT_ERROR = 'compiled composed-v3 factory requires immutable compatibility { artifactSchema: 3, runtimeAbi: 1 }';
|
|
56
|
+
const COMPOSED_V3_REPOSITORY_ERROR = 'compiled composed-v3 phase host does not support repository operations';
|
|
57
|
+
const COMPOSED_V3_EFFECT_ERROR = 'compiled composed-v3 phase host does not support effect-ledger writes';
|
|
58
|
+
/**
|
|
59
|
+
* Constructs exactly the profile selected by reviewed provenance. The dormant
|
|
60
|
+
* v3 branch is intentionally reachable only through an explicit profile until
|
|
61
|
+
* the atomic Playbook 10 adoption maps that provenance (DR-024).
|
|
62
|
+
*/
|
|
63
|
+
function constructRuntime(factory, contract) {
|
|
64
|
+
if (contract !== 'composed-v3')
|
|
65
|
+
return factory({});
|
|
66
|
+
requireComposedV3Compatibility(factory);
|
|
67
|
+
return factory(composedV3FactoryInput());
|
|
68
|
+
}
|
|
69
|
+
/** Fails closed without reading a compatibility accessor or invoking a factory. */
|
|
70
|
+
function requireComposedV3Compatibility(factory) {
|
|
71
|
+
let valid = false;
|
|
72
|
+
try {
|
|
73
|
+
const descriptor = Object.getOwnPropertyDescriptor(factory, 'compat');
|
|
74
|
+
if (descriptor !== undefined &&
|
|
75
|
+
Object.prototype.hasOwnProperty.call(descriptor, 'value') &&
|
|
76
|
+
descriptor.enumerable === true &&
|
|
77
|
+
descriptor.writable === false &&
|
|
78
|
+
descriptor.configurable === false) {
|
|
79
|
+
const compat = descriptor.value;
|
|
80
|
+
if (isPlainObject(compat) && Object.isFrozen(compat)) {
|
|
81
|
+
const names = Object.getOwnPropertyNames(compat);
|
|
82
|
+
const symbols = Object.getOwnPropertySymbols(compat);
|
|
83
|
+
const artifactSchema = Object.getOwnPropertyDescriptor(compat, 'artifactSchema');
|
|
84
|
+
const runtimeAbi = Object.getOwnPropertyDescriptor(compat, 'runtimeAbi');
|
|
85
|
+
valid =
|
|
86
|
+
names.length === 2 &&
|
|
87
|
+
names.includes('artifactSchema') &&
|
|
88
|
+
names.includes('runtimeAbi') &&
|
|
89
|
+
symbols.length === 0 &&
|
|
90
|
+
artifactSchema !== undefined &&
|
|
91
|
+
artifactSchema.enumerable === true &&
|
|
92
|
+
Object.prototype.hasOwnProperty.call(artifactSchema, 'value') &&
|
|
93
|
+
artifactSchema.value === 3 &&
|
|
94
|
+
runtimeAbi !== undefined &&
|
|
95
|
+
runtimeAbi.enumerable === true &&
|
|
96
|
+
Object.prototype.hasOwnProperty.call(runtimeAbi, 'value') &&
|
|
97
|
+
runtimeAbi.value === 1;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// A hostile proxy is an invalid declaration, not a control-plane error.
|
|
103
|
+
}
|
|
104
|
+
if (!valid)
|
|
105
|
+
throw new TypeError(COMPOSED_V3_COMPAT_ERROR);
|
|
106
|
+
}
|
|
107
|
+
/** Builds one fresh, plain, capability-bearing argument for a v3 factory. */
|
|
108
|
+
/**
|
|
109
|
+
* The exact schema-3 factory input the compiled host supplies: empty configured
|
|
110
|
+
* options plus live host capabilities whose repository and effect-ledger seams
|
|
111
|
+
* fail closed (DR-024). Exported so verification drives the same construction
|
|
112
|
+
* the host performs rather than a divergent copy.
|
|
113
|
+
*/
|
|
114
|
+
export function composedV3FactoryInput() {
|
|
115
|
+
const rejectRepository = () => Promise.reject(new Error(COMPOSED_V3_REPOSITORY_ERROR));
|
|
116
|
+
const rejectEffectWrite = () => Promise.reject(new Error(COMPOSED_V3_EFFECT_ERROR));
|
|
117
|
+
return {
|
|
118
|
+
configuredOptions: {},
|
|
119
|
+
hostCapabilities: {
|
|
120
|
+
repository: {
|
|
121
|
+
runExclusive: rejectRepository,
|
|
122
|
+
runDeferred: rejectRepository,
|
|
123
|
+
},
|
|
124
|
+
effectLedger: {
|
|
125
|
+
snapshot: () => ({
|
|
126
|
+
schemaVersion: 1,
|
|
127
|
+
revision: 0,
|
|
128
|
+
boundaries: [],
|
|
129
|
+
logicalOperations: [],
|
|
130
|
+
}),
|
|
131
|
+
writeAhead: rejectEffectWrite,
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function isPlainObject(value) {
|
|
137
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
const prototype = Object.getPrototypeOf(value);
|
|
141
|
+
return prototype === Object.prototype || prototype === null;
|
|
142
|
+
}
|
|
53
143
|
/**
|
|
54
144
|
* Adapts a compiled `playbook` artifact to the {@link PhaseExecutor} boundary
|
|
55
|
-
* (
|
|
145
|
+
* (phase-execution-24, phase-execution-25): build the Cligent-backed Playbook ports, load and
|
|
56
146
|
* construct the runtime, drive one non-interactive root-session turn, and map
|
|
57
147
|
* the outcome, appending drained status and non-trace operational telemetry.
|
|
58
148
|
*/
|
|
@@ -70,11 +160,11 @@ export function createCompiledExecutor(opts) {
|
|
|
70
160
|
cwd: opts.cwd,
|
|
71
161
|
// The host owns the workspace: a transformation-performing Captain's
|
|
72
162
|
// transported prompt carries the request's absolute paths and
|
|
73
|
-
// write-scope rules (
|
|
163
|
+
// write-scope rules (phase-execution-34).
|
|
74
164
|
captainWorkspace: composeWorkspaceContract(input),
|
|
75
165
|
// The compiled artifact knows nothing about incremental updates, so
|
|
76
166
|
// the host appends the update context to performing prompts
|
|
77
|
-
// (DR-021,
|
|
167
|
+
// (DR-021, incremental-compilation-16).
|
|
78
168
|
...(request.kind === 'compile' && request.update !== undefined
|
|
79
169
|
? {
|
|
80
170
|
updateContext: updateContextLines(request.update, request.target).join('\n'),
|
|
@@ -83,7 +173,7 @@ export function createCompiledExecutor(opts) {
|
|
|
83
173
|
onStatus: opts.onStatus,
|
|
84
174
|
});
|
|
85
175
|
// Hand the runtime only Playbook's ports — never the host-only
|
|
86
|
-
// drainDiagnostics, nor a file capability (DR-005,
|
|
176
|
+
// drainDiagnostics, nor a file capability (DR-005, phase-execution-23).
|
|
87
177
|
const ports = {
|
|
88
178
|
callPlayer: adapter.callPlayer,
|
|
89
179
|
callCaptain: adapter.callCaptain,
|
|
@@ -103,7 +193,7 @@ export function createCompiledExecutor(opts) {
|
|
|
103
193
|
playbookId: opts.playbookId ?? playbookIdFromArtifact(opts.artifactPath),
|
|
104
194
|
});
|
|
105
195
|
const driven = await drivePhase(load, opts.artifactPath, ports, input, signal, identity, runtimeContract);
|
|
106
|
-
const result = mapVoidContractFailedState(driven, lastFsmState, runtimeContract
|
|
196
|
+
const result = mapVoidContractFailedState(driven, lastFsmState, runtimeContract === 'legacy' || runtimeContract === 'session-v1');
|
|
107
197
|
const mapped = mapPhaseResult(result);
|
|
108
198
|
return {
|
|
109
199
|
status: mapped.status,
|
|
@@ -142,7 +232,7 @@ async function drivePhase(load, artifactPath, ports, input, signal, identity, ru
|
|
|
142
232
|
let runtime;
|
|
143
233
|
try {
|
|
144
234
|
const factory = await load(artifactPath);
|
|
145
|
-
runtime = factory
|
|
235
|
+
runtime = constructRuntime(factory, runtimeContract);
|
|
146
236
|
}
|
|
147
237
|
catch (error) {
|
|
148
238
|
return {
|
|
@@ -200,13 +290,13 @@ async function disposeRuntime(runtime) {
|
|
|
200
290
|
return error;
|
|
201
291
|
}
|
|
202
292
|
}
|
|
203
|
-
function rootSession(identity, ports) {
|
|
293
|
+
function rootSession(identity, ports, contract) {
|
|
204
294
|
return {
|
|
205
295
|
sessionId: identity.sessionId,
|
|
206
296
|
playbookId: identity.playbookId,
|
|
207
297
|
rootSessionId: identity.sessionId,
|
|
208
298
|
depth: 0,
|
|
209
|
-
ports: composedPorts(ports),
|
|
299
|
+
ports: composedPorts(ports, contract),
|
|
210
300
|
};
|
|
211
301
|
}
|
|
212
302
|
function legacyPorts(ports) {
|
|
@@ -225,14 +315,19 @@ function sessionV1Ports(ports) {
|
|
|
225
315
|
emitTelemetry: ports.emitTelemetry,
|
|
226
316
|
};
|
|
227
317
|
}
|
|
228
|
-
function composedPorts(ports) {
|
|
318
|
+
function composedPorts(ports, contract) {
|
|
229
319
|
return {
|
|
230
|
-
callPlayer: (playerId, prompt, signal, options) =>
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
320
|
+
callPlayer: (playerId, prompt, signal, options) => {
|
|
321
|
+
if (contract === 'composed-v3') {
|
|
322
|
+
return Promise.reject(new Error('compiled composed-v3 phase host does not support delegated role calls'));
|
|
323
|
+
}
|
|
324
|
+
return preserveControlPlaneRejection(contract, 'callPlayer', signal, () => ports.callPlayer(playerId, prompt, signal, requirePlayerCallOptions(options)));
|
|
325
|
+
},
|
|
326
|
+
callCaptain: (prompt, signal, options) => preserveControlPlaneRejection(contract, 'callCaptain', signal, () => ports.callCaptain(prompt, signal, options)),
|
|
327
|
+
callJudge: (prompt, signal) => preserveControlPlaneRejection(contract, 'callJudge', signal, () => ports.callJudge(prompt, signal)),
|
|
328
|
+
callPlaybook: (request, signal) => preserveControlPlaneRejection(contract, 'callPlaybook', signal, () => ports.callPlaybook(request, signal)),
|
|
329
|
+
emitStatus: (message, data) => preserveControlPlaneRejection(contract, 'emitStatus', undefined, () => ports.emitStatus(message, data)),
|
|
330
|
+
emitTelemetry: (event) => preserveControlPlaneRejection(contract, 'emitTelemetry', undefined, () => ports.emitTelemetry(event)),
|
|
236
331
|
};
|
|
237
332
|
}
|
|
238
333
|
/**
|
|
@@ -242,7 +337,7 @@ function composedPorts(ports) {
|
|
|
242
337
|
* failure. Preserve a causally identical abort reason, but give every other
|
|
243
338
|
* nullish rejection a stable Error identity before it crosses the boundary.
|
|
244
339
|
*/
|
|
245
|
-
async function preserveControlPlaneRejection(port, signal, call) {
|
|
340
|
+
async function preserveControlPlaneRejection(contract, port, signal, call) {
|
|
246
341
|
try {
|
|
247
342
|
return await call();
|
|
248
343
|
}
|
|
@@ -253,7 +348,7 @@ async function preserveControlPlaneRejection(port, signal, call) {
|
|
|
253
348
|
if (signal?.aborted === true && error === signal.reason) {
|
|
254
349
|
throw error;
|
|
255
350
|
}
|
|
256
|
-
throw new Error(`compiled
|
|
351
|
+
throw new Error(`compiled ${contract} ${port} port rejected without an error`, { cause: error });
|
|
257
352
|
}
|
|
258
353
|
}
|
|
259
354
|
function requirePlayerCallOptions(value) {
|
|
@@ -279,7 +374,9 @@ function runtimeInitValue(contract, identity, ports) {
|
|
|
279
374
|
ports: sessionV1Ports(ports),
|
|
280
375
|
};
|
|
281
376
|
case 'composed-v2':
|
|
282
|
-
return rootSession(identity, ports);
|
|
377
|
+
return rootSession(identity, ports, contract);
|
|
378
|
+
case 'composed-v3':
|
|
379
|
+
return rootSession(identity, ports, contract);
|
|
283
380
|
}
|
|
284
381
|
}
|
|
285
382
|
async function callRuntimeInit(runtime, value) {
|
|
@@ -291,7 +388,7 @@ async function callRuntimeTurn(runtime, text, signal) {
|
|
|
291
388
|
return handle.call(runtime, { text, signal });
|
|
292
389
|
}
|
|
293
390
|
function mapRuntimeOutcome(result, produced, contract) {
|
|
294
|
-
if (contract
|
|
391
|
+
if (contract === 'legacy' || contract === 'session-v1') {
|
|
295
392
|
return result === undefined
|
|
296
393
|
? legacyOutputResult(produced)
|
|
297
394
|
: {
|
|
@@ -304,10 +401,10 @@ function mapRuntimeOutcome(result, produced, contract) {
|
|
|
304
401
|
if (result === undefined) {
|
|
305
402
|
return {
|
|
306
403
|
status: 'error',
|
|
307
|
-
diagnostics: [
|
|
404
|
+
diagnostics: [`compiled ${contract} runtime returned no run result`],
|
|
308
405
|
};
|
|
309
406
|
}
|
|
310
|
-
if (!isPlaybookRunResult(result)) {
|
|
407
|
+
if (!isPlaybookRunResult(result, contract)) {
|
|
311
408
|
return {
|
|
312
409
|
status: 'error',
|
|
313
410
|
diagnostics: ['compiled runtime returned an invalid run result'],
|
|
@@ -366,6 +463,11 @@ function structuredOutputResult(result, produced) {
|
|
|
366
463
|
`compiled runtime suspended for unsupported nested playbook call ${result.pendingCall.callId}`,
|
|
367
464
|
],
|
|
368
465
|
};
|
|
466
|
+
case 'unresolved-effect':
|
|
467
|
+
return {
|
|
468
|
+
status: 'error',
|
|
469
|
+
diagnostics: ['compiled runtime stopped with an unresolved effect'],
|
|
470
|
+
};
|
|
369
471
|
}
|
|
370
472
|
}
|
|
371
473
|
function playbookIdFromArtifact(artifactPath) {
|