@usine/executor 0.3.0 → 0.4.1-next.240.g158c84b

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 (185) hide show
  1. package/LICENSE +661 -21
  2. package/README.md +116 -19
  3. package/dist/child-command.d.ts +1 -1
  4. package/dist/child-command.d.ts.map +1 -1
  5. package/dist/child-command.js +6 -4
  6. package/dist/child-command.js.map +1 -1
  7. package/dist/child-environment.d.ts +19 -0
  8. package/dist/child-environment.d.ts.map +1 -0
  9. package/dist/child-environment.js +18 -0
  10. package/dist/child-environment.js.map +1 -0
  11. package/dist/claude-login-lock.d.ts +3 -2
  12. package/dist/claude-login-lock.d.ts.map +1 -1
  13. package/dist/claude-login-lock.js +10 -4
  14. package/dist/claude-login-lock.js.map +1 -1
  15. package/dist/cloudflare/client.d.ts +50 -0
  16. package/dist/cloudflare/client.d.ts.map +1 -0
  17. package/dist/cloudflare/client.js +108 -0
  18. package/dist/cloudflare/client.js.map +1 -0
  19. package/dist/cloudflare/cloudflare.d.ts +17 -0
  20. package/dist/cloudflare/cloudflare.d.ts.map +1 -0
  21. package/dist/cloudflare/cloudflare.js +704 -0
  22. package/dist/cloudflare/cloudflare.js.map +1 -0
  23. package/dist/cloudflare/model.d.ts +42 -0
  24. package/dist/cloudflare/model.d.ts.map +1 -0
  25. package/dist/cloudflare/model.js +2 -0
  26. package/dist/cloudflare/model.js.map +1 -0
  27. package/dist/cloudflare/shell/environment.d.ts +12 -0
  28. package/dist/cloudflare/shell/environment.d.ts.map +1 -0
  29. package/dist/cloudflare/shell/environment.js +12 -0
  30. package/dist/cloudflare/shell/environment.js.map +1 -0
  31. package/dist/cloudflare/shell/shell.d.ts +2 -0
  32. package/dist/cloudflare/shell/shell.d.ts.map +1 -0
  33. package/dist/cloudflare/shell/shell.js +155 -0
  34. package/dist/cloudflare/shell/shell.js.map +1 -0
  35. package/dist/durable-session.d.ts +21 -3
  36. package/dist/durable-session.d.ts.map +1 -1
  37. package/dist/durable-session.js +69 -10
  38. package/dist/durable-session.js.map +1 -1
  39. package/dist/exe-dev/commands.d.ts +1 -1
  40. package/dist/exe-dev/commands.d.ts.map +1 -1
  41. package/dist/exe-dev/exe-dev.d.ts +1 -1
  42. package/dist/exe-dev/exe-dev.d.ts.map +1 -1
  43. package/dist/exe-dev/exe-dev.js +9 -1
  44. package/dist/exe-dev/exe-dev.js.map +1 -1
  45. package/dist/exe-dev/preflight.d.ts +2 -2
  46. package/dist/exe-dev/preflight.d.ts.map +1 -1
  47. package/dist/exe-dev/preflight.js +5 -4
  48. package/dist/exe-dev/preflight.js.map +1 -1
  49. package/dist/executor.d.ts +164 -15
  50. package/dist/executor.d.ts.map +1 -1
  51. package/dist/executor.js +100 -3
  52. package/dist/executor.js.map +1 -1
  53. package/dist/guard.d.ts.map +1 -1
  54. package/dist/guard.js +1 -0
  55. package/dist/guard.js.map +1 -1
  56. package/dist/harness-preflight.d.ts +9 -8
  57. package/dist/harness-preflight.d.ts.map +1 -1
  58. package/dist/harness-preflight.js +15 -10
  59. package/dist/harness-preflight.js.map +1 -1
  60. package/dist/local/local.d.ts +1 -1
  61. package/dist/local/local.d.ts.map +1 -1
  62. package/dist/local/local.js +76 -37
  63. package/dist/local/local.js.map +1 -1
  64. package/dist/memory-preflight.d.ts +3 -1
  65. package/dist/memory-preflight.d.ts.map +1 -1
  66. package/dist/memory-preflight.js +1 -1
  67. package/dist/memory-preflight.js.map +1 -1
  68. package/dist/pre-push-hook.d.ts +1 -1
  69. package/dist/pre-push-hook.js +1 -1
  70. package/dist/prepared-attempt.d.ts +8 -0
  71. package/dist/prepared-attempt.d.ts.map +1 -1
  72. package/dist/prepared-attempt.js.map +1 -1
  73. package/dist/provision.d.ts +64 -13
  74. package/dist/provision.d.ts.map +1 -1
  75. package/dist/provision.js +99 -42
  76. package/dist/provision.js.map +1 -1
  77. package/dist/remote/commands.d.ts +1 -1
  78. package/dist/remote/commands.d.ts.map +1 -1
  79. package/dist/remote/commands.js +1 -1
  80. package/dist/remote/commands.js.map +1 -1
  81. package/dist/remote/container.d.ts +90 -0
  82. package/dist/remote/container.d.ts.map +1 -0
  83. package/dist/remote/container.js +480 -0
  84. package/dist/remote/container.js.map +1 -0
  85. package/dist/remote/liveness.d.ts +1 -1
  86. package/dist/remote/liveness.d.ts.map +1 -1
  87. package/dist/remote/liveness.js +6 -4
  88. package/dist/remote/liveness.js.map +1 -1
  89. package/dist/remote/machine.d.ts +52 -6
  90. package/dist/remote/machine.d.ts.map +1 -1
  91. package/dist/remote/remote.d.ts +11 -7
  92. package/dist/remote/remote.d.ts.map +1 -1
  93. package/dist/remote/remote.js +340 -92
  94. package/dist/remote/remote.js.map +1 -1
  95. package/dist/remote/sweep.d.ts +3 -1
  96. package/dist/remote/sweep.d.ts.map +1 -1
  97. package/dist/remote/sweep.js +2 -1
  98. package/dist/remote/sweep.js.map +1 -1
  99. package/dist/salvage.d.ts +18 -10
  100. package/dist/salvage.d.ts.map +1 -1
  101. package/dist/salvage.js +123 -29
  102. package/dist/salvage.js.map +1 -1
  103. package/dist/ssh/api-keys.d.ts +36 -0
  104. package/dist/ssh/api-keys.d.ts.map +1 -0
  105. package/dist/ssh/api-keys.js +72 -0
  106. package/dist/ssh/api-keys.js.map +1 -0
  107. package/dist/ssh/codex-homes.d.ts +21 -0
  108. package/dist/ssh/codex-homes.d.ts.map +1 -0
  109. package/dist/ssh/codex-homes.js +78 -0
  110. package/dist/ssh/codex-homes.js.map +1 -0
  111. package/dist/ssh/container.d.ts +32 -0
  112. package/dist/ssh/container.d.ts.map +1 -0
  113. package/dist/ssh/container.js +282 -0
  114. package/dist/ssh/container.js.map +1 -0
  115. package/dist/ssh/credentials.d.ts +3 -0
  116. package/dist/ssh/credentials.d.ts.map +1 -1
  117. package/dist/ssh/credentials.js +3 -0
  118. package/dist/ssh/credentials.js.map +1 -1
  119. package/dist/ssh/gateway/admin.d.ts +1 -1
  120. package/dist/ssh/gateway/admin.d.ts.map +1 -1
  121. package/dist/ssh/gateway/admin.js +2 -2
  122. package/dist/ssh/gateway/admin.js.map +1 -1
  123. package/dist/ssh/gateway/attachments.d.ts +15 -6
  124. package/dist/ssh/gateway/attachments.d.ts.map +1 -1
  125. package/dist/ssh/gateway/attachments.js +39 -25
  126. package/dist/ssh/gateway/attachments.js.map +1 -1
  127. package/dist/ssh/gateway/environment.d.ts +21 -2
  128. package/dist/ssh/gateway/environment.d.ts.map +1 -1
  129. package/dist/ssh/gateway/environment.js +76 -6
  130. package/dist/ssh/gateway/environment.js.map +1 -1
  131. package/dist/ssh/gateway/forward.d.ts +1 -1
  132. package/dist/ssh/gateway/forward.d.ts.map +1 -1
  133. package/dist/ssh/gateway/forward.js +1 -1
  134. package/dist/ssh/gateway/forward.js.map +1 -1
  135. package/dist/ssh/gateway/preflight.d.ts +51 -12
  136. package/dist/ssh/gateway/preflight.d.ts.map +1 -1
  137. package/dist/ssh/gateway/preflight.js +155 -69
  138. package/dist/ssh/gateway/preflight.js.map +1 -1
  139. package/dist/ssh/limits.d.ts +60 -0
  140. package/dist/ssh/limits.d.ts.map +1 -0
  141. package/dist/ssh/limits.js +84 -0
  142. package/dist/ssh/limits.js.map +1 -0
  143. package/dist/ssh/model.d.ts +97 -9
  144. package/dist/ssh/model.d.ts.map +1 -1
  145. package/dist/ssh/preflight.d.ts +26 -7
  146. package/dist/ssh/preflight.d.ts.map +1 -1
  147. package/dist/ssh/preflight.js +50 -10
  148. package/dist/ssh/preflight.js.map +1 -1
  149. package/dist/ssh/provisioner/boat.d.ts +33 -0
  150. package/dist/ssh/provisioner/boat.d.ts.map +1 -0
  151. package/dist/ssh/provisioner/boat.js +247 -0
  152. package/dist/ssh/provisioner/boat.js.map +1 -0
  153. package/dist/ssh/provisioner/hetzner.d.ts +32 -0
  154. package/dist/ssh/provisioner/hetzner.d.ts.map +1 -0
  155. package/dist/ssh/provisioner/hetzner.js +337 -0
  156. package/dist/ssh/provisioner/hetzner.js.map +1 -0
  157. package/dist/ssh/provisioner/host-key.d.ts +11 -0
  158. package/dist/ssh/provisioner/host-key.d.ts.map +1 -0
  159. package/dist/ssh/provisioner/host-key.js +57 -0
  160. package/dist/ssh/provisioner/host-key.js.map +1 -0
  161. package/dist/ssh/provisioner/http.d.ts +45 -0
  162. package/dist/ssh/provisioner/http.d.ts.map +1 -0
  163. package/dist/ssh/provisioner/http.js +72 -0
  164. package/dist/ssh/provisioner/http.js.map +1 -0
  165. package/dist/ssh/provisioner/machines.d.ts +48 -0
  166. package/dist/ssh/provisioner/machines.d.ts.map +1 -0
  167. package/dist/ssh/provisioner/machines.js +686 -0
  168. package/dist/ssh/provisioner/machines.js.map +1 -0
  169. package/dist/ssh/provisioner/model.d.ts +92 -0
  170. package/dist/ssh/provisioner/model.d.ts.map +1 -0
  171. package/dist/ssh/provisioner/model.js +37 -0
  172. package/dist/ssh/provisioner/model.js.map +1 -0
  173. package/dist/ssh/ssh.d.ts +14 -11
  174. package/dist/ssh/ssh.d.ts.map +1 -1
  175. package/dist/ssh/ssh.js +94 -27
  176. package/dist/ssh/ssh.js.map +1 -1
  177. package/dist/ssh/worker-records.d.ts +18 -0
  178. package/dist/ssh/worker-records.d.ts.map +1 -0
  179. package/dist/ssh/worker-records.js +100 -0
  180. package/dist/ssh/worker-records.js.map +1 -0
  181. package/dist/ssh/workers.d.ts +34 -7
  182. package/dist/ssh/workers.d.ts.map +1 -1
  183. package/dist/ssh/workers.js +92 -18
  184. package/dist/ssh/workers.js.map +1 -1
  185. package/package.json +19 -11
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/remote/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../src/remote/remote.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import type { RemoteShell } from "@usine/agents/child-host";
2
2
  import { Effect } from "effect";
3
- import { ExecutorOperationError } from "../executor.ts";
3
+ import { type ExecutorOperation, ExecutorOperationError } from "../executor.ts";
4
4
  import type { RemoteCommands } from "./commands.ts";
5
+ /** Returns the NUL-separated paths in `output`. Fails if one isn't directly under `parent`. */
6
+ export declare const directChildren: (operation: ExecutorOperation, parent: string, output: string) => Effect.Effect<ReadonlyArray<string>, ExecutorOperationError>;
5
7
  /**
6
8
  * Lists paths directly under a Worker's `attempts` directory, creating it first so a new Worker
7
9
  * lists as empty. Verifies that each path is a direct child of `attemptsRoot`.
@@ -1 +1 @@
1
- {"version":3,"file":"sweep.d.ts","sourceRoot":"","sources":["../../src/remote/sweep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAA0B,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAyCpD;;;GAGG;AACH,eAAO,MAAM,cAAc,+MAiBzB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,2QA0GrC,CAAC"}
1
+ {"version":3,"file":"sweep.d.ts","sourceRoot":"","sources":["../../src/remote/sweep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAuBpD,+FAA+F;AAC/F,eAAO,MAAM,cAAc,cACd,iBAAiB,UACpB,MAAM,UACN,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAY3D,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,+MAiBzB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,2QA0GrC,CAAC"}
@@ -15,7 +15,8 @@ const directChildSchema = (parent) => {
15
15
  !segment.includes("/"));
16
16
  }, { message: `Expected a direct child of ${parent}` }));
17
17
  };
18
- const directChildren = (operation, parent, output) => Schema.decodeUnknownEffect(Schema.Array(directChildSchema(parent)))(output.split("\0").filter((value) => value.length > 0)).pipe(Effect.mapError((cause) => new ExecutorOperationError({
18
+ /** Returns the NUL-separated paths in `output`. Fails if one isn't directly under `parent`. */
19
+ export const directChildren = (operation, parent, output) => Schema.decodeUnknownEffect(Schema.Array(directChildSchema(parent)))(output.split("\0").filter((value) => value.length > 0)).pipe(Effect.mapError((cause) => new ExecutorOperationError({
19
20
  operation,
20
21
  message: `Worker returned an invalid path while listing ${parent}`,
21
22
  cause,
@@ -1 +1 @@
1
- {"version":3,"file":"sweep.js","sourceRoot":"","sources":["../../src/remote/sweep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sweep.js","sourceRoot":"","sources":["../../src/remote/sweep.ts"],"names":[],"mappings":"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"}
package/dist/salvage.d.ts CHANGED
@@ -1,10 +1,8 @@
1
1
  import type { AttemptId } from "@usine/core/attempt";
2
- import { type SalvageRef, SalvagePushed, SalvageRetained } from "@usine/core/attempt/salvage";
2
+ import { type SalvageRef, SalvagePartlyPushed, SalvagePushed, SalvageRejected, SalvageRetained } from "@usine/core/attempt/salvage";
3
3
  import { CommitSha } from "@usine/core/repository";
4
4
  import type { WorkerName } from "@usine/core/worker";
5
5
  import { Effect, Option } from "effect";
6
- /** The git identity for commits usine creates in an Attempt's worktree. */
7
- export declare const SALVAGE_GIT_CONFIG: string[];
8
6
  export interface SalvageOptions<E extends Error> {
9
7
  readonly attemptId: AttemptId;
10
8
  readonly worker: WorkerName;
@@ -12,19 +10,29 @@ export interface SalvageOptions<E extends Error> {
12
10
  readonly worktree: string;
13
11
  readonly baseCommit: Option.Option<CommitSha>;
14
12
  readonly ref: SalvageRef;
15
- /** Runs git with the Worker's repository credentials; `salvageWorktree` prepends `-C <worktree>`. */
13
+ /** An earlier salvage that the remote rejected; its commit isn't pushed again. */
14
+ readonly rejected: Option.Option<SalvageRejected>;
15
+ /**
16
+ * Runs git with the Worker's repository credentials and the Attempt's `commitIdentity`, which
17
+ * authors and commits the salvage commit. `salvageWorktree` prepends `-C <worktree>`.
18
+ */
16
19
  readonly git: (args: ReadonlyArray<string>) => Effect.Effect<string, E>;
17
20
  }
18
21
  /**
19
22
  * Returns the operator-facing line for the run drawer: the failure's message followed by its
20
- * cause's message. For a failed command, the cause is the stderr, which local and SSH executors
21
- * scrub of the Attempt's token.
23
+ * cause's message, if the cause has one. For a failed command, the cause is the stderr, which
24
+ * local and SSH executors scrub of the Attempt's token.
22
25
  */
23
26
  export declare const failureMessage: (failure: Error) => string;
24
27
  /**
25
- * Commits everything in an unsuccessful Attempt's checkout and pushes HEAD to its salvage ref
26
- * before the worktree is removed. Skips a clean checkout at its base commit. If the push fails,
27
- * keeps the worktree and reports its path. Never fails; skipped and failed stages are logged.
28
+ * Commits the changes in an unsuccessful Attempt's checkout and pushes HEAD to its salvage ref
29
+ * before the worktree is removed. The commit leaves out package stores and build caches, even if
30
+ * the Attempt staged them, and what Git ignores. Skips a checkout with nothing to push beyond its
31
+ * base commit, or whose commit the remote rejected in `rejected`. If the push fails, or the
32
+ * commit leaves out a file larger than GitHub accepts, keeps the worktree and reports its path.
33
+ * If the inspection or the commit fails while the checkout's head can still be the rejected
34
+ * commit, returns `rejected` again, so that the next recovery doesn't push that commit either.
35
+ * Never fails; skipped and failed stages are logged.
28
36
  */
29
- export declare const salvageWorktree: <E extends Error>(options: SalvageOptions<E>) => Effect.Effect<Option.Option<SalvagePushed | SalvageRetained>, never, never>;
37
+ export declare const salvageWorktree: <E extends Error>(options: SalvageOptions<E>) => Effect.Effect<Option.Option<SalvagePartlyPushed | SalvagePushed | SalvageRejected | SalvageRetained>, never, never>;
30
38
  //# sourceMappingURL=salvage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"salvage.d.ts","sourceRoot":"","sources":["../src/salvage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAEL,KAAK,UAAU,EACf,aAAa,EACb,eAAe,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAGxD,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,UAO9B,CAAC;AAEF,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,KAAK;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,qGAAqG;IACrG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CACzE;AAID;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAAa,KAAK,KAAG,MAG/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAoD,CAAC,SAAS,KAAK,4GA8F7F,CAAC"}
1
+ {"version":3,"file":"salvage.d.ts","sourceRoot":"","sources":["../src/salvage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAEL,KAAK,UAAU,EACf,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,eAAe,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAwBxD,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,KAAK;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CACzE;AAMD;;;;GAIG;AACH,eAAO,MAAM,cAAc,YAAa,KAAK,KAAG,MAM/C,CAAC;AA+BF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAoD,CAAC,SAAS,KAAK,oJAmL7F,CAAC"}
package/dist/salvage.js CHANGED
@@ -1,30 +1,63 @@
1
- import { SalvagePushed, SalvageRetained, } from "@usine/core/attempt/salvage";
1
+ import { SalvagePartlyPushed, SalvagePushed, SalvageRejected, SalvageRetained, } from "@usine/core/attempt/salvage";
2
2
  import { CommitSha } from "@usine/core/repository";
3
3
  import { Effect, Option, Result, Schema } from "effect";
4
4
  const PUSH_TIMEOUT = "2 minutes";
5
- /** The git identity for commits usine creates in an Attempt's worktree. */
6
- export const SALVAGE_GIT_CONFIG = [
7
- "-c",
8
- "user.name=usine",
9
- "-c",
10
- "user.email=usine@basaltbytes.dev",
11
- "-c",
12
- "commit.gpgsign=false",
5
+ /** GitHub refuses a push with a file larger than 100 MiB. */
6
+ const GITHUB_FILE_LIMIT_BYTES = 100 * 1024 * 1024;
7
+ /** GitHub's code for a push refused for a file over its size limit, in the push's stderr. */
8
+ const LARGE_FILES_REFUSAL = /\bGH001\b/u;
9
+ /** The package stores and build caches that the salvage commit leaves out at any depth. */
10
+ const CACHE_DIRECTORIES = [".pnpm-store", "node_modules", ".turbo"];
11
+ const CACHE_PATHS = CACHE_DIRECTORIES.map((directory) => `:(glob)**/${directory}/**`);
12
+ /**
13
+ * The checkout's paths that the salvage commits: everything that Git doesn't ignore, except
14
+ * package stores and build caches.
15
+ */
16
+ const SALVAGED_PATHS = [
17
+ ".",
18
+ ...CACHE_DIRECTORIES.map((directory) => `:(exclude,glob)**/${directory}/**`),
13
19
  ];
14
20
  const decodeCommit = Schema.decodeUnknownEffect(CommitSha);
21
+ const decodeCauseMessage = Schema.decodeUnknownOption(Schema.Struct({ message: Schema.String }));
15
22
  /**
16
23
  * Returns the operator-facing line for the run drawer: the failure's message followed by its
17
- * cause's message. For a failed command, the cause is the stderr, which local and SSH executors
18
- * scrub of the Attempt's token.
24
+ * cause's message, if the cause has one. For a failed command, the cause is the stderr, which
25
+ * local and SSH executors scrub of the Attempt's token.
19
26
  */
20
27
  export const failureMessage = (failure) => {
21
- const detail = failure.cause instanceof Error ? failure.cause.message.trim() : "";
28
+ const detail = Option.match(decodeCauseMessage(failure.cause), {
29
+ onNone: () => "",
30
+ onSome: ({ message }) => message.trim(),
31
+ });
22
32
  return detail.length === 0 ? failure.message : `${failure.message}: ${detail}`;
23
33
  };
24
34
  /**
25
- * Commits everything in an unsuccessful Attempt's checkout and pushes HEAD to its salvage ref
26
- * before the worktree is removed. Skips a clean checkout at its base commit. If the push fails,
27
- * keeps the worktree and reports its path. Never fails; skipped and failed stages are logged.
35
+ * Returns the staged files in the `ls-tree -r -l -z` listing of the index's tree that are larger
36
+ * than GitHub accepts.
37
+ */
38
+ const oversizedIn = (listing, staged) => listing.split("\0").flatMap((entry) => {
39
+ // <mode> SP <type> SP <object> SP <padded size> TAB <path>
40
+ const tab = entry.indexOf("\t");
41
+ if (tab < 0)
42
+ return [];
43
+ const [, type, , size] = entry.slice(0, tab).split(/ +/u);
44
+ const path = entry.slice(tab + 1);
45
+ return type === "blob" && Number(size) > GITHUB_FILE_LIMIT_BYTES && staged.has(path)
46
+ ? [{ path, size: Number(size) }]
47
+ : [];
48
+ });
49
+ const describeFiles = (files) => files.map(({ path, size }) => `${path} (${(size / 1024 / 1024).toFixed(1)} MiB)`).join(", ");
50
+ /** Returns the operator-facing reason that a salvage keeps the checkout of `files`. */
51
+ const leftOutMessage = (files) => `The checkout has files larger than GitHub's 100 MiB limit, which the salvage can't push: ${describeFiles(files)}`;
52
+ /**
53
+ * Commits the changes in an unsuccessful Attempt's checkout and pushes HEAD to its salvage ref
54
+ * before the worktree is removed. The commit leaves out package stores and build caches, even if
55
+ * the Attempt staged them, and what Git ignores. Skips a checkout with nothing to push beyond its
56
+ * base commit, or whose commit the remote rejected in `rejected`. If the push fails, or the
57
+ * commit leaves out a file larger than GitHub accepts, keeps the worktree and reports its path.
58
+ * If the inspection or the commit fails while the checkout's head can still be the rejected
59
+ * commit, returns `rejected` again, so that the next recovery doesn't push that commit either.
60
+ * Never fails; skipped and failed stages are logged.
28
61
  */
29
62
  export const salvageWorktree = Effect.fn("Executor.salvageWorktree")(function* (options) {
30
63
  const fields = {
@@ -36,9 +69,21 @@ export const salvageWorktree = Effect.fn("Executor.salvageWorktree")(function* (
36
69
  yield* Effect.annotateCurrentSpan(fields);
37
70
  const git = (args) => options.git(["-C", options.worktree, ...args]);
38
71
  const head = () => git(["rev-parse", "HEAD"]).pipe(Effect.flatMap((output) => decodeCommit(output.trim())));
72
+ /**
73
+ * Returns what the salvage keeps of a checkout that it couldn't inspect or commit, at `current`
74
+ * if its head is known. While `current` can be the commit of the recorded rejection, that's the
75
+ * rejection; otherwise it's the retained checkout, at the base commit if the head is unknown.
76
+ */
77
+ const unsalvaged = (message, current) => {
78
+ const rejected = Option.filter(options.rejected, ({ commit }) => Option.isNone(current) || Option.contains(current, commit));
79
+ if (Option.isSome(rejected))
80
+ return Effect.logWarning("Keeping the recorded rejection of the Attempt's salvage, so that recovery doesn't push its commit again", { ...fields, ref: options.ref, commit: rejected.value.commit, message }).pipe(Effect.as(Option.some(rejected.value)));
81
+ const commit = Option.orElse(current, () => options.baseCommit);
82
+ return Effect.succeed(Option.some(new SalvageRetained({ path: options.worktree, commit, message })));
83
+ };
39
84
  const inspected = yield* Effect.all({
40
85
  head: head(),
41
- status: git(["status", "--porcelain", "--untracked-files=all"]),
86
+ status: git(["status", "--porcelain", "--untracked-files=all", "--", ...SALVAGED_PATHS]),
42
87
  }).pipe(Effect.result);
43
88
  if (Result.isFailure(inspected)) {
44
89
  const message = failureMessage(inspected.failure);
@@ -46,34 +91,74 @@ export const salvageWorktree = Effect.fn("Executor.salvageWorktree")(function* (
46
91
  ...fields,
47
92
  message,
48
93
  });
49
- return Option.some(new SalvageRetained({ path: options.worktree, commit: options.baseCommit, message }));
94
+ return yield* unsalvaged(message, Option.none());
50
95
  }
51
96
  const dirty = inspected.success.status.trim().length > 0;
52
- if (!dirty && Option.contains(options.baseCommit, inspected.success.head)) {
53
- yield* Effect.logInfo("Nothing to salvage from the Attempt worktree", fields);
54
- return Option.none();
55
- }
56
- let commit = inspected.success.head;
57
- if (dirty) {
58
- const committed = yield* git(["add", "--all"]).pipe(Effect.andThen(git([
59
- ...SALVAGE_GIT_CONFIG,
97
+ /**
98
+ * Commits the salvaged paths without the files larger than GitHub accepts, and returns the
99
+ * checkout's head and the files left out.
100
+ */
101
+ const snapshot = (current) => Effect.gen(function* () {
102
+ yield* git(["add", "--all", "--", ...SALVAGED_PATHS]);
103
+ // Exclusion pathspecs don't unstage the caches that the Attempt's own `git add` staged.
104
+ yield* git(["reset", "--quiet", "--", ...CACHE_PATHS]);
105
+ const staged = (yield* git(["diff", "--cached", "--name-only", "--no-renames", "-z"]))
106
+ .split("\0")
107
+ .filter((path) => path.length > 0);
108
+ if (staged.length === 0)
109
+ return { commit: current, leftOut: [] };
110
+ const tree = (yield* git(["write-tree"])).trim();
111
+ const oversized = oversizedIn(yield* git(["ls-tree", "-r", "-l", "-z", tree]), new Set(staged));
112
+ if (oversized.length > 0) {
113
+ yield* git([
114
+ "--literal-pathspecs",
115
+ "reset",
116
+ "--quiet",
117
+ "--",
118
+ ...oversized.map(({ path }) => path),
119
+ ]);
120
+ yield* Effect.logWarning("Left files larger than GitHub's 100 MiB limit out of the salvage commit", { ...fields, files: describeFiles(oversized) });
121
+ }
122
+ if (staged.length === oversized.length)
123
+ return { commit: current, leftOut: oversized };
124
+ yield* git([
125
+ "-c",
126
+ "commit.gpgsign=false",
60
127
  "commit",
61
128
  "--quiet",
62
129
  "--no-verify",
63
130
  "--message",
64
131
  `wip(usine): salvage attempt ${options.attemptId}`,
65
- ])), Effect.andThen(head()), Effect.result);
132
+ ]);
133
+ return { commit: yield* head(), leftOut: oversized };
134
+ });
135
+ let commit = inspected.success.head;
136
+ let leftOut = [];
137
+ if (dirty) {
138
+ const committed = yield* snapshot(commit).pipe(Effect.result);
66
139
  if (Result.isFailure(committed)) {
67
140
  const message = failureMessage(committed.failure);
68
141
  yield* Effect.logError("Could not commit the Attempt's uncommitted changes", {
69
142
  ...fields,
70
143
  message,
71
144
  });
72
- return Option.some(new SalvageRetained({ path: options.worktree, commit: Option.some(commit), message }));
145
+ return yield* unsalvaged(message, Option.some(commit));
73
146
  }
74
- else {
75
- commit = committed.success;
147
+ ({ commit, leftOut } = committed.success);
148
+ }
149
+ if (Option.contains(options.baseCommit, commit)) {
150
+ if (leftOut.length === 0) {
151
+ yield* Effect.logInfo("Nothing to salvage from the Attempt worktree", fields);
152
+ return Option.none();
76
153
  }
154
+ const message = leftOutMessage(leftOut);
155
+ yield* Effect.logWarning("Nothing to push but files larger than GitHub's limit; retaining the Attempt worktree", { ...fields, commit, message });
156
+ return Option.some(new SalvageRetained({ path: options.worktree, commit: Option.some(commit), message }));
157
+ }
158
+ const rejected = Option.filter(options.rejected, (salvage) => salvage.commit === commit);
159
+ if (Option.isSome(rejected)) {
160
+ yield* Effect.logInfo("The remote rejected this salvage commit before; retaining the Attempt worktree without pushing it again", { ...fields, ref: options.ref, commit });
161
+ return Option.some(rejected.value);
77
162
  }
78
163
  const pushFailure = yield* git([
79
164
  "push",
@@ -90,6 +175,10 @@ export const salvageWorktree = Effect.fn("Executor.salvageWorktree")(function* (
90
175
  }));
91
176
  if (Option.isSome(pushFailure)) {
92
177
  const message = pushFailure.value;
178
+ if (LARGE_FILES_REFUSAL.test(message)) {
179
+ yield* Effect.logError("GitHub refused the salvage push for a file over its size limit; retaining the Attempt worktree, which recovery doesn't push again until its commit changes", { ...fields, ref: options.ref, commit, message });
180
+ return Option.some(new SalvageRejected({ path: options.worktree, commit, message }));
181
+ }
93
182
  yield* Effect.logError("Salvage push failed; retaining the Attempt worktree", {
94
183
  ...fields,
95
184
  ref: options.ref,
@@ -98,6 +187,11 @@ export const salvageWorktree = Effect.fn("Executor.salvageWorktree")(function* (
98
187
  });
99
188
  return Option.some(new SalvageRetained({ path: options.worktree, commit: Option.some(commit), message }));
100
189
  }
190
+ if (leftOut.length > 0) {
191
+ const message = leftOutMessage(leftOut);
192
+ yield* Effect.logWarning("Salvaged the Attempt's work without files larger than GitHub's limit; retaining the Attempt worktree, which has their only copy", { ...fields, ref: options.ref, commit, message });
193
+ return Option.some(new SalvagePartlyPushed({ ref: options.ref, commit, path: options.worktree, message }));
194
+ }
101
195
  yield* Effect.logInfo("Salvaged the Attempt's work", { ...fields, ref: options.ref, commit });
102
196
  return Option.some(new SalvagePushed({ ref: options.ref, commit }));
103
197
  });
@@ -1 +1 @@
1
- {"version":3,"file":"salvage.js","sourceRoot":"","sources":["../src/salvage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"salvage.js","sourceRoot":"","sources":["../src/salvage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { Harness } from "@usine/core/agent/brain";
2
+ import { Effect, Option, Redacted } from "effect";
3
+ import { type RemoteCommands } from "../remote/commands.ts";
4
+ import type { RemoteAccess } from "../remote/machine.ts";
5
+ import type { MachineGateway, SshMachine, SshWorkerAddress } from "./model.ts";
6
+ /** Returns whether the Gateway holds a credential for `harness`'s provider. */
7
+ export declare const gatewayHolds: (gateway: Option.Option<MachineGateway>, harness: Harness) => boolean;
8
+ /**
9
+ * Returns the API key that each Attempt on a Worker's machine gets for `harness`, or `None` if
10
+ * the Worker isn't provisioned, the provisioner sets no key, or the Gateway has the provider's
11
+ * credential.
12
+ */
13
+ export declare const provisionedApiKey: (worker: {
14
+ readonly address: SshWorkerAddress;
15
+ readonly gateway: Option.Option<MachineGateway>;
16
+ }, harness: Harness) => Option.Option<Redacted.Redacted<string>>;
17
+ /**
18
+ * Returns `access` with the provisioner's API keys among the Attempt's secrets. With an OpenAI
19
+ * key, also writes the Attempt's Codex home, which `holdCodexHome` gives it, with
20
+ * `CODEX_API_KEY_CONFIG`.
21
+ */
22
+ export declare const withApiKeys: (commands: RemoteCommands, holdCodexHome: (machine: SshMachine, attemptId: string & import("effect/Brand").Brand<"AttemptId">) => Effect.Effect<string, never, import("effect/Scope").Scope>, machine: SshMachine, attemptId: string & import("effect/Brand").Brand<"AttemptId">, access: RemoteAccess, operation: "cancel" | "cleanup" | "launch" | "preflight" | "prepare") => Effect.Effect<RemoteAccess | {
23
+ readOnlyPaths: ReadonlyArray<string>;
24
+ gitEnvironment: Readonly<Record<string, string>>;
25
+ refresh: Effect.Effect<void, import("../executor.ts").ExecutorError>;
26
+ shell: import("@usine/agents/child-host").RemoteShell;
27
+ secrets: {
28
+ [x: string]: Redacted.Redacted<string>;
29
+ };
30
+ writablePaths: string[];
31
+ environment: Readonly<Record<string, string>> | {
32
+ CODEX_HOME: string;
33
+ };
34
+ scrub: (text: string) => string;
35
+ }, import("../executor.ts").ExecutorOperationError, import("effect/Scope").Scope>;
36
+ //# sourceMappingURL=api-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../src/ssh/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA4B/E,+EAA+E;AAC/E,eAAO,MAAM,YAAY,YAAa,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,OAAO,KAAG,OAKrF,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,WACpB;IAAE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;CAAE,WACtF,OAAO,KACf,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAOzC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;kBAsCN,MAAM;iFAMtB,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { Effect, Option, Redacted } from "effect";
2
+ import { sendingShell } from "../remote/commands.js";
3
+ import { writeMachineFiles } from "./gateway/attachments.js";
4
+ /** The provider each harness needs a credential from. Pi children run only on local Workers. */
5
+ const PROVIDER_OF_HARNESS = {
6
+ claude: Option.some("anthropic"),
7
+ codex: Option.some("openai"),
8
+ pi: Option.none(),
9
+ };
10
+ /** The variable with the OpenAI API key that Codex's `model_provider` reads (`env_key`). */
11
+ const OPENAI_KEY_VARIABLE = "OPENAI_API_KEY";
12
+ /**
13
+ * Codex's `config.toml` for an OpenAI API key in `OPENAI_API_KEY`: a `model_provider` that
14
+ * sends the Responses API to `api.openai.com` and needs no login. The file contains no key.
15
+ */
16
+ const CODEX_API_KEY_CONFIG = [
17
+ 'model_provider = "usine-openai"',
18
+ "",
19
+ "[model_providers.usine-openai]",
20
+ 'name = "OpenAI API key"',
21
+ 'base_url = "https://api.openai.com/v1"',
22
+ `env_key = "${OPENAI_KEY_VARIABLE}"`,
23
+ 'wire_api = "responses"',
24
+ "requires_openai_auth = false",
25
+ "",
26
+ ].join("\n");
27
+ /** Returns whether the Gateway holds a credential for `harness`'s provider. */
28
+ export const gatewayHolds = (gateway, harness) => Option.exists(gateway, ({ settings }) => Option.exists(PROVIDER_OF_HARNESS[harness], (provider) => settings.llmProviders.includes(provider)));
29
+ /**
30
+ * Returns the API key that each Attempt on a Worker's machine gets for `harness`, or `None` if
31
+ * the Worker isn't provisioned, the provisioner sets no key, or the Gateway has the provider's
32
+ * credential.
33
+ */
34
+ export const provisionedApiKey = (worker, harness) => {
35
+ const { machine } = worker.address;
36
+ if (machine._tag !== "Provisioned" || gatewayHolds(worker.gateway, harness))
37
+ return Option.none();
38
+ return Option.flatMap(PROVIDER_OF_HARNESS[harness], (provider) => machine.provisioner.apiKeys[provider]);
39
+ };
40
+ /**
41
+ * Returns `access` with the provisioner's API keys among the Attempt's secrets. With an OpenAI
42
+ * key, also writes the Attempt's Codex home, which `holdCodexHome` gives it, with
43
+ * `CODEX_API_KEY_CONFIG`.
44
+ */
45
+ export const withApiKeys = Effect.fn("SshExecutor.withApiKeys")(function* (commands, holdCodexHome, machine, attemptId, access, operation) {
46
+ const anthropic = provisionedApiKey(machine, "claude");
47
+ const openai = provisionedApiKey(machine, "codex");
48
+ const secrets = Object.fromEntries([
49
+ ...Option.toArray(Option.map(anthropic, (key) => ["ANTHROPIC_API_KEY", key])),
50
+ ...Option.toArray(Option.map(openai, (key) => [OPENAI_KEY_VARIABLE, key])),
51
+ ]);
52
+ if (Object.keys(secrets).length === 0)
53
+ return access;
54
+ const codexHome = yield* Effect.transposeOption(Option.map(openai, () => holdCodexHome(machine, attemptId).pipe(Effect.tap((home) => writeMachineFiles(commands, operation, machine.shell, [
55
+ [`${home}/config.toml`, CODEX_API_KEY_CONFIG],
56
+ ])))));
57
+ const values = Object.values(secrets).map(Redacted.value);
58
+ return {
59
+ ...access,
60
+ // An Attempt container gets the secrets when it starts; without one, the SSH connection
61
+ // sends them.
62
+ shell: sendingShell(access.shell, secrets),
63
+ secrets: { ...access.secrets, ...secrets },
64
+ writablePaths: [...access.writablePaths, ...Option.toArray(codexHome)],
65
+ environment: Option.match(codexHome, {
66
+ onNone: () => access.environment,
67
+ onSome: (home) => ({ ...access.environment, CODEX_HOME: home }),
68
+ }),
69
+ scrub: (text) => values.reduce((scrubbed, value) => scrubbed.replaceAll(value, "<redacted>"), access.scrub(text)),
70
+ };
71
+ });
72
+ //# sourceMappingURL=api-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../src/ssh/api-keys.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAuB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,gGAAgG;AAChG,MAAM,mBAAmB,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE;CACoD,CAAC;AAExE,4FAA4F;AAC5F,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C;;;GAGG;AACH,MAAM,oBAAoB,GAAG;IAC3B,iCAAiC;IACjC,EAAE;IACF,gCAAgC;IAChC,yBAAyB;IACzB,wCAAwC;IACxC,cAAc,mBAAmB,GAAG;IACpC,wBAAwB;IACxB,8BAA8B;IAC9B,EAAE;CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,+EAA+E;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAsC,EAAE,OAAgB,EAAW,EAAE,CAChG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACtC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CACvD,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACzC,CACF,CAAC;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,MAA+F,EAC/F,OAAgB,EAC0B,EAAE;IAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IACnC,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IAClG,OAAO,MAAM,CAAC,OAAO,CACnB,mBAAmB,CAAC,OAAO,CAAC,EAC5B,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CACpD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EACvE,QAAwB,EACxB,aAAiC,EACjC,OAAmB,EACnB,SAAoB,EACpB,MAAoB,EACpB,SAA4B;IAE5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAU,CAAC,CAAC;QACtF,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAU,CAAC,CAAC;KACpF,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAC7C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACtB,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CACpC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE;QACpD,CAAC,GAAG,IAAI,cAAc,EAAE,oBAAoB,CAAC;KAC9C,CAAC,CACH,CACF,CACF,CACF,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,OAAO;QACL,GAAG,MAAM;QACT,wFAAwF;QACxF,cAAc;QACd,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;QAC1C,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE;QAC1C,aAAa,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;YACnC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW;YAChC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;SAChE,CAAC;QACF,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CACtB,MAAM,CAAC,MAAM,CACX,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,EAC7D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CACnB;KACmB,CAAC;AAC3B,CAAC,CAAC,CAAC"}