shadow-claw 1.40.1 → 1.41.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/.well-known/mcp/server-card.json +1 -1
- package/.well-known/mcp.json +1 -1
- package/README.md +1 -0
- package/dist/cli/build/build.js +1 -1
- package/dist/cli/{chunk-Bfz2NYgD.js → chunk-0IeC97mU.js} +7 -7
- package/dist/cli/chunk-3oLxlxPn.js +1 -0
- package/dist/cli/{chunk-BXg4-9Rq2.js → chunk-8CrZyP1b2.js} +1 -1
- package/dist/cli/{chunk-BP5Hg6CM.js → chunk-B--ueArB.js} +1 -1
- package/dist/cli/chunk-BIh7rXlJ2.js +1 -0
- package/dist/cli/{chunk-Drr0VSGA2.js → chunk-BKnTOLLS2.js} +1 -1
- package/dist/cli/{chunk-C5PuRV08.js → chunk-BLMC1Bxv.js} +1 -1
- package/dist/cli/{chunk-B2tNSlFy2.js → chunk-BOigzz2U2.js} +1 -1
- package/dist/cli/{chunk-DOf3DZdR.js → chunk-BOzn335y.js} +1 -1
- package/dist/cli/chunk-BjOeVLb42.js +1 -0
- package/dist/cli/{chunk-DqTx0rRp2.js → chunk-Bjqh5_SU2.js} +1 -1
- package/dist/cli/chunk-BqWBd_jF2.js +1 -0
- package/dist/cli/{chunk-Bc9nRNyN.js → chunk-BvVUnHTq.js} +12 -9
- package/dist/cli/{chunk-DIbSoQmd2.js → chunk-C6FFByBU2.js} +2 -2
- package/dist/cli/{chunk-Drq18VZe.js → chunk-C9-aL3rF.js} +1 -1
- package/dist/cli/{chunk-BUhqHeEA2.js → chunk-C9czddEh2.js} +2 -2
- package/dist/cli/chunk-CCx8WOwz2.js +1 -0
- package/dist/cli/{chunk-BkMSjVJb.js → chunk-CK6ejMig.js} +1 -1
- package/dist/cli/chunk-CUUERioR2.js +1 -0
- package/dist/cli/chunk-CXAobnJd.js +1 -0
- package/dist/cli/chunk-CY1X0pOF2.js +1 -0
- package/dist/cli/chunk-CZvvgLVv.js +1 -0
- package/dist/cli/chunk-CbcwbfJB.js +1 -0
- package/dist/cli/{chunk-quilB3TV2.js → chunk-Ci9OJGcd2.js} +1 -1
- package/dist/cli/chunk-Cj9wl0qx.js +1 -0
- package/dist/cli/{chunk-3gRhOmGo2.js → chunk-CjJsVrKI2.js} +1 -1
- package/dist/cli/{chunk-CmEfzm-_.js → chunk-ClPZ4Rea.js} +1 -1
- package/dist/cli/{chunk-WMPAfIvV2.js → chunk-DHJCGRuG2.js} +1 -1
- package/dist/cli/{chunk-C7Y2xIk4.js → chunk-DKVkYTV9.js} +1 -1
- package/dist/cli/chunk-DR2XtWRo.js +1 -0
- package/dist/cli/{chunk-DID5VvOG.js → chunk-DTES-dE6.js} +3 -3
- package/dist/cli/{chunk-BiVJVh_S.js → chunk-DUlIqkaX.js} +7 -7
- package/dist/cli/{chunk-CkpueGaZ2.js → chunk-DjWle8FF2.js} +1 -1
- package/dist/cli/{chunk-CSvHmNOk.js → chunk-DmRXVLfy.js} +1 -1
- package/dist/cli/{chunk-BT1xXZn72.js → chunk-HlSiTC-u2.js} +1 -1
- package/dist/cli/{chunk-da0bsiOn.js → chunk-P4JSeFBI.js} +1 -1
- package/dist/cli/chunk-UcNbHaRQ.js +1 -0
- package/dist/cli/{chunk-BXFHFbEd.js → chunk-UweLmfQS.js} +1 -1
- package/dist/cli/chunk-bQQkVCw-.js +94 -0
- package/dist/cli/{chunk-CGiXWHTi2.js → chunk-gwpxl-0W2.js} +1 -1
- package/dist/cli/{chunk-NH8koEis2.js → chunk-nmDhxXH_2.js} +1 -1
- package/dist/cli/chunk-p0n_c-I2.js +1 -0
- package/dist/cli/{chunk-D7xP72La.js → chunk-q7r4FosZ.js} +1 -1
- package/dist/cli/cli.js +1 -1
- package/dist/cli/prerender/dsd-shell/prerender-dsd-shell.js +1 -1
- package/dist/electron/main.cjs +1 -1
- package/dist/headless-agent.js +1 -1
- package/dist/lib/{app-routes-BAEMLu9g.js → app-routes-CKkiX12g.js} +7 -2
- package/dist/lib/app-routes-CKkiX12g.js.map +1 -0
- 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/utils/syncSlottedSidebarActiveLinks.d.ts +10 -0
- 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-CPHDmyTx.js → config-DZkF9LiO.js} +2 -2
- package/dist/lib/{config-CPHDmyTx.js.map → config-DZkF9LiO.js.map} +1 -1
- package/dist/lib/{configurePeerJs-BsJoycQd.js → configurePeerJs-B3IE9BY2.js} +3 -3
- package/dist/lib/{configurePeerJs-BsJoycQd.js.map → configurePeerJs-B3IE9BY2.js.map} +1 -1
- package/dist/lib/{connections-BdIru7bF.js → connections-CalJGWvZ.js} +2 -2
- package/dist/lib/{connections-BdIru7bF.js.map → connections-CalJGWvZ.js.map} +1 -1
- package/dist/lib/{downloadGroupFile-Dn0KsMlV.js → downloadGroupFile-DDE1fIhJ.js} +2 -2
- package/dist/lib/{downloadGroupFile-Dn0KsMlV.js.map → downloadGroupFile-DDE1fIhJ.js.map} +1 -1
- package/dist/lib/{file-viewer-BYrXXu-X.js → file-viewer-Bll2EoGc.js} +5 -5
- package/dist/lib/{file-viewer-BYrXXu-X.js.map → file-viewer-Bll2EoGc.js.map} +1 -1
- package/dist/lib/{getGroupDir-DF-RZO8X.js → getGroupDir-MHv7Lvmp.js} +4 -4
- package/dist/lib/{getGroupDir-DF-RZO8X.js.map → getGroupDir-MHv7Lvmp.js.map} +1 -1
- package/dist/lib/{git-s_0cgKm1.js → git-Bv_M3dgw.js} +3 -3
- package/dist/lib/{git-s_0cgKm1.js.map → git-Bv_M3dgw.js.map} +1 -1
- package/dist/lib/{iframe-sanitizer-DFdda1jJ.js → iframe-sanitizer-C7ZGDjEI.js} +2 -2
- package/dist/lib/{iframe-sanitizer-DFdda1jJ.js.map → iframe-sanitizer-C7ZGDjEI.js.map} +1 -1
- package/dist/lib/{iframe-storage-proxy-qrhZmQyO.js → iframe-storage-proxy-CR8ZYHPd.js} +2 -2
- package/dist/lib/{iframe-storage-proxy-qrhZmQyO.js.map → iframe-storage-proxy-CR8ZYHPd.js.map} +1 -1
- package/dist/lib/index.js +27 -27
- package/dist/lib/{initChatSplitResize-DuNlwCuI.js → initChatSplitResize-DiKTI-wk.js} +2 -2
- package/dist/lib/{initChatSplitResize-DuNlwCuI.js.map → initChatSplitResize-DiKTI-wk.js.map} +1 -1
- package/dist/lib/{initControlPlane-D4UZ4EhV.js → initControlPlane-CzjtQ4aM.js} +15 -15
- package/dist/lib/{initControlPlane-D4UZ4EhV.js.map → initControlPlane-CzjtQ4aM.js.map} +1 -1
- package/dist/lib/{markdown-CRRwbN9h.js → markdown-k8wA9LKy.js} +4 -4
- package/dist/lib/{markdown-CRRwbN9h.js.map → markdown-k8wA9LKy.js.map} +1 -1
- package/dist/lib/{mcp-reconnect-COdZ-cea.js → mcp-reconnect-CGIdfZnS.js} +2 -2
- package/dist/lib/{mcp-reconnect-COdZ-cea.js.map → mcp-reconnect-CGIdfZnS.js.map} +1 -1
- package/dist/lib/{memoryStorage-BsMe2FOQ.js → memoryStorage-DL-Bo3dh.js} +2 -2
- package/dist/lib/{memoryStorage-BsMe2FOQ.js.map → memoryStorage-DL-Bo3dh.js.map} +1 -1
- package/dist/lib/{orchestrator-D9f5fDCb.js → orchestrator-DKHCoikY.js} +11 -11
- package/dist/lib/{orchestrator-D9f5fDCb.js.map → orchestrator-DKHCoikY.js.map} +1 -1
- package/dist/lib/{orchestrator-CMN43L0F.js → orchestrator-Dn1ZOz9B.js} +12 -12
- package/dist/lib/{orchestrator-CMN43L0F.js.map → orchestrator-Dn1ZOz9B.js.map} +1 -1
- package/dist/lib/{peerjs-6u8KtenE.js → peerjs-BK41iBvP.js} +7 -7
- package/dist/lib/{peerjs-6u8KtenE.js.map → peerjs-BK41iBvP.js.map} +1 -1
- package/dist/lib/{push-client-DCnB2-OU.js → push-client-DKgVFD2Z.js} +3 -3
- package/dist/lib/{push-client-DCnB2-OU.js.map → push-client-DKgVFD2Z.js.map} +1 -1
- package/dist/lib/{readGroupFileBytes-nKNJ6sbl.js → readGroupFileBytes-CgU_UfGv.js} +2 -2
- package/dist/lib/{readGroupFileBytes-nKNJ6sbl.js.map → readGroupFileBytes-CgU_UfGv.js.map} +1 -1
- package/dist/lib/{shadow-claw-4x3LqlII.js → shadow-claw-CtCj5Rn_.js} +121 -16
- package/dist/lib/shadow-claw-CtCj5Rn_.js.map +1 -0
- package/dist/lib/{shadow-claw-a2ui-Dipe8nY2.js → shadow-claw-a2ui-CvK5w940.js} +2 -2
- package/dist/lib/{shadow-claw-a2ui-Dipe8nY2.js.map → shadow-claw-a2ui-CvK5w940.js.map} +1 -1
- package/dist/lib/{shadow-claw-accounts-BgCkz3Zv.js → shadow-claw-accounts-Br3XdHro.js} +3 -3
- package/dist/lib/{shadow-claw-accounts-BgCkz3Zv.js.map → shadow-claw-accounts-Br3XdHro.js.map} +1 -1
- package/dist/lib/{shadow-claw-channel-config-CIm_Bxd2.js → shadow-claw-channel-config-Da2dN19M.js} +3 -3
- package/dist/lib/{shadow-claw-channel-config-CIm_Bxd2.js.map → shadow-claw-channel-config-Da2dN19M.js.map} +1 -1
- package/dist/lib/{shadow-claw-channels-CaceK52s.js → shadow-claw-channels-BofYHgz8.js} +3 -3
- package/dist/lib/{shadow-claw-channels-CaceK52s.js.map → shadow-claw-channels-BofYHgz8.js.map} +1 -1
- package/dist/lib/{shadow-claw-chat-BD18-mAR.js → shadow-claw-chat-Dw32DPV2.js} +12 -12
- package/dist/lib/{shadow-claw-chat-BD18-mAR.js.map → shadow-claw-chat-Dw32DPV2.js.map} +1 -1
- package/dist/lib/{shadow-claw-control-plane-U6LsfRPm.js → shadow-claw-control-plane-CwFotFDh.js} +7 -7
- package/dist/lib/{shadow-claw-control-plane-U6LsfRPm.js.map → shadow-claw-control-plane-CwFotFDh.js.map} +1 -1
- package/dist/lib/{shadow-claw-conversations-CDsza_oB.js → shadow-claw-conversations-0UXge23k.js} +5 -5
- package/dist/lib/{shadow-claw-conversations-CDsza_oB.js.map → shadow-claw-conversations-0UXge23k.js.map} +1 -1
- package/dist/lib/{shadow-claw-file-viewer-CuDhkVcL.js → shadow-claw-file-viewer-CAsn9NxH.js} +10 -10
- package/dist/lib/{shadow-claw-file-viewer-CuDhkVcL.js.map → shadow-claw-file-viewer-CAsn9NxH.js.map} +1 -1
- package/dist/lib/{shadow-claw-files-BI0P3m8a.js → shadow-claw-files-xGGhsHNH.js} +9 -9
- package/dist/lib/{shadow-claw-files-BI0P3m8a.js.map → shadow-claw-files-xGGhsHNH.js.map} +1 -1
- package/dist/lib/{shadow-claw-git-xRApLEMN.js → shadow-claw-git-B606hcMU.js} +6 -6
- package/dist/lib/{shadow-claw-git-xRApLEMN.js.map → shadow-claw-git-B606hcMU.js.map} +1 -1
- package/dist/lib/{shadow-claw-integrations-B2e1Nfg1.js → shadow-claw-integrations-Bwq5cba1.js} +4 -4
- package/dist/lib/{shadow-claw-integrations-B2e1Nfg1.js.map → shadow-claw-integrations-Bwq5cba1.js.map} +1 -1
- package/dist/lib/{shadow-claw-llm-Bc2mWuGb.js → shadow-claw-llm-BgpcMBIy.js} +6 -6
- package/dist/lib/{shadow-claw-llm-Bc2mWuGb.js.map → shadow-claw-llm-BgpcMBIy.js.map} +1 -1
- package/dist/lib/{shadow-claw-mcp-remote-D_Bh3aeC.js → shadow-claw-mcp-remote-DvQCA-Bk.js} +4 -4
- package/dist/lib/{shadow-claw-mcp-remote-D_Bh3aeC.js.map → shadow-claw-mcp-remote-DvQCA-Bk.js.map} +1 -1
- package/dist/lib/{shadow-claw-networking-F5W3n5ci.js → shadow-claw-networking-Cxvf9c7E.js} +2 -2
- package/dist/lib/{shadow-claw-networking-F5W3n5ci.js.map → shadow-claw-networking-Cxvf9c7E.js.map} +1 -1
- package/dist/lib/{shadow-claw-notifications-lvMt9WJ1.js → shadow-claw-notifications-CGVcFYBy.js} +3 -3
- package/dist/lib/{shadow-claw-notifications-lvMt9WJ1.js.map → shadow-claw-notifications-CGVcFYBy.js.map} +1 -1
- package/dist/lib/{shadow-claw-page-header-6gq6EMqX.js → shadow-claw-page-header-DAYz3I_o.js} +2 -2
- package/dist/lib/{shadow-claw-page-header-6gq6EMqX.js.map → shadow-claw-page-header-DAYz3I_o.js.map} +1 -1
- package/dist/lib/{shadow-claw-pages-Bo8_z2S-.js → shadow-claw-pages-BLeEZb9k.js} +24 -12
- package/dist/lib/shadow-claw-pages-BLeEZb9k.js.map +1 -0
- package/dist/lib/{shadow-claw-peerjs-DRTLCVDQ.js → shadow-claw-peerjs-BcFnbK74.js} +3 -3
- package/dist/lib/{shadow-claw-peerjs-DRTLCVDQ.js.map → shadow-claw-peerjs-BcFnbK74.js.map} +1 -1
- package/dist/lib/{shadow-claw-settings-D00B4p4L.js → shadow-claw-settings-B7o0Z4hu.js} +9 -9
- package/dist/lib/{shadow-claw-settings-D00B4p4L.js.map → shadow-claw-settings-B7o0Z4hu.js.map} +1 -1
- package/dist/lib/{shadow-claw-storage-DgMe7-Zo.js → shadow-claw-storage-afMVqB7E.js} +5 -5
- package/dist/lib/{shadow-claw-storage-DgMe7-Zo.js.map → shadow-claw-storage-afMVqB7E.js.map} +1 -1
- package/dist/lib/{shadow-claw-task-server-D103YOuI.js → shadow-claw-task-server-B9-MQjl6.js} +2 -2
- package/dist/lib/{shadow-claw-task-server-D103YOuI.js.map → shadow-claw-task-server-B9-MQjl6.js.map} +1 -1
- package/dist/lib/{shadow-claw-tasks-6OhALkq1.js → shadow-claw-tasks-Dc4BC-t-.js} +8 -8
- package/dist/lib/{shadow-claw-tasks-6OhALkq1.js.map → shadow-claw-tasks-Dc4BC-t-.js.map} +1 -1
- package/dist/lib/{shadow-claw-terminal-BGtxA1qD.js → shadow-claw-terminal-BINcTdsk.js} +2 -2
- package/dist/lib/{shadow-claw-terminal-BGtxA1qD.js.map → shadow-claw-terminal-BINcTdsk.js.map} +1 -1
- package/dist/lib/{shadow-claw-tools-OeIwAnnd.js → shadow-claw-tools-BjFgXNLR.js} +7 -7
- package/dist/lib/{shadow-claw-tools-OeIwAnnd.js.map → shadow-claw-tools-BjFgXNLR.js.map} +1 -1
- package/dist/lib/{shadow-claw-webvm-gVFZ197u.js → shadow-claw-webvm-Xe3ByMDw.js} +3 -3
- package/dist/lib/{shadow-claw-webvm-gVFZ197u.js.map → shadow-claw-webvm-Xe3ByMDw.js.map} +1 -1
- package/dist/lib/subsystems/mcp/webmcp.d.ts +64 -0
- package/dist/lib/{syncWebMcpRegistration-Bbph0XZl.js → syncWebMcpRegistration-D7alChz0.js} +21 -6
- package/dist/lib/syncWebMcpRegistration-D7alChz0.js.map +1 -0
- package/dist/lib/{tools-D0OlSzMD.js → tools-Cmhpk3X8.js} +4 -4
- package/dist/lib/{tools-D0OlSzMD.js.map → tools-Cmhpk3X8.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/{utils-DYdrO2KI.js → utils-CzgKe_XZ.js} +4 -4
- package/dist/lib/{utils-DYdrO2KI.js.map → utils-CzgKe_XZ.js.map} +1 -1
- package/dist/lib/{webmcp-D2bocsgh.js → webmcp-oEP9YpR2.js} +119 -3
- package/dist/lib/{webmcp-D2bocsgh.js.map → webmcp-oEP9YpR2.js.map} +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/AGENTS.md +2 -1
- package/dist/public/README.md +1 -0
- package/dist/public/agent.worker.js +1 -1
- package/dist/public/app-routes-C6-H2zPH.js +1 -0
- package/dist/public/components/shadow-claw/shadow-claw.css +1 -1
- package/dist/public/components/shadow-claw/shadow-claw.html +1 -1
- package/dist/public/components/shadow-claw-pages/shadow-claw-pages.css +1 -1
- package/dist/public/{config-D4lVqMs8.js → config-Dewnqegf.js} +1 -1
- package/dist/public/{configurePeerJs-DDOAVSaH.js → configurePeerJs-CaPU2sN5.js} +1 -1
- package/dist/public/{connections-CiukjGiH.js → connections-CwE7jE9l.js} +1 -1
- package/dist/public/{custom-element-security-piU2U-Ec.js → custom-element-security-DLgHMf5R.js} +1 -1
- package/dist/public/docs/example/article/index.html +4 -4
- package/dist/public/docs/guides/publishing-to-github-pages.md +49 -6
- package/dist/public/docs/publishing/index.html +4 -4
- package/dist/public/docs/skill-creator/index.html +4 -4
- package/dist/public/docs/subsystems/pages.md +10 -3
- package/dist/public/docs/subsystems/webmcp.md +89 -1
- package/dist/public/{downloadGroupFile-BiZQYY-O.js → downloadGroupFile-ChWHuap_.js} +1 -1
- package/dist/public/e2e/README.md +2 -2
- package/dist/public/{e2e-bridge-CybB810Q.js → e2e-bridge-BkaldjV2.js} +1 -1
- package/dist/public/{file-viewer-DLUBvOVD.js → file-viewer-Df4qUJCn.js} +1 -1
- package/dist/public/{getGroupDir-CLz5c8cg.js → getGroupDir-CeSr4fzS.js} +1 -1
- package/dist/public/{git-Ba8AeviI.js → git-Bscc1tK-.js} +2 -2
- package/dist/public/{iframe-sanitizer-CKOO7cxp.js → iframe-sanitizer-BVdkQsor.js} +1 -1
- package/dist/public/{iframe-storage-proxy-BvRiccH0.js → iframe-storage-proxy-Cg8aFw7o.js} +1 -1
- package/dist/public/index.css +1 -1
- package/dist/public/index.html +4 -4
- package/dist/public/index.js +1 -1
- package/dist/public/{initChatSplitResize-osJXM2gu.js → initChatSplitResize-C3Rp1LeZ.js} +1 -1
- package/dist/public/{initControlPlane-CNggzsRw.js → initControlPlane-C1pnzG16.js} +1 -1
- package/dist/public/llms.txt +1 -1
- package/dist/public/main/index.html +4 -4
- package/dist/public/main/memory/index.html +4 -4
- package/dist/public/{markdown-CZA-Ye2Q.js → markdown-D3A902nT.js} +1 -1
- package/dist/public/{mcp-reconnect-BK1bYBdC.js → mcp-reconnect-BJWxQBm_.js} +1 -1
- package/dist/public/{memoryStorage-Bew1X8Uy.js → memoryStorage-ykv-Ri-y.js} +1 -1
- package/dist/public/{orchestrator-D6tel2Zp.js → orchestrator-BVnC4Vtt.js} +2 -2
- package/dist/public/{orchestrator-Dc_Q73La.js → orchestrator-CQcc7OFA.js} +2 -2
- package/dist/public/{peerjs-CYs1F7sq.js → peerjs-CYC2cI1Y.js} +1 -1
- package/dist/public/{push-client-_HUyJlFJ.js → push-client-BJrnOULM.js} +1 -1
- package/dist/public/service-worker/fetch-proxy.js +1 -1
- package/dist/public/service-worker.js +1 -1
- package/dist/public/{shadow-claw-Dabb2AEp.js → shadow-claw-WwfOu-tu.js} +33 -3
- package/dist/public/{shadow-claw-accounts-BqGrm47Z.js → shadow-claw-accounts-BFZxrPsH.js} +1 -1
- package/dist/public/{shadow-claw-channels-Ci2UPaaA.js → shadow-claw-channels-C0w0c1EF.js} +1 -1
- package/dist/public/{shadow-claw-chat-BxR6cBYQ.js → shadow-claw-chat-DIJ0A-QN.js} +1 -1
- package/dist/public/{shadow-claw-control-plane-C1A-CZ9H.js → shadow-claw-control-plane-DZoxUd-1.js} +2 -2
- package/dist/public/{shadow-claw-conversations-DcwG05-H.js → shadow-claw-conversations-DMyG_5zj.js} +1 -1
- package/dist/public/{shadow-claw-file-viewer-CDs1QGXk.js → shadow-claw-file-viewer-DYgZjZb9.js} +1 -1
- package/dist/public/{shadow-claw-files-B774Xz1d.js → shadow-claw-files-DIOUdKJr.js} +1 -1
- package/dist/public/{shadow-claw-git-CTIPP0vs.js → shadow-claw-git-if5S0QJr.js} +2 -2
- package/dist/public/{shadow-claw-integrations-CjtkA6l0.js → shadow-claw-integrations-BQt4hcWe.js} +1 -1
- package/dist/public/{shadow-claw-llm-DfmITHde.js → shadow-claw-llm-9uf1KFA0.js} +2 -2
- package/dist/public/{shadow-claw-mcp-remote-BPuV22So.js → shadow-claw-mcp-remote-COpNIzJd.js} +1 -1
- package/dist/public/{shadow-claw-networking-DEMMygy0.js → shadow-claw-networking-AOVRUn6B.js} +1 -1
- package/dist/public/{shadow-claw-notifications-B9Xhcj1P.js → shadow-claw-notifications-CKB-W1TA.js} +1 -1
- package/dist/public/{shadow-claw-page-header-CAXokjQy.js → shadow-claw-page-header-D4LmUigA.js} +1 -1
- package/dist/public/{shadow-claw-pages-BRQw8bTm.js → shadow-claw-pages-BpHRY4vH.js} +12 -3
- package/dist/public/{shadow-claw-settings-BGrDNyqh.js → shadow-claw-settings-CE-aUo_J.js} +3 -3
- package/dist/public/{shadow-claw-storage-DK3pf11w.js → shadow-claw-storage-CFKC-Y3V.js} +1 -1
- package/dist/public/{shadow-claw-task-server-CMp5Vjza.js → shadow-claw-task-server-B_ZjqK4B.js} +1 -1
- package/dist/public/{shadow-claw-tasks-BO8aXM2B.js → shadow-claw-tasks-CGsEv48K.js} +1 -1
- package/dist/public/{shadow-claw-terminal-BSeTuyDa.js → shadow-claw-terminal-DcaS7cPH.js} +1 -1
- package/dist/public/{shadow-claw-tools-Bj6DLZ-2.js → shadow-claw-tools-Cnu9hKy0.js} +1 -1
- package/dist/public/{shadow-claw-webvm-M7d5RH8H.js → shadow-claw-webvm-BB8SFvJ8.js} +1 -1
- package/dist/public/syncWebMcpRegistration-D2Zx4oA1.js +1 -0
- package/dist/public/theme-init.js +1 -1
- package/dist/public/{tools-nysPKnGT.js → tools-sOLCHTj8.js} +1 -1
- package/dist/public/{webmcp-Bo3KTgRb.js → webmcp-YFt6vM1_.js} +1 -1
- package/dist/server.js +188 -188
- package/package.json +1 -1
- package/src/cli/prerender/dsd-shell/prerender-dsd-shell.test.ts +4 -1
- package/src/cli/prerender/dsd-shell/prerender-dsd-shell.ts +7 -1
- package/src/cli/prerender/utils/insert-before-closing-head.test.ts +12 -0
- package/src/cli/prerender/utils/insert-before-closing-head.ts +4 -6
- package/src/cli/site-config/apply.test.ts +90 -0
- package/src/cli/site-config/apply.ts +181 -13
- package/src/components/shadow-claw/shadow-claw.css +26 -0
- package/src/components/shadow-claw/shadow-claw.html +4 -0
- package/src/components/shadow-claw/utils/applyRoute.ts +3 -0
- package/src/components/shadow-claw/utils/bindEventListeners.test.ts +6 -0
- package/src/components/shadow-claw/utils/bindEventListeners.ts +30 -1
- package/src/components/shadow-claw/utils/getRoute.test.ts +52 -0
- package/src/components/shadow-claw/utils/getRoute.ts +18 -0
- package/src/components/shadow-claw/utils/navigateToRoute.test.ts +21 -0
- package/src/components/shadow-claw/utils/navigateToRoute.ts +10 -0
- package/src/components/shadow-claw/utils/sidebarVisibility.ts +12 -4
- package/src/components/shadow-claw/utils/syncSlottedSidebarActiveLinks.test.ts +93 -0
- package/src/components/shadow-claw/utils/syncSlottedSidebarActiveLinks.ts +100 -0
- package/src/components/shadow-claw-pages/shadow-claw-pages.css +10 -1
- package/src/components/shadow-claw-pages/utils/removePreviewIframe.ts +3 -0
- package/src/core/orchestrator/utils/syncWebMcpRegistration.test.ts +52 -0
- package/src/core/orchestrator/utils/syncWebMcpRegistration.ts +28 -1
- package/src/server/middleware/static-files.test.ts +36 -0
- package/src/server/middleware/static-files.ts +14 -6
- package/src/storage/staticRouting.test.ts +36 -0
- package/src/storage/staticRouting.ts +31 -3
- package/src/subsystems/mcp/webmcp.test.ts +255 -0
- package/src/subsystems/mcp/webmcp.ts +253 -0
- package/dist/cli/chunk-00GAzVPl2.js +0 -1
- package/dist/cli/chunk-2hnFoNNC.js +0 -1
- package/dist/cli/chunk-BKQL4nzF2.js +0 -1
- package/dist/cli/chunk-BQ4K3fqj2.js +0 -1
- package/dist/cli/chunk-BVCGo6uf2.js +0 -1
- package/dist/cli/chunk-BcTH_-FL.js +0 -1
- package/dist/cli/chunk-BmD_sPRt.js +0 -1
- package/dist/cli/chunk-BsxNqqer.js +0 -1
- package/dist/cli/chunk-CCcF5T-c.js +0 -1
- package/dist/cli/chunk-CFhvwUeL.js +0 -91
- package/dist/cli/chunk-CwWtvULn.js +0 -1
- package/dist/cli/chunk-Drf-hXIR2.js +0 -1
- package/dist/cli/chunk-Dt5HNYVi.js +0 -1
- package/dist/cli/chunk-DwZQi9Ax.js +0 -1
- package/dist/cli/chunk-m9ZX7TyF2.js +0 -1
- package/dist/lib/app-routes-BAEMLu9g.js.map +0 -1
- package/dist/lib/shadow-claw-4x3LqlII.js.map +0 -1
- package/dist/lib/shadow-claw-pages-Bo8_z2S-.js.map +0 -1
- package/dist/lib/syncWebMcpRegistration-Bbph0XZl.js.map +0 -1
- package/dist/public/app-routes-BMQ4HFaM.js +0 -1
- package/dist/public/syncWebMcpRegistration-4bT0YUyZ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryStorage-BsMe2FOQ.js","names":[],"sources":["../../src/storage/memoryStorage.ts"],"sourcesContent":["import { OPFS_ROOT } from \"../config/config.js\";\n\nfunction createDOMException(message: string, name: string): DOMException {\n if (typeof DOMException !== \"undefined\") {\n try {\n return new DOMException(message, name);\n } catch {\n // Fall back if constructor fails\n }\n }\n\n const err = new Error(message) as any;\n err.name = name;\n\n return err;\n}\n\nfunction makeAsyncIterator<T>(\n gen: () => AsyncGenerator<T>,\n): FileSystemDirectoryHandleAsyncIterator<T> {\n const iterator = gen();\n (iterator as any)[Symbol.asyncDispose ?? Symbol.for(\"Symbol.asyncDispose\")] =\n async () => {};\n\n return iterator as any;\n}\n\n/**\n * In-memory implementation of FileSystemSyncAccessHandle.\n */\nexport class MemorySyncAccessHandle {\n private _file: MemoryFileHandle;\n private _closed = false;\n\n constructor(file: MemoryFileHandle) {\n this._file = file;\n }\n\n close(): void {\n this._closed = true;\n }\n\n flush(): void {\n // No-op for in-memory storage\n }\n\n getSize(): number {\n if (this._closed) {\n throw createDOMException(\n \"SyncAccessHandle is closed\",\n \"InvalidStateError\",\n );\n }\n\n return this._file.getRawData().byteLength;\n }\n\n read(buffer: ArrayBufferView, options?: { at?: number }): number {\n if (this._closed) {\n throw createDOMException(\n \"SyncAccessHandle is closed\",\n \"InvalidStateError\",\n );\n }\n const data = this._file.getRawData();\n const at = options?.at ?? 0;\n if (at >= data.byteLength) {\n return 0;\n }\n const target = new Uint8Array(\n buffer.buffer,\n buffer.byteOffset,\n buffer.byteLength,\n );\n const source = data.subarray(at, at + target.byteLength);\n target.set(source);\n\n return source.byteLength;\n }\n\n write(buffer: ArrayBufferView, options?: { at?: number }): number {\n if (this._closed) {\n throw createDOMException(\n \"SyncAccessHandle is closed\",\n \"InvalidStateError\",\n );\n }\n const src = new Uint8Array(\n buffer.buffer,\n buffer.byteOffset,\n buffer.byteLength,\n );\n const at = options?.at ?? 0;\n const current = this._file.getRawData();\n const needed = at + src.byteLength;\n let newBuf: Uint8Array;\n if (needed > current.byteLength) {\n newBuf = new Uint8Array(needed);\n newBuf.set(current);\n } else {\n newBuf = new Uint8Array(current);\n }\n newBuf.set(src, at);\n this._file.setRawData(newBuf);\n\n return src.byteLength;\n }\n\n truncate(newSize: number): void {\n if (this._closed) {\n throw createDOMException(\n \"SyncAccessHandle is closed\",\n \"InvalidStateError\",\n );\n }\n const current = this._file.getRawData();\n const newBuf = new Uint8Array(newSize);\n newBuf.set(current.subarray(0, Math.min(current.byteLength, newSize)));\n this._file.setRawData(newBuf);\n }\n}\n\n/**\n * In-memory implementation of FileSystemWritableFileStream.\n */\nexport class MemoryWritableStream {\n private _file: MemoryFileHandle;\n private _buffer: Uint8Array;\n private _position = 0;\n private _length = 0;\n private _closed = false;\n\n constructor(file: MemoryFileHandle, keepExistingData = false) {\n this._file = file;\n const existing = file.getRawData();\n if (keepExistingData) {\n this._buffer = new Uint8Array(existing);\n this._length = existing.byteLength;\n } else {\n this._buffer = new Uint8Array(1024);\n this._length = 0;\n }\n }\n\n async write(chunk: any): Promise<void> {\n if (this._closed) {\n throw createDOMException(\"WritableStream is closed\", \"InvalidStateError\");\n }\n\n let bytes: Uint8Array;\n if (typeof chunk === \"string\") {\n bytes = new TextEncoder().encode(chunk);\n } else if (chunk instanceof Uint8Array) {\n bytes = chunk;\n } else if (chunk instanceof ArrayBuffer) {\n bytes = new Uint8Array(chunk);\n } else if (typeof Blob !== \"undefined\" && chunk instanceof Blob) {\n if (typeof chunk.arrayBuffer === \"function\") {\n bytes = new Uint8Array(await chunk.arrayBuffer());\n } else if (typeof (chunk as any).text === \"function\") {\n bytes = new TextEncoder().encode(await (chunk as any).text());\n } else if (typeof FileReader !== \"undefined\") {\n bytes = await new Promise<Uint8Array>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n resolve(new Uint8Array(reader.result as ArrayBuffer));\n };\n reader.onerror = () => resolve(new Uint8Array(0));\n reader.readAsArrayBuffer(chunk);\n });\n } else {\n bytes = new Uint8Array(0);\n }\n } else if (chunk && typeof chunk === \"object\" && \"type\" in chunk) {\n if (chunk.type === \"write\") {\n if (typeof chunk.position === \"number\") {\n this._position = chunk.position;\n }\n const data = chunk.data;\n if (typeof data === \"string\") {\n bytes = new TextEncoder().encode(data);\n } else if (data instanceof Uint8Array) {\n bytes = data;\n } else if (data instanceof ArrayBuffer) {\n bytes = new Uint8Array(data);\n } else if (typeof Blob !== \"undefined\" && data instanceof Blob) {\n if (typeof data.arrayBuffer === \"function\") {\n bytes = new Uint8Array(await data.arrayBuffer());\n } else {\n bytes = new Uint8Array(0);\n }\n } else {\n bytes = new Uint8Array(0);\n }\n } else if (chunk.type === \"seek\") {\n this._position = chunk.position ?? 0;\n\n return;\n } else if (chunk.type === \"truncate\") {\n this._truncate(chunk.size ?? 0);\n\n return;\n } else {\n bytes = new Uint8Array(0);\n }\n } else {\n bytes = new Uint8Array(0);\n }\n\n const needed = this._position + bytes.length;\n if (needed > this._buffer.length) {\n const newCapacity = Math.max(this._buffer.length * 2, needed, 1024);\n const newBuf = new Uint8Array(newCapacity);\n newBuf.set(this._buffer);\n this._buffer = newBuf;\n }\n\n this._buffer.set(bytes, this._position);\n this._position += bytes.length;\n if (this._position > this._length) {\n this._length = this._position;\n }\n }\n\n private _truncate(newSize: number): void {\n if (newSize < this._length) {\n this._length = newSize;\n } else if (newSize > this._length) {\n if (newSize > this._buffer.length) {\n const newBuf = new Uint8Array(newSize);\n newBuf.set(this._buffer);\n this._buffer = newBuf;\n }\n this._length = newSize;\n }\n if (this._position > newSize) {\n this._position = newSize;\n }\n }\n\n async seek(position: number): Promise<void> {\n if (this._closed) {\n throw createDOMException(\"WritableStream is closed\", \"InvalidStateError\");\n }\n this._position = position;\n }\n\n async truncate(size: number): Promise<void> {\n if (this._closed) {\n throw createDOMException(\"WritableStream is closed\", \"InvalidStateError\");\n }\n this._truncate(size);\n }\n\n async close(): Promise<void> {\n if (this._closed) {\n return;\n }\n this._closed = true;\n const finalData = this._buffer.slice(0, this._length);\n this._file.setRawData(finalData);\n }\n\n async abort(): Promise<void> {\n this._closed = true;\n }\n}\n\n/**\n * In-memory implementation of FileSystemFileHandle.\n */\nexport class MemoryFileHandle implements FileSystemFileHandle {\n readonly kind = \"file\" as const;\n readonly name: string;\n private _data: Uint8Array;\n private _lastModified: number;\n\n constructor(name: string, initialData: Uint8Array = new Uint8Array()) {\n this.name = name;\n this._data = initialData;\n this._lastModified = Date.now();\n }\n\n getRawData(): Uint8Array {\n return this._data;\n }\n\n setRawData(data: Uint8Array): void {\n this._data = data;\n this._lastModified = Date.now();\n }\n\n private _getArrayBuffer(): ArrayBuffer {\n const ab = new ArrayBuffer(this._data.byteLength);\n new Uint8Array(ab).set(this._data);\n\n return ab;\n }\n\n async getFile(): Promise<File> {\n const arrayBuffer = this._getArrayBuffer();\n const data = this._data;\n const name = this.name;\n const lastModified = this._lastModified;\n\n const fileObj = {\n name,\n size: data.byteLength,\n type: \"\",\n lastModified,\n async text(): Promise<string> {\n return new TextDecoder().decode(data);\n },\n async arrayBuffer(): Promise<ArrayBuffer> {\n return arrayBuffer;\n },\n slice(start = 0, end = data.byteLength): Blob {\n return new Blob([arrayBuffer.slice(start, end)]);\n },\n };\n\n if (typeof File !== \"undefined\") {\n try {\n const file = new File([arrayBuffer], this.name, {\n lastModified: this._lastModified,\n });\n if (typeof (file as any).text !== \"function\") {\n (file as any).text = fileObj.text;\n }\n if (typeof (file as any).arrayBuffer !== \"function\") {\n (file as any).arrayBuffer = fileObj.arrayBuffer;\n }\n\n return file;\n } catch {\n // Continue to fallback\n }\n }\n\n return fileObj as any;\n }\n\n async createWritable(\n options?: FileSystemCreateWritableOptions,\n ): Promise<FileSystemWritableFileStream> {\n return new MemoryWritableStream(\n this,\n options?.keepExistingData ?? false,\n ) as any;\n }\n\n async createSyncAccessHandle(): Promise<any> {\n return new MemorySyncAccessHandle(this);\n }\n\n async isSameEntry(other: FileSystemHandle): Promise<boolean> {\n return this === (other as any);\n }\n\n async queryPermission(): Promise<PermissionState> {\n return \"granted\";\n }\n\n async requestPermission(): Promise<PermissionState> {\n return \"granted\";\n }\n}\n\n/**\n * In-memory implementation of FileSystemDirectoryHandle.\n */\nexport class MemoryDirectoryHandle implements FileSystemDirectoryHandle {\n readonly kind = \"directory\" as const;\n readonly name: string;\n private _entries = new Map<\n string,\n MemoryDirectoryHandle | MemoryFileHandle\n >();\n\n constructor(name: string) {\n this.name = name;\n }\n\n _setEntry(\n name: string,\n handle: MemoryDirectoryHandle | MemoryFileHandle,\n ): void {\n this._entries.set(name, handle);\n }\n\n async getDirectoryHandle(\n name: string,\n options?: FileSystemGetDirectoryOptions,\n ): Promise<FileSystemDirectoryHandle> {\n if (name === \".\" || name === \"\") {\n return this;\n }\n if (name === \"..\") {\n throw createDOMException(\n \"Cannot navigate to parent directory with '..'\",\n \"SecurityError\",\n );\n }\n\n const existing = this._entries.get(name);\n if (existing) {\n if (existing.kind === \"directory\") {\n return existing as MemoryDirectoryHandle;\n }\n throw createDOMException(\n `\"${name}\" is a file, not a directory`,\n \"TypeMismatchError\",\n );\n }\n\n if (options?.create) {\n const newDir = new MemoryDirectoryHandle(name);\n this._entries.set(name, newDir);\n\n return newDir;\n }\n\n throw createDOMException(\n `A requested file or directory could not be found at \"${name}\"`,\n \"NotFoundError\",\n );\n }\n\n async getFileHandle(\n name: string,\n options?: FileSystemGetFileOptions,\n ): Promise<FileSystemFileHandle> {\n if (name === \".\" || name === \"..\" || name === \"\") {\n throw createDOMException(\n `Invalid file name \"${name}\"`,\n \"TypeMismatchError\",\n );\n }\n\n const existing = this._entries.get(name);\n if (existing) {\n if (existing.kind === \"file\") {\n return existing as MemoryFileHandle;\n }\n throw createDOMException(\n `\"${name}\" is a directory, not a file`,\n \"TypeMismatchError\",\n );\n }\n\n if (options?.create) {\n const newFile = new MemoryFileHandle(name);\n this._entries.set(name, newFile);\n\n return newFile;\n }\n\n throw createDOMException(\n `A requested file could not be found at \"${name}\"`,\n \"NotFoundError\",\n );\n }\n\n async removeEntry(\n name: string,\n options?: FileSystemRemoveOptions,\n ): Promise<void> {\n const existing = this._entries.get(name);\n if (!existing) {\n throw createDOMException(`Entry \"${name}\" not found`, \"NotFoundError\");\n }\n\n if (\n existing.kind === \"directory\" &&\n (existing as MemoryDirectoryHandle)._entries.size > 0 &&\n !options?.recursive\n ) {\n throw createDOMException(\n `Directory \"${name}\" is not empty`,\n \"InvalidModificationError\",\n );\n }\n\n this._entries.delete(name);\n }\n\n async resolve(\n possibleDescendant: FileSystemHandle,\n ): Promise<string[] | null> {\n if (this === (possibleDescendant as any)) {\n return [];\n }\n\n for (const [name, handle] of this._entries.entries()) {\n if (handle === (possibleDescendant as any)) {\n return [name];\n }\n if (handle.kind === \"directory\") {\n const childPath = await (handle as MemoryDirectoryHandle).resolve(\n possibleDescendant,\n );\n if (childPath) {\n return [name, ...childPath];\n }\n }\n }\n\n return null;\n }\n\n entries(): FileSystemDirectoryHandleAsyncIterator<\n [string, FileSystemDirectoryHandle | FileSystemFileHandle]\n > {\n const self = this;\n\n return makeAsyncIterator(async function* () {\n for (const [name, handle] of self._entries.entries()) {\n yield [name, handle as any];\n }\n });\n }\n\n values(): FileSystemDirectoryHandleAsyncIterator<\n FileSystemDirectoryHandle | FileSystemFileHandle\n > {\n const self = this;\n\n return makeAsyncIterator(async function* () {\n for (const handle of self._entries.values()) {\n yield handle as any;\n }\n });\n }\n\n keys(): FileSystemDirectoryHandleAsyncIterator<string> {\n const self = this;\n\n return makeAsyncIterator(async function* () {\n for (const name of self._entries.keys()) {\n yield name;\n }\n });\n }\n\n [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<\n [string, FileSystemDirectoryHandle | FileSystemFileHandle]\n > {\n return this.entries();\n }\n\n async isSameEntry(other: FileSystemHandle): Promise<boolean> {\n return this === (other as any);\n }\n\n async queryPermission(): Promise<PermissionState> {\n return \"granted\";\n }\n\n async requestPermission(): Promise<PermissionState> {\n return \"granted\";\n }\n}\n\nlet memoryOpfsRoot: MemoryDirectoryHandle | null = null;\n\n/**\n * Get or create the singleton in-memory root for OPFS fallback.\n */\nexport function getMemoryOpfsRoot(): FileSystemDirectoryHandle {\n if (!memoryOpfsRoot) {\n const root = new MemoryDirectoryHandle(\"memory-root\");\n const opfsChild = new MemoryDirectoryHandle(OPFS_ROOT);\n root._setEntry(OPFS_ROOT, opfsChild);\n memoryOpfsRoot = opfsChild;\n }\n\n return memoryOpfsRoot;\n}\n\n/**\n * Check if the in-memory storage fallback is currently active.\n */\nexport function isMemoryStorageFallbackActive(): boolean {\n return memoryOpfsRoot !== null;\n}\n\n/**\n * Clear the in-memory OPFS root (primarily for tests).\n */\nexport function resetMemoryOpfsRoot(): void {\n memoryOpfsRoot = null;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memoryStorage-DL-Bo3dh.js","names":[],"sources":["../../src/storage/memoryStorage.ts"],"sourcesContent":["import { OPFS_ROOT } from \"../config/config.js\";\n\nfunction createDOMException(message: string, name: string): DOMException {\n if (typeof DOMException !== \"undefined\") {\n try {\n return new DOMException(message, name);\n } catch {\n // Fall back if constructor fails\n }\n }\n\n const err = new Error(message) as any;\n err.name = name;\n\n return err;\n}\n\nfunction makeAsyncIterator<T>(\n gen: () => AsyncGenerator<T>,\n): FileSystemDirectoryHandleAsyncIterator<T> {\n const iterator = gen();\n (iterator as any)[Symbol.asyncDispose ?? Symbol.for(\"Symbol.asyncDispose\")] =\n async () => {};\n\n return iterator as any;\n}\n\n/**\n * In-memory implementation of FileSystemSyncAccessHandle.\n */\nexport class MemorySyncAccessHandle {\n private _file: MemoryFileHandle;\n private _closed = false;\n\n constructor(file: MemoryFileHandle) {\n this._file = file;\n }\n\n close(): void {\n this._closed = true;\n }\n\n flush(): void {\n // No-op for in-memory storage\n }\n\n getSize(): number {\n if (this._closed) {\n throw createDOMException(\n \"SyncAccessHandle is closed\",\n \"InvalidStateError\",\n );\n }\n\n return this._file.getRawData().byteLength;\n }\n\n read(buffer: ArrayBufferView, options?: { at?: number }): number {\n if (this._closed) {\n throw createDOMException(\n \"SyncAccessHandle is closed\",\n \"InvalidStateError\",\n );\n }\n const data = this._file.getRawData();\n const at = options?.at ?? 0;\n if (at >= data.byteLength) {\n return 0;\n }\n const target = new Uint8Array(\n buffer.buffer,\n buffer.byteOffset,\n buffer.byteLength,\n );\n const source = data.subarray(at, at + target.byteLength);\n target.set(source);\n\n return source.byteLength;\n }\n\n write(buffer: ArrayBufferView, options?: { at?: number }): number {\n if (this._closed) {\n throw createDOMException(\n \"SyncAccessHandle is closed\",\n \"InvalidStateError\",\n );\n }\n const src = new Uint8Array(\n buffer.buffer,\n buffer.byteOffset,\n buffer.byteLength,\n );\n const at = options?.at ?? 0;\n const current = this._file.getRawData();\n const needed = at + src.byteLength;\n let newBuf: Uint8Array;\n if (needed > current.byteLength) {\n newBuf = new Uint8Array(needed);\n newBuf.set(current);\n } else {\n newBuf = new Uint8Array(current);\n }\n newBuf.set(src, at);\n this._file.setRawData(newBuf);\n\n return src.byteLength;\n }\n\n truncate(newSize: number): void {\n if (this._closed) {\n throw createDOMException(\n \"SyncAccessHandle is closed\",\n \"InvalidStateError\",\n );\n }\n const current = this._file.getRawData();\n const newBuf = new Uint8Array(newSize);\n newBuf.set(current.subarray(0, Math.min(current.byteLength, newSize)));\n this._file.setRawData(newBuf);\n }\n}\n\n/**\n * In-memory implementation of FileSystemWritableFileStream.\n */\nexport class MemoryWritableStream {\n private _file: MemoryFileHandle;\n private _buffer: Uint8Array;\n private _position = 0;\n private _length = 0;\n private _closed = false;\n\n constructor(file: MemoryFileHandle, keepExistingData = false) {\n this._file = file;\n const existing = file.getRawData();\n if (keepExistingData) {\n this._buffer = new Uint8Array(existing);\n this._length = existing.byteLength;\n } else {\n this._buffer = new Uint8Array(1024);\n this._length = 0;\n }\n }\n\n async write(chunk: any): Promise<void> {\n if (this._closed) {\n throw createDOMException(\"WritableStream is closed\", \"InvalidStateError\");\n }\n\n let bytes: Uint8Array;\n if (typeof chunk === \"string\") {\n bytes = new TextEncoder().encode(chunk);\n } else if (chunk instanceof Uint8Array) {\n bytes = chunk;\n } else if (chunk instanceof ArrayBuffer) {\n bytes = new Uint8Array(chunk);\n } else if (typeof Blob !== \"undefined\" && chunk instanceof Blob) {\n if (typeof chunk.arrayBuffer === \"function\") {\n bytes = new Uint8Array(await chunk.arrayBuffer());\n } else if (typeof (chunk as any).text === \"function\") {\n bytes = new TextEncoder().encode(await (chunk as any).text());\n } else if (typeof FileReader !== \"undefined\") {\n bytes = await new Promise<Uint8Array>((resolve) => {\n const reader = new FileReader();\n reader.onload = () => {\n resolve(new Uint8Array(reader.result as ArrayBuffer));\n };\n reader.onerror = () => resolve(new Uint8Array(0));\n reader.readAsArrayBuffer(chunk);\n });\n } else {\n bytes = new Uint8Array(0);\n }\n } else if (chunk && typeof chunk === \"object\" && \"type\" in chunk) {\n if (chunk.type === \"write\") {\n if (typeof chunk.position === \"number\") {\n this._position = chunk.position;\n }\n const data = chunk.data;\n if (typeof data === \"string\") {\n bytes = new TextEncoder().encode(data);\n } else if (data instanceof Uint8Array) {\n bytes = data;\n } else if (data instanceof ArrayBuffer) {\n bytes = new Uint8Array(data);\n } else if (typeof Blob !== \"undefined\" && data instanceof Blob) {\n if (typeof data.arrayBuffer === \"function\") {\n bytes = new Uint8Array(await data.arrayBuffer());\n } else {\n bytes = new Uint8Array(0);\n }\n } else {\n bytes = new Uint8Array(0);\n }\n } else if (chunk.type === \"seek\") {\n this._position = chunk.position ?? 0;\n\n return;\n } else if (chunk.type === \"truncate\") {\n this._truncate(chunk.size ?? 0);\n\n return;\n } else {\n bytes = new Uint8Array(0);\n }\n } else {\n bytes = new Uint8Array(0);\n }\n\n const needed = this._position + bytes.length;\n if (needed > this._buffer.length) {\n const newCapacity = Math.max(this._buffer.length * 2, needed, 1024);\n const newBuf = new Uint8Array(newCapacity);\n newBuf.set(this._buffer);\n this._buffer = newBuf;\n }\n\n this._buffer.set(bytes, this._position);\n this._position += bytes.length;\n if (this._position > this._length) {\n this._length = this._position;\n }\n }\n\n private _truncate(newSize: number): void {\n if (newSize < this._length) {\n this._length = newSize;\n } else if (newSize > this._length) {\n if (newSize > this._buffer.length) {\n const newBuf = new Uint8Array(newSize);\n newBuf.set(this._buffer);\n this._buffer = newBuf;\n }\n this._length = newSize;\n }\n if (this._position > newSize) {\n this._position = newSize;\n }\n }\n\n async seek(position: number): Promise<void> {\n if (this._closed) {\n throw createDOMException(\"WritableStream is closed\", \"InvalidStateError\");\n }\n this._position = position;\n }\n\n async truncate(size: number): Promise<void> {\n if (this._closed) {\n throw createDOMException(\"WritableStream is closed\", \"InvalidStateError\");\n }\n this._truncate(size);\n }\n\n async close(): Promise<void> {\n if (this._closed) {\n return;\n }\n this._closed = true;\n const finalData = this._buffer.slice(0, this._length);\n this._file.setRawData(finalData);\n }\n\n async abort(): Promise<void> {\n this._closed = true;\n }\n}\n\n/**\n * In-memory implementation of FileSystemFileHandle.\n */\nexport class MemoryFileHandle implements FileSystemFileHandle {\n readonly kind = \"file\" as const;\n readonly name: string;\n private _data: Uint8Array;\n private _lastModified: number;\n\n constructor(name: string, initialData: Uint8Array = new Uint8Array()) {\n this.name = name;\n this._data = initialData;\n this._lastModified = Date.now();\n }\n\n getRawData(): Uint8Array {\n return this._data;\n }\n\n setRawData(data: Uint8Array): void {\n this._data = data;\n this._lastModified = Date.now();\n }\n\n private _getArrayBuffer(): ArrayBuffer {\n const ab = new ArrayBuffer(this._data.byteLength);\n new Uint8Array(ab).set(this._data);\n\n return ab;\n }\n\n async getFile(): Promise<File> {\n const arrayBuffer = this._getArrayBuffer();\n const data = this._data;\n const name = this.name;\n const lastModified = this._lastModified;\n\n const fileObj = {\n name,\n size: data.byteLength,\n type: \"\",\n lastModified,\n async text(): Promise<string> {\n return new TextDecoder().decode(data);\n },\n async arrayBuffer(): Promise<ArrayBuffer> {\n return arrayBuffer;\n },\n slice(start = 0, end = data.byteLength): Blob {\n return new Blob([arrayBuffer.slice(start, end)]);\n },\n };\n\n if (typeof File !== \"undefined\") {\n try {\n const file = new File([arrayBuffer], this.name, {\n lastModified: this._lastModified,\n });\n if (typeof (file as any).text !== \"function\") {\n (file as any).text = fileObj.text;\n }\n if (typeof (file as any).arrayBuffer !== \"function\") {\n (file as any).arrayBuffer = fileObj.arrayBuffer;\n }\n\n return file;\n } catch {\n // Continue to fallback\n }\n }\n\n return fileObj as any;\n }\n\n async createWritable(\n options?: FileSystemCreateWritableOptions,\n ): Promise<FileSystemWritableFileStream> {\n return new MemoryWritableStream(\n this,\n options?.keepExistingData ?? false,\n ) as any;\n }\n\n async createSyncAccessHandle(): Promise<any> {\n return new MemorySyncAccessHandle(this);\n }\n\n async isSameEntry(other: FileSystemHandle): Promise<boolean> {\n return this === (other as any);\n }\n\n async queryPermission(): Promise<PermissionState> {\n return \"granted\";\n }\n\n async requestPermission(): Promise<PermissionState> {\n return \"granted\";\n }\n}\n\n/**\n * In-memory implementation of FileSystemDirectoryHandle.\n */\nexport class MemoryDirectoryHandle implements FileSystemDirectoryHandle {\n readonly kind = \"directory\" as const;\n readonly name: string;\n private _entries = new Map<\n string,\n MemoryDirectoryHandle | MemoryFileHandle\n >();\n\n constructor(name: string) {\n this.name = name;\n }\n\n _setEntry(\n name: string,\n handle: MemoryDirectoryHandle | MemoryFileHandle,\n ): void {\n this._entries.set(name, handle);\n }\n\n async getDirectoryHandle(\n name: string,\n options?: FileSystemGetDirectoryOptions,\n ): Promise<FileSystemDirectoryHandle> {\n if (name === \".\" || name === \"\") {\n return this;\n }\n if (name === \"..\") {\n throw createDOMException(\n \"Cannot navigate to parent directory with '..'\",\n \"SecurityError\",\n );\n }\n\n const existing = this._entries.get(name);\n if (existing) {\n if (existing.kind === \"directory\") {\n return existing as MemoryDirectoryHandle;\n }\n throw createDOMException(\n `\"${name}\" is a file, not a directory`,\n \"TypeMismatchError\",\n );\n }\n\n if (options?.create) {\n const newDir = new MemoryDirectoryHandle(name);\n this._entries.set(name, newDir);\n\n return newDir;\n }\n\n throw createDOMException(\n `A requested file or directory could not be found at \"${name}\"`,\n \"NotFoundError\",\n );\n }\n\n async getFileHandle(\n name: string,\n options?: FileSystemGetFileOptions,\n ): Promise<FileSystemFileHandle> {\n if (name === \".\" || name === \"..\" || name === \"\") {\n throw createDOMException(\n `Invalid file name \"${name}\"`,\n \"TypeMismatchError\",\n );\n }\n\n const existing = this._entries.get(name);\n if (existing) {\n if (existing.kind === \"file\") {\n return existing as MemoryFileHandle;\n }\n throw createDOMException(\n `\"${name}\" is a directory, not a file`,\n \"TypeMismatchError\",\n );\n }\n\n if (options?.create) {\n const newFile = new MemoryFileHandle(name);\n this._entries.set(name, newFile);\n\n return newFile;\n }\n\n throw createDOMException(\n `A requested file could not be found at \"${name}\"`,\n \"NotFoundError\",\n );\n }\n\n async removeEntry(\n name: string,\n options?: FileSystemRemoveOptions,\n ): Promise<void> {\n const existing = this._entries.get(name);\n if (!existing) {\n throw createDOMException(`Entry \"${name}\" not found`, \"NotFoundError\");\n }\n\n if (\n existing.kind === \"directory\" &&\n (existing as MemoryDirectoryHandle)._entries.size > 0 &&\n !options?.recursive\n ) {\n throw createDOMException(\n `Directory \"${name}\" is not empty`,\n \"InvalidModificationError\",\n );\n }\n\n this._entries.delete(name);\n }\n\n async resolve(\n possibleDescendant: FileSystemHandle,\n ): Promise<string[] | null> {\n if (this === (possibleDescendant as any)) {\n return [];\n }\n\n for (const [name, handle] of this._entries.entries()) {\n if (handle === (possibleDescendant as any)) {\n return [name];\n }\n if (handle.kind === \"directory\") {\n const childPath = await (handle as MemoryDirectoryHandle).resolve(\n possibleDescendant,\n );\n if (childPath) {\n return [name, ...childPath];\n }\n }\n }\n\n return null;\n }\n\n entries(): FileSystemDirectoryHandleAsyncIterator<\n [string, FileSystemDirectoryHandle | FileSystemFileHandle]\n > {\n const self = this;\n\n return makeAsyncIterator(async function* () {\n for (const [name, handle] of self._entries.entries()) {\n yield [name, handle as any];\n }\n });\n }\n\n values(): FileSystemDirectoryHandleAsyncIterator<\n FileSystemDirectoryHandle | FileSystemFileHandle\n > {\n const self = this;\n\n return makeAsyncIterator(async function* () {\n for (const handle of self._entries.values()) {\n yield handle as any;\n }\n });\n }\n\n keys(): FileSystemDirectoryHandleAsyncIterator<string> {\n const self = this;\n\n return makeAsyncIterator(async function* () {\n for (const name of self._entries.keys()) {\n yield name;\n }\n });\n }\n\n [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<\n [string, FileSystemDirectoryHandle | FileSystemFileHandle]\n > {\n return this.entries();\n }\n\n async isSameEntry(other: FileSystemHandle): Promise<boolean> {\n return this === (other as any);\n }\n\n async queryPermission(): Promise<PermissionState> {\n return \"granted\";\n }\n\n async requestPermission(): Promise<PermissionState> {\n return \"granted\";\n }\n}\n\nlet memoryOpfsRoot: MemoryDirectoryHandle | null = null;\n\n/**\n * Get or create the singleton in-memory root for OPFS fallback.\n */\nexport function getMemoryOpfsRoot(): FileSystemDirectoryHandle {\n if (!memoryOpfsRoot) {\n const root = new MemoryDirectoryHandle(\"memory-root\");\n const opfsChild = new MemoryDirectoryHandle(OPFS_ROOT);\n root._setEntry(OPFS_ROOT, opfsChild);\n memoryOpfsRoot = opfsChild;\n }\n\n return memoryOpfsRoot;\n}\n\n/**\n * Check if the in-memory storage fallback is currently active.\n */\nexport function isMemoryStorageFallbackActive(): boolean {\n return memoryOpfsRoot !== null;\n}\n\n/**\n * Clear the in-memory OPFS root (primarily for tests).\n */\nexport function resetMemoryOpfsRoot(): void {\n memoryOpfsRoot = null;\n}\n"],"mappings":"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"}
|
|
@@ -2,27 +2,27 @@ import { i as __toESM, n as __exportAll, r as __require, t as __commonJSMin } fr
|
|
|
2
2
|
import { n as isSqliteDatabase, r as getDb, t as txPromise } from "./txPromise-DdeRXi7G.js";
|
|
3
3
|
import { t as Signal } from "./dist-Bxg3C_zy.js";
|
|
4
4
|
import { n as filterHeadlessTools, r as isHeadlessMode, t as BROWSER_ONLY_TOOLS } from "./headless-Ci9RT8g6.js";
|
|
5
|
-
import { a as getStorageStatus, i as getStorageRoot, o as invalidateStorageRoot, r as getOpfsRootDirName, s as isStaleHandleError, t as getGroupDir } from "./getGroupDir-
|
|
6
|
-
import { C as PROVIDERS, F as getProvider, I as getProviderApiKeyConfigKey, O as buildTriggerPattern, P as getModelMaxTokens, R as modelRegistry, c as DEFAULT_PROMPT_API_FALLBACK_MODEL, d as DEFAULT_TASK_SERVER_URL, m as FETCH_MAX_RESPONSE, n as BASH_MAX_TIMEOUT_SEC, o as DEFAULT_GROUP_ID, p as DEFAULT_VM_NETWORK_RELAY_URL, r as CONFIG_KEYS, t as ASSISTANT_NAME, u as DEFAULT_SUBAGENT_WORKSPACE_MODE, y as LLAMAFILE_PROXY_URL } from "./config-
|
|
7
|
-
import { n as applyBasePath } from "./app-routes-
|
|
5
|
+
import { a as getStorageStatus, i as getStorageRoot, o as invalidateStorageRoot, r as getOpfsRootDirName, s as isStaleHandleError, t as getGroupDir } from "./getGroupDir-MHv7Lvmp.js";
|
|
6
|
+
import { C as PROVIDERS, F as getProvider, I as getProviderApiKeyConfigKey, O as buildTriggerPattern, P as getModelMaxTokens, R as modelRegistry, c as DEFAULT_PROMPT_API_FALLBACK_MODEL, d as DEFAULT_TASK_SERVER_URL, m as FETCH_MAX_RESPONSE, n as BASH_MAX_TIMEOUT_SEC, o as DEFAULT_GROUP_ID, p as DEFAULT_VM_NETWORK_RELAY_URL, r as CONFIG_KEYS, t as ASSISTANT_NAME, u as DEFAULT_SUBAGENT_WORKSPACE_MODE, y as LLAMAFILE_PROXY_URL } from "./config-DZkF9LiO.js";
|
|
7
|
+
import { n as applyBasePath } from "./app-routes-CKkiX12g.js";
|
|
8
8
|
import { t as getConfig } from "./getConfig-B7JdRqIY.js";
|
|
9
9
|
import { t as parsePath } from "./parsePath-rArsS7VY.js";
|
|
10
|
-
import { a as groupFileExists, c as writeOpfsPathViaWorker, d as DEFAULT_BUILTIN_PROFILE, f as readGroupFile, l as findDeclarativeTool, o as writeGroupFile, r as parseSkill, s as writeFileHandle, t as toolsStore } from "./tools-
|
|
11
|
-
import { t as readGroupFileBytes } from "./readGroupFileBytes-
|
|
10
|
+
import { a as groupFileExists, c as writeOpfsPathViaWorker, d as DEFAULT_BUILTIN_PROFILE, f as readGroupFile, l as findDeclarativeTool, o as writeGroupFile, r as parseSkill, s as writeFileHandle, t as toolsStore } from "./tools-Cmhpk3X8.js";
|
|
11
|
+
import { t as readGroupFileBytes } from "./readGroupFileBytes-CgU_UfGv.js";
|
|
12
12
|
import { getImageMimeType, getMimeType, guessMimeTypeFromFilename, isImagePath } from "./utils/mime.js";
|
|
13
13
|
import { t as setConfig } from "./setConfig-CmvLryM3.js";
|
|
14
14
|
import { ulid } from "./utils/ulid.js";
|
|
15
15
|
import { i as BASIC_CATALOG_REFERENCE, r as A2UI_BASIC_CATALOG_ID, t as TOOL_DEFINITIONS } from "./tools-BQpz4Hkp.js";
|
|
16
16
|
import "./tools-d8Wgmt5f.js";
|
|
17
17
|
import { t as require_browser } from "./browser-FvTfy_Ym.js";
|
|
18
|
-
import { _ as loadCustomElementSecurityFromDb, h as installCustomElementsRegistryGuard, l as configureCustomElementSecurity, m as installCustomElementDomGuard } from "./utils-
|
|
18
|
+
import { _ as loadCustomElementSecurityFromDb, h as installCustomElementsRegistryGuard, l as configureCustomElementSecurity, m as installCustomElementDomGuard } from "./utils-CzgKe_XZ.js";
|
|
19
19
|
import { t as require_buffer } from "./buffer-BEXn271X.js";
|
|
20
20
|
import { n as decryptValue, r as encryptValue } from "./crypto-BPECyFrG.js";
|
|
21
|
-
import { c as getRemoteMcpConnection, d as buildAuthHeaders, i as listRemoteMcpTools, l as listRemoteMcpConnections, m as resolveServiceCredentials, n as McpReauthRequiredError, p as resolveGitCredentials, r as callRemoteMcpTool, t as reconnectMcpOAuth } from "./mcp-reconnect-
|
|
21
|
+
import { c as getRemoteMcpConnection, d as buildAuthHeaders, i as listRemoteMcpTools, l as listRemoteMcpConnections, m as resolveServiceCredentials, n as McpReauthRequiredError, p as resolveGitCredentials, r as callRemoteMcpTool, t as reconnectMcpOAuth } from "./mcp-reconnect-CGIdfZnS.js";
|
|
22
22
|
import { a as require_define_data_property, c as require_hasown, d as require_type, f as require_es_object_atoms, h as require_stream_browserify, i as require_has_property_descriptors, l as require_get_proto, m as require_shams$1, n as require_which_typed_array, o as require_call_bound, p as require_shams, r as require_call_bind, s as require_get_intrinsic, t as require_is_typed_array, u as require_gopd, y as require_inherits_browser } from "./is-typed-array-CTIxWDdM.js";
|
|
23
23
|
import { n as require_inflate, o as require_zstream, r as require_deflate, t as require_constants } from "./constants-DsXVuJVP.js";
|
|
24
24
|
import { parseBooleanConfig } from "./utils/parseBooleanConfig.js";
|
|
25
|
-
import { a as upsertEmailConnection, i as listEmailConnections, n as deleteEmailConnection, o as getEmailPluginManifest, r as getEmailConnection, s as listEmailPluginManifests, t as bindEmailCredentialRef } from "./connections-
|
|
25
|
+
import { a as upsertEmailConnection, i as listEmailConnections, n as deleteEmailConnection, o as getEmailPluginManifest, r as getEmailConnection, s as listEmailPluginManifests, t as bindEmailCredentialRef } from "./connections-CalJGWvZ.js";
|
|
26
26
|
import { asNumber, asStringArray, asUidArray } from "./utils/coerce.js";
|
|
27
27
|
import { base64ToBytes, bytesToBase64 } from "./utils/base64.js";
|
|
28
28
|
import { basename, sanitizeFilename } from "./utils/filename.js";
|
|
@@ -31,7 +31,7 @@ import { isBinaryContent, isBinaryContentType } from "./utils/isBinary.js";
|
|
|
31
31
|
import { computeDelay, sleep } from "./utils/delay.js";
|
|
32
32
|
import { t as getAllTasks } from "./getAllTasks-DEko4xIn.js";
|
|
33
33
|
import { normalizeStringList } from "./utils/normalizeStringList.js";
|
|
34
|
-
import { r as getPushUrl } from "./push-client-
|
|
34
|
+
import { r as getPushUrl } from "./push-client-DKgVFD2Z.js";
|
|
35
35
|
import { a as showSuccess, o as showToast, r as showError } from "./toast-DZ6r7_YI.js";
|
|
36
36
|
import { getNamespacedItem, setNamespacedItem } from "./utils/namespacedStorage.js";
|
|
37
37
|
import { applyJsonPatch } from "./utils/jsonPatch.js";
|
|
@@ -80750,7 +80750,7 @@ async function executeDeclarativeTool(db, name, input, groupId, options = {}, de
|
|
|
80750
80750
|
//#region src/worker/utils/executeTool.ts
|
|
80751
80751
|
let gitSubsystemPromise = null;
|
|
80752
80752
|
async function loadGitSubsystem() {
|
|
80753
|
-
if (!gitSubsystemPromise) gitSubsystemPromise = import("./git-
|
|
80753
|
+
if (!gitSubsystemPromise) gitSubsystemPromise = import("./git-Bv_M3dgw.js");
|
|
80754
80754
|
return gitSubsystemPromise;
|
|
80755
80755
|
}
|
|
80756
80756
|
async function executeGitToolDispatcher(db, name, input, groupId) {
|
|
@@ -86188,4 +86188,4 @@ const orchestratorStore = new OrchestratorStore();
|
|
|
86188
86188
|
|
|
86189
86189
|
//#endregion
|
|
86190
86190
|
export { setPeerjsPeerAliases as $, uploadGroupFile as $t, shouldStartLocalScheduler as A, normalizeMeshLlmResult as At, getApiKeyForHeaders as B, getRoomMetadata as Bt, sendTerminalInput as C, fetchTokenizerConfig as Ct, compactContext as D, buildHeaders as Dt, setVMNetworkRelayURL as E, withRetry as Et, leaveRoom as F, copyGroupEntry as Ft, getProviderRuntimeHeaders as G, createGroupDirectory as Gt, getAvailableProviders as H, roomIdFromGroupId as Ht, listRooms as I, ensureBuiltinAiPolyfills as It, setBedrockSettings as J, ensureMainGroupMemory as Jt, getReasoningConfig as K, deleteGroupFile as Kt, applyLlamafileHeaders as L, loadModelStream as Lt, handleRoomInvite as M, discoverSkills as Mt, inviteToRoom as N, moveGroupEntry as Nt, handleWorkerMessage as O, formatRequest as Ot, joinRoomViaLink as P, deleteGroupDirectory as Pt, setPeerjsMyAlias as Q, unregisterSubagentCollector as Qt, applyMeshLlmHeaders as R, DEFAULT_CHUNK_SIZE as Rt, openTerminalSession as S, isPromptApiSupported as St, setVMBootMode as T, isRetryableHttpError as Tt, getBedrockSettings as U, upsertRoom as Ut, getApiKeyForRequest as V, roomGroupId as Vt, getLlamafileSettings as W, writeGroupFileBytes as Wt, setMeshLlmSettings as X, registerSubagentCollector as Xt, setLlamafileSettings as Y, post as Yt, setModel as Z, setPostHandler as Zt, setUseProxy as _, setChannelEnabled as _t, updateTaskLastRun as a, formatModelAttachmentCapabilitySummary as an, buildLlamafileHelpDialogOptions as at, answerUserPrompt as b, buildSystemPrompt as bt, setMaxIterations as c, buildDynamicContext as cn, clearPeerJsTypingState as ct, setRateLimitAutoAdapt as d, detectProviderHelpType as dn, getChannelEnabled as dt, createToolActivityMessage as en, setProvider as et, setRateLimitCallsPerMinute as f, getChannelTypeForGroup as ft, setTaskServerUrl as g, loadChannelEnabled as gt, setTaskServerEnabled as h, getTelegramConfig as ht, deleteAllGroupFiles as i, buildConversationMessages as in, LLAMAFILE_EXPECTED_DIR as it, createRoom as j, parseResponse as jt, runTaskAsScheduled as k, getContextLimit as kt, setMaxTokens as l, estimateTokens as ln, configureIMessage as lt, setStreamingEnabled as m, getPeerJsConfig as mt, orchestrator_exports as n, sanitizeModelOutput as nn, stopTransformersProgressPolling as nt, clearGroupMessages as o, getAttachmentCategory as on, deliverResponse as ot, setReasoningEffort as p, getIMessageConfig as pt, setAssistantName as q, ensureMainGroupIndex as qt, getStaticPageContent as r, listGroups as rn, buildTransformersJsHelpDialogOptions as rt, setContextCompressionEnabled as s, getModelAttachmentCapabilities as sn, applyAllChannelRunningStates as st, orchestratorStore as t, createLogMessage as tn, startTransformersProgressPolling as tt, setProxyUrl as u, buildProviderHelpDialogOptions as un, configureTelegram as ut, setVMBashTimeout as v, submitMessage as vt, setVMBootHost as w, executeTool as wt, closeTerminalSession as x, invokeWithPromptApi as xt, syncProxyConfigToServiceWorker as y, saveMessage as yt, cancelLlamafileRequest as z, deleteRoom as zt };
|
|
86191
|
-
//# sourceMappingURL=orchestrator-
|
|
86191
|
+
//# sourceMappingURL=orchestrator-DKHCoikY.js.map
|