sliccy 6.126.0 → 6.127.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.
- package/dist/node-server/_shared/index.d.ts +1 -0
- package/dist/node-server/_shared/index.d.ts.map +1 -1
- package/dist/node-server/_shared/index.js +1 -0
- package/dist/node-server/_shared/index.js.map +1 -1
- package/dist/node-server/_shared/tray-url-shared.d.ts +28 -0
- package/dist/node-server/_shared/tray-url-shared.d.ts.map +1 -0
- package/dist/node-server/{tray-url-shared.js → _shared/tray-url-shared.js} +17 -0
- package/dist/node-server/_shared/tray-url-shared.js.map +1 -0
- package/dist/node-server/electron-controller.js +1 -2
- package/dist/node-server/index.js +1 -2
- package/dist/node-server/launch-url.js +1 -1
- package/dist/ui/.vite/manifest.json +235 -235
- package/dist/ui/assets/{account-store-CjhBDvsz.js → account-store-Cm0hnqZ2.js} +3 -3
- package/dist/ui/assets/{account-store-C_HrRX_q.js → account-store-Km80sJO4.js} +1 -1
- package/dist/ui/assets/{adobe-67cAxgY4.js → adobe-CvHdPbie.js} +1 -1
- package/dist/ui/assets/{adobe-xcXbXoo4.js → adobe-DBYkG8It.js} +2 -2
- package/dist/ui/assets/{agent-bridge-DoyCJyqH.js → agent-bridge-Yju9DDXl.js} +1 -1
- package/dist/ui/assets/{agent-panels-CoERbw8V.js → agent-panels-CP7yQBQk.js} +1 -1
- package/dist/ui/assets/{apply-layout-B5kTxtGT.js → apply-layout-QgTaL3ac.js} +1 -1
- package/dist/ui/assets/{apps-DG5AIEOS.js → apps-BTtl1oZB.js} +1 -1
- package/dist/ui/assets/{azure-openai-BVeCFFmD.js → azure-openai-B_j7ruvM.js} +1 -1
- package/dist/ui/assets/{azure-openai-DachPeWO.js → azure-openai-DWSJsbE3.js} +1 -1
- package/dist/ui/assets/{bsh-watchdog-ClhQZQ2p.js → bsh-watchdog-D967oBAx.js} +1 -1
- package/dist/ui/assets/{cerebras-Dpxhts6z.js → cerebras-cMroI8Z0.js} +1 -1
- package/dist/ui/assets/{cerebras-Cx4VaRb8.js → cerebras-y2T6nEKJ.js} +1 -1
- package/dist/ui/assets/{client-CIPDr76b.js → client-CmXZyt_1.js} +1 -1
- package/dist/ui/assets/{composer-speech-Dad7EWnv.js → composer-speech-BVAb0_Gn.js} +1 -1
- package/dist/ui/assets/{connect-surface-DQbh3L3E.js → connect-surface-DpEdXaFB.js} +1 -1
- package/dist/ui/assets/{core-DndSsuE7.js → core-hsKiVR2K.js} +2 -2
- package/dist/ui/assets/{directed-approval-C7EuTFnW.js → directed-approval-BzRUYksi.js} +1 -1
- package/dist/ui/assets/{discovery-preference-6hC_WGgl.js → discovery-preference-AU05jgCy.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-Coo96ggq.js → ensure-speech-assets-OVVKW7Ye.js} +1 -1
- package/dist/ui/assets/{esbuild-wasm-PXHRTefD.js → esbuild-wasm-Lew324ft.js} +1 -1
- package/dist/ui/assets/{extension-media-capture-BBMLU8BH.js → extension-media-capture-Cq-TffDB.js} +1 -1
- package/dist/ui/assets/{extension-ops-CWDSOZnL.js → extension-ops-DMthzUWS.js} +1 -1
- package/dist/ui/assets/{fetch-body-DDu_AU5I.js → fetch-body-COdvQyTD.js} +1 -1
- package/dist/ui/assets/{float-topology-hnFd5Sxc.js → float-topology-C3kmxNLc.js} +1 -1
- package/dist/ui/assets/{follower-navigate-watcher-CX2l85Op.js → follower-navigate-watcher-DrE9PCMa.js} +1 -1
- package/dist/ui/assets/{fs-BxuaPM5x.js → fs-Cy0GIieK.js} +1 -1
- package/dist/ui/assets/{fs-m2RUXA_N.js → fs-Dk-gX2f-.js} +2 -2
- package/dist/ui/assets/github-DH8QDVJZ.js +1 -0
- package/dist/ui/assets/{github-DeAGbMqn.js → github-DPa0czyf.js} +2 -2
- package/dist/ui/assets/{github-copilot-C9Vf0dHm.js → github-copilot-Cz75oBEk.js} +1 -1
- package/dist/ui/assets/{github-copilot-CuNtzd4w.js → github-copilot-DA10Jzzl.js} +1 -1
- package/dist/ui/assets/{github-install-BxjrNHmw.js → github-install-_nyYIk3a.js} +1 -1
- package/dist/ui/assets/github-zip-Fc1dcknr.js +1 -0
- package/dist/ui/assets/{guest-tool-gate-DDiX7vJN.js → guest-tool-gate-sF2Z76Cb.js} +1 -1
- package/dist/ui/assets/{hear-fYPOaeK4.js → hear-BvBXEFVd.js} +1 -1
- package/dist/ui/assets/{help-CpP1ISyi.js → help-wyFtI3na.js} +1 -1
- package/dist/ui/assets/{installer-CPS-l1D-.js → installer-pW8GdUI_.js} +1 -1
- package/dist/ui/assets/js-realm-worker-D6OlW6jJ.js +51 -0
- package/dist/ui/assets/jsh-runtime-extensions-Bf9eAUzp.js +1 -0
- package/dist/ui/assets/{kernel-worker-Ubr7L1WZ.js → kernel-worker-ClpwVSp2.js} +584 -584
- package/dist/ui/assets/{lick-urls-DoTUICWG.js → lick-urls-BWH7CtIU.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-M1-MtD04.js → lick-ws-bridge-BZKPl2pp.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-uSuvrx0J.js → lick-ws-bridge-D3dtOkr5.js} +1 -1
- package/dist/ui/assets/{local-llm-C7elQg7X.js → local-llm-BpFeUbrx.js} +1 -1
- package/dist/ui/assets/{local-llm-LzCTd5q6.js → local-llm-Bxvc7uvA.js} +1 -1
- package/dist/ui/assets/{magick-wasm-nq7J_5Mo.js → magick-wasm-CgwEqp0j.js} +1 -1
- package/dist/ui/assets/{main-Dforgu0F.js → main-BRqaDuha.js} +3 -3
- package/dist/ui/assets/{mount-DBkwseMW.js → mount-DTHvGZij.js} +2 -2
- package/dist/ui/assets/{mount-DKHXrbNM.js → mount-J_fY90ME.js} +3 -3
- package/dist/ui/assets/{mount-bridge-client-DsMzqcZ5.js → mount-bridge-client-Dv966zg3.js} +1 -1
- package/dist/ui/assets/{mount-bridge-client-hmoMUiDZ.js → mount-bridge-client-ShqOm1Hm.js} +1 -1
- package/dist/ui/assets/{mount-recovery-DxWpNcff.js → mount-recovery-BL_HcdcG.js} +1 -1
- package/dist/ui/assets/{new-session-DF1LRgav.js → new-session-BMHbB4UV.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-DE0NbQQz.js → oauth-bootstrap-F4rI_TsE.js} +2 -2
- package/dist/ui/assets/{oauth-service-CIpNDvyX.js → oauth-service-Bh3zzzUb.js} +1 -1
- package/dist/ui/assets/{oauth-service-BASVRiOG.js → oauth-service-J8wf3vNR.js} +1 -1
- package/dist/ui/assets/{openai-codex-Bp6i7Nkt.js → openai-codex-iP-7K8nk.js} +1 -1
- package/dist/ui/assets/{openai-codex-DgO1Zd6y.js → openai-codex-xIGh1ekQ.js} +1 -1
- package/dist/ui/assets/{openrouter-Ca8Fx9P3.js → openrouter-B2dIyXwg.js} +1 -1
- package/dist/ui/assets/{openrouter-6V8GuNF-.js → openrouter-DaUVOhzE.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-skNUT2o9.js → openrouter-oauth-CLvgSpQW.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-4xa4JLEz.js → openrouter-oauth-DU69Xi4T.js} +1 -1
- package/dist/ui/assets/{page-approval-service-CyqKjqb1.js → page-approval-service-CcJ7FZLf.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-4wqqdNr7.js → panel-rpc-handlers-F1ne7Odz.js} +2 -2
- package/dist/ui/assets/{panelize-shell-mbS45D1q.js → panelize-shell-D5ur-xXa.js} +1 -1
- package/dist/ui/assets/{port-bridge-client-Bnd-Jqcw.js → port-bridge-client-B7jF4G-Q.js} +1 -1
- package/dist/ui/assets/{port-bridge-client-8D9Czfl-.js → port-bridge-client-fTiFKF9y.js} +1 -1
- package/dist/ui/assets/{provider-vpVVMElS.js → provider-BC5KIa9x.js} +2 -2
- package/dist/ui/assets/{provider-i1XpNuyy.js → provider-DUnjKUfi.js} +1 -1
- package/dist/ui/assets/{provider-settings-PEk9mUnw.js → provider-settings-Dx69BB_g.js} +2 -2
- package/dist/ui/assets/provider-settings-YQBG_8c8.js +1 -0
- package/dist/ui/assets/{provider-store-access-BT3bsvBp.js → provider-store-access-CN0lSAwa.js} +2 -2
- package/dist/ui/assets/provider-store-access-jkcO3nV5.js +1 -0
- package/dist/ui/assets/{providers-DTH2ELnA.js → providers-BFPb2jtp.js} +1 -1
- package/dist/ui/assets/{providers-BKjLJGhM.js → providers-BgvNmsWk.js} +2 -2
- package/dist/ui/assets/proxied-fetch-An3O3xSf.js +1 -0
- package/dist/ui/assets/{proxied-fetch-BMJGUIjz.js → proxied-fetch-BpgXphVr.js} +1 -1
- package/dist/ui/assets/{quick-llm-C7U9fhiE.js → quick-llm-CbsJGkcS.js} +1 -1
- package/dist/ui/assets/{recovery-screen-p8fiyHul.js → recovery-screen-DNAGqR0H.js} +1 -1
- package/dist/ui/assets/{redirect-uri-Dm3VkP35.js → redirect-uri-DHjZFwLW.js} +1 -1
- package/dist/ui/assets/request-body-DJomJP6T.js +1 -0
- package/dist/ui/assets/{rest-ops-BPaAY_2v.js → rest-ops-BrkCNRMx.js} +1 -1
- package/dist/ui/assets/{run-DuzDBKj0.js → run-A1KRSBlR.js} +1 -1
- package/dist/ui/assets/{run-BjsANk42.js → run-CxCOXHEL.js} +1 -1
- package/dist/ui/assets/{run-BI9i6fgP.js → run-Di3r2wxz.js} +3 -3
- package/dist/ui/assets/{run-mXwA_iYC.js → run-DrX1jOoK.js} +1 -1
- package/dist/ui/assets/{secret-env-Bicbz5-W.js → secret-env-T-F2AgJ0.js} +1 -1
- package/dist/ui/assets/secret-topology-RtkkyoZu.js +1 -0
- package/dist/ui/assets/{secrets-bridge-client--l7vEAnY.js → secrets-bridge-client-CVsGBqUd.js} +1 -1
- package/dist/ui/assets/{secrets-bridge-client-DKtqyeTf.js → secrets-bridge-client-CiYgl8_q.js} +1 -1
- package/dist/ui/assets/{session-freezer-Dts0YzIv.js → session-freezer-BuviBKcU.js} +3 -3
- package/dist/ui/assets/setup-feature-flags-remote-vExhyuXF.js +1 -0
- package/dist/ui/assets/{setup-standalone-prelude-6xZxh_HC.js → setup-standalone-prelude-NCb7Vil0.js} +2 -2
- package/dist/ui/assets/{setup-sudo-DDk0oab6.js → setup-sudo-BOUcxnoz.js} +2 -2
- package/dist/ui/assets/{shared-URkGo6WP.js → shared-BKwP8omt.js} +1 -1
- package/dist/ui/assets/{skills-CPwBtIsP.js → skills-BqewesRg.js} +1 -1
- package/dist/ui/assets/slicc-version-DEKSiLiA.js +1 -0
- package/dist/ui/assets/{snapshot-BXuvFV2n.js → snapshot-BhPaOP3F.js} +1 -1
- package/dist/ui/assets/{snapshot-features-2iq7q4Pe.js → snapshot-features-5ycEQmmk.js} +1 -1
- package/dist/ui/assets/{speak-D6z4e1Fv.js → speak-BgXt0lym.js} +1 -1
- package/dist/ui/assets/{state-DWwvp9qm.js → state-Bga3Kn40.js} +1 -1
- package/dist/ui/assets/{store-oXqTw06U.js → store-CiKFG-B_.js} +1 -1
- package/dist/ui/assets/{store-kRGMo3bZ.js → store-CvnCJoQ0.js} +1 -1
- package/dist/ui/assets/{sudo-D_Z6Aq2V.js → sudo-BIWs1BBY.js} +1 -1
- package/dist/ui/assets/{transformers-env-DqAHb_Hs.js → transformers-env-CH8qgxR9.js} +1 -1
- package/dist/ui/assets/{tray-leader-BL9H4ZpR.js → tray-leader-GG4VINx9.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-C6NdAWiw.js → tray-leave-runtime-CER9A0hp.js} +1 -1
- package/dist/ui/assets/tray-runtime-config-CaBJ3Gji.js +1 -0
- package/dist/ui/assets/tray-runtime-config-FmNBJZk_.js +1 -0
- package/dist/ui/assets/{tray-sidecar-Cxu9pv2H.js → tray-sidecar-BYKNKPmI.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-CNNtfMBa.js → upgrade-detection-BFiWTS4f.js} +1 -1
- package/dist/ui/assets/{voice-reply-DpheCpvb.js → voice-reply-CZLmLtSy.js} +1 -1
- package/dist/ui/assets/{wc-attach-QfhZEgii.js → wc-attach--nyJYNCo.js} +2 -2
- package/dist/ui/assets/{wc-extension-49m_CDJY.js → wc-extension-C4WxXue1.js} +2 -2
- package/dist/ui/assets/{wc-float-label-CM1hbQGk.js → wc-float-label-DFbzu9ME.js} +1 -1
- package/dist/ui/assets/{wc-floatbar-online-DzEAPh1P.js → wc-floatbar-online-DK97SM17.js} +1 -1
- package/dist/ui/assets/wc-follower-WRvuWDXA.js +17 -0
- package/dist/ui/assets/{wc-follower-oauth-DNh6iyby.js → wc-follower-oauth-BerLKJ1N.js} +1 -1
- package/dist/ui/assets/wc-live-18ObRJ_J.js +8 -0
- package/dist/ui/assets/wc-nav-IPHlqloC.js +2 -0
- package/dist/ui/assets/{wc-onboarding-DTIwP9KO.js → wc-onboarding-CE4dSxyo.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-Bn42Q87B.js → wc-placeholder-CJSGngvf.js} +2 -2
- package/dist/ui/assets/{wc-settings-Br8rPzQq.js → wc-settings-BhzXtOX3.js} +3 -3
- package/dist/ui/assets/{wc-shell-D8NQM4UH.js → wc-shell-yZYAxAI7.js} +2 -2
- package/dist/ui/assets/{wc-shortcut-config-Byedz-ik.js → wc-shortcut-config-C2fNws43.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-Bv1ptz2Q.js → wc-sprinkles-DOWht0GM.js} +2 -2
- package/dist/ui/assets/wc-tray-BO5iqN6W.js +5 -0
- package/dist/ui/assets/{whisper-session-BWsT6rw2.js → whisper-session-BVox4txn.js} +2 -2
- package/dist/ui/assets/{xai-grok-CfeBix6J.js → xai-grok-CJyTzGpB.js} +1 -1
- package/dist/ui/assets/{xai-grok-7qlcE_ad.js → xai-grok-De6JZqWa.js} +1 -1
- package/dist/ui/index.html +13 -13
- package/dist/ui/llm-proxy-sw.js +1 -1
- package/dist/ui/packages/webapp/index.html +13 -13
- package/package.json +1 -1
- package/dist/node-server/tray-url-shared.d.ts +0 -11
- package/dist/ui/assets/github-BSOgRi9u.js +0 -1
- package/dist/ui/assets/github-zip-24MORbSO.js +0 -1
- package/dist/ui/assets/js-realm-worker-Cltd_ehQ.js +0 -51
- package/dist/ui/assets/jsh-runtime-extensions-Bav1F5Gh.js +0 -1
- package/dist/ui/assets/provider-settings-BSCZE8Bh.js +0 -1
- package/dist/ui/assets/provider-store-access-SkXkOeac.js +0 -1
- package/dist/ui/assets/proxied-fetch-hUQroAAe.js +0 -1
- package/dist/ui/assets/request-body-C_L7yCNL.js +0 -1
- package/dist/ui/assets/secret-topology-CLts-pkO.js +0 -1
- package/dist/ui/assets/setup-feature-flags-remote-D8X9LTp8.js +0 -1
- package/dist/ui/assets/slicc-version-Dxw6bx4n.js +0 -1
- package/dist/ui/assets/tray-runtime-config-CcsQs_fn.js +0 -1
- package/dist/ui/assets/tray-runtime-config-Ck3nN7yJ.js +0 -1
- package/dist/ui/assets/wc-follower-BErjGrYt.js +0 -17
- package/dist/ui/assets/wc-live-C9rQkXeS.js +0 -8
- package/dist/ui/assets/wc-nav-Cr9mY64O.js +0 -2
- package/dist/ui/assets/wc-tray-BRG1GosP.js +0 -5
|
@@ -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,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,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,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,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,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,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,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
|
|
@@ -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,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,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,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,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,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,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,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tray URL grammar — canonical, platform-agnostic parsing and building.
|
|
3
|
+
*
|
|
4
|
+
* The join URL (`https://host[/base]/join/<trayId>.<secret>`) and the three
|
|
5
|
+
* launch query params are the one string format every float has to agree on:
|
|
6
|
+
* the browser reads them out of `location`, the Node CLI reads them off argv
|
|
7
|
+
* and hands them to Chrome/Electron. Both sides parse with the functions here
|
|
8
|
+
* so a leader and a follower can never disagree about what a URL means.
|
|
9
|
+
*
|
|
10
|
+
* Pure `URL` string helpers only — no `node:` builtins, no DOM, no fetch — so
|
|
11
|
+
* this is safe in the kernel worker, the extension, and the CLI alike. It lives
|
|
12
|
+
* in `@slicc/shared-ts` beside the sibling tray wire contracts
|
|
13
|
+
* (`tray-signaling.ts`, `tray-sync-protocol.ts`); it used to sit in
|
|
14
|
+
* `@slicc/node-server`, which made the browser-first webapp reach DOWN into the
|
|
15
|
+
* Node CLI package for it (#2798).
|
|
16
|
+
*/
|
|
17
|
+
export declare const TRAY_QUERY_PARAM = "tray";
|
|
18
|
+
export declare const TRAY_WORKER_QUERY_PARAM = "trayWorkerUrl";
|
|
19
|
+
export declare const TRAY_LEGACY_LEAD_QUERY_PARAM = "lead";
|
|
20
|
+
export interface ParsedTrayJoinUrl {
|
|
21
|
+
workerBaseUrl: string;
|
|
22
|
+
trayId: string;
|
|
23
|
+
joinUrl: string;
|
|
24
|
+
}
|
|
25
|
+
export declare function normalizeTrayWorkerBaseUrl(raw: string | null | undefined): string | null;
|
|
26
|
+
export declare function parseTrayJoinUrl(raw: string | null | undefined): ParsedTrayJoinUrl | null;
|
|
27
|
+
export declare function buildCanonicalTrayLaunchUrl(locationHref: string, trayValue: string): string;
|
|
28
|
+
//# sourceMappingURL=tray-url-shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tray-url-shared.d.ts","sourceRoot":"","sources":["../src/tray-url-shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,SAAS,CAAC;AACvC,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AACvD,eAAO,MAAM,4BAA4B,SAAS,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAexF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,GAAG,IAAI,CAgCzF;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM3F"}
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tray URL grammar — canonical, platform-agnostic parsing and building.
|
|
3
|
+
*
|
|
4
|
+
* The join URL (`https://host[/base]/join/<trayId>.<secret>`) and the three
|
|
5
|
+
* launch query params are the one string format every float has to agree on:
|
|
6
|
+
* the browser reads them out of `location`, the Node CLI reads them off argv
|
|
7
|
+
* and hands them to Chrome/Electron. Both sides parse with the functions here
|
|
8
|
+
* so a leader and a follower can never disagree about what a URL means.
|
|
9
|
+
*
|
|
10
|
+
* Pure `URL` string helpers only — no `node:` builtins, no DOM, no fetch — so
|
|
11
|
+
* this is safe in the kernel worker, the extension, and the CLI alike. It lives
|
|
12
|
+
* in `@slicc/shared-ts` beside the sibling tray wire contracts
|
|
13
|
+
* (`tray-signaling.ts`, `tray-sync-protocol.ts`); it used to sit in
|
|
14
|
+
* `@slicc/node-server`, which made the browser-first webapp reach DOWN into the
|
|
15
|
+
* Node CLI package for it (#2798).
|
|
16
|
+
*/
|
|
1
17
|
export const TRAY_QUERY_PARAM = 'tray';
|
|
2
18
|
export const TRAY_WORKER_QUERY_PARAM = 'trayWorkerUrl';
|
|
3
19
|
export const TRAY_LEGACY_LEAD_QUERY_PARAM = 'lead';
|
|
@@ -54,3 +70,4 @@ export function buildCanonicalTrayLaunchUrl(locationHref, trayValue) {
|
|
|
54
70
|
url.searchParams.set(TRAY_QUERY_PARAM, trayValue);
|
|
55
71
|
return url.toString();
|
|
56
72
|
}
|
|
73
|
+
//# sourceMappingURL=tray-url-shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tray-url-shared.js","sourceRoot":"","sources":["../src/tray-url-shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BRIDGE_ROLE_FOLLOWER, BRIDGE_ROLE_LEADER, BRIDGE_ROLE_QUERY_PARAM, ELECTRON_OVERLAY_APP_PATH, SLICC_HOSTED_ORIGIN, } from './_shared/index.js';
|
|
1
|
+
import { BRIDGE_ROLE_FOLLOWER, BRIDGE_ROLE_LEADER, BRIDGE_ROLE_QUERY_PARAM, ELECTRON_OVERLAY_APP_PATH, SLICC_HOSTED_ORIGIN, TRAY_QUERY_PARAM, } from './_shared/index.js';
|
|
2
2
|
import { execFile as nodeExecFile, spawn } from 'child_process';
|
|
3
3
|
import { existsSync } from 'fs';
|
|
4
4
|
import { readFile } from 'fs/promises';
|
|
@@ -9,7 +9,6 @@ import { WebSocket } from 'ws';
|
|
|
9
9
|
import { inflateSync } from 'zlib';
|
|
10
10
|
import { BRIDGE_TOKEN_QUERY_PARAM, BRIDGE_WS_QUERY_PARAM } from './bridge-security.js';
|
|
11
11
|
import { buildElectronAppLaunchSpec, buildElectronOverlayBootstrapScript, getElectronOverlayEntryDistPath, selectBestOverlayTargets, } from './electron-runtime.js';
|
|
12
|
-
import { TRAY_QUERY_PARAM } from './tray-url-shared.js';
|
|
13
12
|
const execFile = promisify(nodeExecFile);
|
|
14
13
|
const ELECTRON_OVERLAY_SYNC_INTERVAL_MS = 1500;
|
|
15
14
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { promises as fsPromises } from 'node:fs';
|
|
3
3
|
import { createSubstrate } from './_cloud_core/src/index.js';
|
|
4
|
-
import { SLICC_HOSTED_ORIGIN } from './_shared/index.js';
|
|
4
|
+
import { parseTrayJoinUrl, SLICC_HOSTED_ORIGIN } from './_shared/index.js';
|
|
5
5
|
import { spawn } from 'child_process';
|
|
6
6
|
import express from 'express';
|
|
7
7
|
import { existsSync, readFileSync } from 'fs';
|
|
@@ -50,7 +50,6 @@ import { SecretProxyManager } from './secrets/proxy-manager.js';
|
|
|
50
50
|
import { readOrCreateSessionId } from './secrets/session-id-file.js';
|
|
51
51
|
import { registerSecretsReloadEndpoint } from './secrets-reload-endpoint.js';
|
|
52
52
|
import { registerSudoApproveEndpoint } from './sudo/endpoint.js';
|
|
53
|
-
import { parseTrayJoinUrl } from './tray-url-shared.js';
|
|
54
53
|
const Dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
55
54
|
const PROJECT_ROOT = resolve(Dirname, '..', '..');
|
|
56
55
|
// ---------------------------------------------------------------------------
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { buildCanonicalTrayLaunchUrl, normalizeTrayWorkerBaseUrl, parseTrayJoinUrl, } from './_shared/index.js';
|
|
1
2
|
import { BRIDGE_TOKEN_QUERY_PARAM, BRIDGE_WS_QUERY_PARAM } from './bridge-security.js';
|
|
2
|
-
import { buildCanonicalTrayLaunchUrl, normalizeTrayWorkerBaseUrl, parseTrayJoinUrl, } from './tray-url-shared.js';
|
|
3
3
|
function appendBridgeParams(url, opts) {
|
|
4
4
|
if (!opts.bridgeWsUrl || !opts.bridgeToken)
|
|
5
5
|
return url;
|