shadow-claw 1.29.0 → 1.30.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/.agents/skills/main/skill-creator/SKILL.md +3 -2
- package/.agents/skills/main/skill-creator/references/frontmatter-spec.md +5 -3
- package/.well-known/agent-skills/index.json +1 -1
- package/.well-known/mcp/server-card.json +1 -1
- package/.well-known/mcp.json +1 -1
- package/dist/lib/{app-routes-CqBOeA5q.js → app-routes-BAEMLu9g.js} +3 -2
- package/dist/lib/app-routes-BAEMLu9g.js.map +1 -0
- package/dist/lib/{bundler-8JNIKwOs.js → bundler-CsL7hHMq.js} +4 -9
- package/dist/lib/{bundler-8JNIKwOs.js.map → bundler-CsL7hHMq.js.map} +1 -1
- package/dist/lib/components/index.js +26 -26
- package/dist/lib/components/settings/shadow-claw-accounts.js +1 -1
- package/dist/lib/components/settings/shadow-claw-channel-config.js +1 -1
- package/dist/lib/components/settings/shadow-claw-control-plane.js +1 -1
- package/dist/lib/components/settings/shadow-claw-git.js +1 -1
- package/dist/lib/components/settings/shadow-claw-integrations.js +1 -1
- package/dist/lib/components/settings/shadow-claw-llm.js +1 -1
- package/dist/lib/components/settings/shadow-claw-mcp-remote.js +1 -1
- package/dist/lib/components/settings/shadow-claw-networking.js +1 -1
- package/dist/lib/components/settings/shadow-claw-notifications.js +1 -1
- package/dist/lib/components/settings/shadow-claw-peerjs.js +1 -1
- package/dist/lib/components/settings/shadow-claw-storage.js +1 -1
- package/dist/lib/components/settings/shadow-claw-task-server.js +1 -1
- package/dist/lib/components/settings/shadow-claw-webvm.js +1 -1
- package/dist/lib/components/shadow-claw-a2ui.js +1 -1
- package/dist/lib/components/shadow-claw-accounts.js +1 -1
- package/dist/lib/components/shadow-claw-channel-config.js +1 -1
- package/dist/lib/components/shadow-claw-channels.js +1 -1
- package/dist/lib/components/shadow-claw-chat.js +1 -1
- package/dist/lib/components/shadow-claw-control-plane.js +1 -1
- package/dist/lib/components/shadow-claw-conversations.js +1 -1
- package/dist/lib/components/shadow-claw-file-viewer.js +1 -1
- package/dist/lib/components/shadow-claw-files.js +1 -1
- package/dist/lib/components/shadow-claw-git.js +1 -1
- package/dist/lib/components/shadow-claw-integrations.js +1 -1
- package/dist/lib/components/shadow-claw-llm.js +1 -1
- package/dist/lib/components/shadow-claw-mcp-remote.js +1 -1
- package/dist/lib/components/shadow-claw-networking.js +1 -1
- package/dist/lib/components/shadow-claw-notifications.js +1 -1
- package/dist/lib/components/shadow-claw-page-header.js +1 -1
- package/dist/lib/components/shadow-claw-pages.js +1 -1
- package/dist/lib/components/shadow-claw-peerjs.js +1 -1
- package/dist/lib/components/shadow-claw-settings.js +1 -1
- package/dist/lib/components/shadow-claw-storage.js +1 -1
- package/dist/lib/components/shadow-claw-task-server.js +1 -1
- package/dist/lib/components/shadow-claw-tasks.js +1 -1
- package/dist/lib/components/shadow-claw-terminal.js +1 -1
- package/dist/lib/components/shadow-claw-tools.js +1 -1
- package/dist/lib/components/shadow-claw-webvm.js +1 -1
- package/dist/lib/components/shadow-claw.js +1 -1
- package/dist/lib/{config--CFrw3J3.js → config-DjZ9QWc4.js} +2 -2
- package/dist/lib/{config--CFrw3J3.js.map → config-DjZ9QWc4.js.map} +1 -1
- package/dist/lib/{configurePeerJs-DG4hliKp.js → configurePeerJs-H0WaoT0w.js} +3 -3
- package/dist/lib/{configurePeerJs-DG4hliKp.js.map → configurePeerJs-H0WaoT0w.js.map} +1 -1
- package/dist/lib/{connections-DwjzwVz0.js → connections-BURqMIUv.js} +2 -2
- package/dist/lib/{connections-DwjzwVz0.js.map → connections-BURqMIUv.js.map} +1 -1
- package/dist/lib/content/markdown-links.d.ts +19 -0
- package/dist/lib/core/app-routes.d.ts +1 -0
- package/dist/lib/{downloadGroupFile-DmcBQU1n.js → downloadGroupFile-B8J4up2a.js} +2 -2
- package/dist/lib/{downloadGroupFile-DmcBQU1n.js.map → downloadGroupFile-B8J4up2a.js.map} +1 -1
- package/dist/lib/{file-viewer-C3YKnq_-.js → file-viewer-CwvhxAAG.js} +5 -5
- package/dist/lib/{file-viewer-C3YKnq_-.js.map → file-viewer-CwvhxAAG.js.map} +1 -1
- package/dist/lib/{getGroupDir-m0f-ekgX.js → getGroupDir-QrN2aTo8.js} +4 -4
- package/dist/lib/{getGroupDir-m0f-ekgX.js.map → getGroupDir-QrN2aTo8.js.map} +1 -1
- package/dist/lib/{git-C-Q6-IVe.js → git-DhZoe1SE.js} +3 -3
- package/dist/lib/{git-C-Q6-IVe.js.map → git-DhZoe1SE.js.map} +1 -1
- package/dist/lib/{iframe-sanitizer-CUqHuWQ-.js → iframe-sanitizer-Bujgq14T.js} +2 -2
- package/dist/lib/{iframe-sanitizer-CUqHuWQ-.js.map → iframe-sanitizer-Bujgq14T.js.map} +1 -1
- package/dist/lib/index.js +27 -27
- package/dist/lib/{initChatSplitResize-yyBTU6h9.js → initChatSplitResize-BjiWoqC_.js} +2 -2
- package/dist/lib/{initChatSplitResize-yyBTU6h9.js.map → initChatSplitResize-BjiWoqC_.js.map} +1 -1
- package/dist/lib/{initControlPlane-DnpAzphg.js → initControlPlane-C9JxQCDh.js} +16 -16
- package/dist/lib/{initControlPlane-DnpAzphg.js.map → initControlPlane-C9JxQCDh.js.map} +1 -1
- package/dist/lib/{markdown-DgdSt2GD.js → markdown-DYHmNjC4.js} +126 -5
- package/dist/lib/markdown-DYHmNjC4.js.map +1 -0
- package/dist/lib/{mcp-reconnect-C86MR3z8.js → mcp-reconnect-BxJ77WSb.js} +2 -2
- package/dist/lib/{mcp-reconnect-C86MR3z8.js.map → mcp-reconnect-BxJ77WSb.js.map} +1 -1
- package/dist/lib/{memoryStorage-UR8E8K-H.js → memoryStorage-D3FBwO9T.js} +2 -2
- package/dist/lib/{memoryStorage-UR8E8K-H.js.map → memoryStorage-D3FBwO9T.js.map} +1 -1
- package/dist/lib/{orchestrator-ClXbJ4Mb.js → orchestrator-C6dc-2OQ.js} +130 -27
- package/dist/lib/{orchestrator-ClXbJ4Mb.js.map → orchestrator-C6dc-2OQ.js.map} +1 -1
- package/dist/lib/{orchestrator-CjEau_RG.js → orchestrator-DVkyd8K9.js} +27 -17
- package/dist/lib/orchestrator-DVkyd8K9.js.map +1 -0
- package/dist/lib/{peerjs-BdfpltIe.js → peerjs-BUS9O04I.js} +274 -60
- package/dist/lib/peerjs-BUS9O04I.js.map +1 -0
- package/dist/lib/{push-client-DjwKknNg.js → push-client-4JsQGmQa.js} +3 -3
- package/dist/lib/{push-client-DjwKknNg.js.map → push-client-4JsQGmQa.js.map} +1 -1
- package/dist/lib/{readGroupFileBytes-C8oOe8Iu.js → readGroupFileBytes-CSA7u-nJ.js} +2 -2
- package/dist/lib/{readGroupFileBytes-C8oOe8Iu.js.map → readGroupFileBytes-CSA7u-nJ.js.map} +1 -1
- package/dist/lib/{shadow-claw-DcPGKenn.js → shadow-claw-BMoF8Auf.js} +11 -11
- package/dist/lib/{shadow-claw-DcPGKenn.js.map → shadow-claw-BMoF8Auf.js.map} +1 -1
- package/dist/lib/{shadow-claw-a2ui-CpZUTzlh.js → shadow-claw-a2ui-2I5nffIn.js} +2 -2
- package/dist/lib/{shadow-claw-a2ui-CpZUTzlh.js.map → shadow-claw-a2ui-2I5nffIn.js.map} +1 -1
- package/dist/lib/{shadow-claw-accounts-03oJ__XC.js → shadow-claw-accounts-BCjlgvzy.js} +3 -3
- package/dist/lib/{shadow-claw-accounts-03oJ__XC.js.map → shadow-claw-accounts-BCjlgvzy.js.map} +1 -1
- package/dist/lib/{shadow-claw-channel-config-DEL-aZ7N.js → shadow-claw-channel-config-CxQAmlDE.js} +3 -3
- package/dist/lib/{shadow-claw-channel-config-DEL-aZ7N.js.map → shadow-claw-channel-config-CxQAmlDE.js.map} +1 -1
- package/dist/lib/{shadow-claw-channels-BgaJiPdE.js → shadow-claw-channels-CuYMUVAG.js} +3 -3
- package/dist/lib/{shadow-claw-channels-BgaJiPdE.js.map → shadow-claw-channels-CuYMUVAG.js.map} +1 -1
- package/dist/lib/{shadow-claw-chat-mXPQZbwT.js → shadow-claw-chat-RFtPmmyl.js} +13 -12
- package/dist/lib/shadow-claw-chat-RFtPmmyl.js.map +1 -0
- package/dist/lib/{shadow-claw-control-plane-DO6foOLV.js → shadow-claw-control-plane-siqmRzR1.js} +7 -7
- package/dist/lib/{shadow-claw-control-plane-DO6foOLV.js.map → shadow-claw-control-plane-siqmRzR1.js.map} +1 -1
- package/dist/lib/{shadow-claw-conversations-BLwHTwdW.js → shadow-claw-conversations-DygK5y1e.js} +7 -7
- package/dist/lib/{shadow-claw-conversations-BLwHTwdW.js.map → shadow-claw-conversations-DygK5y1e.js.map} +1 -1
- package/dist/lib/{shadow-claw-file-viewer-BSbZvSl-.js → shadow-claw-file-viewer-DGMA7d7H.js} +11 -11
- package/dist/lib/shadow-claw-file-viewer-DGMA7d7H.js.map +1 -0
- package/dist/lib/{shadow-claw-files-BLVr9Pua.js → shadow-claw-files-CgD1B9J7.js} +8 -8
- package/dist/lib/{shadow-claw-files-BLVr9Pua.js.map → shadow-claw-files-CgD1B9J7.js.map} +1 -1
- package/dist/lib/{shadow-claw-git-CHC1H86J.js → shadow-claw-git-Bw1jGRrf.js} +6 -6
- package/dist/lib/{shadow-claw-git-CHC1H86J.js.map → shadow-claw-git-Bw1jGRrf.js.map} +1 -1
- package/dist/lib/{shadow-claw-integrations-Ds-CLPhj.js → shadow-claw-integrations-ChaXtvsg.js} +4 -4
- package/dist/lib/{shadow-claw-integrations-Ds-CLPhj.js.map → shadow-claw-integrations-ChaXtvsg.js.map} +1 -1
- package/dist/lib/{shadow-claw-llm-CKXfxd3D.js → shadow-claw-llm-CDM4Akjc.js} +6 -6
- package/dist/lib/{shadow-claw-llm-CKXfxd3D.js.map → shadow-claw-llm-CDM4Akjc.js.map} +1 -1
- package/dist/lib/{shadow-claw-mcp-remote-CT5Q-54E.js → shadow-claw-mcp-remote-BLxs_Z4I.js} +4 -4
- package/dist/lib/{shadow-claw-mcp-remote-CT5Q-54E.js.map → shadow-claw-mcp-remote-BLxs_Z4I.js.map} +1 -1
- package/dist/lib/{shadow-claw-networking-dpYvfchh.js → shadow-claw-networking-BYt-kMSI.js} +2 -2
- package/dist/lib/{shadow-claw-networking-dpYvfchh.js.map → shadow-claw-networking-BYt-kMSI.js.map} +1 -1
- package/dist/lib/{shadow-claw-notifications-_YeAVPga.js → shadow-claw-notifications-Dpe4EtZI.js} +3 -3
- package/dist/lib/{shadow-claw-notifications-_YeAVPga.js.map → shadow-claw-notifications-Dpe4EtZI.js.map} +1 -1
- package/dist/lib/{shadow-claw-page-header-Cti2fzf-.js → shadow-claw-page-header-P4EvWyUr.js} +2 -2
- package/dist/lib/{shadow-claw-page-header-Cti2fzf-.js.map → shadow-claw-page-header-P4EvWyUr.js.map} +1 -1
- package/dist/lib/{shadow-claw-pages-DVzZriZ7.js → shadow-claw-pages-DWd_c4d6.js} +10 -10
- package/dist/lib/{shadow-claw-pages-DVzZriZ7.js.map → shadow-claw-pages-DWd_c4d6.js.map} +1 -1
- package/dist/lib/{shadow-claw-peerjs-BvixjeBz.js → shadow-claw-peerjs-D928817m.js} +3 -3
- package/dist/lib/{shadow-claw-peerjs-BvixjeBz.js.map → shadow-claw-peerjs-D928817m.js.map} +1 -1
- package/dist/lib/{shadow-claw-settings-DV9-gD4Q.js → shadow-claw-settings-C8OPrSqs.js} +8 -8
- package/dist/lib/{shadow-claw-settings-DV9-gD4Q.js.map → shadow-claw-settings-C8OPrSqs.js.map} +1 -1
- package/dist/lib/{shadow-claw-storage-Bv__kXG6.js → shadow-claw-storage-CZ2uZJNw.js} +5 -5
- package/dist/lib/{shadow-claw-storage-Bv__kXG6.js.map → shadow-claw-storage-CZ2uZJNw.js.map} +1 -1
- package/dist/lib/{shadow-claw-task-server-DNOe8PWK.js → shadow-claw-task-server-CLT018BX.js} +2 -2
- package/dist/lib/{shadow-claw-task-server-DNOe8PWK.js.map → shadow-claw-task-server-CLT018BX.js.map} +1 -1
- package/dist/lib/{shadow-claw-tasks-qmcDT4PU.js → shadow-claw-tasks-D5h-lGmq.js} +9 -8
- package/dist/lib/shadow-claw-tasks-D5h-lGmq.js.map +1 -0
- package/dist/lib/{shadow-claw-terminal-0QUWP8of.js → shadow-claw-terminal-Cy1O6KVM.js} +2 -2
- package/dist/lib/{shadow-claw-terminal-0QUWP8of.js.map → shadow-claw-terminal-Cy1O6KVM.js.map} +1 -1
- package/dist/lib/{shadow-claw-tools-Bs_bmI6-.js → shadow-claw-tools-CVD06bCR.js} +9 -9
- package/dist/lib/{shadow-claw-tools-Bs_bmI6-.js.map → shadow-claw-tools-CVD06bCR.js.map} +1 -1
- package/dist/lib/{shadow-claw-webvm-DYaoL7QY.js → shadow-claw-webvm-DoGl5ZSJ.js} +3 -3
- package/dist/lib/{shadow-claw-webvm-DYaoL7QY.js.map → shadow-claw-webvm-DoGl5ZSJ.js.map} +1 -1
- package/dist/lib/subsystems/channels/peerjs.d.ts +37 -4
- package/dist/lib/subsystems/channels/room.d.ts +4 -0
- package/dist/lib/{syncWebMcpRegistration-BhbqI6R2.js → syncWebMcpRegistration-BeYkQEvj.js} +5 -5
- package/dist/lib/{syncWebMcpRegistration-BhbqI6R2.js.map → syncWebMcpRegistration-BeYkQEvj.js.map} +1 -1
- package/dist/lib/tools-C3Kft940.js +1 -0
- package/dist/lib/{tools-DBaMRiEu.js → tools-DKzPWc0q.js} +2 -2
- package/dist/lib/{tools-DBaMRiEu.js.map → tools-DKzPWc0q.js.map} +1 -1
- package/dist/lib/{tools-DwwB9RBa.js → tools-DqcJe8LS.js} +5 -5
- package/dist/lib/{tools-DwwB9RBa.js.map → tools-DqcJe8LS.js.map} +1 -1
- package/dist/lib/{trusted-types-Dx0RZlrd.js → trusted-types-Oz7xXJAY.js} +4 -4
- package/dist/lib/{trusted-types-Dx0RZlrd.js.map → trusted-types-Oz7xXJAY.js.map} +1 -1
- package/dist/lib/utils/index.js +1 -1
- package/dist/lib/utils/namespacedStorage.js +1 -1
- package/dist/lib/utils/utils.js +1 -1
- package/dist/lib/{webmcp-j_1_T3wf.js → webmcp-BC8_WafM.js} +4 -4
- package/dist/lib/{webmcp-j_1_T3wf.js.map → webmcp-BC8_WafM.js.map} +1 -1
- package/dist/lib/worker/utils/system-prompt.d.ts +4 -1
- package/dist/public/.agents/skills/main/skill-creator/SKILL.md +3 -2
- package/dist/public/.agents/skills/main/skill-creator/references/frontmatter-spec.md +5 -3
- package/dist/public/.well-known/agent-skills/index.json +1 -1
- package/dist/public/.well-known/mcp/server-card.json +1 -1
- package/dist/public/.well-known/mcp.json +1 -1
- package/dist/public/agent.worker.js +18 -17
- package/dist/public/app-routes-BMQ4HFaM.js +1 -0
- package/dist/public/{bundler-Ca-Xwln8.js → bundler-0if-QelV.js} +4 -4
- package/dist/public/{config-CrHchneq.js → config-Bnwx4EfS.js} +1 -1
- package/dist/public/{configurePeerJs-B470pdeU.js → configurePeerJs-DkyGvwk_.js} +1 -1
- package/dist/public/{connections-DvbgdkaB.js → connections-6575KDGE.js} +1 -1
- package/dist/public/{custom-element-security-FU04Cq05.js → custom-element-security-BQJQ_oKz.js} +1 -1
- package/dist/public/docs/example/article/index.html +2 -2
- package/dist/public/docs/publishing/index.html +2 -2
- package/dist/public/docs/skill-creator/index.html +2 -2
- package/dist/public/docs/subsystems/skills.md +3 -1
- package/dist/public/{downloadGroupFile-D8KRJGGL.js → downloadGroupFile-Wo1Sxdhr.js} +1 -1
- package/dist/public/{e2e-bridge-CSW0S5Yz.js → e2e-bridge-CvLCUU2O.js} +1 -1
- package/dist/public/{file-viewer-Cs-riNvy.js → file-viewer-CIjqAvNF.js} +1 -1
- package/dist/public/{getGroupDir-P1h9wl6S.js → getGroupDir-BwprrdrQ.js} +1 -1
- package/dist/public/{git-7Vq_SJSp.js → git-BSnY2D-A.js} +2 -2
- package/dist/public/{iframe-sanitizer-y2Z1pPwY.js → iframe-sanitizer-viROQkRn.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/public/index.js +1 -1
- package/dist/public/{initChatSplitResize-CzV2E7Ul.js → initChatSplitResize-BA18wLQQ.js} +1 -1
- package/dist/public/{initControlPlane-BqCY0NQy.js → initControlPlane-L96uJkRA.js} +1 -1
- package/dist/public/main/index.html +2 -2
- package/dist/public/main/memory/index.html +2 -2
- package/dist/public/{markdown-Cw7vCtTg.js → markdown-DGjZAm_w.js} +17 -14
- package/dist/public/{mcp-reconnect-9emsqGRe.js → mcp-reconnect-CBHuaYdF.js} +1 -1
- package/dist/public/{memoryStorage-C0KvLNUp.js → memoryStorage-C1llaYus.js} +1 -1
- package/dist/public/orchestrator-C0VOoTiK.js +15 -0
- package/dist/public/{orchestrator-DpkkeD6T.js → orchestrator-DMWi--Dc.js} +20 -19
- package/dist/public/peerjs-Bf6ZxfbA.js +1 -0
- package/dist/public/{push-client-CHjSbrWs.js → push-client-BD4YalBa.js} +1 -1
- package/dist/public/service-worker.js +1 -1
- package/dist/public/{shadow-claw-BBPV_9X8.js → shadow-claw-DRy-D4Qi.js} +2 -2
- package/dist/public/{shadow-claw-accounts-xUOLBsQZ.js → shadow-claw-accounts-DnfmA8cb.js} +1 -1
- package/dist/public/{shadow-claw-channels-BJvrKQjg.js → shadow-claw-channels-8UkycZAa.js} +1 -1
- package/dist/public/{shadow-claw-chat-BG2EaRaw.js → shadow-claw-chat-Cf5LUiul.js} +9 -9
- package/dist/public/{shadow-claw-control-plane-BBa7WbTg.js → shadow-claw-control-plane-UsBF-Nvd.js} +2 -2
- package/dist/public/{shadow-claw-conversations-CFaWFmkm.js → shadow-claw-conversations-Aoe61Y21.js} +1 -1
- package/dist/public/{shadow-claw-file-viewer-Z-GIKaE9.js → shadow-claw-file-viewer-D28dSSEn.js} +6 -6
- package/dist/public/{shadow-claw-files-BBx4iMsk.js → shadow-claw-files-CaDUlPEU.js} +1 -1
- package/dist/public/{shadow-claw-git-vTOKatwd.js → shadow-claw-git-DYNcZMWA.js} +2 -2
- package/dist/public/{shadow-claw-integrations-BBVnO0Fc.js → shadow-claw-integrations-BJf_hQVv.js} +1 -1
- package/dist/public/{shadow-claw-llm-Ce1Ax6-x.js → shadow-claw-llm-BqK2SIRf.js} +2 -2
- package/dist/public/{shadow-claw-mcp-remote-Bkx0gsmF.js → shadow-claw-mcp-remote-B_dDG990.js} +1 -1
- package/dist/public/{shadow-claw-networking-q4XIzdB5.js → shadow-claw-networking-D8LxOofv.js} +1 -1
- package/dist/public/{shadow-claw-notifications-D2cz0gmm.js → shadow-claw-notifications-DpVyiNG_.js} +1 -1
- package/dist/public/{shadow-claw-page-header-BccSHItx.js → shadow-claw-page-header-DdC7bJuW.js} +1 -1
- package/dist/public/{shadow-claw-pages-3335lmSC.js → shadow-claw-pages-CYMl4J-6.js} +3 -3
- package/dist/public/{shadow-claw-settings-4ptYuJwO.js → shadow-claw-settings-Da_8Oy3O.js} +3 -3
- package/dist/public/{shadow-claw-storage-bIrPKFhF.js → shadow-claw-storage-DXIm86_-.js} +1 -1
- package/dist/public/{shadow-claw-task-server-5yqVBxy1.js → shadow-claw-task-server-BCceBD0G.js} +1 -1
- package/dist/public/{shadow-claw-tasks-DcqYHPLZ.js → shadow-claw-tasks-BW1QZ5L3.js} +19 -19
- package/dist/public/{shadow-claw-terminal-fARaDONr.js → shadow-claw-terminal-vqfsxhcK.js} +1 -1
- package/dist/public/{shadow-claw-tools-paEAhcJr.js → shadow-claw-tools-l0Jsa7UJ.js} +1 -1
- package/dist/public/{shadow-claw-webvm-CbzH_vyX.js → shadow-claw-webvm-CDPOWZm7.js} +1 -1
- package/dist/public/skills/main/skill-creator/SKILL.md +3 -2
- package/dist/public/skills/main/skill-creator/references/frontmatter-spec.md +5 -3
- package/dist/public/static-main-manifest.json +2 -2
- package/dist/public/{syncWebMcpRegistration-CWSYaHex.js → syncWebMcpRegistration-5b5FkP9_.js} +1 -1
- package/dist/public/tools-B-PzsLc2.js +1 -0
- package/dist/public/{tools-C8x3nmo4.js → tools-CcgG5XuA.js} +1 -1
- package/dist/public/{tools-DvckJZG2.js → tools-VSOY66vs.js} +1 -1
- package/dist/public/{webmcp-DAjmliCx.js → webmcp-DBONjQWd.js} +1 -1
- package/dist/server.js +2 -2
- package/package.json +2 -2
- package/src/__mocks__/marked.cjs +14 -0
- package/src/components/shadow-claw-chat/shadow-claw-chat.test.ts +17 -0
- package/src/components/shadow-claw-chat/shadow-claw-chat.ts +5 -1
- package/src/components/shadow-claw-file-viewer/shadow-claw-file-viewer.test.ts +78 -0
- package/src/components/shadow-claw-file-viewer/shadow-claw-file-viewer.ts +6 -2
- package/src/components/shadow-claw-pages/utils/resolveWorkspaceLinkPath.test.ts +56 -0
- package/src/components/shadow-claw-tasks/shadow-claw-tasks.test.ts +22 -0
- package/src/components/shadow-claw-tasks/shadow-claw-tasks.ts +5 -1
- package/src/content/markdown-links.test.ts +109 -0
- package/src/content/markdown-links.ts +187 -0
- package/src/content/markdown.test.ts +33 -0
- package/src/content/markdown.ts +6 -1
- package/src/core/app-routes.test.ts +65 -0
- package/src/core/app-routes.ts +1 -1
- package/src/core/orchestrator/orchestrator.ts +3 -0
- package/src/core/orchestrator/utils/compactContext.ts +2 -0
- package/src/core/orchestrator/utils/invokeAgent.ts +1 -0
- package/src/subsystems/accounts/service-accounts.test.ts +0 -1
- package/src/subsystems/channels/peerjs.test.ts +479 -1
- package/src/subsystems/channels/peerjs.ts +420 -75
- package/src/subsystems/channels/room.test.ts +35 -0
- package/src/subsystems/channels/room.ts +15 -0
- package/src/subsystems/skills/activateSkill.test.ts +38 -5
- package/src/subsystems/skills/activateSkill.ts +25 -3
- package/src/subsystems/skills/parseSkill.test.ts +71 -0
- package/src/subsystems/skills/parseSkill.ts +185 -25
- package/src/subsystems/tools/files.ts +4 -4
- package/src/worker/tools/spawn-subagent/spawn-subagent.test.ts +22 -23
- package/src/worker/tools/workspace/send-file.test.ts +24 -1
- package/src/worker/tools/workspace/send-file.ts +6 -3
- package/src/worker/utils/handleCompact.test.ts +3 -4
- package/src/worker/utils/handleInvoke.test.ts +13 -11
- package/src/worker/utils/handleInvoke.ts +3 -0
- package/src/worker/utils/handleMessage.test.ts +0 -1
- package/src/worker/utils/post.test.ts +3 -4
- package/src/worker/utils/sandboxedEval.test.ts +1 -2
- package/src/worker/utils/system-prompt.test.ts +59 -0
- package/src/worker/utils/system-prompt.ts +21 -1
- package/src/worker/utils/withRetry.test.ts +3 -16
- package/dist/lib/app-routes-CqBOeA5q.js.map +0 -1
- package/dist/lib/markdown-DgdSt2GD.js.map +0 -1
- package/dist/lib/orchestrator-CjEau_RG.js.map +0 -1
- package/dist/lib/peerjs-BdfpltIe.js.map +0 -1
- package/dist/lib/shadow-claw-chat-mXPQZbwT.js.map +0 -1
- package/dist/lib/shadow-claw-file-viewer-BSbZvSl-.js.map +0 -1
- package/dist/lib/shadow-claw-tasks-qmcDT4PU.js.map +0 -1
- package/dist/lib/tools-D4Pp-nUw.js +0 -1
- package/dist/public/app-routes-Bs-riIvr.js +0 -1
- package/dist/public/orchestrator-BWkHHO9Y.js +0 -15
- package/dist/public/peerjs-tf2EmWjB.js +0 -1
- package/dist/public/tools-COduyYJ0.js +0 -1
|
@@ -23,9 +23,10 @@ Use this skill when creating, modifying, reviewing, or validating a ShadowClaw a
|
|
|
23
23
|
- For new skills, define the trigger prompt, intended execution outcome, required tools, and output artifacts.
|
|
24
24
|
2. **Configure Frontmatter**
|
|
25
25
|
- Provide a clear, concise trigger description in `description` (1024 characters max).
|
|
26
|
+
- **Always enclose `description` in double quotes** (`description: "..."`) or use a YAML block scalar (`>`). Colons (`:`), URLs, and trigger phrases inside unquoted YAML break parsing.
|
|
26
27
|
- Set `user-invocable: true` if the skill should be triggerable via slash command (e.g. `/skill-name`).
|
|
27
28
|
- Use `disable-model-invocation: true` for skills intended strictly for slash-command execution.
|
|
28
|
-
- Place non-standard configuration (such as `allowed-tools`) within the standard `metadata` block to maintain Agent Skills specification compliance.
|
|
29
|
+
- Place non-standard configuration (such as `allowed-tools`) within the standard `metadata` block to maintain Agent Skills specification compliance. Specify tools as a space-separated string or a list.
|
|
29
30
|
3. **Structure & Draft Content**
|
|
30
31
|
- Write instructions in `SKILL.md` using clear, modular procedures.
|
|
31
32
|
- Place deterministic operations in `javascript` tool calls; use `read_file` and `write_file` for workspace persistence.
|
|
@@ -35,5 +36,5 @@ Use this skill when creating, modifying, reviewing, or validating a ShadowClaw a
|
|
|
35
36
|
- Pass outputs between steps using `{ "$pipe": "prev" }` or step/tool identifiers.
|
|
36
37
|
- Optionally apply `suppressToast: true` or `suppressOutput: true` at the execution root or per step to suppress notifications and output blocks.
|
|
37
38
|
5. **Verify & Validate**
|
|
38
|
-
- Re-read the saved `SKILL.md` and verify valid YAML frontmatter syntax.
|
|
39
|
+
- Re-read the saved `SKILL.md` and verify valid YAML frontmatter syntax (ensure `description` is enclosed in double quotes).
|
|
39
40
|
- Ensure the skill name uses 1–64 lowercase alphanumeric characters or hyphens and all referenced resource paths exist.
|
|
@@ -7,7 +7,7 @@ Agent skills in ShadowClaw are configured via YAML frontmatter at the top of `SK
|
|
|
7
7
|
```yaml
|
|
8
8
|
---
|
|
9
9
|
name: skill-name
|
|
10
|
-
description: Clear, concise model-facing trigger description.
|
|
10
|
+
description: "Clear, concise model-facing trigger description."
|
|
11
11
|
user-invocable: true
|
|
12
12
|
disable-model-invocation: false
|
|
13
13
|
argument-hint: "[arguments]"
|
|
@@ -18,16 +18,18 @@ license: MIT
|
|
|
18
18
|
---
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
> **Quoting Rule**: Always enclose `description` in double quotes (`"..."`) or use a YAML folded block scalar (`>`). Descriptions often contain URLs (`https://`), colons (`trigger:` or `en:`), quotes, or parentheses that break unquoted YAML frontmatter.
|
|
22
|
+
|
|
21
23
|
## Attribute Reference
|
|
22
24
|
|
|
23
25
|
| Attribute | Type | Required | Description |
|
|
24
26
|
| :------------------------- | :-------- | :------- | :-------------------------------------------------------------------------------------------------------- |
|
|
25
27
|
| `name` | `string` | **Yes** | Skill identifier (1–64 lowercase alphanumeric characters and single hyphens). |
|
|
26
|
-
| `description` | `string` | **Yes** | Model-facing description used for skill discovery and activation (max 1024 characters).
|
|
28
|
+
| `description` | `string` | **Yes** | Model-facing description used for skill discovery and activation (max 1024 characters). **Always wrap in double quotes.** |
|
|
27
29
|
| `user-invocable` | `boolean` | No | When `true` (default), allows users to invoke the skill directly via slash commands (e.g. `/skill-name`). |
|
|
28
30
|
| `disable-model-invocation` | `boolean` | No | When `true`, hides the skill from model discovery so it is only triggered via slash command. |
|
|
29
31
|
| `argument-hint` | `string` | No | Display placeholder in the UI search/autocomplete menu when typing slash commands. |
|
|
30
|
-
| `metadata` | `object` | No | Key-value dictionary for custom metadata, tool permissions (`allowed-tools`), and `execution` pipelines.
|
|
32
|
+
| `metadata` | `object` | No | Key-value dictionary for custom metadata, tool permissions (`allowed-tools` string or list), and `execution` pipelines. |
|
|
31
33
|
| `compatibility` | `string` | No | Platform compatibility requirements or version strings. |
|
|
32
34
|
| `license` | `string` | No | Open-source software license string (e.g. `MIT`, `AGPL-3.0`). |
|
|
33
35
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "skill-md",
|
|
9
9
|
"description": "Create, edit, review, and validate ShadowClaw declarative skills and their supporting resources.",
|
|
10
10
|
"url": "../../.agents/skills/main/skill-creator/SKILL.md",
|
|
11
|
-
"digest": "sha256:
|
|
11
|
+
"digest": "sha256:21cdf3af5603edd566c6cca9a02c8ac2489b51ff0d984862fb09804c72bd553a"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://modelcontextprotocol.io/schemas/server-card/v1.json",
|
|
3
3
|
"name": "shadow-claw",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.30.0",
|
|
5
5
|
"description": "Browser-native personal AI assistant with local and remote LLM orchestration, Web Workers, OPFS storage, and agentic tool execution.",
|
|
6
6
|
"title": "ShadowClaw MCP Server",
|
|
7
7
|
"websiteUrl": "https://xt-ml.github.io/shadow-claw/",
|
package/.well-known/mcp.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://modelcontextprotocol.io/schemas/server-card/v1.json",
|
|
3
3
|
"name": "shadow-claw",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.30.0",
|
|
5
5
|
"description": "Browser-native personal AI assistant with local and remote LLM orchestration, Web Workers, OPFS storage, and agentic tool execution.",
|
|
6
6
|
"title": "ShadowClaw MCP Server",
|
|
7
7
|
"websiteUrl": "https://xt-ml.github.io/shadow-claw/",
|
|
@@ -214,6 +214,7 @@ function resolveRouteToPrettyPath(route, manifest) {
|
|
|
214
214
|
var app_routes_exports = /* @__PURE__ */ __exportAll({
|
|
215
215
|
applyBasePath: () => applyBasePath,
|
|
216
216
|
buildRoutePath: () => buildRoutePath,
|
|
217
|
+
decodePathSegment: () => decodePathSegment,
|
|
217
218
|
getAppBasePath: () => getAppBasePath,
|
|
218
219
|
getDeploymentNamespace: () => getDeploymentNamespace,
|
|
219
220
|
getFileRouteDirPath: () => getFileRouteDirPath,
|
|
@@ -521,5 +522,5 @@ function getWorkspaceRouteRequestPath(pathname) {
|
|
|
521
522
|
}
|
|
522
523
|
|
|
523
524
|
//#endregion
|
|
524
|
-
export {
|
|
525
|
-
//# sourceMappingURL=app-routes-
|
|
525
|
+
export { getDeploymentNamespace as a, isPossibleAppRoute as c, resolveHrefAgainstRoute as d, decodePathSegment as i, parseRouteFromUrl as l, applyBasePath as n, getFileRouteDirPath as o, buildRoutePath as r, getWorkspaceRouteRequestPath as s, app_routes_exports as t, parseRouteFromUrlAsync as u };
|
|
526
|
+
//# sourceMappingURL=app-routes-BAEMLu9g.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-routes-BAEMLu9g.js","names":["trimSlashes"],"sources":["../../src/storage/staticRouting.ts","../../src/core/app-routes.ts"],"sourcesContent":["/// <reference lib=\"dom\" />\nimport { applyBasePath, type ShadowClawAppRoute } from \"../core/app-routes.js\";\n\nexport interface StaticRouteDefinition {\n prettyPath: string;\n}\n\nexport interface StaticRoutesManifest {\n routes: Record<string, StaticRouteDefinition>;\n subRoutes?: string[] | Record<string, string>;\n}\n\nexport const STATIC_ROUTING_SCRIPT_ID = \"shadow-claw-static-routing\";\nexport const STATIC_ROUTING_MANIFEST_PATH = \"static-routing.json\";\n\nlet cachedManifest: StaticRoutesManifest | null = null;\n\nexport function resolveStaticRoutingManifestUrl(): string {\n const targetPath = applyBasePath(`/${STATIC_ROUTING_MANIFEST_PATH}`);\n\n if (typeof window !== \"undefined\" && window.location?.origin) {\n try {\n return new URL(targetPath, window.location.origin).toString();\n } catch {\n return targetPath;\n }\n }\n\n return targetPath;\n}\n\nfunction trimSlashes(value: string): string {\n return value.replace(/^\\/+|\\/+$/g, \"\");\n}\n\nfunction normalizePrettyPathKey(path: string): string {\n let clean = trimSlashes(path);\n if (clean.endsWith(\"/index.html\")) {\n clean = clean.slice(0, -\"/index.html\".length);\n } else if (clean.endsWith(\"index.html\")) {\n clean = clean.slice(0, -\"index.html\".length);\n }\n return trimSlashes(clean);\n}\n\nfunction parseCanonicalRouteKey(\n canonicalKey: string,\n): ShadowClawAppRoute | null {\n const normalizedKey = trimSlashes(canonicalKey);\n const parts = normalizedKey.split(\"/\").filter(Boolean);\n\n if (parts.length === 0) {\n return null;\n }\n\n const first = parts[0].toLowerCase();\n if (first === \"pages\") {\n if (parts.length >= 3) {\n const rawGroup = parts[1];\n const groupId =\n rawGroup === \"main\"\n ? \"br:main\"\n : rawGroup.startsWith(\"br-\")\n ? `br:${rawGroup.slice(3)}`\n : rawGroup;\n const filePath = parts.slice(2).join(\"/\");\n return {\n page: \"pages\",\n groupId,\n path: filePath,\n };\n }\n return {\n page: \"pages\",\n groupId: \"br:main\",\n path: parts.slice(1).join(\"/\"),\n };\n }\n\n if (first === \"files\") {\n const rawGroup = parts[1] || \"main\";\n const groupId =\n rawGroup === \"main\"\n ? \"br:main\"\n : rawGroup.startsWith(\"br-\")\n ? `br:${rawGroup.slice(3)}`\n : rawGroup;\n const filePath = parts.slice(2).join(\"/\");\n return {\n page: \"files\",\n groupId,\n path: filePath || undefined,\n };\n }\n\n if (first === \"chat\") {\n const rawGroup = parts[1] || \"main\";\n const groupId =\n rawGroup === \"main\"\n ? \"br:main\"\n : rawGroup.startsWith(\"br-\")\n ? `br:${rawGroup.slice(3)}`\n : rawGroup;\n return {\n page: \"chat\",\n groupId,\n };\n }\n\n if (first === \"tasks\") {\n const rawGroup = parts[1] || \"main\";\n const groupId =\n rawGroup === \"main\"\n ? \"br:main\"\n : rawGroup.startsWith(\"br-\")\n ? `br:${rawGroup.slice(3)}`\n : rawGroup;\n return {\n page: \"tasks\",\n groupId,\n };\n }\n\n // If format is \"posts/xyz.md\" or \"main/posts/xyz.md\"\n if (first === \"main\") {\n return {\n page: \"pages\",\n groupId: \"br:main\",\n path: parts.slice(1).join(\"/\"),\n };\n }\n\n return {\n page: \"pages\",\n groupId: \"br:main\",\n path: normalizedKey,\n };\n}\n\nexport function getEmbeddedStaticRoutesManifest(): StaticRoutesManifest | null {\n if (typeof document !== \"undefined\") {\n const scriptEl = document.getElementById(STATIC_ROUTING_SCRIPT_ID);\n if (scriptEl && scriptEl.textContent) {\n try {\n const parsed = JSON.parse(scriptEl.textContent);\n if (parsed && typeof parsed === \"object\" && parsed.routes) {\n return parsed as StaticRoutesManifest;\n }\n } catch (err) {\n console.warn(\"Failed to parse embedded static routing manifest:\", err);\n }\n }\n }\n return null;\n}\n\nexport async function getStaticRoutingManifest(): Promise<StaticRoutesManifest> {\n if (cachedManifest) {\n return cachedManifest;\n }\n\n let baseManifest = getEmbeddedStaticRoutesManifest();\n const baseUrl = resolveStaticRoutingManifestUrl();\n\n if (!baseManifest) {\n if (typeof fetch === \"function\") {\n try {\n const res = await fetch(baseUrl);\n if (res.ok) {\n const parsed = await res.json();\n if (parsed && typeof parsed === \"object\") {\n baseManifest = parsed as StaticRoutesManifest;\n }\n }\n } catch {\n // Fetch unavailable or failed\n }\n }\n }\n\n if (!baseManifest) {\n return { routes: {} };\n }\n\n if (!baseManifest.routes) {\n baseManifest.routes = {};\n }\n\n // Removed eager recursive fetch of subRoutes for CSR to support lazy loading\n // Subroutes will be fetched on demand via resolvePrettyPathToRouteAsync.\n\n cachedManifest = baseManifest;\n return cachedManifest;\n}\n\nexport function setStaticRoutesManifest(\n manifest: StaticRoutesManifest | null,\n): void {\n cachedManifest = manifest;\n}\n\nexport function clearStaticRoutesManifestCache(): void {\n cachedManifest = null;\n}\n\nexport function resolvePrettyPathToRoute(\n pathname: string,\n manifest?: StaticRoutesManifest | null,\n): ShadowClawAppRoute | null {\n const routesManifest =\n manifest || cachedManifest || getEmbeddedStaticRoutesManifest();\n if (!routesManifest || !routesManifest.routes) {\n return null;\n }\n\n const normalizedPath = normalizePrettyPathKey(pathname);\n if (!normalizedPath) {\n return null;\n }\n\n for (const [canonicalKey, routeDef] of Object.entries(\n routesManifest.routes,\n )) {\n if (!routeDef || !routeDef.prettyPath) {\n continue;\n }\n\n const normalizedPretty = normalizePrettyPathKey(routeDef.prettyPath);\n if (normalizedPretty === normalizedPath) {\n return parseCanonicalRouteKey(canonicalKey);\n }\n }\n\n return null;\n}\n\nexport async function resolvePrettyPathToRouteAsync(\n pathname: string,\n): Promise<ShadowClawAppRoute | null> {\n const syncMatch = resolvePrettyPathToRoute(pathname);\n if (syncMatch) return syncMatch;\n\n const manifest = await getStaticRoutingManifest();\n if (!manifest || !manifest.subRoutes) return null;\n\n let currentManifest = manifest;\n let currentManifestUrl = resolveStaticRoutingManifestUrl();\n let maxDepth = 5;\n\n while (currentManifest && currentManifest.subRoutes && maxDepth > 0) {\n let matchedSubRouteUrl: string | null = null;\n const normalizedPath = normalizePrettyPathKey(pathname);\n\n if (Array.isArray(currentManifest.subRoutes)) {\n for (const sub of currentManifest.subRoutes) {\n let subDir = sub.replace(/\\/routes\\.json$/, \"\");\n if (normalizedPath.startsWith(subDir)) {\n matchedSubRouteUrl = sub;\n break;\n }\n }\n } else if (typeof currentManifest.subRoutes === \"object\") {\n let longestMatch = \"\";\n for (const [prefix, sub] of Object.entries(currentManifest.subRoutes)) {\n const normPrefix = normalizePrettyPathKey(prefix);\n if (\n normalizedPath.startsWith(normPrefix) &&\n normPrefix.length > longestMatch.length\n ) {\n longestMatch = normPrefix;\n matchedSubRouteUrl = sub;\n }\n }\n }\n\n if (!matchedSubRouteUrl || typeof fetch !== \"function\") {\n break;\n }\n\n try {\n let subUrl = matchedSubRouteUrl;\n try {\n if (\n matchedSubRouteUrl.startsWith(\"http://\") ||\n matchedSubRouteUrl.startsWith(\"https://\")\n ) {\n subUrl = matchedSubRouteUrl;\n } else if (matchedSubRouteUrl.startsWith(\"/\")) {\n const withBase = applyBasePath(matchedSubRouteUrl);\n subUrl =\n typeof window !== \"undefined\" && window.location?.origin\n ? new URL(withBase, window.location.origin).toString()\n : withBase;\n } else {\n subUrl = new URL(matchedSubRouteUrl, currentManifestUrl).toString();\n }\n } catch {\n // Ignore\n }\n\n const res = await fetch(subUrl);\n if (!res.ok) break;\n\n const parsed = await res.json();\n if (!parsed || typeof parsed !== \"object\") break;\n\n if (parsed.routes) {\n Object.assign(manifest.routes, parsed.routes);\n }\n\n const found = resolvePrettyPathToRoute(pathname, manifest);\n if (found) return found;\n\n // Continue to next level if there are subRoutes\n currentManifest = parsed;\n currentManifestUrl = subUrl;\n maxDepth--;\n } catch (e) {\n console.warn(\"Failed to lazy load subRoute:\", matchedSubRouteUrl, e);\n break;\n }\n }\n\n return null;\n}\n\nexport function resolveRouteToPrettyPath(\n route: ShadowClawAppRoute,\n manifest?: StaticRoutesManifest | null,\n): string | null {\n const routesManifest =\n manifest || cachedManifest || getEmbeddedStaticRoutesManifest();\n if (!routesManifest || !routesManifest.routes) {\n return null;\n }\n\n const { page, groupId, path } = route;\n if (!page) {\n return null;\n }\n\n const normalizedGroupId =\n groupId === \"br:main\" || groupId === \"main\"\n ? \"main\"\n : groupId?.startsWith(\"br:\")\n ? `br-${groupId.slice(3)}`\n : groupId;\n\n const candidateKeys: string[] = [];\n if (page === \"pages\" && path) {\n const cleanPath = trimSlashes(path);\n if (normalizedGroupId === \"main\") {\n candidateKeys.push(`/pages/main/${cleanPath}`);\n candidateKeys.push(`pages/main/${cleanPath}`);\n candidateKeys.push(`/pages/br:main/${cleanPath}`);\n candidateKeys.push(`/pages/br-main/${cleanPath}`);\n candidateKeys.push(`/main/${cleanPath}`);\n candidateKeys.push(`main/${cleanPath}`);\n candidateKeys.push(`/${cleanPath}`);\n candidateKeys.push(cleanPath);\n } else if (normalizedGroupId) {\n candidateKeys.push(`/pages/${normalizedGroupId}/${cleanPath}`);\n candidateKeys.push(`pages/${normalizedGroupId}/${cleanPath}`);\n candidateKeys.push(`/pages/${groupId}/${cleanPath}`);\n }\n } else if (page === \"files\" && path) {\n const cleanPath = trimSlashes(path);\n if (normalizedGroupId) {\n candidateKeys.push(`/files/${normalizedGroupId}/${cleanPath}`);\n candidateKeys.push(`files/${normalizedGroupId}/${cleanPath}`);\n candidateKeys.push(`/files/${groupId}/${cleanPath}`);\n }\n }\n\n for (const candidate of candidateKeys) {\n const candidateNormalized = trimSlashes(candidate);\n for (const [canonicalKey, routeDef] of Object.entries(\n routesManifest.routes,\n )) {\n if (\n trimSlashes(canonicalKey) === candidateNormalized &&\n routeDef?.prettyPath\n ) {\n return routeDef.prettyPath;\n }\n }\n }\n\n return null;\n}\n","import {\n resolvePrettyPathToRoute,\n resolveRouteToPrettyPath,\n resolvePrettyPathToRouteAsync,\n} from \"../storage/staticRouting.js\";\n\nexport type ShadowClawPageRoute =\n | \"chat\"\n | \"files\"\n | \"tasks\"\n | \"pages\"\n | \"settings\"\n | \"tools\"\n | \"channels\";\n\nexport interface ShadowClawAppRoute {\n page: ShadowClawPageRoute;\n groupId?: string;\n path?: string;\n anchor?: string;\n}\n\nfunction encodePathSegment(value: string): string {\n if (value === \"br:main\") {\n return \"main\";\n }\n if (value.startsWith(\"br:\")) {\n return `br-${value.slice(3)}`;\n }\n\n return encodeURIComponent(value);\n}\n\nexport function decodePathSegment(value: string): string {\n try {\n return decodeURIComponent(value);\n } catch {\n return value;\n }\n}\n\nlet cachedBasePath: string | null = null;\n\nconst VALID_PAGES = new Set([\n \"chat\",\n \"files\",\n \"tasks\",\n \"pages\",\n \"settings\",\n \"tools\",\n \"channels\",\n]);\n\nexport function resetAppBasePathCache(): void {\n cachedBasePath = null;\n}\n\nif (typeof globalThis !== \"undefined\") {\n (globalThis as any).__applyBasePathCacheReset = resetAppBasePathCache;\n}\n\nexport function getDeploymentNamespace(): string {\n const globalObj =\n typeof window !== \"undefined\"\n ? window\n : typeof self !== \"undefined\"\n ? self\n : globalThis;\n\n if (globalObj && (globalObj as any).__SHADOWCLAW_DEPLOY_ID__) {\n const customId = String((globalObj as any).__SHADOWCLAW_DEPLOY_ID__).trim();\n if (customId) {\n return customId.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n }\n }\n\n const proc = (globalThis as any).process;\n if (proc && proc.env && proc.env.SHADOWCLAW_DEPLOY_ID) {\n const envId = String(proc.env.SHADOWCLAW_DEPLOY_ID).trim();\n if (envId) {\n return envId.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n }\n }\n\n const basePath = getAppBasePath();\n if (!basePath || basePath === \"/\") {\n return \"\";\n }\n\n const clean = basePath.replace(/^\\/+|\\/+$/g, \"\");\n return clean.replace(/[^a-zA-Z0-9_-]/g, \"-\");\n}\n\nexport function getAppBasePath(): string {\n if (cachedBasePath !== null) {\n return cachedBasePath;\n }\n\n // In Web Worker environment:\n const isWorker =\n typeof window === \"undefined\" ||\n (typeof (globalThis as any).WorkerGlobalScope !== \"undefined\" &&\n typeof self !== \"undefined\" &&\n self instanceof (globalThis as any).WorkerGlobalScope);\n\n if (isWorker && typeof self !== \"undefined\" && (self as any).location) {\n const workerPath = (self as any).location.pathname || \"/\";\n const parts = workerPath.split(\"/\").filter(Boolean);\n\n // In a Web Worker, the pathname is always the URL of a script file (e.g. /agent.worker.js or /shadow-claw/agent.worker.js).\n // If there is only 1 segment (e.g. [\"agent.worker.js\"]), the worker is hosted at the root domain.\n if (parts.length <= 1) {\n cachedBasePath = \"/\";\n\n return cachedBasePath;\n }\n\n const first = parts[0].toLowerCase();\n const isRootFileOrDir =\n first === \"service-worker.js\" ||\n first === \"sw.js\" ||\n first === \"manifest.json\" ||\n first === \"sitemap.xml\" ||\n first === \"favicon.ico\" ||\n first === \"index.html\" ||\n first === \"service-worker\" ||\n first === \"assets\" ||\n first === \"dist\" ||\n first === \"public\";\n\n // If there are 2 segments and the first is an internal asset/service-worker folder (e.g. /service-worker/init.js),\n // it's hosted at the root domain.\n if (isRootFileOrDir && parts.length === 2) {\n cachedBasePath = \"/\";\n\n return cachedBasePath;\n }\n\n if (!isRootFileOrDir) {\n cachedBasePath = \"/\" + parts[0] + \"/\";\n\n return cachedBasePath;\n }\n }\n\n const loc =\n typeof window !== \"undefined\" && window.location\n ? window.location\n : typeof self !== \"undefined\" && self.location\n ? self.location\n : null;\n\n if (!loc) {\n return \"/\";\n }\n\n // 1. Check for explicit <base href=\"...\"> element in the DOM\n if (\n typeof document !== \"undefined\" &&\n typeof document.querySelector === \"function\"\n ) {\n const baseEl = document.querySelector(\"base[href]\");\n if (baseEl) {\n const href = baseEl.getAttribute(\"href\");\n if (href) {\n try {\n const baseUriPath = new URL(href, loc.origin).pathname;\n let base = baseUriPath;\n if (!base.endsWith(\"/\")) {\n base += \"/\";\n }\n cachedBasePath = base;\n\n return cachedBasePath;\n } catch {\n // ignore parsing error, fall through\n }\n }\n }\n }\n\n const pathname = loc.pathname || \"/\";\n if (pathname === \"/\") {\n cachedBasePath = \"/\";\n\n return cachedBasePath;\n }\n\n const parts = pathname.split(\"/\").filter(Boolean);\n const pageIndex = parts.findIndex((part) =>\n VALID_PAGES.has(part.toLowerCase()),\n );\n\n if (pageIndex >= 0) {\n if (pageIndex === 0) {\n cachedBasePath = \"/\";\n\n return cachedBasePath;\n }\n\n cachedBasePath = \"/\" + parts.slice(0, pageIndex).join(\"/\") + \"/\";\n\n return cachedBasePath;\n }\n\n // 2. Check if the current pathname is a known pretty route\n const prettyRoute = resolvePrettyPathToRoute(pathname);\n if (prettyRoute) {\n cachedBasePath = \"/\";\n\n return cachedBasePath;\n }\n\n // 3. Check for single-segment subpath deployments (e.g. /shadow-claw/ or /my-app/)\n if (parts.length === 1 && !pathname.includes(\".\")) {\n cachedBasePath = \"/\" + parts[0] + \"/\";\n\n return cachedBasePath;\n }\n\n // 4. Default to root base path for unhandled multi-segment paths\n cachedBasePath = \"/\";\n\n return cachedBasePath;\n}\n\nexport function applyBasePath(path: string): string {\n const base = getAppBasePath();\n if (base === \"/\") {\n return path;\n }\n\n const [pathPart, ...rest] = path.split(/(?=[?#])/);\n\n // If the path already starts with the base, don't double-prefix.\n if (pathPart === base || pathPart.startsWith(base)) {\n return path;\n }\n\n const relative = pathPart.startsWith(\"/\") ? pathPart.slice(1) : pathPart;\n\n let combined = base + relative;\n combined = combined.replace(/\\/{2,}/g, \"/\");\n\n return combined + rest.join(\"\");\n}\n\nfunction trimSlashes(value: string): string {\n return value.replace(/^\\/+|\\/+$/g, \"\");\n}\n\nfunction normalizeRouteGroupId(\n groupId: string | undefined,\n): string | undefined {\n if (!groupId) {\n return groupId;\n }\n\n if (groupId === \"main\") {\n return \"br:main\";\n }\n\n // Accept browser-safe \"br-...\" route IDs and normalize to canonical \"br:...\".\n if (groupId.startsWith(\"br-\")) {\n return `br:${groupId.slice(3)}`;\n }\n\n return groupId;\n}\n\nfunction sanitizeWorkspacePath(path: string | undefined): string | undefined {\n if (!path) {\n return undefined;\n }\n\n const normalized = trimSlashes(path.replace(/\\\\/g, \"/\"));\n if (!normalized) {\n return undefined;\n }\n\n const parts = normalized\n .split(\"/\")\n .filter(Boolean)\n .filter((part) => part !== \".\" && part !== \"..\");\n\n if (parts.length === 0) {\n return undefined;\n }\n\n return parts.join(\"/\");\n}\n\nexport function buildRoutePath(route: ShadowClawAppRoute): string {\n const anchor = route.anchor ? `#${route.anchor.replace(/^#/, \"\")}` : \"\";\n\n const prettyPath = resolveRouteToPrettyPath(route);\n if (prettyPath) {\n let clean = prettyPath;\n if (!clean.startsWith(\"/\")) {\n clean = `/${clean}`;\n }\n\n return `${clean}${anchor}`;\n }\n\n switch (route.page) {\n case \"chat\": {\n const path = route.groupId\n ? `/chat/${encodePathSegment(route.groupId)}/`\n : \"/chat\";\n\n return `${path}${anchor}`;\n }\n\n case \"tasks\": {\n const path = route.groupId\n ? `/tasks/${encodePathSegment(route.groupId)}/`\n : \"/tasks\";\n\n return `${path}${anchor}`;\n }\n\n case \"files\": {\n const workspacePath = sanitizeWorkspacePath(route.path);\n if (!route.groupId) {\n return `/files${anchor}`;\n }\n\n if (!workspacePath) {\n return `/files/${encodePathSegment(route.groupId)}/${anchor}`;\n }\n\n return `/files/${encodePathSegment(route.groupId)}/${workspacePath}${anchor}`;\n }\n\n case \"pages\": {\n const workspacePath = sanitizeWorkspacePath(route.path);\n if (!workspacePath) {\n return `/pages${anchor}`;\n }\n\n if (route.groupId) {\n return `/pages/${encodePathSegment(route.groupId)}/${workspacePath}${anchor}`;\n }\n\n return `/pages/${workspacePath}${anchor}`;\n }\n\n case \"tools\":\n return `/settings/tool-configuration${anchor}`;\n\n case \"channels\":\n return `/settings/channel-configuration${anchor}`;\n\n case \"settings\":\n default:\n return `/settings${anchor}`;\n }\n}\n\nexport function parseRouteFromUrl(\n url: URL,\n fallbackGroupId?: string,\n): ShadowClawAppRoute | null {\n let pathname = url.pathname;\n const basePath = getAppBasePath();\n\n if (basePath !== \"/\" && pathname.startsWith(basePath)) {\n pathname = \"/\" + pathname.slice(basePath.length);\n }\n\n const prettyRoute = resolvePrettyPathToRoute(pathname);\n if (prettyRoute) {\n const anchor = url.hash ? url.hash.replace(/^#/, \"\") : undefined;\n\n return {\n ...prettyRoute,\n anchor: anchor || prettyRoute.anchor,\n };\n }\n\n const parts = pathname\n .split(\"/\")\n .filter(Boolean)\n .map((part) => decodePathSegment(part));\n const anchor = url.hash ? url.hash.replace(/^#/, \"\") : undefined;\n\n if (parts.length === 0) {\n return null;\n }\n\n const page = parts[0].toLowerCase();\n\n if (page === \"chat\") {\n return {\n page: \"chat\",\n groupId: normalizeRouteGroupId(parts[1] || fallbackGroupId),\n anchor,\n };\n }\n\n if (page === \"tasks\") {\n return {\n page: \"tasks\",\n groupId: normalizeRouteGroupId(parts[1] || fallbackGroupId),\n anchor,\n };\n }\n\n if (page === \"files\") {\n const groupId = normalizeRouteGroupId(parts[1] || fallbackGroupId);\n const path = sanitizeWorkspacePath(parts.slice(2).join(\"/\"));\n\n return {\n page: \"files\",\n groupId,\n path,\n anchor,\n };\n }\n\n if (page === \"pages\") {\n if (parts.length >= 3) {\n return {\n page: \"pages\",\n groupId: normalizeRouteGroupId(parts[1]),\n path: sanitizeWorkspacePath(parts.slice(2).join(\"/\")),\n anchor,\n };\n }\n\n return {\n page: \"pages\",\n groupId: normalizeRouteGroupId(fallbackGroupId),\n path: sanitizeWorkspacePath(parts.slice(1).join(\"/\")),\n anchor,\n };\n }\n\n if (page === \"settings\") {\n const section = (parts[1] || \"\").toLowerCase();\n if (section === \"tool-configuration\") {\n return { page: \"tools\", anchor };\n }\n\n if (section === \"channel-configuration\") {\n return { page: \"channels\", anchor };\n }\n\n return { page: \"settings\", anchor };\n }\n\n if (page === \"tools\") {\n return { page: \"tools\", anchor };\n }\n\n if (page === \"channels\") {\n return { page: \"channels\", anchor };\n }\n\n return null;\n}\n\nexport function isPossibleAppRoute(pathname: string): boolean {\n let relativePath = pathname;\n const basePath = getAppBasePath();\n\n if (basePath !== \"/\" && relativePath.startsWith(basePath)) {\n relativePath = \"/\" + relativePath.slice(basePath.length);\n } else if (basePath !== \"/\" && !relativePath.startsWith(basePath)) {\n return false;\n }\n\n const parts = relativePath.split(\"/\").filter(Boolean);\n if (parts.length === 0) return true; // root\n\n const page = parts[0].toLowerCase();\n if (VALID_PAGES.has(page)) return true;\n\n if (resolvePrettyPathToRoute(relativePath)) return true;\n\n return false;\n}\n\nexport async function parseRouteFromUrlAsync(\n url: URL,\n fallbackGroupId?: string,\n): Promise<ShadowClawAppRoute | null> {\n const syncRoute = parseRouteFromUrl(url, fallbackGroupId);\n if (syncRoute) return syncRoute;\n\n let pathname = url.pathname;\n const basePath = getAppBasePath();\n if (basePath !== \"/\" && pathname.startsWith(basePath)) {\n pathname = \"/\" + pathname.slice(basePath.length);\n }\n\n const prettyRoute = await resolvePrettyPathToRouteAsync(pathname);\n if (prettyRoute) {\n const anchor = url.hash ? url.hash.replace(/^#/, \"\") : undefined;\n return {\n ...prettyRoute,\n anchor: anchor || prettyRoute.anchor,\n };\n }\n\n return null;\n}\n\nexport function resolveHrefAgainstRoute(\n href: string,\n routePath: string,\n origin: string,\n): URL | null {\n const trimmed = href.trim();\n if (!trimmed || trimmed.startsWith(\"javascript:\")) {\n return null;\n }\n\n if (trimmed.startsWith(\"/\")) {\n try {\n const resolvedPath = applyBasePath(trimmed);\n\n return new URL(resolvedPath, origin);\n } catch {\n return null;\n }\n }\n\n const base = new URL(routePath, origin);\n try {\n return new URL(trimmed, base);\n } catch {\n return null;\n }\n}\n\nexport function getFileRouteDirPath(groupId: string, filePath: string): string {\n const normalized = sanitizeWorkspacePath(filePath);\n if (!normalized) {\n return buildRoutePath({ page: \"files\", groupId });\n }\n\n const parts = normalized.split(\"/\");\n parts.pop();\n const prefix = parts.length > 0 ? `${parts.join(\"/\")}/` : \"\";\n\n return `/files/${encodePathSegment(groupId)}/${prefix}`;\n}\n\nexport function getWorkspaceRouteRequestPath(\n pathname: string,\n): { groupId: string; path: string } | null {\n let relativePath = pathname;\n const basePath = getAppBasePath();\n\n if (basePath !== \"/\" && relativePath.startsWith(basePath)) {\n relativePath = \"/\" + relativePath.slice(basePath.length);\n }\n\n const parts = relativePath\n .split(\"/\")\n .filter(Boolean)\n .map((part) => decodePathSegment(part));\n\n if (parts.length < 3) {\n return null;\n }\n\n if (parts[0] !== \"files\") {\n return null;\n }\n\n const groupId = normalizeRouteGroupId(parts[1]) || parts[1];\n const path = sanitizeWorkspacePath(parts.slice(2).join(\"/\"));\n if (!groupId || !path) {\n return null;\n }\n\n return { groupId, path };\n}\n"],"mappings":"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"}
|
|
@@ -2951,8 +2951,7 @@ var $78455e22dea96b8c$export$adb4a1754da6f10d = /*#__PURE__*/ function(ServerMes
|
|
|
2951
2951
|
ServerMessageType["Expire"] = "EXPIRE";
|
|
2952
2952
|
return ServerMessageType;
|
|
2953
2953
|
}({});
|
|
2954
|
-
|
|
2955
|
-
$f5f881ec4575f1fc$exports = JSON.parse("{\"name\":\"peerjs\",\"version\":\"1.5.4-custom-events.0\",\"keywords\":[\"peerjs\",\"webrtc\",\"p2p\",\"rtc\"],\"description\":\"PeerJS client\",\"homepage\":\"https://peerjs.com\",\"bugs\":{\"url\":\"https://github.com/peers/peerjs/issues\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/peers/peerjs\"},\"license\":\"MIT\",\"contributors\":[\"Michelle Bu <michelle@michellebu.com>\",\"afrokick <devbyru@gmail.com>\",\"ericz <really.ez@gmail.com>\",\"Jairo <kidandcat@gmail.com>\",\"Jonas Gloning <34194370+jonasgloning@users.noreply.github.com>\",\"Jairo Caro-Accino Viciana <jairo@galax.be>\",\"Carlos Caballero <carlos.caballero.gonzalez@gmail.com>\",\"hc <hheennrryy@gmail.com>\",\"Muhammad Asif <capripio@gmail.com>\",\"PrashoonB <prashoonbhattacharjee@gmail.com>\",\"Harsh Bardhan Mishra <47351025+HarshCasper@users.noreply.github.com>\",\"akotynski <aleksanderkotbury@gmail.com>\",\"lmb <i@lmb.io>\",\"Jairooo <jairocaro@msn.com>\",\"Moritz Stückler <moritz.stueckler@gmail.com>\",\"Simon <crydotsnakegithub@gmail.com>\",\"Denis Lukov <denismassters@gmail.com>\",\"Philipp Hancke <fippo@andyet.net>\",\"Hans Oksendahl <hansoksendahl@gmail.com>\",\"Jess <jessachandler@gmail.com>\",\"khankuan <khankuan@gmail.com>\",\"DUODVK <kurmanov.work@gmail.com>\",\"XiZhao <kwang1imsa@gmail.com>\",\"Matthias Lohr <matthias@lohr.me>\",\"=frank tree <=frnktrb@googlemail.com>\",\"Andre Eckardt <aeckardt@outlook.com>\",\"Chris Cowan <agentme49@gmail.com>\",\"Alex Chuev <alex@chuev.com>\",\"alxnull <alxnull@e.mail.de>\",\"Yemel Jardi <angel.jardi@gmail.com>\",\"Ben Parnell <benjaminparnell.94@gmail.com>\",\"Benny Lichtner <bennlich@gmail.com>\",\"fresheneesz <bitetrudpublic@gmail.com>\",\"bob.barstead@exaptive.com <bob.barstead@exaptive.com>\",\"chandika <chandika@gmail.com>\",\"emersion <contact@emersion.fr>\",\"Christopher Van <cvan@users.noreply.github.com>\",\"eddieherm <edhermoso@gmail.com>\",\"Eduardo Pinho <enet4mikeenet@gmail.com>\",\"Evandro Zanatta <ezanatta@tray.net.br>\",\"Gardner Bickford <gardner@users.noreply.github.com>\",\"Gian Luca <gianluca.cecchi@cynny.com>\",\"PatrickJS <github@gdi2290.com>\",\"jonnyf <github@jonathanfoss.co.uk>\",\"Hizkia Felix <hizkifw@gmail.com>\",\"Hristo Oskov <hristo.oskov@gmail.com>\",\"Isaac Madwed <i.madwed@gmail.com>\",\"Ilya Konanykhin <ilya.konanykhin@gmail.com>\",\"jasonbarry <jasbarry@me.com>\",\"Jonathan Burke <jonathan.burke.1311@googlemail.com>\",\"Josh Hamit <josh.hamit@gmail.com>\",\"Jordan Austin <jrax86@gmail.com>\",\"Joel Wetzell <jwetzell@yahoo.com>\",\"xizhao <kevin.wang@cloudera.com>\",\"Alberto Torres <kungfoobar@gmail.com>\",\"Jonathan Mayol <mayoljonathan@gmail.com>\",\"Jefferson Felix <me@jsfelix.dev>\",\"Rolf Erik Lekang <me@rolflekang.com>\",\"Kevin Mai-Husan Chia <mhchia@users.noreply.github.com>\",\"Pepijn de Vos <pepijndevos@gmail.com>\",\"JooYoung <qkdlql@naver.com>\",\"Tobias Speicher <rootcommander@gmail.com>\",\"Steve Blaurock <sblaurock@gmail.com>\",\"Kyrylo Shegeda <shegeda@ualberta.ca>\",\"Diwank Singh Tomer <singh@diwank.name>\",\"Sören Balko <Soeren.Balko@gmail.com>\",\"Arpit Solanki <solankiarpit1997@gmail.com>\",\"Yuki Ito <yuki@gnnk.net>\",\"Artur Zayats <zag2art@gmail.com>\"],\"funding\":{\"type\":\"opencollective\",\"url\":\"https://opencollective.com/peer\"},\"collective\":{\"type\":\"opencollective\",\"url\":\"https://opencollective.com/peer\"},\"files\":[\"dist/*\"],\"sideEffects\":[\"lib/global.ts\",\"lib/supports.ts\"],\"main\":\"dist/bundler.cjs\",\"module\":\"dist/bundler.mjs\",\"browser-minified\":\"dist/peerjs.min.js\",\"browser-unminified\":\"dist/peerjs.js\",\"browser-minified-msgpack\":\"dist/serializer.msgpack.mjs\",\"types\":\"dist/types.d.ts\",\"engines\":{\"node\":\">= 14\"},\"targets\":{\"types\":{\"source\":\"lib/exports.ts\"},\"main\":{\"source\":\"lib/exports.ts\",\"sourceMap\":{\"inlineSources\":true}},\"module\":{\"source\":\"lib/exports.ts\",\"includeNodeModules\":[\"eventemitter3\"],\"sourceMap\":{\"inlineSources\":true}},\"browser-minified\":{\"context\":\"browser\",\"outputFormat\":\"global\",\"optimize\":true,\"engines\":{\"browsers\":\"chrome >= 83, edge >= 83, firefox >= 80, safari >= 15\"},\"source\":\"lib/global.ts\"},\"browser-unminified\":{\"context\":\"browser\",\"outputFormat\":\"global\",\"optimize\":false,\"engines\":{\"browsers\":\"chrome >= 83, edge >= 83, firefox >= 80, safari >= 15\"},\"source\":\"lib/global.ts\"},\"browser-minified-msgpack\":{\"context\":\"browser\",\"outputFormat\":\"esmodule\",\"isLibrary\":true,\"optimize\":true,\"engines\":{\"browsers\":\"chrome >= 83, edge >= 83, firefox >= 102, safari >= 15\"},\"source\":\"lib/dataconnection/StreamConnection/MsgPack.ts\"}},\"scripts\":{\"contributors\":\"git-authors-cli --print=false && prettier --write package.json && git add package.json package-lock.json && git commit -m \\\"chore(contributors): update and sort contributors list\\\"\",\"check\":\"tsc --noEmit && tsc -p e2e/tsconfig.json --noEmit\",\"watch\":\"parcel watch\",\"build\":\"rm -rf dist && parcel build\",\"prepublishOnly\":\"npm run build\",\"test\":\"jest\",\"test:watch\":\"jest --watch\",\"coverage\":\"jest --coverage --collectCoverageFrom=\\\"./lib/**\\\"\",\"format\":\"prettier --write .\",\"format:check\":\"prettier --check .\",\"semantic-release\":\"semantic-release\",\"e2e\":\"wdio run e2e/wdio.local.conf.ts\",\"e2e:bstack\":\"wdio run e2e/wdio.bstack.conf.ts\"},\"devDependencies\":{\"@parcel/config-default\":\"^2.9.3\",\"@parcel/packager-ts\":\"^2.9.3\",\"@parcel/transformer-typescript-tsc\":\"^2.9.3\",\"@parcel/transformer-typescript-types\":\"^2.9.3\",\"@semantic-release/changelog\":\"^6.0.1\",\"@semantic-release/git\":\"^10.0.1\",\"@swc/core\":\"^1.3.27\",\"@swc/jest\":\"^0.2.24\",\"@types/jasmine\":\"^5.0.0\",\"@wdio/browserstack-service\":\"^8.11.2\",\"@wdio/cli\":\"^8.11.2\",\"@wdio/globals\":\"^8.11.2\",\"@wdio/jasmine-framework\":\"^8.11.2\",\"@wdio/local-runner\":\"^8.11.2\",\"@wdio/spec-reporter\":\"^8.11.2\",\"@wdio/types\":\"^8.10.4\",\"http-server\":\"^14.1.1\",\"jest\":\"^29.3.1\",\"jest-environment-jsdom\":\"^29.3.1\",\"mock-socket\":\"^9.0.0\",\"parcel\":\"^2.9.3\",\"prettier\":\"^3.0.0\",\"semantic-release\":\"^23.0.0\",\"ts-node\":\"^10.9.1\",\"typescript\":\"^5.0.0\",\"wdio-geckodriver-service\":\"^5.0.1\"},\"dependencies\":{\"@msgpack/msgpack\":\"^2.8.0\",\"eventemitter3\":\"^4.0.7\",\"peerjs-js-binarypack\":\"^2.1.0\",\"webrtc-adapter\":\"^9.0.0\"},\"alias\":{\"process\":false,\"buffer\":false}}");
|
|
2954
|
+
const $520832d44ba058c8$export$83d89fbfd8236492 = "1.5.5";
|
|
2956
2955
|
var $8f5bfa60836d261d$export$4798917dbf149b79 = class extends $c4dcfd1d1ea86647$exports.EventEmitter {
|
|
2957
2956
|
constructor(secure, host, port, path, key, pingInterval = 5e3) {
|
|
2958
2957
|
super(), this.pingInterval = pingInterval, this._disconnected = true, this._messagesQueue = [];
|
|
@@ -2963,7 +2962,7 @@ var $8f5bfa60836d261d$export$4798917dbf149b79 = class extends $c4dcfd1d1ea86647$
|
|
|
2963
2962
|
this._id = id;
|
|
2964
2963
|
const wsUrl = `${this._baseUrl}&id=${id}&token=${token}`;
|
|
2965
2964
|
if (!!this._socket || !this._disconnected) return;
|
|
2966
|
-
this._socket = new WebSocket(wsUrl + "&version="
|
|
2965
|
+
this._socket = new WebSocket(wsUrl + "&version=1.5.5");
|
|
2967
2966
|
this._disconnected = false;
|
|
2968
2967
|
this._socket.onmessage = (event) => {
|
|
2969
2968
|
let data;
|
|
@@ -3382,7 +3381,7 @@ var $abf266641927cd89$export$2c4e825dc9120f87 = class {
|
|
|
3382
3381
|
const { host, port, path, key } = this._options;
|
|
3383
3382
|
const url = new URL(`${protocol}://${host}:${port}${path}${key}/${method}`);
|
|
3384
3383
|
url.searchParams.set("ts", `${Date.now()}${Math.random()}`);
|
|
3385
|
-
url.searchParams.set("version", $
|
|
3384
|
+
url.searchParams.set("version", $520832d44ba058c8$export$83d89fbfd8236492);
|
|
3386
3385
|
return fetch(url.href, { referrerPolicy: this._options.referrerPolicy });
|
|
3387
3386
|
}
|
|
3388
3387
|
/** Get a unique ID from the server via XHR and initialize with it. */ async retrieveId() {
|
|
@@ -3581,10 +3580,6 @@ var $9fcfddb3ae148f88$export$f0a5a64d5bb37108 = class extends $a229bedbcaa6ca23$
|
|
|
3581
3580
|
count: 0,
|
|
3582
3581
|
total: data.total
|
|
3583
3582
|
};
|
|
3584
|
-
globalThis.dispatchEvent(new CustomEvent("peerjs-dc-handle-chunk", { detail: { chunkInfo: {
|
|
3585
|
-
count: chunkInfo.count,
|
|
3586
|
-
total: chunkInfo.total
|
|
3587
|
-
} } }));
|
|
3588
3583
|
chunkInfo.data[data.n] = new Uint8Array(data.data);
|
|
3589
3584
|
chunkInfo.count++;
|
|
3590
3585
|
this._chunkedData[id] = chunkInfo;
|
|
@@ -4001,4 +3996,4 @@ var $416260bce337df90$export$ecd1fc136c422448 = class $416260bce337df90$export$e
|
|
|
4001
3996
|
|
|
4002
3997
|
//#endregion
|
|
4003
3998
|
export { $416260bce337df90$export$ecd1fc136c422448 as Peer };
|
|
4004
|
-
//# sourceMappingURL=bundler-
|
|
3999
|
+
//# sourceMappingURL=bundler-CsL7hHMq.js.map
|