@acedatacloud/nexior 3.314.0 → 3.314.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/dist/assets/{ApiCodeButton-DZZsV1vp.js → ApiCodeButton-DPxTbEVh.js} +1 -1
  2. package/dist/assets/Artifacts-Dd3y50vN.js +1 -0
  3. package/dist/assets/Artifacts-IVyua91m.css +1 -0
  4. package/dist/assets/{AskUserQuestionCard-D9DBtb4n.js → AskUserQuestionCard-DdThFuDd.js} +1 -1
  5. package/dist/assets/{Auth-CjoD6p4C.js → Auth-C0MvbTxr.js} +1 -1
  6. package/dist/assets/{Bare-BkNVLJbB.js → Bare-DYVAb4b2.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-BPeUBEuV.js → BotPlaceholder-BRByRF1T.js} +1 -1
  8. package/dist/assets/{BottomFooter-D1rE8tTS.js → BottomFooter-BpSYJMgO.js} +1 -1
  9. package/dist/assets/{Callback-BTR5qZwe.js → Callback-BjrQaAYp.js} +1 -1
  10. package/dist/assets/{CodeSnippet-D2MyDb-P.js → CodeSnippet-C-YHzHZY.js} +1 -1
  11. package/dist/assets/{Console-CMGjgItF.js → Console-BcmcvAZ8.js} +1 -1
  12. package/dist/assets/{Consumption-CmRtU7JU.js → Consumption-CbE0h0on.js} +1 -1
  13. package/dist/assets/{Conversation-ehfjRMv7.js → Conversation-W-H7LGe-.js} +1 -1
  14. package/dist/assets/Conversation-w6o7yoAC.js +1 -0
  15. package/dist/assets/{CopyToClipboard-42BPB483.js → CopyToClipboard-IfevZ3ET.js} +1 -1
  16. package/dist/assets/{Detail-B1xNznsx.js → Detail-COwZTu7g.js} +2 -2
  17. package/dist/assets/{Extra-DM6VfC9J.js → Extra-C7Jnwgot.js} +1 -1
  18. package/dist/assets/{FilePreview-DROlEyEQ.js → FilePreview-D8RKKKyv.js} +1 -1
  19. package/dist/assets/{Hailuo-D3-rXy7f.js → Hailuo-BTHLtnW7.js} +1 -1
  20. package/dist/assets/{History-BN_1dkhM.js → History-Dzo0WKB8.js} +1 -1
  21. package/dist/assets/{ImagePreview-BrFJ-Xdy.js → ImagePreview-CFxZO4fL.js} +1 -1
  22. package/dist/assets/{ImageWrapper-DdKdTAxT.js → ImageWrapper-t76Yzl0B.js} +1 -1
  23. package/dist/assets/{Index-_NQPjzU1.js → Index-BMWPhz8R.js} +1 -1
  24. package/dist/assets/{Index-lbJxRHcK.js → Index-BVxtMl0N.js} +1 -1
  25. package/dist/assets/{Index-CcKMlZfs.js → Index-BXxB40_n.js} +1 -1
  26. package/dist/assets/{Index-CRHDUUlL.js → Index-BqQHB1K8.js} +1 -1
  27. package/dist/assets/{Index-BLNwkYqv.js → Index-Bwe_gsaQ.js} +1 -1
  28. package/dist/assets/{Index-DIoGbvC2.js → Index-BxKoMSRE.js} +1 -1
  29. package/dist/assets/{Index-UEumWLT5.js → Index-C2ezHqri.js} +1 -1
  30. package/dist/assets/{Index-B551VAAh.js → Index-C7T7Hmsl.js} +1 -1
  31. package/dist/assets/{Index-BeoE8bUL.js → Index-C8gUvQnJ.js} +1 -1
  32. package/dist/assets/{Index-DfvLB3XQ.js → Index-C9HYWhEi.js} +1 -1
  33. package/dist/assets/{Index-6sdm132W.js → Index-CSEPQmS_.js} +1 -1
  34. package/dist/assets/{Index-DvgYRdRB.js → Index-CfUOCxEP.js} +1 -1
  35. package/dist/assets/{Index-ByOlyYhX.js → Index-CyV3dQyM.js} +1 -1
  36. package/dist/assets/{Index-DG8sC0sP.js → Index-DKpOOHds.js} +1 -1
  37. package/dist/assets/{Index-CvNf6ovy.js → Index-DNVtsDoc.js} +1 -1
  38. package/dist/assets/{Index-BFQ2KAJE.js → Index-DNYGaYVJ.js} +1 -1
  39. package/dist/assets/Index-DNvYpY0h.js +1 -0
  40. package/dist/assets/{Index-DTAMCzTO.js → Index-DPmoEMQt.js} +1 -1
  41. package/dist/assets/{Index-Do1iRsjZ.js → Index-DX_VBTSU.js} +1 -1
  42. package/dist/assets/{Index-Bj6cxgY2.js → Index-DYCxOmGJ.js} +1 -1
  43. package/dist/assets/{Index-RbkfYeyb.js → Index-Dg_Bdi2Z.js} +1 -1
  44. package/dist/assets/{Index-BygZgo_J.js → Index-DkDFpsQ8.js} +1 -1
  45. package/dist/assets/{Index-Cjnoyrxb.css → Index-Dr1GWEqN.css} +1 -1
  46. package/dist/assets/Index-Q_fThMVL.js +1 -0
  47. package/dist/assets/{Index-Jf7vRPxQ.js → Index-hX85vDOq.js} +1 -1
  48. package/dist/assets/{Index-BBCtVGma.js → Index-huzZJvOG.js} +1 -1
  49. package/dist/assets/{Index-DgcFTpLU.js → Index-jKrWex2a.js} +1 -1
  50. package/dist/assets/{Index-CcfGoyLw.js → Index-vJ-OOn6s.js} +1 -1
  51. package/dist/assets/{Index-oX0-t7CY.js → Index-yL9rZbYE.js} +1 -1
  52. package/dist/assets/{Invitees-DgVQfFJC.js → Invitees-D80gZlC3.js} +1 -1
  53. package/dist/assets/{List-gGR7yx81.js → List-CwMYTfgH.js} +1 -1
  54. package/dist/assets/{List-BqUJk5fT.js → List-DH0pOETq.js} +1 -1
  55. package/dist/assets/{List-DjKXAxI0.js → List-j42Ove1t.js} +1 -1
  56. package/dist/assets/{LocalTools-CqHO3bVs.js → LocalTools-BUlRD1Go.js} +1 -1
  57. package/dist/assets/{LocalTools-G-OcULlg.js → LocalTools-CU0e93rf.js} +1 -1
  58. package/dist/assets/{Main-BMg_KWkQ.js → Main-B3cg5UDW.js} +1 -1
  59. package/dist/assets/{Message-CHJMFAvu.js → Message-CjRudJQe.js} +2 -2
  60. package/dist/assets/{Model-C2F3X5Uj.js → Model-CrwwNj4J.js} +1 -1
  61. package/dist/assets/{Navigator-DCM4DpQV.js → Navigator-CdGZt4g_.js} +2 -2
  62. package/dist/assets/{NoTasks-D0Vc6Qs_.js → NoTasks-EKptBcHz.js} +1 -1
  63. package/dist/assets/{NotFound-CDeXeqor.js → NotFound-Btdzkh5u.js} +1 -1
  64. package/dist/assets/{Pagination-CQg0HJq6.js → Pagination-CtT-kAL_.js} +1 -1
  65. package/dist/assets/{Pay-Cp_nNEqJ.js → Pay-BeuI2P1C.js} +1 -1
  66. package/dist/assets/{Player-DX7lUtdU.js → Player-mowfzfLh.js} +1 -1
  67. package/dist/assets/{PromptTextarea-DPk_zaJ2.js → PromptTextarea-CfwY3HdZ.js} +1 -1
  68. package/dist/assets/{RealtimeCall-BzE-nWvQ.js → RealtimeCall-blwwZnJn.js} +1 -1
  69. package/dist/assets/{ScheduledTasks-BTzrkv7B.js → ScheduledTasks-CNhHO0IC.js} +1 -1
  70. package/dist/assets/{Status-DseBf6fx.js → Status-CNl8cqlf.js} +1 -1
  71. package/dist/assets/{Subscribe-yWKU6wHC.js → Subscribe-DAOl3zAZ.js} +1 -1
  72. package/dist/assets/{TabSwitcher-CVp--Xdk.js → TabSwitcher-D03UFajB.js} +1 -1
  73. package/dist/assets/{Tts-DKXiFKiL.js → Tts-Bw2zoSae.js} +1 -1
  74. package/dist/assets/{VideoPlayer-CAOsxKIA.js → VideoPlayer-DL0Z_0xR.js} +1 -1
  75. package/dist/assets/{alert-BHokfZ_D.js → alert-CggMU3GA.js} +1 -1
  76. package/dist/assets/{avatar-c4ub6jCG.js → avatar-DWhEIeh7.js} +1 -1
  77. package/dist/assets/{basic-DF8JDcIQ.js → basic-Jrt6ie-a.js} +1 -1
  78. package/dist/assets/{chat-9DplAERj.js → chat-3nkQ4d5J.js} +1 -1
  79. package/dist/assets/{chat-DDhrNf2W.js → chat-B9wBk2Kz.js} +1 -1
  80. package/dist/assets/{chat-D0KuwHnu.js → chat-BB5gkhy2.js} +1 -1
  81. package/dist/assets/{chat-K0QX0h2e.js → chat-BO2BMmrm.js} +1 -1
  82. package/dist/assets/{chat-DJMxMpDG.js → chat-BX8e7l3j.js} +1 -1
  83. package/dist/assets/{chat-C6Ji8Z-s.js → chat-BcBpKB8M.js} +1 -1
  84. package/dist/assets/{chat-BCAwkj5Z.js → chat-BgCcxxgx.js} +1 -1
  85. package/dist/assets/{chat-BMxQxkWw.js → chat-BiTOaJ_q.js} +1 -1
  86. package/dist/assets/{chat-BN-b8r3g.js → chat-C5mcF87M.js} +1 -1
  87. package/dist/assets/{chat-Boxje6o-.js → chat-C6xRXkuV.js} +1 -1
  88. package/dist/assets/{chat-BsoUUaVg.js → chat-CRhlZN0S.js} +1 -1
  89. package/dist/assets/{chat-Cyye_5pr.js → chat-DKrKvP4T.js} +1 -1
  90. package/dist/assets/{chat-DUobcSdz.js → chat-DWILC9TZ.js} +1 -1
  91. package/dist/assets/{chat-D7NoZWCC.js → chat-DXdh1cM5.js} +1 -1
  92. package/dist/assets/{chat-z4lhe4Zz.js → chat-DjUQFteJ.js} +1 -1
  93. package/dist/assets/{chat-DTrqLuJR.js → chat-DwMLU3TN.js} +1 -1
  94. package/dist/assets/{chat-BIbuwKvs.js → chat-DznnW-MG.js} +1 -1
  95. package/dist/assets/{chat-CNO2P2QG.js → chat-E9X3_PXH.js} +1 -1
  96. package/dist/assets/{chat-Cod3t9UK.js → chat-FNGN0Wo8.js} +1 -1
  97. package/dist/assets/{codingBridge-DYWori1S.js → codingBridge-DOASrmwE.js} +2 -2
  98. package/dist/assets/{codingBridgeNotify-b5BMXcT0.js → codingBridgeNotify-BsfJk4gE.js} +2 -2
  99. package/dist/assets/{collapse-91BWQjHz.js → collapse-Czpnj0uG.js} +1 -1
  100. package/dist/assets/{constants-4v-9kyGt.js → constants-CKB_PapE.js} +1 -1
  101. package/dist/assets/{createTaskActions-DSMzk6SX.js → createTaskActions-Do2GXpog.js} +1 -1
  102. package/dist/assets/{date-picker-M0NgUOga.js → date-picker-C3_OUzS5.js} +1 -1
  103. package/dist/assets/{digitalhuman-CDjFok0u.js → digitalhuman-DLxdKWk4.js} +1 -1
  104. package/dist/assets/{drawer-ClfA2ObB.js → drawer-DgaEmfEm.js} +1 -1
  105. package/dist/assets/{dropdown-a53RebL_.js → dropdown-Ba-5IMbd.js} +1 -1
  106. package/dist/assets/{dropdown-CZdcyHWy.js → dropdown-nofJ4s5P.js} +1 -1
  107. package/dist/assets/esm-8sCRPvpu.js +1 -0
  108. package/dist/assets/{esm-C50WObBK.js → esm-B8eJoeTc.js} +1 -1
  109. package/dist/assets/{esm-Ts2rpNG6.js → esm-CYhLc7Bz.js} +2 -2
  110. package/dist/assets/{esm-DXiL-i2E.js → esm-DKQZTDtP.js} +3 -3
  111. package/dist/assets/{esm-BQ10RYaC.js → esm-OHJdWe8N.js} +2 -2
  112. package/dist/assets/{esm-DlR_SY9G.js → esm-SAwk-T-S.js} +1 -1
  113. package/dist/assets/{esm-CQ6pD2k8.js → esm-yRk6QeRP.js} +1 -1
  114. package/dist/assets/{fish-B8v0V6-r.js → fish-C_1QarkU.js} +1 -1
  115. package/dist/assets/{flux-lz0fZWAP.js → flux-C4U9VW6b.js} +1 -1
  116. package/dist/assets/{grokvideo-BXbDhKsI.js → grokvideo-DhKwSItJ.js} +1 -1
  117. package/dist/assets/{hailuo-BysvNcZj.js → hailuo-B1Eluzyw.js} +1 -1
  118. package/dist/assets/{headshots-DByu65bC.js → headshots-CtjtJ30V.js} +1 -1
  119. package/dist/assets/{image-BAoju_OX.js → image-CQKGawX1.js} +1 -1
  120. package/dist/assets/{index-DJu8BXX6.js → index-B5P48B4i.js} +5 -5
  121. package/dist/assets/{index.browser.esm-BkhTn3fW.js → index.browser.esm-7_7pvRLu.js} +1 -1
  122. package/dist/assets/{index.es-CY1hfDt2.js → index.es-DMKEV8d8.js} +1 -1
  123. package/dist/assets/{input-number-Bp4kwxMw.js → input-number-BGpaLzV1.js} +1 -1
  124. package/dist/assets/{kling--3p4kFI5.js → kling-B2Ciq_yj.js} +1 -1
  125. package/dist/assets/{luma-DveraUso.js → luma-pl8e1zfl.js} +1 -1
  126. package/dist/assets/{maestro-BlXIz19Z.js → maestro-3RFQlSog.js} +1 -1
  127. package/dist/assets/{midjourney-DCIoFwmA.js → midjourney-CGKVXewC.js} +1 -1
  128. package/dist/assets/{nanobanana-DzAfKBH4.js → nanobanana-C_LDLkXI.js} +1 -1
  129. package/dist/assets/{openaiimage-CQ9hmfWO.js → openaiimage-6yEs8JA2.js} +1 -1
  130. package/dist/assets/{openaiimage--ef_WM0Z.js → openaiimage-B17V2p_T.js} +1 -1
  131. package/dist/assets/{openaiimage-D7cm1Oer.js → openaiimage-B6grtnNo.js} +1 -1
  132. package/dist/assets/{openaiimage-CugB1uxn.js → openaiimage-BDejHaav.js} +1 -1
  133. package/dist/assets/{openaiimage-ShnEEY1z.js → openaiimage-BNpTdd65.js} +1 -1
  134. package/dist/assets/{openaiimage-CW0koXYG.js → openaiimage-BvvI3cAF.js} +1 -1
  135. package/dist/assets/{openaiimage-qPHvcBI_.js → openaiimage-C-NCPCrx.js} +1 -1
  136. package/dist/assets/{openaiimage-DwZXelHI.js → openaiimage-C2bpyQKJ.js} +1 -1
  137. package/dist/assets/{openaiimage-CZpunKLX.js → openaiimage-CIpfs68J.js} +1 -1
  138. package/dist/assets/{openaiimage-BwLoadvI.js → openaiimage-COV8LIo-.js} +1 -1
  139. package/dist/assets/{openaiimage-DsF4S2z_.js → openaiimage-CenlIY1F.js} +1 -1
  140. package/dist/assets/{openaiimage-jF7-9GOh.js → openaiimage-CmZuvl6k.js} +1 -1
  141. package/dist/assets/{openaiimage-Bqvs5JoR.js → openaiimage-CstO8Enq.js} +1 -1
  142. package/dist/assets/{openaiimage-CwInPQF1.js → openaiimage-DG68fZf0.js} +1 -1
  143. package/dist/assets/{openaiimage-Bt8d5v84.js → openaiimage-DyfMkAO-.js} +1 -1
  144. package/dist/assets/{openaiimage-CpE2ycjX.js → openaiimage-Ot-ASuqJ.js} +1 -1
  145. package/dist/assets/{openaiimage-BaNa9IHV.js → openaiimage-bmpUPifv.js} +1 -1
  146. package/dist/assets/{openaiimage-CzR4PSXN.js → openaiimage-kTlSy1sn.js} +1 -1
  147. package/dist/assets/{openaiimage-C8TKksfD.js → openaiimage-kjvlnoXZ.js} +1 -1
  148. package/dist/assets/{pagination-D6W14SUE.js → pagination-BdE6OHLH.js} +1 -1
  149. package/dist/assets/{pika-CIzgfipJ.js → pika-D8bg83Y6.js} +1 -1
  150. package/dist/assets/{pixverse-BoFIzoC6.js → pixverse-sjiEvLUM.js} +1 -1
  151. package/dist/assets/{popover-DeOEh_TU.js → popover-CRDtheh1.js} +1 -1
  152. package/dist/assets/{producer-CjqAUu_N.js → producer-cV5WR5MK.js} +1 -1
  153. package/dist/assets/{qrart-DrrBSDVu.js → qrart-CYqFTclq.js} +1 -1
  154. package/dist/assets/{realtime-CeiN0Ers.js → realtime-Y-yqaI07.js} +1 -1
  155. package/dist/assets/{row-DHq6GhTO.js → row-Bz4HNNkI.js} +1 -1
  156. package/dist/assets/{seedance-B86SfNtb.js → seedance-BLA9XzGf.js} +1 -1
  157. package/dist/assets/{seedream-DDOEF_Dg.js → seedream-DTedL9uI.js} +1 -1
  158. package/dist/assets/{select-BhmouCkz.js → select-B4fodp7p.js} +1 -1
  159. package/dist/assets/{serp-DZjkks3_.js → serp-BSQxY8or.js} +1 -1
  160. package/dist/assets/{slider-BdRzQu4X.js → slider-BGSBV3DP.js} +1 -1
  161. package/dist/assets/{solana-wallets-BdnS2k14.js → solana-wallets-CnPE6Q2Y.js} +2 -2
  162. package/dist/assets/{solana-wallets-vue-BflJF1xH.js → solana-wallets-vue-FxdZcih6.js} +1 -1
  163. package/dist/assets/{sora-DFg-CIsL.js → sora-DVJAtCmN.js} +1 -1
  164. package/dist/assets/{suno-CVvyLC61.js → suno-DXqMM5Yl.js} +1 -1
  165. package/dist/assets/{switch-DRuyC4fI.js → switch-NS97j6gy.js} +1 -1
  166. package/dist/assets/{table-BuVrgxMK.js → table-B4y-d0-n.js} +1 -1
  167. package/dist/assets/{tabs-7_2FHyz1.js → tabs-CB8QmAT9.js} +1 -1
  168. package/dist/assets/{time-picker-C-ODQxkC.js → time-picker-EuDTiLxX.js} +1 -1
  169. package/dist/assets/{tooltip-DoeArIk_.js → tooltip-DCZAaa9q.js} +1 -1
  170. package/dist/assets/{upload-CUWe5NWl.js → upload-GZZh_ggN.js} +1 -1
  171. package/dist/assets/{veo-hIefeuu6.js → veo-CqbXy-j4.js} +1 -1
  172. package/dist/assets/{wan-HT6RW6fu.js → wan-pIku9p-1.js} +1 -1
  173. package/dist/assets/{web-C3TiIpzu.js → web-Bw4NLz4A.js} +1 -1
  174. package/dist/assets/{web-B8-9IA5T.js → web-CJe4qyt5.js} +1 -1
  175. package/dist/assets/{web-DonlkQ7G.js → web-CZ09ROO3.js} +1 -1
  176. package/dist/assets/{web-BzvGDJz_.js → web-CgS_Hytg.js} +1 -1
  177. package/dist/assets/{web-DWrcFm7j.js → web-hwemWOaU.js} +1 -1
  178. package/dist/assets/{webextrator-DUQQZ4Iq.js → webextrator-DOleQqu3.js} +1 -1
  179. package/dist/index.html +2 -2
  180. package/package.json +1 -1
  181. package/dist/assets/Artifacts-0knc8GFc.js +0 -1
  182. package/dist/assets/Artifacts-CXBnJy8Y.css +0 -1
  183. package/dist/assets/Conversation-CAGivP69.js +0 -1
  184. package/dist/assets/Index-Bj4obXRR.js +0 -1
  185. package/dist/assets/Index-Cl-Cf8aF.js +0 -1
  186. package/dist/assets/esm-BKK44iE3.js +0 -1
@@ -1 +1 @@
1
- var e={"thinking.inProgress":{message:`Thinking...`,description:`Label displayed while the model is generating the reasoning process`},"thinking.done":{message:`Reasoning Process`,description:`Label used to collapse the display of the reasoning process after the model completes reasoning`},"button.thinkDeeper":{message:`Think Deeper`,description:`Button for deeper thinking`},"button.deepsearch":{message:`Deep Search`,description:`Button for deep search`},"button.search":{message:`Search`,description:`Search button`},"button.edit":{message:`Edit Message`,description:`Edit the sent message`},"modelGroup.chatgpt":{message:`ChatGPT`,description:`Name of the service model, i.e., GPT`},"modelGroup.chatgptDescription":{message:`AI model developed by OpenAI`,description:`Description of the ChatGPT model`},"modelGroup.deepseek":{message:`DeepSeek`,description:`Name of the service model, i.e., DeepSeek`},"modelGroup.deepseekDescription":{message:`AI model developed by DeepSeek Inc.`,description:`Description of the DeepSeek model`},"modelGroup.grok":{message:`Grok`,description:`Name of the service model, i.e., Grok`},"modelGroup.grokDescription":{message:`AI model developed by xAI`,description:`Description of the Grok model`},"modelGroup.gemini":{message:`Gemini`,description:`Name of the service model, i.e., Gemini`},"modelGroup.geminiDescription":{message:`AI model developed by Google`,description:`Description of the Gemini model group`},"modelGroup.claude":{message:`Claude`,description:`Name of the service model, i.e., Claude`},"modelGroup.claudeDescription":{message:`AI model developed by Anthropic`,description:`Description of the Claude model group`},"modelGroup.kimi":{message:`Kimi`,description:`Name of the service model, i.e., Kimi`},"modelGroup.kimiDescription":{message:`AI model developed by Dark Side of the Moon Inc.`,description:`Description of the Kimi model group`},"modelGroup.glm":{message:`GLM`,description:`Name of the service model, i.e., GLM`},"modelGroup.glmDescription":{message:`Large language model developed by Zhipu AI`,description:`Description of the GLM model group`},"model.55":{message:`gpt-5.5`,description:`Name of the service model, i.e., GPT 5.5`},"model.55Description":{message:`Latest flagship GPT 5.5 model`,description:`Description of the GPT 5.5 model`},"model.54":{message:`gpt-5.4`,description:`Name of the service model, i.e., GPT 5.4`},"model.54Description":{message:`Latest flagship GPT 5.4 model`,description:`Description of the GPT 5.4 model`},"model.54Mini":{message:`gpt-5.4-mini`,description:`Name of the service model, i.e., GPT 5.4 Mini`},"model.54MiniDescription":{message:`Faster and lighter GPT 5.4 model`,description:`Description of the GPT 5.4 Mini model`},"model.freeTag":{message:`Free`,description:`Badge shown next to free models in the model selector`},"model.deepseekChat":{message:`3.0`,description:`Name of the service model, i.e., DeepSeek Chat`},"model.deepseekChatDescription":{message:`Suitable for everyday tasks`,description:`Description of the DeepSeek Chat model`},"model.deepseekReasoner":{message:`R1`,description:`Name of the service model, i.e., DeepSeek Reasoner`},"model.deepseekReasonerDescription":{message:`Suitable for reasoning and deep thinking questions`,description:`Description of the DeepSeek Reasoner model`},"model.deepseekChat32":{message:`3.2`,description:`Name of the service model, i.e., DeepSeek V3.2 Exp`},"model.deepseekChat32Description":{message:`Latest experimental version`,description:`Description of the DeepSeek V3.2 experimental model`},"model.deepseekV4Flash":{message:`4.0`,description:`Name of the service model, i.e., DeepSeek V4 Flash`},"model.deepseekV4FlashDescription":{message:`Latest lightweight flagship, 1M context`,description:`Description of the DeepSeek V4 Flash model`},"model.grok4":{message:`grok-4`,description:`Name of the service model, i.e., Grok 4`},"model.grok4Description":{message:`Currently the most advanced model`,description:`Description of the Grok 4 model`},"model.grok3":{message:`grok-3`,description:`Name of the service model`},"model.grok3Description":{message:`Suitable for most tasks`,description:`Description of the Grok3 model`},"model.gemini30Pro":{message:`gemini-3.0-pro`,description:`Name of the service model, i.e., Gemini 3.0 Pro`},"model.gemini30ProDescription":{message:`Currently the most advanced model`,description:`Description of the Gemini 3.0 Pro model`},"model.gemini31Pro":{message:`gemini-3.1-pro`,description:`Name of the service model, i.e., Gemini 3.0 Pro`},"model.gemini31ProDescription":{message:`Currently the most advanced model`,description:`Description of the Gemini 3.0 Pro model`},"model.gemini25Pro":{message:`gemini-2.5-pro`,description:`Name of the service model, i.e., Gemini 2.5 Pro`},"model.gemini25ProDescription":{message:`Suitable for complex reasoning tasks`,description:`Description of the Gemini 2.5 Pro model`},"model.gemini25Flash":{message:`gemini-2.5-flash`,description:`Name of the service model, i.e., Gemini 2.5 Flash`},"model.gemini25FlashDescription":{message:`Faster and lighter model`,description:`Description of the Gemini 2.5 Flash model`},"model.gemini35Flash":{message:`gemini-3.5-flash`,description:`Name of the service model, i.e., Gemini 2.5 Flash`},"model.gemini35FlashDescription":{message:`Faster and lighter model`,description:`Description of the Gemini 2.5 Flash model`},"model.claudeOpus48":{message:`claude-opus-4.8`,description:`Name of the service model, i.e., Claude Opus 4.8`},"model.claudeOpus48Description":{message:`Currently the most advanced model`,description:`Description of the Claude Opus 4.8 model`},"model.claudeSonnet46":{message:`claude-sonnet-4.6`,description:`The model name of the service, which is Claude Sonnet 4.6`},"model.claudeSonnet46Description":{message:`Suitable for most tasks`,description:`Description of the Claude Sonnet 4.6 model`},"model.claudeHaiku45":{message:`claude-haiku-4.5`,description:`Name of the service model, i.e., Claude Haiku 4.5`},"model.claudeHaiku45Description":{message:`Lightweight and fast model`,description:`Description of the Claude Haiku 4.5 model`},"model.kimiK25":{message:`kimi-k2.5`,description:`Name of the service model, i.e., Kimi K2.5`},"model.kimiK25Description":{message:`Currently the most advanced model`,description:`Description of the Kimi K2.5 model`},"model.kimiK2Thinking":{message:`kimi-k2 reasoning`,description:`Name of the service model, i.e., Kimi K2 reasoning`},"model.kimiK2ThinkingDescription":{message:`Suitable for reasoning and deep thinking questions`,description:`Description of the Kimi K2 reasoning model`},"model.kimiK2ThinkingTurbo":{message:`kimi-k2 turbo reasoning`,description:`Name of the service model, i.e., Kimi K2 turbo reasoning`},"model.kimiK2ThinkingTurboDescription":{message:`Faster reasoning model`,description:`Description of the Kimi K2 turbo reasoning model`},"model.glm51":{message:`glm-5.1`,description:`Name of the service model, i.e., GLM 5.1`},"model.glm51Description":{message:`Latest flagship model from Zhipu`,description:`Description of the GLM 5.1 model`},"model.glm47":{message:`glm-4.7`,description:`Name of the service model, i.e., GLM 4.7`},"model.glm47Description":{message:`Balanced performance and cost`,description:`Description of the GLM 4.7 model`},"message.startNewChat":{message:`Start new conversation`,description:`Message on the webpage informing the user to start a new conversation`},"message.uploadFile":{message:`Upload file`,description:`Message on the webpage informing the user to upload a file`},"message.noToken":{message:`Please apply for the relevant service first`,description:`Message on the webpage informing the user to apply for the relevant service first`},"message.newMessagePlaceholder":{message:`Please enter your question...`,description:`Placeholder on the webpage informing the user to enter a question`},"message.noInput":{message:`Question cannot be empty`,description:`Message on the webpage informing the user that the question cannot be empty`},"message.uploadReferencesExceed":{message:`You can upload a maximum of 1 file`,description:`Message on the webpage informing the user that they can upload a maximum of 1 file`},"message.uploadReferencesError":{message:`File upload failed, please try again later`,description:`Message on the webpage informing the user that the file upload failed, please try again later`},"message.notApplied":{message:`You have not applied for this service, please apply first`,description:`Message on the webpage informing the user that they have not applied for this service, please apply first`},"message.tryForFree":{message:`Try for free`,description:`Message on the webpage informing the user about a free trial`},"message.question1":{message:`Create a training plan`,description:`Example question to start a conversation, asking the user to write a JavaScript code that outputs Hello World`},"message.question2":{message:`Make a personal webpage`,description:`Example question to start a conversation, asking the user to write an email to Mike informing him that they just moved`},"message.question3":{message:`Design an interesting programming game`,description:`Example question to start a conversation, asking the user to explain the basic principles of quantum computing in simple terms`},"message.question4":{message:`Experience Seoul like a local`,description:`Example question to start a conversation, asking the user to explain the impact of virtual reality on artistic creation`},"message.question5":{message:`Which is larger, 9.8 or 9.11?`,description:`Example question to start a conversation, asking to compare the sizes of two numbers`},"message.question6":{message:`What impact does AI have on the future?`,description:`Example question to start a conversation, asking about the impact of AI on the future`},"message.question7":{message:`How to improve learning efficiency?`,description:`Example question to start a conversation, asking how to improve one's learning efficiency`},"message.question8":{message:`How to improve concentration?`,description:`Example question to start a conversation, asking how to improve one's concentration`},"message.errorApiError":{message:`Response failed, please try again later`,description:`Message on the webpage informing the user that the response failed, please try again later`},"message.errorBadRequest":{message:`Request content is not valid, please rephrase your question`,description:`Message on the webpage informing the user that the request content is not valid, please rephrase your question`},"message.errorNoConversation":{message:`Conversation does not exist or has expired, please start a new conversation`,description:`Message on the webpage informing the user that the conversation does not exist or has expired, please start a new conversation`},"message.errorContentTooLarge":{message:`Question content is too long, please shorten it and try again`,description:`Message on the webpage informing the user that the question content is too long, please shorten it and try again`},"message.errorTooManyRequests":{message:`Your requests are too frequent, please try again later`,description:`Message in the webpage informing the user that their requests are too frequent and to try again later`},"message.errorBusy":{message:`Server is busy, please try again later.`,description:`Message on the webpage informing the user that the server is busy and to try again later.`},"message.errorUsedUp":{message:`You have used up your package quota, please purchase more to continue using.`,description:`Message on the webpage informing the user that they have used up their package quota and need to purchase more to continue.`},"message.errorUnknown":{message:`An unknown error occurred on the server, please try again later or contact support.`,description:`Message on the webpage informing the user that an unknown error occurred on the server and to try again later or contact support.`},"message.errorTimeout":{message:`Response timed out, please try again later.`,description:`Message on the webpage informing the user that the response timed out and to try again later.`},"message.errorNotApplied":{message:`You have not applied for this service, please apply first before continuing to ask questions.`,description:`Message on the webpage informing the user that they have not applied for the service and need to apply first before continuing.`},"message.confirmDelete":{message:`Confirm deletion`,description:`Message on the webpage asking the user to confirm deletion.`},"message.howToUse":{message:`AI may make mistakes, please verify important information.`,description:`Message on the webpage informing the user that AI may make mistakes and to verify important information.`},"title.chat":{message:`AI Chat`,description:`Title of the webpage, which is AI Chat.`},"title.example":{message:`Example`,description:`Title of the webpage, which is Example.`},"title.capabilities":{message:`Capabilities`,description:`Title of the webpage, which is Capabilities.`},"title.limitations":{message:`Limitations`,description:`Title on the webpage indicating that this section is about the technical limitations of the service.`},"title.complexQuestion":{message:`Answering Complex Questions`,description:`Title on the webpage indicating that this section is about the service's ability to answer complex questions.`},"title.professionalQuestion":{message:`Consulting Professional Questions`,description:`Title on the webpage indicating that this section is about the service's ability to consult on professional questions.`},"title.getTips":{message:`Get Inspiration and Ideas`,description:`Title on the webpage indicating that this section is about the service's ability to provide inspiration and ideas.`},"group.today":{message:`Today`,description:`Group name on the webpage, which is Today.`},"group.yesterday":{message:`Yesterday`,description:`Group name on the webpage, which is Yesterday.`},"group.thisWeek":{message:`This Week`,description:`Group name on the webpage, which is This Week.`},"group.earlier":{message:`Earlier`,description:`Group name on the webpage, which is Earlier.`},"connections.tooltip":{message:`Connection Management`,description:`Tooltip for the button that redirects to the auth.acedata.cloud connection management page.`},"skill.tooltip":{message:`Skill Management`,description:`Tooltip for the button that redirects to the auth.acedata.cloud skill management page.`},"composer.addAction":{message:`Add Content`,description:`Tooltip for the plus button below the input box, which expands to upload files, open skills, or manage connections.`},"composer.addFiles":{message:`Add Photos or Files`,description:`Item in the popup menu of the plus button: upload images or files.`},"composer.skills":{message:`Skills`,description:`Item in the popup menu of the plus button: open skill management.`},"composer.connections":{message:`Connections`,description:`Item in the popup menu of the plus button: open connection management.`},"agent.title":{message:`Desktop Agent`,description:`Title of the agent management dialog.`},"agent.tooltip":{message:`Desktop Agent`,description:`Tooltip for the agent button.`},"agent.connected":{message:`Connected`,description:`Status indicating the agent is connected.`},"agent.notConnected":{message:`Not Connected`,description:`Status indicating the agent is not connected.`},"agent.description":{message:`Connect the desktop agent to access local files, run commands, and use the local MCP server in AI conversations.`,description:`Description of the agent.`},"agent.name":{message:`Agent Name`,description:`Label for the agent name.`},"agent.tools":{message:`Available Tools`,description:`Label for the number of agent tools.`},"agent.connectedSince":{message:`Connected Since`,description:`Label for the agent connection time.`},"agent.connectedHint":{message:`Your desktop agent is connected and ready to use.`,description:`Hint indicating the agent is connected.`},"agent.installLabel":{message:`Install Desktop Agent:`,description:`Installation instruction label`},"agent.runLabel":{message:`Run Agent:`,description:`Label for the run instruction`},"askUserQuestion.submit":{message:`Submit`,description:`Submit button for the last question in the ask-user-question wizard`},"askUserQuestion.next":{message:`Next Question`,description:`Advance to the next question in the ask-user-question wizard`},"askUserQuestion.back":{message:`Previous Question`,description:`Go back to the previous question in the ask-user-question wizard`},"askUserQuestion.skipAll":{message:`Skip All`,description:`Skip the entire ask-user-question wizard, allowing the model to continue without answers`},"askUserQuestion.other":{message:`Other`,description:`Pseudo-option; selecting this will expand a custom text input box for the question`},"askUserQuestion.otherDesc":{message:`Enter your own answer`,description:`Helper text below the other option`},"askUserQuestion.placeholder":{message:`Please enter your answer…`,description:`Placeholder text for the custom answer input box for each question`},"askUserQuestion.multiSelectHint":{message:`Select one or more options`,description:`Hint displayed when multiple choice questions are supported`},"askUserQuestion.collapsedAnswerLabel":{message:`Your Answer`,description:`Fallback text when a specific answer cannot be extracted from historical output`},"consent.title":{message:`Connector authorization needed`,description:`Title of the connector consent card`},"consent.matchAny":{message:`Authorize any of these`,description:`Label: any one of the listed connectors satisfies this requirement`},"consent.matchAll":{message:`Authorize all of these`,description:`Label: every listed connector must be authorized`},"consent.authorize":{message:`Authorize`,description:`Authorize button; opens the third-party OAuth flow`},"consent.skip":{message:`Skip`,description:`Skip button; continue without authorizing any connector`},"consent.continue":{message:`Continue`,description:`Continue button shown after we detect (post-OAuth) that the connector is now connected; submitting authorizes it.`},"consent.selectScopes":{message:`Select {provider} Authorization Scopes`,description:`Title of the scope picker dialog opened from the consent card; {provider} is the upstream provider name (e.g. Gmail).`},"consent.selectScopesHint":{message:`Select the permissions you wish to authorize. Multiple selections are allowed; by default, only basic login information is granted.`,description:`Body copy explaining that the user can opt out of specific scopes; rendered above the checkbox group.`},"consent.installFailed":{message:`Authorization failed. Please try again.`,description:`Toast shown when the AuthBackend install endpoint returns an error from the consent card.`},"consent.statusConnected":{message:`Connected`,description:`Pill badge for already-connected connectors`},"consent.statusUnconnected":{message:`Unavailable`,description:`Pill badge for unconnected connectors with no install URL`},"consent.resolvedAuthorized":{message:`Authorized: {list}`,description:`Resolved banner after authorization; {list} = comma-separated connector ids`},"consent.resolvedSkipped":{message:`Connector authorization skipped`,description:`Resolved banner when the user clicked Skip`},"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.viewRuns":{message:`Run history`},"scheduledTasks.noConversation":{message:`No conversation`},"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:`Every minute`},"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.skills":{message:`Authorized Skills`},"scheduledTasks.form.skillsPlaceholder":{message:`Select Skills this task may run automatically`},"scheduledTasks.form.skillsHint":{message:`Selected Skills may skip interactive confirmation during scheduled background runs. Unselected Skills can still preview or wait for confirmation.`},"scheduledTasks.form.skillMissing":{message:`Not connected`},"scheduledTasks.form.mcpServers":{message:`Authorized MCP`},"scheduledTasks.form.mcpServersPlaceholder":{message:`Select MCP servers this task may load automatically`},"scheduledTasks.form.mcpServersHint":{message:`Selected MCP servers may be loaded and used during scheduled background runs. Unselected MCP servers will not load in unattended mode.`},"scheduledTasks.form.maxTurns":{message:`Max turns`},"scheduledTasks.form.maxTurnsHint":{message:`Maximum agent turns allowed per run (1–50). Too low a limit force-stops multi-step tasks (e.g. skills that run several Bash/doc-lookup steps) before they finish, leaving no final result. Default 50.`},"scheduledTasks.form.skillsConfirmTitle":{message:`Confirm unattended authorization`},"scheduledTasks.form.skillsConfirm":{message:`This task will allow {count} Skill/MCP item(s) to skip interactive confirmation or load restrictions in background runs: {skills}. They may send messages, publish content, or write to external services. Please confirm.`},"scheduledTasks.form.required":{message:`Please fill in task name and prompt`},"artifacts.navTitle":{message:`Outputs`,description:`Sidebar outputs entry`},"artifacts.title":{message:`My Outputs`,description:`Artifacts page title`},"artifacts.summaryTotal":{message:`{count} outputs produced`,description:`Artifacts summary total`},"artifacts.filterAll":{message:`All`,description:`Artifact kind filter - all`},"artifacts.empty":{message:`No outputs yet. After the AI publishes articles, generates images or sends emails for you, they will show up here automatically.`,description:`Artifacts empty hint`},"artifacts.loadError":{message:`Failed to load outputs`,description:`Artifacts load error`},"artifacts.actionError":{message:`Action failed, please retry`,description:`Artifact action error`},"artifacts.open":{message:`Open`,description:`Open artifact source link`},"artifacts.hide":{message:`Hide`,description:`Hide artifact`},"artifacts.delete":{message:`Delete`,description:`Delete artifact`},"artifacts.deleteConfirm":{message:`Permanently delete this output record?`,description:`Delete artifact confirm`},"artifacts.loadMore":{message:`Load more`,description:`Load more artifacts`},"artifacts.sourceAuto":{message:`Auto-captured`,description:`Auto-capture source badge`},"artifacts.kind.article":{message:`Article`,description:`Artifact kind - Article`},"artifacts.kind.image":{message:`Image`,description:`Artifact kind - Image`},"artifacts.kind.video":{message:`Video`,description:`Artifact kind - Video`},"artifacts.kind.audio":{message:`Audio`,description:`Artifact kind - Audio`},"artifacts.kind.document":{message:`Document`,description:`Artifact kind - Document`},"artifacts.kind.email":{message:`Email`,description:`Artifact kind - Email`},"artifacts.kind.message":{message:`Message`,description:`Artifact kind - Message`},"artifacts.kind.dataset":{message:`Dataset`,description:`Artifact kind - Dataset`},"artifacts.kind.link":{message:`Link`,description:`Artifact kind - Link`},"artifacts.kind.other":{message:`Other`,description:`Artifact kind - Other`},"share.menu":{message:`Share`,description:`Sidebar/toolbar menu item that opens the share-conversation dialog`},"share.dialogTitle":{message:`Share conversation`,description:`Title of the share-conversation dialog`},"share.description":{message:`Anyone with the link can view this conversation. They cannot continue the chat.`,description:`Explains what happens when a conversation is shared`},"share.createLink":{message:`Create share link`,description:`Button that creates a public share link for the conversation`},"share.copy":{message:`Copy link`,description:`Button that copies the share link to the clipboard`},"share.copied":{message:`Copied`,description:`Label shown briefly on the copy button after the link is copied`},"share.disable":{message:`Disable link`,description:`Button that revokes the share link so the URL stops working`},"share.disabled":{message:`Share link disabled.`,description:`Message shown after the share link is disabled`},"share.needLogin":{message:`Please sign in first to share this conversation.`,description:`Error shown when a guest tries to share a conversation without signing in`},"share.noConversation":{message:`Open a conversation first, then share it.`,description:`Error shown when the share button is used with no active conversation`},"share.createFailed":{message:`Failed to create share link, please try again later.`,description:`Error toast when creating a share link fails`},"share.disableFailed":{message:`Failed to disable share link, please try again later.`,description:`Error toast when revoking a share link fails`},"share.startYourOwn":{message:`Start your own chat`,description:`Call-to-action shown on the public share page linking anonymous viewers to the app home`},"share.unavailableTitle":{message:`This shared conversation is unavailable.`,description:`Heading shown on the public share page when the share link is invalid or revoked`},"share.unavailableHint":{message:`The owner may have disabled the link or the URL is incorrect.`,description:`Hint shown on the public share page when the share link is invalid or revoked`},"share.viewOnly":{message:`View-only shared conversation`,description:`Badge shown on the public share page indicating the conversation is read-only`},"share.untitled":{message:`Untitled conversation`,description:`Placeholder title used when a shared conversation has no title`},"share.footerNote":{message:`You are viewing a shared conversation. To chat with AI yourself, click above.`,description:`Footer note shown on the public share page under the conversation`}};export{e as default};
1
+ var e={"thinking.inProgress":{message:`Thinking...`,description:`Label displayed while the model is generating the reasoning process`},"thinking.done":{message:`Reasoning Process`,description:`Label used to collapse the display of the reasoning process after the model completes reasoning`},"button.thinkDeeper":{message:`Think Deeper`,description:`Button for deeper thinking`},"button.deepsearch":{message:`Deep Search`,description:`Button for deep search`},"button.search":{message:`Search`,description:`Search button`},"button.edit":{message:`Edit Message`,description:`Edit the sent message`},"modelGroup.chatgpt":{message:`ChatGPT`,description:`Name of the service model, i.e., GPT`},"modelGroup.chatgptDescription":{message:`AI model developed by OpenAI`,description:`Description of the ChatGPT model`},"modelGroup.deepseek":{message:`DeepSeek`,description:`Name of the service model, i.e., DeepSeek`},"modelGroup.deepseekDescription":{message:`AI model developed by DeepSeek Inc.`,description:`Description of the DeepSeek model`},"modelGroup.grok":{message:`Grok`,description:`Name of the service model, i.e., Grok`},"modelGroup.grokDescription":{message:`AI model developed by xAI`,description:`Description of the Grok model`},"modelGroup.gemini":{message:`Gemini`,description:`Name of the service model, i.e., Gemini`},"modelGroup.geminiDescription":{message:`AI model developed by Google`,description:`Description of the Gemini model group`},"modelGroup.claude":{message:`Claude`,description:`Name of the service model, i.e., Claude`},"modelGroup.claudeDescription":{message:`AI model developed by Anthropic`,description:`Description of the Claude model group`},"modelGroup.kimi":{message:`Kimi`,description:`Name of the service model, i.e., Kimi`},"modelGroup.kimiDescription":{message:`AI model developed by Dark Side of the Moon Inc.`,description:`Description of the Kimi model group`},"modelGroup.glm":{message:`GLM`,description:`Name of the service model, i.e., GLM`},"modelGroup.glmDescription":{message:`Large language model developed by Zhipu AI`,description:`Description of the GLM model group`},"model.55":{message:`gpt-5.5`,description:`Name of the service model, i.e., GPT 5.5`},"model.55Description":{message:`Latest flagship GPT 5.5 model`,description:`Description of the GPT 5.5 model`},"model.54":{message:`gpt-5.4`,description:`Name of the service model, i.e., GPT 5.4`},"model.54Description":{message:`Latest flagship GPT 5.4 model`,description:`Description of the GPT 5.4 model`},"model.54Mini":{message:`gpt-5.4-mini`,description:`Name of the service model, i.e., GPT 5.4 Mini`},"model.54MiniDescription":{message:`Faster and lighter GPT 5.4 model`,description:`Description of the GPT 5.4 Mini model`},"model.freeTag":{message:`Free`,description:`Badge shown next to free models in the model selector`},"model.deepseekChat":{message:`3.0`,description:`Name of the service model, i.e., DeepSeek Chat`},"model.deepseekChatDescription":{message:`Suitable for everyday tasks`,description:`Description of the DeepSeek Chat model`},"model.deepseekReasoner":{message:`R1`,description:`Name of the service model, i.e., DeepSeek Reasoner`},"model.deepseekReasonerDescription":{message:`Suitable for reasoning and deep thinking questions`,description:`Description of the DeepSeek Reasoner model`},"model.deepseekChat32":{message:`3.2`,description:`Name of the service model, i.e., DeepSeek V3.2 Exp`},"model.deepseekChat32Description":{message:`Latest experimental version`,description:`Description of the DeepSeek V3.2 experimental model`},"model.deepseekV4Flash":{message:`4.0`,description:`Name of the service model, i.e., DeepSeek V4 Flash`},"model.deepseekV4FlashDescription":{message:`Latest lightweight flagship, 1M context`,description:`Description of the DeepSeek V4 Flash model`},"model.grok4":{message:`grok-4`,description:`Name of the service model, i.e., Grok 4`},"model.grok4Description":{message:`Currently the most advanced model`,description:`Description of the Grok 4 model`},"model.grok3":{message:`grok-3`,description:`Name of the service model`},"model.grok3Description":{message:`Suitable for most tasks`,description:`Description of the Grok3 model`},"model.gemini30Pro":{message:`gemini-3.0-pro`,description:`Name of the service model, i.e., Gemini 3.0 Pro`},"model.gemini30ProDescription":{message:`Currently the most advanced model`,description:`Description of the Gemini 3.0 Pro model`},"model.gemini31Pro":{message:`gemini-3.1-pro`,description:`Name of the service model, i.e., Gemini 3.0 Pro`},"model.gemini31ProDescription":{message:`Currently the most advanced model`,description:`Description of the Gemini 3.0 Pro model`},"model.gemini25Pro":{message:`gemini-2.5-pro`,description:`Name of the service model, i.e., Gemini 2.5 Pro`},"model.gemini25ProDescription":{message:`Suitable for complex reasoning tasks`,description:`Description of the Gemini 2.5 Pro model`},"model.gemini25Flash":{message:`gemini-2.5-flash`,description:`Name of the service model, i.e., Gemini 2.5 Flash`},"model.gemini25FlashDescription":{message:`Faster and lighter model`,description:`Description of the Gemini 2.5 Flash model`},"model.gemini35Flash":{message:`gemini-3.5-flash`,description:`Name of the service model, i.e., Gemini 2.5 Flash`},"model.gemini35FlashDescription":{message:`Faster and lighter model`,description:`Description of the Gemini 2.5 Flash model`},"model.claudeOpus48":{message:`claude-opus-4.8`,description:`Name of the service model, i.e., Claude Opus 4.8`},"model.claudeOpus48Description":{message:`Currently the most advanced model`,description:`Description of the Claude Opus 4.8 model`},"model.claudeSonnet46":{message:`claude-sonnet-4.6`,description:`The model name of the service, which is Claude Sonnet 4.6`},"model.claudeSonnet46Description":{message:`Suitable for most tasks`,description:`Description of the Claude Sonnet 4.6 model`},"model.claudeHaiku45":{message:`claude-haiku-4.5`,description:`Name of the service model, i.e., Claude Haiku 4.5`},"model.claudeHaiku45Description":{message:`Lightweight and fast model`,description:`Description of the Claude Haiku 4.5 model`},"model.kimiK25":{message:`kimi-k2.5`,description:`Name of the service model, i.e., Kimi K2.5`},"model.kimiK25Description":{message:`Currently the most advanced model`,description:`Description of the Kimi K2.5 model`},"model.kimiK2Thinking":{message:`kimi-k2 reasoning`,description:`Name of the service model, i.e., Kimi K2 reasoning`},"model.kimiK2ThinkingDescription":{message:`Suitable for reasoning and deep thinking questions`,description:`Description of the Kimi K2 reasoning model`},"model.kimiK2ThinkingTurbo":{message:`kimi-k2 turbo reasoning`,description:`Name of the service model, i.e., Kimi K2 turbo reasoning`},"model.kimiK2ThinkingTurboDescription":{message:`Faster reasoning model`,description:`Description of the Kimi K2 turbo reasoning model`},"model.glm51":{message:`glm-5.1`,description:`Name of the service model, i.e., GLM 5.1`},"model.glm51Description":{message:`Latest flagship model from Zhipu`,description:`Description of the GLM 5.1 model`},"model.glm47":{message:`glm-4.7`,description:`Name of the service model, i.e., GLM 4.7`},"model.glm47Description":{message:`Balanced performance and cost`,description:`Description of the GLM 4.7 model`},"message.startNewChat":{message:`Start new conversation`,description:`Message on the webpage informing the user to start a new conversation`},"message.uploadFile":{message:`Upload file`,description:`Message on the webpage informing the user to upload a file`},"message.noToken":{message:`Please apply for the relevant service first`,description:`Message on the webpage informing the user to apply for the relevant service first`},"message.newMessagePlaceholder":{message:`Please enter your question...`,description:`Placeholder on the webpage informing the user to enter a question`},"message.noInput":{message:`Question cannot be empty`,description:`Message on the webpage informing the user that the question cannot be empty`},"message.uploadReferencesExceed":{message:`You can upload a maximum of 1 file`,description:`Message on the webpage informing the user that they can upload a maximum of 1 file`},"message.uploadReferencesError":{message:`File upload failed, please try again later`,description:`Message on the webpage informing the user that the file upload failed, please try again later`},"message.notApplied":{message:`You have not applied for this service, please apply first`,description:`Message on the webpage informing the user that they have not applied for this service, please apply first`},"message.tryForFree":{message:`Try for free`,description:`Message on the webpage informing the user about a free trial`},"message.question1":{message:`Create a training plan`,description:`Example question to start a conversation, asking the user to write a JavaScript code that outputs Hello World`},"message.question2":{message:`Make a personal webpage`,description:`Example question to start a conversation, asking the user to write an email to Mike informing him that they just moved`},"message.question3":{message:`Design an interesting programming game`,description:`Example question to start a conversation, asking the user to explain the basic principles of quantum computing in simple terms`},"message.question4":{message:`Experience Seoul like a local`,description:`Example question to start a conversation, asking the user to explain the impact of virtual reality on artistic creation`},"message.question5":{message:`Which is larger, 9.8 or 9.11?`,description:`Example question to start a conversation, asking to compare the sizes of two numbers`},"message.question6":{message:`What impact does AI have on the future?`,description:`Example question to start a conversation, asking about the impact of AI on the future`},"message.question7":{message:`How to improve learning efficiency?`,description:`Example question to start a conversation, asking how to improve one's learning efficiency`},"message.question8":{message:`How to improve concentration?`,description:`Example question to start a conversation, asking how to improve one's concentration`},"message.errorApiError":{message:`Response failed, please try again later`,description:`Message on the webpage informing the user that the response failed, please try again later`},"message.errorBadRequest":{message:`Request content is not valid, please rephrase your question`,description:`Message on the webpage informing the user that the request content is not valid, please rephrase your question`},"message.errorNoConversation":{message:`Conversation does not exist or has expired, please start a new conversation`,description:`Message on the webpage informing the user that the conversation does not exist or has expired, please start a new conversation`},"message.errorContentTooLarge":{message:`Question content is too long, please shorten it and try again`,description:`Message on the webpage informing the user that the question content is too long, please shorten it and try again`},"message.errorTooManyRequests":{message:`Your requests are too frequent, please try again later`,description:`Message in the webpage informing the user that their requests are too frequent and to try again later`},"message.errorBusy":{message:`Server is busy, please try again later.`,description:`Message on the webpage informing the user that the server is busy and to try again later.`},"message.errorUsedUp":{message:`You have used up your package quota, please purchase more to continue using.`,description:`Message on the webpage informing the user that they have used up their package quota and need to purchase more to continue.`},"message.errorUnknown":{message:`An unknown error occurred on the server, please try again later or contact support.`,description:`Message on the webpage informing the user that an unknown error occurred on the server and to try again later or contact support.`},"message.errorTimeout":{message:`Response timed out, please try again later.`,description:`Message on the webpage informing the user that the response timed out and to try again later.`},"message.errorNotApplied":{message:`You have not applied for this service, please apply first before continuing to ask questions.`,description:`Message on the webpage informing the user that they have not applied for the service and need to apply first before continuing.`},"message.confirmDelete":{message:`Confirm deletion`,description:`Message on the webpage asking the user to confirm deletion.`},"message.howToUse":{message:`AI may make mistakes, please verify important information.`,description:`Message on the webpage informing the user that AI may make mistakes and to verify important information.`},"title.chat":{message:`AI Chat`,description:`Title of the webpage, which is AI Chat.`},"title.example":{message:`Example`,description:`Title of the webpage, which is Example.`},"title.capabilities":{message:`Capabilities`,description:`Title of the webpage, which is Capabilities.`},"title.limitations":{message:`Limitations`,description:`Title on the webpage indicating that this section is about the technical limitations of the service.`},"title.complexQuestion":{message:`Answering Complex Questions`,description:`Title on the webpage indicating that this section is about the service's ability to answer complex questions.`},"title.professionalQuestion":{message:`Consulting Professional Questions`,description:`Title on the webpage indicating that this section is about the service's ability to consult on professional questions.`},"title.getTips":{message:`Get Inspiration and Ideas`,description:`Title on the webpage indicating that this section is about the service's ability to provide inspiration and ideas.`},"group.today":{message:`Today`,description:`Group name on the webpage, which is Today.`},"group.yesterday":{message:`Yesterday`,description:`Group name on the webpage, which is Yesterday.`},"group.thisWeek":{message:`This Week`,description:`Group name on the webpage, which is This Week.`},"group.earlier":{message:`Earlier`,description:`Group name on the webpage, which is Earlier.`},"connections.tooltip":{message:`Connection Management`,description:`Tooltip for the button that redirects to the auth.acedata.cloud connection management page.`},"skill.tooltip":{message:`Skill Management`,description:`Tooltip for the button that redirects to the auth.acedata.cloud skill management page.`},"composer.addAction":{message:`Add Content`,description:`Tooltip for the plus button below the input box, which expands to upload files, open skills, or manage connections.`},"composer.addFiles":{message:`Add Photos or Files`,description:`Item in the popup menu of the plus button: upload images or files.`},"composer.skills":{message:`Skills`,description:`Item in the popup menu of the plus button: open skill management.`},"composer.connections":{message:`Connections`,description:`Item in the popup menu of the plus button: open connection management.`},"agent.title":{message:`Desktop Agent`,description:`Title of the agent management dialog.`},"agent.tooltip":{message:`Desktop Agent`,description:`Tooltip for the agent button.`},"agent.connected":{message:`Connected`,description:`Status indicating the agent is connected.`},"agent.notConnected":{message:`Not Connected`,description:`Status indicating the agent is not connected.`},"agent.description":{message:`Connect the desktop agent to access local files, run commands, and use the local MCP server in AI conversations.`,description:`Description of the agent.`},"agent.name":{message:`Agent Name`,description:`Label for the agent name.`},"agent.tools":{message:`Available Tools`,description:`Label for the number of agent tools.`},"agent.connectedSince":{message:`Connected Since`,description:`Label for the agent connection time.`},"agent.connectedHint":{message:`Your desktop agent is connected and ready to use.`,description:`Hint indicating the agent is connected.`},"agent.installLabel":{message:`Install Desktop Agent:`,description:`Installation instruction label`},"agent.runLabel":{message:`Run Agent:`,description:`Label for the run instruction`},"askUserQuestion.submit":{message:`Submit`,description:`Submit button for the last question in the ask-user-question wizard`},"askUserQuestion.next":{message:`Next Question`,description:`Advance to the next question in the ask-user-question wizard`},"askUserQuestion.back":{message:`Previous Question`,description:`Go back to the previous question in the ask-user-question wizard`},"askUserQuestion.skipAll":{message:`Skip All`,description:`Skip the entire ask-user-question wizard, allowing the model to continue without answers`},"askUserQuestion.other":{message:`Other`,description:`Pseudo-option; selecting this will expand a custom text input box for the question`},"askUserQuestion.otherDesc":{message:`Enter your own answer`,description:`Helper text below the other option`},"askUserQuestion.placeholder":{message:`Please enter your answer…`,description:`Placeholder text for the custom answer input box for each question`},"askUserQuestion.multiSelectHint":{message:`Select one or more options`,description:`Hint displayed when multiple choice questions are supported`},"askUserQuestion.collapsedAnswerLabel":{message:`Your Answer`,description:`Fallback text when a specific answer cannot be extracted from historical output`},"consent.title":{message:`Connector authorization needed`,description:`Title of the connector consent card`},"consent.matchAny":{message:`Authorize any of these`,description:`Label: any one of the listed connectors satisfies this requirement`},"consent.matchAll":{message:`Authorize all of these`,description:`Label: every listed connector must be authorized`},"consent.authorize":{message:`Authorize`,description:`Authorize button; opens the third-party OAuth flow`},"consent.skip":{message:`Skip`,description:`Skip button; continue without authorizing any connector`},"consent.continue":{message:`Continue`,description:`Continue button shown after we detect (post-OAuth) that the connector is now connected; submitting authorizes it.`},"consent.selectScopes":{message:`Select {provider} Authorization Scopes`,description:`Title of the scope picker dialog opened from the consent card; {provider} is the upstream provider name (e.g. Gmail).`},"consent.selectScopesHint":{message:`Select the permissions you wish to authorize. Multiple selections are allowed; by default, only basic login information is granted.`,description:`Body copy explaining that the user can opt out of specific scopes; rendered above the checkbox group.`},"consent.installFailed":{message:`Authorization failed. Please try again.`,description:`Toast shown when the AuthBackend install endpoint returns an error from the consent card.`},"consent.statusConnected":{message:`Connected`,description:`Pill badge for already-connected connectors`},"consent.statusUnconnected":{message:`Unavailable`,description:`Pill badge for unconnected connectors with no install URL`},"consent.resolvedAuthorized":{message:`Authorized: {list}`,description:`Resolved banner after authorization; {list} = comma-separated connector ids`},"consent.resolvedSkipped":{message:`Connector authorization skipped`,description:`Resolved banner when the user clicked Skip`},"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.viewRuns":{message:`Run history`},"scheduledTasks.noConversation":{message:`No conversation`},"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:`Every minute`},"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.skills":{message:`Authorized Skills`},"scheduledTasks.form.skillsPlaceholder":{message:`Select Skills this task may run automatically`},"scheduledTasks.form.skillsHint":{message:`Selected Skills may skip interactive confirmation during scheduled background runs. Unselected Skills can still preview or wait for confirmation.`},"scheduledTasks.form.skillMissing":{message:`Not connected`},"scheduledTasks.form.mcpServers":{message:`Authorized MCP`},"scheduledTasks.form.mcpServersPlaceholder":{message:`Select MCP servers this task may load automatically`},"scheduledTasks.form.mcpServersHint":{message:`Selected MCP servers may be loaded and used during scheduled background runs. Unselected MCP servers will not load in unattended mode.`},"scheduledTasks.form.maxTurns":{message:`Max turns`},"scheduledTasks.form.maxTurnsHint":{message:`Maximum agent turns allowed per run (1–50). Too low a limit force-stops multi-step tasks (e.g. skills that run several Bash/doc-lookup steps) before they finish, leaving no final result. Default 50.`},"scheduledTasks.form.skillsConfirmTitle":{message:`Confirm unattended authorization`},"scheduledTasks.form.skillsConfirm":{message:`This task will allow {count} Skill/MCP item(s) to skip interactive confirmation or load restrictions in background runs: {skills}. They may send messages, publish content, or write to external services. Please confirm.`},"scheduledTasks.form.required":{message:`Please fill in task name and prompt`},"artifacts.navTitle":{message:`Artifacts`,description:`Sidebar artifacts entry`},"artifacts.title":{message:`My Artifacts`,description:`Artifacts page title`},"artifacts.summaryTotal":{message:`{count} artifacts`,description:`Artifacts summary total`},"artifacts.filterAll":{message:`All`,description:`Artifact kind filter - all`},"artifacts.empty":{message:`No artifacts yet. After the AI publishes articles, generates images or sends emails for you, they will show up here automatically.`,description:`Artifacts empty hint`},"artifacts.loadError":{message:`Failed to load artifacts`,description:`Artifacts load error`},"artifacts.actionError":{message:`Action failed, please retry`,description:`Artifact action error`},"artifacts.open":{message:`Open`,description:`Open artifact source link`},"artifacts.hide":{message:`Hide`,description:`Hide artifact`},"artifacts.unhide":{message:`Unhide`,description:`Restore a hidden artifact`},"artifacts.showHidden":{message:`Show hidden`,description:`Toggle in the filter bar to include hidden artifacts`},"artifacts.hiddenBadge":{message:`Hidden`,description:`Badge shown on artifacts that are currently hidden`},"artifacts.delete":{message:`Delete`,description:`Delete artifact`},"artifacts.deleteConfirm":{message:`Permanently delete this artifact?`,description:`Delete artifact confirm`},"artifacts.loadMore":{message:`Load more`,description:`Load more artifacts`},"artifacts.sourceAuto":{message:`Auto-captured`,description:`Auto-capture source badge`},"artifacts.kind.article":{message:`Article`,description:`Artifact kind - Article`},"artifacts.kind.image":{message:`Image`,description:`Artifact kind - Image`},"artifacts.kind.video":{message:`Video`,description:`Artifact kind - Video`},"artifacts.kind.audio":{message:`Audio`,description:`Artifact kind - Audio`},"artifacts.kind.document":{message:`Document`,description:`Artifact kind - Document`},"artifacts.kind.email":{message:`Email`,description:`Artifact kind - Email`},"artifacts.kind.message":{message:`Message`,description:`Artifact kind - Message`},"artifacts.kind.dataset":{message:`Dataset`,description:`Artifact kind - Dataset`},"artifacts.kind.link":{message:`Link`,description:`Artifact kind - Link`},"artifacts.kind.other":{message:`Other`,description:`Artifact kind - Other`},"share.menu":{message:`Share`,description:`Sidebar/toolbar menu item that opens the share-conversation dialog`},"share.dialogTitle":{message:`Share conversation`,description:`Title of the share-conversation dialog`},"share.description":{message:`Anyone with the link can view this conversation. They cannot continue the chat.`,description:`Explains what happens when a conversation is shared`},"share.createLink":{message:`Create share link`,description:`Button that creates a public share link for the conversation`},"share.copy":{message:`Copy link`,description:`Button that copies the share link to the clipboard`},"share.copied":{message:`Copied`,description:`Label shown briefly on the copy button after the link is copied`},"share.disable":{message:`Disable link`,description:`Button that revokes the share link so the URL stops working`},"share.disabled":{message:`Share link disabled.`,description:`Message shown after the share link is disabled`},"share.needLogin":{message:`Please sign in first to share this conversation.`,description:`Error shown when a guest tries to share a conversation without signing in`},"share.noConversation":{message:`Open a conversation first, then share it.`,description:`Error shown when the share button is used with no active conversation`},"share.createFailed":{message:`Failed to create share link, please try again later.`,description:`Error toast when creating a share link fails`},"share.disableFailed":{message:`Failed to disable share link, please try again later.`,description:`Error toast when revoking a share link fails`},"share.startYourOwn":{message:`Start your own chat`,description:`Call-to-action shown on the public share page linking anonymous viewers to the app home`},"share.unavailableTitle":{message:`This shared conversation is unavailable.`,description:`Heading shown on the public share page when the share link is invalid or revoked`},"share.unavailableHint":{message:`The owner may have disabled the link or the URL is incorrect.`,description:`Hint shown on the public share page when the share link is invalid or revoked`},"share.viewOnly":{message:`View-only shared conversation`,description:`Badge shown on the public share page indicating the conversation is read-only`},"share.untitled":{message:`Untitled conversation`,description:`Placeholder title used when a shared conversation has no title`},"share.footerNote":{message:`You are viewing a shared conversation. To chat with AI yourself, click above.`,description:`Footer note shown on the public share page under the conversation`}};export{e as default};
@@ -1 +1 @@
1
- var e={"thinking.inProgress":{message:`Ajatellaan...`,description:`Malli näyttää etiketin, kun se generoi päättelyprosessia`},"thinking.done":{message:`Päättelyprosessi`,description:`Malli käyttää etikettiä päättelyprosessin esittämiseen, kun se on valmis`},"button.thinkDeeper":{message:`Syvempää ajattelua`,description:`Syvempää ajattelua -painike`},"button.deepsearch":{message:`Syvä haku`,description:`Syvä haku -painike`},"button.search":{message:`Haku`,description:`Haku -painike`},"button.edit":{message:`Muokkaa viestiä`,description:`Muokkaa lähetettyä viestiä`},"modelGroup.chatgpt":{message:`ChatGPT`,description:`Palvelun mallin nimi, eli GPT`},"modelGroup.chatgptDescription":{message:`OpenAI:n kehittämä AI-malli`,description:`ChatGPT-mallin kuvaus`},"modelGroup.deepseek":{message:`DeepSeek`,description:`Palvelun mallin nimi, eli DeepSeek`},"modelGroup.deepseekDescription":{message:`DeepSeek-yhtiön kehittämä AI-malli`,description:`DeepSeek-mallin kuvaus`},"modelGroup.grok":{message:`Grok`,description:`Palvelun mallin nimi, eli Grok`},"modelGroup.grokDescription":{message:`xAI:n kehittämä AI-malli`,description:`Grok3-mallin kuvaus`},"modelGroup.gemini":{message:`Gemini`,description:`Palvelun mallin nimi, eli Gemini`},"modelGroup.geminiDescription":{message:`Google:n kehittämä AI-malli`,description:`Gemini-malliryhmän kuvaus`},"modelGroup.claude":{message:`Claude`,description:`Palvelun mallin nimi, eli Claude`},"modelGroup.claudeDescription":{message:`Anthropic-yhtiön kehittämä AI-malli`,description:`Claude-malliryhmän kuvaus`},"modelGroup.kimi":{message:`Kimi`,description:`Palvelun mallin nimi, eli Kimi`},"modelGroup.kimiDescription":{message:`Kuun pimeä puoli -yhtiön kehittämä AI-malli`,description:`Kimi-malliryhmän kuvaus`},"modelGroup.glm":{message:`GLM`,description:`Palvelun mallin nimi, eli GLM`},"modelGroup.glmDescription":{message:`Zhìpǔ AI:n kehittämä suuri kielimalli`,description:`GLM-malliryhmän kuvaus`},"model.55":{message:`gpt-5.5`,description:`Palvelun mallin nimi, eli GPT 5.5`},"model.55Description":{message:`Uuden sukupolven lippulaivamalli GPT 5.5`,description:`GPT 5.5 -mallin kuvaus`},"model.54":{message:`gpt-5.4`,description:`Palvelun mallin nimi, eli GPT 5.4`},"model.54Description":{message:`Uuden sukupolven lippulaivamalli GPT 5.4`,description:`GPT 5.4 -mallin kuvaus`},"model.54Mini":{message:`gpt-5.4-mini`,description:`Palvelun mallin nimi, eli GPT 5.4 Mini`},"model.54MiniDescription":{message:`Nopeampi ja kevyempi GPT 5.4 -malli`,description:`GPT 5.4 Mini -mallin kuvaus`},"model.freeTag":{message:`Ilmainen`,description:`Merkki, joka näkyy ilmaisten mallien vieressä mallinvalitsimessa`},"model.deepseekChat":{message:`3.0`,description:`Palvelun mallin nimi, eli DeepSeek Chat`},"model.deepseekChatDescription":{message:`Soveltuu päivittäisiin tehtäviin`,description:`DeepSeek Chat -mallin kuvaus`},"model.deepseekReasoner":{message:`R1`,description:`Palvelun mallin nimi, eli DeepSeek Reasoner`},"model.deepseekReasonerDescription":{message:`Soveltuu päättelyyn ja syvään ajatteluun`,description:`DeepSeek Reasoner -mallin kuvaus`},"model.deepseekChat32":{message:`3.2`,description:`Palvelun mallin nimi, eli DeepSeek V3.2 Exp`},"model.deepseekChat32Description":{message:`Uusin kokeellinen versio`,description:`DeepSeek V3.2 -kokeellisen mallin kuvaus`},"model.deepseekV4Flash":{message:`4.0`,description:`Palvelun mallin nimi, eli DeepSeek V4 Flash`},"model.deepseekV4FlashDescription":{message:`Uuden sukupolven kevyt lippulaiva, 1M konteksti`,description:`DeepSeek V4 Flash -mallin kuvaus`},"model.grok4":{message:`grok-4`,description:`Palvelun mallin nimi, eli Grok 4`},"model.grok4Description":{message:`Tällä hetkellä edistyksellisin malli`,description:`Grok 4 -mallin kuvaus`},"model.grok3":{message:`grok-3`,description:`Palvelun mallin nimi`},"model.grok3Description":{message:`Soveltuu useimpiin tehtäviin`,description:`Grok3-mallin kuvaus`},"model.gemini30Pro":{message:`gemini-3.0-pro`,description:`Palvelun mallin nimi, eli Gemini 3.0 Pro`},"model.gemini30ProDescription":{message:`Tällä hetkellä edistyksellisin malli`,description:`Gemini 3.0 Pro -mallin kuvaus`},"model.gemini31Pro":{message:`gemini-3.1-pro`,description:`Palvelun mallin nimi, eli Gemini 3.0 Pro`},"model.gemini31ProDescription":{message:`Tällä hetkellä edistyksellisin malli`,description:`Gemini 3.0 Pro -mallin kuvaus`},"model.gemini25Pro":{message:`gemini-2.5-pro`,description:`Palvelun mallin nimi, eli Gemini 2.5 Pro`},"model.gemini25ProDescription":{message:`Soveltuu monimutkaisiin päättelytehtäviin`,description:`Gemini 2.5 Pro -mallin kuvaus`},"model.gemini25Flash":{message:`gemini-2.5-flash`,description:`Palvelun mallin nimi, eli Gemini 2.5 Flash`},"model.gemini25FlashDescription":{message:`Nopeampi ja kevyempi malli`,description:`Gemini 2.5 Flash -mallin kuvaus`},"model.gemini35Flash":{message:`gemini-3.5-flash`,description:`Palvelun mallin nimi, eli Gemini 2.5 Flash`},"model.gemini35FlashDescription":{message:`Nopeampi ja kevyempi malli`,description:`Gemini 2.5 Flash -mallin kuvaus`},"model.claudeOpus48":{message:`claude-opus-4.8`,description:`Palvelun mallin nimi, eli Claude Opus 4.8`},"model.claudeOpus48Description":{message:`Tällä hetkellä edistynein malli`,description:`Claude Opus 4.8 mallin kuvaus`},"model.claudeSonnet46":{message:`claude-sonnet-4.6`,description:`Palvelun mallin nimi, eli Claude Sonnet 4.6`},"model.claudeSonnet46Description":{message:`Soveltuu useimpiin tehtäviin`,description:`Claude Sonnet 4.6 mallin kuvaus`},"model.claudeHaiku45":{message:`claude-haiku-4.5`,description:`Palvelun mallin nimi, eli Claude Haiku 4.5`},"model.claudeHaiku45Description":{message:`Kevyt ja nopea malli`,description:`Claude Haiku 4.5 mallin kuvaus`},"model.kimiK25":{message:`kimi-k2.5`,description:`Palvelun mallin nimi, eli Kimi K2.5`},"model.kimiK25Description":{message:`Tällä hetkellä huipputason malli`,description:`Kimi K2.5 mallin kuvaus`},"model.kimiK2Thinking":{message:`kimi-k2 päättely`,description:`Palvelun mallin nimi, eli Kimi K2 päättely`},"model.kimiK2ThinkingDescription":{message:`Soveltuu päättelyyn ja syvälliseen ajatteluun`,description:`Kimi K2 päättelymallin kuvaus`},"model.kimiK2ThinkingTurbo":{message:`kimi-k2 turbo päättely`,description:`Palvelun mallin nimi, eli Kimi K2 turbo päättely`},"model.kimiK2ThinkingTurboDescription":{message:`Nopeampi päättelymalli`,description:`Kimi K2 turbo päättelymallin kuvaus`},"model.glm51":{message:`glm-5.1`,description:`Palvelun mallin nimi, eli GLM 5.1`},"model.glm51Description":{message:`Älykkään viimeisin lippulaivamalli`,description:`GLM 5.1 mallin kuvaus`},"model.glm47":{message:`glm-4.7`,description:`Palvelun mallin nimi, eli GLM 4.7`},"model.glm47Description":{message:`Tasapainottaa suorituskyvyn ja kustannukset`,description:`GLM 4.7 mallin kuvaus`},"message.startNewChat":{message:`Aloita uusi keskustelu`,description:`Verkkosivun viesti, joka kertoo käyttäjälle aloittaa uusi keskustelu`},"message.uploadFile":{message:`Lataa tiedosto`,description:`Verkkosivun viesti, joka kertoo käyttäjälle ladata tiedosto`},"message.noToken":{message:`Hae ensin tarvittava palvelu`,description:`Verkkosivun viesti, joka kertoo käyttäjälle hakea ensin tarvittava palvelu`},"message.newMessagePlaceholder":{message:`Syötä kysymyksesi...`,description:`Verkkosivun paikkamerkki, joka kertoo käyttäjälle syöttää kysymyksen`},"message.noInput":{message:`Kysymys ei voi olla tyhjää`,description:`Verkkosivun viesti, joka kertoo käyttäjälle kysymyksen ei voi olla tyhjää`},"message.uploadReferencesExceed":{message:`Voit ladata enintään 1 tiedoston`,description:`Verkkosivun viesti, joka kertoo käyttäjälle voit ladata enintään 1 tiedoston`},"message.uploadReferencesError":{message:`Tiedoston lataus epäonnistui, yritä myöhemmin uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle tiedoston lataus epäonnistui, yritä myöhemmin uudelleen`},"message.notApplied":{message:`Et ole vielä hakenut tätä palvelua, hae ensin`,description:`Verkkosivun viesti, joka kertoo käyttäjälle et ole vielä hakenut tätä palvelua, hae ensin`},"message.tryForFree":{message:`Kokeile ilmaiseksi`,description:`Verkkosivun viesti, joka kertoo käyttäjälle kokeile ilmaiseksi`},"message.question1":{message:`Luo harjoitusohjelma`,description:`Keskustelun aloituskysymys, pyytää käyttäjää kirjoittamaan JavaScript-koodi, joka tulostaa Hello World`},"message.question2":{message:`Tee henkilökohtainen verkkosivusto`,description:`Keskustelun aloituskysymys, pyytää käyttäjää kirjoittamaan Mike:lle sähköpostia, kertomaan että on juuri muuttanut`},"message.question3":{message:`Suunnittele mielenkiintoinen ohjelmointipeli`,description:`Keskustelun aloituskysymys, pyytää käyttäjää selittämään kvanttilaskennan perusperiaatteet yksinkertaisella kielellä`},"message.question4":{message:`Koe Soul kuin paikallinen`,description:`Keskustelun aloituskysymys, pyytää käyttäjää selittämään, mitä vaikutuksia virtuaalitodellisuudella on taiteelliseen luomiseen`},"message.question5":{message:`Kumpi on suurempi, 9.8 vai 9.11?`,description:`Keskustelun aloituskysymys, pyytää vertaamaan kahta numeroa`},"message.question6":{message:`Miten AI vaikuttaa tulevaisuuteen?`,description:`Keskustelun aloituskysymys, miten AI vaikuttaa tulevaisuuteen?`},"message.question7":{message:`Miten parantaa oppimisnopeutta?`,description:`Keskustelun aloituskysymys, miten parantaa omaa oppimisnopeutta?`},"message.question8":{message:`Miten parantaa keskittymiskykyä?`,description:`Keskustelun aloituskysymys, miten parantaa omaa keskittymiskykyä?`},"message.errorApiError":{message:`Vastaus epäonnistui, yritä myöhemmin uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle vastaus epäonnistui, yritä myöhemmin uudelleen`},"message.errorBadRequest":{message:`Pyyntö ei ole voimassa, yritä uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle pyyntö ei ole voimassa, yritä uudelleen`},"message.errorNoConversation":{message:`Keskustelua ei ole tai se on vanhentunut, aloita uusi keskustelu`,description:`Verkkosivun viesti, joka kertoo käyttäjälle keskustelua ei ole tai se on vanhentunut, aloita uusi keskustelu`},"message.errorContentTooLarge":{message:`Kysymyksen sisältö on liian pitkä, lyhennä ja yritä uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle kysymyksen sisältö on liian pitkä, lyhennä ja yritä uudelleen`},"message.errorTooManyRequests":{message:`Liian monta pyyntöä, yritä myöhemmin uudelleen`,description:`Verkkosivulla näkyvä viesti, joka kertoo käyttäjälle, että hänen toimintansa on liian usein, ja pyytää yrittämään myöhemmin uudelleen`},"message.errorBusy":{message:`Palvelin on kiireinen, yritä myöhemmin uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että palvelin on kiireinen, yritä myöhemmin uudelleen`},"message.errorUsedUp":{message:`Olet käyttänyt kaikki pakettisi, osta lisää jatkaaksesi käyttöä`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että olet käyttänyt kaikki pakettisi, osta lisää jatkaaksesi käyttöä`},"message.errorUnknown":{message:`Palvelimella tapahtui tuntematon virhe, yritä myöhemmin uudelleen tai ota yhteyttä asiakaspalveluun`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että palvelimella tapahtui tuntematon virhe, yritä myöhemmin uudelleen tai ota yhteyttä asiakaspalveluun`},"message.errorTimeout":{message:`Vastausaika ylitetty, yritä myöhemmin uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että vastausaika ylitetty, yritä myöhemmin uudelleen`},"message.errorNotApplied":{message:`Et ole vielä hakenut tätä palvelua, hae ensin ja jatka kysymistä`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että et ole vielä hakenut tätä palvelua, hae ensin ja jatka kysymistä`},"message.confirmDelete":{message:`Vahvista poisto`,description:`Verkkosivun viesti, joka kertoo käyttäjälle vahvistamaan poiston`},"message.howToUse":{message:`AI voi tehdä virheitä, tarkista tärkeät tiedot.`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että AI voi tehdä virheitä, tarkista tärkeät tiedot`},"title.chat":{message:`AI Keskustelu`,description:`Verkkosivun otsikko, eli AI Keskustelu`},"title.example":{message:`Esimerkki`,description:`Verkkosivun otsikko, eli Esimerkki`},"title.capabilities":{message:`Ominaisuudet`,description:`Verkkosivun otsikko, eli Ominaisuudet`},"title.limitations":{message:`Rajoitukset`,description:`Verkkosivun otsikko, joka osoittaa, että tämä osa sisältää palvelun tekniset rajoitukset`},"title.complexQuestion":{message:`Vastaaminen monimutkaisiin kysymyksiin`,description:`Verkkosivun otsikko, joka osoittaa, että tämä osa käsittelee palvelun kykyä vastata monimutkaisiin kysymyksiin`},"title.professionalQuestion":{message:`Konsultointi ammatillisissa kysymyksissä`,description:`Verkkosivun otsikko, joka osoittaa, että tämä osa käsittelee palvelun kykyä konsultoida ammatillisissa kysymyksissä`},"title.getTips":{message:`Inspiraation ja ideoiden saaminen`,description:`Verkkosivun otsikko, joka osoittaa, että tämä osa käsittelee palvelun kykyä saada inspiraatiota ja ideoita`},"group.today":{message:`Tänään`,description:`Verkkosivun ryhmän nimi, eli Tänään`},"group.yesterday":{message:`Eilen`,description:`Verkkosivun ryhmän nimi, eli Eilen`},"group.thisWeek":{message:`Tällä viikolla`,description:`Verkkosivun ryhmän nimi, eli Tällä viikolla`},"group.earlier":{message:`Aikaisemmin`,description:`Verkkosivun ryhmän nimi, eli Aikaisemmin`},"connections.tooltip":{message:`Yhteyksien hallinta`,description:`Painikevinkki, joka ohjaa auth.acedata.cloud yhteyksien hallintapaneeliin`},"skill.tooltip":{message:`Taitojen hallinta`,description:`Painikevinkki, joka ohjaa auth.acedata.cloud taitojen hallintapaneeliin`},"composer.addAction":{message:`Lisää sisältöä`,description:`Syöttökentän alapuolella olevan pluspainikkeen vinkki, avautuu tiedostojen lataamiseen, taitojen tai yhteyksien hallintaan`},"composer.addFiles":{message:`Lisää valokuvia tai tiedostoja`,description:`Pluspainikkeen avautuvan valikon kohta: lataa kuvia tai tiedostoja`},"composer.skills":{message:`Taidot`,description:`Pluspainikkeen avautuvan valikon kohta: avaa taitojen hallinta`},"composer.connections":{message:`Yhteydet`,description:`Pluspainikkeen avautuvan valikon kohta: avaa yhteyksien hallinta`},"agent.title":{message:`Työpöytäagentti`,description:`Agentinhallintakeskustelun otsikko`},"agent.tooltip":{message:`Työpöytäagentti`,description:`Agenttipainikkeen vinkki`},"agent.connected":{message:`Yhdistetty`,description:`Agentin yhdistetty tila`},"agent.notConnected":{message:`Ei yhdistetty`,description:`Agentin ei-yhdistetty tila`},"agent.description":{message:`Yhdistä työpöytäagentti päästäksesi paikallisiin tiedostoihin, suorittaaksesi komentoja ja käyttääksesi paikallista MCP-palvelinta AI-keskustelussa.`,description:`Agentin kuvaus`},"agent.name":{message:`Agentin nimi`,description:`Agentin nimen etiketti`},"agent.tools":{message:`Saatavilla olevat työkalut`,description:`Agentin työkalujen määrän etiketti`},"agent.connectedSince":{message:`Yhdistetty ajasta`,description:`Agentin yhdistämisajan etiketti`},"agent.connectedHint":{message:`Työpöytäagenttisi on yhdistetty ja käytettävissä.`,description:`Agentin yhdistetty vinkki`},"agent.installLabel":{message:`Asenna työpöytäagentti:`,description:`Asennusohjeen etiketti`},"agent.runLabel":{message:`Suorita agentti:`,description:`Suoritusohjeen etiketti`},"askUserQuestion.submit":{message:`Lähetä`,description:`ask-user-question -opastuksen viimeisen kysymyksen lähetyspainike`},"askUserQuestion.next":{message:`Seuraava kysymys`,description:`ask-user-question -opastus siirtyy seuraavaan kysymykseen`},"askUserQuestion.back":{message:`Edellinen kysymys`,description:`ask-user-question -opastus palaa edelliseen kysymykseen`},"askUserQuestion.skipAll":{message:`Ohita kaikki`,description:`Ohita koko ask-user-question -opastus, jotta malli voi jatkaa ilman vastauksia`},"askUserQuestion.other":{message:`Muu`,description:`Valevaihtoehto; valitsemalla tämä kysymys avaa mukautetun tekstikentän`},"askUserQuestion.otherDesc":{message:`Syötä oma vastauksesi`,description:`Muu vaihtoehto -kohdan alla oleva ohje`},"askUserQuestion.placeholder":{message:`Syötä vastaus…`,description:`Jokaisen kysymyksen mukautetun vastauskentän paikkamerkkiteksti`},"askUserQuestion.multiSelectHint":{message:`Valitse yksi tai useampi`,description:`Monivalintakysymyksissä näytettävä vihje`},"askUserQuestion.collapsedAnswerLabel":{message:`Vastauksesi`,description:`Kun ei voida poimia tarkkaa vastausta historiasta, käytetään tätä tekstiä`},"consent.title":{message:`Liittimen valtuutus vaaditaan`,description:`Liittimen valtuutuskortin otsikko`},"consent.matchAny":{message:`Valitse yksi riittää`,description:`Tunniste: Tämän ryhmän liittimistä yksi riittää tarpeen täyttämiseen`},"consent.matchAll":{message:`Kaikki vaativat valtuutuksen`,description:`Tunniste: Tämän ryhmän kaikki liittimet vaativat valtuutuksen`},"consent.authorize":{message:`Myönnä valtuutus`,description:`Valtuutuspainike, jonka klikkaaminen avaa kolmannen osapuolen valtuutussivun`},"consent.skip":{message:`Ohita valtuutus`,description:`Ohita valtuutuspainike; ohituksen jälkeen malli jatkaa ilman tätä liitintä`},"consent.continue":{message:`Jatka`,description:`Jatka-painike, joka näytetään, kun OAuth-paluun jälkeen havaitaan, että liitin on yhdistetty; napsautus lähettää valtuutuksen.`},"consent.selectScopes":{message:`Valitse {provider} -valtuutusalueet`,description:`Title of the scope picker dialog opened from the consent card; {provider} is the upstream provider name (e.g. Gmail).`},"consent.selectScopesHint":{message:`Valitse haluamasi valtuutukset. Voit valita useita, mutta oletuksena vain peruskirjautumistiedot myönnetään.`,description:`Body copy explaining that the user can opt out of specific scopes; rendered above the checkbox group.`},"consent.installFailed":{message:`Valtuutus epäonnistui. Yritä uudelleen.`,description:`Toast shown when the AuthBackend install endpoint returns an error from the consent card.`},"consent.statusConnected":{message:`Yhdistetty`,description:`Valtuutetun liittimen tilasymboli`},"consent.statusUnconnected":{message:`Ei yhdistetty`,description:`Liittimen tilasymboli, kun yhdistystä/valtuutusta ei ole`},"consent.resolvedAuthorized":{message:`Valtuutettu: {list}`,description:`Kortin alaosan ilmoitus käyttäjän valtuutuksen jälkeen, {list} on valtuutettujen liittimien lista`},"consent.resolvedSkipped":{message:`Liittimen valtuutus ohitettu`,description:`Kortin alaosan ilmoitus, kun käyttäjä ohittaa valtuutuksen`},"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.viewRuns":{message:`Run history`},"scheduledTasks.noConversation":{message:`Ei keskusteluhistoriaa`,description:`Suoritus ei ole liitetty keskusteluun (vanha versio suoritus)`},"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:`Joka minuutti`},"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.skills":{message:`Valtuuta taidot`,description:`Aikataulutetut tehtävät, joissa on valtuutettuja taitoja, usean valinnan vaihtoehto`},"scheduledTasks.form.skillsPlaceholder":{message:`Valitse taidot, jotka sallivat tämän tehtävän suorittaa automaattisesti`,description:`Valtuutettujen taitojen paikkamerkki`},"scheduledTasks.form.skillsHint":{message:`Valitut taidot voivat suorittaa taustalla ilman manuaalista vahvistusta; valitsemattomat taidot voivat vain esikatsella tai odottaa vahvistusta.`,description:`Valtuutettujen taitojen selitys`},"scheduledTasks.form.skillMissing":{message:`Ei yhdistetty`,description:`skill puuttuu yhteydestä`},"scheduledTasks.form.mcpServers":{message:`Valtuuta MCP`,description:`Aikataulutetut tehtävät valvonnasta vapaa valtuutus MCP-palvelimille usealla valinnalla`},"scheduledTasks.form.mcpServersPlaceholder":{message:`Valitse MCP-palvelimet, jotka saavat automaattisesti ladata tämän tehtävän`,description:`Valtuutuksen MCP-palvelimien paikka`},"scheduledTasks.form.mcpServersHint":{message:`Valitut MCP-palvelimet voidaan ladata ja suorittaa aikataulutettujen tehtävien taustalla; valitsemattomia MCP-palvelimia ei ladata valvonnasta vapaassa tilassa.`,description:`Valtuutuksen MCP-palvelimista selitys`},"scheduledTasks.form.maxTurns":{message:`Kierrosten enimmäismäärä`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.maxTurnsHint":{message:`Agentin kierrosten enimmäismäärä per ajo (1–50). Liian pieni raja pysäyttää monivaiheiset tehtävät (esim. taidot, jotka suorittavat useita Bash-/dokumenttihakuvaiheita) ennen valmistumista ilman lopputulosta. Oletus 50.`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.skillsConfirmTitle":{message:`Vahvista automaattinen valtuutus`,description:`Valtuutuksen vahvistuksen otsikko`},"scheduledTasks.form.skillsConfirm":{message:`Tämä tehtävä sallii {count} taidon suorittaa taustalla ilman manuaalista vahvistusta: {skills}. Nämä taidot voivat lähettää viestejä, julkaista sisältöä tai kirjoittaa ulkoisiin palveluihin, vahvista tämä.`,description:`Valtuutuksen vahvistusteksti`},"scheduledTasks.form.required":{message:`Please fill in task name and prompt`},"artifacts.navTitle":{message:`Tuotokset`,description:`Sivupalkin tuotosten sisäänkäynti`},"artifacts.title":{message:`Omat tuotokset`,description:`Tuotossivun otsikko`},"artifacts.summaryTotal":{message:`Tällä kertaa tuotoksia yhteensä {count} kappaletta`,description:`Tuotosten yhteenvedon kokonaismäärä`},"artifacts.filterAll":{message:`Kaikki`,description:`Tuotostyyppien suodatus - kaikki`},"artifacts.empty":{message:`Ei vielä mitään tuotoksia. Anna AI:n auttaa sinua kirjoittamaan artikkeleita, luomaan kuvia tai lähettämään sähköposteja, niin tuotokset ilmestyvät tänne automaattisesti.`,description:`Tuotokset ovat tyhjät ilmoitus`},"artifacts.loadError":{message:`Tuotosten lataaminen epäonnistui`,description:`Tuotosten latausvirheen ilmoitus`},"artifacts.actionError":{message:`Toiminto epäonnistui, yritä uudelleen`,description:`Tuotteen toimintavirheen ilmoitus`},"artifacts.open":{message:`Avaa`,description:`Avaa tuotteen alkuperäinen linkkipainike`},"artifacts.hide":{message:`Piilota`,description:`Tuotteen piilottamispainike`},"artifacts.delete":{message:`Poista`,description:`Tuotteen poistopainike`},"artifacts.deleteConfirm":{message:`Haluatko varmasti poistaa tämän tuotteen pysyvästi?`,description:`Tuotteen poistamisen vahvistusilmoitus`},"artifacts.loadMore":{message:`Lataa lisää`,description:`Lisää tuotoksia lataava painike`},"artifacts.sourceAuto":{message:`Automaattinen tallennus`,description:`Automaattisen tallennuksen lähteen merkintä`},"artifacts.kind.article":{message:`Artikkeli`,description:`Tuotostyyppi - artikkeli`},"artifacts.kind.image":{message:`Kuva`,description:`Tuotostyyppi - kuva`},"artifacts.kind.video":{message:`Video`,description:`Tuotostyyppi - video`},"artifacts.kind.audio":{message:`Ääni`,description:`Tuotostyyppi - ääni`},"artifacts.kind.document":{message:`Dokumentti`,description:`Tuotostyyppi - dokumentti`},"artifacts.kind.email":{message:`Sähköposti`,description:`Tuotostyyppi - sähköposti`},"artifacts.kind.message":{message:`Viesti`,description:`Tuotostyyppi - viesti`},"artifacts.kind.dataset":{message:`Tietoaineisto`,description:`Tuotostyyppi - tietoaineisto`},"artifacts.kind.link":{message:`Linkki`,description:`Tuotostyyppi - linkki`},"artifacts.kind.other":{message:`Muu`,description:`Tuotostyyppi - muu`},"share.menu":{message:`Jaa`,description:`Valikkokohta, joka avaa jakamisdialogin sivupalkissa/työkalupalkissa`},"share.dialogTitle":{message:`Jaa keskustelu`,description:`Jakamisdialogin otsikko`},"share.description":{message:`Kuka tahansa, joka saa linkin, voi nähdä tämän keskustelun, mutta ei voi jatkaa keskustelua.`,description:`Selittää, mitä tapahtuu, kun keskustelu jaetaan`},"share.createLink":{message:`Luo jakamislinkki`,description:`Painike, joka luo julkisen jakamislinkin keskustelulle`},"share.copy":{message:`Kopioi linkki`,description:`Painike, joka kopioi jakamislinkin leikepöydälle`},"share.copied":{message:`Kopioitu`,description:`Lyhyt ilmoitus, joka näkyy painikkeessa kopioinnin onnistumisen jälkeen`},"share.disable":{message:`Poista linkin käyttö`,description:`Painike, joka peruuttaa jakamislinkin ja tekee URL-osoitteesta voimattoman`},"share.disabled":{message:`Jakamislinkki on poistettu käytöstä.`,description:`Ilmoitus, kun jakamislinkki on poistettu käytöstä`},"share.needLogin":{message:`Kirjaudu ensin sisään, ennen kuin jaat tämän keskustelun.`,description:`Ilmoitus, kun kirjautumattomat kävijät yrittävät jakaa keskustelua`},"share.noConversation":{message:`Avaa ensin keskustelu ennen jakamista.`,description:`Ilmoitus, kun jakamispainiketta klikataan ilman aktiivista keskustelua`},"share.createFailed":{message:`Jakamislinkin luominen epäonnistui, yritä myöhemmin uudelleen.`,description:`Virheilmoitus, kun jakamislinkin luominen epäonnistuu`},"share.disableFailed":{message:`Jakamislinkin poistaminen epäonnistui, yritä myöhemmin uudelleen.`,description:`Virheilmoitus, kun jakamislinkin poistaminen epäonnistuu`},"share.startYourOwn":{message:`Aloita oma keskusteluni`,description:`Toimintakehotus jaetulla julkisella sivulla, joka ohjaa nimettömiä kävijöitä sovelluksen etusivulle`},"share.unavailableTitle":{message:`Tämä jaettu keskustelu ei ole käytettävissä.`,description:`Jakamislinkin voimattomuuden tai virheellisyyden ilmoitus jaetun julkisen sivun otsikossa`},"share.unavailableHint":{message:`Vastaanottaja on saattanut poistaa linkin käytöstä tai URL-osoite on virheellinen.`,description:`Ilmoitus, kun jakamislinkki on voimaton tai virheellinen`},"share.viewOnly":{message:`Vain luku -jaettu keskustelu`,description:`Tunniste, joka osoittaa, että keskustelu on vain luku -jaetulla julkisella sivulla`},"share.untitled":{message:`Nimeämätön keskustelu`,description:`Paikkamerkki, jota käytetään, kun jaettavalla keskustelulla ei ole otsikkoa`},"share.footerNote":{message:`Olet katsomassa jaettua keskustelua. Klikkaa ylhäältä keskustellaksesi itse AI:n kanssa.`,description:`Selitys jaetun julkisen sivun keskustelun alapuolella`},"model.claudeOpus47":{message:`claude-opus-4.7`,description:`Palvelun mallin nimi, eli Claude Opus 4.7`},"model.claudeOpus47Description":{message:`Tällä hetkellä edistyksellisin malli`,description:`Claude Opus 4.7 -mallin kuvaus`}};export{e as default};
1
+ var e={"thinking.inProgress":{message:`Ajatellaan...`,description:`Malli näyttää etiketin, kun se generoi päättelyprosessia`},"thinking.done":{message:`Päättelyprosessi`,description:`Malli käyttää etikettiä päättelyprosessin esittämiseen, kun se on valmis`},"button.thinkDeeper":{message:`Syvempää ajattelua`,description:`Syvempää ajattelua -painike`},"button.deepsearch":{message:`Syvä haku`,description:`Syvä haku -painike`},"button.search":{message:`Haku`,description:`Haku -painike`},"button.edit":{message:`Muokkaa viestiä`,description:`Muokkaa lähetettyä viestiä`},"modelGroup.chatgpt":{message:`ChatGPT`,description:`Palvelun mallin nimi, eli GPT`},"modelGroup.chatgptDescription":{message:`OpenAI:n kehittämä AI-malli`,description:`ChatGPT-mallin kuvaus`},"modelGroup.deepseek":{message:`DeepSeek`,description:`Palvelun mallin nimi, eli DeepSeek`},"modelGroup.deepseekDescription":{message:`DeepSeek-yhtiön kehittämä AI-malli`,description:`DeepSeek-mallin kuvaus`},"modelGroup.grok":{message:`Grok`,description:`Palvelun mallin nimi, eli Grok`},"modelGroup.grokDescription":{message:`xAI:n kehittämä AI-malli`,description:`Grok3-mallin kuvaus`},"modelGroup.gemini":{message:`Gemini`,description:`Palvelun mallin nimi, eli Gemini`},"modelGroup.geminiDescription":{message:`Google:n kehittämä AI-malli`,description:`Gemini-malliryhmän kuvaus`},"modelGroup.claude":{message:`Claude`,description:`Palvelun mallin nimi, eli Claude`},"modelGroup.claudeDescription":{message:`Anthropic-yhtiön kehittämä AI-malli`,description:`Claude-malliryhmän kuvaus`},"modelGroup.kimi":{message:`Kimi`,description:`Palvelun mallin nimi, eli Kimi`},"modelGroup.kimiDescription":{message:`Kuun pimeä puoli -yhtiön kehittämä AI-malli`,description:`Kimi-malliryhmän kuvaus`},"modelGroup.glm":{message:`GLM`,description:`Palvelun mallin nimi, eli GLM`},"modelGroup.glmDescription":{message:`Zhìpǔ AI:n kehittämä suuri kielimalli`,description:`GLM-malliryhmän kuvaus`},"model.55":{message:`gpt-5.5`,description:`Palvelun mallin nimi, eli GPT 5.5`},"model.55Description":{message:`Uuden sukupolven lippulaivamalli GPT 5.5`,description:`GPT 5.5 -mallin kuvaus`},"model.54":{message:`gpt-5.4`,description:`Palvelun mallin nimi, eli GPT 5.4`},"model.54Description":{message:`Uuden sukupolven lippulaivamalli GPT 5.4`,description:`GPT 5.4 -mallin kuvaus`},"model.54Mini":{message:`gpt-5.4-mini`,description:`Palvelun mallin nimi, eli GPT 5.4 Mini`},"model.54MiniDescription":{message:`Nopeampi ja kevyempi GPT 5.4 -malli`,description:`GPT 5.4 Mini -mallin kuvaus`},"model.freeTag":{message:`Ilmainen`,description:`Merkki, joka näkyy ilmaisten mallien vieressä mallinvalitsimessa`},"model.deepseekChat":{message:`3.0`,description:`Palvelun mallin nimi, eli DeepSeek Chat`},"model.deepseekChatDescription":{message:`Soveltuu päivittäisiin tehtäviin`,description:`DeepSeek Chat -mallin kuvaus`},"model.deepseekReasoner":{message:`R1`,description:`Palvelun mallin nimi, eli DeepSeek Reasoner`},"model.deepseekReasonerDescription":{message:`Soveltuu päättelyyn ja syvään ajatteluun`,description:`DeepSeek Reasoner -mallin kuvaus`},"model.deepseekChat32":{message:`3.2`,description:`Palvelun mallin nimi, eli DeepSeek V3.2 Exp`},"model.deepseekChat32Description":{message:`Uusin kokeellinen versio`,description:`DeepSeek V3.2 -kokeellisen mallin kuvaus`},"model.deepseekV4Flash":{message:`4.0`,description:`Palvelun mallin nimi, eli DeepSeek V4 Flash`},"model.deepseekV4FlashDescription":{message:`Uuden sukupolven kevyt lippulaiva, 1M konteksti`,description:`DeepSeek V4 Flash -mallin kuvaus`},"model.grok4":{message:`grok-4`,description:`Palvelun mallin nimi, eli Grok 4`},"model.grok4Description":{message:`Tällä hetkellä edistyksellisin malli`,description:`Grok 4 -mallin kuvaus`},"model.grok3":{message:`grok-3`,description:`Palvelun mallin nimi`},"model.grok3Description":{message:`Soveltuu useimpiin tehtäviin`,description:`Grok3-mallin kuvaus`},"model.gemini30Pro":{message:`gemini-3.0-pro`,description:`Palvelun mallin nimi, eli Gemini 3.0 Pro`},"model.gemini30ProDescription":{message:`Tällä hetkellä edistyksellisin malli`,description:`Gemini 3.0 Pro -mallin kuvaus`},"model.gemini31Pro":{message:`gemini-3.1-pro`,description:`Palvelun mallin nimi, eli Gemini 3.0 Pro`},"model.gemini31ProDescription":{message:`Tällä hetkellä edistyksellisin malli`,description:`Gemini 3.0 Pro -mallin kuvaus`},"model.gemini25Pro":{message:`gemini-2.5-pro`,description:`Palvelun mallin nimi, eli Gemini 2.5 Pro`},"model.gemini25ProDescription":{message:`Soveltuu monimutkaisiin päättelytehtäviin`,description:`Gemini 2.5 Pro -mallin kuvaus`},"model.gemini25Flash":{message:`gemini-2.5-flash`,description:`Palvelun mallin nimi, eli Gemini 2.5 Flash`},"model.gemini25FlashDescription":{message:`Nopeampi ja kevyempi malli`,description:`Gemini 2.5 Flash -mallin kuvaus`},"model.gemini35Flash":{message:`gemini-3.5-flash`,description:`Palvelun mallin nimi, eli Gemini 2.5 Flash`},"model.gemini35FlashDescription":{message:`Nopeampi ja kevyempi malli`,description:`Gemini 2.5 Flash -mallin kuvaus`},"model.claudeOpus48":{message:`claude-opus-4.8`,description:`Palvelun mallin nimi, eli Claude Opus 4.8`},"model.claudeOpus48Description":{message:`Tällä hetkellä edistynein malli`,description:`Claude Opus 4.8 mallin kuvaus`},"model.claudeSonnet46":{message:`claude-sonnet-4.6`,description:`Palvelun mallin nimi, eli Claude Sonnet 4.6`},"model.claudeSonnet46Description":{message:`Soveltuu useimpiin tehtäviin`,description:`Claude Sonnet 4.6 mallin kuvaus`},"model.claudeHaiku45":{message:`claude-haiku-4.5`,description:`Palvelun mallin nimi, eli Claude Haiku 4.5`},"model.claudeHaiku45Description":{message:`Kevyt ja nopea malli`,description:`Claude Haiku 4.5 mallin kuvaus`},"model.kimiK25":{message:`kimi-k2.5`,description:`Palvelun mallin nimi, eli Kimi K2.5`},"model.kimiK25Description":{message:`Tällä hetkellä huipputason malli`,description:`Kimi K2.5 mallin kuvaus`},"model.kimiK2Thinking":{message:`kimi-k2 päättely`,description:`Palvelun mallin nimi, eli Kimi K2 päättely`},"model.kimiK2ThinkingDescription":{message:`Soveltuu päättelyyn ja syvälliseen ajatteluun`,description:`Kimi K2 päättelymallin kuvaus`},"model.kimiK2ThinkingTurbo":{message:`kimi-k2 turbo päättely`,description:`Palvelun mallin nimi, eli Kimi K2 turbo päättely`},"model.kimiK2ThinkingTurboDescription":{message:`Nopeampi päättelymalli`,description:`Kimi K2 turbo päättelymallin kuvaus`},"model.glm51":{message:`glm-5.1`,description:`Palvelun mallin nimi, eli GLM 5.1`},"model.glm51Description":{message:`Älykkään viimeisin lippulaivamalli`,description:`GLM 5.1 mallin kuvaus`},"model.glm47":{message:`glm-4.7`,description:`Palvelun mallin nimi, eli GLM 4.7`},"model.glm47Description":{message:`Tasapainottaa suorituskyvyn ja kustannukset`,description:`GLM 4.7 mallin kuvaus`},"message.startNewChat":{message:`Aloita uusi keskustelu`,description:`Verkkosivun viesti, joka kertoo käyttäjälle aloittaa uusi keskustelu`},"message.uploadFile":{message:`Lataa tiedosto`,description:`Verkkosivun viesti, joka kertoo käyttäjälle ladata tiedosto`},"message.noToken":{message:`Hae ensin tarvittava palvelu`,description:`Verkkosivun viesti, joka kertoo käyttäjälle hakea ensin tarvittava palvelu`},"message.newMessagePlaceholder":{message:`Syötä kysymyksesi...`,description:`Verkkosivun paikkamerkki, joka kertoo käyttäjälle syöttää kysymyksen`},"message.noInput":{message:`Kysymys ei voi olla tyhjää`,description:`Verkkosivun viesti, joka kertoo käyttäjälle kysymyksen ei voi olla tyhjää`},"message.uploadReferencesExceed":{message:`Voit ladata enintään 1 tiedoston`,description:`Verkkosivun viesti, joka kertoo käyttäjälle voit ladata enintään 1 tiedoston`},"message.uploadReferencesError":{message:`Tiedoston lataus epäonnistui, yritä myöhemmin uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle tiedoston lataus epäonnistui, yritä myöhemmin uudelleen`},"message.notApplied":{message:`Et ole vielä hakenut tätä palvelua, hae ensin`,description:`Verkkosivun viesti, joka kertoo käyttäjälle et ole vielä hakenut tätä palvelua, hae ensin`},"message.tryForFree":{message:`Kokeile ilmaiseksi`,description:`Verkkosivun viesti, joka kertoo käyttäjälle kokeile ilmaiseksi`},"message.question1":{message:`Luo harjoitusohjelma`,description:`Keskustelun aloituskysymys, pyytää käyttäjää kirjoittamaan JavaScript-koodi, joka tulostaa Hello World`},"message.question2":{message:`Tee henkilökohtainen verkkosivusto`,description:`Keskustelun aloituskysymys, pyytää käyttäjää kirjoittamaan Mike:lle sähköpostia, kertomaan että on juuri muuttanut`},"message.question3":{message:`Suunnittele mielenkiintoinen ohjelmointipeli`,description:`Keskustelun aloituskysymys, pyytää käyttäjää selittämään kvanttilaskennan perusperiaatteet yksinkertaisella kielellä`},"message.question4":{message:`Koe Soul kuin paikallinen`,description:`Keskustelun aloituskysymys, pyytää käyttäjää selittämään, mitä vaikutuksia virtuaalitodellisuudella on taiteelliseen luomiseen`},"message.question5":{message:`Kumpi on suurempi, 9.8 vai 9.11?`,description:`Keskustelun aloituskysymys, pyytää vertaamaan kahta numeroa`},"message.question6":{message:`Miten AI vaikuttaa tulevaisuuteen?`,description:`Keskustelun aloituskysymys, miten AI vaikuttaa tulevaisuuteen?`},"message.question7":{message:`Miten parantaa oppimisnopeutta?`,description:`Keskustelun aloituskysymys, miten parantaa omaa oppimisnopeutta?`},"message.question8":{message:`Miten parantaa keskittymiskykyä?`,description:`Keskustelun aloituskysymys, miten parantaa omaa keskittymiskykyä?`},"message.errorApiError":{message:`Vastaus epäonnistui, yritä myöhemmin uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle vastaus epäonnistui, yritä myöhemmin uudelleen`},"message.errorBadRequest":{message:`Pyyntö ei ole voimassa, yritä uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle pyyntö ei ole voimassa, yritä uudelleen`},"message.errorNoConversation":{message:`Keskustelua ei ole tai se on vanhentunut, aloita uusi keskustelu`,description:`Verkkosivun viesti, joka kertoo käyttäjälle keskustelua ei ole tai se on vanhentunut, aloita uusi keskustelu`},"message.errorContentTooLarge":{message:`Kysymyksen sisältö on liian pitkä, lyhennä ja yritä uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle kysymyksen sisältö on liian pitkä, lyhennä ja yritä uudelleen`},"message.errorTooManyRequests":{message:`Liian monta pyyntöä, yritä myöhemmin uudelleen`,description:`Verkkosivulla näkyvä viesti, joka kertoo käyttäjälle, että hänen toimintansa on liian usein, ja pyytää yrittämään myöhemmin uudelleen`},"message.errorBusy":{message:`Palvelin on kiireinen, yritä myöhemmin uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että palvelin on kiireinen, yritä myöhemmin uudelleen`},"message.errorUsedUp":{message:`Olet käyttänyt kaikki pakettisi, osta lisää jatkaaksesi käyttöä`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että olet käyttänyt kaikki pakettisi, osta lisää jatkaaksesi käyttöä`},"message.errorUnknown":{message:`Palvelimella tapahtui tuntematon virhe, yritä myöhemmin uudelleen tai ota yhteyttä asiakaspalveluun`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että palvelimella tapahtui tuntematon virhe, yritä myöhemmin uudelleen tai ota yhteyttä asiakaspalveluun`},"message.errorTimeout":{message:`Vastausaika ylitetty, yritä myöhemmin uudelleen`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että vastausaika ylitetty, yritä myöhemmin uudelleen`},"message.errorNotApplied":{message:`Et ole vielä hakenut tätä palvelua, hae ensin ja jatka kysymistä`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että et ole vielä hakenut tätä palvelua, hae ensin ja jatka kysymistä`},"message.confirmDelete":{message:`Vahvista poisto`,description:`Verkkosivun viesti, joka kertoo käyttäjälle vahvistamaan poiston`},"message.howToUse":{message:`AI voi tehdä virheitä, tarkista tärkeät tiedot.`,description:`Verkkosivun viesti, joka kertoo käyttäjälle, että AI voi tehdä virheitä, tarkista tärkeät tiedot`},"title.chat":{message:`AI Keskustelu`,description:`Verkkosivun otsikko, eli AI Keskustelu`},"title.example":{message:`Esimerkki`,description:`Verkkosivun otsikko, eli Esimerkki`},"title.capabilities":{message:`Ominaisuudet`,description:`Verkkosivun otsikko, eli Ominaisuudet`},"title.limitations":{message:`Rajoitukset`,description:`Verkkosivun otsikko, joka osoittaa, että tämä osa sisältää palvelun tekniset rajoitukset`},"title.complexQuestion":{message:`Vastaaminen monimutkaisiin kysymyksiin`,description:`Verkkosivun otsikko, joka osoittaa, että tämä osa käsittelee palvelun kykyä vastata monimutkaisiin kysymyksiin`},"title.professionalQuestion":{message:`Konsultointi ammatillisissa kysymyksissä`,description:`Verkkosivun otsikko, joka osoittaa, että tämä osa käsittelee palvelun kykyä konsultoida ammatillisissa kysymyksissä`},"title.getTips":{message:`Inspiraation ja ideoiden saaminen`,description:`Verkkosivun otsikko, joka osoittaa, että tämä osa käsittelee palvelun kykyä saada inspiraatiota ja ideoita`},"group.today":{message:`Tänään`,description:`Verkkosivun ryhmän nimi, eli Tänään`},"group.yesterday":{message:`Eilen`,description:`Verkkosivun ryhmän nimi, eli Eilen`},"group.thisWeek":{message:`Tällä viikolla`,description:`Verkkosivun ryhmän nimi, eli Tällä viikolla`},"group.earlier":{message:`Aikaisemmin`,description:`Verkkosivun ryhmän nimi, eli Aikaisemmin`},"connections.tooltip":{message:`Yhteyksien hallinta`,description:`Painikevinkki, joka ohjaa auth.acedata.cloud yhteyksien hallintapaneeliin`},"skill.tooltip":{message:`Taitojen hallinta`,description:`Painikevinkki, joka ohjaa auth.acedata.cloud taitojen hallintapaneeliin`},"composer.addAction":{message:`Lisää sisältöä`,description:`Syöttökentän alapuolella olevan pluspainikkeen vinkki, avautuu tiedostojen lataamiseen, taitojen tai yhteyksien hallintaan`},"composer.addFiles":{message:`Lisää valokuvia tai tiedostoja`,description:`Pluspainikkeen avautuvan valikon kohta: lataa kuvia tai tiedostoja`},"composer.skills":{message:`Taidot`,description:`Pluspainikkeen avautuvan valikon kohta: avaa taitojen hallinta`},"composer.connections":{message:`Yhteydet`,description:`Pluspainikkeen avautuvan valikon kohta: avaa yhteyksien hallinta`},"agent.title":{message:`Työpöytäagentti`,description:`Agentinhallintakeskustelun otsikko`},"agent.tooltip":{message:`Työpöytäagentti`,description:`Agenttipainikkeen vinkki`},"agent.connected":{message:`Yhdistetty`,description:`Agentin yhdistetty tila`},"agent.notConnected":{message:`Ei yhdistetty`,description:`Agentin ei-yhdistetty tila`},"agent.description":{message:`Yhdistä työpöytäagentti päästäksesi paikallisiin tiedostoihin, suorittaaksesi komentoja ja käyttääksesi paikallista MCP-palvelinta AI-keskustelussa.`,description:`Agentin kuvaus`},"agent.name":{message:`Agentin nimi`,description:`Agentin nimen etiketti`},"agent.tools":{message:`Saatavilla olevat työkalut`,description:`Agentin työkalujen määrän etiketti`},"agent.connectedSince":{message:`Yhdistetty ajasta`,description:`Agentin yhdistämisajan etiketti`},"agent.connectedHint":{message:`Työpöytäagenttisi on yhdistetty ja käytettävissä.`,description:`Agentin yhdistetty vinkki`},"agent.installLabel":{message:`Asenna työpöytäagentti:`,description:`Asennusohjeen etiketti`},"agent.runLabel":{message:`Suorita agentti:`,description:`Suoritusohjeen etiketti`},"askUserQuestion.submit":{message:`Lähetä`,description:`ask-user-question -opastuksen viimeisen kysymyksen lähetyspainike`},"askUserQuestion.next":{message:`Seuraava kysymys`,description:`ask-user-question -opastus siirtyy seuraavaan kysymykseen`},"askUserQuestion.back":{message:`Edellinen kysymys`,description:`ask-user-question -opastus palaa edelliseen kysymykseen`},"askUserQuestion.skipAll":{message:`Ohita kaikki`,description:`Ohita koko ask-user-question -opastus, jotta malli voi jatkaa ilman vastauksia`},"askUserQuestion.other":{message:`Muu`,description:`Valevaihtoehto; valitsemalla tämä kysymys avaa mukautetun tekstikentän`},"askUserQuestion.otherDesc":{message:`Syötä oma vastauksesi`,description:`Muu vaihtoehto -kohdan alla oleva ohje`},"askUserQuestion.placeholder":{message:`Syötä vastaus…`,description:`Jokaisen kysymyksen mukautetun vastauskentän paikkamerkkiteksti`},"askUserQuestion.multiSelectHint":{message:`Valitse yksi tai useampi`,description:`Monivalintakysymyksissä näytettävä vihje`},"askUserQuestion.collapsedAnswerLabel":{message:`Vastauksesi`,description:`Kun ei voida poimia tarkkaa vastausta historiasta, käytetään tätä tekstiä`},"consent.title":{message:`Liittimen valtuutus vaaditaan`,description:`Liittimen valtuutuskortin otsikko`},"consent.matchAny":{message:`Valitse yksi riittää`,description:`Tunniste: Tämän ryhmän liittimistä yksi riittää tarpeen täyttämiseen`},"consent.matchAll":{message:`Kaikki vaativat valtuutuksen`,description:`Tunniste: Tämän ryhmän kaikki liittimet vaativat valtuutuksen`},"consent.authorize":{message:`Myönnä valtuutus`,description:`Valtuutuspainike, jonka klikkaaminen avaa kolmannen osapuolen valtuutussivun`},"consent.skip":{message:`Ohita valtuutus`,description:`Ohita valtuutuspainike; ohituksen jälkeen malli jatkaa ilman tätä liitintä`},"consent.continue":{message:`Jatka`,description:`Jatka-painike, joka näytetään, kun OAuth-paluun jälkeen havaitaan, että liitin on yhdistetty; napsautus lähettää valtuutuksen.`},"consent.selectScopes":{message:`Valitse {provider} -valtuutusalueet`,description:`Title of the scope picker dialog opened from the consent card; {provider} is the upstream provider name (e.g. Gmail).`},"consent.selectScopesHint":{message:`Valitse haluamasi valtuutukset. Voit valita useita, mutta oletuksena vain peruskirjautumistiedot myönnetään.`,description:`Body copy explaining that the user can opt out of specific scopes; rendered above the checkbox group.`},"consent.installFailed":{message:`Valtuutus epäonnistui. Yritä uudelleen.`,description:`Toast shown when the AuthBackend install endpoint returns an error from the consent card.`},"consent.statusConnected":{message:`Yhdistetty`,description:`Valtuutetun liittimen tilasymboli`},"consent.statusUnconnected":{message:`Ei yhdistetty`,description:`Liittimen tilasymboli, kun yhdistystä/valtuutusta ei ole`},"consent.resolvedAuthorized":{message:`Valtuutettu: {list}`,description:`Kortin alaosan ilmoitus käyttäjän valtuutuksen jälkeen, {list} on valtuutettujen liittimien lista`},"consent.resolvedSkipped":{message:`Liittimen valtuutus ohitettu`,description:`Kortin alaosan ilmoitus, kun käyttäjä ohittaa valtuutuksen`},"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.viewRuns":{message:`Run history`},"scheduledTasks.noConversation":{message:`Ei keskusteluhistoriaa`,description:`Suoritus ei ole liitetty keskusteluun (vanha versio suoritus)`},"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:`Joka minuutti`},"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.skills":{message:`Valtuuta taidot`,description:`Aikataulutetut tehtävät, joissa on valtuutettuja taitoja, usean valinnan vaihtoehto`},"scheduledTasks.form.skillsPlaceholder":{message:`Valitse taidot, jotka sallivat tämän tehtävän suorittaa automaattisesti`,description:`Valtuutettujen taitojen paikkamerkki`},"scheduledTasks.form.skillsHint":{message:`Valitut taidot voivat suorittaa taustalla ilman manuaalista vahvistusta; valitsemattomat taidot voivat vain esikatsella tai odottaa vahvistusta.`,description:`Valtuutettujen taitojen selitys`},"scheduledTasks.form.skillMissing":{message:`Ei yhdistetty`,description:`skill puuttuu yhteydestä`},"scheduledTasks.form.mcpServers":{message:`Valtuuta MCP`,description:`Aikataulutetut tehtävät valvonnasta vapaa valtuutus MCP-palvelimille usealla valinnalla`},"scheduledTasks.form.mcpServersPlaceholder":{message:`Valitse MCP-palvelimet, jotka saavat automaattisesti ladata tämän tehtävän`,description:`Valtuutuksen MCP-palvelimien paikka`},"scheduledTasks.form.mcpServersHint":{message:`Valitut MCP-palvelimet voidaan ladata ja suorittaa aikataulutettujen tehtävien taustalla; valitsemattomia MCP-palvelimia ei ladata valvonnasta vapaassa tilassa.`,description:`Valtuutuksen MCP-palvelimista selitys`},"scheduledTasks.form.maxTurns":{message:`Kierrosten enimmäismäärä`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.maxTurnsHint":{message:`Agentin kierrosten enimmäismäärä per ajo (1–50). Liian pieni raja pysäyttää monivaiheiset tehtävät (esim. taidot, jotka suorittavat useita Bash-/dokumenttihakuvaiheita) ennen valmistumista ilman lopputulosta. Oletus 50.`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.skillsConfirmTitle":{message:`Vahvista automaattinen valtuutus`,description:`Valtuutuksen vahvistuksen otsikko`},"scheduledTasks.form.skillsConfirm":{message:`Tämä tehtävä sallii {count} taidon suorittaa taustalla ilman manuaalista vahvistusta: {skills}. Nämä taidot voivat lähettää viestejä, julkaista sisältöä tai kirjoittaa ulkoisiin palveluihin, vahvista tämä.`,description:`Valtuutuksen vahvistusteksti`},"scheduledTasks.form.required":{message:`Please fill in task name and prompt`},"artifacts.navTitle":{message:`Tuotokset`,description:`Sivupalkin tuotosten sisäänkäynti`},"artifacts.title":{message:`Omat tuotokset`,description:`Tuotossivun otsikko`},"artifacts.summaryTotal":{message:`Tällä kertaa tuotoksia yhteensä {count} kappaletta`,description:`Tuotosten yhteenvedon kokonaismäärä`},"artifacts.filterAll":{message:`Kaikki`,description:`Tuotostyyppien suodatus - kaikki`},"artifacts.empty":{message:`Ei vielä mitään tuotoksia. Anna AI:n auttaa sinua kirjoittamaan artikkeleita, luomaan kuvia tai lähettämään sähköposteja, niin tuotokset ilmestyvät tänne automaattisesti.`,description:`Tuotokset ovat tyhjät ilmoitus`},"artifacts.loadError":{message:`Tuotosten lataaminen epäonnistui`,description:`Tuotosten latausvirheen ilmoitus`},"artifacts.actionError":{message:`Toiminto epäonnistui, yritä uudelleen`,description:`Tuotteen toimintavirheen ilmoitus`},"artifacts.open":{message:`Avaa`,description:`Avaa tuotteen alkuperäinen linkkipainike`},"artifacts.hide":{message:`Piilota`,description:`Tuotteen piilottamispainike`},"artifacts.delete":{message:`Poista`,description:`Tuotteen poistopainike`},"artifacts.deleteConfirm":{message:`Haluatko varmasti poistaa tämän tuotteen pysyvästi?`,description:`Tuotteen poistamisen vahvistusilmoitus`},"artifacts.loadMore":{message:`Lataa lisää`,description:`Lisää tuotoksia lataava painike`},"artifacts.sourceAuto":{message:`Automaattinen tallennus`,description:`Automaattisen tallennuksen lähteen merkintä`},"artifacts.kind.article":{message:`Artikkeli`,description:`Tuotostyyppi - artikkeli`},"artifacts.kind.image":{message:`Kuva`,description:`Tuotostyyppi - kuva`},"artifacts.kind.video":{message:`Video`,description:`Tuotostyyppi - video`},"artifacts.kind.audio":{message:`Ääni`,description:`Tuotostyyppi - ääni`},"artifacts.kind.document":{message:`Dokumentti`,description:`Tuotostyyppi - dokumentti`},"artifacts.kind.email":{message:`Sähköposti`,description:`Tuotostyyppi - sähköposti`},"artifacts.kind.message":{message:`Viesti`,description:`Tuotostyyppi - viesti`},"artifacts.kind.dataset":{message:`Tietoaineisto`,description:`Tuotostyyppi - tietoaineisto`},"artifacts.kind.link":{message:`Linkki`,description:`Tuotostyyppi - linkki`},"artifacts.kind.other":{message:`Muu`,description:`Tuotostyyppi - muu`},"share.menu":{message:`Jaa`,description:`Valikkokohta, joka avaa jakamisdialogin sivupalkissa/työkalupalkissa`},"share.dialogTitle":{message:`Jaa keskustelu`,description:`Jakamisdialogin otsikko`},"share.description":{message:`Kuka tahansa, joka saa linkin, voi nähdä tämän keskustelun, mutta ei voi jatkaa keskustelua.`,description:`Selittää, mitä tapahtuu, kun keskustelu jaetaan`},"share.createLink":{message:`Luo jakamislinkki`,description:`Painike, joka luo julkisen jakamislinkin keskustelulle`},"share.copy":{message:`Kopioi linkki`,description:`Painike, joka kopioi jakamislinkin leikepöydälle`},"share.copied":{message:`Kopioitu`,description:`Lyhyt ilmoitus, joka näkyy painikkeessa kopioinnin onnistumisen jälkeen`},"share.disable":{message:`Poista linkin käyttö`,description:`Painike, joka peruuttaa jakamislinkin ja tekee URL-osoitteesta voimattoman`},"share.disabled":{message:`Jakamislinkki on poistettu käytöstä.`,description:`Ilmoitus, kun jakamislinkki on poistettu käytöstä`},"share.needLogin":{message:`Kirjaudu ensin sisään, ennen kuin jaat tämän keskustelun.`,description:`Ilmoitus, kun kirjautumattomat kävijät yrittävät jakaa keskustelua`},"share.noConversation":{message:`Avaa ensin keskustelu ennen jakamista.`,description:`Ilmoitus, kun jakamispainiketta klikataan ilman aktiivista keskustelua`},"share.createFailed":{message:`Jakamislinkin luominen epäonnistui, yritä myöhemmin uudelleen.`,description:`Virheilmoitus, kun jakamislinkin luominen epäonnistuu`},"share.disableFailed":{message:`Jakamislinkin poistaminen epäonnistui, yritä myöhemmin uudelleen.`,description:`Virheilmoitus, kun jakamislinkin poistaminen epäonnistuu`},"share.startYourOwn":{message:`Aloita oma keskusteluni`,description:`Toimintakehotus jaetulla julkisella sivulla, joka ohjaa nimettömiä kävijöitä sovelluksen etusivulle`},"share.unavailableTitle":{message:`Tämä jaettu keskustelu ei ole käytettävissä.`,description:`Jakamislinkin voimattomuuden tai virheellisyyden ilmoitus jaetun julkisen sivun otsikossa`},"share.unavailableHint":{message:`Vastaanottaja on saattanut poistaa linkin käytöstä tai URL-osoite on virheellinen.`,description:`Ilmoitus, kun jakamislinkki on voimaton tai virheellinen`},"share.viewOnly":{message:`Vain luku -jaettu keskustelu`,description:`Tunniste, joka osoittaa, että keskustelu on vain luku -jaetulla julkisella sivulla`},"share.untitled":{message:`Nimeämätön keskustelu`,description:`Paikkamerkki, jota käytetään, kun jaettavalla keskustelulla ei ole otsikkoa`},"share.footerNote":{message:`Olet katsomassa jaettua keskustelua. Klikkaa ylhäältä keskustellaksesi itse AI:n kanssa.`,description:`Selitys jaetun julkisen sivun keskustelun alapuolella`},"model.claudeOpus47":{message:`claude-opus-4.7`,description:`Palvelun mallin nimi, eli Claude Opus 4.7`},"model.claudeOpus47Description":{message:`Tällä hetkellä edistyksellisin malli`,description:`Claude Opus 4.7 -mallin kuvaus`},"artifacts.unhide":{message:`Unhide`,description:`Restore a hidden artifact`},"artifacts.showHidden":{message:`Show hidden`,description:`Toggle in the filter bar to include hidden artifacts`},"artifacts.hiddenBadge":{message:`Hidden`,description:`Badge shown on artifacts that are currently hidden`}};export{e as default};
@@ -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:`OpenAIが開発したAIモデル`,description:`ChatGPTモデルの説明`},"modelGroup.deepseek":{message:`DeepSeek`,description:`サービスのモデル名、すなわち DeepSeek`},"modelGroup.deepseekDescription":{message:`DeepSeek社が開発したAIモデル`,description:`DeepSeekモデルの説明`},"modelGroup.grok":{message:`Grok`,description:`サービスのモデル名、すなわち Grok`},"modelGroup.grokDescription":{message:`xAIが開発したAIモデル`,description:`Grok3モデルの説明`},"modelGroup.gemini":{message:`Gemini`,description:`サービスのモデル名、すなわち Gemini`},"modelGroup.geminiDescription":{message:`Googleが開発したAIモデル`,description:`Geminiモデルグループの説明`},"modelGroup.claude":{message:`Claude`,description:`サービスのモデル名、すなわち Claude`},"modelGroup.claudeDescription":{message:`Anthropicが開発したAIモデル`,description:`Claudeモデルグループの説明`},"modelGroup.kimi":{message:`Kimi`,description:`サービスのモデル名、すなわち Kimi`},"modelGroup.kimiDescription":{message:`月の暗面社が開発したAIモデル`,description:`Kimiモデルグループの説明`},"modelGroup.glm":{message:`GLM`,description:`サービスのモデル名、すなわち GLM`},"modelGroup.glmDescription":{message:`智谱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 チャット`},"model.deepseekChatDescription":{message:`日常的なタスクに適しています`,description:`DeepSeekチャットモデルの説明`},"model.deepseekReasoner":{message:`R1`,description:`サービスのモデル名、すなわち DeepSeek 推論`},"model.deepseekReasonerDescription":{message:`推論と深い思考の問題に適しています`,description:`DeepSeek推論モデルの説明`},"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:`クラウド・ソネット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:`最新のフラッグシップモデル`,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:`会話を開始するためのサンプル質問、ユーザーにHello Worldを出力するJavaScriptコードを書くように求める`},"message.question2":{message:`個人ウェブページを作成`,description:`会話を開始するためのサンプル質問、ユーザーにマイクに引っ越したことを伝えるメールを書くように求める`},"message.question3":{message:`面白いプログラミングゲームを設計`,description:`会話を開始するためのサンプル質問、ユーザーに量子計算の基本原理を簡単な言葉で説明するように求める`},"message.question4":{message:`地元の人のようにソウルを体験`,description:`会話を開始するためのサンプル質問、ユーザーに仮想現実がアート制作に与える影響を説明するように求める`},"message.question5":{message:`9.8と9.11、どちらが大きい?`,description:`会話を開始するためのサンプル質問、2つの数字の大きさを比較するように求める`},"message.question6":{message:`AIは未来にどのような影響を与えるか?`,description:`会話を開始するためのサンプル質問、AIが未来に与える影響について尋ねる`},"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:`デスクトップエージェントに接続して、AI対話でローカルファイルにアクセスしたり、コマンドを実行したり、ローカルMCPサーバーを使用したりします。`,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:`1つまたは複数選択可能`,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.viewRuns":{message:`Run history`},"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.skills":{message:`権限を付与する Skills`,description:`定期タスクの無人権限付与のための Skills の複数選択`},"scheduledTasks.form.skillsPlaceholder":{message:`このタスクの自動実行を許可する Skills を選択`,description:`権限付与の skill プレースホルダー`},"scheduledTasks.form.skillsHint":{message:`選択した Skills は定期タスクのバックグラウンド実行時に人工確認をスキップできます;未選択の Skills はプレビューまたは確認待ちのままとなります。`,description:`権限付与の skill 説明`},"scheduledTasks.form.skillMissing":{message:`未接続`,description:`skill が接続されていません`},"scheduledTasks.form.mcpServers":{message:`MCPを承認`,description:`定期タスクの無人運転用にMCPサーバーを複数選択する`},"scheduledTasks.form.mcpServersPlaceholder":{message:`このタスクが自動的に読み込むことを許可するMCPサーバーを選択`,description:`MCPサーバーの承認用プレースホルダー`},"scheduledTasks.form.mcpServersHint":{message:`選択したMCPサーバーは定期タスクのバックエンドで読み込まれ、実行されます;未選択のMCPサーバーは無人運転モードでは読み込まれません。`,description:`MCPサーバーの承認に関する説明`},"scheduledTasks.form.maxTurns":{message:`最大ターン数`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.maxTurnsHint":{message:`1 回の実行で許可されるエージェントの最大ターン数(1–50)。上限が低すぎると、複数ステップのタスク(Bash やドキュメント検索を何度も実行するスキルなど)が完了前に強制停止され、最終結果が残りません。デフォルトは 50。`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.skillsConfirmTitle":{message:`無人権限付与の確認`,description:`権限付与確認のタイトル`},"scheduledTasks.form.skillsConfirm":{message:`このタスクは {count} 個の Skill がバックグラウンドで実行される際に人工確認をスキップすることを許可します:{skills}。これらの Skill はメッセージを送信したり、コンテンツを公開したり、外部サービスに書き込んだりする可能性がありますので、ご確認ください。`,description:`権限付与確認の本文`},"scheduledTasks.form.required":{message:`Please fill in task name and prompt`},"artifacts.navTitle":{message:`出力`,description:`サイドバーの出力入口`},"artifacts.title":{message:`私の出力`,description:`出力ページのタイトル`},"artifacts.summaryTotal":{message:`今期の出力は {count} 件です。`,description:`出力の合計数を示すメッセージ`},"artifacts.filterAll":{message:`すべて`,description:`出力タイプフィルター - すべて`},"artifacts.empty":{message:`まだ出力はありません。AIに記事を作成させたり、画像を生成したり、メールを送信したりすると、出力がここに自動的に表示されます。`,description:`出力が空であることを示すメッセージ`},"artifacts.loadError":{message:`出力の読み込みに失敗しました。`,description:`出力読み込みエラーの通知`},"artifacts.actionError":{message:`操作に失敗しました。再試行してください。`,description:`出力操作エラーの通知`},"artifacts.open":{message:`開く`,description:`出力の元リンクを開くボタン`},"artifacts.hide":{message:`非表示`,description:`出力を非表示にするボタン`},"artifacts.delete":{message:`削除`,description:`出力を削除するボタン`},"artifacts.deleteConfirm":{message:`この出力記録を永久に削除してもよろしいですか?`,description:`出力削除の確認メッセージ`},"artifacts.loadMore":{message:`もっと読み込む`,description:`さらに出力を読み込むボタン`},"artifacts.sourceAuto":{message:`自動キャプチャ`,description:`自動キャプチャのソースマーク`},"artifacts.kind.article":{message:`記事`,description:`出力タイプ - 記事`},"artifacts.kind.image":{message:`画像`,description:`出力タイプ - 画像`},"artifacts.kind.video":{message:`動画`,description:`出力タイプ - 動画`},"artifacts.kind.audio":{message:`音声`,description:`出力タイプ - 音声`},"artifacts.kind.document":{message:`文書`,description:`出力タイプ - 文書`},"artifacts.kind.email":{message:`メール`,description:`出力タイプ - メール`},"artifacts.kind.message":{message:`メッセージ`,description:`出力タイプ - メッセージ`},"artifacts.kind.dataset":{message:`データ`,description:`出力タイプ - データ`},"artifacts.kind.link":{message:`リンク`,description:`出力タイプ - リンク`},"artifacts.kind.other":{message:`その他`,description:`出力タイプ - その他`},"share.menu":{message:`共有`,description:`サイドバー/ツールバーで共有ダイアログを開くメニュー項目`},"share.dialogTitle":{message:`会話を共有`,description:`共有ダイアログのタイトル`},"share.description":{message:`リンクを持っている人は誰でもこの会話を閲覧できますが、チャットを続けることはできません。`,description:`会話が共有された後に何が起こるかを説明`},"share.createLink":{message:`共有リンクを作成`,description:`会話の公開共有リンクを作成するボタン`},"share.copy":{message:`リンクをコピー`,description:`共有リンクをクリップボードにコピーするボタン`},"share.copied":{message:`コピーされました`,description:`コピー成功後にボタンに短時間表示されるヒント`},"share.disable":{message:`リンクを無効にする`,description:`共有リンクを取り消し、そのURLを無効にするボタン`},"share.disabled":{message:`共有リンクは無効化されました。`,description:`共有リンクが無効化された後のメッセージ`},"share.needLogin":{message:`先にログインしてください。その後、この会話を共有できます。`,description:`未ログインの訪問者が会話を共有しようとした際のメッセージ`},"share.noConversation":{message:`先に会話を開いてから共有してください。`,description:`アクティブな会話がない時に共有ボタンをクリックした際のメッセージ`},"share.createFailed":{message:`共有リンクの作成に失敗しました。後でもう一度お試しください。`,description:`共有リンクの作成に失敗した際のエラーメッセージ`},"share.disableFailed":{message:`共有リンクの無効化に失敗しました。後でもう一度お試しください。`,description:`共有リンクの無効化に失敗した際のエラーメッセージ`},"share.startYourOwn":{message:`自分の会話を始める`,description:`共有公開ページでの行動喚起、匿名訪問者をアプリのホームページに誘導する`},"share.unavailableTitle":{message:`この共有会話は利用できません。`,description:`共有リンクが無効または無効な場合の共有公開ページのタイトル`},"share.unavailableHint":{message:`相手がリンクを無効にした可能性があります、またはURLが間違っています。`,description:`共有リンクが無効または無効な場合のメッセージ`},"share.viewOnly":{message:`閲覧専用の共有会話`,description:`共有公開ページ上で会話が閲覧専用であることを示すラベル`},"share.untitled":{message:`無題の会話`,description:`共有会話にタイトルがない場合に使用されるプレースホルダーテキスト`},"share.footerNote":{message:`あなたは共有された会話を見ています。上をクリックすると自分でAIと会話できます。`,description:`共有公開ページの会話の下にある説明`},"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:`OpenAIが開発したAIモデル`,description:`ChatGPTモデルの説明`},"modelGroup.deepseek":{message:`DeepSeek`,description:`サービスのモデル名、すなわち DeepSeek`},"modelGroup.deepseekDescription":{message:`DeepSeek社が開発したAIモデル`,description:`DeepSeekモデルの説明`},"modelGroup.grok":{message:`Grok`,description:`サービスのモデル名、すなわち Grok`},"modelGroup.grokDescription":{message:`xAIが開発したAIモデル`,description:`Grok3モデルの説明`},"modelGroup.gemini":{message:`Gemini`,description:`サービスのモデル名、すなわち Gemini`},"modelGroup.geminiDescription":{message:`Googleが開発したAIモデル`,description:`Geminiモデルグループの説明`},"modelGroup.claude":{message:`Claude`,description:`サービスのモデル名、すなわち Claude`},"modelGroup.claudeDescription":{message:`Anthropicが開発したAIモデル`,description:`Claudeモデルグループの説明`},"modelGroup.kimi":{message:`Kimi`,description:`サービスのモデル名、すなわち Kimi`},"modelGroup.kimiDescription":{message:`月の暗面社が開発したAIモデル`,description:`Kimiモデルグループの説明`},"modelGroup.glm":{message:`GLM`,description:`サービスのモデル名、すなわち GLM`},"modelGroup.glmDescription":{message:`智谱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 チャット`},"model.deepseekChatDescription":{message:`日常的なタスクに適しています`,description:`DeepSeekチャットモデルの説明`},"model.deepseekReasoner":{message:`R1`,description:`サービスのモデル名、すなわち DeepSeek 推論`},"model.deepseekReasonerDescription":{message:`推論と深い思考の問題に適しています`,description:`DeepSeek推論モデルの説明`},"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:`クラウド・ソネット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:`最新のフラッグシップモデル`,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:`会話を開始するためのサンプル質問、ユーザーにHello Worldを出力するJavaScriptコードを書くように求める`},"message.question2":{message:`個人ウェブページを作成`,description:`会話を開始するためのサンプル質問、ユーザーにマイクに引っ越したことを伝えるメールを書くように求める`},"message.question3":{message:`面白いプログラミングゲームを設計`,description:`会話を開始するためのサンプル質問、ユーザーに量子計算の基本原理を簡単な言葉で説明するように求める`},"message.question4":{message:`地元の人のようにソウルを体験`,description:`会話を開始するためのサンプル質問、ユーザーに仮想現実がアート制作に与える影響を説明するように求める`},"message.question5":{message:`9.8と9.11、どちらが大きい?`,description:`会話を開始するためのサンプル質問、2つの数字の大きさを比較するように求める`},"message.question6":{message:`AIは未来にどのような影響を与えるか?`,description:`会話を開始するためのサンプル質問、AIが未来に与える影響について尋ねる`},"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:`デスクトップエージェントに接続して、AI対話でローカルファイルにアクセスしたり、コマンドを実行したり、ローカルMCPサーバーを使用したりします。`,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:`1つまたは複数選択可能`,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.viewRuns":{message:`Run history`},"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.skills":{message:`権限を付与する Skills`,description:`定期タスクの無人権限付与のための Skills の複数選択`},"scheduledTasks.form.skillsPlaceholder":{message:`このタスクの自動実行を許可する Skills を選択`,description:`権限付与の skill プレースホルダー`},"scheduledTasks.form.skillsHint":{message:`選択した Skills は定期タスクのバックグラウンド実行時に人工確認をスキップできます;未選択の Skills はプレビューまたは確認待ちのままとなります。`,description:`権限付与の skill 説明`},"scheduledTasks.form.skillMissing":{message:`未接続`,description:`skill が接続されていません`},"scheduledTasks.form.mcpServers":{message:`MCPを承認`,description:`定期タスクの無人運転用にMCPサーバーを複数選択する`},"scheduledTasks.form.mcpServersPlaceholder":{message:`このタスクが自動的に読み込むことを許可するMCPサーバーを選択`,description:`MCPサーバーの承認用プレースホルダー`},"scheduledTasks.form.mcpServersHint":{message:`選択したMCPサーバーは定期タスクのバックエンドで読み込まれ、実行されます;未選択のMCPサーバーは無人運転モードでは読み込まれません。`,description:`MCPサーバーの承認に関する説明`},"scheduledTasks.form.maxTurns":{message:`最大ターン数`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.maxTurnsHint":{message:`1 回の実行で許可されるエージェントの最大ターン数(1–50)。上限が低すぎると、複数ステップのタスク(Bash やドキュメント検索を何度も実行するスキルなど)が完了前に強制停止され、最終結果が残りません。デフォルトは 50。`,description:`Scheduled task per-run agent turn cap`},"scheduledTasks.form.skillsConfirmTitle":{message:`無人権限付与の確認`,description:`権限付与確認のタイトル`},"scheduledTasks.form.skillsConfirm":{message:`このタスクは {count} 個の Skill がバックグラウンドで実行される際に人工確認をスキップすることを許可します:{skills}。これらの Skill はメッセージを送信したり、コンテンツを公開したり、外部サービスに書き込んだりする可能性がありますので、ご確認ください。`,description:`権限付与確認の本文`},"scheduledTasks.form.required":{message:`Please fill in task name and prompt`},"artifacts.navTitle":{message:`出力`,description:`サイドバーの出力入口`},"artifacts.title":{message:`私の出力`,description:`出力ページのタイトル`},"artifacts.summaryTotal":{message:`今期の出力は {count} 件です。`,description:`出力の合計数を示すメッセージ`},"artifacts.filterAll":{message:`すべて`,description:`出力タイプフィルター - すべて`},"artifacts.empty":{message:`まだ出力はありません。AIに記事を作成させたり、画像を生成したり、メールを送信したりすると、出力がここに自動的に表示されます。`,description:`出力が空であることを示すメッセージ`},"artifacts.loadError":{message:`出力の読み込みに失敗しました。`,description:`出力読み込みエラーの通知`},"artifacts.actionError":{message:`操作に失敗しました。再試行してください。`,description:`出力操作エラーの通知`},"artifacts.open":{message:`開く`,description:`出力の元リンクを開くボタン`},"artifacts.hide":{message:`非表示`,description:`出力を非表示にするボタン`},"artifacts.delete":{message:`削除`,description:`出力を削除するボタン`},"artifacts.deleteConfirm":{message:`この出力記録を永久に削除してもよろしいですか?`,description:`出力削除の確認メッセージ`},"artifacts.loadMore":{message:`もっと読み込む`,description:`さらに出力を読み込むボタン`},"artifacts.sourceAuto":{message:`自動キャプチャ`,description:`自動キャプチャのソースマーク`},"artifacts.kind.article":{message:`記事`,description:`出力タイプ - 記事`},"artifacts.kind.image":{message:`画像`,description:`出力タイプ - 画像`},"artifacts.kind.video":{message:`動画`,description:`出力タイプ - 動画`},"artifacts.kind.audio":{message:`音声`,description:`出力タイプ - 音声`},"artifacts.kind.document":{message:`文書`,description:`出力タイプ - 文書`},"artifacts.kind.email":{message:`メール`,description:`出力タイプ - メール`},"artifacts.kind.message":{message:`メッセージ`,description:`出力タイプ - メッセージ`},"artifacts.kind.dataset":{message:`データ`,description:`出力タイプ - データ`},"artifacts.kind.link":{message:`リンク`,description:`出力タイプ - リンク`},"artifacts.kind.other":{message:`その他`,description:`出力タイプ - その他`},"share.menu":{message:`共有`,description:`サイドバー/ツールバーで共有ダイアログを開くメニュー項目`},"share.dialogTitle":{message:`会話を共有`,description:`共有ダイアログのタイトル`},"share.description":{message:`リンクを持っている人は誰でもこの会話を閲覧できますが、チャットを続けることはできません。`,description:`会話が共有された後に何が起こるかを説明`},"share.createLink":{message:`共有リンクを作成`,description:`会話の公開共有リンクを作成するボタン`},"share.copy":{message:`リンクをコピー`,description:`共有リンクをクリップボードにコピーするボタン`},"share.copied":{message:`コピーされました`,description:`コピー成功後にボタンに短時間表示されるヒント`},"share.disable":{message:`リンクを無効にする`,description:`共有リンクを取り消し、そのURLを無効にするボタン`},"share.disabled":{message:`共有リンクは無効化されました。`,description:`共有リンクが無効化された後のメッセージ`},"share.needLogin":{message:`先にログインしてください。その後、この会話を共有できます。`,description:`未ログインの訪問者が会話を共有しようとした際のメッセージ`},"share.noConversation":{message:`先に会話を開いてから共有してください。`,description:`アクティブな会話がない時に共有ボタンをクリックした際のメッセージ`},"share.createFailed":{message:`共有リンクの作成に失敗しました。後でもう一度お試しください。`,description:`共有リンクの作成に失敗した際のエラーメッセージ`},"share.disableFailed":{message:`共有リンクの無効化に失敗しました。後でもう一度お試しください。`,description:`共有リンクの無効化に失敗した際のエラーメッセージ`},"share.startYourOwn":{message:`自分の会話を始める`,description:`共有公開ページでの行動喚起、匿名訪問者をアプリのホームページに誘導する`},"share.unavailableTitle":{message:`この共有会話は利用できません。`,description:`共有リンクが無効または無効な場合の共有公開ページのタイトル`},"share.unavailableHint":{message:`相手がリンクを無効にした可能性があります、またはURLが間違っています。`,description:`共有リンクが無効または無効な場合のメッセージ`},"share.viewOnly":{message:`閲覧専用の共有会話`,description:`共有公開ページ上で会話が閲覧専用であることを示すラベル`},"share.untitled":{message:`無題の会話`,description:`共有会話にタイトルがない場合に使用されるプレースホルダーテキスト`},"share.footerNote":{message:`あなたは共有された会話を見ています。上をクリックすると自分でAIと会話できます。`,description:`共有公開ページの会話の下にある説明`},"model.claudeOpus47":{message:`claude-opus-4.7`,description:`サービスのモデル名、すなわち Claude Opus 4.7`},"model.claudeOpus47Description":{message:`現在最も先進的なモデル`,description:`Claude Opus 4.7モデルの説明`},"artifacts.unhide":{message:`Unhide`,description:`Restore a hidden artifact`},"artifacts.showHidden":{message:`Show hidden`,description:`Toggle in the filter bar to include hidden artifacts`},"artifacts.hiddenBadge":{message:`Hidden`,description:`Badge shown on artifacts that are currently hidden`}};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,Zi 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-4v-9kyGt.js";import{l as I,o as L}from"./surface-D249_eDG.js";import{$n as R,Lr as z,an as B}from"./index-DJu8BXX6.js";import{a as se,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-b5BMXcT0.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
- `)},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:z.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:z.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:z.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:z.Request});try{let{data:t}=await B.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:z.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:z.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:z.Request});try{let{data:n}=await B.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:z.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:z.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:z.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:z.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:z.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(I()){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(I()||!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:z.Request}),J.sendToNode(r,{action:te,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!J||(e(`updateStatus`,{key:`getHistoryDetail`,value:z.Request}),J.sendToNode(t.node_id,{action:D,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:z.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
+ 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,Qi as p,R as m,S as h,T as g,V 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-CKB_PapE.js";import{l as I,o as L}from"./surface-D249_eDG.js";import{$n as R,Lr as z,an as B}from"./index-B5P48B4i.js";import{a as se,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-BsfJk4gE.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=`${p}?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 m: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,_)}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
+ `)},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,m,_)=>{let y=m?.event,x=m?.session_id,S=m?.trace_id,C=m?.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:m.cwd,model:m.model,...m.effort===void 0?{}:{effort:m.effort},...m.permission_mode===void 0?{}:{permission_mode:m.permission_mode},trace_id:S});break;case r:{let e=m.sdk_session_id;x&&e&&e!==x&&t(`renameSession`,{from:x,to:e});break}case f:{let e=m.id;e&&p.events[x]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:x,stream_id:e,text:m.text??``}):t(`appendEvent`,X(x,`text`,{text:m.text??``,stream_id:e,streaming:!0,trace_id:S}));break}case u:{let e=m.id;e&&p.events[x]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:x,stream_id:e,text:m.text}):t(`appendEvent`,X(x,`text`,{text:m.text,trace_id:S}));break}case a:t(`appendEvent`,X(x,`thinking`,{text:m.text,trace_id:S}));break;case c:t(`appendEvent`,X(x,`tool_use`,{tool:m.tool,tool_use_id:m.tool_use_id,input:m.input,trace_id:S}));break;case s:t(`appendEvent`,X(x,`tool_result`,{tool_use_id:m.tool_use_id,content:m.content,is_error:m.is_error,trace_id:S}));break;case h:t(`addPermission`,{request_id:m.request_id,session_id:x,node_id:_,tool:m.tool,input:m.input,title:m.title,display_name:m.display_name,description:m.description}),ue(o,{node_id:_,session_id:x,request_id:m.request_id,tool:m.display_name||m.title||m.tool});break;case N:for(let e of m.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`,m.request_id);break;case re:t(`finalizeAllStreams`,{session_id:x}),t(`appendEvent`,X(x,`result`,{subtype:m.subtype,is_error:m.is_error,text:m.result,cost_usd:m.cost_usd,cut_uuid:m.cut_uuid,sdk_session_id:m.sdk_session_id,trace_id:S})),t(`updateSession`,{session_id:x,status:`idle`,cost_usd:m.cost_usd});break;case d:t(`appendEvent`,X(x,`notice`,{text:m.text,subtype:m.code,command:m.command,level:m.level}));break;case i:t(`finalizeAllStreams`,{session_id:x}),t(`appendEvent`,X(x,`error`,{text:m.message,trace_id:S})),t(`updateSession`,{session_id:x,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:z.Success});break;case g:t(`finalizeAllStreams`,{session_id:x}),t(`updateSession`,{session_id:x,status:`closed`});break;case e:t(`rewindToCut`,{session_id:x,cut_uuid:m.cut_uuid}),m.prompt&&t(`appendEvent`,X(x,`prompt`,{text:m.prompt,trace_id:S})),t(`updateSession`,{session_id:x,status:`running`});break;case l:o(`resyncSession`,x);break;case M:for(let e of m.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:m.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:z.Success});let e=p.historyRef;e&&e.node_id===_&&!p.currentSessionId&&o(`reattachSession`,e)}break;case P:de(t,p,m,_),t(`updateStatus`,{key:`getHistoryDetail`,value:z.Success});break;case j:t(`setDirectory`,{path:m.path,parent:m.parent??null,sep:m.sep??`/`,entries:m.entries??[],truncated:m.truncated,error:m.error});break;case v:_&&t(`setCapabilities`,{node_id:_,capabilities:{providers:m.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:z.Request});try{let{data:t}=await B.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:z.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:z.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:z.Request});try{let{data:n}=await B.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:z.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:z.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:z.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:z.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:z.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(I()){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(I()||!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:z.Request}),J.sendToNode(r,{action:te,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!J||(e(`updateStatus`,{key:`getHistoryDetail`,value:z.Request}),J.sendToNode(t.node_id,{action:D,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:z.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-BQ10RYaC.js","assets/index-DJu8BXX6.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/constants-4v-9kyGt.js","assets/vendor-chart-BJCvKk8-.js","assets/vendor-axios-Ck2ffRoh.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/event-BGnHezxC.js","assets/use-aria-QsRrwtXj.js","assets/aria-8oQuUBWy.js","assets/scroll-CgpW_lTC.js","assets/vnode-BKrYEsqE.js","assets/vendor-vue-router-WDnlh53U.js","assets/surface-D249_eDG.js","assets/surface-B5ZXUAsd.js","assets/index-DN-gMJyR.css","assets/esm-BKK44iE3.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-zJ_50EbN.js";import{l as t}from"./surface-D249_eDG.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-BQ10RYaC.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]));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-BKK44iE3.js`);return{PushNotifications:e}},__vite__mapDeps([22,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])),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-OHJdWe8N.js","assets/index-B5P48B4i.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/constants-CKB_PapE.js","assets/vendor-chart-BJCvKk8-.js","assets/vendor-axios-Ck2ffRoh.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/event-BGnHezxC.js","assets/use-aria-QsRrwtXj.js","assets/aria-8oQuUBWy.js","assets/scroll-CgpW_lTC.js","assets/vnode-BKrYEsqE.js","assets/vendor-vue-router-WDnlh53U.js","assets/surface-D249_eDG.js","assets/surface-B5ZXUAsd.js","assets/index-DN-gMJyR.css","assets/esm-8sCRPvpu.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-zJ_50EbN.js";import{l as t}from"./surface-D249_eDG.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-OHJdWe8N.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]));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-8sCRPvpu.js`);return{PushNotifications:e}},__vite__mapDeps([22,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])),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};