titan-agent 7.0.0 → 7.2.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 (343) hide show
  1. package/README.md +54 -2
  2. package/dist/agent/agent.js +55 -10
  3. package/dist/agent/agent.js.map +1 -1
  4. package/dist/agent/contextManager.js +1 -1
  5. package/dist/agent/contextManager.js.map +1 -1
  6. package/dist/agent/honestyGuard.js +66 -0
  7. package/dist/agent/honestyGuard.js.map +1 -0
  8. package/dist/agent/selfCritique.js +101 -0
  9. package/dist/agent/selfCritique.js.map +1 -0
  10. package/dist/agent/toolSearch.js +9 -2
  11. package/dist/agent/toolSearch.js.map +1 -1
  12. package/dist/agent/trajectoryLogger.js +19 -2
  13. package/dist/agent/trajectoryLogger.js.map +1 -1
  14. package/dist/analytics/collector.js +1 -1
  15. package/dist/analytics/collector.js.map +1 -1
  16. package/dist/config/schema.js +32 -0
  17. package/dist/config/schema.js.map +1 -1
  18. package/dist/eval/harness.js +4 -1
  19. package/dist/eval/harness.js.map +1 -1
  20. package/dist/gateway/server.js +24 -8
  21. package/dist/gateway/server.js.map +1 -1
  22. package/dist/gateway/slashCommands.js +31 -0
  23. package/dist/gateway/slashCommands.js.map +1 -1
  24. package/dist/mcp/agentTools.js +135 -0
  25. package/dist/mcp/agentTools.js.map +1 -0
  26. package/dist/mcp/server.js +19 -2
  27. package/dist/mcp/server.js.map +1 -1
  28. package/dist/memory/graph.js +2 -0
  29. package/dist/memory/graph.js.map +1 -1
  30. package/dist/providers/errorTaxonomy.js +4 -0
  31. package/dist/providers/errorTaxonomy.js.map +1 -1
  32. package/dist/providers/moa.js +151 -0
  33. package/dist/providers/moa.js.map +1 -0
  34. package/dist/providers/modelCapabilities.js +65 -2
  35. package/dist/providers/modelCapabilities.js.map +1 -1
  36. package/dist/providers/ollama.js +1 -0
  37. package/dist/providers/ollama.js.map +1 -1
  38. package/dist/providers/openai_compat.js +14 -2
  39. package/dist/providers/openai_compat.js.map +1 -1
  40. package/dist/providers/router.js +3 -1
  41. package/dist/providers/router.js.map +1 -1
  42. package/dist/utils/benchMode.js +8 -0
  43. package/dist/utils/benchMode.js.map +1 -0
  44. package/dist/utils/constants.js +1 -1
  45. package/dist/utils/constants.js.map +1 -1
  46. package/package.json +26 -26
  47. package/ui/dist/assets/AboutYouMemory-57X5SqHQ.js +1 -0
  48. package/ui/dist/assets/AuditPanel-AyB8ciLZ.js +1 -0
  49. package/ui/dist/assets/AutonomyPanel-wmVPr-n3.js +1 -0
  50. package/ui/dist/assets/AutopilotPanel-CbLy4lJP.js +1 -0
  51. package/ui/dist/assets/AutoresearchPanel-DxRO1rBF.js +1 -0
  52. package/ui/dist/assets/BackupPanel-BUh9rQ-3.js +1 -0
  53. package/ui/dist/assets/BrowserPanel-OqKwGrIL.js +1 -0
  54. package/ui/dist/assets/CPActivity-DGfS7EY3.js +1 -0
  55. package/ui/dist/assets/CPAgentDetail-p0Kvzhhb.js +1 -0
  56. package/ui/dist/assets/CPAgents-B6wSSQZM.js +1 -0
  57. package/ui/dist/assets/CPApprovals-CYv9Do0i.js +1 -0
  58. package/ui/dist/assets/CPCosts-Dx6Q71rN.js +1 -0
  59. package/ui/dist/assets/CPDashboard-DA8-tE-l.js +1 -0
  60. package/ui/dist/assets/CPFiles-BJ49tzai.js +1 -0
  61. package/ui/dist/assets/CPGoals-h0dKL5V_.js +1 -0
  62. package/ui/dist/assets/CPInbox-CDvefgNH.js +1 -0
  63. package/ui/dist/assets/CPIssueDetail-CnmLzzDD.js +1 -0
  64. package/ui/dist/assets/CPIssues-DknAIMyl.js +1 -0
  65. package/ui/dist/assets/CPLayout-C2nqgkmY.js +2 -0
  66. package/ui/dist/assets/CPOrg-tDbHFphX.js +1 -0
  67. package/ui/dist/assets/CPRuns-UlrIURqG.js +1 -0
  68. package/ui/dist/assets/CPSocial-B-gHgvEw.js +1 -0
  69. package/ui/dist/assets/CPVoice-CJy938ZF.js +1 -0
  70. package/ui/dist/assets/ChannelsPanel-DLbxg1zO.js +1 -0
  71. package/ui/dist/assets/CheckpointsPanel-BB6TT0aE.js +1 -0
  72. package/ui/dist/assets/CommandPostHub-fIslwU_t.js +2 -0
  73. package/ui/dist/assets/ConfirmDialog-6hcNjmAh.js +9 -0
  74. package/ui/dist/assets/CronPanel-DLpw3Y25.js +1 -0
  75. package/ui/dist/assets/DataTable-KVqtDzvP.js +1 -0
  76. package/ui/dist/assets/DreamPanel-lcMXpbEb.js +5 -0
  77. package/ui/dist/assets/EmptyState-D-Dg8B8r.js +1 -0
  78. package/ui/dist/assets/EvalHarnessPanel-BKzRiiQw.js +2 -0
  79. package/ui/dist/assets/EvalPanel-Dtodacmj.js +1 -0
  80. package/ui/dist/assets/FileViewer-DjcVKkO2.js +60 -0
  81. package/ui/dist/assets/FilesPanel-BI90Pplh.js +1 -0
  82. package/ui/dist/assets/FleetPanel-tr0wjAwr.js +1 -0
  83. package/ui/dist/assets/HomelabPanel-m8vMm5rE.js +1 -0
  84. package/ui/dist/assets/InfraView-3WriJnyE.js +2 -0
  85. package/ui/dist/assets/IntegrationsPanel-BmL70fOw.js +1 -0
  86. package/ui/dist/assets/IntelligenceView-BGVxCKD3.js +2 -0
  87. package/ui/dist/assets/LearningPanel-CrYLQ6eV.js +1 -0
  88. package/ui/dist/assets/LiveStudio-CnW3eZYF.js +2 -0
  89. package/ui/dist/assets/LogsPanel-DbShr4Ic.js +1 -0
  90. package/ui/dist/assets/McpPanel-uMYEsPI4.js +1 -0
  91. package/ui/dist/assets/MemoryGraphPanel-C7-Z8f0v.js +1 -0
  92. package/ui/dist/assets/MemoryTaxonomyPanel-KrxN8U1G.js +1 -0
  93. package/ui/dist/assets/MemoryWikiPanel-DI3q6IHC.js +1 -0
  94. package/ui/dist/assets/MeshPanel-D4-g2tlu.js +1 -0
  95. package/ui/dist/assets/MissionCanvas-D8cjakJe.js +61 -0
  96. package/ui/dist/assets/MissionChat-BvqCUf1E.js +3 -0
  97. package/ui/dist/assets/MissionLibrary-CZoJQ9WD.js +1 -0
  98. package/ui/dist/assets/MissionStart-CXCq-_AD.js +1 -0
  99. package/ui/dist/assets/NvidiaPanel-BfI1K5Pg.js +1 -0
  100. package/ui/dist/assets/OrganismPanel-B7Gm9pP-.js +1 -0
  101. package/ui/dist/assets/OverviewPanel-B9tKWRK2.js +1 -0
  102. package/ui/dist/assets/PageHeader-CH85uoZG.js +1 -0
  103. package/ui/dist/assets/PersonaProfilesPanel-BPi8fl-U.js +3 -0
  104. package/ui/dist/assets/PersonasPanel-Dwr7sycT.js +1 -0
  105. package/ui/dist/assets/PhoneDeskPanel-D7qc6wUI.js +1 -0
  106. package/ui/dist/assets/RecipesPanel-DcqPWRSU.js +1 -0
  107. package/ui/dist/assets/SecurityPanel-Bv_B9Ahf.js +1 -0
  108. package/ui/dist/assets/SelfImprovePanel-Ca4rGwEG.js +1 -0
  109. package/ui/dist/assets/SelfProposalsPanel-DteMSASq.js +1 -0
  110. package/ui/dist/assets/SessionsPanel-BdbbKTbL.js +1 -0
  111. package/ui/dist/assets/SessionsTab-BJipiVJs.js +1 -0
  112. package/ui/dist/assets/SettingsPanel-mV7ykOCc.js +1 -0
  113. package/ui/dist/assets/SettingsView-Bu_wYTT5.js +2 -0
  114. package/ui/dist/assets/SkeletonLoader-9H7QWa9E.js +1 -0
  115. package/ui/dist/assets/SkillsPanel-CHwX2kDR.js +1 -0
  116. package/ui/dist/assets/SomaView-Bpsm4ZW7.js +5 -0
  117. package/ui/dist/assets/SomaView-Dghh9om4.css +1 -0
  118. package/ui/dist/assets/StatCard-wmSgMAM3.js +1 -0
  119. package/ui/dist/assets/TeamsPanel-XJiHxdDX.js +1 -0
  120. package/ui/dist/assets/TelemetryPanel-_pmGVxpO.js +1 -0
  121. package/ui/dist/assets/TitanCanvas-Cb7KG80W.css +1 -0
  122. package/ui/dist/assets/TitanCanvas-CmLy7p2N.js +883 -0
  123. package/ui/dist/assets/ToolsView-PHizHZBx.js +2 -0
  124. package/ui/dist/assets/TraceViewer-CYAzIcfB.js +1 -0
  125. package/ui/dist/assets/TracesPanel-CRSN_dzK.js +1 -0
  126. package/ui/dist/assets/TrainingPanel-B9rcuMsV.js +1 -0
  127. package/ui/dist/assets/VoiceOverlay-BL_ns1ZA.js +7 -0
  128. package/ui/dist/assets/VramPanel-BNPQ06_9.js +1 -0
  129. package/ui/dist/assets/WatchView-BgAkNnur.js +13 -0
  130. package/ui/dist/assets/WorkTab-RRpPpEOg.js +1 -0
  131. package/ui/dist/assets/WorkflowBuilderPanel-BPHIH8pf.js +1 -0
  132. package/ui/dist/assets/WorkflowsPanel-DqtmT0NB.js +1 -0
  133. package/ui/dist/assets/approvalHeadline-BRg3ReTi.js +1 -0
  134. package/ui/dist/assets/archive-DcK9HrbE.js +1 -0
  135. package/ui/dist/assets/arrow-left-4c2FnES1.js +1 -0
  136. package/ui/dist/assets/book-open-Ds_yciQm.js +1 -0
  137. package/ui/dist/assets/bot-CWDCc265.js +1 -0
  138. package/ui/dist/assets/chart-column-hhZMdCgB.js +1 -0
  139. package/ui/dist/assets/chevron-right-A_pvnRh_.js +1 -0
  140. package/ui/dist/assets/circle-check-big-C-JUM7wb.js +1 -0
  141. package/ui/dist/assets/circle-stop-yZuG9ZAE.js +1 -0
  142. package/ui/dist/assets/clipboard-list-C2HUEjZc.js +1 -0
  143. package/ui/dist/assets/clock-DSPgndSD.js +1 -0
  144. package/ui/dist/assets/clsx-CjueKrWZ.js +1 -0
  145. package/ui/dist/assets/createLucideIcon-qnlrxww7.js +1 -0
  146. package/ui/dist/assets/database-C1SgHa8T.js +1 -0
  147. package/ui/dist/assets/dollar-sign-D9siqK91.js +1 -0
  148. package/ui/dist/assets/download-CJZWQNfV.js +1 -0
  149. package/ui/dist/assets/external-link-CpQLWKKE.js +1 -0
  150. package/ui/dist/assets/file-text-BbGTi-Po.js +1 -0
  151. package/ui/dist/assets/flask-conical-B1YVft4E.js +1 -0
  152. package/ui/dist/assets/folder-EbR-w2Mq.js +1 -0
  153. package/ui/dist/assets/funnel-D2Dkn8Pf.js +1 -0
  154. package/ui/dist/assets/git-branch-CQ2yNSzU.js +1 -0
  155. package/ui/dist/assets/git-pull-request-BxL5wlGX.js +1 -0
  156. package/ui/dist/assets/index-Cz8190xO.css +2 -0
  157. package/ui/dist/assets/index-WI-E4I3h.js +243 -0
  158. package/ui/dist/assets/jsx-runtime-B15e6lOy.js +1 -0
  159. package/ui/dist/assets/layers-BPu5SRjI.js +1 -0
  160. package/ui/dist/assets/legacy-BIzifT-t.js +3 -0
  161. package/ui/dist/assets/lightbulb-BY7CpMte.js +1 -0
  162. package/ui/dist/assets/link-VDQkrGJw.js +1 -0
  163. package/ui/dist/assets/list-todo-DfnNUV_T.js +1 -0
  164. package/ui/dist/assets/message-square-BpzrINHz.js +1 -0
  165. package/ui/dist/assets/mic-De6oZFaV.js +1 -0
  166. package/ui/dist/assets/missions-y-qg_f9b.js +1 -0
  167. package/ui/dist/assets/network-CM7y1ats.js +1 -0
  168. package/ui/dist/assets/pause-C4TDJSfA.js +1 -0
  169. package/ui/dist/assets/pencil-Dd_vzHE-.js +1 -0
  170. package/ui/dist/assets/play-9WxZWVHA.js +1 -0
  171. package/ui/dist/assets/plug-Dm25Wbrc.js +1 -0
  172. package/ui/dist/assets/plus-CHryCIkk.js +1 -0
  173. package/ui/dist/assets/radio-D-XnoAVu.js +1 -0
  174. package/ui/dist/assets/refresh-cw-Disd5wRB.js +1 -0
  175. package/ui/dist/assets/rotate-ccw-Cw1T2W1T.js +1 -0
  176. package/ui/dist/assets/save-DP7oNar2.js +1 -0
  177. package/ui/dist/assets/search-aNVcX-nv.js +1 -0
  178. package/ui/dist/assets/send-D7iQD57b.js +1 -0
  179. package/ui/dist/assets/server-DFfeYjoM.js +1 -0
  180. package/ui/dist/assets/settings-5NWXzgyY.js +1 -0
  181. package/ui/dist/assets/shared-DLz_Jtg3.js +1 -0
  182. package/ui/dist/assets/shield-check-Cd50jCAn.js +1 -0
  183. package/ui/dist/assets/square-DlcoJ1ZM.js +1 -0
  184. package/ui/dist/assets/terminal-DgFz2Vsf.js +1 -0
  185. package/ui/dist/assets/test-tube-BimtS92_.js +1 -0
  186. package/ui/dist/assets/toggle-right-BMaR-sfT.js +1 -0
  187. package/ui/dist/assets/trash-2-CwUv7ww1.js +1 -0
  188. package/ui/dist/assets/trending-up-Ba9TwEow.js +1 -0
  189. package/ui/dist/assets/trophy-Gfv1QC45.js +1 -0
  190. package/ui/dist/assets/volume-2-BVlfVl2U.js +1 -0
  191. package/ui/dist/assets/wifi-off-CWLeusSV.js +1 -0
  192. package/ui/dist/assets/zoom-out-DeggJ7RM.js +1 -0
  193. package/ui/dist/index.html +4 -2
  194. package/ui/dist/sw.js +1 -1
  195. package/ui/dist/assets/AboutYouMemory-CZKEOd_O.js +0 -11
  196. package/ui/dist/assets/AuditPanel-Bu71N5Er.js +0 -1
  197. package/ui/dist/assets/AutonomyPanel-DB-39dX4.js +0 -11
  198. package/ui/dist/assets/AutopilotPanel-Cj8oKxWv.js +0 -1
  199. package/ui/dist/assets/AutoresearchPanel-3s8pjm6Z.js +0 -6
  200. package/ui/dist/assets/BackupPanel-EUQJMJE7.js +0 -1
  201. package/ui/dist/assets/BrowserPanel-Beo4F5Ar.js +0 -6
  202. package/ui/dist/assets/Button-MdXmb4_n.js +0 -1
  203. package/ui/dist/assets/CPActivity-B1Se9VVc.js +0 -1
  204. package/ui/dist/assets/CPAgentDetail-BYji6tT8.js +0 -1
  205. package/ui/dist/assets/CPAgents-BSUKucTe.js +0 -1
  206. package/ui/dist/assets/CPApprovals-B4v0em6e.js +0 -1
  207. package/ui/dist/assets/CPCosts-9ikh61Kv.js +0 -1
  208. package/ui/dist/assets/CPDashboard-sOok2T5v.js +0 -1
  209. package/ui/dist/assets/CPFiles-DB2nY5JE.js +0 -1
  210. package/ui/dist/assets/CPGoals-8Z1yOY8e.js +0 -1
  211. package/ui/dist/assets/CPInbox-Cq6-UY8F.js +0 -11
  212. package/ui/dist/assets/CPIssueDetail-NAGfmJg8.js +0 -1
  213. package/ui/dist/assets/CPIssues-BzX6Rckx.js +0 -1
  214. package/ui/dist/assets/CPLayout-BcRM6QSg.js +0 -2
  215. package/ui/dist/assets/CPOrg-B7DQ4UQP.js +0 -1
  216. package/ui/dist/assets/CPRuns-D-cpPw_M.js +0 -1
  217. package/ui/dist/assets/CPSocial-DshtmcK0.js +0 -11
  218. package/ui/dist/assets/CPVoice-DfXRnQVU.js +0 -1
  219. package/ui/dist/assets/ChannelsPanel-BnaTOeyf.js +0 -1
  220. package/ui/dist/assets/CheckpointsPanel-C62naE4U.js +0 -1
  221. package/ui/dist/assets/CommandPostHub-B_L1CAss.js +0 -24
  222. package/ui/dist/assets/ConfirmDialog-VErHWAbo.js +0 -1
  223. package/ui/dist/assets/CronPanel-BwMrrZ5d.js +0 -1
  224. package/ui/dist/assets/DataTable-BCqSUuN7.js +0 -1
  225. package/ui/dist/assets/DreamPanel-BNAcCLBB.js +0 -15
  226. package/ui/dist/assets/EmptyState-D9kQf1PX.js +0 -1
  227. package/ui/dist/assets/EvalHarnessPanel-BaMLdBNm.js +0 -2
  228. package/ui/dist/assets/EvalPanel-CW-SSjtg.js +0 -1
  229. package/ui/dist/assets/FileViewer-BL00nsd7.js +0 -61
  230. package/ui/dist/assets/FilesPanel-CeC6YUSd.js +0 -16
  231. package/ui/dist/assets/FleetPanel-EyWF7l3W.js +0 -1
  232. package/ui/dist/assets/HomelabPanel-BRfKRYe7.js +0 -6
  233. package/ui/dist/assets/InfraView-Jmqhg_Yc.js +0 -2
  234. package/ui/dist/assets/InlineEditableField-DgMrLDj1.js +0 -1
  235. package/ui/dist/assets/Input-CBTwa_Iw.js +0 -1
  236. package/ui/dist/assets/IntegrationsPanel-DQL-7Ec6.js +0 -1
  237. package/ui/dist/assets/IntelligenceView-DxD78qfP.js +0 -2
  238. package/ui/dist/assets/LearningPanel-C_JzSbJU.js +0 -1
  239. package/ui/dist/assets/LiveStudio-Db5yeaWo.js +0 -7
  240. package/ui/dist/assets/LogsPanel-CpinKwaZ.js +0 -1
  241. package/ui/dist/assets/McpPanel-D-MqN_f-.js +0 -1
  242. package/ui/dist/assets/MemoryGraphPanel-BnD5jRqf.js +0 -1
  243. package/ui/dist/assets/MemoryTaxonomyPanel-BBI202dd.js +0 -6
  244. package/ui/dist/assets/MemoryWikiPanel-Dn3XZHL0.js +0 -6
  245. package/ui/dist/assets/MeshPanel-C-mRJpr0.js +0 -11
  246. package/ui/dist/assets/MissionCanvas-CbZW83Ch.js +0 -72
  247. package/ui/dist/assets/MissionChat-Bs75jPAD.js +0 -7
  248. package/ui/dist/assets/MissionLibrary-BxQ6SxPe.js +0 -5
  249. package/ui/dist/assets/MissionStart-CBuBPasl.js +0 -1
  250. package/ui/dist/assets/Modal-ybPGvlQs.js +0 -9
  251. package/ui/dist/assets/NvidiaPanel-DdG13OX4.js +0 -1
  252. package/ui/dist/assets/OrganismPanel-xZWUJKyr.js +0 -1
  253. package/ui/dist/assets/OverviewPanel-B45ZYhJV.js +0 -1
  254. package/ui/dist/assets/PageHeader-DdrbS1aq.js +0 -1
  255. package/ui/dist/assets/PersonaProfilesPanel-CKER-EU5.js +0 -8
  256. package/ui/dist/assets/PersonasPanel-CMMQ3nh3.js +0 -1
  257. package/ui/dist/assets/PhoneDeskPanel-Bw_Y-cVE.js +0 -11
  258. package/ui/dist/assets/RecipesPanel-DzMcxpJJ.js +0 -1
  259. package/ui/dist/assets/SecurityPanel-BCq3Fzbr.js +0 -1
  260. package/ui/dist/assets/SelfImprovePanel-YE3hT8jK.js +0 -1
  261. package/ui/dist/assets/SelfProposalsPanel-DXuqBM6p.js +0 -1
  262. package/ui/dist/assets/SessionsPanel-DORz5goR.js +0 -1
  263. package/ui/dist/assets/SessionsTab-qYHDOuC8.js +0 -1
  264. package/ui/dist/assets/SettingsPanel-BbwPu1i7.js +0 -1
  265. package/ui/dist/assets/SettingsView-zgqkDDBJ.js +0 -2
  266. package/ui/dist/assets/SkeletonLoader-r6OGXaU9.js +0 -1
  267. package/ui/dist/assets/SkillsPanel-BjEOBMRo.js +0 -11
  268. package/ui/dist/assets/SomaView-BtCkeWfZ.css +0 -1
  269. package/ui/dist/assets/SomaView-DLzApZVW.js +0 -5
  270. package/ui/dist/assets/StatCard-DLq8aBps.js +0 -1
  271. package/ui/dist/assets/StatusBadge-BqlvIbdj.js +0 -1
  272. package/ui/dist/assets/Tabs-DdUThlp1.js +0 -1
  273. package/ui/dist/assets/TeamsPanel-uIIKoU7I.js +0 -1
  274. package/ui/dist/assets/TelemetryPanel-dVr3yQQr.js +0 -1
  275. package/ui/dist/assets/TitanCanvas-BfitWg9R.css +0 -1
  276. package/ui/dist/assets/TitanCanvas-xHAJqwG2.js +0 -945
  277. package/ui/dist/assets/ToolsView-CG1mZdiy.js +0 -2
  278. package/ui/dist/assets/Tooltip-C2tXJcrN.js +0 -6
  279. package/ui/dist/assets/TraceViewer-BIMD_Osr.js +0 -1
  280. package/ui/dist/assets/TracesPanel-nMUiyMj5.js +0 -1
  281. package/ui/dist/assets/TrainingPanel-CT5R4HWm.js +0 -1
  282. package/ui/dist/assets/VoiceOverlay-Br4QnCtw.js +0 -17
  283. package/ui/dist/assets/VramPanel-CdnJYytg.js +0 -1
  284. package/ui/dist/assets/WatchView-TNU6Ns1Q.js +0 -13
  285. package/ui/dist/assets/WorkTab-wTlX_UKP.js +0 -1
  286. package/ui/dist/assets/WorkflowBuilderPanel-CDpVt5ux.js +0 -6
  287. package/ui/dist/assets/WorkflowsPanel-zsFqsLdn.js +0 -11
  288. package/ui/dist/assets/approvalHeadline-DB9SgR-9.js +0 -1
  289. package/ui/dist/assets/archive-Bh689DNg.js +0 -6
  290. package/ui/dist/assets/arrow-left-WkVYLm80.js +0 -6
  291. package/ui/dist/assets/book-open-ohEXgUsS.js +0 -6
  292. package/ui/dist/assets/bot-DvEcyQcD.js +0 -6
  293. package/ui/dist/assets/chart-column-w3goFd5f.js +0 -6
  294. package/ui/dist/assets/check-CuRYh4Zh.js +0 -6
  295. package/ui/dist/assets/chevron-right-DbLSHmff.js +0 -6
  296. package/ui/dist/assets/circle-check-big-Bkba568b.js +0 -6
  297. package/ui/dist/assets/circle-stop-Bx2ohEg8.js +0 -6
  298. package/ui/dist/assets/clipboard-list-Dj9tORnu.js +0 -6
  299. package/ui/dist/assets/clock-JyQAYy6X.js +0 -6
  300. package/ui/dist/assets/clsx-B-dksMZM.js +0 -1
  301. package/ui/dist/assets/dollar-sign-XxwPAA2a.js +0 -6
  302. package/ui/dist/assets/download-D1izVEOL.js +0 -6
  303. package/ui/dist/assets/external-link-DZ_rZsIt.js +0 -6
  304. package/ui/dist/assets/file-text-Cfawu8Bs.js +0 -6
  305. package/ui/dist/assets/flask-conical-Ql8QxhgY.js +0 -6
  306. package/ui/dist/assets/folder-DAdIw-Pb.js +0 -6
  307. package/ui/dist/assets/funnel-FycfZcXo.js +0 -6
  308. package/ui/dist/assets/git-branch-C2qrhGGu.js +0 -6
  309. package/ui/dist/assets/index-Cml2x9pA.js +0 -507
  310. package/ui/dist/assets/index-yWybhcfI.css +0 -1
  311. package/ui/dist/assets/layers-yzjtGlHB.js +0 -6
  312. package/ui/dist/assets/legacy-D21WSMF1.js +0 -3
  313. package/ui/dist/assets/lightbulb-BZJNK69S.js +0 -6
  314. package/ui/dist/assets/link-CnFkBkaY.js +0 -6
  315. package/ui/dist/assets/list-todo-BlgfQHup.js +0 -6
  316. package/ui/dist/assets/message-square-CRsG9u6_.js +0 -6
  317. package/ui/dist/assets/mic-B32RHc7Y.js +0 -6
  318. package/ui/dist/assets/missions-1iw8Z2_0.js +0 -1
  319. package/ui/dist/assets/network-C9RXQGrV.js +0 -6
  320. package/ui/dist/assets/pause-BT1Bc2q3.js +0 -6
  321. package/ui/dist/assets/pencil-BK5IU6o0.js +0 -6
  322. package/ui/dist/assets/play-Cl1nC_gc.js +0 -6
  323. package/ui/dist/assets/plug-DvcpOalj.js +0 -6
  324. package/ui/dist/assets/plus-Dpo1qfrl.js +0 -6
  325. package/ui/dist/assets/radio-C5c9IyqX.js +0 -6
  326. package/ui/dist/assets/refresh-cw-C-iZkzuS.js +0 -6
  327. package/ui/dist/assets/rotate-ccw-qzrB3SNw.js +0 -6
  328. package/ui/dist/assets/save-DwR9wQVu.js +0 -6
  329. package/ui/dist/assets/search-D10l0m3-.js +0 -6
  330. package/ui/dist/assets/send-DtXGsaFW.js +0 -6
  331. package/ui/dist/assets/server-BzisF3LL.js +0 -6
  332. package/ui/dist/assets/settings-Dbwd1_-c.js +0 -6
  333. package/ui/dist/assets/shield-check-CXlDJyAW.js +0 -6
  334. package/ui/dist/assets/square-BBC-JKzY.js +0 -11
  335. package/ui/dist/assets/terminal-DaBIlWEM.js +0 -6
  336. package/ui/dist/assets/test-tube-CDATRD5t.js +0 -11
  337. package/ui/dist/assets/toggle-right-DTmrC5RD.js +0 -11
  338. package/ui/dist/assets/trash-2-CTeyjxD_.js +0 -6
  339. package/ui/dist/assets/trending-up-CXPRjRV4.js +0 -6
  340. package/ui/dist/assets/trophy-DbVdXRtU.js +0 -6
  341. package/ui/dist/assets/volume-2-DYDBmm3M.js +0 -6
  342. package/ui/dist/assets/wifi-off-BBuIGbiP.js +0 -6
  343. package/ui/dist/assets/zoom-out-D47_pRAO.js +0 -16
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e),f=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")}),p=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.4`})),m=s(((e,t)=>{t.exports=p()})),h=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),g=s(((e,t)=>{t.exports=h()}));export{c as a,u as c,o as i,m as n,f as o,s as r,d as s,g as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]);export{t};
@@ -0,0 +1,3 @@
1
+ import{c as e,n as t,r as n,t as r}from"./jsx-runtime-B15e6lOy.js";import{cr as i}from"./index-WI-E4I3h.js";import{t as a}from"./clsx-CjueKrWZ.js";function o(e){let{margin:t,containerPadding:n,containerWidth:r,cols:i}=e;return(r-t[0]*(i-1)-n[0]*2)/i}function s(e,t,n){return Number.isFinite(e)?Math.round(t*e+Math.max(0,e-1)*n):e}function c(e,t,n,r,i,a,c){let{margin:l,containerPadding:u,rowHeight:d}=e,f=o(e),p,m,h,g;if(c?(p=Math.round(c.width),m=Math.round(c.height)):(p=s(r,f,l[0]),m=s(i,d,l[1])),a?(h=Math.round(a.top),g=Math.round(a.left)):c?(h=Math.round(c.top),g=Math.round(c.left)):(h=Math.round((d+l[1])*n+u[1]),g=Math.round((f+l[0])*t+u[0])),!a&&!c){if(Number.isFinite(r)){let e=Math.round((f+l[0])*(t+r)+u[0])-g-p;e!==l[0]&&(p+=e-l[0])}if(Number.isFinite(i)){let e=Math.round((d+l[1])*(n+i)+u[1])-h-m;e!==l[1]&&(m+=e-l[1])}}return{top:h,left:g,width:p,height:m}}function l(e,t,n,r,i){let{margin:a,containerPadding:s,cols:c,rowHeight:l,maxRows:u}=e,d=o(e),p=Math.round((n-s[0])/(d+a[0])),m=Math.round((t-s[1])/(l+a[1]));return p=f(p,0,c-r),m=f(m,0,u-i),{x:p,y:m}}function u(e,t,n){let{margin:r,containerPadding:i,rowHeight:a}=e,s=o(e);return{x:Math.round((n-i[0])/(s+r[0])),y:Math.round((t-i[1])/(a+r[1]))}}function d(e,t,n){let{margin:r,rowHeight:i}=e,a=o(e);return{w:Math.max(1,Math.round((t+r[0])/(a+r[0]))),h:Math.max(1,Math.round((n+r[1])/(i+r[1])))}}function f(e,t,n){return Math.max(Math.min(e,n),t)}function p(e,t){return!(e.i===t.i||e.x+e.w<=t.x||e.x>=t.x+t.w||e.y+e.h<=t.y||e.y>=t.y+t.h)}function m(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r!==void 0&&p(r,t))return r}}function h(e,t){return e.filter(e=>p(e,t))}function g(e,t){return t===`horizontal`?v(e):t===`vertical`||t===`wrap`?_(e):[...e]}function _(e){return[...e].sort((e,t)=>e.y===t.y?e.x-t.x:e.y-t.y)}function v(e){return[...e].sort((e,t)=>e.x===t.x?e.y-t.y:e.x-t.x)}function y(e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(r!==void 0){let e=r.y+r.h;e>t&&(t=e)}}return t}function b(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r!==void 0&&r.i===t)return r}}function x(e){return e.filter(e=>e.static===!0)}function S(e){return{i:e.i,x:e.x,y:e.y,w:e.w,h:e.h,minW:e.minW,maxW:e.maxW,minH:e.minH,maxH:e.maxH,moved:!!e.moved,static:!!e.static,isDraggable:e.isDraggable,isResizable:e.isResizable,resizeHandles:e.resizeHandles,constraints:e.constraints,isBounded:e.isBounded}}function C(e){let t=Array(e.length);for(let n=0;n<e.length;n++){let r=e[n];r!==void 0&&(t[n]=S(r))}return t}function w(e,t){let n=Array(e.length);for(let r=0;r<e.length;r++){let i=e[r];i!==void 0&&(t.i===i.i?n[r]=t:n[r]=i)}return n}function T(e,t,n){let r=b(e,t);return r?(r=n(S(r)),[w(e,r),r]):[[...e],null]}function ee(e,t){let n=x(e);for(let r=0;r<e.length;r++){let i=e[r];if(i!==void 0)if(i.x+i.w>t.cols&&(i.x=t.cols-i.w),i.x<0&&(i.x=0,i.w=t.cols),!i.static)n.push(i);else for(;m(n,i);)i.y++}return e}function E(e,t,n,r,i,a,o,s,c){if(t.static&&t.isDraggable!==!0||t.y===r&&t.x===n)return[...e];let l=t.x,u=t.y;typeof n==`number`&&(t.x=n),typeof r==`number`&&(t.y=r),t.moved=!0;let d=g(e,o);(o===`vertical`&&typeof r==`number`?u>=r:o===`horizontal`&&typeof n==`number`&&l>=n)&&(d=d.reverse());let f=h(d,t),p=f.length>0;if(p&&c)return C(e);if(p&&a)return t.x=l,t.y=u,t.moved=!1,e;let m=[...e];for(let e=0;e<f.length;e++){let n=f[e];n!==void 0&&(n.moved||(m=n.static?D(m,n,t,i,o):D(m,t,n,i,o)))}return m}function D(e,t,n,r,i,a){let o=i===`horizontal`,s=i===`vertical`,c=t.static;if(r){r=!1;let a={x:o?Math.max(t.x-n.w,0):n.x,y:s?Math.max(t.y-n.h,0):n.y,w:n.w,h:n.h,i:`-1`},l=m(e,a),u=l!==void 0&&l.y+l.h>t.y,d=l!==void 0&&t.x+t.w>l.x;if(!l)return E(e,n,o?a.x:void 0,s?a.y:void 0,r,c,i);if(u&&s)return E(e,n,void 0,n.y+1,r,c,i);if(u&&i===null)return t.y=n.y,n.y+=n.h,[...e];if(d&&o)return E(e,t,n.x,void 0,r,c,i)}let l=o?n.x+1:void 0,u=s?n.y+1:void 0;return l===void 0&&u===void 0?[...e]:E(e,n,l,u,r,c,i)}function O(e,t,n){return Math.max(t,Math.min(n,e))}var k={name:`gridBounds`,constrainPosition(e,t,n,{cols:r,maxRows:i}){return{x:O(t,0,Math.max(0,r-e.w)),y:O(n,0,Math.max(0,i-e.h))}},constrainSize(e,t,n,r,{cols:i,maxRows:a}){let o=r===`w`||r===`nw`||r===`sw`?e.x+e.w:i-e.x,s=r===`n`||r===`nw`||r===`ne`?e.y+e.h:a-e.y;return{w:O(t,1,Math.max(1,o)),h:O(n,1,Math.max(1,s))}}},A={name:`minMaxSize`,constrainSize(e,t,n){return{w:O(t,e.minW??1,e.maxW??1/0),h:O(n,e.minH??1,e.maxH??1/0)}}},j={name:`containerBounds`,constrainPosition(e,t,n,{cols:r,maxRows:i,containerHeight:a,rowHeight:o,margin:s}){let c=a>0?Math.floor((a+s[1])/(o+s[1])):i;return{x:O(t,0,Math.max(0,r-e.w)),y:O(n,0,Math.max(0,c-e.h))}}},te=[k,A];function M(e,t,n,r,i){let a={x:n,y:r};for(let n of e)n.constrainPosition&&(a=n.constrainPosition(t,a.x,a.y,i));if(t.constraints)for(let e of t.constraints)e.constrainPosition&&(a=e.constrainPosition(t,a.x,a.y,i));return a}function ne(e,t,n,r,i,a){let o={w:n,h:r};for(let n of e)n.constrainSize&&(o=n.constrainSize(t,o.w,o.h,i,a));if(t.constraints)for(let e of t.constraints)e.constrainSize&&(o=e.constrainSize(t,o.w,o.h,i,a));return o}function re({top:e,left:t,width:n,height:r}){let i=`translate(${t}px,${e}px)`;return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:`${n}px`,height:`${r}px`,position:`absolute`}}function N({top:e,left:t,width:n,height:r}){return{top:`${e}px`,left:`${t}px`,width:`${n}px`,height:`${r}px`,position:`absolute`}}function ie(e){return e*100+`%`}function P(e,t,n,r){return e+n>r?t:n}function F(e,t,n){return e<0?t:n}function I(e){return Math.max(0,e)}function L(e){return Math.max(0,e)}var R=(e,t,n)=>{let{left:r,height:i,width:a}=t,o=e.top-(i-e.height);return{left:r,width:a,height:F(o,e.height,i),top:L(o)}},ae=(e,t,n)=>{let{top:r,left:i,height:a,width:o}=t;return{top:r,height:a,width:P(e.left,e.width,o,n),left:I(i)}},oe=(e,t,n)=>{let{top:r,height:i,width:a}=t,o=e.left+e.width-a;return o<0?{height:i,width:e.left+e.width,top:L(r),left:0}:{height:i,width:a,top:L(r),left:o}},z=(e,t,n)=>{let{top:r,left:i,height:a,width:o}=t;return{width:o,left:i,height:F(r,e.height,a),top:L(r)}},se={n:R,ne:(e,t,n)=>R(e,ae(e,t,n)),e:ae,se:(e,t,n)=>z(e,ae(e,t,n)),s:z,sw:(e,t,n)=>z(e,oe(e,t)),w:oe,nw:(e,t,n)=>R(e,oe(e,t))};function ce(e,t,n,r){let i=se[e];return i?i(t,{...t,...n},r):n}var le={type:`transform`,scale:1,calcStyle(e){return re(e)}},ue={type:`absolute`,scale:1,calcStyle(e){return N(e)}};function de(e){return{type:`transform`,scale:e,calcStyle(e){return re(e)},calcDragPosition(t,n,r,i){return{left:(t-r)/e,top:(n-i)/e}}}}var fe=le,pe={cols:12,rowHeight:150,margin:[10,10],containerPadding:null,maxRows:1/0},me={enabled:!0,bounded:!1,threshold:3},he={enabled:!0,handles:[`se`]},B={enabled:!1,defaultItem:{w:1,h:1}};function ge(e,t,n,r,i){let a=r===`x`?`w`:`h`;t[r]+=1;let o=e.findIndex(e=>e.i===t.i),s=i??x(e).length>0;for(let i=o+1;i<e.length;i++){let o=e[i];if(o!==void 0&&!o.static){if(!s&&o.y>t.y+t.h)break;p(t,o)&&ge(e,o,n+t[a],r,s)}}t[r]=n}function _e(e,t,n,r){for(t.x=Math.max(t.x,0),t.y=Math.max(t.y,0),t.y=Math.min(r,t.y);t.y>0&&!m(e,t);)t.y--;let i;for(;(i=m(e,t))!==void 0;)ge(n,t,i.y+i.h,`y`);return t.y=Math.max(t.y,0),t}function ve(e,t,n,r){for(t.x=Math.max(t.x,0),t.y=Math.max(t.y,0);t.x>0&&!m(e,t);)t.x--;let i;for(;(i=m(e,t))!==void 0;)if(ge(r,t,i.x+i.w,`x`),t.x+t.w>n)for(t.x=n-t.w,t.y++;t.x>0&&!m(e,t);)t.x--;return t.x=Math.max(t.x,0),t}var ye={type:`vertical`,allowOverlap:!1,compact(e,t){let n=x(e),r=y(n),i=_(e),a=Array(e.length);for(let t=0;t<i.length;t++){let o=i[t];if(o===void 0)continue;let s=S(o);s.static||(s=_e(n,s,i,r),r=Math.max(r,s.y+s.h),n.push(s));let c=e.indexOf(o);a[c]=s,s.moved=!1}return a}},V={type:`horizontal`,allowOverlap:!1,compact(e,t){let n=x(e),r=v(e),i=Array(e.length);for(let a=0;a<r.length;a++){let o=r[a];if(o===void 0)continue;let s=S(o);s.static||(s=ve(n,s,t,r),n.push(s));let c=e.indexOf(o);i[c]=s,s.moved=!1}return i}},H={type:null,allowOverlap:!1,compact(e,t){return C(e)}},be={...ye,allowOverlap:!0,compact(e,t){return C(e)}},xe={...V,allowOverlap:!0,compact(e,t){return C(e)}},U={...H,allowOverlap:!0};function Se(e,t=!1,n=!1){let r;return r=t?e===`vertical`?be:e===`horizontal`?xe:U:e===`vertical`?ye:e===`horizontal`?V:H,n?{...r,preventCollision:n}:r}function Ce(e){return Object.keys(e).sort((t,n)=>e[t]-e[n])}function W(e,t){let n=Ce(e),r=n[0];if(r===void 0)throw Error(`No breakpoints defined`);for(let i=1;i<n.length;i++){let a=n[i];a!==void 0&&t>e[a]&&(r=a)}return r}function G(e,t){let n=t[e];if(n===void 0)throw Error(`ResponsiveReactGridLayout: \`cols\` entry for breakpoint ${String(e)} is missing!`);return n}function K(e,t,n,r,i,a){let o=e[n];if(o)return C(o);let s=e[r],c=Ce(t),l=c.slice(c.indexOf(n));for(let t=0;t<l.length;t++){let n=l[t];if(n===void 0)continue;let r=e[n];if(r){s=r;break}}let u=ee(C(s||[]),{cols:i});return(typeof a==`object`&&a?a:Se(a)).compact(u,i)}function we(e,t){if(Array.isArray(e))return e;let n=e,r=n[t];if(r!==void 0)return r;let i=Object.keys(n);for(let e of i){let t=n[e];if(t!==void 0)return t}return[10,10]}var q=n(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),J=n(((e,t)=>{var n=q();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),Y=n(((e,t)=>{t.exports=J()()})),Te=n(((e,t)=>{function n(e){var t,r,i=``;if(typeof e==`string`||typeof e==`number`)i+=e;else if(typeof e==`object`)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=n(e[t]))&&(i&&(i+=` `),i+=r)}else for(r in e)e[r]&&(i&&(i+=` `),i+=r);return i}function r(){for(var e,t,r=0,i=``,a=arguments.length;r<a;r++)(e=arguments[r])&&(t=n(e))&&(i&&(i+=` `),i+=t);return i}t.exports=r,t.exports.clsx=r})),Ee=n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.dontSetMe=a,e.findInArray=t,e.int=i,e.isFunction=n,e.isNum=r;function t(e,t){for(let n=0,r=e.length;n<r;n++)if(t.apply(t,[e[n],n,e]))return e[n]}function n(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Function]`}function r(e){return typeof e==`number`&&!isNaN(e)}function i(e){return parseInt(e,10)}function a(e,t,n){if(e[t])return Error(`Invalid prop ${t} passed to ${n} - do not set this, set it on the child.`)}})),De=n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.browserPrefixToKey=r,e.browserPrefixToStyle=i,e.default=void 0,e.getPrefix=n;var t=[`Moz`,`Webkit`,`O`,`ms`];function n(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`transform`;if(typeof window>`u`)return``;let n=window.document?.documentElement?.style;if(!n||e in n)return``;for(let i=0;i<t.length;i++)if(r(e,t[i])in n)return t[i];return``}function r(e,t){return t?`${t}${a(e)}`:e}function i(e,t){return t?`-${t.toLowerCase()}-${e}`:e}function a(e){let t=``,n=!0;for(let r=0;r<e.length;r++)n?(t+=e[r].toUpperCase(),n=!1):e[r]===`-`?n=!0:t+=e[r];return t}e.default=n()})),X=n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.addClassName=S,e.addEvent=s,e.addUserSelectStyles=y,e.createCSSTransform=m,e.createSVGTransform=h,e.getTouch=_,e.getTouchIdentifier=v,e.getTranslation=g,e.innerHeight=d,e.innerWidth=f,e.matchesSelector=a,e.matchesSelectorAndParentsTo=o,e.offsetXYFromParent=p,e.outerHeight=l,e.outerWidth=u,e.removeClassName=C,e.removeEvent=c,e.scheduleRemoveUserSelectStyles=b;var t=Ee(),n=r(De());function r(e,t){if(typeof WeakMap==`function`)var n=new WeakMap,i=new WeakMap;return(r=function(e,t){if(!t&&e&&e.__esModule)return e;var r,a,o={__proto__:null,default:e};if(e===null||typeof e!=`object`&&typeof e!=`function`)return o;if(r=t?i:n){if(r.has(e))return r.get(e);r.set(e,o)}for(let t in e)t!=="default"&&{}.hasOwnProperty.call(e,t)&&((a=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?r(o,t,a):o[t]=e[t]);return o})(e,t)}var i=``;function a(e,n){return i||=(0,t.findInArray)([`matches`,`webkitMatchesSelector`,`mozMatchesSelector`,`msMatchesSelector`,`oMatchesSelector`],function(n){return(0,t.isFunction)(e[n])}),(0,t.isFunction)(e[i])?e[i](n):!1}function o(e,t,n){let r=e;do{if(a(r,t))return!0;if(r===n)return!1;r=r.parentNode}while(r);return!1}function s(e,t,n,r){if(!e)return;let i={capture:!0,...r};e.addEventListener?e.addEventListener(t,n,i):e.attachEvent?e.attachEvent(`on`+t,n):e[`on`+t]=n}function c(e,t,n,r){if(!e)return;let i={capture:!0,...r};e.removeEventListener?e.removeEventListener(t,n,i):e.detachEvent?e.detachEvent(`on`+t,n):e[`on`+t]=null}function l(e){let n=e.clientHeight,r=e.ownerDocument.defaultView.getComputedStyle(e);return n+=(0,t.int)(r.borderTopWidth),n+=(0,t.int)(r.borderBottomWidth),n}function u(e){let n=e.clientWidth,r=e.ownerDocument.defaultView.getComputedStyle(e);return n+=(0,t.int)(r.borderLeftWidth),n+=(0,t.int)(r.borderRightWidth),n}function d(e){let n=e.clientHeight,r=e.ownerDocument.defaultView.getComputedStyle(e);return n-=(0,t.int)(r.paddingTop),n-=(0,t.int)(r.paddingBottom),n}function f(e){let n=e.clientWidth,r=e.ownerDocument.defaultView.getComputedStyle(e);return n-=(0,t.int)(r.paddingLeft),n-=(0,t.int)(r.paddingRight),n}function p(e,t,n){let r=t===t.ownerDocument.body?{left:0,top:0}:t.getBoundingClientRect();return{x:(e.clientX+t.scrollLeft-r.left)/n,y:(e.clientY+t.scrollTop-r.top)/n}}function m(e,t){let r=g(e,t,`px`);return{[(0,n.browserPrefixToKey)(`transform`,n.default)]:r}}function h(e,t){return g(e,t,``)}function g(e,t,n){let{x:r,y:i}=e,a=`translate(${r}${n},${i}${n})`;return t&&(a=`translate(${`${typeof t.x==`string`?t.x:t.x+n}`}, ${`${typeof t.y==`string`?t.y:t.y+n}`})`+a),a}function _(e,n){return e.targetTouches&&(0,t.findInArray)(e.targetTouches,e=>n===e.identifier)||e.changedTouches&&(0,t.findInArray)(e.changedTouches,e=>n===e.identifier)}function v(e){if(e.targetTouches&&e.targetTouches[0])return e.targetTouches[0].identifier;if(e.changedTouches&&e.changedTouches[0])return e.changedTouches[0].identifier}function y(e){if(!e)return;let t=e.getElementById(`react-draggable-style-el`);t||(t=e.createElement(`style`),t.type=`text/css`,t.id=`react-draggable-style-el`,t.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
2
+ `,t.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
3
+ `,e.getElementsByTagName(`head`)[0].appendChild(t)),e.body&&S(e.body,`react-draggable-transparent-selection`)}function b(e){window.requestAnimationFrame?window.requestAnimationFrame(()=>{x(e)}):x(e)}function x(e){if(e)try{if(e.body&&C(e.body,`react-draggable-transparent-selection`),e.selection)e.selection.empty();else{let t=(e.defaultView||window).getSelection();t&&t.type!==`Caret`&&t.removeAllRanges()}}catch{}}function S(e,t){e.classList?e.classList.add(t):e.className.match(RegExp(`(?:^|\\s)${t}(?!\\S)`))||(e.className+=` ${t}`)}function C(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(RegExp(`(?:^|\\s)${t}(?!\\S)`,`g`),``)}})),Oe=n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.canDragX=a,e.canDragY=o,e.createCoreData=c,e.createDraggableData=l,e.getBoundPosition=r,e.getControlPosition=s,e.snapToGrid=i;var t=Ee(),n=X();function r(e,r,i){if(!e.props.bounds)return[r,i];let{bounds:a}=e.props;a=typeof a==`string`?a:u(a);let o=d(e);if(typeof a==`string`){let{ownerDocument:e}=o,r=e.defaultView,i;if(i=a===`parent`?o.parentNode:o.getRootNode().querySelector(a),!(i instanceof r.HTMLElement))throw Error(`Bounds selector "`+a+`" could not find an element.`);let s=i,c=r.getComputedStyle(o),l=r.getComputedStyle(s);a={left:-o.offsetLeft+(0,t.int)(l.paddingLeft)+(0,t.int)(c.marginLeft),top:-o.offsetTop+(0,t.int)(l.paddingTop)+(0,t.int)(c.marginTop),right:(0,n.innerWidth)(s)-(0,n.outerWidth)(o)-o.offsetLeft+(0,t.int)(l.paddingRight)-(0,t.int)(c.marginRight),bottom:(0,n.innerHeight)(s)-(0,n.outerHeight)(o)-o.offsetTop+(0,t.int)(l.paddingBottom)-(0,t.int)(c.marginBottom)}}return(0,t.isNum)(a.right)&&(r=Math.min(r,a.right)),(0,t.isNum)(a.bottom)&&(i=Math.min(i,a.bottom)),(0,t.isNum)(a.left)&&(r=Math.max(r,a.left)),(0,t.isNum)(a.top)&&(i=Math.max(i,a.top)),[r,i]}function i(e,t,n){return[Math.round(t/e[0])*e[0],Math.round(n/e[1])*e[1]]}function a(e){return e.props.axis===`both`||e.props.axis===`x`}function o(e){return e.props.axis===`both`||e.props.axis===`y`}function s(e,t,r){let i=typeof t==`number`?(0,n.getTouch)(e,t):null;if(typeof t==`number`&&!i)return null;let a=d(r),o=r.props.offsetParent||a.offsetParent||a.ownerDocument.body;return(0,n.offsetXYFromParent)(i||e,o,r.props.scale)}function c(e,n,r){let i=!(0,t.isNum)(e.lastX),a=d(e);return i?{node:a,deltaX:0,deltaY:0,lastX:n,lastY:r,x:n,y:r}:{node:a,deltaX:n-e.lastX,deltaY:r-e.lastY,lastX:e.lastX,lastY:e.lastY,x:n,y:r}}function l(e,t){let n=e.props.scale;return{node:t.node,x:e.state.x+t.deltaX/n,y:e.state.y+t.deltaY/n,deltaX:t.deltaX/n,deltaY:t.deltaY/n,lastX:e.state.x,lastY:e.state.y}}function u(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom}}function d(e){let t=e.findDOMNode();if(!t)throw Error(`<DraggableCore>: Unmounted during event!`);return t}})),ke=n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=t;function t(){}})),Ae=n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=d(t()),r=u(Y()),a=u(i()),o=X(),s=Oe(),c=Ee(),l=u(ke());function u(e){return e&&e.__esModule?e:{default:e}}function d(e,t){if(typeof WeakMap==`function`)var n=new WeakMap,r=new WeakMap;return(d=function(e,t){if(!t&&e&&e.__esModule)return e;var i,a,o={__proto__:null,default:e};if(e===null||typeof e!=`object`&&typeof e!=`function`)return o;if(i=t?r:n){if(i.has(e))return i.get(e);i.set(e,o)}for(let t in e)t!=="default"&&{}.hasOwnProperty.call(e,t)&&((a=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?i(o,t,a):o[t]=e[t]);return o})(e,t)}function f(e,t,n){return(t=p(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e){var t=m(e,`string`);return typeof t==`symbol`?t:t+``}function m(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var h={touch:{start:`touchstart`,move:`touchmove`,stop:`touchend`},mouse:{start:`mousedown`,move:`mousemove`,stop:`mouseup`}},g=h.mouse,_=class extends n.Component{constructor(){super(...arguments),f(this,`dragging`,!1),f(this,`lastX`,NaN),f(this,`lastY`,NaN),f(this,`touchIdentifier`,null),f(this,`mounted`,!1),f(this,`handleDragStart`,e=>{if(this.props.onMouseDown(e),!this.props.allowAnyClick&&typeof e.button==`number`&&e.button!==0)return!1;let t=this.findDOMNode();if(!t||!t.ownerDocument||!t.ownerDocument.body)throw Error(`<DraggableCore> not mounted on DragStart!`);let{ownerDocument:n}=t;if(this.props.disabled||!(e.target instanceof n.defaultView.Node)||this.props.handle&&!(0,o.matchesSelectorAndParentsTo)(e.target,this.props.handle,t)||this.props.cancel&&(0,o.matchesSelectorAndParentsTo)(e.target,this.props.cancel,t))return;e.type===`touchstart`&&!this.props.allowMobileScroll&&e.preventDefault();let r=(0,o.getTouchIdentifier)(e);this.touchIdentifier=r;let i=(0,s.getControlPosition)(e,r,this);if(i==null)return;let{x:a,y:c}=i,u=(0,s.createCoreData)(this,a,c);(0,l.default)(`DraggableCore: handleDragStart: %j`,u),(0,l.default)(`calling`,this.props.onStart),!(this.props.onStart(e,u)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,o.addUserSelectStyles)(n),this.dragging=!0,this.lastX=a,this.lastY=c,(0,o.addEvent)(n,g.move,this.handleDrag),(0,o.addEvent)(n,g.stop,this.handleDragStop))}),f(this,`handleDrag`,e=>{let t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(t==null)return;let{x:n,y:r}=t;if(Array.isArray(this.props.grid)){let e=n-this.lastX,t=r-this.lastY;if([e,t]=(0,s.snapToGrid)(this.props.grid,e,t),!e&&!t)return;n=this.lastX+e,r=this.lastY+t}let i=(0,s.createCoreData)(this,n,r);if((0,l.default)(`DraggableCore: handleDrag: %j`,i),this.props.onDrag(e,i)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent(`mouseup`))}catch{let e=document.createEvent(`MouseEvents`);e.initMouseEvent(`mouseup`,!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(e)}return}this.lastX=n,this.lastY=r}),f(this,`handleDragStop`,e=>{if(!this.dragging)return;let t=(0,s.getControlPosition)(e,this.touchIdentifier,this);if(t==null)return;let{x:n,y:r}=t;if(Array.isArray(this.props.grid)){let e=n-this.lastX||0,t=r-this.lastY||0;[e,t]=(0,s.snapToGrid)(this.props.grid,e,t),n=this.lastX+e,r=this.lastY+t}let i=(0,s.createCoreData)(this,n,r);if(this.props.onStop(e,i)===!1||this.mounted===!1)return!1;let a=this.findDOMNode();a&&this.props.enableUserSelectHack&&(0,o.scheduleRemoveUserSelectStyles)(a.ownerDocument),(0,l.default)(`DraggableCore: handleDragStop: %j`,i),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,a&&((0,l.default)(`DraggableCore: Removing handlers`),(0,o.removeEvent)(a.ownerDocument,g.move,this.handleDrag),(0,o.removeEvent)(a.ownerDocument,g.stop,this.handleDragStop))}),f(this,`onMouseDown`,e=>(g=h.mouse,this.handleDragStart(e))),f(this,`onMouseUp`,e=>(g=h.mouse,this.handleDragStop(e))),f(this,`onTouchStart`,e=>(g=h.touch,this.handleDragStart(e))),f(this,`onTouchEnd`,e=>(g=h.touch,this.handleDragStop(e)))}componentDidMount(){this.mounted=!0;let e=this.findDOMNode();e&&(0,o.addEvent)(e,h.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;let e=this.findDOMNode();if(e){let{ownerDocument:t}=e;(0,o.removeEvent)(t,h.mouse.move,this.handleDrag),(0,o.removeEvent)(t,h.touch.move,this.handleDrag),(0,o.removeEvent)(t,h.mouse.stop,this.handleDragStop),(0,o.removeEvent)(t,h.touch.stop,this.handleDragStop),(0,o.removeEvent)(e,h.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,o.scheduleRemoveUserSelectStyles)(t)}}findDOMNode(){return this.props?.nodeRef?this.props?.nodeRef?.current:a.default.findDOMNode(this)}render(){return n.cloneElement(n.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};e.default=_,f(_,`displayName`,`DraggableCore`),f(_,`propTypes`,{allowAnyClick:r.default.bool,allowMobileScroll:r.default.bool,children:r.default.node.isRequired,disabled:r.default.bool,enableUserSelectHack:r.default.bool,offsetParent:function(e,t){if(e[t]&&e[t].nodeType!==1)throw Error(`Draggable's offsetParent must be a DOM Node.`)},grid:r.default.arrayOf(r.default.number),handle:r.default.string,cancel:r.default.string,nodeRef:r.default.object,onStart:r.default.func,onDrag:r.default.func,onStop:r.default.func,onMouseDown:r.default.func,scale:r.default.number,className:c.dontSetMe,style:c.dontSetMe,transform:c.dontSetMe}),f(_,`defaultProps`,{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1})})),je=n((e=>{Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"DraggableCore",{enumerable:!0,get:function(){return u.default}}),e.default=void 0;var n=p(t()),r=f(Y()),a=f(i()),o=Te(),s=X(),c=Oe(),l=Ee(),u=f(Ae()),d=f(ke());function f(e){return e&&e.__esModule?e:{default:e}}function p(e,t){if(typeof WeakMap==`function`)var n=new WeakMap,r=new WeakMap;return(p=function(e,t){if(!t&&e&&e.__esModule)return e;var i,a,o={__proto__:null,default:e};if(e===null||typeof e!=`object`&&typeof e!=`function`)return o;if(i=t?r:n){if(i.has(e))return i.get(e);i.set(e,o)}for(let t in e)t!=="default"&&{}.hasOwnProperty.call(e,t)&&((a=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?i(o,t,a):o[t]=e[t]);return o})(e,t)}function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(null,arguments)}function h(e,t,n){return(t=g(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e){var t=_(e,`string`);return typeof t==`symbol`?t:t+``}function _(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var v=class extends n.Component{static getDerivedStateFromProps(e,t){let{position:n}=e,{prevPropsPosition:r}=t;return n&&(!r||n.x!==r.x||n.y!==r.y)?((0,d.default)(`Draggable: getDerivedStateFromProps %j`,{position:n,prevPropsPosition:r}),{x:n.x,y:n.y,prevPropsPosition:{...n}}):null}constructor(e){super(e),h(this,`onDragStart`,(e,t)=>{if((0,d.default)(`Draggable: onDragStart: %j`,t),this.props.onStart(e,(0,c.createDraggableData)(this,t))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),h(this,`onDrag`,(e,t)=>{if(!this.state.dragging)return!1;(0,d.default)(`Draggable: onDrag: %j`,t);let n=(0,c.createDraggableData)(this,t),r={x:n.x,y:n.y,slackX:0,slackY:0};if(this.props.bounds){let{x:e,y:t}=r;r.x+=this.state.slackX,r.y+=this.state.slackY;let[i,a]=(0,c.getBoundPosition)(this,r.x,r.y);r.x=i,r.y=a,r.slackX=this.state.slackX+(e-r.x),r.slackY=this.state.slackY+(t-r.y),n.x=r.x,n.y=r.y,n.deltaX=r.x-this.state.x,n.deltaY=r.y-this.state.y}if(this.props.onDrag(e,n)===!1)return!1;this.setState(r)}),h(this,`onDragStop`,(e,t)=>{if(!this.state.dragging||this.props.onStop(e,(0,c.createDraggableData)(this,t))===!1)return!1;(0,d.default)(`Draggable: onDragStop: %j`,t);let n={dragging:!1,slackX:0,slackY:0};if(this.props.position){let{x:e,y:t}=this.props.position;n.x=e,n.y=t}this.setState(n)}),this.state={dragging:!1,dragged:!1,x:e.position?e.position.x:e.defaultPosition.x,y:e.position?e.position.y:e.defaultPosition.y,prevPropsPosition:{...e.position},slackX:0,slackY:0,isElementSVG:!1},e.position&&!(e.onDrag||e.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){window.SVGElement!==void 0&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){return this.props?.nodeRef?.current??a.default.findDOMNode(this)}render(){let{axis:e,bounds:t,children:r,defaultPosition:i,defaultClassName:a,defaultClassNameDragging:l,defaultClassNameDragged:d,position:f,positionOffset:p,scale:h,...g}=this.props,_={},v=null,y=!f||this.state.dragging,b=f||i,x={x:(0,c.canDragX)(this)&&y?this.state.x:b.x,y:(0,c.canDragY)(this)&&y?this.state.y:b.y};this.state.isElementSVG?v=(0,s.createSVGTransform)(x,p):_=(0,s.createCSSTransform)(x,p);let S=(0,o.clsx)(r.props.className||``,a,{[l]:this.state.dragging,[d]:this.state.dragged});return n.createElement(u.default,m({},g,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),n.cloneElement(n.Children.only(r),{className:S,style:{...r.props.style,..._},transform:v}))}};e.default=v,h(v,`displayName`,`Draggable`),h(v,`propTypes`,{...u.default.propTypes,axis:r.default.oneOf([`both`,`x`,`y`,`none`]),bounds:r.default.oneOfType([r.default.shape({left:r.default.number,right:r.default.number,top:r.default.number,bottom:r.default.number}),r.default.string,r.default.oneOf([!1])]),defaultClassName:r.default.string,defaultClassNameDragging:r.default.string,defaultClassNameDragged:r.default.string,defaultPosition:r.default.shape({x:r.default.number,y:r.default.number}),positionOffset:r.default.shape({x:r.default.oneOfType([r.default.number,r.default.string]),y:r.default.oneOfType([r.default.number,r.default.string])}),position:r.default.shape({x:r.default.number,y:r.default.number}),className:l.dontSetMe,style:l.dontSetMe,transform:l.dontSetMe}),h(v,`defaultProps`,{...u.default.defaultProps,axis:`both`,bounds:!1,defaultClassName:`react-draggable`,defaultClassNameDragging:`react-draggable-dragging`,defaultClassNameDragged:`react-draggable-dragged`,defaultPosition:{x:0,y:0},scale:1})})),Me=n(((e,t)=>{var{default:n,DraggableCore:r}=je();t.exports=n,t.exports.default=n,t.exports.DraggableCore=r})),Ne=n((e=>{e.__esModule=!0,e.cloneElement=l;var n=r(t());function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?i(Object(n),!0).forEach(function(t){o(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e){var t=c(e,`string`);return typeof t==`symbol`?t:t+``}function c(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function l(e,t){return t.style&&e.props.style&&(t.style=a(a({},e.props.style),t.style)),t.className&&e.props.className&&(t.className=`${e.props.className} ${t.className}`),n.default.cloneElement(e,t)}})),Pe=n((e=>{e.__esModule=!0,e.resizableProps=void 0;var t=n(Y());Me();function n(e){return e&&e.__esModule?e:{default:e}}e.resizableProps={axis:t.default.oneOf([`both`,`x`,`y`,`none`]),className:t.default.string,children:t.default.element.isRequired,draggableOpts:t.default.shape({allowAnyClick:t.default.bool,cancel:t.default.string,children:t.default.node,disabled:t.default.bool,enableUserSelectHack:t.default.bool,offsetParent:typeof Element<`u`?t.default.instanceOf(Element):t.default.any,grid:t.default.arrayOf(t.default.number),handle:t.default.string,nodeRef:t.default.object,onStart:t.default.func,onDrag:t.default.func,onStop:t.default.func,onMouseDown:t.default.func,scale:t.default.number}),height:function(){var e=[...arguments];let[n]=e;return n.axis===`both`||n.axis===`y`?t.default.number.isRequired(...e):t.default.number(...e)},handle:t.default.oneOfType([t.default.node,t.default.func]),handleSize:t.default.arrayOf(t.default.number),lockAspectRatio:t.default.bool,maxConstraints:t.default.arrayOf(t.default.number),minConstraints:t.default.arrayOf(t.default.number),onResizeStop:t.default.func,onResizeStart:t.default.func,onResize:t.default.func,resizeHandles:t.default.arrayOf(t.default.oneOf([`s`,`w`,`e`,`n`,`sw`,`nw`,`se`,`ne`])),transformScale:t.default.number,width:function(){var e=[...arguments];let[n]=e;return n.axis===`both`||n.axis===`x`?t.default.number.isRequired(...e):t.default.number(...e)}}})),Fe=n((e=>{e.__esModule=!0,e.default=void 0;var n=s(t()),r=Me(),i=Ne(),a=Pe(),o=[`children`,`className`,`draggableOpts`,`width`,`height`,`handle`,`handleSize`,`lockAspectRatio`,`axis`,`minConstraints`,`maxConstraints`,`onResize`,`onResizeStop`,`onResizeStart`,`resizeHandles`,`transformScale`];function s(e,t){if(typeof WeakMap==`function`)var n=new WeakMap,r=new WeakMap;return(s=function(e,t){if(!t&&e&&e.__esModule)return e;var i,a,o={__proto__:null,default:e};if(e===null||typeof e!=`object`&&typeof e!=`function`)return o;if(i=t?r:n){if(i.has(e))return i.get(e);i.set(e,o)}for(let t in e)t!=="default"&&{}.hasOwnProperty.call(e,t)&&((a=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?i(o,t,a):o[t]=e[t]);return o})(e,t)}function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c.apply(null,arguments)}function l(e,t){if(e==null)return{};var n,r,i=u(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function u(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?d(Object(n),!0).forEach(function(t){p(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function p(e,t,n){return(t=m(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){var t=h(e,`string`);return typeof t==`symbol`?t:t+``}function h(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var g=class extends n.Component{constructor(){super(...arguments),this.handleRefs={},this.lastHandleRect=null,this.slack=null,this.lastSize=null}componentWillUnmount(){this.resetData()}resetData(){this.lastHandleRect=this.slack=this.lastSize=null}runConstraints(e,t){let{minConstraints:n,maxConstraints:r,lockAspectRatio:i}=this.props;if(!n&&!r&&!i)return[e,t];if(i){let n=this.props.width/this.props.height,r=e-this.props.width,i=t-this.props.height;Math.abs(r)>Math.abs(i*n)?t=e/n:e=t*n}let[a,o]=[e,t],[s,c]=this.slack||[0,0];return e+=s,t+=c,n&&(e=Math.max(n[0],e),t=Math.max(n[1],t)),r&&(e=Math.min(r[0],e),t=Math.min(r[1],t)),this.slack=[s+(a-e),c+(o-t)],[e,t]}resizeHandler(e,t){return(n,r)=>{let{node:i,deltaX:a,deltaY:o}=r;e===`onResizeStart`&&this.resetData();let s=(this.props.axis===`both`||this.props.axis===`x`)&&t!==`n`&&t!==`s`,c=(this.props.axis===`both`||this.props.axis===`y`)&&t!==`e`&&t!==`w`;if(!s&&!c)return;let l=t[0],u=t[t.length-1],d=i.getBoundingClientRect();if(this.lastHandleRect!=null){if(u===`w`){let e=d.left-this.lastHandleRect.left;a+=e}if(l===`n`){let e=d.top-this.lastHandleRect.top;o+=e}}this.lastHandleRect=d,u===`w`&&(a=-a),l===`n`&&(o=-o);let f=this.props.width+(s?a/this.props.transformScale:0),p=this.props.height+(c?o/this.props.transformScale:0);[f,p]=this.runConstraints(f,p),e===`onResizeStop`&&this.lastSize&&({width:f,height:p}=this.lastSize);let m=f!==this.props.width||p!==this.props.height;e!==`onResizeStop`&&(this.lastSize={width:f,height:p});let h=typeof this.props[e]==`function`?this.props[e]:null;h&&!(e===`onResize`&&!m)&&(n.persist?.(),h(n,{node:i,size:{width:f,height:p},handle:t})),e===`onResizeStop`&&this.resetData()}}renderResizeHandle(e,t){let{handle:r}=this.props;if(!r)return n.createElement(`span`,{className:`react-resizable-handle react-resizable-handle-${e}`,ref:t});if(typeof r==`function`)return r(e,t);let i=typeof r.type==`string`,a=f({ref:t},i?{}:{handleAxis:e});return n.cloneElement(r,a)}render(){let e=this.props,{children:t,className:a,draggableOpts:s,width:u,height:d,handle:p,handleSize:m,lockAspectRatio:h,axis:g,minConstraints:_,maxConstraints:v,onResize:y,onResizeStop:b,onResizeStart:x,resizeHandles:S,transformScale:C}=e,w=l(e,o);return(0,i.cloneElement)(t,f(f({},w),{},{className:`${a?`${a} `:``}react-resizable`,children:[...n.Children.toArray(t.props.children),...S.map(e=>{let t=this.handleRefs[e]??(this.handleRefs[e]=n.createRef());return n.createElement(r.DraggableCore,c({},s,{nodeRef:t,key:`resizableHandle-${e}`,onStop:this.resizeHandler(`onResizeStop`,e),onStart:this.resizeHandler(`onResizeStart`,e),onDrag:this.resizeHandler(`onResize`,e)}),this.renderResizeHandle(e,t))})]}))}};e.default=g,g.propTypes=a.resizableProps,g.defaultProps={axis:`both`,handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:[`se`],transformScale:1}})),Ie=n((e=>{e.__esModule=!0,e.default=void 0;var n=c(t()),r=s(Y()),i=s(Fe()),a=Pe(),o=[`handle`,`handleSize`,`onResize`,`onResizeStart`,`onResizeStop`,`draggableOpts`,`minConstraints`,`maxConstraints`,`lockAspectRatio`,`axis`,`width`,`height`,`resizeHandles`,`style`,`transformScale`];function s(e){return e&&e.__esModule?e:{default:e}}function c(e,t){if(typeof WeakMap==`function`)var n=new WeakMap,r=new WeakMap;return(c=function(e,t){if(!t&&e&&e.__esModule)return e;var i,a,o={__proto__:null,default:e};if(e===null||typeof e!=`object`&&typeof e!=`function`)return o;if(i=t?r:n){if(i.has(e))return i.get(e);i.set(e,o)}for(let t in e)t!=="default"&&{}.hasOwnProperty.call(e,t)&&((a=(i=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?i(o,t,a):o[t]=e[t]);return o})(e,t)}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(null,arguments)}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?u(Object(n),!0).forEach(function(t){f(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function f(e,t,n){return(t=p(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e){var t=m(e,`string`);return typeof t==`symbol`?t:t+``}function m(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function h(e,t){if(e==null)return{};var n,r,i=g(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function g(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var _=class extends n.Component{constructor(){super(...arguments),this.state={width:this.props.width,height:this.props.height,propsWidth:this.props.width,propsHeight:this.props.height},this.onResize=(e,t)=>{let{size:n}=t;this.props.onResize?(e.persist?.(),this.setState(n,()=>this.props.onResize&&this.props.onResize(e,t))):this.setState(n)}}static getDerivedStateFromProps(e,t){return t.propsWidth!==e.width||t.propsHeight!==e.height?{width:e.width,height:e.height,propsWidth:e.width,propsHeight:e.height}:null}render(){let e=this.props,{handle:t,handleSize:r,onResize:a,onResizeStart:s,onResizeStop:c,draggableOpts:u,minConstraints:f,maxConstraints:p,lockAspectRatio:m,axis:g,width:_,height:v,resizeHandles:y,style:b,transformScale:x}=e,S=h(e,o);return n.createElement(i.default,{axis:g,draggableOpts:u,handle:t,handleSize:r,height:this.state.height,lockAspectRatio:m,maxConstraints:p,minConstraints:f,onResizeStart:s,onResize:this.onResize,onResizeStop:c,resizeHandles:y,transformScale:x,width:this.state.width},n.createElement(`div`,l({},S,{style:d(d({},b),{},{width:this.state.width+`px`,height:this.state.height+`px`})})))}};e.default=_,_.propTypes=d(d({},a.resizableProps),{},{children:r.default.element})})),Le=n(((e,t)=>{t.exports=function(){throw Error(`Don't instantiate Resizable directly! Use require('react-resizable').Resizable`)},t.exports.Resizable=Fe().default,t.exports.ResizableBox=Ie().default})),Re=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):(n=typeof globalThis<`u`?globalThis:n||self,r(n[`fast-equals`]={}))})(e,(function(e){function t(e){return function(t,n,r,i,a,o,s){return e(t,n,s)}}function n(e){return function(t,n,r,i){if(!t||!n||typeof t!=`object`||typeof n!=`object`)return e(t,n,r,i);var a=i.get(t),o=i.get(n);if(a&&o)return a===n&&o===t;i.set(t,n),i.set(n,t);var s=e(t,n,r,i);return i.delete(t),i.delete(n),s}}function r(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n}function i(e){return e.constructor===Object||e.constructor==null}function a(e){return typeof e.then==`function`}function o(e,t){return e===t||e!==e&&t!==t}var s=Object.prototype.toString;function c(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areMapsEqual,c=e.areObjectsEqual,l=e.areRegExpsEqual,u=e.areSetsEqual,d=e.createIsNestedEqual,f=d(p);function p(e,d,p){if(e===d)return!0;if(!e||!d||typeof e!=`object`||typeof d!=`object`)return e!==e&&d!==d;if(i(e)&&i(d))return c(e,d,f,p);var m=Array.isArray(e),h=Array.isArray(d);if(m||h)return m===h&&t(e,d,f,p);var g=s.call(e);return g===s.call(d)?g===`[object Date]`?n(e,d,f,p):g===`[object RegExp]`?l(e,d,f,p):g===`[object Map]`?r(e,d,f,p):g===`[object Set]`?u(e,d,f,p):g===`[object Object]`||g===`[object Arguments]`?a(e)||a(d)?!1:c(e,d,f,p):g===`[object Boolean]`||g===`[object Number]`||g===`[object String]`?o(e.valueOf(),d.valueOf()):!1:!1}return p}function l(e,t,n,r){var i=e.length;if(t.length!==i)return!1;for(;i-->0;)if(!n(e[i],t[i],i,i,e,t,r))return!1;return!0}var u=n(l);function d(e,t){return o(e.valueOf(),t.valueOf())}function f(e,t,n,r){var i=e.size===t.size;if(!i)return!1;if(!e.size)return!0;var a={},o=0;return e.forEach(function(s,c){if(i){var l=!1,u=0;t.forEach(function(i,d){!l&&!a[u]&&(l=n(c,d,o,u,e,t,r)&&n(s,i,c,d,e,t,r))&&(a[u]=!0),u++}),o++,i=l}}),i}var p=n(f),m=`_owner`,h=Object.prototype.hasOwnProperty;function g(e,t,n,r){var i=Object.keys(e),a=i.length;if(Object.keys(t).length!==a)return!1;for(var o;a-->0;){if(o=i[a],o===m){var s=!!e.$$typeof,c=!!t.$$typeof;if((s||c)&&s!==c)return!1}if(!h.call(t,o)||!n(e[o],t[o],o,o,e,t,r))return!1}return!0}var _=n(g);function v(e,t){return e.source===t.source&&e.flags===t.flags}function y(e,t,n,r){var i=e.size===t.size;if(!i)return!1;if(!e.size)return!0;var a={};return e.forEach(function(o,s){if(i){var c=!1,l=0;t.forEach(function(i,u){!c&&!a[l]&&(c=n(o,i,s,u,e,t,r))&&(a[l]=!0),l++}),i=c}}),i}var b=n(y),x=Object.freeze({areArraysEqual:l,areDatesEqual:d,areMapsEqual:f,areObjectsEqual:g,areRegExpsEqual:v,areSetsEqual:y,createIsNestedEqual:t}),S=Object.freeze({areArraysEqual:u,areDatesEqual:d,areMapsEqual:p,areObjectsEqual:_,areRegExpsEqual:v,areSetsEqual:b,createIsNestedEqual:t}),C=c(x);function w(e,t){return C(e,t,void 0)}var T=c(r(x,{createIsNestedEqual:function(){return o}}));function ee(e,t){return T(e,t,void 0)}var E=c(S);function D(e,t){return E(e,t,new WeakMap)}var O=c(r(S,{createIsNestedEqual:function(){return o}}));function k(e,t){return O(e,t,new WeakMap)}function A(e){return c(r(x,e(x)))}function j(e){var t=c(r(S,e(S)));return(function(e,n,r){return r===void 0&&(r=new WeakMap),t(e,n,r)})}e.circularDeepEqual=D,e.circularShallowEqual=k,e.createCustomCircularEqual=j,e.createCustomEqual=A,e.deepEqual=w,e.sameValueZeroEqual=o,e.shallowEqual=ee,Object.defineProperty(e,"__esModule",{value:!0})}))})),Z=e(t(),1),Q=Me(),ze=Le(),Be=r(),$=Re();function Ve(e){let{children:t,cols:n,containerWidth:r,margin:i,containerPadding:l,rowHeight:p,maxRows:m,isDraggable:h,isResizable:g,isBounded:_,static:v,useCSSTransforms:y=!0,usePercentages:b=!1,transformScale:x=1,positionStrategy:S,dragThreshold:C=0,droppingPosition:w,className:T=``,style:ee,handle:E=``,cancel:D=``,x:O,y:k,w:A,h:j,minW:P=1,maxW:F=1/0,minH:I=1,maxH:L=1/0,i:R,resizeHandles:ae,resizeHandle:oe,constraints:z=te,layoutItem:se,layout:le=[],onDragStart:ue,onDrag:de,onDragStop:fe,onResizeStart:pe,onResize:me,onResizeStop:he}=e,[B,ge]=(0,Z.useState)(!1),[_e,ve]=(0,Z.useState)(!1),ye=(0,Z.useRef)(null),V=(0,Z.useRef)({left:0,top:0}),H=(0,Z.useRef)({top:0,left:0,width:0,height:0}),be=(0,Z.useRef)(void 0),xe=(0,Z.useRef)(le);xe.current=le;let U=(0,Z.useRef)(null),Se=(0,Z.useRef)(null),Ce=(0,Z.useRef)(!1),W=(0,Z.useRef)({x:0,y:0}),G=(0,Z.useRef)(!1),K=(0,Z.useMemo)(()=>({cols:n,containerPadding:l,containerWidth:r,margin:i,maxRows:m,rowHeight:p}),[n,l,r,i,m,p]),we=(0,Z.useMemo)(()=>({cols:n,maxRows:m,containerWidth:r,containerHeight:0,rowHeight:p,margin:i,layout:[]}),[n,m,r,p,i]),q=(0,Z.useCallback)(()=>({...we,layout:xe.current}),[we]),J=(0,Z.useMemo)(()=>se??{i:R,x:O,y:k,w:A,h:j,minW:P,maxW:F,minH:I,maxH:L},[se,R,O,k,A,j,P,F,I,L]),Y=(0,Z.useCallback)(e=>{if(S?.calcStyle)return S.calcStyle(e);if(y)return re(e);let t=N(e);return b?{...t,left:ie(e.left/r),width:ie(e.width/r)}:t},[S,y,b,r]),Te=(0,Z.useCallback)((e,{node:t})=>{if(!ue)return;let{offsetParent:n}=t;if(!n)return;let r=n.getBoundingClientRect(),i=t.getBoundingClientRect(),a=i.left/x,o=r.left/x,s=i.top/x,c=r.top/x,l;if(S?.calcDragPosition){let t=e;l=S.calcDragPosition(t.clientX,t.clientY,t.clientX-i.left,t.clientY-i.top)}else l={left:a-o+n.scrollLeft,top:s-c+n.scrollTop};if(V.current=l,C>0){let t=e;W.current={x:t.clientX,y:t.clientY},Ce.current=!0,G.current=!1,ge(!0);return}ge(!0);let d=u(K,l.top,l.left),{x:f,y:p}=M(z,J,d.x,d.y,q());ue(R,f,p,{e,node:t,newPosition:l})},[ue,x,K,S,C,z,J,q,R]),Ee=(0,Z.useCallback)((e,{node:t,deltaX:n,deltaY:a})=>{if(!de||!B)return;let c=e;if(Ce.current&&!G.current){let n=c.clientX-W.current.x,r=c.clientY-W.current.y;if(Math.hypot(n,r)<C)return;if(G.current=!0,Ce.current=!1,ue){let n=u(K,V.current.top,V.current.left),{x:r,y:i}=M(z,J,n.x,n.y,q());ue(R,r,i,{e,node:t,newPosition:V.current})}}let l=V.current.top+a,d=V.current.left+n;if(_){let{offsetParent:e}=t;if(e){let t=e.clientHeight-s(j,p,i[1]);l=f(l,0,t);let n=o(K),a=r-s(A,n,i[0]);d=f(d,0,a)}}let m={top:l,left:d};V.current=m;let h=u(K,l,d),{x:g,y:v}=M(z,J,h.x,h.y,q());de(R,g,v,{e,node:t,newPosition:m})},[de,ue,B,C,_,j,p,i,K,r,A,R,z,J,q]),De=(0,Z.useCallback)((e,{node:t})=>{if(!fe||!B)return;let n=Ce.current;if(Ce.current=!1,G.current=!1,W.current={x:0,y:0},n){ge(!1),V.current={left:0,top:0};return}let{left:r,top:i}=V.current,a={top:i,left:r};ge(!1),V.current={left:0,top:0};let o=u(K,i,r),{x:s,y:c}=M(z,J,o.x,o.y,q());fe(R,s,c,{e,node:t,newPosition:a})},[fe,B,K,z,J,q,R]);U.current=Te,Se.current=Ee;let X=(0,Z.useCallback)((e,{node:t,size:n,handle:i},a,o)=>{let s=o===`onResizeStart`?pe:o===`onResize`?me:he;if(!s)return;let c;c=t?ce(i,a,n,r):{...n,top:a.top,left:a.left},H.current=c;let l=d(K,c.width,c.height),{w:u,h:f}=ne(z,J,l.w,l.h,i,q());s(R,u,f,{e:e.nativeEvent,node:t,size:c,handle:i})},[pe,me,he,r,K,R,z,J,q]),Oe=(0,Z.useCallback)((e,t)=>{ve(!0);let n=c(K,O,k,A,j),r={...t,handle:t.handle};X(e,r,n,`onResizeStart`)},[X,K,O,k,A,j]),ke=(0,Z.useCallback)((e,t)=>{let n=c(K,O,k,A,j),r={...t,handle:t.handle};X(e,r,n,`onResize`)},[X,K,O,k,A,j]),Ae=(0,Z.useCallback)((e,t)=>{ve(!1),H.current={top:0,left:0,width:0,height:0};let n=c(K,O,k,A,j),r={...t,handle:t.handle};X(e,r,n,`onResizeStop`)},[X,K,O,k,A,j]);(0,Z.useEffect)(()=>{if(!w)return;let e=ye.current;if(!e)return;let t=be.current||{left:0,top:0},n=B&&(w.left!==t.left||w.top!==t.top);if(!B){let t={node:e,deltaX:w.left,deltaY:w.top,lastX:0,lastY:0,x:w.left,y:w.top};U.current?.(w.e,t)}else if(n){let t={node:e,deltaX:w.left-V.current.left,deltaY:w.top-V.current.top,lastX:V.current.left,lastY:V.current.top,x:w.left,y:w.top};Se.current?.(w.e,t)}be.current=w},[w,B,R]);let je=c(K,O,k,A,j,B?V.current:null,_e?H.current:null),Me=Z.Children.only(t),Ne=o(K),Pe=[s(P,Ne,i[0]),s(I,p,i[1])],Fe=[s(F,Ne,i[0]),s(L,p,i[1])],Ie=Me.props,Le=Ie.className,Re=Ie.style,$=Z.cloneElement(Me,{ref:ye,className:a(`react-grid-item`,Le,T,{static:v,resizing:_e,"react-draggable":h,"react-draggable-dragging":B,dropping:!!w,cssTransforms:y}),style:{...ee,...Re,...Y(je)}}),Ve=oe;return $=(0,Be.jsx)(ze.Resizable,{draggableOpts:{disabled:!g},className:g?void 0:`react-resizable-hide`,width:je.width,height:je.height,minConstraints:Pe,maxConstraints:Fe,onResizeStart:Oe,onResize:ke,onResizeStop:Ae,transformScale:x,resizeHandles:ae,handle:Ve,children:$}),$=(0,Be.jsx)(Q.DraggableCore,{disabled:!h,onStart:Te,onDrag:Ee,onStop:De,handle:E,cancel:`.react-resizable-handle`+(D?`,`+D:``),scale:x,nodeRef:ye,children:$}),$}var He=()=>{},Ue=`react-grid-layout`,We=!1;try{We=/firefox/i.test(navigator.userAgent)}catch{}function Ge(e,t){let n=Z.Children.toArray(e),r=Z.Children.toArray(t);if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++){let t=n[e],i=r[e];if(t?.key!==i?.key)return!1}return!0}function Ke(e,t,n,r){let i=[],a=new Set;Z.Children.forEach(t,t=>{if(!Z.isValidElement(t)||t.key===null)return;let n=String(t.key);a.add(n);let r=e.find(e=>e.i===n);if(r)i.push(S(r));else{let e=t.props[`data-grid`];e?i.push({i:n,x:e.x??0,y:e.y??0,w:e.w??1,h:e.h??1,minW:e.minW,maxW:e.maxW,minH:e.minH,maxH:e.maxH,static:e.static,isDraggable:e.isDraggable,isResizable:e.isResizable,resizeHandles:e.resizeHandles,isBounded:e.isBounded}):i.push({i:n,x:0,y:y(i),w:1,h:1})}});let o=ee(i,{cols:n});return r.compact(o,n)}function qe(e){let{children:t,width:n,gridConfig:r,dragConfig:i,resizeConfig:c,dropConfig:u,positionStrategy:d=fe,compactor:f,constraints:p=te,layout:m=[],droppingItem:g,autoSize:_=!0,className:v=``,style:x={},innerRef:C,onLayoutChange:w=He,onDragStart:ee=He,onDrag:D=He,onDragStop:O=He,onResizeStart:k=He,onResize:A=He,onResizeStop:j=He,onDrop:M=He,onDropDragOver:ne=He}=e,re=(0,Z.useMemo)(()=>({...pe,...r}),[r]),N=(0,Z.useMemo)(()=>({...me,...i}),[i]),ie=(0,Z.useMemo)(()=>({...he,...c}),[c]),P=(0,Z.useMemo)(()=>({...B,...u}),[u]),{cols:F,rowHeight:I,maxRows:L,margin:R,containerPadding:ae}=re,{enabled:oe,bounded:z,handle:se,cancel:ce,threshold:le}=N,{enabled:ue,handles:de,handleComponent:ge}=ie,{enabled:_e,defaultItem:ve,onDragOver:ye}=P,V=f??Se(`vertical`),H=V.type,be=V.allowOverlap,xe=V.preventCollision??!1,U=(0,Z.useMemo)(()=>g??{i:`__dropping-elem__`,...ve},[g,ve]),Ce=d.type===`transform`,W=d.scale,G=ae??R,[K,we]=(0,Z.useState)(!1),[q,J]=(0,Z.useState)(()=>Ke(m,t,F,V)),[Y,Te]=(0,Z.useState)(null),[Ee,De]=(0,Z.useState)(!1),[X,Oe]=(0,Z.useState)(null),[ke,Ae]=(0,Z.useState)(),je=(0,Z.useRef)(null),Me=(0,Z.useRef)(null),Ne=(0,Z.useRef)(null),Pe=(0,Z.useRef)(0),Fe=(0,Z.useRef)(q),Ie=(0,Z.useRef)(m),Le=(0,Z.useRef)(t),Re=(0,Z.useRef)(H),Q=(0,Z.useRef)(q);Q.current=q,(0,Z.useEffect)(()=>{we(!0),(0,$.deepEqual)(q,m)||w(q)},[]),(0,Z.useEffect)(()=>{if(Y||X)return;let e=!(0,$.deepEqual)(m,Ie.current),n=!Ge(t,Le.current),r=H!==Re.current;if(e||n||r){let n=Ke(e?m:q,t,F,V);(0,$.deepEqual)(n,q)||J(n)}Ie.current=m,Le.current=t,Re.current=H},[m,t,F,H,V,Y,X,q]),(0,Z.useEffect)(()=>{if(!Y&&!(0,$.deepEqual)(q,Fe.current)){Fe.current=q;let e=q.filter(e=>e.i!==U.i);w(e)}},[q,Y,w,U.i]);let ze=(0,Z.useMemo)(()=>{if(!_)return;let e=y(q),t=G[1];return e*I+(e-1)*R[1]+t*2+`px`},[_,q,I,R,G]),qe=(0,Z.useCallback)((e,t,n,r)=>{let i=Q.current,a=b(i,e);if(!a)return;let o={w:a.w,h:a.h,x:a.x,y:a.y,i:e};je.current=S(a),Ne.current=i,Te(o),ee(i,a,a,null,r.e,r.node)},[ee]),Je=(0,Z.useCallback)((e,t,n,r)=>{let i=Q.current,a=je.current,o=b(i,e);if(!o)return;let s={w:o.w,h:o.h,x:o.x,y:o.y,i:e},c=E(i,o,t,n,!0,xe,H,F,be);D(c,a,o,s,r.e,r.node),J(V.compact(c,F)),Te(s)},[xe,H,F,be,V,D]),Ye=(0,Z.useCallback)((e,t,n,r)=>{if(!Y)return;let i=Q.current,a=je.current,o=b(i,e);if(!o)return;let s=E(i,o,t,n,!0,xe,H,F,be),c=V.compact(s,F);O(c,a,o,null,r.e,r.node);let l=Ne.current;je.current=null,Ne.current=null,Te(null),J(c),l&&!(0,$.deepEqual)(l,c)&&w(c)},[Y,xe,H,F,be,V,O,w]),Xe=(0,Z.useCallback)((e,t,n,r)=>{let i=Q.current,a=b(i,e);a&&(Me.current=S(a),Ne.current=i,De(!0),k(i,a,a,null,r.e,r.node))},[k]),Ze=(0,Z.useCallback)((e,t,n,r)=>{let i=Q.current,a=Me.current,{handle:o}=r,s=!1,c,l,[u,d]=T(i,e,e=>(c=e.x,l=e.y,[`sw`,`w`,`nw`,`n`,`ne`].includes(o)&&([`sw`,`nw`,`w`].includes(o)&&(c=e.x+(e.w-t),t=e.x!==c&&c<0?e.w:t,c=c<0?0:c),[`ne`,`n`,`nw`].includes(o)&&(l=e.y+(e.h-n),n=e.y!==l&&l<0?e.h:n,l=l<0?0:l),s=!0),xe&&!be&&h(i,{...e,w:t,h:n,x:c??e.x,y:l??e.y}).filter(t=>t.i!==e.i).length>0&&(l=e.y,n=e.h,c=e.x,t=e.w,s=!1),e.w=t,e.h=n,e));if(!d)return;let f=u;s&&c!==void 0&&l!==void 0&&(f=E(u,d,c,l,!0,xe,H,F,be));let p={w:d.w,h:d.h,x:d.x,y:d.y,i:e,static:!0};A(f,a,d,p,r.e,r.node),J(V.compact(f,F)),Te(p)},[xe,H,F,be,V,A]),Qe=(0,Z.useCallback)((e,t,n,r)=>{let i=Q.current,a=Me.current,o=b(i,e),s=V.compact(i,F);j(s,a,o??null,null,r.e,r.node);let c=Ne.current;Me.current=null,Ne.current=null,Te(null),De(!1),J(s),c&&!(0,$.deepEqual)(c,s)&&w(s)},[F,V,j,w]),$e=(0,Z.useCallback)(()=>{let e=Q.current;if(!e.some(e=>e.i===U.i)){Oe(null),Te(null),Ae(void 0);return}let t=V.compact(e.filter(e=>e.i!==U.i),F);J(t),Oe(null),Te(null),Ae(void 0)},[U.i,F,V]),et=(0,Z.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),We&&!e.nativeEvent.target?.classList.contains(Ue))return!1;let t=ye?ye(e.nativeEvent):ne(e);if(t===!1)return X&&$e(),!1;let{dragOffsetX:r=0,dragOffsetY:i=0,...a}=t??{},c={...U,...a},u=e.currentTarget.getBoundingClientRect(),d={cols:F,margin:R,maxRows:L,rowHeight:I,containerWidth:n,containerPadding:G},f=o(d),p=s(c.w,f,R[0]),m=s(c.h,I,R[1]),h=p/2,g=m/2,_=e.clientX-u.left+r-h,v=e.clientY-u.top+i-g,y=Math.max(0,_),b=Math.max(0,v),x={left:y/W,top:b/W,e:e.nativeEvent};if(X)ke&&(ke.left!==x.left||ke.top!==x.top)&&Ae(x);else{let e=l(d,b,y,c.w,c.h);Oe((0,Be.jsx)(`div`,{},c.i)),Ae(x);let t=Q.current.filter(e=>e.i!==c.i);J([...t,{...c,x:e.x,y:e.y,static:!1,isDraggable:!0}])}},[X,ke,U,ye,ne,$e,W,F,R,L,I,n,G]),tt=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),Pe.current--,Pe.current<0&&(Pe.current=0),Pe.current===0&&$e()},[$e]),nt=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),Pe.current++},[]),rt=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation();let t=Q.current,n=t.find(e=>e.i===U.i);Pe.current=0,$e(),M(t,n,e.nativeEvent)},[U.i,$e,M]),it=(0,Z.useCallback)((e,t)=>{if(!e||!e.key)return null;let r=b(q,String(e.key));if(!r)return null;let i=typeof r.isDraggable==`boolean`?r.isDraggable:!r.static&&oe,a=typeof r.isResizable==`boolean`?r.isResizable:!r.static&&ue,o=r.resizeHandles||[...de],s=i&&z&&r.isBounded!==!1,c=ge;return(0,Be.jsx)(Ve,{containerWidth:n,cols:F,margin:R,containerPadding:G,maxRows:L,rowHeight:I,cancel:ce,handle:se,onDragStart:qe,onDrag:Je,onDragStop:Ye,onResizeStart:Xe,onResize:Ze,onResizeStop:Qe,isDraggable:i,isResizable:a,isBounded:s,useCSSTransforms:Ce&&K,usePercentages:!K,transformScale:W,positionStrategy:d,dragThreshold:le,w:r.w,h:r.h,x:r.x,y:r.y,i:r.i,minH:r.minH,minW:r.minW,maxH:r.maxH,maxW:r.maxW,static:r.static,droppingPosition:t?ke:void 0,resizeHandles:o,resizeHandle:c,constraints:p,layoutItem:r,layout:q,children:e},r.i)},[q,n,F,R,G,L,I,ce,se,qe,Je,Ye,Xe,Ze,Qe,oe,ue,z,Ce,K,W,d,le,ke,de,ge,p]),at=()=>Y?(0,Be.jsx)(Ve,{w:Y.w,h:Y.h,x:Y.x,y:Y.y,i:Y.i,className:`react-grid-placeholder ${Ee?`placeholder-resizing`:``}`,containerWidth:n,cols:F,margin:R,containerPadding:G,maxRows:L,rowHeight:I,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:Ce,transformScale:W,constraints:p,layout:q,children:(0,Be.jsx)(`div`,{})}):null;return(0,Be.jsxs)(`div`,{ref:C,className:a(Ue,v),style:{height:ze,...x},onDrop:_e?rt:void 0,onDragLeave:_e?tt:void 0,onDragEnter:_e?nt:void 0,onDragOver:_e?et:void 0,children:[Z.Children.map(t,e=>Z.isValidElement(e)?it(e):null),_e&&X&&it(X,!0),at()]})}var Je={lg:1200,md:996,sm:768,xs:480,xxs:0},Ye={lg:12,md:10,sm:6,xs:4,xxs:2},Xe=()=>{};function Ze(e,t,n,r){let i=[];Z.Children.forEach(t,t=>{if(!Z.isValidElement(t)||t.key===null)return;let n=String(t.key),r=e.find(e=>e.i===n);if(r)i.push({...r,i:n});else{let e=t.props[`data-grid`];e?i.push({i:n,x:e.x??0,y:e.y??0,w:e.w??1,h:e.h??1,minW:e.minW,maxW:e.maxW,minH:e.minH,maxH:e.maxH,static:e.static,isDraggable:e.isDraggable,isResizable:e.isResizable,resizeHandles:e.resizeHandles,isBounded:e.isBounded}):i.push({i:n,x:0,y:y(i),w:1,h:1})}});let a=ee(i,{cols:n});return r.compact(a,n)}function Qe(e){let{children:t,width:n,breakpoint:r,breakpoints:i=Je,cols:a=Ye,layouts:o={},rowHeight:s=150,maxRows:c=1/0,margin:l=[10,10],containerPadding:u=null,compactor:d,onBreakpointChange:f=Xe,onLayoutChange:p=Xe,onWidthChange:m=Xe,...h}=e,g=d??Se(`vertical`),_=g.type,v=g.allowOverlap,y=(0,Z.useMemo)(()=>r??W(i,n),[]),b=(0,Z.useMemo)(()=>G(y,a),[y,a]),x=(0,Z.useMemo)(()=>K(o,i,y,y,b,_),[]),[S,w]=(0,Z.useState)(y),[T,ee]=(0,Z.useState)(b),[E,D]=(0,Z.useState)(x),[O,k]=(0,Z.useState)(o),A=(0,Z.useRef)(n),j=(0,Z.useRef)(r),te=(0,Z.useRef)(i),M=(0,Z.useRef)(a),ne=(0,Z.useRef)(o),re=(0,Z.useRef)(_),N=(0,Z.useRef)(O);(0,Z.useEffect)(()=>{N.current=O},[O]);let ie=(0,Z.useMemo)(()=>(0,$.deepEqual)(o,ne.current)?null:K(o,i,S,S,T,g),[o,i,S,T,g]),P=ie??E;(0,Z.useEffect)(()=>{ie!==null&&(D(ie),k(o),N.current=o,ne.current=o)},[ie,o]),(0,Z.useEffect)(()=>{if(_!==re.current){let e=g.compact(C(P),T),t={...N.current,[S]:e};D(e),k(t),N.current=t,p(e,t),re.current=_}},[_,g,P,T,v,S,p]),(0,Z.useEffect)(()=>{let e=n!==A.current,o=r!==j.current,s=!(0,$.deepEqual)(i,te.current),c=!(0,$.deepEqual)(a,M.current);if(e||o||s||c){let e=r??W(i,n),o=G(e,a),d=S;if(d!==e||s||c){let n={...N.current};n[d]||(n[d]=C(E));let r=K(n,i,e,d,o,g);r=Ze(r,t,o,g),n[e]=r,w(e),ee(o),D(r),k(n),N.current=n,f(e,o),p(r,n)}let h=we(l,e),_=u?we(u,e):null;m(n,h,o,_),A.current=n,j.current=r,te.current=i,M.current=a}},[n,r,i,a,S,T,E,t,g,_,v,l,u,f,p,m]);let F=(0,Z.useCallback)(e=>{let t={...N.current,[S]:e};D(e),k(t),N.current=t,p(e,t)},[S,p]),I=(0,Z.useMemo)(()=>we(l,S),[l,S]),L=(0,Z.useMemo)(()=>u===null?null:we(u,S),[u,S]),R=(0,Z.useMemo)(()=>({cols:T,rowHeight:s,maxRows:c,margin:I,containerPadding:L}),[T,s,c,I,L]);return(0,Be.jsx)(qe,{...h,width:n,gridConfig:R,compactor:g,onLayoutChange:F,layout:P,children:t})}function $e(e){let{children:t,width:n,cols:r=12,rowHeight:i=150,maxRows:a=1/0,margin:o=[10,10],containerPadding:s=null,layout:c,droppingItem:l,compactType:u,preventCollision:d=!1,allowOverlap:f=!1,verticalCompact:p,isDraggable:m=!0,isBounded:h=!1,draggableHandle:g,draggableCancel:_,isResizable:v=!0,resizeHandles:y=[`se`],resizeHandle:b,isDroppable:x=!1,useCSSTransforms:S=!0,transformScale:C=1,autoSize:w,className:T,style:ee,innerRef:E,onLayoutChange:D,onDragStart:O,onDrag:k,onDragStop:A,onResizeStart:M,onResize:ne,onResizeStop:re,onDrop:N,onDropDragOver:ie}=e,P=u===void 0?`vertical`:u;p===!1&&(P=null);let F={cols:r,rowHeight:i,maxRows:a,margin:o,containerPadding:s},I={enabled:m,bounded:h,handle:g,cancel:_,threshold:0},L={enabled:v,handles:y,handleComponent:b},R={enabled:x},ae;ae=S?C===1?le:de(C):ue;let oe=Se(P,f,d),z=h?[...te,j]:te;return(0,Be.jsx)(qe,{width:n,gridConfig:F,dragConfig:I,resizeConfig:L,dropConfig:R,positionStrategy:ae,compactor:oe,constraints:z,layout:c,droppingItem:l,autoSize:w,className:T,style:ee,innerRef:E,onLayoutChange:D,onDragStart:O,onDrag:k,onDragStop:A,onResizeStart:M,onResize:ne,onResizeStop:re,onDrop:N,onDropDragOver:ie,children:t})}$e.displayName=`ReactGridLayout`;function et(e){let{children:t,width:n,breakpoint:r,breakpoints:i,cols:a,layouts:o,onBreakpointChange:s,onLayoutChange:c,onWidthChange:l,rowHeight:u,maxRows:d,margin:f,containerPadding:p,droppingItem:m,compactType:h,preventCollision:g=!1,allowOverlap:_=!1,verticalCompact:v,isDraggable:y=!0,isBounded:b=!1,draggableHandle:x,draggableCancel:S,isResizable:C=!0,resizeHandles:w=[`se`],resizeHandle:T,isDroppable:ee=!1,useCSSTransforms:E=!0,transformScale:D=1,autoSize:O,className:k,style:A,innerRef:j,onDragStart:te,onDrag:M,onDragStop:ne,onResizeStart:re,onResize:N,onResizeStop:ie,onDrop:P,onDropDragOver:F}=e,I=h===void 0?`vertical`:h;v===!1&&(I=null);let L={enabled:y,bounded:b,handle:x,cancel:S},R={enabled:C,handles:w,handleComponent:T},ae={enabled:ee},oe;return oe=E?D===1?le:de(D):ue,(0,Be.jsx)(Qe,{width:n,breakpoint:r,breakpoints:i,cols:a,layouts:o,rowHeight:u,maxRows:d,margin:f,containerPadding:p,compactor:Se(I,_,g),dragConfig:L,resizeConfig:R,dropConfig:ae,positionStrategy:oe,droppingItem:m,autoSize:O,className:k,style:A,innerRef:j,onBreakpointChange:s,onLayoutChange:c,onWidthChange:l,onDragStart:te,onDrag:M,onDragStop:ne,onResizeStart:re,onResize:N,onResizeStop:ie,onDrop:P,onDropDragOver:F,children:t})}et.displayName=`ResponsiveReactGridLayout`;var tt=et;export{tt as Responsive};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`list-todo`,[[`rect`,{x:`3`,y:`5`,width:`6`,height:`6`,rx:`1`,key:`1defrl`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`M13 6h8`,key:`15sg57`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 18h8`,key:`oe0vm4`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`message-square`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`mic`,[[`path`,{d:`M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z`,key:`131961`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`line`,{x1:`12`,x2:`12`,y1:`19`,y2:`22`,key:`x3vr5v`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{K as e}from"./index-WI-E4I3h.js";async function t(t,n){let r=await fetch(t,{...n,headers:{"Content-Type":`application/json`,...e(),...n?.headers}});if(!r.ok){let e=await r.text();throw Error(`HTTP ${r.status}: ${e||r.statusText}`)}return r.json()}function n(e,n){return t(`/api/missions`,{method:`POST`,body:JSON.stringify({goal:e,playId:n})})}function r(){return t(`/api/missions`)}function i(e){return t(`/api/missions/${e}`)}function a(e){return t(`/api/missions/${e}`,{method:`DELETE`})}function o(e,n){return t(`/api/missions/${e}/message`,{method:`POST`,body:JSON.stringify({content:n})})}function s(e,n,r){return t(`/api/missions/${e}/answer`,{method:`POST`,body:JSON.stringify({approvalId:n,answer:r})})}function c(e,n){return t(`/api/missions/${e}/status`,{method:`POST`,body:JSON.stringify({status:n})})}function l(e,n,r){return t(`/api/missions/${e}/agent/${encodeURIComponent(n)}/model`,{method:`POST`,body:JSON.stringify({model:r})})}function u(e,n,r){return t(`/api/missions/${e}/agent/${encodeURIComponent(n)}/pause`,{method:`POST`,body:JSON.stringify({paused:r})})}function d(e,n){return t(`/api/missions/${e}/mode`,{method:`POST`,body:JSON.stringify({longRunningMode:n})})}function f(e,n){return t(`/api/missions/${e}/file?ref=${encodeURIComponent(n)}`)}function p(e,t){let n=!1,r=null,i=500;function a(){if(n)return;let o=localStorage.getItem(`titan-token`),s=`/api/missions/${e}/stream${o?`?token=${encodeURIComponent(o)}`:``}`;r=new EventSource(s);for(let e of[`hello`,`mission_created`,`team_formed`,`message_added`,`agent_state_changed`,`artifact_updated`,`question_raised`,`question_answered`,`status_changed`,`cost_changed`,`mission_deleted`])r.addEventListener(e,e=>{try{t(JSON.parse(e.data))}catch{}});r.onopen=()=>{i=500},r.onerror=()=>{r?.close(),r=null,!n&&(setTimeout(a,i),i=Math.min(i*2,8e3))}}return a(),()=>{n=!0,r?.close()}}export{f as a,l as c,c as d,p as f,i,u as l,n,r as o,a as r,o as s,s as t,d as u};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`pause`,[[`rect`,{x:`14`,y:`4`,width:`4`,height:`16`,rx:`1`,key:`zuxfzm`}],[`rect`,{x:`6`,y:`4`,width:`4`,height:`16`,rx:`1`,key:`1okwgv`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),n=e(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]);export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`play`,[[`polygon`,{points:`6 3 20 12 6 21 6 3`,key:`1oa8hb`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M9 8V2`,key:`14iosj`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z`,key:`osxo6l`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`radio`,[[`path`,{d:`M4.9 19.1C1 15.2 1 8.8 4.9 4.9`,key:`1vaf9d`}],[`path`,{d:`M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5`,key:`u1ii0m`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5`,key:`1j5fej`}],[`path`,{d:`M19.1 4.9C23 8.8 23 15.1 19.1 19`,key:`10b0cb`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`settings`,[[`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`,key:`1qme2f`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{c as e,n as t,t as n}from"./jsx-runtime-B15e6lOy.js";import{t as r}from"./createLucideIcon-qnlrxww7.js";import{n as i,t as a}from"./pencil-Dd_vzHE-.js";import{s as o}from"./index-WI-E4I3h.js";import{t as s}from"./clsx-CjueKrWZ.js";import"./PageHeader-CH85uoZG.js";import"./ConfirmDialog-6hcNjmAh.js";import"./EmptyState-D-Dg8B8r.js";import"./SkeletonLoader-9H7QWa9E.js";import"./DataTable-KVqtDzvP.js";import"./StatCard-wmSgMAM3.js";var c=r(`circle-help`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),l=e(t(),1),u=n(),d=(0,l.forwardRef)(({icon:e,error:t,label:n,className:r,id:i,...a},o)=>{let c=(0,l.useId)(),d=i??c,f=`${d}-error`;return(0,u.jsxs)(`div`,{className:`w-full`,children:[n&&(0,u.jsx)(`label`,{htmlFor:d,className:`mb-1 block text-xs font-medium text-text`,children:n}),(0,u.jsxs)(`div`,{className:`relative`,children:[e&&(0,u.jsx)(`span`,{className:`absolute left-3 top-1/2 -translate-y-1/2 text-text-muted pointer-events-none`,children:e}),(0,u.jsx)(`input`,{ref:o,id:d,"aria-invalid":t?!0:void 0,"aria-describedby":t?f:void 0,className:s(`w-full rounded-lg border bg-bg py-2 text-sm text-text outline-none transition-colors`,`placeholder:text-text-muted`,`focus-visible:ring-2 focus-visible:ring-accent/60 focus-visible:ring-offset-1 focus-visible:ring-offset-bg`,e?`pl-10 pr-3`:`px-3`,t?`border-error focus:border-error`:`border-border focus:border-accent`,r),...a})]}),t&&(0,u.jsx)(`p`,{id:f,role:`alert`,className:`mt-1 text-xs text-error`,children:t})]})});d.displayName=`Input`;var f={active:{bg:`bg-success/10`,text:`text-success`,dot:`bg-success`},running:{bg:`bg-success/10`,text:`text-success`,dot:`bg-success`},completed:{bg:`bg-success/10`,text:`text-success`,dot:`bg-success`},done:{bg:`bg-success/10`,text:`text-success`,dot:`bg-success`},succeeded:{bg:`bg-success/10`,text:`text-success`,dot:`bg-success`},enabled:{bg:`bg-success/10`,text:`text-success`,dot:`bg-success`},healthy:{bg:`bg-success/10`,text:`text-success`,dot:`bg-success`},approved:{bg:`bg-success/10`,text:`text-success`,dot:`bg-success`},connected:{bg:`bg-success/10`,text:`text-success`,dot:`bg-success`},in_progress:{bg:`bg-accent/10`,text:`text-accent`,dot:`bg-accent`},in_review:{bg:`bg-accent/10`,text:`text-accent`,dot:`bg-accent`},processing:{bg:`bg-accent/10`,text:`text-accent`,dot:`bg-accent`},training:{bg:`bg-accent/10`,text:`text-accent`,dot:`bg-accent`},deploying:{bg:`bg-accent/10`,text:`text-accent`,dot:`bg-accent`},warning:{bg:`bg-warning/10`,text:`text-warning`,dot:`bg-warning`},pending:{bg:`bg-warning/10`,text:`text-warning`,dot:`bg-warning`},queued:{bg:`bg-warning/10`,text:`text-warning`,dot:`bg-warning`},backlog:{bg:`bg-warning/10`,text:`text-warning`,dot:`bg-warning`},todo:{bg:`bg-warning/10`,text:`text-warning`,dot:`bg-warning`},error:{bg:`bg-error/10`,text:`text-error`,dot:`bg-error`},failed:{bg:`bg-error/10`,text:`text-error`,dot:`bg-error`},critical:{bg:`bg-error/10`,text:`text-error`,dot:`bg-error`},rejected:{bg:`bg-error/10`,text:`text-error`,dot:`bg-error`},blocked:{bg:`bg-error/10`,text:`text-error`,dot:`bg-error`},idle:{bg:`bg-text-muted/10`,text:`text-text-muted`,dot:`bg-text-muted`},disabled:{bg:`bg-text-muted/10`,text:`text-text-muted`,dot:`bg-text-muted`},stopped:{bg:`bg-text-muted/10`,text:`text-text-muted`,dot:`bg-text-muted`},paused:{bg:`bg-text-muted/10`,text:`text-text-muted`,dot:`bg-text-muted`},cancelled:{bg:`bg-text-muted/10`,text:`text-text-muted`,dot:`bg-text-muted`},unknown:{bg:`bg-text-muted/10`,text:`text-text-muted`,dot:`bg-text-muted`}},p={bg:`bg-text-muted/10`,text:`text-text-muted`,dot:`bg-text-muted`};function m(e){return f[e.toLowerCase().replace(/[- ]/g,`_`)]??p}function h({status:e,variant:t=`pill`,size:n=`sm`,label:r,className:i}){let a=m(e),o=r??e.replace(/_/g,` `);return t===`dot`?(0,u.jsxs)(`span`,{className:s(`inline-flex items-center gap-1.5`,i),children:[(0,u.jsx)(`span`,{className:s(`rounded-full`,a.dot,n===`sm`?`h-1.5 w-1.5`:`h-2 w-2`)}),(0,u.jsx)(`span`,{className:s(a.text,n===`sm`?`text-xs`:`text-sm`),children:o})]}):(0,u.jsx)(`span`,{className:s(`inline-flex items-center rounded-full font-medium capitalize`,a.bg,a.text,n===`sm`?`px-2 py-0.5 text-xs`:`px-2.5 py-1 text-xs`,i),children:o})}function g({tabs:e,activeTab:t,onChange:n,className:r}){return(0,u.jsx)(`div`,{className:s(`flex gap-1 border-b border-border`,r),children:e.map(e=>(0,u.jsxs)(`button`,{onClick:()=>n(e.id),className:s(`flex items-center gap-1.5 px-3 py-2 text-sm font-medium transition-colors border-b-2 -mb-px`,t===e.id?`border-accent text-accent`:`border-transparent text-text-muted hover:text-text-secondary`),children:[e.icon,e.label,e.count!==void 0&&(0,u.jsx)(`span`,{className:s(`ml-1 rounded-full px-1.5 py-0.5 text-[10px] font-medium`,t===e.id?`bg-accent/15 text-accent`:`bg-bg-tertiary text-text-muted`),children:e.count})]},e.id))})}function _({value:e,onSave:t,placeholder:n,multiline:r=!1,className:c,displayValue:d,emptyLabel:f=`—`,hidePencil:p=!1,maxLength:m,title:h}){let[g,_]=(0,l.useState)(!1),[v,y]=(0,l.useState)(e),[b,x]=(0,l.useState)(!1),S=(0,l.useRef)(null);(0,l.useEffect)(()=>{g&&S.current&&(S.current.focus(),`select`in S.current&&S.current.select())},[g]),(0,l.useEffect)(()=>{g||y(e)},[e,g]);let C=async()=>{if(v===e){_(!1);return}x(!0);try{await t(v),_(!1)}catch{}finally{x(!1)}},w=()=>{y(e),_(!1)},T=e=>{e.key===`Enter`&&!r||e.key===`Enter`&&r&&e.metaKey?(e.preventDefault(),C()):e.key===`Escape`&&(e.preventDefault(),w())};if(g){let e=s(`bg-bg-tertiary border border-accent/60 rounded px-2 py-1 text-sm text-text`,`focus:outline-none focus:border-accent`,`w-full`,r&&`resize-none min-h-[60px]`);return(0,u.jsxs)(`span`,{className:`inline-flex items-start gap-1 w-full`,children:[r?(0,u.jsx)(`textarea`,{ref:S,value:v,onChange:e=>y(e.target.value),onKeyDown:T,placeholder:n,maxLength:m,className:e,disabled:b}):(0,u.jsx)(`input`,{ref:S,type:`text`,value:v,onChange:e=>y(e.target.value),onKeyDown:T,placeholder:n,maxLength:m,className:e,disabled:b}),(0,u.jsx)(`button`,{onClick:C,disabled:b,className:`text-success hover:bg-success/10 rounded p-1 shrink-0`,title:r?`Save (Cmd+Enter)`:`Save (Enter)`,type:`button`,children:(0,u.jsx)(i,{size:14})}),(0,u.jsx)(`button`,{onClick:w,disabled:b,className:`text-text-muted hover:bg-bg-tertiary rounded p-1 shrink-0`,title:`Cancel (Esc)`,type:`button`,children:(0,u.jsx)(o,{size:14})})]})}let E=d??(e&&e.length>0?e:f);return(0,u.jsxs)(`span`,{className:s(`inline-flex items-center gap-1 cursor-pointer group`,`hover:bg-bg-tertiary rounded px-1 -mx-1`,c),onClick:()=>_(!0),title:h??`Click to edit`,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),_(!0))},children:[(0,u.jsx)(`span`,{children:E}),!p&&(0,u.jsx)(a,{size:10,className:`text-text-muted opacity-0 group-hover:opacity-60 transition-opacity shrink-0`})]})}function v({title:e,description:t,children:n,placement:r=`top`}){let[i,a]=(0,l.useState)(!1),o=(0,l.useRef)(null),s=(0,l.useRef)(null),d=()=>{o.current&&clearTimeout(o.current),o.current=setTimeout(()=>a(!0),150)},f=()=>{o.current&&clearTimeout(o.current),o.current=setTimeout(()=>a(!1),100)};return(0,l.useEffect)(()=>()=>{o.current&&clearTimeout(o.current)},[]),(0,u.jsxs)(`div`,{ref:s,className:`relative inline-flex items-center`,onMouseEnter:d,onMouseLeave:f,onFocus:d,onBlur:f,children:[n?(0,u.jsx)(`span`,{className:`cursor-help`,children:n}):(0,u.jsx)(`button`,{type:`button`,className:`inline-flex items-center justify-center rounded-md p-0.5 transition-colors`,style:{color:`var(--theme-ink-soft)`},onMouseOver:e=>e.currentTarget.style.color=`var(--theme-accent)`,onMouseOut:e=>e.currentTarget.style.color=`var(--theme-ink-soft)`,"aria-label":`Help: ${e}`,children:(0,u.jsx)(c,{className:`w-3.5 h-3.5`})}),i&&(0,u.jsx)(`div`,{className:`absolute z-50 w-64 ${{top:`bottom-full left-1/2 -translate-x-1/2 mb-2`,bottom:`top-full left-1/2 -translate-x-1/2 mt-2`,left:`right-full top-1/2 -translate-y-1/2 mr-2`,right:`left-full top-1/2 -translate-y-1/2 ml-2`}[r]}`,role:`tooltip`,children:(0,u.jsxs)(`div`,{className:`titan-menu-surface px-3 py-2.5`,style:{borderRadius:6},children:[(0,u.jsx)(`p`,{className:`text-xs font-semibold mb-0.5`,style:{color:`var(--theme-ink)`,fontFamily:`var(--theme-font-display)`},children:e}),t&&(0,u.jsx)(`p`,{className:`text-[11px] leading-relaxed`,style:{color:`var(--theme-ink-soft)`,fontFamily:`var(--theme-font-display)`},children:t})]})})]})}function y({title:e,description:t}){return(0,u.jsx)(v,{title:e,description:t,children:(0,u.jsx)(c,{className:`w-3.5 h-3.5 transition-colors`,style:{color:`var(--theme-ink-soft)`}})})}export{h as i,_ as n,g as r,y as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),n=e(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]);export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),n=e(`test-tube`,[[`path`,{d:`M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2`,key:`125lnx`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}],[`path`,{d:`M14.5 16h-5`,key:`1ox875`}]]);export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`toggle-left`,[[`circle`,{cx:`9`,cy:`12`,r:`3`,key:`u3jwor`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`,key:`g7kal2`}]]),n=e(`toggle-right`,[[`circle`,{cx:`15`,cy:`12`,r:`3`,key:`1afu0r`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`,key:`g7kal2`}]]);export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`trash-2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`trending-up`,[[`path`,{d:`M16 7h6v6`,key:`box55l`}],[`path`,{d:`m22 7-8.5 8.5-5-5L2 17`,key:`1t1m79`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`trophy`,[[`path`,{d:`M6 9H4.5a2.5 2.5 0 0 1 0-5H6`,key:`17hqa7`}],[`path`,{d:`M18 9h1.5a2.5 2.5 0 0 0 0-5H18`,key:`lmptdp`}],[`path`,{d:`M4 22h16`,key:`57wxv0`}],[`path`,{d:`M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22`,key:`1nw9bq`}],[`path`,{d:`M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22`,key:`1np0yb`}],[`path`,{d:`M18 2H6v7a6 6 0 0 0 12 0V2Z`,key:`u46fv3`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-qnlrxww7.js";var t=e(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),n=e(`zoom-in`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`,key:`1vmskp`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),r=e(`zoom-out`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]);export{n,t as r,r as t};
@@ -9,8 +9,10 @@
9
9
  <link rel="manifest" href="/manifest.json" />
10
10
  <link rel="apple-touch-icon" href="/titan-logo.png" />
11
11
  <title>TITAN Mission Control</title>
12
- <script type="module" crossorigin src="/assets/index-Cml2x9pA.js"></script>
13
- <link rel="stylesheet" crossorigin href="/assets/index-yWybhcfI.css">
12
+ <script type="module" crossorigin src="/assets/index-WI-E4I3h.js"></script>
13
+ <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-B15e6lOy.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-qnlrxww7.js">
15
+ <link rel="stylesheet" crossorigin href="/assets/index-Cz8190xO.css">
14
16
  </head>
15
17
  <body class="bg-zinc-950 text-zinc-100">
16
18
  <div id="root"></div>
package/ui/dist/sw.js CHANGED
@@ -20,7 +20,7 @@
20
20
  * but a default falls back to the source-controlled value here.
21
21
  */
22
22
 
23
- const CACHE_NAME = 'titan-' + ('1783101825844');
23
+ const CACHE_NAME = 'titan-' + ('1783396713877');
24
24
  const ASSETS_PREFIX = '/assets/';
25
25
 
26
26
  self.addEventListener('install', (event) => {
@@ -1,11 +0,0 @@
1
- import{c as x,u as p,r as l,b as y,j as e,E as u,W as j}from"./index-Cml2x9pA.js";/**
2
- * @license lucide-react v0.513.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const v=[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}]],g=x("heart",v);/**
7
- * @license lucide-react v0.513.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const k=[["path",{d:"M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z",key:"qazsjp"}],["path",{d:"M15 3v4a2 2 0 0 0 2 2h4",key:"40519r"}]],d=x("sticky-note",k);function o({icon:i,title:s,children:c}){return e.jsxs("div",{className:"rounded-xl border px-5 py-4 shadow-md",style:{background:"var(--theme-paper, var(--color-bg-secondary))",borderColor:"var(--theme-paper-line, var(--color-border))",color:"var(--theme-ink, var(--color-text))"},children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3 text-sm font-semibold",style:{fontFamily:"var(--theme-font-display, inherit)"},children:[e.jsx("span",{style:{color:"var(--theme-accent)"},children:i})," ",s]}),c]})}function N(){const i=p(),[s,c]=l.useState(null),[m,h]=l.useState(null);l.useEffect(()=>{y("/api/memory/about-me",{headers:{"Content-Type":"application/json"}}).then(t=>t.json()).then(t=>t.error?h(t.message||t.error):c(t)).catch(t=>h(t.message))},[]);const r=new Map;for(const t of(s==null?void 0:s.facts)??[]){const a=r.get(t.category)||[];a.push(t),r.set(t.category,a)}return e.jsxs("div",{className:"max-w-2xl mx-auto px-4 py-8 space-y-4",children:[e.jsx("h1",{className:"text-2xl font-semibold",style:{color:"var(--theme-ink, var(--color-text))",fontFamily:"var(--theme-font-display, inherit)"},children:"What I know about you"}),e.jsx("p",{className:"text-sm",style:{color:"var(--theme-ink-soft, var(--color-text-muted))"},children:"Everything here was learned from working together. Ask me in chat to remember or forget anything."}),m&&e.jsx(o,{icon:e.jsx(d,{size:16}),title:"Hmm",children:e.jsxs("p",{className:"text-sm",children:["I couldn't read my memory just now: ",m]})}),s&&e.jsxs(e.Fragment,{children:[e.jsx(o,{icon:e.jsx(g,{size:16}),title:"Who you've asked me to be",children:e.jsx("p",{className:"text-[14px] leading-relaxed whitespace-pre-wrap",children:s.identity||"Nothing set yet — tell me in chat, or set my identity in the Workshop."})}),e.jsx(o,{icon:e.jsx(u,{size:16}),title:"Things I've noticed",children:s.observations.length===0?e.jsx("p",{className:"text-sm opacity-70",children:"Nothing yet — I pick these up over time as we work."}):e.jsx("ul",{className:"space-y-1.5 text-[14px] leading-relaxed list-disc pl-5",children:s.observations.slice(-25).reverse().map((t,a)=>e.jsx("li",{children:t},a))})}),e.jsx(o,{icon:e.jsx(d,{size:16}),title:"Facts I keep",children:r.size===0?e.jsx("p",{className:"text-sm opacity-70",children:'No stored facts yet — say "remember that …" in chat.'}):e.jsx("div",{className:"space-y-3",children:[...r.entries()].map(([t,a])=>e.jsxs("div",{children:[e.jsx("div",{className:"text-[11px] uppercase tracking-wide mb-1 opacity-60",children:t}),e.jsx("ul",{className:"space-y-1 text-[13.5px]",children:a.slice(0,12).map(n=>e.jsxs("li",{children:[e.jsxs("span",{className:"opacity-70",children:[n.key,":"]})," ",n.value]},n.key))})]},t))})})]}),e.jsxs("button",{onClick:()=>i("/knowledge/memory-graph"),className:"flex items-center gap-1.5 text-xs hover:underline underline-offset-2",style:{color:"var(--theme-ink-soft, var(--color-text-muted))"},children:[e.jsx(j,{size:12})," The deep memory tools (graph, wiki, taxonomy) live in the Workshop"]})]})}export{N as default};
@@ -1 +0,0 @@
1
- import{t as S,r as d,j as t,aO as A,aP as C}from"./index-Cml2x9pA.js";import{P as T}from"./PageHeader-DdrbS1aq.js";import{R as $}from"./refresh-cw-C-iZkzuS.js";import{F as R}from"./funnel-FycfZcXo.js";import{C as F}from"./clipboard-list-Dj9tORnu.js";import"./chevron-right-DbLSHmff.js";function q(){var b;const{toast:v}=S(),[l,p]=d.useState([]),[r,h]=d.useState(null),[g,i]=d.useState(!0),[a,c]=d.useState(""),[n,x]=d.useState(""),u=async()=>{i(!0);try{const[e,s]=await Promise.all([A({source:a||void 0,action:n||void 0,limit:100}),C(24)]);p(e),h(s)}catch(e){v("error",`Couldn't load audit log — try again. (${e.message})`)}i(!1)};d.useEffect(()=>{u()},[a,n]);const j=e=>e==="success"?"text-[var(--success)]":e==="failure"?"text-[var(--error)]":e==="escalated"?"text-[var(--warning)]":"text-[var(--text-muted)]",f=e=>e==="success"?"bg-[var(--success)]/10 border-[var(--success)]/20":e==="failure"?"bg-[var(--error)]/10 border-[var(--error)]/20":e==="escalated"?"bg-[var(--warning)]/10 border-[var(--warning)]/20":"bg-[var(--bg-tertiary)] border-[var(--border)]",m=e=>e.startsWith("daemon")?"bg-purple-500/10 text-purple-400 border-purple-500/20":e==="autopilot"?"bg-blue-500/10 text-blue-400 border-blue-500/20":e==="user"?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":e==="initiative"?"bg-amber-500/10 text-amber-400 border-amber-500/20":"bg-[var(--bg-tertiary)] text-[var(--text-muted)] border-[var(--border)]",N=e=>{try{const s=new Date(e),o=new Date().getTime()-s.getTime();return o<6e4?`${Math.round(o/1e3)}s ago`:o<36e5?`${Math.round(o/6e4)}m ago`:o<864e5?`${Math.round(o/36e5)}h ago`:s.toLocaleDateString()}catch{return e}},y=[...new Set(l.map(e=>e.source))].sort(),w=[...new Set(l.map(e=>e.action))].sort();return t.jsxs("div",{className:"space-y-6",children:[t.jsx(T,{title:"Audit Log",subtitle:"Every autonomous action logged for accountability",breadcrumbs:[{label:"Admin",href:"/overview"},{label:"System"},{label:"Audit"}],actions:t.jsx("button",{onClick:u,className:"p-2 rounded-md border border-[var(--border)] text-[var(--text-secondary)] hover:bg-[var(--bg-tertiary)] transition-colors",children:t.jsx($,{size:14})})}),r&&t.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[t.jsxs("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-4",children:[t.jsx("p",{className:"text-sm text-[var(--text-muted)]",children:"Actions (24h)"}),t.jsx("p",{className:"text-2xl font-bold text-[var(--text)]",children:r.totalActions})]}),t.jsxs("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-4",children:[t.jsx("p",{className:"text-sm text-[var(--text-muted)]",children:"Success Rate"}),t.jsxs("p",{className:`text-2xl font-bold ${r.successRate>=80?"text-[var(--success)]":r.successRate>=50?"text-[var(--warning)]":"text-[var(--error)]"}`,children:[r.successRate,"%"]})]}),t.jsxs("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-4",children:[t.jsx("p",{className:"text-sm text-[var(--text-muted)]",children:"Sources"}),t.jsx("p",{className:"text-2xl font-bold text-[var(--text)]",children:Object.keys(r.bySource).length})]}),t.jsxs("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-4",children:[t.jsx("p",{className:"text-sm text-[var(--text-muted)]",children:"Top Tool"}),t.jsx("p",{className:"text-lg font-semibold text-[var(--accent)] truncate",children:((b=r.topTools[0])==null?void 0:b.tool)||"none"})]})]}),r&&Object.keys(r.bySource).length>0&&t.jsxs("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-4",children:[t.jsx("h2",{className:"text-sm font-semibold text-[var(--text)] mb-3",children:"Actions by Source (24h)"}),t.jsx("div",{className:"flex flex-wrap gap-2",children:Object.entries(r.bySource).sort((e,s)=>s[1]-e[1]).map(([e,s])=>t.jsxs("button",{onClick:()=>c(a===e?"":e),className:`px-3 py-1.5 text-xs rounded-md border transition-colors ${a===e?"bg-[var(--accent)] text-white border-[var(--accent)]":m(e)}`,children:[e,": ",s]},e))})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx(R,{size:14,className:"text-[var(--text-muted)]"}),t.jsxs("select",{value:a,onChange:e=>c(e.target.value),className:"px-3 py-1.5 text-xs bg-[var(--bg-secondary)] border border-[var(--border)] rounded-md text-[var(--text)]",children:[t.jsx("option",{value:"",children:"All Sources"}),y.map(e=>t.jsx("option",{value:e,children:e},e))]}),t.jsxs("select",{value:n,onChange:e=>x(e.target.value),className:"px-3 py-1.5 text-xs bg-[var(--bg-secondary)] border border-[var(--border)] rounded-md text-[var(--text)]",children:[t.jsx("option",{value:"",children:"All Actions"}),w.map(e=>t.jsx("option",{value:e,children:e},e))]}),(a||n)&&t.jsx("button",{onClick:()=>{c(""),x("")},className:"text-xs text-[var(--accent)] hover:underline",children:"Clear"})]}),g?t.jsx("div",{className:"text-[var(--text-muted)] text-sm",children:"Loading audit log..."}):l.length===0?t.jsxs("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-8 text-center",children:[t.jsx(F,{className:"w-10 h-10 text-[var(--text-muted)] mx-auto mb-3"}),t.jsx("p",{className:"text-[var(--text-secondary)]",children:"No audit entries found"}),t.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:"Autonomous actions will appear here as TITAN operates."})]}):t.jsx("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg overflow-hidden",children:t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"w-full text-xs",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"border-b border-[var(--border)] text-[var(--text-muted)]",children:[t.jsx("th",{className:"text-left px-4 py-2 font-medium",children:"Time"}),t.jsx("th",{className:"text-left px-4 py-2 font-medium",children:"Action"}),t.jsx("th",{className:"text-left px-4 py-2 font-medium",children:"Source"}),t.jsx("th",{className:"text-left px-4 py-2 font-medium",children:"Tool"}),t.jsx("th",{className:"text-left px-4 py-2 font-medium",children:"Result"}),t.jsx("th",{className:"text-left px-4 py-2 font-medium",children:"Detail"})]})}),t.jsx("tbody",{children:l.map((e,s)=>t.jsxs("tr",{className:"border-b border-[var(--border)]/50 last:border-0 hover:bg-[var(--bg-tertiary)] transition-colors",children:[t.jsx("td",{className:"px-4 py-2 text-[var(--text-muted)] whitespace-nowrap",children:N(e.timestamp)}),t.jsx("td",{className:"px-4 py-2 text-[var(--text)] font-medium",children:e.action}),t.jsx("td",{className:"px-4 py-2",children:t.jsx("span",{className:`px-2 py-0.5 rounded text-[10px] border ${m(e.source)}`,children:e.source})}),t.jsx("td",{className:"px-4 py-2 text-[var(--text-secondary)] font-mono",children:e.tool||"-"}),t.jsx("td",{className:"px-4 py-2",children:e.result?t.jsx("span",{className:`px-2 py-0.5 rounded text-[10px] border ${f(e.result)} ${j(e.result)}`,children:e.result}):"-"}),t.jsx("td",{className:"px-4 py-2 text-[var(--text-muted)] max-w-[200px] truncate",children:e.detail?JSON.stringify(e.detail):"-"})]},s))})]})})})]})}export{q as default};
@@ -1,11 +0,0 @@
1
- import{c as M,r as c,aa as B,j as e,L as C,k as F,Z as E,ab as O,v as T,b,S as g,B as q,U as G,G as V,i as I}from"./index-Cml2x9pA.js";import{S as D}from"./save-DwR9wQVu.js";import{C as H}from"./circle-check-big-Bkba568b.js";import{R as U}from"./refresh-cw-C-iZkzuS.js";import{R}from"./rotate-ccw-qzrB3SNw.js";import{R as J}from"./radio-C5c9IyqX.js";import{B as Z}from"./bot-DvEcyQcD.js";import{S as W}from"./server-BzisF3LL.js";import{N as K}from"./network-C9RXQGrV.js";import{P as Q}from"./play-Cl1nC_gc.js";import{M as X}from"./message-square-CRsG9u6_.js";import{D as Y}from"./TitanCanvas-xHAJqwG2.js";import"./zoom-out-D47_pRAO.js";import"./ConfirmDialog-VErHWAbo.js";import"./Modal-ybPGvlQs.js";import"./clsx-B-dksMZM.js";import"./Button-MdXmb4_n.js";import"./square-BBC-JKzY.js";import"./plus-Dpo1qfrl.js";import"./file-text-Cfawu8Bs.js";import"./settings-Dbwd1_-c.js";import"./terminal-DaBIlWEM.js";import"./book-open-ohEXgUsS.js";import"./pencil-BK5IU6o0.js";import"./search-D10l0m3-.js";import"./send-DtXGsaFW.js";import"./mic-B32RHc7Y.js";import"./flask-conical-Ql8QxhgY.js";import"./clock-JyQAYy6X.js";import"./archive-Bh689DNg.js";import"./test-tube-CDATRD5t.js";import"./VoiceOverlay-Br4QnCtw.js";import"./chevron-right-DbLSHmff.js";import"./volume-2-DYDBmm3M.js";import"./folder-DAdIw-Pb.js";import"./check-CuRYh4Zh.js";import"./shield-check-CXlDJyAW.js";import"./external-link-DZ_rZsIt.js";import"./wifi-off-BBuIGbiP.js";import"./chart-column-w3goFd5f.js";import"./link-CnFkBkaY.js";import"./trash-2-CTeyjxD_.js";/**
2
- * @license lucide-react v0.513.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const ee=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],se=M("graduation-cap",ee);/**
7
- * @license lucide-react v0.513.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const te=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],ae=M("puzzle",te),v=[{key:"autonomy-mode",label:"Autonomous Mode",description:"TITAN acts without asking for approval on moderate-risk tools. Supervised = asks for dangerous ops. Locked = asks for everything.",icon:e.jsx(E,{className:"h-4 w-4"}),section:"autonomy",field:"mode",danger:!0},{key:"autonomy-autoProposeGoals",label:"Auto-Propose Goals",description:"TITAN can create its own goals from drives, observations, and initiatives.",icon:e.jsx(g,{className:"h-4 w-4"}),section:"autonomy",field:"autoProposeGoals"},{key:"autonomy-proactiveInitiative",label:"Proactive Initiative",description:"TITAN takes initiative on its own between user messages.",icon:e.jsx(J,{className:"h-4 w-4"}),section:"autonomy",field:"proactiveInitiative"},{key:"selfMod-enabled",label:"Self-Modification",description:"Captures autonomous code changes and queues them for review.",icon:e.jsx(Z,{className:"h-4 w-4"}),section:"selfMod",field:"enabled",danger:!0},{key:"selfMod-autoPR",label:"Auto-Open PRs",description:"When specialists approve a self-mod, automatically open a GitHub PR.",icon:e.jsx(oe,{className:"h-4 w-4"}),section:"selfMod",field:"autoPR"},{key:"commandPost-enabled",label:"Command Post",description:"Org chart, agent registry, approvals, budgets, and goal tracking.",icon:e.jsx(W,{className:"h-4 w-4"}),section:"commandPost",field:"enabled"},{key:"mesh-enabled",label:"Mesh Networking",description:"Distributed TITAN nodes. Share tasks and models across machines.",icon:e.jsx(K,{className:"h-4 w-4"}),section:"mesh",field:"enabled"},{key:"autopilot-enabled",label:"Autopilot",description:"Nightly autonomous checks, goal reviews, and self-improvement runs.",icon:e.jsx(Q,{className:"h-4 w-4"}),section:"autopilot",field:"enabled"},{key:"autopilot-selfInitiate",label:"Autopilot Self-Initiate",description:"Autopilot can create and start its own goals without human trigger.",icon:e.jsx(g,{className:"h-4 w-4"}),section:"autopilot",field:"selfInitiate"},{key:"brain-enabled",label:"Brain (Local Router)",description:"Small local model routes tools instead of sending full schemas to the cloud LLM.",icon:e.jsx(q,{className:"h-4 w-4"}),section:"brain",field:"enabled"},{key:"mcp-server-enabled",label:"MCP Server",description:"Expose TITAN tools as a Model Context Protocol server for other AI apps.",icon:e.jsx(ae,{className:"h-4 w-4"}),section:"mcp",field:"serverEnabled"},{key:"training-enabled",label:"Model Training",description:"Fine-tune local LoRA adapters from session history.",icon:e.jsx(se,{className:"h-4 w-4"}),section:"training",field:"enabled"},{key:"teams-enabled",label:"Teams",description:"Multi-user teams with roles, invites, and permissions.",icon:e.jsx(G,{className:"h-4 w-4"}),section:"teams",field:"enabled"},{key:"tunnel-enabled",label:"Cloudflare Tunnel",description:"Expose TITAN securely on the public internet via Cloudflare.",icon:e.jsx(V,{className:"h-4 w-4"}),section:"tunnel",field:"enabled"},{key:"vault-enabled",label:"Vault",description:"Encrypted secret storage for API keys and credentials.",icon:e.jsx(I,{className:"h-4 w-4"}),section:"vault",field:"enabled"},{key:"capsolver-enabled",label:"CAPTCHA Solver",description:"Automatically solve CAPTCHAs during web browsing.",icon:e.jsx(I,{className:"h-4 w-4"}),section:"capsolver",field:"enabled"},{key:"deliberation-autoDetect",label:"Auto-Deliberation",description:"TITAN automatically deliberates on complex tasks before acting.",icon:e.jsx(X,{className:"h-4 w-4"}),section:"deliberation",field:"autoDetect"},{key:"selfImprove-autoApply",label:"Auto-Apply Self-Improvements",description:"Apply prompt and config improvements automatically without approval.",icon:e.jsx(g,{className:"h-4 w-4"}),section:"selfImprove",field:"autoApply"},{key:"memory-vectorSearchEnabled",label:"Vector Memory Search",description:"Semantic search across episodic memories using embeddings.",icon:e.jsx(Y,{className:"h-4 w-4"}),section:"memory",field:"vectorSearchEnabled"}];function oe({className:n}){return e.jsx("svg",{className:n,viewBox:"0 0 24 24",fill:"currentColor",children:e.jsx("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"})})}function P({active:n}){return n?e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-success/15 px-2 py-0.5 text-[10px] font-medium text-success",children:[e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-success shadow-[0_0_4px_rgba(34,197,94,0.4)]"}),"ON"]}):e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-bg-tertiary px-2 py-0.5 text-[10px] font-medium text-text-muted",children:[e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-border-light"}),"OFF"]})}function Je(){const[n,y]=c.useState(null),[L,N]=c.useState(!0),[x,j]=c.useState(!1),[f,m]=c.useState(!1),[p,w]=c.useState(null),[d,k]=c.useState(new Set),[h,A]=c.useState({}),l=c.useCallback((s,t)=>{w({type:s,message:t}),setTimeout(()=>w(null),4e3)},[]);c.useEffect(()=>{B().then(s=>{y(s),N(!1)}).catch(s=>{l("error",s instanceof Error?s.message:"Failed to load config"),N(!1)})},[l]);const u=(s,t)=>{if(t==="serverEnabled"){const a=n==null?void 0:n.mcp,r=a==null?void 0:a.server;return!!(r!=null&&r.enabled)}if(t==="selfInitiate"){const a=n==null?void 0:n.autopilot,r=a==null?void 0:a.goals;return!!(r!=null&&r.selfInitiate)}const o=`${s}.${t}`;if(o in h)return h[o];const i=n==null?void 0:n[s];return i?i[t]:!1},S=(s,t,o)=>{const i=`${s}.${t}`;A(a=>({...a,[i]:o})),k(a=>new Set(a).add(i))},$=v.filter(s=>{const t=u(s.section,s.field);return typeof t=="boolean"?t:t==="autonomous"}).length,z=async()=>{j(!0);try{const s={};for(const o of d){const[i,a]=o.split("."),r=h[o];s[i]||(s[i]={}),a==="serverEnabled"?(s.mcp||(s.mcp={}),s.mcp.server={enabled:r}):a==="selfInitiate"?(s.autopilot||(s.autopilot={}),s.autopilot.goals={selfInitiate:r}):s[i][a]=r}const t=await O(s);y(t),A({}),k(new Set),T("autonomy_settings_saved",{changedCount:d.size}),l("success",`Saved ${d.size} change${d.size!==1?"s":""}`)}catch(s){l("error",s instanceof Error?s.message:"Failed to save")}finally{j(!1)}},_=async()=>{m(!0);try{const s=await b("/api/system/request-restart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:"Settings change via Autonomy Panel",requestedBy:"user"})});if(!s.ok){const r=await s.json().catch(()=>({error:"Request failed"}));l("error",r.error||"Restart request failed"),m(!1);return}const{approval:t}=await s.json(),o=await b(`/api/command-post/approvals/${t.id}/approve`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({decidedBy:"user",note:"Approved via Autonomy Panel"})});if(!o.ok){const r=await o.json().catch(()=>({error:"Approval failed"}));l("error",r.error||"Restart approval failed"),m(!1);return}l("info","TITAN is restarting..."),T("titan_restart_initiated",{source:"autonomy_panel"});let i=0;const a=setInterval(async()=>{i++;try{(await b("/api/health")).ok&&(clearInterval(a),m(!1),l("success","TITAN restarted successfully"))}catch{}i>30&&(clearInterval(a),m(!1),l("error","Restart timed out — check Titan PC"))},2e3)}catch(s){l("error",s instanceof Error?s.message:"Restart failed"),m(!1)}};return L?e.jsx("div",{className:"space-y-4",children:Array.from({length:4}).map((s,t)=>e.jsx("div",{className:"h-32 animate-pulse rounded-xl border border-border bg-bg-secondary"},t))}):e.jsxs("div",{className:"space-y-5",children:[e.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-base font-semibold text-text",children:"Autonomy & Features"}),e.jsxs("p",{className:"mt-0.5 text-xs text-text-muted",children:[$," of ",v.length," features active"]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[d.size>0&&e.jsxs("span",{className:"rounded-full bg-accent/15 px-2.5 py-1 text-[10px] font-medium text-accent",children:[d.size," unsaved"]}),e.jsxs("button",{onClick:z,disabled:x||d.size===0,className:"flex items-center gap-1.5 rounded-lg bg-accent px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-accent/80 disabled:opacity-50",children:[x?e.jsx(C,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(D,{className:"h-3.5 w-3.5"}),x?"Saving…":"Save Changes"]})]})]}),p&&e.jsxs("div",{className:`flex items-center gap-2 rounded-lg border px-3 py-2 text-xs ${p.type==="success"?"border-success/50 text-success":p.type==="error"?"border-error/50 text-error":"border-accent/50 text-accent"}`,children:[p.type==="success"?e.jsx(H,{className:"h-4 w-4"}):p.type==="error"?e.jsx(F,{className:"h-4 w-4"}):e.jsx(U,{className:"h-4 w-4 animate-spin"}),p.message]}),e.jsxs("div",{className:"rounded-xl border border-border bg-bg-secondary p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(E,{className:"h-4 w-4 text-accent"}),e.jsx("h3",{className:"text-sm font-medium text-text",children:"Autonomy Level"}),e.jsx(P,{active:u("autonomy","mode")==="autonomous"})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-2",children:["locked","supervised","autonomous"].map(s=>e.jsxs("button",{onClick:()=>S("autonomy","mode",s),className:`rounded-lg border p-3 text-left transition-all ${u("autonomy","mode")===s?"border-accent bg-accent/10":"border-border hover:border-border-light"}`,children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-xs font-medium text-text capitalize",children:s}),s==="autonomous"&&e.jsx("span",{className:"text-[9px] text-error",children:"High"}),s==="supervised"&&e.jsx("span",{className:"text-[9px] text-warning",children:"Med"}),s==="locked"&&e.jsx("span",{className:"text-[9px] text-success",children:"Low"})]}),e.jsxs("p",{className:"mt-1 text-[10px] text-text-muted leading-relaxed",children:[s==="locked"&&"Asks for approval on every tool call.",s==="supervised"&&"Auto-approves safe tools. Asks for dangerous ops.",s==="autonomous"&&"Full auto. Only asks for destructive/rare ops."]})]},s))})]}),e.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-3",children:v.filter(s=>s.field!=="mode").map(s=>{const t=u(s.section,s.field),o=typeof t=="boolean"?t:!1,i=d.has(`${s.section}.${s.field}`);return e.jsxs("div",{className:`flex items-start gap-3 rounded-xl border p-3 transition-colors ${i?"border-accent/40 bg-accent/5":"border-border bg-bg-secondary"}`,children:[e.jsx("div",{className:`mt-0.5 flex-shrink-0 rounded-lg p-2 ${o?"bg-accent/15 text-accent":"bg-bg-tertiary text-text-muted"}`,children:s.icon}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-sm font-medium text-text",children:s.label}),e.jsx(P,{active:o})]}),e.jsx("p",{className:"mt-0.5 text-[11px] text-text-muted leading-relaxed",children:s.description})]}),e.jsxs("label",{className:"flex-shrink-0 relative inline-flex items-center cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:o,onChange:a=>S(s.section,s.field,a.target.checked),className:"sr-only peer"}),e.jsx("div",{className:`relative w-9 h-5 rounded-full transition-colors ${o?"bg-accent":"bg-border"}`,children:e.jsx("div",{className:`absolute top-[2px] left-[2px] bg-white w-4 h-4 rounded-full transition-transform ${o?"translate-x-4":"translate-x-0"}`})})]})]},s.key)})}),e.jsx("div",{className:"rounded-xl border border-warning/30 bg-warning/5 p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(R,{className:"h-4 w-4 text-warning mt-0.5"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-sm font-medium text-text",children:"Restart TITAN"}),e.jsx("p",{className:"mt-0.5 text-[11px] text-text-muted",children:"Some feature changes require a full restart to take effect. This will briefly interrupt service."})]}),e.jsxs("button",{onClick:_,disabled:f,className:"flex items-center gap-1.5 rounded-lg border border-warning/50 px-3 py-1.5 text-xs font-medium text-warning transition-colors hover:bg-warning/10 disabled:opacity-50",children:[f?e.jsx(C,{className:"h-3.5 w-3.5 animate-spin"}):e.jsx(R,{className:"h-3.5 w-3.5"}),f?"Restarting…":"Restart"]})]})})]})}export{Je as default};
@@ -1 +0,0 @@
1
- import{r,b as n,j as e}from"./index-Cml2x9pA.js";import{P as c}from"./PageHeader-DdrbS1aq.js";import"./chevron-right-DbLSHmff.js";function p(){const[t,s]=r.useState(null),[l,i]=r.useState(!0);return r.useEffect(()=>{n("/api/config",{headers:{"Content-Type":"application/json"}}).then(a=>a.json()).then(a=>{var o,d;return s({mode:((o=a.autonomy)==null?void 0:o.mode)||"supervised",interval:(d=a.autonomy)==null?void 0:d.autopilotIntervalMs})}).catch(()=>s({mode:"supervised"})).finally(()=>i(!1))},[]),l?e.jsx("div",{className:"text-[var(--text-muted)]",children:"Loading autopilot config..."}):e.jsxs("div",{className:"space-y-6",children:[e.jsx(c,{title:"Autopilot",breadcrumbs:[{label:"Admin",href:"/overview"},{label:"Agent"},{label:"Autopilot"}]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-4",children:[e.jsx("p",{className:"text-sm text-[var(--text-muted)]",children:"Mode"}),e.jsx("p",{className:"text-lg font-semibold text-[var(--text)] capitalize",children:t==null?void 0:t.mode})]}),e.jsxs("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-4",children:[e.jsx("p",{className:"text-sm text-[var(--text-muted)]",children:"Interval"}),e.jsx("p",{className:"text-lg font-semibold text-[var(--text)]",children:t!=null&&t.interval?`${Math.round(t.interval/6e4)} min`:"Not set"})]})]}),e.jsx("div",{className:"bg-[var(--bg-secondary)] border border-[var(--border)] rounded-lg p-4",children:e.jsx("p",{className:"text-sm text-[var(--text-muted)]",children:"Autopilot mode enables TITAN to run scheduled tasks automatically. Configure via titan.json."})})]})}export{p as default};
@@ -1,6 +0,0 @@
1
- import{c as q,r as p,b as A,j as e,a9 as O,$ as W}from"./index-Cml2x9pA.js";import{P as B}from"./PageHeader-DdrbS1aq.js";import{P as M}from"./play-Cl1nC_gc.js";import{P as H}from"./pause-BT1Bc2q3.js";import{R as G}from"./refresh-cw-C-iZkzuS.js";import{F as P}from"./flask-conical-Ql8QxhgY.js";import{T as U}from"./trophy-DbVdXRtU.js";import{T as V}from"./trending-up-CXPRjRV4.js";import{C as J}from"./clock-JyQAYy6X.js";import{C as K}from"./chevron-right-DbLSHmff.js";/**
2
- * @license lucide-react v0.513.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const X=[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],Y=q("settings-2",X);function L(t){const x=Date.now()-new Date(t).getTime(),i=Math.floor(x/6e4);if(i<1)return"just now";if(i<60)return`${i}m ago`;const a=Math.floor(i/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function D(t){if(t<60)return`${Math.round(t)}s`;const x=Math.floor(t/60),i=Math.round(t%60);return`${x}m ${i}s`}function Q({runs:t}){if(t.length<2)return e.jsx("div",{className:"flex items-center justify-center h-[200px] rounded-xl border border-bg-tertiary bg-bg-secondary text-text-muted text-sm",children:"Need at least 2 runs to show chart"});const x=800,i=200,a={top:20,right:20,bottom:30,left:50},b=x-a.left-a.right,$=i-a.top-a.bottom,N=t.map(r=>r.val_score),y=Math.max(0,Math.min(...N)-5),_=Math.min(100,Math.max(...N)+5),j=t.length>0?t[0].val_score:null,f=r=>a.left+r/(t.length-1)*b,S=r=>a.top+$-(r-y)/(_-y)*$,v=t.map((r,l)=>`${l===0?"M":"L"} ${f(l)} ${S(r.val_score)}`).join(" "),d=j!=null?S(j):null;return e.jsxs("div",{className:"rounded-xl border border-bg-tertiary bg-bg-secondary p-4 overflow-x-auto",children:[e.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Val Score Over Time"}),e.jsxs("svg",{viewBox:`0 0 ${x} ${i}`,className:"w-full",style:{minWidth:400},children:[[0,.25,.5,.75,1].map(r=>{const l=a.top+$*(1-r),R=y+(_-y)*r;return e.jsxs("g",{children:[e.jsx("line",{x1:a.left,y1:l,x2:x-a.right,y2:l,stroke:"#27272a",strokeWidth:"1"}),e.jsx("text",{x:a.left-8,y:l+4,textAnchor:"end",fill:"#52525b",fontSize:"10",children:R.toFixed(0)})]},r)}),j!=null&&j>=y&&j<=_&&d!=null&&e.jsxs("g",{children:[e.jsx("line",{x1:a.left,y1:d,x2:x-a.right,y2:d,stroke:"#eab308",strokeWidth:"1",strokeDasharray:"6,4"}),e.jsx("text",{x:x-a.right+4,y:d+3,fill:"#eab308",fontSize:"9",children:"baseline"})]}),e.jsx("path",{d:v,fill:"none",stroke:"#8b5cf6",strokeWidth:"2"}),t.map((r,l)=>{const R=l>0&&r.val_score>t[l-1].val_score,m=l>0&&r.val_score<t[l-1].val_score?"var(--color-error)":R?"var(--color-success)":"var(--color-purple)";return e.jsx("circle",{cx:f(l),cy:S(r.val_score),r:"4",fill:m,stroke:"#18181b",strokeWidth:"2",children:e.jsxs("title",{children:["Run ",l+1,": ",r.val_score," (",L(r.timestamp),")"]})},l)}),t.map((r,l)=>t.length>10&&l%Math.ceil(t.length/10)!==0&&l!==t.length-1?null:e.jsxs("text",{x:f(l),y:i-5,textAnchor:"middle",fill:"#52525b",fontSize:"9",children:["#",l+1]},l))]})]})}function C({icon:t,label:x,value:i,sub:a,color:b="text-text"}){return e.jsxs("div",{className:"rounded-xl border border-bg-tertiary bg-bg-secondary p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:"text-text-muted",children:t}),e.jsx("span",{className:"text-[10px] font-medium text-text-muted uppercase tracking-wider",children:x})]}),e.jsx("div",{className:`text-2xl font-bold ${b}`,children:i}),a&&e.jsx("div",{className:"text-[10px] text-text-muted mt-0.5",children:a})]})}function ie(){const[t,x]=p.useState([]),[i,a]=p.useState(!0),[b,$]=p.useState(!1),[N,y]=p.useState(null),[_,j]=p.useState(!1),[f,S]=p.useState(!1),v=p.useRef(null),d=p.useCallback((s,h)=>{y({type:s,message:h}),setTimeout(()=>y(null),3e3)},[]),r=p.useCallback(async()=>{try{const s=await A("/api/autoresearch/results");if(s.ok){const h=await s.json();x(h.runs||[])}}catch{}finally{a(!1)}},[]);p.useEffect(()=>{r()},[r]),p.useEffect(()=>(f?v.current&&(clearInterval(v.current),v.current=null):v.current=setInterval(r,3e4),()=>{v.current&&clearInterval(v.current)}),[f,r]);const l=async()=>{j(!0);try{(await A("/api/autoresearch/trigger",{method:"POST"})).ok?d("success","Autoresearch experiment started"):d("error","Failed to trigger experiment")}catch{d("error","Failed to connect to API")}finally{j(!1)}},R=async()=>{try{(await A("/api/message",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:"Deploy the best autoresearch LoRA adapter to Ollama. Use train_deploy."})})).ok?d("success","Deploying best model to Ollama..."):d("error","Failed to start deployment")}catch{d("error","Connection error")}},w=t.length>0?Math.max(...t.map(s=>s.val_score)):0,m=t.length>0?t[0].val_score:null,k=m!=null&&t.length>0?t.reduce((s,h)=>s+(h.val_score-m),0)/t.length:null,u=t.length>0?t[t.length-1]:null,g=u==null?void 0:u.hyperparams,F=(s,h)=>{const c=[],o=s.hyperparams,n=h.hyperparams;return o.lr!==n.lr&&c.push(`LR: ${n.lr} → ${o.lr}`),o.rank!==n.rank&&c.push(`Rank: ${n.rank} → ${o.rank}`),o.alpha!==n.alpha&&c.push(`Alpha: ${n.alpha} → ${o.alpha}`),o.epochs!==n.epochs&&c.push(`Epochs: ${n.epochs} → ${o.epochs}`),o.batch_size!==n.batch_size&&c.push(`Batch: ${n.batch_size} → ${o.batch_size}`),o.dropout!==n.dropout&&c.push(`Dropout: ${n.dropout} → ${o.dropout}`),o.grad_accum!==n.grad_accum&&c.push(`GradAccum: ${n.grad_accum} → ${o.grad_accum}`),o.max_seq_len!==n.max_seq_len&&c.push(`SeqLen: ${n.max_seq_len} → ${o.max_seq_len}`),c.length>0?c:["No changes"]};return i?e.jsx("div",{className:"space-y-4",children:[1,2,3].map(s=>e.jsx("div",{className:"h-20 animate-pulse rounded-xl border border-border bg-bg-secondary"},s))}):e.jsxs("div",{className:"space-y-6 max-w-6xl",children:[N&&e.jsx("div",{className:`fixed top-4 right-4 z-50 rounded-lg px-4 py-2.5 text-sm font-medium shadow-lg ${N.type==="success"?"bg-success/20 text-success border border-success/30":"bg-error/20 text-error border border-error/30"}`,children:N.message}),e.jsx(B,{title:"Autoresearch",subtitle:"Autonomous hyper-parameter search and LoRA fine-tuning",breadcrumbs:[{label:"Admin",href:"/overview"},{label:"Knowledge"},{label:"Autoresearch"}],actions:e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>S(!f),className:"flex items-center gap-1 rounded-lg border border-bg-tertiary px-2.5 py-1.5 text-xs text-text-secondary hover:bg-bg-tertiary",children:[f?e.jsx(M,{className:"h-3 w-3"}):e.jsx(H,{className:"h-3 w-3"}),f?"Resume":"Pause"]}),e.jsx("button",{onClick:r,className:"flex items-center gap-1 rounded-lg border border-bg-tertiary px-2.5 py-1.5 text-xs text-text-secondary hover:bg-bg-tertiary",children:e.jsx(G,{className:"h-3 w-3"})})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:[e.jsx(C,{icon:e.jsx(P,{className:"h-4 w-4"}),label:"Total Runs",value:t.length}),e.jsx(C,{icon:e.jsx(U,{className:"h-4 w-4"}),label:"Best Val Score",value:w>0?w.toFixed(1):"—",sub:m!=null&&w>m?`+${(w-m).toFixed(1)} from baseline`:void 0,color:m!=null&&w>m?"text-success":"text-text"}),e.jsx(C,{icon:e.jsx(V,{className:"h-4 w-4"}),label:"Avg Improvement",value:k!=null?`${k>=0?"+":""}${k.toFixed(1)}`:"—",color:k!=null?k>0?"text-success":k<0?"text-error":"text-text":"text-text"}),e.jsx(C,{icon:e.jsx(J,{className:"h-4 w-4"}),label:"Last Run",value:u?L(u.timestamp):"Never",sub:u?`Score: ${u.val_score}`:void 0})]}),e.jsx(Q,{runs:t}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("button",{onClick:l,disabled:_,className:"flex items-center gap-2 rounded-lg bg-purple px-4 py-2 text-sm font-medium text-white hover:bg-[#7c3aed] disabled:opacity-50",children:[e.jsx(M,{className:"h-4 w-4"}),_?"Starting...":"Run Experiment"]}),e.jsxs("button",{onClick:R,disabled:t.length===0,className:"flex items-center gap-2 rounded-lg border border-bg-tertiary px-4 py-2 text-sm font-medium text-text-secondary hover:bg-bg-tertiary disabled:opacity-50",children:[e.jsx(O,{className:"h-4 w-4"}),"Deploy Best Model"]}),u&&e.jsxs("span",{className:"text-xs text-text-muted",children:[u.num_examples," training examples · ",D(u.training_time_s)]})]}),t.length>0&&e.jsxs("div",{className:"rounded-xl border border-bg-tertiary bg-bg-secondary overflow-hidden",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-bg-tertiary",children:[e.jsx("h3",{className:"text-sm font-medium text-text",children:"What Made TITAN Better"}),e.jsx("p",{className:"text-[10px] text-text-muted",children:"Experiment history — how each change affected val_score"})]}),e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-left text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-bg-tertiary",children:[e.jsx("th",{className:"px-4 py-2 text-[10px] font-medium text-text-muted",children:"#"}),e.jsx("th",{className:"px-4 py-2 text-[10px] font-medium text-text-muted",children:"Date"}),e.jsx("th",{className:"px-4 py-2 text-[10px] font-medium text-text-muted",children:"Changes"}),e.jsx("th",{className:"px-4 py-2 text-[10px] font-medium text-text-muted text-right",children:"Score"}),e.jsx("th",{className:"px-4 py-2 text-[10px] font-medium text-text-muted text-right",children:"Δ"}),e.jsx("th",{className:"px-4 py-2 text-[10px] font-medium text-text-muted text-right",children:"Duration"}),e.jsx("th",{className:"px-4 py-2 text-[10px] font-medium text-text-muted text-right",children:"Examples"})]})}),e.jsx("tbody",{children:[...t].reverse().map((s,h)=>{const c=t.length-1-h,o=c>0?t[c-1]:null,n=o?s.val_score-o.val_score:m!=null?s.val_score-m:0,z=o?F(s,o):["Initial run"],T=new Date(s.timestamp);return e.jsxs("tr",{className:"border-b border-bg-tertiary last:border-0 hover:bg-[#27272a30]",children:[e.jsx("td",{className:"px-4 py-2 text-text-muted font-mono",children:c+1}),e.jsxs("td",{className:"px-4 py-2 text-text-secondary",children:[T.toLocaleDateString()," ",T.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})]}),e.jsx("td",{className:"px-4 py-2 text-text-secondary",children:z.map((E,I)=>e.jsx("span",{className:"inline-block mr-1.5 rounded bg-bg-tertiary px-1.5 py-0.5 text-[10px] font-mono",children:E},I))}),e.jsx("td",{className:"px-4 py-2 text-right font-mono text-text font-medium",children:s.val_score.toFixed(1)}),e.jsx("td",{className:"px-4 py-2 text-right font-mono",children:e.jsxs("span",{className:n>0?"text-success":n<0?"text-error":"text-text-muted",children:[n>0?"+":"",n.toFixed(1)]})}),e.jsx("td",{className:"px-4 py-2 text-right text-text-muted",children:D(s.training_time_s)}),e.jsx("td",{className:"px-4 py-2 text-right text-text-muted",children:s.num_examples})]},c)})})]})})]}),e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>$(!b),className:"flex w-full items-center gap-2 text-xs font-medium text-text-secondary uppercase tracking-wider hover:text-text",children:[b?e.jsx(W,{className:"h-3.5 w-3.5"}):e.jsx(K,{className:"h-3.5 w-3.5"}),e.jsx(Y,{className:"h-3.5 w-3.5"}),"Current Hyperparameters"]}),b&&g&&e.jsx("div",{className:"mt-3 grid grid-cols-2 gap-2 sm:grid-cols-4",children:[{label:"Learning Rate",value:g.lr},{label:"LoRA Rank",value:g.rank},{label:"LoRA Alpha",value:g.alpha},{label:"Dropout",value:g.dropout},{label:"Epochs",value:g.epochs},{label:"Batch Size",value:g.batch_size},{label:"Grad Accum",value:g.grad_accum},{label:"Max Seq Len",value:g.max_seq_len}].map(({label:s,value:h})=>e.jsxs("div",{className:"rounded-lg border border-bg-tertiary bg-bg-secondary px-3 py-2",children:[e.jsx("div",{className:"text-[10px] text-text-muted uppercase tracking-wider",children:s}),e.jsx("div",{className:"text-sm font-mono text-text mt-0.5",children:h})]},s))}),b&&!g&&e.jsx("div",{className:"mt-3 rounded-lg border border-bg-tertiary bg-bg-secondary px-4 py-3 text-xs text-text-muted",children:"No runs yet — hyperparameters will appear after the first experiment"})]}),t.length===0&&e.jsxs("div",{className:"rounded-xl border border-bg-tertiary bg-bg-secondary p-8 text-center",children:[e.jsx(P,{className:"h-8 w-8 text-text-muted mx-auto mb-3"}),e.jsx("p",{className:"text-sm text-text-secondary",children:"No autoresearch runs yet"}),e.jsx("p",{className:"text-xs text-text-muted mt-1",children:'Click "Run Experiment" to start fine-tuning qwen3.5:35b on the RTX 5090'})]})]})}export{ie as default};
@@ -1 +0,0 @@
1
- import{t as h,r as t,aQ as g,j as e,aR as b,aS as y}from"./index-Cml2x9pA.js";import{P as k}from"./PageHeader-DdrbS1aq.js";import{P as j}from"./plus-Dpo1qfrl.js";import{R as v}from"./refresh-cw-C-iZkzuS.js";import{A as N}from"./archive-Bh689DNg.js";import{C as B}from"./circle-check-big-Bkba568b.js";import"./chevron-right-DbLSHmff.js";function $(){const{toast:s}=h(),[i,u]=t.useState([]),[c,l]=t.useState(!0),[n,d]=t.useState(!1),[o,m]=t.useState(null),r=t.useCallback(async()=>{l(!0);try{const a=await g();u(a.backups||[])}catch(a){s("error",`Couldn't load backups — try again. (${a.message})`)}l(!1)},[s]);t.useEffect(()=>{r()},[r]);const p=async()=>{d(!0);try{await b(),await r(),s("success","Backup created.")}catch(a){s("error",`Couldn't create backup — try again. (${a.message})`)}d(!1)},x=async a=>{m(a);try{await y(a),s("success","Backup verified successfully.")}catch(f){s("error",`Backup verification failed. (${f.message})`)}m(null)};return e.jsxs("div",{className:"space-y-4",children:[e.jsx(k,{title:"Backup Manager",breadcrumbs:[{label:"Admin",href:"/overview"},{label:"System"},{label:"Backups"}]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("button",{onClick:p,disabled:n,className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-[#6366f1] text-white text-sm font-medium hover:bg-[#4f46e5] disabled:opacity-50",children:[e.jsx(j,{className:"w-4 h-4"})," ",n?"Creating...":"Create Backup"]}),e.jsxs("button",{onClick:r,disabled:c,className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-[#27272a] text-[#a1a1aa] text-sm font-medium hover:bg-[#3f3f46] disabled:opacity-50",children:[e.jsx(v,{className:`w-4 h-4 ${c?"animate-spin":""}`})," Refresh"]})]}),i.length===0&&!c&&e.jsx("div",{className:"text-sm text-[#52525b]",children:"No backups found."}),e.jsx("div",{className:"space-y-2",children:i.map(a=>e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg bg-[#0a0a0f] border border-[#27272a]",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(N,{className:"w-4 h-4 text-[#6366f1]"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-[#e4e4e7]",children:new Date(a.createdAt).toLocaleString()}),e.jsxs("div",{className:"text-xs text-[#52525b]",children:[(a.sizeBytes/1024/1024).toFixed(1)," MB"]})]})]}),e.jsxs("button",{onClick:()=>x(a.path),disabled:o===a.path,className:"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md bg-[#27272a] text-[#a1a1aa] text-xs hover:bg-[#3f3f46] disabled:opacity-50",children:[e.jsx(B,{className:"w-3.5 h-3.5"})," ",o===a.path?"Verifying...":"Verify"]})]},a.path))})]})}export{$ as default};
@@ -1,6 +0,0 @@
1
- import{c as i,r as s,j as e,G as m,az as p}from"./index-Cml2x9pA.js";import{P as h}from"./PageHeader-DdrbS1aq.js";import"./chevron-right-DbLSHmff.js";/**
2
- * @license lucide-react v0.513.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const x=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],u=i("wand-sparkles",x);function v(){const[t,n]=s.useState(""),[r,o]=s.useState(""),[l,d]=s.useState(!1),c=async()=>{if(t.trim()){d(!0);try{const a=await p(t);o(a.token||a.error||"No result")}catch(a){o(String(a))}d(!1)}};return e.jsxs("div",{className:"space-y-4",children:[e.jsx(h,{title:"Browser Tools",breadcrumbs:[{label:"Admin",href:"/overview"},{label:"Tools"},{label:"Browser"}]}),e.jsxs("div",{className:"p-3 rounded-lg bg-[#0a0a0f] border border-[#27272a]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(m,{className:"w-4 h-4 text-[#6366f1]"}),e.jsx("span",{className:"text-sm font-medium text-[#e4e4e7]",children:"Captcha Solver"})]}),e.jsx("textarea",{value:t,onChange:a=>n(a.target.value),placeholder:"Paste base64 image...",className:"w-full h-24 p-2 rounded-md bg-[#27272a] border border-[#3f3f46] text-xs text-[#e4e4e7] placeholder-[#52525b] font-mono resize-none"}),e.jsxs("button",{onClick:c,disabled:l,className:"mt-2 flex items-center gap-2 px-3 py-2 rounded-lg bg-[#6366f1] text-white text-sm font-medium hover:bg-[#4f46e5] disabled:opacity-50",children:[e.jsx(u,{className:"w-4 h-4"})," ",l?"Solving...":"Solve Captcha"]}),r&&e.jsx("div",{className:"mt-2 p-2 rounded-md bg-[#27272a] text-xs text-[#e4e4e7] font-mono break-all",children:r})]})]})}export{v as default};
@@ -1 +0,0 @@
1
- import{r as c,j as t,L as m}from"./index-Cml2x9pA.js";import{c as x}from"./clsx-B-dksMZM.js";const g={primary:"text-white shadow-sm glow-accent-hover bg-[image:var(--gradient-accent)] hover:brightness-110",secondary:"bg-bg-tertiary text-text border border-border hover:border-border-light hover:bg-bg-secondary",ghost:"text-text-secondary hover:text-text hover:bg-bg-tertiary",danger:"bg-error/10 text-error border border-error/20 hover:bg-error/20"},l={sm:"px-2.5 py-1 text-xs gap-1.5 rounded-md",md:"px-3.5 py-2 text-sm gap-2 rounded-lg",lg:"px-5 py-2.5 text-sm gap-2 rounded-lg"},p=c.forwardRef(({variant:o="primary",size:r="md",icon:s,loading:e,disabled:a,children:i,className:n,...d},b)=>t.jsxs("button",{ref:b,disabled:a||e,"aria-busy":e||void 0,className:x("inline-flex items-center justify-center font-medium transition-all","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50","disabled:opacity-50 disabled:pointer-events-none",g[o],l[r],n),...d,children:[e?t.jsx(m,{size:r==="sm"?14:16,className:"animate-spin"}):s,i]}));p.displayName="Button";export{p as B};
@@ -1 +0,0 @@
1
- import{r as a,z as b,j as e,A as u,Z as j,W as S,P as A,J as E}from"./index-Cml2x9pA.js";import"./Button-MdXmb4_n.js";import"./Input-CBTwa_Iw.js";import{P as N}from"./PageHeader-DdrbS1aq.js";import{E as C}from"./EmptyState-D9kQf1PX.js";import{T}from"./Tabs-DdUThlp1.js";import{S as w}from"./SkeletonLoader-r6OGXaU9.js";import{S as P}from"./shield-check-CXlDJyAW.js";import{D as $}from"./dollar-sign-XxwPAA2a.js";import{B as k}from"./bot-DvEcyQcD.js";import"./clsx-B-dksMZM.js";import"./chevron-right-DbLSHmff.js";function I(s){const r=Math.floor((Date.now()-new Date(s).getTime())/1e3);return r<60?`${r}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}const D={agent:k,goal:E,budget:$,approval:P,error:A,tool:S,system:j},M={agent:"text-accent",goal:"text-success",budget:"text-warning",approval:"text-info",error:"text-error",tool:"text-text-secondary",system:"text-text-muted"};function U(){const[s,r]=a.useState([]),[i,f]=a.useState(!0),[o,x]=a.useState(null),[n,h]=a.useState("all"),l=a.useRef(null),c=a.useCallback(async()=>{try{const t=await b(100);r(t),x(null)}catch(t){x(t instanceof Error?t.message:"Failed to load activity")}f(!1)},[]);a.useEffect(()=>(c(),l.current=setInterval(c,1e4),()=>{l.current&&clearInterval(l.current)}),[c]);const p=Array.from(new Set(s.map(t=>t.type))),g=[{id:"all",label:"All",count:s.length},...p.map(t=>({id:t,label:t.charAt(0).toUpperCase()+t.slice(1),count:s.filter(d=>d.type===t).length}))],m=n==="all"?s:s.filter(t=>t.type===n);return e.jsxs("div",{className:"space-y-4",children:[e.jsx(N,{title:"Activity",subtitle:"Auto-refreshes every 10s",breadcrumbs:[{label:"Command Post"},{label:"Activity"}]}),p.length>0&&e.jsx(T,{tabs:g,activeTab:n,onChange:h}),i&&e.jsx(w,{variant:"row",count:8}),o&&e.jsx("div",{className:"text-center py-8 text-error text-sm",children:o}),!i&&!o&&m.length===0&&e.jsx(C,{icon:e.jsx(u,{size:32}),title:"No activity",description:"Agent activity will appear here as events occur."}),!i&&!o&&m.length>0&&e.jsx("div",{className:"divide-y divide-border rounded-xl border border-border bg-bg-secondary overflow-hidden",children:m.map((t,d)=>{const v=D[t.type]??u,y=M[t.type]??"text-text-muted";return e.jsxs("div",{className:"flex items-start gap-3 px-4 py-2.5",children:[e.jsx(v,{size:14,className:`${y} mt-0.5 flex-shrink-0`}),e.jsx("span",{className:"flex-1 text-sm text-text-secondary",children:t.message}),t.agentId&&e.jsx("span",{className:"text-[10px] text-text-muted flex-shrink-0",children:t.agentId}),e.jsx("span",{className:"text-xs text-text-muted flex-shrink-0",children:I(t.timestamp)})]},`${t.id}-${d}`)})})]})}export{U as default};
@@ -1 +0,0 @@
1
- import{q as G,u as K,r as s,a1 as O,a0 as J,D as Q,aG as V,j as e,K as A,bh as W}from"./index-Cml2x9pA.js";import{B as T}from"./Button-MdXmb4_n.js";import"./Input-CBTwa_Iw.js";import{S as c}from"./StatusBadge-BqlvIbdj.js";import{P as x}from"./PageHeader-DdrbS1aq.js";import{E as X}from"./EmptyState-D9kQf1PX.js";import{T as Y}from"./Tabs-DdUThlp1.js";import{S as Z}from"./SkeletonLoader-r6OGXaU9.js";import{A as _}from"./arrow-left-WkVYLm80.js";import{C as ee}from"./circle-check-big-Bkba568b.js";import{D as te}from"./dollar-sign-XxwPAA2a.js";import{C as se}from"./clock-JyQAYy6X.js";import{S as ae}from"./save-DwR9wQVu.js";import"./clsx-B-dksMZM.js";import"./chevron-right-DbLSHmff.js";function k(a){const o=Math.floor((Date.now()-new Date(a).getTime())/1e3);return o<60?`${o}s`:o<3600?`${Math.floor(o/60)}m`:o<86400?`${Math.floor(o/3600)}h`:`${Math.floor(o/86400)}d`}function re(a){return a?a<1e3?`${a}ms`:`${(a/1e3).toFixed(1)}s`:"-"}function ve(){const{id:a}=G(),o=K(),[r,m]=s.useState(null),[n,E]=s.useState([]),[u,M]=s.useState([]),[P,b]=s.useState(!0),[p,i]=s.useState(null),[d,D]=s.useState("overview"),[h,g]=s.useState(""),[f,j]=s.useState(""),[v,N]=s.useState(""),[y,S]=s.useState(""),[z,C]=s.useState(!1),[R,$]=s.useState([]),w=s.useCallback(async()=>{if(a){try{const l=(await O()).find(q=>q.id===a);if(!l){i("Agent not found"),b(!1);return}m(l),g(l.role),j(l.reportsTo??""),N(l.title??""),S(l.model??"");const[H,U]=await Promise.all([J(a),Q({assignee:a})]);E(H),M(U),i(null)}catch(t){i(t instanceof Error?t.message:"Failed to load agent")}b(!1)}},[a]);s.useEffect(()=>{w()},[w]),s.useEffect(()=>{V().then(t=>$(t)).catch(()=>{})},[]);const B=async()=>{if(a){C(!0);try{const t=await W(a,{role:h,reportsTo:f||void 0,title:v||void 0,model:y||void 0});m(t)}catch{}C(!1)}},L=[{id:"overview",label:"Overview"},{id:"runs",label:"Runs",count:n.length},{id:"config",label:"Config"}];if(P)return e.jsxs("div",{className:"space-y-6",children:[e.jsx(x,{title:"Agent",breadcrumbs:[{label:"Command Post"},{label:"Agents",href:"/command-post/agents"},{label:"..."}]}),e.jsx(Z,{variant:"card",count:1})]});if(p||!r)return e.jsxs("div",{className:"space-y-6",children:[e.jsx(x,{title:"Agent",breadcrumbs:[{label:"Command Post"},{label:"Agents",href:"/command-post/agents"},{label:"Error"}]}),e.jsxs("div",{className:"text-center py-12",children:[e.jsx("p",{className:"text-error text-sm mb-4",children:p??"Agent not found"}),e.jsx(T,{variant:"secondary",size:"sm",onClick:()=>o("/command-post/agents"),children:"Back to Agents"})]})]});const I=Date.now()-new Date(r.createdAt).getTime(),F=Math.floor(I/36e5);return e.jsxs("div",{className:"space-y-4",children:[e.jsx(x,{title:r.name,subtitle:r.title??r.role,breadcrumbs:[{label:"Command Post"},{label:"Agents",href:"/command-post/agents"},{label:r.name}],actions:e.jsxs(A,{to:"/command-post/agents",className:"flex items-center gap-1 text-xs text-text-muted hover:text-text",children:[e.jsx(_,{size:14})," Back"]})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(c,{status:r.status}),e.jsxs("span",{className:"text-xs text-text-muted",children:["Last heartbeat: ",k(r.lastHeartbeat)," ago"]})]}),e.jsx(Y,{tabs:L,activeTab:d,onChange:D}),d==="overview"&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsxs("div",{className:"bg-bg-tertiary/50 border border-border rounded-xl p-4 text-center",children:[e.jsx(ee,{size:16,className:"text-success mx-auto mb-1"}),e.jsx("div",{className:"text-xl font-bold text-text",children:r.totalTasksCompleted}),e.jsx("div",{className:"text-[10px] text-text-muted",children:"Tasks Completed"})]}),e.jsxs("div",{className:"bg-bg-tertiary/50 border border-border rounded-xl p-4 text-center",children:[e.jsx(te,{size:16,className:"text-warning mx-auto mb-1"}),e.jsxs("div",{className:"text-xl font-bold text-text",children:["$",r.totalCostUsd.toFixed(4)]}),e.jsx("div",{className:"text-[10px] text-text-muted",children:"Total Cost"})]}),e.jsxs("div",{className:"bg-bg-tertiary/50 border border-border rounded-xl p-4 text-center",children:[e.jsx(se,{size:16,className:"text-accent mx-auto mb-1"}),e.jsxs("div",{className:"text-xl font-bold text-text",children:[F,"h"]}),e.jsx("div",{className:"text-[10px] text-text-muted",children:"Uptime"})]})]}),e.jsxs("div",{className:"bg-bg-secondary border border-border rounded-xl overflow-hidden",children:[e.jsx("div",{className:"px-4 py-3 border-b border-border",children:e.jsx("h3",{className:"text-sm font-semibold text-text",children:"Assigned Issues"})}),u.length===0?e.jsx("div",{className:"py-8 text-center text-xs text-text-muted",children:"No assigned issues"}):e.jsx("div",{className:"divide-y divide-border",children:u.map(t=>e.jsxs(A,{to:`/command-post/issues/${t.id}`,className:"flex items-center gap-2 px-4 py-2 hover:bg-bg-tertiary transition-colors",children:[e.jsx(c,{status:t.status,variant:"dot",size:"sm"}),e.jsx("span",{className:"text-xs text-text flex-1 truncate",children:t.title}),e.jsx("span",{className:"text-[10px] text-text-muted font-mono",children:t.identifier})]},t.id))})]})]}),d==="runs"&&e.jsx("div",{className:"bg-bg-secondary border border-border rounded-xl overflow-hidden",children:n.length===0?e.jsx(X,{title:"No runs",description:"This agent has not executed any runs yet."}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-border text-left",children:[e.jsx("th",{className:"px-4 py-2 text-text-muted font-medium",children:"Source"}),e.jsx("th",{className:"px-4 py-2 text-text-muted font-medium",children:"Status"}),e.jsx("th",{className:"px-4 py-2 text-text-muted font-medium",children:"Duration"}),e.jsx("th",{className:"px-4 py-2 text-text-muted font-medium",children:"Tools"}),e.jsx("th",{className:"px-4 py-2 text-text-muted font-medium",children:"Started"})]})}),e.jsx("tbody",{className:"divide-y divide-border",children:n.map(t=>e.jsxs("tr",{className:"hover:bg-bg-tertiary/50 transition-colors",children:[e.jsx("td",{className:"px-4 py-2 text-text-secondary capitalize",children:t.source}),e.jsx("td",{className:"px-4 py-2",children:e.jsx(c,{status:t.status,size:"sm"})}),e.jsx("td",{className:"px-4 py-2 text-text-secondary",children:re(t.durationMs)}),e.jsx("td",{className:"px-4 py-2 text-text-muted",children:t.toolsUsed.length}),e.jsxs("td",{className:"px-4 py-2 text-text-muted",children:[k(t.startedAt)," ago"]})]},t.id))})]})})}),d==="config"&&e.jsxs("div",{className:"bg-bg-secondary border border-border rounded-xl p-4 space-y-4 max-w-md",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs text-text-muted mb-1",children:"Role"}),e.jsx("select",{className:"w-full rounded-lg border border-border bg-bg-tertiary px-3 py-2 text-sm text-text focus:outline-none focus:border-accent",value:h,onChange:t=>g(t.target.value),children:["ceo","manager","engineer","researcher","general"].map(t=>e.jsx("option",{value:t,children:t},t))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs text-text-muted mb-1",children:"Reports To"}),e.jsx("input",{className:"w-full rounded-lg border border-border bg-bg-tertiary px-3 py-2 text-sm text-text placeholder:text-text-muted focus:outline-none focus:border-accent",placeholder:"Agent ID...",value:f,onChange:t=>j(t.target.value)})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs text-text-muted mb-1",children:"Title"}),e.jsx("input",{className:"w-full rounded-lg border border-border bg-bg-tertiary px-3 py-2 text-sm text-text placeholder:text-text-muted focus:outline-none focus:border-accent",placeholder:"e.g. Senior Engineer",value:v,onChange:t=>N(t.target.value)})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs text-text-muted mb-1",children:"Model"}),e.jsx("input",{list:"cp-agent-models",className:"w-full rounded-lg border border-border bg-bg-tertiary px-3 py-2 text-sm text-text placeholder:text-text-muted focus:outline-none focus:border-accent",placeholder:"e.g. ollama/qwen3.5:cloud",value:y,onChange:t=>S(t.target.value)}),e.jsx("datalist",{id:"cp-agent-models",children:R.map(t=>e.jsx("option",{value:t.id,children:t.name??t.id},t.id))})]}),e.jsx(T,{size:"sm",icon:e.jsx(ae,{size:14}),onClick:B,loading:z,children:"Save"})]})]})}export{ve as default};
@@ -1 +0,0 @@
1
- import{r,a1 as m,j as e,U as p,K as u,X as h,b as j}from"./index-Cml2x9pA.js";import"./Button-MdXmb4_n.js";import"./Input-CBTwa_Iw.js";import{S as g}from"./StatusBadge-BqlvIbdj.js";import{P as f}from"./PageHeader-DdrbS1aq.js";import{E as b}from"./EmptyState-D9kQf1PX.js";import{S as N}from"./SkeletonLoader-r6OGXaU9.js";import"./clsx-B-dksMZM.js";import"./chevron-right-DbLSHmff.js";function y(a){const s=Math.floor((Date.now()-new Date(a).getTime())/1e3);return s<60?`${s}s`:s<3600?`${Math.floor(s/60)}m`:s<86400?`${Math.floor(s/3600)}h`:`${Math.floor(s/86400)}d`}function v(a){const s=a.split("/");return s[s.length-1]}function L(){const[a,s]=r.useState([]),[c,d]=r.useState(!0),[o,l]=r.useState(null),i=r.useCallback(async()=>{try{const t=await m();s(t),l(null)}catch(t){l(t instanceof Error?t.message:"Failed to load agents")}d(!1)},[]);r.useEffect(()=>{i()},[i]);const x=async(t,n)=>{n.preventDefault(),n.stopPropagation();try{await j(`/api/command-post/agents/${t}`,{method:"DELETE"}),await i()}catch{}};return e.jsxs("div",{className:"space-y-4",children:[e.jsx(f,{title:"Agents",breadcrumbs:[{label:"Command Post"},{label:"Agents"}]}),c&&e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:e.jsx(N,{variant:"card",count:6})}),o&&e.jsx("div",{className:"text-center py-8 text-error text-sm",children:o}),!c&&!o&&a.length===0&&e.jsx(b,{icon:e.jsx(p,{size:32}),title:"No agents registered",description:"Agents will appear here once they connect to Command Post."}),!c&&!o&&a.length>0&&e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:a.map(t=>e.jsxs(u,{to:`/command-post/agents/${t.id}`,className:"relative bg-bg-secondary border border-border rounded-xl p-4 hover:border-border-light transition-colors group",children:[t.role!=="ceo"&&e.jsx("button",{onClick:n=>x(t.id,n),className:"absolute top-3 right-3 p-1 rounded-md text-text-muted hover:text-error hover:bg-error/10 opacity-0 group-hover:opacity-100 transition-all",title:"Remove agent",children:e.jsx(h,{size:14})}),e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx("span",{className:"text-sm font-semibold text-text",children:t.name}),e.jsx(g,{status:t.status,size:"sm"})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-[10px] text-text-muted uppercase",children:"Role"}),e.jsx("span",{className:"text-xs text-text-secondary capitalize",children:t.role})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-[10px] text-text-muted uppercase",children:"Model"}),e.jsx("span",{className:"text-xs text-text-secondary truncate max-w-[140px]",children:v(t.model)})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-[10px] text-text-muted uppercase",children:"Last Heartbeat"}),e.jsxs("span",{className:"text-xs text-text-secondary",children:[y(t.lastHeartbeat)," ago"]})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-[10px] text-text-muted uppercase",children:"Tasks Done"}),e.jsx("span",{className:"text-xs text-text-secondary",children:t.totalTasksCompleted})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-[10px] text-text-muted uppercase",children:"Cost"}),e.jsxs("span",{className:"text-xs text-text-secondary",children:["$",t.totalCostUsd.toFixed(4)]})]})]})]},t.id))})]})}export{L as default};