@xopcai/xopc 0.0.415 → 0.0.417

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 (892) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +2 -2
  3. package/dist/browser-ext/_locales/en/messages.json +4 -1
  4. package/dist/browser-ext/_locales/zh_CN/messages.json +4 -1
  5. package/dist/browser-ext/dist/assets/{page-context-MuzjMBlJ.js → page-context-BKnEwsOO.js} +2914 -1381
  6. package/dist/browser-ext/dist/background.js +39 -10
  7. package/dist/browser-ext/dist/sidepanel.html +1 -1
  8. package/dist/browser-ext/dist/sidepanel.js +502 -348
  9. package/dist/browser-ext/manifest.json +1 -1
  10. package/dist/extensions/telegram/xopc.extension.json +1 -1
  11. package/dist/gateway/static/root/assets/activity-YogQEteU.js +1 -0
  12. package/dist/gateway/static/root/assets/activity-store-DnqOM8GN.js +1 -0
  13. package/dist/gateway/static/root/assets/agent-avatar-dicebear-1UABT2KS.js +1 -0
  14. package/dist/gateway/static/root/assets/agent-avatar-display-Cy50vjbq.js +2 -0
  15. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-V4NX_cWz.js +1 -0
  16. package/dist/gateway/static/root/assets/agent-display-names-Bje7vfSn.js +1 -0
  17. package/dist/gateway/static/root/assets/agent-plugin-dialog-CQ5LLDMO.js +1 -0
  18. package/dist/gateway/static/root/assets/agents-O7mago-m.js +77 -0
  19. package/dist/gateway/static/root/assets/{agents-admin-api-B1p-ghg9.js → agents-admin-api-CyjykMEh.js} +2 -2
  20. package/dist/gateway/static/root/assets/agents-app-path-ciChvpCS.js +1 -0
  21. package/dist/gateway/static/root/assets/api-C1dxxDZx.js +1 -0
  22. package/dist/gateway/static/root/assets/api-Ddrs70xV.js +1 -0
  23. package/dist/gateway/static/root/assets/app-chrome-BeB4KgOf.js +1 -0
  24. package/dist/gateway/static/root/assets/app-link-CytZ5zkp.js +1 -0
  25. package/dist/gateway/static/root/assets/app-management-settings-panel-C1Zs-eha.js +1 -0
  26. package/dist/gateway/static/root/assets/appearance-settings-lIfGokbz.js +1 -0
  27. package/dist/gateway/static/root/assets/apps-page-CUvtsRYD.js +1 -0
  28. package/dist/gateway/static/root/assets/archive-Dz0hferG.js +1 -0
  29. package/dist/gateway/static/root/assets/{archive-plugin-Ch7wolHE.js → archive-plugin-n5lPr79c.js} +1 -1
  30. package/dist/gateway/static/root/assets/arrow-left-D880xG-P.js +1 -0
  31. package/dist/gateway/static/root/assets/arrow-right-DSSvoX71.js +1 -0
  32. package/dist/gateway/static/root/assets/arrow-up-D5ZtR1QT.js +1 -0
  33. package/dist/gateway/static/root/assets/arrow-up-right-T72JbQ1Q.js +1 -0
  34. package/dist/gateway/static/root/assets/{attachment-preview-renderer-wzIchDSv.js → attachment-preview-renderer-DdOEgexg.js} +3 -3
  35. package/dist/gateway/static/root/assets/{attachment-process-heavy-Db4nTY5N.js → attachment-process-heavy-DGZZ-M85.js} +2 -2
  36. package/dist/gateway/static/root/assets/automation-api-Bld8blNl.js +1 -0
  37. package/dist/gateway/static/root/assets/automation-display-BcfZOQTC.js +2 -0
  38. package/dist/gateway/static/root/assets/{automations-page-DK7AU79v.js → automations-page-oLsNzu_6.js} +1 -1
  39. package/dist/gateway/static/root/assets/automations-workspace-BgtYY2Mm.js +8 -0
  40. package/dist/gateway/static/root/assets/beta-badge-BnzdzIEl.js +1 -0
  41. package/dist/gateway/static/root/assets/{binary-plugins-B4HcHYsC.js → binary-plugins-D9VW7dWP.js} +2 -2
  42. package/dist/gateway/static/root/assets/{block-editor-BQAWEZF-.js → block-editor-C477bTtO.js} +23 -23
  43. package/dist/gateway/static/root/assets/book-open-CCGtrT3R.js +1 -0
  44. package/dist/gateway/static/root/assets/bot-DjLkhyZL.js +1 -0
  45. package/dist/gateway/static/root/assets/box-DvYoGszj.js +1 -0
  46. package/dist/gateway/static/root/assets/braces-Cfmtagno.js +1 -0
  47. package/dist/gateway/static/root/assets/brand-logo-CgT9zQfr.js +1 -0
  48. package/dist/gateway/static/root/assets/briefcase-business-BsoCaI_t.js +1 -0
  49. package/dist/gateway/static/root/assets/browser-BLJWD7WI.js +8 -0
  50. package/dist/gateway/static/root/assets/{browser-automation-inputs-D6AccXaA.js → browser-automation-inputs-CCiYXxmh.js} +1 -1
  51. package/dist/gateway/static/root/assets/browser-automations-page-DIUNY94X.js +3 -0
  52. package/dist/gateway/static/root/assets/browser-control-api-Y3fvmeBk.js +6 -0
  53. package/dist/gateway/static/root/assets/browser-notification-delivery-DmE2FgGc.js +1 -0
  54. package/dist/gateway/static/root/assets/browser-settings-page-DjkGahlz.js +3 -0
  55. package/dist/gateway/static/root/assets/{button-aIC072nz.js → button-CnRSIP6m.js} +1 -1
  56. package/dist/gateway/static/root/assets/calendar-clock-D-quYVPe.js +1 -0
  57. package/dist/gateway/static/root/assets/calendar-days-hw_Y-g-s.js +1 -0
  58. package/dist/gateway/static/root/assets/capabilities-DAyA681v.js +1 -0
  59. package/dist/gateway/static/root/assets/capabilities-DRVXLssH.js +1 -0
  60. package/dist/gateway/static/root/assets/capabilities-page-DFW4Y0x8.js +2 -0
  61. package/dist/gateway/static/root/assets/capabilities-settings-panel-uOHSMQPZ.js +8 -0
  62. package/dist/gateway/static/root/assets/capability-header-actions-CTUCuBlW.js +1 -0
  63. package/dist/gateway/static/root/assets/capability-icon-DVoZxEgW.js +1 -0
  64. package/dist/gateway/static/root/assets/capability-links-DzQWK1Fh.js +1 -0
  65. package/dist/gateway/static/root/assets/channels-D2a69dSt.js +1 -0
  66. package/dist/gateway/static/root/assets/channels-routes-r2g-9DdC.js +1 -0
  67. package/dist/gateway/static/root/assets/chat-agents-api-D5nR_JVe.js +1 -0
  68. package/dist/gateway/static/root/assets/chat-chart-block-K2t333qv.js +2 -0
  69. package/dist/gateway/static/root/assets/chat-page-CG38tCHE.js +71 -0
  70. package/dist/gateway/static/root/assets/chat-page-zQeUaawJ.css +1 -0
  71. package/dist/gateway/static/root/assets/chat-terminal-dock-CkFG6mA3.js +35 -0
  72. package/dist/gateway/static/root/assets/chevron-left-DqFhpbvK.js +1 -0
  73. package/dist/gateway/static/root/assets/chevron-right-BweFrslA.js +1 -0
  74. package/dist/gateway/static/root/assets/chunk-D32TOXHM-DQIy-Baq.js +156 -0
  75. package/dist/gateway/static/root/assets/chunk-KS7C4IRE-CiwuuyV8.js +4 -0
  76. package/dist/gateway/static/root/assets/circle-BoO4YvTx.js +1 -0
  77. package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +1 -0
  78. package/dist/gateway/static/root/assets/circle-pause-CN9jYH2s.js +1 -0
  79. package/dist/gateway/static/root/assets/circle-x-DFsCKeya.js +1 -0
  80. package/dist/gateway/static/root/assets/clock-3-DnrAnuyZ.js +1 -0
  81. package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +1 -0
  82. package/dist/gateway/static/root/assets/cloud-credits-B-nbtkqv.js +1 -0
  83. package/dist/gateway/static/root/assets/code-xml-DJtYhZUF.js +1 -0
  84. package/dist/gateway/static/root/assets/coins-DjP27vUx.js +1 -0
  85. package/dist/gateway/static/root/assets/command-palette-api-Do_66X1B.js +1 -0
  86. package/dist/gateway/static/root/assets/composer-payload-handoff-BU3B-C26.js +1 -0
  87. package/dist/gateway/static/root/assets/computer-settings-page-DBxOcMko.js +1 -0
  88. package/dist/gateway/static/root/assets/confirm-dialog-XGclfBqe.js +1 -0
  89. package/dist/gateway/static/root/assets/connected-providers-grid-Dmnu2zle.js +1 -0
  90. package/dist/gateway/static/root/assets/connector-filters-Cfcx9EA2.js +1 -0
  91. package/dist/gateway/static/root/assets/connector-service-page-rWpnchb3.js +1 -0
  92. package/dist/gateway/static/root/assets/connectors-api-DIBG72k4.js +1 -0
  93. package/dist/gateway/static/root/assets/connectors-page-DT_WrC1y.js +1 -0
  94. package/dist/gateway/static/root/assets/constants-DBtMsXdW.js +1 -0
  95. package/dist/gateway/static/root/assets/copy-text-row-CYIv7RfP.js +1 -0
  96. package/dist/gateway/static/root/assets/cpu-B247669f.js +1 -0
  97. package/dist/gateway/static/root/assets/database-CjjeZfRG.js +1 -0
  98. package/dist/gateway/static/root/assets/date-picker-CE-cZFCU.js +1 -0
  99. package/dist/gateway/static/root/assets/dependency-picker-7SpSfDSg.js +1 -0
  100. package/dist/gateway/static/root/assets/desktop-pet-lorocS9j.js +1 -0
  101. package/dist/gateway/static/root/assets/desktop-pet-narrative-CS8qJpNO.js +1 -0
  102. package/dist/gateway/static/root/assets/desktop-pet-settings-CEcohlZq.js +1 -0
  103. package/dist/gateway/static/root/assets/{desktop-pet-sprite-Bd-aOI7N.js → desktop-pet-sprite-D5YYq2zC.js} +1 -1
  104. package/dist/gateway/static/root/assets/dev-view-store-57HgVuZ6.js +1 -0
  105. package/dist/gateway/static/root/assets/device-pairing-wizard-CLCPuf4R.js +1 -0
  106. package/dist/gateway/static/root/assets/directory-picker-path-field-D4jMhpka.js +1 -0
  107. package/dist/gateway/static/root/assets/discussion-annotation-sync-BKjf9gWe.js +1 -0
  108. package/dist/gateway/static/root/assets/dist-CaUuvp8-.js +1 -0
  109. package/dist/gateway/static/root/assets/dist-DNCdG_qB.js +1 -0
  110. package/dist/gateway/static/root/assets/dist-DfWfZ9iu.js +1 -0
  111. package/dist/gateway/static/root/assets/dist-DusecO_p.js +1 -0
  112. package/dist/gateway/static/root/assets/docx-preview-CnIClbYi.js +20 -0
  113. package/dist/gateway/static/root/assets/earth-BMhZtzcj.js +1 -0
  114. package/dist/gateway/static/root/assets/echarts-runtime-QSmTlXOu.js +18 -0
  115. package/dist/gateway/static/root/assets/electron-env-DHOGevH3.js +1 -0
  116. package/dist/gateway/static/root/assets/extension-debug-page-BsK2LMXQ.js +1 -0
  117. package/dist/gateway/static/root/assets/extension-iframe-host-Dhkk5JV2.js +1 -0
  118. package/dist/gateway/static/root/assets/extension-marketplace-api-CVJPqJOB.js +1 -0
  119. package/dist/gateway/static/root/assets/extension-page-Brps2XDP.js +1 -0
  120. package/dist/gateway/static/root/assets/extension-paths-DvuaZJuy.js +1 -0
  121. package/dist/gateway/static/root/assets/extension-provider-Byrd8Sor.js +1 -0
  122. package/dist/gateway/static/root/assets/extension-settings-page-CHY68DpG.js +1 -0
  123. package/dist/gateway/static/root/assets/file-BqMS_3DT.js +1 -0
  124. package/dist/gateway/static/root/assets/file-archive-DanfQJNe.js +1 -0
  125. package/dist/gateway/static/root/assets/file-preview-surface-BlprUrIs.js +1 -0
  126. package/dist/gateway/static/root/assets/file-text-D12HbeVy.js +1 -0
  127. package/dist/gateway/static/root/assets/file-tree-CFlZnV3Y.js +1 -0
  128. package/dist/gateway/static/root/assets/file-tree-utils-DJs1faGv.js +1 -0
  129. package/dist/gateway/static/root/assets/files-BNL4kkSB.js +1 -0
  130. package/dist/gateway/static/root/assets/floating-ui.dom-seOukHzT.js +1 -0
  131. package/dist/gateway/static/root/assets/folder-CN-pC3XL.js +1 -0
  132. package/dist/gateway/static/root/assets/folder-kanban-CpLlFI1o.js +1 -0
  133. package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +1 -0
  134. package/dist/gateway/static/root/assets/{gateway-config-swr-fQKBHBi1.js → gateway-config-swr-BAmUhiP1.js} +1 -1
  135. package/dist/gateway/static/root/assets/gateway-realtime-CsykKL4l.js +1 -0
  136. package/dist/gateway/static/root/assets/gateway-realtime-store-DQqMBruB.js +1 -0
  137. package/dist/gateway/static/root/assets/gateway-restart-Ch128Lrr.js +1 -0
  138. package/dist/gateway/static/root/assets/gateway-settings-BA5-Uuwx.js +1 -0
  139. package/dist/gateway/static/root/assets/{gateway-startup-retry-Cfwxof4k.js → gateway-startup-retry-CtUB3g6N.js} +1 -1
  140. package/dist/gateway/static/root/assets/gauge-C78eD2BA.js +1 -0
  141. package/dist/gateway/static/root/assets/git-branch-Dh9uxTot.js +1 -0
  142. package/dist/gateway/static/root/assets/global-defaults-api-CINf-C6a.js +2 -0
  143. package/dist/gateway/static/root/assets/heart-Cp4rgrqn.js +1 -0
  144. package/dist/gateway/static/root/assets/highlight-code-BH65IIbJ.js +1 -0
  145. package/dist/gateway/static/root/assets/highlighted-body-KQOG7T2V-DKGma5wI.js +1 -0
  146. package/dist/gateway/static/root/assets/history-DXH_9jsE.js +1 -0
  147. package/dist/gateway/static/root/assets/home-page-DaMFBYo1.js +2 -0
  148. package/dist/gateway/static/root/assets/image-Cwyalflz.js +1 -0
  149. package/dist/gateway/static/root/assets/image-generation-api-I_JgLL_m.js +1 -0
  150. package/dist/gateway/static/root/assets/imports-page-BWShtGRQ.js +1 -0
  151. package/dist/gateway/static/root/assets/index-BpCi0TdG.js +11 -0
  152. package/dist/gateway/static/root/assets/index-DY2Y83b9.css +1 -0
  153. package/dist/gateway/static/root/assets/index.module-Cd9ENXfk.js +1 -0
  154. package/dist/gateway/static/root/assets/info-CDrmIZhb.js +1 -0
  155. package/dist/gateway/static/root/assets/install-connector-dialog-DU1Tz7B3.js +1 -0
  156. package/dist/gateway/static/root/assets/interaction-BdhHBbYa.js +1 -0
  157. package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +1 -0
  158. package/dist/gateway/static/root/assets/{jszip.min-DT31yWkU.js → jszip.min-Dj17eJqX.js} +1 -1
  159. package/dist/gateway/static/root/assets/key-round-DWbpyU2U.js +1 -0
  160. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-CdM4BQwp.js +1 -0
  161. package/dist/gateway/static/root/assets/languages-zXtNocoy.js +2 -0
  162. package/dist/gateway/static/root/assets/laptop-CI3hBVrl.js +1 -0
  163. package/dist/gateway/static/root/assets/layers-mJW7JJKm.js +1 -0
  164. package/dist/gateway/static/root/assets/layout-grid-CEVZdVFU.js +1 -0
  165. package/dist/gateway/static/root/assets/list-checks-BbsExAoq.js +1 -0
  166. package/dist/gateway/static/root/assets/list-filter-COkzTdOz.js +1 -0
  167. package/dist/gateway/static/root/assets/list-todo-CTVRto8O.js +1 -0
  168. package/dist/gateway/static/root/assets/list-tree-B0OMswgM.js +1 -0
  169. package/dist/gateway/static/root/assets/local-app-workbench-page-qPflPuQD.js +1 -0
  170. package/dist/gateway/static/root/assets/local-apps-Ck6kACsY.js +1 -0
  171. package/dist/gateway/static/root/assets/local-apps-page-CxyRVfjD.js +1 -0
  172. package/dist/gateway/static/root/assets/local-session-drafts-B9ZPwotC.js +1 -0
  173. package/dist/gateway/static/root/assets/{locale-store-B7s2Hb35.js → locale-store-lIXD1FMw.js} +1 -1
  174. package/dist/gateway/static/root/assets/lock-keyhole-DEK5kH0u.js +1 -0
  175. package/dist/gateway/static/root/assets/logs-page-CbY1N-zi.js +2 -0
  176. package/dist/gateway/static/root/assets/loopi-C09I2mNj.css +1 -0
  177. package/dist/gateway/static/root/assets/loopi-CNtmi9FU.js +1 -0
  178. package/dist/gateway/static/root/assets/management-settings-Diy12JfQ.js +1 -0
  179. package/dist/gateway/static/root/assets/{markdown-editor-phTQ0mox.js → markdown-editor-BuuGlcfG.js} +1 -1
  180. package/dist/gateway/static/root/assets/markdown-view-C-DHb3Io.css +1 -0
  181. package/dist/gateway/static/root/assets/markdown-view-CJt-i2Dp.js +324 -0
  182. package/dist/gateway/static/root/assets/{media-plugins-DYQDjCVQ.js → media-plugins-D_bR23mA.js} +1 -1
  183. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-Ur99GwOg.js +1 -0
  184. package/dist/gateway/static/root/assets/mermaid-render-oOellPHt.js +134 -0
  185. package/dist/gateway/static/root/assets/message-circle-Badhj-4D.js +1 -0
  186. package/dist/gateway/static/root/assets/message-square-fVE7Ghj1.js +1 -0
  187. package/dist/gateway/static/root/assets/message-square-plus-XP0tGdlV.js +1 -0
  188. package/dist/gateway/static/root/assets/{messages-BYq0cPbn.js → messages-DRR9N3HC.js} +1 -1
  189. package/dist/gateway/static/root/assets/messages-square-BckAJrEW.js +1 -0
  190. package/dist/gateway/static/root/assets/mic-CuUb7zc-.js +1 -0
  191. package/dist/gateway/static/root/assets/minimize-2-DtOGrlpo.js +1 -0
  192. package/dist/gateway/static/root/assets/mobile-pair-qr-CuIbmw5x.js +1 -0
  193. package/dist/gateway/static/root/assets/model-selector-DCYA_ntf.js +1 -0
  194. package/dist/gateway/static/root/assets/models-hub-cache-za2fWJLg.js +1 -0
  195. package/dist/gateway/static/root/assets/monitor-Af5eAvF7.js +1 -0
  196. package/dist/gateway/static/root/assets/mouse-pointer-2-DZ51Onvj.js +1 -0
  197. package/dist/gateway/static/root/assets/navigation-BkjnOw30.js +1 -0
  198. package/dist/gateway/static/root/assets/network-BUQLY1BV.js +1 -0
  199. package/dist/gateway/static/root/assets/new-session-preferences-gb411vZP.js +1 -0
  200. package/dist/gateway/static/root/assets/note-detail-panel-DBs1yHLy.js +5 -0
  201. package/dist/gateway/static/root/assets/note-image-lightbox-CivkB6LB.js +1 -0
  202. package/dist/gateway/static/root/assets/notes-api-C_458rv5.js +1 -0
  203. package/dist/gateway/static/root/assets/notes-page-DL3c-41a.js +8 -0
  204. package/dist/gateway/static/root/assets/number-input-El7Szeln.js +1 -0
  205. package/dist/gateway/static/root/assets/oauth-api-C3X9FLYw.js +1 -0
  206. package/dist/gateway/static/root/assets/oauth-authorization-window-o6URRos4.js +1 -0
  207. package/dist/gateway/static/root/assets/oauth-provider-connect-H81se_3n.js +1 -0
  208. package/dist/gateway/static/root/assets/package-wATCyihJ.js +1 -0
  209. package/dist/gateway/static/root/assets/page-context-capture-button-BkAlQ7cB.js +1 -0
  210. package/dist/gateway/static/root/assets/page-context-draft-ClLgaOaD.js +1 -0
  211. package/dist/gateway/static/root/assets/page-header-store-DH8K0xii.js +1 -0
  212. package/dist/gateway/static/root/assets/page-tabs-oeTY7z3_.js +1 -0
  213. package/dist/gateway/static/root/assets/panel-left-C8MqSXRZ.js +1 -0
  214. package/dist/gateway/static/root/assets/panel-right-CFGrHTsD.js +1 -0
  215. package/dist/gateway/static/root/assets/paperclip-f1HujQY1.js +1 -0
  216. package/dist/gateway/static/root/assets/pause-DuPxgSxk.js +1 -0
  217. package/dist/gateway/static/root/assets/{pdf-D4PI9qAw.js → pdf-EQHMWEbX.js} +3 -3
  218. package/dist/gateway/static/root/assets/pdf-runtime-JnUAvfIa.js +2 -0
  219. package/dist/gateway/static/root/assets/{pdf.worker.min-B4E34YdZ.js → pdf.worker.min-bpyjgR8v.js} +7 -7
  220. package/dist/gateway/static/root/assets/pencil-DmIY3Oa-.js +1 -0
  221. package/dist/gateway/static/root/assets/personal-avatar-BLtHt8fV.js +1 -0
  222. package/dist/gateway/static/root/assets/personal-avatar-BUCb7OiW.css +1 -0
  223. package/dist/gateway/static/root/assets/personal-page-B5DP3lO-.js +1 -0
  224. package/dist/gateway/static/root/assets/personal-proactivity-DaRnbB1f.js +1 -0
  225. package/dist/gateway/static/root/assets/personal-settings-panel-DjDc5Kaz.js +1 -0
  226. package/dist/gateway/static/root/assets/phone-dependencies-card-DISHarj8.js +1 -0
  227. package/dist/gateway/static/root/assets/phone-model-picker-u8YIQCgo.js +1 -0
  228. package/dist/gateway/static/root/assets/phone-settings-page-el3pT0PD.js +1 -0
  229. package/dist/gateway/static/root/assets/phone-workspace-store-fhnZrgy_.js +1 -0
  230. package/dist/gateway/static/root/assets/pin-off-BMRv-Kxr.js +1 -0
  231. package/dist/gateway/static/root/assets/play-kxZvpBg8.js +1 -0
  232. package/dist/gateway/static/root/assets/plug-DKYPEgkR.js +1 -0
  233. package/dist/gateway/static/root/assets/plug-zap-L8NMe3Sv.js +1 -0
  234. package/dist/gateway/static/root/assets/plugin-details-dialog-CTBs1Jde.js +1 -0
  235. package/dist/gateway/static/root/assets/plus-Q2yW6OE7.js +1 -0
  236. package/dist/gateway/static/root/assets/popover-select-DniHw2dy.js +1 -0
  237. package/dist/gateway/static/root/assets/power-ZI-pBczI.js +1 -0
  238. package/dist/gateway/static/root/assets/power-off-CwwQ7Gp7.js +1 -0
  239. package/dist/gateway/static/root/assets/preference-select-fields-D7oluyHN.js +1 -0
  240. package/dist/gateway/static/root/assets/preload-helper-Czpn1I53.js +1 -0
  241. package/dist/gateway/static/root/assets/preview-open-alternatives-CY_hjK4b.js +1 -0
  242. package/dist/gateway/static/root/assets/product-automation-feedback-DsUSqCOX.js +7 -0
  243. package/dist/gateway/static/root/assets/product-delivery-BU_H84jL.js +1 -0
  244. package/dist/gateway/static/root/assets/product-navigation-Co8pLbDP.js +1 -0
  245. package/dist/gateway/static/root/assets/product-open-page-xn9G4hSI.js +1 -0
  246. package/dist/gateway/static/root/assets/product-preview-content-DcoK-iZe.js +1 -0
  247. package/dist/gateway/static/root/assets/product-preview-modal-Ruw9WSKK.js +2 -0
  248. package/dist/gateway/static/root/assets/project-detail-page-BKvWLiMw.js +7 -0
  249. package/dist/gateway/static/root/assets/project-understanding-BCQr0AZ_.js +1 -0
  250. package/dist/gateway/static/root/assets/projects-page-D4g7bB7X.js +1 -0
  251. package/dist/gateway/static/root/assets/providers-api-CzVkFKFg.js +1 -0
  252. package/dist/gateway/static/root/assets/puzzle-BptcPjKI.js +1 -0
  253. package/dist/gateway/static/root/assets/recording-upload-0jxahBMo.js +1 -0
  254. package/dist/gateway/static/root/assets/refresh-button-bU_0NarN.js +1 -0
  255. package/dist/gateway/static/root/assets/refresh-cw-BRlGaq2w.js +1 -0
  256. package/dist/gateway/static/root/assets/{registry-api-BcfoLEna.js → registry-api-n8TwtJ_j.js} +2 -2
  257. package/dist/gateway/static/root/assets/remote-access-hub-cZpBi4Rk.js +1 -0
  258. package/dist/gateway/static/root/assets/rotate-ccw-JM1TBLpp.js +1 -0
  259. package/dist/gateway/static/root/assets/rotate-cw-LIg3Am9S.js +1 -0
  260. package/dist/gateway/static/root/assets/route-preload-B5UiReO7.js +2 -0
  261. package/dist/gateway/static/root/assets/runtime-health-D2TDFLLq.js +1 -0
  262. package/dist/gateway/static/root/assets/{runtime-tools-api-DesqGCnE.js → runtime-tools-api-D-8KjYK6.js} +1 -1
  263. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-MKlLFuow.js +1 -0
  264. package/dist/gateway/static/root/assets/save-DRDABU--.js +1 -0
  265. package/dist/gateway/static/root/assets/schema-form-v4N4lawq.js +1 -0
  266. package/dist/gateway/static/root/assets/schemas-CCWMleym.js +55 -0
  267. package/dist/gateway/static/root/assets/search-DA7gz22f.js +1 -0
  268. package/dist/gateway/static/root/assets/secret-input-BQvFXqzz.js +1 -0
  269. package/dist/gateway/static/root/assets/secret-input-labels-B5Jl5HqK.js +1 -0
  270. package/dist/gateway/static/root/assets/segmented-styles-Cqb91xsn.js +1 -0
  271. package/dist/gateway/static/root/assets/send-1f1Ntw6E.js +1 -0
  272. package/dist/gateway/static/root/assets/server-BlHCBjiE.js +1 -0
  273. package/dist/gateway/static/root/assets/service-recommendation-list-B1xuVT3N.js +1 -0
  274. package/dist/gateway/static/root/assets/{session-api-DdQnMwkl.js → session-api-CsCoI2im.js} +1 -1
  275. package/dist/gateway/static/root/assets/session-channel-icon-SsY70Z6t.js +1 -0
  276. package/dist/gateway/static/root/assets/session-identity-label-B7sgG1PE.js +1 -0
  277. package/dist/gateway/static/root/assets/session-manager-5l9q0cd5.js +16 -0
  278. package/dist/gateway/static/root/assets/sessions-page-DsLw2aMD.js +1 -0
  279. package/dist/gateway/static/root/assets/settings-2-D-csvaET.js +1 -0
  280. package/dist/gateway/static/root/assets/settings-advanced-gate-B5lQeVNi.js +1 -0
  281. package/dist/gateway/static/root/assets/settings-advanced-section-BqoVSko2.js +1 -0
  282. package/dist/gateway/static/root/assets/settings-form-draft-Dy10ldo8.js +1 -0
  283. package/dist/gateway/static/root/assets/settings-form-section-num14vSv.js +1 -0
  284. package/dist/gateway/static/root/assets/settings-loading-skeleton-BTqvr_Fw.js +1 -0
  285. package/dist/gateway/static/root/assets/settings-mode-store-CBsJ-Qg2.js +1 -0
  286. package/dist/gateway/static/root/assets/settings-page-DROUGyJl.js +1 -0
  287. package/dist/gateway/static/root/assets/settings-page-header-Bv-kQFTm.js +1 -0
  288. package/dist/gateway/static/root/assets/settings-page-layout-DHP6MrrL.js +1 -0
  289. package/dist/gateway/static/root/assets/settings-uiTATseT.js +1 -0
  290. package/dist/gateway/static/root/assets/setup-status-panel-MJE3B_LX.js +1 -0
  291. package/dist/gateway/static/root/assets/share-link-dialog-BJHRQVKC.js +1 -0
  292. package/dist/gateway/static/root/assets/share-preview-page-Bsrv_zOQ.js +2 -0
  293. package/dist/gateway/static/root/assets/shares-api-rtWVHA_d.js +1 -0
  294. package/dist/gateway/static/root/assets/shares-settings-CfIRv4uX.js +1 -0
  295. package/dist/gateway/static/root/assets/shield-B1sI_cxl.js +1 -0
  296. package/dist/gateway/static/root/assets/shield-check-BU58siTV.js +1 -0
  297. package/dist/gateway/static/root/assets/shield-off-2jsucUds.js +1 -0
  298. package/dist/gateway/static/root/assets/side-chat-shortcut-BIw-1TTD.js +1 -0
  299. package/dist/gateway/static/root/assets/skill-api-B_W1K3sv.js +1 -0
  300. package/dist/gateway/static/root/assets/skill-api-utils-C7V4JVXM.js +1 -0
  301. package/dist/gateway/static/root/assets/skill-list-api-BzlKXPsE.js +1 -0
  302. package/dist/gateway/static/root/assets/skill-reload-api-Cff2GgZb.js +1 -0
  303. package/dist/gateway/static/root/assets/skill-wire-pattern-BPpeIcCi.js +1 -0
  304. package/dist/gateway/static/root/assets/skills-page-DtBloYeU.js +2 -0
  305. package/dist/gateway/static/root/assets/sliders-horizontal-DqsYor6I.js +1 -0
  306. package/dist/gateway/static/root/assets/sliding-tab-list-DuQyViqe.js +1 -0
  307. package/dist/gateway/static/root/assets/smartphone-DSSsQFqA.js +1 -0
  308. package/dist/gateway/static/root/assets/{source-workspace-editor-BIvi89Zx.js → source-workspace-editor-kxosllTu.js} +1 -1
  309. package/dist/gateway/static/root/assets/sparkles-DHlfQFAF.js +1 -0
  310. package/dist/gateway/static/root/assets/specialists-xbB3xL9e.js +1 -0
  311. package/dist/gateway/static/root/assets/square-DMK_fB-3.js +1 -0
  312. package/dist/gateway/static/root/assets/square-pen-B8FsvqNu.js +1 -0
  313. package/dist/gateway/static/root/assets/square-terminal-K87bylpZ.js +1 -0
  314. package/dist/gateway/static/root/assets/star-BUWJqJ5c.js +1 -0
  315. package/dist/gateway/static/root/assets/stethoscope-DRqTAtjD.js +1 -0
  316. package/dist/gateway/static/root/assets/sticky-note-fzP7NAJq.js +1 -0
  317. package/dist/gateway/static/root/assets/store-SzD1Jvgm.js +1 -0
  318. package/dist/gateway/static/root/assets/system-settings-panel-BeQeUUMH.js +1 -0
  319. package/dist/gateway/static/root/assets/task-detail-page-Drrv-Hp0.js +2 -0
  320. package/dist/gateway/static/root/assets/task-result-evidence-D1Kyskm_.js +1 -0
  321. package/dist/gateway/static/root/assets/tasks-DRmd6sWt.js +1 -0
  322. package/dist/gateway/static/root/assets/terminal-oKqqZdiG.js +1 -0
  323. package/dist/gateway/static/root/assets/terminal-panel-store-5Fzctajw.js +1 -0
  324. package/dist/gateway/static/root/assets/theme-store-DW45fWYQ.js +1 -0
  325. package/dist/gateway/static/root/assets/timer-rCwGHjuO.js +1 -0
  326. package/dist/gateway/static/root/assets/tool-friendly-title-DGmi7rCQ.js +1 -0
  327. package/dist/gateway/static/root/assets/tracing-settings-page-B12u5D9A.js +1 -0
  328. package/dist/gateway/static/root/assets/trash-2-DusmjVPV.js +1 -0
  329. package/dist/gateway/static/root/assets/triangle-alert-2JXFNNKU.js +1 -0
  330. package/dist/gateway/static/root/assets/tunnel-api-DGO56LQU.js +1 -0
  331. package/dist/gateway/static/root/assets/understanding-activity-store-CTe6TFB0.js +1 -0
  332. package/dist/gateway/static/root/assets/understanding-refresh-store-mE9OKG6q.js +1 -0
  333. package/dist/gateway/static/root/assets/unlink-BEuthaaq.js +1 -0
  334. package/dist/gateway/static/root/assets/upload-rrb46c3c.js +1 -0
  335. package/dist/gateway/static/root/assets/usage-page-Ud2U9UG1.js +1 -0
  336. package/dist/gateway/static/root/assets/use-async-resource-BHFGZCY2.js +1 -0
  337. package/dist/gateway/static/root/assets/use-autosave-Cs2Ga_Y_.js +1 -0
  338. package/dist/gateway/static/root/assets/use-composer-attachments-BCbMj-MN.js +2 -0
  339. package/dist/gateway/static/root/assets/use-directory-picker-C4p7AgWY.js +1 -0
  340. package/dist/gateway/static/root/assets/use-file-preview-expanded-DSpCRXUW.js +2 -0
  341. package/dist/gateway/static/root/assets/use-media-query-ady-FgjK.js +1 -0
  342. package/dist/gateway/static/root/assets/use-personal-profile-BHL2AxWU.js +1 -0
  343. package/dist/gateway/static/root/assets/use-workspace-tree-CnmPZrpx.js +1 -0
  344. package/dist/gateway/static/root/assets/user-model-page-p5iPfnwl.js +2 -0
  345. package/dist/gateway/static/root/assets/user-round-C9jxPhMR.js +1 -0
  346. package/dist/gateway/static/root/assets/{vendor-codemirror-Qdcjid65.js → vendor-codemirror-aCQ0FcJT.js} +8 -8
  347. package/dist/gateway/static/root/assets/{vendor-swr-BIWyz7Rc.js → vendor-swr-CdRzEUwF.js} +1 -1
  348. package/dist/gateway/static/root/assets/video-B6V0GFss.js +1 -0
  349. package/dist/gateway/static/root/assets/voice-api-key-field-3gyc2UV3.js +1 -0
  350. package/dist/gateway/static/root/assets/voice-call-context-BM2A4bLz.js +1 -0
  351. package/dist/gateway/static/root/assets/{voice-config-api-BkUlN7GH.js → voice-config-api-Cda2uBIC.js} +1 -1
  352. package/dist/gateway/static/root/assets/voice-input-shortcut-events-DtYHsPLF.js +1 -0
  353. package/dist/gateway/static/root/assets/voice-transcribe-api-TInEfIYo.js +1 -0
  354. package/dist/gateway/static/root/assets/volume-2-BSJhAY97.js +1 -0
  355. package/dist/gateway/static/root/assets/wand-sparkles-CkSL-3Fy.js +1 -0
  356. package/dist/gateway/static/root/assets/{with-selector-aYPsXwdl.js → with-selector-xonYxPoM.js} +1 -1
  357. package/dist/gateway/static/root/assets/work-discovery-overlay-Dqu5CQCS.js +1 -0
  358. package/dist/gateway/static/root/assets/work-discovery-page-p-8ciZ0i.js +1 -0
  359. package/dist/gateway/static/root/assets/working-directory-picker-modal-DHl2cZY1.js +1 -0
  360. package/dist/gateway/static/root/assets/workspace-api-CtDbI6T7.js +2 -0
  361. package/dist/gateway/static/root/assets/workspace-editor-agent-store-B94Q2nN8.js +1 -0
  362. package/dist/gateway/static/root/assets/workspace-file-preview-dialog-CTIbUfKb.js +1 -0
  363. package/dist/gateway/static/root/assets/workspace-open-location-menu-BwxouqdZ.js +1 -0
  364. package/dist/gateway/static/root/assets/wrench-DFb4r8bH.js +1 -0
  365. package/dist/gateway/static/root/assets/x-B_N4OPjy.js +1 -0
  366. package/dist/gateway/static/root/assets/{xlsx-CKkngM-o.js → xlsx-Cl_0CZaL.js} +11 -11
  367. package/dist/gateway/static/root/assets/xml-_d7dTN2Q.js +3 -0
  368. package/dist/gateway/static/root/assets/xopc-cloud-account-card-CFb-23rS.js +1 -0
  369. package/dist/gateway/static/root/assets/zap-dximCGjy.js +1 -0
  370. package/dist/gateway/static/root/browser-setup-test.html +5 -0
  371. package/dist/gateway/static/root/browser-setup-test.js +7 -0
  372. package/dist/gateway/static/root/index.html +267 -46
  373. package/dist/package.js +1 -1
  374. package/dist/packages/gateway-contract/src/browser-setup.js +6 -0
  375. package/dist/packages/gateway-contract/src/index.js +4 -0
  376. package/dist/packages/gateway-contract/src/phone-setup.js +6 -0
  377. package/dist/packages/realtime-client/src/index.js +1 -0
  378. package/dist/packages/realtime-protocol/src/index.js +1 -0
  379. package/dist/src/activity/emitter.js +1 -2
  380. package/dist/src/activity/service.js +1 -2
  381. package/dist/src/agent/agent-manager.d.ts +5 -0
  382. package/dist/src/agent/agent-manager.js +16 -6
  383. package/dist/src/agent/background-review/run-background-review.js +2 -3
  384. package/dist/src/agent/context/execution-context.js +1 -2
  385. package/dist/src/agent/context/execution-scope.js +1 -2
  386. package/dist/src/agent/context/project-context.js +1 -2
  387. package/dist/src/agent/embedded/agent-profile-context.js +1 -2
  388. package/dist/src/agent/embedded/run-turn.js +2 -4
  389. package/dist/src/agent/embedded/sqlite-hydrating-session-manager.js +1 -2
  390. package/dist/src/agent/embedded/tool-search-extension.js +14 -1
  391. package/dist/src/agent/external-tools/cliProvider.js +3 -4
  392. package/dist/src/agent/external-tools/composio-provider.js +3 -4
  393. package/dist/src/agent/external-tools/endpoint-provider.js +2 -2
  394. package/dist/src/agent/memory/compaction-promotion.js +1 -2
  395. package/dist/src/agent/orchestration/research-checkpoint.js +26 -31
  396. package/dist/src/agent/prompt/response-language.js +1 -2
  397. package/dist/src/agent/prompt/service-prompt-builder.js +3 -6
  398. package/dist/src/agent/prompt/system-prompt.js +1 -2
  399. package/dist/src/agent/service/direct-turn-helpers.js +1 -2
  400. package/dist/src/agent/service/process-direct-streaming.js +1 -2
  401. package/dist/src/agent/service/webchat-tts.js +1 -2
  402. package/dist/src/agent/service.d.ts +1 -0
  403. package/dist/src/agent/service.js +8 -3
  404. package/dist/src/agent/service.types.d.ts +3 -0
  405. package/dist/src/agent/skills/index.js +1 -1
  406. package/dist/src/agent/skills/managed-store.js +1 -1
  407. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  408. package/dist/src/agent/tool-manuals/computer.d.ts +1 -1
  409. package/dist/src/agent/tool-manuals/computer.js +2 -0
  410. package/dist/src/agent/tool-manuals/phone.d.ts +1 -1
  411. package/dist/src/agent/tool-manuals/phone.js +14 -4
  412. package/dist/src/agent/tool-manuals/xopc-configuration.d.ts +2 -0
  413. package/dist/src/agent/tool-manuals/xopc-configuration.js +29 -0
  414. package/dist/src/agent/tools/browser/tool/browser-use-tool.d.ts +2 -0
  415. package/dist/src/agent/tools/browser/tool/browser-use-tool.js +6 -2
  416. package/dist/src/agent/tools/delegate-tool.js +2 -4
  417. package/dist/src/agent/tools/factory.d.ts +4 -0
  418. package/dist/src/agent/tools/factory.js +23 -9
  419. package/dist/src/agent/tools/personal-read-tool.js +1 -1
  420. package/dist/src/agent/tools/personal-task-tool.js +1 -2
  421. package/dist/src/agent/tools/phone-use-tool.d.ts +2 -0
  422. package/dist/src/agent/tools/phone-use-tool.js +79 -4
  423. package/dist/src/agent/tools/research-checkpoint-tool.js +1 -2
  424. package/dist/src/agent/tools/tool-manual-tool.d.ts +1 -1
  425. package/dist/src/agent/tools/tool-manual-tool.js +3 -1
  426. package/dist/src/agent/tools/toolExposure.js +3 -0
  427. package/dist/src/agent/tools/xopc-use-tool.d.ts +5 -2
  428. package/dist/src/agent/tools/xopc-use-tool.js +47 -6
  429. package/dist/src/agent-catalog/capabilities.js +2 -2
  430. package/dist/src/agent-catalog/repository.js +3 -4
  431. package/dist/src/agent-catalog/test-support.js +1 -2
  432. package/dist/src/agent-matching/selection-repository.js +1 -2
  433. package/dist/src/automations/capabilities/drafts.js +3 -5
  434. package/dist/src/bootstrap/application-state.js +1 -2
  435. package/dist/src/browser/automations/repository.js +1 -2
  436. package/dist/src/browser/drivers/browser-driver.d.ts +2 -2
  437. package/dist/src/browser/drivers/extension-driver.d.ts +2 -2
  438. package/dist/src/browser/drivers/extension-driver.js +6 -3
  439. package/dist/src/browser/native-messaging-host.js +2 -4
  440. package/dist/src/browser/providers/browser-ext-install.js +3 -2
  441. package/dist/src/browser/providers/realtime-extension.js +1 -2
  442. package/dist/src/browser/recordings/service.js +1 -2
  443. package/dist/src/browser/runtime/browser-runtime.d.ts +4 -1
  444. package/dist/src/browser/runtime/browser-runtime.js +29 -17
  445. package/dist/src/browser/setup/repository.d.ts +5 -0
  446. package/dist/src/browser/setup/repository.js +42 -0
  447. package/dist/src/browser/setup/service.d.ts +157 -0
  448. package/dist/src/browser/setup/service.js +433 -0
  449. package/dist/src/browser/setup/types.d.ts +38 -0
  450. package/dist/src/browser/setup/types.js +1 -0
  451. package/dist/src/capabilities/runtime/dispatcher.js +1 -1
  452. package/dist/src/capabilities/runtime/product.js +1 -1
  453. package/dist/src/chat-previews/store.js +1 -2
  454. package/dist/src/cli/commands/agents.js +1 -1
  455. package/dist/src/cli/commands/doctor/checks/automation-integrity.js +1 -2
  456. package/dist/src/cli/commands/doctor/checks/database-relations.js +1 -2
  457. package/dist/src/cli/commands/doctor/checks/database-schema.js +2 -3
  458. package/dist/src/cli/commands/doctor/checks/node-version.js +6 -6
  459. package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -2
  460. package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
  461. package/dist/src/cli/commands/gateway/shared.js +1 -2
  462. package/dist/src/cli/commands/history.js +1 -2
  463. package/dist/src/cli/commands/models.js +1 -1
  464. package/dist/src/cli/commands/onboard/model.js +1 -1
  465. package/dist/src/cli/commands/project.js +1 -2
  466. package/dist/src/cli/utils/init-workspace-core.js +1 -1
  467. package/dist/src/computer/diagnostics.d.ts +7 -7
  468. package/dist/src/computer/diagnostics.js +8 -2
  469. package/dist/src/computer/errors.js +9 -1
  470. package/dist/src/computer/evaluation.d.ts +4 -4
  471. package/dist/src/computer/keyboard.d.ts +1 -1
  472. package/dist/src/computer/keyboard.js +10 -2
  473. package/dist/src/computer/model-adapter.js +27 -7
  474. package/dist/src/config/agent-profile.js +1 -1
  475. package/dist/src/config/gateway-bind.js +1 -2
  476. package/dist/src/config/schema.d.ts +7 -0
  477. package/dist/src/connectors/cli/lifecycle.js +1 -2
  478. package/dist/src/connectors/composio-managed-events.js +1 -2
  479. package/dist/src/connectors/connected-source-ingestion.js +1 -2
  480. package/dist/src/connectors/connected-source-understanding.js +3 -5
  481. package/dist/src/connectors/content-enrichment.js +1 -2
  482. package/dist/src/connectors/learning-coordinator.js +2 -3
  483. package/dist/src/connectors/runtime-adapter-registry.js +1 -2
  484. package/dist/src/daemon/constants.js +9 -14
  485. package/dist/src/daemon/index.js +1 -4
  486. package/dist/src/daemon/install-plan.js +1 -2
  487. package/dist/src/daemon/launchd.js +1 -2
  488. package/dist/src/daemon/schtasks.js +1 -2
  489. package/dist/src/daemon/service-audit.js +1 -2
  490. package/dist/src/daemon/service.js +1 -2
  491. package/dist/src/daemon/systemd.js +1 -2
  492. package/dist/src/discussions/analyzer.d.ts +3 -3
  493. package/dist/src/endpoint-tools/runtime.js +1 -2
  494. package/dist/src/execution-environments/local-worktree-manager.js +1 -1
  495. package/dist/src/execution-environments/subject.js +1 -2
  496. package/dist/src/extensions/agent-plugins/branding.js +2 -1
  497. package/dist/src/extensions/agent-plugins/cli-authorization.js +2 -1
  498. package/dist/src/extensions/agent-plugins/contained-path.d.ts +1 -0
  499. package/dist/src/extensions/agent-plugins/contained-path.js +29 -0
  500. package/dist/src/extensions/agent-plugins/mcp-adapter.js +2 -1
  501. package/dist/src/extensions/agent-plugins/resources.js +1 -1
  502. package/dist/src/extensions/agent-plugins/skill-catalog.js +3 -2
  503. package/dist/src/extensions/agent-plugins/source-catalog.js +1 -1
  504. package/dist/src/extensions/agent-plugins/store.js +2 -1
  505. package/dist/src/extensions/agent-plugins/validation.d.ts +1 -2
  506. package/dist/src/extensions/agent-plugins/validation.js +3 -26
  507. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  508. package/dist/src/gateway/agents-admin.js +2 -2
  509. package/dist/src/gateway/client-ip.js +1 -2
  510. package/dist/src/gateway/file-space-service.js +1 -2
  511. package/dist/src/gateway/global-defaults-admin.js +1 -1
  512. package/dist/src/gateway/hono/app.js +2 -4
  513. package/dist/src/gateway/hono/middleware/auth.js +3 -6
  514. package/dist/src/gateway/hono/middleware/logger.js +1 -2
  515. package/dist/src/gateway/hono/middleware/public-device-rate-limit.js +1 -2
  516. package/dist/src/gateway/hono/middleware/scopes.js +1 -2
  517. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +1 -2
  518. package/dist/src/gateway/hono/oauth-async.js +1 -2
  519. package/dist/src/gateway/hono/routes/agents.js +1 -1
  520. package/dist/src/gateway/hono/routes/browser-session.js +1 -2
  521. package/dist/src/gateway/hono/routes/browser-setup.d.ts +3 -0
  522. package/dist/src/gateway/hono/routes/browser-setup.js +114 -0
  523. package/dist/src/gateway/hono/routes/browser.d.ts +2 -1
  524. package/dist/src/gateway/hono/routes/browser.js +4 -7
  525. package/dist/src/gateway/hono/routes/cli-connectors.js +1 -2
  526. package/dist/src/gateway/hono/routes/composer-history.js +1 -2
  527. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  528. package/dist/src/gateway/hono/routes/config.js +1 -2
  529. package/dist/src/gateway/hono/routes/connectors.js +9 -11
  530. package/dist/src/gateway/hono/routes/context-sources.js +1 -2
  531. package/dist/src/gateway/hono/routes/device-pairing-approval.js +2 -4
  532. package/dist/src/gateway/hono/routes/device-push.js +1 -2
  533. package/dist/src/gateway/hono/routes/devices.js +4 -8
  534. package/dist/src/gateway/hono/routes/discussions.js +1 -2
  535. package/dist/src/gateway/hono/routes/endpoint-tools.js +1 -2
  536. package/dist/src/gateway/hono/routes/home.js +2 -3
  537. package/dist/src/gateway/hono/routes/interaction-state.js +1 -2
  538. package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
  539. package/dist/src/gateway/hono/routes/memory-learning.js +1 -2
  540. package/dist/src/gateway/hono/routes/notes.js +2 -2
  541. package/dist/src/gateway/hono/routes/personal-agent.js +1 -2
  542. package/dist/src/gateway/hono/routes/phone-dependencies.js +2 -7
  543. package/dist/src/gateway/hono/routes/phone-setup.d.ts +7 -0
  544. package/dist/src/gateway/hono/routes/phone-setup.js +231 -0
  545. package/dist/src/gateway/hono/routes/phone-wireless.d.ts +4 -0
  546. package/dist/src/gateway/hono/routes/phone-wireless.js +63 -0
  547. package/dist/src/gateway/hono/routes/phone.js +119 -28
  548. package/dist/src/gateway/hono/routes/projects.js +3 -4
  549. package/dist/src/gateway/hono/routes/public-gateway.js +4 -3
  550. package/dist/src/gateway/hono/routes/session-input-handler.js +1 -1
  551. package/dist/src/gateway/hono/routes/sessions.js +2 -4
  552. package/dist/src/gateway/hono/routes/shares.js +2 -4
  553. package/dist/src/gateway/hono/routes/tasks.js +2 -3
  554. package/dist/src/gateway/hono/routes/user-model-refresh.js +1 -2
  555. package/dist/src/gateway/hono/routes/user-model.js +1 -2
  556. package/dist/src/gateway/host.js +4 -9
  557. package/dist/src/gateway/image-generation-setup.js +1 -1
  558. package/dist/src/gateway/index.js +2 -6
  559. package/dist/src/gateway/listen.js +1 -2
  560. package/dist/src/gateway/next-turn-suggestions/service.js +1 -2
  561. package/dist/src/gateway/next-turn-suggestions/snapshot.js +1 -2
  562. package/dist/src/gateway/provider-model-setup.js +1 -1
  563. package/dist/src/gateway/rate-limit/auth-policy.js +11 -7
  564. package/dist/src/gateway/rate-limit/buckets.js +220 -211
  565. package/dist/src/gateway/rate-limit/env-flags.js +1 -4
  566. package/dist/src/gateway/rate-limit/index.js +4 -13
  567. package/dist/src/gateway/runtime-config.js +2 -4
  568. package/dist/src/gateway/security/audit.js +1 -2
  569. package/dist/src/gateway/security/browser-session.js +1 -2
  570. package/dist/src/gateway/security/device-request-proof.d.ts +1 -2
  571. package/dist/src/gateway/security/device-request-proof.js +2 -4
  572. package/dist/src/gateway/security/gateway-scopes.js +2 -6
  573. package/dist/src/gateway/security/index.js +1 -4
  574. package/dist/src/gateway/security/loopback.js +6 -7
  575. package/dist/src/gateway/service/agent-runner.js +2 -4
  576. package/dist/src/gateway/service/app-context-access.js +1 -2
  577. package/dist/src/gateway/service/config-coordinator.d.ts +4 -0
  578. package/dist/src/gateway/service/run-gateway-agent.js +2 -4
  579. package/dist/src/gateway/service/session-input-coordinator.js +3 -6
  580. package/dist/src/gateway/service.d.ts +5 -0
  581. package/dist/src/gateway/service.js +64 -22
  582. package/dist/src/gateway/session-context-summary.js +2 -4
  583. package/dist/src/gateway/tailscale-auth.js +1 -2
  584. package/dist/src/gateway/ws-security.js +1 -2
  585. package/dist/src/gateway/xopc-cloud-capability-setup.js +8 -2
  586. package/dist/src/home-intelligence/host.js +2 -2
  587. package/dist/src/imports/importService.js +1 -1
  588. package/dist/src/infra/rate-limit/failure-limiter.js +90 -78
  589. package/dist/src/infra/rate-limit/index.js +3 -11
  590. package/dist/src/infra/rate-limit/keyed-store.js +47 -52
  591. package/dist/src/infra/rate-limit/rate-limiter.js +58 -55
  592. package/dist/src/infra/update-restart.js +1 -1
  593. package/dist/src/infra/update-service-refresh.js +1 -2
  594. package/dist/src/knowledge/chunks.js +1 -4
  595. package/dist/src/knowledge/connected-knowledge-pipeline.js +3 -6
  596. package/dist/src/knowledge/ingestion-service.js +1 -2
  597. package/dist/src/knowledge-memory/repository.js +1 -2
  598. package/dist/src/local-apps/service.js +1 -1
  599. package/dist/src/local-apps/store.js +1 -2
  600. package/dist/src/media/session-references.js +1 -2
  601. package/dist/src/memory-learning/forget-capture.js +1 -2
  602. package/dist/src/memory-learning/forgotten-history.js +3 -6
  603. package/dist/src/memory-learning/service.js +1 -2
  604. package/dist/src/memory-learning/source-learning.js +3 -3
  605. package/dist/src/memory-learning/task-receipts.js +1 -2
  606. package/dist/src/memory-learning/work-candidate.d.ts +29 -0
  607. package/dist/src/memory-learning/work-candidate.js +31 -0
  608. package/dist/src/memory-learning/work-capture.d.ts +2 -29
  609. package/dist/src/memory-learning/work-capture.js +2 -30
  610. package/dist/src/memory-maintenance/service.js +1 -2
  611. package/dist/src/notes/agent-context.js +1 -2
  612. package/dist/src/notes/attachment-ref.js +4 -8
  613. package/dist/src/notes/note-attachment-sync.js +1 -2
  614. package/dist/src/notes/note-index-meta.js +7 -14
  615. package/dist/src/notes/note-markdown.js +7 -13
  616. package/dist/src/notes/service.js +3 -6
  617. package/dist/src/notes/store.js +2 -4
  618. package/dist/src/notifications/clarification.js +1 -2
  619. package/dist/src/notifications/service.js +1 -2
  620. package/dist/src/personal-agent/proactivity/repository.js +1 -2
  621. package/dist/src/personal-agent/proactivity/service.js +1 -2
  622. package/dist/src/personal-agent/prompt-context.js +1 -2
  623. package/dist/src/personal-agent/reply-composer.js +4 -5
  624. package/dist/src/personal-agent/repository.js +1 -2
  625. package/dist/src/personal-agent/request-delivery.js +1 -2
  626. package/dist/src/personal-agent/result-extraction.js +71 -71
  627. package/dist/src/personal-agent/service.js +2 -3
  628. package/dist/src/phone/adb-command.d.ts +1 -0
  629. package/dist/src/phone/adb-command.js +12 -0
  630. package/dist/src/phone/adb-driver.d.ts +6 -2
  631. package/dist/src/phone/adb-driver.js +45 -21
  632. package/dist/src/phone/cloud-adb-connection.d.ts +34 -0
  633. package/dist/src/phone/cloud-adb-connection.js +324 -0
  634. package/dist/src/phone/cloud-adb-writable.d.ts +3 -0
  635. package/dist/src/phone/cloud-adb-writable.js +21 -0
  636. package/dist/src/phone/cloud-adb.d.ts +3 -32
  637. package/dist/src/phone/cloud-adb.js +3 -259
  638. package/dist/src/phone/cloud-key-permissions.d.ts +2 -0
  639. package/dist/src/phone/cloud-key-permissions.js +66 -0
  640. package/dist/src/phone/cloud-phones.js +2 -1
  641. package/dist/src/phone/cloud-scrcpy.d.ts +1 -1
  642. package/dist/src/phone/cloud-scrcpy.js +3 -2
  643. package/dist/src/phone/contracts.d.ts +197 -1
  644. package/dist/src/phone/contracts.js +55 -6
  645. package/dist/src/phone/foreground.d.ts +1 -0
  646. package/dist/src/phone/foreground.js +18 -0
  647. package/dist/src/phone/live-state.d.ts +2 -0
  648. package/dist/src/phone/live-state.js +5 -0
  649. package/dist/src/phone/model-adapter.d.ts +65 -4
  650. package/dist/src/phone/model-adapter.js +157 -48
  651. package/dist/src/phone/numeric-entry.d.ts +31 -0
  652. package/dist/src/phone/numeric-entry.js +126 -0
  653. package/dist/src/phone/planning.d.ts +27 -0
  654. package/dist/src/phone/planning.js +79 -0
  655. package/dist/src/phone/recovery.d.ts +37 -0
  656. package/dist/src/phone/recovery.js +81 -0
  657. package/dist/src/phone/reliability.d.ts +2 -2
  658. package/dist/src/phone/reliability.js +19 -6
  659. package/dist/src/phone/repository.d.ts +4 -1
  660. package/dist/src/phone/repository.js +12 -1
  661. package/dist/src/phone/runtime.d.ts +79 -3
  662. package/dist/src/phone/runtime.js +861 -93
  663. package/dist/src/phone/scrcpy.js +3 -2
  664. package/dist/src/phone/semantic-controls.d.ts +13 -0
  665. package/dist/src/phone/semantic-controls.js +76 -0
  666. package/dist/src/phone/setup/service.d.ts +101 -0
  667. package/dist/src/phone/setup/service.js +296 -0
  668. package/dist/src/phone/task-feedback.d.ts +4 -0
  669. package/dist/src/phone/task-feedback.js +47 -0
  670. package/dist/src/phone/ui-dump-binary.d.ts +1 -0
  671. package/dist/src/phone/ui-dump-binary.js +4 -0
  672. package/dist/src/phone/wireless.d.ts +80 -0
  673. package/dist/src/phone/wireless.js +244 -0
  674. package/dist/src/projects/capabilities/write.js +1 -2
  675. package/dist/src/projects/project-service.js +1 -2
  676. package/dist/src/projects/workspace.js +1 -2
  677. package/dist/src/providers/presentation.js +2 -2
  678. package/dist/src/providers/xopc-cloud-model-source.js +6 -2
  679. package/dist/src/realtime/runtime.d.ts +3 -0
  680. package/dist/src/realtime/runtime.js +16 -3
  681. package/dist/src/remote-access/exposure-guards.js +1 -2
  682. package/dist/src/runtime-tools/archive.js +1 -1
  683. package/dist/src/runtime-tools/catalog.d.ts +1 -1
  684. package/dist/src/runtime-tools/catalog.js +2 -2
  685. package/dist/src/session/config-store.js +1 -2
  686. package/dist/src/session/init-session-turn.js +1 -2
  687. package/dist/src/session/resolve-session.js +1 -2
  688. package/dist/src/session/store.js +2 -4
  689. package/dist/src/share/share-rate-limit.js +1 -2
  690. package/dist/src/share/share-url.js +1 -2
  691. package/dist/src/share/site-share-router.js +1 -2
  692. package/dist/src/storage/sqlite/activity-repository.js +2 -6
  693. package/dist/src/storage/sqlite/browser-tab-binding-repository.js +2 -6
  694. package/dist/src/storage/sqlite/clarification-wait-repository.js +9 -14
  695. package/dist/src/storage/sqlite/collaboration-rule-repository.js +3 -8
  696. package/dist/src/storage/sqlite/composer-input-history-repository.js +3 -8
  697. package/dist/src/storage/sqlite/config-repository.js +5 -9
  698. package/dist/src/storage/sqlite/connector-learning-repository.js +2 -6
  699. package/dist/src/storage/sqlite/connector-sync-policy-repository.js +2 -6
  700. package/dist/src/storage/sqlite/context-evidence-repository.js +3 -8
  701. package/dist/src/storage/sqlite/context-extraction-repository.js +3 -8
  702. package/dist/src/storage/sqlite/device-access-repository.js +16 -23
  703. package/dist/src/storage/sqlite/device-pairing-approval.js +2 -6
  704. package/dist/src/storage/sqlite/device-pairing-repository.js +5 -10
  705. package/dist/src/storage/sqlite/endpoint-principal-repository.js +2 -6
  706. package/dist/src/storage/sqlite/endpoint-session-binding-repository.js +2 -6
  707. package/dist/src/storage/sqlite/endpoint-tool-invocation-repository.js +2 -6
  708. package/dist/src/storage/sqlite/gateway-identity-repository.js +2 -6
  709. package/dist/src/storage/sqlite/home-attention-repository.js +2 -6
  710. package/dist/src/storage/sqlite/index.js +40 -72
  711. package/dist/src/storage/sqlite/interaction-state-repository.js +4 -10
  712. package/dist/src/storage/sqlite/knowledge-repository.js +3 -8
  713. package/dist/src/storage/sqlite/note-agent-context-repository.js +2 -6
  714. package/dist/src/storage/sqlite/notes-repository.js +4 -9
  715. package/dist/src/storage/sqlite/research-checkpoint-repository.js +3 -8
  716. package/dist/src/storage/sqlite/schema.d.ts +2 -2
  717. package/dist/src/storage/sqlite/schema.js +7 -7
  718. package/dist/src/storage/sqlite/schema.sql +10 -0
  719. package/dist/src/storage/sqlite/session-creation-repository.js +2 -4
  720. package/dist/src/storage/sqlite/session-task-plan-repository.js +9 -14
  721. package/dist/src/storage/sqlite/session-turn-replace-repository.js +5 -9
  722. package/dist/src/storage/sqlite/sidebar-layout-repository.js +9 -14
  723. package/dist/src/storage/sqlite/transcript-repository.js +6 -10
  724. package/dist/src/storage/sqlite/upgrades/260_browser_setup.sql +9 -0
  725. package/dist/src/storage/sqlite/user-people-repository.js +3 -8
  726. package/dist/src/storage/sqlite/user-trust-repository.js +4 -9
  727. package/dist/src/tasks/capabilities/read.js +2 -2
  728. package/dist/src/tasks/capabilities/write.js +1 -1
  729. package/dist/src/tasks/execution-context.js +1 -2
  730. package/dist/src/tasks/home-query-service.js +1 -2
  731. package/dist/src/tasks/task-allocation-repository.js +1 -2
  732. package/dist/src/tasks/task-context-assembler.js +1 -2
  733. package/dist/src/tasks/task-handoff.js +2 -4
  734. package/dist/src/tasks/task-instruction-sequence.d.ts +1 -0
  735. package/dist/src/tasks/task-instruction-sequence.js +7 -0
  736. package/dist/src/tasks/task-language.js +1 -2
  737. package/dist/src/tasks/task-research-result.d.ts +1 -2
  738. package/dist/src/tasks/task-research-result.js +1 -3
  739. package/dist/src/tasks/task-result-delivery-repository.js +1 -1
  740. package/dist/src/tasks/task-result-delivery-service.js +3 -3
  741. package/dist/src/tasks/task-run-coordinator.js +3 -3
  742. package/dist/src/tasks/task-run-dispatcher.js +1 -2
  743. package/dist/src/tasks/task-value-metrics-service.js +1 -2
  744. package/dist/src/tui/backends/embedded-backend.js +2 -3
  745. package/dist/src/tui/tui-commands.js +1 -2
  746. package/dist/src/tunnel/registration-proof.js +1 -2
  747. package/dist/src/tunnel/tunnel-rate-limit.js +1 -2
  748. package/dist/src/user-context/access-policy.js +1 -2
  749. package/dist/src/user-context/domain.js +13 -18
  750. package/dist/src/user-context/extraction/registry.js +1 -2
  751. package/dist/src/user-context/interaction-state.js +1 -4
  752. package/dist/src/user-context/relationship-continuity.js +1 -2
  753. package/dist/src/user-context/sources/consent-repository.js +1 -2
  754. package/dist/src/user-context/sources/index.js +1 -1
  755. package/dist/src/user-context/trust-policy.js +8 -13
  756. package/dist/src/user-model/action-rule-suggestions.js +1 -2
  757. package/dist/src/user-model/bootstrap.js +1 -2
  758. package/dist/src/user-model/capture/executor.js +2 -4
  759. package/dist/src/user-model/capture/semantic.d.ts +1 -1
  760. package/dist/src/user-model/capture/semantic.js +1 -1
  761. package/dist/src/user-model/domain.js +30 -35
  762. package/dist/src/user-model/goals.js +1 -2
  763. package/dist/src/user-model/index.js +1 -4
  764. package/dist/src/user-model/observation-repository.js +1 -2
  765. package/dist/src/user-model/repository.js +1 -2
  766. package/dist/src/user-model/usage-policy.js +1 -2
  767. package/dist/src/voice/realtime/memory-context.js +1 -2
  768. package/dist/src/voice/realtime/persona-context.js +1 -1
  769. package/dist/src/work-discovery/service.js +4 -6
  770. package/package.json +8 -8
  771. package/skills/tools/configure-xopc/SKILL.md +54 -0
  772. package/skills/tools/configure-xopc/references/browser/acceptance.md +32 -0
  773. package/skills/tools/configure-xopc/references/browser/chrome-extension.md +23 -0
  774. package/skills/tools/configure-xopc/references/browser/overview.md +19 -0
  775. package/skills/tools/configure-xopc/references/browser/permissions.md +23 -0
  776. package/skills/tools/configure-xopc/references/browser/troubleshooting.md +24 -0
  777. package/skills/tools/configure-xopc/references/phone/acceptance.md +27 -0
  778. package/skills/tools/configure-xopc/references/phone/aliyun.md +29 -0
  779. package/skills/tools/configure-xopc/references/phone/dependencies.md +18 -0
  780. package/skills/tools/configure-xopc/references/phone/local.md +19 -0
  781. package/skills/tools/configure-xopc/references/phone/models.md +21 -0
  782. package/skills/tools/configure-xopc/references/phone/overview.md +25 -0
  783. package/skills/tools/configure-xopc/references/phone/troubleshooting.md +27 -0
  784. package/skills/tools/configure-xopc/references/scene-index.md +12 -0
  785. package/dist/gateway/static/root/assets/agent-avatar-dicebear-CJFwitU2.js +0 -1
  786. package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DclyJr1N.js +0 -1
  787. package/dist/gateway/static/root/assets/agents-jhErNtzi.js +0 -77
  788. package/dist/gateway/static/root/assets/app-management-settings-panel-DgwqNi5i.js +0 -1
  789. package/dist/gateway/static/root/assets/appearance-settings-C0wJfFyz.js +0 -1
  790. package/dist/gateway/static/root/assets/apps-page-C0LcnI4h.js +0 -1
  791. package/dist/gateway/static/root/assets/automation-display-BFN7zWBg.js +0 -2
  792. package/dist/gateway/static/root/assets/automations-workspace-CBxiV34x.js +0 -8
  793. package/dist/gateway/static/root/assets/browser-automations-page-vJIrTxdi.js +0 -3
  794. package/dist/gateway/static/root/assets/browser-settings-page-in5Roh_E.js +0 -3
  795. package/dist/gateway/static/root/assets/capabilities-BlxF36t-.js +0 -1
  796. package/dist/gateway/static/root/assets/capabilities-page-CiGx8wpQ.js +0 -2
  797. package/dist/gateway/static/root/assets/capabilities-settings-panel-a8kqjzQu.js +0 -8
  798. package/dist/gateway/static/root/assets/capability-header-actions-D4Yq35fD.js +0 -1
  799. package/dist/gateway/static/root/assets/channels-C_CxcjKT.js +0 -1
  800. package/dist/gateway/static/root/assets/chat-terminal-dock-zdMySdMm.js +0 -36
  801. package/dist/gateway/static/root/assets/chunk-KS7C4IRE-BvcCCgTW.js +0 -4
  802. package/dist/gateway/static/root/assets/cloud-credits-BMYMiiNn.js +0 -1
  803. package/dist/gateway/static/root/assets/computer-settings-page-C5Z6Jr0p.js +0 -1
  804. package/dist/gateway/static/root/assets/connector-service-page-Cxus0qrZ.js +0 -1
  805. package/dist/gateway/static/root/assets/connectors-page-DCBO2CxK.js +0 -1
  806. package/dist/gateway/static/root/assets/constants-DeXt1mV-.js +0 -1
  807. package/dist/gateway/static/root/assets/date-picker-DuyyD6jz.js +0 -1
  808. package/dist/gateway/static/root/assets/dependency-picker-BZN72rrk.js +0 -1
  809. package/dist/gateway/static/root/assets/desktop-pet-BtvTIDCi.js +0 -1
  810. package/dist/gateway/static/root/assets/desktop-pet-settings-BcyP7Z6v.js +0 -1
  811. package/dist/gateway/static/root/assets/device-pairing-wizard-Ctbgr50F.js +0 -1
  812. package/dist/gateway/static/root/assets/directory-picker-path-field-DOusKz-O.js +0 -1
  813. package/dist/gateway/static/root/assets/dist-C3DSFZCi.js +0 -1
  814. package/dist/gateway/static/root/assets/dist-CI_fqRk-.js +0 -1
  815. package/dist/gateway/static/root/assets/docx-preview-CajIk2FR.js +0 -20
  816. package/dist/gateway/static/root/assets/echarts-runtime-tcHc9TOS.js +0 -18
  817. package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +0 -1
  818. package/dist/gateway/static/root/assets/extension-debug-page-Bt4FwsFu.js +0 -1
  819. package/dist/gateway/static/root/assets/extension-page-0vsxX3FB.js +0 -1
  820. package/dist/gateway/static/root/assets/extension-settings-page-5Pt5_ELc.js +0 -1
  821. package/dist/gateway/static/root/assets/files-Bw4SBGdM.js +0 -1
  822. package/dist/gateway/static/root/assets/floating-ui.dom-B7uQOZZW.js +0 -1
  823. package/dist/gateway/static/root/assets/gateway-realtime-DkWCHVzI.js +0 -1
  824. package/dist/gateway/static/root/assets/gateway-realtime-store-Bx9KCID-.js +0 -1
  825. package/dist/gateway/static/root/assets/gateway-settings-BsVOcmV5.js +0 -1
  826. package/dist/gateway/static/root/assets/highlight-code-C8eS9949.js +0 -1
  827. package/dist/gateway/static/root/assets/highlighted-body-KQOG7T2V-Cbk7eMlg.js +0 -1
  828. package/dist/gateway/static/root/assets/home-page-BZDZnmyc.js +0 -2
  829. package/dist/gateway/static/root/assets/image-generation-api-CAS8QVla.js +0 -1
  830. package/dist/gateway/static/root/assets/imports-page-BCLBYzV1.js +0 -1
  831. package/dist/gateway/static/root/assets/index-Bys6njTY.js +0 -710
  832. package/dist/gateway/static/root/assets/index-Vsf0bj5e.css +0 -1
  833. package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-CM_kt5XN.js +0 -1
  834. package/dist/gateway/static/root/assets/languages-byq_L2Ae.js +0 -2
  835. package/dist/gateway/static/root/assets/local-app-workbench-page-Dk87jtcc.js +0 -1
  836. package/dist/gateway/static/root/assets/local-apps-page-BTSOChhk.js +0 -1
  837. package/dist/gateway/static/root/assets/local-apps-yys1VChX.js +0 -1
  838. package/dist/gateway/static/root/assets/local-session-drafts-iGX_6O0O.js +0 -1
  839. package/dist/gateway/static/root/assets/logs-page-D3gVdm8S.js +0 -2
  840. package/dist/gateway/static/root/assets/management-settings-BQNYFE4J.js +0 -1
  841. package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-ChweJKTv.js +0 -1
  842. package/dist/gateway/static/root/assets/note-detail-panel-CYKwUCte.js +0 -5
  843. package/dist/gateway/static/root/assets/note-image-lightbox-BTSZb9ZT.js +0 -1
  844. package/dist/gateway/static/root/assets/notes-page-CJ5nhWfL.js +0 -8
  845. package/dist/gateway/static/root/assets/number-input-DDeqHK-G.js +0 -1
  846. package/dist/gateway/static/root/assets/page-context-capture-button-DVn_dU83.js +0 -1
  847. package/dist/gateway/static/root/assets/pdf-runtime-DU_sMPjG.js +0 -2
  848. package/dist/gateway/static/root/assets/personal-page-DcW14lqn.js +0 -1
  849. package/dist/gateway/static/root/assets/personal-proactivity-BJcZ3Yhi.js +0 -1
  850. package/dist/gateway/static/root/assets/personal-settings-panel-C16Iqe7X.js +0 -1
  851. package/dist/gateway/static/root/assets/phone-dependencies-card-D3l9uPFM.js +0 -1
  852. package/dist/gateway/static/root/assets/phone-model-picker-DOv38vBn.js +0 -1
  853. package/dist/gateway/static/root/assets/phone-settings-page-DUHp1q_9.js +0 -1
  854. package/dist/gateway/static/root/assets/plugin-details-dialog-BpfgDlVa.js +0 -1
  855. package/dist/gateway/static/root/assets/popover-select-DGKUpVsz.js +0 -1
  856. package/dist/gateway/static/root/assets/preload-helper-zJ_50EbN.js +0 -1
  857. package/dist/gateway/static/root/assets/preview-open-alternatives-RlHk76TI.js +0 -1
  858. package/dist/gateway/static/root/assets/product-delivery-BqNm-8S5.js +0 -1
  859. package/dist/gateway/static/root/assets/product-open-page-Dh-HqLrE.js +0 -1
  860. package/dist/gateway/static/root/assets/product-preview-content-c3K-4DWc.js +0 -1
  861. package/dist/gateway/static/root/assets/project-detail-page-GD8TxKad.js +0 -7
  862. package/dist/gateway/static/root/assets/projects-page-B8HAt9sD.js +0 -1
  863. package/dist/gateway/static/root/assets/remote-access-hub-D3el7lHK.js +0 -1
  864. package/dist/gateway/static/root/assets/runtime-tools-settings-panel-Dbskk6RG.js +0 -1
  865. package/dist/gateway/static/root/assets/schema-form-CXO1B1k4.js +0 -1
  866. package/dist/gateway/static/root/assets/schemas-CObaziC7.js +0 -64
  867. package/dist/gateway/static/root/assets/session-manager-CA1NkTR_.js +0 -16
  868. package/dist/gateway/static/root/assets/sessions-page-07liaSHH.js +0 -1
  869. package/dist/gateway/static/root/assets/settings-advanced-gate-BGjU8rfN.js +0 -1
  870. package/dist/gateway/static/root/assets/settings-form-section-BQxKmbbJ.js +0 -1
  871. package/dist/gateway/static/root/assets/settings-page-DvVMpKiA.js +0 -1
  872. package/dist/gateway/static/root/assets/settings-page-header-CYpuTXUW.js +0 -1
  873. package/dist/gateway/static/root/assets/settings-page-layout-B20AfmFG.js +0 -1
  874. package/dist/gateway/static/root/assets/setup-status-panel-DKo_VTx-.js +0 -1
  875. package/dist/gateway/static/root/assets/share-preview-page-XgZk8Oa1.js +0 -2
  876. package/dist/gateway/static/root/assets/shares-settings-BODFqK8k.js +0 -1
  877. package/dist/gateway/static/root/assets/skill-api-CV-WT2hj.js +0 -1
  878. package/dist/gateway/static/root/assets/skill-reload-api-Ce6OUk2C.js +0 -1
  879. package/dist/gateway/static/root/assets/skills-page-B7ehOIML.js +0 -2
  880. package/dist/gateway/static/root/assets/specialists-4bkS5rZ4.js +0 -1
  881. package/dist/gateway/static/root/assets/system-settings-panel-CxJkZRT4.js +0 -1
  882. package/dist/gateway/static/root/assets/task-detail-page-CxRR0QuW.js +0 -2
  883. package/dist/gateway/static/root/assets/task-result-evidence-D-gGKNX9.js +0 -1
  884. package/dist/gateway/static/root/assets/tasks-TVRjEggr.js +0 -1
  885. package/dist/gateway/static/root/assets/tracing-settings-page-CQw3G-FB.js +0 -1
  886. package/dist/gateway/static/root/assets/tunnel-api-B2HnCi0U.js +0 -1
  887. package/dist/gateway/static/root/assets/usage-page-uUEkO38r.js +0 -1
  888. package/dist/gateway/static/root/assets/use-autosave-Dc0nwUpX.js +0 -1
  889. package/dist/gateway/static/root/assets/user-model-page-ICUutbKL.js +0 -2
  890. package/dist/gateway/static/root/assets/voice-api-key-field-BSWXZkGa.js +0 -1
  891. package/dist/gateway/static/root/assets/work-discovery-overlay-H3cdwq3l.js +0 -1
  892. package/dist/gateway/static/root/assets/xopc-cloud-account-card-CvT_W6YS.js +0 -1
@@ -1 +1 @@
1
- import{i as e,n as t,t as n}from"./rolldown-runtime-aKtaBQYM.js";import{a as r}from"./vendor-react-BOUWij0V.js";var i=n((e=>{var t=r();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:n,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),a=n(((e,t)=>{t.exports=i()})),o=e(r(),1),s=a(),c=Object.prototype.hasOwnProperty;function l(e,t){var n,r;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&l(e[r],t[r]););return r===-1}if(!n||typeof e==`object`){for(n in r=0,e)if(c.call(e,n)&&++r&&!c.call(t,n)||!(n in t)||!l(e[n],t[n]))return!1;return Object.keys(t).length===r}}return e!==e&&t!==t}var u=new WeakMap,d=()=>{},f=Object,p=e=>e===void 0,m=e=>typeof e==`function`,h=(e,t)=>({...e,...t}),g=e=>m(e.then),_={},v={},y=`undefined`,b=typeof window!=y,x=typeof document!=y,S=b&&`Deno`in window,C=()=>b&&typeof window.requestAnimationFrame!=y,w=(e,t)=>{let n=u.get(e);return[()=>!p(t)&&e.get(t)||_,r=>{if(!p(t)){let i=e.get(t);t in v||(v[t]=i),n[5](t,h(i,r),i||_)}},n[6],()=>!p(t)&&t in v?v[t]:!p(t)&&e.get(t)||_]},T=!0,E=()=>T,[D,O]=b&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[d,d],k=()=>{let e=x&&document.visibilityState;return p(e)||e!==`hidden`},A=e=>(x&&document.addEventListener(`visibilitychange`,e),D(`focus`,e),()=>{x&&document.removeEventListener(`visibilitychange`,e),O(`focus`,e)}),j=e=>{let t=()=>{T=!0,e()},n=()=>{T=!1};return D(`online`,t),D(`offline`,n),()=>{O(`online`,t),O(`offline`,n)}},M={isOnline:E,isVisible:k},N={initFocus:A,initReconnect:j},ee=!o.useId,P=!b||S,te=e=>C()?window.requestAnimationFrame(e):setTimeout(e,1),F=P?o.useEffect:o.useLayoutEffect,I=typeof navigator<`u`&&navigator.connection,L=!P&&I&&([`slow-2g`,`2g`].includes(I.effectiveType)||I.saveData),R=new WeakMap,ne=e=>f.prototype.toString.call(e),z=(e,t)=>e===`[object ${t}]`,B=0,V=e=>{let t=typeof e,n=ne(e),r=z(n,`Date`),i=z(n,`RegExp`),a=z(n,`Object`),o,s;if(f(e)===e&&!r&&!i){if(o=R.get(e),o)return o;if(o=++B+`~`,R.set(e,o),Array.isArray(e)){for(o=`@`,s=0;s<e.length;s++)o+=V(e[s])+`,`;R.set(e,o)}if(a){o=`#`;let t=f.keys(e).sort();for(;!p(s=t.pop());)p(e[s])||(o+=s+`:`+V(e[s])+`,`);R.set(e,o)}}else o=r?e.toJSON():t==`symbol`?e.toString():t==`string`?JSON.stringify(e):``+e;return o},H=e=>{if(m(e))try{e=e()}catch{e=``}let t=e;return e=typeof e==`string`?e:(Array.isArray(e)?e.length:e)?V(e):``,[e,t]},re=0,ie=()=>++re;async function ae(...e){let[t,n,r,i]=e,a=h({populateCache:!0,throwOnError:!0},typeof i==`boolean`?{revalidate:i}:i||{}),o=a.populateCache,s=a.rollbackOnError,c=a.optimisticData,l=e=>typeof s==`function`?s(e):s!==!1,d=a.throwOnError;if(m(n)){let e=n,r=[],i=t.keys();for(let n of i)!/^\$(inf|sub)\$/.test(n)&&e(t.get(n)._k)&&r.push(n);return Promise.all(r.map(f))}return f(n);async function f(n){let[i]=H(n);if(!i)return;let[s,f]=w(t,i),[h,_,v,y]=u.get(t),b=()=>{let e=h[i];return(m(a.revalidate)?a.revalidate(s().data,n):a.revalidate!==!1)&&(delete v[i],delete y[i],e&&e[0])?e[0](2).then(()=>s().data):s().data};if(e.length<3)return b();let x=r,S,C=!1,T=ie();_[i]=[T,0];let E=!p(c),D=s(),O=D.data,k=D._c,A=p(k)?O:k;if(E&&(c=m(c)?c(A,O):c,f({data:c,_c:A})),m(x))try{x=x(A)}catch(e){S=e,C=!0}if(x&&g(x))if(x=await x.catch(e=>{S=e,C=!0}),T!==_[i][0]){if(C)throw S;return x}else C&&E&&l(S)&&(o=!0,f({data:A,_c:void 0}));if(o&&(C||(m(o)?f({data:o(x,A),error:void 0,_c:void 0}):f({data:x,error:void 0,_c:void 0}))),_[i][1]=ie(),Promise.resolve(b()).then(()=>{f({_c:void 0})}),C){if(d)throw S;return}return x}}var U=(e,t)=>{for(let n in e)e[n][0]&&e[n][0](t)},W=(e,t)=>{if(!u.has(e)){let n=h(N,t),r=Object.create(null),i=ae.bind(void 0,e),a=d,o=Object.create(null),s=(e,t)=>{let n=o[e]||[];return o[e]=n,n.push(t),()=>n.splice(n.indexOf(t),1)},c=(t,n,r)=>{e.set(t,n);let i=o[t];if(i)for(let e of i)e(n,r)},l=()=>{if(!u.has(e)&&(u.set(e,[r,Object.create(null),Object.create(null),Object.create(null),i,c,s]),!P)){let t=n.initFocus(setTimeout.bind(void 0,U.bind(void 0,r,0))),i=n.initReconnect(setTimeout.bind(void 0,U.bind(void 0,r,1)));a=()=>{t&&t(),i&&i(),u.delete(e)}}};return l(),[e,i,l,a]}return[e,u.get(e)[4]]},G=(e,t,n,r,i)=>{let a=n.errorRetryCount,o=i.retryCount,s=~~((Math.random()+.5)*(1<<(o<8?o:8)))*n.errorRetryInterval;!p(a)&&o>a||setTimeout(r,s,i)},oe=l,[K,q]=W(new Map),J=h({onLoadingSlow:d,onSuccess:d,onError:d,onErrorRetry:G,onDiscarded:d,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:L?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:L?5e3:3e3,compare:oe,isPaused:()=>!1,cache:K,mutate:q,fallback:{}},M),Y=(e,t)=>{let n=h(e,t);if(t){let{use:r,fallback:i}=e,{use:a,fallback:o}=t;r&&a&&(n.use=r.concat(a)),i&&o&&(n.fallback=h(i,o))}return n},X=(0,o.createContext)({}),Z=e=>{let{value:t}=e,n=(0,o.useContext)(X),r=m(t),i=(0,o.useMemo)(()=>r?t(n):t,[r,n,t]),a=(0,o.useMemo)(()=>r?i:Y(n,i),[r,n,i]),s=i&&i.provider,c=(0,o.useRef)(void 0);s&&!c.current&&(c.current=W(s(a.cache||K),i));let l=c.current;return l&&(a.cache=l[0],a.mutate=l[1]),F(()=>{if(l)return l[2]&&l[2](),l[3]},[]),(0,o.createElement)(X.Provider,h(e,{value:a}))},Q=`$inf$`,se=b&&window.__SWR_DEVTOOLS_USE__,ce=se?window.__SWR_DEVTOOLS_USE__:[],le=()=>{se&&(window.__SWR_DEVTOOLS_REACT__=o.default)},ue=e=>m(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],de=()=>{let e=(0,o.useContext)(X);return(0,o.useMemo)(()=>h(J,e),[e])},$=ce.concat(e=>(t,n,r)=>e(t,n&&((...e)=>{let[r]=H(t),[,,,i]=u.get(K);if(r.startsWith(`$inf$`))return n(...e);let a=i[r];return p(a)?n(...e):(delete i[r],a)}),r)),fe=e=>function(...t){let n=de(),[r,i,a]=ue(t),o=Y(n,a),s=e,{use:c}=o,l=(c||[]).concat($);for(let e=l.length;e--;)s=l[e](s);return s(r,i||o.fetcher||null,o)},pe=(e,t,n)=>{let r=t[e]||(t[e]=[]);return r.push(n),()=>{let e=r.indexOf(n);e>=0&&(r[e]=r[r.length-1],r.pop())}},me=(e,t)=>(...n)=>{let[r,i,a]=ue(n),o=(a.use||[]).concat(t);return e(r,i,{...a,use:o})};le();var he=t({SWRConfig:()=>xe,default:()=>Se,mutate:()=>q}),ge=o.use||(e=>{switch(e.status){case`pending`:throw e;case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:throw e.status=`pending`,e.then(t=>{e.status=`fulfilled`,e.value=t},t=>{e.status=`rejected`,e.reason=t}),e}}),_e={dedupe:!0},ve=Promise.resolve(void 0),ye=()=>d,be=(e,t,n)=>{let{cache:r,compare:i,suspense:a,fallbackData:c,revalidateOnMount:l,revalidateIfStale:d,refreshInterval:f,refreshWhenHidden:_,refreshWhenOffline:v,keepPreviousData:y,strictServerPrefetchWarning:b}=n,[x,S,C,T]=u.get(r),[E,D]=H(e),O=(0,o.useRef)(!1),k=(0,o.useRef)(!1),A=(0,o.useRef)(E),j=(0,o.useRef)(t),M=(0,o.useRef)(n),N=()=>M.current,I=()=>N().isVisible()&&N().isOnline(),[L,R,ne,z]=w(r,E),B=(0,o.useRef)({}).current,V=p(c)?p(n.fallback)?void 0:n.fallback[E]:c,re=(e,t)=>{for(let n in B){let r=n;if(r===`data`){if(!i(e[r],t[r])&&(!p(e[r])||!i(X,t[r])))return!1}else if(t[r]!==e[r])return!1}return!0},U=!O.current,W=(0,o.useMemo)(()=>{let e=L(),n=z(),r=e=>{let n=h(e);return delete n._k,!(!E||!t||N().isPaused())&&(U&&!p(l)?l:p(p(V)?n.data:V)||d)?{isValidating:!0,isLoading:!0,...n}:n},i=r(e),a=e===n?i:r(n),o=i;return[()=>{let e=r(L());return re(e,o)?(o.data=e.data,o.isLoading=e.isLoading,o.isValidating=e.isValidating,o.error=e.error,o):(o=e,e)},()=>a]},[r,E]),G=(0,s.useSyncExternalStore)((0,o.useCallback)(e=>ne(E,(t,n)=>{re(n,t)||e()}),[r,E]),W[0],W[1]),oe=x[E]&&x[E].length>0,K=G.data,q=p(K)?V&&g(V)?ge(V):V:K,J=G.error,Y=(0,o.useRef)(q),X=y?p(K)?p(Y.current)?q:Y.current:K:q,Z=E&&p(q),Q=(0,o.useRef)(null);!P&&(0,s.useSyncExternalStore)(ye,()=>(Q.current=!1,Q),()=>(Q.current=!0,Q));let se=Q.current;b&&se&&!a&&Z&&console.warn(`Missing pre-initiated data for serialized key "${E}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let ce=!E||!t||N().isPaused()||oe&&!p(J)?!1:U&&!p(l)?l:a?p(q)?!1:d:p(q)||d,le=U&&ce,ue=p(G.isValidating)?le:G.isValidating,de=p(G.isLoading)?le:G.isLoading,$=(0,o.useCallback)(async e=>{let t=j.current;if(!E||!t||k.current||N().isPaused())return!1;let r,a,o=!0,s=e||{},c=!C[E]||!s.dedupe,l=()=>ee?!k.current&&E===A.current&&O.current:E===A.current,u={isValidating:!1,isLoading:!1},d=()=>{R(u)},f=()=>{let e=C[E];e&&e[1]===a&&delete C[E]},h={isValidating:!0};p(L().data)&&(h.isLoading=!0);try{if(c&&(R(h),n.loadingTimeout&&p(L().data)&&setTimeout(()=>{o&&l()&&N().onLoadingSlow(E,n)},n.loadingTimeout),C[E]=[t(D),ie()]),[r,a]=C[E],r=await r,c&&setTimeout(f,n.dedupingInterval),!C[E]||C[E][1]!==a)return c&&l()&&N().onDiscarded(E),!1;u.error=void 0;let e=S[E];if(!p(e)&&(a<=e[0]||a<=e[1]||e[1]===0))return d(),c&&l()&&N().onDiscarded(E),!1;let s=L().data;u.data=i(s,r)?s:r,c&&l()&&N().onSuccess(r,E,n)}catch(e){f();let t=N(),{shouldRetryOnError:n}=t;t.isPaused()||(u.error=e,c&&l()&&(t.onError(e,E,t),(n===!0||m(n)&&n(e))&&(!N().revalidateOnFocus||!N().revalidateOnReconnect||I())&&t.onErrorRetry(e,E,t,e=>{let t=x[E];t&&t[0]&&t[0](3,e)},{retryCount:(s.retryCount||0)+1,dedupe:!0})))}return o=!1,d(),!0},[E,r]),fe=(0,o.useCallback)((...e)=>ae(r,A.current,...e),[]);if(F(()=>{j.current=t,M.current=n,p(K)||(Y.current=K)}),F(()=>{if(!E)return;let e=$.bind(void 0,_e),t=0;N().revalidateOnFocus&&(t=Date.now()+N().focusThrottleInterval);let n=pe(E,x,(n,r={})=>{if(n==0){let n=Date.now();N().revalidateOnFocus&&n>t&&I()&&(t=n+N().focusThrottleInterval,e())}else if(n==1)N().revalidateOnReconnect&&I()&&e();else if(n==2)return $();else if(n==3)return $(r)});return k.current=!1,A.current=E,O.current=!0,R({_k:D}),ce&&(C[E]||(p(q)||P?e():te(e))),()=>{k.current=!0,n()}},[E]),F(()=>{let e;function t(){let t=m(f)?f(L().data):f;t&&e!==-1&&(e=setTimeout(n,t))}function n(){!L().error&&(_||N().isVisible())&&(v||N().isOnline())?$(_e).then(t):t()}return t(),()=>{e&&=(clearTimeout(e),-1)}},[f,_,v,E]),(0,o.useDebugValue)(X),a){if(!ee&&P&&Z)throw Error(`Fallback data is required when using Suspense in SSR.`);Z&&(j.current=t,M.current=n,k.current=!1);let e=T[E];if(ge(!p(e)&&Z?fe(e):ve),!p(J)&&Z)throw J;let r=Z?$(_e):ve;!p(X)&&Z&&(r.status=`fulfilled`,r.value=!0),ge(r)}return{mutate:fe,get data(){return B.data=!0,X},get error(){return B.error=!0,J},get isValidating(){return B.isValidating=!0,ue},get isLoading(){return B.isLoading=!0,de}}},xe=f.defineProperty(Z,`defaultValue`,{value:J}),Se=fe(be),Ce=void 0,we=Object,Te=e=>e===Ce,Ee=e=>typeof e==`function`,De=new WeakMap,Oe=e=>we.prototype.toString.call(e),ke=(e,t)=>e===`[object ${t}]`,Ae=0,je=e=>{let t=typeof e,n=Oe(e),r=ke(n,`Date`),i=ke(n,`RegExp`),a=ke(n,`Object`),o,s;if(we(e)===e&&!r&&!i){if(o=De.get(e),o)return o;if(o=++Ae+`~`,De.set(e,o),Array.isArray(e)){for(o=`@`,s=0;s<e.length;s++)o+=je(e[s])+`,`;De.set(e,o)}if(a){o=`#`;let t=we.keys(e).sort();for(;!Te(s=t.pop());)Te(e[s])||(o+=s+`:`+je(e[s])+`,`);De.set(e,o)}}else o=r?e.toJSON():t==`symbol`?e.toString():t==`string`?JSON.stringify(e):``+e;return o},Me=e=>{if(Ee(e))try{e=e()}catch{e=``}let t=e;return e=typeof e==`string`?e:(Array.isArray(e)?e.length:e)?je(e):``,[e,t]},Ne=e=>Me(e?e(0,null):null)[0],Pe=Promise.resolve(),Fe=me(Se,e=>(t,n,r)=>{let i=(0,o.useRef)(!1),{cache:a,initialSize:c=1,revalidateAll:l=!1,persistSize:d=!1,revalidateFirstPage:f=!0,revalidateOnMount:h=!1,parallel:g=!1}=r,[,,,_]=u.get(K),v;try{v=Ne(t),v&&=Q+v}catch{}let[y,b,x]=w(a,v),S=(0,o.useCallback)(()=>p(y()._l)?c:y()._l,[a,v,c]);(0,s.useSyncExternalStore)((0,o.useCallback)(e=>v?x(v,()=>{e()}):()=>{},[a,v]),S,S);let C=(0,o.useCallback)(()=>{let e=y()._l;return p(e)?c:e},[v,c]),T=(0,o.useRef)(C());F(()=>{if(!i.current){i.current=!0;return}v&&b({_l:d?T.current:C()})},[v,a]);let E=h&&!i.current,D=e(v,async e=>{let i=y()._i,o=y()._r;b({_r:void 0});let s=[],c=C(),[u]=w(a,e),d=u().data,m=[],h=null;for(let e=0;e<c;++e){let[c,u]=H(t(e,g?null:h));if(!c)break;let[v,y]=w(a,c),b=v().data,x=l||i||p(b)||f&&!e&&!p(d)||E||d&&!p(d[e])&&!r.compare(d[e],b);if(n&&(typeof o==`function`?o(b,u):x)){let t=async()=>{if(!(c in _))b=await n(u);else{let e=_[c];delete _[c],b=await e}y({data:b,_k:u}),s[e]=b};g?m.push(t):await t()}else s[e]=b;g||(h=b)}return g&&await Promise.all(m.map(e=>e())),b({_i:void 0}),s},r),O=(0,o.useCallback)(function(e,t){let n=typeof t==`boolean`?{revalidate:t}:t||{},r=n.revalidate!==!1;return v?(r&&(p(e)?b({_i:!0,_r:n.revalidate}):b({_i:!1,_r:n.revalidate})),arguments.length?D.mutate(e,{...n,revalidate:r}):D.mutate()):Pe},[v,a]),k=(0,o.useCallback)(e=>{if(!v)return Pe;let[,n]=w(a,v),r;if(m(e)?r=e(C()):typeof e==`number`&&(r=e),typeof r!=`number`)return Pe;n({_l:r}),T.current=r;let i=[],[o]=w(a,v),s=null;for(let e=0;e<r;++e){let[n]=H(t(e,s)),[r]=w(a,n),c=n?r().data:void 0;if(p(c))return O(o().data);i.push(c),s=c}return O(i)},[v,a,O,C]);return{size:C(),setSize:k,mutate:O,get data(){return D.data},get error(){return D.error},get isValidating(){return D.isValidating},get isLoading(){return D.isLoading}}});export{de as a,Se as i,xe as n,q as o,he as r,a as s,Fe as t};
1
+ import{i as e,n as t,t as n}from"./rolldown-runtime-aKtaBQYM.js";import{a as r}from"./vendor-react-BOUWij0V.js";var i=n((e=>{var t=r();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:n,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),a=n(((e,t)=>{t.exports=i()})),o=e(r(),1),s=a(),c=Object.prototype.hasOwnProperty;function l(e,t){var n,r;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&l(e[r],t[r]););return r===-1}if(!n||typeof e==`object`){for(n in r=0,e)if(c.call(e,n)&&++r&&!c.call(t,n)||!(n in t)||!l(e[n],t[n]))return!1;return Object.keys(t).length===r}}return e!==e&&t!==t}var u=new WeakMap,d=()=>{},f=Object,p=e=>e===void 0,m=e=>typeof e==`function`,h=(e,t)=>({...e,...t}),g=e=>m(e.then),_={},v={},y=`undefined`,b=typeof window!=y,x=typeof document!=y,S=b&&`Deno`in window,C=()=>b&&typeof window.requestAnimationFrame!=y,w=(e,t)=>{let n=u.get(e);return[()=>!p(t)&&e.get(t)||_,r=>{if(!p(t)){let i=e.get(t);t in v||(v[t]=i),n[5](t,h(i,r),i||_)}},n[6],()=>!p(t)&&t in v?v[t]:!p(t)&&e.get(t)||_]},T=!0,E=()=>T,[D,O]=b&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[d,d],k=()=>{let e=x&&document.visibilityState;return p(e)||e!==`hidden`},A=e=>(x&&document.addEventListener(`visibilitychange`,e),D(`focus`,e),()=>{x&&document.removeEventListener(`visibilitychange`,e),O(`focus`,e)}),j=e=>{let t=()=>{T=!0,e()},n=()=>{T=!1};return D(`online`,t),D(`offline`,n),()=>{O(`online`,t),O(`offline`,n)}},M={isOnline:E,isVisible:k},N={initFocus:A,initReconnect:j},ee=!o.useId,P=!b||S,te=e=>C()?window.requestAnimationFrame(e):setTimeout(e,1),F=P?o.useEffect:o.useLayoutEffect,I=typeof navigator<`u`&&navigator.connection,L=!P&&I&&([`slow-2g`,`2g`].includes(I.effectiveType)||I.saveData),R=new WeakMap,ne=e=>f.prototype.toString.call(e),z=(e,t)=>e===`[object ${t}]`,B=0,V=e=>{let t=typeof e,n=ne(e),r=z(n,`Date`),i=z(n,`RegExp`),a=z(n,`Object`),o,s;if(f(e)===e&&!r&&!i){if(o=R.get(e),o)return o;if(o=++B+`~`,R.set(e,o),Array.isArray(e)){for(o=`@`,s=0;s<e.length;s++)o+=V(e[s])+`,`;R.set(e,o)}if(a){o=`#`;let t=f.keys(e).sort();for(;!p(s=t.pop());)p(e[s])||(o+=s+`:`+V(e[s])+`,`);R.set(e,o)}}else o=r?e.toJSON():t==`symbol`?e.toString():t==`string`?JSON.stringify(e):``+e;return o},H=e=>{if(m(e))try{e=e()}catch{e=``}let t=e;return e=typeof e==`string`?e:(Array.isArray(e)?e.length:e)?V(e):``,[e,t]},re=0,ie=()=>++re;async function ae(...e){let[t,n,r,i]=e,a=h({populateCache:!0,throwOnError:!0},typeof i==`boolean`?{revalidate:i}:i||{}),o=a.populateCache,s=a.rollbackOnError,c=a.optimisticData,l=e=>typeof s==`function`?s(e):s!==!1,d=a.throwOnError;if(m(n)){let e=n,r=[],i=t.keys();for(let n of i)!/^\$(inf|sub)\$/.test(n)&&e(t.get(n)._k)&&r.push(n);return Promise.all(r.map(f))}return f(n);async function f(n){let[i]=H(n);if(!i)return;let[s,f]=w(t,i),[h,_,v,y]=u.get(t),b=()=>{let e=h[i];return(m(a.revalidate)?a.revalidate(s().data,n):a.revalidate!==!1)&&(delete v[i],delete y[i],e&&e[0])?e[0](2).then(()=>s().data):s().data};if(e.length<3)return b();let x=r,S,C=!1,T=ie();_[i]=[T,0];let E=!p(c),D=s(),O=D.data,k=D._c,A=p(k)?O:k;if(E&&(c=m(c)?c(A,O):c,f({data:c,_c:A})),m(x))try{x=x(A)}catch(e){S=e,C=!0}if(x&&g(x))if(x=await x.catch(e=>{S=e,C=!0}),T!==_[i][0]){if(C)throw S;return x}else C&&E&&l(S)&&(o=!0,f({data:A,_c:void 0}));if(o&&(C||(m(o)?f({data:o(x,A),error:void 0,_c:void 0}):f({data:x,error:void 0,_c:void 0}))),_[i][1]=ie(),Promise.resolve(b()).then(()=>{f({_c:void 0})}),C){if(d)throw S;return}return x}}var U=(e,t)=>{for(let n in e)e[n][0]&&e[n][0](t)},W=(e,t)=>{if(!u.has(e)){let n=h(N,t),r=Object.create(null),i=ae.bind(void 0,e),a=d,o=Object.create(null),s=(e,t)=>{let n=o[e]||[];return o[e]=n,n.push(t),()=>n.splice(n.indexOf(t),1)},c=(t,n,r)=>{e.set(t,n);let i=o[t];if(i)for(let e of i)e(n,r)},l=()=>{if(!u.has(e)&&(u.set(e,[r,Object.create(null),Object.create(null),Object.create(null),i,c,s]),!P)){let t=n.initFocus(setTimeout.bind(void 0,U.bind(void 0,r,0))),i=n.initReconnect(setTimeout.bind(void 0,U.bind(void 0,r,1)));a=()=>{t&&t(),i&&i(),u.delete(e)}}};return l(),[e,i,l,a]}return[e,u.get(e)[4]]},G=(e,t,n,r,i)=>{let a=n.errorRetryCount,o=i.retryCount,s=~~((Math.random()+.5)*(1<<(o<8?o:8)))*n.errorRetryInterval;!p(a)&&o>a||setTimeout(r,s,i)},oe=l,[K,q]=W(new Map),J=h({onLoadingSlow:d,onSuccess:d,onError:d,onErrorRetry:G,onDiscarded:d,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:L?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:L?5e3:3e3,compare:oe,isPaused:()=>!1,cache:K,mutate:q,fallback:{}},M),Y=(e,t)=>{let n=h(e,t);if(t){let{use:r,fallback:i}=e,{use:a,fallback:o}=t;r&&a&&(n.use=r.concat(a)),i&&o&&(n.fallback=h(i,o))}return n},X=(0,o.createContext)({}),Z=e=>{let{value:t}=e,n=(0,o.useContext)(X),r=m(t),i=(0,o.useMemo)(()=>r?t(n):t,[r,n,t]),a=(0,o.useMemo)(()=>r?i:Y(n,i),[r,n,i]),s=i&&i.provider,c=(0,o.useRef)(void 0);s&&!c.current&&(c.current=W(s(a.cache||K),i));let l=c.current;return l&&(a.cache=l[0],a.mutate=l[1]),F(()=>{if(l)return l[2]&&l[2](),l[3]},[]),(0,o.createElement)(X.Provider,h(e,{value:a}))},Q=`$inf$`,se=b&&window.__SWR_DEVTOOLS_USE__,ce=se?window.__SWR_DEVTOOLS_USE__:[],le=()=>{se&&(window.__SWR_DEVTOOLS_REACT__=o.default)},ue=e=>m(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],de=()=>{let e=(0,o.useContext)(X);return(0,o.useMemo)(()=>h(J,e),[e])},$=ce.concat(e=>(t,n,r)=>e(t,n&&((...e)=>{let[r]=H(t),[,,,i]=u.get(K);if(r.startsWith(`$inf$`))return n(...e);let a=i[r];return p(a)?n(...e):(delete i[r],a)}),r)),fe=e=>function(...t){let n=de(),[r,i,a]=ue(t),o=Y(n,a),s=e,{use:c}=o,l=(c||[]).concat($);for(let e=l.length;e--;)s=l[e](s);return s(r,i||o.fetcher||null,o)},pe=(e,t,n)=>{let r=t[e]||(t[e]=[]);return r.push(n),()=>{let e=r.indexOf(n);e>=0&&(r[e]=r[r.length-1],r.pop())}},me=(e,t)=>(...n)=>{let[r,i,a]=ue(n),o=(a.use||[]).concat(t);return e(r,i,{...a,use:o})};le();var he=t({SWRConfig:()=>xe,default:()=>Se,mutate:()=>q}),ge=o.use||(e=>{switch(e.status){case`pending`:throw e;case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:throw e.status=`pending`,e.then(t=>{e.status=`fulfilled`,e.value=t},t=>{e.status=`rejected`,e.reason=t}),e}}),_e={dedupe:!0},ve=Promise.resolve(void 0),ye=()=>d,be=(e,t,n)=>{let{cache:r,compare:i,suspense:a,fallbackData:c,revalidateOnMount:l,revalidateIfStale:d,refreshInterval:f,refreshWhenHidden:_,refreshWhenOffline:v,keepPreviousData:y,strictServerPrefetchWarning:b}=n,[x,S,C,T]=u.get(r),[E,D]=H(e),O=(0,o.useRef)(!1),k=(0,o.useRef)(!1),A=(0,o.useRef)(E),j=(0,o.useRef)(t),M=(0,o.useRef)(n),N=()=>M.current,I=()=>N().isVisible()&&N().isOnline(),[L,R,ne,z]=w(r,E),B=(0,o.useRef)({}).current,V=p(c)?p(n.fallback)?void 0:n.fallback[E]:c,re=(e,t)=>{for(let n in B){let r=n;if(r===`data`){if(!i(e[r],t[r])&&(!p(e[r])||!i(X,t[r])))return!1}else if(t[r]!==e[r])return!1}return!0},U=!O.current,W=(0,o.useMemo)(()=>{let e=L(),n=z(),r=e=>{let n=h(e);return delete n._k,!(!E||!t||N().isPaused())&&(U&&!p(l)?l:p(p(V)?n.data:V)||d)?{isValidating:!0,isLoading:!0,...n}:n},i=r(e),a=e===n?i:r(n),o=i;return[()=>{let e=r(L());return re(e,o)?(o.data=e.data,o.isLoading=e.isLoading,o.isValidating=e.isValidating,o.error=e.error,o):(o=e,e)},()=>a]},[r,E]),G=(0,s.useSyncExternalStore)((0,o.useCallback)(e=>ne(E,(t,n)=>{re(n,t)||e()}),[r,E]),W[0],W[1]),oe=x[E]&&x[E].length>0,K=G.data,q=p(K)?V&&g(V)?ge(V):V:K,J=G.error,Y=(0,o.useRef)(q),X=y?p(K)?p(Y.current)?q:Y.current:K:q,Z=E&&p(q),Q=(0,o.useRef)(null);!P&&(0,s.useSyncExternalStore)(ye,()=>(Q.current=!1,Q),()=>(Q.current=!0,Q));let se=Q.current;b&&se&&!a&&Z&&console.warn(`Missing pre-initiated data for serialized key "${E}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let ce=!E||!t||N().isPaused()||oe&&!p(J)?!1:U&&!p(l)?l:a?!p(q)&&d:p(q)||d,le=U&&ce,ue=p(G.isValidating)?le:G.isValidating,de=p(G.isLoading)?le:G.isLoading,$=(0,o.useCallback)(async e=>{let t=j.current;if(!E||!t||k.current||N().isPaused())return!1;let r,a,o=!0,s=e||{},c=!C[E]||!s.dedupe,l=()=>ee?!k.current&&E===A.current&&O.current:E===A.current,u={isValidating:!1,isLoading:!1},d=()=>{R(u)},f=()=>{let e=C[E];e&&e[1]===a&&delete C[E]},h={isValidating:!0};p(L().data)&&(h.isLoading=!0);try{if(c&&(R(h),n.loadingTimeout&&p(L().data)&&setTimeout(()=>{o&&l()&&N().onLoadingSlow(E,n)},n.loadingTimeout),C[E]=[t(D),ie()]),[r,a]=C[E],r=await r,c&&setTimeout(f,n.dedupingInterval),!C[E]||C[E][1]!==a)return c&&l()&&N().onDiscarded(E),!1;u.error=void 0;let e=S[E];if(!p(e)&&(a<=e[0]||a<=e[1]||e[1]===0))return d(),c&&l()&&N().onDiscarded(E),!1;let s=L().data;u.data=i(s,r)?s:r,c&&l()&&N().onSuccess(r,E,n)}catch(e){f();let t=N(),{shouldRetryOnError:n}=t;t.isPaused()||(u.error=e,c&&l()&&(t.onError(e,E,t),(n===!0||m(n)&&n(e))&&(!N().revalidateOnFocus||!N().revalidateOnReconnect||I())&&t.onErrorRetry(e,E,t,e=>{let t=x[E];t&&t[0]&&t[0](3,e)},{retryCount:(s.retryCount||0)+1,dedupe:!0})))}return o=!1,d(),!0},[E,r]),fe=(0,o.useCallback)((...e)=>ae(r,A.current,...e),[]);if(F(()=>{j.current=t,M.current=n,p(K)||(Y.current=K)}),F(()=>{if(!E)return;let e=$.bind(void 0,_e),t=0;N().revalidateOnFocus&&(t=Date.now()+N().focusThrottleInterval);let n=pe(E,x,(n,r={})=>{if(n==0){let n=Date.now();N().revalidateOnFocus&&n>t&&I()&&(t=n+N().focusThrottleInterval,e())}else if(n==1)N().revalidateOnReconnect&&I()&&e();else if(n==2)return $();else if(n==3)return $(r)});return k.current=!1,A.current=E,O.current=!0,R({_k:D}),ce&&(C[E]||(p(q)||P?e():te(e))),()=>{k.current=!0,n()}},[E]),F(()=>{let e;function t(){let t=m(f)?f(L().data):f;t&&e!==-1&&(e=setTimeout(n,t))}function n(){!L().error&&(_||N().isVisible())&&(v||N().isOnline())?$(_e).then(t):t()}return t(),()=>{e&&=(clearTimeout(e),-1)}},[f,_,v,E]),(0,o.useDebugValue)(X),a){if(!ee&&P&&Z)throw Error(`Fallback data is required when using Suspense in SSR.`);Z&&(j.current=t,M.current=n,k.current=!1);let e=T[E];if(ge(!p(e)&&Z?fe(e):ve),!p(J)&&Z)throw J;let r=Z?$(_e):ve;!p(X)&&Z&&(r.status=`fulfilled`,r.value=!0),ge(r)}return{mutate:fe,get data(){return B.data=!0,X},get error(){return B.error=!0,J},get isValidating(){return B.isValidating=!0,ue},get isLoading(){return B.isLoading=!0,de}}},xe=f.defineProperty(Z,`defaultValue`,{value:J}),Se=fe(be),Ce=void 0,we=Object,Te=e=>e===Ce,Ee=e=>typeof e==`function`,De=new WeakMap,Oe=e=>we.prototype.toString.call(e),ke=(e,t)=>e===`[object ${t}]`,Ae=0,je=e=>{let t=typeof e,n=Oe(e),r=ke(n,`Date`),i=ke(n,`RegExp`),a=ke(n,`Object`),o,s;if(we(e)===e&&!r&&!i){if(o=De.get(e),o)return o;if(o=++Ae+`~`,De.set(e,o),Array.isArray(e)){for(o=`@`,s=0;s<e.length;s++)o+=je(e[s])+`,`;De.set(e,o)}if(a){o=`#`;let t=we.keys(e).sort();for(;!Te(s=t.pop());)Te(e[s])||(o+=s+`:`+je(e[s])+`,`);De.set(e,o)}}else o=r?e.toJSON():t==`symbol`?e.toString():t==`string`?JSON.stringify(e):``+e;return o},Me=e=>{if(Ee(e))try{e=e()}catch{e=``}let t=e;return e=typeof e==`string`?e:(Array.isArray(e)?e.length:e)?je(e):``,[e,t]},Ne=e=>Me(e?e(0,null):null)[0],Pe=Promise.resolve(),Fe=me(Se,e=>(t,n,r)=>{let i=(0,o.useRef)(!1),{cache:a,initialSize:c=1,revalidateAll:l=!1,persistSize:d=!1,revalidateFirstPage:f=!0,revalidateOnMount:h=!1,parallel:g=!1}=r,[,,,_]=u.get(K),v;try{v=Ne(t),v&&=Q+v}catch{}let[y,b,x]=w(a,v),S=(0,o.useCallback)(()=>p(y()._l)?c:y()._l,[a,v,c]);(0,s.useSyncExternalStore)((0,o.useCallback)(e=>v?x(v,()=>{e()}):()=>{},[a,v]),S,S);let C=(0,o.useCallback)(()=>{let e=y()._l;return p(e)?c:e},[v,c]),T=(0,o.useRef)(C());F(()=>{if(!i.current){i.current=!0;return}v&&b({_l:d?T.current:C()})},[v,a]);let E=h&&!i.current,D=e(v,async e=>{let i=y()._i,o=y()._r;b({_r:void 0});let s=[],c=C(),[u]=w(a,e),d=u().data,m=[],h=null;for(let e=0;e<c;++e){let[c,u]=H(t(e,g?null:h));if(!c)break;let[v,y]=w(a,c),b=v().data,x=l||i||p(b)||f&&!e&&!p(d)||E||d&&!p(d[e])&&!r.compare(d[e],b);if(n&&(typeof o==`function`?o(b,u):x)){let t=async()=>{if(!(c in _))b=await n(u);else{let e=_[c];delete _[c],b=await e}y({data:b,_k:u}),s[e]=b};g?m.push(t):await t()}else s[e]=b;g||(h=b)}return g&&await Promise.all(m.map(e=>e())),b({_i:void 0}),s},r),O=(0,o.useCallback)(function(e,t){let n=typeof t==`boolean`?{revalidate:t}:t||{},r=n.revalidate!==!1;return v?(r&&(p(e)?b({_i:!0,_r:n.revalidate}):b({_i:!1,_r:n.revalidate})),arguments.length?D.mutate(e,{...n,revalidate:r}):D.mutate()):Pe},[v,a]),k=(0,o.useCallback)(e=>{if(!v)return Pe;let[,n]=w(a,v),r;if(m(e)?r=e(C()):typeof e==`number`&&(r=e),typeof r!=`number`)return Pe;n({_l:r}),T.current=r;let i=[],[o]=w(a,v),s=null;for(let e=0;e<r;++e){let[n]=H(t(e,s)),[r]=w(a,n),c=n?r().data:void 0;if(p(c))return O(o().data);i.push(c),s=c}return O(i)},[v,a,O,C]);return{size:C(),setSize:k,mutate:O,get data(){return D.data},get error(){return D.error},get isValidating(){return D.isValidating},get isLoading(){return D.isLoading}}});export{de as a,Se as i,xe as n,q as o,he as r,a as s,Fe as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`circle-play`,[[`path`,{d:`M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z`,key:`kmsa83`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),n=e(`video`,[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`,key:`ftymec`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`,key:`158x01`}]]);export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime-aKtaBQYM.js";import{a as e,n as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./secret-input-BQvFXqzz.js";import{t as i}from"./cn-0WouolD0.js";import{d as a}from"./voice-config-api-Cda2uBIC.js";var o=t();e();var s=n();function c(e){let t=(0,o.c)(15),{kind:n,providerId:c,fieldId:u,value:d,onChange:f,labels:p,placeholder:m,className:h}=e,g=m===void 0?`sk-...`:m,_;t[0]!==n||t[1]!==c?(_=()=>a({kind:n,provider:c}).then(l),t[0]=n,t[1]=c,t[2]=_):_=t[2];let v=_,y;t[3]===h?y=t[4]:(y=i(`flex min-w-0 flex-col gap-1.5`,h),t[3]=h,t[4]=y);let b;t[5]!==u||t[6]!==p||t[7]!==f||t[8]!==g||t[9]!==v||t[10]!==d?(b=(0,s.jsx)(r,{id:u,value:d,onChange:f,placeholder:g,labels:p,reveal:v,loadFailedLabel:p.loadFailed,maskedHelp:p.maskedHelp,notInConfigFile:p.notInConfigFile,inputClassName:`text-xs`}),t[5]=u,t[6]=p,t[7]=f,t[8]=g,t[9]=v,t[10]=d,t[11]=b):b=t[11];let x;return t[12]!==y||t[13]!==b?(x=(0,s.jsx)(`div`,{className:y,children:b}),t[12]=y,t[13]=b,t[14]=x):x=t[14],x}function l(e){return e.apiKey??null}export{c as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t}from"./vendor-react-BOUWij0V.js";var n=e(t(),1),r=(0,n.createContext)(null);function i(){let e=(0,n.useContext)(r);if(!e)throw Error(`VoiceCallProvider is required`);return e}export{i as n,r as t};
@@ -1 +1 @@
1
- import{i as e,o as t}from"./locale-store-B7s2Hb35.js";import{n}from"./gateway-config-swr-fQKBHBi1.js";async function r(){return(await t(e(`/api/voice/realtime/status`))).payload}async function i(n,r){let i=await t(e(`/api/voice/realtime/preview`),{method:`POST`,signal:n,body:JSON.stringify(r?{voice:r}:{})});if(i.payload.sampleRate!==24e3)throw Error(`Unsupported preview sample rate`);return Uint8Array.from(atob(i.payload.audio),e=>e.charCodeAt(0)).buffer}async function a(n,r,i){let a=new URLSearchParams({provider:n,model:r});return i&&a.set(`purpose`,i),(await t(e(`/api/voice/tts-voices?${a.toString()}`))).payload?.voices??[]}function o(){return{enabled:!1,provider:`openai`,providers:{alibaba:{model:`qwen-audio-3.1-asr-flash`},openai:{model:`gpt-4o-mini-transcribe`}},fallback:{enabled:!1,order:[]}}}function s(){return{enabled:!0,provider:`xopc-cloud`,trigger:`off`,maxTextLength:512,timeoutMs:6e4,providers:{alibaba:{model:`qwen3-tts-flash`,voice:`Cherry`},openai:{model:`tts-1`,voice:`alloy`},edge:{voice:`zh-CN-XiaoxiaoNeural`,lang:`zh-CN`},minimax:{model:`speech-2.8-hd`,voice:`male-qn-qingse`}}}}function c(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function l(e){return typeof e==`string`&&e.trim().length>0?e.trim():`openai`}function u(e){let t=o();if(!c(e))return t;let n=l(e.provider),r=t.fallback??{enabled:!1,order:[]};if(c(e.fallback)){let t=Array.isArray(e.fallback.order)?e.fallback.order.filter(e=>typeof e==`string`&&e.trim().length>0):r.order;r={enabled:typeof e.fallback.enabled==`boolean`?e.fallback.enabled:r.enabled,order:t.length?t:r.order}}let i={...t.providers??{},...c(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,c(t)?{...t}:{}])):{}};return{enabled:!!e.enabled,provider:n,providers:i,fallback:r}}function d(e){return typeof e==`string`&&e.trim().length>0?e.trim():`xopc-cloud`}function f(e){let t=s();if(!c(e))return t;let n=d(e.provider),r=e.trigger===`off`||e.trigger===`always`||e.trigger===`inbound`||e.trigger===`tagged`?e.trigger:`off`,i={...t.providers??{},...c(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,c(t)?{...t}:{}])):{}};return{enabled:!!e.enabled,provider:n,trigger:r,maxTextLength:typeof e.maxTextLength==`number`&&Number.isFinite(e.maxTextLength)?e.maxTextLength:t.maxTextLength,timeoutMs:typeof e.timeoutMs==`number`&&Number.isFinite(e.timeoutMs)?e.timeoutMs:t.timeoutMs,providers:i}}function p(e){return{...e}}function m(e){return{...e}}function h(e){let t=c(e)?e:{},n=c(t.voice)?t.voice:{},r=c(n.input)?n.input:{},i=c(r.refinement)?r.refinement:{},a=c(n.realtime)?n.realtime:{},o=i.mode===`punctuation`||i.mode===`light`||i.mode===`custom`?i.mode:`off`;return{stt:u(t.stt),tts:f(t.tts),voice:{languageMode:n.languageMode===`manual`?`manual`:`auto`,language:n.language===`zh`?`zh`:`en`,input:{refinement:{mode:o,...typeof i.model==`string`&&i.model.trim()?{model:i.model.trim()}:{},...typeof i.customInstruction==`string`?{customInstruction:i.customInstruction}:{}}},realtime:{enabled:a.enabled===!0,defaultEngine:a.defaultEngine===`omni`?`omni`:`agent`,silenceDurationMs:typeof a.silenceDurationMs==`number`?a.silenceDurationMs:1200,idleTimeoutMs:typeof a.idleTimeoutMs==`number`?a.idleTimeoutMs:6e4,maxDictationMs:typeof a.maxDictationMs==`number`?a.maxDictationMs:6e5,maxConversationMs:typeof a.maxConversationMs==`number`?a.maxConversationMs:36e5,bargeIn:a.bargeIn!==!1,...c(a.stt)&&a.stt.provider===`xopc-cloud`&&typeof a.stt.model==`string`?{stt:{provider:`xopc-cloud`,model:a.stt.model}}:{},...c(a.tts)&&(a.tts.provider===`alibaba`||a.tts.provider===`xopc-cloud`)?{tts:{provider:a.tts.provider,...typeof a.tts.model==`string`?{model:a.tts.model}:{},...typeof a.tts.voice==`string`?{voice:a.tts.voice}:{}}}:{},...c(a.omni)?{omni:{...a.omni}}:{}}}}}async function g(){return h((await t(e(`/api/config`))).payload?.config??{})}function _(e){return!c(e)||!c(e.voiceSettingsRevisions)?{}:Object.fromEntries(Object.entries(e.voiceSettingsRevisions).filter(([e,t])=>[`transcription`,`speech`,`conversation`].includes(e)&&typeof t==`string`&&/^[a-f0-9]{64}$/.test(t)))}async function v(r,i,a){let o=await t(e(`/api/config`),{method:`PATCH`,body:JSON.stringify({...a?{expectedVoiceRevision:{capability:i,revision:a}}:{},...i===`transcription`?{stt:p(r.stt)}:{},...i===`speech`?{tts:m(r.tts)}:{},...i===`conversation`?{voice:{realtime:r.voice.realtime}}:i===`transcription`?{voice:{language:r.voice.language,languageMode:r.voice.languageMode,input:r.voice.input}}:{}})});return i===`transcription`&&r.voice.languageMode===`auto`&&await t(e(`/api/voice/language`),{method:`POST`,body:JSON.stringify({language:r.voice.language})}),typeof window<`u`&&window.dispatchEvent(new Event(`voice-config-changed`)),n(),_(o?.payload?.config)}async function y(){let n=await t(e(`/api/voice/models`));if(!n.payload?.models)throw Error(`Missing voice models payload`);return n.payload.models}async function b(){let n=await t(e(`/api/voice/providers`));if(!n.payload?.providers)throw Error(`Missing voice providers payload`);return n.payload}async function x(){let n=await t(e(`/api/voice/stt-providers`));if(!n.payload?.providers)throw Error(`Missing STT providers payload`);return n.payload}async function S(n,r){let i=await t(e(`/api/voice/tts-test`),{method:`POST`,signal:r,body:JSON.stringify(n)});if(i.ok===!1){let e=typeof i.error==`string`?i.error:i.error?.message;throw Error(e||`TTS test failed`)}if(!i.payload||typeof i.payload.audio!=`string`||!i.payload.audio.trim())throw Error(`TTS test returned no audio. Check the selected voice engine and try again.`);return i.payload}async function C(n){let r=await t(e(`/api/voice/reveal-api-key`),{method:`POST`,body:JSON.stringify(n)});if(!r.payload)throw Error(`Missing reveal payload`);return r.payload}export{g as a,v as c,C as d,S as f,b as i,i as l,a as n,x as o,y as r,h as s,r as t,_ as u};
1
+ import{i as e,o as t}from"./locale-store-lIXD1FMw.js";import{n}from"./gateway-config-swr-BAmUhiP1.js";async function r(){return(await t(e(`/api/voice/realtime/status`))).payload}async function i(n,r){let i=await t(e(`/api/voice/realtime/preview`),{method:`POST`,signal:n,body:JSON.stringify(r?{voice:r}:{})});if(i.payload.sampleRate!==24e3)throw Error(`Unsupported preview sample rate`);return Uint8Array.from(atob(i.payload.audio),e=>e.charCodeAt(0)).buffer}async function a(n,r,i){let a=new URLSearchParams({provider:n,model:r});return i&&a.set(`purpose`,i),(await t(e(`/api/voice/tts-voices?${a.toString()}`))).payload?.voices??[]}function o(){return{enabled:!1,provider:`openai`,providers:{alibaba:{model:`qwen-audio-3.1-asr-flash`},openai:{model:`gpt-4o-mini-transcribe`}},fallback:{enabled:!1,order:[]}}}function s(){return{enabled:!0,provider:`xopc-cloud`,trigger:`off`,maxTextLength:512,timeoutMs:6e4,providers:{alibaba:{model:`qwen3-tts-flash`,voice:`Cherry`},openai:{model:`tts-1`,voice:`alloy`},edge:{voice:`zh-CN-XiaoxiaoNeural`,lang:`zh-CN`},minimax:{model:`speech-2.8-hd`,voice:`male-qn-qingse`}}}}function c(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function l(e){return typeof e==`string`&&e.trim().length>0?e.trim():`openai`}function u(e){let t=o();if(!c(e))return t;let n=l(e.provider),r=t.fallback??{enabled:!1,order:[]};if(c(e.fallback)){let t=Array.isArray(e.fallback.order)?e.fallback.order.filter(e=>typeof e==`string`&&e.trim().length>0):r.order;r={enabled:typeof e.fallback.enabled==`boolean`?e.fallback.enabled:r.enabled,order:t.length?t:r.order}}let i={...t.providers??{},...c(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,c(t)?{...t}:{}])):{}};return{enabled:!!e.enabled,provider:n,providers:i,fallback:r}}function d(e){return typeof e==`string`&&e.trim().length>0?e.trim():`xopc-cloud`}function f(e){let t=s();if(!c(e))return t;let n=d(e.provider),r=e.trigger===`off`||e.trigger===`always`||e.trigger===`inbound`||e.trigger===`tagged`?e.trigger:`off`,i={...t.providers??{},...c(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,c(t)?{...t}:{}])):{}};return{enabled:!!e.enabled,provider:n,trigger:r,maxTextLength:typeof e.maxTextLength==`number`&&Number.isFinite(e.maxTextLength)?e.maxTextLength:t.maxTextLength,timeoutMs:typeof e.timeoutMs==`number`&&Number.isFinite(e.timeoutMs)?e.timeoutMs:t.timeoutMs,providers:i}}function p(e){return{...e}}function m(e){return{...e}}function h(e){let t=c(e)?e:{},n=c(t.voice)?t.voice:{},r=c(n.input)?n.input:{},i=c(r.refinement)?r.refinement:{},a=c(n.realtime)?n.realtime:{},o=i.mode===`punctuation`||i.mode===`light`||i.mode===`custom`?i.mode:`off`;return{stt:u(t.stt),tts:f(t.tts),voice:{languageMode:n.languageMode===`manual`?`manual`:`auto`,language:n.language===`zh`?`zh`:`en`,input:{refinement:{mode:o,...typeof i.model==`string`&&i.model.trim()?{model:i.model.trim()}:{},...typeof i.customInstruction==`string`?{customInstruction:i.customInstruction}:{}}},realtime:{enabled:a.enabled===!0,defaultEngine:a.defaultEngine===`omni`?`omni`:`agent`,silenceDurationMs:typeof a.silenceDurationMs==`number`?a.silenceDurationMs:1200,idleTimeoutMs:typeof a.idleTimeoutMs==`number`?a.idleTimeoutMs:6e4,maxDictationMs:typeof a.maxDictationMs==`number`?a.maxDictationMs:6e5,maxConversationMs:typeof a.maxConversationMs==`number`?a.maxConversationMs:36e5,bargeIn:a.bargeIn!==!1,...c(a.stt)&&a.stt.provider===`xopc-cloud`&&typeof a.stt.model==`string`?{stt:{provider:`xopc-cloud`,model:a.stt.model}}:{},...c(a.tts)&&(a.tts.provider===`alibaba`||a.tts.provider===`xopc-cloud`)?{tts:{provider:a.tts.provider,...typeof a.tts.model==`string`?{model:a.tts.model}:{},...typeof a.tts.voice==`string`?{voice:a.tts.voice}:{}}}:{},...c(a.omni)?{omni:{...a.omni}}:{}}}}}async function g(){return h((await t(e(`/api/config`))).payload?.config??{})}function _(e){return!c(e)||!c(e.voiceSettingsRevisions)?{}:Object.fromEntries(Object.entries(e.voiceSettingsRevisions).filter(([e,t])=>[`transcription`,`speech`,`conversation`].includes(e)&&typeof t==`string`&&/^[a-f0-9]{64}$/.test(t)))}async function v(r,i,a){let o=await t(e(`/api/config`),{method:`PATCH`,body:JSON.stringify({...a?{expectedVoiceRevision:{capability:i,revision:a}}:{},...i===`transcription`?{stt:p(r.stt)}:{},...i===`speech`?{tts:m(r.tts)}:{},...i===`conversation`?{voice:{realtime:r.voice.realtime}}:i===`transcription`?{voice:{language:r.voice.language,languageMode:r.voice.languageMode,input:r.voice.input}}:{}})});return i===`transcription`&&r.voice.languageMode===`auto`&&await t(e(`/api/voice/language`),{method:`POST`,body:JSON.stringify({language:r.voice.language})}),typeof window<`u`&&window.dispatchEvent(new Event(`voice-config-changed`)),n(),_(o?.payload?.config)}async function y(){let n=await t(e(`/api/voice/models`));if(!n.payload?.models)throw Error(`Missing voice models payload`);return n.payload.models}async function b(){let n=await t(e(`/api/voice/providers`));if(!n.payload?.providers)throw Error(`Missing voice providers payload`);return n.payload}async function x(){let n=await t(e(`/api/voice/stt-providers`));if(!n.payload?.providers)throw Error(`Missing STT providers payload`);return n.payload}async function S(n,r){let i=await t(e(`/api/voice/tts-test`),{method:`POST`,signal:r,body:JSON.stringify(n)});if(i.ok===!1){let e=typeof i.error==`string`?i.error:i.error?.message;throw Error(e||`TTS test failed`)}if(!i.payload||typeof i.payload.audio!=`string`||!i.payload.audio.trim())throw Error(`TTS test returned no audio. Check the selected voice engine and try again.`);return i.payload}async function C(n){let r=await t(e(`/api/voice/reveal-api-key`),{method:`POST`,body:JSON.stringify(n)});if(!r.payload)throw Error(`Missing reveal payload`);return r.payload}export{g as a,v as c,C as d,S as f,b as i,i as l,a as n,x as o,y as r,h as s,r as t,_ as u};
@@ -0,0 +1 @@
1
+ import{p as e}from"./locale-store-lIXD1FMw.js";import{t}from"./middleware-Pd0e8Igk.js";function n(){return typeof navigator>`u`?!1:navigator.platform?.includes(`Mac`)??navigator.userAgent.includes(`Mac`)}function r(e,t=n()){return a(e).split(`+`).map(e=>e===`control`?`Ctrl`:e===`meta`?t?`⌘`:`Win`:e===`alt`?t?`Option`:`Alt`:e===`shift`?`Shift`:e===`space`?`Space`:e.length===1?e.toUpperCase():e)}function i(e=n()){return e?`meta+.`:`control+.`}function a(e){return e.split(`+`).map(l).filter(Boolean).join(`+`)}function o(e){if(e.key===`Escape`||[`Meta`,`Control`,`Alt`,`Shift`].includes(e.key))return null;let t=e.key===` `?`space`:l(e.key);return t?[...[e.metaKey?`meta`:``,e.ctrlKey?`control`:``,e.altKey?`alt`:``,e.shiftKey?`shift`:``].filter(Boolean),t].join(`+`):null}var s=e(t(e=>({shortcut:i(),setShortcut:t=>e({shortcut:a(t)||i()})}),{name:`xopc-quick-capture-shortcut`,version:2})),c={cmd:`meta`,command:`meta`,ctrl:`control`,ctl:`control`,opt:`alt`,option:`alt`};function l(e){let t=e.toLowerCase().trim();return c[t]??t}function u(e,t){let n=a(t).split(`+`),r=new Set(n.filter(e=>[`meta`,`control`,`alt`,`shift`].includes(e))),i=n.find(e=>!r.has(e));return!i||r.has(`meta`)!==e.metaKey||r.has(`control`)!==e.ctrlKey||r.has(`alt`)!==e.altKey||r.has(`shift`)!==e.shiftKey?!1:e.key.toLowerCase()===i||e.code.toLowerCase()===i}function d(e=n()){return e?`meta+shift+m`:`control+shift+m`}var f=e(t(e=>({shortcut:d(),setShortcut:t=>e({shortcut:a(t)||d()})}),{name:`xopc-voice-input-shortcut`,version:1})),p=`xopc-voice-input-toggle`,m=`xopc-voice-input-cancel`,h=`app-shortcut-recording`,g=!1;function _(e,t){let n=new CustomEvent(e,{cancelable:!0,detail:{target:t}});return window.dispatchEvent(n),n.defaultPrevented}function v(){g=!0}function y(){g=!1}function b(){return g?(g=!1,!0):!1}export{_ as a,d as c,n as d,u as f,s as h,y as i,f as l,o as m,m as n,v as o,r as p,p as r,b as s,h as t,i as u};
@@ -0,0 +1 @@
1
+ import{i as e,o as t,p as n}from"./locale-store-lIXD1FMw.js";import{_ as r,a as i,b as a,c as o,d as s,f as c,g as l,h as u,i as d,m as f,n as p,o as m,p as h,t as ee,u as g,y as te}from"./schemas-CCWMleym.js";import{t as ne}from"./session-manager-5l9q0cd5.js";import{t as _}from"./middleware-Pd0e8Igk.js";function v(e,t=`settings`){window.dispatchEvent(new CustomEvent(`open-capability-settings`,{detail:{use:e,view:t}}))}function re(e){return a(ee,e)}var y=n()(_(e=>({captions:!0,microphoneId:``,setCaptions:t=>e({captions:t}),setMicrophoneId:t=>e({microphoneId:t})}),{name:`xopc-voice-preferences`}));function b(){let e=y.getState().microphoneId;return{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,...e?{deviceId:{exact:e}}:{}}}var x=32,S=1481592883,C=3,w=1,ie=2,T=1,E=64*1024,ae=new TextEncoder,oe=new TextDecoder(`utf-8`,{fatal:!0});function D(e){let t=ae.encode(e.id);if(!t.length||t.length>160||!Number.isInteger(e.connectionEpoch)||e.connectionEpoch<1||e.connectionEpoch>4294967295||!Number.isInteger(e.seq)||e.seq<1||e.seq>4294967295||!Number.isFinite(e.timestampMs)||e.timestampMs<0||e.durationMs!==20||e.flags<0||e.flags>3||!e.audio.length||e.audio.length%2||x+t.length+e.audio.length>E)throw Error(`Invalid voice media frame`);let n=new Uint8Array(x+t.length+e.audio.length),r=new DataView(n.buffer);return r.setUint32(0,S),r.setUint8(4,C),r.setUint8(5,e.kind),r.setUint8(6,T),r.setUint8(7,e.flags),r.setUint32(8,e.connectionEpoch),r.setUint32(12,e.seq),r.setFloat64(16,e.timestampMs),r.setUint16(24,e.durationMs),r.setUint16(26,t.length),r.setUint32(28,e.audio.length),n.set(t,x),n.set(e.audio,x+t.length),n}function O(e,t){if(e.length<=x||e.length>E)throw Error(`Invalid voice media frame`);let n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=n.getUint8(5),i=n.getUint32(8),a=n.getUint32(12),o=n.getFloat64(16),s=n.getUint16(24),c=n.getUint16(26),l=n.getUint32(28),u=x+c,d=n.getUint8(7);if(n.getUint32(0)!==S||n.getUint8(4)!==C||r!==t||n.getUint8(6)!==T||d>3||!i||!a||!Number.isFinite(o)||o<0||s!==20||!c||c>160||!l||l%2||u+l!==e.length)throw Error(`Invalid voice media header`);return{kind:r,connectionEpoch:i,id:oe.decode(e.subarray(x,u)),seq:a,timestampMs:o,durationMs:s,flags:d,audio:e.slice(u)}}function k(e){let t=O(e,ie);return{connectionEpoch:t.connectionEpoch,responseId:t.id,seq:t.seq,mediaTimestampMs:t.timestampMs,durationMs:t.durationMs,audio:t.audio}}function se(e){return D({kind:w,connectionEpoch:e.connectionEpoch,id:e.utteranceId,seq:e.audioSeq,timestampMs:e.capturedAtMonotonicMs,durationMs:e.durationMs,flags:!!e.start|(e.end?2:0),audio:e.audio})}var ce=class{session;eventSeq=0;audioSeq=0;ready=!1;closed=!1;cancelled=new Set;constructor(e){this.session=e}event(e){if(this.closed)throw Error(`Voice session closed`);if(e.sessionId!==this.session.sessionId||e.seq!==this.eventSeq+1)throw Error(`Invalid voice event sequence`);if(this.eventSeq=e.seq,e.type===`session.ready`){if(this.ready||e.payload.connectionEpoch!==this.session.connectionEpoch||e.payload.purpose!==this.session.purpose||e.payload.inputMode!==this.session.inputMode||e.payload.inputFormat.sampleRate!==this.session.inputFormat.sampleRate||e.payload.mode!==this.session.mode||e.payload.route.engine!==this.session.route.engine)throw Error(`Voice session mismatch`);this.ready=!0}e.type===`response.cancelled`&&this.cancel(e.payload.responseId),e.type===`session.closed`&&(this.ready=!1,this.closed=!0)}audio(e){if(!this.ready||e.connectionEpoch!==this.session.connectionEpoch||e.seq!==this.audioSeq+1)throw Error(`Invalid voice audio sequence`);return this.audioSeq=e.seq,!this.cancelled.has(e.responseId)}cancel(e){if(!this.cancelled.has(e)){if(this.cancelled.size>=1e4)throw Error(`Voice response limit exceeded`);this.cancelled.add(e)}}},le=`/api/voice/realtime/v3/ws`,ue=64*1024,de=15e3,A=te(),j=g().int().nonnegative(),M=p([`dictation`,`conversation`]),N=p([`natural`,`assistant`]),P=o(`server_vad`),F=p([`zh`,`en`]),I=[`speech_end_to_audio_received`,`speech_end_to_audio_scheduled`,`speech_end_to_audio_buffered`,`local_stop`],L=h({encoding:o(`pcm_s16le`),sampleRate:l([o(16e3),o(24e3)]),channels:o(1)}),R=h({provider:f().min(1).max(100),model:f().min(1).max(200),managed:i()}),z=m(`engine`,[h({engine:o(`dictation`),stt:R}),h({engine:o(`agent`),stt:R,tts:R}),h({engine:o(`omni`),omni:R})]),B=h({available:i(),reasonCode:p([`VOICE_DISABLED`,`PROVIDER_UNAVAILABLE`]).optional()});s({enabled:i(),openingGreeting:i().optional(),defaultMode:N,omni:R.nullable(),stt:R.nullable(),tts:R.extend({voice:f().optional()}).nullable(),capabilities:h({dictation:B,assistant:B,natural:B,languages:d(F),bargeIn:i(),mediaTransports:u([o(`websocket-pcm`)])})}),h({purpose:M,mode:N.optional(),conversationId:f().min(1).max(512).optional(),language:F.optional(),openingGreeting:h({logicalCallId:A,initiation:p([`user`,`recovery`]),supportsOutputReady:o(!0)}).optional(),supportedProtocolVersions:u([o(3)]),mediaPreferences:u([o(`websocket-pcm`)])}).superRefine((e,t)=>{e.purpose===`conversation`&&!e.conversationId&&t.addIssue({code:`custom`,path:[`conversationId`],message:`conversationId is required for conversation`}),e.purpose!==`conversation`&&e.mode!==void 0&&t.addIssue({code:`custom`,path:[`mode`],message:`mode is only supported for conversation`})});var V=h({openingGreeting:h({accepted:i(),greetingResponseId:f().max(160).optional()}).optional(),sessionId:A,ticket:f().min(32).max(512),ticketExpiresAt:re(),websocketPath:o(le),protocolVersion:o(3),connectionEpoch:g().int().positive(),purpose:M,mode:N.optional(),inputMode:P,bargeIn:i(),inputFormat:L,media:h({transport:o(`websocket-pcm`),codec:o(`pcm_s16le`),frameDurationMs:o(20)}),limits:h({maxBinaryFrameBytes:o(ue),maxSessionMs:g().int().positive(),idleTimeoutMs:g().int().positive()}),route:z}),H=(e,t)=>h({protocolVersion:o(3),messageId:A,type:o(e),sentAt:j,payload:t});m(`type`,[H(`session.start`,h({sessionId:A,ticket:f().min(32).max(512)})),H(`session.metric`,h({responseId:f().min(1).max(160),metric:p(I),durationMs:g().finite().min(0).max(6e5)})),H(`session.output_ready`,h({connectionEpoch:g().int().positive()})),H(`input.mute`,h({muted:i()})),H(`input.commit`,h({})),H(`response.stop_playback`,h({responseId:f().min(1).max(160)})),H(`task.cancel`,h({taskId:f().min(1).max(160)})),H(`response.audio.played`,h({responseId:f().min(1).max(160),playedDurationMs:g().int().nonnegative().max(36e5)})),H(`session.stop`,h({reason:p([`user_finished`,`surface_closed`,`replaced`])})),H(`session.ping`,h({}))]);var U=h({utteranceId:f().min(1).max(160),revision:g().int().positive(),text:f().max(32*1024),language:F.optional()}),W=(e,t)=>h({protocolVersion:o(3),eventId:A,seq:g().int().positive(),type:o(e),sentAt:j,sessionId:A,payload:t}),fe=m(`type`,[W(`session.ready`,h({purpose:M,mode:N.optional(),connectionEpoch:g().int().positive(),inputMode:P,inputFormat:L,media:h({transport:o(`websocket-pcm`),codec:o(`pcm_s16le`),frameDurationMs:o(20)}),route:z,heartbeatIntervalMs:o(de)})),W(`input.speech_started`,h({utteranceId:f().min(1).max(160)})),W(`input.speech_stopped`,h({utteranceId:f().min(1).max(160)})),W(`input.transcript.delta`,U),W(`input.transcript.final`,U),W(`turn.decision`,h({turnId:f().min(1).max(160),disposition:p([`complete`,`incomplete`,`backchannel`,`wait`]),confidence:g().min(0).max(1),source:p([`provider`,`semantic`,`heuristic`]),committed:i()})),W(`turn.committed`,h({turnId:f().min(1).max(160)})),W(`response.created`,h({responseId:f().min(1).max(160)})),W(`task.created`,h({responseId:f().min(1).max(160),taskId:f().min(1).max(160)})),W(`task.activity`,h({taskId:f().min(1).max(160),toolCallId:f().min(1).max(160),toolName:f().min(1).max(256),status:p([`running`,`completed`,`failed`])})),W(`task.done`,h({taskId:f().min(1).max(160),status:p([`completed`,`failed`,`cancelled`,`suspended`])})),W(`response.clarification`,h({interactionMode:p([`quick`,`compose`]).optional(),choiceDetails:d(h({id:f(),label:f(),description:f().optional()})).optional(),recommendedChoiceId:f().optional(),approval:h({operation:f(),target:f().optional(),impact:f().optional(),argumentsPreview:c(f(),r()).optional()}).optional(),responseId:f().min(1).max(160),requestId:f().min(1).max(160),kind:p([`input`,`approval`]),question:f().min(1).max(8e3),version:g().int().positive(),createdAt:g().nonnegative(),expiresAt:g().nonnegative().optional()})),W(`response.text.delta`,h({responseId:f().min(1).max(160),delta:f().max(32*1024)})),W(`response.text.done`,h({responseId:f().min(1).max(160)})),W(`response.audio.started`,h({responseId:f().min(1).max(160),format:L})),W(`response.audio.done`,h({responseId:f().min(1).max(160)})),W(`response.done`,h({responseId:f().min(1).max(160),finishReason:p([`completed`,`text_only`,`audio_partial`]),audio:i()})),W(`response.cancelled`,h({responseId:f().min(1).max(160),reason:p([`barge_in`,`client_cancelled`,`session_closed`])})),W(`session.pong`,h({})),W(`session.error`,h({code:f().min(1).max(80),message:f().min(1).max(500),recoverable:i()})),W(`session.closed`,h({reason:f().min(1).max(160)}))]);function pe(e){return fe.parse(e)}function G(e,t){return{protocolVersion:3,messageId:crypto.randomUUID(),type:e,sentAt:Date.now(),payload:t}}function me(t){let n=new URL(e(t));return n.protocol=n.protocol===`https:`?`wss:`:`ws:`,n.toString()}var he=class n{socket;session;timingMetrics;receive;heartbeatId;inputRemainder=new Uint8Array;utteranceId=crypto.randomUUID();inputSeq=0;constructor(e,t,n=[]){this.socket=e,this.session=t,this.timingMetrics=n,this.receive=new ce(t)}static async preflight(n){return n.purpose===`conversation`&&n.conversationId&&await new ne().materialize(n.conversationId,`voice`),(await t(e(`/api/voice/realtime/preflight`),{method:`POST`,signal:n.signal,body:JSON.stringify({purpose:n.purpose,mode:n.mode,conversationId:n.conversationId,supportedProtocolVersions:[3],mediaPreferences:[`websocket-pcm`]})})).timingMetrics??[]}static async connect(r){r.signal?.throwIfAborted();let i=r.purpose===`conversation`&&r.mode!==`natural`?await t(e(`/api/voice/realtime/status`),{signal:r.signal}):null,a=await t(e(`/api/voice/realtime/sessions`),{method:`POST`,signal:r.signal,body:JSON.stringify({purpose:r.purpose,...r.language?{language:r.language}:{},...i?.payload.openingGreeting&&r.logicalCallId?{openingGreeting:{logicalCallId:r.logicalCallId,initiation:r.recovery?`recovery`:`user`,supportsOutputReady:!0}}:{},...r.mode?{mode:r.mode}:{},...r.conversationId?{conversationId:r.conversationId}:{},supportedProtocolVersions:[3],mediaPreferences:[`websocket-pcm`]})}),o=V.parse(a.payload);r.signal?.throwIfAborted();let s=new WebSocket(me(o.websocketPath));s.binaryType=`arraybuffer`;let c=new n(s,o,r.timingMetrics);return await new Promise((e,t)=>{let n=!1,i,a=e=>{n||(n=!0,i!==void 0&&window.clearTimeout(i),s.close(),t(e))};i=window.setTimeout(()=>a(Error(`Realtime voice connection timed out`)),15e3);let l=()=>{n?s.close():a(Error(`Realtime voice connection cancelled`))};if(r.signal?.addEventListener(`abort`,l,{once:!0}),s.addEventListener(`close`,()=>r.signal?.removeEventListener(`abort`,l),{once:!0}),r.signal?.aborted){l();return}s.onerror=()=>a(Error(`Realtime voice connection failed`)),s.onclose=e=>{n?r.onClose?.(e.reason):a(Error(e.reason||`Realtime voice connection closed`))},s.onopen=()=>{s.send(JSON.stringify(G(`session.start`,{sessionId:o.sessionId,ticket:o.ticket})))},s.onmessage=t=>{if(typeof t.data!=`string`){try{let e=k(new Uint8Array(t.data));c.receive.audio(e)&&r.onAudio?.(e.audio.slice().buffer,e.responseId)}catch{s.close(4400,`Invalid voice audio frame`)}return}try{let s=pe(JSON.parse(t.data));if(c.receive.event(s),r.onEvent(s),s.type===`session.ready`&&!n){if(s.payload.connectionEpoch!==o.connectionEpoch||s.payload.mode!==o.mode)throw Error(`Voice session mismatch`);n=!0,window.clearTimeout(i),c.startHeartbeat(s.payload.heartbeatIntervalMs),e()}else s.type===`session.error`&&!s.payload.recoverable&&a(Error(s.payload.message))}catch(e){n?s.close(4400,`Invalid voice protocol frame`):a(e instanceof Error?e:Error(String(e)))}}}),c}outputReady(){this.session.openingGreeting?.accepted&&this.sendControl(`session.output_ready`,{connectionEpoch:this.session.connectionEpoch})}sendAudio(e){if(!e.byteLength||this.socket.readyState!==WebSocket.OPEN)return;let t=new Uint8Array(e),n=new Uint8Array(this.inputRemainder.byteLength+t.byteLength);n.set(this.inputRemainder),n.set(t,this.inputRemainder.byteLength);let r=0;for(;r+640<=n.byteLength;){let e=se({connectionEpoch:this.session.connectionEpoch,utteranceId:this.utteranceId,audioSeq:++this.inputSeq,capturedAtMonotonicMs:performance.now(),durationMs:20,...this.inputSeq===1?{start:!0}:{},audio:n.slice(r,r+640)});this.socket.send(e.buffer),r+=640}this.inputRemainder=n.slice(r)}reportMetric(e,t,n){t===`speech_end_to_audio_scheduled`&&!this.timingMetrics.includes(t)||this.sendControl(`session.metric`,{responseId:e,metric:t,durationMs:Math.min(6e5,Math.max(0,n))})}setInputMuted(e){this.sendControl(`input.mute`,{muted:e}),this.inputRemainder=new Uint8Array,e||(this.utteranceId=crypto.randomUUID(),this.inputSeq=0)}commit(){this.sendControl(`input.commit`,{})}cancelResponse(e){this.sendControl(`response.stop_playback`,{responseId:e})}acknowledgeAudio(e,t){this.sendControl(`response.audio.played`,{responseId:e,playedDurationMs:Math.floor(t/48)})}stop(e=`user_finished`){this.stopHeartbeat(),this.socket.readyState===WebSocket.OPEN?this.sendControl(`session.stop`,{reason:e}):this.socket.close()}sendControl(e,t){this.socket.readyState===WebSocket.OPEN&&(e===`response.stop_playback`&&`responseId`in t&&this.receive.cancel(t.responseId),this.socket.send(JSON.stringify(G(e,t))))}startHeartbeat(e){this.stopHeartbeat(),this.heartbeatId=window.setInterval(()=>this.sendControl(`session.ping`,{}),e),this.socket.addEventListener(`close`,()=>this.stopHeartbeat(),{once:!0})}stopHeartbeat(){this.heartbeatId!==void 0&&(window.clearInterval(this.heartbeatId),this.heartbeatId=void 0)}},K=1.7,ge=class{context=new AudioContext({sampleRate:24e3});output=this.context.createGain();ringbackOutput=this.context.createGain();limiter=this.context.createDynamicsCompressor();sources=new Set;ringbackSources=new Map;ringbackDelay=null;ringbackInterval=null;ringbackActive=!1;nextStartTime=0;hasStartedAudio=!1;constructor(){this.output.gain.value=K,this.limiter.threshold.value=-6,this.limiter.knee.value=6,this.limiter.ratio.value=12,this.limiter.attack.value=.003,this.limiter.release.value=.12,this.output.connect(this.limiter),this.limiter.connect(this.context.destination),this.ringbackOutput.gain.value=0,this.ringbackOutput.connect(this.context.destination)}async start(){await this.context.resume()}get hasPendingAudio(){return this.sources.size>0}startRingback(){this.stopRingback(),this.context.state!==`closed`&&(this.ringbackActive=!0,this.ringbackDelay=setTimeout(()=>{this.ringbackDelay=null,!(!this.ringbackActive||this.context.state!==`running`)&&(this.ringbackOutput.gain.cancelScheduledValues(this.context.currentTime),this.ringbackOutput.gain.setValueAtTime(.14,this.context.currentTime),this.playRingbackPulse(),this.ringbackInterval=setInterval(()=>this.playRingbackPulse(),3e3))},500))}playRingbackPulse(){if(!this.ringbackActive||this.context.state!==`running`)return;let e=this.context.currentTime;for(let[t,n]of[392,494].entries()){let r=e+t*.4,i=this.context.createOscillator(),a=this.context.createGain();i.type=`sine`,i.frequency.value=n,a.gain.setValueAtTime(0,r),a.gain.linearRampToValueAtTime(.5,r+.04),a.gain.setValueAtTime(.5,r+.18),a.gain.linearRampToValueAtTime(0,r+.28),i.connect(a),a.connect(this.ringbackOutput),this.ringbackSources.set(i,a),i.onended=()=>{this.ringbackSources.delete(i),i.disconnect(),a.disconnect()},i.start(r),i.stop(r+.29)}}stopRingback(){if(this.ringbackActive=!1,this.ringbackDelay!==null&&clearTimeout(this.ringbackDelay),this.ringbackInterval!==null&&clearInterval(this.ringbackInterval),this.ringbackDelay=null,this.ringbackInterval=null,this.context.state!==`closed`){this.ringbackOutput.gain.cancelScheduledValues(this.context.currentTime),this.ringbackOutput.gain.setTargetAtTime(0,this.context.currentTime,.025);for(let[e,t]of this.ringbackSources){t.gain.cancelScheduledValues(this.context.currentTime),t.gain.setTargetAtTime(0,this.context.currentTime,.02);try{e.stop(this.context.currentTime+.12)}catch{}}}}enqueue(e,t,n=24e3){if(e.byteLength<2||this.context.state===`closed`)return;let r=new DataView(e),i=new Float32Array(Math.floor(e.byteLength/2));for(let e=0;e<i.length;e+=1)i[e]=r.getInt16(e*2,!0)/32768;let a=this.context.createBuffer(1,i.length,n);a.copyToChannel(i,0);let o=this.context.createBufferSource();o.buffer=a,o.connect(this.output);let s=this.hasStartedAudio?.015:.08,c=Math.max(this.context.currentTime+s,this.nextStartTime);return o.start(c),this.hasStartedAudio=!0,this.nextStartTime=c+a.duration,this.sources.add(o),o.onended=()=>{this.sources.delete(o)&&(o.disconnect(),t())},Math.max(0,c-this.context.currentTime)*1e3}duck(e){if(this.context.state===`closed`)return;let t=e?K*.15:K;this.output.gain.cancelScheduledValues(this.context.currentTime),this.output.gain.setTargetAtTime(t,this.context.currentTime,.015)}clear(){for(let e of this.sources){e.onended=null;try{e.stop()}catch{}e.disconnect()}this.sources.clear(),this.nextStartTime=this.context.currentTime,this.hasStartedAudio=!1,this.duck(!1)}async close(){this.stopRingback(),this.clear(),this.output.disconnect(),this.ringbackOutput.disconnect(),this.limiter.disconnect(),this.context.state!==`closed`&&await this.context.close();for(let[e,t]of this.ringbackSources)e.onended=null,e.disconnect(),t.disconnect();this.ringbackSources.clear()}},_e=`/assets/pcm-capture-worklet-uW_SEACy.js`,q=16e3;function J(e){if(e.length===0)return 0;let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.min(1,Math.sqrt(t/e.length))}function ve(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Float32Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Y(e,t,n=q){if(t===n)return e;let r=Math.max(1,Math.round(e.length*n/t)),i=new Float32Array(r),a=t/n;for(let t=0;t<r;t+=1){let n=t*a,r=Math.min(e.length-1,Math.floor(n)),o=Math.min(e.length-1,r+1),s=n-r;i[t]=e[r]*(1-s)+e[o]*s}return i}function X(e,t=q){let n=new ArrayBuffer(44+e.length*2),r=new DataView(n),i=(e,t)=>{for(let n=0;n<t.length;n+=1)r.setUint8(e+n,t.charCodeAt(n))};i(0,`RIFF`),r.setUint32(4,36+e.length*2,!0),i(8,`WAVE`),i(12,`fmt `),r.setUint32(16,16,!0),r.setUint16(20,1,!0),r.setUint16(22,1,!0),r.setUint32(24,t,!0),r.setUint32(28,t*2,!0),r.setUint16(32,2,!0),r.setUint16(34,16,!0),i(36,`data`),r.setUint32(40,e.length*2,!0);for(let t=0;t<e.length;t+=1){let n=Math.max(-1,Math.min(1,e[t]));r.setInt16(44+t*2,n<0?n*32768:n*32767,!0)}return n}function Z(e){let t=new ArrayBuffer(e.length*2),n=new DataView(t);for(let t=0;t<e.length;t+=1){let r=Math.max(-1,Math.min(1,e[t]));n.setInt16(t*2,r<0?r*32768:r*32767,!0)}return t}var ye=class{sourceRate;targetRate;pending=new Float32Array;position=0;constructor(e,t=q){if(this.sourceRate=e,this.targetRate=t,e<=0||t<=0)throw Error(`PCM sample rates must be positive`)}push(e){if(e.length===0)return new ArrayBuffer(0);let t=new Float32Array(this.pending.length+e.length);t.set(this.pending),t.set(e,this.pending.length);let n=this.sourceRate/this.targetRate,r=[];for(;this.position+1<t.length;){let e=Math.floor(this.position),i=this.position-e;r.push(t[e]*(1-i)+t[e+1]*i),this.position+=n}let i=Math.min(t.length-1,Math.floor(this.position));return this.pending=t.slice(i),this.position-=i,Z(Float32Array.from(r))}flush(){if(this.pending.length===0)return new ArrayBuffer(0);let e=this.pending[Math.min(this.pending.length-1,Math.floor(this.position))];return this.pending=new Float32Array,this.position=0,Z(Float32Array.of(e))}},be=`xopc-pcm-capture`,xe=1e3,Se=1e4,Q=class e{context;source;node;mutedOutput;options;sampleRate;paused=!1;accepting=!0;processorFailed=!1;stopPromise;flushResolve;constructor(e,t,n,r,i){this.context=e,this.source=t,this.node=n,this.mutedOutput=r,this.options=i,this.sampleRate=e.sampleRate,this.node.port.onmessage=e=>{if(e.data.type===`flushed`){this.flushResolve?.();return}if(!this.accepting||this.paused)return;let t=new Float32Array(e.data.buffer);if(this.options.onSamples(t),this.options.onAudioLevel){let e=J(t);this.options.onAudioLevel({level:e,speaking:e>=(this.options.speechThreshold??.015)})}},this.node.onprocessorerror=()=>{this.processorFailed=!0,this.flushResolve?.()}}static async start(t,n){if(typeof AudioWorkletNode>`u`)throw Error(`PCM audio recording is not supported in this browser`);let r=new AudioContext,i,a,o=new Promise((e,t)=>{a=setTimeout(()=>{t(new DOMException(`PCM audio capture startup timed out`,`TimeoutError`))},Se)});try{await Promise.race([r.audioWorklet.addModule(_e),o]);let a=r.createMediaStreamSource(t),s=new AudioWorkletNode(r,be),c=r.createGain();return c.gain.value=0,i=new e(r,a,s,c,n),a.connect(s),s.connect(c),c.connect(r.destination),await Promise.race([r.resume(),o]),i}catch(e){throw i?i.cancel():r.close().catch(()=>void 0),e}finally{clearTimeout(a)}}pause(){this.paused=!0}resume(){this.paused=!1}stop(){return this.stopPromise??=this.finish(),this.stopPromise}cancel(){this.accepting&&(this.accepting=!1,this.flushResolve?.(),this.flushResolve=void 0,this.disconnect(),this.context.close().catch(()=>void 0))}async finish(){this.accepting&&(this.processorFailed||await this.flushWorklet(),this.flushResolve=void 0,this.accepting&&(this.accepting=!1,this.disconnect(),await this.context.close().catch(()=>void 0)))}flushWorklet(){return new Promise(e=>{let t=!1,n=()=>{t||(t=!0,globalThis.clearTimeout(r),e())},r=globalThis.setTimeout(n,xe);this.flushResolve=n;try{this.node.port.postMessage(`flush`)}catch{n()}})}disconnect(){this.node.port.onmessage=null,this.node.onprocessorerror=null,this.source.disconnect(),this.node.disconnect(),this.mutedOutput.disconnect()}},Ce=class e{capture;chunks;stopped=!1;constructor(e,t){this.capture=e,this.chunks=t}static async start(t,n={}){let r=[],i=await Q.start(t,{...n,onSamples:e=>r.push(e)});return new e(i,r)}async stop(){if(this.stopped)return new Blob([],{type:`audio/wav`});this.stopped=!0,await this.capture.stop();let e=Y(ve(this.chunks),this.capture.sampleRate);return new Blob([X(e)],{type:`audio/wav`})}cancel(){this.stopped||(this.stopped=!0,this.capture.cancel(),this.chunks.length=0)}};function we(e){return e.includes(`ogg`)?`ogg`:e.includes(`mp4`)||e.includes(`m4a`)?`m4a`:e.includes(`mpeg`)||e.includes(`mp3`)?`mp3`:e.includes(`wav`)?`wav`:`webm`}async function Te(n,r,i,a){let o=n.type||r||`audio/webm`,s=n.type?n:new Blob([n],{type:o}),c=new FormData;c.append(`audio`,s,`recording.${we(o)}`),a&&c.append(`expectedProvider`,a);let l=await t(e(`/api/voice/transcriptions`),{method:`POST`,body:c,...i?{signal:i}:{}});if(!l.payload)throw Error(`Missing transcription payload`);return l.payload}async function Ee(n){let r=await t(e(`/api/status`),{signal:n});if(!r.voice?.dictation)throw Error(`Missing dictation status`);return r.voice.dictation}function $(){}typeof window<`u`&&(window.addEventListener(`voice-config-changed`,$),window.addEventListener(`config-reload`,$));export{Ce as a,Y as c,y as d,b as f,ye as i,ge as l,Te as n,J as o,v as p,Q as r,X as s,Ee as t,he as u};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`pencil-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),n=e(`wand-sparkles`,[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]]);export{t as n,n as t};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t}from"./vendor-react-BOUWij0V.js";import{s as n}from"./vendor-swr-BIWyz7Rc.js";var r=e((e=>{var r=t(),i=n();function a(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:a,s=i.useSyncExternalStore,c=r.useRef,l=r.useEffect,u=r.useMemo,d=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),i=e(((e,t)=>{t.exports=r()}));export{i as t};
1
+ import{t as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t}from"./vendor-react-BOUWij0V.js";import{s as n}from"./vendor-swr-CdRzEUwF.js";var r=e((e=>{var r=t(),i=n();function a(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:a,s=i.useSyncExternalStore,c=r.useRef,l=r.useEffect,u=r.useMemo,d=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),i=e(((e,t)=>{t.exports=r()}));export{i as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./work-discovery-page-p-8ciZ0i.js";import{t as a}from"./understanding-activity-store-CTe6TFB0.js";import{t as o}from"./x-B_N4OPjy.js";import{t as s}from"./messages-DRR9N3HC.js";import{n as c}from"./locale-store-lIXD1FMw.js";import{t as l}from"./button-CnRSIP6m.js";import{a as u,i as d,o as f,r as p,s as m,t as h}from"./dist-DfWfZ9iu.js";import{t as g}from"./brand-logo-CgT9zQfr.js";var _=n(),v=e(t(),1),y=r(),b=180;function x(e){let t=(0,_.c)(40),{requestedOpen:n,onExited:r}=e,x=c(C),w=a(S),[T,E]=(0,v.useState)(!0),D=(0,v.useRef)(!1),O=(0,v.useRef)(null),k;t[0]===x?k=t[1]:(k=s(x),t[0]=x,t[1]=k);let A=k.onboarding.workDiscovery,j=w?x===`zh`?`在后台继续`:`Continue in background`:x===`zh`?`稍后再说`:`Maybe later`,M;t[2]===r?M=t[3]:(M=()=>{if(D.current)return;D.current=!0,E(!1);let e=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:b;O.current=window.setTimeout(r,e)},t[2]=r,t[3]=M);let N=M,P,F;t[4]!==N||t[5]!==n?(P=()=>{n||N()},F=[N,n],t[4]=N,t[5]=n,t[6]=P,t[7]=F):(P=t[6],F=t[7]),(0,v.useEffect)(P,F);let I,L;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>()=>{O.current!==null&&window.clearTimeout(O.current)},L=[],t[8]=I,t[9]=L):(I=t[8],L=t[9]),(0,v.useEffect)(I,L);let R;t[10]===N?R=t[11]:(R=e=>{e||N()},t[10]=N,t[11]=R);let z;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,y.jsx)(u,{className:`xopc-dialog-overlay fixed inset-0 z-[75] bg-scrim backdrop-blur-[1px]`}),t[12]=z):z=t[12];let B;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,y.jsx)(g,{className:`size-7 shrink-0`,"aria-hidden":!0}),t[13]=B):B=t[13];let V;t[14]===A.title?V=t[15]:(V=(0,y.jsx)(m,{className:`truncate text-sm font-semibold text-fg`,children:A.title}),t[14]=A.title,t[15]=V);let H;t[16]===A.subtitle?H=t[17]:(H=(0,y.jsx)(d,{className:`sr-only`,children:A.subtitle}),t[16]=A.subtitle,t[17]=H);let U;t[18]!==V||t[19]!==H?(U=(0,y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2.5`,children:[B,V,H]}),t[18]=V,t[19]=H,t[20]=U):U=t[20];let W;t[21]===j?W=t[22]:(W=(0,y.jsx)(`span`,{className:`hidden text-xs sm:inline`,children:j}),t[21]=j,t[22]=W);let G;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,y.jsx)(o,{className:`size-4`,"aria-hidden":!0}),t[23]=G):G=t[23];let K;t[24]!==j||t[25]!==N||t[26]!==W?(K=(0,y.jsxs)(l,{type:`button`,variant:`ghost`,className:`h-9 shrink-0 gap-1.5 px-2.5 text-fg-muted`,title:j,"aria-label":j,onClick:N,children:[W,G]}),t[24]=j,t[25]=N,t[26]=W,t[27]=K):K=t[27];let q;t[28]!==U||t[29]!==K?(q=(0,y.jsxs)(`header`,{className:`flex h-14 shrink-0 items-center justify-between gap-4 border-b border-edge bg-surface-panel px-4 sm:px-5`,children:[U,K]}),t[28]=U,t[29]=K,t[30]=q):q=t[30];let J;t[31]===N?J=t[32]:(J=(0,y.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,y.jsx)(i,{embedded:!0,onRequestClose:N})}),t[31]=N,t[32]=J);let Y;t[33]!==q||t[34]!==J?(Y=(0,y.jsxs)(f,{children:[z,(0,y.jsx)(p,{className:`xopc-work-discovery-dialog pointer-events-none fixed inset-0 z-[76] flex items-center justify-center p-3 outline-none sm:p-6`,children:(0,y.jsxs)(`section`,{className:`xopc-work-discovery-panel pointer-events-auto flex h-[min(47.5rem,calc(100dvh-1.5rem))] w-[min(45rem,calc(100vw-1.5rem))] flex-col overflow-hidden rounded-xl border border-edge bg-surface-base shadow-float sm:h-[min(47.5rem,calc(100dvh-3rem))] sm:w-[min(45rem,calc(100vw-3rem))]`,children:[q,J]})})]}),t[33]=q,t[34]=J,t[35]=Y):Y=t[35];let X;return t[36]!==T||t[37]!==Y||t[38]!==R?(X=(0,y.jsx)(h,{open:T,onOpenChange:R,children:Y}),t[36]=T,t[37]=Y,t[38]=R,t[39]=X):X=t[39],X}function S(e){return e.status===`running`}function C(e){return e.language}export{x as WorkDiscoveryOverlay};
@@ -0,0 +1 @@
1
+ import{i as e,n as t}from"./rolldown-runtime-aKtaBQYM.js";import{a as n,n as r,t as i}from"./vendor-react-BOUWij0V.js";import{m as a,u as o}from"./chunk-KS7C4IRE-CiwuuyV8.js";import{t as s}from"./createLucideIcon-DPHK1VkS.js";import{t as c}from"./service-recommendation-list-B1xuVT3N.js";import{t as l}from"./calendar-days-hw_Y-g-s.js";import{t as u}from"./check-DUBLcKHA.js";import{t as d}from"./chevron-down-ccbiQQz_.js";import{t as f}from"./chevron-right-BweFrslA.js";import{i as p,t as m}from"./working-directory-picker-modal-DHl2cZY1.js";import{t as h}from"./circle-check-C23XjkUj.js";import{t as ee}from"./clock-3-DnrAnuyZ.js";import{t as g}from"./database-CjjeZfRG.js";import{a as te,c as _,d as ne,f as v,i as re,l as y,m as b,n as x,o as S,p as C,r as w,s as T,t as E,u as D}from"./understanding-activity-store-CTe6TFB0.js";import{t as O}from"./file-text-D12HbeVy.js";import{t as k}from"./folder-open-CyzJ19I9.js";import{t as A}from"./git-branch-Dh9uxTot.js";import{t as j}from"./list-todo-CTVRto8O.js";import{t as M}from"./loader-circle-CifKLtgG.js";import{t as N}from"./messages-square-BckAJrEW.js";import{n as P,s as F,t as I}from"./install-connector-dialog-DU1Tz7B3.js";import{t as L}from"./plug-zap-L8NMe3Sv.js";import{t as R}from"./plus-Q2yW6OE7.js";import{t as z}from"./shield-check-BU58siTV.js";import{t as B}from"./sparkles-DHlfQFAF.js";import{t as ie}from"./x-B_N4OPjy.js";import{t as ae}from"./messages-DRR9N3HC.js";import{t as V}from"./cn-0WouolD0.js";import{n as oe}from"./locale-store-lIXD1FMw.js";import{t as H}from"./button-CnRSIP6m.js";import{t as se}from"./skeleton-BI5TyibZ.js";import{a as ce,r as le}from"./connectors-api-DIBG72k4.js";import{t as ue}from"./loopi-CNtmi9FU.js";import{t as de}from"./use-directory-picker-C4p7AgWY.js";var U=s(`book-open-text`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M16 12h2`,key:`7q9ll5`}],[`path`,{d:`M16 8h2`,key:`msurwy`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}],[`path`,{d:`M6 12h2`,key:`32wvfc`}],[`path`,{d:`M6 8h2`,key:`30oboj`}]]),W=e(n(),1),G=new Set([`completed`,`failed`,`canceled`]);function K(){return new Promise(e=>window.setTimeout(e,1200))}async function fe(e,t){let n=[],r=t.wait??K;for(let i=0;i<e.length&&!t.shouldStop?.();i+=1){let a=e[i];if(a)try{await t.grantDirectory(a.rootPath);let o=await t.startRun(a.rootPath);for(t.onRun(o,i,e.length);!G.has(o.status)&&!t.shouldStop?.();)await r(),o=await t.fetchRun(o.id),t.onRun(o,i,e.length);if(n.push(o),o.status===`canceled`||t.shouldStop?.())break}catch(e){if(t.onError?.(e,a,i),t.shouldStop?.())break}}return n}var pe=r();function q(e,t){let n=e.result?.conversationStarter?.trim();if(n)return n;let r=e.result?.suggestions.find(t=>t.id===e.result?.primarySuggestionId)??e.result?.suggestions[0];if(r?.actionPrompt.trim())return r.actionPrompt.trim();let i=e.rootPath.split(/[\\/]/).filter(Boolean).at(-1)??e.rootPath;return t===`zh`?`请先结合 ${i} 当前目录和最近变更,帮我说明这个项目在做什么、现在最值得关注什么,以及建议我下一步从哪里开始。`:`Help me understand ${i}: explain what this project is doing, what matters most right now, and where I should start next.`}var J=i(),me={zh:{eyebrow:`当前理解`,summaryTitle:`我理解的是这样`,summaryQuestion:`可以继续,也可以随时修改。`,matches:`准确,继续`,adjust:`修改`,why:`查看依据`,evidenceHint:`这些内容只用于本次判断。`,current:`当前`,ongoing:`持续`,longTerm:`长期`,correctionTitle:`告诉我正确的重点`,correctionPlaceholder:`你现在真正想推进什么?`,continueWithCorrection:`按此继续`,starterTitle:`从这里开始`,starterHint:`可以修改后直接开始对话。`,startConversation:`进入对话`,cancel:`取消`},en:{eyebrow:`Current understanding`,summaryTitle:`Here’s how I understand it`,summaryQuestion:`Continue, or adjust this anytime.`,matches:`Accurate, continue`,adjust:`Edit`,why:`View sources`,evidenceHint:`These sources are only used for this assessment.`,current:`Current`,ongoing:`Ongoing`,longTerm:`Long term`,correctionTitle:`Tell me the right focus`,correctionPlaceholder:`What do you want to move forward right now?`,continueWithCorrection:`Continue`,starterTitle:`Start here`,starterHint:`Edit this if needed, then start the conversation.`,startConversation:`Start conversation`,cancel:`Cancel`}};function he(e){let t=(0,pe.c)(84),{run:n,language:r,busy:i,error:a,onFinish:o,onStartConversation:s}=e,c=me[r],l=n.result?.lowConfidence===!0,u;t[0]!==r||t[1]!==n?(u=q(n,r),t[0]=r,t[1]=n,t[2]=u):u=t[2];let f=u,[p,m]=(0,W.useState)(l),[h,ee]=(0,W.useState)(l?f:``),[g,te]=(0,W.useState)(!1),[_,ne]=(0,W.useState)(!1),[v,re]=(0,W.useState)(!1),y,b,x,S,C,w,T,E,D,O,k,A;if(t[3]!==i||t[4]!==_||t[5]!==h||t[6]!==p||t[7]!==a||t[8]!==v||t[9]!==o||t[10]!==s||t[11]!==n.result||t[12]!==c.current||t[13]!==c.evidenceHint||t[14]!==c.eyebrow||t[15]!==c.longTerm||t[16]!==c.ongoing||t[17]!==c.summaryTitle||t[18]!==c.why){let e=n.result?.workThreads?.slice(0,3)??[],r=n.result?.suggestions.find(e=>e.id===n.result?.primarySuggestionId)??n.result?.suggestions[0],l;t[31]!==h||t[32]!==o?(l=async e=>{te(!0),await o(e,e===`corrected`?h.trim():void 0)||te(!1)},t[31]=h,t[32]=o,t[33]=l):l=t[33],y=l;let u;t[34]!==h||t[35]!==s?(u=async()=>{let e=h.trim();e&&(ne(!0),await s(e,`corrected`)||ne(!1))},t[34]=h,t[35]=s,t[36]=u):u=t[36],b=u,x=`xopc-understanding-reveal flex min-h-full flex-1 flex-col`,S=`polite`,D=`xopc-reveal-scene mx-auto flex w-full max-w-[40rem] flex-1 flex-col justify-center py-6 text-center sm:py-10`;let f=a?`care`:i||_?`work`:p?`listen`:`decision`;t[37]===f?O=t[38]:(O=(0,J.jsx)(ue,{className:`mx-auto mb-3 size-28`,mood:f}),t[37]=f,t[38]=O),t[39]===c.eyebrow?k=t[40]:(k=(0,J.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.2em] text-accent-fg`,children:c.eyebrow}),t[39]=c.eyebrow,t[40]=k),t[41]===c.summaryTitle?A=t[42]:(A=(0,J.jsx)(`h1`,{className:`mx-auto mt-4 max-w-[34rem] text-3xl font-semibold tracking-[-0.035em] text-fg sm:text-[2.25rem]`,children:c.summaryTitle}),t[41]=c.summaryTitle,t[42]=A),C=`xopc-understanding-hero-card relative mt-8 overflow-hidden rounded-xl border border-edge bg-surface-panel px-6 py-7 text-left shadow-surface sm:px-8`,t[43]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,J.jsx)(`div`,{className:`mb-5 flex size-9 items-center justify-center rounded-xl bg-accent-soft text-accent-fg`,"aria-hidden":!0,children:(0,J.jsx)(B,{className:`size-[1.125rem]`})}),t[43]=w):w=t[43];let m=n.result?.projectSummary;t[44]===m?T=t[45]:(T=(0,J.jsx)(`p`,{className:`relative text-lg font-medium leading-8 text-fg sm:text-xl`,children:m}),t[44]=m,t[45]=T),E=n.result?.currentState||e.length||r?.evidence.length?(0,J.jsxs)(`div`,{className:`relative mt-5 border-t border-edge-subtle pt-4`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex items-center gap-2 text-xs font-medium text-fg-muted hover:text-fg`,onClick:()=>re(_e),children:[c.why,(0,J.jsx)(d,{className:V(`size-3.5 transition-transform`,v&&`rotate-180`)})]}),v?(0,J.jsxs)(`div`,{className:`mt-3 space-y-3 text-xs leading-5 text-fg-muted`,children:[(0,J.jsx)(`p`,{className:`text-fg-subtle`,children:c.evidenceHint}),n.result?.currentState?(0,J.jsx)(`p`,{children:n.result.currentState}):null,e.length?(0,J.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.map(e=>(0,J.jsxs)(`span`,{className:`rounded-full bg-surface-hover px-2.5 py-1`,children:[(0,J.jsx)(`span`,{className:`font-medium text-fg`,children:e.title}),` · `,e.horizon===`current`?c.current:e.horizon===`ongoing`?c.ongoing:c.longTerm]},e.id))}):null,r?.evidence.slice(0,3).map(ge)]}):null]}):null,t[3]=i,t[4]=_,t[5]=h,t[6]=p,t[7]=a,t[8]=v,t[9]=o,t[10]=s,t[11]=n.result,t[12]=c.current,t[13]=c.evidenceHint,t[14]=c.eyebrow,t[15]=c.longTerm,t[16]=c.ongoing,t[17]=c.summaryTitle,t[18]=c.why,t[19]=y,t[20]=b,t[21]=x,t[22]=S,t[23]=C,t[24]=w,t[25]=T,t[26]=E,t[27]=D,t[28]=O,t[29]=k,t[30]=A}else y=t[19],b=t[20],x=t[21],S=t[22],C=t[23],w=t[24],T=t[25],E=t[26],D=t[27],O=t[28],k=t[29],A=t[30];let j;t[46]!==C||t[47]!==w||t[48]!==T||t[49]!==E?(j=(0,J.jsxs)(`div`,{className:C,children:[w,T,E]}),t[46]=C,t[47]=w,t[48]=T,t[49]=E,t[50]=j):j=t[50];let M;t[51]!==y||t[52]!==i||t[53]!==_||t[54]!==h||t[55]!==p||t[56]!==l||t[57]!==b||t[58]!==g||t[59]!==c.adjust||t[60]!==c.cancel||t[61]!==c.continueWithCorrection||t[62]!==c.correctionPlaceholder||t[63]!==c.correctionTitle||t[64]!==c.matches||t[65]!==c.startConversation||t[66]!==c.starterHint||t[67]!==c.starterTitle||t[68]!==c.summaryQuestion?(M=p?(0,J.jsxs)(`div`,{className:`xopc-reveal-calibration mx-auto mt-7 w-full max-w-xl rounded-xl border border-edge bg-surface-panel p-5 text-left shadow-surface`,children:[(0,J.jsx)(`label`,{className:`text-sm font-semibold text-fg`,htmlFor:`understanding-correction`,children:l?c.starterTitle:c.correctionTitle}),l?(0,J.jsx)(`p`,{className:`mt-1.5 text-xs leading-5 text-fg-muted`,children:c.starterHint}):null,(0,J.jsx)(`textarea`,{id:`understanding-correction`,value:h,onChange:e=>ee(e.target.value),placeholder:c.correctionPlaceholder,className:`mt-3 min-h-24 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2.5 text-sm leading-6 text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/15`}),(0,J.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[l?null:(0,J.jsx)(H,{variant:`ghost`,disabled:g,onClick:()=>m(!1),children:c.cancel}),(0,J.jsx)(H,{variant:`primary`,disabled:i||_||!h.trim(),onClick:()=>void b(),children:l?c.startConversation:c.continueWithCorrection})]})]}):(0,J.jsxs)(`div`,{className:`mx-auto mt-8 w-full max-w-sm`,children:[(0,J.jsx)(`p`,{className:`text-base font-medium text-fg`,children:c.summaryQuestion}),(0,J.jsxs)(`div`,{className:`mt-4 flex flex-col gap-3 sm:flex-row-reverse`,children:[(0,J.jsx)(H,{className:`h-11 flex-1`,variant:`primary`,disabled:g,onClick:()=>void y(`confirmed`),children:c.matches}),(0,J.jsx)(H,{className:`h-11 flex-1`,variant:`secondary`,disabled:g,onClick:()=>m(!0),children:c.adjust})]})]}),t[51]=y,t[52]=i,t[53]=_,t[54]=h,t[55]=p,t[56]=l,t[57]=b,t[58]=g,t[59]=c.adjust,t[60]=c.cancel,t[61]=c.continueWithCorrection,t[62]=c.correctionPlaceholder,t[63]=c.correctionTitle,t[64]=c.matches,t[65]=c.startConversation,t[66]=c.starterHint,t[67]=c.starterTitle,t[68]=c.summaryQuestion,t[69]=M):M=t[69];let N;t[70]===a?N=t[71]:(N=a?(0,J.jsx)(`p`,{className:`mt-5 text-sm text-danger`,role:`alert`,children:a}):null,t[70]=a,t[71]=N);let P;t[72]!==j||t[73]!==M||t[74]!==N||t[75]!==D||t[76]!==O||t[77]!==k||t[78]!==A?(P=(0,J.jsxs)(`div`,{className:D,children:[O,k,A,j,M,N]}),t[72]=j,t[73]=M,t[74]=N,t[75]=D,t[76]=O,t[77]=k,t[78]=A,t[79]=P):P=t[79];let F;return t[80]!==x||t[81]!==S||t[82]!==P?(F=(0,J.jsx)(`section`,{className:x,"aria-live":S,children:P}),t[80]=x,t[81]=S,t[82]=P,t[83]=F):F=t[83],F}function ge(e,t){return(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.jsx)(A,{className:`mt-0.5 size-3.5 shrink-0 text-accent-fg`}),(0,J.jsxs)(`span`,{children:[e.path?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`code`,{className:`font-mono text-fg`,children:e.path}),`: `]}):null,e.observation]})]},`${t}-${e.path??e.observation}`)}function _e(e){return!e}var ve={folder:k,file:O,recent:b,git:A,calendar:l,task:j,note:U,mail:C,message:N,service:L,data:g};function ye(e){let t=(0,pe.c)(28),{signals:n,ariaLabel:r,centerLabel:i}=e,a,o,s,c,l,u,d,f;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=n.slice(0,3);a=Math.max(0,n.length-e.length),c=`xopc-source-convergence mx-auto mt-9 w-full max-w-[34rem] overflow-hidden rounded-xl border border-edge bg-surface-panel px-5 py-6 shadow-surface sm:px-6`,l=`img`,u=r;let p;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,J.jsx)(ue,{className:`size-24`,mood:`work`}),t[11]=p):p=t[11],t[12]===i?d=t[13]:(d=(0,J.jsxs)(`div`,{className:`flex flex-col items-center text-center`,"aria-hidden":!0,children:[p,(0,J.jsx)(`span`,{className:`mt-3 text-[11px] font-semibold tracking-[0.16em] text-fg-muted`,children:i})]}),t[12]=i,t[13]=d),t[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,J.jsx)(`div`,{className:`mt-5 h-1 overflow-hidden rounded-full bg-surface-hover`,"aria-hidden":!0,children:(0,J.jsx)(`span`,{className:`xopc-source-convergence-progress block h-full w-2/5 rounded-full bg-accent`})}),t[14]=f):f=t[14],o=`mt-5 divide-y divide-edge-subtle border-y border-edge-subtle`,s=e.map(be),t[0]=r,t[1]=i,t[2]=n,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10];let p;t[15]!==o||t[16]!==s?(p=(0,J.jsx)(`div`,{className:o,children:s}),t[15]=o,t[16]=s,t[17]=p):p=t[17];let m;t[18]===a?m=t[19]:(m=a>0?(0,J.jsxs)(`p`,{className:`mt-3 text-center text-xs text-fg-muted`,"aria-hidden":!0,children:[`+`,a]}):null,t[18]=a,t[19]=m);let h;return t[20]!==c||t[21]!==l||t[22]!==u||t[23]!==d||t[24]!==f||t[25]!==p||t[26]!==m?(h=(0,J.jsxs)(`div`,{className:c,role:l,"aria-label":u,children:[d,f,p,m]}),t[20]=c,t[21]=l,t[22]=u,t[23]=d,t[24]=f,t[25]=p,t[26]=m,t[27]=h):h=t[27],h}function be(e){let t=ve[e.kind];return(0,J.jsxs)(`div`,{className:`flex min-h-12 items-center gap-3 py-2.5 text-left`,"aria-hidden":!0,children:[(0,J.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-lg bg-surface-hover text-fg-muted`,children:(0,J.jsx)(t,{className:`size-4`})}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,title:e.detail,children:[(0,J.jsx)(`span`,{className:`block truncate text-sm font-medium text-fg`,children:e.label}),e.meta?(0,J.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-fg-muted`,children:e.meta}):null]}),(0,J.jsx)(`span`,{className:`size-1.5 shrink-0 rounded-full bg-accent`})]},e.id)}var xe=[`gmail`,`googlecalendar`,`googledrive`,`github`,`linear`];function Y({toolkit:e,displayName:t,description:n,category:r,mode:i,bootstrapWindowDays:a,logoFileName:o=e}){return{id:`composio-${e}`,version:`sessions-v1`,displayName:t,description:n,category:r,kind:`composio`,source:`registry`,capabilities:[`tools`,`auth.oauth`,`events`,`context`,`memory_source`],benefits:[`understand`,`act`],understanding:{mode:i,bootstrapWindowDays:a,readOnly:!0},tags:[`composio`,e,`verified`],branding:{logoUrl:`/connector-icons/${o}.svg`,source:`builtin`},verificationLevel:`verified`,auth:{mode:`oauth`,provider:`composio`},setup:{},runtime:{type:`composio`,toolkit:e,role:`toolkit`},integrationStrategy:{lane:`composio`,workload:`long_tail`,preferred:!0}}}var Se=[Y({toolkit:`gmail`,displayName:`Gmail`,description:`Find and understand recent email, then draft or send with your approval.`,category:`automation`,mode:`activity`,bootstrapWindowDays:30}),Y({toolkit:`googlecalendar`,displayName:`Google Calendar`,description:`Understand your schedule and work with approved calendar events.`,category:`automation`,mode:`activity`,bootstrapWindowDays:90,logoFileName:`google-calendar`}),Y({toolkit:`googledrive`,displayName:`Google Drive`,description:`Search and understand approved files in Google Drive.`,category:`data`,mode:`inventory`,bootstrapWindowDays:90,logoFileName:`google-drive`}),Y({toolkit:`github`,displayName:`GitHub`,description:`Understand repositories, issues, pull requests, and reviews.`,category:`code`,mode:`activity`,bootstrapWindowDays:90}),Y({toolkit:`linear`,displayName:`Linear`,description:`Understand and work with Linear issues and projects.`,category:`code`,mode:`activity`,bootstrapWindowDays:60})];function Ce(e){return e.runtime.type===`composio`&&e.runtime.role===`toolkit`?e.runtime.toolkit.toLocaleLowerCase():``}function we(e){let t=new Map(xe.map((e,t)=>[e,t]));return e.filter(e=>e.understanding!=null&&Ce(e)).sort((e,n)=>(t.get(Ce(e))??2**53-1)-(t.get(Ce(n))??2**53-1)||e.displayName.localeCompare(n.displayName))}function Te(e,t){let n=new Map(e.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);return we([...n.values()])}var Ee=2500;function De(e){return!!(e?.enabled&&(e.status===`connected`||e.connectionStatus===`connected`||e.authStatus===`connected`))}function Oe(e){return e===`gmail`?`mail`:e===`googlecalendar`?`calendar`:e===`googledrive`?`data`:e===`github`?`git`:e===`linear`?`task`:`service`}function ke(e){let t=(0,pe.c)(59),{busy:n,onBack:r,onContinue:i,onSkip:a,onConnectedSignalsChange:o}=e,s=oe(Pe),l=ae(s),u=l.onboarding.workDiscovery,f=l.connectorsSettings,[m,ee]=(0,W.useState)(Ne),g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],t[0]=g):g=t[0];let[te,_]=(0,W.useState)(g),[ne,v]=(0,W.useState)(!0),[re,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(!1),[S,C]=(0,W.useState)(null),w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=async()=>{let e=await ce();return _(e),e},t[1]=w):w=t[1];let T=w,E,D;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{let e=!1,t=window.setTimeout(()=>{e||v(!1)},Ee);return ce().then(t=>{e||_(t)}).catch(t=>{e||y(t instanceof Error?t.message:String(t))}).finally(()=>{e||v(!1),window.clearTimeout(t)}),le({page:1,pageSize:24,verification:`verified`}).then(t=>{e||ee(Te(Se,t.connectors))}).catch(Me),()=>{e=!0,window.clearTimeout(t)}},D=[],t[2]=E,t[3]=D):(E=t[2],D=t[3]),(0,W.useEffect)(E,D);let O;t[4]===te?O=t[5]:(O=new Map(te.map(je)),t[4]=te,t[5]=O);let k=O,A;if(t[6]!==m||t[7]!==k){let e;t[9]===k?e=t[10]:(e=e=>{if(!De(k.get(e.id)))return[];let t=Ce(e);return[{id:e.id,label:e.displayName,kind:Oe(t)}]},t[9]=k,t[10]=e),A=m.flatMap(e),t[6]=m,t[7]=k,t[8]=A}else A=t[8];let j=A,N,L;t[11]!==j||t[12]!==o?(N=()=>{o(j)},L=[j,o],t[11]=j,t[12]=o,t[13]=N,t[14]=L):(N=t[13],L=t[14]),(0,W.useEffect)(N,L);let z;t[15]!==m||t[16]!==b?(z=b?m:m.slice(0,3),t[15]=m,t[16]=b,t[17]=z):z=t[17];let B=z,ie=j.length,V;t[18]!==m.length||t[19]!==f||t[20]!==u.connected||t[21]!==u.noWorkServices||t[22]!==u.showFewerServices||t[23]!==u.showMoreServices||t[24]!==b||t[25]!==k||t[26]!==ne||t[27]!==s||t[28]!==T||t[29]!==x||t[30]!==C||t[31]!==B?(V=s===`zh`?(0,J.jsx)(c,{onChanged:async()=>{await T()}}):(0,J.jsxs)(J.Fragment,{children:[B.length?(0,J.jsx)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-xl border border-edge-subtle bg-surface-base/55`,children:B.map(e=>{let t=De(k.get(e.id));return(0,J.jsxs)(`article`,{className:`flex min-h-[4.75rem] items-center gap-3 px-3 py-3 sm:px-4`,children:[(0,J.jsx)(P,{connector:e,size:`sm`}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`h3`,{className:`truncate text-sm font-semibold text-fg`,children:e.displayName}),(0,J.jsx)(`p`,{className:`mt-1 line-clamp-1 text-xs text-fg-muted`,children:e.description})]}),t?(0,J.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1.5 text-xs font-medium text-success`,children:[(0,J.jsx)(h,{className:`size-4`}),u.connected]}):ne?(0,J.jsx)(se,{className:`h-8 w-[4.5rem] shrink-0 rounded-lg`,"aria-label":f.loading}):(0,J.jsxs)(H,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 px-3 text-xs`,onClick:()=>C(F(e)),children:[(0,J.jsx)(R,{className:`size-3.5`}),f.connect]})]},e.id)})}):(0,J.jsx)(`p`,{className:`rounded-xl border border-dashed border-edge px-4 py-8 text-center text-sm text-fg-muted`,children:u.noWorkServices}),m.length>3?(0,J.jsxs)(`button`,{type:`button`,className:`mx-auto mt-3 flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-accent-fg hover:underline`,onClick:()=>x(Ae),children:[b?(0,J.jsx)(p,{className:`size-3.5`}):(0,J.jsx)(d,{className:`size-3.5`}),b?u.showFewerServices:u.showMoreServices]}):null]}),t[18]=m.length,t[19]=f,t[20]=u.connected,t[21]=u.noWorkServices,t[22]=u.showFewerServices,t[23]=u.showMoreServices,t[24]=b,t[25]=k,t[26]=ne,t[27]=s,t[28]=T,t[29]=x,t[30]=C,t[31]=B,t[32]=V):V=t[32];let ue;t[33]!==u.connectorLoadFailed||t[34]!==re?(ue=re?(0,J.jsxs)(`p`,{className:`mt-3 text-center text-xs text-danger`,role:`alert`,children:[u.connectorLoadFailed,`: `,re]}):null,t[33]=u.connectorLoadFailed,t[34]=re,t[35]=ue):ue=t[35];let de;t[36]===n?de=t[37]:(de=n?(0,J.jsx)(M,{className:`size-4 animate-spin`}):null,t[36]=n,t[37]=de);let U;t[38]!==n||t[39]!==u.startUnderstanding||t[40]!==i||t[41]!==de?(U=(0,J.jsxs)(H,{type:`button`,variant:`primary`,className:`h-11 flex-1`,disabled:n,onClick:i,children:[de,u.startUnderstanding]}),t[38]=n,t[39]=u.startUnderstanding,t[40]=i,t[41]=de,t[42]=U):U=t[42];let G;t[43]!==n||t[44]!==u.back||t[45]!==r?(G=(0,J.jsx)(H,{type:`button`,variant:`secondary`,className:`h-11 flex-1`,disabled:n,onClick:r,children:u.back}),t[43]=n,t[44]=u.back,t[45]=r,t[46]=G):G=t[46];let K;t[47]!==U||t[48]!==G?(K=(0,J.jsxs)(`div`,{className:`mt-7 flex flex-col gap-3 sm:flex-row-reverse`,children:[U,G]}),t[47]=U,t[48]=G,t[49]=K):K=t[49];let fe;t[50]!==n||t[51]!==u.skipAndEnter||t[52]!==a?(fe=(0,J.jsx)(`button`,{type:`button`,className:`mx-auto mt-6 text-sm text-fg-muted hover:text-fg hover:underline`,disabled:n,onClick:a,children:u.skipAndEnter}),t[50]=n,t[51]=u.skipAndEnter,t[52]=a,t[53]=fe):fe=t[53];let q;return t[54]!==f||t[55]!==S||t[56]!==T||t[57]!==C?(q=S?(0,J.jsx)(I,{draft:S,onChange:C,onClose:()=>C(null),t:f,onInstalled:async()=>{await T(),C(null)}}):null,t[54]=f,t[55]=S,t[56]=T,t[57]=C,t[58]=q):q=t[58],(0,J.jsxs)(`section`,{className:`mx-auto flex w-full max-w-[42rem] flex-1 flex-col`,"aria-labelledby":`work-discovery-connectors-title`,children:[(0,J.jsxs)(`div`,{className:`text-center`,children:[(0,J.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-accent-fg`,children:u.connectorStepEyebrow}),(0,J.jsx)(`h1`,{id:`work-discovery-connectors-title`,className:`mt-2 text-2xl font-semibold tracking-tight text-fg`,children:u.connectorStepTitle}),(0,J.jsx)(`p`,{className:`mx-auto mt-3 max-w-[36rem] text-[0.95rem] leading-7 text-fg-muted`,children:u.connectorStepSubtitle})]}),(0,J.jsxs)(`div`,{className:`mt-7 rounded-xl border border-edge bg-surface-panel p-3 shadow-surface sm:p-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-1 pb-3`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:u.popularWorkServices}),(0,J.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:u.connectorsOptional})]}),ie?(0,J.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1.5 rounded-full bg-success-soft px-2.5 py-1 text-xs font-medium text-success`,children:[(0,J.jsx)(h,{className:`size-3.5`}),u.connectedCount.replace(`{{count}}`,String(ie))]}):null]}),V,ue]}),K,fe,q]})}function Ae(e){return!e}function je(e){return[e.connectorId,e]}function Me(){}function Ne(){return we(Se)}function Pe(e){return e.language}var Fe=new Set([`local-recent-files`,`chromium-bookmarks`,`apple-notes`,`apple-mail`,`apple-calendar`,`apple-reminders`]);function Ie(e){return new Set(e.filter(e=>e.availability===`available`&&Fe.has(e.id)).map(e=>e.id))}var Le=t({WorkDiscoveryPage:()=>Ve}),Re=[`folder_structure`,`recent_progress`,`next_steps`];function X(e){return e instanceof Error?e.message:String(e)}function ze(e){return e.replaceAll(`\\`,`/`).split(`/`).filter(Boolean).slice(-2).join(`/`)||e}function Be(e,t){return e.replace(`{{count}}`,String(t))}function Ve({embedded:e=!1,onRequestClose:t,onNavigateAway:n}={}){let r=oe(e=>e.language),i=ae(r).onboarding.workDiscovery,s=ae(r).chat.workingDirectory,c=o(),[l]=a(),p=l.get(`new`)===`1`,[h,g]=(0,W.useState)(`loading`),[b,C]=(0,W.useState)(null),[A,j]=(0,W.useState)(null),[N,P]=(0,W.useState)(null),[F,I]=(0,W.useState)(!1),[L,R]=(0,W.useState)(null),[B,ce]=(0,W.useState)(!1),[le,U]=(0,W.useState)([]),[G,K]=(0,W.useState)(()=>new Set),[pe,q]=(0,W.useState)([]),[me,ge]=(0,W.useState)(!1),[_e,ve]=(0,W.useState)({current:0,total:0}),[be,xe]=(0,W.useState)([]),[Y,Se]=(0,W.useState)(()=>new Set),[Ce,we]=(0,W.useState)([]),Te=(0,W.useRef)(!1),Ee={recent_documents:`recent`,calendar:`calendar`,tasks:`task`,notes:`note`,mail:`mail`,messages:`message`,code_activity:`git`,files:`file`},De=N?.snapshot?.projectKind??b?.projectKind,Oe=De===`coding`?i.codingProject:De===`general`?i.generalProject:De===`unknown`?i.unknownProject:null,Ae=(N?.snapshot?.files??[]).slice(0,4).map(e=>({id:`snapshot-file:${e.relativePath}`,label:ze(e.relativePath),kind:e.source===`git_change`?`recent`:`file`,meta:e.source===`git_change`?i.sourceSignals.changedFile:e.source===`document`?i.sourceSignals.contextFile:i.sourceSignals.structureFile,detail:e.relativePath})),je=N?.rootPath??b?.canonicalRootPath,Me=Ae.length===0?(b?.fingerprint.recentAreas??[]).slice(0,2).map(e=>({id:`recent-area:${e}`,label:e,kind:`recent`,meta:i.sourceSignals.recentArea,detail:e})):[],Ne=Ae.length===0?Me.length>0?Me:[{id:`project-files`,label:i.sourceSignals.projectFiles,kind:`file`,meta:i.sourceSignals.scanningFiles},{id:`recent-changes`,label:i.sourceSignals.recentChanges,kind:`recent`,meta:i.sourceSignals.checkingChanges}]:[],Pe=N?.snapshot?.sampledPathCount,Fe=[Oe,Pe==null?null:Be(i.sourceSignals.filesScanned,Pe)].filter(e=>!!e).join(` · `),Le=N?.snapshot?.branch??b?.fingerprint.branch,Ve=N?.snapshot?.changedPathCount??b?.fingerprint.changedFileCount,He=[{id:`work-folder`,label:je?ze(je):i.sourceSignals.workFolder,kind:`folder`,...Fe?{meta:Fe}:{},...je?{detail:je}:{}},...Ae,...Ne,{id:`git-state`,label:Le??i.sourceSignals.gitState,kind:`git`,...Ve==null?{}:{meta:Be(i.sourceSignals.changedFiles,Ve)},...Le?{detail:`Git · ${Le}`}:{}},...be.filter(e=>Y.has(e.id)).map(e=>({id:e.id,label:e.displayName,kind:Ee[e.category]??`data`})),...Ce],Ue=e=>{Se(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};(0,W.useEffect)(()=>{let e=!1;return window.electronAPI?.understandingSources?.catalog().then(t=>{e||(xe(t),Se(Ie(t)))}),()=>{e=!0}},[]);let Z=(0,W.useCallback)(e=>{E.getState().updateDirectoryRun(e),P(e),e.status===`completed`?g(e.feedback?.recognitionDecision===`confirmed`?`recommendation`:`recognition`):e.status===`failed`||e.status===`canceled`?g(`error`):g(`running`)},[]),We=async()=>{I(!0),R(null);try{let e=await w();if(j(e.processingTarget),!e.candidates.length){R(i.noCandidates);return}U(e.candidates),K(new Set([e.candidates[0].rootPath])),g(`candidates`)}catch(e){R(X(e))}finally{I(!1)}},Ge=e=>{K(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},Ke=(0,W.useCallback)((e,t,n)=>{E.getState().updateDirectoryRun(e),P(e),ve({current:t+1,total:n}),q(n=>{let r=[...n];return r[t]=e,r}),g(`running`)},[]),qe=(0,W.useCallback)(e=>{q(t=>t.map(t=>t?.id===e.id?e:t))},[]),Je=async()=>{let e=le.filter(e=>G.has(e.rootPath));if(!e.length)return;I(!0),R(null),q([]),ve({current:1,total:e.length}),ge(!0),Te.current=!1;let t=!1,n=A?.remoteModel?`remote_allowed`:`local_only`;try{let r=await fe(e,{grantDirectory:e=>T(e,n),startRun:ne,fetchRun:S,shouldStop:()=>Te.current,onRun:(e,r,i)=>{Ke(e,r,i),t||(t=!0,E.getState().collectSources(e.id,[...Y],n))},onError:(t,n,r)=>{ve({current:r+1,total:e.length}),R(i.folderAnalysisFailed.replace(`{{folder}}`,n.displayName).replace(`{{error}}`,X(t)))}});if(Te.current)return;let a=r.find(e=>e.status===`completed`)??r.at(-1);a?Z(a):g(`candidates`)}catch(e){R(X(e)),g(`candidates`)}finally{ge(!1),I(!1)}},Q=de({onPicked:(0,W.useCallback)(async e=>{I(!0),R(null);try{let t=await _(e);C(t),j({provider:t.provider,remoteModel:t.remoteModel}),g(`consent`)}catch(e){R(X(e)),g(`intro`)}finally{I(!1)}},[])});(0,W.useEffect)(()=>{if(!p){let e=E.getState().directoryRun;if(e){Z(e);return}}let e=!1,n=window.setTimeout(()=>{e||g(`intro`)},4e3);return te().then(async({enabled:r,state:i})=>{if(!e){if(!r){window.clearTimeout(n),t?t():c(`/chat`,{replace:!0});return}if(!p&&i.activeRunId)try{let t=await S(i.activeRunId);e||(window.clearTimeout(n),Z(t));return}catch{}e||(window.clearTimeout(n),g(`intro`))}}).catch(t=>{window.clearTimeout(n),e||(R(X(t)),g(`intro`))}),()=>{e=!0,window.clearTimeout(n)}},[Z,c,t,p]),(0,W.useEffect)(()=>{if(!N||h!==`running`||me)return;let e=!1,t=async()=>{try{let t=await S(N.id);e||Z(t)}catch{}},n=window.setInterval(()=>void t(),1200),r=e=>{let n=e.detail;(!n?.runId||n.runId===N.id)&&t()};for(let e of[`work-discovery-progress`,`work-discovery-completed`,`work-discovery-failed`,`work-discovery-canceled`])window.addEventListener(e,r);return()=>{e=!0,window.clearInterval(n);for(let e of[`work-discovery-progress`,`work-discovery-completed`,`work-discovery-failed`,`work-discovery-canceled`])window.removeEventListener(e,r)}},[Z,me,h,N]);let Ye=async()=>{I(!0);try{await re()}finally{t?t():c(`/chat`,{replace:!0})}},Xe=async()=>{if(b){I(!0),R(null),q([]),ve({current:0,total:0});try{let e=b.remoteModel?`remote_allowed`:`local_only`;await T(b.canonicalRootPath,e);let t=await ne(b.canonicalRootPath);Z(t),E.getState().collectSources(t.id,[...Y],e)}catch(e){R(X(e)),g(`consent`)}finally{I(!1)}}},Ze=(e,t,r=!1)=>{let i=new URLSearchParams;t&&i.set(`draft`,t),t&&r&&i.set(`autoSend`,`1`);let a=i.toString();n?.(),c(`/chat/${encodeURIComponent(e)}${a?`?${a}`:``}`)},Qe=e=>{P(e),ce(!1),e.status===`completed`?g(e.feedback?.recognitionDecision===`confirmed`?`recommendation`:`recognition`):e.status===`failed`||e.status===`canceled`?g(`error`):g(`running`)},$e=async()=>{if(!N)return;Te.current=!0;let e=await x(N.id);Z(e)},et=()=>{n?.(),c(`/chat`)},tt=()=>{if(b){Xe();return}Je()},nt=()=>{g(b?`consent`:le.length?`candidates`:`intro`)},rt=async(e,t)=>{if(!N)return;await D(N.id,e.id).catch(()=>{});let n=t?`${r===`zh`?`先帮我评估这个方向,不要修改文件:`:`First assess this direction without changing files:`}\n\n${e.actionPrompt}`:e.actionPrompt;Ze(N.conversationId,n)},it=async(e,t)=>{if(!N)return!1;I(!0),R(null);try{let n=await v(N.id,e,t);return P(n),qe(n),g(`recommendation`),!0}catch(e){return R(X(e)),!1}finally{I(!1)}},at=async(e,t)=>{if(!N)return!1;I(!0),R(null);try{let n=await v(N.id,t,t===`corrected`?e:void 0);return P(n),qe(n),Ze(N.conversationId,e,!0),!0}catch(e){return R(X(e)),!1}finally{I(!1)}},$=N?.result?.suggestions.find(e=>e.id===N.result?.primarySuggestionId)??N?.result?.suggestions[0],ot=N?.result?.suggestions.filter(e=>e.id!==$?.id)??[],st=e=>e===`command`?i.riskCommand:e===`file_write`?i.riskFileWrite:i.riskAnalysis,ct=pe.filter(e=>e?.status===`completed`),lt=e&&h===`candidates`,ut=ct.length>1?(0,J.jsxs)(`div`,{className:`mt-6 rounded-xl border border-edge bg-surface-panel p-2`,children:[(0,J.jsx)(`p`,{className:`px-2 pb-2 text-xs font-medium text-fg-muted`,children:i.analysisResults}),(0,J.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:ct.map(e=>{let t=le.find(t=>t.rootPath===e.rootPath)?.displayName??e.rootPath.split(/[\\/]/).filter(Boolean).at(-1)??e.rootPath;return(0,J.jsx)(`button`,{type:`button`,className:`rounded-lg px-3 py-2 text-sm font-medium transition ${e.id===N?.id?`bg-accent text-on-accent`:`bg-surface-hover text-fg hover:bg-surface-active`}`,onClick:()=>Qe(e),children:t},e.id)})})]}):null;return(0,J.jsxs)(`div`,{className:e?`xopc-work-discovery-experience relative flex h-full min-h-0 flex-1 flex-col overflow-hidden`:`xopc-work-discovery-experience relative flex min-h-full flex-1 flex-col`,children:[(0,J.jsxs)(`main`,{className:e?`app-main-surface xopc-work-discovery-stage xopc-onboarding-scroll relative z-10 mx-auto my-3 flex min-h-0 w-[calc(100%_-_1.5rem)] ${h===`recognition`?`max-w-[58rem]`:`max-w-[46rem]`} flex-1 flex-col rounded-xl bg-surface-panel px-5 py-7 shadow-surface sm:my-4 sm:w-[calc(100%_-_2rem)] sm:px-8 sm:py-9 ${lt?`overflow-hidden`:`overflow-y-auto`}`:`app-main-surface mx-auto my-4 flex w-[calc(100%_-_2rem)] ${h===`recognition`?`max-w-[58rem]`:`max-w-[40rem]`} flex-1 flex-col rounded-xl bg-surface-panel px-5 py-10 shadow-surface sm:px-8 sm:py-16`,children:[h===`intro`?(0,J.jsx)(`div`,{className:V(`flex items-center justify-center`,e?`mb-7 sm:mb-9`:`mb-10`),children:(0,J.jsx)(ue,{className:`size-28`,mood:`curious`})}):null,h===`loading`?(0,J.jsxs)(`section`,{className:`mx-auto flex min-h-[32rem] w-full max-w-md flex-1 flex-col items-center justify-center text-center`,"aria-busy":!0,"aria-label":i.loading,children:[(0,J.jsx)(se,{className:`size-14 rounded-xl`}),(0,J.jsx)(se,{className:`mt-7 h-5 w-44 rounded-full`}),(0,J.jsx)(se,{className:`mt-3 h-3.5 w-64 max-w-full rounded-full`})]}):null,h===`intro`?(0,J.jsxs)(`section`,{className:`flex flex-1 flex-col text-center`,"aria-labelledby":`work-discovery-title`,children:[(0,J.jsxs)(`div`,{className:`mx-auto max-w-[36rem]`,children:[(0,J.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.16em] text-accent-fg`,children:i.sourceStepEyebrow}),(0,J.jsx)(`h1`,{id:`work-discovery-title`,className:`text-2xl font-semibold tracking-tight text-fg`,children:i.title}),(0,J.jsx)(`p`,{className:`mx-auto mt-3 max-w-[34rem] text-[0.95rem] leading-7 text-fg-muted`,children:i.subtitle})]}),(0,J.jsxs)(`div`,{className:`mx-auto mt-9 w-full max-w-md`,children:[be.length?(0,J.jsxs)(`div`,{className:`mb-5 overflow-hidden rounded-xl border border-edge bg-surface-panel text-left shadow-surface`,children:[(0,J.jsxs)(`div`,{className:`px-4 py-3.5`,children:[(0,J.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:i.localSourcesTitle}),(0,J.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:i.localSourcesSubtitle})]}),(0,J.jsx)(`div`,{className:`grid border-t border-edge-subtle sm:grid-cols-2`,children:be.map(e=>{let t=Y.has(e.id);return(0,J.jsxs)(`button`,{type:`button`,className:V(`flex min-h-12 items-center justify-between gap-3 border-b border-edge-subtle px-4 py-3 text-left text-sm transition-colors last:border-b-0 sm:[&:nth-last-child(-n+2)]:border-b-0 sm:[&:nth-child(odd)]:border-r`,t?`bg-accent-soft/55 text-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),"aria-pressed":t,onClick:()=>Ue(e.id),children:[(0,J.jsx)(`span`,{className:`truncate font-medium`,children:e.displayName}),(0,J.jsx)(`span`,{className:V(`flex size-5 shrink-0 items-center justify-center rounded-full border transition-colors`,t?`border-accent bg-accent text-on-accent`:`border-edge`),children:t?(0,J.jsx)(u,{className:`size-3`,"aria-hidden":!0}):null})]},e.id)})})]}):null,(0,J.jsxs)(H,{type:`button`,variant:`primary`,className:`h-12 w-full gap-2`,onClick:()=>void We(),disabled:F||Q.picking,children:[F?(0,J.jsx)(M,{className:`size-4 animate-spin`}):(0,J.jsx)(z,{className:`size-4`}),i.quickScan]}),(0,J.jsxs)(H,{type:`button`,variant:`secondary`,className:`mt-3 h-11 w-full gap-2`,onClick:Q.pick,disabled:F||Q.picking,children:[Q.picking?(0,J.jsx)(M,{className:`size-4 animate-spin`}):(0,J.jsx)(k,{className:`size-4`}),i.chooseFolderManually]}),(0,J.jsxs)(`div`,{className:`mt-4 flex items-start justify-center gap-2 text-xs leading-5 text-fg-muted`,children:[(0,J.jsx)(z,{className:`mt-0.5 size-4 shrink-0 text-accent-fg`}),(0,J.jsx)(`span`,{children:i.quickScanNote})]}),L?(0,J.jsx)(`p`,{className:`mt-4 text-sm text-danger`,role:`alert`,children:L}):null]}),(0,J.jsx)(`button`,{type:`button`,className:`mx-auto mt-auto pt-10 text-sm text-fg-muted hover:text-fg hover:underline`,onClick:()=>void Ye(),disabled:F,children:i.skip})]}):null,h===`candidates`?(0,J.jsxs)(`section`,{className:e?`flex h-full min-h-0 flex-col`:void 0,"aria-labelledby":`work-discovery-candidates-title`,children:[(0,J.jsxs)(`div`,{className:e?`shrink-0 text-center`:`text-center`,children:[(0,J.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.16em] text-accent-fg`,children:i.sourceStepEyebrow}),(0,J.jsx)(`h1`,{id:`work-discovery-candidates-title`,className:`text-2xl font-semibold tracking-tight text-fg`,children:i.candidatesTitle}),(0,J.jsx)(`p`,{className:`mt-3 text-[0.95rem] leading-7 text-fg-muted`,children:i.candidatesSubtitle})]}),(0,J.jsx)(`div`,{className:e?`xopc-onboarding-scroll mt-5 min-h-0 flex-1 space-y-2 overflow-y-auto overscroll-contain pr-1`:`mt-7 space-y-2`,children:le.map((e,t)=>{let n=G.has(e.rootPath);return(0,J.jsxs)(`button`,{type:`button`,"aria-pressed":n,className:`flex w-full items-start gap-3 rounded-xl border p-4 text-left transition ${n?`border-accent bg-accent-soft/45`:`border-edge bg-surface-panel hover:border-edge-strong`}`,onClick:()=>Ge(e.rootPath),children:[(0,J.jsx)(`span`,{className:`mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-md border ${n?`border-accent bg-accent text-on-accent`:`border-edge bg-surface-base text-transparent`}`,children:(0,J.jsx)(u,{className:`size-3.5`})}),(0,J.jsx)(k,{className:`mt-0.5 size-5 shrink-0 text-accent-fg`}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`truncate text-sm font-medium text-fg`,children:e.displayName}),t===0?(0,J.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[0.7rem] font-medium text-accent-fg`,children:i.recommendedCandidate}):null]}),(0,J.jsx)(`span`,{className:`mt-1 block truncate font-mono text-xs text-fg-muted`,children:e.rootPath}),(0,J.jsxs)(`span`,{className:`mt-2 flex flex-wrap gap-x-3 gap-y-1 text-xs text-fg-muted`,children:[(0,J.jsx)(`span`,{children:e.projectKind===`coding`?i.codingProject:e.projectKind===`general`?i.generalProject:i.unknownProject}),e.branch?(0,J.jsx)(`span`,{children:i.branchValue.replace(`{{branch}}`,e.branch)}):null,e.changedFileCount>0?(0,J.jsx)(`span`,{children:i.changedFiles.replace(`{{count}}`,String(e.changedFileCount))}):null]})]})]},e.id)})}),(0,J.jsxs)(`div`,{className:e?`shrink-0 border-t border-edge-subtle pt-4`:void 0,children:[(0,J.jsxs)(`div`,{className:`${e?``:`mt-5 `}flex items-start gap-2 rounded-xl bg-surface-hover/70 px-4 py-3 text-xs leading-5 text-fg-muted`,children:[(0,J.jsx)(z,{className:`mt-0.5 size-4 shrink-0 text-accent-fg`}),(0,J.jsxs)(`span`,{children:[i.multiFolderPrivacyNote,` `,A?.remoteModel?i.providerDisclosure.replace(`{{provider}}`,A.provider):i.localDisclosure]})]}),L?(0,J.jsx)(`p`,{className:`mt-3 text-sm text-danger`,role:`alert`,children:L}):null,(0,J.jsxs)(`div`,{className:`${e?`mt-4`:`mt-7`} flex flex-col gap-3 sm:flex-row-reverse`,children:[(0,J.jsx)(H,{type:`button`,variant:`primary`,className:`h-11 flex-1`,disabled:F||G.size===0,onClick:()=>g(`connectors`),children:i.continueToConnectors}),(0,J.jsx)(H,{type:`button`,variant:`secondary`,className:`h-11 flex-1`,disabled:F,onClick:Q.pick,children:i.chooseFolderManually})]}),(0,J.jsx)(`button`,{type:`button`,className:`${e?`mt-3`:`mt-6`} mx-auto block text-sm text-fg-muted hover:text-fg hover:underline`,onClick:()=>g(`intro`),children:i.back})]})]}):null,h===`consent`&&b?(0,J.jsxs)(`section`,{"aria-labelledby":`work-discovery-consent-title`,children:[(0,J.jsxs)(`div`,{className:`text-center`,children:[(0,J.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.16em] text-accent-fg`,children:i.sourceStepEyebrow}),(0,J.jsx)(`h1`,{id:`work-discovery-consent-title`,className:`text-2xl font-semibold tracking-tight text-fg`,children:i.selectedTitle}),(0,J.jsx)(`p`,{className:`mt-3 text-[0.95rem] leading-7 text-fg-muted`,children:i.selectedSubtitle})]}),(0,J.jsxs)(`div`,{className:`mt-8 overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-surface`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-3 border-b border-edge-subtle px-4 py-3.5`,children:[(0,J.jsx)(k,{className:`size-5 shrink-0 text-accent-fg`}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,children:b.displayName}),(0,J.jsx)(`p`,{className:`truncate font-mono text-xs text-fg-muted`,children:b.canonicalRootPath})]}),(0,J.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2.5 py-1 text-xs font-medium text-accent-fg`,children:b.projectKind===`coding`?i.codingProject:b.projectKind===`general`?i.generalProject:i.unknownProject})]}),(0,J.jsxs)(`div`,{className:`grid gap-4 border-b border-edge-subtle bg-surface-base/35 p-4 sm:grid-cols-2`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-xs font-medium text-fg-muted`,children:i.localFingerprint}),(0,J.jsx)(`p`,{className:`mt-1 text-sm text-fg`,children:b.fingerprint.branch?i.branchValue.replace(`{{branch}}`,b.fingerprint.branch):i.noGitBranch})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-xs font-medium text-fg-muted`,children:i.recentActivity}),(0,J.jsx)(`p`,{className:`mt-1 text-sm text-fg`,children:i.changedFiles.replace(`{{count}}`,String(b.fingerprint.changedFileCount))})]}),b.fingerprint.recentAreas.length>0?(0,J.jsxs)(`div`,{className:`sm:col-span-2`,children:[(0,J.jsx)(`p`,{className:`text-xs font-medium text-fg-muted`,children:i.recentAreas}),(0,J.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:b.fingerprint.recentAreas.map(e=>(0,J.jsx)(`code`,{className:`rounded-md bg-surface-hover px-2 py-1 text-xs text-fg`,children:e},e))})]}):null]}),(0,J.jsxs)(`div`,{className:`divide-y divide-edge-subtle px-4`,children:[(0,J.jsxs)(`div`,{className:`flex gap-3 py-4`,children:[(0,J.jsx)(O,{className:`mt-0.5 size-4 shrink-0 text-fg-muted`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:i.willRead}),(0,J.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:i.willReadValue})]})]}),(0,J.jsxs)(`div`,{className:`flex gap-3 py-4`,children:[(0,J.jsx)(ie,{className:`mt-0.5 size-4 shrink-0 text-fg-muted`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:i.willIgnore}),(0,J.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:i.willIgnoreValue})]})]}),(0,J.jsxs)(`div`,{className:`flex gap-3 py-4`,children:[(0,J.jsx)(z,{className:`mt-0.5 size-4 shrink-0 text-accent-fg`}),(0,J.jsx)(`p`,{className:`text-sm leading-6 text-fg-muted`,children:b.remoteModel?i.providerDisclosure.replace(`{{provider}}`,b.provider):i.localDisclosure})]})]})]}),L?(0,J.jsx)(`p`,{className:`mt-4 text-sm text-danger`,role:`alert`,children:L}):null,(0,J.jsxs)(`div`,{className:`mt-7 flex flex-col gap-3 sm:flex-row-reverse`,children:[(0,J.jsx)(H,{type:`button`,variant:`primary`,className:`h-11 flex-1`,disabled:F,onClick:()=>g(`connectors`),children:i.continueToConnectors}),(0,J.jsx)(H,{type:`button`,variant:`secondary`,className:`h-11 flex-1`,disabled:F,onClick:Q.pick,children:i.changeFolder})]}),(0,J.jsx)(`button`,{type:`button`,className:`mx-auto mt-6 block text-sm text-fg-muted hover:text-fg hover:underline`,onClick:()=>void Ye(),children:i.skip})]}):null,h===`connectors`?(0,J.jsx)(ke,{busy:F,onBack:nt,onContinue:tt,onSkip:()=>void Ye(),onConnectedSignalsChange:we}):null,h===`running`&&N?(0,J.jsxs)(`section`,{"aria-labelledby":`work-discovery-running-title`,"aria-live":`polite`,children:[(0,J.jsxs)(`div`,{className:`text-center`,children:[(0,J.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.16em] text-accent-fg`,children:i.understandingStepEyebrow}),(0,J.jsx)(`h1`,{id:`work-discovery-running-title`,className:`text-2xl font-semibold tracking-tight text-fg`,children:i.analyzingTitle}),(0,J.jsx)(`p`,{className:`mt-3 text-[0.95rem] leading-7 text-fg-muted`,children:i.analyzingSubtitle}),_e.total>1?(0,J.jsx)(`p`,{className:`mt-2 text-sm font-medium text-accent-fg`,children:i.analyzingFolderProgress.replace(`{{current}}`,String(_e.current)).replace(`{{total}}`,String(_e.total))}):null]}),(0,J.jsx)(ye,{signals:He,ariaLabel:i.sourceSignals.ariaLabel,centerLabel:i.sourceSignals.centerLabel}),(0,J.jsx)(`div`,{className:`xopc-understanding-progress mx-auto mt-6 grid max-w-[34rem] grid-cols-3 gap-2`,children:Re.map((e,t)=>{let n=Math.max(0,Re.indexOf(N.stage??`folder_structure`)),r=t<n,a=t===n;return(0,J.jsxs)(`div`,{className:`xopc-understanding-step min-w-0 text-left`,"data-active":a||void 0,"data-complete":r||void 0,children:[(0,J.jsx)(`span`,{className:V(`block h-1 rounded-full`,a||r?`bg-accent`:`bg-surface-hover`)}),(0,J.jsx)(`span`,{className:V(`mt-2 block text-[11px] leading-4`,a?`font-medium text-fg`:`text-fg-muted`),children:i.stages[e]})]},e)})}),(0,J.jsx)(`p`,{className:`mt-4 truncate text-center font-mono text-xs text-fg-muted`,children:N.rootPath}),(0,J.jsx)(`p`,{className:`mx-auto mt-4 max-w-lg text-center text-xs leading-5 text-fg-muted`,children:i.backgroundChoiceHint}),(0,J.jsxs)(`div`,{className:`mx-auto mt-5 flex max-w-md flex-col gap-3`,children:[(0,J.jsx)(H,{type:`button`,variant:`secondary`,className:`h-11 w-full`,onClick:et,children:i.continueInBackground}),(0,J.jsx)(`button`,{type:`button`,className:`mx-auto text-sm text-fg-muted hover:text-danger hover:underline`,onClick:()=>void $e(),children:i.cancelAnalysis})]})]}):null,h===`recognition`&&N?.result?(0,J.jsx)(he,{run:N,language:r,busy:F,error:L,onFinish:it,onStartConversation:at},N.id):null,h===`recommendation`&&N?.result&&$?(0,J.jsxs)(`section`,{"aria-labelledby":`work-discovery-recommendation-title`,children:[(0,J.jsxs)(`div`,{className:`text-center`,children:[(0,J.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-accent-fg`,children:i.understandingConfirmed}),(0,J.jsx)(`h1`,{id:`work-discovery-recommendation-title`,className:`mt-2 text-2xl font-semibold tracking-tight text-fg`,children:i.primaryRecommendationTitle})]}),ut,(0,J.jsx)(`article`,{className:`mt-7 rounded-xl border border-edge bg-surface-panel p-5 shadow-surface sm:p-7`,children:(0,J.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,J.jsx)(`div`,{className:`flex size-9 shrink-0 items-center justify-center rounded-xl bg-surface-hover text-fg-muted`,children:(0,J.jsx)(f,{className:`size-5`})}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`h2`,{className:`text-lg font-semibold text-fg`,children:$.title}),(0,J.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:$.rationale}),(0,J.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2 text-xs`,children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full bg-surface-hover px-2.5 py-1 text-fg-muted`,children:[(0,J.jsx)(ee,{className:`size-3.5`}),i.estimatedMinutes.replace(`{{count}}`,String($.estimatedMinutes))]}),(0,J.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2.5 py-1 text-fg-muted`,children:st($.risk)})]}),(0,J.jsxs)(`div`,{className:`mt-4 rounded-xl bg-surface-base px-4 py-3`,children:[(0,J.jsx)(`p`,{className:`text-xs font-medium text-fg-muted`,children:i.expectedTask}),(0,J.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg`,children:$.expectedTask})]}),(0,J.jsxs)(`div`,{className:`mt-5 flex flex-wrap gap-2`,children:[(0,J.jsx)(H,{variant:`primary`,className:`h-10 px-4`,onClick:()=>void rt($,!1),children:i.startRecommendedAction}),(0,J.jsx)(H,{className:`h-10 px-4`,variant:`secondary`,onClick:()=>void rt($,!0),children:i.explainFirst})]})]})]})}),ot.length>0?(0,J.jsxs)(`div`,{className:`mt-5 border-t border-edge-subtle pt-4`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between py-2 text-sm font-medium text-fg-muted hover:text-fg`,onClick:()=>ce(e=>!e),children:[i.otherDirections,(0,J.jsx)(d,{className:`size-4 transition-transform ${B?`rotate-180`:``}`})]}),B?(0,J.jsx)(`div`,{className:`mt-2 divide-y divide-edge-subtle rounded-xl border border-edge bg-surface-panel px-4`,children:ot.map(e=>(0,J.jsxs)(`button`,{type:`button`,className:`flex w-full items-start gap-3 py-4 text-left`,onClick:()=>void rt(e,!0),children:[(0,J.jsx)(f,{className:`mt-0.5 size-4 shrink-0 text-fg-subtle`}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`span`,{className:`block text-sm font-medium text-fg`,children:e.title}),(0,J.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-muted`,children:e.expectedTask})]})]},e.id))}):null]}):null,(0,J.jsxs)(`div`,{className:`mt-6 flex flex-wrap items-center justify-center gap-x-5 gap-y-3`,children:[(0,J.jsx)(`button`,{type:`button`,className:`text-sm text-fg-muted hover:text-fg hover:underline`,onClick:()=>Ze(N.conversationId),children:i.doSomethingElse}),(0,J.jsx)(`button`,{type:`button`,className:`text-sm text-fg-muted hover:text-fg hover:underline`,onClick:()=>g(`recognition`),children:i.correctUnderstanding})]})]}):null,h===`error`&&N?(0,J.jsxs)(`section`,{className:`text-center`,"aria-labelledby":`work-discovery-error-title`,children:[(0,J.jsx)(`div`,{className:`mx-auto flex size-11 items-center justify-center rounded-xl bg-danger-soft text-danger`,children:(0,J.jsx)(ie,{className:`size-5`})}),(0,J.jsx)(`h1`,{id:`work-discovery-error-title`,className:`mt-5 text-2xl font-semibold tracking-tight text-fg`,children:i.errorTitle}),(0,J.jsx)(`p`,{className:`mx-auto mt-3 max-w-lg text-sm leading-6 text-fg-muted`,children:N.errorMessage}),(0,J.jsxs)(`div`,{className:`mx-auto mt-7 flex max-w-md flex-col gap-3 sm:flex-row-reverse`,children:[(0,J.jsx)(H,{variant:`primary`,className:`h-11 flex-1`,onClick:()=>void y(N.id).then(Z),children:i.retry}),(0,J.jsx)(H,{variant:`secondary`,className:`h-11 flex-1`,onClick:()=>{P(null),C(null),g(`intro`)},children:i.chooseDifferent})]}),(0,J.jsx)(`button`,{type:`button`,className:`mt-6 text-sm text-fg-muted hover:text-fg hover:underline`,onClick:()=>Ze(N.conversationId),children:i.openConversation})]}):null]},h),Q.hasNativePicker?null:(0,J.jsx)(m,{open:Q.modalOpen,onOpenChange:Q.setModalOpen,initialAbsolutePath:b?.canonicalRootPath,onConfirm:Q.confirmPick,wd:s})]})}export{Le as n,U as r,Ve as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./createLucideIcon-DPHK1VkS.js";import{t as i}from"./file-archive-DanfQJNe.js";import{t as a}from"./loader-circle-CifKLtgG.js";import{t as o}from"./cn-0WouolD0.js";import{i as s,o as c}from"./locale-store-lIXD1FMw.js";import{t as l}from"./button-CnRSIP6m.js";import{a as ee,i as u,o as d,r as f,s as te,t as p}from"./dist-DfWfZ9iu.js";import{n as m}from"./interaction-BdhHBbYa.js";import{s as h}from"./form-field-width-DJw_jULe.js";import{r as g}from"./settings-form-draft-Dy10ldo8.js";var _=r(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),v=r(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),y=r(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),b=e(t(),1);async function x(e){let t=new URLSearchParams;e!=null&&e!==``&&t.set(`path`,e);let n=t.toString();return(await c(s(`/api/host/fs/list${n?`?${n}`:``}`))).payload}async function S(){return(await c(s(`/api/host/fs/meta`))).payload}async function C(e,t){return(await c(s(`/api/host/fs/directory`),{method:`POST`,body:JSON.stringify({parentPath:e,name:t})})).payload.absolutePath}var w=n();function T(){return o(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 font-mono text-sm text-fg`,`placeholder:text-fg-subtle`,h,`dark:border-edge`)}function E(e){return/^[A-Za-z]:\\?$/.test(e.replace(/\\$/,`\\`))}function ne(e){return!e||e.currentPath===``?!1:e.parentPath!==null||e.currentPath!==`/`&&!!E(e.currentPath)}var D={metaHostname:null,listState:null,listLoading:!1,listError:null,manualPath:``,createFolderOpen:!1,createFolderName:``,createFolderLoading:!1,createFolderError:null,selectedFilePath:``};function O({open:e,onOpenChange:t,initialAbsolutePath:n,onConfirm:r,wd:s,selectKind:c=`directory`,fileExtensions:h,title:O,description:k,confirmLabel:A,nested:j=!1}){let M=(0,b.useId)(),N=(0,b.useId)(),[re,P]=(0,b.useReducer)(g,D),{metaHostname:F,listState:I,listLoading:L,listError:R,manualPath:z,createFolderOpen:B,createFolderName:V,createFolderLoading:H,createFolderError:U,selectedFilePath:W}=re,G=(0,b.useCallback)(async e=>{P({type:`patch`,patch:{listLoading:!0,listError:null,selectedFilePath:``}});try{let t=await x(e);P({type:`patch`,patch:{listState:t}})}catch(e){let t=e instanceof Error?e.message:String(e);P({type:`patch`,patch:{listError:t,listState:null}})}finally{P({type:`patch`,patch:{listLoading:!1}})}},[]);(0,b.useEffect)(()=>{if(!e)return;let t=!1;return(async()=>{try{let e=await S();t||P({type:`patch`,patch:{metaHostname:e.hostname}})}catch{t||P({type:`patch`,patch:{metaHostname:null}})}})(),()=>{t=!0}},[e]),(0,b.useEffect)(()=>{if(!e)return;let t=n?.trim()??``;P({type:`patch`,patch:{manualPath:t,createFolderOpen:!1,createFolderName:``,createFolderLoading:!1,createFolderError:null,selectedFilePath:``}});let r=!1;return(async()=>{P({type:`patch`,patch:{listLoading:!0,listError:null}});try{if(t)try{let e=await x(t);r||P({type:`patch`,patch:{listState:e}})}catch{let e=await x();r||P({type:`patch`,patch:{listState:e}})}else{let e=await x();r||P({type:`patch`,patch:{listState:e}})}}catch(e){let t=e instanceof Error?e.message:String(e);r||P({type:`patch`,patch:{listError:t,listState:null}})}finally{r||P({type:`patch`,patch:{listLoading:!1}})}})(),()=>{r=!0}},[e,n]);let K=e=>{e.isDirectory&&(P({type:`patch`,patch:{selectedFilePath:``}}),G(e.absolutePath))},q=()=>{if(!I)return;let{parentPath:e,currentPath:t}=I;if(e!==null){G(e);return}t===`/`||t===``||E(t)&&G(void 0)},J=I?.currentPath===``?s.pickerDrives:I?.currentPath??``,Y=!!I&&I.currentPath!==``&&!L&&!R,X=h?.map(e=>e.replace(/^\./,``).toLocaleLowerCase()),ie=e=>{if(c!==`file-or-directory`||e.isDirectory)return!1;if(!X?.length)return!0;let t=e.name.includes(`.`)?e.name.split(`.`).pop()?.toLocaleLowerCase():``;return!!(t&&X.includes(t))},ae=Y&&!H,Z=()=>{P({type:`patch`,patch:{createFolderOpen:!1,createFolderName:``,createFolderError:null}})},Q=async()=>{let e=V.trim();if(!(!I||I.currentPath===``||!e||H)){P({type:`patch`,patch:{createFolderLoading:!0,createFolderError:null}});try{let t=await C(I.currentPath,e);P({type:`patch`,patch:{createFolderOpen:!1,createFolderName:``,createFolderError:null}}),await G(t)}catch(e){let t=e?.status,n=t===409?s.pickerCreateFolderExists:t===400?s.pickerCreateFolderInvalid:t===403?s.pickerCreateFolderPermission:s.pickerCreateFolderError;P({type:`patch`,patch:{createFolderError:n}})}finally{P({type:`patch`,patch:{createFolderLoading:!1}})}}},oe=async()=>{let e=W||I?.currentPath;if(e)try{await r(e),t(!1)}catch{}},$=async()=>{let e=z.trim();if(e)try{await r(e),t(!1)}catch{}},se=L&&I;return(0,w.jsx)(p,{open:e,onOpenChange:t,children:(0,w.jsxs)(d,{children:[(0,w.jsx)(ee,{className:o(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[2px]`,j?`z-[139]`:`z-[100]`)}),(0,w.jsxs)(f,{className:o(`xopc-dialog-content fixed left-1/2 top-1/2 flex h-[min(90vh,32rem)] w-[min(100%-2rem,28rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-overlay p-4 shadow-popover`,j?`z-[140]`:`z-[101]`,`dark:border-edge`),onOpenAutoFocus:e=>e.preventDefault(),children:[(0,w.jsx)(te,{className:`text-base font-semibold text-fg`,children:O??s.pathModalTitle}),(0,w.jsx)(u,{className:`mt-1 text-sm leading-relaxed text-fg-muted`,children:k??s.pathModalDescription}),F?(0,w.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:s.pickerHostHint.replace(`{{hostname}}`,F)}):null,(0,w.jsxs)(`div`,{className:`mt-3 flex min-h-0 flex-1 flex-col gap-2`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsxs)(l,{type:`button`,variant:`secondary`,className:`shrink-0 gap-1 px-2 py-1.5 text-xs`,disabled:L||!ne(I)||!!R,onClick:()=>q(),title:s.pickerUp,children:[(0,w.jsx)(_,{className:`size-4`,"aria-hidden":!0}),s.pickerUp]}),(0,w.jsx)(`div`,{className:`min-w-0 flex-1 truncate rounded-md border border-edge-subtle/80 bg-surface-hover/30 px-2 py-1.5 font-mono text-xs text-fg`,title:J,children:L&&!I?s.pickerLoading:J||`—`}),(0,w.jsxs)(l,{type:`button`,variant:`secondary`,className:`shrink-0 gap-1 px-2 py-1.5 text-xs`,disabled:!ae,onClick:()=>P({type:`patch`,patch:{createFolderOpen:!0,createFolderName:``,createFolderError:null}}),title:s.pickerNewFolder,children:[(0,w.jsx)(y,{className:`size-4`,"aria-hidden":!0}),s.pickerNewFolder]})]}),B?(0,w.jsxs)(`div`,{className:`rounded-lg border border-edge-subtle bg-surface-base p-2`,children:[(0,w.jsx)(`label`,{htmlFor:N,className:`text-xs font-medium text-fg-muted`,children:s.pickerNewFolderName}),(0,w.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-2`,children:[(0,w.jsx)(`input`,{id:N,type:`text`,value:V,onChange:e=>P({type:`patch`,patch:{createFolderName:e.target.value,createFolderError:null}}),className:T(),autoFocus:!0,autoComplete:`off`,spellCheck:!1,disabled:H,onKeyDown:e=>{e.key===`Enter`&&V.trim()?(e.preventDefault(),Q()):e.key===`Escape`&&(e.preventDefault(),Z())}}),(0,w.jsx)(l,{type:`button`,variant:`ghost`,className:`shrink-0`,disabled:H,onClick:Z,children:s.pickerCreateFolderCancel}),(0,w.jsxs)(l,{type:`button`,variant:`primary`,className:`shrink-0`,disabled:!V.trim()||H,onClick:()=>void Q(),children:[H?(0,w.jsx)(a,{className:`size-4 animate-spin`,"aria-hidden":!0}):null,s.pickerCreateFolder]})]}),U?(0,w.jsx)(`p`,{className:`mt-1.5 text-xs text-danger`,role:`alert`,children:U}):null]}):null,(0,w.jsxs)(`div`,{className:o(`relative min-h-[12rem] overflow-y-auto rounded-lg border border-edge-subtle/80 bg-surface-hover/20 p-1 dark:border-edge-subtle`,m.focusRingPanel),role:`listbox`,"aria-label":O??s.pathModalTitle,children:[se?(0,w.jsx)(`div`,{className:`absolute inset-0 z-[1] flex items-center justify-center rounded-lg bg-surface-panel/60`,"aria-hidden":!0,children:(0,w.jsx)(a,{className:`size-6 animate-spin text-fg-muted`})}):null,L&&!I?(0,w.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-12 text-sm text-fg-muted`,children:[(0,w.jsx)(a,{className:`size-4 animate-spin`,"aria-hidden":!0}),s.pickerLoading]}):null,R?(0,w.jsx)(`p`,{className:`px-2 py-8 text-center text-sm text-fg-muted`,children:s.pickerListError}):null,!L&&I&&!R&&I.entries.length===0?(0,w.jsx)(`p`,{className:`px-2 py-8 text-center text-sm text-fg-muted`,children:s.pickerEmptyFolder}):null,I?.entries.map(e=>{let t=ie(e),n=W===e.absolutePath;return(0,w.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":n,disabled:!e.isDirectory&&!t,className:o(`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm`,e.isDirectory||t?`cursor-pointer text-fg hover:bg-surface-hover`:`cursor-default text-fg-muted opacity-60`,n&&`bg-accent-soft text-accent-fg ring-1 ring-inset ring-accent`),onClick:()=>e.isDirectory?K(e):t&&P({type:`patch`,patch:{selectedFilePath:e.absolutePath}}),children:[e.isDirectory?(0,w.jsx)(v,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}):(0,w.jsx)(i,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,w.jsx)(`span`,{className:`min-w-0 truncate`,children:e.name})]},e.absolutePath)})]}),(0,w.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,w.jsx)(`label`,{htmlFor:M,className:`text-xs text-fg-muted`,children:s.pickerManualPath}),(0,w.jsx)(`input`,{id:M,type:`text`,value:z,onChange:e=>P({type:`patch`,patch:{manualPath:e.target.value}}),placeholder:s.pathInputPlaceholder,className:T(),autoComplete:`off`,spellCheck:!1,onKeyDown:e=>{e.key===`Enter`&&z.trim()&&(e.preventDefault(),$())}})]})]}),(0,w.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center justify-end gap-2 border-t border-edge-subtle/60 pt-3`,children:[(0,w.jsx)(l,{type:`button`,variant:`ghost`,onClick:()=>t(!1),children:s.pathModalCancel}),(0,w.jsx)(l,{type:`button`,variant:`secondary`,disabled:!z.trim(),onClick:()=>void $(),children:s.pickerApplyManual}),(0,w.jsx)(l,{type:`button`,disabled:!W&&!Y,onClick:()=>void oe(),children:A??s.pickerUseThisFolder})]})]})]})})}export{_ as i,y as n,v as r,O as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/session-manager-5l9q0cd5.js","assets/rolldown-runtime-aKtaBQYM.js","assets/messages-DRR9N3HC.js","assets/locale-store-lIXD1FMw.js","assets/vendor-react-BOUWij0V.js","assets/schemas-CCWMleym.js","assets/constants-DBtMsXdW.js","assets/session-api-CsCoI2im.js","assets/gateway-startup-retry-CtUB3g6N.js","assets/local-session-drafts-B9ZPwotC.js","assets/tool-activity-BtJkgjFf.js","assets/personal-proactivity-DaRnbB1f.js","assets/attachment-utils-core-BIOUBrpT.js","assets/gateway-realtime-CsykKL4l.js","assets/gateway-realtime-store-DQqMBruB.js","assets/registry-api-n8TwtJ_j.js","assets/preload-helper-Czpn1I53.js","assets/agents-admin-api-CyjykMEh.js","assets/gateway-config-swr-BAmUhiP1.js","assets/vendor-swr-CdRzEUwF.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{a as t,i as n}from"./locale-store-lIXD1FMw.js";import{i as r,n as i,r as a,t as o}from"./files-BNL4kkSB.js";async function s(e){let t=await e.json().catch(()=>null);return Error(t?.error?.message??`HTTP ${e.status}`)}async function c(e,r){let i=await t(n(e),r);if(!i.ok)throw await s(i);return i.json()}async function l(t){if(!t?.projectId&&t?.conversationId){let{SessionManager:n}=await e(async()=>{let{SessionManager:e}=await import(`./session-manager-5l9q0cd5.js`).then(e=>e.n);return{SessionManager:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]));await new n().materialize(t.conversationId,`session_resources`)}let n=t?.projectId?{kind:`project`,id:t.projectId}:t?.conversationId?{kind:`session`,id:t.conversationId}:t?.agentId?{kind:`agent`,id:t.agentId}:null;if(n){let e=await c(`/api/files/contexts/${n.kind}/${encodeURIComponent(n.id)}`);return r.parse(e.space)}let i=await c(`/api/files/default-space`);return r.parse(i.space)}function u(e){return{id:e.id,name:e.name,path:e.relativePath,isDirectory:e.kind===`directory`,mimeType:e.mimeType,revision:e.revision}}async function d(e,t){let n=await l(t),r=await c(`/api/files/resolve`,{method:`POST`,body:JSON.stringify({spaceId:n.id,path:e,taskRunId:t?.taskRunId})});return i.parse(r.resource)}async function f(e,t){return d(e,t)}async function p(e=``,t){let n=await l(t),r=new URLSearchParams;return e&&r.set(`path`,e),{entries:a.parse(await c(`/api/files/spaces/${encodeURIComponent(n.id)}/children${r.size?`?${r}`:``}`)).items.map(u)}}async function m(e=``,t){return(await p(e,t)).entries}async function h(e){let t=await l(e);return u(o.parse(await c(`/api/files/spaces/${encodeURIComponent(t.id)}/root`)).resource)}async function g(e,t,n=50){let r=await l(t),i=new URLSearchParams({q:e.trim(),limit:String(n),spaceId:r.id});return a.parse(await c(`/api/files/search?${i}`)).items.map(u)}async function _(e,r){let i=await d(e,r),a=await t(n(`/api/files/${encodeURIComponent(i.id)}/content`));if(!a.ok)throw await s(a);return{content:await a.text(),path:i.relativePath,mtimeMs:i.modifiedAt,revision:a.headers.get(`ETag`)??i.revision}}async function v(e,t){let n;try{n=await l(t)}catch{return null}try{let r=await c(`/api/files/resolve`,{method:`POST`,body:JSON.stringify({spaceId:n.id,path:e,taskRunId:t?.taskRunId})}),a=i.parse(r.resource);return{absolutePath:r.absolutePath,fileId:a.id,inputPath:e,displayName:a.name,scope:r.absolutePath?`external`:`workspace`,locationKind:r.absolutePath?`host`:`workspace`,exists:!0,isDirectory:a.kind===`directory`,workspaceRelativePath:a.relativePath,capabilities:a.capabilities.filter(e=>e===`preview`||e===`edit`),mtimeMs:a.modifiedAt}}catch{try{return(await c(`/api/files/resolve-reference`,{method:`POST`,body:JSON.stringify({spaceId:n.id,path:e,conversationId:t?.conversationId})})).reference}catch{return null}}}async function y(e,t,n){return await c(`/api/files/references/${encodeURIComponent(e)}/action`,{method:`POST`,body:JSON.stringify({action:t,conversationId:n?.conversationId})})}async function b(e,r){let i=await d(e,r),a=await t(n(`/api/files/${encodeURIComponent(i.id)}/content`),{headers:{Accept:`*/*`}});if(!a.ok)throw await s(a);return a.blob()}async function x(e,t,n,r){let a=await d(e,n),o=await c(`/api/files/${encodeURIComponent(a.id)}/content`,{method:`PUT`,body:JSON.stringify({content:t,revision:r??a.revision})}),s=i.parse(o.resource);return{path:s.relativePath,mtimeMs:s.modifiedAt,revision:s.revision}}async function S(e,r=``,i){let a=await l(i),c=new FormData;c.set(`directory`,r),c.set(`file`,e);let d=await t(n(`/api/files/spaces/${encodeURIComponent(a.id)}/upload`),{method:`POST`,body:c});if(!d.ok)throw await s(d);return u(o.parse(await d.json()).resource)}async function C(e){let r=await t(n(`/api/files/${encodeURIComponent(e)}`),{method:`DELETE`});if(!r.ok)throw await s(r)}function w(e,t){let n=new Blob([t],{type:`text/plain;charset=utf-8`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}function T(e,t,n){let r=new Blob([t],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(i)}export{b as a,_ as c,f as d,g as f,p as i,y as l,x as m,T as n,h as o,S as p,w as r,m as s,C as t,v as u};
@@ -0,0 +1 @@
1
+ import{p as e}from"./locale-store-lIXD1FMw.js";var t=e(e=>({agentId:``,setAgentId:t=>e({agentId:t})}));export{t};
@@ -0,0 +1 @@
1
+ import{i as e,n as t}from"./rolldown-runtime-aKtaBQYM.js";import{a as n,t as r}from"./vendor-react-BOUWij0V.js";import{c as i,m as a,n as o,o as s,s as c,t as l,x as u}from"./use-file-preview-expanded-DSpCRXUW.js";import{n as d}from"./share-link-dialog-BJHRQVKC.js";import{t as f}from"./messages-DRR9N3HC.js";import{t as p}from"./cn-0WouolD0.js";import{n as m}from"./locale-store-lIXD1FMw.js";import{t as h}from"./skeleton-BI5TyibZ.js";import{a as ee,s as g,t as _}from"./file-preview-surface-BlprUrIs.js";import{t as v}from"./copy-to-clipboard-HOJ79TWv.js";import{i as y}from"./theme-store-DW45fWYQ.js";import{n as b}from"./electron-env-DHOGevH3.js";var x=e(n(),1);async function S(e,t){try{let n=await e();return n&&`ok`in n&&n.code===`CANCELED`?!1:n&&(`ok`in n?n.ok:n.success)?!0:(u(`warning`,n?.error||t,void 0,{duration:4e3}),!1)}catch{return u(`warning`,t,void 0,{duration:4e3}),!1}}var C=new Map;function w(e,t){return C.set(e,t),()=>{C.get(e)===t&&C.delete(e)}}async function T(e){return await C.get(e)?.()??!0}var E=t({WorkspaceFilePreviewPanel:()=>j}),D=r(),O=new Intl.DateTimeFormat(`zh-CN`,{dateStyle:`medium`,timeStyle:`short`}),k=new Intl.DateTimeFormat(`en`,{dateStyle:`medium`,timeStyle:`short`});function A(e,t){return(t===`zh`?O:k).format(new Date(e))}function j({filePath:e,tabId:t,active:n=!0,onClose:r,targetLine:C,resultRevision:T,projectId:E,conversationId:O,agentId:k}){let j=m(e=>e.language),M=f(j),N=y(e=>e.resolved),P=i({filePath:e,projectId:E,conversationId:O,agentId:k,initialEditMode:t?s(t).sourceEditMode:!1}),{dialogOpen:F,loading:I,result:L,error:R,pendingParams:z,createShareLink:B,confirmShareLink:V,handleOpenChange:H}=ee(),[U,W]=(0,x.useState)(!1),[G,K]=(0,x.useState)(!1),{expanded:q,setExpanded:J}=l(!!e,F);(0,x.useEffect)(()=>{t&&c(t,{sourceEditMode:P.sourceEditMode})},[P.sourceEditMode,t]),(0,x.useEffect)(()=>{if(t)return w(t,P.flushSource)},[P.flushSource,t]),(0,x.useEffect)(()=>{t&&P.fileResourceId&&g.getState().resolveFileIdentity(t,P.fileResourceId)},[P.fileResourceId,t]),(0,x.useEffect)(()=>{t&&g.getState().setFileStatus(t,P.saveStatus===`error`?`error`:P.dirty?`dirty`:null)},[P.dirty,P.saveStatus,t]),(0,x.useEffect)(()=>{let e=()=>{document.visibilityState!==`hidden`&&P.checkForUpdates()};return window.addEventListener(`focus`,e),window.addEventListener(`workspace-refresh-files`,e),window.addEventListener(`agent-run-ended`,e),document.addEventListener(`visibilitychange`,e),()=>{window.removeEventListener(`focus`,e),window.removeEventListener(`workspace-refresh-files`,e),window.removeEventListener(`agent-run-ended`,e),document.removeEventListener(`visibilitychange`,e)}},[P.checkForUpdates]);let Y=e?a(e):``,X=[`text`,`markdown`,`code`,`html`].includes(P.descriptor.type),Z=(0,x.useCallback)(async()=>{if(e){if(await v(e)){W(!0),u(`success`,M.workspace.pathCopied,void 0,{duration:2500}),window.setTimeout(()=>W(!1),2e3);return}u(`warning`,M.clipboard.copyFailed,void 0,{duration:4e3})}},[e,M.clipboard.copyFailed,M.workspace.pathCopied]),Q=(0,x.useCallback)(()=>{P.fileResourceId&&B({fileId:P.fileResourceId,fileName:Y})},[B,Y,P.fileResourceId]),$=(0,x.useCallback)(async()=>{await S(()=>P.onOpenWithSystemApp(),M.chat.attachmentPreviewOpenLocalFailed)},[M.chat.attachmentPreviewOpenLocalFailed,P.onOpenWithSystemApp]),te=(0,x.useCallback)(async()=>{let e;return await S(async()=>{let t=await P.onChooseOpenWithApp();return t?.ok&&(e=t.app),t},M.workspace.openFileFailed),e},[M.workspace.openFileFailed,P.onChooseOpenWithApp]),ne=(0,x.useCallback)(async e=>{await S(()=>P.onOpenWithRecentApp(e),M.workspace.openFileFailed)},[M.workspace.openFileFailed,P.onOpenWithRecentApp]),re=(0,x.useCallback)(async()=>{await S(()=>P.onRevealInFolder(),M.workspace.revealFileFailed)},[M.workspace.revealFileFailed,P.onRevealInFolder]),ie=(0,x.useCallback)(()=>{J(!1),r()},[r]),ae=!!(e&&!P.loading&&!P.loadError),oe={onDownload:()=>void P.onDownload(),canDownload:P.canDownload,onOpenWithSystemApp:()=>void $(),canOpenWithSystemApp:P.canOpenWithSystemApp,onChooseOpenWithApp:()=>void P.onChooseOpenWithApp(),canChooseOpenWithApp:P.canChooseOpenWithApp};return!e||!n?null:(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(_,{expanded:q,children:(0,D.jsx)(o,{header:{subtitle:(0,D.jsxs)(D.Fragment,{children:[!P.loading&&P.mtimeMs!=null?(0,D.jsxs)(`p`,{suppressHydrationWarning:!0,className:`min-w-0 truncate`,title:new Date(P.mtimeMs).toISOString(),children:[M.workspace.lastModified,`: `,A(P.mtimeMs,j),C?` · Line ${C}`:``]}):null,P.externalChange?(0,D.jsx)(`span`,{role:`status`,className:`text-fg-muted`,children:j===`zh`?`文件已更新,请先处理当前编辑`:`File changed; review your current edits`}):null,T?(0,D.jsxs)(`span`,{className:`shrink-0`,"data-result-revision":!0,children:[j===`zh`?`成果版本`:`Result version`,` `,T]}):null,P.loading?(0,D.jsx)(h,{className:`h-3.5 w-32`}):null,X&&P.sourceEditMode&&P.saveStatus!==`idle`?(0,D.jsx)(`span`,{className:p(`shrink-0`,P.saveStatus===`error`&&`text-red-600 dark:text-red-400`),children:P.saveStatus===`saving`?M.workspace.saving:P.saveStatus===`error`?M.workspace.saveFailed:M.workspace.saved}):null]}),expanded:q,onRefresh:P.refresh,onRetrySave:P.saveStatus===`error`?()=>void P.flushSource():void 0,onToggleExpanded:ae?()=>J(e=>!e):void 0,hideClose:!!t,onClose:ie,edit:X?{active:P.sourceEditMode,onToggle:()=>P.setSourceEditMode(e=>!e)}:void 0,wordWrap:X&&P.sourceEditMode?{active:G,onToggle:()=>K(e=>!e)}:void 0,share:{onClick:Q,loading:I,disabled:!P.fileResourceId||P.loading||!!P.loadError},openWithSystemApp:P.canOpenWithSystemApp||b()&&window.electronAPI?.shell?.openFileResource?{onClick:()=>void $(),disabled:P.loading||!P.canOpenWithSystemApp}:void 0,chooseApp:P.canChooseOpenWithApp?{onClick:te}:void 0,recommendedApps:P.recommendedOpenWithApps,recentApps:P.recentOpenWithApps,onOpenWithApp:e=>void ne(e),onRevealInFolder:P.canRevealInFolder?()=>void re():void 0,copyPath:{copied:U,onClick:()=>void Z()}},chat:{createFile:P.createAttachmentFile,projectId:E,conversationId:O,agentId:k,disabled:P.saveStatus===`saving`},language:j,resolvedTheme:N,descriptor:t?{...P.descriptor,id:t}:P.descriptor,loading:P.loading,loadError:P.loadError,textContent:P.textContent,binaryBuffer:P.binaryBuffer,fileResourceId:P.fileResourceId,mtimeMs:P.mtimeMs,targetLine:C,extractedText:P.extractedText,extractedTextTruncated:P.extractedTextTruncated,workspaceEditing:{sourceEditMode:P.sourceEditMode,onSourceChange:e=>{t&&g.getState().keepFileOpen(t),P.onSourceChange(e)},sourceWordWrap:G,isDark:N===`dark`},actions:oe})}),(0,D.jsx)(d,{open:F,onOpenChange:H,loading:I,error:R,result:L,pendingParams:z,onConfirm:e=>void V(e)})]})}export{S as i,E as n,T as r,j as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./createLucideIcon-DPHK1VkS.js";import{t as i}from"./chevron-down-ccbiQQz_.js";import{t as a}from"./copy-Dv6d4Dvw.js";import{t as o}from"./folder-open-CyzJ19I9.js";import{x as s}from"./use-file-preview-expanded-DSpCRXUW.js";import{t as c}from"./messages-DRR9N3HC.js";import{t as l}from"./cn-0WouolD0.js";import{n as u}from"./locale-store-lIXD1FMw.js";import{t as d}from"./button-CnRSIP6m.js";import{a as f,i as p,o as m,s as h}from"./dist-CaUuvp8-.js";import{n as g}from"./electron-env-DHOGevH3.js";var _=r(`columns-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),v=r(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),y=r(`focus`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]),b=r(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]),x=r(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),S=r(`monitor-up`,[[`path`,{d:`m9 10 3-3 3 3`,key:`11gsxs`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}]]),C=r(`square-check-big`,[[`path`,{d:`M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344`,key:`2acyp4`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),w=e(t(),1),T=n();function E({resourceId:e,displayName:t,className:n}){let r=c(u(e=>e.language)).workspace,[_,v]=(0,w.useState)(!1),[y,b]=(0,w.useState)([]),[x,C]=(0,w.useState)([]),[E,D]=(0,w.useState)(!1),O=g(),k=O?window.electronAPI?.shell:void 0,A=O&&!!e.trim(),j=!!k?.openFileResource,M=(0,w.useCallback)(async()=>{if(!k?.getOpenWithAppsForFileResource||!e.trim()){b([]),C([]);return}try{let t=await k.getOpenWithAppsForFileResource(e);b(t.recommended.map(e=>({name:e.name,path:e.path}))),C(t.recent.map(e=>({name:e.name,path:e.path})))}catch{b([]),C([])}},[e,k]);(0,w.useEffect)(()=>{M()},[M]);let N=(0,w.useCallback)(e=>{s(`warning`,e||r.openLocationFailed,void 0,{duration:4e3})},[r.openLocationFailed]),P=(0,w.useCallback)(async()=>{if(!(!k?.openFileResource||!e)){D(!0);try{let t=await k.openFileResource(e);t.ok===!1&&N(t.error)}finally{D(!1),v(!1)}}},[N,e,k]),F=(0,w.useCallback)(async t=>{if(!(!k?.openFileResourceWithApp||!e)){D(!0);try{let n=await k.openFileResourceWithApp(e,t);n.ok===!1?N(n.error):M()}finally{D(!1),v(!1)}}},[M,N,e,k]),I=(0,w.useCallback)(async()=>{if(!(!k?.chooseAppAndOpenFileResource||!e)){D(!0);try{let t=await k.chooseAppAndOpenFileResource(e);t.ok===!1&&t.code!==`CANCELED`&&N(t.error),t.ok&&M()}finally{D(!1),v(!1)}}},[M,N,e,k]),L=(0,w.useCallback)(async()=>{if(!k?.copyFileResourcePath||!e)return;let t=await k.copyFileResourcePath(e);s(t.ok?`success`:`warning`,t.ok?r.pathCopied:t.error||r.copyPathFailed,void 0,{duration:t.ok?2500:4e3}),v(!1)},[r.copyPathFailed,r.pathCopied,e,k]);if(!A)return null;if(!j)return(0,T.jsxs)(d,{variant:`ghost`,className:l(`min-w-0 max-w-40 shrink rounded-md px-2 py-1.5 text-xs`,n),disabled:!0,title:r.desktopUpdateRequired,children:[(0,T.jsx)(S,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,T.jsx)(`span`,{className:`truncate`,children:t||r.openLocation})]});let R=`flex w-full items-center gap-2 rounded-md px-2.5 py-2 text-left text-sm text-fg hover:bg-surface-hover disabled:cursor-not-allowed disabled:opacity-50`,z=y[0]??x[0],B=z?y.filter(e=>e.path!==z.path):y,V=z?x.filter(e=>e.path!==z.path):x;return(0,T.jsxs)(m,{open:_,onOpenChange:e=>{v(e),e&&M()},children:[(0,T.jsx)(h,{asChild:!0,children:(0,T.jsxs)(d,{variant:`ghost`,className:l(`min-w-0 max-w-40 shrink rounded-md px-2 py-1.5 text-xs`,n),"aria-label":r.openLocation,title:r.openLocation,children:[(0,T.jsx)(S,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,T.jsx)(`span`,{className:`truncate`,children:z?.name??t??r.openLocation}),(0,T.jsx)(i,{className:`size-3.5 shrink-0`,"aria-hidden":!0})]})}),(0,T.jsx)(f,{children:(0,T.jsxs)(p,{align:`end`,side:`bottom`,sideOffset:6,className:`z-50 w-60 rounded-lg border border-edge bg-surface-overlay p-1 shadow-popover outline-none`,children:[z?(0,T.jsxs)(`button`,{type:`button`,disabled:E,className:R,title:z.path,onClick:()=>void F(z.path),children:[(0,T.jsx)(S,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,T.jsx)(`span`,{className:`truncate`,children:z.name})]}):null,(0,T.jsx)(`div`,{className:l(z&&`border-t border-edge pt-1`),children:(0,T.jsxs)(`button`,{type:`button`,disabled:E,className:R,onClick:()=>void P(),children:[(0,T.jsx)(o,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),r.openInFileManager]})}),B.length>0?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`p`,{className:`border-t border-edge px-2.5 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-fg-subtle`,children:r.recommendedApps}),B.map(e=>(0,T.jsxs)(`button`,{type:`button`,disabled:E,className:R,title:e.path,onClick:()=>void F(e.path),children:[(0,T.jsx)(S,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,T.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path))]}):null,V.length>0?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`p`,{className:`border-t border-edge px-2.5 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-fg-subtle`,children:r.recentApps}),V.map(e=>(0,T.jsxs)(`button`,{type:`button`,disabled:E,className:R,title:e.path,onClick:()=>void F(e.path),children:[(0,T.jsx)(S,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),(0,T.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path))]}):null,(0,T.jsxs)(`div`,{className:`mt-1 border-t border-edge pt-1`,children:[(0,T.jsxs)(`button`,{type:`button`,disabled:E,className:R,onClick:()=>void I(),children:[(0,T.jsx)(S,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),r.chooseApp]}),(0,T.jsxs)(`button`,{type:`button`,disabled:E||!k?.copyFileResourcePath,className:R,onClick:()=>void L(),children:[(0,T.jsx)(a,{className:`size-4 shrink-0 text-fg-muted`,"aria-hidden":!0}),r.copyPath]})]})]})})]})}export{b as a,_ as c,x as i,C as n,y as o,S as r,v as s,E as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};