daycare-cli 2026.2.11 → 2026.2.22

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 (554) hide show
  1. package/dist/engine/agents/agent.d.ts +6 -0
  2. package/dist/engine/agents/agent.d.ts.map +1 -1
  3. package/dist/engine/agents/agent.js +77 -5
  4. package/dist/engine/agents/agent.js.map +1 -1
  5. package/dist/engine/agents/agentSystem.d.ts +5 -0
  6. package/dist/engine/agents/agentSystem.d.ts.map +1 -1
  7. package/dist/engine/agents/agentSystem.js +47 -1
  8. package/dist/engine/agents/agentSystem.js.map +1 -1
  9. package/dist/engine/agents/agentSystemDurableInbox.spec.d.ts +2 -0
  10. package/dist/engine/agents/agentSystemDurableInbox.spec.d.ts.map +1 -0
  11. package/dist/engine/agents/agentSystemDurableInbox.spec.js +225 -0
  12. package/dist/engine/agents/agentSystemDurableInbox.spec.js.map +1 -0
  13. package/dist/engine/agents/ops/agentBackgroundList.d.ts.map +1 -1
  14. package/dist/engine/agents/ops/agentBackgroundList.js +3 -1
  15. package/dist/engine/agents/ops/agentBackgroundList.js.map +1 -1
  16. package/dist/engine/agents/ops/agentDescriptorCacheKey.d.ts.map +1 -1
  17. package/dist/engine/agents/ops/agentDescriptorCacheKey.js +2 -0
  18. package/dist/engine/agents/ops/agentDescriptorCacheKey.js.map +1 -1
  19. package/dist/engine/agents/ops/agentDescriptorCacheKey.spec.js +3 -0
  20. package/dist/engine/agents/ops/agentDescriptorCacheKey.spec.js.map +1 -1
  21. package/dist/engine/agents/ops/agentDescriptorIsHeartbeat.spec.js +1 -1
  22. package/dist/engine/agents/ops/agentDescriptorIsHeartbeat.spec.js.map +1 -1
  23. package/dist/engine/agents/ops/agentDescriptorLabel.d.ts.map +1 -1
  24. package/dist/engine/agents/ops/agentDescriptorLabel.js +3 -0
  25. package/dist/engine/agents/ops/agentDescriptorLabel.js.map +1 -1
  26. package/dist/engine/agents/ops/agentDescriptorLabel.spec.js +0 -1
  27. package/dist/engine/agents/ops/agentDescriptorLabel.spec.js.map +1 -1
  28. package/dist/engine/agents/ops/agentDescriptorTypes.d.ts +3 -0
  29. package/dist/engine/agents/ops/agentDescriptorTypes.d.ts.map +1 -1
  30. package/dist/engine/agents/ops/agentHistoryContext.d.ts.map +1 -1
  31. package/dist/engine/agents/ops/agentHistoryContext.js +14 -0
  32. package/dist/engine/agents/ops/agentHistoryContext.js.map +1 -1
  33. package/dist/engine/agents/ops/agentHistoryContext.spec.js +107 -0
  34. package/dist/engine/agents/ops/agentHistoryContext.spec.js.map +1 -1
  35. package/dist/engine/agents/ops/agentInbox.d.ts +7 -1
  36. package/dist/engine/agents/ops/agentInbox.d.ts.map +1 -1
  37. package/dist/engine/agents/ops/agentInbox.js +4 -4
  38. package/dist/engine/agents/ops/agentInbox.js.map +1 -1
  39. package/dist/engine/agents/ops/agentInbox.spec.js +16 -0
  40. package/dist/engine/agents/ops/agentInbox.spec.js.map +1 -1
  41. package/dist/engine/agents/ops/agentLoopRun.d.ts +2 -0
  42. package/dist/engine/agents/ops/agentLoopRun.d.ts.map +1 -1
  43. package/dist/engine/agents/ops/agentLoopRun.js +34 -6
  44. package/dist/engine/agents/ops/agentLoopRun.js.map +1 -1
  45. package/dist/engine/agents/ops/agentLoopRun.spec.js +107 -31
  46. package/dist/engine/agents/ops/agentLoopRun.spec.js.map +1 -1
  47. package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.d.ts +7 -0
  48. package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.d.ts.map +1 -0
  49. package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.js +16 -0
  50. package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.js.map +1 -0
  51. package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.spec.d.ts +2 -0
  52. package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.spec.d.ts.map +1 -0
  53. package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.spec.js +20 -0
  54. package/dist/engine/agents/ops/agentMessageRunPythonTerminalTrim.spec.js.map +1 -0
  55. package/dist/engine/agents/ops/agentPromptResolve.d.ts.map +1 -1
  56. package/dist/engine/agents/ops/agentPromptResolve.js +8 -0
  57. package/dist/engine/agents/ops/agentPromptResolve.js.map +1 -1
  58. package/dist/engine/agents/ops/agentPromptResolve.spec.js +8 -0
  59. package/dist/engine/agents/ops/agentPromptResolve.spec.js.map +1 -1
  60. package/dist/engine/agents/ops/agentSystemPrompt.d.ts.map +1 -1
  61. package/dist/engine/agents/ops/agentSystemPrompt.js +8 -1
  62. package/dist/engine/agents/ops/agentSystemPrompt.js.map +1 -1
  63. package/dist/engine/agents/ops/agentSystemPrompt.spec.js +39 -8
  64. package/dist/engine/agents/ops/agentSystemPrompt.spec.js.map +1 -1
  65. package/dist/engine/agents/ops/agentSystemPromptContext.d.ts +2 -0
  66. package/dist/engine/agents/ops/agentSystemPromptContext.d.ts.map +1 -1
  67. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.d.ts.map +1 -1
  68. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js +1 -3
  69. package/dist/engine/agents/ops/agentSystemPromptSectionPermissions.js.map +1 -1
  70. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.js +15 -1
  71. package/dist/engine/agents/ops/agentSystemPromptSectionToolCalling.js.map +1 -1
  72. package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.d.ts +11 -0
  73. package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.d.ts.map +1 -0
  74. package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.js +17 -0
  75. package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.js.map +1 -0
  76. package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.spec.d.ts +2 -0
  77. package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.spec.d.ts.map +1 -0
  78. package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.spec.js +26 -0
  79. package/dist/engine/agents/ops/agentToolExecutionAllowlistResolve.spec.js.map +1 -0
  80. package/dist/engine/agents/ops/agentTypes.d.ts +0 -2
  81. package/dist/engine/agents/ops/agentTypes.d.ts.map +1 -1
  82. package/dist/engine/agents/ops/inboxItemDeserialize.d.ts +7 -0
  83. package/dist/engine/agents/ops/inboxItemDeserialize.d.ts.map +1 -0
  84. package/dist/engine/agents/ops/inboxItemDeserialize.js +27 -0
  85. package/dist/engine/agents/ops/inboxItemDeserialize.js.map +1 -0
  86. package/dist/engine/agents/ops/inboxItemSerialize.d.ts +7 -0
  87. package/dist/engine/agents/ops/inboxItemSerialize.d.ts.map +1 -0
  88. package/dist/engine/agents/ops/inboxItemSerialize.js +8 -0
  89. package/dist/engine/agents/ops/inboxItemSerialize.js.map +1 -0
  90. package/dist/engine/agents/ops/inboxItemSerialize.spec.d.ts +2 -0
  91. package/dist/engine/agents/ops/inboxItemSerialize.spec.d.ts.map +1 -0
  92. package/dist/engine/agents/ops/inboxItemSerialize.spec.js +51 -0
  93. package/dist/engine/agents/ops/inboxItemSerialize.spec.js.map +1 -0
  94. package/dist/engine/agents/system/_systemAgents.d.ts.map +1 -1
  95. package/dist/engine/agents/system/_systemAgents.js +0 -5
  96. package/dist/engine/agents/system/_systemAgents.js.map +1 -1
  97. package/dist/engine/agents/system/systemAgentPromptResolve.spec.js +0 -6
  98. package/dist/engine/agents/system/systemAgentPromptResolve.spec.js.map +1 -1
  99. package/dist/engine/agents/system/systemAgentTagIs.spec.js +3 -4
  100. package/dist/engine/agents/system/systemAgentTagIs.spec.js.map +1 -1
  101. package/dist/engine/apps/appExecute.d.ts +1 -1
  102. package/dist/engine/apps/appExecute.d.ts.map +1 -1
  103. package/dist/engine/apps/appExecute.js +2 -19
  104. package/dist/engine/apps/appExecute.js.map +1 -1
  105. package/dist/engine/apps/appExecute.spec.js +2 -4
  106. package/dist/engine/apps/appExecute.spec.js.map +1 -1
  107. package/dist/engine/apps/appToolExecutorBuild.spec.js +11 -9
  108. package/dist/engine/apps/appToolExecutorBuild.spec.js.map +1 -1
  109. package/dist/engine/cron/cronTypes.d.ts +0 -2
  110. package/dist/engine/cron/cronTypes.d.ts.map +1 -1
  111. package/dist/engine/cron/crons.d.ts.map +1 -1
  112. package/dist/engine/cron/crons.js +0 -6
  113. package/dist/engine/cron/crons.js.map +1 -1
  114. package/dist/engine/cron/ops/cronScheduler.d.ts +1 -7
  115. package/dist/engine/cron/ops/cronScheduler.d.ts.map +1 -1
  116. package/dist/engine/cron/ops/cronScheduler.js +2 -41
  117. package/dist/engine/cron/ops/cronScheduler.js.map +1 -1
  118. package/dist/engine/cron/ops/cronScheduler.spec.js +7 -82
  119. package/dist/engine/cron/ops/cronScheduler.spec.js.map +1 -1
  120. package/dist/engine/engine.d.ts +3 -0
  121. package/dist/engine/engine.d.ts.map +1 -1
  122. package/dist/engine/engine.js +21 -0
  123. package/dist/engine/engine.js.map +1 -1
  124. package/dist/engine/heartbeat/heartbeatTypes.d.ts +0 -5
  125. package/dist/engine/heartbeat/heartbeatTypes.d.ts.map +1 -1
  126. package/dist/engine/heartbeat/heartbeats.d.ts.map +1 -1
  127. package/dist/engine/heartbeat/heartbeats.js +0 -5
  128. package/dist/engine/heartbeat/heartbeats.js.map +1 -1
  129. package/dist/engine/heartbeat/heartbeats.spec.js +0 -1
  130. package/dist/engine/heartbeat/heartbeats.spec.js.map +1 -1
  131. package/dist/engine/heartbeat/ops/heartbeatPromptBuildBatch.spec.js +0 -1
  132. package/dist/engine/heartbeat/ops/heartbeatPromptBuildBatch.spec.js.map +1 -1
  133. package/dist/engine/heartbeat/ops/heartbeatScheduler.d.ts +0 -3
  134. package/dist/engine/heartbeat/ops/heartbeatScheduler.d.ts.map +1 -1
  135. package/dist/engine/heartbeat/ops/heartbeatScheduler.js +6 -53
  136. package/dist/engine/heartbeat/ops/heartbeatScheduler.js.map +1 -1
  137. package/dist/engine/heartbeat/ops/heartbeatScheduler.spec.js +4 -75
  138. package/dist/engine/heartbeat/ops/heartbeatScheduler.spec.js.map +1 -1
  139. package/dist/engine/ipc/server.d.ts.map +1 -1
  140. package/dist/engine/ipc/server.js +14 -0
  141. package/dist/engine/ipc/server.js.map +1 -1
  142. package/dist/engine/ipc/serverMemoryRoutesRegister.d.ts +24 -0
  143. package/dist/engine/ipc/serverMemoryRoutesRegister.d.ts.map +1 -0
  144. package/dist/engine/ipc/serverMemoryRoutesRegister.js +54 -0
  145. package/dist/engine/ipc/serverMemoryRoutesRegister.js.map +1 -0
  146. package/dist/engine/ipc/serverMemoryRoutesRegister.spec.d.ts +2 -0
  147. package/dist/engine/ipc/serverMemoryRoutesRegister.spec.d.ts.map +1 -0
  148. package/dist/engine/ipc/serverMemoryRoutesRegister.spec.js +157 -0
  149. package/dist/engine/ipc/serverMemoryRoutesRegister.spec.js.map +1 -0
  150. package/dist/engine/memory/graph/graphNodeParse.d.ts +7 -0
  151. package/dist/engine/memory/graph/graphNodeParse.d.ts.map +1 -0
  152. package/dist/engine/memory/graph/graphNodeParse.js +122 -0
  153. package/dist/engine/memory/graph/graphNodeParse.js.map +1 -0
  154. package/dist/engine/memory/graph/graphNodeParse.spec.d.ts +2 -0
  155. package/dist/engine/memory/graph/graphNodeParse.spec.d.ts.map +1 -0
  156. package/dist/engine/memory/graph/graphNodeParse.spec.js +68 -0
  157. package/dist/engine/memory/graph/graphNodeParse.spec.js.map +1 -0
  158. package/dist/engine/memory/graph/graphNodeSerialize.d.ts +7 -0
  159. package/dist/engine/memory/graph/graphNodeSerialize.d.ts.map +1 -0
  160. package/dist/engine/memory/graph/graphNodeSerialize.js +17 -0
  161. package/dist/engine/memory/graph/graphNodeSerialize.js.map +1 -0
  162. package/dist/engine/memory/graph/graphNodeSerialize.spec.d.ts +2 -0
  163. package/dist/engine/memory/graph/graphNodeSerialize.spec.d.ts.map +1 -0
  164. package/dist/engine/memory/graph/graphNodeSerialize.spec.js +45 -0
  165. package/dist/engine/memory/graph/graphNodeSerialize.spec.js.map +1 -0
  166. package/dist/engine/memory/graph/graphRootNodeRead.d.ts +8 -0
  167. package/dist/engine/memory/graph/graphRootNodeRead.d.ts.map +1 -0
  168. package/dist/engine/memory/graph/graphRootNodeRead.js +23 -0
  169. package/dist/engine/memory/graph/graphRootNodeRead.js.map +1 -0
  170. package/dist/engine/memory/graph/graphRootNodeRead.spec.d.ts +2 -0
  171. package/dist/engine/memory/graph/graphRootNodeRead.spec.d.ts.map +1 -0
  172. package/dist/engine/memory/graph/graphRootNodeRead.spec.js +14 -0
  173. package/dist/engine/memory/graph/graphRootNodeRead.spec.js.map +1 -0
  174. package/dist/engine/memory/graph/graphStoreRead.d.ts +7 -0
  175. package/dist/engine/memory/graph/graphStoreRead.d.ts.map +1 -0
  176. package/dist/engine/memory/graph/graphStoreRead.js +32 -0
  177. package/dist/engine/memory/graph/graphStoreRead.js.map +1 -0
  178. package/dist/engine/memory/graph/graphStoreRead.spec.d.ts +2 -0
  179. package/dist/engine/memory/graph/graphStoreRead.spec.d.ts.map +1 -0
  180. package/dist/engine/memory/graph/graphStoreRead.spec.js +57 -0
  181. package/dist/engine/memory/graph/graphStoreRead.spec.js.map +1 -0
  182. package/dist/engine/memory/graph/graphStoreWrite.d.ts +7 -0
  183. package/dist/engine/memory/graph/graphStoreWrite.d.ts.map +1 -0
  184. package/dist/engine/memory/graph/graphStoreWrite.js +18 -0
  185. package/dist/engine/memory/graph/graphStoreWrite.js.map +1 -0
  186. package/dist/engine/memory/graph/graphStoreWrite.spec.d.ts +2 -0
  187. package/dist/engine/memory/graph/graphStoreWrite.spec.d.ts.map +1 -0
  188. package/dist/engine/memory/graph/graphStoreWrite.spec.js +50 -0
  189. package/dist/engine/memory/graph/graphStoreWrite.spec.js.map +1 -0
  190. package/dist/engine/memory/graph/graphTreeBuild.d.ts +9 -0
  191. package/dist/engine/memory/graph/graphTreeBuild.d.ts.map +1 -0
  192. package/dist/engine/memory/graph/graphTreeBuild.js +85 -0
  193. package/dist/engine/memory/graph/graphTreeBuild.js.map +1 -0
  194. package/dist/engine/memory/graph/graphTreeBuild.spec.d.ts +2 -0
  195. package/dist/engine/memory/graph/graphTreeBuild.spec.d.ts.map +1 -0
  196. package/dist/engine/memory/graph/graphTreeBuild.spec.js +46 -0
  197. package/dist/engine/memory/graph/graphTreeBuild.spec.js.map +1 -0
  198. package/dist/engine/memory/graph/graphTypes.d.ts +19 -0
  199. package/dist/engine/memory/graph/graphTypes.d.ts.map +1 -0
  200. package/dist/engine/memory/graph/graphTypes.js +2 -0
  201. package/dist/engine/memory/graph/graphTypes.js.map +1 -0
  202. package/dist/engine/memory/infer/inferObservations.d.ts +19 -0
  203. package/dist/engine/memory/infer/inferObservations.d.ts.map +1 -0
  204. package/dist/engine/memory/infer/inferObservations.js +67 -0
  205. package/dist/engine/memory/infer/inferObservations.js.map +1 -0
  206. package/dist/engine/memory/infer/utils/formatHistoryMessages.d.ts +7 -0
  207. package/dist/engine/memory/infer/utils/formatHistoryMessages.d.ts.map +1 -0
  208. package/dist/engine/memory/infer/utils/formatHistoryMessages.js +46 -0
  209. package/dist/engine/memory/infer/utils/formatHistoryMessages.js.map +1 -0
  210. package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.d.ts +2 -0
  211. package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.d.ts.map +1 -0
  212. package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.js +89 -0
  213. package/dist/engine/memory/infer/utils/formatHistoryMessages.spec.js.map +1 -0
  214. package/dist/engine/memory/infer/utils/parseObservations.d.ts +7 -0
  215. package/dist/engine/memory/infer/utils/parseObservations.d.ts.map +1 -0
  216. package/dist/engine/memory/infer/utils/parseObservations.js +24 -0
  217. package/dist/engine/memory/infer/utils/parseObservations.js.map +1 -0
  218. package/dist/engine/memory/infer/utils/parseObservations.spec.d.ts +2 -0
  219. package/dist/engine/memory/infer/utils/parseObservations.spec.d.ts.map +1 -0
  220. package/dist/engine/memory/infer/utils/parseObservations.spec.js +31 -0
  221. package/dist/engine/memory/infer/utils/parseObservations.spec.js.map +1 -0
  222. package/dist/engine/memory/memory.d.ts +18 -0
  223. package/dist/engine/memory/memory.d.ts.map +1 -0
  224. package/dist/engine/memory/memory.js +71 -0
  225. package/dist/engine/memory/memory.js.map +1 -0
  226. package/dist/engine/memory/memory.spec.d.ts +2 -0
  227. package/dist/engine/memory/memory.spec.d.ts.map +1 -0
  228. package/dist/engine/memory/memory.spec.js +68 -0
  229. package/dist/engine/memory/memory.spec.js.map +1 -0
  230. package/dist/engine/memory/memorySessionObserve.d.ts +22 -0
  231. package/dist/engine/memory/memorySessionObserve.d.ts.map +1 -0
  232. package/dist/engine/memory/memorySessionObserve.js +21 -0
  233. package/dist/engine/memory/memorySessionObserve.js.map +1 -0
  234. package/dist/engine/memory/memorySessionObserve.spec.d.ts +2 -0
  235. package/dist/engine/memory/memorySessionObserve.spec.d.ts.map +1 -0
  236. package/dist/engine/memory/memorySessionObserve.spec.js +112 -0
  237. package/dist/engine/memory/memorySessionObserve.spec.js.map +1 -0
  238. package/dist/engine/memory/memoryWorker.d.ts +39 -0
  239. package/dist/engine/memory/memoryWorker.d.ts.map +1 -0
  240. package/dist/engine/memory/memoryWorker.js +125 -0
  241. package/dist/engine/memory/memoryWorker.js.map +1 -0
  242. package/dist/engine/memory/memoryWorker.spec.d.ts +2 -0
  243. package/dist/engine/memory/memoryWorker.spec.d.ts.map +1 -0
  244. package/dist/engine/memory/memoryWorker.spec.js +211 -0
  245. package/dist/engine/memory/memoryWorker.spec.js.map +1 -0
  246. package/dist/engine/memory/observationLogAppend.d.ts +9 -0
  247. package/dist/engine/memory/observationLogAppend.d.ts.map +1 -0
  248. package/dist/engine/memory/observationLogAppend.js +26 -0
  249. package/dist/engine/memory/observationLogAppend.js.map +1 -0
  250. package/dist/engine/memory/observationLogAppend.spec.d.ts +2 -0
  251. package/dist/engine/memory/observationLogAppend.spec.d.ts.map +1 -0
  252. package/dist/engine/memory/observationLogAppend.spec.js +67 -0
  253. package/dist/engine/memory/observationLogAppend.spec.js.map +1 -0
  254. package/dist/engine/modules/executablePrompts/executablePromptExpand.d.ts.map +1 -1
  255. package/dist/engine/modules/executablePrompts/executablePromptExpand.js +2 -1
  256. package/dist/engine/modules/executablePrompts/executablePromptExpand.js.map +1 -1
  257. package/dist/engine/modules/executablePrompts/executablePromptExpand.spec.js +1 -0
  258. package/dist/engine/modules/executablePrompts/executablePromptExpand.spec.js.map +1 -1
  259. package/dist/engine/modules/inference/router.d.ts +1 -0
  260. package/dist/engine/modules/inference/router.d.ts.map +1 -1
  261. package/dist/engine/modules/inference/router.js +1 -0
  262. package/dist/engine/modules/inference/router.js.map +1 -1
  263. package/dist/engine/modules/rlm/rlmExecute.d.ts.map +1 -1
  264. package/dist/engine/modules/rlm/rlmExecute.js +2 -1
  265. package/dist/engine/modules/rlm/rlmExecute.js.map +1 -1
  266. package/dist/engine/modules/rlm/rlmExecute.spec.js +1 -0
  267. package/dist/engine/modules/rlm/rlmExecute.spec.js.map +1 -1
  268. package/dist/engine/modules/rlm/rlmRestore.d.ts.map +1 -1
  269. package/dist/engine/modules/rlm/rlmRestore.js +2 -1
  270. package/dist/engine/modules/rlm/rlmRestore.js.map +1 -1
  271. package/dist/engine/modules/rlm/rlmRestore.spec.js +1 -0
  272. package/dist/engine/modules/rlm/rlmRestore.spec.js.map +1 -1
  273. package/dist/engine/modules/rlm/rlmTool.d.ts.map +1 -1
  274. package/dist/engine/modules/rlm/rlmTool.js +2 -1
  275. package/dist/engine/modules/rlm/rlmTool.js.map +1 -1
  276. package/dist/engine/modules/rlm/rlmTool.spec.js +73 -0
  277. package/dist/engine/modules/rlm/rlmTool.spec.js.map +1 -1
  278. package/dist/engine/modules/rlm/rlmToolsForContextResolve.d.ts +9 -0
  279. package/dist/engine/modules/rlm/rlmToolsForContextResolve.d.ts.map +1 -0
  280. package/dist/engine/modules/rlm/rlmToolsForContextResolve.js +18 -0
  281. package/dist/engine/modules/rlm/rlmToolsForContextResolve.js.map +1 -0
  282. package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.d.ts +2 -0
  283. package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.d.ts.map +1 -0
  284. package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.js +77 -0
  285. package/dist/engine/modules/rlm/rlmToolsForContextResolve.spec.js.map +1 -0
  286. package/dist/engine/modules/toolResolver.d.ts +3 -2
  287. package/dist/engine/modules/toolResolver.d.ts.map +1 -1
  288. package/dist/engine/modules/toolResolver.js +31 -9
  289. package/dist/engine/modules/toolResolver.js.map +1 -1
  290. package/dist/engine/modules/toolResolver.spec.js +101 -0
  291. package/dist/engine/modules/toolResolver.spec.js.map +1 -1
  292. package/dist/engine/modules/tools/channelSendTool.js +3 -0
  293. package/dist/engine/modules/tools/channelSendTool.js.map +1 -1
  294. package/dist/engine/modules/tools/cron.d.ts.map +1 -1
  295. package/dist/engine/modules/tools/cron.js +2 -28
  296. package/dist/engine/modules/tools/cron.js.map +1 -1
  297. package/dist/engine/modules/tools/heartbeat.d.ts.map +1 -1
  298. package/dist/engine/modules/tools/heartbeat.js +2 -27
  299. package/dist/engine/modules/tools/heartbeat.js.map +1 -1
  300. package/dist/engine/modules/tools/memoryNodeReadToolBuild.d.ts +8 -0
  301. package/dist/engine/modules/tools/memoryNodeReadToolBuild.d.ts.map +1 -0
  302. package/dist/engine/modules/tools/memoryNodeReadToolBuild.js +99 -0
  303. package/dist/engine/modules/tools/memoryNodeReadToolBuild.js.map +1 -0
  304. package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.d.ts +2 -0
  305. package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.d.ts.map +1 -0
  306. package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.js +112 -0
  307. package/dist/engine/modules/tools/memoryNodeReadToolBuild.spec.js.map +1 -0
  308. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.d.ts +10 -0
  309. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.d.ts.map +1 -0
  310. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.js +115 -0
  311. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.js.map +1 -0
  312. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.d.ts +2 -0
  313. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.d.ts.map +1 -0
  314. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.js +163 -0
  315. package/dist/engine/modules/tools/memoryNodeWriteToolBuild.spec.js.map +1 -0
  316. package/dist/engine/modules/tools/topologyToolBuild.spec.js +0 -3
  317. package/dist/engine/modules/tools/topologyToolBuild.spec.js.map +1 -1
  318. package/dist/engine/modules/tools/types.d.ts +10 -1
  319. package/dist/engine/modules/tools/types.d.ts.map +1 -1
  320. package/dist/engine/permissions/permissionBuildUser.d.ts.map +1 -1
  321. package/dist/engine/permissions/permissionBuildUser.js +5 -1
  322. package/dist/engine/permissions/permissionBuildUser.js.map +1 -1
  323. package/dist/engine/permissions/permissionBuildUser.spec.js +2 -1
  324. package/dist/engine/permissions/permissionBuildUser.spec.js.map +1 -1
  325. package/dist/engine/permissions.d.ts +1 -0
  326. package/dist/engine/permissions.d.ts.map +1 -1
  327. package/dist/engine/permissions.js +12 -2
  328. package/dist/engine/permissions.js.map +1 -1
  329. package/dist/engine/plugins/descriptor.d.ts +2 -2
  330. package/dist/engine/processes/processes.js +2 -1
  331. package/dist/engine/processes/processes.js.map +1 -1
  332. package/dist/engine/users/userHome.d.ts +1 -0
  333. package/dist/engine/users/userHome.d.ts.map +1 -1
  334. package/dist/engine/users/userHome.js +2 -0
  335. package/dist/engine/users/userHome.js.map +1 -1
  336. package/dist/engine/users/userHome.spec.js +1 -0
  337. package/dist/engine/users/userHome.spec.js.map +1 -1
  338. package/dist/engine/users/userHomeEnsure.d.ts.map +1 -1
  339. package/dist/engine/users/userHomeEnsure.js +1 -0
  340. package/dist/engine/users/userHomeEnsure.js.map +1 -1
  341. package/dist/engine/users/userHomeEnsure.spec.js +1 -0
  342. package/dist/engine/users/userHomeEnsure.spec.js.map +1 -1
  343. package/dist/plugins/dashboard/site/404.html +1 -1
  344. package/dist/plugins/dashboard/site/_next/static/chunks/{315-7c3dbac7865a2549.js → 129-0781090dbd74ef24.js} +1 -1
  345. package/dist/plugins/dashboard/site/_next/static/chunks/315-e0c2965b599a90c8.js +1 -0
  346. package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/page-e7a20c5ef1f769e6.js +1 -0
  347. package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/page-b997df519e071e45.js +1 -0
  348. package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/page-fed8c9eb1cef42df.js +1 -0
  349. package/dist/plugins/dashboard/site/_next/static/chunks/app/connectors/page-a8a3b434a1ed7bda.js +1 -0
  350. package/dist/plugins/dashboard/site/_next/static/chunks/app/memory/page-c2c16e7623a0377d.js +1 -0
  351. package/dist/plugins/dashboard/site/_next/static/chunks/app/page-5ebf2aeece51aed8.js +1 -0
  352. package/dist/plugins/dashboard/site/_next/static/chunks/app/processes/page-e6bdb861ae8bd14b.js +1 -0
  353. package/dist/plugins/dashboard/site/_next/static/chunks/app/providers/{page-f0d02a91a69b9eb8.js → page-d3743fe243237b22.js} +1 -1
  354. package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/page-b817ca434cd43c0f.js +1 -0
  355. package/dist/plugins/dashboard/site/_next/static/chunks/app/telemetry/{page-98aa9367902606e3.js → page-eabe78b4fbbf1439.js} +1 -1
  356. package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/page-ce22e00b61861083.js +1 -0
  357. package/dist/plugins/dashboard/site/_next/static/chunks/{main-2004b9415696334d.js → main-5352cc0d54d797b4.js} +1 -1
  358. package/dist/plugins/dashboard/site/_next/static/css/42d76d007d742231.css +5 -0
  359. package/dist/plugins/dashboard/site/agent.html +1 -1
  360. package/dist/plugins/dashboard/site/agent.txt +2 -2
  361. package/dist/plugins/dashboard/site/agents.html +1 -1
  362. package/dist/plugins/dashboard/site/agents.txt +2 -2
  363. package/dist/plugins/dashboard/site/automations.html +1 -1
  364. package/dist/plugins/dashboard/site/automations.txt +2 -2
  365. package/dist/plugins/dashboard/site/connectors.html +1 -1
  366. package/dist/plugins/dashboard/site/connectors.txt +2 -2
  367. package/dist/plugins/dashboard/site/index.html +2 -2
  368. package/dist/plugins/dashboard/site/index.txt +2 -2
  369. package/dist/plugins/dashboard/site/memory.html +1 -0
  370. package/dist/plugins/dashboard/site/memory.txt +7 -0
  371. package/dist/plugins/dashboard/site/processes.html +1 -1
  372. package/dist/plugins/dashboard/site/processes.txt +2 -2
  373. package/dist/plugins/dashboard/site/providers.html +1 -1
  374. package/dist/plugins/dashboard/site/providers.txt +2 -2
  375. package/dist/plugins/dashboard/site/signals.html +1 -1
  376. package/dist/plugins/dashboard/site/signals.txt +2 -2
  377. package/dist/plugins/dashboard/site/telemetry.html +2 -2
  378. package/dist/plugins/dashboard/site/telemetry.txt +2 -2
  379. package/dist/plugins/dashboard/site/tools.html +1 -1
  380. package/dist/plugins/dashboard/site/tools.txt +2 -2
  381. package/dist/prompts/SYSTEM_AGENCY.md +1 -1
  382. package/dist/prompts/SYSTEM_PERMISSIONS.md +4 -25
  383. package/dist/prompts/SYSTEM_TOPOLOGY.md +1 -1
  384. package/dist/prompts/memory/MEMORY_AGENT.md +148 -0
  385. package/dist/prompts/memory/MEMORY_ROOT.md +322 -0
  386. package/dist/prompts/memory/OBSERVE.md +70 -0
  387. package/dist/sandbox/sandboxCanRead.d.ts.map +1 -1
  388. package/dist/sandbox/sandboxCanRead.js +26 -2
  389. package/dist/sandbox/sandboxCanRead.js.map +1 -1
  390. package/dist/sandbox/sandboxCanRead.spec.js +51 -8
  391. package/dist/sandbox/sandboxCanRead.spec.js.map +1 -1
  392. package/dist/sandbox/sandboxCanWrite.d.ts.map +1 -1
  393. package/dist/sandbox/sandboxCanWrite.js +11 -0
  394. package/dist/sandbox/sandboxCanWrite.js.map +1 -1
  395. package/dist/sandbox/sandboxCanWrite.spec.js +32 -1
  396. package/dist/sandbox/sandboxCanWrite.spec.js.map +1 -1
  397. package/dist/sandbox/sandboxDangerousFileCheck.d.ts +11 -0
  398. package/dist/sandbox/sandboxDangerousFileCheck.d.ts.map +1 -0
  399. package/dist/sandbox/sandboxDangerousFileCheck.js +37 -0
  400. package/dist/sandbox/sandboxDangerousFileCheck.js.map +1 -0
  401. package/dist/sandbox/sandboxDangerousFileCheck.spec.d.ts +2 -0
  402. package/dist/sandbox/sandboxDangerousFileCheck.spec.d.ts.map +1 -0
  403. package/dist/sandbox/sandboxDangerousFileCheck.spec.js +25 -0
  404. package/dist/sandbox/sandboxDangerousFileCheck.spec.js.map +1 -0
  405. package/dist/sandbox/sandboxDangerousFilesBuild.d.ts +11 -0
  406. package/dist/sandbox/sandboxDangerousFilesBuild.d.ts.map +1 -0
  407. package/dist/sandbox/sandboxDangerousFilesBuild.js +23 -0
  408. package/dist/sandbox/sandboxDangerousFilesBuild.js.map +1 -0
  409. package/dist/sandbox/sandboxDangerousFilesBuild.spec.d.ts +2 -0
  410. package/dist/sandbox/sandboxDangerousFilesBuild.spec.d.ts.map +1 -0
  411. package/dist/sandbox/sandboxDangerousFilesBuild.spec.js +31 -0
  412. package/dist/sandbox/sandboxDangerousFilesBuild.spec.js.map +1 -0
  413. package/dist/sandbox/sandboxFilesystemPolicyBuild.d.ts.map +1 -1
  414. package/dist/sandbox/sandboxFilesystemPolicyBuild.js +5 -47
  415. package/dist/sandbox/sandboxFilesystemPolicyBuild.js.map +1 -1
  416. package/dist/sandbox/sandboxPathDenyCheck.d.ts +6 -0
  417. package/dist/sandbox/sandboxPathDenyCheck.d.ts.map +1 -0
  418. package/dist/sandbox/sandboxPathDenyCheck.js +26 -0
  419. package/dist/sandbox/sandboxPathDenyCheck.js.map +1 -0
  420. package/dist/sandbox/sandboxPathDenyCheck.spec.d.ts +2 -0
  421. package/dist/sandbox/sandboxPathDenyCheck.spec.d.ts.map +1 -0
  422. package/dist/sandbox/sandboxPathDenyCheck.spec.js +23 -0
  423. package/dist/sandbox/sandboxPathDenyCheck.spec.js.map +1 -0
  424. package/dist/sandbox/sandboxSensitiveDenyPathsBuild.d.ts +11 -0
  425. package/dist/sandbox/sandboxSensitiveDenyPathsBuild.d.ts.map +1 -0
  426. package/dist/sandbox/sandboxSensitiveDenyPathsBuild.js +63 -0
  427. package/dist/sandbox/sandboxSensitiveDenyPathsBuild.js.map +1 -0
  428. package/dist/sandbox/sandboxSensitiveDenyPathsBuild.spec.d.ts +2 -0
  429. package/dist/sandbox/sandboxSensitiveDenyPathsBuild.spec.d.ts.map +1 -0
  430. package/dist/sandbox/sandboxSensitiveDenyPathsBuild.spec.js +52 -0
  431. package/dist/sandbox/sandboxSensitiveDenyPathsBuild.spec.js.map +1 -0
  432. package/dist/skills/memory-document/SKILL.md +134 -0
  433. package/dist/skills/scheduling/SKILL.md +3 -57
  434. package/dist/skills/skills/memory-document/SKILL.md +134 -0
  435. package/dist/skills/skills/scheduling/SKILL.md +3 -57
  436. package/dist/storage/cronTasksRepository.d.ts.map +1 -1
  437. package/dist/storage/cronTasksRepository.js +4 -23
  438. package/dist/storage/cronTasksRepository.js.map +1 -1
  439. package/dist/storage/cronTasksRepository.spec.js +1 -9
  440. package/dist/storage/cronTasksRepository.spec.js.map +1 -1
  441. package/dist/storage/databaseTypes.d.ts +19 -5
  442. package/dist/storage/databaseTypes.d.ts.map +1 -1
  443. package/dist/storage/heartbeatTasksRepository.d.ts.map +1 -1
  444. package/dist/storage/heartbeatTasksRepository.js +4 -23
  445. package/dist/storage/heartbeatTasksRepository.js.map +1 -1
  446. package/dist/storage/heartbeatTasksRepository.spec.js +0 -5
  447. package/dist/storage/heartbeatTasksRepository.spec.js.map +1 -1
  448. package/dist/storage/historyRepository.d.ts +15 -1
  449. package/dist/storage/historyRepository.d.ts.map +1 -1
  450. package/dist/storage/historyRepository.js +26 -1
  451. package/dist/storage/historyRepository.js.map +1 -1
  452. package/dist/storage/historyRepository.spec.js +96 -18
  453. package/dist/storage/historyRepository.spec.js.map +1 -1
  454. package/dist/storage/inboxRepository.d.ts +15 -0
  455. package/dist/storage/inboxRepository.d.ts.map +1 -0
  456. package/dist/storage/inboxRepository.js +47 -0
  457. package/dist/storage/inboxRepository.js.map +1 -0
  458. package/dist/storage/inboxRepository.spec.d.ts +2 -0
  459. package/dist/storage/inboxRepository.spec.d.ts.map +1 -0
  460. package/dist/storage/inboxRepository.spec.js +42 -0
  461. package/dist/storage/inboxRepository.spec.js.map +1 -0
  462. package/dist/storage/migrations/20260220_add_tasks.d.ts.map +1 -1
  463. package/dist/storage/migrations/20260220_add_tasks.js +0 -2
  464. package/dist/storage/migrations/20260220_add_tasks.js.map +1 -1
  465. package/dist/storage/migrations/20260220_add_tasks.spec.js +0 -2
  466. package/dist/storage/migrations/20260220_add_tasks.spec.js.map +1 -1
  467. package/dist/storage/migrations/20260220_import_tasks.d.ts.map +1 -1
  468. package/dist/storage/migrations/20260220_import_tasks.js +5 -10
  469. package/dist/storage/migrations/20260220_import_tasks.js.map +1 -1
  470. package/dist/storage/migrations/20260220_import_tasks.spec.js +1 -4
  471. package/dist/storage/migrations/20260220_import_tasks.spec.js.map +1 -1
  472. package/dist/storage/migrations/20260221_add_inbox.d.ts +7 -0
  473. package/dist/storage/migrations/20260221_add_inbox.d.ts.map +1 -0
  474. package/dist/storage/migrations/20260221_add_inbox.js +22 -0
  475. package/dist/storage/migrations/20260221_add_inbox.js.map +1 -0
  476. package/dist/storage/migrations/20260221_add_inbox.spec.d.ts +2 -0
  477. package/dist/storage/migrations/20260221_add_inbox.spec.d.ts.map +1 -0
  478. package/dist/storage/migrations/20260221_add_inbox.spec.js +19 -0
  479. package/dist/storage/migrations/20260221_add_inbox.spec.js.map +1 -0
  480. package/dist/storage/migrations/20260221_drop_gate_columns.d.ts +7 -0
  481. package/dist/storage/migrations/20260221_drop_gate_columns.d.ts.map +1 -0
  482. package/dist/storage/migrations/20260221_drop_gate_columns.js +20 -0
  483. package/dist/storage/migrations/20260221_drop_gate_columns.js.map +1 -0
  484. package/dist/storage/migrations/20260221_drop_gate_columns.spec.d.ts +2 -0
  485. package/dist/storage/migrations/20260221_drop_gate_columns.spec.d.ts.map +1 -0
  486. package/dist/storage/migrations/20260221_drop_gate_columns.spec.js +50 -0
  487. package/dist/storage/migrations/20260221_drop_gate_columns.spec.js.map +1 -0
  488. package/dist/storage/migrations/20260223_add_heartbeat_users.spec.js +4 -6
  489. package/dist/storage/migrations/20260223_add_heartbeat_users.spec.js.map +1 -1
  490. package/dist/storage/migrations/20260224_add_memory_columns.d.ts +8 -0
  491. package/dist/storage/migrations/20260224_add_memory_columns.d.ts.map +1 -0
  492. package/dist/storage/migrations/20260224_add_memory_columns.js +24 -0
  493. package/dist/storage/migrations/20260224_add_memory_columns.js.map +1 -0
  494. package/dist/storage/migrations/20260224_add_memory_columns.spec.d.ts +2 -0
  495. package/dist/storage/migrations/20260224_add_memory_columns.spec.d.ts.map +1 -0
  496. package/dist/storage/migrations/20260224_add_memory_columns.spec.js +48 -0
  497. package/dist/storage/migrations/20260224_add_memory_columns.spec.js.map +1 -0
  498. package/dist/storage/migrations/_migrations.d.ts.map +1 -1
  499. package/dist/storage/migrations/_migrations.js +7 -1
  500. package/dist/storage/migrations/_migrations.js.map +1 -1
  501. package/dist/storage/processesRepository.js +9 -3
  502. package/dist/storage/processesRepository.js.map +1 -1
  503. package/dist/storage/sessionsRepository.d.ts +17 -0
  504. package/dist/storage/sessionsRepository.d.ts.map +1 -1
  505. package/dist/storage/sessionsRepository.js +46 -3
  506. package/dist/storage/sessionsRepository.js.map +1 -1
  507. package/dist/storage/sessionsRepository.spec.js +154 -19
  508. package/dist/storage/sessionsRepository.spec.js.map +1 -1
  509. package/dist/storage/storage.d.ts +2 -0
  510. package/dist/storage/storage.d.ts.map +1 -1
  511. package/dist/storage/storage.js +3 -0
  512. package/dist/storage/storage.js.map +1 -1
  513. package/dist/types.d.ts +3 -2
  514. package/dist/types.d.ts.map +1 -1
  515. package/package.json +1 -1
  516. package/dist/engine/scheduling/execGateCheck.d.ts +0 -19
  517. package/dist/engine/scheduling/execGateCheck.d.ts.map +0 -1
  518. package/dist/engine/scheduling/execGateCheck.js +0 -139
  519. package/dist/engine/scheduling/execGateCheck.js.map +0 -1
  520. package/dist/engine/scheduling/execGateNormalize.d.ts +0 -7
  521. package/dist/engine/scheduling/execGateNormalize.d.ts.map +0 -1
  522. package/dist/engine/scheduling/execGateNormalize.js +0 -74
  523. package/dist/engine/scheduling/execGateNormalize.js.map +0 -1
  524. package/dist/engine/scheduling/execGateNormalize.spec.d.ts +0 -2
  525. package/dist/engine/scheduling/execGateNormalize.spec.d.ts.map +0 -1
  526. package/dist/engine/scheduling/execGateNormalize.spec.js +0 -31
  527. package/dist/engine/scheduling/execGateNormalize.spec.js.map +0 -1
  528. package/dist/engine/scheduling/execGateOutputAppend.d.ts +0 -7
  529. package/dist/engine/scheduling/execGateOutputAppend.d.ts.map +0 -1
  530. package/dist/engine/scheduling/execGateOutputAppend.js +0 -21
  531. package/dist/engine/scheduling/execGateOutputAppend.js.map +0 -1
  532. package/dist/engine/scheduling/execGateOutputAppend.spec.d.ts +0 -2
  533. package/dist/engine/scheduling/execGateOutputAppend.spec.d.ts.map +0 -1
  534. package/dist/engine/scheduling/execGateOutputAppend.spec.js +0 -24
  535. package/dist/engine/scheduling/execGateOutputAppend.spec.js.map +0 -1
  536. package/dist/engine/scheduling/execGateTypes.d.ts +0 -15
  537. package/dist/engine/scheduling/execGateTypes.d.ts.map +0 -1
  538. package/dist/engine/scheduling/execGateTypes.js +0 -2
  539. package/dist/engine/scheduling/execGateTypes.js.map +0 -1
  540. package/dist/plugins/dashboard/site/_next/static/chunks/668-ebfa412e61ce0ba6.js +0 -1
  541. package/dist/plugins/dashboard/site/_next/static/chunks/app/agent/page-22dfc72e39faa099.js +0 -1
  542. package/dist/plugins/dashboard/site/_next/static/chunks/app/agents/page-7b0c562c7534861a.js +0 -1
  543. package/dist/plugins/dashboard/site/_next/static/chunks/app/automations/page-9df2c7b543034651.js +0 -1
  544. package/dist/plugins/dashboard/site/_next/static/chunks/app/connectors/page-036fb8590b50cc57.js +0 -1
  545. package/dist/plugins/dashboard/site/_next/static/chunks/app/page-8c0afc21c643ff8b.js +0 -1
  546. package/dist/plugins/dashboard/site/_next/static/chunks/app/processes/page-98da30b493398bf7.js +0 -1
  547. package/dist/plugins/dashboard/site/_next/static/chunks/app/signals/page-44ccbe1e003b1905.js +0 -1
  548. package/dist/plugins/dashboard/site/_next/static/chunks/app/tools/page-6ff89d201c006847.js +0 -1
  549. package/dist/plugins/dashboard/site/_next/static/css/5e0d68fc118b66c8.css +0 -5
  550. package/dist/prompts/ACTORS.md +0 -37
  551. package/dist/prompts/ARCHITECT.md +0 -36
  552. package/dist/prompts/PERMISSIONS.md +0 -63
  553. /package/dist/plugins/dashboard/site/_next/static/{aRKOz6Bb-vvt0oWuU7inW → Xz8Kc-P2fnMqmm-AsS7Ui}/_buildManifest.js +0 -0
  554. /package/dist/plugins/dashboard/site/_next/static/{aRKOz6Bb-vvt0oWuU7inW → Xz8Kc-P2fnMqmm-AsS7Ui}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[371],{67969:function(e,t,a){Promise.resolve().then(a.bind(a,87268))},87268:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return k}});var s=a(27573),n=a(7653),r=a(86742),l=a(2470),i=a(50027),c=a(50326);let o=(0,c.Z)("HeartPulse",[["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"}],["path",{d:"M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"1uw2ng"}]]),d=(0,c.Z)("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);var u=a(20942);let m=(0,c.Z)("Repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);var x=a(94883),f=a(87164),h=a(74997);let g=(0,c.Z)("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var p=a(75351),v=a(48157),j=a(82041),b=a(16273),N=a(26798),y=a(8807),w=a(90497);function k(){let[e,t]=(0,n.useState)([]),[a,c]=(0,n.useState)([]),[u,m]=(0,n.useState)(!1),[x,f]=(0,n.useState)(null),[h,g]=(0,n.useState)(null),p=(0,n.useCallback)(async()=>{m(!0),f(null);try{let[e,a]=await Promise.all([(0,w.fP)(),(0,w.sZ)()]);t(e),c(a),g(new Date)}catch(e){f(e instanceof Error?e.message:"Failed to load automations")}finally{m(!1)}},[]);(0,n.useEffect)(()=>{p()},[p]);let j=(0,n.useMemo)(()=>e.filter(e=>!e.deleteAfterRun).length,[e]),N=(0,n.useMemo)(()=>e.filter(e=>e.deleteAfterRun).length,[e]),k=(0,n.useMemo)(()=>e.filter(e=>e.gate).length+a.filter(e=>e.gate).length,[e,a]),M=e.length+a.length;return(0,s.jsx)(v.r,{title:"Automations",subtitle:"Cron schedules, heartbeat tasks, prompts, and execution details.",toolbar:(0,s.jsxs)(b.z,{onClick:()=>void p(),disabled:u,className:"gap-2",children:[(0,s.jsx)(r.Z,{className:u?"h-4 w-4 animate-spin":"h-4 w-4"}),"Refresh"]}),status:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:h?"Last synced ".concat(h.toLocaleTimeString()):"Awaiting first sync"}),x?(0,s.jsx)("span",{className:"rounded-full border border-destructive/40 bg-destructive/10 px-2.5 py-1 text-destructive",children:x}):(0,s.jsxs)("span",{children:[M," tasks registered"]})]}),children:(0,s.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-4 py-6 lg:px-6",children:[(0,s.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,s.jsx)(Z,{label:"Total tasks",value:M,detail:"Automations registered",icon:(0,s.jsx)(l.Z,{className:"h-5 w-5"}),tone:"primary"}),(0,s.jsx)(Z,{label:"Cron",value:e.length,detail:"".concat(j," recurring / ").concat(N," one-off"),icon:(0,s.jsx)(i.Z,{className:"h-5 w-5"}),tone:"amber"}),(0,s.jsx)(Z,{label:"Heartbeat",value:a.length,detail:"Batch interval tasks",icon:(0,s.jsx)(o,{className:"h-5 w-5"}),tone:"rose"}),(0,s.jsx)(Z,{label:"Gated",value:k,detail:"Tasks with gate conditions",icon:(0,s.jsx)(d,{className:"h-5 w-5"}),tone:"emerald"})]}),(0,s.jsxs)(y.mQ,{defaultValue:"cron",className:"flex flex-col gap-4",children:[(0,s.jsxs)(y.dr,{className:"self-start",children:[(0,s.jsxs)(y.SP,{value:"cron",className:"gap-2",children:[(0,s.jsx)(i.Z,{className:"h-3.5 w-3.5"}),"Cron tasks (",e.length,")"]}),(0,s.jsxs)(y.SP,{value:"heartbeat",className:"gap-2",children:[(0,s.jsx)(o,{className:"h-3.5 w-3.5"}),"Heartbeat tasks (",a.length,")"]})]}),(0,s.jsx)(y.nU,{value:"cron",className:"mt-0",children:e.length?(0,s.jsx)("div",{className:"grid gap-4",children:e.map((e,t)=>{var a;return(0,s.jsx)(C,{task:e},null!==(a=e.id)&&void 0!==a?a:"cron-".concat(t))})}):(0,s.jsx)(T,{icon:(0,s.jsx)(i.Z,{className:"h-8 w-8"}),label:"No cron tasks scheduled"})}),(0,s.jsx)(y.nU,{value:"heartbeat",className:"mt-0",children:a.length?(0,s.jsx)("div",{className:"grid gap-4",children:a.map(e=>(0,s.jsx)(R,{task:e},e.id))}):(0,s.jsx)(T,{icon:(0,s.jsx)(o,{className:"h-8 w-8"}),label:"No heartbeat tasks found"})})]})]})})}let M={primary:{bg:"bg-primary/10",text:"text-primary",gradient:"from-primary/10 via-card to-card"},amber:{bg:"bg-amber-500/10",text:"text-amber-600 dark:text-amber-400",gradient:"from-amber-500/10 via-card to-card"},rose:{bg:"bg-rose-500/10",text:"text-rose-600 dark:text-rose-400",gradient:"from-rose-500/10 via-card to-card"},emerald:{bg:"bg-emerald-500/10",text:"text-emerald-600 dark:text-emerald-400",gradient:"from-emerald-500/10 via-card to-card"}};function Z(e){let{label:t,value:a,detail:n,icon:r,tone:l}=e,i=M[l];return(0,s.jsxs)(N.Zb,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br ".concat(i.gradient)}),(0,s.jsxs)(N.Ol,{className:"relative flex flex-row items-center justify-between pb-2",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(N.SZ,{className:"text-xs",children:t}),(0,s.jsx)(N.ll,{className:"text-3xl font-semibold tabular-nums",children:a})]}),(0,s.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full ".concat(i.bg," ").concat(i.text),children:r})]}),(0,s.jsx)(N.aY,{className:"relative text-xs text-muted-foreground",children:n})]})}function C(e){var t,a,r,l;let{task:c}=e,[o,v]=(0,n.useState)(!1),b=!1===c.enabled;return(0,s.jsxs)(N.Zb,{className:"transition-shadow hover:shadow-md ".concat(b?"opacity-60":""),children:[(0,s.jsx)(N.Ol,{className:"cursor-pointer select-none",onClick:()=>v(e=>!e),children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 min-w-0",children:[(0,s.jsx)("div",{className:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-amber-500/10 text-amber-600 dark:text-amber-400",children:(0,s.jsx)(i.Z,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(N.ll,{className:"text-base truncate",children:null!==(a=null!==(t=c.name)&&void 0!==t?t:c.id)&&void 0!==a?a:"Unnamed task"}),b&&(0,s.jsx)(j.C,{variant:"secondary",className:"text-[10px] uppercase",children:"disabled"})]}),c.description&&(0,s.jsx)(N.SZ,{className:"mt-0.5 line-clamp-2",children:c.description}),(0,s.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-xs text-muted-foreground",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5 font-mono",children:[(0,s.jsx)(u.Z,{className:"h-3 w-3"}),null!==(r=c.schedule)&&void 0!==r?r:"custom"]}),(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(m,{className:"h-3 w-3"}),c.deleteAfterRun?"Run once":"Recurring"]}),c.lastRunAt&&(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(x.Z,{className:"h-3 w-3"}),"Last run ",D(c.lastRunAt)]}),c.gate&&(0,s.jsxs)(j.C,{variant:"outline",className:"gap-1 text-[10px]",children:[(0,s.jsx)(d,{className:"h-2.5 w-2.5"})," Gated"]})]})]})]}),(0,s.jsx)("button",{className:"mt-1 shrink-0 rounded p-1 text-muted-foreground hover:bg-muted",children:o?(0,s.jsx)(f.Z,{className:"h-4 w-4"}):(0,s.jsx)(h.Z,{className:"h-4 w-4"})})]})}),o&&(0,s.jsxs)(N.aY,{className:"border-t pt-4 space-y-4",children:[c.prompt&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:[(0,s.jsx)(g,{className:"h-3.5 w-3.5"}),"Prompt"]}),(0,s.jsx)("pre",{className:"max-h-72 overflow-auto rounded-lg border bg-muted/50 p-4 text-xs leading-relaxed text-foreground whitespace-pre-wrap break-words font-mono",children:c.prompt})]}),(0,s.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:[(0,s.jsx)(A,{label:"Task ID",value:c.id,mono:!0}),(0,s.jsx)(A,{label:"Schedule",value:null!==(l=c.schedule)&&void 0!==l?l:"custom",mono:!0}),(0,s.jsx)(A,{label:"Mode",value:c.deleteAfterRun?"One-off (delete after run)":"Recurring"}),c.agentId&&(0,s.jsx)(A,{label:"Target agent",value:c.agentId,mono:!0}),c.lastRunAt&&(0,s.jsx)(A,{label:"Last run",value:V(c.lastRunAt)}),!1===c.enabled&&(0,s.jsx)(A,{label:"Enabled",value:"No"})]}),c.gate&&(0,s.jsx)(P,{gate:c.gate}),(c.taskPath||c.memoryPath||c.filesPath)&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:[(0,s.jsx)(p.Z,{className:"h-3.5 w-3.5"}),"File paths"]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[c.taskPath&&(0,s.jsx)(S,{label:"Task",value:c.taskPath}),c.memoryPath&&(0,s.jsx)(S,{label:"Memory",value:c.memoryPath}),c.filesPath&&(0,s.jsx)(S,{label:"Files",value:c.filesPath})]})]})]})]})}function R(e){let{task:t}=e,[a,r]=(0,n.useState)(!1);return(0,s.jsxs)(N.Zb,{className:"transition-shadow hover:shadow-md",children:[(0,s.jsx)(N.Ol,{className:"cursor-pointer select-none",onClick:()=>r(e=>!e),children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 min-w-0",children:[(0,s.jsx)("div",{className:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-rose-500/10 text-rose-600 dark:text-rose-400",children:(0,s.jsx)(o,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)(N.ll,{className:"text-base truncate",children:t.title}),(0,s.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{className:"font-mono",children:t.id}),t.lastRunAt?(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(x.Z,{className:"h-3 w-3"}),"Last run ",D(t.lastRunAt)]}):(0,s.jsx)("span",{className:"italic",children:"Never run"}),t.gate?(0,s.jsxs)(j.C,{variant:"outline",className:"gap-1 text-[10px]",children:[(0,s.jsx)(d,{className:"h-2.5 w-2.5"})," Gated"]}):(0,s.jsx)(j.C,{variant:"outline",className:"text-[10px]",children:"Always"})]})]})]}),(0,s.jsx)("button",{className:"mt-1 shrink-0 rounded p-1 text-muted-foreground hover:bg-muted",children:a?(0,s.jsx)(f.Z,{className:"h-4 w-4"}):(0,s.jsx)(h.Z,{className:"h-4 w-4"})})]})}),a&&(0,s.jsxs)(N.aY,{className:"border-t pt-4 space-y-4",children:[t.prompt&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:[(0,s.jsx)(g,{className:"h-3.5 w-3.5"}),"Prompt"]}),(0,s.jsx)("pre",{className:"max-h-72 overflow-auto rounded-lg border bg-muted/50 p-4 text-xs leading-relaxed text-foreground whitespace-pre-wrap break-words font-mono",children:t.prompt})]}),(0,s.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:[(0,s.jsx)(A,{label:"Task ID",value:t.id,mono:!0}),t.lastRunAt&&(0,s.jsx)(A,{label:"Last run",value:V(t.lastRunAt)}),t.filePath&&(0,s.jsx)(A,{label:"File",value:t.filePath,mono:!0})]}),t.gate&&(0,s.jsx)(P,{gate:t.gate})]})]})}function P(e){let{gate:t}=e;return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:[(0,s.jsx)(d,{className:"h-3.5 w-3.5"}),"Gate condition"]}),(0,s.jsxs)("div",{className:"rounded-lg border bg-muted/30 p-3 space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Command:"}),(0,s.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 font-mono text-foreground",children:t.command})]}),t.cwd&&(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Working directory:"}),(0,s.jsx)("code",{className:"rounded bg-muted px-2 py-0.5 font-mono text-foreground",children:t.cwd})]}),t.timeoutMs&&(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Timeout:"}),(0,s.jsxs)("span",{children:[t.timeoutMs,"ms"]})]}),t.permissions&&t.permissions.length>0&&(0,s.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Permissions:"}),(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:t.permissions.map(e=>(0,s.jsx)(j.C,{variant:"outline",className:"text-[10px] font-mono",children:e},e))})]})]})]})}function A(e){let{label:t,value:a,mono:n}=e;return(0,s.jsxs)("div",{className:"rounded-lg border bg-background/60 px-3 py-2.5",children:[(0,s.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-wider text-muted-foreground",children:t}),(0,s.jsx)("div",{className:"mt-0.5 text-sm text-foreground truncate ".concat(n?"font-mono":""),children:a})]})}function S(e){let{label:t,value:a}=e;return(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsxs)("span",{className:"w-16 shrink-0 text-muted-foreground",children:[t,":"]}),(0,s.jsx)("code",{className:"truncate rounded bg-muted px-2 py-0.5 font-mono text-foreground",children:a})]})}function T(e){let{icon:t,label:a}=e;return(0,s.jsx)(N.Zb,{children:(0,s.jsxs)(N.aY,{className:"flex flex-col items-center justify-center gap-3 py-16 text-muted-foreground",children:[(0,s.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-full bg-muted/50",children:t}),(0,s.jsx)("span",{className:"text-sm",children:a})]})})}function V(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function D(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let a=Math.floor((Date.now()-t.getTime())/6e4);if(a<1)return"just now";if(a<60)return"".concat(a,"m ago");let s=Math.floor(a/60);return s<24?"".concat(s,"h ago"):"".concat(Math.floor(s/24),"d ago")}},82041:function(e,t,a){"use strict";a.d(t,{C:function(){return i}});var s=a(27573);a(7653);var n=a(49289),r=a(19369);let l=(0,n.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i(e){let{className:t,variant:a,...n}=e;return(0,s.jsx)("div",{className:(0,r.cn)(l({variant:a}),t),...n})}},8807:function(e,t,a){"use strict";a.d(t,{mQ:function(){return P},nU:function(){return T},dr:function(){return A},SP:function(){return S}});var s=a(27573),n=a(7653),r=a(46196),l=a(99933),i=a(48684),c=a(65622),o=a(78378),d=a(21004),u=a(47178),m=a(17321),x="Tabs",[f,h]=(0,l.b)(x,[i.Pc]),g=(0,i.Pc)(),[p,v]=f(x),j=n.forwardRef((e,t)=>{let{__scopeTabs:a,value:n,onValueChange:r,defaultValue:l,orientation:i="horizontal",dir:c,activationMode:f="automatic",...h}=e,g=(0,d.gm)(c),[v,j]=(0,u.T)({prop:n,onChange:r,defaultProp:null!=l?l:"",caller:x});return(0,s.jsx)(p,{scope:a,baseId:(0,m.M)(),value:v,onValueChange:j,orientation:i,dir:g,activationMode:f,children:(0,s.jsx)(o.WV.div,{dir:g,"data-orientation":i,...h,ref:t})})});j.displayName=x;var b="TabsList",N=n.forwardRef((e,t)=>{let{__scopeTabs:a,loop:n=!0,...r}=e,l=v(b,a),c=g(a);return(0,s.jsx)(i.fC,{asChild:!0,...c,orientation:l.orientation,dir:l.dir,loop:n,children:(0,s.jsx)(o.WV.div,{role:"tablist","aria-orientation":l.orientation,...r,ref:t})})});N.displayName=b;var y="TabsTrigger",w=n.forwardRef((e,t)=>{let{__scopeTabs:a,value:n,disabled:l=!1,...c}=e,d=v(y,a),u=g(a),m=Z(d.baseId,n),x=C(d.baseId,n),f=n===d.value;return(0,s.jsx)(i.ck,{asChild:!0,...u,focusable:!l,active:f,children:(0,s.jsx)(o.WV.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":x,"data-state":f?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:m,...c,ref:t,onMouseDown:(0,r.Mj)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():d.onValueChange(n)}),onKeyDown:(0,r.Mj)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&d.onValueChange(n)}),onFocus:(0,r.Mj)(e.onFocus,()=>{let e="manual"!==d.activationMode;f||l||!e||d.onValueChange(n)})})})});w.displayName=y;var k="TabsContent",M=n.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,forceMount:l,children:i,...d}=e,u=v(k,a),m=Z(u.baseId,r),x=C(u.baseId,r),f=r===u.value,h=n.useRef(f);return n.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,s.jsx)(c.z,{present:l||f,children:a=>{let{present:n}=a;return(0,s.jsx)(o.WV.div,{"data-state":f?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":m,hidden:!n,id:x,tabIndex:0,...d,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:n&&i})}})});function Z(e,t){return"".concat(e,"-trigger-").concat(t)}function C(e,t){return"".concat(e,"-content-").concat(t)}M.displayName=k;var R=a(19369);let P=j,A=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(N,{ref:t,className:(0,R.cn)("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...n})});A.displayName=N.displayName;let S=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(w,{ref:t,className:(0,R.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",a),...n})});S.displayName=w.displayName;let T=n.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,s.jsx)(M,{ref:t,className:(0,R.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...n})});T.displayName=M.displayName},90497:function(e,t,a){"use strict";async function s(e){let t=await fetch(e);if(!t.ok)throw Error("Request failed: ".concat(t.status));return await t.json()}async function n(){var e;return null!==(e=(await s("/api/v1/engine/status")).status)&&void 0!==e?e:{}}async function r(){var e;return null!==(e=(await s("/api/v1/engine/cron/tasks")).tasks)&&void 0!==e?e:[]}async function l(){var e;return null!==(e=(await s("/api/v1/engine/heartbeat/tasks")).tasks)&&void 0!==e?e:[]}async function i(){var e;return null!==(e=(await s("/api/v1/engine/processes")).processes)&&void 0!==e?e:[]}async function c(e){let t=await fetch("/api/v1/engine/signals/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await t.json();if(!t.ok||!a.ok){var s;throw Error(null!==(s=a.error)&&void 0!==s?s:"Request failed: ".concat(t.status))}return a.signal}async function o(){var e;return null!==(e=(await s("/api/v1/engine/signals/subscriptions")).subscriptions)&&void 0!==e?e:[]}async function d(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,a=new URLSearchParams({limit:String(t)});return null!==(e=(await s("/api/v1/engine/signals/events?".concat(a))).events)&&void 0!==e?e:[]}async function u(){var e;return null!==(e=(await s("/api/v1/engine/agents/background")).agents)&&void 0!==e?e:[]}async function m(){var e;return null!==(e=(await s("/api/v1/engine/agents")).agents)&&void 0!==e?e:[]}async function x(e){var t;let a=encodeURIComponent(e);return null!==(t=(await s("/api/v1/engine/agents/".concat(a,"/history"))).records)&&void 0!==t?t:[]}a.d(t,{Ip:function(){return d},Sj:function(){return m},Sk:function(){return o},ab:function(){return x},fP:function(){return r},jg:function(){return n},oI:function(){return u},sB:function(){return c},sZ:function(){return l},x3:function(){return i}})},2470:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(50326).Z)("AlarmClock",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M12 9v4l2 2",key:"1c63tq"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}]])},20942:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(50326).Z)("Cable",[["path",{d:"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1",key:"10bnsj"}],["path",{d:"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9",key:"1eqmu1"}],["path",{d:"M21 21v-2h-4",key:"14zm7j"}],["path",{d:"M3 5h4V3",key:"z442eg"}],["path",{d:"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3",key:"ebdjd7"}]])},87164:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(50326).Z)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},94883:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(50326).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])}},function(e){e.O(0,[315,668,293,528,744],function(){return e(e.s=67969)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[595],{99033:function(e,n,t){Promise.resolve().then(t.bind(t,14259))},14259:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return u}});var a=t(27573),s=t(7653),r=t(86742),i=t(20942),o=t(48157),c=t(16273),l=t(26798),d=t(90497);function u(){var e;let[n,t]=(0,s.useState)(null),[u,x]=(0,s.useState)(!1),[h,g]=(0,s.useState)(null),[m,f]=(0,s.useState)(null),v=(0,s.useCallback)(async()=>{x(!0),g(null);try{let e=await (0,d.jg)();t(e),f(new Date)}catch(e){g(e instanceof Error?e.message:"Failed to load connectors")}finally{x(!1)}},[]);(0,s.useEffect)(()=>{v()},[v]);let p=null!==(e=null==n?void 0:n.connectors)&&void 0!==e?e:[],j=(0,s.useMemo)(()=>{if(!p.length)return"No connectors yet";let e=p.map(e=>new Date(e.loadedAt)).sort((e,n)=>n.getTime()-e.getTime())[0];return e?e.toLocaleTimeString():"Unknown"},[p]),b=(0,s.useMemo)(()=>p.map(e=>{var n;return null!==(n=e.name)&&void 0!==n?n:e.id}),[p]);return(0,a.jsx)(o.r,{title:"Connectors",subtitle:"Endpoints connected to the engine runtime.",toolbar:(0,a.jsxs)(c.z,{onClick:()=>void v(),disabled:u,className:"gap-2",children:[(0,a.jsx)(r.Z,{className:u?"h-4 w-4 animate-spin":"h-4 w-4"}),"Refresh"]}),status:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{children:m?"Last synced ".concat(m.toLocaleTimeString()):"Awaiting first sync"}),h?(0,a.jsx)("span",{className:"rounded-full border border-destructive/40 bg-destructive/10 px-2.5 py-1 text-destructive",children:h}):(0,a.jsxs)("span",{children:[p.length," connectors online"]})]}),children:(0,a.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-4 py-6 lg:px-6",children:[(0,a.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,a.jsxs)(l.Zb,{className:"bg-gradient-to-br from-primary/10 via-card to-card/80",children:[(0,a.jsxs)(l.Ol,{className:"flex flex-row items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(l.SZ,{children:"Connector count"}),(0,a.jsx)(l.ll,{className:"text-2xl",children:p.length})]}),(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-primary/10 text-primary",children:(0,a.jsx)(i.Z,{className:"h-5 w-5"})})]}),(0,a.jsx)(l.aY,{className:"text-xs text-muted-foreground",children:b.slice(0,2).join(", ")||"Live connector endpoints feeding the engine."})]}),(0,a.jsxs)(l.Zb,{className:"bg-gradient-to-br from-accent/10 via-card to-card/80",children:[(0,a.jsxs)(l.Ol,{children:[(0,a.jsx)(l.SZ,{children:"Latest load"}),(0,a.jsx)(l.ll,{className:"text-xl",children:j})]}),(0,a.jsx)(l.aY,{className:"text-xs text-muted-foreground",children:"Most recent connector initialization."})]}),(0,a.jsxs)(l.Zb,{className:"bg-gradient-to-br from-secondary/30 via-card to-card/80",children:[(0,a.jsxs)(l.Ol,{children:[(0,a.jsx)(l.SZ,{children:"Health"}),(0,a.jsx)(l.ll,{className:"text-xl",children:p.length?"Healthy":"Standby"})]}),(0,a.jsx)(l.aY,{className:"text-xs text-muted-foreground",children:"Connector pool status."})]})]}),(0,a.jsxs)(l.Zb,{className:"overflow-hidden",children:[(0,a.jsxs)(l.Ol,{children:[(0,a.jsx)(l.ll,{children:"Active connectors"}),(0,a.jsx)(l.SZ,{children:"Loaded connector ids and timestamps."})]}),(0,a.jsx)(l.aY,{className:"grid gap-3 sm:grid-cols-2",children:p.length?p.map(e=>{var n;return(0,a.jsxs)("div",{className:"rounded-lg border bg-background/60 px-4 py-3 transition duration-300 hover:-translate-y-0.5 hover:border-primary/40 hover:bg-background",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-foreground",children:null!==(n=e.name)&&void 0!==n?n:e.id}),e.name&&e.name!==e.id?(0,a.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Instance: ",e.id]}):null,e.pluginId?(0,a.jsxs)("div",{className:"mt-1 text-xs text-muted-foreground",children:["Plugin: ",e.pluginId]}):null,(0,a.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Loaded at ",new Date(e.loadedAt).toLocaleTimeString()]})]},e.id)}):(0,a.jsx)("div",{className:"rounded-lg border border-dashed px-4 py-6 text-sm text-muted-foreground",children:"No connectors online."})})]})]})})}},90497:function(e,n,t){"use strict";async function a(e){let n=await fetch(e);if(!n.ok)throw Error("Request failed: ".concat(n.status));return await n.json()}async function s(){var e;return null!==(e=(await a("/api/v1/engine/status")).status)&&void 0!==e?e:{}}async function r(){var e;return null!==(e=(await a("/api/v1/engine/cron/tasks")).tasks)&&void 0!==e?e:[]}async function i(){var e;return null!==(e=(await a("/api/v1/engine/heartbeat/tasks")).tasks)&&void 0!==e?e:[]}async function o(){var e;return null!==(e=(await a("/api/v1/engine/processes")).processes)&&void 0!==e?e:[]}async function c(e){let n=await fetch("/api/v1/engine/signals/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),t=await n.json();if(!n.ok||!t.ok){var a;throw Error(null!==(a=t.error)&&void 0!==a?a:"Request failed: ".concat(n.status))}return t.signal}async function l(){var e;return null!==(e=(await a("/api/v1/engine/signals/subscriptions")).subscriptions)&&void 0!==e?e:[]}async function d(){var e;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,t=new URLSearchParams({limit:String(n)});return null!==(e=(await a("/api/v1/engine/signals/events?".concat(t))).events)&&void 0!==e?e:[]}async function u(){var e;return null!==(e=(await a("/api/v1/engine/agents/background")).agents)&&void 0!==e?e:[]}async function x(){var e;return null!==(e=(await a("/api/v1/engine/agents")).agents)&&void 0!==e?e:[]}async function h(e){var n;let t=encodeURIComponent(e);return null!==(n=(await a("/api/v1/engine/agents/".concat(t,"/history"))).records)&&void 0!==n?n:[]}t.d(n,{Ip:function(){return d},Sj:function(){return x},Sk:function(){return l},ab:function(){return h},fP:function(){return r},jg:function(){return s},oI:function(){return u},sB:function(){return c},sZ:function(){return i},x3:function(){return o}})},20942:function(e,n,t){"use strict";t.d(n,{Z:function(){return a}});let a=(0,t(50326).Z)("Cable",[["path",{d:"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1",key:"10bnsj"}],["path",{d:"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9",key:"1eqmu1"}],["path",{d:"M21 21v-2h-4",key:"14zm7j"}],["path",{d:"M3 5h4V3",key:"z442eg"}],["path",{d:"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3",key:"ebdjd7"}]])}},function(e){e.O(0,[315,668,293,528,744],function(){return e(e.s=99033)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{15605:function(e,t,a){Promise.resolve().then(a.bind(a,13780))},13780:function(e,t,a){"use strict";a.d(t,{default:function(){return F}});var n=a(27573),s=a(88146),r=a(7653),l=a(94181),i=a(35486),d=a(50896),o=a(2657),c=a(86742),u=a(50326);let m=(0,u.Z)("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);var x=a(16590),f=a(2470),h=a(90183),p=a(96472),g=a(94883);let v=(0,u.Z)("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);var j=a(81929);let y=(0,u.Z)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]),b=(0,u.Z)("TrendingDown",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]]),N=(0,u.Z)("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var w=a(20942),k=a(69452),Z=a(5757),C=a(3105),S=a(63568),M=a(8705),A=a(56284),R=a(5363),I=a(48157),_=a(82041),T=a(16273),z=a(26798),O=a(1828),P=a(13040),L=a(99587),V=a(8807),D=a(7452),E=a(31357),Y=a(90497),q=a(73581);function F(){var e,t,a,s,l,i,d,o,u,y;let[b,N]=(0,r.useState)(null),[w,k]=(0,r.useState)([]),[Z,C]=(0,r.useState)([]),[S,M]=(0,r.useState)([]),[A,R]=(0,r.useState)([]),[z,O]=(0,r.useState)([]),[P,L]=(0,r.useState)([]),[V,D]=(0,r.useState)(!1),[E,q]=(0,r.useState)(!1),[F,Q]=(0,r.useState)(null),[X,en]=(0,r.useState)(null),es=(0,r.useCallback)(async()=>{let e=await (0,Y.jg)();N(null!=e?e:null)},[]),er=(0,r.useCallback)(async()=>{k(await (0,Y.fP)())},[]),el=(0,r.useCallback)(async()=>{C(await (0,Y.sZ)())},[]),ei=(0,r.useCallback)(async()=>{M(await (0,Y.oI)())},[]),ed=(0,r.useCallback)(async()=>{R(await (0,Y.Sj)())},[]),eo=(0,r.useCallback)(async()=>{O(await (0,Y.Ip)(50))},[]),ec=(0,r.useCallback)(async()=>{L(await (0,Y.Sk)())},[]),eu=(0,r.useCallback)(async()=>{q(!0),Q(null);try{await Promise.all([es(),er(),el(),ei(),ed(),eo(),ec()]),en(new Date)}catch(e){Q(e instanceof Error?e.message:"Refresh failed")}finally{q(!1)}},[ed,ei,er,el,eo,ec,es]);(0,r.useEffect)(()=>{eu()},[eu]),(0,r.useEffect)(()=>{let e=new EventSource("/api/v1/engine/events");return e.onopen=()=>{D(!0)},e.onerror=()=>{D(!1)},e.onmessage=e=>{let t=JSON.parse(e.data);if("init"===t.type){var a,n,s,r,l,i,d,o;N(null!==(l=null===(a=t.payload)||void 0===a?void 0:a.status)&&void 0!==l?l:null),k(null!==(i=null===(n=t.payload)||void 0===n?void 0:n.cron)&&void 0!==i?i:[]),C(null!==(d=null===(s=t.payload)||void 0===s?void 0:s.heartbeat)&&void 0!==d?d:[]),M(null!==(o=null===(r=t.payload)||void 0===r?void 0:r.backgroundAgents)&&void 0!==o?o:[]),ed();return}switch(t.type){case"agent.created":case"agent.reset":case"agent.restored":case"agent.dead":ed(),ei();break;case"cron.task.added":case"cron.started":case"cron.task.ran":er();break;case"heartbeat.started":case"heartbeat.task.ran":el();break;case"plugin.loaded":case"plugin.unloaded":es();break;case"signal.generated":eo(),ec()}},()=>{e.close()}},[ed,ei,er,el,eo,ec,es]);let em=null!==(i=null==b?void 0:null===(e=b.plugins)||void 0===e?void 0:e.length)&&void 0!==i?i:0,ex=A.length,ef=w.length,eh=Z.length;S.length;let ep=null!==(d=null==b?void 0:null===(t=b.connectors)||void 0===t?void 0:t.length)&&void 0!==d?d:0,eg=null!==(o=null==b?void 0:null===(a=b.inferenceProviders)||void 0===a?void 0:a.length)&&void 0!==o?o:0,ev=null!==(u=null==b?void 0:null===(s=b.imageProviders)||void 0===s?void 0:s.length)&&void 0!==u?u:0,ej=null!==(y=null==b?void 0:null===(l=b.tools)||void 0===l?void 0:l.length)&&void 0!==y?y:0,ey=z.length,eb=P.length,eN=(0,r.useMemo)(()=>(function(e){let t=e=>Number.isFinite(e.updatedAt)?e.updatedAt:0;return[...e].sort((e,a)=>t(a)-t(e))})(A),[A]),ew=(0,r.useMemo)(()=>{var e,t;return null!==(t=null==b?void 0:null===(e=b.connectors)||void 0===e?void 0:e.map(e=>{var t;return{title:null!==(t=e.name)&&void 0!==t?t:e.id,meta:function(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString()}(e.loadedAt)}}))&&void 0!==t?t:[]},[null==b?void 0:b.connectors]),ek=(0,r.useMemo)(()=>{var e,t;return null!==(t=null==b?void 0:null===(e=b.inferenceProviders)||void 0===e?void 0:e.map(e=>{var t,a;return{title:null!==(t=e.name)&&void 0!==t?t:e.id,meta:null!==(a=e.label)&&void 0!==a?a:e.id}}))&&void 0!==t?t:[]},[null==b?void 0:b.inferenceProviders]),eZ=(0,r.useMemo)(()=>{var e,t;return null!==(t=null==b?void 0:null===(e=b.imageProviders)||void 0===e?void 0:e.map(e=>{var t,a;return{title:null!==(t=e.name)&&void 0!==t?t:e.id,meta:null!==(a=e.label)&&void 0!==a?a:e.id}}))&&void 0!==t?t:[]},[null==b?void 0:b.imageProviders]),eC=(0,r.useMemo)(()=>{var e,t;return null!==(t=null==b?void 0:null===(e=b.plugins)||void 0===e?void 0:e.map(e=>{var t;return{title:null!==(t=e.name)&&void 0!==t?t:e.id,meta:e.id===e.pluginId?"loaded":e.id}}))&&void 0!==t?t:[]},[null==b?void 0:b.plugins]),eS=(0,r.useMemo)(()=>{var e,t;return null!==(t=null==b?void 0:null===(e=b.tools)||void 0===e?void 0:e.map(e=>({title:e,meta:"tool"})))&&void 0!==t?t:[]},[null==b?void 0:b.tools]);return(0,n.jsx)(I.r,{title:"Engine Overview",subtitle:"Monitor the Daycare runtime, providers, and agents.",toolbar:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(_.C,{variant:V?"default":"outline",className:V?"bg-emerald-500 text-white":"",children:V?"Live":"Offline"}),(0,n.jsxs)(T.z,{onClick:()=>void eu(),disabled:E,className:"gap-2",children:[(0,n.jsx)(c.Z,{className:E?"h-4 w-4 animate-spin":"h-4 w-4"}),E?"Refreshing":"Refresh"]})]}),status:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{children:X?"Last synced ".concat(X.toLocaleTimeString()):"Awaiting first sync"}),F?(0,n.jsx)("span",{className:"rounded-full border border-destructive/40 bg-destructive/10 px-2.5 py-1 text-destructive",children:F}):(0,n.jsx)("span",{children:"Streaming engine events from local socket"})]}),children:(0,n.jsx)("div",{className:"flex flex-1 flex-col",children:(0,n.jsxs)("div",{className:"@container/main flex flex-1 flex-col gap-6 py-6",children:[(0,n.jsx)(K,{stats:[{title:"Engine plugins",value:em,description:"Runtime modules loaded",meta:"".concat(ej," tools registered"),trend:em>0?"up":"down",icon:m,tone:"primary"},{title:"Active agents",value:ex,description:"Conversation threads online",meta:ex?"Traffic flowing":"No active agents",trend:ex>0?"up":"down",icon:x.Z,tone:"accent"},{title:"Automations",value:ef+eh,description:"Scheduled tasks",meta:"".concat(ef," cron / ").concat(eh," heartbeat"),trend:ef+eh>0?"up":"down",icon:f.Z,tone:"amber"},{title:"Connectors",value:ep,description:"Live connector endpoints",meta:ep?"Healthy":"Standby",trend:ep>0?"up":"down",icon:h.Z,tone:"emerald"}]}),(0,n.jsx)(G,{items:[{label:"Event stream",value:V?"Streaming":"Offline",detail:V?"SSE live updates":"Waiting for engine",icon:p.Z},{label:"Providers ready",value:"".concat(eg+ev),detail:eg?"Inference online":"No inference providers",icon:g.Z},{label:"Last sync",value:X?X.toLocaleTimeString():"Pending",detail:X?"Data refreshed":"Waiting for first sync",icon:v}]}),(0,n.jsx)(U,{actions:[{label:"Agents",description:"Inspect active conversations",href:"/agents",value:"".concat(ex," live"),icon:x.Z},{label:"Automations",description:"Review scheduled workflows",href:"/automations",value:"".concat(ef+eh," running"),icon:f.Z},{label:"Connectors",description:"Manage ingress endpoints",href:"/connectors",value:"".concat(ep," online"),icon:h.Z},{label:"Signals",description:"View signal event stream",href:"/signals",value:"".concat(ey," events \xb7 ").concat(eb," subs"),icon:j.Z},{label:"Providers",description:"Model and image providers",href:"/providers",value:"".concat(eg+ev," ready"),icon:g.Z}]}),(0,n.jsxs)("div",{className:"grid gap-6 px-4 lg:grid-cols-3 lg:px-6",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-6 lg:col-span-2",children:[(0,n.jsx)(B,{agentCount:ex,cronCount:ef}),(0,n.jsx)(ea,{agents:eN})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,n.jsx)(H,{groups:[{id:"plugins",label:"Plugins (".concat(em,")"),items:eC,empty:"No plugins loaded."},{id:"connectors",label:"Connectors (".concat(ep,")"),items:ew,empty:"No connectors online."},{id:"providers",label:"Inference (".concat(eg,")"),items:ek,empty:"No inference providers."},{id:"images",label:"Image (".concat(ev,")"),items:eZ,empty:"No image providers."},{id:"tools",label:"Tools (".concat(ej,")"),items:eS,empty:"No tools registered."}]}),(0,n.jsx)(W,{cron:w}),(0,n.jsx)(J,{heartbeats:Z}),(0,n.jsx)($,{signals:z}),(0,n.jsx)(ee,{subscriptions:P}),(0,n.jsx)(et,{agents:S})]})]})]})})})}function K(e){let{stats:t}=e,a={primary:"from-primary/15 via-card to-card",accent:"from-accent/15 via-card to-card",amber:"from-amber-400/15 via-card to-card",emerald:"from-emerald-400/15 via-card to-card"};return(0,n.jsx)("div",{className:"grid gap-4 px-4 md:grid-cols-2 xl:grid-cols-4 lg:px-6",children:t.map(e=>(0,n.jsxs)(z.Zb,{className:"@container/card relative overflow-hidden bg-gradient-to-br from-card to-card/80 shadow-sm transition duration-300 hover:-translate-y-0.5 hover:shadow-lg",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br ".concat(a[e.tone])}),(0,n.jsxs)(z.Ol,{className:"relative",children:[(0,n.jsx)(z.SZ,{children:e.title}),(0,n.jsx)(z.ll,{className:"@[250px]/card:text-3xl text-2xl font-semibold tabular-nums",children:e.value}),(0,n.jsxs)("div",{className:"absolute right-4 top-4 flex items-center gap-2",children:[(0,n.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-background/80 text-foreground shadow-sm",children:(0,n.jsx)(e.icon,{className:"h-4 w-4"})}),(0,n.jsxs)(_.C,{variant:"outline",className:"flex gap-1 rounded-lg text-xs",children:["up"===e.trend?(0,n.jsx)(y,{className:"size-3"}):(0,n.jsx)(b,{className:"size-3"}),"up"===e.trend?"Active":"Idle"]})]})]}),(0,n.jsxs)(z.aY,{className:"flex flex-col gap-1 text-sm text-muted-foreground",children:[(0,n.jsx)("span",{className:"font-medium text-foreground",children:e.description}),(0,n.jsx)("span",{children:e.meta})]})]},e.title))})}function G(e){let{items:t}=e;return(0,n.jsx)("div",{className:"grid gap-4 px-4 md:grid-cols-3 lg:px-6",children:t.map(e=>(0,n.jsx)(z.Zb,{className:"bg-background/70",children:(0,n.jsxs)(z.aY,{className:"flex items-center gap-4 pt-6",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-muted text-foreground",children:(0,n.jsx)(e.icon,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:e.label}),(0,n.jsx)("div",{className:"text-lg font-semibold text-foreground",children:e.value}),(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:e.detail})]})]})},e.label))})}function U(e){let{actions:t}=e;return(0,n.jsx)("div",{className:"grid gap-4 px-4 md:grid-cols-2 lg:grid-cols-4 lg:px-6",children:t.map(e=>(0,n.jsx)(s.default,{href:e.href,className:"group",children:(0,n.jsxs)(z.Zb,{className:"relative overflow-hidden transition duration-300 group-hover:-translate-y-0.5 group-hover:shadow-lg",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-muted/30 via-transparent to-transparent"}),(0,n.jsxs)(z.aY,{className:"relative flex items-center justify-between pt-6",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-xs uppercase tracking-wide text-muted-foreground",children:e.label}),(0,n.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e.description}),(0,n.jsx)("div",{className:"mt-2 text-xs text-muted-foreground",children:e.value})]}),(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-background text-foreground shadow-sm",children:(0,n.jsx)(e.icon,{className:"h-4 w-4"})})]}),(0,n.jsx)("div",{className:"relative flex items-center justify-end px-6 pb-4 text-xs text-muted-foreground",children:(0,n.jsxs)("span",{className:"flex items-center gap-1",children:["Open view",(0,n.jsx)(N,{className:"h-3 w-3 transition group-hover:translate-x-0.5 group-hover:-translate-y-0.5"})]})})]})},e.label))})}function B(e){let{agentCount:t,cronCount:a}=e,s=(0,E.d)(),[c,u]=(0,r.useState)("24h");(0,r.useEffect)(()=>{s&&u("6h")},[s]);let m=(0,r.useMemo)(()=>(function(e,t,a){let n="7d"===e?7:"6h"===e?6:24,s="7d"===e?864e5:36e5,r=Date.now();return Array.from({length:n}).map((e,l)=>({timestamp:new Date(r-(n-1-l)*s).toISOString(),agents:Math.max(0,Math.round((t||0)+2*Math.sin(l/2)+l%3)),cron:Math.max(0,Math.round((a||0)+1.5*Math.cos(l/2)))}))})(c,t,a),[c,t,a]);return(0,n.jsxs)(z.Zb,{className:"@container/card animate-in fade-in-0 slide-in-from-bottom-2",children:[(0,n.jsxs)(z.Ol,{className:"relative",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-primary/10 text-primary",children:(0,n.jsx)(v,{className:"h-5 w-5"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)(z.ll,{children:"Engine activity"}),(0,n.jsx)(z.SZ,{children:"Agents and automation triggers over time."})]})]}),(0,n.jsxs)("div",{className:"absolute right-4 top-4",children:[(0,n.jsxs)(D.t,{type:"single",value:c,onValueChange:e=>e&&u(e),variant:"outline",className:"@[767px]/card:flex hidden",children:[(0,n.jsx)(D.G,{value:"6h",className:"h-8 px-2.5",children:"Last 6h"}),(0,n.jsx)(D.G,{value:"24h",className:"h-8 px-2.5",children:"Last 24h"}),(0,n.jsx)(D.G,{value:"7d",className:"h-8 px-2.5",children:"Last 7d"})]}),(0,n.jsxs)(P.Ph,{value:c,onValueChange:u,children:[(0,n.jsx)(P.i4,{className:"@[767px]/card:hidden flex w-36","aria-label":"Select time range",children:(0,n.jsx)(P.ki,{placeholder:"Last 24h"})}),(0,n.jsxs)(P.Bw,{className:"rounded-xl",children:[(0,n.jsx)(P.Ql,{value:"6h",className:"rounded-lg",children:"Last 6 hours"}),(0,n.jsx)(P.Ql,{value:"24h",className:"rounded-lg",children:"Last 24 hours"}),(0,n.jsx)(P.Ql,{value:"7d",className:"rounded-lg",children:"Last 7 days"})]})]})]})]}),(0,n.jsx)(z.aY,{className:"px-2 pt-4 sm:px-6 sm:pt-6",children:(0,n.jsx)(O.BO,{config:{agents:{label:"Agents",color:"hsl(var(--chart-1))"},cron:{label:"Automations",color:"hsl(var(--chart-2))"}},className:"aspect-auto h-[260px] w-full",children:(0,n.jsxs)(l.T,{data:m,margin:{left:8,right:8},children:[(0,n.jsxs)("defs",{children:[(0,n.jsxs)("linearGradient",{id:"fillAgents",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,n.jsx)("stop",{offset:"5%",stopColor:"var(--color-agents)",stopOpacity:.8}),(0,n.jsx)("stop",{offset:"95%",stopColor:"var(--color-agents)",stopOpacity:.1})]}),(0,n.jsxs)("linearGradient",{id:"fillCron",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,n.jsx)("stop",{offset:"5%",stopColor:"var(--color-cron)",stopOpacity:.8}),(0,n.jsx)("stop",{offset:"95%",stopColor:"var(--color-cron)",stopOpacity:.1})]})]}),(0,n.jsx)(i.q,{vertical:!1}),(0,n.jsx)(d.K,{dataKey:"timestamp",tickLine:!1,axisLine:!1,tickMargin:8,minTickGap:24,tickFormatter:e=>new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}),(0,n.jsx)(O.h7,{cursor:!1,content:(0,n.jsx)(O.dg,{labelFormatter:e=>er(e),indicator:"dot"})}),(0,n.jsx)(o.u,{dataKey:"agents",type:"natural",fill:"url(#fillAgents)",stroke:"var(--color-agents)",stackId:"a"}),(0,n.jsx)(o.u,{dataKey:"cron",type:"natural",fill:"url(#fillCron)",stroke:"var(--color-cron)",stackId:"a"})]})})})]})}function H(e){var t;let{groups:a}=e;return(0,n.jsxs)(z.Zb,{className:"flex h-full flex-col animate-in fade-in-0 slide-in-from-bottom-2",children:[(0,n.jsx)(z.Ol,{children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-accent/10 text-accent-foreground",children:(0,n.jsx)(m,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)(z.ll,{className:"text-lg",children:"Inventory"}),(0,n.jsx)(z.SZ,{children:"Runtime modules and providers."})]})]})}),(0,n.jsx)(z.aY,{className:"flex-1",children:(0,n.jsxs)(V.mQ,{defaultValue:null===(t=a[0])||void 0===t?void 0:t.id,className:"flex flex-col gap-4",children:[(0,n.jsx)(V.dr,{className:"flex flex-wrap",children:a.map(e=>(0,n.jsx)(V.SP,{value:e.id,className:"text-xs",children:e.label},e.id))}),a.map(e=>(0,n.jsx)(V.nU,{value:e.id,className:"mt-0",children:(0,n.jsx)(Q,{items:e.items,empty:e.empty})},e.id))]})})]})}function Q(e){let{items:t,empty:a}=e;return t.length?(0,n.jsx)("div",{className:"max-h-64 space-y-3 overflow-y-auto pr-2",children:t.map(e=>(0,n.jsxs)("div",{className:"rounded-lg border bg-background/60 px-4 py-3",children:[(0,n.jsx)("div",{className:"text-sm font-medium text-foreground",children:e.title}),(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:e.meta})]},"".concat(e.title,"-").concat(e.meta)))}):(0,n.jsx)(en,{label:a})}function W(e){let{cron:t}=e;return(0,n.jsxs)(z.Zb,{className:"animate-in fade-in-0 slide-in-from-bottom-2",children:[(0,n.jsx)(z.Ol,{children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-secondary text-secondary-foreground",children:(0,n.jsx)(f.Z,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)(z.ll,{className:"text-lg",children:"Cron tasks"}),(0,n.jsx)(z.SZ,{children:"Scheduled jobs running in the engine."})]})]})}),(0,n.jsx)(z.aY,{className:"space-y-3",children:t.length?t.map((e,t)=>{var a,s,r,l,i,d;return(0,n.jsxs)("div",{className:"rounded-lg border bg-background/60 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-sm font-medium text-foreground",children:null!==(s=null!==(a=e.name)&&void 0!==a?a:e.id)&&void 0!==s?s:"task"}),(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:null!==(l=null!==(r=e.description)&&void 0!==r?r:e.prompt)&&void 0!==l?l:"custom"})]}),(0,n.jsxs)("div",{className:"flex flex-col items-end gap-1 text-xs",children:[(0,n.jsx)(_.C,{variant:"outline",className:"text-xs",children:e.deleteAfterRun?"once":"repeat"}),!1===e.enabled?(0,n.jsx)(_.C,{variant:"secondary",className:"text-[10px] uppercase tracking-wide",children:"disabled"}):null]})]}),(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(w.Z,{className:"h-3 w-3"}),(0,n.jsx)("span",{children:null!==(i=e.schedule)&&void 0!==i?i:"custom schedule"})]}),(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(p.Z,{className:"h-3 w-3"}),(0,n.jsx)("span",{children:e.lastRunAt?"Last run ".concat(er(e.lastRunAt)):"Never run"})]})]},null!==(d=e.id)&&void 0!==d?d:"cron-".concat(t))}):(0,n.jsx)(en,{label:"No cron tasks scheduled."})})]})}function J(e){let{heartbeats:t}=e;return(0,n.jsxs)(z.Zb,{className:"animate-in fade-in-0 slide-in-from-bottom-2",children:[(0,n.jsx)(z.Ol,{children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-secondary text-secondary-foreground",children:(0,n.jsx)(p.Z,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)(z.ll,{className:"text-lg",children:"Heartbeats"}),(0,n.jsx)(z.SZ,{children:"Periodic check-ins that keep context fresh."})]})]})}),(0,n.jsx)(z.aY,{className:"space-y-3",children:t.length?t.map(e=>(0,n.jsxs)("div",{className:"rounded-lg border bg-background/60 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-sm font-medium text-foreground",children:e.title}),(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:e.id})]}),(0,n.jsx)(_.C,{variant:"outline",className:"text-xs",children:"heartbeat"})]}),(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(p.Z,{className:"h-3 w-3"}),(0,n.jsx)("span",{children:e.lastRunAt?"Last run ".concat(er(e.lastRunAt)):"Never run"})]})]},e.id)):(0,n.jsx)(en,{label:"No heartbeat files found."})})]})}function $(e){let{signals:t}=e,a=(0,r.useMemo)(()=>[...t].reverse().slice(0,8),[t]);return(0,n.jsxs)(z.Zb,{className:"animate-in fade-in-0 slide-in-from-bottom-2",children:[(0,n.jsx)(z.Ol,{children:(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-violet-500/10 text-violet-600 dark:text-violet-400",children:(0,n.jsx)(j.Z,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)(z.ll,{className:"text-lg",children:"Signals"}),(0,n.jsx)(z.SZ,{children:"Recent event stream activity."})]})]}),(0,n.jsxs)(s.default,{href:"/signals",className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:["View all",(0,n.jsx)(N,{className:"h-3 w-3"})]})]})}),(0,n.jsx)(z.aY,{className:"space-y-2",children:a.length?a.map(e=>(0,n.jsxs)("div",{className:"rounded-lg border bg-background/60 px-3 py-2.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(X,{source:e.source,className:"h-3 w-3 text-muted-foreground"}),(0,n.jsx)("span",{className:"font-mono text-xs font-medium text-foreground truncate",children:e.type}),(0,n.jsx)(_.C,{variant:"outline",className:"ml-auto shrink-0 text-[10px]",children:e.source.type})]}),(0,n.jsx)("div",{className:"mt-1 text-[10px] text-muted-foreground",children:function(e){let t=Date.now()-e;if(t<0)return"just now";let a=Math.floor(t/1e3);if(a<60)return"".concat(a,"s ago");let n=Math.floor(a/60);if(n<60)return"".concat(n,"m ago");let s=Math.floor(n/60);return s<24?"".concat(s,"h ago"):er(e)}(e.createdAt)})]},e.id)):(0,n.jsx)(en,{label:"No signals recorded."})})]})}function X(e){let{source:t,className:a}=e;switch(t.type){case"system":return(0,n.jsx)(k.Z,{className:a});case"agent":return(0,n.jsx)(Z.Z,{className:a});case"webhook":return(0,n.jsx)(C.Z,{className:a});case"process":return(0,n.jsx)(S.Z,{className:a})}}function ee(e){let{subscriptions:t}=e;return(0,n.jsxs)(z.Zb,{className:"animate-in fade-in-0 slide-in-from-bottom-2",children:[(0,n.jsx)(z.Ol,{children:(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-indigo-500/10 text-indigo-600 dark:text-indigo-400",children:(0,n.jsx)(w.Z,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)(z.ll,{className:"text-lg",children:"Subscriptions"}),(0,n.jsx)(z.SZ,{children:"Agents listening for signal patterns."})]})]}),(0,n.jsxs)(s.default,{href:"/signals",className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:["View all",(0,n.jsx)(N,{className:"h-3 w-3"})]})]})}),(0,n.jsx)(z.aY,{className:"space-y-2",children:t.length?t.map(e=>(0,n.jsxs)("div",{className:"rounded-lg border bg-background/60 px-3 py-2.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-xs font-medium text-foreground truncate",children:e.pattern}),(0,n.jsx)(_.C,{variant:"outline",className:"ml-auto shrink-0 text-[10px]",children:e.silent?"silent":"notify"})]}),(0,n.jsx)("div",{className:"mt-1 text-[10px] text-muted-foreground truncate",children:e.agentId})]},"".concat(e.agentId,"::").concat(e.pattern))):(0,n.jsx)(en,{label:"No signal subscriptions active."})})]})}function et(e){let{agents:t}=e;return(0,n.jsxs)(z.Zb,{className:"animate-in fade-in-0 slide-in-from-bottom-2",children:[(0,n.jsx)(z.Ol,{children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-secondary text-secondary-foreground",children:(0,n.jsx)(M.Z,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)(z.ll,{className:"text-lg",children:"Background agents"}),(0,n.jsx)(z.SZ,{children:"Autonomous agents running behind the scenes."})]})]})}),(0,n.jsx)(z.aY,{className:"space-y-3",children:t.length?t.map(e=>{var t;return(0,n.jsxs)("div",{className:"rounded-lg border bg-background/60 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"text-sm font-medium text-foreground",children:null!==(t=e.name)&&void 0!==t?t:e.agentId}),(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:e.parentAgentId?"Parent ".concat(e.parentAgentId):e.agentId})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)(_.C,{variant:"running"===e.status?"default":"outline",className:"text-xs capitalize",children:e.status}),(0,n.jsx)(_.C,{variant:"outline",className:"text-xs capitalize",children:e.lifecycle})]})]}),(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(w.Z,{className:"h-3 w-3"}),(0,n.jsx)("span",{children:e.pending>0?"".concat(e.pending," pending"):"No pending work"})]}),(0,n.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(p.Z,{className:"h-3 w-3"}),(0,n.jsx)("span",{children:e.updatedAt?"Updated ".concat(er(e.updatedAt)):"No updates yet"})]})]},e.agentId)}):(0,n.jsx)(en,{label:"No background agents running."})})]})}function ea(e){let{agents:t}=e;return(0,n.jsxs)(z.Zb,{className:"animate-in fade-in-0 slide-in-from-bottom-2",children:[(0,n.jsx)(z.Ol,{children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-full bg-primary/10 text-primary",children:(0,n.jsx)(M.Z,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)(z.ll,{className:"text-lg",children:"Active agents"}),(0,n.jsx)(z.SZ,{children:"Live conversation threads and their latest activity."})]})]})}),(0,n.jsx)(z.aY,{className:"pt-0",children:t.length?(0,n.jsxs)(L.iA,{children:[(0,n.jsx)(L.xD,{children:(0,n.jsxs)(L.SC,{children:[(0,n.jsx)(L.ss,{children:"Agent"}),(0,n.jsx)(L.ss,{className:"hidden md:table-cell",children:"Updated"}),(0,n.jsx)(L.ss,{className:"hidden lg:table-cell",children:"Descriptor"}),(0,n.jsx)(L.ss,{className:"hidden xl:table-cell",children:"Type"}),(0,n.jsx)(L.ss,{children:"Status"})]})}),(0,n.jsx)(L.RM,{children:t.map(e=>{let t=(0,q.PA)(e);return(0,n.jsxs)(L.SC,{className:"hover:bg-muted/50",children:[(0,n.jsxs)(L.pj,{children:[(0,n.jsx)(s.default,{href:"/agent?agentId=".concat(encodeURIComponent(e.agentId)),className:"text-sm font-medium text-foreground hover:underline",children:e.agentId}),(0,n.jsx)("div",{className:"text-xs text-muted-foreground lg:hidden",children:es(e.descriptor)}),(0,n.jsx)("div",{className:"mt-1 text-[11px] text-muted-foreground lg:hidden",children:(0,q.l8)(t)})]}),(0,n.jsx)(L.pj,{className:"hidden md:table-cell text-xs text-muted-foreground",children:e.updatedAt?er(e.updatedAt):"unknown"}),(0,n.jsx)(L.pj,{className:"hidden lg:table-cell",children:(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:es(e.descriptor)})}),(0,n.jsx)(L.pj,{className:"hidden xl:table-cell",children:(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)(_.C,{variant:"outline",className:"text-[11px]",children:(0,q.l8)(t)}),(0,n.jsx)("span",{className:"line-clamp-2 font-mono text-[10px] text-muted-foreground",children:(0,q.y2)(t)})]})}),(0,n.jsx)(L.pj,{children:(0,n.jsxs)(_.C,{variant:"dead"===e.lifecycle?"destructive":"sleeping"===e.lifecycle?"outline":"secondary",className:"gap-1 capitalize",children:["dead"===e.lifecycle?(0,n.jsx)(A.Z,{className:"h-3 w-3"}):"sleeping"===e.lifecycle?(0,n.jsx)(R.Z,{className:"h-3 w-3"}):(0,n.jsx)(M.Z,{className:"h-3 w-3"}),e.lifecycle]})})]},e.agentId)})})]}):(0,n.jsx)(en,{label:"No agents yet."})})]})}function en(e){let{label:t}=e;return(0,n.jsx)("div",{className:"rounded-lg border border-dashed px-4 py-6 text-sm text-muted-foreground",children:t})}function es(e){switch(e.type){case"user":return"".concat(e.connector,":").concat(e.userId," / ").concat(e.channelId);case"cron":return"cron:".concat(e.id);case"system":return"system:".concat(e.tag);case"subagent":return e.name?"".concat(e.name," / ").concat(e.id):e.id;case"app":return"".concat(e.name," / ").concat(e.appId);case"permanent":return"".concat(e.name," / ").concat(e.id);default:return"system"}}function er(e){let t=new Date(e);return Number.isNaN(t.getTime())?String(e):t.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}},82041:function(e,t,a){"use strict";a.d(t,{C:function(){return i}});var n=a(27573);a(7653);var s=a(49289),r=a(19369);let l=(0,s.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i(e){let{className:t,variant:a,...s}=e;return(0,n.jsx)("div",{className:(0,r.cn)(l({variant:a}),t),...s})}},1828:function(e,t,a){"use strict";a.d(t,{BO:function(){return m},dg:function(){return h},h7:function(){return f}});var n=a(27573),s=a(7653),r=a(57790),l=a(57895),i=a(95192),d=a(19369);let o={light:"",dark:".dark"},c=s.createContext(null);function u(){let e=s.useContext(c);if(!e)throw Error("useChart must be used within a <ChartContainer />");return e}let m=s.forwardRef((e,t)=>{let{id:a,className:l,children:i,config:o,...u}=e,m=s.useId(),f="chart-".concat(a||m.replace(/:/g,""));return(0,n.jsx)(c.Provider,{value:{config:o},children:(0,n.jsxs)("div",{"data-chart":f,ref:t,className:(0,d.cn)("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",l),...u,children:[(0,n.jsx)(x,{id:f,config:o}),(0,n.jsx)(r.h,{children:i})]})})});m.displayName="Chart";let x=e=>{let{id:t,config:a}=e,s=Object.entries(a).filter(e=>{let[,t]=e;return t.theme||t.color});return s.length?(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:Object.entries(o).map(e=>{let[a,n]=e;return"\n".concat(n," [data-chart=").concat(t,"] {\n").concat(s.map(e=>{var t;let[n,s]=e,r=(null===(t=s.theme)||void 0===t?void 0:t[a])||s.color;return r?" --color-".concat(n,": ").concat(r,";"):null}).join("\n"),"\n}\n")}).join("\n")}}):null},f=l.u,h=s.forwardRef((e,t)=>{let{active:a,payload:r,className:l,indicator:i="dot",hideLabel:o=!1,hideIndicator:c=!1,label:m,labelFormatter:x,labelClassName:f,formatter:h,color:g,nameKey:v,labelKey:j}=e,{config:y}=u(),b=s.useMemo(()=>{var e;if(o||!(null==r?void 0:r.length))return null;let[t]=r,a="".concat(j||(null==t?void 0:t.dataKey)||(null==t?void 0:t.name)||"value"),s=p(y,t,a),l=j||"string"!=typeof m?null==s?void 0:s.label:(null===(e=y[m])||void 0===e?void 0:e.label)||m;return x?(0,n.jsx)("div",{className:(0,d.cn)("font-medium",f),children:x(l,r)}):l?(0,n.jsx)("div",{className:(0,d.cn)("font-medium",f),children:l}):null},[m,x,r,o,f,y,j]);if(!a||!(null==r?void 0:r.length))return null;let N=1===r.length&&"dot"!==i;return(0,n.jsxs)("div",{ref:t,className:(0,d.cn)("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",l),children:[N?null:b,(0,n.jsx)("div",{className:"grid gap-1.5",children:r.filter(e=>"none"!==e.type).map((e,t)=>{let a="".concat(v||e.name||e.dataKey||"value"),s=p(y,e,a),r=g||e.payload.fill||e.color;return(0,n.jsx)("div",{className:(0,d.cn)("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground","dot"===i&&"items-center"),children:h&&(null==e?void 0:e.value)!==void 0&&e.name?h(e.value,e.name,e,t,e.payload):(0,n.jsxs)(n.Fragment,{children:[(null==s?void 0:s.icon)?(0,n.jsx)(s.icon,{}):!c&&(0,n.jsx)("div",{className:(0,d.cn)("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":"dot"===i,"w-1":"line"===i,"w-0 border-[1.5px] border-dashed bg-transparent":"dashed"===i,"my-0.5":N&&"dashed"===i}),style:{"--color-bg":r,"--color-border":r}}),(0,n.jsxs)("div",{className:(0,d.cn)("flex flex-1 justify-between leading-none",N?"items-end":"items-center"),children:[(0,n.jsxs)("div",{className:"grid gap-1.5",children:[N?b:null,(0,n.jsx)("span",{className:"text-muted-foreground",children:(null==s?void 0:s.label)||e.name})]}),e.value&&(0,n.jsx)("span",{className:"font-mono font-medium tabular-nums text-foreground",children:e.value.toLocaleString()})]})]})},e.dataKey)})})]})});function p(e,t,a){if("object"!=typeof t||null===t)return;let n="payload"in t&&"object"==typeof t.payload&&null!==t.payload?t.payload:void 0,s=a;return a in t&&"string"==typeof t[a]?s=t[a]:n&&a in n&&"string"==typeof n[a]&&(s=n[a]),s in e?e[s]:e[a]}h.displayName="ChartTooltip",i.D,s.forwardRef((e,t)=>{let{className:a,hideIcon:s=!1,payload:r,verticalAlign:l="bottom",nameKey:i}=e,{config:o}=u();return(null==r?void 0:r.length)?(0,n.jsx)("div",{ref:t,className:(0,d.cn)("flex items-center justify-center gap-4","top"===l?"pb-3":"pt-3",a),children:r.filter(e=>"none"!==e.type).map(e=>{let t="".concat(i||e.dataKey||"value"),a=p(o,e,t);return(0,n.jsxs)("div",{className:(0,d.cn)("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[(null==a?void 0:a.icon)&&!s?(0,n.jsx)(a.icon,{}):(0,n.jsx)("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:e.color}}),null==a?void 0:a.label]},e.value)})}):null}).displayName="ChartLegend"},13040:function(e,t,a){"use strict";a.d(t,{Bw:function(){return h},Ph:function(){return c},Ql:function(){return p},i4:function(){return m},ki:function(){return u}});var n=a(27573),s=a(7653),r=a(21395),l=a(87164),i=a(67207),d=a(38534),o=a(19369);let c=r.fC;r.ZA;let u=r.B4,m=s.forwardRef((e,t)=>{let{className:a,children:s,...i}=e;return(0,n.jsxs)(r.xz,{ref:t,className:(0,o.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",a),...i,children:[s,(0,n.jsx)(r.JO,{asChild:!0,children:(0,n.jsx)(l.Z,{className:"h-4 w-4 opacity-50"})})]})});m.displayName=r.xz.displayName;let x=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)(r.u_,{ref:t,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",a),...s,children:(0,n.jsx)(i.Z,{className:"h-4 w-4"})})});x.displayName=r.u_.displayName;let f=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)(r.$G,{ref:t,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",a),...s,children:(0,n.jsx)(l.Z,{className:"h-4 w-4"})})});f.displayName=r.$G.displayName;let h=s.forwardRef((e,t)=>{let{className:a,children:s,position:l="popper",...i}=e;return(0,n.jsx)(r.h_,{children:(0,n.jsxs)(r.VY,{ref:t,className:(0,o.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===l&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",a),position:l,...i,children:[(0,n.jsx)(x,{}),(0,n.jsx)(r.l_,{className:(0,o.cn)("p-1","popper"===l&&"h-[var(--radix-select-trigger-height)] w-full"),children:s}),(0,n.jsx)(f,{})]})})});h.displayName=r.VY.displayName,s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)(r.__,{ref:t,className:(0,o.cn)("px-2 py-1.5 text-sm font-semibold",a),...s})}).displayName=r.__.displayName;let p=s.forwardRef((e,t)=>{let{className:a,children:s,...l}=e;return(0,n.jsxs)(r.ck,{ref:t,className:(0,o.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-muted focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...l,children:[(0,n.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,n.jsx)(r.wU,{children:(0,n.jsx)(d.Z,{className:"h-4 w-4"})})}),(0,n.jsx)(r.eT,{children:s})]})});p.displayName=r.ck.displayName,s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)(r.Z0,{ref:t,className:(0,o.cn)("-mx-1 my-1 h-px bg-muted",a),...s})}).displayName=r.Z0.displayName},99587:function(e,t,a){"use strict";a.d(t,{RM:function(){return d},SC:function(){return o},iA:function(){return l},pj:function(){return u},ss:function(){return c},xD:function(){return i}});var n=a(27573),s=a(7653),r=a(19369);let l=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)("div",{className:"w-full overflow-auto",children:(0,n.jsx)("table",{ref:t,className:(0,r.cn)("w-full caption-bottom text-sm",a),...s})})});l.displayName="Table";let i=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)("thead",{ref:t,className:(0,r.cn)("[&_tr]:border-b",a),...s})});i.displayName="TableHeader";let d=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)("tbody",{ref:t,className:(0,r.cn)("[&_tr:last-child]:border-0",a),...s})});d.displayName="TableBody",s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)("tfoot",{ref:t,className:(0,r.cn)("border-t bg-muted/50 font-medium",a),...s})}).displayName="TableFooter";let o=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)("tr",{ref:t,className:(0,r.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...s})});o.displayName="TableRow";let c=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)("th",{ref:t,className:(0,r.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",a),...s})});c.displayName="TableHead";let u=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)("td",{ref:t,className:(0,r.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0",a),...s})});u.displayName="TableCell",s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)("caption",{ref:t,className:(0,r.cn)("mt-4 text-sm text-muted-foreground",a),...s})}).displayName="TableCaption"},8807:function(e,t,a){"use strict";a.d(t,{mQ:function(){return A},nU:function(){return _},dr:function(){return R},SP:function(){return I}});var n=a(27573),s=a(7653),r=a(46196),l=a(99933),i=a(48684),d=a(65622),o=a(78378),c=a(21004),u=a(47178),m=a(17321),x="Tabs",[f,h]=(0,l.b)(x,[i.Pc]),p=(0,i.Pc)(),[g,v]=f(x),j=s.forwardRef((e,t)=>{let{__scopeTabs:a,value:s,onValueChange:r,defaultValue:l,orientation:i="horizontal",dir:d,activationMode:f="automatic",...h}=e,p=(0,c.gm)(d),[v,j]=(0,u.T)({prop:s,onChange:r,defaultProp:null!=l?l:"",caller:x});return(0,n.jsx)(g,{scope:a,baseId:(0,m.M)(),value:v,onValueChange:j,orientation:i,dir:p,activationMode:f,children:(0,n.jsx)(o.WV.div,{dir:p,"data-orientation":i,...h,ref:t})})});j.displayName=x;var y="TabsList",b=s.forwardRef((e,t)=>{let{__scopeTabs:a,loop:s=!0,...r}=e,l=v(y,a),d=p(a);return(0,n.jsx)(i.fC,{asChild:!0,...d,orientation:l.orientation,dir:l.dir,loop:s,children:(0,n.jsx)(o.WV.div,{role:"tablist","aria-orientation":l.orientation,...r,ref:t})})});b.displayName=y;var N="TabsTrigger",w=s.forwardRef((e,t)=>{let{__scopeTabs:a,value:s,disabled:l=!1,...d}=e,c=v(N,a),u=p(a),m=C(c.baseId,s),x=S(c.baseId,s),f=s===c.value;return(0,n.jsx)(i.ck,{asChild:!0,...u,focusable:!l,active:f,children:(0,n.jsx)(o.WV.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":x,"data-state":f?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:m,...d,ref:t,onMouseDown:(0,r.Mj)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(s)}),onKeyDown:(0,r.Mj)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(s)}),onFocus:(0,r.Mj)(e.onFocus,()=>{let e="manual"!==c.activationMode;f||l||!e||c.onValueChange(s)})})})});w.displayName=N;var k="TabsContent",Z=s.forwardRef((e,t)=>{let{__scopeTabs:a,value:r,forceMount:l,children:i,...c}=e,u=v(k,a),m=C(u.baseId,r),x=S(u.baseId,r),f=r===u.value,h=s.useRef(f);return s.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,n.jsx)(d.z,{present:l||f,children:a=>{let{present:s}=a;return(0,n.jsx)(o.WV.div,{"data-state":f?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":m,hidden:!s,id:x,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:s&&i})}})});function C(e,t){return"".concat(e,"-trigger-").concat(t)}function S(e,t){return"".concat(e,"-content-").concat(t)}Z.displayName=k;var M=a(19369);let A=j,R=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)(b,{ref:t,className:(0,M.cn)("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...s})});R.displayName=b.displayName;let I=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)(w,{ref:t,className:(0,M.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",a),...s})});I.displayName=w.displayName;let _=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,n.jsx)(Z,{ref:t,className:(0,M.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...s})});_.displayName=Z.displayName},7452:function(e,t,a){"use strict";a.d(t,{G:function(){return u},t:function(){return o}});var n=a(27573),s=a(7653),r=a(38541),l=a(49289),i=a(19369);let d=(0,l.j)("inline-flex items-center justify-center gap-1 rounded-md bg-muted p-1 text-muted-foreground",{variants:{variant:{default:"bg-muted",outline:"border border-input bg-transparent"},size:{default:"h-10",sm:"h-9",lg:"h-11"}},defaultVariants:{variant:"default",size:"default"}}),o=s.forwardRef((e,t)=>{let{className:a,variant:s,size:l,...o}=e;return(0,n.jsx)(r.fC,{ref:t,className:(0,i.cn)(d({variant:s,size:l}),a),...o})});o.displayName=r.fC.displayName;let c=(0,l.j)("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-background data-[state=on]:text-foreground data-[state=on]:shadow-sm",{variants:{size:{default:"text-sm",sm:"text-xs",lg:"text-base"}},defaultVariants:{size:"default"}}),u=s.forwardRef((e,t)=>{let{className:a,size:s,...l}=e;return(0,n.jsx)(r.ck,{ref:t,className:(0,i.cn)(c({size:s}),a),...l})});u.displayName=r.ck.displayName},73581:function(e,t,a){"use strict";function n(e){let t=e.descriptor;switch(t.type){case"user":return{type:"connection",connector:t.connector,userId:t.userId,channelId:t.channelId};case"cron":return{type:"cron",id:t.id};case"system":if("heartbeat"===t.tag)return{type:"heartbeat"};return{type:"system",tag:t.tag};case"subagent":return{type:"subagent",id:t.id,parentAgentId:t.parentAgentId,name:t.name};case"app":return{type:"app",id:t.id,parentAgentId:t.parentAgentId,name:t.name,appId:t.appId};case"permanent":return{type:"permanent",id:t.id,name:t.name};default:return{type:"system",tag:"unknown"}}}function s(e){switch(e.type){case"connection":return"Connection";case"cron":return"Cron";case"heartbeat":return"Heartbeat";case"subagent":return"Subagent";case"app":return"App";case"permanent":return"Permanent";case"system":return"System";default:return"Agent"}}function r(e){return JSON.stringify(e)}a.d(t,{PA:function(){return n},l8:function(){return s},y2:function(){return r}})},90497:function(e,t,a){"use strict";async function n(e){let t=await fetch(e);if(!t.ok)throw Error("Request failed: ".concat(t.status));return await t.json()}async function s(){var e;return null!==(e=(await n("/api/v1/engine/status")).status)&&void 0!==e?e:{}}async function r(){var e;return null!==(e=(await n("/api/v1/engine/cron/tasks")).tasks)&&void 0!==e?e:[]}async function l(){var e;return null!==(e=(await n("/api/v1/engine/heartbeat/tasks")).tasks)&&void 0!==e?e:[]}async function i(){var e;return null!==(e=(await n("/api/v1/engine/processes")).processes)&&void 0!==e?e:[]}async function d(e){let t=await fetch("/api/v1/engine/signals/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await t.json();if(!t.ok||!a.ok){var n;throw Error(null!==(n=a.error)&&void 0!==n?n:"Request failed: ".concat(t.status))}return a.signal}async function o(){var e;return null!==(e=(await n("/api/v1/engine/signals/subscriptions")).subscriptions)&&void 0!==e?e:[]}async function c(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,a=new URLSearchParams({limit:String(t)});return null!==(e=(await n("/api/v1/engine/signals/events?".concat(a))).events)&&void 0!==e?e:[]}async function u(){var e;return null!==(e=(await n("/api/v1/engine/agents/background")).agents)&&void 0!==e?e:[]}async function m(){var e;return null!==(e=(await n("/api/v1/engine/agents")).agents)&&void 0!==e?e:[]}async function x(e){var t;let a=encodeURIComponent(e);return null!==(t=(await n("/api/v1/engine/agents/".concat(a,"/history"))).records)&&void 0!==t?t:[]}a.d(t,{Ip:function(){return c},Sj:function(){return m},Sk:function(){return o},ab:function(){return x},fP:function(){return r},jg:function(){return s},oI:function(){return u},sB:function(){return d},sZ:function(){return l},x3:function(){return i}})},2470:function(e,t,a){"use strict";a.d(t,{Z:function(){return n}});let n=(0,a(50326).Z)("AlarmClock",[["circle",{cx:"12",cy:"13",r:"8",key:"3y4lt7"}],["path",{d:"M12 9v4l2 2",key:"1c63tq"}],["path",{d:"M5 3 2 6",key:"18tl5t"}],["path",{d:"m22 6-3-3",key:"1opdir"}],["path",{d:"M6.38 18.7 4 21",key:"17xu3x"}],["path",{d:"M17.64 18.67 20 21",key:"kv2oe2"}]])},20942:function(e,t,a){"use strict";a.d(t,{Z:function(){return n}});let n=(0,a(50326).Z)("Cable",[["path",{d:"M17 21v-2a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1",key:"10bnsj"}],["path",{d:"M19 15V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V9",key:"1eqmu1"}],["path",{d:"M21 21v-2h-4",key:"14zm7j"}],["path",{d:"M3 5h4V3",key:"z442eg"}],["path",{d:"M7 5a1 1 0 0 1 1 1v1a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1V3",key:"ebdjd7"}]])},3105:function(e,t,a){"use strict";a.d(t,{Z:function(){return n}});let n=(0,a(50326).Z)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},69452:function(e,t,a){"use strict";a.d(t,{Z:function(){return n}});let n=(0,a(50326).Z)("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"}]])},94883:function(e,t,a){"use strict";a.d(t,{Z:function(){return n}});let n=(0,a(50326).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])}},function(e){e.O(0,[315,310,3,980,668,293,528,744],function(){return e(e.s=15605)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[368],{63253:function(e,t,n){Promise.resolve().then(n.bind(n,16591))},16591:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return x}});var r=n(27573),s=n(7653),a=n(86742),i=n(63568),l=n(48157),c=n(82041),o=n(16273),d=n(26798),u=n(99587),f=n(90497);function x(){let[e,t]=(0,s.useState)([]),[n,x]=(0,s.useState)(!1),[m,h]=(0,s.useState)(null),[p,j]=(0,s.useState)(null),g=(0,s.useCallback)(async()=>{x(!0),h(null);try{let e=await (0,f.x3)();t(e),j(new Date)}catch(e){h(e instanceof Error?e.message:"Failed to load processes")}finally{x(!1)}},[]);(0,s.useEffect)(()=>{g()},[g]);let v=(0,s.useMemo)(()=>[...e].sort((e,t)=>t.updatedAt-e.updatedAt),[e]),b=(0,s.useMemo)(()=>e.filter(e=>"running"===e.status).length,[e]),y=(0,s.useMemo)(()=>e.filter(e=>e.keepAlive).length,[e]);return(0,r.jsx)(l.r,{title:"Processes",subtitle:"Monitor durable background processes managed by the runtime.",toolbar:(0,r.jsxs)(o.z,{onClick:()=>void g(),disabled:n,className:"gap-2",children:[(0,r.jsx)(a.Z,{className:n?"h-4 w-4 animate-spin":"h-4 w-4"}),"Refresh"]}),status:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{children:p?"Last synced ".concat(p.toLocaleTimeString()):"Awaiting first sync"}),m?(0,r.jsx)("span",{className:"rounded-full border border-destructive/40 bg-destructive/10 px-2.5 py-1 text-destructive",children:m}):(0,r.jsxs)("span",{children:[e.length," processes tracked"]})]}),children:(0,r.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-4 py-6 lg:px-6",children:[(0,r.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,r.jsx)(d.Zb,{className:"bg-gradient-to-br from-primary/10 via-card to-card/80",children:(0,r.jsxs)(d.Ol,{className:"flex flex-row items-center justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)(d.SZ,{children:"Total processes"}),(0,r.jsx)(d.ll,{className:"text-2xl",children:e.length})]}),(0,r.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-primary/10 text-primary",children:(0,r.jsx)(i.Z,{className:"h-5 w-5"})})]})}),(0,r.jsx)(d.Zb,{className:"bg-gradient-to-br from-accent/10 via-card to-card/80",children:(0,r.jsxs)(d.Ol,{children:[(0,r.jsx)(d.SZ,{children:"Running"}),(0,r.jsx)(d.ll,{className:"text-2xl",children:b})]})}),(0,r.jsx)(d.Zb,{className:"bg-gradient-to-br from-secondary/30 via-card to-card/80",children:(0,r.jsxs)(d.Ol,{children:[(0,r.jsx)(d.SZ,{children:"Keep-alive enabled"}),(0,r.jsx)(d.ll,{className:"text-2xl",children:y})]})})]}),(0,r.jsxs)(d.Zb,{className:"overflow-hidden",children:[(0,r.jsxs)(d.Ol,{children:[(0,r.jsx)(d.ll,{children:"Managed processes"}),(0,r.jsx)(d.SZ,{children:"Runtime process state including PID, restart count, and log file path."})]}),(0,r.jsx)(d.aY,{children:(0,r.jsxs)(u.iA,{children:[(0,r.jsx)(u.xD,{children:(0,r.jsxs)(u.SC,{children:[(0,r.jsx)(u.ss,{children:"Name"}),(0,r.jsx)(u.ss,{children:"Status"}),(0,r.jsx)(u.ss,{children:"PID"}),(0,r.jsx)(u.ss,{children:"Restarts"}),(0,r.jsx)(u.ss,{children:"Log file"}),(0,r.jsx)(u.ss,{children:"Updated"})]})}),(0,r.jsx)(u.RM,{children:v.length?v.map(e=>{var t,n;return(0,r.jsxs)(u.SC,{children:[(0,r.jsx)(u.pj,{className:"font-medium",children:(0,r.jsxs)("div",{className:"flex flex-col",children:[(0,r.jsx)("span",{children:e.name}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:e.id})]})}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(c.C,{variant:"running"===e.status?"default":"secondary",children:e.status})}),(0,r.jsx)(u.pj,{children:null!==(t=e.pid)&&void 0!==t?t:"-"}),(0,r.jsx)(u.pj,{children:e.restartCount}),(0,r.jsx)(u.pj,{className:"max-w-[320px] truncate font-mono text-xs",children:e.logPath}),(0,r.jsx)(u.pj,{children:!Number.isFinite(n=e.updatedAt)||n<=0?"-":new Date(n).toLocaleString()})]},e.id)}):(0,r.jsx)(u.SC,{children:(0,r.jsx)(u.pj,{colSpan:6,className:"py-8 text-center text-sm text-muted-foreground",children:"No managed processes found."})})})]})})]})]})})}},82041:function(e,t,n){"use strict";n.d(t,{C:function(){return l}});var r=n(27573);n(7653);var s=n(49289),a=n(19369);let i=(0,s.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:n,...s}=e;return(0,r.jsx)("div",{className:(0,a.cn)(i({variant:n}),t),...s})}},99587:function(e,t,n){"use strict";n.d(t,{RM:function(){return c},SC:function(){return o},iA:function(){return i},pj:function(){return u},ss:function(){return d},xD:function(){return l}});var r=n(27573),s=n(7653),a=n(19369);let i=s.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,r.jsx)("div",{className:"w-full overflow-auto",children:(0,r.jsx)("table",{ref:t,className:(0,a.cn)("w-full caption-bottom text-sm",n),...s})})});i.displayName="Table";let l=s.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,r.jsx)("thead",{ref:t,className:(0,a.cn)("[&_tr]:border-b",n),...s})});l.displayName="TableHeader";let c=s.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,r.jsx)("tbody",{ref:t,className:(0,a.cn)("[&_tr:last-child]:border-0",n),...s})});c.displayName="TableBody",s.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,r.jsx)("tfoot",{ref:t,className:(0,a.cn)("border-t bg-muted/50 font-medium",n),...s})}).displayName="TableFooter";let o=s.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,r.jsx)("tr",{ref:t,className:(0,a.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",n),...s})});o.displayName="TableRow";let d=s.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,r.jsx)("th",{ref:t,className:(0,a.cn)("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",n),...s})});d.displayName="TableHead";let u=s.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,r.jsx)("td",{ref:t,className:(0,a.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0",n),...s})});u.displayName="TableCell",s.forwardRef((e,t)=>{let{className:n,...s}=e;return(0,r.jsx)("caption",{ref:t,className:(0,a.cn)("mt-4 text-sm text-muted-foreground",n),...s})}).displayName="TableCaption"},90497:function(e,t,n){"use strict";async function r(e){let t=await fetch(e);if(!t.ok)throw Error("Request failed: ".concat(t.status));return await t.json()}async function s(){var e;return null!==(e=(await r("/api/v1/engine/status")).status)&&void 0!==e?e:{}}async function a(){var e;return null!==(e=(await r("/api/v1/engine/cron/tasks")).tasks)&&void 0!==e?e:[]}async function i(){var e;return null!==(e=(await r("/api/v1/engine/heartbeat/tasks")).tasks)&&void 0!==e?e:[]}async function l(){var e;return null!==(e=(await r("/api/v1/engine/processes")).processes)&&void 0!==e?e:[]}async function c(e){let t=await fetch("/api/v1/engine/signals/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json();if(!t.ok||!n.ok){var r;throw Error(null!==(r=n.error)&&void 0!==r?r:"Request failed: ".concat(t.status))}return n.signal}async function o(){var e;return null!==(e=(await r("/api/v1/engine/signals/subscriptions")).subscriptions)&&void 0!==e?e:[]}async function d(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,n=new URLSearchParams({limit:String(t)});return null!==(e=(await r("/api/v1/engine/signals/events?".concat(n))).events)&&void 0!==e?e:[]}async function u(){var e;return null!==(e=(await r("/api/v1/engine/agents/background")).agents)&&void 0!==e?e:[]}async function f(){var e;return null!==(e=(await r("/api/v1/engine/agents")).agents)&&void 0!==e?e:[]}async function x(e){var t;let n=encodeURIComponent(e);return null!==(t=(await r("/api/v1/engine/agents/".concat(n,"/history"))).records)&&void 0!==t?t:[]}n.d(t,{Ip:function(){return d},Sj:function(){return f},Sk:function(){return o},ab:function(){return x},fP:function(){return a},jg:function(){return s},oI:function(){return u},sB:function(){return c},sZ:function(){return i},x3:function(){return l}})}},function(e){e.O(0,[315,668,293,528,744],function(){return e(e.s=63253)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[302],{33096:function(e,t,s){Promise.resolve().then(s.bind(s,8122))},8122:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return B}});var a=s(27573),r=s(7653),n=s.t(r,2),l=s(86742),i=s(81929),c=s(94883),o=s(50027),d=s(50326);let u=(0,d.Z)("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);var m=s(87164),x=s(74997);let p=(0,d.Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),f=(0,d.Z)("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"}]]);var h=s(38534);let g=(0,d.Z)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),y=(0,d.Z)("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"}]]);var j=s(46191),v=s(63964),b=s(5757),N=s(69452),w=s(3105),k=s(63568),S=s(48157),Z=s(82041),C=s(16273),M=s(26798),R=s(63769),A=s(13040);s(3458);var _=s(94492),O=Symbol.for("react.lazy"),E=n[" use ".trim().toString()];function z(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===O&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}var D=Symbol("radix.slottable");function I(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===D}var P=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let s=function(e){let t=function(e){let t=r.forwardRef((e,t)=>{let{children:s,...a}=e;if(z(s)&&"function"==typeof E&&(s=E(s._payload)),r.isValidElement(s)){var n;let e,l;let i=(n=s,(e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?n.ref:(e=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?n.props.ref:n.props.ref||n.ref),c=function(e,t){let s={...t};for(let a in t){let r=e[a],n=t[a];/^on[A-Z]/.test(a)?r&&n?s[a]=(...e)=>{let t=n(...e);return r(...e),t}:r&&(s[a]=r):"style"===a?s[a]={...r,...n}:"className"===a&&(s[a]=[r,n].filter(Boolean).join(" "))}return{...e,...s}}(a,s.props);return s.type!==r.Fragment&&(c.ref=t?(0,_.F)(t,i):i),r.cloneElement(s,c)}return r.Children.count(s)>1?r.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),s=r.forwardRef((e,s)=>{let{children:n,...l}=e;z(n)&&"function"==typeof E&&(n=E(n._payload));let i=r.Children.toArray(n),c=i.find(I);if(c){let e=c.props.children,n=i.map(t=>t!==c?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,a.jsx)(t,{...l,ref:s,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return(0,a.jsx)(t,{...l,ref:s,children:n})});return s.displayName=`${e}.Slot`,s}(`Primitive.${t}`),n=r.forwardRef((e,r)=>{let{asChild:n,...l}=e,i=n?s:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,a.jsx)(i,{...l,ref:r})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),q=r.forwardRef((e,t)=>(0,a.jsx)(P.label,{...e,ref:t,onMouseDown:t=>{var s;t.target.closest("button, input, select, textarea")||(null===(s=e.onMouseDown)||void 0===s||s.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));q.displayName="Label";var F=s(49289),L=s(19369);let $=(0,F.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),J=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(q,{ref:t,className:(0,L.cn)($(),s),...r})});J.displayName=q.displayName;var V=s(90497);function B(){let[e,t]=(0,r.useState)([]),[s,n]=(0,r.useState)([]),[d,m]=(0,r.useState)(!1),[x,p]=(0,r.useState)(null),[f,h]=(0,r.useState)(null),[g,y]=(0,r.useState)(""),[j,v]=(0,r.useState)("all"),b=(0,r.useRef)(null),N=(0,r.useCallback)(async()=>{m(!0),p(null);try{let[e,s]=await Promise.all([(0,V.Ip)(500),(0,V.Sk)()]);t(e),n(s),h(new Date)}catch(e){p(e instanceof Error?e.message:"Failed to load signals")}finally{m(!1)}},[]);(0,r.useEffect)(()=>{N()},[N]),(0,r.useEffect)(()=>{let e=new EventSource("/api/v1/engine/events");return b.current=e,e.onmessage=e=>{try{let s=JSON.parse(e.data);"signal.generated"===s.type&&s.payload&&t(e=>[...e,s.payload])}catch(e){}},()=>{e.close()}},[]);let w=(0,r.useMemo)(()=>Array.from(new Set(e.map(e=>e.type))).sort(),[e]),k=(0,r.useMemo)(()=>Array.from(new Set(e.map(e=>e.source.type))).sort(),[e]),Z=(0,r.useMemo)(()=>{let t=e;if(g){let e=g.toLowerCase();t=t.filter(t=>t.type.toLowerCase().includes(e))}return"all"!==j&&(t=t.filter(e=>e.source.type===j)),t},[e,g,j]),_=(0,r.useMemo)(()=>[...Z].reverse(),[Z]),O=(0,r.useMemo)(()=>{let t=Date.now()-3e5;return e.filter(e=>e.createdAt>t).length},[e]),E=(0,r.useMemo)(()=>{let t=Date.now()-36e5;return e.filter(e=>e.createdAt>t).length},[e]);return(0,a.jsx)(S.r,{title:"Signals",subtitle:"Event stream from agents, system, webhooks, and processes.",toolbar:(0,a.jsxs)(C.z,{onClick:()=>void N(),disabled:d,className:"gap-2",children:[(0,a.jsx)(l.Z,{className:d?"h-4 w-4 animate-spin":"h-4 w-4"}),"Refresh"]}),status:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{children:f?"Last synced ".concat(f.toLocaleTimeString()):"Awaiting first sync"}),x?(0,a.jsx)("span",{className:"rounded-full border border-destructive/40 bg-destructive/10 px-2.5 py-1 text-destructive",children:x}):(0,a.jsxs)("span",{children:[e.length," events loaded"]})]}),children:(0,a.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-4 py-6 lg:px-6",children:[(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,a.jsx)(U,{label:"Total events",value:e.length,detail:"Signals persisted",icon:(0,a.jsx)(i.Z,{className:"h-5 w-5"}),tone:"primary"}),(0,a.jsx)(U,{label:"Last 5 min",value:O,detail:"Recent activity",icon:(0,a.jsx)(c.Z,{className:"h-5 w-5"}),tone:"amber"}),(0,a.jsx)(U,{label:"Last hour",value:E,detail:"Hourly throughput",icon:(0,a.jsx)(o.Z,{className:"h-5 w-5"}),tone:"emerald"}),(0,a.jsx)(U,{label:"Signal types",value:w.length,detail:w.length?w.slice(0,3).join(", "):"No types yet",icon:(0,a.jsx)(u,{className:"h-5 w-5"}),tone:"violet"})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-sm",children:[(0,a.jsx)(u,{className:"absolute left-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),(0,a.jsx)(R.I,{placeholder:"Filter by signal type...",value:g,onChange:e=>y(e.target.value),className:"pl-9 h-9"})]}),(0,a.jsxs)(A.Ph,{value:j,onValueChange:v,children:[(0,a.jsx)(A.i4,{className:"w-[160px] h-9",children:(0,a.jsx)(A.ki,{placeholder:"All sources"})}),(0,a.jsxs)(A.Bw,{children:[(0,a.jsx)(A.Ql,{value:"all",children:"All sources"}),k.map(e=>(0,a.jsx)(A.Ql,{value:e,children:e},e))]})]}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:Z.length===e.length?"".concat(e.length," events"):"".concat(Z.length," of ").concat(e.length," events")})]}),(0,a.jsx)(Y,{}),(0,a.jsx)(T,{subscriptions:s}),_.length?(0,a.jsx)("div",{className:"space-y-2",children:_.map(e=>(0,a.jsx)(Q,{event:e},e.id))}):(0,a.jsx)(M.Zb,{children:(0,a.jsxs)(M.aY,{className:"flex flex-col items-center justify-center gap-3 py-16 text-muted-foreground",children:[(0,a.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-full bg-muted/50",children:(0,a.jsx)(i.Z,{className:"h-8 w-8"})}),(0,a.jsx)("span",{className:"text-sm",children:0===e.length?"No signals recorded yet":"No signals match your filters"})]})})]})})}function Q(e){let{event:t}=e,[s,n]=(0,r.useState)(!1),l=void 0!==t.data&&null!==t.data;return(0,a.jsxs)(M.Zb,{className:"transition-shadow hover:shadow-md",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3 px-4 py-3 cursor-pointer select-none",onClick:()=>l&&n(e=>!e),children:[(0,a.jsx)("div",{className:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg ".concat(K(t.source).bg),children:(0,a.jsx)(H,{source:t.source,className:"h-3.5 w-3.5 ".concat(K(t.source).text)})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)("span",{className:"font-mono text-sm font-medium text-foreground",children:t.type}),(0,a.jsxs)(Z.C,{variant:"outline",className:"text-[10px] gap-1",children:[(0,a.jsx)(H,{source:t.source,className:"h-2.5 w-2.5"}),function(e){switch(e.type){case"system":return"system";case"agent":return"agent:".concat(e.id);case"webhook":return e.id?"webhook:".concat(e.id):"webhook";case"process":return e.id?"process:".concat(e.id):"process"}}(t.source)]}),l&&(0,a.jsx)(Z.C,{variant:"secondary",className:"text-[10px]",children:"payload"})]}),(0,a.jsxs)("div",{className:"mt-1 flex items-center gap-3 text-xs text-muted-foreground",children:[(0,a.jsx)("span",{children:X(t.createdAt)}),(0,a.jsx)("span",{className:"font-mono text-[10px] opacity-60",children:t.id})]})]}),l&&(0,a.jsx)("button",{className:"mt-1 shrink-0 rounded p-1 text-muted-foreground hover:bg-muted",children:s?(0,a.jsx)(m.Z,{className:"h-4 w-4"}):(0,a.jsx)(x.Z,{className:"h-4 w-4"})})]}),s&&l&&(0,a.jsxs)("div",{className:"border-t px-4 py-3",children:[(0,a.jsx)("div",{className:"mb-1.5 text-[10px] font-medium uppercase tracking-wider text-muted-foreground",children:"Data payload"}),(0,a.jsx)("pre",{className:"max-h-64 overflow-auto rounded-lg border bg-muted/50 p-3 text-xs font-mono text-foreground whitespace-pre-wrap break-words",children:function(e){try{return JSON.stringify(e,null,2)}catch(t){return String(e)}}(t.data)})]})]})}function Y(){let[e,t]=(0,r.useState)(!1),[s,n]=(0,r.useState)(""),[l,i]=(0,r.useState)("system"),[c,o]=(0,r.useState)(""),[d,u]=(0,r.useState)(""),[m,x]=(0,r.useState)(null),[y,j]=(0,r.useState)(!1),[v,b]=(0,r.useState)(null),[N,w]=(0,r.useState)(!1),k=e=>{if(u(e),b(null),w(!1),!e.trim()){x(null);return}try{JSON.parse(e),x(null)}catch(e){x(e instanceof Error?e.message:"Invalid JSON")}},S=async()=>{let e,t;if(b(null),w(!1),!s.trim()){b("Signal type is required");return}if("system"===l)e={type:"system"};else if("agent"===l){if(!c.trim()){b("Agent ID is required");return}e={type:"agent",id:c.trim()}}else"webhook"===l?e={type:"webhook",id:c.trim()||void 0}:"process"===l&&(e={type:"process",id:c.trim()||void 0});if(d.trim())try{t=JSON.parse(d)}catch(e){b("Data must be valid JSON");return}j(!0);try{await (0,V.sB)({type:s.trim(),source:e,data:t}),w(!0),n(""),u(""),o(""),x(null)}catch(e){b(e instanceof Error?e.message:"Failed to send signal")}finally{j(!1)}};return e?(0,a.jsxs)(M.Zb,{children:[(0,a.jsx)(M.Ol,{className:"pb-4",children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,a.jsx)(f,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(M.ll,{className:"text-base",children:"Send signal"}),(0,a.jsx)(M.SZ,{children:"Generate a new signal event."})]})]}),(0,a.jsx)(C.z,{variant:"ghost",size:"sm",onClick:()=>t(!1),className:"text-xs",children:"Cancel"})]})}),(0,a.jsxs)(M.aY,{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(J,{htmlFor:"signal-type",className:"text-xs",children:"Signal type *"}),(0,a.jsx)(R.I,{id:"signal-type",placeholder:"e.g. build.completed, deploy.started",value:s,onChange:e=>{n(e.target.value),b(null),w(!1)},className:"h-9 font-mono"})]}),(0,a.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(J,{className:"text-xs",children:"Source type"}),(0,a.jsxs)(A.Ph,{value:l,onValueChange:e=>{i(e),b(null)},children:[(0,a.jsx)(A.i4,{className:"h-9",children:(0,a.jsx)(A.ki,{})}),(0,a.jsxs)(A.Bw,{children:[(0,a.jsx)(A.Ql,{value:"system",children:"system"}),(0,a.jsx)(A.Ql,{value:"agent",children:"agent"}),(0,a.jsx)(A.Ql,{value:"webhook",children:"webhook"}),(0,a.jsx)(A.Ql,{value:"process",children:"process"})]})]})]}),"system"!==l&&(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)(J,{htmlFor:"source-id",className:"text-xs",children:["Source ID ","agent"===l?"*":"(optional)"]}),(0,a.jsx)(R.I,{id:"source-id",placeholder:"agent"===l?"agent-id":"optional-id",value:c,onChange:e=>{o(e.target.value),b(null)},className:"h-9 font-mono"})]})]}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(J,{htmlFor:"signal-data",className:"text-xs",children:"Data payload (JSON, optional)"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("textarea",{id:"signal-data",placeholder:'{"key": "value"}',value:d,onChange:e=>k(e.target.value),rows:4,className:"w-full rounded-lg border bg-background px-3 py-2 font-mono text-xs leading-relaxed text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring resize-y ".concat(m?"border-destructive focus-visible:ring-destructive":"")}),d.trim()&&!m&&(0,a.jsx)("div",{className:"absolute right-2 top-2",children:(0,a.jsx)(h.Z,{className:"h-3.5 w-3.5 text-emerald-500"})})]}),m&&(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-destructive",children:[(0,a.jsx)(g,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:m})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsxs)(C.z,{onClick:()=>void S(),disabled:y||!!m,className:"gap-2",children:[(0,a.jsx)(f,{className:"h-3.5 w-3.5 ".concat(y?"animate-pulse":"")}),y?"Sending...":"Send signal"]}),v&&(0,a.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-destructive",children:[(0,a.jsx)(g,{className:"h-3 w-3 shrink-0"}),v]}),N&&(0,a.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-emerald-600 dark:text-emerald-400",children:[(0,a.jsx)(h.Z,{className:"h-3 w-3"}),"Signal sent"]})]})]})]}):(0,a.jsxs)(C.z,{variant:"outline",onClick:()=>t(!0),className:"gap-2 self-start",children:[(0,a.jsx)(p,{className:"h-3.5 w-3.5"}),"Send signal"]})}function T(e){let{subscriptions:t}=e,[s,n]=(0,r.useState)(!0);return 0===t.length?null:(0,a.jsxs)(M.Zb,{children:[(0,a.jsx)(M.Ol,{className:"pb-3",children:(0,a.jsxs)("div",{className:"flex items-center justify-between cursor-pointer select-none",onClick:()=>n(e=>!e),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex h-9 w-9 items-center justify-center rounded-lg bg-indigo-500/10 text-indigo-600 dark:text-indigo-400",children:(0,a.jsx)(y,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{children:[(0,a.jsxs)(M.ll,{className:"text-base",children:["Active subscriptions",(0,a.jsx)(Z.C,{variant:"secondary",className:"ml-2 text-[10px]",children:t.length})]}),(0,a.jsx)(M.SZ,{children:"Agents listening for signal patterns."})]})]}),(0,a.jsx)("button",{className:"shrink-0 rounded p-1 text-muted-foreground hover:bg-muted",children:s?(0,a.jsx)(m.Z,{className:"h-4 w-4"}):(0,a.jsx)(x.Z,{className:"h-4 w-4"})})]})}),s&&(0,a.jsx)(M.aY,{className:"pt-0",children:(0,a.jsx)("div",{className:"space-y-2",children:t.map(e=>(0,a.jsx)(G,{subscription:e},"".concat(e.agentId,"::").concat(e.pattern)))})})]})}function G(e){let{subscription:t}=e;return(0,a.jsx)("div",{className:"flex items-center gap-3 rounded-lg border px-3 py-2.5",children:(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)("span",{className:"font-mono text-sm font-medium text-foreground",children:t.pattern}),t.silent?(0,a.jsxs)(Z.C,{variant:"outline",className:"text-[10px] gap-1 text-muted-foreground",children:[(0,a.jsx)(j.Z,{className:"h-2.5 w-2.5"}),"silent"]}):(0,a.jsxs)(Z.C,{variant:"outline",className:"text-[10px] gap-1 text-amber-600 dark:text-amber-400 border-amber-300 dark:border-amber-700",children:[(0,a.jsx)(v.Z,{className:"h-2.5 w-2.5"}),"notify"]})]}),(0,a.jsxs)("div",{className:"mt-1 flex items-center gap-3 text-xs text-muted-foreground",children:[(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(b.Z,{className:"h-3 w-3"}),t.agentId]}),(0,a.jsxs)("span",{children:["subscribed ",X(t.createdAt)]}),t.updatedAt!==t.createdAt&&(0,a.jsxs)("span",{children:["updated ",X(t.updatedAt)]})]})]})})}let W={primary:{bg:"bg-primary/10",text:"text-primary",gradient:"from-primary/10 via-card to-card"},amber:{bg:"bg-amber-500/10",text:"text-amber-600 dark:text-amber-400",gradient:"from-amber-500/10 via-card to-card"},emerald:{bg:"bg-emerald-500/10",text:"text-emerald-600 dark:text-emerald-400",gradient:"from-emerald-500/10 via-card to-card"},violet:{bg:"bg-violet-500/10",text:"text-violet-600 dark:text-violet-400",gradient:"from-violet-500/10 via-card to-card"}};function U(e){let{label:t,value:s,detail:r,icon:n,tone:l}=e,i=W[l];return(0,a.jsxs)(M.Zb,{className:"relative overflow-hidden",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br ".concat(i.gradient)}),(0,a.jsxs)(M.Ol,{className:"relative flex flex-row items-center justify-between pb-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(M.SZ,{className:"text-xs",children:t}),(0,a.jsx)(M.ll,{className:"text-3xl font-semibold tabular-nums",children:s})]}),(0,a.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full ".concat(i.bg," ").concat(i.text),children:n})]}),(0,a.jsx)(M.aY,{className:"relative text-xs text-muted-foreground truncate",children:r})]})}function H(e){let{source:t,className:s}=e;switch(t.type){case"system":return(0,a.jsx)(N.Z,{className:s});case"agent":return(0,a.jsx)(b.Z,{className:s});case"webhook":return(0,a.jsx)(w.Z,{className:s});case"process":return(0,a.jsx)(k.Z,{className:s})}}function K(e){switch(e.type){case"system":return{bg:"bg-blue-500/10",text:"text-blue-600 dark:text-blue-400"};case"agent":return{bg:"bg-amber-500/10",text:"text-amber-600 dark:text-amber-400"};case"webhook":return{bg:"bg-emerald-500/10",text:"text-emerald-600 dark:text-emerald-400"};case"process":return{bg:"bg-violet-500/10",text:"text-violet-600 dark:text-violet-400"}}}function X(e){let t=Date.now()-e;if(t<0)return"just now";let s=Math.floor(t/1e3);if(s<60)return"".concat(s,"s ago");let a=Math.floor(s/60);if(a<60)return"".concat(a,"m ago");let r=Math.floor(a/60);if(r<24)return"".concat(r,"h ago");let n=Math.floor(r/24);return n<7?"".concat(n,"d ago"):new Date(e).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}},82041:function(e,t,s){"use strict";s.d(t,{C:function(){return i}});var a=s(27573);s(7653);var r=s(49289),n=s(19369);let l=(0,r.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i(e){let{className:t,variant:s,...r}=e;return(0,a.jsx)("div",{className:(0,n.cn)(l({variant:s}),t),...r})}},13040:function(e,t,s){"use strict";s.d(t,{Bw:function(){return f},Ph:function(){return d},Ql:function(){return h},i4:function(){return m},ki:function(){return u}});var a=s(27573),r=s(7653),n=s(21395),l=s(87164),i=s(67207),c=s(38534),o=s(19369);let d=n.fC;n.ZA;let u=n.B4,m=r.forwardRef((e,t)=>{let{className:s,children:r,...i}=e;return(0,a.jsxs)(n.xz,{ref:t,className:(0,o.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",s),...i,children:[r,(0,a.jsx)(n.JO,{asChild:!0,children:(0,a.jsx)(l.Z,{className:"h-4 w-4 opacity-50"})})]})});m.displayName=n.xz.displayName;let x=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.u_,{ref:t,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",s),...r,children:(0,a.jsx)(i.Z,{className:"h-4 w-4"})})});x.displayName=n.u_.displayName;let p=r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.$G,{ref:t,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",s),...r,children:(0,a.jsx)(l.Z,{className:"h-4 w-4"})})});p.displayName=n.$G.displayName;let f=r.forwardRef((e,t)=>{let{className:s,children:r,position:l="popper",...i}=e;return(0,a.jsx)(n.h_,{children:(0,a.jsxs)(n.VY,{ref:t,className:(0,o.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===l&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:l,...i,children:[(0,a.jsx)(x,{}),(0,a.jsx)(n.l_,{className:(0,o.cn)("p-1","popper"===l&&"h-[var(--radix-select-trigger-height)] w-full"),children:r}),(0,a.jsx)(p,{})]})})});f.displayName=n.VY.displayName,r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.__,{ref:t,className:(0,o.cn)("px-2 py-1.5 text-sm font-semibold",s),...r})}).displayName=n.__.displayName;let h=r.forwardRef((e,t)=>{let{className:s,children:r,...l}=e;return(0,a.jsxs)(n.ck,{ref:t,className:(0,o.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-muted focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...l,children:[(0,a.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(n.wU,{children:(0,a.jsx)(c.Z,{className:"h-4 w-4"})})}),(0,a.jsx)(n.eT,{children:r})]})});h.displayName=n.ck.displayName,r.forwardRef((e,t)=>{let{className:s,...r}=e;return(0,a.jsx)(n.Z0,{ref:t,className:(0,o.cn)("-mx-1 my-1 h-px bg-muted",s),...r})}).displayName=n.Z0.displayName},90497:function(e,t,s){"use strict";async function a(e){let t=await fetch(e);if(!t.ok)throw Error("Request failed: ".concat(t.status));return await t.json()}async function r(){var e;return null!==(e=(await a("/api/v1/engine/status")).status)&&void 0!==e?e:{}}async function n(){var e;return null!==(e=(await a("/api/v1/engine/cron/tasks")).tasks)&&void 0!==e?e:[]}async function l(){var e;return null!==(e=(await a("/api/v1/engine/heartbeat/tasks")).tasks)&&void 0!==e?e:[]}async function i(){var e;return null!==(e=(await a("/api/v1/engine/processes")).processes)&&void 0!==e?e:[]}async function c(e){let t=await fetch("/api/v1/engine/signals/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),s=await t.json();if(!t.ok||!s.ok){var a;throw Error(null!==(a=s.error)&&void 0!==a?a:"Request failed: ".concat(t.status))}return s.signal}async function o(){var e;return null!==(e=(await a("/api/v1/engine/signals/subscriptions")).subscriptions)&&void 0!==e?e:[]}async function d(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,s=new URLSearchParams({limit:String(t)});return null!==(e=(await a("/api/v1/engine/signals/events?".concat(s))).events)&&void 0!==e?e:[]}async function u(){var e;return null!==(e=(await a("/api/v1/engine/agents/background")).agents)&&void 0!==e?e:[]}async function m(){var e;return null!==(e=(await a("/api/v1/engine/agents")).agents)&&void 0!==e?e:[]}async function x(e){var t;let s=encodeURIComponent(e);return null!==(t=(await a("/api/v1/engine/agents/".concat(s,"/history"))).records)&&void 0!==t?t:[]}s.d(t,{Ip:function(){return d},Sj:function(){return m},Sk:function(){return o},ab:function(){return x},fP:function(){return n},jg:function(){return r},oI:function(){return u},sB:function(){return c},sZ:function(){return l},x3:function(){return i}})},46191:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(50326).Z)("BellOff",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742",key:"178tsu"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05",key:"1hqiys"}]])},3105:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(50326).Z)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},69452:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(50326).Z)("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"}]])},94883:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});let a=(0,s(50326).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])}},function(e){e.O(0,[315,3,668,293,528,744],function(){return e(e.s=33096)}),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[843],{73831:function(e,t,n){Promise.resolve().then(n.bind(n,32344))},32344:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return x}});var s=n(27573),a=n(7653),r=n(86742),i=n(98695),l=n(48157),o=n(82041),c=n(16273),d=n(26798),u=n(90497);function x(){var e;let[t,n]=(0,a.useState)(null),[x,f]=(0,a.useState)(!1),[g,m]=(0,a.useState)(null),[p,h]=(0,a.useState)(null),v=(0,a.useCallback)(async()=>{f(!0),m(null);try{let e=await (0,u.jg)();n(e),h(new Date)}catch(e){m(e instanceof Error?e.message:"Failed to load tools")}finally{f(!1)}},[]);(0,a.useEffect)(()=>{v()},[v]);let j=null!==(e=null==t?void 0:t.tools)&&void 0!==e?e:[],b=(0,a.useMemo)(()=>{let e=new Map;return j.forEach(t=>{var n,s;let a=null!==(n=t.split(".")[0])&&void 0!==n?n:"core",r=null!==(s=e.get(a))&&void 0!==s?s:[];r.push(t),e.set(a,r)}),Array.from(e.entries()).map(e=>{let[t,n]=e;return{namespace:t,items:n.sort()}})},[j]),y=(0,a.useMemo)(()=>b.slice(0,5),[b]);return(0,s.jsx)(l.r,{title:"Tools",subtitle:"Runtime tool inventory registered with the engine.",toolbar:(0,s.jsxs)(c.z,{onClick:()=>void v(),disabled:x,className:"gap-2",children:[(0,s.jsx)(r.Z,{className:x?"h-4 w-4 animate-spin":"h-4 w-4"}),"Refresh"]}),status:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:p?"Last synced ".concat(p.toLocaleTimeString()):"Awaiting first sync"}),g?(0,s.jsx)("span",{className:"rounded-full border border-destructive/40 bg-destructive/10 px-2.5 py-1 text-destructive",children:g}):(0,s.jsxs)("span",{children:[j.length," tools available"]})]}),children:(0,s.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-4 py-6 lg:px-6",children:[(0,s.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,s.jsxs)(d.Zb,{className:"bg-gradient-to-br from-primary/10 via-card to-card/80",children:[(0,s.jsxs)(d.Ol,{className:"flex flex-row items-center justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(d.SZ,{children:"Total tools"}),(0,s.jsx)(d.ll,{className:"text-2xl",children:j.length})]}),(0,s.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-primary/10 text-primary",children:(0,s.jsx)(i.Z,{className:"h-5 w-5"})})]}),(0,s.jsx)(d.aY,{className:"text-xs text-muted-foreground",children:"Utility modules ready for task execution."})]}),(0,s.jsxs)(d.Zb,{className:"bg-gradient-to-br from-accent/10 via-card to-card/80",children:[(0,s.jsxs)(d.Ol,{children:[(0,s.jsx)(d.SZ,{children:"Categories"}),(0,s.jsx)(d.ll,{className:"text-2xl",children:b.length||0})]}),(0,s.jsx)(d.aY,{className:"text-xs text-muted-foreground",children:"Grouped by namespace prefix."})]}),(0,s.jsxs)(d.Zb,{className:"bg-gradient-to-br from-secondary/30 via-card to-card/80",children:[(0,s.jsxs)(d.Ol,{children:[(0,s.jsx)(d.SZ,{children:"Coverage"}),(0,s.jsx)(d.ll,{className:"text-xl",children:j.length?"Loaded":"Empty"})]}),(0,s.jsx)(d.aY,{className:"text-xs text-muted-foreground",children:"Tooling availability snapshot."})]})]}),(0,s.jsxs)(d.Zb,{className:"bg-background/70",children:[(0,s.jsxs)(d.Ol,{children:[(0,s.jsx)(d.ll,{children:"Top namespaces"}),(0,s.jsx)(d.SZ,{children:"Most populated tool groups."})]}),(0,s.jsx)(d.aY,{className:"flex flex-wrap gap-2",children:y.length?y.map(e=>(0,s.jsxs)(o.C,{variant:"secondary",className:"gap-2 text-xs",children:[e.namespace,(0,s.jsx)("span",{className:"rounded-full bg-background px-2 py-0.5 text-[10px] text-muted-foreground",children:e.items.length})]},e.namespace)):(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:"No namespaces available."})})]}),(0,s.jsxs)(d.Zb,{className:"overflow-hidden",children:[(0,s.jsxs)(d.Ol,{children:[(0,s.jsx)(d.ll,{children:"Tool registry"}),(0,s.jsx)(d.SZ,{children:"Available tool identifiers and namespaces."})]}),(0,s.jsx)(d.aY,{className:"grid gap-4 lg:grid-cols-2",children:b.length?b.map(e=>(0,s.jsxs)("div",{className:"rounded-lg border bg-background/60 px-4 py-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e.namespace}),(0,s.jsxs)(o.C,{variant:"outline",className:"text-xs",children:[e.items.length," tools"]})]}),(0,s.jsx)("div",{className:"mt-3 flex flex-wrap gap-2",children:e.items.map(e=>(0,s.jsx)(o.C,{variant:"secondary",className:"text-xs",children:e},e))})]},e.namespace)):(0,s.jsx)("div",{className:"rounded-lg border border-dashed px-4 py-6 text-sm text-muted-foreground",children:"No tools registered."})})]})]})})}},82041:function(e,t,n){"use strict";n.d(t,{C:function(){return l}});var s=n(27573);n(7653);var a=n(49289),r=n(19369);let i=(0,a.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l(e){let{className:t,variant:n,...a}=e;return(0,s.jsx)("div",{className:(0,r.cn)(i({variant:n}),t),...a})}},90497:function(e,t,n){"use strict";async function s(e){let t=await fetch(e);if(!t.ok)throw Error("Request failed: ".concat(t.status));return await t.json()}async function a(){var e;return null!==(e=(await s("/api/v1/engine/status")).status)&&void 0!==e?e:{}}async function r(){var e;return null!==(e=(await s("/api/v1/engine/cron/tasks")).tasks)&&void 0!==e?e:[]}async function i(){var e;return null!==(e=(await s("/api/v1/engine/heartbeat/tasks")).tasks)&&void 0!==e?e:[]}async function l(){var e;return null!==(e=(await s("/api/v1/engine/processes")).processes)&&void 0!==e?e:[]}async function o(e){let t=await fetch("/api/v1/engine/signals/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json();if(!t.ok||!n.ok){var s;throw Error(null!==(s=n.error)&&void 0!==s?s:"Request failed: ".concat(t.status))}return n.signal}async function c(){var e;return null!==(e=(await s("/api/v1/engine/signals/subscriptions")).subscriptions)&&void 0!==e?e:[]}async function d(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,n=new URLSearchParams({limit:String(t)});return null!==(e=(await s("/api/v1/engine/signals/events?".concat(n))).events)&&void 0!==e?e:[]}async function u(){var e;return null!==(e=(await s("/api/v1/engine/agents/background")).agents)&&void 0!==e?e:[]}async function x(){var e;return null!==(e=(await s("/api/v1/engine/agents")).agents)&&void 0!==e?e:[]}async function f(e){var t;let n=encodeURIComponent(e);return null!==(t=(await s("/api/v1/engine/agents/".concat(n,"/history"))).records)&&void 0!==t?t:[]}n.d(t,{Ip:function(){return d},Sj:function(){return x},Sk:function(){return c},ab:function(){return f},fP:function(){return r},jg:function(){return a},oI:function(){return u},sB:function(){return o},sZ:function(){return i},x3:function(){return l}})}},function(e){e.O(0,[315,668,293,528,744],function(){return e(e.s=73831)}),_N_E=e.O()}]);
@@ -1,5 +0,0 @@
1
- @import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
2
-
3
- /*
4
- ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
5
- */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-plex),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.left-3{left:.75rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-1{margin-left:-.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-auto{aspect-ratio:auto}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[260px\]{height:260px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.min-h-0{min-height:0}.min-h-16{min-height:4rem}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-36{width:9rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[--radix-dropdown-menu-trigger-width\]{width:var(--radix-dropdown-menu-trigger-width)}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[160px\]{width:160px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-5{min-width:1.25rem}.min-w-56{min-width:14rem}.min-w-8{min-width:2rem}.min-w-\[200px\]{min-width:200px}.min-w-\[8rem\]{min-width:8rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[320px\]{max-width:320px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-y{resize:vertical}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-border\/50{border-color:hsl(var(--border)/.5)}.border-cyan-200{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity,1))}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/40{border-color:hsl(var(--destructive)/.4)}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-fuchsia-200{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-lime-200{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity,1))}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground)/.3)}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.border-l-amber-400{--tw-border-opacity:1;border-left-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-l-cyan-400{--tw-border-opacity:1;border-left-color:rgb(34 211 238/var(--tw-border-opacity,1))}.border-l-emerald-400{--tw-border-opacity:1;border-left-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-l-fuchsia-400{--tw-border-opacity:1;border-left-color:rgb(232 121 249/var(--tw-border-opacity,1))}.border-l-indigo-400{--tw-border-opacity:1;border-left-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-l-lime-400{--tw-border-opacity:1;border-left-color:rgb(163 230 53/var(--tw-border-opacity,1))}.border-l-muted{border-left-color:hsl(var(--muted))}.border-l-orange-400{--tw-border-opacity:1;border-left-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-l-rose-400{--tw-border-opacity:1;border-left-color:rgb(251 113 133/var(--tw-border-opacity,1))}.border-l-sky-400{--tw-border-opacity:1;border-left-color:rgb(56 189 248/var(--tw-border-opacity,1))}.border-l-slate-400{--tw-border-opacity:1;border-left-color:rgb(148 163 184/var(--tw-border-opacity,1))}.border-l-violet-400{--tw-border-opacity:1;border-left-color:rgb(167 139 250/var(--tw-border-opacity,1))}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent\/10{background-color:hsl(var(--accent)/.1)}.bg-amber-500\/10{background-color:rgba(245,158,11,.1)}.bg-background{background-color:hsl(var(--background))}.bg-background\/60{background-color:hsl(var(--background)/.6)}.bg-background\/70{background-color:hsl(var(--background)/.7)}.bg-background\/80{background-color:hsl(var(--background)/.8)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-blue-500\/10{background-color:rgba(59,130,246,.1)}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/10{background-color:rgba(16,185,129,.1)}.bg-indigo-500\/10{background-color:rgba(99,102,241,.1)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/40{background-color:hsl(var(--muted)/.4)}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-rose-500\/10{background-color:rgba(244,63,94,.1)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:transparent}.bg-violet-500\/10{background-color:rgba(139,92,246,.1)}.bg-\[radial-gradient\(circle_at_top_left\2c hsl\(var\(--primary\)_\/_0\.18\)\2c transparent_45\%\)\2c radial-gradient\(circle_at_20\%_120\%\2c hsl\(var\(--accent\)_\/_0\.12\)\2c transparent_55\%\)\]{background-image:radial-gradient(circle at top left,hsl(var(--primary)/.18),transparent 45%),radial-gradient(circle at 20% 120%,hsl(var(--accent)/.12),transparent 55%)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-accent\/10{--tw-gradient-from:hsl(var(--accent)/0.1) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--accent)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-accent\/15{--tw-gradient-from:hsl(var(--accent)/0.15) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--accent)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-400\/15{--tw-gradient-from:rgba(251,191,36,.15) var(--tw-gradient-from-position);--tw-gradient-to:rgba(251,191,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-amber-500\/10{--tw-gradient-from:rgba(245,158,11,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(245,158,11,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-card{--tw-gradient-from:hsl(var(--card)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--card)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-400\/15{--tw-gradient-from:rgba(52,211,153,.15) var(--tw-gradient-from-position);--tw-gradient-to:rgba(52,211,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500\/10{--tw-gradient-from:rgba(16,185,129,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(16,185,129,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-muted\/30{--tw-gradient-from:hsl(var(--muted)/0.3) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--muted)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary\/10{--tw-gradient-from:hsl(var(--primary)/0.1) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary\/15{--tw-gradient-from:hsl(var(--primary)/0.15) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-rose-500\/10{--tw-gradient-from:rgba(244,63,94,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(244,63,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-secondary\/30{--tw-gradient-from:hsl(var(--secondary)/0.3) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--secondary)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-100\/60{--tw-gradient-from:rgba(241,245,249,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(241,245,249,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-violet-500\/10{--tw-gradient-from:rgba(139,92,246,.1) var(--tw-gradient-from-position);--tw-gradient-to:rgba(139,92,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-card{--tw-gradient-to:hsl(var(--card)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),hsl(var(--card)) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-card{--tw-gradient-to:hsl(var(--card)) var(--tw-gradient-to-position)}.to-card\/80{--tw-gradient-to:hsl(var(--card)/0.8) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-space),system-ui,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--font-plex),system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-700{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-fuchsia-700{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-lime-700{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground)/.7)}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\2c right\2c width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\2c opacity\]{transition-property:margin,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\2c height\2c padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.slide-in-from-bottom-2{--tw-enter-translate-y:0.5rem}.slide-in-from-top-2{--tw-enter-translate-y:-0.5rem}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.running{animation-play-state:running}:root{--font-plex:"IBM Plex Sans";--font-space:"Space Grotesk";--background:30 33% 98%;--foreground:24 12% 15%;--card:0 0% 100%;--card-foreground:24 12% 15%;--popover:0 0% 100%;--popover-foreground:24 12% 15%;--primary:22 89% 52%;--primary-foreground:0 0% 98%;--secondary:220 18% 95%;--secondary-foreground:220 16% 18%;--muted:30 18% 92%;--muted-foreground:24 8% 45%;--accent:195 82% 56%;--accent-foreground:210 30% 15%;--destructive:0 84% 60%;--destructive-foreground:0 0% 98%;--border:20 12% 88%;--input:20 12% 88%;--ring:22 89% 52%;--sidebar:24 32% 94%;--sidebar-foreground:24 18% 18%;--sidebar-border:24 16% 86%;--sidebar-accent:22 90% 58%;--sidebar-accent-foreground:0 0% 98%;--sidebar-ring:22 89% 52%;--chart-1:22 89% 52%;--chart-2:195 82% 46%;--chart-3:270 70% 55%;--chart-4:40 90% 55%;--chart-5:160 65% 45%;--radius:18px}*{border-color:hsl(var(--border))}body{min-height:100vh;background-color:hsl(var(--background));background-image:radial-gradient(circle at top right,hsl(var(--accent)/.15),transparent 45%),radial-gradient(circle at 20% 20%,hsl(var(--primary)/.12),transparent 55%),linear-gradient(160deg,hsl(var(--background)) 0,hsl(var(--muted)) 100%);color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1}::-moz-selection{background:hsl(var(--primary)/.2)}::selection{background:hsl(var(--primary)/.2)}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary)/.4)}.hover\:bg-background:hover{background-color:hsl(var(--background))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted)/.7)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color)}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-muted:focus{background-color:hsl(var(--muted))}.focus\:text-foreground:focus{color:hsl(var(--foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-destructive:focus-visible{--tw-ring-color:hsl(var(--destructive))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.active\:bg-primary\/90:active{background-color:hsl(var(--primary)/.9)}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:-translate-y-0\.5{--tw-translate-y:-0.125rem}.group:hover .group-hover\:-translate-y-0\.5,.group:hover .group-hover\:translate-x-0\.5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x:0.125rem}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar))}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=active\]\:bg-background[data-state=active],.data-\[state\=on\]\:bg-background[data-state=on]{background-color:hsl(var(--background))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-muted[data-state=open]{background-color:hsl(var(--muted))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=open\]\:bg-sidebar-accent[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[slot\=sidebar-menu-button\]\:\!p-1\.5[data-slot=sidebar-menu-button]{padding:.375rem!important}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active],.data-\[state\=on\]\:text-foreground[data-state=on]{color:hsl(var(--foreground))}.data-\[state\=open\]\:text-sidebar-accent-foreground[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active],.data-\[state\=on\]\:shadow-sm[data-state=on]{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0,.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate:180deg}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.dark\:border-amber-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity,1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-rose-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity,1))}.dark\:text-violet-400:is(.dark *){--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:flex{display:flex}.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-6{padding-top:1.5rem}.sm\:text-left{text-align:left}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1280px){.xl\:table-cell{display:table-cell}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border)/.5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
@@ -1,37 +0,0 @@
1
- # ACTORS
2
-
3
- ## Agents
4
-
5
- | Name | Kind | Role |
6
- | --- | --- | --- |
7
- | `user` agent | runtime | Foreground conversation agent bound to a connector user/channel. |
8
- | `cron` agent | runtime | Scheduled/background worker for cron tasks. |
9
- | `heartbeat` system agent | system | Runs periodic heartbeat checks and actions. |
10
- | `architect` system agent | system | Handles architecture and topology-oriented planning/execution. |
11
- | `subagent` agent | runtime | Child worker agent created by another agent for delegated tasks. |
12
- | `permanent` agent | runtime | Long-lived named background specialist agent. |
13
- | `AgentSystem` | monolith coordinator | Owns agent lifecycle, routing, and state transitions (sleep/wake/dead). |
14
-
15
- ## Signal Subscriptions
16
-
17
- | Subscriber | Pattern | Silent | Purpose |
18
- | --- | --- | --- | --- |
19
- | Channel members (via `Channels`) | `channel:{channelName}:message` | `false` | Deliver channel activity to members as signal inbox items. |
20
- | Any agent (via `signal_subscribe` tool) | user-defined pattern with `*` wildcards | default `true` | Dynamic runtime automation/event reactions. |
21
- | `AgentSystem` (event bus listener) | `agent:{agentId}:poison-pill` | n/a | Handle delayed subagent termination and transition sleeping/active subagents to `dead`. |
22
-
23
- ## Topology
24
-
25
- ```mermaid
26
- graph LR
27
- DelayedSignals[DelayedSignals scheduler] -->|signal.generated: agent:{id}:poison-pill| EventBus[EngineEventBus]
28
- EventBus --> AgentSystem[AgentSystem]
29
- AgentSystem -->|state write| SubagentState[(agents/{id}/state.json)]
30
- AgentSystem -->|agent.sleep / agent.woke / agent.dead| EventBus
31
-
32
- Signals[Signals registry] -->|deliver subscriptions| AgentSystem
33
- AgentSystem -->|post signal item| RuntimeAgents[User/Cron/Subagent/Permanent agents]
34
-
35
- Channels[Channels facade] -->|subscribe channel:{name}:message| Signals
36
- Signals -->|matching channel signal| RuntimeAgents
37
- ```
@@ -1,36 +0,0 @@
1
- You are the architect system agent in Daycare.
2
-
3
- Primary responsibility:
4
- - Design how agents should collaborate.
5
- - Decide what agents should be created to execute work end-to-end.
6
-
7
- Design workflow:
8
- 1. Identify goals, constraints, and required capabilities.
9
- 2. Define agent topology (foreground, subagents, permanent agents, system agents).
10
- 3. Specify communication contracts between agents:
11
- - who initiates
12
- - message shape
13
- - failure escalation path
14
- - communication method: direct messaging (`send_agent_message`) for point-to-point request/response, or signals (`generate_signal` / `signal_subscribe`) for broadcast events where multiple agents react to the same event without the producer knowing who listens
15
- 4. Produce a concrete creation plan with exact agent names/roles/prompts.
16
- 5. Provide execution order and handoff checkpoints.
17
-
18
- When proposing new agents, include:
19
- - name
20
- - type (subagent or permanent agent)
21
- - scope of responsibility
22
- - expected inputs/outputs
23
- - first message to send
24
-
25
- Communication primitives:
26
- - **Direct messages** (`send_agent_message`): point-to-point, synchronous feel. Use for requests, responses, and directed tasks between specific agents.
27
- - **Signals** (`generate_signal` / `signal_subscribe`): broadcast, decoupled. Use for event notifications (build done, state changed, agent woke/slept/idled) where multiple agents may react independently. Signal types use colon-separated segments (e.g. `deploy:staging:done`); subscribers use `*` wildcards per segment. Agent-sourced signals are not delivered back to the same source agent id (feedback-loop guard). System lifecycle signals use `source={ type: "agent", id: <agentId> }` and emit as `agent:<id>:wake`, `agent:<id>:sleep`, and `agent:<id>:idle` (after 1 minute asleep). Subagents may also hit terminal `dead` state after long inactivity.
28
-
29
- Output format:
30
- - Topology
31
- - Agent Creation Plan
32
- - Communication Contracts (specify direct messages vs signals for each interaction)
33
- - Build Order
34
- - Risks and Mitigations
35
-
36
- Keep the plan implementation-ready and avoid generic advice.