agent-tower 0.7.4 → 0.7.5-beta.5

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 (365) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +6 -1
  3. package/dist/app.js.map +1 -1
  4. package/dist/core/container.d.ts +2 -0
  5. package/dist/core/container.d.ts.map +1 -1
  6. package/dist/core/container.js +25 -0
  7. package/dist/core/container.js.map +1 -1
  8. package/dist/executors/__tests__/base.executor.test.js +19 -0
  9. package/dist/executors/__tests__/base.executor.test.js.map +1 -1
  10. package/dist/executors/__tests__/claude-code-mcp.test.d.ts +2 -0
  11. package/dist/executors/__tests__/claude-code-mcp.test.d.ts.map +1 -0
  12. package/dist/executors/__tests__/claude-code-mcp.test.js +211 -0
  13. package/dist/executors/__tests__/claude-code-mcp.test.js.map +1 -0
  14. package/dist/executors/__tests__/codex-mcp-windows.test.d.ts +2 -0
  15. package/dist/executors/__tests__/codex-mcp-windows.test.d.ts.map +1 -0
  16. package/dist/executors/__tests__/codex-mcp-windows.test.js +128 -0
  17. package/dist/executors/__tests__/codex-mcp-windows.test.js.map +1 -0
  18. package/dist/executors/__tests__/codex.executor.test.js +394 -1
  19. package/dist/executors/__tests__/codex.executor.test.js.map +1 -1
  20. package/dist/executors/base.executor.d.ts.map +1 -1
  21. package/dist/executors/base.executor.js +13 -0
  22. package/dist/executors/base.executor.js.map +1 -1
  23. package/dist/executors/claude-code.executor.d.ts +1 -0
  24. package/dist/executors/claude-code.executor.d.ts.map +1 -1
  25. package/dist/executors/claude-code.executor.js +52 -3
  26. package/dist/executors/claude-code.executor.js.map +1 -1
  27. package/dist/executors/codex.executor.d.ts +6 -6
  28. package/dist/executors/codex.executor.d.ts.map +1 -1
  29. package/dist/executors/codex.executor.js +118 -32
  30. package/dist/executors/codex.executor.js.map +1 -1
  31. package/dist/git/worktree.manager.d.ts.map +1 -1
  32. package/dist/git/worktree.manager.js +5 -2
  33. package/dist/git/worktree.manager.js.map +1 -1
  34. package/dist/mcp/http-client.d.ts +8 -1
  35. package/dist/mcp/http-client.d.ts.map +1 -1
  36. package/dist/mcp/http-client.js +6 -0
  37. package/dist/mcp/http-client.js.map +1 -1
  38. package/dist/mcp/tools/__tests__/workspace-services.test.js +34 -1
  39. package/dist/mcp/tools/__tests__/workspace-services.test.js.map +1 -1
  40. package/dist/mcp/tools/tasks.js +1 -1
  41. package/dist/mcp/tools/tasks.js.map +1 -1
  42. package/dist/mcp/tools/workspace-services.d.ts.map +1 -1
  43. package/dist/mcp/tools/workspace-services.js +39 -2
  44. package/dist/mcp/tools/workspace-services.js.map +1 -1
  45. package/dist/mcp/types.d.ts +20 -0
  46. package/dist/mcp/types.d.ts.map +1 -1
  47. package/dist/mcp/types.js +12 -0
  48. package/dist/mcp/types.js.map +1 -1
  49. package/dist/middleware/__tests__/preview-fallback.test.d.ts +2 -0
  50. package/dist/middleware/__tests__/preview-fallback.test.d.ts.map +1 -0
  51. package/dist/middleware/__tests__/preview-fallback.test.js +93 -0
  52. package/dist/middleware/__tests__/preview-fallback.test.js.map +1 -0
  53. package/dist/middleware/preview-fallback.d.ts +5 -0
  54. package/dist/middleware/preview-fallback.d.ts.map +1 -0
  55. package/dist/middleware/preview-fallback.js +91 -0
  56. package/dist/middleware/preview-fallback.js.map +1 -0
  57. package/dist/output/__tests__/claude-code-parser-continuation.test.d.ts +2 -0
  58. package/dist/output/__tests__/claude-code-parser-continuation.test.d.ts.map +1 -0
  59. package/dist/output/__tests__/claude-code-parser-continuation.test.js +89 -0
  60. package/dist/output/__tests__/claude-code-parser-continuation.test.js.map +1 -0
  61. package/dist/output/__tests__/claude-code-parser-lifecycle.test.js +4 -1
  62. package/dist/output/__tests__/claude-code-parser-lifecycle.test.js.map +1 -1
  63. package/dist/output/claude-code-parser.d.ts +36 -1
  64. package/dist/output/claude-code-parser.d.ts.map +1 -1
  65. package/dist/output/claude-code-parser.js +149 -18
  66. package/dist/output/claude-code-parser.js.map +1 -1
  67. package/dist/output/types.d.ts +2 -0
  68. package/dist/output/types.d.ts.map +1 -1
  69. package/dist/output/types.js.map +1 -1
  70. package/dist/prompts/workspace-background-service-policy.d.ts +6 -2
  71. package/dist/prompts/workspace-background-service-policy.d.ts.map +1 -1
  72. package/dist/prompts/workspace-background-service-policy.js +12 -3
  73. package/dist/prompts/workspace-background-service-policy.js.map +1 -1
  74. package/dist/prompts/workspace-background-service-policy.test.js +11 -0
  75. package/dist/prompts/workspace-background-service-policy.test.js.map +1 -1
  76. package/dist/routes/__tests__/previews.integration.test.js +117 -6
  77. package/dist/routes/__tests__/previews.integration.test.js.map +1 -1
  78. package/dist/routes/__tests__/previews.test.js +223 -194
  79. package/dist/routes/__tests__/previews.test.js.map +1 -1
  80. package/dist/routes/__tests__/task-handoff.test.js +25 -16
  81. package/dist/routes/__tests__/task-handoff.test.js.map +1 -1
  82. package/dist/routes/index.d.ts.map +1 -1
  83. package/dist/routes/index.js +3 -0
  84. package/dist/routes/index.js.map +1 -1
  85. package/dist/routes/previews.d.ts +11 -9
  86. package/dist/routes/previews.d.ts.map +1 -1
  87. package/dist/routes/previews.js +137 -516
  88. package/dist/routes/previews.js.map +1 -1
  89. package/dist/routes/session-wakeups.d.ts +7 -0
  90. package/dist/routes/session-wakeups.d.ts.map +1 -0
  91. package/dist/routes/session-wakeups.js +86 -0
  92. package/dist/routes/session-wakeups.js.map +1 -0
  93. package/dist/routes/tasks.d.ts.map +1 -1
  94. package/dist/routes/tasks.js +3 -1
  95. package/dist/routes/tasks.js.map +1 -1
  96. package/dist/runtime/__tests__/acp-process-manager.test.js +65 -0
  97. package/dist/runtime/__tests__/acp-process-manager.test.js.map +1 -1
  98. package/dist/runtime/__tests__/claude-cli-driver.test.js +96 -2
  99. package/dist/runtime/__tests__/claude-cli-driver.test.js.map +1 -1
  100. package/dist/runtime/__tests__/claude-run-lifecycle.test.d.ts +2 -0
  101. package/dist/runtime/__tests__/claude-run-lifecycle.test.d.ts.map +1 -0
  102. package/dist/runtime/__tests__/claude-run-lifecycle.test.js +88 -0
  103. package/dist/runtime/__tests__/claude-run-lifecycle.test.js.map +1 -0
  104. package/dist/runtime/__tests__/cli-driver-lifecycle.test.js +14 -7
  105. package/dist/runtime/__tests__/cli-driver-lifecycle.test.js.map +1 -1
  106. package/dist/runtime/acp/agents/pi-coding-agent.d.ts.map +1 -1
  107. package/dist/runtime/acp/agents/pi-coding-agent.js +3 -0
  108. package/dist/runtime/acp/agents/pi-coding-agent.js.map +1 -1
  109. package/dist/runtime/claude-run-lifecycle.d.ts +77 -0
  110. package/dist/runtime/claude-run-lifecycle.d.ts.map +1 -0
  111. package/dist/runtime/claude-run-lifecycle.js +147 -0
  112. package/dist/runtime/claude-run-lifecycle.js.map +1 -0
  113. package/dist/runtime/cli-driver.d.ts.map +1 -1
  114. package/dist/runtime/cli-driver.js +89 -3
  115. package/dist/runtime/cli-driver.js.map +1 -1
  116. package/dist/runtime/contracts.d.ts +6 -1
  117. package/dist/runtime/contracts.d.ts.map +1 -1
  118. package/dist/runtime/process-scope/__tests__/process-scope.test.d.ts +2 -0
  119. package/dist/runtime/process-scope/__tests__/process-scope.test.d.ts.map +1 -0
  120. package/dist/runtime/process-scope/__tests__/process-scope.test.js +156 -0
  121. package/dist/runtime/process-scope/__tests__/process-scope.test.js.map +1 -0
  122. package/dist/runtime/process-scope/process-scope.d.ts +46 -0
  123. package/dist/runtime/process-scope/process-scope.d.ts.map +1 -0
  124. package/dist/runtime/process-scope/process-scope.js +68 -0
  125. package/dist/runtime/process-scope/process-scope.js.map +1 -0
  126. package/dist/runtime/process-scope/scope-helper.d.ts +28 -0
  127. package/dist/runtime/process-scope/scope-helper.d.ts.map +1 -0
  128. package/dist/runtime/process-scope/scope-helper.js +78 -0
  129. package/dist/runtime/process-scope/scope-helper.js.map +1 -0
  130. package/dist/runtime/runtime-coordinator.d.ts.map +1 -1
  131. package/dist/runtime/runtime-coordinator.js +6 -0
  132. package/dist/runtime/runtime-coordinator.js.map +1 -1
  133. package/dist/services/__tests__/preview-runtime-manager.test.js +13 -112
  134. package/dist/services/__tests__/preview-runtime-manager.test.js.map +1 -1
  135. package/dist/services/__tests__/preview.service.test.js +13 -14
  136. package/dist/services/__tests__/preview.service.test.js.map +1 -1
  137. package/dist/services/__tests__/session-manager.lifecycle.test.js +147 -1
  138. package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
  139. package/dist/services/__tests__/session-wakeup.service.test.d.ts +2 -0
  140. package/dist/services/__tests__/session-wakeup.service.test.d.ts.map +1 -0
  141. package/dist/services/__tests__/session-wakeup.service.test.js +173 -0
  142. package/dist/services/__tests__/session-wakeup.service.test.js.map +1 -0
  143. package/dist/services/__tests__/terminal-manager.test.js +129 -51
  144. package/dist/services/__tests__/terminal-manager.test.js.map +1 -1
  145. package/dist/services/__tests__/workspace.service.test.js +31 -0
  146. package/dist/services/__tests__/workspace.service.test.js.map +1 -1
  147. package/dist/services/message-delivery.service.d.ts +3 -2
  148. package/dist/services/message-delivery.service.d.ts.map +1 -1
  149. package/dist/services/message-delivery.service.js +11 -7
  150. package/dist/services/message-delivery.service.js.map +1 -1
  151. package/dist/services/preview-bridge.d.ts +50 -0
  152. package/dist/services/preview-bridge.d.ts.map +1 -0
  153. package/dist/services/preview-bridge.js +537 -0
  154. package/dist/services/preview-bridge.js.map +1 -0
  155. package/dist/services/preview-cookies.d.ts +28 -0
  156. package/dist/services/preview-cookies.d.ts.map +1 -0
  157. package/dist/services/preview-cookies.js +133 -0
  158. package/dist/services/preview-cookies.js.map +1 -0
  159. package/dist/services/preview-proxy.d.ts +71 -0
  160. package/dist/services/preview-proxy.d.ts.map +1 -0
  161. package/dist/services/preview-proxy.js +462 -0
  162. package/dist/services/preview-proxy.js.map +1 -0
  163. package/dist/services/preview-runtime-manager.d.ts +11 -25
  164. package/dist/services/preview-runtime-manager.d.ts.map +1 -1
  165. package/dist/services/preview-runtime-manager.js +46 -363
  166. package/dist/services/preview-runtime-manager.js.map +1 -1
  167. package/dist/services/preview.service.d.ts.map +1 -1
  168. package/dist/services/preview.service.js +11 -9
  169. package/dist/services/preview.service.js.map +1 -1
  170. package/dist/services/project.service.d.ts +13 -13
  171. package/dist/services/session-manager.d.ts +2 -0
  172. package/dist/services/session-manager.d.ts.map +1 -1
  173. package/dist/services/session-manager.js +4 -2
  174. package/dist/services/session-manager.js.map +1 -1
  175. package/dist/services/session-wakeup.service.d.ts +105 -0
  176. package/dist/services/session-wakeup.service.d.ts.map +1 -0
  177. package/dist/services/session-wakeup.service.js +319 -0
  178. package/dist/services/session-wakeup.service.js.map +1 -0
  179. package/dist/services/task-handoff.service.d.ts +3 -2
  180. package/dist/services/task-handoff.service.d.ts.map +1 -1
  181. package/dist/services/task-handoff.service.js +7 -6
  182. package/dist/services/task-handoff.service.js.map +1 -1
  183. package/dist/services/team-room-delivery.d.ts +4 -4
  184. package/dist/services/terminal-manager.d.ts +16 -0
  185. package/dist/services/terminal-manager.d.ts.map +1 -1
  186. package/dist/services/terminal-manager.js +64 -7
  187. package/dist/services/terminal-manager.js.map +1 -1
  188. package/dist/services/workspace-background-service.service.d.ts +15 -1
  189. package/dist/services/workspace-background-service.service.d.ts.map +1 -1
  190. package/dist/services/workspace-background-service.service.js +41 -2
  191. package/dist/services/workspace-background-service.service.js.map +1 -1
  192. package/dist/services/workspace.service.d.ts.map +1 -1
  193. package/dist/services/workspace.service.js +2 -1
  194. package/dist/services/workspace.service.js.map +1 -1
  195. package/dist/utils/database-schema.d.ts.map +1 -1
  196. package/dist/utils/database-schema.js +9 -4
  197. package/dist/utils/database-schema.js.map +1 -1
  198. package/dist/utils/database-schema.test.js +21 -0
  199. package/dist/utils/database-schema.test.js.map +1 -1
  200. package/dist/utils/owned-child-process.d.ts +32 -3
  201. package/dist/utils/owned-child-process.d.ts.map +1 -1
  202. package/dist/utils/owned-child-process.js +138 -1
  203. package/dist/utils/owned-child-process.js.map +1 -1
  204. package/dist/web/assets/{AgentDemoPage-D9bIiALx.js → AgentDemoPage-D6clLNZx.js} +1 -1
  205. package/dist/web/assets/{AgentEnvironmentSettingsPage-BE0RC6fR.js → AgentEnvironmentSettingsPage-O1hlpsgp.js} +1 -1
  206. package/dist/web/assets/AttachmentPreview-hD3g_T_y.js +2 -0
  207. package/dist/web/assets/{BranchSelect-Kv3M1YhZ.js → BranchSelect-BkuXnEG2.js} +1 -1
  208. package/dist/web/assets/{BrandLogo-fR2lCwEo.js → BrandLogo-BSwQa2SF.js} +1 -1
  209. package/dist/web/assets/{ConversationPage-BZiMHI9T.js → ConversationPage-DvWjqFF2.js} +1 -1
  210. package/dist/web/assets/CreateTaskInput-Bric0GeW.js +1 -0
  211. package/dist/web/assets/{DemoPage-DwpThe16.js → DemoPage-Cwy3EmOm.js} +1 -1
  212. package/dist/web/assets/{DesignSystemPage-DH9_cygJ.js → DesignSystemPage-C1HrGwpV.js} +1 -1
  213. package/dist/web/assets/{ExecutionPermissionSelector-C-akTOVg.js → ExecutionPermissionSelector-BgrxbvBB.js} +1 -1
  214. package/dist/web/assets/{GeneralSettingsPage-v2w1eofz.js → GeneralSettingsPage-qdeAdBkW.js} +1 -1
  215. package/dist/web/assets/{LoadingPreviewPage-pgk3PWM9.js → LoadingPreviewPage-qeZ8nuiQ.js} +1 -1
  216. package/dist/web/assets/{McpSettingsPage-w1DOlY5V.js → McpSettingsPage-Bo-auo0X.js} +1 -1
  217. package/dist/web/assets/{MemberAvatar-CJtylxwu.js → MemberAvatar-DBab_9EO.js} +1 -1
  218. package/dist/web/assets/{MobileTaskDetail-D5Czlr2O.js → MobileTaskDetail-Dm64ie99.js} +2 -2
  219. package/dist/web/assets/{NotificationSettingsPage-CkLg4WvT.js → NotificationSettingsPage-BVJpo76k.js} +1 -1
  220. package/dist/web/assets/{ProfileSettingsPage-B3yzbY1V.js → ProfileSettingsPage-CbSRYGcp.js} +1 -1
  221. package/dist/web/assets/{ProjectKanbanPage-CuGSLvrU.js → ProjectKanbanPage-Cp3rdFik.js} +6 -6
  222. package/dist/web/assets/{ProjectSettingsPage-DoklOfna.js → ProjectSettingsPage-DLs5-Gk3.js} +1 -1
  223. package/dist/web/assets/{ProviderSettingsPage-Cm0hbX5n.js → ProviderSettingsPage-BnBcgAMQ.js} +1 -1
  224. package/dist/web/assets/{SettingsMasterDetail-CGCUalkW.js → SettingsMasterDetail-fu-_yejj.js} +1 -1
  225. package/dist/web/assets/{TaskDetail-BiZbuXcE.js → TaskDetail-C2_Fg59e.js} +1 -1
  226. package/dist/web/assets/TaskHandoffPanel-3Y0gcjyN.js +70 -0
  227. package/dist/web/assets/{TeamSettingsPage-CyppRTaY.js → TeamSettingsPage-CAjitaBe.js} +1 -1
  228. package/dist/web/assets/{TranslationSettingsPage-BoQXEZmn.js → TranslationSettingsPage-DKD6Uw2F.js} +1 -1
  229. package/dist/web/assets/{arc-5NPBSbiL.js → arc-BiuUFTzU.js} +1 -1
  230. package/dist/web/assets/{architectureDiagram-3BPJPVTR-CqPT-IsX.js → architectureDiagram-3BPJPVTR-Dcwk905A.js} +1 -1
  231. package/dist/web/assets/{at-sign-Cf39WHCg.js → at-sign-CZAKOH3i.js} +1 -1
  232. package/dist/web/assets/{blockDiagram-GPEHLZMM-BN-1z9KN.js → blockDiagram-GPEHLZMM-Cfc5JDN-.js} +1 -1
  233. package/dist/web/assets/{c4Diagram-AAUBKEIU-CkeLbmQp.js → c4Diagram-AAUBKEIU-B4v5PUdt.js} +1 -1
  234. package/dist/web/assets/channel-DThSYkmR.js +1 -0
  235. package/dist/web/assets/check-C3vuSPKz.js +1 -0
  236. package/dist/web/assets/{chevron-down-Ct7FZbKm.js → chevron-down-CtAk9uZw.js} +1 -1
  237. package/dist/web/assets/{chevron-up-ARFlXMyO.js → chevron-up-DAc3NX1J.js} +1 -1
  238. package/dist/web/assets/{chip-BV_1-tIb.js → chip-CDUNxQW2.js} +1 -1
  239. package/dist/web/assets/{chunk-2J33WTMH-CWR7tRuT.js → chunk-2J33WTMH-BYRdUeyt.js} +1 -1
  240. package/dist/web/assets/{chunk-4BX2VUAB-CAulp4D5.js → chunk-4BX2VUAB-3si_kPmV.js} +1 -1
  241. package/dist/web/assets/{chunk-55IACEB6-DqkKXsbD.js → chunk-55IACEB6-JiMm9u33.js} +1 -1
  242. package/dist/web/assets/{chunk-727SXJPM-B19m45Sq.js → chunk-727SXJPM-CMCFIUyF.js} +1 -1
  243. package/dist/web/assets/{chunk-AQP2D5EJ-CuODwkza.js → chunk-AQP2D5EJ-CzvnZjH5.js} +1 -1
  244. package/dist/web/assets/{chunk-FMBD7UC4-CbUAjtCT.js → chunk-FMBD7UC4-hsabZkPl.js} +1 -1
  245. package/dist/web/assets/{chunk-ND2GUHAM-C54VxArl.js → chunk-ND2GUHAM-D2o-Reeo.js} +1 -1
  246. package/dist/web/assets/{chunk-QZHKN3VN-D54Uw5fD.js → chunk-QZHKN3VN-ASJk-E7d.js} +1 -1
  247. package/dist/web/assets/classDiagram-4FO5ZUOK-CjJqgIpK.js +1 -0
  248. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-CjJqgIpK.js +1 -0
  249. package/dist/web/assets/{code-block-OCS4YCEC-CtAySD1h.js → code-block-OCS4YCEC-5bkFBowa.js} +1 -1
  250. package/dist/web/assets/{confirm-dialog-CCjHVFTv.js → confirm-dialog-Bs80kXB9.js} +1 -1
  251. package/dist/web/assets/{content-DZozZbBD.js → content-DAccroCT.js} +1 -1
  252. package/dist/web/assets/{copy-C-jvx2et.js → copy-D1XK3OqK.js} +1 -1
  253. package/dist/web/assets/{cose-bilkent-S5V4N54A-BaB2EVcU.js → cose-bilkent-S5V4N54A-C52UKnOd.js} +1 -1
  254. package/dist/web/assets/{cssMode-wd7JR1S4.js → cssMode-BFq_c5xU.js} +1 -1
  255. package/dist/web/assets/{dagre-BM42HDAG-C2j1Y8pO.js → dagre-BM42HDAG-CeEute93.js} +1 -1
  256. package/dist/web/assets/{diagram-2AECGRRQ-CF-EvpV9.js → diagram-2AECGRRQ-CEcq4W4S.js} +1 -1
  257. package/dist/web/assets/{diagram-5GNKFQAL-rBNso835.js → diagram-5GNKFQAL-DqQe7Rr7.js} +1 -1
  258. package/dist/web/assets/{diagram-KO2AKTUF-6NW-oos1.js → diagram-KO2AKTUF-C1KVZphS.js} +1 -1
  259. package/dist/web/assets/{diagram-LMA3HP47-DTfRxRLT.js → diagram-LMA3HP47-D1BL7GQh.js} +1 -1
  260. package/dist/web/assets/{diagram-OG6HWLK6-CS4Ae-hD.js → diagram-OG6HWLK6-ngyXooqC.js} +1 -1
  261. package/dist/web/assets/{dialog-DV4wfpNU.js → dialog-XkZ8wMQa.js} +1 -1
  262. package/dist/web/assets/{erDiagram-TEJ5UH35-Dw9QQctN.js → erDiagram-TEJ5UH35-D1zIFVqE.js} +1 -1
  263. package/dist/web/assets/{file-Btui_I8Z.js → file-CXCll7Pm.js} +1 -1
  264. package/dist/web/assets/{flowDiagram-I6XJVG4X-BGZ9q86S.js → flowDiagram-I6XJVG4X-BZu49qcj.js} +1 -1
  265. package/dist/web/assets/{folder-picker-DiR-8Qdl.js → folder-picker-CVkaEJEL.js} +1 -1
  266. package/dist/web/assets/{freemarker2-yVWXzD3l.js → freemarker2-CmhadAeB.js} +1 -1
  267. package/dist/web/assets/{ganttDiagram-6RSMTGT7-CkGun0no.js → ganttDiagram-6RSMTGT7-eJ8yBxfS.js} +1 -1
  268. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-Bz3oiYvi.js → gitGraphDiagram-PVQCEYII-DpeUUyH_.js} +1 -1
  269. package/dist/web/assets/{globe-DAFqpAcW.js → globe-WnxN1JzY.js} +1 -1
  270. package/dist/web/assets/{handlebars-BPf0z6eN.js → handlebars-DtjmH1qR.js} +1 -1
  271. package/dist/web/assets/{html-HCTCjfUg.js → html-DOYAlzlD.js} +1 -1
  272. package/dist/web/assets/{htmlMode-BDkbsknt.js → htmlMode-ORxd7KRN.js} +1 -1
  273. package/dist/web/assets/{index-BMcLxIvZ.js → index-6mINSZng.js} +1 -1
  274. package/dist/web/assets/{index-BPqjxXmH.js → index-BrjvxKaf.js} +1 -1
  275. package/dist/web/assets/{index-B8xoIIa6.js → index-CqIyOiVN.js} +4 -4
  276. package/dist/web/assets/{index-DgUtx9rV.js → index-D9w1zMaz.js} +1 -1
  277. package/dist/web/assets/{index-DkSPjZm4.js → index-DHDgbH3t.js} +1 -1
  278. package/dist/web/assets/{index-BszkzNS4.js → index-Dz9SKopM.js} +13 -13
  279. package/dist/web/assets/{index-GuczxPxb.js → index-eIXz5Hbk.js} +1 -1
  280. package/dist/web/assets/{index-DuM6iAxG.js → index-iOIxdF6J.js} +1 -1
  281. package/dist/web/assets/{index-lZLy5rkr.js → index-wbMiSmsY.js} +1 -1
  282. package/dist/web/assets/{infoDiagram-5YYISTIA-DYFufUYC.js → infoDiagram-5YYISTIA-BiVrC__7.js} +1 -1
  283. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-IOkrKRwu.js → ishikawaDiagram-YF4QCWOH-B1kPjO1J.js} +1 -1
  284. package/dist/web/assets/javascript-CHlWHrtz.js +1 -0
  285. package/dist/web/assets/{journeyDiagram-JHISSGLW-Btl3yxne.js → journeyDiagram-JHISSGLW-DoTAPPAQ.js} +1 -1
  286. package/dist/web/assets/{jsonMode-DJPdvFcw.js → jsonMode-BkeQ_C6g.js} +1 -1
  287. package/dist/web/assets/{kanban-definition-UN3LZRKU-CDryhPbA.js → kanban-definition-UN3LZRKU-CBRmLcce.js} +1 -1
  288. package/dist/web/assets/{kbd-8RRRm9jd.js → kbd-CTfS0G5-.js} +1 -1
  289. package/dist/web/assets/{key-round-wojrCrDP.js → key-round-B7gTfpDR.js} +1 -1
  290. package/dist/web/assets/{layers-BH_LL4b8.js → layers-DE0xXedq.js} +1 -1
  291. package/dist/web/assets/{linear-BLuwKHze.js → linear-VLiA8Vcw.js} +1 -1
  292. package/dist/web/assets/{link-jWQOSQOQ.js → link-BSE_nRDT.js} +1 -1
  293. package/dist/web/assets/{liquid-1y-xg637.js → liquid-BZeg6p1K.js} +1 -1
  294. package/dist/web/assets/{lspLanguageFeatures-cYkILdCn.js → lspLanguageFeatures-CuFQ2_f9.js} +1 -1
  295. package/dist/web/assets/{mdx-CRg4Q6aP.js → mdx-C7xLyFFX.js} +1 -1
  296. package/dist/web/assets/{menu-CMqbaDni.js → menu-Dp4RDxvP.js} +1 -1
  297. package/dist/web/assets/{mermaid-NOHMQCX5-CYeAhOl-.js → mermaid-NOHMQCX5-C2enCJxR.js} +62 -62
  298. package/dist/web/assets/{message-square-DykJ2lWP.js → message-square-4lyHjyHe.js} +1 -1
  299. package/dist/web/assets/{mindmap-definition-RKZ34NQL-B5wtw1Rv.js → mindmap-definition-RKZ34NQL-C1OOtqma.js} +1 -1
  300. package/dist/web/assets/{modal-BwOwTzij.js → modal-BGglpgrR.js} +1 -1
  301. package/dist/web/assets/{monaco-CcHqpOKe.js → monaco-B-6VmJO0.js} +3 -3
  302. package/dist/web/assets/{nav-row-BmtdNLxR.js → nav-row-DaR8yP7p.js} +1 -1
  303. package/dist/web/assets/{paperclip-C4t49vX2.js → paperclip-DORF2rEM.js} +1 -1
  304. package/dist/web/assets/{pencil-BQ5_raiB.js → pencil-BG033B74.js} +1 -1
  305. package/dist/web/assets/{people-Dr0v8HK0.js → people-1qyKeYq6.js} +1 -1
  306. package/dist/web/assets/{pieDiagram-4H26LBE5-BZ3VoaNI.js → pieDiagram-4H26LBE5-BYYFVqOS.js} +1 -1
  307. package/dist/web/assets/{popover-CTqvKqTR.js → popover-CvjMbMb4.js} +1 -1
  308. package/dist/web/assets/{python-Huq_acyd.js → python-TTfnYnjF.js} +1 -1
  309. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-C6ArHmnG.js → quadrantDiagram-W4KKPZXB-DTllM2j9.js} +1 -1
  310. package/dist/web/assets/{razor-Clc87Ivb.js → razor-BFVXAHVd.js} +1 -1
  311. package/dist/web/assets/{requirementDiagram-4Y6WPE33-DiLzBRQP.js → requirementDiagram-4Y6WPE33-DeJDRYUP.js} +1 -1
  312. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-QlYYd7IZ.js → sankeyDiagram-5OEKKPKP-DzTvEKv8.js} +1 -1
  313. package/dist/web/assets/{search-CMIAPUEt.js → search-DDRcBORc.js} +1 -1
  314. package/dist/web/assets/{select-DqB7YF38.js → select-CXC17bJx.js} +1 -1
  315. package/dist/web/assets/{select-Bg7NI8i0.js → select-CzXL3ZbG.js} +1 -1
  316. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-COKEtqc0.js → sequenceDiagram-3UESZ5HK-CIYrA1ww.js} +1 -1
  317. package/dist/web/assets/{server-D7knl8H9.js → server-KqeWHfgr.js} +1 -1
  318. package/dist/web/assets/{stateDiagram-AJRCARHV-1RZZZdOe.js → stateDiagram-AJRCARHV-Dg_UXkEq.js} +1 -1
  319. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Lc4r0bC3.js +1 -0
  320. package/dist/web/assets/{textarea-BCY2J2ca.js → textarea-Cmbv5l35.js} +1 -1
  321. package/dist/web/assets/{timeline-definition-PNZ67QCA-IJl1LY6J.js → timeline-definition-PNZ67QCA-CfSPMqxF.js} +1 -1
  322. package/dist/web/assets/{toggles-C4LmZwyo.js → toggles-t5v4QKn6.js} +1 -1
  323. package/dist/web/assets/{tooltip-Cirpotu3.js → tooltip-Cp8tovqH.js} +1 -1
  324. package/dist/web/assets/{track-Cv7h6oaE.js → track-C1rUV49K.js} +1 -1
  325. package/dist/web/assets/{trash-2-BEOQ1ICJ.js → trash-2-Ca2ken6q.js} +1 -1
  326. package/dist/web/assets/{tsMode-CHIbCBQc.js → tsMode-DBbiXlyu.js} +1 -1
  327. package/dist/web/assets/{typescript-CScj0bbb.js → typescript-jv_3P9x_.js} +1 -1
  328. package/dist/web/assets/{upload-tLVD0xMT.js → upload-CgGjN1FH.js} +1 -1
  329. package/dist/web/assets/{use-profiles-TkoP4Yw9.js → use-profiles-BdL-U8GZ.js} +1 -1
  330. package/dist/web/assets/{use-providers-Bz6YNiYj.js → use-providers-B6Mj5qeG.js} +1 -1
  331. package/dist/web/assets/{use-translation-settings-CCpQNS30.js → use-translation-settings-FIP674t9.js} +1 -1
  332. package/dist/web/assets/{useNormalizedLogs-Bstb98cF.js → useNormalizedLogs-FpVMUHeq.js} +1 -1
  333. package/dist/web/assets/useTokenUsage-Ay3Yy0_V.js +1 -0
  334. package/dist/web/assets/{vennDiagram-CIIHVFJN-DzVayy4U.js → vennDiagram-CIIHVFJN-DKREAIRT.js} +1 -1
  335. package/dist/web/assets/{wardley-L42UT6IY-CULSKh55.js → wardley-L42UT6IY-BMpDotAz.js} +1 -1
  336. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-C5_h3lAA.js → wardleyDiagram-YWT4CUSO-DAPccQsF.js} +1 -1
  337. package/dist/web/assets/{xml-XuycSwh6.js → xml-DnxIQwRS.js} +1 -1
  338. package/dist/web/assets/{xychartDiagram-2RQKCTM6-F65naXcR.js → xychartDiagram-2RQKCTM6-o06g8vo8.js} +1 -1
  339. package/dist/web/assets/{yaml-BWm159lw.js → yaml-BV5yQTRd.js} +1 -1
  340. package/dist/web/index.html +1 -1
  341. package/node_modules/@agent-tower/shared/dist/log-adapter.d.ts +4 -0
  342. package/node_modules/@agent-tower/shared/dist/log-adapter.d.ts.map +1 -1
  343. package/node_modules/@agent-tower/shared/dist/log-adapter.js +1 -0
  344. package/node_modules/@agent-tower/shared/dist/log-adapter.js.map +1 -1
  345. package/node_modules/@agent-tower/shared/dist/translation.d.ts +4 -1
  346. package/node_modules/@agent-tower/shared/dist/translation.d.ts.map +1 -1
  347. package/node_modules/@agent-tower/shared/dist/translation.js +4 -1
  348. package/node_modules/@agent-tower/shared/dist/translation.js.map +1 -1
  349. package/node_modules/@agent-tower/shared/dist/types.d.ts +38 -2
  350. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  351. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  352. package/package.json +2 -1
  353. package/prisma/migrations/20261106000000_add_session_wakeups/migration.sql +28 -0
  354. package/prisma/schema.prisma +28 -0
  355. package/scripts/postinstall.js +23 -0
  356. package/dist/web/assets/AttachmentPreview-TPd4gdfb.js +0 -2
  357. package/dist/web/assets/CreateTaskInput-TcZpjBe-.js +0 -1
  358. package/dist/web/assets/TaskHandoffPanel-CJahUKNo.js +0 -70
  359. package/dist/web/assets/channel-CDkuQ_7m.js +0 -1
  360. package/dist/web/assets/check-yNWhPvMH.js +0 -1
  361. package/dist/web/assets/classDiagram-4FO5ZUOK-eHY73FGu.js +0 -1
  362. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-eHY73FGu.js +0 -1
  363. package/dist/web/assets/javascript-DKmxrNeR.js +0 -1
  364. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-CCLmVs34.js +0 -1
  365. package/dist/web/assets/useTokenUsage-D7SEwXb0.js +0 -1
@@ -147,6 +147,27 @@ describe('P3 startup schema barrier (isolated SQLite and real bundled Prisma)',
147
147
  expect(await db.conversationTurn.findUnique({ where: { id: 'turn-0' } })).toEqual(turn);
148
148
  expect(await db.messageDelivery.findUnique({ where: { id: 'delivery' }, include: { receipt: true, actions: true } })).toEqual(delivery);
149
149
  }, 20_000);
150
+ it('accepts valid SYSTEM_EVENT deliveries during repeated startup sync', async () => {
151
+ await sync();
152
+ const delivery = await db.messageDelivery.create({ data: {
153
+ id: 'system-event-delivery', clientSubmissionId: 'system-event-submission', requestFingerprint: 'system-event-fingerprint',
154
+ sessionId: 'session-WORKSPACE-0', channelKey: 'session:session-WORKSPACE-0', sequence: 1, origin: 'SYSTEM_EVENT',
155
+ originalText: 'wake-up', sourceHash: 'system-event-hash', enableEpoch: 0, requiresTranslation: false,
156
+ state: 'READY', sentMode: 'ORIGINAL', acceptedText: 'wake-up', intent: JSON.stringify({ systemEvent: true }),
157
+ } });
158
+ await expect(sync()).resolves.toBeUndefined();
159
+ expect(await db.messageDelivery.findUnique({ where: { id: delivery.id } })).toEqual(delivery);
160
+ }, 20_000);
161
+ it('still rejects SYSTEM_EVENT deliveries with a conversation destination', async () => {
162
+ await sync();
163
+ await db.messageDelivery.create({ data: {
164
+ id: 'invalid-system-event', clientSubmissionId: 'invalid-system-event-submission', requestFingerprint: 'invalid-system-event-fingerprint',
165
+ sessionId: 'session-WORKSPACE-0', channelKey: 'conversation:conversation-0', sequence: 1, origin: 'SYSTEM_EVENT',
166
+ originalText: 'wake-up', sourceHash: 'invalid-system-event-hash', enableEpoch: 0, requiresTranslation: false,
167
+ state: 'READY', sentMode: 'ORIGINAL', acceptedText: 'wake-up', intent: JSON.stringify({ systemEvent: true }),
168
+ } });
169
+ await expect(sync()).rejects.toThrow('MessageDelivery session origin/scope is invalid');
170
+ }, 20_000);
150
171
  for (const phase of ['one-column', 'prepared', 'pushed'])
151
172
  it(`resumes after ${phase} interruption and preserves non-null IDs`, async () => {
152
173
  if (phase === 'one-column')
@@ -1 +1 @@
1
- {"version":3,"file":"database-schema.test.js","sourceRoot":"","sources":["../../src/utils/database-schema.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-schema.test.js","sourceRoot":"","sources":["../../src/utils/database-schema.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type ChildProcess } from 'node:child_process';
2
2
  import { type WindowsProcessTreeAdapter } from '../runtime/acp/process-manager.js';
3
3
  import { type UnixProcessIdentityAdapter } from './unix-process-identity.js';
4
+ import { type ProcessScopeRuntime } from '../runtime/process-scope/process-scope.js';
4
5
  export interface ChildProcessOwner {
5
6
  stop(): Promise<void>;
6
7
  }
@@ -36,6 +37,27 @@ export declare class OwnedChildProcess implements ChildProcessOwner {
36
37
  private signal;
37
38
  private waitForExit;
38
39
  }
40
+ /**
41
+ * Owner for a command started inside a supervised process scope. The
42
+ * supervisor keeps every descendant attached, forwards the stop request,
43
+ * escalates after the grace period, and exits only when the scope is empty, so
44
+ * its exit event is the cleanup confirmation and no sampling timer exists.
45
+ */
46
+ export declare class SupervisedChildProcess implements ChildProcessOwner {
47
+ private readonly child;
48
+ private readonly scope;
49
+ private exited;
50
+ private stopping;
51
+ private readonly exitPromise;
52
+ private readonly shutdown;
53
+ constructor(child: ChildProcess, scope: ProcessScopeRuntime, options?: {
54
+ graceMs?: number;
55
+ });
56
+ stop(): Promise<void>;
57
+ ready(): Promise<void>;
58
+ get stopRequested(): boolean;
59
+ private waitForExit;
60
+ }
39
61
  export type OwnedCommandProcess = ChildProcess & {
40
62
  owner: ChildProcessOwner;
41
63
  commandResult?: {
@@ -44,14 +66,21 @@ export type OwnedCommandProcess = ChildProcess & {
44
66
  error?: string;
45
67
  };
46
68
  };
47
- /** Windows keeps a launch wrapper alive until its verified tree is reaped. */
48
- export declare function spawnOwnedProcess(command: string, args: string[], options: {
69
+ export interface SpawnOwnedProcessOptions {
49
70
  cwd?: string;
50
71
  env?: NodeJS.ProcessEnv;
51
72
  graceMs?: number;
52
73
  platform?: NodeJS.Platform;
53
74
  windows?: WindowsProcessTreeAdapter;
54
- }): OwnedCommandProcess;
75
+ /** `undefined` selects the host default scope backend; `null` forces the compatibility backend. */
76
+ scope?: ProcessScopeRuntime | null;
77
+ }
78
+ /**
79
+ * Linux runs the command inside a supervised scope. Windows keeps a launch
80
+ * wrapper alive until its verified tree is reaped. Other hosts sample the
81
+ * process table through OwnedChildProcess.
82
+ */
83
+ export declare function spawnOwnedProcess(command: string, args: string[], options: SpawnOwnedProcessOptions): OwnedCommandProcess;
55
84
  export interface OwnedCommandOptions {
56
85
  cwd?: string;
57
86
  env?: NodeJS.ProcessEnv;
@@ -1 +1 @@
1
- {"version":3,"file":"owned-child-process.d.ts","sourceRoot":"","sources":["../../src/utils/owned-child-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owned-child-process.d.ts","sourceRoot":"","sources":["../../src/utils/owned-child-process.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { randomUUID } from 'node:crypto';
3
+ import { accessSync, constants as fsConstants, statSync } from 'node:fs';
4
+ import path from 'node:path';
3
5
  import { ReferencedShutdownCoordinator } from '../runtime/shutdown-coordinator.js';
4
6
  import { assertApplicationProcessStartAllowed, registerApplicationProcessCleanup } from '../runtime/application-process-cleanup.js';
5
7
  import { createWindowsProcessTreeAdapter } from '../runtime/acp/process-manager.js';
6
8
  import { createUnixProcessIdentityAdapter, PROCESS_IDENTITY_ENV } from './unix-process-identity.js';
9
+ import { getDefaultProcessScopeRuntime, parseScopeStatusLine } from '../runtime/process-scope/process-scope.js';
10
+ const FORCE_EXIT_TIMEOUT_MS = 2_000;
7
11
  const activeOwners = new Set();
8
12
  /** Used by application shutdown as well as the individual command caller. */
9
13
  export async function shutdownOwnedChildProcesses() {
@@ -146,6 +150,119 @@ export class OwnedChildProcess {
146
150
  return false;
147
151
  }
148
152
  }
153
+ /**
154
+ * Owner for a command started inside a supervised process scope. The
155
+ * supervisor keeps every descendant attached, forwards the stop request,
156
+ * escalates after the grace period, and exits only when the scope is empty, so
157
+ * its exit event is the cleanup confirmation and no sampling timer exists.
158
+ */
159
+ export class SupervisedChildProcess {
160
+ child;
161
+ scope;
162
+ exited;
163
+ stopping = false;
164
+ exitPromise;
165
+ shutdown;
166
+ constructor(child, scope, options = {}) {
167
+ this.child = child;
168
+ this.scope = scope;
169
+ this.exited = child.exitCode !== null && child.exitCode !== undefined
170
+ || child.signalCode !== null && child.signalCode !== undefined;
171
+ this.exitPromise = new Promise((resolve) => {
172
+ if (this.exited) {
173
+ resolve();
174
+ return;
175
+ }
176
+ child.once('exit', () => { this.exited = true; resolve(); });
177
+ child.once('error', () => { if (!child.pid) {
178
+ this.exited = true;
179
+ resolve();
180
+ } });
181
+ });
182
+ const graceMs = options.graceMs ?? 2_000;
183
+ this.shutdown = new ReferencedShutdownCoordinator(async () => {
184
+ const pid = this.child.pid;
185
+ if (pid && !this.exited) {
186
+ this.scope.requestStop(pid, 'SIGTERM');
187
+ if (!await this.waitForExit(graceMs + FORCE_EXIT_TIMEOUT_MS)) {
188
+ this.scope.forceStop(pid);
189
+ if (!await this.waitForExit(FORCE_EXIT_TIMEOUT_MS))
190
+ throw new Error('Child process tree cleanup remains pending');
191
+ }
192
+ }
193
+ activeOwners.delete(this);
194
+ unregister();
195
+ });
196
+ const unregister = registerApplicationProcessCleanup(() => this.stop());
197
+ activeOwners.add(this);
198
+ }
199
+ stop() {
200
+ this.stopping = true;
201
+ return this.shutdown.request();
202
+ }
203
+ ready() { return Promise.resolve(); }
204
+ get stopRequested() { return this.stopping; }
205
+ async waitForExit(timeoutMs) {
206
+ if (this.exited)
207
+ return true;
208
+ let timer;
209
+ const timedOut = new Promise((resolve) => { timer = setTimeout(() => resolve(false), timeoutMs); });
210
+ try {
211
+ return await Promise.race([this.exitPromise.then(() => true), timedOut]);
212
+ }
213
+ finally {
214
+ if (timer)
215
+ clearTimeout(timer);
216
+ }
217
+ }
218
+ }
219
+ /**
220
+ * Synchronous PATH lookup. A missing executable keeps surfacing as Node's own
221
+ * ENOENT spawn error instead of a supervisor exit status, so callers that
222
+ * detect absent tools keep working unchanged.
223
+ */
224
+ function resolveExecutable(command, env, cwd) {
225
+ const isExecutableFile = (candidate) => {
226
+ try {
227
+ accessSync(candidate, fsConstants.X_OK);
228
+ return statSync(candidate).isFile();
229
+ }
230
+ catch {
231
+ return false;
232
+ }
233
+ };
234
+ if (command.includes('/')) {
235
+ const resolved = path.resolve(cwd ?? process.cwd(), command);
236
+ return isExecutableFile(resolved) ? resolved : null;
237
+ }
238
+ for (const dir of (env.PATH ?? process.env.PATH ?? '').split(path.delimiter)) {
239
+ if (!dir)
240
+ continue;
241
+ const candidate = path.join(dir, command);
242
+ if (isExecutableFile(candidate))
243
+ return candidate;
244
+ }
245
+ return null;
246
+ }
247
+ /** Records the command's own exit from the supervisor's status lines (fd 3). */
248
+ function readScopeStatus(child) {
249
+ const status = child.stdio[3];
250
+ if (!status || typeof status.on !== 'function')
251
+ return;
252
+ let buffer = '';
253
+ status.setEncoding('utf8');
254
+ status.on('data', (chunk) => {
255
+ buffer += chunk;
256
+ let newline;
257
+ while ((newline = buffer.indexOf('\n')) >= 0) {
258
+ const parsed = parseScopeStatusLine(buffer.slice(0, newline));
259
+ buffer = buffer.slice(newline + 1);
260
+ if (parsed?.type === 'root-exit')
261
+ child.commandResult = { code: parsed.code, signal: parsed.signal };
262
+ }
263
+ });
264
+ status.on('error', () => undefined);
265
+ }
149
266
  const WINDOWS_COMMAND_WRAPPER = String.raw `
150
267
  const {spawn} = require('node:child_process');
151
268
  process.on('message', message => {
@@ -155,12 +272,32 @@ process.on('message', message => {
155
272
  child.once('exit', (code,signal) => process.send({type:'command-exit',code,signal}));
156
273
  });
157
274
  `;
158
- /** Windows keeps a launch wrapper alive until its verified tree is reaped. */
275
+ /**
276
+ * Linux runs the command inside a supervised scope. Windows keeps a launch
277
+ * wrapper alive until its verified tree is reaped. Other hosts sample the
278
+ * process table through OwnedChildProcess.
279
+ */
159
280
  export function spawnOwnedProcess(command, args, options) {
160
281
  assertApplicationProcessStartAllowed();
161
282
  const token = randomUUID();
162
283
  const platform = options.platform ?? process.platform;
163
284
  const isWindows = platform === 'win32';
285
+ const scope = isWindows ? null : options.scope === undefined ? getDefaultProcessScopeRuntime(platform) : options.scope;
286
+ const executable = scope ? resolveExecutable(command, options.env ?? process.env, options.cwd) : null;
287
+ if (scope && executable) {
288
+ const invocation = scope.buildInvocation({ id: `command-${token}`, graceMs: options.graceMs ?? 2_000, rootExitSignal: 'SIGTERM', stopOnParentDeath: true, statusFd: 3 }, executable, args);
289
+ const supervised = spawn(invocation.command, invocation.args, {
290
+ cwd: options.cwd,
291
+ env: options.env ?? process.env,
292
+ detached: true,
293
+ stdio: ['ignore', 'pipe', 'pipe', 'pipe'],
294
+ windowsHide: true,
295
+ shell: false,
296
+ });
297
+ readScopeStatus(supervised);
298
+ supervised.owner = new SupervisedChildProcess(supervised, scope, { graceMs: options.graceMs });
299
+ return supervised;
300
+ }
164
301
  const child = spawn(isWindows ? process.execPath : command, isWindows ? ['-e', WINDOWS_COMMAND_WRAPPER] : args, {
165
302
  cwd: options.cwd,
166
303
  env: { ...(options.env ?? process.env), [PROCESS_IDENTITY_ENV]: token },
@@ -1 +1 @@
1
- {"version":3,"file":"owned-child-process.js","sourceRoot":"","sources":["../../src/utils/owned-child-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owned-child-process.js","sourceRoot":"","sources":["../../src/utils/owned-child-process.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{c as H,j as e,u as te,aO as se,r,p as b,B as N,N as re,aQ as ne,ax as ae}from"./index-BszkzNS4.js";import{u as le,a as oe,L as ie,T as ce}from"./useNormalizedLogs-Bstb98cF.js";import{a as de}from"./mermaid-NOHMQCX5-CYeAhOl-.js";import"./AttachmentPreview-TPd4gdfb.js";import{d as xe}from"./use-profiles-TkoP4Yw9.js";import{C as me}from"./chevron-up-ARFlXMyO.js";import{C as ue}from"./chevron-down-Ct7FZbKm.js";import{P as pe}from"./paperclip-C4t49vX2.js";import{A as he}from"./at-sign-Cf39WHCg.js";import{G as ge}from"./globe-DAFqpAcW.js";import"./track-Cv7h6oaE.js";import"./use-translation-settings-CCpQNS30.js";import"./copy-C-jvx2et.js";import"./index-DgUtx9rV.js";import"./index-BPqjxXmH.js";import"./index-lZLy5rkr.js";import"./tooltip-Cirpotu3.js";import"./kbd-8RRRm9jd.js";import"./index-DkSPjZm4.js";const fe=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],be=H("hash",fe);const je=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],ve=H("send",je),B=({className:s})=>e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:s,xmlns:"http://www.w3.org/2000/svg",children:[e.jsx("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.4"}),e.jsx("circle",{cx:"8",cy:"8",r:"3",fill:"currentColor"})]}),ye=({className:s})=>e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:s,xmlns:"http://www.w3.org/2000/svg",children:e.jsx("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.5"})}),Ne=({className:s})=>e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:s,xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M13.5 4.5L6.5 11.5L2.5 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),we=!0;function Oe(){const{t:s}=te(),{preserveDesktopSearch:U}=se(),[w,V]=r.useState([]),[o,S]=r.useState(""),[x,k]=r.useState("DEFAULT"),[i,A]=r.useState(""),[a,C]=r.useState(null),[F,D]=r.useState(null),[l,c]=r.useState("idle"),[g,E]=r.useState(!1),[m,j]=r.useState(""),$=r.useRef(null),I=r.useRef(null),u=r.useRef(null),{data:p}=xe(o),M=p?Object.keys(p):["DEFAULT"],O=t=>{S(t),k("DEFAULT")},_=r.useCallback(t=>{c(t===0?"stopped":"error")},[]),G=r.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,isOutputActive:W,lastExitAt:K,logs:v,entries:q,agentSessionId:L,attach:z,clearLogs:P}=le({sessionId:a||"",sessionStartedAt:F,onExit:_,onError:G}),{todos:R}=oe(q);r.useEffect(()=>{b.get("/demo/agents").then(t=>{V(t.agents);const n=t.agents.find(y=>y.available);n&&S(n.type)})},[]),r.useEffect(()=>{$.current?.scrollToBottom("smooth")},[v]),r.useEffect(()=>{console.log(`[AgentDemoPage:useEffect] t=${Date.now()} sessionId=${a} isConnected=${h} isAttached=${f}`),a&&h&&!f&&(console.log(`[AgentDemoPage:useEffect] t=${Date.now()} calling attach()`),z())},[a,h,f,z]);const J=t=>{if(j(t.target.value),u.current){u.current.style.height="auto";const y=Math.min(u.current.scrollHeight,210);u.current.style.height=`${y}px`}},Q=async()=>{if(!o||!i.trim())return;const t=Date.now();console.log(`[AgentDemoPage:handleStart] t=${t} starting...`),c("starting"),P();try{const n=await b.post("/demo/start",{agentType:o,prompt:i.trim(),variant:x});we&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${n.sessionId}`),C(n.sessionId),D(t),c("running")}catch(n){console.error("Start failed:",n),c("error")}},T=async()=>{if(!a||!m.trim())return;const t=m.trim();j("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(n){console.error("Send failed:",n)}},X=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},Y=()=>{C(null),D(null),c("idle"),A(""),j(""),P()},Z=l==="running",d=a!==null,ee=w.find(t=>t.type===o);return e.jsxs("div",{className:"flex flex-col h-full bg-white",children:[e.jsxs("div",{className:"px-8 py-5 border-b border-neutral-100 bg-white transition-all duration-300",children:[e.jsxs("div",{className:"flex items-center flex-wrap gap-3",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-base font-medium text-blue-600",children:"Agent Demo"}),e.jsx("span",{className:"text-neutral-300 text-sm",children:"/"}),e.jsx("span",{className:"text-xl font-bold text-neutral-900 tracking-tight",children:d?i.slice(0,50)+(i.length>50?"...":""):s("新会话")})]}),e.jsxs("div",{className:"flex items-center",children:[l==="running"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-blue-50 text-blue-700 rounded-full text-xs font-medium border border-blue-100",children:[e.jsx(B,{className:"w-3.5 h-3.5 animate-pulse"}),e.jsx("span",{children:"Running"})]}),l==="stopped"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-emerald-50 text-emerald-700 rounded-full text-xs font-medium border border-emerald-100",children:[e.jsx(Ne,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Done"})]}),l==="idle"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-neutral-100 text-neutral-600 rounded-full text-xs font-medium border border-neutral-200",children:[e.jsx(ye,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Idle"})]}),l==="starting"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-amber-50 text-amber-700 rounded-full text-xs font-medium border border-amber-100",children:[e.jsx(B,{className:"w-3.5 h-3.5 animate-spin"}),e.jsx("span",{children:"Starting..."})]}),l==="error"&&e.jsx("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-red-50 text-red-700 rounded-full text-xs font-medium border border-red-100",children:e.jsx("span",{children:"Error"})})]})]}),d&&e.jsxs("div",{className:"mt-1.5 flex items-start gap-2 group max-w-4xl",children:[e.jsx("div",{className:`text-sm text-neutral-600 leading-relaxed cursor-pointer transition-all ${g?"":"truncate"}`,onClick:()=>E(!g),children:i}),e.jsx("button",{onClick:()=>E(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(me,{size:14}):e.jsx(ue,{size:14})})]}),e.jsxs("div",{className:"flex items-center gap-6 mt-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Agent"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-900 font-medium bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:ee?.name||o||s("未选择")})]}),x!=="DEFAULT"&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Variant"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-700 font-medium bg-blue-50 px-2 py-1 rounded border border-blue-100",children:x})]}),L&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Session"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-neutral-700 font-mono bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:[L.slice(0,8),"..."]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:s("连接")}),e.jsx("div",{className:`flex items-center gap-1.5 font-medium px-2 py-1 rounded border ${h?"text-emerald-700 bg-emerald-50 border-emerald-100":"text-neutral-500 bg-neutral-50 border-neutral-100"}`,children:s(h?f?"已连接":"连接中...":"未连接")})]}),d&&e.jsx(N,{variant:"outline",size:"sm",onClick:Y,className:"ml-auto",children:s("新会话")}),e.jsxs(re,{to:U("/settings/profiles"),className:`flex items-center gap-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors ${d?"":"ml-auto"}`,children:[e.jsx(ne,{size:14}),e.jsx("span",{children:s("Profiles 设置")})]})]})]}),e.jsx("div",{ref:I,className:"flex-1 overflow-y-auto px-8 py-6",children:d?e.jsx("div",{className:"min-h-[200px]",children:v.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(ie,{children:e.jsx(de,{ref:$,logs:v,isOutputActive:W,lastExitAt:K,scrollElementRef:I})})}):e.jsxs("div",{className:"max-w-2xl mx-auto space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("选择 Agent")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:w.map(t=>e.jsxs(N,{variant:o===t.type?"default":"outline",disabled:!t.available,onClick:()=>O(t.type),children:[t.name,t.available&&t.version&&` (${t.version})`,!t.available&&s(" (不可用)")]},t.type))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("配置变体 (Profile Variant)")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:M.map(t=>e.jsx("button",{onClick:()=>k(t),className:`px-3 py-1.5 rounded-full text-sm font-medium border transition-colors ${x===t?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-600 border-neutral-200 hover:border-neutral-400"}`,children:t},t))}),p&&p[x]&&e.jsx("p",{className:"mt-2 text-xs text-neutral-500 font-mono",children:Object.entries(p[x]).map(([t,n])=>`${t}: ${JSON.stringify(n)}`).join(", ")})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("输入任务")}),e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{value:i,onChange:t=>A(t.target.value),rows:4,placeholder:s("描述你想让 Agent 完成的任务..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm"}),e.jsx("div",{className:"flex items-center justify-end px-3 pb-3 pt-1",children:e.jsx(N,{onClick:Q,disabled:l==="starting"||!o||!i.trim(),children:s(l==="starting"?"启动中...":"开始")})})]})]})]})}),d&&R.length>0&&e.jsx("div",{className:"px-8 py-2 bg-white border-t border-neutral-100",children:e.jsx(ce,{todos:R})}),d&&e.jsx("div",{className:"px-8 py-6 border-t border-neutral-100 bg-white",children:e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{ref:u,value:m,onChange:J,rows:3,placeholder:s("发送消息给 Agent..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm scrollbar-thin scrollbar-thumb-neutral-200 scrollbar-track-transparent",style:{minHeight:"80px",maxHeight:"210px"},onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&!t.repeat&&!t.nativeEvent.isComposing&&t.nativeEvent.keyCode!==229&&(t.preventDefault(),T())}}),e.jsxs("div",{className:"flex items-center justify-between px-3 pb-3 pt-1 border-t border-transparent",children:[e.jsxs("div",{className:"flex items-center gap-1 text-neutral-400",children:[e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Attach File",children:e.jsx(pe,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Mention",children:e.jsx(he,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Reference Issue",children:e.jsx(be,{size:18})}),e.jsx("div",{className:"w-px h-4 bg-neutral-200 mx-1"}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Search Web",children:e.jsx(ge,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[Z&&e.jsxs("button",{onClick:X,className:"flex items-center gap-2 px-3 py-2 text-xs font-semibold text-red-600 bg-red-50 hover:bg-red-100 rounded-lg transition-colors",children:[e.jsx(ae,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:T,disabled:!m.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${m.trim()?"bg-neutral-900 text-white hover:bg-black shadow-sm":"bg-neutral-100 text-neutral-400 cursor-not-allowed"}`,children:[e.jsx("span",{children:s("发送")}),e.jsx(ve,{size:14})]})]})]})]})})]})}export{Oe as AgentDemoPage};
1
+ import{c as H,j as e,u as te,aO as se,r,p as b,B as N,N as re,aQ as ne,ax as ae}from"./index-Dz9SKopM.js";import{u as le,a as oe,L as ie,T as ce}from"./useNormalizedLogs-FpVMUHeq.js";import{a as de}from"./mermaid-NOHMQCX5-C2enCJxR.js";import"./AttachmentPreview-hD3g_T_y.js";import{d as xe}from"./use-profiles-BdL-U8GZ.js";import{C as me}from"./chevron-up-DAc3NX1J.js";import{C as ue}from"./chevron-down-CtAk9uZw.js";import{P as pe}from"./paperclip-DORF2rEM.js";import{A as he}from"./at-sign-CZAKOH3i.js";import{G as ge}from"./globe-WnxN1JzY.js";import"./track-C1rUV49K.js";import"./use-translation-settings-FIP674t9.js";import"./copy-D1XK3OqK.js";import"./index-D9w1zMaz.js";import"./index-BrjvxKaf.js";import"./index-wbMiSmsY.js";import"./tooltip-Cp8tovqH.js";import"./kbd-CTfS0G5-.js";import"./index-DHDgbH3t.js";const fe=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],be=H("hash",fe);const je=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],ve=H("send",je),B=({className:s})=>e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:s,xmlns:"http://www.w3.org/2000/svg",children:[e.jsx("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.5",opacity:"0.4"}),e.jsx("circle",{cx:"8",cy:"8",r:"3",fill:"currentColor"})]}),ye=({className:s})=>e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:s,xmlns:"http://www.w3.org/2000/svg",children:e.jsx("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor",strokeWidth:"1.5"})}),Ne=({className:s})=>e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",className:s,xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M13.5 4.5L6.5 11.5L2.5 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),we=!0;function Oe(){const{t:s}=te(),{preserveDesktopSearch:U}=se(),[w,V]=r.useState([]),[o,S]=r.useState(""),[x,k]=r.useState("DEFAULT"),[i,A]=r.useState(""),[a,C]=r.useState(null),[F,D]=r.useState(null),[l,c]=r.useState("idle"),[g,E]=r.useState(!1),[m,j]=r.useState(""),$=r.useRef(null),I=r.useRef(null),u=r.useRef(null),{data:p}=xe(o),M=p?Object.keys(p):["DEFAULT"],O=t=>{S(t),k("DEFAULT")},_=r.useCallback(t=>{c(t===0?"stopped":"error")},[]),G=r.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,isOutputActive:W,lastExitAt:K,logs:v,entries:q,agentSessionId:L,attach:z,clearLogs:P}=le({sessionId:a||"",sessionStartedAt:F,onExit:_,onError:G}),{todos:R}=oe(q);r.useEffect(()=>{b.get("/demo/agents").then(t=>{V(t.agents);const n=t.agents.find(y=>y.available);n&&S(n.type)})},[]),r.useEffect(()=>{$.current?.scrollToBottom("smooth")},[v]),r.useEffect(()=>{console.log(`[AgentDemoPage:useEffect] t=${Date.now()} sessionId=${a} isConnected=${h} isAttached=${f}`),a&&h&&!f&&(console.log(`[AgentDemoPage:useEffect] t=${Date.now()} calling attach()`),z())},[a,h,f,z]);const J=t=>{if(j(t.target.value),u.current){u.current.style.height="auto";const y=Math.min(u.current.scrollHeight,210);u.current.style.height=`${y}px`}},Q=async()=>{if(!o||!i.trim())return;const t=Date.now();console.log(`[AgentDemoPage:handleStart] t=${t} starting...`),c("starting"),P();try{const n=await b.post("/demo/start",{agentType:o,prompt:i.trim(),variant:x});we&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${n.sessionId}`),C(n.sessionId),D(t),c("running")}catch(n){console.error("Start failed:",n),c("error")}},T=async()=>{if(!a||!m.trim())return;const t=m.trim();j("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(n){console.error("Send failed:",n)}},X=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},Y=()=>{C(null),D(null),c("idle"),A(""),j(""),P()},Z=l==="running",d=a!==null,ee=w.find(t=>t.type===o);return e.jsxs("div",{className:"flex flex-col h-full bg-white",children:[e.jsxs("div",{className:"px-8 py-5 border-b border-neutral-100 bg-white transition-all duration-300",children:[e.jsxs("div",{className:"flex items-center flex-wrap gap-3",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-base font-medium text-blue-600",children:"Agent Demo"}),e.jsx("span",{className:"text-neutral-300 text-sm",children:"/"}),e.jsx("span",{className:"text-xl font-bold text-neutral-900 tracking-tight",children:d?i.slice(0,50)+(i.length>50?"...":""):s("新会话")})]}),e.jsxs("div",{className:"flex items-center",children:[l==="running"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-blue-50 text-blue-700 rounded-full text-xs font-medium border border-blue-100",children:[e.jsx(B,{className:"w-3.5 h-3.5 animate-pulse"}),e.jsx("span",{children:"Running"})]}),l==="stopped"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-emerald-50 text-emerald-700 rounded-full text-xs font-medium border border-emerald-100",children:[e.jsx(Ne,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Done"})]}),l==="idle"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-neutral-100 text-neutral-600 rounded-full text-xs font-medium border border-neutral-200",children:[e.jsx(ye,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Idle"})]}),l==="starting"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-amber-50 text-amber-700 rounded-full text-xs font-medium border border-amber-100",children:[e.jsx(B,{className:"w-3.5 h-3.5 animate-spin"}),e.jsx("span",{children:"Starting..."})]}),l==="error"&&e.jsx("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-red-50 text-red-700 rounded-full text-xs font-medium border border-red-100",children:e.jsx("span",{children:"Error"})})]})]}),d&&e.jsxs("div",{className:"mt-1.5 flex items-start gap-2 group max-w-4xl",children:[e.jsx("div",{className:`text-sm text-neutral-600 leading-relaxed cursor-pointer transition-all ${g?"":"truncate"}`,onClick:()=>E(!g),children:i}),e.jsx("button",{onClick:()=>E(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(me,{size:14}):e.jsx(ue,{size:14})})]}),e.jsxs("div",{className:"flex items-center gap-6 mt-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Agent"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-900 font-medium bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:ee?.name||o||s("未选择")})]}),x!=="DEFAULT"&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Variant"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-700 font-medium bg-blue-50 px-2 py-1 rounded border border-blue-100",children:x})]}),L&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Session"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-neutral-700 font-mono bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:[L.slice(0,8),"..."]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:s("连接")}),e.jsx("div",{className:`flex items-center gap-1.5 font-medium px-2 py-1 rounded border ${h?"text-emerald-700 bg-emerald-50 border-emerald-100":"text-neutral-500 bg-neutral-50 border-neutral-100"}`,children:s(h?f?"已连接":"连接中...":"未连接")})]}),d&&e.jsx(N,{variant:"outline",size:"sm",onClick:Y,className:"ml-auto",children:s("新会话")}),e.jsxs(re,{to:U("/settings/profiles"),className:`flex items-center gap-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors ${d?"":"ml-auto"}`,children:[e.jsx(ne,{size:14}),e.jsx("span",{children:s("Profiles 设置")})]})]})]}),e.jsx("div",{ref:I,className:"flex-1 overflow-y-auto px-8 py-6",children:d?e.jsx("div",{className:"min-h-[200px]",children:v.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(ie,{children:e.jsx(de,{ref:$,logs:v,isOutputActive:W,lastExitAt:K,scrollElementRef:I})})}):e.jsxs("div",{className:"max-w-2xl mx-auto space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("选择 Agent")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:w.map(t=>e.jsxs(N,{variant:o===t.type?"default":"outline",disabled:!t.available,onClick:()=>O(t.type),children:[t.name,t.available&&t.version&&` (${t.version})`,!t.available&&s(" (不可用)")]},t.type))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("配置变体 (Profile Variant)")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:M.map(t=>e.jsx("button",{onClick:()=>k(t),className:`px-3 py-1.5 rounded-full text-sm font-medium border transition-colors ${x===t?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-600 border-neutral-200 hover:border-neutral-400"}`,children:t},t))}),p&&p[x]&&e.jsx("p",{className:"mt-2 text-xs text-neutral-500 font-mono",children:Object.entries(p[x]).map(([t,n])=>`${t}: ${JSON.stringify(n)}`).join(", ")})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("输入任务")}),e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{value:i,onChange:t=>A(t.target.value),rows:4,placeholder:s("描述你想让 Agent 完成的任务..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm"}),e.jsx("div",{className:"flex items-center justify-end px-3 pb-3 pt-1",children:e.jsx(N,{onClick:Q,disabled:l==="starting"||!o||!i.trim(),children:s(l==="starting"?"启动中...":"开始")})})]})]})]})}),d&&R.length>0&&e.jsx("div",{className:"px-8 py-2 bg-white border-t border-neutral-100",children:e.jsx(ce,{todos:R})}),d&&e.jsx("div",{className:"px-8 py-6 border-t border-neutral-100 bg-white",children:e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{ref:u,value:m,onChange:J,rows:3,placeholder:s("发送消息给 Agent..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm scrollbar-thin scrollbar-thumb-neutral-200 scrollbar-track-transparent",style:{minHeight:"80px",maxHeight:"210px"},onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&!t.repeat&&!t.nativeEvent.isComposing&&t.nativeEvent.keyCode!==229&&(t.preventDefault(),T())}}),e.jsxs("div",{className:"flex items-center justify-between px-3 pb-3 pt-1 border-t border-transparent",children:[e.jsxs("div",{className:"flex items-center gap-1 text-neutral-400",children:[e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Attach File",children:e.jsx(pe,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Mention",children:e.jsx(he,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Reference Issue",children:e.jsx(be,{size:18})}),e.jsx("div",{className:"w-px h-4 bg-neutral-200 mx-1"}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Search Web",children:e.jsx(ge,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[Z&&e.jsxs("button",{onClick:X,className:"flex items-center gap-2 px-3 py-2 text-xs font-semibold text-red-600 bg-red-50 hover:bg-red-100 rounded-lg transition-colors",children:[e.jsx(ae,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:T,disabled:!m.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${m.trim()?"bg-neutral-900 text-white hover:bg-black shadow-sm":"bg-neutral-100 text-neutral-400 cursor-not-allowed"}`,children:[e.jsx("span",{children:s("发送")}),e.jsx(ve,{size:14})]})]})]})]})})]})}export{Oe as AgentDemoPage};
@@ -1 +1 @@
1
- import{u as e,j as n,S as s,h as i,A as r}from"./index-BszkzNS4.js";function g(){const{t}=e();return n.jsxs(s,{children:[n.jsx(i,{title:t("Agent 环境"),description:t("检测并安装本机 Agent CLI。安装前会展示官方来源、风险和校验摘要。")}),n.jsx(r,{})]})}export{g as AgentEnvironmentSettingsPage};
1
+ import{u as e,j as n,S as s,h as i,A as r}from"./index-Dz9SKopM.js";function g(){const{t}=e();return n.jsxs(s,{children:[n.jsx(i,{title:t("Agent 环境"),description:t("检测并安装本机 Agent CLI。安装前会展示官方来源、风险和校验摘要。")}),n.jsx(r,{})]})}export{g as AgentEnvironmentSettingsPage};
@@ -0,0 +1,2 @@
1
+ import{c as Y,ba as $,bb as Z,bc as P,o as N,m as T,r as h,n as k,q as g,p as v,aM as j,a0 as U,t as ee,aD as te,af as se,ag as x,ap as F,j as y,u as ne,a3 as ie,X as re,l as oe}from"./index-Dz9SKopM.js";import{F as ae}from"./tooltip-Cp8tovqH.js";const ce=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],ue=Y("image",ce),b=new Map,M="tower:system-submission:",w=e=>Object.fromEntries(Object.entries(e).filter(([t])=>t!=="resolutionContextToken")),O=e=>"resolutionContextToken"in e?String(e.resolutionContextToken):void 0,K=e=>P(O(e))??w(e);let I=!1;const we=()=>I;function L(e){if(!e||typeof e!="object")return;const t=e;if(!(typeof t.id!="string"||!/^[0-9a-f-]{36}$/i.test(t.id)||typeof t.key!="string"||!t.identity||typeof t.identity!="object"||t.body!==void 0&&(!t.body||typeof t.body!="object"||Array.isArray(t.body))))return t}function Oe(e){const t=P(e);if(t)return W(),[...b.values()].find(s=>JSON.stringify(s.identity)===JSON.stringify(t)&&s.key.startsWith("message:"))?.key.slice(8)}function W(){try{for(let e=0;e<sessionStorage.length;e++){const t=sessionStorage.key(e);if(t?.startsWith(M)){const s=L(JSON.parse(sessionStorage.getItem(t)));s?b.set(t,s):I=!0}}}catch{I=!0}}function de(e,t){W();for(const s of b.values()){if(!s.body||!s.key.startsWith("message:"))continue;const n=O(s.body),i=$(n);if(i?.actor===e&&i.context.sourceWorkspaceId===t)return{token:n,receiverSessionId:s.key.slice(8),identity:s.identity}}}async function B(e,t,s){const n="systemAction"in t&&t.systemAction==="resolve_conflicts",i=n?K(t):t,c=n?$(O(t)):void 0,d=c?.context?.sourceWorkspaceId,r=c&&d?de(c.actor,d):void 0;if(r&&(JSON.stringify(r.identity)!==JSON.stringify(i)||e!==`message:${r.receiverSessionId}`))throw new Error("Check the original conflict submission with its original Session, UUID and body before starting another request.");const m=n?`${M}${e}:${JSON.stringify(i)}`:`tower:user-submission:${e}:${JSON.stringify(t)}`;let f=b.get(m);const A=[];try{const o=sessionStorage.getItem(m);if(o){const a=n?L(JSON.parse(o)):{id:o,key:e,identity:i};if(!a||a.key!==e||JSON.stringify(a.identity)!==JSON.stringify(i))throw new Error("Invalid pending submission");f=a}if(n&&!f){const a=`tower:user-submission:${e}:`;for(let S=0;S<sessionStorage.length;S++){const l=sessionStorage.key(S);if(!l?.startsWith(a)||l.endsWith(":body"))continue;const p=JSON.parse(l.slice(a.length)),D=sessionStorage.getItem(`${l}:body`),E=D?JSON.parse(D):p,R=$(O(E)),J=$(O(t));if(!R&&J&&JSON.stringify(w(E))===JSON.stringify(w(t)))throw new Error("Incomplete legacy submission");if(R||J){if(JSON.stringify(K(E))!==JSON.stringify(i))continue}else if(JSON.stringify(w(E))!==JSON.stringify(w(t)))continue;const Q=sessionStorage.getItem(l);if(Q){f={id:Q,key:e,identity:i,body:E},A.push(l,`${l}:body`);break}}}}catch{if(I=!0,n)throw new Error("Pending submission storage is unavailable or damaged. Preserve the operation details and check the original submission before sending again.")}f??={id:Z(),key:e,identity:i},n&&(f.body??=t),b.set(m,f);try{sessionStorage.setItem(m,n?JSON.stringify(f):f.id);for(const o of A)sessionStorage.removeItem(o)}catch{I=!0}let u;try{u=await s({...f.body??t,clientSubmissionId:f.id})}catch(o){if(n&&o.details?.accepted===!1){f.body=void 0;try{sessionStorage.setItem(m,JSON.stringify(f))}catch{I=!0}}throw o}b.delete(m);try{sessionStorage.removeItem(m)}catch{I=!0}return u}function G(e,t,s){const n=`tower:user-submission:${e}:${JSON.stringify(t)}`;b.get(n)?.id===s&&b.delete(n);try{sessionStorage.getItem(n)===s&&sessionStorage.removeItem(n)}catch{I=!0}}const z="tower:outgoing:",_=e=>["outgoing-submissions",e];function q(e){try{const t=JSON.parse(sessionStorage.getItem(z+e)??"[]");return Array.isArray(t)?t.filter(s=>s&&s.scope===e&&typeof s.id=="string"&&typeof s.path=="string"&&typeof s.text=="string"&&s.body?.clientSubmissionId===s.id).map(s=>({...s,failed:!0})):[]}catch{return[]}}function C(e,t,s){const n=s(e.getQueryData(_(t))??q(t));e.setQueryData(_(t),n);try{sessionStorage.setItem(z+t,JSON.stringify(n))}catch{}}function ke(e,t=[]){const s=N(),n=T({queryKey:_(e),queryFn:()=>q(e),initialData:()=>q(e),staleTime:1/0});return h.useEffect(()=>{const i=n.data.filter(c=>t.includes(c.id));if(i.length){for(const c of i)G(X(c),V(c.body),c.id);C(s,e,c=>c.filter(d=>!t.includes(d.id)))}},[s,e,n.data,t]),n.data}async function H(e,t,s,n,i){const c="message"in n?String(n.message):"prompt"in n?String(n.prompt):"";if("systemAction"in n)return v.post(s,n);C(e,t,d=>[...d.filter(r=>r.id!==n.clientSubmissionId),{id:n.clientSubmissionId,scope:t,path:s,body:n,text:c,createdAt:d.find(r=>r.id===n.clientSubmissionId)?.createdAt??new Date().toISOString(),failed:!1}]);try{const d=await v.post(s,n),r=i?await i(d):d;return r&&typeof r=="object"&&"operationId"in r&&j(e,r.delivery),C(e,t,m=>m.filter(f=>f.id!==n.clientSubmissionId)),r}catch(d){throw C(e,t,r=>r.map(m=>m.id===n.clientSubmissionId?{...m,failed:!0}:m)),d}}function V(e){return Object.fromEntries(Object.entries(e).filter(([t])=>t!=="clientSubmissionId"))}function X(e){return e.path==="/conversations"?"conversation:create":e.path.startsWith("/sessions/")?`message:${e.scope}`:`conversation:message:${e.path.split("/")[2]}`}async function le(e,t){return"operationId"in t&&"sessionId"in t?(j(e,t.delivery),v.get(`/conversations/${t.destinationId}`)):t}function Ae(e){const t=N();return k({mutationFn:()=>fe(t,e),onSuccess:s=>(e.path==="/conversations"&&"id"in s&&t.setQueryData(g.conversations.detail(s.id),s),t.invalidateQueries())})}async function fe(e,t){const s=await H(e,t.scope,t.path,t.body,t.path==="/conversations"?n=>le(e,n):void 0);return G(X(t),V(t.body),t.id),s}const me=U();async function ge(e){const t=new FormData;t.append("file",e);const s=await fetch(`${me}/attachments/upload`,{method:"POST",body:t});if(!s.ok){const n=await s.json().catch(()=>({}));throw new Error(n.error||`Upload failed (${s.status})`)}return s.json()}let ye=0;function $e(){const[e,t]=h.useState([]),s=h.useRef(e);s.current=e;const n=h.useCallback(async u=>{const o=u.map(a=>({tempId:`tmp-${++ye}`,file:a,progress:0,status:"uploading"}));t(a=>[...a,...o]),await Promise.allSettled(o.map(async a=>{try{const S=await ge(a.file);t(l=>l.map(p=>p.tempId===a.tempId?{...p,status:"done",progress:100,attachment:S}:p))}catch(S){t(l=>l.map(p=>p.tempId===a.tempId?{...p,status:"error",error:S instanceof Error?S.message:"Upload failed"}:p))}}))},[]),i=h.useCallback(()=>s.current.filter(u=>u.status==="done"&&u.attachment).map(u=>u.attachment),[]),c=h.useCallback(u=>{t(o=>o.filter(a=>a.tempId!==u))},[]),d=h.useCallback(()=>{t([])},[]),r=h.useCallback(u=>{u.length!==0&&t(o=>{const a=new Set(o.map(l=>l.attachment?.id??l.tempId)),S=u.filter(l=>{const p=l.attachment?.id??l.tempId;return a.has(p)?!1:(a.add(p),!0)});return S.length>0?[...o,...S]:o})},[]),m=h.useCallback(()=>{const u=i();return u.length===0?"":u.map(o=>`${o.mimeType.startsWith("image/")?"!":""}[${o.originalName}](${o.storagePath})`).join(`
2
+ `)},[i]),f=e.length>0,A=e.some(u=>u.status==="uploading");return{files:e,addFiles:n,removeFile:c,clear:d,restoreFiles:r,buildMarkdownLinks:m,getDoneAttachments:i,hasFiles:f,isUploading:A}}function Ce(e){const t=h.useMemo(()=>Array.from(new Set(e.filter(Boolean))),[e]);return T({queryKey:["attachments","metadata",t],queryFn:()=>v.get("/attachments/metadata",{params:{ids:t.join(",")}}),enabled:t.length>0,staleTime:300*1e3})}function Se(e){const t=N(),s=T({queryKey:g.sessions.runtime(e),queryFn:()=>v.get(`/sessions/${e}/runtime`),enabled:!!e});return h.useEffect(()=>{if(!e)return;const n=se.connect(),i=r=>{r.sessionId===e&&t.invalidateQueries({queryKey:g.sessions.runtime(e)})},c=r=>{r.sessionId===e&&t.setQueryData(g.sessions.runtime(e),r.state)},d=()=>{t.invalidateQueries({queryKey:g.sessions.runtime(e)})};return n.on(x.SESSION_PERMISSION_REQUESTED,i),n.on(x.SESSION_PERMISSION_INVALIDATED,i),n.on(x.SESSION_RUNTIME_STATE_CHANGED,c),n.on("connect",d),()=>{n.off(x.SESSION_PERMISSION_REQUESTED,i),n.off(x.SESSION_PERMISSION_INVALIDATED,i),n.off(x.SESSION_RUNTIME_STATE_CHANGED,c),n.off("connect",d)}},[e,t]),s}function pe(e){return e==="RUNNING"||e==="AWAITING_PERMISSION"||e==="CANCELLING"}function he(e){return e===F.RUNNING||e===F.PENDING}function je(e,t){const{data:s}=Se(e);return{runtimeState:s,isActive:he(t)||pe(s?.turnState),isCancelling:s?.turnState==="CANCELLING"}}function _e(){const e=N();return k({mutationFn:({sessionId:t,requestId:s,optionId:n})=>v.post(`/sessions/${t}/permissions/${s}/resolve`,{optionId:n}),onSettled:(t,s,n)=>{e.invalidateQueries({queryKey:g.sessions.runtime(n.sessionId)})}})}function qe(){const e=N();return k({mutationFn:t=>B(`start:${t}`,{},s=>v.post(`/sessions/${t}/start`,s)),onSuccess:(t,s)=>{"operationId"in t&&j(e,t.delivery),e.invalidateQueries({queryKey:g.sessions.detail(s)}),e.invalidateQueries({queryKey:g.tasks.all})}})}const Ie=45e3;function Te(){const e=N();return k({mutationFn:async t=>{try{return await v.post(`/sessions/${t}/stop`,void 0,{signal:AbortSignal.timeout(Ie)})}catch(s){throw s instanceof DOMException&&s.name==="TimeoutError"?new Error("Stop request timed out before the server answered. The session may still be stopping; refresh the status and retry."):s}},onError:t=>{ee.error(te("Failed to stop session. Refreshing status; check it and try again."),{description:t instanceof Error?t.message:void 0})},onSettled:(t,s,n)=>{e.setQueryData(g.sessions.runtime(n),i=>i?.turnState==="CANCELLING"?{...i,turnState:"IDLE"}:i),Promise.allSettled([e.invalidateQueries({queryKey:g.sessions.detail(n)}),e.invalidateQueries({queryKey:g.sessions.runtime(n)}),e.invalidateQueries({queryKey:g.workspaces.all}),e.invalidateQueries({queryKey:g.tasks.all})])}})}function De(){const e=N();return k({mutationFn:({id:t,...s})=>B(`message:${t}`,s,n=>H(e,t,`/sessions/${t}/message`,n)),onSuccess:t=>{"operationId"in t&&j(e,t.delivery),e.invalidateQueries({queryKey:g.workspaces.all}),e.invalidateQueries({queryKey:g.tasks.all})}})}const be=U();function ve(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/(1024*1024)).toFixed(1)}MB`}function Re({files:e,onRemove:t}){return e.length===0?null:y.jsx("div",{"aria-label":"Attachments",className:"flex flex-wrap gap-2 px-4 pt-3 pb-1",children:e.map(s=>y.jsx(Ne,{item:s,onRemove:t},s.tempId))})}function Ne({item:e,onRemove:t}){const{t:s}=ne(),n=e.file.type.startsWith("image/"),i=e.status==="error",c=e.status==="uploading";return y.jsxs("div",{className:oe("relative group flex items-center gap-2 px-3 py-2 rounded-lg border text-xs max-w-[200px]",i?"border-destructive/25 bg-destructive/[0.06] text-destructive-ink":"border-border bg-muted/50 text-foreground/80"),children:[n&&e.status==="done"&&e.attachment?y.jsx("img",{src:`${be}${e.attachment.url}`,alt:e.file.name,className:"w-8 h-8 rounded object-cover flex-shrink-0"}):y.jsx("span",{className:"flex-shrink-0",children:c?y.jsx(ie,{size:16,className:"animate-spin motion-reduce:[animation-duration:2.4s] text-muted-foreground"}):n?y.jsx(ue,{size:16,className:"text-muted-foreground"}):y.jsx(ae,{size:16,className:"text-muted-foreground"})}),y.jsxs("div",{className:"min-w-0 flex-1",children:[y.jsx("div",{className:"truncate font-medium",children:e.file.name}),i?y.jsx("div",{className:"truncate",children:e.error}):y.jsx("div",{className:"text-muted-foreground",children:ve(e.file.size)})]}),y.jsx("button",{type:"button",onClick:()=>t(e.tempId),"aria-label":`${s("Remove")} ${e.file.name}`,className:"absolute -top-1.5 -right-1.5 flex size-5 items-center justify-center rounded-full bg-inverse text-inverse-foreground opacity-0 shadow-raised transition-opacity hover:bg-inverse/90 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 group-hover:opacity-100 pointer-coarse:opacity-100",children:y.jsx(re,{size:10})})]})}export{Re as A,De as a,qe as b,$e as c,Te as d,B as e,ke as f,Se as g,_e as h,Ce as i,we as j,de as k,Ae as l,Oe as p,le as r,H as s,je as u};
@@ -1 +1 @@
1
- import{m as v,o as u,n as o,q as a,p as n,aq as A,u as D,r as h,j as i,a5 as M,aW as P,l as x,a3 as T}from"./index-BszkzNS4.js";import{P as B,a as G,b as H,S as O}from"./popover-CTqvKqTR.js";import{M as U,a as W,b as z}from"./menu-styles-DWynpVVz.js";import{C as L}from"./chevron-down-Ct7FZbKm.js";import{C as V}from"./check-yNWhPvMH.js";function ie(e){const t={};return e?.page!=null&&(t.page=String(e.page)),e?.limit!=null&&(t.limit=String(e.limit)),e?.includeArchived&&(t.includeArchived="true"),v({queryKey:a.projects.list(e),queryFn:()=>n.get("/projects",{params:t})})}function ne(e){return v({queryKey:a.projects.detail(e),queryFn:()=>n.get(`/projects/${e}`),enabled:!!e})}function oe(){const e=u();return o({mutationFn:t=>n.post("/projects",t),onSuccess:()=>{e.invalidateQueries({queryKey:a.projects.all})}})}function le(){const e=u();return o({mutationFn:({id:t,...s})=>n.put(`/projects/${t}`,s),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.projects.all}),e.invalidateQueries({queryKey:a.projects.detail(s.id)}),s.mainBranch!==void 0&&(e.invalidateQueries({queryKey:a.workspaces.all}),e.invalidateQueries({queryKey:a.tasks.all}))}})}function ue(){const e=u();return o({mutationFn:({id:t,deleteRepo:s})=>n.post(`/projects/${t}/archive`,{deleteRepo:s??!1}),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.projects.all}),e.invalidateQueries({queryKey:a.projects.detail(s.id)}),e.invalidateQueries({queryKey:a.tasks.all}),e.invalidateQueries({queryKey:a.workspaces.all})}})}function ce(){const e=u();return o({mutationFn:({id:t,repoPath:s})=>n.post(`/projects/${t}/restore`,s?{repoPath:s}:{}),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.projects.all}),e.invalidateQueries({queryKey:a.projects.detail(s.id)}),e.invalidateQueries({queryKey:a.tasks.all}),e.invalidateQueries({queryKey:a.workspaces.all})}})}function de(){const e=u();return o({mutationFn:({id:t})=>n.get(`/projects/${t}/git-capability`),onSuccess:(t,s)=>{e.setQueryData(a.projects.gitCapability(s.id),t),e.invalidateQueries({queryKey:a.projects.all}),e.invalidateQueries({queryKey:a.projects.detail(s.id)}),e.invalidateQueries({queryKey:a.tasks.all})}})}const Y=1500,J=2e3,X=5e3;function ye(e,t){return e&&t?.workingDir===e&&t.tab==="changes"?Y:!1}function Z(e,t){return e&&t?.workspaceId===e&&t.tab==="changes"?J:!1}function pe(e,t){return e&&t?.workingDir===e&&t.tab==="history"?X:!1}function fe(e){return v({queryKey:a.workspaces.projectBranches(e),queryFn:()=>n.get(`/projects/${e}/workspace-branches`),enabled:!!e,staleTime:0})}function he(){const e=u();return o({mutationFn:({id:t,...s})=>n.patch(`/workspaces/${t}/base-branch`,s),onSettled:async()=>{await Promise.all([e.invalidateQueries({queryKey:a.workspaces.all}),e.invalidateQueries({queryKey:a.tasks.all}),e.invalidateQueries({queryKey:a.git.all})])}})}function me(e){return v({queryKey:a.workspaces.list(e),queryFn:()=>n.get(`/tasks/${e}/workspaces`),enabled:!!e})}function ge(e){const t=u();return o({mutationFn:s=>n.post(`/tasks/${e}/workspaces`,s),onSuccess:()=>{t.invalidateQueries({queryKey:a.workspaces.list(e)}),t.invalidateQueries({queryKey:a.tasks.all})}})}function xe(){const e=u();return o({mutationFn:({id:t,commitMessage:s,stopActiveServices:l})=>n.post(`/workspaces/${t}/merge`,{commitMessage:s,stopActiveServices:l}),onSuccess:()=>{e.invalidateQueries({queryKey:a.workspaces.all}),e.invalidateQueries({queryKey:a.tasks.all}),e.invalidateQueries({queryKey:a.git.all}),e.invalidateQueries({queryKey:a.workspaceServices.all})},onError:()=>{e.invalidateQueries({queryKey:a.git.all}),e.invalidateQueries({queryKey:a.workspaceServices.all})}})}function ve(){const e=u();return o({mutationFn:t=>n.post(`/workspaces/${t}/reactivate`),onSuccess:()=>{e.invalidateQueries({queryKey:a.workspaces.all}),e.invalidateQueries({queryKey:a.tasks.all})}})}function qe(){return o({mutationFn:({workspaceId:e,editorType:t})=>n.post(`/workspaces/${e}/open-editor`,{editorType:t})})}function we(e,t={}){const s=A(k=>k.visibleContext),l=Z(e,s);return v({queryKey:a.workspaces.gitStatus(e),queryFn:()=>n.get(`/workspaces/${e}/git-status`),enabled:!!e&&(t.enabled??!0),refetchInterval:l,refetchIntervalInBackground:!1,refetchOnWindowFocus:l?"always":!1,refetchOnReconnect:l?"always":!1})}function ke(){const e=u();return o({mutationFn:t=>n.post(`/workspaces/${t}/rebase`),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.workspaces.gitStatus(s)}),e.invalidateQueries({queryKey:a.git.all})},onError:(t,s)=>{e.invalidateQueries({queryKey:a.workspaces.gitStatus(s)}),e.invalidateQueries({queryKey:a.git.all})}})}function je(){const e=u();return o({mutationFn:t=>n.post(`/workspaces/${t}/abort-operation`),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.workspaces.gitStatus(s)}),e.invalidateQueries({queryKey:a.git.all})}})}function Ke({id:e,label:t,value:s,branches:l,disabled:k,isRefreshing:R,isLoading:S,loadError:j,compact:c,onChange:F,onOpen:_}){const{t:d}=D(),q=h.useId(),Q=h.useRef(null),[m,C]=h.useState(!1),[y,K]=h.useState(""),[w,p]=h.useState(0),f=l.filter(r=>r.toLowerCase().includes(y.trim().toLowerCase())),b=f[w],$=l.includes(s),E=r=>{C(r),r&&(K(""),p(Math.max(0,l.indexOf(s))),_())},N=r=>{F(r),C(!1)};h.useEffect(()=>{m&&Q.current?.querySelector("[data-highlighted]")?.scrollIntoView?.({block:"nearest"})},[m,w,y]);const I=r=>{r.nativeEvent.isComposing||(r.key==="ArrowDown"||r.key==="ArrowUp"?(r.preventDefault(),p(g=>Math.max(0,Math.min(f.length-1,g+(r.key==="ArrowDown"?1:-1))))):!y&&(r.key==="Home"||r.key==="End")?(r.preventDefault(),p(r.key==="Home"?0:Math.max(0,f.length-1))):r.key==="Enter"&&b&&(r.preventDefault(),N(b)))};return i.jsxs(B,{open:m,onOpenChange:E,children:[i.jsx(G,{asChild:!0,children:i.jsxs(M,{id:e,"aria-label":t,"aria-haspopup":"listbox",disabled:k,variant:c?"ghost":void 0,size:c?"sm":"lg",title:s,className:c?"h-7 min-w-0 max-w-[180px] gap-1.5 px-2 text-xs font-medium text-foreground/80 pointer-coarse:min-h-11":"w-full min-w-0 justify-between border border-input px-3 font-normal shadow-none ring-0 hover:border-ring/50 hover:bg-background focus-visible:border-ring focus-visible:ring-0 data-[state=open]:border-ring",onKeyDown:r=>{!m&&(r.key==="ArrowDown"||r.key==="ArrowUp")&&(r.preventDefault(),E(!0))},children:[i.jsx(P,{className:"size-3.5 text-muted-foreground"}),i.jsxs("span",{className:x("min-w-0 flex-1 truncate text-left",c&&"max-w-[120px]"),children:[s,!c&&!$&&!S&&` (${d("Unavailable")})`]}),i.jsx(L,{className:x("shrink-0 text-muted-foreground transition-transform",c?"size-3":"size-3.5",m&&"rotate-180")})]})}),i.jsxs(H,{"aria-label":t,className:x("z-[70] flex max-h-[min(24rem,var(--radix-popover-content-available-height))] max-w-[calc(100vw-1rem)] flex-col overflow-hidden p-1",c?"w-80":"w-(--radix-popover-trigger-width)"),onKeyDown:r=>{r.key==="Escape"&&r.stopPropagation()},onEscapeKeyDown:r=>{r.stopPropagation(),y&&(r.preventDefault(),K(""),p(0))},children:[c&&i.jsxs("p",{className:"break-all px-2 py-1.5 text-xs text-muted-foreground",children:[t,": ",s]}),j&&i.jsx("p",{role:"alert",className:"px-2 py-1.5 text-xs text-destructive-ink",children:j}),i.jsx("div",{className:"shrink-0 p-1",children:i.jsx(O,{"aria-label":d("Search branches"),placeholder:d("Search branches"),role:"combobox","aria-expanded":!0,"aria-autocomplete":"list","aria-controls":q,"aria-activedescendant":b?`${q}-${w}`:void 0,value:y,onValueChange:r=>{K(r),p(0)},onKeyDown:I})}),i.jsxs("div",{ref:Q,id:q,role:"listbox","aria-label":t,className:"min-h-0 flex-1 overflow-y-auto overscroll-contain",children:[f.map((r,g)=>i.jsxs("button",{id:`${q}-${g}`,type:"button",role:"option","aria-selected":r===s,"data-highlighted":g===w?"":void 0,tabIndex:-1,title:r,onPointerMove:()=>p(g),onClick:()=>N(r),className:x(z,W,r===s&&"font-medium text-foreground"),children:[i.jsx("span",{className:x("min-w-0 flex-1",c?"break-all":"truncate"),children:r}),r===s&&i.jsx("span",{className:U,children:i.jsx(V,{className:"size-3.5"})})]},r)),f.length===0&&!j&&i.jsx("p",{className:"px-2 py-3 text-xs text-muted-foreground",children:d(S?"Loading...":"No matching branches")})]}),i.jsxs("div",{role:"status",className:"flex shrink-0 items-center gap-1.5 border-t border-border/60 px-2 pt-2 pb-1 text-xs tabular-nums text-muted-foreground",children:[R&&i.jsx(T,{className:"size-3 animate-spin motion-reduce:[animation-duration:2.4s]","aria-label":d("Refreshing branches")}),y.trim()?d("{shown} of {total} local branches",{shown:f.length,total:l.length}):d("{count} local branches",{count:l.length})]})]})]})}export{Ke as B,me as a,we as b,qe as c,ge as d,ve as e,fe as f,le as g,ie as h,ue as i,ce as j,oe as k,de as l,ye as m,he as n,ke as o,xe as p,pe as q,ne as r,je as u};
1
+ import{m as v,o as u,n as o,q as a,p as n,aq as A,u as D,r as h,j as i,a5 as M,aW as P,l as x,a3 as T}from"./index-Dz9SKopM.js";import{P as B,a as G,b as H,S as O}from"./popover-CvjMbMb4.js";import{M as U,a as W,b as z}from"./menu-styles-DWynpVVz.js";import{C as L}from"./chevron-down-CtAk9uZw.js";import{C as V}from"./check-C3vuSPKz.js";function ie(e){const t={};return e?.page!=null&&(t.page=String(e.page)),e?.limit!=null&&(t.limit=String(e.limit)),e?.includeArchived&&(t.includeArchived="true"),v({queryKey:a.projects.list(e),queryFn:()=>n.get("/projects",{params:t})})}function ne(e){return v({queryKey:a.projects.detail(e),queryFn:()=>n.get(`/projects/${e}`),enabled:!!e})}function oe(){const e=u();return o({mutationFn:t=>n.post("/projects",t),onSuccess:()=>{e.invalidateQueries({queryKey:a.projects.all})}})}function le(){const e=u();return o({mutationFn:({id:t,...s})=>n.put(`/projects/${t}`,s),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.projects.all}),e.invalidateQueries({queryKey:a.projects.detail(s.id)}),s.mainBranch!==void 0&&(e.invalidateQueries({queryKey:a.workspaces.all}),e.invalidateQueries({queryKey:a.tasks.all}))}})}function ue(){const e=u();return o({mutationFn:({id:t,deleteRepo:s})=>n.post(`/projects/${t}/archive`,{deleteRepo:s??!1}),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.projects.all}),e.invalidateQueries({queryKey:a.projects.detail(s.id)}),e.invalidateQueries({queryKey:a.tasks.all}),e.invalidateQueries({queryKey:a.workspaces.all})}})}function ce(){const e=u();return o({mutationFn:({id:t,repoPath:s})=>n.post(`/projects/${t}/restore`,s?{repoPath:s}:{}),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.projects.all}),e.invalidateQueries({queryKey:a.projects.detail(s.id)}),e.invalidateQueries({queryKey:a.tasks.all}),e.invalidateQueries({queryKey:a.workspaces.all})}})}function de(){const e=u();return o({mutationFn:({id:t})=>n.get(`/projects/${t}/git-capability`),onSuccess:(t,s)=>{e.setQueryData(a.projects.gitCapability(s.id),t),e.invalidateQueries({queryKey:a.projects.all}),e.invalidateQueries({queryKey:a.projects.detail(s.id)}),e.invalidateQueries({queryKey:a.tasks.all})}})}const Y=1500,J=2e3,X=5e3;function ye(e,t){return e&&t?.workingDir===e&&t.tab==="changes"?Y:!1}function Z(e,t){return e&&t?.workspaceId===e&&t.tab==="changes"?J:!1}function pe(e,t){return e&&t?.workingDir===e&&t.tab==="history"?X:!1}function fe(e){return v({queryKey:a.workspaces.projectBranches(e),queryFn:()=>n.get(`/projects/${e}/workspace-branches`),enabled:!!e,staleTime:0})}function he(){const e=u();return o({mutationFn:({id:t,...s})=>n.patch(`/workspaces/${t}/base-branch`,s),onSettled:async()=>{await Promise.all([e.invalidateQueries({queryKey:a.workspaces.all}),e.invalidateQueries({queryKey:a.tasks.all}),e.invalidateQueries({queryKey:a.git.all})])}})}function me(e){return v({queryKey:a.workspaces.list(e),queryFn:()=>n.get(`/tasks/${e}/workspaces`),enabled:!!e})}function ge(e){const t=u();return o({mutationFn:s=>n.post(`/tasks/${e}/workspaces`,s),onSuccess:()=>{t.invalidateQueries({queryKey:a.workspaces.list(e)}),t.invalidateQueries({queryKey:a.tasks.all})}})}function xe(){const e=u();return o({mutationFn:({id:t,commitMessage:s,stopActiveServices:l})=>n.post(`/workspaces/${t}/merge`,{commitMessage:s,stopActiveServices:l}),onSuccess:()=>{e.invalidateQueries({queryKey:a.workspaces.all}),e.invalidateQueries({queryKey:a.tasks.all}),e.invalidateQueries({queryKey:a.git.all}),e.invalidateQueries({queryKey:a.workspaceServices.all})},onError:()=>{e.invalidateQueries({queryKey:a.git.all}),e.invalidateQueries({queryKey:a.workspaceServices.all})}})}function ve(){const e=u();return o({mutationFn:t=>n.post(`/workspaces/${t}/reactivate`),onSuccess:()=>{e.invalidateQueries({queryKey:a.workspaces.all}),e.invalidateQueries({queryKey:a.tasks.all})}})}function qe(){return o({mutationFn:({workspaceId:e,editorType:t})=>n.post(`/workspaces/${e}/open-editor`,{editorType:t})})}function we(e,t={}){const s=A(k=>k.visibleContext),l=Z(e,s);return v({queryKey:a.workspaces.gitStatus(e),queryFn:()=>n.get(`/workspaces/${e}/git-status`),enabled:!!e&&(t.enabled??!0),refetchInterval:l,refetchIntervalInBackground:!1,refetchOnWindowFocus:l?"always":!1,refetchOnReconnect:l?"always":!1})}function ke(){const e=u();return o({mutationFn:t=>n.post(`/workspaces/${t}/rebase`),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.workspaces.gitStatus(s)}),e.invalidateQueries({queryKey:a.git.all})},onError:(t,s)=>{e.invalidateQueries({queryKey:a.workspaces.gitStatus(s)}),e.invalidateQueries({queryKey:a.git.all})}})}function je(){const e=u();return o({mutationFn:t=>n.post(`/workspaces/${t}/abort-operation`),onSuccess:(t,s)=>{e.invalidateQueries({queryKey:a.workspaces.gitStatus(s)}),e.invalidateQueries({queryKey:a.git.all})}})}function Ke({id:e,label:t,value:s,branches:l,disabled:k,isRefreshing:R,isLoading:S,loadError:j,compact:c,onChange:F,onOpen:_}){const{t:d}=D(),q=h.useId(),Q=h.useRef(null),[m,C]=h.useState(!1),[y,K]=h.useState(""),[w,p]=h.useState(0),f=l.filter(r=>r.toLowerCase().includes(y.trim().toLowerCase())),b=f[w],$=l.includes(s),E=r=>{C(r),r&&(K(""),p(Math.max(0,l.indexOf(s))),_())},N=r=>{F(r),C(!1)};h.useEffect(()=>{m&&Q.current?.querySelector("[data-highlighted]")?.scrollIntoView?.({block:"nearest"})},[m,w,y]);const I=r=>{r.nativeEvent.isComposing||(r.key==="ArrowDown"||r.key==="ArrowUp"?(r.preventDefault(),p(g=>Math.max(0,Math.min(f.length-1,g+(r.key==="ArrowDown"?1:-1))))):!y&&(r.key==="Home"||r.key==="End")?(r.preventDefault(),p(r.key==="Home"?0:Math.max(0,f.length-1))):r.key==="Enter"&&b&&(r.preventDefault(),N(b)))};return i.jsxs(B,{open:m,onOpenChange:E,children:[i.jsx(G,{asChild:!0,children:i.jsxs(M,{id:e,"aria-label":t,"aria-haspopup":"listbox",disabled:k,variant:c?"ghost":void 0,size:c?"sm":"lg",title:s,className:c?"h-7 min-w-0 max-w-[180px] gap-1.5 px-2 text-xs font-medium text-foreground/80 pointer-coarse:min-h-11":"w-full min-w-0 justify-between border border-input px-3 font-normal shadow-none ring-0 hover:border-ring/50 hover:bg-background focus-visible:border-ring focus-visible:ring-0 data-[state=open]:border-ring",onKeyDown:r=>{!m&&(r.key==="ArrowDown"||r.key==="ArrowUp")&&(r.preventDefault(),E(!0))},children:[i.jsx(P,{className:"size-3.5 text-muted-foreground"}),i.jsxs("span",{className:x("min-w-0 flex-1 truncate text-left",c&&"max-w-[120px]"),children:[s,!c&&!$&&!S&&` (${d("Unavailable")})`]}),i.jsx(L,{className:x("shrink-0 text-muted-foreground transition-transform",c?"size-3":"size-3.5",m&&"rotate-180")})]})}),i.jsxs(H,{"aria-label":t,className:x("z-[70] flex max-h-[min(24rem,var(--radix-popover-content-available-height))] max-w-[calc(100vw-1rem)] flex-col overflow-hidden p-1",c?"w-80":"w-(--radix-popover-trigger-width)"),onKeyDown:r=>{r.key==="Escape"&&r.stopPropagation()},onEscapeKeyDown:r=>{r.stopPropagation(),y&&(r.preventDefault(),K(""),p(0))},children:[c&&i.jsxs("p",{className:"break-all px-2 py-1.5 text-xs text-muted-foreground",children:[t,": ",s]}),j&&i.jsx("p",{role:"alert",className:"px-2 py-1.5 text-xs text-destructive-ink",children:j}),i.jsx("div",{className:"shrink-0 p-1",children:i.jsx(O,{"aria-label":d("Search branches"),placeholder:d("Search branches"),role:"combobox","aria-expanded":!0,"aria-autocomplete":"list","aria-controls":q,"aria-activedescendant":b?`${q}-${w}`:void 0,value:y,onValueChange:r=>{K(r),p(0)},onKeyDown:I})}),i.jsxs("div",{ref:Q,id:q,role:"listbox","aria-label":t,className:"min-h-0 flex-1 overflow-y-auto overscroll-contain",children:[f.map((r,g)=>i.jsxs("button",{id:`${q}-${g}`,type:"button",role:"option","aria-selected":r===s,"data-highlighted":g===w?"":void 0,tabIndex:-1,title:r,onPointerMove:()=>p(g),onClick:()=>N(r),className:x(z,W,r===s&&"font-medium text-foreground"),children:[i.jsx("span",{className:x("min-w-0 flex-1",c?"break-all":"truncate"),children:r}),r===s&&i.jsx("span",{className:U,children:i.jsx(V,{className:"size-3.5"})})]},r)),f.length===0&&!j&&i.jsx("p",{className:"px-2 py-3 text-xs text-muted-foreground",children:d(S?"Loading...":"No matching branches")})]}),i.jsxs("div",{role:"status",className:"flex shrink-0 items-center gap-1.5 border-t border-border/60 px-2 pt-2 pb-1 text-xs tabular-nums text-muted-foreground",children:[R&&i.jsx(T,{className:"size-3 animate-spin motion-reduce:[animation-duration:2.4s]","aria-label":d("Refreshing branches")}),y.trim()?d("{shown} of {total} local branches",{shown:f.length,total:l.length}):d("{count} local branches",{count:l.length})]})]})]})}export{Ke as B,me as a,we as b,qe as c,ge as d,ve as e,fe as f,le as g,ie as h,ue as i,ce as j,oe as k,de as l,ye as m,he as n,ke as o,xe as p,pe as q,ne as r,je as u};