@intentic/machine 1.337.0 → 1.339.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.
Files changed (312) hide show
  1. package/README.md +105 -1
  2. package/dist/agent-trial.d.ts.map +1 -1
  3. package/dist/agent-trial.js +5 -15
  4. package/dist/agent-trial.js.map +1 -1
  5. package/dist/autostart/autostart.d.ts +2 -0
  6. package/dist/autostart/autostart.d.ts.map +1 -1
  7. package/dist/autostart/autostart.js +20 -0
  8. package/dist/autostart/autostart.js.map +1 -1
  9. package/dist/autostart/before-sign-in.d.ts +12 -0
  10. package/dist/autostart/before-sign-in.d.ts.map +1 -0
  11. package/dist/autostart/before-sign-in.js +103 -0
  12. package/dist/autostart/before-sign-in.js.map +1 -0
  13. package/dist/commands.d.ts.map +1 -1
  14. package/dist/commands.js +10 -1
  15. package/dist/commands.js.map +1 -1
  16. package/dist/daemon-base.d.ts.map +1 -1
  17. package/dist/daemon-base.js +2 -1
  18. package/dist/daemon-base.js.map +1 -1
  19. package/dist/device/commands.js +1 -1
  20. package/dist/device/commands.js.map +1 -1
  21. package/dist/device/config.d.ts +1 -1
  22. package/dist/device/config.d.ts.map +1 -1
  23. package/dist/device/config.js +3 -7
  24. package/dist/device/config.js.map +1 -1
  25. package/dist/device/connection.d.ts.map +1 -1
  26. package/dist/device/connection.js +1 -1
  27. package/dist/device/connection.js.map +1 -1
  28. package/dist/device/grant.d.ts +226 -1
  29. package/dist/device/grant.d.ts.map +1 -1
  30. package/dist/device/grant.js +2 -1
  31. package/dist/device/grant.js.map +1 -1
  32. package/dist/device/loopback-catch.d.ts +1 -1
  33. package/dist/device/loopback-catch.d.ts.map +1 -1
  34. package/dist/device/loopback-catch.js +1 -1
  35. package/dist/device/loopback-catch.js.map +1 -1
  36. package/dist/device/mcp.d.ts +2 -0
  37. package/dist/device/mcp.d.ts.map +1 -1
  38. package/dist/device/mcp.js +28 -17
  39. package/dist/device/mcp.js.map +1 -1
  40. package/dist/device/policy.d.ts +1 -1
  41. package/dist/device/policy.d.ts.map +1 -1
  42. package/dist/device/router.d.ts +227 -1
  43. package/dist/device/router.d.ts.map +1 -1
  44. package/dist/device/router.js +11 -0
  45. package/dist/device/router.js.map +1 -1
  46. package/dist/device/sandbox-rounds/auto-backup.d.ts +1 -1
  47. package/dist/device/sandbox-rounds/auto-backup.d.ts.map +1 -1
  48. package/dist/device/sandbox-rounds/auto-backup.js +3 -18
  49. package/dist/device/sandbox-rounds/auto-backup.js.map +1 -1
  50. package/dist/device/sandbox-rounds/auto-prepare.d.ts +1 -1
  51. package/dist/device/sandbox-rounds/auto-prepare.d.ts.map +1 -1
  52. package/dist/device/sandbox-rounds/ic-swaps.d.ts +1 -1
  53. package/dist/device/sandbox-rounds/ic-swaps.d.ts.map +1 -1
  54. package/dist/device/sandbox-rounds/ic-swaps.js +3 -8
  55. package/dist/device/sandbox-rounds/ic-swaps.js.map +1 -1
  56. package/dist/device/sandbox-rounds/keeper.d.ts +1 -1
  57. package/dist/device/sandbox-rounds/keeper.d.ts.map +1 -1
  58. package/dist/device/sandbox-rounds/keeper.js +2 -9
  59. package/dist/device/sandbox-rounds/keeper.js.map +1 -1
  60. package/dist/device/sandbox-rounds/probation-watch.d.ts.map +1 -1
  61. package/dist/device/sandbox-rounds/probation-watch.js +2 -9
  62. package/dist/device/sandbox-rounds/probation-watch.js.map +1 -1
  63. package/dist/device/sandbox-rounds/sleep.d.ts.map +1 -1
  64. package/dist/device/sandbox-rounds/sleep.js +3 -7
  65. package/dist/device/sandbox-rounds/sleep.js.map +1 -1
  66. package/dist/device/sandbox-rounds/swaps-fallback.d.ts +1 -1
  67. package/dist/device/sandbox-rounds/swaps-fallback.d.ts.map +1 -1
  68. package/dist/device/sandbox-rounds/swaps-fallback.js +3 -2
  69. package/dist/device/sandbox-rounds/swaps-fallback.js.map +1 -1
  70. package/dist/device/session.d.ts +5 -0
  71. package/dist/device/session.d.ts.map +1 -0
  72. package/dist/device/session.js +13 -0
  73. package/dist/device/session.js.map +1 -0
  74. package/dist/device/tools/agent.d.ts +1 -1
  75. package/dist/device/tools/agent.d.ts.map +1 -1
  76. package/dist/device/tools/agent.js +2 -2
  77. package/dist/device/tools/agent.js.map +1 -1
  78. package/dist/device/tools/android-parse.d.ts +4 -0
  79. package/dist/device/tools/android-parse.d.ts.map +1 -1
  80. package/dist/device/tools/android-parse.js +12 -3
  81. package/dist/device/tools/android-parse.js.map +1 -1
  82. package/dist/device/tools/android.d.ts +1 -1
  83. package/dist/device/tools/android.d.ts.map +1 -1
  84. package/dist/device/tools/android.js +71 -14
  85. package/dist/device/tools/android.js.map +1 -1
  86. package/dist/device/tools/apps.d.ts +1 -1
  87. package/dist/device/tools/apps.d.ts.map +1 -1
  88. package/dist/device/tools/browser.d.ts +1 -1
  89. package/dist/device/tools/browser.d.ts.map +1 -1
  90. package/dist/device/tools/command-ledger.d.ts.map +1 -1
  91. package/dist/device/tools/command-ledger.js +3 -11
  92. package/dist/device/tools/command-ledger.js.map +1 -1
  93. package/dist/device/tools/describe.d.ts +2 -1
  94. package/dist/device/tools/describe.d.ts.map +1 -1
  95. package/dist/device/tools/describe.js +13 -3
  96. package/dist/device/tools/describe.js.map +1 -1
  97. package/dist/device/tools/device.d.ts +1 -1
  98. package/dist/device/tools/device.d.ts.map +1 -1
  99. package/dist/device/tools/device.js +1 -1
  100. package/dist/device/tools/device.js.map +1 -1
  101. package/dist/device/tools/elements.d.ts +1 -1
  102. package/dist/device/tools/elements.d.ts.map +1 -1
  103. package/dist/device/tools/files.d.ts +1 -1
  104. package/dist/device/tools/files.d.ts.map +1 -1
  105. package/dist/device/tools/ic-binary.d.ts +3 -1
  106. package/dist/device/tools/ic-binary.d.ts.map +1 -1
  107. package/dist/device/tools/ic-binary.js +14 -7
  108. package/dist/device/tools/ic-binary.js.map +1 -1
  109. package/dist/device/tools/logs/logs.d.ts +1 -1
  110. package/dist/device/tools/logs/logs.d.ts.map +1 -1
  111. package/dist/device/tools/logs/logs.js +5 -11
  112. package/dist/device/tools/logs/logs.js.map +1 -1
  113. package/dist/device/tools/os/os.d.ts +10 -2
  114. package/dist/device/tools/os/os.d.ts.map +1 -1
  115. package/dist/device/tools/os/os.js +10 -14
  116. package/dist/device/tools/os/os.js.map +1 -1
  117. package/dist/device/tools/os/settings.d.ts +35 -0
  118. package/dist/device/tools/os/settings.d.ts.map +1 -0
  119. package/dist/device/tools/os/settings.js +357 -0
  120. package/dist/device/tools/os/settings.js.map +1 -0
  121. package/dist/device/tools/programs/artifacts.d.ts +2 -1
  122. package/dist/device/tools/programs/artifacts.d.ts.map +1 -1
  123. package/dist/device/tools/programs/artifacts.js.map +1 -1
  124. package/dist/device/tools/programs/device-tunnel.d.ts +2 -1
  125. package/dist/device/tools/programs/device-tunnel.d.ts.map +1 -1
  126. package/dist/device/tools/programs/device-tunnel.js.map +1 -1
  127. package/dist/device/tools/programs/programs.d.ts +1 -1
  128. package/dist/device/tools/programs/programs.d.ts.map +1 -1
  129. package/dist/device/tools/programs/programs.js +7 -11
  130. package/dist/device/tools/programs/programs.js.map +1 -1
  131. package/dist/device/tools/sandboxes.d.ts +5 -3
  132. package/dist/device/tools/sandboxes.d.ts.map +1 -1
  133. package/dist/device/tools/sandboxes.js +8 -4
  134. package/dist/device/tools/sandboxes.js.map +1 -1
  135. package/dist/device/tools/shell.d.ts +5 -1
  136. package/dist/device/tools/shell.d.ts.map +1 -1
  137. package/dist/device/tools/shell.js +10 -3
  138. package/dist/device/tools/shell.js.map +1 -1
  139. package/dist/engine-env.d.ts.map +1 -1
  140. package/dist/engine-env.js +2 -7
  141. package/dist/engine-env.js.map +1 -1
  142. package/dist/environments/auto-upgrade.d.ts +1 -1
  143. package/dist/environments/auto-upgrade.d.ts.map +1 -1
  144. package/dist/environments/auto-upgrade.js +1 -1
  145. package/dist/environments/auto-upgrade.js.map +1 -1
  146. package/dist/environments/crossing.js +1 -1
  147. package/dist/environments/crossing.js.map +1 -1
  148. package/dist/environments/machine-upgrade.js +1 -1
  149. package/dist/environments/machine-upgrade.js.map +1 -1
  150. package/dist/environments/machine.d.ts +1 -0
  151. package/dist/environments/machine.d.ts.map +1 -1
  152. package/dist/environments/machine.js +14 -4
  153. package/dist/environments/machine.js.map +1 -1
  154. package/dist/environments/wsl.js +4 -5
  155. package/dist/environments/wsl.js.map +1 -1
  156. package/dist/install.d.ts +2 -1
  157. package/dist/install.d.ts.map +1 -1
  158. package/dist/install.js +11 -22
  159. package/dist/install.js.map +1 -1
  160. package/dist/keyring/answer.d.ts +18 -0
  161. package/dist/keyring/answer.d.ts.map +1 -0
  162. package/dist/keyring/answer.js +46 -0
  163. package/dist/keyring/answer.js.map +1 -0
  164. package/dist/keyring/askpass.d.ts +31 -0
  165. package/dist/keyring/askpass.d.ts.map +1 -0
  166. package/dist/keyring/askpass.js +120 -0
  167. package/dist/keyring/askpass.js.map +1 -0
  168. package/dist/keyring/commands.d.ts +24 -0
  169. package/dist/keyring/commands.d.ts.map +1 -0
  170. package/dist/keyring/commands.js +384 -0
  171. package/dist/keyring/commands.js.map +1 -0
  172. package/dist/keyring/feature.d.ts +10 -0
  173. package/dist/keyring/feature.d.ts.map +1 -0
  174. package/dist/keyring/feature.js +36 -0
  175. package/dist/keyring/feature.js.map +1 -0
  176. package/dist/keyring/flags.d.ts +63 -0
  177. package/dist/keyring/flags.d.ts.map +1 -0
  178. package/dist/keyring/flags.js +177 -0
  179. package/dist/keyring/flags.js.map +1 -0
  180. package/dist/keyring/keyring-status.d.ts +32 -0
  181. package/dist/keyring/keyring-status.d.ts.map +1 -0
  182. package/dist/keyring/keyring-status.js +41 -0
  183. package/dist/keyring/keyring-status.js.map +1 -0
  184. package/dist/keyring/relay.d.ts +22 -0
  185. package/dist/keyring/relay.d.ts.map +1 -0
  186. package/dist/keyring/relay.js +104 -0
  187. package/dist/keyring/relay.js.map +1 -0
  188. package/dist/keyring/secret-input.d.ts +14 -0
  189. package/dist/keyring/secret-input.d.ts.map +1 -0
  190. package/dist/keyring/secret-input.js +78 -0
  191. package/dist/keyring/secret-input.js.map +1 -0
  192. package/dist/keyring/service.d.ts +44 -0
  193. package/dist/keyring/service.d.ts.map +1 -0
  194. package/dist/keyring/service.js +258 -0
  195. package/dist/keyring/service.js.map +1 -0
  196. package/dist/machine-id.d.ts.map +1 -1
  197. package/dist/machine-id.js +4 -5
  198. package/dist/machine-id.js.map +1 -1
  199. package/dist/release/release-signature.d.ts +17 -0
  200. package/dist/release/release-signature.d.ts.map +1 -0
  201. package/dist/release/release-signature.js +78 -0
  202. package/dist/release/release-signature.js.map +1 -0
  203. package/dist/release/release-verify.d.ts +11 -0
  204. package/dist/release/release-verify.d.ts.map +1 -0
  205. package/dist/release/release-verify.js +74 -0
  206. package/dist/release/release-verify.js.map +1 -0
  207. package/dist/release.d.ts +6 -0
  208. package/dist/release.d.ts.map +1 -1
  209. package/dist/release.js +8 -2
  210. package/dist/release.js.map +1 -1
  211. package/dist/resident/handover.d.ts +19 -0
  212. package/dist/resident/handover.d.ts.map +1 -0
  213. package/dist/resident/handover.js +32 -0
  214. package/dist/resident/handover.js.map +1 -0
  215. package/dist/resident/last-exit.d.ts.map +1 -1
  216. package/dist/resident/last-exit.js +6 -23
  217. package/dist/resident/last-exit.js.map +1 -1
  218. package/dist/resident/resident.d.ts +4 -1
  219. package/dist/resident/resident.d.ts.map +1 -1
  220. package/dist/resident/resident.js +82 -20
  221. package/dist/resident/resident.js.map +1 -1
  222. package/dist/status.d.ts +4 -1
  223. package/dist/status.d.ts.map +1 -1
  224. package/dist/status.js +9 -2
  225. package/dist/status.js.map +1 -1
  226. package/dist/sync/attach-commands.js +1 -1
  227. package/dist/sync/attach-commands.js.map +1 -1
  228. package/dist/sync/commands.d.ts.map +1 -1
  229. package/dist/sync/commands.js +4 -1
  230. package/dist/sync/commands.js.map +1 -1
  231. package/dist/sync/config.d.ts +2 -1
  232. package/dist/sync/config.d.ts.map +1 -1
  233. package/dist/sync/config.js +1 -1
  234. package/dist/sync/config.js.map +1 -1
  235. package/dist/sync/docker-ports.d.ts.map +1 -1
  236. package/dist/sync/docker-ports.js +2 -8
  237. package/dist/sync/docker-ports.js.map +1 -1
  238. package/dist/sync/environment.d.ts.map +1 -1
  239. package/dist/sync/environment.js +3 -10
  240. package/dist/sync/environment.js.map +1 -1
  241. package/dist/sync/forget-command.d.ts.map +1 -1
  242. package/dist/sync/forget-command.js +2 -6
  243. package/dist/sync/forget-command.js.map +1 -1
  244. package/dist/sync/gone.js +1 -1
  245. package/dist/sync/gone.js.map +1 -1
  246. package/dist/sync/mirror.d.ts +1 -1
  247. package/dist/sync/mirror.d.ts.map +1 -1
  248. package/dist/sync/mirror.js +3 -3
  249. package/dist/sync/mirror.js.map +1 -1
  250. package/dist/sync/mutagen.d.ts +1 -2
  251. package/dist/sync/mutagen.d.ts.map +1 -1
  252. package/dist/sync/mutagen.js +4 -6
  253. package/dist/sync/mutagen.js.map +1 -1
  254. package/dist/sync/project/project-delivery.d.ts +1 -1
  255. package/dist/sync/project/project-delivery.d.ts.map +1 -1
  256. package/dist/sync/project/project-delivery.js +1 -1
  257. package/dist/sync/project/project-delivery.js.map +1 -1
  258. package/dist/sync/project/project-files.d.ts +1 -1
  259. package/dist/sync/project/project-files.d.ts.map +1 -1
  260. package/dist/sync/project/project-local.d.ts.map +1 -1
  261. package/dist/sync/project/project-local.js +2 -8
  262. package/dist/sync/project/project-local.js.map +1 -1
  263. package/dist/sync/project/project-remote.d.ts.map +1 -1
  264. package/dist/sync/project/project-remote.js +2 -8
  265. package/dist/sync/project/project-remote.js.map +1 -1
  266. package/dist/sync/project/project-transfer.d.ts +1 -1
  267. package/dist/sync/project/project-transfer.d.ts.map +1 -1
  268. package/dist/sync/report.d.ts +1 -1
  269. package/dist/sync/report.d.ts.map +1 -1
  270. package/dist/sync/report.js +2 -2
  271. package/dist/sync/report.js.map +1 -1
  272. package/dist/sync/residue.d.ts +1 -1
  273. package/dist/sync/residue.d.ts.map +1 -1
  274. package/dist/sync/residue.js +1 -1
  275. package/dist/sync/residue.js.map +1 -1
  276. package/dist/sync/restore-points.d.ts.map +1 -1
  277. package/dist/sync/restore-points.js +2 -8
  278. package/dist/sync/restore-points.js.map +1 -1
  279. package/dist/sync/siblings.d.ts.map +1 -1
  280. package/dist/sync/siblings.js +4 -10
  281. package/dist/sync/siblings.js.map +1 -1
  282. package/dist/sync/ssh.d.ts.map +1 -1
  283. package/dist/sync/ssh.js +4 -3
  284. package/dist/sync/ssh.js.map +1 -1
  285. package/dist/sync/swap-pause.js +1 -1
  286. package/dist/sync/swap-pause.js.map +1 -1
  287. package/dist/upgrade.d.ts +2 -0
  288. package/dist/upgrade.d.ts.map +1 -1
  289. package/dist/upgrade.js +36 -4
  290. package/dist/upgrade.js.map +1 -1
  291. package/dist/upkeep/doctor.d.ts.map +1 -1
  292. package/dist/upkeep/doctor.js +4 -1
  293. package/dist/upkeep/doctor.js.map +1 -1
  294. package/dist/upkeep/login.d.ts +0 -1
  295. package/dist/upkeep/login.d.ts.map +1 -1
  296. package/dist/upkeep/login.js +4 -18
  297. package/dist/upkeep/login.js.map +1 -1
  298. package/dist/upkeep/reconcile.d.ts +1 -1
  299. package/dist/upkeep/reconcile.d.ts.map +1 -1
  300. package/dist/upkeep/reconcile.js +4 -15
  301. package/dist/upkeep/reconcile.js.map +1 -1
  302. package/dist/upkeep/retention.d.ts.map +1 -1
  303. package/dist/upkeep/retention.js +13 -17
  304. package/dist/upkeep/retention.js.map +1 -1
  305. package/dist/upkeep/trash.d.ts.map +1 -1
  306. package/dist/upkeep/trash.js +2 -1
  307. package/dist/upkeep/trash.js.map +1 -1
  308. package/dist/windows-registry.d.ts +8 -0
  309. package/dist/windows-registry.d.ts.map +1 -0
  310. package/dist/windows-registry.js +44 -0
  311. package/dist/windows-registry.js.map +1 -0
  312. package/package.json +9 -8
@@ -0,0 +1,357 @@
1
+ import { existsSync } from "node:fs";
2
+ import { plural, sizeLabel } from "@intentic/base/format";
3
+ import { IC_OS_DRIVE_NO_ROOM_EXIT, IC_OS_NO_SCREEN_EXIT, IC_OS_WIFI_PASSWORD_EXIT, icOsDisplayListArgs, icOsDisplaySetArgs, icOsDriveEjectArgs, icOsDriveImportArgs, icOsDrivesListArgs, icOsKeyboardLayoutsArgs, icOsKeyboardSetArgs, icOsKeyboardStatusArgs, icOsNetworkStatusArgs, icOsSoundOutputArgs, icOsSoundOutputsArgs, icOsSoundSetArgs, icOsSoundStatusArgs, icOsWifiConnectArgs, icOsWifiForgetArgs, icOsWifiListArgs, icOsWifiRadioArgs, INTENTIC_OS_RELEASE_PATH, IntenticOsBlockDeviceSchema, IntenticOsDisplayListSchema, IntenticOsDisplayModeSchema, IntenticOsDisplayNameSchema, IntenticOsDriveImportSchema, IntenticOsDrivesSchema, IntenticOsImportPathSchema, IntenticOsKeyboardLayoutsSchema, IntenticOsKeyboardStatusSchema, IntenticOsNetworkStatusSchema, IntenticOsSandboxSlugSchema, IntenticOsScaleSchema, IntenticOsSoundOutputsSchema, IntenticOsSoundStatusSchema, IntenticOsSsidSchema, IntenticOsWifiListSchema, IntenticOsXkbNameSchema, } from "@intentic/sandbox-contract/schemas/intentic-os";
4
+ import { textResult, tool } from "@intentic/sandbox-contract/peer-mcp-server";
5
+ import { z } from "zod";
6
+ import { assertScope } from "../../policy.js";
7
+ import { holdIcFlow } from "../sandboxes.js";
8
+ import { answerOf, assertSeeing, notIntenticOs, OS_DEPS, said } from "./os.js";
9
+ const READ_DEADLINE_MS = 30_000;
10
+ const SCAN_DEADLINE_MS = 60_000;
11
+ const JOIN_DEADLINE_MS = 2 * 60_000;
12
+ const CHANGE_DEADLINE_MS = 60_000;
13
+ const EJECT_DEADLINE_MS = 5 * 60_000;
14
+ const icOs = async (deps, ask) => {
15
+ const ran = await deps.ic(ask.args, { deadlineMs: ask.deadlineMs, input: ask.input });
16
+ const run = ask.input === undefined || ask.input === "" ? ran : { ...ran, output: ran.output.replaceAll(ask.input, "<the password>") };
17
+ notIntenticOs(run);
18
+ if (ask.refusal !== undefined && run.code === ask.refusal.code) {
19
+ throw new Error(ask.refusal.says(run.output));
20
+ }
21
+ if (run.code !== 0) {
22
+ throw new Error(`${ask.failed}\n\n${run.output}`);
23
+ }
24
+ return run;
25
+ };
26
+ const readOs = async (scopes, deps, ask, schema) => {
27
+ assertSeeing(scopes);
28
+ const run = await icOs(deps, { deadlineMs: READ_DEADLINE_MS, ...ask });
29
+ return answerOf(run.output, schema, ask.args.join(" "));
30
+ };
31
+ const json = (answer) => JSON.stringify(answer, undefined, 2);
32
+ const NO_SCREEN = {
33
+ code: IC_OS_NO_SCREEN_EXIT,
34
+ says: (output) => `This device's edition of Intentic OS has no screen (it is the server edition), so it has no displays or keyboard layout to read or change.\n\n${output}`,
35
+ };
36
+ const PASSWORD_FROM = "Do not ask the owner to paste it into chat, where it would stay in the transcript: ask them to join the network from This computer on this machine's own screen, or to give you the password some way that leaves no copy in the conversation, and pass it as `password`.";
37
+ const wifiPassword = (ssid, given) => ({
38
+ code: IC_OS_WIFI_PASSWORD_EXIT,
39
+ says: (output) => given
40
+ ? `"${ssid}" did not accept that password, so this machine did not join it. ${PASSWORD_FROM}\n\n${output}`
41
+ : `"${ssid}" needs a password this machine does not know, so it did not join it. ${PASSWORD_FROM}\n\n${output}`,
42
+ });
43
+ const sentenceOf = (output) => output
44
+ .split(/\r?\n/)
45
+ .map((line) => line.trim())
46
+ .findLast((line) => line !== "" && !line.startsWith("{")) ?? "";
47
+ const noRoom = (device, sandbox) => ({
48
+ code: IC_OS_DRIVE_NO_ROOM_EXIT,
49
+ says: (output) => `There is not enough room in the sandbox "${sandbox}" for what is on ${device}, so nothing was copied. ${sentenceOf(output)}`.trim(),
50
+ });
51
+ export const networkStatus = async (scopes, deps = OS_DEPS) => json(await readOs(scopes, deps, { args: icOsNetworkStatusArgs(), failed: "ic could not say how this device is online." }, IntenticOsNetworkStatusSchema));
52
+ export const wifiList = async (scopes, deps = OS_DEPS) => json(await readOs(scopes, deps, { args: icOsWifiListArgs(), deadlineMs: SCAN_DEADLINE_MS, failed: "ic could not list the Wi-Fi networks in reach of this device." }, IntenticOsWifiListSchema));
53
+ export const wifiConnect = async (ssid, password, scopes, deps = OS_DEPS) => {
54
+ assertScope(scopes, "sandboxes");
55
+ const given = password !== undefined;
56
+ const run = await icOs(deps, {
57
+ args: icOsWifiConnectArgs(ssid, given),
58
+ deadlineMs: JOIN_DEADLINE_MS,
59
+ input: password,
60
+ failed: `This device could not join "${ssid}".`,
61
+ refusal: wifiPassword(ssid, given),
62
+ });
63
+ return `${said(run, `Joined "${ssid}".`)}\n\nos_network_status says how this device is online now.`;
64
+ };
65
+ export const wifiForget = async (ssid, scopes, deps = OS_DEPS) => {
66
+ assertScope(scopes, "sandboxes");
67
+ const run = await icOs(deps, {
68
+ args: icOsWifiForgetArgs(ssid),
69
+ deadlineMs: CHANGE_DEADLINE_MS,
70
+ failed: `This device could not forget "${ssid}".`,
71
+ });
72
+ return `${said(run, `Forgot "${ssid}".`)}\n\nThis device will not rejoin it by itself, and joining it again takes its password.`;
73
+ };
74
+ export const wifiRadio = async (on, scopes, deps = OS_DEPS) => {
75
+ assertScope(scopes, "sandboxes");
76
+ const run = await icOs(deps, {
77
+ args: icOsWifiRadioArgs(on),
78
+ deadlineMs: CHANGE_DEADLINE_MS,
79
+ failed: `This device's Wi-Fi could not be turned ${on ? "on" : "off"}.`,
80
+ });
81
+ return on
82
+ ? `${said(run, "Wi-Fi is on.")}\n\nA network this device knows is rejoined by itself; os_wifi_list shows what is in reach.`
83
+ : `${said(run, "Wi-Fi is off.")}\n\nos_wifi_radio with \`on: true\`, or This computer on this machine's own screen, turns it back on.`;
84
+ };
85
+ export const soundStatus = async (scopes, deps = OS_DEPS) => json(await readOs(scopes, deps, { args: icOsSoundStatusArgs(), failed: "ic could not say this device's sound." }, IntenticOsSoundStatusSchema));
86
+ export const soundSet = async ({ volume, muted }, scopes, deps = OS_DEPS) => {
87
+ assertScope(scopes, "sandboxes");
88
+ const change = {};
89
+ if (volume !== undefined) {
90
+ change.volume = volume;
91
+ }
92
+ if (muted !== undefined) {
93
+ change.muted = muted;
94
+ }
95
+ if (volume === undefined && muted === undefined) {
96
+ throw new Error("Nothing was changed: give `volume`, `muted`, or both.");
97
+ }
98
+ const args = icOsSoundSetArgs(change);
99
+ const run = await icOs(deps, { args, deadlineMs: CHANGE_DEADLINE_MS, failed: "This device's sound could not be changed." });
100
+ return json(answerOf(run.output, IntenticOsSoundStatusSchema, args.join(" ")));
101
+ };
102
+ export const soundOutputs = async (scopes, deps = OS_DEPS) => json(await readOs(scopes, deps, { args: icOsSoundOutputsArgs(), failed: "ic could not list what plays sound on this device." }, IntenticOsSoundOutputsSchema));
103
+ export const soundOutput = async (id, scopes, deps = OS_DEPS) => {
104
+ assertScope(scopes, "sandboxes");
105
+ const run = await icOs(deps, {
106
+ args: icOsSoundOutputArgs(id),
107
+ deadlineMs: CHANGE_DEADLINE_MS,
108
+ failed: `Sound could not be moved to output ${id}.`,
109
+ });
110
+ return `${said(run, `Sound now plays on output ${id}.`)}\n\nos_sound_status names it.`;
111
+ };
112
+ export const displayList = async (scopes, deps = OS_DEPS) => json(await readOs(scopes, deps, { args: icOsDisplayListArgs(), failed: "ic could not list this device's screens.", refusal: NO_SCREEN }, IntenticOsDisplayListSchema));
113
+ export const displaySet = async (output, { mode, scale }, scopes, deps = OS_DEPS) => {
114
+ assertScope(scopes, "sandboxes");
115
+ const change = {};
116
+ if (mode !== undefined) {
117
+ change.mode = mode;
118
+ }
119
+ if (scale !== undefined) {
120
+ change.scale = scale;
121
+ }
122
+ if (mode === undefined && scale === undefined) {
123
+ throw new Error("Nothing was changed: give `mode`, `scale`, or both.");
124
+ }
125
+ const run = await icOs(deps, {
126
+ args: icOsDisplaySetArgs(output, change),
127
+ deadlineMs: CHANGE_DEADLINE_MS,
128
+ failed: `The screen ${output} could not be changed.`,
129
+ refusal: NO_SCREEN,
130
+ });
131
+ return `${said(run, `Changed ${output}.`)}\n\nos_display_list shows it as it is now.`;
132
+ };
133
+ export const keyboardStatus = async (scopes, deps = OS_DEPS) => json(await readOs(scopes, deps, { args: icOsKeyboardStatusArgs(), failed: "ic could not say this device's keyboard layout.", refusal: NO_SCREEN }, IntenticOsKeyboardStatusSchema));
134
+ const folded = (text) => text.normalize("NFD").replaceAll(/\p{M}/gu, "").toLowerCase();
135
+ const layoutsWhere = (layouts, holds) => layouts.flatMap((layout) => {
136
+ if (holds(layout.layout, layout.name)) {
137
+ return [layout];
138
+ }
139
+ const variants = layout.variants.filter((variant) => holds(variant.variant, variant.name));
140
+ return variants.length === 0 ? [] : [{ ...layout, variants }];
141
+ });
142
+ export const layoutsMatching = (layouts, search) => {
143
+ const wanted = folded(search.trim());
144
+ const byCode = layoutsWhere(layouts, (code) => folded(code) === wanted);
145
+ return byCode.length > 0 ? byCode : layoutsWhere(layouts, (code, name) => folded(code).includes(wanted) || folded(name).includes(wanted));
146
+ };
147
+ export const keyboardLayouts = async (search, scopes, deps = OS_DEPS) => {
148
+ const { layouts } = await readOs(scopes, deps, { args: icOsKeyboardLayoutsArgs(), failed: "ic could not list the keyboard layouts this device knows.", refusal: NO_SCREEN }, IntenticOsKeyboardLayoutsSchema);
149
+ if (search === undefined || search.trim() === "") {
150
+ return json({ layouts });
151
+ }
152
+ const found = layoutsMatching(layouts, search);
153
+ return found.length === 0
154
+ ? `No keyboard layout or variant matches "${search}". Search by a language or country ("German", "Swiss") or by an xkb code ("de", "ch"), or leave \`search\` out for all ${plural(layouts.length, "layout")}.`
155
+ : json({ layouts: found });
156
+ };
157
+ export const keyboardSet = async (layout, variant, scopes, deps = OS_DEPS) => {
158
+ assertScope(scopes, "sandboxes");
159
+ const named = variant === undefined ? layout : `${layout} (${variant})`;
160
+ const run = await icOs(deps, {
161
+ args: icOsKeyboardSetArgs(layout, variant),
162
+ deadlineMs: CHANGE_DEADLINE_MS,
163
+ failed: `The keyboard layout could not be set to ${named}.`,
164
+ refusal: NO_SCREEN,
165
+ });
166
+ return `${said(run, `The keyboard layout is ${named} now.`)}\n\nos_keyboard_status names it.`;
167
+ };
168
+ export const drivesList = async (scopes, deps = OS_DEPS) => json(await readOs(scopes, deps, { args: icOsDrivesListArgs(), failed: "ic could not list the drives plugged into this device." }, IntenticOsDrivesSchema));
169
+ export const driveImport = async ({ device, sandbox, path }, scopes, deps = OS_DEPS) => {
170
+ assertScope(scopes, "sandboxes");
171
+ const args = icOsDriveImportArgs(device, sandbox, path);
172
+ const release = holdIcFlow(sandbox, { moves: false });
173
+ let run;
174
+ try {
175
+ run = await icOs(deps, {
176
+ args,
177
+ deadlineMs: undefined,
178
+ failed: `Nothing more was copied from ${device} into "${sandbox}".`,
179
+ refusal: noRoom(device, sandbox),
180
+ });
181
+ }
182
+ finally {
183
+ release();
184
+ }
185
+ const copied = answerOf(run.output, IntenticOsDriveImportSchema, args.join(" "));
186
+ return `Copied ${plural(copied.files, "file")} (${sizeLabel(copied.bytes)}) from ${copied.device} into the sandbox "${copied.sandbox}", at ${copied.path}.\n\nThe drive is still plugged in: os_drive_eject before it is pulled out.`;
187
+ };
188
+ export const driveEject = async (device, scopes, deps = OS_DEPS) => {
189
+ assertScope(scopes, "sandboxes");
190
+ const run = await icOs(deps, {
191
+ args: icOsDriveEjectArgs(device),
192
+ deadlineMs: EJECT_DEADLINE_MS,
193
+ failed: `${device} could not be ejected. Do not pull it out yet.`,
194
+ });
195
+ return `${said(run, `Ejected ${device}.`)}\n\nIt can be pulled out now.`;
196
+ };
197
+ const WifiPasswordSchema = z
198
+ .string()
199
+ .min(1)
200
+ .max(128)
201
+ .refine((password) => !/[\r\n]/.test(password), "a Wi-Fi password is one line");
202
+ const SEEING = "Requires 'Run commands' or 'Manage sandboxes on this device'.";
203
+ const MANAGING = "Requires the 'Manage sandboxes on this device' permission.";
204
+ const NETWORK_TOOLS = (deps) => [
205
+ tool({
206
+ name: "os_network_status",
207
+ description: `How this device is online right now, as JSON from its \`ic os network status\`: \`connected\`, \`kind\` (wifi, ethernet or none), \`name\` (the Wi-Fi network's or the wired connection's) and \`signal\` (Wi-Fi strength 0-100, null on a wire). Changes nothing: call it before any Wi-Fi change. ${SEEING}`,
208
+ effect: "read",
209
+ input: z.object({}),
210
+ run: async (_args, scopes) => textResult(await networkStatus(scopes, deps)),
211
+ }),
212
+ tool({
213
+ name: "os_wifi_list",
214
+ description: `The Wi-Fi networks in reach of this device, as JSON from its \`ic os network wifi list\`, after a fresh scan of a few seconds: each network once, strongest first, with its \`signal\` (0-100), whether it asks for a password (\`secured\`), whether this device has joined it before and rejoins it by itself (\`known\`) and whether it is the one in use (\`active\`). \`adapter\` false means this device has no Wi-Fi; \`enabled\` false means Wi-Fi is turned off (os_wifi_radio). Changes nothing. ${SEEING}`,
215
+ effect: "read",
216
+ input: z.object({}),
217
+ run: async (_args, scopes) => textResult(await wifiList(scopes, deps)),
218
+ }),
219
+ tool({
220
+ name: "os_wifi_connect",
221
+ description: `Join a Wi-Fi network by its name (\`ssid\`, as os_wifi_list gives it) through this device's \`ic os network wifi connect\`. A known network, or one that asks for no password, needs none. One that needs a password this device does not know is refused, saying so: never ask the owner to type a password into chat, where it stays in the transcript. Ask them to join it from This computer on this machine's own screen, or pass \`password\` only when you have it some way that leaves no copy in the conversation. It reaches ic on stdin, never a command line, and this device's audit log keeps only its length. While the device switches networks its connection drops for a moment. ${MANAGING}`,
222
+ effect: "write",
223
+ input: z.object({
224
+ ssid: IntenticOsSsidSchema.describe("The network's name, exactly as os_wifi_list gives it."),
225
+ password: WifiPasswordSchema.optional().describe("Only for a network that asks for one this device does not know yet."),
226
+ }),
227
+ run: async ({ ssid, password }, scopes) => textResult(await wifiConnect(ssid, password, scopes, deps)),
228
+ }),
229
+ tool({
230
+ name: "os_wifi_forget",
231
+ description: `Forget a Wi-Fi network this device has joined before (\`known\` in os_wifi_list), through its \`ic os network wifi forget\`: it stops rejoining it by itself, and joining it again takes the password. Forgetting the network in use takes this device off it, and when Wi-Fi is how it is online (os_network_status) that cuts every sandbox here off from the internet, your own model included, until someone at the machine joins a network again: get the owner's yes in chat first. ${MANAGING}`,
232
+ effect: "write",
233
+ input: z.object({ ssid: IntenticOsSsidSchema.describe("The network's name, exactly as os_wifi_list gives it.") }),
234
+ run: async ({ ssid }, scopes) => textResult(await wifiForget(ssid, scopes, deps)),
235
+ }),
236
+ tool({
237
+ name: "os_wifi_radio",
238
+ description: `Turn this device's Wi-Fi on or off, through its \`ic os network wifi on|off\`. Turned on, it rejoins a network it knows by itself. Turned off while Wi-Fi is how this device is online (os_network_status), it cuts every sandbox here off from the internet, your own model included, so nothing on this side could turn it back on: only someone at the machine can. Get the owner's yes in chat before turning it off. ${MANAGING}`,
239
+ effect: "write",
240
+ input: z.object({ on: z.boolean().describe("true turns Wi-Fi on, false turns it off.") }),
241
+ run: async ({ on }, scopes) => textResult(await wifiRadio(on, scopes, deps)),
242
+ }),
243
+ ];
244
+ const SOUND_TOOLS = (deps) => [
245
+ tool({
246
+ name: "os_sound_status",
247
+ description: `This device's sound, as JSON from its \`ic os sound status\`: the \`volume\` of what plays now (0-100), whether it is \`muted\`, and the speaker or headphones it plays on (\`output\`, null when there are none). Changes nothing. ${SEEING}`,
248
+ effect: "read",
249
+ input: z.object({}),
250
+ run: async (_args, scopes) => textResult(await soundStatus(scopes, deps)),
251
+ }),
252
+ tool({
253
+ name: "os_sound_set",
254
+ description: `Set this device's volume, mute or unmute it, or both, through its \`ic os sound set\`, and answer with the sound as it is after (os_sound_status's JSON). ${MANAGING}`,
255
+ effect: "write",
256
+ input: z.object({
257
+ volume: z.number().min(0).max(100).optional().describe("The volume, 0-100."),
258
+ muted: z.boolean().optional().describe("true mutes, false unmutes."),
259
+ }),
260
+ run: async ({ volume, muted }, scopes) => textResult(await soundSet({ volume, muted }, scopes, deps)),
261
+ }),
262
+ tool({
263
+ name: "os_sound_outputs",
264
+ description: `Every speaker, headphone and screen that can play this device's sound, as JSON from its \`ic os sound outputs\`: each with the \`id\` os_sound_output takes, its \`name\`, and \`default\` on the one in use. An id can change when a device is plugged in again, so list before you switch. Changes nothing. ${SEEING}`,
265
+ effect: "read",
266
+ input: z.object({}),
267
+ run: async (_args, scopes) => textResult(await soundOutputs(scopes, deps)),
268
+ }),
269
+ tool({
270
+ name: "os_sound_output",
271
+ description: `Play this device's sound on another speaker, headphones or screen, by its \`id\` from os_sound_outputs, through its \`ic os sound output\`. ${MANAGING}`,
272
+ effect: "write",
273
+ input: z.object({ id: z.number().int().nonnegative().describe("The output's id, from os_sound_outputs.") }),
274
+ run: async ({ id }, scopes) => textResult(await soundOutput(id, scopes, deps)),
275
+ }),
276
+ ];
277
+ const SCREEN_TOOLS = (deps) => [
278
+ tool({
279
+ name: "os_display_list",
280
+ description: `This device's screens, as JSON from its \`ic os display list\`: each by its connector \`name\` (\`eDP-1\`, \`HDMI-A-1\`), what it says it is (\`make\`, \`model\`), whether it is \`enabled\`, the mode it shows now (\`current\`: width, height and refresh in Hz), every mode it offers (\`modes\`) and its \`scale\`. The server edition has no screen and says so. Changes nothing. ${SEEING}`,
281
+ effect: "read",
282
+ input: z.object({}),
283
+ run: async (_args, scopes) => textResult(await displayList(scopes, deps)),
284
+ }),
285
+ tool({
286
+ name: "os_display_set",
287
+ description: `Change one of this device's screens through its \`ic os display set\`: its \`mode\` (one of its \`modes\` in os_display_list, as given there), its \`scale\` (how much bigger everything is drawn, 0.5-4), or both. It changes what the person at the machine sees at once, so say what you are changing. ${MANAGING}`,
288
+ effect: "write",
289
+ input: z.object({
290
+ output: IntenticOsDisplayNameSchema.describe("The screen's connector name, from os_display_list."),
291
+ mode: IntenticOsDisplayModeSchema.optional().describe("One of the screen's modes, exactly as os_display_list gives it."),
292
+ scale: IntenticOsScaleSchema.optional().describe("1 for none, 2 for twice the size; 0.5-4."),
293
+ }),
294
+ run: async ({ output, mode, scale }, scopes) => textResult(await displaySet(output, { mode, scale }, scopes, deps)),
295
+ }),
296
+ tool({
297
+ name: "os_keyboard_status",
298
+ description: `This device's keyboard layout, as JSON from its \`ic os keyboard status\`: the \`layout\` as xkb names it (\`us\`, \`de\`), its \`variant\` (null for the layout's own) and its \`name\` for a person ("German (no dead keys)"). The server edition has no screen and says so. Changes nothing. ${SEEING}`,
299
+ effect: "read",
300
+ input: z.object({}),
301
+ run: async (_args, scopes) => textResult(await keyboardStatus(scopes, deps)),
302
+ }),
303
+ tool({
304
+ name: "os_keyboard_layouts",
305
+ description: `The keyboard layouts this device knows, as JSON from its \`ic os keyboard layouts\`, each with its variants. There are about a hundred, so give \`search\`: a language or country ("German", "Swiss") or an xkb code ("de", "ch"), case and accents aside. A layout it matches comes with all its variants, and one only some of whose variants match comes with those. Changes nothing. ${SEEING}`,
306
+ effect: "read",
307
+ input: z.object({
308
+ search: z.string().max(100).optional().describe("Part of a layout's or variant's name or xkb code. Leave it out for every layout."),
309
+ }),
310
+ run: async ({ search }, scopes) => textResult(await keyboardLayouts(search, scopes, deps)),
311
+ }),
312
+ tool({
313
+ name: "os_keyboard_set",
314
+ description: `Set this device's keyboard layout through its \`ic os keyboard set\`: a \`layout\` and optionally a \`variant\`, each as os_keyboard_layouts names it. It changes what every key the person at the machine presses types, at once and for every program. ${MANAGING}`,
315
+ effect: "write",
316
+ input: z.object({
317
+ layout: IntenticOsXkbNameSchema.describe("The layout's xkb code, like de."),
318
+ variant: IntenticOsXkbNameSchema.optional().describe("The variant's xkb code, like nodeadkeys. Leave it out for the layout's own."),
319
+ }),
320
+ run: async ({ layout, variant }, scopes) => textResult(await keyboardSet(layout, variant, scopes, deps)),
321
+ }),
322
+ ];
323
+ const DRIVE_TOOLS = (deps) => [
324
+ tool({
325
+ name: "os_drives_list",
326
+ description: `The removable drives plugged into this device (USB sticks and disks, memory cards), as JSON from its \`ic os drives list\`: each filesystem's \`device\` (what os_drive_import and os_drive_eject take), \`label\`, \`size\` in bytes, \`filesystem\`, where it is open (\`mountedAt\`, null while it is not), \`readOnly\`, \`model\` and \`kind\`. The machine's own disks are never listed. Changes nothing. ${SEEING}`,
327
+ effect: "read",
328
+ input: z.object({}),
329
+ run: async (_args, scopes) => textResult(await drivesList(scopes, deps)),
330
+ }),
331
+ tool({
332
+ name: "os_drive_import",
333
+ description: `Copy everything on a removable drive into a sandbox on this device, through its \`ic os drives import\`: it lands in that sandbox's /work/Imports/<label>-<date>, or in \`path\` inside its /work, and nothing on the drive is changed. A big drive takes many minutes, and the call returns when the copy is done, with how many files and bytes it copied and where. When it would not fit nothing is copied, and it says so. The sandbox is usually the one asking ("copy the stick into my sandbox"); confirm with the owner in chat before copying into any other. ${MANAGING}`,
334
+ effect: "write",
335
+ input: z.object({
336
+ device: IntenticOsBlockDeviceSchema.describe("The drive's device, from os_drives_list, like /dev/sdb1."),
337
+ sandbox: IntenticOsSandboxSlugSchema.describe("The slug of the sandbox to copy into, from list_sandboxes."),
338
+ path: IntenticOsImportPathSchema.optional().describe("A folder inside the sandbox's /work, like Photos/2026. Leave it out for /work/Imports/<label>-<date>."),
339
+ }),
340
+ run: async ({ device, sandbox, path }, scopes) => textResult(await driveImport({ device, sandbox, path }, scopes, deps)),
341
+ }),
342
+ tool({
343
+ name: "os_drive_eject",
344
+ description: `Eject a removable drive so it can be pulled out safely, through this device's \`ic os drives eject\`: whatever is still being written to it is finished first, then it is closed. Confirm with the owner in chat first unless they asked for it: a program or a copy still reading from it loses it. ${MANAGING}`,
345
+ effect: "write",
346
+ input: z.object({ device: IntenticOsBlockDeviceSchema.describe("The drive's device, from os_drives_list, like /dev/sdb1.") }),
347
+ run: async ({ device }, scopes) => textResult(await driveEject(device, scopes, deps)),
348
+ }),
349
+ ];
350
+ const SETTINGS_TOOLS = (deps) => [
351
+ ...NETWORK_TOOLS(deps),
352
+ ...SOUND_TOOLS(deps),
353
+ ...SCREEN_TOOLS(deps),
354
+ ...DRIVE_TOOLS(deps),
355
+ ];
356
+ export const osSettingsTools = (release = INTENTIC_OS_RELEASE_PATH, deps = OS_DEPS) => existsSync(release) ? SETTINGS_TOOLS(deps) : [];
357
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../src/device/tools/os/settings.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { DeviceScopes, StageArtifact, StageArtifactResult } from "@intentic/sandbox-contract";
1
+ import type { DeviceScopes } from "@intentic/sandbox-contract/schemas/capabilities";
2
+ import type { StageArtifact, StageArtifactResult } from "@intentic/sandbox-contract/schemas/device-artifacts";
2
3
  export declare const runsRoot: () => string;
3
4
  export declare const sandboxRunsDir: (sandboxUrl: string) => string;
4
5
  export declare const inRuns: (path: string, sandboxUrl: string) => boolean;
@@ -1 +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;AAenG,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,OAAqD,CAAC;AA4FhH,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"}
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/artifacts.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAe9G,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,OAAqD,CAAC;AA4FhH,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/artifacts.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { DialLoopback, DeviceScopes } from "@intentic/sandbox-contract";
1
+ import type { DialLoopback } from "@intentic/sandbox-contract/schemas/device-artifacts";
2
+ import type { DeviceScopes } from "@intentic/sandbox-contract/schemas/capabilities";
2
3
  export declare const tunnelSocketUrl: (base: string) => string;
3
4
  export declare const dialLoopback: (input: DialLoopback, scopes: DeviceScopes, base: string | undefined) => Promise<{
4
5
  ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"device-tunnel.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/device-tunnel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAc7E,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MAAiF,CAAC;AA0BjI,eAAO,MAAM,YAAY,UAAiB,YAAY,UAAU,YAAY,QAAQ,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CA6C5H,CAAC"}
1
+ {"version":3,"file":"device-tunnel.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/device-tunnel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAcpF,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MAAiF,CAAC;AA0BjI,eAAO,MAAM,YAAY,UAAiB,YAAY,UAAU,YAAY,QAAQ,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CA6C5H,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"device-tunnel.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/device-tunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-tunnel.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/device-tunnel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAa,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAW9C,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC;AAEjI,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IACtD,IAAI,SAAkB,CAAC;IAEvB,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC;YAED,OAAO,MAAM,IAAI,OAAO,CAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;oBACxB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,SAAS,GAAG,KAAK,CAAC;QACtB,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAI,SAA+C,EAAE,IAAI,CAAC;IACpE,MAAM,IAAI,KAAK,CACX,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,gCAAgC,IAAI,sCAAsC,CAAC,CAAC,CAAC,wBAAwB,IAAI,UAAU,YAAY,CAAC,SAAS,CAAC,EAAE,CACzK,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,KAAmB,EAAE,MAAoB,EAAE,IAAwB,EAAyB,EAAE;IAC7H,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxB,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,mBAAmB,EAAE,KAAK,CAAC,MAAM,EAAE,EAAW,CAAC,CAAC;IAC7G,EAAE,CAAC,UAAU,GAAG,aAAa,CAAC;IAC9B,IAAI,IAAsB,CAAC;IAC3B,MAAM,KAAK,GAAG,GAAS,EAAE;QACrB,IAAI,EAAE,IAAI,EAAE,CAAC;QACb,IAAI,GAAG,SAAS,CAAC;QACjB,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;YAC7E,EAAE,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACL,CAAC,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1B,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,KAAK,CAAC,sDAAsD,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;QACrG,CAAC,EAAE,eAAe,CAAC,CAAC;QACpB,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,GAAG,gBAAgB,CACnB,MAAM,EACN,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,EAC5E,EAAE,UAAU,EAAE,KAAK,EAAE,CACxB,CAAC;YACF,IAAI,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Desktop } from "@intentic/desktop-automation";
2
- import { type DeviceScopes } from "@intentic/sandbox-contract";
2
+ import type { DeviceScopes } from "@intentic/sandbox-contract/schemas/capabilities";
3
3
  export interface AppRun {
4
4
  readonly id: string;
5
5
  readonly name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"programs.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/programs.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAe9E,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;IAGlC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC5B;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;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAUD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,aAAa,OAAO,CAAC;AAsIlC,eAAO,MAAM,YAAY,QAAS,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,gBAAgB,CAAC,KAAG,MAiB1F,CAAC;AAgFF,eAAO,MAAM,QAAQ,YAAmB,YAAY,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CA2D9G,CAAC;AAuEF,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;AA4CP,eAAO,MAAM,SAAS,OAAc,MAAM,GAAG,SAAS,UAAU,YAAY,cAAc,MAAM,UAAU,MAAM,OAAO,KAAG,OAAO,CAAC,MAAM,CA2CvI,CAAC;AAEF,eAAO,MAAM,OAAO,OAAc,MAAM,SAAS,MAAM,QAAQ,MAAM,GAAG,SAAS,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAqB3I,CAAC;AAqBF,eAAO,MAAM,OAAO,OAAc,MAAM,SAAS,OAAO,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAmClH,CAAC"}
1
+ {"version":3,"file":"programs.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/programs.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAepF,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;IAGlC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC5B;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;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAUD,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,aAAa,OAAO,CAAC;AAkIlC,eAAO,MAAM,YAAY,QAAS,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,gBAAgB,CAAC,KAAG,MAiB1F,CAAC;AAgFF,eAAO,MAAM,QAAQ,YAAmB,YAAY,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CA6D9G,CAAC;AAuEF,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;AA4CP,eAAO,MAAM,SAAS,OAAc,MAAM,GAAG,SAAS,UAAU,YAAY,cAAc,MAAM,UAAU,MAAM,OAAO,KAAG,OAAO,CAAC,MAAM,CA2CvI,CAAC;AAEF,eAAO,MAAM,OAAO,OAAc,MAAM,SAAS,MAAM,QAAQ,MAAM,GAAG,SAAS,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAqB3I,CAAC;AAqBF,eAAO,MAAM,OAAO,OAAc,MAAM,SAAS,OAAO,UAAU,YAAY,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAmClH,CAAC"}
@@ -3,12 +3,13 @@ import { randomBytes } from "node:crypto";
3
3
  import { mkdir, open, readdir, readFile, stat, writeFile } from "node:fs/promises";
4
4
  import { basename, dirname, extname, isAbsolute, join, relative, resolve } from "node:path";
5
5
  import { pollFor, within } from "@intentic/base/async";
6
- import { writeFileAtomic } from "@intentic/base/fs";
6
+ import { readTextIfExists, writeFileAtomic } from "@intentic/base/fs";
7
7
  import { errorMessage, undefinedIfMissing } from "@intentic/base/errors";
8
8
  import { execBounded } from "@intentic/base/process";
9
- import { commandLineOf } from "@intentic/sandbox-contract";
9
+ import { parseJsonOr } from "@intentic/base/json";
10
+ import { commandLineOf } from "@intentic/sandbox-contract/policy/device-programs";
10
11
  import { assertPath, assertScope, ScopeError } from "../../policy.js";
11
- import { assertNoSandboxPower, destructiveClasses, destructiveRefusal } from "../shell.js";
12
+ import { assertNoSandboxPower, destructiveClasses, destructiveRefusal, markedAsAgentCommand } from "../shell.js";
12
13
  import { inRuns, listArtifacts, sandboxRunsDir } from "./artifacts.js";
13
14
  import { isolatedExit, startScript, stopWindowsSandbox, windowsSandboxExe, windowsSandboxMissing, windowsSandboxRunning, wsbConfig } from "./isolated.js";
14
15
  const KEEP_RUNS = 30;
@@ -22,13 +23,8 @@ const logsDir = (sandboxUrl) => join(sandboxRunsDir(sandboxUrl), ".logs");
22
23
  const children = new Map();
23
24
  let writing = Promise.resolve();
24
25
  const readRuns = async (sandboxUrl) => {
25
- try {
26
- const parsed = JSON.parse(await readFile(registryPath(sandboxUrl), "utf8"));
27
- return Array.isArray(parsed) ? parsed : [];
28
- }
29
- catch {
30
- return [];
31
- }
26
+ const parsed = parseJsonOr((await readTextIfExists(registryPath(sandboxUrl))) ?? "", undefined);
27
+ return Array.isArray(parsed) ? parsed : [];
32
28
  };
33
29
  const updateRuns = async (sandboxUrl, change) => {
34
30
  const turn = writing.then(async () => {
@@ -216,7 +212,7 @@ export const startApp = async (request, scopes, sandboxUrl) => {
216
212
  try {
217
213
  child = spawn(program, [...(request.args ?? [])], {
218
214
  cwd,
219
- env: { ...process.env, ...request.env },
215
+ env: markedAsAgentCommand({ ...process.env, ...request.env }),
220
216
  detached: true,
221
217
  windowsHide: false,
222
218
  stdio: ["ignore", logHandle.fd, logHandle.fd],