@relayflows/sdk 2.0.15 → 2.0.17
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 +20 -0
- package/dist/agent-artifacts.d.ts.map +1 -0
- package/dist/agent-artifacts.js +81 -0
- package/dist/agent-artifacts.js.map +1 -0
- 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 +3 -3
- package/dist/authored-flow-executor.d.ts.map +1 -1
- package/dist/authored-flow-executor.js +93 -7
- package/dist/authored-flow-executor.js.map +1 -1
- package/dist/authored-flow-lifecycle.d.ts +10 -0
- package/dist/authored-flow-lifecycle.d.ts.map +1 -1
- package/dist/authored-flow-lifecycle.js +7 -0
- package/dist/authored-flow-lifecycle.js.map +1 -1
- package/dist/authored-flow-operation.d.ts +11 -0
- package/dist/authored-flow-operation.d.ts.map +1 -1
- package/dist/authored-flow-operation.js +32 -7
- package/dist/authored-flow-operation.js.map +1 -1
- package/dist/authored-node-runner.d.ts.map +1 -1
- package/dist/authored-node-runner.js +37 -14
- package/dist/authored-node-runner.js.map +1 -1
- package/dist/authored-step-output.d.ts +2 -0
- package/dist/authored-step-output.d.ts.map +1 -1
- package/dist/authored-step-output.js +5 -1
- package/dist/authored-step-output.js.map +1 -1
- package/dist/authored-worker-step.d.ts.map +1 -1
- package/dist/authored-worker-step.js +15 -8
- package/dist/authored-worker-step.js.map +1 -1
- package/dist/cli/check-triggers.d.ts.map +1 -1
- package/dist/cli/check-triggers.js +10 -0
- package/dist/cli/check-triggers.js.map +1 -1
- package/dist/cli/check.d.ts +14 -0
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +6 -1
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/cloud-deploy.d.ts +30 -0
- package/dist/cli/cloud-deploy.d.ts.map +1 -0
- package/dist/cli/cloud-deploy.js +162 -0
- package/dist/cli/cloud-deploy.js.map +1 -0
- package/dist/cli/cloud-run.d.ts +3 -1
- package/dist/cli/cloud-run.d.ts.map +1 -1
- package/dist/cli/cloud-run.js +37 -5
- package/dist/cli/cloud-run.js.map +1 -1
- package/dist/cli/cloud-schedule.d.ts +29 -0
- package/dist/cli/cloud-schedule.d.ts.map +1 -0
- package/dist/cli/cloud-schedule.js +131 -0
- package/dist/cli/cloud-schedule.js.map +1 -0
- package/dist/cli/cloud-sync.d.ts +13 -0
- package/dist/cli/cloud-sync.d.ts.map +1 -0
- package/dist/cli/cloud-sync.js +39 -0
- package/dist/cli/cloud-sync.js.map +1 -0
- package/dist/cli/direct-run.js +1 -1
- package/dist/cli/direct-run.js.map +1 -1
- package/dist/cli/run.d.ts +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +17 -4
- package/dist/cli/run.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +117 -12
- package/dist/cli.js.map +1 -1
- package/dist/cloud-deploy.d.ts +70 -0
- package/dist/cloud-deploy.d.ts.map +1 -0
- package/dist/cloud-deploy.js +192 -0
- package/dist/cloud-deploy.js.map +1 -0
- package/dist/cloud-http.d.ts +52 -2
- package/dist/cloud-http.d.ts.map +1 -1
- package/dist/cloud-http.js +135 -9
- package/dist/cloud-http.js.map +1 -1
- package/dist/cloud-run.d.ts +53 -0
- package/dist/cloud-run.d.ts.map +1 -1
- package/dist/cloud-run.js +97 -25
- package/dist/cloud-run.js.map +1 -1
- package/dist/cloud-schedule.d.ts +48 -0
- package/dist/cloud-schedule.d.ts.map +1 -0
- package/dist/cloud-schedule.js +125 -0
- package/dist/cloud-schedule.js.map +1 -0
- package/dist/cloud-sync.d.ts +66 -0
- package/dist/cloud-sync.d.ts.map +1 -0
- package/dist/cloud-sync.js +287 -0
- package/dist/cloud-sync.js.map +1 -0
- package/dist/failure-kinds.d.ts +10 -3
- package/dist/failure-kinds.d.ts.map +1 -1
- package/dist/failure-kinds.js +10 -0
- package/dist/failure-kinds.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/named-gate-lowering.js +9 -0
- package/dist/named-gate-lowering.js.map +1 -1
- package/dist/named-gates.d.ts +1 -1
- package/dist/named-gates.d.ts.map +1 -1
- package/dist/named-gates.js +11 -1
- package/dist/named-gates.js.map +1 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +155 -9
- package/dist/preflight.js.map +1 -1
- package/dist/schedule-trigger.d.ts +35 -0
- package/dist/schedule-trigger.d.ts.map +1 -0
- package/dist/schedule-trigger.js +53 -0
- package/dist/schedule-trigger.js.map +1 -0
- package/dist/spec.d.ts +11 -1
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/trigger-executor.js +1 -1
- package/dist/trigger-executor.js.map +1 -1
- package/dist/validate.js +1 -1
- package/dist/validate.js.map +1 -1
- package/dist/worker-cli.d.ts +10 -0
- package/dist/worker-cli.d.ts.map +1 -1
- package/dist/worker-cli.js +51 -22
- package/dist/worker-cli.js.map +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +9 -0
- package/dist/worker.js.map +1 -1
- package/dist/wrapper-session.d.ts +3 -1
- package/dist/wrapper-session.d.ts.map +1 -1
- package/dist/wrapper-session.js +6 -3
- package/dist/wrapper-session.js.map +1 -1
- package/package.json +3 -3
- package/src/agent-artifacts.ts +76 -0
- package/src/authored-flow-error.ts +1 -0
- package/src/authored-flow-executor.ts +95 -8
- package/src/authored-flow-lifecycle.ts +7 -0
- package/src/authored-flow-operation.ts +35 -10
- package/src/authored-node-runner.ts +35 -13
- package/src/authored-step-output.ts +6 -1
- package/src/authored-worker-step.ts +16 -9
- package/src/cli/check-triggers.ts +9 -0
- package/src/cli/check.ts +21 -1
- package/src/cli/cloud-deploy.ts +157 -0
- package/src/cli/cloud-run.ts +37 -6
- package/src/cli/cloud-schedule.ts +135 -0
- package/src/cli/cloud-sync.ts +37 -0
- package/src/cli/direct-run.ts +1 -1
- package/src/cli/run.ts +18 -5
- package/src/cli.ts +107 -12
- package/src/cloud-deploy.ts +247 -0
- package/src/cloud-http.ts +173 -9
- package/src/cloud-run.ts +143 -24
- package/src/cloud-schedule.ts +158 -0
- package/src/cloud-sync.ts +315 -0
- package/src/failure-kinds.ts +10 -0
- package/src/index.ts +14 -0
- package/src/named-gate-lowering.ts +9 -0
- package/src/named-gates.ts +11 -1
- package/src/preflight.ts +132 -9
- package/src/schedule-trigger.ts +73 -0
- package/src/spec.ts +12 -1
- package/src/trigger-executor.ts +1 -1
- package/src/validate.ts +1 -1
- package/src/worker-cli.ts +41 -0
- package/src/worker.ts +9 -0
- package/src/wrapper-session.ts +5 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { CloudFlowError } from '../cloud-http.js';
|
|
2
|
+
import { deployToCloud, listCloudDeployments, parseAgentHarnesses, parseRepository, parseTriggerSource, undeployFromCloud, } from '../cloud-deploy.js';
|
|
3
|
+
/**
|
|
4
|
+
* `flows deploy <flow.ts> --repo <owner/name> --on <provider>[:k=v,…] [--on …]
|
|
5
|
+
* --approver <handle> [--name <n>] [--json]`
|
|
6
|
+
*
|
|
7
|
+
* Parsed here rather than in `parseDeployArgs` because the two `deploy` forms
|
|
8
|
+
* share nothing but the word: the digest form copies a sealed bundle into a
|
|
9
|
+
* file bucket, this one creates a hosted listener. The positional decides.
|
|
10
|
+
*/
|
|
11
|
+
export function parseCloudDeployArgs(args) {
|
|
12
|
+
let value;
|
|
13
|
+
let repo;
|
|
14
|
+
let approver;
|
|
15
|
+
let name;
|
|
16
|
+
let agents;
|
|
17
|
+
let draft = false;
|
|
18
|
+
let json = false;
|
|
19
|
+
const on = [];
|
|
20
|
+
for (let i = 0; i < args.length; i++) {
|
|
21
|
+
const arg = args[i];
|
|
22
|
+
if (arg === '--json') {
|
|
23
|
+
if (json)
|
|
24
|
+
return undefined;
|
|
25
|
+
json = true;
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (arg === '--draft') {
|
|
29
|
+
if (draft)
|
|
30
|
+
return undefined;
|
|
31
|
+
draft = true;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (arg === '--agents') {
|
|
35
|
+
const next = args[i + 1];
|
|
36
|
+
if (agents !== undefined || next === undefined || next.startsWith('-'))
|
|
37
|
+
return undefined;
|
|
38
|
+
agents = next;
|
|
39
|
+
i += 1;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (arg === '--repo' || arg === '--approver' || arg === '--name' || arg === '--on') {
|
|
43
|
+
const next = args[i + 1];
|
|
44
|
+
if (next === undefined || next.startsWith('-'))
|
|
45
|
+
return undefined;
|
|
46
|
+
i += 1;
|
|
47
|
+
if (arg === '--on') {
|
|
48
|
+
on.push(next);
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (arg === '--repo') {
|
|
52
|
+
if (repo !== undefined)
|
|
53
|
+
return undefined;
|
|
54
|
+
repo = next;
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (arg === '--approver') {
|
|
58
|
+
if (approver !== undefined)
|
|
59
|
+
return undefined;
|
|
60
|
+
approver = next;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (name !== undefined)
|
|
64
|
+
return undefined;
|
|
65
|
+
name = next;
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (arg.startsWith('-') || value !== undefined)
|
|
69
|
+
return undefined;
|
|
70
|
+
value = arg;
|
|
71
|
+
}
|
|
72
|
+
if (value === undefined || repo === undefined || on.length === 0)
|
|
73
|
+
return undefined;
|
|
74
|
+
return { command: 'cloud-deploy', value, repo, on, approver, name, agents, draft, json };
|
|
75
|
+
}
|
|
76
|
+
function describeSource(source) {
|
|
77
|
+
const settings = Object.entries(source.settings).map(([k, v]) => `${k}=${v}`).join(' ');
|
|
78
|
+
return settings ? `${source.provider} ${settings}` : source.provider;
|
|
79
|
+
}
|
|
80
|
+
export async function runCloudDeployCli(args, io) {
|
|
81
|
+
try {
|
|
82
|
+
if (args.approver === undefined) {
|
|
83
|
+
throw new CloudFlowError('invalid_input', '--approver <handle> is required: every launched run receives it as input.approver for f.human.');
|
|
84
|
+
}
|
|
85
|
+
const deployment = await deployToCloud({
|
|
86
|
+
path: args.value,
|
|
87
|
+
repository: parseRepository(args.repo),
|
|
88
|
+
sources: args.on.map(parseTriggerSource),
|
|
89
|
+
approver: args.approver,
|
|
90
|
+
draft: args.draft,
|
|
91
|
+
...(args.name === undefined ? {} : { name: args.name }),
|
|
92
|
+
...(args.agents === undefined ? {} : { agents: parseAgentHarnesses(args.agents) }),
|
|
93
|
+
});
|
|
94
|
+
if (args.json) {
|
|
95
|
+
io.stdout(JSON.stringify({ ok: true, ...deployment }));
|
|
96
|
+
return 0;
|
|
97
|
+
}
|
|
98
|
+
io.stdout(`${deployment.status === 'draft' ? 'SAVED' : 'DEPLOYED'} ${deployment.agentId} ${deployment.status}`);
|
|
99
|
+
io.stdout(` flow: ${deployment.name} (${args.value}, sha256 ${deployment.sourceSha256.slice(0, 12)})`);
|
|
100
|
+
io.stdout(` repository: ${deployment.repository.owner}/${deployment.repository.name}`);
|
|
101
|
+
for (const source of deployment.sources)
|
|
102
|
+
io.stdout(` on: ${describeSource(source)}`);
|
|
103
|
+
io.stdout(deployment.status === 'draft'
|
|
104
|
+
? 'Saved without activating; activate it from the Cloud dashboard, or redeploy without --draft.'
|
|
105
|
+
: 'Each matching ticket launches a run of this source in a fresh branch; list with: flows deployments');
|
|
106
|
+
return 0;
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
return reportCloudFailure(error, args.json, io);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
export async function runCloudDeploymentsCli({ json }, io) {
|
|
113
|
+
try {
|
|
114
|
+
const deployments = await listCloudDeployments();
|
|
115
|
+
if (json) {
|
|
116
|
+
io.stdout(JSON.stringify({ ok: true, deployments }));
|
|
117
|
+
return 0;
|
|
118
|
+
}
|
|
119
|
+
if (deployments.length === 0) {
|
|
120
|
+
io.stdout('No flow deployments in this workspace.');
|
|
121
|
+
return 0;
|
|
122
|
+
}
|
|
123
|
+
for (const d of deployments) {
|
|
124
|
+
const repo = d.repository ? ` ${d.repository.owner}/${d.repository.name}` : '';
|
|
125
|
+
io.stdout(`${d.agentId} ${d.status} ${JSON.stringify(d.name)}${repo}`);
|
|
126
|
+
for (const source of d.sources)
|
|
127
|
+
io.stdout(` on: ${describeSource(source)}`);
|
|
128
|
+
}
|
|
129
|
+
return 0;
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
return reportCloudFailure(error, json, io);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export async function runCloudUndeployCli({ agentId, json }, io) {
|
|
136
|
+
try {
|
|
137
|
+
await undeployFromCloud(agentId);
|
|
138
|
+
io.stdout(json ? JSON.stringify({ ok: true, agentId, status: 'deleted' }) : `UNDEPLOYED ${agentId}`);
|
|
139
|
+
return 0;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
return reportCloudFailure(error, json, io);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function reportCloudFailure(error, json, io) {
|
|
146
|
+
const code = error instanceof CloudFlowError ? error.code : 'cloud_deploy_failed';
|
|
147
|
+
let message = error instanceof Error ? error.message : 'Cloud deploy failed.';
|
|
148
|
+
// The deploy routes take a browser session or a `cli:auth` token. A
|
|
149
|
+
// deployment (CI) token gets 403 `session_required`; say what fixes it.
|
|
150
|
+
if (error instanceof CloudFlowError && error.status === 403) {
|
|
151
|
+
message += ' Deploying needs an interactive `cli:auth` credential: run `agent-relay cloud login` '
|
|
152
|
+
+ '(a deployment token can run flows but not deploy them).';
|
|
153
|
+
}
|
|
154
|
+
if (json)
|
|
155
|
+
io.stdout(JSON.stringify({ ok: false, code, message }));
|
|
156
|
+
else
|
|
157
|
+
io.stderr(`${code}: ${message}`);
|
|
158
|
+
return error instanceof CloudFlowError
|
|
159
|
+
&& (['configuration', 'unsupported_source', 'invalid_input'].includes(error.code) || error.status === 403 || error.status === 401)
|
|
160
|
+
? 2 : 1;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=cloud-deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-deploy.js","sourceRoot":"","sources":["../../src/cli/cloud-deploy.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/cloud-run.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { CliIo } from '../cli.js';
|
|
2
2
|
/** Presentation only: the central CLI parser owns argv; the SDK owns the lifecycle. */
|
|
3
|
-
export declare function runCloudCli({ value: path, json, wait }: {
|
|
3
|
+
export declare function runCloudCli({ value: path, json, wait, input, syncCode }: {
|
|
4
4
|
value: string;
|
|
5
5
|
json: boolean;
|
|
6
6
|
wait: boolean;
|
|
7
|
+
input: string | undefined;
|
|
8
|
+
syncCode: boolean;
|
|
7
9
|
}, io: CliIo): Promise<0 | 1 | 2>;
|
|
8
10
|
//# sourceMappingURL=cloud-run.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-run.d.ts","sourceRoot":"","sources":["../../src/cli/cloud-run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cloud-run.d.ts","sourceRoot":"","sources":["../../src/cli/cloud-run.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,uFAAuF;AACvF,wBAAsB,WAAW,CAC/B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC5C,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;CAC3F,EACD,EAAE,EAAE,KAAK,GACR,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAiEpB"}
|
package/dist/cli/cloud-run.js
CHANGED
|
@@ -1,18 +1,47 @@
|
|
|
1
1
|
import { CloudFlowError } from '../cloud-http.js';
|
|
2
2
|
import { runInCloud, waitForCloudFlowRun } from '../cloud-run.js';
|
|
3
|
+
import { DirectInputError, isAuthoredFlowPath, parseDirectInput } from '../direct-input.js';
|
|
4
|
+
import { snapshotJsonValue } from '../json-value.js';
|
|
3
5
|
/** Presentation only: the central CLI parser owns argv; the SDK owns the lifecycle. */
|
|
4
|
-
export async function runCloudCli({ value: path, json, wait }, io) {
|
|
6
|
+
export async function runCloudCli({ value: path, json, wait, input, syncCode }, io) {
|
|
5
7
|
const controller = new AbortController();
|
|
6
8
|
const abort = () => controller.abort();
|
|
7
9
|
process.once('SIGINT', abort);
|
|
8
10
|
process.once('SIGTERM', abort);
|
|
9
11
|
let runId;
|
|
12
|
+
// Flips at the run submission. An interruption before it — during prepare,
|
|
13
|
+
// packing or upload — admitted nothing and is safe to retry; only an
|
|
14
|
+
// interrupted submission has unknown admission.
|
|
15
|
+
let submitting = false;
|
|
10
16
|
try {
|
|
11
|
-
const
|
|
17
|
+
const options = { signal: controller.signal, onSubmit: () => { submitting = true; } };
|
|
18
|
+
if (isAuthoredFlowPath(path)) {
|
|
19
|
+
// Same parse as a local direct run, so a file-or-inline argument means
|
|
20
|
+
// the same thing on both sides of `--cloud`.
|
|
21
|
+
try {
|
|
22
|
+
options.input = snapshotJsonValue(parseDirectInput(input), 'Cloud authored input');
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
if (error instanceof DirectInputError)
|
|
26
|
+
throw new CloudFlowError('invalid_input', error.message);
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// The tree is the invoking directory, as with v1: the flow path is where
|
|
31
|
+
// the body lives, not the boundary of what the run may read.
|
|
32
|
+
if (syncCode)
|
|
33
|
+
options.syncCode = { root: process.cwd() };
|
|
34
|
+
const receipt = await runInCloud({ path }, options);
|
|
12
35
|
runId = receipt.runId;
|
|
13
36
|
if (!json) {
|
|
14
37
|
io.stdout(`ACCEPTED ${receipt.runId} (${receipt.status})`);
|
|
15
38
|
io.stdout(receipt.apiUrl);
|
|
39
|
+
if (receipt.synced) {
|
|
40
|
+
io.stdout(`SYNCED ${receipt.synced.files} files (${receipt.synced.bytes} bytes); pull changes with: flows sync ${receipt.runId}`);
|
|
41
|
+
for (const link of receipt.synced.skippedLinks) {
|
|
42
|
+
io.stderr(`WARNING [sync_link_skipped] ${link} points outside the synced tree and was not uploaded`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
16
45
|
}
|
|
17
46
|
if (!wait) {
|
|
18
47
|
if (json)
|
|
@@ -28,18 +57,21 @@ export async function runCloudCli({ value: path, json, wait }, io) {
|
|
|
28
57
|
return ok ? 0 : 1;
|
|
29
58
|
}
|
|
30
59
|
catch (error) {
|
|
31
|
-
const code = controller.signal.aborted
|
|
60
|
+
const code = controller.signal.aborted
|
|
61
|
+
? runId ? 'observation_aborted' : submitting ? 'admission_unknown' : 'submission_aborted'
|
|
32
62
|
: error instanceof CloudFlowError ? error.code : 'cloud_run_failed';
|
|
33
63
|
const message = controller.signal.aborted
|
|
34
64
|
? runId ? 'Stopped observing; the hosted run has not been cancelled.'
|
|
35
|
-
:
|
|
65
|
+
: submitting
|
|
66
|
+
? 'Submission interrupted before a receipt was received. Admission is unknown; Cloud may have started the run. Do not resubmit blindly.'
|
|
67
|
+
: 'Interrupted before the run was submitted; nothing was admitted. Safe to run again.'
|
|
36
68
|
: error instanceof Error ? error.message : 'Cloud run failed.';
|
|
37
69
|
if (json)
|
|
38
70
|
io.stdout(JSON.stringify({ ok: false, code, message, ...(runId ? { runId } : {}) }));
|
|
39
71
|
else
|
|
40
72
|
io.stderr(`${code}: ${message}${runId ? ` (run ${runId})` : ''}`);
|
|
41
73
|
return error instanceof CloudFlowError
|
|
42
|
-
&& (['configuration', 'unsupported_source', 'invalid_input'].includes(error.code)
|
|
74
|
+
&& (['configuration', 'unsupported_source', 'invalid_input', 'unsupported_storage_backend', 'sync_too_large', 'sync_unsupported'].includes(error.code)
|
|
43
75
|
|| (runId === undefined && error.code === 'http_error' && [401, 403].includes(error.status ?? 0))) ? 2 : 1;
|
|
44
76
|
}
|
|
45
77
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-run.js","sourceRoot":"","sources":["../../src/cli/cloud-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"cloud-run.js","sourceRoot":"","sources":["../../src/cli/cloud-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CliIo } from '../cli.js';
|
|
2
|
+
export interface CloudScheduleArgs {
|
|
3
|
+
command: 'schedule';
|
|
4
|
+
value: string;
|
|
5
|
+
cron: string | undefined;
|
|
6
|
+
every: string | undefined;
|
|
7
|
+
tz: string | undefined;
|
|
8
|
+
input: string | undefined;
|
|
9
|
+
name: string | undefined;
|
|
10
|
+
json: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* `flows schedule <flow.yaml|flow.ts> [--cron "<expr>" | --every <n><s|m|h|d>]
|
|
14
|
+
* [--tz <IANA>] [--input <json|file>] [--name <n>] [--json]`
|
|
15
|
+
*
|
|
16
|
+
* With neither `--cron` nor `--every`, the flow's own `schedule.*` handler
|
|
17
|
+
* supplies the cron, so a declared schedule and its hosted registration
|
|
18
|
+
* cannot drift.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseCloudScheduleArgs(args: readonly string[]): CloudScheduleArgs | undefined;
|
|
21
|
+
export declare function runCloudScheduleCli(args: CloudScheduleArgs, io: CliIo): Promise<0 | 1 | 2>;
|
|
22
|
+
export declare function runCloudSchedulesCli({ json }: {
|
|
23
|
+
json: boolean;
|
|
24
|
+
}, io: CliIo): Promise<0 | 1 | 2>;
|
|
25
|
+
export declare function runCloudUnscheduleCli({ scheduleId, json }: {
|
|
26
|
+
scheduleId: string;
|
|
27
|
+
json: boolean;
|
|
28
|
+
}, io: CliIo): Promise<0 | 1 | 2>;
|
|
29
|
+
//# sourceMappingURL=cloud-schedule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-schedule.d.ts","sourceRoot":"","sources":["../../src/cli/cloud-schedule.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,GAAG,SAAS,CA6B7F;AAQD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CA+BhG;AAED,wBAAsB,oBAAoB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAarG;AAED,wBAAsB,qBAAqB,CACzC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,EAAE,KAAK,GACrE,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAQpB"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { CloudFlowError } from '../cloud-http.js';
|
|
2
|
+
import { listCloudSchedules, scheduleInCloud, unscheduleInCloud } from '../cloud-schedule.js';
|
|
3
|
+
import { DirectInputError, isAuthoredFlowPath, parseDirectInput } from '../direct-input.js';
|
|
4
|
+
import { snapshotJsonValue } from '../json-value.js';
|
|
5
|
+
/**
|
|
6
|
+
* `flows schedule <flow.yaml|flow.ts> [--cron "<expr>" | --every <n><s|m|h|d>]
|
|
7
|
+
* [--tz <IANA>] [--input <json|file>] [--name <n>] [--json]`
|
|
8
|
+
*
|
|
9
|
+
* With neither `--cron` nor `--every`, the flow's own `schedule.*` handler
|
|
10
|
+
* supplies the cron, so a declared schedule and its hosted registration
|
|
11
|
+
* cannot drift.
|
|
12
|
+
*/
|
|
13
|
+
export function parseCloudScheduleArgs(args) {
|
|
14
|
+
let value;
|
|
15
|
+
const flags = {
|
|
16
|
+
cron: undefined, every: undefined, tz: undefined, input: undefined, name: undefined,
|
|
17
|
+
};
|
|
18
|
+
let json = false;
|
|
19
|
+
for (let i = 0; i < args.length; i++) {
|
|
20
|
+
const arg = args[i];
|
|
21
|
+
if (arg === '--json') {
|
|
22
|
+
if (json)
|
|
23
|
+
return undefined;
|
|
24
|
+
json = true;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
if (arg === '--cron' || arg === '--every' || arg === '--tz' || arg === '--input' || arg === '--name') {
|
|
28
|
+
const key = arg.slice(2);
|
|
29
|
+
const next = args[i + 1];
|
|
30
|
+
// A cron expression legitimately starts with `*`; only a flag-shaped value is refused.
|
|
31
|
+
if (flags[key] !== undefined || next === undefined || next.startsWith('--'))
|
|
32
|
+
return undefined;
|
|
33
|
+
flags[key] = next;
|
|
34
|
+
i += 1;
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (arg.startsWith('-') || value !== undefined)
|
|
38
|
+
return undefined;
|
|
39
|
+
value = arg;
|
|
40
|
+
}
|
|
41
|
+
if (value === undefined)
|
|
42
|
+
return undefined;
|
|
43
|
+
if (flags.cron !== undefined && flags.every !== undefined)
|
|
44
|
+
return undefined;
|
|
45
|
+
if (flags.input !== undefined && !isAuthoredFlowPath(value))
|
|
46
|
+
return undefined;
|
|
47
|
+
return { command: 'schedule', value, ...flags, json };
|
|
48
|
+
}
|
|
49
|
+
function describe(schedule) {
|
|
50
|
+
const last = schedule.lastTriggeredAt === undefined ? ''
|
|
51
|
+
: ` last ${schedule.lastTriggeredAt}${schedule.lastTriggerStatus === undefined ? '' : ` (${schedule.lastTriggerStatus})`}`;
|
|
52
|
+
return `${schedule.id} ${schedule.status} ${JSON.stringify(schedule.name)} cron "${schedule.cronExpression}" tz ${schedule.timezone}${last}`;
|
|
53
|
+
}
|
|
54
|
+
export async function runCloudScheduleCli(args, io) {
|
|
55
|
+
try {
|
|
56
|
+
let input;
|
|
57
|
+
let inputPresent = false;
|
|
58
|
+
if (isAuthoredFlowPath(args.value)) {
|
|
59
|
+
try {
|
|
60
|
+
input = snapshotJsonValue(parseDirectInput(args.input), 'Cloud authored input');
|
|
61
|
+
inputPresent = true;
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (error instanceof DirectInputError)
|
|
65
|
+
throw new CloudFlowError('invalid_input', error.message);
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const schedule = await scheduleInCloud({
|
|
70
|
+
flow: { path: args.value },
|
|
71
|
+
...(args.cron === undefined ? {} : { cron: args.cron }),
|
|
72
|
+
...(args.every === undefined ? {} : { every: args.every }),
|
|
73
|
+
...(args.tz === undefined ? {} : { tz: args.tz }),
|
|
74
|
+
...(args.name === undefined ? {} : { name: args.name }),
|
|
75
|
+
...(inputPresent ? { input } : {}),
|
|
76
|
+
});
|
|
77
|
+
if (args.json) {
|
|
78
|
+
io.stdout(JSON.stringify({ ok: true, ...schedule }));
|
|
79
|
+
return 0;
|
|
80
|
+
}
|
|
81
|
+
io.stdout(`SCHEDULED ${describe(schedule)}`);
|
|
82
|
+
io.stdout('Each fire submits this exact source through the same admission as flows run --cloud; list with: flows schedules');
|
|
83
|
+
return 0;
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
return reportFailure(error, args.json, io);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export async function runCloudSchedulesCli({ json }, io) {
|
|
90
|
+
try {
|
|
91
|
+
const schedules = await listCloudSchedules();
|
|
92
|
+
if (json) {
|
|
93
|
+
io.stdout(JSON.stringify({ ok: true, schedules }));
|
|
94
|
+
return 0;
|
|
95
|
+
}
|
|
96
|
+
if (schedules.length === 0)
|
|
97
|
+
io.stdout('No workflow schedules in this workspace.');
|
|
98
|
+
for (const schedule of schedules)
|
|
99
|
+
io.stdout(describe(schedule));
|
|
100
|
+
return 0;
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
return reportFailure(error, json, io);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export async function runCloudUnscheduleCli({ scheduleId, json }, io) {
|
|
107
|
+
try {
|
|
108
|
+
await unscheduleInCloud(scheduleId);
|
|
109
|
+
io.stdout(json ? JSON.stringify({ ok: true, scheduleId, deleted: true }) : `UNSCHEDULED ${scheduleId}`);
|
|
110
|
+
return 0;
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
return reportFailure(error, json, io);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function reportFailure(error, json, io) {
|
|
117
|
+
const code = error instanceof CloudFlowError ? error.code : 'cloud_schedule_failed';
|
|
118
|
+
let message = error instanceof Error ? error.message : 'Cloud schedule failed.';
|
|
119
|
+
// The schedule routes take a browser session or a `cli:auth` token.
|
|
120
|
+
if (error instanceof CloudFlowError && error.status === 403) {
|
|
121
|
+
message += ' Scheduling needs an interactive `cli:auth` credential: run `agent-relay cloud login`.';
|
|
122
|
+
}
|
|
123
|
+
if (json)
|
|
124
|
+
io.stdout(JSON.stringify({ ok: false, code, message }));
|
|
125
|
+
else
|
|
126
|
+
io.stderr(`${code}: ${message}`);
|
|
127
|
+
return error instanceof CloudFlowError
|
|
128
|
+
&& (['configuration', 'unsupported_source', 'invalid_input'].includes(error.code) || error.status === 403 || error.status === 401)
|
|
129
|
+
? 2 : 1;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=cloud-schedule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-schedule.js","sourceRoot":"","sources":["../../src/cli/cloud-schedule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CliIo } from '../cli.js';
|
|
2
|
+
/**
|
|
3
|
+
* `flows sync <run-id>`: fetch the diff a hosted run left in its synced tree
|
|
4
|
+
* and apply it here. The patch is the sandbox's own `git diff` against the
|
|
5
|
+
* uploaded baseline, so applying it reproduces exactly what the run's steps
|
|
6
|
+
* wrote — no re-execution, no re-upload.
|
|
7
|
+
*/
|
|
8
|
+
export declare function runCloudSyncCli({ runId, json, root }: {
|
|
9
|
+
runId: string;
|
|
10
|
+
json: boolean;
|
|
11
|
+
root: string;
|
|
12
|
+
}, io: CliIo): Promise<0 | 1 | 2>;
|
|
13
|
+
//# sourceMappingURL=cloud-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-sync.d.ts","sourceRoot":"","sources":["../../src/cli/cloud-sync.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACrE,EAAE,EAAE,KAAK,GACR,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAuBpB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CloudFlowError } from '../cloud-http.js';
|
|
2
|
+
import { applyCloudPatch, downloadCloudPatch, patchedPaths } from '../cloud-sync.js';
|
|
3
|
+
/**
|
|
4
|
+
* `flows sync <run-id>`: fetch the diff a hosted run left in its synced tree
|
|
5
|
+
* and apply it here. The patch is the sandbox's own `git diff` against the
|
|
6
|
+
* uploaded baseline, so applying it reproduces exactly what the run's steps
|
|
7
|
+
* wrote — no re-execution, no re-upload.
|
|
8
|
+
*/
|
|
9
|
+
export async function runCloudSyncCli({ runId, json, root }, io) {
|
|
10
|
+
try {
|
|
11
|
+
const { patch, hasChanges } = await downloadCloudPatch(runId, {});
|
|
12
|
+
if (!hasChanges || !patch.trim()) {
|
|
13
|
+
if (json)
|
|
14
|
+
io.stdout(JSON.stringify({ ok: true, runId, hasChanges: false, applied: false }));
|
|
15
|
+
else
|
|
16
|
+
io.stdout(`NO CHANGES ${runId}`);
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
applyCloudPatch(root, patch);
|
|
20
|
+
const files = patchedPaths(patch);
|
|
21
|
+
if (json)
|
|
22
|
+
io.stdout(JSON.stringify({ ok: true, runId, hasChanges: true, applied: true, files }));
|
|
23
|
+
else {
|
|
24
|
+
io.stdout(`APPLIED ${runId}: ${files.length} file${files.length === 1 ? '' : 's'}${files.length ? `\n ${files.join('\n ')}` : ''}`);
|
|
25
|
+
io.stdout('Applied to the working tree, uncommitted: review with git diff before keeping it.');
|
|
26
|
+
}
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
const code = error instanceof CloudFlowError ? error.code : 'cloud_sync_failed';
|
|
31
|
+
const message = error instanceof Error ? error.message : 'Cloud sync failed.';
|
|
32
|
+
if (json)
|
|
33
|
+
io.stdout(JSON.stringify({ ok: false, code, message, runId }));
|
|
34
|
+
else
|
|
35
|
+
io.stderr(`${code}: ${message} (run ${runId})`);
|
|
36
|
+
return error instanceof CloudFlowError && ['configuration', 'sync_unsupported', 'patch_conflict'].includes(error.code) ? 2 : 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=cloud-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-sync.js","sourceRoot":"","sources":["../../src/cli/cloud-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAkD,EACrE,EAAS;IAET,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACjC,IAAI,IAAI;gBAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;;gBACvF,EAAE,CAAC,MAAM,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,IAAI;YAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;aAC5F,CAAC;YACJ,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtI,EAAE,CAAC,MAAM,CAAC,mFAAmF,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,KAAK,YAAY,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAChF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC9E,IAAI,IAAI;YAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;;YACpE,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC;QACrD,OAAO,KAAK,YAAY,cAAc,IAAI,CAAC,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjI,CAAC;AACH,CAAC"}
|
package/dist/cli/direct-run.js
CHANGED
|
@@ -147,7 +147,7 @@ export async function runDirectFlow(path, inputArgument, dataDir, options = {})
|
|
|
147
147
|
// diagnostic carried up from `classifyOutcome` already names the step, its
|
|
148
148
|
// exit code and its output tail; this branch is what lets it reach the
|
|
149
149
|
// terminal. `resumeFlow` takes the same branch, through the same helper.
|
|
150
|
-
if (error instanceof AuthoredFlowExecutionError && error.code === 'step_failed') {
|
|
150
|
+
if (error instanceof AuthoredFlowExecutionError && (error.code === 'step_failed' || error.code === 'gate_failed')) {
|
|
151
151
|
return authoredStepFailure('run', base, socketPath, error);
|
|
152
152
|
}
|
|
153
153
|
const runId = error instanceof AuthoredFlowExecutionError ? error.runId : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-run.js","sourceRoot":"","sources":["../../src/cli/direct-run.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"direct-run.js","sourceRoot":"","sources":["../../src/cli/direct-run.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/run.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export interface ParkedStep {
|
|
|
14
14
|
type: Extract<StepType, 'llm' | 'agent'>;
|
|
15
15
|
}
|
|
16
16
|
export interface RunDiagnostic extends StepFailedDetails {
|
|
17
|
-
severity: 'refusal' | 'failure' | 'parked' | 'warning';
|
|
17
|
+
severity: 'refusal' | 'failure' | 'parked' | 'warning' | 'declined';
|
|
18
18
|
kind: RunFailureKind | RunWarningKind | RunCompletionReason;
|
|
19
19
|
message: string;
|
|
20
20
|
}
|
package/dist/cli/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGhF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAAE,aAAa,EAAwB,MAAM,sBAAsB,CAAC;AAI3E,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,SAAS,EACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
|