sliccy 6.212.0 → 6.214.0

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 (246) hide show
  1. package/dist/node-server/_shared/index.d.ts +1 -0
  2. package/dist/node-server/_shared/index.d.ts.map +1 -1
  3. package/dist/node-server/_shared/index.js +1 -0
  4. package/dist/node-server/_shared/index.js.map +1 -1
  5. package/dist/node-server/_shared/raw-fetch-protocol.d.ts +96 -3
  6. package/dist/node-server/_shared/raw-fetch-protocol.d.ts.map +1 -1
  7. package/dist/node-server/_shared/raw-fetch-protocol.js +50 -9
  8. package/dist/node-server/_shared/raw-fetch-protocol.js.map +1 -1
  9. package/dist/node-server/_shared/raw-fetch-upload.d.ts +55 -0
  10. package/dist/node-server/_shared/raw-fetch-upload.d.ts.map +1 -0
  11. package/dist/node-server/_shared/raw-fetch-upload.js +123 -0
  12. package/dist/node-server/_shared/raw-fetch-upload.js.map +1 -0
  13. package/dist/node-server/_shared/secret-masking.d.ts +9 -0
  14. package/dist/node-server/_shared/secret-masking.d.ts.map +1 -1
  15. package/dist/node-server/_shared/secret-masking.js +16 -0
  16. package/dist/node-server/_shared/secret-masking.js.map +1 -1
  17. package/dist/node-server/_shared/secrets-pipeline.js +1 -1
  18. package/dist/node-server/_shared/secrets-pipeline.js.map +1 -1
  19. package/dist/node-server/routes/fetch-proxy-raw.js +48 -17
  20. package/dist/node-server/routes/fetch-proxy.js +2 -8
  21. package/dist/ui/.vite/manifest.json +308 -272
  22. package/dist/ui/assets/{SKILL-nEVBLbup.js → SKILL-BTLkJLaZ.js} +1 -1
  23. package/dist/ui/assets/SKILL-CIoKQddX.js +1 -0
  24. package/dist/ui/assets/__vite-browser-external-BLOvPDKs.js +1 -0
  25. package/dist/ui/assets/{account-store-DdclMpWp.js → account-store-LOYOaXPS.js} +1 -1
  26. package/dist/ui/assets/{account-store-DnIs5WZM.js → account-store-mj3M__ZD.js} +2 -2
  27. package/dist/ui/assets/{adobe-BNRJjQn6.js → adobe-Ci_6RaZZ.js} +1 -1
  28. package/dist/ui/assets/{adobe-w_RhhSWv.js → adobe-DkEc11pR.js} +2 -2
  29. package/dist/ui/assets/{agent-panels-B-6e5X0F.js → agent-panels-r3FsGirt.js} +1 -1
  30. package/dist/ui/assets/{almost-bash-shell-headless-D19kpvHY.js → almost-bash-shell-headless-fdY1pWnk.js} +76 -76
  31. package/dist/ui/assets/{apply-layout-oUk89jk1.js → apply-layout-CNnDjCqa.js} +1 -1
  32. package/dist/ui/assets/{apps-oJ_nTgiK.js → apps-RzjcaxST.js} +1 -1
  33. package/dist/ui/assets/{azure-openai-zqUyJv0c.js → azure-openai-CcujkEbx.js} +1 -1
  34. package/dist/ui/assets/{azure-openai-BKBBD2Dq.js → azure-openai-DbL0Efy1.js} +1 -1
  35. package/dist/ui/assets/{backend-hostfs-BotdHD_S.js → backend-hostfs-GeA151fK.js} +1 -1
  36. package/dist/ui/assets/{bsh-watchdog-TYuawE-B.js → bsh-watchdog-CQDvJ-W5.js} +1 -1
  37. package/dist/ui/assets/{capability-BgC-ru0t.js → capability-BArmeMYf.js} +2 -2
  38. package/dist/ui/assets/{cdp-C0InCdRQ.js → cdp-BJkgOOs2.js} +1 -1
  39. package/dist/ui/assets/{cerebras-ChWjfEi0.js → cerebras-CPSfN7Oh.js} +1 -1
  40. package/dist/ui/assets/{cerebras-DL4U9Vjg.js → cerebras-W_mYyxDM.js} +1 -1
  41. package/dist/ui/assets/{client-dISfU5Wf.js → client-C4_ggaf5.js} +1 -1
  42. package/dist/ui/assets/{composer-speech-d-ejBNSK.js → composer-speech-Dr-_tnut.js} +1 -1
  43. package/dist/ui/assets/{connect-surface-DNUrGg9g.js → connect-surface-DlvSIE44.js} +1 -1
  44. package/dist/ui/assets/{content-type-_QKWY0B2.js → content-type-c5DAvCWD.js} +1 -1
  45. package/dist/ui/assets/{core-DZ0CleVD.js → core-BOHj4mqw.js} +2 -2
  46. package/dist/ui/assets/{core-D8SLLGdB.js → core-CbbeQz7g.js} +1 -1
  47. package/dist/ui/assets/{directed-approval-ol0Z6v9I.js → directed-approval-DN69MpLV.js} +1 -1
  48. package/dist/ui/assets/{discovery-preference-MWZVi-PZ.js → discovery-preference-D1cUzn0M.js} +1 -1
  49. package/dist/ui/assets/{emscripten-vfs-hook-fCUbQRCb.js → emscripten-vfs-hook-C0i1txEP.js} +1 -1
  50. package/dist/ui/assets/{ensure-speech-assets-S71yPbdv.js → ensure-speech-assets--Br7x23m.js} +1 -1
  51. package/dist/ui/assets/{esbuild-wasm-llEEkCQu.js → esbuild-wasm-DeTghvWH.js} +1 -1
  52. package/dist/ui/assets/{extension-ops-CEprwZyb.js → extension-ops-i_xfuHy5.js} +1 -1
  53. package/dist/ui/assets/ffmpeg-wasm-sx-3yVAE.js +1 -0
  54. package/dist/ui/assets/{float-topology-B0_dG7En.js → float-topology-C9GjBEv-.js} +1 -1
  55. package/dist/ui/assets/follower-navigate-watcher-T4oXQ4JA.js +1 -0
  56. package/dist/ui/assets/{frozen-archive-writer-khicEqGd.js → frozen-archive-writer-CsnRq2Fo.js} +1 -1
  57. package/dist/ui/assets/{fs-CIR1p_m7.js → fs-3tVRLaAs.js} +1 -1
  58. package/dist/ui/assets/{fs-D6QJU-ZE.js → fs-bckH0ij-.js} +2 -2
  59. package/dist/ui/assets/{gelatiere-store-CYdUzk1p.js → gelatiere-store-BedC-iQI.js} +1 -1
  60. package/dist/ui/assets/{gelatiere-unit-Dzkphhv5.js → gelatiere-unit-BMZaEgI_.js} +1 -1
  61. package/dist/ui/assets/{github-BdQ6NNi6.js → github-Cz3_Cgtx.js} +2 -2
  62. package/dist/ui/assets/{github-8QTzsnR3.js → github-DH96ID40.js} +1 -1
  63. package/dist/ui/assets/{github-auth-CgSRRmdA.js → github-auth-DsC7LRzY.js} +1 -1
  64. package/dist/ui/assets/{github-copilot-Beq3TkEz.js → github-copilot-D1Suyr1Z.js} +1 -1
  65. package/dist/ui/assets/{github-copilot-C6ZXCgIT.js → github-copilot-qo6DtC8D.js} +1 -1
  66. package/dist/ui/assets/{github-install-BV6F_EyI.js → github-install-E1XTguLp.js} +1 -1
  67. package/dist/ui/assets/{github-zip-nn7aW2E1.js → github-zip-wWDOzeZq.js} +1 -1
  68. package/dist/ui/assets/{guest-tool-gate-4cZHoDbf.js → guest-tool-gate-BT-aJI8_.js} +1 -1
  69. package/dist/ui/assets/{hear-HND90jpV.js → hear-BTlOwgUa.js} +1 -1
  70. package/dist/ui/assets/{help-Dgt88ySg.js → help-BbHzLKVE.js} +1 -1
  71. package/dist/ui/assets/installer-BfItVeoV.js +2 -0
  72. package/dist/ui/assets/{interrupted-work-recovery-niFgJlYA.js → interrupted-work-recovery-Ci9VV5oX.js} +1 -1
  73. package/dist/ui/assets/{ipk-mamba-DMPz0Na-.js → ipk-mamba-CDqRG8B5.js} +1 -1
  74. package/dist/ui/assets/{js-realm-worker-Dt6CkC-q.js → js-realm-worker-MMvWwE2v.js} +2 -2
  75. package/dist/ui/assets/jsh-executor-DPZw0F-Y.js +18 -0
  76. package/dist/ui/assets/{kernel-worker-Bejt-Ojz.js → kernel-worker-BszG1wZX.js} +10 -10
  77. package/dist/ui/assets/{lick-ws-bridge-Nul1wz09.js → lick-ws-bridge-CHDwiqUh.js} +1 -1
  78. package/dist/ui/assets/{lick-ws-bridge-DoT1E5ir.js → lick-ws-bridge-CpfyWpA1.js} +1 -1
  79. package/dist/ui/assets/{live-session-curation-BKsScSRB.js → live-session-curation-Ca2l7n4Y.js} +1 -1
  80. package/dist/ui/assets/{live-session-snapshot-6V9mPUM5.js → live-session-snapshot-CwIg_xLr.js} +1 -1
  81. package/dist/ui/assets/{local-llm-C0NdLczW.js → local-llm-JCt1rw3P.js} +1 -1
  82. package/dist/ui/assets/{local-llm-DoZ2LiSE.js → local-llm-nmjO5IZu.js} +1 -1
  83. package/dist/ui/assets/{magick-wasm-BL5NYmcE.js → magick-wasm-BbnwhVj1.js} +1 -1
  84. package/dist/ui/assets/{main-cherry-C3pK2VKW.js → main-cherry-DEfI7-Tc.js} +1 -1
  85. package/dist/ui/assets/main-w6Exm8L8.js +22 -0
  86. package/dist/ui/assets/{memory-curation-seam-B_5OPYdP.js → memory-curation-seam-Cobbz5Zn.js} +1 -1
  87. package/dist/ui/assets/{memory-health-CRH2Blzq.js → memory-health-vxHFOAyj.js} +1 -1
  88. package/dist/ui/assets/{memory-write-execute-BfCExMYN.js → memory-write-execute-BX9yxL7O.js} +1 -1
  89. package/dist/ui/assets/{merge-folded-cost-into-frozen-CoL4Bfzs.js → merge-folded-cost-into-frozen-CZVMMkqD.js} +1 -1
  90. package/dist/ui/assets/{mount-B3v77n4z.js → mount-B9J1PFNY.js} +3 -3
  91. package/dist/ui/assets/{mount-TnWJttSG.js → mount-B_HxGi2u.js} +1 -1
  92. package/dist/ui/assets/{mount-bridge-client-DkrmF1xh.js → mount-bridge-client-DEndUe7m.js} +1 -1
  93. package/dist/ui/assets/{mount-bridge-client-CaHZ1pkb.js → mount-bridge-client-DZrU_hNA.js} +1 -1
  94. package/dist/ui/assets/{new-session-C8MNLQeR.js → new-session-DxWAkfFC.js} +2 -2
  95. package/dist/ui/assets/{oauth-bootstrap-BW3jawLe.js → oauth-bootstrap-CUx3MHQU.js} +2 -2
  96. package/dist/ui/assets/{oauth-service-_PUd0RqU.js → oauth-service-B-vKfxAF.js} +1 -1
  97. package/dist/ui/assets/{oauth-service-B_A2Hp66.js → oauth-service-Bx_Dy3GC.js} +1 -1
  98. package/dist/ui/assets/{onboarding-orchestrator-Ca5D3wWS.js → onboarding-orchestrator-BmmHvIVu.js} +1 -1
  99. package/dist/ui/assets/{openai-codex-B-c0ZWNV.js → openai-codex-C4jT9E_A.js} +1 -1
  100. package/dist/ui/assets/{openai-codex-CMsdDz1G.js → openai-codex-J2b5KblU.js} +1 -1
  101. package/dist/ui/assets/{openrouter-B7Sm8SVp.js → openrouter-DyTOpALx.js} +1 -1
  102. package/dist/ui/assets/{openrouter-free-D6PoJTox.js → openrouter-free-7H1zXRQU.js} +1 -1
  103. package/dist/ui/assets/{openrouter-free-F9UehDw-.js → openrouter-free-Pt5y06fc.js} +1 -1
  104. package/dist/ui/assets/{openrouter-oauth-ClC2jnRu.js → openrouter-oauth-CEBed1-l.js} +1 -1
  105. package/dist/ui/assets/{openrouter-oauth-CWDz3gd8.js → openrouter-oauth-CSxyP2rj.js} +1 -1
  106. package/dist/ui/assets/{openrouter-ChF-ckvt.js → openrouter-ofkT0aoX.js} +1 -1
  107. package/dist/ui/assets/{opfs-mount-mkZhMkc1.js → opfs-mount-BuqP2uD5.js} +1 -1
  108. package/dist/ui/assets/{page-approval-service-DRZEjhrX.js → page-approval-service-C8ldGtOt.js} +1 -1
  109. package/dist/ui/assets/panel-rpc-handlers-CN-bZk_l.js +2 -0
  110. package/dist/ui/assets/{panelize-shell-RRJ2rlAy.js → panelize-shell-DUJYWiZV.js} +1 -1
  111. package/dist/ui/assets/{pi-edit-execution-Cn6P8kEd.js → pi-edit-execution-8jCHI3TS.js} +1 -1
  112. package/dist/ui/assets/{port-bridge-client-DvO4atpq.js → port-bridge-client-BmVU5J9w.js} +1 -1
  113. package/dist/ui/assets/{port-bridge-client-BiWcfZSc.js → port-bridge-client-D_erEovW.js} +1 -1
  114. package/dist/ui/assets/{provider-CFbeLwlx.js → provider--mGXmJpF.js} +2 -2
  115. package/dist/ui/assets/{provider-BkkOFpKq.js → provider-Bt6qZtyJ.js} +1 -1
  116. package/dist/ui/assets/{provider-settings-Df1UWum6.js → provider-settings-BwJG3uTg.js} +1 -1
  117. package/dist/ui/assets/provider-store-access-CDPwdTH9.js +1 -0
  118. package/dist/ui/assets/provider-store-access-CDdrU9n9.js +1 -0
  119. package/dist/ui/assets/{providers-narfgv33.js → providers-D1c5wfUX.js} +1 -1
  120. package/dist/ui/assets/{providers-DelYSiJM.js → providers-DIoYD57Y.js} +2 -2
  121. package/dist/ui/assets/proxied-fetch-CoZ8jHud.js +1 -0
  122. package/dist/ui/assets/proxied-fetch-Cplb-Tee.js +2 -0
  123. package/dist/ui/assets/proxied-fetch-raw-Cb_C44Cy.js +1 -0
  124. package/dist/ui/assets/proxied-fetch-raw-Di1Dm8fV.js +2 -0
  125. package/dist/ui/assets/proxied-fetch-raw-port-Dv7XYtb4.js +1 -0
  126. package/dist/ui/assets/proxied-fetch-raw-types-BapqdEuh.js +1 -0
  127. package/dist/ui/assets/proxy-error-BSFYY7jj.js +1 -0
  128. package/dist/ui/assets/py-realm-worker-COX6g80P.js +259 -0
  129. package/dist/ui/assets/pyodide-BC3toCIx.js +3 -0
  130. package/dist/ui/assets/{quick-llm-t5wZbj0G.js → quick-llm-DEYdfXLe.js} +1 -1
  131. package/dist/ui/assets/{realm-inprocess-DIZ0NkAs.js → realm-inprocess-NbPERg8o.js} +2 -2
  132. package/dist/ui/assets/{realm-unhandled-rejections-BIyM8soC.js → realm-unhandled-rejections-6MGGflOC.js} +1 -1
  133. package/dist/ui/assets/{realm-unhandled-rejections-DzT6eKFi.js → realm-unhandled-rejections-DsHiCtIN.js} +1 -1
  134. package/dist/ui/assets/{recovery-screen-DvZoe1eu.js → recovery-screen-DvIBDOSX.js} +1 -1
  135. package/dist/ui/assets/{redirect-uri-DvNqGm3U.js → redirect-uri-31pXIMS9.js} +1 -1
  136. package/dist/ui/assets/{remote-terminal-view-BeYl7akD.js → remote-terminal-view-CYcyqFH0.js} +2 -2
  137. package/dist/ui/assets/{request-body-BF4moGct.js → request-body-uLA3lKVr.js} +1 -1
  138. package/dist/ui/assets/{require-guards-Du4bUc9R.js → require-guards-DKdJuMhY.js} +1 -1
  139. package/dist/ui/assets/rest-ops-BMlgdArp.js +1 -0
  140. package/dist/ui/assets/{rest-ops-B4SFZmC5.js → rest-ops-DDzQA0qH.js} +1 -1
  141. package/dist/ui/assets/{restore-B7CtAq9P.js → restore-DsWz89XD.js} +1 -1
  142. package/dist/ui/assets/{run-DkUy3OHx.js → run-BDHhQhn9.js} +2 -2
  143. package/dist/ui/assets/{run-DVDUpupT.js → run-BmkgHTe9.js} +1 -1
  144. package/dist/ui/assets/{run-DpwgbNbp.js → run-C3gSJP50.js} +1 -1
  145. package/dist/ui/assets/{run-BVpDhce0.js → run-C4UypAKZ.js} +1 -1
  146. package/dist/ui/assets/{run-NrNIVu5b.js → run-CVBBxsHF.js} +3 -3
  147. package/dist/ui/assets/{run-C2YgBAHx.js → run-CgY-k2R4.js} +1 -1
  148. package/dist/ui/assets/{run-BBYfg5ni.js → run-CnjjyjOW.js} +1 -1
  149. package/dist/ui/assets/{run-VCYF-r1b.js → run-D7KFxRYl.js} +1 -1
  150. package/dist/ui/assets/run-DblIhkAI.js +15 -0
  151. package/dist/ui/assets/{run-BySbsyjF.js → run-zJ9eMMQs.js} +2 -2
  152. package/dist/ui/assets/{screencapture-run-DUAmyetz.js → screencapture-run-DRiSGUJ9.js} +1 -1
  153. package/dist/ui/assets/{secret-env-iwcdxjpw.js → secret-env-DQjPh_hw.js} +1 -1
  154. package/dist/ui/assets/secret-topology-Dm_PZRZx.js +1 -0
  155. package/dist/ui/assets/{secrets-bridge-client-B_CG-HIg.js → secrets-bridge-client-CWv2_nw7.js} +1 -1
  156. package/dist/ui/assets/{secrets-bridge-client-Cxg_UIbw.js → secrets-bridge-client-EgBSROu5.js} +1 -1
  157. package/dist/ui/assets/{session-command-memory-CwZxueuC.js → session-command-memory-BAXs37QY.js} +2 -2
  158. package/dist/ui/assets/{session-jsonl-Bf2fgFhg.js → session-jsonl-BaaVYpSW.js} +1 -1
  159. package/dist/ui/assets/{session-jsonl-B0APtun9.js → session-jsonl-CNJ5nQj_.js} +1 -1
  160. package/dist/ui/assets/{session-search-index-Cj0yWWuZ.js → session-search-index-Cx9WW_ku.js} +1 -1
  161. package/dist/ui/assets/{setup-feature-flags-remote-DobdVTx1.js → setup-feature-flags-remote-DHucwzGy.js} +1 -1
  162. package/dist/ui/assets/{setup-model-catalog-D4LHaeXg.js → setup-model-catalog-BKM4fbRi.js} +1 -1
  163. package/dist/ui/assets/shared-D-ZRFYou.js +4 -0
  164. package/dist/ui/assets/shared-DSEuryGJ.js +1 -0
  165. package/dist/ui/assets/{signed-fetch-i5c9uHzg.js → signed-fetch-CR7EwhGf.js} +1 -1
  166. package/dist/ui/assets/{silent-renew-backoff-BUgLOZtF.js → silent-renew-backoff-4vFyj0nu.js} +1 -1
  167. package/dist/ui/assets/slicc-tls-engine-BgkIbm-w.wasm +0 -0
  168. package/dist/ui/assets/slicc-tls-engine-DfyKw1Ua.js +1 -0
  169. package/dist/ui/assets/slicc-version-cxz32egl.js +1 -0
  170. package/dist/ui/assets/{snapshot-CxBYeic7.js → snapshot-DVQZY6hr.js} +1 -1
  171. package/dist/ui/assets/{snapshot-features-D9YdXtgT.js → snapshot-features--DrQiUnP.js} +1 -1
  172. package/dist/ui/assets/{soundscape-VpddA9af.js → soundscape-B7jEIpKk.js} +1 -1
  173. package/dist/ui/assets/{speak-DU6xYfaW.js → speak-CAH5AZ3F.js} +1 -1
  174. package/dist/ui/assets/sprinkle-manager-jT_9TC4-.js +1 -0
  175. package/dist/ui/assets/{sprinkle-renderer-D_eHK453.js → sprinkle-renderer-Biqc9HbL.js} +1 -1
  176. package/dist/ui/assets/{ssh-DYTFFLnN.js → ssh-Bs6hnIoe.js} +1 -1
  177. package/dist/ui/assets/{state-BEL8NQ3N.js → state-BFhn4aXS.js} +1 -1
  178. package/dist/ui/assets/{store-Ce8lHof4.js → store-BpaVjCMK.js} +1 -1
  179. package/dist/ui/assets/{store-C8pkV9xX.js → store-CBcILUPG.js} +1 -1
  180. package/dist/ui/assets/{sudo-Dz77pSRv.js → sudo-Bmb8bOGH.js} +1 -1
  181. package/dist/ui/assets/{supervisor-CODgsiun.js → supervisor-DtI-h2it.js} +1 -1
  182. package/dist/ui/assets/{sync-dialog-DEd-6_ea.js → sync-dialog-WB1btoub.js} +1 -1
  183. package/dist/ui/assets/{transformers-env-DDxx-_yr.js → transformers-env-BiujVgd6.js} +1 -1
  184. package/dist/ui/assets/tray-leader-BoVK1Jmf.js +1 -0
  185. package/dist/ui/assets/{tray-leave-runtime-BLeKsvgA.js → tray-leave-runtime-JRyUKoD0.js} +1 -1
  186. package/dist/ui/assets/{tray-runtime-config-CEuo4NwB.js → tray-runtime-config-ConrTcOf.js} +1 -1
  187. package/dist/ui/assets/{tray-sidecar-B5Rwvi0w.js → tray-sidecar-DpqpRZJO.js} +1 -1
  188. package/dist/ui/assets/{turn-journal-DgrDAXyz.js → turn-journal-B1HjlARv.js} +1 -1
  189. package/dist/ui/assets/{upgrade-detection-DkrC9knp.js → upgrade-detection-CHI7eDJf.js} +1 -1
  190. package/dist/ui/assets/{upskill-lick-skip-x-HPkkoo.js → upskill-lick-skip-uWCWgO5X.js} +1 -1
  191. package/dist/ui/assets/{voice-reply-DN-og12Q.js → voice-reply-BoIUNHC0.js} +1 -1
  192. package/dist/ui/assets/{wc-attach-BxBMMvBD.js → wc-attach-B2mbrCaY.js} +2 -2
  193. package/dist/ui/assets/{wc-browser-Bx_tyqby.js → wc-browser-ovxG6VfR.js} +1 -1
  194. package/dist/ui/assets/{wc-computers--Hh_a1eS.js → wc-computers-CAD7OpGs.js} +1 -1
  195. package/dist/ui/assets/{wc-detached-Cfb7cdsS.js → wc-detached-CMwapTus.js} +1 -1
  196. package/dist/ui/assets/wc-extension-BzxuUqsw.js +2 -0
  197. package/dist/ui/assets/{wc-follower-CY8MJG2d.js → wc-follower-BJW0oZJb.js} +3 -3
  198. package/dist/ui/assets/{wc-follower-oauth-Qp2Onk42.js → wc-follower-oauth-CvltH7bi.js} +1 -1
  199. package/dist/ui/assets/{wc-gelatiere-CIqpoRvp.js → wc-gelatiere-CFeucCII.js} +1 -1
  200. package/dist/ui/assets/{wc-live-kIulpDGT.js → wc-live-DJCkQIqD.js} +5 -5
  201. package/dist/ui/assets/{wc-nav-CKLAJB62.js → wc-nav-B5a-p8nj.js} +2 -2
  202. package/dist/ui/assets/{wc-onboarding-CCfbxIFk.js → wc-onboarding-DRCbL2n4.js} +2 -2
  203. package/dist/ui/assets/{wc-permissions-gkkaKIYQ.js → wc-permissions-Jpwq1QQ2.js} +2 -2
  204. package/dist/ui/assets/{wc-placeholder-CPbGysCM.js → wc-placeholder-CHppBHKE.js} +3 -3
  205. package/dist/ui/assets/{wc-secret-request-C-t_JIqx.js → wc-secret-request-C49-ts29.js} +1 -1
  206. package/dist/ui/assets/{wc-settings-C3gOS2HO.js → wc-settings-DWJhwIX-.js} +3 -3
  207. package/dist/ui/assets/{wc-shell-C5TUWPbD.js → wc-shell-BphmvrVA.js} +4 -4
  208. package/dist/ui/assets/{wc-shortcut-config-CxyrO44G.js → wc-shortcut-config-CmkwEHb2.js} +1 -1
  209. package/dist/ui/assets/wc-sprinkles-DHOmRbYx.js +2 -0
  210. package/dist/ui/assets/{wc-transcript-export-uviFziTO.js → wc-transcript-export-e16aeEUK.js} +2 -2
  211. package/dist/ui/assets/{wc-tray-C_LlCq8n.js → wc-tray-DhGd6gx5.js} +4 -4
  212. package/dist/ui/assets/welcome-detection-BDqXMRLD.js +1 -0
  213. package/dist/ui/assets/{whisper-session-DpmN2H-S.js → whisper-session-CtojtMLX.js} +2 -2
  214. package/dist/ui/assets/{xai-grok-Qkm8D-bR.js → xai-grok-BjJME64h.js} +1 -1
  215. package/dist/ui/assets/{xai-grok-DqHHYruF.js → xai-grok-CefU5nmr.js} +1 -1
  216. package/dist/ui/index.html +10 -10
  217. package/dist/ui/packages/webapp/index.html +10 -10
  218. package/package.json +1 -1
  219. package/dist/ui/assets/SKILL-CN4LOg1h.js +0 -1
  220. package/dist/ui/assets/__vite-browser-external-Do0Euzvr.js +0 -1
  221. package/dist/ui/assets/fetch-body-1l9I58Vk.js +0 -1
  222. package/dist/ui/assets/ffmpeg-wasm-DGDKCZ27.js +0 -1
  223. package/dist/ui/assets/follower-navigate-watcher-DVWQWTGU.js +0 -1
  224. package/dist/ui/assets/installer-BdG_mJUp.js +0 -2
  225. package/dist/ui/assets/jsh-executor-m_BRqJJW.js +0 -18
  226. package/dist/ui/assets/main-DmLxMDGT.js +0 -22
  227. package/dist/ui/assets/panel-rpc-handlers-BGopQTZk.js +0 -2
  228. package/dist/ui/assets/provider-store-access-440PUQnq.js +0 -1
  229. package/dist/ui/assets/provider-store-access-ioP6z6ei.js +0 -1
  230. package/dist/ui/assets/proxied-fetch-Ba8A2Dlh.js +0 -1
  231. package/dist/ui/assets/proxied-fetch-DiXk_XGs.js +0 -2
  232. package/dist/ui/assets/proxied-fetch-raw-CzaxeyeU.js +0 -1
  233. package/dist/ui/assets/py-realm-worker-Dd5csRhS.js +0 -259
  234. package/dist/ui/assets/pyodide-CrWMp4az.js +0 -3
  235. package/dist/ui/assets/resolver-Cuxoosmc.js +0 -4
  236. package/dist/ui/assets/rest-ops-DKsDUOxE.js +0 -1
  237. package/dist/ui/assets/run-BUXpkB7_.js +0 -14
  238. package/dist/ui/assets/secret-topology-CZv6A9HW.js +0 -1
  239. package/dist/ui/assets/shared-BDXQKitm.js +0 -1
  240. package/dist/ui/assets/shared-dvo4ZY2y.js +0 -1
  241. package/dist/ui/assets/slicc-version-CyiNVflt.js +0 -1
  242. package/dist/ui/assets/sprinkle-manager-B23UQfKW.js +0 -1
  243. package/dist/ui/assets/tray-leader-PwhN5FVH.js +0 -1
  244. package/dist/ui/assets/wc-extension-DtmFrIBz.js +0 -2
  245. package/dist/ui/assets/wc-sprinkles-CdV_-XON.js +0 -2
  246. package/dist/ui/assets/welcome-detection-62JgQjpE.js +0 -1
@@ -22,6 +22,7 @@ export * from './oauth-extra-domains-storage.js';
22
22
  export * from './preview-url.js';
23
23
  export * from './proxy-headers.js';
24
24
  export * from './raw-fetch-protocol.js';
25
+ export * from './raw-fetch-upload.js';
25
26
  export * from './runtime-env.js';
26
27
  export * from './secret-env-schema.js';
27
28
  export * from './secret-masking.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -23,6 +23,7 @@ export * from './oauth-extra-domains-storage.js';
23
23
  export * from './preview-url.js';
24
24
  export * from './proxy-headers.js';
25
25
  export * from './raw-fetch-protocol.js';
26
+ export * from './raw-fetch-upload.js';
26
27
  export * from './runtime-env.js';
27
28
  export * from './secret-env-schema.js';
28
29
  export * from './secret-masking.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAEjF,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -68,13 +68,21 @@ export declare function parseRawFetchProbeReply(value: unknown): RawFetchProbeRe
68
68
  /** Content type of a raw-mode answer on the node-server hop. */
69
69
  export declare const RAW_FETCH_CONTENT_TYPE = "application/vnd.slicc.raw-fetch";
70
70
  /**
71
- * Request-body ceiling on the node-server hop (CLI and cloud). This hop
72
- * buffers the upload on both ends for now; past this size the bridge answers
73
- * 413 and the webapp refuses before sending.
71
+ * Request-body ceiling for the uploads the node-server hop (CLI and cloud)
72
+ * buffers: text and HMAC-signed bodies, and binary bodies below the stream
73
+ * threshold (see `raw-fetch-upload.ts`). Past it the bridge answers 413 and
74
+ * the webapp refuses before sending.
74
75
  */
75
76
  export declare const RAW_FETCH_BRIDGE_REQUEST_BODY_CAP: number;
76
77
  /** Upper bound on one encoded response-head frame. */
77
78
  export declare const RAW_FETCH_MAX_HEAD_BYTES: number;
79
+ /** Content codings Node's fetch (undici) decodes on its own: the bridge floats. */
80
+ export declare const NODE_DECODED_CODINGS: ReadonlySet<string>;
81
+ /**
82
+ * Content codings Chrome's fetch decodes on its own: the extension float.
83
+ * Chrome advertises `zstd` itself and cannot be told otherwise.
84
+ */
85
+ export declare const BROWSER_DECODED_CODINGS: ReadonlySet<string>;
78
86
  /** `Accept-Encoding` a float sends upstream: exactly the codings it decodes. */
79
87
  export declare const RAW_FETCH_ACCEPT_ENCODING = "gzip, deflate, br";
80
88
  /**
@@ -97,6 +105,8 @@ export declare function rawAcceptEncoding(headers: Record<string, string>): stri
97
105
  export declare function isDecodedPartialResponse(input: {
98
106
  status: number;
99
107
  headers: RawHeaderList;
108
+ /** Codings the float's fetch undid; defaults to {@link NODE_DECODED_CODINGS}. */
109
+ decodedCodings?: ReadonlySet<string>;
100
110
  }): boolean;
101
111
  /** Drop hop-by-hop and float-owned request headers, keeping order. */
102
112
  export declare function stripRawRequestHeaders(headers: RawHeaderList): RawHeaderList;
@@ -115,6 +125,8 @@ export interface RawResponseHeaderInput {
115
125
  * upstream `Content-Length` would no longer count the delivered bytes.
116
126
  */
117
127
  bodyRewritten: boolean;
128
+ /** Codings the float's fetch undid; defaults to {@link NODE_DECODED_CODINGS}. */
129
+ decodedCodings?: ReadonlySet<string>;
118
130
  }
119
131
  /** Whether a response to `method` with `status` carries a body at all. */
120
132
  export declare function rawResponseHasBody(method: string, status: number): boolean;
@@ -146,4 +158,85 @@ export declare function decodeRawResponseFrame(buffer: Uint8Array): {
146
158
  head: RawFetchResponseHead;
147
159
  rest: Uint8Array;
148
160
  } | null;
161
+ /**
162
+ * Why a raw fetch failed without an upstream HTTP response. The accompanying
163
+ * status is the one a proxy should answer its own client with.
164
+ */
165
+ export type RawFetchErrorCode =
166
+ /** The float has no raw mode (a bridge that predates it, or swift-server). */
167
+ 'unsupported'
168
+ /** The request body is past the float's ceiling. */
169
+ | 'request-body-too-large'
170
+ /** A masked secret was used against a domain it is not scoped to. */
171
+ | 'forbidden-secret'
172
+ /** The upstream could not be reached, or the stream broke. */
173
+ | 'upstream'
174
+ /** The float's own transport answered with something raw mode cannot read. */
175
+ | 'bridge';
176
+ /** URL-fragment prefix that tags one raw request for `webRequest` correlation. */
177
+ export declare const RAW_FETCH_TAG_PREFIX = "slicc-raw-";
178
+ /** Largest body chunk one Port message carries. */
179
+ export declare const RAW_FETCH_PORT_CHUNK_BYTES: number;
180
+ /** Chunks a receiver grants up front, in each direction. */
181
+ export declare const RAW_FETCH_PORT_WINDOW = 4;
182
+ /**
183
+ * Uploads a float buffers before sending. Past it the answer is 413. The
184
+ * extension streams large non-text bodies instead (see
185
+ * `RAW_FETCH_STREAM_THRESHOLD_BYTES`), so there the ceiling bounds only the
186
+ * bodies it must hold whole: text bodies (secret unmask) and HMAC-signed ones.
187
+ */
188
+ export declare const RAW_FETCH_BUFFERED_REQUEST_BODY_CAP: number;
189
+ /** Non-text uploads at least this large (or of unknown length) are streamed. */
190
+ export declare const RAW_FETCH_STREAM_THRESHOLD_BYTES: number;
191
+ /** Page → service worker. */
192
+ export type RawPortRequestMsg =
193
+ /**
194
+ * Capability probe, answered with `raw-probe-reply`. A service worker
195
+ * that predates raw mode ignores it, so the page treats silence as
196
+ * unsupported rather than sending a `raw-request` nobody will answer.
197
+ */
198
+ {
199
+ type: 'raw-probe';
200
+ } | {
201
+ type: 'raw-request';
202
+ head: RawFetchRequestHead;
203
+ /** Whether `raw-body-chunk`s follow, ended by `raw-body-end`. */
204
+ hasBody: boolean;
205
+ /** Upload size when the caller knows it. */
206
+ bodyLength?: number;
207
+ /** Response chunks the page grants up front. */
208
+ credits: number;
209
+ } | {
210
+ type: 'raw-body-chunk';
211
+ dataBase64: string;
212
+ } | {
213
+ type: 'raw-body-end';
214
+ } | {
215
+ type: 'raw-credit';
216
+ chunks: number;
217
+ };
218
+ /** Service worker → page. */
219
+ export type RawPortResponseMsg = {
220
+ type: 'raw-probe-reply';
221
+ reply: RawFetchProbeReply;
222
+ } | {
223
+ type: 'raw-body-credit';
224
+ chunks: number;
225
+ } | {
226
+ type: 'raw-response-head';
227
+ head: RawFetchResponseHead;
228
+ hasBody: boolean;
229
+ } | {
230
+ type: 'raw-response-chunk';
231
+ dataBase64: string;
232
+ } | {
233
+ type: 'raw-response-end';
234
+ } | {
235
+ type: 'raw-response-error';
236
+ code: RawFetchErrorCode;
237
+ status: number;
238
+ error: string;
239
+ };
240
+ /** `HTTP/1.1 302 Found` → `Found`; HTTP/2 status lines carry no reason. */
241
+ export declare function reasonFromStatusLine(statusLine: string | undefined): string;
149
242
  //# sourceMappingURL=raw-fetch-protocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"raw-fetch-protocol.d.ts","sourceRoot":"","sources":["../src/raw-fetch-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpD,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,aAAa,CAAC;IACvB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,yDAAyD;AACzD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAWjF;AAED,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,QAAoB,CAAC;AAEnE,sDAAsD;AACtD,eAAO,MAAM,wBAAwB,QAAc,CAAC;AAoCpD,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAE7D;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAIrF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;CACxB,GAAG,OAAO,CAOV;AA2BD,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASpF;AAWD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,sBAAsB,GAAG,aAAa,CAoB/E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAKtE;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAkB9E;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAM7E;AAcD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GACjB;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAezD"}
1
+ {"version":3,"file":"raw-fetch-protocol.d.ts","sourceRoot":"","sources":["../src/raw-fetch-protocol.ts"],"names":[],"mappings":"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"}
@@ -61,9 +61,10 @@ export function parseRawFetchProbeReply(value) {
61
61
  /** Content type of a raw-mode answer on the node-server hop. */
62
62
  export const RAW_FETCH_CONTENT_TYPE = 'application/vnd.slicc.raw-fetch';
63
63
  /**
64
- * Request-body ceiling on the node-server hop (CLI and cloud). This hop
65
- * buffers the upload on both ends for now; past this size the bridge answers
66
- * 413 and the webapp refuses before sending.
64
+ * Request-body ceiling for the uploads the node-server hop (CLI and cloud)
65
+ * buffers: text and HMAC-signed bodies, and binary bodies below the stream
66
+ * threshold (see `raw-fetch-upload.ts`). Past it the bridge answers 413 and
67
+ * the webapp refuses before sending.
67
68
  */
68
69
  export const RAW_FETCH_BRIDGE_REQUEST_BODY_CAP = 256 * 1024 * 1024;
69
70
  /** Upper bound on one encoded response-head frame. */
@@ -97,8 +98,21 @@ const RAW_RESPONSE_SKIP_HEADERS = new Set([
97
98
  'transfer-encoding',
98
99
  'upgrade',
99
100
  ]);
100
- /** Content codings every float's fetch decodes on its own. */
101
- const DECODED_CODINGS = new Set(['gzip', 'x-gzip', 'deflate', 'br']);
101
+ /** Content codings Node's fetch (undici) decodes on its own: the bridge floats. */
102
+ export const NODE_DECODED_CODINGS = new Set([
103
+ 'gzip',
104
+ 'x-gzip',
105
+ 'deflate',
106
+ 'br',
107
+ ]);
108
+ /**
109
+ * Content codings Chrome's fetch decodes on its own: the extension float.
110
+ * Chrome advertises `zstd` itself and cannot be told otherwise.
111
+ */
112
+ export const BROWSER_DECODED_CODINGS = new Set([
113
+ ...NODE_DECODED_CODINGS,
114
+ 'zstd',
115
+ ]);
102
116
  /** `Accept-Encoding` a float sends upstream: exactly the codings it decodes. */
103
117
  export const RAW_FETCH_ACCEPT_ENCODING = 'gzip, deflate, br';
104
118
  /**
@@ -129,7 +143,7 @@ export function isDecodedPartialResponse(input) {
129
143
  .filter(([name]) => name.toLowerCase() === 'content-encoding')
130
144
  .map(([, value]) => value)
131
145
  .join(',');
132
- return codingsWereDecoded(encoding);
146
+ return codingsWereDecoded(encoding, input.decodedCodings ?? NODE_DECODED_CODINGS);
133
147
  }
134
148
  /** Statuses whose responses never carry a body. */
135
149
  const NULL_BODY_STATUSES = new Set([101, 103, 204, 205, 304]);
@@ -179,12 +193,12 @@ export function foldRawRequestHeaders(headers) {
179
193
  return out;
180
194
  }
181
195
  /** True when every listed coding is one the float's fetch undid. */
182
- function codingsWereDecoded(contentEncoding) {
196
+ function codingsWereDecoded(contentEncoding, decodedCodings) {
183
197
  const codings = contentEncoding
184
198
  .split(',')
185
199
  .map((c) => c.trim().toLowerCase())
186
200
  .filter((c) => c !== '' && c !== 'identity');
187
- return codings.length > 0 && codings.every((c) => DECODED_CODINGS.has(c));
201
+ return codings.length > 0 && codings.every((c) => decodedCodings.has(c));
188
202
  }
189
203
  /** Whether a response to `method` with `status` carries a body at all. */
190
204
  export function rawResponseHasBody(method, status) {
@@ -211,7 +225,7 @@ export function rawResponseHeaders(input) {
211
225
  .filter(([name]) => name.toLowerCase() === 'content-encoding')
212
226
  .map(([, value]) => value)
213
227
  .join(',');
214
- const decoded = codingsWereDecoded(encoding);
228
+ const decoded = codingsWereDecoded(encoding, input.decodedCodings ?? NODE_DECODED_CODINGS);
215
229
  const dropLength = decoded || input.bodyRewritten;
216
230
  return withoutHop.filter(([name]) => {
217
231
  const lower = name.toLowerCase();
@@ -293,4 +307,31 @@ export function decodeRawResponseFrame(buffer) {
293
307
  throw new Error('raw fetch: malformed response head');
294
308
  return { head, rest: buffer.subarray(4 + length) };
295
309
  }
310
+ // ── Extension Port leg ─────────────────────────────────────────────────
311
+ //
312
+ // On the extension float the page talks to the service worker over the
313
+ // pinned `fetch-proxy.fetch` Port; raw mode rides it with the messages
314
+ // below. Port messages are JSON, so bytes travel as base64, and the Port
315
+ // has no backpressure of its own, so each direction is credit-based: a
316
+ // sender may have at most as many chunks outstanding as the receiver granted.
317
+ /** URL-fragment prefix that tags one raw request for `webRequest` correlation. */
318
+ export const RAW_FETCH_TAG_PREFIX = 'slicc-raw-';
319
+ /** Largest body chunk one Port message carries. */
320
+ export const RAW_FETCH_PORT_CHUNK_BYTES = 256 * 1024;
321
+ /** Chunks a receiver grants up front, in each direction. */
322
+ export const RAW_FETCH_PORT_WINDOW = 4;
323
+ /**
324
+ * Uploads a float buffers before sending. Past it the answer is 413. The
325
+ * extension streams large non-text bodies instead (see
326
+ * `RAW_FETCH_STREAM_THRESHOLD_BYTES`), so there the ceiling bounds only the
327
+ * bodies it must hold whole: text bodies (secret unmask) and HMAC-signed ones.
328
+ */
329
+ export const RAW_FETCH_BUFFERED_REQUEST_BODY_CAP = 256 * 1024 * 1024;
330
+ /** Non-text uploads at least this large (or of unknown length) are streamed. */
331
+ export const RAW_FETCH_STREAM_THRESHOLD_BYTES = 8 * 1024 * 1024;
332
+ /** `HTTP/1.1 302 Found` → `Found`; HTTP/2 status lines carry no reason. */
333
+ export function reasonFromStatusLine(statusLine) {
334
+ const match = /^HTTP\/\S+\s+\d{3}\s*(.*)$/.exec(statusLine ?? '');
335
+ return match?.[1]?.trim() ?? '';
336
+ }
296
337
  //# sourceMappingURL=raw-fetch-protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"raw-fetch-protocol.js","sourceRoot":"","sources":["../src/raw-fetch-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw-fetch-protocol.js","sourceRoot":"","sources":["../src/raw-fetch-protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Streamed uploads for raw-mode fetches (#3571), shared by the floats that
3
+ * stream a request body with `duplex: 'half'`: the extension service worker
4
+ * and the webapp's page → node-server bridge hop.
5
+ *
6
+ * Chrome streams a request body over HTTP/1.1 (verified on Chrome for
7
+ * Testing 146, loopback and HTTPS), but rejects the first streamed request
8
+ * that needs a new connection before sending any of it: the origin sees no
9
+ * request at all (measured with `credentials: 'omit'`, whose connections are
10
+ * pooled apart). {@link withUnsentUploadRetry} retries exactly that case,
11
+ * and nothing that may have reached the origin.
12
+ */
13
+ import { type RawHeaderList } from './raw-fetch-protocol.js';
14
+ /** Next upload chunk, `null` at the end. */
15
+ export type UploadChunkSource = () => Promise<Uint8Array | null>;
16
+ export interface RetryableUpload {
17
+ /** A fresh body stream for one attempt. */
18
+ stream(): ReadableStream<Uint8Array>;
19
+ /** Whether no attempt has handed `fetch` a single byte yet. */
20
+ untouched(): boolean;
21
+ }
22
+ /**
23
+ * Body streams over one source for successive attempts. Source reads are
24
+ * single-flight and land in a small buffer that only the newest attempt
25
+ * takes from, so a stale attempt whose read is still pending cannot swallow
26
+ * or reorder a chunk. Nothing an attempt delivered is kept: retrying is only
27
+ * sound while {@link RetryableUpload.untouched} holds.
28
+ */
29
+ export declare function createRetryableUpload(source: UploadChunkSource): RetryableUpload;
30
+ /** Adapt a byte stream to an {@link UploadChunkSource}. */
31
+ export declare function readerSource(stream: ReadableStream<Uint8Array>): UploadChunkSource;
32
+ /**
33
+ * Whether a raw upload streams rather than being buffered whole. Text bodies
34
+ * are buffered so the float can unmask secrets in them, HMAC-signed ones so
35
+ * it can sign them, and small ones because a known length keeps
36
+ * `Content-Length` and costs nothing to hold.
37
+ */
38
+ export declare function rawUploadStreams(input: {
39
+ headers: RawHeaderList;
40
+ bodyLength: number | undefined;
41
+ canStream: boolean;
42
+ }): boolean;
43
+ /** Feature test from the Fetch spec's request-streams explainer. */
44
+ export declare function supportsRequestStreams(): boolean;
45
+ /**
46
+ * Whether a rejected attempt may be retried: the measured refusal is a
47
+ * `TypeError` raised before the body handed out a single byte, so the origin
48
+ * cannot hold a complete request (a chunked body needs its terminating
49
+ * chunk). Anything else may have been processed and is never replayed,
50
+ * whatever the method.
51
+ */
52
+ export declare function isUnsentRefusal(err: unknown, upload: RetryableUpload, signal?: AbortSignal): boolean;
53
+ /** Run `attempt` with a streamed body, retrying only an {@link isUnsentRefusal}. */
54
+ export declare function withUnsentUploadRetry<T>(source: UploadChunkSource, attempt: (body: ReadableStream<Uint8Array>) => Promise<T>, signal?: AbortSignal): Promise<T>;
55
+ //# sourceMappingURL=raw-fetch-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-fetch-upload.d.ts","sourceRoot":"","sources":["../src/raw-fetch-upload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,yBAAyB,CAAC;AAGjC,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,+DAA+D;IAC/D,SAAS,IAAI,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAuChF;AAED,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAMlF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,OAAO,CAMV;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,IAAI,OAAO,CAehD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAET;AAED,oFAAoF;AACpF,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACzD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAQZ"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Streamed uploads for raw-mode fetches (#3571), shared by the floats that
3
+ * stream a request body with `duplex: 'half'`: the extension service worker
4
+ * and the webapp's page → node-server bridge hop.
5
+ *
6
+ * Chrome streams a request body over HTTP/1.1 (verified on Chrome for
7
+ * Testing 146, loopback and HTTPS), but rejects the first streamed request
8
+ * that needs a new connection before sending any of it: the origin sees no
9
+ * request at all (measured with `credentials: 'omit'`, whose connections are
10
+ * pooled apart). {@link withUnsentUploadRetry} retries exactly that case,
11
+ * and nothing that may have reached the origin.
12
+ */
13
+ import { isTextRequestContentType } from './content-type.js';
14
+ import { foldRawRequestHeaders, RAW_FETCH_STREAM_THRESHOLD_BYTES, } from './raw-fetch-protocol.js';
15
+ import { HMAC_SIGN_HEADER } from './secrets-pipeline.js';
16
+ /**
17
+ * Body streams over one source for successive attempts. Source reads are
18
+ * single-flight and land in a small buffer that only the newest attempt
19
+ * takes from, so a stale attempt whose read is still pending cannot swallow
20
+ * or reorder a chunk. Nothing an attempt delivered is kept: retrying is only
21
+ * sound while {@link RetryableUpload.untouched} holds.
22
+ */
23
+ export function createRetryableUpload(source) {
24
+ const ready = [];
25
+ let inflight = null;
26
+ let delivered = 0;
27
+ let generation = 0;
28
+ const fill = () => {
29
+ inflight ??= source()
30
+ .then((chunk) => {
31
+ ready.push(chunk);
32
+ })
33
+ .finally(() => {
34
+ inflight = null;
35
+ });
36
+ return inflight;
37
+ };
38
+ const stream = () => {
39
+ const own = ++generation;
40
+ return new ReadableStream({
41
+ async pull(controller) {
42
+ while (ready.length === 0)
43
+ await fill();
44
+ if (own !== generation)
45
+ return;
46
+ const chunk = ready[0];
47
+ if (chunk === null || chunk === undefined) {
48
+ controller.close();
49
+ return;
50
+ }
51
+ ready.shift();
52
+ delivered += chunk.byteLength;
53
+ controller.enqueue(chunk);
54
+ },
55
+ }, { highWaterMark: 0 });
56
+ };
57
+ return { stream, untouched: () => delivered === 0 };
58
+ }
59
+ /** Adapt a byte stream to an {@link UploadChunkSource}. */
60
+ export function readerSource(stream) {
61
+ const reader = stream.getReader();
62
+ return async () => {
63
+ const { done, value } = await reader.read();
64
+ return done ? null : value;
65
+ };
66
+ }
67
+ /**
68
+ * Whether a raw upload streams rather than being buffered whole. Text bodies
69
+ * are buffered so the float can unmask secrets in them, HMAC-signed ones so
70
+ * it can sign them, and small ones because a known length keeps
71
+ * `Content-Length` and costs nothing to hold.
72
+ */
73
+ export function rawUploadStreams(input) {
74
+ if (!input.canStream)
75
+ return false;
76
+ const headers = foldRawRequestHeaders(input.headers);
77
+ if (headers[HMAC_SIGN_HEADER] !== undefined)
78
+ return false;
79
+ if (isTextRequestContentType(headers['content-type'] ?? ''))
80
+ return false;
81
+ return input.bodyLength === undefined || input.bodyLength >= RAW_FETCH_STREAM_THRESHOLD_BYTES;
82
+ }
83
+ /** Feature test from the Fetch spec's request-streams explainer. */
84
+ export function supportsRequestStreams() {
85
+ let duplexAccessed = false;
86
+ try {
87
+ const hasContentType = new Request('https://example.invalid/', {
88
+ body: new ReadableStream(),
89
+ method: 'POST',
90
+ get duplex() {
91
+ duplexAccessed = true;
92
+ return 'half';
93
+ },
94
+ }).headers.has('Content-Type');
95
+ return duplexAccessed && !hasContentType;
96
+ }
97
+ catch {
98
+ return false;
99
+ }
100
+ }
101
+ /**
102
+ * Whether a rejected attempt may be retried: the measured refusal is a
103
+ * `TypeError` raised before the body handed out a single byte, so the origin
104
+ * cannot hold a complete request (a chunked body needs its terminating
105
+ * chunk). Anything else may have been processed and is never replayed,
106
+ * whatever the method.
107
+ */
108
+ export function isUnsentRefusal(err, upload, signal) {
109
+ return err instanceof TypeError && upload.untouched() && !signal?.aborted;
110
+ }
111
+ /** Run `attempt` with a streamed body, retrying only an {@link isUnsentRefusal}. */
112
+ export async function withUnsentUploadRetry(source, attempt, signal) {
113
+ const upload = createRetryableUpload(source);
114
+ try {
115
+ return await attempt(upload.stream());
116
+ }
117
+ catch (err) {
118
+ if (!isUnsentRefusal(err, upload, signal))
119
+ throw err;
120
+ return await attempt(upload.stream());
121
+ }
122
+ }
123
+ //# sourceMappingURL=raw-fetch-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-fetch-upload.js","sourceRoot":"","sources":["../src/raw-fetch-upload.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,15 @@ export declare function buildScrubber(secrets: SecretPair[]): (text: string) =>
51
51
  * but NOT `github.com` itself
52
52
  */
53
53
  export declare function domainMatches(pattern: string, hostname: string): boolean;
54
+ /**
55
+ * The name a secret's domain list is matched against for a request URL: its
56
+ * WHATWG `hostname`. That is lowercase, without port or userinfo, with IDNs in
57
+ * punycode (`xn--…`) and IPv6 in brackets. Every float derives it here so
58
+ * `upstream.test` covers `http://upstream.test:8443/…` alike on node-server
59
+ * and in the extension (swift-server's `URLComponents.host` agrees). An
60
+ * unparseable URL yields `''`, which only the `*` pattern matches.
61
+ */
62
+ export declare function secretScopeHostname(url: string): string;
54
63
  /**
55
64
  * Check if hostname is allowed by any of the domain patterns.
56
65
  */
@@ -1 +1 @@
1
- {"version":3,"file":"secret-masking.d.ts","sourceRoot":"","sources":["../src/secret-masking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmEH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAUrF;AAID;;;;;GAKG;AACH,wBAAsB,IAAI,CACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAgB7E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAcxE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAE5E"}
1
+ {"version":3,"file":"secret-masking.d.ts","sourceRoot":"","sources":["../src/secret-masking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmEH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAUrF;AAID;;;;;GAKG;AACH,wBAAsB,IAAI,CACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAgB7E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAcxE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAE5E"}
@@ -134,6 +134,22 @@ export function domainMatches(pattern, hostname) {
134
134
  // hostname must end with `.example.com` AND have at least one char before
135
135
  return h.length > suffix.length && h.endsWith(suffix);
136
136
  }
137
+ /**
138
+ * The name a secret's domain list is matched against for a request URL: its
139
+ * WHATWG `hostname`. That is lowercase, without port or userinfo, with IDNs in
140
+ * punycode (`xn--…`) and IPv6 in brackets. Every float derives it here so
141
+ * `upstream.test` covers `http://upstream.test:8443/…` alike on node-server
142
+ * and in the extension (swift-server's `URLComponents.host` agrees). An
143
+ * unparseable URL yields `''`, which only the `*` pattern matches.
144
+ */
145
+ export function secretScopeHostname(url) {
146
+ try {
147
+ return new URL(url).hostname;
148
+ }
149
+ catch {
150
+ return '';
151
+ }
152
+ }
137
153
  /**
138
154
  * Check if hostname is allowed by any of the domain patterns.
139
155
  */
@@ -1 +1 @@
1
- {"version":3,"file":"secret-masking.js","sourceRoot":"","sources":["../src/secret-masking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret-masking.js","sourceRoot":"","sources":["../src/secret-masking.ts"],"names":[],"mappings":"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"}
@@ -262,7 +262,7 @@ export class SecretsPipeline {
262
262
  return { url: rawUrl };
263
263
  let user = decodeURIComponent(parsed.username);
264
264
  let pass = decodeURIComponent(parsed.password);
265
- const host = parsed.host;
265
+ const host = parsed.hostname;
266
266
  let touched = false;
267
267
  for (const [maskedValue, ms] of this.maskedToSecret) {
268
268
  if (user.includes(maskedValue) || pass.includes(maskedValue)) {