@intentic/machine 1.310.0 → 1.312.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/README.md +46 -304
- package/dist/device/audit.d.ts.map +1 -1
- package/dist/device/audit.js +3 -1
- package/dist/device/audit.js.map +1 -1
- package/dist/device/auto-prepare.d.ts.map +1 -1
- package/dist/device/auto-prepare.js +1 -1
- package/dist/device/auto-prepare.js.map +1 -1
- package/dist/device/config.d.ts.map +1 -1
- package/dist/device/config.js +12 -4
- package/dist/device/config.js.map +1 -1
- package/dist/device/connection.d.ts.map +1 -1
- package/dist/device/connection.js +2 -1
- package/dist/device/connection.js.map +1 -1
- package/dist/device/indicator.d.ts.map +1 -1
- package/dist/device/indicator.js +2 -2
- package/dist/device/indicator.js.map +1 -1
- package/dist/device/mcp.d.ts.map +1 -1
- package/dist/device/mcp.js +7 -4
- package/dist/device/mcp.js.map +1 -1
- package/dist/device/policy.d.ts +1 -0
- package/dist/device/policy.d.ts.map +1 -1
- package/dist/device/policy.js +9 -5
- package/dist/device/policy.js.map +1 -1
- package/dist/device/router.d.ts +2 -0
- package/dist/device/router.d.ts.map +1 -1
- package/dist/device/router.js +3 -3
- package/dist/device/router.js.map +1 -1
- package/dist/device/tools/describe.d.ts +1 -1
- package/dist/device/tools/describe.d.ts.map +1 -1
- package/dist/device/tools/describe.js +4 -2
- package/dist/device/tools/describe.js.map +1 -1
- package/dist/device/tools/sandboxes.d.ts +14 -4
- package/dist/device/tools/sandboxes.d.ts.map +1 -1
- package/dist/device/tools/sandboxes.js +71 -9
- package/dist/device/tools/sandboxes.js.map +1 -1
- package/dist/install.d.ts +4 -0
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +22 -3
- package/dist/install.js.map +1 -1
- package/dist/sync/commands.d.ts.map +1 -1
- package/dist/sync/commands.js +9 -2
- package/dist/sync/commands.js.map +1 -1
- package/dist/sync/config.d.ts.map +1 -1
- package/dist/sync/config.js +6 -4
- package/dist/sync/config.js.map +1 -1
- package/dist/sync/ssh.d.ts +1 -1
- package/dist/sync/ssh.d.ts.map +1 -1
- package/dist/sync/ssh.js +6 -4
- package/dist/sync/ssh.js.map +1 -1
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indicator.js","sourceRoot":"","sources":["../../src/device/indicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"indicator.js","sourceRoot":"","sources":["../../src/device/indicator.ts"],"names":[],"mappings":"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"}
|
package/dist/device/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/device/mcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/device/mcp.ts"],"names":[],"mappings":"AA4ZA,eAAO,MAAM,gBAAgB;;;;;;;;kDAQ3B,CAAC"}
|
package/dist/device/mcp.js
CHANGED
|
@@ -262,7 +262,7 @@ const TOOLS = [
|
|
|
262
262
|
}),
|
|
263
263
|
tool({
|
|
264
264
|
name: "manage_sandbox",
|
|
265
|
-
description: "Start, stop or restart one Intentic sandbox on this device, by its slug from list_sandboxes. Stopping one interrupts whoever is working in it, and stopping the sandbox you are calling from severs your own connection. Requires the 'Manage sandboxes on this device' permission, which is OFF unless the user turned it on.",
|
|
265
|
+
description: "Start, stop or restart one Intentic sandbox on this device, by its slug from list_sandboxes. Stopping one interrupts whoever is working in it, and stopping the sandbox you are calling from severs your own connection. When a share is saved for the sandbox's next restart (reshape_sandbox with `later`), start and restart recreate it with that share, which takes about a minute. Requires the 'Manage sandboxes on this device' permission, which is OFF unless the user turned it on.",
|
|
266
266
|
effect: "write",
|
|
267
267
|
input: z.object({ op: SandboxOpSchema, slug: required.describe("The sandbox's slug, from list_sandboxes.") }),
|
|
268
268
|
run: async ({ op, slug }, scopes) => textResult(await manageSandbox(op, slug, scopes)),
|
|
@@ -280,10 +280,13 @@ const TOOLS = [
|
|
|
280
280
|
}),
|
|
281
281
|
tool({
|
|
282
282
|
name: "reshape_sandbox",
|
|
283
|
-
description: "Change how much of this device one Intentic sandbox may use, or its privileges: a memory cap in whole GiB, a CPU cap in whole cores, whether the container runs privileged, and whether this device's NVIDIA GPUs are passed through. Give only what should change; `null` for a cap means back to the default (the memory share derived from this machine; every core). The sandbox RESTARTS onto the same image — about a minute, whoever is working in it is interrupted, and reshaping the sandbox you are calling from severs your own connection until it is back — and the new values live on the container, surviving every later update. A privilege the sandbox's approved environment demands (the Docker capability's --privileged) cannot be withdrawn here, only the owner's own ask. Requires the 'Manage sandboxes on this device' permission.",
|
|
283
|
+
description: "Change how much of this device one Intentic sandbox may use, or its privileges: a memory cap in whole GiB, a CPU cap in whole cores, whether the container runs privileged, and whether this device's NVIDIA GPUs are passed through. Give only what should change; `null` for a cap means back to the default (the memory share derived from this machine; every core). The sandbox RESTARTS onto the same image — about a minute, whoever is working in it is interrupted, and reshaping the sandbox you are calling from severs your own connection until it is back — and the new values live on the container, surviving every later update. Pass `later: true` to SAVE the change for the sandbox's next restart instead (its next update, rollback, rebuild, or a start/restart through manage_sandbox applies it) without restarting it now; `later: true` with nothing else forgets what is saved, and a call with nothing at all applies what is saved now. list_sandboxes shows what is saved under `resources.saved`. A privilege the sandbox's approved environment demands (the Docker capability's --privileged) cannot be withdrawn here, only the owner's own ask. Requires the 'Manage sandboxes on this device' permission.",
|
|
284
284
|
effect: "write",
|
|
285
|
-
input: SandboxResourcesAskFieldsSchema.extend({
|
|
286
|
-
|
|
285
|
+
input: SandboxResourcesAskFieldsSchema.extend({
|
|
286
|
+
slug: required.describe("The sandbox's slug, from list_sandboxes."),
|
|
287
|
+
later: z.boolean().optional().describe("Save the change for the sandbox's next restart instead of restarting it now."),
|
|
288
|
+
}),
|
|
289
|
+
run: async ({ slug, later, ...ask }, scopes) => textResult(await reshapeSandbox(slug, ask, scopes, () => { }, { later })),
|
|
287
290
|
}),
|
|
288
291
|
tool({
|
|
289
292
|
name: "remove_sandbox",
|
package/dist/device/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/device/mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/device/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/device/policy.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { DeviceScopes } from "@intentic/sandbox-contract";
|
|
|
2
2
|
export declare class ScopeError extends Error {
|
|
3
3
|
}
|
|
4
4
|
export declare const rootsOf: (scopes: DeviceScopes) => string[];
|
|
5
|
+
export declare const rootsText: (roots: readonly string[]) => string;
|
|
5
6
|
export declare const withinRoots: (path: string, roots: readonly string[]) => boolean;
|
|
6
7
|
export declare const realPathOf: (path: string) => Promise<string>;
|
|
7
8
|
export declare const assertPath: (path: string, scopes: DeviceScopes, intent: string, { link }?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/device/policy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM/D,qBAAa,UAAW,SAAQ,KAAK;CAAG;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/device/policy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM/D,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAIxC,eAAO,MAAM,OAAO,WAAY,YAAY,KAAG,MAAM,EAepD,CAAC;AAGF,eAAO,MAAM,SAAS,UAAW,SAAS,MAAM,EAAE,KAAG,MACqD,CAAC;AAI3G,eAAO,MAAM,WAAW,SAAU,MAAM,SAAS,SAAS,MAAM,EAAE,KAAG,OAGpE,CAAC;AAIF,eAAO,MAAM,UAAU,SAAgB,MAAM,KAAG,OAAO,CAAC,MAAM,CAY7D,CAAC;AAIF,eAAO,MAAM,UAAU,SACb,MAAM,UACJ,YAAY,UACZ,MAAM,aACO;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,KAC7D,OAAO,CAAC,MAAM,CAchB,CAAC;AAGF,eAAO,MAAM,WAAW,WACZ,YAAY,SACb,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,KAC9E,IAaF,CAAC"}
|
package/dist/device/policy.js
CHANGED
|
@@ -4,15 +4,19 @@ import { basename, dirname, isAbsolute, join, resolve, sep } from "node:path";
|
|
|
4
4
|
export class ScopeError extends Error {
|
|
5
5
|
}
|
|
6
6
|
export const rootsOf = (scopes) => {
|
|
7
|
-
const
|
|
7
|
+
const lines = (scopes.roots ?? "")
|
|
8
8
|
.split(/\r?\n/)
|
|
9
9
|
.map((line) => line.trim())
|
|
10
|
-
.filter((line) => line !== "")
|
|
10
|
+
.filter((line) => line !== "");
|
|
11
|
+
if (lines.length === 0) {
|
|
12
|
+
return [resolve(homedir())];
|
|
13
|
+
}
|
|
14
|
+
return (lines
|
|
11
15
|
.map((line) => (line.startsWith("~") ? join(homedir(), line.slice(1)) : line))
|
|
12
16
|
.filter((line) => isAbsolute(line))
|
|
13
|
-
.map((line) => resolve(line));
|
|
14
|
-
return declared.length > 0 ? declared : [resolve(homedir())];
|
|
17
|
+
.map((line) => resolve(line)));
|
|
15
18
|
};
|
|
19
|
+
export const rootsText = (roots) => roots.length === 0 ? `none, since no line of "Folders it may touch" is a full path` : roots.join(", ");
|
|
16
20
|
export const withinRoots = (path, roots) => {
|
|
17
21
|
const target = resolve(path);
|
|
18
22
|
return roots.some((root) => target === root || target.startsWith(root.endsWith(sep) ? root : `${root}${sep}`));
|
|
@@ -37,7 +41,7 @@ export const assertPath = async (path, scopes, intent, { link = "follow" } = {})
|
|
|
37
41
|
const real = link === "follow" ? await realPathOf(absolute) : join(await realPathOf(dirname(absolute)), basename(absolute));
|
|
38
42
|
if (!withinRoots(real, await Promise.all(roots.map(realPathOf)))) {
|
|
39
43
|
const leads = real === absolute ? "" : ` (it leads to ${real})`;
|
|
40
|
-
throw new ScopeError(`Refused to ${intent} "${path}"${leads}: it is outside the folders this device allows (${roots
|
|
44
|
+
throw new ScopeError(`Refused to ${intent} "${path}"${leads}: it is outside the folders this device allows (${rootsText(roots)}). ` +
|
|
41
45
|
`Widen "Folders it may touch" on this device's capability card to change that.`);
|
|
42
46
|
}
|
|
43
47
|
return real;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/device/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAO9E,MAAM,OAAO,UAAW,SAAQ,KAAK;CAAG;
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/device/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/device/router.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export declare const createHostRouter: (runtime: HostRuntime) => {
|
|
|
26
26
|
unreachable: import("zod").ZodNumber;
|
|
27
27
|
unreachableSince: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
28
28
|
}, import("zod/v4/core").$strip>>;
|
|
29
|
+
features: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
29
30
|
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
30
31
|
report: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, import("@orpc/server").Schema<unknown, unknown>, import("zod").ZodObject<{
|
|
31
32
|
hostname: import("zod").ZodString;
|
|
@@ -151,6 +152,7 @@ export declare const createHostRouter: (runtime: HostRuntime) => {
|
|
|
151
152
|
privileged: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
152
153
|
gpu: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
153
154
|
}, import("zod/v4/core").$strip>>;
|
|
155
|
+
later: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
154
156
|
parentUrl: import("zod").ZodOptional<import("zod").ZodString>;
|
|
155
157
|
pair: import("zod").ZodOptional<import("zod").ZodString>;
|
|
156
158
|
setupCode: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/device/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAqF,MAAM,4BAA4B,CAAC;AAsBlJ,MAAM,WAAW,WAAW;IAExB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAkFD,eAAO,MAAM,gBAAgB,YAAa,WAAW
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/device/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAqF,MAAM,4BAA4B,CAAC;AAsBlJ,MAAM,WAAW,WAAW;IAExB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAkFD,eAAO,MAAM,gBAAgB,YAAa,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BpD,CAAC"}
|
package/dist/device/router.js
CHANGED
|
@@ -15,14 +15,14 @@ const runnerFlowFor = ({ op, slug, parentUrl, pair, definition, overlay, overlay
|
|
|
15
15
|
}, scopes, onLine);
|
|
16
16
|
const swapFlowFor = (swap) => ({ slug, hash }, scopes) => (onLine) => swapSandbox(swap, slug, hash, scopes, onLine);
|
|
17
17
|
const FLOWS = {
|
|
18
|
-
start: ({ slug }, scopes) => async () => await manageSandbox("start", slug, scopes),
|
|
18
|
+
start: ({ slug }, scopes) => async (onLine) => await manageSandbox("start", slug, scopes, onLine),
|
|
19
19
|
stop: ({ slug }, scopes) => async () => await manageSandbox("stop", slug, scopes),
|
|
20
|
-
restart: ({ slug }, scopes) => async () => await manageSandbox("restart", slug, scopes),
|
|
20
|
+
restart: ({ slug }, scopes) => async (onLine) => await manageSandbox("restart", slug, scopes, onLine),
|
|
21
21
|
prepare: swapFlowFor("prepare"),
|
|
22
22
|
update: swapFlowFor("update"),
|
|
23
23
|
rebuild: swapFlowFor("rebuild"),
|
|
24
24
|
rollback: swapFlowFor("rollback"),
|
|
25
|
-
reshape: ({ slug, resources }, scopes) => (onLine) => reshapeSandbox(slug, resources, scopes, onLine),
|
|
25
|
+
reshape: ({ slug, resources, later }, scopes) => (onLine) => reshapeSandbox(slug, resources, scopes, onLine, { later }),
|
|
26
26
|
remove: ({ slug }, scopes) => (onLine) => removeSandbox(slug, scopes, onLine),
|
|
27
27
|
logs: ({ slug }, scopes) => (onLine) => tailSandboxLogs(slug, scopes, onLine),
|
|
28
28
|
reconnect: ({ slug, setupCode, platformUrl }, scopes) => (onLine) => reconnectSandbox(slug, setupCode, platformUrl, scopes, onLine),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/device/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAwF,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAClJ,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACH,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,UAAU,EAEV,WAAW,EACX,eAAe,GAClB,MAAM,sBAAsB,CAAC;AAe9B,MAAM,UAAU,GAAG,CAAC,GAAwD,EAAkC,EAAE,CAC5G,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAOrJ,MAAM,aAAa,GACf,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,CAC5E,CAAC,MAAM,EAAE,EAAE,CACP,UAAU,CACN,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EACzC,IAAI,EACJ,SAAS,EACT,IAAI,EACJ;IACI,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;IACnD,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;CACxD,EACD,MAAM,EACN,MAAM,CACT,CAAC;AAGV,MAAM,WAAW,GACb,CAAC,IAAiB,EAAW,EAAE,CAC/B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAC3B,CAAC,MAAM,EAAE,EAAE,CACP,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAItD,MAAM,KAAK,GAAqC;IAC5C,KAAK,EACD,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CACrB,KAAK,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/device/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DeviceFacts, type DeviceScopes } from "@intentic/sandbox-contract";
|
|
2
2
|
import { type LinkReading } from "../config.js";
|
|
3
3
|
export declare const linkFacts: (stamped: Readonly<Record<string, LinkReading>> | undefined) => DeviceFacts["links"];
|
|
4
4
|
export declare const hostFacts: (scopes: DeviceScopes) => Promise<DeviceFacts>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/device/tools/describe.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/device/tools/describe.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgC,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/G,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,cAAc,CAAC;AAmD/E,eAAO,MAAM,SAAS,YAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,SAAS,KAAG,WAAW,CAAC,OAAO,CAWzG,CAAC;AAEF,eAAO,MAAM,SAAS,WAAkB,YAAY,KAAG,OAAO,CAAC,WAAW,CAgBzE,CAAC;AAoBF,eAAO,MAAM,YAAY,WAAkB,YAAY,KAAG,OAAO,CAAC,MAAM,CAqBvE,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
2
|
import { arch, homedir, hostname, platform, release, type } from "node:os";
|
|
3
3
|
import { promisify } from "node:util";
|
|
4
|
+
import { DEVICE_FEATURE_RESHAPE_LATER } from "@intentic/sandbox-contract";
|
|
4
5
|
import { readLinkStates, unreachableIn } from "../config.js";
|
|
5
|
-
import { rootsOf } from "../policy.js";
|
|
6
|
+
import { rootsOf, rootsText } from "../policy.js";
|
|
6
7
|
import { shellFor } from "./shell.js";
|
|
7
8
|
import { listDistros, WINDOWS_SIDE, wslEnvironment } from "../../wsl.js";
|
|
8
9
|
const exec = promisify(execFile);
|
|
@@ -53,6 +54,7 @@ export const hostFacts = async (scopes) => {
|
|
|
53
54
|
...(wsl === undefined ? {} : { wsl }),
|
|
54
55
|
...(distros === undefined ? {} : { wslDistros: distros }),
|
|
55
56
|
...(links === undefined ? {} : { links }),
|
|
57
|
+
features: [DEVICE_FEATURE_RESHAPE_LATER],
|
|
56
58
|
};
|
|
57
59
|
};
|
|
58
60
|
const environmentLines = (facts) => {
|
|
@@ -77,7 +79,7 @@ export const describeText = async (scopes) => {
|
|
|
77
79
|
`Architecture: ${facts.arch}`,
|
|
78
80
|
`Shell for run_command: ${facts.shell}`,
|
|
79
81
|
`Home: ${facts.home}`,
|
|
80
|
-
`Folders you may read and write: ${facts.roots
|
|
82
|
+
`Folders you may read and write: ${rootsText(facts.roots)}`,
|
|
81
83
|
...environmentLines(facts),
|
|
82
84
|
`Permissions: run commands ${scopes.shell}, write files ${scopes.write}, see the screen ${scopes.screen}, manage sandboxes ${scopes.sandboxes}`,
|
|
83
85
|
...(facts.engine === undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/device/tools/describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/device/tools/describe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DeviceScopes, DeviceSandbox, SandboxResources, SandboxResourcesAsk } from "@intentic/sandbox-contract";
|
|
1
|
+
import type { DeviceScopes, DeviceSandbox, SandboxResources, SandboxResourcesAsk, SandboxResourcesAskFieldsSchema } from "@intentic/sandbox-contract";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
export interface DockerRow {
|
|
4
4
|
readonly names: string;
|
|
@@ -10,6 +10,9 @@ export declare const sandboxesFrom: (rows: readonly DockerRow[]) => DeviceSandbo
|
|
|
10
10
|
export declare const FLEET_ARGS: readonly string[];
|
|
11
11
|
export declare const fleet: () => Promise<DeviceSandbox[]>;
|
|
12
12
|
export declare const resourcesFrom: (inspected: unknown) => SandboxResources | undefined;
|
|
13
|
+
type SavedShape = z.infer<typeof SandboxResourcesAskFieldsSchema>;
|
|
14
|
+
export declare const savedShapePath: (slug: string, env?: NodeJS.ProcessEnv, home?: string) => string;
|
|
15
|
+
export declare const savedShapeFrom: (text: string) => SavedShape | undefined;
|
|
13
16
|
export declare const fleetDetailed: () => Promise<DeviceSandbox[]>;
|
|
14
17
|
export declare const icInFlight: Set<string>;
|
|
15
18
|
export declare const listSandboxes: (scopes: DeviceScopes) => Promise<string>;
|
|
@@ -19,7 +22,7 @@ export declare const SandboxOpSchema: z.ZodEnum<{
|
|
|
19
22
|
stop: "stop";
|
|
20
23
|
}>;
|
|
21
24
|
export type SandboxOp = z.infer<typeof SandboxOpSchema>;
|
|
22
|
-
export declare const manageSandbox: (op: SandboxOp, slug: string, scopes: DeviceScopes) => Promise<string>;
|
|
25
|
+
export declare const manageSandbox: (op: SandboxOp, slug: string, scopes: DeviceScopes, onLine?: (line: string) => void) => Promise<string>;
|
|
23
26
|
export declare const SandboxSwapSchema: z.ZodEnum<{
|
|
24
27
|
prepare: "prepare";
|
|
25
28
|
rebuild: "rebuild";
|
|
@@ -34,7 +37,11 @@ export declare const icConnectArgs: (setupCode: string | undefined) => string[];
|
|
|
34
37
|
export declare const icConnectEnv: (platformUrl: string | undefined) => {
|
|
35
38
|
readonly PLATFORM_URL: string;
|
|
36
39
|
};
|
|
37
|
-
export
|
|
40
|
+
export interface ReshapeTiming {
|
|
41
|
+
readonly later?: boolean | undefined;
|
|
42
|
+
readonly saved?: boolean | undefined;
|
|
43
|
+
}
|
|
44
|
+
export declare const icReshapeArgs: (slug: string, ask: SandboxResourcesAsk | undefined, { later, saved }?: ReshapeTiming) => string[];
|
|
38
45
|
export interface RunnerShapeFiles {
|
|
39
46
|
readonly definitionFile?: string;
|
|
40
47
|
readonly overlayFile?: string;
|
|
@@ -55,7 +62,9 @@ export declare const icFlow: (slug: string, args: readonly string[], onLine: (li
|
|
|
55
62
|
output: string;
|
|
56
63
|
}>;
|
|
57
64
|
export declare const swapSandbox: (swap: SandboxSwap, slug: string, hash: string | undefined, scopes: DeviceScopes, onLine: (line: string) => void) => Promise<string>;
|
|
58
|
-
export declare const reshapeSandbox: (slug: string, ask: SandboxResourcesAsk | undefined, scopes: DeviceScopes, onLine: (line: string) => void
|
|
65
|
+
export declare const reshapeSandbox: (slug: string, ask: SandboxResourcesAsk | undefined, scopes: DeviceScopes, onLine: (line: string) => void, { later }?: {
|
|
66
|
+
readonly later?: boolean | undefined;
|
|
67
|
+
}) => Promise<string>;
|
|
59
68
|
export declare const reconnectSandbox: (slug: string, setupCode: string | undefined, platformUrl: string | undefined, scopes: DeviceScopes, onLine: (line: string) => void) => Promise<string>;
|
|
60
69
|
export declare const createSandbox: (slug: string, setupCode: string | undefined, platformUrl: string | undefined, scopes: DeviceScopes, onLine: (line: string) => void) => Promise<string>;
|
|
61
70
|
export declare const removeSandbox: (slug: string, scopes: DeviceScopes, onLine: (line: string) => void) => Promise<string>;
|
|
@@ -63,4 +72,5 @@ export declare const DEFAULT_LOG_LINES = 200;
|
|
|
63
72
|
export declare const MAX_LOG_LINES = 2000;
|
|
64
73
|
export declare const sandboxLogs: (slug: string, lines: number | undefined, scopes: DeviceScopes) => Promise<string>;
|
|
65
74
|
export declare const tailSandboxLogs: (slug: string, scopes: DeviceScopes, onLine: (line: string) => void) => Promise<string>;
|
|
75
|
+
export {};
|
|
66
76
|
//# sourceMappingURL=sandboxes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxes.d.ts","sourceRoot":"","sources":["../../../src/device/tools/sandboxes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"sandboxes.d.ts","sourceRoot":"","sources":["../../../src/device/tools/sandboxes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { execFile, spawn } from "node:child_process";
|
|
2
|
-
import { mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
2
|
+
import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
|
|
3
3
|
import { homedir, tmpdir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { promisify } from "node:util";
|
|
6
|
+
import { STATE_DIR } from "@intentic/constants";
|
|
6
7
|
import { HOST_RUNTIME_ENV, OVERLAY_RUNTIME_ENV } from "@intentic/sandbox-run";
|
|
7
8
|
import { z } from "zod";
|
|
8
9
|
import { assertScope } from "../policy.js";
|
|
@@ -82,6 +83,44 @@ export const resourcesFrom = (inspected) => {
|
|
|
82
83
|
overlayRuntime: tokensOf(envOf(env, OVERLAY_RUNTIME_ENV)),
|
|
83
84
|
};
|
|
84
85
|
};
|
|
86
|
+
export const savedShapePath = (slug, env = process.env, home = homedir()) => join(env["INTENTIC_HOME"] !== undefined && env["INTENTIC_HOME"] !== "" ? env["INTENTIC_HOME"] : join(home, STATE_DIR), `sandbox-${slug}.shape`);
|
|
87
|
+
const savedCap = (value, unit) => {
|
|
88
|
+
if (value === "") {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const match = unit.exec(value);
|
|
92
|
+
const whole = match === null ? Number.NaN : Number(match[1]);
|
|
93
|
+
return Number.isInteger(whole) && whole > 0 ? whole : undefined;
|
|
94
|
+
};
|
|
95
|
+
export const savedShapeFrom = (text) => {
|
|
96
|
+
const shape = {};
|
|
97
|
+
for (const line of text.split(/\r?\n/)) {
|
|
98
|
+
const at = line.indexOf("=");
|
|
99
|
+
if (at < 0) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const key = line.slice(0, at).trim();
|
|
103
|
+
const value = line.slice(at + 1).trim();
|
|
104
|
+
if (key === "memory") {
|
|
105
|
+
const gib = savedCap(value, /^(\d+)g$/i);
|
|
106
|
+
if (gib !== undefined) {
|
|
107
|
+
shape.memoryGib = gib;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else if (key === "cpus") {
|
|
111
|
+
const cores = savedCap(value, /^(\d+)$/);
|
|
112
|
+
if (cores !== undefined) {
|
|
113
|
+
shape.cpus = cores;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else if ((key === "privileged" || key === "gpus") && (value === "on" || value === "off")) {
|
|
117
|
+
shape[key === "gpus" ? "gpu" : "privileged"] = value === "on";
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return Object.keys(shape).length === 0 ? undefined : shape;
|
|
121
|
+
};
|
|
122
|
+
const savedShape = async (slug) => await readFile(savedShapePath(slug), "utf8").then(savedShapeFrom, () => undefined);
|
|
123
|
+
const hasSavedShape = async (slug) => await readFile(savedShapePath(slug), "utf8").then((text) => /^(memory|cpus|privileged|gpus)=/m.test(text), () => false);
|
|
85
124
|
export const fleetDetailed = async () => {
|
|
86
125
|
const boxes = await fleet();
|
|
87
126
|
if (boxes.length === 0) {
|
|
@@ -106,10 +145,14 @@ export const fleetDetailed = async () => {
|
|
|
106
145
|
catch {
|
|
107
146
|
}
|
|
108
147
|
}
|
|
109
|
-
return boxes.map((box) => {
|
|
148
|
+
return await Promise.all(boxes.map(async (box) => {
|
|
110
149
|
const resources = byContainer.get(box.container);
|
|
111
|
-
|
|
112
|
-
|
|
150
|
+
if (resources === undefined) {
|
|
151
|
+
return box;
|
|
152
|
+
}
|
|
153
|
+
const saved = await savedShape(box.slug);
|
|
154
|
+
return { ...box, resources: saved === undefined ? resources : { ...resources, saved } };
|
|
155
|
+
}));
|
|
113
156
|
};
|
|
114
157
|
export const icInFlight = new Set();
|
|
115
158
|
export const listSandboxes = async (scopes) => {
|
|
@@ -128,10 +171,20 @@ const find = async (slug) => {
|
|
|
128
171
|
const known = boxes.map((box) => box.slug).join(", ");
|
|
129
172
|
throw new Error(`No sandbox "${slug}" on this device. ${known === "" ? "It runs none." : `It has: ${known}.`}`);
|
|
130
173
|
};
|
|
131
|
-
export const manageSandbox = async (op, slug, scopes) => {
|
|
174
|
+
export const manageSandbox = async (op, slug, scopes, onLine = () => { }) => {
|
|
132
175
|
assertScope(scopes, "sandboxes");
|
|
133
176
|
const target = await find(slug);
|
|
134
177
|
const sidecar = target.tunnelRunning === undefined ? [] : [`${TUNNEL_PREFIX}${slug}`];
|
|
178
|
+
if (op !== "stop" && (await hasSavedShape(slug))) {
|
|
179
|
+
const run = await icFlow(slug, ["sandbox", "reshape", slug], onLine);
|
|
180
|
+
if (run.code !== 0) {
|
|
181
|
+
throw new Error(`That ${op} failed on this device while applying the share saved for it.\n\n${run.output}`);
|
|
182
|
+
}
|
|
183
|
+
if (op === "start" && sidecar.length > 0) {
|
|
184
|
+
await docker(["start", ...sidecar]);
|
|
185
|
+
}
|
|
186
|
+
return `${op === "start" ? "Started" : "Restarted"} sandbox "${slug}" with the share saved for its next restart. Its files and its history were kept.`;
|
|
187
|
+
}
|
|
135
188
|
await docker([op, ...(op === "stop" ? [...sidecar, target.container] : [target.container, ...sidecar])]);
|
|
136
189
|
const verb = { start: "Started", stop: "Stopped", restart: "Restarted" }[op];
|
|
137
190
|
return `${verb} sandbox "${slug}"${sidecar.length === 0 ? "" : " and its tunnel"}.`;
|
|
@@ -171,7 +224,7 @@ export const icConnectEnv = (platformUrl) => {
|
|
|
171
224
|
};
|
|
172
225
|
const capFlag = (value, spell) => value === undefined ? undefined : value === null ? "default" : spell(value);
|
|
173
226
|
const switchFlag = (value) => (value === undefined ? undefined : value ? "on" : "off");
|
|
174
|
-
export const icReshapeArgs = (slug, ask) => {
|
|
227
|
+
export const icReshapeArgs = (slug, ask, { later = false, saved = false } = {}) => {
|
|
175
228
|
const flags = [
|
|
176
229
|
["--memory", capFlag(ask?.memoryGib, (gib) => `${gib}g`)],
|
|
177
230
|
["--cpus", capFlag(ask?.cpus, String)],
|
|
@@ -179,7 +232,10 @@ export const icReshapeArgs = (slug, ask) => {
|
|
|
179
232
|
["--gpus", switchFlag(ask?.gpu)],
|
|
180
233
|
];
|
|
181
234
|
const given = flags.flatMap(([flag, value]) => (value === undefined ? [] : [flag, value]));
|
|
182
|
-
if (
|
|
235
|
+
if (later) {
|
|
236
|
+
return ["sandbox", "reshape", slug, ...(given.length === 0 ? ["--forget"] : [...given, "--later"])];
|
|
237
|
+
}
|
|
238
|
+
if (given.length === 0 && !saved) {
|
|
183
239
|
throw new Error(`A reshape has to change something: give a memory or CPU cap, or a privileged/GPU switch.`);
|
|
184
240
|
}
|
|
185
241
|
return ["sandbox", "reshape", slug, ...given];
|
|
@@ -303,14 +359,20 @@ export const swapSandbox = async (swap, slug, hash, scopes, onLine) => {
|
|
|
303
359
|
const verb = { update: "Updated", rebuild: "Rebuilt", rollback: "Rolled back" }[swap];
|
|
304
360
|
return `${verb} sandbox "${slug}". Its files and its history were kept.`;
|
|
305
361
|
};
|
|
306
|
-
export const reshapeSandbox = async (slug, ask, scopes, onLine) => {
|
|
362
|
+
export const reshapeSandbox = async (slug, ask, scopes, onLine, { later = false } = {}) => {
|
|
307
363
|
assertScope(scopes, "sandboxes");
|
|
308
|
-
const
|
|
364
|
+
const empty = ask === undefined || Object.values(ask).every((value) => value === undefined);
|
|
365
|
+
const args = icReshapeArgs(slug, ask, { later, saved: !later && empty && (await hasSavedShape(slug)) });
|
|
309
366
|
await find(slug);
|
|
310
367
|
const run = await icFlow(slug, args, onLine);
|
|
311
368
|
if (run.code !== 0) {
|
|
312
369
|
throw new Error(`That reshape failed on this device.\n\n${run.output}`);
|
|
313
370
|
}
|
|
371
|
+
if (later) {
|
|
372
|
+
return empty
|
|
373
|
+
? `Nothing is saved for the next restart of "${slug}" any more. It keeps running as it is.`
|
|
374
|
+
: `Saved for the next restart of "${slug}". It keeps running as it is until then.`;
|
|
375
|
+
}
|
|
314
376
|
return `Reshaped sandbox "${slug}". Its files and its history were kept, and the new share survives every later update.`;
|
|
315
377
|
};
|
|
316
378
|
export const reconnectSandbox = async (slug, setupCode, platformUrl, scopes, onLine) => {
|