@mastra/daytona 0.5.2 → 0.6.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/CHANGELOG.md +75 -0
- package/README.md +2 -6
- package/dist/index.cjs +98 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +99 -8
- package/dist/index.js.map +1 -1
- package/dist/sandbox/index.d.ts +39 -1
- package/dist/sandbox/index.d.ts.map +1 -1
- package/package.json +12 -12
package/dist/sandbox/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @see https://www.daytona.io/docs
|
|
9
9
|
*/
|
|
10
10
|
import type { Sandbox, VolumeMount } from '@daytonaio/sdk';
|
|
11
|
-
import type { SandboxInfo, ProviderStatus, MastraSandboxOptions, WorkspaceFilesystem, MountResult, MountManager, CommandResult, ExecuteCommandOptions } from '@mastra/core/workspace';
|
|
11
|
+
import type { SandboxInfo, ProviderStatus, MastraSandboxOptions, WorkspaceFilesystem, MountResult, MountManager, CommandResult, ExecuteCommandOptions, SandboxNetworking, SandboxFileInput, SandboxCloneOptions } from '@mastra/core/workspace';
|
|
12
12
|
import { MastraSandbox } from '@mastra/core/workspace';
|
|
13
13
|
import type { DaytonaResources } from './types.js';
|
|
14
14
|
/**
|
|
@@ -123,6 +123,18 @@ export declare class DaytonaSandbox extends MastraSandbox {
|
|
|
123
123
|
readonly name = "DaytonaSandbox";
|
|
124
124
|
readonly provider = "daytona";
|
|
125
125
|
readonly mounts: MountManager;
|
|
126
|
+
/**
|
|
127
|
+
* Networking capability: public HTTPS URLs for sandbox ports.
|
|
128
|
+
* Daytona exposes ports through preview links (`getPreviewLink(port)`) —
|
|
129
|
+
* if the port is closed it is opened automatically. Private sandboxes
|
|
130
|
+
* require the preview token; pass `public: true` for tokenless URLs
|
|
131
|
+
* (required for sandbox deploys).
|
|
132
|
+
*
|
|
133
|
+
* When not attached in this process, the sandbox is looked up by identity
|
|
134
|
+
* (`daytona.get()` does not start it), so other processes can resolve
|
|
135
|
+
* deployments without waking a stopped sandbox.
|
|
136
|
+
*/
|
|
137
|
+
readonly networking: SandboxNetworking;
|
|
126
138
|
status: ProviderStatus;
|
|
127
139
|
private _daytona;
|
|
128
140
|
private _sandbox;
|
|
@@ -148,8 +160,24 @@ export declare class DaytonaSandbox extends MastraSandbox {
|
|
|
148
160
|
private readonly networkBlockAll?;
|
|
149
161
|
private readonly networkAllowList?;
|
|
150
162
|
private readonly connectionOpts;
|
|
163
|
+
private readonly _constructorOptions;
|
|
151
164
|
constructor(options?: DaytonaSandboxOptions);
|
|
152
165
|
private generateId;
|
|
166
|
+
/**
|
|
167
|
+
* Construct a sibling `DaytonaSandbox` that inherits this sandbox's
|
|
168
|
+
* configuration (credentials, snapshot/image, resources, network policy)
|
|
169
|
+
* with per-instance overrides.
|
|
170
|
+
*
|
|
171
|
+
* Performs no I/O — the sandbox clone provisions (or reconnects to an
|
|
172
|
+
* existing Daytona sandbox with the same logical `id`) on its own `start()`.
|
|
173
|
+
* Use it when one configured sandbox acts as the template for a fleet of
|
|
174
|
+
* independent sandboxes (e.g. one per project).
|
|
175
|
+
*
|
|
176
|
+
* `options.idleTimeoutMinutes` maps to Daytona's `autoStopInterval`
|
|
177
|
+
* (minutes); `options.sandboxId` is ignored because Daytona reconnects by
|
|
178
|
+
* logical `id`.
|
|
179
|
+
*/
|
|
180
|
+
clone(options?: SandboxCloneOptions): DaytonaSandbox;
|
|
153
181
|
/**
|
|
154
182
|
* Get the underlying Daytona Sandbox instance for direct access to Daytona APIs.
|
|
155
183
|
*
|
|
@@ -201,6 +229,10 @@ export declare class DaytonaSandbox extends MastraSandbox {
|
|
|
201
229
|
* Execute a command in the sandbox and return the result.
|
|
202
230
|
*/
|
|
203
231
|
executeCommand(command: string, args?: string[], options?: ExecuteCommandOptions): Promise<CommandResult>;
|
|
232
|
+
/**
|
|
233
|
+
* Bulk-write files into the sandbox filesystem via the SDK's native upload.
|
|
234
|
+
*/
|
|
235
|
+
writeFiles(files: SandboxFileInput[]): Promise<void>;
|
|
204
236
|
/**
|
|
205
237
|
* Mount a filesystem at a path in the sandbox.
|
|
206
238
|
* Uses FUSE tools (s3fs, gcsfuse) to mount cloud storage.
|
|
@@ -235,6 +267,12 @@ export declare class DaytonaSandbox extends MastraSandbox {
|
|
|
235
267
|
* be created.
|
|
236
268
|
*/
|
|
237
269
|
private detectWorkingDir;
|
|
270
|
+
/**
|
|
271
|
+
* Look up the existing Daytona sandbox by identity WITHOUT starting it.
|
|
272
|
+
* Used for detached (cross-process) networking/stop/destroy so those
|
|
273
|
+
* operations never wake a stopped sandbox. Returns null when not found.
|
|
274
|
+
*/
|
|
275
|
+
private lookupDetachedSandbox;
|
|
238
276
|
private findExistingSandbox;
|
|
239
277
|
/**
|
|
240
278
|
* Transitional states where the Daytona API will reject start() with
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAGV,OAAO,EACP,WAAW,EACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EAEX,YAAY,EACZ,aAAa,EACb,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/daytona",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Daytona cloud sandbox provider for Mastra workspaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,20 +23,20 @@
|
|
|
23
23
|
"@daytonaio/sdk": "^0.143.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@types/node": "22.
|
|
27
|
-
"@vitest/coverage-v8": "4.1.
|
|
28
|
-
"@vitest/ui": "4.1.
|
|
26
|
+
"@types/node": "22.20.1",
|
|
27
|
+
"@vitest/coverage-v8": "4.1.10",
|
|
28
|
+
"@vitest/ui": "4.1.10",
|
|
29
29
|
"dotenv": "^17.4.2",
|
|
30
|
-
"eslint": "^10.
|
|
30
|
+
"eslint": "^10.7.0",
|
|
31
31
|
"tsup": "^8.5.1",
|
|
32
32
|
"typescript": "^6.0.3",
|
|
33
|
-
"vitest": "4.1.
|
|
34
|
-
"@internal/
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"@
|
|
38
|
-
"@mastra/
|
|
39
|
-
"@
|
|
33
|
+
"vitest": "4.1.10",
|
|
34
|
+
"@internal/types-builder": "0.0.90",
|
|
35
|
+
"@mastra/gcs": "0.3.1",
|
|
36
|
+
"@mastra/s3": "0.6.0",
|
|
37
|
+
"@internal/lint": "0.0.115",
|
|
38
|
+
"@mastra/core": "1.52.0",
|
|
39
|
+
"@internal/workspace-test-utils": "0.0.59"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
42
|
"@mastra/core": ">=1.12.0-0 <2.0.0-0"
|