@e2b/n8n-nodes-e2b 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -0
  3. package/dist/credentials/E2BApi.credentials.d.ts +13 -0
  4. package/dist/credentials/E2BApi.credentials.js +58 -0
  5. package/dist/credentials/E2BApi.credentials.js.map +1 -0
  6. package/dist/credentials/e2b.dark.svg +1 -0
  7. package/dist/credentials/e2b.svg +1 -0
  8. package/dist/nodes/E2B/E2b.node.d.ts +5 -0
  9. package/dist/nodes/E2B/E2b.node.js +2901 -0
  10. package/dist/nodes/E2B/E2b.node.js.map +7 -0
  11. package/dist/nodes/E2B/E2b.node.json +20 -0
  12. package/dist/nodes/E2B/actions/code.operations.d.ts +8 -0
  13. package/dist/nodes/E2B/actions/code.operations.js +67 -0
  14. package/dist/nodes/E2B/actions/code.operations.js.map +1 -0
  15. package/dist/nodes/E2B/actions/file.operations.d.ts +95 -0
  16. package/dist/nodes/E2B/actions/file.operations.js +183 -0
  17. package/dist/nodes/E2B/actions/file.operations.js.map +1 -0
  18. package/dist/nodes/E2B/actions/git.operations.d.ts +48 -0
  19. package/dist/nodes/E2B/actions/git.operations.js +554 -0
  20. package/dist/nodes/E2B/actions/git.operations.js.map +1 -0
  21. package/dist/nodes/E2B/actions/index.d.ts +2 -0
  22. package/dist/nodes/E2B/actions/index.js +95 -0
  23. package/dist/nodes/E2B/actions/index.js.map +1 -0
  24. package/dist/nodes/E2B/actions/sandbox.operations.d.ts +48 -0
  25. package/dist/nodes/E2B/actions/sandbox.operations.js +93 -0
  26. package/dist/nodes/E2B/actions/sandbox.operations.js.map +1 -0
  27. package/dist/nodes/E2B/actions/snapshot.operations.d.ts +22 -0
  28. package/dist/nodes/E2B/actions/snapshot.operations.js +46 -0
  29. package/dist/nodes/E2B/actions/snapshot.operations.js.map +1 -0
  30. package/dist/nodes/E2B/actions/volume.operations.d.ts +28 -0
  31. package/dist/nodes/E2B/actions/volume.operations.js +57 -0
  32. package/dist/nodes/E2B/actions/volume.operations.js.map +1 -0
  33. package/dist/nodes/E2B/client.d.ts +97 -0
  34. package/dist/nodes/E2B/client.js +546 -0
  35. package/dist/nodes/E2B/client.js.map +1 -0
  36. package/dist/nodes/E2B/e2b.dark.svg +1 -0
  37. package/dist/nodes/E2B/e2b.svg +1 -0
  38. package/dist/nodes/E2B/helpers.d.ts +22 -0
  39. package/dist/nodes/E2B/helpers.js +224 -0
  40. package/dist/nodes/E2B/helpers.js.map +1 -0
  41. package/dist/nodes/E2B/types.d.ts +21 -0
  42. package/dist/nodes/E2B/types.js +21 -0
  43. package/dist/nodes/E2B/types.js.map +1 -0
  44. package/package.json +70 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 FoundryLabs, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,51 @@
1
+ # @e2b/n8n-nodes-e2b
2
+
3
+ n8n community node for E2B sandboxes.
4
+
5
+ Use this package to create and manage E2B sandboxes, snapshots, files, git repositories, and volumes, and run shell commands in an E2B sandbox from n8n workflows.
6
+
7
+ ## Install
8
+
9
+ In n8n, open **Settings > Community nodes**, then install:
10
+
11
+ ```text
12
+ @e2b/n8n-nodes-e2b
13
+ ```
14
+
15
+ For local development:
16
+
17
+ ```bash
18
+ pnpm install
19
+ pnpm build
20
+ ```
21
+
22
+ ## Credentials
23
+
24
+ Create an **E2B API** credential and set your E2B API key.
25
+
26
+ Optional advanced fields are available for custom E2B deployments:
27
+
28
+ - API URL
29
+ - Domain
30
+ - Sandbox URL
31
+
32
+ ## Node resources and operations
33
+
34
+ The E2B node uses n8n's resource and operation layout:
35
+
36
+ - Code: Run Command
37
+ - File: Create Folder, Delete, Download, Get Info, List, Move, Read, Upload, Write
38
+ - Git: Add, Checkout, Clone, Commit, Pull, Push, Status
39
+ - Sandbox: Create, Get, Get Many, Get Preview URL, Pause, Kill
40
+ - Snapshot: Create, Get Many, Delete
41
+ - Volume: Create, Get, Get Many, Delete
42
+
43
+ ## Development
44
+
45
+ ```bash
46
+ pnpm test
47
+ pnpm typecheck
48
+ pnpm build
49
+ ```
50
+
51
+ The package follows the standard n8n community node layout and uses `@n8n/node-cli` for build, lint, dev, and release commands.
@@ -0,0 +1,13 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class E2BApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: {
7
+ readonly light: "file:e2b.svg";
8
+ readonly dark: "file:e2b.dark.svg";
9
+ };
10
+ properties: INodeProperties[];
11
+ authenticate: IAuthenticateGeneric;
12
+ test: ICredentialTestRequest;
13
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.E2BApi = void 0;
4
+ class E2BApi {
5
+ name = 'e2bApi';
6
+ displayName = 'E2B API';
7
+ documentationUrl = 'https://e2b.dev/docs/api-key';
8
+ icon = { light: 'file:e2b.svg', dark: 'file:e2b.dark.svg' };
9
+ properties = [
10
+ {
11
+ displayName: 'API Key',
12
+ name: 'apiKey',
13
+ type: 'string',
14
+ typeOptions: { password: true },
15
+ required: true,
16
+ default: '',
17
+ description: 'Your E2B API key. Get it from your E2B account.',
18
+ },
19
+ {
20
+ displayName: 'API URL',
21
+ name: 'apiUrl',
22
+ type: 'string',
23
+ default: '',
24
+ description: 'Optional custom E2B API URL',
25
+ },
26
+ {
27
+ displayName: 'Domain',
28
+ name: 'domain',
29
+ type: 'string',
30
+ default: '',
31
+ description: 'Optional custom E2B control plane domain',
32
+ },
33
+ {
34
+ displayName: 'Sandbox URL',
35
+ name: 'sandboxUrl',
36
+ type: 'string',
37
+ default: '',
38
+ description: 'Optional custom E2B sandbox URL',
39
+ },
40
+ ];
41
+ authenticate = {
42
+ type: 'generic',
43
+ properties: {
44
+ headers: {
45
+ 'X-API-KEY': '={{$credentials.apiKey}}',
46
+ },
47
+ },
48
+ };
49
+ test = {
50
+ request: {
51
+ baseURL: 'https://api.e2b.app',
52
+ url: '/v2/sandboxes',
53
+ method: 'GET',
54
+ },
55
+ };
56
+ }
57
+ exports.E2BApi = E2BApi;
58
+ //# sourceMappingURL=E2BApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"E2BApi.credentials.js","sourceRoot":"","sources":["../../credentials/E2BApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,MAAM;IAClB,IAAI,GAAG,QAAQ,CAAC;IAEhB,WAAW,GAAG,SAAS,CAAC;IAExB,gBAAgB,GAAG,8BAA8B,CAAC;IAElD,IAAI,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,EAAW,CAAC;IAErE,UAAU,GAAsB;QAC/B;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC/B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,iDAAiD;SAC9D;QACD;YACC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,6BAA6B;SAC1C;QACD;YACC,WAAW,EAAE,QAAQ;YACrB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,0CAA0C;SACvD;QACD;YACC,WAAW,EAAE,aAAa;YAC1B,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,iCAAiC;SAC9C;KACD,CAAC;IAEF,YAAY,GAAyB;QACpC,IAAI,EAAE,SAAS;QACf,UAAU,EAAE;YACX,OAAO,EAAE;gBACR,WAAW,EAAE,0BAA0B;aACvC;SACD;KACD,CAAC;IAEF,IAAI,GAA2B;QAC9B,OAAO,EAAE;YACR,OAAO,EAAE,qBAAqB;YAC9B,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,KAAK;SACb;KACD,CAAC;CACF;AA1DD,wBA0DC"}
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="84 80 232 240" xmlns="http://www.w3.org/2000/svg"><title>E2B</title><path fill-rule="evenodd" clip-rule="evenodd" d="M276.212 241.998C274.672 241.998 273.71 243.665 274.48 244.998L290.585 272.894C291.476 274.437 290.056 276.287 288.335 275.826L239.491 262.737C237.357 262.165 235.163 263.432 234.592 265.566L221.504 314.411C221.042 316.132 218.731 316.436 217.84 314.893L201.732 286.992C200.962 285.659 199.037 285.659 198.268 286.992L182.16 314.893C181.269 316.436 178.957 316.132 178.496 314.411L165.407 265.566C164.836 263.432 162.642 262.165 160.508 262.737L111.664 275.826C109.943 276.287 108.523 274.437 109.414 272.894L125.519 244.998C126.289 243.665 125.327 241.998 123.787 241.998L91.5789 241.998C89.7971 241.998 88.9048 239.844 90.1648 238.584L125.922 202.827C127.484 201.265 127.484 198.733 125.922 197.171L90.1648 161.413C88.9048 160.153 89.7972 157.999 91.579 157.999L123.784 157.999C125.323 157.999 126.286 156.333 125.516 154.999L109.414 127.11C108.523 125.567 109.943 123.717 111.664 124.178L160.508 137.267C162.642 137.838 164.836 136.572 165.407 134.438L178.496 85.5929C178.957 83.8718 181.269 83.5675 182.16 85.1106L198.267 113.011C199.037 114.345 200.962 114.345 201.732 113.011L217.84 85.1106C218.73 83.5675 221.042 83.8718 221.503 85.5929L234.592 134.438C235.163 136.572 237.357 137.838 239.491 137.267L288.335 124.178C290.056 123.717 291.476 125.567 290.585 127.11L274.483 154.999C273.713 156.333 274.676 157.999 276.215 157.999L308.421 157.999C310.203 157.999 311.095 160.153 309.835 161.413L274.078 197.171C272.516 198.733 272.516 201.265 274.078 202.827L309.835 238.584C311.095 239.844 310.203 241.998 308.421 241.998L276.212 241.998ZM263.919 165.331C265.366 163.884 263.963 161.455 261.987 161.985L218.491 173.64C216.357 174.211 214.164 172.945 213.592 170.811L201.931 127.293C201.402 125.317 198.597 125.317 198.068 127.293L186.407 170.811C185.835 172.945 183.642 174.211 181.508 173.64L138.014 161.985C136.037 161.455 134.635 163.884 136.082 165.331L167.922 197.171C169.484 198.733 169.484 201.266 167.922 202.828L136.074 234.675C134.627 236.122 136.03 238.55 138.006 238.021L181.508 226.364C183.642 225.792 185.835 227.059 186.407 229.192L198.068 272.711C198.597 274.687 201.402 274.687 201.931 272.711L213.592 229.192C214.164 227.059 216.357 225.792 218.491 226.364L261.994 238.021C263.971 238.551 265.373 236.122 263.926 234.675L232.079 202.828C230.516 201.266 230.516 198.733 232.079 197.171L263.919 165.331Z" fill="white"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="84 80 232 240" xmlns="http://www.w3.org/2000/svg"><title>E2B</title><path fill-rule="evenodd" clip-rule="evenodd" d="M276.212 241.998C274.672 241.998 273.71 243.665 274.48 244.998L290.585 272.894C291.476 274.437 290.056 276.287 288.335 275.826L239.491 262.737C237.357 262.165 235.163 263.432 234.592 265.566L221.504 314.411C221.042 316.132 218.731 316.436 217.84 314.893L201.732 286.992C200.962 285.659 199.037 285.659 198.268 286.992L182.16 314.893C181.269 316.436 178.957 316.132 178.496 314.411L165.407 265.566C164.836 263.432 162.642 262.165 160.508 262.737L111.664 275.826C109.943 276.287 108.523 274.437 109.414 272.894L125.519 244.998C126.289 243.665 125.327 241.998 123.787 241.998L91.5789 241.998C89.7971 241.998 88.9048 239.844 90.1648 238.584L125.922 202.827C127.484 201.265 127.484 198.733 125.922 197.171L90.1648 161.413C88.9048 160.153 89.7972 157.999 91.579 157.999L123.784 157.999C125.323 157.999 126.286 156.333 125.516 154.999L109.414 127.11C108.523 125.567 109.943 123.717 111.664 124.178L160.508 137.267C162.642 137.838 164.836 136.572 165.407 134.438L178.496 85.5929C178.957 83.8718 181.269 83.5675 182.16 85.1106L198.267 113.011C199.037 114.345 200.962 114.345 201.732 113.011L217.84 85.1106C218.73 83.5675 221.042 83.8718 221.503 85.5929L234.592 134.438C235.163 136.572 237.357 137.838 239.491 137.267L288.335 124.178C290.056 123.717 291.476 125.567 290.585 127.11L274.483 154.999C273.713 156.333 274.676 157.999 276.215 157.999L308.421 157.999C310.203 157.999 311.095 160.153 309.835 161.413L274.078 197.171C272.516 198.733 272.516 201.265 274.078 202.827L309.835 238.584C311.095 239.844 310.203 241.998 308.421 241.998L276.212 241.998ZM263.919 165.331C265.366 163.884 263.963 161.455 261.987 161.985L218.491 173.64C216.357 174.211 214.164 172.945 213.592 170.811L201.931 127.293C201.402 125.317 198.597 125.317 198.068 127.293L186.407 170.811C185.835 172.945 183.642 174.211 181.508 173.64L138.014 161.985C136.037 161.455 134.635 163.884 136.082 165.331L167.922 197.171C169.484 198.733 169.484 201.266 167.922 202.828L136.074 234.675C134.627 236.122 136.03 238.55 138.006 238.021L181.508 226.364C183.642 225.792 185.835 227.059 186.407 229.192L198.068 272.711C198.597 274.687 201.402 274.687 201.931 272.711L213.592 229.192C214.164 227.059 216.357 225.792 218.491 226.364L261.994 238.021C263.971 238.551 265.373 236.122 263.926 234.675L232.079 202.828C230.516 201.266 230.516 198.733 232.079 197.171L263.919 165.331Z" fill="black"/></svg>
@@ -0,0 +1,5 @@
1
+ import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class E2b implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }