agor-live 0.23.1 → 0.23.2

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 (469) hide show
  1. package/dist/core/claude/index.cjs +51 -27
  2. package/dist/core/claude/index.js +51 -27
  3. package/dist/core/claude-cli/index.cjs +13 -0
  4. package/dist/core/claude-cli/index.js +13 -0
  5. package/dist/core/claude-cli/pricing.d.ts.map +1 -1
  6. package/dist/core/client/index.cjs +17 -0
  7. package/dist/core/client/index.js +16 -0
  8. package/dist/core/db/index.cjs +618 -421
  9. package/dist/core/db/index.js +550 -353
  10. package/dist/core/db/repositories/boards.d.ts +27 -0
  11. package/dist/core/db/repositories/boards.d.ts.map +1 -1
  12. package/dist/core/db/repositories/branches.d.ts +11 -1
  13. package/dist/core/db/repositories/branches.d.ts.map +1 -1
  14. package/dist/core/db/repositories/gateway-channels.d.ts +9 -0
  15. package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
  16. package/dist/core/db/repositories/sessions.d.ts +7 -0
  17. package/dist/core/db/repositories/sessions.d.ts.map +1 -1
  18. package/dist/core/environment/render-snapshot.cjs +6 -2
  19. package/dist/core/environment/render-snapshot.d.ts +2 -0
  20. package/dist/core/environment/render-snapshot.d.ts.map +1 -1
  21. package/dist/core/environment/render-snapshot.js +6 -2
  22. package/dist/core/environment/variable-resolver.cjs +3 -1
  23. package/dist/core/environment/variable-resolver.js +3 -1
  24. package/dist/core/index.cjs +684 -486
  25. package/dist/core/index.js +684 -486
  26. package/dist/core/lib/feathers-validation.cjs +3 -0
  27. package/dist/core/lib/feathers-validation.d.ts +1 -0
  28. package/dist/core/lib/feathers-validation.d.ts.map +1 -1
  29. package/dist/core/lib/feathers-validation.js +3 -0
  30. package/dist/core/local-actions/index.cjs +123 -56
  31. package/dist/core/local-actions/index.js +121 -54
  32. package/dist/core/mcp/index.cjs +21 -3
  33. package/dist/core/mcp/index.d.ts +1 -1
  34. package/dist/core/mcp/index.d.ts.map +1 -1
  35. package/dist/core/mcp/index.js +18 -3
  36. package/dist/core/mcp/template-patterns.d.ts +15 -0
  37. package/dist/core/mcp/template-patterns.d.ts.map +1 -0
  38. package/dist/core/mcp/template-resolver.d.ts +13 -0
  39. package/dist/core/mcp/template-resolver.d.ts.map +1 -1
  40. package/dist/core/models/browser.cjs +6 -0
  41. package/dist/core/models/browser.js +6 -0
  42. package/dist/core/models/claude.d.ts.map +1 -1
  43. package/dist/core/models/index.cjs +6 -0
  44. package/dist/core/models/index.js +6 -0
  45. package/dist/core/seed/index.cjs +360 -216
  46. package/dist/core/seed/index.js +329 -185
  47. package/dist/core/templates/handlebars-helpers.cjs +3 -1
  48. package/dist/core/templates/handlebars-helpers.d.ts +5 -0
  49. package/dist/core/templates/handlebars-helpers.d.ts.map +1 -1
  50. package/dist/core/templates/handlebars-helpers.js +3 -1
  51. package/dist/core/tools/mcp/auth-secrets.cjs +3460 -3
  52. package/dist/core/tools/mcp/auth-secrets.d.ts.map +1 -1
  53. package/dist/core/tools/mcp/auth-secrets.js +3477 -3
  54. package/dist/core/tools/mcp/http-headers.cjs +17 -1
  55. package/dist/core/tools/mcp/http-headers.d.ts.map +1 -1
  56. package/dist/core/tools/mcp/http-headers.js +15 -1
  57. package/dist/core/tools/mcp/oauth-refresh.cjs +67 -43
  58. package/dist/core/tools/mcp/oauth-refresh.js +65 -41
  59. package/dist/core/types/board.d.ts +12 -0
  60. package/dist/core/types/board.d.ts.map +1 -1
  61. package/dist/core/types/gateway.d.ts +14 -0
  62. package/dist/core/types/gateway.d.ts.map +1 -1
  63. package/dist/core/types/index.cjs +17 -0
  64. package/dist/core/types/index.js +16 -0
  65. package/dist/core/unix/index.cjs +67 -0
  66. package/dist/core/unix/index.js +67 -0
  67. package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
  68. package/dist/daemon/auth/executor-runtime-scope.js +19 -5
  69. package/dist/daemon/auth/executor-session-token.d.ts +15 -0
  70. package/dist/daemon/auth/executor-session-token.d.ts.map +1 -0
  71. package/dist/daemon/auth/executor-session-token.js +17 -0
  72. package/dist/daemon/auth/issue-browser-tokens-hook.d.ts +24 -0
  73. package/dist/daemon/auth/issue-browser-tokens-hook.d.ts.map +1 -0
  74. package/dist/daemon/auth/issue-browser-tokens-hook.js +95 -0
  75. package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
  76. package/dist/daemon/auth/service-jwt-strategy.js +14 -2
  77. package/dist/daemon/declarations.d.ts +1 -0
  78. package/dist/daemon/declarations.d.ts.map +1 -1
  79. package/dist/daemon/index.js +1365 -418
  80. package/dist/daemon/main.js +1365 -418
  81. package/dist/daemon/mcp/server.js +294 -31
  82. package/dist/daemon/mcp/tools/analytics.js +73 -24
  83. package/dist/daemon/mcp/tools/artifacts.js +73 -24
  84. package/dist/daemon/mcp/tools/boards.js +73 -24
  85. package/dist/daemon/mcp/tools/branches.js +73 -24
  86. package/dist/daemon/mcp/tools/card-types.js +73 -24
  87. package/dist/daemon/mcp/tools/cards.js +73 -24
  88. package/dist/daemon/mcp/tools/environment.js +73 -24
  89. package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -1
  90. package/dist/daemon/mcp/tools/gateway-channels.js +190 -38
  91. package/dist/daemon/mcp/tools/knowledge.js +73 -24
  92. package/dist/daemon/mcp/tools/mcp-servers.js +73 -24
  93. package/dist/daemon/mcp/tools/messages.js +73 -24
  94. package/dist/daemon/mcp/tools/proxies.js +73 -24
  95. package/dist/daemon/mcp/tools/repos.js +73 -24
  96. package/dist/daemon/mcp/tools/schedules.js +73 -24
  97. package/dist/daemon/mcp/tools/search.js +73 -24
  98. package/dist/daemon/mcp/tools/sessions.js +73 -24
  99. package/dist/daemon/mcp/tools/tasks.js +73 -24
  100. package/dist/daemon/mcp/tools/users.js +76 -27
  101. package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
  102. package/dist/daemon/mcp/tools/widgets.js +257 -99
  103. package/dist/daemon/oauth-auth-helpers.d.ts +35 -0
  104. package/dist/daemon/oauth-auth-helpers.d.ts.map +1 -0
  105. package/dist/daemon/oauth-auth-helpers.js +14 -0
  106. package/dist/daemon/register-hooks.d.ts +1 -0
  107. package/dist/daemon/register-hooks.d.ts.map +1 -1
  108. package/dist/daemon/register-hooks.js +304 -53
  109. package/dist/daemon/register-routes.d.ts.map +1 -1
  110. package/dist/daemon/register-routes.js +738 -288
  111. package/dist/daemon/register-services.d.ts.map +1 -1
  112. package/dist/daemon/register-services.js +386 -155
  113. package/dist/daemon/services/boards.d.ts +5 -0
  114. package/dist/daemon/services/boards.d.ts.map +1 -1
  115. package/dist/daemon/services/boards.js +7 -0
  116. package/dist/daemon/services/branches.d.ts.map +1 -1
  117. package/dist/daemon/services/branches.js +31 -2
  118. package/dist/daemon/services/claude-models.d.ts.map +1 -1
  119. package/dist/daemon/services/claude-models.js +4 -1
  120. package/dist/daemon/services/gateway.d.ts +15 -0
  121. package/dist/daemon/services/gateway.d.ts.map +1 -1
  122. package/dist/daemon/services/gateway.js +34 -0
  123. package/dist/daemon/services/health-monitor.d.ts.map +1 -1
  124. package/dist/daemon/services/health-monitor.js +10 -7
  125. package/dist/daemon/services/session-streams.d.ts +29 -0
  126. package/dist/daemon/services/session-streams.d.ts.map +1 -0
  127. package/dist/daemon/services/session-streams.js +84 -0
  128. package/dist/daemon/services/session-token-service.d.ts.map +1 -1
  129. package/dist/daemon/services/session-token-service.js +8 -4
  130. package/dist/daemon/setup/index.js +43 -11
  131. package/dist/daemon/setup/socketio.d.ts.map +1 -1
  132. package/dist/daemon/setup/socketio.js +43 -11
  133. package/dist/daemon/startup.d.ts.map +1 -1
  134. package/dist/daemon/startup.js +37 -16
  135. package/dist/daemon/utils/authorization.js +19 -5
  136. package/dist/daemon/utils/emit-service-event.d.ts +56 -0
  137. package/dist/daemon/utils/emit-service-event.d.ts.map +1 -0
  138. package/dist/daemon/utils/emit-service-event.js +23 -0
  139. package/dist/daemon/utils/mcp-header-secrets.d.ts +3 -5
  140. package/dist/daemon/utils/mcp-header-secrets.d.ts.map +1 -1
  141. package/dist/daemon/utils/mcp-header-secrets.js +31 -2
  142. package/dist/daemon/utils/realtime-access-cache.d.ts +9 -0
  143. package/dist/daemon/utils/realtime-access-cache.d.ts.map +1 -1
  144. package/dist/daemon/utils/realtime-access-cache.js +24 -0
  145. package/dist/daemon/utils/realtime-publish.d.ts +24 -0
  146. package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
  147. package/dist/daemon/utils/realtime-publish.js +120 -2
  148. package/dist/daemon/utils/session-queue-tenant-scope.d.ts +24 -0
  149. package/dist/daemon/utils/session-queue-tenant-scope.d.ts.map +1 -0
  150. package/dist/daemon/utils/session-queue-tenant-scope.js +133 -0
  151. package/dist/daemon/widgets/gateway-token/index.d.ts +114 -0
  152. package/dist/daemon/widgets/gateway-token/index.d.ts.map +1 -0
  153. package/dist/daemon/widgets/gateway-token/index.js +14711 -0
  154. package/dist/daemon/widgets/index.d.ts.map +1 -1
  155. package/dist/daemon/widgets/index.js +190 -16
  156. package/dist/daemon/widgets/registry.d.ts +7 -0
  157. package/dist/daemon/widgets/registry.d.ts.map +1 -1
  158. package/dist/daemon/widgets/submissions.js +12 -9
  159. package/dist/executor/commands/git.d.ts.map +1 -1
  160. package/dist/executor/commands/git.js +2 -0
  161. package/dist/executor/db/feathers-repositories.d.ts +19 -1
  162. package/dist/executor/db/feathers-repositories.d.ts.map +1 -1
  163. package/dist/executor/db/feathers-repositories.js +31 -1
  164. package/dist/executor/handlers/sdk/claude.d.ts.map +1 -1
  165. package/dist/executor/handlers/sdk/claude.js +1 -1
  166. package/dist/executor/handlers/sdk/codex.d.ts.map +1 -1
  167. package/dist/executor/handlers/sdk/codex.js +1 -1
  168. package/dist/executor/handlers/sdk/copilot.d.ts.map +1 -1
  169. package/dist/executor/handlers/sdk/copilot.js +1 -1
  170. package/dist/executor/handlers/sdk/cursor.d.ts.map +1 -1
  171. package/dist/executor/handlers/sdk/cursor.js +1 -0
  172. package/dist/executor/handlers/sdk/gemini.d.ts.map +1 -1
  173. package/dist/executor/handlers/sdk/gemini.js +1 -1
  174. package/dist/executor/handlers/sdk/opencode.d.ts.map +1 -1
  175. package/dist/executor/handlers/sdk/opencode.js +1 -1
  176. package/dist/executor/payload-types.d.ts +5 -5
  177. package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts +8 -1
  178. package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
  179. package/dist/executor/sdk-handlers/base/mcp-scoping.js +58 -6
  180. package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +2 -2
  181. package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
  182. package/dist/executor/sdk-handlers/claude/claude-tool.js +2 -2
  183. package/dist/executor/sdk-handlers/claude/prompt-service.d.ts +13 -3
  184. package/dist/executor/sdk-handlers/claude/prompt-service.d.ts.map +1 -1
  185. package/dist/executor/sdk-handlers/claude/prompt-service.js +16 -3
  186. package/dist/executor/sdk-handlers/claude/query-builder.d.ts +2 -1
  187. package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
  188. package/dist/executor/sdk-handlers/claude/query-builder.js +2 -1
  189. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +2 -2
  190. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
  191. package/dist/executor/sdk-handlers/codex/codex-tool.js +2 -2
  192. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +3 -2
  193. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
  194. package/dist/executor/sdk-handlers/codex/prompt-service.js +70 -6
  195. package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts +2 -2
  196. package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts.map +1 -1
  197. package/dist/executor/sdk-handlers/copilot/copilot-tool.js +2 -2
  198. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts +3 -2
  199. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
  200. package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -1
  201. package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +2 -2
  202. package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +1 -1
  203. package/dist/executor/sdk-handlers/gemini/gemini-tool.js +2 -2
  204. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +3 -2
  205. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
  206. package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -1
  207. package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts +3 -2
  208. package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts.map +1 -1
  209. package/dist/executor/sdk-handlers/opencode/opencode-tool.js +4 -1
  210. package/dist/executor/services/feathers-client.d.ts.map +1 -1
  211. package/dist/executor/services/feathers-client.js +119 -20
  212. package/dist/ui/assets/AgorEmojiPickerInner-leeNywMc.js +1 -0
  213. package/dist/ui/assets/App-Dpl4Cc0U.js +4 -0
  214. package/dist/ui/assets/App-Dpl4Cc0U.js.gz +0 -0
  215. package/dist/ui/assets/AppNode-wN3UZlFK.js +1 -0
  216. package/dist/ui/assets/AppNode-wN3UZlFK.js.gz +0 -0
  217. package/dist/ui/assets/{ArtifactConsentModal-oMMzRn8L.js → ArtifactConsentModal-DjzXcP_L.js} +1 -1
  218. package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js.gz +0 -0
  219. package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js +9 -0
  220. package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js.gz +0 -0
  221. package/dist/ui/assets/ArtifactNode-DISy2T-6.js +9 -0
  222. package/dist/ui/assets/ArtifactNode-DISy2T-6.js.gz +0 -0
  223. package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js +19 -0
  224. package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js.gz +0 -0
  225. package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js +34 -0
  226. package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js.gz +0 -0
  227. package/dist/ui/assets/{CodeEditor.inner-Cuj6RuLL.js → CodeEditor.inner-HmSdTLW5.js} +1 -1
  228. package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js.gz +0 -0
  229. package/dist/ui/assets/ConversationView-mWaA-B1f.js +1 -0
  230. package/dist/ui/assets/ConversationView-mWaA-B1f.js.gz +0 -0
  231. package/dist/ui/assets/{EmbeddedTerminal-Lx5I9EOJ.js → EmbeddedTerminal-NNoyPA81.js} +1 -1
  232. package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js.gz +0 -0
  233. package/dist/ui/assets/KnowledgePage-CkxVnRvz.js +24 -0
  234. package/dist/ui/assets/KnowledgePage-CkxVnRvz.js.gz +0 -0
  235. package/dist/ui/assets/{MarketingScreenshotPage-CmDPBHOl.js → MarketingScreenshotPage-B86Gs8jx.js} +2 -2
  236. package/dist/ui/assets/MarketingScreenshotPage-B86Gs8jx.js.gz +0 -0
  237. package/dist/ui/assets/MobileApp-BPs-SXvz.js +1 -0
  238. package/dist/ui/assets/MobileApp-BPs-SXvz.js.gz +0 -0
  239. package/dist/ui/assets/SessionCanvas-xVfDoEtz.js +13 -0
  240. package/dist/ui/assets/SessionCanvas-xVfDoEtz.js.gz +0 -0
  241. package/dist/ui/assets/{StreamdownDemoPage-okKKR2QH.js → StreamdownDemoPage-CvWLzVsv.js} +2 -2
  242. package/dist/ui/assets/StreamdownDemoPage-CvWLzVsv.js.gz +0 -0
  243. package/dist/ui/assets/{TerminalModal-D9jMGZXv.js → TerminalModal-ExOgsuOP.js} +2 -2
  244. package/dist/ui/assets/TerminalModal-ExOgsuOP.js.gz +0 -0
  245. package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js +1 -0
  246. package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js.gz +0 -0
  247. package/dist/ui/assets/{ThemedSyntaxHighlighter.inner-C1FdIHn0.js → ThemedSyntaxHighlighter.inner-rpCN9S6K.js} +1 -1
  248. package/dist/ui/assets/{antd-DT5ackd0.js → antd-BCqimh1J.js} +5 -5
  249. package/dist/ui/assets/{antd-DT5ackd0.js.gz → antd-BCqimh1J.js.gz} +0 -0
  250. package/dist/ui/assets/architecture-U656AL7Q-BxSQIjrE.js +1 -0
  251. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-DwTJGGoj.js → architectureDiagram-VXUJARFQ-pDpGHSqT.js} +1 -1
  252. package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js.gz +0 -0
  253. package/dist/ui/assets/{blockDiagram-VD42YOAC-Dh1_TVW2.js → blockDiagram-VD42YOAC-uP8JTJpK.js} +1 -1
  254. package/dist/ui/assets/blockDiagram-VD42YOAC-uP8JTJpK.js.gz +0 -0
  255. package/dist/ui/assets/{c4Diagram-YG6GDRKO-B1e96AcB.js → c4Diagram-YG6GDRKO-qQe72Mm7.js} +1 -1
  256. package/dist/ui/assets/c4Diagram-YG6GDRKO-qQe72Mm7.js.gz +0 -0
  257. package/dist/ui/assets/channel-CoUBs6Zn.js +1 -0
  258. package/dist/ui/assets/{chunk-4BX2VUAB-BODpCjJx.js → chunk-4BX2VUAB-sz-YE8Nt.js} +1 -1
  259. package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js +3 -0
  260. package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js.gz +0 -0
  261. package/dist/ui/assets/chunk-55IACEB6-BS04dgKF.js +1 -0
  262. package/dist/ui/assets/{chunk-ABZYJK2D-DCTXWSzV.js → chunk-ABZYJK2D-t3Gkphds.js} +3 -3
  263. package/dist/ui/assets/chunk-ABZYJK2D-t3Gkphds.js.gz +0 -0
  264. package/dist/ui/assets/{chunk-AGHRB4JF-CbNphBjE.js → chunk-AGHRB4JF-D_QmWxbY.js} +1 -1
  265. package/dist/ui/assets/chunk-AGHRB4JF-D_QmWxbY.js.gz +0 -0
  266. package/dist/ui/assets/{chunk-ATLVNIR6-rWg3qxof.js → chunk-ATLVNIR6-Bmg7-Ufz.js} +1 -1
  267. package/dist/ui/assets/chunk-ATLVNIR6-Bmg7-Ufz.js.gz +0 -0
  268. package/dist/ui/assets/{chunk-B4BG7PRW-CgtLCbpE.js → chunk-B4BG7PRW-dnSEE1u-.js} +1 -1
  269. package/dist/ui/assets/chunk-B4BG7PRW-dnSEE1u-.js.gz +0 -0
  270. package/dist/ui/assets/{chunk-CVBHYZKI-DTL6Zgr0.js → chunk-CVBHYZKI-BStaYnF0.js} +1 -1
  271. package/dist/ui/assets/{chunk-DI55MBZ5-Dwvx2Kva.js → chunk-DI55MBZ5-28dvx6o3.js} +1 -1
  272. package/dist/ui/assets/chunk-DI55MBZ5-28dvx6o3.js.gz +0 -0
  273. package/dist/ui/assets/chunk-EXTU4WIE-X-FURkEh.js +1 -0
  274. package/dist/ui/assets/{chunk-FMBD7UC4-BogA_9CV.js → chunk-FMBD7UC4-C_63gC9S.js} +1 -1
  275. package/dist/ui/assets/{chunk-HN2XXSSU-2blQO3Gb.js → chunk-HN2XXSSU-UFD374KI.js} +1 -1
  276. package/dist/ui/assets/chunk-HN2XXSSU-UFD374KI.js.gz +0 -0
  277. package/dist/ui/assets/{chunk-JA3XYJ7Z-Cr1rmOui.js → chunk-JA3XYJ7Z-B60hLNeR.js} +1 -1
  278. package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js.gz +0 -0
  279. package/dist/ui/assets/{chunk-JZLCHNYA-BsgZ79Fa.js → chunk-JZLCHNYA-ButC6pwN.js} +1 -1
  280. package/dist/ui/assets/chunk-JZLCHNYA-ButC6pwN.js.gz +0 -0
  281. package/dist/ui/assets/{chunk-MI3HLSF2-dwYeUy5S.js → chunk-MI3HLSF2-BivYzoSV.js} +1 -1
  282. package/dist/ui/assets/chunk-MI3HLSF2-BivYzoSV.js.gz +0 -0
  283. package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js +2 -0
  284. package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js.gz +0 -0
  285. package/dist/ui/assets/{chunk-QN33PNHL-DxdIDCAa.js → chunk-QN33PNHL-tXtHZpaG.js} +1 -1
  286. package/dist/ui/assets/{chunk-QXUST7PY-BCK2V0i-.js → chunk-QXUST7PY-DATib_Vv.js} +1 -1
  287. package/dist/ui/assets/chunk-QXUST7PY-DATib_Vv.js.gz +0 -0
  288. package/dist/ui/assets/chunk-QZHKN3VN-y6l249e5.js +1 -0
  289. package/dist/ui/assets/{chunk-S3R3BYOJ-GP3zIxrB.js → chunk-S3R3BYOJ-BEtfmflI.js} +1 -1
  290. package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js.gz +0 -0
  291. package/dist/ui/assets/{chunk-TZMSLE5B-dX5RaM6g.js → chunk-TZMSLE5B-BY1ZtogK.js} +1 -1
  292. package/dist/ui/assets/chunk-TZMSLE5B-BY1ZtogK.js.gz +0 -0
  293. package/dist/ui/assets/classDiagram-2ON5EDUG-BYvq-uPY.js +1 -0
  294. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BYvq-uPY.js +1 -0
  295. package/dist/ui/assets/constants-CYzQKfD1.js +1 -0
  296. package/dist/ui/assets/{cose-bilkent-S5V4N54A-Dx0BJVDl.js → cose-bilkent-S5V4N54A-DPvYrqGG.js} +1 -1
  297. package/dist/ui/assets/cose-bilkent-S5V4N54A-DPvYrqGG.js.gz +0 -0
  298. package/dist/ui/assets/{dagre-6UL2VRFP-DiQSUxqN.js → dagre-6UL2VRFP-D800J6qb.js} +1 -1
  299. package/dist/ui/assets/dagre-6UL2VRFP-D800J6qb.js.gz +0 -0
  300. package/dist/ui/assets/{dagre-Bekd9Vdj.js → dagre-TNc4wezg.js} +1 -1
  301. package/dist/ui/assets/dagre-TNc4wezg.js.gz +0 -0
  302. package/dist/ui/assets/{diagram-PSM6KHXK-DtJnDQjc.js → diagram-PSM6KHXK-CGdP9F-X.js} +1 -1
  303. package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js.gz +0 -0
  304. package/dist/ui/assets/{diagram-QEK2KX5R-CobkCRdj.js → diagram-QEK2KX5R-BD5lOCe5.js} +1 -1
  305. package/dist/ui/assets/diagram-QEK2KX5R-BD5lOCe5.js.gz +0 -0
  306. package/dist/ui/assets/{diagram-S2PKOQOG-DHEZYivc.js → diagram-S2PKOQOG-cp3l22vN.js} +1 -1
  307. package/dist/ui/assets/diagram-S2PKOQOG-cp3l22vN.js.gz +0 -0
  308. package/dist/ui/assets/editor-Cr0W5BQI.js +39 -0
  309. package/dist/ui/assets/editor-Cr0W5BQI.js.gz +0 -0
  310. package/dist/ui/assets/{emoji-B0hLmSLZ.js → emoji-Bv3m24sO.js} +1 -1
  311. package/dist/ui/assets/emoji-Bv3m24sO.js.gz +0 -0
  312. package/dist/ui/assets/{erDiagram-Q2GNP2WA-BVNeTZPQ.js → erDiagram-Q2GNP2WA-CQSXRgqr.js} +1 -1
  313. package/dist/ui/assets/erDiagram-Q2GNP2WA-CQSXRgqr.js.gz +0 -0
  314. package/dist/ui/assets/{flowDiagram-NV44I4VS-C73VFdyk.js → flowDiagram-NV44I4VS-CKcKpkph.js} +1 -1
  315. package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js.gz +0 -0
  316. package/dist/ui/assets/{ganttDiagram-LVOFAZNH-B_RosuD1.js → ganttDiagram-LVOFAZNH-DlAHzXO5.js} +1 -1
  317. package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js.gz +0 -0
  318. package/dist/ui/assets/{gitGraph-F6HP7TQM-DMFIqn4h.js → gitGraph-F6HP7TQM-DeuXy4B1.js} +1 -1
  319. package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-hxbgwNA1.js → gitGraphDiagram-NY62KEGX-aB-AI4Vq.js} +1 -1
  320. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js.gz +0 -0
  321. package/dist/ui/assets/index-B-qHc0o5.js +63 -0
  322. package/dist/ui/assets/index-B-qHc0o5.js.gz +0 -0
  323. package/dist/ui/assets/{info-NVLQJR56-DZ3K-w48.js → info-NVLQJR56-B9PG7xsc.js} +1 -1
  324. package/dist/ui/assets/{infoDiagram-ER5ION4S-CxnBJQu6.js → infoDiagram-ER5ION4S-C5Wpoqim.js} +1 -1
  325. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CHYNj-f8.js → journeyDiagram-XKPGCS4Q-CHLziqfS.js} +1 -1
  326. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHLziqfS.js.gz +0 -0
  327. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-DQPCCsj2.js → kanban-definition-3W4ZIXB7-Dq7GzQE_.js} +1 -1
  328. package/dist/ui/assets/kanban-definition-3W4ZIXB7-Dq7GzQE_.js.gz +0 -0
  329. package/dist/ui/assets/{line-DBRjKmfa.js → line-DHKNg83I.js} +1 -1
  330. package/dist/ui/assets/{linear-DFao5Wyp.js → linear-BvUfn0I8.js} +1 -1
  331. package/dist/ui/assets/linear-BvUfn0I8.js.gz +0 -0
  332. package/dist/ui/assets/{mermaid-parser.core-DYCfacHj.js → mermaid-parser.core-C6d9tKoo.js} +2 -2
  333. package/dist/ui/assets/mermaid-parser.core-C6d9tKoo.js.gz +0 -0
  334. package/dist/ui/assets/{mermaid.core-C6xGFSdE.js → mermaid.core-CxE5KezR.js} +3 -3
  335. package/dist/ui/assets/mermaid.core-CxE5KezR.js.gz +0 -0
  336. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-L3Pw-YM7.js → mindmap-definition-VGOIOE7T-DmPoQ48w.js} +1 -1
  337. package/dist/ui/assets/mindmap-definition-VGOIOE7T-DmPoQ48w.js.gz +0 -0
  338. package/dist/ui/assets/{packet-BFZMPI3H-CpL6iNoa.js → packet-BFZMPI3H-JZEkVZxU.js} +1 -1
  339. package/dist/ui/assets/{particles-CT8hcJOA.js → particles-CxMmUw86.js} +1 -1
  340. package/dist/ui/assets/particles-CxMmUw86.js.gz +0 -0
  341. package/dist/ui/assets/{pie-7BOR55EZ-hTqChbTo.js → pie-7BOR55EZ-_1II5pYQ.js} +1 -1
  342. package/dist/ui/assets/{pieDiagram-ADFJNKIX-Bf4Nou75.js → pieDiagram-ADFJNKIX-DrNkH33i.js} +1 -1
  343. package/dist/ui/assets/pieDiagram-ADFJNKIX-DrNkH33i.js.gz +0 -0
  344. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-DpjUTLB1.js → quadrantDiagram-AYHSOK5B-DOpC-HEF.js} +1 -1
  345. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DOpC-HEF.js.gz +0 -0
  346. package/dist/ui/assets/{radar-NHE76QYJ-myy7OENC.js → radar-NHE76QYJ-DDmqhzEZ.js} +1 -1
  347. package/dist/ui/assets/{reactflow-Cubtnk8i.js → reactflow-D98uPOMq.js} +1 -1
  348. package/dist/ui/assets/reactflow-D98uPOMq.js.gz +0 -0
  349. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-Bfrfh-0-.js → requirementDiagram-UZGBJVZJ-Bzx0iEPP.js} +1 -1
  350. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bzx0iEPP.js.gz +0 -0
  351. package/dist/ui/assets/{sandpack-C58bwfIS.js → sandpack-059Z4UWP.js} +1 -1
  352. package/dist/ui/assets/sandpack-059Z4UWP.js.gz +0 -0
  353. package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js +1 -0
  354. package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js.gz +0 -0
  355. package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-ClZAZ6va.js → sankeyDiagram-TZEHDZUN-Do9pvfDv.js} +1 -1
  356. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js.gz +0 -0
  357. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-CNgly63p.js → sequenceDiagram-WL72ISMW-CN8neUTA.js} +1 -1
  358. package/dist/ui/assets/sequenceDiagram-WL72ISMW-CN8neUTA.js.gz +0 -0
  359. package/dist/ui/assets/{src-DAeyG22O.js → src-DEbsv3pp.js} +2 -2
  360. package/dist/ui/assets/src-DEbsv3pp.js.gz +0 -0
  361. package/dist/ui/assets/{stateDiagram-FKZM4ZOC-BrEAoDpE.js → stateDiagram-FKZM4ZOC-BluWJi8n.js} +1 -1
  362. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js.gz +0 -0
  363. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DeyqBMDR.js +1 -0
  364. package/dist/ui/assets/{streamdown-BdAVfkeF.js → streamdown-BT1twtFc.js} +5 -5
  365. package/dist/ui/assets/streamdown-BT1twtFc.js.gz +0 -0
  366. package/dist/ui/assets/{syntax-BOfTnQiy.js → syntax-CBu6nLfm.js} +1 -1
  367. package/dist/ui/assets/syntax-CBu6nLfm.js.gz +0 -0
  368. package/dist/ui/assets/{timeline-definition-IT6M3QCI-CaRH3k4l.js → timeline-definition-IT6M3QCI-WdUNkiRj.js} +1 -1
  369. package/dist/ui/assets/timeline-definition-IT6M3QCI-WdUNkiRj.js.gz +0 -0
  370. package/dist/ui/assets/{treemap-KMMF4GRG-CUaLOV_B.js → treemap-KMMF4GRG-CoriU4Jl.js} +1 -1
  371. package/dist/ui/assets/{useUserLocalStorage-C8sgXgXR.js → useUserLocalStorage-GidNiOPC.js} +1 -1
  372. package/dist/ui/assets/useUserLocalStorage-GidNiOPC.js.gz +0 -0
  373. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-BlhkI9T_.js → xychartDiagram-PRI3JC2R-CgBAKNt2.js} +1 -1
  374. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CgBAKNt2.js.gz +0 -0
  375. package/dist/ui/index.html +9 -8
  376. package/dist/ui/index.html.gz +0 -0
  377. package/package.json +2 -2
  378. package/dist/ui/assets/AgorEmojiPickerInner-DQjr8M3_.js +0 -1
  379. package/dist/ui/assets/App-hJtcOxHv.js +0 -5
  380. package/dist/ui/assets/App-hJtcOxHv.js.gz +0 -0
  381. package/dist/ui/assets/AppNode-BhuMpn8O.js +0 -1
  382. package/dist/ui/assets/AppNode-BhuMpn8O.js.gz +0 -0
  383. package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js.gz +0 -0
  384. package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js +0 -9
  385. package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js.gz +0 -0
  386. package/dist/ui/assets/ArtifactNode-BzQcrwFS.js +0 -9
  387. package/dist/ui/assets/ArtifactNode-BzQcrwFS.js.gz +0 -0
  388. package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js +0 -19
  389. package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js.gz +0 -0
  390. package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js +0 -34
  391. package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js.gz +0 -0
  392. package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js.gz +0 -0
  393. package/dist/ui/assets/ConversationView-9-3ma1u-.js +0 -1
  394. package/dist/ui/assets/ConversationView-9-3ma1u-.js.gz +0 -0
  395. package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js.gz +0 -0
  396. package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js +0 -24
  397. package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js.gz +0 -0
  398. package/dist/ui/assets/MarketingScreenshotPage-CmDPBHOl.js.gz +0 -0
  399. package/dist/ui/assets/MobileApp-BpgSG_gz.js +0 -1
  400. package/dist/ui/assets/MobileApp-BpgSG_gz.js.gz +0 -0
  401. package/dist/ui/assets/SessionCanvas-B6_mtlxK.js +0 -13
  402. package/dist/ui/assets/SessionCanvas-B6_mtlxK.js.gz +0 -0
  403. package/dist/ui/assets/StreamdownDemoPage-okKKR2QH.js.gz +0 -0
  404. package/dist/ui/assets/TerminalModal-D9jMGZXv.js.gz +0 -0
  405. package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js +0 -1
  406. package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js.gz +0 -0
  407. package/dist/ui/assets/architecture-U656AL7Q-DMnxkQRZ.js +0 -1
  408. package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js.gz +0 -0
  409. package/dist/ui/assets/blockDiagram-VD42YOAC-Dh1_TVW2.js.gz +0 -0
  410. package/dist/ui/assets/c4Diagram-YG6GDRKO-B1e96AcB.js.gz +0 -0
  411. package/dist/ui/assets/channel-Jv4dT4S5.js +0 -1
  412. package/dist/ui/assets/chunk-55IACEB6-lJXvUquf.js +0 -1
  413. package/dist/ui/assets/chunk-ABZYJK2D-DCTXWSzV.js.gz +0 -0
  414. package/dist/ui/assets/chunk-AGHRB4JF-CbNphBjE.js.gz +0 -0
  415. package/dist/ui/assets/chunk-ATLVNIR6-rWg3qxof.js.gz +0 -0
  416. package/dist/ui/assets/chunk-B4BG7PRW-CgtLCbpE.js.gz +0 -0
  417. package/dist/ui/assets/chunk-DI55MBZ5-Dwvx2Kva.js.gz +0 -0
  418. package/dist/ui/assets/chunk-EXTU4WIE-DHyaqTsP.js +0 -1
  419. package/dist/ui/assets/chunk-HN2XXSSU-2blQO3Gb.js.gz +0 -0
  420. package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js.gz +0 -0
  421. package/dist/ui/assets/chunk-JZLCHNYA-BsgZ79Fa.js.gz +0 -0
  422. package/dist/ui/assets/chunk-MI3HLSF2-dwYeUy5S.js.gz +0 -0
  423. package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js +0 -2
  424. package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js.gz +0 -0
  425. package/dist/ui/assets/chunk-QXUST7PY-BCK2V0i-.js.gz +0 -0
  426. package/dist/ui/assets/chunk-QZHKN3VN-CALjGrEE.js +0 -1
  427. package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js.gz +0 -0
  428. package/dist/ui/assets/chunk-TZMSLE5B-dX5RaM6g.js.gz +0 -0
  429. package/dist/ui/assets/classDiagram-2ON5EDUG-C3_RVP70.js +0 -1
  430. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-C3_RVP70.js +0 -1
  431. package/dist/ui/assets/constants-GjIDNVyt.js +0 -1
  432. package/dist/ui/assets/cose-bilkent-S5V4N54A-Dx0BJVDl.js.gz +0 -0
  433. package/dist/ui/assets/dagre-6UL2VRFP-DiQSUxqN.js.gz +0 -0
  434. package/dist/ui/assets/dagre-Bekd9Vdj.js.gz +0 -0
  435. package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js.gz +0 -0
  436. package/dist/ui/assets/diagram-QEK2KX5R-CobkCRdj.js.gz +0 -0
  437. package/dist/ui/assets/diagram-S2PKOQOG-DHEZYivc.js.gz +0 -0
  438. package/dist/ui/assets/editor-DQIG-JYZ.js +0 -43
  439. package/dist/ui/assets/editor-DQIG-JYZ.js.gz +0 -0
  440. package/dist/ui/assets/emoji-B0hLmSLZ.js.gz +0 -0
  441. package/dist/ui/assets/erDiagram-Q2GNP2WA-BVNeTZPQ.js.gz +0 -0
  442. package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js.gz +0 -0
  443. package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js.gz +0 -0
  444. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js.gz +0 -0
  445. package/dist/ui/assets/index-DTz1Dif6.js +0 -64
  446. package/dist/ui/assets/index-DTz1Dif6.js.gz +0 -0
  447. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHYNj-f8.js.gz +0 -0
  448. package/dist/ui/assets/kanban-definition-3W4ZIXB7-DQPCCsj2.js.gz +0 -0
  449. package/dist/ui/assets/linear-DFao5Wyp.js.gz +0 -0
  450. package/dist/ui/assets/mermaid-parser.core-DYCfacHj.js.gz +0 -0
  451. package/dist/ui/assets/mermaid.core-C6xGFSdE.js.gz +0 -0
  452. package/dist/ui/assets/mindmap-definition-VGOIOE7T-L3Pw-YM7.js.gz +0 -0
  453. package/dist/ui/assets/particles-CT8hcJOA.js.gz +0 -0
  454. package/dist/ui/assets/pieDiagram-ADFJNKIX-Bf4Nou75.js.gz +0 -0
  455. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DpjUTLB1.js.gz +0 -0
  456. package/dist/ui/assets/reactflow-Cubtnk8i.js.gz +0 -0
  457. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bfrfh-0-.js.gz +0 -0
  458. package/dist/ui/assets/sandpack-C58bwfIS.js.gz +0 -0
  459. package/dist/ui/assets/sandpackDefaults-Bkga8XAE.js +0 -1
  460. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js.gz +0 -0
  461. package/dist/ui/assets/sequenceDiagram-WL72ISMW-CNgly63p.js.gz +0 -0
  462. package/dist/ui/assets/src-DAeyG22O.js.gz +0 -0
  463. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js.gz +0 -0
  464. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-BNL52_oN.js +0 -1
  465. package/dist/ui/assets/streamdown-BdAVfkeF.js.gz +0 -0
  466. package/dist/ui/assets/syntax-BOfTnQiy.js.gz +0 -0
  467. package/dist/ui/assets/timeline-definition-IT6M3QCI-CaRH3k4l.js.gz +0 -0
  468. package/dist/ui/assets/useUserLocalStorage-C8sgXgXR.js.gz +0 -0
  469. package/dist/ui/assets/xychartDiagram-PRI3JC2R-BlhkI9T_.js.gz +0 -0
@@ -0,0 +1,24 @@
1
+ import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{An as t,Bt as n,C as r,Cn as i,Ct as a,Dn as o,Fn as s,Gn as c,Gt as l,Hn as u,It as d,Jt as f,Kn as p,Mn as m,Ot as h,Rt as g,Tn as _,Un as v,Vt as y,Wn as ee,X as te,Xt as ne,Yn as b,Yt as re,Zt as ie,_n as x,an as ae,b as oe,cn as se,d as ce,dt as le,fn as S,hn as C,i as ue,in as de,ir as fe,it as pe,jt as me,lt as he,n as ge,nr as w,on as _e,pn as ve,qn as ye,sn as be,tn as xe,ur as Se,vn as Ce,wn as we,zt as Te}from"./antd-BCqimh1J.js";import{D as Ee,G as T,H as De,T as Oe,U as E,W as ke,z as Ae}from"./src-DEbsv3pp.js";import{N as D}from"./editor-Cr0W5BQI.js";import{c as je,l as Me,s as Ne}from"./chunk-4ZMWKKQ3-3oKtfWXp.js";import{O,a as Pe,c as k,f as Fe,i as A,l as Ie,m as j,n as Le,o as Re,s as ze}from"./reactflow-D98uPOMq.js";import{Hn as Be,In as Ve,It as He,N as Ue,P as We,Pn as Ge,St as Ke,k as qe,on as Je,rn as Ye}from"./index-B-qHc0o5.js";import{i as Xe,n as Ze,r as Qe,t as $e}from"./useUserLocalStorage-GidNiOPC.js";import{n as et,t as tt}from"./ThemeSwitcher-Cgyp5ruu.js";import{a as nt,c as rt,i as it,l as at,n as ot,o as st,r as ct,s as lt,t as ut}from"./AutocompleteTextarea-DUpsoEGr.js";function dt(e,t){var n,r=1;e??=0,t??=0;function i(){var i,a=n.length,o,s=0,c=0;for(i=0;i<a;++i)o=n[i],s+=o.x,c+=o.y;for(s=(s/a-e)*r,c=(c/a-t)*r,i=0;i<a;++i)o=n[i],o.x-=s,o.y-=c}return i.initialize=function(e){n=e},i.x=function(t){return arguments.length?(e=+t,i):e},i.y=function(e){return arguments.length?(t=+e,i):t},i.strength=function(e){return arguments.length?(r=+e,i):r},i}function ft(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return pt(this.cover(t,n),t,n,e)}function pt(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},s=e._x0,c=e._y0,l=e._x1,u=e._y1,d,f,p,m,h,g,_,v;if(!a)return e._root=o,e;for(;a.length;)if((h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f,i=a,!(a=a[_=g<<1|h]))return i[_]=o,e;if(p=+e._x.call(null,a.data),m=+e._y.call(null,a.data),t===p&&n===m)return o.next=a,i?i[_]=o:e._root=o,e;do i=i?i[_]=[,,,,]:e._root=[,,,,],(h=t>=(d=(s+l)/2))?s=d:l=d,(g=n>=(f=(c+u)/2))?c=f:u=f;while((_=g<<1|h)==(v=(m>=f)<<1|p>=d));return i[v]=a,i[_]=o,e}function mt(e){var t,n,r=e.length,i,a,o=Array(r),s=Array(r),c=1/0,l=1/0,u=-1/0,d=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(a=+this._y.call(null,t))||(o[n]=i,s[n]=a,i<c&&(c=i),i>u&&(u=i),a<l&&(l=a),a>d&&(d=a));if(c>u||l>d)return this;for(this.cover(c,l).cover(u,d),n=0;n<r;++n)pt(this,o[n],s[n],e[n]);return this}function M(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o=i-n||1,s=this._root,c,l;n>e||e>=i||r>t||t>=a;)switch(l=(t<r)<<1|e<n,c=[,,,,],c[l]=s,s=c,o*=2,l){case 0:i=n+o,a=r+o;break;case 1:n=i-o,a=r+o;break;case 2:i=n+o,r=a-o;break;case 3:n=i-o,r=a-o;break}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}function ht(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function gt(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function N(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function _t(e,t,n){var r,i=this._x0,a=this._y0,o,s,c,l,u=this._x1,d=this._y1,f=[],p=this._root,m,h;for(p&&f.push(new N(p,i,a,u,d)),n==null?n=1/0:(i=e-n,a=t-n,u=e+n,d=t+n,n*=n);m=f.pop();)if(!(!(p=m.node)||(o=m.x0)>u||(s=m.y0)>d||(c=m.x1)<i||(l=m.y1)<a))if(p.length){var g=(o+c)/2,_=(s+l)/2;f.push(new N(p[3],g,_,c,l),new N(p[2],o,_,g,l),new N(p[1],g,s,c,_),new N(p[0],o,s,g,_)),(h=(t>=_)<<1|e>=g)&&(m=f[f.length-1],f[f.length-1]=f[f.length-1-h],f[f.length-1-h]=m)}else{var v=e-+this._x.call(null,p.data),y=t-+this._y.call(null,p.data),ee=v*v+y*y;if(ee<n){var te=Math.sqrt(n=ee);i=e-te,a=t-te,u=e+te,d=t+te,r=p.data}}return r}function vt(e){if(isNaN(u=+this._x.call(null,e))||isNaN(d=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,s=this._y0,c=this._x1,l=this._y1,u,d,f,p,m,h,g,_;if(!n)return this;if(n.length)for(;;){if((m=u>=(f=(o+c)/2))?o=f:c=f,(h=d>=(p=(s+l)/2))?s=p:l=p,t=n,!(n=n[g=h<<1|m]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,_=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[_]=n:this._root=n),this):(this._root=a,this)}function P(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function yt(){return this._root}function F(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function I(e){var t=[],n,r=this._root,i,a,o,s,c;for(r&&t.push(new N(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,s=n.x1,c=n.y1)&&r.length){var l=(a+s)/2,u=(o+c)/2;(i=r[3])&&t.push(new N(i,l,u,s,c)),(i=r[2])&&t.push(new N(i,a,u,l,c)),(i=r[1])&&t.push(new N(i,l,o,s,u)),(i=r[0])&&t.push(new N(i,a,o,l,u))}return this}function bt(e){var t=[],n=[],r;for(this._root&&t.push(new N(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var a,o=r.x0,s=r.y0,c=r.x1,l=r.y1,u=(o+c)/2,d=(s+l)/2;(a=i[0])&&t.push(new N(a,o,s,u,d)),(a=i[1])&&t.push(new N(a,u,s,c,d)),(a=i[2])&&t.push(new N(a,o,d,u,l)),(a=i[3])&&t.push(new N(a,u,d,c,l))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function L(e){return e[0]}function xt(e){return arguments.length?(this._x=e,this):this._x}function St(e){return e[1]}function Ct(e){return arguments.length?(this._y=e,this):this._y}function wt(e,t,n){var r=new Tt(t??L,n??St,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function Tt(e,t,n,r,i,a){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Et(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var R=wt.prototype=Tt.prototype;R.copy=function(){var e=new Tt(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=Et(t),e;for(n=[{source:t,target:e._root=[,,,,]}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=[,,,,]}):t.target[i]=Et(r));return e},R.add=ft,R.addAll=mt,R.cover=M,R.data=ht,R.extent=gt,R.find=_t,R.remove=vt,R.removeAll=P,R.root=yt,R.size=F,R.visit=I,R.visitAfter=bt,R.x=xt,R.y=Ct;function z(e){return function(){return e}}function Dt(e){return(e()-.5)*1e-6}function Ot(e){return e.x+e.vx}function kt(e){return e.y+e.vy}function At(e){var t,n,r,i=1,a=1;typeof e!=`function`&&(e=z(e==null?1:+e));function o(){for(var e,o=t.length,c,l,u,d,f,p,m=0;m<a;++m)for(c=wt(t,Ot,kt).visitAfter(s),e=0;e<o;++e)l=t[e],f=n[l.index],p=f*f,u=l.x+l.vx,d=l.y+l.vy,c.visit(h);function h(e,t,n,a,o){var s=e.data,c=e.r,m=f+c;if(s){if(s.index>l.index){var h=u-s.x-s.vx,g=d-s.y-s.vy,_=h*h+g*g;_<m*m&&(h===0&&(h=Dt(r),_+=h*h),g===0&&(g=Dt(r),_+=g*g),_=(m-(_=Math.sqrt(_)))/_*i,l.vx+=(h*=_)*(m=(c*=c)/(p+c)),l.vy+=(g*=_)*m,s.vx-=h*(m=1-m),s.vy-=g*m)}return}return t>u+m||a<u-m||n>d+m||o<d-m}}function s(e){if(e.data)return e.r=n[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function c(){if(t){var r,i=t.length,a;for(n=Array(i),r=0;r<i;++r)a=t[r],n[a.index]=+e(a,r,t)}}return o.initialize=function(e,n){t=e,r=n,c()},o.iterations=function(e){return arguments.length?(a=+e,o):a},o.strength=function(e){return arguments.length?(i=+e,o):i},o.radius=function(t){return arguments.length?(e=typeof t==`function`?t:z(+t),c(),o):e},o}function jt(e){return e.index}function Mt(e,t){var n=e.get(t);if(!n)throw Error(`node not found: `+t);return n}function Nt(e){var t=jt,n=d,r,i=z(30),a,o,s,c,l,u=1;e??=[];function d(e){return 1/Math.min(s[e.source.index],s[e.target.index])}function f(t){for(var n=0,i=e.length;n<u;++n)for(var o=0,s,d,f,p,m,h,g;o<i;++o)s=e[o],d=s.source,f=s.target,p=f.x+f.vx-d.x-d.vx||Dt(l),m=f.y+f.vy-d.y-d.vy||Dt(l),h=Math.sqrt(p*p+m*m),h=(h-a[o])/h*t*r[o],p*=h,m*=h,f.vx-=p*(g=c[o]),f.vy-=m*g,d.vx+=p*(g=1-g),d.vy+=m*g}function p(){if(o){var n,i=o.length,l=e.length,u=new Map(o.map((e,n)=>[t(e,n,o),e])),d;for(n=0,s=Array(i);n<l;++n)d=e[n],d.index=n,typeof d.source!=`object`&&(d.source=Mt(u,d.source)),typeof d.target!=`object`&&(d.target=Mt(u,d.target)),s[d.source.index]=(s[d.source.index]||0)+1,s[d.target.index]=(s[d.target.index]||0)+1;for(n=0,c=Array(l);n<l;++n)d=e[n],c[n]=s[d.source.index]/(s[d.source.index]+s[d.target.index]);r=Array(l),m(),a=Array(l),h()}}function m(){if(o)for(var t=0,i=e.length;t<i;++t)r[t]=+n(e[t],t,e)}function h(){if(o)for(var t=0,n=e.length;t<n;++t)a[t]=+i(e[t],t,e)}return f.initialize=function(e,t){o=e,l=t,p()},f.links=function(t){return arguments.length?(e=t,p(),f):e},f.id=function(e){return arguments.length?(t=e,f):t},f.iterations=function(e){return arguments.length?(u=+e,f):u},f.strength=function(e){return arguments.length?(n=typeof e==`function`?e:z(+e),m(),f):n},f.distance=function(e){return arguments.length?(i=typeof e==`function`?e:z(+e),h(),f):i},f}var Pt=1664525,Ft=1013904223,It=4294967296;function Lt(){let e=1;return()=>(e=(Pt*e+Ft)%It)/It}function Rt(e){return e.x}function B(e){return e.y}var zt=10,V=Math.PI*(3-Math.sqrt(5));function Bt(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,s=new Map,c=j(d),l=O(`tick`,`end`),u=Lt();e??=[];function d(){f(),l.call(`tick`,t),n<r&&(c.stop(),l.call(`end`,t))}function f(r){var c,l=e.length,u;r===void 0&&(r=1);for(var d=0;d<r;++d)for(n+=(a-n)*i,s.forEach(function(e){e(n)}),c=0;c<l;++c)u=e[c],u.fx==null?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),u.fy==null?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return t}function p(){for(var t=0,n=e.length,r;t<n;++t){if(r=e[t],r.index=t,r.fx!=null&&(r.x=r.fx),r.fy!=null&&(r.y=r.fy),isNaN(r.x)||isNaN(r.y)){var i=zt*Math.sqrt(.5+t),a=t*V;r.x=i*Math.cos(a),r.y=i*Math.sin(a)}(isNaN(r.vx)||isNaN(r.vy))&&(r.vx=r.vy=0)}}function m(t){return t.initialize&&t.initialize(e,u),t}return p(),t={tick:f,restart:function(){return c.restart(d),t},stop:function(){return c.stop(),t},nodes:function(n){return arguments.length?(e=n,p(),s.forEach(m),t):e},alpha:function(e){return arguments.length?(n=+e,t):n},alphaMin:function(e){return arguments.length?(r=+e,t):r},alphaDecay:function(e){return arguments.length?(i=+e,t):+i},alphaTarget:function(e){return arguments.length?(a=+e,t):a},velocityDecay:function(e){return arguments.length?(o=1-e,t):1-o},randomSource:function(e){return arguments.length?(u=e,s.forEach(m),t):u},force:function(e,n){return arguments.length>1?(n==null?s.delete(e):s.set(e,m(n)),t):s.get(e)},find:function(t,n,r){var i=0,a=e.length,o,s,c,l,u;for(r==null?r=1/0:r*=r,i=0;i<a;++i)l=e[i],o=t-l.x,s=n-l.y,c=o*o+s*s,c<r&&(u=l,r=c);return u},on:function(e,n){return arguments.length>1?(l.on(e,n),t):l.on(e)}}}function Vt(){var e,t,n,r,i=z(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=wt(e,Rt,B).visitAfter(d);for(r=n,i=0;i<a;++i)t=e[i],o.visit(f)}function u(){if(e){var t,n=e.length,r;for(a=Array(n),t=0;t<n;++t)r=e[t],a[r.index]=+i(r,t,e)}}function d(e){var t=0,n,r,i=0,o,s,c;if(e.length){for(o=s=c=0;c<4;++c)(n=e[c])&&(r=Math.abs(n.value))&&(t+=n.value,i+=r,o+=r*n.x,s+=r*n.y);e.x=o/i,e.y=s/i}else{n=e,n.x=n.data.x,n.y=n.data.y;do t+=a[n.data.index];while(n=n.next)}e.value=t}function f(e,i,l,u){if(!e.value)return!0;var d=e.x-t.x,f=e.y-t.y,p=u-i,m=d*d+f*f;if(p*p/c<m)return m<s&&(d===0&&(d=Dt(n),m+=d*d),f===0&&(f=Dt(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)),t.vx+=d*e.value*r/m,t.vy+=f*e.value*r/m),!0;if(!(e.length||m>=s)){(e.data!==t||e.next)&&(d===0&&(d=Dt(n),m+=d*d),f===0&&(f=Dt(n),m+=f*f),m<o&&(m=Math.sqrt(o*m)));do e.data!==t&&(p=a[e.data.index]*r/m,t.vx+=d*p,t.vy+=f*p);while(e=e.next)}}return l.initialize=function(t,r){e=t,n=r,u()},l.strength=function(e){return arguments.length?(i=typeof e==`function`?e:z(+e),u(),l):i},l.distanceMin=function(e){return arguments.length?(o=e*e,l):Math.sqrt(o)},l.distanceMax=function(e){return arguments.length?(s=e*e,l):Math.sqrt(s)},l.theta=function(e){return arguments.length?(c=e*e,l):Math.sqrt(c)},l}function Ht(e,t,n){var r,i=z(.1),a,o;typeof e!=`function`&&(e=z(+e)),t??=0,n??=0;function s(e){for(var i=0,s=r.length;i<s;++i){var c=r[i],l=c.x-t||1e-6,u=c.y-n||1e-6,d=Math.sqrt(l*l+u*u),f=(o[i]-d)*a[i]*e/d;c.vx+=l*f,c.vy+=u*f}}function c(){if(r){var t,n=r.length;for(a=Array(n),o=Array(n),t=0;t<n;++t)o[t]=+e(r[t],t,r),a[t]=isNaN(o[t])?0:+i(r[t],t,r)}}return s.initialize=function(e){r=e,c()},s.strength=function(e){return arguments.length?(i=typeof e==`function`?e:z(+e),c(),s):i},s.radius=function(t){return arguments.length?(e=typeof t==`function`?t:z(+t),c(),s):e},s.x=function(e){return arguments.length?(t=+e,s):t},s.y=function(e){return arguments.length?(n=+e,s):n},s}var H=e(Se(),1),Ut={chargeStrength:-450,linkDistance:140,linkStrength:.35,centerStrength:1,collideRadius:60,alphaDecay:.045,radialStrength:0,degreeMode:`in`,verticalStrength:0};function Wt(e,t){return`${[...e].sort().join(`,`)}|${t.map(e=>`${e.source}>${e.target}`).sort().join(`,`)}`}function Gt(e){return 60+e*14}function Kt(e,t){let n=e===`in`?t.inDeg:t.totalDeg,r=0;for(let e of n.values())e>r&&(r=e);let i=Gt(t.count);return e=>r===0?i:i*(1-(n.get(e.id)??0)/r)}function qt(e,t){let n=n=>{let r=e*n;if(r!==0)for(let{source:e,target:n}of t)e.vy=(e.vy??0)-r,n.vy=(n.vy??0)+r};return n.initialize=()=>{},n}function Jt(e,t,n,r){e.force(`charge`)?.strength(t.chargeStrength),e.force(`link`)?.distance(t.linkDistance).strength(t.linkStrength),e.force(`center`)?.strength(t.centerStrength),e.force(`collide`)?.radius(t.collideRadius),e.force(`radial`,Ht(Kt(t.degreeMode,n),0,0).strength(t.radialStrength)),e.force(`vertical`,qt(t.verticalStrength,r)),e.alphaDecay(t.alphaDecay)}function Yt({nodeIds:e,links:t,setNodes:n,params:r,onTick:i,onSettle:a}){let o=(0,H.useRef)(null),s=(0,H.useRef)(new Map),c=(0,H.useRef)({inDeg:new Map,totalDeg:new Map,count:0}),l=(0,H.useRef)([]),u=(0,H.useRef)(null),d=(0,H.useRef)({nodeIds:e,links:t,setNodes:n,params:r,onTick:i,onSettle:a});d.current={nodeIds:e,links:t,setNodes:n,params:r,onTick:i,onSettle:a};let f=Wt(e,t),p=JSON.stringify(r);return(0,H.useEffect)(()=>{let{nodeIds:e,links:t,setNodes:n,params:r}=d.current;if(e.length===0){o.current?.stop(),o.current=null;return}let i=s.current,a=60+e.length*12,f=e.map((t,n)=>{let r=i.get(t);if(r)return{id:t,x:r.x,y:r.y};let o=n/e.length*2*Math.PI;return{id:t,x:Math.cos(o)*a,y:Math.sin(o)*a}}),p=new Map(f.map(e=>[e.id,e]));s.current=p;let m=t.filter(e=>p.has(e.source)&&p.has(e.target)).map(e=>({source:e.source,target:e.target})),h=new Map,g=new Map;for(let e of m)h.set(e.target,(h.get(e.target)??0)+1),g.set(e.source,(g.get(e.source)??0)+1),g.set(e.target,(g.get(e.target)??0)+1);let _={inDeg:h,totalDeg:g,count:e.length};c.current=_;let v=m.map(e=>({source:p.get(e.source),target:p.get(e.target)}));l.current=v;let y=Bt(f).force(`charge`,Vt().strength(r.chargeStrength)).force(`link`,Nt(m).id(e=>e.id).distance(r.linkDistance).strength(r.linkStrength)).force(`center`,dt(0,0).strength(r.centerStrength)).force(`collide`,At(r.collideRadius)).force(`radial`,Ht(Kt(r.degreeMode,_),0,0).strength(r.radialStrength)).force(`vertical`,qt(r.verticalStrength,v)).alpha(1).alphaDecay(r.alphaDecay);return u.current=JSON.stringify(r),y.on(`tick`,()=>{n(e=>e.map(e=>{let t=p.get(e.id);return t?{...e,position:{x:t.x,y:t.y}}:e})),d.current.onTick?.()}),y.on(`end`,()=>d.current.onSettle?.()),o.current=y,()=>{y.stop(),o.current=null}},[f]),(0,H.useEffect)(()=>{let e=o.current;e&&u.current!==p&&(u.current=p,Jt(e,d.current.params,c.current,l.current),e.alpha(.3).restart())},[p]),{onDragStart:(0,H.useCallback)((e,t,n)=>{let r=s.current.get(e);r&&(r.fx=t,r.fy=n),o.current?.alphaTarget(.3).restart()},[]),onDrag:(0,H.useCallback)((e,t,n)=>{let r=s.current.get(e);r&&(r.fx=t,r.fy=n)},[]),onDragStop:(0,H.useCallback)(e=>{let t=s.current.get(e);t&&(t.fx=null,t.fy=null),o.current?.alphaTarget(0)},[])}}var U=D(),{Text:Xt}=d;function Zt({label:e,min:t,max:n,step:r,value:a,onChange:o}){return(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`},children:[(0,U.jsx)(Xt,{style:{fontSize:11},children:e}),(0,U.jsx)(Xt,{type:`secondary`,style:{fontSize:11},children:a})]}),(0,U.jsx)(i,{min:t,max:n,step:r,value:a,onChange:o,tooltip:{open:!1}})]})}function Qt({params:e,onChange:t,onReset:r}){let{token:i}=n.useToken(),[a,c]=(0,H.useState)(!1),l=n=>t({...e,...n});return a?(0,U.jsxs)(`div`,{style:{width:220,padding:12,borderRadius:i.borderRadiusLG,background:i.colorBgElevated,border:`1px solid ${i.colorBorder}`,boxShadow:i.boxShadowSecondary},children:[(0,U.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:8},children:[(0,U.jsx)(Xt,{strong:!0,style:{fontSize:12},children:`Force layout`}),(0,U.jsx)(s,{type:`text`,size:`small`,"aria-label":`Collapse force layout panel`,onClick:()=>c(!1),children:`✕`})]}),(0,U.jsxs)(x,{direction:`vertical`,size:8,style:{width:`100%`},children:[(0,U.jsx)(Zt,{label:`Repulsion`,min:-1500,max:-50,step:10,value:e.chargeStrength,onChange:e=>l({chargeStrength:e})}),(0,U.jsx)(Zt,{label:`Link distance`,min:40,max:400,step:5,value:e.linkDistance,onChange:e=>l({linkDistance:e})}),(0,U.jsx)(Zt,{label:`Link strength`,min:0,max:1,step:.05,value:e.linkStrength,onChange:e=>l({linkStrength:e})}),(0,U.jsx)(Zt,{label:`Center gravity`,min:0,max:1,step:.05,value:e.centerStrength,onChange:e=>l({centerStrength:e})}),(0,U.jsx)(Zt,{label:`Collision radius`,min:20,max:120,step:2,value:e.collideRadius,onChange:e=>l({collideRadius:e})}),(0,U.jsx)(Zt,{label:`Settle speed`,min:.01,max:.1,step:.005,value:e.alphaDecay,onChange:e=>l({alphaDecay:e})}),(0,U.jsx)(Zt,{label:`Hub centering`,min:0,max:.3,step:.01,value:e.radialStrength,onChange:e=>l({radialStrength:e})}),(0,U.jsx)(Zt,{label:`Vertical flow`,min:0,max:40,step:1,value:e.verticalStrength,onChange:e=>l({verticalStrength:e})}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(Xt,{style:{fontSize:11},children:`Centrality by`}),(0,U.jsx)(o,{size:`small`,block:!0,options:[{label:`In-links`,value:`in`},{label:`All links`,value:`total`}],value:e.degreeMode,onChange:e=>l({degreeMode:e})})]}),(0,U.jsx)(s,{size:`small`,block:!0,onClick:r,disabled:$t(e),children:`Reset defaults`})]})]}):(0,U.jsx)(s,{size:`small`,onClick:()=>c(!0),children:`Forces`})}function $t(e){return Object.keys(Ut).every(t=>e[t]===Ut[t])}var{Text:en}=d,tn={doc:`#4096ff`,memory:`#9254de`,skill:`#36cfc9`,prompt:`#73d13d`,guide:`#ffa940`,decision:`#ff7875`,bundle:`#bae637`,external:`#8c8c8c`},nn=(0,H.createContext)({focusId:null,neighborIds:new Set,hasFocus:!1});function rn({title:e,iconEmoji:t}){return(0,U.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:6,minWidth:0,lineHeight:1.3},children:[t?(0,U.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`,flex:`0 0 auto`,lineHeight:1},children:t}):null,(0,U.jsx)(en,{style:{fontSize:12,fontWeight:500,lineHeight:1.3,minWidth:0,flex:`1 1 auto`},ellipsis:{tooltip:e},children:e})]})}var an=(0,H.memo)(({id:e,data:t})=>{let{token:r}=n.useToken(),{focusId:i,neighborIds:a,hasFocus:o}=(0,H.useContext)(nn),s=i===e,c=a.has(e),l=o&&!s&&!c,u=tn[t.kind]??tn.doc;return(0,U.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,maxWidth:180,padding:`6px 12px`,borderRadius:r.borderRadiusLG,border:`1px solid ${s?u:r.colorBorder}`,borderLeft:`4px solid ${u}`,background:r.colorBgElevated,boxShadow:s?`0 0 0 2px ${u}`:r.boxShadowTertiary,opacity:l?.25:1,transition:`opacity 120ms ease, box-shadow 120ms ease`,cursor:`pointer`},children:[(0,U.jsx)(Re,{type:`target`,position:k.Top,style:{opacity:0}}),(0,U.jsx)(rn,{title:t.title,iconEmoji:t.iconEmoji}),(0,U.jsx)(Re,{type:`source`,position:k.Bottom,style:{opacity:0}})]})});an.displayName=`KnowledgeGraphDocNode`;var on={kbDoc:an};function sn(e){return e.map(e=>e.document_id).sort().join(`,`)}function cn(e){return e.map(e=>`${e.document_id}:${e.title}:${e.kind}:${e.icon_emoji??``}`).sort().join(`|`)}function ln({nodes:e,edges:t,activeDocId:r,hoverDocId:i,onSelectDoc:a,onHoverDoc:o,loading:s=!1,emptyText:c=`No documents in this space yet.`}){let{token:l}=n.useToken(),[u,d,f]=Fe([]),[p,m]=(0,H.useState)(Ut),h=sn(e),g=cn(e),_=(0,H.useMemo)(()=>new Map(e.map(e=>[e.document_id,e])),[e]);(0,H.useEffect)(()=>{d(t=>{let n=new Map(t.map(e=>[e.id,e.position])),r=60+e.length*12;return e.map((t,i)=>{let a=i/Math.max(e.length,1)*2*Math.PI;return{id:t.document_id,type:`kbDoc`,position:n.get(t.document_id)??{x:Math.cos(a)*r,y:Math.sin(a)*r},data:{documentId:t.document_id,title:t.title,kind:t.kind,iconEmoji:t.icon_emoji??null}}})})},[g,d]);let v=(0,H.useMemo)(()=>t.map(e=>({source:e.source_document_id,target:e.target_document_id})),[t]),y=(0,H.useMemo)(()=>e.map(e=>e.document_id),[e]),ee=(0,H.useRef)(null),te=(0,H.useRef)(null),ne=(0,H.useCallback)(()=>{te.current??=requestAnimationFrame(()=>{te.current=null,ee.current?.fitView({padding:.2})})},[]),re=(0,H.useRef)(!0),ie=(0,H.useCallback)(()=>{re.current&&ne()},[ne]),{onDragStart:x,onDrag:ae,onDragStop:oe}=Yt({nodeIds:y,links:v,params:p,setNodes:d,onTick:ie,onSettle:()=>{ie(),re.current=!1}});(0,H.useEffect)(()=>{e.length!==0&&(re.current=!0)},[p]),(0,H.useEffect)(()=>{if(e.length!==0)return re.current=!0,ne(),()=>{te.current!=null&&cancelAnimationFrame(te.current),te.current=null}},[h,ne]);let se=(0,H.useMemo)(()=>{let e=new Map;for(let n of t)e.has(n.source_document_id)||e.set(n.source_document_id,new Set),e.has(n.target_document_id)||e.set(n.target_document_id,new Set),e.get(n.source_document_id).add(n.target_document_id),e.get(n.target_document_id).add(n.source_document_id);return e},[t]),ce=i??r,le=(0,H.useMemo)(()=>({focusId:ce,neighborIds:ce?se.get(ce)??new Set:new Set,hasFocus:!!(ce&&_.has(ce))}),[ce,se,_]),S=(0,H.useMemo)(()=>t.map(e=>{let t=`${e.source_document_id}->${e.target_document_id}`,n=le.hasFocus&&(e.source_document_id===le.focusId||e.target_document_id===le.focusId),r=le.hasFocus&&!n;return{id:t,source:e.source_document_id,target:e.target_document_id,animated:n,style:{stroke:n?l.colorPrimary:l.colorBorder,strokeWidth:n?2:1,opacity:r?.15:.6}}}),[t,le,l.colorPrimary,l.colorBorder]);return!s&&e.length===0?(0,U.jsx)(`div`,{style:{height:`100%`,display:`grid`,placeItems:`center`},children:(0,U.jsx)(b,{description:c})}):(0,U.jsxs)(`div`,{style:{height:`100%`,width:`100%`,position:`relative`},children:[s&&(0,U.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:10,display:`grid`,placeItems:`center`,background:`${l.colorBgContainer}99`,pointerEvents:`none`},children:(0,U.jsx)(_e,{})}),(0,U.jsx)(nn.Provider,{value:le,children:(0,U.jsxs)(Ie,{nodes:u,edges:S,nodeTypes:on,onInit:e=>{ee.current=e},onNodesChange:f,onNodeClick:(e,t)=>a(t.id),onNodeMouseEnter:(e,t)=>o(t.id),onNodeMouseLeave:()=>o(null),onNodeDragStart:(e,t)=>{re.current=!1,x(t.id,t.position.x,t.position.y)},onMoveStart:e=>{e&&(re.current=!1)},onNodeDrag:(e,t)=>ae(t.id,t.position.x,t.position.y),onNodeDragStop:(e,t)=>oe(t.id),fitView:!0,minZoom:.1,panOnScroll:!0,zoomActivationKeyCode:[`Meta`,`Control`],proOptions:{hideAttribution:!0},children:[(0,U.jsx)(Le,{color:l.colorBorderSecondary,gap:20}),(0,U.jsx)(A,{position:`top-left`,showInteractive:!1}),(0,U.jsx)(Pe,{pannable:!0,zoomable:!0,nodeColor:e=>tn[e.data?.kind]??tn.doc,style:{background:l.colorBgContainer}}),(0,U.jsx)(ze,{position:`top-right`,children:(0,U.jsx)(Qt,{params:p,onChange:m,onReset:()=>m(Ut)})})]})})]})}var{Header:un,Content:dn}=be,{Text:W,Title:fn}=d,pn=`# New Knowledge Page
2
+
3
+ Write markdown here.
4
+ `,G=`__knowledge_draft__`,K=``,mn=[`pages`,`skills`,`memories`],hn={enabled:!1,provider:`openai`,model:`text-embedding-3-small`,dimensions:1536,api_key_configured:!1,chunking:{target_tokens:850,max_tokens:1200,overlap_tokens:100,min_tokens:80},indexing:{paused:!1,batch_size:32,concurrency:1}},gn=280,_n=780,vn=24,yn=60,bn=(e,t,n)=>Math.min(n,Math.max(t,e)),xn=(e,t)=>e/Math.max(t,1)*100,Sn=[{label:`text-embedding-3-small — recommended`,value:`text-embedding-3-small`},{label:`text-embedding-3-large — higher quality`,value:`text-embedding-3-large`}],Cn={doc:`Page`,memory:`Memory`,skill:`Skill`,prompt:`Prompt`,guide:`Guide`,decision:`Decision`,bundle:`Bundle`,external:`Reference`},q={empty:{label:`No semantic index`,color:`default`,tooltip:`No indexable units exist for the current version yet.`},not_configured:{label:`Semantic indexing unavailable`,color:`default`,tooltip:`Semantic indexing is not configured for these chunks.`},queued:{label:`Indexing`,color:`#1677ff`,tooltip:`Some chunks are queued for semantic indexing.`},ready:{label:`Semantic index ready`,color:`#52c41a`,tooltip:`Current chunks are available for semantic search.`},stale:{label:`Needs semantic refresh`,color:`#faad14`,tooltip:`Some chunks are stale and need semantic index refresh.`},error:{label:`Semantic index error`,color:`#ff4d4f`,tooltip:`At least one chunk failed semantic indexing.`},mixed:{label:`Partial semantic index`,color:`#1677ff`,tooltip:`Chunks have mixed semantic indexing states.`}},wn={not_configured:`not configured`,pending:`queued`,ready:`ready`,stale:`stale`,error:`error`};function J(e){let t=Object.entries(e.chunks).filter(([,e])=>Number(e)>0).map(([e,t])=>`${wn[e]??e}: ${t}`).join(`, `),n=e.embedding_model?` · ${e.embedding_model}`:``,r=e.queue_depth>0?` · queue ${e.queue_depth}`:``,i=e.last_error?` · ${e.last_error}`:``;return`${q[e.state].tooltip}${n}${r}${t?` · ${t}`:``}${i}`}function Tn(e){return!!(e&&e.state!==`empty`&&e.state!==`not_configured`)}function En(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function Dn(e){let t=En(En(e.metadata)?.embedding_reuse_into_next);if(!t)return null;let n=Number(t.reused_chunks),r=Number(t.total_chunks);return!Number.isFinite(n)||!Number.isFinite(r)||r<=0?null:{targetVersionId:String(t.target_version_id??``),embeddingSpaceId:t.embedding_space_id?String(t.embedding_space_id):void 0,provider:t.provider?String(t.provider):void 0,model:t.model?String(t.model):void 0,dimensions:Number.isFinite(Number(t.dimensions))?Number(t.dimensions):void 0,reusedChunks:n,totalChunks:r,updatedAt:t.updated_at?String(t.updated_at):void 0}}function On({status:e,size:t=14}){if(!Tn(e)||!e)return null;let n=q[e.state],r={color:n.color,fontSize:t},i=e.state===`queued`?(0,U.jsx)(w,{spin:!0,style:r}):e.state===`error`?(0,U.jsx)(ge,{style:r}):(0,U.jsx)(le,{style:r});return(0,U.jsx)(v,{title:J(e),children:(0,U.jsx)(`span`,{"aria-label":n.label,role:`img`,style:{alignItems:`center`,display:`inline-flex`,flex:`0 0 auto`,height:t+2,justifyContent:`center`,lineHeight:1,width:t+2},children:i})})}var kn=e=>{if(e===`Pages`)return`doc`;if(e===`Skills`)return`skill`;if(e===`Memories`)return`memory`},An=e=>Array.isArray(e)?e:e.data??[],jn=e=>{let t=e.service(`kb/namespaces`);return t.__knowledgeNamespaceMethodsRegistered||=(t.methods?.(`listAcl`,`setAcl`,`removeAcl`,`saveWithAcl`),!0),t},Mn=e=>{try{return E(e)}catch{return(e??``).trim().replace(/^\/+|\/+$/g,``).replace(/\/+/g,`/`)}};function Nn(e){let{activeDocId:t,activeDocSnapshot:n,documents:r,draftDocument:i}=e;return t===G?i:t?r.find(e=>e.document_id===t)??(n?.document_id===t?n:null):null}function Pn(e){return!!(e.routeDocumentPath&&e.activeDocPath!==e.routeDocumentPath)}function Fn(e){return!!(e.routeNamespaceSlug&&e.routeDocumentPath&&!e.activeDocMatchesRoute&&!e.routeDocumentResolutionFailed)}function In(e){return!e.activeDocPresent&&!e.isEditing&&!e.routeDocumentPath}function Ln(e){return!!(e.activeDocDocumentId&&(e.isDraftDocument||e.versionsDocumentId===e.activeDocDocumentId&&e.activeDocDocumentId===e.activeDocId))}function Rn(e){let t=new URLSearchParams;e.query?.trim()&&t.set(`q`,e.query.trim()),e.editing&&e.activeDocId===G&&t.set(`draft`,`page`),e.editing&&e.activeDocId&&t.set(`mode`,`edit`);let n=t.toString();return n?`?${n}`:``}function zn(e){let t=new URLSearchParams(e.currentSearch??``);t.delete(`kind`);let n=t.toString();return`${it(e.routeBasePath,e.namespaceSlug,e.documentPath)}${n?`?${n}`:``}`}function Bn(e,t){let n=t.trim().toLowerCase();if(!n)return!0;let r=e.filter(e=>!!e?.trim()).join(`
5
+ `).toLowerCase();if(!r)return!1;if(r.includes(n))return!0;let i=n.split(/\s+/).filter(Boolean);return i.length>0&&i.every(e=>r.includes(e))}var Vn=(e,t)=>`${t}:${e.trim().toLowerCase()}`,Hn=e=>!!e.query.trim()&&e.resultKey===Vn(e.query,e.mode),Un=e=>e.display_name?.trim()||e.slug;function Wn(e,t){return e===`all`||t.some(t=>t.slug===e)?e:t.find(e=>e.slug===`global`)?.slug??t[0]?.slug??`global`}function Gn(e){return e.routeNamespaceSlug?e.routeNamespaceSlug:Wn(e.activeSpace,e.namespaces)}function Kn(e){return e.requestId===e.currentRequestId&&e.requestedActiveSpace===e.currentActiveSpace&&e.requestedKindFilter===e.currentKindFilter}function qn(e){return[...e].sort((e,t)=>{let n=Un(e).localeCompare(Un(t),void 0,{sensitivity:`base`,numeric:!0});if(n!==0)return n;let r=e.slug.localeCompare(t.slug,void 0,{sensitivity:`base`,numeric:!0});return r===0?e.namespace_id.localeCompare(t.namespace_id):r}).map(e=>{let t=Un(e);return{label:t,value:e.slug,searchText:`${t} ${e.slug}`.toLowerCase()}})}var Jn=e=>(e??``).replace(/[`*_#>[\]()]/g,``).replace(/\s+/g,` `).trim(),Yn=(e,{allowEmpty:t=!1}={})=>T(e,{allowEmpty:t}),Xn=e=>{let t=e.split(`/`).filter(Boolean);return t.pop(),t.join(`/`)},Zn=e=>e.split(`/`).filter(Boolean).pop()??e,Qn=e=>`${e.trim().toLowerCase().replace(/['"]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`untitled`}.md`,$n=(e,t)=>`${e}:${t}`,er=e=>{if(!e)return null;let[t,...n]=e.split(`:`),r=n.join(`:`);return t!==`user`&&t!==`group`||!r?null:{subjectType:t,subjectId:r}},tr=(e,t=`Untitled`)=>ke(e,t),nr=e=>{let t=e.split(/\r?\n/),n=t.findIndex(e=>e.trim());return n===-1?e:t.filter((e,t)=>t!==n).join(`
6
+ `).replace(/^\s*\n/,``)},rr=e=>{if(!e)return`—`;let t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleString()},ir=(e,t)=>{let n=Mn(e),r=Zn(t).replace(/^\/+/,``)||`untitled.md`;return n?`${n}/${r}`:r},ar=(e,t,n)=>{let r=new Set(t.filter(e=>e.document_id!==n).map(e=>e.path.toLowerCase()));if(!r.has(e.toLowerCase()))return e;let i=Xn(e),a=Zn(e).match(/^(.*?)(\.[^.]+)?$/),o=a?.[1]||`untitled`,s=a?.[2]||``,c=2,l=ir(i,`${o}-${c}${s}`);for(;r.has(l.toLowerCase());)c+=1,l=ir(i,`${o}-${c}${s}`);return l};function or({client:e,currentUser:i=null,onUserSettingsClick:d,onLogout:le}){let ge=Ve(Ge),{token:w}=n.useToken(),{confirm:Se}=He(),T=je(),E=Ne(),ke=Me(),D=ke.namespaceSlug?rt(ke.namespaceSlug):null,O=nt(ke[`*`]),Pe=D&&O?`${D}\n${O}`:null,k=st(E.pathname),Fe=(0,H.useMemo)(()=>new URLSearchParams(E.search),[E.search]),[A,Ie]=(0,H.useState)([]),[j,Le]=(0,H.useState)([]),[Re,ze]=(0,H.useState)([]),[dt,ft]=(0,H.useState)(null),[pt,mt]=(0,H.useState)(null),[M,ht]=(0,H.useState)([]),[gt,N]=(0,H.useState)(null),[_t,vt]=(0,H.useState)(null),[P,yt]=(0,H.useState)(()=>D??`global`),[F,I]=(0,H.useState)(null),[bt,L]=(0,H.useState)(null),[xt,St]=(0,H.useState)(null),[Ct,wt]=(0,H.useState)(!1),[Tt,Et]=(0,H.useState)(null),[R,z]=(0,H.useState)(K),[Dt,Ot]=(0,H.useState)([`folder:`,...mn.map(e=>`folder:${e}`)]),[kt,At]=(0,H.useState)(``),[jt,Mt]=(0,H.useState)(`public`),[Nt,Pt]=(0,H.useState)(`published`),[Ft,It]=(0,H.useState)(`doc`),[Lt,Rt]=(0,H.useState)(null),[B,zt]=(0,H.useState)(!1),[V,Bt]=(0,H.useState)(pn),[Vt,Ht]=(0,H.useState)(``),[Ut,Wt]=(0,H.useState)(()=>Fe.get(`q`)??``),[Gt,Kt]=(0,H.useState)(`text`),[qt,Jt]=(0,H.useState)(!1),[Yt,Xt]=(0,H.useState)(!1),[Zt,Qt]=(0,H.useState)(null),[$t,en]=(0,H.useState)([]),[tn,nn]=(0,H.useState)(null),[rn,an]=(0,H.useState)(`All`),[on,sn]=(0,H.useState)(!1),[cn,q]=(0,H.useState)(!1),[wn,J]=(0,H.useState)(null),[Tn,En]=(0,H.useState)(!1),[Un,Wn]=(0,H.useState)(`doc`),[or,sr]=(0,H.useState)(`New Page`),[cr,lr]=(0,H.useState)(`global`),[ur,dr]=(0,H.useState)(`pages`),[fr,pr]=(0,H.useState)([]),[mr,hr]=(0,H.useState)(!1),[gr,_r]=(0,H.useState)(K),[vr,yr]=(0,H.useState)(``),[Y,br]=(0,H.useState)(()=>Fe.get(`mode`)===`edit`),xr=(0,H.useRef)(null),X=(0,H.useRef)(F),Sr=(0,H.useRef)(O),[Cr,wr]=(0,H.useState)(()=>new Set),[Tr,Er]=(0,H.useState)(!1),[Dr,Or]=(0,H.useState)(K),[kr,Ar]=(0,H.useState)(!1),[jr,Mr]=(0,H.useState)(null),[Nr,Pr]=(0,H.useState)(`preview`),[Fr,Ir]=(0,H.useState)(!1),[Lr,Rr]=(0,H.useState)(!1),[zr,Br]=(0,H.useState)(!1),[Vr,Hr]=(0,H.useState)(!1),[Ur,Wr]=(0,H.useState)(null),[Gr,Kr]=(0,H.useState)(null),[qr,Jr]=(0,H.useState)(!1),[Yr,Xr]=(0,H.useState)(!1),[Zr,Qr]=(0,H.useState)(null),[$r,ei]=(0,H.useState)(``),[ti]=S.useForm(),[ni,ri]=(0,H.useState)(!1),[ii,ai]=(0,H.useState)(null),[oi,si]=(0,H.useState)(!1),[ci,li]=(0,H.useState)(null),[ui]=S.useForm(),di=(0,H.useRef)(!1),[fi,pi]=(0,H.useState)([]),[mi,hi]=(0,H.useState)([]),[gi,_i]=(0,H.useState)([]),[vi,yi]=(0,H.useState)(!1),[bi,xi]=(0,H.useState)(null),[Si,Ci]=(0,H.useState)(`read`),[wi,Ti]=(0,H.useState)(()=>typeof window>`u`?1440:window.innerWidth),[Ei,Di]=$e(i?.user_id,`knowledge:sidebar:size`,vn),Oi=(0,H.useRef)(null),ki=(0,H.useRef)(!1),Ai=(0,H.useRef)(null),ji=(0,H.useRef)(0),Mi=(0,H.useRef)(P),Ni=(0,H.useRef)(rn),Pi=(0,H.useRef)(0),Fi=(0,H.useCallback)(e=>{Mi.current=e,yt(e)},[]),Ii=(0,H.useCallback)(e=>{Ni.current=e,an(e)},[]);(0,H.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>Ti(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,H.useEffect)(()=>{if(!qt||typeof document>`u`)return;let e=e=>{let t=e.target;t instanceof Node&&Ai.current?.contains(t)||Jt(!1)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[qt]),(0,H.useEffect)(()=>{vt(e=>e&&e.key!==Pe?null:e)},[Pe]),(0,H.useEffect)(()=>{X.current=F},[F]),(0,H.useEffect)(()=>{Mi.current=P},[P]),(0,H.useEffect)(()=>{Ni.current=rn},[rn]);let Z=(0,H.useMemo)(()=>Nn({activeDocId:F,activeDocSnapshot:bt,documents:j,draftDocument:dt}),[F,bt,j,dt]),Li=Z?.document_id===G,Ri=Z?Y?Lt:Z.icon_emoji:null,zi=Ln({activeDocId:F,activeDocDocumentId:Z?.document_id,isDraftDocument:Li,versionsDocumentId:gt}),Bi=(0,H.useMemo)(()=>A.find(e=>e.slug===P)??A[0]??null,[A,P]),Vi=(0,H.useMemo)(()=>Math.min(yn,xn(gn,wi)),[wi]),Hi=(0,H.useMemo)(()=>Math.max(Vi,Math.min(yn,xn(_n,wi))),[Vi,wi]),Ui=bn(Ei,Vi,Hi);(0,H.useEffect)(()=>{Oi.current?.resize(Ui)},[Ui]);let Wi=(0,H.useMemo)(()=>{let e=new Map;for(let t of A)e.set(t.namespace_id,t.slug);return e},[A]),Q=(0,H.useCallback)(e=>Wi.get(e.namespace_id)??(P===`all`?Bi?.slug:P)??`global`,[P,Wi,Bi?.slug]),Gi=(0,H.useMemo)(()=>{let e=new Map(ge);for(let t of fi)e.set(t.user_id,t);return i&&e.set(i.user_id,i),[{label:`Users`,options:[...e.values()].sort((e,t)=>(e.name||e.email).localeCompare(t.name||t.email)).map(e=>({label:`${e.name||e.email}${e.email?` <${e.email}>`:``}`,value:$n(`user`,e.user_id)}))},{label:`Groups`,options:mi.filter(e=>!e.archived).sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({label:`${e.name} group`,value:$n(`group`,e.group_id)}))}]},[i,mi,fi,ge]),Ki=(0,H.useMemo)(()=>{let e=new Map(ge);for(let t of fi)e.set(t.user_id,t);return i&&e.set(i.user_id,i),e},[i,fi,ge]),qi=(0,H.useCallback)(e=>{if(e.subject_type===`user`){let t=Ki.get(e.subject_id);return t?`${t.name||t.email}${t.email?` <${t.email}>`:``}`:e.subject_id}let t=mi.find(t=>t.group_id===e.subject_id);return t?`${t.name} group`:e.subject_id},[mi,Ki]),Ji=(0,H.useMemo)(()=>new Map(Re.map(e=>[e.documentId,e.routePath])),[Re]),Yi=(0,H.useCallback)(e=>ot(e,e=>{let t=Ji.get(e);return t?`${window.location.origin}${t}`:void 0}),[Ji]),Xi=(0,H.useCallback)(e=>{if(e.defaultPrevented||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target.closest(`a`)?.getAttribute(`href`);if(!t)return;let n;try{n=new URL(t,window.location.origin)}catch{return}n.origin!==window.location.origin||!/^\/(kb|knowledge)\//.test(n.pathname)||(e.preventDefault(),T(`${n.pathname}${n.search}${n.hash}`))},[T]),Zi=(0,H.useMemo)(()=>Z?B?tr(V,Z.title):kt.trim()||Z.title:`Untitled`,[Z,V,kt,B]),Qi=!!(Z&&Zi.trim()!==Z.title.trim()),$i=(0,H.useMemo)(()=>Z?ar(ir(Xn(Z.path),Qn(Zi)),j,Z.document_id):``,[Z,j,Zi]),ea=(0,H.useCallback)((e={})=>Rn({query:e.query,editing:e.editing??Y,activeDocId:F}),[F,Y]),ta=(0,H.useMemo)(()=>{let e=new Set([K,...mn,...fr]);for(let t of j){let n=t.path.split(`/`).filter(Boolean);n.pop();let r=``;for(let t of n)r=r?`${r}/${t}`:t,e.add(r)}return[...e].sort((e,t)=>e===K?-1:t===K?1:e.localeCompare(t))},[j,fr]),na=(0,H.useMemo)(()=>ta.map(e=>({label:e||`Root`,value:e})),[ta]),ra=(0,H.useMemo)(()=>{let e={path:K,name:`Root`,children:[],docs:[]},t=new Map([[K,e]]),n=e=>{let r=Mn(e),i=t.get(r);if(i)return i;let a=n(Xn(r)),o={path:r,name:Zn(r),children:[],docs:[]};return t.set(r,o),a.children.push(o),o};for(let e of ta)n(e);for(let e of j)n(Xn(e.path)).docs.push(e);let r=e=>{e.children.sort((e,t)=>e.name.localeCompare(t.name)),e.docs.sort((e,t)=>e.title.localeCompare(t.title)),e.children.forEach(r)};return r(e),e},[j,ta]),ia=(0,H.useMemo)(()=>{let e=t=>({key:`folder:${t.path}`,title:t.name,kind:`folder`,folderPath:t.path,children:t.children.map(e)});return[e(ra)]},[ra]),aa=(0,H.useMemo)(()=>`agor://kb/${cr||(P===`all`?`global`:P)}/${ir(ur,Qn(or))}`,[P,ur,cr,or]),$=(0,H.useMemo)(()=>M.find(e=>e.version_id===jr)??M[0]??null,[jr,M]),oa=(0,H.useMemo)(()=>{if(!$)return null;let e=M.findIndex(e=>e.version_id===$.version_id);return e>=0?M[e+1]??null:null},[$,M]),sa=Math.max(M.length-1,0),ca=M[0]?.content_text??pn,la=Y&&!!(Li||Z&&(V!==ca||kt!==Z.title||(Lt??null)!==(Z.icon_emoji??null)||jt!==Z.visibility||Nt!==Z.status||Ft!==Z.kind||B!==(Z.metadata?.title_from_content===!0)||zr)),ua=Li||!!(Z&&(Ee(i?.role,Oe.ADMIN)||i?.user_id&&Z.created_by===i.user_id)),da=(0,H.useCallback)(async()=>{if(!e)return[];let t=An(await e.service(`kb/namespaces`).find({query:{archived:!1}}));return Ie(t),t},[e]),fa=(0,H.useCallback)(async()=>{if(e)try{ze(An(await e.service(`kb/documents`).find({query:{archived:!1}})).map(e=>ct(e,`/kb`)).filter(e=>!!e))}catch(e){console.error(`Failed to load Knowledge mentions:`,e)}},[e]),pa=(0,H.useCallback)(async()=>{if(!e)return;let t=ji.current+1;ji.current=t;let n=P,r=rn,i=()=>Kn({requestId:t,currentRequestId:ji.current,requestedActiveSpace:n,currentActiveSpace:Mi.current,requestedKindFilter:r,currentKindFilter:Ni.current});sn(!0),J(null);try{if(await da(),!i())return;fa();let t=kn(r),a=n===`all`?void 0:n,o=await e.service(`kb/documents`).find({query:{namespace_slug:a,kind:t,archived:!1,include_indexing:!0}});if(!i())return;Le(An(o))}catch(e){if(!i())return;console.error(`Failed to load Knowledge:`,e),J(e instanceof Error?e.message:String(e))}finally{i()&&sn(!1)}},[e,P,rn,da,fa]);(0,H.useEffect)(()=>{pa()},[pa]),(0,H.useEffect)(()=>{if(!A.length)return;let e=Gn({activeSpace:P,routeNamespaceSlug:D,namespaces:A});e!==P&&Fi(e)},[P,A,D,Fi]),(0,H.useEffect)(()=>{let t=Ut.trim();if(!e||t.length<2){Xt(!1),Qt(null),en([]),nn(null);return}let n=Vn(t,Gt);Xt(!0),Qt(null),nn(null);let r=!1,i=window.setTimeout(async()=>{try{let i=await e.service(`kb/search`).find({query:{q:t,mode:Gt,limit:8,include_chunks:!0}});if(r)return;en(An(i)),nn(n)}catch(e){if(r)return;console.error(`Failed to search Knowledge:`,e),en([]),nn(n),Qt(e instanceof Error?e.message:String(e))}finally{r||Xt(!1)}},220);return()=>{r=!0,window.clearTimeout(i)}},[e,Gt,Ut]);let ma=(0,H.useCallback)(async()=>{if(e){Jr(!0),Qr(null);try{let[t,n]=await Promise.all([e.service(`kb/settings`).find(),e.service(`kb/indexing/status`).find()]),r={...hn,...t,chunking:{...hn.chunking,...t.chunking??{}},indexing:{...hn.indexing,...t.indexing??{}}};Wr(r),Kr(n),ti.setFieldsValue(r)}catch(e){console.error(`Failed to load Knowledge semantic settings:`,e),Qr(e instanceof Error?e.message:String(e))}finally{Jr(!1)}}},[e,ti]),ha=(0,H.useCallback)(async()=>{if(e)try{hi(An(await e.service(`groups`).findAll({query:{archived:!1}})))}catch(e){console.error(`Failed to load Knowledge namespace groups:`,e),hi([])}},[e]),ga=(0,H.useCallback)(async()=>{if(e)try{pi(An(await e.service(`users`).findAll({})))}catch(e){console.error(`Failed to load Knowledge namespace users:`,e),pi([])}},[e]),_a=(0,H.useCallback)(()=>{Hr(!0),ei(``),Qr(null),li(null),ma(),da(),ha(),ga()},[ha,ga,da,ma]),va=(0,H.useCallback)(async()=>{if(e){Xr(!0),Qr(null);try{let t=await ti.validateFields(),n={enabled:t.enabled??hn.enabled,provider:t.provider??hn.provider,model:t.model||hn.model,dimensions:t.dimensions??hn.dimensions,chunking:{...hn.chunking,...t.chunking??{}},indexing:{...hn.indexing,...t.indexing??{}}};$r.trim()&&(n.api_key=$r.trim()),Wr(await e.service(`kb/settings`).create(n)),ei(``),await ma(),Hr(!1)}catch(e){console.error(`Failed to save Knowledge semantic settings:`,e),Qr(e instanceof Error?e.message:String(e))}finally{Xr(!1)}}},[e,ma,$r,ti]),ya=(0,H.useCallback)(async()=>{if(e){Xr(!0),Qr(null);try{await e.service(`kb/indexing/reindex`).create({}),await ma()}catch(e){console.error(`Failed to queue Knowledge reindex:`,e),Qr(e instanceof Error?e.message:String(e))}finally{Xr(!1)}}},[e,ma]),ba=(0,H.useCallback)(t=>{di.current=!!t,ai(t??null),li(null),xi(null),Ci(`read`),_i(!t&&i?.user_id?[{subject_type:`user`,subject_id:i.user_id,permission:`own`}]:[]),ui.setFieldsValue(t?{slug:t.slug,display_name:t.display_name,description:t.description??``,kind:t.kind,visibility_default:t.visibility_default,others_can:t.others_can}:{slug:``,display_name:``,description:``,kind:`team`,visibility_default:`public`,others_can:`none`}),ri(!0),t&&e&&(yi(!0),jn(e).listAcl({namespace_id:t.namespace_id}).then(e=>{_i(e.map(e=>({subject_type:e.subject_type,subject_id:e.subject_id,permission:e.permission})))}).catch(e=>{console.error(`Failed to load Knowledge namespace ACL:`,e),li(e instanceof Error?e.message:String(e))}).finally(()=>yi(!1)))},[e,i?.user_id,ui]),xa=(0,H.useCallback)(e=>{if(Object.hasOwn(e,`slug`)){di.current=!0;return}!ii&&Object.hasOwn(e,`display_name`)&&!di.current&&ui.setFieldsValue({slug:Je(e.display_name||``)})},[ii,ui]),Sa=(0,H.useCallback)(()=>{let e=er(bi);e&&(_i(t=>{let n={subject_type:e.subjectType,subject_id:e.subjectId,permission:Si},r=t.findIndex(t=>t.subject_type===e.subjectType&&t.subject_id===e.subjectId);return r===-1?[...t,n]:t.map((e,t)=>t===r?n:e)}),xi(null),Ci(`read`))},[Si,bi]),Ca=(0,H.useCallback)((e,t)=>{_i(n=>n.map(n=>n.subject_type===e.subject_type&&n.subject_id===e.subject_id?{...n,permission:t}:n))},[]),wa=(0,H.useCallback)(e=>{_i(t=>t.filter(t=>t.subject_type!==e.subject_type||t.subject_id!==e.subject_id))},[]),Ta=(0,H.useCallback)(async()=>{if(e){si(!0),li(null);try{let t=await ui.validateFields(),n={...t,slug:t.slug.trim(),display_name:t.display_name.trim(),description:t.description?.trim()||null},r=await jn(e).saveWithAcl({namespace_id:ii?.namespace_id,namespace:ii?{...n,slug:ii.slug}:n,acl:gi});_i(r.acl.map(e=>({subject_type:e.subject_type,subject_id:e.subject_id,permission:e.permission}))),Ie(ii?e=>e.map(e=>e.namespace_id===r.namespace.namespace_id?r.namespace:e):e=>[r.namespace,...e]),await da(),ri(!1),ai(null)}catch(e){console.error(`Failed to save Knowledge namespace:`,e),li(e instanceof Error?e.message:String(e))}finally{si(!1)}}},[e,da,gi,ii,ui]),Ea=(0,H.useCallback)(t=>{e&&Se({title:`Archive ${t.display_name||t.slug}?`,content:`Archiving a namespace also archives its documents. This can disrupt Knowledge links and search.`,okText:`Archive namespace`,okButtonProps:{danger:!0},onOk:async()=>{li(null);try{await e.service(`kb/namespaces`).remove(t.namespace_id),await da(),P===t.slug&&Fi(`all`)}catch(e){console.error(`Failed to archive Knowledge namespace:`,e),li(e instanceof Error?e.message:String(e))}}})},[P,e,Se,da,Fi]),Da=(0,H.useCallback)(async()=>{let t=Pi.current+1;Pi.current=t;let n=P,r=()=>t===Pi.current&&n===Mi.current;if(!e||n===`all`){St(null),wt(!1);return}wt(!0);try{let t=await e.service(`kb/graph`).find({query:{namespace:n}});if(!r())return;St(t)}catch(e){if(!r())return;console.error(`Failed to load Knowledge graph:`,e),St(null)}finally{r()&&wt(!1)}},[e,P]);(0,H.useEffect)(()=>{!F&&!O&&Da()},[F,Da,O]);let Oa=(0,H.useCallback)(async()=>la?new Promise(e=>{Se({title:`Discard unsaved changes?`,content:`This page has unsaved changes. If you navigate away now, those edits will be lost.`,okText:`Discard changes`,okButtonProps:{danger:!0},cancelText:`Keep editing`,onOk:()=>e(!0),onCancel:()=>e(!1)})}):!0,[Se,la]);(0,H.useEffect)(()=>{if(!la)return;let e=e=>{e.preventDefault(),e.returnValue=``};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[la]),(0,H.useEffect)(()=>{let e=D??`global`,t=Fe.get(`q`)??``,n=Fe.get(`mode`)===`edit`&&(!!O||Fe.get(`draft`)===`page`),r=!O&&!!Sr.current;Sr.current=O,r&&F&&!dt&&X.current!==G&&(X.current=null,I(null),L(null)),D&&e!==P&&Fi(e),Wt(e=>e===t?e:t);let i=xr.current;i===null?n!==Y&&br(n):n===i&&(xr.current=null,n!==Y&&br(n))},[F,P,Y,O,D,Fe,dt,Fi]),(0,H.useEffect)(()=>{if(X.current===G||!e||!D||!O)return;let t=Pe;if(!t)return;if(bt?.path===O&&Q(bt)===D){vt(e=>e?.key===t?null:e),bt.document_id!==F&&(X.current=bt.document_id,I(bt.document_id));return}let n=j.find(e=>e.path===O&&Q(e)===D);if(n){vt(e=>e?.key===t?null:e),L(n),n.document_id!==F&&(X.current=n.document_id,I(n.document_id));return}let r=!1;return e.service(`kb/documents`).find({query:{namespace_slug:D,path:O,archived:!1}}).then(e=>{if(r||X.current===G)return;let[n]=An(e);if(!n){X.current=null,I(null),L(null),vt({key:t,message:`Knowledge page not found.`});return}vt(e=>e?.key===t?null:e),L(n),X.current=n.document_id,I(n.document_id)}).catch(e=>{r||(console.error(`Failed to resolve Knowledge route document:`,e),X.current=null,I(null),L(null),vt({key:t,message:e instanceof Error?e.message:`Failed to load Knowledge page.`}))}),()=>{r=!0}},[F,bt,e,j,Q,Pe,O,D]),(0,H.useEffect)(()=>{if(!e||on||X.current===G||!D||!O||j.find(e=>e.path===O&&Q(e)===D))return;let t=!1;return(async()=>{try{let n=await e.service(`kb/documents`).find({query:{namespace_slug:D,path:O,archived:!1,include_other_user_drafts:!0,include_indexing:!0}});if(t)return;let[r]=An(n);if(!r)return;vt(e=>e?.key===Pe?null:e),Le(e=>e.some(e=>e.document_id===r.document_id)?e:[r,...e]),L(r),X.current=r.document_id,I(r.document_id)}catch(e){t||console.error(`Failed to load direct Knowledge document:`,e)}})(),()=>{t=!0}},[e,j,on,Q,Pe,O,D]),(0,H.useEffect)(()=>{X.current!==G&&F&&!Z&&!on&&!O&&(X.current=null,I(null),L(null))},[Z,F,on,O]),(0,H.useEffect)(()=>{Z&&(z(Xn(Z.path)),At(Z.title),Mt(Z.visibility),Pt(Z.status??`published`),It(Z.kind),Rt(Z.icon_emoji??null),zt(Z.metadata?.title_from_content===!0),Br(!1),br(xr.current??Fe.get(`mode`)===`edit`))},[Z,Fe]),(0,H.useEffect)(()=>{Qi||Br(!1)},[Qi]),(0,H.useEffect)(()=>{if(dt||O&&!Z)return;let e=O?j.find(e=>e.path===O&&(!D||Q(e)===D)):null;if(e&&e.document_id!==F||!O&&Z||Pn({routeDocumentPath:O,activeDocPath:Z?.path})||Z&&D&&D!==Q(Z)||!Z)return;let t=`${zn({routeBasePath:k,namespaceSlug:Q(Z),documentPath:Z.path,currentSearch:E.search})}${E.hash}`;t!==`${E.pathname}${E.search}${E.hash}`&&T(t,{replace:!0})},[Z,F,j,dt,E.hash,E.pathname,E.search,Q,T,k,O,D]),(0,H.useEffect)(()=>{B&&At(tr(V,Z?.title??`Untitled`))},[Z?.title,V,B]),(0,H.useEffect)(()=>{P!==`all`&&lr(P)},[P]);let ka=(0,H.useCallback)(async()=>{if(Li){ht([]),N(G);return}if(!e||!Z){ht([]),N(null);return}let t=Z.document_id;try{let n=await e.service(`kb/versions`).find({query:{document_id:t,include_content:!0}});if(X.current!==t)return;let r=An(n);ht(r),N(t),Mr(e=>e&&r.some(t=>t.version_id===e)?e:r[0]?.version_id??null),Bt(r[0]?.content_text??pn)}catch(e){if(X.current!==t)return;console.error(`Failed to load Knowledge versions:`,e),ht([]),N(t),Bt(pn)}},[e,Z,Li]);(0,H.useEffect)(()=>{ka()},[ka]);let Aa=async()=>{if(!await Oa())return;let e=P===`all`?`global`:P,t=A.find(t=>t.slug===e)??Bi??A[0],n=`Untitled`,r=ar(Qn(n),j),i={document_id:G,namespace_id:t?.namespace_id??G,path:r,uri:`agor://kb/${e}/${r}`,url:null,title:n,kind:`doc`,visibility:t?.visibility_default??`public`,status:`published`,edit_policy:`owner`,current_version_id:null,metadata:{title_from_content:!0},created_by:null,created_at:new Date,updated_by:null,updated_at:null,archived:!1,archived_at:null};ft(i),mt(e),L(null),X.current=G,I(G),z(K),At(n),Mt(i.visibility),Pt(i.status),It(i.kind),Rt(i.icon_emoji??null),zt(!0),Br(!1),Bt(`# ${n}\n\nWrite markdown here.\n`),ht([]),N(G),xr.current=!0,br(!0),T(`${it(k,e)}?draft=page&mode=edit`)},ja=async e=>{if(e===`doc`){await Aa();return}let t=e===`skill`?`New Skill`:e===`memory`?`New Memory`:`New Page`,n=R||(e===`skill`?`skills`:e===`memory`?`memories`:`pages`);Wn(e),sr(t),lr(P===`all`?`global`:P),dr(n),En(!0)},Ma=()=>{_r(R),yr(``),hr(!0)},Na=()=>{let e=Mn(vr);if(!e)return;let t=Yn(e),n=Yn(gr,{allowEmpty:!0});if(t||n){J(t??n);return}let r=Mn([gr,e].filter(Boolean).join(`/`));pr(e=>[...new Set([...e,r])]),z(r),Ot(e=>[...new Set([...e,`folder:${gr}`,`folder:${r}`])]),hr(!1)},Pa=async()=>{if(!e)return;let t=cr||(P===`all`?`global`:P),n=Yn(ur,{allowEmpty:!0});if(n){J(n);return}let r=or.trim()||(Un===`skill`?`New Skill`:Un===`memory`?`New Memory`:`New Page`),i=ar(ir(ur,Qn(r)),j);q(!0),J(null);try{let n=await e.service(`kb/documents`).create({namespace_slug:t,path:i,title:r,kind:Un,visibility:A.find(e=>e.slug===t)?.visibility_default??Bi?.visibility_default??`public`,status:`published`,metadata:{title_from_content:!0},content_text:`# ${r}\n\nWrite markdown here.\n`,change_summary:`Initial version`});Le(e=>[n,...e]),Fi(t),L(n),X.current=n.document_id,I(n.document_id),z(Xn(n.path)),Bt(`# ${r}\n\nWrite markdown here.\n`),N(n.document_id),Ot(e=>[...new Set([...e,`folder:${Xn(n.path)}`])]),En(!1)}catch(e){console.error(`Failed to create Knowledge document:`,e),J(e instanceof Error?e.message:String(e))}finally{q(!1)}},Fa=async()=>{if(!(!e||!Z)){q(!0),J(null);try{let t=Zi;if(Li){let n=pt??(P===`all`?`global`:P),r=ar(Qn(t),j),i=await e.service(`kb/documents`).create({namespace_slug:n,path:r,title:t,kind:Ft,icon_emoji:Lt,visibility:jt,status:Nt,metadata:{...Z.metadata??{},title_from_content:B},content_text:V,change_summary:`Initial version`});Le(e=>[i,...e]),ft(null),mt(null),Fi(n),L(i),X.current=i.document_id,I(i.document_id),z(Xn(i.path)),ht([]),N(i.document_id),xr.current=!1,br(!1),T(`${it(k,Q(i),i.path)}${ea({editing:!1})}`,{replace:!0});return}let n=Qi&&zr&&$i!==Z.path?$i:void 0,r=await e.service(`kb/documents`).patch(Z.document_id,{title:t,visibility:jt,status:Nt,kind:Ft,icon_emoji:Lt,...n?{path:n}:{},content_text:V,metadata:{...Z.metadata??{},title_from_content:B},change_summary:n?`Edited and renamed from ${Z.path} to ${n}`:`Edited from Knowledge UI`});Le(e=>e.map(e=>e.document_id===r.document_id?r:e)),L(r),await ka(),n?(xr.current=!1,br(!1),T(`${it(k,Q(r),r.path)}${ea({editing:!1})}`,{replace:!0})):Wa(!1)}catch(e){console.error(`Failed to save Knowledge document:`,e),J(e instanceof Error?e.message:String(e))}finally{q(!1)}}},Ia=async(t,n)=>{if(!e)return;let r=Mn(n),i=Yn(r,{allowEmpty:!0});if(i){J(i);return}let a=ar(ir(r,Zn(t.path)),j,t.document_id);if(a!==t.path){q(!0),J(null);try{let n=await e.service(`kb/documents`).patch(t.document_id,{path:a,change_summary:`Moved to ${r||`root`}`});Le(e=>e.map(e=>e.document_id===n.document_id?n:e)),L(n),X.current=n.document_id,I(n.document_id),z(r),Ot(e=>[...new Set([...e,`folder:${r}`])]),T(`${it(k,Q(n),n.path)}${ea({editing:!1})}`,{replace:!0})}catch(e){console.error(`Failed to move Knowledge document:`,e),J(e instanceof Error?e.message:String(e))}finally{q(!1)}}},La=async t=>{if(!Z)return;let n=De(t);if(Rt(n),Li){ft(e=>e&&{...e,icon_emoji:n});return}if(e){q(!0),J(null);try{let t=await e.service(`kb/documents`).patch(Z.document_id,{icon_emoji:n,change_summary:n?`Updated Knowledge document icon`:`Removed Knowledge document icon`});Le(e=>e.map(e=>e.document_id===t.document_id?t:e)),L(t)}catch(e){console.error(`Failed to update Knowledge document icon:`,e),J(e instanceof Error?e.message:String(e))}finally{q(!1)}}},Ra=e=>{let t=t=>{e(t),Rr(!1)};return(0,U.jsxs)(x,{direction:`vertical`,size:8,onClick:e=>e.stopPropagation(),children:[(0,U.jsx)(Ye,{onEmojiClick:e=>t(e.emoji)}),(0,U.jsx)(s,{block:!0,onClick:()=>t(null),children:`Remove icon`})]})},za=()=>{if(Z){if(Li){ft(null),mt(null),X.current=null,I(null),L(null),At(``),Mt(`public`),It(`doc`),Rt(null),zt(!1),Br(!1),Bt(pn),ht([]),N(null),Wa(!1);return}At(Z.title),Mt(Z.visibility),It(Z.kind),Rt(Z.icon_emoji??null),zt(Z.metadata?.title_from_content===!0),Br(!1),Bt(M[0]?.content_text??pn),Wa(!1)}},Ba=async()=>{await ka(),Mr(e=>e??M[0]?.version_id??null),Pr(`preview`),Ar(!0)},Va=async()=>{if(!e||!Z||!$)return;let t=$.content_text??``,n=B?tr(t,Z.title):Z.title;q(!0),J(null);try{let r=await e.service(`kb/documents`).patch(Z.document_id,{title:n,content_text:t,metadata:{...Z.metadata??{},title_from_content:B},change_summary:`Restored version ${$.version_number}`});Le(e=>e.map(e=>e.document_id===r.document_id?r:e)),L(r),Bt(t),At(n),await ka(),Ar(!1)}catch(e){console.error(`Failed to restore Knowledge version:`,e),J(e instanceof Error?e.message:String(e))}finally{q(!1)}},Ha=()=>{!e||!Z||Se({title:`Archive this page?`,content:`This archives the page from Knowledge. Version history remains in the database.`,okText:`Archive`,cancelText:`Cancel`,async onOk(){if(Z)try{await e.service(`kb/documents`).remove(Z.document_id),Le(e=>e.filter(e=>e.document_id!==Z.document_id)),X.current=null,I(null),L(null),ht([]),N(null),Mr(null)}catch(e){console.error(`Failed to archive Knowledge document:`,e),J(e instanceof Error?e.message:String(e))}}})},Ua=e=>{wr(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},Wa=e=>{xr.current=e,br(e),T(`${E.pathname}${ea({editing:e})}`,{replace:!0})},Ga=()=>{ft(null),mt(null)},Ka=async e=>{await Oa()&&(Ga(),L(e),X.current=e.document_id,I(e.document_id),xr.current=!1,br(!1),T(`${it(k,Q(e),e.path)}${ea({editing:!1})}`))},qa=async e=>{if(!await Oa())return;let t=e.document;Ga(),Fi(e.namespace.slug),L(t),X.current=t.document_id,I(t.document_id),xr.current=!1,br(!1),Jt(!1),T(it(k,e.namespace.slug,t.path))},Ja=async()=>{await Oa()&&(Ga(),X.current=null,I(null),L(null),xr.current=!1,br(!1),T(`${P===`all`?k:it(k,P)}${ea({editing:!1})}`))},Ya=async e=>{let t=j.find(t=>t.document_id===e);if(t){await Ka(t);return}let n=xt?.nodes.find(t=>t.document_id===e);if(!n||!await Oa())return;Ga(),X.current=null,I(null),L(null);let r=lt(n.uri)??P;Ii(`All`),Ht(``),xr.current=!1,br(!1),T(it(k,r,n.path))},Xa=async e=>{await Oa()&&(Ga(),Fi(e),X.current=null,I(null),L(null),z(K),xr.current=!1,br(!1),T(`${e===`all`?k:it(k,e)}${ea({editing:!1})}`))},Za=(e,t=0)=>{let n=Z?.document_id===e.document_id,r=Tt===e.document_id;return(0,U.jsxs)(`button`,{type:`button`,onClick:()=>Ka(e),onMouseEnter:()=>Et(e.document_id),onMouseLeave:()=>Et(t=>t===e.document_id?null:t),style:{width:`100%`,display:`flex`,alignItems:`center`,gap:8,minHeight:30,margin:`1px 0`,padding:`5px 8px`,paddingLeft:10+t*16,border:0,borderRadius:w.borderRadius,background:n?w.colorPrimaryBg:r?w.colorFillSecondary:`transparent`,color:w.colorText,cursor:`pointer`,textAlign:`left`},children:[e.icon_emoji?(0,U.jsx)(`span`,{style:{fontSize:15,lineHeight:1,width:14,textAlign:`center`},children:e.icon_emoji}):(0,U.jsx)(ne,{style:{color:w.colorTextTertiary,fontSize:13}}),(0,U.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,U.jsx)(`span`,{style:{display:`block`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontWeight:n?600:400},children:(0,U.jsx)(Ke,{text:e.title,query:Vt})}),Qa&&(0,U.jsx)(`span`,{style:{display:`block`,color:w.colorTextTertiary,fontSize:11,lineHeight:1.2,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:(0,U.jsx)(Ke,{text:e.path,query:Vt})})]}),e.status===`draft`&&(0,U.jsx)(y,{color:`gold`,bordered:!1,style:{marginInlineEnd:0,fontSize:10,lineHeight:`16px`},children:`Draft`})]},e.document_id)},Qa=!!Vt.trim(),$a=e=>Bn([e.title,e.path],Vt),eo=e=>Bn([e.name],Vt),to=e=>Qa?e.docs.filter($a):e.docs,no=e=>{if(e.path===K)return!0;let t=to(e).length>0,n=e.children.some(no),r=fr.includes(e.path);return t||n||(Qa?eo(e):r)},ro=(e,t=0)=>{if(!no(e))return null;let n=e.children.filter(no),r=to(e),i=r.length+n.length,a=i>0,o=!Qa&&a&&Cr.has(e.path),s=!Z&&R===e.path,c=i===0,l=o||c;return(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>{z(e.path),a&&Ua(e.path)},style:{width:`100%`,display:`flex`,alignItems:`center`,gap:8,minHeight:32,margin:`1px 0`,padding:`6px 8px`,paddingLeft:10+t*16,border:0,borderRadius:w.borderRadius,background:s?w.colorPrimaryBg:`transparent`,color:c?w.colorTextSecondary:w.colorText,cursor:`pointer`,textAlign:`left`},children:[(0,U.jsx)(`span`,{style:{width:16,display:`inline-flex`,justifyContent:`center`,color:w.colorTextTertiary},children:o?(0,U.jsx)(f,{}):(0,U.jsx)(re,{})}),(0,U.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontWeight:s?600:500},children:(0,U.jsx)(Ke,{text:e.name,query:Vt})}),l&&(0,U.jsx)(y,{bordered:!1,color:`default`,style:{marginInlineEnd:0,minWidth:24,textAlign:`center`,color:c?w.colorTextTertiary:void 0},children:i}),(0,U.jsx)(`span`,{style:{width:14,color:w.colorTextTertiary,display:`inline-flex`,justifyContent:`center`,fontSize:10,marginLeft:2},children:a?o?(0,U.jsx)(ye,{}):(0,U.jsx)(_,{}):null})]}),!o&&(0,U.jsxs)(`div`,{children:[n.map(e=>ro(e,t+1)),r.map(e=>Za(e,t+1))]})]},e.path||`root`)},io=()=>{let e=ra.children.filter(no),t=to(ra);return Qa&&e.length===0&&t.length===0?(0,U.jsx)(b,{image:b.PRESENTED_IMAGE_SIMPLE,description:`No visible docs match this filter`,style:{margin:`12px 0`}}):(0,U.jsxs)(U.Fragment,{children:[e.map(e=>ro(e,0)),t.map(e=>Za(e,0))]})},ao=Ut.trim(),oo=Hn({resultKey:tn,query:ao,mode:Gt})?$t:[],so=(0,U.jsx)(`div`,{style:{width:520,maxWidth:`min(520px, calc(100vw - 48px))`},children:(0,U.jsxs)(x,{orientation:`vertical`,size:8,style:{width:`100%`},children:[(0,U.jsxs)(C,{justify:`space-between`,align:`center`,gap:8,children:[(0,U.jsx)(W,{type:`secondary`,style:{fontSize:12},children:`Searches readable Knowledge titles, paths, and content.`}),(0,U.jsx)(o,{size:`small`,value:Gt,onChange:e=>Kt(e),options:[{label:`Text`,value:`text`},{label:`Semantic`,value:`semantic`},{label:`Hybrid`,value:`hybrid`}]})]}),Zt&&(0,U.jsx)(fe,{type:`warning`,showIcon:!0,message:Zt,style:{padding:8}}),(0,U.jsx)(_e,{spinning:Yt,children:(0,U.jsx)(`div`,{style:{maxHeight:420,overflow:`auto`},children:ao.length<2?(0,U.jsx)(b,{image:b.PRESENTED_IMAGE_SIMPLE,description:`Type at least 2 characters to search all Knowledge.`}):oo.length===0&&!Yt?(0,U.jsx)(b,{image:b.PRESENTED_IMAGE_SIMPLE,description:`No Knowledge results`}):(0,U.jsx)(x,{orientation:`vertical`,size:4,style:{width:`100%`},children:oo.map(e=>{let t=e.document,n=Jn(e.chunks?.find(e=>e.snippet)?.snippet??e.snippet);return(0,U.jsxs)(`button`,{type:`button`,onClick:()=>qa(e),style:{width:`100%`,border:0,borderRadius:w.borderRadius,background:`transparent`,color:w.colorText,cursor:`pointer`,padding:`8px 10px`,textAlign:`left`},onMouseEnter:e=>{e.currentTarget.style.background=w.colorFillQuaternary},onMouseLeave:e=>{e.currentTarget.style.background=`transparent`},children:[(0,U.jsxs)(C,{align:`baseline`,gap:8,style:{minWidth:0},children:[t.icon_emoji&&(0,U.jsx)(`span`,{style:{fontSize:15,lineHeight:1},children:t.icon_emoji}),(0,U.jsx)(W,{strong:!0,style:{flex:1,minWidth:0},ellipsis:!0,children:(0,U.jsx)(Ke,{text:t.title,query:Ut})}),(0,U.jsx)(y,{bordered:!1,style:{marginInlineEnd:0},children:Cn[t.kind]??t.kind})]}),(0,U.jsx)(W,{type:`secondary`,style:{display:`block`,fontSize:12},ellipsis:!0,children:(0,U.jsx)(Ke,{text:`${e.namespace.display_name||e.namespace.slug} / ${t.path}`,query:Ut})}),n&&(0,U.jsx)(W,{type:`secondary`,style:{display:`-webkit-box`,fontSize:12,lineHeight:1.35,marginTop:2,overflow:`hidden`,WebkitBoxOrient:`vertical`,WebkitLineClamp:2},children:(0,U.jsx)(Ke,{text:n,query:Ut})})]},t.document_id)})})})})]})}),co=qn(A),lo=[{label:`All Spaces`,value:`all`},...co],uo=Yn(ur,{allowEmpty:!0}),fo=Yn(gr,{allowEmpty:!0}),po=Mn(vr)?Yn(vr):null,mo=`Use letters, numbers, spaces, dashes, underscores, dots, and / for subfolders.`,ho=Fr||Lr,go=!O||!!(Z&&Z.path===O&&(!D||Q(Z)===D)),_o=!!(Pe&&_t&&_t.key===Pe),vo=Fn({activeDocMatchesRoute:go,routeDocumentResolutionFailed:_o,routeNamespaceSlug:D,routeDocumentPath:O}),yo=In({activeDocPresent:!!Z,isEditing:Y,routeDocumentPath:O}),bo=vo||!!(Z&&(!go||!zi)),xo=Y||yo||bo||_o;return(0,H.useEffect)(()=>{if(!E.hash||Y||bo||!go)return;let e=E.hash.slice(1),t=rt(e),n=!1,r=()=>{n||(document.getElementById(t)||(t===e?null:document.getElementById(e)))?.scrollIntoView({block:`start`})},i=window.requestAnimationFrame(r),a=window.setTimeout(r,80);return()=>{n=!0,window.cancelAnimationFrame(i),window.clearTimeout(a)}},[go,Y,E.hash,bo]),(0,U.jsxs)(be,{style:{height:`100vh`,overflow:`hidden`,background:w.colorBgLayout},children:[(0,U.jsxs)(un,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,height:56,padding:`0 16px`,background:w.colorBgContainer,borderBottom:`1px solid ${w.colorBorderSecondary}`},children:[(0,U.jsxs)(x,{size:12,children:[(0,U.jsx)(s,{type:`text`,icon:(0,U.jsx)(h,{}),onClick:async()=>{await Oa()&&T(`/`)}}),(0,U.jsx)(Be,{level:3,style:{marginTop:-4}}),(0,U.jsxs)(W,{strong:!0,style:{display:`inline-flex`,alignItems:`center`,gap:w.sizeUnit,fontSize:15,cursor:`pointer`},onClick:Ja,children:[(0,U.jsx)(a,{style:{color:w.colorTextSecondary}}),`Knowledge`]}),(0,U.jsx)(v,{title:`Knowledge is in beta — expect rough edges while the data model, MCP tools, and editor settle.`,children:(0,U.jsx)(y,{color:`orange`,style:{fontSize:10,lineHeight:`16px`,padding:`0 6px`,margin:0,cursor:`help`,userSelect:`none`},children:`BETA`})})]}),(0,U.jsx)(`div`,{ref:Ai,onKeyDown:e=>{e.key===`Escape`&&Jt(!1)},style:{flex:1,display:`flex`,justifyContent:`center`,minWidth:220,padding:`0 20px`},children:(0,U.jsx)(u,{open:qt,onOpenChange:e=>{e&&Jt(!0)},trigger:`click`,placement:`bottom`,content:so,arrow:!1,getPopupContainer:e=>Ai.current??e.parentElement??document.body,children:(0,U.jsx)(se.Search,{allowClear:!0,"aria-label":`Search all Knowledge`,placeholder:`Search all Knowledge…`,prefix:(0,U.jsx)(p,{}),value:Ut,onClick:()=>Jt(!0),onFocus:()=>Jt(!0),onChange:e=>{Wt(e.target.value),Jt(!0)},onSearch:(e,t,n)=>{if(n?.source===`clear`||Yt||!Hn({resultKey:tn,query:e.trim(),mode:Gt}))return;let r=$t[0];r&&qa(r)},loading:Yt,style:{width:`min(520px, 100%)`}})})}),(0,U.jsxs)(x,{children:[(0,U.jsx)(v,{title:`Refresh Knowledge`,placement:`bottom`,children:(0,U.jsx)(s,{type:`text`,"aria-label":`Refresh Knowledge`,icon:(0,U.jsx)(xe,{style:{fontSize:w.fontSizeLG}}),onClick:pa,loading:on,style:{display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,U.jsx)(v,{title:`Documentation`,placement:`bottom`,children:(0,U.jsx)(s,{type:`text`,icon:(0,U.jsx)(ve,{style:{fontSize:w.fontSizeLG}}),href:`https://agor.live/guide/getting-started`,target:`_blank`,rel:`noopener noreferrer`,style:{display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,U.jsx)(tt,{}),Ee(i?.role,Oe.ADMIN)&&(0,U.jsx)(v,{title:`Knowledge settings`,placement:`bottom`,children:(0,U.jsx)(s,{type:`text`,icon:(0,U.jsx)(oe,{style:{fontSize:w.fontSizeLG}}),onClick:_a,style:{display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,U.jsx)(et,{user:i,onUserSettingsClick:d,onLogout:le})]})]}),(0,U.jsx)(dn,{style:{height:`calc(100vh - 56px)`,overflow:`hidden`,padding:0},children:(0,U.jsxs)(Qe,{id:`knowledge-layout`,direction:`horizontal`,style:{height:`100%`},onLayout:e=>{ki.current&&e.length>=2&&Di(bn(e[0],Vi,Hi))},children:[(0,U.jsx)(Ze,{id:`knowledge-sidebar`,order:1,ref:Oi,defaultSize:Ui,minSize:Vi,maxSize:Hi,style:{minWidth:gn},children:(0,U.jsx)(`aside`,{style:{height:`100%`,boxSizing:`border-box`,borderRight:`1px solid ${w.colorBorderSecondary}`,background:w.colorBgContainer,padding:16,overflow:`auto`},children:(0,U.jsxs)(x,{orientation:`vertical`,size:12,style:{width:`100%`},children:[!e&&(0,U.jsx)(fe,{type:`warning`,title:`Knowledge requires a daemon connection.`}),(0,U.jsxs)(x,{orientation:`vertical`,size:4,style:{width:`100%`},children:[(0,U.jsx)(W,{type:`secondary`,style:{fontSize:11,textTransform:`uppercase`},children:`Space`}),(0,U.jsx)(c,{...qe,value:P,onChange:Xa,style:{width:`100%`},options:lo})]}),(0,U.jsx)(se,{allowClear:!0,prefix:(0,U.jsx)(p,{}),placeholder:`Filter visible docs`,"aria-label":`Filter visible Knowledge docs`,value:Vt,onChange:e=>Ht(e.target.value)}),(0,U.jsxs)(C,{gap:8,children:[(0,U.jsx)(s,{block:!0,type:`primary`,icon:(0,U.jsx)(he,{}),onClick:()=>ja(`doc`),disabled:!e,children:`New Page`}),(0,U.jsx)(s,{icon:(0,U.jsx)(pe,{}),onClick:Ma})]}),(0,U.jsx)(o,{block:!0,size:`small`,value:rn,onChange:e=>Ii(String(e)),options:[`All`,`Pages`,`Skills`,`Memories`]}),(0,U.jsx)(_e,{spinning:on,children:(0,U.jsxs)(`div`,{style:{background:w.colorFillQuaternary,borderRadius:w.borderRadiusLG,padding:4},children:[(0,U.jsxs)(`button`,{type:`button`,onClick:Ja,style:{width:`100%`,display:`flex`,alignItems:`center`,gap:8,minHeight:30,margin:`1px 0`,padding:`5px 10px`,border:0,borderRadius:w.borderRadius,background:yo?w.colorPrimaryBg:`transparent`,color:w.colorText,cursor:`pointer`,textAlign:`left`,fontWeight:yo?600:400},children:[(0,U.jsx)(me,{style:{color:w.colorTextTertiary,fontSize:13}}),(0,U.jsx)(`span`,{children:`Graph`})]}),io()]})})]})})}),(0,U.jsx)(Xe,{style:{width:`4px`,background:w.colorBorderSecondary,cursor:`col-resize`,transition:`background 0.2s`},onDragging:e=>{ki.current=e},onMouseEnter:e=>{e.currentTarget.style.background=w.colorPrimary},onMouseLeave:e=>{e.currentTarget.style.background=w.colorBorderSecondary}}),(0,U.jsx)(Ze,{id:`knowledge-main`,order:2,minSize:30,children:(0,U.jsx)(`main`,{style:{height:`100%`,minWidth:0,overflow:xo?`hidden`:`auto`,background:w.colorBgLayout},children:(0,U.jsxs)(`div`,{style:{maxWidth:xo?`none`:1040,height:xo?`100%`:void 0,margin:xo?0:`0 auto`,padding:yo?0:Y?24:`40px 56px`,boxSizing:`border-box`,display:xo?`flex`:void 0,flexDirection:xo?`column`:void 0,minHeight:0},children:[wn&&(0,U.jsx)(fe,{type:`error`,title:`Knowledge error`,description:wn,closable:!0,onClose:()=>J(null),style:{marginBottom:16}}),Z&&go&&zi?(0,U.jsxs)(`div`,{style:{width:`100%`,height:Y?`100%`:void 0,display:`flex`,flexDirection:`column`,gap:20,minHeight:0},children:[(0,U.jsxs)(`div`,{onMouseEnter:()=>Ir(!0),onMouseLeave:()=>Ir(!1),onFocus:()=>Ir(!0),onBlur:e=>{let t=e.relatedTarget;(!t||!e.currentTarget.contains(t))&&Ir(!1)},style:{position:`relative`,display:Y?`flex`:`block`,alignItems:`flex-start`,gap:16},children:[(0,U.jsxs)(x,{orientation:`vertical`,size:8,style:{width:`100%`,minWidth:0,flex:1},children:[(0,U.jsxs)(C,{align:`center`,gap:12,style:{width:`100%`},children:[(0,U.jsx)(u,{trigger:`click`,placement:`bottomLeft`,onOpenChange:Rr,content:Ra(Y?Rt:La),children:(0,U.jsx)(s,{type:`text`,size:`large`,disabled:!e&&!Li,style:{fontSize:30,width:52,height:52,padding:0,color:Ri?void 0:w.colorTextTertiary},"aria-label":Ri?`Change Knowledge document emoji icon`:`Add Knowledge document emoji icon`,children:Ri?(0,U.jsx)(`span`,{style:{fontSize:39,lineHeight:1},children:Ri}):(0,U.jsx)(ne,{})})}),(0,U.jsx)(`div`,{style:{flex:1,minWidth:0},children:Y&&!B?(0,U.jsx)(se,{value:kt,onChange:e=>At(e.target.value),placeholder:`Page title`,size:`large`,variant:`borderless`,style:{fontSize:32,fontWeight:700,paddingInline:0}}):(0,U.jsx)(fn,{level:1,style:{margin:0},children:Y?kt:Z.title})})]}),(0,U.jsxs)(x,{wrap:!0,children:[Y?(0,U.jsx)(c,{size:`small`,value:jt,disabled:!ua,onChange:Mt,style:{width:104},options:[{label:`Public`,value:`public`},{label:`Private`,value:`private`}]}):(0,U.jsx)(y,{color:Z.visibility===`public`?`green`:`default`,children:Z.visibility}),Y?(0,U.jsx)(c,{size:`small`,value:Nt,disabled:!ua,onChange:Pt,style:{width:118},options:[{label:`Published`,value:`published`},{label:`Draft`,value:`draft`}]}):Z.status===`draft`?(0,U.jsx)(y,{color:`gold`,children:`Draft`}):(0,U.jsx)(y,{color:`blue`,children:`Published`}),(0,U.jsx)(On,{status:Z.indexing_status,size:16}),Y?(0,U.jsx)(c,{size:`small`,value:Ft,onChange:It,style:{width:128},options:Ae.map(e=>({label:Cn[e],value:e}))}):(0,U.jsx)(y,{children:Cn[Z.kind]??Z.kind}),(0,U.jsx)(W,{type:`secondary`,children:Z.path})]}),Y&&(0,U.jsxs)(x,{orientation:`vertical`,size:4,children:[(0,U.jsx)(t,{checked:B,onChange:e=>zt(e.target.checked),children:`Use first heading as title`}),(0,U.jsx)(t,{checked:zr,disabled:!Qi,onChange:e=>Br(e.target.checked),children:`Rename page path to match title`}),Qi&&(0,U.jsxs)(W,{type:`secondary`,style:{fontSize:12},children:[`Current path: `,Z.path,zr&&` → ${$i}`]})]})]}),(0,U.jsx)(x,{style:Y?void 0:{position:`absolute`,top:0,right:0,zIndex:2,padding:4,borderRadius:w.borderRadiusLG,background:w.colorBgContainer,boxShadow:Fr?w.boxShadowSecondary:void 0},children:Y?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(s,{onClick:za,children:`Cancel`}),(0,U.jsx)(s,{type:`primary`,icon:(0,U.jsx)(r,{}),loading:cn,disabled:!e,onClick:Fa,children:`Save`})]}):(0,U.jsxs)(U.Fragment,{children:[ho&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(s,{icon:(0,U.jsx)(te,{}),disabled:!e,onClick:Ba,children:[`History`,sa>0&&(0,U.jsx)(y,{color:`blue`,variant:`filled`,style:{marginInlineStart:6,marginInlineEnd:0},children:sa})]}),(0,U.jsx)(s,{icon:(0,U.jsx)(re,{}),disabled:!e,onClick:()=>{Or(Xn(Z.path)),Er(!0)},children:`Relocate`}),(0,U.jsx)(Ue,{tooltip:``,size:`middle`,disabled:!e,onClick:Ha,children:`Archive`})]}),(0,U.jsx)(s,{icon:(0,U.jsx)(g,{}),disabled:!e,onClick:()=>Wa(!0),children:`Edit`})]})})]}),Y?(0,U.jsxs)(C,{gap:16,align:`stretch`,style:{flex:1,minHeight:0},children:[(0,U.jsxs)(`div`,{style:{width:`50%`,minWidth:0,minHeight:0,display:`flex`,flexDirection:`column`,gap:8},children:[(0,U.jsx)(W,{strong:!0,children:`Markdown`}),(0,U.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`auto`},children:(0,U.jsx)(ut,{value:V,onChange:Bt,client:e,sessionId:null,userById:ge,kbDocs:Re,placeholder:`# Page title
7
+
8
+ Write markdown here. Type @ to link a doc or mention a user, : for emoji.`,autoSize:{minRows:24}},Z.document_id)})]}),(0,U.jsxs)(`div`,{style:{width:`50%`,minWidth:0,minHeight:0,display:`flex`,flexDirection:`column`,gap:8},children:[(0,U.jsx)(W,{strong:!0,children:`Preview`}),(0,U.jsx)(`div`,{onClick:Xi,style:{flex:1,minHeight:0,overflow:`auto`,padding:24,border:`1px solid ${w.colorBorderSecondary}`,borderRadius:w.borderRadiusLG,background:w.colorBgContainer},children:(0,U.jsx)(We,{content:Yi(V),headingAnchors:!0})})]})]}):(0,U.jsx)(`div`,{onClick:Xi,style:{padding:`8px 0 80px`,fontSize:16,lineHeight:1.7},children:(0,U.jsx)(We,{content:Yi(B?nr(V):V),headingAnchors:!0})})]}):bo?(0,U.jsx)(C,{vertical:!0,align:`center`,justify:`center`,style:{flex:1,minHeight:320,width:`100%`},children:(0,U.jsx)(_e,{})}):_o?(0,U.jsx)(C,{vertical:!0,align:`center`,justify:`center`,style:{flex:1,minHeight:320,width:`100%`},children:(0,U.jsx)(b,{image:b.PRESENTED_IMAGE_SIMPLE,description:_t?.message??`Knowledge page not found.`})}):(0,U.jsx)(`div`,{style:{flex:1,minHeight:0,width:`100%`},children:(0,U.jsx)(ln,{nodes:xt?.nodes??[],edges:xt?.edges??[],activeDocId:F,hoverDocId:Tt,onSelectDoc:Ya,onHoverDoc:Et,loading:Ct,emptyText:P===`all`?`Pick a Space to see its document graph.`:`No linked documents in this Space yet.`})})]})})})]})}),(0,U.jsx)(Ce,{title:`Version history`,open:kr,onClose:()=>Ar(!1),size:`72vw`,destroyOnHidden:!0,extra:(0,U.jsxs)(x,{children:[(0,U.jsx)(o,{size:`small`,value:Nr,onChange:e=>Pr(e),options:[{label:`Preview`,value:`preview`},{label:`Diff`,value:`diff`}]}),(0,U.jsx)(s,{type:`primary`,loading:cn,disabled:!$||$.version_id===M[0]?.version_id,onClick:Va,children:`Restore`})]}),children:(0,U.jsxs)(C,{gap:16,style:{height:`100%`},children:[(0,U.jsx)(`div`,{style:{width:280,flexShrink:0,borderRight:`1px solid ${w.colorBorderSecondary}`,paddingRight:12,overflow:`auto`},children:(0,U.jsx)(ae,{dataSource:M,locale:{emptyText:(0,U.jsx)(b,{description:`No version history yet`})},renderItem:(e,t)=>{let n=Dn(e),r=n?.targetVersionId?M.find(e=>e.version_id===n.targetVersionId):null;return(0,U.jsx)(ae.Item,{onClick:()=>Mr(e.version_id),style:{cursor:`pointer`,borderRadius:w.borderRadiusLG,padding:12,background:$?.version_id===e.version_id?w.colorPrimaryBg:`transparent`},children:(0,U.jsx)(ae.Item.Meta,{title:(0,U.jsxs)(x,{wrap:!0,children:[(0,U.jsxs)(W,{strong:!0,children:[`v`,e.version_number]}),t===0&&(0,U.jsx)(y,{color:`green`,children:`Current`}),n&&(0,U.jsx)(u,{content:(0,U.jsxs)(x,{orientation:`vertical`,size:4,children:[(0,U.jsxs)(W,{children:[`When`,` `,r?`v${r.version_number}`:`the next version`,` `,`was indexed, Agor reused `,n.reusedChunks,` of`,` `,n.totalChunks,` chunk embeddings from matching normalized chunk hashes.`]}),(n.model||n.dimensions)&&(0,U.jsx)(W,{type:`secondary`,children:[n.model,n.dimensions&&`${n.dimensions}d`].filter(Boolean).join(` · `)}),n.updatedAt&&(0,U.jsxs)(W,{type:`secondary`,children:[`Recorded `,rr(n.updatedAt)]})]}),children:(0,U.jsxs)(y,{color:`green`,children:[`♻️ `,`${n.reusedChunks}/${n.totalChunks}`]})})]}),description:(0,U.jsxs)(x,{orientation:`vertical`,size:2,children:[(0,U.jsx)(W,{type:`secondary`,children:rr(e.created_at)}),e.change_summary&&(0,U.jsx)(W,{children:e.change_summary})]})})})}})}),(0,U.jsx)(`div`,{style:{flex:1,minWidth:0,overflow:`auto`},children:$?Nr===`diff`?oa?(0,U.jsx)(at,{filePath:Z?.path??`knowledge.md`,operationType:`edit`,oldContent:oa.content_text??``,newContent:$.content_text??``,forceExpanded:!0}):(0,U.jsx)(b,{description:`No previous version to diff against`}):(0,U.jsx)(`div`,{onClick:Xi,style:{maxWidth:900,margin:`0 auto`,paddingBottom:80},children:(0,U.jsxs)(x,{orientation:`vertical`,size:12,style:{width:`100%`},children:[(0,U.jsxs)(x,{wrap:!0,children:[(0,U.jsxs)(y,{children:[`v`,$.version_number]}),(0,U.jsx)(W,{type:`secondary`,children:rr($.created_at)})]}),(0,U.jsx)(We,{content:Yi($.content_text??``),headingAnchors:!0})]})}):(0,U.jsx)(b,{description:`Select a version`})})]})}),(0,U.jsx)(de,{title:`Knowledge settings`,open:Vr,onCancel:()=>Hr(!1),footer:null,width:760,children:(0,U.jsx)(_e,{spinning:qr,children:(0,U.jsx)(m,{defaultActiveKey:`namespaces`,items:[{key:`namespaces`,label:`Namespaces`,children:(0,U.jsxs)(x,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,U.jsx)(fe,{type:`info`,showIcon:!0,message:`Namespaces are the Knowledge RBAC boundary. Use the workspace fallback for broad access, and add specific user or group grants below when access should be narrower.`}),ci&&(0,U.jsx)(fe,{type:`error`,showIcon:!0,message:ci}),(0,U.jsxs)(C,{justify:`space-between`,align:`center`,children:[(0,U.jsxs)(x,{direction:`vertical`,size:0,children:[(0,U.jsx)(W,{strong:!0,children:`Knowledge namespaces`}),(0,U.jsx)(W,{type:`secondary`,children:`Create and manage Knowledge spaces, defaults, and broad workspace access.`})]}),(0,U.jsx)(s,{type:`primary`,onClick:()=>ba(null),children:`New namespace`})]}),(0,U.jsx)(ae,{size:`small`,dataSource:A,locale:{emptyText:`No readable namespaces`},renderItem:e=>{let t=e.effective_permission===`own`;return(0,U.jsx)(ae.Item,{actions:[(0,U.jsx)(s,{size:`small`,disabled:!t,onClick:()=>ba(e),children:`Edit`},`edit`),(0,U.jsx)(s,{size:`small`,danger:!0,disabled:!t||e.kind===`system`,onClick:()=>Ea(e),children:`Archive`},`archive`)],children:(0,U.jsx)(ae.Item.Meta,{title:(0,U.jsxs)(x,{wrap:!0,children:[(0,U.jsx)(W,{strong:!0,children:e.display_name||e.slug}),(0,U.jsx)(y,{children:e.slug}),(0,U.jsxs)(y,{color:e.others_can===`none`?`default`:`blue`,children:[`others: `,e.others_can]})]}),description:e.description||`No description`})})}})]})},{key:`semantic`,label:`Semantic search`,children:(0,U.jsxs)(x,{direction:`vertical`,size:16,style:{width:`100%`},children:[Zr&&(0,U.jsx)(fe,{type:`error`,showIcon:!0,message:Zr}),(0,U.jsx)(fe,{type:`info`,showIcon:!0,message:`Semantic search uses markdown-aware chunks stored in Postgres/pgvector. SQLite can save settings and chunks, but vector search requires Postgres.`}),Gr&&(0,U.jsx)(`div`,{style:{border:`1px solid ${w.colorBorderSecondary}`,borderRadius:w.borderRadiusLG,padding:12,background:w.colorFillQuaternary},children:(0,U.jsxs)(x,{direction:`vertical`,size:4,style:{width:`100%`},children:[(0,U.jsx)(W,{strong:!0,children:`Indexing status`}),(0,U.jsxs)(W,{type:`secondary`,children:[Gr.dialect,` · pgvector`,` `,Gr.pgvector_available?`ready`:Gr.pgvector_extension_installed?`extension installed, storage not ready`:`not available`,` `,`· queue `,Gr.queue_depth]}),(0,U.jsx)(x,{wrap:!0,children:Object.entries(Gr.chunks).map(([e,t])=>(0,U.jsxs)(y,{children:[e,`: `,Number(t)]},e))}),Gr.last_error&&(0,U.jsx)(fe,{type:`warning`,message:Gr.last_error})]})}),(0,U.jsxs)(S,{form:ti,layout:`vertical`,initialValues:Ur??hn,children:[(0,U.jsx)(S.Item,{name:`enabled`,label:`Enable semantic / hybrid search`,valuePropName:`checked`,children:(0,U.jsx)(ie,{})}),(0,U.jsxs)(C,{gap:12,wrap:`wrap`,children:[(0,U.jsx)(S.Item,{name:`provider`,label:`Provider`,style:{minWidth:180,flex:1},children:(0,U.jsx)(c,{options:[{label:`OpenAI`,value:`openai`}]})}),(0,U.jsx)(S.Item,{name:`model`,label:`Model`,style:{minWidth:240,flex:2},children:(0,U.jsx)(c,{options:Sn,onChange:()=>ti.setFieldValue(`dimensions`,1536)})}),(0,U.jsx)(S.Item,{name:`dimensions`,label:`Dimensions`,tooltip:`Agor V1 indexes 1536-dimensional embeddings. text-embedding-3-large is requested with dimensions=1536.`,style:{width:140},children:(0,U.jsx)(we,{disabled:!0,min:1536,max:1536,precision:0,style:{width:`100%`}})})]}),(0,U.jsx)(S.Item,{label:`OpenAI API key`,children:(0,U.jsx)(se.Password,{value:$r,onChange:e=>ei(e.target.value),placeholder:Ur?.api_key_configured?`Configured — enter a new key to replace`:`sk-...`,autoComplete:`off`})}),(0,U.jsxs)(C,{gap:12,wrap:`wrap`,children:[(0,U.jsx)(S.Item,{name:[`chunking`,`target_tokens`],label:`Target tokens`,style:{width:150},children:(0,U.jsx)(we,{min:100,precision:0,style:{width:`100%`}})}),(0,U.jsx)(S.Item,{name:[`chunking`,`max_tokens`],label:`Max tokens`,style:{width:150},children:(0,U.jsx)(we,{min:100,precision:0,style:{width:`100%`}})}),(0,U.jsx)(S.Item,{name:[`chunking`,`overlap_tokens`],label:`Overlap`,style:{width:130},children:(0,U.jsx)(we,{min:0,precision:0,style:{width:`100%`}})}),(0,U.jsx)(S.Item,{name:[`chunking`,`min_tokens`],label:`Min tokens`,style:{width:130},children:(0,U.jsx)(we,{min:0,precision:0,style:{width:`100%`}})}),(0,U.jsx)(S.Item,{name:[`indexing`,`batch_size`],label:`Batch size`,style:{width:130},children:(0,U.jsx)(we,{min:1,max:256,precision:0,style:{width:`100%`}})})]})]}),(0,U.jsxs)(C,{justify:`space-between`,align:`center`,children:[(0,U.jsx)(W,{type:`secondary`,children:`Reindexing queues current Knowledge chunks and wakes the background indexer.`}),(0,U.jsxs)(x,{children:[(0,U.jsx)(s,{onClick:ya,loading:Yr,children:`Reindex now`}),(0,U.jsx)(s,{type:`primary`,onClick:va,loading:Yr,children:`Save semantic settings`})]})]})]})}]})})}),(0,U.jsx)(de,{title:ii?`Edit namespace`:`Create namespace`,open:ni,onCancel:()=>ri(!1),okText:ii?`Save namespace`:`Create namespace`,onOk:Ta,confirmLoading:oi,destroyOnHidden:!0,children:(0,U.jsxs)(S,{form:ui,layout:`vertical`,onValuesChange:xa,children:[(0,U.jsx)(S.Item,{name:`display_name`,label:`Name`,rules:[{required:!0,message:`Name is required`}],children:(0,U.jsx)(se,{placeholder:`Team docs`})}),(0,U.jsx)(S.Item,{name:`slug`,label:`Slug`,rules:[{required:!0,message:`Namespace slug is required`},{pattern:/^[a-z0-9][a-z0-9._-]*$/,message:`Use lowercase letters, numbers, dots, underscores, or dashes`}],children:(0,U.jsx)(se,{disabled:!!ii,placeholder:`team-docs`})}),(0,U.jsx)(S.Item,{name:`description`,label:`Description`,children:(0,U.jsx)(se.TextArea,{rows:3,placeholder:`What belongs in this namespace?`})}),(0,U.jsx)(S.Item,{name:`kind`,hidden:!0,children:(0,U.jsx)(se,{})}),(0,U.jsxs)(x,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,U.jsxs)(x,{direction:`vertical`,size:0,children:[(0,U.jsx)(W,{strong:!0,children:`Default access`}),(0,U.jsx)(W,{type:`secondary`,children:`These defaults apply across the namespace before user or group-specific grants.`})]}),(0,U.jsxs)(C,{gap:12,wrap:`wrap`,children:[(0,U.jsx)(S.Item,{name:`visibility_default`,label:`Default document visibility`,style:{minWidth:180,flex:1},children:(0,U.jsx)(c,{options:[{label:`Public in namespace`,value:`public`},{label:`Private to creator`,value:`private`}]})}),(0,U.jsx)(S.Item,{name:`others_can`,label:`Everyone else in workspace`,tooltip:`Fallback for users not listed in specific namespace access.`,style:{minWidth:180,flex:1},children:(0,U.jsx)(c,{options:[{label:`No access`,value:`none`},{label:`Read`,value:`read`},{label:`Write`,value:`write`}]})})]})]}),(0,U.jsxs)(x,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,U.jsxs)(x,{direction:`vertical`,size:0,children:[(0,U.jsx)(W,{strong:!0,children:`Specific access`}),(0,U.jsx)(W,{type:`secondary`,children:`Add users or groups that should override the default access above.`})]}),(0,U.jsxs)(C,{gap:8,wrap:`wrap`,children:[(0,U.jsx)(c,{showSearch:!0,allowClear:!0,placeholder:`User or group`,value:bi,onChange:e=>xi(e??null),options:Gi,optionFilterProp:`label`,style:{minWidth:280,flex:1}}),(0,U.jsx)(c,{value:Si,onChange:Ci,options:[{label:`Read`,value:`read`},{label:`Write`,value:`write`},{label:`Own`,value:`own`}],style:{width:120}}),(0,U.jsx)(s,{onClick:Sa,disabled:!bi,children:`+ Add`})]}),(0,U.jsx)(_e,{spinning:vi,children:(0,U.jsx)(ae,{size:`small`,dataSource:gi,locale:{emptyText:`No specific user or group grants`},renderItem:e=>(0,U.jsx)(ae.Item,{actions:[(0,U.jsx)(c,{size:`small`,value:e.permission,onChange:t=>Ca(e,t),options:[{label:`Read`,value:`read`},{label:`Write`,value:`write`},{label:`Own`,value:`own`}],style:{width:110}},`permission`),(0,U.jsx)(s,{type:`text`,size:`small`,danger:!0,icon:(0,U.jsx)(Te,{}),"aria-label":`Remove ${qi(e)}`,onClick:()=>wa(e)},`remove`)],children:(0,U.jsx)(ae.Item.Meta,{title:(0,U.jsxs)(x,{children:[(0,U.jsx)(v,{title:e.subject_type===`user`?`User`:`Group`,children:e.subject_type===`user`?(0,U.jsx)(ue,{}):(0,U.jsx)(ce,{})}),(0,U.jsx)(W,{children:qi(e)})]})})})})})]})]})}),(0,U.jsx)(de,{title:`Relocate page`,open:Tr,okText:`Move`,onOk:async()=>{Z&&await Ia(Z,Dr),Er(!1)},onCancel:()=>Er(!1),destroyOnHidden:!0,children:(0,U.jsxs)(x,{orientation:`vertical`,size:12,style:{width:`100%`},children:[(0,U.jsx)(W,{type:`secondary`,children:`Choose the target folder. The page filename stays the same.`}),(0,U.jsx)(`style`,{children:`
9
+ .knowledge-relocate-tree .ant-tree-node-content-wrapper,
10
+ .knowledge-relocate-tree .ant-tree-switcher {
11
+ background: transparent !important;
12
+ }
13
+ .knowledge-relocate-tree .ant-tree-node-content-wrapper:hover {
14
+ background: ${w.colorFillQuaternary} !important;
15
+ }
16
+ .knowledge-relocate-tree .ant-tree-node-content-wrapper.ant-tree-node-selected {
17
+ background: ${w.colorPrimaryBg} !important;
18
+ color: ${w.colorPrimaryText} !important;
19
+ font-weight: 600;
20
+ }
21
+ .knowledge-relocate-tree .ant-tree-node-content-wrapper.ant-tree-node-selected:hover {
22
+ background: ${w.colorPrimaryBgHover} !important;
23
+ }
24
+ `}),(0,U.jsx)(l,{className:`knowledge-relocate-tree`,showLine:!0,blockNode:!0,treeData:ia,selectedKeys:[`folder:${Dr}`],expandedKeys:Dt,onExpand:e=>Ot(e),onSelect:(e,t)=>{let n=t.node;n.kind===`folder`&&Or(n.folderPath??K)},style:{maxHeight:360,overflow:`auto`,padding:8,border:`1px solid ${w.colorBorderSecondary}`,borderRadius:w.borderRadiusLG,background:w.colorBgContainer}})]})}),(0,U.jsx)(de,{title:`Create ${Cn[Un]??`Page`}`,open:Tn,okText:`Create`,confirmLoading:cn,onOk:Pa,onCancel:()=>En(!1),destroyOnHidden:!0,children:(0,U.jsxs)(S,{layout:`vertical`,children:[(0,U.jsx)(S.Item,{label:`Type`,children:(0,U.jsx)(o,{block:!0,value:Un,onChange:e=>{let t=e,n=t===`skill`?`New Skill`:t===`memory`?`New Memory`:`New Page`;Wn(t),sr(n),dr(R||(t===`skill`?`skills`:t===`memory`?`memories`:`pages`))},options:[{label:`Page`,value:`doc`},{label:`Skill`,value:`skill`},{label:`Memory`,value:`memory`}]})}),(0,U.jsx)(S.Item,{label:`Space`,children:(0,U.jsx)(c,{...qe,value:cr,onChange:lr,options:co})}),(0,U.jsx)(S.Item,{label:`Folder`,validateStatus:uo?`error`:void 0,help:uo??mo,children:(0,U.jsx)(ee,{value:ur,onChange:e=>dr(Mn(e)),options:na,placeholder:`Root, pages, skills/how-to, ...`,filterOption:(e,t)=>String(t?.value??``).toLowerCase().includes(e.toLowerCase())})}),(0,U.jsx)(S.Item,{label:`Title`,children:(0,U.jsx)(se,{value:or,onChange:e=>sr(e.target.value),autoFocus:!0})}),(0,U.jsx)(fe,{type:`info`,showIcon:!0,title:`Path preview`,description:(0,U.jsx)(W,{code:!0,children:aa})})]})}),(0,U.jsx)(de,{title:`New Folder`,open:mr,okText:`Create folder`,onOk:Na,okButtonProps:{disabled:!Mn(vr)||!!(po||fo)},onCancel:()=>hr(!1),destroyOnHidden:!0,children:(0,U.jsxs)(S,{layout:`vertical`,children:[(0,U.jsx)(S.Item,{label:`Parent folder`,validateStatus:fo?`error`:void 0,help:fo??mo,children:(0,U.jsx)(ee,{value:gr,onChange:e=>_r(Mn(e)),options:na,placeholder:`Root`,filterOption:(e,t)=>String(t?.value??``).toLowerCase().includes(e.toLowerCase())})}),(0,U.jsx)(S.Item,{label:`Folder name`,validateStatus:po?`error`:void 0,help:po??mo,children:(0,U.jsx)(se,{value:vr,onChange:e=>yr(e.target.value),placeholder:`research, runbooks, team/data, ...`,autoFocus:!0})}),(0,U.jsx)(fe,{type:`info`,showIcon:!0,title:`Folders are path-based`,description:`Empty folders are local placeholders until you create a page inside them; they still appear in relocate targets.`})]})})]})}export{or as KnowledgePage,Hn as areKnowledgeSearchResultsFresh,zn as buildKnowledgeDocumentRouteUrl,qn as buildKnowledgeNamespaceSelectOptions,Rn as buildKnowledgeQueryString,Vn as buildKnowledgeSearchResultKey,Ln as isKnowledgeDocumentContentReady,Kn as isKnowledgeDocumentsResponseCurrent,Bn as matchesKnowledgeSidebarFilter,Nn as resolveActiveKnowledgeDocument,Wn as resolveKnowledgeSpaceAfterNamespacesLoad,Gn as resolveKnowledgeSpaceAfterRouteOrNamespacesLoad,Pn as shouldDeferKnowledgeUrlMirrorForRoute,In as shouldShowKnowledgeGraphView,Fn as shouldShowKnowledgeRouteDocumentLoading};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{Gn as t,Zn as n,ir as r,nn as i,zt as a}from"./antd-DT5ackd0.js";import{j as o,q as s}from"./src-DAeyG22O.js";import{N as c}from"./editor-DQIG-JYZ.js";import{u as l}from"./reactflow-Cubtnk8i.js";import{Vt as u,yn as d}from"./index-DTz1Dif6.js";import{h as f,t as p}from"./SessionCanvas-B6_mtlxK.js";var m=e(r(),1),h=c(),g=`2026-06-21T06:00:00.000Z`,_=`019ee88d-demo-board-0000-000000000001`,v=`019ee88d-demo-repo-0000-000000000001`,y=[{user_id:`demo-user-max`,name:`Max`,email:`max@preset.io`,emoji:`🧑‍🚀`},{user_id:`demo-user-ari`,name:`Ari`,email:`ari@example.com`,emoji:`🧠`},{user_id:`demo-user-mina`,name:`Mina`,email:`mina@example.com`,emoji:`🎨`},{user_id:`demo-user-devon`,name:`Devon`,email:`devon@example.com`,emoji:`🛠️`},{user_id:`demo-user-kai`,name:`Kai`,email:`kai@example.com`,emoji:`🚢`},{user_id:`demo-user-jules`,name:`Jules`,email:`jules@example.com`,emoji:`🔍`},{user_id:`demo-user-sam`,name:`Sam`,email:`sam@example.com`,emoji:`⚡`},{user_id:`demo-user-rin`,name:`Rin`,email:`rin@example.com`,emoji:`🧪`},{user_id:`demo-user-noor`,name:`Noor`,email:`noor@example.com`,emoji:`📝`},{user_id:`demo-user-lina`,name:`Lina`,email:`lina@example.com`,emoji:`🎯`},{user_id:`demo-user-omar`,name:`Omar`,email:`omar@example.com`,emoji:`🔧`},{user_id:`demo-user-ivy`,name:`Ivy`,email:`ivy@example.com`,emoji:`🌿`}],b={board_id:_,name:`Launch board`,slug:`launch-board`,description:`Landing-page staging board built from product canvas components.`,icon:`🚢`,color:`#14b8a6`,access_mode:`shared`,created_at:g,last_updated:g,created_by:y[0].user_id,archived:!1,url:`/demo/marketing-screenshots`,background_color:`linear-gradient(135deg, #f5af19 0%, #f12711 30%, #f5af19 60%, #f12711 100%)`,objects:{"zone-ship":{type:`zone`,x:60,y:650,width:680,height:1080,label:`🚢 Ship this week`,borderColor:`#fde047`,backgroundColor:`rgba(120,53,15,0.24)`,locked:!0,trigger:{behavior:`show_picker`,agent:`claude-code`,template:`Polish {{branch.name}} for the landing-page hero crop.`}},"zone-review":{type:`zone`,x:820,y:650,width:680,height:1080,label:`🔎 Review lane`,borderColor:`#fed7aa`,backgroundColor:`rgba(127,29,29,0.26)`,locked:!0,trigger:{behavior:`always_new`,agent:`codex`,template:`Run a security/docs pass on {{branch.name}} and leave concise review notes.`}},"zone-assistants":{type:`zone`,x:1580,y:650,width:1400,height:1080,label:`🤖 Assistants + artifacts`,borderColor:`#f472b6`,backgroundColor:`rgba(88,28,135,0.16)`,locked:!0,trigger:{behavior:`show_picker`,agent:`gemini`,template:`Turn this branch into an artifact or status summary for the board.`}},"app-usage-cockpit":{type:`app`,x:620,y:80,width:780,height:495,title:`Agent cost cockpit artifact`,description:`Published by an assistant as a live board artifact.`,template:`react`,showEditor:!1,showConsole:!1,entryFile:`/App.js`,files:{"/App.js":`
1
+ import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{Bt as t,Xn as n,rr as r,sn as i,ur as a}from"./antd-BCqimh1J.js";import{j as o,q as s}from"./src-DEbsv3pp.js";import{N as c}from"./editor-Cr0W5BQI.js";import{u as l}from"./reactflow-D98uPOMq.js";import{Fn as u,Vt as d}from"./index-B-qHc0o5.js";import{g as f,t as p}from"./SessionCanvas-xVfDoEtz.js";var m=e(a(),1),h=c(),g=`2026-06-21T06:00:00.000Z`,_=`019ee88d-demo-board-0000-000000000001`,v=`019ee88d-demo-repo-0000-000000000001`,y=[{user_id:`demo-user-max`,name:`Max`,email:`max@preset.io`,emoji:`🧑‍🚀`},{user_id:`demo-user-ari`,name:`Ari`,email:`ari@example.com`,emoji:`🧠`},{user_id:`demo-user-mina`,name:`Mina`,email:`mina@example.com`,emoji:`🎨`},{user_id:`demo-user-devon`,name:`Devon`,email:`devon@example.com`,emoji:`🛠️`},{user_id:`demo-user-kai`,name:`Kai`,email:`kai@example.com`,emoji:`🚢`},{user_id:`demo-user-jules`,name:`Jules`,email:`jules@example.com`,emoji:`🔍`},{user_id:`demo-user-sam`,name:`Sam`,email:`sam@example.com`,emoji:`⚡`},{user_id:`demo-user-rin`,name:`Rin`,email:`rin@example.com`,emoji:`🧪`},{user_id:`demo-user-noor`,name:`Noor`,email:`noor@example.com`,emoji:`📝`},{user_id:`demo-user-lina`,name:`Lina`,email:`lina@example.com`,emoji:`🎯`},{user_id:`demo-user-omar`,name:`Omar`,email:`omar@example.com`,emoji:`🔧`},{user_id:`demo-user-ivy`,name:`Ivy`,email:`ivy@example.com`,emoji:`🌿`}],b={board_id:_,name:`Launch board`,slug:`launch-board`,description:`Landing-page staging board built from product canvas components.`,icon:`🚢`,color:`#14b8a6`,access_mode:`shared`,created_at:g,last_updated:g,created_by:y[0].user_id,archived:!1,url:`/demo/marketing-screenshots`,background_color:`linear-gradient(135deg, #f5af19 0%, #f12711 30%, #f5af19 60%, #f12711 100%)`,objects:{"zone-ship":{type:`zone`,x:60,y:650,width:680,height:1080,label:`🚢 Ship this week`,borderColor:`#fde047`,backgroundColor:`rgba(120,53,15,0.24)`,locked:!0,trigger:{behavior:`show_picker`,agent:`claude-code`,template:`Polish {{branch.name}} for the landing-page hero crop.`}},"zone-review":{type:`zone`,x:820,y:650,width:680,height:1080,label:`🔎 Review lane`,borderColor:`#fed7aa`,backgroundColor:`rgba(127,29,29,0.26)`,locked:!0,trigger:{behavior:`always_new`,agent:`codex`,template:`Run a security/docs pass on {{branch.name}} and leave concise review notes.`}},"zone-assistants":{type:`zone`,x:1580,y:650,width:1400,height:1080,label:`🤖 Assistants + artifacts`,borderColor:`#f472b6`,backgroundColor:`rgba(88,28,135,0.16)`,locked:!0,trigger:{behavior:`show_picker`,agent:`gemini`,template:`Turn this branch into an artifact or status summary for the board.`}},"app-usage-cockpit":{type:`app`,x:620,y:80,width:780,height:495,title:`Agent cost cockpit artifact`,description:`Published by an assistant as a live board artifact.`,template:`react`,showEditor:!1,showConsole:!1,entryFile:`/App.js`,files:{"/App.js":`
2
2
  import './styles.css';
3
3
 
4
4
  const burndown = [
@@ -140,4 +140,4 @@ sequenceDiagram
140
140
  Shot-->>Max: board PNGs
141
141
  \`\`\`
142
142
 
143
- The live route is hardcoded for staging only.`}}},x={repo_id:v,slug:`preset-io/agor`,name:`preset-io/agor`,repo_type:`remote`,remote_url:`https://github.com/preset-io/agor.git`,local_path:`/home/max/.agor/repos/preset-io/agor`,default_branch:`main`,created_at:g,updated_at:g,created_by:y[0].user_id,archived:!1},S=[{id:`019ee88d-demo-branch-0000-000000000101`,name:`landing-hero-polish`,ref:`landing-hero-polish`,zoneId:`zone-ship`,position:{x:70,y:110},issue:`https://github.com/preset-io/agor/issues/214`,pr:`https://github.com/preset-io/agor/pull/1248`,notes:`**Goal:** make the homepage crop feel alive. Hero copy tightened, CTA contrast updated, final crop pending.`,env:{status:`running`,url:`http://localhost:5174`},sessions:[[`Claude`,`claude-code`,o.COMPLETED,`tightening hero copy`],[`Codex`,`codex`,o.COMPLETED,`responsive CSS pass`],[`Gemini`,`gemini`,o.IDLE,`visual critique`,!0]]},{id:`019ee88d-demo-branch-0000-000000000102`,name:`multiplayer-presence`,ref:`multiplayer-presence`,zoneId:`zone-ship`,position:{x:70,y:520},issue:`https://linear.app/agor/issue/AG-220`,pr:`https://github.com/preset-io/agor/pull/1251`,notes:`Static fixture drives the live facepile/cursor components for deterministic staging. Product presence behavior remains unchanged.`,env:{status:`running`,url:`http://localhost:9182`},sessions:[[`Codex`,`codex`,o.RUNNING,`cursor layer fixture`],[`Claude`,`claude-code`,o.COMPLETED,`facepile polish`,!0]]},{id:`019ee88d-demo-branch-0000-000000000103`,name:`rbac-terminal-safe-defaults`,ref:`rbac-terminal-safe-defaults`,zoneId:`zone-review`,position:{x:80,y:130},issue:`https://github.com/preset-io/agor/issues/42`,pr:`https://github.com/preset-io/agor/pull/1254`,notes:`Review lane fan-out: sudoers warning copy drafted, docs link attached, awaiting a second pass.`,env:{status:`starting`,url:`http://localhost:3030`},sessions:[[`Claude`,`claude-code`,o.COMPLETED,`sudoers audit`],[`OpenCode`,`opencode`,o.AWAITING_PERMISSION,`waiting on ops note`]]},{id:`019ee88d-demo-branch-0000-000000000104`,name:`usage-dashboard-artifact`,ref:`usage-dashboard-artifact`,zoneId:`zone-assistants`,position:{x:90,y:120},issue:`https://linear.app/agor/issue/AG-198`,pr:`https://github.com/preset-io/agor/pull/1244`,notes:`Agent-authored dashboard card is pinned below the branch. Synthetic data is OK for landing-page staging.`,env:{status:`running`,url:`http://localhost:7341`},sessions:[[`Gemini`,`gemini`,o.COMPLETED,`chart artifact published`],[`Codex`,`codex`,o.IDLE,`wire cost cards`,!0]]},{id:`019ee88d-demo-branch-0000-000000000105`,name:`assistant-heartbeat`,ref:`assistant-heartbeat`,zoneId:`zone-assistants`,position:{x:90,y:510},issue:`https://linear.app/agor/issue/BOT-17`,notes:`Scheduled assistant heartbeat: daily backlog scan, Slack digest ready, three branches spawned for follow-up.`,env:{status:`stopped`,url:`http://localhost:7777`},sessions:[[`Claude`,`claude-code`,o.IDLE,`daily backlog scan`],[`Codex`,`codex`,o.COMPLETED,`triage report`],[`Gemini`,`gemini`,o.COMPLETED,`summarize risks`]]}],C=S.map((e,t)=>({branch_id:e.id,repo_id:v,branch_unique_id:1200+t,created_at:g,updated_at:g,created_by:y[t%y.length].user_id,name:e.name,ref:e.ref,ref_type:`branch`,path:`/home/max/.agor/worktrees/preset-io/agor/${e.name}`,base_ref:`main`,base_sha:`4b825dc642cb6eb9a060e54bf8d69288fbee4904`,last_commit_sha:`8f14e45fceea167a5a36dedd4bea2543a6f7dabc`,tracking_branch:`origin/${e.ref}`,new_branch:!0,board_id:_,issue_url:e.issue,pull_request_url:`pr`in e?e.pr:void 0,notes:e.notes,environment_instance:{instance_id:`env-${e.id}`,branch_id:e.id,status:e.env.status,url:e.env.url,ports:[],env_vars:{},created_at:g,updated_at:g},last_used:g,needs_attention:t===1,archived:!1,filesystem_status:`ready`,others_can:`session`,url:`/ui/w/${s(e.id)}`})),w=S.map(e=>({object_id:`board-object-${e.id}`,board_id:_,branch_id:e.id,entity_type:`branch`,position:e.position,zone_id:e.zoneId,created_at:g})),T=S.flatMap((e,t)=>e.sessions.map(([n,r,i,a,o],c)=>({session_id:`${e.id}-session-${c+1}`,agentic_tool:r,status:i,created_at:g,last_updated:g,created_by:y[(t+c)%y.length].user_id,unix_username:null,branch_id:e.id,branch_board_id:_,url:`/ui/s/${s(e.id)}${c}`,git_state:{ref:e.ref,base_sha:`4b825dc642cb6eb9a060e54bf8d69288fbee4904`,current_sha:`8f14e45fceea167a5a36dedd4bea2543a6f7dabc`},contextFiles:[],genealogy:{children:[]},tasks:[],title:`${n}: ${a}`,description:a,ready_for_prompt:o===!0,archived:!1}))),E=[{card_id:`019ee88d-demo-card-0000-000000000201`,board_id:_,title:`Landing page launch checklist`,description:`Crop variants, homepage placement, facepile state, board density, and docs copy.`,note:`Mina: wide crop reads best. Keep cursor labels visible but not covering PR pills.`,effective_emoji:`✅`,effective_color:`#14b8a6`,created_by:y[2].user_id,created_at:g,updated_at:g,archived:!1},{card_id:`019ee88d-demo-card-0000-000000000202`,board_id:_,title:`Usage cockpit artifact`,description:`Agent-authored dashboard preview with cost, token, and run counters.`,note:`Published by Gemini, wired by Codex, ready for the docs-site hero assets.`,effective_emoji:`📊`,effective_color:`#06b6d4`,created_by:y[5].user_id,created_at:g,updated_at:g,archived:!1},{card_id:`019ee88d-demo-card-0000-000000000203`,board_id:_,title:`Security review prompt template`,description:`Zone trigger prompt for RBAC, terminal, and Unix isolation changes.`,note:`Drop any branch into Review lane to spawn Claude + Codex with audit context.`,effective_emoji:`🔐`,effective_color:`#f59e0b`,created_by:y[6].user_id,created_at:g,updated_at:g,archived:!1}],D=[{object_id:`board-object-card-201`,board_id:_,card_id:E[0].card_id,entity_type:`card`,position:{x:80,y:900},zone_id:`zone-assistants`,created_at:g},{object_id:`board-object-card-202`,board_id:_,card_id:E[1].card_id,entity_type:`card`,position:{x:80,y:750},zone_id:`zone-assistants`,created_at:g},{object_id:`board-object-card-203`,board_id:_,card_id:E[2].card_id,entity_type:`card`,position:{x:120,y:540},zone_id:`zone-review`,created_at:g}],O=[{comment_id:`019ee88d-demo-comment-0000-000000000301`,board_id:_,created_by:y[2].user_id,content:`Can we keep the facepile capped but still show the +7 overflow?`,content_preview:`Can we keep the facepile capped but still show the +7 overflow?`,branch_id:S[1].id,resolved:!1,edited:!1,reactions:[{user_id:y[0].user_id,emoji:`👍`}],position:{relative:{parent_id:S[1].id,parent_type:`branch`,offset_x:420,offset_y:80}},mentions:[y[0].user_id],created_at:new Date(g)}],k=y.map((e,t)=>({user:e,lastSeen:Date.now()-t*1e3,boardId:_,cursor:{x:420+t*42,y:180+t%3*84}})),A=[{userId:y[1].user_id,user:y[1],color:`#06b6d4`,x:1370,y:620},{userId:y[2].user_id,user:y[2],color:`#f97316`,x:2550,y:260},{userId:y[5].user_id,user:y[5],color:`#eab308`,x:650,y:820}],j=()=>{(0,m.useEffect)(()=>{document.title=`Launch board · Agor`},[]);let e=(0,m.useMemo)(()=>{let e=new Map([[_,b]]),t=new Map([[v,x]]),n=new Map(C.map(e=>[e.branch_id,e])),r=new Map(T.map(e=>[e.session_id,e])),i=new Map;for(let e of T){let t=i.get(e.branch_id)??[];t.push(e),i.set(e.branch_id,t)}let a=[...w,...D];return{boardById:e,repoById:t,branchById:n,sessionById:r,sessionsByBranch:i,boardObjectById:new Map(a.map(e=>[e.object_id,e])),boardObjectsByBoardId:new Map([[_,a]]),cardById:new Map(E.map(e=>[e.card_id,e])),userById:new Map(y.map(e=>[e.user_id,e])),commentById:new Map(O.map(e=>[e.comment_id,e]))}},[]);return(0,m.useEffect)(()=>{d.setState({boardById:e.boardById,repoById:e.repoById,branchById:e.branchById,sessionById:e.sessionById,sessionsByBranch:e.sessionsByBranch,boardObjectById:e.boardObjectById,boardObjectsByBoardId:e.boardObjectsByBoardId,cardById:e.cardById,userById:e.userById,commentById:e.commentById,artifactById:new Map,mcpServerById:new Map})},[e]),(0,h.jsx)(n,{theme:{algorithm:a.darkAlgorithm,token:{colorPrimary:`#14b8a6`,borderRadius:12,fontFamily:`Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif`}},children:(0,h.jsx)(t,{children:(0,h.jsx)(u,{value:{connected:!0,connecting:!1,outOfSync:!1,capturedSha:null,currentSha:null},children:(0,h.jsxs)(i,{className:`marketing-product-page`,"data-testid":`marketing-screenshot-page`,children:[(0,h.jsx)(f,{user:y[0],presenceClient:null,currentUserId:y[0].user_id,staticActiveUsers:k,connected:!0,connecting:!1,currentBoardName:b.name,currentBoardIcon:b.icon,unreadCommentsCount:O.length,eventStreamEnabled:!0,hasUserMentions:!0,currentBoardId:_}),(0,h.jsx)(`main`,{className:`marketing-product-canvas`,children:(0,h.jsx)(l,{children:(0,h.jsx)(p,{board:b,client:null,branches:C,currentUserId:y[0].user_id,selectedSessionId:null,availableAgents:[],staticCursors:A,staticCursorScale:1.3,height:`calc(100vh - 64px)`})})})]})})})})};export{j as MarketingScreenshotPage,j as default};
143
+ The live route is hardcoded for staging only.`}}},x={repo_id:v,slug:`preset-io/agor`,name:`preset-io/agor`,repo_type:`remote`,remote_url:`https://github.com/preset-io/agor.git`,local_path:`/home/max/.agor/repos/preset-io/agor`,default_branch:`main`,created_at:g,updated_at:g,created_by:y[0].user_id,archived:!1},S=[{id:`019ee88d-demo-branch-0000-000000000101`,name:`landing-hero-polish`,ref:`landing-hero-polish`,zoneId:`zone-ship`,position:{x:70,y:110},issue:`https://github.com/preset-io/agor/issues/214`,pr:`https://github.com/preset-io/agor/pull/1248`,notes:`**Goal:** make the homepage crop feel alive. Hero copy tightened, CTA contrast updated, final crop pending.`,env:{status:`running`,url:`http://localhost:5174`},sessions:[[`Claude`,`claude-code`,o.COMPLETED,`tightening hero copy`],[`Codex`,`codex`,o.COMPLETED,`responsive CSS pass`],[`Gemini`,`gemini`,o.IDLE,`visual critique`,!0]]},{id:`019ee88d-demo-branch-0000-000000000102`,name:`multiplayer-presence`,ref:`multiplayer-presence`,zoneId:`zone-ship`,position:{x:70,y:520},issue:`https://linear.app/agor/issue/AG-220`,pr:`https://github.com/preset-io/agor/pull/1251`,notes:`Static fixture drives the live facepile/cursor components for deterministic staging. Product presence behavior remains unchanged.`,env:{status:`running`,url:`http://localhost:9182`},sessions:[[`Codex`,`codex`,o.RUNNING,`cursor layer fixture`],[`Claude`,`claude-code`,o.COMPLETED,`facepile polish`,!0]]},{id:`019ee88d-demo-branch-0000-000000000103`,name:`rbac-terminal-safe-defaults`,ref:`rbac-terminal-safe-defaults`,zoneId:`zone-review`,position:{x:80,y:130},issue:`https://github.com/preset-io/agor/issues/42`,pr:`https://github.com/preset-io/agor/pull/1254`,notes:`Review lane fan-out: sudoers warning copy drafted, docs link attached, awaiting a second pass.`,env:{status:`starting`,url:`http://localhost:3030`},sessions:[[`Claude`,`claude-code`,o.COMPLETED,`sudoers audit`],[`OpenCode`,`opencode`,o.AWAITING_PERMISSION,`waiting on ops note`]]},{id:`019ee88d-demo-branch-0000-000000000104`,name:`usage-dashboard-artifact`,ref:`usage-dashboard-artifact`,zoneId:`zone-assistants`,position:{x:90,y:120},issue:`https://linear.app/agor/issue/AG-198`,pr:`https://github.com/preset-io/agor/pull/1244`,notes:`Agent-authored dashboard card is pinned below the branch. Synthetic data is OK for landing-page staging.`,env:{status:`running`,url:`http://localhost:7341`},sessions:[[`Gemini`,`gemini`,o.COMPLETED,`chart artifact published`],[`Codex`,`codex`,o.IDLE,`wire cost cards`,!0]]},{id:`019ee88d-demo-branch-0000-000000000105`,name:`assistant-heartbeat`,ref:`assistant-heartbeat`,zoneId:`zone-assistants`,position:{x:90,y:510},issue:`https://linear.app/agor/issue/BOT-17`,notes:`Scheduled assistant heartbeat: daily backlog scan, Slack digest ready, three branches spawned for follow-up.`,env:{status:`stopped`,url:`http://localhost:7777`},sessions:[[`Claude`,`claude-code`,o.IDLE,`daily backlog scan`],[`Codex`,`codex`,o.COMPLETED,`triage report`],[`Gemini`,`gemini`,o.COMPLETED,`summarize risks`]]}],C=S.map((e,t)=>({branch_id:e.id,repo_id:v,branch_unique_id:1200+t,created_at:g,updated_at:g,created_by:y[t%y.length].user_id,name:e.name,ref:e.ref,ref_type:`branch`,path:`/home/max/.agor/worktrees/preset-io/agor/${e.name}`,base_ref:`main`,base_sha:`4b825dc642cb6eb9a060e54bf8d69288fbee4904`,last_commit_sha:`8f14e45fceea167a5a36dedd4bea2543a6f7dabc`,tracking_branch:`origin/${e.ref}`,new_branch:!0,board_id:_,issue_url:e.issue,pull_request_url:`pr`in e?e.pr:void 0,notes:e.notes,environment_instance:{instance_id:`env-${e.id}`,branch_id:e.id,status:e.env.status,url:e.env.url,ports:[],env_vars:{},created_at:g,updated_at:g},last_used:g,needs_attention:t===1,archived:!1,filesystem_status:`ready`,others_can:`session`,url:`/ui/w/${s(e.id)}`})),w=S.map(e=>({object_id:`board-object-${e.id}`,board_id:_,branch_id:e.id,entity_type:`branch`,position:e.position,zone_id:e.zoneId,created_at:g})),T=S.flatMap((e,t)=>e.sessions.map(([n,r,i,a,o],c)=>({session_id:`${e.id}-session-${c+1}`,agentic_tool:r,status:i,created_at:g,last_updated:g,created_by:y[(t+c)%y.length].user_id,unix_username:null,branch_id:e.id,branch_board_id:_,url:`/ui/s/${s(e.id)}${c}`,git_state:{ref:e.ref,base_sha:`4b825dc642cb6eb9a060e54bf8d69288fbee4904`,current_sha:`8f14e45fceea167a5a36dedd4bea2543a6f7dabc`},contextFiles:[],genealogy:{children:[]},tasks:[],title:`${n}: ${a}`,description:a,ready_for_prompt:o===!0,archived:!1}))),E=[{card_id:`019ee88d-demo-card-0000-000000000201`,board_id:_,title:`Landing page launch checklist`,description:`Crop variants, homepage placement, facepile state, board density, and docs copy.`,note:`Mina: wide crop reads best. Keep cursor labels visible but not covering PR pills.`,effective_emoji:`✅`,effective_color:`#14b8a6`,created_by:y[2].user_id,created_at:g,updated_at:g,archived:!1},{card_id:`019ee88d-demo-card-0000-000000000202`,board_id:_,title:`Usage cockpit artifact`,description:`Agent-authored dashboard preview with cost, token, and run counters.`,note:`Published by Gemini, wired by Codex, ready for the docs-site hero assets.`,effective_emoji:`📊`,effective_color:`#06b6d4`,created_by:y[5].user_id,created_at:g,updated_at:g,archived:!1},{card_id:`019ee88d-demo-card-0000-000000000203`,board_id:_,title:`Security review prompt template`,description:`Zone trigger prompt for RBAC, terminal, and Unix isolation changes.`,note:`Drop any branch into Review lane to spawn Claude + Codex with audit context.`,effective_emoji:`🔐`,effective_color:`#f59e0b`,created_by:y[6].user_id,created_at:g,updated_at:g,archived:!1}],D=[{object_id:`board-object-card-201`,board_id:_,card_id:E[0].card_id,entity_type:`card`,position:{x:80,y:900},zone_id:`zone-assistants`,created_at:g},{object_id:`board-object-card-202`,board_id:_,card_id:E[1].card_id,entity_type:`card`,position:{x:80,y:750},zone_id:`zone-assistants`,created_at:g},{object_id:`board-object-card-203`,board_id:_,card_id:E[2].card_id,entity_type:`card`,position:{x:120,y:540},zone_id:`zone-review`,created_at:g}],O=[{comment_id:`019ee88d-demo-comment-0000-000000000301`,board_id:_,created_by:y[2].user_id,content:`Can we keep the facepile capped but still show the +7 overflow?`,content_preview:`Can we keep the facepile capped but still show the +7 overflow?`,branch_id:S[1].id,resolved:!1,edited:!1,reactions:[{user_id:y[0].user_id,emoji:`👍`}],position:{relative:{parent_id:S[1].id,parent_type:`branch`,offset_x:420,offset_y:80}},mentions:[y[0].user_id],created_at:new Date(g)}],k=y.map((e,t)=>({user:e,lastSeen:Date.now()-t*1e3,boardId:_,cursor:{x:420+t*42,y:180+t%3*84}})),A=[{userId:y[1].user_id,user:y[1],color:`#06b6d4`,x:1370,y:620},{userId:y[2].user_id,user:y[2],color:`#f97316`,x:2550,y:260},{userId:y[5].user_id,user:y[5],color:`#eab308`,x:650,y:820}],j=()=>{(0,m.useEffect)(()=>{document.title=`Launch board · Agor`},[]);let e=(0,m.useMemo)(()=>{let e=new Map([[_,b]]),t=new Map([[v,x]]),n=new Map(C.map(e=>[e.branch_id,e])),r=new Map(T.map(e=>[e.session_id,e])),i=new Map;for(let e of T){let t=i.get(e.branch_id)??[];t.push(e),i.set(e.branch_id,t)}let a=[...w,...D];return{boardById:e,repoById:t,branchById:n,sessionById:r,sessionsByBranch:i,boardObjectById:new Map(a.map(e=>[e.object_id,e])),boardObjectsByBoardId:new Map([[_,a]]),cardById:new Map(E.map(e=>[e.card_id,e])),userById:new Map(y.map(e=>[e.user_id,e])),commentById:new Map(O.map(e=>[e.comment_id,e]))}},[]);return(0,m.useEffect)(()=>{u.setState({boardById:e.boardById,repoById:e.repoById,branchById:e.branchById,sessionById:e.sessionById,sessionsByBranch:e.sessionsByBranch,boardObjectById:e.boardObjectById,boardObjectsByBoardId:e.boardObjectsByBoardId,cardById:e.cardById,userById:e.userById,commentById:e.commentById,artifactById:new Map,mcpServerById:new Map})},[e]),(0,h.jsx)(r,{theme:{algorithm:t.darkAlgorithm,token:{colorPrimary:`#14b8a6`,borderRadius:12,fontFamily:`Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif`}},children:(0,h.jsx)(n,{children:(0,h.jsx)(d,{value:{connected:!0,connecting:!1,outOfSync:!1,capturedSha:null,currentSha:null},children:(0,h.jsxs)(i,{className:`marketing-product-page`,"data-testid":`marketing-screenshot-page`,children:[(0,h.jsx)(f,{user:y[0],presenceClient:null,currentUserId:y[0].user_id,staticActiveUsers:k,connected:!0,connecting:!1,currentBoardName:b.name,currentBoardIcon:b.icon,unreadCommentsCount:O.length,eventStreamEnabled:!0,hasUserMentions:!0,currentBoardId:_}),(0,h.jsx)(`main`,{className:`marketing-product-canvas`,children:(0,h.jsx)(l,{children:(0,h.jsx)(p,{board:b,client:null,branches:C,currentUserId:y[0].user_id,selectedSessionId:null,availableAgents:[],staticCursors:A,staticCursorScale:1.3,height:`calc(100vh - 64px)`})})})]})})})})};export{j as MarketingScreenshotPage,j as default};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{Bt as t,Fn as n,It as r,Qn as i,_n as a,ir as o,o as s,on as c,qn as l,sn as u,ur as d,vn as f,vt as p,x as m,zn as h}from"./antd-BCqimh1J.js";import{L as g,nt as _,rt as v}from"./src-DEbsv3pp.js";import{N as y}from"./editor-Cr0W5BQI.js";import{c as b,i as x,l as S,r as C}from"./chunk-4ZMWKKQ3-3oKtfWXp.js";import{An as w,En as T,In as E,Mn as D,Pn as O,Sn as k,Un as A,Wn as j,Y as M,kn as N,q as P,wn as F,wt as I}from"./index-B-qHc0o5.js";import{t as L}from"./AutocompleteTextarea-DUpsoEGr.js";import{n as R,t as z}from"./ConversationView-mWaA-B1f.js";var B=e(d(),1),V=y(),{Header:H}=u,{Title:U}=r,W=({showMenu:e=!0,showLogo:r=!1,title:i,user:o,onMenuClick:c,onLogout:l})=>{let{token:u}=t.useToken();return(0,V.jsxs)(H,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`0 16px`,background:u.colorBgContainer,borderBottom:`1px solid ${u.colorBorderSecondary}`},children:[(0,V.jsxs)(a,{size:8,align:`center`,style:{flex:1},children:[r&&(0,V.jsx)(`img`,{src:j(),alt:A.name,style:{height:32,borderRadius:`50%`,objectFit:`cover`,display:`block`}}),(0,V.jsx)(U,{level:5,style:{margin:0,marginTop:-4,color:u.colorText,fontSize:r?18:16,fontWeight:r?400:500},children:i||`agor`})]}),(0,V.jsxs)(a,{size:12,align:`center`,children:[o&&(0,V.jsx)(P,{user:o,size:28,fontSize:`20px`}),e&&(0,V.jsx)(n,{type:`text`,icon:(0,V.jsx)(s,{style:{fontSize:u.fontSizeLG}}),onClick:c})]})]})},G=({client:e,boardById:t,commentById:n,branchById:r,userById:i,currentUser:a,onMenuClick:s,onSendComment:c,onReplyComment:l,onResolveComment:u,onToggleReaction:d,onDeleteComment:f})=>{let{boardId:p}=S(),m=p?t.get(p):void 0,h=I(n).filter(e=>e.board_id===p);return p?m?(0,V.jsxs)(`div`,{style:{height:`100vh`,display:`flex`,flexDirection:`column`},children:[(0,V.jsx)(W,{title:`${m.icon||`📋`} ${m.name}`,showMenu:!0,user:a,onMenuClick:s}),(0,V.jsx)(`div`,{style:{flex:1,overflow:`hidden`},children:(0,V.jsx)(R,{client:e,boardId:p,comments:h,userById:i,currentUserId:a?.user_id||`unknown`,boardObjects:m?.objects,branchById:r,onSendComment:e=>c(p,e),onReplyComment:l,onResolveComment:u,onToggleReaction:d,onDeleteComment:f})})]}):(0,V.jsx)(`div`,{style:{padding:16},children:(0,V.jsx)(o,{type:`error`,title:`Board not found`})}):(0,V.jsx)(`div`,{style:{padding:16},children:(0,V.jsx)(o,{type:`error`,title:`No board ID provided`})})},{Text:K}=r,q=({items:e,defaultActiveKey:n})=>{let{token:r}=t.useToken();return(0,V.jsx)(i,{defaultActiveKey:n,expandIcon:({isActive:e})=>(0,V.jsx)(l,{rotate:e?180:0}),style:{border:`none`,backgroundColor:`transparent`,width:`100%`},items:e.map(({key:e,board:t,badge:n,children:i})=>({key:e,label:(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[t.icon&&(0,V.jsx)(`span`,{style:{fontSize:16},children:t.icon}),(0,V.jsx)(K,{strong:!0,style:{fontSize:14},children:t.name}),n]}),style:{marginBottom:0,backgroundColor:r.colorBgContainer,borderRadius:0,border:`1px solid ${r.colorBorder}`},children:(0,V.jsx)(`div`,{style:{backgroundColor:r.colorBgLayout,margin:-16,padding:16},children:i})}))})},{Text:J}=r,Y=({boardById:e,branchById:r,sessionsByBranch:o,commentById:s,onNavigate:c})=>{let u=b(),{token:d}=t.useToken(),f=e=>{u(`/m/session/${e}`),c?.()},m=(e,t)=>{t.stopPropagation(),u(`/m/comments/${e}`),c?.()},g=e=>I(s).filter(t=>t.board_id===e&&!t.resolved&&!t.parent_comment_id).length,_={};for(let e of r.values()){let t=e.board_id||`unassigned`;_[t]||(_[t]=[]),_[t].push(e)}let v=new Map(Array.from(o.entries()).map(([e,t])=>[e,[...t].sort((e,t)=>{let n=new Date(e.last_updated).getTime();return new Date(t.last_updated).getTime()-n})])),y=e=>M(e,{fallbackChars:50,includeIdFallback:!0}),x=e=>e.status===`running`?`▶️`:e.status===`completed`?`✅`:e.status===`failed`?`❌`:`⏸️`;return(0,V.jsx)(`div`,{style:{overflowY:`auto`,height:`calc(100vh - 64px)`},children:(0,V.jsx)(q,{items:I(e).map(e=>{let t=_[e.board_id]||[],r=g(e.board_id);return{key:e.board_id,board:e,badge:(0,V.jsxs)(a,{size:8,children:[(0,V.jsx)(h,{count:t.length,style:{backgroundColor:d.colorPrimaryBg},showZero:!0}),(0,V.jsx)(h,{count:r,offset:[-6,6],styles:{indicator:{backgroundColor:`${d.colorPrimary}80`,boxShadow:`0 0 0 2px rgba(0, 0, 0, 0.5)`}},children:(0,V.jsx)(n,{type:`text`,icon:(0,V.jsx)(p,{style:{fontSize:18}}),onClick:t=>m(e.board_id,t),style:{padding:`6px 10px`,height:`auto`,color:r>0?d.colorPrimary:d.colorTextSecondary}})})]}),children:t.length===0?(0,V.jsx)(J,{type:`secondary`,children:`No branches on this board`}):(0,V.jsx)(i,{defaultActiveKey:[],ghost:!0,expandIcon:({isActive:e})=>(0,V.jsx)(l,{rotate:e?180:0}),items:t.sort((e,t)=>{let n=Math.max(...(v.get(e.branch_id)||[]).map(e=>new Date(e.last_updated).getTime()),0);return Math.max(...(v.get(t.branch_id)||[]).map(e=>new Date(e.last_updated).getTime()),0)-n}).map(e=>{let t=v.get(e.branch_id)||[];return{key:e.branch_id,label:(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:2,padding:`2px 0`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,V.jsx)(`span`,{children:`🌳`}),(0,V.jsx)(J,{strong:!0,children:e.name})]}),(0,V.jsxs)(J,{type:`secondary`,style:{fontSize:12,paddingLeft:28},children:[t.length,` sessions`]})]}),children:t.length===0?(0,V.jsx)(J,{type:`secondary`,style:{padding:`8px 0 8px 28px`,display:`block`},children:`No sessions yet`}):(0,V.jsx)(`div`,{children:t.map(e=>(0,V.jsx)(`div`,{onClick:()=>f(e.session_id),style:{cursor:`pointer`,padding:`6px 8px 6px 28px`,borderRadius:4},onMouseEnter:e=>{e.currentTarget.style.background=`rgba(255, 255, 255, 0.04)`},onMouseLeave:e=>{e.currentTarget.style.background=`transparent`},children:(0,V.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:2,width:`100%`},children:[(0,V.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,V.jsx)(`span`,{children:x(e)}),(0,V.jsx)(J,{children:y(e)})]}),(0,V.jsxs)(J,{type:`secondary`,style:{fontSize:11,paddingLeft:28},children:[e.agentic_tool,e.model_config?.model&&` • ${e.model_config.model}`]})]})},e.session_id))})}})})}})})})},X=({onSend:e,disabled:r=!1,placeholder:i=`Send a prompt...`,promptDraft:a=``,onUpdateDraft:o,client:s,sessionId:c,userById:l})=>{let{token:u}=t.useToken(),d=a,f=e=>{o?.(e)},p=()=>{d.trim()&&!r&&e(d.trim())};return(0,V.jsxs)(`div`,{style:{position:`fixed`,bottom:0,left:0,right:0,backgroundColor:u.colorBgContainer,borderTop:`1px solid ${u.colorBorder}`,padding:`12px 16px`,zIndex:1e3,display:`flex`,gap:`8px`,alignItems:`flex-end`},children:[(0,V.jsx)(`div`,{style:{flex:1},children:(0,V.jsx)(L,{value:d,onChange:f,onKeyPress:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),p())},placeholder:i,client:s,sessionId:c,userById:l,autoSize:{minRows:1,maxRows:4},enableKnowledgeMentions:!0,kbLinkTarget:`absolute-route`})}),(0,V.jsx)(n,{type:`primary`,icon:(0,V.jsx)(m,{}),onClick:p,disabled:r||!d.trim(),size:`large`})]})},Z=({client:e,sessionById:t,branchById:n,repoById:r,userById:i,currentUser:a,onSendPrompt:s,onMenuClick:l,promptDrafts:u,onUpdateDraft:d})=>{let{sessionId:f}=S(),p=f?t.get(f):void 0,m=p?.branch_id&&n.get(p.branch_id)||null;return f?p?(0,V.jsxs)(`div`,{style:{height:`100vh`,display:`flex`,flexDirection:`column`},children:[(0,V.jsx)(W,{title:m?.name||M(p,{fallbackChars:30,includeIdFallback:!0}),showMenu:!0,user:a,onMenuClick:l}),(0,V.jsx)(`div`,{style:{flex:1,overflowY:`auto`,paddingBottom:80},children:(0,V.jsx)(z,{client:e,sessionId:p.session_id,agentic_tool:p.agentic_tool,sessionModel:p.model_config?.model,userById:i,currentUserId:a?.user_id,onPermissionDecision:async(t,n,r,i,o)=>{if(e)try{await e.service(`sessions/${t}/permission-decision`).create({requestId:n,taskId:r,allow:i,reason:i?`Approved by user`:`Denied by user`,remember:o!==g.ONCE,scope:o,decidedBy:a?.user_id||`unknown`})}catch(e){console.error(`Failed to send permission decision:`,e)}},scheduledFromBranch:p.scheduled_from_branch,scheduledRunAt:p.scheduled_run_at,genealogy:p.genealogy,emptyStateMessage:`Tap the menu icon to browse boards and sessions`,assistantEmoji:m&&v(m)?_(m)?.emoji:void 0})}),(0,V.jsx)(X,{onSend:e=>{s?.(f,e)},disabled:p.status===`running`,placeholder:p.status===`running`?`Agent is working...`:`Send a prompt...`,promptDraft:f&&u.get(f)||``,onUpdateDraft:e=>f&&d(f,e),client:e,sessionId:f||null,userById:i})]}):(0,V.jsx)(`div`,{style:{height:`100vh`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,V.jsx)(c,{size:`large`})}):(0,V.jsx)(`div`,{style:{padding:16},children:(0,V.jsx)(o,{type:`error`,title:`No session ID provided`})})},{Content:Q}=u,{Text:$}=r,ee=({client:e,user:t,onSendPrompt:n,onSendComment:r,onReplyComment:i,onResolveComment:a,onToggleReaction:o,onDeleteComment:s,onLogout:c,promptDrafts:l,onUpdateDraft:d})=>{let p=E(w),m=E(D),h=E(k),g=E(T),_=E(N),v=E(F),y=E(O),[b,S]=(0,B.useState)(!1);return(0,V.jsxs)(u,{style:{height:`100vh`},children:[(0,V.jsx)(f,{title:`Navigation`,placement:`left`,onClose:()=>S(!1),open:b,size:`85%`,styles:{body:{padding:0}},children:(0,V.jsx)(Y,{boardById:h,branchById:v,sessionsByBranch:m,commentById:g,onNavigate:()=>S(!1)})}),(0,V.jsxs)(x,{children:[(0,V.jsx)(C,{path:`/`,element:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(W,{showLogo:!0,user:t,onMenuClick:()=>S(!0),onLogout:c}),(0,V.jsxs)(Q,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,padding:24,flexDirection:`column`,gap:24},children:[(0,V.jsx)(`img`,{src:j(),alt:A.name,style:{width:160,height:160,opacity:.5,borderRadius:`50%`}}),(0,V.jsx)($,{type:`secondary`,style:{textAlign:`center`},children:`Tap the menu icon to browse boards and sessions`})]})]})}),(0,V.jsx)(C,{path:`/session/:sessionId`,element:(0,V.jsx)(Z,{client:e,sessionById:p,branchById:v,repoById:_,userById:y,currentUser:t,onSendPrompt:n,onMenuClick:()=>S(!0),promptDrafts:l,onUpdateDraft:d})}),(0,V.jsx)(C,{path:`/comments/:boardId`,element:(0,V.jsx)(G,{client:e,boardById:h,commentById:g,branchById:v,userById:y,currentUser:t,onMenuClick:()=>S(!0),onSendComment:r,onReplyComment:i,onResolveComment:a,onToggleReaction:o,onDeleteComment:s})})]})]})};export{ee as MobileApp};