@zhanguym/chatroom 1.2.0-beta.3 → 1.3.2

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 (293) hide show
  1. package/dist/app/application.d.ts +5 -0
  2. package/dist/app/application.js +55 -4
  3. package/dist/app/lifecycle.js +12 -0
  4. package/dist/app/workspace-access.d.ts +17 -4
  5. package/dist/core/operations/types.d.ts +1 -1
  6. package/dist/core/operations/types.js +1 -1
  7. package/dist/infrastructure/database/agent-mcp-settings-repository.d.ts +12 -0
  8. package/dist/infrastructure/database/agent-mcp-settings-repository.js +55 -0
  9. package/dist/infrastructure/database/app-database.js +3 -3
  10. package/dist/infrastructure/database/migrate.d.ts +2 -0
  11. package/dist/infrastructure/database/migrate.js +68 -0
  12. package/dist/infrastructure/database/schema.d.ts +3 -1
  13. package/dist/infrastructure/database/schema.js +35 -6
  14. package/dist/infrastructure/database/workspace-repository.d.ts +28 -0
  15. package/dist/infrastructure/database/workspace-repository.js +126 -0
  16. package/dist/mcp/custom/manager.d.ts +3 -1
  17. package/dist/mcp/custom/manager.js +37 -2
  18. package/dist/mcp/server/plugin-mcp-registrar.d.ts +4 -1
  19. package/dist/mcp/server/plugin-mcp-registrar.js +7 -2
  20. package/dist/mcp/server/tool-control.d.ts +6 -1
  21. package/dist/mcp/server/tool-control.js +11 -2
  22. package/dist/native/macos/ChatRoomComputerHelper.app/Contents/MacOS/chatroom-computer-helper +0 -0
  23. package/dist/native/windows/chatroom-computer-helper.exe +0 -0
  24. package/dist/plugins/agent/custom-mcp-store.d.ts +17 -0
  25. package/dist/plugins/agent/custom-mcp-store.js +38 -0
  26. package/dist/plugins/agent/mcp-gateway.d.ts +16 -0
  27. package/dist/plugins/agent/mcp-gateway.js +110 -0
  28. package/dist/plugins/agent/mcp.js +3 -2
  29. package/dist/plugins/agent/plugin.js +1 -1
  30. package/dist/plugins/agent/provider.d.ts +1 -0
  31. package/dist/plugins/agent/providers/codex/launch.d.ts +17 -0
  32. package/dist/plugins/agent/providers/codex/launch.js +24 -0
  33. package/dist/plugins/agent/providers/codex/provider.d.ts +3 -1
  34. package/dist/plugins/agent/providers/codex/provider.js +8 -2
  35. package/dist/plugins/agent/providers/codex/rpc.d.ts +7 -1
  36. package/dist/plugins/agent/providers/codex/rpc.js +28 -3
  37. package/dist/plugins/agent/providers/index.d.ts +2 -1
  38. package/dist/plugins/agent/providers/index.js +5 -2
  39. package/dist/plugins/agent/repository.js +10 -7
  40. package/dist/plugins/agent/runtime-files.d.ts +4 -4
  41. package/dist/plugins/agent/runtime-files.js +18 -14
  42. package/dist/plugins/agent/runtime.d.ts +2 -0
  43. package/dist/plugins/agent/runtime.js +52 -13
  44. package/dist/plugins/agent/types.d.ts +3 -2
  45. package/dist/plugins/cloud/v2/tunnel-client.js +1 -7
  46. package/dist/plugins/plugin-manager.d.ts +6 -1
  47. package/dist/plugins/plugin-manager.js +9 -2
  48. package/dist/plugins/types.d.ts +4 -0
  49. package/dist/plugins/web/http/agent-api-router.js +15 -1
  50. package/dist/plugins/web/http/git-api-router.js +13 -13
  51. package/dist/plugins/web/http/rtc-api-router.js +3 -0
  52. package/dist/plugins/web/http/runtime-api-router.js +22 -0
  53. package/dist/plugins/web/http/workspace-api-router.js +63 -12
  54. package/dist/plugins/web/plugin.js +1 -1
  55. package/dist/plugins/web/runtime.d.ts +3 -1
  56. package/dist/plugins/web/runtime.js +5 -1
  57. package/dist/plugins/workspace/mcp.js +20 -15
  58. package/dist/plugins/workspace/plugin.js +1 -1
  59. package/dist/plugins/workspace/workspace-root-policy.d.ts +0 -1
  60. package/dist/plugins/workspace/workspace-root-policy.js +25 -19
  61. package/dist/plugins/workspace/workspace-service.d.ts +20 -8
  62. package/dist/plugins/workspace/workspace-service.js +270 -64
  63. package/dist/web/assets/{AgentView-CMxIn3KB.css → AgentView-BqAfmgc4.css} +1 -1
  64. package/dist/web/assets/AgentView-tr6COjRg.js +4 -0
  65. package/dist/web/assets/{CloudView-DN3gdtln.js → CloudView-D-fYLw_O.js} +1 -1
  66. package/dist/web/assets/{CodeViewer.vue_vue_type_script_setup_true_lang-B3tNL1LG.js → CodeViewer.vue_vue_type_script_setup_true_lang-BtA5aWrS.js} +1 -1
  67. package/dist/web/assets/ComputerView-B25C_C_h.js +1 -0
  68. package/dist/web/assets/ComputerView-vSSsexBY.css +1 -0
  69. package/dist/web/assets/{MarkdownContent-Cs2dEsGL.js → MarkdownContent-BuDRrZ6c.js} +1 -1
  70. package/dist/web/assets/McpToolsView-D0G_HACK.css +1 -0
  71. package/dist/web/assets/McpToolsView-s0-Qvg2g.js +2 -0
  72. package/dist/web/assets/OperationsView-B_0SN40Y.js +4 -0
  73. package/dist/web/assets/{ProcessesView-BZJE6ibM.js → ProcessesView-B2i-O0AL.js} +3 -3
  74. package/dist/web/assets/StateChip.vue_vue_type_script_setup_true_lang-DwnqcvSQ.js +1 -0
  75. package/dist/web/assets/{SystemLogsView-BHNuvcuf.js → SystemLogsView-BR4FZoAh.js} +1 -1
  76. package/dist/web/assets/{TerminalView-DynA5Y2x.js → TerminalView-2Z1blITD.js} +1 -1
  77. package/dist/web/assets/VSelect-CHI_FOMl.js +1 -0
  78. package/dist/web/assets/VSheet-CKEhsY-7.js +1 -0
  79. package/dist/web/assets/VSpacer-FbdDPUGx.js +1 -0
  80. package/dist/web/assets/{VSwitch-C-NDv5Ol.js → VSwitch-o9DuRTKF.js} +1 -1
  81. package/dist/web/assets/{VTabs-Cd28-4lH.js → VTabs-BSfSKBtT.js} +1 -1
  82. package/dist/web/assets/{VTextarea-j4nd1i82.js → VTextarea-D_kPhUVU.js} +1 -1
  83. package/dist/web/assets/WorkspaceDownloadPreview-BoALqL1M.js +1 -0
  84. package/dist/web/assets/WorkspaceDownloadPreview-dFslZB0W.css +1 -0
  85. package/dist/web/assets/{WorkspaceMediaPreview-BYfyE2rF.js → WorkspaceMediaPreview-qjt04eze.js} +3 -3
  86. package/dist/web/assets/{WorkspacePdfPreview-Cn1Z4mrW.js → WorkspacePdfPreview-BrUJpmNs.js} +7 -7
  87. package/dist/web/assets/{WorkspacePdfPreview-BtZkUHzV.css → WorkspacePdfPreview-pOb5cwkr.css} +1 -1
  88. package/dist/web/assets/WorkspacesView-CHXmDTlX.js +2 -0
  89. package/dist/web/assets/WorkspacesView-Dt24eGQ4.css +1 -0
  90. package/dist/web/assets/index-9DLDvF8M.js +19 -0
  91. package/dist/web/assets/pdfjs/cmaps/78-EUC-H.bcmap +0 -0
  92. package/dist/web/assets/pdfjs/cmaps/78-EUC-V.bcmap +0 -0
  93. package/dist/web/assets/pdfjs/cmaps/78-H.bcmap +0 -0
  94. package/dist/web/assets/pdfjs/cmaps/78-RKSJ-H.bcmap +0 -0
  95. package/dist/web/assets/pdfjs/cmaps/78-RKSJ-V.bcmap +0 -0
  96. package/dist/web/assets/pdfjs/cmaps/78-V.bcmap +0 -0
  97. package/dist/web/assets/pdfjs/cmaps/78ms-RKSJ-H.bcmap +0 -0
  98. package/dist/web/assets/pdfjs/cmaps/78ms-RKSJ-V.bcmap +0 -0
  99. package/dist/web/assets/pdfjs/cmaps/83pv-RKSJ-H.bcmap +0 -0
  100. package/dist/web/assets/pdfjs/cmaps/90ms-RKSJ-H.bcmap +0 -0
  101. package/dist/web/assets/pdfjs/cmaps/90ms-RKSJ-V.bcmap +0 -0
  102. package/dist/web/assets/pdfjs/cmaps/90msp-RKSJ-H.bcmap +0 -0
  103. package/dist/web/assets/pdfjs/cmaps/90msp-RKSJ-V.bcmap +0 -0
  104. package/dist/web/assets/pdfjs/cmaps/90pv-RKSJ-H.bcmap +0 -0
  105. package/dist/web/assets/pdfjs/cmaps/90pv-RKSJ-V.bcmap +0 -0
  106. package/dist/web/assets/pdfjs/cmaps/Add-H.bcmap +0 -0
  107. package/dist/web/assets/pdfjs/cmaps/Add-RKSJ-H.bcmap +0 -0
  108. package/dist/web/assets/pdfjs/cmaps/Add-RKSJ-V.bcmap +0 -0
  109. package/dist/web/assets/pdfjs/cmaps/Add-V.bcmap +0 -0
  110. package/dist/web/assets/pdfjs/cmaps/Adobe-CNS1-0.bcmap +0 -0
  111. package/dist/web/assets/pdfjs/cmaps/Adobe-CNS1-1.bcmap +0 -0
  112. package/dist/web/assets/pdfjs/cmaps/Adobe-CNS1-2.bcmap +0 -0
  113. package/dist/web/assets/pdfjs/cmaps/Adobe-CNS1-3.bcmap +0 -0
  114. package/dist/web/assets/pdfjs/cmaps/Adobe-CNS1-4.bcmap +0 -0
  115. package/dist/web/assets/pdfjs/cmaps/Adobe-CNS1-5.bcmap +0 -0
  116. package/dist/web/assets/pdfjs/cmaps/Adobe-CNS1-6.bcmap +0 -0
  117. package/dist/web/assets/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  118. package/dist/web/assets/pdfjs/cmaps/Adobe-GB1-0.bcmap +0 -0
  119. package/dist/web/assets/pdfjs/cmaps/Adobe-GB1-1.bcmap +0 -0
  120. package/dist/web/assets/pdfjs/cmaps/Adobe-GB1-2.bcmap +0 -0
  121. package/dist/web/assets/pdfjs/cmaps/Adobe-GB1-3.bcmap +0 -0
  122. package/dist/web/assets/pdfjs/cmaps/Adobe-GB1-4.bcmap +0 -0
  123. package/dist/web/assets/pdfjs/cmaps/Adobe-GB1-5.bcmap +0 -0
  124. package/dist/web/assets/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  125. package/dist/web/assets/pdfjs/cmaps/Adobe-Japan1-0.bcmap +0 -0
  126. package/dist/web/assets/pdfjs/cmaps/Adobe-Japan1-1.bcmap +0 -0
  127. package/dist/web/assets/pdfjs/cmaps/Adobe-Japan1-2.bcmap +0 -0
  128. package/dist/web/assets/pdfjs/cmaps/Adobe-Japan1-3.bcmap +0 -0
  129. package/dist/web/assets/pdfjs/cmaps/Adobe-Japan1-4.bcmap +0 -0
  130. package/dist/web/assets/pdfjs/cmaps/Adobe-Japan1-5.bcmap +0 -0
  131. package/dist/web/assets/pdfjs/cmaps/Adobe-Japan1-6.bcmap +0 -0
  132. package/dist/web/assets/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  133. package/dist/web/assets/pdfjs/cmaps/Adobe-Korea1-0.bcmap +0 -0
  134. package/dist/web/assets/pdfjs/cmaps/Adobe-Korea1-1.bcmap +0 -0
  135. package/dist/web/assets/pdfjs/cmaps/Adobe-Korea1-2.bcmap +0 -0
  136. package/dist/web/assets/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  137. package/dist/web/assets/pdfjs/cmaps/B5-H.bcmap +0 -0
  138. package/dist/web/assets/pdfjs/cmaps/B5-V.bcmap +0 -0
  139. package/dist/web/assets/pdfjs/cmaps/B5pc-H.bcmap +0 -0
  140. package/dist/web/assets/pdfjs/cmaps/B5pc-V.bcmap +0 -0
  141. package/dist/web/assets/pdfjs/cmaps/CNS-EUC-H.bcmap +0 -0
  142. package/dist/web/assets/pdfjs/cmaps/CNS-EUC-V.bcmap +0 -0
  143. package/dist/web/assets/pdfjs/cmaps/CNS1-H.bcmap +0 -0
  144. package/dist/web/assets/pdfjs/cmaps/CNS1-V.bcmap +0 -0
  145. package/dist/web/assets/pdfjs/cmaps/CNS2-H.bcmap +0 -0
  146. package/dist/web/assets/pdfjs/cmaps/CNS2-V.bcmap +3 -0
  147. package/dist/web/assets/pdfjs/cmaps/ETHK-B5-H.bcmap +0 -0
  148. package/dist/web/assets/pdfjs/cmaps/ETHK-B5-V.bcmap +0 -0
  149. package/dist/web/assets/pdfjs/cmaps/ETen-B5-H.bcmap +0 -0
  150. package/dist/web/assets/pdfjs/cmaps/ETen-B5-V.bcmap +0 -0
  151. package/dist/web/assets/pdfjs/cmaps/ETenms-B5-H.bcmap +3 -0
  152. package/dist/web/assets/pdfjs/cmaps/ETenms-B5-V.bcmap +0 -0
  153. package/dist/web/assets/pdfjs/cmaps/EUC-H.bcmap +0 -0
  154. package/dist/web/assets/pdfjs/cmaps/EUC-V.bcmap +0 -0
  155. package/dist/web/assets/pdfjs/cmaps/Ext-H.bcmap +0 -0
  156. package/dist/web/assets/pdfjs/cmaps/Ext-RKSJ-H.bcmap +0 -0
  157. package/dist/web/assets/pdfjs/cmaps/Ext-RKSJ-V.bcmap +0 -0
  158. package/dist/web/assets/pdfjs/cmaps/Ext-V.bcmap +0 -0
  159. package/dist/web/assets/pdfjs/cmaps/GB-EUC-H.bcmap +0 -0
  160. package/dist/web/assets/pdfjs/cmaps/GB-EUC-V.bcmap +0 -0
  161. package/dist/web/assets/pdfjs/cmaps/GB-H.bcmap +4 -0
  162. package/dist/web/assets/pdfjs/cmaps/GB-V.bcmap +0 -0
  163. package/dist/web/assets/pdfjs/cmaps/GBK-EUC-H.bcmap +0 -0
  164. package/dist/web/assets/pdfjs/cmaps/GBK-EUC-V.bcmap +0 -0
  165. package/dist/web/assets/pdfjs/cmaps/GBK2K-H.bcmap +0 -0
  166. package/dist/web/assets/pdfjs/cmaps/GBK2K-V.bcmap +0 -0
  167. package/dist/web/assets/pdfjs/cmaps/GBKp-EUC-H.bcmap +0 -0
  168. package/dist/web/assets/pdfjs/cmaps/GBKp-EUC-V.bcmap +0 -0
  169. package/dist/web/assets/pdfjs/cmaps/GBT-EUC-H.bcmap +0 -0
  170. package/dist/web/assets/pdfjs/cmaps/GBT-EUC-V.bcmap +0 -0
  171. package/dist/web/assets/pdfjs/cmaps/GBT-H.bcmap +0 -0
  172. package/dist/web/assets/pdfjs/cmaps/GBT-V.bcmap +0 -0
  173. package/dist/web/assets/pdfjs/cmaps/GBTpc-EUC-H.bcmap +0 -0
  174. package/dist/web/assets/pdfjs/cmaps/GBTpc-EUC-V.bcmap +0 -0
  175. package/dist/web/assets/pdfjs/cmaps/GBpc-EUC-H.bcmap +0 -0
  176. package/dist/web/assets/pdfjs/cmaps/GBpc-EUC-V.bcmap +0 -0
  177. package/dist/web/assets/pdfjs/cmaps/H.bcmap +0 -0
  178. package/dist/web/assets/pdfjs/cmaps/HKdla-B5-H.bcmap +0 -0
  179. package/dist/web/assets/pdfjs/cmaps/HKdla-B5-V.bcmap +0 -0
  180. package/dist/web/assets/pdfjs/cmaps/HKdlb-B5-H.bcmap +0 -0
  181. package/dist/web/assets/pdfjs/cmaps/HKdlb-B5-V.bcmap +0 -0
  182. package/dist/web/assets/pdfjs/cmaps/HKgccs-B5-H.bcmap +0 -0
  183. package/dist/web/assets/pdfjs/cmaps/HKgccs-B5-V.bcmap +0 -0
  184. package/dist/web/assets/pdfjs/cmaps/HKm314-B5-H.bcmap +0 -0
  185. package/dist/web/assets/pdfjs/cmaps/HKm314-B5-V.bcmap +0 -0
  186. package/dist/web/assets/pdfjs/cmaps/HKm471-B5-H.bcmap +0 -0
  187. package/dist/web/assets/pdfjs/cmaps/HKm471-B5-V.bcmap +0 -0
  188. package/dist/web/assets/pdfjs/cmaps/HKscs-B5-H.bcmap +0 -0
  189. package/dist/web/assets/pdfjs/cmaps/HKscs-B5-V.bcmap +0 -0
  190. package/dist/web/assets/pdfjs/cmaps/Hankaku.bcmap +0 -0
  191. package/dist/web/assets/pdfjs/cmaps/Hiragana.bcmap +0 -0
  192. package/dist/web/assets/pdfjs/cmaps/KSC-EUC-H.bcmap +0 -0
  193. package/dist/web/assets/pdfjs/cmaps/KSC-EUC-V.bcmap +0 -0
  194. package/dist/web/assets/pdfjs/cmaps/KSC-H.bcmap +0 -0
  195. package/dist/web/assets/pdfjs/cmaps/KSC-Johab-H.bcmap +0 -0
  196. package/dist/web/assets/pdfjs/cmaps/KSC-Johab-V.bcmap +0 -0
  197. package/dist/web/assets/pdfjs/cmaps/KSC-V.bcmap +0 -0
  198. package/dist/web/assets/pdfjs/cmaps/KSCms-UHC-H.bcmap +0 -0
  199. package/dist/web/assets/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  200. package/dist/web/assets/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  201. package/dist/web/assets/pdfjs/cmaps/KSCms-UHC-V.bcmap +0 -0
  202. package/dist/web/assets/pdfjs/cmaps/KSCpc-EUC-H.bcmap +0 -0
  203. package/dist/web/assets/pdfjs/cmaps/KSCpc-EUC-V.bcmap +0 -0
  204. package/dist/web/assets/pdfjs/cmaps/Katakana.bcmap +0 -0
  205. package/dist/web/assets/pdfjs/cmaps/NWP-H.bcmap +0 -0
  206. package/dist/web/assets/pdfjs/cmaps/NWP-V.bcmap +0 -0
  207. package/dist/web/assets/pdfjs/cmaps/RKSJ-H.bcmap +0 -0
  208. package/dist/web/assets/pdfjs/cmaps/RKSJ-V.bcmap +0 -0
  209. package/dist/web/assets/pdfjs/cmaps/Roman.bcmap +0 -0
  210. package/dist/web/assets/pdfjs/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  211. package/dist/web/assets/pdfjs/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  212. package/dist/web/assets/pdfjs/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  213. package/dist/web/assets/pdfjs/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  214. package/dist/web/assets/pdfjs/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  215. package/dist/web/assets/pdfjs/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  216. package/dist/web/assets/pdfjs/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  217. package/dist/web/assets/pdfjs/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  218. package/dist/web/assets/pdfjs/cmaps/UniGB-UCS2-H.bcmap +0 -0
  219. package/dist/web/assets/pdfjs/cmaps/UniGB-UCS2-V.bcmap +0 -0
  220. package/dist/web/assets/pdfjs/cmaps/UniGB-UTF16-H.bcmap +0 -0
  221. package/dist/web/assets/pdfjs/cmaps/UniGB-UTF16-V.bcmap +0 -0
  222. package/dist/web/assets/pdfjs/cmaps/UniGB-UTF32-H.bcmap +0 -0
  223. package/dist/web/assets/pdfjs/cmaps/UniGB-UTF32-V.bcmap +0 -0
  224. package/dist/web/assets/pdfjs/cmaps/UniGB-UTF8-H.bcmap +0 -0
  225. package/dist/web/assets/pdfjs/cmaps/UniGB-UTF8-V.bcmap +0 -0
  226. package/dist/web/assets/pdfjs/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  227. package/dist/web/assets/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  228. package/dist/web/assets/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  229. package/dist/web/assets/pdfjs/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  230. package/dist/web/assets/pdfjs/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  231. package/dist/web/assets/pdfjs/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  232. package/dist/web/assets/pdfjs/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  233. package/dist/web/assets/pdfjs/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  234. package/dist/web/assets/pdfjs/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  235. package/dist/web/assets/pdfjs/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  236. package/dist/web/assets/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  237. package/dist/web/assets/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  238. package/dist/web/assets/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  239. package/dist/web/assets/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  240. package/dist/web/assets/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  241. package/dist/web/assets/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  242. package/dist/web/assets/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  243. package/dist/web/assets/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  244. package/dist/web/assets/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  245. package/dist/web/assets/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  246. package/dist/web/assets/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  247. package/dist/web/assets/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  248. package/dist/web/assets/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  249. package/dist/web/assets/pdfjs/cmaps/UniKS-UCS2-H.bcmap +0 -0
  250. package/dist/web/assets/pdfjs/cmaps/UniKS-UCS2-V.bcmap +0 -0
  251. package/dist/web/assets/pdfjs/cmaps/UniKS-UTF16-H.bcmap +0 -0
  252. package/dist/web/assets/pdfjs/cmaps/UniKS-UTF16-V.bcmap +0 -0
  253. package/dist/web/assets/pdfjs/cmaps/UniKS-UTF32-H.bcmap +0 -0
  254. package/dist/web/assets/pdfjs/cmaps/UniKS-UTF32-V.bcmap +0 -0
  255. package/dist/web/assets/pdfjs/cmaps/UniKS-UTF8-H.bcmap +0 -0
  256. package/dist/web/assets/pdfjs/cmaps/UniKS-UTF8-V.bcmap +0 -0
  257. package/dist/web/assets/pdfjs/cmaps/V.bcmap +0 -0
  258. package/dist/web/assets/pdfjs/cmaps/WP-Symbol.bcmap +0 -0
  259. package/dist/web/assets/pdfjs/standard_fonts/FoxitDingbats.pfb +0 -0
  260. package/dist/web/assets/pdfjs/standard_fonts/FoxitFixed.pfb +0 -0
  261. package/dist/web/assets/pdfjs/standard_fonts/FoxitFixedBold.pfb +0 -0
  262. package/dist/web/assets/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  263. package/dist/web/assets/pdfjs/standard_fonts/FoxitFixedItalic.pfb +0 -0
  264. package/dist/web/assets/pdfjs/standard_fonts/FoxitSerif.pfb +0 -0
  265. package/dist/web/assets/pdfjs/standard_fonts/FoxitSerifBold.pfb +0 -0
  266. package/dist/web/assets/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  267. package/dist/web/assets/pdfjs/standard_fonts/FoxitSerifItalic.pfb +0 -0
  268. package/dist/web/assets/pdfjs/standard_fonts/FoxitSymbol.pfb +0 -0
  269. package/dist/web/assets/pdfjs/standard_fonts/LiberationSans-Bold.ttf +0 -0
  270. package/dist/web/assets/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  271. package/dist/web/assets/pdfjs/standard_fonts/LiberationSans-Italic.ttf +0 -0
  272. package/dist/web/assets/pdfjs/standard_fonts/LiberationSans-Regular.ttf +0 -0
  273. package/dist/web/assets/{useMasterDetailFocus-D_0RtiVd.js → useMasterDetailFocus-Chh0cM6g.js} +1 -1
  274. package/dist/web/assets/useOperationLabels-DF67nIF0.js +1 -0
  275. package/dist/web/index.html +1 -1
  276. package/dist/web/transport-sw.js +43 -15
  277. package/package.json +2 -2
  278. package/dist/web/assets/AgentView-Chyr0duc.js +0 -4
  279. package/dist/web/assets/ComputerView-BQsCJDj6.js +0 -1
  280. package/dist/web/assets/ComputerView-Bz2Wsz2X.css +0 -1
  281. package/dist/web/assets/McpToolsView-DEihWplq.js +0 -2
  282. package/dist/web/assets/McpToolsView-DdYOoY9_.css +0 -1
  283. package/dist/web/assets/OperationsView-xUzS2M6J.js +0 -4
  284. package/dist/web/assets/StateChip.vue_vue_type_script_setup_true_lang-DIF7HtT8.js +0 -1
  285. package/dist/web/assets/VSelect-EZ3BvG23.js +0 -1
  286. package/dist/web/assets/VSheet-DQI4RXKJ.js +0 -1
  287. package/dist/web/assets/VSpacer-CYKfdiFh.js +0 -1
  288. package/dist/web/assets/WorkspaceDownloadPreview-CT8fPWGZ.js +0 -1
  289. package/dist/web/assets/WorkspaceDownloadPreview-DJKSNaZ_.css +0 -1
  290. package/dist/web/assets/WorkspacesView-CHos0Dy0.js +0 -2
  291. package/dist/web/assets/WorkspacesView-ClA6xcjn.css +0 -1
  292. package/dist/web/assets/index-CR4g0KyE.js +0 -19
  293. package/dist/web/assets/useOperationLabels-a5jWmoTY.js +0 -1
@@ -1 +1 @@
1
- .workspace-pdf-page[data-v-608f166a]{width:100%;max-width:60rem}.workspace-pdf-paper[data-v-608f166a]{overflow:hidden;background:#fff;box-shadow:0 1px 6px #0000001f}.workspace-pdf-paper canvas[data-v-608f166a]{display:block;width:100%;height:auto}.workspace-pdf-page-number[data-v-608f166a]{display:block;padding-top:6px;text-align:center;font-size:12px;color:rgb(var(--v-theme-on-surface),.6)}.workspace-pdf-viewer[data-v-4835d554]{display:flex;flex:1 1 0;min-height:0;width:100%;flex-direction:column}.workspace-pdf-pages[data-v-4835d554]{display:flex;flex:1 1 0;min-height:0;width:100%;flex-direction:column;align-items:center;gap:16px;overflow-y:auto;overscroll-behavior:contain;padding:12px;background:rgb(var(--v-theme-surface-variant),.18)}@media(max-width:820px){.workspace-pdf-viewer[data-v-4835d554]{min-height:70dvh}}
1
+ .workspace-pdf-page[data-v-608f166a]{width:100%;max-width:60rem}.workspace-pdf-paper[data-v-608f166a]{overflow:hidden;background:#fff;box-shadow:0 1px 6px #0000001f}.workspace-pdf-paper canvas[data-v-608f166a]{display:block;width:100%;height:auto}.workspace-pdf-page-number[data-v-608f166a]{display:block;padding-top:6px;text-align:center;font-size:12px;color:rgb(var(--v-theme-on-surface),.6)}.workspace-pdf-viewer[data-v-7eb9fd2b]{display:flex;flex:1 1 0;min-height:0;width:100%;flex-direction:column}.workspace-pdf-pages[data-v-7eb9fd2b]{display:flex;flex:1 1 0;min-height:0;width:100%;flex-direction:column;align-items:center;gap:16px;overflow-y:auto;overscroll-behavior:contain;padding:12px;background:rgb(var(--v-theme-surface-variant),.18)}@media(max-width:820px){.workspace-pdf-viewer[data-v-7eb9fd2b]{min-height:70dvh}}
@@ -0,0 +1,2 @@
1
+ import{d as se,x as Ee,u as ne,w as Y,c as i,l as k,p as a,k as t,z as ve,O as pe,P as he,q as v,t as l,g as e,m as x,Q as ke,R as me,S as re,e as O,f as r,h as R,E as Z,T as ye,I as ge,J as Re,s as y,v as Q,_ as Oe,i as H,y as J,C as ze,D as ce,F as K,j as ie,U as xe,H as ae,W as qe,X as be,G as je,Y as He,M as Ge,L as Le,N as Ke,n as Ne,Z as Ce,$ as Je,a0 as ue,a1 as Qe,a2 as Pe,a3 as Ie,a4 as Xe,V as Ye,o as Ze}from"./index-9DLDvF8M.js";import{V as Ae}from"./VSelect-CHI_FOMl.js";import{_ as Ue}from"./CodeViewer.vue_vue_type_script_setup_true_lang-BtA5aWrS.js";import{W as et,a as tt}from"./WorkspaceMediaPreview-qjt04eze.js";import{M as at}from"./MarkdownContent-BuDRrZ6c.js";import{V as We}from"./VSheet-CKEhsY-7.js";import{V as Se}from"./VSpacer-FbdDPUGx.js";import{V as Be}from"./VTextarea-D_kPhUVU.js";import{V as lt,a as $e,b as ot,c as _e}from"./VTabs-BSfSKBtT.js";import"./syntax-highlight-C_fuMcwC.js";const it={key:1,class:"workspace-create-location"},st={key:2,class:"workspace-create-location"},nt=se({__name:"WorkspaceCreateDialog",props:Re({roots:{},busy:{type:Boolean},error:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:Re(["create"],["update:modelValue"]),setup(B,{emit:I}){const o=B,g=I,s=Ee(B,"modelValue"),_=y(""),w=y(""),S=ne();Y(()=>[s.value,o.roots],()=>{s.value&&(o.roots.includes(w.value)||(w.value=o.roots[0]??""))},{immediate:!0,deep:!0}),Y(s,f=>{f&&(_.value="")});const c=Q(()=>{const f=w.value.replace(/[\\/]+$/,""),n=f.includes("\\")&&!f.includes("/")?"\\":"/";return _.value.trim()?`${f}${n}${_.value.trim()}`:f});function b(){!w.value||!_.value.trim()||g("create",w.value,_.value.trim())}return(f,n)=>(i(),k(ge,{modelValue:s.value,"onUpdate:modelValue":n[4]||(n[4]=u=>s.value=u),width:"auto"},{default:a(()=>[t(ve,null,{default:a(()=>[t(pe,{"prepend-icon":"$mdiFolderOutline"},{append:a(()=>[t(x,{icon:"$mdiClose",variant:"text",size:"small","aria-label":e(S).t("$vuetify.chatroom.common.close"),onClick:n[0]||(n[0]=u=>s.value=!1)},null,8,["aria-label"])]),default:a(()=>[t(he,null,{default:a(()=>[v(l(e(S).t("$vuetify.chatroom.workspaces.createTitle")),1)]),_:1})]),_:1}),t(ke,{class:"workspace-create-form"},{default:a(()=>[t(me,{modelValue:_.value,"onUpdate:modelValue":n[1]||(n[1]=u=>_.value=u),label:e(S).t("$vuetify.chatroom.workspaces.projectName"),autofocus:"","hide-details":"auto",onKeyup:re(b,["enter"])},null,8,["modelValue","label"]),B.roots.length>1?(i(),k(Ae,{key:0,modelValue:w.value,"onUpdate:modelValue":n[2]||(n[2]=u=>w.value=u),items:B.roots,label:e(S).t("$vuetify.chatroom.workspaces.createLocation"),"hide-details":"auto"},null,8,["modelValue","items","label"])):w.value?(i(),O("div",it,[r("span",null,l(e(S).t("$vuetify.chatroom.workspaces.createLocation")),1),r("code",null,l(w.value),1)])):R("",!0),w.value?(i(),O("div",st,[r("span",null,l(e(S).t("$vuetify.chatroom.workspaces.projectPath")),1),r("code",null,l(c.value),1)])):R("",!0),B.error?(i(),k(Z,{key:3,type:"error",variant:"tonal",density:"compact"},{default:a(()=>[v(l(B.error),1)]),_:1})):R("",!0)]),_:1}),t(ye,{class:"justify-end"},{default:a(()=>[t(x,{variant:"text",onClick:n[3]||(n[3]=u=>s.value=!1)},{default:a(()=>[v(l(e(S).t("$vuetify.chatroom.workspaces.cancel")),1)]),_:1}),t(x,{color:"primary",variant:"flat",loading:B.busy,disabled:!w.value||!_.value.trim(),onClick:b},{default:a(()=>[v(l(e(S).t("$vuetify.chatroom.workspaces.create")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),rt=Oe(nt,[["__scopeId","data-v-f24d3eec"]]),ut={class:"workspace-register-form"},ct={class:"text-subtitle-2"},dt={class:"text-body-2 text-medium-emphasis"},vt={class:"d-flex justify-end"},mt={class:"workspace-manage-list-heading"},ft={class:"text-subtitle-2"},pt={key:3,class:"workspace-manage-list"},ht={class:"workspace-manage-item-main"},kt={key:1,class:"workspace-manage-item-title"},yt={class:"workspace-manage-item-path"},gt={class:"workspace-manage-item-tags"},wt={class:"workspace-manage-item-actions"},$t=se({__name:"WorkspaceManageDialog",props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:Re(["updated"],["update:modelValue"]),setup(B,{emit:I}){const o=Ee(B,"modelValue"),g=I,s=ne(),_=y([]),w=y(""),S=y(""),c=y(null),b=y(""),f=y(!1),n=y(!1),u=y(""),V=y("");Y(o,p=>{p&&(w.value="",S.value="",c.value=null,u.value="",V.value="",P())});async function P(){f.value=!0,u.value="";try{_.value=await H("/workspaces/manage")}catch(p){u.value=J(p)}finally{f.value=!1}}async function m(){if(!(!w.value.trim()||n.value)){n.value=!0,u.value="",V.value="";try{await H("/workspaces/register",{method:"POST",body:JSON.stringify({path:w.value.trim(),name:S.value.trim()||null})}),w.value="",S.value="",V.value=s.t("$vuetify.chatroom.workspaces.registered"),g("updated"),await P()}catch(p){u.value=J(p)}finally{n.value=!1}}}function W(p){c.value=p.id,b.value=p.name,u.value="",V.value=""}function z(){c.value=null,b.value=""}async function $(p){const T=b.value.trim();if(!(!T||n.value)){n.value=!0,u.value="";try{await H("/workspaces/"+encodeURIComponent(p.id),{method:"PATCH",body:JSON.stringify({name:T})}),z(),g("updated"),await P()}catch(d){u.value=J(d)}finally{n.value=!1}}}async function D(p){if(!n.value&&window.confirm(s.t("$vuetify.chatroom.workspaces.removeConfirm"))){n.value=!0,u.value="";try{await H("/workspaces/"+encodeURIComponent(p.id),{method:"DELETE"}),g("updated"),await P()}catch(T){u.value=J(T)}finally{n.value=!1}}}async function M(p){if(!n.value&&window.confirm(s.t("$vuetify.chatroom.workspaces.cleanupConfirm"))){n.value=!0,u.value="",V.value="";try{await H("/workspaces/"+encodeURIComponent(p.id)+"/cleanup",{method:"DELETE"}),g("updated"),await P()}catch(T){u.value=J(T)}finally{n.value=!1}}}async function F(p){if(!n.value){n.value=!0,u.value="";try{await H("/workspaces/"+encodeURIComponent(p.id)+"/restore",{method:"POST",body:JSON.stringify({})}),g("updated"),await P()}catch(T){u.value=J(T)}finally{n.value=!1}}}function L(p){return p==="available"?s.t("$vuetify.chatroom.workspaces.available"):p==="restore_pending"?s.t("$vuetify.chatroom.workspaces.restorePending"):p==="unregistered"?s.t("$vuetify.chatroom.workspaces.unregistered"):s.t("$vuetify.chatroom.workspaces.missing")}function j(p){return s.t("$vuetify.chatroom.workspaces."+p.source)}return(p,T)=>(i(),k(ge,{modelValue:o.value,"onUpdate:modelValue":T[5]||(T[5]=d=>o.value=d),width:"min(760px, 96vw)",scrollable:""},{default:a(()=>[t(ve,{class:"workspace-manage-dialog"},{default:a(()=>[t(pe,{"prepend-icon":"$mdiFolderCogOutline"},{append:a(()=>[t(x,{icon:"$mdiClose",variant:"text",size:"small","aria-label":e(s).t("$vuetify.chatroom.common.close"),onClick:T[0]||(T[0]=d=>o.value=!1)},null,8,["aria-label"])]),default:a(()=>[t(he,null,{default:a(()=>[v(l(e(s).t("$vuetify.chatroom.workspaces.manage")),1)]),_:1})]),_:1}),t(ke,{class:"workspace-manage-content"},{default:a(()=>[r("section",ut,[r("div",ct,l(e(s).t("$vuetify.chatroom.workspaces.addExisting")),1),r("div",dt,l(e(s).t("$vuetify.chatroom.workspaces.pathHelp")),1),t(me,{modelValue:w.value,"onUpdate:modelValue":T[1]||(T[1]=d=>w.value=d),label:e(s).t("$vuetify.chatroom.workspaces.projectPathInput"),placeholder:"/mnt/data/my-project","hide-details":"auto",density:"comfortable",onKeyup:re(m,["enter"])},null,8,["modelValue","label"]),t(me,{modelValue:S.value,"onUpdate:modelValue":T[2]||(T[2]=d=>S.value=d),label:e(s).t("$vuetify.chatroom.workspaces.displayNameOptional"),"hide-details":"auto",density:"comfortable",onKeyup:re(m,["enter"])},null,8,["modelValue","label"]),r("div",vt,[t(x,{color:"primary",variant:"flat","prepend-icon":"$mdiPlus",loading:n.value,disabled:!w.value.trim(),onClick:m},{default:a(()=>[v(l(e(s).t("$vuetify.chatroom.workspaces.register")),1)]),_:1},8,["loading","disabled"])])]),t(ze),r("div",mt,[r("span",ft,l(e(s).t("$vuetify.chatroom.workspaces.workspace")),1),t(x,{icon:"$mdiRefresh",variant:"text",size:"small",loading:f.value,"aria-label":e(s).t("$vuetify.chatroom.workspaces.refresh"),onClick:P},null,8,["loading","aria-label"])]),f.value?(i(),k(ce,{key:0,indeterminate:""})):R("",!0),u.value?(i(),k(Z,{key:1,type:"error",variant:"tonal",density:"compact"},{default:a(()=>[v(l(u.value),1)]),_:1})):V.value?(i(),k(Z,{key:2,type:"success",variant:"tonal",density:"compact"},{default:a(()=>[v(l(V.value),1)]),_:1})):R("",!0),_.value.length?(i(),O("div",pt,[(i(!0),O(K,null,ie(_.value,d=>(i(),O("div",{key:d.id,class:"workspace-manage-item"},[r("div",ht,[c.value===d.id?(i(),k(me,{key:0,modelValue:b.value,"onUpdate:modelValue":T[3]||(T[3]=A=>b.value=A),autofocus:"",density:"compact","hide-details":"",disabled:n.value,onKeyup:[re(A=>$(d),["enter"]),re(z,["esc"])]},null,8,["modelValue","disabled","onKeyup"])):(i(),O("div",kt,l(d.name),1)),r("div",yt,l(d.path),1),r("div",gt,[t(xe,{size:"x-small",variant:"tonal",color:d.status==="available"?"success":"warning"},{default:a(()=>[v(l(L(d.status)),1)]),_:2},1032,["color"]),t(xe,{size:"x-small",variant:"tonal"},{default:a(()=>[v(l(j(d)),1)]),_:2},1024)])]),r("div",wt,[c.value===d.id?(i(),O(K,{key:0},[t(x,{icon:"$mdiCheck",size:"small",variant:"text",loading:n.value,"aria-label":e(s).t("$vuetify.chatroom.workspaces.save"),onClick:A=>$(d)},null,8,["loading","aria-label","onClick"]),t(x,{icon:"$mdiClose",size:"small",variant:"text",disabled:n.value,"aria-label":e(s).t("$vuetify.chatroom.workspaces.cancel"),onClick:z},null,8,["disabled","aria-label"])],64)):(i(),O(K,{key:1},[t(x,{icon:"$mdiPencil",size:"small",variant:"text",disabled:n.value,"aria-label":e(s).t("$vuetify.chatroom.workspaces.rename"),onClick:A=>W(d)},null,8,["disabled","aria-label","onClick"]),d.status==="restore_pending"?(i(),k(x,{key:0,icon:"$mdiFolderSync",size:"small",variant:"text",loading:n.value,"aria-label":e(s).t("$vuetify.chatroom.workspaces.restore"),onClick:A=>F(d)},null,8,["loading","aria-label","onClick"])):R("",!0),d.status!=="available"?(i(),k(x,{key:1,icon:"$mdiDeleteForeverOutline",size:"small",variant:"text",color:"error",disabled:n.value,"aria-label":e(s).t("$vuetify.chatroom.workspaces.cleanup"),onClick:A=>M(d)},null,8,["disabled","aria-label","onClick"])):R("",!0),d.manuallyRegistered&&!d.discovered?(i(),k(x,{key:2,icon:"$mdiFolderRemoveOutline",size:"small",variant:"text",color:"error",disabled:n.value,"aria-label":e(s).t("$vuetify.chatroom.workspaces.remove"),onClick:A=>D(d)},null,8,["disabled","aria-label","onClick"])):R("",!0)],64))])]))),128))])):f.value?R("",!0):(i(),k(ae,{key:4,icon:"$mdiFolderOutline",title:e(s).t("$vuetify.chatroom.workspaces.empty")},null,8,["title"]))]),_:1}),t(ye,{class:"justify-end"},{default:a(()=>[t(x,{variant:"text",onClick:T[4]||(T[4]=d=>o.value=!1)},{default:a(()=>[v(l(e(s).t("$vuetify.chatroom.common.close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),_t=Oe($t,[["__scopeId","data-v-55f78db7"]]),bt={class:"workspace-files-pane"},Ct={class:"workspace-files-layout"},xt={class:"workspace-file-browser"},Vt={class:"workspace-file-breadcrumbs"},Pt={class:"workspace-breadcrumb-items"},It={key:0,class:"workspace-breadcrumb-separator"},St=["onClick"],Rt={key:0,class:"workspace-file-load-more"},Ot=["aria-busy"],zt={key:0,class:"workspace-preview-toolbar"},Tt=["title"],Lt={class:"workspace-preview-content"},Ut={class:"workspace-markdown-header"},Wt={key:0,class:"workspace-markdown-body"},Bt={key:1,class:"workspace-markdown-source"},Dt={class:"workspace-image-stage"},Mt=["src","alt"],Ft=se({__name:"WorkspaceFilesPane",props:{workspaceId:{}},setup(B){const I=B,o=ne(),g=y("preview"),s=y(!1),_=y(!1),w=qe(()=>I.workspaceId),{entries:S,file:c,selectedPath:b,previewLoading:f,breadcrumbs:n,parentPath:u,nextOffset:V,loading:P,loadingMore:m,error:W,loadDirectory:z,loadMore:$,navigate:D,openEntry:M}=w;Y(()=>c.value?.path??null,()=>{g.value="preview"}),Y(()=>c.value?.kind==="image"?c.value.url:null,p=>{s.value=!!p,_.value=!1});const F=Q(()=>S.value.find(p=>p.path===b.value&&p.type==="file"));function L(){if(!F.value)return;const p=F.value.path;Ge(Ke(I.workspaceId,p),Le(p)).catch(()=>{})}function j(p){return p==="file"?o.t("$vuetify.chatroom.files.file"):p==="directory"?o.t("$vuetify.chatroom.files.directory"):p==="symlink"?o.t("$vuetify.chatroom.files.symlink"):p}return(p,T)=>(i(),O("div",bt,[e(W)?(i(),k(Z,{key:0,type:"error",variant:"tonal",density:"compact"},{default:a(()=>[v(l(e(W)),1)]),_:1})):R("",!0),r("div",Ct,[r("div",xt,[r("div",Vt,[t(x,{icon:"$mdiArrowUp",size:"x-small",variant:"text",disabled:e(u)===null,"aria-label":e(o).t("$vuetify.chatroom.files.parentDirectory"),onClick:T[0]||(T[0]=d=>e(u)&&e(D)(e(u)))},null,8,["disabled","aria-label"]),r("div",Pt,[(i(!0),O(K,null,ie(e(n),(d,A)=>(i(),O(K,{key:d.path},[A?(i(),O("span",It,"/")):R("",!0),r("button",{type:"button",class:Ne(["workspace-breadcrumb",{active:A===e(n).length-1}]),onClick:we=>e(D)(d.path)},l(d.title),11,St)],64))),128))]),t(x,{icon:"$mdiRefresh",size:"x-small",variant:"text",loading:e(P),"aria-label":e(o).t("$vuetify.chatroom.files.refresh"),onClick:T[1]||(T[1]=d=>e(z)())},null,8,["loading","aria-label"])]),t(be,{density:"compact",border:"",rounded:"lg",class:"workspace-file-list"},{default:a(()=>[(i(!0),O(K,null,ie(e(S),d=>(i(),k(Ce,{key:d.path,active:e(b)===d.path,title:e(Le)(d.path),subtitle:d.type==="file"?`${j(d.type)} · ${e(Je)(d.size)}`:j(d.type),"prepend-icon":d.type==="directory"?"$mdiFolderOutline":d.type==="symlink"?"$mdiLinkVariant":"$mdiFileOutline","append-icon":d.type==="directory"?"$mdiChevronRight":void 0,onClick:A=>e(M)(d)},null,8,["active","title","subtitle","prepend-icon","append-icon","onClick"]))),128))]),_:1}),e(V)!==null?(i(),O("div",Rt,[t(x,{size:"small",variant:"text",loading:e(m),disabled:e(P),onClick:e($)},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.files.loadMore")),1)]),_:1},8,["loading","disabled","onClick"])])):R("",!0)]),r("div",{class:"workspace-file-preview","aria-busy":e(f)||s.value},[F.value?(i(),O("div",zt,[r("span",{class:"workspace-preview-filename mono",title:F.value.path},l(F.value.path),9,Tt),t(x,{size:"small",variant:"tonal","prepend-icon":"$mdiDownloadOutline",onClick:L},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.files.download")),1)]),_:1})])):R("",!0),r("div",Lt,[e(f)?(i(),k(ce,{key:0,indeterminate:""})):R("",!0),e(c)?.kind==="text"&&e(c).truncated?(i(),k(Z,{key:1,type:"warning",variant:"tonal",density:"compact",class:"workspace-preview-truncated"},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.files.previewTruncated")),1)]),_:1})):R("",!0),e(c)&&(e(c).kind==="pdf"||e(c).kind==="video"||e(c).kind==="audio")?(i(),k(et,{key:e(c).url,kind:e(c).kind,path:e(c).path,url:e(c).url},null,8,["kind","path","url"])):e(c)?.kind==="text"&&/\.(csv|tsv)$/i.test(e(c).path)?(i(),k(tt,{key:3,content:e(c).content,path:e(c).path,truncated:e(c).truncated},null,8,["content","path","truncated"])):e(c)?.kind==="text"&&e(je)(e(c).path)?(i(),k(We,{key:4,border:"",rounded:"lg",class:"workspace-markdown-preview"},{default:a(()=>[r("div",Ut,[t(He,{modelValue:g.value,"onUpdate:modelValue":T[2]||(T[2]=d=>g.value=d),mandatory:"",density:"compact",variant:"text",divided:"",class:"workspace-markdown-mode"},{default:a(()=>[t(x,{value:"preview",size:"small"},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.files.preview")),1)]),_:1}),t(x,{value:"source",size:"small"},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.files.source")),1)]),_:1})]),_:1},8,["modelValue"])]),t(ze),g.value==="preview"?(i(),O("div",Wt,[t(at,{text:e(c).content},null,8,["text"])])):(i(),O("div",Bt,[t(Ue,{text:e(c).content,filename:e(c).path,toolbar:!1},null,8,["text","filename"])]))]),_:1})):e(c)?.kind==="text"?(i(),k(Ue,{key:5,text:e(c).content,filename:e(c).path,"show-download":!1},null,8,["text","filename"])):e(c)?.kind==="image"?(i(),k(We,{key:6,border:"",rounded:"lg",class:"workspace-image-preview"},{default:a(()=>[r("div",Dt,[s.value?(i(),k(ce,{key:0,indeterminate:""})):R("",!0),_.value?(i(),k(ae,{key:1,icon:"$mdiAlertCircleOutline",title:e(o).t("$vuetify.chatroom.common.imageLoadFailed")},null,8,["title"])):(i(),O("img",{key:e(c).url,src:e(c).url,alt:e(c).path,decoding:"async",onLoad:T[3]||(T[3]=d=>s.value=!1),onError:T[4]||(T[4]=d=>{s.value=!1,_.value=!0})},null,40,Mt))])]),_:1})):e(c)?.kind==="unsupported"?(i(),k(ae,{key:7,icon:"$mdiFileQuestionOutline",title:e(o).t("$vuetify.chatroom.files.previewUnavailable"),text:e(c).path},null,8,["title","text"])):e(f)?R("",!0):(i(),k(ae,{key:8,icon:"$mdiFileEyeOutline",title:e(o).t("$vuetify.chatroom.files.select"),text:e(o).t("$vuetify.chatroom.files.readOnly")},null,8,["title","text"]))])],8,Ot)])]))}});function Et(B){const I=y(null),o=y([]),g=y([]),s=y(null),_=y(null),w=y(!1),S=y(!1),c=y(null),b=y("");let f=0;const n=ue(),u=ue(),V=ue();let P=!1;Qe(()=>{P=!0,f+=1,n.invalidate(),u.invalidate(),V.invalidate()});const m=()=>typeof B=="function"?B():String(B.value??""),W=Q(()=>I.value?.changes??[]),z=Q(()=>W.value.find(h=>h.path===s.value)??null),$=Q(()=>W.value.filter(De).map(h=>h.path)),D=Q(()=>W.value.filter(Me).map(h=>h.path));Y(B,()=>{f+=1,n.invalidate(),u.invalidate(),V.invalidate(),c.value=null,I.value=null,o.value=[],g.value=[],s.value=null,_.value=null,M()},{immediate:!0});async function M(){if(P||c.value)return;const h=++f,q=n.begin(),N=m();w.value=!0,b.value="";try{const G=await H(`/git/status?workspaceId=${encodeURIComponent(N)}`,{signal:q.signal});if(h!==f||!n.isCurrent(q)||m()!==N)return;if(I.value=G,!G){o.value=[],g.value=[],s.value=null,_.value=null;return}if(await F(h,N,q.signal),h!==f||!n.isCurrent(q)||m()!==N)return;X(),await j()}catch(G){h===f&&n.isCurrent(q)&&m()===N&&(b.value=J(G))}finally{h===f&&n.isCurrent(q)&&m()===N&&(w.value=!1)}}async function F(h,q,N){const G=encodeURIComponent(q),de=N?{signal:N}:{},[ee,E]=await Promise.all([H(`/git/branches?workspaceId=${G}`,de),H(`/git/log?workspaceId=${G}&limit=20`,de)]);h!==f||m()!==q||(o.value=ee,g.value=E)}function L(h){s.value!==h&&(s.value=h,_.value=null,j())}async function j(){const h=s.value,q=m();if(!h||!I.value?.head){u.invalidate(),S.value=!1,_.value=null;return}const N=u.begin();S.value=!0;try{const G=await H(`/git/diff?workspaceId=${encodeURIComponent(q)}&path=${encodeURIComponent(h)}`,{signal:N.signal});u.isCurrent(N)&&m()===q&&s.value===h&&(_.value=G)}catch(G){u.isCurrent(N)&&m()===q&&(_.value=null,b.value=J(G))}finally{u.isCurrent(N)&&m()===q&&(S.value=!1)}}async function p(h,q,N,G,de=6e4){if(P||c.value)return!1;const ee=m(),E=++f,U=V.begin();n.invalidate(),u.invalidate(),w.value=!1,S.value=!1,c.value=h,b.value="";try{const C=await H(q,{method:N,body:JSON.stringify({workspaceId:ee,...G}),timeoutMs:de,signal:U.signal});return P||E!==f||!V.isCurrent(U)||m()!==ee||(I.value=C,X(),await F(E,ee,U.signal),P||E!==f||!V.isCurrent(U)||m()!==ee)?!1:(await j(),!0)}catch(C){return!P&&E===f&&V.isCurrent(U)&&m()===ee&&(b.value=J(C)),!1}finally{!P&&E===f&&V.isCurrent(U)&&m()===ee&&(c.value=null)}}async function T(h){return h.length?p("stage","/git/stage","POST",{paths:h}):!1}async function d(h){return h.length?p("unstage","/git/unstage","POST",{paths:h}):!1}function A(h){return p("restore","/git/restore","POST",{path:h})}function we(h){return p("commit","/git/commit","POST",{message:h})}function Ve(h){return p("branch","/git/branches","POST",{name:h})}function le(h){return p("branch","/git/switch","POST",{name:h})}function te(h){return p("branch","/git/branches","DELETE",{name:h})}function oe(h){return p(h,`/git/${h}`,"POST",{},5*6e4)}function X(){W.value.some(h=>h.path===s.value)||(s.value=W.value[0]?.path??null)}return{status:I,branches:o,commits:g,selectedPath:s,selectPath:L,diff:_,loading:w,diffLoading:S,busy:c,error:b,changes:W,selectedChange:z,stagedPaths:$,unstagedPaths:D,load:M,stage:T,unstage:d,restore:A,commit:we,createBranch:Ve,switchBranch:le,deleteBranch:te,remote:oe,isStaged:De,isUnstaged:Me,statusCode:Nt}}function De(B){return B.indexStatus!==" "&&B.indexStatus!=="?"}function Me(B){return B.indexStatus==="?"||B.workingTreeStatus!==" "&&B.workingTreeStatus!=="?"}function Nt(B){return`${B.indexStatus}${B.workingTreeStatus}`.replaceAll(" ","·")}const At={class:"git-diff-viewer"},qt={class:"git-diff-content"},jt={class:"git-diff-line-number"},Ht={class:"git-diff-line-number"},Gt={class:"git-diff-line"},Kt={key:0,class:"git-diff-expand"},Jt={key:1},Fe=500,Qt=500,fe=2500,Xt=se({__name:"GitDiffViewer",props:{text:{}},setup(B){const I=B,o=ne(),g=y(Fe);Y(()=>I.text,()=>{g.value=Fe});const s=Q(()=>n(I.text)),_=Q(()=>f(I.text,Math.min(g.value,fe))),w=Q(()=>Math.max(0,s.value-_.value.length)),S=Q(()=>_.value.length<Math.min(s.value,fe)),c=Q(()=>s.value>fe&&_.value.length>=fe);function b(){g.value=Math.min(fe,g.value+Qt)}function f(V,P){const m=[],W=new Map;let z=0,$=0,D=!1,M="header";const F=(L,j,p,T)=>{const d=M+":"+j+":"+(p??"-")+":"+(T??"-")+":"+u(L),A=W.get(d)??0;W.set(d,A+1),m.push({key:d+":"+A,text:L,kind:j,oldLine:p,newLine:T})};for(const L of V.split(`
2
+ `,P)){const j=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(L);if(j){z=Number(j[1]),$=Number(j[2]),D=!0,M=L,F(L,"hunk",null,null);continue}if(!D||L.startsWith("diff --git ")||L.startsWith("index ")||L.startsWith("--- ")||L.startsWith("+++ ")||L.startsWith("new file mode ")||L.startsWith("deleted file mode ")||L.startsWith("Binary files ")||L.startsWith("GIT binary patch")||L.startsWith("\\ No newline")){L.startsWith("diff --git ")&&(M=L),F(L,"meta",null,null);continue}L.startsWith("+")?(F(L,"add",null,$),$+=1):L.startsWith("-")?(F(L,"delete",z,null),z+=1):(F(L,"context",z,$),z+=1,$+=1)}return m}function n(V){if(!V)return 1;let P=1;for(let m=0;m<V.length;m+=1)V.charCodeAt(m)===10&&(P+=1);return P}function u(V){let P=2166136261;for(let m=0;m<V.length;m+=1)P^=V.charCodeAt(m),P=Math.imul(P,16777619);return(P>>>0).toString(36)}return(V,P)=>(i(),O("div",At,[r("div",qt,[(i(!0),O(K,null,ie(_.value,m=>(i(),O("div",{key:m.key,class:Ne(["git-diff-row",`git-diff-row-${m.kind}`])},[r("span",jt,l(m.oldLine??""),1),r("span",Ht,l(m.newLine??""),1),r("code",Gt,l(m.text),1)],2))),128))]),w.value?(i(),O("div",Kt,[r("span",null,l(e(o).t("$vuetify.chatroom.git.diffRowsHidden",String(w.value))),1),S.value?(i(),k(x,{key:0,size:"small",variant:"text",onClick:b},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.showMoreDiff")),1)]),_:1})):c.value?(i(),O("span",Jt,l(e(o).t("$vuetify.chatroom.git.diffRenderLimit")),1)):R("",!0)])):R("",!0)]))}}),Yt={class:"workspace-git-pane"},Zt={class:"git-toolbar"},ea={class:"git-facts"},ta={class:"mono"},aa={class:"mono"},la={class:"mono"},oa={key:0},ia={class:"git-toolbar-actions"},sa={class:"git-section-header"},na={class:"git-section-actions"},ra={key:0,class:"git-workbench"},ua={class:"git-change-code mono"},ca={class:"git-diff-pane"},da={class:"git-file-toolbar"},va={class:"mono git-selected-path"},ma={class:"git-file-actions"},fa={class:"git-commit-bar"},pa={class:"git-history"},ha={class:"git-section-header"},ka={class:"git-commit-hash mono"},ya={class:"git-new-branch"},ga={class:"mono mt-2 text-break"},wa={class:"mono mt-2 text-break"},$a=se({__name:"WorkspaceGitPane",props:{workspaceId:{}},setup(B){const I=B,o=ne(),g=Et(()=>I.workspaceId),{status:s,branches:_,commits:w,selectedPath:S,selectPath:c,diff:b,loading:f,diffLoading:n,busy:u,error:V,changes:P,selectedChange:m,stagedPaths:W,unstagedPaths:z,load:$,stage:D,unstage:M,restore:F,commit:L,createBranch:j,switchBranch:p,deleteBranch:T,remote:d,isStaged:A,isUnstaged:we,statusCode:Ve}=g,le=y(""),te=y(!1),oe=y(""),X=y(null),h=y(null);Y(()=>I.workspaceId,()=>{le.value="",te.value=!1,oe.value="",X.value=null,h.value=null});async function q(){const E=X.value;E&&await F(E.path)&&(X.value=null)}async function N(){const E=le.value.trim();E&&await L(E)&&(le.value="")}async function G(){const E=oe.value.trim();E&&await j(E)&&(oe.value="",te.value=!1)}async function de(E){E.current||await p(E.name)&&(te.value=!1)}async function ee(){const E=h.value;E&&await T(E.name)&&(h.value=null)}return(E,U)=>(i(),O("div",Yt,[e(f)?(i(),k(ce,{key:0,indeterminate:""})):R("",!0),e(V)?(i(),k(Z,{key:1,type:"error",variant:"tonal",density:"compact"},{default:a(()=>[v(l(e(V)),1)]),_:1})):R("",!0),!e(f)&&!e(s)?(i(),k(ae,{key:2,icon:"$mdiSourceBranch",title:e(o).t("$vuetify.chatroom.git.notRepository")},null,8,["title"])):e(s)?(i(),O(K,{key:3},[r("div",Zt,[r("div",ea,[r("div",null,[r("span",null,l(e(o).t("$vuetify.chatroom.git.branch")),1),r("strong",ta,l(e(s).branch??"—"),1)]),r("div",null,[r("span",null,l(e(o).t("$vuetify.chatroom.git.head")),1),r("strong",aa,l(e(s).head?.slice(0,12)??"—"),1)]),r("div",null,[r("span",null,l(e(o).t("$vuetify.chatroom.git.upstream")),1),r("strong",la,l(e(s).upstream??"—"),1)]),e(s).upstream?(i(),O("div",oa,[r("span",null,l(e(o).t("$vuetify.chatroom.git.sync")),1),r("strong",null,"↑ "+l(e(s).ahead)+" · ↓ "+l(e(s).behind),1)])):R("",!0)]),r("div",ia,[t(x,{icon:"$mdiRefresh",size:"small",variant:"text",loading:e(f),disabled:e(u)!==null,"aria-label":e(o).t("$vuetify.chatroom.git.refresh"),onClick:e($)},null,8,["loading","disabled","aria-label","onClick"]),t(x,{"prepend-icon":"$mdiSourceBranch",size:"small",variant:"tonal",onClick:U[0]||(U[0]=C=>te.value=!0)},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.branches")),1)]),_:1}),t(x,{size:"small",variant:"text",loading:e(u)==="fetch",onClick:U[1]||(U[1]=C=>e(d)("fetch"))},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.fetch")),1)]),_:1},8,["loading"]),t(x,{size:"small",variant:"text",disabled:!e(s).upstream,loading:e(u)==="pull",onClick:U[2]||(U[2]=C=>e(d)("pull"))},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.pull")),1)]),_:1},8,["disabled","loading"]),t(x,{size:"small",variant:"text",loading:e(u)==="push",onClick:U[3]||(U[3]=C=>e(d)("push"))},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.push")),1)]),_:1},8,["loading"])])]),r("div",sa,[r("div",null,[r("strong",null,l(e(o).t("$vuetify.chatroom.git.changes")),1),r("span",null,l(e(P).length),1)]),r("div",na,[t(x,{size:"small",variant:"text",disabled:!e(z).length,loading:e(u)==="stage",onClick:U[4]||(U[4]=C=>e(D)(e(z)))},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.stageAll")),1)]),_:1},8,["disabled","loading"]),t(x,{size:"small",variant:"text",disabled:!e(W).length,loading:e(u)==="unstage",onClick:U[5]||(U[5]=C=>e(M)(e(W)))},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.unstageAll")),1)]),_:1},8,["disabled","loading"])])]),e(P).length?(i(),O("div",ra,[t(be,{density:"compact",class:"git-change-list"},{default:a(()=>[(i(!0),O(K,null,ie(e(P),C=>(i(),k(Ce,{key:C.path,active:e(S)===C.path,onClick:Te=>e(c)(C.path)},{prepend:a(()=>[r("span",ua,l(e(Ve)(C)),1)]),default:a(()=>[t(Pe,{class:"mono"},{default:a(()=>[v(l(C.path),1)]),_:2},1024),C.originalPath?(i(),k(Ie,{key:0,class:"mono"},{default:a(()=>[v(l(C.originalPath)+" → "+l(C.path),1)]),_:2},1024)):R("",!0)]),_:2},1032,["active","onClick"]))),128))]),_:1}),r("div",ca,[e(m)?(i(),O(K,{key:0},[r("div",da,[r("div",va,l(e(m).path),1),r("div",ma,[e(we)(e(m))?(i(),k(x,{key:0,size:"small",variant:"text",loading:e(u)==="stage",onClick:U[6]||(U[6]=C=>e(D)([e(m).path]))},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.stage")),1)]),_:1},8,["loading"])):R("",!0),e(A)(e(m))?(i(),k(x,{key:1,size:"small",variant:"text",loading:e(u)==="unstage",onClick:U[7]||(U[7]=C=>e(M)([e(m).path]))},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.unstage")),1)]),_:1},8,["loading"])):R("",!0),t(x,{color:"error",size:"small",variant:"text",disabled:!e(s).head&&e(m).kind!=="untracked",onClick:U[8]||(U[8]=C=>X.value=e(m))},{default:a(()=>[v(l(e(m).kind==="untracked"?e(o).t("$vuetify.chatroom.git.deleteFile"):e(o).t("$vuetify.chatroom.git.restore")),1)]),_:1},8,["disabled"])])]),e(n)?(i(),k(ce,{key:0,indeterminate:""})):R("",!0),e(b)?.truncated?(i(),k(Z,{key:1,type:"info",variant:"tonal",density:"compact"},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.diffTruncated")),1)]),_:1})):R("",!0),e(b)?.diff?(i(),k(Xt,{key:2,text:e(b).diff},null,8,["text"])):e(n)?R("",!0):(i(),k(ae,{key:3,icon:"$mdiFileCompare",title:e(s).head?e(o).t("$vuetify.chatroom.git.noDiff"):e(o).t("$vuetify.chatroom.git.noHead")},null,8,["title"]))],64)):R("",!0)])])):(i(),k(ae,{key:1,icon:"$mdiCheckCircleOutline",title:e(o).t("$vuetify.chatroom.git.clean")},null,8,["title"])),r("div",fa,[t(me,{modelValue:le.value,"onUpdate:modelValue":U[9]||(U[9]=C=>le.value=C),label:e(o).t("$vuetify.chatroom.git.commitMessage"),density:"compact",variant:"outlined","hide-details":"",disabled:!e(W).length,onKeyup:re(N,["enter"])},null,8,["modelValue","label","disabled"]),t(x,{color:"primary",variant:"flat",disabled:!e(W).length||!le.value.trim(),loading:e(u)==="commit",onClick:N},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.commit")),1)]),_:1},8,["disabled","loading"])]),r("div",pa,[r("div",ha,[r("strong",null,l(e(o).t("$vuetify.chatroom.git.recentCommits")),1)]),e(w).length?(i(),k(be,{key:0,density:"compact"},{default:a(()=>[(i(!0),O(K,null,ie(e(w),C=>(i(),k(Ce,{key:C.hash},{prepend:a(()=>[r("span",ka,l(C.shortHash),1)]),default:a(()=>[t(Pe,null,{default:a(()=>[v(l(C.subject),1)]),_:2},1024),t(Ie,null,{default:a(()=>[v(l(C.author)+" · "+l(new Date(C.date).toLocaleString(e(Xe)(e(o).current.value))),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):R("",!0)])],64)):R("",!0),t(ge,{modelValue:te.value,"onUpdate:modelValue":U[12]||(U[12]=C=>te.value=C),width:"auto","max-width":"42rem"},{default:a(()=>[t(ve,null,{default:a(()=>[t(pe,{"prepend-icon":"$mdiSourceBranch"},{default:a(()=>[t(he,null,{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.branches")),1)]),_:1})]),_:1}),t(ke,null,{default:a(()=>[r("div",ya,[t(me,{modelValue:oe.value,"onUpdate:modelValue":U[10]||(U[10]=C=>oe.value=C),label:e(o).t("$vuetify.chatroom.git.newBranch"),density:"compact",variant:"outlined","hide-details":"",onKeyup:re(G,["enter"])},null,8,["modelValue","label"]),t(x,{color:"primary",variant:"flat",disabled:!oe.value.trim(),loading:e(u)==="branch",onClick:G},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.create")),1)]),_:1},8,["disabled","loading"])]),t(be,{class:"mt-3",density:"compact",border:"",rounded:"lg"},{default:a(()=>[(i(!0),O(K,null,ie(e(_),C=>(i(),k(Ce,{key:C.name},{append:a(()=>[C.current?(i(),k(xe,{key:0,size:"x-small",variant:"tonal"},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.current")),1)]),_:1})):(i(),O(K,{key:1},[t(x,{size:"x-small",variant:"text",onClick:Te=>de(C)},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.switch")),1)]),_:1},8,["onClick"]),t(x,{icon:"$mdiDeleteOutline",size:"x-small",color:"error",variant:"text","aria-label":e(o).t("$vuetify.chatroom.git.deleteBranch"),onClick:Te=>h.value=C},null,8,["aria-label","onClick"])],64))]),default:a(()=>[t(Pe,{class:"mono"},{default:a(()=>[v(l(C.name),1)]),_:2},1024),C.upstream?(i(),k(Ie,{key:0,class:"mono"},{default:a(()=>[v(l(C.upstream),1)]),_:2},1024)):R("",!0)]),_:2},1024))),128))]),_:1})]),_:1}),t(ye,null,{default:a(()=>[t(Se),t(x,{variant:"text",onClick:U[11]||(U[11]=C=>te.value=!1)},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.common.close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(ge,{"model-value":X.value!==null,width:"auto","max-width":"32rem"},{default:a(()=>[t(ve,null,{default:a(()=>[t(pe,{"prepend-icon":"$mdiAlertCircleOutline",class:"text-error"},{default:a(()=>[t(he,null,{default:a(()=>[v(l(X.value?.kind==="untracked"?e(o).t("$vuetify.chatroom.git.deleteTitle"):e(o).t("$vuetify.chatroom.git.restoreTitle")),1)]),_:1})]),_:1}),t(ke,null,{default:a(()=>[v(l(X.value?.kind==="untracked"?e(o).t("$vuetify.chatroom.git.deleteDescription"):e(o).t("$vuetify.chatroom.git.restoreDescription"))+" ",1),r("div",ga,l(X.value?.path),1)]),_:1}),t(ye,null,{default:a(()=>[t(Se),t(x,{variant:"text",onClick:U[13]||(U[13]=C=>X.value=null)},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.common.cancel")),1)]),_:1}),t(x,{color:"error",variant:"flat",loading:e(u)==="restore",onClick:q},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]),t(ge,{"model-value":h.value!==null,width:"auto","max-width":"32rem"},{default:a(()=>[t(ve,null,{default:a(()=>[t(pe,{"prepend-icon":"$mdiAlertCircleOutline",class:"text-error"},{default:a(()=>[t(he,null,{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.deleteBranchTitle")),1)]),_:1})]),_:1}),t(ke,null,{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.deleteBranchDescription"))+" ",1),r("div",wa,l(h.value?.name),1)]),_:1}),t(ye,null,{default:a(()=>[t(Se),t(x,{variant:"text",onClick:U[14]||(U[14]=C=>h.value=null)},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.common.cancel")),1)]),_:1}),t(x,{color:"error",variant:"flat",loading:e(u)==="branch",onClick:ee},{default:a(()=>[v(l(e(o).t("$vuetify.chatroom.git.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"])]))}}),_a={class:"workspace-prompt-pane"},ba={class:"workspace-prompt-form"},Ca={class:"workspace-prompt-actions"},xa=".chatroom/summary.md",Va=".chatroom/prompt.md",Pa=se({__name:"WorkspacePromptPane",props:{workspaceId:{}},setup(B){const I=B,o=y(""),g=y(""),s=y(""),_=y(""),w=y(!1),S=y(!1),c=y(!1),b=y(""),f=y(null),n=ne(),u=ue(),V=ue(),P=Q(()=>f.value===I.workspaceId&&(o.value!==s.value||g.value!==_.value));Y(()=>I.workspaceId,()=>{u.invalidate(),V.invalidate(),o.value="",g.value="",s.value="",_.value="",f.value=null,S.value=!1,c.value=!1,b.value="",m()},{immediate:!0});async function m(){const $=u.begin(),D=I.workspaceId;w.value=!0,b.value="",c.value=!1;try{const M=await H(`/workspace?workspaceId=${encodeURIComponent(D)}`,{signal:$.signal});if(!u.isCurrent($)||I.workspaceId!==D)return;o.value=M.summary??"",g.value=M.presetPrompt??"",s.value=o.value,_.value=g.value,f.value=D}catch(M){u.isCurrent($)&&(b.value=J(M))}finally{u.isCurrent($)&&(w.value=!1)}}async function W($,D,M,F){await H("/workspace/file",{method:"PUT",body:JSON.stringify({workspaceId:$,path:D,content:M}),signal:F})}async function z(){if(!P.value||S.value||f.value!==I.workspaceId)return;const $=V.begin(),D=I.workspaceId,M=o.value,F=g.value;S.value=!0,b.value="",c.value=!1;try{const L=[];if(M!==s.value&&L.push(W(D,xa,M,$.signal)),F!==_.value&&L.push(W(D,Va,F,$.signal)),await Promise.all(L),!V.isCurrent($)||I.workspaceId!==D)return;s.value=M,_.value=F,c.value=!0}catch(L){V.isCurrent($)&&I.workspaceId===D&&(b.value=J(L))}finally{V.isCurrent($)&&I.workspaceId===D&&(S.value=!1)}}return($,D)=>(i(),O("div",_a,[w.value?(i(),k(ce,{key:0,indeterminate:""})):R("",!0),r("div",ba,[t(Be,{modelValue:o.value,"onUpdate:modelValue":D[0]||(D[0]=M=>o.value=M),label:e(n).t("$vuetify.chatroom.workspaces.summary"),rows:"3","auto-grow":"",maxlength:"2048",counter:"",disabled:w.value},null,8,["modelValue","label","disabled"]),t(Be,{modelValue:g.value,"onUpdate:modelValue":D[1]||(D[1]=M=>g.value=M),label:e(n).t("$vuetify.chatroom.workspaces.presetPrompt"),rows:"10","auto-grow":"",maxlength:"16384",counter:"",disabled:w.value},null,8,["modelValue","label","disabled"]),b.value?(i(),k(Z,{key:0,type:"error",variant:"tonal",density:"compact"},{default:a(()=>[v(l(b.value),1)]),_:1})):c.value?(i(),k(Z,{key:1,type:"success",variant:"tonal",density:"compact"},{default:a(()=>[v(l(e(n).t("$vuetify.chatroom.workspaces.saved")),1)]),_:1})):R("",!0),r("div",Ca,[t(x,{color:"primary",variant:"flat",loading:S.value,disabled:w.value||!P.value,onClick:z},{default:a(()=>[v(l(e(n).t("$vuetify.chatroom.workspaces.save")),1)]),_:1},8,["loading","disabled"])])])]))}}),Ia=Oe(Pa,[["__scopeId","data-v-bbd264b7"]]),Sa={class:"workspace-skills-pane"},Ra={key:2,class:"workspace-skill-grid"},Oa={class:"workspace-skill-header"},za={class:"workspace-skill-title"},Ta={class:"workspace-skill-description"},La={class:"workspace-skill-path"},Ua=se({__name:"WorkspaceSkillsPane",props:{workspaceId:{}},setup(B){const I=B,o=y(null),g=y(!1),s=y(""),_=ne(),w=ue();Y(()=>I.workspaceId,()=>{o.value=null,S()},{immediate:!0});async function S(){const b=w.begin(),f=I.workspaceId;g.value=!0,s.value="";try{const n=await H(`/workspace?workspaceId=${encodeURIComponent(f)}`,{signal:b.signal});if(!w.isCurrent(b)||I.workspaceId!==f)return;o.value=n}catch(n){w.isCurrent(b)&&(s.value=J(n))}finally{w.isCurrent(b)&&(g.value=!1)}}function c(b){return b.path.startsWith(".claude/skills/")?_.t("$vuetify.chatroom.skills.sources.claude"):b.path.startsWith(".chatroom/skills/")?_.t("$vuetify.chatroom.skills.sources.chatRoom"):_.t("$vuetify.chatroom.skills.sources.agent")}return(b,f)=>(i(),O("div",Sa,[g.value?(i(),k(ce,{key:0,indeterminate:""})):R("",!0),s.value?(i(),k(Z,{key:1,type:"error",variant:"tonal",density:"compact"},{default:a(()=>[v(l(s.value),1)]),_:1})):R("",!0),o.value?.skills.length?(i(),O("div",Ra,[(i(!0),O(K,null,ie(o.value.skills,n=>(i(),O("div",{key:n.path,class:"workspace-skill-card"},[r("div",Oa,[r("div",za,[t(Ye,{icon:"$mdiPuzzleOutline",size:"18"}),r("strong",null,l(n.name),1)]),t(xe,{size:"x-small",variant:"tonal"},{default:a(()=>[v(l(c(n)),1)]),_:2},1024)]),r("div",Ta,l(n.description||e(_).t("$vuetify.chatroom.skills.noDescription")),1),r("div",La,l(n.path),1)]))),128))])):!g.value&&!s.value?(i(),k(ae,{key:3,icon:"$mdiPuzzleOutline",title:e(_).t("$vuetify.chatroom.skills.empty")},null,8,["title"])):R("",!0)]))}}),Wa={class:"workspace-layout"},Ba={class:"workspace-header"},Da={class:"workspace-identity min-w-0"},Ma={class:"workspace-meta-row"},Fa=["title"],Ea={class:"workspace-actions"},Ya=se({__name:"WorkspacesView",setup(B){const I=y([]),o=y([]),g=y(window.localStorage.getItem("chatroom.workspace.id")),s=Q(()=>I.value.find(W=>W.id===g.value)??null),_=y("git"),w=y(!1),S=y(""),c=y(!1),b=y(!1),f=y(!1),n=y(""),u=ne(),V=ue();Ze(()=>{P()}),Y(g,W=>{W?window.localStorage.setItem("chatroom.workspace.id",W):window.localStorage.removeItem("chatroom.workspace.id")});async function P(){const W=V.begin();w.value=!0,S.value="";try{const[z,$]=await Promise.all([H("/workspaces",{signal:W.signal}),H("/workspace/roots",{signal:W.signal})]);if(!V.isCurrent(W))return;I.value=z,o.value=$,I.value.some(D=>D.id===g.value)||(g.value=I.value[0]?.id??null)}catch(z){V.isCurrent(W)&&(S.value=J(z))}finally{V.isCurrent(W)&&(w.value=!1)}}async function m(W,z){if(!f.value){f.value=!0,n.value="";try{const $=await H("/workspaces",{method:"POST",body:JSON.stringify({parent:W,name:z})});await P(),g.value=$.id,c.value=!1}catch($){n.value=J($)}finally{f.value=!1}}}return(W,z)=>(i(),O("div",Wa,[t(ve,{class:"workspace-detail panel-card"},{default:a(()=>[r("div",Ba,[r("div",Da,[t(Ae,{modelValue:g.value,"onUpdate:modelValue":z[0]||(z[0]=$=>g.value=$),items:I.value.map($=>({title:$.name,value:$.id,subtitle:$.path})),loading:w.value,"aria-label":e(u).t("$vuetify.chatroom.workspaces.workspace"),density:"compact",variant:"outlined","hide-details":"","prepend-inner-icon":"$mdiFolderOutline",class:"workspace-switcher"},null,8,["modelValue","items","loading","aria-label"]),r("div",Ma,[s.value?(i(),O("div",{key:0,class:"workspace-path",title:s.value.path},l(s.value.path),9,Fa)):R("",!0),r("div",Ea,[t(x,{icon:"$mdiFolderCogOutline",size:"small",variant:"text","aria-label":e(u).t("$vuetify.chatroom.workspaces.manage"),onClick:z[1]||(z[1]=$=>b.value=!0)},null,8,["aria-label"]),t(x,{icon:"$mdiPlus",size:"small",variant:"text","aria-label":e(u).t("$vuetify.chatroom.workspaces.createTitle"),onClick:z[2]||(z[2]=$=>{n.value="",c.value=!0})},null,8,["aria-label"]),t(x,{icon:"$mdiRefresh",size:"small",variant:"text",loading:w.value,"aria-label":e(u).t("$vuetify.chatroom.workspaces.refresh"),onClick:P},null,8,["loading","aria-label"])])])])]),S.value?(i(),k(Z,{key:0,type:"error",variant:"tonal",density:"compact"},{default:a(()=>[v(l(S.value),1)]),_:1})):R("",!0),g.value?(i(),O(K,{key:1},[t(lt,{modelValue:_.value,"onUpdate:modelValue":z[3]||(z[3]=$=>_.value=$),density:"compact",class:"workspace-tabs"},{default:a(()=>[t($e,{value:"git"},{default:a(()=>[v(l(e(u).t("$vuetify.chatroom.workspaces.git")),1)]),_:1}),t($e,{value:"prompt"},{default:a(()=>[v(l(e(u).t("$vuetify.chatroom.workspaces.prompt")),1)]),_:1}),t($e,{value:"files"},{default:a(()=>[v(l(e(u).t("$vuetify.chatroom.workspaces.files")),1)]),_:1}),t($e,{value:"skills"},{default:a(()=>[v(l(e(u).t("$vuetify.chatroom.workspaces.skills")),1)]),_:1})]),_:1},8,["modelValue"]),t(ze),t(ot,{modelValue:_.value,"onUpdate:modelValue":z[4]||(z[4]=$=>_.value=$),touch:!1},{default:a(()=>[t(_e,{value:"git"},{default:a(()=>[t($a,{"workspace-id":g.value},null,8,["workspace-id"])]),_:1}),t(_e,{value:"prompt"},{default:a(()=>[t(Ia,{"workspace-id":g.value},null,8,["workspace-id"])]),_:1}),t(_e,{value:"files"},{default:a(()=>[t(Ft,{"workspace-id":g.value},null,8,["workspace-id"])]),_:1}),t(_e,{value:"skills"},{default:a(()=>[t(Ua,{"workspace-id":g.value},null,8,["workspace-id"])]),_:1})]),_:1},8,["modelValue"])],64)):w.value?R("",!0):(i(),k(ae,{key:2,icon:"$mdiFolderOutline",title:e(u).t("$vuetify.chatroom.workspaces.empty")},null,8,["title"]))]),_:1}),t(rt,{modelValue:c.value,"onUpdate:modelValue":z[5]||(z[5]=$=>c.value=$),roots:o.value,busy:f.value,error:n.value,onCreate:m},null,8,["modelValue","roots","busy","error"]),t(_t,{modelValue:b.value,"onUpdate:modelValue":z[6]||(z[6]=$=>b.value=$),onUpdated:P},null,8,["modelValue"])]))}});export{Ya as default};
@@ -0,0 +1 @@
1
+ .workspace-create-form[data-v-f24d3eec]{display:grid;gap:18px}.workspace-create-location[data-v-f24d3eec]{display:grid;gap:4px}.workspace-create-location span[data-v-f24d3eec]{color:rgb(var(--v-theme-on-surface),.55);font-size:12px}.workspace-create-location code[data-v-f24d3eec]{overflow-wrap:anywhere;font-size:12px}.workspace-manage-dialog[data-v-55f78db7]{max-height:min(88vh,900px)}.workspace-manage-content[data-v-55f78db7]{display:grid;gap:18px}.workspace-register-form[data-v-55f78db7]{display:grid;gap:10px}.workspace-manage-list-heading[data-v-55f78db7]{display:flex;align-items:center;justify-content:space-between}.workspace-manage-list[data-v-55f78db7]{display:grid;gap:0}.workspace-manage-item[data-v-55f78db7]{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.workspace-manage-item-main[data-v-55f78db7]{flex:1;min-width:0;display:grid;gap:5px}.workspace-manage-item-title[data-v-55f78db7]{font-weight:600}.workspace-manage-item-path[data-v-55f78db7]{color:rgba(var(--v-theme-on-surface),.62);font-size:12px;overflow-wrap:anywhere}.workspace-manage-item-tags[data-v-55f78db7],.workspace-manage-item-actions[data-v-55f78db7]{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.workspace-manage-item-actions[data-v-55f78db7]{flex-shrink:0}.workspace-prompt-pane[data-v-bbd264b7]{min-width:0}.workspace-prompt-form[data-v-bbd264b7]{display:grid;gap:18px;padding:18px}.workspace-prompt-actions[data-v-bbd264b7]{display:flex;justify-content:flex-end}