@acedatacloud/nexior 3.362.3 → 3.362.4

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 (330) hide show
  1. package/dist/assets/{ApiCodeButton-DmY8v9e5.js → ApiCodeButton-BA7mDSbv.js} +1 -1
  2. package/dist/assets/{ApiCodeDialog-ZrQ31cdo.js → ApiCodeDialog-BsRU8WFT.js} +2 -2
  3. package/dist/assets/{Artifacts-DU30PrbA.js → Artifacts-DJBH37uq.js} +1 -1
  4. package/dist/assets/{AskUserQuestionCard-BSkNo5B6.js → AskUserQuestionCard-DjYhfs68.js} +1 -1
  5. package/dist/assets/{AudioPreview-BQFSqic6.js → AudioPreview-4SXEbJja.js} +1 -1
  6. package/dist/assets/{Auth-CSMtUyQe.js → Auth-BOif7xOO.js} +1 -1
  7. package/dist/assets/{Bare-dYKCOh3p.js → Bare-B5Gm4K8P.js} +1 -1
  8. package/dist/assets/{BotPlaceholder-LUNR8KA6.js → BotPlaceholder-C--FHvts.js} +1 -1
  9. package/dist/assets/{BottomFooter-DKo3fulF.js → BottomFooter-Diy1dxTR.js} +1 -1
  10. package/dist/assets/{BrowseConnectors-wm70T8Et.js → BrowseConnectors-BfZCwj7s.js} +1 -1
  11. package/dist/assets/{BrowserPairingDialog-DhsWaXHL.js → BrowserPairingDialog-CwcFHrVH.js} +1 -1
  12. package/dist/assets/{Callback-C4nsgWym.js → Callback-DUubRo9v.js} +1 -1
  13. package/dist/assets/{CodeSnippet-CSaU41R9.js → CodeSnippet-B0neSlgP.js} +1 -1
  14. package/dist/assets/Console-D8pv2zPD.js +1 -0
  15. package/dist/assets/{Consumption-DeigvrPq.js → Consumption-BK4nImFR.js} +1 -1
  16. package/dist/assets/{Conversation-BxOLEd_B.js → Conversation-BXtScsLN.js} +1 -1
  17. package/dist/assets/Conversation-Cv9VbfEe.js +1 -0
  18. package/dist/assets/{CopyToClipboard-B8YmxJt6.js → CopyToClipboard-AvaqCeXT.js} +1 -1
  19. package/dist/assets/Detail-BynbMCsg.js +2 -0
  20. package/dist/assets/Extra-BvK2MPVH.css +1 -0
  21. package/dist/assets/Extra-Dy27Xepl.js +1 -0
  22. package/dist/assets/{FilePreview-BxnxEacb.js → FilePreview-BNtZwLa2.js} +1 -1
  23. package/dist/assets/{Hailuo-BkV2gEuB.js → Hailuo-CUHHmlNz.js} +1 -1
  24. package/dist/assets/{History-BA6LIG06.js → History-BrR8Yf_Z.js} +1 -1
  25. package/dist/assets/{ImagePreview-D8qlrS3J.js → ImagePreview-DPhaVe-K.js} +1 -1
  26. package/dist/assets/{ImageWrapper-BK4v8WW9.js → ImageWrapper-DwDvvMD7.js} +1 -1
  27. package/dist/assets/Index-0tDHczbM.js +1 -0
  28. package/dist/assets/Index-2pUrfZDO.js +1 -0
  29. package/dist/assets/{Index-fWSMR3_L.css → Index-73vCZ5Yt.css} +1 -1
  30. package/dist/assets/Index-7fi1vULC2.js +1 -0
  31. package/dist/assets/Index-B1Kw72wN.js +1 -0
  32. package/dist/assets/Index-B2gSKiZ3.js +1 -0
  33. package/dist/assets/{Index-DWpaenVp.js → Index-B83b9_wi.js} +1 -1
  34. package/dist/assets/{Index-GbP5Md7H.js → Index-BIccEBEN.js} +1 -1
  35. package/dist/assets/{Index-DLlOO9KP.js → Index-BXnU9Nhc.js} +2 -2
  36. package/dist/assets/Index-BadgGV7L.js +1 -0
  37. package/dist/assets/{Index-DOzCKfJ8.js → Index-BgP1xjT5.js} +1 -1
  38. package/dist/assets/Index-BhVRicE6.js +1 -0
  39. package/dist/assets/Index-BmXYFehz.js +1 -0
  40. package/dist/assets/Index-Bm_crXl-.js +1 -0
  41. package/dist/assets/Index-BneErBTq.js +1 -0
  42. package/dist/assets/Index-BthkIMLu.js +1 -0
  43. package/dist/assets/{Index-WBUpB_Pv.css → Index-C3UhM-Gp.css} +1 -1
  44. package/dist/assets/Index-CGEzzwMb.js +1 -0
  45. package/dist/assets/Index-CLKH3TKM.js +1 -0
  46. package/dist/assets/Index-CMSWNfN_.js +1 -0
  47. package/dist/assets/Index-CMu0wO8E.js +2 -0
  48. package/dist/assets/Index-CTZWRaZt.js +1 -0
  49. package/dist/assets/Index-CaIBqmIZ.js +1 -0
  50. package/dist/assets/Index-ChX8EfQ8.js +1 -0
  51. package/dist/assets/Index-CqRMg-uH.js +1 -0
  52. package/dist/assets/Index-Crdhl-Vx.js +1 -0
  53. package/dist/assets/Index-D-kQkhOh.js +1 -0
  54. package/dist/assets/{Index-BbmKEwSG.js → Index-D8Y03OtA.js} +1 -1
  55. package/dist/assets/Index-D948p6ES.js +1 -0
  56. package/dist/assets/Index-DKrXlrk-.js +1 -0
  57. package/dist/assets/Index-DMQ9DZGa.js +1 -0
  58. package/dist/assets/{Index-C7FzcV1a.js → Index-DWCDjaXA.js} +1 -1
  59. package/dist/assets/Index-DaePlNci.js +1 -0
  60. package/dist/assets/Index-DbsIgIEX.js +1 -0
  61. package/dist/assets/{Index-Beu1mmsF.js → Index-DlofPOmV.js} +1 -1
  62. package/dist/assets/Index-DvmQuJd4.js +1 -0
  63. package/dist/assets/{Index-DanHItqS.js → Index-OwzwOsGt.js} +1 -1
  64. package/dist/assets/{Invitees-DMi4xPeC.js → Invitees-DL1P2x5O.js} +1 -1
  65. package/dist/assets/{List-BcUzsCvV.js → List-B7gE17Uu.js} +1 -1
  66. package/dist/assets/List-B7stVodo.css +1 -0
  67. package/dist/assets/{List-CV6ZFpJt.js → List-By1Vg7U3.js} +1 -1
  68. package/dist/assets/List-ByRoWUqS.js +1 -0
  69. package/dist/assets/LocalTools-C0CsQekj.js +5 -0
  70. package/dist/assets/{LocalTools-DoTgbMuT.js → LocalTools-Dw-cSEm5.js} +1 -1
  71. package/dist/assets/{Logo-CusEze2M.js → Logo-B5pb3LXw.js} +1 -1
  72. package/dist/assets/{Main-ONLlInv1.js → Main-gugFahba.js} +1 -1
  73. package/dist/assets/Message-C0-5k24c.js +3 -0
  74. package/dist/assets/Model-DSVl1m8-.js +1 -0
  75. package/dist/assets/{Navigator-Dlh58ndt.js → Navigator-B-NGLAVz.js} +4 -4
  76. package/dist/assets/{NotFound-CwFD4Ksf.js → NotFound-Bp7eiYNh.js} +1 -1
  77. package/dist/assets/{PageHeader-CEF1kkj2.js → PageHeader-5PIb-pRr.js} +1 -1
  78. package/dist/assets/Pay-BXFjGCjg.js +1 -0
  79. package/dist/assets/{Player-CG_qPu9f.js → Player-BDjTM_TZ.js} +1 -1
  80. package/dist/assets/{Poivelle-CFTs0QM2.js → Poivelle-CATRUvJM.js} +1 -1
  81. package/dist/assets/{RealtimeCall-DWa-EMa8.js → RealtimeCall-4hZrsGbX.js} +1 -1
  82. package/dist/assets/{ReportButton-CE99kMuV.js → ReportButton-D07ABYgs.js} +1 -1
  83. package/dist/assets/{ReportDialog-CtH2W2Ml.js → ReportDialog-CZ_kBqmh.js} +1 -1
  84. package/dist/assets/{ScenarioPaymentMode-z1NgjkNu.js → ScenarioPaymentMode-DHx-gf_J.js} +1 -1
  85. package/dist/assets/{ScheduledTasks-BanAkO87.js → ScheduledTasks-BTdAj5bj.js} +2 -2
  86. package/dist/assets/{SolanaWalletPickerDialog-Cf1c9aRy.js → SolanaWalletPickerDialog-Dyf4OrtZ.js} +1 -1
  87. package/dist/assets/{Status-CX7rChDZ.css → Status-7DGGTrl_.css} +1 -1
  88. package/dist/assets/Status-BAOOm7Y6.js +1 -0
  89. package/dist/assets/Subscribe-DGalaHGM.css +1 -0
  90. package/dist/assets/Subscribe-Qqvq4kcb.js +1 -0
  91. package/dist/assets/{TabSwitcher-DFSRi_JU.js → TabSwitcher-SRPkuCQO.js} +1 -1
  92. package/dist/assets/Tts-CiW_3IBs.js +1 -0
  93. package/dist/assets/{VideoPlayer-CWRC_2uk.js → VideoPlayer-89YYttvk.js} +1 -1
  94. package/dist/assets/{VideoPreview-CnkWMQ8C.js → VideoPreview-BlX_PPPl.js} +1 -1
  95. package/dist/assets/arrow-down-M2F1qebD.js +1 -0
  96. package/dist/assets/{arrow-down-wide-narrow-xP4Yk_m9.js → arrow-down-wide-narrow-DaI6Uvy0.js} +1 -1
  97. package/dist/assets/arrow-left-D_2mJNNF.js +1 -0
  98. package/dist/assets/arrow-right-abRRWNmS.js +1 -0
  99. package/dist/assets/arrow-up-DMpA1IsJ.js +1 -0
  100. package/dist/assets/authorizeFlow-CujA2Sko.js +1 -0
  101. package/dist/assets/{avatar-CnQsavBT.js → avatar-C6N1pFHe.js} +1 -1
  102. package/dist/assets/{basic-CqqyRSQ6.js → basic-CPefaDNi.js} +1 -1
  103. package/dist/assets/{book-open-BBto52Hy.js → book-open-DAATULmD.js} +1 -1
  104. package/dist/assets/{box-CjgWzmRH.js → box-BShXku0x.js} +1 -1
  105. package/dist/assets/{boxes-Ch0CdyWt.js → boxes-OOy_NK7l.js} +1 -1
  106. package/dist/assets/{brain-BvsRE_4G.js → brain-Cu-lPJz-.js} +1 -1
  107. package/dist/assets/{chart-no-axes-combined-CCgcomKw.js → chart-no-axes-combined-cFmOkyoL.js} +1 -1
  108. package/dist/assets/{chat-0yFlMYVR.js → chat-2mnC6M1U.js} +1 -1
  109. package/dist/assets/check-TtZdHrlm.js +1 -0
  110. package/dist/assets/chevron-down-DMXTi49q.js +1 -0
  111. package/dist/assets/chevron-right-DIQNv_0r.js +1 -0
  112. package/dist/assets/circle-check-DKBPWCH5.js +1 -0
  113. package/dist/assets/{circle-question-mark-7WsuM54_.js → circle-question-mark-ChtLUjT_.js} +1 -1
  114. package/dist/assets/{clipboard-list-aYWEA39z.js → clipboard-list-BYEYDrSf.js} +1 -1
  115. package/dist/assets/clock-D5NbflY9.js +1 -0
  116. package/dist/assets/code-wKSqPZcq.js +1 -0
  117. package/dist/assets/{codingBridge-DPqwv_Q-.js → codingBridge-DSl0gsJ9.js} +2 -2
  118. package/dist/assets/{codingBridgeNotify-C243XAQ3.js → codingBridgeNotify-kOlSTgx4.js} +2 -2
  119. package/dist/assets/{coins-D7u-P3hE.js → coins-DwMmRk4F.js} +1 -1
  120. package/dist/assets/{collapse-Cn0v0672.js → collapse-GpKda_4j.js} +1 -1
  121. package/dist/assets/{constants-CdZEFH5x.js → constants-COIxBjYU.js} +1 -1
  122. package/dist/assets/{copy-C-eoCqpp.js → copy-BCep57w1.js} +1 -1
  123. package/dist/assets/{createTaskActions-Dpo2FY6E.js → createTaskActions-BXMbF95s.js} +1 -1
  124. package/dist/assets/{digitalhuman-D5Gv4Ils.js → digitalhuman-Bnx1V9mB.js} +1 -1
  125. package/dist/assets/{dollar-sign-CmuBygPk.js → dollar-sign--p8_eDBy.js} +1 -1
  126. package/dist/assets/{download-BQQJGY0e.js → download-Dt0wWdpW.js} +1 -1
  127. package/dist/assets/{drawer-CLmU-Got.js → drawer-BUv2WEZF.js} +1 -1
  128. package/dist/assets/{dropdown-CDlWW8VF.js → dropdown-CBx7fAAp.js} +1 -1
  129. package/dist/assets/{dropdown-CbNRUbfy.js → dropdown-UTgACN7Q.js} +1 -1
  130. package/dist/assets/{ellipsis-C4pNzKVr.js → ellipsis-yuDcWrJ4.js} +1 -1
  131. package/dist/assets/esm-BgUDy7vB.js +1 -0
  132. package/dist/assets/{esm-mQK7-Jmo.js → esm-C9MRpvkK.js} +2 -2
  133. package/dist/assets/{esm-CAyhwU8I.js → esm-D4Ha2HnB.js} +2 -2
  134. package/dist/assets/{external-link-CAB_CNUu.js → external-link-CYfNxhR8.js} +1 -1
  135. package/dist/assets/{eye-DYfNRuif.js → eye-oDfmxiDV.js} +1 -1
  136. package/dist/assets/{file-output-bSrlvRrv.js → file-output-XcBh5O_y.js} +1 -1
  137. package/dist/assets/{file-text-DxPsfXW2.js → file-text-DkDLGLgh.js} +1 -1
  138. package/dist/assets/{file-C6dKDiai.js → file-tjfJc6_R.js} +1 -1
  139. package/dist/assets/fish-Cx9f10Gm.js +1 -0
  140. package/dist/assets/{flux-D02otYqk.js → flux-Bmcbakjy.js} +1 -1
  141. package/dist/assets/{folder--oyQ8nfO.js → folder-DAsfhav6.js} +1 -1
  142. package/dist/assets/gauge-DP9sk0Fe.js +1 -0
  143. package/dist/assets/{globe-BEP94d7V.js → globe-v5rghgGg.js} +1 -1
  144. package/dist/assets/{grokvideo-eP7aiT3d.js → grokvideo-C8TWPKxr.js} +1 -1
  145. package/dist/assets/{hailuo-BtGLIk6L.js → hailuo-C1kObLTr.js} +1 -1
  146. package/dist/assets/{headphones-Dm9heVrC.js → headphones-B3pskUHm.js} +1 -1
  147. package/dist/assets/{history-CU_KyGIV.js → history-BZjtFlQ0.js} +1 -1
  148. package/dist/assets/{house-Dpj9MokZ.js → house-f-R5K_9D.js} +1 -1
  149. package/dist/assets/{i18n-DhQn0Z8p.js → i18n-DBTdUKZz.js} +1 -1
  150. package/dist/assets/{image-C9t8D3m5.js → image-CR04SjVv.js} +1 -1
  151. package/dist/assets/{imageRequests-D36QFGD8.js → imageRequests-CLSZhX1d.js} +1 -1
  152. package/dist/assets/{index-C-w8AJfV.js → index-CTn7SLTr.js} +16 -16
  153. package/dist/assets/{index.es-CpSPskGM.js → index.es-DB6BDgPr.js} +1 -1
  154. package/dist/assets/{info-CifZclsR.js → info-zYDWDLVP.js} +1 -1
  155. package/dist/assets/{input-number-D_PD56K7.js → input-number-B0xcuDnW.js} +1 -1
  156. package/dist/assets/{key-round-DpXGLbCi.js → key-round-BX8FPmcu.js} +1 -1
  157. package/dist/assets/{kling-BdClJllc.js → kling-tUEGRRxO.js} +1 -1
  158. package/dist/assets/{languages-DFIVuRRk.js → languages-DKKUB3AY.js} +1 -1
  159. package/dist/assets/{laptop-RhJDASeF.js → laptop-DSbqbKpY.js} +1 -1
  160. package/dist/assets/{lightbulb-BHpGUYNg.js → lightbulb-NABKBXyu.js} +1 -1
  161. package/dist/assets/{link-Dk_62wni.js → link-ByjYUxSr.js} +1 -1
  162. package/dist/assets/loader-circle-r7o2cOdj.js +1 -0
  163. package/dist/assets/{lock-DNH1WqDy.js → lock-gJ6pDfMu.js} +1 -1
  164. package/dist/assets/{veo-KUI55n_I.js → luma-CfpOdZqb.js} +1 -1
  165. package/dist/assets/maestro-yRubvEFE.js +1 -0
  166. package/dist/assets/{maestroLanguages-Ci01wqmN.js → maestroLanguages-B0F58ijw.js} +1 -1
  167. package/dist/assets/{mail-D90C07ml.js → mail-DZpi5J9I.js} +1 -1
  168. package/dist/assets/{message-circle-DryU-mjQ.js → message-circle-D8K26AlF.js} +1 -1
  169. package/dist/assets/{mic-DpkP8cNS.js → mic-DKCR-fiK.js} +1 -1
  170. package/dist/assets/{midjourney-ClFnrXbL.js → midjourney-DM-JhLuX.js} +1 -1
  171. package/dist/assets/{minimax-CQMZNwrQ.js → minimax-DxlvMTWd.js} +1 -1
  172. package/dist/assets/{mobileLocalExec-D5WUfOvw.js → mobileLocalExec-IQ4ZYo9T.js} +2 -2
  173. package/dist/assets/{models-C4O1HNS0.js → models-DAfyWAqc.js} +1 -1
  174. package/dist/assets/{monitor-CgbJvAA5.js → monitor-dn1EyIUV.js} +1 -1
  175. package/dist/assets/{mouse-pointer-2-DZcCmo__.js → mouse-pointer-2-C7O4LVbr.js} +1 -1
  176. package/dist/assets/music-2-UxfKU68J.js +1 -0
  177. package/dist/assets/{nanobanana-C3e37CBh.js → nanobanana-CxpWeSUn.js} +1 -1
  178. package/dist/assets/{omni-Ck0PEQnQ.js → omni-DxA9Ux8Y.js} +1 -1
  179. package/dist/assets/{openaiimage-BP3YyHY8.js → openaiimage-DlDGJtH4.js} +1 -1
  180. package/dist/assets/{pagination-Cqd6FGMz.js → pagination-C5hWM-uh.js} +1 -1
  181. package/dist/assets/{pagination-C2V-Ik6E.js → pagination-DMwQC4ut.js} +1 -1
  182. package/dist/assets/{pagination-CkF2u9jK.js → pagination-NMff1SYZ.js} +1 -1
  183. package/dist/assets/{palette-xGLHQR5_.js → palette-CRW1qOCG.js} +1 -1
  184. package/dist/assets/{paperclip-Sf7MFEDh.js → paperclip-HA2RNkmq.js} +1 -1
  185. package/dist/assets/{pause-adMkKrSO.js → pause-09GpN31S.js} +1 -1
  186. package/dist/assets/{pencil-DJveEUCk.js → pencil-CD6MLBSx.js} +1 -1
  187. package/dist/assets/{pika-DEskP_8Q.js → pika-CxjINjjD.js} +1 -1
  188. package/dist/assets/pixverse-CzR8RnTd.js +1 -0
  189. package/dist/assets/play-1r8M6tGa.js +1 -0
  190. package/dist/assets/{plug-DIygGUs_.js → plug-D6wUveI9.js} +1 -1
  191. package/dist/assets/plus-Dzhx2WdR.js +1 -0
  192. package/dist/assets/{poivelle-CkRG9K6R.js → poivelle-ChqnXNHp.js} +1 -1
  193. package/dist/assets/{popover-CCbUzZfK.js → popover-8bFfKyEx.js} +1 -1
  194. package/dist/assets/{producer-_LkVoJMc.js → producer-CZdiq23k.js} +1 -1
  195. package/dist/assets/{qrart-BqkocT47.js → qrart-T4a6zkdJ.js} +1 -1
  196. package/dist/assets/realtime-C0bVe3k2.js +1 -0
  197. package/dist/assets/{refresh-cw-Bu2iSphh.js → refresh-cw-3eBUX5Ea.js} +1 -1
  198. package/dist/assets/rotate-ccw-DFETd1JJ.js +1 -0
  199. package/dist/assets/rotate-cw-BLViYEn3.js +1 -0
  200. package/dist/assets/{row-pFT5d-_R.js → row-BQUMxfsY.js} +1 -1
  201. package/dist/assets/search-CiYRAPUv.js +1 -0
  202. package/dist/assets/{seedance-DCWtAWZC.js → seedance-B4xVdEcz.js} +1 -1
  203. package/dist/assets/{seedance-DXfPy2q8.js → seedance-BU87svl9.js} +1 -1
  204. package/dist/assets/{seedance-0TFLzSy1.js → seedance-BUUXPGMG.js} +1 -1
  205. package/dist/assets/{seedance-BBKWD7c_.js → seedance-BqTYtpLG.js} +1 -1
  206. package/dist/assets/{seedance-BtsI-tRM.js → seedance-CHsxg4P4.js} +1 -1
  207. package/dist/assets/{seedance-CyKJmndD.js → seedance-CIQQcSsr.js} +1 -1
  208. package/dist/assets/{seedance-CpMvE3ez.js → seedance-CYdxrUAH.js} +1 -1
  209. package/dist/assets/{seedance-DJdaT6lI.js → seedance-Ch0IqLL8.js} +1 -1
  210. package/dist/assets/{seedance-DXIJarfX.js → seedance-ChfMbvyR.js} +1 -1
  211. package/dist/assets/{seedance-BfNWmADU.js → seedance-D78Q9Dqd.js} +1 -1
  212. package/dist/assets/{seedance-Ck71k2Hk.js → seedance-DRCikQzO.js} +1 -1
  213. package/dist/assets/{seedance-BbHeJ5It.js → seedance-DWR0aqWj.js} +1 -1
  214. package/dist/assets/{seedance-BdCXpI_-.js → seedance-DXAEqQbv.js} +1 -1
  215. package/dist/assets/{seedance-rfU7_6cn.js → seedance-DYRJv_ev.js} +1 -1
  216. package/dist/assets/{seedance-BRVYerFG.js → seedance-Ddun-kkV.js} +1 -1
  217. package/dist/assets/{seedance-TvFOE1iV.js → seedance-Dy5Y-9bL.js} +1 -1
  218. package/dist/assets/{seedance-DryiyZKa.js → seedance-JNM8UN75.js} +1 -1
  219. package/dist/assets/{seedance-CMbd4CPZ.js → seedance-kv4Nb_ME.js} +1 -1
  220. package/dist/assets/{seedance-CDoCt5y2.js → seedance-nNagglok.js} +1 -1
  221. package/dist/assets/{seedream-BMxjvAAA.js → seedream-CMXDmAzS.js} +1 -1
  222. package/dist/assets/{select-K-2CZ3eR.js → select-C0yzkTif.js} +1 -1
  223. package/dist/assets/serp-Dt_PQkXV.js +1 -0
  224. package/dist/assets/{shield-C30JJkad.js → shield-wdrqyAOI.js} +1 -1
  225. package/dist/assets/{shuffle-BPsWcYzJ.js → shuffle-Bqjf3c86.js} +1 -1
  226. package/dist/assets/{slider-CAVbZ4km.js → slider-BDLlDUDz.js} +1 -1
  227. package/dist/assets/{solana-wallets-BPM-gerP.js → solana-wallets-C-BcnEbE.js} +2 -2
  228. package/dist/assets/{wan-BVk2cktb.js → sora-DFX7Ridx.js} +1 -1
  229. package/dist/assets/{sparkles-CmjUgM5X.js → sparkles-BoTKvrNO.js} +1 -1
  230. package/dist/assets/square-B9lxDeHX.js +1 -0
  231. package/dist/assets/{store-CfHokbJJ.js → store-B3O9u73-.js} +1 -1
  232. package/dist/assets/{suno-SgCCjgsb.js → suno-DCe2XW0B.js} +1 -1
  233. package/dist/assets/{switch-BZMevA9h.js → switch-C7dNKdGq.js} +1 -1
  234. package/dist/assets/{table-CYivBc_q.js → table-UhquZYel.js} +1 -1
  235. package/dist/assets/{tabs-BaqfDqfv.js → tabs-BwvMWaWZ.js} +1 -1
  236. package/dist/assets/{tag-BAF7zUb4.js → tag-BJxLMPQ4.js} +1 -1
  237. package/dist/assets/terminal-C5ne2YRf.js +1 -0
  238. package/dist/assets/{time-picker-D-zHadCF.js → time-picker-DoJ_mwqy.js} +1 -1
  239. package/dist/assets/{tooltip-CjkDaYbd.js → tooltip-CY9KP5TS.js} +1 -1
  240. package/dist/assets/{trash-2-zWLkqDxH.js → trash-2-B1wBangj.js} +1 -1
  241. package/dist/assets/{triangle-alert-CCs6VvUs.js → triangle-alert-CAuu6B-W.js} +1 -1
  242. package/dist/assets/{upload-_zFgS7Nh.js → upload-D6AM_V-z.js} +1 -1
  243. package/dist/assets/{upload-Q8MqK29R.js → upload-D_4LkjOW.js} +1 -1
  244. package/dist/assets/user-B3wTOjwB.js +1 -0
  245. package/dist/assets/{luma-DRjMeSc2.js → veo-W71kXy0Z.js} +1 -1
  246. package/dist/assets/{video-CFfCNDdy.js → video-DVgqKgsY.js} +1 -1
  247. package/dist/assets/{volume-2-DE0tnLtn.js → volume-2-DocaJU2F.js} +1 -1
  248. package/dist/assets/{wallet-C-kwFfVY.js → wallet-RBRJCWek.js} +1 -1
  249. package/dist/assets/{sora-Ci3bZEwI.js → wan-CgXklc_4.js} +1 -1
  250. package/dist/assets/{wand-sparkles-BFbcxwi3.js → wand-sparkles-CJH0v5L4.js} +1 -1
  251. package/dist/assets/{web-CBAHqQFG.js → web-9nZX65Vh.js} +1 -1
  252. package/dist/assets/{web-BJPtlBfg.js → web-BjNw9wT3.js} +1 -1
  253. package/dist/assets/{web-DS65bqhf.js → web-D29bO3g4.js} +1 -1
  254. package/dist/assets/{web-DyEvw4UT.js → web-DRJhyBh_.js} +1 -1
  255. package/dist/assets/{web-CABW7ZTT.js → web-nUZelD8c.js} +1 -1
  256. package/dist/assets/webextrator-C1x7ltX3.js +1 -0
  257. package/dist/assets/{zap-Yxjdgccv.js → zap-Bo8Pzpwk.js} +1 -1
  258. package/dist/index.html +4 -4
  259. package/package.json +1 -1
  260. package/dist/assets/Console-BxYtZiKP.js +0 -1
  261. package/dist/assets/Conversation-DxHOnUbb.js +0 -1
  262. package/dist/assets/Detail-gYf9lCLZ.js +0 -2
  263. package/dist/assets/Extra-DOKzdi0p.js +0 -1
  264. package/dist/assets/Extra-DsIHXgRm.css +0 -1
  265. package/dist/assets/Index-7COUDjVu.js +0 -1
  266. package/dist/assets/Index-BHmbPOxX.js +0 -1
  267. package/dist/assets/Index-B_KEsjHe.js +0 -1
  268. package/dist/assets/Index-Bhn0_eJl.js +0 -1
  269. package/dist/assets/Index-C-lKd2nE2.js +0 -1
  270. package/dist/assets/Index-C0vN7uy_.js +0 -1
  271. package/dist/assets/Index-C95E9MNj.js +0 -1
  272. package/dist/assets/Index-CBRCeg0H.js +0 -1
  273. package/dist/assets/Index-CCHqZBcF.js +0 -1
  274. package/dist/assets/Index-CHF28ZI5.js +0 -1
  275. package/dist/assets/Index-CQTE0OSh.js +0 -1
  276. package/dist/assets/Index-CpfPhJzb.js +0 -1
  277. package/dist/assets/Index-CwV8Utkg.js +0 -1
  278. package/dist/assets/Index-Cyz1v4cX.js +0 -1
  279. package/dist/assets/Index-D58ebdDE.js +0 -1
  280. package/dist/assets/Index-DFfu4PfT.js +0 -1
  281. package/dist/assets/Index-DYFrW-_K.js +0 -1
  282. package/dist/assets/Index-DqsV33my.js +0 -1
  283. package/dist/assets/Index-DuhACoUR.js +0 -1
  284. package/dist/assets/Index-Duva2-wr.js +0 -1
  285. package/dist/assets/Index-DvCahpg1.js +0 -1
  286. package/dist/assets/Index-HUbEe1eR.js +0 -1
  287. package/dist/assets/Index-MGIX_apc.js +0 -1
  288. package/dist/assets/Index-dpAwxSxA.js +0 -1
  289. package/dist/assets/Index-gr2b7csS.js +0 -1
  290. package/dist/assets/Index-jDK0-rqq.js +0 -2
  291. package/dist/assets/Index-z86-kR96.js +0 -1
  292. package/dist/assets/List-CgyZMpyx.js +0 -1
  293. package/dist/assets/List-DBsU3TQj.css +0 -1
  294. package/dist/assets/LocalTools-CpzJO__m.js +0 -5
  295. package/dist/assets/Message-CHzrXHAI.js +0 -3
  296. package/dist/assets/Model-DyxkJfAf.js +0 -1
  297. package/dist/assets/Pay-aalIWMIv.js +0 -1
  298. package/dist/assets/Status-4ALebiGo.js +0 -1
  299. package/dist/assets/Subscribe-CRLnja4f.css +0 -1
  300. package/dist/assets/Subscribe-DK8jHK2K.js +0 -1
  301. package/dist/assets/Tts-CAdHV0oP.js +0 -1
  302. package/dist/assets/arrow-down-Dgcv9V1n.js +0 -1
  303. package/dist/assets/arrow-left-DjeyNMjO.js +0 -1
  304. package/dist/assets/arrow-right-yD2bsK_A.js +0 -1
  305. package/dist/assets/arrow-up-Oq-TyfTv.js +0 -1
  306. package/dist/assets/authorizeFlow-BUO5Flgm.js +0 -1
  307. package/dist/assets/check-C6haHp_5.js +0 -1
  308. package/dist/assets/chevron-down-kOQEc1DQ.js +0 -1
  309. package/dist/assets/chevron-right-D4ynMR67.js +0 -1
  310. package/dist/assets/circle-check-DhFuCeIC.js +0 -1
  311. package/dist/assets/clock-DAmpmfMk.js +0 -1
  312. package/dist/assets/code-B_88gzRu.js +0 -1
  313. package/dist/assets/esm-BzkzIXzG.js +0 -1
  314. package/dist/assets/fish-Q2L3z4Al.js +0 -1
  315. package/dist/assets/gauge-BKTV8ItL.js +0 -1
  316. package/dist/assets/loader-circle-BR0zD2Br.js +0 -1
  317. package/dist/assets/maestro-DCbUANt5.js +0 -1
  318. package/dist/assets/music-2-DNsg6C9m.js +0 -1
  319. package/dist/assets/pixverse-DJ8ovsB6.js +0 -1
  320. package/dist/assets/play-BX89pr5h.js +0 -1
  321. package/dist/assets/plus-DsPtzHMZ.js +0 -1
  322. package/dist/assets/realtime-BUOeNyD-.js +0 -1
  323. package/dist/assets/rotate-ccw-IPNYOxzK.js +0 -1
  324. package/dist/assets/rotate-cw-Cw8L_Hve.js +0 -1
  325. package/dist/assets/search-CkC2D5Yj.js +0 -1
  326. package/dist/assets/serp-CAeQ9XXL.js +0 -1
  327. package/dist/assets/square-DymQsvx_.js +0 -1
  328. package/dist/assets/terminal-yXrC2I0y.js +0 -1
  329. package/dist/assets/user-DHY7x-vL.js +0 -1
  330. package/dist/assets/webextrator-C8VyzL3x.js +0 -1
@@ -1,2 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ht as d,it as f,j as p,mt as m,ot as h,rt as g,st as _,tt as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{t as b}from"./upload-_zFgS7Nh.js";import{h as x,v as S}from"./models-C4O1HNS0.js";import{t as C}from"./checkbox-DXMDpaxv.js";import{t as w}from"./drawer-CLmU-Got.js";import{n as T,r as E,t as D}from"./dropdown-CbNRUbfy.js";import{t as O}from"./popover-CCbUzZfK.js";import{n as ee,t as te}from"./skeleton-Dj_a_iIP.js";import{t as ne}from"./arrow-right-yD2bsK_A.js";import{t as k}from"./arrow-up-Oq-TyfTv.js";import{t as re}from"./brain-BvsRE_4G.js";import{t as A}from"./check-C6haHp_5.js";import{t as ie}from"./chevron-down-kOQEc1DQ.js";import{t as ae}from"./clipboard-list-aYWEA39z.js";import{t as j}from"./code-B_88gzRu.js";import{t as M}from"./ellipsis-C4pNzKVr.js";import{t as oe}from"./eye-DYfNRuif.js";import{t as se}from"./file-text-DxPsfXW2.js";import{t as N}from"./file-C6dKDiai.js";import{t as ce}from"./folder--oyQ8nfO.js";import{t as P}from"./gauge-BKTV8ItL.js";import{t as F}from"./history-CU_KyGIV.js";import{t as I}from"./info-CifZclsR.js";import{t as L}from"./laptop-RhJDASeF.js";import{t as R}from"./link-Dk_62wni.js";import{t as z}from"./loader-circle-BR0zD2Br.js";import{t as le}from"./mic-DpkP8cNS.js";import{t as ue}from"./monitor-CgbJvAA5.js";import{t as B}from"./paperclip-Sf7MFEDh.js";import{t as V}from"./pencil-DJveEUCk.js";import{t as H}from"./plus-DsPtzHMZ.js";import{t as U}from"./rotate-cw-Cw8L_Hve.js";import{t as de}from"./search-CkC2D5Yj.js";import{t as fe}from"./shield-C30JJkad.js";import{t as pe}from"./square-DymQsvx_.js";import{t as me}from"./terminal-yXrC2I0y.js";import{t as he}from"./trash-2-zWLkqDxH.js";import{ca as ge}from"./constants-CdZEFH5x.js";import{Ba as W,Ca as G,Ma as K,O as q,_a as J,ga as Y,ia as _e,nn as ve,on as ye,pa as be,rn as xe,tn as Se,va as Ce}from"./index-C-w8AJfV.js";import"./vendor-highlight-BHrfT4-E.js";import{t as we}from"./CopyToClipboard-B8YmxJt6.js";import{t as Te}from"./VueMarkdown-CiiRjbWs.js";import{t as Ee}from"./AskUserQuestionCard-BSkNo5B6.js";import{s as De,t as Oe}from"./codingBridgeNotify-C243XAQ3.js";import{t as ke}from"./CodeSnippet-CSaU41R9.js";var Ae=J(`bell-off`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`,key:`178tsu`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`,key:`1hqiys`}]]),je=J(`bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),Me=J(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),Ne=y({name:`CodingBridgeNotificationToggle`,components:{LoadingIcon:z,NotificationIcon:je,NotificationOffIcon:Ae,ElButton:K},data(){return{enabled:!1,busy:!1}},computed:{supported(){return be()||De()}},mounted(){this.enabled=!be()&&Oe()===`granted`},methods:{async onToggle(){this.busy=!0;try{if(this.enabled){await this.$store.dispatch(`codingBridge/disableNotifications`),this.enabled=!1,S.success(this.$t(`codingBridge.notify.disabled`));return}let e=await this.$store.dispatch(`codingBridge/enableNotifications`);e===`enabled`?(this.enabled=!0,S.success(this.$t(`codingBridge.notify.enabled`))):e===`denied`?S.warning(this.$t(`codingBridge.notify.denied`)):S.warning(this.$t(`codingBridge.notify.unsupported`))}catch{S.error(this.$t(`codingBridge.notify.failed`))}finally{this.busy=!1}}}});function Pe(e,t,n,r,i,a){let s=u(`loading-icon`),c=u(`notification-icon`),l=u(`notification-off-icon`),d=u(`el-button`);return e.supported?(v(),p(d,{key:0,circle:``,size:`small`,type:e.enabled?`primary`:`default`,title:e.enabled?e.$t(`codingBridge.notify.disable`):e.$t(`codingBridge.notify.enable`),disabled:e.busy,"aria-label":e.enabled?e.$t(`codingBridge.notify.disable`):e.$t(`codingBridge.notify.enable`),onClick:e.onToggle},{default:m(()=>[e.busy?(v(),p(s,{key:0,class:`adc-icon-spin`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):e.enabled?(v(),p(c,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(v(),p(l,{key:2,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]),_:1},8,[`type`,`title`,`disabled`,`aria-label`,`onClick`])):o(``,!0)}var Fe=y({name:`CodingBridgeNodeList`,components:{AddIcon:H,DeleteIcon:he,DesktopIcon:ue,DeveloperIcon:L,EditIcon:V,RedoIcon:U,ElButton:K,NotificationToggle:q(Ne,[[`render`,Pe]])},emits:[`pair`],computed:{nodes(){return this.$store.state.codingBridge?.nodes??[]},currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},connection(){return this.$store.state.codingBridge?.connection??`disconnected`},connectionLabel(){return this.$t(`codingBridge.connection.${this.connection}`)},connectionDotClass(){switch(this.connection){case`connected`:return`bg-[var(--el-color-success)]`;case`connecting`:return`bg-[var(--el-color-warning)]`;case`error`:return`bg-[var(--el-color-danger)]`;default:return`bg-[var(--app-text-subtle)]`}}},methods:{onSelect(e){this.$store.dispatch(`codingBridge/selectNode`,e)},onRefresh(){this.$store.dispatch(`codingBridge/getNodes`)},async onRename(e){let t;try{t=((await Ce.prompt(this.$t(`codingBridge.nodeList.renamePrompt`),this.$t(`codingBridge.nodeList.rename`),{confirmButtonText:this.$t(`common.button.confirm`),cancelButtonText:this.$t(`common.button.cancel`),inputValue:e.name,inputValidator:e=>{let t=(e??``).trim();return t?[...t].length>64?this.$t(`codingBridge.nodeList.renameTooLong`,{max:64}):!0:this.$t(`codingBridge.nodeList.renameEmpty`)}})).value??``).trim()}catch{return}if(!(!t||t===e.name))try{await this.$store.dispatch(`codingBridge/renameNode`,{nodeId:e.node_id,name:t}),S.success(this.$t(`codingBridge.nodeList.renameSuccess`))}catch{S.error(this.$t(`codingBridge.nodeList.renameFailed`))}},async onDelete(e){try{await Ce.confirm(this.$t(`codingBridge.nodeList.removeConfirm`,{name:e.name}),this.$t(`codingBridge.nodeList.remove`),{confirmButtonText:this.$t(`codingBridge.nodeList.remove`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`})}catch{return}try{await this.$store.dispatch(`codingBridge/deleteNode`,e.node_id),S.success(this.$t(`codingBridge.nodeList.removeSuccess`))}catch{S.error(this.$t(`codingBridge.nodeList.removeFailed`))}}}}),Ie={class:`node-list flex flex-col h-full bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},Le={class:`flex items-center justify-between px-4 py-3 border-b border-[var(--app-border-subtle)]`},Re={class:`flex items-center gap-2 font-medium`},ze={class:`flex items-center gap-1`},Be={class:`flex items-center gap-2 px-4 py-2 text-xs border-b border-[var(--app-border-subtle)]`},Ve={class:`text-[var(--app-text-subtle)]`},He={class:`flex-1 overflow-y-auto`},Ue={key:0,class:`p-6 text-center text-sm text-[var(--app-text-subtle)]`},We={class:`mb-3`},Ge={key:1,class:`list-none m-0 p-0`},Ke=[`onClick`],qe={class:`flex-1 min-w-0`},Je={class:`flex items-center gap-2`},Ye={class:`truncate font-medium`},Xe=[`title`],Ze={class:`text-xs text-[var(--app-text-subtle)] truncate`};function Qe(o,c,d,f,p,h){let _=u(`developer-icon`),y=u(`notification-toggle`),b=u(`redo-icon`),x=u(`el-button`),S=u(`add-icon`),C=u(`desktop-icon`),w=u(`edit-icon`),T=u(`delete-icon`);return v(),s(`div`,Ie,[e(`div`,Le,[e(`div`,Re,[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(o.$t(`codingBridge.nodeList.title`)),1)]),e(`div`,ze,[a(y),a(x,{circle:``,size:`small`,"aria-label":o.$t(`codingBridge.nodeList.refresh`),title:o.$t(`codingBridge.nodeList.refresh`),onClick:o.onRefresh},{default:m(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`,`onClick`]),a(x,{type:`primary`,circle:``,size:`small`,"aria-label":o.$t(`codingBridge.nodeList.pair`),title:o.$t(`codingBridge.nodeList.pair`),onClick:c[0]||=e=>o.$emit(`pair`)},{default:m(()=>[a(S,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`])])]),e(`div`,Be,[e(`span`,{class:n([`inline-block w-2 h-2 rounded-full`,o.connectionDotClass])},null,2),e(`span`,Ve,i(o.connectionLabel),1)]),e(`div`,He,[o.nodes.length?(v(),s(`ul`,Ge,[(v(!0),s(l,null,g(o.nodes,r=>(v(),s(`li`,{key:r.node_id,class:n([`group flex items-center gap-3 px-4 py-3 cursor-pointer border-b border-[var(--app-border-subtle)] hover:bg-[var(--app-content-bg)]`,{"bg-[var(--app-content-bg)]":r.node_id===o.currentNodeId}]),onClick:e=>o.onSelect(r.node_id)},[a(C,{class:`text-[var(--app-text-subtle)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`div`,qe,[e(`div`,Je,[e(`span`,Ye,i(r.name),1),e(`span`,{class:n([`inline-block w-2 h-2 rounded-full flex-none`,r.status===`online`?`bg-[var(--el-color-success)]`:`bg-[var(--app-text-subtle)]`]),title:r.status===`online`?o.$t(`codingBridge.status.online`):o.$t(`codingBridge.status.offline`)},null,10,Xe)]),e(`div`,Ze,i(r.status===`online`?o.$t(`codingBridge.status.online`):o.$t(`codingBridge.status.offline`)),1)]),a(x,{class:`node-action`,text:``,circle:``,size:`small`,"aria-label":o.$t(`codingBridge.nodeList.rename`),title:o.$t(`codingBridge.nodeList.rename`),onClick:t(e=>o.onRename(r),[`stop`])},{default:m(()=>[a(w,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`,`onClick`]),a(x,{class:`node-action`,text:``,circle:``,size:`small`,"aria-label":o.$t(`codingBridge.nodeList.remove`),title:o.$t(`codingBridge.nodeList.remove`),onClick:t(e=>o.onDelete(r),[`stop`])},{default:m(()=>[a(T,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`,`onClick`])],10,Ke))),128))])):(v(),s(`div`,Ue,[e(`p`,We,i(o.$t(`codingBridge.nodeList.empty`)),1),a(x,{type:`primary`,round:``,size:`small`,onClick:c[1]||=e=>o.$emit(`pair`)},{default:m(()=>[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(o.$t(`codingBridge.nodeList.pairFirst`)),1)]),_:1})]))])])}var $e=q(Fe,[[`render`,Qe],[`__scopeId`,`data-v-37e3f542`]]),et=e=>{let t=e?.questions;return Array.isArray(t)&&t.length>0&&t.every(e=>e&&typeof e.question==`string`&&Array.isArray(e.options))},tt=e=>e?(e.tool||``).toLowerCase()===`askuserquestion`?!0:et(e.input):!1,nt=e=>({questions:e.input?.questions??[]}),rt=100,X=4e4,it=12e3,at=6e3,ot=50,st=200,Z=(e,t)=>{if(e.length<=t)return e;let n=((e.length-t)/1024).toFixed(1);return`${e.slice(0,t)}\n\n··· +${n} KB ···`},ct=y({name:`CodingBridgeTranscriptItem`,directives:{highlight:ye},components:{CloseIcon:Y,ConfirmIcon:A,EditIcon:V,FileIcon:N,InfoIcon:I,VueMarkdown:Te,CodeSnippet:ke,CopyToClipboard:we},props:{event:{type:Object,required:!0},editable:{type:Boolean,default:!1}},emits:[`edit`],data(){return{renderedText:Z(this.event.text||``,X),streamTimer:0}},computed:{commandText(){let e=this.event.input;if(!e)return``;for(let t of[`command`,`cmd`,`script`]){let n=e[t];if(typeof n==`string`&&n.trim())return Z(n,at)}return``},filePath(){let e=this.event.input;if(!e)return``;for(let t of[`file_path`,`filePath`,`path`,`notebook_path`,`filename`]){let n=e[t];if(typeof n==`string`&&n.trim())return n}return``},toolDescription(){let e=this.event.input?.description;return typeof e==`string`?e:``},toolIcon(){if(this.todoList.length)return ae;if(this.commandText)return me;let e=(this.event.tool??``).toLowerCase();return/read|cat|view/.test(e)?se:/write|edit|create|update|insert/.test(e)?V:/grep|glob|search|find|list/.test(e)?de:j},questionLines(){let e=(this.event.tool??``).toLowerCase(),t=this.event.input?.questions;return!(e===`askuserquestion`||Array.isArray(t))||!Array.isArray(t)?[]:t.filter(e=>e&&typeof e.question==`string`).map(e=>({header:typeof e.header==`string`?e.header:``,question:e.question}))},todoList(){let e=this.event.input?.todos;return!Array.isArray(e)||!(this.event.tool??``).toLowerCase().includes(`todo`)&&Object.keys(this.event.input??{}).filter(e=>e!==`todos`&&e!==`description`).length?[]:e.filter(e=>e&&typeof e.content==`string`).map(e=>({content:e.content,status:typeof e.status==`string`?e.status:`pending`,activeForm:typeof e.activeForm==`string`?e.activeForm:void 0}))},todoItems(){return this.todoList.slice(0,ot).map(e=>{let t=e.status===`in_progress`&&e.activeForm?e.activeForm:e.content,n=t.length>st?`${t.slice(0,st)}…`:t;return e.status===`completed`?{text:n,status:`completed`,statusLabel:this.$t(`codingBridge.transcript.todoCompleted`),icon:A,iconClass:`text-[var(--el-color-success)]`,textClass:`text-[var(--app-text-subtle)] line-through`}:e.status===`in_progress`?{text:n,status:`in_progress`,statusLabel:this.$t(`codingBridge.transcript.todoInProgress`),icon:z,iconClass:`text-[var(--el-color-primary)]`,textClass:`text-[var(--app-text)] font-medium`}:{text:n,status:`pending`,statusLabel:this.$t(`codingBridge.transcript.todoPending`),icon:pe,iconClass:`text-[var(--app-text-subtle)] opacity-60`,textClass:`text-[var(--app-text-subtle)]`}})},todoProgressLabel(){let e=this.todoList.filter(e=>e.status===`completed`).length;return this.$t(`codingBridge.transcript.todoProgress`,{done:e,total:this.todoList.length})},todoProgressId(){return`cb-todo-progress-${this.event.id}`},todoOverflow(){return Math.max(0,this.todoList.length-ot)},inputText(){let e=this.event.input;if(!e)return``;let t={};for(let[n,r]of Object.entries(e))n===`timeout`||n===`description`||(t[n]=r);if(Object.keys(t).length===0)return``;try{return Z(JSON.stringify(t,null,2),at)}catch{return Z(String(e),at)}},thinkingText(){return Z(this.event.text||``,X)},resultText(){let e=this.event.content;return typeof e==`string`&&e.length>0?e:`—`},resultDisplay(){return Z(this.resultText,it)},resultLabel(){let e=[];return this.event.is_error?e.push(this.$t(`codingBridge.transcript.turnFailed`)):e.push(this.$t(`codingBridge.transcript.turnDone`)),typeof this.event.cost_usd==`number`&&this.event.cost_usd>0&&e.push(`$${this.event.cost_usd.toFixed(4)}`),e.join(` · `)},hasAttachments(){return!!this.event.attachments?.length},noticeText(){let e=this.event.subtype,t=this.event.command;if(t){if(e===`slash_unavailable`)return this.$t(`codingBridge.notice.slashUnavailable`,{command:t});if(e===`slash_codex_unsupported`)return this.$t(`codingBridge.notice.slashCodexUnsupported`,{command:t})}return this.event.text||``}},watch:{"event.text"(){this.scheduleRender()},"event.streaming"(e){e||this.flushRender()}},beforeUnmount(){this.streamTimer&&window.clearTimeout(this.streamTimer)},methods:{scheduleRender(){if(!this.event.streaming){this.flushRender();return}this.streamTimer||=window.setTimeout(()=>{this.streamTimer=0,this.renderedText=Z(this.event.text||``,X)},rt)},flushRender(){this.streamTimer&&=(window.clearTimeout(this.streamTimer),0),this.renderedText=Z(this.event.text||``,X)}}}),lt={key:0,class:`group flex items-end justify-end gap-1.5`},ut=[`title`,`aria-label`],dt={class:`max-w-[85%] rounded-lg px-3 py-2 bg-[var(--el-color-primary)] text-white whitespace-pre-wrap break-words`},ft=[`src`],pt=[`href`],mt=[`src`],ht={key:1,class:`flex h-9 w-9 items-center justify-center rounded bg-white/15`},gt={class:`min-w-0 truncate`},_t={key:2},vt={key:2,class:`whitespace-pre-wrap break-words italic text-[var(--app-text-subtle)] border-l-2 border-[var(--app-border-subtle)] pl-3`},yt={key:3,class:`overflow-hidden rounded-md bg-[var(--app-sidebar-bg)] border border-[var(--app-border-subtle)]`},bt={class:`flex items-center gap-2 px-2.5 py-1.5 font-medium text-[var(--app-text-subtle)]`},xt={key:0,class:`min-w-0 truncate text-xs font-normal opacity-70`},St={key:0,class:`flex flex-col gap-1.5 px-2.5 pb-2`},Ct={key:0,class:`font-medium text-[var(--app-text)]`},wt={class:`whitespace-pre-wrap break-words text-[var(--app-text-subtle)]`},Tt={key:1,class:`px-2.5 pb-2`},Et=[`id`],Dt=[`aria-labelledby`],Ot={class:`sr-only`},kt={key:0,class:`mt-1 text-xs text-[var(--app-text-subtle)]`},At={key:2,class:`px-2.5 pb-2`},jt={key:3,class:`px-2.5 pb-2 font-mono text-xs break-all text-[var(--app-text-subtle)]`},Mt={key:4,class:`px-2.5 pb-2`},Nt={key:0,class:`absolute right-1.5 top-1.5 z-10 rounded bg-[var(--app-content-bg)] px-1 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100`},Pt={key:5,class:`flex items-center gap-2 text-xs text-[var(--app-text-subtle)]`},Ft={key:6,class:`flex items-start gap-2 rounded-md bg-[var(--app-sidebar-bg)] border border-[var(--app-border-subtle)] text-[var(--app-text-subtle)] px-3 py-2 text-xs`},It={class:`whitespace-pre-wrap break-words`},Lt={key:7,class:`rounded-md bg-[var(--el-color-danger-light-9)] text-[var(--el-color-danger)] px-3 py-2 whitespace-pre-wrap break-words`};function Rt(t,r,c,f,m,y){let b=u(`edit-icon`),x=u(`file-icon`),S=u(`vue-markdown`),C=u(`code-snippet`),w=u(`copy-to-clipboard`),T=u(`close-icon`),E=u(`confirm-icon`),D=u(`info-icon`),O=h(`highlight`);return v(),s(`div`,{class:n([`transcript-item text-sm leading-relaxed`,`kind-${t.event.kind}`])},[t.event.kind===`prompt`?(v(),s(`div`,lt,[t.editable?(v(),s(`button`,{key:0,type:`button`,class:`cb-edit-btn opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100`,title:t.$t(`codingBridge.session.editPrompt`),"aria-label":t.$t(`codingBridge.session.editPrompt`),onClick:r[0]||=e=>t.$emit(`edit`,t.event)},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ut)):o(``,!0),e(`div`,dt,[t.event.images&&t.event.images.length?(v(),s(`div`,{key:0,class:n([`flex flex-wrap gap-1.5`,{"mb-1.5":t.event.text||t.hasAttachments}])},[(v(!0),s(l,null,g(t.event.images,(e,t)=>(v(),s(`img`,{key:t,src:e,class:`w-16 h-16 rounded object-cover`,alt:``},null,8,ft))),128))],2)):o(``,!0),t.hasAttachments?(v(),s(`div`,{key:1,class:n([`flex flex-wrap gap-1.5`,{"mb-1.5":t.event.text}])},[(v(!0),s(l,null,g(t.event.attachments,(t,n)=>(v(),s(`a`,{key:`${t.url}-${n}`,href:t.url,target:`_blank`,rel:`noopener noreferrer`,class:`flex max-w-[220px] items-center gap-2 rounded-md bg-white/15 px-2 py-1.5 text-xs text-white hover:bg-white/20`},[t.type===`image`?(v(),s(`img`,{key:0,src:t.url,class:`h-9 w-9 rounded object-cover`,alt:``},null,8,mt)):(v(),s(`span`,ht,[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})])),e(`span`,gt,i(t.name||t.url),1)],8,pt))),128))],2)):o(``,!0),t.event.text?(v(),s(`span`,_t,i(t.event.text),1)):o(``,!0)])])):t.event.kind===`text`?(v(),s(`div`,{key:1,class:n([`cb-stream-text`,{"is-streaming":t.event.streaming}])},[d(a(S,{source:t.renderedText,class:`markdown-body bg-transparent text-[var(--app-text)]`},null,8,[`source`]),[[O]])],2)):t.event.kind===`thinking`?(v(),s(`div`,vt,i(t.thinkingText),1)):t.event.kind===`tool_use`?(v(),s(`div`,yt,[e(`div`,bt,[(v(),p(_(t.toolIcon),{class:`text-[var(--el-color-primary)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.event.tool),1),t.toolDescription?(v(),s(`span`,xt,i(t.toolDescription),1)):o(``,!0)]),t.questionLines.length?(v(),s(`div`,St,[(v(!0),s(l,null,g(t.questionLines,(t,n)=>(v(),s(`div`,{key:n,class:`rounded border border-[var(--app-border-subtle)] bg-[var(--app-content-bg)] px-2.5 py-1.5 text-xs`},[t.header?(v(),s(`div`,Ct,i(t.header),1)):o(``,!0),e(`div`,wt,i(t.question),1)]))),128))])):t.todoItems.length?(v(),s(`div`,Tt,[e(`div`,{id:t.todoProgressId,class:`mb-1.5 text-xs text-[var(--app-text-subtle)]`},i(t.todoProgressLabel),9,Et),e(`ul`,{class:`flex flex-col gap-1`,"aria-labelledby":t.todoProgressId},[(v(!0),s(l,null,g(t.todoItems,(t,r)=>(v(),s(`li`,{key:r,class:`flex items-start gap-2 text-xs`},[(v(),p(_(t.icon),{class:n([`mt-0.5 flex-none`,t.iconClass]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`])),e(`span`,Ot,i(t.statusLabel),1),e(`span`,{class:n([`min-w-0 break-words`,t.textClass])},i(t.text),3)]))),128))],8,Dt),t.todoOverflow?(v(),s(`div`,kt,i(t.$t(`codingBridge.transcript.todoOverflow`,{count:t.todoOverflow})),1)):o(``,!0)])):t.commandText?(v(),s(`div`,At,[a(C,{code:t.commandText,lang:`bash`,copyable:``},null,8,[`code`])])):t.filePath?(v(),s(`div`,jt,i(t.filePath),1)):t.inputText?(v(),s(`div`,Mt,[a(C,{code:t.inputText,lang:`json`,copyable:``},null,8,[`code`])])):o(``,!0)])):t.event.kind===`tool_result`?(v(),s(`div`,{key:4,class:n([`group relative overflow-hidden rounded-md`,t.event.is_error?`bg-[var(--el-color-danger-light-9)]`:`bg-[var(--app-sidebar-bg)]`])},[t.event.content?(v(),s(`div`,Nt,[a(w,{content:t.resultText},null,8,[`content`])])):o(``,!0),e(`pre`,{class:n([`m-0 max-h-72 overflow-auto whitespace-pre-wrap break-words px-2.5 py-2 font-mono text-xs`,t.event.is_error?`text-[var(--el-color-danger)]`:`text-[var(--app-text-subtle)]`])},i(t.resultDisplay),3)],2)):t.event.kind===`result`?(v(),s(`div`,Pt,[t.event.is_error?(v(),p(T,{key:0,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(v(),p(E,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.resultLabel),1)])):t.event.kind===`notice`?(v(),s(`div`,Ft,[a(D,{class:`mt-0.5 flex-none text-[var(--el-color-primary)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,It,i(t.noticeText),1)])):t.event.kind===`error`?(v(),s(`div`,Lt,i(t.event.text),1)):o(``,!0)],2)}var zt=q(ct,[[`render`,Rt],[`__scopeId`,`data-v-f71fa078`]]),Bt=`Pondering.Noodling.Conjuring.Brewing.Cooking.Crafting.Churning.Simmering.Percolating.Ruminating.Musing.Marinating.Synthesizing.Computing.Hatching.Forging.Vibing.Working.Thinking.Cogitating.Mulling.Stewing.Tinkering.Wrangling.Spinning.Reticulating.Manifesting.Deliberating`.split(`.`),Vt=[`思考中`,`酝酿中`,`沉思中`,`推敲中`,`构思中`,`计算中`,`琢磨中`,`捣鼓中`,`炼制中`,`召唤中`,`编织中`,`烹饪中`,`咀嚼中`,`盘算中`,`发酵中`,`运转中`,`冥想中`,`鼓捣中`,`熬制中`,`神游中`,`演算中`,`雕琢中`,`头脑风暴中`,`反复斟酌中`],Ht=60,Ut=1500,Wt=28,Gt=y({name:`CodingBridgeThinkingIndicator`,components:{LoadingIcon:z},data(){return{display:``,elapsed:0,charIndex:0,phase:`typing`,currentWord:``,elapsedTimer:0,typeTimer:0}},computed:{words(){return this.$i18n.locale.startsWith(`zh`)?Vt:Bt}},mounted(){this.currentWord=this.pickWord(),this.elapsedTimer=window.setInterval(()=>{this.elapsed+=1},1e3),this.scheduleType(Ht)},beforeUnmount(){window.clearInterval(this.elapsedTimer),window.clearTimeout(this.typeTimer)},methods:{pickWord(){let e=this.words;if(e.length<=1)return e[0]??``;let t=this.currentWord;for(;t===this.currentWord;)t=e[Math.floor(Math.random()*e.length)];return t},scheduleType(e){this.typeTimer=window.setTimeout(this.advance,e)},advance(){let e=this.currentWord;this.phase===`typing`?(this.charIndex+=1,this.display=e.slice(0,this.charIndex),this.charIndex>=e.length?(this.phase=`holding`,this.scheduleType(Ut)):this.scheduleType(Ht)):this.phase===`holding`?(this.phase=`deleting`,this.scheduleType(Wt)):(--this.charIndex,this.display=e.slice(0,Math.max(0,this.charIndex)),this.charIndex<=0?(this.currentWord=this.pickWord(),this.phase=`typing`,this.scheduleType(Ht)):this.scheduleType(Wt))}}}),Kt={class:`cb-thinking flex items-center gap-2 text-sm text-[var(--app-text-subtle)] py-1`},qt={class:`cb-thinking__word`},Jt={class:`cb-thinking__elapsed tabular-nums opacity-60`};function Yt(t,n,o,c,l,d){let f=u(`loading-icon`);return v(),s(`div`,Kt,[a(f,{class:`cb-thinking__spinner adc-icon-spin text-[var(--el-color-primary)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,qt,[r(i(t.display),1),n[0]||=e(`span`,{class:`cb-thinking__caret`},`▋`,-1)]),e(`span`,Jt,`(`+i(t.elapsed)+`s)`,1)])}var Xt=q(Gt,[[`render`,Yt],[`__scopeId`,`data-v-ae116215`]]),Zt=y({name:`CodingBridgeComposerSettings`,components:{ElButton:K,ElDialog:G},props:{dialog:{type:Boolean,default:!1},open:{type:Boolean,default:!1}},emits:[`update:open`]}),Qt={key:0,class:`cb-settings-inline`},$t={class:`cb-settings-rows`};function en(t,n,o,c,l,d){let h=u(`el-button`),g=u(`el-dialog`);return t.dialog?(v(),p(g,{key:1,"model-value":t.open,title:t.$t(`codingBridge.session.settings`),width:`min(420px, 92vw)`,"align-center":``,"append-to-body":``,class:`cb-settings-dialog`,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:open`,e)},{footer:m(()=>[a(h,{type:`primary`,round:``,onClick:n[0]||=e=>t.$emit(`update:open`,!1)},{default:m(()=>[r(i(t.$t(`common.button.close`)),1)]),_:1})]),default:m(()=>[e(`div`,$t,[f(t.$slots,`default`,{},void 0,!0)])]),_:3},8,[`model-value`,`title`])):(v(),s(`div`,Qt,[f(t.$slots,`default`,{},void 0,!0)]))}var tn=q(Zt,[[`render`,en],[`__scopeId`,`data-v-20aa7356`]]),nn=y({name:`CodingBridgeDirectoryDialog`,components:{ContinueIcon:ne,FileIcon:N,FolderIcon:ce,RedoIcon:U,UpIcon:k,ElDialog:G,ElButton:K,ElInput:W},props:{visible:{type:Boolean,default:!1},initialPath:{type:String,default:``}},emits:[`update:visible`,`select`],data(){return{pathInput:``}},computed:{listing(){return this.$store.state.codingBridge?.directory},loading(){return this.$store.state.codingBridge?.directoryLoading===!0},directories(){return(this.listing?.entries??[]).filter(e=>e.type===`dir`)},files(){return(this.listing?.entries??[]).filter(e=>e.type===`file`)},isEmpty(){return!!this.listing&&!this.listing.error&&(this.listing.entries??[]).length===0}},watch:{"listing.path"(e){this.pathInput=e??``}},methods:{onOpen(){this.pathInput=this.initialPath||``,this.$store.dispatch(`codingBridge/browseDir`,this.initialPath||void 0)},goPath(){let e=this.pathInput.trim();e&&this.$store.dispatch(`codingBridge/browseDir`,e)},syncPathInput(){this.pathInput=this.listing?.path??``},onVisibleChange(e){this.$emit(`update:visible`,e),e||this.$store.dispatch(`codingBridge/clearDirectory`)},openDir(e){this.$store.dispatch(`codingBridge/browseDir`,e)},goParent(){this.listing?.parent&&this.$store.dispatch(`codingBridge/browseDir`,this.listing.parent)},refresh(){this.$store.dispatch(`codingBridge/browseDir`,this.listing?.path||this.initialPath||void 0)},chooseCurrent(){this.listing&&!this.listing.error&&(this.$emit(`select`,this.listing.path),this.onVisibleChange(!1))}}}),rn={class:`flex flex-col gap-2`},an={class:`flex items-center gap-2 min-w-0`},on={class:`h-72 overflow-y-auto border border-[var(--app-border-subtle)] rounded-md divide-y divide-[var(--app-border-subtle)]`},sn={key:0,class:`h-full flex items-center justify-center text-sm text-[var(--app-text-subtle)]`},cn={key:1,class:`h-full flex items-center justify-center text-sm text-[var(--el-color-danger)]`},ln=[`onClick`],un={class:`truncate`,dir:`ltr`},dn={class:`truncate`,dir:`ltr`},fn={key:0,class:`h-full flex items-center justify-center text-sm text-[var(--app-text-subtle)] py-8`},pn={key:0,class:`text-[11px] text-[var(--app-text-subtle)] px-1`},mn={class:`flex items-center justify-end gap-2`};function hn(t,d,f,h,_,y){let b=u(`up-icon`),x=u(`el-button`),S=u(`continue-icon`),C=u(`el-input`),w=u(`redo-icon`),T=u(`folder-icon`),E=u(`file-icon`),D=u(`el-dialog`);return v(),p(D,{"model-value":t.visible,title:t.$t(`codingBridge.directory.title`),width:`520px`,"append-to-body":``,"onUpdate:modelValue":t.onVisibleChange,onOpen:t.onOpen},{footer:m(()=>[e(`div`,mn,[a(x,{round:``,onClick:d[1]||=e=>t.onVisibleChange(!1)},{default:m(()=>[r(i(t.$t(`common.button.cancel`)),1)]),_:1}),a(x,{type:`primary`,round:``,disabled:!t.listing||!!t.listing.error,onClick:t.chooseCurrent},{default:m(()=>[r(i(t.$t(`codingBridge.directory.choose`)),1)]),_:1},8,[`disabled`,`onClick`])])]),default:m(()=>[e(`div`,rn,[e(`div`,an,[a(x,{size:`small`,circle:``,disabled:!t.listing||!t.listing.parent||t.loading,title:t.$t(`codingBridge.directory.up`),"aria-label":t.$t(`codingBridge.directory.up`),onClick:t.goParent},{default:m(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`title`,`aria-label`,`onClick`]),a(C,{modelValue:t.pathInput,"onUpdate:modelValue":d[0]||=e=>t.pathInput=e,size:`small`,class:`flex-1 min-w-0`,dir:`ltr`,placeholder:t.$t(`codingBridge.directory.pathPlaceholder`),disabled:t.loading,onKeyup:c(t.goPath,[`enter`]),onBlur:t.syncPathInput},{append:m(()=>[a(x,{title:t.$t(`codingBridge.directory.go`),disabled:t.loading||!t.pathInput.trim(),"aria-label":t.$t(`codingBridge.directory.go`),onClick:t.goPath},{default:m(()=>[a(S,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`title`,`disabled`,`aria-label`,`onClick`])]),_:1},8,[`modelValue`,`placeholder`,`disabled`,`onKeyup`,`onBlur`]),a(x,{size:`small`,circle:``,disabled:t.loading,title:t.$t(`codingBridge.directory.refresh`),"aria-label":t.$t(`codingBridge.directory.refresh`),onClick:t.refresh},{default:m(()=>[a(w,{class:n({"adc-icon-spin":t.loading}),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`])]),_:1},8,[`disabled`,`title`,`aria-label`,`onClick`])]),e(`div`,on,[t.loading&&!t.listing?(v(),s(`div`,sn,i(t.$t(`codingBridge.directory.loading`)),1)):t.listing&&t.listing.error?(v(),s(`div`,cn,i(t.listing.error),1)):(v(),s(l,{key:2},[(v(!0),s(l,null,g(t.directories,n=>(v(),s(`button`,{key:n.path,type:`button`,class:`w-full flex items-center gap-2 px-3 py-2 text-left text-sm hover:bg-[var(--app-content-hover-bg)]`,onClick:e=>t.openDir(n.path)},[a(T,{class:`text-[var(--el-color-warning)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,un,i(n.name),1)],8,ln))),128)),(v(!0),s(l,null,g(t.files,t=>(v(),s(`div`,{key:t.path,class:`w-full flex items-center gap-2 px-3 py-2 text-sm text-[var(--app-text-subtle)]`},[a(E,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,dn,i(t.name),1)]))),128)),t.isEmpty?(v(),s(`div`,fn,i(t.$t(`codingBridge.directory.empty`)),1)):o(``,!0)],64))]),t.listing&&t.listing.truncated?(v(),s(`p`,pn,i(t.$t(`codingBridge.directory.truncated`)),1)):o(``,!0)])]),_:1},8,[`model-value`,`title`,`onUpdate:modelValue`,`onOpen`])}var gn=q(nn,[[`render`,hn]]),_n=`data:image/svg+xml,%3csvg%20fill='%23D97757'%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eClaude%3c/title%3e%3cpath%20d='m4.7144%2015.9555%204.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608%201.5179.1032%202.2767.1578%201.6514.0972%202.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973%209.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686%201.9064%201.4754%202.4893%201.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335%206.6997%200l.9957.1336.419.3642.6192%201.4147%201.0018%202.2282%201.5543%203.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853%201.8517-.5586%202.9021-.3643%201.9429h.2125l.2429-.2429.9835-1.3053%201.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759%201.1293-.34%201.1657-1.0625%201.3478-.8804%201.1414-1.2628%201.7-.7893%201.36.0729.1093.1882-.0183%202.8535-.607%201.5421-.2794%201.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607%201.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929%201.0686%202.0035%201.8092%202.5075%202.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496%202.3436%203.5214.1214%201.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38%2017.959l-1.1414-1.9428-.1397.079-.674%207.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328%201.9672-2.1796%202.9446-1.7243%201.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889%202.386-3.0357%201.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385%204.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429%201.9064-1.3114Z'/%3e%3c/svg%3e`,vn=`data:image/svg+xml,%3csvg%20fill='%23000000'%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eOpenAI%3c/title%3e%3cpath%20d='M22.282%209.821a5.985%205.985%200%200%200-.516-4.91%206.046%206.046%200%200%200-6.51-2.9A6.065%206.065%200%200%200%204.981%204.18a5.985%205.985%200%200%200-3.998%202.9%206.046%206.046%200%200%200%20.743%207.097%205.98%205.98%200%200%200%20.51%204.911%206.051%206.051%200%200%200%206.515%202.9A5.985%205.985%200%200%200%2013.26%2024a6.056%206.056%200%200%200%205.772-4.206%205.99%205.99%200%200%200%203.997-2.9%206.056%206.056%200%200%200-.747-7.073zM13.26%2022.43a4.476%204.476%200%200%201-2.876-1.04l.141-.081%204.779-2.758a.795.795%200%200%200%20.392-.681v-6.737l2.02%201.168a.071.071%200%200%201%20.038.052v5.583a4.504%204.504%200%200%201-4.494%204.494zM3.6%2018.304a4.47%204.47%200%200%201-.535-3.014l.142.085%204.783%202.759a.771.771%200%200%200%20.78%200l5.843-3.369v2.332a.08.08%200%200%201-.033.062L9.74%2019.95a4.5%204.5%200%200%201-6.14-1.646zM2.34%207.896a4.485%204.485%200%200%201%202.366-1.973V11.6a.766.766%200%200%200%20.388.676l5.815%203.355-2.02%201.168a.076.076%200%200%201-.071%200l-4.83-2.786A4.504%204.504%200%200%201%202.34%207.872zm16.597%203.855l-5.833-3.387L15.119%207.2a.076.076%200%200%201%20.071%200l4.83%202.791a4.494%204.494%200%200%201-.676%208.105v-5.678a.79.79%200%200%200-.407-.667zm2.01-3.023l-.141-.085-4.774-2.782a.776.776%200%200%200-.785%200L9.409%209.23V6.897a.066.066%200%200%201%20.028-.061l4.83-2.787a4.5%204.5%200%200%201%206.68%204.66zm-12.64%204.135l-2.02-1.164a.08.08%200%200%201-.038-.057V6.075a4.5%204.5%200%200%201%207.375-3.453l-.142.08L8.704%205.46a.795.795%200%200%200-.393.681zm1.097-2.365l2.602-1.5%202.607%201.5v2.999l-2.597%201.5-2.607-1.5z'/%3e%3c/svg%3e`,yn=`data:image/svg+xml,%3csvg%20fill='%23000'%20role='img'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3ctitle%3eGitHub%20Copilot%3c/title%3e%3cpath%20d='M23.922%2016.997C23.061%2018.492%2018.063%2022.02%2012%2022.02%205.937%2022.02.939%2018.492.078%2016.997A.641.641%200%200%201%200%2016.741v-2.869a.883.883%200%200%201%20.053-.22c.372-.935%201.347-2.292%202.605-2.656.167-.429.414-1.055.644-1.517a10.098%2010.098%200%200%201-.052-1.086c0-1.331.282-2.499%201.132-3.368.397-.406.89-.717%201.474-.952C7.255%202.937%209.248%201.98%2011.978%201.98c2.731%200%204.767.957%206.166%202.093.584.235%201.077.546%201.474.952.85.869%201.132%202.037%201.132%203.368%200%20.368-.014.733-.052%201.086.23.462.477%201.088.644%201.517%201.258.364%202.233%201.721%202.605%202.656a.841.841%200%200%201%20.053.22v2.869a.641.641%200%200%201-.078.256Zm-11.75-5.992h-.344a4.359%204.359%200%200%201-.355.508c-.77.947-1.918%201.492-3.508%201.492-1.725%200-2.989-.359-3.782-1.259a2.137%202.137%200%200%201-.085-.104L4%2011.746v6.585c1.435.779%204.514%202.179%208%202.179%203.486%200%206.565-1.4%208-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057%201.259-3.782%201.259-1.59%200-2.738-.545-3.508-1.492a4.359%204.359%200%200%201-.355-.508Zm2.328%203.25c.549%200%201%20.451%201%201v2c0%20.549-.451%201-1%201-.549%200-1-.451-1-1v-2c0-.549.451-1%201-1Zm-5%200c.549%200%201%20.451%201%201v2c0%20.549-.451%201-1%201-.549%200-1-.451-1-1v-2c0-.549.451-1%201-1Zm3.313-6.185c.136%201.057.403%201.913.878%202.497.442.544%201.134.938%202.344.938%201.573%200%202.292-.337%202.657-.751.384-.435.558-1.15.558-2.361%200-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438%201.578v.021c0%20.265.021.562.063.893Zm-1.626%200c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824%201.025-.462.472-.705%201.179-.705%202.319%200%201.211.175%201.926.558%202.361.365.414%201.084.751%202.657.751%201.21%200%201.902-.394%202.344-.938.475-.584.742-1.44.878-2.497Z'/%3e%3c/svg%3e`;function bn(e){let t=(e instanceof Error?`${e.name} ${e.message}`:String(e??``)).toLowerCase().replaceAll(`_`,`-`);return t.includes(`notallowed`)||t.includes(`not-allowed`)||t.includes(`permission`)?`permission-denied`:t.includes(`notfound`)||t.includes(`not-found`)||t.includes(`audio-capture`)||t.includes(`microphone`)?`microphone-unavailable`:t.includes(`network`)||t.includes(`fetch`)?`network`:t.includes(`abort`)||t.includes(`cancel`)?`aborted`:`unknown`}function xn(){return[`audio/webm;codecs=opus`,`audio/webm`,`audio/mp4`,`audio/ogg`].find(e=>MediaRecorder.isTypeSupported?.(e))}function Sn(e){return e.includes(`mp4`)?`m4a`:e.includes(`ogg`)?`ogg`:e.includes(`wav`)?`wav`:`webm`}async function Cn(e,t,n,r){let i=new FormData;i.append(`file`,new File([e],t,{type:e.type||`audio/webm`})),i.append(`model`,`gpt-transcribe`),i.append(`response_format`,`json`),n&&i.append(`language`,n);let a=await fetch(`${ge}/v1/audio/transcriptions`,{method:`POST`,headers:{Authorization:`Bearer ${r}`},body:i});if(!a.ok)throw Error(`transcription request failed (${a.status})`);return(await a.json()).text?.trim()??``}var wn=class{mediaDevices;createRecorder;transcribe;stream;recorder;callbacks;chunks=[];language=``;token=``;generation=0;aborted=!1;constructor(e=typeof navigator>`u`?void 0:navigator.mediaDevices,t=(e,t)=>new MediaRecorder(e,t),n=Cn){this.mediaDevices=e,this.createRecorder=t,this.transcribe=n}async isSupported(){return!!this.mediaDevices?.getUserMedia&&typeof MediaRecorder<`u`}async start(e,t,n){await this.abort();let r=++this.generation;this.callbacks=n,this.language=e,this.token=t,this.chunks=[],this.aborted=!1;try{let e=await this.mediaDevices?.getUserMedia({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}});if(!e||r!==this.generation){e?.getTracks().forEach(e=>e.stop());return}this.stream=e;let t=xn();this.recorder=this.createRecorder(e,t?{mimeType:t}:void 0),this.recorder.ondataavailable=e=>{r===this.generation&&e.data.size>0&&this.chunks.push(e.data)},this.recorder.start()}catch(e){let t=bn(e);throw t!==`aborted`&&n.onError(t),await this.abort(),e}}async stop(){let e=this.recorder,t=this.generation;!e||e.state===`inactive`||!this.callbacks||await new Promise(n=>{e.onstop=async()=>{if(this.releaseStream(),t!==this.generation||this.aborted||!this.callbacks)return n();let r=this.callbacks,i=e.mimeType||this.chunks[0]?.type||`audio/webm`,a=new Blob(this.chunks,{type:i});try{if(!a.size)r.onError(`no-speech`);else{let e=await this.transcribe(a,`coding-bridge-voice.${Sn(i)}`,this.language,this.token);if(t!==this.generation||this.aborted)return n();e?r.onResult({finalText:e,interimText:``}):r.onError(`no-speech`)}}catch(e){t===this.generation&&!this.aborted&&r.onError(bn(e))}finally{t===this.generation&&(this.aborted||r.onEnd(),this.reset()),n()}},e.stop()})}async abort(){this.aborted=!0,this.generation+=1;let e=this.recorder;e&&e.state!==`inactive`&&(e.ondataavailable=null,e.onstop=null,e.stop()),this.releaseStream(),this.reset()}async dispose(){await this.abort()}releaseStream(){this.stream?.getTracks().forEach(e=>e.stop()),this.stream=void 0}reset(){this.recorder=void 0,this.callbacks=void 0,this.chunks=[],this.language=``,this.token=``}};function Tn(){return new wn}var En=50*1024*1024,Q=10,Dn=60,On=60,kn=80,An={claude:{src:_n,invertOnDark:!1},codex:{src:vn,invertOnDark:!0},copilot:{src:yn,invertOnDark:!0}},jn=y({name:`CodingBridgeSessionView`,components:{AddIcon:H,AiIcon:re,AttachmentIcon:B,CloseIcon:Y,CodeIcon:j,ConfirmIcon:A,DeveloperIcon:L,EditIcon:V,ExpandDownIcon:ie,FileIcon:N,FolderOpenIcon:Me,HistoryIcon:F,MicrophoneIcon:le,MoreIcon:M,PerformanceIcon:P,RedoIcon:U,SecurityIcon:fe,StopIcon:pe,UpIcon:k,ViewIcon:oe,ElInput:W,ElButton:K,ElPopover:O,ElDropdown:D,ElDropdownMenu:E,ElDropdownItem:T,ElUpload:b,ElCheckbox:C,ElSkeleton:te,ElSkeletonItem:ee,TranscriptItem:zt,ThinkingIndicator:Xt,ComposerSettings:tn,DirectoryDialog:gn,AskUserQuestionCard:Ee,CopyToClipboard:we},mixins:[ve,Se],emits:[`history`,`devices`],data(){return{prompt:``,cwd:``,model:``,customModelDraft:``,permissionMode:`bypassPermissions`,provider:`claude`,effort:``,directoryVisible:!1,moreOpen:!1,mobileSettings:!1,settingsMql:void 0,slashMenuOpen:!1,slashActiveIndex:0,editingEventId:``,restoreCode:!1,attachmentFileList:[],uploadUrl:_e()+`/api/v1/files/`,maxAttachments:Q,visibleCount:Dn,pinnedToBottom:!0,scrollPending:!1,transcriptObserver:void 0,observedTranscript:void 0,speechController:void 0,speechSupported:!1,speechState:`idle`,speechBasePrompt:``,speechFinalText:``,speechInterimText:``}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},lastComposer(){let e=this.currentNodeId;return(e?this.$store.state.codingBridge?.lastComposer?.[e]:void 0)??{}},currentNode(){return this.$store.state.codingBridge?.nodes?.find(e=>e.node_id===this.currentNodeId)},nodeOnline(){return this.currentNode?.status===`online`},currentSessionId(){return this.$store.state.codingBridge?.currentSessionId},currentSession(){let e=this.currentSessionId;return e?this.$store.state.codingBridge?.sessions?.[e]:void 0},events(){let e=this.currentSessionId;return e?this.$store.state.codingBridge?.events?.[e]??[]:[]},eventCount(){return this.events.length},visibleEvents(){let e=this.events;return e.length>this.visibleCount?e.slice(-this.visibleCount):e},hiddenEventCount(){return Math.max(0,this.events.length-this.visibleCount)},historyLoading(){return this.$store.state.codingBridge?.status?.getHistoryDetail===x.Request},pendingQuestion(){let e=this.currentSessionId;if(!e)return;let t=(this.$store.state.codingBridge?.permissions??[]).find(t=>t.session_id===e&&tt(t));return t?{request_id:t.request_id,payload:nt(t)}:void 0},isNewSession(){return!this.currentSessionId},canPickCwd(){return this.isNewSession||!this.currentSession?.started},readonly(){return this.currentSession?.readonly===!0},resumeHint(){return!!this.currentSession?.provider&&!this.currentSession?.started&&!this.readonly},replayLabel(){return!this.currentSession?.provider||this.currentSession?.started?``:this.currentSession.provider===`codex`?this.$t(`codingBridge.history.codexLabel`):this.currentSession.provider===`claude`?this.$t(`codingBridge.history.claudeLabel`):this.providerName(this.currentSession.provider)},running(){let e=this.currentSession?.status;return e===`running`||e===`starting`},thinking(){return this.running&&!this.pendingQuestion},connected(){return this.$store.state.codingBridge?.connection===`connected`},canRetry(){return this.currentSession?.status===`error`&&!this.readonly&&this.connected&&this.nodeOnline&&this.events.some(e=>e.kind===`prompt`)},attachments(){return(this.attachmentFileList||[]).map(e=>{let t=e.response?.file_url||(typeof e.url==`string`&&!e.url.startsWith(`blob:`)?e.url:``);if(!t)return;let n=e.raw,r=n?.type||e.mime_type||``;return{type:this.isImageAttachment(e)?`image`:`file`,url:t,name:e.name,mime_type:r,size:n?.size}}).filter(e=>!!e)},uploadingAttachments(){return(this.attachmentFileList||[]).some(e=>this.isAttachmentUploading(e))},speechActive(){return this.speechState!==`idle`},canSend(){return(!!this.prompt.trim()||this.attachments.length>0)&&!this.uploadingAttachments&&!this.speechActive&&this.connected&&this.nodeOnline},composerHint(){return this.speechState===`stopping`?this.$t(`codingBridge.session.voiceStopping`):this.speechState===`listening`?this.$t(`codingBridge.session.voiceListening`):this.uploadingAttachments?this.$t(`codingBridge.session.uploadingAttachment`):this.providerCaps.length&&!this.currentProviderAvailable?this.$t(`codingBridge.session.providerUnavailableHint`,{name:this.providerName(this.provider)}):this.resumeHint?this.$t(`codingBridge.history.resumeHint`):this.$t(`codingBridge.session.enterHint`)},nodeCapabilities(){let e=this.currentNodeId;return e?this.$store.state.codingBridge?.capabilities?.[e]:void 0},providerCaps(){return this.nodeCapabilities?.providers??[]},currentProviderCap(){return this.providerCaps.find(e=>e.name===this.provider)},canEdit(){return this.readonly?!1:!!this.providerCaps.find(e=>e.name===this.activeProviderName)?.supports_edit},canRestoreCode(){return!!this.providerCaps.find(e=>e.name===this.activeProviderName)?.supports_code_restore},editingActive(){return!!this.editingEventId},currentProviderAvailable(){return this.providerCaps.length?this.currentProviderCap?.available!==!1:!0},providerOptions(){return this.providerCaps.length?this.providerCaps.map(e=>({value:e.name,label:e.label,available:e.available!==!1})):[{label:this.$t(`codingBridge.session.providerClaude`),value:`claude`,available:!0},{label:this.$t(`codingBridge.session.providerCodex`),value:`codex`,available:!0},{label:`GitHub Copilot`,value:`copilot`,available:!0}]},modelOptions(){return this.currentProviderCap?.models??[]},allowCustomModel(){return this.currentProviderCap?.allow_custom_model??!0},effortOptions(){let e=this.currentProviderCap?.efforts;return(e&&e.length?e:[``]).map(e=>({value:e,label:this.effortLabel(e)}))},permissionModeOptions(){let e=this.currentProviderCap?.permission_modes;return(e&&e.length?e:[`default`,`acceptEdits`,`plan`,`bypassPermissions`]).map(e=>({value:e,label:this.permissionModeLabel(e)}))},sessionMeta(){let e=this.currentSession;if(!e)return``;let t=[];return e.provider&&t.push(this.providerName(e.provider)),e.cwd&&t.push(e.cwd),e.model&&t.push(e.model),t.join(` · `)},activeProviderName(){return this.currentSession?.provider||this.provider},slashCommands(){let e=this.activeProviderName;return this.providerCaps.find(t=>t.name===e)?.commands??[]},slashMatches(){let e=this.prompt.match(/^\/(\S*)$/);if(!e)return[];let t=e[1].toLowerCase();return this.slashCommands.filter(e=>[e.name,...e.aliases??[]].some(e=>e.toLowerCase().startsWith(t)))},slashMenuVisible(){return this.slashMenuOpen&&this.slashMatches.length>0},diagnostics(){let e=[];return this.currentNodeId&&e.push({label:this.$t(`codingBridge.session.nodeId`),value:this.currentNodeId}),this.currentSessionId&&e.push({label:this.$t(`codingBridge.session.sessionId`),value:this.currentSessionId}),this.currentSession?.trace_id&&e.push({label:this.$t(`codingBridge.session.traceId`),value:this.currentSession.trace_id}),e}},watch:{eventCount(){this.scrollToBottom()},pendingQuestion(){this.scrollToBottom()},thinking(){this.scrollToBottom()},currentSessionId(){this.cancelSpeechRecognition?.(),this.pinnedToBottom=!0,this.scrollToBottom(),this.visibleCount=Dn,this.editingEventId=``,this.restoreCode=!1,this.syncSessionSettings()},currentNodeId(){this.cancelSpeechRecognition?.(),this.requestCapabilities(),this.isNewSession&&this.restoreComposerPrefs()},nodeOnline(e){e||this.cancelSpeechRecognition?.()},providerCaps(){if(!this.isNewSession||!this.providerCaps.length)return;let e=this.providerCaps.find(e=>e.name===this.provider);if(!e||e.available===!1){let e=this.providerCaps.find(e=>e.available!==!1);e&&(this.provider=e.name)}},provider(){this.isNewSession&&(this.model=``,this.effort=``)},prompt(e){this.slashMenuOpen=/^\/\S*$/.test(e),this.slashActiveIndex>=this.slashMatches.length&&(this.slashActiveIndex=0)}},mounted(){this.requestCapabilities(),this.syncSessionSettings(),this.scrollToBottom(),this.observeTranscript(),this.watchSettingsBreakpoint(),this.initializeSpeechRecognition?.()},updated(){this.observeTranscript()},beforeUnmount(){this.transcriptObserver?.disconnect(),this.transcriptObserver=void 0,this.observedTranscript=void 0,this.settingsMql?.removeEventListener(`change`,this.onSettingsBreakpoint),this.settingsMql=void 0,this.speechController?.dispose(),this.speechController=void 0},methods:{async initializeSpeechRecognition(){let e=Tn();this.speechController=e,this.speechSupported=await e.isSupported()},async toggleSpeechRecognition(){if(this.speechState===`listening`){await this.stopSpeechRecognition();return}this.speechState===`idle`&&await this.startSpeechRecognition()},async startSpeechRecognition(){if(!this.speechController||!this.speechSupported)return;let e=await this.ensureSpeechCredential();if(!e){S.error(this.$t(`codingBridge.session.voiceError`));return}this.speechBasePrompt=this.prompt,this.speechFinalText=``,this.speechInterimText=``,this.speechState=`listening`;try{await this.speechController.start(this.$i18n.locale,e,{onResult:this.applySpeechSnapshot,onEnd:this.finishSpeechRecognition,onError:this.handleSpeechError})}catch{this.finishSpeechRecognition()}},async ensureSpeechCredential(){let e=this.$store.state.openaiimage?.credential?.token;if(e)return e;await this.$store.dispatch(`openaiimage/getService`);let t=await this.$store.dispatch(`openaiimage/getApplications`),n=xe([...this.$store.state.applications??[],...t??[]],this.$store.state.openaiimage?.application);return n&&await this.$store.dispatch(`openaiimage/setApplication`,n),e=this.$store.state.openaiimage?.credential?.token,e??``},async stopSpeechRecognition(){if(!(!this.speechController||this.speechState!==`listening`)){this.speechState=`stopping`;try{await this.speechController.stop()}catch{this.handleSpeechError(`unknown`),this.finishSpeechRecognition()}}},async cancelSpeechRecognition(){!this.speechController||this.speechState===`idle`||(this.speechState=`idle`,this.speechInterimText=``,this.applySpeechPrompt(),await this.speechController.abort())},applySpeechSnapshot(e){this.speechState!==`idle`&&(this.speechFinalText=e.finalText,this.speechInterimText=e.interimText,this.applySpeechPrompt())},applySpeechPrompt(){let e=`${this.speechFinalText}${this.speechInterimText}`,t=this.speechBasePrompt&&e?`
2
- `:``;this.prompt=`${this.speechBasePrompt}${t}${e}`},finishSpeechRecognition(){this.speechState!==`idle`&&(this.speechInterimText=``,this.applySpeechPrompt(),this.speechState=`idle`)},handleSpeechError(e){if(e===`aborted`)return;let t=this.$t({"permission-denied":`codingBridge.session.voicePermissionDenied`,"microphone-unavailable":`codingBridge.session.voiceMicrophoneUnavailable`,"no-speech":`codingBridge.session.voiceNoSpeech`,network:`codingBridge.session.voiceNetworkError`,unknown:`codingBridge.session.voiceError`}[e]);e===`no-speech`?S.warning(t):S.error(t)},watchSettingsBreakpoint(){typeof window>`u`||!window.matchMedia||(this.settingsMql=window.matchMedia(`(max-width: 767px)`),this.mobileSettings=this.settingsMql.matches,this.settingsMql.addEventListener(`change`,this.onSettingsBreakpoint))},onSettingsBreakpoint(e){this.mobileSettings=e.matches,e.matches||(this.moreOpen=!1)},requestCapabilities(){this.currentNodeId&&this.$store.dispatch(`codingBridge/getCapabilities`,this.currentNodeId)},effortLabel(e){let t={"":`codingBridge.session.effortDefault`,low:`codingBridge.session.effortLow`,medium:`codingBridge.session.effortMedium`,high:`codingBridge.session.effortHigh`,max:`codingBridge.session.effortMax`}[e];return t?this.$t(t):e},permissionModeLabel(e){let t={default:`codingBridge.session.permissionModeDefault`,acceptEdits:`codingBridge.session.permissionModeAcceptEdits`,plan:`codingBridge.session.permissionModePlan`,bypassPermissions:`codingBridge.session.permissionModeBypass`}[e];return t?this.$t(t):e},providerName(e){let t=this.providerCaps.find(t=>t.name===e);return t?t.label:{claude:this.$t(`codingBridge.session.providerClaude`),codex:this.$t(`codingBridge.session.providerCodex`),copilot:`GitHub Copilot`}[e]??e},providerIcon(e){return An[e]??null},syncSessionSettings(){let e=this.currentSession;if(!e){this.restoreComposerPrefs();return}let t=this.lastComposer;e.provider&&(this.provider=e.provider),this.model=e.model??``,this.customModelDraft=``,this.cwd=e.cwd??t.cwd??``,this.effort=e.effort??t.effort??``,this.permissionMode=e.permission_mode??t.permissionMode??`bypassPermissions`},selectModel(e){this.model=e,this.customModelDraft=``,this.closeModelPopover()},applyCustomModel(){let e=this.customModelDraft.trim();e&&(this.model=e,this.customModelDraft=``,this.closeModelPopover())},closeModelPopover(){this.$refs.modelPopover?.hide?.()},onComposerEnter(e){let t=e;t.isComposing||t.keyCode===229||t.shiftKey||t.ctrlKey||t.metaKey||t.altKey||(t.preventDefault(),this.onSend())},onComposerKeydown(e){let t=e;if(this.slashMenuVisible&&!t.isComposing&&t.keyCode!==229){if(t.key===`ArrowDown`){t.preventDefault(),this.moveSlash(1);return}if(t.key===`ArrowUp`){t.preventDefault(),this.moveSlash(-1);return}if(t.key===`Escape`){t.preventDefault(),this.slashMenuOpen=!1;return}if(t.key===`Tab`||t.key===`Enter`&&!t.shiftKey){t.preventDefault(),this.applySlash(this.slashMatches[this.slashActiveIndex]);return}}t.key===`Enter`&&this.onComposerEnter(t)},moveSlash(e){let t=this.slashMatches.length;t&&(this.slashActiveIndex=(this.slashActiveIndex+e+t)%t,this.$nextTick(()=>{(this.$el?.querySelector?.(`.cb-slash-menu__item--active`))?.scrollIntoView({block:`nearest`})}))},applySlash(e){e&&(this.prompt=`/${e.name} `,this.slashMenuOpen=!1,this.slashActiveIndex=0)},onSend(){if(!this.canSend)return;this.cancelSpeechRecognition?.();let e=this.attachments;if(this.editingEventId){this.$store.dispatch(`codingBridge/editPrompt`,{eventId:this.editingEventId,prompt:this.prompt,model:this.model,permissionMode:this.permissionMode,effort:this.effort,attachments:e.length?e:void 0,restoreCode:this.restoreCode}),this.resetComposer();return}this.currentNodeId&&this.$store.commit(`codingBridge/setLastComposer`,{node_id:this.currentNodeId,prefs:{cwd:this.cwd,provider:this.provider,model:this.model,permissionMode:this.permissionMode,effort:this.effort}}),this.$store.dispatch(`codingBridge/sendPrompt`,{prompt:this.prompt,cwd:this.cwd,model:this.model,permissionMode:this.permissionMode,provider:this.provider,effort:this.effort,attachments:e.length?e:void 0}),this.resetComposer()},resetComposer(){this.cancelSpeechRecognition?.(),this.prompt=``,this.speechBasePrompt=``,this.speechFinalText=``,this.speechInterimText=``,this.slashMenuOpen=!1,this.slashActiveIndex=0,this.editingEventId=``,this.restoreCode=!1,this.clearAttachments()},cancelEdit(){this.resetComposer()},onAnswerQuestion(e){this.$store.dispatch(`codingBridge/answerQuestion`,{request_id:e.tool_use_id,output:e.output})},onSkipQuestion(e){this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:e.tool_use_id,decision:`deny`})},beforeAttachmentUpload(e){return this.attachmentFileList.length>=Q?(S.warning(this.$t(`codingBridge.session.attachmentLimit`,{count:Q})),!1):e.size>En?(S.warning(this.$t(`codingBridge.session.attachmentTooLarge`)),!1):!0},onAttachmentChange(e){if(!e.url&&e.raw&&this.isImageAttachment(e))try{e.url=URL.createObjectURL(e.raw)}catch{}},onAttachmentSuccess(e,t){e?.file_url&&(this.revokeBlobUrl(t),t.url=e.file_url,t.response=e)},onAttachmentError(){S.error(this.$t(`codingBridge.session.attachmentUploadError`))},onAttachmentExceed(){S.warning(this.$t(`codingBridge.session.attachmentLimit`,{count:Q}))},onTriggerAttachmentUpload(){this.$nextTick(()=>{let e=this.$refs.uploader?.$el;(e?.querySelector(`input.el-upload__input`)||e?.querySelector(`input[type="file"]`))?.click()})},isAttachmentUploading(e){return e.status===`ready`||e.status===`uploading`},isImageAttachment(e){return(e.raw?.type||``).startsWith(`image/`)?!0:/\.(png|jpe?g|gif|webp|bmp|svg)$/i.test(e.name||e.url||``)},attachmentPreviewUrl(e){return this.isImageAttachment(e)&&(e.url||e.response?.file_url)||``},removeAttachment(e,t){this.revokeBlobUrl(t),this.attachmentFileList.splice(e,1)},clearAttachments(){for(let e of this.attachmentFileList)this.revokeBlobUrl(e);this.attachmentFileList=[]},revokeBlobUrl(e){if(e.url?.startsWith(`blob:`))try{URL.revokeObjectURL(e.url)}catch{}},onInterrupt(){this.$store.dispatch(`codingBridge/interruptSession`)},onRetry(){this.$store.dispatch(`codingBridge/retryLastPrompt`)},onEditPrompt(e){this.canEdit&&(this.cancelSpeechRecognition?.(),this.editingEventId=e.id,this.restoreCode=!1,this.prompt=e.text??``,this.slashMenuOpen=!1,this.slashActiveIndex=0,this.clearAttachments(),this.attachmentFileList=(e.attachments??[]).map((e,t)=>({name:e.name||e.url,url:e.url,status:`success`,percentage:100,uid:Date.now()+t,response:{file_url:e.url},mime_type:e.mime_type})),this.$nextTick(()=>{(this.$el?.querySelector?.(`.cb-composer__input textarea`))?.focus()}))},openDirectory(){this.directoryVisible=!0},onDirectorySelect(e){this.cwd=e},onNewSession(){this.$store.dispatch(`codingBridge/newSession`),this.restoreComposerPrefs(),this.resetComposer()},restoreComposerPrefs(){let e=this.lastComposer;this.cwd=e.cwd??``,this.provider=e.provider??`claude`,this.permissionMode=e.permissionMode??`bypassPermissions`,this.customModelDraft=``,this.$nextTick(()=>{this.model=e.model??``,this.effort=e.effort??``})},scrollToBottom(){if(!this.pinnedToBottom)return;let e=()=>{let e=this.$refs.transcript;e&&(e.scrollTop=e.scrollHeight)};this.$nextTick(()=>{e(),requestAnimationFrame(e)})},observeTranscript(){let e=this.$refs.transcript;e!==this.observedTranscript&&(this.transcriptObserver?.disconnect(),this.transcriptObserver=void 0,this.observedTranscript=e,!(!e||typeof MutationObserver>`u`)&&(this.transcriptObserver=new MutationObserver(()=>this.scheduleScrollToBottom()),this.transcriptObserver.observe(e,{childList:!0,subtree:!0,characterData:!0})))},scheduleScrollToBottom(){!this.pinnedToBottom||this.scrollPending||(this.scrollPending=!0,requestAnimationFrame(()=>{this.scrollPending=!1;let e=this.$refs.transcript;e&&this.pinnedToBottom&&(e.scrollTop=e.scrollHeight)}))},onTranscriptScroll(){let e=this.$refs.transcript;e&&(this.pinnedToBottom=e.scrollHeight-e.scrollTop-e.clientHeight<=kn)},loadEarlier(){let e=this.$refs.transcript,t=e?.scrollHeight??0;this.pinnedToBottom=!1,this.visibleCount+=On,this.$nextTick(()=>{e&&(e.scrollTop=e.scrollHeight-t+e.scrollTop)})}}}),Mn={class:`session-view flex flex-col h-full bg-[var(--app-content-bg)]`},Nn={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-8 text-[var(--app-text-subtle)]`},Pn={class:`text-sm`},Fn={class:`flex items-center justify-between gap-3 px-5 py-3 border-b border-[var(--app-border-subtle)]`},In={class:`flex items-center gap-2 min-w-0`},Ln=[`title`,`aria-label`],Rn={class:`min-w-0`},zn={class:`flex items-center gap-2 font-medium`},Bn={class:`truncate`},Vn={key:0,class:`text-xs text-[var(--app-text-subtle)] truncate`},Hn={key:0,class:`text-[var(--el-color-primary)]`},Un={class:`flex items-center gap-2 flex-none`},Wn={key:0,class:`px-5 py-2 text-xs bg-[var(--el-color-warning-light-9)] text-[var(--el-color-warning)] border-b border-[var(--app-border-subtle)]`},Gn={key:1,class:`flex flex-wrap items-center gap-x-4 gap-y-1 px-5 py-1.5 text-[11px] text-[var(--app-text-subtle)] border-b border-[var(--app-border-subtle)]`},Kn={class:`opacity-70 flex-none`},qn=[`title`],Jn={key:0,class:`cb-skeleton`},Yn={class:`flex flex-col gap-4`},Xn={class:`flex justify-end`},Zn={class:`flex flex-col gap-1.5`},Qn={class:`flex justify-end`},$n={class:`flex flex-col gap-1.5`},er={key:1,class:`m-auto text-center text-sm text-[var(--app-text-subtle)]`},tr=[`title`],nr={key:4,class:`flex justify-center pt-1`},rr={key:2,class:`cb-question-dock flex-none px-5`},ir={class:`border-t border-[var(--app-border-subtle)] p-3`},ar={key:0,class:`flex items-center gap-2 text-xs text-[var(--app-text-subtle)] px-1 py-2`},or={key:0,class:`mb-2 flex flex-wrap items-center gap-x-3 gap-y-1.5 rounded-lg bg-[var(--el-color-primary-light-9)] px-3 py-2 text-xs text-[var(--app-text)]`},sr={class:`inline-flex items-center gap-1.5`},cr={class:`cb-composer rounded-2xl border border-[var(--app-border-subtle)] bg-[var(--app-content-bg)] px-3 py-2.5 transition-colors focus-within:border-[var(--el-color-primary-light-5)]`},lr={key:0,class:`flex flex-wrap gap-2 pb-2`},ur=[`src`,`alt`],dr={key:1,class:`flex h-8 w-8 items-center justify-center rounded bg-[var(--app-content-bg)]`},fr=[`title`],pr={key:2,class:`text-[10px] text-[var(--app-text-subtle)]`},mr=[`title`,`aria-label`,`onClick`],hr={key:1,class:`cb-slash-menu`},gr=[`onMousedown`,`onMouseenter`],_r={class:`cb-slash-menu__name`},vr={key:0,class:`cb-slash-menu__hint`},yr={key:1,class:`cb-slash-menu__desc`},br={ref:`attachmentUploadTrigger`,class:`block h-0 w-0`,"aria-hidden":`true`},xr={class:`mt-1.5 flex items-center gap-1.5`},Sr=[`title`,`aria-label`],Cr=[`disabled`,`title`,`aria-label`,`aria-pressed`],wr={class:`flex min-w-0 flex-1 flex-wrap items-center gap-1.5`},Tr={type:`button`,class:`cb-pill`},Er=[`src`],Dr={class:`truncate`},Or=[`src`],kr={key:1,class:`ml-1 text-xs opacity-60`},Ar={key:1,class:`cb-pill cb-pill--static`},jr=[`src`],Mr={class:`truncate`},Nr=[`title`,`aria-label`],Pr={key:0,class:`cb-setting__label`},Fr={type:`button`,class:`cb-pill`},Ir={class:`truncate`},Lr={class:`cb-model-menu`},Rr={class:`truncate`},zr=[`onClick`],Br={class:`truncate`},Vr={key:0,class:`cb-model-custom`},Hr={key:0,class:`cb-setting__label`},Ur={type:`button`,class:`cb-pill`},Wr={class:`truncate`},Gr={key:0,class:`cb-setting__label`},Kr={type:`button`,class:`cb-pill`},qr={class:`truncate`},Jr={key:0,class:`cb-setting__label`},Yr={type:`button`,class:`cb-pill`},Xr={class:`truncate`},Zr=[`title`,`aria-label`],Qr={key:2,class:`cb-pill cb-pill--static`},$r={class:`truncate`},ei={class:`text-[11px] text-[var(--app-text-subtle)] mt-1 px-1`};function ti(d,f,h,_,y,b){let x=u(`developer-icon`),S=u(`el-button`),C=u(`history-icon`),w=u(`add-icon`),T=u(`copy-to-clipboard`),E=u(`el-skeleton-item`),D=u(`el-skeleton`),O=u(`up-icon`),ee=u(`transcript-item`),te=u(`thinking-indicator`),ne=u(`redo-icon`),k=u(`ask-user-question-card`),re=u(`view-icon`),A=u(`edit-icon`),ie=u(`el-checkbox`),ae=u(`file-icon`),j=u(`close-icon`),M=u(`el-input`),oe=u(`el-upload`),se=u(`attachment-icon`),N=u(`stop-icon`),ce=u(`microphone-icon`),P=u(`code-icon`),F=u(`expand-down-icon`),I=u(`confirm-icon`),L=u(`el-dropdown-item`),R=u(`el-dropdown-menu`),z=u(`el-dropdown`),le=u(`more-icon`),ue=u(`ai-icon`),B=u(`el-popover`),V=u(`performance-icon`),H=u(`security-icon`),U=u(`folder-open-icon`),de=u(`composer-settings`),fe=u(`directory-dialog`);return v(),s(`div`,Mn,[d.currentNode?(v(),s(l,{key:1},[e(`div`,Fn,[e(`div`,In,[e(`button`,{type:`button`,class:`cb-devices-btn md:hidden`,title:d.$t(`codingBridge.nodeList.title`),"aria-label":d.$t(`codingBridge.nodeList.title`),onClick:f[1]||=e=>d.$emit(`devices`)},[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Ln),e(`div`,Rn,[e(`div`,zn,[e(`span`,Bn,i(d.currentNode.name),1),e(`span`,{class:n([`inline-block w-2 h-2 rounded-full flex-none`,d.nodeOnline?`bg-[var(--el-color-success)]`:`bg-[var(--app-text-subtle)]`])},null,2)]),d.currentSession?(v(),s(`div`,Vn,[e(`span`,null,i(d.sessionMeta),1),d.replayLabel?(v(),s(`span`,Hn,` · `+i(d.replayLabel),1)):o(``,!0)])):o(``,!0)])]),e(`div`,Un,[a(S,{size:`small`,round:``,onClick:f[2]||=e=>d.$emit(`history`)},{default:m(()=>[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.history.button`)),1)]),_:1}),d.currentSessionId?(v(),p(S,{key:0,size:`small`,round:``,onClick:d.onNewSession},{default:m(()=>[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.session.newSession`)),1)]),_:1},8,[`onClick`])):o(``,!0)])]),d.nodeOnline?o(``,!0):(v(),s(`div`,Wn,i(d.$t(`codingBridge.session.deviceOffline`)),1)),d.diagnostics.length?(v(),s(`div`,Gn,[(v(!0),s(l,null,g(d.diagnostics,t=>(v(),s(`span`,{key:t.label,class:`inline-flex items-center gap-1 min-w-0`},[e(`span`,Kn,i(t.label)+`:`,1),e(`span`,{class:`font-mono break-all`,title:t.value},i(t.value),9,qn),a(T,{content:t.value,class:`inline-block flex-none`},null,8,[`content`])]))),128))])):o(``,!0),e(`div`,{ref:`transcript`,class:`flex-1 min-h-0 overflow-y-auto px-5 py-4 flex flex-col gap-3`,onScroll:f[4]||=(...e)=>d.onTranscriptScroll&&d.onTranscriptScroll(...e)},[d.historyLoading&&!d.events.length?(v(),s(`div`,Jn,[a(D,{animated:``},{template:m(()=>[e(`div`,Yn,[e(`div`,Xn,[a(E,{variant:`rect`,class:`cb-sk cb-sk--user`})]),e(`div`,Zn,[a(E,{variant:`text`,style:{width:`55%`}}),a(E,{variant:`text`,style:{width:`88%`}}),a(E,{variant:`text`,style:{width:`70%`}})]),a(E,{variant:`rect`,class:`cb-sk cb-sk--tool`}),e(`div`,Qn,[a(E,{variant:`rect`,class:`cb-sk cb-sk--user-sm`})]),e(`div`,$n,[a(E,{variant:`text`,style:{width:`80%`}}),a(E,{variant:`text`,style:{width:`45%`}})])])]),_:1})])):d.events.length?o(``,!0):(v(),s(`div`,er,i(d.$t(`codingBridge.session.startHint`)),1)),d.hiddenEventCount>0?(v(),s(`button`,{key:2,type:`button`,class:`cb-load-earlier mx-auto mb-1 flex items-center gap-1.5 rounded-full border border-[var(--app-border-subtle)] bg-[var(--app-content-bg)] px-3 py-1 text-xs text-[var(--app-text-subtle)] hover:text-[var(--el-color-primary)]`,title:`+${d.hiddenEventCount}`,onClick:f[3]||=(...e)=>d.loadEarlier&&d.loadEarlier(...e)},[a(O,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.hiddenEventCount),1)],8,tr)):o(``,!0),(v(!0),s(l,null,g(d.visibleEvents,e=>(v(),p(ee,{key:e.id,event:e,editable:d.canEdit,onEdit:d.onEditPrompt},null,8,[`event`,`editable`,`onEdit`]))),128)),d.thinking?(v(),p(te,{key:3})):o(``,!0),d.canRetry?(v(),s(`div`,nr,[a(S,{size:`small`,round:``,onClick:d.onRetry},{default:m(()=>[a(ne,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.session.retry`)),1)]),_:1},8,[`onClick`])])):o(``,!0)],544),d.pendingQuestion?(v(),s(`div`,rr,[(v(),p(k,{key:d.pendingQuestion.request_id,"tool-use-id":d.pendingQuestion.request_id,payload:d.pendingQuestion.payload,onSubmit:d.onAnswerQuestion,onSkip:d.onSkipQuestion},null,8,[`tool-use-id`,`payload`,`onSubmit`,`onSkip`]))])):o(``,!0),e(`div`,ir,[d.readonly?(v(),s(`div`,ar,[a(re,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(d.$t(`codingBridge.history.readonly`)),1),a(S,{class:`ml-auto`,size:`small`,round:``,onClick:d.onNewSession},{default:m(()=>[r(i(d.$t(`codingBridge.session.newSession`)),1)]),_:1},8,[`onClick`])])):(v(),s(l,{key:1},[d.editingActive?(v(),s(`div`,or,[e(`span`,sr,[a(A,{class:`text-[var(--el-color-primary)]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.session.editingBanner`)),1)]),d.canRestoreCode?(v(),p(ie,{key:0,modelValue:d.restoreCode,"onUpdate:modelValue":f[5]||=e=>d.restoreCode=e,size:`small`,class:`cb-restore-code`},{default:m(()=>[r(i(d.$t(`codingBridge.session.editRestoreCode`)),1)]),_:1},8,[`modelValue`])):o(``,!0),e(`button`,{type:`button`,class:`ml-auto cb-edit-cancel`,onClick:f[6]||=(...e)=>d.cancelEdit&&d.cancelEdit(...e)},i(d.$t(`codingBridge.session.editCancel`)),1)])):o(``,!0),e(`div`,cr,[d.attachmentFileList.length?(v(),s(`div`,lr,[(v(!0),s(l,null,g(d.attachmentFileList,(t,n)=>(v(),s(`div`,{key:t.uid||t.name||n,class:`group relative flex max-w-[220px] items-center gap-2 rounded-md border border-[var(--app-border-subtle)] bg-[var(--app-sidebar-bg)] px-2 py-1.5 text-xs`},[d.attachmentPreviewUrl(t)?(v(),s(`img`,{key:0,src:d.attachmentPreviewUrl(t),class:`h-8 w-8 rounded object-cover`,alt:d.$t(`codingBridge.session.attachmentImageAlt`)},null,8,ur)):(v(),s(`span`,dr,[a(ae,{size:`1em`,"aria-hidden":`true`,focusable:`false`})])),e(`span`,{class:`min-w-0 flex-1 truncate`,title:t.name},i(t.name),9,fr),d.isAttachmentUploading(t)?(v(),s(`span`,pr,i(Math.round(t.percentage||0))+`% `,1)):o(``,!0),e(`button`,{type:`button`,class:`flex h-5 w-5 items-center justify-center rounded-full text-[var(--app-text-subtle)] hover:bg-[var(--app-content-hover-bg)] hover:text-[var(--el-color-danger)]`,title:d.$t(`codingBridge.session.removeAttachment`),"aria-label":d.$t(`codingBridge.session.removeAttachment`),onClick:e=>d.removeAttachment(n,t)},[a(j,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,mr)]))),128))])):o(``,!0),d.slashMenuVisible?(v(),s(`ul`,hr,[(v(!0),s(l,null,g(d.slashMatches,(r,a)=>(v(),s(`li`,{key:r.name,class:n([`cb-slash-menu__item`,{"cb-slash-menu__item--active":a===d.slashActiveIndex}]),onMousedown:t(e=>d.applySlash(r),[`prevent`]),onMouseenter:e=>d.slashActiveIndex=a},[e(`span`,_r,`/`+i(r.name),1),r.argument_hint?(v(),s(`span`,vr,i(r.argument_hint),1)):o(``,!0),r.description?(v(),s(`span`,yr,i(r.description),1)):o(``,!0)],42,gr))),128))])):o(``,!0),a(M,{modelValue:d.prompt,"onUpdate:modelValue":f[7]||=e=>d.prompt=e,type:`textarea`,autosize:{minRows:2,maxRows:12},resize:`none`,class:`cb-composer__input`,readonly:d.speechActive,placeholder:d.$t(`codingBridge.session.promptPlaceholder`),onKeydown:d.onComposerKeydown},null,8,[`modelValue`,`readonly`,`placeholder`,`onKeydown`]),a(oe,{ref:`uploader`,"file-list":d.attachmentFileList,"onUpdate:fileList":f[8]||=e=>d.attachmentFileList=e,class:`h-0 w-0 overflow-hidden opacity-0`,name:`file`,action:d.uploadUrl,headers:d.headers,multiple:!0,limit:d.maxAttachments,"show-file-list":!1,"before-upload":d.beforeAttachmentUpload,"on-change":d.onAttachmentChange,"on-success":d.onAttachmentSuccess,"on-error":d.onAttachmentError,"on-exceed":d.onAttachmentExceed},{default:m(()=>[e(`span`,br,null,512)]),_:1},8,[`file-list`,`action`,`headers`,`limit`,`before-upload`,`on-change`,`on-success`,`on-error`,`on-exceed`]),e(`div`,xr,[e(`button`,{type:`button`,class:`cb-icon-btn`,title:d.$t(`codingBridge.session.attachFile`),"aria-label":d.$t(`codingBridge.session.attachFile`),onClick:f[9]||=(...e)=>d.onTriggerAttachmentUpload&&d.onTriggerAttachmentUpload(...e)},[a(se,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Sr),d.speechSupported?(v(),s(`button`,{key:0,type:`button`,class:n([`cb-icon-btn cb-voice-btn`,{"cb-voice-btn--active":d.speechActive}]),disabled:d.speechState===`stopping`,title:d.$t(d.speechActive?`codingBridge.session.voiceStop`:`codingBridge.session.voiceInput`),"aria-label":d.$t(d.speechActive?`codingBridge.session.voiceStop`:`codingBridge.session.voiceInput`),"aria-pressed":d.speechActive,onClick:f[10]||=(...e)=>d.toggleSpeechRecognition&&d.toggleSpeechRecognition(...e)},[d.speechActive?(v(),p(N,{key:0,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(v(),p(ce,{key:1,size:`1em`,"aria-hidden":`true`,focusable:`false`}))],10,Cr)):o(``,!0),e(`div`,wr,[d.isNewSession?(v(),p(z,{key:0,trigger:`click`,onCommand:f[11]||=e=>d.provider=e},{dropdown:m(()=>[a(R,null,{default:m(()=>[(v(!0),s(l,null,g(d.providerOptions,e=>(v(),p(L,{key:e.value,command:e.value,disabled:!e.available},{default:m(()=>[a(I,{class:n([`mr-2`,e.value===d.provider?`opacity-100`:`opacity-0`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),d.providerIcon(e.value)?(v(),s(`img`,{key:0,src:d.providerIcon(e.value).src,class:n([`cb-pill__brand mr-1.5`,{"cb-pill__brand--invert":d.providerIcon(e.value).invertOnDark}]),alt:``},null,10,Or)):o(``,!0),r(` `+i(e.label)+` `,1),e.available?o(``,!0):(v(),s(`span`,kr,i(d.$t(`codingBridge.session.providerUnavailable`)),1))]),_:2},1032,[`command`,`disabled`]))),128))]),_:1})]),default:m(()=>[e(`button`,Tr,[d.providerIcon(d.provider)?(v(),s(`img`,{key:0,src:d.providerIcon(d.provider).src,class:n([`cb-pill__brand`,{"cb-pill__brand--invert":d.providerIcon(d.provider).invertOnDark}]),alt:``},null,10,Er)):(v(),p(P,{key:1,class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Dr,i(d.providerName(d.provider)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),_:1})):(v(),s(`span`,Ar,[d.providerIcon(d.currentSession?.provider||`claude`)?(v(),s(`img`,{key:0,src:d.providerIcon(d.currentSession?.provider||`claude`).src,class:n([`cb-pill__brand`,{"cb-pill__brand--invert":d.providerIcon(d.currentSession?.provider||`claude`).invertOnDark}]),alt:``},null,10,jr)):(v(),p(P,{key:1,class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Mr,i(d.providerName(d.currentSession?.provider||`claude`)),1)])),e(`button`,{type:`button`,class:`cb-icon-btn cb-more-btn`,title:d.$t(`codingBridge.session.settings`),"aria-label":d.$t(`codingBridge.session.settings`),onClick:f[12]||=e=>d.moreOpen=!0},[a(le,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Nr),a(de,{open:d.moreOpen,"onUpdate:open":f[21]||=e=>d.moreOpen=e,dialog:d.mobileSettings},{default:m(()=>[e(`div`,{class:n([`cb-setting`,{"cb-setting--row":d.mobileSettings}])},[d.mobileSettings?(v(),s(`span`,Pr,i(d.$t(`chat.scheduledTasks.form.model`)),1)):o(``,!0),a(B,{ref:`modelPopover`,trigger:`click`,placement:`top-start`,width:260},{reference:m(()=>[e(`button`,Fr,[a(ue,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,Ir,i(d.model||d.$t(`codingBridge.session.modelDefault`)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),default:m(()=>[e(`div`,Lr,[e(`button`,{type:`button`,class:`cb-model-option`,onClick:f[13]||=e=>d.selectModel(``)},[a(I,{class:n([`cb-model-option__check`,d.model?`opacity-0`:`opacity-100`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),e(`span`,Rr,i(d.$t(`codingBridge.session.modelDefault`)),1)]),(v(!0),s(l,null,g(d.modelOptions,t=>(v(),s(`button`,{key:t.value,type:`button`,class:`cb-model-option`,onClick:e=>d.selectModel(t.value)},[a(I,{class:n([`cb-model-option__check`,t.value===d.model?`opacity-100`:`opacity-0`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),e(`span`,Br,i(t.label),1)],8,zr))),128)),d.allowCustomModel?(v(),s(`div`,Vr,[a(M,{modelValue:d.customModelDraft,"onUpdate:modelValue":f[14]||=e=>d.customModelDraft=e,size:`small`,placeholder:d.$t(`codingBridge.session.modelPlaceholder`),onKeyup:c(d.applyCustomModel,[`enter`])},{append:m(()=>[a(S,{disabled:!d.customModelDraft.trim(),"aria-label":d.$t(`common.button.confirm`),title:d.$t(`common.button.confirm`),onClick:d.applyCustomModel},{default:m(()=>[a(I,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`modelValue`,`placeholder`,`onKeyup`])])):o(``,!0)])]),_:1},512)],2),d.effortOptions.length>1?(v(),s(`div`,{key:0,class:n([`cb-setting`,{"cb-setting--row":d.mobileSettings}])},[d.mobileSettings?(v(),s(`span`,Hr,i(d.$t(`codingBridge.session.effortLabel`)),1)):o(``,!0),a(z,{trigger:`click`,onCommand:f[15]||=e=>d.effort=e},{dropdown:m(()=>[a(R,null,{default:m(()=>[(v(!0),s(l,null,g(d.effortOptions,e=>(v(),p(L,{key:e.value,command:e.value},{default:m(()=>[a(I,{class:n([`mr-2`,e.value===d.effort?`opacity-100`:`opacity-0`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),r(` `+i(e.label),1)]),_:2},1032,[`command`]))),128))]),_:1})]),default:m(()=>[e(`button`,Ur,[a(V,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,Wr,i(d.effortLabel(d.effort)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),_:1})],2)):o(``,!0),e(`div`,{class:n([`cb-setting`,{"cb-setting--row":d.mobileSettings}])},[d.mobileSettings?(v(),s(`span`,Gr,i(d.$t(`codingBridge.session.permissionModeLabel`)),1)):o(``,!0),a(z,{trigger:`click`,onCommand:f[16]||=e=>d.permissionMode=e},{dropdown:m(()=>[a(R,null,{default:m(()=>[(v(!0),s(l,null,g(d.permissionModeOptions,e=>(v(),p(L,{key:e.value,command:e.value},{default:m(()=>[a(I,{class:n([`mr-2`,e.value===d.permissionMode?`opacity-100`:`opacity-0`]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),r(` `+i(e.label),1)]),_:2},1032,[`command`]))),128))]),_:1})]),default:m(()=>[e(`button`,Kr,[a(H,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,qr,i(d.permissionModeLabel(d.permissionMode)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),_:1})],2),d.canPickCwd||d.currentSession?.cwd?(v(),s(`div`,{key:1,class:n([`cb-setting`,{"cb-setting--row":d.mobileSettings}])},[d.mobileSettings?(v(),s(`span`,Jr,i(d.$t(`common.settings.localToolsWorkingDirTitle`)),1)):o(``,!0),d.canPickCwd?(v(),p(B,{key:1,trigger:`click`,placement:`top-start`,width:320},{reference:m(()=>[e(`button`,Yr,[a(U,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,Xr,i(d.cwd||d.$t(`codingBridge.session.cwdDefault`)),1),a(F,{class:`cb-pill__caret`,size:`1em`,"aria-hidden":`true`,focusable:`false`})])]),default:m(()=>[a(M,{modelValue:d.cwd,"onUpdate:modelValue":f[20]||=e=>d.cwd=e,size:`small`,clearable:``,class:`cb-cwd-input`,placeholder:d.$t(`codingBridge.session.cwdPlaceholder`)},{suffix:m(()=>[e(`span`,{class:`cb-cwd-browse`,role:`button`,tabindex:`0`,title:d.$t(`codingBridge.directory.title`),"aria-label":d.$t(`codingBridge.directory.title`),onClick:f[17]||=(...e)=>d.openDirectory&&d.openDirectory(...e),onKeydown:[f[18]||=c(t((...e)=>d.openDirectory&&d.openDirectory(...e),[`prevent`]),[`enter`]),f[19]||=c(t((...e)=>d.openDirectory&&d.openDirectory(...e),[`prevent`]),[`space`])]},[a(U,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],40,Zr)]),_:1},8,[`modelValue`,`placeholder`])]),_:1})):(v(),s(`span`,Qr,[a(U,{class:`cb-pill__icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,$r,i(d.currentSession?.cwd),1)]))],2)):o(``,!0)]),_:1},8,[`open`,`dialog`])]),d.running?(v(),p(S,{key:1,circle:``,"aria-label":d.$t(`common.button.stop`),title:d.$t(`common.button.stop`),onClick:d.onInterrupt},{default:m(()=>[a(N,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`,`onClick`])):o(``,!0),a(S,{type:`primary`,round:``,disabled:!d.canSend,onClick:d.onSend},{default:m(()=>[r(i(d.editingActive?d.$t(`codingBridge.session.editSubmit`):d.$t(`codingBridge.session.send`)),1)]),_:1},8,[`disabled`,`onClick`])])]),e(`p`,ei,i(d.composerHint),1)],64))])],64)):(v(),s(`div`,Nn,[a(x,{class:`text-4xl mb-3`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Pn,i(d.$t(`codingBridge.session.noDevice`)),1),a(S,{class:`md:hidden mt-4`,round:``,onClick:f[0]||=e=>d.$emit(`devices`)},{default:m(()=>[a(x,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(d.$t(`codingBridge.nodeList.title`)),1)]),_:1})])),a(fe,{visible:d.directoryVisible,"onUpdate:visible":f[22]||=e=>d.directoryVisible=e,"initial-path":d.cwd,onSelect:d.onDirectorySelect},null,8,[`visible`,`initial-path`,`onSelect`])])}var ni=q(jn,[[`render`,ti],[`__scopeId`,`data-v-adb11f90`]]),ri=y({name:`CodingBridgePairDialog`,components:{LinkIcon:R,ElDialog:G,ElInput:W,ElButton:K},props:{visible:{type:Boolean,default:!1},initialCode:{type:String,default:``}},emits:[`update:visible`],data(){return{code:``}},computed:{claiming(){return this.$store.state.codingBridge?.status?.claimPair===x.Request}},watch:{visible(e){e&&this.initialCode&&(this.code=this.initialCode)},initialCode(e){e&&(this.code=e)}},methods:{async onClaim(){let e=this.code.trim();if(e)try{let t=await this.$store.dispatch(`codingBridge/claimPair`,e);S.success(this.$t(`codingBridge.pair.success`,{name:t})),this.code=``,this.$emit(`update:visible`,!1)}catch(e){let t=e?.response?.status;t===404?S.error(this.$t(`codingBridge.pair.invalidCode`)):t===409?S.error(this.$t(`codingBridge.pair.usedCode`)):S.error(this.$t(`codingBridge.pair.failed`))}}}}),ii={class:`content`},ai={class:`text-sm text-[var(--app-text-subtle)] mb-4`},oi={class:`steps list-none m-0 p-0 mb-4`},si={class:`flex gap-3 mb-3`},ci={class:`flex-1 min-w-0`},li={class:`text-sm mb-1`},ui={class:`flex gap-3 mb-3`},di={class:`flex-1 min-w-0`},fi={class:`text-sm mb-1`},pi={class:`flex gap-3`},mi={class:`flex-1 min-w-0`},hi={class:`text-sm`};function gi(t,n,o,s,l,d){let f=u(`el-input`),h=u(`link-icon`),g=u(`el-button`),_=u(`el-dialog`);return v(),p(_,{"model-value":t.visible,width:`520px`,title:t.$t(`codingBridge.pair.title`),center:``,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:visible`,e)},{default:m(()=>[e(`div`,ii,[e(`p`,ai,i(t.$t(`codingBridge.pair.intro`)),1),e(`ol`,oi,[e(`li`,si,[n[3]||=e(`span`,{class:`step-index`},`1`,-1),e(`div`,ci,[e(`p`,li,i(t.$t(`codingBridge.pair.step1`)),1),n[2]||=e(`code`,{class:`cmd`},`pip install coding-bridge`,-1)])]),e(`li`,ui,[n[5]||=e(`span`,{class:`step-index`},`2`,-1),e(`div`,di,[e(`p`,fi,i(t.$t(`codingBridge.pair.step2`)),1),n[4]||=e(`code`,{class:`cmd`},`coding-bridge up`,-1)])]),e(`li`,pi,[n[6]||=e(`span`,{class:`step-index`},`3`,-1),e(`div`,mi,[e(`p`,hi,i(t.$t(`codingBridge.pair.step3`)),1)])])]),a(f,{modelValue:t.code,"onUpdate:modelValue":n[0]||=e=>t.code=e,size:`large`,class:`mb-3`,placeholder:t.$t(`codingBridge.pair.codePlaceholder`),clearable:``,onKeyup:c(t.onClaim,[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeyup`]),a(g,{type:`primary`,round:``,class:`w-full`,loading:t.claiming,disabled:!t.code.trim(),onClick:t.onClaim},{default:m(()=>[a(h,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`codingBridge.pair.claim`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])])]),_:1},8,[`model-value`,`title`])}var _i=q(ri,[[`render`,gi],[`__scopeId`,`data-v-54bd85f1`]]),vi=y({name:`CodingBridgePermissionDialog`,components:{CloseIcon:Y,CodeIcon:j,ConfirmIcon:A,ElDialog:G,ElButton:K},computed:{request(){return(this.$store.state.codingBridge?.permissions??[]).find(e=>!tt(e))},hasInput(){return!!this.request?.input&&Object.keys(this.request.input).length>0},inputText(){try{return JSON.stringify(this.request?.input,null,2)}catch{return String(this.request?.input??``)}}},methods:{onAllow(){this.request&&this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:this.request.request_id,decision:`allow`})},onDeny(){this.request&&this.$store.dispatch(`codingBridge/resolvePermission`,{request_id:this.request.request_id,decision:`deny`})}}}),yi={key:0,class:`content`},bi={class:`text-sm text-[var(--app-text-subtle)] mb-3`},xi={class:`rounded-md border border-[var(--app-border-subtle)] p-3 mb-3`},Si={class:`flex items-center gap-2 font-medium`},Ci={key:0,class:`text-xs text-[var(--app-text-subtle)] mt-1`},wi={key:1,class:`mt-2 text-xs overflow-x-auto whitespace-pre-wrap break-words text-[var(--app-text-subtle)] max-h-[200px]`},Ti={class:`flex justify-end gap-2`};function Ei(t,n,c,l,d,f){let h=u(`code-icon`),g=u(`close-icon`),_=u(`el-button`),y=u(`confirm-icon`),b=u(`el-dialog`);return v(),p(b,{"model-value":!!t.request,width:`480px`,title:t.$t(`codingBridge.permission.title`),"close-on-click-modal":!1,"show-close":!1,center:``},{footer:m(()=>[e(`div`,Ti,[a(_,{round:``,onClick:t.onDeny},{default:m(()=>[a(g,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`codingBridge.permission.deny`)),1)]),_:1},8,[`onClick`]),a(_,{type:`primary`,round:``,onClick:t.onAllow},{default:m(()=>[a(y,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`codingBridge.permission.allow`)),1)]),_:1},8,[`onClick`])])]),default:m(()=>[t.request?(v(),s(`div`,yi,[e(`p`,bi,i(t.$t(`codingBridge.permission.subtitle`)),1),e(`div`,xi,[e(`div`,Si,[a(h,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,null,i(t.request.display_name||t.request.title||t.request.tool),1)]),t.request.description?(v(),s(`p`,Ci,i(t.request.description),1)):o(``,!0),t.hasInput?(v(),s(`pre`,wi,i(t.inputText),1)):o(``,!0)])])):o(``,!0)]),_:1},8,[`model-value`,`title`])}var Di=q(vi,[[`render`,Ei]]),Oi={claude:{src:_n,invertOnDark:!1},codex:{src:vn,invertOnDark:!0},copilot:{src:yn,invertOnDark:!0}},$=[`claude`,`codex`,`copilot`],ki=y({name:`CodingBridgeHistoryDrawer`,components:{CodeIcon:j,RedoIcon:U,ElDrawer:w,ElButton:K},props:{visible:{type:Boolean,default:!1}},emits:[`update:visible`],data(){return{selectedProviders:[]}},computed:{currentNodeId(){return this.$store.state.codingBridge?.currentNodeId},loading(){return this.$store.state.codingBridge?.status?.getHistory===x.Request},allSessions(){let e=this.currentNodeId;return[...e?this.$store.state.codingBridge?.history?.[e]??[]:[]].sort((e,t)=>(t.updated_at??0)-(e.updated_at??0))},sessions(){return this.selectedProviders.length?this.allSessions.filter(e=>this.selectedProviders.includes(e.provider)):this.allSessions},providerOptions(){let e=new Map;return this.allSessions.forEach(t=>{e.set(t.provider,(e.get(t.provider)??0)+1)}),[...e.entries()].sort(([e],[t])=>{let n=$.indexOf(e),r=$.indexOf(t);return n===r?e.localeCompare(t):(n<0?$.length:n)-(r<0?$.length:r)}).map(([e,t])=>({value:e,label:this.providerLabel(e),count:t,icon:this.providerIcon(e)}))}},watch:{visible(e){e&&this.currentNodeId&&this.$store.dispatch(`codingBridge/getHistory`,this.currentNodeId)},currentNodeId(){this.selectedProviders=[]}},methods:{isSelected(e){return this.selectedProviders.includes(e)},toggle(e){this.selectedProviders=this.isSelected(e)?this.selectedProviders.filter(t=>t!==e):[...this.selectedProviders,e]},clearFilter(){this.selectedProviders=[]},providerLabel(e){return{claude:`Claude Code`,codex:`Codex`,copilot:`GitHub Copilot`}[e]??e},providerIcon(e){return Oi[e]??null},refresh(){this.currentNodeId&&this.$store.dispatch(`codingBridge/getHistory`,this.currentNodeId)},open(e){this.currentNodeId&&(e.unread&&this.$store.dispatch(`codingBridge/markHistoryRead`,{node_id:this.currentNodeId,provider:e.provider,session_id:e.session_id,updated_at:e.updated_at}),this.$store.dispatch(`codingBridge/reattachSession`,{node_id:this.currentNodeId,provider:e.provider,session_id:e.session_id}),this.$emit(`update:visible`,!1))},formatTime(e){try{return new Date(e).toLocaleString()}catch{return``}}}}),Ai={class:`flex flex-col h-full`},ji={class:`flex items-center justify-between mb-3`},Mi={class:`text-xs text-[var(--app-text-subtle)] m-0`},Ni={key:0,class:`flex flex-wrap items-center gap-1.5 mb-3`},Pi=[`aria-pressed`,`onClick`],Fi=[`src`],Ii={class:`chip-count`},Li={key:1,class:`m-auto text-sm text-[var(--app-text-subtle)]`},Ri={key:2,class:`m-auto text-sm text-[var(--app-text-subtle)]`},zi={key:3,class:`m-auto text-sm text-[var(--app-text-subtle)] text-center`},Bi={key:4,class:`m-auto text-sm text-[var(--app-text-subtle)] text-center`},Vi={class:`m-0`},Hi={key:5,class:`list-none m-0 p-0 flex-1 overflow-y-auto flex flex-col gap-2`},Ui=[`onClick`],Wi={class:`flex items-center gap-2 mb-1`},Gi=[`src`,`alt`],Ki=[`title`],qi=[`title`],Ji={class:`text-[11px] text-[var(--app-text-subtle)] truncate`},Yi={key:0},Xi={key:1},Zi={class:`text-[11px] text-[var(--app-text-subtle)] mt-0.5`},Qi={key:0},$i={key:1};function ea(t,c,d,f,h,_){let y=u(`redo-icon`),b=u(`el-button`),x=u(`code-icon`),S=u(`el-drawer`);return v(),p(S,{"model-value":t.visible,direction:`rtl`,size:`380px`,title:t.$t(`codingBridge.history.title`),"onUpdate:modelValue":c[1]||=e=>t.$emit(`update:visible`,e)},{default:m(()=>[e(`div`,Ai,[e(`div`,ji,[e(`p`,Mi,i(t.$t(`codingBridge.history.intro`)),1),a(b,{size:`small`,round:``,loading:t.loading,onClick:t.refresh},{default:m(()=>[t.loading?o(``,!0):(v(),p(y,{key:0,class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),r(` `+i(t.$t(`codingBridge.history.refresh`)),1)]),_:1},8,[`loading`,`onClick`])]),t.providerOptions.length>1?(v(),s(`div`,Ni,[(v(!0),s(l,null,g(t.providerOptions,r=>(v(),s(`button`,{key:r.value,type:`button`,class:n([`chip`,{"chip--active":t.isSelected(r.value)}]),"aria-pressed":t.isSelected(r.value),onClick:e=>t.toggle(r.value)},[r.icon?(v(),s(`img`,{key:0,src:r.icon.src,class:n([`provider-icon`,{"provider-icon--invert":r.icon.invertOnDark}]),alt:``,"aria-hidden":`true`},null,10,Fi)):(v(),p(x,{key:1,class:`provider-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(r.label),1),e(`span`,Ii,i(r.count),1)],10,Pi))),128)),t.selectedProviders.length?(v(),s(`button`,{key:0,type:`button`,class:`chip-clear`,onClick:c[0]||=(...e)=>t.clearFilter&&t.clearFilter(...e)},i(t.$t(`codingBridge.history.filterAll`)),1)):o(``,!0)])):o(``,!0),t.currentNodeId?t.loading&&!t.allSessions.length?(v(),s(`div`,Ri,i(t.$t(`codingBridge.history.loading`)),1)):t.allSessions.length?t.sessions.length?(v(),s(`ul`,Hi,[(v(!0),s(l,null,g(t.sessions,r=>(v(),s(`li`,{key:r.provider+`:`+r.session_id,class:`item rounded-lg p-3 cursor-pointer border border-[var(--app-border-subtle)]`,onClick:e=>t.open(r)},[e(`div`,Wi,[t.providerIcon(r.provider)?(v(),s(`img`,{key:0,src:t.providerIcon(r.provider).src,class:n([`provider-icon`,{"provider-icon--invert":t.providerIcon(r.provider).invertOnDark}]),alt:t.providerLabel(r.provider)},null,10,Gi)):(v(),p(x,{key:1,class:`provider-icon`,title:t.providerLabel(r.provider),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`title`])),e(`span`,{class:n([`text-sm truncate flex-1`,r.unread?`font-bold`:`font-normal`]),title:r.unread?t.$t(`codingBridge.history.unread`):void 0},i(r.title),11,Ki),r.running?(v(),s(`span`,{key:2,class:`running-dot`,title:t.$t(`codingBridge.history.running`)},null,8,qi)):o(``,!0)]),e(`div`,Ji,[r.cwd?(v(),s(`span`,Yi,i(r.cwd),1)):o(``,!0),r.git_branch?(v(),s(`span`,Xi,` · `+i(r.git_branch),1)):o(``,!0)]),e(`div`,Zi,[r.updated_at?(v(),s(`span`,Qi,i(t.formatTime(r.updated_at)),1)):o(``,!0),r.message_count?(v(),s(`span`,$i,` · `+i(t.$t(`codingBridge.history.messages`,{count:r.message_count})),1)):o(``,!0)])],8,Ui))),128))])):(v(),s(`div`,Bi,[e(`p`,Vi,i(t.$t(`codingBridge.history.filterEmpty`)),1),a(b,{class:`mt-2`,size:`small`,round:``,onClick:t.clearFilter},{default:m(()=>[r(i(t.$t(`codingBridge.history.filterAll`)),1)]),_:1},8,[`onClick`])])):(v(),s(`div`,zi,i(t.$t(`codingBridge.history.empty`)),1)):(v(),s(`div`,Li,i(t.$t(`codingBridge.session.noDevice`)),1))])]),_:1},8,[`model-value`,`title`])}var ta=y({name:`CodingBridgeIndex`,components:{ElDrawer:w,NodeList:$e,SessionView:ni,PairDialog:_i,PermissionDialog:Di,HistoryDrawer:q(ki,[[`render`,ea],[`__scopeId`,`data-v-abb16563`]])},data(){return{drawer:!1,pairVisible:!1,historyVisible:!1,initialCode:``}},mounted(){this.$store.dispatch(`codingBridge/connect`),this.$store.dispatch(`codingBridge/getNodes`);let e=this.$route.query.code;typeof e==`string`&&e&&(this.initialCode=e,this.pairVisible=!0),this.restoreFromUrl(),this.handleNotificationDeepLink(),this.cleanUrl()},beforeUnmount(){this.$store.dispatch(`codingBridge/disconnect`)},methods:{openPair(){this.initialCode=``,this.pairVisible=!0},openPairFromDrawer(){this.drawer=!1,this.openPair()},restoreFromUrl(){let e=this.$route.query,t=typeof e.session==`string`?e.session:``,n=typeof e.node==`string`?e.node:``;if(!t||!n)return;let r=e.provider===`codex`||e.provider===`copilot`?e.provider:`claude`;this.$store.commit(`codingBridge/setCurrentNode`,n),this.$store.commit(`codingBridge/setHistoryRef`,{node_id:n,provider:r,session_id:t}),this.$store.dispatch(`codingBridge/getHistory`,n),this.$store.dispatch(`codingBridge/requestSessions`,n)},cleanUrl(){let e=this.$route.query,t=[`session`,`node`,`provider`,`request`,`code`];if(!t.some(t=>t in e))return;let n={...e};t.forEach(e=>delete n[e]),this.$router.replace({query:n}).catch(()=>{})},handleNotificationDeepLink(){let e=this.$route.query.node;typeof e==`string`&&e&&(this.$route.query.session||this.$store.dispatch(`codingBridge/selectNode`,e),this.$store.dispatch(`codingBridge/requestPendingPermissions`,e))}}}),na={class:`coding-bridge flex flex-row h-full relative`};function ra(e,t,n,r,i,o){let c=u(`node-list`),l=u(`session-view`),d=u(`el-drawer`),f=u(`pair-dialog`),p=u(`permission-dialog`),h=u(`history-drawer`);return v(),s(`div`,na,[a(c,{class:`sidebar w-[300px] flex-none`,onPair:e.openPair},null,8,[`onPair`]),a(l,{class:`flex-1 min-w-0`,onHistory:t[0]||=t=>e.historyVisible=!0,onDevices:t[1]||=t=>e.drawer=!0}),a(d,{modelValue:e.drawer,"onUpdate:modelValue":t[2]||=t=>e.drawer=t,direction:`ltr`,"with-header":!1,size:`300px`,class:`drawer`},{default:m(()=>[a(c,{onPair:e.openPairFromDrawer},null,8,[`onPair`])]),_:1},8,[`modelValue`]),a(f,{visible:e.pairVisible,"onUpdate:visible":t[3]||=t=>e.pairVisible=t,"initial-code":e.initialCode},null,8,[`visible`,`initial-code`]),a(p),a(h,{visible:e.historyVisible,"onUpdate:visible":t[4]||=t=>e.historyVisible=t},null,8,[`visible`])])}var ia=q(ta,[[`render`,ra],[`__scopeId`,`data-v-2879fe0f`]]);export{ia as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,F as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,it as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-K-2CZ3eR.js";import{h as _,v}from"./models-C4O1HNS0.js";import{n as y,t as b}from"./collapse-Cn0v0672.js";import{t as x}from"./drawer-CLmU-Got.js";import{t as S}from"./circle-question-mark-7WsuM54_.js";import{t as C}from"./globe-BEP94d7V.js";import{t as w}from"./search-CkC2D5Yj.js";import"./constants-CdZEFH5x.js";import{$r as T,Ba as E,Ma as D,O,Rn as ee,Zr as k,hi as A,in as te,mi as j,pn as M,va as N,zn as P}from"./index-C-w8AJfV.js";import{t as F}from"./Consumption-DeigvrPq.js";import{t as I}from"./ScenarioPaymentMode-z1NgjkNu.js";var L=m({name:`LayoutSerp`,components:{SearchIcon:w,ElDrawer:x,ElButton:D},data(){return{drawer:!1}}}),R={class:`main flex flex-row flex-1`},z={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},B={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function V(t,n,r,a,s,u){let f=c(`search-icon`),m=c(`el-button`),h=c(`el-drawer`);return p(),o(`div`,R,[e(`div`,z,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,B,[l(t.$slots,`result`,{},void 0,!0)]),i(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:d(()=>[i(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),i(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var H=O(L,[[`render`,V],[`__scopeId`,`data-v-fc67ba0b`]]),U=m({name:`QueryInput`,components:{ElInput:E},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),W={class:`field`},G={class:`box`},K={class:`title font-bold`};function q(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,W,[e(`div`,G,[e(`h2`,K,r(t.$t(`serp.name.query`)),1)]),i(d,{modelValue:t.query,"onUpdate:modelValue":n[0]||=e=>t.query=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var J=O(U,[[`render`,q],[`__scopeId`,`data-v-3582b195`]]),Y=m({name:`TypeSelector`,components:{ElSelect:h,ElOption:g},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),X={class:`field`},Z={class:`title font-bold`};function Q(t,n,a,s,l,u){let f=c(`el-option`),m=c(`el-select`);return p(),o(`div`,X,[e(`h2`,Z,r(t.$t(`serp.name.type`)),1),i(m,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:d(()=>[i(f,{value:`search`,label:t.$t(`serp.type.search`)},null,8,[`label`]),i(f,{value:`images`,label:t.$t(`serp.type.images`)},null,8,[`label`]),i(f,{value:`news`,label:t.$t(`serp.type.news`)},null,8,[`label`]),i(f,{value:`videos`,label:t.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var ne=O(Y,[[`render`,Q],[`__scopeId`,`data-v-2913fb62`]]),re=m({name:`CountryInput`,components:{ElInput:E},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),ie={class:`field`},ae={class:`title font-bold`};function oe(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,ie,[e(`h2`,ae,r(t.$t(`serp.name.country`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var se=O(re,[[`render`,oe],[`__scopeId`,`data-v-f0672cc6`]]),ce=m({name:`LanguageInput`,components:{ElInput:E},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),le={class:`field`},ue={class:`title font-bold`};function de(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,le,[e(`h2`,ue,r(t.$t(`serp.name.language`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var fe=m({name:`SearchPanel`,components:{SearchIcon:w,ElButton:D,QueryInput:J,TypeSelector:ne,CountryInput:se,LanguageInput:O(ce,[[`render`,de],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:F,ScenarioPaymentMode:I},emits:[`search`],data(){return{quoteTimer:0,quoteRunId:0}},computed:{config(){return this.$store.state.serp?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===_.Request},walletMode(){return j()&&A(`serp`).mode===`wallet`}},watch:{walletMode:{handler(e){e&&this.scheduleQuote()},immediate:!0},config:{handler(){this.walletMode&&this.scheduleQuote()},deep:!0}},beforeUnmount(){window.clearTimeout(this.quoteTimer),this.quoteRunId+=1},methods:{scheduleQuote(){window.clearTimeout(this.quoteTimer),this.quoteTimer=window.setTimeout(this.refreshQuote,350)},async refreshQuote(){let e=A(`serp`),t=++this.quoteRunId;e.quoteLoading=!0,e.quoteUsdc=void 0;try{let n=await P.quote(ee(this.config));t===this.quoteRunId&&e.mode===`wallet`&&(e.quoteUsdc=n.amountUsdc)}catch(e){console.warn(`x402 quote failed`,e)}finally{t===this.quoteRunId&&(e.quoteLoading=!1)}},onSearch(){this.$emit(`search`)}}}),pe={class:`flex flex-col h-full`},me={class:`flex-1 overflow-y-auto p-5`},he={class:`flex flex-col items-center justify-center px-5 pb-5`};function ge(t,s,l,f,m,h){let g=c(`query-input`),_=c(`type-selector`),v=c(`country-input`),y=c(`language-input`),b=c(`scenario-payment-mode`),x=c(`consumption`),S=c(`search-icon`),C=c(`el-button`);return p(),o(`div`,pe,[e(`div`,me,[i(g,{class:`mb-4`}),i(_,{class:`mb-4`}),i(v,{class:`mb-4`}),i(y,{class:`mb-4`})]),e(`div`,he,[i(b,{scenario:`serp`}),t.walletMode?a(``,!0):(p(),u(x,{key:0,value:t.consumption,service:t.service},null,8,[`value`,`service`])),i(C,{type:`primary`,class:`btn w-full`,round:``,loading:t.searching,onClick:t.onSearch},{default:d(()=>[i(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var _e=O(fe,[[`render`,ge]]),ve=m({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),ye={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},be={class:`flex flex-row gap-4`},xe=[`src`,`alt`],Se={class:`flex-1 min-w-0`},Ce={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},we={class:`text-xl font-bold mb-1.5`},Te={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},Ee=[`href`],De={key:2,class:`text-sm`},Oe={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},ke={class:`text-[var(--el-text-color-regular)]`};function Ae(t,i,c,l,u,d){return p(),o(`div`,ye,[e(`div`,be,[t.data.image_url?(p(),o(`img`,{key:0,src:t.data.image_url,alt:t.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,xe)):a(``,!0),e(`div`,Se,[t.data.type?(p(),o(`div`,Ce,r(t.data.type),1)):a(``,!0),e(`h3`,we,r(t.data.title),1),t.data.description?(p(),o(`p`,Te,[n(r(t.data.description)+` `,1),t.data.description_link?(p(),o(`a`,{key:0,href:t.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},r(t.data.description_source||`Source`),9,Ee)):a(``,!0)])):a(``,!0),t.data.attributes&&Object.keys(t.data.attributes).length?(p(),o(`div`,De,[(p(!0),o(s,null,f(t.data.attributes,(t,n)=>(p(),o(`div`,{key:n,class:`flex gap-2 mb-1 py-0.5`},[e(`span`,Oe,r(n)+`:`,1),e(`span`,ke,r(t),1)]))),128))])):a(``,!0)])])])}var je=O(ve,[[`render`,Ae]]),Me=m({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Ne={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},Pe={key:0,class:`flex items-center gap-2 mb-1.5`},Fe=[`src`,`alt`],Ie={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Le={class:`text-xs text-[var(--el-text-color-disabled)]`},Re=[`href`],ze={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Be={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Ve={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},He=[`href`];function Ue(t,n,i,c,l,u){return p(),o(`div`,Ne,[t.displayUrl?(p(),o(`div`,Pe,[e(`img`,{src:t.faviconUrl,alt:t.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:n[0]||=(...e)=>t.onFaviconError&&t.onFaviconError(...e)},null,40,Fe),e(`span`,Ie,r(t.hostname),1),e(`span`,Le,r(t.pathname),1)])):a(``,!0),e(`a`,{href:t.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},r(t.data.title),9,Re),t.data.date?(p(),o(`div`,ze,r(t.data.date),1)):a(``,!0),t.data.snippet?(p(),o(`p`,Be,r(t.data.snippet),1)):a(``,!0),t.data.sitelinks?.length?(p(),o(`div`,Ve,[(p(!0),o(s,null,f(t.data.sitelinks,(e,t)=>(p(),o(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},r(e.title),9,He))),128))])):a(``,!0)])}var We=O(Me,[[`render`,Ue]]),Ge=m({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),Ke={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},qe={class:`text-base font-bold mb-3`},Je={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},Ye=[`href`],Xe=[`src`,`alt`],Ze={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Qe={class:`text-xs text-white line-clamp-2`};function $e(t,n,i,c,l,u){return p(),o(`div`,Ke,[e(`h3`,qe,r(t.$t(`serp.name.imageResults`)),1),e(`div`,Je,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,Xe)):a(``,!0),e(`div`,Ze,[e(`span`,Qe,r(t.title),1)])],8,Ye))),128))])])}var et=O(Ge,[[`render`,$e]]),tt=m({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),nt={class:`text-base font-bold mb-3`},rt={class:`space-y-4`},it=[`href`],at={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},ot=[`src`,`alt`],st={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},ct={class:`flex-1 min-w-0`},lt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},ut={class:`text-xs text-gray-400 mt-1`},dt={key:0},ft={key:1},pt={key:2},mt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function ht(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,nt,r(t.$t(`serp.name.videoResults`)),1),e(`div`,rt,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,at,[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,ot)):a(``,!0),t.duration?(p(),o(`div`,st,r(t.duration),1)):a(``,!0)]),e(`div`,ct,[e(`div`,lt,r(t.title),1),e(`div`,ut,[t.source?(p(),o(`span`,dt,r(t.source),1)):a(``,!0),t.channel?(p(),o(`span`,ft,` · `+r(t.channel),1)):a(``,!0),t.date?(p(),o(`span`,pt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,mt,r(t.snippet),1)):a(``,!0)])],8,it))),128))])])}var gt=O(tt,[[`render`,ht]]),_t=m({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),vt={class:`text-base font-bold mb-3`},yt={class:`space-y-4`},bt=[`href`],xt={class:`flex-1 min-w-0`},St={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},Ct={class:`text-xs text-gray-400 mt-1`},wt={key:0},Tt={key:1},Et={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},Dt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},Ot=[`src`,`alt`];function kt(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,vt,r(t.$t(`serp.name.newsResults`)),1),e(`div`,yt,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,xt,[e(`div`,St,r(t.title),1),e(`div`,Ct,[t.source?(p(),o(`span`,wt,r(t.source),1)):a(``,!0),t.date?(p(),o(`span`,Tt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,Et,r(t.snippet),1)):a(``,!0)]),t.image_url?(p(),o(`div`,Dt,[e(`img`,{src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,Ot)])):a(``,!0)],8,bt))),128))])])}var At=O(_t,[[`render`,kt]]),jt=m({name:`PeopleAlsoAsk`,components:{ElCollapse:b,ElCollapseItem:y},props:{data:{type:Array,required:!0}}}),Mt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Nt={class:`text-base font-bold mb-3`},Pt={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},Ft=[`href`];function It(t,n,l,m,h,g){let _=c(`el-collapse-item`),v=c(`el-collapse`);return p(),o(`div`,Mt,[e(`h3`,Nt,r(t.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:d(()=>[(p(!0),o(s,null,f(t.data,(e,t)=>(p(),u(_,{key:t,title:e.question||e.title||``},{default:d(()=>[e.snippet?(p(),o(`p`,Pt,r(e.snippet),1)):a(``,!0),e.link?(p(),o(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},r(e.title||e.link),9,Ft)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var Lt=O(jt,[[`render`,It]]),Rt=m({name:`RelatedSearches`,components:{SearchIcon:w},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),zt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Bt={class:`text-base font-bold mb-3`},$={class:`flex flex-wrap gap-2`},Vt=[`onClick`];function Ht(t,a,l,u,d,m){let h=c(`search-icon`);return p(),o(`div`,zt,[e(`h3`,Bt,r(t.$t(`serp.name.relatedSearches`)),1),e(`div`,$,[(p(!0),o(s,null,f(t.data,(e,a)=>(p(),o(`button`,{key:a,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>t.onSearch(e.query)},[i(h,{class:`text-xs opacity-50`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.query),1)],8,Vt))),128))])])}var Ut=m({name:`ResultPanel`,components:{GlobeIcon:C,HelpIcon:S,KnowledgeGraph:je,OrganicResult:We,ImageResults:et,VideoResults:gt,NewsResults:At,PeopleAlsoAsk:Lt,RelatedSearches:O(Rt,[[`render`,Ht]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===_.Request},noResults(){return this.$store.state.serp?.status?.search===_.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),Wt={class:`h-full overflow-y-auto p-6`},Gt={key:0,class:`max-w-3xl mx-auto py-8`},Kt={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},qt={class:`text-base`},Jt={key:2,class:`max-w-3xl mx-auto`},Yt={key:1,class:`mb-6`},Xt={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Zt={class:`text-base`};function Qt(n,l,d,m,h,g){let _=c(`help-icon`),v=c(`knowledge-graph`),y=c(`organic-result`),b=c(`image-results`),x=c(`video-results`),S=c(`news-results`),C=c(`people-also-ask`),w=c(`related-searches`),T=c(`globe-icon`);return p(),o(`div`,Wt,[n.searching?(p(),o(`div`,Gt,[(p(),o(s,null,f(4,n=>e(`div`,{key:n,class:`mb-6 animate-pulse`},[...l[0]||=[t(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):n.noResults?(p(),o(`div`,Kt,[i(_,{class:`text-5xl mb-4 opacity-40`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,qt,r(n.$t(`serp.message.noResults`)),1)])):n.results?(p(),o(`div`,Jt,[n.results.knowledge_graph?.title?(p(),u(v,{key:0,data:n.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.organic?.length?(p(),o(`div`,Yt,[(p(!0),o(s,null,f(n.results.organic,(e,t)=>(p(),u(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),n.results.images?.length?(p(),u(b,{key:2,data:n.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.videos?.length?(p(),u(x,{key:3,data:n.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.news?.length?(p(),u(S,{key:4,data:n.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.people_also_ask?.length?(p(),u(C,{key:5,data:n.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.related_searches?.length?(p(),u(w,{key:6,data:n.results.related_searches,class:`mb-6`,onSearch:n.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(p(),o(`div`,Xt,[i(T,{class:`text-5xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Zt,r(n.$t(`serp.description.query`)),1)]))])}var $t=m({name:`SerpIndex`,components:{Layout:H,SearchPanel:_e,ResultPanel:O(Ut,[[`render`,Qt]])},inject:[`initialized`],computed:{credential(){return this.$store.state.serp?.credential},walletMode(){return j()&&A(`serp`).mode===`wallet`}},async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(!this.$store.state.serp?.config?.query)return;let e;if(this.walletMode){let t=this.getWalletContext();if(!t){v.warning(this.$t(`common.x402Scenario.connectWalletFirst`));return}e={mode:`x402`,x402:{wallet:t,confirm:e=>this.confirmWalletPayment(e),identityToken:this.credential?.token}}}else if(!M())return;v.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`,e),v.success(this.$t(`serp.message.searchSuccess`))}catch(e){if(e instanceof k)return;(e?.response?.data)?.error?.code===`used_up`?v.error(this.$t(`serp.message.usedUp`)):this.walletMode?v.error(`${this.$t(`common.x402Scenario.paymentFailed`)} ${e?.message||``}`.trim()):v.error(this.$t(`serp.message.searchFailed`))}},getWalletContext(){return T(this.$wallet)},async confirmWalletPayment(e){return N.confirm(this.$t(`common.x402Scenario.confirmPayment`,{amount:e.amountUsdc}),this.$t(`order.message.x402ConfirmTitle`),{confirmButtonText:this.$t(`order.message.x402WalletPayCta`),cancelButtonText:this.$t(`common.button.cancel`),type:`warning`}).then(()=>!0).catch(()=>!1)},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function en(e,t,n,r,a,o){let s=c(`search-panel`),l=c(`result-panel`),f=c(`layout`);return p(),u(f,null,{config:d(()=>[i(s,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:d(()=>[i(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var tn=O($t,[[`render`,en]]);export{tn as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,T as o,at as s,ht as c,j as l,mt as u,ot as ee,rt as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{n as m,t as h}from"./table-CYivBc_q.js";import{a as g,f as _,i as v,p as y,v as b}from"./models-C4O1HNS0.js";import{t as x}from"./card-IQwqnRJR.js";import{n as S,t as C}from"./row-pFT5d-_R.js";import{t as w}from"./empty-C5KjRN0h.js";import{t as T}from"./skeleton-Dj_a_iIP.js";import{t as E}from"./switch-BZMevA9h.js";import{t as D}from"./boxes-Ch0CdyWt.js";import{t as O}from"./chart-no-axes-combined-CCgcomKw.js";import{t as k}from"./coins-D7u-P3hE.js";import{t as A}from"./wallet-C-kwFfVY.js";import{Aa as j,G as M,Ma as N,O as P,Si as F,et as I,kn as L,ua as R}from"./index-C-w8AJfV.js";import{t as z}from"./CopyToClipboard-B8YmxJt6.js";import{t as B}from"./pagination-Cqd6FGMz.js";var V=p({name:`ConsoleApplicationList`,components:{AnalyticsIcon:O,ApplicationsIcon:D,CreditsIcon:k,WalletIcon:A,Pagination:B,CopyToClipboard:z,ElTable:h,ElRow:C,ElButton:N,ElCol:S,ElTag:j,ElSkeleton:T,ElSwitch:E,ElEmpty:w,ElTableColumn:m,ElCard:x},data(){return{credentialType:v,serviceType:g,individualApplications:[],globalApplications:[],individualApplicationsTotal:void 0,globalApplicationsTotal:void 0,loading:!1,buying:!1,limit:10,form:{amount:1},active:{service:void 0,application:void 0}}},computed:{redirect(){return this.$route.query?.redirect},page(){return parseInt(this.$route.query.page?.toString()||`1`)},showGlobalPayment(){return!L(this.$store.getters.site)}},watch:{page:{handler(){this.onFetchData()}}},mounted(){this.onInitializeGlobalApplication(),this.onFetchData()},methods:{rowCanPay(e){return e.role===`grantee`||L(this.$store.getters.site)?!1:R()?(e?.packages||[]).some(e=>e?.metadata?.apple_product_id):!0},updateAllowConsumeGlobal(e,t){!e||!e.id||F.updateAllConsumeGlobal(e.id,{...e,allow_consume_global:!!t}).then(()=>{b.success(this.$t(`application.message.updateSuccessfully`).toString())}).catch(()=>{b.error(this.$t(`application.message.updateFailed`).toString())})},onGoUsage(e){this.$router.push({name:I,query:{application_id:e.id}})},onBuyMore(e){e?.id&&this.$router.push({name:M,params:{id:e.id}})},onPageChange(e){this.$router.push({name:this.$route.name?.toString(),query:{...this.$route.query,page:e}})},onFetchApplications(e=_.INDIVIDUAL){return new Promise((t,n)=>{F.getAll({limit:this.limit,...e===_.INDIVIDUAL?{offset:(this.page-1)*this.limit}:{},user_id:this.$store.getters.user.id,ordering:`-created_at`,type:y.USAGE,scope:e}).then(({data:n})=>{e===_.INDIVIDUAL?(this.individualApplications=n.items,this.individualApplicationsTotal=n.count):(this.globalApplications=n.items,this.globalApplicationsTotal=n.count),t(n)}).catch(e=>{b.error(this.$t(`application.message.fetchFailed`).toString()),n(e)})})},onFetchData(){this.loading=!0,Promise.all([this.onFetchApplications(_.INDIVIDUAL),this.onFetchApplications(_.GLOBAL)]).then(()=>{this.loading=!1}).catch(()=>{this.loading=!1})},onInitializeGlobalApplication(){F.create({type:y.USAGE,scope:_.GLOBAL,user_id:this.$store.getters.user.id}).finally(()=>{this.onFetchApplications(_.GLOBAL)})},getRemainingAmount(e){if(e.remaining_amount===void 0||e.remaining_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.remaining_amount?.toFixed(6)} ${t}`},getUsedAmount(e){if(e.used_amount===void 0||e.used_amount===null)return``;let t=this.$t(`service.unit.${e?.service?.unit||`credit`}s`);return`${e.used_amount?.toFixed(6)} ${t}`}}}),H={class:`title`},U={key:1,class:`summary-card`},W={class:`icon-wrapper`},G={class:`label`},K={class:`value`},q={class:`description`},J={key:1,class:`flex flex-row justify-between items-center gap-3`},Y={class:`summary-card min-w-0 flex-1`},X={class:`flex justify-start items-center gap-2 mb-2 w-full`},Z={class:`icon-wrapper !mb-0`},te={class:`text-[var(--el-text-color-regular)] text-[14px] truncate`},Q={class:`label`},ne={class:`value`},re={class:`description`},ie={class:`flex flex-col items-end gap-2 shrink-0`},ae={class:`copy`},oe={key:0,class:`expired-at`},se={class:`flex flex-wrap items-center justify-end gap-1`},ce={class:`application-cards block sm:hidden`},le={class:`flex items-center gap-2 flex-wrap`},ue={class:`application-card__name`},de={class:`application-card__id`},fe={class:`truncate`},pe={class:`application-card__row`},$={class:`label`},me={class:`value`},he={key:0,class:`application-card__row`},ge={class:`label`},_e={class:`value`},ve={key:1,class:`application-card__row`},ye={class:`label`},be={class:`flex items-center justify-end gap-2 mt-3`},xe={class:`pagination`};function Se(p,m,h,g,_,v){let y=s(`el-col`),b=s(`el-row`),x=s(`el-skeleton`),S=s(`applications-icon`),C=s(`el-card`),w=s(`wallet-icon`),T=s(`copy-to-clipboard`),E=s(`analytics-icon`),D=s(`el-button`),O=s(`credits-icon`),k=s(`el-table-column`),A=s(`el-tag`),j=s(`el-switch`),M=s(`el-table`),N=s(`el-empty`),P=s(`pagination`),F=ee(`loading`);return f(),l(b,{class:`application-list`},{default:u(()=>[r(y,{span:24},{default:u(()=>[r(b,null,{default:u(()=>[r(y,{span:24},{default:u(()=>[e(`h2`,H,n(p.$t(`common.title.allApplications`)),1)]),_:1})]),_:1}),r(b,{gutter:15,class:`mb-3`},{default:u(()=>[r(y,{md:12,xs:24},{default:u(()=>[r(C,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[p.loading?(f(),l(x,{key:0})):(f(),a(`div`,U,[e(`div`,W,[r(S,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`p`,G,n(p.$t(`application.title.count`)),1),e(`p`,K,n(p.individualApplicationsTotal),1),e(`p`,q,n(p.$t(`application.message.countDescription`)),1)]))]),_:1})]),_:1}),p.showGlobalPayment&&p.globalApplications?.length>0?(f(),l(y,{key:0,md:12,xs:24},{default:u(()=>[r(C,{shadow:`hover`,class:`relative min-h-[180px] mb-2`,"body-style":{padding:`18px 20px`}},{default:u(()=>[p.loading?(f(),l(x,{key:0})):(f(),a(`div`,J,[e(`div`,Y,[e(`div`,X,[e(`div`,Z,[r(w,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),e(`span`,te,[t(n(p.$t(`application.field.id`))+`: `+n(p.globalApplications?.[0]?.id)+` `,1),p.globalApplications?.[0]?.id?(f(),l(T,{key:0,content:p.globalApplications?.[0]?.id,class:`inline-block`},null,8,[`content`])):i(``,!0)])]),e(`p`,Q,n(p.$t(`application.title.globalBalance`)),1),e(`p`,ne,n(p.globalApplications?.[0]?.remaining_amount?.toFixed(6)||`0.000000`)+` `+n(p.$t(`service.unit.credits`)),1),e(`p`,re,n(p.$t(`application.message.globalBalanceDescription`)),1)]),e(`div`,ie,[r(D,{class:`!m-0 !px-2`,size:`small`,round:``,onClick:m[0]||=e=>p.onGoUsage(p.globalApplications?.[0])},{default:u(()=>[r(E,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(p.$t(`application.button.usage`)),1)]),_:1}),p.showGlobalPayment?(f(),l(D,{key:0,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:m[1]||=e=>p.onBuyMore(p.globalApplications?.[0])},{default:u(()=>[r(O,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(p.$t(`application.button.buyMore`)),1)]),_:1})):i(``,!0)])]))]),_:1})]),_:1})):i(``,!0)]),_:1}),r(b,null,{default:u(()=>[r(y,{span:24},{default:u(()=>[r(C,{shadow:`hover`,class:`applications-table-card hidden sm:block`},{default:u(()=>[c((f(),l(M,{data:p.individualApplications,stripe:``,class:`applications-table !min-h-[calc(100vh-420px)]`,"table-layout":`fixed`,"empty-text":p.$t(`common.message.noData`)},{default:u(()=>[r(k,{prop:`id`,label:p.$t(`application.field.id`),width:`200px`,"class-name":`text-center`},{default:u(t=>[e(`span`,null,n(t.row.id),1),e(`span`,ae,[r(T,{content:t?.row?.id,class:`inline-block`},null,8,[`content`])])]),_:1},8,[`label`]),r(k,{label:p.$t(`application.field.type`),width:`90px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row?.type===`Period`?(f(),l(A,{key:0,type:`success`,effect:`dark`,round:``},{default:u(()=>[t(n(p.$t(`application.type.period`)),1)]),_:1})):e.row?.type===`Usage`?(f(),l(A,{key:1,effect:`dark`,round:``},{default:u(()=>[t(n(p.$t(`application.type.usage`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(k,{label:p.$t(`application.field.name`),width:`180px`},{default:u(r=>[e(`span`,null,n(r.row?.service?.title),1),r.row?.role===`grantee`?(f(),l(A,{key:0,type:`info`,size:`small`,round:``,class:`ml-2`},{default:u(()=>[t(n(p.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),_:1},8,[`label`]),r(k,{prop:`remaining_amount`,label:p.$t(`application.field.remainingAmount`),width:`150px`,"class-name":`text-center`},{default:u(t=>[e(`span`,null,n(p.getRemainingAmount(t.row)),1)]),_:1},8,[`label`]),r(k,{prop:`used_amount`,label:p.$t(`application.field.usedAmount`),width:`150px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(t=>[e(`span`,null,n(p.getUsedAmount(t.row)),1)]),_:1},8,[`label`]),r(k,{prop:`allow_consume_global`,label:p.$t(`application.field.allowConsumeGlobal`),width:`120px`,"class-name":`hidden sm:table-cell text-center`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row.service?.type===p.serviceType.API?(f(),l(j,{key:0,modelValue:e.row.allow_consume_global,"onUpdate:modelValue":t=>e.row.allow_consume_global=t,"active-value":!0,"inactive-value":!1,onChange:t=>p.updateAllowConsumeGlobal(e.row,t)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])):i(``,!0)]),_:1},8,[`label`]),r(k,{label:p.$t(`application.field.expiredAt`),width:`180px`,"class-name":`hidden sm:table-cell`,"label-class-name":`hidden sm:table-cell`},{default:u(e=>[e.row.expired_at?(f(),a(`span`,oe,n(p.$dayjs.format(e.row.expired_at)),1)):i(``,!0)]),_:1},8,[`label`]),r(k,{fixed:`right`,width:`200px`},{default:u(a=>[e(`div`,se,[a.row?.service?.type===p.serviceType.API?(f(),l(D,{key:0,class:`!m-0 !px-2`,size:`small`,round:``,onClick:e=>p.onGoUsage(a?.row)},{default:u(()=>[r(E,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(p.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`])):i(``,!0),p.rowCanPay(a?.row)?(f(),l(D,{key:1,class:`!m-0 !px-2`,type:`primary`,round:``,size:`small`,onClick:e=>p.onBuyMore(a?.row)},{default:u(()=>[r(O,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(p.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:1})]),_:1},8,[`data`,`empty-text`])),[[F,p.loading]])]),_:1}),e(`div`,ce,[p.loading?(f(),l(x,{key:0,rows:4,animated:``})):(f(),a(o,{key:1},[p.individualApplications?.length?(f(!0),a(o,{key:1},d(p.individualApplications,o=>(f(),l(C,{key:o.id,shadow:`hover`,class:`application-card mb-2`,"body-style":{padding:`14px 16px`}},{default:u(()=>[e(`div`,le,[e(`span`,ue,n(o?.service?.title),1),o?.type===`Period`?(f(),l(A,{key:0,type:`success`,effect:`dark`,size:`small`,round:``},{default:u(()=>[t(n(p.$t(`application.type.period`)),1)]),_:1})):o?.type===`Usage`?(f(),l(A,{key:1,effect:`dark`,size:`small`,round:``},{default:u(()=>[t(n(p.$t(`application.type.usage`)),1)]),_:1})):i(``,!0),o?.role===`grantee`?(f(),l(A,{key:2,type:`info`,size:`small`,round:``},{default:u(()=>[t(n(p.$t(`application.badge.shared`)),1)]),_:1})):i(``,!0)]),e(`div`,de,[e(`span`,fe,n(p.$t(`application.field.id`))+`: `+n(o.id),1),r(T,{content:o.id,class:`inline-block shrink-0`},null,8,[`content`])]),e(`div`,pe,[e(`span`,$,n(p.$t(`application.field.remainingAmount`)),1),e(`span`,me,n(p.getRemainingAmount(o)),1)]),o?.expired_at?(f(),a(`div`,he,[e(`span`,ge,n(p.$t(`application.field.expiredAt`)),1),e(`span`,_e,n(p.$dayjs.format(o.expired_at)),1)])):i(``,!0),o.service?.type===p.serviceType.API?(f(),a(`div`,ve,[e(`span`,ye,n(p.$t(`application.field.allowConsumeGlobal`)),1),r(j,{modelValue:o.allow_consume_global,"onUpdate:modelValue":e=>o.allow_consume_global=e,"active-value":!0,"inactive-value":!1,onChange:e=>p.updateAllowConsumeGlobal(o,e)},null,8,[`modelValue`,`onUpdate:modelValue`,`onChange`])])):i(``,!0),e(`div`,be,[o?.service?.type===p.serviceType.API?(f(),l(D,{key:0,class:`!m-0 !px-3`,size:`small`,round:``,onClick:e=>p.onGoUsage(o)},{default:u(()=>[r(E,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(p.$t(`application.button.usage`)),1)]),_:1},8,[`onClick`])):i(``,!0),p.rowCanPay(o)?(f(),l(D,{key:1,class:`!m-0 !px-3`,type:`primary`,round:``,size:`small`,onClick:e=>p.onBuyMore(o)},{default:u(()=>[r(O,{class:`mr-1 text-[12px]`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(` `+n(p.$t(`application.button.buyMore`)),1)]),_:1},8,[`onClick`])):i(``,!0)])]),_:2},1024))),128)):(f(),l(N,{key:0,description:p.$t(`common.message.noData`)},null,8,[`description`]))],64))])]),_:1})]),_:1}),r(b,null,{default:u(()=>[r(y,{span:24},{default:u(()=>[e(`div`,xe,[r(P,{"current-page":p.page,"page-size":p.limit,total:p.individualApplicationsTotal,onChange:p.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onChange`])])]),_:1})]),_:1})]),_:1})]),_:1})}var Ce=P(V,[[`render`,Se],[`__scopeId`,`data-v-c9991a93`]]);export{Ce as default};
@@ -1 +0,0 @@
1
- .summary-card[data-v-c9991a93]{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.summary-card .icon-wrapper[data-v-c9991a93]{background-color:var(--el-bg-color-page);width:40px;height:40px;color:var(--el-color-primary);border-radius:50%;flex-shrink:0;place-items:center;margin-bottom:6px;display:grid}.summary-card .icon-wrapper[data-v-c9991a93] svg{width:18px;height:18px;display:block}.summary-card .label[data-v-c9991a93]{color:var(--el-text-color-regular);margin:0;font-size:14px;line-height:20px}.summary-card .value[data-v-c9991a93]{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:30px;font-weight:600;line-height:36px}.summary-card .description[data-v-c9991a93]{color:var(--el-text-color-secondary);margin:4px 0 0;font-size:12px}.application-list[data-v-c9991a93]{width:100%;margin:0}.applications-table-card[data-v-c9991a93] .el-card__body{overflow-x:auto}.application-card__name[data-v-c9991a93]{color:var(--el-text-color-primary);word-break:break-word;font-size:15px;font-weight:600}.application-card__id[data-v-c9991a93]{color:var(--el-text-color-secondary);align-items:center;gap:4px;margin-top:6px;font-size:12px;display:flex}.application-card__id .truncate[data-v-c9991a93]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.application-card__row[data-v-c9991a93]{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.application-card__row .label[data-v-c9991a93]{color:var(--el-text-color-regular);flex-shrink:0;font-size:13px}.application-card__row .value[data-v-c9991a93]{color:var(--el-text-color-primary);text-align:right;word-break:break-all;font-size:14px;font-weight:500}@media screen and (width<=767px){.application-list[data-v-c9991a93]{display:block}.summary-card .value[data-v-c9991a93]{font-size:24px;line-height:30px}}
@@ -1,5 +0,0 @@
1
- import{r as e}from"./rolldown-runtime--c01j_DQ.js";import{A as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,j as l,mt as u,rt as d,st as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{t as h}from"./switch-BZMevA9h.js";import{t as ee}from"./file-C6dKDiai.js";import{t as g}from"./folder--oyQ8nfO.js";import{t as _}from"./mouse-pointer-2-DZcCmo__.js";import{t as v}from"./pencil-DJveEUCk.js";import{t as y}from"./plus-DsPtzHMZ.js";import{t as b}from"./shield-C30JJkad.js";import{t as x}from"./terminal-yXrC2I0y.js";import{t as S}from"./wand-sparkles-BFbcxwi3.js";import{A as C,Aa as w,Ba as T,Ci as E,Ma as te,O as ne,_a as D,ca as O,ra as k}from"./index-C-w8AJfV.js";var A=D(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]),j=D(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),M=D(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),N=D(`move`,[[`path`,{d:`M12 2v20`,key:`t6zp3m`}],[`path`,{d:`m15 19-3 3-3-3`,key:`11eu04`}],[`path`,{d:`m19 9 3 3-3 3`,key:`1mg7y2`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}],[`path`,{d:`m5 9-3 3 3 3`,key:`j64kie`}],[`path`,{d:`m9 5 3-3 3 3`,key:`l8vdw6`}]]),P=m({name:`LocalToolsSetting`,components:{AddIcon:y,ElButton:te,ElTag:w,ElSwitch:h,ElInput:T,FolderIcon:g,MagicIcon:S,SecurityIcon:b},data(){return{roots:[],workingDir:``,pickingWorkingDir:!1,tools:[],mcpServers:[],mcpUid:0,mcpStatuses:[],mcpBusy:null,savingMcp:!1,mcpSavedTip:!1,mcpError:``,grants:null,perm:null,computerUse:!1,computerTools:[],computerGrants:{},cuBusy:null,builtinTools:[],mcpTools:[],toolGrants:{},builtinBusy:null,savingCU:!1,preauthorizing:!1,saving:!1,savedTip:!1,a11yEnabled:!1,xhsSkill:null,xhsLoading:!1,xhsInstalling:!1,xhsError:``,onFocus:null,cuOff:null,a11yPoll:null,refreshingA11y:!1}},computed:{desktop(){return!!C()},android(){return O()},canInstallXhs(){return this.a11yEnabled&&this.computerUse}},async mounted(){let e=C();if(!e)return;let t=await e.getConfig();this.roots=t.roots,this.workingDir=t.workingDir??``,this.computerUse=t.computerUse===!0,this.mcpServers=(t.mcp??[]).map(e=>({_uid:this.mcpUid++,id:e.id,command:e.command,argsText:(e.args??[]).join(`
2
- `),envText:Object.entries(e.env??{}).map(([e,t])=>`${e}=${t}`).join(`
3
- `),enabled:e.enabled!==!1})),this.mcpStatuses=await e.mcp?.status()??[],this.tools=(await e.listTools()).map(e=>e.name),this.computerTools=await e.computerTools?.()??[],this.builtinTools=await e.builtinTools?.()??[],this.mcpTools=await e.mcpTools?.()??[];let n=await e.perm?.status();n?.mac&&(this.perm=n),await this.loadGrants(),this.android&&(await this.refreshA11y(),this.fetchXhsSkill(),this.onFocus=()=>{document.visibilityState===`visible`&&this.refreshA11y()},document.addEventListener(`visibilitychange`,this.onFocus),this.a11yPoll=window.setInterval(()=>{document.visibilityState===`visible`&&this.refreshA11y()},3e3)),this.cuOff=e.onComputerUseDisabled?.(()=>{this.computerUse=!1})??null},beforeUnmount(){this.cuOff?.(),this.onFocus&&document.removeEventListener(`visibilitychange`,this.onFocus),this.a11yPoll&&clearInterval(this.a11yPoll)},methods:{async refreshA11y(){if(!this.refreshingA11y){this.refreshingA11y=!0;try{let e=await C()?.perm?.status();this.a11yEnabled=e?.accessibility===!0}finally{this.refreshingA11y=!1}}},async openAndroidAccessibility(){await C()?.perm?.openPane(`accessibility`)},async fetchXhsSkill(){this.xhsLoading=!0,this.xhsError=``;try{let e=await E.get(`/skills/`,{baseURL:`${k()}/api/v1`,params:{q:`xhs-dm`,limit:10}}),t=Array.isArray(e.data?.items)?e.data.items:[];this.xhsSkill=t.find(e=>e.identifier?.endsWith(`/xhs-dm`))??null}catch(e){console.warn(`[LocalTools] fetch xhs skill failed`,e),this.xhsSkill=null,this.xhsError=this.$t(`common.settings.localToolsAndroidSkillsLoadFailed`)}finally{this.xhsLoading=!1}},async installXhs(){let e=this.xhsSkill;if(!(!e||e.installed)){this.xhsInstalling=!0,this.xhsError=``;try{await E.post(`/skills/${e.id}/install/`,{},{baseURL:`${k()}/api/v1`}),e.installed=!0}catch(t){t?.response?.status===409?e.installed=!0:this.xhsError=this.$t(`common.settings.localToolsAndroidSkillsInstallFailed`)}finally{this.xhsInstalling=!1}}},async loadGrants(){let e=C();if(!e?.grants){this.grants=null;return}let t=await e.grants.list(),n={},r={},i=new Set(this.builtinTools.map(e=>e.name)),a=new Set(this.mcpTools.map(e=>e.name)),o=[];for(let e of t){if(e.startsWith(`computer.`)&&!e.includes(`:`)){n[e]=!0;continue}if(!e.includes(`:`)&&(i.has(e)||a.has(e))){r[e]=!0;continue}if(e.startsWith(`dir:`)){let t=e.slice(4),n=t.indexOf(`:`);if(n>0){o.push({key:e,name:t.slice(0,n),input:`📁 ${t.slice(n+1)}`});continue}}let t=e.indexOf(`:{`),s=t>=0?t:e.indexOf(`:`);o.push({key:e,name:s>=0?e.slice(0,s):e,input:s>=0?e.slice(s+1):``})}this.computerGrants=n,this.toolGrants=r,this.grants=o},async chooseWorkingDir(){if(!this.pickingWorkingDir){this.pickingWorkingDir=!0;try{let e=await C()?.pickFolder();if(!e)return;let t=await C()?.getConfig();await C()?.saveConfig({roots:t?.roots??this.roots,mcp:t?.mcp??[],computerUse:this.computerUse,workingDir:e}),this.workingDir=e}finally{this.pickingWorkingDir=!1}}},async addFolder(){let e=await C()?.pickFolder();e&&!this.roots.includes(e)&&this.roots.push(e)},removeRoot(e){this.roots.splice(e,1)},addMcp(){this.mcpServers.push({_uid:this.mcpUid++,id:``,command:``,argsText:``,envText:``,enabled:!0})},removeMcp(e){this.mcpServers.splice(e,1)},mcpStatusFor(e){let t=e.trim();return this.mcpStatuses.find(e=>e.id===t)},mcpBadgeType(e){let t=this.mcpStatusFor(e)?.status;return t===`connected`?`success`:t===`failed`?`danger`:`info`},mcpBadgeText(e){let t=this.mcpStatusFor(e);return this.mcpBusy===e.trim()?this.$t(`common.settings.localToolsMcpConnecting`):t?t.status===`connected`?this.$t(`common.settings.localToolsMcpConnected`,{n:t.toolCount}):t.status===`disabled`?this.$t(`common.settings.localToolsMcpDisabled`):this.$t(`common.settings.localToolsMcpFailed`):this.$t(`common.settings.localToolsMcpNotSaved`)},mcpErrorFor(e){let t=this.mcpStatusFor(e);return t?.status===`failed`&&t.error?t.error:``},buildMcpPayload(){this.mcpError=``;let e=[],t=new Set;for(let n of this.mcpServers){let r=n.id.trim(),i=n.command.trim();if(!r||!i)return this.mcpError=this.$t(`common.settings.localToolsMcpNameRequired`),null;if(!/^[A-Za-z0-9_-]+$/.test(r))return this.mcpError=this.$t(`common.settings.localToolsMcpNameInvalid`),null;if(t.has(r))return this.mcpError=this.$t(`common.settings.localToolsMcpDuplicateName`),null;t.add(r);let a=n.argsText.split(`
4
- `).map(e=>e.trim()).filter(Boolean),o={};for(let e of n.envText.split(`
5
- `)){let t=e.trim();if(!t)continue;let n=t.indexOf(`=`);n<=0||(o[t.slice(0,n).trim()]=t.slice(n+1).trim())}let s={id:r,command:i,args:a,enabled:n.enabled!==!1};Object.keys(o).length&&(s.env=o),e.push(s)}return e},async saveMcp(){let e=this.buildMcpPayload();if(!e)return!1;this.savingMcp=!0;try{let t=await C()?.getConfig();return await C()?.saveConfig({roots:t?.roots??this.roots,mcp:e,computerUse:this.computerUse}),await this.refreshMcpStatus(),this.mcpSavedTip=!0,setTimeout(()=>this.mcpSavedTip=!1,2e3),!0}finally{this.savingMcp=!1}},async refreshMcpStatus(){let e=C();e&&(this.mcpStatuses=await e.mcp?.status()??[],this.tools=(await e.listTools())?.map(e=>e.name)??this.tools,this.mcpTools=await e.mcpTools?.()??[],await this.loadGrants())},async onToggleMcpEnabled(e){await this.saveMcp()||(e.enabled=!e.enabled)},async reconnectMcp(e){let t=e.id.trim();if(!t||!e.command.trim())return;let n=this.buildMcpPayload();if(n){this.mcpBusy=t;try{let e=await C()?.getConfig();await C()?.saveConfig({roots:e?.roots??this.roots,mcp:n,computerUse:this.computerUse}),await C()?.mcp?.reconnect(t),await this.refreshMcpStatus()}finally{this.mcpBusy=null}}},async open(e){await C()?.perm?.openPane(e)},async save(){this.saving=!0;let e=await C()?.getConfig();await C()?.saveConfig({roots:this.roots,mcp:e?.mcp??[],computerUse:this.computerUse}),this.saving=!1,this.savedTip=!0,setTimeout(()=>this.savedTip=!1,2e3)},async onToggleComputerUse(e){this.savingCU=!0;let t=await C()?.getConfig();if(await C()?.saveConfig({roots:t?.roots??this.roots,mcp:t?.mcp??[],computerUse:e===!0}),this.savingCU=!1,e===!0&&this.android){let e=(await C()?.perm?.status())?.accessibility===!0;this.a11yEnabled=e,e||await this.openAndroidAccessibility()}},async preauthorizeAll(){let e=C();if(e?.preauthorizeComputerUse){this.preauthorizing=!0;try{let t=await e.preauthorizeComputerUse();this.computerUse=t.computerUse===!0,t.perm?.mac&&(this.perm=t.perm),await this.loadGrants()}finally{this.preauthorizing=!1}}},async onToggleComputerTool(e,t){let n=C();if(n){this.cuBusy=e;try{if(t===!0){let t=await n.preauthorizeComputerUse?.([e]);t&&(this.computerUse=t.computerUse===!0,t.perm?.mac&&(this.perm=t.perm))}else await n.grants?.revoke(e);await this.loadGrants()}finally{this.cuBusy=null}}},cuLabel(e){let t=`common.settings.localToolsCu${this.cuSuffix(e)}`,n=this.$t(t);return n===t?e.replace(/^computer\./,``):n},cuIcon(e){return{screenshot:j,click:_,move:N,type:M,key:M,scroll:A}[e.replace(/^computer\./,``)]??b},cuSuffix(e){let t=e.replace(/^computer\./,``);return t.charAt(0).toUpperCase()+t.slice(1)},async onToggleBuiltinTool(e,t){let n=C();if(n?.grants){this.builtinBusy=e;try{t===!0?(await n.grants.grantToolWide?.(e))?.ok||(this.toolGrants={...this.toolGrants,[e]:!1}):await n.grants.revoke(e),await this.loadGrants()}finally{this.builtinBusy=null}}},builtinIcon(e){return e===`shell.run_command`?x:e===`fs.write_file`?v:e===`fs.read_file`?ee:e===`fs.list_dir`?g:b},async revoke(e){await C()?.grants?.revoke(e),await this.loadGrants()},async revokeAll(){await C()?.grants?.clear(),await this.loadGrants()}}}),F=e({default:()=>$}),I={class:`settings-list local-tools-setting`},L={key:0,class:`hint muted`},R={key:0},z={class:`section-head`},B={class:`muted`},V={class:`perm-row`},H={class:`perm-name`},U={key:1},W={class:`section-head`},G={class:`muted`},K={class:`rows`},q={class:`path`},J={key:0,class:`row muted empty`},Y={class:`actions`},X={key:0,class:`muted saved-tip`},Z={key:0,class:`muted tools`},re={key:2},ie={class:`section-head`},ae={class:`muted`},oe={class:`rows`},se={key:0,class:`row`},ce={class:`path`},le={key:1,class:`row muted empty`},ue={class:`section-head`},de={class:`muted`},fe={key:0,class:`rows`},pe={class:`mcp-fields`},me={class:`mcp-head`},he={class:`mcp-grid`},ge={class:`mcp-flabel`},_e={class:`mcp-flabel`},ve={class:`mcp-flabel top`},ye={class:`mcp-flabel top`},be={key:0,class:`mcp-row-error`},xe={key:1,class:`muted`},Se={class:`muted mcp-platform-hint`},Ce={class:`actions`},we={key:0,class:`muted saved-tip`},Te={key:1,class:`mcp-error`},Ee={key:3},De={class:`section-head`},Oe={class:`muted`},ke={class:`rows`},Ae={class:`grant`},je={class:`grant-name`},Me={class:`grant-input`},Ne={key:0,class:`row muted empty`},Pe={key:4},Fe={class:`section-head`},Ie={class:`muted`},Le={class:`rows`},Re={class:`cu-action`},ze={class:`cu-action-name`},Be={class:`grant-name`},Ve={class:`cu-action-desc`},He={key:5},Ue={class:`section-head`},We={class:`muted`},Ge={class:`rows`},Ke={class:`cu-action`},qe={class:`cu-action-name`},Je={class:`grant-name`},Ye={class:`cu-action-desc`},Xe={class:`section-head`},Ze={class:`muted`},Qe={key:0,class:`perm-row cu-ready-row`},$e={class:`perm-name`},et={class:`section-head sub`},tt={class:`muted`},nt={class:`rows`},rt={class:`cu-action`},it={class:`cu-action-name`},at={class:`cu-action-desc`},ot={key:6},st={class:`section-head`},ct={class:`muted`},lt={class:`rows`},ut={key:0,class:`row`},dt={class:`cu-action`},ft={class:`cu-action-name`},pt={class:`cu-action-desc`},mt={key:1,class:`row muted empty`},ht={key:2,class:`row muted empty`},gt={key:0,class:`muted`},_t={key:1,class:`muted saved-tip`},vt={key:2,class:`mcp-error`},yt={key:7},bt={class:`section-head`},Q={class:`muted`},xt={class:`perm-row`},St={class:`perm-name`},Ct={class:`perm-row`},wt={class:`perm-name`},Tt={class:`perm-row`},Et={class:`perm-name`};function Dt(e,m,h,ee,g,_){let v=c(`el-tag`),y=c(`el-button`),b=c(`add-icon`),x=c(`folder-icon`),S=c(`el-switch`),C=c(`el-input`),w=c(`security-icon`),T=c(`MagicIcon`),E=c(`magic-icon`);return p(),o(`div`,I,[e.desktop?(p(),o(s,{key:1},[e.android?(p(),o(`section`,R,[t(`div`,z,[t(`h3`,null,r(e.$t(`common.settings.localToolsPermsTitle`)),1)]),t(`p`,B,r(e.$t(`common.settings.localToolsAndroidPermHint`)),1),t(`div`,V,[t(`span`,H,r(e.$t(`common.settings.localToolsPermAccessibility`)),1),i(v,{size:`small`,type:e.a11yEnabled?`success`:`info`,effect:`plain`},{default:u(()=>[n(r(e.a11yEnabled?e.$t(`common.settings.localToolsGranted`):e.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),i(y,{size:`small`,type:`primary`,onClick:e.openAndroidAccessibility},{default:u(()=>[n(r(e.$t(`common.settings.localToolsOpen`)),1)]),_:1},8,[`onClick`])])])):a(``,!0),e.android?a(``,!0):(p(),o(`section`,U,[t(`div`,W,[t(`h3`,null,r(e.$t(`common.settings.localToolsFoldersTitle`)),1),i(y,{size:`small`,type:`primary`,onClick:e.addFolder},{default:u(()=>[i(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.$t(`common.settings.localToolsAddFolder`)),1)]),_:1},8,[`onClick`])]),t(`p`,G,r(e.$t(`common.settings.localToolsFoldersHint`)),1),t(`ul`,K,[(p(!0),o(s,null,d(e.roots,(a,s)=>(p(),o(`li`,{key:a,class:`row`},[i(x,{class:`row-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(`span`,q,r(a),1),i(y,{size:`small`,text:``,type:`danger`,onClick:t=>e.removeRoot(s)},{default:u(()=>[n(r(e.$t(`common.settings.localToolsRemove`)),1)]),_:1},8,[`onClick`])]))),128)),e.roots.length?a(``,!0):(p(),o(`li`,J,r(e.$t(`common.settings.localToolsNoFolders`)),1))]),t(`div`,Y,[i(y,{size:`small`,type:`primary`,loading:e.saving,onClick:e.save},{default:u(()=>[n(r(e.$t(`common.settings.localToolsSave`)),1)]),_:1},8,[`loading`,`onClick`]),e.savedTip?(p(),o(`span`,X,r(e.$t(`common.settings.localToolsSaved`)),1)):a(``,!0)]),e.tools.length?(p(),o(`p`,Z,r(e.$t(`common.settings.localToolsActiveTools`))+`: `+r(e.tools.join(`, `)),1)):a(``,!0)])),e.android?a(``,!0):(p(),o(`section`,re,[t(`div`,ie,[t(`h3`,null,r(e.$t(`common.settings.localToolsWorkingDirTitle`)),1),i(y,{size:`small`,type:`primary`,loading:e.pickingWorkingDir,onClick:e.chooseWorkingDir},{default:u(()=>[i(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.workingDir?e.$t(`common.settings.localToolsWorkingDirChange`):e.$t(`common.settings.localToolsAddFolder`)),1)]),_:1},8,[`loading`,`onClick`])]),t(`p`,ae,r(e.$t(`common.settings.localToolsWorkingDirHint`)),1),t(`ul`,oe,[e.workingDir?(p(),o(`li`,se,[i(x,{class:`row-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(`span`,ce,r(e.workingDir),1)])):(p(),o(`li`,le,r(e.$t(`common.settings.localToolsWorkingDirNone`)),1))])])),t(`section`,null,[t(`div`,ue,[t(`h3`,null,r(e.$t(`common.settings.localToolsMcpTitle`)),1),i(y,{size:`small`,type:`primary`,onClick:e.addMcp},{default:u(()=>[i(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.$t(`common.settings.localToolsMcpAdd`)),1)]),_:1},8,[`onClick`])]),t(`p`,de,r(e.$t(`common.settings.localToolsMcpHint`)),1),e.mcpServers.length?(p(),o(`ul`,fe,[(p(!0),o(s,null,d(e.mcpServers,(s,c)=>(p(),o(`li`,{key:s._uid,class:`row mcp-row`},[t(`div`,pe,[t(`div`,me,[i(v,{size:`small`,effect:`plain`,type:e.mcpBadgeType(s.id)},{default:u(()=>[n(r(e.mcpBadgeText(s.id)),1)]),_:2},1032,[`type`]),m[4]||=t(`span`,{class:`mcp-spacer`},null,-1),i(S,{modelValue:s.enabled,"onUpdate:modelValue":e=>s.enabled=e,size:`small`,"active-text":e.$t(`common.settings.localToolsMcpEnabled`),"inline-prompt":``,onChange:t=>e.onToggleMcpEnabled(s)},null,8,[`modelValue`,`onUpdate:modelValue`,`active-text`,`onChange`]),i(y,{size:`small`,text:``,loading:e.mcpBusy===s.id,disabled:!s.id||!s.command,onClick:t=>e.reconnectMcp(s)},{default:u(()=>[n(r(e.$t(`common.settings.localToolsMcpReconnect`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`]),i(y,{size:`small`,text:``,type:`danger`,onClick:t=>e.removeMcp(c)},{default:u(()=>[n(r(e.$t(`common.settings.localToolsRemove`)),1)]),_:1},8,[`onClick`])]),t(`div`,he,[t(`label`,ge,r(e.$t(`common.settings.localToolsMcpName`)),1),i(C,{modelValue:s.id,"onUpdate:modelValue":e=>s.id=e,placeholder:e.$t(`common.settings.localToolsMcpNamePlaceholder`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),t(`label`,_e,r(e.$t(`common.settings.localToolsMcpCommand`)),1),i(C,{modelValue:s.command,"onUpdate:modelValue":e=>s.command=e,placeholder:e.$t(`common.settings.localToolsMcpCommandPlaceholder`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),t(`label`,ve,r(e.$t(`common.settings.localToolsMcpArgs`)),1),i(C,{modelValue:s.argsText,"onUpdate:modelValue":e=>s.argsText=e,type:`textarea`,rows:2,placeholder:e.$t(`common.settings.localToolsMcpArgsHint`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),t(`label`,ye,r(e.$t(`common.settings.localToolsMcpEnv`)),1),i(C,{modelValue:s.envText,"onUpdate:modelValue":e=>s.envText=e,type:`textarea`,rows:2,placeholder:e.$t(`common.settings.localToolsMcpEnvHint`)},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`])]),e.mcpErrorFor(s.id)?(p(),o(`p`,be,r(e.mcpErrorFor(s.id)),1)):a(``,!0)])]))),128))])):(p(),o(`p`,xe,r(e.$t(`common.settings.localToolsMcpNoServers`)),1)),t(`p`,Se,r(e.$t(`common.settings.localToolsMcpPlatformHint`)),1),t(`div`,Ce,[i(y,{size:`small`,type:`primary`,loading:e.savingMcp,onClick:e.saveMcp},{default:u(()=>[n(r(e.$t(`common.settings.localToolsSave`)),1)]),_:1},8,[`loading`,`onClick`]),e.mcpSavedTip?(p(),o(`span`,we,r(e.$t(`common.settings.localToolsSaved`)),1)):a(``,!0),e.mcpError?(p(),o(`span`,Te,r(e.mcpError),1)):a(``,!0)])]),e.grants!==null&&!e.android?(p(),o(`section`,Ee,[t(`div`,De,[t(`h3`,null,r(e.$t(`common.settings.localToolsGrantsTitle`)),1),e.grants.length?(p(),l(y,{key:0,size:`small`,text:``,type:`danger`,onClick:e.revokeAll},{default:u(()=>[n(r(e.$t(`common.settings.localToolsRevokeAll`)),1)]),_:1},8,[`onClick`])):a(``,!0)]),t(`p`,Oe,r(e.$t(`common.settings.localToolsGrantsHint`)),1),t(`ul`,ke,[(p(!0),o(s,null,d(e.grants,a=>(p(),o(`li`,{key:a.key,class:`row`},[i(w,{class:`row-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(`span`,Ae,[t(`code`,je,r(a.name),1),t(`span`,Me,r(a.input),1)]),i(y,{size:`small`,type:`danger`,onClick:t=>e.revoke(a.key)},{default:u(()=>[n(r(e.$t(`common.settings.localToolsRevoke`)),1)]),_:1},8,[`onClick`])]))),128)),e.grants.length?a(``,!0):(p(),o(`li`,Ne,r(e.$t(`common.settings.localToolsNoGrants`)),1))])])):a(``,!0),e.builtinTools.length&&!e.android?(p(),o(`section`,Pe,[t(`div`,Fe,[t(`h3`,null,r(e.$t(`common.settings.localToolsBuiltinTitle`)),1)]),t(`p`,Ie,r(e.$t(`common.settings.localToolsBuiltinHint`)),1),t(`ul`,Le,[(p(!0),o(s,null,d(e.builtinTools,s=>(p(),o(`li`,{key:s.name,class:`row`},[(p(),l(f(e.builtinIcon(s.name)),{class:`row-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),t(`span`,Re,[t(`span`,ze,[t(`code`,Be,r(s.name),1),s.name===`shell.run_command`?(p(),l(v,{key:0,size:`small`,type:`danger`,effect:`plain`},{default:u(()=>[n(r(e.$t(`common.settings.localToolsBuiltinRisky`)),1)]),_:1})):a(``,!0)]),t(`span`,Ve,r(s.description),1)]),i(S,{"model-value":e.toolGrants[s.name]===!0,loading:e.builtinBusy===s.name,disabled:!!e.builtinBusy,onChange:t=>e.onToggleBuiltinTool(s.name,t)},null,8,[`model-value`,`loading`,`disabled`,`onChange`])]))),128))])])):a(``,!0),e.mcpTools.length&&!e.android?(p(),o(`section`,He,[t(`div`,Ue,[t(`h3`,null,r(e.$t(`common.settings.localToolsMcpToolsTitle`)),1)]),t(`p`,We,r(e.$t(`common.settings.localToolsMcpToolsHint`)),1),t(`ul`,Ge,[(p(!0),o(s,null,d(e.mcpTools,s=>(p(),o(`li`,{key:s.name,class:`row`},[i(T,{class:`row-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(`span`,Ke,[t(`span`,qe,[t(`code`,Je,r(s.name),1),s.writes?(p(),l(v,{key:0,size:`small`,type:`danger`,effect:`plain`},{default:u(()=>[n(r(e.$t(`common.settings.localToolsBuiltinRisky`)),1)]),_:1})):a(``,!0)]),t(`span`,Ye,r(s.description),1)]),i(S,{"model-value":e.toolGrants[s.name]===!0,loading:e.builtinBusy===s.name,disabled:!!e.builtinBusy,onChange:t=>e.onToggleBuiltinTool(s.name,t)},null,8,[`model-value`,`loading`,`disabled`,`onChange`])]))),128))])])):a(``,!0),t(`section`,null,[t(`div`,Xe,[t(`h3`,null,r(e.$t(`common.settings.localToolsComputerUseTitle`)),1),i(S,{modelValue:e.computerUse,"onUpdate:modelValue":m[0]||=t=>e.computerUse=t,loading:e.savingCU,onChange:e.onToggleComputerUse},null,8,[`modelValue`,`loading`,`onChange`])]),t(`p`,Ze,r(e.$t(`common.settings.localToolsComputerUseHint`)),1),e.android&&e.computerUse?(p(),o(`div`,Qe,[t(`span`,$e,r(e.$t(`common.settings.localToolsCuA11yLabel`)),1),i(v,{size:`small`,type:e.a11yEnabled?`success`:`danger`,effect:`plain`},{default:u(()=>[n(r(e.a11yEnabled?e.$t(`common.settings.localToolsCuReady`):e.$t(`common.settings.localToolsCuA11yMissing`)),1)]),_:1},8,[`type`]),e.a11yEnabled?a(``,!0):(p(),l(y,{key:0,size:`small`,type:`primary`,onClick:e.openAndroidAccessibility},{default:u(()=>[n(r(e.$t(`common.settings.localToolsOpen`)),1)]),_:1},8,[`onClick`]))])):a(``,!0),e.computerTools.length?(p(),o(s,{key:1},[t(`div`,et,[t(`h4`,null,r(e.$t(`common.settings.localToolsCuActionsTitle`)),1),i(y,{size:`small`,text:``,type:`primary`,loading:e.preauthorizing,onClick:e.preauthorizeAll},{default:u(()=>[n(r(e.$t(`common.settings.localToolsPreauthorizeAll`)),1)]),_:1},8,[`loading`,`onClick`])]),t(`p`,tt,r(e.$t(`common.settings.localToolsCuActionsHint`)),1),t(`ul`,nt,[(p(!0),o(s,null,d(e.computerTools,n=>(p(),o(`li`,{key:n.name,class:`row`},[(p(),l(f(e.cuIcon(n.name)),{class:`row-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),t(`span`,rt,[t(`span`,it,r(e.cuLabel(n.name)),1),t(`span`,at,r(n.description),1)]),i(S,{"model-value":e.computerGrants[n.name]===!0,loading:e.cuBusy===n.name,disabled:!!e.cuBusy||e.preauthorizing,onChange:t=>e.onToggleComputerTool(n.name,t)},null,8,[`model-value`,`loading`,`disabled`,`onChange`])]))),128))])],64)):a(``,!0)]),e.android?(p(),o(`section`,ot,[t(`div`,st,[t(`h3`,null,r(e.$t(`common.settings.localToolsAndroidSkillsTitle`)),1)]),t(`p`,ct,r(e.$t(`common.settings.localToolsAndroidSkillsHint`)),1),t(`ul`,lt,[e.xhsSkill?(p(),o(`li`,ut,[i(E,{class:`row-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),t(`span`,dt,[t(`span`,ft,r(e.$t(`common.settings.localToolsAndroidSkillsXhsName`)),1),t(`span`,pt,r(e.$t(`common.settings.localToolsAndroidSkillsXhsDesc`)),1)]),e.xhsSkill.installed?(p(),l(v,{key:0,size:`small`,type:`success`,effect:`plain`},{default:u(()=>[n(r(e.$t(`common.settings.localToolsAndroidSkillsInstalled`)),1)]),_:1})):(p(),l(y,{key:1,size:`small`,type:`primary`,loading:e.xhsInstalling,disabled:!e.canInstallXhs,onClick:e.installXhs},{default:u(()=>[n(r(e.$t(`common.settings.localToolsAndroidSkillsInstall`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`]))])):e.xhsLoading?(p(),o(`li`,mt,r(e.$t(`common.settings.localToolsAndroidSkillsLoading`)),1)):e.xhsError?a(``,!0):(p(),o(`li`,ht,r(e.$t(`common.settings.localToolsAndroidSkillsUnavailable`)),1))]),e.xhsSkill&&!e.xhsSkill.installed&&!e.canInstallXhs?(p(),o(`p`,gt,r(e.$t(`common.settings.localToolsAndroidSkillsNeedComputerUse`)),1)):a(``,!0),e.xhsSkill&&e.xhsSkill.installed?(p(),o(`p`,_t,r(e.$t(`common.settings.localToolsAndroidSkillsNextTurn`)),1)):a(``,!0),e.xhsError?(p(),o(`p`,vt,r(e.xhsError),1)):a(``,!0)])):a(``,!0),e.perm?(p(),o(`section`,yt,[t(`div`,bt,[t(`h3`,null,r(e.$t(`common.settings.localToolsPermsTitle`)),1)]),t(`p`,Q,r(e.$t(`common.settings.localToolsPermsHint`)),1),t(`div`,xt,[t(`span`,St,r(e.$t(`common.settings.localToolsPermFullDisk`)),1),i(v,{size:`small`,type:e.perm.fullDisk?`success`:`info`,effect:`plain`},{default:u(()=>[n(r(e.perm.fullDisk?e.$t(`common.settings.localToolsGranted`):e.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),i(y,{size:`small`,type:`primary`,onClick:m[1]||=t=>e.open(`fullDisk`)},{default:u(()=>[n(r(e.$t(`common.settings.localToolsOpen`)),1)]),_:1})]),t(`div`,Ct,[t(`span`,wt,r(e.$t(`common.settings.localToolsPermScreen`)),1),i(v,{size:`small`,type:e.perm.screen===`granted`?`success`:`info`,effect:`plain`},{default:u(()=>[n(r(e.perm.screen===`granted`?e.$t(`common.settings.localToolsGranted`):e.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),i(y,{size:`small`,type:`primary`,onClick:m[2]||=t=>e.open(`screen`)},{default:u(()=>[n(r(e.$t(`common.settings.localToolsOpen`)),1)]),_:1})]),t(`div`,Tt,[t(`span`,Et,r(e.$t(`common.settings.localToolsPermAccessibility`)),1),i(v,{size:`small`,type:e.perm.accessibility?`success`:`info`,effect:`plain`},{default:u(()=>[n(r(e.perm.accessibility?e.$t(`common.settings.localToolsGranted`):e.$t(`common.settings.localToolsNotGranted`)),1)]),_:1},8,[`type`]),i(y,{size:`small`,type:`primary`,onClick:m[3]||=t=>e.open(`accessibility`)},{default:u(()=>[n(r(e.$t(`common.settings.localToolsOpen`)),1)]),_:1})])])):a(``,!0)],64)):(p(),o(`p`,L,r(e.$t(`common.settings.localToolsDesktopOnly`)),1))])}var $=ne(P,[[`render`,Dt],[`__scopeId`,`data-v-38ba07ce`]]);export{F as n,$ as t};
@@ -1,3 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,ft as d,ht as f,j as p,k as m,mt as h,ot as g,rt as _,st as v,tt as y,wt as b,x,z as S}from"./vendor-chart-Dw-P17PN.js";import{F as C}from"./icon-CDmWyIgD.js";import{r as w,t as T}from"./select-K-2CZ3eR.js";import{t as E}from"./tooltip-CjkDaYbd.js";import{d as ee,v as D}from"./models-C4O1HNS0.js";import{n as O,t as k}from"./checkbox-DXMDpaxv.js";import{t as A}from"./popover-CCbUzZfK.js";import{t as te}from"./arrow-down-Dgcv9V1n.js";import{t as ne}from"./brain-BvsRE_4G.js";import{t as j}from"./check-C6haHp_5.js";import{t as M}from"./chevron-right-D4ynMR67.js";import{n as N,t as re}from"./mail-D90C07ml.js";import{t as P}from"./circle-check-DhFuCeIC.js";import{t as F}from"./clock-DAmpmfMk.js";import{t as I}from"./external-link-CAB_CNUu.js";import{t as L}from"./file-text-DxPsfXW2.js";import{t as R}from"./file-C6dKDiai.js";import{t as ie}from"./globe-BEP94d7V.js";import{t as ae}from"./info-CifZclsR.js";import{t as oe}from"./link-Dk_62wni.js";import{t as z}from"./loader-circle-BR0zD2Br.js";import{t as se}from"./message-circle-DryU-mjQ.js";import{t as ce}from"./monitor-CgbJvAA5.js";import{t as le}from"./pencil-DJveEUCk.js";import{t as ue}from"./plug-DIygGUs_.js";import{t as de}from"./refresh-cw-Bu2iSphh.js";import{t as fe}from"./shield-C30JJkad.js";import{t as B}from"./triangle-alert-CCs6VvUs.js";import{Da as pe,Ea as me,Oa as he,Sa as ge,Ta as _e,ba as ve,va as ye,wa as be,xa as xe,ya as Se}from"./constants-CdZEFH5x.js";import{o as Ce}from"./i18n-DhQn0Z8p.js";import{Ba as we,Ca as Te,Ci as V,G as Ee,Ma as H,O as U,_a as W,_i as De,ga as Oe,kn as ke,on as Ae,ra as G,ua as je,v as Me,xa as Ne,yi as Pe}from"./index-C-w8AJfV.js";import"./vendor-highlight-BHrfT4-E.js";import{t as Fe}from"./index.es-CpSPskGM.js";import{t as Ie}from"./CopyToClipboard-B8YmxJt6.js";import{t as Le}from"./VueMarkdown-CiiRjbWs.js";import{t as Re}from"./ReportButton-CE99kMuV.js";import{t as ze}from"./FilePreview-BxnxEacb.js";import{t as Be}from"./AskUserQuestionCard-BSkNo5B6.js";var Ve=W(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),He=W(`file-spreadsheet`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),Ue=W(`unlink`,[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]),We=S({name:`AnsweringMark`,data(){return{}},computed:{conversationId(){return this.$route.params?.id?.toString()}}}),Ge={class:`mark`};function Ke(e,t,n,r,i,a){return y(),s(`div`,Ge)}var qe=U(We,[[`render`,Ke]]),Je=S({name:`CitationCard`,props:{citation:{type:Object,required:!0}},data(){return{iconFailed:!1}},computed:{displayUrl(){try{let e=new URL(this.citation.url);return e.host+(e.pathname&&e.pathname!==`/`?e.pathname:``)}catch{return this.citation.url}},hostLabel(){try{return new URL(this.citation.url).host.replace(/^www\./,``)}catch{return``}},resolvedIcon(){if(this.iconFailed)return``;if(this.citation.icon)return this.citation.icon;try{let e=new URL(this.citation.url).host;return e?`https://www.google.com/s2/favicons?domain=${encodeURIComponent(e)}&sz=64`:``}catch{return``}},fallbackIcon(){let e=(this.citation.type||``).toLowerCase();return e===`file`?L:e===`page`?R:e===`issue`?ae:e===`email`?re:e===`message`?se:e===`web`?ie:oe}},methods:{onIconError(){this.iconFailed=!0}}}),Ye=[`href`],Xe={class:`head`},Ze=[`src`,`alt`],Qe={key:2,class:`source`},$e={key:0,class:`title`},et={key:1,class:`snippet`},tt={class:`url`};function nt(t,n,r,a,c,l){return y(),s(`a`,{class:`citation-card`,href:t.citation.url,target:`_blank`,rel:`noopener noreferrer`},[e(`div`,Xe,[t.resolvedIcon?(y(),s(`img`,{key:0,src:t.resolvedIcon,alt:t.citation.source||``,class:`icon`,referrerpolicy:`no-referrer`,loading:`lazy`,onError:n[0]||=(...e)=>t.onIconError&&t.onIconError(...e)},null,40,Ze)):(y(),p(v(t.fallbackIcon),{key:1,class:`icon-fallback`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),t.citation.source||t.hostLabel?(y(),s(`span`,Qe,i(t.citation.source||t.hostLabel),1)):o(``,!0)]),t.citation.title?(y(),s(`div`,$e,i(t.citation.title),1)):o(``,!0),t.citation.snippet?(y(),s(`div`,et,i(t.citation.snippet),1)):o(``,!0),e(`div`,tt,i(t.displayUrl),1)],8,Ye)}var rt=U(Je,[[`render`,nt],[`__scopeId`,`data-v-0565e215`]]),it=/\[\^acite:([A-Za-z0-9_-]{1,32})\]/g,at=S({name:`MarkdownRenderer`,directives:{highlight:Ae},components:{VueMarkdown:Le,CitationCard:rt,ElPopover:A},props:{content:{type:String,required:!1,default:``},citations:{type:Object,required:!1,default:()=>({})}},data(){return{hoveredCitation:null,popoverAnchor:null,popoverVisible:!1}},computed:{enrichedContent(){let e=this.content||``;if(!e.includes(`[^acite:`))return e;let t=this.citations||{};return e.replace(it,(e,n)=>{let r=t[n];return r?st(n,r):``})}},methods:{onChipHover(e){let t=e.target;if(!t)return;let n=t.closest(`.citation-chip`);if(!n){this.popoverVisible=!1;return}let r=n.dataset.citationId;if(!r)return;let i=(this.citations||{})[r];i&&(this.hoveredCitation=i,this.popoverAnchor=n,this.popoverVisible=!0)},onChipLeave(){this.popoverVisible=!1}}});function ot(e){let t=e.source||(()=>{try{return new URL(e.url).host.replace(/^www\./,``)}catch{return``}})()||e.title||`source`;return t.length>24?t.slice(0,23)+`…`:t}function K(e){return e.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function st(e,t){let n=K(e),r=K(t.title||t.source||t.url||e),i=K(ot(t)),a=t.url?` href="${K(t.url)}"`:``;return[`<span class="citation-chip" data-citation-id="${n}" title="${r}">`,`<a class="citation-chip__link"${a} target="_blank" rel="noopener noreferrer" tabindex="-1">`,`<span class="citation-chip__label">${i}</span>`,`</a>`,`</span>`].join(``)}var ct={class:`markdown-with-citations`};function lt(e,t,n,r,i,c){let l=u(`vue-markdown`),d=u(`citation-card`),m=u(`el-popover`),_=g(`highlight`);return y(),s(`div`,ct,[f(a(l,{source:e.enrichedContent,class:`markdown-body bg-transparent pt-[3px] text-[inherit]`,onMouseover:e.onChipHover,onMouseleave:e.onChipLeave},null,8,[`source`,`onMouseover`,`onMouseleave`]),[[_]]),e.hoveredCitation&&e.popoverAnchor?(y(),p(m,{key:0,"virtual-ref":e.popoverAnchor,"virtual-triggering":``,trigger:`hover`,visible:e.popoverVisible,placement:`top`,width:340,"popper-class":`citation-popover`,"show-arrow":!0,"hide-after":120},{default:h(()=>[a(d,{citation:e.hoveredCitation},null,8,[`citation`])]),_:1},8,[`virtual-ref`,`visible`])):o(``,!0)])}var ut=U(at,[[`render`,lt],[`__scopeId`,`data-v-f3f2e7ba`]]),dt=S({name:`CopyToClipboard`,components:{RefreshIcon:de,ElTooltip:E},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:[`restart`],data(){return{copied:!1}},methods:{onRestart(){this.$emit(`restart`)}}}),ft=[`aria-label`,`title`];function pt(t,n,r,i,o,s){let c=u(`refresh-icon`),l=u(`el-tooltip`);return y(),p(l,{effect:`dark`,content:t.$t(`common.button.restart`),placement:`bottom`},{default:h(()=>[e(`button`,{type:`button`,class:`icon-sync`,"aria-label":t.$t(`common.button.restart`),title:t.$t(`common.button.restart`),onClick:n[0]||=(...e)=>t.onRestart&&t.onRestart(...e)},[a(c,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ft)]),_:1},8,[`content`])}var mt=U(dt,[[`render`,pt],[`__scopeId`,`data-v-fbede026`]]),ht=S({name:`EditMessage`,components:{EditIcon:le,ElTooltip:E},props:{messages:{type:Array,required:!1,default:()=>[]}},emits:[`click`],data(){return{copied:!1}},methods:{onEdit(){this.$emit(`click`)}}}),gt=[`aria-label`,`title`];function _t(t,n,r,i,o,c){let l=u(`edit-icon`),d=u(`el-tooltip`);return y(),s(`span`,null,[a(d,{effect:`dark`,content:t.$t(`common.button.restart`),placement:`bottom`},{default:h(()=>[e(`button`,{type:`button`,class:`icon-edit`,"aria-label":t.$t(`common.button.edit`),title:t.$t(`common.button.edit`),onClick:n[0]||=(...e)=>t.onEdit&&t.onEdit(...e)},[a(l,{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,gt)]),_:1},8,[`content`])])}var vt=U(ht,[[`render`,_t],[`__scopeId`,`data-v-ff8de14d`]]),yt={code_execute:`Running code`,web_search:`Searching the web`,image_generate:`Generating image`,video_generate:`Generating video`,music_generate:`Generating music`},bt=S({name:`ToolActivity`,components:{Loading:z,CircleCheckFilled:P,CircleCloseFilled:N,ArrowRight:M,ElIcon:C},props:{item:{type:Object,required:!0}},data(){return{expanded:!1}},computed:{displayName(){if(this.item.tool_display_name)return this.item.tool_display_name;let e=this.item.tool_name||``;return yt[e]||e.replace(/_/g,` `)},inputText(){let e=this.item.input;return e&&Object.keys(e).length>0?this.item.tool_name===`code_execute`?e.code||``:this.item.tool_name===`web_search`?e.query||``:JSON.stringify(e,null,2):this.item.input_stream||``}}}),xt={class:`tool-icon`},St={class:`tool-name`},Ct={key:0,class:`tool-duration`},wt={key:0,class:`tool-body`},Tt={key:0,class:`tool-section`},Et={class:`tool-code`},Dt={key:1,class:`tool-section`},Ot={class:`tool-code`};function kt(t,r,c,l,d,f){let m=u(`Loading`),g=u(`el-icon`),_=u(`CircleCloseFilled`),v=u(`CircleCheckFilled`),b=u(`ArrowRight`);return y(),s(`div`,{class:n([`tool-activity`,{"is-error":t.item.is_error,"is-running":t.item.status===`running`}])},[e(`div`,{class:`tool-header`,onClick:r[0]||=e=>t.expanded=!t.expanded},[e(`span`,xt,[t.item.status===`running`?(y(),p(g,{key:0,class:`is-loading`},{default:h(()=>[a(m,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})):t.item.is_error?(y(),p(g,{key:1,color:`var(--el-color-danger)`},{default:h(()=>[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1})):(y(),p(g,{key:2,color:`var(--el-color-success)`},{default:h(()=>[a(v,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1}))]),e(`span`,St,i(t.displayName),1),t.item.duration_ms?(y(),s(`span`,Ct,i(t.item.duration_ms)+`ms`,1)):o(``,!0),a(g,{class:n([`tool-expand`,{rotated:t.expanded}])},{default:h(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`class`])]),t.expanded?(y(),s(`div`,wt,[t.inputText?(y(),s(`div`,Tt,[r[1]||=e(`div`,{class:`tool-section-label`},`Input`,-1),e(`pre`,Et,i(t.inputText),1)])):o(``,!0),t.item.output?(y(),s(`div`,Dt,[r[2]||=e(`div`,{class:`tool-section-label`},`Output`,-1),e(`pre`,Ot,i(t.item.output),1)])):o(``,!0)])):o(``,!0)],2)}var At=U(bt,[[`render`,kt],[`__scopeId`,`data-v-186c0709`]]),jt={starting_session:z,attaching_tab:ie,ready:ce,executing:z,completed:P,device_offline:B,device_busy:B,authorization_required:F,stopped:Oe,expired:F,debugger_unavailable:B,unknown_outcome:B,failed:Oe},Mt={device_offline:`open-device-manager`,device_busy:`stop-other-session`,debugger_unavailable:`close-devtools`,authorization_required:`open-consent-card`},Nt=S({name:`BrowserToolActivity`,components:{ElButton:H,ElIcon:C,ExpandRightIcon:M},props:{item:{type:Object,required:!0}},emits:[`stop-session`,`recovery`],data(){return{expanded:!1}},computed:{state(){return De(this.item.execution_state)?this.item.execution_state:`starting_session`},title(){return this.item.tool_display_name||this.item.tool_name?.replace(/_/g,` `)||this.$t(`chat.browserTool.title`)},origin(){let e=Pe(this.item.origin);return e?new URL(e).hostname:void 0},icon(){return jt[this.state]},recoveryAction(){return Mt[this.state]},canStop(){return!!this.item.browser_session_id&&[`starting_session`,`attaching_tab`,`ready`,`executing`].includes(this.state)},inputText(){let e=this.item.input;return!e||Object.keys(e).length===0?this.item.input_stream||``:JSON.stringify(e,null,2)}}}),Pt={class:`activity-icon`,"aria-hidden":`true`},Ft={class:`activity-copy`},It={class:`activity-title`},Lt={class:`activity-status`},Rt={key:0,class:`activity-origin`},zt={class:`activity-actions`},Bt={key:0,class:`activity-duration`},Vt={key:0,class:`activity-body`},Ht={key:0,class:`activity-section`},Ut={class:`activity-code`},Wt={key:1,class:`activity-section`},Gt={class:`activity-code`};function Kt(c,l,d,f,m,g){let _=u(`el-button`),b=u(`ExpandRightIcon`),x=u(`el-icon`);return y(),s(`div`,{class:n([`browser-tool-activity`,`state-${c.state}`,{"is-error":c.item.is_error}]),role:`status`,"aria-live":`polite`},[e(`div`,{class:`activity-header`,onClick:l[2]||=e=>c.expanded=!c.expanded},[e(`div`,Pt,[(y(),p(v(c.icon),{class:n({"is-spinning":c.state===`executing`}),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]))]),e(`div`,Ft,[e(`div`,It,i(c.title),1),e(`div`,Lt,i(c.$t(`chat.browserTool.state.${c.state}`)),1),c.origin?(y(),s(`div`,Rt,i(c.origin),1)):o(``,!0)]),e(`div`,zt,[c.item.duration_ms?(y(),s(`span`,Bt,i(c.item.duration_ms)+`ms`,1)):o(``,!0),c.recoveryAction?(y(),p(_,{key:1,text:``,size:`small`,onClick:l[0]||=t(e=>c.$emit(`recovery`,c.recoveryAction),[`stop`])},{default:h(()=>[r(i(c.$t(`chat.browserTool.recovery.${c.recoveryAction}`)),1)]),_:1})):o(``,!0),c.canStop?(y(),p(_,{key:2,text:``,size:`small`,onClick:l[1]||=t(e=>c.$emit(`stop-session`,c.item.browser_session_id),[`stop`])},{default:h(()=>[r(i(c.$t(`chat.browserTool.stop`)),1)]),_:1})):o(``,!0),a(x,{class:n([`activity-expand`,{rotated:c.expanded}])},{default:h(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`class`])])]),c.expanded?(y(),s(`div`,Vt,[c.inputText?(y(),s(`div`,Ht,[l[3]||=e(`div`,{class:`activity-section-label`},`Input`,-1),e(`pre`,Ut,i(c.inputText),1)])):o(``,!0),c.item.output?(y(),s(`div`,Wt,[l[4]||=e(`div`,{class:`activity-section-label`},`Output`,-1),e(`pre`,Gt,i(c.item.output),1)])):o(``,!0)])):o(``,!0)],2)}var qt=U(Nt,[[`render`,Kt],[`__scopeId`,`data-v-19e1f97e`]]),Jt=S({name:`EntityCard`,components:{DownIcon:te,ElImage:Ne,ExternalLinkIcon:I},props:{card:{type:Object,required:!0}},data(){return{mediaFailed:!1}},computed:{cardType(){if(this.mediaFailed)return`file`;let e=(this.card.type||``).toLowerCase();return e===`audio`||e===`image`?e:e===`video`||e===`embed`?`video`:this.card.mimeType?.startsWith(`audio/`)?`audio`:this.card.mimeType?.startsWith(`video/`)?`video`:this.card.mimeType?.startsWith(`image/`)?`image`:`file`},mediaKey(){return[this.card.url,this.card.type,this.card.mimeType||``].join(`\0`)},videoUsesIframe(){if((this.card.type||``).toLowerCase()===`embed`)return!0;try{return new URL(this.card.url).pathname.split(`/`).includes(`embed`)}catch{return!1}},formattedDuration(){let e=this.card.duration??0;return!Number.isFinite(e)||e<=0?``:`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`},cleanFileName(){try{let e=new URL(this.card.url),t=e.pathname.split(`/`).filter(Boolean);return decodeURIComponent(t[t.length-1]||e.hostname)}catch{return this.card.url}},hostname(){try{return new URL(this.card.url).hostname}catch{return``}},fileIcon(){let e=(this.card.mimeType||``).toLowerCase();return e.includes(`word`)||e.includes(`msword`)||e.includes(`pdf`)||e.startsWith(`text/`)?L:e.includes(`sheet`)||e.includes(`excel`)||e.includes(`csv`)?He:e.includes(`zip`)||e.includes(`compressed`)?Ve:R}},watch:{mediaKey(){this.mediaFailed=!1}},methods:{onMediaError(){this.mediaFailed=!0}}}),Yt={key:0,class:`audio-card`},Xt={key:0,class:`thumb`},Zt=[`src`,`alt`],Qt={class:`meta`},$t=[`title`],en={key:1,class:`sub`},tn=[`src`],nn={class:`actions`},rn=[`href`],an={key:1,class:`video-card`},on={class:`frame`},sn=[`src`,`title`],cn=[`src`],ln={key:0,class:`meta`},un=[`title`],dn={key:1,class:`sub`},fn={key:2,class:`image-card`},pn=[`title`],mn=[`href`,`title`],hn={class:`info`},gn={class:`title`},_n={class:`sub`};function vn(t,c,l,d,f,m){let g=u(`down-icon`),_=u(`el-image`),b=u(`external-link-icon`);return y(),s(`div`,{class:n([`entity-card`,`entity-card--${t.cardType}`])},[t.cardType===`audio`?(y(),s(`div`,Yt,[t.card.thumbnail?(y(),s(`div`,Xt,[e(`img`,{src:t.card.thumbnail,alt:t.card.title||``},null,8,Zt)])):o(``,!0),e(`div`,Qt,[t.card.title?(y(),s(`div`,{key:0,class:`title`,title:t.card.title},i(t.card.title),9,$t)):o(``,!0),t.card.duration?(y(),s(`div`,en,i(t.formattedDuration),1)):o(``,!0),e(`audio`,{class:`player`,controls:``,preload:`metadata`,src:t.card.url,onError:c[0]||=(...e)=>t.onMediaError&&t.onMediaError(...e)},null,40,tn),e(`div`,nn,[e(`a`,{class:`download`,href:t.card.url,target:`_blank`,rel:`noopener noreferrer`},[a(g,{size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`common.button.download`)),1)],8,rn)])])])):t.cardType===`video`?(y(),s(`div`,an,[e(`div`,on,[t.videoUsesIframe?(y(),s(`iframe`,{key:0,class:`player`,src:t.card.url,title:t.card.title||``,frameborder:`0`,loading:`lazy`,referrerpolicy:`strict-origin-when-cross-origin`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowfullscreen:``,onError:c[1]||=(...e)=>t.onMediaError&&t.onMediaError(...e)},null,40,sn)):(y(),s(`video`,{key:1,class:`player`,controls:``,preload:`metadata`,src:t.card.url,onError:c[2]||=(...e)=>t.onMediaError&&t.onMediaError(...e)},null,40,cn))]),t.card.title||t.card.duration?(y(),s(`div`,ln,[t.card.title?(y(),s(`span`,{key:0,class:`title`,title:t.card.title},i(t.card.title),9,un)):o(``,!0),t.card.duration?(y(),s(`span`,dn,i(t.formattedDuration),1)):o(``,!0)])):o(``,!0)])):t.cardType===`image`?(y(),s(`div`,fn,[a(_,{src:t.card.url,alt:t.card.alt||t.card.title||``,fit:`contain`,class:`image`,"preview-src-list":[t.card.url],"initial-index":0,"hide-on-click-modal":!0,"preview-teleported":!0,onError:t.onMediaError},{placeholder:h(()=>[...c[3]||=[e(`div`,{class:`image-placeholder`},null,-1)]]),error:h(()=>[...c[4]||=[e(`div`,{class:`image-placeholder image-placeholder--error`},null,-1)]]),_:1},8,[`src`,`alt`,`preview-src-list`,`onError`]),t.card.title?(y(),s(`div`,{key:0,class:`caption`,title:t.card.title},i(t.card.title),9,pn)):o(``,!0)])):(y(),s(`a`,{key:3,class:`file-card`,href:t.card.url,target:`_blank`,rel:`noopener noreferrer`,title:t.card.title||t.card.url},[(y(),p(v(t.fileIcon),{class:`icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`div`,hn,[e(`div`,gn,i(t.card.title||t.cleanFileName),1),e(`div`,_n,i(t.card.mimeType||t.hostname),1)]),a(b,{class:`open`,size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,mn))],2)}var yn=U(Jt,[[`render`,vn],[`__scopeId`,`data-v-d8672a01`]]),bn=S({name:`ThinkingBlock`,components:{AiIcon:ne,ArrowRight:M,ElIcon:C,MarkdownRenderer:ut},props:{content:{type:String,required:!0},done:{type:Boolean,default:!1}},setup(e){let{t}=Ce(),n=b(!1);return d(()=>e.done,e=>{e&&(n.value=!0)}),{collapsed:n,label:m(()=>e.done?t(`chat.thinking.done`):t(`chat.thinking.inProgress`))}}}),xn={class:`thinking-label`},Sn={class:`thinking-content`};function Cn(t,r,o,c,l,d){let p=u(`ArrowRight`),m=u(`el-icon`),g=u(`ai-icon`),_=u(`markdown-renderer`);return y(),s(`div`,{class:n([`thinking-block`,{active:!t.done}])},[e(`div`,{class:`thinking-header`,onClick:r[0]||=e=>t.collapsed=!t.collapsed},[a(m,{class:n([`caret`,{"rotate-90":!t.collapsed}])},{default:h(()=>[a(p,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`class`]),a(g,{class:n([`brain`,{pulse:!t.done}]),size:`1em`,"aria-hidden":`true`,focusable:`false`},null,8,[`class`]),e(`span`,xn,i(t.label),1)]),f(e(`div`,Sn,[a(_,{content:t.content},null,8,[`content`])],512),[[x,!t.collapsed]])],2)}var wn=U(bn,[[`render`,Cn],[`__scopeId`,`data-v-0723c4f5`]]),Tn=S({name:`ConnectorEntryRow`,components:{ConnectionIcon:ue,ElButton:H,SuccessIcon:P},props:{entry:{type:Object,required:!0},catalog:{type:Object,default:null},disabled:{type:Boolean,default:!1}},emits:[`authorize`],data(){return{logoError:!1}},computed:{fallbackName(){let e=this.entry.connector??``;return e.startsWith(`acedatacloud/`)?e.slice(13):e},displayName(){return this.catalog?.name?.trim()||this.fallbackName},iconUrl(){return this.logoError?``:this.catalog?.icon_url||``},secondaryText(){return this.entry.context&&this.entry.context.trim()?this.entry.context:this.catalog?.short_description||``}},watch:{"catalog.icon_url"(){this.logoError=!1}},methods:{onAuthorize(){this.$emit(`authorize`,this.entry)},onLogoError(){this.logoError=!0}}}),En={class:`entry-icon`,"aria-hidden":`true`},Dn=[`src`,`alt`],On={class:`entry-text`},kn={class:`entry-name`},An={key:0,class:`entry-context`},jn={class:`entry-action`},Mn={key:0,class:`status-pill connected`},Nn={key:2,class:`status-pill unconnected`};function Pn(t,a,c,l,d,f){let m=u(`success-icon`),g=u(`connection-icon`),_=u(`el-button`);return y(),s(`div`,{class:n([`connector-entry-row`,{"is-connected":t.entry.status===`connected`}])},[e(`div`,En,[t.iconUrl?(y(),s(`img`,{key:0,src:t.iconUrl,class:`icon-logo`,alt:t.displayName,onError:a[0]||=(...e)=>t.onLogoError&&t.onLogoError(...e)},null,40,Dn)):t.entry.status===`connected`?(y(),p(m,{key:1,class:`icon-connected`,size:`1em`,"aria-hidden":`true`,focusable:`false`})):(y(),p(g,{key:2,class:`icon-unconnected`,size:`1em`,"aria-hidden":`true`,focusable:`false`}))]),e(`div`,On,[e(`div`,kn,i(t.displayName),1),t.secondaryText?(y(),s(`div`,An,i(t.secondaryText),1)):o(``,!0)]),e(`div`,jn,[t.entry.status===`connected`?(y(),s(`span`,Mn,i(t.$t(`chat.consent.statusConnected`)),1)):t.entry.install_url?(y(),p(_,{key:1,type:`primary`,size:`small`,disabled:t.disabled,onClick:t.onAuthorize},{default:h(()=>[r(i(t.$t(`chat.consent.authorize`)),1)]),_:1},8,[`disabled`,`onClick`])):(y(),s(`span`,Nn,i(t.$t(`chat.consent.statusUnconnected`)),1))])],2)}var Fn=U(Tn,[[`render`,Pn],[`__scopeId`,`data-v-c71edc61`]]);function In(e){let t=new Set,n=[];for(let r of e.requirements??[])if(!r.satisfied)for(let e of r.entries??[])e.status===`unconnected`&&!t.has(e.connector)&&(t.add(e.connector),n.push(e.connector));return n}function q(e,t,n){return JSON.stringify({consent_request_id:e.consent_request_id,authorized:t,skipped:n})}async function Ln(){let e=await V.get(`/connections/`,{baseURL:`${G()}/api/v1`});return Array.isArray(e.data)?e.data:[]}var Rn=new Map,J=new Map;async function zn(e){if(!e)return;let t=Rn.get(e);if(t)return t;let n=J.get(e);if(n)return n;let r=(async()=>{try{let t=(await V.get(`/connectors/${e}/`,{baseURL:`${G()}/api/v1`})).data;return Rn.set(e,t),t}catch(t){console.warn(`connector catalog fetch failed`,e,t);return}})().finally(()=>{J.delete(e)});return J.set(e,r),r}var Y=null,X=null,Z=null,Q=0;async function Bn(e,t=!1){let n=e??null;if(n!==X&&(X=n,Y=null,Z=null,Q++),!n)return[];if(!t&&Y)return Y;if(!t&&Z)return Z;let r=++Q,i=(async()=>{try{let e=(await V.get(`/connectors/`,{baseURL:`${G()}/api/v1`,params:{sort:`popular`,limit:200}}))?.data?.items,t=Array.isArray(e)?e.filter(e=>e?.installed&&e?.icon_url).map(e=>({id:e.id,identifier:e.identifier,name:e.name,icon_url:e.icon_url})):[];return X===n&&Q===r&&(Y=t),t}catch(e){return console.warn(`enabled connectors fetch failed`,e),Y??[]}})();return Z=i,i.finally(()=>{Q===r&&(Z=null)}),i}async function Vn(e,t){return(await V.post(`/connectors/${e}/install/`,t,{baseURL:`${G()}/api/v1`})).data}var Hn=S({name:`ConnectorConsentCard`,components:{ConnectorEntryRow:Fn,ElButton:H,ElCheckbox:k,ElCheckboxGroup:O,ElDialog:Te,SecurityIcon:fe},props:{toolUseId:{type:String,required:!0},payload:{type:Object,required:!0},resolved:{type:Boolean,default:!1},previousOutput:{type:String,default:``}},emits:[`submit`,`authorize`],data(){return{resolvedAuthorized:[],resolvedSkipped:[],catalogs:{},scopeDialogVisible:!1,scopeDialogEntry:null,scopeDialogCatalog:null,selectedScopes:[],authorizingConnector:``,liveStatuses:{},hasCheckedStatuses:!1,refreshingStatus:!1}},computed:{requirements(){return this.payload?.requirements??[]},effectiveStatus(){return e=>this.liveStatuses[e.connector]??e.status},effectiveEntriesFor(){return e=>e.entries.map(e=>{let t=this.liveStatuses[e.connector];return!t||t===e.status?e:{...e,status:t}})},effectiveSatisfiedFor(){return e=>{let t=e.entries.map(e=>this.effectiveStatus(e));return t.length===0?e.satisfied:e.match===`all`?t.every(e=>e===`connected`):t.some(e=>e===`connected`)}},hasUnsatisfied(){return this.requirements.some(e=>!this.effectiveSatisfiedFor(e))},showContinueButton(){return this.resolved||!this.hasCheckedStatuses?!1:!this.hasUnsatisfied},resolvedSummary(){return this.resolvedAuthorized.length>0?this.$t(`chat.consent.resolvedAuthorized`,{list:this.resolvedAuthorized.join(`, `)}):this.$t(`chat.consent.resolvedSkipped`)}},watch:{resolved:{immediate:!0,handler(e){e&&this.parsePreviousOutput()}},previousOutput:{immediate:!1,handler(){this.resolved&&this.parsePreviousOutput()}},payload:{immediate:!0,deep:!1,handler(){this.refreshCatalogs()}}},mounted(){this.shouldRefreshFromReturn()&&this.refreshConnectionStatuses()},methods:{showMatchLabel(e){return e.entries.length>1&&!this.effectiveSatisfiedFor(e)},catalogFor(e){return this.catalogs[e.catalog_id]||null},async refreshCatalogs(){let e=new Set;for(let t of this.requirements)for(let n of t.entries)n.catalog_id&&e.add(n.catalog_id);await Promise.all(Array.from(e).map(async e=>{if(this.catalogs[e])return;let t=await zn(e);t&&(this.catalogs={...this.catalogs,[e]:t})}))},onAuthorize(e){let t=this.catalogFor(e);if(!t||t.auth_mode===`byoc`||!t.installable){this.$emit(`authorize`,{tool_use_id:this.toolUseId,entry:e});return}let n=t.permissions||[];if(n.length>1){this.scopeDialogEntry=e,this.scopeDialogCatalog=t,this.selectedScopes=n.map(e=>e.id),this.scopeDialogVisible=!0;return}this.performInstall(e,void 0)},onConfirmScopes(){let e=this.scopeDialogEntry;if(!e){this.scopeDialogVisible=!1;return}let t=[...this.selectedScopes];this.scopeDialogVisible=!1,this.performInstall(e,t)},async performInstall(e,t){this.authorizingConnector=e.connector;try{let n=new URL(window.location.href);n.searchParams.set(`consent`,this.payload.consent_request_id),n.searchParams.delete(`connector`);let r=await Vn(e.catalog_id,{scopes:t,return_url:n.toString()});if(r.type===`redirect`&&r.authorization_url){window.location.href=r.authorization_url;return}this.$emit(`authorize`,{tool_use_id:this.toolUseId,entry:e})}catch(t){console.error(`installFromCatalog failed`,t),D.error(this.$t(`chat.consent.installFailed`)),this.$emit(`authorize`,{tool_use_id:this.toolUseId,entry:e})}finally{this.authorizingConnector=``}},onSkip(){let e=In(this.payload),t=q(this.payload,[],e);this.$emit(`submit`,{tool_use_id:this.toolUseId,output:t})},shouldRefreshFromReturn(){if(typeof window>`u`)return!1;try{return new URL(window.location.href).searchParams.get(`consent`)===this.payload?.consent_request_id}catch{return!1}},async refreshConnectionStatuses(){this.refreshingStatus=!0;try{let e=await Ln(),t=new Set;for(let n of e){let e=n.connector_identifier;e&&String(n.status).toLowerCase()===`active`&&t.add(e)}let n={};for(let e of this.requirements)for(let r of e.entries)n[r.connector]=t.has(r.connector)?`connected`:`unconnected`;this.liveStatuses=n,this.hasCheckedStatuses=!0}catch(e){console.warn(`listMyConnections failed`,e)}finally{this.refreshingStatus=!1}},onContinue(){let e=[];for(let t of this.requirements)for(let n of t.entries)this.effectiveStatus(n)===`connected`&&e.push(n.connector);let t=q(this.payload,e,[]);this.$emit(`submit`,{tool_use_id:this.toolUseId,output:t})},parsePreviousOutput(){if(this.resolvedAuthorized=[],this.resolvedSkipped=[],this.previousOutput)try{let e=JSON.parse(this.previousOutput);Array.isArray(e.authorized)&&(this.resolvedAuthorized=e.authorized.filter(e=>typeof e==`string`)),Array.isArray(e.skipped)&&(this.resolvedSkipped=e.skipped.filter(e=>typeof e==`string`))}catch{}}}}),Un={class:`ccc-header`},Wn={class:`header-title`},Gn={key:0,class:`ccc-rationale`},Kn={key:0,class:`ccc-req-match`},qn={key:1,class:`ccc-actions`},Jn={key:2,class:`ccc-resolved-banner`},Yn={class:`ccc-scope-hint`},Xn={class:`ccc-scope-label`},Zn={key:0,class:`ccc-scope-desc`};function Qn(t,c,d,f,m,g){let v=u(`security-icon`),b=u(`ConnectorEntryRow`),x=u(`el-button`),S=u(`el-checkbox`),C=u(`el-checkbox-group`),w=u(`el-dialog`);return y(),s(`div`,{class:n([`connector-consent-card`,{"is-resolved":t.resolved}])},[e(`div`,Un,[a(v,{class:`header-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,Wn,i(t.$t(`chat.consent.title`)),1)]),t.payload.rationale?(y(),s(`p`,Gn,i(t.payload.rationale),1)):o(``,!0),(y(!0),s(l,null,_(t.requirements,e=>(y(),s(`div`,{key:e.requirement_index,class:n([`ccc-requirement`,{"is-satisfied":t.effectiveSatisfiedFor(e)}])},[t.showMatchLabel(e)?(y(),s(`div`,Kn,i(e.match===`any`?t.$t(`chat.consent.matchAny`):t.$t(`chat.consent.matchAll`)),1)):o(``,!0),(y(!0),s(l,null,_(t.effectiveEntriesFor(e),e=>(y(),p(b,{key:e.connector,entry:e,catalog:t.catalogFor(e),disabled:t.resolved||t.authorizingConnector!==``,onAuthorize:t.onAuthorize},null,8,[`entry`,`catalog`,`disabled`,`onAuthorize`]))),128))],2))),128)),!t.resolved&&(t.hasUnsatisfied||t.showContinueButton)?(y(),s(`div`,qn,[t.hasUnsatisfied?(y(),p(x,{key:0,text:``,disabled:t.authorizingConnector!==``,onClick:t.onSkip},{default:h(()=>[r(i(t.$t(`chat.consent.skip`)),1)]),_:1},8,[`disabled`,`onClick`])):o(``,!0),t.showContinueButton?(y(),p(x,{key:1,type:`primary`,loading:t.refreshingStatus,disabled:t.authorizingConnector!==``,onClick:t.onContinue},{default:h(()=>[r(i(t.$t(`chat.consent.continue`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):o(``,!0)])):o(``,!0),t.resolved?(y(),s(`div`,Jn,i(t.resolvedSummary),1)):o(``,!0),a(w,{modelValue:t.scopeDialogVisible,"onUpdate:modelValue":c[2]||=e=>t.scopeDialogVisible=e,title:t.scopeDialogCatalog?t.$t(`chat.consent.selectScopes`,{provider:t.scopeDialogCatalog.name}):``,width:`480px`,"close-on-click-modal":!1,"append-to-body":``},{footer:h(()=>[a(x,{disabled:t.authorizingConnector!==``,onClick:c[1]||=e=>t.scopeDialogVisible=!1},{default:h(()=>[r(i(t.$t(`common.button.cancel`)),1)]),_:1},8,[`disabled`]),a(x,{type:`primary`,loading:t.authorizingConnector!==``,onClick:t.onConfirmScopes},{default:h(()=>[r(i(t.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:h(()=>[e(`p`,Yn,i(t.$t(`chat.consent.selectScopesHint`)),1),a(C,{modelValue:t.selectedScopes,"onUpdate:modelValue":c[0]||=e=>t.selectedScopes=e},{default:h(()=>[(y(!0),s(l,null,_(t.scopeDialogCatalog?.permissions||[],t=>(y(),s(`div`,{key:t.id,class:`ccc-scope-row`},[a(S,{value:t.id,label:t.id},{default:h(()=>[e(`span`,Xn,i(t.label||t.id),1)]),_:2},1032,[`value`,`label`]),t.desc?(y(),s(`p`,Zn,i(t.desc),1)):o(``,!0)]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`modelValue`,`title`])],2)}var $n=U(Hn,[[`render`,Qn],[`__scopeId`,`data-v-abe74887`]]),er=S({name:`GenericFieldList`,props:{summary:{type:String,default:``},fields:{type:Array,default:()=>[]}}}),tr={class:`generic-field-list`},nr={key:0,class:`gfl-summary`},rr={key:1,class:`gfl-fields`},ir={class:`gfl-label`},ar={class:`gfl-value`};function or(t,n,r,a,c,u){return y(),s(`div`,tr,[t.summary?(y(),s(`p`,nr,i(t.summary),1)):o(``,!0),t.fields.length>0?(y(),s(`dl`,rr,[(y(!0),s(l,null,_(t.fields,(t,n)=>(y(),s(`div`,{key:n,class:`gfl-row`},[e(`dt`,ir,i(t.label),1),e(`dd`,ar,i(t.value),1)]))),128))])):o(``,!0)])}var sr=U(er,[[`render`,or],[`__scopeId`,`data-v-397c1174`]]),$=`SELF_ONLY`,cr=`https://www.tiktok.com/legal/page/global/music-usage-confirmation/en`,lr=`https://www.tiktok.com/legal/page/global/bc-policy/en`,ur=S({name:`TikTokPublishForm`,components:{ElCheckbox:k,ElInput:we,ElOption:T,ElSelect:w},props:{detail:{type:Object,required:!0},initialTitle:{type:String,default:``},durationSec:{type:Number,default:0},disabled:{type:Boolean,default:!1},initialValues:{type:Object,default:null}},emits:[`validity-change`],data(){let e=this.initialValues;return{form:{title:e?.title??this.initialTitle,privacy_level:e?.privacy_level??``,allow_comment:e?!e.disable_comment:!1,allow_duet:e?!e.disable_duet:!1,allow_stitch:e?!e.disable_stitch:!1,commercial:!!(e?.brand_organic_toggle||e?.brand_content_toggle),brand_organic_toggle:!!e?.brand_organic_toggle,brand_content_toggle:!!e?.brand_content_toggle}}},computed:{privacyOptions(){return Array.isArray(this.detail?.privacy_level_options)?this.detail.privacy_level_options.filter(e=>typeof e==`string`&&!!e):[]},hasPrivacyOptions(){return this.privacyOptions.length>0},hasCreator(){return typeof this.detail?.creator_nickname==`string`&&!!this.detail.creator_nickname.trim()},creatorName(){return this.hasCreator?this.detail.creator_nickname:this.$t(`chat.actionConfirmation.tiktok.unknownAccount`)},creatorInitial(){return this.hasCreator?this.detail.creator_nickname.trim().charAt(0).toUpperCase():`?`},metadataMissing(){return!this.hasCreator||!this.hasPrivacyOptions},tooLong(){let e=this.detail?.max_video_post_duration_sec??0;return e>0&&this.durationSec>e},brandedContentBlocked(){return this.form.privacy_level===$},selfOnlyBlocked(){return this.form.commercial&&this.form.brand_content_toggle},commercialLabel(){return this.form.brand_content_toggle?this.$t(`chat.actionConfirmation.tiktok.labelPaidPartnership`):this.form.brand_organic_toggle?this.$t(`chat.actionConfirmation.tiktok.labelPromotional`):``},disabledInteractions(){let e=[];return this.detail?.comment_disabled&&e.push(this.$t(`chat.actionConfirmation.tiktok.allowComment`)),!this.detail?.is_photo_post&&this.detail?.duet_disabled&&e.push(this.$t(`chat.actionConfirmation.tiktok.allowDuet`)),!this.detail?.is_photo_post&&this.detail?.stitch_disabled&&e.push(this.$t(`chat.actionConfirmation.tiktok.allowStitch`)),e.join(`、`)},policyIntro(){let e=this.form.brand_content_toggle?`chat.actionConfirmation.tiktok.policyIntroBranded`:`chat.actionConfirmation.tiktok.policyIntro`;return this.$t(e)},musicUsageUrl(){return cr},brandedContentUrl(){return lr},validationReason(){return this.metadataMissing?this.$t(`chat.actionConfirmation.tiktok.fixDetailsFirst`):this.tooLong?this.$t(`chat.actionConfirmation.tiktok.useShorterVideo`):this.form.privacy_level?this.form.commercial&&!this.form.brand_organic_toggle&&!this.form.brand_content_toggle?this.$t(`chat.actionConfirmation.tiktok.selectDisclosureType`):``:this.$t(`chat.actionConfirmation.tiktok.selectPrivacyFirst`)},isValid(){return!this.validationReason},values(){return{title:this.form.title,privacy_level:this.form.privacy_level,disable_comment:!this.form.allow_comment,disable_duet:!this.form.allow_duet,disable_stitch:!this.form.allow_stitch,brand_organic_toggle:this.form.commercial?this.form.brand_organic_toggle:!1,brand_content_toggle:this.form.commercial?this.form.brand_content_toggle:!1}}},watch:{validationReason:{immediate:!0,handler(e){this.$emit(`validity-change`,!e,e)}},"form.privacy_level"(e){e===$&&(this.form.brand_content_toggle=!1)},"form.commercial"(e){e||(this.form.brand_organic_toggle=!1,this.form.brand_content_toggle=!1)}},methods:{isPrivacyDisabled(e){return e===$&&this.selfOnlyBlocked},privacyLabel(e){let t={PUBLIC_TO_EVERYONE:`chat.actionConfirmation.tiktok.privacyPublic`,MUTUAL_FOLLOW_FRIENDS:`chat.actionConfirmation.tiktok.privacyFriends`,FOLLOWER_OF_CREATOR:`chat.actionConfirmation.tiktok.privacyFollowers`,SELF_ONLY:`chat.actionConfirmation.tiktok.privacySelf`};return t[e]?this.$t(t[e]):e},collect(){return this.values}}}),dr={class:`tiktok-publish-form`},fr=[`src`],pr={key:1,class:`tpf-avatar tpf-avatar-fallback`,"aria-hidden":`true`},mr={class:`tpf-account-copy`},hr={key:2,class:`tpf-connected`},gr={key:0,class:`tpf-blocking-error`,role:`alert`},_r={key:1,class:`tpf-blocking-error`,role:`alert`},vr={class:`tpf-section`},yr={class:`tpf-section-heading`},br={class:`tpf-required-note`},xr={class:`tpf-field`},Sr={class:`tpf-label`,for:`tpf-caption`},Cr={class:`tpf-field`},wr={class:`tpf-label`,for:`tpf-privacy`},Tr={key:1,class:`tpf-empty-control`},Er={key:2,class:`tpf-hint is-warning`},Dr={class:`tpf-section`},Or={class:`tpf-section-heading`},kr={class:`tpf-section-description`},Ar={class:`tpf-checks`},jr={key:0,class:`tpf-hint`},Mr={class:`tpf-section`},Nr={class:`tpf-section-heading`},Pr={class:`tpf-section-description`},Fr={key:0,class:`tpf-commercial-options`},Ir={class:`tpf-option-copy`},Lr={class:`tpf-option-copy`},Rr={key:0,class:`tpf-hint is-info`},zr={key:1,class:`tpf-hint is-warning`},Br={class:`tpf-policy`},Vr={class:`tpf-policy-links`},Hr=[`href`],Ur=[`href`];function Wr(t,c,d,f,m,g){let v=u(`el-input`),b=u(`el-option`),x=u(`el-select`),S=u(`el-checkbox`);return y(),s(`div`,dr,[e(`div`,{class:n([`tpf-account`,{"is-missing":!t.hasCreator}])},[t.detail.creator_avatar_url?(y(),s(`img`,{key:0,class:`tpf-avatar`,src:t.detail.creator_avatar_url,alt:``},null,8,fr)):(y(),s(`span`,pr,i(t.creatorInitial),1)),e(`div`,mr,[e(`span`,null,i(t.$t(`chat.actionConfirmation.tiktok.postingTo`)),1),e(`strong`,null,i(t.creatorName),1)]),t.hasCreator?(y(),s(`span`,hr,i(t.$t(`chat.actionConfirmation.tiktok.connected`)),1)):o(``,!0)],2),t.metadataMissing?(y(),s(`div`,gr,[e(`strong`,null,i(t.$t(`chat.actionConfirmation.tiktok.detailsUnavailable`)),1),e(`span`,null,i(t.$t(`chat.actionConfirmation.tiktok.detailsUnavailableHint`)),1)])):o(``,!0),t.tooLong?(y(),s(`div`,_r,[e(`strong`,null,i(t.$t(`chat.actionConfirmation.tiktok.videoTooLongTitle`)),1),e(`span`,null,i(t.$t(`chat.actionConfirmation.tiktok.tooLong`,{max:t.detail.max_video_post_duration_sec})),1)])):o(``,!0),e(`section`,vr,[e(`div`,yr,[e(`span`,null,i(t.$t(`chat.actionConfirmation.tiktok.postDetails`)),1),e(`span`,br,i(t.$t(`chat.actionConfirmation.tiktok.requiredNote`)),1)]),e(`div`,xr,[e(`label`,Sr,i(t.$t(`chat.actionConfirmation.tiktok.caption`)),1),a(v,{id:`tpf-caption`,modelValue:t.form.title,"onUpdate:modelValue":c[0]||=e=>t.form.title=e,type:`textarea`,rows:3,maxlength:2200,"show-word-limit":!t.disabled,disabled:t.disabled||t.metadataMissing,resize:`none`,placeholder:t.$t(`chat.actionConfirmation.tiktok.captionPlaceholder`)},null,8,[`modelValue`,`show-word-limit`,`disabled`,`placeholder`])]),e(`div`,Cr,[e(`label`,wr,[r(i(t.$t(`chat.actionConfirmation.tiktok.privacy`))+` `,1),c[8]||=e(`span`,{class:`tpf-required`},`*`,-1)]),t.hasPrivacyOptions?(y(),p(x,{key:0,id:`tpf-privacy`,modelValue:t.form.privacy_level,"onUpdate:modelValue":c[1]||=e=>t.form.privacy_level=e,placeholder:t.$t(`chat.actionConfirmation.tiktok.privacyPlaceholder`),disabled:t.disabled,class:`tpf-select`,"popper-class":`tiktok-privacy-popper`},{default:h(()=>[(y(!0),s(l,null,_(t.privacyOptions,e=>(y(),p(b,{key:e,label:t.privacyLabel(e),value:e,disabled:t.isPrivacyDisabled(e)},null,8,[`label`,`value`,`disabled`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`disabled`])):(y(),s(`div`,Tr,i(t.$t(`chat.actionConfirmation.tiktok.noPrivacyOptions`)),1)),t.selfOnlyBlocked?(y(),s(`p`,Er,i(t.$t(`chat.actionConfirmation.tiktok.brandedNotPrivate`)),1)):o(``,!0)])]),e(`section`,Dr,[e(`div`,Or,i(t.$t(`chat.actionConfirmation.tiktok.interactions`)),1),e(`p`,kr,i(t.$t(`chat.actionConfirmation.tiktok.interactionsHint`)),1),e(`div`,Ar,[a(S,{modelValue:t.form.allow_comment,"onUpdate:modelValue":c[2]||=e=>t.form.allow_comment=e,disabled:t.disabled||t.metadataMissing||t.detail.comment_disabled},{default:h(()=>[r(i(t.$t(`chat.actionConfirmation.tiktok.allowComment`)),1)]),_:1},8,[`modelValue`,`disabled`]),t.detail.is_photo_post?o(``,!0):(y(),s(l,{key:0},[a(S,{modelValue:t.form.allow_duet,"onUpdate:modelValue":c[3]||=e=>t.form.allow_duet=e,disabled:t.disabled||t.metadataMissing||t.detail.duet_disabled},{default:h(()=>[r(i(t.$t(`chat.actionConfirmation.tiktok.allowDuet`)),1)]),_:1},8,[`modelValue`,`disabled`]),a(S,{modelValue:t.form.allow_stitch,"onUpdate:modelValue":c[4]||=e=>t.form.allow_stitch=e,disabled:t.disabled||t.metadataMissing||t.detail.stitch_disabled},{default:h(()=>[r(i(t.$t(`chat.actionConfirmation.tiktok.allowStitch`)),1)]),_:1},8,[`modelValue`,`disabled`])],64))]),t.disabledInteractions?(y(),s(`p`,jr,i(t.$t(`chat.actionConfirmation.tiktok.disabledByAccount`,{list:t.disabledInteractions})),1)):o(``,!0)]),e(`section`,Mr,[e(`div`,Nr,i(t.$t(`chat.actionConfirmation.tiktok.disclosure`)),1),a(S,{modelValue:t.form.commercial,"onUpdate:modelValue":c[5]||=e=>t.form.commercial=e,disabled:t.disabled||t.metadataMissing},{default:h(()=>[r(i(t.$t(`chat.actionConfirmation.tiktok.commercial`)),1)]),_:1},8,[`modelValue`,`disabled`]),e(`p`,Pr,i(t.$t(`chat.actionConfirmation.tiktok.commercialHint`)),1),t.form.commercial?(y(),s(`div`,Fr,[a(S,{modelValue:t.form.brand_organic_toggle,"onUpdate:modelValue":c[6]||=e=>t.form.brand_organic_toggle=e,disabled:t.disabled},{default:h(()=>[e(`span`,Ir,[e(`strong`,null,i(t.$t(`chat.actionConfirmation.tiktok.yourBrand`)),1),e(`small`,null,i(t.$t(`chat.actionConfirmation.tiktok.yourBrandHint`)),1)])]),_:1},8,[`modelValue`,`disabled`]),a(S,{modelValue:t.form.brand_content_toggle,"onUpdate:modelValue":c[7]||=e=>t.form.brand_content_toggle=e,disabled:t.disabled||t.brandedContentBlocked},{default:h(()=>[e(`span`,Lr,[e(`strong`,null,i(t.$t(`chat.actionConfirmation.tiktok.brandedContent`)),1),e(`small`,null,i(t.$t(`chat.actionConfirmation.tiktok.brandedContentHint`)),1)])]),_:1},8,[`modelValue`,`disabled`]),t.commercialLabel?(y(),s(`p`,Rr,i(t.commercialLabel),1)):o(``,!0),t.brandedContentBlocked?(y(),s(`p`,zr,i(t.$t(`chat.actionConfirmation.tiktok.brandedNotPrivate`)),1)):o(``,!0)])):o(``,!0)]),e(`aside`,Br,[c[9]||=e(`div`,{class:`tpf-policy-icon`,"aria-hidden":`true`},`✓`,-1),e(`div`,null,[e(`strong`,null,i(t.$t(`chat.actionConfirmation.tiktok.beforePublishing`)),1),e(`p`,null,i(t.policyIntro),1),e(`div`,Vr,[e(`a`,{href:t.musicUsageUrl,target:`_blank`,rel:`noopener noreferrer`},i(t.$t(`chat.actionConfirmation.tiktok.musicUsageLink`)),9,Hr),t.form.brand_content_toggle?(y(),s(`a`,{key:0,href:t.brandedContentUrl,target:`_blank`,rel:`noopener noreferrer`},i(t.$t(`chat.actionConfirmation.tiktok.brandedPolicyLink`)),9,Ur)):o(``,!0)])])])])}var Gr=S({name:`ActionConfirmationCard`,components:{GenericFieldList:sr,TikTokPublishForm:U(ur,[[`render`,Wr],[`__scopeId`,`data-v-f8976385`]]),ConfirmIcon:j,ExternalLinkIcon:I,WarningIcon:B,FontAwesomeIcon:Fe,ElButton:H},props:{payload:{type:Object,required:!0},resolved:{type:Boolean,default:!1},previousOutput:{type:String,default:``}},emits:[`submit`],data(){return{submitting:!1,resolvedConfirmed:null,bodyValid:!0,validationReason:``,mediaReady:!1,mediaFailed:!1}},computed:{faTiktok(){return Me},isTikTokPublish(){return this.payload?.kind===`tiktok.publish`},headerTitle(){return this.isTikTokPublish?this.$t(`chat.actionConfirmation.tiktok.publishTitle`):this.payload.title},summary(){return this.isTikTokPublish?this.$t(`chat.actionConfirmation.tiktok.publishSummary`):this.payload.summary||``},initialTitle(){let e=this.payload?.detail;return typeof e?.suggested_title==`string`?e.suggested_title:``},submittedValues(){if(!this.resolved||!this.previousOutput)return null;try{return JSON.parse(this.previousOutput)?.values??null}catch{return null}},isDestructive(){return this.payload?.severity===`destructive`},headerIcon(){return this.isDestructive?B:j},confirmLabel(){return this.isTikTokPublish?this.$t(`chat.actionConfirmation.tiktok.publishButton`):this.payload?.confirm_label||this.$t(`chat.actionConfirmation.confirm`)},formattedDuration(){let e=this.payload?.preview?.duration_sec;if(!e||!Number.isFinite(e))return``;let t=Math.round(e),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`},resolvedSummary(){let e=this.resolvedConfirmed?`chat.actionConfirmation.resolvedConfirmed`:`chat.actionConfirmation.resolvedCancelled`;return this.$t(e)}},watch:{resolved:{immediate:!0,handler(e){e&&(this.submitting=!1,this.resolvedConfirmed=this.parsePreviousConfirmed())}},"payload.preview.url"(){this.mediaReady=!1,this.mediaFailed=!1}},methods:{parsePreviousConfirmed(){if(!this.previousOutput)return!1;try{return JSON.parse(this.previousOutput)?.confirmed===!0}catch{return!1}},emitResult(e,t){if(this.submitting||this.resolved)return;this.submitting=!0;let n={action_confirmation_id:this.payload.action_confirmation_id,confirmed:e};e&&t&&(n.values=t),this.$emit(`submit`,n)},onValidityChange(e,t=``){this.bodyValid=e,this.validationReason=t},onMediaReady(){this.mediaReady=!0,this.mediaFailed=!1},onMediaError(){this.mediaReady=!1,this.mediaFailed=!0},collectValues(){let e=this.$refs.tiktokForm;return e?.collect?e.collect():void 0},onConfirm(){this.emitResult(!0,this.collectValues())},onCancel(){this.emitResult(!1)}}}),Kr={class:`acc-header`},qr={class:`acc-heading`},Jr={key:0,class:`acc-brand-mark`,"aria-hidden":`true`},Yr={class:`acc-heading-copy`},Xr={key:0,class:`acc-eyebrow`},Zr={class:`header-title`},Qr={key:0,class:`acc-review-badge`},$r={key:0,class:`acc-summary`},ei={key:0,class:`preview-loading`,"aria-live":`polite`},ti=[`src`],ni=[`src`,`alt`],ri={key:3,class:`preview-fallback`,role:`alert`},ii=[`href`],ai={key:4,class:`preview-duration`},oi={class:`acc-body`},si={key:1,class:`acc-actions`},ci={key:0,class:`acc-validation`,role:`status`},li={class:`acc-buttons`},ui={key:2,class:`acc-resolved-banner`};function di(t,c,l,d,f,m){let g=u(`font-awesome-icon`),_=u(`external-link-icon`),b=u(`TikTokPublishForm`),x=u(`GenericFieldList`),S=u(`el-button`);return y(),s(`div`,{class:n([`action-confirmation-card`,{"is-resolved":t.resolved,"is-destructive":t.isDestructive,"is-tiktok":t.isTikTokPublish}])},[e(`div`,Kr,[e(`div`,qr,[t.isTikTokPublish?(y(),s(`span`,Jr,[a(g,{icon:t.faTiktok},null,8,[`icon`])])):(y(),p(v(t.headerIcon),{key:1,class:`header-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`div`,Yr,[t.isTikTokPublish?(y(),s(`span`,Xr,`TikTok`)):o(``,!0),e(`span`,Zr,i(t.headerTitle),1)])]),t.isTikTokPublish&&!t.resolved?(y(),s(`span`,Qr,i(t.$t(`chat.actionConfirmation.tiktok.reviewBadge`)),1)):o(``,!0)]),t.summary?(y(),s(`p`,$r,i(t.summary),1)):o(``,!0),e(`div`,{class:n([`acc-content`,{"has-tiktok-layout":t.isTikTokPublish}])},[t.payload.preview?(y(),s(`div`,{key:0,class:n([`acc-preview`,{"has-error":t.mediaFailed}])},[!t.mediaReady&&!t.mediaFailed?(y(),s(`div`,ei,[c[5]||=e(`span`,{class:`preview-spinner`},null,-1),e(`span`,null,i(t.$t(`chat.actionConfirmation.mediaLoading`)),1)])):o(``,!0),t.payload.preview.type===`video`&&!t.mediaFailed?(y(),s(`video`,{key:1,class:n([`preview-media`,{"is-ready":t.mediaReady}]),src:t.payload.preview.url,controls:``,playsinline:``,preload:`metadata`,onLoadedmetadata:c[0]||=(...e)=>t.onMediaReady&&t.onMediaReady(...e),onCanplay:c[1]||=(...e)=>t.onMediaReady&&t.onMediaReady(...e),onError:c[2]||=(...e)=>t.onMediaError&&t.onMediaError(...e)},null,42,ti)):t.payload.preview.type===`image`&&!t.mediaFailed?(y(),s(`img`,{key:2,class:n([`preview-media`,{"is-ready":t.mediaReady}]),src:t.payload.preview.url,alt:t.payload.title,onLoad:c[3]||=(...e)=>t.onMediaReady&&t.onMediaReady(...e),onError:c[4]||=(...e)=>t.onMediaError&&t.onMediaError(...e)},null,42,ni)):(y(),s(`div`,ri,[c[6]||=e(`span`,{class:`fallback-icon`},`!`,-1),e(`strong`,null,i(t.$t(`chat.actionConfirmation.mediaUnavailable`)),1),e(`span`,null,i(t.$t(`chat.actionConfirmation.mediaUnavailableHint`)),1),e(`a`,{href:t.payload.preview.url,target:`_blank`,rel:`noopener noreferrer`},[r(i(t.$t(`chat.actionConfirmation.openMedia`))+` `,1),a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ii)])),t.formattedDuration&&!t.mediaFailed?(y(),s(`span`,ai,i(t.formattedDuration),1)):o(``,!0)],2)):o(``,!0),e(`div`,oi,[t.isTikTokPublish?(y(),p(b,{key:0,ref:`tiktokForm`,detail:t.payload.detail??{},"initial-title":t.initialTitle,"duration-sec":t.payload.preview?.duration_sec??0,disabled:t.resolved,"initial-values":t.submittedValues,onValidityChange:t.onValidityChange},null,8,[`detail`,`initial-title`,`duration-sec`,`disabled`,`initial-values`,`onValidityChange`])):(y(),p(x,{key:1,summary:t.payload.summary,fields:t.payload.fields??[]},null,8,[`summary`,`fields`]))])],2),t.resolved?(y(),s(`div`,ui,i(t.resolvedSummary),1)):(y(),s(`div`,si,[!t.bodyValid&&t.validationReason?(y(),s(`p`,ci,i(t.validationReason),1)):o(``,!0),e(`div`,li,[a(S,{text:``,disabled:t.submitting,onClick:t.onCancel},{default:h(()=>[r(i(t.$t(`chat.actionConfirmation.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(S,{type:t.isDestructive?`danger`:`primary`,loading:t.submitting,disabled:!t.bodyValid,onClick:t.onConfirm},{default:h(()=>[r(i(t.confirmLabel),1)]),_:1},8,[`type`,`loading`,`disabled`,`onClick`])])]))],2)}var fi=S({name:`Message`,components:{ErrorIcon:N,EditMessage:vt,CopyToClipboard:Ie,RestartToGenerate:mt,ReportButton:Re,AnsweringMark:qe,MarkdownRenderer:ut,FilePreview:ze,ToolActivity:At,BrowserToolActivity:qt,EntityCard:yn,ThinkingBlock:wn,AskUserQuestionCard:Be,ConnectorConsentCard:$n,ActionConfirmationCard:U(Gr,[[`render`,di],[`__scopeId`,`data-v-de229650`]]),ElButton:H,ElImage:Ne,ElInput:we},props:{messages:{type:Array,required:!1,default:()=>[]},message:{type:Object,required:!0},application:{type:Object,required:!0},readonly:{type:Boolean,default:!1},modelGroupOverride:{type:Object,required:!1,default:void 0}},emits:[`stop`,`edit`,`restart`,`answerAskUserQuestion`,`skipAskUserQuestion`,`respondConnectorConsent`,`respondActionConfirmation`,`authorizeConnector`,`stopBrowserSession`,`browserRecovery`],data(){return{isEditing:!1,questionValue:this.message.content,messageState:ee}},computed:{modelGroup(){return this.modelGroupOverride||this.$store.state.chat?.modelGroup},copyableText(){let e=this.message.content;return e?typeof e==`string`?e:Array.isArray(e)?e.filter(e=>e&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
2
-
3
- `).trim():``:``},errorText(){if(console.debug(`error`,this.message.error),!(!this.message.error||!this.message.error?.code)){if(this.message.error?.message)return this.message.error.message;switch(this.message.error?.code){case he:return this.$t(`chat.message.errorUsedUp`);case ye:return this.$t(`chat.message.errorApiError`);case Se:return this.$t(`chat.message.errorBadRequest`);case _e:return this.$t(`chat.message.errorTimeout`);case ve:return this.$t(`chat.message.errorBusy`);case ge:return this.$t(`chat.message.errorContentTooLarge`);case me:return this.$t(`chat.message.errorTooManyRequests`);case be:return this.$t(`chat.message.errorNotApplied`);case xe:return;case pe:default:return this.$t(`chat.message.errorUnknown`)}}},showBuyMore(){return this.application?.role===`grantee`||ke(this.$store.getters.site)?!1:!je()&&this.message.role===`assistant`&&this.message.error?.code===`used_up`}},watch:{},methods:{startEditing(){this.isEditing=!0,this.questionValue=this.message.content,console.debug(`start to get answer`,this.message)},cancelEdit(){this.isEditing=!1},onRestart(){this.$emit(`restart`,this.message)},onEdit(){this.isEditing=!1,this.onSubmit()},onEditEnterKey(e){let t=e;t.isComposing||t.keyCode===229||(t.preventDefault(),this.onEdit())},onSubmit(){this.$emit(`edit`,this.message,this.questionValue)},onBuyMore(){this.$router.push({name:Ee,params:{id:this.application?.id}})},onAskUserQuestionSubmit(e){this.$emit(`answerAskUserQuestion`,e)},onAskUserQuestionSkip(e){this.$emit(`skipAskUserQuestion`,e)},askUserQuestionPayloadFromBlock(e){return e.pending_question?e.pending_question:{questions:e.input?.questions||[]}},onConnectorConsentSubmit(e){this.$emit(`respondConnectorConsent`,e)},onConnectorConsentAuthorize(e){this.$emit(`authorizeConnector`,e)},consentPayloadFromBlock(e){return e.pending_consent_request??null},onActionConfirmationSubmit(e,t){this.$emit(`respondActionConfirmation`,{tool_use_id:e.tool_id||``,result:t})},actionConfirmationPayloadFromBlock(e){return e.pending_action_confirmation??null}}}),pi=[`role`],mi={class:`author`},hi={key:0,class:`main`},gi={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:`ease-in-out`}},class:`content`},_i={key:0,class:`message-content`},vi={key:1},yi={key:1,class:`whitespace-pre-wrap break-words w-fit max-w-full py-1`},bi={key:2},xi=[`src`],Si={key:2},Ci={key:1,class:`whitespace-pre-wrap break-words w-fit max-w-full py-1`},wi={key:1,class:`edits`},Ti={class:`flex justify-end`},Ei={initial:{opacity:0,y:5},enter:{opacity:1,y:0,scale:1},delay:300,duration:400,layout:!0,transition:{enter:{delay:.3,duration:.5},layout:{duration:.4,easing:`ease-in-out`}},class:`operations`},Di={key:1,class:`error-card`},Oi={class:`error-content`},ki={class:`error-text`};function Ai(d,m,v,b,x,S){let C=u(`el-image`),w=u(`thinking-block`),T=u(`markdown-renderer`),E=u(`file-preview`),ee=u(`tool-activity`),D=u(`browser-tool-activity`),O=u(`ask-user-question-card`),k=u(`connector-consent-card`),A=u(`action-confirmation-card`),te=u(`entity-card`),ne=u(`el-input`),j=u(`el-button`),M=u(`answering-mark`),N=u(`edit-message`),re=u(`copy-to-clipboard`),P=u(`restart-to-generate`),F=u(`report-button`),I=u(`error-icon`),L=g(`motion`);return y(),s(`div`,{class:n({message:!0,[d.message.role]:!0}),role:d.message.role},[e(`div`,mi,[d.message.role===`assistant`?(y(),p(C,{key:0,src:d.modelGroup?.icon,fit:`cover`,class:`avatar`},null,8,[`src`])):o(``,!0)]),d.errorText?(y(),s(`div`,Di,[e(`div`,Oi,[a(I,{class:`error-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,ki,i(d.errorText),1)]),d.showBuyMore&&!d.readonly?(y(),p(j,{key:0,round:``,type:`primary`,class:`btn-topup`,size:`small`,onClick:d.onBuyMore},{default:h(()=>[r(i(d.$t(`common.button.buyMore`)),1)]),_:1},8,[`onClick`])):o(``,!0)])):(y(),s(`div`,hi,[f((y(),s(`div`,gi,[d.isEditing?(y(),s(`div`,wi,[a(ne,{modelValue:d.questionValue,"onUpdate:modelValue":m[2]||=e=>d.questionValue=e,type:`textarea`,class:`mb-2`,onKeydown:c(t(d.onEditEnterKey,[`exact`]),[`enter`])},null,8,[`modelValue`,`onKeydown`]),e(`div`,Ti,[a(j,{round:``,onClick:d.cancelEdit},{default:h(()=>[r(i(d.$t(`common.button.cancel`)),1)]),_:1},8,[`onClick`]),a(j,{type:`primary`,class:`btn-confirm`,round:``,onClick:d.onEdit},{default:h(()=>[r(i(d.$t(`common.button.confirm`)),1)]),_:1},8,[`onClick`])])])):(y(),s(`div`,_i,[d.message.role===`assistant`&&d.message.thinking?(y(),p(w,{key:0,content:d.message.thinking,done:d.message.state===d.messageState.FINISHED||d.message.state===d.messageState.FAILED},null,8,[`content`,`done`])):o(``,!0),Array.isArray(d.message.content)?(y(),s(`div`,bi,[(y(!0),s(l,null,_(d.message.content,(e,t)=>(y(),s(`div`,{key:t},[e.type===`image_url`?(y(),s(`img`,{key:0,src:typeof e?.image_url==`string`?e.image_url:e.image_url?.url,fit:`cover`,class:`image`},null,8,xi)):o(``,!0),e.file_url?(y(),p(E,{key:1,name:e.name||(typeof e?.file_url==`string`?e.file_url:e.file_url?.url),percentage:0,closable:!1,class:`mt-2`},null,8,[`name`])):o(``,!0),e.type===`text`?(y(),s(`div`,Si,[d.message.role===`assistant`?(y(),p(T,{key:0,content:e.text,citations:d.message.citations},null,8,[`content`,`citations`])):(y(),s(`pre`,Ci,i(e.text?.trim()),1))])):o(``,!0),e.type===`tool_use`&&e.execution!==`browser`&&!(e.tool_name===`ask_user_question`&&(e.status===`awaiting_input`||e.status===`done`))&&!(e.tool_name===`request_user_consent`&&(e.status===`awaiting_input`||e.status===`done`))&&!(e.tool_name===`request_action_confirmation`&&(e.status===`awaiting_input`||e.status===`done`))?(y(),p(ee,{key:3,item:e},null,8,[`item`])):o(``,!0),e.type===`tool_use`&&e.execution===`browser`?(y(),p(D,{key:4,item:e,onStopSession:m[0]||=e=>d.$emit(`stopBrowserSession`,e),onRecovery:m[1]||=e=>d.$emit(`browserRecovery`,e)},null,8,[`item`])):o(``,!0),e.type===`tool_use`&&e.tool_name===`ask_user_question`&&e.status===`awaiting_input`&&e.pending_question?(y(),p(O,{key:5,"tool-use-id":e.tool_id||``,payload:e.pending_question,collapsed:!1,onSubmit:d.onAskUserQuestionSubmit,onSkip:d.onAskUserQuestionSkip},null,8,[`tool-use-id`,`payload`,`onSubmit`,`onSkip`])):o(``,!0),e.type===`tool_use`&&e.tool_name===`ask_user_question`&&e.status===`done`?(y(),p(O,{key:6,"tool-use-id":e.tool_id||``,payload:d.askUserQuestionPayloadFromBlock(e),collapsed:!0,"previous-output":e.output||``},null,8,[`tool-use-id`,`payload`,`previous-output`])):o(``,!0),e.type===`tool_use`&&e.tool_name===`request_user_consent`&&e.status===`awaiting_input`&&e.pending_consent_request?(y(),p(k,{key:7,"tool-use-id":e.tool_id||``,payload:e.pending_consent_request,resolved:!1,onSubmit:d.onConnectorConsentSubmit,onAuthorize:d.onConnectorConsentAuthorize},null,8,[`tool-use-id`,`payload`,`onSubmit`,`onAuthorize`])):o(``,!0),e.type===`tool_use`&&e.tool_name===`request_user_consent`&&e.status===`done`&&d.consentPayloadFromBlock(e)?(y(),p(k,{key:8,"tool-use-id":e.tool_id||``,payload:d.consentPayloadFromBlock(e),resolved:!0,"previous-output":e.output||``},null,8,[`tool-use-id`,`payload`,`previous-output`])):o(``,!0),e.type===`tool_use`&&e.tool_name===`request_action_confirmation`&&e.status===`awaiting_input`&&e.pending_action_confirmation?(y(),p(A,{key:9,payload:e.pending_action_confirmation,resolved:!1,onSubmit:t=>d.onActionConfirmationSubmit(e,t)},null,8,[`payload`,`onSubmit`])):o(``,!0),e.type===`tool_use`&&e.tool_name===`request_action_confirmation`&&e.status===`done`&&d.actionConfirmationPayloadFromBlock(e)?(y(),p(A,{key:10,payload:d.actionConfirmationPayloadFromBlock(e),resolved:!0,"previous-output":e.output||``},null,8,[`payload`,`previous-output`])):o(``,!0),e.type===`card`&&e.card?(y(),p(te,{key:11,card:e.card},null,8,[`card`])):o(``,!0)]))),128))])):(y(),s(`div`,vi,[d.message.role===`assistant`?(y(),p(T,{key:0,content:d.message?.content,citations:d.message.citations},null,8,[`content`,`citations`])):(y(),s(`pre`,yi,i(d.message.content),1))]))])),d.message.state===d.messageState.PENDING?(y(),p(M,{key:2})):o(``,!0)])),[[L]]),f((y(),s(`div`,Ei,[!d.readonly&&d.message.role===`user`&&!d.isEditing&&!Array.isArray(d.message.content)?(y(),p(N,{key:0,class:`btn-edit`,onClick:d.startEditing},null,8,[`onClick`])):o(``,!0),d.copyableText&&d.message.state!==d.messageState.PENDING&&d.message.state!==d.messageState.ANSWERING?(y(),p(re,{key:1,content:d.copyableText,class:`btn-copy`},null,8,[`content`])):o(``,!0),!d.readonly&&(d.message.state===d.messageState.FINISHED||d.message.state===d.messageState.FAILED)&&d.message.role===`assistant`&&d.message===d.messages[d.messages.length-1]?(y(),p(P,{key:2,class:`btn-restart`,messages:d.messages,onRestart:d.onRestart},null,8,[`messages`,`onRestart`])):o(``,!0),d.message.role===`assistant`&&d.message.state!==d.messageState.PENDING&&d.message.state!==d.messageState.ANSWERING?(y(),p(F,{key:3,class:`btn-report`,service:`chat`,snapshot:{answer:d.copyableText}},null,8,[`snapshot`])):o(``,!0)])),[[L]])]))],10,pi)}var ji=U(fi,[[`render`,Ai],[`__scopeId`,`data-v-26b0053d`]]);export{Ve as a,Ue as i,Bn as n,q as r,ji as t};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{t as h}from"./upload-_zFgS7Nh.js";import{t as g}from"./alert-BprQRUmf.js";import{v as _}from"./models-C4O1HNS0.js";import{t as v}from"./switch-BZMevA9h.js";import{t as y}from"./book-open-BBto52Hy.js";import{t as b}from"./check-C6haHp_5.js";import{t as x}from"./eye-DYfNRuif.js";import{t as S}from"./mic-DpkP8cNS.js";import{t as C}from"./rotate-ccw-IPNYOxzK.js";import{t as w}from"./shuffle-BPsWcYzJ.js";import{t as T}from"./square-DymQsvx_.js";import{t as E}from"./upload-Q8MqK29R.js";import{t as D}from"./volume-2-DE0tnLtn.js";import{t as O}from"./wand-sparkles-BFbcxwi3.js";import{t as ee}from"./vendor-axios-Ck2ffRoh.js";import"./constants-CdZEFH5x.js";import{$t as te,Ba as ne,Ma as k,O as A,Pn as j,ia as M,lt as N,pn as P,xa as F}from"./index-C-w8AJfV.js";import{t as I}from"./CopyToClipboard-B8YmxJt6.js";import{t as L}from"./BotPlaceholder-LUNR8KA6.js";import{t as R}from"./Hailuo-BkV2gEuB.js";import{t as z}from"./TabSwitcher-DFSRi_JU.js";var B=4,V=90,H=m({name:`FishRecorder`,components:{ConfirmIcon:b,DocsIcon:y,MicrophoneIcon:S,ShuffleIcon:w,StopIcon:T,UndoIcon:C,ElButton:k},emits:[`done`,`cancel`,`update:script`],data(){return{state:`idle`,scriptIndex:0,seconds:0,timerId:0,maxTimerId:0,mediaRecorder:null,stream:null,chunks:[],recordedBlob:null,recordedUrl:``,uploading:!1}},computed:{formattedTime(){let e=Math.floor(this.seconds/60),t=this.seconds%60;return`${e.toString().padStart(2,`0`)}:${t.toString().padStart(2,`0`)}`},currentScript(){let e=`fish.script.passage${this.scriptIndex%B+1}`;return this.$t(e)}},beforeUnmount(){this.cleanup()},mounted(){this.$emit(`update:script`,this.currentScript)},methods:{nextScript(){this.scriptIndex=(this.scriptIndex+1)%B,this.$emit(`update:script`,this.currentScript)},async startRecord(){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){_.error(this.$t(`fish.message.recorderUnsupported`));return}try{this.stream=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){let t=e?.name===`NotAllowedError`||e?.name===`PermissionDeniedError`;_.error(this.$t(t?`fish.message.micDenied`:`fish.message.micError`));return}this.chunks=[];let e=this.pickMimeType();try{this.mediaRecorder=e?new MediaRecorder(this.stream,{mimeType:e}):new MediaRecorder(this.stream)}catch{this.mediaRecorder=new MediaRecorder(this.stream)}this.mediaRecorder.ondataavailable=e=>{e.data&&e.data.size>0&&this.chunks.push(e.data)},this.mediaRecorder.onstop=()=>{let e=new Blob(this.chunks,{type:this.mediaRecorder?.mimeType||`audio/webm`});this.recordedBlob=e,this.recordedUrl=URL.createObjectURL(e),this.state=`recorded`,this.releaseStream()},this.mediaRecorder.start(),this.state=`recording`,this.seconds=0,this.timerId=window.setInterval(()=>{this.seconds++},1e3),this.maxTimerId=window.setTimeout(()=>{this.state===`recording`&&this.stopRecord()},V*1e3)},stopRecord(){this.mediaRecorder&&this.mediaRecorder.state!==`inactive`&&this.mediaRecorder.stop(),window.clearInterval(this.timerId),window.clearTimeout(this.maxTimerId)},reset(){this.recordedUrl&&URL.revokeObjectURL(this.recordedUrl),this.recordedUrl=``,this.recordedBlob=null,this.state=`idle`,this.seconds=0},onCancel(){this.cleanup(),this.$emit(`cancel`)},cleanup(){this.stopRecord(),this.releaseStream(),this.recordedUrl&&URL.revokeObjectURL(this.recordedUrl)},releaseStream(){this.stream?.getTracks().forEach(e=>e.stop()),this.stream=null},pickMimeType(){for(let e of[`audio/webm;codecs=opus`,`audio/webm`,`audio/mp4`,`audio/ogg`])if(typeof MediaRecorder<`u`&&MediaRecorder.isTypeSupported?.(e))return e},extensionForMime(e){return e.includes(`webm`)?`webm`:e.includes(`mp4`)?`m4a`:e.includes(`ogg`)?`ogg`:e.includes(`wav`)?`wav`:`mp3`},async useRecording(){if(this.recordedBlob){if(this.seconds<3){_.warning(this.$t(`fish.message.recordingTooShort`));return}this.uploading=!0;try{let e=this.$store.state.token?.access,t=this.extensionForMime(this.recordedBlob.type||``),n=new File([this.recordedBlob],`recording-${Date.now()}.${t}`,{type:this.recordedBlob.type||`audio/webm`}),r=new FormData;r.append(`file`,n);let{data:i}=await ee.post(`${M()}/api/v1/files/`,r,{headers:{Authorization:`Bearer ${e}`}}),a=i?.file_url;if(!a){_.error(this.$t(`fish.message.uploadError`));return}this.$emit(`done`,{url:a,text:this.currentScript})}catch(e){_.error(this.$t(`fish.message.uploadError`)),console.error(`recorder upload failed`,e)}finally{this.uploading=!1}}}}}),U={class:`recorder`},W={key:0,class:`script`},G={class:`script-header`},K={class:`label`},q={class:`script-text`},J={class:`controls`},Y={class:`status`},X={class:`hint`},Z={key:1,class:`preview`},re=[`src`],ie={class:`preview-actions`},ae={class:`footer`};function oe(t,c,f,m,h,g){let _=l(`docs-icon`),v=l(`shuffle-icon`),y=l(`el-button`),b=l(`microphone-icon`),x=l(`stop-icon`),S=l(`undo-icon`),C=l(`confirm-icon`);return p(),s(`div`,U,[t.state===`recorded`?o(``,!0):(p(),s(`div`,W,[e(`div`,G,[a(_,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`span`,K,i(t.$t(`fish.description.readScript`)),1),a(y,{link:``,size:`small`,class:`ml-auto`,disabled:t.state===`recording`,onClick:t.nextScript},{default:d(()=>[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`fish.button.nextScript`)),1)]),_:1},8,[`disabled`,`onClick`])]),e(`p`,q,i(t.currentScript),1)])),e(`div`,J,[t.state===`idle`?(p(),u(y,{key:0,type:`danger`,circle:``,size:`large`,title:t.$t(`fish.button.startRecord`),"aria-label":t.$t(`fish.button.startRecord`),onClick:t.startRecord},{default:d(()=>[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`title`,`aria-label`,`onClick`])):t.state===`recording`?(p(),u(y,{key:1,type:`warning`,circle:``,size:`large`,title:t.$t(`fish.button.stopRecord`),"aria-label":t.$t(`fish.button.stopRecord`),onClick:t.stopRecord},{default:d(()=>[a(x,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`title`,`aria-label`,`onClick`])):o(``,!0),e(`div`,Y,[e(`span`,{class:n([`timer`,t.state===`recording`?`live`:``])},i(t.formattedTime),3),e(`span`,X,i(t.state===`idle`?t.$t(`fish.description.recorderIdle`):t.state===`recording`?t.$t(`fish.description.recorderRecording`):t.$t(`fish.description.recorderRecorded`)),1)])]),t.state===`recorded`&&t.recordedUrl?(p(),s(`div`,Z,[e(`audio`,{src:t.recordedUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,re),e(`div`,ie,[a(y,{size:`small`,disabled:t.uploading,onClick:t.reset},{default:d(()=>[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`fish.button.reRecord`)),1)]),_:1},8,[`disabled`,`onClick`]),a(y,{size:`small`,type:`primary`,loading:t.uploading,onClick:t.useRecording},{default:d(()=>[a(C,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`fish.button.useRecording`)),1)]),_:1},8,[`loading`,`onClick`])])])):o(``,!0),e(`div`,ae,[a(y,{link:``,size:`small`,disabled:t.uploading||t.state===`recording`,onClick:t.onCancel},{default:d(()=>[r(i(t.$t(`fish.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var se=A(H,[[`render`,oe],[`__scopeId`,`data-v-40e201f8`]]),ce=50*1024*1024,Q=()=>({title:``,description:``,texts:``,voicesUrl:``,visibility:`private`,enhanceAudio:!0,generateSample:!1}),le=m({name:`FishModelConfigPanel`,components:{MagicIcon:O,MicrophoneIcon:S,UndoIcon:C,UploadIcon:E,ElButton:k,ElInput:ne,ElSwitch:v,ElUpload:h,Recorder:se},mixins:[te],emits:[`create`],data(){return{form:Q(),fileList:[],uploading:!1,creating:!1,recording:!1,textsAuto:!0}},computed:{uploadUrl(){return M()+`/api/v1/files/`},uploadHeaders(){return{Authorization:`Bearer ${this.$store.state.token?.access}`}},canCreate(){return!!this.form.title.trim()&&!!this.form.voicesUrl&&!this.uploading&&!this.creating},supportsRecorder(){return!!(typeof navigator<`u`?navigator.mediaDevices:void 0)?.getUserMedia&&typeof MediaRecorder<`u`}},methods:{onBeforeUpload(e){return e.size>ce?(_.warning(this.$t(`fish.message.audioSizeExceed`)),!1):(this.uploading=!0,!0)},onExceed(){_.warning(this.$t(`fish.message.audioOnlyOne`))},onUploadError(){this.uploading=!1,_.error(this.$t(`fish.message.uploadError`))},onUploadSuccess(e,t,n){this.uploading=!1;let r=e?.file_url;if(!r){_.error(this.$t(`fish.message.uploadError`)),this.fileList=[];return}this.form.voicesUrl=r,this.fileList=n},onRecorded(e){this.form.voicesUrl=e.url,this.recording=!1,e.text&&this.textsAuto&&(this.form.texts=e.text)},onStartRecord(){this.recording=!0,this.textsAuto=!this.form.texts.trim()},onScriptChange(e){this.textsAuto&&this.recording&&(this.form.texts=e)},onTextsInput(){this.textsAuto=!1},clearAudio(){this.form.voicesUrl=``,this.fileList=[]},async onCreate(){if(this.creating)return;let e=this.form.title.trim();if(!e){_.warning(this.$t(`fish.message.titleRequired`));return}if(!this.form.voicesUrl){_.warning(this.$t(`fish.message.audioRequired`));return}let t={title:e,voices:this.form.voicesUrl,visibility:this.form.visibility,train_mode:`fast`,enhance_audio_quality:this.form.enhanceAudio,generate_sample:this.form.generateSample};this.form.description.trim()&&(t.description=this.form.description.trim()),this.form.texts.trim()&&(t.texts=[this.form.texts.trim()]),this.creating=!0;try{await new Promise((e,n)=>{this.$emit(`create`,t,{resolve:e,reject:n})}),this.form=Q(),this.fileList=[]}catch{}finally{this.creating=!1}}}}),ue={class:`flex flex-col h-full`},de={class:`flex-1 overflow-y-auto p-5`},fe={class:`field-block mb-4`},pe={class:`title font-bold`},me={class:`field-block mb-4`},he={class:`flex items-baseline justify-between mb-1`},ge={class:`title font-bold`},_e={key:0,class:`muted`},ve={class:`hint`},ye={key:0,class:`audio-actions`},be={key:1,class:`hint warn`},xe={key:3,class:`mt-2`},Se=[`src`],Ce={class:`ready-actions`},we={class:`field-block mb-4`},Te={class:`title font-bold`},Ee={class:`hint`},De={class:`field-block mb-4`},Oe={class:`title font-bold`},ke={class:`field-block mb-3`},Ae={class:`field-row`},je={class:`title font-bold`},Me={class:`hint mt-0 mb-0`},Ne={class:`field-block mb-2`},Pe={class:`field-row`},Fe={class:`title font-bold`},Ie={class:`hint mt-0 mb-0`},Le={class:`flex flex-col items-center justify-center px-5 pb-5`};function Re(t,n,c,f,m,h){let g=l(`el-input`),_=l(`upload-icon`),v=l(`el-button`),y=l(`el-upload`),b=l(`microphone-icon`),x=l(`recorder`),S=l(`undo-icon`),C=l(`el-switch`),w=l(`magic-icon`);return p(),s(`div`,ue,[e(`div`,de,[e(`div`,fe,[e(`h2`,pe,[r(i(t.$t(`fish.name.voiceTitle`))+` `,1),n[7]||=e(`span`,{class:`required`},`*`,-1)]),a(g,{modelValue:t.form.title,"onUpdate:modelValue":n[0]||=e=>t.form.title=e,placeholder:t.$t(`fish.placeholder.voiceTitle`),maxlength:`60`},null,8,[`modelValue`,`placeholder`])]),e(`div`,me,[e(`div`,he,[e(`h2`,ge,[r(i(t.$t(`fish.name.referenceAudio`))+` `,1),n[8]||=e(`span`,{class:`required`},`*`,-1)]),!t.form.voicesUrl&&!t.recording?(p(),s(`span`,_e,i(t.$t(`fish.description.audioRequired`)),1)):o(``,!0)]),e(`p`,ve,i(t.$t(`fish.description.uploadAudio`)),1),!t.form.voicesUrl&&!t.recording?(p(),s(`div`,ye,[a(y,{"file-list":t.fileList,"onUpdate:fileList":n[1]||=e=>t.fileList=e,name:`file`,limit:1,class:`upload-wrapper`,action:t.uploadUrl,accept:`.mp3,.wav,.m4a,.ogg,.webm,audio/*`,"show-file-list":!1,"on-exceed":t.onExceed,"on-error":t.onUploadError,"on-success":t.onUploadSuccess,"before-upload":t.onBeforeUpload,headers:t.uploadHeaders},{default:d(()=>[a(v,{type:`primary`,plain:``,round:``,loading:t.uploading},{default:d(()=>[a(_,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`fish.button.uploadAudio`)),1)]),_:1},8,[`loading`])]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`before-upload`,`headers`]),a(v,{type:`primary`,round:``,disabled:!t.supportsRecorder,onClick:t.onStartRecord},{default:d(()=>[a(b,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`fish.button.recordAudio`)),1)]),_:1},8,[`disabled`,`onClick`])])):o(``,!0),!t.supportsRecorder&&!t.form.voicesUrl&&!t.recording?(p(),s(`p`,be,i(t.$t(`fish.message.recorderUnsupported`)),1)):o(``,!0),t.recording?(p(),u(x,{key:2,class:`mt-2`,onDone:t.onRecorded,onCancel:n[2]||=e=>t.recording=!1,"onUpdate:script":t.onScriptChange},null,8,[`onDone`,`onUpdate:script`])):o(``,!0),t.form.voicesUrl&&!t.recording?(p(),s(`div`,xe,[e(`audio`,{src:t.form.voicesUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,Se),e(`div`,Ce,[a(v,{link:``,size:`small`,onClick:t.clearAudio},{default:d(()=>[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`fish.button.replaceAudio`)),1)]),_:1},8,[`onClick`])])])):o(``,!0)]),e(`div`,we,[e(`h2`,Te,i(t.$t(`fish.name.audioTexts`)),1),e(`p`,Ee,i(t.$t(`fish.description.audioTexts`)),1),a(g,{modelValue:t.form.texts,"onUpdate:modelValue":n[3]||=e=>t.form.texts=e,type:`textarea`,rows:2,placeholder:t.$t(`fish.placeholder.audioTexts`),maxlength:`500`,onInput:t.onTextsInput},null,8,[`modelValue`,`placeholder`,`onInput`])]),e(`div`,De,[e(`h2`,Oe,i(t.$t(`fish.name.voiceDescription`)),1),a(g,{modelValue:t.form.description,"onUpdate:modelValue":n[4]||=e=>t.form.description=e,type:`textarea`,rows:2,placeholder:t.$t(`fish.placeholder.voiceDescription`),maxlength:`500`},null,8,[`modelValue`,`placeholder`])]),e(`div`,ke,[e(`div`,Ae,[e(`h2`,je,i(t.$t(`fish.name.enhanceAudio`)),1),a(C,{modelValue:t.form.enhanceAudio,"onUpdate:modelValue":n[5]||=e=>t.form.enhanceAudio=e},null,8,[`modelValue`])]),e(`p`,Me,i(t.$t(`fish.description.enhanceAudio`)),1)]),e(`div`,Ne,[e(`div`,Pe,[e(`h2`,Fe,i(t.$t(`fish.name.generateSample`)),1),a(C,{modelValue:t.form.generateSample,"onUpdate:modelValue":n[6]||=e=>t.form.generateSample=e},null,8,[`modelValue`])]),e(`p`,Ie,i(t.$t(`fish.description.generateSample`)),1)])]),e(`div`,Le,[a(v,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canCreate||t.creating,loading:t.creating,onClick:t.onCreate},{default:d(()=>[a(w,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`fish.button.createModel`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])])])}var ze=A(le,[[`render`,Re],[`__scopeId`,`data-v-c49fd2f7`]]),Be=m({name:`FishVoiceCard`,components:{MicrophoneIcon:S,ViewIcon:x,VolumeIcon:D,ElAlert:g,ElButton:k,ElImage:F,CopyToClipboard:I},props:{modelValue:{type:Object,required:!0}},computed:{sampleAudioUrl(){let e=this.modelValue?.samples;if(e?.length)return e[0]?.audio},voiceId(){let e=this.modelValue;return(e?.id||e?._id||e?.reference_id||``).toString()},coverSrc(){let e=this.modelValue?.cover_image;return e&&typeof e==`string`?e:void 0},createdAtLabel(){let e=this.modelValue?.created_at;if(e==null||e===``)return null;let t=typeof e==`number`?e:parseFloat(String(e));return!Number.isFinite(t)||t<=0?null:this.$dayjs.format(``+new Date(t*1e3))}},methods:{onUseVoice(){let e=this.voiceId;e&&(this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,reference_id:e}),this.$router.push({name:N}))}}}),Ve={class:`card`},He={class:`left`},Ue={class:`main`},We={class:`header`},Ge={class:`title`},Ke={key:0,class:`datetime`},qe={key:0,class:`description`},Je={key:1,class:`sample mt-2`},Ye=[`src`],Xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ze={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Qe={class:`operations mt-2`};function $e(n,c,f,m,h,g){let _=l(`el-image`),v=l(`microphone-icon`),y=l(`copy-to-clipboard`),b=l(`view-icon`),x=l(`el-alert`),S=l(`volume-icon`),C=l(`el-button`);return p(),s(`div`,Ve,[e(`div`,He,[n.coverSrc?(p(),u(_,{key:0,src:n.coverSrc,class:`cover`,fit:`cover`},{error:d(()=>[a(_,{src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`cover fallback`,fit:`cover`})]),placeholder:d(()=>[...c[0]||=[e(`div`,{class:`cover placeholder`},null,-1)]]),_:1},8,[`src`])):(p(),u(_,{key:1,src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`cover fallback`,fit:`cover`}))]),e(`div`,Ue,[e(`div`,We,[e(`span`,Ge,i(n.modelValue?.title||n.$t(`fish.name.untitledVoice`)),1),n.createdAtLabel?(p(),s(`span`,Ke,i(n.createdAtLabel),1)):o(``,!0)]),n.modelValue?.description?(p(),s(`p`,qe,i(n.modelValue?.description),1)):o(``,!0),n.sampleAudioUrl?(p(),s(`div`,Je,[e(`audio`,{src:n.sampleAudioUrl,controls:``,preload:`metadata`,class:`w-full`},null,8,Ye)])):o(``,!0),a(x,{closable:!1,class:`mt-2 success`},{default:d(()=>[n.voiceId?(p(),s(`p`,Xe,[a(v,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`fish.name.referenceId`))+`: `+i(n.voiceId)+` `,1),a(y,{content:n.voiceId},null,8,[`content`])])):o(``,!0),n.modelValue?.visibility?(p(),s(`p`,Ze,[a(b,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`fish.name.visibility`))+`: `+i(n.modelValue?.visibility),1)])):o(``,!0)]),_:1}),e(`div`,Qe,[a(C,{type:`primary`,size:`small`,plain:``,disabled:!n.voiceId,onClick:t(n.onUseVoice,[`stop`])},{default:d(()=>[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`fish.button.useVoice`)),1)]),_:1},8,[`disabled`,`onClick`])])])])}var et=m({name:`FishModelListPanel`,components:{MicrophoneIcon:S,VoiceCard:A(Be,[[`render`,$e],[`__scopeId`,`data-v-9c092ba3`]]),BotPlaceholder:L},props:{loading:{type:Boolean,default:!1}},computed:{voices(){return this.$store.state.fish?.voices}}}),tt={class:`model-list-panel flex flex-col h-full`},$={class:`header`},nt={class:`title`},rt={key:0,class:`count`},it={class:`body flex-1 min-h-0`},at={key:0,class:`h-full`},ot={key:1,class:`w-full h-full flex flex-col items-center justify-center text-center px-6`},st={class:`empty-title`},ct={class:`empty-hint`},lt={key:2,class:`w-full h-full overflow-y-auto pr-1`};function ut(t,n,r,d,m,h){let g=l(`bot-placeholder`),_=l(`microphone-icon`),v=l(`voice-card`);return p(),s(`div`,tt,[e(`header`,$,[e(`h2`,nt,i(t.$t(`fish.title.myVoices`)),1),t.voices?.length?(p(),s(`span`,rt,i(t.voices?.length),1)):o(``,!0)]),e(`div`,it,[t.voices===void 0?(p(),s(`div`,at,[a(g)])):t.voices.length===0?(p(),s(`div`,ot,[a(_,{class:`empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,st,i(t.$t(`fish.title.noVoicesYet`)),1),e(`p`,ct,i(t.$t(`fish.description.noVoicesYet`)),1)])):(p(),s(`div`,lt,[(p(!0),s(c,null,f(t.voices,e=>(p(),u(v,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]))])])}var dt=m({name:`FishModelIndex`,components:{ModelConfigPanel:ze,Layout:R,ModelListPanel:A(et,[[`render`,ut],[`__scopeId`,`data-v-8e360c85`]]),TabSwitcher:z},inject:[`initialized`],data(){return{loading:!1}},computed:{credential(){return this.$store.state.fish?.credential}},watch:{initialized:{async handler(e){e&&await this.onGetVoices()},immediate:!0}},async mounted(){await this.onGetService()},methods:{async onGetService(){await this.$store.dispatch(`fish/getService`)},async onGetVoices(){await this.$store.dispatch(`fish/getVoices`)},async onCreate(e,t){if(!P()){t.reject();return}let n=this.credential?.token;if(!n){console.error(`no token specified`),_.error(this.$t(`fish.message.createModelFailed`)),t.reject();return}this.loading=!0,_.info(this.$t(`fish.message.creatingModel`));try{await j.createModel(e,{token:n}),_.success(this.$t(`fish.message.createModelSuccess`)),await this.onGetVoices(),t.resolve()}catch(e){let n=e?.response?.data;n?.error?.code===`used_up`?_.error(this.$t(`fish.message.usedUp`)):_.error(n?.error?.message||this.$t(`fish.message.createModelFailed`)),t.reject(e)}finally{this.loading=!1}}}}),ft={class:`flex flex-col h-full`},pt={class:`flex-1 min-h-0`};function mt(t,n,r,i,o,s){let c=l(`tab-switcher`),f=l(`model-config-panel`),m=l(`model-list-panel`),h=l(`layout`);return p(),u(h,null,{config:d(()=>[e(`div`,ft,[a(c),e(`div`,pt,[a(f,{onCreate:t.onCreate},null,8,[`onCreate`])])])]),result:d(()=>[a(m,{loading:t.loading},null,8,[`loading`])]),_:1})}var ht=A(dt,[[`render`,mt]]);export{ht as default};