@agimon-ai/doompi-computer-use 0.0.1-alpha.2 → 0.0.1-alpha.20

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 (329) hide show
  1. package/README.md +11 -4
  2. package/dist/_virtual/_rolldown/runtime.cjs +23 -1
  3. package/dist/api-contracts.cjs +7 -0
  4. package/dist/api-contracts.d.cts +2 -0
  5. package/dist/api-contracts.d.mts +2 -0
  6. package/dist/api-contracts.mjs +2 -0
  7. package/dist/extensions/pi.cjs +51 -1
  8. package/dist/extensions/pi.cjs.map +1 -0
  9. package/dist/extensions/pi.d.cts +7 -2
  10. package/dist/extensions/pi.d.cts.map +1 -0
  11. package/dist/extensions/pi.d.mts +7 -2
  12. package/dist/extensions/pi.d.mts.map +1 -0
  13. package/dist/extensions/pi.mjs +46 -1
  14. package/dist/extensions/pi.mjs.map +1 -0
  15. package/dist/extensions/server.cjs +72 -0
  16. package/dist/extensions/server.cjs.map +1 -0
  17. package/dist/extensions/server.d.cts +5 -0
  18. package/dist/extensions/server.d.cts.map +1 -0
  19. package/dist/extensions/server.d.mts +5 -0
  20. package/dist/extensions/server.d.mts.map +1 -0
  21. package/dist/extensions/server.mjs +67 -0
  22. package/dist/extensions/server.mjs.map +1 -0
  23. package/dist/extensions/web.mjs +625 -0
  24. package/dist/extensions/web.mjs.map +1 -0
  25. package/dist/index.cjs +18 -1
  26. package/dist/index.d.cts +12 -10
  27. package/dist/index.d.mts +12 -10
  28. package/dist/index.mjs +8 -1
  29. package/dist/src/constants/computerUse.cjs +17 -0
  30. package/dist/src/constants/computerUse.cjs.map +1 -0
  31. package/dist/src/constants/computerUse.d.cts +5 -0
  32. package/dist/src/constants/computerUse.d.cts.map +1 -0
  33. package/dist/src/constants/computerUse.d.mts +5 -0
  34. package/dist/src/constants/computerUse.d.mts.map +1 -0
  35. package/dist/src/constants/computerUse.mjs +14 -0
  36. package/dist/src/constants/computerUse.mjs.map +1 -0
  37. package/dist/src/extensions/(backend)/channel/computer-use.server.cjs +7 -0
  38. package/dist/src/extensions/(backend)/channel/computer-use.server.cjs.map +1 -0
  39. package/dist/src/extensions/(backend)/channel/computer-use.server.mjs +8 -0
  40. package/dist/src/extensions/(backend)/channel/computer-use.server.mjs.map +1 -0
  41. package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.cli.cjs +8 -0
  42. package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.cli.cjs.map +1 -0
  43. package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.cli.mjs +8 -0
  44. package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.cli.mjs.map +1 -0
  45. package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.server.cjs +11 -0
  46. package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.server.cjs.map +1 -0
  47. package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.server.mjs +11 -0
  48. package/dist/src/extensions/workspaces/sessions/(backend)/_runtime/index.server.mjs.map +1 -0
  49. package/dist/src/extensions/workspaces/sessions/(backend)/api/computer-use/route.server.cjs +6 -0
  50. package/dist/src/extensions/workspaces/sessions/(backend)/api/computer-use/route.server.cjs.map +1 -0
  51. package/dist/src/extensions/workspaces/sessions/(backend)/api/computer-use/route.server.mjs +7 -0
  52. package/dist/src/extensions/workspaces/sessions/(backend)/api/computer-use/route.server.mjs.map +1 -0
  53. package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.cli.cjs +6 -0
  54. package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.cli.cjs.map +1 -0
  55. package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.cli.mjs +7 -0
  56. package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.cli.mjs.map +1 -0
  57. package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.server.cjs +6 -0
  58. package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.server.cjs.map +1 -0
  59. package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.server.mjs +7 -0
  60. package/dist/src/extensions/workspaces/sessions/(backend)/command/computer-use.server.mjs.map +1 -0
  61. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.cjs +6 -0
  62. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.cjs.map +1 -0
  63. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.mjs +7 -0
  64. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.mjs.map +1 -0
  65. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.cjs +6 -0
  66. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.cjs.map +1 -0
  67. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.mjs +7 -0
  68. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.mjs.map +1 -0
  69. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs +6 -0
  70. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs.map +1 -0
  71. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs +7 -0
  72. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs.map +1 -0
  73. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs +6 -0
  74. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs.map +1 -0
  75. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs +7 -0
  76. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs.map +1 -0
  77. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +15 -0
  78. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +1 -0
  79. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +16 -0
  80. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +1 -0
  81. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs +16 -0
  82. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.cjs.map +1 -0
  83. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs +17 -0
  84. package/dist/src/extensions/workspaces/sessions/(backend)/root.server.mjs.map +1 -0
  85. package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.cli.cjs +6 -0
  86. package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.cli.cjs.map +1 -0
  87. package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.cli.mjs +7 -0
  88. package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.cli.mjs.map +1 -0
  89. package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.server.cjs +6 -0
  90. package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.server.cjs.map +1 -0
  91. package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.server.mjs +7 -0
  92. package/dist/src/extensions/workspaces/sessions/(backend)/tool/00-computer-state.server.mjs.map +1 -0
  93. package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.cli.cjs +6 -0
  94. package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.cli.cjs.map +1 -0
  95. package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.cli.mjs +7 -0
  96. package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.cli.mjs.map +1 -0
  97. package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.server.cjs +6 -0
  98. package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.server.cjs.map +1 -0
  99. package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.server.mjs +7 -0
  100. package/dist/src/extensions/workspaces/sessions/(backend)/tool/10-computer-action.server.mjs.map +1 -0
  101. package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.cli.cjs +6 -0
  102. package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.cli.cjs.map +1 -0
  103. package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.cli.mjs +7 -0
  104. package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.cli.mjs.map +1 -0
  105. package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.server.cjs +6 -0
  106. package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.server.cjs.map +1 -0
  107. package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.server.mjs +7 -0
  108. package/dist/src/extensions/workspaces/sessions/(backend)/tool/20-computer-exec.server.mjs.map +1 -0
  109. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.cli.cjs +6 -0
  110. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.cli.cjs.map +1 -0
  111. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.cli.mjs +7 -0
  112. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.cli.mjs.map +1 -0
  113. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.server.cjs +6 -0
  114. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.server.cjs.map +1 -0
  115. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.server.mjs +7 -0
  116. package/dist/src/extensions/workspaces/sessions/(backend)/tool-restriction/computer-use.server.mjs.map +1 -0
  117. package/dist/src/models/computerUseMode.cjs +43 -0
  118. package/dist/src/models/computerUseMode.cjs.map +1 -0
  119. package/dist/src/models/computerUseMode.mjs +42 -0
  120. package/dist/src/models/computerUseMode.mjs.map +1 -0
  121. package/dist/src/models/computerUseState.cjs +89 -0
  122. package/dist/src/models/computerUseState.cjs.map +1 -0
  123. package/dist/src/models/computerUseState.d.cts +6 -0
  124. package/dist/src/models/computerUseState.d.cts.map +1 -0
  125. package/dist/src/models/computerUseState.d.mts +6 -0
  126. package/dist/src/models/computerUseState.d.mts.map +1 -0
  127. package/dist/src/models/computerUseState.mjs +88 -0
  128. package/dist/src/models/computerUseState.mjs.map +1 -0
  129. package/dist/src/schemas/apiContracts.cjs +194 -0
  130. package/dist/src/schemas/apiContracts.cjs.map +1 -0
  131. package/dist/src/schemas/apiContracts.d.cts +53 -0
  132. package/dist/src/schemas/apiContracts.d.cts.map +1 -0
  133. package/dist/src/schemas/apiContracts.d.mts +53 -0
  134. package/dist/src/schemas/apiContracts.d.mts.map +1 -0
  135. package/dist/src/schemas/apiContracts.mjs +191 -0
  136. package/dist/src/schemas/apiContracts.mjs.map +1 -0
  137. package/dist/src/services/computerScriptRunner/index.cjs +171 -0
  138. package/dist/src/services/computerScriptRunner/index.cjs.map +1 -0
  139. package/dist/src/services/computerScriptRunner/index.d.cts +12 -0
  140. package/dist/src/services/computerScriptRunner/index.d.cts.map +1 -0
  141. package/dist/src/services/computerScriptRunner/index.d.mts +12 -0
  142. package/dist/src/services/computerScriptRunner/index.d.mts.map +1 -0
  143. package/dist/src/services/computerScriptRunner/index.mjs +171 -0
  144. package/dist/src/services/computerScriptRunner/index.mjs.map +1 -0
  145. package/dist/src/services/computerUseApi/index.cjs +291 -0
  146. package/dist/src/services/computerUseApi/index.cjs.map +1 -0
  147. package/dist/src/services/computerUseApi/index.mjs +289 -0
  148. package/dist/src/services/computerUseApi/index.mjs.map +1 -0
  149. package/dist/src/services/computerUseCommand/index.cjs +15 -0
  150. package/dist/src/services/computerUseCommand/index.cjs.map +1 -0
  151. package/dist/src/services/computerUseCommand/index.mjs +15 -0
  152. package/dist/src/services/computerUseCommand/index.mjs.map +1 -0
  153. package/dist/src/services/computerUseRuntime/index.cjs +300 -0
  154. package/dist/src/services/computerUseRuntime/index.cjs.map +1 -0
  155. package/dist/src/services/computerUseRuntime/index.mjs +299 -0
  156. package/dist/src/services/computerUseRuntime/index.mjs.map +1 -0
  157. package/dist/src/services/computerUseServer/index.cjs +350 -0
  158. package/dist/src/services/computerUseServer/index.cjs.map +1 -0
  159. package/dist/src/services/computerUseServer/index.mjs +348 -0
  160. package/dist/src/services/computerUseServer/index.mjs.map +1 -0
  161. package/dist/src/services/dependencies/index.cjs +27 -0
  162. package/dist/src/services/dependencies/index.cjs.map +1 -0
  163. package/dist/src/services/dependencies/index.d.cts +6 -0
  164. package/dist/src/services/dependencies/index.d.cts.map +1 -0
  165. package/dist/src/services/dependencies/index.d.mts +6 -0
  166. package/dist/src/services/dependencies/index.d.mts.map +1 -0
  167. package/dist/src/services/dependencies/index.mjs +24 -0
  168. package/dist/src/services/dependencies/index.mjs.map +1 -0
  169. package/dist/src/services/extensionService/index.cjs +21 -0
  170. package/dist/src/services/extensionService/index.cjs.map +1 -0
  171. package/dist/src/services/extensionService/index.d.cts +10 -0
  172. package/dist/src/services/extensionService/index.d.cts.map +1 -0
  173. package/dist/src/services/extensionService/index.d.mts +10 -0
  174. package/dist/src/services/extensionService/index.d.mts.map +1 -0
  175. package/dist/src/services/extensionService/index.mjs +21 -0
  176. package/dist/src/services/extensionService/index.mjs.map +1 -0
  177. package/dist/src/services/sessionApiClient/index.cjs +9 -0
  178. package/dist/src/services/sessionApiClient/index.cjs.map +1 -0
  179. package/dist/src/services/sessionApiClient/index.d.cts +15 -0
  180. package/dist/src/services/sessionApiClient/index.d.cts.map +1 -0
  181. package/dist/src/services/sessionApiClient/index.d.mts +15 -0
  182. package/dist/src/services/sessionApiClient/index.d.mts.map +1 -0
  183. package/dist/src/services/sessionApiClient/index.mjs +9 -0
  184. package/dist/src/services/sessionApiClient/index.mjs.map +1 -0
  185. package/dist/src/services/traceRedaction/index.cjs +19 -0
  186. package/dist/src/services/traceRedaction/index.cjs.map +1 -0
  187. package/dist/{services/traceRedaction.d.mts → src/services/traceRedaction/index.d.cts} +6 -7
  188. package/dist/src/services/traceRedaction/index.d.cts.map +1 -0
  189. package/dist/{services/traceRedaction.d.cts → src/services/traceRedaction/index.d.mts} +6 -7
  190. package/dist/src/services/traceRedaction/index.d.mts.map +1 -0
  191. package/dist/src/services/traceRedaction/index.mjs +19 -0
  192. package/dist/src/services/traceRedaction/index.mjs.map +1 -0
  193. package/dist/src/services/webComputerUseAvailability/index.cjs +13 -0
  194. package/dist/src/services/webComputerUseAvailability/index.cjs.map +1 -0
  195. package/dist/src/services/webComputerUseAvailability/index.mjs +12 -0
  196. package/dist/src/services/webComputerUseAvailability/index.mjs.map +1 -0
  197. package/dist/src/services/webComputerUseChannel/index.cjs +251 -0
  198. package/dist/src/services/webComputerUseChannel/index.cjs.map +1 -0
  199. package/dist/src/services/webComputerUseChannel/index.mjs +250 -0
  200. package/dist/src/services/webComputerUseChannel/index.mjs.map +1 -0
  201. package/dist/src/types/apiRoutes.cjs +84 -0
  202. package/dist/src/types/apiRoutes.cjs.map +1 -0
  203. package/dist/src/types/apiRoutes.mjs +84 -0
  204. package/dist/src/types/apiRoutes.mjs.map +1 -0
  205. package/dist/src/types/computerScript.d.cts +38 -0
  206. package/dist/src/types/computerScript.d.cts.map +1 -0
  207. package/dist/src/types/computerScript.d.mts +38 -0
  208. package/dist/src/types/computerScript.d.mts.map +1 -0
  209. package/dist/{types → src/types}/computerUse.d.cts +14 -14
  210. package/dist/src/types/computerUse.d.cts.map +1 -0
  211. package/dist/{types → src/types}/computerUse.d.mts +14 -14
  212. package/dist/src/types/computerUse.d.mts.map +1 -0
  213. package/dist/src/types/computerUseApi.cjs +41 -0
  214. package/dist/src/types/computerUseApi.cjs.map +1 -0
  215. package/dist/{types → src/types}/computerUseApi.d.cts +28 -20
  216. package/dist/src/types/computerUseApi.d.cts.map +1 -0
  217. package/dist/{types → src/types}/computerUseApi.d.mts +28 -20
  218. package/dist/src/types/computerUseApi.d.mts.map +1 -0
  219. package/dist/src/types/computerUseApi.mjs +33 -0
  220. package/dist/src/types/computerUseApi.mjs.map +1 -0
  221. package/dist/src/types/extension.d.cts +19 -0
  222. package/dist/src/types/extension.d.cts.map +1 -0
  223. package/dist/src/types/extension.d.mts +19 -0
  224. package/dist/src/types/extension.d.mts.map +1 -0
  225. package/docs/computer-scripts.md +37 -0
  226. package/llms.txt +1 -0
  227. package/package.json +46 -32
  228. package/src/prompts/doompi-use-computer-use/SKILL.md +1 -1
  229. package/src/types/computerUse.ts +3 -2
  230. package/src/types/computerUseApi.ts +9 -6
  231. package/dist/adapters/computerUseApi.cjs +0 -2
  232. package/dist/adapters/computerUseApi.cjs.map +0 -1
  233. package/dist/adapters/computerUseApi.d.cts +0 -37
  234. package/dist/adapters/computerUseApi.d.cts.map +0 -1
  235. package/dist/adapters/computerUseApi.d.mts +0 -37
  236. package/dist/adapters/computerUseApi.d.mts.map +0 -1
  237. package/dist/adapters/computerUseApi.mjs +0 -2
  238. package/dist/adapters/computerUseApi.mjs.map +0 -1
  239. package/dist/adapters/pi/extension.cjs +0 -3
  240. package/dist/adapters/pi/extension.cjs.map +0 -1
  241. package/dist/adapters/pi/extension.d.cts +0 -12
  242. package/dist/adapters/pi/extension.d.cts.map +0 -1
  243. package/dist/adapters/pi/extension.d.mts +0 -12
  244. package/dist/adapters/pi/extension.d.mts.map +0 -1
  245. package/dist/adapters/pi/extension.mjs +0 -3
  246. package/dist/adapters/pi/extension.mjs.map +0 -1
  247. package/dist/adapters/pi/sessionApiClient.cjs +0 -2
  248. package/dist/adapters/pi/sessionApiClient.cjs.map +0 -1
  249. package/dist/adapters/pi/sessionApiClient.d.cts +0 -26
  250. package/dist/adapters/pi/sessionApiClient.d.cts.map +0 -1
  251. package/dist/adapters/pi/sessionApiClient.d.mts +0 -26
  252. package/dist/adapters/pi/sessionApiClient.d.mts.map +0 -1
  253. package/dist/adapters/pi/sessionApiClient.mjs +0 -2
  254. package/dist/adapters/pi/sessionApiClient.mjs.map +0 -1
  255. package/dist/adapters/webComputerUseAvailability.cjs +0 -2
  256. package/dist/adapters/webComputerUseAvailability.cjs.map +0 -1
  257. package/dist/adapters/webComputerUseAvailability.mjs +0 -2
  258. package/dist/adapters/webComputerUseAvailability.mjs.map +0 -1
  259. package/dist/adapters/webComputerUseChannel.cjs +0 -2
  260. package/dist/adapters/webComputerUseChannel.cjs.map +0 -1
  261. package/dist/adapters/webComputerUseChannel.d.cts +0 -10
  262. package/dist/adapters/webComputerUseChannel.d.cts.map +0 -1
  263. package/dist/adapters/webComputerUseChannel.d.mts +0 -10
  264. package/dist/adapters/webComputerUseChannel.d.mts.map +0 -1
  265. package/dist/adapters/webComputerUseChannel.mjs +0 -2
  266. package/dist/adapters/webComputerUseChannel.mjs.map +0 -1
  267. package/dist/commands/computerUseCommand.cjs +0 -2
  268. package/dist/commands/computerUseCommand.cjs.map +0 -1
  269. package/dist/commands/computerUseCommand.mjs +0 -2
  270. package/dist/commands/computerUseCommand.mjs.map +0 -1
  271. package/dist/container/index.cjs +0 -2
  272. package/dist/container/index.cjs.map +0 -1
  273. package/dist/container/index.d.cts +0 -6
  274. package/dist/container/index.d.cts.map +0 -1
  275. package/dist/container/index.d.mts +0 -6
  276. package/dist/container/index.d.mts.map +0 -1
  277. package/dist/container/index.mjs +0 -2
  278. package/dist/container/index.mjs.map +0 -1
  279. package/dist/services/extensionService.cjs +0 -2
  280. package/dist/services/extensionService.cjs.map +0 -1
  281. package/dist/services/extensionService.d.cts +0 -11
  282. package/dist/services/extensionService.d.cts.map +0 -1
  283. package/dist/services/extensionService.d.mts +0 -11
  284. package/dist/services/extensionService.d.mts.map +0 -1
  285. package/dist/services/extensionService.mjs +0 -2
  286. package/dist/services/extensionService.mjs.map +0 -1
  287. package/dist/services/sessionController.cjs +0 -2
  288. package/dist/services/sessionController.cjs.map +0 -1
  289. package/dist/services/sessionController.d.cts +0 -7
  290. package/dist/services/sessionController.d.cts.map +0 -1
  291. package/dist/services/sessionController.d.mts +0 -7
  292. package/dist/services/sessionController.d.mts.map +0 -1
  293. package/dist/services/sessionController.mjs +0 -2
  294. package/dist/services/sessionController.mjs.map +0 -1
  295. package/dist/services/traceRedaction.cjs +0 -2
  296. package/dist/services/traceRedaction.cjs.map +0 -1
  297. package/dist/services/traceRedaction.d.cts.map +0 -1
  298. package/dist/services/traceRedaction.d.mts.map +0 -1
  299. package/dist/services/traceRedaction.mjs +0 -2
  300. package/dist/services/traceRedaction.mjs.map +0 -1
  301. package/dist/sessionApi.cjs +0 -1
  302. package/dist/sessionApi.d.cts +0 -2
  303. package/dist/sessionApi.d.mts +0 -2
  304. package/dist/sessionApi.mjs +0 -1
  305. package/dist/types/computerUse.d.cts.map +0 -1
  306. package/dist/types/computerUse.d.mts.map +0 -1
  307. package/dist/types/computerUseApi.cjs +0 -2
  308. package/dist/types/computerUseApi.cjs.map +0 -1
  309. package/dist/types/computerUseApi.d.cts.map +0 -1
  310. package/dist/types/computerUseApi.d.mts.map +0 -1
  311. package/dist/types/computerUseApi.mjs +0 -2
  312. package/dist/types/computerUseApi.mjs.map +0 -1
  313. package/dist/types/extension.d.cts +0 -17
  314. package/dist/types/extension.d.cts.map +0 -1
  315. package/dist/types/extension.d.mts +0 -17
  316. package/dist/types/extension.d.mts.map +0 -1
  317. package/dist/webHub.cjs +0 -1
  318. package/dist/webHub.d.cts +0 -3
  319. package/dist/webHub.d.mts +0 -3
  320. package/dist/webHub.mjs +0 -1
  321. package/src/exports/webClient.ts +0 -2
  322. package/src/web/ComputerActionToolCard.tsx +0 -51
  323. package/src/web/ComputerStateToolCard.tsx +0 -51
  324. package/src/web/ComputerUsePanel.tsx +0 -136
  325. package/src/web/computerActionToolRender.ts +0 -20
  326. package/src/web/computerStateToolRender.ts +0 -18
  327. package/src/web/computerUseStore.ts +0 -26
  328. package/src/web/index.ts +0 -41
  329. package/src/web/tsconfig.json +0 -28
@@ -0,0 +1,625 @@
1
+ import { apiResponse, createApiClient, defineActivityGroup, defineApiRoutes, defineChannelFile, defineFill, defineMinorModeFile, defineSessionStore, defineSettingsSection, defineToolRenderer, defineWebPlugin, sessionApiAddress, toolResultTextLines } from "@agimon-ai/doompi-core/web";
2
+ import { useStore } from "@tanstack/react-store";
3
+ import { useEffect, useState } from "react";
4
+ import { sealedTransport } from "@agimon-ai/doompi-web-security/browser";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import { MessageItem, MessageItemBody, MessageItemHeader, MessageItemStatus, MessageLines, collapseLines, toolTone } from "@agimon-ai/doompi-web-components";
7
+ //#region src/extensions/(frontend)/_lib/computerUseSettings.ts
8
+ const computerUseSettingsSection = {
9
+ id: "computer-use",
10
+ label: "computer use",
11
+ detail: "control whether DoomPi Desktop may expose session-scoped computer control",
12
+ order: 45,
13
+ fields: [{
14
+ id: "enabled",
15
+ label: "enable computer use",
16
+ kind: "toggle",
17
+ keyPath: ["computerUse", "enabled"],
18
+ detail: "Makes the computer-use minor mode available. Each control session still requires native confirmation."
19
+ }]
20
+ };
21
+ //#endregion
22
+ //#region src/extensions/(frontend)/setting/computer-use.web.ts
23
+ var computer_use_web_default$3 = defineSettingsSection({ settingsSections: [computerUseSettingsSection] }.settingsSections[0]);
24
+ //#endregion
25
+ //#region src/extensions/workspaces/(frontend)/setting/computer-use.web.ts
26
+ var computer_use_web_default$2 = defineSettingsSection({ settingsSections: [computerUseSettingsSection] }.settingsSections[0]);
27
+ //#endregion
28
+ //#region src/types/computerUseApi.ts
29
+ const computerUseChannelType = "computer_use_state";
30
+ const COMPUTER_USE_MODE_ID = "computer-use";
31
+ const COMPUTER_USE_STATUS_KEY = "doom-computer-use";
32
+ const COMPUTER_USE_MODE_STATUS_KEY = "doom-computer-use-mode";
33
+ const COMPUTER_USE_DEFAULT_DURATION_MS = 3e5;
34
+ /**
35
+ * Every path this API answers on, below its mount.
36
+ *
37
+ * The typed route table in `./apiRoutes` is built from this, the dispatcher
38
+ * reads that table, and the hub channel addresses the broker with these same
39
+ * strings, so a route cannot move on one side alone.
40
+ */
41
+ const COMPUTER_USE_ROUTES = {
42
+ activate: "/activate",
43
+ agentState: "/agent/state",
44
+ agentObserve: "/agent/observe",
45
+ agentAction: "/agent/action",
46
+ agentStop: "/agent/stop",
47
+ hubState: "/hub/state",
48
+ hubActivation: "/hub/activation",
49
+ hubAuthorization: "/hub/authorization",
50
+ hubNext: "/hub/next",
51
+ hubComplete: "/hub/complete",
52
+ hubStop: "/hub/stop"
53
+ };
54
+ const computerUse = defineSessionStore({
55
+ state: {
56
+ sessionId: "",
57
+ revision: 0,
58
+ wake: 0,
59
+ phase: "inactive"
60
+ },
61
+ targets: []
62
+ });
63
+ function isRecord(value) {
64
+ return typeof value === "object" && value !== null && !Array.isArray(value);
65
+ }
66
+ const computerUseChannel = computerUse.channel({
67
+ channel: computerUseChannelType,
68
+ parse(input) {
69
+ if (!isRecord(input) || !isRecord(input.state) || !Array.isArray(input.targets)) return null;
70
+ if (typeof input.state.phase !== "string" || typeof input.state.revision !== "number") return null;
71
+ return input;
72
+ },
73
+ reduce: (_current, payload) => payload
74
+ });
75
+ //#endregion
76
+ //#region src/types/apiRoutes.ts
77
+ /**
78
+ * This package's routes, as data.
79
+ *
80
+ * No scope and no base path: the build reads both off
81
+ * `src/extensions/workspaces/sessions/(backend)/api/computer-use/`, so the
82
+ * mount is stated once, by the folder that creates it.
83
+ *
84
+ * The paths come from `COMPUTER_USE_ROUTES` rather than being written out
85
+ * again. That table already addressed the broker from the hub channel and from
86
+ * the broker's own dispatcher, and a second copy here is exactly the
87
+ * disagreement this file exists to prevent. The dispatcher now reads this
88
+ * table, so the page, the broker and the hub all resolve one set of strings.
89
+ *
90
+ * Only `activate` is reachable from a browser. The `/agent/` and `/hub/` routes
91
+ * each demand a host-issued bearer token and answer 404 without one; they are
92
+ * declared here because they are this API's surface, not because a page calls
93
+ * them.
94
+ */
95
+ var apiRoutes_default = defineApiRoutes({
96
+ activate: {
97
+ method: "POST",
98
+ path: COMPUTER_USE_ROUTES.activate,
99
+ response: apiResponse()
100
+ },
101
+ agentState: {
102
+ method: "GET",
103
+ path: COMPUTER_USE_ROUTES.agentState,
104
+ response: apiResponse()
105
+ },
106
+ /** Answers whatever the admitted Desktop provider returned, which is runtime-defined JSON. */
107
+ agentObserve: {
108
+ method: "POST",
109
+ path: COMPUTER_USE_ROUTES.agentObserve,
110
+ response: apiResponse()
111
+ },
112
+ agentAction: {
113
+ method: "POST",
114
+ path: COMPUTER_USE_ROUTES.agentAction,
115
+ response: apiResponse()
116
+ },
117
+ agentStop: {
118
+ method: "POST",
119
+ path: COMPUTER_USE_ROUTES.agentStop,
120
+ response: apiResponse()
121
+ },
122
+ hubState: {
123
+ method: "GET",
124
+ path: COMPUTER_USE_ROUTES.hubState,
125
+ response: apiResponse()
126
+ },
127
+ /** Null until a reader has confirmed one; reading it moves the session to `activating`. */
128
+ hubActivation: {
129
+ method: "GET",
130
+ path: COMPUTER_USE_ROUTES.hubActivation,
131
+ response: apiResponse()
132
+ },
133
+ hubAuthorization: {
134
+ method: "GET",
135
+ path: COMPUTER_USE_ROUTES.hubAuthorization,
136
+ response: apiResponse()
137
+ },
138
+ hubNext: {
139
+ method: "GET",
140
+ path: COMPUTER_USE_ROUTES.hubNext,
141
+ response: apiResponse()
142
+ },
143
+ hubComplete: {
144
+ method: "POST",
145
+ path: COMPUTER_USE_ROUTES.hubComplete,
146
+ response: apiResponse()
147
+ },
148
+ hubStop: {
149
+ method: "POST",
150
+ path: COMPUTER_USE_ROUTES.hubStop,
151
+ response: apiResponse()
152
+ }
153
+ });
154
+ const api = createApiClient(apiRoutes_default, {
155
+ scopes: ["session"],
156
+ basePath: "computer-use",
157
+ transport: (input, init) => sealedTransport.fetch(input, init),
158
+ sessionAddress: sessionApiAddress
159
+ });
160
+ //#endregion
161
+ //#region src/extensions/workspaces/sessions/(frontend)/fill/_components/ComputerUsePanel.tsx
162
+ function text(value, fallback) {
163
+ return typeof value === "string" || typeof value === "number" ? String(value) : fallback;
164
+ }
165
+ function ComputerUsePanel({ sessionId, sendSessionFrame }) {
166
+ const session = useStore(computerUse.store, (state) => computerUse.select(state, sessionId));
167
+ const [selected, setSelected] = useState(0);
168
+ const [confirmationTarget, setConfirmationTarget] = useState();
169
+ const [error, setError] = useState();
170
+ const send = (payload) => {
171
+ if (sessionId !== null) sendSessionFrame(sessionId, {
172
+ type: computerUseChannelType,
173
+ payload
174
+ });
175
+ };
176
+ useEffect(() => {
177
+ if (sessionId === null) return;
178
+ sendSessionFrame(sessionId, {
179
+ type: computerUseChannelType,
180
+ payload: { action: "status" }
181
+ });
182
+ sendSessionFrame(sessionId, {
183
+ type: computerUseChannelType,
184
+ payload: { action: "targets" }
185
+ });
186
+ }, [sendSessionFrame, sessionId]);
187
+ if (sessionId === null) return /* @__PURE__ */ jsx("p", {
188
+ className: "px-1 text-xs text-doom-faint",
189
+ children: "Select a session."
190
+ });
191
+ const state = session.state;
192
+ const target = session.targets[selected];
193
+ const artifact = state.artifact;
194
+ const confirm = async () => {
195
+ if (confirmationTarget === void 0) return;
196
+ setError(void 0);
197
+ const result = await api.session(sessionId).activate({ body: {
198
+ target: confirmationTarget,
199
+ durationMs: COMPUTER_USE_DEFAULT_DURATION_MS
200
+ } });
201
+ if (!result.ok) {
202
+ if (result.status === 0) setError("The session is unreachable.");
203
+ else setError(result.error === "" ? `Activation failed with HTTP ${result.status}.` : result.error);
204
+ return;
205
+ }
206
+ setConfirmationTarget(void 0);
207
+ send({ action: "status" });
208
+ };
209
+ return /* @__PURE__ */ jsxs("div", {
210
+ "data-testid": "computer-use-panel",
211
+ className: "flex flex-col gap-2 text-xs text-doom-text",
212
+ children: [
213
+ /* @__PURE__ */ jsxs("header", {
214
+ className: "flex items-center justify-between gap-2",
215
+ children: [/* @__PURE__ */ jsx("span", {
216
+ className: "text-doom-faint",
217
+ children: state.phase.replaceAll("_", " ")
218
+ }), /* @__PURE__ */ jsx("button", {
219
+ type: "button",
220
+ className: "rounded bg-doom-panel px-2 py-1",
221
+ onClick: () => send({ action: "targets" }),
222
+ children: "Refresh targets"
223
+ })]
224
+ }),
225
+ session.busy ? /* @__PURE__ */ jsx("p", {
226
+ className: "rounded border border-doom-warning px-2 py-1",
227
+ children: "Computer use is busy in another session"
228
+ }) : null,
229
+ state.failure ? /* @__PURE__ */ jsx("p", {
230
+ className: "text-doom-error",
231
+ children: state.failure.message
232
+ }) : null,
233
+ error ? /* @__PURE__ */ jsx("p", {
234
+ className: "text-doom-error",
235
+ children: error
236
+ }) : null,
237
+ (state.phase === "inactive" || state.phase === "failed") && confirmationTarget === void 0 ? /* @__PURE__ */ jsxs("div", {
238
+ className: "flex flex-col gap-2",
239
+ children: [
240
+ /* @__PURE__ */ jsx("label", {
241
+ htmlFor: "computer-use-target",
242
+ children: "Application window"
243
+ }),
244
+ /* @__PURE__ */ jsx("select", {
245
+ id: "computer-use-target",
246
+ value: selected,
247
+ onChange: (event) => setSelected(Number(event.target.value)),
248
+ className: "rounded bg-doom-panel px-2 py-1",
249
+ children: session.targets.map((item, index) => /* @__PURE__ */ jsx("option", {
250
+ value: index,
251
+ children: text(item.applicationName, text(item.windowTitle, text(item.windowId, "Window")))
252
+ }, text(item.windowId, String(index))))
253
+ }),
254
+ /* @__PURE__ */ jsx("button", {
255
+ type: "button",
256
+ disabled: !target || Boolean(session.busy),
257
+ className: "rounded bg-doom-accent px-2 py-1 disabled:opacity-50",
258
+ onClick: () => target !== void 0 && setConfirmationTarget(Object.freeze({ ...target })),
259
+ children: "Request activation"
260
+ })
261
+ ]
262
+ }) : null,
263
+ confirmationTarget !== void 0 ? /* @__PURE__ */ jsxs("div", {
264
+ className: "rounded border border-doom-accent p-3",
265
+ children: [
266
+ /* @__PURE__ */ jsx("strong", { children: "Confirm computer control" }),
267
+ /* @__PURE__ */ jsxs("p", {
268
+ className: "my-2 text-doom-text",
269
+ children: [
270
+ text(confirmationTarget.applicationName, "Application"),
271
+ ":",
272
+ " ",
273
+ text(confirmationTarget.windowTitle, text(confirmationTarget.windowId, "Window"))
274
+ ]
275
+ }),
276
+ /* @__PURE__ */ jsx("p", {
277
+ className: "my-2 text-doom-faint",
278
+ children: "Confirm a 5 minute session for this exact application window."
279
+ }),
280
+ /* @__PURE__ */ jsxs("div", {
281
+ className: "flex gap-2",
282
+ children: [/* @__PURE__ */ jsx("button", {
283
+ type: "button",
284
+ className: "rounded bg-doom-accent px-2 py-1",
285
+ onClick: () => void confirm(),
286
+ children: "Confirm"
287
+ }), /* @__PURE__ */ jsx("button", {
288
+ type: "button",
289
+ className: "rounded bg-doom-panel px-2 py-1",
290
+ onClick: () => setConfirmationTarget(void 0),
291
+ children: "Cancel"
292
+ })]
293
+ })
294
+ ]
295
+ }) : null,
296
+ state.phase === "awaiting_confirmation" || state.phase === "activating" ? /* @__PURE__ */ jsx("p", { children: "Desktop activation is pending." }) : null,
297
+ state.phase === "active" || state.phase === "stopping" ? /* @__PURE__ */ jsx("button", {
298
+ type: "button",
299
+ disabled: state.phase === "stopping",
300
+ className: "rounded bg-doom-panel px-2 py-1",
301
+ onClick: () => send({ action: "stop" }),
302
+ children: "Stop computer use"
303
+ }) : null,
304
+ artifact ? /* @__PURE__ */ jsxs("div", {
305
+ "data-testid": "computer-use-artifact",
306
+ className: "rounded bg-doom-panel p-2",
307
+ children: [
308
+ /* @__PURE__ */ jsx("strong", { children: artifact.status === "ready" ? "Completed recording" : "Recording unavailable" }),
309
+ /* @__PURE__ */ jsxs("p", { children: ["ID: ", artifact.artifactId] }),
310
+ /* @__PURE__ */ jsxs("p", { children: ["Status: ", artifact.status] }),
311
+ artifact.failure ? /* @__PURE__ */ jsx("p", {
312
+ className: "text-doom-error",
313
+ children: artifact.failure.message
314
+ }) : null,
315
+ artifact.completedAt ? /* @__PURE__ */ jsxs("p", { children: ["Completed: ", artifact.completedAt] }) : null,
316
+ artifact.actionCount !== void 0 ? /* @__PURE__ */ jsxs("p", { children: ["Actions: ", artifact.actionCount] }) : null,
317
+ artifact.status === "ready" && artifact.previewUrl ? /* @__PURE__ */ jsx("video", {
318
+ className: "mt-2 w-full",
319
+ controls: true,
320
+ preload: "metadata",
321
+ src: artifact.previewUrl,
322
+ children: /* @__PURE__ */ jsx("track", { kind: "captions" })
323
+ }) : null,
324
+ artifact.status === "ready" && artifact.downloadUrl ? /* @__PURE__ */ jsx("a", {
325
+ className: "mt-2 inline-block text-doom-accent",
326
+ href: artifact.downloadUrl,
327
+ download: true,
328
+ children: "Download recording"
329
+ }) : null
330
+ ]
331
+ }) : null
332
+ ]
333
+ });
334
+ }
335
+ //#endregion
336
+ //#region src/extensions/workspaces/sessions/(frontend)/tool/_lib/computerActionToolRender.ts
337
+ const computerActionToolName = "computer_action";
338
+ function computerActionCallSummary(args) {
339
+ return [typeof args.kind === "string" ? args.kind : "", typeof args.elementRef === "string" ? args.elementRef : ""].filter(Boolean).join(" ");
340
+ }
341
+ /**
342
+ * The body as toned lines: what the result's details say, or its text. Pure,
343
+ * so a unit test can pin it without a DOM; the item decides how many to show.
344
+ */
345
+ function computerActionResultLines(result) {
346
+ if (result === null) return [];
347
+ return toolResultTextLines(result.content).map((text) => ({
348
+ text,
349
+ tone: "dim"
350
+ }));
351
+ }
352
+ //#endregion
353
+ //#region src/extensions/workspaces/sessions/(frontend)/tool/_components/ComputerActionToolCard.tsx
354
+ /**
355
+ * The computer_action tool's timeline item: Perform one constrained semantic action in the authorized application window. The shell owns
356
+ * the frame, the outcome tone, the status badge, and the expand toggle; this
357
+ * card supplies the header summary and the body lines, and says whether it
358
+ * hides any so the toggle appears only when it reveals something.
359
+ */
360
+ function ComputerActionToolCard({ toolName, args, result, running, isError }) {
361
+ const lines = computerActionResultLines(result);
362
+ const collapsed = collapseLines(lines, 8, false);
363
+ return /* @__PURE__ */ jsx(MessageItem, {
364
+ tone: toolTone({
365
+ running,
366
+ isError
367
+ }),
368
+ expandable: collapsed.hidden > 0,
369
+ children: ({ expanded }) => {
370
+ const view = expanded ? collapseLines(lines, 8, true) : collapsed;
371
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(MessageItemHeader, {
372
+ title: toolName,
373
+ children: /* @__PURE__ */ jsx("span", {
374
+ "data-testid": `tool-call-${toolName}`,
375
+ className: "min-w-0 flex-1 truncate text-doom-text",
376
+ children: computerActionCallSummary(args)
377
+ })
378
+ }), view.shown.length > 0 || running || isError ? /* @__PURE__ */ jsxs(MessageItemBody, {
379
+ "data-testid": `tool-result-${toolName}`,
380
+ className: "flex flex-col gap-1",
381
+ children: [
382
+ view.shown.length > 0 ? /* @__PURE__ */ jsx(MessageLines, { lines: view.shown }) : null,
383
+ view.hidden > 0 ? /* @__PURE__ */ jsxs(MessageItemStatus, {
384
+ expands: true,
385
+ children: [view.hidden, " more line(s)"]
386
+ }) : null,
387
+ running ? /* @__PURE__ */ jsx(MessageItemStatus, {
388
+ tone: "running",
389
+ children: "running"
390
+ }) : null,
391
+ isError ? /* @__PURE__ */ jsx(MessageItemStatus, {
392
+ tone: "error",
393
+ children: "failed"
394
+ }) : null
395
+ ]
396
+ }) : null] });
397
+ }
398
+ });
399
+ }
400
+ //#endregion
401
+ //#region src/extensions/workspaces/sessions/(frontend)/tool/_lib/computerExecToolRender.ts
402
+ const computerExecToolName = "computer_exec";
403
+ function computerExecCallSummary(args) {
404
+ return typeof args.scriptPath === "string" ? args.scriptPath : "";
405
+ }
406
+ function computerExecResultLines(result) {
407
+ if (result === null) return [];
408
+ return toolResultTextLines(result.content).map((text) => ({
409
+ text,
410
+ tone: "dim"
411
+ }));
412
+ }
413
+ //#endregion
414
+ //#region src/extensions/workspaces/sessions/(frontend)/tool/_components/ComputerExecToolCard.tsx
415
+ function ComputerExecToolCard({ toolName, args, result, running, isError }) {
416
+ const lines = computerExecResultLines(result);
417
+ const collapsed = collapseLines(lines, 8, false);
418
+ return /* @__PURE__ */ jsx(MessageItem, {
419
+ tone: toolTone({
420
+ running,
421
+ isError
422
+ }),
423
+ expandable: collapsed.hidden > 0,
424
+ children: ({ expanded }) => {
425
+ const view = expanded ? collapseLines(lines, 8, true) : collapsed;
426
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(MessageItemHeader, {
427
+ title: toolName,
428
+ children: /* @__PURE__ */ jsx("span", {
429
+ "data-testid": `tool-call-${toolName}`,
430
+ className: "min-w-0 flex-1 truncate text-doom-text",
431
+ children: computerExecCallSummary(args)
432
+ })
433
+ }), view.shown.length > 0 || running || isError ? /* @__PURE__ */ jsxs(MessageItemBody, {
434
+ "data-testid": `tool-result-${toolName}`,
435
+ className: "flex flex-col gap-1",
436
+ children: [
437
+ view.shown.length > 0 ? /* @__PURE__ */ jsx(MessageLines, { lines: view.shown }) : null,
438
+ view.hidden > 0 ? /* @__PURE__ */ jsxs(MessageItemStatus, {
439
+ expands: true,
440
+ children: [view.hidden, " more line(s)"]
441
+ }) : null,
442
+ running ? /* @__PURE__ */ jsx(MessageItemStatus, {
443
+ tone: "running",
444
+ children: "running"
445
+ }) : null,
446
+ isError ? /* @__PURE__ */ jsx(MessageItemStatus, {
447
+ tone: "error",
448
+ children: "failed"
449
+ }) : null
450
+ ]
451
+ }) : null] });
452
+ }
453
+ });
454
+ }
455
+ //#endregion
456
+ //#region src/extensions/workspaces/sessions/(frontend)/tool/_lib/computerStateToolRender.ts
457
+ const computerStateToolName = "computer_state";
458
+ function computerStateCallSummary(_args) {
459
+ return "authorized window";
460
+ }
461
+ /**
462
+ * The body as toned lines: what the result's details say, or its text. Pure,
463
+ * so a unit test can pin it without a DOM; the item decides how many to show.
464
+ */
465
+ function computerStateResultLines(result) {
466
+ if (result === null) return [];
467
+ return toolResultTextLines(result.content).map((text) => ({
468
+ text,
469
+ tone: "dim"
470
+ }));
471
+ }
472
+ //#endregion
473
+ //#region src/extensions/workspaces/sessions/(frontend)/tool/_components/ComputerStateToolCard.tsx
474
+ /**
475
+ * The computer_state tool's timeline item: Observe the authorized application window and semantic accessibility state. The shell owns
476
+ * the frame, the outcome tone, the status badge, and the expand toggle; this
477
+ * card supplies the header summary and the body lines, and says whether it
478
+ * hides any so the toggle appears only when it reveals something.
479
+ */
480
+ function ComputerStateToolCard({ toolName, args, result, running, isError }) {
481
+ const lines = computerStateResultLines(result);
482
+ const collapsed = collapseLines(lines, 8, false);
483
+ return /* @__PURE__ */ jsx(MessageItem, {
484
+ tone: toolTone({
485
+ running,
486
+ isError
487
+ }),
488
+ expandable: collapsed.hidden > 0,
489
+ children: ({ expanded }) => {
490
+ const view = expanded ? collapseLines(lines, 8, true) : collapsed;
491
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(MessageItemHeader, {
492
+ title: toolName,
493
+ children: /* @__PURE__ */ jsx("span", {
494
+ "data-testid": `tool-call-${toolName}`,
495
+ className: "min-w-0 flex-1 truncate text-doom-text",
496
+ children: computerStateCallSummary(args)
497
+ })
498
+ }), view.shown.length > 0 || running || isError ? /* @__PURE__ */ jsxs(MessageItemBody, {
499
+ "data-testid": `tool-result-${toolName}`,
500
+ className: "flex flex-col gap-1",
501
+ children: [
502
+ view.shown.length > 0 ? /* @__PURE__ */ jsx(MessageLines, { lines: view.shown }) : null,
503
+ view.hidden > 0 ? /* @__PURE__ */ jsxs(MessageItemStatus, {
504
+ expands: true,
505
+ children: [view.hidden, " more line(s)"]
506
+ }) : null,
507
+ running ? /* @__PURE__ */ jsx(MessageItemStatus, {
508
+ tone: "running",
509
+ children: "running"
510
+ }) : null,
511
+ isError ? /* @__PURE__ */ jsx(MessageItemStatus, {
512
+ tone: "error",
513
+ children: "failed"
514
+ }) : null
515
+ ]
516
+ }) : null] });
517
+ }
518
+ });
519
+ }
520
+ //#endregion
521
+ //#region src/extensions/workspaces/sessions/(frontend)/_legacy/index.ts
522
+ var _legacy_default = {
523
+ minorModes: [{
524
+ name: "computer use",
525
+ modeId: COMPUTER_USE_MODE_ID,
526
+ keys: "c e",
527
+ statusKey: COMPUTER_USE_MODE_STATUS_KEY,
528
+ hideWhenMissing: true,
529
+ order: 70
530
+ }],
531
+ activityGroups: [{
532
+ name: "computer-use",
533
+ keys: "c e",
534
+ order: 70,
535
+ statusKey: COMPUTER_USE_STATUS_KEY,
536
+ hideWhenEmpty: true,
537
+ marksBackgroundWork: false
538
+ }],
539
+ activitySections: [{
540
+ id: "computer-use",
541
+ component: ComputerUsePanel
542
+ }],
543
+ channels: [computerUseChannel],
544
+ toolRenderers: [
545
+ {
546
+ tools: [computerStateToolName],
547
+ message: ComputerStateToolCard
548
+ },
549
+ {
550
+ tools: [computerActionToolName],
551
+ message: ComputerActionToolCard
552
+ },
553
+ {
554
+ tools: [computerExecToolName],
555
+ message: ComputerExecToolCard
556
+ }
557
+ ]
558
+ };
559
+ //#endregion
560
+ //#region src/extensions/workspaces/sessions/(frontend)/activity-group/computer-use.web.ts
561
+ var computer_use_web_default$1 = defineActivityGroup(_legacy_default.activityGroups[0]);
562
+ //#endregion
563
+ //#region src/extensions/workspaces/sessions/(frontend)/channel/computer-use.web.ts
564
+ var computer_use_web_default = defineChannelFile(_legacy_default.channels[0]);
565
+ //#endregion
566
+ //#region src/extensions/workspaces/sessions/(frontend)/fill/ComputerUse.activity.computer-use.web.tsx
567
+ var ComputerUse_activity_computer_use_web_default = defineFill({
568
+ slot: "activity.computer-use",
569
+ ..._legacy_default.activitySections[0]
570
+ });
571
+ //#endregion
572
+ //#region src/extensions/workspaces/sessions/(frontend)/mode/computer-use/mode.web.ts
573
+ var mode_web_default = defineMinorModeFile(_legacy_default.minorModes[0]);
574
+ //#endregion
575
+ //#region src/extensions/workspaces/sessions/(frontend)/tool/computer-action.web.tsx
576
+ var computer_action_web_default = defineToolRenderer(_legacy_default.toolRenderers[1]);
577
+ //#endregion
578
+ //#region src/extensions/workspaces/sessions/(frontend)/tool/computer-exec.web.tsx
579
+ var computer_exec_web_default = defineToolRenderer(_legacy_default.toolRenderers[2]);
580
+ //#endregion
581
+ //#region src/extensions/workspaces/sessions/(frontend)/tool/computer-state.web.tsx
582
+ var computer_state_web_default = defineToolRenderer(_legacy_default.toolRenderers[0]);
583
+ //#endregion
584
+ //#region generated/web.ts
585
+ const via = (identity, value) => ({
586
+ ...identity,
587
+ ...value
588
+ });
589
+ const webPlugin = defineWebPlugin({
590
+ id: "computer-use",
591
+ global: { get settingsSections() {
592
+ return [via({ id: "computer-use" }, computer_use_web_default$3)];
593
+ } },
594
+ workspace: { get settingsSections() {
595
+ return [via({ id: "computer-use" }, computer_use_web_default$2)];
596
+ } },
597
+ session: {
598
+ get activityGroups() {
599
+ return [via({ name: "computer-use" }, computer_use_web_default$1)];
600
+ },
601
+ get channels() {
602
+ return [via({ channel: "computer_use" }, computer_use_web_default)];
603
+ },
604
+ get fills() {
605
+ return [via({
606
+ slot: "activity.computer-use",
607
+ id: "computer-use"
608
+ }, ComputerUse_activity_computer_use_web_default)];
609
+ },
610
+ get minorModes() {
611
+ return [via({ name: "computer-use" }, mode_web_default)];
612
+ },
613
+ get toolRenderers() {
614
+ return [
615
+ via({ tools: ["computer_action"] }, computer_action_web_default),
616
+ via({ tools: ["computer_exec"] }, computer_exec_web_default),
617
+ via({ tools: ["computer_state"] }, computer_state_web_default)
618
+ ];
619
+ }
620
+ }
621
+ });
622
+ //#endregion
623
+ export { webPlugin };
624
+
625
+ //# sourceMappingURL=web.mjs.map