@alchemy.run/e2b 0.0.0 → 2.0.0-beta.87

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 (284) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +56 -4
  3. package/lib/ApiKey.d.ts +53 -0
  4. package/lib/ApiKey.d.ts.map +1 -0
  5. package/lib/ApiKey.js +107 -0
  6. package/lib/ApiKey.js.map +1 -0
  7. package/lib/AuthProvider.d.ts +60 -0
  8. package/lib/AuthProvider.d.ts.map +1 -0
  9. package/lib/AuthProvider.js +293 -0
  10. package/lib/AuthProvider.js.map +1 -0
  11. package/lib/Bootstrap.d.ts +7 -0
  12. package/lib/Bootstrap.d.ts.map +1 -0
  13. package/lib/Bootstrap.js +25 -0
  14. package/lib/Bootstrap.js.map +1 -0
  15. package/lib/ConnectSandbox.d.ts +67 -0
  16. package/lib/ConnectSandbox.d.ts.map +1 -0
  17. package/lib/ConnectSandbox.js +3 -0
  18. package/lib/ConnectSandbox.js.map +1 -0
  19. package/lib/ConnectSandboxHttp.d.ts +22 -0
  20. package/lib/ConnectSandboxHttp.d.ts.map +1 -0
  21. package/lib/ConnectSandboxHttp.js +30 -0
  22. package/lib/ConnectSandboxHttp.js.map +1 -0
  23. package/lib/Contributions.d.ts +7 -0
  24. package/lib/Contributions.d.ts.map +1 -0
  25. package/lib/Contributions.js +6 -0
  26. package/lib/Contributions.js.map +1 -0
  27. package/lib/CreateSandbox.d.ts +139 -0
  28. package/lib/CreateSandbox.d.ts.map +1 -0
  29. package/lib/CreateSandbox.js +3 -0
  30. package/lib/CreateSandbox.js.map +1 -0
  31. package/lib/CreateSandboxHttp.d.ts +22 -0
  32. package/lib/CreateSandboxHttp.d.ts.map +1 -0
  33. package/lib/CreateSandboxHttp.js +99 -0
  34. package/lib/CreateSandboxHttp.js.map +1 -0
  35. package/lib/CreateSecret.d.ts +57 -0
  36. package/lib/CreateSecret.d.ts.map +1 -0
  37. package/lib/CreateSecret.js +3 -0
  38. package/lib/CreateSecret.js.map +1 -0
  39. package/lib/CreateSecretHttp.d.ts +20 -0
  40. package/lib/CreateSecretHttp.d.ts.map +1 -0
  41. package/lib/CreateSecretHttp.js +64 -0
  42. package/lib/CreateSecretHttp.js.map +1 -0
  43. package/lib/CreateSnapshot.d.ts +53 -0
  44. package/lib/CreateSnapshot.d.ts.map +1 -0
  45. package/lib/CreateSnapshot.js +3 -0
  46. package/lib/CreateSnapshot.js.map +1 -0
  47. package/lib/CreateSnapshotHttp.d.ts +20 -0
  48. package/lib/CreateSnapshotHttp.d.ts.map +1 -0
  49. package/lib/CreateSnapshotHttp.js +41 -0
  50. package/lib/CreateSnapshotHttp.js.map +1 -0
  51. package/lib/CreateTemplate.d.ts +96 -0
  52. package/lib/CreateTemplate.d.ts.map +1 -0
  53. package/lib/CreateTemplate.js +3 -0
  54. package/lib/CreateTemplate.js.map +1 -0
  55. package/lib/CreateTemplateHttp.d.ts +20 -0
  56. package/lib/CreateTemplateHttp.d.ts.map +1 -0
  57. package/lib/CreateTemplateHttp.js +99 -0
  58. package/lib/CreateTemplateHttp.js.map +1 -0
  59. package/lib/CreateVolume.d.ts +58 -0
  60. package/lib/CreateVolume.d.ts.map +1 -0
  61. package/lib/CreateVolume.js +3 -0
  62. package/lib/CreateVolume.js.map +1 -0
  63. package/lib/CreateVolumeHttp.d.ts +20 -0
  64. package/lib/CreateVolumeHttp.d.ts.map +1 -0
  65. package/lib/CreateVolumeHttp.js +51 -0
  66. package/lib/CreateVolumeHttp.js.map +1 -0
  67. package/lib/Credentials.d.ts +18 -0
  68. package/lib/Credentials.d.ts.map +1 -0
  69. package/lib/Credentials.js +55 -0
  70. package/lib/Credentials.js.map +1 -0
  71. package/lib/E2BBindings.d.ts +35 -0
  72. package/lib/E2BBindings.d.ts.map +1 -0
  73. package/lib/E2BBindings.js +127 -0
  74. package/lib/E2BBindings.js.map +1 -0
  75. package/lib/Errors.d.ts +61 -0
  76. package/lib/Errors.d.ts.map +1 -0
  77. package/lib/Errors.js +23 -0
  78. package/lib/Errors.js.map +1 -0
  79. package/lib/InferEnv.d.ts +26 -0
  80. package/lib/InferEnv.d.ts.map +1 -0
  81. package/lib/InferEnv.js +1 -0
  82. package/lib/InferEnv.js.map +1 -0
  83. package/lib/MountVolume.d.ts +86 -0
  84. package/lib/MountVolume.d.ts.map +1 -0
  85. package/lib/MountVolume.js +3 -0
  86. package/lib/MountVolume.js.map +1 -0
  87. package/lib/MountVolumeLive.d.ts +23 -0
  88. package/lib/MountVolumeLive.d.ts.map +1 -0
  89. package/lib/MountVolumeLive.js +41 -0
  90. package/lib/MountVolumeLive.js.map +1 -0
  91. package/lib/Providers.d.ts +14 -0
  92. package/lib/Providers.d.ts.map +1 -0
  93. package/lib/Providers.js +23 -0
  94. package/lib/Providers.js.map +1 -0
  95. package/lib/ReadTeam.d.ts +41 -0
  96. package/lib/ReadTeam.d.ts.map +1 -0
  97. package/lib/ReadTeam.js +3 -0
  98. package/lib/ReadTeam.js.map +1 -0
  99. package/lib/ReadTeamHttp.d.ts +20 -0
  100. package/lib/ReadTeamHttp.d.ts.map +1 -0
  101. package/lib/ReadTeamHttp.js +40 -0
  102. package/lib/ReadTeamHttp.js.map +1 -0
  103. package/lib/ReadVolume.d.ts +25 -0
  104. package/lib/ReadVolume.d.ts.map +1 -0
  105. package/lib/ReadVolume.js +3 -0
  106. package/lib/ReadVolume.js.map +1 -0
  107. package/lib/ReadVolumeHttp.d.ts +20 -0
  108. package/lib/ReadVolumeHttp.d.ts.map +1 -0
  109. package/lib/ReadVolumeHttp.js +27 -0
  110. package/lib/ReadVolumeHttp.js.map +1 -0
  111. package/lib/ReadWebhook.d.ts +32 -0
  112. package/lib/ReadWebhook.d.ts.map +1 -0
  113. package/lib/ReadWebhook.js +3 -0
  114. package/lib/ReadWebhook.js.map +1 -0
  115. package/lib/ReadWebhookHttp.d.ts +20 -0
  116. package/lib/ReadWebhookHttp.d.ts.map +1 -0
  117. package/lib/ReadWebhookHttp.js +31 -0
  118. package/lib/ReadWebhookHttp.js.map +1 -0
  119. package/lib/ReadWriteVolume.d.ts +26 -0
  120. package/lib/ReadWriteVolume.d.ts.map +1 -0
  121. package/lib/ReadWriteVolume.js +3 -0
  122. package/lib/ReadWriteVolume.js.map +1 -0
  123. package/lib/ReadWriteVolumeHttp.d.ts +20 -0
  124. package/lib/ReadWriteVolumeHttp.d.ts.map +1 -0
  125. package/lib/ReadWriteVolumeHttp.js +27 -0
  126. package/lib/ReadWriteVolumeHttp.js.map +1 -0
  127. package/lib/Sandbox.d.ts +295 -0
  128. package/lib/Sandbox.d.ts.map +1 -0
  129. package/lib/Sandbox.js +351 -0
  130. package/lib/Sandbox.js.map +1 -0
  131. package/lib/SandboxClient.d.ts +226 -0
  132. package/lib/SandboxClient.d.ts.map +1 -0
  133. package/lib/SandboxClient.js +1 -0
  134. package/lib/SandboxClient.js.map +1 -0
  135. package/lib/SandboxEvents.d.ts +87 -0
  136. package/lib/SandboxEvents.d.ts.map +1 -0
  137. package/lib/SandboxEvents.js +39 -0
  138. package/lib/SandboxEvents.js.map +1 -0
  139. package/lib/SandboxEventsLive.d.ts +13 -0
  140. package/lib/SandboxEventsLive.d.ts.map +1 -0
  141. package/lib/SandboxEventsLive.js +80 -0
  142. package/lib/SandboxEventsLive.js.map +1 -0
  143. package/lib/Secret.d.ts +105 -0
  144. package/lib/Secret.d.ts.map +1 -0
  145. package/lib/Secret.js +161 -0
  146. package/lib/Secret.js.map +1 -0
  147. package/lib/Snapshot.d.ts +118 -0
  148. package/lib/Snapshot.d.ts.map +1 -0
  149. package/lib/Snapshot.js +158 -0
  150. package/lib/Snapshot.js.map +1 -0
  151. package/lib/Template.d.ts +313 -0
  152. package/lib/Template.d.ts.map +1 -0
  153. package/lib/Template.js +421 -0
  154. package/lib/Template.js.map +1 -0
  155. package/lib/Volume.d.ts +88 -0
  156. package/lib/Volume.d.ts.map +1 -0
  157. package/lib/Volume.js +136 -0
  158. package/lib/Volume.js.map +1 -0
  159. package/lib/VolumeFiles.d.ts +39 -0
  160. package/lib/VolumeFiles.d.ts.map +1 -0
  161. package/lib/VolumeFiles.js +1 -0
  162. package/lib/VolumeFiles.js.map +1 -0
  163. package/lib/Webhook.d.ts +83 -0
  164. package/lib/Webhook.d.ts.map +1 -0
  165. package/lib/Webhook.js +138 -0
  166. package/lib/Webhook.js.map +1 -0
  167. package/lib/WriteSecret.d.ts +34 -0
  168. package/lib/WriteSecret.d.ts.map +1 -0
  169. package/lib/WriteSecret.js +3 -0
  170. package/lib/WriteSecret.js.map +1 -0
  171. package/lib/WriteSecretHttp.d.ts +20 -0
  172. package/lib/WriteSecretHttp.d.ts.map +1 -0
  173. package/lib/WriteSecretHttp.js +37 -0
  174. package/lib/WriteSecretHttp.js.map +1 -0
  175. package/lib/WriteVolume.d.ts +25 -0
  176. package/lib/WriteVolume.d.ts.map +1 -0
  177. package/lib/WriteVolume.js +3 -0
  178. package/lib/WriteVolume.js.map +1 -0
  179. package/lib/WriteVolumeHttp.d.ts +20 -0
  180. package/lib/WriteVolumeHttp.d.ts.map +1 -0
  181. package/lib/WriteVolumeHttp.js +27 -0
  182. package/lib/WriteVolumeHttp.js.map +1 -0
  183. package/lib/index.d.ts +43 -0
  184. package/lib/index.d.ts.map +1 -0
  185. package/lib/index.js +43 -0
  186. package/lib/index.js.map +1 -0
  187. package/lib/internal/Declared.d.ts +29 -0
  188. package/lib/internal/Declared.d.ts.map +1 -0
  189. package/lib/internal/Declared.js +31 -0
  190. package/lib/internal/Declared.js.map +1 -0
  191. package/lib/internal/Login.d.ts +45 -0
  192. package/lib/internal/Login.d.ts.map +1 -0
  193. package/lib/internal/Login.js +157 -0
  194. package/lib/internal/Login.js.map +1 -0
  195. package/lib/internal/Ownership.d.ts +29 -0
  196. package/lib/internal/Ownership.d.ts.map +1 -0
  197. package/lib/internal/Ownership.js +49 -0
  198. package/lib/internal/Ownership.js.map +1 -0
  199. package/lib/internal/Program.d.ts +31 -0
  200. package/lib/internal/Program.d.ts.map +1 -0
  201. package/lib/internal/Program.js +60 -0
  202. package/lib/internal/Program.js.map +1 -0
  203. package/lib/internal/SandboxHandle.d.ts +25 -0
  204. package/lib/internal/SandboxHandle.d.ts.map +1 -0
  205. package/lib/internal/SandboxHandle.js +316 -0
  206. package/lib/internal/SandboxHandle.js.map +1 -0
  207. package/lib/internal/SnapshotBuild.d.ts +19 -0
  208. package/lib/internal/SnapshotBuild.d.ts.map +1 -0
  209. package/lib/internal/SnapshotBuild.js +49 -0
  210. package/lib/internal/SnapshotBuild.js.map +1 -0
  211. package/lib/internal/Tar.d.ts +10 -0
  212. package/lib/internal/Tar.d.ts.map +1 -0
  213. package/lib/internal/Tar.js +61 -0
  214. package/lib/internal/Tar.js.map +1 -0
  215. package/lib/internal/TemplateBuild.d.ts +142 -0
  216. package/lib/internal/TemplateBuild.d.ts.map +1 -0
  217. package/lib/internal/TemplateBuild.js +220 -0
  218. package/lib/internal/TemplateBuild.js.map +1 -0
  219. package/lib/internal/TemplatePlan.d.ts +57 -0
  220. package/lib/internal/TemplatePlan.d.ts.map +1 -0
  221. package/lib/internal/TemplatePlan.js +185 -0
  222. package/lib/internal/TemplatePlan.js.map +1 -0
  223. package/lib/internal/VolumeHttp.d.ts +5 -0
  224. package/lib/internal/VolumeHttp.d.ts.map +1 -0
  225. package/lib/internal/VolumeHttp.js +46 -0
  226. package/lib/internal/VolumeHttp.js.map +1 -0
  227. package/package.json +62 -3
  228. package/src/ApiKey.ts +148 -0
  229. package/src/AuthProvider.ts +437 -0
  230. package/src/Bootstrap.ts +51 -0
  231. package/src/ConnectSandbox.ts +71 -0
  232. package/src/ConnectSandboxHttp.ts +38 -0
  233. package/src/Contributions.ts +9 -0
  234. package/src/CreateSandbox.ts +157 -0
  235. package/src/CreateSandboxHttp.ts +131 -0
  236. package/src/CreateSecret.ts +65 -0
  237. package/src/CreateSecretHttp.ts +94 -0
  238. package/src/CreateSnapshot.ts +64 -0
  239. package/src/CreateSnapshotHttp.ts +55 -0
  240. package/src/CreateTemplate.ts +135 -0
  241. package/src/CreateTemplateHttp.ts +152 -0
  242. package/src/CreateVolume.ts +65 -0
  243. package/src/CreateVolumeHttp.ts +80 -0
  244. package/src/Credentials.ts +81 -0
  245. package/src/E2BBindings.ts +160 -0
  246. package/src/Errors.ts +47 -0
  247. package/src/InferEnv.ts +27 -0
  248. package/src/MountVolume.ts +92 -0
  249. package/src/MountVolumeLive.ts +49 -0
  250. package/src/Providers.ts +48 -0
  251. package/src/ReadTeam.ts +55 -0
  252. package/src/ReadTeamHttp.ts +44 -0
  253. package/src/ReadVolume.ts +29 -0
  254. package/src/ReadVolumeHttp.ts +32 -0
  255. package/src/ReadWebhook.ts +41 -0
  256. package/src/ReadWebhookHttp.ts +42 -0
  257. package/src/ReadWriteVolume.ts +30 -0
  258. package/src/ReadWriteVolumeHttp.ts +32 -0
  259. package/src/Sandbox.ts +581 -0
  260. package/src/SandboxClient.ts +268 -0
  261. package/src/SandboxEvents.ts +101 -0
  262. package/src/SandboxEventsLive.ts +118 -0
  263. package/src/Secret.ts +229 -0
  264. package/src/Snapshot.ts +234 -0
  265. package/src/Template.ts +636 -0
  266. package/src/Volume.ts +173 -0
  267. package/src/VolumeFiles.ts +53 -0
  268. package/src/Webhook.ts +215 -0
  269. package/src/WriteSecret.ts +39 -0
  270. package/src/WriteSecretHttp.ts +43 -0
  271. package/src/WriteVolume.ts +29 -0
  272. package/src/WriteVolumeHttp.ts +32 -0
  273. package/src/globals.d.ts +2 -0
  274. package/src/index.ts +42 -0
  275. package/src/internal/Declared.ts +80 -0
  276. package/src/internal/Login.ts +210 -0
  277. package/src/internal/Ownership.ts +67 -0
  278. package/src/internal/Program.ts +75 -0
  279. package/src/internal/SandboxHandle.ts +534 -0
  280. package/src/internal/SnapshotBuild.ts +74 -0
  281. package/src/internal/Tar.ts +74 -0
  282. package/src/internal/TemplateBuild.ts +383 -0
  283. package/src/internal/TemplatePlan.ts +230 -0
  284. package/src/internal/VolumeHttp.ts +88 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Volume.js","sources":["../src/Volume.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type * as volumeContent from "@distilled.cloud/e2b/volume_content";
2
+ import type { RuntimeContext } from "alchemy/RuntimeContext";
3
+ import type * as Effect from "effect/Effect";
4
+ import type { E2BError } from "./SandboxClient.ts";
5
+ /** A file, directory or symlink in a volume. */
6
+ export type VolumeEntry = volumeContent.VolumeEntryStat;
7
+ /** Ownership and permissions for a written file or directory. */
8
+ export interface VolumeEntryOptions {
9
+ readonly uid?: number;
10
+ readonly gid?: number;
11
+ /** POSIX mode, e.g. `0o644`. */
12
+ readonly mode?: number;
13
+ }
14
+ /** Read a volume's files without a sandbox. Paths are absolute inside the volume. */
15
+ export interface ReadVolumeClient {
16
+ read(path: string): Effect.Effect<Uint8Array, E2BError, RuntimeContext>;
17
+ readText(path: string): Effect.Effect<string, E2BError, RuntimeContext>;
18
+ /** Directory entries, `depth` levels deep. */
19
+ list(path: string, options?: {
20
+ readonly depth?: number;
21
+ }): Effect.Effect<ReadonlyArray<VolumeEntry>, E2BError, RuntimeContext>;
22
+ stat(path: string): Effect.Effect<VolumeEntry, E2BError, RuntimeContext>;
23
+ exists(path: string): Effect.Effect<boolean, E2BError, RuntimeContext>;
24
+ }
25
+ /** Write a volume's files without a sandbox. Paths are absolute inside the volume. */
26
+ export interface WriteVolumeClient {
27
+ /** Writes a file, creating parent directories. */
28
+ write(path: string, data: string | Uint8Array, options?: VolumeEntryOptions): Effect.Effect<VolumeEntry, E2BError, RuntimeContext>;
29
+ /** Creates a directory and its parents. */
30
+ makeDir(path: string, options?: VolumeEntryOptions): Effect.Effect<VolumeEntry, E2BError, RuntimeContext>;
31
+ /** Changes ownership or mode. */
32
+ chmod(path: string, options: VolumeEntryOptions): Effect.Effect<VolumeEntry, E2BError, RuntimeContext>;
33
+ /** Removes a file or a directory tree. Removing a missing path succeeds. */
34
+ remove(path: string): Effect.Effect<void, E2BError, RuntimeContext>;
35
+ }
36
+ /** Read and write a volume's files without a sandbox. */
37
+ export interface ReadWriteVolumeClient extends ReadVolumeClient, WriteVolumeClient {
38
+ }
39
+ //# sourceMappingURL=VolumeFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolumeFiles.d.ts","sources":["../src/VolumeFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,aAAa,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,gDAAgD;AAChD,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,eAAe,CAAC;AAExD,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxE,8CAA8C;IAC9C,IAAI,CACF,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;CACxE;AAED,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,KAAK,CACH,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxD,2CAA2C;IAC3C,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxD,iCAAiC;IACjC,KAAK,CACH,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxD,4EAA4E;IAC5E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;CACrE;AAED,yDAAyD;AACzD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,EAAE,iBAAiB;CAAG"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=VolumeFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolumeFiles.js","sources":["../src/VolumeFiles.ts"],"names":[],"mappings":""}
@@ -0,0 +1,83 @@
1
+ import * as webhooks from "@distilled.cloud/e2b/webhooks";
2
+ import * as Provider from "alchemy/Provider";
3
+ import { Resource } from "alchemy/Resource";
4
+ import * as Redacted from "effect/Redacted";
5
+ import type { Providers } from "./Providers.ts";
6
+ /** Sandbox lifecycle events E2B delivers to webhooks. */
7
+ export type SandboxEventType = "sandbox.lifecycle.created" | "sandbox.lifecycle.killed" | "sandbox.lifecycle.updated" | "sandbox.lifecycle.paused" | "sandbox.lifecycle.resumed" | "sandbox.lifecycle.checkpointed";
8
+ export declare const ALL_SANDBOX_EVENTS: ReadonlyArray<SandboxEventType>;
9
+ export interface WebhookProps {
10
+ /**
11
+ * Webhook name. If omitted, a unique name is generated from the stack,
12
+ * stage and logical ID. Updated in place.
13
+ */
14
+ name?: string;
15
+ /** The URL E2B POSTs each event to. */
16
+ url: string;
17
+ /**
18
+ * The events to deliver.
19
+ * @default every sandbox lifecycle event
20
+ */
21
+ events?: SandboxEventType[];
22
+ /**
23
+ * Whether E2B delivers events.
24
+ * @default true
25
+ */
26
+ enabled?: boolean;
27
+ /**
28
+ * The secret E2B signs each delivery with. The `e2b-signature` header is
29
+ * the unpadded base64 SHA-256 of this secret followed by the raw body.
30
+ * At least 32 characters.
31
+ */
32
+ signatureSecret: Redacted.Redacted<string>;
33
+ }
34
+ export interface WebhookAttributes {
35
+ /** E2B's webhook id. */
36
+ webhookId: string;
37
+ name: string;
38
+ url: string;
39
+ events: string[];
40
+ enabled: boolean;
41
+ }
42
+ export interface Webhook extends Resource<"E2B.Webhook", WebhookProps, WebhookAttributes, never, Providers, {
43
+ name: string;
44
+ }> {
45
+ }
46
+ /**
47
+ * An E2B webhook: E2B POSTs every sandbox lifecycle event (created, paused,
48
+ * resumed, checkpointed, updated, killed) in your team to a URL.
49
+ *
50
+ * Use `E2B.SandboxEvents` to point a webhook at a Worker or Function and
51
+ * handle the events there; it declares this resource for you and verifies
52
+ * each delivery's signature. Declare a `Webhook` directly for an endpoint
53
+ * Alchemy does not deploy.
54
+ *
55
+ * E2B webhooks carry no labels, so Alchemy recognises its webhooks by their
56
+ * generated name.
57
+ *
58
+ * ### Creating a Webhook
59
+ * **Example:** Deliver pause and kill events to an existing endpoint
60
+ * ```typescript
61
+ * export const Lifecycle = E2B.Webhook("Lifecycle", {
62
+ * url: "https://hooks.example.com/e2b",
63
+ * events: ["sandbox.lifecycle.paused", "sandbox.lifecycle.killed"],
64
+ * signatureSecret: Config.Redacted("E2B_WEBHOOK_SECRET"),
65
+ * });
66
+ * ```
67
+ *
68
+ * ### Referencing a webhook the stack doesn't manage
69
+ * `E2B.Webhook.lookup` finds an existing webhook by name. Nothing is created,
70
+ * adopted or deleted.
71
+ *
72
+ * **Example:** Look one up by name
73
+ * ```typescript
74
+ * const audit = E2B.Webhook.lookup({ name: "audit" });
75
+ * const deliveries = yield* E2B.ReadWebhook(audit);
76
+ * ```
77
+ *
78
+ * @resource
79
+ * @product Webhook
80
+ */
81
+ export declare const Webhook: import("alchemy/Resource").ResourceClass<Webhook>;
82
+ export declare const WebhookProvider: () => import("effect/Layer").Layer<Provider.Provider<Webhook>, never, import("alchemy/Stack").Stack | import("alchemy/Stage").Stage | webhooks.E2BOpContext>;
83
+ //# sourceMappingURL=Webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Webhook.d.ts","sources":["../src/Webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAC;AAE1D,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAG5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,yDAAyD;AACzD,MAAM,MAAM,gBAAgB,GACxB,2BAA2B,GAC3B,0BAA0B,GAC1B,2BAA2B,GAC3B,0BAA0B,GAC1B,2BAA2B,GAC3B,gCAAgC,CAAC;AAErC,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,CAO9D,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ,CACvC,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,SAAS,EACT;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CACjB;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,OAAO,mDAAmC,CAAC;AA0BxD,eAAO,MAAM,eAAe,8JAiFzB,CAAC"}
package/lib/Webhook.js ADDED
@@ -0,0 +1,138 @@
1
+ import * as webhooks from "@distilled.cloud/e2b/webhooks";
2
+ import { Unowned } from "alchemy/AdoptPolicy";
3
+ import * as Provider from "alchemy/Provider";
4
+ import { Resource } from "alchemy/Resource";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Redacted from "effect/Redacted";
7
+ import { E2BUnexpectedResponse } from "./Errors.js";
8
+ import { e2bName, isGeneratedName } from "./internal/Ownership.js";
9
+ export const ALL_SANDBOX_EVENTS = [
10
+ "sandbox.lifecycle.created",
11
+ "sandbox.lifecycle.killed",
12
+ "sandbox.lifecycle.updated",
13
+ "sandbox.lifecycle.paused",
14
+ "sandbox.lifecycle.resumed",
15
+ "sandbox.lifecycle.checkpointed",
16
+ ];
17
+ /**
18
+ * An E2B webhook: E2B POSTs every sandbox lifecycle event (created, paused,
19
+ * resumed, checkpointed, updated, killed) in your team to a URL.
20
+ *
21
+ * Use `E2B.SandboxEvents` to point a webhook at a Worker or Function and
22
+ * handle the events there; it declares this resource for you and verifies
23
+ * each delivery's signature. Declare a `Webhook` directly for an endpoint
24
+ * Alchemy does not deploy.
25
+ *
26
+ * E2B webhooks carry no labels, so Alchemy recognises its webhooks by their
27
+ * generated name.
28
+ *
29
+ * ### Creating a Webhook
30
+ * **Example:** Deliver pause and kill events to an existing endpoint
31
+ * ```typescript
32
+ * export const Lifecycle = E2B.Webhook("Lifecycle", {
33
+ * url: "https://hooks.example.com/e2b",
34
+ * events: ["sandbox.lifecycle.paused", "sandbox.lifecycle.killed"],
35
+ * signatureSecret: Config.Redacted("E2B_WEBHOOK_SECRET"),
36
+ * });
37
+ * ```
38
+ *
39
+ * ### Referencing a webhook the stack doesn't manage
40
+ * `E2B.Webhook.lookup` finds an existing webhook by name. Nothing is created,
41
+ * adopted or deleted.
42
+ *
43
+ * **Example:** Look one up by name
44
+ * ```typescript
45
+ * const audit = E2B.Webhook.lookup({ name: "audit" });
46
+ * const deliveries = yield* E2B.ReadWebhook(audit);
47
+ * ```
48
+ *
49
+ * @resource
50
+ * @product Webhook
51
+ */
52
+ export const Webhook = Resource("E2B.Webhook");
53
+ const toAttrs = (webhook) => ({
54
+ webhookId: webhook.id,
55
+ name: webhook.name,
56
+ url: webhook.url,
57
+ events: [...webhook.events],
58
+ enabled: webhook.enabled,
59
+ });
60
+ const findByName = (name) => webhooks.listWebhooks({}).pipe(Effect.map((all) => all.find((hook) => hook.name === name)));
61
+ const observe = (webhookId, name) => webhookId !== undefined
62
+ ? webhooks.getWebhook({ webhookID: webhookId }).pipe(Effect.map((hook) => hook), Effect.catchTag("NotFound", () => findByName(name)))
63
+ : findByName(name);
64
+ const sameEvents = (a, b) => a.length === b.length && [...a].sort().join() === [...b].sort().join();
65
+ export const WebhookProvider = () => Provider.effect(Webhook, Effect.gen(function* () {
66
+ return {
67
+ stables: ["webhookId"],
68
+ lookup: Effect.fn(function* ({ name }) {
69
+ const hook = yield* observe(undefined, name);
70
+ return hook === undefined ? undefined : toAttrs(hook);
71
+ }),
72
+ read: Effect.fn(function* ({ id, olds, output }) {
73
+ const name = output?.name ?? (yield* e2bName(id, olds?.name));
74
+ const hook = yield* observe(output?.webhookId, name);
75
+ if (hook === undefined)
76
+ return undefined;
77
+ const attrs = toAttrs(hook);
78
+ return output !== undefined || olds?.name === undefined ? attrs : Unowned(attrs);
79
+ }),
80
+ reconcile: Effect.fn(function* ({ id, news, olds, output, session }) {
81
+ // Webhooks are renamed in place, so the desired name wins over the
82
+ // stored one; the stored id finds the webhook either way.
83
+ const name = news.name ?? output?.name ?? (yield* e2bName(id, undefined));
84
+ const events = [...(news.events ?? ALL_SANDBOX_EVENTS)];
85
+ const enabled = news.enabled ?? true;
86
+ // Observe
87
+ const observed = yield* observe(output?.webhookId, output?.name ?? name);
88
+ // Ensure
89
+ if (observed === undefined) {
90
+ yield* session.note(`Creating webhook ${name}...`);
91
+ const created = yield* webhooks.createWebhook({
92
+ name,
93
+ url: news.url,
94
+ events,
95
+ enabled,
96
+ signatureSecret: news.signatureSecret,
97
+ });
98
+ return toAttrs(created);
99
+ }
100
+ // Sync — the signing secret is write-only, so `olds` is the only
101
+ // signal that the stored one already matches.
102
+ const secretChanged = olds === undefined ||
103
+ Redacted.value(olds.signatureSecret) !== Redacted.value(news.signatureSecret);
104
+ if (observed.name !== name ||
105
+ observed.url !== news.url ||
106
+ observed.enabled !== enabled ||
107
+ !sameEvents(observed.events, events) ||
108
+ secretChanged) {
109
+ yield* webhooks.updateWebhook({
110
+ webhookID: observed.id,
111
+ name,
112
+ url: news.url,
113
+ events,
114
+ enabled,
115
+ ...(secretChanged ? { signatureSecret: news.signatureSecret } : {}),
116
+ });
117
+ const updated = yield* observe(observed.id, name);
118
+ if (updated === undefined) {
119
+ return yield* new E2BUnexpectedResponse({
120
+ message: `E2B webhook ${name} vanished after update`,
121
+ });
122
+ }
123
+ return toAttrs(updated);
124
+ }
125
+ return toAttrs(observed);
126
+ }),
127
+ delete: Effect.fn(function* ({ output }) {
128
+ yield* webhooks
129
+ .deleteWebhook({ webhookID: output.webhookId })
130
+ .pipe(Effect.catchTag("NotFound", () => Effect.void));
131
+ }),
132
+ list: Effect.fn(function* () {
133
+ const all = yield* webhooks.listWebhooks({});
134
+ return all.filter((hook) => isGeneratedName(hook.name)).map(toAttrs);
135
+ }),
136
+ };
137
+ }));
138
+ //# sourceMappingURL=Webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Webhook.js","sources":["../src/Webhook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ import type { RuntimeContext } from "alchemy/RuntimeContext";
3
+ import type * as Effect from "effect/Effect";
4
+ import type * as Redacted from "effect/Redacted";
5
+ import type { E2BError } from "./SandboxClient.ts";
6
+ import type { Secret, SecretAttributes } from "./Secret.ts";
7
+ /** Rotate one declared secret. */
8
+ export interface WriteSecretClient {
9
+ /** Stores a new version of the secret. Sandboxes resolve it on their next request. */
10
+ put(value: Redacted.Redacted<string>): Effect.Effect<SecretAttributes, E2BError, RuntimeContext>;
11
+ }
12
+ /**
13
+ * Rotate a declared {@link Secret} at runtime: a scheduled job refreshing a
14
+ * short-lived token, or a webhook storing a reissued credential. Sandboxes
15
+ * resolve the new version on their next request.
16
+ *
17
+ * A later deploy stores the declared `value` again only when that value
18
+ * changes.
19
+ *
20
+ * ### Rotating a secret
21
+ * **Example:** Store a refreshed token
22
+ * ```typescript
23
+ * const token = yield* E2B.WriteSecret(GitHubToken);
24
+ * // in a scheduled handler:
25
+ * yield* token.put(Redacted.make(fresh));
26
+ * ```
27
+ *
28
+ * @binding
29
+ * @product Secret
30
+ */
31
+ export interface WriteSecret extends Binding.Service<WriteSecret, "E2B.WriteSecret", (secret: Secret) => Effect.Effect<WriteSecretClient>> {
32
+ }
33
+ export declare const WriteSecret: WriteSecret;
34
+ //# sourceMappingURL=WriteSecret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteSecret.d.ts","sources":["../src/WriteSecret.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE5D,kCAAkC;AAClC,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;CAClG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO,CAAC,OAAO,CAClD,WAAW,EACX,iBAAiB,EACjB,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACrD;CAAG;AAEJ,eAAO,MAAM,WAAW,aAAkD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ export const WriteSecret = Binding.Service("E2B.WriteSecret");
3
+ //# sourceMappingURL=WriteSecret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteSecret.js","sources":["../src/WriteSecret.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAsC3C,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAc,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { WriteSecret } from "./WriteSecret.ts";
3
+ /**
4
+ * HTTP implementation of {@link WriteSecret}. Works on any host.
5
+ *
6
+ * ### Provide the layer
7
+ * **Example:** On a Worker
8
+ * ```typescript
9
+ * Effect.gen(function* () {
10
+ * const token = yield* E2B.WriteSecret(GitHubToken);
11
+ * // ...
12
+ * }).pipe(Effect.provide(E2B.WriteSecretHttp))
13
+ * ```
14
+ *
15
+ * @layer
16
+ * @product Secret
17
+ * @provides E2B.WriteSecret
18
+ */
19
+ export declare const WriteSecretHttp: Layer.Layer<WriteSecret, never, never>;
20
+ //# sourceMappingURL=WriteSecretHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteSecretHttp.d.ts","sources":["../src/WriteSecretHttp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,WAAW,EAA0B,MAAM,kBAAkB,CAAC;AAEvE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,wCAkB3B,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as secrets from "@distilled.cloud/e2b/secrets";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import { bindE2B } from "./E2BBindings.js";
5
+ import { toSecretAttributes } from "./Secret.js";
6
+ import { WriteSecret } from "./WriteSecret.js";
7
+ /**
8
+ * HTTP implementation of {@link WriteSecret}. Works on any host.
9
+ *
10
+ * ### Provide the layer
11
+ * **Example:** On a Worker
12
+ * ```typescript
13
+ * Effect.gen(function* () {
14
+ * const token = yield* E2B.WriteSecret(GitHubToken);
15
+ * // ...
16
+ * }).pipe(Effect.provide(E2B.WriteSecretHttp))
17
+ * ```
18
+ *
19
+ * @layer
20
+ * @product Secret
21
+ * @provides E2B.WriteSecret
22
+ */
23
+ export const WriteSecretHttp = Layer.succeed(WriteSecret, Effect.fn("E2B.WriteSecret")(function* (secret) {
24
+ const auth = yield* bindE2B;
25
+ const secretId = yield* secret.secretId.asEffect();
26
+ const client = {
27
+ put: Effect.fn("E2B.WriteSecret.put")(function* (value) {
28
+ const id = yield* secretId;
29
+ // Keep the secret's metadata (ownership stamp included) as it is.
30
+ const current = yield* auth.authorize(secrets.getSecret({ secretID: id }));
31
+ const stored = yield* auth.authorize(secrets.updateSecret({ secretID: id, value, metadata: current.metadata }));
32
+ return toSecretAttributes(stored);
33
+ }),
34
+ };
35
+ return client;
36
+ }));
37
+ //# sourceMappingURL=WriteSecretHttp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteSecretHttp.js","sources":["../src/WriteSecretHttp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAe,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,WAAW,EAA0B,MAAM,kBAAkB,CAAC;AAEvE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAC1C,WAAW,EACX,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAc;IACpD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAE,MAAM,CAAC,QAAyC,CAAC,QAAQ,EAAE,CAAC;IACrF,MAAM,MAAM,GAAsB;QAChC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK;YACpD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC;YAC3B,kEAAkE;YAClE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAClC,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC1E,CAAC;YACF,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC;KACH,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ import type * as Effect from "effect/Effect";
3
+ import type { Volume } from "./Volume.ts";
4
+ import type { WriteVolumeClient } from "./VolumeFiles.ts";
5
+ /**
6
+ * Write a {@link Volume}'s files from outside any sandbox: seed inputs before sandboxes start, or clean up after them.
7
+ *
8
+ * The client talks to E2B's volume content API with the volume's own token,
9
+ * looked up once through the host's API key.
10
+ *
11
+ * ### Using the client
12
+ * **Example:** In a Worker
13
+ * ```typescript
14
+ * const inputs = yield* E2B.WriteVolume(Inputs);
15
+ * // in fetch:
16
+ * yield* inputs.write("/task.json", JSON.stringify(task));
17
+ * ```
18
+ *
19
+ * @binding
20
+ * @product Volume
21
+ */
22
+ export interface WriteVolume extends Binding.Service<WriteVolume, "E2B.WriteVolume", (volume: Volume) => Effect.Effect<WriteVolumeClient>> {
23
+ }
24
+ export declare const WriteVolume: WriteVolume;
25
+ //# sourceMappingURL=WriteVolume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteVolume.d.ts","sources":["../src/WriteVolume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO,CAAC,OAAO,CAClD,WAAW,EACX,iBAAiB,EACjB,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACrD;CAAG;AAEJ,eAAO,MAAM,WAAW,aAAkD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as Binding from "alchemy/Binding";
2
+ export const WriteVolume = Binding.Service("E2B.WriteVolume");
3
+ //# sourceMappingURL=WriteVolume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteVolume.js","sources":["../src/WriteVolume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AA4B3C,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAc,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { WriteVolume } from "./WriteVolume.ts";
3
+ /**
4
+ * HTTP implementation of {@link WriteVolume}. Works on any host.
5
+ *
6
+ * ### Provide the layer
7
+ * **Example:** On a Worker
8
+ * ```typescript
9
+ * Effect.gen(function* () {
10
+ * const inputs = yield* E2B.WriteVolume(Inputs);
11
+ * // ...
12
+ * }).pipe(Effect.provide(E2B.WriteVolumeHttp))
13
+ * ```
14
+ *
15
+ * @layer
16
+ * @product Volume
17
+ * @provides E2B.WriteVolume
18
+ */
19
+ export declare const WriteVolumeHttp: Layer.Layer<WriteVolume, never, never>;
20
+ //# sourceMappingURL=WriteVolumeHttp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteVolumeHttp.d.ts","sources":["../src/WriteVolumeHttp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,wCAO3B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import { bindE2B } from "./E2BBindings.js";
4
+ import { makeVolumeFiles } from "./internal/VolumeHttp.js";
5
+ import { WriteVolume } from "./WriteVolume.js";
6
+ /**
7
+ * HTTP implementation of {@link WriteVolume}. Works on any host.
8
+ *
9
+ * ### Provide the layer
10
+ * **Example:** On a Worker
11
+ * ```typescript
12
+ * Effect.gen(function* () {
13
+ * const inputs = yield* E2B.WriteVolume(Inputs);
14
+ * // ...
15
+ * }).pipe(Effect.provide(E2B.WriteVolumeHttp))
16
+ * ```
17
+ *
18
+ * @layer
19
+ * @product Volume
20
+ * @provides E2B.WriteVolume
21
+ */
22
+ export const WriteVolumeHttp = Layer.succeed(WriteVolume, Effect.fn("E2B.WriteVolume")(function* (volume) {
23
+ const auth = yield* bindE2B;
24
+ const volumeId = yield* volume.volumeId.asEffect();
25
+ return makeVolumeFiles(auth, volumeId);
26
+ }));
27
+ //# sourceMappingURL=WriteVolumeHttp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriteVolumeHttp.js","sources":["../src/WriteVolumeHttp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAC1C,WAAW,EACX,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAc;IACpD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAE,MAAM,CAAC,QAAyC,CAAC,QAAQ,EAAE,CAAC;IACrF,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC,CACH,CAAC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,43 @@
1
+ export * from "./ApiKey.ts";
2
+ export * from "./AuthProvider.ts";
3
+ export * from "./ConnectSandbox.ts";
4
+ export * from "./ConnectSandboxHttp.ts";
5
+ export * from "./CreateSandbox.ts";
6
+ export * from "./CreateSandboxHttp.ts";
7
+ export * from "./CreateSecret.ts";
8
+ export * from "./CreateSecretHttp.ts";
9
+ export * from "./CreateSnapshot.ts";
10
+ export * from "./CreateSnapshotHttp.ts";
11
+ export * from "./CreateTemplate.ts";
12
+ export * from "./CreateTemplateHttp.ts";
13
+ export * from "./CreateVolume.ts";
14
+ export * from "./CreateVolumeHttp.ts";
15
+ export * from "./Credentials.ts";
16
+ export * from "./Errors.ts";
17
+ export * from "./InferEnv.ts";
18
+ export * from "./MountVolume.ts";
19
+ export * from "./MountVolumeLive.ts";
20
+ export * from "./Providers.ts";
21
+ export * from "./ReadTeam.ts";
22
+ export * from "./ReadTeamHttp.ts";
23
+ export * from "./ReadVolume.ts";
24
+ export * from "./ReadWebhook.ts";
25
+ export * from "./ReadWebhookHttp.ts";
26
+ export * from "./ReadVolumeHttp.ts";
27
+ export * from "./ReadWriteVolume.ts";
28
+ export * from "./ReadWriteVolumeHttp.ts";
29
+ export * from "./Sandbox.ts";
30
+ export * from "./SandboxClient.ts";
31
+ export * from "./SandboxEvents.ts";
32
+ export * from "./SandboxEventsLive.ts";
33
+ export * from "./Secret.ts";
34
+ export * from "./Snapshot.ts";
35
+ export * from "./Template.ts";
36
+ export * from "./Volume.ts";
37
+ export * from "./VolumeFiles.ts";
38
+ export * from "./Webhook.ts";
39
+ export * from "./WriteSecret.ts";
40
+ export * from "./WriteSecretHttp.ts";
41
+ export * from "./WriteVolume.ts";
42
+ export * from "./WriteVolumeHttp.ts";
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,43 @@
1
+ export * from "./ApiKey.js";
2
+ export * from "./AuthProvider.js";
3
+ export * from "./ConnectSandbox.js";
4
+ export * from "./ConnectSandboxHttp.js";
5
+ export * from "./CreateSandbox.js";
6
+ export * from "./CreateSandboxHttp.js";
7
+ export * from "./CreateSecret.js";
8
+ export * from "./CreateSecretHttp.js";
9
+ export * from "./CreateSnapshot.js";
10
+ export * from "./CreateSnapshotHttp.js";
11
+ export * from "./CreateTemplate.js";
12
+ export * from "./CreateTemplateHttp.js";
13
+ export * from "./CreateVolume.js";
14
+ export * from "./CreateVolumeHttp.js";
15
+ export * from "./Credentials.js";
16
+ export * from "./Errors.js";
17
+ export * from "./InferEnv.js";
18
+ export * from "./MountVolume.js";
19
+ export * from "./MountVolumeLive.js";
20
+ export * from "./Providers.js";
21
+ export * from "./ReadTeam.js";
22
+ export * from "./ReadTeamHttp.js";
23
+ export * from "./ReadVolume.js";
24
+ export * from "./ReadWebhook.js";
25
+ export * from "./ReadWebhookHttp.js";
26
+ export * from "./ReadVolumeHttp.js";
27
+ export * from "./ReadWriteVolume.js";
28
+ export * from "./ReadWriteVolumeHttp.js";
29
+ export * from "./Sandbox.js";
30
+ export * from "./SandboxClient.js";
31
+ export * from "./SandboxEvents.js";
32
+ export * from "./SandboxEventsLive.js";
33
+ export * from "./Secret.js";
34
+ export * from "./Snapshot.js";
35
+ export * from "./Template.js";
36
+ export * from "./Volume.js";
37
+ export * from "./VolumeFiles.js";
38
+ export * from "./Webhook.js";
39
+ export * from "./WriteSecret.js";
40
+ export * from "./WriteSecretHttp.js";
41
+ export * from "./WriteVolume.js";
42
+ export * from "./WriteVolumeHttp.js";
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { PropsInput } from "alchemy/Input";
2
+ import * as Output from "alchemy/Output";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Redacted from "effect/Redacted";
5
+ import type { Providers } from "../Providers.ts";
6
+ type Leaf = string | number | boolean | bigint | symbol | null | undefined | Redacted.Redacted<any> | Uint8Array | Date | ((...args: any[]) => any);
7
+ /**
8
+ * A prop value, or the declaration of a resource that has it: `template: Node`
9
+ * instead of `template: yield* Node`, at any depth.
10
+ */
11
+ export type Declared<T> = T extends Leaf ? T : T extends Output.Output<any> ? T : T extends ReadonlyArray<infer U> ? Declared<U>[] | Effect.Effect<T, never, Providers> : {
12
+ [K in keyof T]: Declared<T[K]>;
13
+ } | Effect.Effect<T, never, Providers>;
14
+ /** Props where any value may be a resource declaration. */
15
+ export type DeclaredProps<P> = {
16
+ [K in keyof PropsInput<P>]: Declared<PropsInput<P>[K]>;
17
+ };
18
+ /** Yield every declaration in `value`, at any depth. */
19
+ export declare const resolveDeclarations: (value: unknown) => Effect.Effect<unknown, never, Providers>;
20
+ /**
21
+ * Let a resource's props hold declarations of other resources, which are
22
+ * yielded when the resource is: `E2B.Sandbox("DevBox", { template: Node })`.
23
+ * Props without declarations are passed through unchanged.
24
+ */
25
+ export declare const declarable: <R extends {
26
+ readonly Props: any;
27
+ }>() => <C extends object>(resource: C) => C & ((id: string, props: DeclaredProps<R["Props"]>) => Effect.Effect<R, never, Providers>);
28
+ export {};
29
+ //# sourceMappingURL=Declared.d.ts.map