@relayflows/sdk 2.0.30 → 2.0.31
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/agent-artifacts.d.ts.map +1 -1
- package/dist/agent-artifacts.js +2 -9
- package/dist/agent-artifacts.js.map +1 -1
- package/dist/agent-cwd.d.ts +69 -0
- package/dist/agent-cwd.d.ts.map +1 -0
- package/dist/agent-cwd.js +140 -0
- package/dist/agent-cwd.js.map +1 -0
- package/dist/artifact-scan-policy.d.ts +35 -0
- package/dist/artifact-scan-policy.d.ts.map +1 -0
- package/dist/artifact-scan-policy.js +49 -0
- package/dist/artifact-scan-policy.js.map +1 -0
- package/dist/authored-completion-record.d.ts +35 -0
- package/dist/authored-completion-record.d.ts.map +1 -0
- package/dist/authored-completion-record.js +92 -0
- package/dist/authored-completion-record.js.map +1 -0
- package/dist/authored-completion.d.ts +99 -0
- package/dist/authored-completion.d.ts.map +1 -0
- package/dist/authored-completion.js +184 -0
- package/dist/authored-completion.js.map +1 -0
- package/dist/authored-flow-error.d.ts +13 -1
- package/dist/authored-flow-error.d.ts.map +1 -1
- package/dist/authored-flow-error.js +12 -0
- package/dist/authored-flow-error.js.map +1 -1
- package/dist/authored-flow-executor.d.ts +7 -30
- package/dist/authored-flow-executor.d.ts.map +1 -1
- package/dist/authored-flow-executor.js +54 -47
- package/dist/authored-flow-executor.js.map +1 -1
- package/dist/authored-human.d.ts.map +1 -1
- package/dist/authored-human.js +1 -3
- package/dist/authored-human.js.map +1 -1
- package/dist/authored-node-entry.js +4 -1
- package/dist/authored-node-entry.js.map +1 -1
- package/dist/authored-node-runner.d.ts +9 -1
- package/dist/authored-node-runner.d.ts.map +1 -1
- package/dist/authored-node-runner.js +92 -17
- package/dist/authored-node-runner.js.map +1 -1
- package/dist/authored-root.d.ts +5 -0
- package/dist/authored-root.d.ts.map +1 -1
- package/dist/authored-root.js +20 -2
- package/dist/authored-root.js.map +1 -1
- package/dist/authored-step-output.d.ts +35 -10
- package/dist/authored-step-output.d.ts.map +1 -1
- package/dist/authored-step-output.js +108 -40
- package/dist/authored-step-output.js.map +1 -1
- package/dist/authored-verdict.d.ts +28 -0
- package/dist/authored-verdict.d.ts.map +1 -0
- package/dist/authored-verdict.js +79 -0
- package/dist/authored-verdict.js.map +1 -0
- package/dist/authored-worker-step.d.ts +5 -2
- package/dist/authored-worker-step.d.ts.map +1 -1
- package/dist/authored-worker-step.js +48 -11
- package/dist/authored-worker-step.js.map +1 -1
- package/dist/cli/check-worker-surface.d.ts +27 -0
- package/dist/cli/check-worker-surface.d.ts.map +1 -0
- package/dist/cli/check-worker-surface.js +63 -0
- package/dist/cli/check-worker-surface.js.map +1 -0
- package/dist/cli/check.d.ts +19 -2
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +12 -4
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/cloud-format.d.ts +9 -0
- package/dist/cli/cloud-format.d.ts.map +1 -0
- package/dist/cli/cloud-format.js +77 -0
- package/dist/cli/cloud-format.js.map +1 -0
- package/dist/cli/cloud-live.d.ts +39 -0
- package/dist/cli/cloud-live.d.ts.map +1 -0
- package/dist/cli/cloud-live.js +325 -0
- package/dist/cli/cloud-live.js.map +1 -0
- package/dist/cli/cloud-read.d.ts +3 -7
- package/dist/cli/cloud-read.d.ts.map +1 -1
- package/dist/cli/cloud-read.js +14 -266
- package/dist/cli/cloud-read.js.map +1 -1
- package/dist/cli/cloud-refusal.d.ts +39 -0
- package/dist/cli/cloud-refusal.d.ts.map +1 -0
- package/dist/cli/cloud-refusal.js +95 -0
- package/dist/cli/cloud-refusal.js.map +1 -0
- package/dist/cli/cloud-status-view.d.ts +7 -0
- package/dist/cli/cloud-status-view.d.ts.map +1 -0
- package/dist/cli/cloud-status-view.js +214 -0
- package/dist/cli/cloud-status-view.js.map +1 -0
- package/dist/cli/direct-run.d.ts.map +1 -1
- package/dist/cli/direct-run.js +16 -2
- package/dist/cli/direct-run.js.map +1 -1
- package/dist/cli/hn-monitor.d.ts +0 -13
- package/dist/cli/hn-monitor.d.ts.map +1 -1
- package/dist/cli/hn-monitor.js +2 -1
- package/dist/cli/hn-monitor.js.map +1 -1
- package/dist/cli/local-agent-remedy.d.ts +80 -0
- package/dist/cli/local-agent-remedy.d.ts.map +1 -0
- package/dist/cli/local-agent-remedy.js +116 -0
- package/dist/cli/local-agent-remedy.js.map +1 -0
- package/dist/cli/observer-session.d.ts +41 -0
- package/dist/cli/observer-session.d.ts.map +1 -0
- package/dist/cli/observer-session.js +78 -0
- package/dist/cli/observer-session.js.map +1 -0
- package/dist/cli/run.d.ts +30 -2
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +186 -24
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/status.d.ts +9 -0
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +31 -2
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/step-evidence.d.ts +90 -0
- package/dist/cli/step-evidence.d.ts.map +1 -0
- package/dist/cli/step-evidence.js +259 -0
- package/dist/cli/step-evidence.js.map +1 -0
- package/dist/cli/step-failure.d.ts +14 -4
- package/dist/cli/step-failure.d.ts.map +1 -1
- package/dist/cli/step-failure.js +41 -76
- package/dist/cli/step-failure.js.map +1 -1
- package/dist/cli-commands.d.ts +6 -0
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +2 -0
- package/dist/cli-commands.js.map +1 -1
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +53 -42
- package/dist/cli.js.map +1 -1
- package/dist/cloud-read.d.ts +15 -0
- package/dist/cloud-read.d.ts.map +1 -1
- package/dist/cloud-read.js +20 -1
- package/dist/cloud-read.js.map +1 -1
- package/dist/cloud-run-record.d.ts +27 -0
- package/dist/cloud-run-record.d.ts.map +1 -0
- package/dist/cloud-run-record.js +56 -0
- package/dist/cloud-run-record.js.map +1 -0
- package/dist/cloud-run.d.ts +2 -9
- package/dist/cloud-run.d.ts.map +1 -1
- package/dist/cloud-run.js +3 -20
- package/dist/cloud-run.js.map +1 -1
- package/dist/communication/local.d.ts.map +1 -1
- package/dist/communication/local.js +2 -1
- package/dist/communication/local.js.map +1 -1
- package/dist/communication/worker.d.ts +1 -1
- package/dist/communication/worker.d.ts.map +1 -1
- package/dist/communication/worker.js +13 -5
- package/dist/communication/worker.js.map +1 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +28 -6
- package/dist/compile.js.map +1 -1
- package/dist/direct-input.d.ts.map +1 -1
- package/dist/direct-input.js +21 -1
- package/dist/direct-input.js.map +1 -1
- package/dist/failure-kinds.d.ts +96 -6
- package/dist/failure-kinds.d.ts.map +1 -1
- package/dist/failure-kinds.js +29 -2
- package/dist/failure-kinds.js.map +1 -1
- package/dist/flow-requirements.d.ts.map +1 -1
- package/dist/flow-requirements.js +24 -9
- package/dist/flow-requirements.js.map +1 -1
- package/dist/gate-contract.d.ts +7 -0
- package/dist/gate-contract.d.ts.map +1 -1
- package/dist/gate-contract.js +6 -1
- package/dist/gate-contract.js.map +1 -1
- package/dist/helper-preflight.d.ts.map +1 -1
- package/dist/helper-preflight.js +10 -3
- package/dist/helper-preflight.js.map +1 -1
- package/dist/helper-reference.d.ts +25 -0
- package/dist/helper-reference.d.ts.map +1 -0
- package/dist/helper-reference.js +129 -0
- package/dist/helper-reference.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/journal-client.d.ts +3 -1
- package/dist/journal-client.d.ts.map +1 -1
- package/dist/journal-client.js +17 -2
- package/dist/journal-client.js.map +1 -1
- package/dist/journal-projection.d.ts +16 -0
- package/dist/journal-projection.d.ts.map +1 -0
- package/dist/journal-projection.js +108 -0
- package/dist/journal-projection.js.map +1 -0
- package/dist/llm-worker.js +1 -1
- 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 +4 -3
- package/dist/local-agent.js.map +1 -1
- package/dist/named-gate-lowering.js +35 -5
- package/dist/named-gate-lowering.js.map +1 -1
- package/dist/named-gate-preflight.d.ts +27 -0
- package/dist/named-gate-preflight.d.ts.map +1 -0
- package/dist/named-gate-preflight.js +47 -0
- package/dist/named-gate-preflight.js.map +1 -0
- package/dist/named-gates.d.ts +1 -1
- package/dist/named-gates.d.ts.map +1 -1
- package/dist/named-gates.js +3 -0
- package/dist/named-gates.js.map +1 -1
- package/dist/observer-link.d.ts +7 -0
- package/dist/observer-link.d.ts.map +1 -1
- package/dist/observer-link.js +3 -1
- package/dist/observer-link.js.map +1 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +7 -0
- package/dist/preflight.js.map +1 -1
- package/dist/protocol.d.ts +2 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/redact.d.ts +42 -0
- package/dist/redact.d.ts.map +1 -1
- package/dist/redact.js +128 -0
- package/dist/redact.js.map +1 -1
- package/dist/run-projection.d.ts +83 -0
- package/dist/run-projection.d.ts.map +1 -0
- package/dist/run-projection.js +199 -0
- package/dist/run-projection.js.map +1 -0
- package/dist/shell-word.d.ts +19 -0
- package/dist/shell-word.d.ts.map +1 -0
- package/dist/shell-word.js +23 -0
- package/dist/shell-word.js.map +1 -0
- package/dist/spec.d.ts +52 -3
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/step-fields.d.ts +1 -1
- package/dist/step-fields.js +1 -1
- package/dist/step-fields.js.map +1 -1
- package/dist/steps-green.d.ts +27 -0
- package/dist/steps-green.d.ts.map +1 -0
- package/dist/steps-green.js +164 -0
- package/dist/steps-green.js.map +1 -0
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +39 -8
- package/dist/validate.js.map +1 -1
- package/dist/worker-lease.d.ts +8 -1
- package/dist/worker-lease.d.ts.map +1 -1
- package/dist/worker-lease.js +34 -4
- package/dist/worker-lease.js.map +1 -1
- package/dist/worker.d.ts +8 -0
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +17 -9
- package/dist/worker.js.map +1 -1
- package/package.json +3 -7
- package/src/agent-artifacts.ts +2 -10
- package/src/agent-cwd.ts +139 -0
- package/src/artifact-scan-policy.ts +51 -0
- package/src/authored-completion-record.ts +119 -0
- package/src/authored-completion.ts +203 -0
- package/src/authored-flow-error.ts +13 -1
- package/src/authored-flow-executor.ts +91 -58
- package/src/authored-human.ts +1 -4
- package/src/authored-node-entry.ts +4 -1
- package/src/authored-node-runner.ts +96 -22
- package/src/authored-root.ts +20 -2
- package/src/authored-step-output.ts +139 -42
- package/src/authored-verdict.ts +87 -0
- package/src/authored-worker-step.ts +60 -12
- package/src/cli/check-worker-surface.ts +66 -0
- package/src/cli/check.ts +35 -4
- package/src/cli/cloud-format.ts +82 -0
- package/src/cli/cloud-live.ts +366 -0
- package/src/cli/cloud-read.ts +13 -282
- package/src/cli/cloud-refusal.ts +113 -0
- package/src/cli/cloud-status-view.ts +213 -0
- package/src/cli/direct-run.ts +19 -2
- package/src/cli/hn-monitor.ts +2 -1
- package/src/cli/local-agent-remedy.ts +160 -0
- package/src/cli/observer-session.ts +107 -0
- package/src/cli/run.ts +233 -28
- package/src/cli/status.ts +59 -3
- package/src/cli/step-evidence.ts +310 -0
- package/src/cli/step-failure.ts +57 -81
- package/src/cli-commands.ts +2 -0
- package/src/cli.ts +64 -44
- package/src/cloud-read.ts +25 -1
- package/src/cloud-run-record.ts +64 -0
- package/src/cloud-run.ts +5 -24
- package/src/communication/local.ts +2 -1
- package/src/communication/worker.ts +13 -5
- package/src/compile.ts +28 -6
- package/src/direct-input.ts +22 -1
- package/src/failure-kinds.ts +104 -2
- package/src/flow-requirements.ts +24 -9
- package/src/gate-contract.ts +13 -1
- package/src/helper-preflight.ts +10 -3
- package/src/helper-reference.ts +130 -0
- package/src/index.ts +2 -0
- package/src/journal-client.ts +19 -2
- package/src/journal-projection.ts +106 -0
- package/src/llm-worker.ts +1 -1
- package/src/local-agent.ts +4 -2
- package/src/named-gate-lowering.ts +35 -5
- package/src/named-gate-preflight.ts +47 -0
- package/src/named-gates.ts +3 -0
- package/src/observer-link.ts +10 -1
- package/src/preflight.ts +7 -0
- package/src/protocol.ts +2 -0
- package/src/redact.ts +111 -0
- package/src/run-projection.ts +247 -0
- package/src/shell-word.ts +24 -0
- package/src/spec.ts +54 -3
- package/src/step-fields.ts +1 -1
- package/src/steps-green.ts +168 -0
- package/src/validate.ts +35 -8
- package/src/worker-lease.ts +35 -5
- package/src/worker.ts +27 -11
package/dist/direct-input.js
CHANGED
|
@@ -36,7 +36,7 @@ export function parseDirectInput(argument) {
|
|
|
36
36
|
catch (error) {
|
|
37
37
|
if (error instanceof DirectInputError)
|
|
38
38
|
throw error;
|
|
39
|
-
if (error
|
|
39
|
+
if (!namesNoFile(error)) {
|
|
40
40
|
throw new DirectInputError('input_unreadable', `Input file "${argument}" could not be inspected.`);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -51,6 +51,26 @@ export function parseDirectInput(argument) {
|
|
|
51
51
|
throw new DirectInputError('input_invalid', `${sourceKind} is not valid JSON.`);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Whether the `stat` failed because the argument names no file at all, rather
|
|
56
|
+
* than because a file exists and could not be inspected.
|
|
57
|
+
*
|
|
58
|
+
* `ENOENT` is the ordinary "nothing there". `ENAMETOOLONG` is the same answer
|
|
59
|
+
* for a longer argument: no path component may exceed the filesystem's limit
|
|
60
|
+
* (255 bytes on ext4 and on APFS), so an inline JSON object of a few hundred
|
|
61
|
+
* bytes cannot be a filename on any filesystem this runs on. Calling that
|
|
62
|
+
* `input_unreadable` refused every inline input longer than a filename — the
|
|
63
|
+
* recorded-input recovery commands `cli/local-agent-remedy.ts` prints for a
|
|
64
|
+
* parked run among them, which is how it was found.
|
|
65
|
+
*
|
|
66
|
+
* Anything else — a permission error, an I/O error — still refuses, because it
|
|
67
|
+
* means a path is there and this process could not look at it. Guessing that
|
|
68
|
+
* such an argument was inline JSON would parse a filename as a document.
|
|
69
|
+
*/
|
|
70
|
+
function namesNoFile(error) {
|
|
71
|
+
const code = error.code;
|
|
72
|
+
return code === 'ENOENT' || code === 'ENAMETOOLONG';
|
|
73
|
+
}
|
|
54
74
|
function tooLarge(argument, fromFile) {
|
|
55
75
|
const sourceKind = fromFile ? `Input file "${argument}"` : 'Inline input';
|
|
56
76
|
return new DirectInputError('input_too_large', `${sourceKind} exceeds the ${MAX_DIRECT_INPUT_BYTES}-byte direct input limit.`);
|
package/dist/direct-input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-input.js","sourceRoot":"","sources":["../src/direct-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAEhD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACpB;IAArB,YAAqB,IAAsB,EAAE,OAAe;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,SAAI,GAAJ,IAAI,CAAkB;QAEzC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,QAA4B;IAC3D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,gBAAgB,CACxB,eAAe,EACf,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,eAAe,QAAQ,0BAA0B,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,GAAG,sBAAsB,EAAE,CAAC;YACvC,MAAM,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACzC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,eAAe,QAAQ,oBAAoB,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,gBAAgB;YAAE,MAAM,KAAK,CAAC;QACnD,
|
|
1
|
+
{"version":3,"file":"direct-input.js","sourceRoot":"","sources":["../src/direct-input.ts"],"names":[],"mappings":"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"}
|
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", "gate_path_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", "plugin_kind_invalid", "plugin_incompatible", "plugin_event_unroutable", "plugin_source_invalid", "plugin_event_ambiguous", "plugin_source_unresolved", "plugin_fetch_failed", "plugin_path_invalid", "plugin_too_large", "plugin_source_drift", "plugin_lock_invalid", "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"];
|
|
2
|
+
export declare const PREFLIGHT_FAILURE_KINDS: readonly ["invalid_spec", "unknown_gate_kind", "gate_pattern_invalid", "gate_command_missing", "gate_bound_invalid", "gate_path_invalid", "gate_host_unsupported", "gate_ids_invalid", "gate_source_unsupported", "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", "plugin_kind_invalid", "plugin_incompatible", "plugin_event_unroutable", "plugin_source_invalid", "plugin_event_ambiguous", "plugin_source_unresolved", "plugin_fetch_failed", "plugin_path_invalid", "plugin_too_large", "plugin_source_drift", "plugin_lock_invalid", "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", "gate_path_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", "plugin_kind_invalid", "plugin_incompatible", "plugin_event_unroutable", "plugin_source_invalid", "plugin_event_ambiguous", "plugin_source_unresolved", "plugin_fetch_failed", "plugin_path_invalid", "plugin_too_large", "plugin_source_drift", "plugin_lock_invalid", "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"];
|
|
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", "gate_path_invalid", "gate_host_unsupported", "gate_ids_invalid", "gate_source_unsupported", "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", "plugin_kind_invalid", "plugin_incompatible", "plugin_event_unroutable", "plugin_source_invalid", "plugin_event_ambiguous", "plugin_source_unresolved", "plugin_fetch_failed", "plugin_path_invalid", "plugin_too_large", "plugin_source_drift", "plugin_lock_invalid", "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
|
|
@@ -26,8 +26,17 @@ export declare const CHECK_FAILURE_KINDS: readonly ["config_invalid", "input_inv
|
|
|
26
26
|
* (#442). Warning-only by design: the declaration stays legal and the flow
|
|
27
27
|
* still runs, but an author who wrote one must not be left believing it
|
|
28
28
|
* sandboxes the step.
|
|
29
|
+
*
|
|
30
|
+
* `gate_path_unscanned` names an `artifact_exists` path inside a prefix the
|
|
31
|
+
* bundled agent worker's artifact scan excludes, so the scan can never put it
|
|
32
|
+
* in the journaled `output.artifacts` the gate reads. It warns rather than
|
|
33
|
+
* refuses because the scan is not the only writer of that list — the same
|
|
34
|
+
* worker promotes JSON stdout and completed Relay task output verbatim, and a
|
|
35
|
+
* custom worker may journal anything — so such a gate is unproven, not
|
|
36
|
+
* unsatisfiable. Temporary: it describes #513, and retires with
|
|
37
|
+
* `named-gate-preflight.ts` when the scan stops excluding those paths.
|
|
29
38
|
*/
|
|
30
|
-
export declare const PREFLIGHT_WARNING_KINDS: readonly ["unprovable_effects", "managed_cli_unverified", "command_unresolved", "command_unprovable", "vacuous_gate", "budget_unmetered", "permissions_unenforced"];
|
|
39
|
+
export declare const PREFLIGHT_WARNING_KINDS: readonly ["unprovable_effects", "managed_cli_unverified", "command_unresolved", "command_unprovable", "vacuous_gate", "budget_unmetered", "permissions_unenforced", "gate_path_unscanned"];
|
|
31
40
|
/**
|
|
32
41
|
* Closed outcome taxonomy owned by the `flows run` / `flows resume` surface.
|
|
33
42
|
*
|
|
@@ -45,7 +54,7 @@ export declare const PREFLIGHT_WARNING_KINDS: readonly ["unprovable_effects", "m
|
|
|
45
54
|
* members is pre-existing — renaming it is a separate change, and neither this
|
|
46
55
|
* list nor `RunDiagnostic` is exported from the package index.
|
|
47
56
|
*/
|
|
48
|
-
export declare const RUN_FAILURE_KINDS: readonly ["bucket_unconfigured", "bucket_unreachable", "bundle_signature_invalid", "bundle_unsupported", "human_influenced_run", "reuse_spec_mismatch", "reuse_run_not_found", "reuse_journal_read_failed", "daemon_unreachable", "daemon_protocol_mismatch", "daemon_start_failed", "daemon_start_timeout", "relayflowd_not_found", "protocol_error", "run_parked", "run_declined", "run_unavailable", "gate_failed", "human_wait_unknown"];
|
|
57
|
+
export declare const RUN_FAILURE_KINDS: readonly ["bucket_unconfigured", "bucket_unreachable", "bundle_signature_invalid", "bundle_unsupported", "human_influenced_run", "reuse_spec_mismatch", "reuse_run_not_found", "reuse_journal_read_failed", "daemon_unreachable", "daemon_protocol_mismatch", "daemon_start_failed", "daemon_start_timeout", "relayflowd_not_found", "protocol_error", "run_parked", "run_declined", "run_unavailable", "gate_failed", "human_wait_unknown", "local_agent_unavailable"];
|
|
49
58
|
/**
|
|
50
59
|
* Non-refusing outcomes of the attach step. `connection_file_stale` is
|
|
51
60
|
* DAEMON-LIFECYCLE.md §2 row 2: the socket answered while `connection.json`
|
|
@@ -53,14 +62,83 @@ export declare const RUN_FAILURE_KINDS: readonly ["bucket_unconfigured", "bucket
|
|
|
53
62
|
* attaches — but it says so rather than passing in silence.
|
|
54
63
|
*/
|
|
55
64
|
export declare const RUN_WARNING_KINDS: readonly ["connection_file_stale"];
|
|
56
|
-
/**
|
|
57
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Warnings emitted by flows check, outside pure preflight.
|
|
67
|
+
*
|
|
68
|
+
* `editor_schema_missing` is a file-level editor hint. `agent_worker_unresolved`
|
|
69
|
+
* is a property of the *invocation*, not of the spec: a spec with `agent`
|
|
70
|
+
* steps needs a worker attached for step type `agent`, and only the caller
|
|
71
|
+
* knows whether it attaches one. `flows check` attaches none and, being
|
|
72
|
+
* daemon-free, can see none either — so it opts in, while `flows run`, `flows
|
|
73
|
+
* build` and SDK submissions do not (cli/check-worker-surface.ts).
|
|
74
|
+
*/
|
|
75
|
+
export declare const CHECK_WARNING_KINDS: readonly ["editor_schema_missing", "agent_worker_unresolved"];
|
|
58
76
|
export type CheckWarningKind = (typeof CHECK_WARNING_KINDS)[number];
|
|
59
77
|
export type PreflightFailureKind = (typeof PREFLIGHT_FAILURE_KINDS)[number];
|
|
60
78
|
export type CheckFailureKind = (typeof CHECK_FAILURE_KINDS)[number];
|
|
61
79
|
export type PreflightWarningKind = (typeof PREFLIGHT_WARNING_KINDS)[number];
|
|
62
80
|
export type RunFailureKind = (typeof RUN_FAILURE_KINDS)[number];
|
|
63
81
|
export type RunWarningKind = (typeof RUN_WARNING_KINDS)[number];
|
|
82
|
+
/**
|
|
83
|
+
* One failed attempt of a step, as the journal recorded it.
|
|
84
|
+
*
|
|
85
|
+
* The kernel appends a `step.completed` PER ATTEMPT (relayflowd-core/src/machine.rs
|
|
86
|
+
* `completion_actions`), so a step that was retried leaves an ordered account
|
|
87
|
+
* of every failure — not just the one that ran out of budget. Reporting only
|
|
88
|
+
* the last is how a push rejected by a pre-receive hook was reported as
|
|
89
|
+
* "nothing staged inside the declared scope": the retry failed for a different
|
|
90
|
+
* reason than the original attempt, and the original reason was the diagnosis.
|
|
91
|
+
*
|
|
92
|
+
* Excerpts here are bounded harder than the terminal attempt's (256 bytes
|
|
93
|
+
* rather than 1,024): this is history beside the primary account, not a
|
|
94
|
+
* replacement for it.
|
|
95
|
+
*/
|
|
96
|
+
export interface StepAttemptFailure {
|
|
97
|
+
/**
|
|
98
|
+
* The journal entry envelope's attempt number. Absent when the journal did
|
|
99
|
+
* not carry one; the position in the list is not a substitute, because a
|
|
100
|
+
* crashed attempt that consumed no iteration is still its own record.
|
|
101
|
+
*/
|
|
102
|
+
attempt?: number;
|
|
103
|
+
/** The kernel's label for THIS attempt, e.g. `verification_failed`. */
|
|
104
|
+
completionReason?: string;
|
|
105
|
+
/** `retry`, `step_done` or `park`: what the kernel did next, not why it failed. */
|
|
106
|
+
disposition?: string;
|
|
107
|
+
exitCode?: number;
|
|
108
|
+
/** Redacted, terminal-safe UTF-8 excerpt, at most 256 bytes. */
|
|
109
|
+
stdoutTail?: string;
|
|
110
|
+
/** Redacted, terminal-safe UTF-8 excerpt, at most 256 bytes. */
|
|
111
|
+
stderrTail?: string;
|
|
112
|
+
/** This attempt's own account, from the same fields the terminal one reads. */
|
|
113
|
+
detail?: string;
|
|
114
|
+
/** Set when an excerpt above was cut to fit the per-attempt bound. */
|
|
115
|
+
truncated?: boolean;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* What comparing the attempts' recorded evidence established — and no more.
|
|
119
|
+
*
|
|
120
|
+
* `differs` means the journal's own failure evidence is not the same across
|
|
121
|
+
* attempts, which usually means an earlier attempt had a side effect the retry
|
|
122
|
+
* then tripped over. `unchanged` is a statement about the RECORD, not a proof
|
|
123
|
+
* that the underlying causes were identical. `unknown` is the honest answer
|
|
124
|
+
* when an attempt journaled no account of itself, or when its account was
|
|
125
|
+
* already truncated by its producer: equal evidence that was never complete is
|
|
126
|
+
* not evidence of equality.
|
|
127
|
+
*/
|
|
128
|
+
export type AttemptEvidenceComparison = 'differs' | 'unchanged' | 'unknown';
|
|
129
|
+
/**
|
|
130
|
+
* Why a run parked, for the reporting side that has to name a remedy.
|
|
131
|
+
*
|
|
132
|
+
* `worker_unavailable` is a step nothing is attached to run — the one case
|
|
133
|
+
* `--local-agent` fixes. `needs_human` is the kernel's manual-recovery wait
|
|
134
|
+
* after a worker attempt already failed, and attaching a worker does not clear
|
|
135
|
+
* it. Both arrive as exit 3 under `run_parked`, so the distinction has to
|
|
136
|
+
* travel as a value: it lives here, beside the run vocabulary, because the
|
|
137
|
+
* classifier (cli/run.ts), the authored error boundary (authored-flow-error.ts)
|
|
138
|
+
* and the remedy formatter (cli/local-agent-remedy.ts) all need the same one
|
|
139
|
+
* and none of them may depend on the others.
|
|
140
|
+
*/
|
|
141
|
+
export type ParkCause = 'worker_unavailable' | 'needs_human';
|
|
64
142
|
/**
|
|
65
143
|
* Optional evidence on the existing step_failed diagnostic, not a new kind.
|
|
66
144
|
*
|
|
@@ -69,6 +147,9 @@ export type RunWarningKind = (typeof RUN_WARNING_KINDS)[number];
|
|
|
69
147
|
* agent or llm step leaves `completionReason` and whatever the daemon captured
|
|
70
148
|
* into `detail` (see cli/step-failure.ts). Absent means "not journaled", never
|
|
71
149
|
* "zero" — an exit code is only ever reported when one was actually recorded.
|
|
150
|
+
*
|
|
151
|
+
* The scalar evidence fields always describe the TERMINAL attempt. `attempts`
|
|
152
|
+
* is additive history and is present only when the step failed more than once.
|
|
72
153
|
*/
|
|
73
154
|
export interface StepFailedDetails {
|
|
74
155
|
stepId?: string;
|
|
@@ -112,6 +193,15 @@ export interface StepFailedDetails {
|
|
|
112
193
|
detail?: string;
|
|
113
194
|
/** The attempt's redacted `stream-json` transcript on disk, when the worker wrote one. */
|
|
114
195
|
transcriptPath?: string;
|
|
196
|
+
/**
|
|
197
|
+
* Every failed attempt of the step this failure names, oldest first, present
|
|
198
|
+
* only when there was more than one. The last element is the same attempt the
|
|
199
|
+
* scalar fields above describe; the first is the one `retries_exhausted`
|
|
200
|
+
* alone used to hide.
|
|
201
|
+
*/
|
|
202
|
+
attempts?: StepAttemptFailure[];
|
|
203
|
+
/** What comparing those attempts' recorded evidence established. */
|
|
204
|
+
attemptEvidence?: AttemptEvidenceComparison;
|
|
115
205
|
/** A runnable `flows replay` invocation for this run. */
|
|
116
206
|
hint?: string;
|
|
117
207
|
/** The on-disk journal for this run, when the data dir is known. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-kinds.d.ts","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"AA+BA,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"failure-kinds.d.ts","sourceRoot":"","sources":["../src/failure-kinds.ts"],"names":[],"mappings":"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"}
|
package/dist/failure-kinds.js
CHANGED
|
@@ -69,6 +69,15 @@ export const CHECK_FAILURE_KINDS = [
|
|
|
69
69
|
* (#442). Warning-only by design: the declaration stays legal and the flow
|
|
70
70
|
* still runs, but an author who wrote one must not be left believing it
|
|
71
71
|
* sandboxes the step.
|
|
72
|
+
*
|
|
73
|
+
* `gate_path_unscanned` names an `artifact_exists` path inside a prefix the
|
|
74
|
+
* bundled agent worker's artifact scan excludes, so the scan can never put it
|
|
75
|
+
* in the journaled `output.artifacts` the gate reads. It warns rather than
|
|
76
|
+
* refuses because the scan is not the only writer of that list — the same
|
|
77
|
+
* worker promotes JSON stdout and completed Relay task output verbatim, and a
|
|
78
|
+
* custom worker may journal anything — so such a gate is unproven, not
|
|
79
|
+
* unsatisfiable. Temporary: it describes #513, and retires with
|
|
80
|
+
* `named-gate-preflight.ts` when the scan stops excluding those paths.
|
|
72
81
|
*/
|
|
73
82
|
export const PREFLIGHT_WARNING_KINDS = [
|
|
74
83
|
'unprovable_effects',
|
|
@@ -78,6 +87,7 @@ export const PREFLIGHT_WARNING_KINDS = [
|
|
|
78
87
|
'vacuous_gate',
|
|
79
88
|
'budget_unmetered',
|
|
80
89
|
'permissions_unenforced',
|
|
90
|
+
'gate_path_unscanned',
|
|
81
91
|
];
|
|
82
92
|
/**
|
|
83
93
|
* Closed outcome taxonomy owned by the `flows run` / `flows resume` surface.
|
|
@@ -118,6 +128,14 @@ export const RUN_FAILURE_KINDS = [
|
|
|
118
128
|
'gate_failed',
|
|
119
129
|
/** `flows answer` named a wait the run is not asking: unknown, or already answered. */
|
|
120
130
|
'human_wait_unknown',
|
|
131
|
+
/**
|
|
132
|
+
* `--local-agent` cannot be honoured for this invocation, so it is refused
|
|
133
|
+
* rather than accepted and ignored. A local agent worker is admitted at run
|
|
134
|
+
* start and pinned into the authored root's metadata; a resume can only
|
|
135
|
+
* reproduce the surface the root was started with. Exit 2, before any worker
|
|
136
|
+
* attaches and before the resume touches the journal.
|
|
137
|
+
*/
|
|
138
|
+
'local_agent_unavailable',
|
|
121
139
|
];
|
|
122
140
|
/**
|
|
123
141
|
* Non-refusing outcomes of the attach step. `connection_file_stale` is
|
|
@@ -128,8 +146,17 @@ export const RUN_FAILURE_KINDS = [
|
|
|
128
146
|
export const RUN_WARNING_KINDS = [
|
|
129
147
|
'connection_file_stale',
|
|
130
148
|
];
|
|
131
|
-
/**
|
|
132
|
-
|
|
149
|
+
/**
|
|
150
|
+
* Warnings emitted by flows check, outside pure preflight.
|
|
151
|
+
*
|
|
152
|
+
* `editor_schema_missing` is a file-level editor hint. `agent_worker_unresolved`
|
|
153
|
+
* is a property of the *invocation*, not of the spec: a spec with `agent`
|
|
154
|
+
* steps needs a worker attached for step type `agent`, and only the caller
|
|
155
|
+
* knows whether it attaches one. `flows check` attaches none and, being
|
|
156
|
+
* daemon-free, can see none either — so it opts in, while `flows run`, `flows
|
|
157
|
+
* build` and SDK submissions do not (cli/check-worker-surface.ts).
|
|
158
|
+
*/
|
|
159
|
+
export const CHECK_WARNING_KINDS = ['editor_schema_missing', 'agent_worker_unresolved'];
|
|
133
160
|
const CHECK_FAILURE_KIND_SET = new Set(CHECK_FAILURE_KINDS);
|
|
134
161
|
const RUN_FAILURE_KIND_SET = new Set(RUN_FAILURE_KINDS);
|
|
135
162
|
export function isCheckFailureKind(value) {
|
|
@@ -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,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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,oBAAoB;IACpB,wBAAwB;IACxB,oBAAoB;IACpB,oBAAoB;IACpB,cAAc;IACd,kBAAkB;IAClB,wBAAwB;IACxB,qBAAqB;CACb,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;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,cAAc;IACd,iBAAiB;IACjB,uFAAuF;IACvF,aAAa;IACb,uFAAuF;IACvF,oBAAoB;IACpB;;;;;;OAMG;IACH,yBAAyB;CACjB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,uBAAuB;CACf,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,uBAAuB,EAAE,yBAAyB,CAAU,CAAC;AA6IjG,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-requirements.d.ts","sourceRoot":"","sources":["../src/flow-requirements.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"flow-requirements.d.ts","sourceRoot":"","sources":["../src/flow-requirements.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI1C;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,cAAc,wCAAyC,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5D,gIAAgI;IAChI,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC;IACrB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,0BAA0B,EAAE,CAAC;IAC3C,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,yEAAyE;IACzE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,sFAAsF;IACtF,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,0FAA0F;IAC1F,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;QACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;QACtC,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;KACjC,CAAC;CACH;AAED,mFAAmF;AACnF,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,SAAS,yBAAyB,EAAE,GAC/C,gBAAgB,CA0BlB;AAED,oEAAoE;AACpE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;KAAE,EAAE,CAAC;CACpE;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,0BAA0B,GAAG,QAAQ,EAC3C,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAiFlB;AAED,2GAA2G;AAC3G,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,GAAG,MAAM,CAM/E;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAI/E"}
|
|
@@ -2,6 +2,7 @@ import { humanRecipientProvider } from './human-to.js';
|
|
|
2
2
|
import { helperProviders } from '@relayflows/surface/runtime';
|
|
3
3
|
import { providerDeclaration } from './provider-trigger-contract.js';
|
|
4
4
|
import { helperCall } from './yaml-helpers.js';
|
|
5
|
+
import { helperNamespacesUsed } from './helper-reference.js';
|
|
5
6
|
/**
|
|
6
7
|
* What a flow needs from the workspace it deploys into, read from inert
|
|
7
8
|
* declarations only: the header, the trigger sources, and the text of the
|
|
@@ -101,10 +102,14 @@ export function flowRequirements(flow, context = {}) {
|
|
|
101
102
|
// payload as input, and handler bodies are not dispatched yet (flows #301).
|
|
102
103
|
// A handler's *trigger* is still a requirement — it is what wakes the flow.
|
|
103
104
|
const text = typeof flow.body === 'function' ? Function.prototype.toString.call(flow.body) : '';
|
|
104
|
-
const
|
|
105
|
-
|
|
105
|
+
const rootName = contextParameter(text);
|
|
106
|
+
const root = rootName === undefined ? undefined : escapeRegExp(rootName);
|
|
107
|
+
if (root !== undefined && rootName !== undefined) {
|
|
108
|
+
// The AST walk compares against an Identifier name, so it needs the raw
|
|
109
|
+
// parameter; the regex scanners below need the escaped one.
|
|
110
|
+
const referenced = helperNamespacesUsed(text, rootName);
|
|
106
111
|
for (const { provider, namespace } of helperProviders) {
|
|
107
|
-
if (
|
|
112
|
+
if (referenced.has(namespace))
|
|
108
113
|
declare({ provider, from: 'helper', detail: `f.${namespace}` });
|
|
109
114
|
}
|
|
110
115
|
for (const use of workerCalls(root, text))
|
|
@@ -163,14 +168,24 @@ function isCompiledSpec(flow) {
|
|
|
163
168
|
function stringList(value) {
|
|
164
169
|
return Array.isArray(value) ? value.filter((entry) => typeof entry === 'string') : [];
|
|
165
170
|
}
|
|
166
|
-
/**
|
|
171
|
+
/**
|
|
172
|
+
* The body's first parameter (`f` in `async (f, input) => …`), RAW.
|
|
173
|
+
*
|
|
174
|
+
* Returned unescaped because the AST walk compares it to an `Identifier`
|
|
175
|
+
* name: escaping turned a legal parameter like `f$` into `f\$`, which matches
|
|
176
|
+
* no identifier and hid every helper call in that flow. Callers that build a
|
|
177
|
+
* pattern escape it themselves with `escapeRegExp`.
|
|
178
|
+
*/
|
|
167
179
|
function contextParameter(body) {
|
|
168
|
-
|
|
169
|
-
|
|
180
|
+
// The third alternative is an object-literal method (`async post(f) { … }`),
|
|
181
|
+
// a shape `Function.prototype.toString()` can return and which the first two
|
|
182
|
+
// do not match — leaving `root` undefined and the body unscanned entirely.
|
|
183
|
+
const parameter = body.match(/^(?:async\s+)?(?:function\s*\*?\s*(?:[\w$]+)?\s*)?(?:\(\s*([\w$]+)|([\w$]+)\s*=>|\*?\s*[\w$]+\s*\(\s*([\w$]+))/u);
|
|
184
|
+
return parameter?.[1] ?? parameter?.[2] ?? parameter?.[3];
|
|
170
185
|
}
|
|
171
|
-
/**
|
|
172
|
-
function
|
|
173
|
-
return
|
|
186
|
+
/** Escape a literal for embedding in a RegExp source. */
|
|
187
|
+
function escapeRegExp(value) {
|
|
188
|
+
return value.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
|
|
174
189
|
}
|
|
175
190
|
/**
|
|
176
191
|
* The literal `to` of each `f.human(question, { to: "…" })` call in the body.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-requirements.js","sourceRoot":"","sources":["../src/flow-requirements.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flow-requirements.js","sourceRoot":"","sources":["../src/flow-requirements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AA6CrE,mFAAmF;AACnF,MAAM,UAAU,8BAA8B,CAC5C,IAAsB,EACtB,UAAgD;IAEhD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAC1D,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC7C,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YACtD,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YACxC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAsB,EAAE,MAAM,EAAE,WAAW,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YACnC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;AAC5F,CAAC;AASD,MAAM,UAAU,gBAAgB,CAC9B,IAA2C,EAC3C,UAAmC,EAAE;IAErC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuC,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,OAAO,GAAG,CAAC,WAAuC,EAAQ,EAAE;QAChE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC;YAAE,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACnG,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,OAAgC,EAAE,MAAc,EAAQ,EAAE;QACtE,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACxG,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC;IAEhE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,oFAAoF;YACpF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;gBAAE,SAAS;YAC1G,sEAAsE;YACtE,4EAA4E;YAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3E,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7G,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;YAC1C,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,SAAS,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,eAAe,EAAE,CAAC;YACtD,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,QAAQ;gBAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/D,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxH,CAAC;QACH,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjD,wEAAwE;YACxE,4DAA4D;YAC5D,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxD,KAAK,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,eAAe,EAAE,CAAC;gBACtD,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACxH,wEAAwE;YACxE,sEAAsE;YACtE,qEAAqE;YACrE,4DAA4D;YAC5D,KAAK,MAAM,EAAE,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC3C,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,OAAO,CAAC,UAAU;QAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IAEjG,MAAM,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO;QACL,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;QACxC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;QACvC,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;KACd,CAAC;AACJ,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,wBAAwB,CAAC,YAA8B;IACrE,OAAO;QACL,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC;QAClG,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC;QACxE,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,cAAc,CAAC;KAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAAC,GAAuB;IACpD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACjG,OAAQ,cAAoC,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;AACtG,CAAC;AAED,oHAAoH;AACpH,SAAS,cAAc,CAAC,IAAsC;IAC5D,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAA2C;IACjE,OAAO,KAAK,CAAC,OAAO,CAAE,IAAiB,CAAC,KAAK,CAAC,IAAI,OAAQ,IAAiB,CAAC,OAAO,KAAK,QAAQ,CAAC;AACnG,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzG,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iHAAiH,CAAC,CAAC;IAChJ,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,yDAAyD;AACzD,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,IAAY;IACjD,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,iBAAiB,IAAI,yBAAyB,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,SAAS;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,MAAM,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,EAAE,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,IAAY,EAAE,CAAS;IAClD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAAC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAAC,CAAC;IACjH,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAAC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAAC,CAAC;IAC5G,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QAAC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAAC,CAAC;IACjH,OAAO,CAAC,CAAC;AACX,CAAC;AAED,0HAA0H;AAC1H,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC/C,MAAM,KAAK,GAA2B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACvE,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAE,CAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QAC9B,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAAC,CAAC,GAAG,OAAO,CAAC;YAAC,SAAS;QAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,EAAE,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC,CAAC;aACnC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC;QAAC,CAAC;QACvF,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,8GAA8G;AAC9G,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;IAC3B,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACtC,IAAI,EAAE,KAAK,KAAK;YAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC1B,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACrC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAAC,CAAC,GAAG,OAAO,CAAC;YAAC,SAAS;QAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC3C,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACrC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;aACzD,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;YAAE,MAAM,IAAI,CAAC,CAAC;QAChD,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uGAAuG;AACvG,SAAS,sBAAsB,CAAC,MAAc,EAAE,IAAY;IAC1D,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK,IAAI,MAAM,IAAI,aAAa,EAAE,GAAG,CAAC,CAAC;IACzE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QACrC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAAC,CAAC,GAAG,OAAO,CAAC;YAAC,SAAS;QAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,KAAK,IAAI,CAAC,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC7E,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,KAAK,IAAI,CAAC,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC7E,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBACjC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG;oBAAE,OAAO,SAAS,CAAC;gBACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/C,IAAI,QAAQ,KAAK,CAAC,CAAC;oBAAE,OAAO,SAAS,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACnD,kEAAkE;gBAClE,OAAO,KAAK,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QACD,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAID;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY;IAC7C,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,iBAAiB,IAAI,6DAA6D,EAAE,IAAI,CAAC,CAAC;IAClH,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAClG,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO;YACjC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;YACjE,CAAC,CAAC,UAAU,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/gate-contract.d.ts
CHANGED
|
@@ -16,6 +16,13 @@ export interface StepGateInspection extends DataGateClassification {
|
|
|
16
16
|
* identically to a gate that judges something.
|
|
17
17
|
*/
|
|
18
18
|
acceptsAnyOutput?: true;
|
|
19
|
+
/**
|
|
20
|
+
* Present when the step declares `onNonZero: 'record'`. The `exit_code`
|
|
21
|
+
* check is still applied and still journaled, but a positive code satisfies
|
|
22
|
+
* it instead of failing the step. Without this a recording step reads
|
|
23
|
+
* exactly like a gated one — the `|| true` ambiguity, moved into the report.
|
|
24
|
+
*/
|
|
25
|
+
recordsNonZeroExit?: true;
|
|
19
26
|
}
|
|
20
27
|
/** A schema that accepts every output: `true`, `{}`, or annotations only. */
|
|
21
28
|
export declare function acceptsAnyOutput(schema: unknown): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-contract.d.ts","sourceRoot":"","sources":["../src/gate-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,aAAa,CAAC;AAElB,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,QAAQ,CAAC;IACpB,aAAa,EAAE,IAAI,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"gate-contract.d.ts","sourceRoot":"","sources":["../src/gate-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,aAAa,CAAC;AAElB,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,QAAQ,CAAC;IACpB,aAAa,EAAE,IAAI,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,IAAI,CAAC;CAC3B;AAqBD,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,CA4BlE"}
|
package/dist/gate-contract.js
CHANGED
|
@@ -28,13 +28,17 @@ export function acceptsAnyOutput(schema) {
|
|
|
28
28
|
/** Describe the exact named checks the existing kernel applies to a step. */
|
|
29
29
|
export function inspectStepGate(step) {
|
|
30
30
|
const checks = [];
|
|
31
|
+
// A policy for the step's own exit code, not a gate of its own: it never
|
|
32
|
+
// adds or removes a check, it changes what a positive code means to one.
|
|
33
|
+
const recording = step.type === 'deterministic' && step.onNonZero === 'record'
|
|
34
|
+
? { recordsNonZeroExit: true } : {};
|
|
31
35
|
if (isNamedGate(step.verification)) {
|
|
32
36
|
checks.push('exit_code');
|
|
33
37
|
if (step.verification.type === 'references_input')
|
|
34
38
|
checks.push('output_contains');
|
|
35
39
|
if (step.verification.type === 'word_count_bounds')
|
|
36
40
|
checks.push('json_schema');
|
|
37
|
-
return { stepId: step.id, kind: 'data', checks, evaluator: 'kernel', preflightable: true, replayable: true };
|
|
41
|
+
return { stepId: step.id, kind: 'data', checks, evaluator: 'kernel', preflightable: true, replayable: true, ...recording };
|
|
38
42
|
}
|
|
39
43
|
if (step.type === 'deterministic')
|
|
40
44
|
checks.push('exit_code');
|
|
@@ -54,6 +58,7 @@ export function inspectStepGate(step) {
|
|
|
54
58
|
preflightable: true,
|
|
55
59
|
replayable: true,
|
|
56
60
|
...(vacuous ? { acceptsAnyOutput: true } : {}),
|
|
61
|
+
...recording,
|
|
57
62
|
};
|
|
58
63
|
}
|
|
59
64
|
//# sourceMappingURL=gate-contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-contract.js","sourceRoot":"","sources":["../src/gate-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"gate-contract.js","sourceRoot":"","sources":["../src/gate-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAkC/C,2EAA2E;AAC3E,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;IAC/C,SAAS;IACT,UAAU;IACV,OAAO;IACP,gBAAgB;IAChB,KAAK;IACL,SAAS;IACT,aAAa;IACb,SAAS;IACT,aAAa;IACb,YAAY;IACZ,aAAa;IACb,UAAU;IACV,UAAU;IACV,OAAO;IACP,WAAW;CACZ,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ;QAC5E,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,IAAI,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,kBAAkB;YAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,mBAAmB;YAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/E,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IAC7H,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;QAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,iBAAiB;QAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClF,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,aAAa;QAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,KAAK,aAAa;WACpD,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,IAAI,EAAE,MAAM;QACZ,MAAM;QACN,SAAS,EAAE,QAAQ;QACnB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;QAChB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper-preflight.d.ts","sourceRoot":"","sources":["../src/helper-preflight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"helper-preflight.d.ts","sourceRoot":"","sources":["../src/helper-preflight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,gBAAgB,CAAC;AAG3E,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE;IAAE,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,EACvF,KAAK,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IACtE,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;CAAE,GAC1F,eAAe,CA+BjB"}
|
package/dist/helper-preflight.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { helperProviders } from '@relayflows/surface/runtime';
|
|
2
|
+
import { helperNamespacesUsed } from './helper-reference.js';
|
|
2
3
|
/** Static discovery never executes the body; dynamic aliases are checked at call time. */
|
|
3
4
|
export function preflightHelpers(definition, facts) {
|
|
4
5
|
const body = typeof definition.body === 'function' ? Function.prototype.toString.call(definition.body) : '';
|
|
5
|
-
const parameter = body.match(/^(?:async\s+)?(?:function(
|
|
6
|
-
|
|
6
|
+
const parameter = body.match(/^(?:async\s+)?(?:function\s*\*?\s*(?:[\w$]+)?\s*)?(?:\(\s*([\w$]+)|([\w$]+)\s*=>|\*?\s*[\w$]+\s*\(\s*([\w$]+))/u);
|
|
7
|
+
// NOT regex-escaped: this is compared to an AST Identifier name, so a legal
|
|
8
|
+
// parameter like `f$` must stay `f$`. Escaping it hid every helper call.
|
|
9
|
+
const root = parameter?.[1] ?? parameter?.[2] ?? parameter?.[3];
|
|
7
10
|
const diagnostics = [];
|
|
11
|
+
// Read from a parse, not from the text: a helper named inside a string,
|
|
12
|
+
// comment, template quasi or regex is not used, and refusing on one demands
|
|
13
|
+
// a mount the flow never touches.
|
|
14
|
+
const referenced = root === undefined ? new Set() : helperNamespacesUsed(body, root);
|
|
8
15
|
for (const { provider, namespace, supported } of helperProviders) {
|
|
9
16
|
const used = definition.header?.tools?.[namespace] === true
|
|
10
|
-
|| (
|
|
17
|
+
|| referenced.has(namespace);
|
|
11
18
|
if (!used)
|
|
12
19
|
continue;
|
|
13
20
|
const fact = facts.providers?.[provider] ?? (provider === 'slack'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper-preflight.js","sourceRoot":"","sources":["../src/helper-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"helper-preflight.js","sourceRoot":"","sources":["../src/helper-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which `f.<namespace>` helpers a flow body actually USES.
|
|
3
|
+
*
|
|
4
|
+
* Read from a parse, not from the text. A helper merely NAMED in a string, a
|
|
5
|
+
* comment, a template quasi or a regex is not used, and declaring a
|
|
6
|
+
* requirement from one refuses a flow for a mount it never touches:
|
|
7
|
+
* `f.run("echo f.gitlab")`, an agent prompt naming `f.slack`, or a PR title in
|
|
8
|
+
* a commit message were each enough to demand a GitLab mount.
|
|
9
|
+
*
|
|
10
|
+
* This was first written as a lexer that blanked comments, strings and
|
|
11
|
+
* regexes. That is the wrong tool: `/` is a regex or a division depending on
|
|
12
|
+
* whether the preceding token ends an expression, which is not decidable
|
|
13
|
+
* without parse context, and the two shapes that ambiguity broke —
|
|
14
|
+
* interpolations (`${await f.gitlab…}`) and a quote inside a regex (`/'/`) —
|
|
15
|
+
* both HID real helper use, deploying a flow without its mount to fail at
|
|
16
|
+
* runtime. A parser settles every one of those by construction.
|
|
17
|
+
*
|
|
18
|
+
* What a parser still cannot see is indirection: `const p = 'gitlab';
|
|
19
|
+
* f[p].issues…` is invisible to any static reading, because it needs value
|
|
20
|
+
* tracking. This scan is therefore a convenience for the literal case, never
|
|
21
|
+
* the authority — `header.tools[namespace] === true` is the declaration that
|
|
22
|
+
* is, and it short-circuits this entirely.
|
|
23
|
+
*/
|
|
24
|
+
export declare function helperNamespacesUsed(body: string, root: string): ReadonlySet<string>;
|
|
25
|
+
//# sourceMappingURL=helper-reference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper-reference.d.ts","sourceRoot":"","sources":["../src/helper-reference.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAYpF"}
|