microsandbox-mcp 0.5.7 → 0.5.10
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 +142 -27
- package/dist/config.d.ts +10 -0
- package/dist/config.js +42 -0
- package/dist/config.js.map +1 -0
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/resources.d.ts +2 -0
- package/dist/resources.js +71 -0
- package/dist/resources.js.map +1 -0
- package/dist/schemas/common.d.ts +7 -0
- package/dist/schemas/common.js +8 -0
- package/dist/schemas/common.js.map +1 -0
- package/dist/state/exec-sessions.d.ts +19 -0
- package/dist/state/exec-sessions.js +151 -0
- package/dist/state/exec-sessions.js.map +1 -0
- package/dist/tools/exec.js +283 -56
- package/dist/tools/exec.js.map +1 -1
- package/dist/tools/filesystem.js +195 -59
- package/dist/tools/filesystem.js.map +1 -1
- package/dist/tools/image.d.ts +2 -0
- package/dist/tools/image.js +99 -0
- package/dist/tools/image.js.map +1 -0
- package/dist/tools/logs.d.ts +2 -0
- package/dist/tools/logs.js +128 -0
- package/dist/tools/logs.js.map +1 -0
- package/dist/tools/metrics.js +48 -65
- package/dist/tools/metrics.js.map +1 -1
- package/dist/tools/runtime.d.ts +2 -0
- package/dist/tools/runtime.js +61 -0
- package/dist/tools/runtime.js.map +1 -0
- package/dist/tools/sandbox.d.ts +216 -0
- package/dist/tools/sandbox.js +619 -202
- package/dist/tools/sandbox.js.map +1 -1
- package/dist/tools/snapshot.d.ts +2 -0
- package/dist/tools/snapshot.js +234 -0
- package/dist/tools/snapshot.js.map +1 -0
- package/dist/tools/ssh.d.ts +2 -0
- package/dist/tools/ssh.js +323 -0
- package/dist/tools/ssh.js.map +1 -0
- package/dist/tools/volume.js +287 -23
- package/dist/tools/volume.js.map +1 -1
- package/dist/utils/errors.d.ts +2 -7
- package/dist/utils/errors.js +6 -5
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/exec-output.d.ts +20 -0
- package/dist/utils/exec-output.js +15 -0
- package/dist/utils/exec-output.js.map +1 -0
- package/dist/utils/output.d.ts +11 -0
- package/dist/utils/output.js +21 -0
- package/dist/utils/output.js.map +1 -0
- package/dist/utils/policy.d.ts +8 -0
- package/dist/utils/policy.js +47 -0
- package/dist/utils/policy.js.map +1 -0
- package/dist/utils/redaction.d.ts +1 -0
- package/dist/utils/redaction.js +15 -0
- package/dist/utils/redaction.js.map +1 -0
- package/dist/utils/response.d.ts +34 -0
- package/dist/utils/response.js +38 -0
- package/dist/utils/response.js.map +1 -0
- package/dist/utils/serialization.d.ts +15 -0
- package/dist/utils/serialization.js +164 -0
- package/dist/utils/serialization.js.map +1 -0
- package/package.json +5 -3
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { redact } from "./redaction.js";
|
|
2
|
+
export function ok(data, options = {}) {
|
|
3
|
+
const body = {
|
|
4
|
+
ok: true,
|
|
5
|
+
data,
|
|
6
|
+
...(options.warnings && options.warnings.length > 0 ? { warnings: options.warnings } : {}),
|
|
7
|
+
...(options.truncated && options.truncated.length > 0 ? { truncated: options.truncated } : {}),
|
|
8
|
+
};
|
|
9
|
+
return jsonResult(body);
|
|
10
|
+
}
|
|
11
|
+
export function fail(code, message, options = {}) {
|
|
12
|
+
const body = {
|
|
13
|
+
ok: false,
|
|
14
|
+
error: {
|
|
15
|
+
code,
|
|
16
|
+
message,
|
|
17
|
+
...(options.details !== undefined ? { details: redact(options.details) } : {}),
|
|
18
|
+
...(options.retryable !== undefined ? { retryable: options.retryable } : {}),
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
...jsonResult(body),
|
|
23
|
+
isError: true,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function errorResult(error, code = "operation_failed") {
|
|
27
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
28
|
+
return fail(code, message);
|
|
29
|
+
}
|
|
30
|
+
function jsonResult(body) {
|
|
31
|
+
return {
|
|
32
|
+
content: [{
|
|
33
|
+
type: "text",
|
|
34
|
+
text: JSON.stringify(body, null, 2),
|
|
35
|
+
}],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AA2BxC,MAAM,UAAU,EAAE,CAChB,IAAO,EACP,UAA6D,EAAE;IAE/D,MAAM,IAAI,GAAc;QACtB,EAAE,EAAE,IAAI;QACR,IAAI;QACJ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/F,CAAC;IAEF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,IAAY,EACZ,OAAe,EACf,UAAsD,EAAE;IAExD,MAAM,IAAI,GAAc;QACtB,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACL,IAAI;YACJ,OAAO;YACP,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E;KACF,CAAC;IAEF,OAAO;QACL,GAAG,UAAU,CAAC,IAAI,CAAC;QACnB,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,IAAI,GAAG,kBAAkB;IACnE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,IAAiC;IACnD,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACpC,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { FsEntry, FsMetadata, ImageDetail, ImageHandle, LogEntry, SandboxHandle, SandboxMetrics, Snapshot, SnapshotHandle, VolumeHandle } from "microsandbox";
|
|
2
|
+
export declare function sandboxHandleData(handle: SandboxHandle): Record<string, unknown>;
|
|
3
|
+
export declare function sandboxSummaryData(handle: SandboxHandle): Record<string, unknown>;
|
|
4
|
+
export declare function metricsData(metrics: SandboxMetrics): Record<string, unknown>;
|
|
5
|
+
export declare function fsEntryData(entry: FsEntry): Record<string, unknown>;
|
|
6
|
+
export declare function fsMetadataData(meta: FsMetadata): Record<string, unknown>;
|
|
7
|
+
export declare function logEntryData(entry: LogEntry): Record<string, unknown>;
|
|
8
|
+
export declare function imageHandleData(handle: ImageHandle): Record<string, unknown>;
|
|
9
|
+
export declare function imageDetailData(detail: ImageDetail): Record<string, unknown>;
|
|
10
|
+
export declare function volumeHandleData(handle: VolumeHandle): Record<string, unknown>;
|
|
11
|
+
export declare function snapshotHandleData(handle: SnapshotHandle): Record<string, unknown>;
|
|
12
|
+
export declare function snapshotData(snapshot: Snapshot): Record<string, unknown>;
|
|
13
|
+
export declare function toIso(value: Date | number | string | null | undefined): string | null;
|
|
14
|
+
export declare function parseDate(value: string | undefined): Date | undefined;
|
|
15
|
+
export declare function parseJson(value: string): unknown;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
export function sandboxHandleData(handle) {
|
|
2
|
+
return {
|
|
3
|
+
name: handle.name,
|
|
4
|
+
status: handle.status,
|
|
5
|
+
config: parseJson(handle.configJson),
|
|
6
|
+
createdAt: toIso(handle.createdAt),
|
|
7
|
+
updatedAt: toIso(handle.updatedAt),
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function sandboxSummaryData(handle) {
|
|
11
|
+
const config = parseJson(handle.configJson);
|
|
12
|
+
return {
|
|
13
|
+
name: handle.name,
|
|
14
|
+
status: handle.status,
|
|
15
|
+
image: imageFromConfig(config),
|
|
16
|
+
labels: labelsFromConfig(config),
|
|
17
|
+
createdAt: toIso(handle.createdAt),
|
|
18
|
+
updatedAt: toIso(handle.updatedAt),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function metricsData(metrics) {
|
|
22
|
+
return {
|
|
23
|
+
timestamp: toIso(metrics.timestamp),
|
|
24
|
+
cpuPercent: metrics.cpuPercent,
|
|
25
|
+
vcpuTimeNs: metrics.vcpuTimeNs,
|
|
26
|
+
memoryBytes: metrics.memoryBytes,
|
|
27
|
+
memoryAvailableBytes: metrics.memoryAvailableBytes,
|
|
28
|
+
memoryHostResidentBytes: metrics.memoryHostResidentBytes,
|
|
29
|
+
memoryLimitBytes: metrics.memoryLimitBytes,
|
|
30
|
+
diskReadBytes: metrics.diskReadBytes,
|
|
31
|
+
diskWriteBytes: metrics.diskWriteBytes,
|
|
32
|
+
netRxBytes: metrics.netRxBytes,
|
|
33
|
+
netTxBytes: metrics.netTxBytes,
|
|
34
|
+
uptimeMs: metrics.uptimeMs,
|
|
35
|
+
uptimeSecs: Math.round(metrics.uptimeMs / 1000),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export function fsEntryData(entry) {
|
|
39
|
+
return {
|
|
40
|
+
path: entry.path,
|
|
41
|
+
kind: entry.kind,
|
|
42
|
+
size: entry.size,
|
|
43
|
+
mode: entry.mode,
|
|
44
|
+
modified: toIso(entry.modified),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function fsMetadataData(meta) {
|
|
48
|
+
return {
|
|
49
|
+
kind: meta.kind,
|
|
50
|
+
size: meta.size,
|
|
51
|
+
mode: meta.mode,
|
|
52
|
+
readonly: meta.readonly,
|
|
53
|
+
modified: toIso(meta.modified),
|
|
54
|
+
created: toIso(meta.created),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export function logEntryData(entry) {
|
|
58
|
+
return {
|
|
59
|
+
timestamp: toIso(entry.timestamp),
|
|
60
|
+
source: entry.source,
|
|
61
|
+
sessionId: entry.sessionId,
|
|
62
|
+
text: entry.text(),
|
|
63
|
+
cursor: entry.cursor,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export function imageHandleData(handle) {
|
|
67
|
+
return {
|
|
68
|
+
reference: handle.reference,
|
|
69
|
+
sizeBytes: handle.sizeBytes,
|
|
70
|
+
manifestDigest: handle.manifestDigest,
|
|
71
|
+
architecture: handle.architecture,
|
|
72
|
+
os: handle.os,
|
|
73
|
+
layerCount: handle.layerCount,
|
|
74
|
+
lastUsedAt: toIso(handle.lastUsedAt),
|
|
75
|
+
createdAt: toIso(handle.createdAt),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function imageDetailData(detail) {
|
|
79
|
+
return {
|
|
80
|
+
handle: imageHandleData(detail.handle),
|
|
81
|
+
config: detail.config,
|
|
82
|
+
layers: detail.layers,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export function volumeHandleData(handle) {
|
|
86
|
+
return {
|
|
87
|
+
name: handle.name,
|
|
88
|
+
kind: handle.kind,
|
|
89
|
+
quotaMib: handle.quotaMib,
|
|
90
|
+
usedBytes: handle.usedBytes,
|
|
91
|
+
capacityBytes: handle.capacityBytes,
|
|
92
|
+
diskFormat: handle.diskFormat,
|
|
93
|
+
diskFstype: handle.diskFstype,
|
|
94
|
+
labels: Object.fromEntries(handle.labels),
|
|
95
|
+
createdAt: toIso(handle.createdAt),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export function snapshotHandleData(handle) {
|
|
99
|
+
return {
|
|
100
|
+
digest: handle.digest,
|
|
101
|
+
name: handle.name,
|
|
102
|
+
parentDigest: handle.parentDigest,
|
|
103
|
+
imageRef: handle.imageRef,
|
|
104
|
+
format: handle.format,
|
|
105
|
+
sizeBytes: bigintToString(handle.sizeBytes),
|
|
106
|
+
createdAt: toIso(handle.createdAt),
|
|
107
|
+
path: handle.path,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export function snapshotData(snapshot) {
|
|
111
|
+
return {
|
|
112
|
+
path: snapshot.path,
|
|
113
|
+
digest: snapshot.digest,
|
|
114
|
+
sizeBytes: snapshot.sizeBytes.toString(),
|
|
115
|
+
imageRef: snapshot.imageRef,
|
|
116
|
+
imageManifestDigest: snapshot.imageManifestDigest,
|
|
117
|
+
format: snapshot.format,
|
|
118
|
+
fstype: snapshot.fstype,
|
|
119
|
+
parent: snapshot.parent,
|
|
120
|
+
createdAt: snapshot.createdAt,
|
|
121
|
+
labels: Object.fromEntries(snapshot.labels),
|
|
122
|
+
sourceSandbox: snapshot.sourceSandbox,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export function toIso(value) {
|
|
126
|
+
if (value == null)
|
|
127
|
+
return null;
|
|
128
|
+
if (value instanceof Date)
|
|
129
|
+
return value.toISOString();
|
|
130
|
+
if (typeof value === "number")
|
|
131
|
+
return new Date(value).toISOString();
|
|
132
|
+
return value;
|
|
133
|
+
}
|
|
134
|
+
export function parseDate(value) {
|
|
135
|
+
if (!value)
|
|
136
|
+
return undefined;
|
|
137
|
+
const date = new Date(value);
|
|
138
|
+
if (Number.isNaN(date.getTime())) {
|
|
139
|
+
throw new Error(`invalid date: ${value}`);
|
|
140
|
+
}
|
|
141
|
+
return date;
|
|
142
|
+
}
|
|
143
|
+
export function parseJson(value) {
|
|
144
|
+
try {
|
|
145
|
+
return JSON.parse(value);
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function bigintToString(value) {
|
|
152
|
+
return value == null ? null : value.toString();
|
|
153
|
+
}
|
|
154
|
+
function imageFromConfig(config) {
|
|
155
|
+
if (!config || typeof config.image !== "object" || config.image === null)
|
|
156
|
+
return null;
|
|
157
|
+
return config.image;
|
|
158
|
+
}
|
|
159
|
+
function labelsFromConfig(config) {
|
|
160
|
+
if (!config || typeof config.labels !== "object" || config.labels === null)
|
|
161
|
+
return {};
|
|
162
|
+
return config.labels;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../src/utils/serialization.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "microsandbox-mcp",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.10",
|
|
4
4
|
"description": "MCP server for microsandbox — manage microVM sandboxes from any AI agent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -14,11 +14,13 @@
|
|
|
14
14
|
"scripts": {
|
|
15
15
|
"build": "tsc",
|
|
16
16
|
"dev": "tsc --watch",
|
|
17
|
-
"start": "node dist/index.js"
|
|
17
|
+
"start": "node dist/index.js",
|
|
18
|
+
"test": "npm run build && node --test tests/*.test.mjs",
|
|
19
|
+
"test:e2e": "npm run build && node tests/e2e-all-tools.mjs"
|
|
18
20
|
},
|
|
19
21
|
"dependencies": {
|
|
20
22
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
21
|
-
"microsandbox": "^0.5.
|
|
23
|
+
"microsandbox": "^0.5.10",
|
|
22
24
|
"zod": "^4.3.6"
|
|
23
25
|
},
|
|
24
26
|
"devDependencies": {
|