@alchemy.run/e2b 0.0.0 → 2.0.0-beta.86
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.
- package/LICENSE +201 -0
- package/README.md +56 -4
- package/lib/ApiKey.d.ts +53 -0
- package/lib/ApiKey.d.ts.map +1 -0
- package/lib/ApiKey.js +107 -0
- package/lib/ApiKey.js.map +1 -0
- package/lib/AuthProvider.d.ts +60 -0
- package/lib/AuthProvider.d.ts.map +1 -0
- package/lib/AuthProvider.js +293 -0
- package/lib/AuthProvider.js.map +1 -0
- package/lib/Bootstrap.d.ts +7 -0
- package/lib/Bootstrap.d.ts.map +1 -0
- package/lib/Bootstrap.js +25 -0
- package/lib/Bootstrap.js.map +1 -0
- package/lib/ConnectSandbox.d.ts +67 -0
- package/lib/ConnectSandbox.d.ts.map +1 -0
- package/lib/ConnectSandbox.js +3 -0
- package/lib/ConnectSandbox.js.map +1 -0
- package/lib/ConnectSandboxHttp.d.ts +22 -0
- package/lib/ConnectSandboxHttp.d.ts.map +1 -0
- package/lib/ConnectSandboxHttp.js +30 -0
- package/lib/ConnectSandboxHttp.js.map +1 -0
- package/lib/Contributions.d.ts +7 -0
- package/lib/Contributions.d.ts.map +1 -0
- package/lib/Contributions.js +6 -0
- package/lib/Contributions.js.map +1 -0
- package/lib/CreateSandbox.d.ts +139 -0
- package/lib/CreateSandbox.d.ts.map +1 -0
- package/lib/CreateSandbox.js +3 -0
- package/lib/CreateSandbox.js.map +1 -0
- package/lib/CreateSandboxHttp.d.ts +22 -0
- package/lib/CreateSandboxHttp.d.ts.map +1 -0
- package/lib/CreateSandboxHttp.js +99 -0
- package/lib/CreateSandboxHttp.js.map +1 -0
- package/lib/CreateSecret.d.ts +57 -0
- package/lib/CreateSecret.d.ts.map +1 -0
- package/lib/CreateSecret.js +3 -0
- package/lib/CreateSecret.js.map +1 -0
- package/lib/CreateSecretHttp.d.ts +20 -0
- package/lib/CreateSecretHttp.d.ts.map +1 -0
- package/lib/CreateSecretHttp.js +64 -0
- package/lib/CreateSecretHttp.js.map +1 -0
- package/lib/CreateSnapshot.d.ts +53 -0
- package/lib/CreateSnapshot.d.ts.map +1 -0
- package/lib/CreateSnapshot.js +3 -0
- package/lib/CreateSnapshot.js.map +1 -0
- package/lib/CreateSnapshotHttp.d.ts +20 -0
- package/lib/CreateSnapshotHttp.d.ts.map +1 -0
- package/lib/CreateSnapshotHttp.js +41 -0
- package/lib/CreateSnapshotHttp.js.map +1 -0
- package/lib/CreateTemplate.d.ts +96 -0
- package/lib/CreateTemplate.d.ts.map +1 -0
- package/lib/CreateTemplate.js +3 -0
- package/lib/CreateTemplate.js.map +1 -0
- package/lib/CreateTemplateHttp.d.ts +20 -0
- package/lib/CreateTemplateHttp.d.ts.map +1 -0
- package/lib/CreateTemplateHttp.js +99 -0
- package/lib/CreateTemplateHttp.js.map +1 -0
- package/lib/CreateVolume.d.ts +58 -0
- package/lib/CreateVolume.d.ts.map +1 -0
- package/lib/CreateVolume.js +3 -0
- package/lib/CreateVolume.js.map +1 -0
- package/lib/CreateVolumeHttp.d.ts +20 -0
- package/lib/CreateVolumeHttp.d.ts.map +1 -0
- package/lib/CreateVolumeHttp.js +51 -0
- package/lib/CreateVolumeHttp.js.map +1 -0
- package/lib/Credentials.d.ts +18 -0
- package/lib/Credentials.d.ts.map +1 -0
- package/lib/Credentials.js +55 -0
- package/lib/Credentials.js.map +1 -0
- package/lib/E2BBindings.d.ts +35 -0
- package/lib/E2BBindings.d.ts.map +1 -0
- package/lib/E2BBindings.js +127 -0
- package/lib/E2BBindings.js.map +1 -0
- package/lib/Errors.d.ts +61 -0
- package/lib/Errors.d.ts.map +1 -0
- package/lib/Errors.js +23 -0
- package/lib/Errors.js.map +1 -0
- package/lib/InferEnv.d.ts +26 -0
- package/lib/InferEnv.d.ts.map +1 -0
- package/lib/InferEnv.js +1 -0
- package/lib/InferEnv.js.map +1 -0
- package/lib/MountVolume.d.ts +86 -0
- package/lib/MountVolume.d.ts.map +1 -0
- package/lib/MountVolume.js +3 -0
- package/lib/MountVolume.js.map +1 -0
- package/lib/MountVolumeLive.d.ts +23 -0
- package/lib/MountVolumeLive.d.ts.map +1 -0
- package/lib/MountVolumeLive.js +41 -0
- package/lib/MountVolumeLive.js.map +1 -0
- package/lib/Providers.d.ts +14 -0
- package/lib/Providers.d.ts.map +1 -0
- package/lib/Providers.js +23 -0
- package/lib/Providers.js.map +1 -0
- package/lib/ReadTeam.d.ts +41 -0
- package/lib/ReadTeam.d.ts.map +1 -0
- package/lib/ReadTeam.js +3 -0
- package/lib/ReadTeam.js.map +1 -0
- package/lib/ReadTeamHttp.d.ts +20 -0
- package/lib/ReadTeamHttp.d.ts.map +1 -0
- package/lib/ReadTeamHttp.js +40 -0
- package/lib/ReadTeamHttp.js.map +1 -0
- package/lib/ReadVolume.d.ts +25 -0
- package/lib/ReadVolume.d.ts.map +1 -0
- package/lib/ReadVolume.js +3 -0
- package/lib/ReadVolume.js.map +1 -0
- package/lib/ReadVolumeHttp.d.ts +20 -0
- package/lib/ReadVolumeHttp.d.ts.map +1 -0
- package/lib/ReadVolumeHttp.js +27 -0
- package/lib/ReadVolumeHttp.js.map +1 -0
- package/lib/ReadWebhook.d.ts +32 -0
- package/lib/ReadWebhook.d.ts.map +1 -0
- package/lib/ReadWebhook.js +3 -0
- package/lib/ReadWebhook.js.map +1 -0
- package/lib/ReadWebhookHttp.d.ts +20 -0
- package/lib/ReadWebhookHttp.d.ts.map +1 -0
- package/lib/ReadWebhookHttp.js +31 -0
- package/lib/ReadWebhookHttp.js.map +1 -0
- package/lib/ReadWriteVolume.d.ts +26 -0
- package/lib/ReadWriteVolume.d.ts.map +1 -0
- package/lib/ReadWriteVolume.js +3 -0
- package/lib/ReadWriteVolume.js.map +1 -0
- package/lib/ReadWriteVolumeHttp.d.ts +20 -0
- package/lib/ReadWriteVolumeHttp.d.ts.map +1 -0
- package/lib/ReadWriteVolumeHttp.js +27 -0
- package/lib/ReadWriteVolumeHttp.js.map +1 -0
- package/lib/Sandbox.d.ts +295 -0
- package/lib/Sandbox.d.ts.map +1 -0
- package/lib/Sandbox.js +351 -0
- package/lib/Sandbox.js.map +1 -0
- package/lib/SandboxClient.d.ts +226 -0
- package/lib/SandboxClient.d.ts.map +1 -0
- package/lib/SandboxClient.js +1 -0
- package/lib/SandboxClient.js.map +1 -0
- package/lib/SandboxEvents.d.ts +87 -0
- package/lib/SandboxEvents.d.ts.map +1 -0
- package/lib/SandboxEvents.js +39 -0
- package/lib/SandboxEvents.js.map +1 -0
- package/lib/SandboxEventsLive.d.ts +13 -0
- package/lib/SandboxEventsLive.d.ts.map +1 -0
- package/lib/SandboxEventsLive.js +80 -0
- package/lib/SandboxEventsLive.js.map +1 -0
- package/lib/Secret.d.ts +105 -0
- package/lib/Secret.d.ts.map +1 -0
- package/lib/Secret.js +161 -0
- package/lib/Secret.js.map +1 -0
- package/lib/Snapshot.d.ts +118 -0
- package/lib/Snapshot.d.ts.map +1 -0
- package/lib/Snapshot.js +158 -0
- package/lib/Snapshot.js.map +1 -0
- package/lib/Template.d.ts +313 -0
- package/lib/Template.d.ts.map +1 -0
- package/lib/Template.js +421 -0
- package/lib/Template.js.map +1 -0
- package/lib/Volume.d.ts +88 -0
- package/lib/Volume.d.ts.map +1 -0
- package/lib/Volume.js +136 -0
- package/lib/Volume.js.map +1 -0
- package/lib/VolumeFiles.d.ts +39 -0
- package/lib/VolumeFiles.d.ts.map +1 -0
- package/lib/VolumeFiles.js +1 -0
- package/lib/VolumeFiles.js.map +1 -0
- package/lib/Webhook.d.ts +83 -0
- package/lib/Webhook.d.ts.map +1 -0
- package/lib/Webhook.js +138 -0
- package/lib/Webhook.js.map +1 -0
- package/lib/WriteSecret.d.ts +34 -0
- package/lib/WriteSecret.d.ts.map +1 -0
- package/lib/WriteSecret.js +3 -0
- package/lib/WriteSecret.js.map +1 -0
- package/lib/WriteSecretHttp.d.ts +20 -0
- package/lib/WriteSecretHttp.d.ts.map +1 -0
- package/lib/WriteSecretHttp.js +37 -0
- package/lib/WriteSecretHttp.js.map +1 -0
- package/lib/WriteVolume.d.ts +25 -0
- package/lib/WriteVolume.d.ts.map +1 -0
- package/lib/WriteVolume.js +3 -0
- package/lib/WriteVolume.js.map +1 -0
- package/lib/WriteVolumeHttp.d.ts +20 -0
- package/lib/WriteVolumeHttp.d.ts.map +1 -0
- package/lib/WriteVolumeHttp.js +27 -0
- package/lib/WriteVolumeHttp.js.map +1 -0
- package/lib/index.d.ts +43 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +43 -0
- package/lib/index.js.map +1 -0
- package/lib/internal/Declared.d.ts +29 -0
- package/lib/internal/Declared.d.ts.map +1 -0
- package/lib/internal/Declared.js +31 -0
- package/lib/internal/Declared.js.map +1 -0
- package/lib/internal/Login.d.ts +45 -0
- package/lib/internal/Login.d.ts.map +1 -0
- package/lib/internal/Login.js +157 -0
- package/lib/internal/Login.js.map +1 -0
- package/lib/internal/Ownership.d.ts +29 -0
- package/lib/internal/Ownership.d.ts.map +1 -0
- package/lib/internal/Ownership.js +49 -0
- package/lib/internal/Ownership.js.map +1 -0
- package/lib/internal/Program.d.ts +31 -0
- package/lib/internal/Program.d.ts.map +1 -0
- package/lib/internal/Program.js +60 -0
- package/lib/internal/Program.js.map +1 -0
- package/lib/internal/SandboxHandle.d.ts +25 -0
- package/lib/internal/SandboxHandle.d.ts.map +1 -0
- package/lib/internal/SandboxHandle.js +316 -0
- package/lib/internal/SandboxHandle.js.map +1 -0
- package/lib/internal/SnapshotBuild.d.ts +19 -0
- package/lib/internal/SnapshotBuild.d.ts.map +1 -0
- package/lib/internal/SnapshotBuild.js +49 -0
- package/lib/internal/SnapshotBuild.js.map +1 -0
- package/lib/internal/Tar.d.ts +10 -0
- package/lib/internal/Tar.d.ts.map +1 -0
- package/lib/internal/Tar.js +61 -0
- package/lib/internal/Tar.js.map +1 -0
- package/lib/internal/TemplateBuild.d.ts +142 -0
- package/lib/internal/TemplateBuild.d.ts.map +1 -0
- package/lib/internal/TemplateBuild.js +220 -0
- package/lib/internal/TemplateBuild.js.map +1 -0
- package/lib/internal/TemplatePlan.d.ts +57 -0
- package/lib/internal/TemplatePlan.d.ts.map +1 -0
- package/lib/internal/TemplatePlan.js +185 -0
- package/lib/internal/TemplatePlan.js.map +1 -0
- package/lib/internal/VolumeHttp.d.ts +5 -0
- package/lib/internal/VolumeHttp.d.ts.map +1 -0
- package/lib/internal/VolumeHttp.js +46 -0
- package/lib/internal/VolumeHttp.js.map +1 -0
- package/package.json +62 -3
- package/src/ApiKey.ts +148 -0
- package/src/AuthProvider.ts +437 -0
- package/src/Bootstrap.ts +51 -0
- package/src/ConnectSandbox.ts +71 -0
- package/src/ConnectSandboxHttp.ts +38 -0
- package/src/Contributions.ts +9 -0
- package/src/CreateSandbox.ts +157 -0
- package/src/CreateSandboxHttp.ts +131 -0
- package/src/CreateSecret.ts +65 -0
- package/src/CreateSecretHttp.ts +94 -0
- package/src/CreateSnapshot.ts +64 -0
- package/src/CreateSnapshotHttp.ts +55 -0
- package/src/CreateTemplate.ts +135 -0
- package/src/CreateTemplateHttp.ts +152 -0
- package/src/CreateVolume.ts +65 -0
- package/src/CreateVolumeHttp.ts +80 -0
- package/src/Credentials.ts +81 -0
- package/src/E2BBindings.ts +160 -0
- package/src/Errors.ts +47 -0
- package/src/InferEnv.ts +27 -0
- package/src/MountVolume.ts +92 -0
- package/src/MountVolumeLive.ts +49 -0
- package/src/Providers.ts +48 -0
- package/src/ReadTeam.ts +55 -0
- package/src/ReadTeamHttp.ts +44 -0
- package/src/ReadVolume.ts +29 -0
- package/src/ReadVolumeHttp.ts +32 -0
- package/src/ReadWebhook.ts +41 -0
- package/src/ReadWebhookHttp.ts +42 -0
- package/src/ReadWriteVolume.ts +30 -0
- package/src/ReadWriteVolumeHttp.ts +32 -0
- package/src/Sandbox.ts +581 -0
- package/src/SandboxClient.ts +268 -0
- package/src/SandboxEvents.ts +101 -0
- package/src/SandboxEventsLive.ts +118 -0
- package/src/Secret.ts +229 -0
- package/src/Snapshot.ts +234 -0
- package/src/Template.ts +636 -0
- package/src/Volume.ts +173 -0
- package/src/VolumeFiles.ts +53 -0
- package/src/Webhook.ts +215 -0
- package/src/WriteSecret.ts +39 -0
- package/src/WriteSecretHttp.ts +43 -0
- package/src/WriteVolume.ts +29 -0
- package/src/WriteVolumeHttp.ts +32 -0
- package/src/globals.d.ts +2 -0
- package/src/index.ts +42 -0
- package/src/internal/Declared.ts +80 -0
- package/src/internal/Login.ts +210 -0
- package/src/internal/Ownership.ts +67 -0
- package/src/internal/Program.ts +75 -0
- package/src/internal/SandboxHandle.ts +534 -0
- package/src/internal/SnapshotBuild.ts +74 -0
- package/src/internal/Tar.ts +74 -0
- package/src/internal/TemplateBuild.ts +383 -0
- package/src/internal/TemplatePlan.ts +230 -0
- package/src/internal/VolumeHttp.ts +88 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Volume.js","sources":["../src/Volume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA4BnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAS,YAAY,CAAC,CAAC;AAErD,MAAM,OAAO,GAAG,CAAC,MAA0C,EAAoB,EAAE,CAAC,CAAC;IACjF,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,IAAI,EAAE,MAAM,CAAC,IAAI;CAClB,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAClC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhG,MAAM,OAAO,GAAG,CAAC,QAA4B,EAAE,IAAY,EAAE,EAAE,CAC7D,QAAQ,KAAK,SAAS;IACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAA8B,EAAE,CAAC,MAAM,CAAC,EAC1D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACpD;IACH,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CACjC,QAAQ,CAAC,MAAM,CACb,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO;QACL,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;YACnD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YACxC,gEAAgE;YAChE,+DAA+D;YAC/D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC1E,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAW,CAAC;YAC9D,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE;YACnC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC/C,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtD,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO,MAAM,KAAK,SAAS,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnF,CAAC,CAAC;QACF,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;YAC3D,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,UAAU;YACV,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,sEAAsE;YACtE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACxD,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAA8B,EAAE,CAAC,MAAM,CAAC,EAC1D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACpD,CAAC;YACF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC,CAAC,IAAI,qBAAqB,CAAC;oBACtC,OAAO,EAAE,cAAc,IAAI,wBAAwB;iBACpD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE;YACrC,KAAK,CAAC,CAAC,OAAO;iBACX,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;iBAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC;QACF,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC,CACH,CAAC"}
|
|
@@ -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":""}
|
package/lib/Webhook.d.ts
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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
|
package/lib/index.js.map
ADDED
|
@@ -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
|