sliccy 5.31.2 → 5.31.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/node-server/_shared/electron-overlay-route.d.ts +31 -0
  2. package/dist/node-server/_shared/electron-overlay-route.d.ts.map +1 -0
  3. package/dist/node-server/_shared/electron-overlay-route.js +29 -0
  4. package/dist/node-server/_shared/electron-overlay-route.js.map +1 -0
  5. package/dist/node-server/_shared/index.d.ts +1 -0
  6. package/dist/node-server/_shared/index.d.ts.map +1 -1
  7. package/dist/node-server/_shared/index.js +1 -0
  8. package/dist/node-server/_shared/index.js.map +1 -1
  9. package/dist/node-server/electron-controller.d.ts +2 -10
  10. package/dist/node-server/electron-controller.js +5 -10
  11. package/dist/node-server/electron-runtime.d.ts +0 -1
  12. package/dist/node-server/electron-runtime.js +0 -1
  13. package/dist/ui/assets/__vite-browser-external-CDnYSdyJ.js +1 -0
  14. package/dist/ui/assets/account-store-CjP3u0Xj.js +103 -0
  15. package/dist/ui/assets/{account-store-CCSM8d8q.js → account-store-QLqDJZ3y.js} +3 -3
  16. package/dist/ui/assets/adobe-1kG8VxBi.js +1 -0
  17. package/dist/ui/assets/adobe-D014kRHR.js +2 -0
  18. package/dist/ui/assets/{adobe-oauth-state-CzP4Zq5_.js → adobe-oauth-state-Bw9cHJvy.js} +1 -1
  19. package/dist/ui/assets/adobe-oauth-state-Ge2y0PGt.js +1 -0
  20. package/dist/ui/assets/{agent-message-to-chat-GFs2kSg4.js → agent-message-to-chat-DAZlC-W0.js} +1 -1
  21. package/dist/ui/assets/anthropic-messages-DP3-Xd3J.js +39 -0
  22. package/dist/ui/assets/{anthropic-LjoeX6v-.js → anthropic-messages-DSmP2_-Q.js} +6 -6
  23. package/dist/ui/assets/{apps-BcboOJOi.js → apps-CQfWRwG1.js} +1 -1
  24. package/dist/ui/assets/azure-openai-D4Y91RF2.js +1 -0
  25. package/dist/ui/assets/{azure-openai-CNrgrux4.js → azure-openai-DzS94JlK.js} +1 -1
  26. package/dist/ui/assets/azure-openai-responses-CEEm6_Xn.js +1 -0
  27. package/dist/ui/assets/azure-openai-responses-YO8iO-Ch.js +1 -0
  28. package/dist/ui/assets/bedrock-camp-DVKDCEuf.js +1 -0
  29. package/dist/ui/assets/bedrock-camp-DbZ6Mjym.js +1 -0
  30. package/dist/ui/assets/cerebras-CCUO5Bgl.js +1 -0
  31. package/dist/ui/assets/cerebras-kxgog_fc.js +1 -0
  32. package/dist/ui/assets/compat-DADQxxLV.js +2 -0
  33. package/dist/ui/assets/completionchunk-B2eUYPOo.js +40 -0
  34. package/dist/ui/assets/completionchunk-BsT4qCtf.js +40 -0
  35. package/dist/ui/assets/{composer-speech-D7pXrLX8.js → composer-speech-C8TRsqUk.js} +1 -1
  36. package/dist/ui/assets/{connect-surface-DghcEB5c.js → connect-surface-BtGC0JlX.js} +1 -1
  37. package/dist/ui/assets/{context-compaction-DvlXtgVG.js → context-compaction-DaxQExZG.js} +1 -1
  38. package/dist/ui/assets/dip-MMWTvMmO.js +1 -0
  39. package/dist/ui/assets/{dist-CyO5KyPV.js → dist-B8waMwOf.js} +1 -1
  40. package/dist/ui/assets/{dist-WnUiq_H6.js → dist-NK6NkUbO.js} +1 -1
  41. package/dist/ui/assets/{ensure-speech-assets-DUy7MpCX.js → ensure-speech-assets-D5QLe0MT.js} +1 -1
  42. package/dist/ui/assets/esp8266-BtqgI4Fj.js +1 -0
  43. package/dist/ui/assets/{esptool-operations-BZV7XYJg.js → esptool-operations-9SVL1aTu.js} +2 -2
  44. package/dist/ui/assets/{fs-CbeB65Hv.js → fs-Cm5Q5rbx.js} +1 -1
  45. package/dist/ui/assets/{fs-DNUVsv8F.js → fs-DClGwY5x.js} +2 -2
  46. package/dist/ui/assets/{github-D-y_odP_.js → github-5cJ0OWUB.js} +2 -2
  47. package/dist/ui/assets/{github-DafF3J91.js → github-DvQEBnqP.js} +1 -1
  48. package/dist/ui/assets/github-copilot-BbNKKeqF.js +1 -0
  49. package/dist/ui/assets/github-copilot-BdkOFmSZ.js +2 -0
  50. package/dist/ui/assets/github-copilot-headers-DRgtIyTm.js +1 -0
  51. package/dist/ui/assets/google-generative-ai-Cz3VHJVe.js +1 -0
  52. package/dist/ui/assets/google-generative-ai-DRLjqQHr.js +1 -0
  53. package/dist/ui/assets/{google-shared-CwjAeP6N.js → google-shared-0Fg2dFO2.js} +1 -1
  54. package/dist/ui/assets/{google-shared-CFmFmYdk.js → google-shared-mehyRjje.js} +1 -1
  55. package/dist/ui/assets/google-vertex-C8F4Q-3-.js +1 -0
  56. package/dist/ui/assets/google-vertex-DI_ybVGc.js +1 -0
  57. package/dist/ui/assets/headers-CbDaTl3c.js +1 -0
  58. package/dist/ui/assets/{hear-DTf211DF.js → hear-C2QG7EBv.js} +1 -1
  59. package/dist/ui/assets/{hear-pJ6dxizz.js → hear-DEv4kmVy.js} +1 -1
  60. package/dist/ui/assets/{kernel-worker-4k1eVOmV.js → kernel-worker-dBGEcbBm.js} +1197 -1198
  61. package/dist/ui/assets/{kokoro-engine-DgL3vg_o.js → kokoro-engine-r1z4FFxZ.js} +1 -1
  62. package/dist/ui/assets/{lick-ws-bridge-DFfNBQjK.js → lick-ws-bridge-BvQNg7SI.js} +1 -1
  63. package/dist/ui/assets/{lick-ws-bridge-CjWMZdHT.js → lick-ws-bridge-Cc3lPQgg.js} +1 -1
  64. package/dist/ui/assets/{local-llm-C0H-56Mj.js → local-llm-DrnMUVlA.js} +2 -2
  65. package/dist/ui/assets/main-CPkFUsXk.js +24 -0
  66. package/dist/ui/assets/mistral-conversations-BD1LHG49.js +8 -0
  67. package/dist/ui/assets/mistral-conversations-CoropYyn.js +7 -0
  68. package/dist/ui/assets/models-ByRUWfA-.js +1 -0
  69. package/dist/ui/assets/mount-C4uwVpr7.js +1 -0
  70. package/dist/ui/assets/mount-bridge-client-DHpxu7lQ.js +1 -0
  71. package/dist/ui/assets/mount-m-BOnULA.js +2 -0
  72. package/dist/ui/assets/new-session-CxrL_CWN.js +2 -0
  73. package/dist/ui/assets/oauth-bootstrap-CDQPQ8Ho.js +2 -0
  74. package/dist/ui/assets/{oauth-service-DY8Ud2Yu.js → oauth-service-BSqTYvb6.js} +1 -1
  75. package/dist/ui/assets/openai-codex-B6ur6j3g.js +1 -0
  76. package/dist/ui/assets/openai-codex-responses-DUWTsNB0.js +7 -0
  77. package/dist/ui/assets/openai-codex-responses-DcE8b3Us.js +7 -0
  78. package/dist/ui/assets/{openai-codex-CMLZ1G9_.js → openai-codex-w1Ka-WDf.js} +1 -1
  79. package/dist/ui/assets/openai-completions-2m5htnw8.js +5 -0
  80. package/dist/ui/assets/openai-completions-CPxuOo6h.js +5 -0
  81. package/dist/ui/assets/openai-responses-BIaF8Olv.js +1 -0
  82. package/dist/ui/assets/openai-responses-D3YJWUR5.js +1 -0
  83. package/dist/ui/assets/openai-responses-shared-1KvKQf-4.js +12 -0
  84. package/dist/ui/assets/openai-responses-shared-CEQMR7Nx.js +12 -0
  85. package/dist/ui/assets/openrouter-images-CHaqAs_0.js +1 -0
  86. package/dist/ui/assets/openrouter-images-CIagBWVL.js +1 -0
  87. package/dist/ui/assets/otel-BvlmHUjk.js +3 -0
  88. package/dist/ui/assets/otel-CCT7TRJr.js +3 -0
  89. package/dist/ui/assets/{page-follower-tray-Cg2SsCF0.js → page-follower-tray-C9Fqqzib.js} +1 -1
  90. package/dist/ui/assets/panel-rpc-handlers-DgrIEdqQ.js +2 -0
  91. package/dist/ui/assets/port-bridge-client-BJ5rcoKH.js +2 -0
  92. package/dist/ui/assets/port-bridge-client-vT8ubtB-.js +1 -0
  93. package/dist/ui/assets/{provider-BUCvsLNz.js → provider-8lZWJTdm.js} +2 -2
  94. package/dist/ui/assets/{provider-BrF0oboR.js → provider-DKySmzpb.js} +1 -1
  95. package/dist/ui/assets/provider-env-D37PhSJu.js +1 -0
  96. package/dist/ui/assets/provider-env-DwY8YuMk.js +1 -0
  97. package/dist/ui/assets/provider-store-access-YMOMgBCh.js +1 -0
  98. package/dist/ui/assets/provider-store-access-gaNq5xWg.js +1 -0
  99. package/dist/ui/assets/{providers-DJhCeQOb.js → providers-B3pIB8gh.js} +1 -1
  100. package/dist/ui/assets/providers-TpMPsx54.js +2 -0
  101. package/dist/ui/assets/proxied-fetch-iGqLvoxh.js +2 -0
  102. package/dist/ui/assets/{py-realm-worker-DJfA3V8e.js → py-realm-worker-BP0PXobe.js} +1 -1
  103. package/dist/ui/assets/{pyodide-dCNxT3QU.js → pyodide-C3-pUJSm.js} +2 -2
  104. package/dist/ui/assets/{pyodide-CHuPF4e3.js → pyodide-CxYFR9UT.js} +1 -1
  105. package/dist/ui/assets/quick-llm-BRIFeEdv.js +1 -0
  106. package/dist/ui/assets/{secret-env-C-5TIS7_.js → secret-env-kbusPsVw.js} +1 -1
  107. package/dist/ui/assets/{secret-topology-D6iS4SOH.js → secret-topology-DnYeyyJY.js} +1 -1
  108. package/dist/ui/assets/secrets-bridge-client-x_puVSDN.js +1 -0
  109. package/dist/ui/assets/session-freezer-8K2DjgO1.js +1 -0
  110. package/dist/ui/assets/{speak-CvMJoM2C.js → speak-CWClYEDF.js} +1 -1
  111. package/dist/ui/assets/{speak-BvHvt4mX.js → speak-DnUM0f7v.js} +1 -1
  112. package/dist/ui/assets/{sprinkle-manager-OTHBZXNW.js → sprinkle-manager--5UxyLSA.js} +1 -1
  113. package/dist/ui/assets/src-BdPw21ST.js +1 -0
  114. package/dist/ui/assets/{store-nPUKvFth.js → store-Mv68Y-cH.js} +1 -1
  115. package/dist/ui/assets/{sudo-CiUUdnPg.js → sudo-CcKvrbuS.js} +1 -1
  116. package/dist/ui/assets/transform-messages-CQuDksPz.js +1 -0
  117. package/dist/ui/assets/transform-messages-D7OsqBmU.js +1 -0
  118. package/dist/ui/assets/{transformers-env-tAIm37Yk.js → transformers-env-CjH48rcA.js} +1 -1
  119. package/dist/ui/assets/{transformers-env-DSFJ1AwW.js → transformers-env-X1AdbDU-.js} +1 -1
  120. package/dist/ui/assets/{tray-leader-CRjmmeiD.js → tray-leader-eM_igB1C.js} +1 -1
  121. package/dist/ui/assets/{tray-leave-runtime-D2jLANoP.js → tray-leave-runtime-DBU7Ic9c.js} +1 -1
  122. package/dist/ui/assets/{upgrade-detection-B3Guwrir.js → upgrade-detection-CfImj_q5.js} +1 -1
  123. package/dist/ui/assets/{voice-reply-B8IglnVD.js → voice-reply-C8VjCUaj.js} +1 -1
  124. package/dist/ui/assets/wc-attach-Doo7OGT5.js +13 -0
  125. package/dist/ui/assets/wc-extension-B6EAyp6S.js +2 -0
  126. package/dist/ui/assets/{wc-float-label-bfJhTEza.js → wc-float-label-Dh8xz8qh.js} +1 -1
  127. package/dist/ui/assets/wc-follower-2aecKVEz.js +4 -0
  128. package/dist/ui/assets/wc-live-DQLH_pQE.js +258 -0
  129. package/dist/ui/assets/wc-nav-DWpnwKpW.js +2 -0
  130. package/dist/ui/assets/{wc-onboarding-Cc7Y71yr.js → wc-onboarding-C-y0ZiMT.js} +2 -2
  131. package/dist/ui/assets/wc-placeholder-Cy7INDNF.js +4 -0
  132. package/dist/ui/assets/{wc-settings-C1GihJ60.js → wc-settings-DzNAgUGS.js} +2 -2
  133. package/dist/ui/assets/{wc-shell-BIMESmsG.js → wc-shell-Djik448Y.js} +4 -4
  134. package/dist/ui/assets/wc-sprinkles-Jss4eZGw.js +2 -0
  135. package/dist/ui/assets/wc-tray-Cx_9mhYu.js +2 -0
  136. package/dist/ui/assets/{whisper-engine-CXEBUN7G.js → whisper-engine-D8ajA8nU.js} +1 -1
  137. package/dist/ui/assets/{whisper-session-CouZGLHz.js → whisper-session-Duou3zwG.js} +2 -2
  138. package/dist/ui/assets/{xai-grok-CXbJRFnC.js → xai-grok-267N2Xuf.js} +1 -1
  139. package/dist/ui/assets/xai-grok-C9i8WcJE.js +1 -0
  140. package/dist/ui/index.html +14 -13
  141. package/dist/ui/llm-proxy-sw.js +1 -1
  142. package/dist/ui/packages/webapp/index.html +14 -13
  143. package/package.json +4 -4
  144. package/dist/ui/assets/__vite-browser-external-Dyo3iKee.js +0 -1
  145. package/dist/ui/assets/account-store-C4AuIs8H.js +0 -99
  146. package/dist/ui/assets/adobe-BZKZ-lu4.js +0 -2
  147. package/dist/ui/assets/adobe-CFBqbTXi.js +0 -1
  148. package/dist/ui/assets/adobe-oauth-state---RmeoFk.js +0 -1
  149. package/dist/ui/assets/anthropic-BOEkIcb-.js +0 -39
  150. package/dist/ui/assets/azure-openai-DrzyqguT.js +0 -1
  151. package/dist/ui/assets/azure-openai-responses-CbJrQGi8.js +0 -1
  152. package/dist/ui/assets/azure-openai-responses-DPSrcT4o.js +0 -1
  153. package/dist/ui/assets/bedrock-camp-DjKgax8m.js +0 -1
  154. package/dist/ui/assets/bedrock-camp-DlP7CPgV.js +0 -5
  155. package/dist/ui/assets/cerebras-BsmBWDtr.js +0 -1
  156. package/dist/ui/assets/cerebras-CHs1ca14.js +0 -1
  157. package/dist/ui/assets/diagnostics-DRDFDs4d.js +0 -1
  158. package/dist/ui/assets/diagnostics-mI-AnKx_.js +0 -1
  159. package/dist/ui/assets/dip-BEFnAFyd.js +0 -1
  160. package/dist/ui/assets/dist-D69OmKNn.js +0 -4
  161. package/dist/ui/assets/esp8266-CZsuQis3.js +0 -1
  162. package/dist/ui/assets/event-stream-BJI_nGaK.js +0 -1
  163. package/dist/ui/assets/github-copilot-CPvJORhb.js +0 -1
  164. package/dist/ui/assets/github-copilot-Cyfds-bN.js +0 -2
  165. package/dist/ui/assets/github-copilot-headers-DZtWWv8W.js +0 -1
  166. package/dist/ui/assets/google-C3U0TK_l.js +0 -1
  167. package/dist/ui/assets/google-DPvIPcfE.js +0 -1
  168. package/dist/ui/assets/google-vertex-BbeV3aSP.js +0 -1
  169. package/dist/ui/assets/google-vertex-CEGsokz8.js +0 -1
  170. package/dist/ui/assets/headers-DO1UzNKu.js +0 -1
  171. package/dist/ui/assets/main-Cvx4yj8c.js +0 -24
  172. package/dist/ui/assets/mistral-CLF3Mo4W.js +0 -46
  173. package/dist/ui/assets/mistral-DkJAVbOW.js +0 -46
  174. package/dist/ui/assets/mount-Bj5edAhN.js +0 -1
  175. package/dist/ui/assets/mount-SVjRQA-_.js +0 -2
  176. package/dist/ui/assets/mount-bridge-client-CB9Fm9Jh.js +0 -2
  177. package/dist/ui/assets/new-session-mnPeJ9sS.js +0 -2
  178. package/dist/ui/assets/oauth-bootstrap-BD2sXBnz.js +0 -2
  179. package/dist/ui/assets/openai-codex-l2aWFKVd.js +0 -1
  180. package/dist/ui/assets/openai-codex-responses-B2oZ1hgB.js +0 -7
  181. package/dist/ui/assets/openai-codex-responses-Dumyd9t2.js +0 -7
  182. package/dist/ui/assets/openai-completions-B2n4Op2S.js +0 -5
  183. package/dist/ui/assets/openai-completions-aHU8w14d.js +0 -5
  184. package/dist/ui/assets/openai-responses-4ryIAXQS.js +0 -1
  185. package/dist/ui/assets/openai-responses-BurVahs3.js +0 -1
  186. package/dist/ui/assets/openai-responses-shared-BebU8o_f.js +0 -12
  187. package/dist/ui/assets/openai-responses-shared-D9O9OCYB.js +0 -12
  188. package/dist/ui/assets/openrouter-B1ruTb6k.js +0 -1
  189. package/dist/ui/assets/openrouter-XmffhsNH.js +0 -1
  190. package/dist/ui/assets/panel-rpc-handlers-5eK7z2WC.js +0 -2
  191. package/dist/ui/assets/provider-store-access-B_4FO9Mq.js +0 -1
  192. package/dist/ui/assets/provider-store-access-OGuFCskr.js +0 -1
  193. package/dist/ui/assets/providers-BXXZ3Xkp.js +0 -2
  194. package/dist/ui/assets/proxied-fetch-Bht31_rT.js +0 -2
  195. package/dist/ui/assets/quick-llm-oVxQHiDJ.js +0 -1
  196. package/dist/ui/assets/secrets-bridge-client-DwfYAgDv.js +0 -2
  197. package/dist/ui/assets/session-freezer-B5ZKu3BY.js +0 -1
  198. package/dist/ui/assets/src-x0cJ68Fe.js +0 -1
  199. package/dist/ui/assets/transform-messages-BjP6vDPY.js +0 -1
  200. package/dist/ui/assets/transform-messages-DiIjWKhh.js +0 -1
  201. package/dist/ui/assets/wc-attach-CV5PztL5.js +0 -13
  202. package/dist/ui/assets/wc-extension-Cyszr-Ua.js +0 -2
  203. package/dist/ui/assets/wc-follower-Bq5YVYRG.js +0 -4
  204. package/dist/ui/assets/wc-live-Cqx2-MrK.js +0 -258
  205. package/dist/ui/assets/wc-nav-DXxnXtTJ.js +0 -2
  206. package/dist/ui/assets/wc-placeholder-Db_9QdTp.js +0 -4
  207. package/dist/ui/assets/wc-sprinkles-Dxkie1pO.js +0 -2
  208. package/dist/ui/assets/wc-tray-D28SvDP2.js +0 -2
  209. package/dist/ui/assets/xai-grok-BzenC4W4.js +0 -1
@@ -1 +0,0 @@
1
- import{O as e,i as t}from"./account-store-C4AuIs8H.js";import{b as n,f as r,g as i,h as a,m as o,v as s,y as c}from"./bedrock-camp-DlP7CPgV.js";import{l,o as u,u as d}from"./transform-messages-BjP6vDPY.js";import"./kernel-worker-4k1eVOmV.js";const f=`github-copilot`,p=atob(`SXYxLmI1MDdhMDhjODdlY2ZlOTg=`),m={Accept:`application/json`,"Editor-Version":`vscode/1.107.0`,"Editor-Plugin-Version":`copilot-chat/0.35.0`,"Copilot-Integration-Id":`vscode-chat`},h={Accept:`application/json`,"Content-Type":`application/x-www-form-urlencoded`};function g(){return t().find(e=>e.providerId===f)}async function _(){let e=await fetch(`https://github.com/login/device/code`,{method:`POST`,headers:h,body:new URLSearchParams({client_id:p,scope:`read:user`})});if(!e.ok)throw Error(`GitHub device-code request failed: ${e.status} ${e.statusText} — ${await e.text().catch(()=>``)}`);let t=await e.json();if(typeof t.device_code!=`string`||typeof t.user_code!=`string`||typeof t.verification_uri!=`string`||typeof t.expires_in!=`number`||typeof t.interval!=`number`)throw Error(`GitHub device-code response had an unexpected shape`);return t}async function v(e,t){let n=Date.now()+e.expires_in*1e3,r=Math.max(1e3,Math.floor(e.interval*1e3)),i=1.2;for(;Date.now()<n;){if(t.aborted)throw Error(`Copilot login cancelled`);await y(Math.ceil(r*i),t);let n=await fetch(`https://github.com/login/oauth/access_token`,{method:`POST`,headers:h,body:new URLSearchParams({client_id:p,device_code:e.device_code,grant_type:`urn:ietf:params:oauth:grant-type:device_code`})});if(!n.ok)throw Error(`GitHub token poll failed: ${n.status} ${n.statusText} — ${await n.text().catch(()=>``)}`);let a=await n.json();if(typeof a.access_token==`string`&&a.access_token.length>0)return a.access_token;if(a.error!==`authorization_pending`){if(a.error===`slow_down`){r=typeof a.interval==`number`?a.interval*1e3:r+5e3,i=1.4;continue}if(a.error){let e=a.error_description?`: ${a.error_description}`:``;throw Error(`Device flow failed (${a.error})${e}`)}}}throw Error(`Copilot device flow timed out (device code expired)`)}function y(e,t){return new Promise((n,r)=>{if(t.aborted){r(Error(`Copilot login cancelled`));return}let i=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Copilot login cancelled`))},{once:!0})})}function b(e){let t=e.match(/proxy-ep=([^;]+)/);return t?`https://${t[1].replace(/^proxy\./,`api.`)}`:null}async function x(e){let t=await fetch(`https://api.github.com/copilot_internal/v2/token`,{headers:{...m,Authorization:`Bearer ${e}`}});if(!t.ok){let e=await t.text().catch(()=>``);throw Error(`Copilot token exchange failed: ${t.status} ${t.statusText} — ${e.slice(0,300)}`)}let n=await t.json();if(typeof n.token!=`string`||typeof n.expires_at!=`number`)throw Error(`Copilot token exchange returned an unexpected payload`);if(n.chat_enabled===!1)throw Error(`GitHub Copilot Chat is disabled for this account (no chat features granted)`);return{copilotToken:n.token,expiresAtMs:n.expires_at*1e3-300*1e3,apiBaseUrl:b(n.token)??`https://api.individual.githubcopilot.com`,githubAccessToken:e}}const S=`github-copilot.models.v1`;function C(e){let t=e.supported_endpoints??[],n=(e.vendor??``).toLowerCase(),r=e.id;return n===`anthropic`&&t.includes(`/v1/messages`)?`anthropic-messages`:n===`openai`&&(/^gpt-5/i.test(r)||/codex/i.test(r)||/^o\d/i.test(r))?`openai-responses`:`openai-completions`}function w(e){if(!e||typeof e!=`object`)return[];let t=e.data;if(!Array.isArray(t))return[];let n=[];for(let e of t)e.capabilities?.type&&e.capabilities.type!==`chat`||e.model_picker_enabled!==!1&&e.id&&n.push({id:e.id,name:e.name??e.id,vendor:e.vendor??``,api:C(e),contextWindow:e.capabilities?.limits?.max_context_window_tokens??e.capabilities?.limits?.max_prompt_tokens??128e3,maxTokens:e.capabilities?.limits?.max_output_tokens??8192,supportsTools:e.capabilities?.supports?.tool_calls===!0,supportsStreaming:e.capabilities?.supports?.streaming!==!1,supportsVision:e.capabilities?.supports?.vision===!0,supportsReasoning:e.capabilities?.supports?.adaptive_thinking===!0||Array.isArray(e.capabilities?.supports?.reasoning_effort),policyState:e.policy?.state??`enabled`});return n}async function T(e){let t=await fetch(`${e.apiBaseUrl}/models`,{headers:{...m,Authorization:`Bearer ${e.copilotToken}`,Accept:`application/json`}});if(!t.ok)throw Error(`Copilot /models returned ${t.status} ${t.statusText}`);return w(await t.json())}function E(){if(typeof localStorage>`u`)return[];try{let e=localStorage.getItem(S);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function D(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(S,JSON.stringify(e))}catch{}}function O(e){return E().find(t=>t.id===e)??null}async function k(e){let t;try{t=await T(e)}catch(e){console.warn(`[github-copilot] Catalog refresh failed; keeping previous cache.`,e instanceof Error?e.message:String(e));return}D(t),await Promise.all(t.filter(e=>e.policyState===`disabled`).map(async t=>{let n=`${e.apiBaseUrl}/models/${encodeURIComponent(t.id)}/policy`;try{let r=await fetch(n,{method:`POST`,headers:{...m,"Content-Type":`application/json`,Authorization:`Bearer ${e.copilotToken}`,"openai-intent":`chat-policy`,"x-interaction-type":`chat-policy`},body:JSON.stringify({state:`enabled`})});r.ok?t.policyState=`enabled`:r.status!==404&&r.status!==400&&console.warn(`[github-copilot] enable policy for ${t.id} returned ${r.status} ${r.statusText}`)}catch(e){console.warn(`[github-copilot] enable policy for ${t.id} failed:`,e instanceof Error?e.message:String(e))}})),D(t)}async function A(t,n){await e({providerId:f,accessToken:t.copilotToken,refreshToken:t.githubAccessToken,tokenExpiresAt:t.expiresAtMs,baseUrl:t.apiBaseUrl,userName:n})}async function j(){let e=g();if(!e?.accessToken||!e.refreshToken)throw Error(`Not logged in to GitHub Copilot — click "Login" in the provider settings`);let t=e.tokenExpiresAt??0;if(Date.now()<t-6e4)return e.accessToken;let n=await x(e.refreshToken);return await A(n,e.userName),n.copilotToken}const M=[`mini`,`nano`,`flash`,`haiku`,`lite`,`embedding`];function N(e){let t=[e.id,e.name??``].flatMap(e=>{let t=e.toLowerCase();return[t,t.replace(/[\s_.:]+/g,`-`)]});return!M.some(e=>t.some(t=>t.includes(e)))}function P(){if(!g()?.accessToken)return[];let e=E();if(e.length>0)return e.filter(e=>!e.policyState.startsWith(`unavailable:`)).filter(e=>N(e)).map(e=>({id:e.id,name:e.name,api:e.api===`anthropic-messages`?`anthropic`:`openai`,context_window:e.contextWindow,max_tokens:e.maxTokens,reasoning:e.supportsReasoning,input:e.supportsVision?[`text`,`image`]:[`text`]}));let t;try{t=d(`github-copilot`)}catch{return[]}return t.filter(e=>N({id:e.id,name:e.name})).map(e=>({id:e.id,name:e.name??e.id,api:e.api===`anthropic-messages`?`anthropic`:`openai`,context_window:e.contextWindow,max_tokens:e.maxTokens,reasoning:e.reasoning,input:e.input}))}function F(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:e.api,provider:f,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}const I={"User-Agent":`GitHubCopilotChat/0.35.0`,"Editor-Version":`vscode/1.107.0`,"Editor-Plugin-Version":`copilot-chat/0.35.0`,"Copilot-Integration-Id":`vscode-chat`};function L(e){let t=g(),n=t?.baseUrl??`https://api.individual.githubcopilot.com`,r=O(e);if(r)return{api:r.api,baseUrl:n,headers:{...I}};try{let n=l(`github-copilot`,e);return{api:n.api,baseUrl:t?.baseUrl??n.baseUrl,headers:{...n.headers??{},...I}}}catch{return null}}function R(e,t){let n=E(),r=n.findIndex(t=>t.id===e);r<0||(n[r]={...n[r],policyState:`unavailable:${t}`},D(n))}function z(e,t){return`GitHub Copilot rejected "${e}" with model_not_supported. This usually means the model isn't included in your Copilot plan (Opus and other premium models require Copilot Pro / Pro+ / Business / Enterprise). Try Claude Sonnet 4.6 or another model that appears in the picker after a fresh login. Original error: ${t}`}function B(e){if(!e||typeof e!=`object`)return null;let t=e;if(t.type!==`error`)return null;if(t.error&&typeof t.error==`object`){let e=t.error.errorMessage;if(typeof e==`string`)return e}return typeof t.errorMessage==`string`?t.errorMessage:null}function V(e){return(t,n,l={})=>{let d=u();return(async()=>{try{let u=await j(),f=L(t.id);if(!f)throw Error(`GitHub Copilot does not recognize "${t.id}" — open the picker (the model list refreshes on login) and pick a current model.`);let p={...t,api:f.api,baseUrl:f.baseUrl,headers:f.headers,provider:`github-copilot`},m={...l,apiKey:u},h;h=f.api===`anthropic-messages`?(e?i:r)(p,n,m):f.api===`openai-responses`?(e?c:a)(p,n,m):(e?s:o)(p,n,m);for await(let e of h){let n=B(e);if(n&&/model_not_supported/i.test(n)){R(t.id,`model_not_supported`);let e=z(t.id,n);console.error(`[github-copilot] Plan-gated model rejection:`,e),d.push(F(t,Error(e))),d.end();return}d.push(e)}d.end()}catch(e){let n=e instanceof Error?e.message:String(e),r=e;/model_not_supported/i.test(n)&&(R(t.id,`model_not_supported`),r=Error(z(t.id,n))),console.error(`[github-copilot] Stream error:`,r instanceof Error?r.message:String(r)),d.push(F(t,r)),d.end()}})(),d}}const H=V(!1),U=V(!0),W=({userCode:e,verificationUrl:t})=>typeof document>`u`?(console.info(`[github-copilot] Device verification code: ${e} — open ${t} in a browser to authorize.`),Promise.resolve(`continue`)):new Promise(t=>{let n=document.createElement(`div`);n.setAttribute(`data-slicc-overlay`,`github-copilot-device`),n.style.cssText=[`position:fixed`,`top:24px`,`right:24px`,`z-index:2147483647`,`background:#0d1117`,`color:#e6edf3`,`border:1px solid #30363d`,`border-radius:10px`,`padding:16px 18px`,`box-shadow:0 8px 32px rgba(0,0,0,0.45)`,`font:13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif`,`min-width:260px`,`max-width:340px`].join(`;`);let r=document.createElement(`div`);r.textContent=`GitHub Copilot — verification code`,r.style.cssText=`font-weight:600;margin-bottom:8px;color:#7ee787`;let i=document.createElement(`div`);i.textContent=e,i.style.cssText=[`font:600 22px ui-monospace, SFMono-Regular, Menlo, monospace`,`letter-spacing:2px`,`background:#161b22`,`border:1px solid #30363d`,`border-radius:6px`,`padding:10px 12px`,`text-align:center`,`margin-bottom:10px`,`user-select:all`,`cursor:text`].join(`;`);let a=document.createElement(`div`);a.style.cssText=`color:#8b949e;font-size:12px;line-height:1.5`,a.textContent=`Copy the code, then click Continue to open the GitHub authorization page in a new tab.`;let o=document.createElement(`div`);o.style.cssText=`display:flex;gap:8px;margin-top:12px;justify-content:flex-end`;let s=document.createElement(`button`);s.type=`button`,s.textContent=`Cancel`,s.style.cssText=[`background:transparent`,`color:#e6edf3`,`border:1px solid #30363d`,`border-radius:6px`,`padding:6px 12px`,`font:600 12px inherit`,`cursor:pointer`].join(`;`);let c=document.createElement(`button`);c.type=`button`,c.textContent=`Copy & Continue`,c.style.cssText=[`background:#238636`,`color:#fff`,`border:0`,`border-radius:6px`,`padding:6px 12px`,`font:600 12px inherit`,`cursor:pointer`].join(`;`);let l=()=>{try{n.remove()}catch{}};s.addEventListener(`click`,()=>{l(),t(`cancel`)}),c.addEventListener(`click`,()=>{(async()=>{try{let{copyTextToClipboard:t}=await import(`./kernel-worker-4k1eVOmV.js`).then(e=>e.c);await t(e)}catch{}l(),t(`continue`)})()}),o.appendChild(s),o.appendChild(c),n.appendChild(r),n.appendChild(i),n.appendChild(a),n.appendChild(o),document.body.appendChild(n)}),G={id:f,name:`GitHub Copilot`,description:`Use your GitHub Copilot subscription to access Claude, GPT-5, Codex, Gemini, and Grok models. Sign in with the GitHub device-code flow.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`claude-sonnet-4.6`,oauthTokenDomains:[`*.githubcopilot.com`,`api.individual.githubcopilot.com`,`api.business.githubcopilot.com`,`api.enterprise.githubcopilot.com`],getModelIds:P,onOAuthLoginIntercepted:async(e,t,n)=>{let r=await _(),i=new URL(r.verification_uri);if(i.searchParams.set(`user_code`,r.user_code),await(n?.presentDeviceCode??W)({userCode:r.user_code,verificationUrl:i.toString(),expiresInSeconds:r.expires_in})===`cancel`)throw Error(`GitHub Copilot login cancelled`);let a=new AbortController,o=e({authorizeUrl:i.toString(),redirectUriPattern:`https://github.com/login/device/success*`,onCapture:`close`,timeoutMs:r.expires_in*1e3}).catch(e=>(console.warn(`[github-copilot] Launcher failed:`,e instanceof Error?e.message:String(e)),null)),s;try{s=await v(r,a.signal)}catch(e){throw a.abort(),await o,e}await o;let c=await x(s),l;try{let e=await fetch(`https://api.github.com/user`,{headers:{Authorization:`Bearer ${s}`,Accept:`application/json`}});if(e.ok){let t=await e.json();l=t.name||t.login}}catch{}await A(c,l),await k(c),t()},onOAuthLogout:async()=>{await e({providerId:f,accessToken:``})},onSilentRenew:async()=>{let e=g();if(!e?.refreshToken)return null;try{let t=await x(e.refreshToken);return await A(t,e.userName),await k(t),t.copilotToken}catch(e){return console.warn(`[github-copilot] Silent renew failed:`,e instanceof Error?e.message:String(e)),null}}};function K(){n({api:`github-copilot-anthropic`,stream:H,streamSimple:U}),n({api:`github-copilot-openai`,stream:H,streamSimple:U})}export{G as config,N as isCopilotConeCompatible,K as register};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/clipboard-DuHpK59o.js","assets/rolldown-runtime-aKtaBQYM.js"])))=>i.map(i=>d[i]);
2
- import{a as e,c as t,i as n,l as r,n as i,o as a,u as o}from"./dist-D69OmKNn.js";import{t as s}from"./preload-helper-CZgWQFsJ.js";import{a as c,n as l,o as u}from"./event-stream-BJI_nGaK.js";import{R as d,d as f}from"./account-store-CCSM8d8q.js";import"./main-Cvx4yj8c.js";var p=`github-copilot`,m=atob(`SXYxLmI1MDdhMDhjODdlY2ZlOTg=`),h=`https://github.com/login/device/code`,g=`https://github.com/login/oauth/access_token`,_=`https://api.github.com/copilot_internal/v2/token`,v={Accept:`application/json`,"Editor-Version":`vscode/1.107.0`,"Editor-Plugin-Version":`copilot-chat/0.35.0`,"Copilot-Integration-Id":`vscode-chat`},y={Accept:`application/json`,"Content-Type":`application/x-www-form-urlencoded`},b=`https://github.com/login/device/success*`;function x(){return f().find(e=>e.providerId===p)}async function S(){let e=await fetch(h,{method:`POST`,headers:y,body:new URLSearchParams({client_id:m,scope:`read:user`})});if(!e.ok)throw Error(`GitHub device-code request failed: ${e.status} ${e.statusText} — ${await e.text().catch(()=>``)}`);let t=await e.json();if(typeof t.device_code!=`string`||typeof t.user_code!=`string`||typeof t.verification_uri!=`string`||typeof t.expires_in!=`number`||typeof t.interval!=`number`)throw Error(`GitHub device-code response had an unexpected shape`);return t}async function C(e,t){let n=Date.now()+e.expires_in*1e3,r=Math.max(1e3,Math.floor(e.interval*1e3)),i=1.2;for(;Date.now()<n;){if(t.aborted)throw Error(`Copilot login cancelled`);await w(Math.ceil(r*i),t);let n=await fetch(g,{method:`POST`,headers:y,body:new URLSearchParams({client_id:m,device_code:e.device_code,grant_type:`urn:ietf:params:oauth:grant-type:device_code`})});if(!n.ok)throw Error(`GitHub token poll failed: ${n.status} ${n.statusText} — ${await n.text().catch(()=>``)}`);let a=await n.json();if(typeof a.access_token==`string`&&a.access_token.length>0)return a.access_token;if(a.error!==`authorization_pending`){if(a.error===`slow_down`){r=typeof a.interval==`number`?a.interval*1e3:r+5e3,i=1.4;continue}if(a.error){let e=a.error_description?`: ${a.error_description}`:``;throw Error(`Device flow failed (${a.error})${e}`)}}}throw Error(`Copilot device flow timed out (device code expired)`)}function w(e,t){return new Promise((n,r)=>{if(t.aborted){r(Error(`Copilot login cancelled`));return}let i=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Copilot login cancelled`))},{once:!0})})}function T(e){let t=e.match(/proxy-ep=([^;]+)/);return t?`https://${t[1].replace(/^proxy\./,`api.`)}`:null}async function E(e){let t=await fetch(_,{headers:{...v,Authorization:`Bearer ${e}`}});if(!t.ok){let e=await t.text().catch(()=>``);throw Error(`Copilot token exchange failed: ${t.status} ${t.statusText} — ${e.slice(0,300)}`)}let n=await t.json();if(typeof n.token!=`string`||typeof n.expires_at!=`number`)throw Error(`Copilot token exchange returned an unexpected payload`);if(n.chat_enabled===!1)throw Error(`GitHub Copilot Chat is disabled for this account (no chat features granted)`);return{copilotToken:n.token,expiresAtMs:n.expires_at*1e3-300*1e3,apiBaseUrl:T(n.token)??`https://api.individual.githubcopilot.com`,githubAccessToken:e}}var D=`github-copilot.models.v1`;function O(e){let t=e.supported_endpoints??[],n=(e.vendor??``).toLowerCase(),r=e.id;return n===`anthropic`&&t.includes(`/v1/messages`)?`anthropic-messages`:n===`openai`&&(/^gpt-5/i.test(r)||/codex/i.test(r)||/^o\d/i.test(r))?`openai-responses`:`openai-completions`}function k(e){if(!e||typeof e!=`object`)return[];let t=e.data;if(!Array.isArray(t))return[];let n=[];for(let e of t)e.capabilities?.type&&e.capabilities.type!==`chat`||e.model_picker_enabled!==!1&&e.id&&n.push({id:e.id,name:e.name??e.id,vendor:e.vendor??``,api:O(e),contextWindow:e.capabilities?.limits?.max_context_window_tokens??e.capabilities?.limits?.max_prompt_tokens??128e3,maxTokens:e.capabilities?.limits?.max_output_tokens??8192,supportsTools:e.capabilities?.supports?.tool_calls===!0,supportsStreaming:e.capabilities?.supports?.streaming!==!1,supportsVision:e.capabilities?.supports?.vision===!0,supportsReasoning:e.capabilities?.supports?.adaptive_thinking===!0||Array.isArray(e.capabilities?.supports?.reasoning_effort),policyState:e.policy?.state??`enabled`});return n}async function A(e){let t=await fetch(`${e.apiBaseUrl}/models`,{headers:{...v,Authorization:`Bearer ${e.copilotToken}`,Accept:`application/json`}});if(!t.ok)throw Error(`Copilot /models returned ${t.status} ${t.statusText}`);return k(await t.json())}function j(){if(typeof localStorage>`u`)return[];try{let e=localStorage.getItem(D);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function M(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(D,JSON.stringify(e))}catch{}}function N(e){return j().find(t=>t.id===e)??null}async function P(e){let t;try{t=await A(e)}catch(e){console.warn(`[github-copilot] Catalog refresh failed; keeping previous cache.`,e instanceof Error?e.message:String(e));return}M(t),await Promise.all(t.filter(e=>e.policyState===`disabled`).map(async t=>{let n=`${e.apiBaseUrl}/models/${encodeURIComponent(t.id)}/policy`;try{let r=await fetch(n,{method:`POST`,headers:{...v,"Content-Type":`application/json`,Authorization:`Bearer ${e.copilotToken}`,"openai-intent":`chat-policy`,"x-interaction-type":`chat-policy`},body:JSON.stringify({state:`enabled`})});r.ok?t.policyState=`enabled`:r.status!==404&&r.status!==400&&console.warn(`[github-copilot] enable policy for ${t.id} returned ${r.status} ${r.statusText}`)}catch(e){console.warn(`[github-copilot] enable policy for ${t.id} failed:`,e instanceof Error?e.message:String(e))}})),M(t)}async function F(e,t){await d({providerId:p,accessToken:e.copilotToken,refreshToken:e.githubAccessToken,tokenExpiresAt:e.expiresAtMs,baseUrl:e.apiBaseUrl,userName:t})}async function I(){let e=x();if(!e?.accessToken||!e.refreshToken)throw Error(`Not logged in to GitHub Copilot — click "Login" in the provider settings`);let t=e.tokenExpiresAt??0;if(Date.now()<t-6e4)return e.accessToken;let n=await E(e.refreshToken);return await F(n,e.userName),n.copilotToken}var L=[`mini`,`nano`,`flash`,`haiku`,`lite`,`embedding`];function R(e){let t=[e.id,e.name??``].flatMap(e=>{let t=e.toLowerCase();return[t,t.replace(/[\s_.:]+/g,`-`)]});return!L.some(e=>t.some(t=>t.includes(e)))}function z(){if(!x()?.accessToken)return[];let e=j();if(e.length>0)return e.filter(e=>!e.policyState.startsWith(`unavailable:`)).filter(e=>R(e)).map(e=>({id:e.id,name:e.name,api:e.api===`anthropic-messages`?`anthropic`:`openai`,context_window:e.contextWindow,max_tokens:e.maxTokens,reasoning:e.supportsReasoning,input:e.supportsVision?[`text`,`image`]:[`text`]}));let t;try{t=u(`github-copilot`)}catch{return[]}return t.filter(e=>R({id:e.id,name:e.name})).map(e=>({id:e.id,name:e.name??e.id,api:e.api===`anthropic-messages`?`anthropic`:`openai`,context_window:e.contextWindow,max_tokens:e.maxTokens,reasoning:e.reasoning,input:e.input}))}function B(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:e.api,provider:p,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}var V={"User-Agent":`GitHubCopilotChat/0.35.0`,"Editor-Version":`vscode/1.107.0`,"Editor-Plugin-Version":`copilot-chat/0.35.0`,"Copilot-Integration-Id":`vscode-chat`};function H(e){let t=x(),n=t?.baseUrl??`https://api.individual.githubcopilot.com`,r=N(e);if(r)return{api:r.api,baseUrl:n,headers:{...V}};try{let n=c(`github-copilot`,e);return{api:n.api,baseUrl:t?.baseUrl??n.baseUrl,headers:{...n.headers??{},...V}}}catch{return null}}function U(e,t){let n=j(),r=n.findIndex(t=>t.id===e);r<0||(n[r]={...n[r],policyState:`unavailable:${t}`},M(n))}function W(e,t){return`GitHub Copilot rejected "${e}" with model_not_supported. This usually means the model isn't included in your Copilot plan (Opus and other premium models require Copilot Pro / Pro+ / Business / Enterprise). Try Claude Sonnet 4.6 or another model that appears in the picker after a fresh login. Original error: ${t}`}function G(e){if(!e||typeof e!=`object`)return null;let t=e;if(t.type!==`error`)return null;if(t.error&&typeof t.error==`object`){let e=t.error.errorMessage;if(typeof e==`string`)return e}return typeof t.errorMessage==`string`?t.errorMessage:null}function K(o){return(s,c,u={})=>{let d=l();return(async()=>{try{let l=await I(),f=H(s.id);if(!f)throw Error(`GitHub Copilot does not recognize "${s.id}" — open the picker (the model list refreshes on login) and pick a current model.`);let p={...s,api:f.api,baseUrl:f.baseUrl,headers:f.headers,provider:`github-copilot`},m={...u,apiKey:l},h;h=f.api===`anthropic-messages`?(o?a:i)(p,c,m):f.api===`openai-responses`?(o?r:e)(p,c,m):(o?t:n)(p,c,m);for await(let e of h){let t=G(e);if(t&&/model_not_supported/i.test(t)){U(s.id,`model_not_supported`);let e=W(s.id,t);console.error(`[github-copilot] Plan-gated model rejection:`,e),d.push(B(s,Error(e))),d.end();return}d.push(e)}d.end()}catch(e){let t=e instanceof Error?e.message:String(e),n=e;/model_not_supported/i.test(t)&&(U(s.id,`model_not_supported`),n=Error(W(s.id,t))),console.error(`[github-copilot] Stream error:`,n instanceof Error?n.message:String(n)),d.push(B(s,n)),d.end()}})(),d}}var q=K(!1),J=K(!0),Y=({userCode:e,verificationUrl:t})=>typeof document>`u`?(console.info(`[github-copilot] Device verification code: ${e} — open ${t} in a browser to authorize.`),Promise.resolve(`continue`)):new Promise(t=>{let n=document.createElement(`div`);n.setAttribute(`data-slicc-overlay`,`github-copilot-device`),n.style.cssText=[`position:fixed`,`top:24px`,`right:24px`,`z-index:2147483647`,`background:#0d1117`,`color:#e6edf3`,`border:1px solid #30363d`,`border-radius:10px`,`padding:16px 18px`,`box-shadow:0 8px 32px rgba(0,0,0,0.45)`,`font:13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif`,`min-width:260px`,`max-width:340px`].join(`;`);let r=document.createElement(`div`);r.textContent=`GitHub Copilot — verification code`,r.style.cssText=`font-weight:600;margin-bottom:8px;color:#7ee787`;let i=document.createElement(`div`);i.textContent=e,i.style.cssText=[`font:600 22px ui-monospace, SFMono-Regular, Menlo, monospace`,`letter-spacing:2px`,`background:#161b22`,`border:1px solid #30363d`,`border-radius:6px`,`padding:10px 12px`,`text-align:center`,`margin-bottom:10px`,`user-select:all`,`cursor:text`].join(`;`);let a=document.createElement(`div`);a.style.cssText=`color:#8b949e;font-size:12px;line-height:1.5`,a.textContent=`Copy the code, then click Continue to open the GitHub authorization page in a new tab.`;let o=document.createElement(`div`);o.style.cssText=`display:flex;gap:8px;margin-top:12px;justify-content:flex-end`;let c=document.createElement(`button`);c.type=`button`,c.textContent=`Cancel`,c.style.cssText=[`background:transparent`,`color:#e6edf3`,`border:1px solid #30363d`,`border-radius:6px`,`padding:6px 12px`,`font:600 12px inherit`,`cursor:pointer`].join(`;`);let l=document.createElement(`button`);l.type=`button`,l.textContent=`Copy & Continue`,l.style.cssText=[`background:#238636`,`color:#fff`,`border:0`,`border-radius:6px`,`padding:6px 12px`,`font:600 12px inherit`,`cursor:pointer`].join(`;`);let u=()=>{try{n.remove()}catch{}};c.addEventListener(`click`,()=>{u(),t(`cancel`)}),l.addEventListener(`click`,()=>{(async()=>{try{let{copyTextToClipboard:t}=await s(async()=>{let{copyTextToClipboard:e}=await import(`./clipboard-DuHpK59o.js`).then(e=>e.t);return{copyTextToClipboard:e}},__vite__mapDeps([0,1]));await t(e)}catch{}u(),t(`continue`)})()}),o.appendChild(c),o.appendChild(l),n.appendChild(r),n.appendChild(i),n.appendChild(a),n.appendChild(o),document.body.appendChild(n)}),X={id:p,name:`GitHub Copilot`,description:`Use your GitHub Copilot subscription to access Claude, GPT-5, Codex, Gemini, and Grok models. Sign in with the GitHub device-code flow.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`claude-sonnet-4.6`,oauthTokenDomains:[`*.githubcopilot.com`,`api.individual.githubcopilot.com`,`api.business.githubcopilot.com`,`api.enterprise.githubcopilot.com`],getModelIds:z,onOAuthLoginIntercepted:async(e,t,n)=>{let r=await S(),i=new URL(r.verification_uri);if(i.searchParams.set(`user_code`,r.user_code),await(n?.presentDeviceCode??Y)({userCode:r.user_code,verificationUrl:i.toString(),expiresInSeconds:r.expires_in})===`cancel`)throw Error(`GitHub Copilot login cancelled`);let a=new AbortController,o=e({authorizeUrl:i.toString(),redirectUriPattern:b,onCapture:`close`,timeoutMs:r.expires_in*1e3}).catch(e=>(console.warn(`[github-copilot] Launcher failed:`,e instanceof Error?e.message:String(e)),null)),s;try{s=await C(r,a.signal)}catch(e){throw a.abort(),await o,e}await o;let c=await E(s),l;try{let e=await fetch(`https://api.github.com/user`,{headers:{Authorization:`Bearer ${s}`,Accept:`application/json`}});if(e.ok){let t=await e.json();l=t.name||t.login}}catch{}await F(c,l),await P(c),t()},onOAuthLogout:async()=>{await d({providerId:p,accessToken:``})},onSilentRenew:async()=>{let e=x();if(!e?.refreshToken)return null;try{let t=await E(e.refreshToken);return await F(t,e.userName),await P(t),t.copilotToken}catch(e){return console.warn(`[github-copilot] Silent renew failed:`,e instanceof Error?e.message:String(e)),null}}};function Z(){o({api:`github-copilot-anthropic`,stream:q,streamSimple:J}),o({api:`github-copilot-openai`,stream:q,streamSimple:J})}export{X as config,R as isCopilotConeCompatible,Z as register};
@@ -1 +0,0 @@
1
- function e(e){return e===`cloudflare-workers-ai`||e===`cloudflare-ai-gateway`}function t(e){let t=e.baseUrl;return t.includes(`{`)?t.replace(/\{([A-Z_][A-Z0-9_]*)\}/g,(t,n)=>{let r={}[n];if(!r)throw Error(`${n} is required for provider ${e.provider} but is not set.`);return r}):t}function n(e){let t=e[e.length-1];return t&&t.role!==`user`?`agent`:`user`}function r(e){return e.some(e=>e.role===`user`&&Array.isArray(e.content)||e.role===`toolResult`&&Array.isArray(e.content)?e.content.some(e=>e.type===`image`):!1)}function i(e){let t={"X-Initiator":n(e.messages),"Openai-Intent":`conversation-edits`};return e.hasImages&&(t[`Copilot-Vision-Request`]=`true`),t}export{t as i,r as n,e as r,i as t};
@@ -1 +0,0 @@
1
- import{i as e,r as t,t as n}from"./event-stream-BJI_nGaK.js";import{r}from"./transform-messages-DiIjWKhh.js";import{t as i}from"./sanitize-unicode-DmIE6hZJ.js";import{a,i as o,n as s,o as c,r as l,s as u,t as d}from"./google-shared-CFmFmYdk.js";var f=0,p=(e,r,i)=>{let a=new n;return(async()=>{let n={role:`assistant`,content:[],api:`google-generative-ai`,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let s=i?.apiKey;if(!s)throw Error(`No API key for provider: ${e.provider}`);let u=h(e,s,i?.headers),d=g(e,r,i),p=await i?.onPayload?.(d,e);p!==void 0&&(d=p);let m=await u.models.generateContentStream(d);a.push({type:`start`,partial:n});let _=null,v=n.content,y=()=>v.length-1;for await(let r of m){n.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let e of i.content.parts){if(e.text!==void 0){let t=l(e);(!_||t&&_.type!==`thinking`||!t&&_.type!==`text`)&&(_&&(_.type===`text`?a.push({type:`text_end`,contentIndex:v.length-1,content:_.text,partial:n}):a.push({type:`thinking_end`,contentIndex:y(),content:_.thinking,partial:n})),t?(_={type:`thinking`,thinking:``,thinkingSignature:void 0},n.content.push(_),a.push({type:`thinking_start`,contentIndex:y(),partial:n})):(_={type:`text`,text:``},n.content.push(_),a.push({type:`text_start`,contentIndex:y(),partial:n}))),_.type===`thinking`?(_.thinking+=e.text,_.thinkingSignature=c(_.thinkingSignature,e.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:y(),delta:e.text,partial:n})):(_.text+=e.text,_.textSignature=c(_.textSignature,e.thoughtSignature),a.push({type:`text_delta`,contentIndex:y(),delta:e.text,partial:n}))}if(e.functionCall){_&&=(_.type===`text`?a.push({type:`text_end`,contentIndex:y(),content:_.text,partial:n}):a.push({type:`thinking_end`,contentIndex:y(),content:_.thinking,partial:n}),null);let t=e.functionCall.id,r={type:`toolCall`,id:!t||n.content.some(e=>e.type===`toolCall`&&e.id===t)?`${e.functionCall.name}_${Date.now()}_${++f}`:t,name:e.functionCall.name||``,arguments:e.functionCall.args??{},...e.thoughtSignature&&{thoughtSignature:e.thoughtSignature}};n.content.push(r),a.push({type:`toolcall_start`,contentIndex:y(),partial:n}),a.push({type:`toolcall_delta`,contentIndex:y(),delta:JSON.stringify(r.arguments),partial:n}),a.push({type:`toolcall_end`,contentIndex:y(),toolCall:r,partial:n})}}i?.finishReason&&(n.stopReason=o(i.finishReason),n.content.some(e=>e.type===`toolCall`)&&(n.stopReason=`toolUse`)),r.usageMetadata&&(n.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},t(e,n.usage))}if(_&&(_.type===`text`?a.push({type:`text_end`,contentIndex:y(),content:_.text,partial:n}):a.push({type:`thinking_end`,contentIndex:y(),content:_.thinking,partial:n})),i?.signal?.aborted)throw Error(`Request was aborted`);if(n.stopReason===`aborted`||n.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:n.stopReason,message:n}),a.end()}catch(e){for(let e of n.content)`index`in e&&delete e.index;n.stopReason=i?.signal?.aborted?`aborted`:`error`,n.errorMessage=e instanceof Error?e.message:JSON.stringify(e),a.push({type:`error`,reason:n.stopReason,error:n}),a.end()}})(),a},m=(t,n,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${t.provider}`);let o=r(t,i,a);if(!i?.reasoning)return p(t,n,{...o,thinking:{enabled:!1}});let s=e(t,i.reasoning),c=s===`off`?`high`:s,l=t;return v(l)||y(l)||_(l)?p(t,n,{...o,thinking:{enabled:!0,level:x(c,l)}}):p(t,n,{...o,thinking:{enabled:!0,budgetTokens:S(l,c,i.thinkingBudgets)}})};function h(e,t,n){let r={};return e.baseUrl&&(r.baseUrl=e.baseUrl,r.apiVersion=``),(e.headers||n)&&(r.headers={...e.headers,...n}),new u({apiKey:t,httpOptions:Object.keys(r).length>0?r:void 0})}function g(e,t,n={}){let r=d(e,t),o={};n.temperature!==void 0&&(o.temperature=n.temperature),n.maxTokens!==void 0&&(o.maxOutputTokens=n.maxTokens);let c={...Object.keys(o).length>0&&o,...t.systemPrompt&&{systemInstruction:i(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:s(t.tools)}};if(t.tools&&t.tools.length>0&&n.toolChoice?c.toolConfig={functionCallingConfig:{mode:a(n.toolChoice)}}:c.toolConfig=void 0,n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=n.thinking.level,c.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(c.thinkingConfig=b(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);c.abortSignal=n.signal}return{model:e.id,contents:r,config:c}}function _(e){return/gemma-?4/.test(e.id.toLowerCase())}function v(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function y(e){return/gemini-3(?:\.\d+)?-flash/.test(e.id.toLowerCase())}function b(e){return v(e)?{thinkingLevel:`LOW`}:y(e)||_(e)?{thinkingLevel:`MINIMAL`}:{thinkingBudget:0}}function x(e,t){if(v(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}if(_(t))switch(e){case`minimal`:case`low`:return`MINIMAL`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function S(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash-lite`)?{minimal:512,low:2048,medium:8192,high:24576}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{p as streamGoogle,m as streamSimpleGoogle};
@@ -1 +0,0 @@
1
- import{a as e,c as t,r as n,s as r}from"./transform-messages-BjP6vDPY.js";import{t as i}from"./sanitize-unicode-DmIE6hZJ.js";import{a,i as o,n as s,o as c,r as l,s as u,t as d}from"./google-shared-CwjAeP6N.js";let f=0;const p=(t,n,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:`google-generative-ai`,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let s=i?.apiKey;if(!s)throw Error(`No API key for provider: ${t.provider}`);let u=h(t,s,i?.headers),d=g(t,n,i),p=await i?.onPayload?.(d,t);p!==void 0&&(d=p);let m=await u.models.generateContentStream(d);a.push({type:`start`,partial:e});let _=null,v=e.content,y=()=>v.length-1;for await(let n of m){e.responseId||=n.responseId;let i=n.candidates?.[0];if(i?.content?.parts)for(let t of i.content.parts){if(t.text!==void 0){let n=l(t);(!_||n&&_.type!==`thinking`||!n&&_.type!==`text`)&&(_&&(_.type===`text`?a.push({type:`text_end`,contentIndex:v.length-1,content:_.text,partial:e}):a.push({type:`thinking_end`,contentIndex:y(),content:_.thinking,partial:e})),n?(_={type:`thinking`,thinking:``,thinkingSignature:void 0},e.content.push(_),a.push({type:`thinking_start`,contentIndex:y(),partial:e})):(_={type:`text`,text:``},e.content.push(_),a.push({type:`text_start`,contentIndex:y(),partial:e}))),_.type===`thinking`?(_.thinking+=t.text,_.thinkingSignature=c(_.thinkingSignature,t.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:y(),delta:t.text,partial:e})):(_.text+=t.text,_.textSignature=c(_.textSignature,t.thoughtSignature),a.push({type:`text_delta`,contentIndex:y(),delta:t.text,partial:e}))}if(t.functionCall){_&&=(_.type===`text`?a.push({type:`text_end`,contentIndex:y(),content:_.text,partial:e}):a.push({type:`thinking_end`,contentIndex:y(),content:_.thinking,partial:e}),null);let n=t.functionCall.id,r={type:`toolCall`,id:!n||e.content.some(e=>e.type===`toolCall`&&e.id===n)?`${t.functionCall.name}_${Date.now()}_${++f}`:n,name:t.functionCall.name||``,arguments:t.functionCall.args??{},...t.thoughtSignature&&{thoughtSignature:t.thoughtSignature}};e.content.push(r),a.push({type:`toolcall_start`,contentIndex:y(),partial:e}),a.push({type:`toolcall_delta`,contentIndex:y(),delta:JSON.stringify(r.arguments),partial:e}),a.push({type:`toolcall_end`,contentIndex:y(),toolCall:r,partial:e})}}i?.finishReason&&(e.stopReason=o(i.finishReason),e.content.some(e=>e.type===`toolCall`)&&(e.stopReason=`toolUse`)),n.usageMetadata&&(e.usage={input:(n.usageMetadata.promptTokenCount||0)-(n.usageMetadata.cachedContentTokenCount||0),output:(n.usageMetadata.candidatesTokenCount||0)+(n.usageMetadata.thoughtsTokenCount||0),cacheRead:n.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,totalTokens:n.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},r(t,e.usage))}if(_&&(_.type===`text`?a.push({type:`text_end`,contentIndex:y(),content:_.text,partial:e}):a.push({type:`thinking_end`,contentIndex:y(),content:_.thinking,partial:e})),i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)`index`in t&&delete t.index;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=t instanceof Error?t.message:JSON.stringify(t),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},m=(e,r,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=n(e,i,a);if(!i?.reasoning)return p(e,r,{...o,thinking:{enabled:!1}});let s=t(e,i.reasoning),c=s===`off`?`high`:s,l=e;return v(l)||y(l)||_(l)?p(e,r,{...o,thinking:{enabled:!0,level:x(c,l)}}):p(e,r,{...o,thinking:{enabled:!0,budgetTokens:S(l,c,i.thinkingBudgets)}})};function h(e,t,n){let r={};return e.baseUrl&&(r.baseUrl=e.baseUrl,r.apiVersion=``),(e.headers||n)&&(r.headers={...e.headers,...n}),new u({apiKey:t,httpOptions:Object.keys(r).length>0?r:void 0})}function g(e,t,n={}){let r=d(e,t),o={};n.temperature!==void 0&&(o.temperature=n.temperature),n.maxTokens!==void 0&&(o.maxOutputTokens=n.maxTokens);let c={...Object.keys(o).length>0&&o,...t.systemPrompt&&{systemInstruction:i(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:s(t.tools)}};if(t.tools&&t.tools.length>0&&n.toolChoice?c.toolConfig={functionCallingConfig:{mode:a(n.toolChoice)}}:c.toolConfig=void 0,n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=n.thinking.level,c.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(c.thinkingConfig=b(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);c.abortSignal=n.signal}return{model:e.id,contents:r,config:c}}function _(e){return/gemma-?4/.test(e.id.toLowerCase())}function v(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function y(e){return/gemini-3(?:\.\d+)?-flash/.test(e.id.toLowerCase())}function b(e){return v(e)?{thinkingLevel:`LOW`}:y(e)||_(e)?{thinkingLevel:`MINIMAL`}:{thinkingBudget:0}}function x(e,t){if(v(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}if(_(t))switch(e){case`minimal`:case`low`:return`MINIMAL`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function S(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash-lite`)?{minimal:512,low:2048,medium:8192,high:24576}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{p as streamGoogle,m as streamSimpleGoogle};
@@ -1 +0,0 @@
1
- import{a as e,c as t,r as n,s as r}from"./transform-messages-BjP6vDPY.js";import{t as i}from"./sanitize-unicode-DmIE6hZJ.js";import{a,c as o,i as s,l as c,n as l,o as u,r as d,s as f,t as p}from"./google-shared-CwjAeP6N.js";const m={THINKING_LEVEL_UNSPECIFIED:c.THINKING_LEVEL_UNSPECIFIED,MINIMAL:c.MINIMAL,LOW:c.LOW,MEDIUM:c.MEDIUM,HIGH:c.HIGH};let h=0;const g=(t,n,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:`google-vertex`,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let o=C(i),c=o?y(t,o,i?.headers):v(t,T(i),E(i),i?.headers),l=D(t,n,i),f=await i?.onPayload?.(l,t);f!==void 0&&(l=f);let p=await c.models.generateContentStream(l);a.push({type:`start`,partial:e});let m=null,g=e.content,_=()=>g.length-1;for await(let n of p){e.responseId||=n.responseId;let i=n.candidates?.[0];if(i?.content?.parts)for(let t of i.content.parts){if(t.text!==void 0){let n=d(t);(!m||n&&m.type!==`thinking`||!n&&m.type!==`text`)&&(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:g.length-1,content:m.text,partial:e}):a.push({type:`thinking_end`,contentIndex:_(),content:m.thinking,partial:e})),n?(m={type:`thinking`,thinking:``,thinkingSignature:void 0},e.content.push(m),a.push({type:`thinking_start`,contentIndex:_(),partial:e})):(m={type:`text`,text:``},e.content.push(m),a.push({type:`text_start`,contentIndex:_(),partial:e}))),m.type===`thinking`?(m.thinking+=t.text,m.thinkingSignature=u(m.thinkingSignature,t.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:_(),delta:t.text,partial:e})):(m.text+=t.text,m.textSignature=u(m.textSignature,t.thoughtSignature),a.push({type:`text_delta`,contentIndex:_(),delta:t.text,partial:e}))}if(t.functionCall){m&&=(m.type===`text`?a.push({type:`text_end`,contentIndex:_(),content:m.text,partial:e}):a.push({type:`thinking_end`,contentIndex:_(),content:m.thinking,partial:e}),null);let n=t.functionCall.id,r={type:`toolCall`,id:!n||e.content.some(e=>e.type===`toolCall`&&e.id===n)?`${t.functionCall.name}_${Date.now()}_${++h}`:n,name:t.functionCall.name||``,arguments:t.functionCall.args??{},...t.thoughtSignature&&{thoughtSignature:t.thoughtSignature}};e.content.push(r),a.push({type:`toolcall_start`,contentIndex:_(),partial:e}),a.push({type:`toolcall_delta`,contentIndex:_(),delta:JSON.stringify(r.arguments),partial:e}),a.push({type:`toolcall_end`,contentIndex:_(),toolCall:r,partial:e})}}i?.finishReason&&(e.stopReason=s(i.finishReason),e.content.some(e=>e.type===`toolCall`)&&(e.stopReason=`toolUse`)),n.usageMetadata&&(e.usage={input:(n.usageMetadata.promptTokenCount||0)-(n.usageMetadata.cachedContentTokenCount||0),output:(n.usageMetadata.candidatesTokenCount||0)+(n.usageMetadata.thoughtsTokenCount||0),cacheRead:n.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,totalTokens:n.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},r(t,e.usage))}if(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:_(),content:m.text,partial:e}):a.push({type:`thinking_end`,contentIndex:_(),content:m.thinking,partial:e})),i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)`index`in t&&delete t.index;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=t instanceof Error?t.message:JSON.stringify(t),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},_=(e,r,i)=>{let a=n(e,i,void 0);if(!i?.reasoning)return g(e,r,{...a,thinking:{enabled:!1}});let o=t(e,i.reasoning),s=o===`off`?`high`:o,c=e;return O(c)||k(c)?g(e,r,{...a,thinking:{enabled:!0,level:j(s,c)}}):g(e,r,{...a,thinking:{enabled:!0,budgetTokens:M(c,s,i.thinkingBudgets)}})};function v(e,t,n,r){return new f({vertexai:!0,project:t,location:n,apiVersion:`v1`,httpOptions:b(e,r)})}function y(e,t,n){return new f({vertexai:!0,apiKey:t,apiVersion:`v1`,httpOptions:b(e,n)})}function b(e,t){let n={},r=x(e.baseUrl);return r&&(n.baseUrl=r,n.baseUrlResourceScope=o.COLLECTION,S(r)&&(n.apiVersion=``)),(e.headers||t)&&(n.headers={...e.headers,...t}),Object.keys(n).length>0?n:void 0}function x(e){let t=e.trim();if(!(!t||t.includes(`{location}`)))return t}function S(e){try{return new URL(e).pathname.split(`/`).some(e=>/^v\d+(?:beta\d*)?$/.test(e))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function C(e){let t=e?.apiKey?.trim();if(!(!t||t===`gcp-vertex-credentials`||w(t)))return t}function w(e){return/^<[^>]+>$/.test(e)}function T(e){let t=e?.project||{}.GOOGLE_CLOUD_PROJECT||{}.GCLOUD_PROJECT;if(!t)throw Error(`Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.`);return t}function E(e){let t=e?.location||{}.GOOGLE_CLOUD_LOCATION;if(!t)throw Error(`Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.`);return t}function D(e,t,n={}){let r=p(e,t),o={};n.temperature!==void 0&&(o.temperature=n.temperature),n.maxTokens!==void 0&&(o.maxOutputTokens=n.maxTokens);let s={...Object.keys(o).length>0&&o,...t.systemPrompt&&{systemInstruction:i(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:l(t.tools)}};if(t.tools&&t.tools.length>0&&n.toolChoice?s.toolConfig={functionCallingConfig:{mode:a(n.toolChoice)}}:s.toolConfig=void 0,n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=m[n.thinking.level],s.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(s.thinkingConfig=A(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);s.abortSignal=n.signal}return{model:e.id,contents:r,config:s}}function O(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function k(e){return/gemini-3(?:\.\d+)?-flash/.test(e.id.toLowerCase())}function A(e){let t=e;return O(t)?{thinkingLevel:c.LOW}:k(t)?{thinkingLevel:c.MINIMAL}:{thinkingBudget:0}}function j(e,t){if(O(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function M(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{g as streamGoogleVertex,_ as streamSimpleGoogleVertex};
@@ -1 +0,0 @@
1
- import{i as e,r as t,t as n}from"./event-stream-BJI_nGaK.js";import{r}from"./transform-messages-DiIjWKhh.js";import{t as i}from"./sanitize-unicode-DmIE6hZJ.js";import{a,c as o,i as s,l as c,n as l,o as u,r as d,s as f,t as p}from"./google-shared-CFmFmYdk.js";var m=`v1`,h=`gcp-vertex-credentials`,g={THINKING_LEVEL_UNSPECIFIED:c.THINKING_LEVEL_UNSPECIFIED,MINIMAL:c.MINIMAL,LOW:c.LOW,MEDIUM:c.MEDIUM,HIGH:c.HIGH},_=0,v=(e,r,i)=>{let a=new n;return(async()=>{let n={role:`assistant`,content:[],api:`google-vertex`,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let o=T(i),c=o?x(e,o,i?.headers):b(e,D(i),O(i),i?.headers),l=k(e,r,i),f=await i?.onPayload?.(l,e);f!==void 0&&(l=f);let p=await c.models.generateContentStream(l);a.push({type:`start`,partial:n});let m=null,h=n.content,g=()=>h.length-1;for await(let r of p){n.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let e of i.content.parts){if(e.text!==void 0){let t=d(e);(!m||t&&m.type!==`thinking`||!t&&m.type!==`text`)&&(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:h.length-1,content:m.text,partial:n}):a.push({type:`thinking_end`,contentIndex:g(),content:m.thinking,partial:n})),t?(m={type:`thinking`,thinking:``,thinkingSignature:void 0},n.content.push(m),a.push({type:`thinking_start`,contentIndex:g(),partial:n})):(m={type:`text`,text:``},n.content.push(m),a.push({type:`text_start`,contentIndex:g(),partial:n}))),m.type===`thinking`?(m.thinking+=e.text,m.thinkingSignature=u(m.thinkingSignature,e.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:g(),delta:e.text,partial:n})):(m.text+=e.text,m.textSignature=u(m.textSignature,e.thoughtSignature),a.push({type:`text_delta`,contentIndex:g(),delta:e.text,partial:n}))}if(e.functionCall){m&&=(m.type===`text`?a.push({type:`text_end`,contentIndex:g(),content:m.text,partial:n}):a.push({type:`thinking_end`,contentIndex:g(),content:m.thinking,partial:n}),null);let t=e.functionCall.id,r={type:`toolCall`,id:!t||n.content.some(e=>e.type===`toolCall`&&e.id===t)?`${e.functionCall.name}_${Date.now()}_${++_}`:t,name:e.functionCall.name||``,arguments:e.functionCall.args??{},...e.thoughtSignature&&{thoughtSignature:e.thoughtSignature}};n.content.push(r),a.push({type:`toolcall_start`,contentIndex:g(),partial:n}),a.push({type:`toolcall_delta`,contentIndex:g(),delta:JSON.stringify(r.arguments),partial:n}),a.push({type:`toolcall_end`,contentIndex:g(),toolCall:r,partial:n})}}i?.finishReason&&(n.stopReason=s(i.finishReason),n.content.some(e=>e.type===`toolCall`)&&(n.stopReason=`toolUse`)),r.usageMetadata&&(n.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},t(e,n.usage))}if(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:g(),content:m.text,partial:n}):a.push({type:`thinking_end`,contentIndex:g(),content:m.thinking,partial:n})),i?.signal?.aborted)throw Error(`Request was aborted`);if(n.stopReason===`aborted`||n.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:n.stopReason,message:n}),a.end()}catch(e){for(let e of n.content)`index`in e&&delete e.index;n.stopReason=i?.signal?.aborted?`aborted`:`error`,n.errorMessage=e instanceof Error?e.message:JSON.stringify(e),a.push({type:`error`,reason:n.stopReason,error:n}),a.end()}})(),a},y=(t,n,i)=>{let a=r(t,i,void 0);if(!i?.reasoning)return v(t,n,{...a,thinking:{enabled:!1}});let o=e(t,i.reasoning),s=o===`off`?`high`:o,c=t;return A(c)||j(c)?v(t,n,{...a,thinking:{enabled:!0,level:N(s,c)}}):v(t,n,{...a,thinking:{enabled:!0,budgetTokens:P(c,s,i.thinkingBudgets)}})};function b(e,t,n,r){return new f({vertexai:!0,project:t,location:n,apiVersion:m,httpOptions:S(e,r)})}function x(e,t,n){return new f({vertexai:!0,apiKey:t,apiVersion:m,httpOptions:S(e,n)})}function S(e,t){let n={},r=C(e.baseUrl);return r&&(n.baseUrl=r,n.baseUrlResourceScope=o.COLLECTION,w(r)&&(n.apiVersion=``)),(e.headers||t)&&(n.headers={...e.headers,...t}),Object.keys(n).length>0?n:void 0}function C(e){let t=e.trim();if(!(!t||t.includes(`{location}`)))return t}function w(e){try{return new URL(e).pathname.split(`/`).some(e=>/^v\d+(?:beta\d*)?$/.test(e))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function T(e){let t=e?.apiKey?.trim();if(!(!t||t===h||E(t)))return t}function E(e){return/^<[^>]+>$/.test(e)}function D(e){let t=e?.project||{}.GOOGLE_CLOUD_PROJECT||{}.GCLOUD_PROJECT;if(!t)throw Error(`Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.`);return t}function O(e){let t=e?.location||{}.GOOGLE_CLOUD_LOCATION;if(!t)throw Error(`Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.`);return t}function k(e,t,n={}){let r=p(e,t),o={};n.temperature!==void 0&&(o.temperature=n.temperature),n.maxTokens!==void 0&&(o.maxOutputTokens=n.maxTokens);let s={...Object.keys(o).length>0&&o,...t.systemPrompt&&{systemInstruction:i(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:l(t.tools)}};if(t.tools&&t.tools.length>0&&n.toolChoice?s.toolConfig={functionCallingConfig:{mode:a(n.toolChoice)}}:s.toolConfig=void 0,n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=g[n.thinking.level],s.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(s.thinkingConfig=M(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);s.abortSignal=n.signal}return{model:e.id,contents:r,config:s}}function A(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function j(e){return/gemini-3(?:\.\d+)?-flash/.test(e.id.toLowerCase())}function M(e){let t=e;return A(t)?{thinkingLevel:c.LOW}:j(t)?{thinkingLevel:c.MINIMAL}:{thinkingBudget:0}}function N(e,t){if(A(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function P(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{v as streamGoogleVertex,y as streamSimpleGoogleVertex};
@@ -1 +0,0 @@
1
- function e(e){let t={};for(let[n,r]of e.entries())t[n]=r;return t}export{e as t};
@@ -1,24 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sudo-CiUUdnPg.js","assets/preload-helper-CZgWQFsJ.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-Bht31_rT.js","assets/rolldown-runtime-aKtaBQYM.js","assets/src-x0cJ68Fe.js","assets/fetch-body-D2PwksUW.js","assets/quick-llm-oVxQHiDJ.js","assets/dist-D69OmKNn.js","assets/__vite-browser-external-SwrSgYTf.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-C7d6hyOc.js","assets/account-store-CCSM8d8q.js","assets/context-compaction-DvlXtgVG.js","assets/secret-topology-D6iS4SOH.js","assets/secrets-bridge-client-DwfYAgDv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BXXZ3Xkp.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DjKgax8m.js","assets/transform-messages-DiIjWKhh.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js","assets/panel-responder-BKgfV-nl.js","assets/extension-bridge-transport-WLbnai-d.js","assets/cdp-bridge-CUqQUcaF.js","assets/lick-ws-bridge-CjWMZdHT.js","assets/tray-leader-CRjmmeiD.js","assets/cdp-D7cRI5-J.js","assets/navigation-watcher-C2s0i0h4.js","assets/handoff-link-w8LYa3Ua.js","assets/remote-cdp-transport-DTCu2BgA.js","assets/main-cherry-CqL2Gwv5.js","assets/synthetic-cdp-transport-DLIt5SkY.js","assets/oauth-service-DY8Ud2Yu.js","assets/wc-permissions-registry-Blyunq37.js","assets/wc-shell-BIMESmsG.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/wc-shell-WkeczD9x.css","assets/wc-follower-Bq5YVYRG.js","assets/wc-attach-CV5PztL5.js","assets/wc-live-Cqx2-MrK.js","assets/hid-device-registry-6w-g8ZpF.js","assets/serial-port-registry-DsPZvGpT.js","assets/usb-operations-D-YdmmuG.js","assets/usb-device-registry-k6vTKonT.js","assets/shared-BtKwD6I9.js","assets/mime-types-ugOWOUZ9.js","assets/sprinkle-renderer-Bc0oWiBK.js","assets/theme-Bgsl5v2i.js","assets/theme-engine-DqVfCCym.js","assets/sprinkle-bridge-CZr9Wcf7.js","assets/page-follower-tray-Cg2SsCF0.js","assets/wc-sprinkles-Dxkie1pO.js","assets/oauth-bootstrap-BD2sXBnz.js","assets/legacy-styles-CuB1P3LZ.js","assets/connect-surface-DghcEB5c.js","assets/wc-extension-Cyszr-Ua.js","assets/wc-detached-B3WCbbZT.js","assets/messages-BD4p8GuF.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import"./modulepreload-polyfill-Dezn_h7o.js";import{t}from"./preload-helper-CZgWQFsJ.js";import{A as n,B as r,C as i,D as a,E as o,F as s,H as c,I as l,L as u,M as d,N as f,O as p,P as m,R as h,S as g,T as _,U as v,V as y,W as b,_ as x,a as S,b as C,c as ee,d as w,f as te,g as ne,h as re,i as T,j as ie,k as ae,l as oe,m as se,n as ce,o as le,p as ue,s as de,t as fe,u as pe,v as me,w as he,x as ge,y as _e,z as ve}from"./account-store-CCSM8d8q.js";import{t as E}from"./logger-DDBAeTLF.js";import{a as ye,c as be,o as xe,s as Se,t as Ce}from"./proxied-fetch-Bht31_rT.js";import{a as we}from"./providers-BXXZ3Xkp.js";import"./messages-BD4p8GuF.js";import{n as Te}from"./clipboard-DuHpK59o.js";var Ee=`bridge`,De=`bridgeToken`,Oe=`role`,ke=`slicc.bridge.v1.`;function Ae(e){try{let t=new URL(e);return`${t.protocol===`wss:`?`https:`:`http:`}//${t.host}`}catch{return null}}function je(e){try{let t=new URL(e);return`${t.protocol}//${t.host}/licks-ws`}catch{return null}}function Me(e){let t;try{t=new URLSearchParams(e)}catch{return null}let n=t.get(Ee),r=t.get(De);if(!n||!r||!/^wss?:\/\//.test(n))return null;let i=t.get(Oe),a=i===`leader`||i===`follower`?i:null;return{url:n,subprotocol:`${ke}${r}`,token:r,apiBaseUrl:Ae(n),lickWsUrl:je(n),role:a}}var Ne=`slicc:bridge-config`,Pe=`slicc:extension-delegate-config`;function Fe(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.type===`slicc:ext-fetch`&&typeof t.extensionId==`string`&&!!t.request&&typeof t.request==`object`}var Ie=E(`boot/ext-fetch-delegate`);function Le(){let e=globalThis.chrome?.runtime;return e&&typeof e.connect==`function`?e:null}function Re(e,t,n){let r=Le();if(!r){try{t.postMessage({type:`response-error`,error:`extension-delegate: chrome.runtime.connect unavailable`})}catch{}t.close();return}let i=e.extensionId||n,a;try{a=r.connect(i,{name:`fetch-proxy.fetch`})}catch(e){try{t.postMessage({type:`response-error`,error:`extension-delegate: connect failed — ${e instanceof Error?e.message:String(e)}`})}catch{}t.close();return}let o=!1,s=()=>{o=!0;try{a.disconnect()}catch{}try{t.close()}catch{}};a.onMessage.addListener(e=>{if(o)return;let n=e;try{t.postMessage(n)}catch{}(n.type===`response-end`||n.type===`response-error`)&&s()}),a.onDisconnect.addListener(()=>{if(!o){try{t.postMessage({type:`response-error`,error:`extension-delegate: fetch-proxy port disconnected`})}catch{}s()}}),a.postMessage({type:`request`,...e.request})}function ze(e){typeof navigator>`u`||!navigator.serviceWorker||navigator.serviceWorker.addEventListener(`message`,t=>{if(!Fe(t.data))return;let n=t.ports?.[0];if(!n){Ie.warn(`delegated fetch envelope arrived without a response port`);return}Re(t.data,n,e)})}function Be(){if(typeof chrome<`u`&&chrome?.runtime?.id)return;let e=new Blob([`
3
- let lastPong = Date.now();
4
- let frozen = false;
5
- setInterval(() => {
6
- postMessage({ type: 'ping' });
7
- const elapsed = Date.now() - lastPong;
8
- if (elapsed > 5000 && !frozen) {
9
- frozen = true;
10
- postMessage({ type: 'freeze-detected', elapsed });
11
- }
12
- }, 2000);
13
- self.onmessage = (e) => {
14
- if (e.data.type === 'pong') {
15
- lastPong = Date.now();
16
- if (frozen) {
17
- frozen = false;
18
- postMessage({ type: 'freeze-recovered' });
19
- }
20
- }
21
- };
22
- `],{type:`application/javascript`}),t=URL.createObjectURL(e),n=new Worker(t);URL.revokeObjectURL(t),n.onmessage=e=>{if(e.data.type===`ping`)n.postMessage({type:`pong`});else if(e.data.type===`freeze-detected`)console.error(`[freeze-watchdog] Main thread blocked for ${e.data.elapsed}ms — capturing trace on recovery`);else if(e.data.type===`freeze-recovered`){console.error(`[freeze-watchdog] Main thread recovered. Stack trace at recovery point:`),console.trace(`[freeze-watchdog] recovery stack`);let e=performance.getEntriesByType(`longtask`);e.length>0&&console.error(`[freeze-watchdog] Long tasks:`,e.map(e=>({duration:e.duration,startTime:e.startTime,name:e.name})))}},window.addEventListener(`beforeunload`,()=>{n.terminate()},{once:!0})}var Ve=`slicc-nuke-control`;function He(e=()=>location.reload()){if(typeof BroadcastChannel!=`function`)return()=>{};let t=new BroadcastChannel(Ve),n=t=>{let n=t.data;if(n?.type===`nuke-reload`){if(Array.isArray(n.keysToRemove)){for(let e of n.keysToRemove)if(typeof e==`string`)try{localStorage.removeItem(e)}catch{}}e()}};return t.addEventListener(`message`,n),()=>{t.removeEventListener(`message`,n),t.close()}}var D=null;function Ue(){return D||(D=He(),D)}var O=`tray`,We=`trayWorkerUrl`,Ge=`lead`;function k(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``,t.pathname!==`/`&&(t.pathname=t.pathname.replace(/\/+$/,``)||`/`);let n=t.toString();return n.endsWith(`/`)?n.slice(0,-1):n}catch{return null}}function Ke(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``;let n=t.toString(),r=t.pathname.split(`/`).filter(Boolean);if(r.length<2||r.at(-2)!==`join`)return null;let[i,a,...o]=decodeURIComponent(r.at(-1)).split(`.`);if(!i||!a||o.length>0)return null;r.splice(-2,2),t.pathname=r.length>0?`/${r.join(`/`)}`:`/`;let s=k(t.toString());return s?{workerBaseUrl:s,trayId:i,joinUrl:n}:null}catch{return null}}function qe(e,t){let n=new URL(e);return n.searchParams.delete(We),n.searchParams.delete(Ge),n.searchParams.set(O,t),n.toString()}var A=`slicc.trayWorkerBaseUrl`,j=`slicc.trayJoinUrl`,Je=`https://www.sliccy.ai`;function Ye(e,t){let n=k(e);if(!n)throw Error(`Invalid tray worker base URL: ${e}`);let r=t.replace(/^\/+/,``);return new URL(r,`${n}/`).toString()}function M(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``;let n=t.pathname.split(`/`).filter(Boolean),r=null;if(n.length>=2&&n.at(-2)===`tray`)r=decodeURIComponent(n.at(-1)),n.splice(-2,2),t.pathname=n.length>0?`/${n.join(`/`)}`:`/`;else if(n.length>=2&&n.at(-2)===`join`)return Ke(t.toString());let i=k(t.toString());return i?{workerBaseUrl:i,trayId:r,joinUrl:null}:null}catch{return null}}function N(e){let t=M(e);return t?.joinUrl?t:null}function P(e,t){let n=N(t);return n?(e.setItem(j,n.joinUrl),e.setItem(A,n.workerBaseUrl),n):null}function Xe(e){return!!N(e?.getItem(`slicc.trayJoinUrl`)??null)}function Ze(e,t){let n=!1;try{let t=new URL(e),r=t.searchParams.get(O);if(r!==null){n=!0;let e=M(r);if(e?.joinUrl)return e.joinUrl}t.searchParams.get(`slicc`)===`leader`&&(n=!0)}catch{}let r=M(e);return r?.joinUrl?r.joinUrl:(r?.trayId&&(n=!0),n?null:N(t?.getItem(`slicc.trayJoinUrl`)??null)?.joinUrl??null)}function Qe(e){try{let t=new URL(e);t.searchParams.delete(O);let n=t.pathname.split(`/`).filter(Boolean);return n.length>=2&&n.at(-2)===`join`&&(n.splice(-2,2),t.pathname=n.length>0?`/${n.join(`/`)}`:`/`),t.toString()}catch{return e}}function $e(e,t){let n=k(e);if(!n)throw Error(`Invalid tray worker base URL: ${e}`);let r=t?.trim();return r?new URL(`tray/${encodeURIComponent(r)}`,`${n}/`).toString():n}function et(e,t,n){return qe(e,$e(t,n))}async function tt(e){let t=it(e.locationHref);if(t)return e.storage&&(t.joinUrl&&e.storage.setItem(j,t.joinUrl),e.storage.setItem(A,t.workerBaseUrl)),t;let n=N(e.storage?.getItem(`slicc.trayJoinUrl`)??null);if(n)return e.storage&&e.storage.setItem(A,n.workerBaseUrl),n;let r=e.runtimeConfigFetcher?await at(e.runtimeConfigFetcher):null;if(r?.joinConfig)return e.storage&&(e.storage.setItem(j,r.joinConfig.joinUrl),e.storage.setItem(A,r.joinConfig.workerBaseUrl)),r.joinConfig;let i=r?.workerBaseUrl??null,a=k(e.storage?.getItem(`slicc.trayWorkerBaseUrl`)??null),o=k(e.envBaseUrl??null),s=k(e.defaultWorkerBaseUrl??null),c=i??a??o??s;return c?(e.storage&&e.storage.setItem(A,c),{workerBaseUrl:c,trayId:null,joinUrl:null}):null}async function nt(e){return(await tt(e))?.workerBaseUrl??null}async function rt(e=fetch){try{let t=await e(ye(`/api/runtime-config`),{cache:`no-store`,headers:Ce()});return t.ok?await t.json():null}catch{return null}}function it(e){try{let t=new URL(e),n=M(t.searchParams.get(O));if(n)return n;let r=M(t.searchParams.get(Ge));if(r)return r;let i=k(t.searchParams.get(We));return i?{workerBaseUrl:i,trayId:null,joinUrl:null}:Ke(e)||null}catch{return null}}async function at(e){let t=await e();if(!t)return null;let n=N(t.trayJoinUrl??null);return{workerBaseUrl:k(t.trayWorkerBaseUrl??null),joinConfig:n}}var ot=`slicc-cdp-superseded-banner`;function st(e){if(e.getElementById(ot))return;let t=e.createElement(`div`);t.id=ot,t.setAttribute(`role`,`alert`),t.textContent=`Another SLICC tab or window has taken control of this browser instance. Only one tab can drive the browser per instance — close the other tabs, then reload this page to resume.`,t.style.cssText=[`position:fixed`,`top:0`,`left:0`,`right:0`,`z-index:2147483647`,`padding:10px 16px`,`background:#b3261e`,`color:#fff`,`font:13px/1.4 system-ui,sans-serif`,`text-align:center`,`box-shadow:0 1px 4px rgba(0,0,0,0.3)`].join(`;`),e.body.appendChild(t)}new Set([{id:`chat`,label:`Chat`},{id:`terminal`,label:`Terminal`},{id:`files`,label:`Files`},{id:`memory`,label:`Memory`}].map(e=>e.id));function ct(e,t,n){if(t){try{if(new URL(e).searchParams.get(`detached`)===`1`)return`extension-detached`}catch{}return`extension`}try{let t=new URL(e);return t.searchParams.get(`connect`)===`1`?`connect`:t.searchParams.get(`runtime`)===`hosted-leader`?`hosted-leader`:t.searchParams.get(`cherry`)===`1`?`cherry`:Ze(e,n===void 0?typeof window<`u`?window.localStorage:null:n)?`follower`:ut(t)?`electron-overlay`:`standalone`}catch{return`standalone`}}function lt(e,t){return e===`electron-overlay`||e===`hosted-leader`||e===`standalone`&&t}function ut(e){return e.pathname===`/electron`||e.pathname===`/electron/`||e.searchParams.get(`runtime`)===`electron-overlay`}var dt=e({setupSudoExtension:()=>pt,setupSudoStandalone:()=>ft});async function ft(e){let{installSudoTestHook:n}=await t(async()=>{let{installSudoTestHook:e}=await import(`./sudo-CiUUdnPg.js`);return{installSudoTestHook:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]));n()}async function pt(e){let{installPanelSudoResponder:n}=await t(async()=>{let{installPanelSudoResponder:e}=await import(`./sudo-CiUUdnPg.js`);return{installPanelSudoResponder:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]));n()}function mt(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`slicc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function ht(e){let t;try{t=new URLSearchParams(e)}catch{return null}if(t.get(`slicc`)!==`leader`)return null;let n=t.get(`ext`);return n?{extensionId:n}:null}function F(){return typeof globalThis.chrome?.runtime?.connect==`function`}var gt=[100,200,400,800,1600];async function _t(e,t,n,r=gt,i=e=>new Promise(t=>setTimeout(t,e))){let a=r.length+1,o=null;for(let s=0;s<a;s++)try{await e.connect(t),s>0&&n.info(`CDP bridge connect succeeded after retry`,{attempt:s+1});return}catch(e){o=e,s<r.length&&await i(r[s]??0)}n.warn(`Initial CDP connect failed after retries; worker-forwarded commands will retry on demand`,o instanceof Error?o.message:String(o))}async function vt(e,n,r){let{ExtensionBridgeTransport:i}=await t(async()=>{let{ExtensionBridgeTransport:e}=await import(`./extension-bridge-transport-WLbnai-d.js`);return{ExtensionBridgeTransport:e}},__vite__mapDeps([24,2,25])),{mapNavigatePayloadToLickEvent:a}=await t(async()=>{let{mapNavigatePayloadToLickEvent:e}=await import(`./lick-ws-bridge-CjWMZdHT.js`);return{mapNavigatePayloadToLickEvent:e}},__vite__mapDeps([26,2,27,4,3,1,5,6])),o=null,s=[],c=!1,l=e=>{o=e;for(let t of s)e.sendForwardedLick(t);s.length=0},u=new e(new i({extensionId:n,onLick:e=>{let t=a(e);if(t){if(o){o.sendForwardedLick(t);return}s.length>=50&&(s.shift(),c||(c=!0,r.warn(`extension-bridge lick buffer overflow (cap 50); dropping oldest pending licks until the kernel client attaches`))),s.push(t)}}}));return await _t(u,void 0,r),{browser:u,attachLickForwardingClient:l}}async function yt(e){let{runtimeMode:n,envBaseUrl:r,window:i,log:a}=e,o=n===`electron-overlay`;a.info(`setting up standalone page runtime (BrowserAPI + CDP)`,{runtimeMode:n});let{BrowserAPI:s}=await t(async()=>{let{BrowserAPI:e}=await import(`./cdp-D7cRI5-J.js`);return{BrowserAPI:e}},__vite__mapDeps([28,2,29,30,31,4]));await ft({log:a});let c,l,u,d=null,f=null,p=null,m=null,h,g=n===`cherry`?null:ht(i.location.search),_=!!g&&F(),v=n===`cherry`||_?null:Me(i.location.search);v?.apiBaseUrl&&(d=v.apiBaseUrl,be(v.apiBaseUrl),f=v.token,xe(v.token)),v?.lickWsUrl&&(p=v.lickWsUrl);let y=await rt(),b=lt(n,y!==null)?Je:null;if(await tt({locationHref:i.location.href,storage:i.localStorage,envBaseUrl:r,defaultWorkerBaseUrl:b,runtimeConfigFetcher:async()=>y}),n===`cherry`){let{setupCherryFollower:e}=await t(async()=>{let{setupCherryFollower:e}=await import(`./main-cherry-CqL2Gwv5.js`);return{setupCherryFollower:e}},__vite__mapDeps([32,2,28,29,30,31,4,33])),n=await e();c=n.browser,l=n.joinUrl,u=n.transport}else if(g&&F()){a.info(`Routing CDP through the extension bridge (leader tab)`);let e=await vt(s,g.extensionId,a);c=e.browser,h=e.attachLickForwardingClient,m=g.extensionId,Se(g.extensionId)}else{c=new s,v&&a.info(`Routing CDP through local standalone bridge`,{url:v.url,role:v.role??`(unset)`});let e=v?{url:v.url,protocols:v.subprotocol}:void 0;v?.role===`follower`?(a.info(`Skipping CDP connect for follower overlay tab`),c.primeConnectOptions(e)):(await _t(c,e,a),c.setCdpSupersededHandler(()=>st(i.document)))}let x=c.getTransport();return globalThis.__slicc_browser=c,{browser:c,realCdpTransport:x,cherryJoinUrl:l,cherryTransport:u,instanceId:mt(),isElectronOverlay:o,localApiBaseUrl:d,bridgeToken:f,localLickWsUrl:p,extensionDelegateId:m,attachLickForwardingClient:h}}var I=E(`boot/sw-registration`);async function bt(e=null,t=null){let n=(()=>{try{return new URL(window.location.href).searchParams.get(`connect`)===`1`}catch{return!1}})();if(`serviceWorker`in navigator&&n&&await xt())return`reload-pending`;if(!(`serviceWorker`in navigator)||n)return`ready`;try{if(await navigator.serviceWorker.register(`/preview-sw.js`,{scope:`/preview/`}),I.info(`Preview SW registered`),!(typeof chrome<`u`&&chrome?.runtime?.id))try{await navigator.serviceWorker.register(`/llm-proxy-sw.js`,{scope:`/`}),I.info(`LLM-proxy SW registered`)}catch(e){I.error(`LLM-proxy SW registration failed — cross-origin LLM calls will hit CORS`,e)}if(navigator.serviceWorker.controller||await Promise.race([new Promise(e=>navigator.serviceWorker.addEventListener(`controllerchange`,()=>e(),{once:!0})),new Promise(e=>setTimeout(e,1500))]),!navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-sw-reloaded`))return sessionStorage.setItem(`slicc-sw-reloaded`,`1`),I.info(`Reloading once to gain SW control`),location.reload(),`reload-pending`;sessionStorage.removeItem(`slicc-sw-reloaded`),e&&(L(e),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{L(e)})),t&&(R(t),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{R(t)}))}catch(e){I.error(`Preview SW registration failed — preview feature will not work`,e)}return`ready`}function L(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:Ne,apiBaseUrl:e.apiBaseUrl,token:e.token};try{t.postMessage(n)}catch(e){I.warn(`LLM-proxy SW bridge-config postMessage failed`,e)}}function R(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:Pe,extensionId:e.extensionId};try{t.postMessage(n)}catch(e){I.warn(`LLM-proxy SW extension-delegate postMessage failed`,e)}}async function xt(){try{let e=await navigator.serviceWorker.getRegistrations();if(await Promise.all(e.map(e=>e.unregister().catch(()=>!1))),navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-connect-sw-cleared`))return sessionStorage.setItem(`slicc-connect-sw-cleared`,`1`),I.info(`connect mode: detaching from service worker (no proxy on worker origin)`),location.reload(),!0;sessionStorage.removeItem(`slicc-connect-sw-cleared`)}catch(e){I.error(`connect-mode SW cleanup failed`,e)}return!1}var z={state:`inactive`,joinUrl:null,trayId:null,error:null,lastPingTime:null,reconnectAttempts:0,attachAttempts:0,lastAttachCode:null,connectingSince:null,lastError:null};function St(){return{...z}}var Ct=`slicc.followerTrayStatus`,B=new Set;function wt(e){return B.add(e),()=>{B.delete(e)}}function Tt(){if(B.size!==0)for(let e of[...B])try{e({...z})}catch{}}function Et(e){z={...e},Tt()}function Dt(e){z={...z,lastPingTime:e},Tt()}function Ot(e){return typeof e==`string`&&e.startsWith(`No API key configured`)}function kt(e){return e?e.toLowerCase().includes(`the provided model identifier is invalid`):!1}function At(e){return e?e.toLowerCase().includes(`please log in again`):!1}var V=null,jt=!1;function Mt(){return typeof window>`u`||typeof document>`u`||document?.documentElement===void 0||typeof localStorage?.getItem!=`function`}function Nt(){return Mt()?`standalone-worker`:typeof chrome<`u`&&chrome?.runtime?.id?`extension`:typeof document<`u`&&document.documentElement?.dataset?.electronOverlay?`electron`:`cli`}async function Pt(){if(!jt&&!(typeof localStorage<`u`&&typeof localStorage?.getItem==`function`&&localStorage.getItem(`telemetry-disabled`)===`true`))try{let e=Nt();e!==`standalone-worker`&&typeof window<`u`?window.RUM_GENERATION=`slicc-${e}`:globalThis.RUM_GENERATION=`slicc-${e}`,e===`standalone-worker`?(V=(await t(()=>import(`./rum-worker-CwmNSpjO.js`),[])).default,self.addEventListener(`error`,e=>{let t=e;H(`js`,t.error?.message??t.message??``)}),self.addEventListener(`unhandledrejection`,e=>{let t=e.reason;H(`js`,t instanceof Error?t.message:String(t))})):e===`extension`?(V=(await t(()=>import(`./rum-DW84CvBs.js`),[])).default,typeof window<`u`&&(window.addEventListener(`error`,e=>{let t=e;H(`js`,t.error?.message??t.message??``)}),window.addEventListener(`unhandledrejection`,e=>{let t=e.reason;H(`js`,t instanceof Error?t.message:String(t))}))):(typeof window<`u`&&(window.SAMPLE_PAGEVIEWS_AT_RATE=`high`),Wt(),V=(await t(()=>import(`./src-C9oNvq2b.js`),[])).sampleRUM),jt=!0,V&&V(`navigate`,{source:typeof document<`u`?document.referrer:``,target:e})}catch{}}function Ft(e,t){V?.(`formsubmit`,{source:e,target:t})}function It(e){V?.(`viewblock`,{source:e})}function Lt(e){V?.(`viewmedia`,{source:e})}function H(e,t){let n=t;if(typeof n==`string`){let e=Bt(n);if(e===null)return;n=e}V?.(`error`,{source:e,target:n})}function Rt(e){V?.(`signup`,{source:e})}function zt(e){return e.includes(`@vite/client`)||e.includes(`@vite/env`)||e.includes(`[vite]`)||/https?:\/\/localhost:\d+\/@vite\//.test(e)||/\/__vite_ping/.test(e)}function Bt(e){let t=e??``;if(t.includes(`@vite/`)||t.includes(`[vite]`)||t.includes(`__vite_ping`)){let e=t.split(`
23
- `).filter(e=>!zt(e)).join(`
24
- `).trim();return e?e.slice(0,200).replace(/(\/[a-z]+)(?:\/[^\s/]+)+/gi,`$1/.../`):null}return t.slice(0,200).replace(/(\/[a-z]+)(?:\/[^\s/]+)+/gi,`$1/.../`)}var Vt=Symbol.for(`slicc.telemetry.sendBeacon.wrapped`);function Ht(e){if(typeof e!=`string`)return{kind:`absent`};let t=Bt(e);return t===null?{kind:`noise`}:{kind:`kept`,value:t,mutated:t!==e}}function Ut(e){let t=Ht(e.source),n=Ht(e.target),r=t.kind!==`kept`,i=n.kind!==`kept`;if((t.kind!==`absent`||n.kind!==`absent`)&&r&&i)return!0;let a=!1;return t.kind===`kept`?t.mutated&&(e.source=t.value,a=!0):t.kind===`noise`&&(e.source=``,a=!0),n.kind===`kept`?n.mutated&&(e.target=n.value,a=!0):n.kind===`noise`&&(e.target=``,a=!0),a?JSON.stringify(e):null}function Wt(){if(typeof navigator>`u`||typeof navigator.sendBeacon!=`function`)return;let e=navigator.sendBeacon;if(e[Vt])return;let t=e.bind(navigator),n=((e,n)=>{try{let r=typeof n==`string`?n:n instanceof ArrayBuffer?new TextDecoder().decode(n):null;if(r&&r.length>0&&r.charCodeAt(0)===123){let n=JSON.parse(r);if(n?.checkpoint===`error`){let r=Ut(n);if(r===!0)return!0;if(r!==null)return t(e,r)}}}catch{}return t(e,n)});n[Vt]=!0,navigator.sendBeacon=n}function Gt(e,t){if(e.state===`inactive`&&t.state===`inactive`)return{kind:`leader-offer`,label:`Enable multi-browser sync`,caption:`Connect another browser to this session.`};if(e.state===`leader`&&e.session?.joinUrl)return{kind:`leader-copy`,joinUrl:e.session.joinUrl,label:`Enable multi-browser sync`,caption:`Share this URL to connect more browsers.`};if(e.state!==`inactive`){let t=e.state===`connecting`?`Setting up multi-browser sync…`:e.state===`reconnecting`?`Reconnecting…`:`Sync service unreachable.`;return{kind:`leader-pending`,label:`Multi-browser sync`,caption:e.error??t}}return{kind:`follower`,label:`Multi-browser sync`,caption:t.error??t.lastError??Kt(t.state)??`Mirroring another browser.`}}function Kt(e){switch(e){case`connected`:return`Connected — mirroring another browser.`;case`connecting`:return`Connecting to the other browser…`;case`reconnecting`:return`Reconnecting…`;case`disconnected`:return`Disconnected from the other browser.`;default:return null}}function qt(e){let t=e.trim();if(!t)return`Paste a sync URL to continue.`;let n=null;try{n=new URL(t)}catch{return`That doesn’t look like a URL. Paste the full https://… link from the other browser.`}return n.protocol!==`https:`&&n.protocol!==`http:`?`Sync URLs must start with https://.`:n.pathname.includes(`/join/`)?`That sync URL is malformed. Re-copy it from the other browser and try again.`:`This URL is missing the /join/… capability. Use “Enable multi-browser sync” on the other browser.`}var Jt=e({ACCOUNTS_KEY:()=>fe,__test__:()=>ce,_testOnly_dispatchTrayJoinWithFailureFeedback:()=>Zt,addAccount:()=>T,applyProviderDefaults:()=>S,clearAllSettings:()=>le,clearApiKey:()=>de,clearBaseUrl:()=>ee,clearSelectedProvider:()=>oe,describeInvalidJoinUrl:()=>qt,downloadProviders:()=>$t,exportProviders:()=>pe,getAccounts:()=>w,getAllAvailableModels:()=>te,getAllExtraOAuthDomains:()=>ue,getApiKey:()=>se,getApiKeyForProvider:()=>re,getApiVersionForProvider:()=>ne,getAvailableProviders:()=>x,getBaseUrl:()=>me,getBaseUrlForProvider:()=>_e,getDeploymentForProvider:()=>C,getExtraOAuthDomains:()=>ge,getOAuthAccountInfo:()=>g,getProviderConfig:()=>i,getProviderModels:()=>he,getRawApiKeyForProvider:()=>_,getSelectedModelId:()=>o,getSelectedProvider:()=>a,isModelHiddenFromPicker:()=>p,logoutOAuthAccount:()=>ae,maskOAuthTokenWithRetry:()=>n,migrateLegacyAuthOnlySelection:()=>ie,persistOAuthMaskViaServiceWorker:()=>d,providerOffersLlmModels:()=>f,reloginOAuthAccount:()=>nn,removeAccount:()=>m,resolveCurrentModel:()=>s,resolveModelById:()=>l,resolveModelByShorthand:()=>u,saveOAuthAccount:()=>h,setApiKey:()=>ve,setBaseUrl:()=>r,setExtraOAuthDomains:()=>y,setExtraOAuthDomainsAsync:()=>c,setSelectedModelId:()=>v,setSelectedProvider:()=>b,showProviderSettings:()=>Sn}),Yt=E(`provider-settings`);function Xt(){return typeof chrome<`u`&&!!chrome?.runtime?.id}function Zt(e,t){return Qt(e,t)}function Qt(e,t){let n=`tray-join-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=!1,i,a=()=>{r||(r=!0,i!==void 0&&clearTimeout(i),window.removeEventListener(`slicc:tray-join-failed`,o))},o=r=>{let i=r.detail;if(i.requestId!==void 0&&i.requestId!==n)return;if(a(),!t.isConnected){Yt.error(`Tray-join failure arrived after dialog dismissed (UX swallowed half-state)`,{joinUrl:e,error:i.error,requestId:n});return}let o=t.dataset.dismissTimer;if(o){let e=Number(o);Number.isFinite(e)&&clearTimeout(e),delete t.dataset.dismissTimer}t.textContent=`Sync failed: ${i.error}. Reload the page and try again.`,t.style.color=`var(--slicc-cone)`};return window.addEventListener(`slicc:tray-join-failed`,o),i=setTimeout(a,1e4),window.dispatchEvent(new CustomEvent(`slicc:tray-join`,{detail:{joinUrl:e,requestId:n}})),a}function $t(){let e=JSON.stringify(pe(),null,2),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`providers.json`,r.click(),URL.revokeObjectURL(n)}function en(e){return e.length<=10?`****`:e.slice(0,4)+`...`+e.slice(-4)}function U(e){let t=`http://www.w3.org/2000/svg`,n=document.createElementNS(t,`svg`);n.setAttribute(`width`,`14`),n.setAttribute(`height`,`14`),n.setAttribute(`viewBox`,`0 0 20 20`),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`1.5`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`);for(let r of e){let e=document.createElementNS(t,`path`);e.setAttribute(`d`,r),n.appendChild(e)}return n}var W={pen:[`M14.3 3.3a1.5 1.5 0 0 1 2.1 0l.3.3a1.5 1.5 0 0 1 0 2.1L7.7 14.8l-3.2.7.7-3.2z`],trash:[`M4 6h12`,`M8 6V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2`,`M6 6v10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6`],logout:[`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,`M16 17l5-5-5-5`,`M21 12H9`],login:[`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,`M10 17l5-5-5-5`,`M15 12H3`]},G=`background: transparent; border: 1px solid var(--s2-border-subtle); color: var(--s2-content-secondary); border-radius: var(--s2-radius-s); padding: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: color 0.15s, border-color 0.15s;`;function K(e,t){e.addEventListener(`mouseenter`,()=>{e.style.color=t,e.style.borderColor=t}),e.addEventListener(`mouseleave`,()=>{e.style.color=`var(--s2-content-secondary)`,e.style.borderColor=`var(--s2-border-subtle)`})}function q(e){e.overlay.remove(),e.resolve((localStorage.getItem(`slicc_accounts`)??``)!==e.accountsBefore)}function J(e){e.options?.startInAddAccount?q(e):Y(e)}function tn(e){let t=document.createElement(`div`);return t.style.cssText=`font-size: 11px; color: var(--s2-content-disabled); font-family: monospace; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;`,e.loggedOut?(t.textContent=e.userName?`Logged out — was ${e.userName}`:`Logged out`,t.style.color=`var(--s2-content-disabled)`):e.userName?t.textContent=e.userName:e.accessToken?t.textContent=`Logged in`:t.textContent=en(e.apiKey),e.baseUrl&&(t.textContent+=` • `+e.baseUrl),t}async function nn(e,n){let{createOAuthLauncher:r,createInterceptingOAuthLauncherForCurrentRuntime:i}=await t(async()=>{let{createOAuthLauncher:e,createInterceptingOAuthLauncherForCurrentRuntime:t}=await import(`./oauth-service-DY8Ud2Yu.js`);return{createOAuthLauncher:e,createInterceptingOAuthLauncherForCurrentRuntime:t}},__vite__mapDeps([34,1,3,4,5,6,18,35])),a={forceReauth:!0};if(e.onOAuthLoginIntercepted){let t=await i();t&&await e.onOAuthLoginIntercepted(t,n,a)}else if(e.onOAuthLogin){let t=r();await e.onOAuthLogin(t,n,a)}}function rn(e,t){let n=document.createElement(`button`);return n.style.cssText=G,n.setAttribute(`aria-label`,`Edit account`),n.appendChild(U(W.pen)),K(n,`var(--s2-accent)`),n.addEventListener(`click`,()=>Z(e,t)),n}function an(e,t,n){let r=document.createElement(`button`);return r.style.cssText=G,t.loggedOut===!0?(r.setAttribute(`aria-label`,`Log in`),r.setAttribute(`title`,`Log in`),r.appendChild(U(W.login)),K(r,`var(--s2-accent)`),r.addEventListener(`click`,()=>{nn(n,()=>Y(e))})):(r.setAttribute(`aria-label`,`Log out`),r.setAttribute(`title`,`Log out`),r.appendChild(U(W.logout)),K(r,`var(--s2-warning, #f59e0b)`),r.addEventListener(`click`,()=>{(async()=>{await ae(t.providerId),Y(e)})()})),r}function on(e,t){let n=document.createElement(`button`);return n.style.cssText=G,n.setAttribute(`aria-label`,`Remove account`),n.appendChild(U(W.trash)),K(n,`var(--s2-negative)`),n.addEventListener(`click`,()=>{(async()=>{await m(t.providerId),Y(e)})()}),n}function sn(e,t){let n=i(t.providerId),r=document.createElement(`div`);r.style.cssText=`display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; background: var(--s2-bg-layer-2); border-radius: var(--s2-radius-default); margin-bottom: 8px; border: 1px solid var(--s2-border-subtle);`;let a=document.createElement(`div`);a.style.cssText=`flex: 1; min-width: 0;`;let o=document.createElement(`div`);o.style.cssText=`font-size: 14px; font-weight: 600; color: var(--s2-content-default);`,o.textContent=n.name,a.appendChild(o),a.appendChild(tn(t)),r.appendChild(a);let s=document.createElement(`div`);return s.style.cssText=`display: flex; gap: 4px; margin-left: 12px; flex-shrink: 0;`,s.appendChild(rn(e,t)),n.isOAuth&&s.appendChild(an(e,t,n)),s.appendChild(on(e,t)),r.appendChild(s),r}function cn(e){let t=document.createDocumentFragment(),n=document.createElement(`hr`);n.style.cssText=`border: none; border-top: 1px solid var(--s2-border-subtle); margin: 16px 0;`,t.appendChild(n);let r=document.createElement(`div`);r.className=`dialog__desc`,r.style.cssText=`font-weight: 600; margin-bottom: 8px;`,r.textContent=`Tray`,t.appendChild(r);let i=St(),a=i.state!==`inactive`,o=Xe(window.localStorage);if(a||o){let e=document.createElement(`div`);e.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px;`,e.textContent=`Follower: ${a?i.state:`configured`}`,i.error&&(e.textContent+=` — ${i.error}`,e.style.color=`var(--slicc-cone)`),t.appendChild(e)}let s=document.createElement(`button`);return s.className=`dialog__btn dialog__btn--secondary`,s.textContent=a||o?`Reconnect to other browser`:`Connect to another browser`,s.addEventListener(`click`,()=>Q(e)),t.appendChild(s),t}function Y(e){let{dialog:t}=e;t.innerHTML=``;let n=document.createElement(`div`);n.className=`dialog__title`,n.textContent=`Accounts`,t.appendChild(n);let r=w();if(r.length===0){let e=document.createElement(`div`);e.className=`dialog__desc`,e.textContent=`No accounts configured.`,t.appendChild(e)}else{let n=document.createElement(`div`);n.style.cssText=`margin-bottom: 16px;`;for(let t of r)n.appendChild(sn(e,t));t.appendChild(n)}let i=document.createElement(`div`);i.style.cssText=`display: flex; gap: 8px;`;let a=document.createElement(`button`);a.className=r.length>0?`dialog__btn dialog__btn--secondary`:`dialog__btn`,a.style.flex=`1`,a.textContent=`Add Account`,a.addEventListener(`click`,()=>Z(e)),i.appendChild(a);let o=document.createElement(`button`);o.className=`dialog__btn dialog__btn--secondary`,o.style.flex=`1`,o.textContent=`Export`,o.addEventListener(`click`,()=>$t()),i.appendChild(o),t.appendChild(i),t.appendChild(cn(e));let s=document.createElement(`hr`);s.style.cssText=`border: none; border-top: 1px solid var(--s2-border-subtle); margin: 16px 0;`,t.appendChild(s);let c=document.createElement(`button`);c.className=`dialog__btn`,c.textContent=`Get Started`,c.addEventListener(`click`,()=>q(e)),t.appendChild(c)}function ln(e,t){let n=document.createElement(`select`);if(n.className=`dialog__input`,n.style.marginBottom=`8px`,t){let e=i(t.providerId),r=document.createElement(`option`);return r.value=t.providerId,r.textContent=e.name,n.appendChild(r),n.disabled=!0,n.style.opacity=`0.7`,n}let r=document.createElement(`option`);r.value=``,r.textContent=`Select a provider…`,r.disabled=!0,r.selected=!0,r.hidden=!0,n.appendChild(r);let a=new Set(w().map(e=>e.providerId)),o=[...x()].sort((e,t)=>i(e).name.localeCompare(i(t).name));for(let t of o){if(a.has(t))continue;if(e?.providerFilter){if(!e.providerFilter(t))continue}else if(!f(t))continue;let r=document.createElement(`option`);r.value=t,r.textContent=i(t).name,n.appendChild(r)}return n}function un(e,t){let n=ln(e,t),r=document.createElement(`div`);r.className=`dialog__desc`,r.style.cssText=`font-size: 12px; color: var(--s2-content-tertiary); margin-bottom: 16px; margin-top: -4px;`;let i=document.createElement(`div`);i.style.cssText=`margin-bottom: 16px; display: none;`;let a=document.createElement(`button`);a.className=`dialog__btn`,a.textContent=`Login`,a.style.cssText=`width: 100%; margin-bottom: 8px;`,i.appendChild(a);let o=document.createElement(`div`);o.className=`dialog__desc`,o.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); text-align: center;`,i.appendChild(o);let s=document.createElement(`div`),c=document.createElement(`div`);c.className=`dialog__desc`,s.appendChild(c);let l=document.createElement(`input`);l.className=`dialog__input`,l.type=`password`,l.autocomplete=`off`,l.spellcheck=!1,t&&(l.value=t.apiKey),s.appendChild(l);let u=document.createElement(`div`),d=document.createElement(`div`);d.className=`dialog__desc`,d.textContent=`Base URL:`,u.appendChild(d);let f=document.createElement(`input`);f.className=`dialog__input`,f.type=`text`,f.autocomplete=`off`,f.spellcheck=!1,t?.baseUrl&&(f.value=t.baseUrl),u.appendChild(f);let p=document.createElement(`div`);p.className=`dialog__desc`,p.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,u.appendChild(p);let m=document.createElement(`div`);m.style.display=`none`;let h=document.createElement(`div`);h.className=`dialog__desc`,h.textContent=`Deployment:`,m.appendChild(h);let g=document.createElement(`input`);g.className=`dialog__input`,g.type=`text`,g.autocomplete=`off`,g.spellcheck=!1,t?.deployment&&(g.value=t.deployment),m.appendChild(g);let _=document.createElement(`div`);_.className=`dialog__desc`,_.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,m.appendChild(_);let v=document.createElement(`div`);v.style.display=`none`;let y=document.createElement(`div`);y.className=`dialog__desc`,y.textContent=`API Version:`,v.appendChild(y);let b=document.createElement(`input`);b.className=`dialog__input`,b.type=`text`,b.autocomplete=`off`,b.spellcheck=!1,t?.apiVersion&&(b.value=t.apiVersion),v.appendChild(b);let x=document.createElement(`div`);x.className=`dialog__desc`,x.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,v.appendChild(x);let S=document.createElement(`div`);S.style.cssText=`color: var(--slicc-cone); font-size: 12px; margin-bottom: 8px; display: none;`;let C=document.createElement(`button`);return C.className=`dialog__btn`,C.textContent=t?`Save`:`Add`,{providerSelect:n,providerDesc:r,oauth:{section:i,loginBtn:a,status:o},apiKeySection:s,apiKeyLabel:c,apiKeyInput:l,baseUrlSection:u,baseUrlInput:f,baseUrlDesc:p,deploymentSection:m,deploymentInput:g,deploymentDesc:_,apiVersionSection:v,apiVersionInput:b,apiVersionDesc:x,errorEl:S,saveBtn:C}}function dn(e){let t=document.createElement(`div`);t.setAttribute(`data-slicc-device-code-prompt`,``),t.style.cssText=`display:flex;flex-direction:column;gap:8px`;let n=document.createElement(`div`);n.className=`dialog__desc`,n.textContent=`Verification code`,n.style.cssText=`font-size: 11px; color: var(--s2-content-tertiary);`;let r=document.createElement(`div`);r.textContent=e,r.style.cssText=[`font: 600 22px ui-monospace, SFMono-Regular, Menlo, monospace`,`letter-spacing: 2px`,`color: var(--s2-content-primary, #e6edf3)`,`background: var(--s2-bg-secondary, #161b22)`,`border: 1px solid var(--s2-border, #30363d)`,`border-radius: 6px`,`padding: 10px 12px`,`text-align: center`,`user-select: all`,`cursor: text`].join(`;`);let i=document.createElement(`div`);i.className=`dialog__desc`,i.style.cssText=`font-size: 12px; color: var(--s2-content-secondary);`,i.textContent=`Click Copy & Continue — we will open the GitHub authorization page in a new tab. Paste this code there if it is not already filled in.`;let a=document.createElement(`div`);a.style.cssText=`display:flex;gap:8px;justify-content:flex-end;margin-top:4px`;let o=document.createElement(`button`);o.type=`button`,o.className=`dialog__btn`,o.textContent=`Cancel`;let s=document.createElement(`button`);return s.type=`button`,s.className=`dialog__btn dialog__btn--primary`,s.textContent=`Copy & Continue`,a.appendChild(o),a.appendChild(s),t.appendChild(n),t.appendChild(r),t.appendChild(i),t.appendChild(a),{prompt:t,cancelBtn:o,continueBtn:s}}function fn(e){return t=>new Promise(n=>{let r=e.loginBtn.style.display,i=e.status.style.display;e.loginBtn.style.display=`none`,e.status.style.display=`none`;let{prompt:a,cancelBtn:o,continueBtn:s}=dn(t.userCode),c=()=>{try{a.remove()}catch{}e.loginBtn.style.display=r,e.status.style.display=i};o.addEventListener(`click`,()=>{c(),n(`cancel`)}),s.addEventListener(`click`,()=>{(async()=>{try{await Te(t.userCode)}catch{}c(),e.status.style.display=i,e.status.textContent=`Waiting for you to authorize in the new tab…`,n(`continue`)})()}),e.section.appendChild(a)})}async function pn(e,n){let r=n.providerSelect.value;if(!r)return;let a=i(r);if(!a.onOAuthLogin&&!a.onOAuthLoginIntercepted)return;let{status:o}=n.oauth,s=w().some(e=>e.providerId===r),c=_e(r);if(a.requiresBaseUrl&&!n.baseUrlInput.value.trim()&&!c){o.textContent=`Base URL is required.`,o.style.color=`var(--slicc-cone)`,n.baseUrlInput.focus();return}a.requiresBaseUrl&&n.baseUrlInput.value.trim()&&T(r,``,n.baseUrlInput.value.trim()),o.textContent=`Opening login window...`;try{if(a.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:r}=await t(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-DY8Ud2Yu.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([34,1,3,4,5,6,18,35])),i=await r();if(!i)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await a.onOAuthLoginIntercepted(i,()=>J(e),{presentDeviceCode:fn(n.oauth)})}else if(a.onOAuthLogin){let{createOAuthLauncher:n}=await t(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-DY8Ud2Yu.js`);return{createOAuthLauncher:e}},__vite__mapDeps([34,1,3,4,5,6,18,35])),r=n();await a.onOAuthLogin(r,()=>J(e))}}catch(e){if(!s)try{await m(r)}catch{}Yt.error(`OAuth login failed`,{providerId:r,error:e instanceof Error?e.message:String(e)}),o.textContent=`Login failed: ${e instanceof Error?e.message:String(e)}`}}function mn(e,t){if(t.isOAuth){e.oauth.section.style.display=``,e.apiKeySection.style.display=`none`,e.baseUrlSection.style.display=t.requiresBaseUrl?``:`none`,t.requiresBaseUrl&&(e.baseUrlInput.placeholder=t.baseUrlPlaceholder||`https://...`,e.baseUrlDesc.textContent=t.baseUrlDescription||``),e.oauth.loginBtn.textContent=`Login with ${t.name}`,e.saveBtn.style.display=`none`;return}e.oauth.section.style.display=`none`;let n=t.requiresApiKey?`API Key`:`API Key (optional)`;e.apiKeyLabel.textContent=`${n}${t.apiKeyEnvVar?` (${t.apiKeyEnvVar})`:``}:`,e.apiKeyInput.placeholder=t.apiKeyPlaceholder||`API key`,e.apiKeySection.style.display=t.requiresApiKey||t.optionalApiKey?``:`none`,e.baseUrlInput.placeholder=t.baseUrlPlaceholder||`https://...`,e.baseUrlDesc.textContent=t.baseUrlDescription||``,e.baseUrlSection.style.display=t.requiresBaseUrl?``:`none`,e.saveBtn.style.display=``}function hn(e,t){t.requiresDeployment?(e.deploymentSection.style.display=``,e.deploymentInput.placeholder=t.deploymentPlaceholder||`deployment-name`,e.deploymentDesc.textContent=t.deploymentDescription||``):e.deploymentSection.style.display=`none`}function gn(e,t){t.requiresApiVersion?(e.apiVersionSection.style.display=``,!e.apiVersionInput.value&&t.apiVersionDefault&&(e.apiVersionInput.value=t.apiVersionDefault),e.apiVersionInput.placeholder=t.apiVersionDefault||`api-version`,e.apiVersionDesc.textContent=t.apiVersionDescription||``):e.apiVersionSection.style.display=`none`}function X(e){let t=e.providerSelect.value;if(!t){e.providerDesc.textContent=``,e.oauth.section.style.display=`none`,e.apiKeySection.style.display=`none`,e.baseUrlSection.style.display=`none`,e.deploymentSection.style.display=`none`,e.apiVersionSection.style.display=`none`,e.saveBtn.style.display=`none`;return}let n=i(t);e.providerDesc.textContent=n.description,mn(e,n),hn(e,n),gn(e,n)}function _n(e,t){let n=t.providerSelect.value;if(!n)return;let r=i(n),a=(e,n)=>{t.errorEl.textContent=e,t.errorEl.style.display=``,n.focus()};if(r.requiresApiKey&&t.apiKeyInput.value.trim().length<5){a(`API key is required (at least 5 characters).`,t.apiKeyInput);return}if(r.requiresBaseUrl&&!t.baseUrlInput.value.trim()){a(`Base URL is required for this provider.`,t.baseUrlInput);return}if(r.requiresDeployment&&!t.deploymentInput.value.trim()){a(`Deployment name is required for this provider.`,t.deploymentInput);return}T(n,t.apiKeyInput.value.trim(),t.baseUrlInput.value.trim()||void 0,t.deploymentInput.value.trim()||void 0,t.apiVersionInput.value.trim()||void 0),J(e)}function vn(e,t){let{dialog:n,options:r}=e,i=w().length>0;if(r?.startInAddAccount){let t=document.createElement(`button`);t.className=`dialog__btn dialog__btn--secondary`,t.style.marginTop=`8px`,t.textContent=`Cancel`,t.addEventListener(`click`,()=>q(e)),n.appendChild(t)}else if(!t&&!i){let t=document.createElement(`button`);t.className=`dialog__btn dialog__btn--secondary`,t.style.marginTop=`8px`,t.textContent=`Connect to another browser`,t.addEventListener(`click`,()=>Q(e)),n.appendChild(t)}else if(i){let t=document.createElement(`button`);t.className=`dialog__btn dialog__btn--secondary`,t.style.marginTop=`8px`,t.textContent=`Back`,t.addEventListener(`click`,()=>Y(e)),n.appendChild(t)}}function Z(e,t){let{dialog:n}=e;n.innerHTML=``;let r=document.createElement(`div`);r.className=`dialog__title`,r.textContent=t?`Edit Account`:`Add Account`,n.appendChild(r);let a=document.createElement(`div`);a.className=`dialog__desc`,a.textContent=`Provider:`,n.appendChild(a);let o=un(e.options,t);n.appendChild(o.providerSelect),n.appendChild(o.providerDesc),o.oauth.loginBtn.addEventListener(`click`,()=>{pn(e,o)}),t?.userName&&(o.oauth.status.textContent=`Logged in as ${t.userName}`,o.oauth.loginBtn.textContent=`Re-login`),n.appendChild(o.oauth.section),n.appendChild(o.apiKeySection),n.appendChild(o.baseUrlSection),n.appendChild(o.deploymentSection),n.appendChild(o.apiVersionSection),n.appendChild(o.errorEl),o.providerSelect.addEventListener(`change`,()=>{o.errorEl.style.display=`none`,X(o)}),X(o),o.saveBtn.addEventListener(`click`,()=>_n(e,o));let s=t=>{t.key===`Enter`&&_n(e,o)};o.apiKeyInput.addEventListener(`keydown`,s),o.baseUrlInput.addEventListener(`keydown`,s),o.deploymentInput.addEventListener(`keydown`,s),o.apiVersionInput.addEventListener(`keydown`,s),n.appendChild(o.saveBtn),vn(e,!!t),requestAnimationFrame(()=>{let e=o.providerSelect.value;if(!e)return;let t=i(e);t.requiresApiKey?o.apiKeyInput.focus():t.requiresBaseUrl&&o.baseUrlInput.focus()})}function yn(e,t,n,r){if(Xt()){let e={type:`refresh-tray-runtime`,joinUrl:t,workerBaseUrl:n};chrome.runtime.sendMessage({source:`panel`,payload:e}).catch(()=>{})}else Qt(t,r);r.textContent=`Connecting…`,r.style.display=``,r.style.color=`var(--s2-content-secondary)`;let i=setTimeout(()=>{e.overlay.remove(),e.resolve(!1)},800);r.dataset.dismissTimer=String(i)}function bn(e,t){let{dialog:n}=e;n.innerHTML=``;let r=document.createElement(`div`);r.className=`dialog__title`,r.textContent=`Connect this browser?`,n.appendChild(r);let i=document.createElement(`div`);i.className=`dialog__desc`,i.style.marginBottom=`12px`,i.textContent=`You’ve been invited to mirror another SLICC browser. Click below to start syncing.`,n.appendChild(i);let a=document.createElement(`div`);a.className=`dialog__desc`,a.style.cssText=`font-family: monospace; font-size: 11px; color: var(--s2-content-secondary); word-break: break-all; margin-bottom: 16px; padding: 8px; background: var(--s2-bg-secondary); border-radius: 4px;`,a.textContent=t.length>80?t.slice(0,40)+`…`+t.slice(-37):t,n.appendChild(a);let o=document.createElement(`div`);o.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`,n.appendChild(o);let s=document.createElement(`button`);s.className=`dialog__btn`,s.textContent=`Connect`,s.addEventListener(`click`,()=>{let n=P(window.localStorage,t);if(!n){o.textContent=`Invalid sync URL.`,o.style.display=``,o.style.color=`var(--slicc-cone)`;return}yn(e,n.joinUrl,n.workerBaseUrl,o)}),n.appendChild(s);let c=document.createElement(`button`);c.className=`dialog__btn dialog__btn--secondary`,c.style.marginTop=`8px`,c.textContent=`Set up an account instead`,c.addEventListener(`click`,()=>Z(e)),n.appendChild(c)}function xn(){let e=document.createElement(`details`);e.style.cssText=`margin-bottom: 12px; font-size: 12px; color: var(--s2-content-secondary);`;let t=document.createElement(`summary`);t.style.cssText=`cursor: pointer; user-select: none; color: var(--s2-content-secondary);`,t.textContent=`How do I get the sync URL?`,e.appendChild(t);let n=document.createElement(`div`);n.style.cssText=`margin-top: 8px; padding: 10px 12px; background: var(--s2-bg-layer-2); border-radius: var(--s2-radius-default); border: 1px solid var(--s2-border-subtle); line-height: 1.5;`;let r=document.createElement(`ol`);r.style.cssText=`margin: 0; padding-left: 20px;`;for(let e of[`On the other SLICC, click the avatar (top right).`,`Choose “Enable multi-browser sync” — the URL is copied automatically.`,`Paste it below. Both browsers must be on the same SLICC version.`]){let t=document.createElement(`li`);t.textContent=e,r.appendChild(t)}return n.appendChild(r),e.appendChild(n),e}function Q(e){let{dialog:t}=e;t.innerHTML=``;let n=document.createElement(`div`);n.className=`dialog__title`,n.textContent=`Connect to another browser`,t.appendChild(n);let r=document.createElement(`div`);r.className=`dialog__desc`,r.style.marginBottom=`12px`,r.textContent=`Paste a multi-browser sync URL to mirror another SLICC browser.`,t.appendChild(r),t.appendChild(xn());let i=document.createElement(`div`);i.className=`dialog__desc`,i.textContent=`Sync URL:`,t.appendChild(i);let a=document.createElement(`input`);a.className=`dialog__input`,a.type=`text`,a.autocomplete=`off`,a.spellcheck=!1,a.placeholder=`https://www.sliccy.ai/join/<token>`,t.appendChild(a);let o=document.createElement(`div`);o.style.cssText=`color: var(--slicc-cone); font-size: 12px; margin-bottom: 8px; display: none;`,t.appendChild(o);let s=document.createElement(`div`);s.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`;let c=document.createElement(`button`);c.className=`dialog__btn`,c.textContent=`Connect`,c.addEventListener(`click`,()=>{let t=a.value.trim();if(!t){o.textContent=`Paste a sync URL to continue.`,o.style.display=``,a.focus();return}let n=P(window.localStorage,t);if(!n){o.textContent=qt(t),o.style.display=``,a.focus();return}yn(e,n.joinUrl,n.workerBaseUrl,s)}),t.appendChild(c),t.appendChild(s);let l=document.createElement(`button`);l.className=`dialog__btn dialog__btn--secondary`,l.style.marginTop=`8px`,l.textContent=`Back`,l.addEventListener(`click`,()=>Z(e)),t.appendChild(l),a.addEventListener(`input`,()=>{o.style.display=`none`}),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&c.click()}),requestAnimationFrame(()=>a.focus())}function Sn(e){return Rt(`button`),new Promise(t=>{let n=document.createElement(`div`);n.className=`dialog-overlay`;let r=document.createElement(`div`);r.className=`dialog`,r.style.cssText=`max-width: 480px; width: 90vw; padding: 32px;`;let i={overlay:n,dialog:r,options:e,accountsBefore:localStorage.getItem(`slicc_accounts`)??``,resolve:t};e?.startInAddAccount?Z(i):w().length>0?Y(i):e?.autoJoinUrl?bn(i,e.autoJoinUrl):e?.preferTrayJoin?Q(i):Z(i),n.appendChild(r),document.body.appendChild(n)})}var $=E(`main`);function Cn(e){try{return new URL(e).searchParams.has(`ui-fixture`)}catch{return!1}}async function wn(){let e=document.getElementById(`app`);if(!e)throw Error(`#app element not found`);let n=typeof chrome<`u`&&!!chrome?.runtime?.id,r=ct(window.location.href,n);if(Cn(window.location.href)){let{mountWcUiPreview:n}=await t(async()=>{let{mountWcUiPreview:e}=await import(`./wc-shell-BIMESmsG.js`).then(e=>e.a);return{mountWcUiPreview:e}},__vite__mapDeps([36,4,1,22,37,38,39]));n(e);return}Be(),Ue(),r!==`connect`&&Pt().catch(()=>{});let i=Me(window.location.search),a=r===`cherry`?null:ht(window.location.search),o=!!a&&F();if(await bt(i?{apiBaseUrl:i.apiBaseUrl,token:i.token}:null,o&&a?{extensionId:a.extensionId}:null)===`reload-pending`)return;if(!n&&(r===`follower`||r===`cherry`)){let{mountWcUiFollower:n}=await t(async()=>{let{mountWcUiFollower:e}=await import(`./wc-follower-Bq5YVYRG.js`);return{mountWcUiFollower:e}},__vite__mapDeps([40,1,2,31,4,36,22,37,38,39,41,5,35,42,8,9,10,11,12,13,3,6,14,15,16,17,18,19,20,43,44,45,46,27,47,48,49,50,51,52,53,54]));return n(e,$,r)}await we(),S();let{bootstrapOAuthReplicas:s}=await t(async()=>{let{bootstrapOAuthReplicas:e}=await import(`./oauth-bootstrap-BD2sXBnz.js`);return{bootstrapOAuthReplicas:e}},__vite__mapDeps([55,1,12,4,8,9,10,11,13,2,5,3,6,14,15,16,17,18,19,20]));if(await Promise.race([s().catch(e=>{$.error(`OAuth bootstrap failed`,e)}),new Promise(e=>setTimeout(e,1e4))]),r===`connect`){globalThis.__slicc_connect_mode=!0;let{loadLegacyStyles:n}=await t(async()=>{let{loadLegacyStyles:e}=await import(`./legacy-styles-CuB1P3LZ.js`);return{loadLegacyStyles:e}},__vite__mapDeps([56,1]));await n();let{mountConnectSurface:r}=await t(async()=>{let{mountConnectSurface:e}=await import(`./connect-surface-DghcEB5c.js`);return{mountConnectSurface:e}},__vite__mapDeps([57,12,4,8,1,9,10,11,13,2,5,3,6,14,15,16,17,18,19,20]));await r(e);return}if(n){let{mountWcUiExtension:n}=await t(async()=>{let{mountWcUiExtension:e}=await import(`./wc-extension-Cyszr-Ua.js`);return{mountWcUiExtension:e}},__vite__mapDeps([58,1,59,60,42,8,9,4,10,11,12,13,2,5,3,6,14,15,16,17,18,19,20,35,43,44,45,46,22,27,47,48,36,37,38,39,49,50,51,52]));return n(e,$,r===`extension-detached`)}o&&a&&ze(a.extensionId);let{mountWcUiLive:c}=await t(async()=>{let{mountWcUiLive:e}=await import(`./wc-live-Cqx2-MrK.js`);return{mountWcUiLive:e}},__vite__mapDeps([42,8,1,9,4,10,11,12,13,2,5,3,6,14,15,16,17,18,19,20,35,43,44,45,46,22,27,47,48,36,37,38,39,49,50,51,52]));return c(e,$,r)}wn().catch(e=>{$.error(`Fatal error`,e);let t=document.getElementById(`app`);if(t){let n=document.createElement(`div`);n.style.cssText=`padding: 2rem; text-align: center;`;let r=document.createElement(`h1`);r.style.color=`var(--s2-negative, #e34850)`,r.textContent=`Failed to start`;let i=document.createElement(`p`);for(i.style.color=`var(--s2-content-tertiary, #717171)`,i.textContent=e.message,n.appendChild(r),n.appendChild(i);t.firstChild;)t.removeChild(t.firstChild);t.appendChild(n)}});export{Xe as C,Qe as D,P as E,Ee as O,Ye as S,nt as T,dt as _,H as a,A as b,At as c,Ct as d,St as f,yt as g,wt as h,Ft as i,kt as l,Et as m,Sn as n,Lt as o,Dt as p,Gt as r,It as s,Jt as t,Ot as u,Je as v,Ze as w,et as x,j as y};