sliccy 6.99.7 → 6.99.8

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 (272) hide show
  1. package/dist/ui/.vite/manifest.json +389 -614
  2. package/dist/ui/assets/__vite-browser-external-CyeY5rFA.js +1 -0
  3. package/dist/ui/assets/{account-store-y43KgcoW.js → account-store-BHr78r-q.js} +3 -3
  4. package/dist/ui/assets/{account-store-llwJaGRg.js → account-store-DhN2-vXh.js} +5 -5
  5. package/dist/ui/assets/adobe-BgNEArvI.js +2 -0
  6. package/dist/ui/assets/{adobe-C30ITWqR.js → adobe-C-61Gw8p.js} +1 -1
  7. package/dist/ui/assets/agent-panels-DwH4FR7k.js +1 -0
  8. package/dist/ui/assets/{anthropic-messages-DbPJ2ji9.js → anthropic-messages-B7p0objs.js} +1 -1
  9. package/dist/ui/assets/{anthropic-messages-CpSojOI8.js → anthropic-messages-JQYJ-RUq.js} +1 -1
  10. package/dist/ui/assets/{apply-layout-CyFMgsCH.js → apply-layout-DWTxIKYs.js} +1 -1
  11. package/dist/ui/assets/{apps-BaBqMpf9.js → apps-CDrFK--r.js} +1 -1
  12. package/dist/ui/assets/azure-openai-BCHBeybM.js +18 -0
  13. package/dist/ui/assets/azure-openai-C1aiXjjQ.js +18 -0
  14. package/dist/ui/assets/{azure-openai-responses-DUMDrZ29.js → azure-openai-responses-BNbgkULn.js} +1 -1
  15. package/dist/ui/assets/{azure-openai-responses-BcoOaRCx.js → azure-openai-responses-BULcSJeo.js} +1 -1
  16. package/dist/ui/assets/{bedrock-camp-LeceEQbU.js → bedrock-camp-9Mg_YE1C.js} +1 -1
  17. package/dist/ui/assets/{bedrock-camp-BcJEC3Pg.js → bedrock-camp-DP3Gfbz7.js} +1 -1
  18. package/dist/ui/assets/{browser-DdY1FBRp.js → browser-DGwroBSO.js} +3 -3
  19. package/dist/ui/assets/{bsh-watchdog-GrjFkpDG.js → bsh-watchdog--Df_ThJG.js} +1 -1
  20. package/dist/ui/assets/{cdp-ByIHQG_1.js → cdp-BzUC7d2h.js} +1 -1
  21. package/dist/ui/assets/{cerebras-DCOB1GIn.js → cerebras-BWY_xN7G.js} +1 -1
  22. package/dist/ui/assets/{cerebras-Oyxkgl8K.js → cerebras-X5XOc6kT.js} +1 -1
  23. package/dist/ui/assets/{claude-model-version-Csn7RPVg.js → claude-model-version-BXR93nLt.js} +1 -1
  24. package/dist/ui/assets/claude-model-version-D6lCh6G7.js +2 -0
  25. package/dist/ui/assets/{composer-speech-Bqp4MnUW.js → composer-speech-Byuwd2QJ.js} +1 -1
  26. package/dist/ui/assets/{connect-surface-N7OhnOjG.js → connect-surface-BqfnkTNQ.js} +1 -1
  27. package/dist/ui/assets/{cost-command-BQWpaecs.js → cost-command-CwOkolbd.js} +57 -57
  28. package/dist/ui/assets/{dist-_7dnux20.js → dist-BmTb9jmr.js} +1 -1
  29. package/dist/ui/assets/{dist-D7yTTAcb.js → dist-BnDrtqYs.js} +1 -1
  30. package/dist/ui/assets/dist-CMD3ZuiV.js +1 -0
  31. package/dist/ui/assets/{dist-DTAqvnM4.js → dist-CV-6KpFS.js} +1 -1
  32. package/dist/ui/assets/dist-CWHNqkcj.js +1 -0
  33. package/dist/ui/assets/dist-CrVgSn_b.js +6 -0
  34. package/dist/ui/assets/dist-DkG8wgj1.js +23 -0
  35. package/dist/ui/assets/dist-N1MMHRNk.js +18 -0
  36. package/dist/ui/assets/dist-RekgwRC0.js +12 -0
  37. package/dist/ui/assets/{dist-B4LJzMVB.js → dist-kBT87Ea7.js} +11 -11
  38. package/dist/ui/assets/{ensure-speech-assets-CO3wuKjp.js → ensure-speech-assets-Hv5Jwof_.js} +1 -1
  39. package/dist/ui/assets/{es-BDNIRkLU.js → es-BLFevQz4.js} +5 -5
  40. package/dist/ui/assets/{esbuild-wasm-DUOZmSly.js → esbuild-wasm-Dl3vgXvq.js} +2 -2
  41. package/dist/ui/assets/esp8266-1y0C3qJ1.js +1 -0
  42. package/dist/ui/assets/esptool-operations-CiccBbBW.js +12 -0
  43. package/dist/ui/assets/esptool-operations-lUvXx3gs.js +13 -0
  44. package/dist/ui/assets/{follower-navigate-watcher-Dd46El3D.js → follower-navigate-watcher-DRFF6ll0.js} +1 -1
  45. package/dist/ui/assets/fs-qMMHgiDM.js +2 -0
  46. package/dist/ui/assets/{fs-BNz_JyUR.js → fs-tsCmhLpU.js} +1 -1
  47. package/dist/ui/assets/github-CLAenO0m.js +2 -0
  48. package/dist/ui/assets/github-TenSKQL4.js +1 -0
  49. package/dist/ui/assets/{github-copilot-DiPxhMir.js → github-copilot-B-pJOojX.js} +1 -1
  50. package/dist/ui/assets/github-copilot-CvxZKmtr.js +2 -0
  51. package/dist/ui/assets/{github-install-CZSoNGFR.js → github-install-CSrLhUFy.js} +1 -1
  52. package/dist/ui/assets/{github-zip-CrdkhxjH.js → github-zip-KaxQyKKS.js} +1 -1
  53. package/dist/ui/assets/{google-generative-ai-Rjh7hNBV.js → google-generative-ai-DEMR2Ygt.js} +1 -1
  54. package/dist/ui/assets/{google-generative-ai-Dxo91M3n.js → google-generative-ai-ZQ9beFyW.js} +1 -1
  55. package/dist/ui/assets/{google-shared-DQJPCU3d.js → google-shared-B7H0ZrH8.js} +6 -6
  56. package/dist/ui/assets/google-shared-REamLvEm.js +11 -0
  57. package/dist/ui/assets/{google-vertex-DEwkNZJm.js → google-vertex-0C6GT5h4.js} +1 -1
  58. package/dist/ui/assets/{google-vertex-61Jj0dk6.js → google-vertex-DsErHx7o.js} +1 -1
  59. package/dist/ui/assets/handoff-link-BObMRgsx.js +1 -0
  60. package/dist/ui/assets/{hear-Co4TqejW.js → hear-zfLnACrB.js} +1 -1
  61. package/dist/ui/assets/{installer-CufDPCfO.js → installer-VcJEC2uC.js} +1 -1
  62. package/dist/ui/assets/{isomorphic-git-BAj-fLD-.js → isomorphic-git-WdgG3efW.js} +6 -6
  63. package/dist/ui/assets/js-realm-worker-CXQhPnY0.js +40 -0
  64. package/dist/ui/assets/{kernel-worker-DyoLnIZO.js → kernel-worker-BpjE-7BD.js} +421 -428
  65. package/dist/ui/assets/kokoro-BkJ3NLgd.js +4 -0
  66. package/dist/ui/assets/{legacy-api-aliases-oJPAvhVV.js → legacy-api-aliases-BYDhiWyY.js} +1 -1
  67. package/dist/ui/assets/{legacy-api-aliases-BnRqMAef.js → legacy-api-aliases-Dh4ciP2O.js} +1 -1
  68. package/dist/ui/assets/{libesm-BI4UHVqp.js → libesm-BypnjKEL.js} +1 -1
  69. package/dist/ui/assets/{libesm-zfj8k-QN.js → libesm-CSMdpGMF.js} +1 -1
  70. package/dist/ui/assets/lick-manager-CYlek4qq.js +2 -0
  71. package/dist/ui/assets/{lick-ws-bridge-yklVm5en.js → lick-ws-bridge-CdCpPLQn.js} +1 -1
  72. package/dist/ui/assets/{local-llm-DNFbzXTw.js → local-llm-D5B7umV1.js} +1 -1
  73. package/dist/ui/assets/{local-llm-DOnsCe6c.js → local-llm-onyoDvHB.js} +1 -1
  74. package/dist/ui/assets/magick-wasm-266b8ntc.js +43 -0
  75. package/dist/ui/assets/main-DjAHuk3R.js +22 -0
  76. package/dist/ui/assets/{main-cherry-3UVAQhqV.js → main-cherry-C6fqCnLL.js} +1 -1
  77. package/dist/ui/assets/{mount-DhhlMZMN.js → mount-BcopcDTf.js} +1 -1
  78. package/dist/ui/assets/mount-Cr-j5Qvu.js +2 -0
  79. package/dist/ui/assets/{mount-recovery-Dbd9EVjz.js → mount-recovery-DnWemQVb.js} +1 -1
  80. package/dist/ui/assets/{navigation-watcher-OPbGCby9.js → navigation-watcher-DrWMx-B4.js} +1 -1
  81. package/dist/ui/assets/new-session-DagG-ZZy.js +2 -0
  82. package/dist/ui/assets/oauth-bootstrap-CDgbPc25.js +2 -0
  83. package/dist/ui/assets/onboarding-orchestrator-DwBmySbw.js +1 -0
  84. package/dist/ui/assets/openai-BKEGagiR.js +17 -0
  85. package/dist/ui/assets/openai-Bgt_f1Dp.js +17 -0
  86. package/dist/ui/assets/{openai-codex-BI5-lt7L.js → openai-codex-B8nK05u1.js} +1 -1
  87. package/dist/ui/assets/openai-codex-CFHJKZXk.js +1 -0
  88. package/dist/ui/assets/{openai-codex-responses-CPOJeFUY.js → openai-codex-responses-C-nzMgox.js} +1 -1
  89. package/dist/ui/assets/{openai-codex-responses-jQR19NyX.js → openai-codex-responses-CG4v_H6T.js} +1 -1
  90. package/dist/ui/assets/{openai-completions-DGOcowq8.js → openai-completions-CIRx7G9l.js} +2 -2
  91. package/dist/ui/assets/{openai-completions-DGZFJo5D.js → openai-completions-ojba8VM0.js} +2 -2
  92. package/dist/ui/assets/{openai-responses-CDTdSIhv.js → openai-responses-BDRcKCF5.js} +1 -1
  93. package/dist/ui/assets/{openai-responses-bnETPgx9.js → openai-responses-DzwaJ-X-.js} +1 -1
  94. package/dist/ui/assets/openai-responses-shared-BjAQ1eIE.js +10 -0
  95. package/dist/ui/assets/openai-responses-shared-Dg_yfxea.js +10 -0
  96. package/dist/ui/assets/{openrouter-DZhpGJA4.js → openrouter-BQXiRTOg.js} +1 -1
  97. package/dist/ui/assets/openrouter-brhW7dHW.js +1 -0
  98. package/dist/ui/assets/{openrouter-images-C93KT7V_.js → openrouter-images-BAtqv3Im.js} +1 -1
  99. package/dist/ui/assets/{openrouter-images-CiM-JPBO.js → openrouter-images-Du3tMEQa.js} +1 -1
  100. package/dist/ui/assets/openrouter-oauth-DQ7iHoUX.js +1 -0
  101. package/dist/ui/assets/{openrouter-oauth-iFmYGgcr.js → openrouter-oauth-DuIS_qNZ.js} +1 -1
  102. package/dist/ui/assets/panel-rpc-handlers-BBgO_HM3.js +2 -0
  103. package/dist/ui/assets/panelize-shell-DpfBeau6.js +4 -0
  104. package/dist/ui/assets/pdfjs-DAWky37A.js +100 -0
  105. package/dist/ui/assets/{provider-CauMmJra.js → provider-D1IQTDOu.js} +1 -1
  106. package/dist/ui/assets/provider-VbLD3Pa_.js +2 -0
  107. package/dist/ui/assets/{provider-settings-CDR9tmFe.js → provider-settings-D24NB2-U.js} +1 -1
  108. package/dist/ui/assets/provider-store-access-CFkv-yrf.js +1 -0
  109. package/dist/ui/assets/provider-store-access-Dh0tBZso.js +1 -0
  110. package/dist/ui/assets/providers-CZ_sFfrt.js +2 -0
  111. package/dist/ui/assets/{providers-DS7U7ou8.js → providers-PfyMAay1.js} +1 -1
  112. package/dist/ui/assets/{py-realm-worker-B2OTI7Xc.js → py-realm-worker-D1gqcTkl.js} +2 -2
  113. package/dist/ui/assets/{pyodide-CkJHMMSo.js → pyodide-D43YUXvd.js} +2 -2
  114. package/dist/ui/assets/{quick-llm-DSQHsD_0.js → quick-llm-drlxgkUg.js} +1 -1
  115. package/dist/ui/assets/{recovery-screen-dGlemlkP.js → recovery-screen-BccxAWe7.js} +1 -1
  116. package/dist/ui/assets/{redirect-uri-BOpxbXbd.js → redirect-uri-AfF6uLvV.js} +1 -1
  117. package/dist/ui/assets/remote-cdp-transport-DeDqT7I4.js +1 -0
  118. package/dist/ui/assets/remote-sprinkle-vfs-CawR6gXx.js +1 -0
  119. package/dist/ui/assets/{remote-terminal-view-BNWZWMBC.js → remote-terminal-view-D2bRNJcS.js} +2 -2
  120. package/dist/ui/assets/{run-Cll4MnAK.js → run-BIKu737n.js} +1 -1
  121. package/dist/ui/assets/safe-buffer-OLJ0qaLt.js +12 -0
  122. package/dist/ui/assets/safe-buffer-iah92gQe.js +1 -0
  123. package/dist/ui/assets/{setup-feature-flags-remote-rcKrPHk7.js → setup-feature-flags-remote-Dxg6pIkQ.js} +1 -1
  124. package/dist/ui/assets/shared-B9N4MZd0.js +1 -0
  125. package/dist/ui/assets/shared-CPVZc-MN.js +4 -0
  126. package/dist/ui/assets/sidecar-repair-DCvPqdWE.js +1 -0
  127. package/dist/ui/assets/{skills-0Do2e7wj.js → skills-Cc4T1Cfp.js} +1 -1
  128. package/dist/ui/assets/{slicc-diff-DhGIKKqP.js → slicc-diff-DRjxoBYz.js} +1 -1
  129. package/dist/ui/assets/slicc-editor-D-eO_pjd.js +23 -0
  130. package/dist/ui/assets/slicc-editor-Sdfe-_x_.js +1 -0
  131. package/dist/ui/assets/slicc-version-CzfOvAya.js +1 -0
  132. package/dist/ui/assets/speak-BsVaFA0Z.js +3 -0
  133. package/dist/ui/assets/{sprinkle-bridge-C4qw-DTw.js → sprinkle-bridge-e00Na2NA.js} +1 -1
  134. package/dist/ui/assets/{sprinkle-manager-B5T2quSt.js → sprinkle-manager-BqdBktzt.js} +1 -1
  135. package/dist/ui/assets/{sprinkle-renderer-D64E-W2o.js → sprinkle-renderer-C9L5ZRvl.js} +2 -2
  136. package/dist/ui/assets/{sql-wasm-DO685FZu.js → sql-wasm-B7K7OCuB.js} +1 -1
  137. package/dist/ui/assets/{state-BrCP8Eff.js → state-B8PB53C0.js} +1 -1
  138. package/dist/ui/assets/{store-bEWnkux0.js → store-BsTL1Wgg.js} +1 -1
  139. package/dist/ui/assets/{store-C2gM1M-9.js → store-SXMbC-35.js} +1 -1
  140. package/dist/ui/assets/{sudo-D0ZG1KJr.js → sudo-Blo41kLx.js} +1 -1
  141. package/dist/ui/assets/sync-dialog-yRY0wRJj.js +1 -0
  142. package/dist/ui/assets/{temperature-support-B4x2xaWY.js → temperature-support-BVrwHxWv.js} +1 -1
  143. package/dist/ui/assets/{temperature-support-Cpml9LfI.js → temperature-support-LrmsX3ix.js} +1 -1
  144. package/dist/ui/assets/{transformers-env-HIDS8utb.js → transformers-env-_JNZLFlo.js} +1 -1
  145. package/dist/ui/assets/transformers.web-B0gi9Hor.js +39 -0
  146. package/dist/ui/assets/tray-leader-Mq6HIneb.js +1 -0
  147. package/dist/ui/assets/{upgrade-detection-Ckesn3Ns.js → upgrade-detection-DqD1aedt.js} +1 -1
  148. package/dist/ui/assets/voice-reply-B-I-XncI.js +1 -0
  149. package/dist/ui/assets/wc-attach-DgJVZRem.js +13 -0
  150. package/dist/ui/assets/wc-extension-b7ONOPn6.js +2 -0
  151. package/dist/ui/assets/wc-float-label-d3I12c8W.js +1 -0
  152. package/dist/ui/assets/{wc-floatbar-online-tsTifrU7.js → wc-floatbar-online-CFeU9jju.js} +1 -1
  153. package/dist/ui/assets/wc-follower-BU7l80Bf.js +17 -0
  154. package/dist/ui/assets/wc-follower-oauth-DIH7qpbt.js +5 -0
  155. package/dist/ui/assets/wc-live-DL5TcdQ7.js +399 -0
  156. package/dist/ui/assets/wc-nav-DjOpEDo-.js +2 -0
  157. package/dist/ui/assets/wc-onboarding-BeunqMQZ.js +2 -0
  158. package/dist/ui/assets/{wc-permissions-CEmFmdBe.js → wc-permissions-WjSZrbPa.js} +2 -2
  159. package/dist/ui/assets/{wc-placeholder-C1LDJQR7.js → wc-placeholder-mYgmrH75.js} +3 -3
  160. package/dist/ui/assets/{wc-settings-PtFpnkee.js → wc-settings-JfsyJgL9.js} +3 -3
  161. package/dist/ui/assets/{src-B-encLtu.js → wc-shell-B7yZ6nn6.js} +304 -161
  162. package/dist/ui/assets/{wc-shortcut-config-w6fJ0bVB.js → wc-shortcut-config-CRticSXA.js} +2 -2
  163. package/dist/ui/assets/{wc-sprinkles-CeAUkWME.js → wc-sprinkles-D-DWMPsX.js} +2 -2
  164. package/dist/ui/assets/wc-transcript-export-DVjtNvuR.js +2 -0
  165. package/dist/ui/assets/wc-tray-D6joGkUe.js +2 -0
  166. package/dist/ui/assets/welcome-detection-CEmFgOCI.js +1 -0
  167. package/dist/ui/assets/{whisper-session-DzV9Jmfi.js → whisper-session-Ba-J0yyJ.js} +2 -2
  168. package/dist/ui/assets/{xai-grok-DRbKtbML.js → xai-grok-DHRw8xLj.js} +1 -1
  169. package/dist/ui/assets/xai-grok-DIhtpBYR.js +1 -0
  170. package/dist/ui/assets/xterm-B5LH8GIb.css +1 -0
  171. package/dist/ui/assets/xterm-C3BHN0de.js +16 -0
  172. package/dist/ui/index.html +8 -11
  173. package/dist/ui/packages/webapp/index.html +8 -11
  174. package/dist/ui/slicc-diff.js +1 -1
  175. package/dist/ui/slicc-editor.js +1 -1
  176. package/package.json +2 -2
  177. package/dist/ui/assets/__vite-browser-external-CwfFUl-x.js +0 -1
  178. package/dist/ui/assets/adobe-DeM_oCMe.js +0 -2
  179. package/dist/ui/assets/agent-message-to-chat-_cvF5A5g.js +0 -1
  180. package/dist/ui/assets/agent-panels-B92KQapO.js +0 -1
  181. package/dist/ui/assets/azure-openai-B2VLKBwJ.js +0 -18
  182. package/dist/ui/assets/azure-openai-tc52REpx.js +0 -18
  183. package/dist/ui/assets/backend-local-1YuE96fx.js +0 -1
  184. package/dist/ui/assets/chat-session-store-pWb1-jNp.js +0 -1
  185. package/dist/ui/assets/claude-model-version-DoVrYsKi.js +0 -2
  186. package/dist/ui/assets/db-cKsBsMMN.js +0 -1
  187. package/dist/ui/assets/dictation-priming-CNllGgNq.js +0 -1
  188. package/dist/ui/assets/dip-rCM_6Bc6.js +0 -233
  189. package/dist/ui/assets/dist-B6HZAA0r.js +0 -1
  190. package/dist/ui/assets/dist-BHvDPTv0.js +0 -1
  191. package/dist/ui/assets/dist-C56QxoYU.js +0 -18
  192. package/dist/ui/assets/dist-COLaZOxM.js +0 -23
  193. package/dist/ui/assets/dist-CPNmKU6m.js +0 -12
  194. package/dist/ui/assets/dist-Cew647MY.js +0 -12
  195. package/dist/ui/assets/dist-mxmkfALf.js +0 -6
  196. package/dist/ui/assets/esptool-operations-BmdosN6N.js +0 -13
  197. package/dist/ui/assets/esptool-operations-CbgLIJzi.js +0 -12
  198. package/dist/ui/assets/export-provider-BEHTjSYw.js +0 -1
  199. package/dist/ui/assets/follower-presentation-DqBw0YiV.js +0 -1
  200. package/dist/ui/assets/fs-C6heN6Io.js +0 -2
  201. package/dist/ui/assets/github-BES17MG4.js +0 -2
  202. package/dist/ui/assets/github-BnrwrtRn.js +0 -1
  203. package/dist/ui/assets/github-copilot-CzZSdNg_.js +0 -2
  204. package/dist/ui/assets/google-shared-CzJgTu-P.js +0 -11
  205. package/dist/ui/assets/handoff-link-BM4ctkE8.js +0 -1
  206. package/dist/ui/assets/host-command-zx0pt9Np.js +0 -1
  207. package/dist/ui/assets/js-realm-worker-D_8dhTFA.js +0 -40
  208. package/dist/ui/assets/kokoro-Bs5vU5OU.js +0 -4
  209. package/dist/ui/assets/layout-schema-m9_VAwOw.js +0 -1
  210. package/dist/ui/assets/leader-session-events-Iq9N1w56.js +0 -1
  211. package/dist/ui/assets/lick-manager-DFmMezV-.js +0 -2
  212. package/dist/ui/assets/magick-wasm-BpzBj-21.js +0 -43
  213. package/dist/ui/assets/main-CPLi98yu.js +0 -22
  214. package/dist/ui/assets/mount-CvVyowQ-.js +0 -2
  215. package/dist/ui/assets/new-session-BUxTN19q.js +0 -2
  216. package/dist/ui/assets/oauth-bootstrap-BnctKs3I.js +0 -2
  217. package/dist/ui/assets/onboarding-orchestrator-BF4m_3Ig.js +0 -1
  218. package/dist/ui/assets/openai-CjBvzZcB.js +0 -17
  219. package/dist/ui/assets/openai-ZcrxEOGB.js +0 -17
  220. package/dist/ui/assets/openai-codex-ad3likLF.js +0 -1
  221. package/dist/ui/assets/openai-responses-shared-ChgvRZ74.js +0 -10
  222. package/dist/ui/assets/openai-responses-shared-DqJbHrek.js +0 -10
  223. package/dist/ui/assets/openrouter-BfwBtJ0a.js +0 -1
  224. package/dist/ui/assets/openrouter-oauth-D1ocgCDw.js +0 -1
  225. package/dist/ui/assets/panel-registry-CJdOibpf.js +0 -1
  226. package/dist/ui/assets/panel-rpc-handlers-Dj-UnwwI.js +0 -2
  227. package/dist/ui/assets/panelize-shell-Dfx0Qk97.js +0 -4
  228. package/dist/ui/assets/pdfjs-BspLIDsM.js +0 -100
  229. package/dist/ui/assets/provider-3zYFx7pL.js +0 -2
  230. package/dist/ui/assets/provider-settings-CZ97KB3C.js +0 -2
  231. package/dist/ui/assets/provider-store-access-DvHfXiAa.js +0 -2
  232. package/dist/ui/assets/provider-store-access-escWLliN.js +0 -1
  233. package/dist/ui/assets/providers-DJA67z1N.js +0 -2
  234. package/dist/ui/assets/remote-cdp-transport-CgOXLjZ8.js +0 -1
  235. package/dist/ui/assets/remote-sprinkle-vfs-e81pZJKo.js +0 -1
  236. package/dist/ui/assets/safe-buffer-B2wnAhUx.js +0 -12
  237. package/dist/ui/assets/safe-buffer-BwTVRVVo.js +0 -1
  238. package/dist/ui/assets/session-freezer-BgO7tLUp.js +0 -162
  239. package/dist/ui/assets/setup-standalone-prelude-50scBzpK.js +0 -2
  240. package/dist/ui/assets/setup-sudo-Ce_APR8D.js +0 -2
  241. package/dist/ui/assets/shared-6HJLEwgI.js +0 -1
  242. package/dist/ui/assets/shared-BzvvjAZt.js +0 -4
  243. package/dist/ui/assets/sidecar-repair-431vRT2V.js +0 -1
  244. package/dist/ui/assets/slicc-editor-CVftccS9.js +0 -1
  245. package/dist/ui/assets/slicc-editor-DsHp_in-.js +0 -12
  246. package/dist/ui/assets/slicc-version-qJjMq-6R.js +0 -1
  247. package/dist/ui/assets/speak-KEFd3n_I.js +0 -3
  248. package/dist/ui/assets/sync-dialog-ACgl0n-p.js +0 -1
  249. package/dist/ui/assets/timestamp-preference-sKwBl5I8.js +0 -2
  250. package/dist/ui/assets/transformers.web-Cg_-cFJu.js +0 -39
  251. package/dist/ui/assets/tray-leader-iVJTGwuf.js +0 -1
  252. package/dist/ui/assets/tray-sync-protocol-BZ5yhJH9.js +0 -1
  253. package/dist/ui/assets/tray-sync-protocol-DV_QG_Ey.js +0 -1
  254. package/dist/ui/assets/trusted-layer-ghPA1ENf.js +0 -1
  255. package/dist/ui/assets/voice-reply-DaVk8H0o.js +0 -1
  256. package/dist/ui/assets/wc-attach-3I9pOCPA.js +0 -13
  257. package/dist/ui/assets/wc-extension-D1gzObu-.js +0 -2
  258. package/dist/ui/assets/wc-float-label-CCMo81Ds.js +0 -1
  259. package/dist/ui/assets/wc-follower-DrCJN-aK.js +0 -17
  260. package/dist/ui/assets/wc-follower-oauth-Dw0qOLsI.js +0 -5
  261. package/dist/ui/assets/wc-live-qc9mrCs3.js +0 -8
  262. package/dist/ui/assets/wc-nav-CysORJLz.js +0 -2
  263. package/dist/ui/assets/wc-onboarding-COhEMI0E.js +0 -2
  264. package/dist/ui/assets/wc-scoop-color-ShF3p7L9.js +0 -1
  265. package/dist/ui/assets/wc-shell-lFwQe30J.js +0 -119
  266. package/dist/ui/assets/wc-shortcuts-GiPteshM.js +0 -26
  267. package/dist/ui/assets/wc-transcript-export-DKIleW7-.js +0 -2
  268. package/dist/ui/assets/wc-tray-_dof-pAl.js +0 -2
  269. package/dist/ui/assets/welcome-detection-iVN_xL76.js +0 -1
  270. package/dist/ui/assets/xai-grok-BnSpWJjV.js +0 -1
  271. package/dist/ui/assets/xterm-BSL5rRqA.js +0 -18
  272. package/dist/ui/assets/xterm-BmfB5bmM.css +0 -1
@@ -1 +1 @@
1
- import{i as e}from"./diagnostics-DN_idNHx.js";import{n as t,t as n}from"./models-BSkXF4T6.js";import{t as r}from"./provider-env-CTOcDKrQ.js";import{n as i}from"./headers-CbDaTl3c.js";import{t as a}from"./sanitize-unicode-DmIE6hZJ.js";import{i as o}from"./transform-messages-XkZ1QnTb.js";import{n as s,t as c}from"./error-body-pkrba6pf.js";import{a as l,c as u,d,i as f,l as p,n as m,o as h,r as g,s as _,t as v,u as y}from"./google-shared-CzJgTu-P.js";var b=`v1`,x=`gcp-vertex-credentials`,S={THINKING_LEVEL_UNSPECIFIED:d.THINKING_LEVEL_UNSPECIFIED,MINIMAL:d.MINIMAL,LOW:d.LOW,MEDIUM:d.MEDIUM,HIGH:d.HIGH},C=0,w=(t,r,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:`google-vertex`,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{if(i?.fetch&&i.fetch!==globalThis.fetch)throw Error(`Custom fetch is not supported by the Google Vertex adapter`);let o=M(i),s=o?D(t,o,i?.headers):E(t,P(i),F(i),i?.headers,i?.env),c=I(t,r,i),l=await i?.onPayload?.(c,t);l!==void 0&&(c=l);let u=await _(()=>s.models.generateContentStream(c),i);a.push({type:`start`,partial:e});let d=null,p=e.content,m=()=>p.length-1;for await(let r of u){e.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let t of i.content.parts){if(t.text!==void 0){let n=g(t);(!d||n&&d.type!==`thinking`||!n&&d.type!==`text`)&&(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:p.length-1,content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e})),n?(d={type:`thinking`,thinking:``,thinkingSignature:void 0},e.content.push(d),a.push({type:`thinking_start`,contentIndex:m(),partial:e})):(d={type:`text`,text:``},e.content.push(d),a.push({type:`text_start`,contentIndex:m(),partial:e}))),d.type===`thinking`?(d.thinking+=t.text,d.thinkingSignature=h(d.thinkingSignature,t.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:m(),delta:t.text,partial:e})):(d.text+=t.text,d.textSignature=h(d.textSignature,t.thoughtSignature),a.push({type:`text_delta`,contentIndex:m(),delta:t.text,partial:e}))}if(t.functionCall){d&&=(d.type===`text`?a.push({type:`text_end`,contentIndex:m(),content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e}),null);let n=t.functionCall.id,r={type:`toolCall`,id:!n||e.content.some(e=>e.type===`toolCall`&&e.id===n)?`${t.functionCall.name}_${Date.now()}_${++C}`:n,name:t.functionCall.name||``,arguments:t.functionCall.args??{},...t.thoughtSignature&&{thoughtSignature:t.thoughtSignature}};e.content.push(r),a.push({type:`toolcall_start`,contentIndex:m(),partial:e}),a.push({type:`toolcall_delta`,contentIndex:m(),delta:JSON.stringify(r.arguments),partial:e}),a.push({type:`toolcall_end`,contentIndex:m(),toolCall:r,partial:e})}}i?.finishReason&&(e.rawStopReason=i.finishReason,e.stopReason=f(i.finishReason),e.content.some(e=>e.type===`toolCall`)&&e.stopReason===`stop`&&(e.stopReason=`toolUse`)),r.usageMetadata&&(e.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:r.usageMetadata.thoughtsTokenCount||0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},n(t,e.usage))}if(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:m(),content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e})),i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`Google Vertex stream ended without a finish reason`);if(e.stopReason===`aborted`||e.stopReason===`error`){let t=e.rawStopReason?`Provider stopped with: ${e.rawStopReason}`:`An unknown error occurred`;throw Error(t)}a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)`index`in t&&delete t.index;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=c(s(t)),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},T=(e,n,r)=>{let i=o(e,n,r,void 0);if(!r?.reasoning)return w(e,n,{...i,thinking:{enabled:!1}});let a=t(e,r.reasoning),s=a===`off`?`high`:a,c=e;return L(c)||R(c)?w(e,n,{...i,thinking:{enabled:!0,level:B(s,c)}}):w(e,n,{...i,thinking:{enabled:!0,budgetTokens:V(c,s,r.thinkingBudgets)}})};function E(e,t,n,r,i){let a=j(i);return new p({vertexai:!0,project:t,location:n,apiVersion:b,...a?{googleAuthOptions:a}:{},httpOptions:O(e,r)})}function D(e,t,n){return new p({vertexai:!0,apiKey:t,apiVersion:b,httpOptions:O(e,n)})}function O(e,t){let n={},r=k(e.baseUrl);r&&(n.baseUrl=r,n.baseUrlResourceScope=y.COLLECTION,A(r)&&(n.apiVersion=``));let a=i({...e.headers,...t});return a&&(n.headers=a),Object.keys(n).length>0?n:void 0}function k(e){let t=e.trim();if(!(!t||t.includes(`{location}`)))return t}function A(e){try{return new URL(e).pathname.split(`/`).some(e=>/^v\d+(?:beta\d*)?$/.test(e))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function j(e){let t=r(`GOOGLE_APPLICATION_CREDENTIALS`,e);return t?{keyFilename:t}:void 0}function M(e){let t=e?.apiKey?.trim();if(!(!t||t===x||N(t)))return t}function N(e){return/^<[^>]+>$/.test(e)}function P(e){let t=e?.project||r(`GOOGLE_CLOUD_PROJECT`,e?.env)||r(`GCLOUD_PROJECT`,e?.env);if(!t)throw Error(`Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.`);return t}function F(e){let t=e?.location||r(`GOOGLE_CLOUD_LOCATION`,e?.env);if(!t)throw Error(`Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.`);return t}function I(e,t,n={}){let r=v(e,t),i={};n.temperature!==void 0&&(i.temperature=n.temperature),n.maxTokens!==void 0&&(i.maxOutputTokens=n.maxTokens);let o=u(e.id),s=t.tools?.length?l(t.tools,n.toolChoice,o):void 0,c={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:a(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:m(t.tools,!1,o)},...s!==void 0&&{toolConfig:{functionCallingConfig:{mode:s}}}};if(n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=S[n.thinking.level],c.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(c.thinkingConfig=z(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);c.abortSignal=n.signal}return{model:e.id,contents:r,config:c}}function L(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function R(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t===`gemini-flash-latest`||t===`gemini-flash-lite-latest`}function z(e){let t=e;return L(t)?{thinkingLevel:d.LOW}:R(t)?{thinkingLevel:d.MINIMAL}:{thinkingBudget:0}}function B(e,t){if(L(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function V(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{w as stream,T as streamSimple};
1
+ import{i as e}from"./diagnostics-DN_idNHx.js";import{n as t,t as n}from"./models-BSkXF4T6.js";import{t as r}from"./provider-env-CTOcDKrQ.js";import{n as i}from"./headers-CbDaTl3c.js";import{t as a}from"./sanitize-unicode-DmIE6hZJ.js";import{i as o}from"./transform-messages-XkZ1QnTb.js";import{n as s,t as c}from"./error-body-pkrba6pf.js";import{a as l,c as u,d,i as f,l as p,n as m,o as h,r as g,s as _,t as v,u as y}from"./google-shared-REamLvEm.js";var b=`v1`,x=`gcp-vertex-credentials`,S={THINKING_LEVEL_UNSPECIFIED:d.THINKING_LEVEL_UNSPECIFIED,MINIMAL:d.MINIMAL,LOW:d.LOW,MEDIUM:d.MEDIUM,HIGH:d.HIGH},C=0,w=(t,r,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:`google-vertex`,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{if(i?.fetch&&i.fetch!==globalThis.fetch)throw Error(`Custom fetch is not supported by the Google Vertex adapter`);let o=M(i),s=o?D(t,o,i?.headers):E(t,P(i),F(i),i?.headers,i?.env),c=I(t,r,i),l=await i?.onPayload?.(c,t);l!==void 0&&(c=l);let u=await _(()=>s.models.generateContentStream(c),i);a.push({type:`start`,partial:e});let d=null,p=e.content,m=()=>p.length-1;for await(let r of u){e.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let t of i.content.parts){if(t.text!==void 0){let n=g(t);(!d||n&&d.type!==`thinking`||!n&&d.type!==`text`)&&(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:p.length-1,content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e})),n?(d={type:`thinking`,thinking:``,thinkingSignature:void 0},e.content.push(d),a.push({type:`thinking_start`,contentIndex:m(),partial:e})):(d={type:`text`,text:``},e.content.push(d),a.push({type:`text_start`,contentIndex:m(),partial:e}))),d.type===`thinking`?(d.thinking+=t.text,d.thinkingSignature=h(d.thinkingSignature,t.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:m(),delta:t.text,partial:e})):(d.text+=t.text,d.textSignature=h(d.textSignature,t.thoughtSignature),a.push({type:`text_delta`,contentIndex:m(),delta:t.text,partial:e}))}if(t.functionCall){d&&=(d.type===`text`?a.push({type:`text_end`,contentIndex:m(),content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e}),null);let n=t.functionCall.id,r={type:`toolCall`,id:!n||e.content.some(e=>e.type===`toolCall`&&e.id===n)?`${t.functionCall.name}_${Date.now()}_${++C}`:n,name:t.functionCall.name||``,arguments:t.functionCall.args??{},...t.thoughtSignature&&{thoughtSignature:t.thoughtSignature}};e.content.push(r),a.push({type:`toolcall_start`,contentIndex:m(),partial:e}),a.push({type:`toolcall_delta`,contentIndex:m(),delta:JSON.stringify(r.arguments),partial:e}),a.push({type:`toolcall_end`,contentIndex:m(),toolCall:r,partial:e})}}i?.finishReason&&(e.rawStopReason=i.finishReason,e.stopReason=f(i.finishReason),e.content.some(e=>e.type===`toolCall`)&&e.stopReason===`stop`&&(e.stopReason=`toolUse`)),r.usageMetadata&&(e.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:r.usageMetadata.thoughtsTokenCount||0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},n(t,e.usage))}if(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:m(),content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e})),i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`Google Vertex stream ended without a finish reason`);if(e.stopReason===`aborted`||e.stopReason===`error`){let t=e.rawStopReason?`Provider stopped with: ${e.rawStopReason}`:`An unknown error occurred`;throw Error(t)}a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)`index`in t&&delete t.index;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=c(s(t)),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},T=(e,n,r)=>{let i=o(e,n,r,void 0);if(!r?.reasoning)return w(e,n,{...i,thinking:{enabled:!1}});let a=t(e,r.reasoning),s=a===`off`?`high`:a,c=e;return L(c)||R(c)?w(e,n,{...i,thinking:{enabled:!0,level:B(s,c)}}):w(e,n,{...i,thinking:{enabled:!0,budgetTokens:V(c,s,r.thinkingBudgets)}})};function E(e,t,n,r,i){let a=j(i);return new p({vertexai:!0,project:t,location:n,apiVersion:b,...a?{googleAuthOptions:a}:{},httpOptions:O(e,r)})}function D(e,t,n){return new p({vertexai:!0,apiKey:t,apiVersion:b,httpOptions:O(e,n)})}function O(e,t){let n={},r=k(e.baseUrl);r&&(n.baseUrl=r,n.baseUrlResourceScope=y.COLLECTION,A(r)&&(n.apiVersion=``));let a=i({...e.headers,...t});return a&&(n.headers=a),Object.keys(n).length>0?n:void 0}function k(e){let t=e.trim();if(!(!t||t.includes(`{location}`)))return t}function A(e){try{return new URL(e).pathname.split(`/`).some(e=>/^v\d+(?:beta\d*)?$/.test(e))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function j(e){let t=r(`GOOGLE_APPLICATION_CREDENTIALS`,e);return t?{keyFilename:t}:void 0}function M(e){let t=e?.apiKey?.trim();if(!(!t||t===x||N(t)))return t}function N(e){return/^<[^>]+>$/.test(e)}function P(e){let t=e?.project||r(`GOOGLE_CLOUD_PROJECT`,e?.env)||r(`GCLOUD_PROJECT`,e?.env);if(!t)throw Error(`Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.`);return t}function F(e){let t=e?.location||r(`GOOGLE_CLOUD_LOCATION`,e?.env);if(!t)throw Error(`Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.`);return t}function I(e,t,n={}){let r=v(e,t),i={};n.temperature!==void 0&&(i.temperature=n.temperature),n.maxTokens!==void 0&&(i.maxOutputTokens=n.maxTokens);let o=u(e.id),s=t.tools?.length?l(t.tools,n.toolChoice,o):void 0,c={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:a(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:m(t.tools,!1,o)},...s!==void 0&&{toolConfig:{functionCallingConfig:{mode:s}}}};if(n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=S[n.thinking.level],c.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(c.thinkingConfig=z(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);c.abortSignal=n.signal}return{model:e.id,contents:r,config:c}}function L(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function R(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t===`gemini-flash-latest`||t===`gemini-flash-lite-latest`}function z(e){let t=e;return L(t)?{thinkingLevel:d.LOW}:R(t)?{thinkingLevel:d.MINIMAL}:{thinkingBudget:0}}function B(e,t){if(L(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function V(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{w as stream,T as streamSimple};
@@ -1 +1 @@
1
- import{i as e}from"./diagnostics-DN_idNHx.js";import{n as t,t as n}from"./models-4WTk3EBD.js";import{t as r}from"./provider-env-CILujRmO.js";import{n as i}from"./headers-CbDaTl3c.js";import{t as a}from"./sanitize-unicode-DmIE6hZJ.js";import{i as o}from"./transform-messages-DZg9zDcV.js";import{n as s,t as c}from"./error-body-pkrba6pf.js";import{a as l,c as u,d,i as f,l as p,n as m,o as h,r as g,s as _,t as v,u as y}from"./google-shared-DQJPCU3d.js";const b={THINKING_LEVEL_UNSPECIFIED:d.THINKING_LEVEL_UNSPECIFIED,MINIMAL:d.MINIMAL,LOW:d.LOW,MEDIUM:d.MEDIUM,HIGH:d.HIGH};let x=0;const S=(t,r,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:`google-vertex`,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{if(i?.fetch&&i.fetch!==globalThis.fetch)throw Error(`Custom fetch is not supported by the Google Vertex adapter`);let o=A(i),s=o?T(t,o,i?.headers):w(t,M(i),N(i),i?.headers,i?.env),c=P(t,r,i),l=await i?.onPayload?.(c,t);l!==void 0&&(c=l);let u=await _(()=>s.models.generateContentStream(c),i);a.push({type:`start`,partial:e});let d=null,p=e.content,m=()=>p.length-1;for await(let r of u){e.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let t of i.content.parts){if(t.text!==void 0){let n=g(t);(!d||n&&d.type!==`thinking`||!n&&d.type!==`text`)&&(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:p.length-1,content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e})),n?(d={type:`thinking`,thinking:``,thinkingSignature:void 0},e.content.push(d),a.push({type:`thinking_start`,contentIndex:m(),partial:e})):(d={type:`text`,text:``},e.content.push(d),a.push({type:`text_start`,contentIndex:m(),partial:e}))),d.type===`thinking`?(d.thinking+=t.text,d.thinkingSignature=h(d.thinkingSignature,t.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:m(),delta:t.text,partial:e})):(d.text+=t.text,d.textSignature=h(d.textSignature,t.thoughtSignature),a.push({type:`text_delta`,contentIndex:m(),delta:t.text,partial:e}))}if(t.functionCall){d&&=(d.type===`text`?a.push({type:`text_end`,contentIndex:m(),content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e}),null);let n=t.functionCall.id,r={type:`toolCall`,id:!n||e.content.some(e=>e.type===`toolCall`&&e.id===n)?`${t.functionCall.name}_${Date.now()}_${++x}`:n,name:t.functionCall.name||``,arguments:t.functionCall.args??{},...t.thoughtSignature&&{thoughtSignature:t.thoughtSignature}};e.content.push(r),a.push({type:`toolcall_start`,contentIndex:m(),partial:e}),a.push({type:`toolcall_delta`,contentIndex:m(),delta:JSON.stringify(r.arguments),partial:e}),a.push({type:`toolcall_end`,contentIndex:m(),toolCall:r,partial:e})}}i?.finishReason&&(e.rawStopReason=i.finishReason,e.stopReason=f(i.finishReason),e.content.some(e=>e.type===`toolCall`)&&e.stopReason===`stop`&&(e.stopReason=`toolUse`)),r.usageMetadata&&(e.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:r.usageMetadata.thoughtsTokenCount||0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},n(t,e.usage))}if(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:m(),content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e})),i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`Google Vertex stream ended without a finish reason`);if(e.stopReason===`aborted`||e.stopReason===`error`){let t=e.rawStopReason?`Provider stopped with: ${e.rawStopReason}`:`An unknown error occurred`;throw Error(t)}a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)`index`in t&&delete t.index;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=c(s(t)),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},C=(e,n,r)=>{let i=o(e,n,r,void 0);if(!r?.reasoning)return S(e,n,{...i,thinking:{enabled:!1}});let a=t(e,r.reasoning),s=a===`off`?`high`:a,c=e;return F(c)||I(c)?S(e,n,{...i,thinking:{enabled:!0,level:R(s,c)}}):S(e,n,{...i,thinking:{enabled:!0,budgetTokens:z(c,s,r.thinkingBudgets)}})};function w(e,t,n,r,i){let a=k(i);return new p({vertexai:!0,project:t,location:n,apiVersion:`v1`,...a?{googleAuthOptions:a}:{},httpOptions:E(e,r)})}function T(e,t,n){return new p({vertexai:!0,apiKey:t,apiVersion:`v1`,httpOptions:E(e,n)})}function E(e,t){let n={},r=D(e.baseUrl);r&&(n.baseUrl=r,n.baseUrlResourceScope=y.COLLECTION,O(r)&&(n.apiVersion=``));let a=i({...e.headers,...t});return a&&(n.headers=a),Object.keys(n).length>0?n:void 0}function D(e){let t=e.trim();if(!(!t||t.includes(`{location}`)))return t}function O(e){try{return new URL(e).pathname.split(`/`).some(e=>/^v\d+(?:beta\d*)?$/.test(e))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function k(e){let t=r(`GOOGLE_APPLICATION_CREDENTIALS`,e);return t?{keyFilename:t}:void 0}function A(e){let t=e?.apiKey?.trim();if(!(!t||t===`gcp-vertex-credentials`||j(t)))return t}function j(e){return/^<[^>]+>$/.test(e)}function M(e){let t=e?.project||r(`GOOGLE_CLOUD_PROJECT`,e?.env)||r(`GCLOUD_PROJECT`,e?.env);if(!t)throw Error(`Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.`);return t}function N(e){let t=e?.location||r(`GOOGLE_CLOUD_LOCATION`,e?.env);if(!t)throw Error(`Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.`);return t}function P(e,t,n={}){let r=v(e,t),i={};n.temperature!==void 0&&(i.temperature=n.temperature),n.maxTokens!==void 0&&(i.maxOutputTokens=n.maxTokens);let o=u(e.id),s=t.tools?.length?l(t.tools,n.toolChoice,o):void 0,c={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:a(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:m(t.tools,!1,o)},...s!==void 0&&{toolConfig:{functionCallingConfig:{mode:s}}}};if(n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=b[n.thinking.level],c.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(c.thinkingConfig=L(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);c.abortSignal=n.signal}return{model:e.id,contents:r,config:c}}function F(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function I(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t===`gemini-flash-latest`||t===`gemini-flash-lite-latest`}function L(e){let t=e;return F(t)?{thinkingLevel:d.LOW}:I(t)?{thinkingLevel:d.MINIMAL}:{thinkingBudget:0}}function R(e,t){if(F(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function z(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{S as stream,C as streamSimple};
1
+ import{i as e}from"./diagnostics-DN_idNHx.js";import{n as t,t as n}from"./models-4WTk3EBD.js";import{t as r}from"./provider-env-CILujRmO.js";import{n as i}from"./headers-CbDaTl3c.js";import{t as a}from"./sanitize-unicode-DmIE6hZJ.js";import{i as o}from"./transform-messages-DZg9zDcV.js";import{n as s,t as c}from"./error-body-pkrba6pf.js";import{a as l,c as u,d,i as f,l as p,n as m,o as h,r as g,s as _,t as v,u as y}from"./google-shared-B7H0ZrH8.js";const b={THINKING_LEVEL_UNSPECIFIED:d.THINKING_LEVEL_UNSPECIFIED,MINIMAL:d.MINIMAL,LOW:d.LOW,MEDIUM:d.MEDIUM,HIGH:d.HIGH};let x=0;const S=(t,r,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:`google-vertex`,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{if(i?.fetch&&i.fetch!==globalThis.fetch)throw Error(`Custom fetch is not supported by the Google Vertex adapter`);let o=A(i),s=o?T(t,o,i?.headers):w(t,M(i),N(i),i?.headers,i?.env),c=P(t,r,i),l=await i?.onPayload?.(c,t);l!==void 0&&(c=l);let u=await _(()=>s.models.generateContentStream(c),i);a.push({type:`start`,partial:e});let d=null,p=e.content,m=()=>p.length-1;for await(let r of u){e.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let t of i.content.parts){if(t.text!==void 0){let n=g(t);(!d||n&&d.type!==`thinking`||!n&&d.type!==`text`)&&(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:p.length-1,content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e})),n?(d={type:`thinking`,thinking:``,thinkingSignature:void 0},e.content.push(d),a.push({type:`thinking_start`,contentIndex:m(),partial:e})):(d={type:`text`,text:``},e.content.push(d),a.push({type:`text_start`,contentIndex:m(),partial:e}))),d.type===`thinking`?(d.thinking+=t.text,d.thinkingSignature=h(d.thinkingSignature,t.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:m(),delta:t.text,partial:e})):(d.text+=t.text,d.textSignature=h(d.textSignature,t.thoughtSignature),a.push({type:`text_delta`,contentIndex:m(),delta:t.text,partial:e}))}if(t.functionCall){d&&=(d.type===`text`?a.push({type:`text_end`,contentIndex:m(),content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e}),null);let n=t.functionCall.id,r={type:`toolCall`,id:!n||e.content.some(e=>e.type===`toolCall`&&e.id===n)?`${t.functionCall.name}_${Date.now()}_${++x}`:n,name:t.functionCall.name||``,arguments:t.functionCall.args??{},...t.thoughtSignature&&{thoughtSignature:t.thoughtSignature}};e.content.push(r),a.push({type:`toolcall_start`,contentIndex:m(),partial:e}),a.push({type:`toolcall_delta`,contentIndex:m(),delta:JSON.stringify(r.arguments),partial:e}),a.push({type:`toolcall_end`,contentIndex:m(),toolCall:r,partial:e})}}i?.finishReason&&(e.rawStopReason=i.finishReason,e.stopReason=f(i.finishReason),e.content.some(e=>e.type===`toolCall`)&&e.stopReason===`stop`&&(e.stopReason=`toolUse`)),r.usageMetadata&&(e.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:r.usageMetadata.thoughtsTokenCount||0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},n(t,e.usage))}if(d&&(d.type===`text`?a.push({type:`text_end`,contentIndex:m(),content:d.text,partial:e}):a.push({type:`thinking_end`,contentIndex:m(),content:d.thinking,partial:e})),i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`Google Vertex stream ended without a finish reason`);if(e.stopReason===`aborted`||e.stopReason===`error`){let t=e.rawStopReason?`Provider stopped with: ${e.rawStopReason}`:`An unknown error occurred`;throw Error(t)}a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)`index`in t&&delete t.index;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=c(s(t)),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},C=(e,n,r)=>{let i=o(e,n,r,void 0);if(!r?.reasoning)return S(e,n,{...i,thinking:{enabled:!1}});let a=t(e,r.reasoning),s=a===`off`?`high`:a,c=e;return F(c)||I(c)?S(e,n,{...i,thinking:{enabled:!0,level:R(s,c)}}):S(e,n,{...i,thinking:{enabled:!0,budgetTokens:z(c,s,r.thinkingBudgets)}})};function w(e,t,n,r,i){let a=k(i);return new p({vertexai:!0,project:t,location:n,apiVersion:`v1`,...a?{googleAuthOptions:a}:{},httpOptions:E(e,r)})}function T(e,t,n){return new p({vertexai:!0,apiKey:t,apiVersion:`v1`,httpOptions:E(e,n)})}function E(e,t){let n={},r=D(e.baseUrl);r&&(n.baseUrl=r,n.baseUrlResourceScope=y.COLLECTION,O(r)&&(n.apiVersion=``));let a=i({...e.headers,...t});return a&&(n.headers=a),Object.keys(n).length>0?n:void 0}function D(e){let t=e.trim();if(!(!t||t.includes(`{location}`)))return t}function O(e){try{return new URL(e).pathname.split(`/`).some(e=>/^v\d+(?:beta\d*)?$/.test(e))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function k(e){let t=r(`GOOGLE_APPLICATION_CREDENTIALS`,e);return t?{keyFilename:t}:void 0}function A(e){let t=e?.apiKey?.trim();if(!(!t||t===`gcp-vertex-credentials`||j(t)))return t}function j(e){return/^<[^>]+>$/.test(e)}function M(e){let t=e?.project||r(`GOOGLE_CLOUD_PROJECT`,e?.env)||r(`GCLOUD_PROJECT`,e?.env);if(!t)throw Error(`Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.`);return t}function N(e){let t=e?.location||r(`GOOGLE_CLOUD_LOCATION`,e?.env);if(!t)throw Error(`Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.`);return t}function P(e,t,n={}){let r=v(e,t),i={};n.temperature!==void 0&&(i.temperature=n.temperature),n.maxTokens!==void 0&&(i.maxOutputTokens=n.maxTokens);let o=u(e.id),s=t.tools?.length?l(t.tools,n.toolChoice,o):void 0,c={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:a(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:m(t.tools,!1,o)},...s!==void 0&&{toolConfig:{functionCallingConfig:{mode:s}}}};if(n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=b[n.thinking.level],c.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(c.thinkingConfig=L(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);c.abortSignal=n.signal}return{model:e.id,contents:r,config:c}}function F(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function I(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t===`gemini-flash-latest`||t===`gemini-flash-lite-latest`}function L(e){let t=e;return F(t)?{thinkingLevel:d.LOW}:I(t)?{thinkingLevel:d.MINIMAL}:{thinkingBudget:0}}function R(e,t){if(F(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function z(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{S as stream,C as streamSimple};
@@ -0,0 +1 @@
1
+ import{l as e}from"./src-CAWTvdAa.js";function t(e,t){if(e==null)return[];let c;if(Array.isArray(e))c=e.join(`, `).replace(/\n/g,`, `);else if(typeof e==`string`)c=e.replace(/\n/g,`, `);else return[];if(c.length===0)return[];let l=[],u=c.length,d=0;for(;d<u&&(d=n(c,d),!(d>=u));){if(c[d]!==`<`){d=i(c,d);continue}let e=c.indexOf(`>`,d+1);if(e===-1)break;let f=c.slice(d+1,e);d=e+1;let p=[];for(;d<u&&(d=n(c,d),!(d>=u));){if(c[d]===`,`){d++;break}if(c[d]!==`;`){d=i(c,d);break}d++,d=n(c,d);let e=d;for(;d<u&&o(c.charCodeAt(d));)d++;if(d<u&&c[d]===`*`&&d++,e===d){d=i(c,d);break}let t=c.slice(e,d).toLowerCase();d=n(c,d);let s=``;if(d<u&&c[d]===`=`){if(d++,d=n(c,d),d<u&&c[d]===`"`){let e=a(c,d);s=e.value,d=e.end}else{let e=d;for(;d<u&&c[d]!==`;`&&c[d]!==`,`&&!r(c[d]);)d++;s=c.slice(e,d)}}p.push([t,s])}let m=s(f,p,t);m&&l.push(m)}return l}function n(e,t){for(;t<e.length&&(e[t]===` `||e[t]===` `);)t++;return t}function r(e){return e===` `||e===` `}function i(e,t){let n=!1;for(;t<e.length;){let r=e[t];if(n){if(r===`\\`&&t+1<e.length){t+=2;continue}r===`"`&&(n=!1)}else if(r===`"`)n=!0;else if(r===`,`)return t+1;t++}return t}function a(e,t){t++;let n=``;for(;t<e.length;){let r=e[t];if(r===`\\`)t++,t<e.length&&(n+=e[t],t++);else if(r===`"`)return{value:n,end:t+1};else n+=r,t++}return{value:n,end:t}}function o(e){if(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)return!0;switch(e){case 33:case 35:case 36:case 37:case 38:case 39:case 42:case 43:case 45:case 46:case 94:case 95:case 96:case 124:case 126:return!0}return!1}function s(e,t,n){let r={},i={};for(let[e,n]of t){if(e.endsWith(`*`)){let t=l(n);t!=null&&(i[e.slice(0,-1)]=t);continue}e===`rel`&&`rel`in r||(r[e]=n)}for(let[e,t]of Object.entries(i))r[e]=t;let a=c(e,n),o=r.anchor==null?void 0:c(r.anchor,n),s={href:a,rel:(r.rel??``).split(/[ \t]+/).filter(e=>e.length>0),params:r};return o!=null&&(s.anchor=o),r.type!=null&&(s.type=r.type),r.title!=null&&(s.title=r.title),r.hreflang!=null&&(s.hreflang=r.hreflang),s}function c(e,t){if(!t)return e;try{return new URL(e,t).toString()}catch{return e}}function l(e){let t=e.indexOf(`'`);if(t===-1)return null;let n=e.indexOf(`'`,t+1);if(n===-1||e.slice(0,t).toLowerCase()!==`utf-8`)return null;try{return decodeURIComponent(e.slice(n+1))}catch{return null}}function u(e){if(!e)return[];let t=[];for(let[n,r]of Object.entries(e))n.toLowerCase()===`link`&&typeof r==`string`&&r.length>0&&t.push(r);return t}var d=`${e}/rel/handoff`,f=`${e}/rel/upskill`;function p(e){let t=e.replace(/\/+$/,``),n=t.toLowerCase();return n.endsWith(`/skill.md`)?t.slice(0,-9):n===`skill.md`?``:t}var m=/^[A-Za-z0-9._/-]+$/,h=/^[A-Za-z0-9._/-]+$/,g=250,_=1024;function v(e){return!(e.length===0||e.length>g||!m.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.endsWith(`/`)||e.includes(`..`)||e.endsWith(`.lock`))}function y(e){return!(e.length===0||e.length>_||!h.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.includes(`..`))}function b(e,t){let n=t.branch;typeof n==`string`&&v(n)&&(e.branch=n);let r=t.path;if(typeof r==`string`&&r.length>0){let t=p(r);t.length>0&&y(t)&&(e.path=t)}}function x(e){for(let t of e){if(t.rel.includes(d)){let e={verb:`handoff`,target:t.href};return t.title!=null&&t.title.length>0&&(e.instruction=t.title),e}if(t.rel.includes(f)){let e={verb:`upskill`,target:t.href};return t.title!=null&&t.title.length>0&&(e.instruction=t.title),b(e,t.params),e}}return null}function S(e,n){let r=u(e);if(r.length===0)return{match:null,links:[]};let i=t(r,n);return{match:x(i),links:i}}export{S as t};
@@ -1 +1 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import{t}from"./permissions-surface-registry-CilCRwhh.js";import{a as n,i as r,n as i,o as a,r as o}from"./whisper-session-DzV9Jmfi.js";var s=e(`speech:hear`),c={};function l(){return c.getPermissionSurface?c.getPermissionSurface():t()||null}var u=3e4;function d(){if(typeof window>`u`)return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}var f=class extends Error{code;constructor(e){super(p(e)),this.name=`SpeechRecognitionError`,this.code=e}};function p(e){switch(e){case`network`:case`service-not-allowed`:return"builtin speech recognition is unsupported in this browser (no Web Speech cloud backend) — use `hear --engine enhanced`";case`not-allowed`:return`microphone permission denied for builtin speech recognition`;case`audio-capture`:return`no microphone available for builtin speech recognition`;case`no-speech`:return`no speech detected`;case`aborted`:return`speech recognition aborted`;default:return`speech recognition error: ${e}`}}function m(e){return e instanceof f&&(e.code===`network`||e.code===`service-not-allowed`)}function h(e,t){let n=d();return n?new Promise((r,i)=>{let a=Date.now(),o=()=>Date.now()-a,c=new n;c.continuous=!1,c.interimResults=!1,e&&(c.lang=e),s.debug(`builtinOnce: recognizer constructed`,{lang:e??`(browser default)`,timeoutMs:t});let l=``,u=!1,d=setTimeout(()=>{s.debug(`builtinOnce: timeout reached — stopping recognizer`,{elapsedMs:o()});try{c.stop()}catch{}},t);c.onstart=()=>s.debug(`builtinOnce: onstart (recognition service active)`,{elapsedMs:o()}),c.onaudiostart=()=>s.debug(`builtinOnce: onaudiostart (capturing audio)`,{elapsedMs:o()}),c.onspeechstart=()=>s.debug(`builtinOnce: onspeechstart (speech detected)`,{elapsedMs:o()}),c.onspeechend=()=>s.debug(`builtinOnce: onspeechend (speech ended)`,{elapsedMs:o()}),c.onnomatch=()=>s.debug(`builtinOnce: onnomatch (no recognizable speech)`,{elapsedMs:o()}),c.onresult=e=>{let t=[];for(let n=0;n<e.results.length;n++)t.push(e.results[n][0]?.transcript??``);l=t.join(` `).trim(),s.debug(`builtinOnce: onresult`,{elapsedMs:o(),resultCount:e.results.length,transcriptLength:l.length})},c.onerror=e=>{if(e.error===`no-speech`||e.error===`aborted`){s.debug(`builtinOnce: onerror (non-fatal — ends with empty transcript)`,{elapsedMs:o(),code:e.error});return}u=!0,clearTimeout(d),s.error(`builtinOnce: onerror (fatal)`,{elapsedMs:o(),code:e.error}),i(new f(e.error))},c.onend=()=>{clearTimeout(d),u?s.debug(`builtinOnce: onend after fatal error (already rejected)`,{elapsedMs:o()}):(s.debug(`builtinOnce: onend — resolving`,{elapsedMs:o(),transcriptLength:l.length,empty:l.length===0}),r(l))},s.debug(`builtinOnce: calling recognizer.start()`,{elapsedMs:o()}),c.start()}):Promise.reject(Error(`speech recognition unavailable in this environment`))}async function g(e){let t={audio:!e||{deviceId:{exact:e}}},n=l();if(n){s.debug(`acquireMicrophoneStream: requesting microphone via permission surface`,{hasDeviceId:!!e});let r=await n.prompt({kinds:[`microphone`],description:`The hear command needs your microphone to transcribe speech.`,requestOptions:{microphone:{constraints:t}},skipIfGranted:!0});if(r.status!==`granted`){s.error(`acquireMicrophoneStream: microphone permission not granted`,{status:r.status,reason:r.reason});let e=r.message?`: ${r.message}`:``;throw Error(`microphone permission ${r.reason??r.status}${e}`)}let i=r.grants.find(e=>e.kind===`microphone`);if(!i)throw s.error(`acquireMicrophoneStream: permission granted without a microphone stream`),Error(`microphone permission granted without a stream`);return s.debug(`acquireMicrophoneStream: microphone stream acquired via surface`),i.stream}if(!navigator.mediaDevices?.getUserMedia)throw s.error(`acquireMicrophoneStream: getUserMedia unavailable in this realm`),Error(`microphone capture unavailable in this realm`);s.debug(`acquireMicrophoneStream: no permission surface; calling getUserMedia directly`);try{let e=await navigator.mediaDevices.getUserMedia(t);return s.debug(`acquireMicrophoneStream: getUserMedia succeeded (direct)`),e}catch(e){throw s.error(`acquireMicrophoneStream: getUserMedia failed (direct)`,e),e}}async function _(e){let t=await g(e),n=new MediaRecorder(t),r=[];n.ondataavailable=e=>{e.data.size>0&&r.push(e.data)},n.start(500);let i=()=>{for(let e of t.getTracks())e.stop()};return{stop:()=>new Promise(e=>{n.onstop=()=>{i(),e(r.length?new Blob(r,{type:n.mimeType||`audio/webm`}):null)};try{n.stop()}catch{i(),e(null)}}),cancel:()=>{try{n.stop()}catch{}i()}}}async function v(e){if(!l())return s.debug(`primeBuiltinPermission: no permission surface; recognizer drives its own prompt`),null;s.debug(`primeBuiltinPermission: priming microphone grant via permission surface`,{hasDeviceId:!!e});let t=await g(e);return s.debug(`primeBuiltinPermission: microphone primed; holding stream open for recognizer`),t}function y(e){if(e){for(let t of e.getTracks())t.stop();s.debug(`primeBuiltinPermission: released primed microphone stream`)}}async function b(e,t){let n=await _(e.deviceId),a=``;try{a=await h(e.lang,t)}catch(e){s.warn(`builtin endpointing failed; transcribing captured audio anyway`,e)}let c=await n.stop();if(!c)return{transcript:a,engine:`builtin`};try{let t=await r(),n=await o(await c.arrayBuffer()),a=await t.transcribe(n,{language:i(e.lang)});if(a)return{transcript:a,engine:`enhanced`}}catch(e){s.warn(`whisper transcription failed; falling back to builtin text`,e)}return{transcript:a,engine:`builtin`}}async function x(e={}){let t=e.timeoutMs??u,n=e.engine??`auto`,r=a()===`ready`;if(n===`enhanced`&&!r)throw s.error(`hearCapture: enhanced engine requested but whisper is not ready`),Error("enhanced engine not ready — run `hear --warmup` (check progress with `hear --status`)");let i=n!==`builtin`&&r;if(s.debug(`hearCapture: engine dispatch`,{requested:n,enhancedReady:r,resolved:i?`enhanced`:`builtin`}),i)return b(e,t);let o=await v(e.deviceId);try{let n=await h(e.lang,t);return s.debug(`hearCapture: builtin recognition produced a transcript`),{transcript:n,engine:`builtin`}}catch(n){if(!m(n))throw s.error(`hearCapture: builtin recognition failed`,n),n;if(r)return s.debug(`hearCapture: builtin unsupported in this browser; falling back to enhanced whisper`),y(o),o=null,b(e,t);throw s.error(`hearCapture: builtin unsupported and whisper not ready`,{code:n.code}),n}finally{y(o)}}async function S(e,t){let n=await r(),a=await o(e);return{transcript:await n.transcribe(a,{language:i(t)}),engine:`enhanced`}}function C(){let e=n();return{state:a(),...e?{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}:{}}}function w(){return r().catch(()=>{}),C()}export{x as hearCapture,C as hearStatus,S as hearTranscribe,w as hearWarmup};
1
+ import{t as e}from"./logger-DDBAeTLF.js";import{t}from"./permissions-surface-registry-CilCRwhh.js";import{a as n,i as r,n as i,o as a,r as o}from"./whisper-session-Ba-J0yyJ.js";var s=e(`speech:hear`),c={};function l(){return c.getPermissionSurface?c.getPermissionSurface():t()||null}var u=3e4;function d(){if(typeof window>`u`)return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}var f=class extends Error{code;constructor(e){super(p(e)),this.name=`SpeechRecognitionError`,this.code=e}};function p(e){switch(e){case`network`:case`service-not-allowed`:return"builtin speech recognition is unsupported in this browser (no Web Speech cloud backend) — use `hear --engine enhanced`";case`not-allowed`:return`microphone permission denied for builtin speech recognition`;case`audio-capture`:return`no microphone available for builtin speech recognition`;case`no-speech`:return`no speech detected`;case`aborted`:return`speech recognition aborted`;default:return`speech recognition error: ${e}`}}function m(e){return e instanceof f&&(e.code===`network`||e.code===`service-not-allowed`)}function h(e,t){let n=d();return n?new Promise((r,i)=>{let a=Date.now(),o=()=>Date.now()-a,c=new n;c.continuous=!1,c.interimResults=!1,e&&(c.lang=e),s.debug(`builtinOnce: recognizer constructed`,{lang:e??`(browser default)`,timeoutMs:t});let l=``,u=!1,d=setTimeout(()=>{s.debug(`builtinOnce: timeout reached — stopping recognizer`,{elapsedMs:o()});try{c.stop()}catch{}},t);c.onstart=()=>s.debug(`builtinOnce: onstart (recognition service active)`,{elapsedMs:o()}),c.onaudiostart=()=>s.debug(`builtinOnce: onaudiostart (capturing audio)`,{elapsedMs:o()}),c.onspeechstart=()=>s.debug(`builtinOnce: onspeechstart (speech detected)`,{elapsedMs:o()}),c.onspeechend=()=>s.debug(`builtinOnce: onspeechend (speech ended)`,{elapsedMs:o()}),c.onnomatch=()=>s.debug(`builtinOnce: onnomatch (no recognizable speech)`,{elapsedMs:o()}),c.onresult=e=>{let t=[];for(let n=0;n<e.results.length;n++)t.push(e.results[n][0]?.transcript??``);l=t.join(` `).trim(),s.debug(`builtinOnce: onresult`,{elapsedMs:o(),resultCount:e.results.length,transcriptLength:l.length})},c.onerror=e=>{if(e.error===`no-speech`||e.error===`aborted`){s.debug(`builtinOnce: onerror (non-fatal — ends with empty transcript)`,{elapsedMs:o(),code:e.error});return}u=!0,clearTimeout(d),s.error(`builtinOnce: onerror (fatal)`,{elapsedMs:o(),code:e.error}),i(new f(e.error))},c.onend=()=>{clearTimeout(d),u?s.debug(`builtinOnce: onend after fatal error (already rejected)`,{elapsedMs:o()}):(s.debug(`builtinOnce: onend — resolving`,{elapsedMs:o(),transcriptLength:l.length,empty:l.length===0}),r(l))},s.debug(`builtinOnce: calling recognizer.start()`,{elapsedMs:o()}),c.start()}):Promise.reject(Error(`speech recognition unavailable in this environment`))}async function g(e){let t={audio:!e||{deviceId:{exact:e}}},n=l();if(n){s.debug(`acquireMicrophoneStream: requesting microphone via permission surface`,{hasDeviceId:!!e});let r=await n.prompt({kinds:[`microphone`],description:`The hear command needs your microphone to transcribe speech.`,requestOptions:{microphone:{constraints:t}},skipIfGranted:!0});if(r.status!==`granted`){s.error(`acquireMicrophoneStream: microphone permission not granted`,{status:r.status,reason:r.reason});let e=r.message?`: ${r.message}`:``;throw Error(`microphone permission ${r.reason??r.status}${e}`)}let i=r.grants.find(e=>e.kind===`microphone`);if(!i)throw s.error(`acquireMicrophoneStream: permission granted without a microphone stream`),Error(`microphone permission granted without a stream`);return s.debug(`acquireMicrophoneStream: microphone stream acquired via surface`),i.stream}if(!navigator.mediaDevices?.getUserMedia)throw s.error(`acquireMicrophoneStream: getUserMedia unavailable in this realm`),Error(`microphone capture unavailable in this realm`);s.debug(`acquireMicrophoneStream: no permission surface; calling getUserMedia directly`);try{let e=await navigator.mediaDevices.getUserMedia(t);return s.debug(`acquireMicrophoneStream: getUserMedia succeeded (direct)`),e}catch(e){throw s.error(`acquireMicrophoneStream: getUserMedia failed (direct)`,e),e}}async function _(e){let t=await g(e),n=new MediaRecorder(t),r=[];n.ondataavailable=e=>{e.data.size>0&&r.push(e.data)},n.start(500);let i=()=>{for(let e of t.getTracks())e.stop()};return{stop:()=>new Promise(e=>{n.onstop=()=>{i(),e(r.length?new Blob(r,{type:n.mimeType||`audio/webm`}):null)};try{n.stop()}catch{i(),e(null)}}),cancel:()=>{try{n.stop()}catch{}i()}}}async function v(e){if(!l())return s.debug(`primeBuiltinPermission: no permission surface; recognizer drives its own prompt`),null;s.debug(`primeBuiltinPermission: priming microphone grant via permission surface`,{hasDeviceId:!!e});let t=await g(e);return s.debug(`primeBuiltinPermission: microphone primed; holding stream open for recognizer`),t}function y(e){if(e){for(let t of e.getTracks())t.stop();s.debug(`primeBuiltinPermission: released primed microphone stream`)}}async function b(e,t){let n=await _(e.deviceId),a=``;try{a=await h(e.lang,t)}catch(e){s.warn(`builtin endpointing failed; transcribing captured audio anyway`,e)}let c=await n.stop();if(!c)return{transcript:a,engine:`builtin`};try{let t=await r(),n=await o(await c.arrayBuffer()),a=await t.transcribe(n,{language:i(e.lang)});if(a)return{transcript:a,engine:`enhanced`}}catch(e){s.warn(`whisper transcription failed; falling back to builtin text`,e)}return{transcript:a,engine:`builtin`}}async function x(e={}){let t=e.timeoutMs??u,n=e.engine??`auto`,r=a()===`ready`;if(n===`enhanced`&&!r)throw s.error(`hearCapture: enhanced engine requested but whisper is not ready`),Error("enhanced engine not ready — run `hear --warmup` (check progress with `hear --status`)");let i=n!==`builtin`&&r;if(s.debug(`hearCapture: engine dispatch`,{requested:n,enhancedReady:r,resolved:i?`enhanced`:`builtin`}),i)return b(e,t);let o=await v(e.deviceId);try{let n=await h(e.lang,t);return s.debug(`hearCapture: builtin recognition produced a transcript`),{transcript:n,engine:`builtin`}}catch(n){if(!m(n))throw s.error(`hearCapture: builtin recognition failed`,n),n;if(r)return s.debug(`hearCapture: builtin unsupported in this browser; falling back to enhanced whisper`),y(o),o=null,b(e,t);throw s.error(`hearCapture: builtin unsupported and whisper not ready`,{code:n.code}),n}finally{y(o)}}async function S(e,t){let n=await r(),a=await o(e);return{transcript:await n.transcribe(a,{language:i(t)}),engine:`enhanced`}}function C(){let e=n();return{state:a(),...e?{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}:{}}}function w(){return r().catch(()=>{}),C()}export{x as hearCapture,C as hearStatus,S as hearTranscribe,w as hearWarmup};
@@ -1,4 +1,4 @@
1
- import{n as e,t}from"./browser-2rCVqcqy.js";import{A as n,D as r,E as i,M as a,N as o,O as s,T as c,j as l,k as u}from"./shared-BzvvjAZt.js";const d=`https://${[`huggingface`,`co`].join(`.`)}`;function f(e){let t=e?.trim();if(!t)return d;try{let e=new URL(t);return e.protocol!==`http:`&&e.protocol!==`https:`?d:e.href.replace(/\/+$/,``)}catch{return d}}function p(e,t,n){return`${e}/api/models/${t}/tree/${n}?recursive=true`}function m(e,t,n,r){return`${e}/${t}/resolve/${n}/${r}`}function h(e){try{return new URL(e).host}catch{return e}}async function g(e,t,n){try{return await e(t,n)}catch(e){let n=e instanceof Error?e.message:String(e);throw Error(`request to ${h(t)} failed (${n}); check the bridge fetch-proxy is reachable`)}}async function _(e,t,n,r=d){let i=await g(e,p(r,t,n),{method:`GET`});if(i.status<200||i.status>=300)throw Error(`HF API ${i.status} ${i.statusText} for ${t}@${n}`);let a=new TextDecoder(`utf-8`).decode(i.body);return JSON.parse(a).filter(e=>e.type===`file`).map(e=>({path:e.path,size:typeof e.size==`number`?e.size:0}))}async function v(e,t){let n=t.lastIndexOf(`/`);if(n<=0)return;let r=t.slice(0,n);await e.mkdir(r,{recursive:!0})}async function ee(e,t,n,r,i,a,o,s,c){let l=`${a}/${i}`;if(!o&&await t.exists(l))try{let e=await t.stat(l);if(c===void 0||c<=0||e.size===c)return{status:`skipped`,bytes:e.size??0}}catch{}let u=await g(e,m(s,n,r,i),{method:`GET`});if(u.status<200||u.status>=300)throw Error(`HTTP ${u.status} ${u.statusText} for ${i}`);return await v(t,l),await t.writeFile(l,u.body),{status:`downloaded`,bytes:u.body.byteLength}}function te(e,t,n){let r=t??`/workspace/models/${e}`;return(r.startsWith(`/`)?r:`${n.replace(/\/+$/,``)}/${r}`).replace(/\/+$/,``)}var y=class extends Error{file;constructor(e,t){super(t instanceof Error?t.message:String(t)),this.name=`HfFileDownloadError`,this.file=e}};async function ne(e){let t=e.revision??`main`,n=e.force??!1,r=f(e.endpoint),i=e.files??[],a=new Map;if(i.length===0){let n=await _(e.fetch,e.repo,t,r);if(n.length===0)throw Error(`repo ${e.repo}@${t} has no files`);i=n.map(e=>e.path);for(let e of n)a.set(e.path,e.size);let o=n.reduce((e,t)=>e+t.size,0);e.progress?.onListed?.({files:i,totalBytes:o})}await e.fs.mkdir(e.targetDir,{recursive:!0});let o=0,s=0,c=0;for(let l=0;l<i.length;l++){let u=i[l],d;try{d=await ee(e.fetch,e.fs,e.repo,t,u,e.targetDir,n,r,a.get(u))}catch(e){throw new y(u,e)}c+=d.bytes,d.status===`downloaded`?o+=1:s+=1,e.progress?.onFile?.({file:u,status:d.status,bytes:d.bytes,index:l+1,total:i.length})}return{repo:e.repo,revision:t,targetDir:e.targetDir,files:i,downloaded:o,skipped:s,totalBytes:c}}function b(e,...t){return`/${[e,...t].join(`/`).split(`/`).filter(e=>e.length>0).join(`/`)}`}function re(e){let t=JSON.stringify(e);return[`// ${u}`,`const { start } = require('sliccy:exec');`,`const __bin = ${t};`,`const __argv = ['ipx', '--global', __bin, ...process.argv.slice(2)];`,`const __stdin = typeof stdin !== 'undefined' ? stdin : undefined;`,`const __h = start(__argv, __stdin !== undefined ? { stdin: __stdin } : undefined);`,`__h.stdin.end();`,`const __r = await __h.done;`,`if (__r.stdout) process.stdout.write(__r.stdout);`,`if (__r.stderr) process.stderr.write(__r.stderr);`,`process.exit(__r.exitCode);`,``].join(`
1
+ import{n as e,t}from"./browser-2rCVqcqy.js";import{A as n,D as r,E as i,M as a,N as o,O as s,T as c,j as l,k as u}from"./shared-CPVZc-MN.js";const d=`https://${[`huggingface`,`co`].join(`.`)}`;function f(e){let t=e?.trim();if(!t)return d;try{let e=new URL(t);return e.protocol!==`http:`&&e.protocol!==`https:`?d:e.href.replace(/\/+$/,``)}catch{return d}}function p(e,t,n){return`${e}/api/models/${t}/tree/${n}?recursive=true`}function m(e,t,n,r){return`${e}/${t}/resolve/${n}/${r}`}function h(e){try{return new URL(e).host}catch{return e}}async function g(e,t,n){try{return await e(t,n)}catch(e){let n=e instanceof Error?e.message:String(e);throw Error(`request to ${h(t)} failed (${n}); check the bridge fetch-proxy is reachable`)}}async function _(e,t,n,r=d){let i=await g(e,p(r,t,n),{method:`GET`});if(i.status<200||i.status>=300)throw Error(`HF API ${i.status} ${i.statusText} for ${t}@${n}`);let a=new TextDecoder(`utf-8`).decode(i.body);return JSON.parse(a).filter(e=>e.type===`file`).map(e=>({path:e.path,size:typeof e.size==`number`?e.size:0}))}async function v(e,t){let n=t.lastIndexOf(`/`);if(n<=0)return;let r=t.slice(0,n);await e.mkdir(r,{recursive:!0})}async function ee(e,t,n,r,i,a,o,s,c){let l=`${a}/${i}`;if(!o&&await t.exists(l))try{let e=await t.stat(l);if(c===void 0||c<=0||e.size===c)return{status:`skipped`,bytes:e.size??0}}catch{}let u=await g(e,m(s,n,r,i),{method:`GET`});if(u.status<200||u.status>=300)throw Error(`HTTP ${u.status} ${u.statusText} for ${i}`);return await v(t,l),await t.writeFile(l,u.body),{status:`downloaded`,bytes:u.body.byteLength}}function te(e,t,n){let r=t??`/workspace/models/${e}`;return(r.startsWith(`/`)?r:`${n.replace(/\/+$/,``)}/${r}`).replace(/\/+$/,``)}var y=class extends Error{file;constructor(e,t){super(t instanceof Error?t.message:String(t)),this.name=`HfFileDownloadError`,this.file=e}};async function ne(e){let t=e.revision??`main`,n=e.force??!1,r=f(e.endpoint),i=e.files??[],a=new Map;if(i.length===0){let n=await _(e.fetch,e.repo,t,r);if(n.length===0)throw Error(`repo ${e.repo}@${t} has no files`);i=n.map(e=>e.path);for(let e of n)a.set(e.path,e.size);let o=n.reduce((e,t)=>e+t.size,0);e.progress?.onListed?.({files:i,totalBytes:o})}await e.fs.mkdir(e.targetDir,{recursive:!0});let o=0,s=0,c=0;for(let l=0;l<i.length;l++){let u=i[l],d;try{d=await ee(e.fetch,e.fs,e.repo,t,u,e.targetDir,n,r,a.get(u))}catch(e){throw new y(u,e)}c+=d.bytes,d.status===`downloaded`?o+=1:s+=1,e.progress?.onFile?.({file:u,status:d.status,bytes:d.bytes,index:l+1,total:i.length})}return{repo:e.repo,revision:t,targetDir:e.targetDir,files:i,downloaded:o,skipped:s,totalBytes:c}}function b(e,...t){return`/${[e,...t].join(`/`).split(`/`).filter(e=>e.length>0).join(`/`)}`}function re(e){let t=JSON.stringify(e);return[`// ${u}`,`const { start } = require('sliccy:exec');`,`const __bin = ${t};`,`const __argv = ['ipx', '--global', __bin, ...process.argv.slice(2)];`,`const __stdin = typeof stdin !== 'undefined' ? stdin : undefined;`,`const __h = start(__argv, __stdin !== undefined ? { stdin: __stdin } : undefined);`,`__h.stdin.end();`,`const __r = await __h.done;`,`if (__r.stdout) process.stdout.write(__r.stdout);`,`if (__r.stderr) process.stderr.write(__r.stderr);`,`process.exit(__r.exitCode);`,``].join(`
2
2
  `)}var x=class extends Error{binName;path;constructor(e,t){super(`ipk: refusing to overwrite user script at ${t} (bin '${e}')`),this.binName=e,this.path=t,this.name=`GlobalBinCollisionError`}};async function S(e,t){if(t.size!==0){await e.exists(`/shared/bin`)||await e.mkdir(n,{recursive:!0});for(let r of t){if(!r||r.includes(`/`))continue;let t=b(n,`${r}.jsh`);if(await e.exists(t)&&!await C(e,t))throw new x(r,t)}}}async function C(e,t){try{let n=await e.readFile(t);return(typeof n==`string`?n:new TextDecoder().decode(n)).includes(u)}catch{return!1}}async function w(e,t){if(!await e.exists(`/shared/bin`)){if(t.size===0)return;await e.mkdir(n,{recursive:!0})}let r=[];try{r=await e.readDir(n)}catch{r=[]}for(let i of r){if(i.type!==`file`||!i.name.endsWith(`.jsh`))continue;let r=i.name.slice(0,-4);if(t.has(r))continue;let a=b(n,i.name);await C(e,a)&&await e.rm(a)}for(let r of t){if(!r||r.includes(`/`))continue;let t=b(n,`${r}.jsh`);if(await e.exists(t)&&!await C(e,t))throw new x(r,t);await e.writeFile(t,re(r))}}const ie={0:`file`,1:`hardLink`,2:`symbolicLink`,3:`characterDevice`,4:`blockDevice`,5:`directory`,6:`fifo`,7:`contiguousFile`,g:`globalExtendedHeader`,x:`extendedHeader`,D:`gnuDirectory`,I:`gnuInodeMetadata`,K:`gnuLongLinkName`,L:`gnuLongFileName`,N:`gnuOldLongFileName`,M:`gnuMultiVolume`,S:`gnuSparseFile`,E:`gnuExtendedSparse`,A:`solarisAcl`,V:`solarisVolumeLabel`,X:`solarisOldExtendedHeader`};function ae(e,t){let n=e.buffer||e,r=[],i=0,a,o;for(;i<n.byteLength-512;){let e=T(n,i,100);if(e.length===0)break;if(a){let t=a.path||a.linkpath;t&&(e=t)}let s=T(n,i+100,8).trim(),c=Number.parseInt(T(n,i+108,8)),l=Number.parseInt(T(n,i+116,8)),u=E(n,i+124,12),d=512+512*Math.trunc(u/512)+(u%512?512:0),f=E(n,i+136,12),p=T(n,i+156,1)||`0`,m=ie[p]||p;switch(m){case`extendedHeader`:case`globalExtendedHeader`:{let e=se(new Uint8Array(n,i+512,u));m===`extendedHeader`?a=e:(a=void 0,o={...o,...e}),i+=d;continue}case`gnuLongFileName`:case`gnuOldLongFileName`:case`gnuLongLinkName`:a={path:T(n,i+512,u)},i+=d;continue}let h=T(n,i+265,32),g=T(n,i+297,32);e=oe(e);let _={name:e,type:m,size:u,attrs:{...o,...a,mode:s,uid:c,gid:l,mtime:f,user:h,group:g}};if(a=void 0,t?.filter&&!t.filter(_)){i+=d;continue}if(t?.metaOnly){r.push(_),i+=d;continue}let v=u===0?void 0:new Uint8Array(n,i+512,u);r.push({..._,data:v,get text(){return new TextDecoder().decode(this.data)}}),i+=d}return r}function oe(e){let t=e.replace(/\\/g,`/`);t=t.replace(/^[a-zA-Z]:\//,``),t=t.replace(/^\/+/,``);let n=t.startsWith(`./`),r=t.split(`/`),i=[];for(let e of r)e===`..`?i.pop():e!==`.`&&e!==``&&i.push(e);let a=i.join(`/`);return n&&!a.startsWith(`./`)&&(a=`./`+a),e.endsWith(`/`)&&!a.endsWith(`/`)&&(a+=`/`),a}function T(e,t,n){let r=new Uint8Array(e,t,n),i=r.indexOf(0);return new TextDecoder().decode(i===-1?r:r.slice(0,i))}function E(e,t,n){let r=new Uint8Array(e,t,n),i=``;for(let e=0;e<n;e++)i+=String.fromCodePoint(r[e]);return Number.parseInt(i,8)}function se(e){let t=new TextDecoder().decode(e),n={};for(let e of t.split(`
3
3
  `)){let t=e.split(` `)[1]?.split(`=`);t&&(n[t[0]]=t[1])}return n}function ce(e,t={}){let n=e.map(e=>{let t=le(e.data);return{...e,data:t,size:t?.length||0}}),r=0;for(let t=0;t<e.length;t++){let e=n[t].data?.length??0;r+=512+512*Math.trunc(e/512),e%512&&(r+=512)}let i=10240*Math.trunc(r/10240);r%10240&&(i+=10240);let a=new ArrayBuffer(i),o=0;for(let e of n){let n=!e.data;D(a,e.name,o,100),D(a,O(e.attrs?.mode??t.attrs?.mode??(n?`775`:`664`),7),o+100,8),D(a,O((e.attrs?.uid??t.attrs?.uid??1e3).toString(8),7),o+108,8),D(a,O((e.attrs?.gid??t.attrs?.gid??1e3).toString(8),7),o+116,8),D(a,O(e.size.toString(8),11),o+124,12);let r=e.attrs?.mtime??t.attrs?.mtime??Date.now();D(a,O(Math.trunc(r/1e3).toString(8),11),o+136,12),D(a,n?`5`:`0`,o+156,1),D(a,`ustar`,o+257,6),D(a,`00`,o+263,2),D(a,e.attrs?.user??t.attrs?.user??``,o+265,32),D(a,e.attrs?.group??t.attrs?.group??``,o+297,32),D(a,` `,o+148,8);let i=new Uint8Array(a,o,512),s=0;for(let e=0;e<512;e++)s+=i[e];if(D(a,s.toString(8),o+148,8),!n){let t=new Uint8Array(a,o+512,e.size);for(let n=0;n<e.size;n++)t[n]=e.data[n];o+=512*Math.trunc(e.size/512),e.size%512&&(o+=512)}o+=512}return new Uint8Array(a)}function D(e,t,n,r){let i=new Uint8Array(e,n,r),a=new TextEncoder().encodeInto(t,i).written;for(let e=a;e<r;e++)i[e]=0}function O(e,t){return String(e).padStart(t,`0`)}function le(e){if(e!=null)return typeof e==`string`?new TextEncoder().encode(e):e instanceof ArrayBuffer?new Uint8Array(e):e}function ue(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e:new Uint8Array(e)}function k(e){if(!(e instanceof Uint8Array))throw Error(`gunzip: input must be a Uint8Array`);if(e.length<18||e[0]!==31||e[1]!==139)throw Error(`gunzip: input is not a valid gzip stream (bad magic)`);try{return t(e)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`gunzip: failed to decompress (${t})`)}}function de(t){if(!(t instanceof Uint8Array))throw Error(`gzip: input must be a Uint8Array`);try{return e(t)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`gzip: failed to compress (${t})`)}}function fe(e){if(!Array.isArray(e))throw Error(`writeTar: entries must be an array`);try{return ce(e.map(e=>({name:e.path,...e.directory?{}:{data:e.bytes}})))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`writeTar: failed to create tar archive (${t})`)}}function pe(e){return e.startsWith(`package/`)?e.slice(8):e}function A(e,t,n){let r=new Uint8Array(e,t,n),i=r.indexOf(0);return new TextDecoder().decode(i===-1?r:r.subarray(0,i))}function me(e,t,n){let r=new Uint8Array(e,t,n),i=``;for(let e=0;e<n;e++)i+=String.fromCodePoint(r[e]);return Number.parseInt(i,8)}function he(e,t,n){let r=new TextDecoder().decode(new Uint8Array(e,t,n)),i,a;for(let e of r.split(`
4
4
  `)){let t=e.split(` `)[1]?.split(`=`);t&&(t[0]===`path`?i=t[1]:t[0]===`linkpath`&&(a=t[1]))}return i||a}function ge(e){let t=e.replace(/\\/g,`/`);t=t.replace(/^[a-zA-Z]:\//,``),t=t.replace(/^\/+/,``);let n=t.startsWith(`./`),r=t.split(`/`),i=[];for(let e of r)e===`..`?i.pop():e!==`.`&&e!==``&&i.push(e);let a=i.join(`/`);return n&&!a.startsWith(`./`)&&(a=`./`+a),e.endsWith(`/`)&&!a.endsWith(`/`)&&(a+=`/`),a}function _e(e,t){let n=e.buffer,r=[],i=0,a;for(;i<n.byteLength-512;){let e=A(n,i,100);if(e.length===0)break;let o=me(n,i+124,12),s=512+512*Math.trunc(o/512)+(o%512?512:0),c=A(n,i+156,1)||`0`;if(c===`x`||c===`g`){a=c===`x`?he(n,i+512,o):void 0,i+=s;continue}if(c===`L`||c===`N`||c===`K`){a=A(n,i+512,o),i+=s;continue}let l;if(a)l=a;else{let t=A(n,i+345,155);l=t.length>0?`${t}/${e}`:e}r.push(t?l:ge(l)),a=void 0,i+=s}return r}function j(e,t={}){if(!(e instanceof Uint8Array))throw Error(`readTar: input must be a Uint8Array`);let n=ue(e),r;try{r=ae(n)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`readTar: failed to parse tar archive (${t})`)}let i=t.stripNpmPrefix??!0,a=t.includeDirectories??!1,o=_e(n,t.preserveRawPaths??!1),s=o.length===r.length;if(t.preserveRawPaths&&!s)throw Error(`readTar: raw path resolution did not align with archive entries`);let c=[];return r.forEach((e,t)=>{let n=e.type===`directory`;if(!n&&e.type!==`file`&&e.type!==`contiguousFile`||n&&!a)return;let r=s?o[t]:e.name;c.push({path:i?pe(r):r,bytes:e.data?e.data.slice():new Uint8Array,...n?{directory:!0}:{}})}),c}function M(e){let t=(e??``).trim();if(!t)throw Error(`ipk: package spec is required`);if(t.startsWith(`@`)){let e=t.indexOf(`/`);if(e===-1)throw Error(`ipk: scoped spec '${t}' is missing a name (expected @scope/name)`);let n=t.slice(e+1),r=n.indexOf(`@`),i=t.slice(0,e);return r===-1?{name:`${i}/${n}`,range:``}:{name:`${i}/${n.slice(0,r)}`,range:n.slice(r+1)}}let n=t.indexOf(`@`);return n===-1?{name:t,range:``}:{name:t.slice(0,n),range:t.slice(n+1)}}function N(e,...t){return`/${[e,...t].join(`/`).split(`/`).filter(e=>e.length>0).join(`/`)}`}function P(e,t){if(t.startsWith(`@`)){let[n,r]=t.split(`/`,2);return N(e,n,r)}return N(e,t)}async function F(e,t){await e.mkdir(t,{recursive:!0})}async function I(e,t){await e.exists(t)&&await e.rm(t,{recursive:!0})}function ve(e){return`^${e}`}function L(e,t){let n=e.range.trim();return n===``||n===`*`||n===`latest`||/^[A-Za-z][A-Za-z0-9_-]*$/.test(n)?ve(t):n}async function ye(e,t,n){for(let r of n){if(!r.path)continue;let n=r.path.replace(/\\/g,`/`).replace(/^\/+/,``);if(n.split(`/`).some(e=>e===`..`))throw Error(`installer: refusing to extract entry escaping package root: ${r.path}`);let i=N(t,n),a=i.lastIndexOf(`/`);a>0&&await F(e,i.slice(0,a)),await e.writeFile(i,r.bytes)}}async function R(e,t,n){if(!await e.exists(t))return n;let r;try{r=await e.readFile(t)}catch{return n}if(!r?.trim())return n;try{return JSON.parse(r)}catch{return n}}function z(e,t){let n=new Map;return{supplier:async r=>{let a=n.get(r);return a||(a=await i(r,e,{timeoutMs:t}),n.set(r,a),a)},cache:n}}async function be(e,t){let n=[],r=[],i=new Set;for(let a of e){let e;try{e=M(a)}catch(e){r.push({spec:a,error:B(e)});continue}if(i.has(e.name)){let t=n.findIndex(t=>t.parsed.name===e.name);t>=0&&n.splice(t,1)}try{let n=await t(e.name);s(n,e.range)}catch(e){r.push({spec:a,error:B(e)});continue}n.push({spec:a,parsed:e}),i.add(e.name)}return{directs:n,errors:r}}function B(e){return e instanceof Error?e:Error(String(e))}async function V(e,t,n,i,a){let o=P(t,n.name),s=N(o,`package.json`),c=!1;if(await e.exists(s)&&(await R(e,s,null))?.version===n.version&&(c=!0),!c){let t=j(k(await r(n.resolved,i,{timeoutMs:a})));await I(e,o),await F(e,o);try{await ye(e,o,t)}catch(t){throw await I(e,o),t}}let l=Object.keys(n.dependencies);if(l.length>0){let t=N(o,`node_modules`);await F(e,t);for(let r of l)await V(e,t,n.dependencies[r],i,a)}}async function H(e,t,n,r,i){let a=Object.keys(n.root);if(a.length!==0){await F(e,t);for(let o of a)await V(e,t,n.root[o],r,i)}}function xe(e){if(e.startsWith(`@`)){let t=e.indexOf(`/`);if(t!==-1)return e.slice(t+1)}return e}function U(e,t){return typeof e==`string`?{[xe(t)]:e}:e}function Se(e){return e.replace(/^\.\//,``).replace(/^\/+/,``)}function Ce(e){return`#!/usr/bin/env node\nrequire(${JSON.stringify(e)});\n`}async function W(e,t){let n=[];return await G(e,t,0,n),n}async function G(e,t,n,r){if(!await e.exists(t))return;let i;try{i=await e.readDir(t)}catch{return}for(let a of i){if(a.type!==`directory`||a.name===`.bin`)continue;if(a.name.startsWith(`@`)){let i=N(t,a.name),o;try{o=await e.readDir(i)}catch{continue}for(let t of o){if(t.type!==`directory`)continue;let o=`${a.name}/${t.name}`;await K(e,N(i,t.name),o,n,r)}continue}let i=a.name;await K(e,N(t,a.name),i,n,r)}}async function K(e,t,n,r,i){let a=await R(e,N(t,`package.json`),null);if(a?.bin!==void 0&&a.bin!==null){let e=U(a.bin,n);for(let[a,o]of Object.entries(e))typeof a==`string`&&a.length!==0&&typeof o==`string`&&o.length!==0&&i.push({binName:a,pkgName:n,installDir:t,binPath:o,depth:r})}await G(e,N(t,`node_modules`),r+1,i)}function q(e){let t=new Map;for(let n of e){let e=t.get(n.binName);if(!e){t.set(n.binName,n);continue}(n.depth<e.depth||n.depth===e.depth&&n.pkgName<e.pkgName)&&t.set(n.binName,n)}return t}function J(e,t,n,r){let i=P(e,t.name);if(t.bin!==void 0&&t.bin!==null){let e=U(t.bin,t.name);for(let[a,o]of Object.entries(e))typeof a==`string`&&a.length!==0&&typeof o==`string`&&o.length!==0&&r.push({binName:a,pkgName:t.name,installDir:i,binPath:o,depth:n})}let a=N(i,`node_modules`);for(let e of Object.values(t.dependencies))J(a,e,n+1,r)}function we(e,t){let n=[];for(let r of Object.values(e.root))J(t,r,0,n);return n}function Y(e,t){return new Set(q(we(e,t)).keys())}function Te(e,t,n){return`..${t.slice(e.length)}/${Se(n)}`}async function X(e,t){let n=q(await W(e,t)),r=N(t,`.bin`);if(await e.exists(r)){let t;try{t=await e.readDir(r)}catch{t=[]}for(let i of t)i.type===`file`&&(n.has(i.name)||await e.rm(N(r,i.name)))}if(n.size!==0){await F(e,r);for(let i of n.values()){let n=N(r,i.binName),a=Ce(Te(t,i.installDir,i.binPath));await e.writeFile(n,a)}}}async function Ee(e,t,n){let r=N(t,`package.json`),i=await R(e,r,{}),a={...i},o={...i.dependencies??{}};for(let e of n)o[e.name]=e.range;return a.dependencies=o,await e.writeFile(r,`${JSON.stringify(a,null,2)}\n`),r}async function De(e,t){let{fs:n,fetch:r,cwd:i,timeoutMs:s,global:u=!1}=t;if(e.length===0)return{results:[],errors:[]};let{supplier:d}=z(r,s),{directs:f,errors:p}=await be(e,d);if(f.length===0)return{results:[],errors:p};let m={};if(u){let e=await R(n,o,{});for(let[t,n]of Object.entries(e.dependencies??{}))m[t]=n}for(let e of f)m[e.parsed.name]=e.parsed.range;let h=await c({rootDependencies:m,fetchPackument:d}),g=u?l:N(i,`node_modules`);if(u&&(await $(n,g,new Set(Object.keys(h.root))),await S(n,Y(h,g))),await H(n,g,h,r,s),await X(n,g),u){let e=q(await W(n,g));await w(n,new Set(e.keys()))}let _=f.map(e=>{let t=h.root[e.parsed.name];if(!t)throw Error(`installer: resolved node missing for ${e.parsed.name}`);return{name:e.parsed.name,range:L(e.parsed,t.version)}}),v=await Ee(n,u?a:i,_);return{results:f.map(e=>{let t=h.root[e.parsed.name],n=P(g,e.parsed.name);return{ok:!0,name:e.parsed.name,version:t.version,installPath:n,range:L(e.parsed,t.version),manifestPath:v}}),errors:p}}var Z=class extends Error{constructor(e){super(`no package.json found at ${e} (run 'ipk install <pkg>' to create one, or add a package.json)`),this.name=`ManifestNotFoundError`}};function Q(e){let t=new Map,n=e.devDependencies;if(n&&typeof n==`object`)for(let[e,r]of Object.entries(n))typeof e==`string`&&typeof r==`string`&&t.set(e,r);let r=e.dependencies;if(r&&typeof r==`object`)for(let[e,n]of Object.entries(r))typeof e==`string`&&typeof n==`string`&&t.set(e,n);return Array.from(t.entries()).map(([e,t])=>({name:e,range:t}))}async function Oe(e){let{fs:t,fetch:n,cwd:r,timeoutMs:i}=e,a=N(r,`package.json`);if(!await t.exists(a))throw new Z(a);let o=Q(await R(t,a,{}));if(o.length===0)return{results:[],errors:[],empty:!0};let{supplier:l}=z(n,i),u=[],d=[];for(let e of o)try{let t=await l(e.name);s(t,e.range),u.push(e)}catch(t){d.push({spec:`${e.name}@${e.range}`,error:B(t)})}if(u.length===0)return{results:[],errors:d,empty:!1};let f={};for(let e of u)f[e.name]=e.range;let p=await c({rootDependencies:f,fetchPackument:l}),m=N(r,`node_modules`);return await H(t,m,p,n,i),await X(t,m),{results:u.map(e=>{let t=p.root[e.name];return t?{ok:!0,name:e.name,version:t.version,installPath:P(m,e.name),range:e.range,manifestPath:a}:null}).filter(e=>e!==null),errors:d,empty:!1}}function ke(e,t){return t in(e.dependencies??{})||t in(e.devDependencies??{})}function Ae(e,t){let n={...e.dependencies??{}},r={...e.devDependencies??{}};for(let e of t)delete n[e],delete r[e];return{...e,dependencies:n,devDependencies:r}}async function je(e,t,n){await e.writeFile(t,`${JSON.stringify(n,null,2)}\n`)}async function $(e,t,n){if(!await e.exists(t))return;let r;try{r=await e.readDir(t)}catch{return}for(let i of r)if(i.name!==`.bin`&&i.type===`directory`){if(i.name.startsWith(`@`)){let r=N(t,i.name),a;try{a=await e.readDir(r)}catch{continue}for(let t of a){if(t.type!==`directory`)continue;let a=`${i.name}/${t.name}`;n.has(a)||await I(e,N(r,t.name))}continue}n.has(i.name)||await I(e,N(t,i.name))}}async function Me(e,t,n,r){let i=Q(r??await R(e,o,{}));if(i.length===0){await I(e,l),await w(e,new Set);return}let{supplier:a}=z(t,n),s={};for(let e of i)s[e.name]=e.range;let u=await c({rootDependencies:s,fetchPackument:a});await $(e,l,new Set(Object.keys(u.root))),await S(e,Y(u,l)),await H(e,l,u,t,n),await X(e,l);let d=q(await W(e,l));await w(e,new Set(d.keys()))}async function Ne(e,t){let{fs:n,fetch:r,cwd:i,timeoutMs:o,global:s=!1}=t;if(e.length===0)return{results:[],errors:[]};let c=new Set,l=[];for(let t of e)try{c.add(M(t).name)}catch(e){l.push({spec:t,error:B(e)})}if(c.size===0)return{results:[],errors:l};let u=N(s?a:i,`package.json`);if(!await n.exists(u)){for(let t of e)l.push({spec:t,error:new Z(u)});return{results:[],errors:l}}let d=await R(n,u,{}),f=[];for(let e of c)f.push({name:e,removed:ke(d,e)});let p=Ae(d,c);try{s?await Me(n,r,o,p):await Pe(n,r,i,o,p)}catch(t){return l.push({spec:e.join(` `),error:B(t)}),{results:f,errors:l}}return await je(n,u,p),{results:f,errors:l}}async function Pe(e,t,n,r,i){let a=N(n,`package.json`),o=Q(i??await R(e,a,{})),s=N(n,`node_modules`);if(o.length===0){await I(e,s);return}let{supplier:l}=z(t,r),u={};for(let e of o)u[e.name]=e.range;let d=await c({rootDependencies:u,fetchPackument:l});await $(e,s,new Set(Object.keys(d.root))),await H(e,s,d,t,r),await X(e,s)}async function Fe(e){let t=(await R(e,o,{})).dependencies??{},n=[];for(let[r,i]of Object.entries(t)){if(typeof r!=`string`||typeof i!=`string`)continue;let t=await R(e,N(P(l,r),`package.json`),{});n.push({name:r,version:typeof t.version==`string`?t.version:`?`,range:i})}return n.sort((e,t)=>e.name.localeCompare(t.name)),n}async function Ie(e,t){let n=N(t,`package.json`);if(!await e.exists(n))return[];let r=Q(await R(e,n,{})),i=N(t,`node_modules`),a=[];for(let t of r){let n=await R(e,N(P(i,t.name),`package.json`),{});a.push({name:t.name,version:typeof n.version==`string`?n.version:`?`,range:t.range})}return a.sort((e,t)=>e.name.localeCompare(t.name)),a}export{Ie as a,de as c,y as d,ne as f,Fe as i,j as l,Oe as n,Ne as o,te as p,De as r,k as s,Z as t,fe as u};