@solarisdk/e2b-compat 0.1.1 → 0.2.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.
- package/dist/box.d.ts.map +1 -1
- package/dist/box.js +2 -1
- package/dist/box.js.map +1 -1
- package/dist/core-errors.d.ts +8 -0
- package/dist/core-errors.d.ts.map +1 -0
- package/dist/core-errors.js +28 -0
- package/dist/core-errors.js.map +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +6 -5
- package/dist/errors.js.map +1 -1
- package/package.json +1 -1
package/dist/box.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../src/box.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8C,KAAK,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../src/box.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8C,KAAK,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOxC,qHAAqH;AACrH,eAAO,MAAM,mBAAmB,wFAAoF,CAAC;AAErH,sIAAsI;AACtI,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAE9E;AAED,gBAAgB;AAChB,qBAAa,GAAG;IAMZ,QAAQ,CAAC,IAAI,EAAE,IAAI;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM;IANrB,OAAO,CAAC,CAAC,CAAmC;IAC5C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,KAAK,CAA8B;gBAGhC,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,WAAW;IAKvB,OAAO,CAAC,MAAM;IAWd,4CAA4C;IAC5C,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAK9B,IAAI,IAAI,IAAI;IAIZ,0GAA0G;IACpG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,wHAAwH;IAClH,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,SAAS,GAAG,MAAM,GAAG,OAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IAa1G,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAW5B,wFAAwF;IACxF,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBjB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAKzC"}
|
package/dist/box.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// resume), the guest's $HOME, and the shell wrapper E2B-style `commands.run` needs.
|
|
3
3
|
import { ConnectionError, GatewayError, SolariError } from "@solarisdk/core";
|
|
4
4
|
import { translateError } from "./errors.js";
|
|
5
|
+
import { isGatewayError, isConnectionError, isSolariError } from "./core-errors.js";
|
|
5
6
|
const DEFAULT_HOME = "/home/user";
|
|
6
7
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
7
8
|
/** Native image sandboxes: a bash when the image has one, else sh. The command is "$1", so it is never re-parsed. */
|
|
@@ -57,7 +58,7 @@ export class Box {
|
|
|
57
58
|
return await fn(await this.handle());
|
|
58
59
|
}
|
|
59
60
|
catch (e) {
|
|
60
|
-
const closed = e
|
|
61
|
+
const closed = isSolariError(e) && !(isGatewayError(e)) && (isConnectionError(e) || /closed|not connected|disconnect|websocket/i.test(e.message));
|
|
61
62
|
if (!closed || attempt >= 2)
|
|
62
63
|
throw translateError(e, what);
|
|
63
64
|
this.drop();
|
package/dist/box.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.js","sourceRoot":"","sources":["../src/box.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,oFAAoF;AAEpF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAA+B,MAAM,iBAAiB,CAAC;AAE1G,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"box.js","sourceRoot":"","sources":["../src/box.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ActionError, ConnectionError, GatewayError, SolariError, TimeoutError } from "@solarisdk/core";
|
|
2
|
+
/** Any error class of @solarisdk/core, from any copy of it. */
|
|
3
|
+
export declare const isSolariError: (e: unknown) => e is SolariError;
|
|
4
|
+
export declare const isGatewayError: (e: unknown) => e is GatewayError;
|
|
5
|
+
export declare const isConnectionError: (e: unknown) => e is ConnectionError;
|
|
6
|
+
export declare const isActionError: (e: unknown) => e is ActionError;
|
|
7
|
+
export declare const isCoreTimeoutError: (e: unknown) => e is TimeoutError;
|
|
8
|
+
//# sourceMappingURL=core-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-errors.d.ts","sourceRoot":"","sources":["../src/core-errors.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAgBxG,+DAA+D;AAC/D,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,WAA2E,CAAC;AAC5H,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,YAAqE,CAAC;AACvH,eAAO,MAAM,iBAAiB,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,eAA8E,CAAC;AACnI,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,WAAkE,CAAC;AACnH,eAAO,MAAM,kBAAkB,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,YAAqE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Recognise @solarisdk/core errors. This package depends on @solarisdk/core and on @solarisdk/sandbox, which has its
|
|
2
|
+
// own core dependency: when the two resolve to different copies of core (for example after core 0.3 ships while this
|
|
3
|
+
// package still allows 0.2), an error thrown through the sandbox client is not `instanceof` this package's copy of the
|
|
4
|
+
// class. So a check is `instanceof` (right for the same copy, and survives a bundler that mangles class names) or, for
|
|
5
|
+
// another copy, the chain of constructor names, which is the same in every copy.
|
|
6
|
+
import { ActionError, ConnectionError, GatewayError, SolariError, TimeoutError } from "@solarisdk/core";
|
|
7
|
+
function chain(e) {
|
|
8
|
+
const names = [];
|
|
9
|
+
if (typeof e !== "object" || e === null)
|
|
10
|
+
return names;
|
|
11
|
+
for (let p = Object.getPrototypeOf(e); p; p = Object.getPrototypeOf(p)) {
|
|
12
|
+
const n = p.constructor?.name;
|
|
13
|
+
if (typeof n === "string")
|
|
14
|
+
names.push(n);
|
|
15
|
+
}
|
|
16
|
+
return names;
|
|
17
|
+
}
|
|
18
|
+
const named = (e, name) => {
|
|
19
|
+
const c = chain(e);
|
|
20
|
+
return c.includes("SolariError") && c.includes(name);
|
|
21
|
+
};
|
|
22
|
+
/** Any error class of @solarisdk/core, from any copy of it. */
|
|
23
|
+
export const isSolariError = (e) => e instanceof SolariError || chain(e).includes("SolariError");
|
|
24
|
+
export const isGatewayError = (e) => e instanceof GatewayError || named(e, "GatewayError");
|
|
25
|
+
export const isConnectionError = (e) => e instanceof ConnectionError || named(e, "ConnectionError");
|
|
26
|
+
export const isActionError = (e) => e instanceof ActionError || named(e, "ActionError");
|
|
27
|
+
export const isCoreTimeoutError = (e) => e instanceof TimeoutError || named(e, "TimeoutError");
|
|
28
|
+
//# sourceMappingURL=core-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-errors.js","sourceRoot":"","sources":["../src/core-errors.ts"],"names":[],"mappings":"AAAA,qHAAqH;AACrH,qHAAqH;AACrH,uHAAuH;AACvH,uHAAuH;AACvH,iFAAiF;AAEjF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAExG,SAAS,KAAK,CAAC,CAAU;IACvB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAkB,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAkB,EAAE,CAAC;QACzG,MAAM,CAAC,GAAI,CAA0C,CAAC,WAAW,EAAE,IAAI,CAAC;QACxE,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,IAAY,EAAW,EAAE;IAClD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAU,EAAoB,EAAE,CAAC,CAAC,YAAY,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC5H,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAU,EAAqB,EAAE,CAAC,CAAC,YAAY,YAAY,IAAI,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AACvH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAAwB,EAAE,CAAC,CAAC,YAAY,eAAe,IAAI,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACnI,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAU,EAAoB,EAAE,CAAC,CAAC,YAAY,WAAW,IAAI,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AACnH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAU,EAAqB,EAAE,CAAC,CAAC,YAAY,YAAY,IAAI,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC"}
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAMA,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKzD;AACD,qBAAa,YAAa,SAAQ,YAAY;CAAG;AACjD,qBAAa,oBAAqB,SAAQ,YAAY;CAAG;AACzD,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AACxD,qBAAa,aAAc,SAAQ,YAAY;CAAG;AAClD,qBAAa,iBAAkB,SAAQ,aAAa;CAAG;AACvD,qBAAa,oBAAqB,SAAQ,aAAa;CAAG;AAC1D,qBAAa,sBAAuB,SAAQ,YAAY;CAAG;AAC3D,qBAAa,uBAAwB,SAAQ,YAAY;CAAG;AAC5D,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,CAAC,EAAE,MAAM;CAI7B;AACD,qBAAa,YAAa,SAAQ,mBAAmB;CAAG;AACxD,qBAAa,gBAAiB,SAAQ,YAAY;CAAG;AACrD,qBAAa,aAAc,SAAQ,YAAY;CAAG;AAClD,qBAAa,cAAe,SAAQ,YAAY;CAAG;AACnD,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,CAAC,EAAE,MAAM;CAI7B;AACD,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKzD;AACD,qBAAa,eAAgB,SAAQ,UAAU;CAAG;AAClD,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,CAAC,EAAE,MAAM;CAI7B;AACD,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AACvD,qBAAa,uBAAwB,SAAQ,WAAW;CAAG;AAC3D,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,CAAC,EAAE,MAAM;CAI7B;AACD,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AAEvD,sHAAsH;AACtH,qBAAa,gBAAiB,SAAQ,YAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAIzG,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF;AAED,kFAAkF;AAClF,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAI7C;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAStH;AAID,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,GAAE,SAAS,GAAG,MAAM,GAAG,OAAiB,GAAG,OAAO,CAoBlG;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,SAAS,GAAG,MAAM,GAAG,OAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAMnH"}
|
package/dist/errors.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// E2B-shaped error hierarchy (names and parent classes follow e2b 2.59 `errors.d.ts`), plus translation from
|
|
2
2
|
// Solari SDK errors. Anything Solari cannot do raises SolariCompatUnsupported (a SandboxError) naming the feature.
|
|
3
3
|
import { ActionError, ConnectionError, GatewayError, SolariError, TimeoutError as SolariTimeoutError } from "@solarisdk/core";
|
|
4
|
+
import { isGatewayError, isConnectionError, isActionError, isSolariError, isCoreTimeoutError } from "./core-errors.js";
|
|
4
5
|
export class SandboxError extends Error {
|
|
5
6
|
constructor(message, opts) {
|
|
6
7
|
super(message);
|
|
@@ -119,7 +120,7 @@ const NOT_FOUND_RE = /no such file|not exist|not found|enoent/i;
|
|
|
119
120
|
export function translateError(err, what = "other") {
|
|
120
121
|
if (err instanceof SandboxError || err instanceof AuthenticationError)
|
|
121
122
|
return err;
|
|
122
|
-
if (err
|
|
123
|
+
if (isGatewayError(err)) {
|
|
123
124
|
const msg = err.message;
|
|
124
125
|
if (err.status === 401 || err.status === 403)
|
|
125
126
|
return new AuthenticationError(msg);
|
|
@@ -133,16 +134,16 @@ export function translateError(err, what = "other") {
|
|
|
133
134
|
return new ServiceBusyError(msg);
|
|
134
135
|
return new SandboxError(msg, { cause: err });
|
|
135
136
|
}
|
|
136
|
-
if (err
|
|
137
|
+
if (isCoreTimeoutError(err))
|
|
137
138
|
return new TimeoutError(err.message, { cause: err });
|
|
138
|
-
if (err
|
|
139
|
+
if (isConnectionError(err))
|
|
139
140
|
return new SandboxUnreachableError(err.message, { cause: err });
|
|
140
|
-
if (err
|
|
141
|
+
if (isActionError(err)) {
|
|
141
142
|
if (NOT_FOUND_RE.test(err.message))
|
|
142
143
|
return what === "file" ? new FileNotFoundError(err.message, { cause: err }) : new NotFoundError(err.message, { cause: err });
|
|
143
144
|
return new SandboxError(err.message, { cause: err });
|
|
144
145
|
}
|
|
145
|
-
if (err
|
|
146
|
+
if (isSolariError(err))
|
|
146
147
|
return new SandboxError(err.message, { cause: err });
|
|
147
148
|
if (err?.name === "AbortError")
|
|
148
149
|
return new TimeoutError(err.message, { cause: err });
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,mHAAmH;AAEnH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solarisdk/e2b-compat",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "E2B-compatible API (sandboxes and code interpreter) on top of Solari Sandbox: change the import, keep your E2B code. Not affiliated with E2B.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|