@relayflows/sdk 2.0.11 → 2.0.13
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/adapters/base.d.ts +6 -0
- package/dist/adapters/base.d.ts.map +1 -1
- package/dist/adapters/claude.d.ts.map +1 -1
- package/dist/adapters/claude.js +1 -0
- package/dist/adapters/claude.js.map +1 -1
- package/dist/authored-admission.d.ts +5 -0
- package/dist/authored-admission.d.ts.map +1 -0
- package/dist/authored-admission.js +14 -0
- package/dist/authored-admission.js.map +1 -0
- package/dist/authored-budget.d.ts +1 -1
- package/dist/authored-budget.d.ts.map +1 -1
- package/dist/authored-budget.js +18 -9
- package/dist/authored-budget.js.map +1 -1
- package/dist/authored-flow-error.d.ts +1 -1
- package/dist/authored-flow-error.d.ts.map +1 -1
- package/dist/authored-flow-error.js.map +1 -1
- package/dist/authored-flow-executor.d.ts +10 -0
- package/dist/authored-flow-executor.d.ts.map +1 -1
- package/dist/authored-flow-executor.js +15 -7
- package/dist/authored-flow-executor.js.map +1 -1
- package/dist/authored-flow-loader.d.ts +20 -0
- package/dist/authored-flow-loader.d.ts.map +1 -1
- package/dist/authored-flow-loader.js +86 -11
- package/dist/authored-flow-loader.js.map +1 -1
- package/dist/authored-helper-effect.d.ts +1 -1
- package/dist/authored-helper-effect.d.ts.map +1 -1
- package/dist/authored-helper-effect.js +5 -3
- package/dist/authored-helper-effect.js.map +1 -1
- package/dist/authored-mcp.d.ts +1 -1
- package/dist/authored-mcp.d.ts.map +1 -1
- package/dist/authored-mcp.js +7 -4
- package/dist/authored-mcp.js.map +1 -1
- package/dist/authored-node-entry.d.ts +2 -0
- package/dist/authored-node-entry.d.ts.map +1 -0
- package/dist/authored-node-entry.js +111 -0
- package/dist/authored-node-entry.js.map +1 -0
- package/dist/authored-node-runner.d.ts +11 -0
- package/dist/authored-node-runner.d.ts.map +1 -0
- package/dist/authored-node-runner.js +246 -0
- package/dist/authored-node-runner.js.map +1 -0
- package/dist/authored-plugin-effect.d.ts +1 -1
- package/dist/authored-plugin-effect.d.ts.map +1 -1
- package/dist/authored-plugin-effect.js +7 -4
- package/dist/authored-plugin-effect.js.map +1 -1
- package/dist/authored-root.d.ts +38 -0
- package/dist/authored-root.d.ts.map +1 -0
- package/dist/authored-root.js +329 -0
- package/dist/authored-root.js.map +1 -0
- package/dist/authored-runtime-capability.d.ts +6 -0
- package/dist/authored-runtime-capability.d.ts.map +1 -0
- package/dist/authored-runtime-capability.js +40 -0
- package/dist/authored-runtime-capability.js.map +1 -0
- package/dist/authored-source-authority.d.ts +4 -0
- package/dist/authored-source-authority.d.ts.map +1 -0
- package/dist/authored-source-authority.js +61 -0
- package/dist/authored-source-authority.js.map +1 -0
- package/dist/authored-worker-step.d.ts +2 -2
- package/dist/authored-worker-step.d.ts.map +1 -1
- package/dist/authored-worker-step.js +11 -6
- package/dist/authored-worker-step.js.map +1 -1
- package/dist/budget-preflight.d.ts +28 -3
- package/dist/budget-preflight.d.ts.map +1 -1
- package/dist/budget-preflight.js +34 -24
- package/dist/budget-preflight.js.map +1 -1
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.js +8 -0
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/check.js +3 -1
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/deploy.d.ts.map +1 -1
- package/dist/cli/deploy.js +5 -0
- package/dist/cli/deploy.js.map +1 -1
- package/dist/cli/direct-run.d.ts.map +1 -1
- package/dist/cli/direct-run.js +46 -14
- package/dist/cli/direct-run.js.map +1 -1
- package/dist/cli/run.d.ts +10 -0
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +90 -12
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/step-failure.d.ts +40 -0
- package/dist/cli/step-failure.d.ts.map +1 -0
- package/dist/cli/step-failure.js +150 -0
- package/dist/cli/step-failure.js.map +1 -0
- package/dist/cli-adapter.d.ts +16 -0
- package/dist/cli-adapter.d.ts.map +1 -1
- package/dist/cli-adapter.js +17 -0
- package/dist/cli-adapter.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +8 -8
- package/dist/cli.js.map +1 -1
- package/dist/cloud-run.d.ts +11 -1
- package/dist/cloud-run.d.ts.map +1 -1
- package/dist/cloud-run.js +65 -19
- package/dist/cloud-run.js.map +1 -1
- package/dist/daemon-connection.d.ts +7 -0
- package/dist/daemon-connection.d.ts.map +1 -1
- package/dist/daemon-connection.js +7 -0
- package/dist/daemon-connection.js.map +1 -1
- package/dist/failure-kinds.d.ts +30 -4
- package/dist/failure-kinds.d.ts.map +1 -1
- package/dist/failure-kinds.js +8 -1
- package/dist/failure-kinds.js.map +1 -1
- package/dist/journal-client.d.ts +3 -7
- package/dist/journal-client.d.ts.map +1 -1
- package/dist/journal-client.js +6 -2
- package/dist/journal-client.js.map +1 -1
- package/dist/llm-worker.d.ts.map +1 -1
- package/dist/llm-worker.js +4 -2
- package/dist/llm-worker.js.map +1 -1
- package/dist/local-agent.d.ts +1 -1
- package/dist/local-agent.d.ts.map +1 -1
- package/dist/local-agent.js +2 -2
- package/dist/local-agent.js.map +1 -1
- package/dist/model-pricing.d.ts +7 -6
- package/dist/model-pricing.d.ts.map +1 -1
- package/dist/model-pricing.js +8 -6
- package/dist/model-pricing.js.map +1 -1
- package/dist/preflight.d.ts +9 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +36 -18
- package/dist/preflight.js.map +1 -1
- package/dist/protocol.d.ts +24 -5
- package/dist/protocol.d.ts.map +1 -1
- package/dist/spec.d.ts +27 -11
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/worker-cli.d.ts.map +1 -1
- package/dist/worker-cli.js +6 -5
- package/dist/worker-cli.js.map +1 -1
- package/dist/worker-spend.d.ts +13 -8
- package/dist/worker-spend.d.ts.map +1 -1
- package/dist/worker-spend.js +27 -4
- package/dist/worker-spend.js.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +4 -2
- package/dist/worker.js.map +1 -1
- package/package.json +2 -2
- package/src/adapters/base.ts +7 -0
- package/src/adapters/claude.ts +1 -0
- package/src/authored-admission.ts +17 -0
- package/src/authored-budget.ts +38 -11
- package/src/authored-flow-error.ts +0 -1
- package/src/authored-flow-executor.ts +32 -7
- package/src/authored-flow-loader.ts +96 -13
- package/src/authored-helper-effect.ts +5 -3
- package/src/authored-mcp.ts +6 -4
- package/src/authored-node-entry.ts +90 -0
- package/src/authored-node-runner.ts +219 -0
- package/src/authored-plugin-effect.ts +6 -3
- package/src/authored-root.ts +396 -0
- package/src/authored-runtime-capability.ts +40 -0
- package/src/authored-source-authority.ts +62 -0
- package/src/authored-worker-step.ts +15 -4
- package/src/budget-preflight.ts +52 -25
- package/src/cli/build.ts +7 -0
- package/src/cli/check.ts +3 -1
- package/src/cli/deploy.ts +4 -0
- package/src/cli/direct-run.ts +52 -16
- package/src/cli/run.ts +101 -12
- package/src/cli/step-failure.ts +160 -0
- package/src/cli-adapter.ts +27 -0
- package/src/cli.ts +9 -9
- package/src/cloud-run.ts +74 -21
- package/src/daemon-connection.ts +8 -0
- package/src/failure-kinds.ts +28 -2
- package/src/journal-client.ts +8 -3
- package/src/llm-worker.ts +4 -2
- package/src/local-agent.ts +7 -2
- package/src/model-pricing.ts +8 -6
- package/src/preflight.ts +45 -18
- package/src/protocol.ts +17 -2
- package/src/spec.ts +28 -5
- package/src/worker-cli.ts +7 -5
- package/src/worker-spend.ts +32 -5
- package/src/worker.ts +4 -2
- package/dist/cli/deterministic-failure.d.ts +0 -5
- package/dist/cli/deterministic-failure.d.ts.map +0 -1
- package/dist/cli/deterministic-failure.js +0 -66
- package/dist/cli/deterministic-failure.js.map +0 -1
- package/src/cli/deterministic-failure.ts +0 -69
package/dist/failure-kinds.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** Closed refusal taxonomy for public preflight (RFC covenant 2). */
|
|
2
|
-
export declare const PREFLIGHT_FAILURE_KINDS: readonly ["invalid_spec", "unknown_gate_kind", "gate_pattern_invalid", "gate_command_missing", "gate_bound_invalid", "plugin_unknown", "plugin_unlisted", "plugin_install_failed", "plugin_manifest_missing", "plugin_manifest_invalid", "plugin_preflight_missing", "plugin_verb_unknown_primitive", "plugin_unsupported", "plugin_credential_missing", "plugin_server_unreachable", "helper_provider.mount_required", "helper_provider.unsupported", "helper_slack.credential_missing", "helper_slack.mount_required", "helper_mount_required", "mcp_undeclared_server", "mcp_unreachable", "budget_syntax_invalid", "
|
|
2
|
+
export declare const PREFLIGHT_FAILURE_KINDS: readonly ["invalid_spec", "unknown_gate_kind", "gate_pattern_invalid", "gate_command_missing", "gate_bound_invalid", "plugin_unknown", "plugin_unlisted", "plugin_install_failed", "plugin_manifest_missing", "plugin_manifest_invalid", "plugin_preflight_missing", "plugin_verb_unknown_primitive", "plugin_unsupported", "plugin_credential_missing", "plugin_server_unreachable", "helper_provider.mount_required", "helper_provider.unsupported", "helper_slack.credential_missing", "helper_slack.mount_required", "helper_mount_required", "mcp_undeclared_server", "mcp_unreachable", "budget_syntax_invalid", "cli_missing", "cli_unauthenticated", "cli_unresolved", "cli_unsupported", "command_missing", "model_unavailable", "model_unknown", "memory_unreachable", "no_executor", "probe_failed", "scope_syntax_invalid", "mount_unknown", "scope_ungrantable"];
|
|
3
3
|
/** Input/command refusals emitted before the pure preflight predicates run. */
|
|
4
4
|
export declare const CHECK_INPUT_FAILURE_KINDS: readonly ["config_invalid", "input_invalid", "input_missing", "input_too_large", "input_unreadable", "invalid_invocation", "invalid_spec"];
|
|
5
|
-
export declare const CHECK_FAILURE_KINDS: readonly ["config_invalid", "input_invalid", "input_missing", "input_too_large", "input_unreadable", "invalid_invocation", "invalid_spec", "unknown_gate_kind", "gate_pattern_invalid", "gate_command_missing", "gate_bound_invalid", "plugin_unknown", "plugin_unlisted", "plugin_install_failed", "plugin_manifest_missing", "plugin_manifest_invalid", "plugin_preflight_missing", "plugin_verb_unknown_primitive", "plugin_unsupported", "plugin_credential_missing", "plugin_server_unreachable", "helper_provider.mount_required", "helper_provider.unsupported", "helper_slack.credential_missing", "helper_slack.mount_required", "helper_mount_required", "mcp_undeclared_server", "mcp_unreachable", "budget_syntax_invalid", "
|
|
5
|
+
export declare const CHECK_FAILURE_KINDS: readonly ["config_invalid", "input_invalid", "input_missing", "input_too_large", "input_unreadable", "invalid_invocation", "invalid_spec", "unknown_gate_kind", "gate_pattern_invalid", "gate_command_missing", "gate_bound_invalid", "plugin_unknown", "plugin_unlisted", "plugin_install_failed", "plugin_manifest_missing", "plugin_manifest_invalid", "plugin_preflight_missing", "plugin_verb_unknown_primitive", "plugin_unsupported", "plugin_credential_missing", "plugin_server_unreachable", "helper_provider.mount_required", "helper_provider.unsupported", "helper_slack.credential_missing", "helper_slack.mount_required", "helper_mount_required", "mcp_undeclared_server", "mcp_unreachable", "budget_syntax_invalid", "cli_missing", "cli_unauthenticated", "cli_unresolved", "cli_unsupported", "command_missing", "model_unavailable", "model_unknown", "memory_unreachable", "no_executor", "probe_failed", "scope_syntax_invalid", "mount_unknown", "scope_ungrantable"];
|
|
6
6
|
/**
|
|
7
7
|
* Warnings never refuse. Covenant 2 asks preflight to refuse *or warn* on
|
|
8
8
|
* anything it cannot prove, so a deterministic step always leaves exactly one
|
|
@@ -12,8 +12,15 @@ export declare const CHECK_FAILURE_KINDS: readonly ["config_invalid", "input_inv
|
|
|
12
12
|
* `vacuous_gate` is the same principle applied to a declared gate that judges
|
|
13
13
|
* nothing: `schema: {}` and `schema: true` are legal and accepted, but a gate
|
|
14
14
|
* accepting every output must not be reported as if it constrained one.
|
|
15
|
+
*
|
|
16
|
+
* `budget_unmetered` names an LLM/agent step under a dollar budget whose model
|
|
17
|
+
* has no frozen price (including Codex, which selects its own model). A
|
|
18
|
+
* missing price never refuses: the step runs, journals its tokens with
|
|
19
|
+
* `dollars_unmetered: true`, and cannot cross `maxDollars`; token limits still
|
|
20
|
+
* apply. It replaced the `budget_missing_price` refusal (#421), which older
|
|
21
|
+
* `flows check` reports may still show.
|
|
15
22
|
*/
|
|
16
|
-
export declare const PREFLIGHT_WARNING_KINDS: readonly ["unprovable_effects", "command_unresolved", "command_unprovable", "vacuous_gate"];
|
|
23
|
+
export declare const PREFLIGHT_WARNING_KINDS: readonly ["unprovable_effects", "command_unresolved", "command_unprovable", "vacuous_gate", "budget_unmetered"];
|
|
17
24
|
/**
|
|
18
25
|
* Closed outcome taxonomy owned by the `flows run` / `flows resume` surface.
|
|
19
26
|
*
|
|
@@ -40,13 +47,32 @@ export type CheckFailureKind = (typeof CHECK_FAILURE_KINDS)[number];
|
|
|
40
47
|
export type PreflightWarningKind = (typeof PREFLIGHT_WARNING_KINDS)[number];
|
|
41
48
|
export type RunFailureKind = (typeof RUN_FAILURE_KINDS)[number];
|
|
42
49
|
export type RunWarningKind = (typeof RUN_WARNING_KINDS)[number];
|
|
43
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Optional evidence on the existing step_failed diagnostic, not a new kind.
|
|
52
|
+
*
|
|
53
|
+
* Every field is optional because a failure must be reportable on whatever it
|
|
54
|
+
* left behind. A deterministic step leaves `exitCode` plus output tails; an
|
|
55
|
+
* agent or llm step leaves `completionReason` and whatever the daemon captured
|
|
56
|
+
* into `detail` (see cli/step-failure.ts). Absent means "not journaled", never
|
|
57
|
+
* "zero" — an exit code is only ever reported when one was actually recorded.
|
|
58
|
+
*/
|
|
44
59
|
export interface StepFailedDetails {
|
|
45
60
|
stepId?: string;
|
|
61
|
+
/** `deterministic` | `llm` | `agent`, when the run snapshot named one. */
|
|
62
|
+
stepType?: string;
|
|
63
|
+
/** The kernel's per-step reason, e.g. `worker_error`, `retries_exhausted`. */
|
|
64
|
+
completionReason?: string;
|
|
46
65
|
exitCode?: number;
|
|
47
66
|
/** Terminal-safe UTF-8 excerpt, at most 1,024 bytes. */
|
|
67
|
+
stdoutTail?: string;
|
|
68
|
+
/** Terminal-safe UTF-8 excerpt, at most 1,024 bytes. */
|
|
48
69
|
stderrTail?: string;
|
|
70
|
+
/** The daemon's own account, when it was not a render of the fields above. */
|
|
71
|
+
detail?: string;
|
|
72
|
+
/** A runnable `flows replay` invocation for this run. */
|
|
49
73
|
hint?: string;
|
|
74
|
+
/** The on-disk journal for this run, when the data dir is known. */
|
|
75
|
+
journalPath?: string;
|
|
50
76
|
}
|
|
51
77
|
export declare function isCheckFailureKind(value: string): value is CheckFailureKind;
|
|
52
78
|
export declare function isRunFailureKind(value: string): value is RunFailureKind;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-kinds.d.ts","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"failure-kinds.d.ts","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"AA+BA,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,+0BAG1B,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,4IAQ5B,CAAC;AAEX,eAAO,MAAM,mBAAmB,g8BAGtB,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB,iHAM1B,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,yXAiBpB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,oCAEpB,CAAC;AAEX,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,oCAAqC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gBAAgB,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE"}
|
package/dist/failure-kinds.js
CHANGED
|
@@ -13,7 +13,6 @@ const PREFLIGHT_ENVIRONMENT_FAILURE_KINDS = [
|
|
|
13
13
|
'mcp_undeclared_server',
|
|
14
14
|
'mcp_unreachable',
|
|
15
15
|
'budget_syntax_invalid',
|
|
16
|
-
'budget_missing_price',
|
|
17
16
|
'cli_missing',
|
|
18
17
|
'cli_unauthenticated',
|
|
19
18
|
'cli_unresolved',
|
|
@@ -56,12 +55,20 @@ export const CHECK_FAILURE_KINDS = [
|
|
|
56
55
|
* `vacuous_gate` is the same principle applied to a declared gate that judges
|
|
57
56
|
* nothing: `schema: {}` and `schema: true` are legal and accepted, but a gate
|
|
58
57
|
* accepting every output must not be reported as if it constrained one.
|
|
58
|
+
*
|
|
59
|
+
* `budget_unmetered` names an LLM/agent step under a dollar budget whose model
|
|
60
|
+
* has no frozen price (including Codex, which selects its own model). A
|
|
61
|
+
* missing price never refuses: the step runs, journals its tokens with
|
|
62
|
+
* `dollars_unmetered: true`, and cannot cross `maxDollars`; token limits still
|
|
63
|
+
* apply. It replaced the `budget_missing_price` refusal (#421), which older
|
|
64
|
+
* `flows check` reports may still show.
|
|
59
65
|
*/
|
|
60
66
|
export const PREFLIGHT_WARNING_KINDS = [
|
|
61
67
|
'unprovable_effects',
|
|
62
68
|
'command_unresolved',
|
|
63
69
|
'command_unprovable',
|
|
64
70
|
'vacuous_gate',
|
|
71
|
+
'budget_unmetered',
|
|
65
72
|
];
|
|
66
73
|
/**
|
|
67
74
|
* Closed outcome taxonomy owned by the `flows run` / `flows resume` surface.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-kinds.js","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,MAAM,yBAAyB,GAAG,CAAC,cAAc,CAAU,CAAC;AAE5D,yEAAyE;AACzE,MAAM,mCAAmC,GAAG;IAC1C,GAAG,wBAAwB;IAC3B,GAAG,oBAAoB;IACvB,gCAAgC;IAChC,6BAA6B;IAC7B,iCAAiC;IACjC,6BAA6B;IAC7B,uBAAuB;IACvB,uBAAuB;IACvB,iBAAiB;IACjB,uBAAuB;IACvB,
|
|
1
|
+
{"version":3,"file":"failure-kinds.js","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,MAAM,yBAAyB,GAAG,CAAC,cAAc,CAAU,CAAC;AAE5D,yEAAyE;AACzE,MAAM,mCAAmC,GAAG;IAC1C,GAAG,wBAAwB;IAC3B,GAAG,oBAAoB;IACvB,gCAAgC;IAChC,6BAA6B;IAC7B,iCAAiC;IACjC,6BAA6B;IAC7B,uBAAuB;IACvB,uBAAuB;IACvB,iBAAiB;IACjB,uBAAuB;IACvB,aAAa;IACb,qBAAqB;IACrB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,oBAAoB;IACpB,aAAa;IACb,cAAc;IACd,sBAAsB;IACtB,eAAe;IACf,mBAAmB;CACX,CAAC;AAEX,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG,yBAAyB;IAC5B,GAAG,mCAAmC;CAC9B,CAAC;AAEX,+EAA+E;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,GAAG,yBAAyB;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,yBAAyB;IAC5B,GAAG,mCAAmC;CAC9B,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,cAAc;IACd,kBAAkB;CACV,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,qBAAqB;IACrB,oBAAoB;IACpB,0BAA0B;IAC1B,oBAAoB;IACpB,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,2BAA2B;IAC3B,oBAAoB;IACpB,0BAA0B;IAC1B,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,gBAAgB;IAChB,YAAY;IACZ,iBAAiB;CACT,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,uBAAuB;CACf,CAAC;AAEX,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,uBAAuB,CAAU,CAAC;AAqCtE,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACjF,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
|
package/dist/journal-client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
2
|
export { walkJournal, JournalReadError, type JournalEvent, type JournalReadFailure } from './journal-reader.js';
|
|
3
3
|
import type { VerbContract, EventSubmitParams } from './protocol.js';
|
|
4
|
-
import { type CompletionReason, type EffectRef, type Pins } from './protocol.js';
|
|
4
|
+
import { type CompletionReason, type EffectRef, type Pins, type StepUsage } from './protocol.js';
|
|
5
5
|
import type { KernelRunSpec, StepType } from './spec.js';
|
|
6
6
|
export interface JournalClientOptions {
|
|
7
7
|
/** Override the timeout for bounded protocol requests (ms). Default 30000. */
|
|
@@ -48,7 +48,7 @@ export declare class JournalClient extends EventEmitter {
|
|
|
48
48
|
* the run file, and append `run.spawned`. Authoring specs must be compiled
|
|
49
49
|
* with `toKernelSpec` before crossing this journal-protocol boundary.
|
|
50
50
|
*/
|
|
51
|
-
runStart(spec: KernelRunSpec, reuseFromRunId?: string): Promise<VerbContract['run.start']['result']>;
|
|
51
|
+
runStart(spec: KernelRunSpec, reuseFromRunId?: string, admissionKey?: string): Promise<VerbContract['run.start']['result']>;
|
|
52
52
|
/** §3 memoized resume. */
|
|
53
53
|
runResume(runId: string, allowHumanInfluenced?: boolean): Promise<VerbContract['run.resume']['result']>;
|
|
54
54
|
/** Durably request cancellation and return the terminal run fact. */
|
|
@@ -111,11 +111,7 @@ export declare class JournalClient extends EventEmitter {
|
|
|
111
111
|
*/
|
|
112
112
|
stepComplete(runId: string, stepId: string, attempt: number, idempotencyKey: string, completionReason: CompletionReason, extra?: {
|
|
113
113
|
output?: unknown;
|
|
114
|
-
usage?:
|
|
115
|
-
tokens_in: number;
|
|
116
|
-
tokens_out: number;
|
|
117
|
-
dollars: string;
|
|
118
|
-
};
|
|
114
|
+
usage?: StepUsage;
|
|
119
115
|
started_pins?: Pins;
|
|
120
116
|
end_pins?: Pins;
|
|
121
117
|
effects?: EffectRef[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-client.d.ts","sourceRoot":"","sources":["../src/journal-client.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGhH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"journal-client.d.ts","sourceRoot":"","sources":["../src/journal-client.ts"],"names":[],"mappings":"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"}
|
package/dist/journal-client.js
CHANGED
|
@@ -161,8 +161,12 @@ export class JournalClient extends EventEmitter {
|
|
|
161
161
|
* the run file, and append `run.spawned`. Authoring specs must be compiled
|
|
162
162
|
* with `toKernelSpec` before crossing this journal-protocol boundary.
|
|
163
163
|
*/
|
|
164
|
-
runStart(spec, reuseFromRunId) {
|
|
165
|
-
return this.request('run.start', {
|
|
164
|
+
runStart(spec, reuseFromRunId, admissionKey) {
|
|
165
|
+
return this.request('run.start', {
|
|
166
|
+
spec,
|
|
167
|
+
...(reuseFromRunId === undefined ? {} : { reuse_from_run_id: reuseFromRunId }),
|
|
168
|
+
...(admissionKey === undefined ? {} : { admission_key: admissionKey }),
|
|
169
|
+
}, null);
|
|
166
170
|
}
|
|
167
171
|
/** §3 memoized resume. */
|
|
168
172
|
runResume(runId, allowHumanInfluenced = false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-client.js","sourceRoot":"","sources":["../src/journal-client.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,6EAA6E;AAC7E,oEAAoE;AACpE,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,4BAA4B;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA8C,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAe,MAAM,UAAU,CAAC;AAEzD,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"journal-client.js","sourceRoot":"","sources":["../src/journal-client.ts"],"names":[],"mappings":"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"}
|
package/dist/llm-worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-worker.d.ts","sourceRoot":"","sources":["../src/llm-worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"llm-worker.d.ts","sourceRoot":"","sources":["../src/llm-worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,gFAAgF;AAChF,qBAAa,SAAU,SAAQ,YAAY;IAK7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAiB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ7E,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;gBAExB,MAAM,EAAE,aAAa,EAAmB,QAAQ,EAAE,MAAM;IAI/E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAKzB;YAEY,OAAO;CAoCtB"}
|
package/dist/llm-worker.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { workerSpend } from './worker-spend.js';
|
|
2
2
|
import { EventEmitter } from 'node:events';
|
|
3
3
|
import { runAgentCli } from './worker-cli.js';
|
|
4
|
+
import { resolveCliModel } from './cli-adapter.js';
|
|
4
5
|
import { withWorkerLease } from './worker-lease.js';
|
|
5
6
|
import { workerInstruction } from './worker-input.js';
|
|
6
7
|
import { jsonSchemaOutputError } from './json-schema.js';
|
|
@@ -46,10 +47,11 @@ export class LlmWorker extends EventEmitter {
|
|
|
46
47
|
const schema = spec.verification?.json_schema;
|
|
47
48
|
const prompt = schema === undefined ? spec.prompt
|
|
48
49
|
: `${spec.prompt}\n\nReturn only a JSON value matching this JSON Schema (no Markdown fences):\n${JSON.stringify(schema)}`;
|
|
50
|
+
const effectiveModel = typeof spec.cli === 'string' ? resolveCliModel(spec.cli, spec.model) : spec.model;
|
|
49
51
|
const completed = await withWorkerLease(this.client, dispatch, signal => typeof spec.cli === 'string' && typeof spec.prompt === 'string'
|
|
50
|
-
? runAgentCli(spec.cli, workerInstruction(prompt, dispatch), dispatch.wake_context,
|
|
52
|
+
? runAgentCli(spec.cli, workerInstruction(prompt, dispatch), dispatch.wake_context, effectiveModel, undefined, signal, 'llm')
|
|
51
53
|
: Promise.resolve({ exit_code: null, stdout_tail: '', stderr_tail: 'llm step has no declared CLI' }));
|
|
52
|
-
const { result, usage } = workerSpend(completed,
|
|
54
|
+
const { result, usage } = workerSpend(completed, effectiveModel);
|
|
53
55
|
let reason = result.exit_code === 0 ? 'success' : 'worker_error';
|
|
54
56
|
let output = result.stdout_tail;
|
|
55
57
|
let detail = result.stderr_tail;
|
package/dist/llm-worker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-worker.js","sourceRoot":"","sources":["../src/llm-worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"llm-worker.js","sourceRoot":"","sources":["../src/llm-worker.ts"],"names":[],"mappings":"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"}
|
package/dist/local-agent.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { JournalClient } from './journal-client.js';
|
|
2
2
|
/** A local worker for stream-only steps; no workspace recovery is claimed. */
|
|
3
|
-
export declare function attachLocalAgent(client: JournalClient, dataDir?: string, onPtyReady?: (path: string) => void): Promise<{
|
|
3
|
+
export declare function attachLocalAgent(client: JournalClient, dataDir?: string, onPtyReady?: (path: string) => void, requestedStream?: string): Promise<{
|
|
4
4
|
stream: string;
|
|
5
5
|
readonly failure: unknown;
|
|
6
6
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-agent.d.ts","sourceRoot":"","sources":["../src/local-agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,8EAA8E;AAC9E,wBAAsB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"local-agent.d.ts","sourceRoot":"","sources":["../src/local-agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,8EAA8E;AAC9E,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACnC,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC,CAoBD"}
|
package/dist/local-agent.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { AgentWorker } from './worker.js';
|
|
3
3
|
/** A local worker for stream-only steps; no workspace recovery is claimed. */
|
|
4
|
-
export async function attachLocalAgent(client, dataDir, onPtyReady) {
|
|
4
|
+
export async function attachLocalAgent(client, dataDir, onPtyReady, requestedStream) {
|
|
5
5
|
// A fresh, unconsumed stream has offset zero. The executor declares exactly
|
|
6
6
|
// this stream on its agent steps. No worktree revision is invented.
|
|
7
|
-
const stream = `local-agent-${randomUUID()}`;
|
|
7
|
+
const stream = requestedStream ?? `local-agent-${randomUUID()}`;
|
|
8
8
|
const worker = new AgentWorker(client, {
|
|
9
9
|
workerId: stream,
|
|
10
10
|
capacity: 1,
|
package/dist/local-agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-agent.js","sourceRoot":"","sources":["../src/local-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,gBAAgB,
|
|
1
|
+
{"version":3,"file":"local-agent.js","sourceRoot":"","sources":["../src/local-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAqB,EACrB,OAAgB,EAChB,UAAmC,EACnC,eAAwB;IAMxB,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,MAAM,GAAG,eAAe,IAAI,eAAe,UAAU,EAAE,EAAE,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE;QACrC,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE;KAC/D,CAAC,CAAC;IACH,IAAI,OAAgB,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;IACtB,OAAO;QACL,MAAM;QACN,IAAI,OAAO,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC;QACjC,KAAK,CAAC,KAAK;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/model-pricing.d.ts
CHANGED
|
@@ -7,12 +7,13 @@ export declare function hasPricing(model: string | undefined): boolean;
|
|
|
7
7
|
/**
|
|
8
8
|
* Cost accounting for a step's declared model.
|
|
9
9
|
*
|
|
10
|
-
* Returns `undefined` for unpriced models
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* preflight
|
|
10
|
+
* Returns `undefined` for unpriced models, meaning "no known dollar cost" —
|
|
11
|
+
* never a zero price. Workers do not omit usage on that signal: `workerSpend`
|
|
12
|
+
* falls back to unmetered usage (reported tokens plus `dollars_unmetered: true`,
|
|
13
|
+
* no `dollars`), so token ceilings still count the step and the journal records
|
|
14
|
+
* its dollars as unknown. An unpriced step is unmetered, not refused:
|
|
15
|
+
* `budgetDiagnostics` warns about it at preflight and it cannot cross
|
|
16
|
+
* `maxDollars`. Codex model ids need no entry here; Codex selects its own model.
|
|
16
17
|
*/
|
|
17
18
|
export declare function pricedUsage(model: string | undefined, input?: number, output?: number): {
|
|
18
19
|
tokens_in: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-pricing.d.ts","sourceRoot":"","sources":["../src/model-pricing.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"model-pricing.d.ts","sourceRoot":"","sources":["../src/model-pricing.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAM9F,CAAC;AAEH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,SAAI,EAAE,MAAM,SAAI,GACxE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC1D,SAAS,CAOZ"}
|
package/dist/model-pricing.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
export const MODEL_PRICING = Object.freeze({
|
|
3
3
|
'claude-sonnet-4-6': Object.freeze({ input: 3, output: 15 }),
|
|
4
4
|
'claude-opus-4-7': Object.freeze({ input: 15, output: 75 }),
|
|
5
|
+
'claude-opus-5': Object.freeze({ input: 5, output: 25 }),
|
|
5
6
|
'codex-medium': Object.freeze({ input: 2, output: 8 }),
|
|
6
7
|
'codex-large': Object.freeze({ input: 5, output: 20 }),
|
|
7
8
|
});
|
|
@@ -11,12 +12,13 @@ export function hasPricing(model) {
|
|
|
11
12
|
/**
|
|
12
13
|
* Cost accounting for a step's declared model.
|
|
13
14
|
*
|
|
14
|
-
* Returns `undefined` for unpriced models
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* preflight
|
|
15
|
+
* Returns `undefined` for unpriced models, meaning "no known dollar cost" —
|
|
16
|
+
* never a zero price. Workers do not omit usage on that signal: `workerSpend`
|
|
17
|
+
* falls back to unmetered usage (reported tokens plus `dollars_unmetered: true`,
|
|
18
|
+
* no `dollars`), so token ceilings still count the step and the journal records
|
|
19
|
+
* its dollars as unknown. An unpriced step is unmetered, not refused:
|
|
20
|
+
* `budgetDiagnostics` warns about it at preflight and it cannot cross
|
|
21
|
+
* `maxDollars`. Codex model ids need no entry here; Codex selects its own model.
|
|
20
22
|
*/
|
|
21
23
|
export function pricedUsage(model, input = 0, output = 0) {
|
|
22
24
|
if (![input, output].every(n => Number.isSafeInteger(n) && n >= 0))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../src/model-pricing.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,CAAC,MAAM,aAAa,GAA0E,MAAM,CAAC,MAAM,CAAC;IAChH,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC5D,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC3D,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,UAAU,UAAU,CAAC,KAAyB;IAClD,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../src/model-pricing.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,MAAM,CAAC,MAAM,aAAa,GAA0E,MAAM,CAAC,MAAM,CAAC;IAChH,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC5D,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC3D,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxD,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,UAAU,UAAU,CAAC,KAAyB;IAClD,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CAAC,KAAyB,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC;IAI1E,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3G,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7G,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1F,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,GAAG,QAAU,IAAI,MAAM,CAAC,KAAK,GAAG,QAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;AACnI,CAAC"}
|
package/dist/preflight.d.ts
CHANGED
|
@@ -3,14 +3,17 @@ import type { FlowSpec, TriggerSpec, McpServerConfig } from './spec.js';
|
|
|
3
3
|
import { type McpDiagnostic } from './mcp-client.js';
|
|
4
4
|
import type { TriggerSource } from '@relayflows/surface';
|
|
5
5
|
import { type StepGateInspection } from './gate-contract.js';
|
|
6
|
+
import { type CliModelSource } from './cli-adapter.js';
|
|
6
7
|
import type { PreflightFailureKind, PreflightWarningKind } from './failure-kinds.js';
|
|
7
8
|
export type CliResolutionSource = 'step' | 'named' | 'flow' | 'project';
|
|
8
9
|
export interface CliResolution {
|
|
9
10
|
stepId: string;
|
|
10
11
|
cli: string;
|
|
11
12
|
source: CliResolutionSource;
|
|
12
|
-
/**
|
|
13
|
+
/** Effective model probed with the CLI. */
|
|
13
14
|
model?: string;
|
|
15
|
+
/** Exact source selected by step > named agent > adapter default priority. */
|
|
16
|
+
modelSource?: CliModelSource;
|
|
14
17
|
}
|
|
15
18
|
export interface CliProbeResult {
|
|
16
19
|
exists: boolean;
|
|
@@ -84,6 +87,11 @@ export type PreflightDiagnostic = PreflightRefusal | PreflightWarning;
|
|
|
84
87
|
export interface PreflightResult {
|
|
85
88
|
plugins?: readonly LoadedPlugin[];
|
|
86
89
|
mcpTools?: Readonly<Record<string, readonly string[]>>;
|
|
90
|
+
/**
|
|
91
|
+
* True when no diagnostic is a refusal. `ok: true` may still carry warnings
|
|
92
|
+
* (e.g. `budget_unmetered`); callers that report to a person must surface
|
|
93
|
+
* `diagnostics`, not just branch on `ok`.
|
|
94
|
+
*/
|
|
87
95
|
ok: boolean;
|
|
88
96
|
gates: StepGateInspection[];
|
|
89
97
|
resolutions: CliResolution[];
|
package/dist/preflight.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEpE,OAAO,KAAK,EAAE,QAAQ,EAAY,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAqC,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
|
package/dist/preflight.js
CHANGED
|
@@ -6,6 +6,7 @@ import { budgetDiagnostics } from './budget-preflight.js';
|
|
|
6
6
|
import { acceptsAnyOutput, inspectStepGate } from './gate-contract.js';
|
|
7
7
|
import { compileSpec, CompileError } from './compile.js';
|
|
8
8
|
import { helperCall } from './yaml-helpers.js';
|
|
9
|
+
import { resolveCliModelSelection } from './cli-adapter.js';
|
|
9
10
|
import { isNamedGate, NAMED_GATE_FAILURE_KINDS } from './named-gates.js';
|
|
10
11
|
import { compileScopes } from './scope-compiler.js';
|
|
11
12
|
import { readMountRegistry } from './mount-registry.js';
|
|
@@ -105,10 +106,10 @@ function preflightSync(flow, options) {
|
|
|
105
106
|
};
|
|
106
107
|
}
|
|
107
108
|
const diagnostics = [];
|
|
109
|
+
const cliResolutionDiagnostics = [];
|
|
108
110
|
const resolutions = [];
|
|
109
111
|
const resolutionByStep = new Map();
|
|
110
112
|
const cliProbeResults = new Map();
|
|
111
|
-
diagnostics.push(...unknownModelDiagnostics(compiled, options));
|
|
112
113
|
diagnostics.push(...scopeDiagnostics(compiled, options));
|
|
113
114
|
for (const server of new Set(options.mcpServers ?? [])) {
|
|
114
115
|
if (options.mcp !== undefined && Object.hasOwn(options.mcp, server))
|
|
@@ -116,7 +117,6 @@ function preflightSync(flow, options) {
|
|
|
116
117
|
diagnostics.push({ severity: 'refusal', kind: 'mcp_undeclared_server', server,
|
|
117
118
|
message: `MCP server "${server}" is not declared in the nearest flows.json mcp map.` });
|
|
118
119
|
}
|
|
119
|
-
diagnostics.push(...budgetDiagnostics(compiled));
|
|
120
120
|
// Resolve the complete flow before touching any environment fact. A later
|
|
121
121
|
// statically unresolved CLI makes the whole submission impossible, so no
|
|
122
122
|
// earlier command, provider/model, or trigger probe may run first.
|
|
@@ -127,7 +127,7 @@ function preflightSync(flow, options) {
|
|
|
127
127
|
continue;
|
|
128
128
|
const resolution = resolveCli(step, compiled, options.projectCli);
|
|
129
129
|
if (resolution === undefined) {
|
|
130
|
-
|
|
130
|
+
cliResolutionDiagnostics.push({
|
|
131
131
|
severity: 'refusal',
|
|
132
132
|
kind: 'cli_unresolved',
|
|
133
133
|
stepId: step.id,
|
|
@@ -139,7 +139,16 @@ function preflightSync(flow, options) {
|
|
|
139
139
|
resolutionByStep.set(step.id, resolution);
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
-
|
|
142
|
+
diagnostics.push(...cliResolutionDiagnostics);
|
|
143
|
+
if (cliResolutionDiagnostics.length > 0) {
|
|
144
|
+
return { ok: false, gates: compiled.steps.map(inspectStepGate), resolutions, diagnostics };
|
|
145
|
+
}
|
|
146
|
+
diagnostics.push(...unknownModelDiagnostics(compiled, options, resolutionByStep));
|
|
147
|
+
diagnostics.push(...budgetDiagnostics(compiled, new Map(resolutions.map(resolution => [resolution.stepId, {
|
|
148
|
+
cli: resolution.cli,
|
|
149
|
+
...(resolution.model === undefined ? {} : { model: resolution.model }),
|
|
150
|
+
}]))));
|
|
151
|
+
if (diagnostics.some((diagnostic) => diagnostic.severity === 'refusal')) {
|
|
143
152
|
return { ok: false, gates: compiled.steps.map(inspectStepGate), resolutions, diagnostics };
|
|
144
153
|
}
|
|
145
154
|
for (const step of compiled.steps) {
|
|
@@ -211,7 +220,7 @@ function scopeDiagnostics(flow, options) {
|
|
|
211
220
|
}));
|
|
212
221
|
}
|
|
213
222
|
/** Pure authoring validation: no executable, command, trigger, or daemon probe. */
|
|
214
|
-
function unknownModelDiagnostics(flow, options) {
|
|
223
|
+
function unknownModelDiagnostics(flow, options, resolutionByStep = new Map()) {
|
|
215
224
|
const diagnostics = [];
|
|
216
225
|
// model_unknown is a governance check: it exists to enforce a project's
|
|
217
226
|
// registry-declared allowlist. When no flows.json is found, `check.ts` sends
|
|
@@ -240,18 +249,25 @@ function unknownModelDiagnostics(flow, options) {
|
|
|
240
249
|
});
|
|
241
250
|
}
|
|
242
251
|
for (const step of flow.steps) {
|
|
243
|
-
if (step.type === 'deterministic'
|
|
252
|
+
if (step.type === 'deterministic')
|
|
244
253
|
continue;
|
|
245
|
-
|
|
254
|
+
const resolution = resolutionByStep.get(step.id);
|
|
255
|
+
// Selected named declarations were checked once above, including unused
|
|
256
|
+
// declarations. Other sources are step declarations or adapter defaults.
|
|
257
|
+
if (resolution?.modelSource === 'named')
|
|
258
|
+
continue;
|
|
259
|
+
const model = resolution?.model ?? step.model;
|
|
260
|
+
if (model === undefined || isKnownModel(model, options.models))
|
|
261
|
+
continue;
|
|
262
|
+
if (!enforceRegistry)
|
|
246
263
|
continue;
|
|
247
|
-
const resolution = resolveCli(step, flow, options.projectCli);
|
|
248
264
|
diagnostics.push({
|
|
249
265
|
severity: 'refusal',
|
|
250
266
|
kind: 'model_unknown',
|
|
251
267
|
stepId: step.id,
|
|
252
268
|
...(resolution === undefined ? {} : { cli: resolution.cli }),
|
|
253
|
-
model
|
|
254
|
-
message: unknownModelMessage(step.id,
|
|
269
|
+
model,
|
|
270
|
+
message: unknownModelMessage(step.id, model, resolution?.cli, options.modelRegistryPath),
|
|
255
271
|
});
|
|
256
272
|
}
|
|
257
273
|
return diagnostics;
|
|
@@ -284,18 +300,20 @@ function resolveCli(step, flow, projectCli) {
|
|
|
284
300
|
const named = step.type === 'agent' && step.agent !== undefined
|
|
285
301
|
? flow.agents?.[step.agent]
|
|
286
302
|
: undefined;
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
303
|
+
const resolved = (cli, source) => {
|
|
304
|
+
const effectiveModel = resolveCliModelSelection(cli, { step: step.model, named: named?.model });
|
|
305
|
+
return { stepId: step.id, cli, source,
|
|
306
|
+
...(effectiveModel.model === undefined ? {} : { model: effectiveModel.model }),
|
|
307
|
+
...(effectiveModel.source === undefined ? {} : { modelSource: effectiveModel.source }) };
|
|
308
|
+
};
|
|
291
309
|
if (step.cli !== undefined)
|
|
292
|
-
return
|
|
310
|
+
return resolved(step.cli, 'step');
|
|
293
311
|
if (named !== undefined)
|
|
294
|
-
return
|
|
312
|
+
return resolved(named.cli, 'named');
|
|
295
313
|
if (flow.cli !== undefined)
|
|
296
|
-
return
|
|
314
|
+
return resolved(flow.cli, 'flow');
|
|
297
315
|
if (projectCli !== undefined)
|
|
298
|
-
return
|
|
316
|
+
return resolved(projectCli, 'project');
|
|
299
317
|
return undefined;
|
|
300
318
|
}
|
|
301
319
|
function probeResolvedCli(resolution, probes, cache, diagnostics) {
|