@relayflows/sdk 2.0.18 → 2.0.19

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 (56) hide show
  1. package/dist/cli/build.d.ts +9 -0
  2. package/dist/cli/build.d.ts.map +1 -1
  3. package/dist/cli/build.js +25 -6
  4. package/dist/cli/build.js.map +1 -1
  5. package/dist/cli/cloud-run.d.ts +7 -1
  6. package/dist/cli/cloud-run.d.ts.map +1 -1
  7. package/dist/cli/cloud-run.js +12 -14
  8. package/dist/cli/cloud-run.js.map +1 -1
  9. package/dist/cli/cloud-sync.d.ts +8 -1
  10. package/dist/cli/cloud-sync.d.ts.map +1 -1
  11. package/dist/cli/cloud-sync.js +79 -8
  12. package/dist/cli/cloud-sync.js.map +1 -1
  13. package/dist/cli/deploy.d.ts +6 -0
  14. package/dist/cli/deploy.d.ts.map +1 -1
  15. package/dist/cli/deploy.js +29 -4
  16. package/dist/cli/deploy.js.map +1 -1
  17. package/dist/cli/serve-webhook.d.ts +7 -1
  18. package/dist/cli/serve-webhook.d.ts.map +1 -1
  19. package/dist/cli/serve-webhook.js +19 -9
  20. package/dist/cli/serve-webhook.js.map +1 -1
  21. package/dist/cli-commands.d.ts +398 -0
  22. package/dist/cli-commands.d.ts.map +1 -0
  23. package/dist/cli-commands.js +254 -0
  24. package/dist/cli-commands.js.map +1 -0
  25. package/dist/cli-watch.d.ts +3 -1
  26. package/dist/cli-watch.d.ts.map +1 -1
  27. package/dist/cli-watch.js +4 -10
  28. package/dist/cli-watch.js.map +1 -1
  29. package/dist/cli.d.ts +127 -1
  30. package/dist/cli.d.ts.map +1 -1
  31. package/dist/cli.js +81 -48
  32. package/dist/cli.js.map +1 -1
  33. package/dist/cloud-sync.d.ts +85 -2
  34. package/dist/cloud-sync.d.ts.map +1 -1
  35. package/dist/cloud-sync.js +123 -10
  36. package/dist/cloud-sync.js.map +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +1 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/relay-cli.d.ts +50 -0
  42. package/dist/relay-cli.d.ts.map +1 -0
  43. package/dist/relay-cli.js +64 -0
  44. package/dist/relay-cli.js.map +1 -0
  45. package/package.json +7 -2
  46. package/src/cli/build.ts +20 -6
  47. package/src/cli/cloud-run.ts +11 -12
  48. package/src/cli/cloud-sync.ts +85 -8
  49. package/src/cli/deploy.ts +27 -5
  50. package/src/cli/serve-webhook.ts +15 -8
  51. package/src/cli-commands.ts +339 -0
  52. package/src/cli-watch.ts +8 -9
  53. package/src/cli.ts +103 -44
  54. package/src/cloud-sync.ts +164 -11
  55. package/src/index.ts +4 -2
  56. package/src/relay-cli.ts +117 -0
package/dist/cli.js CHANGED
@@ -25,6 +25,7 @@ import { parseBuildArgs, runBuild } from './cli/build.js';
25
25
  import { runHnMonitor } from './cli/hn-monitor.js';
26
26
  import { runTickRunner } from './cli/tick-runner.js';
27
27
  import { DEFAULT_DATA_DIR } from './daemon-connection.js';
28
+ import { CLI_VERB_NAMES } from './cli-commands.js';
28
29
  import { mintObserverUrl, resolveObserverLinkEnv, } from './observer-link.js';
29
30
  const USAGE = [
30
31
  'Usage:',
@@ -44,7 +45,7 @@ const USAGE = [
44
45
  'flows run [--json] [--no-spawn] [--no-observer-link] [--data-dir <dir>] [--local-agent] [--reuse-from <run-id>] <flow.yaml|spec.json>',
45
46
  'flows run --cloud [--json] [--wait] [--sync-code] [--no-connect] <flow.yaml|spec.json>',
46
47
  'flows run --cloud [--json] [--wait] [--sync-code] [--no-connect] <flow.ts> --input <inline-json-or-file>',
47
- 'flows sync [--json] [--dir <path>] <run-id>',
48
+ 'flows sync [--json] [--dry-run] [--dir <path>] <run-id>',
48
49
  'flows run [--json] [--no-spawn] [--no-observer-link] [--data-dir <dir>] [--local-agent] <flow.ts> --input <inline-json-or-file>',
49
50
  'flows tick start --schedule-id <id> --interval-ms <ms> [--epoch-ms <ms>] [--max-catch-up <n>] [--poll-interval-ms <ms>] [--data-dir <dir>] <spec.json>',
50
51
  'flows resume [--allow-human-influenced] [--json] [--no-spawn] [--no-observer-link] [--data-dir <dir>] [--local-agent] <run-id>',
@@ -66,7 +67,29 @@ const PROCESS_IO = {
66
67
  stdout: (line) => process.stdout.write(`${line}\n`),
67
68
  stderr: (line) => process.stderr.write(`${line}\n`),
68
69
  };
69
- export async function runCli(args, io = PROCESS_IO) {
70
+ /**
71
+ * Run one long-running verb under a cancellation signal.
72
+ *
73
+ * With a caller-supplied signal this installs nothing. Without one it owns
74
+ * SIGINT/SIGTERM for the duration of `body` and removes the handlers after --
75
+ * the pre-existing standalone behaviour, unchanged.
76
+ */
77
+ async function withInterrupt(provided, body) {
78
+ if (provided !== undefined)
79
+ return body(provided);
80
+ const controller = new AbortController();
81
+ const onSignal = () => controller.abort();
82
+ process.once('SIGINT', onSignal);
83
+ process.once('SIGTERM', onSignal);
84
+ try {
85
+ return await body(controller.signal);
86
+ }
87
+ finally {
88
+ process.off('SIGINT', onSignal);
89
+ process.off('SIGTERM', onSignal);
90
+ }
91
+ }
92
+ export async function runCli(args, io = PROCESS_IO, options = {}) {
70
93
  if (args.length === 1 && (args[0] === '--help' || args[0] === '-h')) {
71
94
  io.stdout(USAGE);
72
95
  return 0;
@@ -79,10 +102,12 @@ export async function runCli(args, io = PROCESS_IO) {
79
102
  }
80
103
  if (parsed.command === 'add')
81
104
  return addPlugin(parsed.value, io);
82
- if (parsed.command === 'serve-webhook')
83
- return runServeWebhook(parsed, io);
84
- if (parsed.command === 'cloud-run')
85
- return runCloudCli(parsed, io);
105
+ if (parsed.command === 'serve-webhook') {
106
+ return withInterrupt(options.signal, (signal) => runServeWebhook(parsed, io, signal));
107
+ }
108
+ if (parsed.command === 'cloud-run') {
109
+ return withInterrupt(options.signal, (signal) => runCloudCli(parsed, io, signal));
110
+ }
86
111
  if (parsed.command === 'sync')
87
112
  return runCloudSyncCli(parsed, io);
88
113
  if (parsed.command === 'cloud-deploy')
@@ -113,8 +138,9 @@ export async function runCli(args, io = PROCESS_IO) {
113
138
  if (parsed.command === 'deploy')
114
139
  return runDeploy(parsed, io);
115
140
  if (parsed.command === 'check') {
116
- if (parsed.watch)
117
- return watchCheck(parsed.value, parsed.json, io);
141
+ if (parsed.watch) {
142
+ return withInterrupt(options.signal, (signal) => watchCheck(parsed.value, parsed.json, io, signal));
143
+ }
118
144
  // Deliberately daemon-free (kernel/DAEMON-LIFECYCLE.md §4). `checkFlow` is
119
145
  // a compile-and-preflight that opens no daemon socket, and the parser
120
146
  // refuses `--data-dir` on `check`, so there is no data dir to attach to.
@@ -128,46 +154,26 @@ export async function runCli(args, io = PROCESS_IO) {
128
154
  if (parsed.command === 'observer')
129
155
  return runObserverCommand(io);
130
156
  if (parsed.command === 'hn-monitor') {
131
- const controller = new AbortController();
132
- const onSignal = () => controller.abort();
133
- process.once('SIGINT', onSignal);
134
- process.once('SIGTERM', onSignal);
135
- try {
136
- return await runHnMonitor({
137
- dataDir: parsed.dataDir,
138
- specPath: parsed.specPath,
139
- pollIntervalMs: parsed.pollIntervalMs,
140
- signal: controller.signal,
141
- }, io);
142
- }
143
- finally {
144
- process.off('SIGINT', onSignal);
145
- process.off('SIGTERM', onSignal);
146
- }
157
+ return withInterrupt(options.signal, (signal) => runHnMonitor({
158
+ dataDir: parsed.dataDir,
159
+ specPath: parsed.specPath,
160
+ pollIntervalMs: parsed.pollIntervalMs,
161
+ signal,
162
+ }, io));
147
163
  }
148
164
  if (parsed.command === 'tick') {
149
- const controller = new AbortController();
150
- const onSignal = () => controller.abort();
151
- process.once('SIGINT', onSignal);
152
- process.once('SIGTERM', onSignal);
153
- try {
154
- return await runTickRunner({
155
- dataDir: parsed.dataDir,
156
- specPath: parsed.specPath,
157
- schedule: {
158
- scheduleId: parsed.scheduleId,
159
- intervalMs: parsed.intervalMs,
160
- ...(parsed.epochMs === undefined ? {} : { epochMs: parsed.epochMs }),
161
- ...(parsed.maxCatchUp === undefined ? {} : { maxCatchUp: parsed.maxCatchUp }),
162
- },
163
- pollIntervalMs: parsed.pollIntervalMs,
164
- signal: controller.signal,
165
- }, io);
166
- }
167
- finally {
168
- process.off('SIGINT', onSignal);
169
- process.off('SIGTERM', onSignal);
170
- }
165
+ return withInterrupt(options.signal, async (signal) => await runTickRunner({
166
+ dataDir: parsed.dataDir,
167
+ specPath: parsed.specPath,
168
+ schedule: {
169
+ scheduleId: parsed.scheduleId,
170
+ intervalMs: parsed.intervalMs,
171
+ ...(parsed.epochMs === undefined ? {} : { epochMs: parsed.epochMs }),
172
+ ...(parsed.maxCatchUp === undefined ? {} : { maxCatchUp: parsed.maxCatchUp }),
173
+ },
174
+ pollIntervalMs: parsed.pollIntervalMs,
175
+ signal,
176
+ }, io));
171
177
  }
172
178
  // Attach-or-spawn runs inside `runFlow`/`resumeFlow`/`runDirectFlow`, at the
173
179
  // single `connect()` seam immediately before journal-client.ts is used --
@@ -393,6 +399,12 @@ function emitWait(progress, io) {
393
399
  }
394
400
  function parseArgs(args) {
395
401
  const command = args[0];
402
+ // The verb set lives in exactly one place -- `CLI_VERBS` in cli-commands.ts --
403
+ // which is also what `createRelayCliSurface` projects into `commands`. Gating
404
+ // dispatch on it means a token the surface does not declare can never reach a
405
+ // parser, so the declared tree and the dispatched tree cannot drift apart.
406
+ if (command === undefined || !CLI_VERB_NAMES.has(command))
407
+ return undefined;
396
408
  if (command === 'add')
397
409
  return args.length === 2 ? { command: 'add', value: args[1] } : undefined;
398
410
  if (command === 'replay')
@@ -699,9 +711,13 @@ function parseHnMonitorArgs(rest) {
699
711
  * directory at all -- the mint is a pure Relaycast API round-trip. No
700
712
  * positional argument, no other flags.
701
713
  */
702
- /** `flows sync [--json] [--dir <path>] <run-id>`: apply a hosted run's patch to a local tree. */
714
+ /**
715
+ * `flows sync [--json] [--dry-run] [--dir <path>] <run-id>`: apply a hosted
716
+ * run's patch to a local tree, or with `--dry-run` print it and apply nothing.
717
+ */
703
718
  function parseSyncArgs(args) {
704
719
  let json = false;
720
+ let dryRun = false;
705
721
  let root;
706
722
  const positionals = [];
707
723
  for (let index = 0; index < args.length; index += 1) {
@@ -712,6 +728,12 @@ function parseSyncArgs(args) {
712
728
  json = true;
713
729
  continue;
714
730
  }
731
+ if (argument === '--dry-run') {
732
+ if (dryRun)
733
+ return undefined;
734
+ dryRun = true;
735
+ continue;
736
+ }
715
737
  if (argument === '--dir') {
716
738
  const value = args[index + 1];
717
739
  if (root !== undefined || value === undefined || value.startsWith('-'))
@@ -726,7 +748,7 @@ function parseSyncArgs(args) {
726
748
  }
727
749
  if (positionals.length !== 1)
728
750
  return undefined;
729
- return { command: 'sync', runId: positionals[0], json, root: root ?? '.' };
751
+ return { command: 'sync', runId: positionals[0], json, dryRun, root: root ?? '.' };
730
752
  }
731
753
  function parseObserverArgs(rest) {
732
754
  let dataDir = DEFAULT_DATA_DIR;
@@ -959,4 +981,15 @@ if (isDirectInvocation(process.argv[1])) {
959
981
  process.exitCode = exitCode;
960
982
  });
961
983
  }
984
+ /**
985
+ * The argv parser, exported for the CLI-surface drift test.
986
+ *
987
+ * The drift test must prove that every command `cli-commands.ts` declares
988
+ * actually routes to a `ParsedArgs` variant, and that every variant is
989
+ * reachable from some declared command. Observing that through `runCli` would
990
+ * mean executing the commands. Not part of the package's public API --
991
+ * `@relayflows/sdk/cli` exports `runCli`, and `@relayflows/sdk/relay-cli`
992
+ * exports the surface.
993
+ */
994
+ export { parseArgs as parseCliArgs };
962
995
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -53,14 +53,97 @@ export interface CloudPatch {
53
53
  patch: string;
54
54
  hasChanges: boolean;
55
55
  }
56
+ /** One entry of a multi-path run's patch map: the mounted path's name and its diff. */
57
+ export interface CloudPathPatch extends CloudPatch {
58
+ name: string;
59
+ }
60
+ /**
61
+ * What `/patch` answered, in both shapes the endpoint can produce.
62
+ *
63
+ * A run that declared mounted `paths` gets one `changes-<name>.patch` per path
64
+ * and the route answers `{ patches: { <name>: { patch, hasChanges } } }`; every
65
+ * other run gets `changes.patch` and the flat `{ patch, hasChanges }`. The
66
+ * multi-path shape is not a v1 relic -- `paths` is orthogonal to
67
+ * `relayflowVersion`, so a v2 run that submits several paths returns it too.
68
+ */
69
+ export type CloudPatchSet = {
70
+ kind: 'single';
71
+ patch: string;
72
+ hasChanges: boolean;
73
+ } | {
74
+ kind: 'multi-path';
75
+ patches: readonly CloudPathPatch[];
76
+ hasChanges: boolean;
77
+ };
78
+ /**
79
+ * The sandbox's post-run diff, in whichever shape the run produced.
80
+ *
81
+ * Both shapes are modelled rather than one refused at the transport, so a
82
+ * caller can show a multi-path run's patches (`flows sync --dry-run`) before
83
+ * deciding what to do with them. Applying them is still the caller's refusal
84
+ * to make: they target different repositories and no single tree is the right
85
+ * destination.
86
+ */
87
+ export declare function downloadCloudPatchSet(runId: string, options: CloudConnectionOptions): Promise<CloudPatchSet>;
56
88
  /** The sandbox's post-run diff. Multi-path runs carry several patches and are refused here. */
57
89
  export declare function downloadCloudPatch(runId: string, options: CloudConnectionOptions): Promise<CloudPatch>;
90
+ /**
91
+ * Paths a synced patch must never write, the single home for the list.
92
+ *
93
+ * These are the agent runtime's own bookkeeping inside a synced tree: helper
94
+ * binaries staged for the sandbox, the relayfile mount's ACL and state files
95
+ * (including the temporaries a mid-write state leaves behind), trajectory
96
+ * records and workflow context. The sandbox commits its baseline before the
97
+ * run, so every one of them shows up in the post-run diff as a creation or a
98
+ * modification -- applying that diff verbatim drags the run's own plumbing into
99
+ * the user's checkout, where at best it is noise in `git diff` and at worst it
100
+ * overwrites the mount state of the tree being synced into.
101
+ *
102
+ * `git apply --exclude` matches these with wildmatch, anchored at the patch
103
+ * root and with `*` stopping at a `/`: `.agent-bin/**` drops
104
+ * `.agent-bin/nested/tool` but deliberately not `packages/x/.agent-bin/tool`,
105
+ * which belongs to a different tree than the one being synced.
106
+ */
107
+ export declare const CLOUD_SYNC_PATCH_EXCLUDES: readonly [".agent-bin/**", ".relayfile.acl", ".relayfile-mount-state.json", ".relayfile-mount-state.json.tmp-*", ".trajectories/**", ".workflow-context/**"];
58
108
  /** Every path a unified diff touches, deletions included, in order of first appearance. */
59
109
  export declare function patchedPaths(patch: string): string[];
110
+ /**
111
+ * The subset of a patch's paths `exclude` drops, in order of first appearance.
112
+ *
113
+ * Decided per `diff --git` header on its `b/` side, which is the name `git
114
+ * apply` itself tests -- so a rename is dropped or kept whole, never half. A
115
+ * deletion names the same path on both sides, so it is covered by the same rule.
116
+ */
117
+ export declare function excludedPatchPaths(patch: string, exclude?: readonly string[]): string[];
118
+ /** Options for {@link applyCloudPatch}. */
119
+ export interface ApplyCloudPatchOptions {
120
+ /**
121
+ * Path patterns to drop, defaulting to {@link CLOUD_SYNC_PATCH_EXCLUDES}.
122
+ * Pass `[]` to apply a patch whole -- including the runtime artifacts the
123
+ * default list exists to keep out of a working tree.
124
+ */
125
+ exclude?: readonly string[];
126
+ }
127
+ /** What {@link applyCloudPatch} wrote, and what it dropped on the way. */
128
+ export interface AppliedCloudPatch {
129
+ /** Paths the apply wrote, in order of first appearance in the patch. */
130
+ files: string[];
131
+ /** Paths `exclude` dropped, in order of first appearance in the patch. */
132
+ excluded: string[];
133
+ }
60
134
  /**
61
135
  * `git apply --check` then `git apply`; a conflict leaves the tree untouched.
62
136
  * The patch lands in the working tree uncommitted, so what the run changed is
63
- * reviewed with `git diff` before anything is kept the same contract as v1.
137
+ * reviewed with `git diff` before anything is kept -- the same contract as v1.
138
+ *
139
+ * Both invocations carry the identical `--exclude` arguments. A check run
140
+ * without them is a different question than the apply answers: it can pass on
141
+ * an excluded hunk that the apply then never writes, or fail on one and refuse
142
+ * a patch whose applied part was clean. The exclusions are a property of the
143
+ * patch that lands, so they belong to both halves or neither.
144
+ *
145
+ * A patch whose every path is excluded is a no-op, not a failure: `git apply`
146
+ * exits 0 having written nothing, and the returned `files` is empty.
64
147
  */
65
- export declare function applyCloudPatch(root: string, patch: string): void;
148
+ export declare function applyCloudPatch(root: string, patch: string, options?: ApplyCloudPatchOptions): AppliedCloudPatch;
66
149
  //# sourceMappingURL=cloud-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-sync.d.ts","sourceRoot":"","sources":["../src/cloud-sync.ts"],"names":[],"mappings":"AAQA,OAAO,EACgE,KAAK,sBAAsB,EACjG,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;GAWG;AAEH,iFAAiF;AACjF,eAAO,MAAM,cAAc,QAAoB,CAAC;AAIhD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sFAAsF;AACtF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqBlG;AAED,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA6CvE;AA0HD,4FAA4F;AAC5F,wBAAsB,eAAe,CACnC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,GAC/E,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,+FAA+F;AAC/F,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAY5G;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAMpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAWjE"}
1
+ {"version":3,"file":"cloud-sync.d.ts","sourceRoot":"","sources":["../src/cloud-sync.ts"],"names":[],"mappings":"AAQA,OAAO,EACgE,KAAK,sBAAsB,EACjG,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;GAWG;AAEH,iFAAiF;AACjF,eAAO,MAAM,cAAc,QAAoB,CAAC;AAIhD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sFAAsF;AACtF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqBlG;AAED,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA6CvE;AA0HD,4FAA4F;AAC5F,wBAAsB,eAAe,CACnC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,GAC/E,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,uFAAuF;AACvF,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAC7C,OAAO,CAAC,aAAa,CAAC,CAiBxB;AAED,+FAA+F;AAC/F,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAQ5G;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,yBAAyB,8JAO5B,CAAC;AAWX,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAMpD;AAyBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,SAAS,MAAM,EAA8B,GACpE,MAAM,EAAE,CAOV;AAED,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B,GAChE,iBAAiB,CAenB"}
@@ -244,25 +244,125 @@ export async function uploadCloudCode(prepared, packed, options) {
244
244
  await cloudFetch(`/api/v1/workflows/runs/${encodeURIComponent(prepared.runId)}/storage/${encodeURIComponent(prepared.codeKey)}`, { ...options, requestTimeoutMs: options.requestTimeoutMs ?? 300_000 }, { method: 'PUT', body: tarball, contentType: 'application/gzip',
245
245
  ...(prepared.uploadToken === undefined ? {} : { bearerToken: prepared.uploadToken }) });
246
246
  }
247
- /** The sandbox's post-run diff. Multi-path runs carry several patches and are refused here. */
248
- export async function downloadCloudPatch(runId, options) {
247
+ /**
248
+ * The sandbox's post-run diff, in whichever shape the run produced.
249
+ *
250
+ * Both shapes are modelled rather than one refused at the transport, so a
251
+ * caller can show a multi-path run's patches (`flows sync --dry-run`) before
252
+ * deciding what to do with them. Applying them is still the caller's refusal
253
+ * to make: they target different repositories and no single tree is the right
254
+ * destination.
255
+ */
256
+ export async function downloadCloudPatchSet(runId, options) {
249
257
  const payload = await cloudRequest(`/api/v1/workflows/runs/${encodeURIComponent(cloudRunId(runId))}/patch`, options);
250
258
  if (!isCloudRecord(payload))
251
259
  throw new CloudFlowError('invalid_response', 'Cloud patch response was not an object.');
252
260
  if (isCloudRecord(payload.patches)) {
253
- const names = Object.keys(payload.patches);
254
- throw new CloudFlowError('sync_unsupported', `Run ${runId} produced ${names.length} path-scoped patches (${names.join(', ')}); flows sync applies single-tree runs only.`);
261
+ const patches = [];
262
+ for (const [name, entry] of Object.entries(payload.patches)) {
263
+ if (!isCloudRecord(entry) || typeof entry.patch !== 'string' || typeof entry.hasChanges !== 'boolean') {
264
+ throw new CloudFlowError('invalid_response', `Cloud patch response has an unusable entry for path "${name}".`);
265
+ }
266
+ patches.push({ name, patch: entry.patch, hasChanges: entry.hasChanges });
267
+ }
268
+ return { kind: 'multi-path', patches, hasChanges: patches.some(entry => entry.hasChanges && entry.patch.trim() !== '') };
255
269
  }
256
270
  if (typeof payload.patch !== 'string' || typeof payload.hasChanges !== 'boolean') {
257
271
  throw new CloudFlowError('invalid_response', 'Cloud patch response is missing patch or hasChanges.');
258
272
  }
259
- return { patch: payload.patch, hasChanges: payload.hasChanges };
273
+ return { kind: 'single', patch: payload.patch, hasChanges: payload.hasChanges };
274
+ }
275
+ /** The sandbox's post-run diff. Multi-path runs carry several patches and are refused here. */
276
+ export async function downloadCloudPatch(runId, options) {
277
+ const set = await downloadCloudPatchSet(runId, options);
278
+ if (set.kind === 'multi-path') {
279
+ const names = set.patches.map(entry => entry.name);
280
+ throw new CloudFlowError('sync_unsupported', `Run ${runId} produced ${names.length} path-scoped patches (${names.join(', ')}); flows sync applies single-tree runs only.`);
281
+ }
282
+ return { patch: set.patch, hasChanges: set.hasChanges };
283
+ }
284
+ /**
285
+ * Paths a synced patch must never write, the single home for the list.
286
+ *
287
+ * These are the agent runtime's own bookkeeping inside a synced tree: helper
288
+ * binaries staged for the sandbox, the relayfile mount's ACL and state files
289
+ * (including the temporaries a mid-write state leaves behind), trajectory
290
+ * records and workflow context. The sandbox commits its baseline before the
291
+ * run, so every one of them shows up in the post-run diff as a creation or a
292
+ * modification -- applying that diff verbatim drags the run's own plumbing into
293
+ * the user's checkout, where at best it is noise in `git diff` and at worst it
294
+ * overwrites the mount state of the tree being synced into.
295
+ *
296
+ * `git apply --exclude` matches these with wildmatch, anchored at the patch
297
+ * root and with `*` stopping at a `/`: `.agent-bin/**` drops
298
+ * `.agent-bin/nested/tool` but deliberately not `packages/x/.agent-bin/tool`,
299
+ * which belongs to a different tree than the one being synced.
300
+ */
301
+ export const CLOUD_SYNC_PATCH_EXCLUDES = [
302
+ '.agent-bin/**',
303
+ '.relayfile.acl',
304
+ '.relayfile-mount-state.json',
305
+ '.relayfile-mount-state.json.tmp-*',
306
+ '.trajectories/**',
307
+ '.workflow-context/**',
308
+ ];
309
+ /** The `a/` and `b/` sides of every `diff --git` header, in file order. */
310
+ function patchHeaders(patch) {
311
+ const headers = [];
312
+ for (const match of patch.matchAll(/^diff --git a\/(.+?) b\/(.+)$/gmu)) {
313
+ headers.push({ old: match[1], new: match[2] });
314
+ }
315
+ return headers;
260
316
  }
261
317
  /** Every path a unified diff touches, deletions included, in order of first appearance. */
262
318
  export function patchedPaths(patch) {
263
319
  const paths = [];
264
- for (const match of patch.matchAll(/^diff --git a\/(.+?) b\/(.+)$/gmu)) {
265
- for (const path of [match[1], match[2]])
320
+ for (const header of patchHeaders(patch)) {
321
+ for (const path of [header.old, header.new])
322
+ if (!paths.includes(path))
323
+ paths.push(path);
324
+ }
325
+ return paths;
326
+ }
327
+ /**
328
+ * `git apply --exclude`'s wildmatch, as a matcher over a patch's own paths.
329
+ *
330
+ * Anchored at the patch root, `**` crosses `/` and `*`/`?` do not -- the subset
331
+ * of wildmatch {@link CLOUD_SYNC_PATCH_EXCLUDES} uses. Kept honest by a test
332
+ * that runs the same patterns through `git apply --numstat` and requires the
333
+ * two answers to agree, so a divergence fails here rather than silently
334
+ * reporting a path as dropped that git actually wrote.
335
+ */
336
+ function matchesExclude(path, pattern) {
337
+ let expression = '^';
338
+ for (let index = 0; index < pattern.length; index += 1) {
339
+ const character = pattern[index];
340
+ if (character === '*') {
341
+ if (pattern[index + 1] === '*') {
342
+ expression += '.*';
343
+ index += 1;
344
+ continue;
345
+ }
346
+ expression += '[^/]*';
347
+ continue;
348
+ }
349
+ expression += character === '?' ? '[^/]' : character.replace(/[.+^${}()|[\]\\]/gu, '\\$&');
350
+ }
351
+ return new RegExp(`${expression}$`, 'u').test(path);
352
+ }
353
+ /**
354
+ * The subset of a patch's paths `exclude` drops, in order of first appearance.
355
+ *
356
+ * Decided per `diff --git` header on its `b/` side, which is the name `git
357
+ * apply` itself tests -- so a rename is dropped or kept whole, never half. A
358
+ * deletion names the same path on both sides, so it is covered by the same rule.
359
+ */
360
+ export function excludedPatchPaths(patch, exclude = CLOUD_SYNC_PATCH_EXCLUDES) {
361
+ const paths = [];
362
+ for (const header of patchHeaders(patch)) {
363
+ if (!exclude.some(pattern => matchesExclude(header.new, pattern)))
364
+ continue;
365
+ for (const path of [header.old, header.new])
266
366
  if (!paths.includes(path))
267
367
  paths.push(path);
268
368
  }
@@ -271,10 +371,21 @@ export function patchedPaths(patch) {
271
371
  /**
272
372
  * `git apply --check` then `git apply`; a conflict leaves the tree untouched.
273
373
  * The patch lands in the working tree uncommitted, so what the run changed is
274
- * reviewed with `git diff` before anything is kept the same contract as v1.
374
+ * reviewed with `git diff` before anything is kept -- the same contract as v1.
375
+ *
376
+ * Both invocations carry the identical `--exclude` arguments. A check run
377
+ * without them is a different question than the apply answers: it can pass on
378
+ * an excluded hunk that the apply then never writes, or fail on one and refuse
379
+ * a patch whose applied part was clean. The exclusions are a property of the
380
+ * patch that lands, so they belong to both halves or neither.
381
+ *
382
+ * A patch whose every path is excluded is a no-op, not a failure: `git apply`
383
+ * exits 0 having written nothing, and the returned `files` is empty.
275
384
  */
276
- export function applyCloudPatch(root, patch) {
277
- const args = ['-C', resolve(root), 'apply', '--whitespace=nowarn'];
385
+ export function applyCloudPatch(root, patch, options = {}) {
386
+ const exclude = options.exclude ?? CLOUD_SYNC_PATCH_EXCLUDES;
387
+ const args = ['-C', resolve(root), 'apply', '--whitespace=nowarn',
388
+ ...exclude.map(pattern => `--exclude=${pattern}`)];
278
389
  const check = spawnSync('git', [...args, '--check'], { input: patch, encoding: 'utf8' });
279
390
  if (check.status !== 0) {
280
391
  throw new CloudFlowError('patch_conflict', `The patch does not apply cleanly to ${resolve(root)}:\n${check.stderr.trim()}`);
@@ -283,5 +394,7 @@ export function applyCloudPatch(root, patch) {
283
394
  if (apply.status !== 0) {
284
395
  throw new CloudFlowError('patch_conflict', `git apply failed:\n${apply.stderr.trim()}`);
285
396
  }
397
+ const excluded = excludedPatchPaths(patch, exclude);
398
+ return { files: patchedPaths(patch).filter(path => !excluded.includes(path)), excluded };
286
399
  }
287
400
  //# sourceMappingURL=cloud-sync.js.map