@agent-relay/sandbox 0.1.1 → 0.1.3
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/README.md +226 -5
- package/dist/agent37/client.d.ts +115 -0
- package/dist/agent37/client.d.ts.map +1 -0
- package/dist/agent37/client.js +270 -0
- package/dist/agent37/client.js.map +1 -0
- package/dist/agent37/runtime.d.ts +415 -0
- package/dist/agent37/runtime.d.ts.map +1 -0
- package/dist/agent37/runtime.js +855 -0
- package/dist/agent37/runtime.js.map +1 -0
- package/dist/agentcore/bench.d.ts +93 -0
- package/dist/agentcore/bench.d.ts.map +1 -0
- package/dist/agentcore/bench.js +125 -0
- package/dist/agentcore/bench.js.map +1 -0
- package/dist/agentcore/capabilities.d.ts +169 -0
- package/dist/agentcore/capabilities.d.ts.map +1 -0
- package/dist/agentcore/capabilities.js +153 -0
- package/dist/agentcore/capabilities.js.map +1 -0
- package/dist/agentcore/config.d.ts +156 -0
- package/dist/agentcore/config.d.ts.map +1 -0
- package/dist/agentcore/config.js +12 -0
- package/dist/agentcore/config.js.map +1 -0
- package/dist/agentcore/internal/sdk.d.ts +181 -0
- package/dist/agentcore/internal/sdk.d.ts.map +1 -0
- package/dist/agentcore/internal/sdk.js +223 -0
- package/dist/agentcore/internal/sdk.js.map +1 -0
- package/dist/agentcore/runtime.d.ts +177 -0
- package/dist/agentcore/runtime.d.ts.map +1 -0
- package/dist/agentcore/runtime.js +706 -0
- package/dist/agentcore/runtime.js.map +1 -0
- package/dist/daytona/runtime.d.ts +23 -0
- package/dist/daytona/runtime.d.ts.map +1 -1
- package/dist/daytona/runtime.js +292 -10
- package/dist/daytona/runtime.js.map +1 -1
- package/dist/daytona/wire-supplement.d.ts +25 -0
- package/dist/daytona/wire-supplement.d.ts.map +1 -0
- package/dist/daytona/wire-supplement.js +16 -0
- package/dist/daytona/wire-supplement.js.map +1 -0
- package/dist/e2b/runtime.d.ts +107 -72
- package/dist/e2b/runtime.d.ts.map +1 -1
- package/dist/e2b/runtime.js +675 -190
- package/dist/e2b/runtime.js.map +1 -1
- package/dist/freestyle/capabilities.d.ts +28 -0
- package/dist/freestyle/capabilities.d.ts.map +1 -0
- package/dist/freestyle/capabilities.js +42 -0
- package/dist/freestyle/capabilities.js.map +1 -0
- package/dist/freestyle/config.d.ts +36 -0
- package/dist/freestyle/config.d.ts.map +1 -0
- package/dist/freestyle/config.js +2 -0
- package/dist/freestyle/config.js.map +1 -0
- package/dist/freestyle/internal/sdk.d.ts +69 -0
- package/dist/freestyle/internal/sdk.d.ts.map +1 -0
- package/dist/freestyle/internal/sdk.js +19 -0
- package/dist/freestyle/internal/sdk.js.map +1 -0
- package/dist/freestyle/runtime.d.ts +163 -0
- package/dist/freestyle/runtime.d.ts.map +1 -0
- package/dist/freestyle/runtime.js +798 -0
- package/dist/freestyle/runtime.js.map +1 -0
- package/dist/index.d.ts +35 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/microsandbox/runtime.d.ts +793 -0
- package/dist/microsandbox/runtime.d.ts.map +1 -0
- package/dist/microsandbox/runtime.js +2303 -0
- package/dist/microsandbox/runtime.js.map +1 -0
- package/dist/modal/bench.d.ts +199 -0
- package/dist/modal/bench.d.ts.map +1 -0
- package/dist/modal/bench.js +450 -0
- package/dist/modal/bench.js.map +1 -0
- package/dist/modal/capabilities.d.ts +180 -0
- package/dist/modal/capabilities.d.ts.map +1 -0
- package/dist/modal/capabilities.js +159 -0
- package/dist/modal/capabilities.js.map +1 -0
- package/dist/modal/config.d.ts +192 -0
- package/dist/modal/config.d.ts.map +1 -0
- package/dist/modal/config.js +169 -0
- package/dist/modal/config.js.map +1 -0
- package/dist/modal/internal/sdk.d.ts +141 -0
- package/dist/modal/internal/sdk.d.ts.map +1 -0
- package/dist/modal/internal/sdk.js +51 -0
- package/dist/modal/internal/sdk.js.map +1 -0
- package/dist/modal/runtime.d.ts +271 -0
- package/dist/modal/runtime.d.ts.map +1 -0
- package/dist/modal/runtime.js +871 -0
- package/dist/modal/runtime.js.map +1 -0
- package/dist/mount-script.d.ts +16 -1
- package/dist/mount-script.d.ts.map +1 -1
- package/dist/mount-script.js +76 -15
- package/dist/mount-script.js.map +1 -1
- package/dist/orchestrator.d.ts +15 -0
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +13 -1
- package/dist/orchestrator.js.map +1 -1
- package/dist/port.d.ts +144 -6
- package/dist/port.d.ts.map +1 -1
- package/dist/port.js +27 -5
- package/dist/port.js.map +1 -1
- package/dist/types.d.ts +55 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vercel/bench.d.ts +169 -0
- package/dist/vercel/bench.d.ts.map +1 -0
- package/dist/vercel/bench.js +337 -0
- package/dist/vercel/bench.js.map +1 -0
- package/dist/vercel/capabilities.d.ts +106 -0
- package/dist/vercel/capabilities.d.ts.map +1 -0
- package/dist/vercel/capabilities.js +128 -0
- package/dist/vercel/capabilities.js.map +1 -0
- package/dist/vercel/config.d.ts +119 -0
- package/dist/vercel/config.d.ts.map +1 -0
- package/dist/vercel/config.js +8 -0
- package/dist/vercel/config.js.map +1 -0
- package/dist/vercel/internal/sdk.d.ts +173 -0
- package/dist/vercel/internal/sdk.d.ts.map +1 -0
- package/dist/vercel/internal/sdk.js +117 -0
- package/dist/vercel/internal/sdk.js.map +1 -0
- package/dist/vercel/runtime.d.ts +305 -0
- package/dist/vercel/runtime.d.ts.map +1 -0
- package/dist/vercel/runtime.js +1169 -0
- package/dist/vercel/runtime.js.map +1 -0
- package/docs/freestyle.md +110 -0
- package/package.json +35 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/agentcore/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import type { Daytona, Sandbox } from '@daytonaio/sdk';
|
|
2
2
|
import type { ExecOptions, ExecResult, AsyncExecStartResult, AsyncExecStatus, LaunchOptions, RuntimeCapabilities, RuntimeHandle, WorkflowRuntime } from '../types.js';
|
|
3
|
+
import type { DaytonaWireSupplement } from './wire-supplement.js';
|
|
3
4
|
export interface DaytonaRuntimeOptions {
|
|
4
5
|
daytona: Daytona;
|
|
5
6
|
snapshot?: string;
|
|
7
|
+
/**
|
|
8
|
+
* When Daytona reports a restarted sandbox as ready but its Toolbox exec
|
|
9
|
+
* daemon is still unavailable, replace it from the same snapshot and
|
|
10
|
+
* provider metadata. The returned handle can therefore have a new ID.
|
|
11
|
+
* Defaults to true because a STARTED sandbox without exec is unusable.
|
|
12
|
+
*/
|
|
13
|
+
recreateOnFailedStart?: boolean;
|
|
6
14
|
/**
|
|
7
15
|
* Home directory inside the sandbox image. Required: it is image-specific,
|
|
8
16
|
* so there is no default that is correct for every consumer.
|
|
@@ -63,11 +71,16 @@ export interface DaytonaUploadBundleOptions {
|
|
|
63
71
|
}
|
|
64
72
|
export declare class DaytonaRuntime implements WorkflowRuntime {
|
|
65
73
|
readonly id = "daytona";
|
|
74
|
+
readonly declaredCapabilities: {
|
|
75
|
+
readonly warmLease: true;
|
|
76
|
+
readonly lifecycle: true;
|
|
77
|
+
};
|
|
66
78
|
readonly capabilities: RuntimeCapabilities;
|
|
67
79
|
private readonly sandboxes;
|
|
68
80
|
private readonly daytona;
|
|
69
81
|
private readonly snapshot?;
|
|
70
82
|
private readonly defaultHomeDir;
|
|
83
|
+
private readonly recreateOnFailedStart;
|
|
71
84
|
constructor(options: DaytonaRuntimeOptions);
|
|
72
85
|
launch(options?: LaunchOptions): Promise<RuntimeHandle>;
|
|
73
86
|
launchDetached(options?: LaunchOptions): Promise<RuntimeHandle>;
|
|
@@ -90,9 +103,19 @@ export declare class DaytonaRuntime implements WorkflowRuntime {
|
|
|
90
103
|
uploadBundle(handle: RuntimeHandle, options: DaytonaUploadBundleOptions): Promise<void>;
|
|
91
104
|
downloadFile(handle: RuntimeHandle, source: string, destination?: string): Promise<Buffer | void>;
|
|
92
105
|
getHomeDir(handle: RuntimeHandle): Promise<string>;
|
|
106
|
+
/**
|
|
107
|
+
* Fetches the sandboxClass + warmPoolId fields Daytona's wire response
|
|
108
|
+
* carries that the SDK's Sandbox class drops. See wire-supplement.ts.
|
|
109
|
+
*/
|
|
110
|
+
getWireSupplement(handle: RuntimeHandle): Promise<DaytonaWireSupplement>;
|
|
93
111
|
destroy(handle: RuntimeHandle): Promise<void>;
|
|
94
112
|
stop(handle: RuntimeHandle): Promise<void>;
|
|
95
113
|
start(handle: RuntimeHandle): Promise<RuntimeHandle>;
|
|
114
|
+
private recreateAfterFailedStart;
|
|
115
|
+
private assertSandboxExecHealthy;
|
|
116
|
+
private replacementCreateParams;
|
|
117
|
+
private removeSandbox;
|
|
118
|
+
private updateHandleFromSandbox;
|
|
96
119
|
private createSandbox;
|
|
97
120
|
private createSandboxDetached;
|
|
98
121
|
private buildCreateParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/daytona/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAsB,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAQ9C;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,0BAA2B,SAAQ,6BAA6B;IAC/E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/daytona/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAsB,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAQ9C;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,0BAA2B,SAAQ,6BAA6B;IAC/E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAmBD,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,EAAE,aAAa;IACxB,QAAQ,CAAC,oBAAoB;;;MAAiD;IAC9E,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAMxC;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAU;gBAEpC,OAAO,EAAE,qBAAqB;IAOpC,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAU3D,cAAc,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAcnE,OAAO,CACX,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAqB1B,YAAY,CAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAyD1B,aAAa,CACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,MAAM,CAAC;IAoCZ,eAAe,CACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,aAAa,EAAE,CAAC;IAsC3B,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,6BAAkC,GAAG,aAAa;IAQrF,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAe5F,SAAS,CACb,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC;IA4C5B,WAAW,CACf,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,oBAAoB,CAAC;IA2G1B,eAAe,CACnB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC;IAmCrB,aAAa,CACjB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IAmClC,SAAS,CACP,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAW,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACjD,OAAO,CAAC,oBAAoB,CAAC;IAWhC,aAAa,CACX,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC;IAIrB,WAAW,CACf,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC;IAQhB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9F,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvF,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IASjG,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAWxD;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIxE,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7C,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1C,KAAK,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YA6C5C,wBAAwB;YA+ExB,wBAAwB;IA0BtC,OAAO,CAAC,uBAAuB;IA6C/B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,uBAAuB;YAcjB,aAAa;YAqBb,qBAAqB;IAkBnC,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;YAUX,yBAAyB;IAkDvC,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;YAQZ,6BAA6B;YAoB7B,yBAAyB;YAsBzB,cAAc;IAa5B,OAAO,CAAC,WAAW;CAOpB"}
|
package/dist/daytona/runtime.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fetchDaytonaWireSupplement } from './wire-supplement.js';
|
|
1
2
|
export class SnapshotNotFoundError extends Error {
|
|
2
3
|
snapshot;
|
|
3
4
|
constructor(snapshot, cause) {
|
|
@@ -13,8 +14,13 @@ export class SnapshotNotFoundError extends Error {
|
|
|
13
14
|
// so the trailing bytes are the useful ones.
|
|
14
15
|
const SCRIPT_LOG_READ_MAX_BYTES = 262_144; // 256 KiB
|
|
15
16
|
const DEFAULT_DAYTONA_LOOKUP_TIMEOUT_MS = 10_000;
|
|
17
|
+
const DAYTONA_ADMISSION_RECONCILIATION_LOOKUP_TIMEOUT_MS = 1_000;
|
|
18
|
+
const DAYTONA_POST_START_EXEC_PROBE_TIMEOUT_SECONDS = 10;
|
|
19
|
+
const DAYTONA_POST_START_EXEC_PROBE_ATTEMPTS = 3;
|
|
20
|
+
const DAYTONA_POST_START_EXEC_PROBE_DELAY_MS = 250;
|
|
16
21
|
export class DaytonaRuntime {
|
|
17
22
|
id = 'daytona';
|
|
23
|
+
declaredCapabilities = { warmLease: true, lifecycle: true };
|
|
18
24
|
capabilities = {
|
|
19
25
|
pty: false,
|
|
20
26
|
snapshots: true,
|
|
@@ -26,10 +32,12 @@ export class DaytonaRuntime {
|
|
|
26
32
|
daytona;
|
|
27
33
|
snapshot;
|
|
28
34
|
defaultHomeDir;
|
|
35
|
+
recreateOnFailedStart;
|
|
29
36
|
constructor(options) {
|
|
30
37
|
this.daytona = options.daytona;
|
|
31
38
|
this.snapshot = options.snapshot;
|
|
32
39
|
this.defaultHomeDir = options.defaultHomeDir;
|
|
40
|
+
this.recreateOnFailedStart = options.recreateOnFailedStart ?? true;
|
|
33
41
|
}
|
|
34
42
|
async launch(options = {}) {
|
|
35
43
|
const sandbox = await this.createSandbox(options);
|
|
@@ -269,11 +277,54 @@ export class DaytonaRuntime {
|
|
|
269
277
|
`mv ${shellSingleQuote(pendingStatusPath)} ${shellSingleQuote(statusPath)}`,
|
|
270
278
|
'exit "$daytona_run_status"',
|
|
271
279
|
].join('\n');
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
280
|
+
// A deterministic session can outlive a previous caller. Capture its
|
|
281
|
+
// command IDs before this POST so a response-lost admission can only be
|
|
282
|
+
// reconciled to a command that appeared during this attempt. The Daytona
|
|
283
|
+
// SDK exposes no AbortSignal/timeout for getSession, so the caller waits
|
|
284
|
+
// only for this bounded race; an unreadable baseline simply disables
|
|
285
|
+
// reconciliation and keeps the normal direct-admission path intact.
|
|
286
|
+
let baselineCommandIds = null;
|
|
287
|
+
try {
|
|
288
|
+
const baselineSession = await readBoundedDaytonaSession(sandbox.process.getSession(sessionId), admissionReconciliationLookupDeadline());
|
|
289
|
+
baselineCommandIds = daytonaSessionCommandIds(baselineSession, sessionId);
|
|
290
|
+
}
|
|
291
|
+
catch {
|
|
292
|
+
// Do not turn a best-effort idempotency observation into a new
|
|
293
|
+
// pre-admission failure. If the subsequent POST is outcome-unknown,
|
|
294
|
+
// preserving its original error is safer than guessing.
|
|
295
|
+
}
|
|
296
|
+
let result;
|
|
297
|
+
try {
|
|
298
|
+
result = await sandbox.process.executeSessionCommand(sessionId, {
|
|
299
|
+
command,
|
|
300
|
+
runAsync: true,
|
|
301
|
+
suppressInputEcho: options.suppressInputEcho,
|
|
302
|
+
}, this.msToSeconds(options.timeoutMs));
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
if (baselineCommandIds && isOutcomeUnknownAdmissionError(error)) {
|
|
306
|
+
try {
|
|
307
|
+
// A timeout/network error can mean the POST was admitted before its
|
|
308
|
+
// response was lost. Accept exactly one *new* complete generated
|
|
309
|
+
// command, never a stale, duplicate, conflicting, or unreadable
|
|
310
|
+
// record, and never submit again.
|
|
311
|
+
const postAdmissionSession = await readBoundedDaytonaSession(sandbox.process.getSession(sessionId), admissionReconciliationLookupDeadline());
|
|
312
|
+
const newMatches = matchingNewDaytonaSessionCommandIds(postAdmissionSession, baselineCommandIds, command, sessionId);
|
|
313
|
+
if (newMatches.length === 1) {
|
|
314
|
+
return {
|
|
315
|
+
sessionId,
|
|
316
|
+
commandId: newMatches[0],
|
|
317
|
+
reconciled: true,
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
catch {
|
|
322
|
+
// Preserve the original admission error. Failed reconciliation is
|
|
323
|
+
// still outcome-unknown and belongs on the caller's quarantine path.
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
throw error;
|
|
327
|
+
}
|
|
277
328
|
if (!result.cmdId) {
|
|
278
329
|
throw new Error('Daytona async session command did not return a command id');
|
|
279
330
|
}
|
|
@@ -399,6 +450,13 @@ export class DaytonaRuntime {
|
|
|
399
450
|
handle.homeDir = homeDir;
|
|
400
451
|
return homeDir;
|
|
401
452
|
}
|
|
453
|
+
/**
|
|
454
|
+
* Fetches the sandboxClass + warmPoolId fields Daytona's wire response
|
|
455
|
+
* carries that the SDK's Sandbox class drops. See wire-supplement.ts.
|
|
456
|
+
*/
|
|
457
|
+
async getWireSupplement(handle) {
|
|
458
|
+
return fetchDaytonaWireSupplement(this.daytona, handle.id);
|
|
459
|
+
}
|
|
402
460
|
async destroy(handle) {
|
|
403
461
|
const entry = this.sandboxes.get(handle.id);
|
|
404
462
|
if (!entry) {
|
|
@@ -411,13 +469,11 @@ export class DaytonaRuntime {
|
|
|
411
469
|
this.sandboxes.delete(handle.id);
|
|
412
470
|
return;
|
|
413
471
|
}
|
|
414
|
-
const client = this.daytona;
|
|
415
|
-
const remove = client.remove ?? client.delete;
|
|
416
472
|
// Order matters: do the remote delete *first*, and only drop the
|
|
417
473
|
// local map entry after it succeeds. If we dropped the entry first
|
|
418
474
|
// and the remote delete then failed, the handle id would be lost
|
|
419
475
|
// and the caller could not retry cleanup safely.
|
|
420
|
-
await
|
|
476
|
+
await this.removeSandbox(entry.sandbox);
|
|
421
477
|
this.sandboxes.delete(handle.id);
|
|
422
478
|
}
|
|
423
479
|
async stop(handle) {
|
|
@@ -431,9 +487,13 @@ export class DaytonaRuntime {
|
|
|
431
487
|
const client = this.daytona;
|
|
432
488
|
if (client.stop) {
|
|
433
489
|
await client.stop(entry.sandbox);
|
|
490
|
+
handle.state = 'STOPPED';
|
|
434
491
|
return;
|
|
435
492
|
}
|
|
436
|
-
|
|
493
|
+
if (typeof entry.sandbox.stop === 'function') {
|
|
494
|
+
await entry.sandbox.stop();
|
|
495
|
+
handle.state = 'STOPPED';
|
|
496
|
+
}
|
|
437
497
|
}
|
|
438
498
|
async start(handle) {
|
|
439
499
|
const entry = this.sandboxes.get(handle.id);
|
|
@@ -450,9 +510,149 @@ export class DaytonaRuntime {
|
|
|
450
510
|
else {
|
|
451
511
|
await entry.sandbox.start?.();
|
|
452
512
|
}
|
|
453
|
-
|
|
513
|
+
// SDK 0.180's lifecycle call waits for the platform state to become
|
|
514
|
+
// STARTED, but provider runs have shown that state can be reached while
|
|
515
|
+
// the Toolbox exec daemon still returns 502. Rehydrate first so the probe
|
|
516
|
+
// also avoids any pre-stop SDK client state.
|
|
517
|
+
// A failed control-plane rehydration is not proof that this specific
|
|
518
|
+
// sandbox's exec daemon is dead (it can be auth, rate limit, or network),
|
|
519
|
+
// so never create a second resource for that class of failure.
|
|
520
|
+
const restartedSandbox = await awaitLookupOperation(this.daytona.get(handle.id), lookupDeadline(undefined), `rehydrating sandbox ${handle.id} after start`);
|
|
521
|
+
try {
|
|
522
|
+
await this.assertSandboxExecHealthy(restartedSandbox);
|
|
523
|
+
}
|
|
524
|
+
catch (restartError) {
|
|
525
|
+
if (!this.recreateOnFailedStart) {
|
|
526
|
+
throw restartError;
|
|
527
|
+
}
|
|
528
|
+
return this.recreateAfterFailedStart(handle, entry, restartError);
|
|
529
|
+
}
|
|
530
|
+
entry.sandbox = restartedSandbox;
|
|
531
|
+
this.updateHandleFromSandbox(handle, restartedSandbox);
|
|
454
532
|
return handle;
|
|
455
533
|
}
|
|
534
|
+
async recreateAfterFailedStart(handle, entry, restartError) {
|
|
535
|
+
const originalSandbox = entry.sandbox;
|
|
536
|
+
const originalId = handle.id;
|
|
537
|
+
let replacement;
|
|
538
|
+
// entry.sandbox can be a list-derived object registered via attachSandbox
|
|
539
|
+
// without ever going through get(), which leaves env, volumes, and
|
|
540
|
+
// network settings unpopulated until refreshData() runs. Hydrate before
|
|
541
|
+
// reading it for replacementCreateParams so those settings are not
|
|
542
|
+
// silently dropped from the replacement. Bound the refresh with the same
|
|
543
|
+
// lookup deadline used elsewhere so a hanging SDK call cannot leave
|
|
544
|
+
// recreateAfterFailedStart wedged before the replacement is ever created.
|
|
545
|
+
const refreshableSandbox = originalSandbox;
|
|
546
|
+
if (typeof refreshableSandbox.refreshData === 'function') {
|
|
547
|
+
await awaitLookupOperation(Promise.resolve(refreshableSandbox.refreshData.call(originalSandbox)), lookupDeadline(undefined), `refreshing sandbox ${originalId} before replacement`);
|
|
548
|
+
}
|
|
549
|
+
try {
|
|
550
|
+
// Do not copy the name: Daytona requires names to be unique while the
|
|
551
|
+
// stopped original still exists. Labels, environment, snapshot and
|
|
552
|
+
// lifecycle/network settings are preserved instead.
|
|
553
|
+
replacement = await this.daytona.create(this.replacementCreateParams(originalSandbox));
|
|
554
|
+
await this.assertSandboxExecHealthy(replacement);
|
|
555
|
+
}
|
|
556
|
+
catch (recreateError) {
|
|
557
|
+
if (replacement) {
|
|
558
|
+
try {
|
|
559
|
+
await this.removeSandbox(replacement);
|
|
560
|
+
}
|
|
561
|
+
catch (cleanupError) {
|
|
562
|
+
throw new AggregateError([restartError, recreateError, cleanupError], `Daytona sandbox "${originalId}" restart and replacement failed; replacement cleanup also failed`);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
throw new AggregateError([restartError, recreateError], `Daytona sandbox "${originalId}" restarted without working exec and replacement failed`);
|
|
566
|
+
}
|
|
567
|
+
try {
|
|
568
|
+
// Commit the replacement only after it has executed a real command and
|
|
569
|
+
// the unusable original has been removed. If removal fails, roll the
|
|
570
|
+
// replacement back so callers never unknowingly leak a second sandbox.
|
|
571
|
+
await this.removeSandbox(originalSandbox);
|
|
572
|
+
}
|
|
573
|
+
catch (removeOriginalError) {
|
|
574
|
+
try {
|
|
575
|
+
await this.removeSandbox(replacement);
|
|
576
|
+
}
|
|
577
|
+
catch (cleanupError) {
|
|
578
|
+
throw new AggregateError([restartError, removeOriginalError, cleanupError], `Daytona sandbox "${originalId}" replacement was healthy, but neither original nor replacement could be cleaned up`);
|
|
579
|
+
}
|
|
580
|
+
throw new AggregateError([restartError, removeOriginalError], `Daytona sandbox "${originalId}" replacement was rolled back because original cleanup failed`);
|
|
581
|
+
}
|
|
582
|
+
this.sandboxes.delete(originalId);
|
|
583
|
+
entry.sandbox = replacement;
|
|
584
|
+
this.sandboxes.set(replacement.id, entry);
|
|
585
|
+
this.updateHandleFromSandbox(handle, replacement);
|
|
586
|
+
return handle;
|
|
587
|
+
}
|
|
588
|
+
async assertSandboxExecHealthy(sandbox) {
|
|
589
|
+
let lastFailure;
|
|
590
|
+
for (let attempt = 1; attempt <= DAYTONA_POST_START_EXEC_PROBE_ATTEMPTS; attempt += 1) {
|
|
591
|
+
try {
|
|
592
|
+
const result = await sandbox.process.executeCommand('true', undefined, undefined, DAYTONA_POST_START_EXEC_PROBE_TIMEOUT_SECONDS);
|
|
593
|
+
if (result.exitCode === 0) {
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
596
|
+
lastFailure = new Error(`Daytona sandbox "${sandbox.id}" post-start exec probe exited ${String(result.exitCode)}`);
|
|
597
|
+
}
|
|
598
|
+
catch (error) {
|
|
599
|
+
lastFailure = error;
|
|
600
|
+
}
|
|
601
|
+
if (attempt < DAYTONA_POST_START_EXEC_PROBE_ATTEMPTS) {
|
|
602
|
+
await new Promise((resolve) => setTimeout(resolve, DAYTONA_POST_START_EXEC_PROBE_DELAY_MS));
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
throw lastFailure;
|
|
606
|
+
}
|
|
607
|
+
replacementCreateParams(sandbox) {
|
|
608
|
+
const source = sandbox;
|
|
609
|
+
const labels = isStringRecord(source.labels) ? { ...source.labels } : undefined;
|
|
610
|
+
const snapshot = typeof source.snapshot === 'string' && source.snapshot.trim()
|
|
611
|
+
? source.snapshot.trim()
|
|
612
|
+
: this.snapshot;
|
|
613
|
+
const language = labels?.['code-toolbox-language']?.trim() || 'typescript';
|
|
614
|
+
return {
|
|
615
|
+
...(snapshot ? { snapshot } : { language }),
|
|
616
|
+
...(typeof source.user === 'string' && source.user.trim() ? { user: source.user } : {}),
|
|
617
|
+
...(isStringRecord(source.env) ? { envVars: { ...source.env } } : {}),
|
|
618
|
+
...(labels ? { labels } : {}),
|
|
619
|
+
...(typeof source.public === 'boolean' ? { public: source.public } : {}),
|
|
620
|
+
...(typeof source.autoStopInterval === 'number'
|
|
621
|
+
? { autoStopInterval: source.autoStopInterval }
|
|
622
|
+
: {}),
|
|
623
|
+
...(typeof source.autoArchiveInterval === 'number'
|
|
624
|
+
? { autoArchiveInterval: source.autoArchiveInterval }
|
|
625
|
+
: {}),
|
|
626
|
+
...(typeof source.autoDeleteInterval === 'number'
|
|
627
|
+
? { autoDeleteInterval: source.autoDeleteInterval }
|
|
628
|
+
: {}),
|
|
629
|
+
...(Array.isArray(source.volumes) ? { volumes: [...source.volumes] } : {}),
|
|
630
|
+
...(typeof source.networkBlockAll === 'boolean'
|
|
631
|
+
? { networkBlockAll: source.networkBlockAll }
|
|
632
|
+
: {}),
|
|
633
|
+
...(typeof source.networkAllowList === 'string' && source.networkAllowList.trim()
|
|
634
|
+
? { networkAllowList: source.networkAllowList }
|
|
635
|
+
: {}),
|
|
636
|
+
};
|
|
637
|
+
}
|
|
638
|
+
removeSandbox(sandbox) {
|
|
639
|
+
const client = this.daytona;
|
|
640
|
+
const remove = client.remove ?? client.delete;
|
|
641
|
+
return remove.call(client, sandbox);
|
|
642
|
+
}
|
|
643
|
+
updateHandleFromSandbox(handle, sandbox) {
|
|
644
|
+
handle.id = sandbox.id;
|
|
645
|
+
handle.state = this.readSandboxState(sandbox)?.toUpperCase() ?? 'STARTED';
|
|
646
|
+
if (sandbox.createdAt) {
|
|
647
|
+
handle.createdAt = sandbox.createdAt;
|
|
648
|
+
}
|
|
649
|
+
if (sandbox.updatedAt) {
|
|
650
|
+
handle.updatedAt = sandbox.updatedAt;
|
|
651
|
+
}
|
|
652
|
+
if (sandbox.lastActivityAt) {
|
|
653
|
+
handle.lastActivityAt = sandbox.lastActivityAt;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
456
656
|
async createSandbox(options) {
|
|
457
657
|
const params = this.buildCreateParams(options);
|
|
458
658
|
const createOptions = this.buildCreateOptions(options);
|
|
@@ -694,6 +894,12 @@ export class DaytonaRuntime {
|
|
|
694
894
|
function normalizeDaytonaState(state) {
|
|
695
895
|
return state.toLowerCase();
|
|
696
896
|
}
|
|
897
|
+
function isStringRecord(value) {
|
|
898
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
899
|
+
return false;
|
|
900
|
+
}
|
|
901
|
+
return Object.values(value).every((entry) => typeof entry === 'string');
|
|
902
|
+
}
|
|
697
903
|
function lookupDeadline(timeoutMs) {
|
|
698
904
|
const effectiveTimeoutMs = timeoutMs ?? DEFAULT_DAYTONA_LOOKUP_TIMEOUT_MS;
|
|
699
905
|
const normalizedTimeoutMs = Number.isFinite(effectiveTimeoutMs) && effectiveTimeoutMs > 0
|
|
@@ -726,6 +932,61 @@ async function awaitLookupOperation(operation, deadline, description) {
|
|
|
726
932
|
}
|
|
727
933
|
}
|
|
728
934
|
}
|
|
935
|
+
function admissionReconciliationLookupDeadline() {
|
|
936
|
+
return lookupDeadline(DAYTONA_ADMISSION_RECONCILIATION_LOOKUP_TIMEOUT_MS);
|
|
937
|
+
}
|
|
938
|
+
/**
|
|
939
|
+
* Daytona's getSession currently accepts no timeout or AbortSignal. Keep the
|
|
940
|
+
* underlying request best-effort, but never let reconciliation add an
|
|
941
|
+
* unbounded wait after the separate admission timeout has already elapsed.
|
|
942
|
+
*/
|
|
943
|
+
async function readBoundedDaytonaSession(operation, deadline) {
|
|
944
|
+
return awaitLookupOperation(operation, deadline, 'reading async session for admission reconciliation');
|
|
945
|
+
}
|
|
946
|
+
function daytonaSessionCommands(session, expectedSessionId) {
|
|
947
|
+
if (!session || typeof session !== 'object') {
|
|
948
|
+
throw new Error('Daytona async session response is unreadable');
|
|
949
|
+
}
|
|
950
|
+
const record = session;
|
|
951
|
+
if (record.sessionId !== expectedSessionId) {
|
|
952
|
+
throw new Error('Daytona async session response belongs to another session');
|
|
953
|
+
}
|
|
954
|
+
const commands = record.commands;
|
|
955
|
+
if (!Array.isArray(commands)) {
|
|
956
|
+
throw new Error('Daytona async session command list is unreadable');
|
|
957
|
+
}
|
|
958
|
+
const parsedCommands = commands.map((candidate) => {
|
|
959
|
+
if (!candidate || typeof candidate !== 'object') {
|
|
960
|
+
throw new Error('Daytona async session command is unreadable');
|
|
961
|
+
}
|
|
962
|
+
const id = candidate.id;
|
|
963
|
+
if (typeof id !== 'string' || id.length === 0) {
|
|
964
|
+
throw new Error('Daytona async session command id is unreadable');
|
|
965
|
+
}
|
|
966
|
+
return {
|
|
967
|
+
id,
|
|
968
|
+
command: candidate.command,
|
|
969
|
+
};
|
|
970
|
+
});
|
|
971
|
+
if (new Set(parsedCommands.map((candidate) => candidate.id)).size !== parsedCommands.length) {
|
|
972
|
+
throw new Error('Daytona async session command ids are ambiguous');
|
|
973
|
+
}
|
|
974
|
+
return parsedCommands;
|
|
975
|
+
}
|
|
976
|
+
function daytonaSessionCommandIds(session, expectedSessionId) {
|
|
977
|
+
return new Set(daytonaSessionCommands(session, expectedSessionId).map((candidate) => candidate.id));
|
|
978
|
+
}
|
|
979
|
+
function matchingNewDaytonaSessionCommandIds(session, baselineCommandIds, command, expectedSessionId) {
|
|
980
|
+
const newCommands = daytonaSessionCommands(session, expectedSessionId)
|
|
981
|
+
.filter((candidate) => !baselineCommandIds.has(candidate.id));
|
|
982
|
+
// A newly-created deterministic session should gain exactly one command from
|
|
983
|
+
// this admission. More than one new record — including a different command —
|
|
984
|
+
// is an ambiguous outcome, not evidence that our command may be adopted.
|
|
985
|
+
if (newCommands.length !== 1 || newCommands[0].command !== command) {
|
|
986
|
+
return [];
|
|
987
|
+
}
|
|
988
|
+
return [newCommands[0].id];
|
|
989
|
+
}
|
|
729
990
|
function closeAsyncIteratorBestEffort(iterator) {
|
|
730
991
|
if (!iterator.return) {
|
|
731
992
|
return;
|
|
@@ -756,6 +1017,27 @@ function parseShellExitCode(value) {
|
|
|
756
1017
|
? exitCode
|
|
757
1018
|
: null;
|
|
758
1019
|
}
|
|
1020
|
+
function isOutcomeUnknownAdmissionError(error) {
|
|
1021
|
+
const record = error && typeof error === 'object'
|
|
1022
|
+
? error
|
|
1023
|
+
: null;
|
|
1024
|
+
const code = typeof record?.code === 'string' ? record.code.toUpperCase() : '';
|
|
1025
|
+
const name = typeof record?.name === 'string' ? record.name : '';
|
|
1026
|
+
const message = error instanceof Error
|
|
1027
|
+
? error.message
|
|
1028
|
+
: typeof record?.message === 'string'
|
|
1029
|
+
? record.message
|
|
1030
|
+
: String(error);
|
|
1031
|
+
return (code === 'ECONNABORTED'
|
|
1032
|
+
|| code === 'ETIMEDOUT'
|
|
1033
|
+
|| code === 'ECONNRESET'
|
|
1034
|
+
|| name === 'DaytonaTimeoutError'
|
|
1035
|
+
|| /\btimeout of \d+ms exceeded\b/iu.test(message)
|
|
1036
|
+
|| /\btimed out\b/iu.test(message)
|
|
1037
|
+
|| /\bnetwork connection lost\b/iu.test(message)
|
|
1038
|
+
|| /\bsocket hang up\b/iu.test(message)
|
|
1039
|
+
|| /\bfetch failed\b/iu.test(message));
|
|
1040
|
+
}
|
|
759
1041
|
function parentDirectory(destination) {
|
|
760
1042
|
const normalized = destination.trim().replace(/\/+$/g, '');
|
|
761
1043
|
if (!normalized || normalized === '/' || !normalized.includes('/')) {
|