shadow-claw 1.54.0 → 1.55.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.
Files changed (286) hide show
  1. package/.well-known/mcp/server-card.json +1 -1
  2. package/.well-known/mcp.json +1 -1
  3. package/README.md +1 -1
  4. package/dist/cli/build/build.js +1 -1
  5. package/dist/cli/{chunk-DO2t9bUI.js → chunk--IuVyWfT.js} +24 -23
  6. package/dist/cli/{chunk-2ZYd9gYC.js → chunk--JpdI-Ht.js} +1 -1
  7. package/dist/cli/{chunk-m4Ineemy.js → chunk-4O8yrQuN.js} +1 -1
  8. package/dist/cli/{chunk-BiH9IXnQ.js → chunk-7S9Ywlfy.js} +1 -1
  9. package/dist/cli/{chunk-BmMOdYvk.js → chunk-B0SqqDSK.js} +1 -1
  10. package/dist/cli/chunk-BNaWaEm-.js +1 -0
  11. package/dist/cli/chunk-BXCsxO9e.js +1 -0
  12. package/dist/cli/chunk-Bq37qDoZ.js +18 -0
  13. package/dist/cli/{chunk-C1htf-nO.js → chunk-BrEeCKIo.js} +2 -2
  14. package/dist/cli/{chunk-BI1SOTM1.js → chunk-Bu3ylrhT.js} +8 -8
  15. package/dist/cli/{chunk-3smiGQoQ.js → chunk-C1v_s0Kb.js} +1 -1
  16. package/dist/cli/{chunk-DGeysxz3.js → chunk-C44G533y.js} +1 -1
  17. package/dist/cli/{chunk-9KiBalKu.js → chunk-C7hJLmsL.js} +1 -1
  18. package/dist/cli/{chunk-BFv9XSNd.js → chunk-CAaQWd6t.js} +1 -1
  19. package/dist/cli/chunk-CIkgn5Fh.js +1 -0
  20. package/dist/cli/chunk-CWEIN2kc.js +1 -0
  21. package/dist/cli/{chunk-BDeDZ-0L.js → chunk-CYg1lO1a.js} +1 -1
  22. package/dist/cli/{chunk-DXLmEQ3i.js → chunk-Ce09lwXT.js} +1 -1
  23. package/dist/cli/{chunk-XsfHeN4m.js → chunk-CpdqRSO-.js} +1 -1
  24. package/dist/cli/chunk-DB4x5L-B.js +1 -0
  25. package/dist/cli/{chunk-DaNyMqrk.js → chunk-DBvObsBQ.js} +1 -1
  26. package/dist/cli/chunk-DGPpt7Ka.js +1 -0
  27. package/dist/cli/chunk-DGagHluH.js +1 -0
  28. package/dist/cli/chunk-DUIs23D9.js +1 -0
  29. package/dist/cli/{chunk-CyvfQV16.js → chunk-DaurYOqg.js} +1 -1
  30. package/dist/cli/{chunk-DSFrcSyA.js → chunk-DfwRL0Ue.js} +1 -1
  31. package/dist/cli/{chunk-M2tZrzY5.js → chunk-DudYQk0p.js} +1 -1
  32. package/dist/cli/chunk-DvKo50Tp.js +2 -0
  33. package/dist/cli/{chunk-H_Mw5ypp.js → chunk-Dvrqte5Q.js} +2 -2
  34. package/dist/cli/{chunk-BtNO-m9T.js → chunk-DzhSExU0.js} +1 -1
  35. package/dist/cli/{chunk-IOMO88kZ.js → chunk-ENKlt3i9.js} +1 -1
  36. package/dist/cli/{chunk-Bspgzwsm.js → chunk-FWRwAX75.js} +8 -8
  37. package/dist/cli/chunk-Lf-Z-h48.js +32 -0
  38. package/dist/cli/{chunk-BucXnZ4Z.js → chunk-VRfkSLrD.js} +1 -1
  39. package/dist/cli/chunk-uaTxD024.js +1 -0
  40. package/dist/cli/cli.js +1 -1
  41. package/dist/cli/prerender/dsd-shell/prerender-dsd-shell.js +1 -1
  42. package/dist/headless-agent.js +2 -2
  43. package/dist/lib/components/index.js +25 -25
  44. package/dist/lib/components/settings/shadow-claw-accounts.js +1 -1
  45. package/dist/lib/components/settings/shadow-claw-channel-config.js +1 -1
  46. package/dist/lib/components/settings/shadow-claw-control-plane.js +1 -1
  47. package/dist/lib/components/settings/shadow-claw-git.js +1 -1
  48. package/dist/lib/components/settings/shadow-claw-integrations.js +1 -1
  49. package/dist/lib/components/settings/shadow-claw-llm.js +1 -1
  50. package/dist/lib/components/settings/shadow-claw-mcp-remote.js +1 -1
  51. package/dist/lib/components/settings/shadow-claw-networking.js +1 -1
  52. package/dist/lib/components/settings/shadow-claw-notifications.js +1 -1
  53. package/dist/lib/components/settings/shadow-claw-peerjs.js +1 -1
  54. package/dist/lib/components/settings/shadow-claw-storage.js +1 -1
  55. package/dist/lib/components/settings/shadow-claw-task-server.js +1 -1
  56. package/dist/lib/components/settings/shadow-claw-webvm.js +1 -1
  57. package/dist/lib/components/shadow-claw/utils/get-route.d.ts +3 -0
  58. package/dist/lib/components/shadow-claw/utils/sync-slotted-sidebar-active-links.d.ts +1 -1
  59. package/dist/lib/components/shadow-claw-accounts.js +1 -1
  60. package/dist/lib/components/shadow-claw-channel-config.js +1 -1
  61. package/dist/lib/components/shadow-claw-channels.js +1 -1
  62. package/dist/lib/components/shadow-claw-chat.js +1 -1
  63. package/dist/lib/components/shadow-claw-control-plane.js +1 -1
  64. package/dist/lib/components/shadow-claw-conversations.js +1 -1
  65. package/dist/lib/components/shadow-claw-file-viewer.js +1 -1
  66. package/dist/lib/components/shadow-claw-files.js +1 -1
  67. package/dist/lib/components/shadow-claw-git.js +1 -1
  68. package/dist/lib/components/shadow-claw-integrations.js +1 -1
  69. package/dist/lib/components/shadow-claw-llm.js +1 -1
  70. package/dist/lib/components/shadow-claw-mcp-remote.js +1 -1
  71. package/dist/lib/components/shadow-claw-networking.js +1 -1
  72. package/dist/lib/components/shadow-claw-notifications.js +1 -1
  73. package/dist/lib/components/shadow-claw-page-header.js +1 -1
  74. package/dist/lib/components/shadow-claw-pages.js +1 -1
  75. package/dist/lib/components/shadow-claw-peerjs.js +1 -1
  76. package/dist/lib/components/shadow-claw-settings.js +1 -1
  77. package/dist/lib/components/shadow-claw-storage.js +1 -1
  78. package/dist/lib/components/shadow-claw-task-server.js +1 -1
  79. package/dist/lib/components/shadow-claw-tasks.js +1 -1
  80. package/dist/lib/components/shadow-claw-terminal.js +1 -1
  81. package/dist/lib/components/shadow-claw-tools.js +1 -1
  82. package/dist/lib/components/shadow-claw-webvm.js +1 -1
  83. package/dist/lib/components/shadow-claw.js +1 -1
  84. package/dist/lib/{configure-peer-js-D5jDCtLx.js → configure-peer-js-C9554Slv.js} +2 -2
  85. package/dist/lib/{configure-peer-js-D5jDCtLx.js.map → configure-peer-js-C9554Slv.js.map} +1 -1
  86. package/dist/lib/{file-viewer-B4CL4e0i.js → file-viewer-DBc5dxNy.js} +2 -2
  87. package/dist/lib/{file-viewer-B4CL4e0i.js.map → file-viewer-DBc5dxNy.js.map} +1 -1
  88. package/dist/lib/index.js +28 -27
  89. package/dist/lib/{init-control-plane-l2uFnhGV.js → init-control-plane-D-41Fm5q.js} +12 -12
  90. package/dist/lib/{init-control-plane-l2uFnhGV.js.map → init-control-plane-D-41Fm5q.js.map} +1 -1
  91. package/dist/lib/{markdown-0_p_zfxL.js → markdown-KnDWzWJJ.js} +2 -2
  92. package/dist/lib/{markdown-0_p_zfxL.js.map → markdown-KnDWzWJJ.js.map} +1 -1
  93. package/dist/lib/{orchestrator-D6wm8Sec.js → orchestrator-BEZcqgR5.js} +9 -9
  94. package/dist/lib/{orchestrator-D6wm8Sec.js.map → orchestrator-BEZcqgR5.js.map} +1 -1
  95. package/dist/lib/{orchestrator-Dh-hnIpK.js → orchestrator-Cda13e5U.js} +4 -4
  96. package/dist/lib/{orchestrator-Dh-hnIpK.js.map → orchestrator-Cda13e5U.js.map} +1 -1
  97. package/dist/lib/{peerjs-BWZnsD0B.js → peerjs-DYkUTcee.js} +5 -5
  98. package/dist/lib/{peerjs-BWZnsD0B.js.map → peerjs-DYkUTcee.js.map} +1 -1
  99. package/dist/lib/{push-client-MybDfOdi.js → push-client-CQtCFDaD.js} +3 -3
  100. package/dist/lib/{push-client-MybDfOdi.js.map → push-client-CQtCFDaD.js.map} +1 -1
  101. package/dist/lib/security/custom-element-security.d.ts +8 -4
  102. package/dist/lib/{shadow-claw-PdOpgTxH.js → shadow-claw-DYe9u6Tp.js} +142 -33
  103. package/dist/lib/shadow-claw-DYe9u6Tp.js.map +1 -0
  104. package/dist/lib/{shadow-claw-accounts-3bR76EOb.js → shadow-claw-accounts-D2URoHys.js} +2 -2
  105. package/dist/lib/{shadow-claw-accounts-3bR76EOb.js.map → shadow-claw-accounts-D2URoHys.js.map} +1 -1
  106. package/dist/lib/{shadow-claw-channel-config-ChdZ1iB8.js → shadow-claw-channel-config-buXoz2xv.js} +3 -3
  107. package/dist/lib/{shadow-claw-channel-config-ChdZ1iB8.js.map → shadow-claw-channel-config-buXoz2xv.js.map} +1 -1
  108. package/dist/lib/{shadow-claw-channels-CK9sc7h_.js → shadow-claw-channels-5yVJ1gLk.js} +3 -3
  109. package/dist/lib/{shadow-claw-channels-CK9sc7h_.js.map → shadow-claw-channels-5yVJ1gLk.js.map} +1 -1
  110. package/dist/lib/{shadow-claw-chat-B6uuZnJ7.js → shadow-claw-chat-CVc-7ycM.js} +7 -7
  111. package/dist/lib/{shadow-claw-chat-B6uuZnJ7.js.map → shadow-claw-chat-CVc-7ycM.js.map} +1 -1
  112. package/dist/lib/{shadow-claw-control-plane-BpRcl312.js → shadow-claw-control-plane-B5vsF91B.js} +6 -6
  113. package/dist/lib/{shadow-claw-control-plane-BpRcl312.js.map → shadow-claw-control-plane-B5vsF91B.js.map} +1 -1
  114. package/dist/lib/{shadow-claw-conversations-Dc_Xk2mB.js → shadow-claw-conversations-PGK5zqn3.js} +54 -12
  115. package/dist/lib/{shadow-claw-conversations-Dc_Xk2mB.js.map → shadow-claw-conversations-PGK5zqn3.js.map} +1 -1
  116. package/dist/lib/{shadow-claw-file-viewer-C4x1PtB2.js → shadow-claw-file-viewer-DSqn0hgx.js} +6 -6
  117. package/dist/lib/{shadow-claw-file-viewer-C4x1PtB2.js.map → shadow-claw-file-viewer-DSqn0hgx.js.map} +1 -1
  118. package/dist/lib/{shadow-claw-files-DhnHbXKf.js → shadow-claw-files-vOa9ZWbr.js} +6 -6
  119. package/dist/lib/{shadow-claw-files-DhnHbXKf.js.map → shadow-claw-files-vOa9ZWbr.js.map} +1 -1
  120. package/dist/lib/{shadow-claw-git-BeQ1ElUd.js → shadow-claw-git-D54Z85Bj.js} +4 -4
  121. package/dist/lib/{shadow-claw-git-BeQ1ElUd.js.map → shadow-claw-git-D54Z85Bj.js.map} +1 -1
  122. package/dist/lib/{shadow-claw-integrations-Bbdolk3w.js → shadow-claw-integrations-BTubMH9d.js} +2 -2
  123. package/dist/lib/{shadow-claw-integrations-Bbdolk3w.js.map → shadow-claw-integrations-BTubMH9d.js.map} +1 -1
  124. package/dist/lib/{shadow-claw-llm-DPda4L3C.js → shadow-claw-llm-8koGTNYs.js} +3 -3
  125. package/dist/lib/{shadow-claw-llm-DPda4L3C.js.map → shadow-claw-llm-8koGTNYs.js.map} +1 -1
  126. package/dist/lib/{shadow-claw-mcp-remote-Dn9c30WI.js → shadow-claw-mcp-remote-C2jwBsQt.js} +2 -2
  127. package/dist/lib/{shadow-claw-mcp-remote-Dn9c30WI.js.map → shadow-claw-mcp-remote-C2jwBsQt.js.map} +1 -1
  128. package/dist/lib/{shadow-claw-networking-zqNuyn3-.js → shadow-claw-networking-BV-rna16.js} +2 -2
  129. package/dist/lib/{shadow-claw-networking-zqNuyn3-.js.map → shadow-claw-networking-BV-rna16.js.map} +1 -1
  130. package/dist/lib/{shadow-claw-notifications-DFgdo33v.js → shadow-claw-notifications-Dku7VBLk.js} +2 -2
  131. package/dist/lib/{shadow-claw-notifications-DFgdo33v.js.map → shadow-claw-notifications-Dku7VBLk.js.map} +1 -1
  132. package/dist/lib/{shadow-claw-page-header-B7LFGQRf.js → shadow-claw-page-header-VPjYWfsT.js} +2 -2
  133. package/dist/lib/{shadow-claw-page-header-B7LFGQRf.js.map → shadow-claw-page-header-VPjYWfsT.js.map} +1 -1
  134. package/dist/lib/{shadow-claw-pages-DLspFqdK.js → shadow-claw-pages-DXrM6hgZ.js} +29 -19
  135. package/dist/lib/shadow-claw-pages-DXrM6hgZ.js.map +1 -0
  136. package/dist/lib/{shadow-claw-peerjs-D8xWwuWR.js → shadow-claw-peerjs-D3xonez5.js} +3 -3
  137. package/dist/lib/{shadow-claw-peerjs-D8xWwuWR.js.map → shadow-claw-peerjs-D3xonez5.js.map} +1 -1
  138. package/dist/lib/{shadow-claw-settings-NbvzXASD.js → shadow-claw-settings-DMTx6OS9.js} +5 -5
  139. package/dist/lib/{shadow-claw-settings-NbvzXASD.js.map → shadow-claw-settings-DMTx6OS9.js.map} +1 -1
  140. package/dist/lib/{shadow-claw-storage-B_NAoZmd.js → shadow-claw-storage-BJLnukxa.js} +3 -3
  141. package/dist/lib/{shadow-claw-storage-B_NAoZmd.js.map → shadow-claw-storage-BJLnukxa.js.map} +1 -1
  142. package/dist/lib/{shadow-claw-task-server-BaQJXhYJ.js → shadow-claw-task-server-DcMj20hD.js} +2 -2
  143. package/dist/lib/{shadow-claw-task-server-BaQJXhYJ.js.map → shadow-claw-task-server-DcMj20hD.js.map} +1 -1
  144. package/dist/lib/{shadow-claw-tasks-CAZua0-j.js → shadow-claw-tasks-BQBe4lVi.js} +7 -7
  145. package/dist/lib/{shadow-claw-tasks-CAZua0-j.js.map → shadow-claw-tasks-BQBe4lVi.js.map} +1 -1
  146. package/dist/lib/{shadow-claw-terminal-B2YJhkJL.js → shadow-claw-terminal-DPEzTxXv.js} +2 -2
  147. package/dist/lib/{shadow-claw-terminal-B2YJhkJL.js.map → shadow-claw-terminal-DPEzTxXv.js.map} +1 -1
  148. package/dist/lib/{shadow-claw-tools-CkZWxxTm.js → shadow-claw-tools-BCnU8FaK.js} +6 -6
  149. package/dist/lib/{shadow-claw-tools-CkZWxxTm.js.map → shadow-claw-tools-BCnU8FaK.js.map} +1 -1
  150. package/dist/lib/{shadow-claw-webvm-BL9cgrP9.js → shadow-claw-webvm-CnW-hoJ8.js} +2 -2
  151. package/dist/lib/{shadow-claw-webvm-BL9cgrP9.js.map → shadow-claw-webvm-CnW-hoJ8.js.map} +1 -1
  152. package/dist/lib/subsystems/mcp/webmcp.d.ts +15 -2
  153. package/dist/lib/{sync-web-mcp-registration-dW2MVCj4.js → sync-web-mcp-registration-DwpGjVdo.js} +10 -4
  154. package/dist/lib/sync-web-mcp-registration-DwpGjVdo.js.map +1 -0
  155. package/dist/lib/{tools-D7whby3H.js → tools-CP6G0HF7.js} +5 -6
  156. package/dist/lib/tools-CP6G0HF7.js.map +1 -0
  157. package/dist/lib/{trusted-types-d0cdkut_.js → trusted-types-0cu5Dm6M.js} +29 -4
  158. package/dist/lib/{trusted-types-d0cdkut_.js.map → trusted-types-0cu5Dm6M.js.map} +1 -1
  159. package/dist/lib/utils/index.d.ts +1 -0
  160. package/dist/lib/utils/index.js +4 -2
  161. package/dist/lib/utils/index.js.map +1 -1
  162. package/dist/lib/utils/resolve-page-script-dependencies.d.ts +19 -0
  163. package/dist/lib/utils/resolve-page-script-dependencies.js +98 -0
  164. package/dist/lib/utils/resolve-page-script-dependencies.js.map +1 -0
  165. package/dist/lib/utils/utils.js +1 -1
  166. package/dist/lib/webmcp-Bf9rT7uu.js +2001 -0
  167. package/dist/lib/webmcp-Bf9rT7uu.js.map +1 -0
  168. package/dist/public/.well-known/mcp/server-card.json +1 -1
  169. package/dist/public/.well-known/mcp.json +1 -1
  170. package/dist/public/AGENTS.md +3 -3
  171. package/dist/public/README.md +1 -1
  172. package/dist/public/agent.worker.js +2 -2
  173. package/dist/public/components/shadow-claw/shadow-claw.css +1 -1
  174. package/dist/public/components/shadow-claw/shadow-claw.html +1 -1
  175. package/dist/public/components/shadow-claw-conversations/shadow-claw-conversations.css +1 -1
  176. package/dist/public/components/shadow-claw-conversations/shadow-claw-conversations.html +1 -1
  177. package/dist/public/{configure-peer-js-WLRM7Qa7.js → configure-peer-js-OYl3V8sW.js} +1 -1
  178. package/dist/public/{custom-element-security-Cl991z-x.js → custom-element-security-BR4V40j4.js} +1 -1
  179. package/dist/public/docs/example/article/index.html +3 -3
  180. package/dist/public/docs/example/article.html +3 -3
  181. package/dist/public/docs/publishing/index.html +3 -3
  182. package/dist/public/docs/publishing.html +3 -3
  183. package/dist/public/docs/skill-creator/index.html +3 -3
  184. package/dist/public/docs/skill-creator.html +3 -3
  185. package/dist/public/docs/subsystems/custom-element-security.md +19 -5
  186. package/dist/public/docs/subsystems/pages.md +10 -2
  187. package/dist/public/docs/subsystems/tools.md +1 -2
  188. package/dist/public/docs/subsystems/webmcp.md +41 -6
  189. package/dist/public/{download-group-file-fFjoIIp4.js → download-group-file-BNmK8wac.js} +1 -1
  190. package/dist/public/e2e/README.md +2 -2
  191. package/dist/public/{e2e-bridge-CiSfBRT4.js → e2e-bridge-4phD1JUQ.js} +1 -1
  192. package/dist/public/{file-viewer-DFC3kfeO.js → file-viewer-Dbh3K9nL.js} +1 -1
  193. package/dist/public/index.html +3 -3
  194. package/dist/public/index.js +1 -1
  195. package/dist/public/{init-control-plane-BEbcwmmv.js → init-control-plane-DGOY_RNS.js} +1 -1
  196. package/dist/public/llms.txt +1 -1
  197. package/dist/public/main/index.html +3 -3
  198. package/dist/public/main/memory/index.html +3 -3
  199. package/dist/public/main/memory.html +3 -3
  200. package/dist/public/main.html +3 -3
  201. package/dist/public/{markdown-BeglYzw9.js → markdown-BPZYpfGm.js} +1 -1
  202. package/dist/public/{orchestrator-BlvEG3PO.js → orchestrator-OoUK7CF9.js} +1 -1
  203. package/dist/public/{orchestrator-DTNrntd4.js → orchestrator-a9047bGu.js} +1 -1
  204. package/dist/public/{peerjs-CnBdK94R.js → peerjs-Cbn310Tz.js} +1 -1
  205. package/dist/public/{push-client-DOHbdCyj.js → push-client-Dy4LGJy9.js} +1 -1
  206. package/dist/public/service-worker.js +1 -1
  207. package/dist/public/shadow-claw-B-HWC1uN.js +1180 -0
  208. package/dist/public/{shadow-claw-accounts-C6FXVw2K.js → shadow-claw-accounts-Di-anCZ1.js} +1 -1
  209. package/dist/public/{shadow-claw-channels-tr_r60Kq.js → shadow-claw-channels-RVwCE8pE.js} +1 -1
  210. package/dist/public/{shadow-claw-chat-BAAPhAOs.js → shadow-claw-chat-DI1q8UnX.js} +1 -1
  211. package/dist/public/{shadow-claw-control-plane-C_5VIx8E.js → shadow-claw-control-plane-KXEdLOGl.js} +2 -2
  212. package/dist/public/{shadow-claw-conversations-DGYZdDa3.js → shadow-claw-conversations-BCBGtS30.js} +40 -6
  213. package/dist/public/{shadow-claw-file-viewer-5j2-Z3fN.js → shadow-claw-file-viewer-CW3t6j-w.js} +1 -1
  214. package/dist/public/{shadow-claw-files-DKF4Yy0m.js → shadow-claw-files-JQ-o0ImX.js} +1 -1
  215. package/dist/public/{shadow-claw-git-CtUTJXKT.js → shadow-claw-git-D2M8VixW.js} +2 -2
  216. package/dist/public/{shadow-claw-integrations-CuBy9D3z.js → shadow-claw-integrations-Cgw6v9_1.js} +1 -1
  217. package/dist/public/{shadow-claw-llm-BIfNNjGL.js → shadow-claw-llm-74ieXp7i.js} +1 -1
  218. package/dist/public/{shadow-claw-mcp-remote-C17FXvrb.js → shadow-claw-mcp-remote-BX0BkSmy.js} +1 -1
  219. package/dist/public/{shadow-claw-networking-CjxQ1CLI.js → shadow-claw-networking-DNX8vaIQ.js} +1 -1
  220. package/dist/public/{shadow-claw-notifications-Brn2O3Ps.js → shadow-claw-notifications-BLTaGAny.js} +1 -1
  221. package/dist/public/{shadow-claw-page-header-Bn1P7Cxb.js → shadow-claw-page-header-CjFOdo9v.js} +1 -1
  222. package/dist/public/shadow-claw-pages-DOQqMm0_.js +645 -0
  223. package/dist/public/{shadow-claw-settings-CfDm0hVA.js → shadow-claw-settings-DFtl0Fy8.js} +2 -2
  224. package/dist/public/{shadow-claw-storage-DOOesRzw.js → shadow-claw-storage-gQGExZRq.js} +1 -1
  225. package/dist/public/{shadow-claw-task-server-H36iDDp2.js → shadow-claw-task-server-Ca45uY7S.js} +1 -1
  226. package/dist/public/{shadow-claw-tasks-4JsjSGkN.js → shadow-claw-tasks-CCTaaSdi.js} +1 -1
  227. package/dist/public/{shadow-claw-terminal-CTRTcYz-.js → shadow-claw-terminal-BfgulLkl.js} +1 -1
  228. package/dist/public/{shadow-claw-tools-Dm1LxNf4.js → shadow-claw-tools-V8NA4n18.js} +1 -1
  229. package/dist/public/{shadow-claw-webvm-JzuPe9Nr.js → shadow-claw-webvm-CxxI2bnC.js} +1 -1
  230. package/dist/public/sync-web-mcp-registration-CkCA8UFm.js +1 -0
  231. package/dist/public/{tools-FiTtOlIt.js → tools-CwQq5tJH.js} +2 -2
  232. package/dist/public/webmcp-CmtWOAFm.js +6 -0
  233. package/dist/server.js +2 -2
  234. package/package.json +3 -3
  235. package/src/cli/prerender/dsd-shell/prerender-dsd-shell.test.ts +16 -0
  236. package/src/cli/prerender/dsd-shell/prerender-dsd-shell.ts +62 -1
  237. package/src/cli/prerender/pretty-paths/prerender-pretty-paths.test.ts +277 -0
  238. package/src/cli/prerender/pretty-paths/prerender-pretty-paths.ts +28 -1
  239. package/src/cli/site-config/custom-elements/build-custom-element-script-tags.ts +13 -1
  240. package/src/components/shadow-claw/shadow-claw.css +12 -0
  241. package/src/components/shadow-claw/shadow-claw.html +12 -2
  242. package/src/components/shadow-claw/utils/bind-event-listeners.test.ts +18 -0
  243. package/src/components/shadow-claw/utils/bind-event-listeners.ts +14 -0
  244. package/src/components/shadow-claw/utils/get-route.test.ts +35 -0
  245. package/src/components/shadow-claw/utils/get-route.ts +18 -0
  246. package/src/components/shadow-claw/utils/sync-slotted-sidebar-active-links.test.ts +152 -1
  247. package/src/components/shadow-claw/utils/sync-slotted-sidebar-active-links.ts +139 -8
  248. package/src/components/shadow-claw-conversations/shadow-claw-conversations.css +11 -0
  249. package/src/components/shadow-claw-conversations/shadow-claw-conversations.html +27 -4
  250. package/src/components/shadow-claw-conversations/shadow-claw-conversations.ts +32 -4
  251. package/src/components/shadow-claw-pages/shadow-claw-pages-scripts.test.ts +266 -0
  252. package/src/components/shadow-claw-pages/shadow-claw-pages.ts +41 -17
  253. package/src/core/orchestrator/utils/sync-web-mcp-registration.test.ts +18 -1
  254. package/src/core/orchestrator/utils/sync-web-mcp-registration.ts +8 -0
  255. package/src/core/utils/init-control-plane.test.ts +9 -4
  256. package/src/security/custom-element-security.test.ts +65 -0
  257. package/src/security/custom-element-security.ts +67 -4
  258. package/src/stores/tools.test.ts +5 -3
  259. package/src/stores/tools.ts +5 -10
  260. package/src/subsystems/mcp/webmcp.test.ts +84 -13
  261. package/src/subsystems/mcp/webmcp.ts +73 -10
  262. package/src/utils/index.ts +1 -0
  263. package/src/utils/resolve-page-script-dependencies.test.ts +245 -0
  264. package/src/utils/resolve-page-script-dependencies.ts +198 -0
  265. package/dist/cli/chunk-B1hufJeO.js +0 -1
  266. package/dist/cli/chunk-BZpn8npn.js +0 -1
  267. package/dist/cli/chunk-Bw5aOTFr.js +0 -1
  268. package/dist/cli/chunk-C8nH01Gw.js +0 -32
  269. package/dist/cli/chunk-CK1ZoyoE.js +0 -17
  270. package/dist/cli/chunk-CVkhDr-7.js +0 -1
  271. package/dist/cli/chunk-Cum07Vlh.js +0 -1
  272. package/dist/cli/chunk-D3UhDDmV.js +0 -2
  273. package/dist/cli/chunk-D8GI6qj6.js +0 -1
  274. package/dist/cli/chunk-DEH-FvmP.js +0 -1
  275. package/dist/cli/chunk-DksvJ_kf.js +0 -1
  276. package/dist/cli/chunk-RGb9wM4R.js +0 -1
  277. package/dist/lib/shadow-claw-PdOpgTxH.js.map +0 -1
  278. package/dist/lib/shadow-claw-pages-DLspFqdK.js.map +0 -1
  279. package/dist/lib/sync-web-mcp-registration-dW2MVCj4.js.map +0 -1
  280. package/dist/lib/tools-D7whby3H.js.map +0 -1
  281. package/dist/lib/webmcp-CYTNZfkn.js +0 -1687
  282. package/dist/lib/webmcp-CYTNZfkn.js.map +0 -1
  283. package/dist/public/shadow-claw-CnNX-WCh.js +0 -1158
  284. package/dist/public/shadow-claw-pages-BwOOqRWW.js +0 -645
  285. package/dist/public/sync-web-mcp-registration-BnHVUjat.js +0 -1
  286. package/dist/public/webmcp-_TBqXlVW.js +0 -1
@@ -18,6 +18,7 @@ export * from "./normalize-string-list.js";
18
18
  export * from "./normalize-workspace-path.js";
19
19
  export * from "./parse-boolean-config.js";
20
20
  export * from "./parse-stored-string-list.js";
21
+ export * from "./resolve-page-script-dependencies.js";
21
22
  export * from "./retry.js";
22
23
  export * from "./seo.js";
23
24
  export * from "./ulid.js";
@@ -5,7 +5,7 @@ import { IMAGE_MIME_TYPES, MIME_TYPES, getImageMimeType, getMimeType, guessMimeT
5
5
  import { ulid } from "./ulid.js";
6
6
  import { bufferToHex, computeSha256, toArrayBuffer } from "./crypto.js";
7
7
  import { escapeHtml, escapeJsonForHtmlScript, stripHtml, unescapeHtml } from "./html.js";
8
- import { o as handleSpecialLinkNavigation, s as sanitizeHtml } from "../trusted-types-d0cdkut_.js";
8
+ import { o as handleSpecialLinkNavigation, s as sanitizeHtml } from "../trusted-types-0cu5Dm6M.js";
9
9
  import { isTruthyConfigValue, parseBooleanConfig } from "./parse-boolean-config.js";
10
10
  import { asNumber, asStringArray, asUidArray, coerce, coerceArray, coerceNumber, coerceStringArray, coerceUidArray } from "./coerce.js";
11
11
  import { basename, cleanFilename, sanitizeFilename } from "./filename.js";
@@ -20,6 +20,7 @@ import { applyJsonPatch } from "./json-patch.js";
20
20
  import { parseStoredStringList } from "./parse-stored-string-list.js";
21
21
  import { createFrontmatterDetailsElement, createFrontmatterElement, renderFrontmatterMarkup, splitFrontmatter } from "./frontmatter.js";
22
22
  import { formatDateForFilename, formatTimestamp } from "./date.js";
23
+ import { resolvePageScriptDependencies } from "./resolve-page-script-dependencies.js";
23
24
  import { extractMarkdownDescription, formatSeoTitle, patchHtmlHeadMetadata, resolveCanonicalUrl } from "./seo.js";
24
25
  import { isLocalOrPrivateHost, isLoopbackHost, isPrivateIp, isRemoteEnvironment } from "./network.js";
25
26
 
@@ -84,6 +85,7 @@ var utils_exports = /* @__PURE__ */ __exportAll({
84
85
  removeNamespacedItem: () => removeNamespacedItem,
85
86
  renderFrontmatterMarkup: () => renderFrontmatterMarkup,
86
87
  resolveCanonicalUrl: () => resolveCanonicalUrl,
88
+ resolvePageScriptDependencies: () => resolvePageScriptDependencies,
87
89
  sanitizeFilename: () => sanitizeFilename,
88
90
  sanitizeHtml: () => sanitizeHtml,
89
91
  setNamespacedItem: () => setNamespacedItem,
@@ -100,5 +102,5 @@ var utils_exports = /* @__PURE__ */ __exportAll({
100
102
  });
101
103
 
102
104
  //#endregion
103
- export { HttpError, IMAGE_MIME_TYPES, MIME_TYPES, RETRYABLE_STATUS_CODES, applyJsonPatch, asNumber, asStringArray, asUidArray, base64, base64ToBytes, basename, bufferToHex, bytesToBase64, cleanFilename, coerce, coerceArray, coerceNumber, coerceStringArray, coerceUidArray, computeDelay, computeSha256, createFrontmatterDetailsElement, createFrontmatterElement, escapeHtml, escapeJsonForHtmlScript, extractMarkdownDescription, formatDateForFilename, formatSeoTitle, formatTimestamp, getImageMimeType, getMimeType, getNamespacedItem, getNamespacedStorageKey, guessMimeTypeFromFilename, handleSpecialLinkNavigation, hasPathTraversal, inferAttachmentMimeType, isBinary, isBinaryContent, isBinaryContentType, isImagePath, isLocalOrPrivateHost, isLoopbackHost, isMimeType, isPagePathAllowed, isPrivateIp, isRemoteEnvironment, isRetryableFetchError, isRetryableHttpError, isTruthyConfigValue, mime, normalizeStringList, normalizeWorkspacePath, parseBooleanConfig, parseStoredStringList, patchHtmlHeadMetadata, removeNamespacedItem, renderFrontmatterMarkup, resolveCanonicalUrl, sanitizeFilename, sanitizeHtml, setNamespacedItem, sleep, splitFrontmatter, stripHtml, utils_exports as t, toArrayBuffer, toPosixPath, trimSlashes, ulid, unescapeHtml, withRetry, yieldToMain };
105
+ export { HttpError, IMAGE_MIME_TYPES, MIME_TYPES, RETRYABLE_STATUS_CODES, applyJsonPatch, asNumber, asStringArray, asUidArray, base64, base64ToBytes, basename, bufferToHex, bytesToBase64, cleanFilename, coerce, coerceArray, coerceNumber, coerceStringArray, coerceUidArray, computeDelay, computeSha256, createFrontmatterDetailsElement, createFrontmatterElement, escapeHtml, escapeJsonForHtmlScript, extractMarkdownDescription, formatDateForFilename, formatSeoTitle, formatTimestamp, getImageMimeType, getMimeType, getNamespacedItem, getNamespacedStorageKey, guessMimeTypeFromFilename, handleSpecialLinkNavigation, hasPathTraversal, inferAttachmentMimeType, isBinary, isBinaryContent, isBinaryContentType, isImagePath, isLocalOrPrivateHost, isLoopbackHost, isMimeType, isPagePathAllowed, isPrivateIp, isRemoteEnvironment, isRetryableFetchError, isRetryableHttpError, isTruthyConfigValue, mime, normalizeStringList, normalizeWorkspacePath, parseBooleanConfig, parseStoredStringList, patchHtmlHeadMetadata, removeNamespacedItem, renderFrontmatterMarkup, resolveCanonicalUrl, resolvePageScriptDependencies, sanitizeFilename, sanitizeHtml, setNamespacedItem, sleep, splitFrontmatter, stripHtml, utils_exports as t, toArrayBuffer, toPosixPath, trimSlashes, ulid, unescapeHtml, withRetry, yieldToMain };
104
106
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from \"./base64.js\";\nexport * from \"./coerce.js\";\nexport * from \"./crypto.js\";\nexport * from \"./date.js\";\nexport * from \"./delay.js\";\nexport * from \"./filename.js\";\nexport * from \"./frontmatter.js\";\nexport * from \"./has-path-traversal.js\";\nexport * from \"./html.js\";\nexport * from \"./http-error.js\";\nexport * from \"./is-binary.js\";\nexport * from \"./is-page-path-allowed.js\";\nexport * from \"./json-patch.js\";\nexport * from \"./mime.js\";\nexport * from \"./namespaced-storage.js\";\nexport * from \"./network.js\";\nexport * from \"./normalize-string-list.js\";\nexport * from \"./normalize-workspace-path.js\";\nexport * from \"./parse-boolean-config.js\";\nexport * from \"./parse-stored-string-list.js\";\nexport * from \"./retry.js\";\nexport * from \"./seo.js\";\nexport * from \"./ulid.js\";\nexport * from \"./utils.js\";\n"],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from \"./base64.js\";\nexport * from \"./coerce.js\";\nexport * from \"./crypto.js\";\nexport * from \"./date.js\";\nexport * from \"./delay.js\";\nexport * from \"./filename.js\";\nexport * from \"./frontmatter.js\";\nexport * from \"./has-path-traversal.js\";\nexport * from \"./html.js\";\nexport * from \"./http-error.js\";\nexport * from \"./is-binary.js\";\nexport * from \"./is-page-path-allowed.js\";\nexport * from \"./json-patch.js\";\nexport * from \"./mime.js\";\nexport * from \"./namespaced-storage.js\";\nexport * from \"./network.js\";\nexport * from \"./normalize-string-list.js\";\nexport * from \"./normalize-workspace-path.js\";\nexport * from \"./parse-boolean-config.js\";\nexport * from \"./parse-stored-string-list.js\";\nexport * from \"./resolve-page-script-dependencies.js\";\nexport * from \"./retry.js\";\nexport * from \"./seo.js\";\nexport * from \"./ulid.js\";\nexport * from \"./utils.js\";\n"],"mappings":""}
@@ -0,0 +1,19 @@
1
+ export interface PageScriptDependencySource {
2
+ src: string;
3
+ id?: string;
4
+ name?: string;
5
+ global?: boolean;
6
+ autoload?: boolean;
7
+ type?: string;
8
+ async?: boolean;
9
+ defer?: boolean;
10
+ hasInit?: boolean;
11
+ }
12
+ /**
13
+ * Resolves script dependencies for a page given a list of approved script descriptors
14
+ * and frontmatter/dependency declarations.
15
+ *
16
+ * Always includes scripts marked as `global` or `autoload`.
17
+ * Gracefully ignores any unknown dependency IDs or missing scripts without throwing.
18
+ */
19
+ export declare function resolvePageScriptDependencies(descriptors?: Array<string | PageScriptDependencySource>, frontmatterOrDependencies?: Record<string, any> | string[] | string | null, content?: string | null): PageScriptDependencySource[];
@@ -0,0 +1,98 @@
1
+ //#region src/utils/resolve-page-script-dependencies.ts
2
+ function stripScriptPrefix(s) {
3
+ return s.replace(/^\.?\//, "").replace(/^pages\/main\//, "").toLowerCase().trim();
4
+ }
5
+ function getFilename(filepath) {
6
+ return (filepath.split("/").pop() || "").toLowerCase().trim();
7
+ }
8
+ function getFilenameStem(filepath) {
9
+ return getFilename(filepath).replace(/\.(js|mjs|cjs|ts)$/i, "").toLowerCase().trim();
10
+ }
11
+ /**
12
+ * Resolves script dependencies for a page given a list of approved script descriptors
13
+ * and frontmatter/dependency declarations.
14
+ *
15
+ * Always includes scripts marked as `global` or `autoload`.
16
+ * Gracefully ignores any unknown dependency IDs or missing scripts without throwing.
17
+ */
18
+ function resolvePageScriptDependencies(descriptors = [], frontmatterOrDependencies, content) {
19
+ if (!Array.isArray(descriptors) || descriptors.length === 0) return [];
20
+ const normalizedDescriptors = descriptors.map((item) => {
21
+ if (typeof item === "string") return { src: item };
22
+ if (item && typeof item === "object" && typeof item.src === "string") return item;
23
+ return null;
24
+ }).filter((entry) => entry !== null);
25
+ const resolved = [];
26
+ const addedSrcs = /* @__PURE__ */ new Set();
27
+ for (const desc of normalizedDescriptors) if (desc.global === true || desc.autoload === true) {
28
+ if (!addedSrcs.has(desc.src)) {
29
+ addedSrcs.add(desc.src);
30
+ resolved.push(desc);
31
+ }
32
+ }
33
+ if (!frontmatterOrDependencies && !content) return resolved;
34
+ const rawItems = [];
35
+ if (Array.isArray(frontmatterOrDependencies)) rawItems.push(...frontmatterOrDependencies);
36
+ else if (typeof frontmatterOrDependencies === "string") rawItems.push(...frontmatterOrDependencies.split(/[,;\s]+/));
37
+ else if (typeof frontmatterOrDependencies === "object" && frontmatterOrDependencies !== null) {
38
+ const data = frontmatterOrDependencies;
39
+ if (Array.isArray(data.dependencies)) rawItems.push(...data.dependencies);
40
+ else if (typeof data.dependencies === "string") rawItems.push(...data.dependencies.split(/[,;\s]+/));
41
+ if (Array.isArray(data.scripts)) rawItems.push(...data.scripts);
42
+ else if (typeof data.scripts === "string") rawItems.push(...data.scripts.split(/[,;\s]+/));
43
+ }
44
+ if (typeof content === "string" && content) {
45
+ const inlineScriptMatches = content.matchAll(/<script\b[^>]*src=["']([^"']+)["'][^>]*>/gi);
46
+ for (const match of inlineScriptMatches) if (match[1]) rawItems.push(match[1]);
47
+ for (const desc of normalizedDescriptors) {
48
+ const candidates = [
49
+ desc.id,
50
+ desc.name,
51
+ getFilenameStem(desc.src),
52
+ getFilename(desc.src)
53
+ ].filter(Boolean);
54
+ for (const tag of candidates) if (tag.includes("-")) {
55
+ if (new RegExp(`<${tag}[\\s>/]`, "i").test(content)) {
56
+ rawItems.push(tag);
57
+ break;
58
+ }
59
+ }
60
+ }
61
+ }
62
+ const requestedKeys = [];
63
+ for (const item of rawItems) if (typeof item === "string") {
64
+ const trimmed = item.trim();
65
+ if (trimmed) requestedKeys.push(trimmed);
66
+ } else if (item && typeof item === "object") {
67
+ const key = item.id || item.name || item.src;
68
+ if (typeof key === "string" && key.trim()) requestedKeys.push(key.trim());
69
+ }
70
+ for (const key of requestedKeys) {
71
+ const keyLower = key.toLowerCase();
72
+ const keyNorm = stripScriptPrefix(key);
73
+ const keyFilename = getFilename(key);
74
+ const keyStem = getFilenameStem(key);
75
+ const match = normalizedDescriptors.find((desc) => {
76
+ if (desc.id && desc.id.toLowerCase() === keyLower) return true;
77
+ if (desc.name && desc.name.toLowerCase() === keyLower) return true;
78
+ if (desc.src === key || desc.src.toLowerCase() === keyLower) return true;
79
+ if (stripScriptPrefix(desc.src) === keyNorm) return true;
80
+ const descFilename = getFilename(desc.src);
81
+ if (descFilename && (descFilename === keyFilename || descFilename === keyLower)) return true;
82
+ const descStem = getFilenameStem(desc.src);
83
+ if (descStem && (descStem === keyStem || descStem === keyLower)) return true;
84
+ return false;
85
+ });
86
+ if (match) {
87
+ if (!addedSrcs.has(match.src)) {
88
+ addedSrcs.add(match.src);
89
+ resolved.push(match);
90
+ }
91
+ } else console.warn(`[ShadowClaw] Script dependency "${key}" declared in page frontmatter was not found in approved customElements.scripts config.`);
92
+ }
93
+ return resolved;
94
+ }
95
+
96
+ //#endregion
97
+ export { resolvePageScriptDependencies };
98
+ //# sourceMappingURL=resolve-page-script-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-page-script-dependencies.js","names":[],"sources":["../../../src/utils/resolve-page-script-dependencies.ts"],"sourcesContent":["export interface PageScriptDependencySource {\n src: string;\n id?: string;\n name?: string;\n global?: boolean;\n autoload?: boolean;\n type?: string;\n async?: boolean;\n defer?: boolean;\n hasInit?: boolean;\n}\n\nfunction stripScriptPrefix(s: string): string {\n return s\n .replace(/^\\.?\\//, \"\")\n .replace(/^pages\\/main\\//, \"\")\n .toLowerCase()\n .trim();\n}\n\nfunction getFilename(filepath: string): string {\n const parts = filepath.split(\"/\");\n return (parts.pop() || \"\").toLowerCase().trim();\n}\n\nfunction getFilenameStem(filepath: string): string {\n const filename = getFilename(filepath);\n return filename\n .replace(/\\.(js|mjs|cjs|ts)$/i, \"\")\n .toLowerCase()\n .trim();\n}\n\n/**\n * Resolves script dependencies for a page given a list of approved script descriptors\n * and frontmatter/dependency declarations.\n *\n * Always includes scripts marked as `global` or `autoload`.\n * Gracefully ignores any unknown dependency IDs or missing scripts without throwing.\n */\nexport function resolvePageScriptDependencies(\n descriptors: Array<string | PageScriptDependencySource> = [],\n frontmatterOrDependencies?: Record<string, any> | string[] | string | null,\n content?: string | null,\n): PageScriptDependencySource[] {\n if (!Array.isArray(descriptors) || descriptors.length === 0) {\n return [];\n }\n\n // Normalize all descriptors to objects with at least a `src`\n const normalizedDescriptors: PageScriptDependencySource[] = descriptors\n .map((item) => {\n if (typeof item === \"string\") {\n return { src: item };\n }\n if (item && typeof item === \"object\" && typeof item.src === \"string\") {\n return item;\n }\n return null;\n })\n .filter((entry): entry is PageScriptDependencySource => entry !== null);\n\n const resolved: PageScriptDependencySource[] = [];\n const addedSrcs = new Set<string>();\n\n // 1. Automatically include all global / autoload scripts\n for (const desc of normalizedDescriptors) {\n if (desc.global === true || desc.autoload === true) {\n if (!addedSrcs.has(desc.src)) {\n addedSrcs.add(desc.src);\n resolved.push(desc);\n }\n }\n }\n\n if (!frontmatterOrDependencies && !content) {\n return resolved;\n }\n\n // 2. Extract requested dependency names / IDs / paths\n const rawItems: any[] = [];\n if (Array.isArray(frontmatterOrDependencies)) {\n rawItems.push(...frontmatterOrDependencies);\n } else if (typeof frontmatterOrDependencies === \"string\") {\n rawItems.push(...frontmatterOrDependencies.split(/[,;\\s]+/));\n } else if (\n typeof frontmatterOrDependencies === \"object\" &&\n frontmatterOrDependencies !== null\n ) {\n const data = frontmatterOrDependencies;\n if (Array.isArray(data.dependencies)) {\n rawItems.push(...data.dependencies);\n } else if (typeof data.dependencies === \"string\") {\n rawItems.push(...data.dependencies.split(/[,;\\s]+/));\n }\n\n if (Array.isArray(data.scripts)) {\n rawItems.push(...data.scripts);\n } else if (typeof data.scripts === \"string\") {\n rawItems.push(...data.scripts.split(/[,;\\s]+/));\n }\n }\n\n // 2b. Auto-detect inline scripts and custom element tags from markdown content\n if (typeof content === \"string\" && content) {\n const inlineScriptMatches = content.matchAll(\n /<script\\b[^>]*src=[\"']([^\"']+)[\"'][^>]*>/gi,\n );\n for (const match of inlineScriptMatches) {\n if (match[1]) {\n rawItems.push(match[1]);\n }\n }\n\n for (const desc of normalizedDescriptors) {\n const candidates = [\n desc.id,\n desc.name,\n getFilenameStem(desc.src),\n getFilename(desc.src),\n ].filter(Boolean) as string[];\n\n for (const tag of candidates) {\n if (tag.includes(\"-\")) {\n const tagRegex = new RegExp(`<${tag}[\\\\s>/]`, \"i\");\n if (tagRegex.test(content)) {\n rawItems.push(tag);\n break;\n }\n }\n }\n }\n }\n\n // Flatten and normalize tokens\n const requestedKeys: string[] = [];\n for (const item of rawItems) {\n if (typeof item === \"string\") {\n const trimmed = item.trim();\n if (trimmed) {\n requestedKeys.push(trimmed);\n }\n } else if (item && typeof item === \"object\") {\n const key = item.id || item.name || item.src;\n if (typeof key === \"string\" && key.trim()) {\n requestedKeys.push(key.trim());\n }\n }\n }\n\n // 3. Resolve requested keys against approved descriptors\n for (const key of requestedKeys) {\n const keyLower = key.toLowerCase();\n const keyNorm = stripScriptPrefix(key);\n const keyFilename = getFilename(key);\n const keyStem = getFilenameStem(key);\n\n const match = normalizedDescriptors.find((desc) => {\n if (desc.id && desc.id.toLowerCase() === keyLower) {\n return true;\n }\n if (desc.name && desc.name.toLowerCase() === keyLower) {\n return true;\n }\n if (desc.src === key || desc.src.toLowerCase() === keyLower) {\n return true;\n }\n if (stripScriptPrefix(desc.src) === keyNorm) {\n return true;\n }\n const descFilename = getFilename(desc.src);\n if (\n descFilename &&\n (descFilename === keyFilename || descFilename === keyLower)\n ) {\n return true;\n }\n const descStem = getFilenameStem(desc.src);\n if (descStem && (descStem === keyStem || descStem === keyLower)) {\n return true;\n }\n return false;\n });\n\n if (match) {\n if (!addedSrcs.has(match.src)) {\n addedSrcs.add(match.src);\n resolved.push(match);\n }\n } else {\n console.warn(\n `[ShadowClaw] Script dependency \"${key}\" declared in page frontmatter was not found in approved customElements.scripts config.`,\n );\n }\n }\n\n return resolved;\n}\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { o as handleSpecialLinkNavigation, s as sanitizeHtml } from "../trusted-types-d0cdkut_.js";
1
+ import { o as handleSpecialLinkNavigation, s as sanitizeHtml } from "../trusted-types-0cu5Dm6M.js";
2
2
 
3
3
  export { handleSpecialLinkNavigation, sanitizeHtml };