@relayflows/sdk 2.0.16 → 2.0.18

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.
Files changed (184) hide show
  1. package/dist/authored-flow-error.d.ts +21 -1
  2. package/dist/authored-flow-error.d.ts.map +1 -1
  3. package/dist/authored-flow-error.js +14 -0
  4. package/dist/authored-flow-error.js.map +1 -1
  5. package/dist/authored-flow-executor.d.ts.map +1 -1
  6. package/dist/authored-flow-executor.js +133 -3
  7. package/dist/authored-flow-executor.js.map +1 -1
  8. package/dist/authored-flow-lifecycle.d.ts +10 -0
  9. package/dist/authored-flow-lifecycle.d.ts.map +1 -1
  10. package/dist/authored-flow-lifecycle.js +7 -0
  11. package/dist/authored-flow-lifecycle.js.map +1 -1
  12. package/dist/authored-flow-operation.d.ts +11 -0
  13. package/dist/authored-flow-operation.d.ts.map +1 -1
  14. package/dist/authored-flow-operation.js +32 -7
  15. package/dist/authored-flow-operation.js.map +1 -1
  16. package/dist/authored-human.d.ts +49 -0
  17. package/dist/authored-human.d.ts.map +1 -0
  18. package/dist/authored-human.js +97 -0
  19. package/dist/authored-human.js.map +1 -0
  20. package/dist/authored-node-entry.js +3 -2
  21. package/dist/authored-node-entry.js.map +1 -1
  22. package/dist/authored-node-runner.d.ts.map +1 -1
  23. package/dist/authored-node-runner.js +52 -18
  24. package/dist/authored-node-runner.js.map +1 -1
  25. package/dist/authored-root.d.ts.map +1 -1
  26. package/dist/authored-root.js +29 -1
  27. package/dist/authored-root.js.map +1 -1
  28. package/dist/authored-worker-step.d.ts.map +1 -1
  29. package/dist/authored-worker-step.js +14 -25
  30. package/dist/authored-worker-step.js.map +1 -1
  31. package/dist/cli/answer.d.ts +17 -0
  32. package/dist/cli/answer.d.ts.map +1 -0
  33. package/dist/cli/answer.js +89 -0
  34. package/dist/cli/answer.js.map +1 -0
  35. package/dist/cli/build.js +1 -1
  36. package/dist/cli/build.js.map +1 -1
  37. package/dist/cli/check-triggers.d.ts.map +1 -1
  38. package/dist/cli/check-triggers.js +12 -0
  39. package/dist/cli/check-triggers.js.map +1 -1
  40. package/dist/cli/check.d.ts +25 -0
  41. package/dist/cli/check.d.ts.map +1 -1
  42. package/dist/cli/check.js +14 -2
  43. package/dist/cli/check.js.map +1 -1
  44. package/dist/cli/cloud-connect-cli.d.ts +54 -0
  45. package/dist/cli/cloud-connect-cli.d.ts.map +1 -0
  46. package/dist/cli/cloud-connect-cli.js +109 -0
  47. package/dist/cli/cloud-connect-cli.js.map +1 -0
  48. package/dist/cli/cloud-deploy.d.ts +3 -1
  49. package/dist/cli/cloud-deploy.d.ts.map +1 -1
  50. package/dist/cli/cloud-deploy.js +44 -6
  51. package/dist/cli/cloud-deploy.js.map +1 -1
  52. package/dist/cli/cloud-run.d.ts +2 -1
  53. package/dist/cli/cloud-run.d.ts.map +1 -1
  54. package/dist/cli/cloud-run.js +17 -3
  55. package/dist/cli/cloud-run.js.map +1 -1
  56. package/dist/cli/cloud-schedule.d.ts +31 -0
  57. package/dist/cli/cloud-schedule.d.ts.map +1 -0
  58. package/dist/cli/cloud-schedule.js +156 -0
  59. package/dist/cli/cloud-schedule.js.map +1 -0
  60. package/dist/cli/direct-run.d.ts.map +1 -1
  61. package/dist/cli/direct-run.js +6 -2
  62. package/dist/cli/direct-run.js.map +1 -1
  63. package/dist/cli/run.d.ts +22 -2
  64. package/dist/cli/run.d.ts.map +1 -1
  65. package/dist/cli/run.js +39 -4
  66. package/dist/cli/run.js.map +1 -1
  67. package/dist/cli.d.ts.map +1 -1
  68. package/dist/cli.js +148 -8
  69. package/dist/cli.js.map +1 -1
  70. package/dist/cloud-connect.d.ts +52 -0
  71. package/dist/cloud-connect.d.ts.map +1 -0
  72. package/dist/cloud-connect.js +138 -0
  73. package/dist/cloud-connect.js.map +1 -0
  74. package/dist/cloud-deploy.d.ts +19 -1
  75. package/dist/cloud-deploy.d.ts.map +1 -1
  76. package/dist/cloud-deploy.js +52 -2
  77. package/dist/cloud-deploy.js.map +1 -1
  78. package/dist/cloud-http.d.ts +17 -2
  79. package/dist/cloud-http.d.ts.map +1 -1
  80. package/dist/cloud-http.js +44 -8
  81. package/dist/cloud-http.js.map +1 -1
  82. package/dist/cloud-run.d.ts +30 -0
  83. package/dist/cloud-run.d.ts.map +1 -1
  84. package/dist/cloud-run.js +70 -27
  85. package/dist/cloud-run.js.map +1 -1
  86. package/dist/cloud-schedule.d.ts +55 -0
  87. package/dist/cloud-schedule.d.ts.map +1 -0
  88. package/dist/cloud-schedule.js +146 -0
  89. package/dist/cloud-schedule.js.map +1 -0
  90. package/dist/failure-kinds.d.ts +3 -3
  91. package/dist/failure-kinds.d.ts.map +1 -1
  92. package/dist/failure-kinds.js +4 -0
  93. package/dist/failure-kinds.js.map +1 -1
  94. package/dist/flow-requirements.d.ts +68 -0
  95. package/dist/flow-requirements.d.ts.map +1 -0
  96. package/dist/flow-requirements.js +152 -0
  97. package/dist/flow-requirements.js.map +1 -0
  98. package/dist/index.d.ts +5 -0
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +5 -0
  101. package/dist/index.js.map +1 -1
  102. package/dist/journal-client.d.ts +11 -0
  103. package/dist/journal-client.d.ts.map +1 -1
  104. package/dist/journal-client.js +13 -0
  105. package/dist/journal-client.js.map +1 -1
  106. package/dist/named-gate-lowering.js +9 -0
  107. package/dist/named-gate-lowering.js.map +1 -1
  108. package/dist/named-gates.d.ts +1 -1
  109. package/dist/named-gates.d.ts.map +1 -1
  110. package/dist/named-gates.js +11 -1
  111. package/dist/named-gates.js.map +1 -1
  112. package/dist/preflight.d.ts.map +1 -1
  113. package/dist/preflight.js +155 -9
  114. package/dist/preflight.js.map +1 -1
  115. package/dist/progress.d.ts +2 -1
  116. package/dist/progress.d.ts.map +1 -1
  117. package/dist/progress.js +9 -3
  118. package/dist/progress.js.map +1 -1
  119. package/dist/protocol.d.ts +25 -1
  120. package/dist/protocol.d.ts.map +1 -1
  121. package/dist/schedule-trigger.d.ts +35 -0
  122. package/dist/schedule-trigger.d.ts.map +1 -0
  123. package/dist/schedule-trigger.js +53 -0
  124. package/dist/schedule-trigger.js.map +1 -0
  125. package/dist/spec.d.ts +11 -1
  126. package/dist/spec.d.ts.map +1 -1
  127. package/dist/spec.js.map +1 -1
  128. package/dist/trigger-executor.js +1 -1
  129. package/dist/trigger-executor.js.map +1 -1
  130. package/dist/validate.js +1 -1
  131. package/dist/validate.js.map +1 -1
  132. package/dist/worker-cli.d.ts +10 -0
  133. package/dist/worker-cli.d.ts.map +1 -1
  134. package/dist/worker-cli.js +51 -22
  135. package/dist/worker-cli.js.map +1 -1
  136. package/dist/worker.d.ts.map +1 -1
  137. package/dist/worker.js +9 -0
  138. package/dist/worker.js.map +1 -1
  139. package/dist/wrapper-session.d.ts +3 -1
  140. package/dist/wrapper-session.d.ts.map +1 -1
  141. package/dist/wrapper-session.js +6 -3
  142. package/dist/wrapper-session.js.map +1 -1
  143. package/package.json +3 -3
  144. package/src/authored-flow-error.ts +30 -0
  145. package/src/authored-flow-executor.ts +141 -2
  146. package/src/authored-flow-lifecycle.ts +7 -0
  147. package/src/authored-flow-operation.ts +35 -10
  148. package/src/authored-human.ts +150 -0
  149. package/src/authored-node-entry.ts +3 -2
  150. package/src/authored-node-runner.ts +55 -18
  151. package/src/authored-root.ts +28 -1
  152. package/src/authored-worker-step.ts +15 -26
  153. package/src/cli/answer.ts +98 -0
  154. package/src/cli/build.ts +1 -1
  155. package/src/cli/check-triggers.ts +11 -0
  156. package/src/cli/check.ts +39 -2
  157. package/src/cli/cloud-connect-cli.ts +130 -0
  158. package/src/cli/cloud-deploy.ts +40 -6
  159. package/src/cli/cloud-run.ts +16 -4
  160. package/src/cli/cloud-schedule.ts +160 -0
  161. package/src/cli/direct-run.ts +6 -1
  162. package/src/cli/run.ts +53 -5
  163. package/src/cli.ts +134 -9
  164. package/src/cloud-connect.ts +187 -0
  165. package/src/cloud-deploy.ts +69 -3
  166. package/src/cloud-http.ts +52 -8
  167. package/src/cloud-run.ts +99 -26
  168. package/src/cloud-schedule.ts +175 -0
  169. package/src/failure-kinds.ts +4 -0
  170. package/src/flow-requirements.ts +201 -0
  171. package/src/index.ts +14 -0
  172. package/src/journal-client.ts +20 -0
  173. package/src/named-gate-lowering.ts +9 -0
  174. package/src/named-gates.ts +11 -1
  175. package/src/preflight.ts +132 -9
  176. package/src/progress.ts +11 -4
  177. package/src/protocol.ts +23 -0
  178. package/src/schedule-trigger.ts +73 -0
  179. package/src/spec.ts +12 -1
  180. package/src/trigger-executor.ts +1 -1
  181. package/src/validate.ts +1 -1
  182. package/src/worker-cli.ts +41 -0
  183. package/src/worker.ts +9 -0
  184. package/src/wrapper-session.ts +5 -1
@@ -0,0 +1,109 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { dirname, resolve } from 'node:path';
3
+ import { createInterface } from 'node:readline';
4
+ import { parse as parseYaml } from 'yaml';
5
+ import { loadAuthoredFlow } from '../authored-flow-loader.js';
6
+ import { ensureIntegrationsConnected } from '../cloud-connect.js';
7
+ import { CloudFlowError, cloudRequest, isCloudRecord } from '../cloud-http.js';
8
+ import { CompileError, compileSpec, kernelToAuthoring } from '../compile.js';
9
+ import { FLOW_HARNESSES, flowRequirements } from '../flow-requirements.js';
10
+ import { readProjectConfig } from './check.js';
11
+ export async function flowRequirementsForPath(path, context = {}) {
12
+ const projectCli = context.projectCli ?? projectCliFor(path);
13
+ const withCli = { ...context, ...(projectCli === undefined ? {} : { projectCli }) };
14
+ try {
15
+ if (/\.flow\.ts$/iu.test(path)) {
16
+ const loaded = await loadAuthoredFlow(path);
17
+ return flowRequirements(loaded.getDefinition(loaded.handle), withCli);
18
+ }
19
+ if (!/\.(?:ya?ml|json)$/iu.test(path))
20
+ return undefined;
21
+ const parsed = parseYaml(await readFile(path, 'utf8'));
22
+ let spec;
23
+ try {
24
+ spec = compileSpec(parsed);
25
+ }
26
+ catch (error) {
27
+ if (!(error instanceof CompileError))
28
+ throw error;
29
+ spec = compileSpec(kernelToAuthoring(parsed));
30
+ }
31
+ return flowRequirements(spec, withCli);
32
+ }
33
+ catch {
34
+ return undefined;
35
+ }
36
+ }
37
+ function projectCliFor(path) {
38
+ try {
39
+ return readProjectConfig(dirname(resolve(path))).cli;
40
+ }
41
+ catch {
42
+ return undefined;
43
+ }
44
+ }
45
+ /** `whoami`'s current workspace: the one every hosted verb submits into. */
46
+ export async function currentWorkspaceId(options) {
47
+ const whoami = await cloudRequest('/api/v1/auth/whoami', options);
48
+ const workspace = isCloudRecord(whoami) && isCloudRecord(whoami.currentWorkspace) ? whoami.currentWorkspace : undefined;
49
+ if (workspace === undefined || typeof workspace.id !== 'string' || !workspace.id) {
50
+ throw new CloudFlowError('invalid_response', 'Cloud did not report a current workspace for this credential.');
51
+ }
52
+ return workspace.id;
53
+ }
54
+ /**
55
+ * Connects (or refuses on) every integration `path` requires. Nothing is
56
+ * contacted when the flow requires no integration, so a flow with no
57
+ * helpers, sources or repository submits exactly as before; the derived
58
+ * requirements still come back so a later harness refusal can name its remedy.
59
+ * `undefined` only when the source does not load — the submission says why.
60
+ */
61
+ export async function ensureFlowConnections(input, options = {}) {
62
+ const requirements = await flowRequirementsForPath(input.path, input);
63
+ if (requirements === undefined)
64
+ return undefined;
65
+ if (requirements.integrations.length === 0)
66
+ return { requirements, outcome: { ready: [], connected: [] } };
67
+ const workspaceId = input.workspaceId ?? await currentWorkspaceId(options);
68
+ const outcome = await ensureIntegrationsConnected(requirements, {
69
+ ...options, workspaceId, ...(input.prompt === undefined ? {} : { prompt: input.prompt }),
70
+ });
71
+ return { requirements, outcome };
72
+ }
73
+ /**
74
+ * A terminal prompt, or nothing. `--json` output is for a machine, and a
75
+ * pipe cannot answer a question, so both refuse instead of asking; `--no-connect`
76
+ * is the explicit form of the same choice.
77
+ */
78
+ export function cliConnectPrompt(io, { noConnect, json }, streams = { stdin: process.stdin, stdout: process.stdout }) {
79
+ if (noConnect || json || !streams.stdin.isTTY || !streams.stdout.isTTY)
80
+ return undefined;
81
+ return {
82
+ info: line => io.stderr(line),
83
+ confirm: question => new Promise(resolveAnswer => {
84
+ const rl = createInterface({ input: streams.stdin, output: streams.stdout });
85
+ rl.question(question, answer => {
86
+ rl.close();
87
+ resolveAnswer(/^\s*(?:y(?:es)?)?\s*$/iu.test(answer));
88
+ });
89
+ }),
90
+ };
91
+ }
92
+ /**
93
+ * Cloud refuses a run or activation whose coding-agent credential is missing
94
+ * (`flow_model_not_connected`, `cli_credentials_missing`); there is no status
95
+ * route to ask first, so the refusal is where the remedy is named.
96
+ */
97
+ export function harnessRemedy(error, harnesses) {
98
+ if (!(error instanceof CloudFlowError) || error.refusal === undefined)
99
+ return '';
100
+ if (!['flow_model_not_connected', 'cli_credentials_missing'].includes(error.refusal.code))
101
+ return '';
102
+ if (/agent-relay cloud connect/u.test(error.refusal.error))
103
+ return '';
104
+ const message = error.refusal.error.toLowerCase();
105
+ const named = FLOW_HARNESSES.filter(harness => message.includes(harness));
106
+ const targets = named.length > 0 ? named : harnesses.length > 0 ? harnesses : ['claude'];
107
+ return ` Connect it with: ${targets.map(harness => `agent-relay cloud connect ${harness}`).join('; ')}.`;
108
+ }
109
+ //# sourceMappingURL=cloud-connect-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-connect-cli.js","sourceRoot":"","sources":["../../src/cli/cloud-connect-cli.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,13 @@ export interface CloudDeployArgs {
8
8
  name: string | undefined;
9
9
  agents: string | undefined;
10
10
  draft: boolean;
11
+ /** Refuse a missing integration instead of offering to connect it. */
12
+ noConnect: boolean;
11
13
  json: boolean;
12
14
  }
13
15
  /**
14
16
  * `flows deploy <flow.ts> --repo <owner/name> --on <provider>[:k=v,…] [--on …]
15
- * --approver <handle> [--name <n>] [--json]`
17
+ * --approver <handle> [--name <n>] [--agents <list>] [--draft] [--no-connect] [--json]`
16
18
  *
17
19
  * Parsed here rather than in `parseDeployArgs` because the two `deploy` forms
18
20
  * share nothing but the word: the digest form copies a sealed bundle into a
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-deploy.d.ts","sourceRoot":"","sources":["../../src/cli/cloud-deploy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,GAAG,SAAS,CA4CzF;AAOD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CA8B5F;AAED,wBAAsB,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAoBvG;AAED,wBAAsB,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAQ9H"}
1
+ {"version":3,"file":"cloud-deploy.d.ts","sourceRoot":"","sources":["../../src/cli/cloud-deploy.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,GAAG,SAAS,CAkDzF;AAOD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CA0C5F;AAWD,wBAAsB,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAoBvG;AAED,wBAAsB,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAQ9H"}
@@ -1,8 +1,10 @@
1
1
  import { CloudFlowError } from '../cloud-http.js';
2
2
  import { deployToCloud, listCloudDeployments, parseAgentHarnesses, parseRepository, parseTriggerSource, undeployFromCloud, } from '../cloud-deploy.js';
3
+ import { describeFlowRequirements } from '../flow-requirements.js';
4
+ import { cliConnectPrompt, flowRequirementsForPath, harnessRemedy } from './cloud-connect-cli.js';
3
5
  /**
4
6
  * `flows deploy <flow.ts> --repo <owner/name> --on <provider>[:k=v,…] [--on …]
5
- * --approver <handle> [--name <n>] [--json]`
7
+ * --approver <handle> [--name <n>] [--agents <list>] [--draft] [--no-connect] [--json]`
6
8
  *
7
9
  * Parsed here rather than in `parseDeployArgs` because the two `deploy` forms
8
10
  * share nothing but the word: the digest form copies a sealed bundle into a
@@ -15,6 +17,7 @@ export function parseCloudDeployArgs(args) {
15
17
  let name;
16
18
  let agents;
17
19
  let draft = false;
20
+ let noConnect = false;
18
21
  let json = false;
19
22
  const on = [];
20
23
  for (let i = 0; i < args.length; i++) {
@@ -31,6 +34,12 @@ export function parseCloudDeployArgs(args) {
31
34
  draft = true;
32
35
  continue;
33
36
  }
37
+ if (arg === '--no-connect') {
38
+ if (noConnect)
39
+ return undefined;
40
+ noConnect = true;
41
+ continue;
42
+ }
34
43
  if (arg === '--agents') {
35
44
  const next = args[i + 1];
36
45
  if (agents !== undefined || next === undefined || next.startsWith('-'))
@@ -71,17 +80,27 @@ export function parseCloudDeployArgs(args) {
71
80
  }
72
81
  if (value === undefined || repo === undefined || on.length === 0)
73
82
  return undefined;
74
- return { command: 'cloud-deploy', value, repo, on, approver, name, agents, draft, json };
83
+ return { command: 'cloud-deploy', value, repo, on, approver, name, agents, draft, noConnect, json };
75
84
  }
76
85
  function describeSource(source) {
77
86
  const settings = Object.entries(source.settings).map(([k, v]) => `${k}=${v}`).join(' ');
78
87
  return settings ? `${source.provider} ${settings}` : source.provider;
79
88
  }
80
89
  export async function runCloudDeployCli(args, io) {
90
+ const agents = args.agents === undefined ? undefined : parseAgentHarnessesOr(args.agents);
91
+ // What the source declares, so a harness refusal names the right remedy
92
+ // even when `--agents` was not given; the loader's own failure is reported
93
+ // by deployToCloud, not here.
94
+ let harnesses = agents instanceof CloudFlowError ? [] : agents ?? [];
81
95
  try {
82
96
  if (args.approver === undefined) {
83
97
  throw new CloudFlowError('invalid_input', '--approver <handle> is required: every launched run receives it as input.approver for f.human.');
84
98
  }
99
+ if (agents instanceof CloudFlowError)
100
+ throw agents;
101
+ const connect = cliConnectPrompt(io, { noConnect: args.noConnect, json: args.json });
102
+ if (agents === undefined)
103
+ harnesses = (await flowRequirementsForPath(args.value))?.harnesses ?? [];
85
104
  const deployment = await deployToCloud({
86
105
  path: args.value,
87
106
  repository: parseRepository(args.repo),
@@ -89,7 +108,8 @@ export async function runCloudDeployCli(args, io) {
89
108
  approver: args.approver,
90
109
  draft: args.draft,
91
110
  ...(args.name === undefined ? {} : { name: args.name }),
92
- ...(args.agents === undefined ? {} : { agents: parseAgentHarnesses(args.agents) }),
111
+ ...(agents === undefined ? {} : { agents }),
112
+ ...(connect === undefined ? {} : { connect }),
93
113
  });
94
114
  if (args.json) {
95
115
  io.stdout(JSON.stringify({ ok: true, ...deployment }));
@@ -100,13 +120,28 @@ export async function runCloudDeployCli(args, io) {
100
120
  io.stdout(` repository: ${deployment.repository.owner}/${deployment.repository.name}`);
101
121
  for (const source of deployment.sources)
102
122
  io.stdout(` on: ${describeSource(source)}`);
123
+ const requires = describeFlowRequirements(deployment.requirements);
124
+ if (requires)
125
+ io.stdout(` requires: ${requires}`);
126
+ for (const provider of deployment.connected)
127
+ io.stdout(` connected: ${provider}`);
103
128
  io.stdout(deployment.status === 'draft'
104
129
  ? 'Saved without activating; activate it from the Cloud dashboard, or redeploy without --draft.'
105
130
  : 'Each matching ticket launches a run of this source in a fresh branch; list with: flows deployments');
106
131
  return 0;
107
132
  }
108
133
  catch (error) {
109
- return reportCloudFailure(error, args.json, io);
134
+ return reportCloudFailure(error, args.json, io, harnesses);
135
+ }
136
+ }
137
+ function parseAgentHarnessesOr(value) {
138
+ try {
139
+ return parseAgentHarnesses(value);
140
+ }
141
+ catch (error) {
142
+ if (error instanceof CloudFlowError)
143
+ return error;
144
+ throw error;
110
145
  }
111
146
  }
112
147
  export async function runCloudDeploymentsCli({ json }, io) {
@@ -142,9 +177,11 @@ export async function runCloudUndeployCli({ agentId, json }, io) {
142
177
  return reportCloudFailure(error, json, io);
143
178
  }
144
179
  }
145
- function reportCloudFailure(error, json, io) {
180
+ function reportCloudFailure(error, json, io, harnesses = []) {
146
181
  const code = error instanceof CloudFlowError ? error.code : 'cloud_deploy_failed';
147
182
  let message = error instanceof Error ? error.message : 'Cloud deploy failed.';
183
+ // Cloud names the missing coding-agent credential on activation; say how it is connected.
184
+ message += harnessRemedy(error, harnesses);
148
185
  // The deploy routes take a browser session or a `cli:auth` token. A
149
186
  // deployment (CI) token gets 403 `session_required`; say what fixes it.
150
187
  if (error instanceof CloudFlowError && error.status === 403) {
@@ -156,7 +193,8 @@ function reportCloudFailure(error, json, io) {
156
193
  else
157
194
  io.stderr(`${code}: ${message}`);
158
195
  return error instanceof CloudFlowError
159
- && (['configuration', 'unsupported_source', 'invalid_input'].includes(error.code) || error.status === 403 || error.status === 401)
196
+ && (['configuration', 'unsupported_source', 'invalid_input', 'integration_not_connected'].includes(error.code)
197
+ || error.status === 403 || error.status === 401)
160
198
  ? 2 : 1;
161
199
  }
162
200
  //# sourceMappingURL=cloud-deploy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-deploy.js","sourceRoot":"","sources":["../../src/cli/cloud-deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud-deploy.js","sourceRoot":"","sources":["../../src/cli/cloud-deploy.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
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, input, syncCode }: {
3
+ export declare function runCloudCli({ value: path, json, wait, input, syncCode, noConnect }: {
4
4
  value: string;
5
5
  json: boolean;
6
6
  wait: boolean;
7
7
  input: string | undefined;
8
8
  syncCode: boolean;
9
+ noConnect?: boolean;
9
10
  }, io: CliIo): Promise<0 | 1 | 2>;
10
11
  //# 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":"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"}
1
+ {"version":3,"file":"cloud-run.d.ts","sourceRoot":"","sources":["../../src/cli/cloud-run.ts"],"names":[],"mappings":"AAKA,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,SAAiB,EAAE,EAAE;IAC/D,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;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAChH,EACD,EAAE,EAAE,KAAK,GACR,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CA4EpB"}
@@ -2,8 +2,9 @@ import { CloudFlowError } from '../cloud-http.js';
2
2
  import { runInCloud, waitForCloudFlowRun } from '../cloud-run.js';
3
3
  import { DirectInputError, isAuthoredFlowPath, parseDirectInput } from '../direct-input.js';
4
4
  import { snapshotJsonValue } from '../json-value.js';
5
+ import { cliConnectPrompt, ensureFlowConnections, harnessRemedy } from './cloud-connect-cli.js';
5
6
  /** Presentation only: the central CLI parser owns argv; the SDK owns the lifecycle. */
6
- export async function runCloudCli({ value: path, json, wait, input, syncCode }, io) {
7
+ export async function runCloudCli({ value: path, json, wait, input, syncCode, noConnect = false }, io) {
7
8
  const controller = new AbortController();
8
9
  const abort = () => controller.abort();
9
10
  process.once('SIGINT', abort);
@@ -13,6 +14,7 @@ export async function runCloudCli({ value: path, json, wait, input, syncCode },
13
14
  // packing or upload — admitted nothing and is safe to retry; only an
14
15
  // interrupted submission has unknown admission.
15
16
  let submitting = false;
17
+ let harnesses = [];
16
18
  try {
17
19
  const options = { signal: controller.signal, onSubmit: () => { submitting = true; } };
18
20
  if (isAuthoredFlowPath(path)) {
@@ -27,6 +29,17 @@ export async function runCloudCli({ value: path, json, wait, input, syncCode },
27
29
  throw error;
28
30
  }
29
31
  }
32
+ // After local validation, before anything is packed or uploaded: a helper
33
+ // the run would call against an unconnected integration is connected
34
+ // here, or refused here. A command that is going to be refused for its
35
+ // arguments must not first open a browser.
36
+ const connections = await ensureFlowConnections({
37
+ path, prompt: cliConnectPrompt(io, { noConnect, json }),
38
+ }, { signal: controller.signal });
39
+ harnesses = connections?.requirements.harnesses ?? [];
40
+ for (const provider of connections?.outcome.connected ?? [])
41
+ if (!json)
42
+ io.stdout(`CONNECTED ${provider}`);
30
43
  // The tree is the invoking directory, as with v1: the flow path is where
31
44
  // the body lives, not the boundary of what the run may read.
32
45
  if (syncCode)
@@ -65,13 +78,14 @@ export async function runCloudCli({ value: path, json, wait, input, syncCode },
65
78
  : submitting
66
79
  ? 'Submission interrupted before a receipt was received. Admission is unknown; Cloud may have started the run. Do not resubmit blindly.'
67
80
  : 'Interrupted before the run was submitted; nothing was admitted. Safe to run again.'
68
- : error instanceof Error ? error.message : 'Cloud run failed.';
81
+ : (error instanceof Error ? error.message : 'Cloud run failed.') + harnessRemedy(error, harnesses);
69
82
  if (json)
70
83
  io.stdout(JSON.stringify({ ok: false, code, message, ...(runId ? { runId } : {}) }));
71
84
  else
72
85
  io.stderr(`${code}: ${message}${runId ? ` (run ${runId})` : ''}`);
73
86
  return error instanceof CloudFlowError
74
- && (['configuration', 'unsupported_source', 'invalid_input', 'unsupported_storage_backend', 'sync_too_large', 'sync_unsupported'].includes(error.code)
87
+ && (['configuration', 'unsupported_source', 'invalid_input', 'unsupported_storage_backend', 'sync_too_large', 'sync_unsupported',
88
+ 'integration_not_connected'].includes(error.code)
75
89
  || (runId === undefined && error.code === 'http_error' && [401, 403].includes(error.status ?? 0))) ? 2 : 1;
76
90
  }
77
91
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-run.js","sourceRoot":"","sources":["../../src/cli/cloud-run.ts"],"names":[],"mappings":"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"}
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,EAA0B,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGhG,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAE5D,EACD,EAAS;IAET,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/B,IAAI,KAAyB,CAAC;IAC9B,2EAA2E;IAC3E,qEAAqE;IACrE,gDAAgD;IAChD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,SAAS,GAAsB,EAAE,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,OAAO,GAAsB,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,uEAAuE;YACvE,6CAA6C;YAC7C,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;YACrF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,gBAAgB;oBAAE,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChG,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,0EAA0E;QAC1E,qEAAqE;QACrE,uEAAuE;QACvE,2CAA2C;QAC3C,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC;YAC9C,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACxD,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAClC,SAAS,GAAG,WAAW,EAAE,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;QACtD,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAAE,IAAI,CAAC,IAAI;gBAAE,EAAE,CAAC,MAAM,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC3G,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,QAAQ;YAAE,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,EAAE,CAAC,MAAM,CAAC,YAAY,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3D,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,EAAE,CAAC,MAAM,CAAC,UAAU,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,OAAO,CAAC,MAAM,CAAC,KAAK,0CAA0C,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClI,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC/C,EAAE,CAAC,MAAM,CAAC,+BAA+B,IAAI,sDAAsD,CAAC,CAAC;gBACvG,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,IAAI;gBAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC;QACtC,IAAI,IAAI;YAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;;YAC3D,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,sBAAsB,kBAAkB,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QACjJ,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO;YACpC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB;YACzF,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACtE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO;YACvC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,2DAA2D;gBACnE,CAAC,CAAC,UAAU;oBACV,CAAC,CAAC,sIAAsI;oBACxI,CAAC,CAAC,oFAAoF;YAC1F,CAAC,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACrG,IAAI,IAAI;YAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;YAC1F,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,KAAK,YAAY,cAAc;eACjC,CAAC,CAAC,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,kBAAkB;gBAC9H,2BAA2B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;mBAC9C,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjH,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
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
+ /** Refuse a missing integration instead of offering to connect it. */
11
+ noConnect: boolean;
12
+ json: boolean;
13
+ }
14
+ /**
15
+ * `flows schedule <flow.yaml|flow.ts> [--cron "<expr>" | --every <n><s|m|h|d>]
16
+ * [--tz <IANA>] [--input <json|file>] [--name <n>] [--no-connect] [--json]`
17
+ *
18
+ * With neither `--cron` nor `--every`, the flow's own `schedule.*` handler
19
+ * supplies the cron, so a declared schedule and its hosted registration
20
+ * cannot drift.
21
+ */
22
+ export declare function parseCloudScheduleArgs(args: readonly string[]): CloudScheduleArgs | undefined;
23
+ export declare function runCloudScheduleCli(args: CloudScheduleArgs, io: CliIo): Promise<0 | 1 | 2>;
24
+ export declare function runCloudSchedulesCli({ json }: {
25
+ json: boolean;
26
+ }, io: CliIo): Promise<0 | 1 | 2>;
27
+ export declare function runCloudUnscheduleCli({ scheduleId, json }: {
28
+ scheduleId: string;
29
+ json: boolean;
30
+ }, io: CliIo): Promise<0 | 1 | 2>;
31
+ //# 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":"AAKA,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,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,GAAG,SAAS,CAmC7F;AAQD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CA6ChG;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,156 @@
1
+ import { CloudFlowError } from '../cloud-http.js';
2
+ import { listCloudSchedules, scheduleInCloud, unscheduleInCloud, validateScheduleArgs } from '../cloud-schedule.js';
3
+ import { DirectInputError, isAuthoredFlowPath, parseDirectInput } from '../direct-input.js';
4
+ import { snapshotJsonValue } from '../json-value.js';
5
+ import { cliConnectPrompt, ensureFlowConnections, harnessRemedy } from './cloud-connect-cli.js';
6
+ /**
7
+ * `flows schedule <flow.yaml|flow.ts> [--cron "<expr>" | --every <n><s|m|h|d>]
8
+ * [--tz <IANA>] [--input <json|file>] [--name <n>] [--no-connect] [--json]`
9
+ *
10
+ * With neither `--cron` nor `--every`, the flow's own `schedule.*` handler
11
+ * supplies the cron, so a declared schedule and its hosted registration
12
+ * cannot drift.
13
+ */
14
+ export function parseCloudScheduleArgs(args) {
15
+ let value;
16
+ const flags = {
17
+ cron: undefined, every: undefined, tz: undefined, input: undefined, name: undefined,
18
+ };
19
+ let json = false;
20
+ let noConnect = false;
21
+ for (let i = 0; i < args.length; i++) {
22
+ const arg = args[i];
23
+ if (arg === '--json') {
24
+ if (json)
25
+ return undefined;
26
+ json = true;
27
+ continue;
28
+ }
29
+ if (arg === '--no-connect') {
30
+ if (noConnect)
31
+ return undefined;
32
+ noConnect = true;
33
+ continue;
34
+ }
35
+ if (arg === '--cron' || arg === '--every' || arg === '--tz' || arg === '--input' || arg === '--name') {
36
+ const key = arg.slice(2);
37
+ const next = args[i + 1];
38
+ // A cron expression legitimately starts with `*`; only a flag-shaped value is refused.
39
+ if (flags[key] !== undefined || next === undefined || next.startsWith('--'))
40
+ return undefined;
41
+ flags[key] = next;
42
+ i += 1;
43
+ continue;
44
+ }
45
+ if (arg.startsWith('-') || value !== undefined)
46
+ return undefined;
47
+ value = arg;
48
+ }
49
+ if (value === undefined)
50
+ return undefined;
51
+ if (flags.cron !== undefined && flags.every !== undefined)
52
+ return undefined;
53
+ if (flags.input !== undefined && !isAuthoredFlowPath(value))
54
+ return undefined;
55
+ return { command: 'schedule', value, ...flags, noConnect, json };
56
+ }
57
+ function describe(schedule) {
58
+ const last = schedule.lastTriggeredAt === undefined ? ''
59
+ : ` last ${schedule.lastTriggeredAt}${schedule.lastTriggerStatus === undefined ? '' : ` (${schedule.lastTriggerStatus})`}`;
60
+ return `${schedule.id} ${schedule.status} ${JSON.stringify(schedule.name)} cron "${schedule.cronExpression}" tz ${schedule.timezone}${last}`;
61
+ }
62
+ export async function runCloudScheduleCli(args, io) {
63
+ let harnesses = [];
64
+ try {
65
+ let input;
66
+ let inputPresent = false;
67
+ if (isAuthoredFlowPath(args.value)) {
68
+ try {
69
+ input = snapshotJsonValue(parseDirectInput(args.input), 'Cloud authored input');
70
+ inputPresent = true;
71
+ }
72
+ catch (error) {
73
+ if (error instanceof DirectInputError)
74
+ throw new CloudFlowError('invalid_input', error.message);
75
+ throw error;
76
+ }
77
+ }
78
+ validateScheduleArgs({
79
+ ...(args.cron === undefined ? {} : { cron: args.cron }),
80
+ ...(args.every === undefined ? {} : { every: args.every }),
81
+ ...(args.tz === undefined ? {} : { tz: args.tz }),
82
+ });
83
+ // Each fire runs the flow as this workspace, so what it needs connected
84
+ // is checked once here — after the arguments are known to be good, so a
85
+ // refused command never opens a browser first — and before the schedule exists.
86
+ const connections = await ensureFlowConnections({
87
+ path: args.value, prompt: cliConnectPrompt(io, { noConnect: args.noConnect, json: args.json }),
88
+ });
89
+ harnesses = connections?.requirements.harnesses ?? [];
90
+ const schedule = await scheduleInCloud({
91
+ flow: { path: args.value },
92
+ ...(args.cron === undefined ? {} : { cron: args.cron }),
93
+ ...(args.every === undefined ? {} : { every: args.every }),
94
+ ...(args.tz === undefined ? {} : { tz: args.tz }),
95
+ ...(args.name === undefined ? {} : { name: args.name }),
96
+ ...(inputPresent ? { input } : {}),
97
+ });
98
+ if (args.json) {
99
+ io.stdout(JSON.stringify({ ok: true, ...schedule }));
100
+ return 0;
101
+ }
102
+ io.stdout(`SCHEDULED ${describe(schedule)}`);
103
+ for (const provider of connections?.outcome.connected ?? [])
104
+ io.stdout(` connected: ${provider}`);
105
+ io.stdout('Each fire submits this exact source through the same admission as flows run --cloud; list with: flows schedules');
106
+ return 0;
107
+ }
108
+ catch (error) {
109
+ return reportFailure(error, args.json, io, harnesses);
110
+ }
111
+ }
112
+ export async function runCloudSchedulesCli({ json }, io) {
113
+ try {
114
+ const schedules = await listCloudSchedules();
115
+ if (json) {
116
+ io.stdout(JSON.stringify({ ok: true, schedules }));
117
+ return 0;
118
+ }
119
+ if (schedules.length === 0)
120
+ io.stdout('No workflow schedules in this workspace.');
121
+ for (const schedule of schedules)
122
+ io.stdout(describe(schedule));
123
+ return 0;
124
+ }
125
+ catch (error) {
126
+ return reportFailure(error, json, io);
127
+ }
128
+ }
129
+ export async function runCloudUnscheduleCli({ scheduleId, json }, io) {
130
+ try {
131
+ await unscheduleInCloud(scheduleId);
132
+ io.stdout(json ? JSON.stringify({ ok: true, scheduleId, deleted: true }) : `UNSCHEDULED ${scheduleId}`);
133
+ return 0;
134
+ }
135
+ catch (error) {
136
+ return reportFailure(error, json, io);
137
+ }
138
+ }
139
+ function reportFailure(error, json, io, harnesses = []) {
140
+ const code = error instanceof CloudFlowError ? error.code : 'cloud_schedule_failed';
141
+ let message = error instanceof Error ? error.message : 'Cloud schedule failed.';
142
+ message += harnessRemedy(error, harnesses);
143
+ // The schedule routes take a browser session or a `cli:auth` token.
144
+ if (error instanceof CloudFlowError && error.status === 403) {
145
+ message += ' Scheduling needs an interactive `cli:auth` credential: run `agent-relay cloud login`.';
146
+ }
147
+ if (json)
148
+ io.stdout(JSON.stringify({ ok: false, code, message }));
149
+ else
150
+ io.stderr(`${code}: ${message}`);
151
+ return error instanceof CloudFlowError
152
+ && (['configuration', 'unsupported_source', 'invalid_input', 'integration_not_connected'].includes(error.code)
153
+ || error.status === 403 || error.status === 401)
154
+ ? 2 : 1;
155
+ }
156
+ //# 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"direct-run.d.ts","sourceRoot":"","sources":["../../src/cli/direct-run.ts"],"names":[],"mappings":"AAeA,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAEzB,MAAM,UAAU,CAAC;AAElB,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CAwJvB"}
1
+ {"version":3,"file":"direct-run.d.ts","sourceRoot":"","sources":["../../src/cli/direct-run.ts"],"names":[],"mappings":"AAgBA,OAAO,EASL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAEzB,MAAM,UAAU,CAAC;AAElB,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CA2JvB"}