shadow-claw 1.59.6 → 1.60.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 +6 -2
- package/dist/cli/build/build.js +1 -1
- package/dist/cli/chunk-3C5izdQW.js +1 -0
- package/dist/cli/chunk-B-75h9gX.js +1 -0
- package/dist/cli/{chunk-C9o6lXP3.js → chunk-B7Kn-otm.js} +1 -1
- package/dist/cli/{chunk-YX32FcN7.js → chunk-BBczgswQ.js} +1 -1
- package/dist/cli/{chunk-DcNxjqH6.js → chunk-BE-lYWcn.js} +1 -1
- package/dist/cli/{chunk-DJqHK-qS.js → chunk-BECr0WxI.js} +11 -11
- package/dist/cli/chunk-BEz1PD1_.js +1 -0
- package/dist/cli/chunk-BLzI1Fp2.js +1 -0
- package/dist/cli/{chunk-yiVdvGCJ.js → chunk-BVSC1MNQ.js} +11 -11
- package/dist/cli/{chunk-CX2itile.js → chunk-BdWcep6o.js} +1 -1
- package/dist/cli/{chunk-DLde6nuO.js → chunk-BfTpnSS4.js} +1 -1
- package/dist/cli/{chunk-D2_eAO83.js → chunk-BgvqTf7w.js} +1 -1
- package/dist/cli/chunk-BwsJfUT3.js +1 -0
- package/dist/cli/{chunk--PFY91kE.js → chunk-C9b4b7c_.js} +1 -1
- package/dist/cli/{chunk-D3y7h9Xe.js → chunk-CAw9XYFe.js} +1 -1
- package/dist/cli/chunk-CFCcbFs2.js +396 -0
- package/dist/cli/{chunk-Cnjb8Usu.js → chunk-CTarF4FC.js} +1 -1
- package/dist/cli/{chunk-DM4xsTry.js → chunk-Cbq5hpjb.js} +4 -4
- package/dist/cli/chunk-CjTjKy_v.js +310 -0
- package/dist/cli/chunk-Cjyu4cr_.js +36 -0
- package/dist/cli/{chunk-DUGZPka_.js → chunk-ClMKygjZ.js} +1 -1
- package/dist/cli/chunk-Cppnq1KF.js +1 -0
- package/dist/cli/{chunk-DvemF16v.js → chunk-D9QCNFMO.js} +1 -1
- package/dist/cli/chunk-DB21BMqt.js +7 -0
- package/dist/cli/{chunk-_Vo-o_e3.js → chunk-DHoIWvCc.js} +1 -1
- package/dist/cli/chunk-DZEN9T5y.js +1 -0
- package/dist/cli/{chunk-5rLO4DWS.js → chunk-Dl14OyYO.js} +9 -9
- package/dist/cli/chunk-Dl_vv0dI.js +1 -0
- package/dist/cli/chunk-Dpmfhlyl.js +1 -0
- package/dist/cli/{chunk-BrR1DOBS.js → chunk-Du7Xtucq.js} +1 -1
- package/dist/cli/{chunk-Bc_weULz.js → chunk-DxcDFUi_.js} +1 -1
- package/dist/cli/{chunk-Dt7-hzJU.js → chunk-DyyEWbV7.js} +1 -1
- package/dist/cli/chunk-N0x3mXU0.js +1 -0
- package/dist/cli/{chunk-CGoE4llV.js → chunk-V-w0Bata.js} +1 -1
- package/dist/cli/{chunk-C8DBACtx.js → chunk-ZxDxSSn-.js} +1 -1
- package/dist/cli/chunk-lPvFUkd5.js +7 -0
- package/dist/cli/{chunk-Ctg5L55n.js → chunk-n5s-sCdU.js} +1 -1
- package/dist/cli/{chunk-Dw8GndPD.js → chunk-nD9VPVMq.js} +1 -1
- package/dist/cli/{chunk-Cq_kQohv.js → chunk-rFuy8aS_.js} +1 -1
- package/dist/cli/{chunk-Bq38OubR.js → chunk-wjM6JXWa.js} +1 -1
- package/dist/cli/{chunk-3wTukVof.js → chunk-zcES9rut.js} +1 -1
- package/dist/cli/cli.js +3 -3
- package/dist/headless-agent.js +2 -2
- package/dist/lib/{app-routes-DJdIjp2V.js → app-routes-BXiRvlNl.js} +7 -25
- package/dist/lib/{app-routes-DJdIjp2V.js.map → app-routes-BXiRvlNl.js.map} +1 -1
- package/dist/lib/{attachment-capabilities-Dbb-4ZP5.js → attachment-capabilities-BjkEPip8.js} +2 -2
- package/dist/lib/{attachment-capabilities-Dbb-4ZP5.js.map → attachment-capabilities-BjkEPip8.js.map} +1 -1
- package/dist/lib/{channel-Dlru5ofR.js → channel-DB77spML.js} +3 -3
- package/dist/lib/{channel-Dlru5ofR.js.map → channel-DB77spML.js.map} +1 -1
- package/dist/lib/{chat-template-BuuLY8l7.js → chat-template-DPEKGJhB.js} +2 -2
- package/dist/lib/{chat-template-BuuLY8l7.js.map → chat-template-DPEKGJhB.js.map} +1 -1
- package/dist/lib/{compact-context-BtR55YPU.js → compact-context-Q9t9aL1e.js} +19 -19
- package/dist/lib/{compact-context-BtR55YPU.js.map → compact-context-Q9t9aL1e.js.map} +1 -1
- package/dist/lib/components/common/shadow-claw-provider-model-picker.js +1 -1
- package/dist/lib/components/index.js +27 -27
- 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-provider-model-picker.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-DxNI3TlW.js → config-BrHR97zt.js} +2 -2
- package/dist/lib/{config-DxNI3TlW.js.map → config-BrHR97zt.js.map} +1 -1
- package/dist/lib/{configure-peer-js-ChDhOZU4.js → configure-peer-js-CgFiwoxY.js} +3 -3
- package/dist/lib/{configure-peer-js-ChDhOZU4.js.map → configure-peer-js-CgFiwoxY.js.map} +1 -1
- package/dist/lib/{connections-DC4NZkJE.js → connections-C1FWsBsE.js} +2 -2
- package/dist/lib/{connections-DC4NZkJE.js.map → connections-C1FWsBsE.js.map} +1 -1
- package/dist/lib/content/build-attachment-content-blocks.d.ts +2 -0
- package/dist/lib/{credentials-5vpz0XPk.js → credentials-CZbngHXW.js} +2 -2
- package/dist/lib/{credentials-5vpz0XPk.js.map → credentials-CZbngHXW.js.map} +1 -1
- package/dist/lib/{discover-skills-CD0sKvAI.js → discover-skills-CXyaWHKi.js} +13 -13
- package/dist/lib/{discover-skills-CD0sKvAI.js.map → discover-skills-CXyaWHKi.js.map} +1 -1
- package/dist/lib/{download-group-file-Dk3qaxhJ.js → download-group-file-D0wgg10Q.js} +2 -2
- package/dist/lib/{download-group-file-Dk3qaxhJ.js.map → download-group-file-D0wgg10Q.js.map} +1 -1
- package/dist/lib/{file-viewer-B4pRW-_G.js → file-viewer-DOfvX6yy.js} +5 -5
- package/dist/lib/{file-viewer-B4pRW-_G.js.map → file-viewer-DOfvX6yy.js.map} +1 -1
- package/dist/lib/{get-or-create-subscriber-id-HCcgDEPz.js → get-or-create-subscriber-id-wyzaML7Z.js} +2 -2
- package/dist/lib/{get-or-create-subscriber-id-HCcgDEPz.js.map → get-or-create-subscriber-id-wyzaML7Z.js.map} +1 -1
- package/dist/lib/{git-B3Q1euc5.js → git-CogDRlEz.js} +5 -5
- package/dist/lib/{git-B3Q1euc5.js.map → git-CogDRlEz.js.map} +1 -1
- package/dist/lib/{iframe-bridge-scripts-D8iuFhUk.js → iframe-bridge-scripts-Dx825LLG.js} +2 -2
- package/dist/lib/{iframe-bridge-scripts-D8iuFhUk.js.map → iframe-bridge-scripts-Dx825LLG.js.map} +1 -1
- package/dist/lib/index.js +28 -28
- package/dist/lib/{init-chat-split-resize-B0ODULx9.js → init-chat-split-resize-Cc0bd2z9.js} +2 -2
- package/dist/lib/{init-chat-split-resize-B0ODULx9.js.map → init-chat-split-resize-Cc0bd2z9.js.map} +1 -1
- package/dist/lib/{init-control-plane-C1FRRmjC.js → init-control-plane-CEGdzgWX.js} +15 -15
- package/dist/lib/{init-control-plane-C1FRRmjC.js.map → init-control-plane-CEGdzgWX.js.map} +1 -1
- package/dist/lib/{invoke-agent-CzN7sVh-.js → invoke-agent-cac3gCsj.js} +11 -11
- package/dist/lib/{invoke-agent-CzN7sVh-.js.map → invoke-agent-cac3gCsj.js.map} +1 -1
- package/dist/lib/{markdown-mbNo7cV3.js → markdown--6vTAPEH.js} +2 -2
- package/dist/lib/{markdown-mbNo7cV3.js.map → markdown--6vTAPEH.js.map} +1 -1
- package/dist/lib/{mcp-reconnect-3T7yWGEY.js → mcp-reconnect-BeqQvNWO.js} +3 -3
- package/dist/lib/{mcp-reconnect-3T7yWGEY.js.map → mcp-reconnect-BeqQvNWO.js.map} +1 -1
- package/dist/lib/{model-ranking-DGNSWYwN.js → model-ranking-BhsJV7vb.js} +2 -2
- package/dist/lib/{model-ranking-DGNSWYwN.js.map → model-ranking-BhsJV7vb.js.map} +1 -1
- package/dist/lib/{move-group-entry-NMTJ59M9.js → move-group-entry-D8dptMg0.js} +5 -5
- package/dist/lib/{move-group-entry-NMTJ59M9.js.map → move-group-entry-D8dptMg0.js.map} +1 -1
- package/dist/lib/{orchestrator-B8FV1V7x.js → orchestrator-BBAwy9Nm.js} +24 -24
- package/dist/lib/{orchestrator-B8FV1V7x.js.map → orchestrator-BBAwy9Nm.js.map} +1 -1
- package/dist/lib/{orchestrator-i_QJ-o22.js → orchestrator-cRBe3lhq.js} +11 -11
- package/dist/lib/orchestrator-cRBe3lhq.js.map +1 -0
- package/dist/lib/{parse-path-DPCn-HwI.js → parse-path-BOHQP_IQ.js} +3 -3
- package/dist/lib/{parse-path-DPCn-HwI.js.map → parse-path-BOHQP_IQ.js.map} +1 -1
- package/dist/lib/{peerjs-z5zeioPV.js → peerjs-BLg8aGUj.js} +8 -8
- package/dist/lib/{peerjs-z5zeioPV.js.map → peerjs-BLg8aGUj.js.map} +1 -1
- package/dist/lib/{process-peer-query-param-CJp7w7AU.js → process-peer-query-param-BnsVnxzH.js} +5 -5
- package/dist/lib/{process-peer-query-param-CJp7w7AU.js.map → process-peer-query-param-BnsVnxzH.js.map} +1 -1
- package/dist/lib/{process-pending-shared-payloads-B6_TlBFA.js → process-pending-shared-payloads-DBZfZOOa.js} +4 -4
- package/dist/lib/{process-pending-shared-payloads-B6_TlBFA.js.map → process-pending-shared-payloads-DBZfZOOa.js.map} +1 -1
- package/dist/lib/{process-room-query-param-C3FFGGn6.js → process-room-query-param-B8EYg_-r.js} +4 -4
- package/dist/lib/{process-room-query-param-C3FFGGn6.js.map → process-room-query-param-B8EYg_-r.js.map} +1 -1
- package/dist/lib/{provider-DcQZypu5.js → provider-BC9KPI14.js} +3 -3
- package/dist/lib/{provider-DcQZypu5.js.map → provider-BC9KPI14.js.map} +1 -1
- package/dist/lib/{push-client-Cx5rMs6J.js → push-client-CAm6UMvE.js} +5 -5
- package/dist/lib/{push-client-Cx5rMs6J.js.map → push-client-CAm6UMvE.js.map} +1 -1
- package/dist/lib/{read-group-file-bytes-CXOG_YyM.js → read-group-file-bytes-UQIk1eJG.js} +2 -2
- package/dist/lib/{read-group-file-bytes-CXOG_YyM.js.map → read-group-file-bytes-UQIk1eJG.js.map} +1 -1
- package/dist/lib/{rooms-CwlkYLDU.js → rooms-Dzphx3rK.js} +2 -2
- package/dist/lib/{rooms-CwlkYLDU.js.map → rooms-Dzphx3rK.js.map} +1 -1
- package/dist/lib/{shadow-claw-DoQ7fgl5.js → shadow-claw-CGl8tXtG.js} +17 -20
- package/dist/lib/shadow-claw-CGl8tXtG.js.map +1 -0
- package/dist/lib/{shadow-claw-a2ui-Br6qJMs1.js → shadow-claw-a2ui-lG0vQbW8.js} +2 -2
- package/dist/lib/{shadow-claw-a2ui-Br6qJMs1.js.map → shadow-claw-a2ui-lG0vQbW8.js.map} +1 -1
- package/dist/lib/{shadow-claw-accounts-BTDILfWw.js → shadow-claw-accounts-CkqyCxwp.js} +3 -3
- package/dist/lib/{shadow-claw-accounts-BTDILfWw.js.map → shadow-claw-accounts-CkqyCxwp.js.map} +1 -1
- package/dist/lib/{shadow-claw-channel-config-IKiL34tI.js → shadow-claw-channel-config-BNIWCdsL.js} +4 -4
- package/dist/lib/{shadow-claw-channel-config-IKiL34tI.js.map → shadow-claw-channel-config-BNIWCdsL.js.map} +1 -1
- package/dist/lib/{shadow-claw-channels-JgEzuHWK.js → shadow-claw-channels-C2QSn4Ew.js} +3 -3
- package/dist/lib/{shadow-claw-channels-JgEzuHWK.js.map → shadow-claw-channels-C2QSn4Ew.js.map} +1 -1
- package/dist/lib/{shadow-claw-chat-SGUDT31r.js → shadow-claw-chat-Wx3y9y6c.js} +15 -15
- package/dist/lib/{shadow-claw-chat-SGUDT31r.js.map → shadow-claw-chat-Wx3y9y6c.js.map} +1 -1
- package/dist/lib/{shadow-claw-control-plane-CRWFZ3vD.js → shadow-claw-control-plane-D5E4cFGu.js} +7 -7
- package/dist/lib/{shadow-claw-control-plane-CRWFZ3vD.js.map → shadow-claw-control-plane-D5E4cFGu.js.map} +1 -1
- package/dist/lib/{shadow-claw-conversations-D23GJ7qo.js → shadow-claw-conversations-BtDv7GRW.js} +7 -7
- package/dist/lib/{shadow-claw-conversations-D23GJ7qo.js.map → shadow-claw-conversations-BtDv7GRW.js.map} +1 -1
- package/dist/lib/{shadow-claw-file-viewer-C1V8WTiU.js → shadow-claw-file-viewer-CG40kwWV.js} +10 -10
- package/dist/lib/{shadow-claw-file-viewer-C1V8WTiU.js.map → shadow-claw-file-viewer-CG40kwWV.js.map} +1 -1
- package/dist/lib/{shadow-claw-files-DN7irmE1.js → shadow-claw-files-BOUULrlX.js} +11 -11
- package/dist/lib/{shadow-claw-files-DN7irmE1.js.map → shadow-claw-files-BOUULrlX.js.map} +1 -1
- package/dist/lib/{shadow-claw-git-D-1oIh65.js → shadow-claw-git-BeHV73_9.js} +6 -6
- package/dist/lib/{shadow-claw-git-D-1oIh65.js.map → shadow-claw-git-BeHV73_9.js.map} +1 -1
- package/dist/lib/{shadow-claw-integrations-CZjnm7cM.js → shadow-claw-integrations-RZZ-m-Id.js} +4 -4
- package/dist/lib/{shadow-claw-integrations-CZjnm7cM.js.map → shadow-claw-integrations-RZZ-m-Id.js.map} +1 -1
- package/dist/lib/{shadow-claw-llm-4Gefh5FN.js → shadow-claw-llm-KONyWKZM.js} +9 -9
- package/dist/lib/{shadow-claw-llm-4Gefh5FN.js.map → shadow-claw-llm-KONyWKZM.js.map} +1 -1
- package/dist/lib/{shadow-claw-mcp-remote-B9ssb3YV.js → shadow-claw-mcp-remote-BKFROurv.js} +4 -4
- package/dist/lib/{shadow-claw-mcp-remote-B9ssb3YV.js.map → shadow-claw-mcp-remote-BKFROurv.js.map} +1 -1
- package/dist/lib/{shadow-claw-networking-BN5BB4hb.js → shadow-claw-networking-Diy3JJkc.js} +2 -2
- package/dist/lib/{shadow-claw-networking-BN5BB4hb.js.map → shadow-claw-networking-Diy3JJkc.js.map} +1 -1
- package/dist/lib/{shadow-claw-notifications-71KARtkY.js → shadow-claw-notifications-C-upPa-4.js} +3 -3
- package/dist/lib/{shadow-claw-notifications-71KARtkY.js.map → shadow-claw-notifications-C-upPa-4.js.map} +1 -1
- package/dist/lib/{shadow-claw-page-header-DMGO-TSe.js → shadow-claw-page-header-C_Qr3xZM.js} +2 -2
- package/dist/lib/{shadow-claw-page-header-DMGO-TSe.js.map → shadow-claw-page-header-C_Qr3xZM.js.map} +1 -1
- package/dist/lib/{shadow-claw-pages-BiRM6qiA.js → shadow-claw-pages-CfAjUKgd.js} +11 -11
- package/dist/lib/{shadow-claw-pages-BiRM6qiA.js.map → shadow-claw-pages-CfAjUKgd.js.map} +1 -1
- package/dist/lib/{shadow-claw-peerjs-BZu7jNSe.js → shadow-claw-peerjs-t4YibS9s.js} +6 -6
- package/dist/lib/{shadow-claw-peerjs-BZu7jNSe.js.map → shadow-claw-peerjs-t4YibS9s.js.map} +1 -1
- package/dist/lib/{shadow-claw-provider-model-picker-BXYXEobD.js → shadow-claw-provider-model-picker-B-Ct4yW-.js} +2 -2
- package/dist/lib/{shadow-claw-provider-model-picker-BXYXEobD.js.map → shadow-claw-provider-model-picker-B-Ct4yW-.js.map} +1 -1
- package/dist/lib/{shadow-claw-settings-CcT5EK08.js → shadow-claw-settings-Cg5V0e9g.js} +7 -7
- package/dist/lib/{shadow-claw-settings-CcT5EK08.js.map → shadow-claw-settings-Cg5V0e9g.js.map} +1 -1
- package/dist/lib/{shadow-claw-storage-eTOpbvpi.js → shadow-claw-storage-C7tCnsSG.js} +5 -5
- package/dist/lib/{shadow-claw-storage-eTOpbvpi.js.map → shadow-claw-storage-C7tCnsSG.js.map} +1 -1
- package/dist/lib/{shadow-claw-task-server-DFImTUbw.js → shadow-claw-task-server-BObsRdf8.js} +2 -2
- package/dist/lib/{shadow-claw-task-server-DFImTUbw.js.map → shadow-claw-task-server-BObsRdf8.js.map} +1 -1
- package/dist/lib/{shadow-claw-tasks-BjaxsmUx.js → shadow-claw-tasks-B2EEqrcY.js} +9 -9
- package/dist/lib/{shadow-claw-tasks-BjaxsmUx.js.map → shadow-claw-tasks-B2EEqrcY.js.map} +1 -1
- package/dist/lib/{shadow-claw-terminal-C-4wreFe.js → shadow-claw-terminal-DSHfO2b9.js} +2 -2
- package/dist/lib/{shadow-claw-terminal-C-4wreFe.js.map → shadow-claw-terminal-DSHfO2b9.js.map} +1 -1
- package/dist/lib/{shadow-claw-tools-COdrGZJk.js → shadow-claw-tools-DwPBADua.js} +7 -7
- package/dist/lib/{shadow-claw-tools-COdrGZJk.js.map → shadow-claw-tools-DwPBADua.js.map} +1 -1
- package/dist/lib/{shadow-claw-webvm-sxqVjO0L.js → shadow-claw-webvm-CY4qGaMB.js} +3 -3
- package/dist/lib/{shadow-claw-webvm-sxqVjO0L.js.map → shadow-claw-webvm-CY4qGaMB.js.map} +1 -1
- package/dist/lib/{sync-web-mcp-registration-D4hdUwtv.js → sync-web-mcp-registration-BiOZvW-R.js} +6 -6
- package/dist/lib/{sync-web-mcp-registration-D4hdUwtv.js.map → sync-web-mcp-registration-BiOZvW-R.js.map} +1 -1
- package/dist/lib/{system-prompt-DT_KeYaL.js → system-prompt-CxJ3Nx4c.js} +9 -8
- package/dist/lib/system-prompt-CxJ3Nx4c.js.map +1 -0
- package/dist/lib/{tools-Beuyh8y1.js → tools-B8OJ4sMF.js} +4 -4
- package/dist/lib/{tools-Beuyh8y1.js.map → tools-B8OJ4sMF.js.map} +1 -1
- package/dist/lib/{transformers-DydnReu4.js → transformers-BMURofG6.js} +2 -2
- package/dist/lib/{transformers-DydnReu4.js.map → transformers-BMURofG6.js.map} +1 -1
- package/dist/lib/{trusted-types-CfwZl_rr.js → trusted-types-HwsGS5Nj.js} +19 -17
- package/dist/lib/{trusted-types-CfwZl_rr.js.map → trusted-types-HwsGS5Nj.js.map} +1 -1
- package/dist/lib/{upload-group-file-BbBzjTcN.js → upload-group-file-CJpoNjEb.js} +3 -3
- package/dist/lib/{upload-group-file-BbBzjTcN.js.map → upload-group-file-CJpoNjEb.js.map} +1 -1
- package/dist/lib/utils/index.js +1 -1
- package/dist/lib/utils/namespaced-storage.js +1 -1
- package/dist/lib/utils/runtime-assets.js +1 -1
- package/dist/lib/utils/utils.js +1 -1
- package/dist/lib/{webmcp-DCfAFiIO.js → webmcp-BoMTvgmX.js} +3 -3
- package/dist/lib/{webmcp-DCfAFiIO.js.map → webmcp-BoMTvgmX.js.map} +1 -1
- package/dist/lib/{write-group-file-bytes-Ccn-VFUU.js → write-group-file-bytes-CNT7DqOZ.js} +3 -3
- package/dist/lib/{write-group-file-bytes-Ccn-VFUU.js.map → write-group-file-bytes-CNT7DqOZ.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 +3 -1
- package/dist/public/README.md +6 -2
- package/dist/public/agent.worker.js +1 -1
- package/dist/public/attachment-capabilities-AdwXt3--.js +1 -0
- package/dist/public/{channel-BylT3rJC.js → channel-DIpDQekL.js} +1 -1
- package/dist/public/{chat-template-DPHJy7tr.js → chat-template-CXKs8lFR.js} +1 -1
- package/dist/public/compact-context-BQ2ZXoAc.js +5 -0
- package/dist/public/{compact-context-BINQh64w.js → compact-context-dHitmPsV.js} +2 -2
- package/dist/public/config-C16fFWtP.js +1 -0
- package/dist/public/{configure-peer-js-DChhcOfe.js → configure-peer-js-DV1rqvFX.js} +1 -1
- package/dist/public/{connections-CHaw0VqP.js → connections-Dxwj8yK_.js} +1 -1
- package/dist/public/{create-model-cache-fetch-DQebkoPL.js → create-model-cache-fetch-B0mSCEk6.js} +1 -1
- package/dist/public/{credentials-CgVqS119.js → credentials-CJUQ5Ep2.js} +1 -1
- package/dist/public/{custom-element-security-kiDhPfb8.js → custom-element-security-B2daIE5r.js} +2 -2
- package/dist/public/{discover-skills-Cvmx5I9V.js → discover-skills-BWJB8HUA.js} +6 -6
- package/dist/public/docs/architecture/overview.md +1 -1
- package/dist/public/docs/example/article/index.html +29 -30
- package/dist/public/docs/example/article.html +29 -30
- package/dist/public/docs/publishing/index.html +29 -30
- package/dist/public/docs/publishing.html +29 -30
- package/dist/public/docs/skill-creator/index.html +29 -30
- package/dist/public/docs/skill-creator.html +29 -30
- package/dist/public/docs/subsystems/attachment-capabilities.md +14 -1
- package/dist/public/docs/subsystems/cli.md +95 -51
- package/dist/public/docs/subsystems/pages.md +5 -0
- package/dist/public/{download-group-file-BapoRgfU.js → download-group-file-BkMH-JKi.js} +1 -1
- package/dist/public/e2e/README.md +1 -1
- package/dist/public/{e2e-bridge-C0g8vZKr.js → e2e-bridge-lP2qqiv3.js} +1 -1
- package/dist/public/get-group-dir-D--BiEyk.js +1 -0
- package/dist/public/{get-or-create-subscriber-id-GvRZYXwA.js → get-or-create-subscriber-id-jVHnQfbr.js} +1 -1
- package/dist/public/{git-CaAAZfVd.js → git-DjmQ16rm.js} +2 -2
- package/dist/public/{iframe-bridge-scripts-BnqtKhE4.js → iframe-bridge-scripts-CO0izGjW.js} +1 -1
- package/dist/public/index.html +29 -30
- package/dist/public/index.js +1 -1
- package/dist/public/{init-chat-split-resize-Btonoy8u.js → init-chat-split-resize-C8AqCCiK.js} +1 -1
- package/dist/public/init-control-plane-Ctz7FI8M.js +1 -0
- package/dist/public/{invoke-agent-B3Osw6K7.js → invoke-agent-C_geruwq.js} +1 -1
- package/dist/public/llms.txt +1 -1
- package/dist/public/main/index.html +29 -30
- package/dist/public/main/memory/index.html +29 -30
- package/dist/public/main/memory.html +29 -30
- package/dist/public/main.html +29 -30
- package/dist/public/{markdown-CPbU4r1U.js → markdown-CDSb5Hrl.js} +1 -1
- package/dist/public/{mcp-reconnect-CzROVsXG.js → mcp-reconnect-iPZPihwX.js} +1 -1
- package/dist/public/{memory-storage-BkoMlxOr.js → memory-storage-2m7KZ-aP.js} +1 -1
- package/dist/public/{model-ranking-CK0iBo3Z.js → model-ranking-BgOSaNIy.js} +1 -1
- package/dist/public/{move-group-entry-CTxoq7lw.js → move-group-entry-QQ9Hkk54.js} +1 -1
- package/dist/public/{orchestrator-BrDjQbGf.js → orchestrator-C1kaTltu.js} +2 -2
- package/dist/public/orchestrator-Li1UAsv7.js +63 -0
- package/dist/public/{peerjs-CgF4Iz5W.js → peerjs-DbBryE-9.js} +1 -1
- package/dist/public/{process-peer-query-param-BL2k0Hu-.js → process-peer-query-param-DQIgr3KL.js} +1 -1
- package/dist/public/{process-pending-shared-payloads-C1AgGvn8.js → process-pending-shared-payloads-Ctb-TFqB.js} +1 -1
- package/dist/public/{process-room-query-param-DM0QCq3_.js → process-room-query-param-F-XnIVoZ.js} +1 -1
- package/dist/public/provider-YPZmsuHR.js +1 -0
- package/dist/public/{push-client-DJEOz7bi.js → push-client-DRx9Eggz.js} +1 -1
- package/dist/public/{rooms-C6LXIJl4.js → rooms-BurBI7is.js} +1 -1
- package/dist/public/service-worker/init.js +1 -1
- package/dist/public/service-worker.js +1 -1
- package/dist/public/shadow-claw-Bg9AQ5x_.js +1176 -0
- package/dist/public/{shadow-claw-accounts--4hd_oCz.js → shadow-claw-accounts-B3mjYI0M.js} +1 -1
- package/dist/public/{shadow-claw-card-IbNlZAdK.js → shadow-claw-card-tcXRS1GF.js} +1 -1
- package/dist/public/{shadow-claw-channels-Vq_pPGa2.js → shadow-claw-channels-BiSfLvWv.js} +1 -1
- package/dist/public/{shadow-claw-chat-D7_GS25e.js → shadow-claw-chat-N5jMsXZZ.js} +3 -3
- package/dist/public/{shadow-claw-control-plane-WTMEV8_p.js → shadow-claw-control-plane-DFVe_Xdq.js} +2 -2
- package/dist/public/{shadow-claw-conversations-CLQgU1IT.js → shadow-claw-conversations-wAR06_ya.js} +1 -1
- package/dist/public/{shadow-claw-empty-state-D4CrFGsN.js → shadow-claw-empty-state-CnPm3NVM.js} +1 -1
- package/dist/public/{shadow-claw-file-viewer-BhqiqLWQ.js → shadow-claw-file-viewer-sZN_FCDW.js} +4 -4
- package/dist/public/{shadow-claw-files-senDiG9l.js → shadow-claw-files-CnvkCbd4.js} +2 -2
- package/dist/public/{shadow-claw-git-DOOCqY23.js → shadow-claw-git-BBHfClGk.js} +2 -2
- package/dist/public/{shadow-claw-integrations-Bsvc3Agq.js → shadow-claw-integrations-DvdBqzRJ.js} +1 -1
- package/dist/public/{shadow-claw-llm-actYICAk.js → shadow-claw-llm-YfohG519.js} +2 -2
- package/dist/public/{shadow-claw-mcp-remote-BYUgrK3v.js → shadow-claw-mcp-remote-BAVbf5pi.js} +1 -1
- package/dist/public/{shadow-claw-networking-Dk3p5Ny_.js → shadow-claw-networking-CZ4LWPW7.js} +1 -1
- package/dist/public/{shadow-claw-notifications-CzPAlay8.js → shadow-claw-notifications-BHwyREkG.js} +1 -1
- package/dist/public/{shadow-claw-page-header-CjJpVkyL.js → shadow-claw-page-header-De6Qf6eY.js} +1 -1
- package/dist/public/{shadow-claw-page-header-action-button-2DH5O1TD.js → shadow-claw-page-header-action-button-FSOhTc9z.js} +1 -1
- package/dist/public/{shadow-claw-pages-3r5I-wI8.js → shadow-claw-pages-D_oPyDca.js} +6 -6
- package/dist/public/{shadow-claw-pdf-viewer-BiCEwsoY.js → shadow-claw-pdf-viewer-CrU4wqRq.js} +1 -1
- package/dist/public/{shadow-claw-settings-DgB9RSZN.js → shadow-claw-settings-DkUhvxVr.js} +2 -2
- package/dist/public/{shadow-claw-storage-JB_43nd8.js → shadow-claw-storage-D0o56Tjw.js} +1 -1
- package/dist/public/{shadow-claw-task-server-oi5UIxdA.js → shadow-claw-task-server-4rkroO9K.js} +1 -1
- package/dist/public/{shadow-claw-tasks-CnyiOt81.js → shadow-claw-tasks-BdP7lmvu.js} +3 -3
- package/dist/public/{shadow-claw-terminal-BC3RynHt.js → shadow-claw-terminal-DVHX7Fsu.js} +1 -1
- package/dist/public/{shadow-claw-toast-YjG--2Za.js → shadow-claw-toast-B9Y9tSkW.js} +1 -1
- package/dist/public/{shadow-claw-tools-Bbwk4vlT.js → shadow-claw-tools-BwwY53Lr.js} +1 -1
- package/dist/public/{shadow-claw-webvm-HZqzl2H5.js → shadow-claw-webvm-CXGdkCNM.js} +1 -1
- package/dist/public/{sync-web-mcp-registration-BaH2nAP0.js → sync-web-mcp-registration-DVK_IhXZ.js} +1 -1
- package/dist/public/{system-prompt-Dck3N8T0.js → system-prompt-BmswoQwF.js} +2 -2
- package/dist/public/{tools-DHA1dK2I.js → tools-D-52Zmfc.js} +1 -1
- package/dist/public/{transformers-C-DuTM2K.js → transformers-CQ9ss9rD.js} +1 -1
- package/dist/public/{upload-group-file-Cejr3zo1.js → upload-group-file-A8kB7lvO.js} +1 -1
- package/dist/public/{webmcp-CMRtu57-.js → webmcp-DIUZjVF5.js} +1 -1
- package/dist/public/{workbox-92eae37e.js → workbox-e4022e15.js} +1 -1
- package/dist/public/{write-group-file-CmJuVQNO.js → write-group-file-R67DjJ-q.js} +1 -1
- package/dist/public/{write-group-file-bytes-Cejr3zo1.js → write-group-file-bytes-A8kB7lvO.js} +1 -1
- package/dist/public/{zip-reader-CuQ13eLe.js → zip-reader-JHoTbATw.js} +1 -1
- package/dist/server.js +6 -6
- package/package.json +1 -1
- package/dist/cli/chunk-2gZFafgY.js +0 -1
- package/dist/cli/chunk-BFziiMKt.js +0 -7
- package/dist/cli/chunk-BM3llsxb.js +0 -1
- package/dist/cli/chunk-BUNoeMKY.js +0 -36
- package/dist/cli/chunk-Bj5qFsDi.js +0 -7
- package/dist/cli/chunk-Bj95zm-y.js +0 -1
- package/dist/cli/chunk-BpyP-esT.js +0 -1
- package/dist/cli/chunk-CX696s3_.js +0 -1
- package/dist/cli/chunk-DRxCrCAA.js +0 -139
- package/dist/cli/chunk-DjbCHa0h.js +0 -1
- package/dist/cli/chunk-Ds5-K-9o.js +0 -1
- package/dist/cli/chunk-DsQhAF31.js +0 -1
- package/dist/cli/chunk-VM-dECyG.js +0 -1
- package/dist/cli/chunk-gvNsvav0.js +0 -225
- package/dist/cli/chunk-heu2xRw1.js +0 -1
- package/dist/lib/orchestrator-i_QJ-o22.js.map +0 -1
- package/dist/lib/shadow-claw-DoQ7fgl5.js.map +0 -1
- package/dist/lib/system-prompt-DT_KeYaL.js.map +0 -1
- package/dist/public/app-routes-V_-URXc5.js +0 -1
- package/dist/public/attachment-capabilities-B6ibLwQB.js +0 -1
- package/dist/public/compact-context-CX4H8V57.js +0 -5
- package/dist/public/config-C-YdSFZB.js +0 -1
- package/dist/public/get-group-dir-DL44kvqW.js +0 -1
- package/dist/public/init-control-plane-BoJijVtf.js +0 -1
- package/dist/public/orchestrator-CaUpEVkQ.js +0 -63
- package/dist/public/provider-DNIL4-Hw.js +0 -1
- package/dist/public/shadow-claw-DdgeYPg5.js +0 -1176
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,r as t,t as n}from"./rolldown-runtime-DBVvNlSN.js";import{t as r}from"./browser-B1SoUj6D.js";import{I as i,L as a,P as o,m as s,n as c,o as l,r as u,u as d}from"./config-
|
|
1
|
+
import{i as e,r as t,t as n}from"./rolldown-runtime-DBVvNlSN.js";import{t as r}from"./browser-B1SoUj6D.js";import{I as i,L as a,P as o,m as s,n as c,o as l,r as u,u as d}from"./config-C16fFWtP.js";import{t as f}from"./get-config-Bkvl__ZS.js";import{n as p}from"./html-BwtE_7wp.js";import{E as m,X as h,Z as g,g as _,t as v,u as y}from"./orchestrator-Li1UAsv7.js";import{t as b}from"./ulid-BSJxYh6W.js";import{a as x,c as S,o as C,r as w,s as T,t as E}from"./tools-D-52Zmfc.js";import{r as ee,t as D}from"./headless-D6caaop6.js";import{t as O}from"./get-group-dir-D--BiEyk.js";import{t as te}from"./write-group-file-R67DjJ-q.js";import{n as k}from"./parse-boolean-config-BigJ9U46.js";import{i as A,r as ne,t as re}from"./tools-CHxUdGxZ.js";import"./tools-C4xNCwrc.js";import{t as ie}from"./buffer-B98mcmH0.js";import{S as ae,a as oe,l as se,x as ce}from"./provider-YPZmsuHR.js";import{a as le,c as ue,d as de,f as fe,h as pe,i as me,l as he,m as ge,n as _e,o as ve,p as ye,r as be,s as xe,t as j,u as Se,y as Ce}from"./is-typed-array-BHSlUYDn.js";import{r as we,t as Te}from"./credentials-CJUQ5Ep2.js";import{n as Ee,r as M}from"./crypto-4ETeplbS.js";import{a as De,i as N,n as P,o as Oe,r as ke,s as Ae,t as je}from"./connections-Dxwj8yK_.js";import{n as F}from"./chat-template-CXKs8lFR.js";import{n as Me,r as Ne,t as Pe}from"./create-model-cache-fetch-B0mSCEk6.js";import{a as Fe,i as Ie}from"./transformers-CQ9ss9rD.js";import{i as Le,n as Re,o as ze,r as Be,u as Ve}from"./mcp-reconnect-iPZPihwX.js";import{a as He,r as Ue}from"./rooms-BurBI7is.js";import{a as We,n as Ge,r as Ke,t as qe}from"./mime-ClqNyXPc.js";import{t as Je}from"./upload-group-file-A8kB7lvO.js";import{n as Ye,t as Xe}from"./filename-kBumOBho.js";import{t as Ze}from"./write-group-file-bytes-A8kB7lvO.js";import{i as Qe,n as $e,r as et,t as tt}from"./move-group-entry-QQ9Hkk54.js";import{n as nt,r as rt,t as it}from"./coerce-44KevvoY.js";import{n as at,t as ot}from"./base64-Cwcsjvcj.js";import{_ as st,c as ct,g as lt,l as ut,n as dt,o as ft,p as pt,r as mt,s as ht,t as gt,u as _t}from"./discover-skills-BWJB8HUA.js";import{i as vt,n as yt,r as bt,t as xt}from"./system-prompt-BmswoQwF.js";function St(e,t,n,r){return{type:`thinking-log`,payload:{groupId:e,level:t,timestamp:Date.now(),label:n,message:r||``}}}function Ct(e,t,n){return{type:`tool-activity`,payload:{groupId:e,tool:t,status:n}}}let wt=null;function Tt(e){wt=e}const Et=/* @__PURE__ */ new Map;function Dt(e,t){Et.set(e,t)}function Ot(e){Et.delete(e)}function kt(e){let t=e?.payload?.groupId;t&&Et.has(t)?Et.get(t).push(e):wt?wt(e):typeof self<`u`&&typeof self.postMessage==`function`&&self.postMessage(e)}const At=/* @__PURE__ */ new Set;async function jt(){It()}async function Mt(e,t=900,n=null){{let e=Pt();return`Error: WebVM is not available. The VM requires local assets served at /assets/ (alpine-fs.json, libv86.mjs, etc). Use the "javascript" tool for code execution, or the "fetch_url" tool for HTTP requests.`+(e.error?`\nReason: ${e.error}`:e.booting?`
|
|
2
2
|
Reason: VM is still booting in the background...`:``)}}function Nt(){return!1}function Pt(){return{ready:!1,booting:!1,bootAttempted:!1,mode:null,error:`WebVM is disabled. Enable it in Settings to use WebVM.`}}function Ft(){return`disabled`}function It(){let e=Pt();At.forEach(t=>{try{t(e)}catch{}})}var Lt=/* @__PURE__ */ n((e=>{(function(){var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function n(e){return i(o(e),arguments)}function r(e,t){return n.apply(null,[e].concat(t||[]))}function i(e,r){for(var i=1,a=e.length,o,s=``,c=0,l,u,d,f,p,m,h;c<a;c++)if(typeof e[c]==`string`)s+=e[c];else if(typeof e[c]==`object`){if(u=e[c],u.keys)for(o=r[i],l=0;l<u.keys.length;l++){if(o==null)throw Error(n(`[sprintf] Cannot access property "%s" of undefined value "%s"`,u.keys[l],u.keys[l-1]));o=o[u.keys[l]]}else o=u.param_no?r[u.param_no]:r[i++];if(t.not_type.test(u.type)&&t.not_primitive.test(u.type)&&o instanceof Function&&(o=o()),t.numeric_arg.test(u.type)&&typeof o!=`number`&&isNaN(o))throw TypeError(n(`[sprintf] expecting number but found %T`,o));switch(t.number.test(u.type)&&(m=o>=0),u.type){case`b`:o=parseInt(o,10).toString(2);break;case`c`:o=String.fromCharCode(parseInt(o,10));break;case`d`:case`i`:o=parseInt(o,10);break;case`j`:o=JSON.stringify(o,null,u.width?parseInt(u.width):0);break;case`e`:o=u.precision?parseFloat(o).toExponential(u.precision):parseFloat(o).toExponential();break;case`f`:o=u.precision?parseFloat(o).toFixed(u.precision):parseFloat(o);break;case`g`:o=u.precision?String(Number(o.toPrecision(u.precision))):parseFloat(o);break;case`o`:o=(parseInt(o,10)>>>0).toString(8);break;case`s`:o=String(o),o=u.precision?o.substring(0,u.precision):o;break;case`t`:o=String(!!o),o=u.precision?o.substring(0,u.precision):o;break;case`T`:o=Object.prototype.toString.call(o).slice(8,-1).toLowerCase(),o=u.precision?o.substring(0,u.precision):o;break;case`u`:o=parseInt(o,10)>>>0;break;case`v`:o=o.valueOf(),o=u.precision?o.substring(0,u.precision):o;break;case`x`:o=(parseInt(o,10)>>>0).toString(16);break;case`X`:o=(parseInt(o,10)>>>0).toString(16).toUpperCase()}t.json.test(u.type)?s+=o:(t.number.test(u.type)&&(!m||u.sign)?(h=m?`+`:`-`,o=o.toString().replace(t.sign,``)):h=``,f=u.pad_char?u.pad_char===`0`?`0`:u.pad_char.charAt(1):` `,p=u.width-(h+o).length,d=u.width&&p>0?f.repeat(p):``,s+=u.align?h+o+d:f===`0`?h+d+o:d+h+o)}return s}var a=Object.create(null);function o(e){if(a[e])return a[e];for(var n=e,r,i=[],o=0;n;){if((r=t.text.exec(n))!==null)i.push(r[0]);else if((r=t.modulo.exec(n))!==null)i.push(`%`);else if((r=t.placeholder.exec(n))!==null){if(r[2]){o|=1;var s=[],c=r[2],l=[];if((l=t.key.exec(c))!==null)for(s.push(l[1]);(c=c.substring(l[0].length))!==``;)if((l=t.key_access.exec(c))!==null)s.push(l[1]);else if((l=t.index_access.exec(c))!==null)s.push(l[1]);else throw SyntaxError(`[sprintf] failed to parse named argument key`);else throw SyntaxError(`[sprintf] failed to parse named argument key`);r[2]=s}else o|=2;if(o===3)throw Error(`[sprintf] mixing positional and named placeholders is not (yet) supported`);i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}else throw SyntaxError(`[sprintf] unexpected placeholder`);n=n.substring(r[0].length)}return a[e]=i}e!==void 0&&(e.sprintf=n,e.vsprintf=r),typeof window<`u`&&(window.sprintf=n,window.vsprintf=r,typeof define==`function`&&define.amd&&define(function(){return{sprintf:n,vsprintf:r}}))})()})),Rt=/* @__PURE__ */ e(r(),1),zt=ie(),Bt=Lt();const Vt=(e,t,n)=>{let r=e instanceof RegExp?Ht(e,n):e,i=t instanceof RegExp?Ht(t,n):t,a=r!==null&&i!=null&&Ut(r,i,n);return a&&{start:a[0],end:a[1],pre:n.slice(0,a[0]),body:n.slice(a[0]+r.length,a[1]),post:n.slice(a[1]+i.length)}},Ht=(e,t)=>{let n=t.match(e);return n?n[0]:null},Ut=(e,t,n)=>{let r,i,a,o,s,c=n.indexOf(e),l=n.indexOf(t,c+1),u=c;if(c>=0&&l>0){if(e===t)return[c,l];for(r=[],a=n.length;u>=0&&!s;){if(u===c)r.push(u),c=n.indexOf(e,u+1);else if(r.length===1){let e=r.pop();e!==void 0&&(s=[e,l])}else i=r.pop(),i!==void 0&&i<a&&(a=i,o=l),l=n.indexOf(t,u+1);u=c<l&&c>=0?c:l}r.length&&o!==void 0&&(s=[a,o])}return s},Wt=`\0SLASH`+Math.random()+`\0`,Gt=`\0OPEN`+Math.random()+`\0`,Kt=`\0CLOSE`+Math.random()+`\0`,qt=`\0COMMA`+Math.random()+`\0`,Jt=`\0PERIOD`+Math.random()+`\0`,Yt=new RegExp(Wt,`g`),Xt=new RegExp(Gt,`g`),Zt=new RegExp(Kt,`g`),Qt=new RegExp(qt,`g`),$t=new RegExp(Jt,`g`),en=/\\\\/g,tn=/\\{/g,nn=/\\}/g,rn=/\\,/g,an=/\\\./g;function on(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function sn(e){return e.replace(en,Wt).replace(tn,Gt).replace(nn,Kt).replace(rn,qt).replace(an,Jt)}function cn(e){return e.replace(Yt,`\\`).replace(Xt,`{`).replace(Zt,`}`).replace(Qt,`,`).replace($t,`.`)}function ln(e,t){for(let n=0;n<t.length;n++)e.push(t[n])}function un(e){let t=[],n=``;for(;;){let r=Vt(`{`,`}`,e);if(!r){let r=e.split(`,`);return r[0]=n+r[0],ln(t,r),t}let{pre:i,body:a,post:o}=r,s=i.split(`,`);if(s[0]=n+s[0],s[s.length-1]+=`{`+a+`}`,!o.length)return ln(t,s),t;n=s.pop(),ln(t,s),e=o}}function dn(e,t={}){if(!e)return[];let{max:n=1e5,maxLength:r=4e6,maxDepth:i=1e3,maxRewrites:a=1e3}=t;return e.slice(0,2)===`{}`&&(e=`\\{\\}`+e.slice(2)),vn(sn(e),n,r,i,0,a,!0).map(cn)}function fn(e){return`{`+e+`}`}function pn(e){return/^-?0\d/.test(e)}function mn(e,t){return e<=t}function hn(e,t){return e>=t}function gn(e,t,n,r,i,a){let o=[],s=0;for(let c=0;c<e.length;c++)for(let l=0;l<n.length;l++){if(o.length>=r)return o;let u=e[c]+t+n[l];if(!a||u){if(s+u.length>i)return o;o.push(u),s+=u.length}}return o}function _n(e,t,n,r){let i=e.split(/\.\./),a=[];
|
|
3
3
|
/* c8 ignore start */
|
|
4
4
|
if(i[0]===void 0||i[1]===void 0)return a;
|
|
@@ -1893,7 +1893,7 @@ const restoreGlobals = applyGlobalShadows();
|
|
|
1893
1893
|
`);for(let e=0;e<o.length;e++){let t=o[e],n;if(d){let e=t.length>bV?t.slice(0,bV):t;n=d.test(e)}else n=t.includes(i);if(n){let n=t.length>500?t.slice(0,500)+`…`:t;if(p.push(`${r}:${e+1}: ${n}`),p.length>=500){p.push(`... (results truncated at 500 matches)`),g=!0;return}}}}}}return await v(a||`.`),h&&p.push(`... (file visit limit of ${l} reached; narrow your search with path or file_glob)`),p.length===0?`No matches found.`:p.join(`
|
|
1894
1894
|
`)}async function CV(e,t,n){if(!t.path||typeof t.path!=`string`)return`Error: send_file requires a valid path string.`;let r=t.peer_id&&typeof t.peer_id==`string`&&t.peer_id.trim()?t.peer_id.trim():``,i=r?r.startsWith(`peer:`)?r:`peer:${r}`:n,a=i.startsWith(`peer:`),o=i.startsWith(`room:`);if(!a&&!o)return`Error: send_file only works in peer or room conversations (groupId must start with 'peer:' or 'room:') or when peer_id is specified.`;let s=Xz(t.path);return s?Yz(s)?`Error: send_file path cannot contain '..' segments.`:await C(e,n,s)?(kt({payload:{groupId:i,path:s},type:`send-file`}),`Sending file to ${o?`room`:`peer`}: ${s}. The transfer will proceed in the background — you can continue chatting.`):`Error: send_file could not find ${s} in the workspace.`:`Error: send_file received an empty file path.`}async function wV(e,t,n){return await te(e,n,`MEMORY.md`,t.content),`Memory updated successfully.`}async function TV(e,t,n){return await te(e,n,t.path,t.content),`Written ${t.content.length} bytes to ${t.path}`}async function EV(e,t,n){let r=typeof t.name==`string`?t.name.trim():``,i=await gt(e,n),a=i.skills.map(e=>e.name),o=a.length>0?a.join(`, `):`(none)`;if(!r){let e=`Error: activate_skill requires a skill name. Available skills: ${o}.`;return i.diagnostics.length>0&&(e+=` (Note: ${i.diagnostics.length} skill file(s) had errors: ${i.diagnostics.map(e=>`${e.path}: ${e.message}`).join(`; `)})`),e}let s=await dt(e,n,r);if(!s){let e=i.diagnostics.find(e=>e.path.toLowerCase().includes(r.toLowerCase())||e.message.toLowerCase().includes(r.toLowerCase()));if(e)return`Error: skill "${r}" was found at "${e.path}" but failed to load: ${e.message}. Please fix the frontmatter in SKILL.md. Available skills: ${o}.`;let t=`Error: skill "${r}" was not found in this conversation workspace. Available skills: ${o}.`;return i.diagnostics.length>0&&(t+=` (Note: ${i.diagnostics.length} skill file(s) had errors: ${i.diagnostics.map(e=>`${e.path}: ${e.message}`).join(`; `)})`),t}return s.disableModelInvocation?`Error: skill "${r}" is not available for model-driven activation.`:[`<skill_content name="${s.name}">`,s.body||`(This skill has no instructions.)`,`Skill directory: ${s.basePath}`,`Resolve all relative paths against the skill directory.`,s.resources&&s.resources.length>0?[`<skill_resources>`,...s.resources.map(e=>` <file>${e}</file>`),`</skill_resources>`].join(`
|
|
1895
1895
|
`):``,`</skill_content>`].filter(Boolean).join(`
|
|
1896
|
-
`)}async function DV(e,t,n,r){if(ee()){let i=r?.invokeContext;return await ft({taskType:t,input:n,groupId:e,providerId:i?.provider,model:i?.model,apiKey:i?.apiKey,maxTokens:i?.maxTokens,headers:i?.providerHeaders,db:r?.db||i?.db})}let i=b();return kt({type:`request-native-ai-task`,payload:{id:i,groupId:e,taskType:t,input:n}}),await new Promise((e,t)=>{globalThis.pendingNativeAiResolvers=globalThis.pendingNativeAiResolvers||{},globalThis.pendingNativeAiResolvers[i]={resolve:e,reject:t}})}async function OV(e,t,n){let r=String(e.text||``).trim();if(!r)return`Error: text is required for summarize_text`;try{return await DV(t,`summarize`,{text:r,type:e.type,format:e.format,length:e.length,preference:e.preference,context:e.context,outputLanguage:e.outputLanguage,overridePrompt:e.overridePrompt,sharedContext:e.sharedContext},n)}catch(e){return`Error summarizing text: ${e instanceof Error?e.message:String(e)}`}}async function kV(e,t,n){let r=String(e.prompt||``).trim();if(!r)return`Error: prompt is required for write_text`;try{return await DV(t,`write`,{prompt:r,context:e.context,tone:e.tone,format:e.format,length:e.length,outputLanguage:e.outputLanguage,sharedContext:e.sharedContext},n)}catch(e){return`Error writing text: ${e instanceof Error?e.message:String(e)}`}}async function AV(e,t,n){let r=String(e.text||``).trim();if(!r)return`Error: text is required for rewrite_text`;try{return await DV(t,`rewrite`,{text:r,tone:e.tone,format:e.format,length:e.length,context:e.context,outputLanguage:e.outputLanguage,sharedContext:e.sharedContext},n)}catch(e){return`Error rewriting text: ${e instanceof Error?e.message:String(e)}`}}async function jV(e,t,n){let r=String(e.text||``).trim();if(!r)return`Error: text is required for proofread_text`;try{return await DV(t,`proofread`,{text:r,context:e.context},n)}catch(e){return`Error proofreading text: ${e instanceof Error?e.message:String(e)}`}}async function MV(e,t,n){let r=String(e.text||``).trim();if(!r)return`Error: text is required for detect_language`;try{let e=await DV(t,`detect-language`,{text:r},n);return typeof e==`string`?e:JSON.stringify(e,null,2)}catch(e){return`Error detecting language: ${e instanceof Error?e.message:String(e)}`}}async function NV(e,t,n){let r=String(e.text||``).trim(),i=String(e.sourceLanguage||``).trim(),a=String(e.targetLanguage||``).trim();if(!r||!i||!a)return`Error: text, sourceLanguage, and targetLanguage are required for translate_text`;try{return await DV(t,`translate`,{text:r,sourceLanguage:i,targetLanguage:a},n)}catch(e){return`Error translating text: ${e instanceof Error?e.message:String(e)}`}}async function PV(e,t,n){let r=e.text;if(!r||Array.isArray(r)&&r.length===0)return`Error: text is required for embed_text`;try{let i=await DV(t,`semantic-embedder`,{text:r,taskType:e.taskType},n);return typeof i==`string`?i:JSON.stringify(i,null,2)}catch(e){return`Error generating embeddings: ${e instanceof Error?e.message:String(e)}`}}async function FV(e,t={}){let{maxRetries:n=3,baseDelayMs:r=1e3,maxDelayMs:i=3e4,jitterFactor:a=.5,shouldRetry:o=()=>!0,onRetry:s,signal:c}=t,l;for(let t=0;t<=n;t++){if(c?.aborted)throw c.reason??new DOMException(`Aborted`,`AbortError`);try{return await e()}catch(e){if(l=e,e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&e.name===`AbortError`)throw e;if(t>=n||!o(e,t+1))break;let u=h(t,r,i,a);s&&s(t+1,n,u,e),await g(u,c)}}throw l}const IV=/* @__PURE__ */ new Set([408,429,500,502,503,504]);function LV(e){return/network|ECONNRESET|ECONNREFUSED|ETIMEDOUT|fetch failed|EAI_AGAIN|EAI_NONAME|getaddrinfo/i.test(e.message)}function RV(e){if(e instanceof TypeError)return!0;if(typeof e?.status==`number`)return IV.has(e.status);if(e instanceof Error){let t=e.message.match(/\b(4\d{2}|5\d{2})\b/);if(t)return IV.has(Number(t[1]));if(LV(e))return!0}return!1}function zV(e){return e instanceof TypeError?!0:e&&typeof e.status==`number`?IV.has(e.status):e instanceof Error&&LV(e)}const BV=/* @__PURE__ */ new Set([`create_task`,`update_task`,`delete_task`,`enable_task`,`disable_task`,`send_notification`,`create_room`,`invite_to_room`,`leave_room`]);function VV(e){if(!Array.isArray(e))return null;let t=e.map(e=>typeof e==`string`?e:typeof e?.name==`string`?e.name:null).filter(Boolean);return new Set(t)}function HV(e,t){let n=VV(t);return n&&!n.has(e)?`Tool "${e}" is not allowed in the current context. Do not call it again. Use one of the available tools or ask for help.`:null}function UV(e,t,n){return(t||n)&&e===`run_task`?`Tool "run_task" cannot be called from within a task execution to prevent infinite loops.`:null}function WV(e,t){return t&&BV.has(e)?`Tool "${e}" is not allowed during scheduled task execution to prevent recursion.`:null}function GV(e){return ee()&&D.has(e)?`Tool "${e}" is not available in headless CLI mode. It requires a browser UI.`:null}function KV(e,t={}){return HV(e,t.allowedTools)||UV(e,t.isScheduledTask,t.isTaskExecution)||WV(e,t.isScheduledTask)||GV(e)||null}async function qV(e,t,n,r,i={},a){let o=await w(e,r,t);if(!o)return`Unknown tool: ${t}`;let s=i.declarativeDepth||0;if(s>=8)return`Tool error (${t}): declarative tool nesting limit exceeded.`;if(o.execution.type===`tool`){let c=o.execution.name;return c?await a(e,c,o.execution.input?{...n,...o.execution.input}:n,r,{...i,declarativeDepth:s+1}):`Tool error (${t}): declarative tool target is missing.`}return o.execution.type===`bash`?await Wz(e,{command:o.execution.command,stdin:JSON.stringify(n)},r):await eV(e,{code:o.execution.code,data:JSON.stringify(n)})}let JV=null;async function YV(){return JV||=import(`./git-CaAAZfVd.js`),JV}async function XV(e,t,n,r){let i=await YV();return await fB(e,t,n,r,{configKeys:{GIT_CORS_PROXY:u.GIT_CORS_PROXY,GIT_PROXY_URL:u.GIT_PROXY_URL,GIT_AUTHOR_NAME:u.GIT_AUTHOR_NAME,GIT_AUTHOR_EMAIL:u.GIT_AUTHOR_EMAIL},getConfig:f,getGroupDir:O,getProxyUrl:i.getProxyUrl,getRemoteUrl:i.getRemoteUrl,gitAdd:i.gitAdd,gitBranch:i.gitBranch,gitCheckout:i.gitCheckout,gitClone:i.gitClone,gitCommit:i.gitCommit,gitConfig:i.gitConfig,gitDeleteBranch:i.gitDeleteBranch,gitDeleteRepo:i.gitDeleteRepo,gitDiff:i.gitDiff,gitFetch:i.gitFetch,gitInit:i.gitInit,gitListBranches:i.gitListBranches,gitListRepos:i.gitListRepos,gitListTags:i.gitListTags,gitLog:i.gitLog,gitMerge:i.gitMerge,gitPull:i.gitPull,gitPush:i.gitPush,gitReadFileAtRef:i.gitReadFileAtRef,gitRemote:i.gitRemote,gitReset:i.gitReset,gitShow:i.gitShow,gitStatus:i.gitStatus,gitTag:i.gitTag,gitUnstage:i.gitUnstage,readGroupFile:T,resolveGitCredentials:we})}const $=/* @__PURE__ */ new Map;$.set(`bash`,(e,t,n)=>Wz(e,t,n)),$.set(`read_file`,(e,t,n)=>yV(e,t,n)),$.set(`open_file`,(e,t,n)=>_V(e,t,n)),$.set(`attach_file_to_chat`,(e,t,n)=>uV(e,t,n)),$.set(`send_file`,(e,t,n)=>CV(e,t,n)),$.set(`write_file`,(e,t,n)=>TV(e,t,n)),$.set(`delete_file`,(e,t,n)=>pV(e,t,n)),$.set(`move_file`,(e,t,n)=>gV(e,t,n)),$.set(`copy_file`,(e,t,n)=>dV(e,t,n)),$.set(`create_directory`,(e,t,n)=>fV(e,t,n)),$.set(`patch_file`,(e,t,n)=>vV(e,t,n)),$.set(`list_files`,(e,t,n)=>hV(e,t,n)),$.set(`manage_tools`,(e,t,n)=>rV(t,n)),$.set(`list_tool_profiles`,e=>nV(e)),$.set(`fetch_url`,(e,t,n)=>aB(e,t,n,{buildAuthHeaders:Te,fetchImpl:fetch,fetchMaxResponse:s,isRetryableFetchError:zV,post:kt,resolveGitCredentials:we,resolveServiceCredentials:ze,retryableStatusCodes:IV,stripHtml:p,uploadGroupFile:Je,withRetry:FV})),$.set(`fetch_file`,(e,t,n)=>rB(e,t,n,{buildAuthHeaders:Te,fetchImpl:fetch,isRetryableFetchError:zV,post:kt,resolveGitCredentials:we,resolveServiceCredentials:ze,retryableStatusCodes:IV,uploadGroupFile:Je,withRetry:FV,writeGroupFile:te})),$.set(`update_memory`,(e,t,n)=>wV(e,t,n)),$.set(`create_task`,(e,t,n)=>LB(t,n)),$.set(`javascript`,(e,t)=>eV(e,t)),$.set(`activate_skill`,(e,t,n)=>EV(e,t,n)),$.set(`list_tasks`,(e,t,n)=>HB(e,n)),$.set(`update_task`,(e,t,n)=>WB(e,t,n)),$.set(`enable_task`,(e,t,n)=>VB(e,t,n)),$.set(`disable_task`,(e,t,n)=>BB(e,t,n)),$.set(`delete_task`,(e,t,n)=>RB(t,n)),$.set(`run_task`,(e,t,n)=>UB(e,t,n)),$.set(`clear_chat`,(e,t,n)=>KB(n)),$.set(`show_toast`,(e,t)=>sV(t)),$.set(`send_notification`,(e,t,n)=>oV(t,n)),$.set(`create_room`,(e,t)=>SB(t)),$.set(`invite_to_room`,(e,t,n)=>CB(t,n)),$.set(`leave_room`,(e,t,n)=>wB(t,n)),$.set(`list_room_members`,(e,t,n)=>TB(e,t,n)),$.set(`prompt_peer`,(e,t,n)=>DB(e,t,n)),$.set(`list_peers`,(e,t,n)=>OB(e,t,n));const ZV=(e,t,n)=>Jz(e,t,n);$.set(`manage_email`,ZV),$.set(`manage_integration`,ZV),$.set(`email_read_messages`,(e,t,n)=>QV(e,`manage_email`,{...t,action:`read_messages`},n)),$.set(`integration_read_messages`,(e,t,n)=>QV(e,`manage_email`,{...t,action:`read_messages`},n)),$.set(`email_send_message`,(e,t,n)=>QV(e,`manage_email`,{...t,action:`send_message`},n)),$.set(`integration_send_message`,(e,t,n)=>QV(e,`manage_email`,{...t,action:`send_message`},n)),$.set(`remote_mcp_list_tools`,(e,t,n)=>bB(e,t,n,{callRemoteMcpTool:Be,listRemoteMcpTools:Le,McpReauthRequiredError:Re,post:kt})),$.set(`remote_mcp_call_tool`,(e,t,n)=>xB(e,t,n,{callRemoteMcpTool:Be,listRemoteMcpTools:Le,McpReauthRequiredError:Re,post:kt}));for(let e of[`git_clone`,`git_checkout`,`git_branch`,`git_status`,`git_add`,`git_log`,`git_diff`,`git_branches`,`git_list_repos`,`git_delete_repo`,`git_commit`,`git_pull`,`git_push`,`git_merge`,`git_reset`,`git_fetch`,`git_read_file_at_ref`,`git_show`,`git_delete_branch`,`git_init`,`git_tag`,`git_remote`,`git_config`,`git_unstage`])$.set(e,(t,n,r)=>XV(t,e,n,r));$.set(`list_components`,()=>tV()),$.set(`render_component`,(e,t,n)=>aV(t,n)),$.set(`spawn_subagent`,async(e,t,n,r)=>r?.invokeContext?await IB(t,n,r.invokeContext):`Error: spawn_subagent requires an active agent invocation context. This tool cannot be called directly.`),$.set(`get_current_time`,(e,t)=>qB(t)),$.set(`search_files`,(e,t,n)=>SV(e,t,n,{maxFileBytes:E.searchFilesMaxFileBytes,maxFilesVisited:E.searchFilesMaxFilesVisited,skipDirs:E.searchFilesSkipDirsSet})),$.set(`diff_files`,(e,t,n)=>mV(e,t,n)),$.set(`ask_user`,(e,t,n)=>GB(t,n)),$.set(`web_search`,(e,t)=>cV(t)),$.set(`summarize_text`,(e,t,n,r)=>OV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`write_text`,(e,t,n,r)=>kV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`rewrite_text`,(e,t,n,r)=>AV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`proofread_text`,(e,t,n,r)=>jV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`detect_language`,(e,t,n,r)=>MV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`translate_text`,(e,t,n,r)=>NV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`embed_text`,(e,t,n,r)=>PV(t,n,{db:e,invokeContext:r?.invokeContext}));async function QV(e,t,n,r,i={}){try{let a=KV(t,i);if(a)return a;let o=$.get(t);return o?await o(e,n,r,i):await qV(e,t,n,r,i,QV)}catch(e){return`Tool error (${t}): ${e instanceof Error?e.message:String(e)}`}}const $V=880803840;var eH=class{emitter;expectedTotalBytes;logEvents;suppressInitialZero;_hasEmitted=!1;hasStreamEvents=!1;urlBytesMap=/* @__PURE__ */ new Map;maxProgressFraction=0;maxLoadedBytes=0;maxEffectiveTotal=0;lastReportedMessage=``;lastReportedFraction=null;constructor(e,t){this.emitter=e,this.expectedTotalBytes=t?.expectedTotalBytes===void 0?$V:t.expectedTotalBytes,this.logEvents=t?.logEvents??!1,this.suppressInitialZero=t?.suppressInitialZero??!1}get hasEmitted(){return this._hasEmitted}markActive(){this._hasEmitted=!0}onStreamProgress(e,t,n,r=!1){if(!Number.isFinite(t)||t<0)return;this.hasStreamEvents=!0,this.urlBytesMap.set(e,{received:t,total:n,complete:r});let i=0,a=0,o=this.urlBytesMap.size>0;for(let e of this.urlBytesMap.values())i+=e.received,e.total!=null&&Number.isFinite(e.total)&&e.total>0&&(a+=e.total),e.complete||(o=!1);let s=this.maxEffectiveTotal,c=this.expectedTotalBytes>0?this.expectedTotalBytes:0,l=Math.max(a,c);this.maxEffectiveTotal=Math.max(this.maxEffectiveTotal,l);let u=this.maxEffectiveTotal;if(this.maxLoadedBytes=Math.max(this.maxLoadedBytes,i),u>0){let e=Math.min(1,Math.max(0,this.maxLoadedBytes/u)),t=o?e:Math.min(.99,e);this.maxProgressFraction=u>s&&s>0?t:Math.max(this.maxProgressFraction,t);let n=`Downloading Prompt API model... (${(this.maxLoadedBytes/1048576).toFixed(1)} / ${(u/1048576).toFixed(1)} MB · ${Math.min(o?100:99,Math.round(this.maxProgressFraction*100))}%)`;this.emit(this.maxProgressFraction,n)}else{let e=`Downloading Prompt API model... (${(this.maxLoadedBytes/1048576).toFixed(1)} MB downloaded)`;this.emit(null,e)}}onProgressEvent(e){let t=Number(e?.loaded),n=Number(e?.total);if(this.logEvents&&console.log(`[PromptApiProgressAggregator] onProgressEvent:`,{loaded:t,total:n,type:e?.type}),!(!Number.isFinite(t)||t<0)&&!(this.hasStreamEvents&&t<=1)&&!(this.suppressInitialZero&&!this._hasEmitted&&t===0&&(!Number.isFinite(n)||n<=1))){if(Number.isFinite(n)&&n>1){let e=this.expectedTotalBytes>0?this.expectedTotalBytes:0,r=Math.max(n,e,this.maxEffectiveTotal);this.maxEffectiveTotal=r,this.maxLoadedBytes=Math.max(this.maxLoadedBytes,t);let i=Math.min(.99,this.maxLoadedBytes/r);this.maxProgressFraction=Math.max(this.maxProgressFraction,i);let a=(this.maxLoadedBytes/1048576).toFixed(1),o=(r/1048576).toFixed(1),s=Math.round(this.maxProgressFraction*100);this.emit(this.maxProgressFraction,`Downloading Prompt API model... (${a} / ${o} MB · ${s}%)`)}else if(t>=0&&t<=1){let e=Math.max(0,Math.min(1,t)),n=e>=1?.99:e;this.maxProgressFraction=Math.max(this.maxProgressFraction,n);let r=Math.max(this.maxEffectiveTotal,this.expectedTotalBytes);if(r>0){let e=(Math.round(this.maxProgressFraction*r)/1048576).toFixed(1),t=(r/1048576).toFixed(1),n=Math.round(this.maxProgressFraction*100);this.emit(this.maxProgressFraction,`Downloading Prompt API model... (${e} / ${t} MB · ${n}%)`)}else{let e=Math.round(this.maxProgressFraction*100);this.emit(this.maxProgressFraction,`Downloading Prompt API model... ${e}%`)}}else if(t>1){this.maxLoadedBytes=Math.max(this.maxLoadedBytes,t);let e=Math.max(this.maxEffectiveTotal,this.expectedTotalBytes);if(e>0){let t=Math.max(this.maxLoadedBytes,e),n=Math.min(.99,this.maxLoadedBytes/t);this.maxProgressFraction=Math.max(this.maxProgressFraction,n);let r=(this.maxLoadedBytes/1048576).toFixed(1),i=(t/1048576).toFixed(1),a=Math.round(this.maxProgressFraction*100);this.emit(this.maxProgressFraction,`Downloading Prompt API model... (${r} / ${i} MB · ${a}%)`)}else{let e=(this.maxLoadedBytes/1048576).toFixed(1);this.emit(null,`Downloading Prompt API model... (${e} MB downloaded)`)}}}}onDone(){this.maxProgressFraction=1,this.emitter(`done`,1,`Prompt API model ready.`)}onError(e){let t=e instanceof Error?e.message:String(e);this.emitter(`error`,null,t)}emit(e,t){this._hasEmitted=!0,(this.lastReportedMessage!==t||this.lastReportedFraction!==e)&&(this.lastReportedMessage=t,this.lastReportedFraction=e,this.emitter(`running`,e,t))}};const tH=re.filter(e=>x.enabledToolNames.includes(e.name));function nH(){return!0}const rH={expectedInputs:[{type:`text`,languages:[`en`]}],expectedOutputs:[{type:`text`,languages:[`en`]}]},iH={key:null,session:null,cleanupTimer:null};function aH(){iH.cleanupTimer&&=(clearTimeout(iH.cleanupTimer),null)}async function oH(){aH(),iH.session&&=(await Promise.resolve(iH.session.destroy?.()).catch(()=>{}),null),iH.key=null}function sH(){aH(),iH.cleanupTimer=setTimeout(()=>{oH()},1e4)}function cH(e){return typeof e?.content==`string`?e.content:Array.isArray(e?.content)?e.content.map(e=>e?.type===`text`?e.text||``:e?.type===`tool_use`?`[TOOL_CALL ${e.name}] ${JSON.stringify(e.input||{})}`:e?.type===`tool_result`?`[TOOL_RESULT ${e.tool_use_id}] ${String(e.content||``)}`:e?.type===`attachment`?`[ATTACHMENT ${e.mediaType}] ${e.fileName} (${e.mimeType})`:``).filter(Boolean).join(`
|
|
1896
|
+
`)}async function DV(e,t,n,r){if(ee()){let i=r?.invokeContext;return await ft({taskType:t,input:n,groupId:e,providerId:i?.provider,model:i?.model,apiKey:i?.apiKey,maxTokens:i?.maxTokens,headers:i?.providerHeaders,db:r?.db||i?.db})}let i=b();return kt({type:`request-native-ai-task`,payload:{id:i,groupId:e,taskType:t,input:n}}),await new Promise((e,t)=>{globalThis.pendingNativeAiResolvers=globalThis.pendingNativeAiResolvers||{},globalThis.pendingNativeAiResolvers[i]={resolve:e,reject:t}})}async function OV(e,t,n){let r=String(e.text||``).trim();if(!r)return`Error: text is required for summarize_text`;try{return await DV(t,`summarize`,{text:r,type:e.type,format:e.format,length:e.length,preference:e.preference,context:e.context,outputLanguage:e.outputLanguage,overridePrompt:e.overridePrompt,sharedContext:e.sharedContext},n)}catch(e){return`Error summarizing text: ${e instanceof Error?e.message:String(e)}`}}async function kV(e,t,n){let r=String(e.prompt||``).trim();if(!r)return`Error: prompt is required for write_text`;try{return await DV(t,`write`,{prompt:r,context:e.context,tone:e.tone,format:e.format,length:e.length,outputLanguage:e.outputLanguage,sharedContext:e.sharedContext},n)}catch(e){return`Error writing text: ${e instanceof Error?e.message:String(e)}`}}async function AV(e,t,n){let r=String(e.text||``).trim();if(!r)return`Error: text is required for rewrite_text`;try{return await DV(t,`rewrite`,{text:r,tone:e.tone,format:e.format,length:e.length,context:e.context,outputLanguage:e.outputLanguage,sharedContext:e.sharedContext},n)}catch(e){return`Error rewriting text: ${e instanceof Error?e.message:String(e)}`}}async function jV(e,t,n){let r=String(e.text||``).trim();if(!r)return`Error: text is required for proofread_text`;try{return await DV(t,`proofread`,{text:r,context:e.context},n)}catch(e){return`Error proofreading text: ${e instanceof Error?e.message:String(e)}`}}async function MV(e,t,n){let r=String(e.text||``).trim();if(!r)return`Error: text is required for detect_language`;try{let e=await DV(t,`detect-language`,{text:r},n);return typeof e==`string`?e:JSON.stringify(e,null,2)}catch(e){return`Error detecting language: ${e instanceof Error?e.message:String(e)}`}}async function NV(e,t,n){let r=String(e.text||``).trim(),i=String(e.sourceLanguage||``).trim(),a=String(e.targetLanguage||``).trim();if(!r||!i||!a)return`Error: text, sourceLanguage, and targetLanguage are required for translate_text`;try{return await DV(t,`translate`,{text:r,sourceLanguage:i,targetLanguage:a},n)}catch(e){return`Error translating text: ${e instanceof Error?e.message:String(e)}`}}async function PV(e,t,n){let r=e.text;if(!r||Array.isArray(r)&&r.length===0)return`Error: text is required for embed_text`;try{let i=await DV(t,`semantic-embedder`,{text:r,taskType:e.taskType},n);return typeof i==`string`?i:JSON.stringify(i,null,2)}catch(e){return`Error generating embeddings: ${e instanceof Error?e.message:String(e)}`}}async function FV(e,t={}){let{maxRetries:n=3,baseDelayMs:r=1e3,maxDelayMs:i=3e4,jitterFactor:a=.5,shouldRetry:o=()=>!0,onRetry:s,signal:c}=t,l;for(let t=0;t<=n;t++){if(c?.aborted)throw c.reason??new DOMException(`Aborted`,`AbortError`);try{return await e()}catch(e){if(l=e,e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&e.name===`AbortError`)throw e;if(t>=n||!o(e,t+1))break;let u=h(t,r,i,a);s&&s(t+1,n,u,e),await g(u,c)}}throw l}const IV=/* @__PURE__ */ new Set([408,429,500,502,503,504]);function LV(e){return/network|ECONNRESET|ECONNREFUSED|ETIMEDOUT|fetch failed|EAI_AGAIN|EAI_NONAME|getaddrinfo/i.test(e.message)}function RV(e){if(e instanceof TypeError)return!0;if(typeof e?.status==`number`)return IV.has(e.status);if(e instanceof Error){let t=e.message.match(/\b(4\d{2}|5\d{2})\b/);if(t)return IV.has(Number(t[1]));if(LV(e))return!0}return!1}function zV(e){return e instanceof TypeError?!0:e&&typeof e.status==`number`?IV.has(e.status):e instanceof Error&&LV(e)}const BV=/* @__PURE__ */ new Set([`create_task`,`update_task`,`delete_task`,`enable_task`,`disable_task`,`send_notification`,`create_room`,`invite_to_room`,`leave_room`]);function VV(e){if(!Array.isArray(e))return null;let t=e.map(e=>typeof e==`string`?e:typeof e?.name==`string`?e.name:null).filter(Boolean);return new Set(t)}function HV(e,t){let n=VV(t);return n&&!n.has(e)?`Tool "${e}" is not allowed in the current context. Do not call it again. Use one of the available tools or ask for help.`:null}function UV(e,t,n){return(t||n)&&e===`run_task`?`Tool "run_task" cannot be called from within a task execution to prevent infinite loops.`:null}function WV(e,t){return t&&BV.has(e)?`Tool "${e}" is not allowed during scheduled task execution to prevent recursion.`:null}function GV(e){return ee()&&D.has(e)?`Tool "${e}" is not available in headless CLI mode. It requires a browser UI.`:null}function KV(e,t={}){return HV(e,t.allowedTools)||UV(e,t.isScheduledTask,t.isTaskExecution)||WV(e,t.isScheduledTask)||GV(e)||null}async function qV(e,t,n,r,i={},a){let o=await w(e,r,t);if(!o)return`Unknown tool: ${t}`;let s=i.declarativeDepth||0;if(s>=8)return`Tool error (${t}): declarative tool nesting limit exceeded.`;if(o.execution.type===`tool`){let c=o.execution.name;return c?await a(e,c,o.execution.input?{...n,...o.execution.input}:n,r,{...i,declarativeDepth:s+1}):`Tool error (${t}): declarative tool target is missing.`}return o.execution.type===`bash`?await Wz(e,{command:o.execution.command,stdin:JSON.stringify(n)},r):await eV(e,{code:o.execution.code,data:JSON.stringify(n)})}let JV=null;async function YV(){return JV||=import(`./git-DjmQ16rm.js`),JV}async function XV(e,t,n,r){let i=await YV();return await fB(e,t,n,r,{configKeys:{GIT_CORS_PROXY:u.GIT_CORS_PROXY,GIT_PROXY_URL:u.GIT_PROXY_URL,GIT_AUTHOR_NAME:u.GIT_AUTHOR_NAME,GIT_AUTHOR_EMAIL:u.GIT_AUTHOR_EMAIL},getConfig:f,getGroupDir:O,getProxyUrl:i.getProxyUrl,getRemoteUrl:i.getRemoteUrl,gitAdd:i.gitAdd,gitBranch:i.gitBranch,gitCheckout:i.gitCheckout,gitClone:i.gitClone,gitCommit:i.gitCommit,gitConfig:i.gitConfig,gitDeleteBranch:i.gitDeleteBranch,gitDeleteRepo:i.gitDeleteRepo,gitDiff:i.gitDiff,gitFetch:i.gitFetch,gitInit:i.gitInit,gitListBranches:i.gitListBranches,gitListRepos:i.gitListRepos,gitListTags:i.gitListTags,gitLog:i.gitLog,gitMerge:i.gitMerge,gitPull:i.gitPull,gitPush:i.gitPush,gitReadFileAtRef:i.gitReadFileAtRef,gitRemote:i.gitRemote,gitReset:i.gitReset,gitShow:i.gitShow,gitStatus:i.gitStatus,gitTag:i.gitTag,gitUnstage:i.gitUnstage,readGroupFile:T,resolveGitCredentials:we})}const $=/* @__PURE__ */ new Map;$.set(`bash`,(e,t,n)=>Wz(e,t,n)),$.set(`read_file`,(e,t,n)=>yV(e,t,n)),$.set(`open_file`,(e,t,n)=>_V(e,t,n)),$.set(`attach_file_to_chat`,(e,t,n)=>uV(e,t,n)),$.set(`send_file`,(e,t,n)=>CV(e,t,n)),$.set(`write_file`,(e,t,n)=>TV(e,t,n)),$.set(`delete_file`,(e,t,n)=>pV(e,t,n)),$.set(`move_file`,(e,t,n)=>gV(e,t,n)),$.set(`copy_file`,(e,t,n)=>dV(e,t,n)),$.set(`create_directory`,(e,t,n)=>fV(e,t,n)),$.set(`patch_file`,(e,t,n)=>vV(e,t,n)),$.set(`list_files`,(e,t,n)=>hV(e,t,n)),$.set(`manage_tools`,(e,t,n)=>rV(t,n)),$.set(`list_tool_profiles`,e=>nV(e)),$.set(`fetch_url`,(e,t,n)=>aB(e,t,n,{buildAuthHeaders:Te,fetchImpl:fetch,fetchMaxResponse:s,isRetryableFetchError:zV,post:kt,resolveGitCredentials:we,resolveServiceCredentials:ze,retryableStatusCodes:IV,stripHtml:p,uploadGroupFile:Je,withRetry:FV})),$.set(`fetch_file`,(e,t,n)=>rB(e,t,n,{buildAuthHeaders:Te,fetchImpl:fetch,isRetryableFetchError:zV,post:kt,resolveGitCredentials:we,resolveServiceCredentials:ze,retryableStatusCodes:IV,uploadGroupFile:Je,withRetry:FV,writeGroupFile:te})),$.set(`update_memory`,(e,t,n)=>wV(e,t,n)),$.set(`create_task`,(e,t,n)=>LB(t,n)),$.set(`javascript`,(e,t)=>eV(e,t)),$.set(`activate_skill`,(e,t,n)=>EV(e,t,n)),$.set(`list_tasks`,(e,t,n)=>HB(e,n)),$.set(`update_task`,(e,t,n)=>WB(e,t,n)),$.set(`enable_task`,(e,t,n)=>VB(e,t,n)),$.set(`disable_task`,(e,t,n)=>BB(e,t,n)),$.set(`delete_task`,(e,t,n)=>RB(t,n)),$.set(`run_task`,(e,t,n)=>UB(e,t,n)),$.set(`clear_chat`,(e,t,n)=>KB(n)),$.set(`show_toast`,(e,t)=>sV(t)),$.set(`send_notification`,(e,t,n)=>oV(t,n)),$.set(`create_room`,(e,t)=>SB(t)),$.set(`invite_to_room`,(e,t,n)=>CB(t,n)),$.set(`leave_room`,(e,t,n)=>wB(t,n)),$.set(`list_room_members`,(e,t,n)=>TB(e,t,n)),$.set(`prompt_peer`,(e,t,n)=>DB(e,t,n)),$.set(`list_peers`,(e,t,n)=>OB(e,t,n));const ZV=(e,t,n)=>Jz(e,t,n);$.set(`manage_email`,ZV),$.set(`manage_integration`,ZV),$.set(`email_read_messages`,(e,t,n)=>QV(e,`manage_email`,{...t,action:`read_messages`},n)),$.set(`integration_read_messages`,(e,t,n)=>QV(e,`manage_email`,{...t,action:`read_messages`},n)),$.set(`email_send_message`,(e,t,n)=>QV(e,`manage_email`,{...t,action:`send_message`},n)),$.set(`integration_send_message`,(e,t,n)=>QV(e,`manage_email`,{...t,action:`send_message`},n)),$.set(`remote_mcp_list_tools`,(e,t,n)=>bB(e,t,n,{callRemoteMcpTool:Be,listRemoteMcpTools:Le,McpReauthRequiredError:Re,post:kt})),$.set(`remote_mcp_call_tool`,(e,t,n)=>xB(e,t,n,{callRemoteMcpTool:Be,listRemoteMcpTools:Le,McpReauthRequiredError:Re,post:kt}));for(let e of[`git_clone`,`git_checkout`,`git_branch`,`git_status`,`git_add`,`git_log`,`git_diff`,`git_branches`,`git_list_repos`,`git_delete_repo`,`git_commit`,`git_pull`,`git_push`,`git_merge`,`git_reset`,`git_fetch`,`git_read_file_at_ref`,`git_show`,`git_delete_branch`,`git_init`,`git_tag`,`git_remote`,`git_config`,`git_unstage`])$.set(e,(t,n,r)=>XV(t,e,n,r));$.set(`list_components`,()=>tV()),$.set(`render_component`,(e,t,n)=>aV(t,n)),$.set(`spawn_subagent`,async(e,t,n,r)=>r?.invokeContext?await IB(t,n,r.invokeContext):`Error: spawn_subagent requires an active agent invocation context. This tool cannot be called directly.`),$.set(`get_current_time`,(e,t)=>qB(t)),$.set(`search_files`,(e,t,n)=>SV(e,t,n,{maxFileBytes:E.searchFilesMaxFileBytes,maxFilesVisited:E.searchFilesMaxFilesVisited,skipDirs:E.searchFilesSkipDirsSet})),$.set(`diff_files`,(e,t,n)=>mV(e,t,n)),$.set(`ask_user`,(e,t,n)=>GB(t,n)),$.set(`web_search`,(e,t)=>cV(t)),$.set(`summarize_text`,(e,t,n,r)=>OV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`write_text`,(e,t,n,r)=>kV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`rewrite_text`,(e,t,n,r)=>AV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`proofread_text`,(e,t,n,r)=>jV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`detect_language`,(e,t,n,r)=>MV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`translate_text`,(e,t,n,r)=>NV(t,n,{db:e,invokeContext:r?.invokeContext})),$.set(`embed_text`,(e,t,n,r)=>PV(t,n,{db:e,invokeContext:r?.invokeContext}));async function QV(e,t,n,r,i={}){try{let a=KV(t,i);if(a)return a;let o=$.get(t);return o?await o(e,n,r,i):await qV(e,t,n,r,i,QV)}catch(e){return`Tool error (${t}): ${e instanceof Error?e.message:String(e)}`}}const $V=880803840;var eH=class{emitter;expectedTotalBytes;logEvents;suppressInitialZero;_hasEmitted=!1;hasStreamEvents=!1;urlBytesMap=/* @__PURE__ */ new Map;maxProgressFraction=0;maxLoadedBytes=0;maxEffectiveTotal=0;lastReportedMessage=``;lastReportedFraction=null;constructor(e,t){this.emitter=e,this.expectedTotalBytes=t?.expectedTotalBytes===void 0?$V:t.expectedTotalBytes,this.logEvents=t?.logEvents??!1,this.suppressInitialZero=t?.suppressInitialZero??!1}get hasEmitted(){return this._hasEmitted}markActive(){this._hasEmitted=!0}onStreamProgress(e,t,n,r=!1){if(!Number.isFinite(t)||t<0)return;this.hasStreamEvents=!0,this.urlBytesMap.set(e,{received:t,total:n,complete:r});let i=0,a=0,o=this.urlBytesMap.size>0;for(let e of this.urlBytesMap.values())i+=e.received,e.total!=null&&Number.isFinite(e.total)&&e.total>0&&(a+=e.total),e.complete||(o=!1);let s=this.maxEffectiveTotal,c=this.expectedTotalBytes>0?this.expectedTotalBytes:0,l=Math.max(a,c);this.maxEffectiveTotal=Math.max(this.maxEffectiveTotal,l);let u=this.maxEffectiveTotal;if(this.maxLoadedBytes=Math.max(this.maxLoadedBytes,i),u>0){let e=Math.min(1,Math.max(0,this.maxLoadedBytes/u)),t=o?e:Math.min(.99,e);this.maxProgressFraction=u>s&&s>0?t:Math.max(this.maxProgressFraction,t);let n=`Downloading Prompt API model... (${(this.maxLoadedBytes/1048576).toFixed(1)} / ${(u/1048576).toFixed(1)} MB · ${Math.min(o?100:99,Math.round(this.maxProgressFraction*100))}%)`;this.emit(this.maxProgressFraction,n)}else{let e=`Downloading Prompt API model... (${(this.maxLoadedBytes/1048576).toFixed(1)} MB downloaded)`;this.emit(null,e)}}onProgressEvent(e){let t=Number(e?.loaded),n=Number(e?.total);if(this.logEvents&&console.log(`[PromptApiProgressAggregator] onProgressEvent:`,{loaded:t,total:n,type:e?.type}),!(!Number.isFinite(t)||t<0)&&!(this.hasStreamEvents&&t<=1)&&!(this.suppressInitialZero&&!this._hasEmitted&&t===0&&(!Number.isFinite(n)||n<=1))){if(Number.isFinite(n)&&n>1){let e=this.expectedTotalBytes>0?this.expectedTotalBytes:0,r=Math.max(n,e,this.maxEffectiveTotal);this.maxEffectiveTotal=r,this.maxLoadedBytes=Math.max(this.maxLoadedBytes,t);let i=Math.min(.99,this.maxLoadedBytes/r);this.maxProgressFraction=Math.max(this.maxProgressFraction,i);let a=(this.maxLoadedBytes/1048576).toFixed(1),o=(r/1048576).toFixed(1),s=Math.round(this.maxProgressFraction*100);this.emit(this.maxProgressFraction,`Downloading Prompt API model... (${a} / ${o} MB · ${s}%)`)}else if(t>=0&&t<=1){let e=Math.max(0,Math.min(1,t)),n=e>=1?.99:e;this.maxProgressFraction=Math.max(this.maxProgressFraction,n);let r=Math.max(this.maxEffectiveTotal,this.expectedTotalBytes);if(r>0){let e=(Math.round(this.maxProgressFraction*r)/1048576).toFixed(1),t=(r/1048576).toFixed(1),n=Math.round(this.maxProgressFraction*100);this.emit(this.maxProgressFraction,`Downloading Prompt API model... (${e} / ${t} MB · ${n}%)`)}else{let e=Math.round(this.maxProgressFraction*100);this.emit(this.maxProgressFraction,`Downloading Prompt API model... ${e}%`)}}else if(t>1){this.maxLoadedBytes=Math.max(this.maxLoadedBytes,t);let e=Math.max(this.maxEffectiveTotal,this.expectedTotalBytes);if(e>0){let t=Math.max(this.maxLoadedBytes,e),n=Math.min(.99,this.maxLoadedBytes/t);this.maxProgressFraction=Math.max(this.maxProgressFraction,n);let r=(this.maxLoadedBytes/1048576).toFixed(1),i=(t/1048576).toFixed(1),a=Math.round(this.maxProgressFraction*100);this.emit(this.maxProgressFraction,`Downloading Prompt API model... (${r} / ${i} MB · ${a}%)`)}else{let e=(this.maxLoadedBytes/1048576).toFixed(1);this.emit(null,`Downloading Prompt API model... (${e} MB downloaded)`)}}}}onDone(){this.maxProgressFraction=1,this.emitter(`done`,1,`Prompt API model ready.`)}onError(e){let t=e instanceof Error?e.message:String(e);this.emitter(`error`,null,t)}emit(e,t){this._hasEmitted=!0,(this.lastReportedMessage!==t||this.lastReportedFraction!==e)&&(this.lastReportedMessage=t,this.lastReportedFraction=e,this.emitter(`running`,e,t))}};const tH=re.filter(e=>x.enabledToolNames.includes(e.name));function nH(){return!0}const rH={expectedInputs:[{type:`text`,languages:[`en`]}],expectedOutputs:[{type:`text`,languages:[`en`]}]},iH={key:null,session:null,cleanupTimer:null};function aH(){iH.cleanupTimer&&=(clearTimeout(iH.cleanupTimer),null)}async function oH(){aH(),iH.session&&=(await Promise.resolve(iH.session.destroy?.()).catch(()=>{}),null),iH.key=null}function sH(){aH(),iH.cleanupTimer=setTimeout(()=>{oH()},1e4)}function cH(e){return typeof e?.content==`string`?e.content:Array.isArray(e?.content)?e.content.map(e=>e?.type===`text`?e.text||``:e?.type===`tool_use`?`[TOOL_CALL ${e.name}] ${JSON.stringify(e.input||{})}`:e?.type===`tool_result`?`[TOOL_RESULT ${e.tool_use_id}] ${String(e.content||``)}`:e?.type===`attachment`?`[ATTACHMENT ${e.mediaType}] ${e.fileName} (${e.mimeType})`:``).filter(Boolean).join(`
|
|
1897
1897
|
`):``}function lH(e,t=[]){return F(t,e)}async function uH(e,t,n,r,i){await e({type:`model-download-progress`,payload:{groupId:t,status:n,progress:r,...i?{message:i}:{}}})}async function dH(e,t,n){await e(St(t,`info`,`Prompt API`,n))}function fH(e){let t=(e instanceof Error?e.message:String(e||``)).toLowerCase();return t.includes(`unable to create a session`)&&(t.includes(`availability()`)||t.includes(`availability`)||t.includes(`check the result`))}async function pH(e){if(await new Promise(e=>{setTimeout(()=>{e()},500)}),e?.aborted)throw Error(`Prompt API session creation aborted.`)}function mH(e,t){let n=yH(e,t)||`unknown`,r={model:n};[`model`,`modelId`,`modelName`,`name`,`id`].forEach(t=>{let n=e[t];n!==void 0&&(r[t]=n)});let i=Object.entries(r).map(([e,t])=>`${e}=${t}`).join(`, `),a=e.capabilities||{},o=e.metadata||{},s=Object.keys({...a,...o});return[`resolved model: ${n}`,i?`session fields: ${i}`:`session fields: none`,s.length>0?`capabilities: ${s.join(`, `)}`:`capabilities: none`].join(` | `)}async function hH(e,t){try{let n=await fetch(`https://huggingface.co/api/models/${encodeURI(e)}/tree/main?recursive=true`);if(n.ok){let e=await n.json();if(Array.isArray(e)&&e.length>0){let n=e.filter(e=>e.type===`file`),r=n.filter(e=>[`config.json`,`generation_config.json`,`tokenizer.json`,`tokenizer_config.json`,`special_tokens_map.json`,`added_tokens.json`,`chat_template.jinja`,`tokenizer.model`].includes(e.path)).reduce((e,t)=>e+(Number(t.size)||0),0),i=n.filter(e=>{let n=String(e.path||``).toLowerCase();if(!n.endsWith(`.onnx`)&&!n.includes(`.onnx_data`)&&!n.includes(`.onnx.data`)&&!n.includes(`_data`))return!1;if(t){let e=t.toLowerCase();if(n.includes(`model_${e}.`)||n.includes(`model_${e}_`)||n.includes(`_${e}.`)||n.includes(`_${e}_`)||n.includes(`/${e}/`))return!0}return!1});i.length===0&&(i=n.filter(e=>{let t=String(e.path||``).toLowerCase();return(t.includes(`onnx/model.`)||t.includes(`onnx/model_quantized.`)||t.includes(`model.`))&&(t.endsWith(`.onnx`)||t.includes(`.onnx_data`)||t.includes(`.onnx.data`))}));let a=r+i.reduce((e,t)=>e+(Number(t.size)||0),0);if(a>5242880)return a}}}catch{}let n=[`config.json`,`generation_config.json`,`tokenizer.json`,`tokenizer_config.json`,`special_tokens_map.json`,`onnx/model_${t}.onnx`,`onnx/model_${t}.onnx_data`,`onnx/model_${t}.onnx.data`,`onnx/model.onnx`,`onnx/model.onnx_data`,`onnx/model_quantized.onnx`,`onnx/model_quantized.onnx_data`];try{let t=(await Promise.all(n.map(async t=>{try{let n=await fetch(`https://huggingface.co/${e}/resolve/main/${t}`,{method:`HEAD`});if(n.ok)return parseInt(n.headers.get(`content-length`)||`0`,10)}catch{}return 0}))).reduce((e,t)=>e+t,0);if(t>5242880)return t}catch{}return $V}async function gH(e,t,n,r=[],i=!0,a,o){await ct();let s=ce();if(!s)throw Error(`Prompt API is unavailable in this browser. Enable Prompt API flags in a supported browser (for example Edge Dev/Canary or Chrome with the required flags) or switch provider.`);let c=s,l={...a?.samplingMode?{samplingMode:a.samplingMode}:{},...typeof a?.temperature==`number`&&Number.isFinite(a.temperature)?{temperature:a.temperature}:{},...typeof a?.topK==`number`&&Number.isFinite(a.topK)?{topK:Math.floor(a.topK)}:{}},u=o&&o.length>0?o.map(e=>({name:e.name,description:e.description,inputSchema:e.input_schema,parameters:e.input_schema,...typeof e.execute==`function`?{execute:e.execute}:{}})):void 0,d;try{d=await c.availability({...rH,...l,...u?{tools:u}:{},...r&&r.length>0?{initialPrompts:r}:{}})??`available`}catch{d=`unavailable`}if(await dH(e,t,`availability() returned: ${d}`),d===`unavailable`||d===`no`){await dH(e,t,`Native Prompt API is unavailable (${d}). Falling back to local transformers.js model...`);try{let n=globalThis;n.TRANSFORMERS_CONFIG||={apiKey:`dummy`,device:`wasm`,dtype:`q4f16`,modelName:await ut(),env:{useBrowserCache:!1,useWasmCache:!0,fetch:Me()}};let i=await import(`./prompt-api-polyfill-a8J5aUE5.js`);i?.LanguageModel&&(n.LanguageModel=i.LanguageModel,c=i.LanguageModel);try{d=await c.availability({...rH,...l,...u?{tools:u}:{},...r&&r.length>0?{initialPrompts:r}:{}})??`available`}catch{d=`available`}await dH(e,t,`Polyfill availability() returned: ${d}`)}catch(e){console.warn(`Failed to load prompt-api-polyfill fallback:`,e)}}if(d===`unavailable`||d===`no`)throw Error(`Prompt API model is unavailable on this device/browser. Switch provider or enable the feature flags.`);let f=d===`readily`,p=d!==`readily`&&d!==`available`,m=!!globalThis.TRANSFORMERS_CONFIG||d===`available`&&!(`LanguageModel`in globalThis)&&!globalThis.ai?.languageModel,h=0;if(m){let e=globalThis.TRANSFORMERS_CONFIG||{};h=await hH(e.modelName||await ut(),e.dtype||`q4`)}let g=new eH((n,r,i)=>{uH(e,t,n,r,i)},{expectedTotalBytes:h,suppressInitialZero:!0,logEvents:!1});p&&(g.markActive(),await uH(e,t,`running`,d===`downloading`?null:0,`Downloading Prompt API model...`));let _,v=d;try{Ne((e,t,n,r)=>{g.onStreamProgress(e,t,n,!!r)});let i=f?{}:{monitor(e){e&&typeof e.addEventListener==`function`&&e.addEventListener(`downloadprogress`,e=>{g.onProgressEvent(e)})}};for(let a=1;a<=4;a++){await dH(e,t,`Creating Prompt API session... (attempt ${a}/4)`);try{_=await ht(c,{...rH,...l,...u?{tools:u}:{},...r.length>0?{initialPrompts:r}:{},signal:n,...i});break}catch(i){if(!(v!==`readily`&&v!==`available`&&v!==`unavailable`&&v!==`no`&&fH(i))||a>=4)throw i;await dH(e,t,`Session creation failed while model is still downloading; retrying shortly...`),v=await c.availability({...rH,...l,...u?{tools:u}:{},...r&&r.length>0?{initialPrompts:r}:{}}),await dH(e,t,`availability() recheck returned: ${v}`),v!==`readily`&&v!==`available`&&v!==`unavailable`&&v!==`no`&&(g.hasEmitted||await uH(e,t,`running`,v===`downloading`?null:0,`Downloading Prompt API model...`)),await pH(n)}}}catch(n){let r=n instanceof Error?n.message:String(n);throw i&&g.onError(n),await dH(e,t,`Session creation failed: ${r}`),n}finally{Pe()}return await dH(e,t,mH(_,c)),(p||g.hasEmitted)&&g.onDone(),_}function _H(e){let t=(e instanceof Error?e.message:String(e||``)).toLowerCase();return t.includes(`monitor option`)||t.includes(`downloadprogresscallback`)||t.includes(`dictionary`)||t.includes(`initialprompts`)||t.includes(`not supported`)&&(t.includes(`option`)||t.includes(`monitor`))}function vH(e){let t=e.toLowerCase();return t.includes(`gemma4`)||t.includes(`gemma 4`)||t.includes(`gemma-4`)?`Gemma 4`:t.includes(`nano_v3`)||t.includes(`gemini nano`)||t.includes(`gemini-nano`)||t.includes(`prompt_api`)?`Gemini Nano`:e}function yH(e,t){let n=[e.model,e.modelId,e.modelName,e.id,e.name,t.model,t.modelId,t.modelName,t.id,t.name].find(e=>typeof e==`string`&&e.trim());return n?vH(n.trim()):`Gemini Nano`}async function bH(e,t,n,r,i,a,o=[]){await ct();let s=ce();if(!s)throw Error(`Prompt API is unavailable in this browser. Enable Prompt API flags in a supported browser (for example Edge Dev/Canary or Chrome with the required flags) or switch provider.`);let c=lH(n,o),l={...i?.samplingMode?{samplingMode:i.samplingMode}:{},...typeof i?.temperature==`number`&&Number.isFinite(i.temperature)?{temperature:i.temperature}:{},...typeof i?.topK==`number`&&Number.isFinite(i.topK)?{topK:Math.floor(i.topK)}:{}},u=a&&a.length>0?a.map(e=>({name:e.name,description:e.description,inputSchema:e.input_schema,parameters:e.input_schema})):void 0;return await gH(e,t,r,c,!1,i,a).catch(async n=>{if(!_H(n))throw n;let i;try{i=await ht(s,{...rH,...l,...u?{tools:u}:{},...c.length>0?{initialPrompts:c}:{},signal:r})}catch(n){throw await uH(e,t,`error`,null,n instanceof Error?n.message:String(n)),n}let a=await s.availability({...rH,...l,...u?{tools:u}:{},...c&&c.length>0?{initialPrompts:c}:{}}).catch(()=>`available`);return a!==`readily`&&a!==`available`&&await uH(e,t,`done`,1,`Prompt API model ready.`),i})}async function xH(e,t,n,r,i,a,o=[]){let s=String(n||``)+(o.length?JSON.stringify(o):``);if(aH(),iH.session&&iH.key===s&&typeof iH.session.clone==`function`)try{let e=await iH.session.clone();return sH(),{session:e,destroyAfterUse:!0}}catch{await oH()}await oH();let c=await bH(e,t,n,r,i,a,o);if(typeof c.clone==`function`){iH.session=c,iH.key=s,sH();try{return{session:await c.clone(),destroyAfterUse:!0}}catch{}}return{session:c,destroyAfterUse:!0}}function SH(e,t,n=[],r=!0){let i=r?[`SYSTEM INSTRUCTIONS:`,e,``,`CONVERSATION:`]:[`CONVERSATION:`];for(let e of t){let t=e?.role===`assistant`?`ASSISTANT`:`USER`;if(typeof e?.content==`string`)i.push(`${t}: ${e.content}`);else if(Array.isArray(e?.content)){let n=e.content.map(e=>e?.type===`text`?e.text||``:e?.type===`tool_use`?`[TOOL_CALL ${e.name}] ${JSON.stringify(e.input||{})}`:e?.type===`tool_result`?`[TOOL_RESULT ${e.tool_use_id}] ${String(e.content||``)}`:e?.type===`attachment`?`[ATTACHMENT ${e.mediaType}] ${e.fileName} (${e.mimeType})`:``).filter(Boolean).join(`
|
|
1898
1898
|
`);i.push(`${t}: ${n}`)}else i.push(`${t}:`)}if(n.length>0){i.push(``,`TOOL RESULT HINTS:`);for(let e of n)i.push(`- ${e}`)}return i.join(`
|
|
1899
1899
|
`)}function CH(e){let t=lt(String(e||``),`prompt_api`).trim();if(!t)return null;let n=[...t.matchAll(/<tool_call>([\s\S]*?)<\/tool_call>/g)];if(n.length>0){let e=[];for(let t of n)try{let n=JSON.parse(t[1].trim()),r=n.name||n.function?.name;r&&e.push({id:n.id||`call_${Date.now()}_${e.length}`,name:r,input:n.arguments||n.function?.arguments||n.parameters||n.input||{}})}catch{}if(e.length>0)return{type:`tool_use`,tool_calls:e}}let r=null;try{r=JSON.parse(t)}catch{let e=t.indexOf(`{`),n=t.lastIndexOf(`}`);if(e>=0&&n>e)try{r=JSON.parse(t.slice(e,n+1))}catch{r=null}}if(r&&typeof r==`object`){if(r.type===`tool_use`||Array.isArray(r.tool_calls))return{type:`tool_use`,tool_calls:Array.isArray(r.tool_calls)?r.tool_calls:[],response:typeof r.response==`string`?r.response:void 0};let e=typeof r.response==`string`?r.response:typeof r.text==`string`?r.text:typeof r.message==`string`?r.message:typeof r.content==`string`?r.content:typeof r.answer==`string`?r.answer:void 0;if(e!==void 0||r.type===`response`)return{type:`response`,response:e}}return null}async function wH(e,t,n,r,i,a,o,s,c,l){let u=s||tH,d=ce();await a(St(t,`info`,`Starting`,`Provider: Prompt API (initializing) · ${u.length} tools`));let f=r.length>1?r.slice(0,-1):[],p=r.length>0?r[r.length-1]:null,{session:m,destroyAfterUse:h}=await xH(a,t,n,o,l,u,f),g=yH(m,d);await a(St(t,`info`,`Provider`,`Provider: Prompt API (${g||`On-device`}) · ${u.length} tools`)),g||await a(St(t,`info`,`Model`,`Prompt API runtime did not expose an exact model id.`));try{let n={type:`object`,additionalProperties:!1,properties:{type:{type:`string`,enum:[`response`,`tool_use`]},response:{type:`string`},tool_calls:{type:`array`,items:{type:`object`,additionalProperties:!1,properties:{id:{type:`string`},name:{type:`string`,enum:u.map(e=>e.name)},input:{type:`object`}},required:[`name`,`input`]}}},required:[`type`]},i=[...r];for(let s=0;s<12;s++){await a(St(t,`api-call`,`Prompt API call #${s+1}`,`${i.length} messages in context`));let l;if(s===0)l=cH(p)||`Continue.`;else{let e=i[i.length-1],t=Array.isArray(e?.content)?e.content.map(e=>`[TOOL_RESULT ${e.tool_use_id}] ${typeof e.content==`string`?e.content:JSON.stringify(e.content)}`):[String(e?.content||``)],n=[...r].reverse().find(e=>e?.role===`user`&&typeof e.content==`string`)?.content||``;l=[`Tool execution results:`,...t,``,n?`Original user request: "${n}"`:``,`If the user's original request is NOW fully satisfied, provide a final response.`,`Otherwise, call the next required tool.`].filter(Boolean).join(`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,n as t}from"./rolldown-runtime-DBVvNlSN.js";import{t as n}from"./browser-B1SoUj6D.js";var r=/* @__PURE__ */ e(n(),1);const i=[{id:`claude-fable-5`,provider:`anthropic`,contextWindow:1e6,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!0,supportsPromptCaching:!0},{id:`claude-fable-5.1`,provider:`anthropic`,contextWindow:1e6,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!0,supportsPromptCaching:!0},{id:`claude-fable`,provider:`anthropic`,contextWindow:1e6,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!0,supportsPromptCaching:!0},{id:`claude-sonnet-5`,provider:`anthropic`,contextWindow:1e6,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!0,supportsPromptCaching:!0},{id:`claude-opus-5`,provider:`anthropic`,contextWindow:1e6,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!0,supportsPromptCaching:!0},{id:`claude-opus-4.8`,provider:`anthropic`,contextWindow:1e6,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!0,supportsPromptCaching:!0},{id:`claude-haiku-5`,provider:`anthropic`,contextWindow:1e6,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsPromptCaching:!0},{id:`claude-mythos-5`,provider:`anthropic`,contextWindow:1e6,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!0,supportsPromptCaching:!0},{id:`claude-mythos`,provider:`anthropic`,contextWindow:1e6,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!0,supportsPromptCaching:!0},{id:`gpt-6-astra`,provider:`openai`,contextWindow:105e4,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsAudio:!0,supportsVideo:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`gpt-6-sol`,provider:`openai`,contextWindow:105e4,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`gpt-6-luna`,provider:`openai`,contextWindow:1e6,maxOutput:64e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`gpt-6`,provider:`openai`,contextWindow:105e4,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`astra`,provider:`openai`,contextWindow:105e4,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsAudio:!0,supportsVideo:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`gpt-5`,provider:`openai`,contextWindow:4e5,maxOutput:128e3,supportsImages:!0,supportsDocuments:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`gemini-3.5-pro`,provider:`google`,contextWindow:2097152,maxOutput:65536,supportsImages:!0,supportsDocuments:!0,supportsAudio:!0,supportsVideo:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`gemini-3.5-flash`,provider:`google`,contextWindow:1048576,maxOutput:65536,supportsImages:!0,supportsDocuments:!0,supportsAudio:!0,supportsVideo:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`gemini-3.8-flash`,provider:`google`,contextWindow:1048576,maxOutput:65536,supportsImages:!0,supportsDocuments:!0,supportsAudio:!0,supportsVideo:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`gemini-2.5-pro`,provider:`google`,contextWindow:1048576,maxOutput:65536,supportsImages:!0,supportsDocuments:!0,supportsAudio:!0,supportsVideo:!0,supportsThinking:!1,supportsPromptCaching:!1},{id:`gemini-2.5-flash`,provider:`google`,contextWindow:1048576,maxOutput:65536,supportsImages:!0,supportsDocuments:!0,supportsAudio:!0,supportsVideo:!0,supportsThinking:!1,supportsPromptCaching:!1}];let a;function o(e){a=e}function s(e){let t=e||a;if(t)for(let e of i)t.registerModelInfo(e.id,{contextWindow:e.contextWindow,maxOutput:e.maxOutput,supportsImageInput:e.supportsImages,supportsDocumentInput:e.supportsDocuments,...e.supportsAudio!==void 0&&{supportsAudioInput:e.supportsAudio},...e.supportsVideo!==void 0&&{supportsVideoInput:e.supportsVideo},...e.supportsPromptCaching!==void 0&&{supportsPromptCaching:e.supportsPromptCaching}})}const c=new class{loading=!1;models=/* @__PURE__ */ new Map;getModelInfo(e){if(!e||typeof e!=`string`)return null;let t=e.toLowerCase().trim(),n=this.models.get(t);if(n)return n;if(t.includes(`/`)){let e=t.split(`/`).pop();if(e&&this.models.has(e))return this.models.get(e)}else for(let[e,n]of this.models.entries())if(e.endsWith(`/${t}`))return n;if(t.includes(`:`)){let e=t.split(`:`)[0],n=this.getModelInfo(e);if(n)return n}return null}registerModelInfo(e,t){this.models.set(e.toLowerCase(),t)}clear(){this.models.clear()}seedStaticCatalog(){s(this)}async fetchModelInfo(e,t,n){if(e.modelsUrl){this.loading=!0;try{let r=new Headers;if(r.set(`Content-Type`,`application/json`),e.headers)for(let[t,n]of Object.entries(e.headers))r.set(t,n);if(n)for(let[e,t]of Object.entries(n))r.set(e,t);if(t&&e.apiKeyHeader){let n=e.apiKeyHeaderFormat;r.set(e.apiKeyHeader,n?n.replace(`{key}`,t):t)}let i=await fetch(e.modelsUrl,{headers:r});if(!i.ok)throw Error(`HTTP ${i.status} ${i.statusText}`);let a=await i.json(),o=Array.isArray(a.data)?a.data:Array.isArray(a.models)?a.models:[];for(let e of o){if(!e.id)continue;let t=e.context_length??e.context_window??0,n=e.max_completion_tokens||e.per_request_limits?.completion_tokens||e.top_provider?.max_completion_tokens||null,r=typeof e.supports_tools==`boolean`?e.supports_tools:typeof e.supportsTools==`boolean`?e.supportsTools:void 0,i=this.extractModalities(e,`input`),a=this.extractModalities(e,`output`),o=this.modalitiesInclude(i,`image`,`vision`),s=this.modalitiesInclude(i,`audio`,`voice`,`hearing`),c=this.modalitiesInclude(i,`video`),l=this.modalitiesInclude(i,`document`,`pdf`,`file`)||(typeof e.supports_document_input==`boolean`?e.supports_document_input:typeof e.supportsDocumentInput==`boolean`?e.supportsDocumentInput:void 0),u=e.id===`openrouter/free`||this.supportedParametersInclude(e,`image`,`vision`,`audio`,`tool`,`structured`),d=this.extractReasoning(e),f=typeof e.supports_prompt_caching==`boolean`?e.supports_prompt_caching:typeof e.supportsPromptCaching==`boolean`?e.supportsPromptCaching:this.supportedParametersInclude(e,`cache_control`,`prompt_caching`)?!0:void 0;!t&&Array.isArray(e.providers)&&e.providers.length>0&&(t=e.providers[0]?.context_length||0),this.registerModelInfo(e.id,{contextWindow:t,maxOutput:n,...r!==void 0&&{supportsTools:r},...i.length>0&&{inputModalities:i},...a.length>0&&{outputModalities:a},...o!==void 0&&{supportsImageInput:o},...s!==void 0&&{supportsAudioInput:s},...c!==void 0&&{supportsVideoInput:c},...l!==void 0&&{supportsDocumentInput:l},...d&&{reasoning:d},...u&&{routesByRequestFeatures:u},...f!==void 0&&{supportsPromptCaching:f}})}o.length>0&&console.log(`[ModelRegistry] Registered ${o.length} models for provider "${e.id}"`)}catch(t){console.error(`[ModelRegistry] Error fetching models for ${e.id}:`,t)}finally{this.loading=!1}}}extractModalities(e,t){let n=t===`input`?e.input_modalities||e.inputModalities:e.output_modalities||e.outputModalities,r=e.architecture||{},i=t===`input`?r.input_modalities||r.inputModalities:r.output_modalities||r.outputModalities,a=typeof r.modality==`string`?r.modality:``,o=this.parseArchitectureModality(a,t),s=[...this.normalizeStringArray(n),...this.normalizeStringArray(i),...o];return Array.from(new Set(s))}extractReasoning(e){let t=e?.reasoning;if(!t||typeof t!=`object`)return;let n=this.normalizeStringArray(t.supported_efforts),r=typeof t.default_effort==`string`?t.default_effort.toLowerCase():void 0,i=typeof t.default_enabled==`boolean`?t.default_enabled:void 0,a=typeof t.supports_max_tokens==`boolean`?t.supports_max_tokens:void 0,o=typeof t.mandatory==`boolean`?t.mandatory:void 0;if(n.length!==0||r!==void 0||i!==void 0||a!==void 0||o!==void 0)return{...n.length>0&&{supportedEfforts:n},...r!==void 0&&{defaultEffort:r},...i!==void 0&&{defaultEnabled:i},...a!==void 0&&{supportsMaxTokens:a},...o!==void 0&&{mandatory:o}}}modalitiesInclude(e,...t){if(e.length!==0)return t.some(t=>e.some(e=>e.includes(t)))}normalizeStringArray(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).map(e=>e.toLowerCase()):[]}parseArchitectureModality(e,t){if(!e)return[];let[n=``,r=``]=e.toLowerCase().split(`->`).map(e=>e.trim());return(t===`input`?n:r).split(/[+,/\s]+/).map(e=>e.trim()).filter(Boolean)}supportedParametersInclude(e,...t){let n=this.normalizeStringArray(e.supported_parameters||e.supportedParameters);return t.some(e=>n.some(t=>t.includes(e)))}};o(c);const l=`br:main`,u=`shadow-claw-static-routing`;let d=null;function f(){let e=w(`/static-routing.json`);if(typeof window<`u`&&window.location?.origin)try{return new URL(e,window.location.origin).toString()}catch{return e}return e}function p(e){return e.replace(/^\/+|\/+$/g,``)}function m(e){let t=p(e);return t.endsWith(`/index.html`)?t=t.slice(0,-11):t.endsWith(`index.html`)&&(t=t.slice(0,-10)),p(t)}function h(e){let t=p(e),n=t.split(`/`).filter(Boolean);if(n.length===0)return null;let r=n[0].toLowerCase();if(r===`pages`){if(n.length>=3){let e=n[1];return{page:`pages`,groupId:e===`main`?`br:main`:e.startsWith(`br-`)?`br:${e.slice(3)}`:e,path:n.slice(2).join(`/`)}}return{page:`pages`,groupId:`br:main`,path:n.slice(1).join(`/`)}}if(r===`files`){let e=n[1]||`main`;return{page:`files`,groupId:e===`main`?`br:main`:e.startsWith(`br-`)?`br:${e.slice(3)}`:e,path:n.slice(2).join(`/`)||void 0}}if(r===`chat`){let e=n[1]||`main`;return{page:`chat`,groupId:e===`main`?`br:main`:e.startsWith(`br-`)?`br:${e.slice(3)}`:e}}if(r===`tasks`){let e=n[1]||`main`;return{page:`tasks`,groupId:e===`main`?`br:main`:e.startsWith(`br-`)?`br:${e.slice(3)}`:e}}return r===`main`?{page:`pages`,groupId:`br:main`,path:n.slice(1).join(`/`)}:{page:`pages`,groupId:`br:main`,path:t}}function g(){if(typeof document<`u`){let e=document.getElementById(u);if(e&&e.textContent)try{let t=JSON.parse(e.textContent);if(t&&typeof t==`object`&&t.routes)return t}catch(e){console.warn(`Failed to parse embedded static routing manifest:`,e)}}return null}async function ee(){if(d)return d;let e=g(),t=f();if(!e&&typeof fetch==`function`){let n=[t,w(`/pages/routes.json`),w(`/routes.json`),w(`/pages/resources/routes.json`)];for(let t of n)try{let n=await fetch(t);if(n.ok){let t=await n.json();if(t&&typeof t==`object`&&t.routes){e=t;break}}}catch{}}return e?(e.routes||(e.routes={}),d=e,d):{routes:{}}}function _(e,t){if(k(e))return null;let n=t||d||g();if(!n||!n.routes)return null;let r=m(e);for(let[e,t]of Object.entries(n.routes))if(t&&t.prettyPath&&m(t.prettyPath)===r)return h(e);return null}async function te(e){if(k(e))return null;let t=_(e);if(t)return t;let n=await ee();if(!n||!n.subRoutes)return null;let r=n,i=f(),a=5;for(;r&&r.subRoutes&&a>0;){let t=null,o=m(e);if(Array.isArray(r.subRoutes))for(let e of r.subRoutes){let n=e.replace(/\/routes\.json$/,``);if(o.startsWith(n)){t=e;break}}else if(typeof r.subRoutes==`object`){let e=``;for(let[n,i]of Object.entries(r.subRoutes)){let r=m(n);o.startsWith(r)&&r.length>e.length&&(e=r,t=i)}}if(!t||typeof fetch!=`function`)break;try{let o=t;try{if(t.startsWith(`http://`)||t.startsWith(`https://`))o=t;else if(t.startsWith(`/`)){let e=w(t);o=typeof window<`u`&&window.location?.origin?new URL(e,window.location.origin).toString():e}else o=new URL(t,i).toString()}catch{}let s=await fetch(o);if(!s.ok)break;let c=await s.json();if(!c||typeof c!=`object`)break;c.routes&&Object.assign(n.routes,c.routes);let l=_(e,n);if(l)return l;r=c,i=o,a--}catch(e){console.warn(`Failed to lazy load subRoute:`,t,e);break}}return null}function v(e,t){let n=t||d||g();if(!n||!n.routes)return null;let{page:r,groupId:i,path:a}=e;if(!r)return null;let o=i===`br:main`||i===`main`?`main`:i?.startsWith(`br:`)?`br-${i.slice(3)}`:i,s=[];if(r===`pages`&&a){let e=p(a);o===`main`?(s.push(`/pages/main/${e}`),s.push(`pages/main/${e}`),s.push(`/pages/br:main/${e}`),s.push(`/pages/br-main/${e}`),s.push(`/main/${e}`),s.push(`main/${e}`),s.push(`/${e}`),s.push(e)):o&&(s.push(`/pages/${o}/${e}`),s.push(`pages/${o}/${e}`),s.push(`/pages/${i}/${e}`))}else if(r===`pages`&&!a)o===`main`||!o?s.push(`/pages/main/index.html`,`pages/main/index.html`,`/pages/br:main/index.html`,`/pages/br-main/index.html`,`/main/index.html`,`main/index.html`,`/index.html`,`index.html`,`/pages/main`,`pages/main`,`/pages`,`pages`):o&&s.push(`/pages/${o}/index.html`,`pages/${o}/index.html`,`/pages/${i}/index.html`);else if(r===`files`&&a){let e=p(a);o&&(s.push(`/files/${o}/${e}`),s.push(`files/${o}/${e}`),s.push(`/files/${i}/${e}`))}for(let e of s){let t=p(e);for(let[e,r]of Object.entries(n.routes))if(p(e)===t&&r?.prettyPath)return r.prettyPath}if(r===`pages`&&!a){for(let e of Object.values(n.routes))if(e&&e.prettyPath===`/`)return`/`}return null}async function ne(e){return v(e)||v(e,await ee())}function re(e){if(!e)return null;if(typeof e==`object`)return typeof e.path==`string`&&e.path.trim().length>0?{groupId:e.groupId||l,path:e.path.trim()}:null;if(typeof e==`string`){let t=e.trim();if(!t)return null;try{let e=JSON.parse(t);if(e&&typeof e.path==`string`&&e.path.trim().length>0)return{groupId:e.groupId||l,path:e.path.trim()}}catch{}let n=h(t);if(n&&n.path)return{groupId:n.groupId||l,path:n.path};let r=p(t);if(r)return{groupId:l,path:r}}return null}let y=null;function b(e){return e===`br:main`?`main`:e.startsWith(`br:`)?`br-${e.slice(3)}`:encodeURIComponent(e)}function x(e){try{return decodeURIComponent(e)}catch{return e}}const ie=/* @__PURE__ */ new Set([`chat`,`files`,`tasks`,`pages`,`settings`,`tools`,`channels`]);function ae(){y=null}typeof globalThis<`u`&&(globalThis.__applyBasePathCacheReset=ae);function S(){let e=typeof window<`u`?window:typeof self<`u`?self:globalThis;if(e&&e.__SHADOWCLAW_DEPLOY_ID__){let t=String(e.__SHADOWCLAW_DEPLOY_ID__).trim();if(t)return t.replace(/[^a-zA-Z0-9_-]/g,`-`)}let t=globalThis.process;if(t&&t.env&&t.env.SHADOWCLAW_DEPLOY_ID){let e=String(t.env.SHADOWCLAW_DEPLOY_ID).trim();if(e)return e.replace(/[^a-zA-Z0-9_-]/g,`-`)}let n=C();return!n||n===`/`?``:n.replace(/^\/+|\/+$/g,``).replace(/[^a-zA-Z0-9_-]/g,`-`)}function C(){if(y!==null)return y;if((typeof window>`u`||globalThis.WorkerGlobalScope!==void 0&&typeof self<`u`&&self instanceof globalThis.WorkerGlobalScope)&&typeof self<`u`&&self.location){let e=(self.location.pathname||`/`).split(`/`).filter(Boolean);if(e.length<=1)return y=`/`,y;let t=e[0].toLowerCase(),n=t===`service-worker.js`||t===`sw.js`||t===`manifest.json`||t===`sitemap.xml`||t===`favicon.ico`||t===`index.html`||t===`service-worker`||t===`assets`||t===`dist`||t===`public`;if(n&&e.length===2)return y=`/`,y;if(!n)return y=`/`+e[0]+`/`,y}let e=typeof window<`u`&&window.location?window.location:typeof self<`u`&&self.location?self.location:null;if(!e)return`/`;if(typeof document<`u`&&typeof document.querySelector==`function`){let t=document.querySelector(`base[href]`);if(t){let n=t.getAttribute(`href`);if(n)try{let t=new URL(n,e.origin).pathname;return t.endsWith(`/`)||(t+=`/`),y=t,y}catch{}}}let t=e.pathname||`/`;if(t===`/`)return y=`/`,y;let n=t.split(`/`).filter(Boolean),r=n.findIndex(e=>ie.has(e.toLowerCase()));return r>=0?r===0?(y=`/`,y):(y=`/`+n.slice(0,r).join(`/`)+`/`,y):_(t)?(y=`/`,y):n.length===1&&!t.includes(`.`)?(y=`/`+n[0]+`/`,y):(y=`/`,y)}function w(e){let t=C();if(t===`/`)return e;let[n,...r]=e.split(/(?=[?#])/);if(n===t||n.startsWith(t))return e;let i=t+(n.startsWith(`/`)?n.slice(1):n);return i=i.replace(/\/{2,}/g,`/`),i+r.join(``)}function oe(e){return e.replace(/^\/+|\/+$/g,``)}function T(e){return e&&(e===`main`?`br:main`:e.startsWith(`br-`)?`br:${e.slice(3)}`:e)}function E(e){if(!e)return;let t=oe(e.replace(/\\/g,`/`));if(!t)return;let n=t.split(`/`).filter(Boolean).filter(e=>e!==`.`&&e!==`..`);if(n.length!==0)return n.join(`/`)}function D(e){let t=e.anchor?`#${e.anchor.replace(/^#/,``)}`:``,n=v(e);if(n){let e=n;return e.startsWith(`/`)||(e=`/${e}`),`${e}${t}`}switch(e.page){case`chat`:return`${e.groupId?`/chat/${b(e.groupId)}/`:`/chat`}${t}`;case`tasks`:return`${e.groupId?`/tasks/${b(e.groupId)}/`:`/tasks`}${t}`;case`files`:{let n=E(e.path);return e.groupId?n?`/files/${b(e.groupId)}/${n}${t}`:`/files/${b(e.groupId)}/${t}`:`/files${t}`}case`pages`:{let n=E(e.path);return n?e.groupId?`/pages/${b(e.groupId)}/${n}${t}`:`/pages/${n}${t}`:`/pages${t}`}case`tools`:return`/settings/tool-configuration${t}`;case`channels`:return`/settings/channel-configuration${t}`;default:return`/settings${t}`}}const se=/* @__PURE__ */ new Set([`html`,`htm`,`xhtml`,`md`,`markdown`]);function O(e){if(!e)return!1;let t=e.split(/[?#]/,1)[0].replace(/\\/g,`/`).split(`/`).pop()||``,n=t.lastIndexOf(`.`);if(n<=0)return!1;let r=t.slice(n+1).toLowerCase();return!se.has(r)}function k(e){if(!e)return!1;let t=e.replace(/^\/+|\/+$/g,``).toLowerCase();if(t===`feed`||t.startsWith(`feed/`)||t.endsWith(`/feed`)||t.includes(`/feed/`)){let e=t.split(`/`).pop()||``;return!(e.includes(`.`)&&!e.endsWith(`.xml`)&&!e.endsWith(`.html`))}return!!(t.split(`/`).pop()||``).endsWith(`.xml`)}function ce(e,t){if(k(e.pathname))return null;let n=e.pathname,r=C();r!==`/`&&n.startsWith(r)&&(n=`/`+n.slice(r.length));let i=_(n);if(i){let t=e.hash?e.hash.replace(/^#/,``):void 0;return{...i,anchor:t||i.anchor}}let a=n.split(`/`).filter(Boolean).map(e=>x(e)),o=e.hash?e.hash.replace(/^#/,``):void 0;if(a.length===0||a.length===1&&a[0]===`index.html`)return{page:`pages`,groupId:T(t),anchor:o};let s=a[0].toLowerCase();if(s===`chat`)return{page:`chat`,groupId:T(a[1]||t),anchor:o};if(s===`tasks`)return{page:`tasks`,groupId:T(a[1]||t),anchor:o};if(s===`files`)return{page:`files`,groupId:T(a[1]||t),path:E(a.slice(2).join(`/`)),anchor:o};if(s===`pages`){if(a.includes(`assets`))return null;if(a.length>=3){let e=E(a.slice(2).join(`/`));return O(e)?null:{page:`pages`,groupId:T(a[1]),path:e,anchor:o}}let e=E(a.slice(1).join(`/`));return e&&O(e)?null:{page:`pages`,groupId:T(t),path:e,anchor:o}}if(s===`settings`){let e=(a[1]||``).toLowerCase();return e===`tool-configuration`?{page:`tools`,anchor:o}:e===`channel-configuration`?{page:`channels`,anchor:o}:{page:`settings`,anchor:o}}return s===`tools`?{page:`tools`,anchor:o}:s===`channels`?{page:`channels`,anchor:o}:null}function le(e){if(k(e))return!1;let t=e,n=C();if(n!==`/`&&t.startsWith(n))t=`/`+t.slice(n.length);else if(n!==`/`&&!t.startsWith(n))return!1;let r=t.split(`/`).filter(Boolean);if(r.length===0)return!0;let i=r[0].toLowerCase();if(i===`pages`){if(r.includes(`assets`))return!1;let e=r[r.length-1];return!O(e)}return!!(ie.has(i)||_(t))}async function ue(e,t){if(k(e.pathname))return null;let n=ce(e,t);if(n)return n;let r=e.pathname,i=C();i!==`/`&&r.startsWith(i)&&(r=`/`+r.slice(i.length));let a=await te(r);if(a){let t=e.hash?e.hash.replace(/^#/,``):void 0;return{...a,anchor:t||a.anchor}}return null}function de(e,t,n){let r=e.trim();if(!r||r.startsWith(`javascript:`))return null;if(r.startsWith(`/`))try{let e=w(r);return new URL(e,n)}catch{return null}let i=new URL(t,n);try{return new URL(r,i)}catch{return null}}function fe(e,t){let n=E(t);if(!n)return D({page:`files`,groupId:e});let r=n.split(`/`);r.pop();let i=r.length>0?`${r.join(`/`)}/`:``;return`/files/${b(e)}/${i}`}function pe(e){let t=e,n=C();n!==`/`&&t.startsWith(n)&&(t=`/`+t.slice(n.length));let r=t.split(`/`).filter(Boolean).map(e=>x(e));if(r.length<3||r[0]!==`files`)return null;let i=T(r[1])||r[1],a=E(r.slice(2).join(`/`));return!i||!a?null:{groupId:i,path:a}}var me=/* @__PURE__ */ t({AGENTFILE_PROXY_MODELS_URL:()=>we,AGENTFILE_PROXY_TOOLS_URL:()=>AGENTFILE_PROXY_TOOLS_URL,AGENTFILE_PROXY_URL:()=>Ce,ASSISTANT_NAME:()=>A,BASH_DEFAULT_TIMEOUT_SEC:()=>900,BASH_MAX_TIMEOUT_SEC:()=>R,BEDROCK_PROXY_MODELS_URL:()=>ye,BEDROCK_PROXY_URL:()=>ve,CONFIG_KEYS:()=>Ne,CONTEXT_WINDOW_SIZE:()=>50,DB_VERSION:()=>2,DEFAULT_CONTROL_PLANE_ENABLED:()=>!1,DEFAULT_CONTROL_PLANE_TRANSPORT:()=>`sse`,DEFAULT_DEV_HOST:()=>Pe,DEFAULT_DEV_IP:()=>DEFAULT_DEV_IP,DEFAULT_DEV_PORT:()=>Fe,DEFAULT_FILES_UPLOAD_APPEND_ULID:()=>!1,DEFAULT_GROUP_ID:()=>K,DEFAULT_MAX_ITERATIONS:()=>50,DEFAULT_MAX_TOKENS:()=>M,DEFAULT_PROMPT_API_BACKEND:()=>DEFAULT_PROMPT_API_BACKEND,DEFAULT_PROMPT_API_DTYPE_STRATEGY:()=>DEFAULT_PROMPT_API_DTYPE_STRATEGY,DEFAULT_PROMPT_API_FALLBACK_MODEL:()=>Le,DEFAULT_PROVIDER:()=>F,DEFAULT_SERVER_GROUP_ID:()=>DEFAULT_SERVER_GROUP_ID,DEFAULT_SUBAGENT_MAX_PARALLEL:()=>5,DEFAULT_SUBAGENT_WORKSPACE_MODE:()=>Ie,DEFAULT_TASK_SERVER_ENABLED:()=>!1,DEFAULT_TASK_SERVER_URL:()=>$,DEFAULT_TRANSFORMERS_JS_BACKEND:()=>DEFAULT_TRANSFORMERS_JS_BACKEND,DEFAULT_TRANSFORMERS_JS_DTYPE_STRATEGY:()=>DEFAULT_TRANSFORMERS_JS_DTYPE_STRATEGY,DEFAULT_TRANSFORMERS_JS_MODEL:()=>DEFAULT_TRANSFORMERS_JS_MODEL,DEFAULT_VM_BOOT_HOST:()=>B,DEFAULT_VM_NETWORK_RELAY_URL:()=>z,FETCH_MAX_RESPONSE:()=>L,GENERAL_ACCOUNT_PROVIDER_CAPABILITIES:()=>X,IMESSAGE_POLL_TIMEOUT:()=>25,IMESSAGE_REQUEST_TIMEOUT_MS:()=>ge,LEGACY_DB_NAME:()=>V,LEGACY_OPFS_ROOT:()=>U,LLAMAFILE_PROXY_MODELS_URL:()=>Se,LLAMAFILE_PROXY_TOOLS_URL:()=>LLAMAFILE_PROXY_TOOLS_URL,LLAMAFILE_PROXY_URL:()=>Y,MODEL_OUTPUT_LIMITS:()=>N,OAUTH_PROVIDER_DEFINITIONS:()=>De,OLLAMA_PROXY_MODELS_URL:()=>Ee,OLLAMA_PROXY_URL:()=>Te,OPFS_ROOT:()=>G,PEERJS_DEFAULT_HOST:()=>_e,PEERJS_DEFAULT_PATH:()=>`/`,PEERJS_DEFAULT_PORT:()=>443,PEERJS_DEFAULT_SECURE:()=>!0,PROCESS_LOOP_INTERVAL:()=>100,PROVIDERS:()=>Z,SCHEDULER_INTERVAL:()=>I,TELEGRAM_API_BASE:()=>q,TELEGRAM_MAX_LENGTH:()=>he,TELEGRAM_POLL_TIMEOUT:()=>30,TELEGRAM_PROXY_BASE:()=>J,TRANSFORMERS_JS_PROXY_MODELS_URL:()=>xe,TRANSFORMERS_JS_PROXY_URL:()=>be,buildTriggerPattern:()=>j,getAvailableProviders:()=>Ae,getDbName:()=>H,getDefaultProvider:()=>ke,getGeneralAccountProviderCapabilities:()=>Q,getModelMaxTokens:()=>P,getOpfsRootName:()=>W,getProvider:()=>Oe,getProviderApiKeyConfigKey:()=>je,getProviderTokenAuthScheme:()=>Me});const A=`ShadowClaw`;function j(e){let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`(^|\\s)@${t}\\b`,`i`)}j(A);const M=8192,N=[{pattern:`claude-fable-5`,maxTokens:128e3},{pattern:`claude-fable`,maxTokens:128e3},{pattern:`claude-mythos-5`,maxTokens:128e3},{pattern:`claude-mythos`,maxTokens:128e3},{pattern:`claude-sonnet-5`,maxTokens:128e3},{pattern:`claude-opus-5`,maxTokens:128e3},{pattern:`claude-opus-4-8`,maxTokens:128e3},{pattern:`claude-opus-4`,maxTokens:128e3},{pattern:`claude-sonnet-4`,maxTokens:64e3},{pattern:`claude-haiku-5`,maxTokens:128e3},{pattern:`claude-haiku-4`,maxTokens:64e3},{pattern:`claude-3-5`,maxTokens:8192},{pattern:`claude-3`,maxTokens:4096},{pattern:`gpt-6-luna`,maxTokens:64e3},{pattern:`gpt-6-sol`,maxTokens:128e3},{pattern:`gpt-6-astra`,maxTokens:128e3},{pattern:`astra`,maxTokens:128e3},{pattern:`gpt-6`,maxTokens:128e3},{pattern:`gpt-5`,maxTokens:128e3},{pattern:`gemini-3`,maxTokens:65536},{pattern:`gemini-2.5`,maxTokens:65536},{pattern:`gemini-2.0`,maxTokens:65536},{pattern:`gpt-4o`,maxTokens:16384},{pattern:`gpt-4.1`,maxTokens:32768},{pattern:`gpt-4-turbo`,maxTokens:4096},{pattern:`gpt-4`,maxTokens:8192},{pattern:`gpt-3.5`,maxTokens:4096},{pattern:`qwen-2.5`,maxTokens:32768},{pattern:`Qwen3.5`,maxTokens:32768},{pattern:`qwen3.5`,maxTokens:32768},{pattern:`Qwen3`,maxTokens:32768},{pattern:`qwen3`,maxTokens:32768},{pattern:`gemma-4`,maxTokens:16384},{pattern:`gemini-nano`,maxTokens:4096},{pattern:`phi-mini`,maxTokens:9216},{pattern:`aion`,maxTokens:9216},{pattern:`gemma-3-1b-it-ONNX-GQA`,maxTokens:32768},{pattern:`gemma-3-1b-it-ONNX`,maxTokens:32768},{pattern:`gemma-3`,maxTokens:32768},{pattern:`Qwen3-0.6B-ONNX`,maxTokens:32768},{pattern:`Qwen3.5`,maxTokens:32768},{pattern:`Llama-3.2`,maxTokens:32768},{pattern:`SmolLM`,maxTokens:8192},{pattern:`DeepSeek-R1`,maxTokens:32768},{pattern:`Phi-4`,maxTokens:16384},{pattern:`Phi-3.5`,maxTokens:16384},{pattern:`LFM2`,maxTokens:16384},{pattern:`gpt-oss`,maxTokens:32768},{pattern:`browser-built-in`,maxTokens:4096},{pattern:`mesh`,maxTokens:32768},{pattern:`openrouter/free`,maxTokens:32768},{pattern:`qwen3:8b`,maxTokens:4096},{pattern:`llama3:8b`,maxTokens:8192}];function P(e){if(!e)return M;let t=c.getModelInfo(e);if(t){if(typeof t.maxOutput==`number`){let e=t.contextWindow?Math.max(8192,Math.floor(t.contextWindow/2)):32768;return Math.min(t.maxOutput,e)}if(t.contextWindow){let e;return e=t.contextWindow>=2e5?131072:t.contextWindow>=1e5?65536:32768,Math.min(e,Math.floor(t.contextWindow/2))}}for(let{pattern:t,maxTokens:n}of N)if(e.includes(t))return n;return M}const F=`transformers_js_browser`,I=6e4,L=102400,R=1800,z=`wss://relay.widgetry.org/`,B=`http://localhost:8888`,V=`shadowclaw`;function H(){let e=S();return e?`shadowclaw-${e}`:V}H();const U=`shadowclaw`;function W(){let e=S();return e?`shadowclaw-${e}`:U}const G=`shadowclaw`,K=`br:main`,q=`https://api.telegram.org/bot`,J=`/telegram/bot`,he=4096,ge=15e3,_e=`0.peerjs.com`,ve=`http://localhost:8888/bedrock-proxy/invoke`,ye=`http://localhost:8888/bedrock-proxy/models`,be=`http://localhost:8888/transformers-js-proxy/chat/completions`,xe=`http://localhost:8888/transformers-js-proxy/models`,Y=`http://localhost:8888/llamafile-proxy/chat/completions`,Se=`http://localhost:8888/llamafile-proxy/models`,Ce=`http://localhost:8888/agentfile-proxy/chat/completions`,we=`http://localhost:8888/agentfile-proxy/models`,Te=`http://localhost:8888/ollama-proxy/chat/completions`,Ee=`http://localhost:8888/ollama-proxy/models`,X={github:{providerId:`github`,name:`GitHub`,aliases:[`github`,`api.github.com`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`,`git_remote`],authTypes:[`token`,`oauth`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`token `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},oauth:{authorizeUrl:`https://github.com/login/oauth/authorize`,tokenUrl:`https://github.com/login/oauth/access_token`,defaultScopes:[`repo`,`read:user`],usePkce:!0,clientAuthMethod:`request_body`,scopeSeparator:`space`}},gitlab:{providerId:`gitlab`,name:`GitLab`,aliases:[`gitlab`,`gitlab.com`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`,`git_remote`],authTypes:[`token`,`oauth`],tokenAuth:{token:{headerName:`PRIVATE-TOKEN`,headerPrefix:``},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},tokenAuthByServiceType:{git_remote:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}}},oauth:{authorizeUrl:`https://gitlab.com/oauth/authorize`,tokenUrl:`https://gitlab.com/oauth/token`,defaultScopes:[`read_api`,`read_user`],usePkce:!0,clientAuthMethod:`request_body`,scopeSeparator:`space`}},figma:{providerId:`figma`,name:`Figma`,aliases:[`figma`,`api.figma.com`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`],authTypes:[`token`,`oauth`],tokenAuth:{token:{headerName:`X-Figma-Token`,headerPrefix:``},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},oauth:{authorizeUrl:`https://www.figma.com/oauth`,tokenUrl:`https://api.figma.com/v1/oauth/token`,refreshUrl:`https://api.figma.com/v1/oauth/refresh`,defaultScopes:[],usePkce:!0,clientAuthMethod:`basic_header`,scopeSeparator:`space`}},notion:{providerId:`notion`,name:`Notion`,aliases:[`notion`,`api.notion.com`,`notion.so`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`],authTypes:[`token`,`oauth`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},oauth:{authorizeUrl:`https://api.notion.com/v1/oauth/authorize`,tokenUrl:`https://api.notion.com/v1/oauth/token`,defaultScopes:[],usePkce:!0,clientAuthMethod:`basic_header`,scopeSeparator:`space`}},microsoft_graph:{providerId:`microsoft_graph`,name:`Microsoft Graph`,aliases:[`microsoft`,`graph.microsoft.com`,`microsoft_graph`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`],authTypes:[`token`,`oauth`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},oauth:{authorizeUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/authorize`,tokenUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/token`,defaultScopes:[`openid`,`profile`,`offline_access`,`User.Read`],usePkce:!0,clientAuthMethod:`request_body`,scopeSeparator:`space`}},yahoo_mail:{providerId:`yahoo_mail`,name:`Yahoo Mail`,aliases:[`yahoo`,`yahoo_mail`,`mail.yahoo.com`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`],authTypes:[`token`,`oauth`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},oauth:{authorizeUrl:`https://api.login.yahoo.com/oauth2/request_auth`,tokenUrl:`https://api.login.yahoo.com/oauth2/get_token`,defaultScopes:[`mail-r`,`mail-w`],usePkce:!0,clientAuthMethod:`request_body`,scopeSeparator:`space`}},google:{providerId:`google`,name:`Google`,aliases:[`google`,`googleapis.com`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`],authTypes:[`token`,`oauth`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},oauth:{authorizeUrl:`https://accounts.google.com/o/oauth2/v2/auth`,tokenUrl:`https://oauth2.googleapis.com/token`,defaultScopes:[`openid`,`profile`,`email`],usePkce:!0,clientAuthMethod:`request_body`,scopeSeparator:`space`}},atlassian:{providerId:`atlassian`,name:`Atlassian`,aliases:[`atlassian`,`api.atlassian.com`],modes:[`oauth`,`token`,`basic`],defaultMode:`basic`,serviceTypes:[`http_api`,`git_remote`],authTypes:[`token`,`oauth`,`basic_userpass`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `},basic:{headerName:`Authorization`,headerPrefix:`Basic `}},oauth:{authorizeUrl:`https://auth.atlassian.com/authorize`,tokenUrl:`https://auth.atlassian.com/oauth/token`,defaultScopes:[],usePkce:!0,clientAuthMethod:`request_body`,scopeSeparator:`space`}},slack:{providerId:`slack`,name:`Slack`,aliases:[`slack`,`slack.com`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`],authTypes:[`token`,`oauth`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},oauth:{authorizeUrl:`https://slack.com/oauth/v2/authorize`,tokenUrl:`https://slack.com/api/oauth.v2.access`,defaultScopes:[],usePkce:!1,clientAuthMethod:`request_body`,scopeSeparator:`comma`}},linear:{providerId:`linear`,name:`Linear`,aliases:[`linear`,`api.linear.app`,`linear.app`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`],authTypes:[`token`,`oauth`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},oauth:{authorizeUrl:`https://linear.app/oauth/authorize`,tokenUrl:`https://api.linear.app/oauth/token`,defaultScopes:[],usePkce:!0,clientAuthMethod:`request_body`,scopeSeparator:`space`}},azure_devops:{providerId:`azure_devops`,name:`Azure DevOps`,aliases:[`azure_devops`,`dev.azure.com`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`http_api`,`git_remote`],authTypes:[`token`,`oauth`,`basic_userpass`,`ssh_key`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},tokenAuthByServiceType:{git_remote:{token:{headerName:`Authorization`,headerPrefix:`Basic `},oauth:{headerName:`Authorization`,headerPrefix:`Basic `}}},oauth:{authorizeUrl:`https://app.vssps.visualstudio.com/oauth2/authorize`,tokenUrl:`https://app.vssps.visualstudio.com/oauth2/token`,defaultScopes:[`vso.code`,`vso.profile`,`offline_access`],usePkce:!1,clientAuthMethod:`request_body`,scopeSeparator:`space`}},custom_mcp:{providerId:`custom_mcp`,name:`Custom MCP`,aliases:[`custom_mcp`],modes:[`oauth`,`token`],defaultMode:`oauth`,serviceTypes:[`mcp_remote`,`webmcp_local`],authTypes:[`none`,`token`,`oauth`,`custom_header`,`ssh_key`],tokenAuth:{token:{headerName:`Authorization`,headerPrefix:`Bearer `},oauth:{headerName:`Authorization`,headerPrefix:`Bearer `}},oauth:{authorizeUrl:`https://example.com/oauth/authorize`,tokenUrl:`https://example.com/oauth/token`,defaultScopes:[],usePkce:!0,clientAuthMethod:`request_body`,scopeSeparator:`space`}}},De=Object.fromEntries(Object.values(X).filter(e=>!!e.oauth).map(e=>{let t=e.oauth;return[e.providerId,{id:e.providerId,name:e.name,authorizeUrl:t.authorizeUrl,tokenUrl:t.tokenUrl,redirectUri:t.redirectUri,defaultScopes:t.defaultScopes,usePkce:t.usePkce,clientAuthMethod:t.clientAuthMethod,scopeSeparator:t.scopeSeparator}]}));Object.fromEntries(Object.values(X).map(e=>[e.providerId,{providerId:e.providerId,modes:e.modes,defaultMode:e.defaultMode}]));const Z={openrouter:{id:`openrouter`,name:`OpenRouter`,baseUrl:`https://openrouter.ai/api/v1/chat/completions`,format:`openai`,apiKeyHeader:`Authorization`,apiKeyHeaderFormat:`Bearer {key}`,headers:{"HTTP-Referer":`https://xt-ml.github.io/shadow-claw/`,"X-OpenRouter-Title":`ShadowClaw`},defaultModel:`openrouter/free`,modelsUrl:`https://openrouter.ai/api/v1/models`,requiresApiKey:!0,supportsStreaming:!0,reasoningParam:`reasoning`},huggingface:{id:`huggingface`,name:`HuggingFace`,baseUrl:`https://router.huggingface.co/v1/chat/completions`,format:`openai`,apiKeyHeader:`Authorization`,apiKeyHeaderFormat:`Bearer {key}`,headers:{},defaultModel:`meta-llama/Llama-3.1-8B-Instruct`,modelsUrl:`https://router.huggingface.co/v1/models`,requiresApiKey:!0,supportsStreaming:!0},bedrock_proxy:{id:`bedrock_proxy`,name:`AWS Bedrock (Local Proxy)`,baseUrl:ve,format:`anthropic`,apiKeyHeader:`Authorization`,headers:{},defaultModel:`anthropic.claude-sonnet-5-v1:0`,modelsUrl:ye,requiresApiKey:!1,supportsStreaming:!0,reasoningParam:`thinking`},gemini_proxy:{id:`gemini_proxy`,name:`Gemini (Local Proxy)`,baseUrl:`http://localhost:8888/gemini-proxy/chat/completions`,format:`openai`,apiKeyHeader:`x-goog-api-key`,headers:{},defaultModel:`gemini-2.0-flash`,modelsUrl:`http://localhost:8888/gemini-proxy/models`,requiresApiKey:!0,supportsStreaming:!0,reasoningParam:`thinkingConfig`},vertex_ai:{id:`vertex_ai`,name:`Vertex AI (Local Proxy)`,baseUrl:`http://localhost:8888/vertex-ai-proxy/chat/completions`,format:`openai`,apiKeyHeader:`x-vertex-project`,headers:{},defaultModel:`gemini-2.5-flash`,modelsUrl:`http://localhost:8888/vertex-ai-proxy/models`,requiresApiKey:!0,supportsStreaming:!0,reasoningParam:`thinkingConfig`},"mesh-llm":{id:`mesh-llm`,name:`Mesh LLM (Local Proxy)`,baseUrl:`http://localhost:8888/mesh-llm-proxy/chat/completions`,format:`mesh-llm`,apiKeyHeader:`Authorization`,headers:{},defaultModel:`mesh`,modelsUrl:`http://localhost:8888/mesh-llm-proxy/models`,requiresApiKey:!1,supportsStreaming:!0},ollama:{id:`ollama`,name:`Ollama (Local Proxy)`,baseUrl:Te,format:`openai`,apiKeyHeader:`Authorization`,headers:{},defaultModel:`qwen3:8b`,modelsUrl:Ee,requiresApiKey:!1,supportsStreaming:!0},llamafile:{id:`llamafile`,name:`Llamafile (Local Proxy)`,baseUrl:Y,format:`openai`,apiKeyHeader:`Authorization`,headers:{},defaultModel:`Qwen3.5-9B-Q5_K_S`,modelsUrl:Se,requiresApiKey:!1,supportsStreaming:!0},agentfile:{id:`agentfile`,name:`Agentfile (Local Binary)`,baseUrl:Ce,format:`openai`,apiKeyHeader:`Authorization`,headers:{},defaultModel:`default.agentfile`,modelsUrl:we,requiresApiKey:!1,supportsStreaming:!0},transformers_js_local:{id:`transformers_js_local`,name:`Transformers.js (Local Proxy)`,baseUrl:be,format:`openai`,apiKeyHeader:`Authorization`,headers:{},defaultModel:`onnx-community/Qwen3-0.6B-ONNX`,modelsUrl:xe,models:[`onnx-community/DeepSeek-R1-Distill-Qwen-1.5B-ONNX`,`onnx-community/gemma-3-1b-it-ONNX-GQA`,`onnx-community/gemma-3-1b-it-ONNX`,`onnx-community/gemma-4-E2B-it-ONNX`,`onnx-community/gemma-4-E2B-it-qat-mobile-ONNX`,`onnx-community/gemma-4-E4B-it-ONNX`,`onnx-community/gemma-4-E4B-it-qat-mobile-ONNX`,`onnx-community/gemma-4-E9B-it-ONNX`,`onnx-community/gemma-4-12B-it-ONNX`,`onnx-community/gemma-4-12B-it-qat-mobile-ONNX`,`onnx-community/gemma-4-E27B-it-ONNX`,`onnx-community/gpt-oss-20b-ONNX`,`onnx-community/LFM2-1.2B-ONNX`,`onnx-community/Llama-3.2-1B-Instruct-ONNX`,`onnx-community/Llama-3.2-3B-Instruct-ONNX`,`onnx-community/Phi-3.5-mini-instruct-onnx-web`,`onnx-community/Phi-4-mini-instruct-ONNX`,`onnx-community/Qwen3-0.6B-ONNX`,`onnx-community/Qwen3.5-0.8B-ONNX-OPT`,`onnx-community/Qwen3.5-4B-ONNX-OPT`,`HuggingFaceTB/SmolLM3-3B-ONNX`,`LiquidAI/LFM2.5-1.2B-Thinking-ONNX`,`webgpu/Qwen3-4B-ONNX`],requiresApiKey:!1,supportsStreaming:!0},transformers_js_browser:{id:`transformers_js_browser`,name:`Transformers.js (Browser)`,baseUrl:`local://transformers-js`,format:`transformers_js`,apiKeyHeader:`Authorization`,headers:{},defaultModel:`onnx-community/Qwen3-0.6B-ONNX`,modelsUrl:`https://huggingface.co/api/models?author=onnx-community`,models:[`onnx-community/Qwen3-0.6B-ONNX`,`onnx-community/gemma-3-1b-it-ONNX`,`onnx-community/gemma-3-1b-it-ONNX-GQA`,`onnx-community/gemma-4-E2B-it-ONNX`,`onnx-community/gemma-4-E4B-it-ONNX`,`onnx-community/gemma-4-E9B-it-ONNX`,`onnx-community/gemma-4-E27B-it-ONNX`,`onnx-community/gemma-4-12B-it-ONNX`,`onnx-community/gemma-4-E2B-it-qat-mobile-ONNX`,`onnx-community/gemma-4-E4B-it-qat-mobile-ONNX`,`onnx-community/gemma-4-12B-it-qat-mobile-ONNX`,`onnx-community/Phi-3.5-mini-instruct-onnx-web`,`onnx-community/Phi-4-mini-instruct-ONNX`,`onnx-community/Llama-3.2-1B-Instruct-ONNX`,`onnx-community/Llama-3.2-3B-Instruct-ONNX`,`webgpu/Qwen3-4B-ONNX`,`onnx-community/DeepSeek-R1-Distill-Qwen-1.5B-ONNX`,`onnx-community/gpt-oss-20b-ONNX`,`onnx-community/LFM2-1.2B-ONNX`,`LiquidAI/LFM2.5-1.2B-Thinking-ONNX`,`HuggingFaceTB/SmolLM3-3B-ONNX`,`onnx-community/Qwen3.5-0.8B-ONNX-OPT`,`onnx-community/Qwen3.5-4B-ONNX-OPT`],requiresApiKey:!1,supportsStreaming:!1},litert_lm_browser:{id:`litert_lm_browser`,name:`LiteRT-LM (Browser)`,baseUrl:`local://litert-lm`,format:`transformers_js`,apiKeyHeader:`Authorization`,headers:{},defaultModel:`litert-community/gemma-4-E2B-it-litert-lm`,models:[`litert-community/gemma-4-E2B-it-litert-lm`,`litert-community/gemma-4-E4B-it-litert-lm`],requiresApiKey:!1,supportsStreaming:!1},prompt_api:{id:`prompt_api`,name:`Prompt API (Browser)`,baseUrl:`builtin://language-model`,format:`prompt_api`,apiKeyHeader:`Authorization`,headers:{},defaultModel:`browser-built-in`,models:[`browser-built-in`],requiresApiKey:!1,supportsStreaming:!1}};function Oe(e){let t=Z[e];if(!t)return null;if(r.default!==void 0&&r.default?.env){if(e===`openrouter`&&r.default.env.OPENROUTER_BASE_URL)return{...t,baseUrl:r.default.env.OPENROUTER_BASE_URL};if(e===`huggingface`&&r.default.env.HUGGINGFACE_BASE_URL)return{...t,baseUrl:r.default.env.HUGGINGFACE_BASE_URL}}return t}function ke(){return Z[F]}function Ae(){return Object.keys(Z)}function je(e){return`api_key:${e}`}function Q(e){return X[e]||null}function Me(e,t,n=`http_api`){let r=Q(e);return r&&(r.tokenAuthByServiceType?.[n]?.[t]||r.tokenAuth[t])||null}const Ne={ACTIVE_TOOL_PROFILE:`active_tool_profile`,ACTIVITY_LOG_DISK_LOGGING_ENABLED:`activity_log_disk_logging_enabled`,ALLOWED_CUSTOM_ELEMENTS:`allowed_custom_elements`,ALLOWED_CUSTOM_ELEMENT_HOST_PATTERNS:`allowed_custom_element_host_patterns`,ALLOWED_IFRAME_HOST_PATTERNS:`allowed_iframe_host_patterns`,API_KEY:`api_key`,ASSISTANT_NAME:`assistant_name`,BEDROCK_AUTH_MODE:`bedrock_auth_mode`,BEDROCK_PROFILE_FALLBACK:`bedrock_profile_fallback`,BEDROCK_REGION_FALLBACK:`bedrock_region_fallback`,BUILTIN_AI_SUBAGENT_ROUTING:`builtin_ai_subagent_routing`,BUILTIN_AI_TOOLS_BACKEND:`builtin_ai_tools_backend`,CHANNEL_ENABLED_PREFIX:`channel_enabled:`,CHAT_INPUT_AREA_HEIGHT:`chat_input_area_height`,CHAT_SPLIT_VIEW_ENABLED:`chat_split_view_enabled`,CHAT_SPLIT_VIEW_HEIGHT:`chat_split_view_height`,COMPACTION_ENGINE_PREFERENCE:`compaction_engine_preference`,CONTEXT_COMPRESSION_ENABLED:`context_compression_enabled`,CONTROL_PLANE_CLIENT_ID:`control_plane_client_id`,CONTROL_PLANE_ENABLED:`control_plane_enabled`,CONTROL_PLANE_TRANSPORT:`control_plane_transport`,CONTROL_PLANE_URL:`control_plane_url`,CONVERSATIONS_HEIGHT:`conversations_height`,CUSTOM_TOOLS:`custom_tools`,DB_MIGRATED_FROM_LEGACY:`db_migrated_from_legacy`,DECLARATIVE_TOOLS_ENABLED:`declarative_tools_enabled`,DEFAULT_PINNED_PAGE:`default_pinned_page`,DIRECT_TOOL_COMMAND_POLICY:`direct_tool_command_policy`,ENABLED_TOOLS:`enabled_tools`,FILES_UPLOAD_APPEND_ULID:`files_upload_append_ulid`,GIT_ACCOUNTS:`git_accounts`,GIT_AUTHOR_EMAIL:`git_author_email`,GIT_AUTHOR_NAME:`git_author_name`,GIT_CORS_PROXY:`git_cors_proxy`,GIT_DEFAULT_ACCOUNT:`git_default_account`,GIT_PASSWORD:`git_password`,GIT_PROXY_URL:`git_proxy_url`,GIT_TOKEN:`git_token`,GIT_USERNAME:`git_username`,IMESSAGE_API_KEY:`imessage_api_key`,IMESSAGE_CHAT_IDS:`imessage_chat_ids`,IMESSAGE_SERVER_URL:`imessage_server_url`,INTEGRATION_CONNECTIONS:`integration_connections`,MARKDOWN_FRONTMATTER_CHAT:`markdown_frontmatter_chat`,MARKDOWN_FRONTMATTER_FILE_VIEWER:`markdown_frontmatter_file_viewer`,MARKDOWN_FRONTMATTER_PAGES:`markdown_frontmatter_pages`,MARKDOWN_FRONTMATTER_TASKS:`markdown_frontmatter_tasks`,LAST_ACTIVE_GROUP:`last_active_group`,LAST_ACTIVE_PAGE:`last_active_page`,LAST_SELECTED_PINNED_PAGE:`last_selected_pinned_page`,LLAMAFILE_HOST:`llamafile_host`,LLAMAFILE_MODE:`llamafile_mode`,LLAMAFILE_OFFLINE:`llamafile_offline`,LLAMAFILE_PORT:`llamafile_port`,MAIN_GROUP_INDEX_SUPPRESSED:`main_group_index_suppressed`,MAIN_GROUP_README_SUPPRESSED:`main_group_readme_suppressed`,MAX_ITERATIONS:`max_iterations`,MAX_TOKENS:`max_tokens`,MESH_LLM_HOST:`mesh_llm_host`,MODEL:`model`,OAUTH_PROVIDER_DEFINITIONS:`oauth_provider_definitions`,OPFS_MIGRATED_FROM_LEGACY:`opfs_migrated_from_legacy`,OVERRIDE_PRERENDER_SKELETON:`override_prerender_skeleton`,PAGES_ALLOW_LIST:`pages_allow_list`,PAGES_AUTO_REFRESH_INTERVAL:`pages_auto_refresh_interval`,PAGES_DENY_LIST:`pages_deny_list`,PAGES_LIST:`pages_list`,PASSPHRASE_SALT:`passphrase_salt`,PASSPHRASE_VERIFY:`passphrase_verify`,PROMPT_API_BACKEND:`prompt_api_backend`,PROMPT_API_DTYPE_STRATEGY:`prompt_api_dtype_strategy`,PROMPT_API_FALLBACK_MODEL:`prompt_api_fallback_model`,PROMPT_API_ONBOARDING_SEEN:`prompt_api_onboarding_seen`,TRANSFORMERS_JS_ONBOARDING_SEEN:`transformers_js_onboarding_seen`,PEERJS_MY_ALIAS:`peerjs_my_alias`,PEERJS_MY_PEER_ID:`peerjs_my_peer_id`,PEERJS_PEER_ALIASES:`peerjs_peer_aliases`,PEERJS_SERVER_HOST:`peerjs_server_host`,PEERJS_SERVER_PATH:`peerjs_server_path`,PEERJS_SERVER_PORT:`peerjs_server_port`,PEERJS_SERVER_SECURE:`peerjs_server_secure`,PEERJS_TRUSTED_PEER_IDS:`peerjs_trusted_peer_ids`,PROVIDER:`provider`,PROXY_URL:`proxy_url`,PUSH_PROXY_URL:`push_proxy_url`,RATE_LIMIT_AUTO_ADAPT:`rate_limit_auto_adapt`,RATE_LIMIT_CALLS_PER_MINUTE:`rate_limit_calls_per_minute`,REASONING_EFFORT:`reasoning_effort`,REMOTE_MCP_CONNECTIONS:`remote_mcp_connections`,SERVICE_ACCOUNTS:`service_accounts`,SERVICE_DEFAULT_ACCOUNT:`service_default_account`,SIDEBAR_CHAT_HIDDEN:`sidebar_chat_hidden`,SIDEBAR_DEFAULT_PAGE:`sidebar_default_page`,SIDEBAR_FILES_HIDDEN:`sidebar_files_hidden`,SIDEBAR_PAGES_HIDDEN:`sidebar_pages_hidden`,SIDEBAR_TASKS_HIDDEN:`sidebar_tasks_hidden`,SIDEBAR_WIDTH:`sidebar_width`,SITE_CONFIG_SEEDED:`site_config_seeded`,STATIC_MAIN_SITE_SEEDED:`static_main_site_seeded`,STORAGE_HANDLE:`storage_handle`,SUBSCRIBER_ID:`subscriber_id`,STREAMING_ENABLED:`streaming_enabled`,SUBAGENT_MAX_PARALLEL:`subagent_max_parallel`,SUBAGENT_WORKSPACE_MODE:`subagent_workspace_mode`,SUPPRESSED_PAGES_LIST:`suppressed_pages_list`,SYSTEM_PROMPT_OVERRIDE:`system_prompt_override`,TASK_SERVER_ENABLED:`task_server_enabled`,TASK_SERVER_URL:`task_server_url`,TASK_SYNC_OUTBOX:`task_sync_outbox`,TELEGRAM_BOT_TOKEN:`telegram_bot_token`,TELEGRAM_CHAT_IDS:`telegram_chat_ids`,TELEGRAM_USE_PROXY:`telegram_use_proxy`,TOOL_PROFILES:`tool_profiles`,TRANSFORMERS_JS_BACKEND:`transformers_js_backend`,TRANSFORMERS_JS_DTYPE_STRATEGY:`transformers_js_dtype_strategy`,TRIGGER_PATTERN:`trigger_pattern`,USE_PROXY:`use_proxy`,VAPID_SUBJECT:`vapid_subject`,VM_BASH_FULL_INTERNET_ACCESS:`vm_bash_full_internet_access`,VM_BASH_TIMEOUT_SEC:`vm_bash_timeout_sec`,VM_BOOT_HOST:`vm_boot_host`,VM_BOOT_MODE:`vm_boot_mode`,VM_NETWORK_RELAY_URL:`vm_network_relay_url`,WEBMCP_MODE:`webmcp_mode`,WEBMCP_TOOLS_ENABLED:`webmcp_tools_enabled`,WEB_SEARCH_PROXY_URL:`web_search_proxy_url`,WEB_SEARCH_URL:`web_search_url`,WEB_SEARCH_USE_PROXY:`web_search_use_proxy`,SEARCH_FILES_MAX_FILE_BYTES:`search_files_max_file_bytes`,SEARCH_FILES_MAX_FILES_VISITED:`search_files_max_files_visited`,SEARCH_FILES_SKIP_DIRS:`search_files_skip_dirs`},Pe=`localhost`,Fe=8888,Ie=`automatic`,Le=`onnx-community/Qwen3-0.6B-ONNX`,$=`http://localhost:8888/schedule`;export{ne as $,Ae as A,D as B,Z as C,J as D,he as E,W as F,pe as G,C as H,Oe as I,ce as J,k as K,je as L,ke as M,Q as N,j as O,P,re as Q,Me as R,_e as S,q as T,S as U,x as V,fe as W,de as X,ue as Y,u as Z,V as _,Fe as a,De as b,Le as c,$ as d,c as et,B as f,ge as g,X as h,Pe as i,H as j,me as k,F as l,L as m,R as n,K as o,z as p,le as q,Ne as r,M as s,A as t,Ie as u,U as v,I as w,G as x,Y as y,w as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./config-
|
|
1
|
+
import{r as e}from"./config-C16fFWtP.js";import{c as t}from"./orchestrator-Li1UAsv7.js";import{t as n}from"./set-config-DSiuMe0k.js";import{a as r}from"./channel-DIpDQekL.js";async function i(i,a,o,s,c=``,l=0,u=``,d=!0){let f=o.trim(),p=t(s),m=c.trim(),h=Number.isFinite(l)?Math.max(0,Math.floor(l)):0,g=u.trim(),_=!!d;i.peerjsMyPeerId=f,i.peerjsTrustedPeerIds=p,i.peerjsServerHost=m,i.peerjsServerPort=h,i.peerjsServerPath=g,i.peerjsServerSecure=_,await n(a,e.PEERJS_MY_PEER_ID,f),await n(a,e.PEERJS_TRUSTED_PEER_IDS,JSON.stringify(p)),await n(a,e.PEERJS_SERVER_HOST,m),await n(a,e.PEERJS_SERVER_PORT,h?String(h):``),await n(a,e.PEERJS_SERVER_PATH,g),await n(a,e.PEERJS_SERVER_SECURE,_?`true`:`false`);let v=m?{host:m,path:g||void 0,port:h||void 0,secure:_}:{};i.peerjs.stop(),i.peerjs.configure(f,p,v),f&&r(i,`peerjs`)&&i.peerjs.start()}export{i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./config-
|
|
1
|
+
import{r as e}from"./config-C16fFWtP.js";import{t}from"./get-config-Bkvl__ZS.js";import{t as n}from"./set-config-DSiuMe0k.js";import{t as r}from"./ulid-BSJxYh6W.js";const i=[{id:`imap`,name:`IMAP Mail`,protocol:`imap`,description:`Read mailboxes and fetch message metadata/content.`,version:`0.1.0`,actions:[`messages.read`,`messages.send`],authTypes:[`basic_userpass`,`oauth`],serviceTypes:[`http_api`],configurableFields:[`host`,`port`,`secure`,`mailboxPath`,`smtpHost`,`smtpPort`,`smtpSecure`,`fromAddress`,`executionMode`,`pollIntervalSec`]}];function a(){return[...i].sort((e,t)=>e.id.localeCompare(t.id))}function o(e){return e&&i.find(t=>t.id===e)||null}function s(e){if(!e||typeof e!=`object`)return null;let t=e;return!t.serviceType||!t.authType?null:{serviceType:t.serviceType,authType:t.authType,providerId:t.providerId||void 0,accountId:t.accountId||void 0,username:t.username||void 0,headerName:t.headerName||void 0,encryptedSecret:t.encryptedSecret||void 0}}function c(e){if(!e||typeof e!=`object`)return null;let t=e;return!t.id||!t.label||!t.pluginId||typeof t.enabled!=`boolean`||typeof t.createdAt!=`number`||typeof t.updatedAt!=`number`||!o(t.pluginId)?null:{id:t.id,label:t.label,pluginId:t.pluginId,enabled:t.enabled,config:t.config&&typeof t.config==`object`?{...t.config}:{},credentialRef:s(t.credentialRef),createdAt:t.createdAt,updatedAt:t.updatedAt}}async function l(n){let r=await t(n,e.INTEGRATION_CONNECTIONS);if(!Array.isArray(r))return[];let i=[];for(let e of r){let t=c(e);t&&i.push(t)}return i}async function u(t,r){await n(t,e.INTEGRATION_CONNECTIONS,r)}async function d(e){return l(e)}async function f(e,t){if(!t)return null;let n=await l(e);return n.find(e=>e.id===t)||n.find(e=>e.label.toLowerCase()===t.toLowerCase())||null}async function p(e,t){if(!t.label?.trim())throw Error(`Email connection label is required`);let n=o(t.pluginId);if(!n)throw Error(`Unknown email plugin: ${t.pluginId}`);let i=await l(e),a=Date.now();if(t.id){let r=i.findIndex(e=>e.id===t.id);if(r!==-1){let o=i[r],s={...o,label:t.label.trim(),pluginId:n.id,enabled:t.enabled??o.enabled,config:t.config?{...t.config}:o.config,updatedAt:a};return i[r]=s,await u(e,i),s}}let s={id:t.id||r(),label:t.label.trim(),pluginId:n.id,enabled:t.enabled??!0,config:t.config?{...t.config}:{},credentialRef:null,createdAt:a,updatedAt:a};return i.push(s),await u(e,i),s}async function m(e,t,n){if(!t)return null;let r=await l(e),i=r.findIndex(e=>e.id===t);if(i===-1)return null;let a={...r[i],credentialRef:n?s(n):null,updatedAt:Date.now()};return r[i]=a,await u(e,r),a}async function h(e,t){if(!t)return!1;let n=await l(e),r=n.filter(e=>e.id!==t);return r.length!==n.length&&(await u(e,r),!0)}export{p as a,d as i,h as n,o,f as r,a as s,m as t};
|
package/dist/public/{create-model-cache-fetch-DQebkoPL.js → create-model-cache-fetch-B0mSCEk6.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{X as e,Z as t}from"./orchestrator-
|
|
1
|
+
import{X as e,Z as t}from"./orchestrator-Li1UAsv7.js";function n(e,t){return`${e}?__sc_chunk=${t}`}const r=`shadow-claw-browser-models`,i=16777216;function a(e,t,i=r){let a=0,o=null;return new ReadableStream({async pull(r){for(;;){if(o){let{done:e,value:t}=await o.read();if(!e){r.enqueue(t);return}o=null,a++}if(a>=t.chunks){r.close();return}try{let t=await(await caches.open(i)).match(n(e,a));if(!t?.body){r.error(/* @__PURE__ */ Error(`ModelCache: missing cache chunk ${a} for ${e}`));return}o=t.body.getReader();let{done:s,value:c}=await o.read();if(s)o=null,a++;else{r.enqueue(c);return}}catch(e){r.error(e);return}}},cancel(){o&&=(o.cancel(),null)}})}function o(){return typeof caches<`u`&&typeof caches.open==`function`}async function s(e,t,i,a=r){if(o())try{await(await caches.open(a)).put(n(e,t),new Response(new Blob([i]),{headers:{"Content-Type":`application/octet-stream`,"Content-Length":String(i.byteLength)}}))}catch(e){console.error(`flushChunkToCache error:`,e)}}function c(e){return`${e}?__sc_meta=1`}async function l(e,t=r){if(!o())return null;try{let n=await(await caches.open(t)).match(c(e));if(!n?.body)return null;let r=await n.text();return JSON.parse(r)}catch{return null}}async function u(e,t,n=r){if(o())try{await(await caches.open(n)).put(c(e),new Response(JSON.stringify(t),{headers:{"Content-Type":`application/json`}}))}catch(e){console.error(`writePartialMeta error:`,e)}}async function d(r,i,a,c,d=globalThis.fetch?globalThis.fetch.bind(globalThis):fetch){let f=c?.cacheName??`shadow-claw-browser-models`,p=c?.chunkSize??16777216,m=c?.maxAttempts??6,h=c?.headers??{},g=o(),_=0,v=0,y=null,b=!1,x=r;if(g){let e=await l(r,f);e&&!e.complete&&(_=e.chunks,v=e.received,y=e.total,b=e.acceptsRanges,e.resolvedUrl&&(x=e.resolvedUrl))}let S=null,C=null;for(let n=1;n<=m;n++){if(a?.aborted)throw new DOMException(`Aborted`,`AbortError`);let r={...h};v>0&&b&&(r.Range=`bytes=${v}-`);try{C=await d(x,{signal:a,headers:r})}catch(r){if(a?.aborted||r?.name===`AbortError`)throw r;if(S=r,n<m){await t(e(n-1,1e3,15e3,0),a);continue}break}if(C.url&&(x=C.url),r.Range&&C.status===200&&(_=0,v=0),C.status!==200&&C.status!==206){if(S=/* @__PURE__ */ Error(`ModelCache: Failed to fetch model from '${x}': ${C.status} ${C.statusText}`),C.status>=500&&n<m){await t(e(n-1,1e3,15e3,0),a);continue}throw S}if(!C.body)throw Error(`ModelCache: Failed to fetch model from '${x}': No response body`);S=null;break}if(S||!C||!C.body)throw Error(`ModelCache: failed to download model from '${r}' after ${m} attempts: ${S?.message??String(S)}`);if(y==null){if(b=C.status===206||C.headers.get(`accept-ranges`)===`bytes`,C.status===206){let e=C.headers.get(`content-range`)?.match(/\/\s*(\d+)\s*$/);e&&(y=Number(e[1]))}else{let e=C.headers.get(`content-length`),t=e?Number(e):NaN;y=Number.isFinite(t)&&t>0?t:null}}g&&await u(r,{chunks:_,received:v,total:y,acceptsRanges:b,complete:!1,resolvedUrl:x},f);let w=C.body;return new ReadableStream({async start(e){try{if(g&&_>0){let t=await caches.open(f),o=0;for(let s=0;s<_;s++){if(a?.aborted)throw new DOMException(`Aborted`,`AbortError`);let c=await t.match(n(r,s));if(c?.body){let t=c.body.getReader();for(;;){let{done:n,value:r}=await t.read();if(n)break;e.enqueue(r),o+=r.byteLength,i?.(o,y)}}else if(c&&typeof c.arrayBuffer==`function`){let t=await c.arrayBuffer(),n=new Uint8Array(t);e.enqueue(n),o+=n.byteLength,i?.(o,y)}}}let t=[],o=0,c=v;async function l(){if(o===0)return;let e=new Uint8Array(o),n=0;for(let r of t)e.set(r,n),n+=r.byteLength;t=[],o=0,g?(await s(r,_,e,f),_++,v+=e.byteLength,await u(r,{chunks:_,received:v,total:y,acceptsRanges:b,complete:!1,resolvedUrl:x},f)):(_++,v+=e.byteLength)}let d=w.getReader();try{for(;;){if(a?.aborted)throw await d.cancel(),new DOMException(`Aborted`,`AbortError`);let{done:n,value:r}=await d.read();if(n)break;e.enqueue(r),t.push(r),o+=r.byteLength,c+=r.byteLength,i?.(c,y),o>=p&&await l()}await l(),g&&await u(r,{chunks:_,received:v,total:y,acceptsRanges:b,complete:!0,resolvedUrl:x},f),i?.(c,y,!0),e.close()}catch(e){try{await d.cancel()}catch{}throw e}}catch(t){e.error(t)}}})}async function f(e,t,n,r,i=globalThis.fetch?globalThis.fetch.bind(globalThis):fetch){let o=r?.cacheName??`shadow-claw-browser-models`;try{let n=await l(e,o);if(n?.complete)return t?.(n.received,n.received,!0),a(e,n,o)}catch(e){console.warn(`loadModelStream cache check failed, falling back to download:`,e)}return d(e,t,n,r,i)}let p=null;function m(e){p=e}function h(){p=null}function g(e=globalThis.fetch?globalThis.fetch.bind(globalThis):fetch,t,n){let r=t?.cacheName??`shadow-claw-browser-models`;return async function(i,s){let c=typeof i==`string`?i:i instanceof URL?i.toString():i.url,u=(s?.method||(typeof i==`object`&&`method`in i?i.method:`GET`)||`GET`).toUpperCase(),d=s?.headers||(typeof i==`object`&&`headers`in i?i.headers:void 0);if(d instanceof Headers?d.has(`Range`)||d.has(`range`):d&&typeof d==`object`&&(`Range`in d||`range`in d))return e(i,{...s||{},cache:`no-store`});if(u!==`GET`||!o())return e(i,s);try{let i=await l(c,r);if(i?.complete){n?.(c,i.received,i.received,!0),p?.(c,i.received,i.received,!0);let e=a(c,i,r);return new Response(e,{status:200,statusText:`OK`,headers:{"Content-Type":`application/octet-stream`,...i.total!=null&&i.total>0?{"Content-Length":String(i.total)}:{}}})}let o=await f(c,(e,t,r)=>{n?.(c,e,t,!!r),p?.(c,e,t,!!r)},s?.signal??void 0,{cacheName:r,...t||{}},e),u=(await l(c,r))?.total;return new Response(o,{status:200,statusText:`OK`,headers:{"Content-Type":`application/octet-stream`,...u!=null&&u>0?{"Content-Length":String(u)}:{}}})}catch(t){return console.warn(`[ModelCacheFetch] Cache stream failed for ${c}, falling back to native fetch:`,t),e(i,s)}}}export{i as a,f as i,g as n,m as r,h as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as e,r as t}from"./config-
|
|
1
|
+
import{R as e,r as t}from"./config-C16fFWtP.js";import{t as n}from"./get-config-Bkvl__ZS.js";import{t as r}from"./set-config-DSiuMe0k.js";import{n as i,r as a}from"./crypto-4ETeplbS.js";function o(e){return!e||e.authMode===`token`||e.authMode===`pat`?`token`:e.authMode===`basic`?`basic`:e.authMode===`oauth`||e.oauthProviderId||e.oauthClientId||e.oauthClientSecret||e.refreshToken||e.accessTokenExpiresAt||e.tokenType||e.oauthReauthRequired?`oauth`:`token`}function s(e){return o(e)}function c(e){switch(e){case`azure-devops`:return`azure_devops`;default:return e}}function l(e){if(!e)return`generic`;let t=e.toLowerCase();return t.includes(`github`)?`github`:t.includes(`dev.azure.com`)||t.includes(`visualstudio.com`)?`azure-devops`:t.includes(`gitlab`)?`gitlab`:`generic`}function u(t){if(t.reauthRequired)return{};let n=t.provider||l(t.hostPattern||``),r=c(n),i=t.authMode||`token`;if(t.token&&r===`azure_devops`&&e(r,i,`git_remote`)?.headerPrefix===`Basic `)return{Authorization:`Basic ${btoa(`:`+t.token)}`};if(n===`azure-devops`&&t.username&&t.password)return{Authorization:`Basic ${btoa(t.username+`:`+t.password)}`};if(t.token){let n=e(r,i,`git_remote`);return n?.headerName?{[n.headerName]:`${n.headerPrefix||``}${t.token}`}:{Authorization:`Bearer ${t.token}`}}return{}}function d(e){try{let t=new URL(e),n=t.pathname.replace(/\/+$/,``);return n?t.hostname+n:t.hostname}catch{return}}function f(e,t){let n=t.toLowerCase(),r=[],i=-1;for(let t of e){if(!t.hostPattern)continue;let e=t.hostPattern.toLowerCase();n.includes(e)&&(e.length>i?(i=e.length,r.length=0,r.push(t)):e.length===i&&r.push(t))}return r}function p(e,t){if(!e.length)return;if(!t)return e[0];let n=e.find(e=>s(e)===t);if(n)return n;if(t===`token`){let t=e.find(e=>s(e)===`token`&&!e.authMode);if(t)return t}return e[0]}async function m(e){if(e)return await i(e)??void 0}function h(e,t){return s(e)!==`oauth`||e.oauthReauthRequired||!e.refreshToken||!e.oauthProviderId||!e.oauthClientId?!1:t.forceRefresh?!0:e.accessTokenExpiresAt?e.accessTokenExpiresAt<=Date.now()+6e4:!1}async function g(e,n,i){if(!i.refreshToken||!i.oauthProviderId||!i.oauthClientId)return i;let o=await m(i.refreshToken);if(!o)return i;let s=i.oauthClientSecret?await m(i.oauthClientSecret):void 0,c=async a=>{let o=n.findIndex(e=>e.id===i.id);o!==-1&&(n[o]=a,await r(e,t.GIT_ACCOUNTS,n))},l=async()=>{let e=(i.oauthRefreshFailureCount||0)+1,t=e>=3,n={...i,oauthRefreshFailureCount:e,oauthReauthRequired:t,oauthReauthRequiredAt:t?i.oauthReauthRequiredAt||Date.now():void 0};return await c(n),n};try{let e=await fetch(`/oauth/refresh`,{body:JSON.stringify({clientId:i.oauthClientId,clientSecret:s,providerId:i.oauthProviderId,refreshToken:o,scope:i.scopes}),headers:{"content-type":`application/json`},method:`POST`});if(!e.ok)return l();let t=await e.json();if(!t.accessToken)return l();let n=await a(t.accessToken);if(!n)return l();let r=i.refreshToken;if(t.refreshToken){let e=await a(t.refreshToken);e&&(r=e)}let u={...i,token:n,refreshToken:r,accessTokenExpiresAt:t.expiresIn?Date.now()+t.expiresIn*1e3:i.accessTokenExpiresAt,tokenType:t.tokenType||i.tokenType,scopes:t.scope?t.scope.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean):i.scopes,oauthRefreshFailureCount:0,oauthReauthRequired:!1,oauthReauthRequiredAt:void 0};return await c(u),u}catch{return l()}}async function _(e,r,i={}){let a=await n(e,t.GIT_ACCOUNTS);return Array.isArray(a)&&a.length>0?v(e,a,r,i):y(e)}async function v(e,r,i,a={}){let o;if(a.accountId&&(o=r.find(e=>e.id===a.accountId)),!o&&i){let e=d(i);e&&(o=p(f(r,e),a.authMode))}if(!o){let a=await n(e,t.GIT_DEFAULT_ACCOUNT);if(a){let e=r.find(e=>e.id===a);if(e){if(!i)o=e;else{let t=d(i);if(t&&e.hostPattern){let n=t?.toLowerCase(),r=e.hostPattern.toLowerCase();n?.includes(r)&&(o=e)}}}}}if(!o&&!i&&a.authMode&&(o=p(r,a.authMode)),!o&&!i&&(o=r[0]),!o)return{authMode:`token`,authorEmail:void 0,authorName:void 0,password:void 0,provider:`generic`,token:void 0,username:void 0};h(o,a)&&(o=await g(e,r,o));let c=o.provider||l(o.hostPattern||``);return s(o)===`oauth`&&o.oauthReauthRequired?{accountId:o.id,authMode:`oauth`,authorEmail:o.authorEmail||void 0,authorName:o.authorName||void 0,hostPattern:o.hostPattern||void 0,password:void 0,provider:c,reauthRequired:!0,token:void 0,username:o.username||void 0}:{accountId:o.id,authMode:s(o),authorEmail:o.authorEmail||void 0,authorName:o.authorName||void 0,hostPattern:o.hostPattern||void 0,password:await m(o.password),provider:c,token:await m(o.token),username:o.username||void 0}}async function y(e){let r=await n(e,t.GIT_TOKEN),i=await n(e,t.GIT_PASSWORD);return{authMode:`token`,authorEmail:await n(e,t.GIT_AUTHOR_EMAIL)||void 0,authorName:await n(e,t.GIT_AUTHOR_NAME)||void 0,password:i?await m(i):void 0,provider:`generic`,token:r?await m(r):void 0,username:await n(e,t.GIT_USERNAME)||void 0}}export{o as i,l as n,_ as r,u as t};
|
package/dist/public/{custom-element-security-kiDhPfb8.js → custom-element-security-B2daIE5r.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{J as e,z as t}from"./config-C16fFWtP.js";import"./db-BUuJo1Gf.js";import"./get-config-Bkvl__ZS.js";function n(e){let t=e.trim();if(!t)return()=>!1;if(t.startsWith(`/`)&&(t.endsWith(`/`)||/\/[gimuy]*$/.test(t)))try{let e=t.lastIndexOf(`/`),n=t.slice(1,e),r=t.slice(e+1),i=new RegExp(n,r||`i`);return e=>i.test(e)}catch{}if(t.includes(`^`)||t.includes(`$`)||t.includes(`(`)&&t.includes(`)`))try{let e=new RegExp(t,`i`);return t=>e.test(t)}catch{}if(t.startsWith(`*.`)){let e=t.slice(2).toLowerCase();return t=>{let n=t.toLowerCase();return n===e||n.endsWith(`.`+e)}}let n=t.toLowerCase();return e=>{let t=e.toLowerCase();return t===n||t.endsWith(`.`+n)}}const r=[],i=[];let a=new Set(r.map(e=>e.toLowerCase().trim())),o=[...i],s=[];function c(e){s=e.map(e=>n(e)).filter(Boolean)}c(o);function l(e){return Array.isArray(e)?e.map(e=>typeof e==`string`?e.toLowerCase().trim():``).filter(Boolean):typeof e==`string`?e.split(/[\n,]+/).map(e=>e.toLowerCase().trim()).filter(Boolean):[]}function u(e){return Array.isArray(e)?e.map(e=>typeof e==`string`?e.trim():``).filter(Boolean):typeof e==`string`?e.split(/[\n,]+/).map(e=>e.trim()).filter(Boolean):[]}function d(e){let t=l(e);a=new Set(t)}function f(){return Array.from(a)}function p(e){let t=u(e);o=t,c(t)}function ee(){return[...o]}function te(e){if(!e||typeof e!=`string`)return!1;let t=e.trim().toLowerCase();return!t.includes(`-`)||t===`shadow-claw`||t.startsWith(`shadow-claw-`)||t.startsWith(`sc-`)?!0:a.has(t)}function m(e){if(!e||typeof e!=`string`)return!1;let t=e.trim();if(!t||/^(?:javascript|data|vbscript):/i.test(t))return!1;if(/^blob:/i.test(t)||t.startsWith(`/`)||t.startsWith(`./`)||t.startsWith(`../`))return!0;try{let e=typeof globalThis<`u`&&globalThis.location?.origin&&globalThis.location.origin!==`null`?globalThis.location.origin:`http://localhost`,n=new URL(t,e);if(n.protocol!==`http:`&&n.protocol!==`https:`)return!1;if(typeof globalThis<`u`&&globalThis.location?.origin&&globalThis.location.origin!==`null`&&n.origin===globalThis.location.origin)return!0;let r=n.hostname.toLowerCase();return s.some(e=>e(r))}catch{return!1}}function h(e){if(!e||typeof e!=`object`)return;let t=e.allowedCustomElements||(typeof e.customElements==`object`&&!Array.isArray(e.customElements)?e.customElements?.allowedElements:void 0);t!==void 0&&d(t);let n=e.allowedCustomElementDomains||(typeof e.customElements==`object`&&!Array.isArray(e.customElements)?e.customElements?.allowedDomains:void 0);n!==void 0&&p(n)}let ne=null;function re(e){ne=e}function g(){if(typeof document>`u`)return;let e=document.getElementById(`shadow-claw-site-config`);if(e&&e.textContent)try{let t=JSON.parse(e.textContent);h(t),ne?.(t)}catch{}}let _=null,ie=!1;function ae(){g(),!(ie||typeof customElements>`u`||typeof customElements.define!=`function`)&&(_=customElements.define.bind(customElements),customElements.define=function(e,t,n){if(!te((e||``).toLowerCase().trim())){let t=`[Security] Registration blocked: <${e}> is not an approved custom element.`;throw console.error(t),Error(t)}return _(e,t,n)},ie=!0)}function oe(e=typeof document<`u`?document.documentElement:null){if(typeof MutationObserver>`u`||!e)return null;if(typeof e.querySelectorAll==`function`)try{e.querySelectorAll(`*`).forEach(e=>{let t=e.tagName?e.tagName.toLowerCase():``;t.includes(`-`)&&!te(t)&&(console.warn(`[Security] Removing existing unapproved custom element: <${t}>`),e.remove())})}catch{}let t=new MutationObserver(e=>{for(let t of e)t.addedNodes.forEach(e=>{if(e.nodeType===1){let t=e,n=t.tagName?t.tagName.toLowerCase():``;n.includes(`-`)&&!te(n)&&(console.warn(`[Security] Removing unapproved custom element: <${n}>`),t.remove())}})});return t.observe(e,{childList:!0,subtree:!0}),t}
|
|
2
2
|
/*! @license DOMPurify 3.4.16 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.16/LICENSE */
|
|
3
3
|
function v(e,t){this.v=e,this.k=t}function y(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function se(e){if(Array.isArray(e))return e}function ce(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function le(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}
|
|
5
5
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
6
6
|
function ue(e,t){return se(e)||ce(e,t)||b(e,t)||le()}function b(e,t){if(e){if(typeof e==`string`)return y(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}function de(e){var t,n;function r(t,n){try{var a=e[t](n),o=a.value,s=o instanceof v;Promise.resolve(s?o.v:o).then(function(n){if(s){var c=t===`return`&&o.k?t:`next`;if(!o.k||n.done)return r(c,n);n=e[c](n).value}i(!!a.done,n)},function(e){r(`throw`,e)})}catch(e){i(2,e)}}function i(e,i){e===2?t.reject(i):t.resolve({value:i,done:e}),(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,i){return new Promise(function(a,o){var s={key:e,arg:i,resolve:a,reject:o,next:null};n?n=n.next=s:(t=n=s,r(e,i))})},typeof e.return!=`function`&&(this.return=void 0)}de.prototype[typeof Symbol==`function`&&Symbol.asyncIterator||`@@asyncIterator`]=function(){return this},de.prototype.next=function(e){return this._invoke(`next`,e)},de.prototype.throw=function(e){return this._invoke(`throw`,e)},de.prototype.return=function(e){return this._invoke(`return`,e)};const fe=Object.entries,pe=Object.setPrototypeOf,me=Object.isFrozen,he=Object.getPrototypeOf,ge=Object.getOwnPropertyDescriptor;let x=Object.freeze,S=Object.seal,_e=Object.create,ve=typeof Reflect<`u`&&Reflect,ye=ve.apply,be=ve.construct;x||=function(e){return e},S||=function(e){return e},ye||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},be||=function(e){return new e(...[...arguments].slice(1))};const C=O(Array.prototype.forEach);Array.prototype.indexOf;const xe=O(Array.prototype.lastIndexOf),Se=O(Array.prototype.pop),Ce=O(Array.prototype.push);Array.prototype.slice;const we=O(Array.prototype.splice),Te=Array.isArray,Ee=O(String.prototype.toLowerCase),De=O(String.prototype.toString),Oe=O(String.prototype.match),ke=O(String.prototype.replace),Ae=O(String.prototype.indexOf),je=O(String.prototype.trim),w=O(Number.prototype.toString),Me=O(Boolean.prototype.toString),Ne=typeof BigInt>`u`?null:O(BigInt.prototype.toString),Pe=typeof Symbol>`u`?null:O(Symbol.prototype.toString),T=O(Object.prototype.hasOwnProperty),Fe=O(Object.prototype.toString),E=O(RegExp.prototype.test),D=Ie(TypeError);function O(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return ye(e,t,n)}}function Ie(e){return function(){return be(e,[...arguments])}}function k(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ee;if(pe&&pe(e,null),!Te(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(me(t)||(t[r]=e),i=e)}e[i]=!0}return e}function Le(e){for(let t=0;t<e.length;t++)T(e,t)||(e[t]=null);return e}function A(e){let t=_e(null);for(let r of fe(e)){var n=ue(r,2);let i=n[0],a=n[1];T(e,i)&&(t[i]=Te(a)?Le(a):a&&typeof a==`object`&&a.constructor===Object?A(a):a)}return t}function Re(e){switch(typeof e){case`string`:return e;case`number`:return w(e);case`boolean`:return Me(e);case`bigint`:return Ne?Ne(e):`0`;case`symbol`:return Pe?Pe(e):`Symbol()`;case`undefined`:return Fe(e);case`function`:case`object`:{if(e===null)return Fe(e);let t=e,n=j(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:Fe(e)}return Fe(e)}default:return Fe(e)}}function j(e,t){for(;e!==null;){let n=ge(e,t);if(n){if(n.get)return O(n.get);if(typeof n.value==`function`)return O(n.value)}e=he(e)}function n(){return null}return n}function ze(e){try{return E(e,``),!0}catch{return!1}}const Be=x(/* @__PURE__ */ `a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Ve=x(/* @__PURE__ */ `svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),He=x([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Ue=x([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),We=x(/* @__PURE__ */ `math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Ge=x([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Ke=x([`#text`]),qe=x(/* @__PURE__ */ `accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),Je=x(/* @__PURE__ */ `accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dominant-baseline.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.pointer-events.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-orientation.text-rendering.textlength.type.u1.u2.unicode.values.vector-effect.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Ye=x(/* @__PURE__ */ `accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Xe=x([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Ze=S(/{{[\w\W]*|^[\w\W]*}}/g),Qe=S(/<%[\w\W]*|^[\w\W]*%>/g),$e=S(/\${[\w\W]*/g),et=S(/^data-[\-\w.\u00B7-\uFFFF]+$/),tt=S(/^aria-[\-\w]+$/),nt=S(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),rt=S(/^(?:\w+script|data):/i),it=S(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),at=S(/^html$/i),ot=S(/^[a-z][.\w]*(-[.\w]+)+$/i),st=S(/<[/\w!]/g),ct=S(/<[/\w]/g),lt=S(/<\/no(script|embed|frames)/i),ut=S(/\/>/i),M={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},dt=[`style`,`script`,`xmp`,`iframe`,`noembed`,`noframes`,`plaintext`,`noscript`],ft=x(k({},dt)),pt=function(){let e={};return C(dt,t=>{e[t]=S(RegExp(`</`+t+`(?=[\\t\\n\\f\\r />])`,`i`))}),x(e)}(),mt=function(){return typeof window>`u`?null:window},ht=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},gt=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},N=function(e,t,n,r){return T(e,t)&&Te(e[t])?k(r.base?A(r.base):{},e[t],r.transform):n},_t=function(e,t,n){let r=T(e,t)?e[t]:void 0;return r&&typeof r==`object`?A(r):n()};function vt(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:mt(),t=e=>vt(e);if(t.version=`3.4.16`,t.removed=[],!e||!e.document||e.document.nodeType!==M.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=j(d,`cloneNode`),p=j(d,`remove`),ee=j(d,`removeAttributeNode`),te=j(d,`nextSibling`),m=j(d,`childNodes`),h=j(d,`parentNode`),ne=j(d,`shadowRoot`),re=j(d,`attributes`),g=o&&o.prototype?j(o.prototype,`nodeType`):null,_=o&&o.prototype?j(o.prototype,`nodeName`):null,ie=o&&o.prototype?j(o.prototype,`ownerDocument`):null,ae=function(e){return g?g(e):e.nodeType},oe=function(e){return _?_(e):e.nodeName};if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let v,y=``,se,ce=!1,le=0,ue=function(){if(le>0)throw D(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},b=function(e){ue(),le++;try{return v.createHTML(e)}finally{le--}},de=function(e){ue(),le++;try{return v.createScriptURL(e)}finally{le--}},pe=function(){return ce||=(se=ht(u,i),!0),se},me=n,he=me.implementation,ge=me.createNodeIterator,ve=me.createDocumentFragment,ye=me.getElementsByTagName,be=r.importNode,w=gt();t.isSupported=typeof fe==`function`&&typeof h==`function`&&he&&he.createHTMLDocument!==void 0;let Me=Ze,Ne=Qe,Pe=$e,Fe=et,O=tt,Ie=rt,Le=it,dt=ot,yt=nt,P=null,bt=k({},[...Be,...Ve,...He,...We,...Ke]),F=null,xt=k({},[...qe,...Je,...Ye,...Xe]),I=Object.seal(_e(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),St=null,Ct=null,L=Object.seal(_e(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),wt=!0,Tt=!0,Et=!1,Dt=!0,R=!1,z=!0,B=!1,Ot=!1,kt=null,At=null,jt=!1,V=!1,Mt=!1,H=!1,U=!0,Nt=!1,Pt=`user-content-`,Ft=!0,It=!1,W={},G=null,Lt=k({},/* @__PURE__ */ `annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),Rt=null,zt=k({},[`audio`,`video`,`img`,`source`,`image`,`track`]),K=null,Bt=k({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Vt=`http://www.w3.org/1998/Math/MathML`,q=`http://www.w3.org/2000/svg`,J=`http://www.w3.org/1999/xhtml`,Y=J,Ht=!1,Ut=null,Wt=k({},[Vt,q,J],De),Gt=x([`mi`,`mo`,`mn`,`ms`,`mtext`]),X=k({},Gt),Kt=x([`annotation-xml`]),qt=k({},Kt),Jt=k({},[`title`,`style`,`font`,`a`,`script`]),Z=null,Yt=[`application/xhtml+xml`,`text/html`],Q=null,Xt=null,Zt=n.createElement(`form`),Qt=function(e){return e instanceof RegExp||e instanceof Function},$t=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Xt&&Xt===e)return;(!e||typeof e!=`object`)&&(e={}),e=A(e),Z=Yt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,Q=Z===`application/xhtml+xml`?De:Ee,P=N(e,`ALLOWED_TAGS`,bt,{transform:Q}),F=N(e,`ALLOWED_ATTR`,xt,{transform:Q}),Ut=N(e,`ALLOWED_NAMESPACES`,Wt,{transform:De}),K=N(e,`ADD_URI_SAFE_ATTR`,Bt,{transform:Q,base:Bt}),Rt=N(e,`ADD_DATA_URI_TAGS`,zt,{transform:Q,base:zt}),G=N(e,`FORBID_CONTENTS`,Lt,{transform:Q}),St=N(e,`FORBID_TAGS`,A({}),{transform:Q}),Ct=N(e,`FORBID_ATTR`,A({}),{transform:Q}),W=T(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?A(e.USE_PROFILES):e.USE_PROFILES:!1,wt=e.ALLOW_ARIA_ATTR!==!1,Tt=e.ALLOW_DATA_ATTR!==!1,Et=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Dt=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,R=e.SAFE_FOR_TEMPLATES||!1,z=e.SAFE_FOR_XML!==!1,B=e.WHOLE_DOCUMENT||!1,V=e.RETURN_DOM||!1,Mt=e.RETURN_DOM_FRAGMENT||!1,H=e.RETURN_TRUSTED_TYPE||!1,jt=e.FORCE_BODY||!1,U=e.SANITIZE_DOM!==!1,Nt=e.SANITIZE_NAMED_PROPS||!1,Ft=e.KEEP_CONTENT!==!1,It=e.IN_PLACE||!1,yt=ze(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:nt,Y=typeof e.NAMESPACE==`string`?e.NAMESPACE:J,X=_t(e,`MATHML_TEXT_INTEGRATION_POINTS`,()=>k({},Gt)),qt=_t(e,`HTML_INTEGRATION_POINTS`,()=>k({},Kt));let t=_t(e,`CUSTOM_ELEMENT_HANDLING`,()=>_e(null));if(I=_e(null),T(t,`tagNameCheck`)&&Qt(t.tagNameCheck)&&(I.tagNameCheck=t.tagNameCheck),T(t,`attributeNameCheck`)&&Qt(t.attributeNameCheck)&&(I.attributeNameCheck=t.attributeNameCheck),T(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(I.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),S(I),R&&(Tt=!1),Mt&&(V=!0),W&&(P=k({},Ke),F=_e(null),W.html===!0&&(k(P,Be),k(F,qe)),W.svg===!0&&(k(P,Ve),k(F,Je),k(F,Xe)),W.svgFilters===!0&&(k(P,He),k(F,Je),k(F,Xe)),W.mathMl===!0&&(k(P,We),k(F,Ye),k(F,Xe))),L.tagCheck=null,L.attributeCheck=null,T(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?L.tagCheck=e.ADD_TAGS:Te(e.ADD_TAGS)&&(P===bt&&(P=A(P)),k(P,e.ADD_TAGS,Q))),T(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?L.attributeCheck=e.ADD_ATTR:Te(e.ADD_ATTR)&&(F===xt&&(F=A(F)),k(F,e.ADD_ATTR,Q))),T(e,`ADD_FORBID_CONTENTS`)&&Te(e.ADD_FORBID_CONTENTS)&&(G===Lt&&(G=A(G)),k(G,e.ADD_FORBID_CONTENTS,Q)),Ft&&(P[`#text`]=!0),B&&k(P,[`html`,`head`,`body`]),P.table&&(k(P,[`tbody`]),delete St.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw D(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw D(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=v;v=e.TRUSTED_TYPES_POLICY;try{y=b(``)}catch(e){throw v=t,e}}else e.TRUSTED_TYPES_POLICY===null?(v=void 0,y=``):(v===void 0&&(v=pe()),v&&typeof y==`string`&&(y=b(``)));x&&x(e),Xt=e},en=k({},[...Ve,...He,...Ue]),tn=k({},[...We,...Ge]),nn=function(e,t,n){return t.namespaceURI===J?e===`svg`:t.namespaceURI===Vt?e===`svg`&&(n===`annotation-xml`||X[n]):!!en[e]},rn=function(e,t,n){return t.namespaceURI===J?e===`math`:t.namespaceURI===q?e===`math`&&qt[n]:!!tn[e]},an=function(e,t,n){return t.namespaceURI===q&&!qt[n]||t.namespaceURI===Vt&&!X[n]?!1:!tn[e]&&(Jt[e]||!en[e])},on=function(e){let t=h(e);(!t||!t.tagName)&&(t={namespaceURI:Y,tagName:`template`});let n=Ee(e.tagName),r=Ee(t.tagName);return Ut[e.namespaceURI]?e.namespaceURI===q?nn(n,t,r):e.namespaceURI===Vt?rn(n,t,r):e.namespaceURI===J?an(n,t,r):!!(Z===`application/xhtml+xml`&&Ut[e.namespaceURI]):!1},sn=function(e){Ce(t.removed,{element:e});try{h(e).removeChild(e)}catch{if(p(e),!h(e))throw D(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},cn=function(e,t,n){try{ee(e,t)}catch{try{e.removeAttribute(n)}catch{}}},ln=function(e){fn(e);let t=m(e);if(t){let e=[];C(t,t=>{Ce(e,t)}),C(e,e=>{try{p(e)}catch{}})}let n=re(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;typeof i==`string`&&cn(e,r,i)}},un=function(e,n,r){if(!r)try{r=n.getAttributeNode(e)}catch{r=null}Ce(t.removed,{attribute:r||null,from:n});try{r?ee(n,r):n.removeAttribute(e)}catch{try{n.removeAttribute(e)}catch{}}if(e===`is`){if(V||Mt)try{sn(n)}catch{}else try{n.setAttribute(e,``)}catch{}}},dn=function(e){let t=re(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;typeof i!=`string`||F[Q(i)]||cn(e,r,i)}},fn=function(e){let t=[e];for(;t.length>0;){let e=t.pop();ae(e)===M.element&&dn(e);let n=m(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},pn=function(e,t){return z?e===`patchsrc`||e===`for`&&t!==`label`&&t!==`output`:!1},mn=function(e){if(!z)return;let t=[e];for(;t.length>0;){let e=t.pop(),n=ae(e);if(n===M.processingInstruction||n===M.comment&&E(ct,e.data)){try{p(e)}catch{}continue}if(n===M.element){let t=e,n=Q(oe(e));try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&pn(`for`,n)&&t.removeAttribute(`for`)}catch{}}let r=m(e);if(r)for(let e=r.length-1;e>=0;--e)t.push(r[e])}},hn=function(e){let t=null,r=null;if(jt)e=`<remove></remove>`+e;else{let t=Oe(e,/^[\r\n\t ]+/);r=t&&t[0]}Z===`application/xhtml+xml`&&Y===J&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=v?b(e):e;if(Y===J)try{t=new l().parseFromString(i,Z)}catch{}if(!t||!t.documentElement){t=he.createDocument(Y,`template`,null);try{t.documentElement.innerHTML=Ht?y:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),Y===J?ye.call(t,B?`html`:`body`)[0]:B?t.documentElement:a},gn=function(e){let t=ie?ie(e):e.ownerDocument;return ge.call(t||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},_n=function(e){return e=ke(e,Me,` `),e=ke(e,Ne,` `),e=ke(e,Pe,` `),e},vn=function(e){e.normalize();let t=ie?ie(e):e.ownerDocument,n=ge.call(t||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=_n(r.data),r=n.nextNode();let i=e.querySelectorAll?.call(e,`template`);i&&C(i,e=>{bn(e.content)&&vn(e.content)})},yn=function(e){let t=_?_(e):null;return typeof t!=`string`||Q(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==re(e)||typeof e.removeAttribute!=`function`||typeof e.removeAttributeNode!=`function`||typeof e.getAttributeNode!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==g(e)||e.childNodes!==m(e)},bn=function(e){if(!g||typeof e!=`object`||!e)return!1;try{return g(e)===M.documentFragment}catch{return!1}},xn=function(e){if(!g||typeof e!=`object`||!e)return!1;try{return typeof g(e)==`number`}catch{return!1}};function $(e,n,r){e.length!==0&&C(e,e=>{e.call(t,n,r,Xt)})}let Sn=function(e,t){return!!(z&&e.hasChildNodes()&&!xn(e.firstElementChild)&&E(st,e.textContent)&&E(st,e.innerHTML)||z&&e.namespaceURI===J&&ft[t]&&(xn(e.firstElementChild)||typeof e.textContent==`string`&&E(pt[t],e.textContent))||e.nodeType===M.processingInstruction||z&&e.nodeType===M.comment&&E(ct,e.data))},Cn=function(e,t){return e instanceof RegExp?E(e,t):e instanceof Function&&!!e(t,...[...arguments].slice(2))},wn=function(e,t,n){if(!St[t]&&An(t)&&Cn(I.tagNameCheck,t))return!1;if(Ft&&!G[t]){let t=h(e),r=m(e);if(r&&t){let i=r.length;for(let a=i-1;a>=0;--a){let i=e===n?f(r[a],!0):r[a];t.insertBefore(i,te(e))}}}return sn(e),!0},Tn=function(e,t,n,r){return e.length===0?t:t===n||t===r?A(t):t},En=function(e,t){return e===t||h(e)!==null?!1:(It&&fn(e),!0)},Dn=function(e,n){if($(w.beforeSanitizeElements,e,null),En(e,n))return!0;if(yn(e))return sn(e),!0;let r=Q(oe(e));if(P=Tn(w.uponSanitizeElement,P,bt,kt),$(w.uponSanitizeElement,e,{tagName:r,allowedTags:P}),En(e,n))return!0;if(Sn(e,r))return sn(e),!0;if(St[r]||!(L.tagCheck instanceof Function&&L.tagCheck(r))&&!P[r]){let t=wn(e,r,n);return t===!1&&($(w.afterSanitizeElements,e,null),En(e,n))?!0:t}if(ae(e)===M.element&&!on(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&E(lt,e.innerHTML))return sn(e),!0;if(R&&e.nodeType===M.text){let n=_n(e.textContent);e.textContent!==n&&(Ce(t.removed,{element:e.cloneNode()}),e.textContent=n)}return $(w.afterSanitizeElements,e,null),En(e,n)},On=function(e,t,r){if(Ct[t]||pn(t,e)||U&&(t===`id`||t===`name`)&&(r in n||r in Zt))return!1;let i=F[t]||L.attributeCheck instanceof Function&&L.attributeCheck(t,e);return Tt&&E(Fe,t)||wt&&E(O,t)?!0:i?K[t]||E(yt,ke(r,Le,``))||(t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&Ae(r,`data:`)===0&&Rt[e]||Et&&!E(Ie,ke(r,Le,``))?!0:!r:An(e)&&Cn(I.tagNameCheck,e)&&Cn(I.attributeNameCheck,t,e)||t===`is`&&I.allowCustomizedBuiltInElements&&Cn(I.tagNameCheck,r)},kn=k({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),An=function(e){return!kn[Ee(e)]&&E(dt,e)},jn=function(e,t,n,r){if(v&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return b(r);case`TrustedScriptURL`:return de(r)}return r},Mn=function(e,t,n,r){try{return n?e.setAttributeNS(n,t,r):e.setAttribute(t,r),!yn(e)||(sn(e),!1)}catch{return un(t,e),!1}},Nn=function(e,n){if($(w.beforeSanitizeAttributes,e,null),En(e,n))return;let r=e.attributes;if(!r||yn(e))return;F=Tn(w.uponSanitizeAttribute,F,xt,At);let i={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:F,forceKeepAttr:void 0},a=r.length,o=Q(e.nodeName);for(;a--;){let n=r[a],s=n.name,c=n.namespaceURI,l=n.value,u=Q(s),d=l,f=s===`value`?d:je(d),p=!1;i.attrName=u,i.attrValue=f,i.keepAttr=!0,i.forceKeepAttr=void 0,$(w.uponSanitizeAttribute,e,i),f=i.attrValue,Nt&&(u===`id`||u===`name`)&&Ae(f,Pt)!==0&&(un(s,e,n),f=Pt+f,p=!0),z&&E(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,f)||u===`attributename`&&Oe(f,`href`)?un(s,e,n):i.forceKeepAttr||(i.keepAttr?!Dt&&E(ut,f)?un(s,e,n):(R&&(f=_n(f)),On(o,u,f)?(f=jn(o,u,c,f),f!==d&&Mn(e,s,c,f)&&p&&Se(t.removed)):un(s,e,n)):un(s,e,n))}$(w.afterSanitizeAttributes,e,null),En(e,n)},Pn=function(e){let t=null,n=gn(e);for($(w.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if($(w.uponSanitizeShadowNode,t,null),Dn(t,e),Nn(t,e),bn(t.content)&&Pn(t.content),ae(t)===M.element){let e=ne(t);bn(e)&&(Fn(e),Pn(e))}$(w.afterSanitizeShadowDOM,e,null)},Fn=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){Pn(e.shadow);continue}let n=e.node,r=ae(n)===M.element,i=m(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=_?_(n):null;if(typeof e==`string`&&Q(e)===`template`){let e=n.content;bn(e)&&t.push({node:e,shadow:null})}}if(r){let e=ne(n);bn(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(Ht=!e,Ht&&(e=`<!-->`),typeof e!=`string`&&!xn(e)&&(e=Re(e),typeof e!=`string`))throw D(`dirty is not a string, aborting`);if(!t.isSupported)return e;Ot?(P=kt,F=At):$t(n),(w.uponSanitizeElement.length>0||w.uponSanitizeAttribute.length>0)&&(P=A(P)),w.uponSanitizeAttribute.length>0&&(F=A(F)),t.removed=[];let c=It&&typeof e!=`string`&&xn(e);if(c){mn(e);let t=oe(e);if(typeof t==`string`){let n=Q(t);if(!P[n]||St[n])throw ln(e),D(`root node is forbidden and cannot be sanitized in-place`)}if(yn(e))throw ln(e),D(`root node is clobbered and cannot be sanitized in-place`);try{Fn(e)}catch(t){throw ln(e),t}}else if(xn(e))i=hn(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===M.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),Fn(i);else{if(!V&&!R&&!B&&e.indexOf(`<`)===-1)return v&&H?b(e):e;if(i=hn(e),!i)return V?null:H?y:``}i&&jt&&sn(i.firstChild);let l=c?e:i;try{let e=gn(l);for(;o=e.nextNode();)Dn(o,l),Nn(o,l),bn(o.content)&&Pn(o.content)}catch(n){throw c&&(ln(e),C(t.removed,e=>{e.element&&fn(e.element)})),n}if(c){let n=!1;if(C(t.removed,t=>{t.element&&(t.element===e&&(n=!0),fn(t.element))}),n)throw D(`a node selected for removal could not be safely returned; refusing to sanitize in place`);return R&&vn(e),e}if(V){if(R&&vn(i),Mt)for(s=ve.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(F.shadowroot||F.shadowrootmode)&&(s=be.call(r,s,!0)),s}let u=B?i.outerHTML:i.innerHTML;return B&&P[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&E(at,i.ownerDocument.doctype.name)&&(u=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
7
7
|
`+u),R&&(u=_n(u)),v&&H?b(u):u},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};$t(e),Ot=!0,kt=P,At=F},t.clearConfig=function(){Xt=null,Ot=!1,kt=null,At=null,v=se,y=``},t.isValidAttribute=function(e,t,n){Xt||$t({});let r=Q(e),i=Q(t);return On(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&T(w,e)&&Ce(w[e],t)},t.removeHook=function(e,t){if(T(w,e)){if(t!==void 0){let n=xe(w[e],t);return n===-1?void 0:we(w[e],n,1)[0]}return Se(w[e])}},t.removeHooks=function(e){T(w,e)&&(w[e]=[])},t.removeAllHooks=function(){w=gt()},t}var yt=vt();const P=[`youtube.com`,`youtube-nocookie.com`,`youtu.be`,`xt-ml.github.io`,`kherrick.github.io`];let bt=[...P],F=[];function xt(e){F=e.map(e=>n(e)).filter(Boolean)}xt(bt);function I(e){let t;t=typeof e==`string`?e.split(`
|
|
8
|
-
`).map(e=>e.trim()).filter(e=>e.length>0):e.map(e=>e.trim()).filter(e=>e.length>0),bt=t.length>0?t:[...P],xt(bt)}function St(e){if(!e||typeof e!=`string`)return!1;let t=e.trim();if(t.length===0||/^(?:javascript|data|vbscript):/i.test(t))return!1;try{let e=typeof window<`u`&&window.location?.origin&&window.location.origin!==`null`?window.location.origin:`http://localhost`,n=new URL(t,e);return n.protocol!==`http:`&&n.protocol!==`https:`?!1:typeof window<`u`&&window.location?.origin&&window.location.origin!==`null`&&n.origin===window.location.origin?!0:F.some(e=>e(n.hostname))}catch{return!1}}let Ct=null;function L(){if(Ct&&Ct.isSupported!==!1)return Ct;let e=yt,t=typeof window<`u`?window:typeof globalThis<`u`&&globalThis.window?globalThis.window:void 0,n=null;return n=typeof e==`function`?t?e(t):e():typeof e?.default==`function`?t?e.default(t):e.default():typeof e?.addHook==`function`?e:typeof e?.default?.addHook==`function`?e.default:e,Ct=n&&typeof n.addHook==`function`?n:n||e,Ct}let wt=!1;function Tt(){if(wt)return;let e=L();if(e&&typeof e.addHook==`function`){let t=e=>{if(e&&e.nodeType===1&&e.tagName?.toLowerCase()===`iframe`){let t=e,n=t.getAttribute(`src`)||``;!n||!St(n)?(t.removeAttribute(`src`),typeof t.remove==`function`&&t.remove(),t.parentNode&&t.parentNode.removeChild(t)):t.hasAttribute(`referrerpolicy`)||t.setAttribute(`referrerpolicy`,`strict-origin-when-cross-origin`)}};e.addHook(`uponSanitizeElement`,t),e.addHook(`afterSanitizeElements`,t),wt=!0}}function Et(e=``,t={}){return Tt(),Qt(),L().sanitize(e,{ADD_TAGS:[`iframe`,`figure`,`figcaption`],ADD_ATTR:[`allow`,`allowfullscreen`,`frameborder`,`scrolling`,`referrerpolicy`,`loading`],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>te(e),attributeNameCheck:()=>!0,allowCustomizedBuiltInElements:!1},...t})}function Dt(t,n=``,r){let i=t.trim();if(!i)return!1;let a=i.indexOf(`?`);if(a!==-1&&(i=i.slice(0,a+1)+i.slice(a+1).replace(/\?/g,`&`)),i.startsWith(`/#`)||i.startsWith(`#`)){let e=(i.startsWith(`/#`)?i.slice(2):i.slice(1)).split(/[?#]/,1)[0].toLowerCase();if([`chat`,`files`,`tasks`,`pages`,`settings`].includes(e)){let t=i.startsWith(`/#`)?i.replace(/^\/#/,`http://local/`):i.replace(/^#/,`http://local/`),n=new URL(t,`http://local/`),a=n.searchParams.get(`groupId`)||n.searchParams.get(`conversationId`)||r,o=n.searchParams.get(`file`)||n.searchParams.get(`path`)||void 0,s=n.searchParams.get(`anchor`)||(n.hash?n.hash.slice(1):void 0),c={page:e,groupId:a||void 0,path:o||void 0,anchor:s||void 0};return document.dispatchEvent(new CustomEvent(`shadow-claw-navigate`,{detail:c,bubbles:!0,composed:!0})),!0}}if(i.startsWith(`/`))try{let t=new URL(i,window.location.origin),n=e(t,r);if(n)return document.dispatchEvent(new CustomEvent(`shadow-claw-navigate`,{detail:{page:n.page,groupId:n.groupId,path:n.path,anchor:n.anchor||(t.hash?t.hash.slice(1):void 0)},bubbles:!0,composed:!0})),!0}catch{}if(!/^[a-zA-Z][a-zA-Z\d+.-]*:/.test(i)&&!i.startsWith(`//`)&&!i.startsWith(`javascript:`)){let e=i.split(/[?#]/,1)[0].replace(/\\/g,`/`),t=e.startsWith(`/`);e=e.replace(/^\/+/,``);let a=new URL(i,`http://local/`),o=a.hash?a.hash.slice(1):void 0,s=e;if(!t&&n){let t=n.replace(/\\/g,`/`).replace(/^\/+/,``).split(`/`).filter(Boolean);t.pop();let r=e.split(`/`),i=[...t];for(let e of r)e&&e!==`.`&&(e===`..`?i.pop():i.push(e));s=i.join(`/`)}if(s){let e={page:`files`,groupId:r||void 0,path:s,anchor:o||void 0};return document.dispatchEvent(new CustomEvent(`shadow-claw-navigate`,{detail:e,bubbles:!0,composed:!0})),!0}}return!1}const R=`shadowclaw`;let z;function B(){let e=globalThis.trustedTypes;return!e||typeof e.createPolicy!=`function`?null:e}function Ot(){if(z!==void 0)return z;let e=B();if(!e)return z=null,z;if(typeof e.getPolicy==`function`){let t=e.getPolicy(R);if(t)return z=t,z}try{z=e.createPolicy(R,{createHTML:e=>e,createScriptURL:e=>e})}catch{z=typeof e.getPolicy==`function`?e.getPolicy(R)??null:null}return z}function kt(e=``,t={}){let n=Et(e,t),r=Ot();return r?r.createHTML(n):n}function At(e,t={}){return Et(e,t)}function jt(e){let t=Ot();return t?t.createHTML(e):e}function V(e,t=``,n={}){let r=kt(t,n);return e.innerHTML=r,r}function Mt(e,t){let n=jt(t);return e.srcdoc=n,n}function H(e){let t=Ot();return!t||typeof t.createScriptURL!=`function`?e:t.createScriptURL(e)}let U=null;function Nt(){if(U!==null)return U;if(typeof document<`u`){let e=document.querySelector(`meta[name="shadow-claw-asset-base"]`)?.getAttribute(`content`)?.trim();if(e)return U=e.endsWith(`/`)?e:`${e}/`,U;let t=document.getElementById(`shadow-claw-site-config`);if(t?.textContent)try{let e=JSON.parse(t.textContent)?.runtime?.assetBase;if(typeof e==`string`&&e.trim()){let t=e.trim();return U=t.endsWith(`/`)?t:`${t}/`,U}}catch{}}if(import.meta.url){let e=import.meta.url;if(e.startsWith(`http://`)||e.startsWith(`https://`))try{if(e.includes(`/dist/lib/`))return U=new URL(`../public/`,e).href,U;if(e.includes(`/dist/public/`))return U=new URL(`./`,e).href,U}catch{}}let e=t(`/`);if(typeof window<`u`&&window.location?.origin)try{return U=new URL(e,window.location.origin).href,U.endsWith(`/`)||(U+=`/`),U}catch{}return U=e.endsWith(`/`)?e:`${e}/`,U}function Pt(e){if(e.startsWith(`http://`)||e.startsWith(`https://`))return e.includes(`/dist/lib/`)?e.replace(`/dist/lib/`,`/dist/public/`):e;if(e.startsWith(`//`)||e.startsWith(`data:`)||e.startsWith(`blob:`))return e;let n=e.replace(/^\/+/,``),r=Nt();if(Ft(r))try{return new URL(n,r).href}catch{return`${r.replace(/\/+$/,``)}/${n}`}let i=t(`/`);return!e.startsWith(`/`)&&i===`/`?n:t(`/${n}`)}function Ft(e){if(e.startsWith(`data:`)||e.startsWith(`blob:`)||e.startsWith(`file:`)||e.startsWith(`/`)||typeof window>`u`||!window.location?.origin)return!1;try{let t=new URL(e,window.location.href);return t.protocol!==`http:`&&t.protocol!==`https:`?!1:!!(window.location.origin&&window.location.origin!==`null`&&t.origin!==window.location.origin)}catch{return!1}}function It(e,t={}){let n=Pt(e);if(Ft(n)){let e=`import "${n}";`,r=new Blob([e],{type:`application/javascript`}),i=H(URL.createObjectURL(r));return new Worker(i,{...t,type:`module`})}let r=H(n);return new Worker(r,{...t,type:`module`})}const W=`allow-modals allow-scripts allow-popups allow-popups-to-escape-sandbox`,G=[`'self'`,`blob:`,`data:`],Lt=[`'self'`,`blob:`,`data:`],Rt=[`'self'`,`'unsafe-inline'`,`https:`,`http:`],zt=[`'self'`,`blob:`,`data:`,`https:`,`http:`];let K=W,Bt=[...G],Vt=[...Lt],q=[],J=[...Rt],Y=[...zt];function Ht(){return K}function Ut(e){K=Array.isArray(e)?e.map(e=>typeof e==`string`?e.trim():``).filter(Boolean).join(` `):typeof e==`string`&&e.trim()?e.trim():W}function Wt(e){let t=ee(),n=Jt(),r=/* @__PURE__ */ new Set;for(let e of t)e&&/^(\*\.)?[a-zA-Z0-9.-]+(?::[0-9]+)?$/.test(e)&&(r.add(`https://${e}`),r.add(`http://${e}`));for(let e of n)try{let t=new URL(e,typeof globalThis<`u`&&globalThis.location?.origin?globalThis.location.origin:`http://localhost`);r.add(t.origin)}catch{}let i=Nt();if(Ft(i))try{let e=new URL(i);r.add(e.origin)}catch{}let a=[...q.includes(`'unsafe-inline'`)?[]:[`'nonce-${e}'`],...Array.from(r),...q],o=[...Vt,...Array.from(r)];return[`script-src ${Array.from(new Set(a)).join(` `)}`,`worker-src ${Array.from(new Set(Bt)).join(` `)}`,`connect-src ${Array.from(new Set(o)).join(` `)}`,`style-src ${Array.from(new Set(J)).join(` `)}`,`img-src ${Array.from(new Set(Y)).join(` `)}`].join(`; `)}function Gt(e){if(!e||typeof e!=`object`)return;let t=e.allowedCustomElements||(typeof e.customElements==`object`&&!Array.isArray(e.customElements)?e.customElements?.allowedElements:void 0);t!==void 0&&d(t);let n=e.allowedCustomElementDomains||(typeof e.customElements==`object`&&!Array.isArray(e.customElements)?e.customElements?.allowedDomains:void 0);n!==void 0&&p(n);let r=typeof e.customElements==`object`&&!Array.isArray(e.customElements)?e.customElements?.scripts:void 0;r!==void 0&&Kt(r),e.security?.iframeSandbox===void 0?(e.security?.allowSameOrigin===!0||e.security?.allowIframeSameOrigin===!0)&&(K.includes(`allow-same-origin`)||(K=`${K} allow-same-origin`.trim())):Ut(e.security.iframeSandbox),e.security?.workerSrc!==void 0&&(Bt=u(e.security.workerSrc)),e.security?.connectSrc!==void 0&&(Vt=u(e.security.connectSrc)),e.security?.scriptSrc!==void 0&&(q=u(e.security.scriptSrc)),e.security?.styleSrc!==void 0&&(J=u(e.security.styleSrc)),e.security?.imgSrc!==void 0&&(Y=u(e.security.imgSrc))}re(Gt);let X=[];function Kt(e){X=Array.isArray(e)?e.map(e=>{let t=typeof e==`string`?e:e?.src,n=typeof e==`object`&&e&&typeof e.id==`string`?e.id.trim():void 0,r=typeof e==`object`&&e&&typeof e.name==`string`?e.name.trim():void 0,i=typeof e==`object`&&e?!!(e.global||e.autoload):!1,a=typeof e==`object`&&e&&typeof e.type==`string`?e.type:void 0,o=typeof e==`object`&&e&&typeof e.async==`boolean`?e.async:void 0,s=typeof e==`object`&&e&&typeof e.defer==`boolean`?e.defer:void 0,c=typeof e==`object`&&e?!!e.hasInit:!1;return{src:t,...n?{id:n}:{},...r?{name:r}:{},...i?{global:!0,autoload:!0}:{},...a?{type:a}:{},...o?{async:o}:{},...s?{defer:s}:{},hasInit:c}}).filter(e=>typeof e.src==`string`&&m(e.src)):[]}function qt(){if(X.length>0)return[...X];if(typeof document>`u`)return[];let e=document.getElementById(`shadow-claw-site-config`);if(!e||!e.textContent)return[];try{let t=JSON.parse(e.textContent),n=typeof t.customElements==`object`&&!Array.isArray(t.customElements)?t.customElements?.scripts:void 0;if(Array.isArray(n))return Kt(n),[...X]}catch{}return[]}function Jt(){return qt().map(e=>e.src)}function Z(e){if(!e||typeof e!=`string`)return!1;let t=e.trim();if(!t||/^(?:javascript|data|vbscript):/i.test(t))return!1;let n=qt();if(n.length===0)return!1;let r=t.toLowerCase();if(n.some(e=>e.id&&e.id.toLowerCase()===r||e.name&&e.name.toLowerCase()===r)||n.some(e=>{let t=(e.src.split(`/`).pop()||``).toLowerCase(),n=t.replace(/\.(js|mjs|cjs|ts)$/i,``);return t===r||n===r}))return!0;let i=Jt(),a=t.split(`?`)[0].split(`#`)[0].trim(),o=e=>e.replace(/^\.?\//,``).replace(/^pages\/main\//,``).toLowerCase(),s=o(a);return i.some(e=>{if(e===a||o(e)===s)return!0;try{let n=new URL(t,`http://localhost`),r=new URL(e,`http://localhost`);return n.pathname.toLowerCase()===r.pathname.toLowerCase()||o(n.pathname)===o(r.pathname)}catch{return!1}})}function Yt(e){if(!e||typeof e!=`string`)return!1;let t=f();if(t.length>0)return t.some(t=>{let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`<${n}[\\s>/]`,`i`).test(e)});let n=/<([a-z][a-z0-9_]*-[a-z0-9_-]*)[\\s>/]/gi,r;for(;(r=n.exec(e))!==null;)if(!r[1].toLowerCase().startsWith(`shadow-claw`))return!0;return!1}async function Q(e){try{let{getDb:t}=await import(`./db-BUuJo1Gf.js`).then(e=>e.t),{getConfig:n}=await import(`./get-config-Bkvl__ZS.js`).then(e=>e.n),r=e??await t();if(!r)return;let[i,a]=await Promise.all([n(r,`allowed_custom_elements`),n(r,`allowed_custom_element_host_patterns`)]);if(typeof i==`string`&&i.trim())try{d(JSON.parse(i))}catch{d(i)}if(typeof a==`string`&&a.trim())try{p(JSON.parse(a))}catch{p(a)}}catch(e){console.warn(`Failed to load custom element security from db:`,e)}}async function Xt(e,t={}){if(!m(e))throw Error(`[Security] Refused to load script from unapproved host: ${e}`);if(typeof document>`u`)throw Error(`Cannot load script outside browser document environment.`);let n=document.querySelector(`script[src="${e}"]`);if(n instanceof HTMLScriptElement)return n;let r=H(e);return new Promise((n,i)=>{let a=document.createElement(`script`);a.type=t.type||`module`,t.async&&(a.async=!0),t.defer&&(a.defer=!0),a.src=r,a.onload=()=>n(a),a.onerror=t=>i(/* @__PURE__ */ Error(`Failed to load custom element script: ${e} (${t})`)),document.head.appendChild(a)})}let Zt=!1;function Qt(){if(Zt)return;let e=L();if(e&&typeof e.addHook==`function`){let t=e=>{if(e&&e.nodeType===1){let t=e,n=(t.tagName||``).toLowerCase();if(n.includes(`-`)&&!te(n))typeof t.remove==`function`&&t.remove(),t.parentNode&&t.parentNode.removeChild(t);else if(n===`script`){let e=t.getAttribute(`src`)||``;(!e||!Z(e))&&(typeof t.remove==`function`&&t.remove(),t.parentNode&&t.parentNode.removeChild(t))}}};e.addHook(`uponSanitizeElement`,t),e.addHook(`afterSanitizeElements`,t),Zt=!0}}export{ae as C,oe as S,Dt as _,Ht as a,L as b,Xt as c,Pt as d,At as f,H as g,jt as h,Wt as i,Q as l,Mt as m,Qt as n,Yt as o,V as p,qt as r,Z as s,Gt as t,It as u,P as v,te as w,I as x,Tt as y};
|
|
8
|
+
`).map(e=>e.trim()).filter(e=>e.length>0):e.map(e=>e.trim()).filter(e=>e.length>0),bt=t.length>0?t:[...P],xt(bt)}function St(e){if(!e||typeof e!=`string`)return!1;let t=e.trim();if(t.length===0||/^(?:javascript|data|vbscript):/i.test(t))return!1;try{let e=typeof window<`u`&&window.location?.origin&&window.location.origin!==`null`?window.location.origin:`http://localhost`,n=new URL(t,e);return n.protocol!==`http:`&&n.protocol!==`https:`?!1:typeof window<`u`&&window.location?.origin&&window.location.origin!==`null`&&n.origin===window.location.origin?!0:F.some(e=>e(n.hostname))}catch{return!1}}let Ct=null;function L(){if(Ct&&Ct.isSupported!==!1)return Ct;let e=yt,t=typeof window<`u`?window:typeof globalThis<`u`&&globalThis.window?globalThis.window:void 0,n=null;return n=typeof e==`function`?t?e(t):e():typeof e?.default==`function`?t?e.default(t):e.default():typeof e?.addHook==`function`?e:typeof e?.default?.addHook==`function`?e.default:e,Ct=n&&typeof n.addHook==`function`?n:n||e,Ct}let wt=!1;function Tt(){if(wt)return;let e=L();if(e&&typeof e.addHook==`function`){let t=e=>{if(e&&e.nodeType===1&&e.tagName?.toLowerCase()===`iframe`){let t=e,n=t.getAttribute(`src`)||``;!n||!St(n)?(t.removeAttribute(`src`),typeof t.remove==`function`&&t.remove(),t.parentNode&&t.parentNode.removeChild(t)):t.hasAttribute(`referrerpolicy`)||t.setAttribute(`referrerpolicy`,`strict-origin-when-cross-origin`)}};e.addHook(`uponSanitizeElement`,t),e.addHook(`afterSanitizeElements`,t),wt=!0}}function Et(e=``,t={}){return Tt(),Qt(),L().sanitize(e,{ADD_TAGS:[`iframe`,`figure`,`figcaption`],ADD_ATTR:[`allow`,`allowfullscreen`,`frameborder`,`scrolling`,`referrerpolicy`,`loading`],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>te(e),attributeNameCheck:()=>!0,allowCustomizedBuiltInElements:!1},...t})}function Dt(t,n=``,r){let i=t.trim();if(!i)return!1;let a=i.indexOf(`?`);if(a!==-1&&(i=i.slice(0,a+1)+i.slice(a+1).replace(/\?/g,`&`)),i.startsWith(`/#`)||i.startsWith(`#`)){let e=(i.startsWith(`/#`)?i.slice(2):i.slice(1)).split(/[?#]/,1)[0].toLowerCase();if([`chat`,`files`,`tasks`,`pages`,`settings`].includes(e)){let t=i.startsWith(`/#`)?i.replace(/^\/#/,`http://local/`):i.replace(/^#/,`http://local/`),n=new URL(t,`http://local/`),a=n.searchParams.get(`groupId`)||n.searchParams.get(`conversationId`)||r,o=n.searchParams.get(`file`)||n.searchParams.get(`path`)||void 0,s=n.searchParams.get(`anchor`)||(n.hash?n.hash.slice(1):void 0),c={page:e,groupId:a||void 0,path:o||void 0,anchor:s||void 0};return document.dispatchEvent(new CustomEvent(`shadow-claw-navigate`,{detail:c,bubbles:!0,composed:!0})),!0}}if(i.startsWith(`/`)&&!i.startsWith(`//`))try{let t=new URL(i,window.location.origin);if(t.origin===window.location.origin){let n=e(t,r);if(n)return document.dispatchEvent(new CustomEvent(`shadow-claw-navigate`,{detail:{page:n.page,groupId:n.groupId,path:n.path,anchor:n.anchor||(t.hash?t.hash.slice(1):void 0)},bubbles:!0,composed:!0})),!0}}catch{}if(!/^[a-zA-Z][a-zA-Z\d+.-]*:/.test(i)&&!i.startsWith(`//`)&&!i.startsWith(`javascript:`)){let e=i.split(/[?#]/,1)[0].replace(/\\/g,`/`),t=e.startsWith(`/`);e=e.replace(/^\/+/,``);let a=new URL(i,`http://local/`),o=a.hash?a.hash.slice(1):void 0,s=e;if(!t&&n){let t=n.replace(/\\/g,`/`).replace(/^\/+/,``).split(`/`).filter(Boolean);t.pop();let r=e.split(`/`),i=[...t];for(let e of r)e&&e!==`.`&&(e===`..`?i.pop():i.push(e));s=i.join(`/`)}if(s){let e={page:`files`,groupId:r||void 0,path:s,anchor:o||void 0};return document.dispatchEvent(new CustomEvent(`shadow-claw-navigate`,{detail:e,bubbles:!0,composed:!0})),!0}}return!1}const R=`shadowclaw`;let z;function B(){let e=globalThis.trustedTypes;return!e||typeof e.createPolicy!=`function`?null:e}function Ot(){if(z!==void 0)return z;let e=B();if(!e)return z=null,z;if(typeof e.getPolicy==`function`){let t=e.getPolicy(R);if(t)return z=t,z}try{z=e.createPolicy(R,{createHTML:e=>e,createScriptURL:e=>e})}catch{z=typeof e.getPolicy==`function`?e.getPolicy(R)??null:null}return z}function kt(e=``,t={}){let n=Et(e,t),r=Ot();return r?r.createHTML(n):n}function At(e,t={}){return Et(e,t)}function jt(e){let t=Ot();return t?t.createHTML(e):e}function V(e,t=``,n={}){let r=kt(t,n);return e.innerHTML=r,r}function Mt(e,t){let n=jt(t);return e.srcdoc=n,n}function H(e){let t=Ot();return!t||typeof t.createScriptURL!=`function`?e:t.createScriptURL(e)}let U=null;function Nt(){if(U!==null)return U;if(typeof document<`u`){let e=document.querySelector(`meta[name="shadow-claw-asset-base"]`)?.getAttribute(`content`)?.trim();if(e)return U=e.endsWith(`/`)?e:`${e}/`,U;let t=document.getElementById(`shadow-claw-site-config`);if(t?.textContent)try{let e=JSON.parse(t.textContent)?.runtime?.assetBase;if(typeof e==`string`&&e.trim()){let t=e.trim();return U=t.endsWith(`/`)?t:`${t}/`,U}}catch{}}if(import.meta.url){let e=import.meta.url;if(e.startsWith(`http://`)||e.startsWith(`https://`))try{if(e.includes(`/dist/lib/`))return U=new URL(`../public/`,e).href,U;if(e.includes(`/dist/public/`))return U=new URL(`./`,e).href,U}catch{}}let e=t(`/`);if(typeof window<`u`&&window.location?.origin)try{return U=new URL(e,window.location.origin).href,U.endsWith(`/`)||(U+=`/`),U}catch{}return U=e.endsWith(`/`)?e:`${e}/`,U}function Pt(e){if(e.startsWith(`http://`)||e.startsWith(`https://`))return e.includes(`/dist/lib/`)?e.replace(`/dist/lib/`,`/dist/public/`):e;if(e.startsWith(`//`)||e.startsWith(`data:`)||e.startsWith(`blob:`))return e;let n=e.replace(/^\/+/,``),r=Nt();if(Ft(r))try{return new URL(n,r).href}catch{return`${r.replace(/\/+$/,``)}/${n}`}let i=t(`/`);return!e.startsWith(`/`)&&i===`/`?n:t(`/${n}`)}function Ft(e){if(e.startsWith(`data:`)||e.startsWith(`blob:`)||e.startsWith(`file:`)||e.startsWith(`/`)||typeof window>`u`||!window.location?.origin)return!1;try{let t=new URL(e,window.location.href);return t.protocol!==`http:`&&t.protocol!==`https:`?!1:!!(window.location.origin&&window.location.origin!==`null`&&t.origin!==window.location.origin)}catch{return!1}}function It(e,t={}){let n=Pt(e);if(Ft(n)){let e=`import "${n}";`,r=new Blob([e],{type:`application/javascript`}),i=H(URL.createObjectURL(r));return new Worker(i,{...t,type:`module`})}let r=H(n);return new Worker(r,{...t,type:`module`})}const W=`allow-modals allow-scripts allow-popups allow-popups-to-escape-sandbox`,G=[`'self'`,`blob:`,`data:`],Lt=[`'self'`,`blob:`,`data:`],Rt=[`'self'`,`'unsafe-inline'`,`https:`,`http:`],zt=[`'self'`,`blob:`,`data:`,`https:`,`http:`];let K=W,Bt=[...G],Vt=[...Lt],q=[],J=[...Rt],Y=[...zt];function Ht(){return K}function Ut(e){K=Array.isArray(e)?e.map(e=>typeof e==`string`?e.trim():``).filter(Boolean).join(` `):typeof e==`string`&&e.trim()?e.trim():W}function Wt(e){let t=ee(),n=Jt(),r=/* @__PURE__ */ new Set;for(let e of t)e&&/^(\*\.)?[a-zA-Z0-9.-]+(?::[0-9]+)?$/.test(e)&&(r.add(`https://${e}`),r.add(`http://${e}`));for(let e of n)try{let t=new URL(e,typeof globalThis<`u`&&globalThis.location?.origin?globalThis.location.origin:`http://localhost`);r.add(t.origin)}catch{}let i=Nt();if(Ft(i))try{let e=new URL(i);r.add(e.origin)}catch{}let a=[...q.includes(`'unsafe-inline'`)?[]:[`'nonce-${e}'`],...Array.from(r),...q],o=[...Vt,...Array.from(r)];return[`script-src ${Array.from(new Set(a)).join(` `)}`,`worker-src ${Array.from(new Set(Bt)).join(` `)}`,`connect-src ${Array.from(new Set(o)).join(` `)}`,`style-src ${Array.from(new Set(J)).join(` `)}`,`img-src ${Array.from(new Set(Y)).join(` `)}`].join(`; `)}function Gt(e){if(!e||typeof e!=`object`)return;let t=e.allowedCustomElements||(typeof e.customElements==`object`&&!Array.isArray(e.customElements)?e.customElements?.allowedElements:void 0);t!==void 0&&d(t);let n=e.allowedCustomElementDomains||(typeof e.customElements==`object`&&!Array.isArray(e.customElements)?e.customElements?.allowedDomains:void 0);n!==void 0&&p(n);let r=typeof e.customElements==`object`&&!Array.isArray(e.customElements)?e.customElements?.scripts:void 0;r!==void 0&&Kt(r),e.security?.iframeSandbox===void 0?(e.security?.allowSameOrigin===!0||e.security?.allowIframeSameOrigin===!0)&&(K.includes(`allow-same-origin`)||(K=`${K} allow-same-origin`.trim())):Ut(e.security.iframeSandbox),e.security?.workerSrc!==void 0&&(Bt=u(e.security.workerSrc)),e.security?.connectSrc!==void 0&&(Vt=u(e.security.connectSrc)),e.security?.scriptSrc!==void 0&&(q=u(e.security.scriptSrc)),e.security?.styleSrc!==void 0&&(J=u(e.security.styleSrc)),e.security?.imgSrc!==void 0&&(Y=u(e.security.imgSrc))}re(Gt);let X=[];function Kt(e){X=Array.isArray(e)?e.map(e=>{let t=typeof e==`string`?e:e?.src,n=typeof e==`object`&&e&&typeof e.id==`string`?e.id.trim():void 0,r=typeof e==`object`&&e&&typeof e.name==`string`?e.name.trim():void 0,i=typeof e==`object`&&e?!!(e.global||e.autoload):!1,a=typeof e==`object`&&e&&typeof e.type==`string`?e.type:void 0,o=typeof e==`object`&&e&&typeof e.async==`boolean`?e.async:void 0,s=typeof e==`object`&&e&&typeof e.defer==`boolean`?e.defer:void 0,c=typeof e==`object`&&e?!!e.hasInit:!1;return{src:t,...n?{id:n}:{},...r?{name:r}:{},...i?{global:!0,autoload:!0}:{},...a?{type:a}:{},...o?{async:o}:{},...s?{defer:s}:{},hasInit:c}}).filter(e=>typeof e.src==`string`&&m(e.src)):[]}function qt(){if(X.length>0)return[...X];if(typeof document>`u`)return[];let e=document.getElementById(`shadow-claw-site-config`);if(!e||!e.textContent)return[];try{let t=JSON.parse(e.textContent),n=typeof t.customElements==`object`&&!Array.isArray(t.customElements)?t.customElements?.scripts:void 0;if(Array.isArray(n))return Kt(n),[...X]}catch{}return[]}function Jt(){return qt().map(e=>e.src)}function Z(e){if(!e||typeof e!=`string`)return!1;let t=e.trim();if(!t||/^(?:javascript|data|vbscript):/i.test(t))return!1;let n=qt();if(n.length===0)return!1;let r=t.toLowerCase();if(n.some(e=>e.id&&e.id.toLowerCase()===r||e.name&&e.name.toLowerCase()===r)||n.some(e=>{let t=(e.src.split(`/`).pop()||``).toLowerCase(),n=t.replace(/\.(js|mjs|cjs|ts)$/i,``);return t===r||n===r}))return!0;let i=Jt(),a=t.split(`?`)[0].split(`#`)[0].trim(),o=e=>e.replace(/^\.?\//,``).replace(/^pages\/main\//,``).toLowerCase(),s=o(a);return i.some(e=>{if(e===a||o(e)===s)return!0;try{let n=new URL(t,`http://localhost`),r=new URL(e,`http://localhost`);return n.pathname.toLowerCase()===r.pathname.toLowerCase()||o(n.pathname)===o(r.pathname)}catch{return!1}})}function Yt(e){if(!e||typeof e!=`string`)return!1;let t=f();if(t.length>0)return t.some(t=>{let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`<${n}[\\s>/]`,`i`).test(e)});let n=/<([a-z][a-z0-9_]*-[a-z0-9_-]*)[\\s>/]/gi,r;for(;(r=n.exec(e))!==null;)if(!r[1].toLowerCase().startsWith(`shadow-claw`))return!0;return!1}async function Q(e){try{let{getDb:t}=await import(`./db-BUuJo1Gf.js`).then(e=>e.t),{getConfig:n}=await import(`./get-config-Bkvl__ZS.js`).then(e=>e.n),r=e??await t();if(!r)return;let[i,a]=await Promise.all([n(r,`allowed_custom_elements`),n(r,`allowed_custom_element_host_patterns`)]);if(typeof i==`string`&&i.trim())try{d(JSON.parse(i))}catch{d(i)}if(typeof a==`string`&&a.trim())try{p(JSON.parse(a))}catch{p(a)}}catch(e){console.warn(`Failed to load custom element security from db:`,e)}}async function Xt(e,t={}){if(!m(e))throw Error(`[Security] Refused to load script from unapproved host: ${e}`);if(typeof document>`u`)throw Error(`Cannot load script outside browser document environment.`);let n=document.querySelector(`script[src="${e}"]`);if(n instanceof HTMLScriptElement)return n;let r=H(e);return new Promise((n,i)=>{let a=document.createElement(`script`);a.type=t.type||`module`,t.async&&(a.async=!0),t.defer&&(a.defer=!0),a.src=r,a.onload=()=>n(a),a.onerror=t=>i(/* @__PURE__ */ Error(`Failed to load custom element script: ${e} (${t})`)),document.head.appendChild(a)})}let Zt=!1;function Qt(){if(Zt)return;let e=L();if(e&&typeof e.addHook==`function`){let t=e=>{if(e&&e.nodeType===1){let t=e,n=(t.tagName||``).toLowerCase();if(n.includes(`-`)&&!te(n))typeof t.remove==`function`&&t.remove(),t.parentNode&&t.parentNode.removeChild(t);else if(n===`script`){let e=t.getAttribute(`src`)||``;(!e||!Z(e))&&(typeof t.remove==`function`&&t.remove(),t.parentNode&&t.parentNode.removeChild(t))}}};e.addHook(`uponSanitizeElement`,t),e.addHook(`afterSanitizeElements`,t),Zt=!0}}export{ae as C,oe as S,Dt as _,Ht as a,L as b,Xt as c,Pt as d,At as f,H as g,jt as h,Wt as i,Q as l,Mt as m,Qt as n,Yt as o,V as p,qt as r,Z as s,Gt as t,It as u,P as v,te as w,I as x,Tt as y};
|