sliccy 3.40.1 → 3.40.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/node-server/_shared/index.d.ts +2 -0
- package/dist/node-server/_shared/index.d.ts.map +1 -1
- package/dist/node-server/_shared/index.js +2 -0
- package/dist/node-server/_shared/index.js.map +1 -1
- package/dist/node-server/_shared/sign-and-forward.d.ts +75 -0
- package/dist/node-server/_shared/sign-and-forward.d.ts.map +1 -0
- package/dist/node-server/_shared/sign-and-forward.js +278 -0
- package/dist/node-server/_shared/sign-and-forward.js.map +1 -0
- package/dist/node-server/_shared/sigv4.d.ts +26 -0
- package/dist/node-server/_shared/sigv4.d.ts.map +1 -0
- package/dist/node-server/{secrets/signing-s3.js → _shared/sigv4.js} +8 -16
- package/dist/node-server/_shared/sigv4.js.map +1 -0
- package/dist/node-server/secrets/sign-and-forward.d.ts +6 -26
- package/dist/node-server/secrets/sign-and-forward.js +40 -247
- package/dist/ui/assets/__vite-browser-external-CM3Eme-n.js +1 -0
- package/dist/ui/assets/adobe-CO3wS_d5.js +2 -0
- package/dist/ui/assets/{adobe-BuddmT1_.js → adobe-nHLJpNcu.js} +1 -1
- package/dist/ui/assets/agent-bridge-BMD-Yb-z.js +1 -0
- package/dist/ui/assets/agent-message-to-chat-C0egGhwm.js +7 -0
- package/dist/ui/assets/{anthropic-BgHKqajT.js → anthropic-DOdK4eXe.js} +4 -4
- package/dist/ui/assets/{anthropic-CtzKOYSY.js → anthropic-DVQtRZtV.js} +2 -2
- package/dist/ui/assets/{apps-DUrh4PEK.js → apps-CWTJXUQ9.js} +2 -2
- package/dist/ui/assets/azure-openai-CPku4i7e.js +1 -0
- package/dist/ui/assets/azure-openai-DfVwUq3T.js +1 -0
- package/dist/ui/assets/azure-openai-responses-DXY_e5sT.js +1 -0
- package/dist/ui/assets/azure-openai-responses-KQPM7_wG.js +1 -0
- package/dist/ui/assets/backend-local-CMfz45hs.js +9 -0
- package/dist/ui/assets/bedrock-camp-CWvhREqw.js +4 -0
- package/dist/ui/assets/bedrock-camp-Cg_vY0Xg.js +5 -0
- package/dist/ui/assets/biome_wasm-DEjrJMqV.js +1 -0
- package/dist/ui/assets/{bsh-watchdog-x1NhC21S.js → bsh-watchdog-BKneSMpK.js} +1 -1
- package/dist/ui/assets/{cdp-CIf67Kji.js → cdp-C305jY31.js} +4 -4
- package/dist/ui/assets/cdp-ws-page-bridge-D_PY6ku1.js +1 -0
- package/dist/ui/assets/chunk-CMxvf4Kt.js +1 -0
- package/dist/ui/assets/chunk-aKtaBQYM.js +1 -0
- package/dist/ui/assets/clipboard-C2cR8flR.js +1 -0
- package/dist/ui/assets/clipboard-DgFtRQbq.js +1 -0
- package/dist/ui/assets/common-ewBM5he1.js +1 -0
- package/dist/ui/assets/{connect-surface-D4wcacvR.js → connect-surface-BhXK8H17.js} +1 -1
- package/dist/ui/assets/cost-command-BuJBbBZk.js +1 -0
- package/dist/ui/assets/diagnostics-DRDFDs4d.js +1 -0
- package/dist/ui/assets/diagnostics-mI-AnKx_.js +1 -0
- package/dist/ui/assets/{dist-CUdWMJvw.js → dist-BLA4hdWf.js} +4 -4
- package/dist/ui/assets/{dist-CrZ60vIK.js → dist-Cu5Yqq5d2.js} +1 -1
- package/dist/ui/assets/{dist-CXh0a315.js → dist-DbTbRU9p2.js} +4 -4
- package/dist/ui/assets/{dist-CU640e2s.js → dist-lE_MdTdg.js} +1 -1
- package/dist/ui/assets/{es-BCqpNDbf.js → es-C5RdSFrV.js} +5 -5
- package/dist/ui/assets/{esp32-z35G3TbR.js → esp32-BTVUAltJ.js} +1 -1
- package/dist/ui/assets/esp32-CatgC_Vd.js +1 -0
- package/dist/ui/assets/{esp32c2-gLxOsZif.js → esp32c2-CpROmlB0.js} +1 -1
- package/dist/ui/assets/{esp32c2-pl5qy6El.js → esp32c2-Cvhq9547.js} +1 -1
- package/dist/ui/assets/{esp32c3-P3fd2u0V.js → esp32c3-D9lOBWYZ.js} +1 -1
- package/dist/ui/assets/esp32c3-heViyR1Q.js +1 -0
- package/dist/ui/assets/{esp32c5-B1WV7eXo.js → esp32c5-D2poFXyG.js} +1 -1
- package/dist/ui/assets/{esp32c5-VtJmrubf.js → esp32c5-KJSqwo2Q.js} +1 -1
- package/dist/ui/assets/{esp32c6-B-u1dpSJ.js → esp32c6-BMEnOhZ6.js} +1 -1
- package/dist/ui/assets/{esp32c6-roW5XaV9.js → esp32c6-Ct3LxBMw.js} +1 -1
- package/dist/ui/assets/{esp32c61-BEqxfS6j.js → esp32c61-BsudQf3e.js} +1 -1
- package/dist/ui/assets/{esp32c61-e_DudgN9.js → esp32c61-sRp43nbI.js} +1 -1
- package/dist/ui/assets/{esp32h2-BNSoMBaR.js → esp32h2-BKv-WORi.js} +1 -1
- package/dist/ui/assets/{esp32h2-DfHWoI2F.js → esp32h2-CPO25efF.js} +1 -1
- package/dist/ui/assets/{esp32p4-B28QO5xI.js → esp32p4-GHiT8voO.js} +1 -1
- package/dist/ui/assets/{esp32p4-oT03skoL.js → esp32p4-g1tFG0sh.js} +1 -1
- package/dist/ui/assets/{esp32s2-PvYKf6wY.js → esp32s2-BE2gO68i.js} +1 -1
- package/dist/ui/assets/{esp32s2-B4ccaXVM.js → esp32s2-DrH4e7iJ.js} +1 -1
- package/dist/ui/assets/{esp32s3-BEGROUfT.js → esp32s3-BHbeScNz.js} +1 -1
- package/dist/ui/assets/{esp32s3-BR5mq9LB.js → esp32s3-CjMu3q4c.js} +1 -1
- package/dist/ui/assets/esp8266-BPLrOmN4.js +1 -0
- package/dist/ui/assets/esp8266-DNz2CP4r.js +1 -0
- package/dist/ui/assets/esptool-operations-CiX8mbpu.js +12 -0
- package/dist/ui/assets/{esptool-operations-BmdDP4Te.js → esptool-operations-SV6FPHJC.js} +2 -2
- package/dist/ui/assets/{follower-sprinkle-bridge-DhhhEoEw.js → follower-sprinkle-bridge-wXj1EUtA.js} +1 -1
- package/dist/ui/assets/fs-DFVTNTSD.js +1 -0
- package/dist/ui/assets/github-CYjlIHrw.js +1 -0
- package/dist/ui/assets/github-D3seHhWX.js +2 -0
- package/dist/ui/assets/github-copilot-BUZeXPF0.js +2 -0
- package/dist/ui/assets/github-copilot-BVHrjTl4.js +1 -0
- package/dist/ui/assets/google-BbVPHS50.js +1 -0
- package/dist/ui/assets/google-Dl6In6_I.js +1 -0
- package/dist/ui/assets/google-shared-BgawM9oG.js +11 -0
- package/dist/ui/assets/{google-shared-BqepQLFX.js → google-shared-BmpiIO3m.js} +3 -3
- package/dist/ui/assets/google-vertex-DGjVDVSA.js +1 -0
- package/dist/ui/assets/google-vertex-uZ8N77ah.js +1 -0
- package/dist/ui/assets/hid-device-registry-D2LsJCRr.js +1 -0
- package/dist/ui/assets/hosted-config-apply-uAym2aS5.js +1 -0
- package/dist/ui/assets/intercepted-oauth-tLpKagkf.js +1 -0
- package/dist/ui/assets/json-parse-BIGBjpLL.js +3 -0
- package/dist/ui/assets/json-parse-BUunmmNl.js +3 -0
- package/dist/ui/assets/kernel-worker-DHB5K--r.js +9547 -0
- package/dist/ui/assets/lick-ws-bridge-CWcn_Ulj.js +1 -0
- package/dist/ui/assets/{local-llm-BSBAbQIB.js → local-llm-BUXYfcTf.js} +2 -2
- package/dist/ui/assets/logger-DDBAeTLF.js +1 -0
- package/dist/ui/assets/logger-LESFN7Hj.js +1 -0
- package/dist/ui/assets/magick-wasm-BOfRlH1E.js +1 -0
- package/dist/ui/assets/main-B_dqrorc.js +1813 -0
- package/dist/ui/assets/main-cherry-COg9v9ma.js +1 -0
- package/dist/ui/assets/migration-run-BJubka_Q.js +1 -0
- package/dist/ui/assets/mime-types-B9LIwKG5.js +1 -0
- package/dist/ui/assets/mime-types-BG9Gw1bq.js +1 -0
- package/dist/ui/assets/{mistral-BgklU_Dp.js → mistral-CMJILYv2.js} +4 -4
- package/dist/ui/assets/{mistral-DzTfCccO.js → mistral-DGtcP1BQ.js} +4 -4
- package/dist/ui/assets/mount-BUpz4Z5Y.js +1 -0
- package/dist/ui/assets/mount-id-nJcx05eu.js +1 -0
- package/dist/ui/assets/mount-picker-popup-DncaR5N8.js +1 -0
- package/dist/ui/assets/mount-table-store-CQJEV6Ij.js +1 -0
- package/dist/ui/assets/nodejs-BQ9Oov1A.js +1 -0
- package/dist/ui/assets/{nuke-command-B02fs5G-.js → nuke-command-lusrluat.js} +1 -1
- package/dist/ui/assets/oauth-Czw-MuuR.js +1 -0
- package/dist/ui/assets/oauth-bootstrap-CR5cHgP4.js +2 -0
- package/dist/ui/assets/oauth-service-C1ptERg8.js +1 -0
- package/dist/ui/assets/oauth-service-CSJo71ct.js +1 -0
- package/dist/ui/assets/offscreen-client-DugfoS_N.js +1 -0
- package/dist/ui/assets/onboarding-orchestrator-CdmKvVMp.js +1 -0
- package/dist/ui/assets/openai-codex-ClxPqMfK.js +1 -0
- package/dist/ui/assets/openai-codex-D2k0MZA6.js +1 -0
- package/dist/ui/assets/openai-codex-responses-Dpn8XW3b.js +7 -0
- package/dist/ui/assets/openai-codex-responses-bUy20doI.js +7 -0
- package/dist/ui/assets/openai-completions-B_5Ph3h0.js +5 -0
- package/dist/ui/assets/openai-completions-CoYClIFl.js +5 -0
- package/dist/ui/assets/openai-i4HWKCeW.js +16 -0
- package/dist/ui/assets/openai-responses-BQOBB5px.js +1 -0
- package/dist/ui/assets/openai-responses-DqkDb9a5.js +1 -0
- package/dist/ui/assets/{openai-responses-shared-CsK-8CQH.js → openai-responses-shared-CZOJCHE4.js} +4 -4
- package/dist/ui/assets/{openai-responses-shared-DYSAljRs.js → openai-responses-shared-D4pZ3bEY.js} +4 -4
- package/dist/ui/assets/openrouter-QETwrep8.js +1 -0
- package/dist/ui/assets/panel-rpc-Bcvr75SR.js +1 -0
- package/dist/ui/assets/panel-rpc-handlers-DBl8woxD.js +2 -0
- package/dist/ui/assets/path-utils-DU6QhF_k.js +1 -0
- package/dist/ui/assets/picker-approval-tzbkMw-e.js +9 -0
- package/dist/ui/assets/preload-helper-zJ_50EbN.js +1 -0
- package/dist/ui/assets/provider-BhdEMs7H.js +2 -0
- package/dist/ui/assets/provider-Bx8In4Gr.js +1 -0
- package/dist/ui/assets/provider-settings-0pRf6SyW.js +99 -0
- package/dist/ui/assets/provider-store-access-BeQCwCqF.js +1 -0
- package/dist/ui/assets/provider-store-access-C0clpc8W.js +1 -0
- package/dist/ui/assets/providers-B7fnyffD.js +1 -0
- package/dist/ui/assets/{proxied-fetch-CW9YdsrT.js → proxied-fetch-b3C_y-Sa.js} +1 -1
- package/dist/ui/assets/pyodide-BvA4c-59.js +3 -0
- package/dist/ui/assets/remote-cache-_bhYZSLy.js +1 -0
- package/dist/ui/assets/{remote-terminal-view-ChqlFNm7.js → remote-terminal-view-B39iwPyn.js} +3 -3
- package/dist/ui/assets/{remote-vfs-client-Cc4yBMI0.js → remote-vfs-client-BwJhhtIV.js} +1 -1
- package/dist/ui/assets/secret-env-DcfTe28K.js +1 -0
- package/dist/ui/assets/slicc-editor-BdfBeQCF.js +12 -0
- package/dist/ui/assets/{spawn-7Vgp-lrm.js → spawn-BNv0VU_z.js} +1 -1
- package/dist/ui/assets/{sql-wasm-BbdRW4or.js → sql-wasm-Cu5Uk_6k.js} +1 -1
- package/dist/ui/assets/{src-BV-fJ2mM.js → src-CcMujGBk.js} +2 -2
- package/dist/ui/assets/src-CpdsjHiA.js +1 -0
- package/dist/ui/assets/store-D1JCoE9c.js +1 -0
- package/dist/ui/assets/{sudo-CYttizEB.js → sudo-BuD2RD3I.js} +1 -1
- package/dist/ui/assets/tool-ui-N76-EdVc.js +1 -0
- package/dist/ui/assets/tool-ui-YOPqzMmL.js +1 -0
- package/dist/ui/assets/transform-messages-B3Q-Bwv-.js +1 -0
- package/dist/ui/assets/transform-messages-C1X1O3BY.js +1 -0
- package/dist/ui/assets/{tray-leave-runtime-BYZH2LNU.js → tray-leave-runtime-CRZEf8YZ.js} +1 -1
- package/dist/ui/assets/tray-runtime-config-BRnpyDNS.js +1 -0
- package/dist/ui/assets/types-idfTVsM8.js +1 -0
- package/dist/ui/assets/{typescript-DY6vxmmv.js → typescript-qBO0Z4wm.js} +15 -15
- package/dist/ui/assets/upgrade-detection-DhxJ-jq1.js +1 -0
- package/dist/ui/assets/web-BMWiUYJ-.js +1 -0
- package/dist/ui/assets/{writable-vfs-client-lsN1qOSV.js → writable-vfs-client-DMYsajEE.js} +1 -1
- package/dist/ui/assets/ws-subscribers-Dzuxa2F7.js +1 -0
- package/dist/ui/assets/xai-grok-B4ABtgts.js +1 -0
- package/dist/ui/assets/xai-grok-CSBJajs9.js +1 -0
- package/dist/ui/index.html +15 -1
- package/dist/ui/packages/webapp/index.html +15 -1
- package/package.json +5 -5
- package/dist/node-server/secrets/signing-s3.d.ts +0 -34
- package/dist/ui/assets/adobe-DwuDVWKR.js +0 -2
- package/dist/ui/assets/agent-bridge-CQ_WHXpS.js +0 -1
- package/dist/ui/assets/agent-message-to-chat-Bk83dal6.js +0 -7
- package/dist/ui/assets/azure-openai-589UnBaE.js +0 -1
- package/dist/ui/assets/azure-openai-BVD3rRyh.js +0 -1
- package/dist/ui/assets/azure-openai-responses-DDoPpQfz.js +0 -1
- package/dist/ui/assets/azure-openai-responses-DvPlhYRg.js +0 -1
- package/dist/ui/assets/biome_wasm-2BIO-fFD.js +0 -1
- package/dist/ui/assets/cdp-ws-page-bridge-D48c5VHQ.js +0 -1
- package/dist/ui/assets/common-DJglxtI9.js +0 -1
- package/dist/ui/assets/cost-command-Dqjx5BJ4.js +0 -1
- package/dist/ui/assets/esp32-UFl3lGuU.js +0 -1
- package/dist/ui/assets/esp32c3-CtBZCzN8.js +0 -1
- package/dist/ui/assets/esp8266-Cg5dZq5p.js +0 -1
- package/dist/ui/assets/esp8266-MLobtggU.js +0 -1
- package/dist/ui/assets/esptool-operations-PyMOLbEo.js +0 -12
- package/dist/ui/assets/github-BmiOv8pZ.js +0 -1
- package/dist/ui/assets/github-H8WCUoaG.js +0 -2
- package/dist/ui/assets/github-copilot-CFrKRCIh.js +0 -2
- package/dist/ui/assets/github-copilot-LZq-2nbm.js +0 -1
- package/dist/ui/assets/google-Bwhr3ElU.js +0 -1
- package/dist/ui/assets/google-CDEKJo6s.js +0 -1
- package/dist/ui/assets/google-shared-DUInnTRv.js +0 -11
- package/dist/ui/assets/google-vertex-DOk_o4Vo.js +0 -1
- package/dist/ui/assets/google-vertex-Dy07djME.js +0 -1
- package/dist/ui/assets/hosted-config-apply-CIYq4OE-.js +0 -1
- package/dist/ui/assets/intercepted-oauth-DYoA2kA8.js +0 -1
- package/dist/ui/assets/kernel-worker-xMdP33ug.js +0 -9678
- package/dist/ui/assets/lick-ws-bridge-DLXsmZ6H.js +0 -1
- package/dist/ui/assets/magick-wasm-BpDug9Pm.js +0 -1
- package/dist/ui/assets/main-BxzufWem.js +0 -1825
- package/dist/ui/assets/main-cherry-CV5ItRlu.js +0 -1
- package/dist/ui/assets/migration-run-195D_oov.js +0 -1
- package/dist/ui/assets/nodejs-156RsPtl.js +0 -1
- package/dist/ui/assets/oauth-DSEOvfNU.js +0 -1
- package/dist/ui/assets/oauth-bootstrap-CCTPtyS_.js +0 -2
- package/dist/ui/assets/oauth-service-Ctr2_Obu.js +0 -1
- package/dist/ui/assets/oauth-service-LEczdutD.js +0 -1
- package/dist/ui/assets/offscreen-client-Dswx1Ljm.js +0 -1
- package/dist/ui/assets/onboarding-orchestrator-8SmCagx8.js +0 -1
- package/dist/ui/assets/openai-codex-CYM3h5BG.js +0 -1
- package/dist/ui/assets/openai-codex-D-QWKpWb.js +0 -1
- package/dist/ui/assets/openai-codex-responses-CbtdwhQL.js +0 -7
- package/dist/ui/assets/openai-codex-responses-CnQXtoLP.js +0 -7
- package/dist/ui/assets/openai-completions-CbUcQcuU.js +0 -5
- package/dist/ui/assets/openai-responses-DBGxMDFy.js +0 -1
- package/dist/ui/assets/openai-responses-DomGQu-u.js +0 -1
- package/dist/ui/assets/openrouter-i7KtgZt3.js +0 -1
- package/dist/ui/assets/panel-rpc-handlers-BeUo4K-9.js +0 -2
- package/dist/ui/assets/provider-CuOCGXmD.js +0 -1
- package/dist/ui/assets/provider-U8Br2pQO.js +0 -2
- package/dist/ui/assets/provider-store-access-CRMelzXC.js +0 -1
- package/dist/ui/assets/provider-store-access-D9JW2Z9f.js +0 -1
- package/dist/ui/assets/pyodide-BQVwxCA4.js +0 -3
- package/dist/ui/assets/secret-env-mFCaJWuD.js +0 -1
- package/dist/ui/assets/slicc-editor-Bn_0-CZl.js +0 -12
- package/dist/ui/assets/store-DUcHEhum.js +0 -1
- package/dist/ui/assets/upgrade-detection-BmNgOg4g.js +0 -1
- package/dist/ui/assets/web-DRaGEaSq.js +0 -1
- package/dist/ui/assets/ws-subscribers-CxhSakhG.js +0 -1
- package/dist/ui/assets/xai-grok-C0UPkvUi.js +0 -1
- package/dist/ui/assets/xai-grok-DEapxZue.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{g as t,n,r,t as i}from"./kernel-worker-DHB5K--r.js";const a=e(`lick-ws-bridge`);function o(e,o){try{new URL(o.locationHref)}catch(e){throw Error(`startLickWsBridge: invalid locationHref ${JSON.stringify(o.locationHref)}: ${e instanceof Error?e.message:String(e)}`)}let s=o.webSocketFactory??(e=>new WebSocket(e)),c=o.reconnectDelayMs??3e3,l=o.setTimeoutFn??setTimeout,u=o.clearTimeoutFn??clearTimeout,d=!1,f=null,p=null,m=0,h=!1,g=i(o.locationHref),_=()=>{if(d)return;let e;try{e=s(g)}catch(e){a.error(`Failed to construct lick WebSocket`,{url:g,error:e instanceof Error?e.message:String(e)}),v(`construct-threw`);return}f=e,e.onopen=()=>{m>0?a.info(`Lick WebSocket recovered`,{attempts:m}):a.info(`Lick WebSocket connected`),m=0,h=!1},e.onmessage=t=>{b(e,t.data).catch(e=>{let n=typeof t.data==`string`?t.data.slice(0,200):`[non-string payload]`;a.error(`Failed to process lick message`,{error:e instanceof Error?e.message:String(e),preview:n})})},e.onclose=t=>{if(f===e&&(f=null),d)return;let n=t.reason?` reason=${JSON.stringify(t.reason)}`:``;v(`disconnected code=${t.code}${n}`)},e.onerror=e=>{let t=e.target;a.error(`Lick WebSocket error`,{url:g,readyState:t?.readyState,eventType:e.type})}},v=t=>{if(p!=null){a.debug(`Lick WS failure during pending reconnect — keeping existing timer`,{cause:t});return}m++;let n=Math.min(c*2**(m-1),6e4),r={url:g,attempt:m,cause:t,retryInMs:n};if(m>=3?a.error(`Lick WebSocket still down`,r):a.warn(`Lick WebSocket down`,r),m===20&&!h){h=!0;try{e.emitEvent({type:`session-reload`,targetScoop:void 0,timestamp:new Date().toISOString(),body:{reason:`lick-ws-bridge-down`,url:g,attempts:m}})}catch(e){a.error(`Failed to emit lick-ws-bridge-down signal`,{error:e instanceof Error?e.message:String(e)})}}y(n)},y=e=>{d||p!=null||(p=l(()=>{p=null,_()},e))},b=async(t,n)=>{let r=JSON.parse(typeof n==`string`?n:String(n));if(r.requestId){let e=r.requestId,n=await x(r,e);if(d||f!==t||t.readyState!==1){a.warn(`Lick reply dropped — socket changed/closed mid-request`,{type:r.type,requestId:e});return}try{t.send(JSON.stringify(n))}catch(t){a.error(`ws.send() failed delivering lick reply`,{type:r.type,requestId:e,error:t instanceof Error?t.message:String(t)})}return}if(r.type===`webhook_event`){let t=typeof r.webhookId==`string`?r.webhookId:null;if(!t){a.error(`Malformed webhook_event from lick-ws`,{receivedKeys:Object.keys(r)});return}let n=r.headers&&typeof r.headers==`object`?r.headers:{};try{e.handleWebhookEvent(t,n,r.body)}catch(e){a.error(`Webhook event dispatch failed`,{webhookId:t,error:e instanceof Error?e.message:String(e)})}return}if(r.type===`navigate_event`){let t=typeof r.verb==`string`?r.verb:null,n=typeof r.target==`string`?r.target:null,i=typeof r.url==`string`&&r.url.length>0?r.url:null;if(t!==`handoff`&&t!==`upskill`||!n||!i){a.debug(`navigate_event dropped — invalid payload`,{hasVerb:!!t,hasTarget:!!n,hasUrl:!!i});return}let o={url:i,verb:t,target:n};typeof r.instruction==`string`&&(o.instruction=r.instruction),typeof r.branch==`string`&&(o.branch=r.branch),typeof r.path==`string`&&(o.path=r.path),typeof r.title==`string`&&(o.title=r.title),e.emitEvent({type:`navigate`,navigateUrl:i,targetScoop:void 0,timestamp:typeof r.timestamp==`string`?r.timestamp:new Date().toISOString(),body:o})}},x=async(n,r)=>{try{switch(n.type){case`list_webhooks`:return{type:`response`,requestId:r,data:e.listWebhooks().map(e=>({...e,url:S(e.id)}))};case`create_webhook`:{let t=await e.createWebhook(n.name||`default`,n.scoop,n.filter);return{type:`response`,requestId:r,data:{...t,url:S(t.id)}}}case`delete_webhook`:return await e.deleteWebhook(n.id)?{type:`response`,requestId:r,data:{ok:!0}}:{type:`response`,requestId:r,data:{error:`Webhook not found`}};case`list_crontasks`:return{type:`response`,requestId:r,data:e.listCronTasks()};case`create_crontask`:if(!n.name)throw Error(`name is required`);if(!n.cron)throw Error(`cron is required`);return{type:`response`,requestId:r,data:await e.createCronTask(n.name,n.cron,n.scoop,n.filter)};case`delete_crontask`:return await e.deleteCronTask(n.id)?{type:`response`,requestId:r,data:{ok:!0}}:{type:`response`,requestId:r,data:{error:`Cron task not found`}};case`tray_status`:{let e=t();return{type:`response`,requestId:r,data:{state:e.state,joinUrl:e.session?.joinUrl??null,workerBaseUrl:e.session?.workerBaseUrl??null,trayId:e.session?.trayId??null}}}default:return{type:`response`,requestId:r,error:`Unknown request type: ${n.type}`}}}catch(e){return{type:`response`,requestId:r,error:e instanceof Error?e.message:String(e)}}},S=e=>{let i=t().session;return i?.webhookUrl?n(i.webhookUrl,e):r(o.locationHref,e)};return _(),{stop(){if(d)return;d=!0,p!=null&&(u(p),p=null);let e=f;if(f=null,e)try{e.close()}catch(t){e.readyState!==3&&e.readyState!==2&&a.warn(`Lick socket close() threw before terminal state`,{readyState:e.readyState,error:t instanceof Error?t.message:String(t)})}}}}export{o as startLickWsBridge};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`),requiresApiKey:!1,optionalApiKey:!0,apiKeyPlaceholder:`Leave empty for local servers, or paste a key for hosted endpoints`,apiKeyEnvVar:`LOCAL_LLM_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`http://localhost:11434/v1`,baseUrlDescription:`Ollama: 11434 • LM Studio: 1234 • llama.cpp/mlx: 8080 • vLLM: 8000 • Jan: 1337. Trailing /v1 required.`,requiresDeployment:!0,deploymentPlaceholder:`llama3.1:8b, qwen2.5-coder:14b`,deploymentDescription:`Comma-separated model IDs from your server. List them with: curl <baseUrl>/models | jq -r .data[].id`,getModelIds:()=>{let e=d(
|
|
1
|
+
import{m as e}from"./bedrock-camp-CWvhREqw.js";import{o as t}from"./transform-messages-B3Q-Bwv-.js";import{t as n}from"./logger-DDBAeTLF.js";import{l as r}from"./main-B_dqrorc.js";import{streamOpenAICompletions as i,streamSimpleOpenAICompletions as a}from"./openai-completions-B_5Ph3h0.js";var o=n(`local-llm`),s=`local-llm`,c=`local`,l=`${s}-unconfigured`,u={id:s,name:`Local LLM (OpenAI-compatible)`,description:[`Connect to any OpenAI-compatible local model server.`,``,`Common base URLs:`,` • Ollama http://localhost:11434/v1`,` • LM Studio http://localhost:1234/v1`,` • llama.cpp http://localhost:8080/v1`,` • vLLM http://localhost:8000/v1`,` • mlx_lm http://localhost:8080/v1`,` • Jan http://localhost:1337/v1`,``,`Ollama needs OLLAMA_ORIGINS=* (or chrome-extension://*) so the`,`browser can reach it. macOS: launchctl setenv OLLAMA_ORIGINS "*".`].join(`
|
|
2
|
+
`),requiresApiKey:!1,optionalApiKey:!0,apiKeyPlaceholder:`Leave empty for local servers, or paste a key for hosted endpoints`,apiKeyEnvVar:`LOCAL_LLM_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`http://localhost:11434/v1`,baseUrlDescription:`Ollama: 11434 • LM Studio: 1234 • llama.cpp/mlx: 8080 • vLLM: 8000 • Jan: 1337. Trailing /v1 required.`,requiresDeployment:!0,deploymentPlaceholder:`llama3.1:8b, qwen2.5-coder:14b`,deploymentDescription:`Comma-separated model IDs from your server. List them with: curl <baseUrl>/models | jq -r .data[].id`,getModelIds:()=>{let e=d(r(s));return e.length===0?[{id:l,name:`Local LLM (set base URL + model IDs in Settings)`,api:`openai`}]:e.map(e=>({id:e,name:e,api:`openai`,input:[`text`],context_window:32e3,max_tokens:4096}))}};function d(e){return e?e.split(`,`).map(e=>e.trim()).filter(Boolean):[]}var f=`openai-completions`,p=`${s}-openai`;function m(e){return{...e,api:f}}function h(e){let t=e??{};return!t.apiKey||t.apiKey.length===0?{...t,apiKey:c}:t}var g=(e,t,n={})=>e.id===l?v(e,`Local LLM is not configured. Set base URL and model IDs in Settings.`):e.baseUrl?i(m(e),t,h(n)):v(e,`Local LLM base URL is required (e.g. http://localhost:11434/v1).`),_=(e,t,n)=>e.id===l?v(e,`Local LLM is not configured. Set base URL and model IDs in Settings.`):e.baseUrl?a(m(e),t,h(n)):v(e,`Local LLM base URL is required (e.g. http://localhost:11434/v1).`);function v(e,n){let r=t(),i={role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:n,timestamp:Date.now()};return queueMicrotask(()=>{r.push({type:`error`,reason:`error`,error:i}),r.end()}),r}function y(){e({api:p,stream:g,streamSimple:_})}function b(e){try{let t=new URL(e);return`${t.protocol}//${t.host}`}catch{return e.replace(/\/v1\/?$/,``).replace(/\/+$/,``)}}function x(e){let t=e.replace(/\/+$/,``);try{let e=new URL(t);if(e.pathname===``||e.pathname===`/`)return`${t}/v1`}catch{}return t}async function S(e,t,n){let r=`${x(e)}/models`,i={Accept:`application/json`};t&&t.length>0&&(i.Authorization=`Bearer ${t}`);let a=await fetch(r,{method:`GET`,headers:i,signal:n});if(!a.ok)throw Error(`GET ${r} -> ${a.status} ${a.statusText}`);let o=await a.json();return Array.isArray(o.data)?o.data.map(e=>e.id??``).filter(e=>e.length>0):[]}async function C(e,t){let n=b(e),r=await T(`${n}/api/version`,t);if(r&&typeof r.version==`string`)return{kind:`ollama`,version:r.version};let i=await T(`${n}/api/v0/models`,t);if(i&&i.object===`list`)return{kind:`lmstudio`};let a=await T(`${n}/props`,t);if(a&&`build_info`in a)return{kind:`llamacpp`,version:a.build_info?.version};let o=w(e);return o===`11434`?{kind:`ollama`}:o===`1234`?{kind:`lmstudio`}:o===`8000`?{kind:`vllm`}:o===`1337`?{kind:`jan`}:{kind:`unknown`}}function w(e){try{return new URL(e).port||null}catch{return null}}async function T(e,t){try{let n=await fetch(e,{method:`GET`,signal:t});return n.ok?await n.json():null}catch{return null}}async function E(e,t,n){let r={kind:`unknown`};try{r=await C(e,n)}catch{}try{let i=await S(e,t,n);return{ok:!0,runtime:r,models:i}}catch(t){let n=t instanceof Error?t.message:String(t),i=D(n,r.kind);return o.warn(`verifyConnection failed`,{baseUrl:e,runtime:r.kind,message:n}),{ok:!1,runtime:r,models:[],error:i}}}function D(e,t){let n=e.toLowerCase();return n.includes(`failed to fetch`)||n.includes(`networkerror`)?t===`ollama`?{kind:`cors`,message:e,hint:'Ollama rejects requests from non-localhost origins by default. Set OLLAMA_ORIGINS=* (or chrome-extension://*) and restart Ollama. macOS: `launchctl setenv OLLAMA_ORIGINS "*"` then quit and relaunch the Ollama app.'}:{kind:`connection`,message:e,hint:`Server unreachable. Check the URL and that the server is running.`}:n.includes(` 401`)||n.includes(` 403`)?{kind:`auth`,message:e,hint:`Server returned an auth error. If your endpoint requires a key, set it in Settings.`}:/-> \d{3} /.test(e)?{kind:`http`,message:e}:{kind:`unknown`,message:e}}export{u as config,C as detectRuntime,S as discoverModels,b as originOf,y as register,E as verifyConnection};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={DEBUG:0,INFO:1,WARN:2,ERROR:3},t=e.ERROR,n=10,r=6e4;function i(e,t){let n=e;if(t.length>0)try{n+=` `+JSON.stringify(t)}catch{n+=` [unserializable]`}return n.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,`<id>`).replace(/\b[0-9a-f]{8,}\b/gi,`<hex>`).replace(/\b\d{10,}\b/g,`<ts>`).replace(/\b\d+(\.\d+)?\b/g,`<n>`)}var a=class{entries=[];log(e,t,r,a,o){let s=i(a,o),c=Date.now();this.evict(c);let l=this.entries.find(e=>e.fingerprint===s&&e.level===r);if(l)return l.count++,!1;if(this.entries.length>=n){let e=this.entries.shift();this.flushEntry(e)}return this.entries.push({fingerprint:s,count:0,firstSeen:c,level:r,consoleFn:e,prefix:t,message:a}),!0}flush(){for(let e of this.entries)this.flushEntry(e);this.entries=[]}clear(){this.entries=[]}evict(e){for(;this.entries.length>0&&e-this.entries[0].firstSeen>r;){let e=this.entries.shift();this.flushEntry(e)}}flushEntry(e){e.count>0&&t<=e.level&&e.consoleFn(e.prefix,`(suppressed ${e.count} similar: "${e.message}")`)}},o=new Set;function s(n){let r=`[${n}]`,i=new a;o.add(i);function s(n){return(a,...o)=>{if(t>n)return;let s=n===e.DEBUG?console.debug:n===e.INFO?console.info:n===e.WARN?console.warn:console.error;i.log(s,r,n,a,o)&&s(r,a,...o)}}return{debug:s(e.DEBUG),info:s(e.INFO),warn:s(e.WARN),error:s(e.ERROR)}}export{s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={DEBUG:0,INFO:1,WARN:2,ERROR:3};let t=e.ERROR;function n(e,t){let n=e;if(t.length>0)try{n+=` `+JSON.stringify(t)}catch{n+=` [unserializable]`}return n.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,`<id>`).replace(/\b[0-9a-f]{8,}\b/gi,`<hex>`).replace(/\b\d{10,}\b/g,`<ts>`).replace(/\b\d+(\.\d+)?\b/g,`<n>`)}var r=class{entries=[];log(e,t,r,i,a){let o=n(i,a),s=Date.now();this.evict(s);let c=this.entries.find(e=>e.fingerprint===o&&e.level===r);if(c)return c.count++,!1;if(this.entries.length>=10){let e=this.entries.shift();this.flushEntry(e)}return this.entries.push({fingerprint:o,count:0,firstSeen:s,level:r,consoleFn:e,prefix:t,message:i}),!0}flush(){for(let e of this.entries)this.flushEntry(e);this.entries=[]}clear(){this.entries=[]}evict(e){for(;this.entries.length>0&&e-this.entries[0].firstSeen>6e4;){let e=this.entries.shift();this.flushEntry(e)}}flushEntry(e){e.count>0&&t<=e.level&&e.consoleFn(e.prefix,`(suppressed ${e.count} similar: "${e.message}")`)}};const i=new Set;function a(n){let a=`[${n}]`,o=new r;i.add(o);function s(n){return(r,...i)=>{if(t>n)return;let s=n===e.DEBUG?console.debug:n===e.INFO?console.info:n===e.WARN?console.warn:console.error;o.log(s,a,n,r,i)&&s(a,r,...i)}}return{debug:s(e.DEBUG),info:s(e.INFO),warn:s(e.WARN),error:s(e.ERROR)}}export{a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./preload-helper-zJ_50EbN.js";import{_ as t}from"./main-B_dqrorc.js";[`unpkg`,`com`].join(`.`),[`esm`,`sh`].join(`.`);var n=[`cdn`,`jsdelivr`,`net`].join(`.`);function r(e,t){return new URL(t,`https://${e}`)}function i(e,t,i){return r(n,`/npm/${e}${t?`@${t}`:``}${i?`/${i.replace(/^\/+/,``)}`:``}`)}var a={"image/jpeg":`JPEG`,"image/png":`PNG`,"image/gif":`GIF`,"image/webp":`WEBP`,"image/bmp":`BMP`,"image/tiff":`TIFF`,"image/avif":`AVIF`},o=null,s=i(`@imagemagick/magick-wasm`,`0.0.38`,`dist/`).toString(),c=typeof chrome<`u`&&!!chrome?.runtime?.id;async function l(){return o||=(async()=>{try{let n=await e(()=>import(`./dist-DElqKLgF.js`),[]);if(c){let e=chrome.runtime.getURL(`magick.wasm`),t=await fetch(e);if(!t.ok)throw Error(`Failed to fetch magick.wasm: ${t.status} ${t.statusText}`);let r=new Uint8Array(await t.arrayBuffer());await n.initializeImageMagick(r)}else{let e=t()?new URL(`/assets/index-BeMnZBAU.js`,``+import.meta.url).toString():s,r=new URL(`magick.wasm`,e);await n.initializeImageMagick(r)}return n}catch(e){throw o=null,e}})(),o}export{s as MAGICK_WASM_CDN,a as MIME_TO_MAGICK_FORMAT,l as getMagick,c as isExtension};
|