@mastra/docker 0.1.0 → 0.2.0-alpha.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 +23 -0
- package/dist/index.cjs +249 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +249 -1
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +25 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/sandbox/index.d.ts +46 -0
- package/dist/sandbox/index.d.ts.map +1 -1
- package/package.json +9 -9
package/dist/sandbox/index.d.ts
CHANGED
|
@@ -23,6 +23,12 @@ type InstructionsOption = string | ((opts: {
|
|
|
23
23
|
defaultInstructions: string;
|
|
24
24
|
requestContext?: RequestContext;
|
|
25
25
|
}) => string);
|
|
26
|
+
type DockerSandboxUlimit = {
|
|
27
|
+
name: string;
|
|
28
|
+
soft: number;
|
|
29
|
+
hard: number;
|
|
30
|
+
};
|
|
31
|
+
type DockerSandboxTmpfs = Record<string, string>;
|
|
26
32
|
export interface DockerSandboxOptions extends Omit<MastraSandboxOptions, 'processes'> {
|
|
27
33
|
/** Unique identifier for this sandbox instance. Used for container naming and reconnection. */
|
|
28
34
|
id?: string;
|
|
@@ -44,6 +50,30 @@ export interface DockerSandboxOptions extends Omit<MastraSandboxOptions, 'proces
|
|
|
44
50
|
* @default false
|
|
45
51
|
*/
|
|
46
52
|
privileged?: boolean;
|
|
53
|
+
/** Memory limit in bytes (HostConfig.Memory). Docker treats 0 as unlimited. */
|
|
54
|
+
memory?: number;
|
|
55
|
+
/** Total memory plus swap in bytes (HostConfig.MemorySwap). */
|
|
56
|
+
memorySwap?: number;
|
|
57
|
+
/** CPU shares relative weight (HostConfig.CpuShares). */
|
|
58
|
+
cpuShares?: number;
|
|
59
|
+
/** CPU quota in microseconds per period (HostConfig.CpuQuota). */
|
|
60
|
+
cpuQuota?: number;
|
|
61
|
+
/** CPU period in microseconds (HostConfig.CpuPeriod). */
|
|
62
|
+
cpuPeriod?: number;
|
|
63
|
+
/** Maximum number of PIDs in the container (HostConfig.PidsLimit). */
|
|
64
|
+
pidsLimit?: number;
|
|
65
|
+
/** Mount the container root filesystem as read-only (HostConfig.ReadonlyRootfs). */
|
|
66
|
+
readonlyRootfs?: boolean;
|
|
67
|
+
/** Linux capabilities to drop (HostConfig.CapDrop), e.g. ['ALL']. */
|
|
68
|
+
capDrop?: string[];
|
|
69
|
+
/** Linux capabilities to add (HostConfig.CapAdd). */
|
|
70
|
+
capAdd?: string[];
|
|
71
|
+
/** Security options (HostConfig.SecurityOpt), e.g. ['no-new-privileges:true']. */
|
|
72
|
+
securityOpt?: string[];
|
|
73
|
+
/** Ulimit entries for Docker HostConfig.Ulimits. */
|
|
74
|
+
ulimits?: DockerSandboxUlimit[];
|
|
75
|
+
/** tmpfs mount paths with options (HostConfig.Tmpfs). */
|
|
76
|
+
tmpfs?: DockerSandboxTmpfs;
|
|
47
77
|
/** Default command timeout in milliseconds
|
|
48
78
|
* @default 300_000 // 5 minutes
|
|
49
79
|
*/
|
|
@@ -115,6 +145,19 @@ export declare class DockerSandbox extends MastraSandbox {
|
|
|
115
145
|
private readonly _volumes;
|
|
116
146
|
private readonly _network?;
|
|
117
147
|
private readonly _privileged;
|
|
148
|
+
private readonly _privilegedWasSet;
|
|
149
|
+
private readonly _memory?;
|
|
150
|
+
private readonly _memorySwap?;
|
|
151
|
+
private readonly _cpuShares?;
|
|
152
|
+
private readonly _cpuQuota?;
|
|
153
|
+
private readonly _cpuPeriod?;
|
|
154
|
+
private readonly _pidsLimit?;
|
|
155
|
+
private readonly _readonlyRootfs?;
|
|
156
|
+
private readonly _capDrop?;
|
|
157
|
+
private readonly _capAdd?;
|
|
158
|
+
private readonly _securityOpt?;
|
|
159
|
+
private readonly _ulimits?;
|
|
160
|
+
private readonly _tmpfs?;
|
|
118
161
|
private readonly _workingDir;
|
|
119
162
|
private readonly _labels;
|
|
120
163
|
private readonly _instructionsOverride?;
|
|
@@ -125,6 +168,9 @@ export declare class DockerSandbox extends MastraSandbox {
|
|
|
125
168
|
*/
|
|
126
169
|
get container(): Container;
|
|
127
170
|
start(): Promise<void>;
|
|
171
|
+
private _warnOnPrivilegedHardeningConflict;
|
|
172
|
+
private _warnOnReconnectedHostConfigMismatch;
|
|
173
|
+
private _requestedHardeningHostConfigEntries;
|
|
128
174
|
stop(): Promise<void>;
|
|
129
175
|
destroy(): Promise<void>;
|
|
130
176
|
getInstructions(opts?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sandbox/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
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/docker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0-alpha.0",
|
|
4
4
|
"description": "Docker container sandbox provider for Mastra workspaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -25,16 +25,16 @@
|
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/dockerode": "^4.0.1",
|
|
27
27
|
"@types/node": "22.19.15",
|
|
28
|
-
"@vitest/coverage-v8": "4.1.
|
|
29
|
-
"@vitest/ui": "4.1.
|
|
28
|
+
"@vitest/coverage-v8": "4.1.5",
|
|
29
|
+
"@vitest/ui": "4.1.5",
|
|
30
30
|
"eslint": "^10.2.1",
|
|
31
31
|
"tsup": "^8.5.1",
|
|
32
|
-
"typescript": "^
|
|
33
|
-
"vitest": "4.1.
|
|
34
|
-
"@internal/
|
|
35
|
-
"@
|
|
36
|
-
"@internal/
|
|
37
|
-
"@
|
|
32
|
+
"typescript": "^6.0.3",
|
|
33
|
+
"vitest": "4.1.5",
|
|
34
|
+
"@internal/lint": "0.0.94",
|
|
35
|
+
"@internal/workspace-test-utils": "0.0.38",
|
|
36
|
+
"@internal/types-builder": "0.0.69",
|
|
37
|
+
"@mastra/core": "1.34.0-alpha.2"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"@mastra/core": ">=1.12.0-0 <2.0.0-0"
|