@intentic/machine 1.343.0 → 1.345.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 (214) hide show
  1. package/README.md +134 -29
  2. package/dist/autostart/autostart.d.ts +0 -1
  3. package/dist/autostart/autostart.d.ts.map +1 -1
  4. package/dist/autostart/autostart.js +3 -9
  5. package/dist/autostart/autostart.js.map +1 -1
  6. package/dist/commands.d.ts.map +1 -1
  7. package/dist/commands.js +4 -21
  8. package/dist/commands.js.map +1 -1
  9. package/dist/device/commands.d.ts +2 -1
  10. package/dist/device/commands.d.ts.map +1 -1
  11. package/dist/device/commands.js +4 -2
  12. package/dist/device/commands.js.map +1 -1
  13. package/dist/device/connection.d.ts.map +1 -1
  14. package/dist/device/connection.js +27 -9
  15. package/dist/device/connection.js.map +1 -1
  16. package/dist/device/grant.d.ts +259 -0
  17. package/dist/device/grant.d.ts.map +1 -1
  18. package/dist/device/mcp.d.ts.map +1 -1
  19. package/dist/device/mcp.js +25 -8
  20. package/dist/device/mcp.js.map +1 -1
  21. package/dist/device/router.d.ts +484 -225
  22. package/dist/device/router.d.ts.map +1 -1
  23. package/dist/device/router.js +18 -10
  24. package/dist/device/router.js.map +1 -1
  25. package/dist/device/sandbox-rounds/keeper.d.ts +4 -1
  26. package/dist/device/sandbox-rounds/keeper.d.ts.map +1 -1
  27. package/dist/device/sandbox-rounds/keeper.js +12 -6
  28. package/dist/device/sandbox-rounds/keeper.js.map +1 -1
  29. package/dist/device/sandbox-rounds/sleep.d.ts +15 -2
  30. package/dist/device/sandbox-rounds/sleep.d.ts.map +1 -1
  31. package/dist/device/sandbox-rounds/sleep.js +68 -13
  32. package/dist/device/sandbox-rounds/sleep.js.map +1 -1
  33. package/dist/device/tools/agent.d.ts +15 -0
  34. package/dist/device/tools/agent.d.ts.map +1 -1
  35. package/dist/device/tools/agent.js +75 -19
  36. package/dist/device/tools/agent.js.map +1 -1
  37. package/dist/device/tools/android.d.ts +1 -1
  38. package/dist/device/tools/android.d.ts.map +1 -1
  39. package/dist/device/tools/android.js +17 -8
  40. package/dist/device/tools/android.js.map +1 -1
  41. package/dist/device/tools/browser.d.ts.map +1 -1
  42. package/dist/device/tools/browser.js +3 -5
  43. package/dist/device/tools/browser.js.map +1 -1
  44. package/dist/device/tools/ic-binary.d.ts +1 -1
  45. package/dist/device/tools/ic-binary.d.ts.map +1 -1
  46. package/dist/device/tools/ic-binary.js +6 -4
  47. package/dist/device/tools/ic-binary.js.map +1 -1
  48. package/dist/device/tools/programs/app-wait-tools.d.ts +12 -0
  49. package/dist/device/tools/programs/app-wait-tools.d.ts.map +1 -0
  50. package/dist/device/tools/programs/app-wait-tools.js +60 -0
  51. package/dist/device/tools/programs/app-wait-tools.js.map +1 -0
  52. package/dist/device/tools/programs/app-wait.d.ts +19 -0
  53. package/dist/device/tools/programs/app-wait.d.ts.map +1 -0
  54. package/dist/device/tools/programs/app-wait.js +89 -0
  55. package/dist/device/tools/programs/app-wait.js.map +1 -0
  56. package/dist/device/tools/programs/file-changes.d.ts +2 -0
  57. package/dist/device/tools/programs/file-changes.d.ts.map +1 -0
  58. package/dist/device/tools/programs/file-changes.js +19 -0
  59. package/dist/device/tools/programs/file-changes.js.map +1 -0
  60. package/dist/device/tools/programs/programs.d.ts +12 -0
  61. package/dist/device/tools/programs/programs.d.ts.map +1 -1
  62. package/dist/device/tools/programs/programs.js +13 -12
  63. package/dist/device/tools/programs/programs.js.map +1 -1
  64. package/dist/device/tools/programs/stop-all.d.ts +10 -0
  65. package/dist/device/tools/programs/stop-all.d.ts.map +1 -0
  66. package/dist/device/tools/programs/stop-all.js +52 -0
  67. package/dist/device/tools/programs/stop-all.js.map +1 -0
  68. package/dist/device/tools/sandboxes.d.ts +1 -0
  69. package/dist/device/tools/sandboxes.d.ts.map +1 -1
  70. package/dist/device/tools/sandboxes.js +4 -1
  71. package/dist/device/tools/sandboxes.js.map +1 -1
  72. package/dist/device/tools/shell.d.ts +1 -1
  73. package/dist/device/tools/shell.d.ts.map +1 -1
  74. package/dist/install.d.ts +6 -0
  75. package/dist/install.d.ts.map +1 -1
  76. package/dist/install.js +7 -2
  77. package/dist/install.js.map +1 -1
  78. package/dist/keyring/app-commands.d.ts +15 -0
  79. package/dist/keyring/app-commands.d.ts.map +1 -0
  80. package/dist/keyring/app-commands.js +247 -0
  81. package/dist/keyring/app-commands.js.map +1 -0
  82. package/dist/keyring/commands.d.ts +1 -1
  83. package/dist/keyring/commands.d.ts.map +1 -1
  84. package/dist/keyring/commands.js +26 -32
  85. package/dist/keyring/commands.js.map +1 -1
  86. package/dist/keyring/git-helper.d.ts +8 -0
  87. package/dist/keyring/git-helper.d.ts.map +1 -0
  88. package/dist/keyring/git-helper.js +60 -0
  89. package/dist/keyring/git-helper.js.map +1 -0
  90. package/dist/keyring/keyring-status.d.ts +8 -1
  91. package/dist/keyring/keyring-status.d.ts.map +1 -1
  92. package/dist/keyring/keyring-status.js +39 -4
  93. package/dist/keyring/keyring-status.js.map +1 -1
  94. package/dist/keyring/native-host-install.d.ts +28 -0
  95. package/dist/keyring/native-host-install.d.ts.map +1 -0
  96. package/dist/keyring/native-host-install.js +99 -0
  97. package/dist/keyring/native-host-install.js.map +1 -0
  98. package/dist/keyring/relay.d.ts +5 -1
  99. package/dist/keyring/relay.d.ts.map +1 -1
  100. package/dist/keyring/relay.js +16 -0
  101. package/dist/keyring/relay.js.map +1 -1
  102. package/dist/keyring/sandbox-push.d.ts +4 -0
  103. package/dist/keyring/sandbox-push.d.ts.map +1 -0
  104. package/dist/keyring/sandbox-push.js +21 -0
  105. package/dist/keyring/sandbox-push.js.map +1 -0
  106. package/dist/keyring/service.d.ts +11 -5
  107. package/dist/keyring/service.d.ts.map +1 -1
  108. package/dist/keyring/service.js +34 -51
  109. package/dist/keyring/service.js.map +1 -1
  110. package/dist/resident/resident.d.ts +1 -0
  111. package/dist/resident/resident.d.ts.map +1 -1
  112. package/dist/resident/resident.js +9 -0
  113. package/dist/resident/resident.js.map +1 -1
  114. package/dist/status.d.ts.map +1 -1
  115. package/dist/status.js +22 -1
  116. package/dist/status.js.map +1 -1
  117. package/dist/sync/attach-commands.d.ts.map +1 -1
  118. package/dist/sync/attach-commands.js +2 -1
  119. package/dist/sync/attach-commands.js.map +1 -1
  120. package/dist/sync/binary/mutagen-binary.d.ts +4 -0
  121. package/dist/sync/binary/mutagen-binary.d.ts.map +1 -0
  122. package/dist/sync/binary/mutagen-binary.js +65 -0
  123. package/dist/sync/binary/mutagen-binary.js.map +1 -0
  124. package/dist/sync/commands.d.ts +2 -1
  125. package/dist/sync/commands.d.ts.map +1 -1
  126. package/dist/sync/commands.js +29 -64
  127. package/dist/sync/commands.js.map +1 -1
  128. package/dist/sync/config.d.ts +19 -1
  129. package/dist/sync/config.d.ts.map +1 -1
  130. package/dist/sync/config.js +19 -4
  131. package/dist/sync/config.js.map +1 -1
  132. package/dist/sync/exec.d.ts +17 -0
  133. package/dist/sync/exec.d.ts.map +1 -1
  134. package/dist/sync/exec.js +56 -2
  135. package/dist/sync/exec.js.map +1 -1
  136. package/dist/sync/forget-command.js +1 -1
  137. package/dist/sync/forget-command.js.map +1 -1
  138. package/dist/sync/git-bridge.d.ts +35 -3
  139. package/dist/sync/git-bridge.d.ts.map +1 -1
  140. package/dist/sync/git-bridge.js +201 -16
  141. package/dist/sync/git-bridge.js.map +1 -1
  142. package/dist/sync/gone-watch.d.ts +1 -0
  143. package/dist/sync/gone-watch.d.ts.map +1 -1
  144. package/dist/sync/gone-watch.js +20 -7
  145. package/dist/sync/gone-watch.js.map +1 -1
  146. package/dist/sync/low-disk.d.ts +25 -0
  147. package/dist/sync/low-disk.d.ts.map +1 -0
  148. package/dist/sync/low-disk.js +91 -0
  149. package/dist/sync/low-disk.js.map +1 -0
  150. package/dist/sync/mirror.d.ts +2 -0
  151. package/dist/sync/mirror.d.ts.map +1 -1
  152. package/dist/sync/mirror.js +76 -27
  153. package/dist/sync/mirror.js.map +1 -1
  154. package/dist/sync/mutagen-env.d.ts +9 -0
  155. package/dist/sync/mutagen-env.d.ts.map +1 -0
  156. package/dist/sync/mutagen-env.js +25 -0
  157. package/dist/sync/mutagen-env.js.map +1 -0
  158. package/dist/sync/mutagen-move.d.ts +53 -0
  159. package/dist/sync/mutagen-move.d.ts.map +1 -0
  160. package/dist/sync/mutagen-move.js +207 -0
  161. package/dist/sync/mutagen-move.js.map +1 -0
  162. package/dist/sync/mutagen.d.ts +13 -10
  163. package/dist/sync/mutagen.d.ts.map +1 -1
  164. package/dist/sync/mutagen.js +60 -113
  165. package/dist/sync/mutagen.js.map +1 -1
  166. package/dist/sync/project/project-commands.d.ts.map +1 -1
  167. package/dist/sync/project/project-commands.js +2 -1
  168. package/dist/sync/project/project-commands.js.map +1 -1
  169. package/dist/sync/project/project-delivery.d.ts.map +1 -1
  170. package/dist/sync/project/project-delivery.js +2 -1
  171. package/dist/sync/project/project-delivery.js.map +1 -1
  172. package/dist/sync/project/project-remote.d.ts.map +1 -1
  173. package/dist/sync/project/project-remote.js +2 -1
  174. package/dist/sync/project/project-remote.js.map +1 -1
  175. package/dist/sync/report.d.ts.map +1 -1
  176. package/dist/sync/report.js +15 -4
  177. package/dist/sync/report.js.map +1 -1
  178. package/dist/sync/uninstall.d.ts +9 -0
  179. package/dist/sync/uninstall.d.ts.map +1 -0
  180. package/dist/sync/uninstall.js +76 -0
  181. package/dist/sync/uninstall.js.map +1 -0
  182. package/dist/uninstall/command.d.ts +3 -0
  183. package/dist/uninstall/command.d.ts.map +1 -0
  184. package/dist/uninstall/command.js +40 -0
  185. package/dist/uninstall/command.js.map +1 -0
  186. package/dist/uninstall/distros.d.ts +8 -0
  187. package/dist/uninstall/distros.d.ts.map +1 -0
  188. package/dist/uninstall/distros.js +103 -0
  189. package/dist/uninstall/distros.js.map +1 -0
  190. package/dist/uninstall/plan.d.ts +23 -0
  191. package/dist/uninstall/plan.d.ts.map +1 -0
  192. package/dist/uninstall/plan.js +71 -0
  193. package/dist/uninstall/plan.js.map +1 -0
  194. package/dist/uninstall/purge.d.ts +3 -0
  195. package/dist/uninstall/purge.d.ts.map +1 -0
  196. package/dist/uninstall/purge.js +79 -0
  197. package/dist/uninstall/purge.js.map +1 -0
  198. package/dist/uninstall/steps.d.ts +12 -0
  199. package/dist/uninstall/steps.d.ts.map +1 -0
  200. package/dist/uninstall/steps.js +200 -0
  201. package/dist/uninstall/steps.js.map +1 -0
  202. package/dist/uninstall/sweep.d.ts +12 -0
  203. package/dist/uninstall/sweep.d.ts.map +1 -0
  204. package/dist/uninstall/sweep.js +90 -0
  205. package/dist/uninstall/sweep.js.map +1 -0
  206. package/dist/uninstall/tally.d.ts +14 -0
  207. package/dist/uninstall/tally.d.ts.map +1 -0
  208. package/dist/uninstall/tally.js +25 -0
  209. package/dist/uninstall/tally.js.map +1 -0
  210. package/dist/upkeep/login.d.ts +0 -9
  211. package/dist/upkeep/login.d.ts.map +1 -1
  212. package/dist/upkeep/login.js +12 -59
  213. package/dist/upkeep/login.js.map +1 -1
  214. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ic-binary.js","sourceRoot":"","sources":["../../../src/device/tools/ic-binary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ic-binary.js","sourceRoot":"","sources":["../../../src/device/tools/ic-binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACH,4BAA4B,EAC5B,0BAA0B,EAC1B,wBAAwB,EACxB,iCAAiC,EACjC,oBAAoB,GAEvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAWrD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAyB,EAAE,IAAwB,EAAY,EAAE;IAC1F,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;AACvG,CAAC,CAAC;AAGF,MAAM,UAAU,GAAG,GAAuB,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAG1F,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,MAAM,OAAO,EAAE,IAAI,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AAG/F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAsB,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAIxH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAA6B,EAAE,KAAa,EAAW,EAAE,CAClF,KAAK,KAAK,WAAW,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAWpF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAsC,EAAE;IACpE,KAAK,MAAM,SAAS,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAGhE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAGvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAyD,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC9I,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9C,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,IAAiC,EAAE,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,EAAE,OAAO,CAAC;AAIjG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAsB,EAAY,EAAE,CAC5D,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;KACd,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;KAC1G,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;KAC3I,QAAQ,EAAE,CAAC;AAKpB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAA6B,EAAE,KAAa,EAAE,MAAc,EAAU,EAAE,CAChG,sBAAsB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,uBAAuB,SAAS,EAAE,mBAAmB,KAAK,qBAAqB,KAAK,YAAY,MAAM,4HAA4H,CAAC;AAa7S,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAc,EAAE,SAA6B,EAAE,KAAa,EAAE,EAAa,EAA+B,EAAE;IACtI,MAAM,IAAI,GAAG,GAAG,MAAM,WAAW,CAAC;IAClC,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,SAAS,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEb,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,WAAW,GAAG,KAAK,IAAqB,EAAE;IAC5C,KAAK,MAAM,SAAS,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAGhE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACvD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAgC,EAAE,KAA6B,EAAyB,EAAE;IACrH,IAAI,IAA+D,CAAC;IACpE,OAAO,KAAK,IAAI,EAAE;QACd,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,IAAI,CAAC;YAChB,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,GAAG,KAAK,CAAC;QACb,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACjB,IAAI,GAAG,SAAS,CAAC;YACrB,CAAC;YACD,OAAO;QACX,CAAC;QAED,KAAK,CAAC,SAAS,GAAG,MAAM,SAAS,EAAE,CAAC;IACxC,CAAC,CAAC;AACN,CAAC,CAAC;AAGF,IAAI,SAA6B,CAAC;AAGlC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAuB,EAAE,CAAC,SAAS,CAAC;AAI/D,MAAM,IAAI,GAAG,CAAC,IAAY,EAAQ,EAAE;IAEhC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAe,EAAE,IAAY,EAAE,IAAY,EAAiB,EAAE;IAClF,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;AAIF,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IACzD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC3C,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;QACpE,SAAS,GAAG,SAAS,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACnH,OAAO,SAAS,KAAK,SAAS,CAAC;AACnC,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAkB,EAAE,CAAC,aAAa,EAAE,CAAC;AAOpE,MAAM,MAAM,GAAG,KAAK,EAAE,IAAuB,EAA+B,EAAE;IAC1E,KAAK,MAAM,SAAS,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CACxF,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,EACtB,CAAC,KAA4B,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/E,CAAC;QACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAGF,MAAM,SAAS,GAAG,CAAC,IAAwB,EAAE,IAAY,EAAW,EAAE,CAClE,IAAI,KAAK,SAAS,IAAI,IAAI,MAAM,CAAC,kBAAkB,IAAI,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAWzF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAA6B,EAAE,YAAqB,EAAE,WAAoB,EAAE,SAAkB,EAAmB,EAAE,CAAC;IAC7I,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;CACpE,CAAC;AAIF,IAAI,QAA8C,CAAC;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAA8B,EAAE;IAC/D,QAAQ,KAAK,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,eAAe,EAAE,CAAC;QACxB,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxE,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5B,MAAM,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/B,MAAM,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC/B,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;IAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,QAAQ,GAAG,SAAS,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Desktop } from "@intentic/desktop-automation";
2
+ import type { DeviceScopes } from "@intentic/sandbox-contract/schemas/capabilities";
3
+ export declare const DEFAULT_APP_WAIT_MS = 60000;
4
+ export declare const MAX_APP_WAIT_MS: number;
5
+ export interface AppWaitOptions {
6
+ readonly waitFor?: string | undefined;
7
+ readonly untilExit?: boolean | undefined;
8
+ readonly timeoutMs?: number | undefined;
9
+ }
10
+ export declare const appStatusAfterWait: (id: string | undefined, scopes: DeviceScopes, sandboxUrl: string, screen: () => Desktop, wait?: AppWaitOptions) => Promise<string>;
11
+ export declare const appLogsAfterWait: (id: string, lines: number, grep: string | undefined, scopes: DeviceScopes, sandboxUrl: string, wait?: AppWaitOptions) => Promise<string>;
12
+ //# sourceMappingURL=app-wait-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-wait-tools.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/app-wait-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAQpF,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,eAAe,QAAc,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAqDD,eAAO,MAAM,kBAAkB,OAAc,MAAM,GAAG,SAAS,UAAU,YAAY,cAAc,MAAM,UAAU,MAAM,OAAO,SAAS,cAAc,KAAG,OAAO,CAAC,MAAM,CAKvK,CAAC;AAEF,eAAO,MAAM,gBAAgB,OAAc,MAAM,SAAS,MAAM,QAAQ,MAAM,GAAG,SAAS,UAAU,YAAY,cAAc,MAAM,SAAS,cAAc,KAAG,OAAO,CAAC,MAAM,CAK3K,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { errorMessage } from "@intentic/base/errors";
2
+ import { LOG_FALLBACK_MS, waitForEnd, waitForLogMatch } from "./app-wait.js";
3
+ import { appLogs, appStatus, assertEither, findRun, MAX_LOG_LINES, readRuns, refreshIsolated, runOutput, runState, waitGone } from "./programs.js";
4
+ export const DEFAULT_APP_WAIT_MS = 60_000;
5
+ export const MAX_APP_WAIT_MS = 10 * 60_000;
6
+ const parseWaitPattern = (waitFor) => {
7
+ try {
8
+ return new RegExp(waitFor, "i");
9
+ }
10
+ catch (error) {
11
+ throw new Error(`waitFor is not a usable pattern: ${errorMessage(error)}`, { cause: error });
12
+ }
13
+ };
14
+ const runEnded = async (run, timeoutMs, sandboxUrl, signal) => {
15
+ if (run.isolated !== true) {
16
+ return await waitGone(run, timeoutMs, signal);
17
+ }
18
+ const isEnded = async () => {
19
+ await refreshIsolated(sandboxUrl);
20
+ return (await runState((await readRuns(sandboxUrl)).find((entry) => entry.id === run.id) ?? run)) === "ended";
21
+ };
22
+ return await waitForEnd({ timeoutMs, isEnded, fallbackMs: LOG_FALLBACK_MS, signal });
23
+ };
24
+ const applyAppWait = async (run, options, sandboxUrl) => {
25
+ if (options === undefined || (options.waitFor === undefined && options.untilExit !== true)) {
26
+ return undefined;
27
+ }
28
+ const timeoutMs = Math.min(Math.max(1, options.timeoutMs ?? DEFAULT_APP_WAIT_MS), MAX_APP_WAIT_MS);
29
+ const seconds = Math.round(timeoutMs / 1000);
30
+ const done = new AbortController();
31
+ try {
32
+ if (options.untilExit === true) {
33
+ return (await runEnded(run, timeoutMs, sandboxUrl, done.signal)) ? undefined : `(untilExit: still running after ${seconds}s.)`;
34
+ }
35
+ const waitFor = options.waitFor ?? "";
36
+ const pattern = parseWaitPattern(waitFor);
37
+ const ended = runEnded(run, timeoutMs, sandboxUrl, done.signal).then(async (gone) => (gone ? undefined : await new Promise(() => undefined)));
38
+ const outcome = await waitForLogMatch({ path: run.log, pattern, timeoutMs, read: async () => (await runOutput(run, MAX_LOG_LINES)).text, ended });
39
+ if (outcome === "matched") {
40
+ return undefined;
41
+ }
42
+ return outcome === "ended" ? `(waitFor: the program ended without printing a line matching /${waitFor}/i.)` : `(waitFor: no line matched /${waitFor}/i within ${seconds}s.)`;
43
+ }
44
+ finally {
45
+ done.abort();
46
+ }
47
+ };
48
+ export const appStatusAfterWait = async (id, scopes, sandboxUrl, screen, wait) => {
49
+ assertEither(scopes);
50
+ const note = id === undefined ? undefined : await applyAppWait(await findRun(id, sandboxUrl), wait, sandboxUrl);
51
+ const answer = await appStatus(id, scopes, sandboxUrl, screen);
52
+ return note === undefined ? answer : `${note}\n${answer}`;
53
+ };
54
+ export const appLogsAfterWait = async (id, lines, grep, scopes, sandboxUrl, wait) => {
55
+ assertEither(scopes);
56
+ const note = await applyAppWait(await findRun(id, sandboxUrl), wait, sandboxUrl);
57
+ const answer = await appLogs(id, lines, grep, scopes, sandboxUrl);
58
+ return note === undefined ? answer : `${note}\n${answer}`;
59
+ };
60
+ //# sourceMappingURL=app-wait-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-wait-tools.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/app-wait-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const LOG_FALLBACK_MS = 2000;
2
+ export type LogWaitOutcome = "matched" | "ended" | "timeout";
3
+ export interface LogWait {
4
+ readonly path: string;
5
+ readonly pattern: RegExp;
6
+ readonly timeoutMs: number;
7
+ readonly read: () => Promise<string>;
8
+ readonly ended?: Promise<unknown> | undefined;
9
+ }
10
+ export declare const waitForLogMatch: ({ path, pattern, timeoutMs, read, ended }: LogWait) => Promise<LogWaitOutcome>;
11
+ export interface EndWait {
12
+ readonly timeoutMs: number;
13
+ readonly exit?: Promise<unknown> | undefined;
14
+ readonly isEnded: () => Promise<boolean>;
15
+ readonly fallbackMs?: number | undefined;
16
+ readonly signal?: AbortSignal | undefined;
17
+ }
18
+ export declare const waitForEnd: ({ timeoutMs, exit, isEnded, fallbackMs, signal }: EndWait) => Promise<boolean>;
19
+ //# sourceMappingURL=app-wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-wait.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/app-wait.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,OAAQ,CAAC;AAKrC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,OAAO;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CACjD;AAID,eAAO,MAAM,eAAe,8CAAqD,OAAO,KAAG,OAAO,CAAC,cAAc,CA2D3G,CAAC;AAEP,MAAM,WAAW,OAAO;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAE7C,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CAC7C;AAID,eAAO,MAAM,UAAU,qDAA8E,OAAO,KAAG,OAAO,CAAC,OAAO,CA4B7H,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { onFileChange } from "./file-changes.js";
2
+ export const LOG_FALLBACK_MS = 2_000;
3
+ const END_FALLBACK_MS = 500;
4
+ export const waitForLogMatch = async ({ path, pattern, timeoutMs, read, ended }) => await new Promise((resolve) => {
5
+ let done = false;
6
+ let reading = false;
7
+ let again = false;
8
+ const stops = [];
9
+ const finish = (outcome) => {
10
+ if (done) {
11
+ return;
12
+ }
13
+ done = true;
14
+ for (const stop of stops) {
15
+ stop();
16
+ }
17
+ resolve(outcome);
18
+ };
19
+ const check = async () => {
20
+ if (done) {
21
+ return false;
22
+ }
23
+ if (reading) {
24
+ again = true;
25
+ return false;
26
+ }
27
+ reading = true;
28
+ try {
29
+ do {
30
+ again = false;
31
+ if (pattern.test(await read().catch(() => ""))) {
32
+ finish("matched");
33
+ return true;
34
+ }
35
+ } while (again);
36
+ return false;
37
+ }
38
+ finally {
39
+ reading = false;
40
+ }
41
+ };
42
+ const cap = setTimeout(() => finish("timeout"), timeoutMs);
43
+ const fallback = setInterval(() => void check(), LOG_FALLBACK_MS);
44
+ stops.push(() => clearTimeout(cap), () => clearInterval(fallback));
45
+ const unwatch = onFileChange(path, () => void check());
46
+ if (unwatch !== undefined) {
47
+ stops.push(unwatch);
48
+ }
49
+ void check();
50
+ const lastRead = async () => {
51
+ let text = "";
52
+ try {
53
+ text = await read();
54
+ }
55
+ catch {
56
+ }
57
+ finish(pattern.test(text) ? "matched" : "ended");
58
+ };
59
+ void ended?.then(lastRead);
60
+ });
61
+ export const waitForEnd = async ({ timeoutMs, exit, isEnded, fallbackMs = END_FALLBACK_MS, signal }) => {
62
+ if (await isEnded()) {
63
+ return true;
64
+ }
65
+ await new Promise((resolve) => {
66
+ let done = false;
67
+ const finish = () => {
68
+ if (done) {
69
+ return;
70
+ }
71
+ done = true;
72
+ clearTimeout(cap);
73
+ clearInterval(look);
74
+ signal?.removeEventListener("abort", finish);
75
+ resolve();
76
+ };
77
+ const cap = setTimeout(finish, timeoutMs);
78
+ const look = exit === undefined
79
+ ? setInterval(() => void isEnded().then((gone) => gone && finish(), () => undefined), fallbackMs)
80
+ : undefined;
81
+ void exit?.then(finish, finish);
82
+ if (signal?.aborted === true) {
83
+ finish();
84
+ }
85
+ signal?.addEventListener("abort", finish);
86
+ });
87
+ return await isEnded();
88
+ };
89
+ //# sourceMappingURL=app-wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-wait.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/app-wait.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const onFileChange: (path: string, onChange: () => void) => (() => void) | undefined;
2
+ //# sourceMappingURL=file-changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-changes.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/file-changes.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,SAAU,MAAM,YAAY,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAiBhF,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { watch } from "node:fs";
2
+ import { basename, dirname } from "node:path";
3
+ export const onFileChange = (path, onChange) => {
4
+ const name = basename(path);
5
+ let watcher;
6
+ try {
7
+ watcher = watch(dirname(path), { persistent: false }, (_event, changed) => {
8
+ if (changed === null || changed === name) {
9
+ onChange();
10
+ }
11
+ });
12
+ }
13
+ catch {
14
+ return undefined;
15
+ }
16
+ watcher.on("error", () => watcher.close());
17
+ return () => watcher.close();
18
+ };
19
+ //# sourceMappingURL=file-changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-changes.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/file-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAO9C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,QAAoB,EAA4B,EAAE;IACzF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,OAAkB,CAAC;IACvB,IAAI,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;YAEtE,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACvC,QAAQ,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QAEL,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACjC,CAAC,CAAC"}
@@ -26,11 +26,23 @@ export interface StartRequest {
26
26
  }
27
27
  export declare const DEFAULT_LOG_LINES = 200;
28
28
  export declare const MAX_LOG_LINES = 2000;
29
+ export declare const readRuns: (sandboxUrl: string) => Promise<AppRun[]>;
30
+ export type RunState = "running" | "ended" | "unknown";
31
+ export declare const runState: (run: AppRun) => Promise<RunState>;
29
32
  export declare const describeExit: (run: Pick<AppRun, "exitCode" | "signal" | "stoppedByAgent">) => string;
30
33
  export declare const startApp: (request: StartRequest, scopes: DeviceScopes, sandboxUrl: string) => Promise<string>;
34
+ export declare const refreshIsolated: (sandboxUrl: string) => Promise<void>;
35
+ export declare const runOutput: (run: AppRun, lines: number) => Promise<{
36
+ text: string;
37
+ total: number;
38
+ }>;
31
39
  export declare const descendantsOf: (rows: readonly (readonly [number, number])[], root: number) => Set<number>;
32
40
  export declare const parseRows: (text: string) => [number, number][];
41
+ export declare const findRun: (id: string, sandboxUrl: string) => Promise<AppRun>;
42
+ export declare const assertEither: (scopes: DeviceScopes) => void;
33
43
  export declare const appStatus: (id: string | undefined, scopes: DeviceScopes, sandboxUrl: string, screen: () => Desktop) => Promise<string>;
34
44
  export declare const appLogs: (id: string, lines: number, grep: string | undefined, scopes: DeviceScopes, sandboxUrl: string) => Promise<string>;
45
+ export declare const waitGone: (run: AppRun, ms: number, signal?: AbortSignal) => Promise<boolean>;
46
+ export declare const signalTree: (pid: number, force: boolean) => Promise<void>;
35
47
  export declare const appStop: (id: string, force: boolean, scopes: DeviceScopes, sandboxUrl: string) => Promise<string>;
36
48
  //# sourceMappingURL=programs.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"programs.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/programs.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
2
2
  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
- import { pollFor, within } from "@intentic/base/async";
5
+ import { within } from "@intentic/base/async";
6
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";
@@ -10,6 +10,7 @@ import { parseJsonOr } from "@intentic/base/json";
10
10
  import { commandLineOf } from "@intentic/sandbox-contract/policy/device-programs";
11
11
  import { assertPath, assertScope, ScopeError } from "../../policy.js";
12
12
  import { assertNoSandboxPower, destructiveClasses, destructiveRefusal, markedAsAgentCommand } from "../shell.js";
13
+ import { waitForEnd } from "./app-wait.js";
13
14
  import { inRuns, listArtifacts, sandboxRunsDir } from "./artifacts.js";
14
15
  import { isolatedExit, startScript, stopWindowsSandbox, windowsSandboxExe, windowsSandboxMissing, windowsSandboxRunning, wsbConfig } from "./isolated.js";
15
16
  const KEEP_RUNS = 30;
@@ -21,8 +22,10 @@ export const MAX_LOG_LINES = 2000;
21
22
  const registryPath = (sandboxUrl) => join(sandboxRunsDir(sandboxUrl), "apps.json");
22
23
  const logsDir = (sandboxUrl) => join(sandboxRunsDir(sandboxUrl), ".logs");
23
24
  const children = new Map();
25
+ const endings = new Map();
26
+ const holdEnding = (id, exited) => void endings.set(id, exited.finally(() => endings.delete(id)).catch(() => undefined));
24
27
  let writing = Promise.resolve();
25
- const readRuns = async (sandboxUrl) => {
28
+ export const readRuns = async (sandboxUrl) => {
26
29
  const parsed = parseJsonOr((await readTextIfExists(registryPath(sandboxUrl))) ?? "", undefined);
27
30
  return Array.isArray(parsed) ? parsed : [];
28
31
  };
@@ -70,7 +73,7 @@ const processStartedAt = async (pid) => {
70
73
  return undefined;
71
74
  }
72
75
  };
73
- const runState = async (run) => {
76
+ export const runState = async (run) => {
74
77
  if (run.endedAt !== undefined) {
75
78
  return "ended";
76
79
  }
@@ -238,6 +241,7 @@ export const startApp = async (request, scopes, sandboxUrl) => {
238
241
  children.delete(id);
239
242
  await ended(sandboxUrl, id, code, signal);
240
243
  });
244
+ holdEnding(id, exited);
241
245
  child.unref();
242
246
  const early = await within(exited.then(() => true), EARLY_EXIT_MS, false);
243
247
  if (early) {
@@ -287,7 +291,7 @@ const startIsolated = async (program, request, sandboxUrl) => {
287
291
  await updateRuns(sandboxUrl, (runs) => [...runs, run]);
288
292
  return `Started ${name} as ${id} inside Windows Sandbox: it boots in ten or twenty seconds, then runs the program from ${spec.appFolder} (read-only, at C:\\app)${spec.network ? "" : " with networking off"}. Its output goes to ${logFolder}. app_status ${id} shows the "Windows Sandbox" window to screenshot; the app's own controls are inside the VM, out of ui_elements' reach. app_stop closes the sandbox, and everything in it is discarded.`;
289
293
  };
290
- const refreshIsolated = async (sandboxUrl) => {
294
+ export const refreshIsolated = async (sandboxUrl) => {
291
295
  const running = (await readRuns(sandboxUrl)).filter((run) => run.isolated === true && run.endedAt === undefined);
292
296
  if (running.length === 0 || (await windowsSandboxRunning().catch(() => true))) {
293
297
  return;
@@ -296,7 +300,7 @@ const refreshIsolated = async (sandboxUrl) => {
296
300
  await updateRuns(sandboxUrl, (runs) => runs.map((run) => (ids.has(run.id) && run.endedAt === undefined ? { ...run, endedAt: new Date().toISOString() } : run)));
297
301
  };
298
302
  const insideExit = async (run) => run.isolated === true ? isolatedExit(await readFile(join(dirname(run.log), "exit-code"), "utf8").catch(undefinedIfMissing)) : undefined;
299
- const runOutput = async (run, lines) => {
303
+ export const runOutput = async (run, lines) => {
300
304
  const out = await tailLines(run.log, lines);
301
305
  if (run.isolated !== true) {
302
306
  return out;
@@ -337,7 +341,7 @@ const windowsOf = async (run, screen) => {
337
341
  const tree = descendantsOf(await processRows(), run.pid);
338
342
  return (await screen.windows()).filter((window) => window.pid !== undefined && tree.has(window.pid));
339
343
  };
340
- const findRun = async (id, sandboxUrl) => {
344
+ export const findRun = async (id, sandboxUrl) => {
341
345
  const runs = await readRuns(sandboxUrl);
342
346
  const run = runs.find((entry) => entry.id === id);
343
347
  if (run === undefined) {
@@ -346,7 +350,7 @@ const findRun = async (id, sandboxUrl) => {
346
350
  }
347
351
  return run;
348
352
  };
349
- const assertEither = (scopes) => {
353
+ export const assertEither = (scopes) => {
350
354
  if (scopes.programs !== "on" && scopes.shell !== "on") {
351
355
  assertScope(scopes, "programs");
352
356
  }
@@ -430,11 +434,8 @@ export const appLogs = async (id, lines, grep, scopes, sandboxUrl) => {
430
434
  const head = `${line}\n${run.log}, ${total} bytes${grep === undefined ? "" : `, lines matching /${grep}/i`}:`;
431
435
  return shown === "" ? `${head}\n(nothing${grep === undefined ? " printed yet" : " matches"}; a GUI program often prints nothing at all)` : `${head}\n${shown}`;
432
436
  };
433
- const waitGone = async (run, ms) => {
434
- const gone = await pollFor(async () => ((await runState(run)) === "ended" ? true : undefined), { intervalMs: 200, until: Date.now() + ms });
435
- return gone.kind === "found" || (await runState(run)) === "ended";
436
- };
437
- const signalTree = async (pid, force) => {
437
+ export const waitGone = async (run, ms, signal) => await waitForEnd({ timeoutMs: ms, exit: endings.get(run.id), isEnded: async () => (await runState(run)) === "ended", signal });
438
+ export const signalTree = async (pid, force) => {
438
439
  if (process.platform === "win32") {
439
440
  await execBounded("taskkill", ["/PID", String(pid), "/T", ...(force ? ["/F"] : [])], { timeoutMs: 30_000 }).catch(() => undefined);
440
441
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"programs.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/programs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"programs.js","sourceRoot":"","sources":["../../../../src/device/tools/programs/programs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type AppRun } from "./programs.js";
2
+ export interface AppsStopped {
3
+ readonly stopped: readonly string[];
4
+ readonly left: readonly {
5
+ readonly run: AppRun;
6
+ readonly why: string;
7
+ }[];
8
+ }
9
+ export declare const stopAllApps: (root?: string) => Promise<AppsStopped>;
10
+ //# sourceMappingURL=stop-all.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop-all.d.ts","sourceRoot":"","sources":["../../../../src/device/tools/programs/stop-all.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAkC,MAAM,eAAe,CAAC;AAU5E,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAEpC,QAAQ,CAAC,IAAI,EAAE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC5E;AA+BD,eAAO,MAAM,WAAW,UAAgB,MAAM,KAAgB,OAAO,CAAC,WAAW,CAmBhF,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { readdir } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { readTextIfExists } from "@intentic/base/fs";
4
+ import { undefinedIfMissing } from "@intentic/base/errors";
5
+ import { parseJsonOr } from "@intentic/base/json";
6
+ import { runsRoot } from "./artifacts.js";
7
+ import { stopWindowsSandbox } from "./isolated.js";
8
+ import { runState, signalTree, waitGone } from "./programs.js";
9
+ const STOP_GRACE_MS = 5000;
10
+ const recordsUnder = async (root) => {
11
+ const sandboxes = ((await readdir(root, { withFileTypes: true }).catch(undefinedIfMissing)) ?? []).filter((entry) => entry.isDirectory());
12
+ const runs = [];
13
+ for (const sandbox of sandboxes) {
14
+ const parsed = parseJsonOr((await readTextIfExists(join(root, sandbox.name, "apps.json"))) ?? "", undefined);
15
+ runs.push(...(Array.isArray(parsed) ? parsed : []).filter((run) => run.endedAt === undefined));
16
+ }
17
+ return runs;
18
+ };
19
+ const stopOne = async (run) => {
20
+ const state = await runState(run);
21
+ if (state === "ended") {
22
+ return "ended";
23
+ }
24
+ if (state === "unknown") {
25
+ return `whether pid ${run.pid} is still ${run.name} cannot be checked here, so it was not signalled`;
26
+ }
27
+ await signalTree(run.pid, false);
28
+ if (!(await waitGone(run, STOP_GRACE_MS))) {
29
+ await signalTree(run.pid, true);
30
+ }
31
+ return (await waitGone(run, STOP_GRACE_MS)) ? "stopped" : `pid ${run.pid} is still running after being forced to stop`;
32
+ };
33
+ export const stopAllApps = async (root = runsRoot()) => {
34
+ const runs = await recordsUnder(root);
35
+ const stopped = [];
36
+ const left = [];
37
+ if (runs.some((run) => run.isolated === true)) {
38
+ await stopWindowsSandbox();
39
+ stopped.push(...runs.filter((run) => run.isolated === true).map((run) => run.name));
40
+ }
41
+ for (const run of runs.filter((each) => each.isolated !== true)) {
42
+ const outcome = await stopOne(run).catch((error) => error.message);
43
+ if (outcome === "stopped") {
44
+ stopped.push(run.name);
45
+ }
46
+ else if (outcome !== "ended") {
47
+ left.push({ run, why: outcome });
48
+ }
49
+ }
50
+ return { stopped, left };
51
+ };
52
+ //# sourceMappingURL=stop-all.js.map