@intentic/machine 1.328.0 → 1.329.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.
@@ -51,7 +51,7 @@ const runSetup = async (ui, out, flags) => {
51
51
  sandboxUrl: flags.url,
52
52
  id,
53
53
  token,
54
- scopes: { shell: "off", write: "off", screen: "off", control: "off", sandboxes: "off", destructive: "off" },
54
+ scopes: { shell: "off", write: "off", screen: "off", control: "off", sandboxes: "off", destructive: "off", programs: "off" },
55
55
  };
56
56
  const links = await upsertLink(link);
57
57
  ui.step("device-starting", "starting the agent on this device…");
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/device/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/device/commands.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,10 @@ export declare const GrantInputSchema: z.ZodObject<{
25
25
  off: "off";
26
26
  on: "on";
27
27
  }>>;
28
+ programs: z.ZodDefault<z.ZodEnum<{
29
+ off: "off";
30
+ on: "on";
31
+ }>>;
28
32
  roots: z.ZodOptional<z.ZodString>;
29
33
  platform: z.ZodOptional<z.ZodString>;
30
34
  }, z.core.$loose>;
@@ -333,6 +337,38 @@ export declare const tolerantDeviceContract: {
333
337
  }>;
334
338
  }, z.core.$strip>>;
335
339
  }, z.core.$strip>, Record<never, never>, Record<never, never>>;
340
+ stageArtifact: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodDiscriminatedUnion<[z.ZodObject<{
341
+ op: z.ZodLiteral<"have">;
342
+ name: z.ZodString;
343
+ sha256: z.ZodString;
344
+ kind: z.ZodEnum<{
345
+ file: "file";
346
+ tar: "tar";
347
+ }>;
348
+ fileName: z.ZodString;
349
+ }, z.core.$strict>, z.ZodObject<{
350
+ op: z.ZodLiteral<"chunk">;
351
+ upload: z.ZodString;
352
+ offset: z.ZodInt;
353
+ data: z.ZodString;
354
+ }, z.core.$strict>, z.ZodObject<{
355
+ op: z.ZodLiteral<"commit">;
356
+ upload: z.ZodString;
357
+ name: z.ZodString;
358
+ kind: z.ZodEnum<{
359
+ file: "file";
360
+ tar: "tar";
361
+ }>;
362
+ fileName: z.ZodString;
363
+ size: z.ZodInt;
364
+ sha256: z.ZodString;
365
+ }, z.core.$strict>, z.ZodObject<{
366
+ op: z.ZodLiteral<"abort">;
367
+ upload: z.ZodString;
368
+ }, z.core.$strict>], "op">, z.ZodObject<{
369
+ path: z.ZodOptional<z.ZodString>;
370
+ received: z.ZodOptional<z.ZodInt>;
371
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
336
372
  setScopes: {
337
373
  "~orpc": {
338
374
  meta: Record<never, never>;
@@ -366,6 +402,10 @@ export declare const tolerantDeviceContract: {
366
402
  off: "off";
367
403
  on: "on";
368
404
  }>>;
405
+ programs: z.ZodDefault<z.ZodEnum<{
406
+ off: "off";
407
+ on: "on";
408
+ }>>;
369
409
  roots: z.ZodOptional<z.ZodString>;
370
410
  platform: z.ZodOptional<z.ZodString>;
371
411
  }, z.core.$loose>;
@@ -1 +1 @@
1
- {"version":3,"file":"grant.d.ts","sourceRoot":"","sources":["../../src/device/grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAkB,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyE,CAAC;AACvG,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,MAAM,WAAW,KAAK;IAClB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,eAAO,MAAM,SAAS,UAAW,UAAU,KAAG,KAK5C,CAAC;AAIH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGlC,CAAC"}
1
+ {"version":3,"file":"grant.d.ts","sourceRoot":"","sources":["../../src/device/grant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAkB,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAyE,CAAC;AACvG,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,MAAM,WAAW,KAAK;IAClB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,eAAO,MAAM,SAAS,UAAW,UAAU,KAAG,KAK5C,CAAC;AAIH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGlC,CAAC"}
@@ -5,6 +5,7 @@ export declare const handleMcpMessage: (message: unknown, ctx: {
5
5
  control: "off" | "on";
6
6
  sandboxes: "off" | "on";
7
7
  destructive: "off" | "on";
8
+ programs: "off" | "on";
8
9
  roots?: string | undefined;
9
10
  }) => Promise<Record<string, unknown> | undefined>;
10
11
  //# sourceMappingURL=mcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/device/mcp.ts"],"names":[],"mappings":"AA+oBA,eAAO,MAAM,gBAAgB;;;;;;;;kDAY3B,CAAC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/device/mcp.ts"],"names":[],"mappings":"AAksBA,eAAO,MAAM,gBAAgB;;;;;;;;;kDAY3B,CAAC"}
@@ -16,6 +16,8 @@ import { actOnElement, listElements } from "./tools/elements.js";
16
16
  import { elementRefs, frames } from "./tools/view.js";
17
17
  import { DEFAULT_LOG_LINES, diagnoseSandbox, forgetShape, listSandboxes, manageSandbox, MAX_LOG_LINES, removeSandbox, SandboxOpSchema, SandboxSwapSchema, sandboxLogs, shapeSandbox, swapSandbox, } from "./tools/sandboxes.js";
18
18
  import { DEFAULT_TIMEOUT_MS, describeResult, MAX_TIMEOUT_MS, runCommand } from "./tools/shell.js";
19
+ import { appLogs, appStatus, appStop, DEFAULT_LOG_LINES as DEFAULT_APP_LOG_LINES, MAX_LOG_LINES as MAX_APP_LOG_LINES, startApp } from "./tools/programs/programs.js";
20
+ import { calling } from "./indicator.js";
19
21
  import { MACHINE_VERSION } from "../version.js";
20
22
  const NO_ARGS = z.object({});
21
23
  const shotContent = async (shot, what) => {
@@ -45,6 +47,7 @@ const confirmingLook = async (said, scopes) => {
45
47
  }
46
48
  return { content: [{ type: "text", text: said }, ...(await shotContent(shot, "the same part of the screen as before"))], isError: false };
47
49
  };
50
+ const callerSandbox = () => calling.getStore()?.sandboxUrl ?? "local";
48
51
  let webHandle;
49
52
  const web = () => (webHandle ??= browser());
50
53
  const android = createAndroid(machineAndroidDeps());
@@ -403,6 +406,49 @@ const TOOLS = [
403
406
  }),
404
407
  run: async ({ serial, lines, package: app, tag, priority }, scopes) => textResult(await android.logcat({ serial, lines, package: app, tag, priority }, scopes)),
405
408
  }),
409
+ tool({
410
+ name: "app_start",
411
+ description: 'Start a program on this device and keep it running after the call returns: an app to look at, click through and read the output of, which run_command (it waits, and stops the command at its deadline) is wrong for. Pass the path `devices push <this device> <build>` printed in the sandbox shell, or the program inside a pushed folder; a program the sandbox pushed needs this device\'s "Run programs this sandbox sends" switch, any other program "Run commands". Its stdout and stderr go to a log of its own (app_logs). A program that falls over within a second or two is answered with its exit code, said in words (a missing DLL, an architecture mismatch), and its last output. Answers with the run id the other app_* tools take.',
412
+ effect: "destructive",
413
+ input: z.object({
414
+ program: required.describe("A full path (a pushed build, or any program on this device), or a bare name found on its PATH."),
415
+ args: z.array(z.string()).max(100).optional().describe("Arguments, each passed as is, with no shell between."),
416
+ cwd: required.optional().describe("Working directory. Default: the program's own folder."),
417
+ env: z.record(z.string(), z.string()).optional().describe("Environment variables to set on top of the agent's own."),
418
+ name: required.optional().describe("What to call this run in app_status. Default: the program's name."),
419
+ }),
420
+ run: async (request, scopes) => textResult(await startApp(request, scopes, callerSandbox())),
421
+ }),
422
+ tool({
423
+ name: "app_status",
424
+ description: "The programs this sandbox started on this device, running and ended, and the builds it pushed here. With an id: that run's state, how it ended (exit code in words), the windows it and the processes it started have open (ids for screenshot, ui_elements, focus_window), and its last output.",
425
+ effect: "read",
426
+ input: z.object({ id: required.optional().describe("A run id from app_start. Omit for the list.") }),
427
+ run: async ({ id }, scopes) => textResult(await appStatus(id, scopes, callerSandbox(), desktop)),
428
+ }),
429
+ tool({
430
+ name: "app_logs",
431
+ description: "What a program started with app_start printed (stdout and stderr together), from its end. A GUI program often prints nothing; its exit code is in app_status.",
432
+ effect: "read",
433
+ input: z.object({
434
+ id: required.describe("The run id from app_start."),
435
+ lines: z
436
+ .int()
437
+ .positive()
438
+ .max(MAX_APP_LOG_LINES)
439
+ .default(DEFAULT_APP_LOG_LINES)
440
+ .describe(`How many lines from the end. Default ${DEFAULT_APP_LOG_LINES}, maximum ${MAX_APP_LOG_LINES}.`),
441
+ grep: required.optional().describe("Only lines matching this regular expression (case-insensitive)."),
442
+ }),
443
+ run: async ({ id, lines, grep }, scopes) => textResult(await appLogs(id, lines, grep, scopes, callerSandbox())),
444
+ }),
445
+ tool({
446
+ name: "app_stop",
447
+ description: "Stop a program started with app_start, together with every process it started. It is asked to close first, as its close button would, and forced after five seconds; `force` skips the asking.",
448
+ effect: "write",
449
+ input: z.object({ id: required.describe("The run id from app_start."), force: z.boolean().default(false) }),
450
+ run: async ({ id, force }, scopes) => textResult(await appStop(id, force, scopes, callerSandbox())),
451
+ }),
406
452
  tool({
407
453
  name: "list_sandboxes",
408
454
  description: "The Intentic sandboxes on this device, as JSON, as the device's `ic` reports them: each one's slug, whether it is running, whether its tunnel is up, and under `resources` its share of this machine as docker enforces it (memory cap in bytes, CPU cap, privileged, GPU, and which of those the approved environment demands versus the owner asked for), the shape it runs with (`shape`: memoryGib, cpus, privileged, gpu as the owner asked; null is the default) and, when one is saved, the shape its next restart applies (`desired`). `staged` names an update downloaded and waiting. From a current `ic` also: `version`, `parked` (a swap was interrupted and the sandbox is down; manage_sandbox start brings it back), `probationUntil` (the host is still watching a new version and goes back by itself if it fails), `lastUpdate` (what the host last did about its version, and why) and `rollbackTargets` (what swap_sandbox rollback can return to, newest first). Only sandbox containers; nothing else on the machine is listed. Requires 'Run commands' or 'Manage sandboxes on this device'.",
@@ -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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"}
@@ -8,5 +8,5 @@ export declare const realPathOf: (path: string) => Promise<string>;
8
8
  export declare const assertPath: (path: string, scopes: DeviceScopes, intent: string, { link }?: {
9
9
  readonly link?: "follow" | "itself";
10
10
  }) => Promise<string>;
11
- export declare const assertScope: (scopes: DeviceScopes, scope: "shell" | "write" | "screen" | "control" | "sandboxes" | "destructive") => void;
11
+ export declare const assertScope: (scopes: DeviceScopes, scope: "shell" | "write" | "screen" | "control" | "sandboxes" | "destructive" | "programs") => void;
12
12
  //# sourceMappingURL=policy.d.ts.map
@@ -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;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"}
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,GAAG,UAAU,KAC3F,IAcF,CAAC"}
@@ -57,6 +57,7 @@ export const assertScope = (scopes, scope) => {
57
57
  control: "Use the mouse and keyboard",
58
58
  sandboxes: "Manage sandboxes on this device",
59
59
  destructive: "Run destructive commands",
60
+ programs: "Run programs this sandbox sends",
60
61
  }[scope];
61
62
  throw new ScopeError(`Refused: "${label}" is switched off for this device. Turn it on in its capability card to allow this.`);
62
63
  };
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/device/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/device/policy.ts"],"names":[],"mappings":"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"}
@@ -139,6 +139,10 @@ export declare const createHostRouter: (runtime: HostRuntime) => {
139
139
  off: "off";
140
140
  on: "on";
141
141
  }>>;
142
+ programs: import("zod").ZodDefault<import("zod").ZodEnum<{
143
+ off: "off";
144
+ on: "on";
145
+ }>>;
142
146
  roots: import("zod").ZodOptional<import("zod").ZodString>;
143
147
  platform: import("zod").ZodOptional<import("zod").ZodString>;
144
148
  }, import("zod/v4/core").$loose>, import("zod").ZodObject<{
@@ -334,5 +338,37 @@ export declare const createHostRouter: (runtime: HostRuntime) => {
334
338
  }>;
335
339
  }, import("zod/v4/core").$strip>>;
336
340
  }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
341
+ stageArtifact: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<Record<never, never>, Record<never, never>, Record<never, never>>, Record<never, never>, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
342
+ op: import("zod").ZodLiteral<"have">;
343
+ name: import("zod").ZodString;
344
+ sha256: import("zod").ZodString;
345
+ kind: import("zod").ZodEnum<{
346
+ file: "file";
347
+ tar: "tar";
348
+ }>;
349
+ fileName: import("zod").ZodString;
350
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
351
+ op: import("zod").ZodLiteral<"chunk">;
352
+ upload: import("zod").ZodString;
353
+ offset: import("zod").ZodInt;
354
+ data: import("zod").ZodString;
355
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
356
+ op: import("zod").ZodLiteral<"commit">;
357
+ upload: import("zod").ZodString;
358
+ name: import("zod").ZodString;
359
+ kind: import("zod").ZodEnum<{
360
+ file: "file";
361
+ tar: "tar";
362
+ }>;
363
+ fileName: import("zod").ZodString;
364
+ size: import("zod").ZodInt;
365
+ sha256: import("zod").ZodString;
366
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
367
+ op: import("zod").ZodLiteral<"abort">;
368
+ upload: import("zod").ZodString;
369
+ }, import("zod/v4/core").$strict>], "op">, import("zod").ZodObject<{
370
+ path: import("zod").ZodOptional<import("zod").ZodString>;
371
+ received: import("zod").ZodOptional<import("zod").ZodInt>;
372
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
337
373
  };
338
374
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/device/router.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAA8F,MAAM,4BAA4B,CAAC;AA6B3J,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;AAmID,eAAO,MAAM,gBAAgB,YAAa,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDpD,CAAC"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/device/router.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAA8F,MAAM,4BAA4B,CAAC;AA+B3J,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;AAmID,eAAO,MAAM,gBAAgB,YAAa,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEpD,CAAC"}
@@ -6,6 +6,8 @@ import { readGrant, tolerantDeviceContract } from "./grant.js";
6
6
  import { calling } from "./indicator.js";
7
7
  import { catchLoopback } from "./loopback-catch.js";
8
8
  import { handleMcpMessage } from "./mcp.js";
9
+ import { ScopeError } from "./policy.js";
10
+ import { stageArtifact } from "./tools/programs/artifacts.js";
9
11
  import { hostFacts } from "./tools/describe.js";
10
12
  import { DeliveryRefused, deliverProject } from "../sync/project/project-delivery.js";
11
13
  import { machineReport } from "../sync/report.js";
@@ -94,6 +96,19 @@ export const createHostRouter = (runtime) => {
94
96
  runAgentFlow: os.runAgentFlow.handler(({ input }) => streamFlow((onLine) => runAgentOp(input.op, onLine))),
95
97
  catchLoopback: os.catchLoopback.handler(({ input, signal }) => catchLoopback(input, signal, (message) => runtime.log(`${runtime.sandboxUrl}: ${message}`))),
96
98
  deliverProject: os.deliverProject.handler(async ({ input }) => await deliverOverLink(runtime, input)),
99
+ stageArtifact: os.stageArtifact.handler(async ({ input }) => {
100
+ try {
101
+ const result = await stageArtifact(input, runtime.scopes(), runtime.sandboxUrl);
102
+ if (input.op === "commit" || (input.op === "have" && result.path !== undefined)) {
103
+ void audit({ tool: "stageArtifact", ok: true, detail: `${input.op} ${input.name} → ${result.path ?? ""}` });
104
+ }
105
+ return result;
106
+ }
107
+ catch (error) {
108
+ void audit({ tool: "stageArtifact", ok: false, detail: `${input.op}: ${error instanceof ScopeError ? "refused" : "failed"}: ${errorMessage(error)}` });
109
+ throw new ORPCError(error instanceof ScopeError ? "FORBIDDEN" : "BAD_REQUEST", { message: errorMessage(error) });
110
+ }
111
+ }),
97
112
  });
98
113
  };
99
114
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/device/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/device/router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/device/tools/describe.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACjJ,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,cAAc,CAAC;AAsD/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,CAuCzE,CAAC;AAoBF,eAAO,MAAM,YAAY,WAAkB,YAAY,KAAG,OAAO,CAAC,MAAM,CAsBvE,CAAC"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/device/tools/describe.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2F,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1K,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,cAAc,CAAC;AAsD/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,CAuCzE,CAAC;AAoBF,eAAO,MAAM,YAAY,WAAkB,YAAY,KAAG,OAAO,CAAC,MAAM,CAsBvE,CAAC"}
@@ -2,7 +2,7 @@ import { execFile } from "node:child_process";
2
2
  import { arch, hostname, platform, release, type } from "node:os";
3
3
  import { homeDir } from "@intentic/local-agent";
4
4
  import { promisify } from "node:util";
5
- import { DEVICE_FEATURE_LOOPBACK_CATCH, DEVICE_FEATURE_PROJECT_DELIVERY } from "@intentic/sandbox-contract";
5
+ import { DEVICE_FEATURE_LOOPBACK_CATCH, DEVICE_FEATURE_PROGRAMS, DEVICE_FEATURE_PROJECT_DELIVERY } from "@intentic/sandbox-contract";
6
6
  import { readLinkStates, unreachableIn } from "../config.js";
7
7
  import { rootsOf, rootsText } from "../policy.js";
8
8
  import { shellFor } from "./shell.js";
@@ -68,7 +68,7 @@ export const hostFacts = async (scopes) => {
68
68
  ...(wsl === undefined ? {} : { wsl }),
69
69
  ...(distros === undefined ? {} : { wslDistros: distros }),
70
70
  ...(links === undefined ? {} : { links }),
71
- features: [...features, DEVICE_FEATURE_LOOPBACK_CATCH, DEVICE_FEATURE_PROJECT_DELIVERY],
71
+ features: [...features, DEVICE_FEATURE_LOOPBACK_CATCH, DEVICE_FEATURE_PROJECT_DELIVERY, DEVICE_FEATURE_PROGRAMS],
72
72
  };
73
73
  if (stale !== undefined) {
74
74
  facts.icOutOfDate = stale;
@@ -102,7 +102,7 @@ export const describeText = async (scopes) => {
102
102
  `Home: ${facts.home}`,
103
103
  `Folders you may read and write: ${rootsText(facts.roots)}`,
104
104
  ...environmentLines(facts),
105
- `Permissions: run commands ${scopes.shell}, run destructive commands ${scopes.destructive}, write files ${scopes.write}, see the screen ${scopes.screen}, use the mouse and keyboard ${scopes.control}, manage sandboxes ${scopes.sandboxes}`,
105
+ `Permissions: run commands ${scopes.shell}, run destructive commands ${scopes.destructive}, write files ${scopes.write}, see the screen ${scopes.screen}, use the mouse and keyboard ${scopes.control}, manage sandboxes ${scopes.sandboxes}, run programs this sandbox sends ${scopes.programs}`,
106
106
  ...(facts.icOutOfDate === undefined ? [] : [facts.icOutOfDate]),
107
107
  ...(facts.engine === undefined
108
108
  ? []
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/device/tools/describe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/device/tools/describe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { DeviceScopes, StageArtifact, StageArtifactResult } from "@intentic/sandbox-contract";
2
+ export declare const runsRoot: () => string;
3
+ export declare const sandboxRunsDir: (sandboxUrl: string) => string;
4
+ export declare const inRuns: (path: string, sandboxUrl: string) => boolean;
5
+ export declare const stageArtifact: (op: StageArtifact, scopes: DeviceScopes, sandboxUrl: string) => Promise<StageArtifactResult>;
6
+ export declare const listArtifacts: (sandboxUrl: string) => Promise<{
7
+ name: string;
8
+ version: string;
9
+ path: string;
10
+ at: Date;
11
+ }[]>;
12
+ //# sourceMappingURL=artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/artifacts.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAiBnG,eAAO,MAAM,QAAQ,QAAO,MAA+B,CAAC;AAI5D,eAAO,MAAM,cAAc,eAAgB,MAAM,KAAG,MASnD,CAAC;AAIF,eAAO,MAAM,MAAM,SAAU,MAAM,cAAc,MAAM,KAAG,OAIzD,CAAC;AA4FF,eAAO,MAAM,aAAa,OAAc,aAAa,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,mBAAmB,CA0C5H,CAAC;AAGF,eAAO,MAAM,aAAa,eAAsB,MAAM,KAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,EAAE,CAa3H,CAAC"}
@@ -0,0 +1,152 @@
1
+ import { execFile } from "node:child_process";
2
+ import { createHash } from "node:crypto";
3
+ import { mkdir, open, readdir, rename, rm, stat, writeFile } from "node:fs/promises";
4
+ import { join, resolve, sep } from "node:path";
5
+ import { promisify } from "node:util";
6
+ import { errorMessage, undefinedIfMissing } from "@intentic/base/errors";
7
+ import { baseDir } from "../../../config.js";
8
+ import { assertScope } from "../../policy.js";
9
+ const exec = promisify(execFile);
10
+ const COMPLETE = ".intentic-complete";
11
+ const STALE_UPLOAD_MS = 60 * 60 * 1000;
12
+ export const runsRoot = () => join(baseDir, "runs");
13
+ export const sandboxRunsDir = (sandboxUrl) => {
14
+ let label = "sandbox";
15
+ try {
16
+ label = new URL(sandboxUrl).hostname.split(".")[0] ?? label;
17
+ }
18
+ catch {
19
+ }
20
+ const safe = label.replace(/[^A-Za-z0-9-]/g, "-").slice(0, 63) || "sandbox";
21
+ return join(runsRoot(), safe);
22
+ };
23
+ export const inRuns = (path, sandboxUrl) => {
24
+ const root = resolve(sandboxRunsDir(sandboxUrl));
25
+ const target = resolve(path);
26
+ return target === root || target.startsWith(`${root}${sep}`);
27
+ };
28
+ const uploads = new Map();
29
+ const incomingDir = (sandboxUrl) => join(sandboxRunsDir(sandboxUrl), ".incoming");
30
+ const finalDir = (sandboxUrl, name, sha256) => join(sandboxRunsDir(sandboxUrl), name, sha256.slice(0, 12));
31
+ const finalPath = (dir, kind, fileName) => (kind === "file" ? join(dir, fileName) : dir);
32
+ const exists = async (path) => await stat(path).then(() => true, () => false);
33
+ const dropUpload = async (id) => {
34
+ const upload = uploads.get(id);
35
+ if (upload === undefined) {
36
+ return;
37
+ }
38
+ uploads.delete(id);
39
+ await upload.handle.close().catch(() => undefined);
40
+ await rm(upload.path, { force: true });
41
+ };
42
+ const sweep = async (now) => {
43
+ for (const [id, upload] of uploads) {
44
+ if (now - upload.touched > STALE_UPLOAD_MS) {
45
+ await dropUpload(id);
46
+ }
47
+ }
48
+ };
49
+ const uploadFor = async (sandboxUrl, id, offset) => {
50
+ const known = uploads.get(id);
51
+ if (known !== undefined) {
52
+ return known;
53
+ }
54
+ if (offset !== 0) {
55
+ throw new Error(`upload ${id} is not open here (the agent restarted mid-push?): push again`);
56
+ }
57
+ const dir = incomingDir(sandboxUrl);
58
+ await mkdir(dir, { recursive: true });
59
+ const path = join(dir, `${id}.part`);
60
+ const created = { handle: await open(path, "w"), hash: createHash("sha256"), path, received: 0, touched: Date.now() };
61
+ uploads.set(id, created);
62
+ return created;
63
+ };
64
+ const unpack = async (archive, into) => {
65
+ await mkdir(into, { recursive: true });
66
+ try {
67
+ await exec("tar", ["-xf", archive, "-C", into], { windowsHide: true, maxBuffer: 4 * 1024 * 1024 });
68
+ }
69
+ catch (error) {
70
+ throw new Error(`could not unpack the pushed folder: ${errorMessage(error)}`, { cause: error });
71
+ }
72
+ };
73
+ const file = async (upload, op, sandboxUrl) => {
74
+ const dir = finalDir(sandboxUrl, op.name, op.sha256);
75
+ const target = finalPath(dir, op.kind, op.fileName);
76
+ if (await exists(join(dir, COMPLETE))) {
77
+ await rm(upload.path, { force: true });
78
+ return target;
79
+ }
80
+ await rm(dir, { recursive: true, force: true });
81
+ await mkdir(dir, { recursive: true });
82
+ if (op.kind === "file") {
83
+ await rename(upload.path, target);
84
+ }
85
+ else {
86
+ try {
87
+ await unpack(upload.path, dir);
88
+ }
89
+ finally {
90
+ await rm(upload.path, { force: true });
91
+ }
92
+ }
93
+ await writeFile(join(dir, COMPLETE), `${op.sha256}\n`);
94
+ return target;
95
+ };
96
+ export const stageArtifact = async (op, scopes, sandboxUrl) => {
97
+ assertScope(scopes, "programs");
98
+ const now = Date.now();
99
+ await sweep(now);
100
+ switch (op.op) {
101
+ case "have": {
102
+ const dir = finalDir(sandboxUrl, op.name, op.sha256);
103
+ return (await exists(join(dir, COMPLETE))) ? { path: finalPath(dir, op.kind, op.fileName) } : {};
104
+ }
105
+ case "chunk": {
106
+ const upload = await uploadFor(sandboxUrl, op.upload, op.offset);
107
+ if (op.offset !== upload.received) {
108
+ await dropUpload(op.upload);
109
+ throw new Error(`piece at ${op.offset} arrived when ${upload.received} bytes were held: push again`);
110
+ }
111
+ const bytes = Buffer.from(op.data, "base64");
112
+ await upload.handle.write(bytes);
113
+ upload.hash.update(bytes);
114
+ upload.received += bytes.byteLength;
115
+ upload.touched = now;
116
+ return { received: upload.received };
117
+ }
118
+ case "commit": {
119
+ const upload = uploads.get(op.upload) ?? (op.size === 0 ? await uploadFor(sandboxUrl, op.upload, 0) : undefined);
120
+ if (upload === undefined) {
121
+ throw new Error(`upload ${op.upload} is not open here: push again`);
122
+ }
123
+ uploads.delete(op.upload);
124
+ await upload.handle.close();
125
+ const sha256 = upload.hash.digest("hex");
126
+ if (upload.received !== op.size || sha256 !== op.sha256) {
127
+ await rm(upload.path, { force: true });
128
+ throw new Error(`what arrived (${upload.received} bytes, sha256 ${sha256.slice(0, 12)}) is not what was sent (${op.size} bytes, ${op.sha256.slice(0, 12)})`);
129
+ }
130
+ return { path: await file(upload, op, sandboxUrl) };
131
+ }
132
+ case "abort": {
133
+ await dropUpload(op.upload);
134
+ return {};
135
+ }
136
+ }
137
+ };
138
+ export const listArtifacts = async (sandboxUrl) => {
139
+ const root = sandboxRunsDir(sandboxUrl);
140
+ const names = await readdir(root).catch(() => []);
141
+ const found = [];
142
+ for (const name of names.filter((entry) => !entry.startsWith("."))) {
143
+ for (const version of await readdir(join(root, name)).catch(() => [])) {
144
+ const marker = await stat(join(root, name, version, COMPLETE)).catch(undefinedIfMissing);
145
+ if (marker !== undefined) {
146
+ found.push({ name, version, path: join(root, name, version), at: marker.mtime });
147
+ }
148
+ }
149
+ }
150
+ return found.toSorted((a, b) => b.at.getTime() - a.at.getTime());
151
+ };
152
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/artifacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { Desktop } from "@intentic/desktop-automation";
2
+ import type { DeviceScopes } from "@intentic/sandbox-contract";
3
+ export interface AppRun {
4
+ readonly id: string;
5
+ readonly name: string;
6
+ readonly program: string;
7
+ readonly args: readonly string[];
8
+ readonly cwd: string;
9
+ readonly pid: number;
10
+ readonly startedAt: string;
11
+ readonly log: string;
12
+ readonly endedAt?: string;
13
+ readonly exitCode?: number;
14
+ readonly signal?: string;
15
+ readonly stoppedByAgent?: boolean;
16
+ }
17
+ export interface StartRequest {
18
+ readonly program: string;
19
+ readonly args?: readonly string[] | undefined;
20
+ readonly cwd?: string | undefined;
21
+ readonly env?: Readonly<Record<string, string>> | undefined;
22
+ readonly name?: string | undefined;
23
+ }
24
+ export declare const DEFAULT_LOG_LINES = 200;
25
+ export declare const MAX_LOG_LINES = 2000;
26
+ export declare const describeExit: (run: Pick<AppRun, "exitCode" | "signal" | "stoppedByAgent">) => string;
27
+ export declare const startApp: (request: StartRequest, scopes: DeviceScopes, sandboxUrl: string) => Promise<string>;
28
+ export declare const descendantsOf: (rows: readonly (readonly [number, number])[], root: number) => Set<number>;
29
+ export declare const parseRows: (text: string) => [number, number][];
30
+ export declare const appStatus: (id: string | undefined, scopes: DeviceScopes, sandboxUrl: string, screen: () => Desktop) => Promise<string>;
31
+ export declare const appLogs: (id: string, lines: number, grep: string | undefined, scopes: DeviceScopes, sandboxUrl: string) => Promise<string>;
32
+ export declare const appStop: (id: string, force: boolean, scopes: DeviceScopes, sandboxUrl: string) => Promise<string>;
33
+ //# sourceMappingURL=programs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"programs.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/programs.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAe/D,MAAM,WAAW,MAAM;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAUD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,aAAa,OAAO,CAAC;AA8ElC,eAAO,MAAM,YAAY,QAAS,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,gBAAgB,CAAC,KAAG,MAiB1F,CAAC;AA6DF,eAAO,MAAM,QAAQ,YAAmB,YAAY,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAwD9G,CAAC;AAGF,eAAO,MAAM,aAAa,SAAU,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,QAAQ,MAAM,KAAG,GAAG,CAAC,MAAM,CAapG,CAAC;AAeF,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAInD,CAAC;AA8BP,eAAO,MAAM,SAAS,OAAc,MAAM,GAAG,SAAS,UAAU,YAAY,cAAc,MAAM,UAAU,MAAM,OAAO,KAAG,OAAO,CAAC,MAAM,CAsCvI,CAAC;AAEF,eAAO,MAAM,OAAO,OAAc,MAAM,SAAS,MAAM,QAAQ,MAAM,GAAG,SAAS,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAoB3I,CAAC;AA2BF,eAAO,MAAM,OAAO,OAAc,MAAM,SAAS,OAAO,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAoBlH,CAAC"}
@@ -0,0 +1,347 @@
1
+ import { execFile, spawn } from "node:child_process";
2
+ import { randomBytes } from "node:crypto";
3
+ import { mkdir, open, readdir, readFile, stat } from "node:fs/promises";
4
+ import { basename, dirname, extname, isAbsolute, join, resolve } from "node:path";
5
+ import { promisify } from "node:util";
6
+ import { writeFileAtomic } from "@intentic/base/fs";
7
+ import { errorMessage, undefinedIfMissing } from "@intentic/base/errors";
8
+ import { assertPath, assertScope } from "../../policy.js";
9
+ import { inRuns, listArtifacts, sandboxRunsDir } from "./artifacts.js";
10
+ const exec = promisify(execFile);
11
+ const KEEP_RUNS = 30;
12
+ const EARLY_EXIT_MS = 1500;
13
+ const STOP_GRACE_MS = 5000;
14
+ const LOG_TAIL_BYTES = 1024 * 1024;
15
+ export const DEFAULT_LOG_LINES = 200;
16
+ export const MAX_LOG_LINES = 2000;
17
+ const registryPath = (sandboxUrl) => join(sandboxRunsDir(sandboxUrl), "apps.json");
18
+ const logsDir = (sandboxUrl) => join(sandboxRunsDir(sandboxUrl), ".logs");
19
+ const children = new Map();
20
+ let writing = Promise.resolve();
21
+ const readRuns = async (sandboxUrl) => {
22
+ try {
23
+ const parsed = JSON.parse(await readFile(registryPath(sandboxUrl), "utf8"));
24
+ return Array.isArray(parsed) ? parsed : [];
25
+ }
26
+ catch {
27
+ return [];
28
+ }
29
+ };
30
+ const updateRuns = async (sandboxUrl, change) => {
31
+ const turn = writing.then(async () => {
32
+ const next = change(await readRuns(sandboxUrl));
33
+ const ended = next.filter((run) => run.endedAt !== undefined);
34
+ const kept = ended.length > KEEP_RUNS ? next.filter((run) => run.endedAt === undefined || ended.indexOf(run) >= ended.length - KEEP_RUNS) : next;
35
+ await mkdir(dirname(registryPath(sandboxUrl)), { recursive: true });
36
+ await writeFileAtomic(registryPath(sandboxUrl), `${JSON.stringify(kept, null, 2)}\n`);
37
+ });
38
+ writing = turn.catch(() => undefined);
39
+ await turn;
40
+ };
41
+ const ended = (sandboxUrl, id, exitCode, signal) => updateRuns(sandboxUrl, (runs) => runs.map((run) => run.id === id && run.endedAt === undefined
42
+ ? {
43
+ ...run,
44
+ endedAt: new Date().toISOString(),
45
+ ...(exitCode === null ? {} : { exitCode }),
46
+ ...(signal === null ? {} : { signal }),
47
+ }
48
+ : run));
49
+ const pidAlive = (pid) => {
50
+ try {
51
+ process.kill(pid, 0);
52
+ return true;
53
+ }
54
+ catch (error) {
55
+ return error.code === "EPERM";
56
+ }
57
+ };
58
+ const isRunning = (run) => {
59
+ if (run.endedAt !== undefined) {
60
+ return false;
61
+ }
62
+ const child = children.get(run.id);
63
+ return child !== undefined ? child.exitCode === null && child.signalCode === null : pidAlive(run.pid);
64
+ };
65
+ const NTSTATUS = {
66
+ 0xc0000005: "access violation (a crash)",
67
+ 0xc0000135: "a DLL it needs was not found",
68
+ 0xc0000139: "an entry point was not found in a DLL",
69
+ 0xc0000142: "a DLL failed to initialise",
70
+ 0xc000007b: "bad image format (a 32/64-bit or architecture mismatch)",
71
+ 0xc00000fd: "stack overflow",
72
+ 0xc0000409: "fail-fast / stack buffer overrun (a panic or abort)",
73
+ 0xc000013a: "stopped with Ctrl+C or a console close",
74
+ 0x40010004: "closed by a debugger or killed",
75
+ };
76
+ export const describeExit = (run) => {
77
+ if (run.stoppedByAgent === true) {
78
+ return "stopped by the agent";
79
+ }
80
+ if (run.signal !== undefined) {
81
+ return `ended by signal ${run.signal}`;
82
+ }
83
+ if (run.exitCode === undefined) {
84
+ return "ended (its exit code is unknown: it ended while the agent was not watching)";
85
+ }
86
+ const code = run.exitCode >>> 0;
87
+ if (code >= 0x40000000) {
88
+ const hex = `0x${code.toString(16).toUpperCase().padStart(8, "0")}`;
89
+ const meaning = NTSTATUS[code];
90
+ return `exited with ${hex}${meaning === undefined ? "" : `: ${meaning}`}`;
91
+ }
92
+ return `exited with code ${run.exitCode}`;
93
+ };
94
+ const tailLines = async (path, lines) => {
95
+ const handle = await open(path, "r").catch(undefinedIfMissing);
96
+ if (handle === undefined) {
97
+ return { text: "", total: 0 };
98
+ }
99
+ try {
100
+ const { size } = await handle.stat();
101
+ const from = Math.max(0, size - LOG_TAIL_BYTES);
102
+ const buffer = Buffer.alloc(size - from);
103
+ await handle.read(buffer, 0, buffer.byteLength, from);
104
+ const all = buffer.toString("utf8").replace(/\r\n/g, "\n").split("\n");
105
+ if (from > 0) {
106
+ all.shift();
107
+ }
108
+ if (all.at(-1) === "") {
109
+ all.pop();
110
+ }
111
+ return { text: all.slice(-lines).join("\n"), total: size };
112
+ }
113
+ finally {
114
+ await handle.close();
115
+ }
116
+ };
117
+ const startablesIn = async (dir) => {
118
+ const entries = await readdir(dir).catch(() => []);
119
+ const wanted = process.platform === "win32" ? [".exe"] : ["", ".sh", ".AppImage"];
120
+ return entries.filter((entry) => !entry.startsWith(".") && wanted.includes(extname(entry))).slice(0, 12);
121
+ };
122
+ const idFor = (name) => `${name.replace(/[^A-Za-z0-9._-]/g, "-").slice(0, 40) || "app"}-${randomBytes(3).toString("hex")}`;
123
+ const judgeProgram = async (program, scopes, sandboxUrl) => {
124
+ if (!isAbsolute(program)) {
125
+ assertScope(scopes, "shell");
126
+ return program;
127
+ }
128
+ const path = resolve(program);
129
+ assertScope(scopes, inRuns(path, sandboxUrl) ? "programs" : "shell");
130
+ const stats = await stat(path).catch(undefinedIfMissing);
131
+ if (stats === undefined) {
132
+ throw new Error(`Nothing at ${path}. A pushed build's path is what \`devices push\` printed.`);
133
+ }
134
+ if (stats.isDirectory()) {
135
+ const startable = await startablesIn(path);
136
+ throw new Error(startable.length === 0
137
+ ? `${path} is a folder, and nothing in it looks startable: pass the program inside it.`
138
+ : `${path} is a folder: pass the program inside it, e.g. ${join(path, startable[0] ?? "")}. It holds: ${startable.join(", ")}.`);
139
+ }
140
+ if (process.platform === "win32" && [".bat", ".cmd"].includes(extname(path).toLowerCase())) {
141
+ throw new Error(`${basename(path)} is a batch script, which needs a shell: run it with run_command instead.`);
142
+ }
143
+ return path;
144
+ };
145
+ export const startApp = async (request, scopes, sandboxUrl) => {
146
+ const program = await judgeProgram(request.program, scopes, sandboxUrl);
147
+ const cwd = request.cwd !== undefined
148
+ ? await assertPath(request.cwd, scopes, "start a program in")
149
+ : isAbsolute(program)
150
+ ? dirname(program)
151
+ : sandboxRunsDir(sandboxUrl);
152
+ await mkdir(cwd, { recursive: true });
153
+ const name = request.name ?? basename(program, extname(program));
154
+ const id = idFor(name);
155
+ await mkdir(logsDir(sandboxUrl), { recursive: true });
156
+ const log = join(logsDir(sandboxUrl), `${id}.log`);
157
+ const logHandle = await open(log, "a");
158
+ let child;
159
+ let exit = Promise.resolve({ code: null, signal: null });
160
+ try {
161
+ child = spawn(program, [...(request.args ?? [])], {
162
+ cwd,
163
+ env: { ...process.env, ...request.env },
164
+ detached: true,
165
+ windowsHide: false,
166
+ stdio: ["ignore", logHandle.fd, logHandle.fd],
167
+ });
168
+ const spawned = child;
169
+ exit = new Promise((done) => spawned.once("exit", (code, signal) => done({ code, signal })));
170
+ await new Promise((done, fail) => {
171
+ child.once("spawn", () => done());
172
+ child.once("error", (error) => fail(error));
173
+ });
174
+ }
175
+ catch (error) {
176
+ throw new Error(`Could not start ${program}: ${errorMessage(error)}`, { cause: error });
177
+ }
178
+ finally {
179
+ await logHandle.close();
180
+ }
181
+ const pid = child.pid ?? 0;
182
+ const run = { id, name, program, args: [...(request.args ?? [])], cwd, pid, startedAt: new Date().toISOString(), log };
183
+ children.set(id, child);
184
+ await updateRuns(sandboxUrl, (runs) => [...runs, run]);
185
+ const exited = exit.then(async ({ code, signal }) => {
186
+ children.delete(id);
187
+ await ended(sandboxUrl, id, code, signal);
188
+ });
189
+ child.unref();
190
+ const early = await Promise.race([exited.then(() => true), new Promise((done) => setTimeout(() => done(false), EARLY_EXIT_MS))]);
191
+ if (early) {
192
+ const final = (await readRuns(sandboxUrl)).find((entry) => entry.id === id) ?? run;
193
+ const { text } = await tailLines(log, 40);
194
+ return `${name} (${id}) ${describeExit(final)} within ${EARLY_EXIT_MS / 1000}s of starting.${text === "" ? " It printed nothing." : `\nIts last output:\n${text}`}`;
195
+ }
196
+ return `Started ${name} as ${id} (pid ${pid}) in ${cwd}. Its output goes to ${log}. Give it a moment, then app_status ${id} lists its windows (pass a window id to screenshot or ui_elements); app_logs reads what it printed; app_stop ends it with everything it started.`;
197
+ };
198
+ export const descendantsOf = (rows, root) => {
199
+ const tree = new Set([root]);
200
+ let grew = true;
201
+ while (grew) {
202
+ grew = false;
203
+ for (const [pid, parent] of rows) {
204
+ if (!tree.has(pid) && tree.has(parent) && pid !== parent) {
205
+ tree.add(pid);
206
+ grew = true;
207
+ }
208
+ }
209
+ }
210
+ return tree;
211
+ };
212
+ const processRows = async () => {
213
+ if (process.platform === "win32") {
214
+ const { stdout } = await exec("powershell.exe", ["-NoProfile", "-NonInteractive", "-Command", "Get-CimInstance Win32_Process | ForEach-Object { \"$($_.ProcessId) $($_.ParentProcessId)\" }"], { windowsHide: true, maxBuffer: 8 * 1024 * 1024 });
215
+ return parseRows(stdout);
216
+ }
217
+ const { stdout } = await exec("ps", ["-A", "-o", "pid=,ppid="], { maxBuffer: 8 * 1024 * 1024 });
218
+ return parseRows(stdout);
219
+ };
220
+ export const parseRows = (text) => text.split(/\r?\n/).flatMap((line) => {
221
+ const [pid, parent] = line.trim().split(/\s+/).map(Number);
222
+ return pid !== undefined && parent !== undefined && Number.isInteger(pid) && Number.isInteger(parent) ? [[pid, parent]] : [];
223
+ });
224
+ const windowsOf = async (run, screen) => {
225
+ const tree = descendantsOf(await processRows(), run.pid);
226
+ return (await screen.windows()).filter((window) => window.pid !== undefined && tree.has(window.pid));
227
+ };
228
+ const findRun = async (id, sandboxUrl) => {
229
+ const runs = await readRuns(sandboxUrl);
230
+ const run = runs.find((entry) => entry.id === id);
231
+ if (run === undefined) {
232
+ const known = runs.map((entry) => entry.id).slice(-8);
233
+ throw new Error(`No program started here as "${id}".${known.length === 0 ? "" : ` Known: ${known.join(", ")}.`}`);
234
+ }
235
+ return run;
236
+ };
237
+ const assertEither = (scopes) => {
238
+ if (scopes.programs !== "on" && scopes.shell !== "on") {
239
+ assertScope(scopes, "programs");
240
+ }
241
+ };
242
+ const runLine = (run) => {
243
+ const running = isRunning(run);
244
+ const state = running ? `running, pid ${run.pid}` : describeExit(run);
245
+ return `${running ? "▶" : "■"} ${run.id} ${run.name} ${state} (started ${run.startedAt}${run.endedAt === undefined ? "" : `, ended ${run.endedAt}`})`;
246
+ };
247
+ export const appStatus = async (id, scopes, sandboxUrl, screen) => {
248
+ assertEither(scopes);
249
+ if (id === undefined) {
250
+ const runs = (await readRuns(sandboxUrl)).toReversed();
251
+ const builds = await listArtifacts(sandboxUrl);
252
+ const lines = [
253
+ runs.length === 0 ? "Nothing has been started here by this sandbox." : `${runs.length} program run(s), newest first:`,
254
+ ...runs.map(runLine),
255
+ ];
256
+ if (builds.length > 0) {
257
+ lines.push("", "Builds pushed here (devices push), newest first:", ...builds.slice(0, 10).map((build) => ` ${build.name}/${build.version} ${build.path}`));
258
+ }
259
+ return lines.join("\n");
260
+ }
261
+ const run = await findRun(id, sandboxUrl);
262
+ const lines = [runLine(run), `program: ${run.program}${run.args.length === 0 ? "" : ` ${run.args.join(" ")}`}`, `folder: ${run.cwd}`, `log: ${run.log}`];
263
+ if (isRunning(run)) {
264
+ if (scopes.screen !== "on") {
265
+ lines.push(`(Its windows are not listed: "See the screen" is off for this device.)`);
266
+ }
267
+ else {
268
+ const windows = await windowsOf(run, screen()).catch((error) => {
269
+ lines.push(`(Its windows could not be listed: ${errorMessage(error)})`);
270
+ return [];
271
+ });
272
+ lines.push(windows.length === 0
273
+ ? "It has no visible window yet."
274
+ : `Its windows (pass the id in brackets to screenshot, ui_elements or focus_window):\n${windows
275
+ .map((window) => ` [${window.id}] ${window.title} (${window.bounds.width}×${window.bounds.height} at ${window.bounds.x},${window.bounds.y})${window.focused ? ", focused" : ""}`)
276
+ .join("\n")}`);
277
+ }
278
+ }
279
+ const { text } = await tailLines(run.log, 10);
280
+ if (text !== "") {
281
+ lines.push(`Last output:\n${text}`);
282
+ }
283
+ return lines.join("\n");
284
+ };
285
+ export const appLogs = async (id, lines, grep, scopes, sandboxUrl) => {
286
+ assertEither(scopes);
287
+ const run = await findRun(id, sandboxUrl);
288
+ const { text, total } = await tailLines(run.log, grep === undefined ? lines : MAX_LOG_LINES * 5);
289
+ let shown = text;
290
+ if (grep !== undefined) {
291
+ let pattern;
292
+ try {
293
+ pattern = new RegExp(grep, "i");
294
+ }
295
+ catch (error) {
296
+ throw new Error(`grep is not a usable pattern: ${errorMessage(error)}`, { cause: error });
297
+ }
298
+ shown = text
299
+ .split("\n")
300
+ .filter((line) => pattern.test(line))
301
+ .slice(-lines)
302
+ .join("\n");
303
+ }
304
+ const head = `${runLine(run)}\n${run.log}, ${total} bytes${grep === undefined ? "" : `, lines matching /${grep}/i`}:`;
305
+ return shown === "" ? `${head}\n(nothing${grep === undefined ? " printed yet" : " matches"}; a GUI program often prints nothing at all)` : `${head}\n${shown}`;
306
+ };
307
+ const waitGone = async (run, ms) => {
308
+ const deadline = Date.now() + ms;
309
+ while (Date.now() < deadline) {
310
+ if (!isRunning(run)) {
311
+ return true;
312
+ }
313
+ await new Promise((done) => setTimeout(done, 200));
314
+ }
315
+ return !isRunning(run);
316
+ };
317
+ const signalTree = async (pid, force) => {
318
+ if (process.platform === "win32") {
319
+ await exec("taskkill", ["/PID", String(pid), "/T", ...(force ? ["/F"] : [])], { windowsHide: true }).catch(() => undefined);
320
+ return;
321
+ }
322
+ try {
323
+ process.kill(-pid, force ? "SIGKILL" : "SIGTERM");
324
+ }
325
+ catch {
326
+ }
327
+ };
328
+ export const appStop = async (id, force, scopes, sandboxUrl) => {
329
+ assertEither(scopes);
330
+ const run = await findRun(id, sandboxUrl);
331
+ if (!isRunning(run)) {
332
+ return `${run.id} is not running: it ${describeExit(run)}.`;
333
+ }
334
+ await signalTree(run.pid, force);
335
+ let forced = force;
336
+ if (!(await waitGone(run, STOP_GRACE_MS)) && !force) {
337
+ await signalTree(run.pid, true);
338
+ forced = true;
339
+ }
340
+ const gone = await waitGone(run, STOP_GRACE_MS);
341
+ await updateRuns(sandboxUrl, (runs) => runs.map((entry) => (entry.id === id ? { ...entry, endedAt: entry.endedAt ?? new Date().toISOString(), stoppedByAgent: true } : entry)));
342
+ if (!gone) {
343
+ throw new Error(`${run.id} (pid ${run.pid}) is still running after being forced to stop: something holds it (a debugger, an elevated child).`);
344
+ }
345
+ return `Stopped ${run.id}${forced && !force ? " (it did not close when asked, so it was forced)" : forced ? " (forced)" : ""}, with everything it started.`;
346
+ };
347
+ //# sourceMappingURL=programs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"programs.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/programs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/machine",
3
- "version": "1.328.0",
3
+ "version": "1.329.0",
4
4
  "description": "The one agent that lives on a user's own device: lets an intentic sandbox work on it (outbound WebSocket, MCP tools, scopes enforced here) and keeps folders and ports mirrored with it (Mutagen over tunnel SSH, or through Docker for a project on this machine)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -20,13 +20,13 @@
20
20
  "intentic-machine": "./dist/cli.js"
21
21
  },
22
22
  "dependencies": {
23
- "@intentic/base": "1.328.0",
24
- "@intentic/browser": "1.328.0",
25
- "@intentic/constants": "1.328.0",
26
- "@intentic/desktop-automation": "1.328.0",
27
- "@intentic/local-agent": "1.328.0",
28
- "@intentic/sandbox-contract": "1.328.0",
29
- "@intentic/sandbox-run": "1.328.0",
23
+ "@intentic/base": "1.329.0",
24
+ "@intentic/browser": "1.329.0",
25
+ "@intentic/constants": "1.329.0",
26
+ "@intentic/desktop-automation": "1.329.0",
27
+ "@intentic/local-agent": "1.329.0",
28
+ "@intentic/sandbox-contract": "1.329.0",
29
+ "@intentic/sandbox-run": "1.329.0",
30
30
  "@orpc/server": "1.15.4",
31
31
  "@stricli/core": "1.3.0",
32
32
  "tslib": "2.8.1",