agor-live 0.21.2 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/dist/cli/commands/branch/env/restart.js +1 -1
  2. package/dist/cli/commands/branch/env/start.js +1 -1
  3. package/dist/cli/commands/branch/env/stop.js +1 -1
  4. package/dist/core/api/index.cjs +5 -1
  5. package/dist/core/api/index.d.ts +6 -1
  6. package/dist/core/api/index.d.ts.map +1 -1
  7. package/dist/core/api/index.js +5 -1
  8. package/dist/core/claude/index.cjs +162 -14
  9. package/dist/core/claude/index.js +166 -18
  10. package/dist/core/client/index.cjs +43 -3
  11. package/dist/core/client/index.js +37 -3
  12. package/dist/core/config/browser.cjs +2 -2
  13. package/dist/core/config/browser.js +2 -2
  14. package/dist/core/config/config-manager.d.ts.map +1 -1
  15. package/dist/core/config/constants.d.ts +1 -1
  16. package/dist/core/config/index.cjs +174 -20
  17. package/dist/core/config/index.js +178 -24
  18. package/dist/core/config/types.d.ts +8 -0
  19. package/dist/core/config/types.d.ts.map +1 -1
  20. package/dist/core/db/index.cjs +495 -86
  21. package/dist/core/db/index.js +482 -75
  22. package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
  23. package/dist/core/db/repositories/branches.d.ts +13 -1
  24. package/dist/core/db/repositories/branches.d.ts.map +1 -1
  25. package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
  26. package/dist/core/db/repositories/index.d.ts +1 -0
  27. package/dist/core/db/repositories/index.d.ts.map +1 -1
  28. package/dist/core/db/repositories/session-relationships.d.ts +30 -0
  29. package/dist/core/db/repositories/session-relationships.d.ts.map +1 -0
  30. package/dist/core/db/repositories/users.d.ts +11 -0
  31. package/dist/core/db/repositories/users.d.ts.map +1 -1
  32. package/dist/core/db/schema.d.ts +421 -4
  33. package/dist/core/db/schema.d.ts.map +1 -1
  34. package/dist/core/db/schema.postgres.d.ts +226 -2
  35. package/dist/core/db/schema.postgres.d.ts.map +1 -1
  36. package/dist/core/db/schema.sqlite.d.ts +228 -2
  37. package/dist/core/db/schema.sqlite.d.ts.map +1 -1
  38. package/dist/core/drizzle/postgres/0050_artifact_source_session.sql +3 -0
  39. package/dist/core/drizzle/postgres/0051_session_relationships.sql +26 -0
  40. package/dist/core/drizzle/postgres/meta/_journal.json +14 -0
  41. package/dist/core/drizzle/sqlite/0059_artifact_source_session.sql +2 -0
  42. package/dist/core/drizzle/sqlite/0060_session_relationships.sql +23 -0
  43. package/dist/core/drizzle/sqlite/meta/_journal.json +14 -0
  44. package/dist/core/gateway/connector-registry.d.ts.map +1 -1
  45. package/dist/core/gateway/connector.d.ts +22 -0
  46. package/dist/core/gateway/connector.d.ts.map +1 -1
  47. package/dist/core/gateway/connectors/slack.d.ts +35 -3
  48. package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
  49. package/dist/core/gateway/connectors/teams.d.ts +107 -0
  50. package/dist/core/gateway/connectors/teams.d.ts.map +1 -0
  51. package/dist/core/gateway/context.d.ts.map +1 -1
  52. package/dist/core/gateway/index.cjs +552 -52
  53. package/dist/core/gateway/index.d.ts +3 -2
  54. package/dist/core/gateway/index.d.ts.map +1 -1
  55. package/dist/core/gateway/index.js +544 -52
  56. package/dist/core/gateway/system-message.d.ts +21 -0
  57. package/dist/core/gateway/system-message.d.ts.map +1 -1
  58. package/dist/core/index.cjs +616 -127
  59. package/dist/core/index.js +597 -116
  60. package/dist/core/mcp/index.cjs +146 -9
  61. package/dist/core/mcp/index.js +146 -9
  62. package/dist/core/mcp/template-resolver.d.ts.map +1 -1
  63. package/dist/core/seed/index.cjs +375 -59
  64. package/dist/core/seed/index.js +378 -62
  65. package/dist/core/sessions/index.cjs +19 -0
  66. package/dist/core/sessions/index.js +19 -0
  67. package/dist/core/templates/agor-system-prompt.md +21 -53
  68. package/dist/core/templates/session-context.cjs +2 -73
  69. package/dist/core/templates/session-context.d.ts +9 -53
  70. package/dist/core/templates/session-context.d.ts.map +1 -1
  71. package/dist/core/templates/session-context.js +2 -72
  72. package/dist/core/tools/mcp/jwt-auth.cjs +2 -20
  73. package/dist/core/tools/mcp/jwt-auth.d.ts.map +1 -1
  74. package/dist/core/tools/mcp/jwt-auth.js +2 -20
  75. package/dist/core/tools/mcp/oauth-mcp-transport.cjs +2 -15
  76. package/dist/core/tools/mcp/oauth-mcp-transport.d.ts.map +1 -1
  77. package/dist/core/tools/mcp/oauth-mcp-transport.js +2 -15
  78. package/dist/core/tools/mcp/oauth-refresh.cjs +167 -19
  79. package/dist/core/tools/mcp/oauth-refresh.js +167 -19
  80. package/dist/core/types/artifact.d.ts +5 -1
  81. package/dist/core/types/artifact.d.ts.map +1 -1
  82. package/dist/core/types/branch.d.ts +14 -0
  83. package/dist/core/types/branch.d.ts.map +1 -1
  84. package/dist/core/types/gateway.d.ts +1 -1
  85. package/dist/core/types/gateway.d.ts.map +1 -1
  86. package/dist/core/types/id.d.ts +1 -0
  87. package/dist/core/types/id.d.ts.map +1 -1
  88. package/dist/core/types/index.cjs +36 -0
  89. package/dist/core/types/index.js +30 -0
  90. package/dist/core/types/session.d.ts +65 -1
  91. package/dist/core/types/session.d.ts.map +1 -1
  92. package/dist/core/types/task.d.ts +9 -0
  93. package/dist/core/types/task.d.ts.map +1 -1
  94. package/dist/core/unix/index.cjs +371 -55
  95. package/dist/core/unix/index.js +374 -58
  96. package/dist/core/unix/unix-integration-service.d.ts +10 -7
  97. package/dist/core/unix/unix-integration-service.d.ts.map +1 -1
  98. package/dist/core/utils/permission-mode-mapper.cjs +19 -0
  99. package/dist/core/utils/permission-mode-mapper.js +19 -0
  100. package/dist/daemon/declarations.d.ts +7 -0
  101. package/dist/daemon/declarations.d.ts.map +1 -1
  102. package/dist/daemon/hooks/gateway-route.d.ts.map +1 -1
  103. package/dist/daemon/hooks/gateway-route.js +53 -1
  104. package/dist/daemon/index.js +3760 -2107
  105. package/dist/daemon/main.js +3760 -2107
  106. package/dist/daemon/mcp/server.js +155 -17
  107. package/dist/daemon/mcp/tools/analytics.js +6 -7
  108. package/dist/daemon/mcp/tools/artifacts.d.ts.map +1 -1
  109. package/dist/daemon/mcp/tools/artifacts.js +7 -7
  110. package/dist/daemon/mcp/tools/boards.js +6 -7
  111. package/dist/daemon/mcp/tools/branches.js +6 -7
  112. package/dist/daemon/mcp/tools/card-types.js +6 -7
  113. package/dist/daemon/mcp/tools/cards.js +6 -7
  114. package/dist/daemon/mcp/tools/environment.d.ts.map +1 -1
  115. package/dist/daemon/mcp/tools/environment.js +19 -12
  116. package/dist/daemon/mcp/tools/knowledge.js +6 -7
  117. package/dist/daemon/mcp/tools/mcp-servers.js +6 -7
  118. package/dist/daemon/mcp/tools/messages.js +6 -7
  119. package/dist/daemon/mcp/tools/proxies.js +6 -7
  120. package/dist/daemon/mcp/tools/repos.js +6 -7
  121. package/dist/daemon/mcp/tools/schedules.js +6 -7
  122. package/dist/daemon/mcp/tools/search.js +6 -7
  123. package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
  124. package/dist/daemon/mcp/tools/sessions.js +140 -11
  125. package/dist/daemon/mcp/tools/tasks.js +6 -7
  126. package/dist/daemon/mcp/tools/users.js +6 -7
  127. package/dist/daemon/mcp/tools/widgets.js +7 -8
  128. package/dist/daemon/register-hooks.d.ts +5 -1
  129. package/dist/daemon/register-hooks.d.ts.map +1 -1
  130. package/dist/daemon/register-hooks.js +404 -179
  131. package/dist/daemon/register-routes.d.ts.map +1 -1
  132. package/dist/daemon/register-routes.js +360 -162
  133. package/dist/daemon/register-services.d.ts.map +1 -1
  134. package/dist/daemon/register-services.js +1928 -671
  135. package/dist/daemon/services/artifacts.d.ts +10 -1
  136. package/dist/daemon/services/artifacts.d.ts.map +1 -1
  137. package/dist/daemon/services/artifacts.js +25 -1
  138. package/dist/daemon/services/branches.d.ts +11 -1
  139. package/dist/daemon/services/branches.d.ts.map +1 -1
  140. package/dist/daemon/services/branches.js +470 -184
  141. package/dist/daemon/services/claude-models.js +879 -339
  142. package/dist/daemon/services/gateway.d.ts +58 -2
  143. package/dist/daemon/services/gateway.d.ts.map +1 -1
  144. package/dist/daemon/services/gateway.js +590 -47
  145. package/dist/daemon/services/groups.d.ts +2 -0
  146. package/dist/daemon/services/groups.d.ts.map +1 -1
  147. package/dist/daemon/services/groups.js +56 -0
  148. package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
  149. package/dist/daemon/services/mcp-servers.js +0 -6
  150. package/dist/daemon/services/scheduler.d.ts.map +1 -1
  151. package/dist/daemon/services/scheduler.js +6 -2
  152. package/dist/daemon/services/sessions.d.ts +11 -3
  153. package/dist/daemon/services/sessions.d.ts.map +1 -1
  154. package/dist/daemon/services/sessions.js +68 -7
  155. package/dist/daemon/services/tasks.d.ts +13 -2
  156. package/dist/daemon/services/tasks.d.ts.map +1 -1
  157. package/dist/daemon/services/tasks.js +42 -26
  158. package/dist/daemon/startup.js +6 -2
  159. package/dist/daemon/utils/session-stop.d.ts +43 -0
  160. package/dist/daemon/utils/session-stop.d.ts.map +1 -0
  161. package/dist/daemon/utils/session-stop.js +102 -0
  162. package/dist/daemon/utils/session-task-state.d.ts +7 -2
  163. package/dist/daemon/utils/session-task-state.d.ts.map +1 -1
  164. package/dist/daemon/utils/session-task-state.js +9 -3
  165. package/dist/daemon/utils/session-tasks.d.ts +4 -4
  166. package/dist/daemon/utils/session-tasks.d.ts.map +1 -1
  167. package/dist/daemon/utils/session-tasks.js +4 -8
  168. package/dist/executor/commands/environment.d.ts +13 -0
  169. package/dist/executor/commands/environment.d.ts.map +1 -0
  170. package/dist/executor/commands/environment.js +287 -0
  171. package/dist/executor/commands/index.d.ts.map +1 -1
  172. package/dist/executor/commands/index.js +5 -1
  173. package/dist/executor/commands/unix.d.ts +8 -1
  174. package/dist/executor/commands/unix.d.ts.map +1 -1
  175. package/dist/executor/commands/unix.js +157 -2
  176. package/dist/executor/payload-types.d.ts +201 -5
  177. package/dist/executor/payload-types.d.ts.map +1 -1
  178. package/dist/executor/payload-types.js +98 -0
  179. package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
  180. package/dist/executor/sdk-handlers/base/mcp-scoping.js +14 -0
  181. package/dist/executor/sdk-handlers/claude/message-processor.d.ts.map +1 -1
  182. package/dist/executor/sdk-handlers/claude/message-processor.js +0 -1
  183. package/dist/executor/sdk-handlers/claude/query-builder.d.ts +1 -0
  184. package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
  185. package/dist/executor/sdk-handlers/claude/query-builder.js +91 -39
  186. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +12 -5
  187. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
  188. package/dist/executor/sdk-handlers/codex/prompt-service.js +72 -30
  189. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts +2 -4
  190. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
  191. package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -13
  192. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +2 -4
  193. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
  194. package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -13
  195. package/dist/ui/assets/App-DcEY8Ota.js +3 -0
  196. package/dist/ui/assets/App-DcEY8Ota.js.gz +0 -0
  197. package/dist/ui/assets/{ArtifactConsentModal-ParNk5kW.js → ArtifactConsentModal-CiCbK9iv.js} +1 -1
  198. package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js.gz +0 -0
  199. package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js +9 -0
  200. package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js.gz +0 -0
  201. package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js +18 -0
  202. package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js.gz +0 -0
  203. package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js +34 -0
  204. package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js.gz +0 -0
  205. package/dist/ui/assets/{CodeEditor.inner-D51Z_CLQ.js → CodeEditor.inner-DBgsP4tn.js} +2 -2
  206. package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js.gz +0 -0
  207. package/dist/ui/assets/ConversationView-CUWR0gR6.js +1 -0
  208. package/dist/ui/assets/ConversationView-CUWR0gR6.js.gz +0 -0
  209. package/dist/ui/assets/KnowledgePage-B2bzlXfn.js +24 -0
  210. package/dist/ui/assets/KnowledgePage-B2bzlXfn.js.gz +0 -0
  211. package/dist/ui/assets/MarketingScreenshotPage-9Qd7eZsm.css +1 -0
  212. package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js +143 -0
  213. package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js.gz +0 -0
  214. package/dist/ui/assets/MobileApp-VgVnsnsN.js +1 -0
  215. package/dist/ui/assets/MobileApp-VgVnsnsN.js.gz +0 -0
  216. package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js +20 -0
  217. package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js.gz +0 -0
  218. package/dist/ui/assets/{App-BAdBsEnV.css → SessionCanvas-mEmYGZhC.css} +1 -1
  219. package/dist/ui/assets/SessionCanvas-mEmYGZhC.css.gz +0 -0
  220. package/dist/ui/assets/{StreamdownDemoPage-B9wbgp2s.js → StreamdownDemoPage-wzWaqWwr.js} +1 -1
  221. package/dist/ui/assets/StreamdownDemoPage-wzWaqWwr.js.gz +0 -0
  222. package/dist/ui/assets/{ThemeSwitcher-ubn6IOz9.js → ThemeSwitcher-Dly2y9pi.js} +1 -1
  223. package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js.gz +0 -0
  224. package/dist/ui/assets/antd-CfbbHJOz.js +401 -0
  225. package/dist/ui/assets/antd-CfbbHJOz.js.gz +0 -0
  226. package/dist/ui/assets/architecture-U656AL7Q-CykGFbQU.js +1 -0
  227. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-ChmZt3zk.js → architectureDiagram-VXUJARFQ-C8HXAenz.js} +1 -1
  228. package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js.gz +0 -0
  229. package/dist/ui/assets/{blockDiagram-VD42YOAC-CzGHAHao.js → blockDiagram-VD42YOAC-BhZaEN19.js} +1 -1
  230. package/dist/ui/assets/blockDiagram-VD42YOAC-BhZaEN19.js.gz +0 -0
  231. package/dist/ui/assets/{c4Diagram-YG6GDRKO-DscJyaWN.js → c4Diagram-YG6GDRKO-Dk_UH-sY.js} +1 -1
  232. package/dist/ui/assets/c4Diagram-YG6GDRKO-Dk_UH-sY.js.gz +0 -0
  233. package/dist/ui/assets/channel-D6_nUWlW.js +1 -0
  234. package/dist/ui/assets/{chunk-4BX2VUAB-DoWpTvP8.js → chunk-4BX2VUAB-XprbG2TG.js} +1 -1
  235. package/dist/ui/assets/chunk-55IACEB6-ByzqIgSb.js +1 -0
  236. package/dist/ui/assets/{chunk-ABZYJK2D-RzDCrjE6.js → chunk-ABZYJK2D-BJcrryHK.js} +1 -1
  237. package/dist/ui/assets/chunk-ABZYJK2D-BJcrryHK.js.gz +0 -0
  238. package/dist/ui/assets/{chunk-AGHRB4JF-jidCS5Of.js → chunk-AGHRB4JF-DvxmfbM0.js} +1 -1
  239. package/dist/ui/assets/chunk-AGHRB4JF-DvxmfbM0.js.gz +0 -0
  240. package/dist/ui/assets/{chunk-ATLVNIR6-BEIIfJtC.js → chunk-ATLVNIR6-DbeJ0OrR.js} +1 -1
  241. package/dist/ui/assets/chunk-ATLVNIR6-DbeJ0OrR.js.gz +0 -0
  242. package/dist/ui/assets/{chunk-B4BG7PRW-B8b6dQQ2.js → chunk-B4BG7PRW-C53q2ggf.js} +1 -1
  243. package/dist/ui/assets/chunk-B4BG7PRW-C53q2ggf.js.gz +0 -0
  244. package/dist/ui/assets/{chunk-CVBHYZKI-D-mQAfrk.js → chunk-CVBHYZKI-B3EBSlb3.js} +1 -1
  245. package/dist/ui/assets/{chunk-DI55MBZ5-BfATX3V8.js → chunk-DI55MBZ5-vIyNEQN-.js} +1 -1
  246. package/dist/ui/assets/chunk-DI55MBZ5-vIyNEQN-.js.gz +0 -0
  247. package/dist/ui/assets/chunk-EXTU4WIE-B3ObkuOm.js +1 -0
  248. package/dist/ui/assets/{chunk-FMBD7UC4-fqXscNvc.js → chunk-FMBD7UC4-rddmfK-Z.js} +1 -1
  249. package/dist/ui/assets/{chunk-HN2XXSSU-BCHvD80g.js → chunk-HN2XXSSU-Dttqcg3b.js} +1 -1
  250. package/dist/ui/assets/chunk-HN2XXSSU-Dttqcg3b.js.gz +0 -0
  251. package/dist/ui/assets/{chunk-JA3XYJ7Z-Cp6dqHnY.js → chunk-JA3XYJ7Z-DbNDev3D.js} +1 -1
  252. package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js.gz +0 -0
  253. package/dist/ui/assets/{chunk-JZLCHNYA-cKMooY3y.js → chunk-JZLCHNYA-EUmx2y4H.js} +1 -1
  254. package/dist/ui/assets/chunk-JZLCHNYA-EUmx2y4H.js.gz +0 -0
  255. package/dist/ui/assets/{chunk-MI3HLSF2-BlzO5wOE.js → chunk-MI3HLSF2-65n9Mkyc.js} +1 -1
  256. package/dist/ui/assets/chunk-MI3HLSF2-65n9Mkyc.js.gz +0 -0
  257. package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js +2 -0
  258. package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js.gz +0 -0
  259. package/dist/ui/assets/{chunk-QN33PNHL-DIHGQ_pd.js → chunk-QN33PNHL-DsRKK6NR.js} +1 -1
  260. package/dist/ui/assets/{chunk-QXUST7PY-C9l0muI0.js → chunk-QXUST7PY-BCYnMiS3.js} +1 -1
  261. package/dist/ui/assets/chunk-QXUST7PY-BCYnMiS3.js.gz +0 -0
  262. package/dist/ui/assets/chunk-QZHKN3VN-HucAw4xW.js +1 -0
  263. package/dist/ui/assets/{chunk-S3R3BYOJ-VJiLzt2o.js → chunk-S3R3BYOJ-CWMEa9Dc.js} +1 -1
  264. package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js.gz +0 -0
  265. package/dist/ui/assets/{chunk-TZMSLE5B-DZwI0C_2.js → chunk-TZMSLE5B-BuQUQcTr.js} +1 -1
  266. package/dist/ui/assets/chunk-TZMSLE5B-BuQUQcTr.js.gz +0 -0
  267. package/dist/ui/assets/classDiagram-2ON5EDUG-CUT3rPTB.js +1 -0
  268. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-CUT3rPTB.js +1 -0
  269. package/dist/ui/assets/{cose-bilkent-S5V4N54A-Ipik-oSD.js → cose-bilkent-S5V4N54A-CnPB3ARO.js} +1 -1
  270. package/dist/ui/assets/cose-bilkent-S5V4N54A-CnPB3ARO.js.gz +0 -0
  271. package/dist/ui/assets/cursor-QEb7m-rN.png +0 -0
  272. package/dist/ui/assets/{dagre-6UL2VRFP-BDpyWQnh.js → dagre-6UL2VRFP-DhS-k_Se.js} +1 -1
  273. package/dist/ui/assets/dagre-6UL2VRFP-DhS-k_Se.js.gz +0 -0
  274. package/dist/ui/assets/{dagre-CgA4KhUX.js → dagre-KgLoHEuy.js} +1 -1
  275. package/dist/ui/assets/dagre-KgLoHEuy.js.gz +0 -0
  276. package/dist/ui/assets/{diagram-PSM6KHXK-B4GRzxLJ.js → diagram-PSM6KHXK-BZg3MJmb.js} +1 -1
  277. package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js.gz +0 -0
  278. package/dist/ui/assets/{diagram-QEK2KX5R-BWPW28XI.js → diagram-QEK2KX5R-BPCitvbo.js} +1 -1
  279. package/dist/ui/assets/diagram-QEK2KX5R-BPCitvbo.js.gz +0 -0
  280. package/dist/ui/assets/{diagram-S2PKOQOG-BIHhcGoV.js → diagram-S2PKOQOG-NW4uK6sx.js} +1 -1
  281. package/dist/ui/assets/diagram-S2PKOQOG-NW4uK6sx.js.gz +0 -0
  282. package/dist/ui/assets/{editor-C-HJ7Yw0.js → editor-CzFWIUw2.js} +1 -1
  283. package/dist/ui/assets/editor-CzFWIUw2.js.gz +0 -0
  284. package/dist/ui/assets/{emoji-D8F6B62m.js → emoji-Dkz4Zzv_.js} +1 -1
  285. package/dist/ui/assets/emoji-Dkz4Zzv_.js.gz +0 -0
  286. package/dist/ui/assets/{erDiagram-Q2GNP2WA-ubTaAFcK.js → erDiagram-Q2GNP2WA-me1fboaf.js} +1 -1
  287. package/dist/ui/assets/erDiagram-Q2GNP2WA-me1fboaf.js.gz +0 -0
  288. package/dist/ui/assets/{flowDiagram-NV44I4VS-BHLCTYjI.js → flowDiagram-NV44I4VS-DzE8dGsh.js} +1 -1
  289. package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js.gz +0 -0
  290. package/dist/ui/assets/{ganttDiagram-LVOFAZNH-ClC3pay1.js → ganttDiagram-LVOFAZNH-CFQD09Mi.js} +2 -2
  291. package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js.gz +0 -0
  292. package/dist/ui/assets/{gitGraph-F6HP7TQM-DghoobE6.js → gitGraph-F6HP7TQM-CfFE_uAC.js} +1 -1
  293. package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-Clqpiswu.js → gitGraphDiagram-NY62KEGX-CaVoxU4C.js} +1 -1
  294. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js.gz +0 -0
  295. package/dist/ui/assets/index-BN5_Qq7R.js +324 -0
  296. package/dist/ui/assets/index-BN5_Qq7R.js.gz +0 -0
  297. package/dist/ui/assets/index-DxuPq13l.css +1 -0
  298. package/dist/ui/assets/index-DxuPq13l.css.gz +0 -0
  299. package/dist/ui/assets/{info-NVLQJR56-0ZldEXPQ.js → info-NVLQJR56-i_xHYg3f.js} +1 -1
  300. package/dist/ui/assets/{infoDiagram-ER5ION4S-DMmPX-il.js → infoDiagram-ER5ION4S-2NL93b78.js} +1 -1
  301. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CrVickA2.js → journeyDiagram-XKPGCS4Q-CZF-2DHU.js} +1 -1
  302. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CZF-2DHU.js.gz +0 -0
  303. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-C_BsdHYL.js → kanban-definition-3W4ZIXB7-CfvJIOny.js} +1 -1
  304. package/dist/ui/assets/kanban-definition-3W4ZIXB7-CfvJIOny.js.gz +0 -0
  305. package/dist/ui/assets/{line-CfBP7Yic.js → line-DDv8kOJk.js} +1 -1
  306. package/dist/ui/assets/{linear-BsjageUB.js → linear-Daef-l29.js} +1 -1
  307. package/dist/ui/assets/linear-Daef-l29.js.gz +0 -0
  308. package/dist/ui/assets/{mermaid-parser.core-DZdP-NFq.js → mermaid-parser.core-CdK9QgYV.js} +2 -2
  309. package/dist/ui/assets/mermaid-parser.core-CdK9QgYV.js.gz +0 -0
  310. package/dist/ui/assets/{mermaid.core-TNrI0pHG.js → mermaid.core-D6GS9mU-.js} +3 -3
  311. package/dist/ui/assets/mermaid.core-D6GS9mU-.js.gz +0 -0
  312. package/dist/ui/assets/message-SqLqNYcv.js +36 -0
  313. package/dist/ui/assets/message-SqLqNYcv.js.gz +0 -0
  314. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-BbmaUjMY.js → mindmap-definition-VGOIOE7T-Cb3QMflX.js} +1 -1
  315. package/dist/ui/assets/mindmap-definition-VGOIOE7T-Cb3QMflX.js.gz +0 -0
  316. package/dist/ui/assets/{packet-BFZMPI3H-D_ZhkXuT.js → packet-BFZMPI3H-Bm2uwz4i.js} +1 -1
  317. package/dist/ui/assets/{particles-Dv28pjOd.js → particles-DsJFOarW.js} +1 -1
  318. package/dist/ui/assets/particles-DsJFOarW.js.gz +0 -0
  319. package/dist/ui/assets/{pie-7BOR55EZ-Dn0Q3qNx.js → pie-7BOR55EZ-5i17tVnF.js} +1 -1
  320. package/dist/ui/assets/{pieDiagram-ADFJNKIX-BbyjfYu8.js → pieDiagram-ADFJNKIX-BxIwQWvw.js} +1 -1
  321. package/dist/ui/assets/pieDiagram-ADFJNKIX-BxIwQWvw.js.gz +0 -0
  322. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-Bc3GqMKz.js → quadrantDiagram-AYHSOK5B-B5HPe4ga.js} +1 -1
  323. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-B5HPe4ga.js.gz +0 -0
  324. package/dist/ui/assets/{radar-NHE76QYJ-BHwoAy1q.js → radar-NHE76QYJ-BTn-tq0k.js} +1 -1
  325. package/dist/ui/assets/{reactflow-BVYPxNhc.js → reactflow-Bf74ngoo.js} +2 -2
  326. package/dist/ui/assets/reactflow-Bf74ngoo.js.gz +0 -0
  327. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-BQaKKL09.js → requirementDiagram-UZGBJVZJ-YfI6llkX.js} +1 -1
  328. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-YfI6llkX.js.gz +0 -0
  329. package/dist/ui/assets/{sandpack-BQW_FQ7G.js → sandpack-D7koO5op.js} +1 -1
  330. package/dist/ui/assets/sandpack-D7koO5op.js.gz +0 -0
  331. package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-DiJvDvhb.js → sankeyDiagram-TZEHDZUN-DOk_B10B.js} +1 -1
  332. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js.gz +0 -0
  333. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-Dw32824o.js → sequenceDiagram-WL72ISMW-DAe4Um17.js} +1 -1
  334. package/dist/ui/assets/sequenceDiagram-WL72ISMW-DAe4Um17.js.gz +0 -0
  335. package/dist/ui/assets/{stateDiagram-FKZM4ZOC-BCOpNdHV.js → stateDiagram-FKZM4ZOC-CCesDu_C.js} +1 -1
  336. package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js.gz +0 -0
  337. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CMlIrsoO.js +1 -0
  338. package/dist/ui/assets/{syntax-VJrU5BEu.js → syntax-C-M-8jOU.js} +1 -1
  339. package/dist/ui/assets/syntax-C-M-8jOU.js.gz +0 -0
  340. package/dist/ui/assets/{theme-DZtFA8b4.js → theme-BQZdiqwv.js} +1 -1
  341. package/dist/ui/assets/{timeline-definition-IT6M3QCI-Jh_WZzXv.js → timeline-definition-IT6M3QCI-D6P5txjT.js} +1 -1
  342. package/dist/ui/assets/timeline-definition-IT6M3QCI-D6P5txjT.js.gz +0 -0
  343. package/dist/ui/assets/{treemap-KMMF4GRG-CPYIgjxE.js → treemap-KMMF4GRG-Bitm3gy4.js} +1 -1
  344. package/dist/ui/assets/{knowledgeRoutes-CivaUqha.js → useUserLocalStorage-Ckb8HsIw.js} +1 -1
  345. package/dist/ui/assets/useUserLocalStorage-Ckb8HsIw.js.gz +0 -0
  346. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CERc7Rdb.js → xychartDiagram-PRI3JC2R-CsybjUbd.js} +1 -1
  347. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CsybjUbd.js.gz +0 -0
  348. package/dist/ui/index.html +13 -11
  349. package/dist/ui/index.html.gz +0 -0
  350. package/package.json +10 -9
  351. package/dist/ui/assets/App-9s2WHM6S.js +0 -22
  352. package/dist/ui/assets/App-9s2WHM6S.js.gz +0 -0
  353. package/dist/ui/assets/App-BAdBsEnV.css.gz +0 -0
  354. package/dist/ui/assets/ArtifactConsentModal-ParNk5kW.js.gz +0 -0
  355. package/dist/ui/assets/ArtifactFullscreenPage-VQxLMCiN.js +0 -9
  356. package/dist/ui/assets/ArtifactFullscreenPage-VQxLMCiN.js.gz +0 -0
  357. package/dist/ui/assets/AutocompleteTextarea-3RchrIgk.js +0 -18
  358. package/dist/ui/assets/AutocompleteTextarea-3RchrIgk.js.gz +0 -0
  359. package/dist/ui/assets/CodeEditor.inner-D51Z_CLQ.js.gz +0 -0
  360. package/dist/ui/assets/ConversationView-Dyddw2b1.js +0 -34
  361. package/dist/ui/assets/ConversationView-Dyddw2b1.js.gz +0 -0
  362. package/dist/ui/assets/KnowledgePage-CdftslnF.js +0 -24
  363. package/dist/ui/assets/KnowledgePage-CdftslnF.js.gz +0 -0
  364. package/dist/ui/assets/MobileApp-BdBMpnJ1.js +0 -1
  365. package/dist/ui/assets/MobileApp-BdBMpnJ1.js.gz +0 -0
  366. package/dist/ui/assets/StreamdownDemoPage-B9wbgp2s.js.gz +0 -0
  367. package/dist/ui/assets/ThemeSwitcher-ubn6IOz9.js.gz +0 -0
  368. package/dist/ui/assets/antd-C-HfEC4E.js +0 -400
  369. package/dist/ui/assets/antd-C-HfEC4E.js.gz +0 -0
  370. package/dist/ui/assets/architecture-U656AL7Q-dkBewUpN.js +0 -1
  371. package/dist/ui/assets/architectureDiagram-VXUJARFQ-ChmZt3zk.js.gz +0 -0
  372. package/dist/ui/assets/blockDiagram-VD42YOAC-CzGHAHao.js.gz +0 -0
  373. package/dist/ui/assets/c4Diagram-YG6GDRKO-DscJyaWN.js.gz +0 -0
  374. package/dist/ui/assets/channel-DvRQqEqC.js +0 -1
  375. package/dist/ui/assets/chunk-55IACEB6-DojF2pZN.js +0 -1
  376. package/dist/ui/assets/chunk-ABZYJK2D-RzDCrjE6.js.gz +0 -0
  377. package/dist/ui/assets/chunk-AGHRB4JF-jidCS5Of.js.gz +0 -0
  378. package/dist/ui/assets/chunk-ATLVNIR6-BEIIfJtC.js.gz +0 -0
  379. package/dist/ui/assets/chunk-B4BG7PRW-B8b6dQQ2.js.gz +0 -0
  380. package/dist/ui/assets/chunk-DI55MBZ5-BfATX3V8.js.gz +0 -0
  381. package/dist/ui/assets/chunk-EXTU4WIE-BKt6lPJM.js +0 -1
  382. package/dist/ui/assets/chunk-HN2XXSSU-BCHvD80g.js.gz +0 -0
  383. package/dist/ui/assets/chunk-JA3XYJ7Z-Cp6dqHnY.js.gz +0 -0
  384. package/dist/ui/assets/chunk-JZLCHNYA-cKMooY3y.js.gz +0 -0
  385. package/dist/ui/assets/chunk-MI3HLSF2-BlzO5wOE.js.gz +0 -0
  386. package/dist/ui/assets/chunk-N4CR4FBY-pASDorUx.js +0 -2
  387. package/dist/ui/assets/chunk-N4CR4FBY-pASDorUx.js.gz +0 -0
  388. package/dist/ui/assets/chunk-QXUST7PY-C9l0muI0.js.gz +0 -0
  389. package/dist/ui/assets/chunk-QZHKN3VN-CZskCFCf.js +0 -1
  390. package/dist/ui/assets/chunk-S3R3BYOJ-VJiLzt2o.js.gz +0 -0
  391. package/dist/ui/assets/chunk-TZMSLE5B-DZwI0C_2.js.gz +0 -0
  392. package/dist/ui/assets/classDiagram-2ON5EDUG-BFASUbmZ.js +0 -1
  393. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BFASUbmZ.js +0 -1
  394. package/dist/ui/assets/cose-bilkent-S5V4N54A-Ipik-oSD.js.gz +0 -0
  395. package/dist/ui/assets/dagre-6UL2VRFP-BDpyWQnh.js.gz +0 -0
  396. package/dist/ui/assets/dagre-CgA4KhUX.js.gz +0 -0
  397. package/dist/ui/assets/diagram-PSM6KHXK-B4GRzxLJ.js.gz +0 -0
  398. package/dist/ui/assets/diagram-QEK2KX5R-BWPW28XI.js.gz +0 -0
  399. package/dist/ui/assets/diagram-S2PKOQOG-BIHhcGoV.js.gz +0 -0
  400. package/dist/ui/assets/editor-C-HJ7Yw0.js.gz +0 -0
  401. package/dist/ui/assets/emoji-D8F6B62m.js.gz +0 -0
  402. package/dist/ui/assets/erDiagram-Q2GNP2WA-ubTaAFcK.js.gz +0 -0
  403. package/dist/ui/assets/flowDiagram-NV44I4VS-BHLCTYjI.js.gz +0 -0
  404. package/dist/ui/assets/ganttDiagram-LVOFAZNH-ClC3pay1.js.gz +0 -0
  405. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Clqpiswu.js.gz +0 -0
  406. package/dist/ui/assets/index-D9OElx9A.css +0 -1
  407. package/dist/ui/assets/index-D9OElx9A.css.gz +0 -0
  408. package/dist/ui/assets/index-DxPuzG7E.js +0 -350
  409. package/dist/ui/assets/index-DxPuzG7E.js.gz +0 -0
  410. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CrVickA2.js.gz +0 -0
  411. package/dist/ui/assets/kanban-definition-3W4ZIXB7-C_BsdHYL.js.gz +0 -0
  412. package/dist/ui/assets/knowledgeRoutes-CivaUqha.js.gz +0 -0
  413. package/dist/ui/assets/linear-BsjageUB.js.gz +0 -0
  414. package/dist/ui/assets/mermaid-parser.core-DZdP-NFq.js.gz +0 -0
  415. package/dist/ui/assets/mermaid.core-TNrI0pHG.js.gz +0 -0
  416. package/dist/ui/assets/message-BtWWJ9Af.js +0 -36
  417. package/dist/ui/assets/message-BtWWJ9Af.js.gz +0 -0
  418. package/dist/ui/assets/mindmap-definition-VGOIOE7T-BbmaUjMY.js.gz +0 -0
  419. package/dist/ui/assets/particles-Dv28pjOd.js.gz +0 -0
  420. package/dist/ui/assets/pieDiagram-ADFJNKIX-BbyjfYu8.js.gz +0 -0
  421. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-Bc3GqMKz.js.gz +0 -0
  422. package/dist/ui/assets/reactflow-BVYPxNhc.js.gz +0 -0
  423. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-BQaKKL09.js.gz +0 -0
  424. package/dist/ui/assets/sandpack-BQW_FQ7G.js.gz +0 -0
  425. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DiJvDvhb.js.gz +0 -0
  426. package/dist/ui/assets/sequenceDiagram-WL72ISMW-Dw32824o.js.gz +0 -0
  427. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BCOpNdHV.js.gz +0 -0
  428. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-Cuqwvgfg.js +0 -1
  429. package/dist/ui/assets/syntax-VJrU5BEu.js.gz +0 -0
  430. package/dist/ui/assets/timeline-definition-IT6M3QCI-Jh_WZzXv.js.gz +0 -0
  431. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CERc7Rdb.js.gz +0 -0
@@ -0,0 +1,24 @@
1
+ import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{At as t,Bt as n,C as r,Fn as i,Ft as a,Gt as o,In as s,Jt as c,Kn as l,Lt as u,Mn as d,Mt as f,Nn as p,Nt as m,Pn as h,Pt as g,Qn as _,Rn as v,Rt as ee,St as te,Tt as ne,Vt as re,Wn as ie,Xt as ae,Yt as oe,Zt as y,_t as se,b as ce,d as le,et as ue,fn as de,gn as fe,i as pe,in as b,it as me,jn as he,mn as ge,n as x,nn as _e,on as S,ot as ve,pn as ye,q as be,qt as xe,sn as Se,tn as C,wn as w,xn as Ce,yn as we,zt as Te}from"./antd-CfbbHJOz.js";import{B as Ee,Q as De,R as Oe,d as ke,f as Ae,it as T,nt as E,rt as je,tt as Me,u as Ne}from"./message-SqLqNYcv.js";import{N as D}from"./editor-CzFWIUw2.js";import{Gt as Pe,Jt as Fe,N as Ie,P as Le,en as Re,jt as ze,k as Be,yt as Ve}from"./index-BN5_Qq7R.js";import{i as He,n as Ue,r as We,t as Ge}from"./useUserLocalStorage-Ckb8HsIw.js";import{n as Ke,t as qe}from"./ThemeSwitcher-Dly2y9pi.js";import{O,a as Je,c as k,f as Ye,i as Xe,l as Ze,m as A,n as Qe,o as $e,s as et}from"./reactflow-Bf74ngoo.js";import{a as tt,c as nt,i as rt,l as it,n as at,o as ot,r as st,s as ct,t as lt}from"./AutocompleteTextarea-BAFFH_5e.js";function ut(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 dt(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return ft(this.cover(t,n),t,n,e)}function ft(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 pt(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)ft(this,o[n],s[n],e[n]);return this}function j(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 mt(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function ht(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 M(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function gt(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 M(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 M(p[3],g,_,c,l),new M(p[2],o,_,g,l),new M(p[1],g,s,c,_),new M(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),ee=t-+this._y.call(null,p.data),te=v*v+ee*ee;if(te<n){var ne=Math.sqrt(n=te);i=e-ne,a=t-ne,u=e+ne,d=t+ne,r=p.data}}return r}function _t(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 N(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function vt(){return this._root}function P(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function F(e){var t=[],n,r=this._root,i,a,o,s,c;for(r&&t.push(new M(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 M(i,l,u,s,c)),(i=r[2])&&t.push(new M(i,a,u,l,c)),(i=r[1])&&t.push(new M(i,l,o,s,u)),(i=r[0])&&t.push(new M(i,a,o,l,u))}return this}function yt(e){var t=[],n=[],r;for(this._root&&t.push(new M(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 M(a,o,s,u,d)),(a=i[1])&&t.push(new M(a,u,s,c,d)),(a=i[2])&&t.push(new M(a,o,d,u,l)),(a=i[3])&&t.push(new M(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 I(e){return e[0]}function bt(e){return arguments.length?(this._x=e,this):this._x}function xt(e){return e[1]}function St(e){return arguments.length?(this._y=e,this):this._y}function Ct(e,t,n){var r=new wt(t??I,n??xt,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function wt(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 Tt(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var L=Ct.prototype=wt.prototype;L.copy=function(){var e=new wt(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=Tt(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]=Tt(r));return e},L.add=dt,L.addAll=pt,L.cover=j,L.data=mt,L.extent=ht,L.find=gt,L.remove=_t,L.removeAll=N,L.root=vt,L.size=P,L.visit=F,L.visitAfter=yt,L.x=bt,L.y=St;function R(e){return function(){return e}}function Et(e){return(e()-.5)*1e-6}function Dt(e){return e.x+e.vx}function Ot(e){return e.y+e.vy}function kt(e){var t,n,r,i=1,a=1;typeof e!=`function`&&(e=R(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=Ct(t,Dt,Ot).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=Et(r),_+=h*h),g===0&&(g=Et(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:R(+t),c(),o):e},o}function At(e){return e.index}function jt(e,t){var n=e.get(t);if(!n)throw Error(`node not found: `+t);return n}function Mt(e){var t=At,n=d,r,i=R(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||Et(l),m=f.y+f.vy-d.y-d.vy||Et(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=jt(u,d.source)),typeof d.target!=`object`&&(d.target=jt(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:R(+e),m(),f):n},f.distance=function(e){return arguments.length?(i=typeof e==`function`?e:R(+e),h(),f):i},f}var Nt=1664525,Pt=1013904223,Ft=4294967296;function It(){let e=1;return()=>(e=(Nt*e+Pt)%Ft)/Ft}function Lt(e){return e.x}function z(e){return e.y}var Rt=10,B=Math.PI*(3-Math.sqrt(5));function zt(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,s=new Map,c=A(d),l=O(`tick`,`end`),u=It();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=Rt*Math.sqrt(.5+t),a=t*B;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 Bt(){var e,t,n,r,i=R(-30),a,o=1,s=1/0,c=.81;function l(n){var i,a=e.length,o=Ct(e,Lt,z).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=Et(n),m+=d*d),f===0&&(f=Et(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=Et(n),m+=d*d),f===0&&(f=Et(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:R(+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 Vt(e,t,n){var r,i=R(.1),a,o;typeof e!=`function`&&(e=R(+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:R(+e),c(),s):i},s.radius=function(t){return arguments.length?(e=typeof t==`function`?t:R(+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 V=e(_(),1),Ht={chargeStrength:-450,linkDistance:140,linkStrength:.35,centerStrength:1,collideRadius:60,alphaDecay:.045,radialStrength:0,degreeMode:`in`,verticalStrength:0};function Ut(e,t){return`${[...e].sort().join(`,`)}|${t.map(e=>`${e.source}>${e.target}`).sort().join(`,`)}`}function Wt(e){return 60+e*14}function Gt(e,t){let n=e===`in`?t.inDeg:t.totalDeg,r=0;for(let e of n.values())e>r&&(r=e);let i=Wt(t.count);return e=>r===0?i:i*(1-(n.get(e.id)??0)/r)}function Kt(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 qt(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`,Vt(Gt(t.degreeMode,n),0,0).strength(t.radialStrength)),e.force(`vertical`,Kt(t.verticalStrength,r)),e.alphaDecay(t.alphaDecay)}function Jt({nodeIds:e,links:t,setNodes:n,params:r,onTick:i,onSettle:a}){let o=(0,V.useRef)(null),s=(0,V.useRef)(new Map),c=(0,V.useRef)({inDeg:new Map,totalDeg:new Map,count:0}),l=(0,V.useRef)([]),u=(0,V.useRef)(null),d=(0,V.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=Ut(e,t),p=JSON.stringify(r);return(0,V.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 ee=zt(f).force(`charge`,Bt().strength(r.chargeStrength)).force(`link`,Mt(m).id(e=>e.id).distance(r.linkDistance).strength(r.linkStrength)).force(`center`,ut(0,0).strength(r.centerStrength)).force(`collide`,kt(r.collideRadius)).force(`radial`,Vt(Gt(r.degreeMode,_),0,0).strength(r.radialStrength)).force(`vertical`,Kt(r.verticalStrength,v)).alpha(1).alphaDecay(r.alphaDecay);return u.current=JSON.stringify(r),ee.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?.()}),ee.on(`end`,()=>d.current.onSettle?.()),o.current=ee,()=>{ee.stop(),o.current=null}},[f]),(0,V.useEffect)(()=>{let e=o.current;e&&u.current!==p&&(u.current=p,qt(e,d.current.params,c.current,l.current),e.alpha(.3).restart())},[p]),{onDragStart:(0,V.useCallback)((e,t,n)=>{let r=s.current.get(e);r&&(r.fx=t,r.fy=n),o.current?.alphaTarget(.3).restart()},[]),onDrag:(0,V.useCallback)((e,t,n)=>{let r=s.current.get(e);r&&(r.fx=t,r.fy=n)},[]),onDragStop:(0,V.useCallback)(e=>{let t=s.current.get(e);t&&(t.fx=null,t.fy=null),o.current?.alphaTarget(0)},[])}}var H=D(),{Text:Yt}=t;function Xt({label:e,min:t,max:n,step:r,value:i,onChange:a}){return(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`},children:[(0,H.jsx)(Yt,{style:{fontSize:11},children:e}),(0,H.jsx)(Yt,{type:`secondary`,style:{fontSize:11},children:i})]}),(0,H.jsx)(de,{min:t,max:n,step:r,value:i,onChange:a,tooltip:{open:!1}})]})}function Zt({params:e,onChange:t,onReset:n}){let{token:r}=g.useToken(),[i,a]=(0,V.useState)(!1),o=n=>t({...e,...n});return i?(0,H.jsxs)(`div`,{style:{width:220,padding:12,borderRadius:r.borderRadiusLG,background:r.colorBgElevated,border:`1px solid ${r.colorBorder}`,boxShadow:r.boxShadowSecondary},children:[(0,H.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:8},children:[(0,H.jsx)(Yt,{strong:!0,style:{fontSize:12},children:`Force layout`}),(0,H.jsx)(w,{type:`text`,size:`small`,"aria-label":`Collapse force layout panel`,onClick:()=>a(!1),children:`✕`})]}),(0,H.jsxs)(S,{direction:`vertical`,size:8,style:{width:`100%`},children:[(0,H.jsx)(Xt,{label:`Repulsion`,min:-1500,max:-50,step:10,value:e.chargeStrength,onChange:e=>o({chargeStrength:e})}),(0,H.jsx)(Xt,{label:`Link distance`,min:40,max:400,step:5,value:e.linkDistance,onChange:e=>o({linkDistance:e})}),(0,H.jsx)(Xt,{label:`Link strength`,min:0,max:1,step:.05,value:e.linkStrength,onChange:e=>o({linkStrength:e})}),(0,H.jsx)(Xt,{label:`Center gravity`,min:0,max:1,step:.05,value:e.centerStrength,onChange:e=>o({centerStrength:e})}),(0,H.jsx)(Xt,{label:`Collision radius`,min:20,max:120,step:2,value:e.collideRadius,onChange:e=>o({collideRadius:e})}),(0,H.jsx)(Xt,{label:`Settle speed`,min:.01,max:.1,step:.005,value:e.alphaDecay,onChange:e=>o({alphaDecay:e})}),(0,H.jsx)(Xt,{label:`Hub centering`,min:0,max:.3,step:.01,value:e.radialStrength,onChange:e=>o({radialStrength:e})}),(0,H.jsx)(Xt,{label:`Vertical flow`,min:0,max:40,step:1,value:e.verticalStrength,onChange:e=>o({verticalStrength:e})}),(0,H.jsxs)(`div`,{children:[(0,H.jsx)(Yt,{style:{fontSize:11},children:`Centrality by`}),(0,H.jsx)(fe,{size:`small`,block:!0,options:[{label:`In-links`,value:`in`},{label:`All links`,value:`total`}],value:e.degreeMode,onChange:e=>o({degreeMode:e})})]}),(0,H.jsx)(w,{size:`small`,block:!0,onClick:n,disabled:Qt(e),children:`Reset defaults`})]})]}):(0,H.jsx)(w,{size:`small`,onClick:()=>a(!0),children:`Forces`})}function Qt(e){return Object.keys(Ht).every(t=>e[t]===Ht[t])}var{Text:$t}=t,en={doc:`#4096ff`,memory:`#9254de`,skill:`#36cfc9`,prompt:`#73d13d`,guide:`#ffa940`,decision:`#ff7875`,bundle:`#bae637`,external:`#8c8c8c`},tn=(0,V.createContext)({focusId:null,neighborIds:new Set,hasFocus:!1});function nn({title:e,iconEmoji:t}){return(0,H.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:6,minWidth:0,lineHeight:1.3},children:[t?(0,H.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-flex`,alignItems:`center`,flex:`0 0 auto`,lineHeight:1},children:t}):null,(0,H.jsx)($t,{style:{fontSize:12,fontWeight:500,lineHeight:1.3,minWidth:0,flex:`1 1 auto`},ellipsis:{tooltip:e},children:e})]})}var rn=(0,V.memo)(({id:e,data:t})=>{let{token:n}=g.useToken(),{focusId:r,neighborIds:i,hasFocus:a}=(0,V.useContext)(tn),o=r===e,s=i.has(e),c=a&&!o&&!s,l=en[t.kind]??en.doc;return(0,H.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,maxWidth:180,padding:`6px 12px`,borderRadius:n.borderRadiusLG,border:`1px solid ${o?l:n.colorBorder}`,borderLeft:`4px solid ${l}`,background:n.colorBgElevated,boxShadow:o?`0 0 0 2px ${l}`:n.boxShadowTertiary,opacity:c?.25:1,transition:`opacity 120ms ease, box-shadow 120ms ease`,cursor:`pointer`},children:[(0,H.jsx)($e,{type:`target`,position:k.Top,style:{opacity:0}}),(0,H.jsx)(nn,{title:t.title,iconEmoji:t.iconEmoji}),(0,H.jsx)($e,{type:`source`,position:k.Bottom,style:{opacity:0}})]})});rn.displayName=`KnowledgeGraphDocNode`;var an={kbDoc:rn};function on(e){return e.map(e=>e.document_id).sort().join(`,`)}function sn(e){return e.map(e=>`${e.document_id}:${e.title}:${e.kind}:${e.icon_emoji??``}`).sort().join(`|`)}function cn({nodes:e,edges:t,activeDocId:n,hoverDocId:r,onSelectDoc:i,onHoverDoc:a,loading:o=!1,emptyText:s=`No documents in this space yet.`}){let{token:c}=g.useToken(),[l,u,d]=Ye([]),[f,p]=(0,V.useState)(Ht),m=on(e),h=sn(e),_=(0,V.useMemo)(()=>new Map(e.map(e=>[e.document_id,e])),[e]);(0,V.useEffect)(()=>{u(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}}})})},[h,u]);let ee=(0,V.useMemo)(()=>t.map(e=>({source:e.source_document_id,target:e.target_document_id})),[t]),te=(0,V.useMemo)(()=>e.map(e=>e.document_id),[e]),ne=(0,V.useRef)(null),re=(0,V.useRef)(null),ie=(0,V.useCallback)(()=>{re.current??=requestAnimationFrame(()=>{re.current=null,ne.current?.fitView({padding:.2})})},[]),ae=(0,V.useRef)(!0),y=(0,V.useCallback)(()=>{ae.current&&ie()},[ie]),{onDragStart:se,onDrag:ce,onDragStop:le}=Jt({nodeIds:te,links:ee,params:f,setNodes:u,onTick:y,onSettle:()=>{y(),ae.current=!1}});(0,V.useEffect)(()=>{e.length!==0&&(ae.current=!0)},[f]),(0,V.useEffect)(()=>{if(e.length!==0)return ae.current=!0,ie(),()=>{re.current!=null&&cancelAnimationFrame(re.current),re.current=null}},[m,ie]);let ue=(0,V.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]),de=r??n,fe=(0,V.useMemo)(()=>({focusId:de,neighborIds:de?ue.get(de)??new Set:new Set,hasFocus:!!(de&&_.has(de))}),[de,ue,_]),pe=(0,V.useMemo)(()=>t.map(e=>{let t=`${e.source_document_id}->${e.target_document_id}`,n=fe.hasFocus&&(e.source_document_id===fe.focusId||e.target_document_id===fe.focusId),r=fe.hasFocus&&!n;return{id:t,source:e.source_document_id,target:e.target_document_id,animated:n,style:{stroke:n?c.colorPrimary:c.colorBorder,strokeWidth:n?2:1,opacity:r?.15:.6}}}),[t,fe,c.colorPrimary,c.colorBorder]);return!o&&e.length===0?(0,H.jsx)(`div`,{style:{height:`100%`,display:`grid`,placeItems:`center`},children:(0,H.jsx)(v,{description:s})}):(0,H.jsxs)(`div`,{style:{height:`100%`,width:`100%`,position:`relative`},children:[o&&(0,H.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:10,display:`grid`,placeItems:`center`,background:`${c.colorBgContainer}99`,pointerEvents:`none`},children:(0,H.jsx)(oe,{})}),(0,H.jsx)(tn.Provider,{value:fe,children:(0,H.jsxs)(Ze,{nodes:l,edges:pe,nodeTypes:an,onInit:e=>{ne.current=e},onNodesChange:d,onNodeClick:(e,t)=>i(t.id),onNodeMouseEnter:(e,t)=>a(t.id),onNodeMouseLeave:()=>a(null),onNodeDragStart:(e,t)=>{ae.current=!1,se(t.id,t.position.x,t.position.y)},onMoveStart:e=>{e&&(ae.current=!1)},onNodeDrag:(e,t)=>ce(t.id,t.position.x,t.position.y),onNodeDragStop:(e,t)=>le(t.id),fitView:!0,minZoom:.1,panOnScroll:!0,zoomActivationKeyCode:[`Meta`,`Control`],proOptions:{hideAttribution:!0},children:[(0,H.jsx)(Qe,{color:c.colorBorderSecondary,gap:20}),(0,H.jsx)(Xe,{position:`top-left`,showInteractive:!1}),(0,H.jsx)(Je,{pannable:!0,zoomable:!0,nodeColor:e=>en[e.data?.kind]??en.doc,style:{background:c.colorBgContainer}}),(0,H.jsx)(et,{position:`top-right`,children:(0,H.jsx)(Zt,{params:f,onChange:p,onReset:()=>p(Ht)})})]})})]})}var{Header:ln,Content:un}=ae,{Text:U,Title:dn}=t,fn=new Map,pn=`# New Knowledge Page
2
+
3
+ Write markdown here.
4
+ `,W=`__knowledge_draft__`,G=``,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`},K={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 q(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`${K[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=K[e.state],r={color:n.color,fontSize:t},i=e.state===`queued`?(0,H.jsx)(ie,{spin:!0,style:r}):e.state===`error`?(0,H.jsx)(x,{style:r}):(0,H.jsx)(ve,{style:r});return(0,H.jsx)(d,{title:q(e),children:(0,H.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===W?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===W&&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`${rt(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].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 Kn=e=>(e??``).replace(/[`*_#>[\]()]/g,``).replace(/\s+/g,` `).trim(),qn=(e,{allowEmpty:t=!1}={})=>T(e,{allowEmpty:t}),Jn=e=>{let t=e.split(`/`).filter(Boolean);return t.pop(),t.join(`/`)},Yn=e=>e.split(`/`).filter(Boolean).pop()??e,Xn=e=>`${e.trim().toLowerCase().replace(/['"]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`untitled`}.md`,Zn=(e,t)=>`${e}:${t}`,Qn=e=>{if(!e)return null;let[t,...n]=e.split(`:`),r=n.join(`:`);return t!==`user`&&t!==`group`||!r?null:{subjectType:t,subjectId:r}},$n=(e,t=`Untitled`)=>je(e,t),er=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/,``)},tr=e=>{if(!e)return`—`;let t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleString()},nr=(e,t)=>{let n=Mn(e),r=Yn(t).replace(/^\/+/,``)||`untitled.md`;return n?`${n}/${r}`:r},rr=(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=Jn(e),a=Yn(e).match(/^(.*?)(\.[^.]+)?$/),o=a?.[1]||`untitled`,s=a?.[2]||``,c=2,l=nr(i,`${o}-${c}${s}`);for(;r.has(l.toLowerCase());)c+=1,l=nr(i,`${o}-${c}${s}`);return l};function ir({client:e,currentUser:t=null,userById:_=fn,onUserSettingsClick:ie,onLogout:de}){let{token:x}=g.useToken(),{confirm:ve}=ze(),T=ke(),E=Ne(),je=Ae(),D=je.namespaceSlug?nt(je.namespaceSlug):null,O=tt(je[`*`]),Je=D&&O?`${D}\n${O}`:null,k=ot(E.pathname),Ye=(0,V.useMemo)(()=>new URLSearchParams(E.search),[E.search]),[Xe,Ze]=(0,V.useState)([]),[A,Qe]=(0,V.useState)([]),[$e,et]=(0,V.useState)([]),[ut,dt]=(0,V.useState)(null),[ft,pt]=(0,V.useState)(null),[j,mt]=(0,V.useState)([]),[ht,M]=(0,V.useState)(null),[gt,_t]=(0,V.useState)(null),[N,vt]=(0,V.useState)(()=>D??`global`),[P,F]=(0,V.useState)(null),[yt,I]=(0,V.useState)(null),[bt,xt]=(0,V.useState)(null),[St,Ct]=(0,V.useState)(!1),[wt,Tt]=(0,V.useState)(null),[L,R]=(0,V.useState)(G),[Et,Dt]=(0,V.useState)([`folder:`,...mn.map(e=>`folder:${e}`)]),[Ot,kt]=(0,V.useState)(``),[At,jt]=(0,V.useState)(`public`),[Mt,Nt]=(0,V.useState)(`published`),[Pt,Ft]=(0,V.useState)(`doc`),[It,Lt]=(0,V.useState)(null),[z,Rt]=(0,V.useState)(!1),[B,zt]=(0,V.useState)(pn),[Bt,Vt]=(0,V.useState)(``),[Ht,Ut]=(0,V.useState)(()=>Ye.get(`q`)??``),[Wt,Gt]=(0,V.useState)(`text`),[Kt,qt]=(0,V.useState)(!1),[Jt,Yt]=(0,V.useState)(!1),[Xt,Zt]=(0,V.useState)(null),[Qt,$t]=(0,V.useState)([]),[en,tn]=(0,V.useState)(null),[nn,rn]=(0,V.useState)(`All`),[an,on]=(0,V.useState)(!1),[sn,K]=(0,V.useState)(!1),[wn,q]=(0,V.useState)(null),[Tn,En]=(0,V.useState)(!1),[Un,ir]=(0,V.useState)(`doc`),[ar,or]=(0,V.useState)(`New Page`),[sr,cr]=(0,V.useState)(`global`),[lr,ur]=(0,V.useState)(`pages`),[dr,fr]=(0,V.useState)([]),[pr,mr]=(0,V.useState)(!1),[hr,gr]=(0,V.useState)(G),[_r,vr]=(0,V.useState)(``),[J,Y]=(0,V.useState)(()=>Ye.get(`mode`)===`edit`),yr=(0,V.useRef)(null),X=(0,V.useRef)(P),br=(0,V.useRef)(O),[xr,Sr]=(0,V.useState)(()=>new Set),[Cr,wr]=(0,V.useState)(!1),[Tr,Er]=(0,V.useState)(G),[Dr,Or]=(0,V.useState)(!1),[kr,Ar]=(0,V.useState)(null),[jr,Mr]=(0,V.useState)(`preview`),[Nr,Pr]=(0,V.useState)(!1),[Fr,Ir]=(0,V.useState)(!1),[Lr,Rr]=(0,V.useState)(!1),[zr,Br]=(0,V.useState)(!1),[Vr,Hr]=(0,V.useState)(null),[Ur,Wr]=(0,V.useState)(null),[Gr,Kr]=(0,V.useState)(!1),[qr,Jr]=(0,V.useState)(!1),[Yr,Xr]=(0,V.useState)(null),[Zr,Qr]=(0,V.useState)(``),[$r]=C.useForm(),[ei,ti]=(0,V.useState)(!1),[ni,ri]=(0,V.useState)(null),[ii,ai]=(0,V.useState)(!1),[oi,si]=(0,V.useState)(null),[ci]=C.useForm(),li=(0,V.useRef)(!1),[ui,di]=(0,V.useState)([]),[fi,pi]=(0,V.useState)([]),[mi,hi]=(0,V.useState)([]),[gi,_i]=(0,V.useState)(!1),[vi,yi]=(0,V.useState)(null),[bi,xi]=(0,V.useState)(`read`),[Si,Ci]=(0,V.useState)(()=>typeof window>`u`?1440:window.innerWidth),[wi,Ti]=Ge(t?.user_id,`knowledge:sidebar:size`,vn),Ei=(0,V.useRef)(null),Di=(0,V.useRef)(!1),Oi=(0,V.useRef)(null);(0,V.useEffect)(()=>{if(typeof window>`u`)return;let e=()=>Ci(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,V.useEffect)(()=>{if(!Kt||typeof document>`u`)return;let e=e=>{let t=e.target;t instanceof Node&&Oi.current?.contains(t)||qt(!1)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[Kt]),(0,V.useEffect)(()=>{_t(e=>e&&e.key!==Je?null:e)},[Je]),(0,V.useEffect)(()=>{X.current=P},[P]);let Z=(0,V.useMemo)(()=>Nn({activeDocId:P,activeDocSnapshot:yt,documents:A,draftDocument:ut}),[P,yt,A,ut]),ki=Z?.document_id===W,Ai=Z?J?It:Z.icon_emoji:null,ji=Ln({activeDocId:P,activeDocDocumentId:Z?.document_id,isDraftDocument:ki,versionsDocumentId:ht}),Mi=(0,V.useMemo)(()=>Xe.find(e=>e.slug===N)??Xe[0]??null,[Xe,N]),Ni=(0,V.useMemo)(()=>Math.min(yn,xn(gn,Si)),[Si]),Pi=(0,V.useMemo)(()=>Math.max(Ni,Math.min(yn,xn(_n,Si))),[Ni,Si]),Fi=bn(wi,Ni,Pi);(0,V.useEffect)(()=>{Ei.current?.resize(Fi)},[Fi]);let Ii=(0,V.useMemo)(()=>{let e=new Map;for(let t of Xe)e.set(t.namespace_id,t.slug);return e},[Xe]),Q=(0,V.useCallback)(e=>Ii.get(e.namespace_id)??(N===`all`?Mi?.slug:N)??`global`,[N,Ii,Mi?.slug]),Li=(0,V.useMemo)(()=>{let e=new Map(_);for(let t of ui)e.set(t.user_id,t);return t&&e.set(t.user_id,t),[{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:Zn(`user`,e.user_id)}))},{label:`Groups`,options:fi.filter(e=>!e.archived).sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({label:`${e.name} group`,value:Zn(`group`,e.group_id)}))}]},[t,fi,ui,_]),Ri=(0,V.useMemo)(()=>{let e=new Map(_);for(let t of ui)e.set(t.user_id,t);return t&&e.set(t.user_id,t),e},[t,ui,_]),zi=(0,V.useCallback)(e=>{if(e.subject_type===`user`){let t=Ri.get(e.subject_id);return t?`${t.name||t.email}${t.email?` <${t.email}>`:``}`:e.subject_id}let t=fi.find(t=>t.group_id===e.subject_id);return t?`${t.name} group`:e.subject_id},[fi,Ri]),Bi=(0,V.useMemo)(()=>new Map($e.map(e=>[e.documentId,e.routePath])),[$e]),Vi=(0,V.useCallback)(e=>at(e,e=>{let t=Bi.get(e);return t?`${window.location.origin}${t}`:void 0}),[Bi]),Hi=(0,V.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]),Ui=(0,V.useMemo)(()=>Z?z?$n(B,Z.title):Ot.trim()||Z.title:`Untitled`,[Z,B,Ot,z]),Wi=!!(Z&&Ui.trim()!==Z.title.trim()),Gi=(0,V.useMemo)(()=>Z?rr(nr(Jn(Z.path),Xn(Ui)),A,Z.document_id):``,[Z,A,Ui]),Ki=(0,V.useCallback)((e={})=>Rn({query:e.query,editing:e.editing??J,activeDocId:P}),[P,J]),qi=(0,V.useMemo)(()=>{let e=new Set([G,...mn,...dr]);for(let t of A){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===G?-1:t===G?1:e.localeCompare(t))},[A,dr]),Ji=(0,V.useMemo)(()=>qi.map(e=>({label:e||`Root`,value:e})),[qi]),Yi=(0,V.useMemo)(()=>{let e={path:G,name:`Root`,children:[],docs:[]},t=new Map([[G,e]]),n=e=>{let r=Mn(e),i=t.get(r);if(i)return i;let a=n(Jn(r)),o={path:r,name:Yn(r),children:[],docs:[]};return t.set(r,o),a.children.push(o),o};for(let e of qi)n(e);for(let e of A)n(Jn(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},[A,qi]),Xi=(0,V.useMemo)(()=>{let e=t=>({key:`folder:${t.path}`,title:t.name,kind:`folder`,folderPath:t.path,children:t.children.map(e)});return[e(Yi)]},[Yi]),Zi=(0,V.useMemo)(()=>`agor://kb/${sr||(N===`all`?`global`:N)}/${nr(lr,Xn(ar))}`,[N,lr,sr,ar]),$=(0,V.useMemo)(()=>j.find(e=>e.version_id===kr)??j[0]??null,[kr,j]),Qi=(0,V.useMemo)(()=>{if(!$)return null;let e=j.findIndex(e=>e.version_id===$.version_id);return e>=0?j[e+1]??null:null},[$,j]),$i=Math.max(j.length-1,0),ea=j[0]?.content_text??pn,ta=J&&!!(ki||Z&&(B!==ea||Ot!==Z.title||(It??null)!==(Z.icon_emoji??null)||At!==Z.visibility||Mt!==Z.status||Pt!==Z.kind||z!==(Z.metadata?.title_from_content===!0)||Lr)),na=ki||!!(Z&&(Ee(t?.role,Oe.ADMIN)||t?.user_id&&Z.created_by===t.user_id)),ra=(0,V.useCallback)(async()=>{if(!e)return;let t=An(await e.service(`kb/namespaces`).find({query:{archived:!1}}));Ze(t),vt(Wn(N,t))},[e,N]),ia=(0,V.useCallback)(async()=>{if(e)try{et(An(await e.service(`kb/documents`).find({query:{archived:!1}})).map(e=>st(e,`/kb`)).filter(e=>!!e))}catch(e){console.error(`Failed to load Knowledge mentions:`,e)}},[e]),aa=(0,V.useCallback)(async()=>{if(e){on(!0),q(null);try{await ra(),ia();let t=kn(nn),n=N===`all`?void 0:N;Qe(An(await e.service(`kb/documents`).find({query:{namespace_slug:n,kind:t,archived:!1,include_indexing:!0}})))}catch(e){console.error(`Failed to load Knowledge:`,e),q(e instanceof Error?e.message:String(e))}finally{on(!1)}}},[e,N,nn,ra,ia]);(0,V.useEffect)(()=>{aa()},[aa]),(0,V.useEffect)(()=>{let t=Ht.trim();if(!e||t.length<2){Yt(!1),Zt(null),$t([]),tn(null);return}let n=Vn(t,Wt);Yt(!0),Zt(null),tn(null);let r=!1,i=window.setTimeout(async()=>{try{let i=await e.service(`kb/search`).find({query:{q:t,mode:Wt,limit:8,include_chunks:!0}});if(r)return;$t(An(i)),tn(n)}catch(e){if(r)return;console.error(`Failed to search Knowledge:`,e),$t([]),tn(n),Zt(e instanceof Error?e.message:String(e))}finally{r||Yt(!1)}},220);return()=>{r=!0,window.clearTimeout(i)}},[e,Wt,Ht]);let oa=(0,V.useCallback)(async()=>{if(e){Kr(!0),Xr(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??{}}};Hr(r),Wr(n),$r.setFieldsValue(r)}catch(e){console.error(`Failed to load Knowledge semantic settings:`,e),Xr(e instanceof Error?e.message:String(e))}finally{Kr(!1)}}},[e,$r]),sa=(0,V.useCallback)(async()=>{if(e)try{pi(An(await e.service(`groups`).findAll({query:{archived:!1}})))}catch(e){console.error(`Failed to load Knowledge namespace groups:`,e),pi([])}},[e]),ca=(0,V.useCallback)(async()=>{if(e)try{di(An(await e.service(`users`).findAll({})))}catch(e){console.error(`Failed to load Knowledge namespace users:`,e),di([])}},[e]),la=(0,V.useCallback)(()=>{Br(!0),Qr(``),Xr(null),si(null),oa(),ra(),sa(),ca()},[sa,ca,ra,oa]),ua=(0,V.useCallback)(async()=>{if(e){Jr(!0),Xr(null);try{let t=await $r.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??{}}};Zr.trim()&&(n.api_key=Zr.trim()),Hr(await e.service(`kb/settings`).create(n)),Qr(``),await oa(),Br(!1)}catch(e){console.error(`Failed to save Knowledge semantic settings:`,e),Xr(e instanceof Error?e.message:String(e))}finally{Jr(!1)}}},[e,oa,Zr,$r]),da=(0,V.useCallback)(async()=>{if(e){Jr(!0),Xr(null);try{await e.service(`kb/indexing/reindex`).create({}),await oa()}catch(e){console.error(`Failed to queue Knowledge reindex:`,e),Xr(e instanceof Error?e.message:String(e))}finally{Jr(!1)}}},[e,oa]),fa=(0,V.useCallback)(n=>{li.current=!!n,ri(n??null),si(null),yi(null),xi(`read`),hi(!n&&t?.user_id?[{subject_type:`user`,subject_id:t.user_id,permission:`own`}]:[]),ci.setFieldsValue(n?{slug:n.slug,display_name:n.display_name,description:n.description??``,kind:n.kind,visibility_default:n.visibility_default,others_can:n.others_can}:{slug:``,display_name:``,description:``,kind:`team`,visibility_default:`public`,others_can:`none`}),ti(!0),n&&e&&(_i(!0),jn(e).listAcl({namespace_id:n.namespace_id}).then(e=>{hi(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),si(e instanceof Error?e.message:String(e))}).finally(()=>_i(!1)))},[e,t?.user_id,ci]),pa=(0,V.useCallback)(e=>{if(Object.hasOwn(e,`slug`)){li.current=!0;return}!ni&&Object.hasOwn(e,`display_name`)&&!li.current&&ci.setFieldsValue({slug:Fe(e.display_name||``)})},[ni,ci]),ma=(0,V.useCallback)(()=>{let e=Qn(vi);e&&(hi(t=>{let n={subject_type:e.subjectType,subject_id:e.subjectId,permission:bi},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)}),yi(null),xi(`read`))},[bi,vi]),ha=(0,V.useCallback)((e,t)=>{hi(n=>n.map(n=>n.subject_type===e.subject_type&&n.subject_id===e.subject_id?{...n,permission:t}:n))},[]),ga=(0,V.useCallback)(e=>{hi(t=>t.filter(t=>t.subject_type!==e.subject_type||t.subject_id!==e.subject_id))},[]),_a=(0,V.useCallback)(async()=>{if(e){ai(!0),si(null);try{let t=await ci.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:ni?.namespace_id,namespace:ni?{...n,slug:ni.slug}:n,acl:mi});hi(r.acl.map(e=>({subject_type:e.subject_type,subject_id:e.subject_id,permission:e.permission}))),Ze(ni?e=>e.map(e=>e.namespace_id===r.namespace.namespace_id?r.namespace:e):e=>[r.namespace,...e]),await ra(),ti(!1),ri(null)}catch(e){console.error(`Failed to save Knowledge namespace:`,e),si(e instanceof Error?e.message:String(e))}finally{ai(!1)}}},[e,ra,mi,ni,ci]),va=(0,V.useCallback)(t=>{e&&ve({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()=>{si(null);try{await e.service(`kb/namespaces`).remove(t.namespace_id),await ra(),N===t.slug&&vt(`all`)}catch(e){console.error(`Failed to archive Knowledge namespace:`,e),si(e instanceof Error?e.message:String(e))}}})},[N,e,ve,ra]),ya=(0,V.useCallback)(async()=>{if(!e||N===`all`){xt(null);return}Ct(!0);try{xt(await e.service(`kb/graph`).find({query:{namespace:N}}))}catch(e){console.error(`Failed to load Knowledge graph:`,e),xt(null)}finally{Ct(!1)}},[e,N]);(0,V.useEffect)(()=>{!P&&!O&&ya()},[P,ya,O]);let ba=(0,V.useCallback)(async()=>ta?new Promise(e=>{ve({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,[ve,ta]);(0,V.useEffect)(()=>{if(!ta)return;let e=e=>{e.preventDefault(),e.returnValue=``};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[ta]),(0,V.useEffect)(()=>{let e=D??`global`,t=Ye.get(`q`)??``,n=Ye.get(`mode`)===`edit`&&(!!O||Ye.get(`draft`)===`page`),r=!O&&!!br.current;br.current=O,r&&P&&!ut&&X.current!==W&&(X.current=null,F(null),I(null)),D&&e!==N&&vt(e),Ut(e=>e===t?e:t);let i=yr.current;i===null?n!==J&&Y(n):n===i&&(yr.current=null,n!==J&&Y(n))},[P,N,J,O,D,Ye,ut]),(0,V.useEffect)(()=>{if(X.current===W||!e||!D||!O)return;let t=Je;if(!t)return;if(yt?.path===O&&Q(yt)===D){_t(e=>e?.key===t?null:e),yt.document_id!==P&&(X.current=yt.document_id,F(yt.document_id));return}let n=A.find(e=>e.path===O&&Q(e)===D);if(n){_t(e=>e?.key===t?null:e),I(n),n.document_id!==P&&(X.current=n.document_id,F(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===W)return;let[n]=An(e);if(!n){X.current=null,F(null),I(null),_t({key:t,message:`Knowledge page not found.`});return}_t(e=>e?.key===t?null:e),I(n),X.current=n.document_id,F(n.document_id)}).catch(e=>{r||(console.error(`Failed to resolve Knowledge route document:`,e),X.current=null,F(null),I(null),_t({key:t,message:e instanceof Error?e.message:`Failed to load Knowledge page.`}))}),()=>{r=!0}},[P,yt,e,A,Q,Je,O,D]),(0,V.useEffect)(()=>{if(!e||an||X.current===W||!D||!O||A.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;_t(e=>e?.key===Je?null:e),Qe(e=>e.some(e=>e.document_id===r.document_id)?e:[r,...e]),I(r),X.current=r.document_id,F(r.document_id)}catch(e){t||console.error(`Failed to load direct Knowledge document:`,e)}})(),()=>{t=!0}},[e,A,an,Q,Je,O,D]),(0,V.useEffect)(()=>{X.current!==W&&P&&!Z&&!an&&!O&&(X.current=null,F(null),I(null))},[Z,P,an,O]),(0,V.useEffect)(()=>{Z&&(R(Jn(Z.path)),kt(Z.title),jt(Z.visibility),Nt(Z.status??`published`),Ft(Z.kind),Lt(Z.icon_emoji??null),Rt(Z.metadata?.title_from_content===!0),Rr(!1),Y(yr.current??Ye.get(`mode`)===`edit`))},[Z,Ye]),(0,V.useEffect)(()=>{Wi||Rr(!1)},[Wi]),(0,V.useEffect)(()=>{if(ut||O&&!Z)return;let e=O?A.find(e=>e.path===O&&(!D||Q(e)===D)):null;if(e&&e.document_id!==P||!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,P,A,ut,E.hash,E.pathname,E.search,Q,T,k,O,D]),(0,V.useEffect)(()=>{z&&kt($n(B,Z?.title??`Untitled`))},[Z?.title,B,z]),(0,V.useEffect)(()=>{N!==`all`&&cr(N)},[N]);let xa=(0,V.useCallback)(async()=>{if(ki){mt([]),M(W);return}if(!e||!Z){mt([]),M(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);mt(r),M(t),Ar(e=>e&&r.some(t=>t.version_id===e)?e:r[0]?.version_id??null),zt(r[0]?.content_text??pn)}catch(e){if(X.current!==t)return;console.error(`Failed to load Knowledge versions:`,e),mt([]),M(t),zt(pn)}},[e,Z,ki]);(0,V.useEffect)(()=>{xa()},[xa]);let Sa=async()=>{if(!await ba())return;let e=N===`all`?`global`:N,t=Xe.find(t=>t.slug===e)??Mi??Xe[0],n=`Untitled`,r=rr(Xn(n),A),i={document_id:W,namespace_id:t?.namespace_id??W,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};dt(i),pt(e),I(null),X.current=W,F(W),R(G),kt(n),jt(i.visibility),Nt(i.status),Ft(i.kind),Lt(i.icon_emoji??null),Rt(!0),Rr(!1),zt(`# ${n}\n\nWrite markdown here.\n`),mt([]),M(W),yr.current=!0,Y(!0),T(`${rt(k,e)}?draft=page&mode=edit`)},Ca=async e=>{if(e===`doc`){await Sa();return}let t=e===`skill`?`New Skill`:e===`memory`?`New Memory`:`New Page`,n=L||(e===`skill`?`skills`:e===`memory`?`memories`:`pages`);ir(e),or(t),cr(N===`all`?`global`:N),ur(n),En(!0)},wa=()=>{gr(L),vr(``),mr(!0)},Ta=()=>{let e=Mn(_r);if(!e)return;let t=qn(e),n=qn(hr,{allowEmpty:!0});if(t||n){q(t??n);return}let r=Mn([hr,e].filter(Boolean).join(`/`));fr(e=>[...new Set([...e,r])]),R(r),Dt(e=>[...new Set([...e,`folder:${hr}`,`folder:${r}`])]),mr(!1)},Ea=async()=>{if(!e)return;let t=sr||(N===`all`?`global`:N),n=qn(lr,{allowEmpty:!0});if(n){q(n);return}let r=ar.trim()||(Un===`skill`?`New Skill`:Un===`memory`?`New Memory`:`New Page`),i=rr(nr(lr,Xn(r)),A);K(!0),q(null);try{let n=await e.service(`kb/documents`).create({namespace_slug:t,path:i,title:r,kind:Un,visibility:Xe.find(e=>e.slug===t)?.visibility_default??Mi?.visibility_default??`public`,status:`published`,metadata:{title_from_content:!0},content_text:`# ${r}\n\nWrite markdown here.\n`,change_summary:`Initial version`});Qe(e=>[n,...e]),vt(t),I(n),X.current=n.document_id,F(n.document_id),R(Jn(n.path)),zt(`# ${r}\n\nWrite markdown here.\n`),M(n.document_id),Dt(e=>[...new Set([...e,`folder:${Jn(n.path)}`])]),En(!1)}catch(e){console.error(`Failed to create Knowledge document:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}},Da=async()=>{if(!(!e||!Z)){K(!0),q(null);try{let t=Ui;if(ki){let n=ft??(N===`all`?`global`:N),r=rr(Xn(t),A),i=await e.service(`kb/documents`).create({namespace_slug:n,path:r,title:t,kind:Pt,icon_emoji:It,visibility:At,status:Mt,metadata:{...Z.metadata??{},title_from_content:z},content_text:B,change_summary:`Initial version`});Qe(e=>[i,...e]),dt(null),pt(null),vt(n),I(i),X.current=i.document_id,F(i.document_id),R(Jn(i.path)),mt([]),M(i.document_id),yr.current=!1,Y(!1),T(`${rt(k,Q(i),i.path)}${Ki({editing:!1})}`,{replace:!0});return}let n=Wi&&Lr&&Gi!==Z.path?Gi:void 0,r=await e.service(`kb/documents`).patch(Z.document_id,{title:t,visibility:At,status:Mt,kind:Pt,icon_emoji:It,...n?{path:n}:{},content_text:B,metadata:{...Z.metadata??{},title_from_content:z},change_summary:n?`Edited and renamed from ${Z.path} to ${n}`:`Edited from Knowledge UI`});Qe(e=>e.map(e=>e.document_id===r.document_id?r:e)),I(r),await xa(),n?(yr.current=!1,Y(!1),T(`${rt(k,Q(r),r.path)}${Ki({editing:!1})}`,{replace:!0})):Ia(!1)}catch(e){console.error(`Failed to save Knowledge document:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}}},Oa=async(t,n)=>{if(!e)return;let r=Mn(n),i=qn(r,{allowEmpty:!0});if(i){q(i);return}let a=rr(nr(r,Yn(t.path)),A,t.document_id);if(a!==t.path){K(!0),q(null);try{let n=await e.service(`kb/documents`).patch(t.document_id,{path:a,change_summary:`Moved to ${r||`root`}`});Qe(e=>e.map(e=>e.document_id===n.document_id?n:e)),I(n),X.current=n.document_id,F(n.document_id),R(r),Dt(e=>[...new Set([...e,`folder:${r}`])]),T(`${rt(k,Q(n),n.path)}${Ki({editing:!1})}`,{replace:!0})}catch(e){console.error(`Failed to move Knowledge document:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}}},ka=async t=>{if(!Z)return;let n=Me(t);if(Lt(n),ki){dt(e=>e&&{...e,icon_emoji:n});return}if(e){K(!0),q(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`});Qe(e=>e.map(e=>e.document_id===t.document_id?t:e)),I(t)}catch(e){console.error(`Failed to update Knowledge document icon:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}}},Aa=e=>{let t=t=>{e(t),Ir(!1)};return(0,H.jsxs)(S,{direction:`vertical`,size:8,onClick:e=>e.stopPropagation(),children:[(0,H.jsx)(Pe,{onEmojiClick:e=>t(e.emoji)}),(0,H.jsx)(w,{block:!0,onClick:()=>t(null),children:`Remove icon`})]})},ja=()=>{if(Z){if(ki){dt(null),pt(null),X.current=null,F(null),I(null),kt(``),jt(`public`),Ft(`doc`),Lt(null),Rt(!1),Rr(!1),zt(pn),mt([]),M(null),Ia(!1);return}kt(Z.title),jt(Z.visibility),Ft(Z.kind),Lt(Z.icon_emoji??null),Rt(Z.metadata?.title_from_content===!0),Rr(!1),zt(j[0]?.content_text??pn),Ia(!1)}},Ma=async()=>{await xa(),Ar(e=>e??j[0]?.version_id??null),Mr(`preview`),Or(!0)},Na=async()=>{if(!e||!Z||!$)return;let t=$.content_text??``,n=z?$n(t,Z.title):Z.title;K(!0),q(null);try{let r=await e.service(`kb/documents`).patch(Z.document_id,{title:n,content_text:t,metadata:{...Z.metadata??{},title_from_content:z},change_summary:`Restored version ${$.version_number}`});Qe(e=>e.map(e=>e.document_id===r.document_id?r:e)),I(r),zt(t),kt(n),await xa(),Or(!1)}catch(e){console.error(`Failed to restore Knowledge version:`,e),q(e instanceof Error?e.message:String(e))}finally{K(!1)}},Pa=()=>{!e||!Z||ve({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),Qe(e=>e.filter(e=>e.document_id!==Z.document_id)),X.current=null,F(null),I(null),mt([]),M(null),Ar(null)}catch(e){console.error(`Failed to archive Knowledge document:`,e),q(e instanceof Error?e.message:String(e))}}})},Fa=e=>{Sr(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},Ia=e=>{yr.current=e,Y(e),T(`${E.pathname}${Ki({editing:e})}`,{replace:!0})},La=()=>{dt(null),pt(null)},Ra=async e=>{await ba()&&(La(),I(e),X.current=e.document_id,F(e.document_id),yr.current=!1,Y(!1),T(`${rt(k,Q(e),e.path)}${Ki({editing:!1})}`))},za=async e=>{if(!await ba())return;let t=e.document;La(),vt(e.namespace.slug),I(t),X.current=t.document_id,F(t.document_id),yr.current=!1,Y(!1),qt(!1),T(rt(k,e.namespace.slug,t.path))},Ba=async()=>{await ba()&&(La(),X.current=null,F(null),I(null),yr.current=!1,Y(!1),T(`${N===`all`?k:rt(k,N)}${Ki({editing:!1})}`))},Va=async e=>{let t=A.find(t=>t.document_id===e);if(t){await Ra(t);return}let n=bt?.nodes.find(t=>t.document_id===e);if(!n||!await ba())return;La(),X.current=null,F(null),I(null);let r=ct(n.uri)??N;rn(`All`),Vt(``),yr.current=!1,Y(!1),T(rt(k,r,n.path))},Ha=async e=>{await ba()&&(La(),vt(e),X.current=null,F(null),I(null),R(G),yr.current=!1,Y(!1),T(`${e===`all`?k:rt(k,e)}${Ki({editing:!1})}`))},Ua=(e,t=0)=>{let r=Z?.document_id===e.document_id,i=wt===e.document_id;return(0,H.jsxs)(`button`,{type:`button`,onClick:()=>Ra(e),onMouseEnter:()=>Tt(e.document_id),onMouseLeave:()=>Tt(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:x.borderRadius,background:r?x.colorPrimaryBg:i?x.colorFillSecondary:`transparent`,color:x.colorText,cursor:`pointer`,textAlign:`left`},children:[e.icon_emoji?(0,H.jsx)(`span`,{style:{fontSize:15,lineHeight:1,width:14,textAlign:`center`},children:e.icon_emoji}):(0,H.jsx)(n,{style:{color:x.colorTextTertiary,fontSize:13}}),(0,H.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,H.jsx)(`span`,{style:{display:`block`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontWeight:r?600:400},children:(0,H.jsx)(Ve,{text:e.title,query:Bt})}),Wa&&(0,H.jsx)(`span`,{style:{display:`block`,color:x.colorTextTertiary,fontSize:11,lineHeight:1.2,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:(0,H.jsx)(Ve,{text:e.path,query:Bt})})]}),e.status===`draft`&&(0,H.jsx)(a,{color:`gold`,bordered:!1,style:{marginInlineEnd:0,fontSize:10,lineHeight:`16px`},children:`Draft`})]},e.document_id)},Wa=!!Bt.trim(),Ga=e=>Bn([e.title,e.path],Bt),Ka=e=>Bn([e.name],Bt),qa=e=>Wa?e.docs.filter(Ga):e.docs,Ja=e=>{if(e.path===G)return!0;let t=qa(e).length>0,n=e.children.some(Ja),r=dr.includes(e.path);return t||n||(Wa?Ka(e):r)},Ya=(e,t=0)=>{if(!Ja(e))return null;let n=e.children.filter(Ja),r=qa(e),i=r.length+n.length,o=i>0,c=!Wa&&o&&xr.has(e.path),l=!Z&&L===e.path,u=i===0,d=c||u;return(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`button`,{type:`button`,onClick:()=>{R(e.path),o&&Fa(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:x.borderRadius,background:l?x.colorPrimaryBg:`transparent`,color:u?x.colorTextSecondary:x.colorText,cursor:`pointer`,textAlign:`left`},children:[(0,H.jsx)(`span`,{style:{width:16,display:`inline-flex`,justifyContent:`center`,color:x.colorTextTertiary},children:c?(0,H.jsx)(ee,{}):(0,H.jsx)(Te,{})}),(0,H.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontWeight:l?600:500},children:(0,H.jsx)(Ve,{text:e.name,query:Bt})}),d&&(0,H.jsx)(a,{bordered:!1,color:`default`,style:{marginInlineEnd:0,minWidth:24,textAlign:`center`,color:u?x.colorTextTertiary:void 0},children:i}),(0,H.jsx)(`span`,{style:{width:14,color:x.colorTextTertiary,display:`inline-flex`,justifyContent:`center`,fontSize:10,marginLeft:2},children:o?c?(0,H.jsx)(s,{}):(0,H.jsx)(ge,{}):null})]}),!c&&(0,H.jsxs)(`div`,{children:[n.map(e=>Ya(e,t+1)),r.map(e=>Ua(e,t+1))]})]},e.path||`root`)},Xa=()=>{let e=Yi.children.filter(Ja),t=qa(Yi);return Wa&&e.length===0&&t.length===0?(0,H.jsx)(v,{image:v.PRESENTED_IMAGE_SIMPLE,description:`No visible docs match this filter`,style:{margin:`12px 0`}}):(0,H.jsxs)(H.Fragment,{children:[e.map(e=>Ya(e,0)),t.map(e=>Ua(e,0))]})},Za=Ht.trim(),Qa=Hn({resultKey:en,query:Za,mode:Wt})?Qt:[],$a=(0,H.jsx)(`div`,{style:{width:520,maxWidth:`min(520px, calc(100vw - 48px))`},children:(0,H.jsxs)(S,{orientation:`vertical`,size:8,style:{width:`100%`},children:[(0,H.jsxs)(b,{justify:`space-between`,align:`center`,gap:8,children:[(0,H.jsx)(U,{type:`secondary`,style:{fontSize:12},children:`Searches readable Knowledge titles, paths, and content.`}),(0,H.jsx)(fe,{size:`small`,value:Wt,onChange:e=>Gt(e),options:[{label:`Text`,value:`text`},{label:`Semantic`,value:`semantic`},{label:`Hybrid`,value:`hybrid`}]})]}),Xt&&(0,H.jsx)(l,{type:`warning`,showIcon:!0,message:Xt,style:{padding:8}}),(0,H.jsx)(oe,{spinning:Jt,children:(0,H.jsx)(`div`,{style:{maxHeight:420,overflow:`auto`},children:Za.length<2?(0,H.jsx)(v,{image:v.PRESENTED_IMAGE_SIMPLE,description:`Type at least 2 characters to search all Knowledge.`}):Qa.length===0&&!Jt?(0,H.jsx)(v,{image:v.PRESENTED_IMAGE_SIMPLE,description:`No Knowledge results`}):(0,H.jsx)(S,{orientation:`vertical`,size:4,style:{width:`100%`},children:Qa.map(e=>{let t=e.document,n=Kn(e.chunks?.find(e=>e.snippet)?.snippet??e.snippet);return(0,H.jsxs)(`button`,{type:`button`,onClick:()=>za(e),style:{width:`100%`,border:0,borderRadius:x.borderRadius,background:`transparent`,color:x.colorText,cursor:`pointer`,padding:`8px 10px`,textAlign:`left`},onMouseEnter:e=>{e.currentTarget.style.background=x.colorFillQuaternary},onMouseLeave:e=>{e.currentTarget.style.background=`transparent`},children:[(0,H.jsxs)(b,{align:`baseline`,gap:8,style:{minWidth:0},children:[t.icon_emoji&&(0,H.jsx)(`span`,{style:{fontSize:15,lineHeight:1},children:t.icon_emoji}),(0,H.jsx)(U,{strong:!0,style:{flex:1,minWidth:0},ellipsis:!0,children:(0,H.jsx)(Ve,{text:t.title,query:Ht})}),(0,H.jsx)(a,{bordered:!1,style:{marginInlineEnd:0},children:Cn[t.kind]??t.kind})]}),(0,H.jsx)(U,{type:`secondary`,style:{display:`block`,fontSize:12},ellipsis:!0,children:(0,H.jsx)(Ve,{text:`${e.namespace.display_name||e.namespace.slug} / ${t.path}`,query:Ht})}),n&&(0,H.jsx)(U,{type:`secondary`,style:{display:`-webkit-box`,fontSize:12,lineHeight:1.35,marginTop:2,overflow:`hidden`,WebkitBoxOrient:`vertical`,WebkitLineClamp:2},children:(0,H.jsx)(Ve,{text:n,query:Ht})})]},t.document_id)})})})})]})}),eo=Gn(Xe),to=[{label:`All Spaces`,value:`all`},...eo],no=qn(lr,{allowEmpty:!0}),ro=qn(hr,{allowEmpty:!0}),io=Mn(_r)?qn(_r):null,ao=`Use letters, numbers, spaces, dashes, underscores, dots, and / for subfolders.`,oo=Nr||Fr,so=!O||!!(Z&&Z.path===O&&(!D||Q(Z)===D)),co=!!(Je&&gt&&gt.key===Je),lo=Fn({activeDocMatchesRoute:so,routeDocumentResolutionFailed:co,routeNamespaceSlug:D,routeDocumentPath:O}),uo=In({activeDocPresent:!!Z,isEditing:J,routeDocumentPath:O}),fo=lo||!!(Z&&(!so||!ji)),po=J||uo||fo||co;return(0,V.useEffect)(()=>{if(!E.hash||J||fo||!so)return;let e=E.hash.slice(1),t=nt(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)}},[so,J,E.hash,fo]),(0,H.jsxs)(ae,{style:{height:`100vh`,overflow:`hidden`,background:x.colorBgLayout},children:[(0,H.jsxs)(ln,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,height:56,padding:`0 16px`,background:x.colorBgContainer,borderBottom:`1px solid ${x.colorBorderSecondary}`},children:[(0,H.jsxs)(S,{size:12,children:[(0,H.jsx)(w,{type:`text`,icon:(0,H.jsx)(te,{}),onClick:async()=>{await ba()&&T(`/`)}}),(0,H.jsx)(Re,{level:3,style:{marginTop:-4}}),(0,H.jsxs)(U,{strong:!0,style:{display:`inline-flex`,alignItems:`center`,gap:x.sizeUnit,fontSize:15,cursor:`pointer`},onClick:Ba,children:[(0,H.jsx)(se,{style:{color:x.colorTextSecondary}}),`Knowledge`]}),(0,H.jsx)(d,{title:`Knowledge is in beta — expect rough edges while the data model, MCP tools, and editor settle.`,children:(0,H.jsx)(a,{color:`orange`,style:{fontSize:10,lineHeight:`16px`,padding:`0 6px`,margin:0,cursor:`help`,userSelect:`none`},children:`BETA`})})]}),(0,H.jsx)(`div`,{ref:Oi,onKeyDown:e=>{e.key===`Escape`&&qt(!1)},style:{flex:1,display:`flex`,justifyContent:`center`,minWidth:220,padding:`0 20px`},children:(0,H.jsx)(he,{open:Kt,onOpenChange:e=>{e&&qt(!0)},trigger:`click`,placement:`bottom`,content:$a,arrow:!1,getPopupContainer:e=>Oi.current??e.parentElement??document.body,children:(0,H.jsx)(y.Search,{allowClear:!0,"aria-label":`Search all Knowledge`,placeholder:`Search all Knowledge…`,prefix:(0,H.jsx)(i,{}),value:Ht,onClick:()=>qt(!0),onFocus:()=>qt(!0),onChange:e=>{Ut(e.target.value),qt(!0)},onSearch:(e,t,n)=>{if(n?.source===`clear`||Jt||!Hn({resultKey:en,query:e.trim(),mode:Wt}))return;let r=Qt[0];r&&za(r)},loading:Jt,style:{width:`min(520px, 100%)`}})})}),(0,H.jsxs)(S,{children:[(0,H.jsx)(d,{title:`Refresh Knowledge`,placement:`bottom`,children:(0,H.jsx)(w,{type:`text`,"aria-label":`Refresh Knowledge`,icon:(0,H.jsx)(o,{style:{fontSize:x.fontSizeLG}}),onClick:aa,loading:an,style:{display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,H.jsx)(d,{title:`Documentation`,placement:`bottom`,children:(0,H.jsx)(w,{type:`text`,icon:(0,H.jsx)(_e,{style:{fontSize:x.fontSizeLG}}),href:`https://agor.live/guide/getting-started`,target:`_blank`,rel:`noopener noreferrer`,style:{display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,H.jsx)(qe,{}),Ee(t?.role,Oe.ADMIN)&&(0,H.jsx)(d,{title:`Knowledge settings`,placement:`bottom`,children:(0,H.jsx)(w,{type:`text`,icon:(0,H.jsx)(ce,{style:{fontSize:x.fontSizeLG}}),onClick:la,style:{display:`flex`,alignItems:`center`,justifyContent:`center`}})}),(0,H.jsx)(Ke,{user:t,onUserSettingsClick:ie,onLogout:de})]})]}),(0,H.jsx)(un,{style:{height:`calc(100vh - 56px)`,overflow:`hidden`,padding:0},children:(0,H.jsxs)(We,{id:`knowledge-layout`,direction:`horizontal`,style:{height:`100%`},onLayout:e=>{Di.current&&e.length>=2&&Ti(bn(e[0],Ni,Pi))},children:[(0,H.jsx)(Ue,{id:`knowledge-sidebar`,order:1,ref:Ei,defaultSize:Fi,minSize:Ni,maxSize:Pi,style:{minWidth:gn},children:(0,H.jsx)(`aside`,{style:{height:`100%`,boxSizing:`border-box`,borderRight:`1px solid ${x.colorBorderSecondary}`,background:x.colorBgContainer,padding:16,overflow:`auto`},children:(0,H.jsxs)(S,{orientation:`vertical`,size:12,style:{width:`100%`},children:[!e&&(0,H.jsx)(l,{type:`warning`,title:`Knowledge requires a daemon connection.`}),(0,H.jsxs)(S,{orientation:`vertical`,size:4,style:{width:`100%`},children:[(0,H.jsx)(U,{type:`secondary`,style:{fontSize:11,textTransform:`uppercase`},children:`Space`}),(0,H.jsx)(h,{...Be,value:N,onChange:Ha,style:{width:`100%`},options:to})]}),(0,H.jsx)(y,{allowClear:!0,prefix:(0,H.jsx)(i,{}),placeholder:`Filter visible docs`,"aria-label":`Filter visible Knowledge docs`,value:Bt,onChange:e=>Vt(e.target.value)}),(0,H.jsxs)(b,{gap:8,children:[(0,H.jsx)(w,{block:!0,type:`primary`,icon:(0,H.jsx)(me,{}),onClick:()=>Ca(`doc`),disabled:!e,children:`New Page`}),(0,H.jsx)(w,{icon:(0,H.jsx)(ue,{}),onClick:wa})]}),(0,H.jsx)(fe,{block:!0,size:`small`,value:nn,onChange:e=>rn(String(e)),options:[`All`,`Pages`,`Skills`,`Memories`]}),(0,H.jsx)(oe,{spinning:an,children:(0,H.jsxs)(`div`,{style:{background:x.colorFillQuaternary,borderRadius:x.borderRadiusLG,padding:4},children:[(0,H.jsxs)(`button`,{type:`button`,onClick:Ba,style:{width:`100%`,display:`flex`,alignItems:`center`,gap:8,minHeight:30,margin:`1px 0`,padding:`5px 10px`,border:0,borderRadius:x.borderRadius,background:uo?x.colorPrimaryBg:`transparent`,color:x.colorText,cursor:`pointer`,textAlign:`left`,fontWeight:uo?600:400},children:[(0,H.jsx)(ne,{style:{color:x.colorTextTertiary,fontSize:13}}),(0,H.jsx)(`span`,{children:`Graph`})]}),Xa()]})})]})})}),(0,H.jsx)(He,{style:{width:`4px`,background:x.colorBorderSecondary,cursor:`col-resize`,transition:`background 0.2s`},onDragging:e=>{Di.current=e},onMouseEnter:e=>{e.currentTarget.style.background=x.colorPrimary},onMouseLeave:e=>{e.currentTarget.style.background=x.colorBorderSecondary}}),(0,H.jsx)(Ue,{id:`knowledge-main`,order:2,minSize:30,children:(0,H.jsx)(`main`,{style:{height:`100%`,minWidth:0,overflow:po?`hidden`:`auto`,background:x.colorBgLayout},children:(0,H.jsxs)(`div`,{style:{maxWidth:po?`none`:1040,height:po?`100%`:void 0,margin:po?0:`0 auto`,padding:uo?0:J?24:`40px 56px`,boxSizing:`border-box`,display:po?`flex`:void 0,flexDirection:po?`column`:void 0,minHeight:0},children:[wn&&(0,H.jsx)(l,{type:`error`,title:`Knowledge error`,description:wn,closable:!0,onClose:()=>q(null),style:{marginBottom:16}}),Z&&so&&ji?(0,H.jsxs)(`div`,{style:{width:`100%`,height:J?`100%`:void 0,display:`flex`,flexDirection:`column`,gap:20,minHeight:0},children:[(0,H.jsxs)(`div`,{onMouseEnter:()=>Pr(!0),onMouseLeave:()=>Pr(!1),onFocus:()=>Pr(!0),onBlur:e=>{let t=e.relatedTarget;(!t||!e.currentTarget.contains(t))&&Pr(!1)},style:{position:`relative`,display:J?`flex`:`block`,alignItems:`flex-start`,gap:16},children:[(0,H.jsxs)(S,{orientation:`vertical`,size:8,style:{width:`100%`,minWidth:0,flex:1},children:[(0,H.jsxs)(b,{align:`center`,gap:12,style:{width:`100%`},children:[(0,H.jsx)(he,{trigger:`click`,placement:`bottomLeft`,onOpenChange:Ir,content:Aa(J?Lt:ka),children:(0,H.jsx)(w,{type:`text`,size:`large`,disabled:!e&&!ki,style:{fontSize:30,width:52,height:52,padding:0,color:Ai?void 0:x.colorTextTertiary},"aria-label":Ai?`Change Knowledge document emoji icon`:`Add Knowledge document emoji icon`,children:Ai?(0,H.jsx)(`span`,{style:{fontSize:39,lineHeight:1},children:Ai}):(0,H.jsx)(n,{})})}),(0,H.jsx)(`div`,{style:{flex:1,minWidth:0},children:J&&!z?(0,H.jsx)(y,{value:Ot,onChange:e=>kt(e.target.value),placeholder:`Page title`,size:`large`,variant:`borderless`,style:{fontSize:32,fontWeight:700,paddingInline:0}}):(0,H.jsx)(dn,{level:1,style:{margin:0},children:J?Ot:Z.title})})]}),(0,H.jsxs)(S,{wrap:!0,children:[J?(0,H.jsx)(h,{size:`small`,value:At,disabled:!na,onChange:jt,style:{width:104},options:[{label:`Public`,value:`public`},{label:`Private`,value:`private`}]}):(0,H.jsx)(a,{color:Z.visibility===`public`?`green`:`default`,children:Z.visibility}),J?(0,H.jsx)(h,{size:`small`,value:Mt,disabled:!na,onChange:Nt,style:{width:118},options:[{label:`Published`,value:`published`},{label:`Draft`,value:`draft`}]}):Z.status===`draft`?(0,H.jsx)(a,{color:`gold`,children:`Draft`}):(0,H.jsx)(a,{color:`blue`,children:`Published`}),(0,H.jsx)(On,{status:Z.indexing_status,size:16}),J?(0,H.jsx)(h,{size:`small`,value:Pt,onChange:Ft,style:{width:128},options:De.map(e=>({label:Cn[e],value:e}))}):(0,H.jsx)(a,{children:Cn[Z.kind]??Z.kind}),(0,H.jsx)(U,{type:`secondary`,children:Z.path})]}),J&&(0,H.jsxs)(S,{orientation:`vertical`,size:4,children:[(0,H.jsx)(we,{checked:z,onChange:e=>Rt(e.target.checked),children:`Use first heading as title`}),(0,H.jsx)(we,{checked:Lr,disabled:!Wi,onChange:e=>Rr(e.target.checked),children:`Rename page path to match title`}),Wi&&(0,H.jsxs)(U,{type:`secondary`,style:{fontSize:12},children:[`Current path: `,Z.path,Lr&&` → ${Gi}`]})]})]}),(0,H.jsx)(S,{style:J?void 0:{position:`absolute`,top:0,right:0,zIndex:2,padding:4,borderRadius:x.borderRadiusLG,background:x.colorBgContainer,boxShadow:Nr?x.boxShadowSecondary:void 0},children:J?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(w,{onClick:ja,children:`Cancel`}),(0,H.jsx)(w,{type:`primary`,icon:(0,H.jsx)(r,{}),loading:sn,disabled:!e,onClick:Da,children:`Save`})]}):(0,H.jsxs)(H.Fragment,{children:[oo&&(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(w,{icon:(0,H.jsx)(be,{}),disabled:!e,onClick:Ma,children:[`History`,$i>0&&(0,H.jsx)(a,{color:`blue`,variant:`filled`,style:{marginInlineStart:6,marginInlineEnd:0},children:$i})]}),(0,H.jsx)(w,{icon:(0,H.jsx)(Te,{}),disabled:!e,onClick:()=>{Er(Jn(Z.path)),wr(!0)},children:`Relocate`}),(0,H.jsx)(Ie,{tooltip:``,size:`middle`,disabled:!e,onClick:Pa,children:`Archive`})]}),(0,H.jsx)(w,{icon:(0,H.jsx)(f,{}),disabled:!e,onClick:()=>Ia(!0),children:`Edit`})]})})]}),J?(0,H.jsxs)(b,{gap:16,align:`stretch`,style:{flex:1,minHeight:0},children:[(0,H.jsxs)(`div`,{style:{width:`50%`,minWidth:0,minHeight:0,display:`flex`,flexDirection:`column`,gap:8},children:[(0,H.jsx)(U,{strong:!0,children:`Markdown`}),(0,H.jsx)(`div`,{style:{flex:1,minHeight:0,overflow:`auto`},children:(0,H.jsx)(lt,{value:B,onChange:zt,client:e,sessionId:null,userById:_,kbDocs:$e,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,H.jsxs)(`div`,{style:{width:`50%`,minWidth:0,minHeight:0,display:`flex`,flexDirection:`column`,gap:8},children:[(0,H.jsx)(U,{strong:!0,children:`Preview`}),(0,H.jsx)(`div`,{onClick:Hi,style:{flex:1,minHeight:0,overflow:`auto`,padding:24,border:`1px solid ${x.colorBorderSecondary}`,borderRadius:x.borderRadiusLG,background:x.colorBgContainer},children:(0,H.jsx)(Le,{content:Vi(B),headingAnchors:!0})})]})]}):(0,H.jsx)(`div`,{onClick:Hi,style:{padding:`8px 0 80px`,fontSize:16,lineHeight:1.7},children:(0,H.jsx)(Le,{content:Vi(z?er(B):B),headingAnchors:!0})})]}):fo?(0,H.jsx)(b,{vertical:!0,align:`center`,justify:`center`,style:{flex:1,minHeight:320,width:`100%`},children:(0,H.jsx)(oe,{})}):co?(0,H.jsx)(b,{vertical:!0,align:`center`,justify:`center`,style:{flex:1,minHeight:320,width:`100%`},children:(0,H.jsx)(v,{image:v.PRESENTED_IMAGE_SIMPLE,description:gt?.message??`Knowledge page not found.`})}):(0,H.jsx)(`div`,{style:{flex:1,minHeight:0,width:`100%`},children:(0,H.jsx)(cn,{nodes:bt?.nodes??[],edges:bt?.edges??[],activeDocId:P,hoverDocId:wt,onSelectDoc:Va,onHoverDoc:Tt,loading:St,emptyText:N===`all`?`Pick a Space to see its document graph.`:`No linked documents in this Space yet.`})})]})})})]})}),(0,H.jsx)(Se,{title:`Version history`,open:Dr,onClose:()=>Or(!1),size:`72vw`,destroyOnHidden:!0,extra:(0,H.jsxs)(S,{children:[(0,H.jsx)(fe,{size:`small`,value:jr,onChange:e=>Mr(e),options:[{label:`Preview`,value:`preview`},{label:`Diff`,value:`diff`}]}),(0,H.jsx)(w,{type:`primary`,loading:sn,disabled:!$||$.version_id===j[0]?.version_id,onClick:Na,children:`Restore`})]}),children:(0,H.jsxs)(b,{gap:16,style:{height:`100%`},children:[(0,H.jsx)(`div`,{style:{width:280,flexShrink:0,borderRight:`1px solid ${x.colorBorderSecondary}`,paddingRight:12,overflow:`auto`},children:(0,H.jsx)(c,{dataSource:j,locale:{emptyText:(0,H.jsx)(v,{description:`No version history yet`})},renderItem:(e,t)=>{let n=Dn(e),r=n?.targetVersionId?j.find(e=>e.version_id===n.targetVersionId):null;return(0,H.jsx)(c.Item,{onClick:()=>Ar(e.version_id),style:{cursor:`pointer`,borderRadius:x.borderRadiusLG,padding:12,background:$?.version_id===e.version_id?x.colorPrimaryBg:`transparent`},children:(0,H.jsx)(c.Item.Meta,{title:(0,H.jsxs)(S,{wrap:!0,children:[(0,H.jsxs)(U,{strong:!0,children:[`v`,e.version_number]}),t===0&&(0,H.jsx)(a,{color:`green`,children:`Current`}),n&&(0,H.jsx)(he,{content:(0,H.jsxs)(S,{orientation:`vertical`,size:4,children:[(0,H.jsxs)(U,{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,H.jsx)(U,{type:`secondary`,children:[n.model,n.dimensions&&`${n.dimensions}d`].filter(Boolean).join(` · `)}),n.updatedAt&&(0,H.jsxs)(U,{type:`secondary`,children:[`Recorded `,tr(n.updatedAt)]})]}),children:(0,H.jsxs)(a,{color:`green`,children:[`♻️ `,`${n.reusedChunks}/${n.totalChunks}`]})})]}),description:(0,H.jsxs)(S,{orientation:`vertical`,size:2,children:[(0,H.jsx)(U,{type:`secondary`,children:tr(e.created_at)}),e.change_summary&&(0,H.jsx)(U,{children:e.change_summary})]})})})}})}),(0,H.jsx)(`div`,{style:{flex:1,minWidth:0,overflow:`auto`},children:$?jr===`diff`?Qi?(0,H.jsx)(it,{filePath:Z?.path??`knowledge.md`,operationType:`edit`,oldContent:Qi.content_text??``,newContent:$.content_text??``,forceExpanded:!0}):(0,H.jsx)(v,{description:`No previous version to diff against`}):(0,H.jsx)(`div`,{onClick:Hi,style:{maxWidth:900,margin:`0 auto`,paddingBottom:80},children:(0,H.jsxs)(S,{orientation:`vertical`,size:12,style:{width:`100%`},children:[(0,H.jsxs)(S,{wrap:!0,children:[(0,H.jsxs)(a,{children:[`v`,$.version_number]}),(0,H.jsx)(U,{type:`secondary`,children:tr($.created_at)})]}),(0,H.jsx)(Le,{content:Vi($.content_text??``),headingAnchors:!0})]})}):(0,H.jsx)(v,{description:`Select a version`})})]})}),(0,H.jsx)(xe,{title:`Knowledge settings`,open:zr,onCancel:()=>Br(!1),footer:null,width:760,children:(0,H.jsx)(oe,{spinning:Gr,children:(0,H.jsx)(Ce,{defaultActiveKey:`namespaces`,items:[{key:`namespaces`,label:`Namespaces`,children:(0,H.jsxs)(S,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,H.jsx)(l,{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.`}),oi&&(0,H.jsx)(l,{type:`error`,showIcon:!0,message:oi}),(0,H.jsxs)(b,{justify:`space-between`,align:`center`,children:[(0,H.jsxs)(S,{direction:`vertical`,size:0,children:[(0,H.jsx)(U,{strong:!0,children:`Knowledge namespaces`}),(0,H.jsx)(U,{type:`secondary`,children:`Create and manage Knowledge spaces, defaults, and broad workspace access.`})]}),(0,H.jsx)(w,{type:`primary`,onClick:()=>fa(null),children:`New namespace`})]}),(0,H.jsx)(c,{size:`small`,dataSource:Xe,locale:{emptyText:`No readable namespaces`},renderItem:e=>{let t=e.effective_permission===`own`;return(0,H.jsx)(c.Item,{actions:[(0,H.jsx)(w,{size:`small`,disabled:!t,onClick:()=>fa(e),children:`Edit`},`edit`),(0,H.jsx)(w,{size:`small`,danger:!0,disabled:!t||e.kind===`system`,onClick:()=>va(e),children:`Archive`},`archive`)],children:(0,H.jsx)(c.Item.Meta,{title:(0,H.jsxs)(S,{wrap:!0,children:[(0,H.jsx)(U,{strong:!0,children:e.display_name||e.slug}),(0,H.jsx)(a,{children:e.slug}),(0,H.jsxs)(a,{color:e.others_can===`none`?`default`:`blue`,children:[`others: `,e.others_can]})]}),description:e.description||`No description`})})}})]})},{key:`semantic`,label:`Semantic search`,children:(0,H.jsxs)(S,{direction:`vertical`,size:16,style:{width:`100%`},children:[Yr&&(0,H.jsx)(l,{type:`error`,showIcon:!0,message:Yr}),(0,H.jsx)(l,{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.`}),Ur&&(0,H.jsx)(`div`,{style:{border:`1px solid ${x.colorBorderSecondary}`,borderRadius:x.borderRadiusLG,padding:12,background:x.colorFillQuaternary},children:(0,H.jsxs)(S,{direction:`vertical`,size:4,style:{width:`100%`},children:[(0,H.jsx)(U,{strong:!0,children:`Indexing status`}),(0,H.jsxs)(U,{type:`secondary`,children:[Ur.dialect,` · pgvector`,` `,Ur.pgvector_available?`ready`:Ur.pgvector_extension_installed?`extension installed, storage not ready`:`not available`,` `,`· queue `,Ur.queue_depth]}),(0,H.jsx)(S,{wrap:!0,children:Object.entries(Ur.chunks).map(([e,t])=>(0,H.jsxs)(a,{children:[e,`: `,Number(t)]},e))}),Ur.last_error&&(0,H.jsx)(l,{type:`warning`,message:Ur.last_error})]})}),(0,H.jsxs)(C,{form:$r,layout:`vertical`,initialValues:Vr??hn,children:[(0,H.jsx)(C.Item,{name:`enabled`,label:`Enable semantic / hybrid search`,valuePropName:`checked`,children:(0,H.jsx)(re,{})}),(0,H.jsxs)(b,{gap:12,wrap:`wrap`,children:[(0,H.jsx)(C.Item,{name:`provider`,label:`Provider`,style:{minWidth:180,flex:1},children:(0,H.jsx)(h,{options:[{label:`OpenAI`,value:`openai`}]})}),(0,H.jsx)(C.Item,{name:`model`,label:`Model`,style:{minWidth:240,flex:2},children:(0,H.jsx)(h,{options:Sn,onChange:()=>$r.setFieldValue(`dimensions`,1536)})}),(0,H.jsx)(C.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,H.jsx)(ye,{disabled:!0,min:1536,max:1536,precision:0,style:{width:`100%`}})})]}),(0,H.jsx)(C.Item,{label:`OpenAI API key`,children:(0,H.jsx)(y.Password,{value:Zr,onChange:e=>Qr(e.target.value),placeholder:Vr?.api_key_configured?`Configured — enter a new key to replace`:`sk-...`,autoComplete:`off`})}),(0,H.jsxs)(b,{gap:12,wrap:`wrap`,children:[(0,H.jsx)(C.Item,{name:[`chunking`,`target_tokens`],label:`Target tokens`,style:{width:150},children:(0,H.jsx)(ye,{min:100,precision:0,style:{width:`100%`}})}),(0,H.jsx)(C.Item,{name:[`chunking`,`max_tokens`],label:`Max tokens`,style:{width:150},children:(0,H.jsx)(ye,{min:100,precision:0,style:{width:`100%`}})}),(0,H.jsx)(C.Item,{name:[`chunking`,`overlap_tokens`],label:`Overlap`,style:{width:130},children:(0,H.jsx)(ye,{min:0,precision:0,style:{width:`100%`}})}),(0,H.jsx)(C.Item,{name:[`chunking`,`min_tokens`],label:`Min tokens`,style:{width:130},children:(0,H.jsx)(ye,{min:0,precision:0,style:{width:`100%`}})}),(0,H.jsx)(C.Item,{name:[`indexing`,`batch_size`],label:`Batch size`,style:{width:130},children:(0,H.jsx)(ye,{min:1,max:256,precision:0,style:{width:`100%`}})})]})]}),(0,H.jsxs)(b,{justify:`space-between`,align:`center`,children:[(0,H.jsx)(U,{type:`secondary`,children:`Reindexing queues current Knowledge chunks and wakes the background indexer.`}),(0,H.jsxs)(S,{children:[(0,H.jsx)(w,{onClick:da,loading:qr,children:`Reindex now`}),(0,H.jsx)(w,{type:`primary`,onClick:ua,loading:qr,children:`Save semantic settings`})]})]})]})}]})})}),(0,H.jsx)(xe,{title:ni?`Edit namespace`:`Create namespace`,open:ei,onCancel:()=>ti(!1),okText:ni?`Save namespace`:`Create namespace`,onOk:_a,confirmLoading:ii,destroyOnHidden:!0,children:(0,H.jsxs)(C,{form:ci,layout:`vertical`,onValuesChange:pa,children:[(0,H.jsx)(C.Item,{name:`display_name`,label:`Name`,rules:[{required:!0,message:`Name is required`}],children:(0,H.jsx)(y,{placeholder:`Team docs`})}),(0,H.jsx)(C.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,H.jsx)(y,{disabled:!!ni,placeholder:`team-docs`})}),(0,H.jsx)(C.Item,{name:`description`,label:`Description`,children:(0,H.jsx)(y.TextArea,{rows:3,placeholder:`What belongs in this namespace?`})}),(0,H.jsx)(C.Item,{name:`kind`,hidden:!0,children:(0,H.jsx)(y,{})}),(0,H.jsxs)(S,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,H.jsxs)(S,{direction:`vertical`,size:0,children:[(0,H.jsx)(U,{strong:!0,children:`Default access`}),(0,H.jsx)(U,{type:`secondary`,children:`These defaults apply across the namespace before user or group-specific grants.`})]}),(0,H.jsxs)(b,{gap:12,wrap:`wrap`,children:[(0,H.jsx)(C.Item,{name:`visibility_default`,label:`Default document visibility`,style:{minWidth:180,flex:1},children:(0,H.jsx)(h,{options:[{label:`Public in namespace`,value:`public`},{label:`Private to creator`,value:`private`}]})}),(0,H.jsx)(C.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,H.jsx)(h,{options:[{label:`No access`,value:`none`},{label:`Read`,value:`read`},{label:`Write`,value:`write`}]})})]})]}),(0,H.jsxs)(S,{direction:`vertical`,size:12,style:{width:`100%`},children:[(0,H.jsxs)(S,{direction:`vertical`,size:0,children:[(0,H.jsx)(U,{strong:!0,children:`Specific access`}),(0,H.jsx)(U,{type:`secondary`,children:`Add users or groups that should override the default access above.`})]}),(0,H.jsxs)(b,{gap:8,wrap:`wrap`,children:[(0,H.jsx)(h,{showSearch:!0,allowClear:!0,placeholder:`User or group`,value:vi,onChange:e=>yi(e??null),options:Li,optionFilterProp:`label`,style:{minWidth:280,flex:1}}),(0,H.jsx)(h,{value:bi,onChange:xi,options:[{label:`Read`,value:`read`},{label:`Write`,value:`write`},{label:`Own`,value:`own`}],style:{width:120}}),(0,H.jsx)(w,{onClick:ma,disabled:!vi,children:`+ Add`})]}),(0,H.jsx)(oe,{spinning:gi,children:(0,H.jsx)(c,{size:`small`,dataSource:mi,locale:{emptyText:`No specific user or group grants`},renderItem:e=>(0,H.jsx)(c.Item,{actions:[(0,H.jsx)(h,{size:`small`,value:e.permission,onChange:t=>ha(e,t),options:[{label:`Read`,value:`read`},{label:`Write`,value:`write`},{label:`Own`,value:`own`}],style:{width:110}},`permission`),(0,H.jsx)(w,{type:`text`,size:`small`,danger:!0,icon:(0,H.jsx)(m,{}),"aria-label":`Remove ${zi(e)}`,onClick:()=>ga(e)},`remove`)],children:(0,H.jsx)(c.Item.Meta,{title:(0,H.jsxs)(S,{children:[(0,H.jsx)(d,{title:e.subject_type===`user`?`User`:`Group`,children:e.subject_type===`user`?(0,H.jsx)(pe,{}):(0,H.jsx)(le,{})}),(0,H.jsx)(U,{children:zi(e)})]})})})})})]})]})}),(0,H.jsx)(xe,{title:`Relocate page`,open:Cr,okText:`Move`,onOk:async()=>{Z&&await Oa(Z,Tr),wr(!1)},onCancel:()=>wr(!1),destroyOnHidden:!0,children:(0,H.jsxs)(S,{orientation:`vertical`,size:12,style:{width:`100%`},children:[(0,H.jsx)(U,{type:`secondary`,children:`Choose the target folder. The page filename stays the same.`}),(0,H.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: ${x.colorFillQuaternary} !important;
15
+ }
16
+ .knowledge-relocate-tree .ant-tree-node-content-wrapper.ant-tree-node-selected {
17
+ background: ${x.colorPrimaryBg} !important;
18
+ color: ${x.colorPrimaryText} !important;
19
+ font-weight: 600;
20
+ }
21
+ .knowledge-relocate-tree .ant-tree-node-content-wrapper.ant-tree-node-selected:hover {
22
+ background: ${x.colorPrimaryBgHover} !important;
23
+ }
24
+ `}),(0,H.jsx)(u,{className:`knowledge-relocate-tree`,showLine:!0,blockNode:!0,treeData:Xi,selectedKeys:[`folder:${Tr}`],expandedKeys:Et,onExpand:e=>Dt(e),onSelect:(e,t)=>{let n=t.node;n.kind===`folder`&&Er(n.folderPath??G)},style:{maxHeight:360,overflow:`auto`,padding:8,border:`1px solid ${x.colorBorderSecondary}`,borderRadius:x.borderRadiusLG,background:x.colorBgContainer}})]})}),(0,H.jsx)(xe,{title:`Create ${Cn[Un]??`Page`}`,open:Tn,okText:`Create`,confirmLoading:sn,onOk:Ea,onCancel:()=>En(!1),destroyOnHidden:!0,children:(0,H.jsxs)(C,{layout:`vertical`,children:[(0,H.jsx)(C.Item,{label:`Type`,children:(0,H.jsx)(fe,{block:!0,value:Un,onChange:e=>{let t=e,n=t===`skill`?`New Skill`:t===`memory`?`New Memory`:`New Page`;ir(t),or(n),ur(L||(t===`skill`?`skills`:t===`memory`?`memories`:`pages`))},options:[{label:`Page`,value:`doc`},{label:`Skill`,value:`skill`},{label:`Memory`,value:`memory`}]})}),(0,H.jsx)(C.Item,{label:`Space`,children:(0,H.jsx)(h,{...Be,value:sr,onChange:cr,options:eo})}),(0,H.jsx)(C.Item,{label:`Folder`,validateStatus:no?`error`:void 0,help:no??ao,children:(0,H.jsx)(p,{value:lr,onChange:e=>ur(Mn(e)),options:Ji,placeholder:`Root, pages, skills/how-to, ...`,filterOption:(e,t)=>String(t?.value??``).toLowerCase().includes(e.toLowerCase())})}),(0,H.jsx)(C.Item,{label:`Title`,children:(0,H.jsx)(y,{value:ar,onChange:e=>or(e.target.value),autoFocus:!0})}),(0,H.jsx)(l,{type:`info`,showIcon:!0,title:`Path preview`,description:(0,H.jsx)(U,{code:!0,children:Zi})})]})}),(0,H.jsx)(xe,{title:`New Folder`,open:pr,okText:`Create folder`,onOk:Ta,okButtonProps:{disabled:!Mn(_r)||!!(io||ro)},onCancel:()=>mr(!1),destroyOnHidden:!0,children:(0,H.jsxs)(C,{layout:`vertical`,children:[(0,H.jsx)(C.Item,{label:`Parent folder`,validateStatus:ro?`error`:void 0,help:ro??ao,children:(0,H.jsx)(p,{value:hr,onChange:e=>gr(Mn(e)),options:Ji,placeholder:`Root`,filterOption:(e,t)=>String(t?.value??``).toLowerCase().includes(e.toLowerCase())})}),(0,H.jsx)(C.Item,{label:`Folder name`,validateStatus:io?`error`:void 0,help:io??ao,children:(0,H.jsx)(y,{value:_r,onChange:e=>vr(e.target.value),placeholder:`research, runbooks, team/data, ...`,autoFocus:!0})}),(0,H.jsx)(l,{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{ir as KnowledgePage,Hn as areKnowledgeSearchResultsFresh,zn as buildKnowledgeDocumentRouteUrl,Gn as buildKnowledgeNamespaceSelectOptions,Rn as buildKnowledgeQueryString,Vn as buildKnowledgeSearchResultKey,Ln as isKnowledgeDocumentContentReady,Bn as matchesKnowledgeSidebarFilter,Nn as resolveActiveKnowledgeDocument,Wn as resolveKnowledgeSpaceAfterNamespacesLoad,Pn as shouldDeferKnowledgeUrlMirrorForRoute,In as shouldShowKnowledgeGraphView,Fn as shouldShowKnowledgeRouteDocumentLoading};
@@ -0,0 +1 @@
1
+ .marketing-product-page{background:#07111d;min-height:100vh;overflow:hidden}.marketing-product-page .ant-layout-header{z-index:20;height:64px;box-shadow:0 18px 70px #00000047}.marketing-product-canvas{height:calc(100vh - 64px);position:relative;overflow:hidden}.marketing-product-page .react-flow__controls,.marketing-product-page .react-flow__minimap{opacity:.92}.marketing-product-page .react-flow__node-branchNode,.marketing-product-page .react-flow__node-cardNode,.marketing-product-page .react-flow__node-markdown,.marketing-product-page .react-flow__node-comment{filter:drop-shadow(0 22px 45px #00000047)}.marketing-product-page .react-flow__minimap,.marketing-product-page .react-flow__attribution{display:none}
@@ -0,0 +1,143 @@
1
+ import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{Gn as t,Pt as n,Qn as r,Xt as i,zn as a}from"./antd-CfbbHJOz.js";import{W as o}from"./message-SqLqNYcv.js";import{N as s}from"./editor-CzFWIUw2.js";import{Lt as c}from"./index-BN5_Qq7R.js";import{h as l,t as u}from"./SessionCanvas-f1-1Gbcw.js";import{u as d}from"./reactflow-Bf74ngoo.js";var f=e(r(),1),p=s(),m=`2026-06-21T06:00:00.000Z`,h=`019ee88d-demo-board-0000-000000000001`,g=`019ee88d-demo-repo-0000-000000000001`,_=[{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:`🌿`}],v={board_id:h,name:`Launch board`,slug:`launch-board`,description:`Landing-page staging board built from product canvas components.`,icon:`🚢`,color:`#14b8a6`,access_mode:`shared`,created_at:m,last_updated:m,created_by:_[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
+ import './styles.css';
3
+
4
+ const burndown = [
5
+ [34, 42], [92, 35], [150, 31], [208, 26], [266, 22], [324, 16], [382, 9], [440, 5],
6
+ ];
7
+ const claude = [
8
+ [34, 118], [92, 96], [150, 104], [208, 72], [266, 78], [324, 52], [382, 48], [440, 30],
9
+ ];
10
+ const codex = [
11
+ [34, 132], [92, 126], [150, 108], [208, 112], [266, 86], [324, 88], [382, 61], [440, 54],
12
+ ];
13
+ const toPath = (points) => points.map(([x, y], index) => \`\${index ? 'L' : 'M'}\${x} \${y}\`).join(' ');
14
+
15
+ export default function App() {
16
+ return (
17
+ <main className="artifact">
18
+ <header>
19
+ <div>
20
+ <p>Live artifact</p>
21
+ <h1>Agent burndown</h1>
22
+ </div>
23
+ <span className="pill">9 sessions</span>
24
+ </header>
25
+ <section className="summary">
26
+ <div><small>Open prompts</small><strong>5</strong></div>
27
+ <div><small>Claude Code</small><strong>3</strong></div>
28
+ <div><small>Codex</small><strong>4</strong></div>
29
+ <div><small>Other</small><strong>2</strong></div>
30
+ </section>
31
+ <svg viewBox="0 0 480 170" className="chart" role="img" aria-label="Burndown chart by agent">
32
+ <defs>
33
+ <linearGradient id="area" x1="0" x2="0" y1="0" y2="1">
34
+ <stop stopColor="#14b8a6" stopOpacity=".45" />
35
+ <stop offset="1" stopColor="#14b8a6" stopOpacity=".02" />
36
+ </linearGradient>
37
+ <filter id="glow"><feGaussianBlur stdDeviation="3" result="blur" /><feMerge><feMergeNode in="blur" /><feMergeNode in="SourceGraphic" /></feMerge></filter>
38
+ </defs>
39
+ {[34,92,150,208,266,324,382,440].map((x) => <line key={x} x1={x} x2={x} y1="18" y2="148" />)}
40
+ <path d={\`\${toPath(burndown)} L440 148 L34 148 Z\`} fill="url(#area)" />
41
+ <path d={toPath(claude)} className="claude" />
42
+ <path d={toPath(codex)} className="codex" />
43
+ <path d={toPath(burndown)} className="burn" filter="url(#glow)" />
44
+ {burndown.map(([x, y]) => <circle key={x} cx={x} cy={y} r="4" />)}
45
+ </svg>
46
+ <footer>
47
+ <span><i className="burn-dot" /> remaining work</span>
48
+ <span><i className="claude-dot" /> claude-code</span>
49
+ <span><i className="codex-dot" /> codex</span>
50
+ </footer>
51
+ </main>
52
+ );
53
+ }
54
+ `,"/styles.css":`
55
+ body { margin:0; background:#06111f; color:#eaffff; font-family: Inter, ui-sans-serif, system-ui; }
56
+ .artifact { min-height:100vh; box-sizing:border-box; padding:18px; background:radial-gradient(circle at 20% 10%, rgba(94,234,212,.32), transparent 34%), linear-gradient(135deg,#07111f,#111827 56%,#241005); border:1px solid rgba(255,255,255,.14); }
57
+ header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
58
+ p { margin:0; color:#93c5fd; text-transform:uppercase; font-size:10px; letter-spacing:.16em; font-weight:800; }
59
+ h1 { margin:2px 0 0; font-size:24px; letter-spacing:-.04em; }
60
+ .pill { color:#052e2b; background:#5eead4; padding:4px 9px; border-radius:999px; font-size:12px; font-weight:900; box-shadow:0 0 22px rgba(20,184,166,.35); }
61
+ .summary { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:14px 0 8px; }
62
+ .summary div { padding:10px; border-radius:14px; background:rgba(15,23,42,.82); border:1px solid rgba(255,255,255,.09); }
63
+ small { display:block; color:#a7f3d0; font-size:10px; text-transform:uppercase; letter-spacing:.09em; white-space:nowrap; }
64
+ strong { display:block; margin-top:4px; font-size:25px; line-height:1; color:#f8fafc; }
65
+ .chart { width:100%; height:150px; overflow:visible; }
66
+ line { stroke:rgba(255,255,255,.08); stroke-width:1; }
67
+ path { fill:none; stroke-linecap:round; stroke-linejoin:round; stroke-width:4; }
68
+ circle { fill:#14b8a6; stroke:#ecfeff; stroke-width:2; }
69
+ .burn { stroke:#14b8a6; }
70
+ .claude { stroke:#a78bfa; opacity:.78; stroke-dasharray:6 7; }
71
+ .codex { stroke:#f59e0b; opacity:.82; stroke-dasharray:2 8; }
72
+ footer { display:flex; gap:12px; align-items:center; color:#cbd5e1; font-size:11px; flex-wrap:wrap; }
73
+ footer span { display:flex; align-items:center; gap:5px; }
74
+ i { width:8px; height:8px; border-radius:99px; display:inline-block; }
75
+ .burn-dot { background:#14b8a6; }.claude-dot { background:#a78bfa; }.codex-dot { background:#f59e0b; }
76
+ `}},"app-ai-cost-tracker":{type:`app`,x:60,y:80,width:520,height:300,title:`AI cost tracker artifact`,description:`Companion cost dashboard published by an assistant.`,template:`react`,showEditor:!1,showConsole:!1,entryFile:`/App.js`,files:{"/App.js":`
77
+ import './styles.css';
78
+
79
+ const rows = [
80
+ ['Claude Code', '$18.72', '43%', '#a78bfa'],
81
+ ['Codex', '$12.90', '31%', '#14b8a6'],
82
+ ['Other agents', '$10.56', '26%', '#f59e0b'],
83
+ ];
84
+
85
+ export default function App() {
86
+ return (
87
+ <main className="cost-card">
88
+ <header><span>AI spend</span><b>Live</b></header>
89
+ <section className="hero"><small>today</small><strong>$42.18</strong><em>4.7m tokens · 19 runs</em></section>
90
+ <div className="meter"><i /></div>
91
+ <div className="rows">
92
+ {rows.map(([label, cost, pct, color]) => (
93
+ <div className="row" key={label} style={{ '--color': color }}>
94
+ <span><i />{label}</span><b>{cost}</b><small>{pct}</small>
95
+ </div>
96
+ ))}
97
+ </div>
98
+ </main>
99
+ );
100
+ }
101
+ `,"/styles.css":`
102
+ body { margin:0; background:#07111f; color:#eaffff; font-family: Inter, ui-sans-serif, system-ui; }
103
+ .cost-card { min-height:100vh; box-sizing:border-box; padding:18px; background:radial-gradient(circle at 85% 0%, rgba(251,191,36,.28), transparent 34%), linear-gradient(135deg,#08111f,#111827 58%,#241005); border:1px solid rgba(255,255,255,.14); }
104
+ header { display:flex; justify-content:space-between; align-items:center; font-weight:900; letter-spacing:-.02em; }
105
+ header span { font-size:22px; } header b { color:#06251f; background:#fde047; padding:4px 9px; border-radius:999px; font-size:12px; }
106
+ .hero { margin:14px 0; padding:14px; border-radius:18px; background:rgba(15,23,42,.78); border:1px solid rgba(255,255,255,.09); }
107
+ small { color:#a7f3d0; text-transform:uppercase; font-size:10px; letter-spacing:.12em; }
108
+ strong { display:block; font-size:39px; line-height:1; margin:5px 0; }
109
+ em { color:#cbd5e1; font-style:normal; font-size:12px; }
110
+ .meter { height:10px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.10); margin:14px 0; }
111
+ .meter i { display:block; width:78%; height:100%; border-radius:99px; background:linear-gradient(90deg,#a78bfa,#14b8a6,#f59e0b); box-shadow:0 0 20px rgba(20,184,166,.42); }
112
+ .rows { display:grid; gap:8px; }
113
+ .row { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:10px; padding:10px; border-radius:14px; background:rgba(2,6,23,.55); border:1px solid rgba(255,255,255,.08); }
114
+ .row span { display:flex; align-items:center; gap:8px; font-size:12px; } .row i { width:8px; height:8px; border-radius:99px; background:var(--color); box-shadow:0 0 12px var(--color); }
115
+ .row b { font-size:14px; } .row small { color:#cbd5e1; }
116
+ `}},"note-architecture":{type:`markdown`,x:1440,y:80,width:500,content:`### Staged product architecture
117
+
118
+ \`\`\`mermaid
119
+ flowchart LR
120
+ Header[AppHeader] --> Facepile[Facepile + overflow]
121
+ Board[SessionCanvas] --> Zones[Real zones]
122
+ Board --> Branches[Branch cards]
123
+ Board --> Artifacts[Board artifacts]
124
+ Presence[Static users] -.demo-only.-> Facepile
125
+ Cursors[3 static cursors] -.demo-only.-> Board
126
+ \`\`\`
127
+
128
+ Demo fixtures stay behind an explicit demo route.`},"note-sequence":{type:`markdown`,x:1980,y:80,width:500,content:`### Capture flow
129
+
130
+ \`\`\`mermaid
131
+ sequenceDiagram
132
+ participant Max
133
+ participant UI as Demo route
134
+ participant Canvas as Product canvas
135
+ participant Shot as Playwright
136
+ Max->>UI: open demo route
137
+ UI->>Canvas: render branches, zones, notes
138
+ Canvas->>Canvas: mount burndown artifact
139
+ Shot->>UI: wait 7-10s
140
+ Shot-->>Max: board PNGs
141
+ \`\`\`
142
+
143
+ The live route is hardcoded for staging only.`}}},y={repo_id:g,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:m,updated_at:m,created_by:_[0].user_id,archived:!1},b=[{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`]]}],x=b.map((e,t)=>({branch_id:e.id,repo_id:g,branch_unique_id:1200+t,created_at:m,updated_at:m,created_by:_[t%_.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:h,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:m,updated_at:m},last_used:m,needs_attention:t===1,archived:!1,filesystem_status:`ready`,others_can:`session`,url:`/ui/w/${e.id.slice(0,8)}`})),S=b.map(e=>({object_id:`board-object-${e.id}`,board_id:h,branch_id:e.id,entity_type:`branch`,position:e.position,zone_id:e.zoneId,created_at:m})),C=b.flatMap((e,t)=>e.sessions.map(([n,r,i,a,o],s)=>({session_id:`${e.id}-session-${s+1}`,agentic_tool:r,status:i,created_at:m,last_updated:m,created_by:_[(t+s)%_.length].user_id,unix_username:null,branch_id:e.id,branch_board_id:h,url:`/ui/s/${e.id.slice(0,8)}${s}`,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}))),w=[{card_id:`019ee88d-demo-card-0000-000000000201`,board_id:h,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:_[2].user_id,created_at:m,updated_at:m,archived:!1},{card_id:`019ee88d-demo-card-0000-000000000202`,board_id:h,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:_[5].user_id,created_at:m,updated_at:m,archived:!1},{card_id:`019ee88d-demo-card-0000-000000000203`,board_id:h,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:_[6].user_id,created_at:m,updated_at:m,archived:!1}],T=[{object_id:`board-object-card-201`,board_id:h,card_id:w[0].card_id,entity_type:`card`,position:{x:80,y:900},zone_id:`zone-assistants`,created_at:m},{object_id:`board-object-card-202`,board_id:h,card_id:w[1].card_id,entity_type:`card`,position:{x:80,y:750},zone_id:`zone-assistants`,created_at:m},{object_id:`board-object-card-203`,board_id:h,card_id:w[2].card_id,entity_type:`card`,position:{x:120,y:540},zone_id:`zone-review`,created_at:m}],E=[{comment_id:`019ee88d-demo-comment-0000-000000000301`,board_id:h,created_by:_[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:b[1].id,resolved:!1,edited:!1,reactions:[{user_id:_[0].user_id,emoji:`👍`}],position:{relative:{parent_id:b[1].id,parent_type:`branch`,offset_x:420,offset_y:80}},mentions:[_[0].user_id],created_at:new Date(m)}],D=_.map((e,t)=>({user:e,lastSeen:Date.now()-t*1e3,boardId:h,cursor:{x:420+t*42,y:180+t%3*84}})),O=[{userId:_[1].user_id,user:_[1],color:`#06b6d4`,x:1370,y:620},{userId:_[2].user_id,user:_[2],color:`#f97316`,x:2550,y:260},{userId:_[5].user_id,user:_[5],color:`#eab308`,x:650,y:820}],k=()=>{(0,f.useEffect)(()=>{document.title=`Launch board · Agor`},[]);let e=(0,f.useMemo)(()=>{let e=new Map([[h,v]]),t=new Map([[g,y]]),n=new Map(x.map(e=>[e.branch_id,e])),r=new Map(C.map(e=>[e.session_id,e])),i=new Map;for(let e of C){let t=i.get(e.branch_id)??[];t.push(e),i.set(e.branch_id,t)}let a=[...S,...T];return{boardById:e,repoById:t,branchById:n,sessionById:r,sessionsByBranch:i,boardObjectById:new Map(a.map(e=>[e.object_id,e])),boardObjectsByBoardId:new Map([[h,a]]),cardById:new Map(w.map(e=>[e.card_id,e])),userById:new Map(_.map(e=>[e.user_id,e])),commentById:new Map(E.map(e=>[e.comment_id,e]))}},[]);return(0,p.jsx)(t,{theme:{algorithm:n.darkAlgorithm,token:{colorPrimary:`#14b8a6`,borderRadius:12,fontFamily:`Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif`}},children:(0,p.jsx)(a,{children:(0,p.jsx)(c,{value:{connected:!0,connecting:!1,outOfSync:!1,capturedSha:null,currentSha:null},children:(0,p.jsxs)(i,{className:`marketing-product-page`,"data-testid":`marketing-screenshot-page`,children:[(0,p.jsx)(l,{user:_[0],presenceClient:null,presenceUsers:_,currentUserId:_[0].user_id,staticActiveUsers:D,connected:!0,connecting:!1,currentBoardName:v.name,currentBoardIcon:v.icon,unreadCommentsCount:E.length,eventStreamEnabled:!0,hasUserMentions:!0,boards:[v],currentBoardId:h,branchById:e.branchById,boardById:e.boardById,recentBoards:[],sessionById:e.sessionById,artifactById:new Map,mcpServerById:new Map}),(0,p.jsx)(`main`,{className:`marketing-product-canvas`,children:(0,p.jsx)(d,{children:(0,p.jsx)(u,{board:v,client:null,sessionById:e.sessionById,sessionsByBranch:e.sessionsByBranch,userById:e.userById,repoById:e.repoById,branches:x,branchById:e.branchById,boardObjectById:e.boardObjectById,boardObjectsByBoardId:e.boardObjectsByBoardId,commentById:e.commentById,cardById:e.cardById,currentUserId:_[0].user_id,selectedSessionId:null,availableAgents:[],mcpServerById:new Map,sessionMcpServerIds:new Map,staticCursors:O,staticCursorScale:1.3,height:`calc(100vh - 64px)`})})})]})})})})};export{k as MarketingScreenshotPage,k as default};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime--c01j_DQ.js";import{At as t,Bn as n,In as r,Kn as i,On as a,Pt as o,Qn as s,Xt as c,Yt as l,ft as u,o as d,on as f,sn as p,wn as m,x as h}from"./antd-CfbbHJOz.js";import{X as g,d as _,f as v,ht as y,mt as b,o as x,s as S}from"./message-SqLqNYcv.js";import{N as C}from"./editor-CzFWIUw2.js";import{K as w,bt as T,nn as E,tn as D}from"./index-BN5_Qq7R.js";import{t as O}from"./AutocompleteTextarea-BAFFH_5e.js";import{n as k,t as A}from"./ConversationView-CUWR0gR6.js";var j=e(s(),1),M=C(),{Header:N}=c,{Title:P}=t,F=({showMenu:e=!0,showLogo:t=!1,title:n,user:r,onMenuClick:i,onLogout:a})=>{let{token:s}=o.useToken();return(0,M.jsxs)(N,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`0 16px`,background:s.colorBgContainer,borderBottom:`1px solid ${s.colorBorderSecondary}`},children:[(0,M.jsxs)(f,{size:8,align:`center`,style:{flex:1},children:[t&&(0,M.jsx)(`img`,{src:E(),alt:D.name,style:{height:32,borderRadius:`50%`,objectFit:`cover`,display:`block`}}),(0,M.jsx)(P,{level:5,style:{margin:0,marginTop:-4,color:s.colorText,fontSize:t?18:16,fontWeight:t?400:500},children:n||`agor`})]}),(0,M.jsxs)(f,{size:12,align:`center`,children:[r&&(0,M.jsx)(`div`,{style:{fontSize:20,lineHeight:1},children:r.emoji||`👤`}),e&&(0,M.jsx)(m,{type:`text`,icon:(0,M.jsx)(d,{style:{fontSize:s.fontSizeLG}}),onClick:i})]})]})},I=({client:e,boardById:t,commentById:n,branchById:r,userById:a,currentUser:o,onMenuClick:s,onSendComment:c,onReplyComment:l,onResolveComment:u,onToggleReaction:d,onDeleteComment:f})=>{let{boardId:p}=v(),m=p?t.get(p):void 0,h=T(n).filter(e=>e.board_id===p);return p?m?(0,M.jsxs)(`div`,{style:{height:`100vh`,display:`flex`,flexDirection:`column`},children:[(0,M.jsx)(F,{title:`${m.icon||`📋`} ${m.name}`,showMenu:!0,user:o,onMenuClick:s}),(0,M.jsx)(`div`,{style:{flex:1,overflow:`hidden`},children:(0,M.jsx)(k,{client:e,boardId:p,comments:h,userById:a,currentUserId:o?.user_id||`unknown`,boardObjects:m?.objects,branchById:r,onSendComment:e=>c(p,e),onReplyComment:l,onResolveComment:u,onToggleReaction:d,onDeleteComment:f})})]}):(0,M.jsx)(`div`,{style:{padding:16},children:(0,M.jsx)(i,{type:`error`,title:`Board not found`})}):(0,M.jsx)(`div`,{style:{padding:16},children:(0,M.jsx)(i,{type:`error`,title:`No board ID provided`})})},{Text:L}=t,R=({items:e,defaultActiveKey:t})=>{let{token:i}=o.useToken();return(0,M.jsx)(n,{defaultActiveKey:t,expandIcon:({isActive:e})=>(0,M.jsx)(r,{rotate:e?180:0}),style:{border:`none`,backgroundColor:`transparent`,width:`100%`},items:e.map(({key:e,board:t,badge:n,children:r})=>({key:e,label:(0,M.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[t.icon&&(0,M.jsx)(`span`,{style:{fontSize:16},children:t.icon}),(0,M.jsx)(L,{strong:!0,style:{fontSize:14},children:t.name}),n]}),style:{marginBottom:0,backgroundColor:i.colorBgContainer,borderRadius:0,border:`1px solid ${i.colorBorder}`},children:(0,M.jsx)(`div`,{style:{backgroundColor:i.colorBgLayout,margin:-16,padding:16},children:r})}))})},{Text:z}=t,B=({boardById:e,branchById:t,sessionsByBranch:i,commentById:s,onNavigate:c})=>{let l=_(),{token:d}=o.useToken(),p=e=>{l(`/m/session/${e}`),c?.()},h=(e,t)=>{t.stopPropagation(),l(`/m/comments/${e}`),c?.()},g=e=>T(s).filter(t=>t.board_id===e&&!t.resolved&&!t.parent_comment_id).length,v={};for(let e of t.values()){let t=e.board_id||`unassigned`;v[t]||(v[t]=[]),v[t].push(e)}let y=new Map(Array.from(i.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})])),b=e=>w(e,{fallbackChars:50,includeIdFallback:!0}),x=e=>e.status===`running`?`▶️`:e.status===`completed`?`✅`:e.status===`failed`?`❌`:`⏸️`;return(0,M.jsx)(`div`,{style:{overflowY:`auto`,height:`calc(100vh - 64px)`},children:(0,M.jsx)(R,{items:T(e).map(e=>{let t=v[e.board_id]||[],i=g(e.board_id);return{key:e.board_id,board:e,badge:(0,M.jsxs)(f,{size:8,children:[(0,M.jsx)(a,{count:t.length,style:{backgroundColor:d.colorPrimaryBg},showZero:!0}),(0,M.jsx)(a,{count:i,offset:[-6,6],styles:{indicator:{backgroundColor:`${d.colorPrimary}80`,boxShadow:`0 0 0 2px rgba(0, 0, 0, 0.5)`}},children:(0,M.jsx)(m,{type:`text`,icon:(0,M.jsx)(u,{style:{fontSize:18}}),onClick:t=>h(e.board_id,t),style:{padding:`6px 10px`,height:`auto`,color:i>0?d.colorPrimary:d.colorTextSecondary}})})]}),children:t.length===0?(0,M.jsx)(z,{type:`secondary`,children:`No branches on this board`}):(0,M.jsx)(n,{defaultActiveKey:[],ghost:!0,expandIcon:({isActive:e})=>(0,M.jsx)(r,{rotate:e?180:0}),items:t.sort((e,t)=>{let n=Math.max(...(y.get(e.branch_id)||[]).map(e=>new Date(e.last_updated).getTime()),0);return Math.max(...(y.get(t.branch_id)||[]).map(e=>new Date(e.last_updated).getTime()),0)-n}).map(e=>{let t=y.get(e.branch_id)||[];return{key:e.branch_id,label:(0,M.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:2,padding:`2px 0`},children:[(0,M.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,M.jsx)(`span`,{children:`🌳`}),(0,M.jsx)(z,{strong:!0,children:e.name})]}),(0,M.jsxs)(z,{type:`secondary`,style:{fontSize:12,paddingLeft:28},children:[t.length,` sessions`]})]}),children:t.length===0?(0,M.jsx)(z,{type:`secondary`,style:{padding:`8px 0 8px 28px`,display:`block`},children:`No sessions yet`}):(0,M.jsx)(`div`,{children:t.map(e=>(0,M.jsx)(`div`,{onClick:()=>p(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,M.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:2,width:`100%`},children:[(0,M.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,M.jsx)(`span`,{children:x(e)}),(0,M.jsx)(z,{children:b(e)})]}),(0,M.jsxs)(z,{type:`secondary`,style:{fontSize:11,paddingLeft:28},children:[e.agentic_tool,e.model_config?.model&&` • ${e.model_config.model}`]})]})},e.session_id))})}})})}})})})},V=({onSend:e,disabled:t=!1,placeholder:n=`Send a prompt...`,promptDraft:r=``,onUpdateDraft:i,client:a,sessionId:s,userById:c})=>{let{token:l}=o.useToken(),u=r,d=e=>{i?.(e)},f=()=>{u.trim()&&!t&&e(u.trim())};return(0,M.jsxs)(`div`,{style:{position:`fixed`,bottom:0,left:0,right:0,backgroundColor:l.colorBgContainer,borderTop:`1px solid ${l.colorBorder}`,padding:`12px 16px`,zIndex:1e3,display:`flex`,gap:`8px`,alignItems:`flex-end`},children:[(0,M.jsx)(`div`,{style:{flex:1},children:(0,M.jsx)(O,{value:u,onChange:d,onKeyPress:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),f())},placeholder:n,client:a,sessionId:s,userById:c,autoSize:{minRows:1,maxRows:4},enableKnowledgeMentions:!0,kbLinkTarget:`absolute-route`})}),(0,M.jsx)(m,{type:`primary`,icon:(0,M.jsx)(h,{}),onClick:f,disabled:t||!u.trim(),size:`large`})]})},H=({client:e,sessionById:t,branchById:n,repoById:r,userById:a,currentUser:o,onSendPrompt:s,onMenuClick:c,promptDrafts:u,onUpdateDraft:d})=>{let{sessionId:f}=v(),p=f?t.get(f):void 0,m=p?.branch_id&&n.get(p.branch_id)||null;return f?p?(0,M.jsxs)(`div`,{style:{height:`100vh`,display:`flex`,flexDirection:`column`},children:[(0,M.jsx)(F,{title:m?.name||w(p,{fallbackChars:30,includeIdFallback:!0}),showMenu:!0,user:o,onMenuClick:c}),(0,M.jsx)(`div`,{style:{flex:1,overflowY:`auto`,paddingBottom:80},children:(0,M.jsx)(A,{client:e,sessionId:p.session_id,agentic_tool:p.agentic_tool,sessionModel:p.model_config?.model,userById:a,currentUserId:o?.user_id,onPermissionDecision:async(t,n,r,i,a)=>{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:a!==g.ONCE,scope:a,decidedBy:o?.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&&y(m)?b(m)?.emoji:void 0})}),(0,M.jsx)(V,{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:a})]}):(0,M.jsx)(`div`,{style:{height:`100vh`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,M.jsx)(l,{size:`large`})}):(0,M.jsx)(`div`,{style:{padding:16},children:(0,M.jsx)(i,{type:`error`,title:`No session ID provided`})})},{Content:U}=c,{Text:W}=t,G=({client:e,user:t,sessionById:n,sessionsByBranch:r,boardById:i,commentById:a,repoById:o,branchById:s,userById:l,onSendPrompt:u,onSendComment:d,onReplyComment:f,onResolveComment:m,onToggleReaction:h,onDeleteComment:g,onLogout:_,promptDrafts:v,onUpdateDraft:y})=>{let[b,C]=(0,j.useState)(!1);return(0,M.jsxs)(c,{style:{height:`100vh`},children:[(0,M.jsx)(p,{title:`Navigation`,placement:`left`,onClose:()=>C(!1),open:b,size:`85%`,styles:{body:{padding:0}},children:(0,M.jsx)(B,{boardById:i,branchById:s,sessionsByBranch:r,commentById:a,onNavigate:()=>C(!1)})}),(0,M.jsxs)(S,{children:[(0,M.jsx)(x,{path:`/`,element:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(F,{showLogo:!0,user:t,onMenuClick:()=>C(!0),onLogout:_}),(0,M.jsxs)(U,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,padding:24,flexDirection:`column`,gap:24},children:[(0,M.jsx)(`img`,{src:E(),alt:D.name,style:{width:160,height:160,opacity:.5,borderRadius:`50%`}}),(0,M.jsx)(W,{type:`secondary`,style:{textAlign:`center`},children:`Tap the menu icon to browse boards and sessions`})]})]})}),(0,M.jsx)(x,{path:`/session/:sessionId`,element:(0,M.jsx)(H,{client:e,sessionById:n,branchById:s,repoById:o,userById:l,currentUser:t,onSendPrompt:u,onMenuClick:()=>C(!0),promptDrafts:v,onUpdateDraft:y})}),(0,M.jsx)(x,{path:`/comments/:boardId`,element:(0,M.jsx)(I,{client:e,boardById:i,commentById:a,branchById:s,userById:l,currentUser:t,onMenuClick:()=>C(!0),onSendComment:d,onReplyComment:f,onResolveComment:m,onToggleReaction:h,onDeleteComment:g})})]})]})};export{G as MobileApp};