@acedatacloud/nexior 3.289.4 → 3.290.1

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 (157) hide show
  1. package/dist/assets/{ApiCodeButton-CKegFgiT.js → ApiCodeButton-BYFv9J36.js} +1 -1
  2. package/dist/assets/{AskUserQuestionCard-cuIv6K33.js → AskUserQuestionCard-CYn-pupa.js} +1 -1
  3. package/dist/assets/{Auth-BhfIcI4T.js → Auth-CXLdqvmX.js} +1 -1
  4. package/dist/assets/{Bare-Bvah1GiV.js → Bare-ePeOY4Uq.js} +1 -1
  5. package/dist/assets/{BotPlaceholder-NtHxC6P3.js → BotPlaceholder-CmH3cMjK.js} +1 -1
  6. package/dist/assets/{BottomFooter-cUTRk7VC.js → BottomFooter-WiNavV1c.js} +1 -1
  7. package/dist/assets/{Callback-CiUUK5tq.js → Callback-CaYv5FnW.js} +1 -1
  8. package/dist/assets/{CodeSnippet-Bj40_a1y.js → CodeSnippet-PvSlAaHn.js} +1 -1
  9. package/dist/assets/{Console-3eM3G9Rd.js → Console-BI8gaTJi.js} +1 -1
  10. package/dist/assets/{Consumption-BbL_KgZ5.js → Consumption-CxSHHy7X.js} +1 -1
  11. package/dist/assets/{Conversation-B8Dsz_c7.js → Conversation-CcLQrZcM.js} +1 -1
  12. package/dist/assets/{CopyToClipboard-BzpnSsAk.js → CopyToClipboard-Ci3PAX9S.js} +1 -1
  13. package/dist/assets/{Detail-DbsbXhfU.js → Detail-DD2xLfv5.js} +2 -2
  14. package/dist/assets/{Extra-Bkn7g78F.js → Extra-D0DUl90m.js} +1 -1
  15. package/dist/assets/{FilePreview-BxmWR1SI.js → FilePreview-CavKOTVf.js} +1 -1
  16. package/dist/assets/{Hailuo-BED8y1ml.js → Hailuo-BxSxhzxL.js} +1 -1
  17. package/dist/assets/{History-C01VOYP5.js → History-6CRbOoae.js} +1 -1
  18. package/dist/assets/{ImagePreview-DFHmjadL.js → ImagePreview-C8mLExgL.js} +1 -1
  19. package/dist/assets/{ImageWrapper-BQfQr_vF.js → ImageWrapper-DyTXcSX9.js} +1 -1
  20. package/dist/assets/{Index-CaUvnoF1.js → Index-09BqiWlO.js} +1 -1
  21. package/dist/assets/{Index-DLZhAsqd.js → Index-BNdICMNk.js} +1 -1
  22. package/dist/assets/{Index-Bz2wJiXm.js → Index-BeOQwpmB.js} +1 -1
  23. package/dist/assets/{Index-AFSv7Aee.js → Index-BlRKxgVD.js} +1 -1
  24. package/dist/assets/{Index-C4zeBrBp.js → Index-Bp3Sg87W.js} +1 -1
  25. package/dist/assets/{Index-DQ3oqtxc.js → Index-CE8g1SJd.js} +1 -1
  26. package/dist/assets/{Index-g4OoXCwt.js → Index-CLhopZVj.js} +1 -1
  27. package/dist/assets/{Index-BGL48uVF.js → Index-CNizgdr1.js} +1 -1
  28. package/dist/assets/{Index-B286_Ad_.js → Index-CQwkeUgO.js} +1 -1
  29. package/dist/assets/{Index-fBp1xSAS.js → Index-CZKdyR8u.js} +1 -1
  30. package/dist/assets/{Index-CSafNM9p.js → Index-CdcYnwDJ.js} +1 -1
  31. package/dist/assets/{Index-Dcds3wmi.js → Index-CiPO1XSr.js} +1 -1
  32. package/dist/assets/{Index-D-eDF53L.js → Index-CkG7aQed.js} +1 -1
  33. package/dist/assets/{Index-BrdEcA1S.js → Index-Cp_Rmzdq.js} +1 -1
  34. package/dist/assets/{Index-gr-eBuSf.js → Index-Cty_Czfc.js} +1 -1
  35. package/dist/assets/{Index-BhosAgRm.js → Index-CxSXxiFz.js} +1 -1
  36. package/dist/assets/{Index-CJuB1rQc.js → Index-D0ue2VDv.js} +1 -1
  37. package/dist/assets/{Index-BnCAiHZk.js → Index-D3Cf1EMO.js} +1 -1
  38. package/dist/assets/{Index-JKFo56PB.js → Index-D4sx7T0k.js} +1 -1
  39. package/dist/assets/Index-DCCL5tgA.css +1 -0
  40. package/dist/assets/{Index-CLQp7OwZ.js → Index-DDXuD9Di.js} +1 -1
  41. package/dist/assets/{Index-BQdjDvsS.js → Index-DEvf1W_Q.js} +1 -1
  42. package/dist/assets/{Index-BtwpsTKd.js → Index-DF4fDGDy.js} +1 -1
  43. package/dist/assets/{Index-5qcbf8JC.js → Index-DOSq9MR8.js} +1 -1
  44. package/dist/assets/{Index-Ds0a-kpt.js → Index-DXvUUdfN.js} +1 -1
  45. package/dist/assets/{Index-BMCxVhay.js → Index-Dh3p71HD.js} +1 -1
  46. package/dist/assets/{Index-aXU8V2su.js → Index-DrSOKTkQ.js} +1 -1
  47. package/dist/assets/{Index-Dtdh9N8X.js → Index-DzSFLImh.js} +1 -1
  48. package/dist/assets/{Index-CtrHbzVR.js → Index-eZUOUHHz.js} +1 -1
  49. package/dist/assets/{InfoIcon-8kSvhP3Y.js → InfoIcon-DoYJGO5O.js} +1 -1
  50. package/dist/assets/{Invitees-CAKf-Fmq.js → Invitees-Cvb8L9qQ.js} +1 -1
  51. package/dist/assets/{List-BpbCdQwn.js → List-BAnsmjLD.js} +1 -1
  52. package/dist/assets/{List-DAehmhE1.js → List-CB2yZ2qS.js} +1 -1
  53. package/dist/assets/{List-CgEXDEdf.js → List-DKWpfQni.js} +1 -1
  54. package/dist/assets/{Main-CCUW9umt.js → Main-DyC8lH_7.js} +1 -1
  55. package/dist/assets/{Model-DPp66yP0.js → Model-DlyD1fnh.js} +1 -1
  56. package/dist/assets/{Navigator-D07GwS2_.js → Navigator-Cxy4jxKK.js} +1 -1
  57. package/dist/assets/{NoTasks-DMTqKms5.js → NoTasks-ZCnSGRox.js} +1 -1
  58. package/dist/assets/{NotFound-BRe6nw25.js → NotFound-GwBqDEFG.js} +1 -1
  59. package/dist/assets/{Pagination-rdR_oR-a.js → Pagination-DLzvpCSw.js} +1 -1
  60. package/dist/assets/{Pay-d_TfxQWP.js → Pay-DP2_uxpU.js} +1 -1
  61. package/dist/assets/{Player-DaGEH1D3.js → Player-D2gkxMLs.js} +1 -1
  62. package/dist/assets/{PromptTextarea-DW6mJHr0.js → PromptTextarea-CBWo2qjW.js} +1 -1
  63. package/dist/assets/{RealtimeCall-B47P-pNd.js → RealtimeCall-B361E5Mj.js} +1 -1
  64. package/dist/assets/ScheduledTasks-BL15cYyu.css +1 -0
  65. package/dist/assets/ScheduledTasks-CbTvmVU3.js +2 -0
  66. package/dist/assets/{Status-Bp9U8vTp.js → Status-BVZTeUgF.js} +1 -1
  67. package/dist/assets/{Subscribe-NnYil_We.js → Subscribe-AeuP7fsD.js} +1 -1
  68. package/dist/assets/{TabSwitcher-BWGS56Ap.js → TabSwitcher-BWE8uy38.js} +1 -1
  69. package/dist/assets/{Tts-DXsk-A5H.js → Tts-BWuHzTS-.js} +1 -1
  70. package/dist/assets/{VideoPlayer-B0cs5ycA.js → VideoPlayer-eenoxUFo.js} +1 -1
  71. package/dist/assets/{avatar-D92iqtJR.js → avatar-BcHBKHoi.js} +1 -1
  72. package/dist/assets/{basic-BVzlryUQ.js → basic-BIaClJ3Y.js} +1 -1
  73. package/dist/assets/{chat-BRicGTJT.js → chat-B6mECrfA.js} +1 -1
  74. package/dist/assets/{chat-Bso6jVnB.js → chat-BrF0JQ3C.js} +1 -1
  75. package/dist/assets/{chat-T2sW_DNn.js → chat-BuVrQOXj.js} +1 -1
  76. package/dist/assets/{chat-Cja8ZujH.js → chat-CR1XT7Vl.js} +1 -1
  77. package/dist/assets/{chat-CXwfx87w.js → chat-C_8kbaZb.js} +1 -1
  78. package/dist/assets/{chat-B9pkX5hl.js → chat-CmajyeRC.js} +1 -1
  79. package/dist/assets/{chat-JTku71DL.js → chat-Crs7Teeq.js} +1 -1
  80. package/dist/assets/{chat-DBXjTCta.js → chat-D2UIKIBx.js} +1 -1
  81. package/dist/assets/{chat-C7orWMsZ.js → chat-D3fh-TVd.js} +1 -1
  82. package/dist/assets/{chat-DVLcIDrM.js → chat-D4nAiRSS.js} +1 -1
  83. package/dist/assets/{chat-Bfl8tNQe.js → chat-D7bJoAIY.js} +1 -1
  84. package/dist/assets/{chat-CBucq_Mi.js → chat-DOQQC2vZ.js} +1 -1
  85. package/dist/assets/{chat-wXbWPtAn.js → chat-DbYg0WyW.js} +1 -1
  86. package/dist/assets/{chat-CjXv27l_.js → chat-DqKPf3fN.js} +1 -1
  87. package/dist/assets/{chat-CFYwgXxg.js → chat-DsRRYW0L.js} +1 -1
  88. package/dist/assets/{chat-kBCyl4pf.js → chat-ED_-CfAX.js} +1 -1
  89. package/dist/assets/{chat-CUL_GKt2.js → chat-NM3MPr4q.js} +1 -1
  90. package/dist/assets/{chat-DbcZAzWO.js → chat-NU8trdbU.js} +1 -1
  91. package/dist/assets/{chat-CvvWclVD.js → chat-Y8o9wkNT.js} +1 -1
  92. package/dist/assets/{codingBridge-DSj9oZfy.js → codingBridge-ZOZlkgvj.js} +1 -1
  93. package/dist/assets/{codingBridgeNotify-ZHbkOwZw.js → codingBridgeNotify-C0ahAqoY.js} +2 -2
  94. package/dist/assets/{collapse-BUmaj8wl.js → collapse-BwkaHoLx.js} +1 -1
  95. package/dist/assets/{constants-DQgjIP2J.js → constants-CzpENjyw.js} +1 -1
  96. package/dist/assets/{createTaskActions-yYyoEq9H.js → createTaskActions-ZqaYnHQz.js} +1 -1
  97. package/dist/assets/{date-picker-Djxzowsx.js → date-picker-BPK8PEB3.js} +1 -1
  98. package/dist/assets/{digitalhuman-DJ19vXUJ.js → digitalhuman-BM2KoGMW.js} +1 -1
  99. package/dist/assets/{dropdown-BV-hojzm.js → dropdown-BdjriKr4.js} +1 -1
  100. package/dist/assets/esm-BkEf2hNe.js +1 -0
  101. package/dist/assets/{esm-BZKffwt4.js → esm-CLtAGrCT.js} +1 -1
  102. package/dist/assets/{esm-BL58kVCH.js → esm-D2M8JfY1.js} +3 -3
  103. package/dist/assets/{esm-CFWRaLv3.js → esm-D7p_mBYH.js} +2 -2
  104. package/dist/assets/{esm-Ck3Ysqye.js → esm-DGA23DEI.js} +1 -1
  105. package/dist/assets/{esm-BMmL0k1K.js → esm-DM2XCI3i.js} +1 -1
  106. package/dist/assets/{esm-C9pC-t53.js → esm-frGYNBql.js} +2 -2
  107. package/dist/assets/{fish-BtOrrPOW.js → fish-DGy2CegU.js} +1 -1
  108. package/dist/assets/{flux-TlzLRIa-.js → flux-B43po8mG.js} +1 -1
  109. package/dist/assets/{grokvideo-bLT55M-N.js → grokvideo-B_wi1-ea.js} +1 -1
  110. package/dist/assets/{hailuo-CLT3CwCX.js → hailuo-BSADlzli.js} +1 -1
  111. package/dist/assets/{headshots-B30bejlO.js → headshots-CqvE1NVR.js} +1 -1
  112. package/dist/assets/{image-DCSn_Z2R.js → image-3LCD0BiB.js} +1 -1
  113. package/dist/assets/{index-cECZXQLF.js → index-dPpCEGCN.js} +4 -4
  114. package/dist/assets/{index.browser.esm-SVA6CYqe.js → index.browser.esm-C_1Rr8mq.js} +1 -1
  115. package/dist/assets/{index.es-B25gjst-.js → index.es-BdfyClHc.js} +1 -1
  116. package/dist/assets/{input-number-D0EyjjMW.js → input-number-BIQgMdjd.js} +1 -1
  117. package/dist/assets/{kling-BEDIFGDm.js → kling-DZ9fUx39.js} +1 -1
  118. package/dist/assets/{luma-CmOoi9ML.js → luma-Chv99A80.js} +1 -1
  119. package/dist/assets/{maestro-By1c7uLt.js → maestro-C-u6Saqp.js} +1 -1
  120. package/dist/assets/{midjourney-55SEJbvQ.js → midjourney-KWyyYEU-.js} +1 -1
  121. package/dist/assets/{nanobanana-DIKNGlu3.js → nanobanana-C2h-0OWB.js} +1 -1
  122. package/dist/assets/{openaiimage-BrkNbEyf.js → openaiimage-BG2RxcgZ.js} +1 -1
  123. package/dist/assets/{pagination-D_81JXYH.js → pagination-DdjcwveZ.js} +1 -1
  124. package/dist/assets/{sora-DRdxyUv9.js → pika-COhEAMGo.js} +1 -1
  125. package/dist/assets/{pixverse-kO0D4xaK.js → pixverse-DkQ-6gL-.js} +1 -1
  126. package/dist/assets/{popover-Bkcm8Xds.js → popover-C3OEcGrN.js} +1 -1
  127. package/dist/assets/{producer-Cx9bVBGF.js → producer-CLebHrd9.js} +1 -1
  128. package/dist/assets/{qrart-DI0NEWTm.js → qrart-ZwrgdA5c.js} +1 -1
  129. package/dist/assets/{realtime-B--73AYX.js → realtime-Ckvu8nqP.js} +1 -1
  130. package/dist/assets/{row-BivCQFau.js → row-b--_kxnq.js} +1 -1
  131. package/dist/assets/{seedance-CynKQJhd.js → seedance-BgLgHBwO.js} +1 -1
  132. package/dist/assets/{seedream-D4-Pns4C.js → seedream-BD3N_GP-.js} +1 -1
  133. package/dist/assets/{select-C_MuXSP3.js → select-Brj9peyC.js} +1 -1
  134. package/dist/assets/{serp-ByPCvMfB.js → serp-DWz1l7Fg.js} +1 -1
  135. package/dist/assets/{slider-CbgjSlr9.js → slider-IINxTGVs.js} +1 -1
  136. package/dist/assets/{solana-wallets-CmUoEtVV.js → solana-wallets-Be7FuV6n.js} +2 -2
  137. package/dist/assets/{solana-wallets-vue-Bafv9Hpg.js → solana-wallets-vue-Du9ToZ2X.js} +1 -1
  138. package/dist/assets/{pika-DDk-Y4lV.js → sora-C9KOw5Ky.js} +1 -1
  139. package/dist/assets/{suno-D6iaFo8Z.js → suno-BR6mQt_f.js} +1 -1
  140. package/dist/assets/{switch-x0jLgjzo.js → switch-Bo4gm2BR.js} +1 -1
  141. package/dist/assets/{tabs-BmG9wvwg.js → tabs-CwCes_sO.js} +1 -1
  142. package/dist/assets/{time-picker-B8DRO-8k.js → time-picker-F3UpIi7h.js} +1 -1
  143. package/dist/assets/{upload-CwEIZpfb.js → upload-BPTbcu7u.js} +1 -1
  144. package/dist/assets/{veo-CuEDuhk4.js → veo-CxspUs_8.js} +1 -1
  145. package/dist/assets/{wan-D_HCBf1Z.js → wan-Du-9ubZd.js} +1 -1
  146. package/dist/assets/{web-BiN-UM_F.js → web-BlRbR3o3.js} +1 -1
  147. package/dist/assets/{web-BtgmeOUk.js → web-BwUNgNxh.js} +1 -1
  148. package/dist/assets/{web-olmn6rbh.js → web-ByyKE0yj.js} +1 -1
  149. package/dist/assets/{web-DUjxttao.js → web-CQ4wgKM6.js} +1 -1
  150. package/dist/assets/{web-Dls3sZ8l.js → web-Y5fj0477.js} +1 -1
  151. package/dist/assets/{webextrator-BNT5OpvW.js → webextrator-DDO40wC8.js} +1 -1
  152. package/dist/index.html +2 -2
  153. package/package.json +1 -1
  154. package/dist/assets/Index-BfXvF7hw.css +0 -1
  155. package/dist/assets/ScheduledTasks-C-NAy4Hj.css +0 -1
  156. package/dist/assets/ScheduledTasks-D4Y7jOZi.js +0 -2
  157. package/dist/assets/esm-DKuNqdeL.js +0 -1
@@ -1 +1 @@
1
- var e={"thinking.inProgress":{message:`Думаю...`,description:`Метка, отображаемая во время генерации процесса вывода модели`},"thinking.done":{message:`Процесс мышления`,description:`Метка для сворачивания отображения процесса вывода после завершения модели`},"button.thinkDeeper":{message:`Глубже`,description:`Кнопка для глубокого размышления`},"button.deepsearch":{message:`Глубокий поиск`,description:`Кнопка для глубокого поиска`},"button.search":{message:`Поиск`,description:`Кнопка для поиска`},"button.edit":{message:`Редактировать сообщение`,description:`Редактировать отправленное сообщение`},"modelGroup.chatgpt":{message:`ChatGPT`,description:`Название модели сервиса, то есть GPT`},"modelGroup.chatgptDescription":{message:`AI модель, разработанная компанией OpenAI`,description:`Описание модели ChatGPT`},"modelGroup.deepseek":{message:`DeepSeek`,description:`Название модели сервиса, то есть DeepSeek`},"modelGroup.deepseekDescription":{message:`AI модель, разработанная компанией DeepSeek`,description:`Описание модели DeepSeek`},"modelGroup.grok":{message:`Grok`,description:`Название модели сервиса, то есть Grok`},"modelGroup.grokDescription":{message:`AI модель, разработанная компанией xAI`,description:`Описание модели Grok3`},"modelGroup.gemini":{message:`Gemini`,description:`Название модели сервиса, то есть Gemini`},"modelGroup.geminiDescription":{message:`AI модель, разработанная компанией Google`,description:`Описание группы моделей Gemini`},"modelGroup.claude":{message:`Claude`,description:`Название модели сервиса, то есть Claude`},"modelGroup.claudeDescription":{message:`AI модель, разработанная компанией Anthropic`,description:`Описание группы моделей Claude`},"modelGroup.kimi":{message:`Kimi`,description:`Название модели сервиса, то есть Kimi`},"modelGroup.kimiDescription":{message:`AI модель, разработанная компанией Dark Side of the Moon`,description:`Описание группы моделей Kimi`},"modelGroup.glm":{message:`GLM`,description:`Название модели сервиса, то есть GLM`},"modelGroup.glmDescription":{message:`Большая языковая модель, разработанная Zhiyu AI`,description:`Описание группы моделей GLM`},"model.55":{message:`gpt-5.5`,description:`Название модели сервиса, то есть GPT 5.5`},"model.55Description":{message:`Флагманская модель последнего поколения GPT 5.5`,description:`Описание модели GPT 5.5`},"model.54":{message:`gpt-5.4`,description:`Название модели сервиса, то есть GPT 5.4`},"model.54Description":{message:`Флагманская модель последнего поколения GPT 5.4`,description:`Описание модели GPT 5.4`},"model.54Mini":{message:`gpt-5.4-mini`,description:`Название модели сервиса, то есть GPT 5.4 Mini`},"model.54MiniDescription":{message:`Более быстрая и легкая модель GPT 5.4`,description:`Описание модели GPT 5.4 Mini`},"model.freeTag":{message:`Бесплатно`,description:`Значок, отображаемый рядом с бесплатными моделями в селекторе моделей`},"model.deepseekChat":{message:`3.0`,description:`Название модели сервиса, то есть DeepSeek Chat`},"model.deepseekChatDescription":{message:`Подходит для повседневных задач`,description:`Описание модели DeepSeek Chat`},"model.deepseekReasoner":{message:`R1`,description:`Название модели сервиса, то есть DeepSeek Reasoner`},"model.deepseekReasonerDescription":{message:`Подходит для вывода и глубоких размышлений`,description:`Описание модели DeepSeek Reasoner`},"model.deepseekChat32":{message:`3.2`,description:`Название модели сервиса, то есть DeepSeek V3.2 Exp`},"model.deepseekChat32Description":{message:`Последняя экспериментальная версия`,description:`Описание экспериментальной модели DeepSeek V3.2`},"model.deepseekV4Flash":{message:`4.0`,description:`Название модели сервиса, то есть DeepSeek V4 Flash`},"model.deepseekV4FlashDescription":{message:`Флагманская модель последнего поколения, 1M контекст`,description:`Описание модели DeepSeek V4 Flash`},"model.grok4":{message:`grok-4`,description:`Название модели сервиса, то есть Grok 4`},"model.grok4Description":{message:`На данный момент самая продвинутая модель`,description:`Описание модели Grok 4`},"model.grok3":{message:`grok-3`,description:`Название модели сервиса`},"model.grok3Description":{message:`Подходит для большинства задач`,description:`Описание модели Grok3`},"model.gemini30Pro":{message:`gemini-3.0-pro`,description:`Название модели сервиса, то есть Gemini 3.0 Pro`},"model.gemini30ProDescription":{message:`На данный момент самая продвинутая модель`,description:`Описание модели Gemini 3.0 Pro`},"model.gemini31Pro":{message:`gemini-3.1-pro`,description:`Название модели сервиса, то есть Gemini 3.0 Pro`},"model.gemini31ProDescription":{message:`На данный момент самая продвинутая модель`,description:`Описание модели Gemini 3.0 Pro`},"model.gemini25Pro":{message:`gemini-2.5-pro`,description:`Название модели сервиса, то есть Gemini 2.5 Pro`},"model.gemini25ProDescription":{message:`Подходит для сложных задач вывода`,description:`Описание модели Gemini 2.5 Pro`},"model.gemini25Flash":{message:`gemini-2.5-flash`,description:`Название модели сервиса, то есть Gemini 2.5 Flash`},"model.gemini25FlashDescription":{message:`Более быстрая и легкая модель`,description:`Описание модели Gemini 2.5 Flash`},"model.gemini35Flash":{message:`gemini-3.5-flash`,description:`Название модели сервиса, то есть Gemini 2.5 Flash`},"model.gemini35FlashDescription":{message:`Более быстрая и легкая модель`,description:`Описание модели Gemini 2.5 Flash`},"model.claudeOpus48":{message:`claude-opus-4.8`,description:`Название модели сервиса, то есть Claude Opus 4.8`},"model.claudeOpus48Description":{message:`Самая современная модель`,description:`Описание модели Claude Opus 4.8`},"model.claudeSonnet46":{message:`claude-sonnet-4.6`,description:`Название модели сервиса, то есть Claude Sonnet 4.6`},"model.claudeSonnet46Description":{message:`Подходит для большинства задач`,description:`Описание модели Claude Sonnet 4.6`},"model.claudeHaiku45":{message:`claude-haiku-4.5`,description:`Название модели сервиса, то есть Claude Haiku 4.5`},"model.claudeHaiku45Description":{message:`Легкая и быстрая модель`,description:`Описание модели Claude Haiku 4.5`},"model.kimiK25":{message:`kimi-k2.5`,description:`Название модели сервиса, то есть Kimi K2.5`},"model.kimiK25Description":{message:`Наиболее продвинутая модель на данный момент`,description:`Описание модели Kimi K2.5`},"model.kimiK2Thinking":{message:`kimi-k2 Инференс`,description:`Название модели сервиса, то есть Kimi K2 Инференс`},"model.kimiK2ThinkingDescription":{message:`Подходит для размышлений и глубокого анализа`,description:`Описание модели Kimi K2 Инференс`},"model.kimiK2ThinkingTurbo":{message:`kimi-k2 Турбо Инференс`,description:`Название модели сервиса, то есть Kimi K2 Турбо Инференс`},"model.kimiK2ThinkingTurboDescription":{message:`Более быстрая модель для инференса`,description:`Описание модели Kimi K2 Турбо Инференс`},"model.glm51":{message:`glm-5.1`,description:`Название модели сервиса, то есть GLM 5.1`},"model.glm51Description":{message:`Последняя флагманская модель Zhiyu`,description:`Описание модели GLM 5.1`},"model.glm47":{message:`glm-4.7`,description:`Название модели сервиса, то есть GLM 4.7`},"model.glm47Description":{message:`Сбалансированная производительность и стоимость`,description:`Описание модели GLM 4.7`},"message.startNewChat":{message:`Начать новый чат`,description:`Сообщение на веб-странице, информирующее пользователя о начале нового чата`},"message.uploadFile":{message:`Загрузить файл`,description:`Сообщение на веб-странице, информирующее пользователя о загрузке файла`},"message.noToken":{message:`Сначала получите соответствующий сервис`,description:`Сообщение на веб-странице, информирующее пользователя о необходимости получить соответствующий сервис`},"message.newMessagePlaceholder":{message:`Введите ваш вопрос...`,description:`Заполнитель на веб-странице, информирующий пользователя о необходимости ввести вопрос`},"message.noInput":{message:`Вопрос не может быть пустым`,description:`Сообщение на веб-странице, информирующее пользователя о том, что вопрос не может быть пустым`},"message.uploadReferencesExceed":{message:`Можно загрузить не более 1 файла`,description:`Сообщение на веб-странице, информирующее пользователя о том, что можно загрузить не более 1 файла`},"message.uploadReferencesError":{message:`Ошибка загрузки файла, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что загрузка файла не удалась, попробуйте позже`},"message.notApplied":{message:`Вы еще не подали заявку на этот сервис, пожалуйста, подайте заявку`,description:`Сообщение на веб-странице, информирующее пользователя о том, что он еще не подал заявку на этот сервис`},"message.tryForFree":{message:`Попробовать бесплатно`,description:`Сообщение на веб-странице, информирующее пользователя о возможности бесплатной пробной версии`},"message.question1":{message:`Создать тренировочный план`,description:`Пример вопроса для начала чата, требующий от пользователя написать код на JavaScript, выводящий Hello World`},"message.question2":{message:`Создать личный веб-сайт`,description:`Пример вопроса для начала чата, требующий от пользователя написать электронное письмо Майку, сообщив ему, что он только что переехал`},"message.question3":{message:`Разработать интересные программные игры`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить основные принципы квантовых вычислений простым языком`},"message.question4":{message:`Почувствовать Сеул как местный`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить, как виртуальная реальность влияет на художественное творчество`},"message.question5":{message:`Что больше, 9.8 или 9.11?`,description:`Пример вопроса для начала чата, требующий сравнения двух чисел`},"message.question6":{message:`Как ИИ повлияет на будущее?`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить, как ИИ повлияет на будущее`},"message.question7":{message:`Как повысить эффективность обучения?`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить, как повысить свою эффективность обучения`},"message.question8":{message:`Как улучшить концентрацию?`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить, как улучшить свою концентрацию`},"message.errorApiError":{message:`Ошибка ответа, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что произошла ошибка ответа, попробуйте позже`},"message.errorBadRequest":{message:`Некорректный запрос, пожалуйста, задайте вопрос заново`,description:`Сообщение на веб-странице, информирующее пользователя о том, что запрос некорректен, пожалуйста, задайте вопрос заново`},"message.errorNoConversation":{message:`Чат не существует или истек, пожалуйста, начните новый чат`,description:`Сообщение на веб-странице, информирующее пользователя о том, что чат не существует или истек, пожалуйста, начните новый чат`},"message.errorContentTooLarge":{message:`Слишком длинный вопрос, пожалуйста, сократите и попробуйте снова`,description:`Сообщение на веб-странице, информирующее пользователя о том, что вопрос слишком длинный, пожалуйста, сократите и попробуйте снова`},"message.errorTooManyRequests":{message:`Слишком много запросов, пожалуйста, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что его действия слишком частые, и предлагает попробовать позже`},"message.errorBusy":{message:`Сервер занят, пожалуйста, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что сервер занят, пожалуйста, попробуйте позже`},"message.errorUsedUp":{message:`Вы исчерпали количество доступных запросов, пожалуйста, купите больше для продолжения использования`,description:`Сообщение на веб-странице, информирующее пользователя о том, что он исчерпал количество доступных запросов, пожалуйста, купите больше для продолжения использования`},"message.errorUnknown":{message:`Произошла неизвестная ошибка сервера, пожалуйста, попробуйте позже или свяжитесь с поддержкой`,description:`Сообщение на веб-странице, информирующее пользователя о том, что произошла неизвестная ошибка сервера, пожалуйста, попробуйте позже или свяжитесь с поддержкой`},"message.errorTimeout":{message:`Время ожидания ответа истекло, пожалуйста, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что время ожидания ответа истекло, пожалуйста, попробуйте позже`},"message.errorNotApplied":{message:`Вы еще не подали заявку на эту услугу, пожалуйста, подайте заявку перед тем, как продолжить`,description:`Сообщение на веб-странице, информирующее пользователя о том, что он еще не подал заявку на эту услугу, пожалуйста, подайте заявку перед тем, как продолжить`},"message.confirmDelete":{message:`Подтвердить удаление`,description:`Сообщение на веб-странице, информирующее пользователя о необходимости подтвердить удаление`},"message.howToUse":{message:`AI может ошибаться, пожалуйста, проверьте важную информацию.`,description:`Сообщение на веб-странице, информирующее пользователя о том, что AI может ошибаться, пожалуйста, проверьте важную информацию`},"title.chat":{message:`AI Чат`,description:`Заголовок веб-страницы, то есть AI Чат`},"title.example":{message:`Пример`,description:`Заголовок веб-страницы, то есть Пример`},"title.capabilities":{message:`Возможности`,description:`Заголовок веб-страницы, то есть Возможности`},"title.limitations":{message:`Ограничения`,description:`Заголовок на веб-странице, указывающий, что этот раздел касается технических ограничений сервиса`},"title.complexQuestion":{message:`Ответы на сложные вопросы`,description:`Заголовок на веб-странице, указывающий, что этот раздел касается способности сервиса отвечать на сложные вопросы`},"title.professionalQuestion":{message:`Консультации по профессиональным вопросам`,description:`Заголовок на веб-странице, указывающий, что этот раздел касается способности сервиса консультировать по профессиональным вопросам`},"title.getTips":{message:`Получение вдохновения и идей`,description:`Заголовок на веб-странице, указывающий, что этот раздел касается способности сервиса получать вдохновение и идеи`},"group.today":{message:`Сегодня`,description:`Название группы на веб-странице, то есть Сегодня`},"group.yesterday":{message:`Вчера`,description:`Название группы на веб-странице, то есть Вчера`},"group.thisWeek":{message:`На этой неделе`,description:`Название группы на веб-странице, то есть На этой неделе`},"group.earlier":{message:`Ранее`,description:`Название группы на веб-странице, то есть Ранее`},"connections.tooltip":{message:`Управление подключениями`,description:`Подсказка для кнопки перехода на страницу управления подключениями auth.acedata.cloud`},"skill.tooltip":{message:`Управление навыками`,description:`Подсказка для кнопки перехода на страницу управления навыками auth.acedata.cloud`},"composer.addAction":{message:`Добавить контент`,description:`Подсказка для кнопки с плюсом под полем ввода, после раскрытия можно загрузить файл, открыть управление навыками или подключениями`},"composer.addFiles":{message:`Добавить фото или файл`,description:`Элемент в выпадающем меню кнопки с плюсом: загрузить изображение или файл`},"composer.skills":{message:`Навыки`,description:`Элемент в выпадающем меню кнопки с плюсом: открыть управление навыками`},"composer.connections":{message:`Подключения`,description:`Элемент в выпадающем меню кнопки с плюсом: открыть управление подключениями`},"agent.title":{message:`Десктопный агент`,description:`Заголовок диалогового окна управления агентом`},"agent.tooltip":{message:`Десктопный агент`,description:`Подсказка для кнопки агента`},"agent.connected":{message:`Подключено`,description:`Статус подключения агента`},"agent.notConnected":{message:`Не подключено`,description:`Статус отсутствия подключения агента`},"agent.description":{message:`Подключите десктопный агент для доступа к локальным файлам, выполнения команд и использования локального сервера MCP в AI диалоге.`,description:`Описание агента`},"agent.name":{message:`Имя агента`,description:`Метка для имени агента`},"agent.tools":{message:`Доступные инструменты`,description:`Метка для количества инструментов агента`},"agent.connectedSince":{message:`Время подключения`,description:`Метка для времени подключения агента`},"agent.connectedHint":{message:`Ваш десктопный агент подключен и готов к использованию.`,description:`Подсказка о подключении агента`},"agent.installLabel":{message:`Установите настольный агент:`,description:`Метка инструкции по установке`},"agent.runLabel":{message:`Запуск агента:`,description:`Метка для описания запуска`},"askUserQuestion.submit":{message:`Отправить`,description:`Кнопка отправки последнего вопроса в мастере ask-user-question`},"askUserQuestion.next":{message:`Следующий вопрос`,description:`Переход к следующему вопросу в мастере ask-user-question`},"askUserQuestion.back":{message:`Предыдущий вопрос`,description:`Возврат к предыдущему вопросу в мастере ask-user-question`},"askUserQuestion.skipAll":{message:`Пропустить все`,description:`Пропустить весь мастер ask-user-question, чтобы модель продолжила без ответов`},"askUserQuestion.other":{message:`Другое`,description:`Псевдо-опция; при выборе открывается поле для ввода пользовательского текста`},"askUserQuestion.otherDesc":{message:`Введите ваш ответ`,description:`Вспомогательное описание под опцией 'Другое'`},"askUserQuestion.placeholder":{message:`Введите ответ…`,description:`Заполнитель для поля ввода пользовательского ответа на каждый вопрос`},"askUserQuestion.multiSelectHint":{message:`Можно выбрать один или несколько вариантов`,description:`Подсказка, отображаемая при поддержке множественного выбора`},"askUserQuestion.collapsedAnswerLabel":{message:`Ваш ответ`,description:`Заполнитель, когда конкретный ответ не может быть извлечен из истории`},"consent.title":{message:`Требуется авторизация коннектора`,description:`Заголовок карточки авторизации коннектора`},"consent.matchAny":{message:`Достаточно выбрать один`,description:`Метка: достаточно авторизовать любой коннектор из этой группы`},"consent.matchAll":{message:`Требуется авторизация всех`,description:`Метка: все коннекторы в этой группе требуют авторизации`},"consent.authorize":{message:`Авторизовать`,description:`Кнопка авторизации, при нажатии открывается страница авторизации стороннего сервиса`},"consent.skip":{message:`Пропустить`,description:`Кнопка пропуска авторизации, после нажатия модель продолжит работу без этого коннектора`},"consent.continue":{message:`Продолжить`,description:`Кнопка «Продолжить», появляется после возврата OAuth, когда обнаружено, что коннектор подключён; нажатие отправляет авторизацию.`},"consent.selectScopes":{message:`Выберите разрешения {provider}`,description:`Title of the scope picker dialog opened from the consent card; {provider} is the upstream provider name (e.g. Gmail).`},"consent.selectScopesHint":{message:`Выберите разрешения, которые вы хотите предоставить. Можно выбрать несколько, по умолчанию предоставляются только основные данные для входа.`,description:`Body copy explaining that the user can opt out of specific scopes; rendered above the checkbox group.`},"consent.installFailed":{message:`Авторизация не удалась. Пожалуйста, попробуйте снова.`,description:`Toast shown when the AuthBackend install endpoint returns an error from the consent card.`},"consent.statusConnected":{message:`Подключено`,description:`Индикатор статуса для подключенного коннектора`},"consent.statusUnconnected":{message:`Не подключено`,description:`Индикатор статуса для не подключенного коннектора (показывается, если нет ссылки на авторизацию)`},"consent.resolvedAuthorized":{message:`Авторизовано: {list}`,description:`Нижняя подпись карточки после завершения авторизации пользователем, {list} — список авторизованных коннекторов`},"consent.resolvedSkipped":{message:`Авторизация коннектора пропущена`,description:`Нижняя подпись карточки после того, как пользователь пропустил авторизацию`},"scheduledTasks.navTitle":{message:`Scheduled Tasks`},"scheduledTasks.title":{message:`Scheduled Tasks`},"scheduledTasks.create":{message:`New`},"scheduledTasks.edit":{message:`Edit Task`},"scheduledTasks.empty":{message:`No scheduled tasks yet. Click "New" to create one.`},"scheduledTasks.noRuns":{message:`No runs yet`},"scheduledTasks.loadError":{message:`Failed to load`},"scheduledTasks.deleteConfirm":{message:`Delete "{name}"? The task will stop running.`},"scheduledTasks.viewResult":{message:`View Result`},"scheduledTasks.noConversation":{message:`Нет записей о разговоре`,description:`Запуск без связанных разговоров (версия старого типа)`},"scheduledTasks.jitterHint":{message:`±60s jitter`},"scheduledTasks.runCount":{message:`Ran {count} time(s)`},"scheduledTasks.state.enabled":{message:`Active`},"scheduledTasks.state.disabled":{message:`Paused`},"scheduledTasks.state.error":{message:`Error`},"scheduledTasks.run.queued":{message:`Queued`},"scheduledTasks.run.running":{message:`Running`},"scheduledTasks.run.success":{message:`Success`},"scheduledTasks.run.failed":{message:`Failed`},"scheduledTasks.run.needs_user_input":{message:`Needs action`},"scheduledTasks.scheduleType.daily":{message:`Daily`},"scheduledTasks.scheduleType.hourly":{message:`Hourly`},"scheduledTasks.scheduleType.weekly":{message:`Weekly`},"scheduledTasks.scheduleType.cron":{message:`Cron expression`},"scheduledTasks.form.name":{message:`Task name`},"scheduledTasks.form.namePlaceholder":{message:`e.g. Daily news summary`},"scheduledTasks.form.model":{message:`Model`},"scheduledTasks.form.prompt":{message:`Prompt`},"scheduledTasks.form.promptPlaceholder":{message:`Enter your scheduled question or instruction. Supports {'{{date}}'}, {'{{run_count}}'}, {'{{last_output}}'} variables.`},"scheduledTasks.form.promptHint":{message:`Variables: {'{{date}}'} today, {'{{run_count}}'} run number, {'{{last_output}}'} last output snippet`},"scheduledTasks.form.schedule":{message:`Frequency`},"scheduledTasks.form.time":{message:`Time`},"scheduledTasks.form.weekday":{message:`Weekday`},"scheduledTasks.form.cron":{message:`Cron expression`},"scheduledTasks.form.required":{message:`Please fill in task name and prompt`},"model.claudeOpus47":{message:`claude-opus-4.7`,description:`Название модели сервиса, то есть Claude Opus 4.7`},"model.claudeOpus47Description":{message:`На данный момент самая продвинутая модель`,description:`Описание модели Claude Opus 4.7`}};export{e as default};
1
+ var e={"thinking.inProgress":{message:`Думаю...`,description:`Метка, отображаемая во время генерации процесса вывода модели`},"thinking.done":{message:`Процесс мышления`,description:`Метка для сворачивания отображения процесса вывода после завершения модели`},"button.thinkDeeper":{message:`Глубже`,description:`Кнопка для глубокого размышления`},"button.deepsearch":{message:`Глубокий поиск`,description:`Кнопка для глубокого поиска`},"button.search":{message:`Поиск`,description:`Кнопка для поиска`},"button.edit":{message:`Редактировать сообщение`,description:`Редактировать отправленное сообщение`},"modelGroup.chatgpt":{message:`ChatGPT`,description:`Название модели сервиса, то есть GPT`},"modelGroup.chatgptDescription":{message:`AI модель, разработанная компанией OpenAI`,description:`Описание модели ChatGPT`},"modelGroup.deepseek":{message:`DeepSeek`,description:`Название модели сервиса, то есть DeepSeek`},"modelGroup.deepseekDescription":{message:`AI модель, разработанная компанией DeepSeek`,description:`Описание модели DeepSeek`},"modelGroup.grok":{message:`Grok`,description:`Название модели сервиса, то есть Grok`},"modelGroup.grokDescription":{message:`AI модель, разработанная компанией xAI`,description:`Описание модели Grok3`},"modelGroup.gemini":{message:`Gemini`,description:`Название модели сервиса, то есть Gemini`},"modelGroup.geminiDescription":{message:`AI модель, разработанная компанией Google`,description:`Описание группы моделей Gemini`},"modelGroup.claude":{message:`Claude`,description:`Название модели сервиса, то есть Claude`},"modelGroup.claudeDescription":{message:`AI модель, разработанная компанией Anthropic`,description:`Описание группы моделей Claude`},"modelGroup.kimi":{message:`Kimi`,description:`Название модели сервиса, то есть Kimi`},"modelGroup.kimiDescription":{message:`AI модель, разработанная компанией Dark Side of the Moon`,description:`Описание группы моделей Kimi`},"modelGroup.glm":{message:`GLM`,description:`Название модели сервиса, то есть GLM`},"modelGroup.glmDescription":{message:`Большая языковая модель, разработанная Zhiyu AI`,description:`Описание группы моделей GLM`},"model.55":{message:`gpt-5.5`,description:`Название модели сервиса, то есть GPT 5.5`},"model.55Description":{message:`Флагманская модель последнего поколения GPT 5.5`,description:`Описание модели GPT 5.5`},"model.54":{message:`gpt-5.4`,description:`Название модели сервиса, то есть GPT 5.4`},"model.54Description":{message:`Флагманская модель последнего поколения GPT 5.4`,description:`Описание модели GPT 5.4`},"model.54Mini":{message:`gpt-5.4-mini`,description:`Название модели сервиса, то есть GPT 5.4 Mini`},"model.54MiniDescription":{message:`Более быстрая и легкая модель GPT 5.4`,description:`Описание модели GPT 5.4 Mini`},"model.freeTag":{message:`Бесплатно`,description:`Значок, отображаемый рядом с бесплатными моделями в селекторе моделей`},"model.deepseekChat":{message:`3.0`,description:`Название модели сервиса, то есть DeepSeek Chat`},"model.deepseekChatDescription":{message:`Подходит для повседневных задач`,description:`Описание модели DeepSeek Chat`},"model.deepseekReasoner":{message:`R1`,description:`Название модели сервиса, то есть DeepSeek Reasoner`},"model.deepseekReasonerDescription":{message:`Подходит для вывода и глубоких размышлений`,description:`Описание модели DeepSeek Reasoner`},"model.deepseekChat32":{message:`3.2`,description:`Название модели сервиса, то есть DeepSeek V3.2 Exp`},"model.deepseekChat32Description":{message:`Последняя экспериментальная версия`,description:`Описание экспериментальной модели DeepSeek V3.2`},"model.deepseekV4Flash":{message:`4.0`,description:`Название модели сервиса, то есть DeepSeek V4 Flash`},"model.deepseekV4FlashDescription":{message:`Флагманская модель последнего поколения, 1M контекст`,description:`Описание модели DeepSeek V4 Flash`},"model.grok4":{message:`grok-4`,description:`Название модели сервиса, то есть Grok 4`},"model.grok4Description":{message:`На данный момент самая продвинутая модель`,description:`Описание модели Grok 4`},"model.grok3":{message:`grok-3`,description:`Название модели сервиса`},"model.grok3Description":{message:`Подходит для большинства задач`,description:`Описание модели Grok3`},"model.gemini30Pro":{message:`gemini-3.0-pro`,description:`Название модели сервиса, то есть Gemini 3.0 Pro`},"model.gemini30ProDescription":{message:`На данный момент самая продвинутая модель`,description:`Описание модели Gemini 3.0 Pro`},"model.gemini31Pro":{message:`gemini-3.1-pro`,description:`Название модели сервиса, то есть Gemini 3.0 Pro`},"model.gemini31ProDescription":{message:`На данный момент самая продвинутая модель`,description:`Описание модели Gemini 3.0 Pro`},"model.gemini25Pro":{message:`gemini-2.5-pro`,description:`Название модели сервиса, то есть Gemini 2.5 Pro`},"model.gemini25ProDescription":{message:`Подходит для сложных задач вывода`,description:`Описание модели Gemini 2.5 Pro`},"model.gemini25Flash":{message:`gemini-2.5-flash`,description:`Название модели сервиса, то есть Gemini 2.5 Flash`},"model.gemini25FlashDescription":{message:`Более быстрая и легкая модель`,description:`Описание модели Gemini 2.5 Flash`},"model.gemini35Flash":{message:`gemini-3.5-flash`,description:`Название модели сервиса, то есть Gemini 2.5 Flash`},"model.gemini35FlashDescription":{message:`Более быстрая и легкая модель`,description:`Описание модели Gemini 2.5 Flash`},"model.claudeOpus48":{message:`claude-opus-4.8`,description:`Название модели сервиса, то есть Claude Opus 4.8`},"model.claudeOpus48Description":{message:`Самая современная модель`,description:`Описание модели Claude Opus 4.8`},"model.claudeSonnet46":{message:`claude-sonnet-4.6`,description:`Название модели сервиса, то есть Claude Sonnet 4.6`},"model.claudeSonnet46Description":{message:`Подходит для большинства задач`,description:`Описание модели Claude Sonnet 4.6`},"model.claudeHaiku45":{message:`claude-haiku-4.5`,description:`Название модели сервиса, то есть Claude Haiku 4.5`},"model.claudeHaiku45Description":{message:`Легкая и быстрая модель`,description:`Описание модели Claude Haiku 4.5`},"model.kimiK25":{message:`kimi-k2.5`,description:`Название модели сервиса, то есть Kimi K2.5`},"model.kimiK25Description":{message:`Наиболее продвинутая модель на данный момент`,description:`Описание модели Kimi K2.5`},"model.kimiK2Thinking":{message:`kimi-k2 Инференс`,description:`Название модели сервиса, то есть Kimi K2 Инференс`},"model.kimiK2ThinkingDescription":{message:`Подходит для размышлений и глубокого анализа`,description:`Описание модели Kimi K2 Инференс`},"model.kimiK2ThinkingTurbo":{message:`kimi-k2 Турбо Инференс`,description:`Название модели сервиса, то есть Kimi K2 Турбо Инференс`},"model.kimiK2ThinkingTurboDescription":{message:`Более быстрая модель для инференса`,description:`Описание модели Kimi K2 Турбо Инференс`},"model.glm51":{message:`glm-5.1`,description:`Название модели сервиса, то есть GLM 5.1`},"model.glm51Description":{message:`Последняя флагманская модель Zhiyu`,description:`Описание модели GLM 5.1`},"model.glm47":{message:`glm-4.7`,description:`Название модели сервиса, то есть GLM 4.7`},"model.glm47Description":{message:`Сбалансированная производительность и стоимость`,description:`Описание модели GLM 4.7`},"message.startNewChat":{message:`Начать новый чат`,description:`Сообщение на веб-странице, информирующее пользователя о начале нового чата`},"message.uploadFile":{message:`Загрузить файл`,description:`Сообщение на веб-странице, информирующее пользователя о загрузке файла`},"message.noToken":{message:`Сначала получите соответствующий сервис`,description:`Сообщение на веб-странице, информирующее пользователя о необходимости получить соответствующий сервис`},"message.newMessagePlaceholder":{message:`Введите ваш вопрос...`,description:`Заполнитель на веб-странице, информирующий пользователя о необходимости ввести вопрос`},"message.noInput":{message:`Вопрос не может быть пустым`,description:`Сообщение на веб-странице, информирующее пользователя о том, что вопрос не может быть пустым`},"message.uploadReferencesExceed":{message:`Можно загрузить не более 1 файла`,description:`Сообщение на веб-странице, информирующее пользователя о том, что можно загрузить не более 1 файла`},"message.uploadReferencesError":{message:`Ошибка загрузки файла, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что загрузка файла не удалась, попробуйте позже`},"message.notApplied":{message:`Вы еще не подали заявку на этот сервис, пожалуйста, подайте заявку`,description:`Сообщение на веб-странице, информирующее пользователя о том, что он еще не подал заявку на этот сервис`},"message.tryForFree":{message:`Попробовать бесплатно`,description:`Сообщение на веб-странице, информирующее пользователя о возможности бесплатной пробной версии`},"message.question1":{message:`Создать тренировочный план`,description:`Пример вопроса для начала чата, требующий от пользователя написать код на JavaScript, выводящий Hello World`},"message.question2":{message:`Создать личный веб-сайт`,description:`Пример вопроса для начала чата, требующий от пользователя написать электронное письмо Майку, сообщив ему, что он только что переехал`},"message.question3":{message:`Разработать интересные программные игры`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить основные принципы квантовых вычислений простым языком`},"message.question4":{message:`Почувствовать Сеул как местный`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить, как виртуальная реальность влияет на художественное творчество`},"message.question5":{message:`Что больше, 9.8 или 9.11?`,description:`Пример вопроса для начала чата, требующий сравнения двух чисел`},"message.question6":{message:`Как ИИ повлияет на будущее?`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить, как ИИ повлияет на будущее`},"message.question7":{message:`Как повысить эффективность обучения?`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить, как повысить свою эффективность обучения`},"message.question8":{message:`Как улучшить концентрацию?`,description:`Пример вопроса для начала чата, требующий от пользователя объяснить, как улучшить свою концентрацию`},"message.errorApiError":{message:`Ошибка ответа, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что произошла ошибка ответа, попробуйте позже`},"message.errorBadRequest":{message:`Некорректный запрос, пожалуйста, задайте вопрос заново`,description:`Сообщение на веб-странице, информирующее пользователя о том, что запрос некорректен, пожалуйста, задайте вопрос заново`},"message.errorNoConversation":{message:`Чат не существует или истек, пожалуйста, начните новый чат`,description:`Сообщение на веб-странице, информирующее пользователя о том, что чат не существует или истек, пожалуйста, начните новый чат`},"message.errorContentTooLarge":{message:`Слишком длинный вопрос, пожалуйста, сократите и попробуйте снова`,description:`Сообщение на веб-странице, информирующее пользователя о том, что вопрос слишком длинный, пожалуйста, сократите и попробуйте снова`},"message.errorTooManyRequests":{message:`Слишком много запросов, пожалуйста, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что его действия слишком частые, и предлагает попробовать позже`},"message.errorBusy":{message:`Сервер занят, пожалуйста, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что сервер занят, пожалуйста, попробуйте позже`},"message.errorUsedUp":{message:`Вы исчерпали количество доступных запросов, пожалуйста, купите больше для продолжения использования`,description:`Сообщение на веб-странице, информирующее пользователя о том, что он исчерпал количество доступных запросов, пожалуйста, купите больше для продолжения использования`},"message.errorUnknown":{message:`Произошла неизвестная ошибка сервера, пожалуйста, попробуйте позже или свяжитесь с поддержкой`,description:`Сообщение на веб-странице, информирующее пользователя о том, что произошла неизвестная ошибка сервера, пожалуйста, попробуйте позже или свяжитесь с поддержкой`},"message.errorTimeout":{message:`Время ожидания ответа истекло, пожалуйста, попробуйте позже`,description:`Сообщение на веб-странице, информирующее пользователя о том, что время ожидания ответа истекло, пожалуйста, попробуйте позже`},"message.errorNotApplied":{message:`Вы еще не подали заявку на эту услугу, пожалуйста, подайте заявку перед тем, как продолжить`,description:`Сообщение на веб-странице, информирующее пользователя о том, что он еще не подал заявку на эту услугу, пожалуйста, подайте заявку перед тем, как продолжить`},"message.confirmDelete":{message:`Подтвердить удаление`,description:`Сообщение на веб-странице, информирующее пользователя о необходимости подтвердить удаление`},"message.howToUse":{message:`AI может ошибаться, пожалуйста, проверьте важную информацию.`,description:`Сообщение на веб-странице, информирующее пользователя о том, что AI может ошибаться, пожалуйста, проверьте важную информацию`},"title.chat":{message:`AI Чат`,description:`Заголовок веб-страницы, то есть AI Чат`},"title.example":{message:`Пример`,description:`Заголовок веб-страницы, то есть Пример`},"title.capabilities":{message:`Возможности`,description:`Заголовок веб-страницы, то есть Возможности`},"title.limitations":{message:`Ограничения`,description:`Заголовок на веб-странице, указывающий, что этот раздел касается технических ограничений сервиса`},"title.complexQuestion":{message:`Ответы на сложные вопросы`,description:`Заголовок на веб-странице, указывающий, что этот раздел касается способности сервиса отвечать на сложные вопросы`},"title.professionalQuestion":{message:`Консультации по профессиональным вопросам`,description:`Заголовок на веб-странице, указывающий, что этот раздел касается способности сервиса консультировать по профессиональным вопросам`},"title.getTips":{message:`Получение вдохновения и идей`,description:`Заголовок на веб-странице, указывающий, что этот раздел касается способности сервиса получать вдохновение и идеи`},"group.today":{message:`Сегодня`,description:`Название группы на веб-странице, то есть Сегодня`},"group.yesterday":{message:`Вчера`,description:`Название группы на веб-странице, то есть Вчера`},"group.thisWeek":{message:`На этой неделе`,description:`Название группы на веб-странице, то есть На этой неделе`},"group.earlier":{message:`Ранее`,description:`Название группы на веб-странице, то есть Ранее`},"connections.tooltip":{message:`Управление подключениями`,description:`Подсказка для кнопки перехода на страницу управления подключениями auth.acedata.cloud`},"skill.tooltip":{message:`Управление навыками`,description:`Подсказка для кнопки перехода на страницу управления навыками auth.acedata.cloud`},"composer.addAction":{message:`Добавить контент`,description:`Подсказка для кнопки с плюсом под полем ввода, после раскрытия можно загрузить файл, открыть управление навыками или подключениями`},"composer.addFiles":{message:`Добавить фото или файл`,description:`Элемент в выпадающем меню кнопки с плюсом: загрузить изображение или файл`},"composer.skills":{message:`Навыки`,description:`Элемент в выпадающем меню кнопки с плюсом: открыть управление навыками`},"composer.connections":{message:`Подключения`,description:`Элемент в выпадающем меню кнопки с плюсом: открыть управление подключениями`},"agent.title":{message:`Десктопный агент`,description:`Заголовок диалогового окна управления агентом`},"agent.tooltip":{message:`Десктопный агент`,description:`Подсказка для кнопки агента`},"agent.connected":{message:`Подключено`,description:`Статус подключения агента`},"agent.notConnected":{message:`Не подключено`,description:`Статус отсутствия подключения агента`},"agent.description":{message:`Подключите десктопный агент для доступа к локальным файлам, выполнения команд и использования локального сервера MCP в AI диалоге.`,description:`Описание агента`},"agent.name":{message:`Имя агента`,description:`Метка для имени агента`},"agent.tools":{message:`Доступные инструменты`,description:`Метка для количества инструментов агента`},"agent.connectedSince":{message:`Время подключения`,description:`Метка для времени подключения агента`},"agent.connectedHint":{message:`Ваш десктопный агент подключен и готов к использованию.`,description:`Подсказка о подключении агента`},"agent.installLabel":{message:`Установите настольный агент:`,description:`Метка инструкции по установке`},"agent.runLabel":{message:`Запуск агента:`,description:`Метка для описания запуска`},"askUserQuestion.submit":{message:`Отправить`,description:`Кнопка отправки последнего вопроса в мастере ask-user-question`},"askUserQuestion.next":{message:`Следующий вопрос`,description:`Переход к следующему вопросу в мастере ask-user-question`},"askUserQuestion.back":{message:`Предыдущий вопрос`,description:`Возврат к предыдущему вопросу в мастере ask-user-question`},"askUserQuestion.skipAll":{message:`Пропустить все`,description:`Пропустить весь мастер ask-user-question, чтобы модель продолжила без ответов`},"askUserQuestion.other":{message:`Другое`,description:`Псевдо-опция; при выборе открывается поле для ввода пользовательского текста`},"askUserQuestion.otherDesc":{message:`Введите ваш ответ`,description:`Вспомогательное описание под опцией 'Другое'`},"askUserQuestion.placeholder":{message:`Введите ответ…`,description:`Заполнитель для поля ввода пользовательского ответа на каждый вопрос`},"askUserQuestion.multiSelectHint":{message:`Можно выбрать один или несколько вариантов`,description:`Подсказка, отображаемая при поддержке множественного выбора`},"askUserQuestion.collapsedAnswerLabel":{message:`Ваш ответ`,description:`Заполнитель, когда конкретный ответ не может быть извлечен из истории`},"consent.title":{message:`Требуется авторизация коннектора`,description:`Заголовок карточки авторизации коннектора`},"consent.matchAny":{message:`Достаточно выбрать один`,description:`Метка: достаточно авторизовать любой коннектор из этой группы`},"consent.matchAll":{message:`Требуется авторизация всех`,description:`Метка: все коннекторы в этой группе требуют авторизации`},"consent.authorize":{message:`Авторизовать`,description:`Кнопка авторизации, при нажатии открывается страница авторизации стороннего сервиса`},"consent.skip":{message:`Пропустить`,description:`Кнопка пропуска авторизации, после нажатия модель продолжит работу без этого коннектора`},"consent.continue":{message:`Продолжить`,description:`Кнопка «Продолжить», появляется после возврата OAuth, когда обнаружено, что коннектор подключён; нажатие отправляет авторизацию.`},"consent.selectScopes":{message:`Выберите разрешения {provider}`,description:`Title of the scope picker dialog opened from the consent card; {provider} is the upstream provider name (e.g. Gmail).`},"consent.selectScopesHint":{message:`Выберите разрешения, которые вы хотите предоставить. Можно выбрать несколько, по умолчанию предоставляются только основные данные для входа.`,description:`Body copy explaining that the user can opt out of specific scopes; rendered above the checkbox group.`},"consent.installFailed":{message:`Авторизация не удалась. Пожалуйста, попробуйте снова.`,description:`Toast shown when the AuthBackend install endpoint returns an error from the consent card.`},"consent.statusConnected":{message:`Подключено`,description:`Индикатор статуса для подключенного коннектора`},"consent.statusUnconnected":{message:`Не подключено`,description:`Индикатор статуса для не подключенного коннектора (показывается, если нет ссылки на авторизацию)`},"consent.resolvedAuthorized":{message:`Авторизовано: {list}`,description:`Нижняя подпись карточки после завершения авторизации пользователем, {list} — список авторизованных коннекторов`},"consent.resolvedSkipped":{message:`Авторизация коннектора пропущена`,description:`Нижняя подпись карточки после того, как пользователь пропустил авторизацию`},"scheduledTasks.navTitle":{message:`Scheduled Tasks`},"scheduledTasks.title":{message:`Scheduled Tasks`},"scheduledTasks.create":{message:`New`},"scheduledTasks.edit":{message:`Edit Task`},"scheduledTasks.empty":{message:`No scheduled tasks yet. Click "New" to create one.`},"scheduledTasks.noRuns":{message:`No runs yet`},"scheduledTasks.loadError":{message:`Failed to load`},"scheduledTasks.deleteConfirm":{message:`Delete "{name}"? The task will stop running.`},"scheduledTasks.viewResult":{message:`View Result`},"scheduledTasks.noConversation":{message:`Нет записей о разговоре`,description:`Запуск без связанных разговоров (версия старого типа)`},"scheduledTasks.jitterHint":{message:`±60s jitter`},"scheduledTasks.runCount":{message:`Ran {count} time(s)`},"scheduledTasks.state.enabled":{message:`Active`},"scheduledTasks.state.disabled":{message:`Paused`},"scheduledTasks.state.error":{message:`Error`},"scheduledTasks.run.queued":{message:`Queued`},"scheduledTasks.run.running":{message:`Running`},"scheduledTasks.run.success":{message:`Success`},"scheduledTasks.run.failed":{message:`Failed`},"scheduledTasks.run.needs_user_input":{message:`Needs action`},"scheduledTasks.scheduleType.daily":{message:`Daily`},"scheduledTasks.scheduleType.minutely":{message:`Каждую минуту`},"scheduledTasks.scheduleType.hourly":{message:`Hourly`},"scheduledTasks.scheduleType.weekly":{message:`Weekly`},"scheduledTasks.scheduleType.cron":{message:`Cron expression`},"scheduledTasks.form.name":{message:`Task name`},"scheduledTasks.form.namePlaceholder":{message:`e.g. Daily news summary`},"scheduledTasks.form.model":{message:`Model`},"scheduledTasks.form.prompt":{message:`Prompt`},"scheduledTasks.form.promptPlaceholder":{message:`Enter your scheduled question or instruction. Supports {'{{date}}'}, {'{{run_count}}'}, {'{{last_output}}'} variables.`},"scheduledTasks.form.promptHint":{message:`Variables: {'{{date}}'} today, {'{{run_count}}'} run number, {'{{last_output}}'} last output snippet`},"scheduledTasks.form.schedule":{message:`Frequency`},"scheduledTasks.form.time":{message:`Time`},"scheduledTasks.form.weekday":{message:`Weekday`},"scheduledTasks.form.cron":{message:`Cron expression`},"scheduledTasks.form.required":{message:`Please fill in task name and prompt`},"model.claudeOpus47":{message:`claude-opus-4.7`,description:`Название модели сервиса, то есть Claude Opus 4.7`},"model.claudeOpus47Description":{message:`На данный момент самая продвинутая модель`,description:`Описание модели Claude Opus 4.7`}};export{e as default};
@@ -1,2 +1,2 @@
1
- import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,V as g,Xi as _,_ as v,a as y,b,c as x,d as S,f as C,g as w,h as ee,i as te,j as ne,k as re,l as ie,m as ae,n as oe,o as T,p as E,r as D,s as O,t as k,u as A,v as j,w as M,x as N,y as P,z as F}from"./constants-DQgjIP2J.js";import{Ar as I,Ir as L,Kn as R,Rr as z,Zt as B}from"./index-cECZXQLF.js";import{a as se,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-ZHbkOwZw.js";var G=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,K=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},q=(e,t)=>{if(!K())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},ce=class{ws;token;handlers;reconnectDelay=o;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${_}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=o,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let n;try{n=JSON.parse(e.data)}catch{return}let r=n?.payload??{};switch(q(`recv`,n),n?.type){case t:this.handlers.onEvent?.(r,n?.from_node);break;case p:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case F:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case w:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,g)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:G(),ts:Date.now(),type:e,...t};q(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(ee,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(E,{})}resume(e){this.sendEnvelope(ae,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},J,Y=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,X=(e,t,n)=>({id:Y(),session_id:e,kind:t,ts:Date.now(),...n}),Z=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},le=e=>{let t=Z(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,V as g,Xi as _,_ as v,a as y,b,c as x,d as S,f as C,g as w,h as ee,i as te,j as ne,k as re,l as ie,m as ae,n as oe,o as T,p as E,r as D,s as O,t as k,u as A,v as j,w as M,x as N,y as P,z as F}from"./constants-CzpENjyw.js";import{Ar as I,Ir as L,Kn as R,Rr as z,Zt as B}from"./index-dPpCEGCN.js";import{a as se,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-C0ahAqoY.js";var G=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,K=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},q=(e,t)=>{if(!K())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},ce=class{ws;token;handlers;reconnectDelay=o;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${_}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=o,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let n;try{n=JSON.parse(e.data)}catch{return}let r=n?.payload??{};switch(q(`recv`,n),n?.type){case t:this.handlers.onEvent?.(r,n?.from_node);break;case p:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case F:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case w:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,g)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:G(),ts:Date.now(),type:e,...t};q(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(ee,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(E,{})}resume(e){this.sendEnvelope(ae,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},J,Y=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,X=(e,t,n)=>({id:Y(),session_id:e,kind:t,ts:Date.now(),...n}),Z=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},le=e=>{let t=Z(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
2
2
  `)},ue=(e,t)=>{H({title:`Approval needed`,body:`Claude wants to use ${t.tool||`a tool`}. Tap to review.`,data:t},t=>{t.node_id&&e(`selectNode`,t.node_id)})},Q=(t,o,p,g,_)=>{let y=g?.event,x=g?.session_id,S=g?.trace_id,C=g?.seq;if(typeof C==`number`&&x){let e=p.lastSeq[x];if(e!==void 0&&C<=e)return;t(`setLastSeq`,{session_id:x,seq:C})}switch(x&&S&&t(`updateSession`,{session_id:x,trace_id:S}),y){case ne:t(`upsertSession`,{session_id:x,node_id:_,status:`running`,cwd:g.cwd,model:g.model,...g.effort===void 0?{}:{effort:g.effort},...g.permission_mode===void 0?{}:{permission_mode:g.permission_mode},trace_id:S});break;case r:{let e=g.sdk_session_id;x&&e&&e!==x&&t(`renameSession`,{from:x,to:e});break}case f:{let e=g.id;e&&p.events[x]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:x,stream_id:e,text:g.text??``}):t(`appendEvent`,X(x,`text`,{text:g.text??``,stream_id:e,streaming:!0,trace_id:S}));break}case u:{let e=g.id;e&&p.events[x]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:x,stream_id:e,text:g.text}):t(`appendEvent`,X(x,`text`,{text:g.text,trace_id:S}));break}case a:t(`appendEvent`,X(x,`thinking`,{text:g.text,trace_id:S}));break;case c:t(`appendEvent`,X(x,`tool_use`,{tool:g.tool,tool_use_id:g.tool_use_id,input:g.input,trace_id:S}));break;case s:t(`appendEvent`,X(x,`tool_result`,{tool_use_id:g.tool_use_id,content:g.content,is_error:g.is_error,trace_id:S}));break;case m:t(`addPermission`,{request_id:g.request_id,session_id:x,node_id:_,tool:g.tool,input:g.input,title:g.title,display_name:g.display_name,description:g.description}),ue(o,{node_id:_,session_id:x,request_id:g.request_id,tool:g.display_name||g.title||g.tool});break;case N:for(let e of g.requests??[])t(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:_,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case n:t(`removePermission`,g.request_id);break;case re:t(`finalizeAllStreams`,{session_id:x}),t(`appendEvent`,X(x,`result`,{subtype:g.subtype,is_error:g.is_error,text:g.result,cost_usd:g.cost_usd,cut_uuid:g.cut_uuid,sdk_session_id:g.sdk_session_id,trace_id:S})),t(`updateSession`,{session_id:x,status:`idle`,cost_usd:g.cost_usd});break;case d:t(`appendEvent`,X(x,`notice`,{text:g.text,subtype:g.code,command:g.command,level:g.level}));break;case i:t(`finalizeAllStreams`,{session_id:x}),t(`appendEvent`,X(x,`error`,{text:g.message,trace_id:S})),t(`updateSession`,{session_id:x,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:I.Success});break;case h:t(`finalizeAllStreams`,{session_id:x}),t(`updateSession`,{session_id:x,status:`closed`});break;case e:t(`rewindToCut`,{session_id:x,cut_uuid:g.cut_uuid}),g.prompt&&t(`appendEvent`,X(x,`prompt`,{text:g.prompt,trace_id:S})),t(`updateSession`,{session_id:x,status:`running`});break;case l:o(`resyncSession`,x);break;case M:for(let e of g.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:_,status:e.status??`running`,started:!0,cwd:e.cwd,model:e.model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}});break;case b:if(_){t(`setHistory`,{node_id:_,sessions:g.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:I.Success});let e=p.historyRef;e&&e.node_id===_&&!p.currentSessionId&&o(`reattachSession`,e)}break;case P:de(t,p,g,_),t(`updateStatus`,{key:`getHistoryDetail`,value:I.Success});break;case j:t(`setDirectory`,{path:g.path,parent:g.parent??null,sep:g.sep??`/`,entries:g.entries??[],truncated:g.truncated,error:g.error});break;case v:_&&t(`setCapabilities`,{node_id:_,capabilities:{providers:g.providers??[]}});break;default:break}},de=(e,t,n,r)=>{let i=n?.session_id,a=fe(n?.provider);if(!i||!r)return;let o=a===`claude`||a===`codex`||a===`copilot`,s=t.sessions[i],c=!!s&&(s.started===!0||s.status===`running`||s.status===`starting`),l=t.lastComposer?.[r]??{};e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:n.model??s?.model??l.model,effort:n.effort??s?.effort??l.effort,permission_mode:n.permission_mode??s?.permission_mode??l.permissionMode,provider:a,started:!!c,readonly:!o&&!c});let u=t.events[i]?.length??0,d=(n.events??[]).length,f=s?.status===`running`||s?.status===`starting`;c&&u>0&&(f||u>=d)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:Y(),session_id:i,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,r),e(`setCurrentSession`,i),e(`setHistoryRef`,{node_id:r,provider:a,session_id:i})},fe=e=>e===`codex`||e===`copilot`?e:`claude`,$={namespaced:!0,state:R,mutations:{resetAll:e=>{Object.assign(e,R())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id));for(let t of e.nodes)t.status=n.has(t.node_id)?`online`:`offline`;for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]||(e.events[t.session_id]=[])},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},renameSession:(e,t)=>{let{from:n,to:r}=t;if(n===r||!e.sessions[n])return;e.sessions[r]={...e.sessions[r],...e.sessions[n],session_id:r},delete e.sessions[n];let i=e.events[n];i&&(i.length||!e.events[r]?.length)&&(e.events[r]=i),delete e.events[n],delete e.lastSeq[n],e.lastSeq[r]=0;for(let t of e.permissions)t.session_id===n&&(t.session_id=r);e.currentSessionId===n&&(e.currentSessionId=r),e.historyRef?.session_id===n&&(e.historyRef={...e.historyRef,session_id:r})},appendEvent:(e,t)=>{e.events[t.session_id]||(e.events[t.session_id]=[]),e.events[t.session_id].push(t)},truncateEventsBefore:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.findIndex(e=>e.id===t.event_id);r>=0&&(e.events[t.session_id]=n.slice(0,r))},rewindToCut:(e,t)=>{let n=e.events[t.session_id];if(!n)return;if(!t.cut_uuid){e.events[t.session_id]=[];return}let r=n.findIndex(e=>e.kind===`result`&&e.cut_uuid===t.cut_uuid);r>=0&&(e.events[t.session_id]=n.slice(0,r+1))},setLastSeq:(e,t)=>{let n=e.lastSeq[t.session_id]??0;t.seq>n&&(e.lastSeq[t.session_id]=t.seq)},appendDelta:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(r.text=(r.text??``)+(t.text??``))},finalizeStream:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(typeof t.text==`string`&&(r.text=t.text),r.streaming=!1)},finalizeAllStreams:(e,t)=>{let n=e.events[t.session_id];if(n)for(let e of n)e.streaming&&=!1},setEvents:(e,t)=>{e.events[t.session_id]=t.events},setHistory:(e,t)=>{e.history[t.node_id]=t.sessions},setHistoryRef:(e,t)=>{e.historyRef=t},setDirectory:(e,t)=>{e.directory=t,e.directoryLoading=!1},setDirectoryLoading:(e,t)=>{e.directoryLoading=t},setLastComposer:(e,t)=>{e.lastComposer={...e.lastComposer,[t.node_id]:{...e.lastComposer[t.node_id],...t.prefs}}},setCapabilities:(e,t)=>{e.capabilities[t.node_id]=t.capabilities},addPermission:(e,t)=>{e.permissions.some(e=>e.request_id===t.request_id)||e.permissions.push(t)},removePermission:(e,t)=>{e.permissions=e.permissions.filter(e=>e.request_id!==t)},removeNodeData:(e,t)=>{delete e.history[t],delete e.capabilities[t],e.historyRef?.node_id===t&&(e.historyRef=void 0);for(let n of Object.values(e.sessions))n.node_id===t&&(delete e.sessions[n.session_id],delete e.events[n.session_id],delete e.lastSeq[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},getApplications:async()=>{},setApplication:async()=>{},getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:I.Request});try{let{data:t}=await B.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:I.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:I.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:I.Request});try{let{data:n}=await B.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:I.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:I.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:I.Request});try{await B.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:I.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:I.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(J?.isOpen||(J?.close(),e(`setConnection`,`connecting`),J=new ce(i,{onOpen:()=>{e(`setConnection`,`connected`);let r={...n.lastSeq};Object.keys(r).length&&J?.resume(r),n.currentNodeId&&(t(`getHistory`,n.currentNodeId),t(`getCapabilities`,n.currentNodeId),t(`requestSessions`,n.currentNodeId),t(`requestPendingPermissions`,n.currentNodeId))},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>Q(e,t,n,r,i),onNodesSnapshot:t=>{e(`mergeNodeSnapshot`,t)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&(t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r))},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),J.connect()))},disconnect:({commit:e})=>{J?.close(),J=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r)},requestSessions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:O})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:y})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(z()){let t=await W(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await B.savePushSubscription({kind:L()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await V();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await B.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await se(e.vapid_public_key);t&&await B.savePushSubscription({kind:`webpush`,subscription:t,ua:navigator.userAgent},{token:n})}}catch(e){console.warn(`[codingBridge] web push setup skipped`,e)}return`enabled`},disableNotifications:async({rootState:e})=>{let t=e.token?.access;if(z()||!t)return;let n=await U();if(n)try{await B.deletePushSubscription({endpoint:n},{token:t})}catch(e){console.warn(`[codingBridge] failed to deregister web push`,e)}},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim(),a=n.images?.length?n.images:void 0,o=n.attachments?.length?n.attachments:void 0;if(!r||!J||!i&&!a&&!o)return;let s=Y(),c=t.currentSessionId,l=c?t.sessions[c]:void 0;if(!l||!l.started){let t=l?.provider||n.provider||`claude`;l?(c=l.session_id,e(`updateSession`,{session_id:c,status:`starting`,trace_id:s,...n.cwd?{cwd:n.cwd}:{},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}})):(c=Y(),e(`upsertSession`,{session_id:c,node_id:r,status:`starting`,cwd:n.cwd,model:n.model,effort:n.effort,permission_mode:n.permissionMode,provider:t,trace_id:s}),e(`setCurrentSession`,c),e(`setHistoryRef`,{node_id:r,provider:t,session_id:c})),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),J.sendToNode(r,{action:C,session_id:c,trace_id:s,prompt:i,cwd:n.cwd||l?.cwd||void 0,model:n.model||l?.model||void 0,permission_mode:n.permissionMode||`bypassPermissions`,provider:t,effort:n.effort||void 0,images:a,attachments:o,resume_session_id:l?.session_id||void 0})}else e(`updateSession`,{session_id:c,trace_id:s}),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,status:`running`,model:n.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),J.sendToNode(r,{action:S,session_id:c,trace_id:s,prompt:i,model:n.model??``,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode},images:a,attachments:o})},editPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=t.currentSessionId,a=n.prompt?.trim();if(!r||!i||!J||!a)return;let o=t.sessions[i],s=t.events[i]??[],c=s.findIndex(e=>e.id===n.eventId);if(!o||c<0)return;let l;for(let e=c-1;e>=0;e--)if(s[e].kind===`result`&&s[e].cut_uuid){l=s[e].cut_uuid;break}let u=n.images?.length?n.images:void 0,d=n.attachments?.length?n.attachments:void 0,f=Y();e(`truncateEventsBefore`,{session_id:i,event_id:n.eventId}),e(`updateSession`,{session_id:i,status:`running`,trace_id:f,model:n.model||o.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),e(`appendEvent`,X(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),J.sendToNode(r,{action:ie,session_id:i,trace_id:f,cut_uuid:l,prompt:a,model:n.model||o.model||void 0,permission_mode:n.permissionMode||void 0,effort:n.effort||void 0,images:u,attachments:d,restore_code:!!n.restoreCode})},retryLastPrompt:({commit:e,dispatch:t,state:n})=>{let r=n.currentSessionId;if(!r)return;let i=n.sessions[r],a=[...n.events[r]??[]].reverse().find(e=>e.kind===`prompt`);!i||!a||(e(`updateSession`,{session_id:r,started:!1}),t(`sendPrompt`,{prompt:a.text??``,cwd:i.cwd,model:i.model,provider:i.provider,images:a.images,attachments:a.attachments}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!J||J.sendToNode(n,{action:A,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&J&&J.sendToNode(i,{action:x,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:T,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},answerQuestion:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:T,request_id:n.request_id,decision:`allow`,answer:Z(n.output),answer_text:le(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!J||(e(`updateStatus`,{key:`getHistory`,value:I.Request}),J.sendToNode(r,{action:te,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!J||(e(`updateStatus`,{key:`getHistoryDetail`,value:I.Request}),J.sendToNode(t.node_id,{action:D,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:I.Success}),12e3))},reattachSession:({state:e,commit:t,dispatch:n},r)=>{!r?.node_id||!r?.session_id||(t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id),J?.resume({[r.session_id]:e.lastSeq[r.session_id]??0}))},resyncSession:({state:e,dispatch:t},n)=>{let r=e.sessions[n];r?.node_id&&t(`getHistoryDetail`,{node_id:r.node_id,session_id:n,provider:r.provider??`claude`})},browseDir:({commit:e,state:t},n)=>{let r=t.currentNodeId;!r||!J||(e(`setDirectoryLoading`,!0),J.sendToNode(r,{action:oe,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:k})}}};export{$ as codingBridge,$ as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-CFWRaLv3.js","assets/index-cECZXQLF.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/constants-DQgjIP2J.js","assets/vendor-chart-BJCvKk8-.js","assets/vendor-axios-Ck2ffRoh.js","assets/button-BydTr5nV.js","assets/use-deprecated-B-NFNg3W.js","assets/install-CmiepWqE.js","assets/en-CpRrS3Ur.js","assets/runtime-B1Eal4u3.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/use-dialog-BA0DNk5w.js","assets/teleport-BEkn5-id.js","assets/aria-CQaCu-Fx.js","assets/event-BGnHezxC.js","assets/scroll-CgpW_lTC.js","assets/vnode-BKrYEsqE.js","assets/use-aria-QsRrwtXj.js","assets/vendor-vue-router-WDnlh53U.js","assets/index-C9sJvT6s.css","assets/esm-DKuNqdeL.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-zJ_50EbN.js";import{Rr as t}from"./index-cECZXQLF.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-CFWRaLv3.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-DKuNqdeL.js`);return{PushNotifications:e}},__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-D7p_mBYH.js","assets/index-dPpCEGCN.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/constants-CzpENjyw.js","assets/vendor-chart-BJCvKk8-.js","assets/vendor-axios-Ck2ffRoh.js","assets/button-BydTr5nV.js","assets/use-deprecated-B-NFNg3W.js","assets/install-CmiepWqE.js","assets/en-CpRrS3Ur.js","assets/runtime-B1Eal4u3.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/use-dialog-BA0DNk5w.js","assets/teleport-BEkn5-id.js","assets/aria-CQaCu-Fx.js","assets/event-BGnHezxC.js","assets/scroll-CgpW_lTC.js","assets/vnode-BKrYEsqE.js","assets/use-aria-QsRrwtXj.js","assets/vendor-vue-router-WDnlh53U.js","assets/index-C9sJvT6s.css","assets/esm-BkEf2hNe.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-zJ_50EbN.js";import{Rr as t}from"./index-dPpCEGCN.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-D7p_mBYH.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-BkEf2hNe.js`);return{PushNotifications:e}},__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
@@ -1 +1 @@
1
- import{A as e,Bt as t,D as n,E as r,F as i,N as a,O as o,Ot as s,P as c,Pt as l,Q as u,Vt as d,Wt as f,Z as p,b as m,bt as h,ct as g,dt as _,et as v,rt as y,ut as b,v as x,y as S,z as C,zt as w}from"./vendor-chart-BJCvKk8-.js";import{a as T,c as E,i as D,t as O}from"./install-CmiepWqE.js";import{i as k,n as A,r as j,s as M}from"./runtime-B1Eal4u3.js";import{Ct as N,_ as P,l as ee,m as F,nt as I,wt as L}from"./use-deprecated-B-NFNg3W.js";import{t as R}from"./castArray-B2xuZZNf.js";import{r as z,t as B}from"./event-BGnHezxC.js";import{t as V}from"./collapse-transition-C9jp2nDh.js";import{Qr as H}from"./index-cECZXQLF.js";var U=e=>M(e)||t(e)||l(e),W=A({accordion:Boolean,modelValue:{type:j([Array,String,Number]),default:()=>H([])},expandIconPosition:{type:j([String]),default:`right`},beforeCollapse:{type:j(Function)}}),G={[z]:U,[B]:U},K=Symbol(`collapseContextKey`),q=`ElCollapse`,J=(e,t)=>{let n=h(R(e.modelValue)),r=r=>{n.value=r;let i=e.accordion?n.value[0]:n.value;t(z,i),t(B,i)},i=t=>{if(e.accordion)r([n.value[0]===t?``:t]);else{let e=[...n.value],i=e.indexOf(t);i>-1?e.splice(i,1):e.push(t),r(e)}};return g(()=>e.modelValue,()=>n.value=R(e.modelValue),{deep:!0}),u(K,{activeNames:n,handleItemClick:async t=>{let{beforeCollapse:n}=e;if(!n){i(t);return}let r=n(t);[w(r),k(r)].includes(!0)||L(q,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),w(r)?r.then(e=>{e!==!1&&i(t)}).catch(e=>{N(q,`some error occurred: ${e}`)}):r&&i(t)}}),{activeNames:n,setActiveNames:r}},Y=e=>{let t=E(`collapse`);return{rootKls:r(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},X=T(i({...i({name:`ElCollapse`}),props:W,emits:G,setup(t,{expose:n,emit:r}){let i=t,{activeNames:a,setActiveNames:o}=J(i,r),{rootKls:c}=Y(i);return n({activeNames:a,setActiveNames:o}),(t,n)=>(p(),e(`div`,{class:d(s(c))},[v(t.$slots,`default`)],2))}}),[[`__file`,`collapse.vue`]]),Z=A({title:{type:String,default:``},name:{type:j([String,Number]),default:void 0},icon:{type:F,default:P},disabled:Boolean}),Q=e=>{let t=C(K),{namespace:n}=E(`collapse`),i=h(!1),a=h(!1),o=ee(),c=r(()=>o.current++),l=r(()=>e.name??`${n.value}-id-${o.prefix}-${s(c)}`);return{focusing:i,id:c,isActive:r(()=>t?.activeNames.value.includes(s(l))),handleFocus:()=>{setTimeout(()=>{a.value?a.value=!1:i.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(s(l)),i.value=!1,a.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(s(l)))}}},te=(e,{focusing:t,isActive:n,id:i})=>{let a=E(`collapse`),o=r(()=>[a.b(`item`),a.is(`active`,s(n)),a.is(`disabled`,e.disabled)]),c=r(()=>[a.be(`item`,`header`),a.is(`active`,s(n)),{focusing:s(t)&&!e.disabled}]),l=r(()=>[a.be(`item`,`arrow`),a.is(`active`,s(n))]);return{itemTitleKls:r(()=>[a.be(`item`,`title`)]),arrowKls:l,headKls:c,rootKls:o,itemWrapperKls:r(()=>a.be(`item`,`wrap`)),itemContentKls:r(()=>a.be(`item`,`content`)),scopedContentId:r(()=>a.b(`content-${s(i)}`)),scopedHeadId:r(()=>a.b(`head-${s(i)}`))}},$=T(i({...i({name:`ElCollapseItem`}),props:Z,setup(t,{expose:r}){let i=t,{focusing:l,id:u,isActive:h,handleFocus:g,handleHeaderClick:C,handleEnterClick:w}=Q(i),{arrowKls:T,headKls:E,rootKls:D,itemTitleKls:O,itemWrapperKls:k,itemContentKls:A,scopedContentId:j,scopedHeadId:M}=te(i,{focusing:l,isActive:h,id:u});return r({isActive:h}),(t,r)=>(p(),e(`div`,{class:d(s(D))},[n(`div`,{id:s(M),class:d(s(E)),"aria-expanded":s(h),"aria-controls":s(j),"aria-describedby":s(j),tabindex:t.disabled?-1:0,role:`button`,onClick:s(C),onKeydown:S(m(s(w),[`stop`]),[`space`,`enter`]),onFocus:s(g),onBlur:e=>l.value=!1},[n(`span`,{class:d(s(O))},[v(t.$slots,`title`,{isActive:s(h)},()=>[a(f(t.title),1)])],2),v(t.$slots,`icon`,{isActive:s(h)},()=>[c(s(I),{class:d(s(T))},{default:b(()=>[(p(),o(y(t.icon)))]),_:1},8,[`class`])])],42,[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`onClick`,`onKeydown`,`onFocus`,`onBlur`]),c(s(V),null,{default:b(()=>[_(n(`div`,{id:s(j),role:`region`,class:d(s(k)),"aria-hidden":!s(h),"aria-labelledby":s(M)},[n(`div`,{class:d(s(A))},[v(t.$slots,`default`)],2)],10,[`id`,`aria-hidden`,`aria-labelledby`]),[[x,s(h)]])]),_:3})],2))}}),[[`__file`,`collapse-item.vue`]]),ne=O(X,{CollapseItem:$}),re=D($);export{re as n,ne as t};
1
+ import{A as e,Bt as t,D as n,E as r,F as i,N as a,O as o,Ot as s,P as c,Pt as l,Q as u,Vt as d,Wt as f,Z as p,b as m,bt as h,ct as g,dt as _,et as v,rt as y,ut as b,v as x,y as S,z as C,zt as w}from"./vendor-chart-BJCvKk8-.js";import{a as T,c as E,i as D,t as O}from"./install-CmiepWqE.js";import{i as k,n as A,r as j,s as M}from"./runtime-B1Eal4u3.js";import{Ct as N,_ as P,l as ee,m as F,nt as I,wt as L}from"./use-deprecated-B-NFNg3W.js";import{t as R}from"./castArray-B2xuZZNf.js";import{r as z,t as B}from"./event-BGnHezxC.js";import{t as V}from"./collapse-transition-C9jp2nDh.js";import{Qr as H}from"./index-dPpCEGCN.js";var U=e=>M(e)||t(e)||l(e),W=A({accordion:Boolean,modelValue:{type:j([Array,String,Number]),default:()=>H([])},expandIconPosition:{type:j([String]),default:`right`},beforeCollapse:{type:j(Function)}}),G={[z]:U,[B]:U},K=Symbol(`collapseContextKey`),q=`ElCollapse`,J=(e,t)=>{let n=h(R(e.modelValue)),r=r=>{n.value=r;let i=e.accordion?n.value[0]:n.value;t(z,i),t(B,i)},i=t=>{if(e.accordion)r([n.value[0]===t?``:t]);else{let e=[...n.value],i=e.indexOf(t);i>-1?e.splice(i,1):e.push(t),r(e)}};return g(()=>e.modelValue,()=>n.value=R(e.modelValue),{deep:!0}),u(K,{activeNames:n,handleItemClick:async t=>{let{beforeCollapse:n}=e;if(!n){i(t);return}let r=n(t);[w(r),k(r)].includes(!0)||L(q,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),w(r)?r.then(e=>{e!==!1&&i(t)}).catch(e=>{N(q,`some error occurred: ${e}`)}):r&&i(t)}}),{activeNames:n,setActiveNames:r}},Y=e=>{let t=E(`collapse`);return{rootKls:r(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},X=T(i({...i({name:`ElCollapse`}),props:W,emits:G,setup(t,{expose:n,emit:r}){let i=t,{activeNames:a,setActiveNames:o}=J(i,r),{rootKls:c}=Y(i);return n({activeNames:a,setActiveNames:o}),(t,n)=>(p(),e(`div`,{class:d(s(c))},[v(t.$slots,`default`)],2))}}),[[`__file`,`collapse.vue`]]),Z=A({title:{type:String,default:``},name:{type:j([String,Number]),default:void 0},icon:{type:F,default:P},disabled:Boolean}),Q=e=>{let t=C(K),{namespace:n}=E(`collapse`),i=h(!1),a=h(!1),o=ee(),c=r(()=>o.current++),l=r(()=>e.name??`${n.value}-id-${o.prefix}-${s(c)}`);return{focusing:i,id:c,isActive:r(()=>t?.activeNames.value.includes(s(l))),handleFocus:()=>{setTimeout(()=>{a.value?a.value=!1:i.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(s(l)),i.value=!1,a.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(s(l)))}}},te=(e,{focusing:t,isActive:n,id:i})=>{let a=E(`collapse`),o=r(()=>[a.b(`item`),a.is(`active`,s(n)),a.is(`disabled`,e.disabled)]),c=r(()=>[a.be(`item`,`header`),a.is(`active`,s(n)),{focusing:s(t)&&!e.disabled}]),l=r(()=>[a.be(`item`,`arrow`),a.is(`active`,s(n))]);return{itemTitleKls:r(()=>[a.be(`item`,`title`)]),arrowKls:l,headKls:c,rootKls:o,itemWrapperKls:r(()=>a.be(`item`,`wrap`)),itemContentKls:r(()=>a.be(`item`,`content`)),scopedContentId:r(()=>a.b(`content-${s(i)}`)),scopedHeadId:r(()=>a.b(`head-${s(i)}`))}},$=T(i({...i({name:`ElCollapseItem`}),props:Z,setup(t,{expose:r}){let i=t,{focusing:l,id:u,isActive:h,handleFocus:g,handleHeaderClick:C,handleEnterClick:w}=Q(i),{arrowKls:T,headKls:E,rootKls:D,itemTitleKls:O,itemWrapperKls:k,itemContentKls:A,scopedContentId:j,scopedHeadId:M}=te(i,{focusing:l,isActive:h,id:u});return r({isActive:h}),(t,r)=>(p(),e(`div`,{class:d(s(D))},[n(`div`,{id:s(M),class:d(s(E)),"aria-expanded":s(h),"aria-controls":s(j),"aria-describedby":s(j),tabindex:t.disabled?-1:0,role:`button`,onClick:s(C),onKeydown:S(m(s(w),[`stop`]),[`space`,`enter`]),onFocus:s(g),onBlur:e=>l.value=!1},[n(`span`,{class:d(s(O))},[v(t.$slots,`title`,{isActive:s(h)},()=>[a(f(t.title),1)])],2),v(t.$slots,`icon`,{isActive:s(h)},()=>[c(s(I),{class:d(s(T))},{default:b(()=>[(p(),o(y(t.icon)))]),_:1},8,[`class`])])],42,[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`onClick`,`onKeydown`,`onFocus`,`onBlur`]),c(s(V),null,{default:b(()=>[_(n(`div`,{id:s(j),role:`region`,class:d(s(k)),"aria-hidden":!s(h),"aria-labelledby":s(M)},[n(`div`,{class:d(s(A))},[v(t.$slots,`default`)],2)],10,[`id`,`aria-hidden`,`aria-labelledby`]),[[x,s(h)]])]),_:3})],2))}}),[[`__file`,`collapse-item.vue`]]),ne=O(X,{CollapseItem:$}),re=D($);export{re as n,ne as t};