sliccy 3.40.1 → 3.40.3

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 (230) hide show
  1. package/README.md +1 -1
  2. package/dist/node-server/_shared/index.d.ts +2 -0
  3. package/dist/node-server/_shared/index.d.ts.map +1 -1
  4. package/dist/node-server/_shared/index.js +2 -0
  5. package/dist/node-server/_shared/index.js.map +1 -1
  6. package/dist/node-server/_shared/sign-and-forward.d.ts +75 -0
  7. package/dist/node-server/_shared/sign-and-forward.d.ts.map +1 -0
  8. package/dist/node-server/_shared/sign-and-forward.js +278 -0
  9. package/dist/node-server/_shared/sign-and-forward.js.map +1 -0
  10. package/dist/node-server/_shared/sigv4.d.ts +26 -0
  11. package/dist/node-server/_shared/sigv4.d.ts.map +1 -0
  12. package/dist/node-server/{secrets/signing-s3.js → _shared/sigv4.js} +8 -16
  13. package/dist/node-server/_shared/sigv4.js.map +1 -0
  14. package/dist/node-server/secrets/sign-and-forward.d.ts +6 -26
  15. package/dist/node-server/secrets/sign-and-forward.js +40 -247
  16. package/dist/ui/assets/__vite-browser-external-CM3Eme-n.js +1 -0
  17. package/dist/ui/assets/adobe-9MnG5h7i.js +2 -0
  18. package/dist/ui/assets/{adobe-BuddmT1_.js → adobe-BCOGa4JO.js} +1 -1
  19. package/dist/ui/assets/agent-bridge-DrtqeACp.js +1 -0
  20. package/dist/ui/assets/agent-message-to-chat-BadHh_U6.js +7 -0
  21. package/dist/ui/assets/{anthropic-BgHKqajT.js → anthropic-DOdK4eXe.js} +4 -4
  22. package/dist/ui/assets/{anthropic-CtzKOYSY.js → anthropic-DVQtRZtV.js} +2 -2
  23. package/dist/ui/assets/{apps-DUrh4PEK.js → apps-D6zYxCJj.js} +2 -2
  24. package/dist/ui/assets/azure-openai-Cr3DISar.js +1 -0
  25. package/dist/ui/assets/azure-openai-DX23xqSp.js +1 -0
  26. package/dist/ui/assets/azure-openai-responses-DXY_e5sT.js +1 -0
  27. package/dist/ui/assets/azure-openai-responses-KQPM7_wG.js +1 -0
  28. package/dist/ui/assets/backend-local-CMfz45hs.js +9 -0
  29. package/dist/ui/assets/bedrock-camp-CWvhREqw.js +4 -0
  30. package/dist/ui/assets/bedrock-camp-Cg_vY0Xg.js +5 -0
  31. package/dist/ui/assets/biome_wasm-DEjrJMqV.js +1 -0
  32. package/dist/ui/assets/{bsh-watchdog-x1NhC21S.js → bsh-watchdog-DVEMoD1Q.js} +1 -1
  33. package/dist/ui/assets/{cdp-CIf67Kji.js → cdp-lOc6_BAx.js} +4 -4
  34. package/dist/ui/assets/cdp-ws-page-bridge-D_PY6ku1.js +1 -0
  35. package/dist/ui/assets/chunk-CMxvf4Kt.js +1 -0
  36. package/dist/ui/assets/chunk-aKtaBQYM.js +1 -0
  37. package/dist/ui/assets/clipboard-C2cR8flR.js +1 -0
  38. package/dist/ui/assets/clipboard-DgFtRQbq.js +1 -0
  39. package/dist/ui/assets/common-ewBM5he1.js +1 -0
  40. package/dist/ui/assets/{connect-surface-D4wcacvR.js → connect-surface-DoTyR_ZG.js} +1 -1
  41. package/dist/ui/assets/cost-command-CThcmGZA.js +1 -0
  42. package/dist/ui/assets/diagnostics-DRDFDs4d.js +1 -0
  43. package/dist/ui/assets/diagnostics-mI-AnKx_.js +1 -0
  44. package/dist/ui/assets/{dist-CUdWMJvw.js → dist-BrPNw_vU.js} +4 -4
  45. package/dist/ui/assets/{dist-CU640e2s.js → dist-C9EWpOKG.js} +1 -1
  46. package/dist/ui/assets/{dist-CrZ60vIK.js → dist-Cu5Yqq5d2.js} +1 -1
  47. package/dist/ui/assets/{dist-CXh0a315.js → dist-DbTbRU9p2.js} +4 -4
  48. package/dist/ui/assets/{es-BCqpNDbf.js → es-Do-6wb2C.js} +5 -5
  49. package/dist/ui/assets/{esp32-z35G3TbR.js → esp32-BTVUAltJ.js} +1 -1
  50. package/dist/ui/assets/esp32-CatgC_Vd.js +1 -0
  51. package/dist/ui/assets/{esp32c2-gLxOsZif.js → esp32c2-CpROmlB0.js} +1 -1
  52. package/dist/ui/assets/{esp32c2-pl5qy6El.js → esp32c2-Cvhq9547.js} +1 -1
  53. package/dist/ui/assets/{esp32c3-P3fd2u0V.js → esp32c3-D9lOBWYZ.js} +1 -1
  54. package/dist/ui/assets/esp32c3-heViyR1Q.js +1 -0
  55. package/dist/ui/assets/{esp32c5-B1WV7eXo.js → esp32c5-D2poFXyG.js} +1 -1
  56. package/dist/ui/assets/{esp32c5-VtJmrubf.js → esp32c5-KJSqwo2Q.js} +1 -1
  57. package/dist/ui/assets/{esp32c6-B-u1dpSJ.js → esp32c6-BMEnOhZ6.js} +1 -1
  58. package/dist/ui/assets/{esp32c6-roW5XaV9.js → esp32c6-Ct3LxBMw.js} +1 -1
  59. package/dist/ui/assets/{esp32c61-BEqxfS6j.js → esp32c61-BsudQf3e.js} +1 -1
  60. package/dist/ui/assets/{esp32c61-e_DudgN9.js → esp32c61-sRp43nbI.js} +1 -1
  61. package/dist/ui/assets/{esp32h2-BNSoMBaR.js → esp32h2-BKv-WORi.js} +1 -1
  62. package/dist/ui/assets/{esp32h2-DfHWoI2F.js → esp32h2-CPO25efF.js} +1 -1
  63. package/dist/ui/assets/{esp32p4-B28QO5xI.js → esp32p4-GHiT8voO.js} +1 -1
  64. package/dist/ui/assets/{esp32p4-oT03skoL.js → esp32p4-g1tFG0sh.js} +1 -1
  65. package/dist/ui/assets/{esp32s2-PvYKf6wY.js → esp32s2-BE2gO68i.js} +1 -1
  66. package/dist/ui/assets/{esp32s2-B4ccaXVM.js → esp32s2-DrH4e7iJ.js} +1 -1
  67. package/dist/ui/assets/{esp32s3-BEGROUfT.js → esp32s3-BHbeScNz.js} +1 -1
  68. package/dist/ui/assets/{esp32s3-BR5mq9LB.js → esp32s3-CjMu3q4c.js} +1 -1
  69. package/dist/ui/assets/esp8266-BPLrOmN4.js +1 -0
  70. package/dist/ui/assets/esp8266-DNz2CP4r.js +1 -0
  71. package/dist/ui/assets/esptool-operations-CiX8mbpu.js +12 -0
  72. package/dist/ui/assets/{esptool-operations-BmdDP4Te.js → esptool-operations-SV6FPHJC.js} +2 -2
  73. package/dist/ui/assets/{follower-sprinkle-bridge-DhhhEoEw.js → follower-sprinkle-bridge-DTufY-0i.js} +1 -1
  74. package/dist/ui/assets/fs-DqDo5o60.js +1 -0
  75. package/dist/ui/assets/github-CNn2NQAt.js +1 -0
  76. package/dist/ui/assets/github-DBywtHRG.js +2 -0
  77. package/dist/ui/assets/github-copilot-8wjbN6nq.js +1 -0
  78. package/dist/ui/assets/github-copilot-Dy9dkbr7.js +2 -0
  79. package/dist/ui/assets/google-BbVPHS50.js +1 -0
  80. package/dist/ui/assets/google-Dl6In6_I.js +1 -0
  81. package/dist/ui/assets/google-shared-BgawM9oG.js +11 -0
  82. package/dist/ui/assets/{google-shared-BqepQLFX.js → google-shared-BmpiIO3m.js} +3 -3
  83. package/dist/ui/assets/google-vertex-DGjVDVSA.js +1 -0
  84. package/dist/ui/assets/google-vertex-uZ8N77ah.js +1 -0
  85. package/dist/ui/assets/hid-device-registry-D2LsJCRr.js +1 -0
  86. package/dist/ui/assets/hosted-config-apply-uAym2aS5.js +1 -0
  87. package/dist/ui/assets/intercepted-oauth-tLpKagkf.js +1 -0
  88. package/dist/ui/assets/json-parse-BIGBjpLL.js +3 -0
  89. package/dist/ui/assets/json-parse-BUunmmNl.js +3 -0
  90. package/dist/ui/assets/kernel-worker-Cb8hTQlK.js +9547 -0
  91. package/dist/ui/assets/lick-ws-bridge-BiG3e_g1.js +1 -0
  92. package/dist/ui/assets/{local-llm-BSBAbQIB.js → local-llm-BazZFDj_.js} +2 -2
  93. package/dist/ui/assets/logger-DDBAeTLF.js +1 -0
  94. package/dist/ui/assets/logger-LESFN7Hj.js +1 -0
  95. package/dist/ui/assets/magick-wasm-DKLq0X9v.js +1 -0
  96. package/dist/ui/assets/main-cherry-_7zmLxgg.js +1 -0
  97. package/dist/ui/assets/main-yZCsVpFH.js +1813 -0
  98. package/dist/ui/assets/migration-run-CXbSDDok.js +1 -0
  99. package/dist/ui/assets/mime-types-B9LIwKG5.js +1 -0
  100. package/dist/ui/assets/mime-types-BG9Gw1bq.js +1 -0
  101. package/dist/ui/assets/{mistral-BgklU_Dp.js → mistral-CMJILYv2.js} +4 -4
  102. package/dist/ui/assets/{mistral-DzTfCccO.js → mistral-DGtcP1BQ.js} +4 -4
  103. package/dist/ui/assets/mount-C3YOm4Wn.js +1 -0
  104. package/dist/ui/assets/mount-id-nJcx05eu.js +1 -0
  105. package/dist/ui/assets/mount-picker-popup-DncaR5N8.js +1 -0
  106. package/dist/ui/assets/mount-table-store-CQJEV6Ij.js +1 -0
  107. package/dist/ui/assets/nodejs-BQ9Oov1A.js +1 -0
  108. package/dist/ui/assets/{nuke-command-B02fs5G-.js → nuke-command-Dmc-Sve3.js} +1 -1
  109. package/dist/ui/assets/oauth-Czw-MuuR.js +1 -0
  110. package/dist/ui/assets/oauth-bootstrap-C_DI66X8.js +2 -0
  111. package/dist/ui/assets/oauth-service-CFSmb2Xq.js +1 -0
  112. package/dist/ui/assets/oauth-service-CSJo71ct.js +1 -0
  113. package/dist/ui/assets/offscreen-client-Bn2ErFJg.js +1 -0
  114. package/dist/ui/assets/onboarding-orchestrator-DbSXIbPW.js +1 -0
  115. package/dist/ui/assets/openai-codex-BehcTqf4.js +1 -0
  116. package/dist/ui/assets/openai-codex-Df_T8mMz.js +1 -0
  117. package/dist/ui/assets/openai-codex-responses-Dpn8XW3b.js +7 -0
  118. package/dist/ui/assets/openai-codex-responses-bUy20doI.js +7 -0
  119. package/dist/ui/assets/openai-completions-B_5Ph3h0.js +5 -0
  120. package/dist/ui/assets/openai-completions-CoYClIFl.js +5 -0
  121. package/dist/ui/assets/openai-i4HWKCeW.js +16 -0
  122. package/dist/ui/assets/openai-responses-BQOBB5px.js +1 -0
  123. package/dist/ui/assets/openai-responses-DqkDb9a5.js +1 -0
  124. package/dist/ui/assets/{openai-responses-shared-CsK-8CQH.js → openai-responses-shared-CZOJCHE4.js} +4 -4
  125. package/dist/ui/assets/{openai-responses-shared-DYSAljRs.js → openai-responses-shared-D4pZ3bEY.js} +4 -4
  126. package/dist/ui/assets/openrouter-QETwrep8.js +1 -0
  127. package/dist/ui/assets/panel-rpc-Bcvr75SR.js +1 -0
  128. package/dist/ui/assets/panel-rpc-handlers-Bb_hIEUP.js +2 -0
  129. package/dist/ui/assets/path-utils-DU6QhF_k.js +1 -0
  130. package/dist/ui/assets/picker-approval-tzbkMw-e.js +9 -0
  131. package/dist/ui/assets/preload-helper-zJ_50EbN.js +1 -0
  132. package/dist/ui/assets/provider-Ba-IW-kd.js +2 -0
  133. package/dist/ui/assets/provider-CZ54o1eC.js +1 -0
  134. package/dist/ui/assets/provider-settings-CY5NYsC9.js +99 -0
  135. package/dist/ui/assets/provider-store-access-DV4kHL4p.js +1 -0
  136. package/dist/ui/assets/provider-store-access-xEJhUgjR.js +1 -0
  137. package/dist/ui/assets/providers-B-C_YTn6.js +1 -0
  138. package/dist/ui/assets/{proxied-fetch-CW9YdsrT.js → proxied-fetch-Bhc4pqzp.js} +1 -1
  139. package/dist/ui/assets/pyodide-BvA4c-59.js +3 -0
  140. package/dist/ui/assets/remote-cache-_bhYZSLy.js +1 -0
  141. package/dist/ui/assets/{remote-terminal-view-ChqlFNm7.js → remote-terminal-view-C1K2ToGt.js} +3 -3
  142. package/dist/ui/assets/{remote-vfs-client-Cc4yBMI0.js → remote-vfs-client-BwJhhtIV.js} +1 -1
  143. package/dist/ui/assets/secret-env-DcfTe28K.js +1 -0
  144. package/dist/ui/assets/slicc-editor-BdfBeQCF.js +12 -0
  145. package/dist/ui/assets/{spawn-7Vgp-lrm.js → spawn-D6ZYDHli.js} +1 -1
  146. package/dist/ui/assets/{sql-wasm-BbdRW4or.js → sql-wasm-Cu5Uk_6k.js} +1 -1
  147. package/dist/ui/assets/{src-BV-fJ2mM.js → src-CcMujGBk.js} +2 -2
  148. package/dist/ui/assets/src-CpdsjHiA.js +1 -0
  149. package/dist/ui/assets/store-BHgxxLww.js +1 -0
  150. package/dist/ui/assets/{sudo-CYttizEB.js → sudo-Dflnt4_G.js} +1 -1
  151. package/dist/ui/assets/tool-ui-N76-EdVc.js +1 -0
  152. package/dist/ui/assets/tool-ui-YOPqzMmL.js +1 -0
  153. package/dist/ui/assets/transform-messages-B3Q-Bwv-.js +1 -0
  154. package/dist/ui/assets/transform-messages-C1X1O3BY.js +1 -0
  155. package/dist/ui/assets/{tray-leave-runtime-BYZH2LNU.js → tray-leave-runtime-BhHEXpRy.js} +1 -1
  156. package/dist/ui/assets/tray-runtime-config-BRnpyDNS.js +1 -0
  157. package/dist/ui/assets/types-idfTVsM8.js +1 -0
  158. package/dist/ui/assets/{typescript-DY6vxmmv.js → typescript-qBO0Z4wm.js} +15 -15
  159. package/dist/ui/assets/upgrade-detection-B04kAu_0.js +1 -0
  160. package/dist/ui/assets/web-BMWiUYJ-.js +1 -0
  161. package/dist/ui/assets/{writable-vfs-client-lsN1qOSV.js → writable-vfs-client-DMYsajEE.js} +1 -1
  162. package/dist/ui/assets/ws-subscribers-Dzuxa2F7.js +1 -0
  163. package/dist/ui/assets/xai-grok-B6Nl7COG.js +1 -0
  164. package/dist/ui/assets/xai-grok-i7HD-5Tv.js +1 -0
  165. package/dist/ui/index.html +15 -1
  166. package/dist/ui/packages/webapp/index.html +15 -1
  167. package/package.json +6 -5
  168. package/dist/node-server/secrets/signing-s3.d.ts +0 -34
  169. package/dist/ui/assets/adobe-DwuDVWKR.js +0 -2
  170. package/dist/ui/assets/agent-bridge-CQ_WHXpS.js +0 -1
  171. package/dist/ui/assets/agent-message-to-chat-Bk83dal6.js +0 -7
  172. package/dist/ui/assets/azure-openai-589UnBaE.js +0 -1
  173. package/dist/ui/assets/azure-openai-BVD3rRyh.js +0 -1
  174. package/dist/ui/assets/azure-openai-responses-DDoPpQfz.js +0 -1
  175. package/dist/ui/assets/azure-openai-responses-DvPlhYRg.js +0 -1
  176. package/dist/ui/assets/biome_wasm-2BIO-fFD.js +0 -1
  177. package/dist/ui/assets/cdp-ws-page-bridge-D48c5VHQ.js +0 -1
  178. package/dist/ui/assets/common-DJglxtI9.js +0 -1
  179. package/dist/ui/assets/cost-command-Dqjx5BJ4.js +0 -1
  180. package/dist/ui/assets/esp32-UFl3lGuU.js +0 -1
  181. package/dist/ui/assets/esp32c3-CtBZCzN8.js +0 -1
  182. package/dist/ui/assets/esp8266-Cg5dZq5p.js +0 -1
  183. package/dist/ui/assets/esp8266-MLobtggU.js +0 -1
  184. package/dist/ui/assets/esptool-operations-PyMOLbEo.js +0 -12
  185. package/dist/ui/assets/github-BmiOv8pZ.js +0 -1
  186. package/dist/ui/assets/github-H8WCUoaG.js +0 -2
  187. package/dist/ui/assets/github-copilot-CFrKRCIh.js +0 -2
  188. package/dist/ui/assets/github-copilot-LZq-2nbm.js +0 -1
  189. package/dist/ui/assets/google-Bwhr3ElU.js +0 -1
  190. package/dist/ui/assets/google-CDEKJo6s.js +0 -1
  191. package/dist/ui/assets/google-shared-DUInnTRv.js +0 -11
  192. package/dist/ui/assets/google-vertex-DOk_o4Vo.js +0 -1
  193. package/dist/ui/assets/google-vertex-Dy07djME.js +0 -1
  194. package/dist/ui/assets/hosted-config-apply-CIYq4OE-.js +0 -1
  195. package/dist/ui/assets/intercepted-oauth-DYoA2kA8.js +0 -1
  196. package/dist/ui/assets/kernel-worker-xMdP33ug.js +0 -9678
  197. package/dist/ui/assets/lick-ws-bridge-DLXsmZ6H.js +0 -1
  198. package/dist/ui/assets/magick-wasm-BpDug9Pm.js +0 -1
  199. package/dist/ui/assets/main-BxzufWem.js +0 -1825
  200. package/dist/ui/assets/main-cherry-CV5ItRlu.js +0 -1
  201. package/dist/ui/assets/migration-run-195D_oov.js +0 -1
  202. package/dist/ui/assets/nodejs-156RsPtl.js +0 -1
  203. package/dist/ui/assets/oauth-DSEOvfNU.js +0 -1
  204. package/dist/ui/assets/oauth-bootstrap-CCTPtyS_.js +0 -2
  205. package/dist/ui/assets/oauth-service-Ctr2_Obu.js +0 -1
  206. package/dist/ui/assets/oauth-service-LEczdutD.js +0 -1
  207. package/dist/ui/assets/offscreen-client-Dswx1Ljm.js +0 -1
  208. package/dist/ui/assets/onboarding-orchestrator-8SmCagx8.js +0 -1
  209. package/dist/ui/assets/openai-codex-CYM3h5BG.js +0 -1
  210. package/dist/ui/assets/openai-codex-D-QWKpWb.js +0 -1
  211. package/dist/ui/assets/openai-codex-responses-CbtdwhQL.js +0 -7
  212. package/dist/ui/assets/openai-codex-responses-CnQXtoLP.js +0 -7
  213. package/dist/ui/assets/openai-completions-CbUcQcuU.js +0 -5
  214. package/dist/ui/assets/openai-responses-DBGxMDFy.js +0 -1
  215. package/dist/ui/assets/openai-responses-DomGQu-u.js +0 -1
  216. package/dist/ui/assets/openrouter-i7KtgZt3.js +0 -1
  217. package/dist/ui/assets/panel-rpc-handlers-BeUo4K-9.js +0 -2
  218. package/dist/ui/assets/provider-CuOCGXmD.js +0 -1
  219. package/dist/ui/assets/provider-U8Br2pQO.js +0 -2
  220. package/dist/ui/assets/provider-store-access-CRMelzXC.js +0 -1
  221. package/dist/ui/assets/provider-store-access-D9JW2Z9f.js +0 -1
  222. package/dist/ui/assets/pyodide-BQVwxCA4.js +0 -3
  223. package/dist/ui/assets/secret-env-mFCaJWuD.js +0 -1
  224. package/dist/ui/assets/slicc-editor-Bn_0-CZl.js +0 -12
  225. package/dist/ui/assets/store-DUcHEhum.js +0 -1
  226. package/dist/ui/assets/upgrade-detection-BmNgOg4g.js +0 -1
  227. package/dist/ui/assets/web-DRaGEaSq.js +0 -1
  228. package/dist/ui/assets/ws-subscribers-CxhSakhG.js +0 -1
  229. package/dist/ui/assets/xai-grok-C0UPkvUi.js +0 -1
  230. package/dist/ui/assets/xai-grok-DEapxZue.js +0 -1
@@ -0,0 +1 @@
1
+ import{_ as e,v as t}from"./kernel-worker-Cb8hTQlK.js";const n=`slicc:last-seen-version`;function r(){return{version:`3.40.3`,releasedAt:`2026-06-08T09:26:41Z`}}async function i(){let t=await e(n);return t&&t.length>0?t:null}async function a(e){await t(n,e)}async function o(){let e=r(),t=await i();return t===null?(await a(e.version),{bundled:e,lastSeen:null,isUpgrade:!1}):t===e.version?{bundled:e,lastSeen:t,isUpgrade:!1}:{bundled:e,lastSeen:t,isUpgrade:!0}}async function s(e){await a(e)}export{o as detectUpgrade,s as recordVersionSeen};
@@ -0,0 +1 @@
1
+ import{a as e,t}from"./chunk-CMxvf4Kt.js";import{t as n}from"./common-ewBM5he1.js";import{n as r,t as i}from"./biome_wasm-DEjrJMqV.js";var a=t((t=>{var a=t&&t.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),o=t&&t.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),s=t&&t.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(t){if(t&&t.__esModule)return t;var n={};if(t!=null)for(var r=e(t),i=0;i<r.length;i++)r[i]!=="default"&&a(n,t,r[i]);return o(n,t),n}})();Object.defineProperty(t,"__esModule",{value:!0}),t.Biome=void 0;let c=s((r(),e(i))),l=n();t.Biome=class extends l.BiomeCommon{constructor(){super(c)}}}));export default a();
@@ -1 +1 @@
1
- import{xt as e}from"./main-BxzufWem.js";function t(e){return new n(e)}var n=class{transport;log;genId;pending=new Map;unsubscribe=null;counter=0;constructor(e){this.transport=e.transport,this.log=e.logger??console,this.genId=e.generateRequestId??(()=>{this.counter=this.counter+1>>>0;let e=Math.random().toString(36).slice(2,8);return`vfs-w-${this.counter.toString(36)}-${e}`}),this.unsubscribe=this.transport.onMessage(e=>{if(!r(e)||e.source!==`offscreen`)return;let t=e.payload;i(t)&&this.handleResult(t)})}readDir(e){let t=this.genId(),n={type:`vfs-read-dir`,requestId:t,path:e};return this.request(t,`vfs-read-dir-result`,e,n)}readFile(e,t){let n=this.genId(),r={type:`vfs-read-file`,requestId:n,path:e,encoding:t?.encoding??`utf-8`};return this.request(n,`vfs-read-file-result`,e,r)}stat(e){let t=this.genId(),n={type:`vfs-stat`,requestId:t,path:e};return this.request(t,`vfs-stat-result`,e,n)}writeFile(t,n,r){let i=this.genId(),a=r?.recursive;if(n instanceof Uint8Array){let e={type:`vfs-write-file`,requestId:i,path:t,encoding:`binary`,data:n,...a===void 0?{}:{recursive:a}},r=n.buffer,o=typeof ArrayBuffer<`u`&&r instanceof ArrayBuffer?[r]:void 0;return this.request(i,`vfs-write-file-result`,t,e,o)}if(typeof n!=`string`)return Promise.reject(new e(`EINVAL`,`writeFile content must be string or Uint8Array`,t));let o={type:`vfs-write-file`,requestId:i,path:t,encoding:`utf-8`,data:n,...a===void 0?{}:{recursive:a}};return this.request(i,`vfs-write-file-result`,t,o)}mkdir(e,t){let n=this.genId(),r=t?.recursive,i={type:`vfs-mkdir`,requestId:n,path:e,...r===void 0?{}:{recursive:r}};return this.request(n,`vfs-mkdir-result`,e,i)}rm(e,t){let n=this.genId(),r=t?.recursive,i={type:`vfs-rm`,requestId:n,path:e,...r===void 0?{}:{recursive:r}};return this.request(n,`vfs-rm-result`,e,i)}flush(){let e=this.genId(),t={type:`vfs-flush`,requestId:e};return this.request(e,`vfs-flush-result`,``,t)}dispose(){this.unsubscribe?.(),this.unsubscribe=null;for(let[,t]of this.pending)t.reject(new e(`EBADF`,`RemoteWritableVfsClient disposed`,t.path));this.pending.clear()}request(e,t,n,r,i){return new Promise((a,o)=>{this.pending.set(e,{resolve:a,reject:o,expect:t,path:n});try{this.transport.send(r,i)}catch(t){this.pending.delete(e),o(t)}})}handleResult(t){let n=this.pending.get(t.requestId);if(!n){this.log.debug?.(`[remote-writable-vfs-client] drop unmatched response`,{type:t.type,requestId:t.requestId});return}if(n.expect!==t.type){this.pending.delete(t.requestId),n.reject(new e(`EIO`,`vfs-rpc response type mismatch (got ${t.type})`,n.path));return}if(this.pending.delete(t.requestId),t.ok===!1){n.reject(a(t.error.code,t.error.message,t.error.path??n.path));return}switch(t.type){case`vfs-read-dir-result`:n.resolve(t.entries);return;case`vfs-read-file-result`:n.resolve(t.data);return;case`vfs-stat-result`:n.resolve(t.stats);return;case`vfs-write-file-result`:case`vfs-mkdir-result`:case`vfs-rm-result`:case`vfs-flush-result`:n.resolve(void 0);return}}};function r(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function i(e){if(typeof e.requestId!=`string`)return!1;let t=e.type;return t===`vfs-read-dir-result`||t===`vfs-read-file-result`||t===`vfs-stat-result`||t===`vfs-write-file-result`||t===`vfs-mkdir-result`||t===`vfs-rm-result`||t===`vfs-flush-result`}function a(t,n,r){return new e([`ENOENT`,`EEXIST`,`ENOTDIR`,`EISDIR`,`ENOTEMPTY`,`EINVAL`,`EACCES`,`ELOOP`,`EBUSY`,`EFBIG`,`EBADF`,`EIO`].includes(t)?t:`EIO`,n,r)}export{t as createRemoteWritableVfsClient};
1
+ import{t as e}from"./types-idfTVsM8.js";function t(e){return new n(e)}var n=class{transport;log;genId;pending=new Map;unsubscribe=null;counter=0;constructor(e){this.transport=e.transport,this.log=e.logger??console,this.genId=e.generateRequestId??(()=>{this.counter=this.counter+1>>>0;let e=Math.random().toString(36).slice(2,8);return`vfs-w-${this.counter.toString(36)}-${e}`}),this.unsubscribe=this.transport.onMessage(e=>{if(!r(e)||e.source!==`offscreen`)return;let t=e.payload;i(t)&&this.handleResult(t)})}readDir(e){let t=this.genId(),n={type:`vfs-read-dir`,requestId:t,path:e};return this.request(t,`vfs-read-dir-result`,e,n)}readFile(e,t){let n=this.genId(),r={type:`vfs-read-file`,requestId:n,path:e,encoding:t?.encoding??`utf-8`};return this.request(n,`vfs-read-file-result`,e,r)}stat(e){let t=this.genId(),n={type:`vfs-stat`,requestId:t,path:e};return this.request(t,`vfs-stat-result`,e,n)}writeFile(t,n,r){let i=this.genId(),a=r?.recursive;if(n instanceof Uint8Array){let e={type:`vfs-write-file`,requestId:i,path:t,encoding:`binary`,data:n,...a===void 0?{}:{recursive:a}},r=n.buffer,o=typeof ArrayBuffer<`u`&&r instanceof ArrayBuffer?[r]:void 0;return this.request(i,`vfs-write-file-result`,t,e,o)}if(typeof n!=`string`)return Promise.reject(new e(`EINVAL`,`writeFile content must be string or Uint8Array`,t));let o={type:`vfs-write-file`,requestId:i,path:t,encoding:`utf-8`,data:n,...a===void 0?{}:{recursive:a}};return this.request(i,`vfs-write-file-result`,t,o)}mkdir(e,t){let n=this.genId(),r=t?.recursive,i={type:`vfs-mkdir`,requestId:n,path:e,...r===void 0?{}:{recursive:r}};return this.request(n,`vfs-mkdir-result`,e,i)}rm(e,t){let n=this.genId(),r=t?.recursive,i={type:`vfs-rm`,requestId:n,path:e,...r===void 0?{}:{recursive:r}};return this.request(n,`vfs-rm-result`,e,i)}flush(){let e=this.genId(),t={type:`vfs-flush`,requestId:e};return this.request(e,`vfs-flush-result`,``,t)}dispose(){this.unsubscribe?.(),this.unsubscribe=null;for(let[,t]of this.pending)t.reject(new e(`EBADF`,`RemoteWritableVfsClient disposed`,t.path));this.pending.clear()}request(e,t,n,r,i){return new Promise((a,o)=>{this.pending.set(e,{resolve:a,reject:o,expect:t,path:n});try{this.transport.send(r,i)}catch(t){this.pending.delete(e),o(t)}})}handleResult(t){let n=this.pending.get(t.requestId);if(!n){this.log.debug?.(`[remote-writable-vfs-client] drop unmatched response`,{type:t.type,requestId:t.requestId});return}if(n.expect!==t.type){this.pending.delete(t.requestId),n.reject(new e(`EIO`,`vfs-rpc response type mismatch (got ${t.type})`,n.path));return}if(this.pending.delete(t.requestId),t.ok===!1){n.reject(a(t.error.code,t.error.message,t.error.path??n.path));return}switch(t.type){case`vfs-read-dir-result`:n.resolve(t.entries);return;case`vfs-read-file-result`:n.resolve(t.data);return;case`vfs-stat-result`:n.resolve(t.stats);return;case`vfs-write-file-result`:case`vfs-mkdir-result`:case`vfs-rm-result`:case`vfs-flush-result`:n.resolve(void 0);return}}};function r(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function i(e){if(typeof e.requestId!=`string`)return!1;let t=e.type;return t===`vfs-read-dir-result`||t===`vfs-read-file-result`||t===`vfs-stat-result`||t===`vfs-write-file-result`||t===`vfs-mkdir-result`||t===`vfs-rm-result`||t===`vfs-flush-result`}function a(t,n,r){return new e([`ENOENT`,`EEXIST`,`ENOTDIR`,`EISDIR`,`ENOTEMPTY`,`EINVAL`,`EACCES`,`ELOOP`,`EBUSY`,`EFBIG`,`EBADF`,`EIO`].includes(t)?t:`EIO`,n,r)}export{t as createRemoteWritableVfsClient};
@@ -0,0 +1 @@
1
+ import{t as e}from"./logger-LESFN7Hj.js";import{n as t}from"./path-utils-DU6QhF_k.js";const n=e(`ws-subscribers`);var r=class{subs=new Map;tabRefs=new Map;bridge;webhooks;dispatcher;unsubscribeBridge;seq=1;constructor(e){this.bridge=e.bridge,this.webhooks=e.webhooks,this.dispatcher=e.dispatcher,this.unsubscribeBridge=this.bridge.onMatchedFrame((e,t)=>{this.handleFrame(e,t)})}async observe(e){this.validateSink(e);let t=`wssub-${this.seq++}-${Date.now().toString(36)}`,n={id:t,targetId:e.targetId,urlMatch:e.urlMatch,filter:e.filter,forward:e.forward,scoopJid:e.scoopJid,createdAt:new Date().toISOString()},r=this.tabRefs.get(e.targetId)??0;r===0&&await this.bridge.installRouter(e.targetId),this.tabRefs.set(e.targetId,r+1);try{await this.bridge.registerSelector(e.targetId,t,e.urlMatch,e.filter)}catch(t){throw this.releaseTab(e.targetId),t}return this.subs.set(t,n),this.toInfo(n)}async update(e,t){let n=this.subs.get(e);if(!n)throw Error(`browser.websocket: subscriber not found: ${e}`);let r=t.urlMatch,i=t.filter;return await this.bridge.updateSelector(n.targetId,e,r,i),t.urlMatch===null?delete n.urlMatch:t.urlMatch!==void 0&&(n.urlMatch=t.urlMatch),t.filter===null?delete n.filter:t.filter!==void 0&&(n.filter=t.filter),this.toInfo(n)}async close(e){let t=this.subs.get(e);if(!t)return!1;this.subs.delete(e);try{await this.bridge.unregisterSelector(t.targetId,e)}catch(t){n.warn(`unregisterSelector failed during close`,{id:e,error:t instanceof Error?t.message:String(t)})}return this.releaseTab(t.targetId),!0}list(){return Array.from(this.subs.values(),e=>this.toInfo(e))}async dropForScoop(e){let t=Array.from(this.subs.values()).filter(t=>t.scoopJid===e);for(let e of t)await this.close(e.id);return t.length}dispose(){this.unsubscribeBridge(),this.subs.clear(),this.tabRefs.clear()}validateSink(e){let n=e.forward;if(!n||typeof n!=`object`)throw Error(`browser.websocket: forward.sink is required`);switch(n.sink){case`webhook`:if(typeof n.webhookId!=`string`||!n.webhookId.trim())throw Error(`browser.websocket: webhook sink requires a webhookId`);if(!this.webhooks.has(n.webhookId))throw Error(`browser.websocket: webhookId "${n.webhookId}" is not registered; create it with \`webhook create\` first`);return;case`scoop`:if(typeof n.scoopJid!=`string`||!n.scoopJid.trim())throw Error(`browser.websocket: scoop sink requires a scoopJid`);return;case`vfs`:{if(typeof n.path!=`string`||!n.path.startsWith(`/workspace/`))throw Error(`browser.websocket: vfs sink path must be an absolute /workspace/... path`);let e=t(n.path);if(!e.startsWith(`/workspace/`)&&e!==`/workspace`)throw Error(`browser.websocket: vfs sink path escapes /workspace/ after normalization (got "${n.path}" → "${e}")`);return}case`log`:return;default:throw Error(`browser.websocket: unknown sink "${n.sink??``}"`)}}releaseTab(e){let t=(this.tabRefs.get(e)??1)-1;t<=0?this.tabRefs.delete(e):this.tabRefs.set(e,t)}toInfo(e){let t={id:e.id,targetId:e.targetId,forward:e.forward,createdAt:e.createdAt};return e.urlMatch!==void 0&&(t.urlMatch=e.urlMatch),e.filter!==void 0&&(t.filter=e.filter),e.scoopJid!==void 0&&(t.scoopJid=e.scoopJid),t}async handleFrame(e,t){let r=this.subs.get(e);if(!r)return;let i=r.forward;try{switch(i.sink){case`webhook`:await this.dispatcher.webhook(i.webhookId,t);return;case`scoop`:await this.dispatcher.scoop(i.scoopJid,t);return;case`vfs`:await this.dispatcher.vfs(i.path,t);return;case`log`:this.dispatcher.log(t);return}}catch(t){n.warn(`sink dispatch failed`,{subId:e,sink:i.sink,error:t instanceof Error?t.message:String(t)})}}};export{r as WsSubscriberRegistry};
@@ -0,0 +1 @@
1
+ import{m as e,t}from"./provider-settings-CY5NYsC9.js";import{_ as n,f as r,g as i}from"./bedrock-camp-Cg_vY0Xg.js";import{o as a}from"./transform-messages-C1X1O3BY.js";import{XaiErrorCode as o,XaiOAuthError as s}from"./xai-grok-errors-ByEMMSoz.js";import{resolveModels as c,toModelMetadata as l}from"./xai-grok-models-B0Tf--xf.js";import{sanitizePayload as u}from"./xai-grok-sanitize-CV6qvaEF.js";const d=`xai-grok`,f=`https://auth.x.ai`,p=`${f}/oauth2/authorize`,m=`${f}/oauth2/token`,h=`b1a00492-073a-47ea-816f-4c329264a828`,g=`http://127.0.0.1:56121/callback`,_=`https://api.x.ai/v1`,v=`openai-responses`,y=`${d}-openai`;function b(){return typeof process>`u`?null:{}.PI_XAI_OAUTH_MODELS??null}const x=c(b());function S(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function C(e){let t=new Uint8Array(e);return crypto.getRandomValues(t),t}function w(){return S(C(32))}async function T(e){let t=new TextEncoder().encode(e);return S(new Uint8Array(await crypto.subtle.digest(`SHA-256`,t)))}function E(){return S(C(16))}async function D(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:g,client_id:h,code_verifier:t}),r=await fetch(m,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new s(`xAI token exchange failed: ${r.status} ${await r.text()}`,o.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new s(`xAI token exchange did not return access_token.`,o.TOKEN_EXCHANGE_INVALID);return i}async function O(e){try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:h}),n=await fetch(m,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});return n.ok?await n.json():(console.error(`[xai-grok] refresh failed:`,n.status,await n.text()),null)}catch(e){return console.error(`[xai-grok] refresh error:`,e instanceof Error?e.message:String(e)),null}}function k(){return t().find(e=>e.providerId===d)}async function A(){let t=k();if(!t?.accessToken)throw new s("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",o.AUTH_MISSING,!0);let n=t.tokenExpiresAt??0;if(n&&Date.now()+6e4<n)return t.accessToken;if(t.refreshToken){let n=await O(t.refreshToken);if(n?.access_token)return await e({providerId:d,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??21600)*1e3}),n.access_token}return t.accessToken}function j(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:y,provider:d,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()}}}function M(e,t){return n=>!n||typeof n!=`object`?n:u(n,e,t)}function N(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}const P=(e,t,n={})=>{let i=a();return(async()=>{try{let a=await A(),o=n.sessionId,s=r({...e,baseUrl:_,api:v},t,{...n,apiKey:a,headers:N(n.headers,o),onPayload:M(e.id,o)});for await(let e of s)i.push(e);i.end()}catch(t){console.error(`[xai-grok] Stream error:`,t instanceof Error?t.message:String(t)),i.push(j(e,t)),i.end()}})(),i},F=(e,t,n)=>{let r=a();return(async()=>{try{let a=await A(),o=n?.sessionId,s=i({...e,baseUrl:_,api:v},t,{...n,apiKey:a,headers:N(n?.headers,o),onPayload:M(e.id,o)});for await(let e of s)r.push(e);r.end()}catch(t){console.error(`[xai-grok] Stream error:`,t instanceof Error?t.message:String(t)),r.push(j(e,t)),r.end()}})(),r},I={id:d,name:`xAI Grok (SuperGrok OAuth)`,description:`Grok via xAI OAuth — uses your SuperGrok subscription, no API key needed. Default model is Grok Heavy.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`grok-4.20-multi-agent-0309`,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`],getModelIds:()=>x.map(e=>{let t=l(e);return e.thinkingLevelMap?{...t,thinkingLevelMap:e.thinkingLevelMap}:t}),onOAuthLoginIntercepted:async(t,n,r)=>{let i=w(),a=await T(i),c=E(),l=E(),u=new URL(p);u.searchParams.set(`response_type`,`code`),u.searchParams.set(`client_id`,h),u.searchParams.set(`redirect_uri`,g),u.searchParams.set(`scope`,r?.scopes??`openid profile email offline_access grok-cli:access api:access`),u.searchParams.set(`code_challenge`,a),u.searchParams.set(`code_challenge_method`,`S256`),u.searchParams.set(`state`,c),u.searchParams.set(`nonce`,l),u.searchParams.set(`plan`,`generic`),u.searchParams.set(`referrer`,`slicc`);let f=await t({authorizeUrl:u.toString(),redirectUriPattern:`http://127.0.0.1:56121/*`,onCapture:`close`});if(!f)throw new s(`xAI OAuth login was cancelled or timed out`,o.CALLBACK_TIMEOUT);let m=new URL(f),v=m.searchParams.get(`code`),y=m.searchParams.get(`state`);if(!v)throw new s(`xAI OAuth redirect did not include a code`,o.CODE_MISSING);if(y!==c)throw new s(`xAI OAuth state mismatch — possible CSRF, aborting`,o.STATE_MISMATCH);let b=await D(v,i);await e({providerId:d,accessToken:b.access_token,refreshToken:b.refresh_token,tokenExpiresAt:Date.now()+(b.expires_in??21600)*1e3,baseUrl:_}),n()},onOAuthLogout:async()=>{await e({providerId:d,accessToken:``})},onSilentRenew:async()=>{let t=k();if(!t?.refreshToken)return null;let n=await O(t.refreshToken);return n?.access_token?(await e({providerId:d,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??21600)*1e3}),n.access_token):null}};function L(){n({api:y,stream:P,streamSimple:F})}export{o as XaiErrorCode,s as XaiOAuthError,I as config,L as register};
@@ -0,0 +1 @@
1
+ import{l as e,m as t,p as n}from"./bedrock-camp-CWvhREqw.js";import{o as r}from"./transform-messages-B3Q-Bwv-.js";import{i,p as a}from"./main-yZCsVpFH.js";import{XaiErrorCode as o,XaiOAuthError as s}from"./xai-grok-errors-bnlIBeu-.js";import{resolveModels as c,toModelMetadata as l}from"./xai-grok-models-CeEBaUMC.js";import{sanitizePayload as u}from"./xai-grok-sanitize-CR2JoOJd.js";var d=`xai-grok`,f=`https://auth.x.ai`,p=`${f}/oauth2/authorize`,m=`${f}/oauth2/token`,h=`b1a00492-073a-47ea-816f-4c329264a828`,g=`openid profile email offline_access grok-cli:access api:access`,_=`http://127.0.0.1:56121/callback`,v=`http://127.0.0.1:56121/*`,y=`https://api.x.ai/v1`,b=`openai-responses`,x=`${d}-openai`;function S(){return typeof process>`u`?null:{}.PI_XAI_OAUTH_MODELS??null}var C=c(S());function w(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function T(e){let t=new Uint8Array(e);return crypto.getRandomValues(t),t}function E(){return w(T(32))}async function D(e){let t=new TextEncoder().encode(e);return w(new Uint8Array(await crypto.subtle.digest(`SHA-256`,t)))}function O(){return w(T(16))}async function k(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:_,client_id:h,code_verifier:t}),r=await fetch(m,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new s(`xAI token exchange failed: ${r.status} ${await r.text()}`,o.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new s(`xAI token exchange did not return access_token.`,o.TOKEN_EXCHANGE_INVALID);return i}async function A(e){try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:h}),n=await fetch(m,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});return n.ok?await n.json():(console.error(`[xai-grok] refresh failed:`,n.status,await n.text()),null)}catch(e){return console.error(`[xai-grok] refresh error:`,e instanceof Error?e.message:String(e)),null}}function j(){return i().find(e=>e.providerId===d)}async function M(){let e=j();if(!e?.accessToken)throw new s("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",o.AUTH_MISSING,!0);let t=e.tokenExpiresAt??0;if(t&&Date.now()+6e4<t)return e.accessToken;if(e.refreshToken){let t=await A(e.refreshToken);if(t?.access_token)return await a({providerId:d,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??21600)*1e3}),t.access_token}return e.accessToken}function N(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:x,provider:d,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()}}}function P(e,t){return n=>!n||typeof n!=`object`?n:u(n,e,t)}function F(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}var I=(t,n,i={})=>{let a=r();return(async()=>{try{let r=await M(),o=i.sessionId,s=e({...t,baseUrl:y,api:b},n,{...i,apiKey:r,headers:F(i.headers,o),onPayload:P(t.id,o)});for await(let e of s)a.push(e);a.end()}catch(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e)),a.push(N(t,e)),a.end()}})(),a},L=(e,t,i)=>{let a=r();return(async()=>{try{let r=await M(),o=i?.sessionId,s=n({...e,baseUrl:y,api:b},t,{...i,apiKey:r,headers:F(i?.headers,o),onPayload:P(e.id,o)});for await(let e of s)a.push(e);a.end()}catch(t){console.error(`[xai-grok] Stream error:`,t instanceof Error?t.message:String(t)),a.push(N(e,t)),a.end()}})(),a},R={id:d,name:`xAI Grok (SuperGrok OAuth)`,description:`Grok via xAI OAuth — uses your SuperGrok subscription, no API key needed. Default model is Grok Heavy.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`grok-4.20-multi-agent-0309`,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`],getModelIds:()=>C.map(e=>{let t=l(e);return e.thinkingLevelMap?{...t,thinkingLevelMap:e.thinkingLevelMap}:t}),onOAuthLoginIntercepted:async(e,t,n)=>{let r=E(),i=await D(r),c=O(),l=O(),u=new URL(p);u.searchParams.set(`response_type`,`code`),u.searchParams.set(`client_id`,h),u.searchParams.set(`redirect_uri`,_),u.searchParams.set(`scope`,n?.scopes??g),u.searchParams.set(`code_challenge`,i),u.searchParams.set(`code_challenge_method`,`S256`),u.searchParams.set(`state`,c),u.searchParams.set(`nonce`,l),u.searchParams.set(`plan`,`generic`),u.searchParams.set(`referrer`,`slicc`);let f=await e({authorizeUrl:u.toString(),redirectUriPattern:v,onCapture:`close`});if(!f)throw new s(`xAI OAuth login was cancelled or timed out`,o.CALLBACK_TIMEOUT);let m=new URL(f),b=m.searchParams.get(`code`),x=m.searchParams.get(`state`);if(!b)throw new s(`xAI OAuth redirect did not include a code`,o.CODE_MISSING);if(x!==c)throw new s(`xAI OAuth state mismatch — possible CSRF, aborting`,o.STATE_MISMATCH);let S=await k(b,r);await a({providerId:d,accessToken:S.access_token,refreshToken:S.refresh_token,tokenExpiresAt:Date.now()+(S.expires_in??21600)*1e3,baseUrl:y}),t()},onOAuthLogout:async()=>{await a({providerId:d,accessToken:``})},onSilentRenew:async()=>{let e=j();if(!e?.refreshToken)return null;let t=await A(e.refreshToken);return t?.access_token?(await a({providerId:d,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??21600)*1e3}),t.access_token):null}};function z(){t({api:x,stream:I,streamSimple:L})}export{o as XaiErrorCode,s as XaiOAuthError,R as config,z as register};
@@ -5,8 +5,22 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>slicc</title>
7
7
  <link rel="icon" type="image/png" href="/logos/sliccy-color-1scoops-32x32.png" />
8
- <script type="module" crossorigin src="/assets/main-BxzufWem.js"></script>
8
+ <script type="module" crossorigin src="/assets/main-yZCsVpFH.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/chunk-aKtaBQYM.js">
9
10
  <link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-Dezn_h7o.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/transform-messages-B3Q-Bwv-.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/json-parse-BUunmmNl.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-CWvhREqw.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/logger-DDBAeTLF.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/mime-types-B9LIwKG5.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/mount-picker-popup-DncaR5N8.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/path-utils-DU6QhF_k.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/types-idfTVsM8.js">
20
+ <link rel="modulepreload" crossorigin href="/assets/hid-device-registry-D2LsJCRr.js">
21
+ <link rel="modulepreload" crossorigin href="/assets/tool-ui-YOPqzMmL.js">
22
+ <link rel="modulepreload" crossorigin href="/assets/picker-approval-tzbkMw-e.js">
23
+ <link rel="modulepreload" crossorigin href="/assets/clipboard-DgFtRQbq.js">
10
24
  <link rel="stylesheet" crossorigin href="/assets/main-D683Koa8.css">
11
25
  </head>
12
26
  <body>
@@ -5,8 +5,22 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>slicc</title>
7
7
  <link rel="icon" type="image/png" href="/logos/sliccy-color-1scoops-32x32.png" />
8
- <script type="module" crossorigin src="/assets/main-BxzufWem.js"></script>
8
+ <script type="module" crossorigin src="/assets/main-yZCsVpFH.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/assets/chunk-aKtaBQYM.js">
9
10
  <link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-Dezn_h7o.js">
11
+ <link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/transform-messages-B3Q-Bwv-.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/json-parse-BUunmmNl.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-CWvhREqw.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/logger-DDBAeTLF.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/mime-types-B9LIwKG5.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/mount-picker-popup-DncaR5N8.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/path-utils-DU6QhF_k.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/types-idfTVsM8.js">
20
+ <link rel="modulepreload" crossorigin href="/assets/hid-device-registry-D2LsJCRr.js">
21
+ <link rel="modulepreload" crossorigin href="/assets/tool-ui-YOPqzMmL.js">
22
+ <link rel="modulepreload" crossorigin href="/assets/picker-approval-tzbkMw-e.js">
23
+ <link rel="modulepreload" crossorigin href="/assets/clipboard-DgFtRQbq.js">
10
24
  <link rel="stylesheet" crossorigin href="/assets/main-D683Koa8.css">
11
25
  </head>
12
26
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sliccy",
3
- "version": "3.40.1",
3
+ "version": "3.40.3",
4
4
  "description": "Browser-based coding agent with thin CLI server",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -52,6 +52,7 @@
52
52
  "test:coverage:webapp": "node packages/dev-tools/tools/coverage-gate.mjs webapp",
53
53
  "test:coverage:cherry": "node packages/dev-tools/tools/coverage-gate.mjs cherry",
54
54
  "test:coverage:cloud-core": "node packages/dev-tools/tools/coverage-gate.mjs cloud-core",
55
+ "test:coverage:shared": "node packages/dev-tools/tools/coverage-gate.mjs shared",
55
56
  "coverage:ratchet": "node packages/dev-tools/tools/coverage-ratchet.mjs",
56
57
  "test:server-integration": "vitest run --config packages/node-server/tests/integration/server/vitest.config.ts",
57
58
  "test:e2e": "npx playwright test --config packages/webapp/tests/e2e/playwright.config.ts",
@@ -89,13 +90,13 @@
89
90
  "esbuild": "0.28.0",
90
91
  "husky": "9.1.7",
91
92
  "knip": "^6.11.0",
92
- "lint-staged": "17.0.6",
93
+ "lint-staged": "17.0.7",
93
94
  "prettier": "3.8.3",
94
95
  "semantic-release": "25.0.3",
95
- "tsx": "4.22.3",
96
+ "tsx": "4.22.4",
96
97
  "typescript": "^6.0.0",
97
- "vite": "8.0.14",
98
- "vitest": "4.1.7"
98
+ "vite": "8.0.15",
99
+ "vitest": "4.1.8"
99
100
  },
100
101
  "lint-staged": {
101
102
  "**/*.{ts,tsx,js,jsx,mjs,cjs,json,jsonc,css}": [
@@ -1,34 +0,0 @@
1
- /**
2
- * AWS SigV4 v4 signing — node-server copy.
3
- *
4
- * **Mirrored from `packages/webapp/src/fs/mount/signing-s3.ts`.** Both files
5
- * are byte-for-byte equivalent in behavior and must stay in sync. The reason
6
- * for two copies is that `tsconfig.cli.json` pins `rootDir` to
7
- * `packages/node-server/src`, so cross-importing the webapp source under
8
- * NodeNext resolution is rejected by the compiler. Sharing via a workspace
9
- * package is a larger change than this PR's scope.
10
- *
11
- * Drift between the two copies is caught by both test suites running the
12
- * same canonical AWS test vectors:
13
- * - `packages/webapp/tests/fs/mount/signing-s3.test.ts`
14
- * - `packages/node-server/tests/secrets/signing-s3.test.ts`
15
- *
16
- * If you change one, change the other and verify both test suites pass.
17
- *
18
- * Pure function — given a request + credentials + region + service + clock,
19
- * produces the same request with an `Authorization` header attached. Uses
20
- * Web Crypto (`crypto.subtle`) which works in browsers, extension service
21
- * workers, and Node 22+ (where it lives on `globalThis.crypto`).
22
- */
23
- export interface SigV4Request {
24
- method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'HEAD';
25
- url: URL;
26
- headers: Record<string, string>;
27
- body?: Uint8Array;
28
- }
29
- export interface SigV4Credentials {
30
- accessKeyId: string;
31
- secretAccessKey: string;
32
- sessionToken?: string;
33
- }
34
- export declare function signSigV4(req: SigV4Request, creds: SigV4Credentials, region: string, service?: string, now?: Date): Promise<SigV4Request>;
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-Ctr2_Obu.js","assets/main-BxzufWem.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/main-D683Koa8.css"])))=>i.map(i=>d[i]);
2
- import{At as e,Gt as t,It as n,Kt as r,Mt as i,Pt as a,Ut as o,Wt as s,_ as c,c as l,i as u,p as d,r as f,zt as p}from"./main-BxzufWem.js";import{getOAuthPageOrigin as m}from"./oauth-service-Ctr2_Obu.js";var h={proxyEndpoint:`https://adobe-llm-proxy.paolo-moz.workers.dev`,redirectUri:`https://www.sliccy.ai/auth/callback`,extensionRedirectUri:`https://akjjllgokmbgpbdbmafpiefnhidlmbgf.chromiumapp.org/adobe`},g=[`claude-opus-4-8`,`opus-4-8`];function _(e,t){return(t?[e,t]:[e]).flatMap(e=>{let t=e.toLowerCase();return[t,t.replace(/[\s_.:]+/g,`-`)]})}function v(e,t){return _(e,t).some(e=>g.some(t=>e.includes(t)))}function y(e,t){let n=e?t?.[e]:void 0;if(typeof n==`string`)return n;switch(e){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`xhigh`:return`xhigh`;default:return`high`}}function ee(e,t){return async(n,r)=>{let i=t?await t(n,r)??n:n,a=i.thinking;return a&&a.type===`enabled`&&(i.thinking={type:`adaptive`,...a.display===void 0?{}:{display:a.display}},i.output_config={...i.output_config??{},effort:e}),i}}function b(e,t){if(!v(e.id,e.name))return t;let n=t,r=n.effort??y(n.reasoning,e.thinkingLevelMap);return{...t,onPayload:ee(r,n.onPayload)}}function x(e,t){let n={id:e.id,name:e.name??e.id},r=t?.api??e.api,i=t?.context_window??e.context_window,a=t?.max_tokens??e.max_tokens,o=t?.reasoning??e.reasoning,s=t?.input??e.input;return r&&(n.api=r),i!==void 0&&(n.context_window=i),a!==void 0&&(n.max_tokens=a),o!==void 0&&(n.reasoning=o),s&&(n.input=s),/haiku/i.test(e.id)&&(n.compat={supportsEagerToolInputStreaming:!1}),n}var S=5*6e4;function C(e=S){let t=0;return{async run(n,r=Date.now()){if(r<t)return null;let i=null;try{i=await n()}catch(e){console.debug(`[silent-renew-backoff] renew threw:`,e instanceof Error?e.message:String(e)),i=null}return t=i?0:r+e,i},inCooldown(e=Date.now()){return e<t}}}var w=Object.assign({"/packages/webapp/providers/adobe-config.json":h})[`/packages/webapp/providers/adobe-config.json`]??{clientId:``,proxyEndpoint:``,scopes:`openid,profile,email`};function T(){let e=l(`adobe`);if(e)return e.replace(/\/$/,``);if(w.proxyEndpoint)return w.proxyEndpoint.replace(/\/$/,``);throw Error(`Adobe proxy endpoint not configured — set it in Settings or adobe-config.json`)}var E=new Map,D=new Map,O=`slicc-adobe-models`;function k(e){try{localStorage.setItem(O,JSON.stringify(e))}catch{}}async function A(e){let t=E.get(e);if(t)return t;try{let t=await fetch(`${e}/v1/config`,{headers:{[G]:`3.40.1`}});if(t.ok){let n=await t.json();return E.set(e,n),n}console.warn(`[adobe] Proxy /v1/config returned ${t.status}, falling back to build-time config`)}catch(e){console.warn(`[adobe] Failed to fetch proxy config:`,e instanceof Error?e.message:String(e))}let n={};return E.set(e,n),n}function j(e){let t=e.clientId||w.clientId;if(!t)throw Error(`Could not determine IMS client ID — proxy /v1/config did not return one and adobe-config.json is empty`);return t}function M(e){return e.scopes||w.scopes}function N(e){return e.imsEnvironment||w.imsEnvironment||`prod`}var P={prod:`https://ims-na1.adobelogin.com`,stg1:`https://ims-na1-stg1.adobelogin.com`};function F(e){return P[e??w.imsEnvironment??`prod`]??P.prod}var I=typeof chrome<`u`&&!!chrome?.runtime?.id;function L(){return u().find(e=>e.providerId===`adobe`)}async function R(e,t){try{let n=await fetch(`${F(t)}/ims/userinfo/v2`,{headers:{Authorization:`Bearer ${e}`}});if(n.ok){let e=await n.json();return{name:e.displayName||e.name||e.email,avatar:e.picture||e.avatar_url}}console.warn(`[adobe] User profile fetch returned ${n.status}, account will have no display name`)}catch(e){console.warn(`[adobe] Failed to fetch user profile:`,e instanceof Error?e.message:String(e))}return{}}function z(e){let t=e.indexOf(`#`);if(t<0)return null;let n=new URLSearchParams(e.slice(t+1)),r=n.get(`access_token`);return r?{accessToken:r,expiresIn:parseInt(n.get(`expires_in`)??`86400`,10)}:null}var B={id:`adobe`,name:`Adobe`,description:`Claude via Adobe — login with your Adobe ID`,requiresApiKey:!1,requiresBaseUrl:!w.proxyEndpoint,baseUrlPlaceholder:`https://your-proxy.example.com`,baseUrlDescription:`Anthropic-compatible proxy endpoint`,isOAuth:!0,defaultModelId:`sonnet`,oauthTokenDomains:[`ims-na1.adobelogin.com`,`ims-na1-stg1.adobelogin.com`,`*.adobelogin.com`,`*.adobe.io`,`firefall.adobe.io`,`admin.hlx.page`,`admin.hlx.live`,`admin.aem.page`,`admin.aem.live`],getModelIds:()=>{let e=e=>x(e,D.get(e.id));for(let t of Q.values())if(t.length){let n=t.map(t=>e({id:t.id,name:t.name??t.id}));return k(n),n}for(let t of E.values())if(t.models?.length)return t.models.map(t=>e(t));try{let e=localStorage.getItem(O);if(e){let t=JSON.parse(e);if(t.length)return t}}catch{}return[{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`}]},onOAuthLogin:async(e,t,n)=>{let r=T(),i=await A(r),a=j(i),o=M(i),s=N(i),c=I?null:await m(),l=I?w.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:w.redirectUri??`${c.origin}/auth/callback`,u=I?void 0:btoa(JSON.stringify({port:parseInt(new URL(c.href).port||`5710`,10),path:`/auth/callback`,nonce:crypto.randomUUID()})),f=u?JSON.parse(atob(u)).nonce:null,p=new URLSearchParams({client_id:a,scope:o,response_type:`token`,redirect_uri:l});u&&p.set(`state`,u),n?.forceReauth&&p.set(`prompt`,`login`);let h=await e(`${F(s)}/ims/authorize/v2?${p}`);if(!h)return;if(f&&h)try{if(new URL(h).searchParams.get(`nonce`)!==f){console.error(`[adobe] OAuth nonce mismatch — possible CSRF`);return}}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}let g=z(h);if(!g){console.error(`[adobe] Could not extract token from redirect URL`);return}let _=await R(g.accessToken,s);await d({providerId:`adobe`,accessToken:g.accessToken,tokenExpiresAt:Date.now()+g.expiresIn*1e3,userName:_.name,userAvatar:_.avatar,baseUrl:w.proxyEndpoint?void 0:r}),await $().catch(e=>console.warn(`[adobe] Failed to fetch models after login:`,e instanceof Error?e.message:String(e))),t()},onOAuthLogout:async()=>{let e=L();if(e?.accessToken)try{let t=E.values().next().value??{},n=t.clientId||w.clientId,r=N(t);if(n){let t=await fetch(`${F(r)}/ims/revoke`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:new URLSearchParams({token:e.accessToken,token_type_hint:`access_token`,client_id:n})});t.ok||console.warn(`[adobe] Token revocation returned ${t.status}, token may still be valid server-side`)}}catch(e){console.warn(`[adobe] Failed to revoke token:`,e instanceof Error?e.message:String(e))}await d({providerId:`adobe`,accessToken:``})},onSilentRenew:async()=>L()?.accessToken?W():null,refreshModels:async e=>{await $(e);let t=B.getModelIds?.();t?.length&&k(t)}},V=null,H=C();async function U(){let e=L();if(!e?.accessToken)throw Error(`Not logged in to Adobe — please log in first`);if((e.tokenExpiresAt??0)-Date.now()>6e4)return e.accessToken;console.log(`[adobe] Token expired or expiring soon, attempting silent renewal...`);let t=await H.run(()=>W());if(t)return t;let n=L();if((n?.tokenExpiresAt??0)-Date.now()>0&&n?.accessToken)return n.accessToken;throw Error(`Adobe session expired — please log in again`)}function te(){let e=L();return e?.tokenExpiresAt?Date.now()>e.tokenExpiresAt-6e4:!0}async function W(){return typeof window>`u`?null:V||(V=(async()=>{try{let e=T(),n=await A(e),r=j(n),i=M(n),a=N(n),o=I?w.extensionRedirectUri??`https://${chrome.runtime.id}.chromiumapp.org/`:w.redirectUri??`${window.location.origin}/auth/callback`,s=I?void 0:btoa(JSON.stringify({port:parseInt(new URL(window.location.href).port||`5710`,10),path:`/auth/callback`,nonce:crypto.randomUUID()})),c=s?JSON.parse(atob(s)).nonce:null,l=new URLSearchParams({client_id:r,scope:i,response_type:`token`,redirect_uri:o,prompt:`none`});s&&l.set(`state`,s);let u=`${F(a)}/ims/authorize/v2?${l}`,{createOAuthLauncher:f}=await t(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-Ctr2_Obu.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3])),p=await f()(u,{interactive:!1});if(!p)return null;if(c&&p)try{if(new URL(p).searchParams.get(`nonce`)!==c)return console.error(`[adobe] OAuth nonce mismatch — possible CSRF`),null}catch(e){console.warn(`[adobe] Nonce check skipped (URL parse failed):`,e instanceof Error?e.message:String(e))}let m=z(p);if(!m)return null;let h=L();return await d({providerId:`adobe`,accessToken:m.accessToken,tokenExpiresAt:Date.now()+m.expiresIn*1e3,userName:h?.userName,userAvatar:h?.userAvatar,baseUrl:w.proxyEndpoint?void 0:e}),console.log(`[adobe] Token renewed silently`),await $().catch(e=>console.warn(`[adobe] Failed to refresh models after silent renewal:`,e instanceof Error?e.message:String(e))),m.accessToken}catch(e){return console.warn(`[adobe] Silent renewal error:`,e instanceof Error?e.message:String(e)),null}finally{V=null}})(),V)}var G=`X-Slicc-Version`;function K(e){let t={},n=G.toLowerCase();if(e.headers)for(let[r,i]of Object.entries(e.headers))r.toLowerCase()!==n&&(t[r]=i);return t[G]=`3.40.1`,{...e,headers:t}}var ne=`adobe-provider-fallback`,q=new Set;function J(e,t){if(e.headers){for(let t of Object.keys(e.headers))if(t.toLowerCase()===`x-session-id`)return e}return q.has(t)||(q.add(t),console.warn(`[adobe] Missing X-Session-Id from ${t} — using daily fallback. Attach an X-Session-Id header at the call site (see scoop-context.ts streamWithSessionId or docs/pitfalls.md).`)),{...e,headers:{...e.headers??{},"X-Session-Id":f(ne)}}}function re(){q.clear()}function Y(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:`adobe-anthropic`,provider:`adobe`,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 X=(t,n,r={})=>{let a=p();return(async()=>{try{let o=await U();if(String(t.api).includes(`openai`)){let e=i({...t,baseUrl:`${T()}/v1`,api:`openai-completions`,compat:{...t.compat,supportsStore:!1,supportsDeveloperRole:!1}},n,K(J({...r,apiKey:o},`streamAdobe[openai]`)));for await(let t of e)a.push(t)}else{let i=e({...t,baseUrl:T(),api:`anthropic-messages`},n,K(J(b(t,c(t.id,t.name,{...r,apiKey:o})),`streamAdobe[anthropic]`)));for await(let e of i)a.push(e)}a.end()}catch(e){console.error(`[adobe] Stream error:`,e instanceof Error?e.message:String(e)),a.push(Y(t,e)),a.end()}})(),a},Z=(e,t,r)=>{let i=p();return(async()=>{try{let o=await U();if(String(e.api).includes(`openai`)){let a=n({...e,baseUrl:`${T()}/v1`,api:`openai-completions`,compat:{...e.compat,supportsStore:!1,supportsDeveloperRole:!1}},t,K(J({...r,apiKey:o},`streamSimpleAdobe[openai]`)));for await(let e of a)i.push(e)}else{let n=a({...e,baseUrl:T(),api:`anthropic-messages`},t,K(J(b(e,c(e.id,e.name,{...r,apiKey:o})),`streamSimpleAdobe[anthropic]`)));for await(let e of n)i.push(e)}i.end()}catch(t){console.error(`[adobe] Stream error:`,t instanceof Error?t.message:String(t)),i.push(Y(e,t)),i.end()}})(),i};async function ie(e){try{let t=e??await U(),n=T(),r=await fetch(`${n}/v1/models`,{headers:{Authorization:`Bearer ${t}`,[G]:`3.40.1`}});if(r.ok){let e=await r.json();if(e.data?.length){for(let t of e.data){let e={id:t.id,name:t.name};t.api!==void 0&&(e.api=t.api),t.context_window!==void 0&&(e.context_window=t.context_window),t.max_tokens!==void 0&&(e.max_tokens=t.max_tokens),t.reasoning!==void 0&&(e.reasoning=t.reasoning),t.input!==void 0&&(e.input=t.input),D.set(t.id,e)}let t=new Map;for(let e of s())try{for(let n of o(e))t.set(n.id,n)}catch{}return e.data.map(e=>{let r=t.get(e.id),i=`adobe-${e.api===`openai`?`openai`:`anthropic`}`;return r?{...r,provider:`adobe`,api:i}:{id:e.id,name:e.name??e.id,provider:`adobe`,api:i,baseUrl:n,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputCost:0,outputCost:0,cacheReadCost:0,cacheWriteCost:0,reasoning:!0}})}}else console.warn(`[adobe] Proxy /v1/models returned ${r.status}, falling back to Anthropic models`)}catch(e){console.warn(`[adobe] Failed to fetch proxy models:`,e instanceof Error?e.message:String(e))}return null}var Q=new Map;function ae(){return o(`anthropic`).map(e=>({...e,provider:`adobe`,api:`adobe-anthropic`}))}async function $(e){let t=T(),n=Q.get(t);if(n)return n;let r=await ie(e);return r?(Q.set(t,r),r):ae()}function oe(){r({api:`adobe-anthropic`,stream:X,streamSimple:Z}),r({api:`adobe-openai`,stream:X,streamSimple:Z})}export{re as __resetAdobeSessionIdWarningCacheForTests,B as config,$ as getAdobeModels,U as getValidAccessToken,te as isTokenExpired,oe as register};
@@ -1 +0,0 @@
1
- import{Ct as e}from"./main-BxzufWem.js";var t=e(`agent-bridge`),n=`__slicc_agent`,r=`agent-spawn-request`;function i(){let e={spawn(e){return new Promise((t,n)=>{let i=globalThis.chrome?.runtime;if(!i||typeof i.sendMessage!=`function`){n(Error(`agent: chrome.runtime.sendMessage not available`));return}let a=e=>{let r=i.lastError;if(r){n(Error(r.message??`chrome.runtime error`));return}if(e==null){n(Error(`agent: empty response from offscreen bridge`));return}let a=e;if(!a.ok){n(Error(a.error??`agent: offscreen bridge error`));return}if(!a.result){n(Error(`agent: offscreen bridge returned no result`));return}t(a.result)};try{i.sendMessage({source:`panel`,payload:{type:r,options:e}},a)}catch(e){n(e instanceof Error?e:Error(String(e)))}})}};return globalThis[n]=e,t.info(`agent bridge proxy published on globalThis.__slicc_agent`),e}export{i as publishAgentBridgeProxy};
@@ -1,7 +0,0 @@
1
- import{ht as e}from"./kernel-worker-xMdP33ug.js";const t=new Set([`webhook`,`cron`,`sprinkle`,`fswatch`,`session-reload`,`navigate`,`upgrade`,`scoop-notify`,`scoop-idle`,`scoop-wait`]);function n(e){return e!=null&&t.has(e)}function r(t,n={}){let{source:r=`cone`,idSeed:c=d,hiddenToolNames:l=e}=n,f=[],h=null,g=new Set;for(let e of t){if(i(e)){let t=s(e.content);if(t.length===0)continue;let n=p(t);for(let t of n){if(t.body.length===0&&t.sender==null)continue;let n=t.sender?m(t.sender):null,r={id:c(),role:`user`,content:t.body,timestamp:e.timestamp};n&&(r.source=`lick`,r.channel=n),f.push(r)}h=null;continue}if(a(e)){let t=s(e.content),n=u(e),i=[];for(let e of n)l.has(e.name)?g.add(e.id):i.push(e);let a={id:c(),role:`assistant`,content:t,timestamp:e.timestamp,source:r};i.length>0&&(a.toolCalls=i),f.push(a),h=a;continue}if(o(e)){if(g.has(e.toolCallId))continue;let t=h?.toolCalls?.find(t=>t.id===e.toolCallId);if(!t)continue;t.result=s(e.content),t.isError=e.isError}}return f}function i(e){return e.role===`user`}function a(e){return e.role===`assistant`}function o(e){return e.role===`toolResult`}function s(e){if(typeof e==`string`)return e;if(!Array.isArray(e))return``;let t=[];for(let n of e)c(n)&&t.push(n.text);return t.join(``)}function c(e){return e.type===`text`}function l(e){return e.type===`toolCall`}function u(e){if(!Array.isArray(e.content))return[];let t=[];for(let n of e.content)l(n)&&t.push({id:n.id,name:n.name,input:n.arguments});return t}function d(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function f(e){if(!e.startsWith(`[`))return null;let n=e.indexOf(`] `);if(n<=0||e.lastIndexOf(`
2
- `,n)!==-1)return null;let r=e.slice(n+2);if(r.startsWith(`User: `))return{sender:`User`,body:r.slice(6)};for(let e of t){let t=`${e}:`;if(!r.startsWith(t))continue;let n=r.indexOf(`
3
- `),i=n===-1?r.length:n,a=r.slice(0,i),o=-1,s=a.indexOf(`[`,t.length);if(s>t.length&&(o=a.lastIndexOf(`: `,s)),o<t.length&&(o=r.indexOf(`: `,t.length)),!(o<0||o>=i))return{sender:r.slice(0,o),body:r.slice(o+2)}}let i=r.indexOf(`
4
- `),a=i===-1?r.length:i,o=r.indexOf(`: `);if(o<=0||o>=a)return null;let s=r.slice(0,o);return s.includes(`
5
- `)?null:{sender:s,body:r.slice(o+2)}}function p(e){if(e.length===0)return[];let t=e.split(`
6
- `);if(!t[0].startsWith(`[`))return[{sender:null,body:e}];let n=[],r=null,i=()=>{if(!r)return;let e=r.rest.length>0?`${r.firstLine}\n${r.rest.join(`
7
- `)}`:r.firstLine,t=f(e);t?n.push({sender:t.sender,body:t.body}):n.push({sender:null,body:e}),r=null};for(let e of t){if(e.startsWith(`[`)&&/^\[[^\]\n]+\] /.test(e)&&e.includes(`: `)&&f(e)){i(),r={firstLine:e,rest:[]};continue}r?r.rest.push(e):r={firstLine:e,rest:[]}}return i(),n.length===0?[{sender:null,body:e}]:n}function m(e){let t=e.indexOf(`:`);if(t<=0)return null;let r=e.slice(0,t);return n(r)?r:null}export{r as agentMessagesToChatMessages};
@@ -1 +0,0 @@
1
- import{D as e,M as t,P as n,T as r,X as i,Z as a,d as o,rt as s}from"./kernel-worker-xMdP33ug.js";const c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let t=e(c);if(!t)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let n=t.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:n.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,n){let r=t(e.messages,n,d),i=[];for(let e of r)if(e.role===`user`)if(typeof e.content==`string`)i.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});i.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),r=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));r.length?i.push({role:`assistant`,content:n||null,tool_calls:r}):i.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;i.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return i}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}const g=(e,t,n={})=>{let s=i();return(async()=>{let i={role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,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 u=n.apiKey;if(!u)throw Error(`Azure API key is required`);let d=e.baseUrl;if(!d)throw Error(`Azure endpoint is required`);let g=e.id,_={};e.headers&&Object.assign(_,e.headers),n.headers&&Object.assign(_,n.headers);let v=r(c)||l,y=new o({endpoint:d.replace(/\/+$/,``),apiKey:u,deployment:g,apiVersion:v,dangerouslyAllowBrowser:!0,defaultHeaders:_}),b=[...t.systemPrompt?[{role:`system`,content:t.systemPrompt}]:[],...f(t,e)],x=p(t.tools),S=await y.chat.completions.create({model:g,messages:b,stream:!0,stream_options:{include_usage:!0},...n.maxTokens?{max_completion_tokens:n.maxTokens}:{},...n.temperature===void 0?{}:{temperature:n.temperature},...x?{tools:x}:{}});s.push({type:`start`,partial:i});for await(let t of S){t.usage&&(i.usage.input=t.usage.prompt_tokens??0,i.usage.output=t.usage.completion_tokens??0,i.usage.totalTokens=t.usage.total_tokens??0,a(e,i.usage));for(let e of t.choices??[]){let t=e.delta;if(t){if(t.content){let{block:e,index:n}=m(i);e.text===``&&s.push({type:`text_start`,contentIndex:n,partial:i}),e.text+=t.content,s.push({type:`text_delta`,contentIndex:n,delta:t.content,partial:i})}if(t.tool_calls)for(let e of t.tool_calls){let t=e.id?h(i,e.id):void 0;if(!t&&e.id&&(t={type:`toolCall`,id:e.id,name:e.function?.name??``,arguments:{},_partialJson:``},i.content.push(t),s.push({type:`toolcall_start`,contentIndex:i.content.length-1,partial:i})),t&&e.function?.arguments){t._partialJson+=e.function.arguments;try{t.arguments=JSON.parse(t._partialJson)}catch{}s.push({type:`toolcall_delta`,contentIndex:i.content.indexOf(t),delta:e.function.arguments,partial:i})}}e.finish_reason&&(i.stopReason=e.finish_reason===`tool_calls`?`toolUse`:e.finish_reason===`length`?`length`:`stop`)}}}for(let e of i.content){let t=i.content.indexOf(e);if(e.type===`toolCall`){let n=e;try{n.arguments=JSON.parse(n._partialJson||`{}`)}catch{}delete n._partialJson,s.push({type:`toolcall_end`,contentIndex:t,toolCall:e,partial:i})}else e.type===`text`&&s.push({type:`text_end`,contentIndex:t,content:e.text,partial:i})}s.push({type:`done`,reason:i.stopReason,message:i}),s.end()}catch(e){i.stopReason=n.signal?.aborted?`aborted`:`error`,i.errorMessage=e instanceof Error?e.message:JSON.stringify(e),s.push({type:`error`,reason:i.stopReason,error:i}),s.end()}})(),s},_=(e,t,r)=>{let i=r?.apiKey;if(!i)throw Error(`Azure API key is required`);return g(e,t,{...n(e,r,i)})};function v(){s({api:`azure-openai-anthropic`,stream:g,streamSimple:_})}export{u as config,v as register};
@@ -1 +0,0 @@
1
- import{Bt as e,Kt as t,b as n,l as r,s as i,v as a,zt as o}from"./main-BxzufWem.js";import{t as s}from"./openai-Cn5LRPCm.js";var c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let e=r(c);if(!e)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return t.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:t.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,t){let n=a(e.messages,t,d),r=[];for(let e of n)if(e.role===`user`)if(typeof e.content==`string`)r.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});r.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),i=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));i.length?r.push({role:`assistant`,content:n||null,tool_calls:i}):r.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;r.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return r}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}var g=(t,n,r={})=>{let a=o();return(async()=>{let o={role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,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 u=r.apiKey;if(!u)throw Error(`Azure API key is required`);let d=t.baseUrl;if(!d)throw Error(`Azure endpoint is required`);let g=t.id,_={};t.headers&&Object.assign(_,t.headers),r.headers&&Object.assign(_,r.headers);let v=i(c)||l,y=new s({endpoint:d.replace(/\/+$/,``),apiKey:u,deployment:g,apiVersion:v,dangerouslyAllowBrowser:!0,defaultHeaders:_}),b=[...n.systemPrompt?[{role:`system`,content:n.systemPrompt}]:[],...f(n,t)],x=p(n.tools),S=await y.chat.completions.create({model:g,messages:b,stream:!0,stream_options:{include_usage:!0},...r.maxTokens?{max_completion_tokens:r.maxTokens}:{},...r.temperature===void 0?{}:{temperature:r.temperature},...x?{tools:x}:{}});a.push({type:`start`,partial:o});for await(let n of S){n.usage&&(o.usage.input=n.usage.prompt_tokens??0,o.usage.output=n.usage.completion_tokens??0,o.usage.totalTokens=n.usage.total_tokens??0,e(t,o.usage));for(let e of n.choices??[]){let t=e.delta;if(t){if(t.content){let{block:e,index:n}=m(o);e.text===``&&a.push({type:`text_start`,contentIndex:n,partial:o}),e.text+=t.content,a.push({type:`text_delta`,contentIndex:n,delta:t.content,partial:o})}if(t.tool_calls)for(let e of t.tool_calls){let t=e.id?h(o,e.id):void 0;if(!t&&e.id&&(t={type:`toolCall`,id:e.id,name:e.function?.name??``,arguments:{},_partialJson:``},o.content.push(t),a.push({type:`toolcall_start`,contentIndex:o.content.length-1,partial:o})),t&&e.function?.arguments){t._partialJson+=e.function.arguments;try{t.arguments=JSON.parse(t._partialJson)}catch{}a.push({type:`toolcall_delta`,contentIndex:o.content.indexOf(t),delta:e.function.arguments,partial:o})}}e.finish_reason&&(o.stopReason=e.finish_reason===`tool_calls`?`toolUse`:e.finish_reason===`length`?`length`:`stop`)}}}for(let e of o.content){let t=o.content.indexOf(e);if(e.type===`toolCall`){let n=e;try{n.arguments=JSON.parse(n._partialJson||`{}`)}catch{}delete n._partialJson,a.push({type:`toolcall_end`,contentIndex:t,toolCall:e,partial:o})}else e.type===`text`&&a.push({type:`text_end`,contentIndex:t,content:e.text,partial:o})}a.push({type:`done`,reason:o.stopReason,message:o}),a.end()}catch(e){o.stopReason=r.signal?.aborted?`aborted`:`error`,o.errorMessage=e instanceof Error?e.message:JSON.stringify(e),a.push({type:`error`,reason:o.stopReason,error:o}),a.end()}})(),a},_=(e,t,r)=>{let i=r?.apiKey;if(!i)throw Error(`Azure API key is required`);return g(e,t,{...n(e,r,i)})};function v(){t({api:`azure-openai-anthropic`,stream:g,streamSimple:_})}export{u as config,v as register};
@@ -1 +0,0 @@
1
- import{P as e,Q as t,Y as n,d as r,i,u as a}from"./kernel-worker-xMdP33ug.js";import{n as o,r as s,t as c}from"./openai-responses-shared-DYSAljRs.js";const l=new Set([`openai`,`openai-codex`,`opencode`,`azure-openai-responses`]);function u(e){let t=new Map;if(!e)return t;for(let n of e.split(`,`)){let e=n.trim();if(!e)continue;let[r,i]=e.split(`=`,2);!r||!i||t.set(r.trim(),i.trim())}return t}function d(e,t){return t?.azureDeploymentName?t.azureDeploymentName:u({}.AZURE_OPENAI_DEPLOYMENT_NAME_MAP).get(e.id)||e.id}function f(e){if(e instanceof Error){let t=e.status,n=typeof t==`number`?t:void 0;return n===void 0?e.message:`Azure OpenAI API error (${n}): ${e.message}`}try{return JSON.stringify(e)}catch{return String(e)}}const p=(e,t,r)=>{let i=new n;return(async()=>{let n=d(e,r),o={role:`assistant`,content:[],api:`azure-openai-responses`,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 c=r?.apiKey;if(!c)throw Error(`No API key for provider: ${e.provider}`);let l=v(e,c,r),u=y(e,t,r,n),d=await r?.onPayload?.(u,e);d!==void 0&&(u=d);let f={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:r?.maxRetries??0},{data:p,response:m}=await l.responses.create(u,f).withResponse();if(await r?.onResponse?.({status:m.status,headers:a(m.headers)},e),i.push({type:`start`,partial:o}),await s(p,o,i,e),r?.signal?.aborted)throw Error(`Request was aborted`);if(o.stopReason===`aborted`||o.stopReason===`error`)throw Error(`An unknown error occurred`);i.push({type:`done`,reason:o.stopReason,message:o}),i.end()}catch(e){for(let e of o.content)delete e.index,delete e.partialJson;o.stopReason=r?.signal?.aborted?`aborted`:`error`,o.errorMessage=f(e),i.push({type:`error`,reason:o.stopReason,error:o}),i.end()}})(),i},m=(n,r,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${n.provider}`);let o=e(n,i,a),s=i?.reasoning?t(n,i.reasoning):void 0,c=s===`off`?void 0:s;return p(n,r,{...o,reasoningEffort:c})};function h(e){let t=e.trim().replace(/\/+$/,``),n;try{n=new URL(t)}catch{throw Error(`Invalid Azure OpenAI base URL: ${e}`)}let r=n.hostname.endsWith(`.openai.azure.com`)||n.hostname.endsWith(`.cognitiveservices.azure.com`),i=n.pathname.replace(/\/+$/,``);return r&&(i===``||i===`/`||i===`/openai`)&&(n.pathname=`/openai/v1`,n.search=``),n.toString().replace(/\/+$/,``)}function g(e){return`https://${e}.openai.azure.com/openai/v1`}function _(e,t){let n=t?.azureApiVersion||{}.AZURE_OPENAI_API_VERSION||`v1`,r=t?.azureBaseUrl?.trim()||{}.AZURE_OPENAI_BASE_URL?.trim()||void 0,i=t?.azureResourceName||{}.AZURE_OPENAI_RESOURCE_NAME,a=r;if(!a&&i&&(a=g(i)),!a&&e.baseUrl&&(a=e.baseUrl),!a)throw Error(`Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.`);return{baseUrl:h(a),apiVersion:n}}function v(e,t,n){let i={...e.headers};n?.headers&&Object.assign(i,n.headers);let{baseUrl:a,apiVersion:o}=_(e,n);return new r({apiKey:t,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:i,baseURL:a})}function y(e,t,n,r){let a={model:r,input:c(e,t,l),stream:!0,prompt_cache_key:i(n?.sessionId)};return n?.maxTokens&&(a.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(a.temperature=n?.temperature),t.tools&&t.tools.length>0&&(a.tools=o(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(a.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},a.include=[`reasoning.encrypted_content`]):e.thinkingLevelMap?.off!==null&&(a.reasoning={effort:e.thinkingLevelMap?.off??`none`})),a}export{p as streamAzureOpenAIResponses,m as streamSimpleAzureOpenAIResponses};
@@ -1 +0,0 @@
1
- import{Rt as e,Vt as t,b as n}from"./main-BxzufWem.js";import{t as r}from"./headers-DO1UzNKu.js";import{t as i}from"./openai-Cn5LRPCm.js";import{t as a}from"./openai-prompt-cache-DXo9f3w5.js";import{n as o,r as s,t as c}from"./openai-responses-shared-CsK-8CQH.js";var l=`v1`,u=new Set([`openai`,`openai-codex`,`opencode`,`azure-openai-responses`]);function d(e){let t=new Map;if(!e)return t;for(let n of e.split(`,`)){let e=n.trim();if(!e)continue;let[r,i]=e.split(`=`,2);!r||!i||t.set(r.trim(),i.trim())}return t}function f(e,t){return t?.azureDeploymentName?t.azureDeploymentName:d({}.AZURE_OPENAI_DEPLOYMENT_NAME_MAP).get(e.id)||e.id}function p(e){if(e instanceof Error){let t=e.status,n=typeof t==`number`?t:void 0;return n===void 0?e.message:`Azure OpenAI API error (${n}): ${e.message}`}try{return JSON.stringify(e)}catch{return String(e)}}var m=(t,n,i)=>{let a=new e;return(async()=>{let e=f(t,i),o={role:`assistant`,content:[],api:`azure-openai-responses`,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 c=i?.apiKey;if(!c)throw Error(`No API key for provider: ${t.provider}`);let l=y(t,c,i),u=b(t,n,i,e),d=await i?.onPayload?.(u,t);d!==void 0&&(u=d);let f={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},maxRetries:i?.maxRetries??0},{data:p,response:m}=await l.responses.create(u,f).withResponse();if(await i?.onResponse?.({status:m.status,headers:r(m.headers)},t),a.push({type:`start`,partial:o}),await s(p,o,a,t),i?.signal?.aborted)throw Error(`Request was aborted`);if(o.stopReason===`aborted`||o.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:o.stopReason,message:o}),a.end()}catch(e){for(let e of o.content)delete e.index,delete e.partialJson;o.stopReason=i?.signal?.aborted?`aborted`:`error`,o.errorMessage=p(e),a.push({type:`error`,reason:o.stopReason,error:o}),a.end()}})(),a},h=(e,r,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=n(e,i,a),s=i?.reasoning?t(e,i.reasoning):void 0,c=s===`off`?void 0:s;return m(e,r,{...o,reasoningEffort:c})};function g(e){let t=e.trim().replace(/\/+$/,``),n;try{n=new URL(t)}catch{throw Error(`Invalid Azure OpenAI base URL: ${e}`)}let r=n.hostname.endsWith(`.openai.azure.com`)||n.hostname.endsWith(`.cognitiveservices.azure.com`),i=n.pathname.replace(/\/+$/,``);return r&&(i===``||i===`/`||i===`/openai`)&&(n.pathname=`/openai/v1`,n.search=``),n.toString().replace(/\/+$/,``)}function _(e){return`https://${e}.openai.azure.com/openai/v1`}function v(e,t){let n=t?.azureApiVersion||{}.AZURE_OPENAI_API_VERSION||l,r=t?.azureBaseUrl?.trim()||{}.AZURE_OPENAI_BASE_URL?.trim()||void 0,i=t?.azureResourceName||{}.AZURE_OPENAI_RESOURCE_NAME,a=r;if(!a&&i&&(a=_(i)),!a&&e.baseUrl&&(a=e.baseUrl),!a)throw Error(`Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.`);return{baseUrl:g(a),apiVersion:n}}function y(e,t,n){let r={...e.headers};n?.headers&&Object.assign(r,n.headers);let{baseUrl:a,apiVersion:o}=v(e,n);return new i({apiKey:t,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:r,baseURL:a})}function b(e,t,n,r){let i={model:r,input:c(e,t,u),stream:!0,prompt_cache_key:a(n?.sessionId)};return n?.maxTokens&&(i.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(i.temperature=n?.temperature),t.tools&&t.tools.length>0&&(i.tools=o(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(i.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},i.include=[`reasoning.encrypted_content`]):e.thinkingLevelMap?.off!==null&&(i.reasoning={effort:e.thinkingLevelMap?.off??`none`})),i}export{m as streamAzureOpenAIResponses,h as streamSimpleAzureOpenAIResponses};
@@ -1 +0,0 @@
1
- import{vt as e,yt as t}from"./kernel-worker-xMdP33ug.js";var n=t({DiagnosticPrinter:()=>S,MemoryFileSystem:()=>C,Workspace:()=>w,default:()=>x,initSync:()=>b,main:()=>r});function r(){F.main()}function i(){return{__proto__:null,"./biome_wasm_bg.js":{__proto__:null,__wbg_Error_2e59b1b37a9a34c3:function(e,t){return Error(u(e,t))},__wbg_Number_e6ffdb596c888833:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=h(String(t),F.__wbindgen_malloc,F.__wbindgen_realloc),r=P;l().setInt32(e+4,r,!0),l().setInt32(e+0,n,!0)},__wbg___wbindgen_bigint_get_as_i64_2c5082002e4826e2:function(e,t){let n=t,r=typeof n==`bigint`?n:void 0;l().setBigInt64(e+8,p(r)?BigInt(0):r,!0),l().setInt32(e+0,!p(r),!0)},__wbg___wbindgen_boolean_get_a86c216575a75c30:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return p(n)?16777215:+!!n},__wbg___wbindgen_debug_string_dd5d2d07ce9e6c57:function(e,t){let n=h(s(t),F.__wbindgen_malloc,F.__wbindgen_realloc),r=P;l().setInt32(e+4,r,!0),l().setInt32(e+0,n,!0)},__wbg___wbindgen_in_4bd7a57e54337366:function(e,t){return e in t},__wbg___wbindgen_is_bigint_6c98f7e945dacdde:function(e){return typeof e==`bigint`},__wbg___wbindgen_is_function_49868bde5eb1e745:function(e){return typeof e==`function`},__wbg___wbindgen_is_object_40c5a80572e8f9d3:function(e){let t=e;return typeof t==`object`&&!!t},__wbg___wbindgen_is_string_b29b5c5a8065ba1a:function(e){return typeof e==`string`},__wbg___wbindgen_is_undefined_c0cca72b82b86f4d:function(e){return e===void 0},__wbg___wbindgen_jsval_eq_7d430e744a913d26:function(e,t){return e===t},__wbg___wbindgen_jsval_loose_eq_3a72ae764d46d944:function(e,t){return e==t},__wbg___wbindgen_number_get_7579aab02a8a620c:function(e,t){let n=t,r=typeof n==`number`?n:void 0;l().setFloat64(e+8,p(r)?0:r,!0),l().setInt32(e+0,!p(r),!0)},__wbg___wbindgen_string_get_914df97fcfa788f2:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=p(r)?0:h(r,F.__wbindgen_malloc,F.__wbindgen_realloc),a=P;l().setInt32(e+4,a,!0),l().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_81fc77679af83bc6:function(e,t){throw Error(u(e,t))},__wbg_call_7f2987183bb62793:function(){return f(function(e,t){return e.call(t)},arguments)},__wbg_done_547d467e97529006:function(e){return e.done},__wbg_entries_616b1a459b85be0b:function(e){return Object.entries(e)},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(u(e,t))}finally{F.__wbindgen_free(n,r,1)}},__wbg_get_4848e350b40afc16:function(e,t){return e[t>>>0]},__wbg_get_ed0642c4b9d31ddf:function(){return f(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_unchecked_7d7babe32e9e6a54:function(e,t){return e[t>>>0]},__wbg_get_with_ref_key_6412cf3094599694:function(e,t){return e[t]},__wbg_instanceof_ArrayBuffer_ff7c1337a5e3b33a:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Map_a10a2795ef4bfe97:function(e){let t;try{t=e instanceof Map}catch{t=!1}return t},__wbg_instanceof_Uint8Array_4b8da683deb25d72:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_isArray_db61795ad004c139:function(e){return Array.isArray(e)},__wbg_isSafeInteger_ea83862ba994770c:function(e){return Number.isSafeInteger(e)},__wbg_iterator_de403ef31815a3e6:function(){return Symbol.iterator},__wbg_length_0c32cb8543c8e4c8:function(e){return e.length},__wbg_length_6e821edde497a532:function(e){return e.length},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_new_4f9fafbb3909af72:function(){return{}},__wbg_new_99cabae501c0a8a0:function(){return new Map},__wbg_new_a560378ea1240b14:function(e){return new Uint8Array(e)},__wbg_new_e3b04b4d53d1b593:function(e,t){return Error(u(e,t))},__wbg_new_f3c9df4f38f3f798:function(){return[]},__wbg_next_01132ed6134b8ef5:function(e){return e.next},__wbg_next_b3713ec761a9dbfd:function(){return f(function(e){return e.next()},arguments)},__wbg_now_e7c6795a7f81e10f:function(e){return e.now()},__wbg_performance_3fcf6e32a7e1ed0a:function(e){return e.performance},__wbg_prototypesetcall_3e05eb9545565046:function(e,t,n){Uint8Array.prototype.set.call(c(e,t),n)},__wbg_set_08463b1df38a7e29:function(e,t,n){return e.set(t,n)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_6c60b2e8ad0e9383:function(e,t,n){e[t>>>0]=n},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=h(n,F.__wbindgen_malloc,F.__wbindgen_realloc),i=P;l().setInt32(e+4,i,!0),l().setInt32(e+0,r,!0)},__wbg_static_accessor_GLOBAL_THIS_a1248013d790bf5f:function(){let e=typeof globalThis>`u`?null:globalThis;return p(e)?0:a(e)},__wbg_static_accessor_GLOBAL_f2e0f995a21329ff:function(){let e=typeof globalThis>`u`?null:globalThis;return p(e)?0:a(e)},__wbg_static_accessor_SELF_24f78b6d23f286ea:function(){let e=typeof self>`u`?null:self;return p(e)?0:a(e)},__wbg_static_accessor_WINDOW_59fd959c540fe405:function(){let e=typeof window>`u`?null:window;return p(e)?0:a(e)},__wbg_value_7f6052747ccf940f:function(e){return e.value},__wbindgen_cast_0000000000000001:function(e){return e},__wbindgen_cast_0000000000000002:function(e){return e},__wbindgen_cast_0000000000000003:function(e,t){return u(e,t)},__wbindgen_cast_0000000000000004:function(e){return BigInt.asUintN(64,e)},__wbindgen_init_externref_table:function(){let e=F.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function a(e){let t=F.__externref_table_alloc();return F.__wbindgen_externrefs.set(t,e),t}function o(e,t){if(!(e instanceof t))throw Error(`expected instance of ${t.name}`)}function s(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=s(e[0]));for(let r=1;r<t;r++)n+=`, `+s(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function c(e,t){return e>>>=0,d().subarray(e/1,e/1+t)}function l(){return(O===null||O.buffer.detached===!0||O.buffer.detached===void 0&&O.buffer!==F.memory.buffer)&&(O=new DataView(F.memory.buffer)),O}function u(e,t){return e>>>=0,_(e,t)}function d(){return(k===null||k.byteLength===0)&&(k=new Uint8Array(F.memory.buffer)),k}function f(e,t){try{return e.apply(this,t)}catch(e){let t=a(e);F.__wbindgen_exn_store(t)}}function p(e){return e==null}function m(e,t){let n=t(e.length*1,1)>>>0;return d().set(e,n/1),P=e.length,n}function h(e,t,n){if(n===void 0){let n=N.encode(e),r=t(n.length,1)>>>0;return d().subarray(r,r+n.length).set(n),P=n.length,r}let r=e.length,i=t(r,1)>>>0,a=d(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=d().subarray(i+o,i+r),a=N.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return P=o,i}function g(e){let t=F.__wbindgen_externrefs.get(e);return F.__externref_table_dealloc(e),t}function _(e,t){return M+=t,M>=j&&(A=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),A.decode(),M=t),A.decode(d().subarray(e,e+t))}function v(e,t){return F=e.exports,O=null,k=null,F.__wbindgen_start(),F}async function y(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}function b(e){if(F!==void 0)return F;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module:e}=e:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));let t=i();return e instanceof WebAssembly.Module||(e=new WebAssembly.Module(e)),v(new WebAssembly.Instance(e,t),e)}async function x(e){if(F!==void 0)return F;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(`https://${["unpkg","com"].join(".")}/@biomejs/wasm-web@2.4.16/biome_wasm_bg.wasm`,``+import.meta.url));let t=i();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await y(await e,t);return v(n,r)}var S,C,w,T,E,D,O,k,A,j,M,N,P,F,I=e((()=>{S=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,T.unregister(this),e}free(){let e=this.__destroy_into_raw();F.__wbg_diagnosticprinter_free(e,0)}finish(){let e,t;try{let i=this.__destroy_into_raw(),a=F.diagnosticprinter_finish(i);var n=a[0],r=a[1];if(a[3])throw n=0,r=0,g(a[2]);return e=n,t=r,u(n,r)}finally{F.__wbindgen_free(e,t,1)}}constructor(e,t){let n=h(e,F.__wbindgen_malloc,F.__wbindgen_realloc),r=P,i=h(t,F.__wbindgen_malloc,F.__wbindgen_realloc),a=P,o=F.diagnosticprinter_new(n,r,i,a);return this.__wbg_ptr=o>>>0,T.register(this,this.__wbg_ptr,this),this}print_simple(e){let t=F.diagnosticprinter_print_simple(this.__wbg_ptr,e);if(t[1])throw g(t[0])}print_verbose(e){let t=F.diagnosticprinter_print_verbose(this.__wbg_ptr,e);if(t[1])throw g(t[0])}},Symbol.dispose&&(S.prototype[Symbol.dispose]=S.prototype.free),C=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,E.unregister(this),e}free(){let e=this.__destroy_into_raw();F.__wbg_memoryfilesystem_free(e,0)}insert(e,t){let n=h(e,F.__wbindgen_malloc,F.__wbindgen_realloc),r=P,i=m(t,F.__wbindgen_malloc),a=P;F.memoryfilesystem_insert(this.__wbg_ptr,n,r,i,a)}constructor(){let e=F.memoryfilesystem_new();return this.__wbg_ptr=e>>>0,E.register(this,this.__wbg_ptr,this),this}remove(e){let t=h(e,F.__wbindgen_malloc,F.__wbindgen_realloc),n=P;F.memoryfilesystem_remove(this.__wbg_ptr,t,n)}},Symbol.dispose&&(C.prototype[Symbol.dispose]=C.prototype.free),w=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,D.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,D.unregister(this),e}free(){let e=this.__destroy_into_raw();F.__wbg_workspace_free(e,0)}changeFile(e){let t=F.workspace_changeFile(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}closeFile(e){let t=F.workspace_closeFile(this.__wbg_ptr,e);if(t[1])throw g(t[0])}dropPattern(e){let t=F.workspace_dropPattern(this.__wbg_ptr,e);if(t[1])throw g(t[0])}fileExists(e){let t=F.workspace_fileExists(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return t[0]!==0}fileFeatures(e){let t=F.workspace_fileFeatures(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}fixFile(e){let t=F.workspace_fixFile(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}formatFile(e){let t=F.workspace_formatFile(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}formatOnType(e){let t=F.workspace_formatOnType(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}formatRange(e){let t=F.workspace_formatRange(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}getControlFlowGraph(e){let t,n;try{let a=F.workspace_getControlFlowGraph(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,g(a[2]);return t=r,n=i,u(r,i)}finally{F.__wbindgen_free(t,n,1)}}getFileContent(e){let t,n;try{let a=F.workspace_getFileContent(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,g(a[2]);return t=r,n=i,u(r,i)}finally{F.__wbindgen_free(t,n,1)}}getFormatterIr(e){let t,n;try{let a=F.workspace_getFormatterIr(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,g(a[2]);return t=r,n=i,u(r,i)}finally{F.__wbindgen_free(t,n,1)}}getModuleGraph(e){let t=F.workspace_getModuleGraph(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}getRegisteredTypes(e){let t,n;try{let a=F.workspace_getRegisteredTypes(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,g(a[2]);return t=r,n=i,u(r,i)}finally{F.__wbindgen_free(t,n,1)}}getSemanticModel(e){let t,n;try{let a=F.workspace_getSemanticModel(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,g(a[2]);return t=r,n=i,u(r,i)}finally{F.__wbindgen_free(t,n,1)}}getSyntaxTree(e){let t=F.workspace_getSyntaxTree(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}getTypeInfo(e){let t,n;try{let a=F.workspace_getTypeInfo(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,g(a[2]);return t=r,n=i,u(r,i)}finally{F.__wbindgen_free(t,n,1)}}isPathIgnored(e){let t=F.workspace_isPathIgnored(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return t[0]!==0}constructor(){let e=F.workspace_new();return this.__wbg_ptr=e>>>0,D.register(this,this.__wbg_ptr,this),this}openFile(e){let t=F.workspace_openFile(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}openProject(e){let t=F.workspace_openProject(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}parsePattern(e){let t=F.workspace_parsePattern(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}pullActions(e){let t=F.workspace_pullActions(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}pullDiagnostics(e){let t=F.workspace_pullDiagnostics(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}rename(e){let t=F.workspace_rename(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}scanProject(e){let t=F.workspace_scanProject(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}searchPattern(e){let t=F.workspace_searchPattern(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}updateModuleGraph(e){let t=F.workspace_updateModuleGraph(this.__wbg_ptr,e);if(t[1])throw g(t[0])}updateSettings(e){let t=F.workspace_updateSettings(this.__wbg_ptr,e);if(t[2])throw g(t[1]);return g(t[0])}static withFileSystem(t){o(t,C);let n=F.workspace_withFileSystem(t.__wbg_ptr);return e.__wrap(n)}},Symbol.dispose&&(w.prototype[Symbol.dispose]=w.prototype.free),T=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>F.__wbg_diagnosticprinter_free(e>>>0,1)),E=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>F.__wbg_memoryfilesystem_free(e>>>0,1)),D=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>F.__wbg_workspace_free(e>>>0,1)),O=null,k=null,A=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),A.decode(),j=2146435072,M=0,N=new TextEncoder,`encodeInto`in N||(N.encodeInto=function(e,t){let n=N.encode(e);return t.set(n),{read:e.length,written:n.length}}),P=0}));I();export{x as default,I as n,n as t};
@@ -1 +0,0 @@
1
- import{gt as e}from"./kernel-worker-xMdP33ug.js";function t(e){let t=e;if(t.__sliccWsRouter)return;let n=new Map;function r(e){if(e!==void 0)try{return new RegExp(e)}catch{return null}}function i(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function a(e,t){for(let n of Object.keys(t)){let r=t[n],o=e[n];if(i(r)){if(!i(o)||!a(o,r))return!1;continue}if(!Object.is(o,r))return!1}return!0}function o(e,t){if(t===`text`)return e;try{return JSON.parse(e)}catch{return}}function s(e,t){if(!t||t.length===0||!i(e))return e;let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function c(e,n){let r=t.__sliccWsRouterReport;if(typeof r==`function`)try{r(JSON.stringify({subId:e,payload:n}))}catch{}}function l(e,t){if(n.size!==0)for(let r of n.values()){if(r.urlMatch!==void 0){let t=r._urlMatchRe;if(t===null||t&&!t.test(e))continue}let n=o(t,r.filter?.parseAs);n!==void 0&&(r.filter?.where&&Object.keys(r.filter.where).length>0&&(!i(n)||!a(n,r.filter.where))||c(r.id,s(n,r.filter?.project)))}}let u=new WeakSet;function d(e){u.has(e)||(u.add(e),e.addEventListener(`message`,t=>{if(typeof t.data==`string`)try{l(e.url,t.data)}catch{}}))}let f=e.WebSocket;if(!f)return;let p=f.prototype.send;f.prototype.send=function(e){d(this),p.call(this,e)},Object.defineProperty(t,"__sliccWsRouter",{value:{register(e){n.set(e.id,{...e,_urlMatchRe:r(e.urlMatch)})},update(e,t){let i=n.get(e);if(!i)return;let a={...i,id:e};Object.prototype.hasOwnProperty.call(t,`urlMatch`)&&(t.urlMatch===null?(delete a.urlMatch,a._urlMatchRe=void 0):typeof t.urlMatch==`string`&&(a.urlMatch=t.urlMatch,a._urlMatchRe=r(t.urlMatch))),Object.prototype.hasOwnProperty.call(t,`filter`)&&(t.filter===null?delete a.filter:t.filter!==void 0&&(a.filter=t.filter)),n.set(e,a)},unregister(e){n.delete(e)},_dispatch:l},configurable:!1})}const n=`(${t.toString()})(globalThis);`,r=e(`cdp-ws-page-bridge`),i=`__sliccWsRouterReport`;var a=class{browser;installs=new Map;frameHandler=null;bindingListenerAttached=!1;onBindingCalled=e=>{if(e.name!==i)return;let t=e.payload;if(typeof t!=`string`)return;let n;try{n=JSON.parse(t)}catch{return}if(typeof n!=`object`||!n)return;let a=n.subId;if(typeof a!=`string`)return;let o=n.payload;try{this.frameHandler?.(a,o)}catch(e){r.warn(`frame handler threw`,{subId:a,error:e instanceof Error?e.message:String(e)})}};constructor(e){this.browser=e.browser}async installRouter(e){if(this.installs.has(e))return;this.ensureBindingListener();let t=await this.browser.withTab(e,async()=>{await this.browser.sendCDP(`Runtime.enable`),await this.browser.sendCDP(`Runtime.addBinding`,{name:i});let e=await this.browser.sendCDP(`Page.addScriptToEvaluateOnNewDocument`,{source:n});return await this.browser.sendCDP(`Runtime.evaluate`,{expression:n,returnByValue:!0}),e}),r=typeof t.identifier==`string`?t.identifier:null;this.installs.set(e,{scriptIdentifier:r})}async registerSelector(e,t,n,r){await this.evalRouterCall(e,`register`,{id:t,...n===void 0?{}:{urlMatch:n},...r===void 0?{}:{filter:r}})}async updateSelector(e,t,n,r){await this.browser.withTab(e,async()=>{let e={};n===null?e.urlMatch=null:n!==void 0&&(e.urlMatch=n),r===null?e.filter=null:r!==void 0&&(e.filter=r);let i=`window.__sliccWsRouter && window.__sliccWsRouter.update(${JSON.stringify(t)}, ${JSON.stringify(e)})`;await this.browser.sendCDP(`Runtime.evaluate`,{expression:i,returnByValue:!0})})}async unregisterSelector(e,t){await this.browser.withTab(e,async()=>{let e=`window.__sliccWsRouter && window.__sliccWsRouter.unregister(${JSON.stringify(t)})`;await this.browser.sendCDP(`Runtime.evaluate`,{expression:e,returnByValue:!0})})}onMatchedFrame(e){return this.frameHandler=e,()=>{this.frameHandler===e&&(this.frameHandler=null)}}dispose(){this.bindingListenerAttached&&=(this.browser.getTransport().off(`Runtime.bindingCalled`,this.onBindingCalled),!1),this.installs.clear(),this.frameHandler=null}ensureBindingListener(){this.bindingListenerAttached||=(this.browser.getTransport().on(`Runtime.bindingCalled`,this.onBindingCalled),!0)}async evalRouterCall(e,t,n){await this.browser.withTab(e,async()=>{let e=`window.__sliccWsRouter && window.__sliccWsRouter.${t}(${JSON.stringify(n)})`;await this.browser.sendCDP(`Runtime.evaluate`,{expression:e,returnByValue:!0})})}};export{a as CdpWsPageBridge};
@@ -1 +0,0 @@
1
- import{_t as e}from"./kernel-worker-xMdP33ug.js";var t=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.tryCatchWrapper=n;var t=class extends Error{constructor(e){super(),this.stackTrace=e}};function n(e){try{return e()}catch(e){throw new t(e)}}})),n=e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BiomeCommon=void 0;let n=t();function r(e){return`debug`in e&&e.debug!==void 0}let i=new WeakSet;e.BiomeCommon=class{constructor(e){this.module=e,i.has(e)||(e.main(),i.add(e)),this.workspace=new e.Workspace}shutdown(){this.workspace.free()}applyConfiguration(e,t){(0,n.tryCatchWrapper)(()=>{this.workspace.updateSettings({projectKey:e,configuration:t,workspaceDirectory:`./`})})}openProject(e){return this.workspace.openProject({path:e||``,openUninitialized:!0})}withFile(e,t,r,i){return(0,n.tryCatchWrapper)(()=>{this.workspace.openFile({projectKey:e,content:{type:`fromClient`,content:r,version:0},path:t});try{return i(t)}finally{this.workspace.closeFile({projectKey:e,path:t})}})}formatContent(e,t,n){return this.withFile(e,n.filePath,t,i=>{let a=t,o=this.workspace.pullDiagnostics({projectKey:e,path:i,categories:[`syntax`],pullCodeActions:!1});if(o.errors===0&&(a=n.range?this.workspace.formatRange({projectKey:e,path:i,range:n.range}).code:this.workspace.formatFile({projectKey:e,path:i}).code,r(n))){let t=this.workspace.getFormatterIr({projectKey:e,path:i});return{content:a,diagnostics:o.diagnostics,ir:t}}return{content:a,diagnostics:o.diagnostics}})}lintContent(e,t,{filePath:n,fixFileMode:r}){let i=r?this.withFile(e,n,t,t=>{let{code:n}=this.workspace.fixFile({projectKey:e,path:t,fixFileMode:r,shouldFormat:!1,ruleCategories:[`syntax`,`lint`,`action`]});return n}):t;return this.withFile(e,n,i,t=>{let{diagnostics:n}=this.workspace.pullDiagnostics({projectKey:e,path:t,categories:[`syntax`,`lint`,`action`],pullCodeActions:!1});return{content:i,diagnostics:n}})}printDiagnostics(e,t){return(0,n.tryCatchWrapper)(()=>{let n=new this.module.DiagnosticPrinter(t.filePath,t.fileSource);try{for(let r of e)t.verbose?n.print_verbose(r):n.print_simple(r);return n.finish()}catch(e){throw n.free(),e}})}}}));export{n as t};
@@ -1 +0,0 @@
1
- import"./main-BxzufWem.js";function e(e){}export{e as registerSessionCostsProvider};
@@ -1 +0,0 @@
1
- import{yt as e}from"./kernel-worker-xMdP33ug.js";import{t}from"./rom-eeWiO07Z.js";var n=e({ESP32ROM:()=>r}),r=class extends t{constructor(){super(...arguments),this.CHIP_NAME=`ESP32`,this.IMAGE_CHIP_ID=0,this.EFUSE_RD_REG_BASE=1073061888,this.DR_REG_SYSCON_BASE=1073111040,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612856,this.XTAL_CLK_DIVIDER=1,this.IROM_MAP_START=1074593792,this.IROM_MAP_END=1077936128,this.DROM_MAP_START=1061158912,this.DROM_MAP_END=1065353216,this.MEMORY_MAP=[[0,65536,`PADDING`],[1061158912,1065353216,`DROM`],[1065353216,1069547520,`EXTRAM_DATA`],[1073217536,1073225728,`RTC_DRAM`],[1073283072,1073741824,`BYTE_ACCESSIBLE`],[1073405952,1073741824,`DRAM`],[1073610752,1073741820,`DIRAM_DRAM`],[1073741824,1074200576,`IROM`],[1074200576,1074233344,`CACHE_PRO`],[1074233344,1074266112,`CACHE_APP`],[1074266112,1074397184,`IRAM`],[1074397184,1074528252,`DIRAM_IRAM`],[1074528256,1074536448,`RTC_IRAM`],[1074593792,1077936128,`IROM`],[1342177280,1342185472,`RTC_DATA`]],this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64,"32MB":80,"64MB":96,"128MB":112},this.FLASH_FREQUENCY={"80m":15,"40m":0,"26m":1,"20m":2},this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=4096,this.SPI_REG_BASE=1072963584,this.SPI_USR_OFFS=28,this.SPI_USR1_OFFS=32,this.SPI_USR2_OFFS=36,this.SPI_W0_OFFS=128,this.SPI_MOSI_DLEN_OFFS=40,this.SPI_MISO_DLEN_OFFS=44}async readEfuse(e,t){let n=this.EFUSE_RD_REG_BASE+4*t;return e.debug(`Read efuse `+n),await e.readReg(n)}async getPkgVersion(e){let t=await this.readEfuse(e,3),n=t>>9&7;return n+=(t>>2&1)<<3,n}async getChipRevision(e){let t=await this.readEfuse(e,3),n=await this.readEfuse(e,5),r=await e.readReg(this.DR_REG_SYSCON_BASE+124),i=t>>15&1,a=n>>20&1,o=r>>31&1;return i==0?0:a==0?1:o==0?2:3}async getChipDescription(e){let t=[`ESP32-D0WDQ6`,`ESP32-D0WD`,`ESP32-D2WD`,``,`ESP32-U4WDH`,`ESP32-PICO-D4`,`ESP32-PICO-V3-02`],n=``,r=await this.getPkgVersion(e),i=await this.getChipRevision(e),a=i==3;return await this.readEfuse(e,3)&1&&(t[0]=`ESP32-S0WDQ6`,t[1]=`ESP32-S0WD`),a&&(t[5]=`ESP32-PICO-V3`),n=r>=0&&r<=6?t[r]:`Unknown ESP32`,a&&(r===0||r===1)&&(n+=`-V3`),n+` (revision `+i+`)`}async getChipFeatures(e){let t=[`Wi-Fi`],n=await this.readEfuse(e,3);n&2||t.push(` BT`),n&1?t.push(` Single Core`):t.push(` Dual Core`),n&8192&&(n&4096?t.push(` 160MHz`):t.push(` 240MHz`));let r=await this.getPkgVersion(e);[2,4,5,6].indexOf(r)!==-1&&t.push(` Embedded Flash`),r===6&&t.push(` Embedded PSRAM`),await this.readEfuse(e,4)>>8&31&&t.push(` VRef calibration in efuse`),n>>14&1&&t.push(` BLK3 partially reserved`);let i=await this.readEfuse(e,6)&3;return t.push(` Coding Scheme `+[`None`,`3/4`,`Repeat (UNSUPPORTED)`,`Invalid`][i]),t}async getCrystalFreq(e){let t=await e.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,n=e.transport.baudrate*t/1e6/this.XTAL_CLK_DIVIDER,r;return r=n>33?40:26,Math.abs(r-n)>1&&e.info(`WARNING: Unsupported crystal in use`),r}_d2h(e){let t=(+e).toString(16);return t.length===1?`0`+t:t}async readMac(e){let t=await this.readEfuse(e,1);t>>>=0;let n=await this.readEfuse(e,2);n>>>=0;let r=new Uint8Array(6);return r[0]=n>>8&255,r[1]=n&255,r[2]=t>>24&255,r[3]=t>>16&255,r[4]=t>>8&255,r[5]=t&255,this._d2h(r[0])+`:`+this._d2h(r[1])+`:`+this._d2h(r[2])+`:`+this._d2h(r[3])+`:`+this._d2h(r[4])+`:`+this._d2h(r[5])}};export{n,r as t};
@@ -1 +0,0 @@
1
- import{yt as e}from"./kernel-worker-xMdP33ug.js";import{t}from"./esp32-UFl3lGuU.js";var n=e({ESP32C3ROM:()=>r}),r=class extends t{constructor(){super(...arguments),this.CHIP_NAME=`ESP32-C3`,this.IMAGE_CHIP_ID=5,this.EFUSE_BASE=1610647552,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.IROM_MAP_START=1107296256,this.IROM_MAP_END=1115684864,this.MEMORY_MAP=[[0,65536,`PADDING`],[1006632960,1015021568,`DROM`],[1070071808,1070465024,`DRAM`],[1070104576,1070596096,`BYTE_ACCESSIBLE`],[1072693248,1072824320,`DROM_MASK`],[1073741824,1074135040,`IROM_MASK`],[1107296256,1115684864,`IROM`],[1077395456,1077805056,`IRAM`],[1342177280,1342185472,`RTC_IRAM`],[1342177280,1342185472,`RTC_DRAM`],[1611653120,1611661312,`MEM_INTERNAL2`]]}async getPkgVersion(e){let t=this.EFUSE_BASE+68+12;return await e.readReg(t)>>21&7}async getChipRevision(e){let t=this.EFUSE_BASE+68+12;return(await e.readReg(t)&7<<18)>>18}async getMinorChipVersion(e){let t=this.EFUSE_BASE+68+20,n=await e.readReg(t)>>23&1,r=this.EFUSE_BASE+68+12,i=await e.readReg(r)>>18&7;return(n<<3)+i}async getMajorChipVersion(e){let t=this.EFUSE_BASE+68+20;return await e.readReg(t)>>24&3}async getChipDescription(e){let t={0:`ESP32-C3 (QFN32)`,1:`ESP8685 (QFN28)`,2:`ESP32-C3 AZ (QFN32)`,3:`ESP8686 (QFN24)`},n=await this.getPkgVersion(e),r=await this.getMajorChipVersion(e),i=await this.getMinorChipVersion(e);return`${t[n]||`Unknown ESP32-C3`} (revision v${r}.${i})`}async getFlashCap(e){let t=this.EFUSE_BASE+68+12;return await e.readReg(t)>>27&7}async getFlashVendor(e){let t=this.EFUSE_BASE+68+16;return{1:`XMC`,2:`GD`,3:`FM`,4:`TT`,5:`ZBIT`}[await e.readReg(t)>>0&7]||``}async getChipFeatures(e){let t=[`Wi-Fi`,`BLE`],n={0:null,1:`Embedded Flash 4MB`,2:`Embedded Flash 2MB`,3:`Embedded Flash 1MB`,4:`Embedded Flash 8MB`},r=await this.getFlashCap(e),i=await this.getFlashVendor(e),a=n[r],o=a===void 0?`Unknown Embedded Flash`:a;return a!==null&&t.push(`${o} (${i})`),t}async getCrystalFreq(e){return 40}_d2h(e){let t=(+e).toString(16);return t.length===1?`0`+t:t}async readMac(e){let t=await e.readReg(this.MAC_EFUSE_REG);t>>>=0;let n=await e.readReg(this.MAC_EFUSE_REG+4);n=n>>>0&65535;let r=new Uint8Array(6);return r[0]=n>>8&255,r[1]=n&255,r[2]=t>>24&255,r[3]=t>>16&255,r[4]=t>>8&255,r[5]=t&255,this._d2h(r[0])+`:`+this._d2h(r[1])+`:`+this._d2h(r[2])+`:`+this._d2h(r[3])+`:`+this._d2h(r[4])+`:`+this._d2h(r[5])}getEraseSize(e,t){return t}};export{n,r as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./esptool-operations-BmdDP4Te.js";export{e as ESP8266ROM};
@@ -1 +0,0 @@
1
- import{t as e}from"./esptool-operations-PyMOLbEo.js";export{e as ESP8266ROM};