@usine/executor 0.2.1 → 0.4.0

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 (250) hide show
  1. package/LICENSE +661 -21
  2. package/README.md +212 -37
  3. package/dist/child-command.d.ts +5 -8
  4. package/dist/child-command.d.ts.map +1 -1
  5. package/dist/child-command.js +10 -14
  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 +9 -0
  12. package/dist/claude-login-lock.d.ts.map +1 -0
  13. package/dist/claude-login-lock.js +15 -0
  14. package/dist/claude-login-lock.js.map +1 -0
  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/credential-environment.d.ts +20 -0
  36. package/dist/credential-environment.d.ts.map +1 -0
  37. package/dist/credential-environment.js +20 -0
  38. package/dist/credential-environment.js.map +1 -0
  39. package/dist/durable-session.d.ts +81 -0
  40. package/dist/durable-session.d.ts.map +1 -0
  41. package/dist/durable-session.js +550 -0
  42. package/dist/durable-session.js.map +1 -0
  43. package/dist/exe-dev/commands.d.ts +23 -13
  44. package/dist/exe-dev/commands.d.ts.map +1 -1
  45. package/dist/exe-dev/commands.js +11 -57
  46. package/dist/exe-dev/commands.js.map +1 -1
  47. package/dist/exe-dev/exe-dev.d.ts +9 -3
  48. package/dist/exe-dev/exe-dev.d.ts.map +1 -1
  49. package/dist/exe-dev/exe-dev.js +61 -128
  50. package/dist/exe-dev/exe-dev.js.map +1 -1
  51. package/dist/exe-dev/grants.d.ts.map +1 -1
  52. package/dist/exe-dev/grants.js +35 -15
  53. package/dist/exe-dev/grants.js.map +1 -1
  54. package/dist/exe-dev/model.d.ts +15 -19
  55. package/dist/exe-dev/model.d.ts.map +1 -1
  56. package/dist/exe-dev/model.js +9 -12
  57. package/dist/exe-dev/model.js.map +1 -1
  58. package/dist/exe-dev/preflight.d.ts +8 -4
  59. package/dist/exe-dev/preflight.d.ts.map +1 -1
  60. package/dist/exe-dev/preflight.js +26 -35
  61. package/dist/exe-dev/preflight.js.map +1 -1
  62. package/dist/executor.d.ts +292 -44
  63. package/dist/executor.d.ts.map +1 -1
  64. package/dist/executor.js +187 -19
  65. package/dist/executor.js.map +1 -1
  66. package/dist/guard.d.ts +57 -7
  67. package/dist/guard.d.ts.map +1 -1
  68. package/dist/guard.js +274 -59
  69. package/dist/guard.js.map +1 -1
  70. package/dist/harness-preflight.d.ts +27 -5
  71. package/dist/harness-preflight.d.ts.map +1 -1
  72. package/dist/harness-preflight.js +32 -31
  73. package/dist/harness-preflight.js.map +1 -1
  74. package/dist/keyed-lock.d.ts +2 -3
  75. package/dist/keyed-lock.d.ts.map +1 -1
  76. package/dist/keyed-lock.js +2 -3
  77. package/dist/keyed-lock.js.map +1 -1
  78. package/dist/leftovers.d.ts +9 -0
  79. package/dist/leftovers.d.ts.map +1 -0
  80. package/dist/leftovers.js +14 -0
  81. package/dist/leftovers.js.map +1 -0
  82. package/dist/local/credentials.d.ts +21 -0
  83. package/dist/local/credentials.d.ts.map +1 -0
  84. package/dist/local/credentials.js +39 -0
  85. package/dist/local/credentials.js.map +1 -0
  86. package/dist/local/leftovers.d.ts +8 -0
  87. package/dist/local/leftovers.d.ts.map +1 -0
  88. package/dist/local/leftovers.js +23 -0
  89. package/dist/local/leftovers.js.map +1 -0
  90. package/dist/local/local.d.ts +17 -11
  91. package/dist/local/local.d.ts.map +1 -1
  92. package/dist/local/local.js +205 -132
  93. package/dist/local/local.js.map +1 -1
  94. package/dist/memory-preflight.d.ts +27 -0
  95. package/dist/memory-preflight.d.ts.map +1 -0
  96. package/dist/memory-preflight.js +83 -0
  97. package/dist/memory-preflight.js.map +1 -0
  98. package/dist/pre-push-hook.d.ts +20 -0
  99. package/dist/pre-push-hook.d.ts.map +1 -0
  100. package/dist/pre-push-hook.js +33 -0
  101. package/dist/pre-push-hook.js.map +1 -0
  102. package/dist/prepared-attempt.d.ts +41 -3
  103. package/dist/prepared-attempt.d.ts.map +1 -1
  104. package/dist/prepared-attempt.js +109 -31
  105. package/dist/prepared-attempt.js.map +1 -1
  106. package/dist/provision.d.ts +129 -15
  107. package/dist/provision.d.ts.map +1 -1
  108. package/dist/provision.js +428 -69
  109. package/dist/provision.js.map +1 -1
  110. package/dist/remote/commands.d.ts +51 -0
  111. package/dist/remote/commands.d.ts.map +1 -0
  112. package/dist/remote/commands.js +94 -0
  113. package/dist/remote/commands.js.map +1 -0
  114. package/dist/remote/container.d.ts +90 -0
  115. package/dist/remote/container.d.ts.map +1 -0
  116. package/dist/remote/container.js +480 -0
  117. package/dist/remote/container.js.map +1 -0
  118. package/dist/remote/leftovers.d.ts +14 -0
  119. package/dist/remote/leftovers.d.ts.map +1 -0
  120. package/dist/remote/leftovers.js +22 -0
  121. package/dist/remote/leftovers.js.map +1 -0
  122. package/dist/remote/liveness.d.ts +33 -0
  123. package/dist/remote/liveness.d.ts.map +1 -0
  124. package/dist/remote/liveness.js +196 -0
  125. package/dist/remote/liveness.js.map +1 -0
  126. package/dist/remote/machine.d.ts +110 -0
  127. package/dist/remote/machine.d.ts.map +1 -0
  128. package/dist/remote/machine.js +2 -0
  129. package/dist/remote/machine.js.map +1 -0
  130. package/dist/remote/remote.d.ts +28 -0
  131. package/dist/remote/remote.d.ts.map +1 -0
  132. package/dist/remote/remote.js +556 -0
  133. package/dist/remote/remote.js.map +1 -0
  134. package/dist/remote/sweep.d.ts +17 -0
  135. package/dist/remote/sweep.d.ts.map +1 -0
  136. package/dist/remote/sweep.js +117 -0
  137. package/dist/remote/sweep.js.map +1 -0
  138. package/dist/renewable-credential.d.ts +17 -0
  139. package/dist/renewable-credential.d.ts.map +1 -0
  140. package/dist/renewable-credential.js +58 -0
  141. package/dist/renewable-credential.js.map +1 -0
  142. package/dist/salvage.d.ts +38 -0
  143. package/dist/salvage.d.ts.map +1 -0
  144. package/dist/salvage.js +198 -0
  145. package/dist/salvage.js.map +1 -0
  146. package/dist/ssh/api-keys.d.ts +36 -0
  147. package/dist/ssh/api-keys.d.ts.map +1 -0
  148. package/dist/ssh/api-keys.js +72 -0
  149. package/dist/ssh/api-keys.js.map +1 -0
  150. package/dist/ssh/codex-homes.d.ts +21 -0
  151. package/dist/ssh/codex-homes.d.ts.map +1 -0
  152. package/dist/ssh/codex-homes.js +78 -0
  153. package/dist/ssh/codex-homes.js.map +1 -0
  154. package/dist/ssh/container.d.ts +32 -0
  155. package/dist/ssh/container.d.ts.map +1 -0
  156. package/dist/ssh/container.js +282 -0
  157. package/dist/ssh/container.js.map +1 -0
  158. package/dist/ssh/credentials.d.ts +43 -0
  159. package/dist/ssh/credentials.d.ts.map +1 -0
  160. package/dist/ssh/credentials.js +86 -0
  161. package/dist/ssh/credentials.js.map +1 -0
  162. package/dist/ssh/gateway/admin.d.ts +45 -0
  163. package/dist/ssh/gateway/admin.d.ts.map +1 -0
  164. package/dist/ssh/gateway/admin.js +129 -0
  165. package/dist/ssh/gateway/admin.js.map +1 -0
  166. package/dist/ssh/gateway/attachments.d.ts +31 -0
  167. package/dist/ssh/gateway/attachments.d.ts.map +1 -0
  168. package/dist/ssh/gateway/attachments.js +168 -0
  169. package/dist/ssh/gateway/attachments.js.map +1 -0
  170. package/dist/ssh/gateway/environment.d.ts +71 -0
  171. package/dist/ssh/gateway/environment.d.ts.map +1 -0
  172. package/dist/ssh/gateway/environment.js +148 -0
  173. package/dist/ssh/gateway/environment.js.map +1 -0
  174. package/dist/ssh/gateway/forward.d.ts +74 -0
  175. package/dist/ssh/gateway/forward.d.ts.map +1 -0
  176. package/dist/ssh/gateway/forward.js +247 -0
  177. package/dist/ssh/gateway/forward.js.map +1 -0
  178. package/dist/ssh/gateway/preflight.d.ts +67 -0
  179. package/dist/ssh/gateway/preflight.d.ts.map +1 -0
  180. package/dist/ssh/gateway/preflight.js +320 -0
  181. package/dist/ssh/gateway/preflight.js.map +1 -0
  182. package/dist/ssh/limits.d.ts +60 -0
  183. package/dist/ssh/limits.d.ts.map +1 -0
  184. package/dist/ssh/limits.js +84 -0
  185. package/dist/ssh/limits.js.map +1 -0
  186. package/dist/ssh/model.d.ts +153 -0
  187. package/dist/ssh/model.d.ts.map +1 -0
  188. package/dist/ssh/model.js +2 -0
  189. package/dist/ssh/model.js.map +1 -0
  190. package/dist/ssh/preflight.d.ts +35 -0
  191. package/dist/ssh/preflight.d.ts.map +1 -0
  192. package/dist/ssh/preflight.js +87 -0
  193. package/dist/ssh/preflight.js.map +1 -0
  194. package/dist/ssh/provisioner/boat.d.ts +33 -0
  195. package/dist/ssh/provisioner/boat.d.ts.map +1 -0
  196. package/dist/ssh/provisioner/boat.js +247 -0
  197. package/dist/ssh/provisioner/boat.js.map +1 -0
  198. package/dist/ssh/provisioner/hetzner.d.ts +32 -0
  199. package/dist/ssh/provisioner/hetzner.d.ts.map +1 -0
  200. package/dist/ssh/provisioner/hetzner.js +337 -0
  201. package/dist/ssh/provisioner/hetzner.js.map +1 -0
  202. package/dist/ssh/provisioner/host-key.d.ts +11 -0
  203. package/dist/ssh/provisioner/host-key.d.ts.map +1 -0
  204. package/dist/ssh/provisioner/host-key.js +57 -0
  205. package/dist/ssh/provisioner/host-key.js.map +1 -0
  206. package/dist/ssh/provisioner/http.d.ts +45 -0
  207. package/dist/ssh/provisioner/http.d.ts.map +1 -0
  208. package/dist/ssh/provisioner/http.js +72 -0
  209. package/dist/ssh/provisioner/http.js.map +1 -0
  210. package/dist/ssh/provisioner/machines.d.ts +48 -0
  211. package/dist/ssh/provisioner/machines.d.ts.map +1 -0
  212. package/dist/ssh/provisioner/machines.js +686 -0
  213. package/dist/ssh/provisioner/machines.js.map +1 -0
  214. package/dist/ssh/provisioner/model.d.ts +92 -0
  215. package/dist/ssh/provisioner/model.d.ts.map +1 -0
  216. package/dist/ssh/provisioner/model.js +37 -0
  217. package/dist/ssh/provisioner/model.js.map +1 -0
  218. package/dist/ssh/ssh.d.ts +23 -0
  219. package/dist/ssh/ssh.d.ts.map +1 -0
  220. package/dist/ssh/ssh.js +145 -0
  221. package/dist/ssh/ssh.js.map +1 -0
  222. package/dist/ssh/worker-records.d.ts +18 -0
  223. package/dist/ssh/worker-records.d.ts.map +1 -0
  224. package/dist/ssh/worker-records.js +100 -0
  225. package/dist/ssh/worker-records.js.map +1 -0
  226. package/dist/ssh/workers.d.ts +80 -0
  227. package/dist/ssh/workers.d.ts.map +1 -0
  228. package/dist/ssh/workers.js +247 -0
  229. package/dist/ssh/workers.js.map +1 -0
  230. package/package.json +25 -9
  231. package/dist/exe-dev/channel.d.ts +0 -12
  232. package/dist/exe-dev/channel.d.ts.map +0 -1
  233. package/dist/exe-dev/channel.js +0 -42
  234. package/dist/exe-dev/channel.js.map +0 -1
  235. package/dist/exe-dev/shell.d.ts +0 -12
  236. package/dist/exe-dev/shell.d.ts.map +0 -1
  237. package/dist/exe-dev/shell.js +0 -31
  238. package/dist/exe-dev/shell.js.map +0 -1
  239. package/dist/exe-dev/sweep.d.ts +0 -10
  240. package/dist/exe-dev/sweep.d.ts.map +0 -1
  241. package/dist/exe-dev/sweep.js +0 -117
  242. package/dist/exe-dev/sweep.js.map +0 -1
  243. package/dist/invalid-frame.d.ts +0 -17
  244. package/dist/invalid-frame.d.ts.map +0 -1
  245. package/dist/invalid-frame.js +0 -111
  246. package/dist/invalid-frame.js.map +0 -1
  247. package/dist/run-host-session.d.ts +0 -27
  248. package/dist/run-host-session.d.ts.map +0 -1
  249. package/dist/run-host-session.js +0 -303
  250. package/dist/run-host-session.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/cloudflare/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAsC,MAAM,aAAa,CAAC;AAE7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,gBAAgB,yGAS3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;;;;IAuB1D,2DAA2D;;;;AAV7D;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,wBAQvC;CAAG;AAoCL,6FAA6F;AAC7F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,CACf,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,aAAa,KACnB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACxD,mDAAmD;IACnD,QAAQ,CAAC,GAAG,EAAE,CACZ,IAAI,EAAE,WAAW,KACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACvE,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC/D,QAAQ,CAAC,WAAW,EAAE,CACpB,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,kBAAkB,KAC5B,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACxD,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IACzF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAClF,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;CACxF;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;gCAiE3B,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { ACCESS_CLIENT_ID_HEADER, ACCESS_CLIENT_SECRET_HEADER, SandboxApi, } from "@usine/cloudflare";
2
+ import { WorkerName } from "@usine/core/worker";
3
+ import { Effect, Option, Redacted, Schema } from "effect";
4
+ import { HttpClient, HttpClientError, HttpClientRequest } from "effect/http";
5
+ import { HttpApiClient } from "effect/http-api";
6
+ export const SandboxOperation = Schema.Literals([
7
+ "health",
8
+ "create",
9
+ "get",
10
+ "list",
11
+ "credentials",
12
+ "hold",
13
+ "stop",
14
+ "destroy",
15
+ ]);
16
+ const ACTIONS = {
17
+ health: "check the Worker's health",
18
+ create: "create the sandbox",
19
+ get: "read the sandbox",
20
+ list: "list the sandboxes",
21
+ credentials: "renew the sandbox's credentials",
22
+ hold: "hold the sandbox",
23
+ stop: "stop the sandbox's commands",
24
+ destroy: "destroy the sandbox",
25
+ };
26
+ /**
27
+ * A failed request to the Worker. `message` contains no credential; the request and raw failure
28
+ * are discarded because create and credential requests contain the installation token and the
29
+ * provider keys.
30
+ */
31
+ export class SandboxRequestError extends Schema.TaggedError("@usine/executor/SandboxRequestError")("SandboxRequestError", {
32
+ worker: WorkerName,
33
+ operation: SandboxOperation,
34
+ /** Whether the Worker refused the Access service token. */
35
+ refused: Schema.Boolean,
36
+ message: Schema.NonEmptyString,
37
+ }) {
38
+ }
39
+ /** The timeout for one request. Creating a sandbox starts its container. */
40
+ const REQUEST_TIMEOUT = "2 minutes";
41
+ /** Returns the failure reason, built only from the failure's tag, status, and typed fields. */
42
+ const reason = (failure) => {
43
+ if (HttpClientError.isHttpClientError(failure))
44
+ return failure.response === undefined
45
+ ? `no response (${failure.reason._tag})`
46
+ : failure.response.status === 401
47
+ ? "the Worker refused the Access service token"
48
+ : `the Worker returned status ${String(failure.response.status)}`;
49
+ switch (failure._tag) {
50
+ case "TimeoutError":
51
+ return `no response within ${REQUEST_TIMEOUT}`;
52
+ case "SandboxNotFound":
53
+ return "the sandbox doesn't exist";
54
+ case "SandboxConflict":
55
+ return "the sandbox exists for another Attempt";
56
+ case "StaleCredentials":
57
+ return "the sandbox holds credentials that usine issued later";
58
+ case "ImageNotFound":
59
+ return "the Worker has no image with that name";
60
+ case "ContainerUnavailable":
61
+ return "the sandbox's container isn't running or failed the request";
62
+ case "SchemaError":
63
+ return "the Worker's response doesn't match its schema";
64
+ default:
65
+ return `the request failed with ${failure._tag}`;
66
+ }
67
+ };
68
+ const refusedToken = (failure) => HttpClientError.isHttpClientError(failure) && failure.response?.status === 401;
69
+ /**
70
+ * Returns the client for `address`'s Worker, which sends the Access service token with each
71
+ * request and lists only `owner`'s sandboxes.
72
+ */
73
+ export const sandboxClientFor = Effect.fn("CloudflareExecutor.sandboxClientFor")(function* (address, owner) {
74
+ const client = yield* HttpApiClient.make(SandboxApi, {
75
+ baseUrl: address.workerUrl,
76
+ transformClient: HttpClient.mapRequest(HttpClientRequest.setHeaders({
77
+ [ACCESS_CLIENT_ID_HEADER]: Redacted.value(address.accessClientId),
78
+ [ACCESS_CLIENT_SECRET_HEADER]: Redacted.value(address.accessClientSecret),
79
+ })),
80
+ });
81
+ const worker = address.name;
82
+ const request = (operation, effect, fields = {}) => effect.pipe(Effect.timeout(REQUEST_TIMEOUT), Effect.mapError((failure) => new SandboxRequestError({
83
+ worker,
84
+ operation,
85
+ refused: refusedToken(failure),
86
+ message: `Can't ${ACTIONS[operation]} for cloudflare worker "${worker}": ${reason(failure)}`,
87
+ })), Effect.tapError((error) => Effect.logWarning("Cloudflare Worker request failed", {
88
+ worker,
89
+ operation,
90
+ message: error.message,
91
+ ...fields,
92
+ })), Effect.withSpan(`CloudflareExecutor.${operation}`, { attributes: { worker, ...fields } }));
93
+ return {
94
+ health: request("health", client.health.health()),
95
+ create: (name, body) => request("create", client.sandbox.create({ params: { name }, payload: body }), {
96
+ sandbox: name,
97
+ }),
98
+ get: (name) => request("get", client.sandbox.get({ params: { name } }).pipe(Effect.map(Option.some), Effect.catchTag("SandboxNotFound", () => Effect.succeedNone)), { sandbox: name }),
99
+ list: request("list", client.registry.list({ query: { owner } }), { owner }),
100
+ credentials: (name, body) => request("credentials", client.sandbox.credentials({ params: { name }, payload: body }), {
101
+ sandbox: name,
102
+ }),
103
+ hold: (name) => request("hold", client.sandbox.hold({ params: { name } }), { sandbox: name }),
104
+ stop: (name) => request("stop", client.sandbox.stop({ params: { name } }), { sandbox: name }),
105
+ destroy: (name) => request("destroy", client.sandbox.destroy({ params: { name } }), { sandbox: name }),
106
+ };
107
+ });
108
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/cloudflare/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { ClaudeLoginLock } from "@usine/agents/runtime";
2
+ import { AttemptRuntime } from "@usine/durable/attempt-runtime";
3
+ import { Layer } from "effect";
4
+ import type { HttpClient } from "effect/http";
5
+ import type { ChildProcessSpawner } from "effect/process";
6
+ import { CredentialProvider, Executor } from "../executor.ts";
7
+ import type { CloudflareExecutorOptions } from "./model.ts";
8
+ /**
9
+ * The executor for `cloudflare` Workers. Each Attempt runs in its own sandbox, which the
10
+ * Worker deployed from `@usine/cloudflare` creates; its Pi parent is a durable task in this
11
+ * process (`AttemptRuntime`), and each child and git command runs in the sandbox through the
12
+ * sandbox shell. A live Attempt reattaches to its sandbox after an orchestrator restart.
13
+ * Requires Node.
14
+ */
15
+ export declare const layer: (options: CloudflareExecutorOptions) => Layer.Layer<Executor, never, AttemptRuntime | ClaudeLoginLock | ChildProcessSpawner.ChildProcessSpawner | CredentialProvider | HttpClient.HttpClient>;
16
+ export type { CloudflareExecutorOptions, CloudflareProviderKey, CloudflareWorkerAddress, } from "./model.ts";
17
+ //# sourceMappingURL=cloudflare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../src/cloudflare/cloudflare.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA0BxD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAOL,KAAK,EAMN,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,OAAO,EAEL,kBAAkB,EAClB,QAAQ,EAOT,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,KAAK,EAAE,yBAAyB,EAA2B,MAAM,YAAY,CAAC;AA+mCrF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,YACP,yBAAyB,KACjC,KAAK,CAAC,KAAK,CACZ,QAAQ,EACR,KAAK,EACH,cAAc,GACd,eAAe,GACf,mBAAmB,CAAC,mBAAmB,GACvC,kBAAkB,GAClB,UAAU,CAAC,UAAU,CACmC,CAAC;AAE7D,YAAY,EACV,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,YAAY,CAAC"}