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
@@ -1,4 +1,4 @@
1
- import{d as e}from"./custom-element-security-Cl991z-x.js";import{b as t,r as n}from"./config-y_2Fg77m.js";import{n as r}from"./db-BUuJo1Gf.js";import{t as i}from"./get-config-Bkvl__ZS.js";import{t as a}from"./html-BwtE_7wp.js";import{a as o,r as s}from"./toast-CtIuHprH.js";import{t as c}from"./shadow-claw-element-DIrv3P6A.js";import"./shadow-claw-card-gJym6eBr.js";import"./shadow-claw-empty-state-CkvLk0-B.js";function l(e){return!e||e.authMode===`token`||e.authMode===`token`?`token`:e.authMode===`basic`?`basic`:e.authMode===`oauth`||e.oauthProviderId||e.oauthClientId||e.oauthClientSecret||e.refreshToken||e.accessTokenExpiresAt||e.tokenType||e.oauthReauthRequired?`oauth`:`token`}const u=new CSSStyleSheet;u.replaceSync(`*,
1
+ import{d as e}from"./custom-element-security-BR4V40j4.js";import{b as t,r as n}from"./config-y_2Fg77m.js";import{n as r}from"./db-BUuJo1Gf.js";import{t as i}from"./get-config-Bkvl__ZS.js";import{t as a}from"./html-BwtE_7wp.js";import{a as o,r as s}from"./toast-CtIuHprH.js";import{t as c}from"./shadow-claw-element-DIrv3P6A.js";import"./shadow-claw-card-gJym6eBr.js";import"./shadow-claw-empty-state-CkvLk0-B.js";function l(e){return!e||e.authMode===`token`||e.authMode===`token`?`token`:e.authMode===`basic`?`basic`:e.authMode===`oauth`||e.oauthProviderId||e.oauthClientId||e.oauthClientSecret||e.refreshToken||e.accessTokenExpiresAt||e.tokenType||e.oauthReauthRequired?`oauth`:`token`}const u=new CSSStyleSheet;u.replaceSync(`*,
2
2
  *::before,
3
3
  *::after {
4
4
  font-family: var(--shadow-claw-font-sans);
@@ -1,4 +1,4 @@
1
- import{i as e,t}from"./rolldown-runtime-DBVvNlSN.js";import{n}from"./db-BUuJo1Gf.js";import{B as r,H as i,R as a,St as o,U as s,Xt as c,_t as l,at as u,bt as d,gt as f,ot as p,t as m,wt as h,xt as g}from"./orchestrator-BlvEG3PO.js";import{t as _}from"./ulid-BSJxYh6W.js";import{a as v,r as y,s as b}from"./toast-CtIuHprH.js";import{t as x}from"./shadow-claw-element-DIrv3P6A.js";import{t as S}from"./effect-xrx5qhzv.js";import"./shadow-claw-page-header-action-button-Bmua3mAb.js";import{t as C}from"./configure-peer-js-WLRM7Qa7.js";import"./shadow-claw-page-header-Bn1P7Cxb.js";var w=/* @__PURE__ */ t(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),T=/* @__PURE__ */ t((e=>{let t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),E=/* @__PURE__ */ t((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),D=/* @__PURE__ */ t(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),ee=/* @__PURE__ */ t(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),te=/* @__PURE__ */ t((e=>{let t=T().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),ne=/* @__PURE__ */ t((e=>{let t=T().getSymbolSize;e.getPositions=function(e){let n=t(e);return[[0,0],[n-7,0],[0,n-7]]}})),O=/* @__PURE__ */ t((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};let t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),k=/* @__PURE__ */ t((e=>{let t=E(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),re=/* @__PURE__ */ t((e=>{let t=/* @__PURE__ */ new Uint8Array(512),n=/* @__PURE__ */ new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),A=/* @__PURE__ */ t((e=>{let t=re();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),ie=/* @__PURE__ */ t(((e,t)=>{let n=A();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),j=/* @__PURE__ */ t((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),M=/* @__PURE__ */ t((e=>{let t=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;t=t.replace(/u/g,`\\u`);let n=`(?:(?![A-Z0-9 $%*+\\-./:]|`+t+`)(?:.|[\r
1
+ import{i as e,t}from"./rolldown-runtime-DBVvNlSN.js";import{n}from"./db-BUuJo1Gf.js";import{B as r,H as i,R as a,St as o,U as s,Xt as c,_t as l,at as u,bt as d,gt as f,ot as p,t as m,wt as h,xt as g}from"./orchestrator-OoUK7CF9.js";import{t as _}from"./ulid-BSJxYh6W.js";import{a as v,r as y,s as b}from"./toast-CtIuHprH.js";import{t as x}from"./shadow-claw-element-DIrv3P6A.js";import{t as S}from"./effect-xrx5qhzv.js";import"./shadow-claw-page-header-action-button-Bmua3mAb.js";import{t as C}from"./configure-peer-js-OYl3V8sW.js";import"./shadow-claw-page-header-CjFOdo9v.js";var w=/* @__PURE__ */ t(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),T=/* @__PURE__ */ t((e=>{let t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),E=/* @__PURE__ */ t((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),D=/* @__PURE__ */ t(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),ee=/* @__PURE__ */ t(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),te=/* @__PURE__ */ t((e=>{let t=T().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),ne=/* @__PURE__ */ t((e=>{let t=T().getSymbolSize;e.getPositions=function(e){let n=t(e);return[[0,0],[n-7,0],[0,n-7]]}})),O=/* @__PURE__ */ t((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};let t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),k=/* @__PURE__ */ t((e=>{let t=E(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),re=/* @__PURE__ */ t((e=>{let t=/* @__PURE__ */ new Uint8Array(512),n=/* @__PURE__ */ new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),A=/* @__PURE__ */ t((e=>{let t=re();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),ie=/* @__PURE__ */ t(((e,t)=>{let n=A();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),j=/* @__PURE__ */ t((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),M=/* @__PURE__ */ t((e=>{let t=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;t=t.replace(/u/g,`\\u`);let n=`(?:(?![A-Z0-9 $%*+\\-./:]|`+t+`)(?:.|[\r
2
2
  ]))+`;e.KANJI=new RegExp(t,`g`),e.BYTE_KANJI=/* @__PURE__ */ RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(n,`g`),e.NUMERIC=/* @__PURE__ */ RegExp(`[0-9]+`,`g`),e.ALPHANUMERIC=/* @__PURE__ */ RegExp(`[A-Z $%*+\\-./:]+`,`g`);let r=RegExp(`^`+t+`$`),i=/* @__PURE__ */ RegExp(`^[0-9]+$`),a=/* @__PURE__ */ RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return r.test(e)},e.testNumeric=function(e){return i.test(e)},e.testAlphanumeric=function(e){return a.test(e)}})),N=/* @__PURE__ */ t((e=>{let t=j(),n=M();e.NUMERIC={id:`Numeric`,bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:`Alphanumeric`,bit:2,ccBits:[9,11,13]},e.BYTE={id:`Byte`,bit:4,ccBits:[8,16,16]},e.KANJI={id:`Kanji`,bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw Error(`Invalid mode: `+e);if(!t.isValid(n))throw Error(`Invalid version: `+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw Error(`Invalid mode`)},e.isValid=function(e){return e&&e.bit&&e.ccBits};function r(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`numeric`:return e.NUMERIC;case`alphanumeric`:return e.ALPHANUMERIC;case`kanji`:return e.KANJI;case`byte`:return e.BYTE;default:throw Error(`Unknown mode: `+t)}}e.from=function(t,n){if(e.isValid(t))return t;try{return r(t)}catch{return n}}})),ae=/* @__PURE__ */ t((e=>{let t=T(),n=k(),r=E(),i=N(),a=j(),o=7973,s=t.getBCHDigit(o);function c(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}function l(e,t){return i.getCharCountIndicator(e,t)+4}function u(e,t){let n=0;return e.forEach(function(e){let r=l(e.mode,t);n+=r+e.getBitsLength()}),n}function d(t,n){for(let r=1;r<=40;r++)if(u(t,r)<=e.getCapacity(r,n,i.MIXED))return r}e.from=function(e,t){return a.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,r,o){if(!a.isValid(e))throw Error(`Invalid QR Code version`);o===void 0&&(o=i.BYTE);let s=(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r))*8;if(o===i.MIXED)return s;let c=s-l(o,e);switch(o){case i.NUMERIC:return Math.floor(c/10*3);case i.ALPHANUMERIC:return Math.floor(c/11*2);case i.KANJI:return Math.floor(c/13);case i.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(e,t){let n,i=r.from(t,r.M);if(Array.isArray(e)){if(e.length>1)return d(e,i);if(e.length===0)return 1;n=e[0]}else n=e;return c(n.mode,n.getLength(),i)},e.getEncodedBits=function(e){if(!a.isValid(e)||e<7)throw Error(`Invalid QR Code version`);let n=e<<12;for(;t.getBCHDigit(n)-s>=0;)n^=o<<t.getBCHDigit(n)-s;return e<<12|n}})),oe=/* @__PURE__ */ t((e=>{let t=T(),n=1335,r=t.getBCHDigit(n);e.getEncodedBits=function(e,i){let a=e.bit<<3|i,o=a<<10;for(;t.getBCHDigit(o)-r>=0;)o^=n<<t.getBCHDigit(o)-r;return(a<<10|o)^21522}})),se=/* @__PURE__ */ t(((e,t)=>{let n=N();function r(e){this.mode=n.NUMERIC,this.data=e.toString()}r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);let i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,i*3+1))},t.exports=r})),ce=/* @__PURE__ */ t(((e,t)=>{let n=N(),r=/* @__PURE__ */ `0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`.split(``);function i(e){this.mode=n.ALPHANUMERIC,this.data=e}i.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t=0;for(;t+2<=this.data.length;t+=2){let n=r.indexOf(this.data[t])*45;n+=r.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(r.indexOf(this.data[t]),6)},t.exports=i})),le=/* @__PURE__ */ t(((e,t)=>{let n=N();function r(e){this.mode=n.BYTE,this.data=typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e)}r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},t.exports=r})),ue=/* @__PURE__ */ t(((e,t)=>{let n=N(),r=T();function i(e){this.mode=n.KANJI,this.data=e}i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t=0;for(;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`
3
3
  Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),de=/* @__PURE__ */ t(((e,t)=>{var n={single_source_shortest_paths:function(e,t,r){var i={},a={};a[t]=0;var o=n.PriorityQueue.make();o.push(t,0);for(var s,c,l,u,d,f,p,m,h;!o.empty();)for(l in s=o.pop(),c=s.value,u=s.cost,d=e[c]||{},d)d.hasOwnProperty(l)&&(f=d[l],p=u+f,m=a[l],h=a[l]===void 0,(h||m>p)&&(a[l]=p,o.push(l,p),i[l]=c));if(r!==void 0&&a[r]===void 0){var g=[`Could not find a path from `,t,` to `,r,`.`].join(``);throw Error(g)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,t,r){var i=n.single_source_shortest_paths(e,t,r);return n.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var t=n.PriorityQueue,r={},i;for(i in e||={},t)t.hasOwnProperty(i)&&(r[i]=t[i]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t!==void 0&&(t.exports=n)})),fe=/* @__PURE__ */ t((e=>{let t=N(),n=se(),r=ce(),i=le(),a=ue(),o=M(),s=T(),c=de();function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){let n=u(o.NUMERIC,t.NUMERIC,e),r=u(o.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return s.isKanjiModeEnabled()?(i=u(o.BYTE,t.BYTE,e),a=u(o.KANJI,t.KANJI,e)):(i=u(o.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function f(e,o){switch(o){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function m(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}function h(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=f(r[o].lastCount+l.length,l.mode)-f(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=f(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function g(e,o){let c,l=t.getBestModeForData(e);if(c=t.from(o,l),c!==t.BYTE&&c.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(c)+`.
4
4
  Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(g(t,null)):t.data&&e.push(g(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=h(m(d(t,s.isKanjiModeEnabled())),n),i=c.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(p(a))},e.rawSplit=function(t){return e.fromArray(d(t,s.isKanjiModeEnabled()))}})),pe=/* @__PURE__ */ t((e=>{let t=T(),n=E(),r=D(),i=ee(),a=te(),o=ne(),s=O(),c=k(),l=ie(),u=ae(),d=oe(),f=N(),p=fe();function m(e,t){let n=e.size,r=o.getPositions(t);for(let t=0;t<r.length;t++){let i=r[t][0],a=r[t][1];for(let t=-1;t<=7;t++)if(!(i+t<=-1||n<=i+t))for(let r=-1;r<=7;r++)a+r<=-1||n<=a+r||(t>=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function h(e){let t=e.size;for(let n=8;n<t-8;n++){let t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}function g(e,t){let n=a.getPositions(t);for(let t=0;t<n.length;t++){let r=n[t][0],i=n[t][1];for(let t=-2;t<=2;t++)for(let n=-2;n<=2;n++)t===-2||t===2||n===-2||n===2||t===0&&n===0?e.set(r+t,i+n,!0,!0):e.set(r+t,i+n,!1,!0)}}function _(e,t){let n=e.size,r=u.getEncodedBits(t),i,a,o;for(let t=0;t<18;t++)i=Math.floor(t/3),a=t%3+n-8-3,o=(r>>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function v(e,t,n){let r=e.size,i=d.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function y(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o<t.length&&(r=(t[o]>>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function b(e,n,i){let a=new r;i.forEach(function(t){a.put(t.mode.bit,4),a.put(t.getLength(),f.getCharCountIndicator(t.mode,e)),t.write(a)});let o=(t.getSymbolTotalCodewords(e)-c.getTotalCodewordsCount(e,n))*8;for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);let s=(o-a.getLengthInBits())/8;for(let e=0;e<s;e++)a.put(e%2?17:236,8);return x(a,e,n)}function x(e,n,r){let i=t.getSymbolTotalCodewords(n),a=i-c.getTotalCodewordsCount(n,r),o=c.getBlocksCount(n,r),s=o-i%o,u=Math.floor(i/o),d=Math.floor(a/o),f=d+1,p=u-d,m=new l(p),h=0,g=Array(o),_=Array(o),v=0,y=new Uint8Array(e.buffer);for(let e=0;e<o;e++){let t=e<s?d:f;g[e]=y.slice(h,h+t),_[e]=m.encode(g[e]),h+=t,v=Math.max(v,t)}let b=new Uint8Array(i),x=0,S,C;for(S=0;S<v;S++)for(C=0;C<o;C++)S<g[C].length&&(b[x++]=g[C][S]);for(S=0;S<p;S++)for(C=0;C<o;C++)b[x++]=_[C][S];return b}function S(e,n,r,a){let o;if(Array.isArray(e))o=p.fromArray(e);else if(typeof e==`string`){let t=n;if(!t){let n=p.rawSplit(e);t=u.getBestVersionForData(n,r)}o=p.fromString(e,t||40)}else throw Error(`Invalid data`);let c=u.getBestVersionForData(o,r);if(!c)throw Error(`The amount of data is too big to be stored in a QR Code`);if(!n)n=c;else if(n<c)throw Error(`
@@ -1,4 +1,4 @@
1
- import{i as e,r as t,t as n}from"./rolldown-runtime-DBVvNlSN.js";import{d as r,h as i}from"./custom-element-security-Cl991z-x.js";import{t as a}from"./browser-B1SoUj6D.js";import{C as o,r as s}from"./config-y_2Fg77m.js";import{i as c}from"./app-routes-H23VN-4O.js";import{n as l}from"./db-BUuJo1Gf.js";import{n as u,t as d}from"./tx-promise-DNVEN3Wa.js";import{t as f}from"./get-config-Bkvl__ZS.js";import{t as p}from"./html-BwtE_7wp.js";import{t as m}from"./dist-CeFyqf9k.js";import{Ot as h,_n as g,c as _,gn as v,p as y,t as b,vn as x,xn as S,yn as C}from"./orchestrator-BlvEG3PO.js";import{t as w}from"./set-config-DSiuMe0k.js";import{t as T}from"./buffer-B98mcmH0.js";import{t as E}from"./parse-boolean-config-BigJ9U46.js";import{a as D,i as O,r as k,s as A}from"./toast-CtIuHprH.js";import{n as j}from"./e2e-bridge-CiSfBRT4.js";import{t as M}from"./shadow-claw-element-DIrv3P6A.js";import{t as N}from"./effect-xrx5qhzv.js";import{i as P}from"./model-ranking-BWAZ1b-S.js";import"./shadow-claw-page-header-action-button-Bmua3mAb.js";import"./shadow-claw-page-header-Bn1P7Cxb.js";import{renderMarkdown as F}from"./markdown-BeglYzw9.js";import{a as I,n as L}from"./peerjs-CnBdK94R.js";import{t as R}from"./download-group-file-fFjoIIp4.js";import{t as z}from"./file-viewer-DFC3kfeO.js";import{n as B,t as V}from"./date-B1vUpTS_.js";import"./shadow-claw-dialog-BVGf_c3S.js"
1
+ import{i as e,r as t,t as n}from"./rolldown-runtime-DBVvNlSN.js";import{d as r,h as i}from"./custom-element-security-BR4V40j4.js";import{t as a}from"./browser-B1SoUj6D.js";import{C as o,r as s}from"./config-y_2Fg77m.js";import{i as c}from"./app-routes-H23VN-4O.js";import{n as l}from"./db-BUuJo1Gf.js";import{n as u,t as d}from"./tx-promise-DNVEN3Wa.js";import{t as f}from"./get-config-Bkvl__ZS.js";import{t as p}from"./html-BwtE_7wp.js";import{t as m}from"./dist-CeFyqf9k.js";import{Ot as h,_n as g,c as _,gn as v,p as y,t as b,vn as x,xn as S,yn as C}from"./orchestrator-OoUK7CF9.js";import{t as w}from"./set-config-DSiuMe0k.js";import{t as T}from"./buffer-B98mcmH0.js";import{t as E}from"./parse-boolean-config-BigJ9U46.js";import{a as D,i as O,r as k,s as A}from"./toast-CtIuHprH.js";import{n as j}from"./e2e-bridge-4phD1JUQ.js";import{t as M}from"./shadow-claw-element-DIrv3P6A.js";import{t as N}from"./effect-xrx5qhzv.js";import{i as P}from"./model-ranking-BWAZ1b-S.js";import"./shadow-claw-page-header-action-button-Bmua3mAb.js";import"./shadow-claw-page-header-CjFOdo9v.js";import{renderMarkdown as F}from"./markdown-BPZYpfGm.js";import{a as I,n as L}from"./peerjs-Cbn310Tz.js";import{t as R}from"./download-group-file-BNmK8wac.js";import{t as z}from"./file-viewer-Dbh3K9nL.js";import{n as B,t as V}from"./date-B1vUpTS_.js";import"./shadow-claw-dialog-BVGf_c3S.js"
2
2
  /*!
3
3
 
4
4
  JSZip v3.10.2 - A JavaScript class for generating and reading zip files
@@ -1,4 +1,4 @@
1
- import{r as e}from"./config-y_2Fg77m.js";import{n as t}from"./db-BUuJo1Gf.js";import{t as n}from"./get-config-Bkvl__ZS.js";import{t as r}from"./orchestrator-BlvEG3PO.js";import{t as i}from"./set-config-DSiuMe0k.js";import{a,r as o}from"./toast-CtIuHprH.js";import{t as s}from"./shadow-claw-element-DIrv3P6A.js";import{t as c}from"./effect-xrx5qhzv.js";const l=new CSSStyleSheet;l.replaceSync(`*,
1
+ import{r as e}from"./config-y_2Fg77m.js";import{n as t}from"./db-BUuJo1Gf.js";import{t as n}from"./get-config-Bkvl__ZS.js";import{t as r}from"./orchestrator-OoUK7CF9.js";import{t as i}from"./set-config-DSiuMe0k.js";import{a,r as o}from"./toast-CtIuHprH.js";import{t as s}from"./shadow-claw-element-DIrv3P6A.js";import{t as c}from"./effect-xrx5qhzv.js";const l=new CSSStyleSheet;l.replaceSync(`*,
2
2
  *::before,
3
3
  *::after {
4
4
  font-family: var(--shadow-claw-font-sans);
@@ -240,4 +240,4 @@ import{r as e}from"./config-y_2Fg77m.js";import{n as t}from"./db-BUuJo1Gf.js";im
240
240
  </div>
241
241
  </div>
242
242
  </template>
243
- `,`text/html`),d=u.querySelector(`template`);let f=[];f=d?Array.from(d.content.children):Array.from(u.head.children).concat(Array.from(u.body.children));var p=f;const m=`shadow-claw-control-plane`;function h(e){try{let t=new URL(e).hostname.toLowerCase();if(t===`localhost`||t===`127.0.0.1`||t===`::1`||t===`[::1]`)return`loopback`;if(/^(10\.|172\.(1[6-9]|2\d|3[01])\.|192\.168\.)/.test(t)||!t.includes(`.`)||t.endsWith(`.local`)||t.endsWith(`.lan`)||t.endsWith(`.home`)||t.endsWith(`.internal`))return`private`}catch{}}var g=class extends s{static styles=l;static template=p;db;orchestrator;constructor(){super(),this.db=null,this.orchestrator=null}async connectedCallback(){if(!this.shadowRoot)throw Error(`shadowRoot not found`);this.db=await t(),this.orchestrator=r.orchestrator,this.bindEventListeners(),this.setupEffects(),await this.render()}bindEventListeners(){let e=this.shadowRoot;e&&(e.querySelector(`[data-action="save-control-plane-transport"]`)?.addEventListener(`click`,()=>{this.saveControlPlaneTransport()}),e.querySelector(`[data-action="save-control-plane-url"]`)?.addEventListener(`click`,()=>{this.saveControlPlaneUrl()}),e.querySelector(`[data-action="test-control-plane-connection"]`)?.addEventListener(`click`,()=>{this.testControlPlaneConnection()}),e.querySelector(`[data-setting="control-plane-enabled-toggle"]`)?.addEventListener(`change`,e=>{let t=e.target;this.saveControlPlaneEnabled(t.checked)}))}setupEffects(){c(()=>{r.ready&&(this.orchestrator=r.orchestrator,this.render())})}async probeControlPlane(e){let t;try{t=new URL(e)}catch{return{success:!1,error:`Invalid URL format: "${e}"`}}let n=h(e),r={method:`GET`,cache:`no-store`,mode:`cors`};n&&(r.targetAddressSpace=n);try{let e=new URL(`/api/control/health`,t).toString(),n=await fetch(e,r);if(n.status===404){let e=new URL(`/api/control/messages`,t).toString();n=await fetch(e,{...r,method:`OPTIONS`})}return n.ok||n.status===204||n.status===401?{success:!0}:{success:!1,error:`Server responded with HTTP ${n.status} (${n.statusText||`Error`})`}}catch(e){return{success:!1,error:e instanceof Error?e.message:String(e)}}}async render(){let t=this.shadowRoot;if(!t)return;let r=t.querySelector(`[data-setting="control-plane-enabled-toggle"]`);if(r&&this.db)try{let{isControlPlaneEnabled:e}=await import(`./init-control-plane-BEbcwmmv.js`);r.checked=await e(this.db)}catch{r.checked=!1}let i=t.querySelector(`[data-setting="control-plane-url-input"]`);if(i&&this.db)try{i.value=await n(this.db,e.CONTROL_PLANE_URL)||``}catch{i.value=``}let a=t.querySelector(`[data-setting="control-plane-transport-select"]`);if(a&&this.db)try{a.value=await n(this.db,e.CONTROL_PLANE_TRANSPORT)||`sse`}catch{a.value=`sse`}}async requestAppDialog(e){let t=document.querySelector(`shadow-claw`);return t&&typeof t.requestDialog==`function`?await t.requestDialog(e):!1}async saveControlPlaneEnabled(t){if(this.db)try{if(t){let t=await n(this.db,e.CONTROL_PLANE_URL)||`http://127.0.0.1:8888`;this.probeControlPlane(t)}if(await i(this.db,e.CONTROL_PLANE_ENABLED,t?`true`:`false`),typeof localStorage<`u`)try{localStorage.setItem(e.CONTROL_PLANE_ENABLED,t?`true`:`false`)}catch{}let{ensureControlPlaneConnected:r,stopControlPlaneClient:o,shouldConnectControlPlane:s}=await import(`./init-control-plane-BEbcwmmv.js`);t?(s()&&await r({orchestrator:this.orchestrator||void 0,db:this.db,force:!0}),a(`Control plane client enabled and connected`,3e3)):(o(),a(`Control plane client disabled`,3e3))}catch(e){let t=e instanceof Error?e.message:String(e);o(`Error saving Control Plane setting: `+t,6e3)}}async saveControlPlaneTransport(){if(!this.db)return;let t=this.shadowRoot;if(!t)return;let n=t.querySelector(`[data-setting="control-plane-transport-select"]`);if(!n)return;let r=n.value===`websocket`?`websocket`:`sse`;try{if(await i(this.db,e.CONTROL_PLANE_TRANSPORT,r),typeof localStorage<`u`)try{localStorage.setItem(e.CONTROL_PLANE_TRANSPORT,r)}catch{}let{isControlPlaneEnabled:t,ensureControlPlaneConnected:n,shouldConnectControlPlane:o}=await import(`./init-control-plane-BEbcwmmv.js`);await t(this.db)&&o()&&await n({orchestrator:this.orchestrator||void 0,db:this.db,force:!0,transport:r}),a(`Control Plane transport saved: ${r.toUpperCase()}`,3e3)}catch(e){let t=e instanceof Error?e.message:String(e);o(`Error saving Control Plane transport: `+t,6e3)}}async saveControlPlaneUrl(){if(!this.db)return;let t=this.shadowRoot;if(!t)return;let n=t.querySelector(`[data-setting="control-plane-url-input"]`);if(!n)return;let r=n.value.trim();try{if(r&&this.probeControlPlane(r),await i(this.db,e.CONTROL_PLANE_URL,r),typeof localStorage<`u`)try{r?localStorage.setItem(e.CONTROL_PLANE_URL,r):localStorage.removeItem(e.CONTROL_PLANE_URL)}catch{}let{isControlPlaneEnabled:t,ensureControlPlaneConnected:n,shouldConnectControlPlane:o}=await import(`./init-control-plane-BEbcwmmv.js`);await t(this.db)&&o()&&await n({orchestrator:this.orchestrator||void 0,db:this.db,force:!0}),a(r?`Control Plane URL saved: ${r}`:`Control Plane URL reset to default`,3e3)}catch(e){let t=e instanceof Error?e.message:String(e);o(`Error saving Control Plane URL: `+t,6e3)}}async testControlPlaneConnection(){let e=this.shadowRoot;if(!e)return!1;let t=e.querySelector(`[data-setting="control-plane-url-input"]`),n=e.querySelector(`[data-action="test-control-plane-connection"]`),r=t?.value.trim()||`http://127.0.0.1:8888`;n&&(n.disabled=!0,n.textContent=`⏳ Testing...`);try{let e=await this.probeControlPlane(r);if(e.success)return a(`Successfully reached Control Plane at ${r}`,4e3),!0;let t=e.error||`Unknown connection error`;return o(`Connection test failed: ${t}`,6e3),await this.requestAppDialog({title:`Control Plane Connection Failed`,message:`Unable to connect to "${r}".\n\n• TLS / Certificate: If using HTTPS with a self-signed certificate, ensure the certificate is installed and trusted in Chrome (chrome://certificate-manager/localcerts/usercerts).\n• Chrome Permissions: In Site Settings, ensure "Local network access" is allowed.\n• Server Status: Verify the ShadowClaw dev server is running and listening on this host/port.`,confirmLabel:`OK`}),!1}finally{n&&(n.disabled=!1,n.textContent=`🔌 Test Connection`)}}};customElements.get(m)||customElements.define(m,g);export{g as ShadowClawControlPlane,h as getControlPlaneTargetAddressSpace};
243
+ `,`text/html`),d=u.querySelector(`template`);let f=[];f=d?Array.from(d.content.children):Array.from(u.head.children).concat(Array.from(u.body.children));var p=f;const m=`shadow-claw-control-plane`;function h(e){try{let t=new URL(e).hostname.toLowerCase();if(t===`localhost`||t===`127.0.0.1`||t===`::1`||t===`[::1]`)return`loopback`;if(/^(10\.|172\.(1[6-9]|2\d|3[01])\.|192\.168\.)/.test(t)||!t.includes(`.`)||t.endsWith(`.local`)||t.endsWith(`.lan`)||t.endsWith(`.home`)||t.endsWith(`.internal`))return`private`}catch{}}var g=class extends s{static styles=l;static template=p;db;orchestrator;constructor(){super(),this.db=null,this.orchestrator=null}async connectedCallback(){if(!this.shadowRoot)throw Error(`shadowRoot not found`);this.db=await t(),this.orchestrator=r.orchestrator,this.bindEventListeners(),this.setupEffects(),await this.render()}bindEventListeners(){let e=this.shadowRoot;e&&(e.querySelector(`[data-action="save-control-plane-transport"]`)?.addEventListener(`click`,()=>{this.saveControlPlaneTransport()}),e.querySelector(`[data-action="save-control-plane-url"]`)?.addEventListener(`click`,()=>{this.saveControlPlaneUrl()}),e.querySelector(`[data-action="test-control-plane-connection"]`)?.addEventListener(`click`,()=>{this.testControlPlaneConnection()}),e.querySelector(`[data-setting="control-plane-enabled-toggle"]`)?.addEventListener(`change`,e=>{let t=e.target;this.saveControlPlaneEnabled(t.checked)}))}setupEffects(){c(()=>{r.ready&&(this.orchestrator=r.orchestrator,this.render())})}async probeControlPlane(e){let t;try{t=new URL(e)}catch{return{success:!1,error:`Invalid URL format: "${e}"`}}let n=h(e),r={method:`GET`,cache:`no-store`,mode:`cors`};n&&(r.targetAddressSpace=n);try{let e=new URL(`/api/control/health`,t).toString(),n=await fetch(e,r);if(n.status===404){let e=new URL(`/api/control/messages`,t).toString();n=await fetch(e,{...r,method:`OPTIONS`})}return n.ok||n.status===204||n.status===401?{success:!0}:{success:!1,error:`Server responded with HTTP ${n.status} (${n.statusText||`Error`})`}}catch(e){return{success:!1,error:e instanceof Error?e.message:String(e)}}}async render(){let t=this.shadowRoot;if(!t)return;let r=t.querySelector(`[data-setting="control-plane-enabled-toggle"]`);if(r&&this.db)try{let{isControlPlaneEnabled:e}=await import(`./init-control-plane-DGOY_RNS.js`);r.checked=await e(this.db)}catch{r.checked=!1}let i=t.querySelector(`[data-setting="control-plane-url-input"]`);if(i&&this.db)try{i.value=await n(this.db,e.CONTROL_PLANE_URL)||``}catch{i.value=``}let a=t.querySelector(`[data-setting="control-plane-transport-select"]`);if(a&&this.db)try{a.value=await n(this.db,e.CONTROL_PLANE_TRANSPORT)||`sse`}catch{a.value=`sse`}}async requestAppDialog(e){let t=document.querySelector(`shadow-claw`);return t&&typeof t.requestDialog==`function`?await t.requestDialog(e):!1}async saveControlPlaneEnabled(t){if(this.db)try{if(t){let t=await n(this.db,e.CONTROL_PLANE_URL)||`http://127.0.0.1:8888`;this.probeControlPlane(t)}if(await i(this.db,e.CONTROL_PLANE_ENABLED,t?`true`:`false`),typeof localStorage<`u`)try{localStorage.setItem(e.CONTROL_PLANE_ENABLED,t?`true`:`false`)}catch{}let{ensureControlPlaneConnected:r,stopControlPlaneClient:o,shouldConnectControlPlane:s}=await import(`./init-control-plane-DGOY_RNS.js`);t?(s()&&await r({orchestrator:this.orchestrator||void 0,db:this.db,force:!0}),a(`Control plane client enabled and connected`,3e3)):(o(),a(`Control plane client disabled`,3e3))}catch(e){let t=e instanceof Error?e.message:String(e);o(`Error saving Control Plane setting: `+t,6e3)}}async saveControlPlaneTransport(){if(!this.db)return;let t=this.shadowRoot;if(!t)return;let n=t.querySelector(`[data-setting="control-plane-transport-select"]`);if(!n)return;let r=n.value===`websocket`?`websocket`:`sse`;try{if(await i(this.db,e.CONTROL_PLANE_TRANSPORT,r),typeof localStorage<`u`)try{localStorage.setItem(e.CONTROL_PLANE_TRANSPORT,r)}catch{}let{isControlPlaneEnabled:t,ensureControlPlaneConnected:n,shouldConnectControlPlane:o}=await import(`./init-control-plane-DGOY_RNS.js`);await t(this.db)&&o()&&await n({orchestrator:this.orchestrator||void 0,db:this.db,force:!0,transport:r}),a(`Control Plane transport saved: ${r.toUpperCase()}`,3e3)}catch(e){let t=e instanceof Error?e.message:String(e);o(`Error saving Control Plane transport: `+t,6e3)}}async saveControlPlaneUrl(){if(!this.db)return;let t=this.shadowRoot;if(!t)return;let n=t.querySelector(`[data-setting="control-plane-url-input"]`);if(!n)return;let r=n.value.trim();try{if(r&&this.probeControlPlane(r),await i(this.db,e.CONTROL_PLANE_URL,r),typeof localStorage<`u`)try{r?localStorage.setItem(e.CONTROL_PLANE_URL,r):localStorage.removeItem(e.CONTROL_PLANE_URL)}catch{}let{isControlPlaneEnabled:t,ensureControlPlaneConnected:n,shouldConnectControlPlane:o}=await import(`./init-control-plane-DGOY_RNS.js`);await t(this.db)&&o()&&await n({orchestrator:this.orchestrator||void 0,db:this.db,force:!0}),a(r?`Control Plane URL saved: ${r}`:`Control Plane URL reset to default`,3e3)}catch(e){let t=e instanceof Error?e.message:String(e);o(`Error saving Control Plane URL: `+t,6e3)}}async testControlPlaneConnection(){let e=this.shadowRoot;if(!e)return!1;let t=e.querySelector(`[data-setting="control-plane-url-input"]`),n=e.querySelector(`[data-action="test-control-plane-connection"]`),r=t?.value.trim()||`http://127.0.0.1:8888`;n&&(n.disabled=!0,n.textContent=`⏳ Testing...`);try{let e=await this.probeControlPlane(r);if(e.success)return a(`Successfully reached Control Plane at ${r}`,4e3),!0;let t=e.error||`Unknown connection error`;return o(`Connection test failed: ${t}`,6e3),await this.requestAppDialog({title:`Control Plane Connection Failed`,message:`Unable to connect to "${r}".\n\n• TLS / Certificate: If using HTTPS with a self-signed certificate, ensure the certificate is installed and trusted in Chrome (chrome://certificate-manager/localcerts/usercerts).\n• Chrome Permissions: In Site Settings, ensure "Local network access" is allowed.\n• Server Status: Verify the ShadowClaw dev server is running and listening on this host/port.`,confirmLabel:`OK`}),!1}finally{n&&(n.disabled=!1,n.textContent=`🔌 Test Connection`)}}};customElements.get(m)||customElements.define(m,g);export{g as ShadowClawControlPlane,h as getControlPlaneTargetAddressSpace};
@@ -1,4 +1,4 @@
1
- import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./config-y_2Fg77m.js";import{n}from"./db-BUuJo1Gf.js";import{t as r}from"./get-config-Bkvl__ZS.js";import{Q as i,Y as a,t as o}from"./orchestrator-BlvEG3PO.js";import{l as s,t as c}from"./tools-FiTtOlIt.js";import{t as l}from"./set-config-DSiuMe0k.js";import{t as u}from"./tools-CHxUdGxZ.js";import"./tools-C4xNCwrc.js";import{t as d}from"./shadow-claw-element-DIrv3P6A.js";import{t as f}from"./effect-xrx5qhzv.js";import{r as p}from"./model-ranking-BWAZ1b-S.js";import"./shadow-claw-dialog-BVGf_c3S.js";const m=new CSSStyleSheet;m.replaceSync(`:host {
1
+ import{d as e}from"./custom-element-security-BR4V40j4.js";import{r as t}from"./config-y_2Fg77m.js";import{n}from"./db-BUuJo1Gf.js";import{t as r}from"./get-config-Bkvl__ZS.js";import{Q as i,Y as a,t as o}from"./orchestrator-OoUK7CF9.js";import{l as s,t as c}from"./tools-CwQq5tJH.js";import{t as l}from"./set-config-DSiuMe0k.js";import{t as u}from"./tools-CHxUdGxZ.js";import"./tools-C4xNCwrc.js";import{t as d}from"./shadow-claw-element-DIrv3P6A.js";import{t as f}from"./effect-xrx5qhzv.js";import{r as p}from"./model-ranking-BWAZ1b-S.js";import"./shadow-claw-dialog-BVGf_c3S.js";const m=new CSSStyleSheet;m.replaceSync(`:host {
2
2
  display: block;
3
3
  }
4
4
 
@@ -813,6 +813,17 @@ import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./c
813
813
  flex: 1;
814
814
  margin-bottom: 0;
815
815
  }
816
+
817
+ form:tool-form-active,
818
+ .conversations__form:tool-form-active {
819
+ outline: 2px dashed var(--accent, #3b82f6);
820
+ outline-offset: 4px;
821
+ }
822
+
823
+ button:tool-submit-active {
824
+ outline: 2px dashed var(--warning, #f59e0b);
825
+ outline-offset: 2px;
826
+ }
816
827
  `);const A=new DOMParser().parseFromString(`<template>
817
828
  <div class="resize-handle" title="Drag to resize"></div>
818
829
  <div class="conversations-header">
@@ -840,7 +851,12 @@ import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./c
840
851
  dialog-aria-label="Create new conversation"
841
852
  dialog-class="conversations__dialog conversations__create-dialog"
842
853
  >
843
- <form class="conversations__form" method="dialog">
854
+ <form
855
+ class="conversations__form"
856
+ method="dialog"
857
+ toolname="conversations_create"
858
+ tooldescription="Create a new conversation session"
859
+ >
844
860
  <label class="conversations__label" for="conversations-create-name">
845
861
  Conversation name
846
862
  </label>
@@ -851,6 +867,7 @@ import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./c
851
867
  name="conversations-create-name"
852
868
  required
853
869
  type="text"
870
+ toolparamdescription="Display name of the new conversation"
854
871
  />
855
872
  <div class="conversations__actions">
856
873
  <button class="conversations__cancel" type="button">Cancel</button>
@@ -863,7 +880,12 @@ import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./c
863
880
  dialog-aria-label="Conversation Details"
864
881
  dialog-class="conversations__dialog conversations__details-dialog"
865
882
  >
866
- <form class="conversations__form" method="dialog">
883
+ <form
884
+ class="conversations__form"
885
+ method="dialog"
886
+ toolname="conversations_edit_details"
887
+ tooldescription="Edit conversation details, model configuration, and pinned tools"
888
+ >
867
889
  <label class="conversations__label" for="conversations-details-name">
868
890
  Conversation name
869
891
  </label>
@@ -874,6 +896,7 @@ import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./c
874
896
  name="conversations-details-name"
875
897
  required
876
898
  type="text"
899
+ toolparamdescription="Display name of the conversation"
877
900
  />
878
901
  <label
879
902
  class="conversations__label conversations__label--group-id"
@@ -888,6 +911,7 @@ import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./c
888
911
  name="conversations-details-group-id"
889
912
  readonly
890
913
  type="text"
914
+ toolparamdescription="Unique group identifier for the conversation"
891
915
  />
892
916
  <button
893
917
  type="button"
@@ -1017,7 +1041,12 @@ import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./c
1017
1041
  dialog-aria-label="Delete conversation"
1018
1042
  dialog-class="conversations__dialog conversations__delete-dialog"
1019
1043
  >
1020
- <form class="conversations__form" method="dialog">
1044
+ <form
1045
+ class="conversations__form"
1046
+ method="dialog"
1047
+ toolname="conversations_delete"
1048
+ tooldescription="Confirm deletion of the selected conversation"
1049
+ >
1021
1050
  <p class="conversations__delete-message">
1022
1051
  Delete conversation "<span class="conversations__delete-name"></span>"?
1023
1052
  This cannot be undone.
@@ -1035,7 +1064,12 @@ import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./c
1035
1064
  dialog-aria-label="Clone conversation"
1036
1065
  dialog-class="conversations__dialog conversations__clone-dialog"
1037
1066
  >
1038
- <form class="conversations__form" method="dialog">
1067
+ <form
1068
+ class="conversations__form"
1069
+ method="dialog"
1070
+ toolname="conversations_clone"
1071
+ tooldescription="Confirm cloning of the selected conversation into a new session"
1072
+ >
1039
1073
  <p class="conversations__delete-message">
1040
1074
  Clone conversation "<span class="conversations__clone-name"></span>"?
1041
1075
  </p>
@@ -1046,4 +1080,4 @@ import{d as e}from"./custom-element-security-Cl991z-x.js";import{r as t}from"./c
1046
1080
  </form>
1047
1081
  </shadow-claw-dialog>
1048
1082
  </template>
1049
- `,`text/html`),j=A.querySelector(`template`);let M=[];M=j?Array.from(j.content.children):Array.from(A.head.children).concat(Array.from(A.body.children));var N=M,P=class extends d{static styles=k;static template=N;channelRegistry=null;db=null;_autoScrollActive=!1;_autoScrollSpeed=0;_draggedGroupId=null;_effectCleanup=null;_keyboardGrabbedId=null;_pendingCloneGroupId=null;_pendingDeleteGroupId=null;_pendingDetailsPinnedMaxTokens=null;_pendingDetailsPinnedModel=null;_pendingDetailsPinnedProvider=null;_pendingDetailsProviderRuntimeOverrides={};_pendingDetailsSubagentMaxTokens=null;_pendingDetailsSubagentMode=`automatic`;_pendingDetailsSubagentModel=null;_pendingDetailsSubagentProvider=null;_pendingDetailsToolTags=null;_pendingRenameGroupId=null;_pendingRenameName=null;_touchDraggedGroupId=null;_touchId=null;async connectedCallback(){let e=this.shadowRoot;if(!e)throw Error(`shadowRoot not found`);this.db=await n();let i=await r(this.db,t.CONVERSATIONS_HEIGHT);i&&typeof i==`number`&&i>0&&(this.style.flex=`none`,this.style.height=`${i}px`),this.channelRegistry=o.orchestrator?.channelRegistry||null,this.shadowRoot.querySelector(`[data-action='create']`)?.addEventListener(`click`,()=>this.handleCreate()),this._setupDialogListeners(),this._initResizeHandle(),e.addEventListener(`dragover`,e=>{this._draggedGroupId!==null&&this._updateAutoScrollSpeed(e.clientY)}),e.addEventListener(`dragend`,()=>{this._stopAutoScroll()}),e.addEventListener(`drop`,()=>{this._stopAutoScroll()}),this.render(),this._effectCleanup=f(()=>{o.groups,o.activeGroupId,o.unreadGroupIds,this.render()})}disconnectedCallback(){this._effectCleanup&&=(this._effectCleanup(),null)}getChannelRegistry(){let e=o.orchestrator?.channelRegistry||null;return e&&(this.channelRegistry=e),this.channelRegistry}openCloneDialog(e){let t=this.shadowRoot;if(!t)return;let n=t.querySelector(`.conversations__clone-dialog`),r=n?.querySelector(`.conversations__clone-name`);n&&(r&&(r.textContent=e),n.showModal())}openCreateDialog(){let e=this.shadowRoot;if(!e)return;let t=e.querySelector(`.conversations__create-dialog`),n=e.querySelector(`.conversations__create-dialog .conversations__input`);t&&(t.showModal(),n&&(n.value=``,n.focus()))}openDeleteDialog(e){let t=this.shadowRoot;if(!t)return;let n=t.querySelector(`.conversations__delete-dialog`),r=n?.querySelector(`.conversations__delete-name`),i=n?.querySelector(`.conversations__cancel`);n&&(r&&(r.textContent=e),n.showModal(),i?.focus())}openDetailsDialog(t,n){let r=this.shadowRoot;if(!r)return;let i=r.querySelector(`.conversations__details-dialog`),l=r.querySelector(`.conversations__details-dialog .conversations__input`),d=r.querySelector(`#conversations-details-group-id`),f=r.querySelector(`#conversations-group-id-copy-btn`),p=r.querySelector(`#conversations-details-tools`),m=r.querySelector(`#conversations-tool-input`),h=r.querySelector(`#conversations-add-tool-btn`),g=r.querySelector(`#conversations-available-tools`),_=r.querySelector(`#conversations-main-picker`),v=r.querySelector(`#conversations-main-provider-module-settings`),y=r.querySelector(`#conversations-agent-max-tokens`),b=r.querySelector(`#conversations-subagent-settings-container`),x=r.querySelector(`#conversations-subagent-mode`),S=r.querySelector(`#conversations-subagent-max-tokens`),C=r.querySelector(`#conversations-subagent-manual-container`),w=r.querySelector(`#conversations-subagent-picker`),T=r.querySelector(`#conversations-subagent-provider-module-settings`);if(d&&(d.value=n?.replace(`:`,`-`)||``),f&&d){let t=f.cloneNode(!0);f.replaceWith(t),t.addEventListener(`click`,async()=>{let n=d.value;if(n)try{await navigator.clipboard.writeText(n);let r=t.innerHTML;e(t,`<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 -960 960 960" fill="currentColor" aria-hidden="true"><path d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg>`),t.classList.add(`conversations__group-id-copy-btn--copied`),setTimeout(()=>{e(t,r),t.classList.remove(`conversations__group-id-copy-btn--copied`)},1500)}catch{d.select()}})}let E=r.querySelector(`#conversations-details-participants-container`),D=r.querySelector(`#conversations-details-participants-list`);if(E&&D){if(n&&n.startsWith(`peer:`)){E.style.display=`block`,D.replaceChildren();let e=o.orchestrator;if(e){let t=e.peerjs?.connectedPeersSignal?.get()||[],r=n.replace(`peer:`,``);if(t.includes(r)){let t=``;if(e.peerjsPeerAliases){for(let[n,i]of Object.entries(e.peerjsPeerAliases))if(i===r){t=n;break}}let n=t?`${t} (${r.substring(0,8)})`:r,i=document.createElement(`div`);i.className=`conversations__group-id-row`;let a=document.createElement(`input`);a.className=`conversations__input conversations__group-id-input`,a.type=`text`,a.readOnly=!0,a.value=n,a.style.marginBottom=`0`;let o=document.createElement(`button`);o.type=`button`,o.className=`conversations__group-id-copy-btn`,o.title=`Copy Peer ID`,o.setAttribute(`aria-label`,`Copy Peer ID to clipboard`),o.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 -960 960 960" fill="currentColor" aria-hidden="true"><path d="M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z"/></svg>`,o.addEventListener(`click`,async()=>{try{await navigator.clipboard.writeText(r);let e=o.innerHTML;o.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 -960 960 960" fill="currentColor" aria-hidden="true"><path d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg>`,o.classList.add(`conversations__group-id-copy-btn--copied`),setTimeout(()=>{o.innerHTML=e,o.classList.remove(`conversations__group-id-copy-btn--copied`)},1500)}catch{a.value=r,a.select()}}),i.appendChild(a),i.appendChild(o),D.appendChild(i)}else{let e=document.createElement(`div`);e.style.fontSize=`0.875rem`,e.style.color=`var(--text-secondary)`,e.textContent=`Peer is not currently connected.`,D.appendChild(e)}}}else E.style.display=`none`}if(!i)return;i.showModal();let O=/* @__PURE__ */ new Map;for(let e of u)O.set(e.name,e);for(let e of c.allTools)O.has(e.name)||O.set(e.name,e);let k=()=>{if(!g)return;let e=new Set(this._pendingDetailsToolTags||[]);g.replaceChildren();for(let t of O.values()){if(e.has(t.name))continue;let n=document.createElement(`option`);n.value=t.name,g.appendChild(n)}};this.db&&n&&s(this.db,n).then(({tools:e})=>{let t=!1;for(let n of e)O.has(n.name)||(O.set(n.name,n),t=!0);t&&k()}).catch(()=>{});let A=()=>{if(!p)return;p.replaceChildren();let e=this._pendingDetailsToolTags||[];for(let t of e){let e=O.get(t),n=document.createElement(`span`);n.className=`conversations__tool-chip`;let r=document.createElement(`span`);r.textContent=t,e?.description&&(r.title=e.description),n.appendChild(r);let i=document.createElement(`button`);i.type=`button`,i.className=`conversations__tool-chip-remove`,i.textContent=`×`,i.setAttribute(`aria-label`,`Remove tool ${t}`),i.addEventListener(`click`,()=>{this._pendingDetailsToolTags&&(this._pendingDetailsToolTags=this._pendingDetailsToolTags.filter(e=>e!==t),A())}),n.appendChild(i),p.appendChild(n)}if(k(),b&&x){let e=this._isSpawnSubagentEnabledInCurrentScope();b.style.display=e?`flex`:`none`,e||(this._pendingDetailsSubagentMode=`automatic`),C&&(C.style.display=this._pendingDetailsSubagentMode===`manual`&&e?`flex`:`none`),S&&(S.value=typeof this._pendingDetailsSubagentMaxTokens==`number`&&Number.isFinite(this._pendingDetailsSubagentMaxTokens)&&this._pendingDetailsSubagentMaxTokens>0?String(Math.floor(this._pendingDetailsSubagentMaxTokens)):``)}};if(h&&m&&(h.onclick=()=>{let e=m.value.trim();if(!e)return;let t=/^[a-z][a-z0-9_]{0,63}$/.test(e);!O.get(e)&&!t||(this._pendingDetailsToolTags||=[],this._pendingDetailsToolTags.includes(e)||(this._pendingDetailsToolTags.push(e),A())),m.value=``},m.onkeydown=e=>{e.key===`Enter`&&(e.preventDefault(),h.click())}),A(),_&&v&&x&&b&&C&&w&&T){let e=a()||[];_.setLabels({providerLabel:`Pinned Provider`,defaultProviderLabel:`Default (Global)`,modelLabel:`Pinned Model`,defaultModelLabel:`Default Model`,customModelPlaceholder:`Custom model id`}),_.setModelLoader(e=>this._loadProviderModels(e)),_.setProviders(e),_.setValue({providerId:this._pendingDetailsPinnedProvider,modelId:this._pendingDetailsPinnedModel}),v.setProvider(this._pendingDetailsPinnedProvider),y&&(y.value=typeof this._pendingDetailsPinnedMaxTokens==`number`&&Number.isFinite(this._pendingDetailsPinnedMaxTokens)&&this._pendingDetailsPinnedMaxTokens>0?String(Math.floor(this._pendingDetailsPinnedMaxTokens)):``),v.setOverrides(this._pendingDetailsProviderRuntimeOverrides),w.setLabels({providerLabel:`Pinned Subagent Provider`,defaultProviderLabel:`Default (Parent Provider)`,modelLabel:`Pinned Subagent Model`,defaultModelLabel:`Default Model`,customModelPlaceholder:`Custom subagent model id`}),w.setModelLoader(e=>this._loadProviderModels(e)),w.setProviders(e),w.setValue({providerId:this._pendingDetailsSubagentProvider,modelId:this._pendingDetailsSubagentModel}),T.setProvider(this._pendingDetailsSubagentProvider),T.setOverrides(this._pendingDetailsProviderRuntimeOverrides),_.hasAttribute(`data-bound`)||(_.addEventListener(`provider-model-change`,e=>{let t=e.detail||{};this._pendingDetailsPinnedProvider=t.providerId||null,this._pendingDetailsPinnedModel=t.modelId||null,v.setProvider(this._pendingDetailsPinnedProvider),v.setOverrides(this._pendingDetailsProviderRuntimeOverrides)}),_.setAttribute(`data-bound`,`true`)),y?.hasAttribute(`data-bound`)||(y?.addEventListener(`input`,()=>{let e=Number(y.value);this._pendingDetailsPinnedMaxTokens=Number.isFinite(e)&&e>0?Math.floor(e):null}),y?.setAttribute(`data-bound`,`true`)),v.hasAttribute(`data-bound`)||(v.addEventListener(`provider-module-settings-change`,e=>{let t=e.detail||{},n=t.providerId,r=t.overrides;if(!n)return;let i=JSON.parse(JSON.stringify(this._pendingDetailsProviderRuntimeOverrides||{}));n===`llamafile`?i.llamafile=r.llamafile:n===`bedrock_proxy`&&(i.bedrock_proxy=r.bedrock_proxy),this._pendingDetailsProviderRuntimeOverrides=i,_.invalidateProviderModels(n),w.invalidateProviderModels(n)}),v.setAttribute(`data-bound`,`true`)),w.hasAttribute(`data-bound`)||(w.addEventListener(`provider-model-change`,e=>{let t=e.detail||{};this._pendingDetailsSubagentProvider=t.providerId||null,this._pendingDetailsSubagentModel=t.modelId||null,T.setProvider(this._pendingDetailsSubagentProvider),T.setOverrides(this._pendingDetailsProviderRuntimeOverrides)}),w.setAttribute(`data-bound`,`true`)),T.hasAttribute(`data-bound`)||(T.addEventListener(`provider-module-settings-change`,e=>{let t=e.detail||{},n=t.providerId,r=t.overrides;if(!n)return;let i=JSON.parse(JSON.stringify(this._pendingDetailsProviderRuntimeOverrides||{}));n===`llamafile`?i.llamafile=r.llamafile:n===`bedrock_proxy`&&(i.bedrock_proxy=r.bedrock_proxy),this._pendingDetailsProviderRuntimeOverrides=i,_.invalidateProviderModels(n),w.invalidateProviderModels(n)}),T.setAttribute(`data-bound`,`true`)),x.value=this._pendingDetailsSubagentMode;let t=this._isSpawnSubagentEnabledInCurrentScope();b.style.display=t?`flex`:`none`,v.style.display=this._pendingDetailsPinnedProvider?`flex`:`none`,C.style.display=t&&this._pendingDetailsSubagentMode===`manual`?`flex`:`none`,T.style.display=t&&this._pendingDetailsSubagentMode===`manual`&&this._pendingDetailsSubagentProvider?`flex`:`none`,x.onchange=()=>{this._pendingDetailsSubagentMode=x.value===`manual`?`manual`:`automatic`,C.style.display=this._pendingDetailsSubagentMode===`manual`&&this._isSpawnSubagentEnabledInCurrentScope()?`flex`:`none`,T.style.display=this._pendingDetailsSubagentMode===`manual`&&this._isSpawnSubagentEnabledInCurrentScope()&&this._pendingDetailsSubagentProvider?`flex`:`none`},S?.hasAttribute(`data-bound`)||(S?.addEventListener(`input`,()=>{let e=Number(S.value);this._pendingDetailsSubagentMaxTokens=Number.isFinite(e)&&e>0?Math.floor(e):null}),S?.setAttribute(`data-bound`,`true`))}l&&(l.value=t,l.select(),l.focus())}async handleClone(e){if(!this.db)return;let t=(o.groups||[]).find(t=>t.groupId===e);t&&(this._pendingCloneGroupId=e,this.openCloneDialog(t.name))}async handleCreate(){this.db&&this.openCreateDialog()}async handleDelete(e,t){this.db&&(this._pendingDeleteGroupId=e,this.openDeleteDialog(t))}async handleDetails(e,t){if(!this.db)return;this._pendingRenameGroupId=e,this._pendingRenameName=t;let n=(o.groups||[]).find(t=>t.groupId===e),r=n?.toolTags||[];this._pendingDetailsToolTags=[...r],this._pendingDetailsPinnedMaxTokens=typeof n?.pinnedMaxTokens==`number`&&Number.isFinite(n.pinnedMaxTokens)&&n.pinnedMaxTokens>0?Math.floor(n.pinnedMaxTokens):null,this._pendingDetailsPinnedProvider=n?.pinnedProvider||null,this._pendingDetailsPinnedModel=n?.pinnedModel||null,this._pendingDetailsProviderRuntimeOverrides=JSON.parse(JSON.stringify(n?.providerRuntimeOverrides||{})),this._pendingDetailsSubagentMode=n?.subagentModelSelectionMode===`manual`?`manual`:`automatic`,this._pendingDetailsSubagentMaxTokens=typeof n?.subagentMaxTokens==`number`&&Number.isFinite(n.subagentMaxTokens)&&n.subagentMaxTokens>0?Math.floor(n.subagentMaxTokens):null,this._pendingDetailsSubagentProvider=n?.subagentPinnedProvider||null,this._pendingDetailsSubagentModel=n?.subagentPinnedModel||null,this.openDetailsDialog(t,e)}async handleReorder(e,t,n){if(!this.db)return;if(n){await o.reorderConversations(this.db,n);return}let r=(o.groups||[]).map(e=>e.groupId),i=r.indexOf(e),a=r.indexOf(t);i<0||a<0||(r.splice(i,1),r.splice(a,0,e),await o.reorderConversations(this.db,r))}async handleSwitch(e){if(e===o.activeGroupId)return;let t=o.activePage,n=o.sidebarDefaultPage,r=t===`chat`||t===`tasks`||t===`files`?t:n===`tasks`||n===`files`?n:`chat`;document.dispatchEvent(new CustomEvent(`shadow-claw-navigate`,{detail:{page:r,groupId:e},bubbles:!0,composed:!0}))}async render(){let e=this.shadowRoot.querySelector(`.conversation-list`);if(!e)return;let t=o.groups||[],n=o.activeGroupId,r=o.unreadGroupIds||/* @__PURE__ */ new Set,i=this.getChannelRegistry();e.replaceChildren();for(let a=0;a<t.length;a++){let o=t[a],s=o.groupId===n,c=!s&&r.has(o.groupId),l=document.createElement(`li`);l.className=`conversation-item${s?` active`:``}${c?` unread`:``}`,l.setAttribute(`data-group-id`,o.groupId),l.setAttribute(`role`,`listitem`),l.setAttribute(`tabindex`,`0`),l.setAttribute(`aria-describedby`,`reorder-instructions`),l.setAttribute(`aria-label`,`${o.name}, position ${a+1} of ${t.length}`),this._keyboardGrabbedId===o.groupId&&(l.classList.add(`keyboard-grabbed`),l.setAttribute(`aria-grabbed`,`true`));let u=i?i.getBadge(o.groupId):``,d=t.length>1,f=document.createElement(`span`);if(f.className=`drag-handle`,f.setAttribute(`draggable`,`true`),f.setAttribute(`aria-hidden`,`true`),f.setAttribute(`title`,`Drag to reorder`),f.textContent=`⠿`,l.append(f),u){let e=document.createElement(`span`);e.className=`channel-badge`,e.textContent=u,l.append(e)}if(o.toolTags&&o.toolTags.length>0){let e=document.createElement(`span`);e.className=`tool-badge`,e.textContent=`🔧`,e.title=`Pinned Tools: ${o.toolTags.join(`, `)}`,l.append(e)}let p=document.createElement(`span`);p.className=`conversation-name`,p.textContent=o.name;let m=document.createElement(`span`);m.className=`conversation-actions`;let h=document.createElement(`button`);h.setAttribute(`data-action`,`clone`),h.setAttribute(`title`,`Clone`),h.setAttribute(`aria-label`,`Clone ${o.name}`),h.textContent=`📋`;let g=document.createElement(`button`);if(g.setAttribute(`data-action`,`details`),g.setAttribute(`title`,`Details`),g.setAttribute(`aria-label`,`Details for ${o.name}`),g.textContent=`⚙️`,m.append(h,g),d){let e=document.createElement(`button`);e.setAttribute(`data-action`,`delete`),e.setAttribute(`title`,`Delete`),e.setAttribute(`aria-label`,`Delete ${o.name}`),e.textContent=`🗑️`,m.append(e)}let _=document.createElement(`button`);_.className=`conversation-actions-toggle`,_.setAttribute(`title`,`More actions`),_.setAttribute(`aria-label`,`More actions for ${o.name}`),_.textContent=`⋮`,l.append(p,m,_),l.addEventListener(`click`,e=>{let t=e.target,n=t.closest(`[data-action]`)?.getAttribute(`data-action`);n===`clone`?this.handleClone(o.groupId):n===`details`?this.handleDetails(o.groupId,o.name):n===`delete`?this.handleDelete(o.groupId,o.name):t.closest(`.conversation-actions-toggle`)?l.classList.toggle(`show-actions`):t.closest(`.drag-handle`)||(this.handleSwitch(o.groupId),l.classList.remove(`show-actions`))}),l.addEventListener(`keydown`,e=>{this._handleKeyboard(e,o.groupId,o.name)}),f.addEventListener(`dragstart`,e=>{this._draggedGroupId=o.groupId,l.classList.add(`dragging`),e.dataTransfer?.setData(`text/plain`,o.groupId)}),f.addEventListener(`dragend`,()=>{l.classList.remove(`dragging`),this._draggedGroupId=null,e.querySelectorAll(`.drag-over`).forEach(e=>e.classList.remove(`drag-over`))}),f.addEventListener(`touchstart`,e=>{let t=e.touches[0];t&&(this._touchId=t.identifier,this._touchDraggedGroupId=o.groupId,l.classList.add(`dragging`),e.preventDefault())},{passive:!1}),l.addEventListener(`dragover`,e=>{e.preventDefault(),this._draggedGroupId&&this._draggedGroupId!==o.groupId&&l.classList.add(`drag-over`)}),l.addEventListener(`dragleave`,()=>{l.classList.remove(`drag-over`)}),l.addEventListener(`drop`,e=>{e.preventDefault(),l.classList.remove(`drag-over`),this._draggedGroupId&&this._draggedGroupId!==o.groupId&&this.handleReorder(this._draggedGroupId,o.groupId)}),e.appendChild(l)}this._bindTouchListEvents(e)}_announce(e){let t=this.shadowRoot?.querySelector(`#live-region`);t&&(t.textContent=``,requestAnimationFrame(()=>{t.textContent=e}))}_bindTouchListEvents(e){e._touchBound||(e._touchBound=!0,e.addEventListener(`touchmove`,t=>{if(this._touchDraggedGroupId===null)return;let n=this._findTouch(t);if(!n)return;t.preventDefault();let r=this._itemAtPoint(n.clientX,n.clientY);e.querySelectorAll(`.drag-over`).forEach(e=>e.classList.remove(`drag-over`)),r&&r.getAttribute(`data-group-id`)!==this._touchDraggedGroupId&&r.classList.add(`drag-over`),this._updateAutoScrollSpeed(n.clientY)},{passive:!1}),e.addEventListener(`touchend`,t=>{if(this._touchDraggedGroupId===null)return;let n=this._findChangedTouch(t);if(!n)return;let r=this._itemAtPoint(n.clientX,n.clientY)?.getAttribute(`data-group-id`);e.querySelectorAll(`.dragging`).forEach(e=>e.classList.remove(`dragging`)),e.querySelectorAll(`.drag-over`).forEach(e=>e.classList.remove(`drag-over`)),r&&r!==this._touchDraggedGroupId&&this.handleReorder(this._touchDraggedGroupId,r),this._stopAutoScroll(),this._touchDraggedGroupId=null,this._touchId=null}),e.addEventListener(`touchcancel`,()=>{e.querySelectorAll(`.dragging`).forEach(e=>e.classList.remove(`dragging`)),e.querySelectorAll(`.drag-over`).forEach(e=>e.classList.remove(`drag-over`)),this._stopAutoScroll(),this._touchDraggedGroupId=null,this._touchId=null}))}_findChangedTouch(e){for(let t=0;t<e.changedTouches.length;t++){let n=e.changedTouches[t];if(n.identifier===this._touchId)return n}}_findTouch(e){for(let t=0;t<e.touches.length;t++){let n=e.touches[t];if(n.identifier===this._touchId)return n}}_focusNext(e){let t=this.shadowRoot;if(!t)return;let n=Array.from(t.querySelectorAll(`li[tabindex="0"], button:not([disabled])`)),r=n.indexOf(e);r!==-1&&r<n.length-1&&n[r+1].focus()}_focusNextItem(e){let t=this.shadowRoot;if(!t)return;let n=Array.from(t.querySelectorAll(`.conversation-item`)),r=e.closest(`.conversation-item`),i=n.indexOf(r);i!==-1&&i<n.length-1&&n[i+1].focus()}_focusPrev(e){let t=this.shadowRoot;if(!t)return;let n=Array.from(t.querySelectorAll(`li[tabindex="0"], button:not([disabled])`)),r=n.indexOf(e);r>0&&n[r-1].focus()}_focusPrevItem(e){let t=this.shadowRoot;if(!t)return;let n=Array.from(t.querySelectorAll(`.conversation-item`)),r=e.closest(`.conversation-item`),i=n.indexOf(r);i>0&&n[i-1].focus()}_handleKeyboard(e,t,n){let r=o.groups||[],i=r.map(e=>e.groupId),a=i.length;if(this._keyboardGrabbedId===null){if(e.key===`ArrowDown`){e.preventDefault(),this._focusNextItem(e.target);return}if(e.key===`ArrowUp`){e.preventDefault(),this._focusPrevItem(e.target);return}if(e.key===`ArrowRight`){e.preventDefault(),this._focusNext(e.target);return}if(e.key===`ArrowLeft`){e.preventDefault(),this._focusPrev(e.target);return}if(e.key===` `||e.key===`Spacebar`||e.key===`Enter`){e.target.classList.contains(`conversation-item`)&&(e.preventDefault(),this.handleSwitch(t));return}if(e.key===`m`||e.key===`M`){e.preventDefault(),this._keyboardGrabbedId=t;let r=i.indexOf(t)+1;this._announce(`${n} grabbed. Current position ${r} of ${a}. Use Arrow Up and Down to move, Space or Enter to drop.`),this.render()}}else if(e.key===`Escape`)e.preventDefault(),this._announce(`Reorder cancelled. ${n} returned to original position.`),this._keyboardGrabbedId=null,this.render();else if(e.key===` `||e.key===`Spacebar`||e.key===`Enter`){e.preventDefault();let t=i.indexOf(this._keyboardGrabbedId)+1,n=r.find(e=>e.groupId===this._keyboardGrabbedId)?.name||``;this._announce(`${n} dropped at position ${t} of ${a}. Reordering complete.`),this._keyboardGrabbedId=null,this.render()}else if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault();let t=i.indexOf(this._keyboardGrabbedId),n=e.key===`ArrowUp`?t-1:t+1;if(n<0||n>=a)return;i.splice(t,1),i.splice(n,0,this._keyboardGrabbedId),this._announce(`Moved to position ${n+1} of ${a}.`),this.handleReorder(this._keyboardGrabbedId,i[t],i)}}_initResizeHandle(){let e=this.shadowRoot.querySelector(`.resize-handle`);if(!e)return;let t=null,n=e=>{if(e.pointerId!==t)return;let n=this.parentElement?.getBoundingClientRect();if(!n)return;let r=this.getBoundingClientRect().bottom-e.clientY,i=n.height-60,a=Math.max(80,Math.min(i,r));this.style.flex=`none`,this.style.height=`${a}px`},r=()=>{t!==null&&(t=null,e.classList.remove(`active`),document.removeEventListener(`pointermove`,n),this._persistHeight())};e.addEventListener(`pointerdown`,r=>{let i=r;(i.pointerType!==`mouse`||i.button===0||i.button===-1)&&(i.preventDefault(),t=i.pointerId,e.classList.add(`active`),e.setPointerCapture(i.pointerId),document.addEventListener(`pointermove`,n))}),e.addEventListener(`pointerup`,e=>{e.pointerId===t&&r()}),e.addEventListener(`pointercancel`,r),e.addEventListener(`dblclick`,()=>{this.style.flex=``,this.style.height=``,this._persistHeight(0)})}_isSpawnSubagentEnabledInCurrentScope(){return Array.isArray(this._pendingDetailsToolTags)&&this._pendingDetailsToolTags.length>0?this._pendingDetailsToolTags.includes(`spawn_subagent`):c.enabledToolNames.has(`spawn_subagent`)}_itemAtPoint(e,t){let n=this.shadowRoot;return n&&n.elementFromPoint(e,t)?.closest?.(`.conversation-item`)||null}_setupDialogListeners(){let e=this.shadowRoot,t=e.querySelector(`.conversations__create-dialog`),n=e.querySelector(`.conversations__create-dialog .conversations__form`);e.querySelector(`.conversations__create-dialog .conversations__cancel`)?.addEventListener(`click`,()=>{t?.close()}),n?.addEventListener(`submit`,async e=>{e.preventDefault(),await this._submitCreateDialog()});let r=e.querySelector(`.conversations__details-dialog`),i=e.querySelector(`.conversations__details-dialog .conversations__form`);e.querySelector(`.conversations__details-dialog .conversations__cancel`)?.addEventListener(`click`,()=>{r?.close(),this._pendingRenameGroupId=null,this._pendingRenameName=null,this._pendingDetailsToolTags=null,this._pendingDetailsPinnedProvider=null,this._pendingDetailsPinnedModel=null,this._pendingDetailsProviderRuntimeOverrides={},this._pendingDetailsSubagentMode=`automatic`,this._pendingDetailsSubagentMaxTokens=null,this._pendingDetailsSubagentProvider=null,this._pendingDetailsSubagentModel=null}),i?.addEventListener(`submit`,async e=>{e.preventDefault(),await this._submitDetailsDialog()});let a=e.querySelector(`.conversations__delete-dialog`),o=e.querySelector(`.conversations__delete-dialog .conversations__form`);e.querySelector(`.conversations__delete-dialog .conversations__cancel`)?.addEventListener(`click`,()=>{a?.close(),this._pendingDeleteGroupId=null}),o?.addEventListener(`submit`,async e=>{e.preventDefault(),await this._submitDeleteDialog()});let s=e.querySelector(`.conversations__clone-dialog`),c=e.querySelector(`.conversations__clone-dialog .conversations__form`);e.querySelector(`.conversations__clone-dialog .conversations__cancel`)?.addEventListener(`click`,()=>{s?.close(),this._pendingCloneGroupId=null}),c?.addEventListener(`submit`,async e=>{e.preventDefault(),await this._submitCloneDialog()})}_startAutoScroll(){if(this._autoScrollActive)return;this._autoScrollActive=!0;let e=()=>{if(!this._autoScrollActive)return;let t=this.shadowRoot?.querySelector(`.conversation-list`);t&&this._autoScrollSpeed!==0&&(t.scrollTop+=this._autoScrollSpeed),requestAnimationFrame(e)};requestAnimationFrame(e)}_stopAutoScroll(){this._autoScrollActive=!1,this._autoScrollSpeed=0}_updateAutoScrollSpeed(e){let t=this.shadowRoot?.querySelector(`.conversation-list`);if(!t){this._autoScrollSpeed=0;return}let n=t.getBoundingClientRect(),r=e-n.top,i=n.bottom-e;r>=0&&r<50?(this._autoScrollSpeed=-((50-r)/50)*8,this._startAutoScroll()):i>=0&&i<50?(this._autoScrollSpeed=(50-i)/50*8,this._startAutoScroll()):this._autoScrollSpeed=0}async _loadProviderModels(e){if(Array.isArray(e.models)&&e.models.length>0)return e.models;if(!e.modelsUrl)return[];let t={...e.headers||{},...o.orchestrator?i(o.orchestrator,e.id,``,this._pendingDetailsProviderRuntimeOverrides):{}};if(this.db&&e.apiKeyHeader&&o.orchestrator){let n=await o.orchestrator.getApiKeyForSpecificProvider(this.db,e.id);if(n){let r=e.apiKeyHeaderFormat||`{key}`;t[e.apiKeyHeader]=r.replace(`{key}`,n)}}let n=await fetch(e.modelsUrl,{headers:t});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json(),a=[];if(Array.isArray(r))a=r;else if(r&&typeof r==`object`){let e=r;if(Array.isArray(e.models))a=e.models;else if(Array.isArray(e.data))a=e.data;else{for(let t of Object.values(e))if(Array.isArray(t)&&t.length>0){a=t;break}a.length===0&&(e.id||e.name)&&(a=[e])}}if(Array.isArray(e.models)&&e.models.length>0){let t=new Set(a.map(e=>typeof e==`string`?e:e.id||e.name||``).filter(Boolean));a=[...e.models.filter(e=>{let n=typeof e==`string`?e:e.id||e.name||``;return n&&!t.has(n)}),...a]}return a}async _persistHeight(e){if(!this.db)return;let n=e===void 0?this.getBoundingClientRect().height:e;await l(this.db,t.CONVERSATIONS_HEIGHT,n||0)}async _submitCloneDialog(){let e=this.shadowRoot;if(!e||!this.db||!this._pendingCloneGroupId)return;let t=e.querySelector(`.conversations__clone-dialog`);await o.cloneConversation(this.db,this._pendingCloneGroupId),t?.close(),this._pendingCloneGroupId=null}async _submitCreateDialog(){let e=this.shadowRoot;if(!e||!this.db)return;let t=e.querySelector(`.conversations__create-dialog .conversations__input`),n=e.querySelector(`.conversations__create-dialog`),r=t?.value.trim();r&&(await o.createConversation(this.db,r),n?.close())}async _submitDeleteDialog(){let e=this.shadowRoot;if(!e||!this.db||!this._pendingDeleteGroupId)return;let t=e.querySelector(`.conversations__delete-dialog`);await o.deleteConversation(this.db,this._pendingDeleteGroupId),t?.close(),this._pendingDeleteGroupId=null}async _submitDetailsDialog(){let e=this.shadowRoot;if(!e||!this.db||!this._pendingRenameGroupId||!this._pendingRenameName)return;let t=e.querySelector(`.conversations__details-dialog .conversations__input`),n=e.querySelector(`.conversations__details-dialog`),r=t?.value.trim();r&&r!==this._pendingRenameName&&await o.renameConversation(this.db,this._pendingRenameGroupId,r),this._pendingDetailsToolTags&&await o.updateConversationToolTags(this.db,this._pendingRenameGroupId,this._pendingDetailsToolTags),await o.updateConversationPinnedProvider(this.db,this._pendingRenameGroupId,this._pendingDetailsPinnedProvider||void 0,this._pendingDetailsPinnedModel||void 0,this._pendingDetailsPinnedMaxTokens||void 0),await o.updateConversationProviderRuntimeOverrides(this.db,this._pendingRenameGroupId,this._pendingDetailsProviderRuntimeOverrides),await o.updateConversationSubagentSettings(this.db,this._pendingRenameGroupId,this._pendingDetailsSubagentMode,this._pendingDetailsSubagentProvider||void 0,this._pendingDetailsSubagentModel||void 0,this._pendingDetailsSubagentMaxTokens||void 0),n?.close(),this._pendingRenameGroupId=null,this._pendingRenameName=null,this._pendingDetailsToolTags=null,this._pendingDetailsPinnedMaxTokens=null,this._pendingDetailsPinnedProvider=null,this._pendingDetailsPinnedModel=null,this._pendingDetailsProviderRuntimeOverrides={},this._pendingDetailsSubagentMode=`automatic`,this._pendingDetailsSubagentMaxTokens=null,this._pendingDetailsSubagentProvider=null,this._pendingDetailsSubagentModel=null}};customElements.define(`shadow-claw-conversations`,P);export{P as ShadowClawConversations};
1083
+ `,`text/html`),j=A.querySelector(`template`);let M=[];M=j?Array.from(j.content.children):Array.from(A.head.children).concat(Array.from(A.body.children));var N=M,P=class extends d{static styles=k;static template=N;channelRegistry=null;db=null;_autoScrollActive=!1;_autoScrollSpeed=0;_draggedGroupId=null;_effectCleanup=null;_keyboardGrabbedId=null;_pendingCloneGroupId=null;_pendingDeleteGroupId=null;_pendingDetailsPinnedMaxTokens=null;_pendingDetailsPinnedModel=null;_pendingDetailsPinnedProvider=null;_pendingDetailsProviderRuntimeOverrides={};_pendingDetailsSubagentMaxTokens=null;_pendingDetailsSubagentMode=`automatic`;_pendingDetailsSubagentModel=null;_pendingDetailsSubagentProvider=null;_pendingDetailsToolTags=null;_pendingRenameGroupId=null;_pendingRenameName=null;_touchDraggedGroupId=null;_touchId=null;async connectedCallback(){let e=this.shadowRoot;if(!e)throw Error(`shadowRoot not found`);this.db=await n();let i=await r(this.db,t.CONVERSATIONS_HEIGHT);i&&typeof i==`number`&&i>0&&(this.style.flex=`none`,this.style.height=`${i}px`),this.channelRegistry=o.orchestrator?.channelRegistry||null,this.shadowRoot.querySelector(`[data-action='create']`)?.addEventListener(`click`,()=>this.handleCreate()),this._setupDialogListeners(),this._initResizeHandle(),e.addEventListener(`dragover`,e=>{this._draggedGroupId!==null&&this._updateAutoScrollSpeed(e.clientY)}),e.addEventListener(`dragend`,()=>{this._stopAutoScroll()}),e.addEventListener(`drop`,()=>{this._stopAutoScroll()}),this.render(),this._effectCleanup=f(()=>{o.groups,o.activeGroupId,o.unreadGroupIds,this.render()})}disconnectedCallback(){this._effectCleanup&&=(this._effectCleanup(),null)}getChannelRegistry(){let e=o.orchestrator?.channelRegistry||null;return e&&(this.channelRegistry=e),this.channelRegistry}openCloneDialog(e){let t=this.shadowRoot;if(!t)return;let n=t.querySelector(`.conversations__clone-dialog`),r=n?.querySelector(`.conversations__clone-name`);n&&(r&&(r.textContent=e),n.showModal())}openCreateDialog(){let e=this.shadowRoot;if(!e)return;let t=e.querySelector(`.conversations__create-dialog`),n=e.querySelector(`.conversations__create-dialog .conversations__input`);t&&(t.showModal(),n&&(n.value=``,n.focus()))}openDeleteDialog(e){let t=this.shadowRoot;if(!t)return;let n=t.querySelector(`.conversations__delete-dialog`),r=n?.querySelector(`.conversations__delete-name`),i=n?.querySelector(`.conversations__cancel`);n&&(r&&(r.textContent=e),n.showModal(),i?.focus())}openDetailsDialog(t,n){let r=this.shadowRoot;if(!r)return;let i=r.querySelector(`.conversations__details-dialog`),l=r.querySelector(`.conversations__details-dialog .conversations__input`),d=r.querySelector(`#conversations-details-group-id`),f=r.querySelector(`#conversations-group-id-copy-btn`),p=r.querySelector(`#conversations-details-tools`),m=r.querySelector(`#conversations-tool-input`),h=r.querySelector(`#conversations-add-tool-btn`),g=r.querySelector(`#conversations-available-tools`),_=r.querySelector(`#conversations-main-picker`),v=r.querySelector(`#conversations-main-provider-module-settings`),y=r.querySelector(`#conversations-agent-max-tokens`),b=r.querySelector(`#conversations-subagent-settings-container`),x=r.querySelector(`#conversations-subagent-mode`),S=r.querySelector(`#conversations-subagent-max-tokens`),C=r.querySelector(`#conversations-subagent-manual-container`),w=r.querySelector(`#conversations-subagent-picker`),T=r.querySelector(`#conversations-subagent-provider-module-settings`);if(d&&(d.value=n?.replace(`:`,`-`)||``),f&&d){let t=f.cloneNode(!0);f.replaceWith(t),t.addEventListener(`click`,async()=>{let n=d.value;if(n)try{await navigator.clipboard.writeText(n);let r=t.innerHTML;e(t,`<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 -960 960 960" fill="currentColor" aria-hidden="true"><path d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg>`),t.classList.add(`conversations__group-id-copy-btn--copied`),setTimeout(()=>{e(t,r),t.classList.remove(`conversations__group-id-copy-btn--copied`)},1500)}catch{d.select()}})}let E=r.querySelector(`#conversations-details-participants-container`),D=r.querySelector(`#conversations-details-participants-list`);if(E&&D){if(n&&n.startsWith(`peer:`)){E.style.display=`block`,D.replaceChildren();let e=o.orchestrator;if(e){let t=e.peerjs?.connectedPeersSignal?.get()||[],r=n.replace(`peer:`,``);if(t.includes(r)){let t=``;if(e.peerjsPeerAliases){for(let[n,i]of Object.entries(e.peerjsPeerAliases))if(i===r){t=n;break}}let n=t?`${t} (${r.substring(0,8)})`:r,i=document.createElement(`div`);i.className=`conversations__group-id-row`;let a=document.createElement(`input`);a.className=`conversations__input conversations__group-id-input`,a.type=`text`,a.readOnly=!0,a.value=n,a.style.marginBottom=`0`;let o=document.createElement(`button`);o.type=`button`,o.className=`conversations__group-id-copy-btn`,o.title=`Copy Peer ID`,o.setAttribute(`aria-label`,`Copy Peer ID to clipboard`),o.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 -960 960 960" fill="currentColor" aria-hidden="true"><path d="M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-560h80v560h440v80H200Zm160-240v-480 480Z"/></svg>`,o.addEventListener(`click`,async()=>{try{await navigator.clipboard.writeText(r);let e=o.innerHTML;o.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" height="1em" width="1em" viewBox="0 -960 960 960" fill="currentColor" aria-hidden="true"><path d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg>`,o.classList.add(`conversations__group-id-copy-btn--copied`),setTimeout(()=>{o.innerHTML=e,o.classList.remove(`conversations__group-id-copy-btn--copied`)},1500)}catch{a.value=r,a.select()}}),i.appendChild(a),i.appendChild(o),D.appendChild(i)}else{let e=document.createElement(`div`);e.style.fontSize=`0.875rem`,e.style.color=`var(--text-secondary)`,e.textContent=`Peer is not currently connected.`,D.appendChild(e)}}}else E.style.display=`none`}if(!i)return;i.showModal();let O=/* @__PURE__ */ new Map;for(let e of u)O.set(e.name,e);for(let e of c.allTools)O.has(e.name)||O.set(e.name,e);let k=()=>{if(!g)return;let e=new Set(this._pendingDetailsToolTags||[]);g.replaceChildren();for(let t of O.values()){if(e.has(t.name))continue;let n=document.createElement(`option`);n.value=t.name,g.appendChild(n)}};this.db&&n&&s(this.db,n).then(({tools:e})=>{let t=!1;for(let n of e)O.has(n.name)||(O.set(n.name,n),t=!0);t&&k()}).catch(()=>{});let A=()=>{if(!p)return;p.replaceChildren();let e=this._pendingDetailsToolTags||[];for(let t of e){let e=O.get(t),n=document.createElement(`span`);n.className=`conversations__tool-chip`;let r=document.createElement(`span`);r.textContent=t,e?.description&&(r.title=e.description),n.appendChild(r);let i=document.createElement(`button`);i.type=`button`,i.className=`conversations__tool-chip-remove`,i.textContent=`×`,i.setAttribute(`aria-label`,`Remove tool ${t}`),i.addEventListener(`click`,()=>{this._pendingDetailsToolTags&&(this._pendingDetailsToolTags=this._pendingDetailsToolTags.filter(e=>e!==t),A())}),n.appendChild(i),p.appendChild(n)}if(k(),b&&x){let e=this._isSpawnSubagentEnabledInCurrentScope();b.style.display=e?`flex`:`none`,e||(this._pendingDetailsSubagentMode=`automatic`),C&&(C.style.display=this._pendingDetailsSubagentMode===`manual`&&e?`flex`:`none`),S&&(S.value=typeof this._pendingDetailsSubagentMaxTokens==`number`&&Number.isFinite(this._pendingDetailsSubagentMaxTokens)&&this._pendingDetailsSubagentMaxTokens>0?String(Math.floor(this._pendingDetailsSubagentMaxTokens)):``)}};if(h&&m&&(h.onclick=()=>{let e=m.value.trim();if(!e)return;let t=/^[a-z][a-z0-9_]{0,63}$/.test(e);!O.get(e)&&!t||(this._pendingDetailsToolTags||=[],this._pendingDetailsToolTags.includes(e)||(this._pendingDetailsToolTags.push(e),A())),m.value=``},m.onkeydown=e=>{e.key===`Enter`&&(e.preventDefault(),h.click())}),A(),_&&v&&x&&b&&C&&w&&T){let e=a()||[];_.setLabels({providerLabel:`Pinned Provider`,defaultProviderLabel:`Default (Global)`,modelLabel:`Pinned Model`,defaultModelLabel:`Default Model`,customModelPlaceholder:`Custom model id`}),_.setModelLoader(e=>this._loadProviderModels(e)),_.setProviders(e),_.setValue({providerId:this._pendingDetailsPinnedProvider,modelId:this._pendingDetailsPinnedModel}),v.setProvider(this._pendingDetailsPinnedProvider),y&&(y.value=typeof this._pendingDetailsPinnedMaxTokens==`number`&&Number.isFinite(this._pendingDetailsPinnedMaxTokens)&&this._pendingDetailsPinnedMaxTokens>0?String(Math.floor(this._pendingDetailsPinnedMaxTokens)):``),v.setOverrides(this._pendingDetailsProviderRuntimeOverrides),w.setLabels({providerLabel:`Pinned Subagent Provider`,defaultProviderLabel:`Default (Parent Provider)`,modelLabel:`Pinned Subagent Model`,defaultModelLabel:`Default Model`,customModelPlaceholder:`Custom subagent model id`}),w.setModelLoader(e=>this._loadProviderModels(e)),w.setProviders(e),w.setValue({providerId:this._pendingDetailsSubagentProvider,modelId:this._pendingDetailsSubagentModel}),T.setProvider(this._pendingDetailsSubagentProvider),T.setOverrides(this._pendingDetailsProviderRuntimeOverrides),_.hasAttribute(`data-bound`)||(_.addEventListener(`provider-model-change`,e=>{let t=e.detail||{};this._pendingDetailsPinnedProvider=t.providerId||null,this._pendingDetailsPinnedModel=t.modelId||null,v.setProvider(this._pendingDetailsPinnedProvider),v.setOverrides(this._pendingDetailsProviderRuntimeOverrides)}),_.setAttribute(`data-bound`,`true`)),y?.hasAttribute(`data-bound`)||(y?.addEventListener(`input`,()=>{let e=Number(y.value);this._pendingDetailsPinnedMaxTokens=Number.isFinite(e)&&e>0?Math.floor(e):null}),y?.setAttribute(`data-bound`,`true`)),v.hasAttribute(`data-bound`)||(v.addEventListener(`provider-module-settings-change`,e=>{let t=e.detail||{},n=t.providerId,r=t.overrides;if(!n)return;let i=JSON.parse(JSON.stringify(this._pendingDetailsProviderRuntimeOverrides||{}));n===`llamafile`?i.llamafile=r.llamafile:n===`bedrock_proxy`&&(i.bedrock_proxy=r.bedrock_proxy),this._pendingDetailsProviderRuntimeOverrides=i,_.invalidateProviderModels(n),w.invalidateProviderModels(n)}),v.setAttribute(`data-bound`,`true`)),w.hasAttribute(`data-bound`)||(w.addEventListener(`provider-model-change`,e=>{let t=e.detail||{};this._pendingDetailsSubagentProvider=t.providerId||null,this._pendingDetailsSubagentModel=t.modelId||null,T.setProvider(this._pendingDetailsSubagentProvider),T.setOverrides(this._pendingDetailsProviderRuntimeOverrides)}),w.setAttribute(`data-bound`,`true`)),T.hasAttribute(`data-bound`)||(T.addEventListener(`provider-module-settings-change`,e=>{let t=e.detail||{},n=t.providerId,r=t.overrides;if(!n)return;let i=JSON.parse(JSON.stringify(this._pendingDetailsProviderRuntimeOverrides||{}));n===`llamafile`?i.llamafile=r.llamafile:n===`bedrock_proxy`&&(i.bedrock_proxy=r.bedrock_proxy),this._pendingDetailsProviderRuntimeOverrides=i,_.invalidateProviderModels(n),w.invalidateProviderModels(n)}),T.setAttribute(`data-bound`,`true`)),x.value=this._pendingDetailsSubagentMode;let t=this._isSpawnSubagentEnabledInCurrentScope();b.style.display=t?`flex`:`none`,v.style.display=this._pendingDetailsPinnedProvider?`flex`:`none`,C.style.display=t&&this._pendingDetailsSubagentMode===`manual`?`flex`:`none`,T.style.display=t&&this._pendingDetailsSubagentMode===`manual`&&this._pendingDetailsSubagentProvider?`flex`:`none`,x.onchange=()=>{this._pendingDetailsSubagentMode=x.value===`manual`?`manual`:`automatic`,C.style.display=this._pendingDetailsSubagentMode===`manual`&&this._isSpawnSubagentEnabledInCurrentScope()?`flex`:`none`,T.style.display=this._pendingDetailsSubagentMode===`manual`&&this._isSpawnSubagentEnabledInCurrentScope()&&this._pendingDetailsSubagentProvider?`flex`:`none`},S?.hasAttribute(`data-bound`)||(S?.addEventListener(`input`,()=>{let e=Number(S.value);this._pendingDetailsSubagentMaxTokens=Number.isFinite(e)&&e>0?Math.floor(e):null}),S?.setAttribute(`data-bound`,`true`))}l&&(l.value=t,l.select(),l.focus())}async handleClone(e){if(!this.db)return;let t=(o.groups||[]).find(t=>t.groupId===e);t&&(this._pendingCloneGroupId=e,this.openCloneDialog(t.name))}async handleCreate(){this.db&&this.openCreateDialog()}async handleDelete(e,t){this.db&&(this._pendingDeleteGroupId=e,this.openDeleteDialog(t))}async handleDetails(e,t){if(!this.db)return;this._pendingRenameGroupId=e,this._pendingRenameName=t;let n=(o.groups||[]).find(t=>t.groupId===e),r=n?.toolTags||[];this._pendingDetailsToolTags=[...r],this._pendingDetailsPinnedMaxTokens=typeof n?.pinnedMaxTokens==`number`&&Number.isFinite(n.pinnedMaxTokens)&&n.pinnedMaxTokens>0?Math.floor(n.pinnedMaxTokens):null,this._pendingDetailsPinnedProvider=n?.pinnedProvider||null,this._pendingDetailsPinnedModel=n?.pinnedModel||null,this._pendingDetailsProviderRuntimeOverrides=JSON.parse(JSON.stringify(n?.providerRuntimeOverrides||{})),this._pendingDetailsSubagentMode=n?.subagentModelSelectionMode===`manual`?`manual`:`automatic`,this._pendingDetailsSubagentMaxTokens=typeof n?.subagentMaxTokens==`number`&&Number.isFinite(n.subagentMaxTokens)&&n.subagentMaxTokens>0?Math.floor(n.subagentMaxTokens):null,this._pendingDetailsSubagentProvider=n?.subagentPinnedProvider||null,this._pendingDetailsSubagentModel=n?.subagentPinnedModel||null,this.openDetailsDialog(t,e)}async handleReorder(e,t,n){if(!this.db)return;if(n){await o.reorderConversations(this.db,n);return}let r=(o.groups||[]).map(e=>e.groupId),i=r.indexOf(e),a=r.indexOf(t);i<0||a<0||(r.splice(i,1),r.splice(a,0,e),await o.reorderConversations(this.db,r))}async handleSwitch(e){if(e===o.activeGroupId)return;let t=o.activePage,n=o.sidebarDefaultPage,r=t===`chat`||t===`tasks`||t===`files`?t:n===`tasks`||n===`files`?n:`chat`;document.dispatchEvent(new CustomEvent(`shadow-claw-navigate`,{detail:{page:r,groupId:e},bubbles:!0,composed:!0}))}async render(){let e=this.shadowRoot.querySelector(`.conversation-list`);if(!e)return;let t=o.groups||[],n=o.activeGroupId,r=o.unreadGroupIds||/* @__PURE__ */ new Set,i=this.getChannelRegistry();e.replaceChildren();for(let a=0;a<t.length;a++){let o=t[a],s=o.groupId===n,c=!s&&r.has(o.groupId),l=document.createElement(`li`);l.className=`conversation-item${s?` active`:``}${c?` unread`:``}`,l.setAttribute(`data-group-id`,o.groupId),l.setAttribute(`role`,`listitem`),l.setAttribute(`tabindex`,`0`),l.setAttribute(`aria-describedby`,`reorder-instructions`),l.setAttribute(`aria-label`,`${o.name}, position ${a+1} of ${t.length}`),this._keyboardGrabbedId===o.groupId&&(l.classList.add(`keyboard-grabbed`),l.setAttribute(`aria-grabbed`,`true`));let u=i?i.getBadge(o.groupId):``,d=t.length>1,f=document.createElement(`span`);if(f.className=`drag-handle`,f.setAttribute(`draggable`,`true`),f.setAttribute(`aria-hidden`,`true`),f.setAttribute(`title`,`Drag to reorder`),f.textContent=`⠿`,l.append(f),u){let e=document.createElement(`span`);e.className=`channel-badge`,e.textContent=u,l.append(e)}if(o.toolTags&&o.toolTags.length>0){let e=document.createElement(`span`);e.className=`tool-badge`,e.textContent=`🔧`,e.title=`Pinned Tools: ${o.toolTags.join(`, `)}`,l.append(e)}let p=document.createElement(`span`);p.className=`conversation-name`,p.textContent=o.name;let m=document.createElement(`span`);m.className=`conversation-actions`;let h=document.createElement(`button`);h.setAttribute(`data-action`,`clone`),h.setAttribute(`title`,`Clone`),h.setAttribute(`aria-label`,`Clone ${o.name}`),h.textContent=`📋`;let g=document.createElement(`button`);if(g.setAttribute(`data-action`,`details`),g.setAttribute(`title`,`Details`),g.setAttribute(`aria-label`,`Details for ${o.name}`),g.textContent=`⚙️`,m.append(h,g),d){let e=document.createElement(`button`);e.setAttribute(`data-action`,`delete`),e.setAttribute(`title`,`Delete`),e.setAttribute(`aria-label`,`Delete ${o.name}`),e.textContent=`🗑️`,m.append(e)}let _=document.createElement(`button`);_.className=`conversation-actions-toggle`,_.setAttribute(`title`,`More actions`),_.setAttribute(`aria-label`,`More actions for ${o.name}`),_.textContent=`⋮`,l.append(p,m,_),l.addEventListener(`click`,e=>{let t=e.target,n=t.closest(`[data-action]`)?.getAttribute(`data-action`);n===`clone`?this.handleClone(o.groupId):n===`details`?this.handleDetails(o.groupId,o.name):n===`delete`?this.handleDelete(o.groupId,o.name):t.closest(`.conversation-actions-toggle`)?l.classList.toggle(`show-actions`):t.closest(`.drag-handle`)||(this.handleSwitch(o.groupId),l.classList.remove(`show-actions`))}),l.addEventListener(`keydown`,e=>{this._handleKeyboard(e,o.groupId,o.name)}),f.addEventListener(`dragstart`,e=>{this._draggedGroupId=o.groupId,l.classList.add(`dragging`),e.dataTransfer?.setData(`text/plain`,o.groupId)}),f.addEventListener(`dragend`,()=>{l.classList.remove(`dragging`),this._draggedGroupId=null,e.querySelectorAll(`.drag-over`).forEach(e=>e.classList.remove(`drag-over`))}),f.addEventListener(`touchstart`,e=>{let t=e.touches[0];t&&(this._touchId=t.identifier,this._touchDraggedGroupId=o.groupId,l.classList.add(`dragging`),e.preventDefault())},{passive:!1}),l.addEventListener(`dragover`,e=>{e.preventDefault(),this._draggedGroupId&&this._draggedGroupId!==o.groupId&&l.classList.add(`drag-over`)}),l.addEventListener(`dragleave`,()=>{l.classList.remove(`drag-over`)}),l.addEventListener(`drop`,e=>{e.preventDefault(),l.classList.remove(`drag-over`),this._draggedGroupId&&this._draggedGroupId!==o.groupId&&this.handleReorder(this._draggedGroupId,o.groupId)}),e.appendChild(l)}this._bindTouchListEvents(e)}_announce(e){let t=this.shadowRoot?.querySelector(`#live-region`);t&&(t.textContent=``,requestAnimationFrame(()=>{t.textContent=e}))}_bindTouchListEvents(e){e._touchBound||(e._touchBound=!0,e.addEventListener(`touchmove`,t=>{if(this._touchDraggedGroupId===null)return;let n=this._findTouch(t);if(!n)return;t.preventDefault();let r=this._itemAtPoint(n.clientX,n.clientY);e.querySelectorAll(`.drag-over`).forEach(e=>e.classList.remove(`drag-over`)),r&&r.getAttribute(`data-group-id`)!==this._touchDraggedGroupId&&r.classList.add(`drag-over`),this._updateAutoScrollSpeed(n.clientY)},{passive:!1}),e.addEventListener(`touchend`,t=>{if(this._touchDraggedGroupId===null)return;let n=this._findChangedTouch(t);if(!n)return;let r=this._itemAtPoint(n.clientX,n.clientY)?.getAttribute(`data-group-id`);e.querySelectorAll(`.dragging`).forEach(e=>e.classList.remove(`dragging`)),e.querySelectorAll(`.drag-over`).forEach(e=>e.classList.remove(`drag-over`)),r&&r!==this._touchDraggedGroupId&&this.handleReorder(this._touchDraggedGroupId,r),this._stopAutoScroll(),this._touchDraggedGroupId=null,this._touchId=null}),e.addEventListener(`touchcancel`,()=>{e.querySelectorAll(`.dragging`).forEach(e=>e.classList.remove(`dragging`)),e.querySelectorAll(`.drag-over`).forEach(e=>e.classList.remove(`drag-over`)),this._stopAutoScroll(),this._touchDraggedGroupId=null,this._touchId=null}))}_findChangedTouch(e){for(let t=0;t<e.changedTouches.length;t++){let n=e.changedTouches[t];if(n.identifier===this._touchId)return n}}_findTouch(e){for(let t=0;t<e.touches.length;t++){let n=e.touches[t];if(n.identifier===this._touchId)return n}}_focusNext(e){let t=this.shadowRoot;if(!t)return;let n=Array.from(t.querySelectorAll(`li[tabindex="0"], button:not([disabled])`)),r=n.indexOf(e);r!==-1&&r<n.length-1&&n[r+1].focus()}_focusNextItem(e){let t=this.shadowRoot;if(!t)return;let n=Array.from(t.querySelectorAll(`.conversation-item`)),r=e.closest(`.conversation-item`),i=n.indexOf(r);i!==-1&&i<n.length-1&&n[i+1].focus()}_focusPrev(e){let t=this.shadowRoot;if(!t)return;let n=Array.from(t.querySelectorAll(`li[tabindex="0"], button:not([disabled])`)),r=n.indexOf(e);r>0&&n[r-1].focus()}_focusPrevItem(e){let t=this.shadowRoot;if(!t)return;let n=Array.from(t.querySelectorAll(`.conversation-item`)),r=e.closest(`.conversation-item`),i=n.indexOf(r);i>0&&n[i-1].focus()}_handleKeyboard(e,t,n){let r=o.groups||[],i=r.map(e=>e.groupId),a=i.length;if(this._keyboardGrabbedId===null){if(e.key===`ArrowDown`){e.preventDefault(),this._focusNextItem(e.target);return}if(e.key===`ArrowUp`){e.preventDefault(),this._focusPrevItem(e.target);return}if(e.key===`ArrowRight`){e.preventDefault(),this._focusNext(e.target);return}if(e.key===`ArrowLeft`){e.preventDefault(),this._focusPrev(e.target);return}if(e.key===` `||e.key===`Spacebar`||e.key===`Enter`){e.target.classList.contains(`conversation-item`)&&(e.preventDefault(),this.handleSwitch(t));return}if(e.key===`m`||e.key===`M`){e.preventDefault(),this._keyboardGrabbedId=t;let r=i.indexOf(t)+1;this._announce(`${n} grabbed. Current position ${r} of ${a}. Use Arrow Up and Down to move, Space or Enter to drop.`),this.render()}}else if(e.key===`Escape`)e.preventDefault(),this._announce(`Reorder cancelled. ${n} returned to original position.`),this._keyboardGrabbedId=null,this.render();else if(e.key===` `||e.key===`Spacebar`||e.key===`Enter`){e.preventDefault();let t=i.indexOf(this._keyboardGrabbedId)+1,n=r.find(e=>e.groupId===this._keyboardGrabbedId)?.name||``;this._announce(`${n} dropped at position ${t} of ${a}. Reordering complete.`),this._keyboardGrabbedId=null,this.render()}else if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault();let t=i.indexOf(this._keyboardGrabbedId),n=e.key===`ArrowUp`?t-1:t+1;if(n<0||n>=a)return;i.splice(t,1),i.splice(n,0,this._keyboardGrabbedId),this._announce(`Moved to position ${n+1} of ${a}.`),this.handleReorder(this._keyboardGrabbedId,i[t],i)}}_initResizeHandle(){let e=this.shadowRoot.querySelector(`.resize-handle`);if(!e)return;let t=null,n=e=>{if(e.pointerId!==t)return;let n=this.parentElement?.getBoundingClientRect();if(!n)return;let r=this.getBoundingClientRect().bottom-e.clientY,i=n.height-60,a=Math.max(80,Math.min(i,r));this.style.flex=`none`,this.style.height=`${a}px`},r=()=>{t!==null&&(t=null,e.classList.remove(`active`),document.removeEventListener(`pointermove`,n),this._persistHeight())};e.addEventListener(`pointerdown`,r=>{let i=r;(i.pointerType!==`mouse`||i.button===0||i.button===-1)&&(i.preventDefault(),t=i.pointerId,e.classList.add(`active`),e.setPointerCapture(i.pointerId),document.addEventListener(`pointermove`,n))}),e.addEventListener(`pointerup`,e=>{e.pointerId===t&&r()}),e.addEventListener(`pointercancel`,r),e.addEventListener(`dblclick`,()=>{this.style.flex=``,this.style.height=``,this._persistHeight(0)})}_isSpawnSubagentEnabledInCurrentScope(){return Array.isArray(this._pendingDetailsToolTags)&&this._pendingDetailsToolTags.length>0?this._pendingDetailsToolTags.includes(`spawn_subagent`):c.enabledToolNames.has(`spawn_subagent`)}_itemAtPoint(e,t){let n=this.shadowRoot;return n&&n.elementFromPoint(e,t)?.closest?.(`.conversation-item`)||null}_setupDialogListeners(){let e=this.shadowRoot,t=e.querySelector(`.conversations__create-dialog`),n=e.querySelector(`.conversations__create-dialog .conversations__form`);e.querySelector(`.conversations__create-dialog .conversations__cancel`)?.addEventListener(`click`,()=>{t?.close()}),n?.addEventListener(`submit`,async e=>{e.preventDefault();let t=this._submitCreateDialog();e.agentInvoked&&typeof e.respondWith==`function`&&e.respondWith(t),await t});let r=e.querySelector(`.conversations__details-dialog`),i=e.querySelector(`.conversations__details-dialog .conversations__form`);e.querySelector(`.conversations__details-dialog .conversations__cancel`)?.addEventListener(`click`,()=>{r?.close(),this._pendingRenameGroupId=null,this._pendingRenameName=null,this._pendingDetailsToolTags=null,this._pendingDetailsPinnedProvider=null,this._pendingDetailsPinnedModel=null,this._pendingDetailsProviderRuntimeOverrides={},this._pendingDetailsSubagentMode=`automatic`,this._pendingDetailsSubagentMaxTokens=null,this._pendingDetailsSubagentProvider=null,this._pendingDetailsSubagentModel=null}),i?.addEventListener(`submit`,async e=>{e.preventDefault();let t=this._submitDetailsDialog();e.agentInvoked&&typeof e.respondWith==`function`&&e.respondWith(t),await t});let a=e.querySelector(`.conversations__delete-dialog`),o=e.querySelector(`.conversations__delete-dialog .conversations__form`);e.querySelector(`.conversations__delete-dialog .conversations__cancel`)?.addEventListener(`click`,()=>{a?.close(),this._pendingDeleteGroupId=null}),o?.addEventListener(`submit`,async e=>{e.preventDefault();let t=this._submitDeleteDialog();e.agentInvoked&&typeof e.respondWith==`function`&&e.respondWith(t),await t});let s=e.querySelector(`.conversations__clone-dialog`),c=e.querySelector(`.conversations__clone-dialog .conversations__form`);e.querySelector(`.conversations__clone-dialog .conversations__cancel`)?.addEventListener(`click`,()=>{s?.close(),this._pendingCloneGroupId=null}),c?.addEventListener(`submit`,async e=>{e.preventDefault();let t=this._submitCloneDialog();e.agentInvoked&&typeof e.respondWith==`function`&&e.respondWith(t),await t})}_startAutoScroll(){if(this._autoScrollActive)return;this._autoScrollActive=!0;let e=()=>{if(!this._autoScrollActive)return;let t=this.shadowRoot?.querySelector(`.conversation-list`);t&&this._autoScrollSpeed!==0&&(t.scrollTop+=this._autoScrollSpeed),requestAnimationFrame(e)};requestAnimationFrame(e)}_stopAutoScroll(){this._autoScrollActive=!1,this._autoScrollSpeed=0}_updateAutoScrollSpeed(e){let t=this.shadowRoot?.querySelector(`.conversation-list`);if(!t){this._autoScrollSpeed=0;return}let n=t.getBoundingClientRect(),r=e-n.top,i=n.bottom-e;r>=0&&r<50?(this._autoScrollSpeed=-((50-r)/50)*8,this._startAutoScroll()):i>=0&&i<50?(this._autoScrollSpeed=(50-i)/50*8,this._startAutoScroll()):this._autoScrollSpeed=0}async _loadProviderModels(e){if(Array.isArray(e.models)&&e.models.length>0)return e.models;if(!e.modelsUrl)return[];let t={...e.headers||{},...o.orchestrator?i(o.orchestrator,e.id,``,this._pendingDetailsProviderRuntimeOverrides):{}};if(this.db&&e.apiKeyHeader&&o.orchestrator){let n=await o.orchestrator.getApiKeyForSpecificProvider(this.db,e.id);if(n){let r=e.apiKeyHeaderFormat||`{key}`;t[e.apiKeyHeader]=r.replace(`{key}`,n)}}let n=await fetch(e.modelsUrl,{headers:t});if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json(),a=[];if(Array.isArray(r))a=r;else if(r&&typeof r==`object`){let e=r;if(Array.isArray(e.models))a=e.models;else if(Array.isArray(e.data))a=e.data;else{for(let t of Object.values(e))if(Array.isArray(t)&&t.length>0){a=t;break}a.length===0&&(e.id||e.name)&&(a=[e])}}if(Array.isArray(e.models)&&e.models.length>0){let t=new Set(a.map(e=>typeof e==`string`?e:e.id||e.name||``).filter(Boolean));a=[...e.models.filter(e=>{let n=typeof e==`string`?e:e.id||e.name||``;return n&&!t.has(n)}),...a]}return a}async _persistHeight(e){if(!this.db)return;let n=e===void 0?this.getBoundingClientRect().height:e;await l(this.db,t.CONVERSATIONS_HEIGHT,n||0)}async _submitCloneDialog(){let e=this.shadowRoot;if(!e||!this.db||!this._pendingCloneGroupId)return;let t=e.querySelector(`.conversations__clone-dialog`);await o.cloneConversation(this.db,this._pendingCloneGroupId),t?.close(),this._pendingCloneGroupId=null}async _submitCreateDialog(){let e=this.shadowRoot;if(!e||!this.db)return;let t=e.querySelector(`.conversations__create-dialog .conversations__input`),n=e.querySelector(`.conversations__create-dialog`),r=t?.value.trim();r&&(await o.createConversation(this.db,r),n?.close())}async _submitDeleteDialog(){let e=this.shadowRoot;if(!e||!this.db||!this._pendingDeleteGroupId)return;let t=e.querySelector(`.conversations__delete-dialog`);await o.deleteConversation(this.db,this._pendingDeleteGroupId),t?.close(),this._pendingDeleteGroupId=null}async _submitDetailsDialog(){let e=this.shadowRoot;if(!e||!this.db||!this._pendingRenameGroupId||!this._pendingRenameName)return;let t=e.querySelector(`.conversations__details-dialog .conversations__input`),n=e.querySelector(`.conversations__details-dialog`),r=t?.value.trim();r&&r!==this._pendingRenameName&&await o.renameConversation(this.db,this._pendingRenameGroupId,r),this._pendingDetailsToolTags&&await o.updateConversationToolTags(this.db,this._pendingRenameGroupId,this._pendingDetailsToolTags),await o.updateConversationPinnedProvider(this.db,this._pendingRenameGroupId,this._pendingDetailsPinnedProvider||void 0,this._pendingDetailsPinnedModel||void 0,this._pendingDetailsPinnedMaxTokens||void 0),await o.updateConversationProviderRuntimeOverrides(this.db,this._pendingRenameGroupId,this._pendingDetailsProviderRuntimeOverrides),await o.updateConversationSubagentSettings(this.db,this._pendingRenameGroupId,this._pendingDetailsSubagentMode,this._pendingDetailsSubagentProvider||void 0,this._pendingDetailsSubagentModel||void 0,this._pendingDetailsSubagentMaxTokens||void 0),n?.close(),this._pendingRenameGroupId=null,this._pendingRenameName=null,this._pendingDetailsToolTags=null,this._pendingDetailsPinnedMaxTokens=null,this._pendingDetailsPinnedProvider=null,this._pendingDetailsPinnedModel=null,this._pendingDetailsProviderRuntimeOverrides={},this._pendingDetailsSubagentMode=`automatic`,this._pendingDetailsSubagentMaxTokens=null,this._pendingDetailsSubagentProvider=null,this._pendingDetailsSubagentModel=null}};customElements.define(`shadow-claw-conversations`,P);export{P as ShadowClawConversations};
@@ -1,4 +1,4 @@
1
- import{S as e,a as t,c as n,d as r,f as i,i as a,o,p as s,r as c,s as l,u}from"./custom-element-security-Cl991z-x.js";import{r as d}from"./config-y_2Fg77m.js";import{c as f,f as p,i as m,l as h,n as g,s as _}from"./app-routes-H23VN-4O.js";import{n as v}from"./db-BUuJo1Gf.js";import{t as y}from"./get-config-Bkvl__ZS.js";import{bn as b,gn as x,t as S}from"./orchestrator-BlvEG3PO.js";import{a as C,t as w}from"./tools-FiTtOlIt.js";import{t as T}from"./parse-boolean-config-BigJ9U46.js";import{a as E,r as D}from"./toast-CtIuHprH.js";import{t as O}from"./shadow-claw-element-DIrv3P6A.js";import{t as k}from"./effect-xrx5qhzv.js";import{r as A}from"./frontmatter-CZox7hQQ.js";import{renderMarkdown as j,t as M}from"./markdown-BeglYzw9.js";import{t as N}from"./file-viewer-DFC3kfeO.js";import"./shadow-claw-dialog-BVGf_c3S.js";import{a as P,c as F,i as I,l as L,n as R,o as z,r as B,s as V,t as H}from"./iframe-storage-proxy-BXWJUsH8.js";const U=new CSSStyleSheet;U.replaceSync(`*,
1
+ import{S as e,a as t,c as n,d as r,f as i,i as a,o,p as s,r as c,s as l,u}from"./custom-element-security-BR4V40j4.js";import{r as d}from"./config-y_2Fg77m.js";import{c as f,f as p,i as m,l as h,n as g,s as _}from"./app-routes-H23VN-4O.js";import{n as v}from"./db-BUuJo1Gf.js";import{t as y}from"./get-config-Bkvl__ZS.js";import{bn as b,gn as x,t as S}from"./orchestrator-OoUK7CF9.js";import{a as C,t as w}from"./tools-CwQq5tJH.js";import{t as T}from"./parse-boolean-config-BigJ9U46.js";import{a as E,r as D}from"./toast-CtIuHprH.js";import{t as O}from"./shadow-claw-element-DIrv3P6A.js";import{t as k}from"./effect-xrx5qhzv.js";import{r as A}from"./frontmatter-CZox7hQQ.js";import{renderMarkdown as j,t as M}from"./markdown-BPZYpfGm.js";import{t as N}from"./file-viewer-Dbh3K9nL.js";import"./shadow-claw-dialog-BVGf_c3S.js";import{a as P,c as F,i as I,l as L,n as R,o as z,r as B,s as V,t as H}from"./iframe-storage-proxy-BXWJUsH8.js";const U=new CSSStyleSheet;U.replaceSync(`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;