@geminilight/mindos 0.6.56 → 0.6.57

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 (374) hide show
  1. package/_standalone/.mindos-build-version +1 -1
  2. package/_standalone/.next/BUILD_ID +1 -1
  3. package/_standalone/.next/app-path-routes-manifest.json +23 -21
  4. package/_standalone/.next/build-manifest.json +3 -3
  5. package/_standalone/.next/cache/.previewinfo +1 -1
  6. package/_standalone/.next/cache/.rscinfo +1 -1
  7. package/_standalone/.next/cache/config.json +3 -3
  8. package/_standalone/.next/prerender-manifest.json +3 -3
  9. package/_standalone/.next/react-loadable-manifest.json +8 -8
  10. package/_standalone/.next/routes-manifest.json +12 -0
  11. package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  12. package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  13. package/_standalone/.next/server/app/_global-error.html +2 -2
  14. package/_standalone/.next/server/app/_global-error.rsc +1 -1
  15. package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  16. package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  17. package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  18. package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  19. package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  20. package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  21. package/_standalone/.next/server/app/_not-found/page.js +1 -1
  22. package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  23. package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  24. package/_standalone/.next/server/app/agents/[agentKey]/page.js +1 -1
  25. package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  26. package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  27. package/_standalone/.next/server/app/agents/page.js +2 -6
  28. package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
  29. package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  30. package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  31. package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  32. package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  33. package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  34. package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  35. package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  36. package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  37. package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  38. package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  39. package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  40. package/_standalone/.next/server/app/api/agents/custom/detect/route.js +1 -0
  41. package/_standalone/.next/server/app/api/agents/custom/detect/route.js.nft.json +1 -0
  42. package/_standalone/.next/server/app/api/agents/custom/detect/route_client-reference-manifest.js +1 -0
  43. package/_standalone/.next/server/app/api/agents/custom/route.js +1 -0
  44. package/_standalone/.next/server/app/api/agents/custom/route.js.nft.json +1 -0
  45. package/_standalone/.next/server/app/api/agents/custom/route_client-reference-manifest.js +1 -0
  46. package/_standalone/.next/server/app/api/ask/route.js +3 -3
  47. package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
  48. package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  49. package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  50. package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  51. package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  52. package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  53. package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
  54. package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  55. package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
  56. package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  57. package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
  58. package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
  59. package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  60. package/_standalone/.next/server/app/api/file/import/route.js +1 -1
  61. package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
  62. package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  63. package/_standalone/.next/server/app/api/file/raw/route.js.nft.json +1 -1
  64. package/_standalone/.next/server/app/api/file/raw/route_client-reference-manifest.js +1 -1
  65. package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
  66. package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  67. package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  68. package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  69. package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  70. package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  71. package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
  72. package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  73. package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  74. package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  75. package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -1
  76. package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
  77. package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  78. package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -1
  79. package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
  80. package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  81. package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  82. package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  83. package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  84. package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  85. package/_standalone/.next/server/app/api/mcp/uninstall/route_client-reference-manifest.js +1 -1
  86. package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
  87. package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  88. package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
  89. package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  90. package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  91. package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  92. package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  93. package/_standalone/.next/server/app/api/settings/list-models/route.js +1 -1
  94. package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  95. package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  96. package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  97. package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  98. package/_standalone/.next/server/app/api/settings/test-key/route.js +1 -1
  99. package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  100. package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  101. package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  102. package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  103. package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  104. package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  105. package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  106. package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  107. package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
  108. package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  109. package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  110. package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  111. package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  112. package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  113. package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  114. package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  115. package/_standalone/.next/server/app/changes/page.js +1 -1
  116. package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
  117. package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  118. package/_standalone/.next/server/app/echo/[segment]/page.js +1 -1
  119. package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
  120. package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  121. package/_standalone/.next/server/app/echo/page.js +1 -1
  122. package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
  123. package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
  124. package/_standalone/.next/server/app/explore/page.js +1 -1
  125. package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
  126. package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
  127. package/_standalone/.next/server/app/help/page.js +1 -1
  128. package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
  129. package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  130. package/_standalone/.next/server/app/inbox/history/page.js +1 -1
  131. package/_standalone/.next/server/app/inbox/history/page.js.nft.json +1 -1
  132. package/_standalone/.next/server/app/inbox/history/page_client-reference-manifest.js +1 -1
  133. package/_standalone/.next/server/app/login/page.js +1 -1
  134. package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
  135. package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  136. package/_standalone/.next/server/app/page.js +1 -1
  137. package/_standalone/.next/server/app/page.js.nft.json +1 -1
  138. package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  139. package/_standalone/.next/server/app/setup/page.js +1 -1
  140. package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
  141. package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  142. package/_standalone/.next/server/app/trash/page.js +3 -3
  143. package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
  144. package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
  145. package/_standalone/.next/server/app/view/[...path]/page.js +3 -3
  146. package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
  147. package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  148. package/_standalone/.next/server/app/wiki/page.js +1 -1
  149. package/_standalone/.next/server/app/wiki/page.js.nft.json +1 -1
  150. package/_standalone/.next/server/app/wiki/page_client-reference-manifest.js +1 -1
  151. package/_standalone/.next/server/app-paths-manifest.json +23 -21
  152. package/_standalone/.next/server/chunks/2159.js +52 -0
  153. package/_standalone/.next/server/chunks/{2190.js → 3484.js} +1 -1
  154. package/_standalone/.next/server/chunks/530.js +29 -29
  155. package/_standalone/.next/server/chunks/6539.js +1 -1
  156. package/_standalone/.next/server/chunks/8388.js +3 -3
  157. package/_standalone/.next/server/chunks/953.js +2 -2
  158. package/_standalone/.next/server/middleware-build-manifest.js +1 -1
  159. package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  160. package/_standalone/.next/server/pages/500.html +2 -2
  161. package/_standalone/.next/server/server-reference-manifest.js +1 -1
  162. package/_standalone/.next/server/server-reference-manifest.json +1 -1
  163. package/_standalone/.next/static/chunks/1053-5cb008a24930e271.js +29 -0
  164. package/_standalone/.next/static/chunks/1477.33df3cce509578c2.js +1 -0
  165. package/_standalone/.next/static/chunks/{1814.b08e9fb85dd3b13c.js → 1814.a7c127b2c73d1f70.js} +1 -1
  166. package/_standalone/.next/static/chunks/2549-e63cf57fa927a41d.js +1 -0
  167. package/_standalone/.next/static/chunks/{1007.c11404e50b39d165.js → 2647.e0b67d0c432ad7e7.js} +10 -10
  168. package/_standalone/.next/static/chunks/{2872.c8c8593be1ba4735.js → 2872.045858d00bd8307f.js} +2 -2
  169. package/_standalone/.next/static/chunks/362.3978790a2e636c3c.js +2 -0
  170. package/_standalone/.next/static/chunks/3637.38c4f28d8f698e0e.js +1 -0
  171. package/_standalone/.next/static/chunks/54a60aa6.7a74f547ec1bdd5a.js +79 -0
  172. package/_standalone/.next/static/chunks/6087.4b6102dc0bcd07a7.js +1 -0
  173. package/_standalone/.next/static/chunks/6878-e2c5459e1c608f89.js +1 -0
  174. package/_standalone/.next/static/chunks/7249-8cd568ad23656622.js +11 -0
  175. package/_standalone/.next/static/chunks/8252-e5ae7ced3a41e0ed.js +1 -0
  176. package/_standalone/.next/static/chunks/{8753-ea9db680b0f70f25.js → 8658-16ff58b75ae37fbb.js} +1 -1
  177. package/_standalone/.next/static/chunks/{7322-d67d05067544864c.js → 9274-296ab35f9f09e42e.js} +1 -1
  178. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-2f4705aa66819b86.js +1 -0
  179. package/_standalone/.next/static/chunks/app/_global-error/page-2f4705aa66819b86.js +1 -0
  180. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-7bdeab5af8e4f5f2.js +1 -0
  181. package/_standalone/.next/static/chunks/app/agents/page-5d1446665ddb3801.js +1 -0
  182. package/_standalone/.next/static/chunks/app/api/a2a/agents/route-2f4705aa66819b86.js +1 -0
  183. package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-2f4705aa66819b86.js +1 -0
  184. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-2f4705aa66819b86.js +1 -0
  185. package/_standalone/.next/static/chunks/app/api/a2a/route-2f4705aa66819b86.js +1 -0
  186. package/_standalone/.next/static/chunks/app/api/acp/config/route-2f4705aa66819b86.js +1 -0
  187. package/_standalone/.next/static/chunks/app/api/acp/detect/route-2f4705aa66819b86.js +1 -0
  188. package/_standalone/.next/static/chunks/app/api/acp/install/route-2f4705aa66819b86.js +1 -0
  189. package/_standalone/.next/static/chunks/app/api/acp/registry/route-2f4705aa66819b86.js +1 -0
  190. package/_standalone/.next/static/chunks/app/api/acp/session/route-2f4705aa66819b86.js +1 -0
  191. package/_standalone/.next/static/chunks/app/api/agent-activity/route-2f4705aa66819b86.js +1 -0
  192. package/_standalone/.next/static/chunks/app/api/agents/custom/detect/route-2f4705aa66819b86.js +1 -0
  193. package/_standalone/.next/static/chunks/app/api/agents/custom/route-2f4705aa66819b86.js +1 -0
  194. package/_standalone/.next/static/chunks/app/api/ask/route-2f4705aa66819b86.js +1 -0
  195. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-2f4705aa66819b86.js +1 -0
  196. package/_standalone/.next/static/chunks/app/api/auth/route-2f4705aa66819b86.js +1 -0
  197. package/_standalone/.next/static/chunks/app/api/backlinks/route-2f4705aa66819b86.js +1 -0
  198. package/_standalone/.next/static/chunks/app/api/bootstrap/route-2f4705aa66819b86.js +1 -0
  199. package/_standalone/.next/static/chunks/app/api/changes/route-2f4705aa66819b86.js +1 -0
  200. package/_standalone/.next/static/chunks/app/api/export/route-2f4705aa66819b86.js +1 -0
  201. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-2f4705aa66819b86.js +1 -0
  202. package/_standalone/.next/static/chunks/app/api/file/import/route-2f4705aa66819b86.js +1 -0
  203. package/_standalone/.next/static/chunks/app/api/file/raw/route-2f4705aa66819b86.js +1 -0
  204. package/_standalone/.next/static/chunks/app/api/file/route-2f4705aa66819b86.js +1 -0
  205. package/_standalone/.next/static/chunks/app/api/files/route-2f4705aa66819b86.js +1 -0
  206. package/_standalone/.next/static/chunks/app/api/git/route-2f4705aa66819b86.js +1 -0
  207. package/_standalone/.next/static/chunks/app/api/graph/route-2f4705aa66819b86.js +1 -0
  208. package/_standalone/.next/static/chunks/app/api/health/route-2f4705aa66819b86.js +1 -0
  209. package/_standalone/.next/static/chunks/app/api/inbox/route-2f4705aa66819b86.js +1 -0
  210. package/_standalone/.next/static/chunks/app/api/init/route-2f4705aa66819b86.js +1 -0
  211. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-2f4705aa66819b86.js +1 -0
  212. package/_standalone/.next/static/chunks/app/api/mcp/install/route-2f4705aa66819b86.js +1 -0
  213. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-2f4705aa66819b86.js +1 -0
  214. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-2f4705aa66819b86.js +1 -0
  215. package/_standalone/.next/static/chunks/app/api/mcp/status/route-2f4705aa66819b86.js +1 -0
  216. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-2f4705aa66819b86.js +1 -0
  217. package/_standalone/.next/static/chunks/app/api/monitoring/route-2f4705aa66819b86.js +1 -0
  218. package/_standalone/.next/static/chunks/app/api/recent-files/route-2f4705aa66819b86.js +1 -0
  219. package/_standalone/.next/static/chunks/app/api/restart/route-2f4705aa66819b86.js +1 -0
  220. package/_standalone/.next/static/chunks/app/api/search/route-2f4705aa66819b86.js +1 -0
  221. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-2f4705aa66819b86.js +1 -0
  222. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-2f4705aa66819b86.js +1 -0
  223. package/_standalone/.next/static/chunks/app/api/settings/route-2f4705aa66819b86.js +1 -0
  224. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-2f4705aa66819b86.js +1 -0
  225. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-2f4705aa66819b86.js +1 -0
  226. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-2f4705aa66819b86.js +1 -0
  227. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-2f4705aa66819b86.js +1 -0
  228. package/_standalone/.next/static/chunks/app/api/setup/ls/route-2f4705aa66819b86.js +1 -0
  229. package/_standalone/.next/static/chunks/app/api/setup/route-2f4705aa66819b86.js +1 -0
  230. package/_standalone/.next/static/chunks/app/api/skills/route-2f4705aa66819b86.js +1 -0
  231. package/_standalone/.next/static/chunks/app/api/sync/route-2f4705aa66819b86.js +1 -0
  232. package/_standalone/.next/static/chunks/app/api/tree-version/route-2f4705aa66819b86.js +1 -0
  233. package/_standalone/.next/static/chunks/app/api/uninstall/route-2f4705aa66819b86.js +1 -0
  234. package/_standalone/.next/static/chunks/app/api/update/route-2f4705aa66819b86.js +1 -0
  235. package/_standalone/.next/static/chunks/app/api/update-check/route-2f4705aa66819b86.js +1 -0
  236. package/_standalone/.next/static/chunks/app/api/update-status/route-2f4705aa66819b86.js +1 -0
  237. package/_standalone/.next/static/chunks/app/api/workflows/route-2f4705aa66819b86.js +1 -0
  238. package/_standalone/.next/static/chunks/app/echo/[segment]/{page-6710da1f581b2854.js → page-b0103509ce34444b.js} +4 -4
  239. package/_standalone/.next/static/chunks/app/echo/page-2f4705aa66819b86.js +1 -0
  240. package/_standalone/.next/static/chunks/app/{layout-d5f28933c5e14d74.js → layout-b3919384ec2eb979.js} +11 -11
  241. package/_standalone/.next/static/chunks/app/loading-2f4705aa66819b86.js +1 -0
  242. package/_standalone/.next/static/chunks/app/{page-45140253e07a135a.js → page-6436a99cda35132b.js} +1 -1
  243. package/_standalone/.next/static/chunks/app/setup/{page-9a81fa4d82c6351b.js → page-99fcfc460fa29733.js} +1 -1
  244. package/_standalone/.next/static/chunks/app/trash/page-8dc388695344fdd4.js +1 -0
  245. package/_standalone/.next/static/chunks/app/view/[...path]/loading-2f4705aa66819b86.js +1 -0
  246. package/_standalone/.next/static/chunks/app/view/[...path]/{page-62cfae628e31d411.js → page-b292b55305ecc021.js} +2 -2
  247. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-2f4705aa66819b86.js +1 -0
  248. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-2f4705aa66819b86.js +1 -0
  249. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-2f4705aa66819b86.js +1 -0
  250. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2f4705aa66819b86.js +1 -0
  251. package/_standalone/.next/static/chunks/webpack-2c19436659aa657b.js +1 -0
  252. package/_standalone/.next/static/css/fd84c8316ead16eb.css +1 -0
  253. package/_standalone/.next/static/zOaEtgJbdRMncnCBucULp/_buildManifest.js +1 -0
  254. package/_standalone/.next/trace +64 -64
  255. package/_standalone/.next/types/routes.d.ts +3 -1
  256. package/_standalone/.next/types/validator.ts +18 -0
  257. package/_standalone/components/Editor.tsx +124 -6
  258. package/_standalone/components/MarkdownView.tsx +3 -1
  259. package/_standalone/components/WysiwygEditor.tsx +90 -0
  260. package/_standalone/components/agents/AgentsOverviewSection.tsx +100 -8
  261. package/_standalone/components/agents/CustomAgentModal.tsx +613 -0
  262. package/_standalone/components/settings/types.ts +4 -0
  263. package/_standalone/hooks/useEditorImageUpload.ts +113 -0
  264. package/_standalone/lib/image.ts +47 -0
  265. package/_standalone/tsconfig.tsbuildinfo +1 -1
  266. package/app/app/api/agents/custom/detect/route.ts +31 -0
  267. package/app/app/api/agents/custom/route.ts +150 -0
  268. package/app/app/api/file/import/route.ts +42 -0
  269. package/app/app/api/mcp/agents/route.ts +59 -7
  270. package/app/app/api/settings/list-models/route.ts +16 -2
  271. package/app/components/Editor.tsx +124 -6
  272. package/app/components/MarkdownView.tsx +3 -1
  273. package/app/components/WysiwygEditor.tsx +90 -0
  274. package/app/components/agents/AgentDetailContent.tsx +74 -1
  275. package/app/components/agents/AgentsContentPage.tsx +76 -1
  276. package/app/components/agents/AgentsOverviewSection.tsx +100 -8
  277. package/app/components/agents/CustomAgentModal.tsx +613 -0
  278. package/app/components/settings/types.ts +4 -0
  279. package/app/hooks/useEditorImageUpload.ts +113 -0
  280. package/app/lib/agent/model.ts +7 -1
  281. package/app/lib/agent/providers.ts +31 -6
  282. package/app/lib/core/organize.ts +1 -1
  283. package/app/lib/core/tree.ts +1 -1
  284. package/app/lib/custom-agents.ts +279 -0
  285. package/app/lib/fs.ts +1 -1
  286. package/app/lib/i18n/modules/panels.ts +96 -0
  287. package/app/lib/image.ts +47 -0
  288. package/app/lib/settings.ts +4 -0
  289. package/bin/commands/start.js +5 -4
  290. package/bin/commands/update.js +6 -2
  291. package/bin/lib/gateway.js +6 -2
  292. package/mcp/dist/index.cjs +1 -1
  293. package/mcp/src/index.ts +6 -1
  294. package/package.json +1 -1
  295. package/_standalone/.next/server/chunks/7543.js +0 -52
  296. package/_standalone/.next/static/3gMJ8EaZfDgHmB0NR0Q4T/_buildManifest.js +0 -1
  297. package/_standalone/.next/static/chunks/1053-2874859f7caefa0f.js +0 -29
  298. package/_standalone/.next/static/chunks/1880-7abf971bcfd2389b.js +0 -11
  299. package/_standalone/.next/static/chunks/254-32719a9bea2e74f0.js +0 -1
  300. package/_standalone/.next/static/chunks/362.a77be2f206db7b19.js +0 -1
  301. package/_standalone/.next/static/chunks/3637.0541ac2d0ea7de1f.js +0 -1
  302. package/_standalone/.next/static/chunks/54a60aa6.b97ba5e6900c089b.js +0 -79
  303. package/_standalone/.next/static/chunks/6087.0c32d26d0262c8e7.js +0 -1
  304. package/_standalone/.next/static/chunks/7035-2af69391c7b1ad95.js +0 -1
  305. package/_standalone/.next/static/chunks/8131.5e0bdb36bb91f212.js +0 -1
  306. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-e240db6d5049d336.js +0 -1
  307. package/_standalone/.next/static/chunks/app/_global-error/page-e240db6d5049d336.js +0 -1
  308. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-f006a70f6889eb56.js +0 -1
  309. package/_standalone/.next/static/chunks/app/agents/page-bd522e428e3acb78.js +0 -5
  310. package/_standalone/.next/static/chunks/app/api/a2a/agents/route-e240db6d5049d336.js +0 -1
  311. package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-e240db6d5049d336.js +0 -1
  312. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-e240db6d5049d336.js +0 -1
  313. package/_standalone/.next/static/chunks/app/api/a2a/route-e240db6d5049d336.js +0 -1
  314. package/_standalone/.next/static/chunks/app/api/acp/config/route-e240db6d5049d336.js +0 -1
  315. package/_standalone/.next/static/chunks/app/api/acp/detect/route-e240db6d5049d336.js +0 -1
  316. package/_standalone/.next/static/chunks/app/api/acp/install/route-e240db6d5049d336.js +0 -1
  317. package/_standalone/.next/static/chunks/app/api/acp/registry/route-e240db6d5049d336.js +0 -1
  318. package/_standalone/.next/static/chunks/app/api/acp/session/route-e240db6d5049d336.js +0 -1
  319. package/_standalone/.next/static/chunks/app/api/agent-activity/route-e240db6d5049d336.js +0 -1
  320. package/_standalone/.next/static/chunks/app/api/ask/route-e240db6d5049d336.js +0 -1
  321. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-e240db6d5049d336.js +0 -1
  322. package/_standalone/.next/static/chunks/app/api/auth/route-e240db6d5049d336.js +0 -1
  323. package/_standalone/.next/static/chunks/app/api/backlinks/route-e240db6d5049d336.js +0 -1
  324. package/_standalone/.next/static/chunks/app/api/bootstrap/route-e240db6d5049d336.js +0 -1
  325. package/_standalone/.next/static/chunks/app/api/changes/route-e240db6d5049d336.js +0 -1
  326. package/_standalone/.next/static/chunks/app/api/export/route-e240db6d5049d336.js +0 -1
  327. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-e240db6d5049d336.js +0 -1
  328. package/_standalone/.next/static/chunks/app/api/file/import/route-e240db6d5049d336.js +0 -1
  329. package/_standalone/.next/static/chunks/app/api/file/raw/route-e240db6d5049d336.js +0 -1
  330. package/_standalone/.next/static/chunks/app/api/file/route-e240db6d5049d336.js +0 -1
  331. package/_standalone/.next/static/chunks/app/api/files/route-e240db6d5049d336.js +0 -1
  332. package/_standalone/.next/static/chunks/app/api/git/route-e240db6d5049d336.js +0 -1
  333. package/_standalone/.next/static/chunks/app/api/graph/route-e240db6d5049d336.js +0 -1
  334. package/_standalone/.next/static/chunks/app/api/health/route-e240db6d5049d336.js +0 -1
  335. package/_standalone/.next/static/chunks/app/api/inbox/route-e240db6d5049d336.js +0 -1
  336. package/_standalone/.next/static/chunks/app/api/init/route-e240db6d5049d336.js +0 -1
  337. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-e240db6d5049d336.js +0 -1
  338. package/_standalone/.next/static/chunks/app/api/mcp/install/route-e240db6d5049d336.js +0 -1
  339. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-e240db6d5049d336.js +0 -1
  340. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-e240db6d5049d336.js +0 -1
  341. package/_standalone/.next/static/chunks/app/api/mcp/status/route-e240db6d5049d336.js +0 -1
  342. package/_standalone/.next/static/chunks/app/api/mcp/uninstall/route-e240db6d5049d336.js +0 -1
  343. package/_standalone/.next/static/chunks/app/api/monitoring/route-e240db6d5049d336.js +0 -1
  344. package/_standalone/.next/static/chunks/app/api/recent-files/route-e240db6d5049d336.js +0 -1
  345. package/_standalone/.next/static/chunks/app/api/restart/route-e240db6d5049d336.js +0 -1
  346. package/_standalone/.next/static/chunks/app/api/search/route-e240db6d5049d336.js +0 -1
  347. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-e240db6d5049d336.js +0 -1
  348. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-e240db6d5049d336.js +0 -1
  349. package/_standalone/.next/static/chunks/app/api/settings/route-e240db6d5049d336.js +0 -1
  350. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-e240db6d5049d336.js +0 -1
  351. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-e240db6d5049d336.js +0 -1
  352. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-e240db6d5049d336.js +0 -1
  353. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-e240db6d5049d336.js +0 -1
  354. package/_standalone/.next/static/chunks/app/api/setup/ls/route-e240db6d5049d336.js +0 -1
  355. package/_standalone/.next/static/chunks/app/api/setup/route-e240db6d5049d336.js +0 -1
  356. package/_standalone/.next/static/chunks/app/api/skills/route-e240db6d5049d336.js +0 -1
  357. package/_standalone/.next/static/chunks/app/api/sync/route-e240db6d5049d336.js +0 -1
  358. package/_standalone/.next/static/chunks/app/api/tree-version/route-e240db6d5049d336.js +0 -1
  359. package/_standalone/.next/static/chunks/app/api/uninstall/route-e240db6d5049d336.js +0 -1
  360. package/_standalone/.next/static/chunks/app/api/update/route-e240db6d5049d336.js +0 -1
  361. package/_standalone/.next/static/chunks/app/api/update-check/route-e240db6d5049d336.js +0 -1
  362. package/_standalone/.next/static/chunks/app/api/update-status/route-e240db6d5049d336.js +0 -1
  363. package/_standalone/.next/static/chunks/app/api/workflows/route-e240db6d5049d336.js +0 -1
  364. package/_standalone/.next/static/chunks/app/echo/page-e240db6d5049d336.js +0 -1
  365. package/_standalone/.next/static/chunks/app/loading-e240db6d5049d336.js +0 -1
  366. package/_standalone/.next/static/chunks/app/trash/page-c7f14311f040009e.js +0 -1
  367. package/_standalone/.next/static/chunks/app/view/[...path]/loading-e240db6d5049d336.js +0 -1
  368. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-e240db6d5049d336.js +0 -1
  369. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-e240db6d5049d336.js +0 -1
  370. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-e240db6d5049d336.js +0 -1
  371. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e240db6d5049d336.js +0 -1
  372. package/_standalone/.next/static/chunks/webpack-521ae5a2ddf0e396.js +0 -1
  373. package/_standalone/.next/static/css/66f8a81e4eda06d4.css +0 -1
  374. /package/_standalone/.next/static/{3gMJ8EaZfDgHmB0NR0Q4T → zOaEtgJbdRMncnCBucULp}/_ssgManifest.js +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[362],{32631:(e,t,r)=>{r.d(t,{v:()=>i});var n=r(12115);let a=new Set(["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/bmp","image/x-icon","image/vnd.microsoft.icon"]);async function o(e){return new Promise((t,r)=>{let n=new FileReader;n.onload=()=>{t(n.result.split(",")[1])},n.onerror=r,n.readAsDataURL(e)})}function i(){let[e,t]=(0,n.useState)(!1);return{uploadToMedia:(0,n.useCallback)(async e=>{t(!0);try{let t=[],r=[];for(let n of e){if(!a.has(n.type)){r.push(`${n.name}: unsupported format`);continue}if(n.size>0xa00000){r.push(`${n.name}: exceeds 10MB limit`);continue}let e=await o(n),i=function(e){let t=e.split(".").pop()?.toLowerCase()||"png",r=new Date().toISOString().split("T")[0],n=Math.random().toString(36).slice(2,10);return`${r}_${n}.${t}`}(n.name);t.push({base64:e,newName:i})}if(0===t.length)throw Error(r.length>0?r.join("; "):"No valid images to upload");let n=await fetch("/api/file/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:t.map(e=>({name:e.newName,content:e.base64,encoding:"base64"})),targetSpace:".media",organize:!1,conflict:"rename"})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Upload failed: ${n.statusText}`)}return((await n.json()).created??[]).map(e=>`/${e.path}`)}finally{t(!1)}},[]),isUploading:e}}},90362:(e,t,r)=>{r.r(t),r.d(t,{default:()=>p});var n=r(95155),a=r(12115),o=r(89561),i=r(62465),l=r(99434),s=r(74059),c=r(27071),u=r(17243),d=r(32631),f=r(4235);let m=o.Lz.theme({"&":{backgroundColor:"#09090b",height:"100%",fontSize:"0.875rem",fontFamily:"var(--font-ibm-plex-mono), ui-monospace, monospace"},".cm-scroller":{overflow:"auto",lineHeight:"1.6"},".cm-content":{padding:"16px",caretColor:"#60a5fa"},".cm-focused":{outline:"none"},".cm-line":{padding:"0 4px"},".cm-gutters":{backgroundColor:"#0d0d0f",borderRight:"1px solid #27272a",color:"#52525b"},".cm-activeLineGutter":{backgroundColor:"#18181b"},".cm-activeLine":{backgroundColor:"#18181b50"},".cm-selectionBackground":{backgroundColor:"#2563eb40"},"&.cm-focused .cm-selectionBackground":{backgroundColor:"#2563eb60"},".cm-cursor":{borderLeftColor:"#60a5fa",borderLeftWidth:"2px"}});function p({value:e,onChange:t,language:r="markdown"}){let p=(0,a.useRef)(null),g=(0,a.useRef)(null),h=(0,a.useRef)(t);h.current=t;let b=(0,a.useRef)(!1),{uploadToMedia:x,isUploading:v}=(0,d.v)(),w=(0,a.useRef)(x);w.current=x;let[k]=(0,a.useState)("markdown"===r),y=(0,a.useRef)(async e=>{});y.current=async e=>{let t=g.current;if(t)try{for(let r of(await w.current(e))){let e=`![image](${r})
2
+ `;t.dispatch({changes:{from:t.state.selection.main.head,insert:e}})}f.oR.success("Images inserted")}catch(e){f.oR.error("Failed to insert images"),console.error(e)}};let C=(0,a.useCallback)(()=>{if(!k)return;let e=document.createElement("input");e.type="file",e.multiple=!0,e.accept="image/*",e.onchange=e=>{let t=Array.from(e.target.files??[]);t.length>0&&y.current(t)},e.click()},[k]);return(0,a.useEffect)(()=>{if(!p.current)return;let t=o.Lz.updateListener.of(e=>{e.docChanged&&!b.current&&h.current(e.state.doc.toString())}),n=c.$t.create({doc:e,extensions:[i.oQ,s.bM,m,"markdown"===r?(0,l.wD)():[],t,o.Lz.lineWrapping]}),a=new o.Lz({state:n,parent:p.current});return g.current=a,()=>{a.destroy(),g.current=null}},[]),(0,a.useEffect)(()=>{if(!k)return;let e=p.current;if(!e)return;let t=e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e=0;e<t.length;e++){let n=t[e];if("file"===n.kind&&n.type.startsWith("image/")){let e=n.getAsFile();e&&r.push(e)}}r.length>0&&(e.preventDefault(),y.current(r))},r=e=>{let t=Array.from(e.dataTransfer?.files??[]).filter(e=>e.type.startsWith("image/"));t.length>0&&(e.preventDefault(),e.stopPropagation(),y.current(t))};return e.addEventListener("paste",t),e.addEventListener("drop",r),()=>{e.removeEventListener("paste",t),e.removeEventListener("drop",r)}},[k]),(0,a.useEffect)(()=>{let t=g.current;if(!t)return;let r=t.state.doc.toString();r!==e&&(b.current=!0,t.dispatch({changes:{from:0,to:r.length,insert:e}}),b.current=!1)},[e]),(0,n.jsxs)("div",{className:"relative h-full w-full flex flex-col",children:[k&&(0,n.jsxs)("div",{className:"px-2 py-1.5 border-b border-zinc-800 bg-zinc-900/50 flex items-center gap-1",children:[(0,n.jsxs)("button",{onClick:C,disabled:v,className:"p-1.5 rounded hover:bg-zinc-800 disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",title:"Insert images (Ctrl+V or drag & drop)",children:[(0,n.jsx)(u.A,{size:14}),(0,n.jsx)("span",{children:"Images"})]}),v&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground ml-2",children:"Uploading..."})]}),(0,n.jsx)("div",{ref:p,className:"h-full w-full overflow-hidden rounded-lg border border-zinc-800",style:{minHeight:"400px"}})]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3637],{7337:(e,r,t)=>{t.d(r,{X:()=>n});function n(e){if(/^(https?|file):\/\//.test(e))return e;if(e.startsWith("/")){let r=e.slice(1);return`/api/file/raw?path=${encodeURIComponent(r)}`}return e}},63637:(e,r,t)=>{t.r(r),t.d(r,{default:()=>y});var n=t(95155),s=t(66804),i=t(32957),o=t(98076),a=t(96182),l=t(16535),d=t(12115),c=t(94514),p=t(67635),u=t(33210),h=t(7834),m=t(4235),x=t(7337);function g({code:e}){let[r,t]=(0,d.useState)(!1),s=(0,d.useCallback)(()=>{(0,h.l)(e).then(e=>{e&&(t(!0),setTimeout(()=>t(!1),2e3),m.oR.copy())})},[e]);return(0,n.jsx)("button",{onClick:s,className:" absolute top-2.5 right-2.5 p-1.5 rounded-md bg-muted hover:bg-accent text-muted-foreground hover:text-foreground transition-colors duration-100 opacity-0 group-hover:opacity-100 ",title:"Copy code",children:r?(0,n.jsx)(c.A,{size:13}):(0,n.jsx)(p.A,{size:13})})}function f(e){let{node:r,inline:t,ordered:n,depth:s,isHeader:i,...o}=e;return o}function b(e){let r=({children:r,...t})=>(0,n.jsx)(e,{...f(t),suppressHydrationWarning:!0,children:r});return r.displayName=e,r}let j={h1:b("h1"),h2:b("h2"),h3:b("h3"),h4:b("h4"),h5:b("h5"),h6:b("h6"),code:({children:e,node:r,...t})=>(0,n.jsx)("code",{...f(t),suppressHydrationWarning:!0,children:e}),pre({children:e,node:r,...t}){let s="";return e&&"object"==typeof e&&"props"in e&&(s=function e(r){return"string"==typeof r?r:Array.isArray(r)?r.map(e).join(""):r&&"object"==typeof r&&"props"in r?e(r.props?.children):""}(e.props?.children)),(0,n.jsxs)("div",{className:"relative group",children:[(0,n.jsx)("pre",{...f(t),suppressHydrationWarning:!0,children:e}),(0,n.jsx)(g,{code:s})]})},li:({children:e,node:r,...t})=>(0,n.jsx)("li",{...f(t),suppressHydrationWarning:!0,children:e}),p:({children:e,node:r,...t})=>(0,n.jsx)("p",{...f(t),suppressHydrationWarning:!0,children:e}),a({href:e,children:r,node:t,...s}){let i=e?.startsWith("http");return(0,n.jsx)("a",{href:e,target:i?"_blank":void 0,rel:i?"noopener noreferrer":void 0,...f(s),children:r})},img({src:e,alt:r,node:t,...s}){if(!e)return null;let i="string"==typeof e?(0,x.X)(e):e;return(0,n.jsx)("img",{src:i,alt:r??"",...f(s)})}};function y({content:e,highlightLines:r,onDismissHighlight:t,emptyPlaceholder:d}){let c=r&&r.length>0;return!e.trim()&&d?(0,n.jsx)("div",{className:"py-12 text-center text-sm text-muted-foreground/50",children:d}):(0,n.jsxs)("div",{children:[c&&(0,n.jsxs)("div",{className:"mb-4 flex items-center gap-2 rounded-md border px-3 py-2 text-xs animate-in fade-in-0 duration-300",style:{borderColor:"color-mix(in srgb, var(--amber) 40%, var(--border))",background:"color-mix(in srgb, var(--amber) 8%, var(--card))",color:"var(--amber)"},"data-highlight-line":!0,children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-[var(--amber)] animate-pulse shrink-0"}),(0,n.jsxs)("span",{className:"font-display font-medium flex-1",children:[r.length," line",1!==r.length?"s":""," updated by AI"]}),t&&(0,n.jsx)("button",{type:"button",onClick:t,className:"p-0.5 rounded hover:bg-[var(--amber)]/15 transition-colors shrink-0","aria-label":"Dismiss",children:(0,n.jsx)(u.A,{size:12})})]}),(0,n.jsx)("div",{className:"prose max-w-none",children:(0,n.jsx)(s.oz,{remarkPlugins:[i.A],rehypePlugins:[l.A,o.A,a.A],components:j,children:e})})]})}}}]);
@@ -0,0 +1,79 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[277],{82159:(e,t,n)=>{n.d(t,{AB:()=>tY,BQ:()=>e1,CU:()=>tM,Db:()=>t4,Dd:()=>t2,FF:()=>eW,JJ:()=>tF,J_:()=>eZ,KE:()=>t_,KV:()=>eR,Nx:()=>eM,Nz:()=>tq,OX:()=>tV,Op:()=>e0,Pg:()=>x,QN:()=>eX,T7:()=>ex,XO:()=>tC,YY:()=>tO,Yv:()=>t8,Zc:()=>t5,bP:()=>t7,eL:()=>eE,fl:()=>eK,gk:()=>e$,gu:()=>eV,hO:()=>eF,iI:()=>eT,jT:()=>tW,kj:()=>t3,rU:()=>ei,su:()=>eO,tG:()=>tK,zU:()=>eD});var r=n(8242),i=n(97144),o=n(76865),s=n(27050),a=n(42080),l=n(63197),d=n(79439),c=Object.defineProperty,h=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})};function u(e){let{state:t,transaction:n}=e,{selection:r}=n,{doc:i}=n,{storedMarks:o}=n;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return o},get selection(){return r},get doc(){return i},get tr(){return r=n.selection,i=n.doc,o=n.storedMarks,n}}}var p=class{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:e,editor:t,state:n}=this,{view:r}=t,{tr:i}=n,o=this.buildProps(i);return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,(...e)=>{let n=t(...e)(o);return i.getMeta("preventDispatch")||this.hasCustomState||r.dispatch(i),n}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){let{rawCommands:n,editor:r,state:i}=this,{view:o}=r,s=[],a=!!e,l=e||i.tr,d=()=>(a||!t||l.getMeta("preventDispatch")||this.hasCustomState||o.dispatch(l),s.every(e=>!0===e)),c={...Object.fromEntries(Object.entries(n).map(([e,n])=>[e,(...e)=>{let r=this.buildProps(l,t),i=n(...e)(r);return s.push(i),c}])),run:d};return c}createCan(e){let{rawCommands:t,state:n}=this,r=e||n.tr,i=this.buildProps(r,!1);return{...Object.fromEntries(Object.entries(t).map(([e,t])=>[e,(...e)=>t(...e)({...i,dispatch:void 0})])),chain:()=>this.createChain(r,!1)}}buildProps(e,t=!0){let{rawCommands:n,editor:r,state:i}=this,{view:o}=r,s={tr:e,editor:r,view:o,state:u({state:i,transaction:e}),dispatch:t?()=>void 0:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(n).map(([e,t])=>[e,(...e)=>t(...e)(s)]))}};return s}},m={};h(m,{blur:()=>f,clearContent:()=>g,clearNodes:()=>v,command:()=>y,createParagraphNear:()=>b,cut:()=>k,deleteCurrentNode:()=>w,deleteNode:()=>M,deleteRange:()=>E,deleteSelection:()=>S,enter:()=>T,exitCode:()=>C,extendMarkRange:()=>R,first:()=>D,focus:()=>U,forEach:()=>_,insertContent:()=>V,insertContentAt:()=>q,joinBackward:()=>X,joinDown:()=>J,joinForward:()=>Z,joinItemBackward:()=>Q,joinItemForward:()=>G,joinTextblockBackward:()=>ee,joinTextblockForward:()=>et,joinUp:()=>Y,keyboardShortcut:()=>er,lift:()=>eo,liftEmptyBlock:()=>es,liftListItem:()=>ea,newlineInCode:()=>el,resetAttributes:()=>eh,scrollIntoView:()=>eu,selectAll:()=>ep,selectNodeBackward:()=>em,selectNodeForward:()=>ef,selectParentNode:()=>eg,selectTextblockEnd:()=>ev,selectTextblockStart:()=>ey,setContent:()=>ek,setMark:()=>e4,setMeta:()=>e7,setNode:()=>e8,setNodeSelection:()=>e5,setTextDirection:()=>e6,setTextSelection:()=>te,sinkListItem:()=>tt,splitBlock:()=>tr,splitListItem:()=>ti,toggleList:()=>ta,toggleMark:()=>tl,toggleNode:()=>td,toggleWrap:()=>tc,undoInputRule:()=>th,unsetAllMarks:()=>tu,unsetMark:()=>tp,unsetTextDirection:()=>tm,updateAttributes:()=>tf,wrapIn:()=>tg,wrapInList:()=>tv});var f=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var n;e.isDestroyed||(t.dom.blur(),null==(n=null==window?void 0:window.getSelection())||n.removeAllRanges())}),!0),g=(e=!0)=>({commands:t})=>t.setContent("",{emitUpdate:e}),v=()=>({state:e,tr:t,dispatch:n})=>{let{selection:i}=t,{ranges:o}=i;return!n||(o.forEach(({$from:n,$to:i})=>{e.doc.nodesBetween(n.pos,i.pos,(e,n)=>{if(e.type.isText)return;let{doc:i,mapping:o}=t,s=i.resolve(o.map(n)),a=i.resolve(o.map(n+e.nodeSize)),l=s.blockRange(a);if(!l)return;let d=(0,r.jP)(l);if(e.type.isTextblock){let{defaultType:e}=s.parent.contentMatchAt(s.index());t.setNodeMarkup(l.start,e)}(d||0===d)&&t.lift(l,d)})}),!0)},y=e=>t=>e(t),b=()=>({state:e,dispatch:t})=>(0,i.Z1)(e,t),k=(e,t)=>({editor:n,tr:r})=>{let{state:i}=n,s=i.doc.slice(e.from,e.to);r.deleteRange(e.from,e.to);let a=r.mapping.map(t);return r.insert(a,s.content),r.setSelection(new o.U3(r.doc.resolve(Math.max(a-1,0)))),!0},w=()=>({tr:e,dispatch:t})=>{let{selection:n}=e,r=n.$anchor.node();if(r.content.size>0)return!1;let i=e.selection.$anchor;for(let n=i.depth;n>0;n-=1)if(i.node(n).type===r.type){if(t){let t=i.before(n),r=i.after(n);e.delete(t,r).scrollIntoView()}return!0}return!1};function x(e,t){if("string"==typeof e){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}var M=e=>({tr:t,state:n,dispatch:r})=>{let i=x(e,n.schema),o=t.selection.$anchor;for(let e=o.depth;e>0;e-=1)if(o.node(e).type===i){if(r){let n=o.before(e),r=o.after(e);t.delete(n,r).scrollIntoView()}return!0}return!1},E=e=>({tr:t,dispatch:n})=>{let{from:r,to:i}=e;return n&&t.delete(r,i),!0},S=()=>({state:e,dispatch:t})=>(0,i.ic)(e,t),T=()=>({commands:e})=>e.keyboardShortcut("Enter"),C=()=>({state:e,dispatch:t})=>(0,i.I$)(e,t);function O(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function A(e,t,n={strict:!0}){let r=Object.keys(t);return!r.length||r.every(r=>n.strict?t[r]===e[r]:O(t[r])?t[r].test(e[r]):t[r]===e[r])}function $(e,t,n={}){return e.find(e=>e.type===t&&A(Object.fromEntries(Object.keys(n).map(t=>[t,e.attrs[t]])),n))}function z(e,t,n={}){return!!$(e,t,n)}function P(e,t,n){var r;if(!e||!t)return;let i=e.parent.childAfter(e.parentOffset);if(i.node&&i.node.marks.some(e=>e.type===t)||(i=e.parent.childBefore(e.parentOffset)),!i.node||!i.node.marks.some(e=>e.type===t)||(n=n||(null==(r=i.node.marks[0])?void 0:r.attrs),!$([...i.node.marks],t,n)))return;let o=i.index,s=e.start()+i.offset,a=o+1,l=s+i.node.nodeSize;for(;o>0&&z([...e.parent.child(o-1).marks],t,n);)o-=1,s-=e.parent.child(o).nodeSize;for(;a<e.parent.childCount&&z([...e.parent.child(a).marks],t,n);)l+=e.parent.child(a).nodeSize,a+=1;return{from:s,to:l}}function N(e,t){if("string"==typeof e){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}var R=(e,t={})=>({tr:n,state:r,dispatch:i})=>{let s=N(e,r.schema),{doc:a,selection:l}=n,{$from:d,from:c,to:h}=l;if(i){let e=P(d,s,t);if(e&&e.from<=c&&e.to>=h){let t=o.U3.create(a,e.from,e.to);n.setSelection(t)}}return!0},D=e=>t=>{let n="function"==typeof e?e(t):e;for(let e=0;e<n.length;e+=1)if(n[e](t))return!0;return!1};function j(e){return e instanceof o.U3}function I(e=0,t=0,n=0){return Math.min(Math.max(e,t),n)}function L(e,t=null){if(!t)return null;let n=o.LN.atStart(e),r=o.LN.atEnd(e);if("start"===t||!0===t)return n;if("end"===t)return r;let i=n.from,s=r.to;return"all"===t?o.U3.create(e,I(0,i,s),I(e.content.size,i,s)):o.U3.create(e,I(t,i,s),I(t,i,s))}function H(){return"Android"===navigator.platform||/android/i.test(navigator.userAgent)}function B(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}var U=(e=null,t={})=>({editor:n,view:r,tr:i,dispatch:o})=>{t={scrollIntoView:!0,...t};let s=()=>{(B()||H())&&r.dom.focus(),"u">typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&!B()&&!H()&&r.dom.focus({preventScroll:!0}),requestAnimationFrame(()=>{!n.isDestroyed&&(r.focus(),(null==t?void 0:t.scrollIntoView)&&n.commands.scrollIntoView())})};try{if(r.hasFocus()&&null===e||!1===e)return!0}catch{return!1}if(o&&null===e&&!j(n.state.selection))return s(),!0;let a=L(i.doc,e)||n.state.selection,l=n.state.selection.eq(a);return o&&(l||i.setSelection(a),l&&i.storedMarks&&i.setStoredMarks(i.storedMarks),s()),!0},_=(e,t)=>n=>e.every((e,r)=>t(e,{...n,index:r})),V=(e,t)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},e,t),W=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;n-=1){let r=t[n];3===r.nodeType&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):1===r.nodeType&&W(r)}return e};function F(e){if("u"<typeof window)throw Error("[tiptap error]: there is no window object available, so this function cannot be used");let t=`<body>${e}</body>`;return W(new window.DOMParser().parseFromString(t,"text/html").body)}function K(e,t,n){if(e instanceof s.bP||e instanceof s.FK)return e;n={slice:!0,parseOptions:{},...n};let r="object"==typeof e&&null!==e,i="string"==typeof e;if(r)try{if(Array.isArray(e)&&e.length>0)return s.FK.fromArray(e.map(e=>t.nodeFromJSON(e)));let r=t.nodeFromJSON(e);return n.errorOnInvalidContent&&r.check(),r}catch(r){if(n.errorOnInvalidContent)throw Error("[tiptap error]: Invalid JSON content",{cause:r});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",r),K("",t,n)}if(i){if(n.errorOnInvalidContent){let r=!1,i="",o=new s.Sj({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:e=>(r=!0,i="string"==typeof e?e:e.outerHTML,null)}]}})});if(n.slice?s.S4.fromSchema(o).parseSlice(F(e),n.parseOptions):s.S4.fromSchema(o).parse(F(e),n.parseOptions),n.errorOnInvalidContent&&r)throw Error("[tiptap error]: Invalid HTML content",{cause:Error(`Invalid element found: ${i}`)})}let r=s.S4.fromSchema(t);return n.slice?r.parseSlice(F(e),n.parseOptions).content:r.parse(F(e),n.parseOptions)}return K("",t,n)}var q=(e,t,n)=>({tr:i,dispatch:a,editor:l})=>{var d;if(a){let a,c;n={parseOptions:l.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let h=e=>{l.emit("contentError",{editor:l,error:e,disableCollaboration:()=>{"collaboration"in l.storage&&"object"==typeof l.storage.collaboration&&l.storage.collaboration&&(l.storage.collaboration.isDisabled=!0)}})},u={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!l.options.enableContentCheck&&l.options.emitContentError)try{K(t,l.schema,{parseOptions:u,errorOnInvalidContent:!0})}catch(e){h(e)}try{a=K(t,l.schema,{parseOptions:u,errorOnInvalidContent:null!=(d=n.errorOnInvalidContent)?d:l.options.enableContentCheck})}catch(e){return h(e),!1}let{from:p,to:m}="number"==typeof e?{from:e,to:e}:{from:e.from,to:e.to},f=!0,g=!0;if((!("type"in a)?a:[a]).forEach(e=>{e.check(),f=!!f&&e.isText&&0===e.marks.length,g=!!g&&e.isBlock}),p===m&&g){let{parent:e}=i.doc.resolve(p);!e.isTextblock||e.type.spec.code||e.childCount||(p-=1,m+=1)}if(f){if(Array.isArray(t))c=t.map(e=>e.text||"").join("");else if(t instanceof s.FK){let e="";t.forEach(t=>{t.text&&(e+=t.text)}),c=e}else c="object"==typeof t&&t&&t.text?t.text:t;i.insertText(c,p,m)}else{c=a;let e=i.doc.resolve(p),t=e.node(),n=0===e.parentOffset,r=t.isText||t.isTextblock,o=t.content.size>0;n&&r&&o&&(p=Math.max(0,p-1)),i.replaceWith(p,m,c)}n.updateSelection&&function(e,t,n){let i=e.steps.length-1;if(i<t)return;let s=e.steps[i];if(!(s instanceof r.Ln||s instanceof r.Wg))return;let a=e.mapping.maps[i],l=0;a.forEach((e,t,n,r)=>{0===l&&(l=r)}),e.setSelection(o.LN.near(e.doc.resolve(l),-1))}(i,i.steps.length-1,0),n.applyInputRules&&i.setMeta("applyInputRules",{from:p,text:c}),n.applyPasteRules&&i.setMeta("applyPasteRules",{from:p,text:c})}return!0},Y=()=>({state:e,dispatch:t})=>(0,i.G2)(e,t),J=()=>({state:e,dispatch:t})=>(0,i.bh)(e,t),X=()=>({state:e,dispatch:t})=>(0,i.Qv)(e,t),Z=()=>({state:e,dispatch:t})=>(0,i.eT)(e,t),Q=()=>({state:e,dispatch:t,tr:n})=>{try{let i=(0,r.N0)(e.doc,e.selection.$from.pos,-1);if(null==i)return!1;return n.join(i,2),t&&t(n),!0}catch{return!1}},G=()=>({state:e,dispatch:t,tr:n})=>{try{let i=(0,r.N0)(e.doc,e.selection.$from.pos,1);if(null==i)return!1;return n.join(i,2),t&&t(n),!0}catch{return!1}},ee=()=>({state:e,dispatch:t})=>(0,i.eB)(e,t),et=()=>({state:e,dispatch:t})=>(0,i._G)(e,t);function en(){return"u">typeof navigator&&/Mac/.test(navigator.platform)}var er=e=>({editor:t,view:n,tr:r,dispatch:i})=>{let o=(function(e){let t,n,r,i,o=e.split(/-(?!$)/),s=o[o.length-1];"Space"===s&&(s=" ");for(let e=0;e<o.length-1;e+=1){let s=o[e];if(/^(cmd|meta|m)$/i.test(s))i=!0;else if(/^a(lt)?$/i.test(s))t=!0;else if(/^(c|ctrl|control)$/i.test(s))n=!0;else if(/^s(hift)?$/i.test(s))r=!0;else if(/^mod$/i.test(s))B()||en()?i=!0:n=!0;else throw Error(`Unrecognized modifier name: ${s}`)}return t&&(s=`Alt-${s}`),n&&(s=`Ctrl-${s}`),i&&(s=`Meta-${s}`),r&&(s=`Shift-${s}`),s})(e).split(/-(?!$)/),s=o.find(e=>!["Alt","Ctrl","Meta","Shift"].includes(e)),a=new KeyboardEvent("keydown",{key:"Space"===s?" ":s,altKey:o.includes("Alt"),ctrlKey:o.includes("Ctrl"),metaKey:o.includes("Meta"),shiftKey:o.includes("Shift"),bubbles:!0,cancelable:!0}),l=t.captureTransaction(()=>{n.someProp("handleKeyDown",e=>e(n,a))});return null==l||l.steps.forEach(e=>{let t=e.map(r.mapping);t&&i&&r.maybeStep(t)}),!0};function ei(e,t,n={}){let{from:r,to:i,empty:o}=e.selection,s=t?x(t,e.schema):null,a=[];e.doc.nodesBetween(r,i,(e,t)=>{if(e.isText)return;let n=Math.max(r,t),o=Math.min(i,t+e.nodeSize);a.push({node:e,from:n,to:o})});let l=i-r,d=a.filter(e=>!s||s.name===e.node.type.name).filter(e=>A(e.node.attrs,n,{strict:!1}));return o?!!d.length:d.reduce((e,t)=>e+t.to-t.from,0)>=l}var eo=(e,t={})=>({state:n,dispatch:r})=>{let o=x(e,n.schema);return!!ei(n,o,t)&&(0,i.yY)(n,r)},es=()=>({state:e,dispatch:t})=>(0,i.iz)(e,t),ea=e=>({state:t,dispatch:n})=>{let r=x(e,t.schema);return(0,a.T2)(r)(t,n)},el=()=>({state:e,dispatch:t})=>(0,i.pC)(e,t);function ed(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function ec(e,t){let n="string"==typeof t?[t]:t;return Object.keys(e).reduce((t,r)=>(n.includes(r)||(t[r]=e[r]),t),{})}var eh=(e,t)=>({tr:n,state:r,dispatch:i})=>{let o=null,s=null,a=ed("string"==typeof e?e:e.name,r.schema);if(!a)return!1;"node"===a&&(o=x(e,r.schema)),"mark"===a&&(s=N(e,r.schema));let l=!1;return n.selection.ranges.forEach(e=>{r.doc.nodesBetween(e.$from.pos,e.$to.pos,(e,r)=>{o&&o===e.type&&(l=!0,i&&n.setNodeMarkup(r,void 0,ec(e.attrs,t))),s&&e.marks.length&&e.marks.forEach(o=>{s===o.type&&(l=!0,i&&n.addMark(r,r+e.nodeSize,s.create(ec(o.attrs,t))))})})}),l},eu=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),!0),ep=()=>({tr:e,dispatch:t})=>{if(t){let t=new o.i5(e.doc);e.setSelection(t)}return!0},em=()=>({state:e,dispatch:t})=>(0,i._e)(e,t),ef=()=>({state:e,dispatch:t})=>(0,i.Sd)(e,t),eg=()=>({state:e,dispatch:t})=>(0,i.hy)(e,t),ev=()=>({state:e,dispatch:t})=>(0,i.ec)(e,t),ey=()=>({state:e,dispatch:t})=>(0,i.$f)(e,t);function eb(e,t,n={},r={}){return K(e,t,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}var ek=(e,{errorOnInvalidContent:t,emitUpdate:n=!0,parseOptions:r={}}={})=>({editor:i,tr:o,dispatch:s,commands:a})=>{let{doc:l}=o;if("full"!==r.preserveWhitespace){let a=eb(e,i.schema,r,{errorOnInvalidContent:null!=t?t:i.options.enableContentCheck});return s&&o.replaceWith(0,l.content.size,a).setMeta("preventUpdate",!n),!0}return s&&o.setMeta("preventUpdate",!n),a.insertContentAt({from:0,to:l.content.size},e,{parseOptions:r,errorOnInvalidContent:null!=t?t:i.options.enableContentCheck})};function ew(e,t){let n=N(t,e.schema),{from:r,to:i,empty:o}=e.selection,s=[];o?(e.storedMarks&&s.push(...e.storedMarks),s.push(...e.selection.$head.marks())):e.doc.nodesBetween(r,i,e=>{s.push(...e.marks)});let a=s.find(e=>e.type.name===n.name);return a?{...a.attrs}:{}}function ex(e,t){let n=new r.dL(e);return t.forEach(e=>{e.steps.forEach(e=>{n.step(e)})}),n}function eM(e,t,n){let r=[];return e.nodesBetween(t.from,t.to,(e,t)=>{n(e)&&r.push({node:e,pos:t})}),r}function eE(e,t){for(let n=e.depth;n>0;n-=1){let r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function eS(e){return t=>eE(t.$from,e)}function eT(e,t,n){return void 0===e.config[t]&&e.parent?eT(e.parent,t,n):"function"==typeof e.config[t]?e.config[t].bind({...n,parent:e.parent?eT(e.parent,t,n):null}):e.config[t]}function eC(e){return e.map(e=>{let t={name:e.name,options:e.options,storage:e.storage},n=eT(e,"addExtensions",t);return n?[e,...eC(n())]:e}).flat(10)}function eO(e,t){let n=s.ZF.fromSchema(t).serializeFragment(e),r=document.implementation.createHTMLDocument().createElement("div");return r.appendChild(n),r.innerHTML}function eA(e){return"function"==typeof e}function e$(e,t,...n){return eA(e)?t?e.bind(t)(...n):e(...n):e}function ez(e){let t=e.filter(e=>"extension"===e.type);return{baseExtensions:t,nodeExtensions:e.filter(e=>"node"===e.type),markExtensions:e.filter(e=>"mark"===e.type)}}function eP(e){let t=[],{nodeExtensions:n,markExtensions:r}=ez(e),i=[...n,...r],o={default:null,validate:void 0,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1},s=n.filter(e=>"text"!==e.name).map(e=>e.name),a=r.map(e=>e.name),l=[...s,...a];return e.forEach(e=>{let n={name:e.name,options:e.options,storage:e.storage,extensions:i},r=eT(e,"addGlobalAttributes",n);r&&r().forEach(e=>{(Array.isArray(e.types)?e.types:"*"===e.types?l:"nodes"===e.types?s:"marks"===e.types?a:[]).forEach(n=>{Object.entries(e.attributes).forEach(([e,r])=>{t.push({type:n,name:e,attribute:{...o,...r}})})})})}),i.forEach(e=>{let n={name:e.name,options:e.options,storage:e.storage},r=eT(e,"addAttributes",n);r&&Object.entries(r()).forEach(([n,r])=>{let i={...o,...r};"function"==typeof(null==i?void 0:i.default)&&(i.default=i.default()),(null==i?void 0:i.isRequired)&&(null==i?void 0:i.default)===void 0&&delete i.default,t.push({type:e.name,name:n,attribute:i})})}),t}function eN(e){let t=[],n=function(e){let t=[],n="",r=!1,i=!1,o=0,s=e.length;for(let a=0;a<s;a+=1){let s=e[a];if("'"===s&&!i){r=!r,n+=s;continue}if('"'===s&&!r){i=!i,n+=s;continue}if(!r&&!i){if("("===s){o+=1,n+=s;continue}if(")"===s&&o>0){o-=1,n+=s;continue}if(";"===s&&0===o){t.push(n),n="";continue}}n+=s}return n&&t.push(n),t}(e||""),r=n.length;for(let e=0;e<r;e+=1){let r=n[e],i=r.indexOf(":");if(-1===i)continue;let o=r.slice(0,i).trim(),s=r.slice(i+1).trim();o&&s&&t.push([o,s])}return t}function eR(...e){return e.filter(e=>!!e).reduce((e,t)=>{let n={...e};return Object.entries(t).forEach(([e,t])=>{if(!n[e]){n[e]=t;return}if("class"===e){let r=t?String(t).split(" "):[],i=n[e]?n[e].split(" "):[],o=r.filter(e=>!i.includes(e));n[e]=[...i,...o].join(" ")}else if("style"===e){let r=new Map([...eN(n[e]),...eN(t)]);n[e]=Array.from(r.entries()).map(([e,t])=>`${e}: ${t}`).join("; ")}else n[e]=t}),n},{})}function eD(e,t){return t.filter(t=>t.type===e.type.name).filter(e=>e.attribute.rendered).map(t=>t.attribute.renderHTML?t.attribute.renderHTML(e.attrs)||{}:{[t.name]:e.attrs[t.name]}).reduce((e,t)=>eR(e,t),{})}function ej(e,t){return"style"in e?e:{...e,getAttrs:n=>{let r=e.getAttrs?e.getAttrs(n):e.attrs;if(!1===r)return!1;let i=t.reduce((e,t)=>{var r;let i=t.attribute.parseHTML?t.attribute.parseHTML(n):"string"!=typeof(r=n.getAttribute(t.name))?r:r.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(r):"true"===r||"false"!==r&&r;return null==i?e:{...e,[t.name]:i}},{});return{...r,...i}}}}function eI(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>!("attrs"===e&&function(e={}){return 0===Object.keys(e).length&&e.constructor===Object}(t))&&null!=t))}function eL(e){var t,n;let r={};return!(null==(t=null==e?void 0:e.attribute)?void 0:t.isRequired)&&"default"in((null==e?void 0:e.attribute)||{})&&(r.default=e.attribute.default),(null==(n=null==e?void 0:e.attribute)?void 0:n.validate)!==void 0&&(r.validate=e.attribute.validate),[e.name,r]}function eH(e){return e.sort((e,t)=>{let n=eT(e,"priority")||100,r=eT(t,"priority")||100;return n>r?-1:+(n<r)})}function eB(e){var t;let n=eH(eC(e)),r=Array.from(new Set((t=n.map(e=>e.name)).filter((e,n)=>t.indexOf(e)!==n)));return r.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${r.map(e=>`'${e}'`).join(", ")}]. This can lead to issues.`),n}function eU(e,t,n){let{from:r,to:i}=t,{blockSeparator:o="\n\n",textSerializers:s={}}=n||{},a="";return e.nodesBetween(r,i,(e,n,l,d)=>{var c;e.isBlock&&n>r&&(a+=o);let h=null==s?void 0:s[e.type.name];if(h)return l&&(a+=h({node:e,pos:n,parent:l,index:d,range:t})),!1;e.isText&&(a+=null==(c=null==e?void 0:e.text)?void 0:c.slice(Math.max(r,n)-n,i-n))}),a}function e_(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,e])=>e.spec.toText).map(([e,t])=>[e,t.spec.toText]))}function eV(e,t){let n=ed("string"==typeof t?t:t.name,e.schema);return"node"===n?function(e,t){let n=x(t,e.schema),{from:r,to:i}=e.selection,o=[];e.doc.nodesBetween(r,i,e=>{o.push(e)});let s=o.reverse().find(e=>e.type.name===n.name);return s?{...s.attrs}:{}}(e,t):"mark"===n?ew(e,t):{}}function eW(e){let t,{mapping:n,steps:r}=e,i=[];return n.maps.forEach((e,t)=>{let o=[];if(e.ranges.length)e.forEach((e,t)=>{o.push({from:e,to:t})});else{let{from:e,to:n}=r[t];if(void 0===e||void 0===n)return;o.push({from:e,to:n})}o.forEach(({from:e,to:r})=>{let o=n.slice(t).map(e,-1),s=n.slice(t).map(r),a=n.invert().map(o,-1),l=n.invert().map(s);i.push({oldRange:{from:a,to:l},newRange:{from:o,to:s}})})}),1===(t=function(e,t=JSON.stringify){let n={};return e.filter(e=>{let r=t(e);return!Object.prototype.hasOwnProperty.call(n,r)&&(n[r]=!0)})}(i)).length?t:t.filter((e,n)=>!t.filter((e,t)=>t!==n).some(t=>e.oldRange.from>=t.oldRange.from&&e.oldRange.to<=t.oldRange.to&&e.newRange.from>=t.newRange.from&&e.newRange.to<=t.newRange.to))}function eF(e,t,n){let r=[];return e===t?n.resolve(e).marks().forEach(t=>{let i=P(n.resolve(e),t.type);i&&r.push({mark:t,...i})}):n.nodesBetween(e,t,(e,t)=>{e&&(null==e?void 0:e.nodeSize)!==void 0&&r.push(...e.marks.map(n=>({from:t,to:t+e.nodeSize,mark:n})))}),r}var eK=(e,t,n,r=20)=>{let i=e.doc.resolve(n),o=r,s=null;for(;o>0&&null===s;){let e=i.node(o);(null==e?void 0:e.type.name)===t?s=e:o-=1}return[s,o]};function eq(e,t){return t.nodes[e]||t.marks[e]||null}function eY(e,t,n){return Object.fromEntries(Object.entries(n).filter(([n])=>{let r=e.find(e=>e.type===t&&e.name===n);return!!r&&r.attribute.keepOnSplit}))}function eJ(e,t,n={}){let{empty:r,ranges:i}=e.selection,o=t?N(t,e.schema):null;if(r)return!!(e.storedMarks||e.selection.$from.marks()).filter(e=>!o||o.name===e.type.name).find(e=>A(e.attrs,n,{strict:!1}));let s=0,a=[];if(i.forEach(({$from:t,$to:n})=>{let r=t.pos,i=n.pos;e.doc.nodesBetween(r,i,(e,t)=>{if(o&&e.inlineContent&&!e.type.allowsMarkType(o))return!1;if(!e.isText&&!e.marks.length)return;let n=Math.max(r,t),l=Math.min(i,t+e.nodeSize);s+=l-n,a.push(...e.marks.map(e=>({mark:e,from:n,to:l})))})}),0===s)return!1;let l=a.filter(e=>!o||o.name===e.mark.type.name).filter(e=>A(e.mark.attrs,n,{strict:!1})).reduce((e,t)=>e+t.to-t.from,0),d=a.filter(e=>!o||e.mark.type!==o&&e.mark.type.excludes(o)).reduce((e,t)=>e+t.to-t.from,0);return(l>0?l+d:l)>=s}var eX=(e,t)=>{let{$from:n,$to:r,$anchor:i}=e.selection;if(t){let n=eS(e=>e.type.name===t)(e.selection);if(!n)return!1;let r=e.doc.resolve(n.pos+1);return i.pos+1===r.end()}return!(r.parentOffset<r.parent.nodeSize-2)&&n.pos===r.pos},eZ=e=>{let{$from:t,$to:n}=e.selection;return!(t.parentOffset>0)&&t.pos===n.pos};function eQ(e,t){return Array.isArray(t)?t.some(t=>("string"==typeof t?t:t.name)===e.name):t}function eG(e,t){let{nodeExtensions:n}=ez(t),r=n.find(t=>t.name===e);if(!r)return!1;let i={name:r.name,options:r.options,storage:r.storage},o=e$(eT(r,"group",i));return"string"==typeof o&&o.split(" ").includes("list")}function e0(e,{checkChildren:t=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if("hardBreak"===e.type.name)return!0;if(e.isText)return/^\s*$/m.test(null!=(r=e.text)?r:"")}if(e.isText)return!e.text;if(e.isAtom||e.isLeaf)return!1;if(0===e.content.childCount)return!0;if(t){let r=!0;return e.content.forEach(e=>{!1!==r&&(e0(e,{ignoreWhitespace:n,checkChildren:t})||(r=!1))}),r}return!1}function e1(e){return e instanceof o.nh}var e2=class e{constructor(e){this.position=e}static fromJSON(t){return new e(t.position)}toJSON(){return{position:this.position}}};function e3(e,t){let n=t.mapping.mapResult(e.position);return{position:new e2(n.pos),mapResult:n}}function e9(e){return new e2(e)}var e4=(e,t={})=>({tr:n,state:r,dispatch:i})=>{let{selection:o}=n,{empty:s,ranges:a}=o,l=N(e,r.schema);if(i)if(s){let e=ew(r,l);n.addStoredMark(l.create({...e,...t}))}else a.forEach(e=>{let i=e.$from.pos,o=e.$to.pos;r.doc.nodesBetween(i,o,(e,r)=>{let s=Math.max(r,i),a=Math.min(r+e.nodeSize,o);e.marks.find(e=>e.type===l)?e.marks.forEach(e=>{l===e.type&&n.addMark(s,a,l.create({...e.attrs,...t}))}):n.addMark(s,a,l.create(t))})});return function(e,t,n){var r;let{selection:i}=t,o=null;if(j(i)&&(o=i.$cursor),o){let t=null!=(r=e.storedMarks)?r:o.marks();return o.parent.type.allowsMarkType(n)&&(!!n.isInSet(t)||!t.some(e=>e.type.excludes(n)))}let{ranges:s}=i;return s.some(({$from:t,$to:r})=>{let i=0===t.depth&&e.doc.inlineContent&&e.doc.type.allowsMarkType(n);return e.doc.nodesBetween(t.pos,r.pos,(e,t,r)=>{if(i)return!1;if(e.isInline){let t=!r||r.type.allowsMarkType(n),o=!!n.isInSet(e.marks)||!e.marks.some(e=>e.type.excludes(n));i=t&&o}return!i}),i})}(r,n,l)},e7=(e,t)=>({tr:n})=>(n.setMeta(e,t),!0),e8=(e,t={})=>({state:n,dispatch:r,chain:o})=>{let s,a=x(e,n.schema);return(n.selection.$anchor.sameParent(n.selection.$head)&&(s=n.selection.$anchor.parent.attrs),a.isTextblock)?o().command(({commands:e})=>!!(0,i.y_)(a,{...s,...t})(n)||e.clearNodes()).command(({state:e})=>(0,i.y_)(a,{...s,...t})(e,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},e5=e=>({tr:t,dispatch:n})=>{if(n){let{doc:n}=t,r=I(e,0,n.content.size),i=o.nh.create(n,r);t.setSelection(i)}return!0},e6=(e,t)=>({tr:n,state:r,dispatch:i})=>{let o,s,{selection:a}=r;return"number"==typeof t?(o=t,s=t):t&&"from"in t&&"to"in t?(o=t.from,s=t.to):(o=a.from,s=a.to),i&&n.doc.nodesBetween(o,s,(t,r)=>{t.isText||n.setNodeMarkup(r,void 0,{...t.attrs,dir:e})}),!0},te=e=>({tr:t,dispatch:n})=>{if(n){let{doc:n}=t,{from:r,to:i}="number"==typeof e?{from:e,to:e}:e,s=o.U3.atStart(n).from,a=o.U3.atEnd(n).to,l=I(r,s,a),d=I(i,s,a),c=o.U3.create(n,l,d);t.setSelection(c)}return!0},tt=e=>({state:t,dispatch:n})=>{let r=x(e,t.schema);return(0,a.$B)(r)(t,n)};function tn(e,t){let n=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(n){let r=n.filter(e=>null==t?void 0:t.includes(e.type.name));e.tr.ensureMarks(r)}}var tr=({keepMarks:e=!0}={})=>({tr:t,state:n,dispatch:i,editor:s})=>{let{selection:a,doc:l}=t,{$from:d,$to:c}=a,h=eY(s.extensionManager.attributes,d.node().type.name,d.node().attrs);if(a instanceof o.nh&&a.node.isBlock)return!!d.parentOffset&&!!(0,r.zy)(l,d.pos)&&(i&&(e&&tn(n,s.extensionManager.splittableMarks),t.split(d.pos).scrollIntoView()),!0);if(!d.parent.isBlock)return!1;let u=c.parentOffset===c.parent.content.size,p=0===d.depth?void 0:function(e){for(let t=0;t<e.edgeCount;t+=1){let{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}(d.node(-1).contentMatchAt(d.indexAfter(-1))),m=u&&p?[{type:p,attrs:h}]:void 0,f=(0,r.zy)(t.doc,t.mapping.map(d.pos),1,m);if(!m&&!f&&(0,r.zy)(t.doc,t.mapping.map(d.pos),1,p?[{type:p}]:void 0)&&(f=!0,m=p?[{type:p,attrs:h}]:void 0),i){if(f&&(a instanceof o.U3&&t.deleteSelection(),t.split(t.mapping.map(d.pos),1,m),p&&!u&&!d.parentOffset&&d.parent.type!==p)){let e=t.mapping.map(d.before()),n=t.doc.resolve(e);d.node(-1).canReplaceWith(n.index(),n.index()+1,p)&&t.setNodeMarkup(t.mapping.map(d.before()),p)}e&&tn(n,s.extensionManager.splittableMarks),t.scrollIntoView()}return f},ti=(e,t={})=>({tr:n,state:i,dispatch:a,editor:l})=>{var d;let c=x(e,i.schema),{$from:h,$to:u}=i.selection,p=i.selection.node;if(p&&p.isBlock||h.depth<2||!h.sameParent(u))return!1;let m=h.node(-1);if(m.type!==c)return!1;let f=l.extensionManager.attributes;if(0===h.parent.content.size&&h.node(-1).childCount===h.indexAfter(-1)){if(2===h.depth||h.node(-3).type!==c||h.index(-2)!==h.node(-2).childCount-1)return!1;if(a){let e=s.FK.empty,r=h.index(-1)?1:h.index(-2)?2:3;for(let t=h.depth-r;t>=h.depth-3;t-=1)e=s.FK.from(h.node(t).copy(e));let i=h.indexAfter(-1)<h.node(-2).childCount?1:h.indexAfter(-2)<h.node(-3).childCount?2:3,a={...eY(f,h.node().type.name,h.node().attrs),...t},l=(null==(d=c.contentMatch.defaultType)?void 0:d.createAndFill(a))||void 0;e=e.append(s.FK.from(c.createAndFill(null,l)||void 0));let u=h.before(h.depth-(r-1));n.replace(u,h.after(-i),new s.Ji(e,4-r,0));let p=-1;n.doc.nodesBetween(u,n.doc.content.size,(e,t)=>{if(p>-1)return!1;e.isTextblock&&0===e.content.size&&(p=t+1)}),p>-1&&n.setSelection(o.U3.near(n.doc.resolve(p))),n.scrollIntoView()}return!0}let g=u.pos===h.end()?m.contentMatchAt(0).defaultType:null,v={...eY(f,m.type.name,m.attrs),...t},y={...eY(f,h.node().type.name,h.node().attrs),...t};n.delete(h.pos,u.pos);let b=g?[{type:c,attrs:v},{type:g,attrs:y}]:[{type:c,attrs:v}];if(!(0,r.zy)(n.doc,h.pos,2))return!1;if(a){let{selection:e,storedMarks:t}=i,{splittableMarks:r}=l.extensionManager,o=t||e.$to.parentOffset&&e.$from.marks();if(n.split(h.pos,2,b).scrollIntoView(),!o||!a)return!0;let s=o.filter(e=>r.includes(e.type.name));n.ensureMarks(s)}return!0},to=(e,t)=>{let n=eS(e=>e.type===t)(e.selection);if(!n)return!0;let i=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(void 0===i)return!0;let o=e.doc.nodeAt(i);return!(n.node.type===(null==o?void 0:o.type)&&(0,r.n9)(e.doc,n.pos))||(e.join(n.pos),!0)},ts=(e,t)=>{let n=eS(e=>e.type===t)(e.selection);if(!n)return!0;let i=e.doc.resolve(n.start).after(n.depth);if(void 0===i)return!0;let o=e.doc.nodeAt(i);return!(n.node.type===(null==o?void 0:o.type)&&(0,r.n9)(e.doc,i))||(e.join(i),!0)},ta=(e,t,n,r={})=>({editor:i,tr:o,state:s,dispatch:a,chain:l,commands:d,can:c})=>{let{extensions:h,splittableMarks:u}=i.extensionManager,p=x(e,s.schema),m=x(t,s.schema),{selection:f,storedMarks:g}=s,{$from:v,$to:y}=f,b=v.blockRange(y),k=g||f.$to.parentOffset&&f.$from.marks();if(!b)return!1;let w=eS(e=>eG(e.type.name,h))(f);if(b.depth>=1&&w&&b.depth-w.depth<=1){if(w.node.type===p)return d.liftListItem(m);if(eG(w.node.type.name,h)&&p.validContent(w.node.content)&&a)return l().command(()=>(o.setNodeMarkup(w.pos,p),!0)).command(()=>to(o,p)).command(()=>ts(o,p)).run()}return n&&k&&a?l().command(()=>{let e=c().wrapInList(p,r),t=k.filter(e=>u.includes(e.type.name));return o.ensureMarks(t),!!e||d.clearNodes()}).wrapInList(p,r).command(()=>to(o,p)).command(()=>ts(o,p)).run():l().command(()=>!!c().wrapInList(p,r)||d.clearNodes()).wrapInList(p,r).command(()=>to(o,p)).command(()=>ts(o,p)).run()},tl=(e,t={},n={})=>({state:r,commands:i})=>{let{extendEmptyMarkRange:o=!1}=n,s=N(e,r.schema);return eJ(r,s,t)?i.unsetMark(s,{extendEmptyMarkRange:o}):i.setMark(s,t)},td=(e,t,n={})=>({state:r,commands:i})=>{let o,s=x(e,r.schema),a=x(t,r.schema),l=ei(r,s,n);return(r.selection.$anchor.sameParent(r.selection.$head)&&(o=r.selection.$anchor.parent.attrs),l)?i.setNode(a,o):i.setNode(s,{...o,...n})},tc=(e,t={})=>({state:n,commands:r})=>{let i=x(e,n.schema);return ei(n,i,t)?r.lift(i):r.wrapIn(i,t)},th=()=>({state:e,dispatch:t})=>{let n=e.plugins;for(let r=0;r<n.length;r+=1){let i,o=n[r];if(o.spec.isInputRules&&(i=o.getState(e))){if(t){let t=e.tr,n=i.transform;for(let e=n.steps.length-1;e>=0;e-=1)t.step(n.steps[e].invert(n.docs[e]));if(i.text){let n=t.doc.resolve(i.from).marks();t.replaceWith(i.from,i.to,e.schema.text(i.text,n))}else t.delete(i.from,i.to)}return!0}}return!1},tu=()=>({tr:e,dispatch:t})=>{let{selection:n}=e,{empty:r,ranges:i}=n;return!!r||(t&&i.forEach(t=>{e.removeMark(t.$from.pos,t.$to.pos)}),!0)},tp=(e,t={})=>({tr:n,state:r,dispatch:i})=>{var o;let{extendEmptyMarkRange:s=!1}=t,{selection:a}=n,l=N(e,r.schema),{$from:d,empty:c,ranges:h}=a;if(!i)return!0;if(c&&s){let{from:e,to:t}=a,r=null==(o=d.marks().find(e=>e.type===l))?void 0:o.attrs,i=P(d,l,r);i&&(e=i.from,t=i.to),n.removeMark(e,t,l)}else h.forEach(e=>{n.removeMark(e.$from.pos,e.$to.pos,l)});return n.removeStoredMark(l),!0},tm=e=>({tr:t,state:n,dispatch:r})=>{let i,o,{selection:s}=n;return"number"==typeof e?(i=e,o=e):e&&"from"in e&&"to"in e?(i=e.from,o=e.to):(i=s.from,o=s.to),r&&t.doc.nodesBetween(i,o,(e,n)=>{if(e.isText)return;let r={...e.attrs};delete r.dir,t.setNodeMarkup(n,void 0,r)}),!0},tf=(e,t={})=>({tr:n,state:r,dispatch:i})=>{let o=null,s=null,a=ed("string"==typeof e?e:e.name,r.schema);if(!a)return!1;"node"===a&&(o=x(e,r.schema)),"mark"===a&&(s=N(e,r.schema));let l=!1;return n.selection.ranges.forEach(e=>{let a,d,c,h,u=e.$from.pos,p=e.$to.pos;n.selection.empty?r.doc.nodesBetween(u,p,(e,t)=>{o&&o===e.type&&(l=!0,c=Math.max(t,u),h=Math.min(t+e.nodeSize,p),a=t,d=e)}):r.doc.nodesBetween(u,p,(e,r)=>{r<u&&o&&o===e.type&&(l=!0,c=Math.max(r,u),h=Math.min(r+e.nodeSize,p),a=r,d=e),r>=u&&r<=p&&(o&&o===e.type&&(l=!0,i&&n.setNodeMarkup(r,void 0,{...e.attrs,...t})),s&&e.marks.length&&e.marks.forEach(o=>{if(s===o.type&&(l=!0,i)){let i=Math.max(r,u),a=Math.min(r+e.nodeSize,p);n.addMark(i,a,s.create({...o.attrs,...t}))}}))}),d&&(void 0!==a&&i&&n.setNodeMarkup(a,void 0,{...d.attrs,...t}),s&&d.marks.length&&d.marks.forEach(e=>{s===e.type&&i&&n.addMark(c,h,s.create({...e.attrs,...t}))}))}),l},tg=(e,t={})=>({state:n,dispatch:r})=>{let o=x(e,n.schema);return(0,i.Im)(o,t)(n,r)},tv=(e,t={})=>({state:n,dispatch:r})=>{let i=x(e,n.schema);return(0,a.Sd)(i,t)(n,r)},ty=class{constructor(){this.callbacks={}}on(e,t){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t),this}emit(e,...t){let n=this.callbacks[e];return n&&n.forEach(e=>e.apply(this,t)),this}off(e,t){let n=this.callbacks[e];return n&&(t?this.callbacks[e]=n.filter(e=>e!==t):delete this.callbacks[e]),this}once(e,t){let n=(...r)=>{this.off(e,n),t.apply(this,r)};return this.on(e,n)}removeAllListeners(){this.callbacks={}}},tb=class{constructor(e){var t;this.find=e.find,this.handler=e.handler,this.undoable=null==(t=e.undoable)||t}};function tk(e){var t;let{editor:n,from:r,to:i,text:o,rules:s,plugin:a}=e,{view:l}=n;if(l.composing)return!1;let d=l.state.doc.resolve(r);if(d.parent.type.spec.code||(null==(t=d.nodeBefore||d.nodeAfter)?void 0:t.marks.find(e=>e.type.spec.code)))return!1;let c=!1,h=((e,t=500)=>{let n="",r=e.parentOffset;return e.parent.nodesBetween(Math.max(0,r-t),r,(e,t,i,o)=>{var s,a;let l=(null==(a=(s=e.type.spec).toText)?void 0:a.call(s,{node:e,pos:t,parent:i,index:o}))||e.textContent||"%leaf%";n+=e.isAtom&&!e.isText?l:l.slice(0,Math.max(0,r-t))}),n})(d)+o;return s.forEach(e=>{if(c)return;let t=((e,t)=>{if(O(t))return t.exec(e);let n=t(e);if(!n)return null;let r=[n.text];return r.index=n.index,r.input=e,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r})(h,e.find);if(!t)return;let s=l.state.tr,d=u({state:l.state,transaction:s}),m={from:r-(t[0].length-o.length),to:i},{commands:f,chain:g,can:v}=new p({editor:n,state:d});null!==e.handler({state:d,range:m,match:t,commands:f,chain:g,can:v})&&s.steps.length&&(e.undoable&&s.setMeta(a,{transform:s,from:r,to:i,text:o}),l.dispatch(s),c=!0)}),c}function tw(e){return"Object"===Object.prototype.toString.call(e).slice(8,-1)&&e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}var tx=class{constructor(e={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...e},this.name=this.config.name}get options(){return{...e$(eT(this,"addOptions",{name:this.name}))||{}}}get storage(){return{...e$(eT(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(e={}){let t=this.extend({...this.config,addOptions:()=>(function e(t,n){let r={...t};return tw(t)&&tw(n)&&Object.keys(n).forEach(i=>{tw(n[i])&&tw(t[i])?r[i]=e(t[i],n[i]):r[i]=n[i]}),r})(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(e={}){let t=new this.constructor({...this.config,...e});return t.parent=this,this.child=t,t.name="name"in e?e.name:t.parent.name,t}},tM=class e extends tx{constructor(){super(...arguments),this.type="mark"}static create(t={}){return new e("function"==typeof t?t():t)}static handleExit({editor:e,mark:t}){let{tr:n}=e.state,r=e.state.selection.$from;if(r.pos===r.end()){let i=r.marks();if(!i.find(e=>(null==e?void 0:e.type.name)===t.name))return!1;let o=i.find(e=>(null==e?void 0:e.type.name)===t.name);return o&&n.removeStoredMark(o),n.insertText(" ",r.pos),e.view.dispatch(n),!0}return!1}configure(e){return super.configure(e)}extend(e){let t="function"==typeof e?e():e;return super.extend(t)}},tE=class{constructor(e){this.find=e.find,this.handler=e.handler}},tS=null,tT=class{constructor(e,t){this.splittableMarks=[],this.editor=t,this.baseExtensions=e,this.extensions=eB(e),this.schema=function(e,t){var n;let r=eP(e),{nodeExtensions:i,markExtensions:o}=ez(e),a=null==(n=i.find(e=>eT(e,"topNode")))?void 0:n.name,l=Object.fromEntries(i.map(n=>{let i=r.filter(e=>e.type===n.name),o={name:n.name,options:n.options,storage:n.storage,editor:t},s=eI({...e.reduce((e,t)=>{let r=eT(t,"extendNodeSchema",o);return{...e,...r?r(n):{}}},{}),content:e$(eT(n,"content",o)),marks:e$(eT(n,"marks",o)),group:e$(eT(n,"group",o)),inline:e$(eT(n,"inline",o)),atom:e$(eT(n,"atom",o)),selectable:e$(eT(n,"selectable",o)),draggable:e$(eT(n,"draggable",o)),code:e$(eT(n,"code",o)),whitespace:e$(eT(n,"whitespace",o)),linebreakReplacement:e$(eT(n,"linebreakReplacement",o)),defining:e$(eT(n,"defining",o)),isolating:e$(eT(n,"isolating",o)),attrs:Object.fromEntries(i.map(eL))}),a=e$(eT(n,"parseHTML",o));a&&(s.parseDOM=a.map(e=>ej(e,i)));let l=eT(n,"renderHTML",o);l&&(s.toDOM=e=>l({node:e,HTMLAttributes:eD(e,i)}));let d=eT(n,"renderText",o);return d&&(s.toText=d),[n.name,s]})),d=Object.fromEntries(o.map(n=>{let i=r.filter(e=>e.type===n.name),o={name:n.name,options:n.options,storage:n.storage,editor:t},s=eI({...e.reduce((e,t)=>{let r=eT(t,"extendMarkSchema",o);return{...e,...r?r(n):{}}},{}),inclusive:e$(eT(n,"inclusive",o)),excludes:e$(eT(n,"excludes",o)),group:e$(eT(n,"group",o)),spanning:e$(eT(n,"spanning",o)),code:e$(eT(n,"code",o)),attrs:Object.fromEntries(i.map(eL))}),a=e$(eT(n,"parseHTML",o));a&&(s.parseDOM=a.map(e=>ej(e,i)));let l=eT(n,"renderHTML",o);return l&&(s.toDOM=e=>l({mark:e,HTMLAttributes:eD(e,i)})),[n.name,s]}));return new s.Sj({topNode:a,nodes:l,marks:d})}(this.extensions,t),this.setupExtensions()}get commands(){return this.extensions.reduce((e,t)=>{let n={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:this.editor,type:eq(t.name,this.schema)},r=eT(t,"addCommands",n);return r?{...e,...r()}:e},{})}get plugins(){let{editor:e}=this;return eH([...this.extensions].reverse()).flatMap(t=>{let n={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:e,type:eq(t.name,this.schema)},r=[],i=eT(t,"addKeyboardShortcuts",n),a={};if("mark"===t.type&&eT(t,"exitable",n)&&(a.ArrowRight=()=>tM.handleExit({editor:e,mark:t})),i){let t=Object.fromEntries(Object.entries(i()).map(([t,n])=>[t,()=>n({editor:e})]));a={...a,...t}}let l=(0,d.w)(a);r.push(l);let c=eT(t,"addInputRules",n);if(eQ(t,e.options.enableInputRules)&&c){let t=c();if(t&&t.length){let n=function(e){let{editor:t,rules:n}=e,r=new o.k_({state:{init:()=>null,apply(e,i,o){let a=e.getMeta(r);if(a)return a;let l=e.getMeta("applyInputRules");return l&&setTimeout(()=>{let{text:e}=l;"string"==typeof e||(e=eO(s.FK.from(e),o.schema));let{from:i}=l,a=i+e.length;tk({editor:t,from:i,to:a,text:e,rules:n,plugin:r})}),e.selectionSet||e.docChanged?null:i}},props:{handleTextInput:(e,i,o,s)=>tk({editor:t,from:i,to:o,text:s,rules:n,plugin:r}),handleDOMEvents:{compositionend:e=>(setTimeout(()=>{let{$cursor:i}=e.state.selection;i&&tk({editor:t,from:i.pos,to:i.pos,text:"",rules:n,plugin:r})}),!1)},handleKeyDown(e,i){if("Enter"!==i.key)return!1;let{$cursor:o}=e.state.selection;return!!o&&tk({editor:t,from:o.pos,to:o.pos,text:"\n",rules:n,plugin:r})}},isInputRules:!0});return r}({editor:e,rules:t}),i=Array.isArray(n)?n:[n];r.push(...i)}}let h=eT(t,"addPasteRules",n);if(eQ(t,e.options.enablePasteRules)&&h){let t=h();if(t&&t.length){let n=function(e){let t,{editor:n,rules:r}=e,i=null,a=!1,l=!1,d="u">typeof ClipboardEvent?new ClipboardEvent("paste"):null;try{t="u">typeof DragEvent?new DragEvent("drop"):null}catch{t=null}let c=({state:e,from:r,to:i,rule:o,pasteEvt:s})=>{let a=e.tr;if(function(e){let{editor:t,state:n,from:r,to:i,rule:o,pasteEvent:s,dropEvent:a}=e,{commands:l,chain:d,can:c}=new p({editor:t,state:n}),h=[];return n.doc.nodesBetween(r,i,(e,t)=>{var u,p,m,f,g;if((null==(p=null==(u=e.type)?void 0:u.spec)?void 0:p.code)||!(e.isText||e.isTextblock||e.isInline))return;let v=null!=(g=null!=(f=null==(m=e.content)?void 0:m.size)?f:e.nodeSize)?g:0,y=Math.max(r,t),b=Math.min(i,t+v);y>=b||((e,t,n)=>{if(O(t))return[...e.matchAll(t)];let r=t(e,n);return r?r.map(t=>{let n=[t.text];return n.index=t.index,n.input=e,n.data=t.data,t.replaceWith&&(t.text.includes(t.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),n.push(t.replaceWith)),n}):[]})(e.isText?e.text||"":e.textBetween(y-t,b-t,void 0,""),o.find,s).forEach(e=>{if(void 0===e.index)return;let t=y+e.index+1,r=t+e[0].length,i={from:n.tr.mapping.map(t),to:n.tr.mapping.map(r)},u=o.handler({state:n,range:i,match:e,commands:l,chain:d,can:c,pasteEvent:s,dropEvent:a});h.push(u)})}),h.every(e=>null!==e)}({editor:n,state:u({state:e,transaction:a}),from:Math.max(r-1,0),to:i.b-1,rule:o,pasteEvent:s,dropEvent:t})&&a.steps.length){try{t="u">typeof DragEvent?new DragEvent("drop"):null}catch{t=null}return d="u">typeof ClipboardEvent?new ClipboardEvent("paste"):null,a}};return r.map(e=>new o.k_({view(e){let t=t=>{var r;(i=(null==(r=e.dom.parentElement)?void 0:r.contains(t.target))?e.dom.parentElement:null)&&(tS=n)},r=()=>{tS&&(tS=null)};return window.addEventListener("dragstart",t),window.addEventListener("dragend",r),{destroy(){window.removeEventListener("dragstart",t),window.removeEventListener("dragend",r)}}},props:{handleDOMEvents:{drop:(e,n)=>{if(l=i===e.dom.parentElement,t=n,!l){let e=tS;(null==e?void 0:e.isEditable)&&setTimeout(()=>{let t=e.state.selection;t&&e.commands.deleteRange({from:t.from,to:t.to})},10)}return!1},paste:(e,t)=>{var n;let r=null==(n=t.clipboardData)?void 0:n.getData("text/html");return d=t,a=!!(null==r?void 0:r.includes("data-pm-slice")),!1}}},appendTransaction:(t,n,r)=>{let i=t[0],o="paste"===i.getMeta("uiEvent")&&!a,h="drop"===i.getMeta("uiEvent")&&!l,u=i.getMeta("applyPasteRules"),p=!!u;if(!o&&!h&&!p)return;if(p){var m,f;let t,{text:n}=u;"string"==typeof n||(n=eO(s.FK.from(n),r.schema));let{from:i}=u,o=i+n.length;return c({rule:e,state:r,from:i,to:{b:o},pasteEvt:(m=n,null==(f=(t=new ClipboardEvent("paste",{clipboardData:new DataTransfer})).clipboardData)||f.setData("text/html",m),t)})}let g=n.doc.content.findDiffStart(r.doc.content),v=n.doc.content.findDiffEnd(r.doc.content);if("number"==typeof g&&v&&g!==v.b)return c({rule:e,state:r,from:g,to:v,pasteEvt:d})}}))}({editor:e,rules:t});r.push(...n)}}let m=eT(t,"addProseMirrorPlugins",n);if(m){let e=m();r.push(...e)}return r})}get attributes(){return eP(this.extensions)}get nodeViews(){let{editor:e}=this,{nodeExtensions:t}=ez(this.extensions);return Object.fromEntries(t.filter(e=>!!eT(e,"addNodeView")).map(t=>{let n=this.attributes.filter(e=>e.type===t.name),r={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:e,type:x(t.name,this.schema)},i=eT(t,"addNodeView",r);if(!i)return[];let o=i();return o?[t.name,(r,i,s,a,l)=>{let d=eD(r,n);return o({node:r,view:i,getPos:s,decorations:a,innerDecorations:l,editor:e,extension:t,HTMLAttributes:d})}]:[]}))}dispatchTransaction(e){let{editor:t}=this;return eH([...this.extensions].reverse()).reduceRight((e,n)=>{let r={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:eq(n.name,this.schema)},i=eT(n,"dispatchTransaction",r);return i?t=>{i.call(r,{transaction:t,next:e})}:e},e)}transformPastedHTML(e){let{editor:t}=this;return eH([...this.extensions]).reduce((e,n)=>{let r={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:eq(n.name,this.schema)},i=eT(n,"transformPastedHTML",r);return i?(t,n)=>{let o=e(t,n);return i.call(r,o)}:e},e||(e=>e))}get markViews(){let{editor:e}=this,{markExtensions:t}=ez(this.extensions);return Object.fromEntries(t.filter(e=>!!eT(e,"addMarkView")).map(t=>{let n=this.attributes.filter(e=>e.type===t.name),r={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:e,type:N(t.name,this.schema)},i=eT(t,"addMarkView",r);return i?[t.name,(r,o,s)=>{let a=eD(r,n);return i()({mark:r,view:o,inline:s,editor:e,extension:t,HTMLAttributes:a,updateAttributes:t=>{t9(r,e,t)}})}]:[]}))}setupExtensions(){let e=this.extensions;this.editor.extensionStorage=Object.fromEntries(e.map(e=>[e.name,e.storage])),e.forEach(e=>{var t;let n={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:eq(e.name,this.schema)};"mark"===e.type&&(null==(t=e$(eT(e,"keepOnSplit",n)))||t)&&this.splittableMarks.push(e.name);let r=eT(e,"onBeforeCreate",n),i=eT(e,"onCreate",n),o=eT(e,"onUpdate",n),s=eT(e,"onSelectionUpdate",n),a=eT(e,"onTransaction",n),l=eT(e,"onFocus",n),d=eT(e,"onBlur",n),c=eT(e,"onDestroy",n);r&&this.editor.on("beforeCreate",r),i&&this.editor.on("create",i),o&&this.editor.on("update",o),s&&this.editor.on("selectionUpdate",s),a&&this.editor.on("transaction",a),l&&this.editor.on("focus",l),d&&this.editor.on("blur",d),c&&this.editor.on("destroy",c)})}};tT.resolve=eB,tT.sort=eH,tT.flatten=eC;var tC={};h(tC,{ClipboardTextSerializer:()=>tA,Commands:()=>t$,Delete:()=>tz,Drop:()=>tP,Editable:()=>tN,FocusEvents:()=>tD,Keymap:()=>tj,Paste:()=>tI,Tabindex:()=>tL,TextDirection:()=>tH,focusEventsPluginKey:()=>tR});var tO=class e extends tx{constructor(){super(...arguments),this.type="extension"}static create(t={}){return new e("function"==typeof t?t():t)}configure(e){return super.configure(e)}extend(e){let t="function"==typeof e?e():e;return super.extend(t)}},tA=tO.create({name:"clipboardTextSerializer",addOptions:()=>({blockSeparator:void 0}),addProseMirrorPlugins(){return[new o.k_({key:new o.hs("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:e}=this,{state:t,schema:n}=e,{doc:r,selection:i}=t,{ranges:o}=i,s=Math.min(...o.map(e=>e.$from.pos)),a=Math.max(...o.map(e=>e.$to.pos)),l=e_(n);return eU(r,{from:s,to:a},{...void 0!==this.options.blockSeparator?{blockSeparator:this.options.blockSeparator}:{},textSerializers:l})}}})]}}),t$=tO.create({name:"commands",addCommands:()=>({...m})}),tz=tO.create({name:"delete",onUpdate({transaction:e,appendedTransactions:t}){var n,i,o;let s=()=>{var n,i,o,s;if(null!=(s=null==(o=null==(i=null==(n=this.editor.options.coreExtensionOptions)?void 0:n.delete)?void 0:i.filterTransaction)?void 0:o.call(i,e))?s:e.getMeta("y-sync$"))return;let a=ex(e.before,[e,...t]);eW(a).forEach(t=>{a.mapping.mapResult(t.oldRange.from).deletedAfter&&a.mapping.mapResult(t.oldRange.to).deletedBefore&&a.before.nodesBetween(t.oldRange.from,t.oldRange.to,(n,r)=>{let i=r+n.nodeSize-2,o=t.oldRange.from<=r&&i<=t.oldRange.to;this.editor.emit("delete",{type:"node",node:n,from:r,to:i,newFrom:a.mapping.map(r),newTo:a.mapping.map(i),deletedRange:t.oldRange,newRange:t.newRange,partial:!o,editor:this.editor,transaction:e,combinedTransform:a})})});let l=a.mapping;a.steps.forEach((t,n)=>{var i,o;if(t instanceof r.Ys){let r=l.slice(n).map(t.from,-1),s=l.slice(n).map(t.to),d=l.invert().map(r,-1),c=l.invert().map(s),h=null==(i=a.doc.nodeAt(r-1))?void 0:i.marks.some(e=>e.eq(t.mark)),u=null==(o=a.doc.nodeAt(s))?void 0:o.marks.some(e=>e.eq(t.mark));this.editor.emit("delete",{type:"mark",mark:t.mark,from:t.from,to:t.to,deletedRange:{from:d,to:c},newRange:{from:r,to:s},partial:!!(u||h),editor:this.editor,transaction:e,combinedTransform:a})}})};null==(o=null==(i=null==(n=this.editor.options.coreExtensionOptions)?void 0:n.delete)?void 0:i.async)||o?setTimeout(s,0):s()}}),tP=tO.create({name:"drop",addProseMirrorPlugins(){return[new o.k_({key:new o.hs("tiptapDrop"),props:{handleDrop:(e,t,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:t,slice:n,moved:r})}}})]}}),tN=tO.create({name:"editable",addProseMirrorPlugins(){return[new o.k_({key:new o.hs("editable"),props:{editable:()=>this.editor.options.editable}})]}}),tR=new o.hs("focusEvents"),tD=tO.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:e}=this;return[new o.k_({key:tR,props:{handleDOMEvents:{focus:(t,n)=>{e.isFocused=!0;let r=e.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1},blur:(t,n)=>{e.isFocused=!1;let r=e.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1}}}})]}}),tj=tO.create({name:"keymap",addKeyboardShortcuts(){let e=()=>this.editor.commands.first(({commands:e})=>[()=>e.undoInputRule(),()=>e.command(({tr:t})=>{let{selection:n,doc:r}=t,{empty:i,$anchor:s}=n,{pos:a,parent:l}=s,d=s.parent.isTextblock&&a>0?t.doc.resolve(a-1):s,c=d.parent.type.spec.isolating,h=s.pos-s.parentOffset,u=c&&1===d.parent.childCount?h===s.pos:o.LN.atStart(r).from===a;return!!i&&!!l.type.isTextblock&&!l.textContent.length&&!!u&&(!u||"paragraph"!==s.parent.type.name)&&e.clearNodes()}),()=>e.deleteSelection(),()=>e.joinBackward(),()=>e.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:e})=>[()=>e.deleteSelection(),()=>e.deleteCurrentNode(),()=>e.joinForward(),()=>e.selectNodeForward()]),n={Enter:()=>this.editor.commands.first(({commands:e})=>[()=>e.newlineInCode(),()=>e.createParagraphNear(),()=>e.liftEmptyBlock(),()=>e.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},r={...n},i={...n,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return B()||en()?i:r},addProseMirrorPlugins(){return[new o.k_({key:new o.hs("clearDocument"),appendTransaction:(e,t,n)=>{if(e.some(e=>e.getMeta("composition")))return;let r=e.some(e=>e.docChanged)&&!t.doc.eq(n.doc),i=e.some(e=>e.getMeta("preventClearDocument"));if(!r||i)return;let{empty:s,from:a,to:l}=t.selection,d=o.LN.atStart(t.doc).from,c=o.LN.atEnd(t.doc).to;if(s||a!==d||l!==c||!e0(n.doc))return;let h=n.tr,m=u({state:n,transaction:h}),{commands:f}=new p({editor:this.editor,state:m});if(f.clearNodes(),h.steps.length)return h}})]}}),tI=tO.create({name:"paste",addProseMirrorPlugins(){return[new o.k_({key:new o.hs("tiptapPaste"),props:{handlePaste:(e,t,n)=>{this.editor.emit("paste",{editor:this.editor,event:t,slice:n})}}})]}}),tL=tO.create({name:"tabindex",addProseMirrorPlugins(){return[new o.k_({key:new o.hs("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}}),tH=tO.create({name:"textDirection",addOptions:()=>({direction:void 0}),addGlobalAttributes(){if(!this.options.direction)return[];let{nodeExtensions:e}=ez(this.extensions);return[{types:e.filter(e=>"text"!==e.name).map(e=>e.name),attributes:{dir:{default:this.options.direction,parseHTML:e=>{let t=e.getAttribute("dir");return t&&("ltr"===t||"rtl"===t||"auto"===t)?t:this.options.direction},renderHTML:e=>e.dir?{dir:e.dir}:{}}}}]},addProseMirrorPlugins(){return[new o.k_({key:new o.hs("textDirection"),props:{attributes:()=>{let e=this.options.direction;return e?{dir:e}:{}}}})]}}),tB=class e{constructor(e,t,n=!1,r=null){this.currentNode=null,this.actualDepth=null,this.isBlock=n,this.resolvedPos=e,this.editor=t,this.currentNode=r}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var e;return null!=(e=this.actualDepth)?e:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let t=this.from,n=this.to;if(this.isBlock){if(0===this.content.size)return void console.error(`You can\u2019t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);t=this.from+1,n=this.to-1}this.editor.commands.insertContentAt({from:t,to:n},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+ +!this.node.isText}get parent(){if(0===this.depth)return null;let t=this.resolvedPos.start(this.resolvedPos.depth-1);return new e(this.resolvedPos.doc.resolve(t),this.editor)}get before(){let t=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.from-3)),new e(t,this.editor)}get after(){let t=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.to+3)),new e(t,this.editor)}get children(){let t=[];return this.node.content.forEach((n,r)=>{let i=n.isBlock&&!n.isTextblock,o=n.isAtom&&!n.isText,s=n.isInline,a=this.pos+r+ +!o;if(a<0||a>this.resolvedPos.doc.nodeSize-2)return;let l=this.resolvedPos.doc.resolve(a);if(!i&&!s&&l.depth<=this.depth)return;let d=new e(l,this.editor,i,i||s?n:null);i&&(d.actualDepth=this.depth+1),t.push(d)}),t}get firstChild(){return this.children[0]||null}get lastChild(){let e=this.children;return e[e.length-1]||null}closest(e,t={}){let n=null,r=this.parent;for(;r&&!n;){if(r.node.type.name===e)if(Object.keys(t).length>0){let e=r.node.attrs,n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];if(e[i]!==t[i])break}}else n=r;r=r.parent}return n}querySelector(e,t={}){return this.querySelectorAll(e,t,!0)[0]||null}querySelectorAll(e,t={},n=!1){let r=[];if(!this.children||0===this.children.length)return r;let i=Object.keys(t);return this.children.forEach(o=>{n&&r.length>0||(o.node.type.name===e&&i.every(e=>t[e]===o.node.attrs[e])&&r.push(o),n&&r.length>0||(r=r.concat(o.querySelectorAll(e,t,n))))}),r}setAttribute(e){let{tr:t}=this.editor.state;t.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(t)}},tU=`.ProseMirror {
2
+ position: relative;
3
+ }
4
+
5
+ .ProseMirror {
6
+ word-wrap: break-word;
7
+ white-space: pre-wrap;
8
+ white-space: break-spaces;
9
+ -webkit-font-variant-ligatures: none;
10
+ font-variant-ligatures: none;
11
+ font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
12
+ }
13
+
14
+ .ProseMirror [contenteditable="false"] {
15
+ white-space: normal;
16
+ }
17
+
18
+ .ProseMirror [contenteditable="false"] [contenteditable="true"] {
19
+ white-space: pre-wrap;
20
+ }
21
+
22
+ .ProseMirror pre {
23
+ white-space: pre-wrap;
24
+ }
25
+
26
+ img.ProseMirror-separator {
27
+ display: inline !important;
28
+ border: none !important;
29
+ margin: 0 !important;
30
+ width: 0 !important;
31
+ height: 0 !important;
32
+ }
33
+
34
+ .ProseMirror-gapcursor {
35
+ display: none;
36
+ pointer-events: none;
37
+ position: absolute;
38
+ margin: 0;
39
+ }
40
+
41
+ .ProseMirror-gapcursor:after {
42
+ content: "";
43
+ display: block;
44
+ position: absolute;
45
+ top: -2px;
46
+ width: 20px;
47
+ border-top: 1px solid black;
48
+ animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
49
+ }
50
+
51
+ @keyframes ProseMirror-cursor-blink {
52
+ to {
53
+ visibility: hidden;
54
+ }
55
+ }
56
+
57
+ .ProseMirror-hideselection *::selection {
58
+ background: transparent;
59
+ }
60
+
61
+ .ProseMirror-hideselection *::-moz-selection {
62
+ background: transparent;
63
+ }
64
+
65
+ .ProseMirror-hideselection * {
66
+ caret-color: transparent;
67
+ }
68
+
69
+ .ProseMirror-focused .ProseMirror-gapcursor {
70
+ display: block;
71
+ }`,t_=class extends ty{constructor(e={}){super(),this.css=null,this.className="tiptap",this.editorView=null,this.isFocused=!1,this.isInitialized=!1,this.extensionStorage={},this.instanceId=Math.random().toString(36).slice(2,9),this.options={element:"u">typeof document?document.createElement("div"):null,content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,textDirection:void 0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,emitContentError:!1,onBeforeCreate:()=>null,onCreate:()=>null,onMount:()=>null,onUnmount:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:e})=>{throw e},onPaste:()=>null,onDrop:()=>null,onDelete:()=>null,enableExtensionDispatchTransaction:!0},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.utils={getUpdatedPosition:e3,createMappablePosition:e9},this.setOptions(e),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("mount",this.options.onMount),this.on("unmount",this.options.onUnmount),this.on("contentError",this.options.onContentError),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:e,slice:t,moved:n})=>this.options.onDrop(e,t,n)),this.on("paste",({event:e,slice:t})=>this.options.onPaste(e,t)),this.on("delete",this.options.onDelete);const t=this.createDoc(),n=L(t,this.options.autofocus);this.editorState=o.$t.create({doc:t,schema:this.schema,selection:n||void 0}),this.options.element&&this.mount(this.options.element)}mount(e){if("u"<typeof document)throw Error("[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.");this.createView(e),this.emit("mount",{editor:this}),this.css&&!document.head.contains(this.css)&&document.head.appendChild(this.css),window.setTimeout(()=>{this.isDestroyed||(!1!==this.options.autofocus&&null!==this.options.autofocus&&this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}unmount(){if(this.editorView){let e=this.editorView.dom;(null==e?void 0:e.editor)&&delete e.editor,this.editorView.destroy()}if(this.editorView=null,this.isInitialized=!1,this.css&&!document.querySelectorAll(`.${this.className}`).length)try{"function"==typeof this.css.remove?this.css.remove():this.css.parentNode&&this.css.parentNode.removeChild(this.css)}catch(e){console.warn("Failed to remove CSS element:",e)}this.css=null,this.emit("unmount",{editor:this})}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&"u">typeof document&&(this.css=function(e,t,n){let r=document.querySelector("style[data-tiptap-style]");if(null!==r)return r;let i=document.createElement("style");return t&&i.setAttribute("nonce",t),i.setAttribute("data-tiptap-style",""),i.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(i),i}(tU,this.options.injectNonce))}setOptions(e={}){this.options={...this.options,...e},this.editorView&&this.state&&!this.isDestroyed&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(e,t=!0){this.setOptions({editable:e}),t&&this.emit("update",{editor:this,transaction:this.state.tr,appendedTransactions:[]})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get view(){return this.editorView?this.editorView:new Proxy({state:this.editorState,updateState:e=>{this.editorState=e},dispatch:e=>{this.dispatchTransaction(e)},composing:!1,dragging:null,editable:!0,isDestroyed:!1},{get:(e,t)=>{if(this.editorView)return this.editorView[t];if("state"===t)return this.editorState;if(t in e)return Reflect.get(e,t);throw Error(`[tiptap error]: The editor view is not available. Cannot access view['${t}']. The editor may not be mounted yet.`)}})}get state(){return this.editorView&&(this.editorState=this.view.state),this.editorState}registerPlugin(e,t){let n=eA(t)?t(e,[...this.state.plugins]):[...this.state.plugins,e],r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}unregisterPlugin(e){if(this.isDestroyed)return;let t=this.state.plugins,n=t;if([].concat(e).forEach(e=>{let t="string"==typeof e?`${e}$`:e.key;n=n.filter(e=>!e.key.startsWith(t))}),t.length===n.length)return;let r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}createExtensionManager(){var e,t;let n=[...this.options.enableCoreExtensions?[tN,tA.configure({blockSeparator:null==(t=null==(e=this.options.coreExtensionOptions)?void 0:e.clipboardTextSerializer)?void 0:t.blockSeparator}),t$,tD,tj,tL,tP,tI,tz,tH.configure({direction:this.options.textDirection})].filter(e=>"object"!=typeof this.options.enableCoreExtensions||!1!==this.options.enableCoreExtensions[e.name]):[],...this.options.extensions].filter(e=>["extension","node","mark"].includes(null==e?void 0:e.type));this.extensionManager=new tT(n,this)}createCommandManager(){this.commandManager=new p({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createDoc(){let e;try{e=eb(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(t){if(!(t instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(t.message))throw t;this.emit("contentError",{editor:this,error:t,disableCollaboration:()=>{"collaboration"in this.storage&&"object"==typeof this.storage.collaboration&&this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(e=>"collaboration"!==e.name),this.createExtensionManager()}}),e=eb(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}return e}createView(e){let{editorProps:t,enableExtensionDispatchTransaction:n}=this.options,r=t.dispatchTransaction||this.dispatchTransaction.bind(this),i=n?this.extensionManager.dispatchTransaction(r):r,o=t.transformPastedHTML,s=this.extensionManager.transformPastedHTML(o);this.editorView=new l.Lz(e,{...t,attributes:{role:"textbox",...null==t?void 0:t.attributes},dispatchTransaction:i,transformPastedHTML:s,state:this.editorState,markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews});let a=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(a),this.prependClass(),this.injectCSS(),this.view.dom.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`${this.className} ${this.view.dom.className}`}captureTransaction(e){this.isCapturingTransaction=!0,e(),this.isCapturingTransaction=!1;let t=this.capturedTransaction;return this.capturedTransaction=null,t}dispatchTransaction(e){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=e;return}e.steps.forEach(e=>{var t;return null==(t=this.capturedTransaction)?void 0:t.step(e)});return}let{state:t,transactions:n}=this.state.applyTransaction(e),r=!this.state.selection.eq(t.selection),i=n.includes(e),o=this.state;if(this.emit("beforeTransaction",{editor:this,transaction:e,nextState:t}),!i)return;this.view.updateState(t),this.emit("transaction",{editor:this,transaction:e,appendedTransactions:n.slice(1)}),r&&this.emit("selectionUpdate",{editor:this,transaction:e});let s=n.findLast(e=>e.getMeta("focus")||e.getMeta("blur")),a=null==s?void 0:s.getMeta("focus"),l=null==s?void 0:s.getMeta("blur");a&&this.emit("focus",{editor:this,event:a.event,transaction:s}),l&&this.emit("blur",{editor:this,event:l.event,transaction:s}),e.getMeta("preventUpdate")||!n.some(e=>e.docChanged)||o.doc.eq(t.doc)||this.emit("update",{editor:this,transaction:e,appendedTransactions:n.slice(1)})}getAttributes(e){return eV(this.state,e)}isActive(e,t){let n="string"==typeof e?e:null,r="string"==typeof e?t:e;return function(e,t,n={}){if(!t)return ei(e,null,n)||eJ(e,null,n);let r=ed(t,e.schema);return"node"===r?ei(e,t,n):"mark"===r&&eJ(e,t,n)}(this.state,n,r)}getJSON(){return this.state.doc.toJSON()}getHTML(){return eO(this.state.doc.content,this.schema)}getText(e){var t,n;let r,{blockSeparator:i="\n\n",textSerializers:o={}}=e||{};return t=this.state.doc,n={blockSeparator:i,textSerializers:{...e_(this.schema),...o}},r={from:0,to:t.content.size},eU(t,r,n)}get isEmpty(){return e0(this.state.doc)}destroy(){this.emit("destroy"),this.unmount(),this.removeAllListeners()}get isDestroyed(){var e,t;return null==(t=null==(e=this.editorView)?void 0:e.isDestroyed)||t}$node(e,t){var n;return(null==(n=this.$doc)?void 0:n.querySelector(e,t))||null}$nodes(e,t){var n;return(null==(n=this.$doc)?void 0:n.querySelectorAll(e,t))||null}$pos(e){return new tB(this.state.doc.resolve(e),this)}get $doc(){return this.$pos(0)}};function tV(e){return new tb({find:e.find,handler:({state:t,range:n,match:r})=>{let i=e$(e.getAttributes,void 0,r);if(!1===i||null===i)return null;let{tr:o}=t,s=r[r.length-1],a=r[0];if(s){let r=a.search(/\S/),l=n.from+a.indexOf(s),d=l+s.length;if(eF(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>l).length)return null;d<n.to&&o.delete(d,n.to),l>n.from&&o.delete(n.from+r,l);let c=n.from+r+s.length;o.addMark(n.from+r,c,e.type.create(i||{})),o.removeStoredMark(e.type)}},undoable:e.undoable})}function tW(e){return new tb({find:e.find,handler:({state:t,range:n,match:r})=>{let i=e$(e.getAttributes,void 0,r)||{},{tr:o}=t,s=n.from,a=n.to,l=e.type.create(i);if(r[1]){let e=s+r[0].lastIndexOf(r[1]);e>a?e=a:a=e+r[1].length;let t=r[0][r[0].length-1];o.insertText(t,s+r[0].length-1),o.replaceWith(e,a,l)}else if(r[0]){let t=e.type.isInline?s:s-1;o.insert(t,e.type.create(i)).delete(o.mapping.map(s),o.mapping.map(a))}o.scrollIntoView()},undoable:e.undoable})}function tF(e){return new tb({find:e.find,handler:({state:t,range:n,match:r})=>{let i=t.doc.resolve(n.from),o=e$(e.getAttributes,void 0,r)||{};if(!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),e.type))return null;t.tr.delete(n.from,n.to).setBlockType(n.from,n.from,e.type,o)},undoable:e.undoable})}function tK(e){return new tb({find:e.find,handler:({state:t,range:n,match:i,chain:o})=>{let s=e$(e.getAttributes,void 0,i)||{},a=t.tr.delete(n.from,n.to),l=a.doc.resolve(n.from).blockRange(),d=l&&(0,r.oM)(l,e.type,s);if(!d)return null;if(a.wrap(l,d),e.keepMarks&&e.editor){let{selection:n,storedMarks:r}=t,{splittableMarks:i}=e.editor.extensionManager,o=r||n.$to.parentOffset&&n.$from.marks();if(o){let e=o.filter(e=>i.includes(e.type.name));a.ensureMarks(e)}}if(e.keepAttributes){let t="bulletList"===e.type.name||"orderedList"===e.type.name?"listItem":"taskList";o().updateAttributes(t,s).run()}let c=a.doc.resolve(n.from-1).nodeBefore;c&&c.type===e.type&&(0,r.n9)(a.doc,n.from-1)&&(!e.joinPredicate||e.joinPredicate(i,c))&&a.join(n.from-1)},undoable:e.undoable})}var tq=class{constructor(e){var t,n,r,i,o,s;this.directions=["bottom-left","bottom-right","top-left","top-right"],this.minSize={height:8,width:8},this.preserveAspectRatio=!1,this.classNames={container:"",wrapper:"",handle:"",resizing:""},this.initialWidth=0,this.initialHeight=0,this.aspectRatio=1,this.isResizing=!1,this.activeHandle=null,this.startX=0,this.startY=0,this.startWidth=0,this.startHeight=0,this.isShiftKeyPressed=!1,this.lastEditableState=void 0,this.handleMap=new Map,this.handleMouseMove=e=>{if(!this.isResizing||!this.activeHandle)return;let t=e.clientX-this.startX,n=e.clientY-this.startY;this.handleResize(t,n)},this.handleTouchMove=e=>{if(!this.isResizing||!this.activeHandle)return;let t=e.touches[0];if(!t)return;let n=t.clientX-this.startX,r=t.clientY-this.startY;this.handleResize(n,r)},this.handleMouseUp=()=>{if(!this.isResizing)return;let e=this.element.offsetWidth,t=this.element.offsetHeight;this.onCommit(e,t),this.isResizing=!1,this.activeHandle=null,this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp)},this.handleKeyDown=e=>{"Shift"===e.key&&(this.isShiftKeyPressed=!0)},this.handleKeyUp=e=>{"Shift"===e.key&&(this.isShiftKeyPressed=!1)},this.node=e.node,this.editor=e.editor,this.element=e.element,this.contentElement=e.contentElement,this.getPos=e.getPos,this.onResize=e.onResize,this.onCommit=e.onCommit,this.onUpdate=e.onUpdate,(null==(t=e.options)?void 0:t.min)&&(this.minSize={...this.minSize,...e.options.min}),(null==(n=e.options)?void 0:n.max)&&(this.maxSize=e.options.max),(null==(r=null==e?void 0:e.options)?void 0:r.directions)&&(this.directions=e.options.directions),(null==(i=e.options)?void 0:i.preserveAspectRatio)&&(this.preserveAspectRatio=e.options.preserveAspectRatio),(null==(o=e.options)?void 0:o.className)&&(this.classNames={container:e.options.className.container||"",wrapper:e.options.className.wrapper||"",handle:e.options.className.handle||"",resizing:e.options.className.resizing||""}),(null==(s=e.options)?void 0:s.createCustomHandle)&&(this.createCustomHandle=e.options.createCustomHandle),this.wrapper=this.createWrapper(),this.container=this.createContainer(),this.applyInitialSize(),this.attachHandles(),this.editor.on("update",this.handleEditorUpdate.bind(this))}get dom(){return this.container}get contentDOM(){var e;return null!=(e=this.contentElement)?e:null}handleEditorUpdate(){let e=this.editor.isEditable;e!==this.lastEditableState&&(this.lastEditableState=e,e?e&&0===this.handleMap.size&&this.attachHandles():this.removeHandles())}update(e,t,n){return e.type===this.node.type&&(this.node=e,!this.onUpdate||this.onUpdate(e,t,n))}destroy(){this.isResizing&&(this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp),this.isResizing=!1,this.activeHandle=null),this.editor.off("update",this.handleEditorUpdate.bind(this)),this.container.remove()}createContainer(){let e=document.createElement("div");return e.dataset.resizeContainer="",e.dataset.node=this.node.type.name,e.style.display="flex",this.classNames.container&&(e.className=this.classNames.container),e.appendChild(this.wrapper),e}createWrapper(){let e=document.createElement("div");return e.style.position="relative",e.style.display="block",e.dataset.resizeWrapper="",this.classNames.wrapper&&(e.className=this.classNames.wrapper),e.appendChild(this.element),e}createHandle(e){let t=document.createElement("div");return t.dataset.resizeHandle=e,t.style.position="absolute",this.classNames.handle&&(t.className=this.classNames.handle),t}positionHandle(e,t){let n=t.includes("top"),r=t.includes("bottom"),i=t.includes("left"),o=t.includes("right");n&&(e.style.top="0"),r&&(e.style.bottom="0"),i&&(e.style.left="0"),o&&(e.style.right="0"),("top"===t||"bottom"===t)&&(e.style.left="0",e.style.right="0"),("left"===t||"right"===t)&&(e.style.top="0",e.style.bottom="0")}attachHandles(){this.directions.forEach(e=>{let t;(t=this.createCustomHandle?this.createCustomHandle(e):this.createHandle(e))instanceof HTMLElement||(console.warn(`[ResizableNodeView] createCustomHandle("${e}") did not return an HTMLElement. Falling back to default handle.`),t=this.createHandle(e)),this.createCustomHandle||this.positionHandle(t,e),t.addEventListener("mousedown",t=>this.handleResizeStart(t,e)),t.addEventListener("touchstart",t=>this.handleResizeStart(t,e)),this.handleMap.set(e,t),this.wrapper.appendChild(t)})}removeHandles(){this.handleMap.forEach(e=>e.remove()),this.handleMap.clear()}applyInitialSize(){let e=this.node.attrs.width,t=this.node.attrs.height;e?(this.element.style.width=`${e}px`,this.initialWidth=e):this.initialWidth=this.element.offsetWidth,t?(this.element.style.height=`${t}px`,this.initialHeight=t):this.initialHeight=this.element.offsetHeight,this.initialWidth>0&&this.initialHeight>0&&(this.aspectRatio=this.initialWidth/this.initialHeight)}handleResizeStart(e,t){e.preventDefault(),e.stopPropagation(),this.isResizing=!0,this.activeHandle=t,"touches"in e?(this.startX=e.touches[0].clientX,this.startY=e.touches[0].clientY):(this.startX=e.clientX,this.startY=e.clientY),this.startWidth=this.element.offsetWidth,this.startHeight=this.element.offsetHeight,this.startWidth>0&&this.startHeight>0&&(this.aspectRatio=this.startWidth/this.startHeight),this.getPos(),this.container.dataset.resizeState="true",this.classNames.resizing&&this.container.classList.add(this.classNames.resizing),document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("touchmove",this.handleTouchMove),document.addEventListener("mouseup",this.handleMouseUp),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)}handleResize(e,t){if(!this.activeHandle)return;let n=this.preserveAspectRatio||this.isShiftKeyPressed,{width:r,height:i}=this.calculateNewDimensions(this.activeHandle,e,t),o=this.applyConstraints(r,i,n);this.element.style.width=`${o.width}px`,this.element.style.height=`${o.height}px`,this.onResize&&this.onResize(o.width,o.height)}calculateNewDimensions(e,t,n){let r=this.startWidth,i=this.startHeight,o=e.includes("right"),s=e.includes("left"),a=e.includes("bottom"),l=e.includes("top");return(o?r=this.startWidth+t:s&&(r=this.startWidth-t),a?i=this.startHeight+n:l&&(i=this.startHeight-n),("right"===e||"left"===e)&&(r=this.startWidth+(o?t:-t)),("top"===e||"bottom"===e)&&(i=this.startHeight+(a?n:-n)),this.preserveAspectRatio||this.isShiftKeyPressed)?this.applyAspectRatio(r,i,e):{width:r,height:i}}applyConstraints(e,t,n){var r,i,o,s;if(!n){let n=Math.max(this.minSize.width,e),o=Math.max(this.minSize.height,t);return(null==(r=this.maxSize)?void 0:r.width)&&(n=Math.min(this.maxSize.width,n)),(null==(i=this.maxSize)?void 0:i.height)&&(o=Math.min(this.maxSize.height,o)),{width:n,height:o}}let a=e,l=t;return a<this.minSize.width&&(l=(a=this.minSize.width)/this.aspectRatio),l<this.minSize.height&&(a=(l=this.minSize.height)*this.aspectRatio),(null==(o=this.maxSize)?void 0:o.width)&&a>this.maxSize.width&&(l=(a=this.maxSize.width)/this.aspectRatio),(null==(s=this.maxSize)?void 0:s.height)&&l>this.maxSize.height&&(a=(l=this.maxSize.height)*this.aspectRatio),{width:a,height:l}}applyAspectRatio(e,t,n){return"left"===n||"right"===n?{width:e,height:e/this.aspectRatio}:"top"===n||"bottom"===n?{width:t*this.aspectRatio,height:t}:{width:e,height:e/this.aspectRatio}}};function tY(e,t){let{selection:n}=e,{$from:r}=n;if(n instanceof o.nh){let e=r.index();return r.parent.canReplaceWith(e,e+1,t)}let i=r.depth;for(;i>=0;){let e=r.index(i);if(r.node(i).contentMatchAt(e).matchType(t))return!0;i-=1}return!1}function tJ(e){if(!(null==e?void 0:e.trim()))return{};let t={},n=[],r=e.replace(/["']([^"']*)["']/g,e=>(n.push(e),`__QUOTED_${n.length-1}__`)),i=r.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);i&&(t.class=i.map(e=>e.trim().slice(1)).join(" "));let o=r.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);o&&(t.id=o[1]),Array.from(r.matchAll(/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g)).forEach(([,e,r])=>{var i;let o=n[parseInt((null==(i=r.match(/__QUOTED_(\d+)__/))?void 0:i[1])||"0",10)];o&&(t[e]=o.slice(1,-1))});let s=r.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();return s&&s.split(/\s+/).filter(Boolean).forEach(e=>{e.match(/^[a-zA-Z][\w-]*$/)&&(t[e]=!0)}),t}function tX(e){if(!e||0===Object.keys(e).length)return"";let t=[];return e.class&&String(e.class).split(/\s+/).filter(Boolean).forEach(e=>t.push(`.${e}`)),e.id&&t.push(`#${e.id}`),Object.entries(e).forEach(([e,n])=>{"class"!==e&&"id"!==e&&(!0===n?t.push(e):!1!==n&&null!=n&&t.push(`${e}="${String(n)}"`))}),t.join(" ")}function tZ(e){let{nodeName:t,name:n,parseAttributes:r=tJ,serializeAttributes:i=tX,defaultAttributes:o={},requiredAttributes:s=[],allowedAttributes:a}=e,l=n||t;return{parseMarkdown:(e,n)=>{let r={...o,...e.attributes};return n.createNode(t,r,[])},markdownTokenizer:{name:t,level:"block",start(e){var t;let n=RegExp(`^:::${l}(?:\\s|$)`,"m"),r=null==(t=e.match(n))?void 0:t.index;return void 0!==r?r:-1},tokenize(e,n,i){let o=RegExp(`^:::${l}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),a=e.match(o);if(!a)return;let d=r(a[1]||"");if(!s.find(e=>!(e in d)))return{type:t,raw:a[0],attributes:d}}},renderMarkdown:e=>{let t=i((e=>{if(!a)return e;let t={};return a.forEach(n=>{n in e&&(t[n]=e[n])}),t})(e.attrs||{})),n=t?` {${t}}`:"";return`:::${l}${n} :::`}}}function tQ(e){let{nodeName:t,name:n,getContent:r,parseAttributes:i=tJ,serializeAttributes:o=tX,defaultAttributes:s={},content:a="block",allowedAttributes:l}=e,d=n||t;return{parseMarkdown:(e,n)=>{let i;if(r){let t=r(e);i="string"==typeof t?[{type:"text",text:t}]:t}else i="block"===a?n.parseChildren(e.tokens||[]):n.parseInline(e.tokens||[]);let o={...s,...e.attributes};return n.createNode(t,o,i)},markdownTokenizer:{name:t,level:"block",start(e){var t;let n=RegExp(`^:::${d}`,"m"),r=null==(t=e.match(n))?void 0:t.index;return void 0!==r?r:-1},tokenize(e,n,r){var o;let s=RegExp(`^:::${d}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),l=e.match(s);if(!l)return;let[c,h=""]=l,u=i(h),p=1,m=c.length,f="",g=/^:::([\w-]*)(\s.*)?/gm,v=e.slice(m);for(g.lastIndex=0;;){let n=g.exec(v);if(null===n)break;let i=n.index,s=n[1];if(null==(o=n[2])||!o.endsWith(":::")){if(s)p+=1;else if(0==(p-=1)){let o=v.slice(0,i);f=o.trim();let s=e.slice(0,m+i+n[0].length),l=[];if(f)if("block"===a)for((l=r.blockTokens(o)).forEach(e=>{e.text&&(!e.tokens||0===e.tokens.length)&&(e.tokens=r.inlineTokens(e.text))});l.length>0;){let e=l[l.length-1];if("paragraph"!==e.type||e.text&&""!==e.text.trim())break;l.pop()}else l=r.inlineTokens(f);return{type:t,raw:s,attributes:u,content:f,tokens:l}}}}}},renderMarkdown:(e,t)=>{let n=o((e=>{if(!l)return e;let t={};return l.forEach(n=>{n in e&&(t[n]=e[n])}),t})(e.attrs||{})),r=n?` {${n}}`:"",i=t.renderChildren(e.content||[],"\n\n");return`:::${d}${r}
72
+
73
+ ${i}
74
+
75
+ :::`}}}function tG(e){if(!e.trim())return{};let t={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g,r=n.exec(e);for(;null!==r;){let[,i,o,s]=r;t[i]=o||s,r=n.exec(e)}return t}function t0(e){return Object.entries(e).filter(([,e])=>null!=e).map(([e,t])=>`${e}="${t}"`).join(" ")}function t1(e){let{nodeName:t,name:n,getContent:r,parseAttributes:i=tG,serializeAttributes:o=t0,defaultAttributes:s={},selfClosing:a=!1,allowedAttributes:l}=e,d=n||t,c=d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return{parseMarkdown:(e,n)=>{let i={...s,...e.attributes};if(a)return n.createNode(t,i);let o=r?r(e):e.content||"";return o?n.createNode(t,i,[n.createTextNode(o)]):n.createNode(t,i,[])},markdownTokenizer:{name:t,level:"inline",start(e){let t=a?RegExp(`\\[${c}\\s*[^\\]]*\\]`):RegExp(`\\[${c}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${c}\\]`),n=e.match(t),r=null==n?void 0:n.index;return void 0!==r?r:-1},tokenize(e,n,r){let o=a?RegExp(`^\\[${c}\\s*([^\\]]*)\\]`):RegExp(`^\\[${c}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${c}\\]`),s=e.match(o);if(!s)return;let l="",d="";if(a){let[,e]=s;d=e}else{let[,e,t]=s;d=e,l=t||""}let h=i(d.trim());return{type:t,raw:s[0],content:l.trim(),attributes:h}}},renderMarkdown:e=>{let t="";r?t=r(e):e.content&&e.content.length>0&&(t=e.content.filter(e=>"text"===e.type).map(e=>e.text).join(""));let n=o((e=>{if(!l)return e;let t={};return l.forEach(n=>{let r="string"==typeof n?n:n.name,i="string"==typeof n?void 0:n.skipIfDefault;if(r in e){let n=e[r];if(void 0!==i&&n===i)return;t[r]=n}}),t})(e.attrs||{})),i=n?` ${n}`:"";return a?`[${d}${i}]`:`[${d}${i}]${t}[/${d}]`}}}function t2(e,t,n){var r,i,o,s;let a=e.split("\n"),l=[],d="",c=0,h=t.baseIndentSize||2;for(;c<a.length;){let e,u=a[c],p=u.match(t.itemPattern);if(!p)if(l.length>0)break;else{if(""!==u.trim())return;c+=1,d=`${d}${u}
76
+ `;continue}let m=t.extractItemData(p),{indentLevel:f,mainContent:g}=m;d=`${d}${u}
77
+ `;let v=[g];for(c+=1;c<a.length;){let e=a[c];if(""===e.trim()){let t=a.slice(c+1).findIndex(e=>""!==e.trim());if(-1===t)break;if(((null==(i=null==(r=a[c+1+t].match(/^(\s*)/))?void 0:r[1])?void 0:i.length)||0)>f){v.push(e),d=`${d}${e}
78
+ `,c+=1;continue}break}if(((null==(s=null==(o=e.match(/^(\s*)/))?void 0:o[1])?void 0:s.length)||0)>f)v.push(e),d=`${d}${e}
79
+ `,c+=1;else break}let y=v.slice(1);if(y.length>0){let r=y.map(e=>e.slice(f+h)).join("\n");r.trim()&&(e=t.customNestedParser?t.customNestedParser(r):n.blockTokens(r))}let b=t.createToken(m,e);l.push(b)}if(0!==l.length)return{items:l,raw:d}}function t3(e,t,n,r){if(!e||!Array.isArray(e.content))return"";let i="function"==typeof n?n(r):n,[o,...s]=e.content,a=t.renderChildren([o]),l=[`${i}${a}`];return s&&s.length>0&&s.forEach(e=>{let n=t.renderChildren([e]);if(n){let e=n.split("\n").map(e=>e?t.indent(e):"").join("\n");l.push(e)}}),l.join("\n")}function t9(e,t,n={}){let{state:r}=t,{doc:i,tr:o}=r;i.descendants((t,r)=>{let i=o.mapping.map(r),s=o.mapping.map(r)+t.nodeSize,a=null;if(t.marks.forEach(t=>{if(t!==e)return!1;a=t}),!a)return;let l=!1;if(Object.keys(n).forEach(e=>{n[e]!==a.attrs[e]&&(l=!0)}),l){let t=e.type.create({...e.attrs,...n});o.removeMark(i,s,e.type),o.addMark(i,s,t)}}),o.docChanged&&t.view.dispatch(o)}h({},{createAtomBlockMarkdownSpec:()=>tZ,createBlockMarkdownSpec:()=>tQ,createInlineMarkdownSpec:()=>t1,parseAttributes:()=>tJ,parseIndentedBlocks:()=>t2,renderNestedMarkdownContent:()=>t3,serializeAttributes:()=>tX});var t4=class{constructor(e,t,n){this.component=e,this.editor=t.editor,this.options={...n},this.mark=t.mark,this.HTMLAttributes=t.HTMLAttributes}get dom(){return this.editor.view.dom}get contentDOM(){return null}updateAttributes(e,t){t9(t||this.mark,this.editor,e)}ignoreMutation(e){return!this.dom||!this.contentDOM||("function"==typeof this.options.ignoreMutation?this.options.ignoreMutation({mutation:e}):!("selection"===e.type||this.dom.contains(e.target)&&"childList"===e.type&&(B()||H())&&this.editor.isFocused&&[...Array.from(e.addedNodes),...Array.from(e.removedNodes)].every(e=>e.isContentEditable))&&(this.contentDOM===e.target&&"attributes"===e.type||!this.contentDOM.contains(e.target)))}},t7=class e extends tx{constructor(){super(...arguments),this.type="node"}static create(t={}){return new e("function"==typeof t?t():t)}configure(e){return super.configure(e)}extend(e){let t="function"==typeof e?e():e;return super.extend(t)}},t8=class{constructor(e,t,n){this.isDragging=!1,this.component=e,this.editor=t.editor,this.options={stopEvent:null,ignoreMutation:null,...n},this.extension=t.extension,this.node=t.node,this.decorations=t.decorations,this.innerDecorations=t.innerDecorations,this.view=t.view,this.HTMLAttributes=t.HTMLAttributes,this.getPos=t.getPos,this.mount()}mount(){}get dom(){return this.editor.view.dom}get contentDOM(){return null}onDragStart(e){var t,n,r,i,s,a,l;let{view:d}=this.editor,c=e.target,h=3===c.nodeType?null==(t=c.parentElement)?void 0:t.closest("[data-drag-handle]"):c.closest("[data-drag-handle]");if(!this.dom||(null==(n=this.contentDOM)?void 0:n.contains(c))||!h)return;let u=0,p=0;if(this.dom!==h){let t=this.dom.getBoundingClientRect(),n=h.getBoundingClientRect(),o=null!=(i=e.offsetX)?i:null==(r=e.nativeEvent)?void 0:r.offsetX,l=null!=(a=e.offsetY)?a:null==(s=e.nativeEvent)?void 0:s.offsetY;u=n.x-t.x+o,p=n.y-t.y+l}let m=this.dom.cloneNode(!0);try{let e=this.dom.getBoundingClientRect();m.style.width=`${Math.round(e.width)}px`,m.style.height=`${Math.round(e.height)}px`,m.style.boxSizing="border-box",m.style.pointerEvents="none"}catch{}let f=null;try{(f=document.createElement("div")).style.position="absolute",f.style.top="-9999px",f.style.left="-9999px",f.style.pointerEvents="none",f.appendChild(m),document.body.appendChild(f),null==(l=e.dataTransfer)||l.setDragImage(m,u,p)}finally{f&&setTimeout(()=>{try{null==f||f.remove()}catch{}},0)}let g=this.getPos();if("number"!=typeof g)return;let v=o.nh.create(d.state.doc,g),y=d.state.tr.setSelection(v);d.dispatch(y)}stopEvent(e){var t;if(!this.dom)return!1;if("function"==typeof this.options.stopEvent)return this.options.stopEvent({event:e});let n=e.target;if(!(this.dom.contains(n)&&!(null==(t=this.contentDOM)?void 0:t.contains(n))))return!1;let r=e.type.startsWith("drag"),i="drop"===e.type;if((["INPUT","BUTTON","SELECT","TEXTAREA"].includes(n.tagName)||n.isContentEditable)&&!i&&!r)return!0;let{isEditable:s}=this.editor,{isDragging:a}=this,l=!!this.node.type.spec.draggable,d=o.nh.isSelectable(this.node),c="copy"===e.type,h="paste"===e.type,u="cut"===e.type,p="mousedown"===e.type;if(!l&&d&&r&&e.target===this.dom&&e.preventDefault(),l&&r&&!a&&e.target===this.dom)return e.preventDefault(),!1;if(l&&s&&!a&&p){let e=n.closest("[data-drag-handle]");e&&(this.dom===e||this.dom.contains(e))&&(this.isDragging=!0,document.addEventListener("dragend",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("drop",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("mouseup",()=>{this.isDragging=!1},{once:!0}))}return!a&&!i&&!c&&!h&&!u&&(!p||!d)}ignoreMutation(e){return!this.dom||!this.contentDOM||("function"==typeof this.options.ignoreMutation?this.options.ignoreMutation({mutation:e}):!!this.node.isLeaf||!!this.node.isAtom||!("selection"===e.type||this.dom.contains(e.target)&&"childList"===e.type&&(B()||H())&&this.editor.isFocused&&[...Array.from(e.addedNodes),...Array.from(e.removedNodes)].every(e=>e.isContentEditable))&&(this.contentDOM===e.target&&"attributes"===e.type||!this.contentDOM.contains(e.target)))}updateAttributes(e){this.editor.commands.command(({tr:t})=>{let n=this.getPos();return"number"==typeof n&&(t.setNodeMarkup(n,void 0,{...this.node.attrs,...e}),!0)})}deleteNode(){let e=this.getPos();if("number"!=typeof e)return;let t=e+this.node.nodeSize;this.editor.commands.deleteRange({from:e,to:t})}};function t5(e){return new tE({find:e.find,handler:({state:t,range:n,match:r,pasteEvent:i})=>{let o=e$(e.getAttributes,void 0,r,i);if(!1===o||null===o)return null;let{tr:s}=t,a=r[r.length-1],l=r[0],d=n.to;if(a){let r=l.search(/\S/),i=n.from+l.indexOf(a),c=i+a.length;if(eF(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>i).length)return null;c<n.to&&s.delete(c,n.to),i>n.from&&s.delete(n.from+r,i),d=n.from+r+a.length,s.addMark(n.from+r,d,e.type.create(o||{})),s.removeStoredMark(e.type)}}})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6087],{16087:(e,t,r)=>{r.r(t),r.d(t,{default:()=>y});var n=r(95155),a=r(12115),i=r(13439),o=r(37795),s=r(43561),l=r(48434),c=r(44695),d=r(59265),u=r(27337),f=r(5989),m=r(26932),p=r(32631),g=r(7337),h=r(4235);let w=u.Ay.extend({renderHTML({HTMLAttributes:e}){let t=e.src,r="string"==typeof t?(0,g.X)(t):t;return["img",{...e,src:r}]}});function y({value:e,onChange:t}){let r=(0,a.useRef)(t);r.current=t;let{uploadToMedia:u,isUploading:g}=(0,p.v)(),y=(0,a.useRef)(u);y.current=u;let x=(0,i.hG)({extensions:[o.A.configure({codeBlock:{HTMLAttributes:{class:"not-prose"}}}),m.o.configure({html:!0,transformPastedText:!0,transformCopiedText:!0}),s.A.configure({placeholder:"Start writing…"}),l.A,c.A.configure({nested:!0}),d.Ay.configure({openOnClick:!1,autolink:!0}),w.configure({HTMLAttributes:{class:"rounded-md max-w-full"}}),f.XI.configure({resizable:!1}),f.Hj,f.A0,f.nA],content:e,editorProps:{attributes:{class:"prose max-w-none focus:outline-none wysiwyg-editor"}},onUpdate({editor:e}){let t=e.storage.markdown?.getMarkdown?.()??e.getText();r.current(t)},immediatelyRender:!1});(0,a.useEffect)(()=>{if(!x)return;let e=x.view.dom,t=async e=>{if(x)try{for(let t of(await y.current(e)))x.chain().focus().setImage({src:t}).run();h.oR.success("Images inserted")}catch(e){h.oR.error("Failed to insert images"),console.error(e)}},r=e=>{let r=Array.from(e.dataTransfer?.files??[]).filter(e=>e.type.startsWith("image/"));r.length>0&&(e.preventDefault(),e.stopPropagation(),t(r))},n=e=>{let r=e.clipboardData?.items;if(!r)return;let n=[];for(let e=0;e<r.length;e++){let t=r[e];if("file"===t.kind&&t.type.startsWith("image/")){let e=t.getAsFile();e&&n.push(e)}}n.length>0&&(e.preventDefault(),t(n))};return e.addEventListener("drop",r),e.addEventListener("paste",n),()=>{e.removeEventListener("drop",r),e.removeEventListener("paste",n)}},[x]);let b=(0,a.useRef)(e);return(0,a.useEffect)(()=>{x&&e!==b.current&&(b.current=e,(x.storage.markdown?.getMarkdown?.()??"")!==e&&x.commands.setContent(e))},[x,e]),(0,n.jsxs)("div",{className:"wysiwyg-wrapper h-full overflow-y-auto px-8 py-6",children:[g&&(0,n.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:(0,n.jsxs)("div",{className:"bg-card border border-border rounded-lg px-6 py-4 text-center shadow-lg",children:[(0,n.jsx)("div",{className:"animate-spin inline-block w-5 h-5 border-2 border-primary border-t-transparent rounded-full"}),(0,n.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"Uploading images..."})]})}),(0,n.jsx)(i.$Z,{editor:x})]})}},32631:(e,t,r)=>{r.d(t,{v:()=>o});var n=r(12115);let a=new Set(["image/png","image/jpeg","image/gif","image/webp","image/svg+xml","image/bmp","image/x-icon","image/vnd.microsoft.icon"]);async function i(e){return new Promise((t,r)=>{let n=new FileReader;n.onload=()=>{t(n.result.split(",")[1])},n.onerror=r,n.readAsDataURL(e)})}function o(){let[e,t]=(0,n.useState)(!1);return{uploadToMedia:(0,n.useCallback)(async e=>{t(!0);try{let t=[],r=[];for(let n of e){if(!a.has(n.type)){r.push(`${n.name}: unsupported format`);continue}if(n.size>0xa00000){r.push(`${n.name}: exceeds 10MB limit`);continue}let e=await i(n),o=function(e){let t=e.split(".").pop()?.toLowerCase()||"png",r=new Date().toISOString().split("T")[0],n=Math.random().toString(36).slice(2,10);return`${r}_${n}.${t}`}(n.name);t.push({base64:e,newName:o})}if(0===t.length)throw Error(r.length>0?r.join("; "):"No valid images to upload");let n=await fetch("/api/file/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:t.map(e=>({name:e.newName,content:e.base64,encoding:"base64"})),targetSpace:".media",organize:!1,conflict:"rename"})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Upload failed: ${n.statusText}`)}return((await n.json()).created??[]).map(e=>`/${e.path}`)}finally{t(!1)}},[]),isUploading:e}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6878],{439:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])},3926:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]])},6296:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},10762:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},12651:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},13545:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},15573:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]])},21362:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},33210:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},33591:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]])},44478:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},48368:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},49387:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},51914:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},52905:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]])},53961:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},61878:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},67635:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},68459:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},68822:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},73035:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]])},77800:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("toggle-left",[["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]])},80723:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},84755:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},84980:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]])},92451:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},93219:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},93631:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("file-plus",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]])},97810:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(90425).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])}}]);
@@ -0,0 +1,11 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7249],{3590:(e,t,r)=>{function s(e){return{connected:e.filter(e=>e.present&&e.installed),detected:e.filter(e=>e.present&&!e.installed),notFound:e.filter(e=>!e.present)}}function n(e){return e.present&&e.installed?"connected":e.present?"detected":"notFound"}function o(e){return f(`${e.name} ${e.description}`)}function i(e){let t=[];return e.mcpEnabled&&!e.mcpRunning&&t.push({id:"mcp-stopped",severity:"error",title:e.copy.riskMcpStopped}),e.detectedCount>0&&t.push({id:"detected-unconfigured",severity:"warn",title:e.copy.riskDetected(e.detectedCount)}),e.allSkillsDisabled&&t.push({id:"skills-disabled",severity:"warn",title:e.copy.riskSkillsDisabled}),t}function a(e){return new Set(e.filter(e=>!e.enabled&&"user"===e.source||0===e.description.trim().length).map(e=>e.name))}function l(e){let t=e.filter(e=>!e.ok).map(e=>e.skillName);return{total:e.length,succeeded:e.length-t.length,failed:t.length,failedSkills:t}}function d(e,t){let r=t.query.trim().toLowerCase();return e.filter(e=>{let s;return("all"===t.status||n(e)===t.status)&&("all"===t.transport||("stdio"===(s=(e.transport??e.preferredTransport??"").toLowerCase())||"http"===s?s:"other")===t.transport)&&(!r||`${e.name} ${e.key} ${e.configPath??""}`.toLowerCase().includes(r))})}function c(e){let t=e.filter(e=>!e.ok).length;return{total:e.length,succeeded:e.length-t,failed:t}}function u(e){let t=new Map;for(let r of e)for(let e of r.configuredMcpServers??[]){let s=t.get(e);s?s.push(r.name):t.set(e,[r.name])}return[...t.entries()].map(([e,t])=>({serverName:e,agents:t})).sort((e,t)=>t.agents.length-e.agents.length||e.serverName.localeCompare(t.serverName))}function m(e){let t=new Map;for(let r of e)for(let e of r.installedSkillNames??[]){let s=t.get(e);s?s.push(r.name):t.set(e,[r.name])}return[...t.entries()].map(([e,t])=>({skillName:e,agents:t})).sort((e,t)=>t.agents.length-e.agents.length||e.skillName.localeCompare(t.skillName))}r.d(t,{$2:()=>o,$t:()=>s,G9:()=>j,GU:()=>h,HL:()=>u,IK:()=>a,Ri:()=>v,ag:()=>b,fH:()=>d,gJ:()=>g,qC:()=>x,x3:()=>m,xJ:()=>c,xR:()=>l,yQ:()=>f,yv:()=>n,zK:()=>i});let p={connected:0,detected:1,notFound:2};function g(e){return[...e].sort((e,t)=>{let r=p[n(e)],s=p[n(t)];return r!==s?r-s:e.name.localeCompare(t.name)})}function x(e,t){let r=t.query.trim().toLowerCase();return e.filter(e=>("all"===t.source||e.source===t.source)&&(!r||`${e.name} ${e.description} ${e.path}`.toLowerCase().includes(r)))}function f(e){let t=e.toLowerCase();return t.includes("search")||t.includes("research")||t.includes("arxiv")||t.includes("paper")?"research":t.includes("doc")||t.includes("write")||t.includes("readme")||t.includes("copy")||t.includes("slide")||t.includes("ppt")?"docs":t.includes("deploy")||t.includes("ops")||t.includes("ci")||t.includes("ship")||t.includes("qa")||t.includes("review")||t.includes("test")?"ops":t.includes("memory")||t.includes("mind")||t.includes("handoff")||t.includes("session")?"memory":"coding"}function b(e,t){let r=new Set(e.map(e=>e.name)),s=new Map;for(let e of t)s.set(e.skillName,e.agents);let n=[];for(let t of e)n.push({name:t.name,kind:"mindos",mindosSkill:t,agents:s.get(t.name)??[],capability:o(t),enabled:t.enabled,source:t.source,description:t.description});for(let e of t)r.has(e.skillName)||n.push({name:e.skillName,kind:"native",agents:e.agents,capability:f(e.skillName),enabled:!0,source:"native",description:""});return n}function h(e){return{research:e.filter(e=>"research"===e.capability),coding:e.filter(e=>"coding"===e.capability),docs:e.filter(e=>"docs"===e.capability),ops:e.filter(e=>"ops"===e.capability),memory:e.filter(e=>"memory"===e.capability)}}function v(e,t){let r=t.query.trim().toLowerCase(),s=new Set(e.filter(e=>"mindos"===e.kind&&(!e.enabled&&"user"===e.source||0===e.description.trim().length)).map(e=>e.name));return e.filter(e=>("all"===t.source||("native"!==t.source||"native"===e.kind)&&("builtin"!==t.source||"builtin"===e.source)&&("user"!==t.source||"user"===e.source))&&("enabled"!==t.status||!!e.enabled)&&("disabled"!==t.status||!e.enabled)&&("attention"!==t.status||!!s.has(e.name))&&("all"===t.capability||e.capability===t.capability)&&(!r||!!`${e.name} ${e.description}`.toLowerCase().includes(r))&&!0)}function j(e,t){return e.filter(e=>"mindos"===e.kind&&e.enabled!==t).map(e=>e.name)}},85641:(e,t,r)=>{r.d(t,{A:()=>w});var s=r(95155),n=r(12115),o=r(61878),i=r(33591),a=r(48368),l=r(15573),d=r(97810),c=r(53961),u=r(33210),m=r(51914),p=r(67635),g=r(6296),x=r(66088),f=r(77800),b=r(68459),h=r(22356),v=r(7834),j=r(4235),y=r(20171),N=r(39498),C=r(3590);let k={research:o.A,coding:i.A,docs:a.A,ops:l.A,memory:d.A};function A({text:e,className:t=""}){let r=(0,n.useMemo)(()=>{let t;return(t=(t=e.replace(/```(\w*)\n([\s\S]*?)```/g,(e,t,r)=>`<pre><code>${r.trimEnd().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}</code></pre>`).replace(/`([^`]+)`/g,"<code>$1</code>").replace(/^#### (.+)$/gm,"<h4>$1</h4>").replace(/^### (.+)$/gm,"<h3>$1</h3>").replace(/^## (.+)$/gm,"<h2>$1</h2>").replace(/^# (.+)$/gm,"<h1>$1</h1>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/^---$/gm,"<hr/>").replace(/^- (.+)$/gm,"<li>$1</li>").replace(/^\* (.+)$/gm,"<li>$1</li>").replace(/^\d+\. (.+)$/gm,"<li>$1</li>")).replace(/((?:<li>.*<\/li>\n?)+)/g,"<ul>$1</ul>")).split("\n").map(e=>{let t=e.trim();return t?/^<(h[1-4]|ul|ol|li|pre|hr|div|p|blockquote)/.test(t)?e:`<p>${t}</p>`:""}).join("\n")},[e]);return(0,s.jsx)("div",{className:`prose prose-sm prose-invert max-w-none
2
+ prose-headings:text-foreground prose-headings:font-semibold prose-headings:mt-4 prose-headings:mb-2
3
+ prose-h1:text-sm prose-h2:text-xs prose-h3:text-xs
4
+ prose-p:text-xs prose-p:text-foreground/80 prose-p:leading-relaxed prose-p:my-1.5
5
+ prose-li:text-xs prose-li:text-foreground/80 prose-li:my-0.5
6
+ prose-strong:text-foreground prose-strong:font-semibold
7
+ prose-code:text-[var(--amber)] prose-code:bg-muted/50 prose-code:px-1 prose-code:py-0.5 prose-code:rounded prose-code:text-2xs prose-code:font-mono
8
+ prose-pre:bg-muted/30 prose-pre:border prose-pre:border-border/50 prose-pre:rounded-lg prose-pre:p-3 prose-pre:text-2xs prose-pre:overflow-x-auto
9
+ prose-ul:my-1 prose-ol:my-1
10
+ prose-hr:border-border/30 prose-hr:my-3
11
+ ${t}`,dangerouslySetInnerHTML:{__html:r}})}function w({open:e,skillName:t,skill:r,agentNames:o=[],allAgentNames:i=[],isNative:a=!1,nativeSourcePath:l,copy:d,onClose:w,onToggle:T,onDelete:D,onRefresh:z,onAddAgent:L,onRemoveAgent:F}){let K,E,[M,P]=(0,n.useState)(null),[O,R]=(0,n.useState)(""),[_,J]=(0,n.useState)(!1),[q,H]=(0,n.useState)(!1),[B,I]=(0,n.useState)(!1),[U,W]=(0,n.useState)(!1),[Q,G]=(0,n.useState)(null),[V,Y]=(0,n.useState)(!1),[X,Z]=(0,n.useState)(!1),[ee,et]=(0,n.useState)(!1),er=(0,n.useCallback)(async()=>{if(t){J(!0),H(!1);try{if(a&&l){let e=await (0,h.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"read-native",name:t,sourcePath:l})});P(e.content),R(e.description||"")}else if(!a){let e=await (0,h.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"read",name:t})});P(e.content)}}catch{H(!0)}finally{J(!1)}}},[t,a,l]);(0,n.useEffect)(()=>{e&&t&&(P(null),R(""),H(!1),G(null),W(!1),Y(!1),Z(!1),et(!1),er())},[e,t,er]),(0,n.useEffect)(()=>{if(e)return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t);function t(e){"Escape"===e.key&&w()}},[e,w]);let es=(0,n.useCallback)(async()=>{!M||await (0,v.l)(M)&&j.oR.copy()},[M]),en=(0,n.useCallback)(async e=>{if(t&&T){Y(!0);try{await T(t,e)}finally{Y(!1)}}},[t,T]),eo=(0,n.useCallback)(async()=>{if(t&&D){I(!1),W(!0);try{await D(t),G(d.deleted),await z?.(),setTimeout(()=>w(),800)}catch{G(d.deleteFailed),W(!1)}}},[t,D,z,w,d.deleted,d.deleteFailed]);if(!e||!t)return null;let ei=r?(0,C.yQ)(`${r.name} ${r.description}`):(0,C.yQ)(t),ea=k[ei]??c.A,el=r?.source==="user",ed=a?d.sourceNative:r?.source==="builtin"?d.sourceBuiltin:d.sourceUser,ec=r?.description||O||"",eu=r?.path||(a&&l?`${l}/${t}/SKILL.md`:""),em=M?(K=M,(E=M.match(/^---\n[\s\S]*?\n---\n?/))&&(K=M.slice(E[0].length).trim()),{triggerConditions:ec||"",instructions:K}):null,ep=i.filter(e=>!o.includes(e));return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"fixed inset-0 z-40 overlay-backdrop",onClick:w,"aria-hidden":"true"}),(0,s.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":t,className:"fixed right-0 top-0 z-50 h-full w-full max-w-md border-l border-border bg-card shadow-2xl flex flex-col animate-in slide-in-from-right duration-200",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 px-5 py-4 border-b border-border/60 bg-gradient-to-r from-card to-card/80 shrink-0",children:[(0,s.jsx)("div",{className:"w-9 h-9 rounded-xl bg-[var(--amber)]/[0.08] flex items-center justify-center text-[var(--amber)] shrink-0",children:(0,s.jsx)(ea,{size:18})}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-foreground truncate",children:t}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,s.jsx)("span",{className:`text-2xs px-2 py-0.5 rounded-full font-medium select-none ${a||r?.source==="builtin"?"bg-muted text-muted-foreground":"bg-[var(--amber-dim)] text-[var(--amber-text)]"}`,children:ed}),(0,s.jsx)("span",{className:"text-2xs text-muted-foreground/60 capitalize",children:ei})]})]}),(0,s.jsx)("button",{type:"button",onClick:w,className:"shrink-0 p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":d.close,children:(0,s.jsx)(u.A,{size:16})})]}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-5",children:[ec&&(0,s.jsxs)("section",{children:[(0,s.jsx)(S,{label:"Trigger Conditions"}),(0,s.jsx)("div",{className:"rounded-lg border border-border/40 bg-muted/[0.03] p-3.5",children:(0,s.jsx)("p",{className:"text-xs text-foreground/80 leading-relaxed whitespace-pre-wrap",children:ec})})]}),!ec&&!a&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground italic",children:d.noDescription}),(0,s.jsx)("section",{children:(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[!a&&r&&(0,s.jsx)($,{label:d.enabled,value:r.enabled?"✓":"—",tone:r.enabled?"ok":"muted"}),(0,s.jsx)($,{label:d.capability,value:ei}),(0,s.jsx)($,{label:d.source,value:ed}),(0,s.jsx)($,{label:d.agents,value:String(o.length)})]})}),(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)(S,{label:d.agents,noMargin:!0}),L&&ep.length>0&&(0,s.jsxs)("button",{type:"button",onClick:()=>Z(!X),className:"inline-flex items-center gap-1 text-2xs font-medium text-[var(--amber)] hover:opacity-80 transition-opacity cursor-pointer",children:[(0,s.jsx)(m.A,{size:12}),(0,s.jsx)("span",{children:"Add"})]})]}),X&&ep.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2 p-2 rounded-lg border border-dashed border-[var(--amber)]/30 bg-[var(--amber)]/[0.03]",children:ep.map(e=>(0,s.jsxs)("button",{type:"button",onClick:()=>{L?.(t,e),Z(!1)},className:"inline-flex items-center gap-1 px-2 py-1 text-2xs rounded-md border border-border bg-card hover:bg-muted cursor-pointer transition-colors",children:[(0,s.jsx)(m.A,{size:10,className:"text-[var(--amber)]"}),(0,s.jsx)("span",{className:"text-foreground/80",children:e})]},e))}),o.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:o.map(e=>(0,s.jsx)(N.lx,{name:e,size:"sm",onRemove:F?()=>F(t,e):void 0},e))}):(0,s.jsx)("div",{className:"rounded-lg border border-border/40 bg-card/30 p-3 text-center",children:(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:d.noAgents})})]}),(null!==M||_||q)&&(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)(S,{label:"Instructions",noMargin:!0}),(0,s.jsx)("div",{className:"flex items-center gap-2",children:M&&(0,s.jsxs)("button",{type:"button",onClick:es,className:"inline-flex items-center gap-1 text-2xs text-muted-foreground hover:text-foreground cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded px-1.5 py-0.5","aria-label":d.copyContent,children:[(0,s.jsx)(p.A,{size:11}),d.copyContent]})})]}),_&&(0,s.jsxs)("div",{className:"rounded-lg border border-border bg-background p-6 flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(g.A,{size:14,className:"animate-spin"}),d.loading]}),q&&(0,s.jsxs)("div",{className:"rounded-lg border border-destructive/20 bg-destructive/[0.03] p-4 text-center space-y-2",children:[(0,s.jsx)("p",{className:"text-sm text-destructive",children:d.loadFailed}),(0,s.jsx)("button",{type:"button",onClick:er,className:"text-xs text-foreground underline hover:no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",children:d.retry})]}),em&&!_&&!q&&(0,s.jsx)("div",{className:`rounded-lg border border-border/50 bg-muted/[0.02] p-4 overflow-hidden transition-all duration-200 ${!ee?"max-h-60":""}`,children:(0,s.jsx)(A,{text:em.instructions})}),em&&!_&&!q&&em.instructions.split("\n").length>15&&(0,s.jsxs)("button",{type:"button",onClick:()=>et(!ee),className:"inline-flex items-center gap-1 mt-2 text-2xs font-medium text-[var(--amber)] hover:opacity-80 transition-opacity cursor-pointer",children:[(0,s.jsx)(x.A,{size:12,className:`transition-transform duration-200 ${ee?"rotate-180":""}`}),(0,s.jsx)("span",{children:ee?"Collapse":"View All"})]})]}),eu&&(0,s.jsxs)("section",{children:[(0,s.jsx)(S,{label:d.path}),(0,s.jsx)("div",{className:"rounded-lg border border-border/50 bg-muted/[0.03] p-3",children:(0,s.jsx)("code",{className:"text-2xs text-foreground/60 font-mono break-all leading-relaxed",children:eu})})]}),Q&&(0,s.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-md border border-border bg-muted/50 px-3 py-2 text-xs text-muted-foreground animate-in fade-in duration-200",children:Q})]}),!a&&r&&(0,s.jsxs)("div",{className:"shrink-0 border-t border-border px-5 py-3 flex items-center gap-2",children:[T&&(0,s.jsxs)("div",{className:"flex items-center gap-2 mr-auto",children:[(0,s.jsx)(f.A,{size:14,className:"text-muted-foreground","aria-hidden":"true"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:r.enabled?d.enabled:d.disabled}),(0,s.jsx)(y.lM,{size:"sm",checked:r.enabled,onChange:e=>void en(e),disabled:V})]}),el&&D&&(0,s.jsxs)("button",{type:"button",onClick:()=>I(!0),disabled:U,className:"inline-flex items-center gap-1.5 px-2.5 min-h-[32px] text-xs rounded-md border border-destructive/30 text-destructive hover:bg-destructive/10 cursor-pointer disabled:opacity-50 transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[U?(0,s.jsx)(g.A,{size:12,className:"animate-spin"}):(0,s.jsx)(b.A,{size:12}),d.deleteSkill]})]})]}),(0,s.jsx)(N.TM,{open:B,title:d.confirmDeleteTitle,message:t?d.confirmDeleteMessage(t):"",confirmLabel:d.confirmDeleteAction,cancelLabel:d.cancelAction,onConfirm:()=>void eo(),onCancel:()=>I(!1),variant:"destructive"})]})}function S({label:e,noMargin:t}){return(0,s.jsx)("h3",{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider ${t?"":"mb-2"}`,children:e})}function $({label:e,value:t,tone:r="default"}){return(0,s.jsxs)("div",{className:"rounded-xl border border-border/50 bg-muted/[0.03] px-3.5 py-3 hover:bg-muted/[0.06] transition-colors duration-100",children:[(0,s.jsx)("span",{className:"text-2xs text-muted-foreground/60 block mb-1 uppercase tracking-wider",children:e}),(0,s.jsx)("span",{className:`text-sm font-semibold capitalize ${"ok"===r?"text-[var(--success)]":"muted"===r?"text-muted-foreground":"text-foreground"}`,children:t})]})}},90777:(e,t,r)=>{r.d(t,{A:()=>f});var s=r(95155),n=r(12115),o=r(33210),i=r(13545),a=r(12651),l=r(68822),d=r(66088),c=r(21362),u=r(6296),m=r(91053),p=r(15631),g=r(4235),x=r(20171);function f({open:e,onClose:t,onSuccess:r,existingAgents:f,editAgent:h}){let{t:v}=(0,m.Y)(),j=v.agentsContent.overview,y=(0,n.useRef)(null),N=(0,n.useRef)(null),C=!!h,[k,A]=(0,n.useState)("input"),[w,S]=(0,n.useState)(!1),[$,T]=(0,n.useState)(!1),[D,z]=(0,n.useState)(null),[L,F]=(0,n.useState)(null),[K,E]=(0,n.useState)(!1),[M,P]=(0,n.useState)(!1),[O,R]=(0,n.useState)({name:"",baseDir:"",global:"",configKey:"mcpServers",format:"json",preferredTransport:"stdio",project:"",presenceCli:""});(0,n.useEffect)(()=>{e&&(h?(R({name:h.name,baseDir:h.customBaseDir||"",global:h.globalPath||"",configKey:h.configKey||"mcpServers",format:h.format||"json",preferredTransport:h.preferredTransport||"stdio",project:h.projectPath||"",presenceCli:""}),A("result"),P(!0),F(null),z(null)):(R({name:"",baseDir:"",global:"",configKey:"mcpServers",format:"json",preferredTransport:"stdio",project:"",presenceCli:""}),A("input"),P(!1),F(null),z(null),E(!1)))},[e,h]),(0,n.useEffect)(()=>{e&&"input"===k&&setTimeout(()=>N.current?.focus(),100)},[e,k]),(0,p.r)(y,e),(0,n.useEffect)(()=>{if(!e)return;let r=e=>{"Escape"===e.key&&t()};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e,t]);let _=(0,n.useMemo)(()=>{let e=new Set(f.map(e=>e.key));return C&&h&&e.delete(h.key),e},[f,C,h]),J=(0,n.useMemo)(()=>O.name.toLowerCase().replace(/[^\x20-\x7E]/g,"").replace(/[_\s]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-{2,}/g,"-").replace(/^-|-$/g,""),[O.name]),q=(0,n.useMemo)(()=>{if(C||!O.name.trim())return null;let e=J||"";if(!e)return null;if(_.has(e)){let t=f.find(t=>t.key===e);return t?.isCustom?j.customAgentKeyConflict?.(e)??`An agent with key "${e}" already exists`:j.customAgentBuiltinConflict?.(t?.name||e)??`Conflicts with built-in agent "${t?.name||e}"`}return null},[C,J,_,f,O.name,j]),H=O.name.trim()&&O.baseDir.trim()&&!q,B=(0,n.useCallback)((e,t)=>{R(r=>({...r,[e]:t}))},[]),I=(0,n.useCallback)(async()=>{if(!H)return;z(null),S(!0);let e=O.baseDir.trim();if(!e.startsWith("~/")){B("global",(e.endsWith("/")?e:e+"/")+"mcp.json"),F({exists:!1,hasSkillsDir:!1}),A("result"),S(!1);return}let t=new AbortController,r=setTimeout(()=>t.abort(),3e3);try{let s=await fetch("/api/agents/custom/detect",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseDir:e}),signal:t.signal});clearTimeout(r);let n=await s.json();if(!s.ok)return void z(n.error||j.customAgentFailedSave);F(n),n.detectedConfig?B("global",n.detectedConfig):B("global",(e.endsWith("/")?e:e+"/")+"mcp.json"),n.detectedFormat&&B("format",n.detectedFormat),n.detectedConfigKey&&B("configKey",n.detectedConfigKey),A("result")}catch{clearTimeout(r),B("global",(e.endsWith("/")?e:e+"/")+"mcp.json"),F({exists:!1,hasSkillsDir:!1}),E(!0),A("result")}finally{S(!1)}},[H,O.baseDir,B,j]),U=(0,n.useCallback)(async()=>{T(!0),z(null);let e=C?{key:h.key,name:O.name.trim(),baseDir:O.baseDir.trim(),global:O.global.trim()||void 0,configKey:O.configKey.trim()||void 0,format:O.format,preferredTransport:O.preferredTransport,project:O.project.trim()||null,presenceCli:O.presenceCli.trim()||void 0}:{name:O.name.trim(),baseDir:O.baseDir.trim(),global:O.global.trim()||void 0,configKey:O.configKey.trim()||void 0,format:O.format,preferredTransport:O.preferredTransport,project:O.project.trim()||null,presenceCli:O.presenceCli.trim()||void 0};try{let s=await fetch("/api/agents/custom",{method:C?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await s.json();if(!s.ok){z(n.error||j.customAgentFailedSave),T(!1);return}let o=C?j.customAgentUpdated(O.name.trim()):j.customAgentAdded(O.name.trim());g.oR.success(o),r(),t()}catch{z(j.customAgentNetworkError)}finally{T(!1)}},[C,h,O,r,t,j]),W=(0,n.useCallback)(e=>{"Enter"===e.key&&(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)&&(e.preventDefault(),"input"===k&&H&&!w?I():"result"!==k||$||U())},[k,H,w,$,I,U]);if(!e)return null;let Q=C?j.editCustomAgentTitle(h.name):j.addCustomAgentTitle;return(0,s.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",role:"dialog","aria-modal":"true","aria-labelledby":"custom-agent-modal-title",children:[(0,s.jsx)("div",{className:"absolute inset-0 modal-backdrop",onClick:t,"aria-hidden":"true"}),(0,s.jsxs)("div",{ref:y,className:"relative bg-card border border-border rounded-xl shadow-2xl max-w-md w-full mx-4 animate-in fade-in zoom-in-95 duration-200 max-h-[85vh] overflow-y-auto",onKeyDown:W,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between px-5 pt-5 pb-1",children:[(0,s.jsx)("h2",{id:"custom-agent-modal-title",className:"text-base font-semibold text-foreground",children:Q}),(0,s.jsx)("button",{type:"button",onClick:t,className:"w-7 h-7 rounded-md flex items-center justify-center text-muted-foreground hover:text-foreground hover:bg-muted transition-colors duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":"Close",children:(0,s.jsx)(o.A,{size:16})})]}),(0,s.jsxs)("div",{className:"px-5 py-4 space-y-4",children:[(0,s.jsxs)(x.D0,{label:j.customAgentName,children:[(0,s.jsx)("input",{ref:N,value:O.name,onChange:e=>B("name",e.target.value),placeholder:j.customAgentNamePlaceholder,"aria-invalid":!!q,className:`w-full px-3 py-2 text-sm bg-background border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:opacity-50 ${q?"border-[var(--error)] focus-visible:ring-[var(--error)]":"border-border"}`,autoComplete:"off"}),q?(0,s.jsxs)("p",{className:"text-xs text-[var(--error)] mt-1 flex items-center gap-1",children:[(0,s.jsx)(i.A,{size:12}),q]}):O.name.trim()&&J?(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:j.customAgentKeyPreview(J)}):null]}),(0,s.jsxs)(x.D0,{label:j.customAgentDir,hint:"input"===k?j.customAgentDirHint:void 0,children:[(0,s.jsx)(x.pd,{value:O.baseDir,onChange:e=>{B("baseDir",e.target.value),"result"===k&&(A("input"),F(null))},placeholder:j.customAgentDirPlaceholder,autoComplete:"off"}),"result"===k&&L?.exists&&(0,s.jsxs)("p",{className:"text-xs text-[var(--success)] mt-1 flex items-center gap-1",children:[(0,s.jsx)(a.A,{size:12}),j.customAgentDirFound]}),"result"===k&&L&&!L.exists&&!K&&(0,s.jsxs)("p",{className:"text-xs text-[var(--info,var(--muted-foreground))] mt-1 flex items-center gap-1",children:[(0,s.jsx)(l.A,{size:12}),j.customAgentDirNotFound]}),"result"===k&&K&&(0,s.jsxs)("p",{className:"text-xs text-[var(--amber)] mt-1 flex items-center gap-1",children:[(0,s.jsx)(i.A,{size:12}),j.customAgentDetectTimeout]})]}),"result"===k&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:`rounded-lg p-4 space-y-2 ${L?.exists?"border border-[var(--success)]/20 bg-[var(--success)]/5":"border border-border bg-muted/30"}`,children:[(0,s.jsx)("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:L?.exists?j.customAgentDetectedTitle:j.customAgentDefaultTitle}),(0,s.jsxs)("div",{className:"grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 text-sm",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:j.customAgentConfigLabel}),(0,s.jsx)("span",{className:"text-foreground font-mono text-xs truncate",children:O.global}),(0,s.jsx)("span",{className:"text-muted-foreground",children:j.customAgentFormatLabel}),(0,s.jsxs)("span",{className:"text-foreground",children:[O.format.toUpperCase()," \xb7 ",O.configKey]}),(0,s.jsx)("span",{className:"text-muted-foreground",children:j.customAgentTransportLabel}),(0,s.jsx)("span",{className:"text-foreground",children:O.preferredTransport}),L?.hasSkillsDir&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:j.customAgentSkillsLabel}),(0,s.jsx)("span",{className:"text-foreground",children:j.customAgentSkillsFound(0)})]})]})]}),(0,s.jsxs)("button",{type:"button",onClick:()=>P(e=>!e),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors duration-150 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",children:[M?(0,s.jsx)(d.A,{size:14}):(0,s.jsx)(c.A,{size:14}),j.customAgentCustomize]}),(0,s.jsx)("div",{className:"grid transition-[grid-template-rows] duration-200 ease-out",style:{gridTemplateRows:M?"1fr":"0fr"},children:(0,s.jsx)("div",{className:"overflow-hidden",children:(0,s.jsxs)("div",{className:"rounded-xl border border-border/50 bg-card/50 p-5 space-y-4",children:[(0,s.jsx)(x.D0,{label:j.customAgentConfigPath,children:(0,s.jsx)(x.pd,{value:O.global,onChange:e=>B("global",e.target.value),autoComplete:"off"})}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsx)(x.D0,{label:j.customAgentConfigKey,children:(0,s.jsx)(x.pd,{value:O.configKey,onChange:e=>B("configKey",e.target.value),autoComplete:"off"})}),(0,s.jsx)(x.D0,{label:j.customAgentFormat,children:(0,s.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,s.jsx)(b,{label:"JSON",checked:"json"===O.format,onChange:()=>B("format","json"),name:"format"}),(0,s.jsx)(b,{label:"TOML",checked:"toml"===O.format,onChange:()=>B("format","toml"),name:"format"})]})})]}),(0,s.jsx)(x.D0,{label:j.customAgentTransport,children:(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(b,{label:"stdio",checked:"stdio"===O.preferredTransport,onChange:()=>B("preferredTransport","stdio"),name:"transport"}),(0,s.jsx)(b,{label:"http",checked:"http"===O.preferredTransport,onChange:()=>B("preferredTransport","http"),name:"transport"})]})}),(0,s.jsx)(x.D0,{label:j.customAgentProjectConfig,children:(0,s.jsx)(x.pd,{value:O.project,onChange:e=>B("project",e.target.value),autoComplete:"off"})}),(0,s.jsx)(x.D0,{label:j.customAgentCliBinary,children:(0,s.jsx)(x.pd,{value:O.presenceCli,onChange:e=>B("presenceCli",e.target.value),placeholder:j.customAgentCliBinaryPlaceholder,autoComplete:"off"})})]})})})]}),D&&(0,s.jsxs)("div",{className:"rounded-lg border border-[var(--error)]/30 bg-[var(--error)]/5 p-3 flex items-start gap-2",children:[(0,s.jsx)(i.A,{size:14,className:"text-[var(--error)] mt-0.5 shrink-0"}),(0,s.jsx)("p",{className:"text-sm text-[var(--error)]",children:D})]})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 px-5 pb-5 pt-1",children:[(0,s.jsx)("button",{type:"button",onClick:t,className:"px-4 min-h-[36px] text-sm rounded-lg border border-border hover:bg-muted cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:j.customAgentCancel}),"input"===k?(0,s.jsx)("button",{type:"button",onClick:I,disabled:!H||w,className:"px-4 min-h-[36px] text-sm rounded-lg bg-[var(--amber)] text-[var(--amber-foreground)] hover:bg-[var(--amber)]/90 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring flex items-center gap-2",children:w?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.A,{size:14,className:"animate-spin"}),j.customAgentDetecting]}):(0,s.jsxs)(s.Fragment,{children:[j.customAgentContinue,(0,s.jsx)(c.A,{size:14})]})}):(0,s.jsx)("button",{type:"button",onClick:U,disabled:$,className:"px-4 min-h-[36px] text-sm rounded-lg bg-[var(--amber)] text-[var(--amber-foreground)] hover:bg-[var(--amber)]/90 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring flex items-center gap-2",children:$?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.A,{size:14,className:"animate-spin"}),C?j.customAgentSaving:j.customAgentAdding]}):D?j.customAgentRetry:C?j.customAgentSave:j.customAgentAdd})]})]})]})}function b({label:e,checked:t,onChange:r,name:n}){return(0,s.jsxs)("label",{className:`px-3 py-1.5 text-sm rounded-md border cursor-pointer transition-all duration-150 select-none ${t?"border-[var(--amber)]/40 bg-[var(--amber-dim)] text-foreground font-medium":"border-border bg-background text-muted-foreground hover:bg-muted"}`,children:[(0,s.jsx)("input",{type:"radio",name:n,checked:t,onChange:r,className:"sr-only"}),e]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8252],{4235:(e,r,t)=>{t.d(r,{B1:()=>s,X8:()=>l,dV:()=>d,oR:()=>c});let n=[],o=[],i=0;function a(){for(let e of o)e()}function s(e){return o=[...o,e],()=>{o=o.filter(r=>r!==e)}}function d(){return n}function l(e){n=n.filter(r=>r.id!==e),a()}function u(e){let r=`toast-${++i}`,t={id:r,message:e.message,type:e.type??"info",duration:e.duration??2e3,action:e.action};n=[...n,t].slice(-3),a(),t.duration>0&&setTimeout(()=>l(r),t.duration)}function c(e,r){u({message:e,...r})}c.success=(e,r)=>u({message:e,type:"success",duration:r}),c.undo=(e,r,t)=>u({message:e,type:"info",duration:t?.duration??5e3,action:{label:t?.label??"Undo",onClick:r}}),c.error=(e,r)=>u({message:e,type:"error",duration:r}),c.copy=(e="Copied")=>u({message:e,type:"success",duration:1500})},15631:(e,r,t)=>{t.d(r,{r:()=>o});var n=t(12115);function o(e,r=!0){(0,n.useEffect)(()=>{if(!r||!e.current)return;let t=r=>{if("Tab"!==r.key)return;let t=e.current?.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(!t||0===t.length)return;let n=t[0],o=t[t.length-1],i=document.activeElement;r.shiftKey?i===n&&(r.preventDefault(),o.focus()):i===o&&(r.preventDefault(),n.focus())},n=e.current;return n.addEventListener("keydown",t),()=>n.removeEventListener("keydown",t)},[e,r])}},39498:(e,r,t)=>{t.d(r,{BK:()=>y,DO:()=>c,KF:()=>l,Mv:()=>f,TM:()=>k,ZC:()=>h,lx:()=>p,md:()=>u,pp:()=>m,rA:()=>b});var n=t(95155),o=t(33210),i=t(6296),a=t(51914),s=t(12115),d=t(15631);function l({active:e,label:r,onClick:t}){return(0,n.jsx)("button",{type:"button",onClick:t,"aria-pressed":e,className:`relative px-2.5 min-h-[28px] rounded text-xs cursor-pointer transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${e?"bg-[var(--amber-dim)] text-[var(--amber-text)] font-medium shadow-[0_1px_2px_rgba(200,135,58,0.08)]":"text-muted-foreground hover:text-foreground hover:bg-muted/60"}`,children:r})}function u({tone:e,label:r,count:t}){return(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[(0,n.jsx)("span",{className:`w-2 h-2 rounded-full ${"ok"===e?"bg-[var(--success)]":"warn"===e?"bg-[var(--amber)]":"bg-muted-foreground/60"}`,"aria-hidden":"true"}),(0,n.jsx)("span",{className:"text-xs",children:r}),(0,n.jsx)("span",{className:`tabular-nums font-medium ${"ok"===e?"text-foreground":"warn"===e?"text-[var(--amber)]":"text-muted-foreground"}`,children:t})]})}function c({value:e,onChange:r,placeholder:t,ariaLabel:i,icon:a}){return(0,n.jsxs)("label",{className:"relative block group/search",children:[(0,n.jsx)(a,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground/60 group-focus-within/search:text-[var(--amber)] pointer-events-none transition-colors duration-150"}),(0,n.jsx)("input",{value:e,onChange:e=>r(e.target.value),placeholder:t,"aria-label":i,className:"w-full h-9 rounded-lg border border-border bg-background pl-9 pr-8 text-sm text-foreground placeholder:text-muted-foreground/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--amber)]/30 focus-visible:border-[var(--amber)]/40 transition-all duration-150"}),e.length>0&&(0,n.jsx)("button",{type:"button",onClick:()=>r(""),"aria-label":"Clear search",className:"absolute right-2.5 top-1/2 -translate-y-1/2 p-0.5 rounded-full text-muted-foreground hover:text-foreground hover:bg-muted cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors duration-150",children:(0,n.jsx)(o.A,{size:13})})]})}function b({onClick:e,disabled:r,busy:t,label:o,busyLabel:a,variant:s="default"}){return(0,n.jsxs)("button",{type:"button",onClick:e,disabled:r,"aria-busy":t,className:`inline-flex items-center justify-center gap-1.5 text-2xs min-h-[28px] px-2.5 rounded-md cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50 disabled:cursor-not-allowed transition-colors duration-150 ${{default:"border border-border hover:bg-muted",primary:"bg-[var(--amber)] text-background hover:bg-[var(--amber)]/90"}[s]}`,children:[t&&(0,n.jsx)(i.A,{size:12,className:"animate-spin","aria-hidden":"true"}),t?a??o:o]})}function f({message:e}){return e?(0,n.jsx)("span",{role:"status","aria-live":"polite",className:"text-2xs text-muted-foreground animate-in fade-in duration-200",children:e}):null}function m({message:e,icon:r,className:t}){return(0,n.jsxs)("div",{className:`rounded-xl border border-border/40 bg-card/30 p-10 text-center ${t??""}`,children:[r&&(0,n.jsx)("div",{className:"w-10 h-10 rounded-full bg-muted/50 flex items-center justify-center mx-auto mb-3 text-muted-foreground/40",children:r}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground/70 leading-relaxed max-w-xs mx-auto",children:e})]})}let x=[["bg-rose-100/70 dark:bg-rose-900/30","border-rose-300/50 dark:border-rose-700/40","text-rose-600/80 dark:text-rose-400/80"],["bg-violet-100/70 dark:bg-violet-900/30","border-violet-300/50 dark:border-violet-700/40","text-violet-600/80 dark:text-violet-400/80"],["bg-emerald-100/70 dark:bg-emerald-900/30","border-emerald-300/50 dark:border-emerald-700/40","text-emerald-600/80 dark:text-emerald-400/80"],["bg-sky-100/70 dark:bg-sky-900/30","border-sky-300/50 dark:border-sky-700/40","text-sky-600/80 dark:text-sky-400/80"],["bg-amber-100/70 dark:bg-amber-900/30","border-amber-300/50 dark:border-amber-700/40","text-amber-700/80 dark:text-amber-400/80"],["bg-teal-100/70 dark:bg-teal-900/30","border-teal-300/50 dark:border-teal-700/40","text-teal-600/80 dark:text-teal-400/80"],["bg-pink-100/70 dark:bg-pink-900/30","border-pink-300/50 dark:border-pink-700/40","text-pink-600/80 dark:text-pink-400/80"],["bg-indigo-100/70 dark:bg-indigo-900/30","border-indigo-300/50 dark:border-indigo-700/40","text-indigo-600/80 dark:text-indigo-400/80"],["bg-lime-100/70 dark:bg-lime-900/30","border-lime-300/50 dark:border-lime-700/40","text-lime-700/80 dark:text-lime-400/80"],["bg-fuchsia-100/70 dark:bg-fuchsia-900/30","border-fuchsia-300/50 dark:border-fuchsia-700/40","text-fuchsia-600/80 dark:text-fuchsia-400/80"],["bg-cyan-100/70 dark:bg-cyan-900/30","border-cyan-300/50 dark:border-cyan-700/40","text-cyan-600/80 dark:text-cyan-400/80"],["bg-orange-100/70 dark:bg-orange-900/30","border-orange-300/50 dark:border-orange-700/40","text-orange-600/80 dark:text-orange-400/80"]];function g(e){let r=0;for(let t=0;t<e.length;t++)r=31*r+e.charCodeAt(t)|0;return Math.abs(r)}function v(e){let r=e.split(/[\s\-_]+/).filter(Boolean);return r.length>=2?(r[0][0]+r[1][0]).toUpperCase():e.slice(0,2).toUpperCase()}function p({name:e,status:r,size:t="md",onRemove:i,href:a}){let[s,d,l]=x[g(e)%x.length],u="connected"===r?"bg-[var(--success)]":"detected"===r?"bg-[var(--amber)]":"bg-muted-foreground";return(0,n.jsxs)("div",{className:"relative group/avatar",title:e,children:[(0,n.jsx)("div",{className:`${"sm"===t?"w-7 h-7 text-[10px]":"w-9 h-9 text-xs"} ${s} ${d} ${l} border rounded-full flex items-center justify-center font-semibold select-none`,children:v(e)}),r&&(0,n.jsx)("span",{className:`absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 rounded-full border-2 border-card ${u}`,"aria-hidden":"true"}),i&&(0,n.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),i()},className:"absolute -top-1 -right-1 w-4 h-4 rounded-full bg-destructive text-white flex items-center justify-center opacity-0 scale-75 group-hover/avatar:opacity-100 group-hover/avatar:scale-100 transition-all duration-150 cursor-pointer focus-visible:opacity-100 focus-visible:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":`Remove ${e}`,children:(0,n.jsx)(o.A,{size:9})})]})}function h({onClick:e,label:r,size:t="md"}){return(0,n.jsx)("button",{type:"button",onClick:e,title:r,"aria-label":r,className:`${"sm"===t?"w-7 h-7":"w-9 h-9"} rounded-full border-2 border-dashed border-border flex items-center justify-center text-muted-foreground hover:text-foreground hover:border-foreground/30 hover:bg-muted cursor-pointer transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,n.jsx)(a.A,{size:14})})}function k({open:e,title:r,message:t,confirmLabel:o,cancelLabel:i,onConfirm:a,onCancel:l,variant:u="destructive"}){let c=(0,s.useRef)(null),b=(0,s.useRef)(null);return((0,d.r)(b,e),(0,s.useEffect)(()=>{e&&c.current?.focus()},[e]),(0,s.useEffect)(()=>{if(e)return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r);function r(e){"Escape"===e.key&&l()}},[e,l]),e)?(0,n.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",role:"alertdialog","aria-modal":"true","aria-labelledby":"confirm-dialog-title",children:[(0,n.jsx)("div",{className:"absolute inset-0 overlay-backdrop",onClick:l,"aria-hidden":"true"}),(0,n.jsxs)("div",{ref:b,className:"relative bg-card border border-border rounded-lg shadow-xl p-5 max-w-sm w-full mx-4 animate-in fade-in zoom-in-95 duration-200",children:[(0,n.jsx)("h3",{id:"confirm-dialog-title",className:"text-sm font-medium text-foreground mb-1.5",children:r}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground mb-4 leading-relaxed",children:t}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)("button",{ref:c,type:"button",onClick:l,className:"px-3 min-h-[32px] text-sm rounded-md border border-border hover:bg-muted cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors duration-150",children:i}),(0,n.jsx)("button",{type:"button",onClick:a,className:`px-3 min-h-[32px] text-sm rounded-md cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors duration-150 ${"destructive"===u?"bg-destructive text-destructive-foreground hover:bg-destructive/90":"bg-[var(--amber)] text-background hover:bg-[var(--amber)]/90"}`,children:o})]})]})]}):null}function y({open:e,agents:r,emptyLabel:t,onSelect:o,onClose:i}){let a=(0,s.useRef)(null);return((0,s.useEffect)(()=>{if(e)return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r);function r(e){a.current&&!a.current.contains(e.target)&&i()}},[e,i]),(0,s.useEffect)(()=>{if(e)return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r);function r(e){"Escape"===e.key&&i()}},[e,i]),e)?(0,n.jsx)("div",{ref:a,className:"absolute right-0 top-full mt-1 z-30 w-56 rounded-lg border border-border bg-card shadow-lg animate-in fade-in slide-in-from-top-1 duration-150",children:0===r.length?(0,n.jsx)("p",{className:"px-3 py-2.5 text-xs text-muted-foreground",children:t}):(0,n.jsx)("div",{className:"py-1 max-h-48 overflow-y-auto",children:r.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>o(e.key),className:"w-full text-left px-3 py-2 text-xs text-foreground hover:bg-muted cursor-pointer flex items-center gap-2 transition-colors duration-100",children:[(()=>{let[r,t,o]=x[g(e.name)%x.length];return(0,n.jsx)("div",{className:`w-6 h-6 rounded-full border ${r} ${t} ${o} flex items-center justify-center text-[9px] font-semibold shrink-0`,children:v(e.name)})})(),e.name]},e.key))})}):null}}}]);