@xenosystem/agent-interface-ui 0.1.3

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 (384) hide show
  1. package/LICENSE +67 -0
  2. package/dist/adapters/agentHostPlatformBridge.d.ts +24 -0
  3. package/dist/adapters/agentHostPlatformBridge.d.ts.map +1 -0
  4. package/dist/adapters/agentHostPlatformBridge.js +1244 -0
  5. package/dist/adapters/agentHostPlatformBridge.js.map +1 -0
  6. package/dist/adapters/hubAgentPlatformBridge.d.ts +17 -0
  7. package/dist/adapters/hubAgentPlatformBridge.d.ts.map +1 -0
  8. package/dist/adapters/hubAgentPlatformBridge.js +109 -0
  9. package/dist/adapters/hubAgentPlatformBridge.js.map +1 -0
  10. package/dist/adapters/xenoAgentCompatibilityBridge.d.ts +14 -0
  11. package/dist/adapters/xenoAgentCompatibilityBridge.d.ts.map +1 -0
  12. package/dist/adapters/xenoAgentCompatibilityBridge.js +237 -0
  13. package/dist/adapters/xenoAgentCompatibilityBridge.js.map +1 -0
  14. package/dist/adapters/xenoAgentHostCatalog.d.ts +40 -0
  15. package/dist/adapters/xenoAgentHostCatalog.d.ts.map +1 -0
  16. package/dist/adapters/xenoAgentHostCatalog.js +228 -0
  17. package/dist/adapters/xenoAgentHostCatalog.js.map +1 -0
  18. package/dist/components/agent/AIStatusIndicator.d.ts +25 -0
  19. package/dist/components/agent/AIStatusIndicator.d.ts.map +1 -0
  20. package/dist/components/agent/AIStatusIndicator.js +85 -0
  21. package/dist/components/agent/AIStatusIndicator.js.map +1 -0
  22. package/dist/components/agent/AgentInterface.d.ts +21 -0
  23. package/dist/components/agent/AgentInterface.d.ts.map +1 -0
  24. package/dist/components/agent/AgentInterface.js +7586 -0
  25. package/dist/components/agent/AgentInterface.js.map +1 -0
  26. package/dist/components/agent/AgentOnboarding.d.ts +16 -0
  27. package/dist/components/agent/AgentOnboarding.d.ts.map +1 -0
  28. package/dist/components/agent/AgentOnboarding.js +423 -0
  29. package/dist/components/agent/AgentOnboarding.js.map +1 -0
  30. package/dist/components/agent/AgentPtyTerminalPanel.d.ts +13 -0
  31. package/dist/components/agent/AgentPtyTerminalPanel.d.ts.map +1 -0
  32. package/dist/components/agent/AgentPtyTerminalPanel.js +129 -0
  33. package/dist/components/agent/AgentPtyTerminalPanel.js.map +1 -0
  34. package/dist/components/agent/AgentView.d.ts +143 -0
  35. package/dist/components/agent/AgentView.d.ts.map +1 -0
  36. package/dist/components/agent/AgentView.js +7250 -0
  37. package/dist/components/agent/AgentView.js.map +1 -0
  38. package/dist/components/agent/AgentWorkbenchCliPanel.d.ts +15 -0
  39. package/dist/components/agent/AgentWorkbenchCliPanel.d.ts.map +1 -0
  40. package/dist/components/agent/AgentWorkbenchCliPanel.js +275 -0
  41. package/dist/components/agent/AgentWorkbenchCliPanel.js.map +1 -0
  42. package/dist/components/agent/AgentWorkbenchPanel.d.ts +791 -0
  43. package/dist/components/agent/AgentWorkbenchPanel.d.ts.map +1 -0
  44. package/dist/components/agent/AgentWorkbenchPanel.js +584 -0
  45. package/dist/components/agent/AgentWorkbenchPanel.js.map +1 -0
  46. package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts +11 -0
  47. package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts.map +1 -0
  48. package/dist/components/agent/AgentWorkspaceBrowserPanel.js +198 -0
  49. package/dist/components/agent/AgentWorkspaceBrowserPanel.js.map +1 -0
  50. package/dist/components/agent/AssistantTurnStatusNotice.d.ts +16 -0
  51. package/dist/components/agent/AssistantTurnStatusNotice.d.ts.map +1 -0
  52. package/dist/components/agent/AssistantTurnStatusNotice.js +54 -0
  53. package/dist/components/agent/AssistantTurnStatusNotice.js.map +1 -0
  54. package/dist/components/agent/CommandToolCard.d.ts +11 -0
  55. package/dist/components/agent/CommandToolCard.d.ts.map +1 -0
  56. package/dist/components/agent/CommandToolCard.js +29 -0
  57. package/dist/components/agent/CommandToolCard.js.map +1 -0
  58. package/dist/components/agent/FleetPanel.d.ts +28 -0
  59. package/dist/components/agent/FleetPanel.d.ts.map +1 -0
  60. package/dist/components/agent/FleetPanel.js +175 -0
  61. package/dist/components/agent/FleetPanel.js.map +1 -0
  62. package/dist/components/agent/GhostTextArea.d.ts +13 -0
  63. package/dist/components/agent/GhostTextArea.d.ts.map +1 -0
  64. package/dist/components/agent/GhostTextArea.js +21 -0
  65. package/dist/components/agent/GhostTextArea.js.map +1 -0
  66. package/dist/components/agent/IntakePanel.d.ts +29 -0
  67. package/dist/components/agent/IntakePanel.d.ts.map +1 -0
  68. package/dist/components/agent/IntakePanel.js +81 -0
  69. package/dist/components/agent/IntakePanel.js.map +1 -0
  70. package/dist/components/agent/KnowledgePanel.d.ts +25 -0
  71. package/dist/components/agent/KnowledgePanel.d.ts.map +1 -0
  72. package/dist/components/agent/KnowledgePanel.js +99 -0
  73. package/dist/components/agent/KnowledgePanel.js.map +1 -0
  74. package/dist/components/agent/MonacoDiffWorkbenchEditor.d.ts +9 -0
  75. package/dist/components/agent/MonacoDiffWorkbenchEditor.d.ts.map +1 -0
  76. package/dist/components/agent/MonacoDiffWorkbenchEditor.js +204 -0
  77. package/dist/components/agent/MonacoDiffWorkbenchEditor.js.map +1 -0
  78. package/dist/components/agent/MonacoWorkbenchEditor.d.ts +15 -0
  79. package/dist/components/agent/MonacoWorkbenchEditor.d.ts.map +1 -0
  80. package/dist/components/agent/MonacoWorkbenchEditor.js +380 -0
  81. package/dist/components/agent/MonacoWorkbenchEditor.js.map +1 -0
  82. package/dist/components/agent/PermissionDialog.d.ts +34 -0
  83. package/dist/components/agent/PermissionDialog.d.ts.map +1 -0
  84. package/dist/components/agent/PermissionDialog.js +67 -0
  85. package/dist/components/agent/PermissionDialog.js.map +1 -0
  86. package/dist/components/agent/PluginManager.d.ts +20 -0
  87. package/dist/components/agent/PluginManager.d.ts.map +1 -0
  88. package/dist/components/agent/PluginManager.js +506 -0
  89. package/dist/components/agent/PluginManager.js.map +1 -0
  90. package/dist/components/agent/RunReviewPanel.d.ts +52 -0
  91. package/dist/components/agent/RunReviewPanel.d.ts.map +1 -0
  92. package/dist/components/agent/RunReviewPanel.js +236 -0
  93. package/dist/components/agent/RunReviewPanel.js.map +1 -0
  94. package/dist/components/agent/SessionsPanel.d.ts +30 -0
  95. package/dist/components/agent/SessionsPanel.d.ts.map +1 -0
  96. package/dist/components/agent/SessionsPanel.js +247 -0
  97. package/dist/components/agent/SessionsPanel.js.map +1 -0
  98. package/dist/components/agent/acp/AcpAgentConfigForm.d.ts +19 -0
  99. package/dist/components/agent/acp/AcpAgentConfigForm.d.ts.map +1 -0
  100. package/dist/components/agent/acp/AcpAgentConfigForm.js +85 -0
  101. package/dist/components/agent/acp/AcpAgentConfigForm.js.map +1 -0
  102. package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.d.ts +10 -0
  103. package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.d.ts.map +1 -0
  104. package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js +80 -0
  105. package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js.map +1 -0
  106. package/dist/components/agent/acp/AcpAgentManager.d.ts +3 -0
  107. package/dist/components/agent/acp/AcpAgentManager.d.ts.map +1 -0
  108. package/dist/components/agent/acp/AcpAgentManager.js +152 -0
  109. package/dist/components/agent/acp/AcpAgentManager.js.map +1 -0
  110. package/dist/components/agent/acp/AcpAgentTestResultPanel.d.ts +9 -0
  111. package/dist/components/agent/acp/AcpAgentTestResultPanel.d.ts.map +1 -0
  112. package/dist/components/agent/acp/AcpAgentTestResultPanel.js +24 -0
  113. package/dist/components/agent/acp/AcpAgentTestResultPanel.js.map +1 -0
  114. package/dist/components/agent/acp/AcpApprovalPanel.d.ts +29 -0
  115. package/dist/components/agent/acp/AcpApprovalPanel.d.ts.map +1 -0
  116. package/dist/components/agent/acp/AcpApprovalPanel.js +37 -0
  117. package/dist/components/agent/acp/AcpApprovalPanel.js.map +1 -0
  118. package/dist/components/agent/acp/AcpCertificationPanel.d.ts +10 -0
  119. package/dist/components/agent/acp/AcpCertificationPanel.d.ts.map +1 -0
  120. package/dist/components/agent/acp/AcpCertificationPanel.js +41 -0
  121. package/dist/components/agent/acp/AcpCertificationPanel.js.map +1 -0
  122. package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.d.ts +11 -0
  123. package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.d.ts.map +1 -0
  124. package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js +32 -0
  125. package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js.map +1 -0
  126. package/dist/components/agent/acp/AcpProviderManagerPanel.d.ts +7 -0
  127. package/dist/components/agent/acp/AcpProviderManagerPanel.d.ts.map +1 -0
  128. package/dist/components/agent/acp/AcpProviderManagerPanel.js +69 -0
  129. package/dist/components/agent/acp/AcpProviderManagerPanel.js.map +1 -0
  130. package/dist/components/agent/acp/AcpProviderModelsPanel.d.ts +7 -0
  131. package/dist/components/agent/acp/AcpProviderModelsPanel.d.ts.map +1 -0
  132. package/dist/components/agent/acp/AcpProviderModelsPanel.js +108 -0
  133. package/dist/components/agent/acp/AcpProviderModelsPanel.js.map +1 -0
  134. package/dist/components/agent/acp/AcpSupportBundlePanel.d.ts +8 -0
  135. package/dist/components/agent/acp/AcpSupportBundlePanel.d.ts.map +1 -0
  136. package/dist/components/agent/acp/AcpSupportBundlePanel.js +56 -0
  137. package/dist/components/agent/acp/AcpSupportBundlePanel.js.map +1 -0
  138. package/dist/components/agent/compactionSummary.d.ts +28 -0
  139. package/dist/components/agent/compactionSummary.d.ts.map +1 -0
  140. package/dist/components/agent/compactionSummary.js +41 -0
  141. package/dist/components/agent/compactionSummary.js.map +1 -0
  142. package/dist/components/agent/monacoWorkbenchShared.d.ts +13 -0
  143. package/dist/components/agent/monacoWorkbenchShared.d.ts.map +1 -0
  144. package/dist/components/agent/monacoWorkbenchShared.js +226 -0
  145. package/dist/components/agent/monacoWorkbenchShared.js.map +1 -0
  146. package/dist/components/agent/settings/EntitySettingsLayout.d.ts +61 -0
  147. package/dist/components/agent/settings/EntitySettingsLayout.d.ts.map +1 -0
  148. package/dist/components/agent/settings/EntitySettingsLayout.js +72 -0
  149. package/dist/components/agent/settings/EntitySettingsLayout.js.map +1 -0
  150. package/dist/components/agent/settings/SettingsNavigation.d.ts +8 -0
  151. package/dist/components/agent/settings/SettingsNavigation.d.ts.map +1 -0
  152. package/dist/components/agent/settings/SettingsNavigation.js +39 -0
  153. package/dist/components/agent/settings/SettingsNavigation.js.map +1 -0
  154. package/dist/components/agent/settings/sections/AccessMembersSection.d.ts +3 -0
  155. package/dist/components/agent/settings/sections/AccessMembersSection.d.ts.map +1 -0
  156. package/dist/components/agent/settings/sections/AccessMembersSection.js +31 -0
  157. package/dist/components/agent/settings/sections/AccessMembersSection.js.map +1 -0
  158. package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.d.ts +25 -0
  159. package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.d.ts.map +1 -0
  160. package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js +56 -0
  161. package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js.map +1 -0
  162. package/dist/components/agent/settings/sections/DangerZoneSection.d.ts +3 -0
  163. package/dist/components/agent/settings/sections/DangerZoneSection.d.ts.map +1 -0
  164. package/dist/components/agent/settings/sections/DangerZoneSection.js +19 -0
  165. package/dist/components/agent/settings/sections/DangerZoneSection.js.map +1 -0
  166. package/dist/components/agent/settings/sections/DefaultAgentConfigSection.d.ts +3 -0
  167. package/dist/components/agent/settings/sections/DefaultAgentConfigSection.d.ts.map +1 -0
  168. package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js +66 -0
  169. package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js.map +1 -0
  170. package/dist/components/agent/settings/sections/EnvironmentSecretsSection.d.ts +3 -0
  171. package/dist/components/agent/settings/sections/EnvironmentSecretsSection.d.ts.map +1 -0
  172. package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js +87 -0
  173. package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js.map +1 -0
  174. package/dist/components/agent/settings/sections/ExportBackupSection.d.ts +3 -0
  175. package/dist/components/agent/settings/sections/ExportBackupSection.d.ts.map +1 -0
  176. package/dist/components/agent/settings/sections/ExportBackupSection.js +23 -0
  177. package/dist/components/agent/settings/sections/ExportBackupSection.js.map +1 -0
  178. package/dist/components/agent/settings/sections/GeneralSection.d.ts +3 -0
  179. package/dist/components/agent/settings/sections/GeneralSection.d.ts.map +1 -0
  180. package/dist/components/agent/settings/sections/GeneralSection.js +15 -0
  181. package/dist/components/agent/settings/sections/GeneralSection.js.map +1 -0
  182. package/dist/components/agent/settings/sections/IntegrationsSection.d.ts +3 -0
  183. package/dist/components/agent/settings/sections/IntegrationsSection.d.ts.map +1 -0
  184. package/dist/components/agent/settings/sections/IntegrationsSection.js +40 -0
  185. package/dist/components/agent/settings/sections/IntegrationsSection.js.map +1 -0
  186. package/dist/components/agent/settings/sections/NotificationsSection.d.ts +3 -0
  187. package/dist/components/agent/settings/sections/NotificationsSection.d.ts.map +1 -0
  188. package/dist/components/agent/settings/sections/NotificationsSection.js +28 -0
  189. package/dist/components/agent/settings/sections/NotificationsSection.js.map +1 -0
  190. package/dist/components/agent/settings/sections/ResourceLimitsSection.d.ts +3 -0
  191. package/dist/components/agent/settings/sections/ResourceLimitsSection.d.ts.map +1 -0
  192. package/dist/components/agent/settings/sections/ResourceLimitsSection.js +17 -0
  193. package/dist/components/agent/settings/sections/ResourceLimitsSection.js.map +1 -0
  194. package/dist/components/agent/settings/sections/SecurityComplianceSection.d.ts +3 -0
  195. package/dist/components/agent/settings/sections/SecurityComplianceSection.d.ts.map +1 -0
  196. package/dist/components/agent/settings/sections/SecurityComplianceSection.js +28 -0
  197. package/dist/components/agent/settings/sections/SecurityComplianceSection.js.map +1 -0
  198. package/dist/components/agent/settings/sections/UsageAnalyticsSection.d.ts +3 -0
  199. package/dist/components/agent/settings/sections/UsageAnalyticsSection.d.ts.map +1 -0
  200. package/dist/components/agent/settings/sections/UsageAnalyticsSection.js +17 -0
  201. package/dist/components/agent/settings/sections/UsageAnalyticsSection.js.map +1 -0
  202. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.d.ts +54 -0
  203. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.d.ts.map +1 -0
  204. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js +333 -0
  205. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js.map +1 -0
  206. package/dist/components/agent/settings/shared/CheckboxField.d.ts +13 -0
  207. package/dist/components/agent/settings/shared/CheckboxField.d.ts.map +1 -0
  208. package/dist/components/agent/settings/shared/CheckboxField.js +8 -0
  209. package/dist/components/agent/settings/shared/CheckboxField.js.map +1 -0
  210. package/dist/components/agent/settings/shared/InputField.d.ts +15 -0
  211. package/dist/components/agent/settings/shared/InputField.d.ts.map +1 -0
  212. package/dist/components/agent/settings/shared/InputField.js +7 -0
  213. package/dist/components/agent/settings/shared/InputField.js.map +1 -0
  214. package/dist/components/agent/settings/shared/MembersTable.d.ts +11 -0
  215. package/dist/components/agent/settings/shared/MembersTable.d.ts.map +1 -0
  216. package/dist/components/agent/settings/shared/MembersTable.js +7 -0
  217. package/dist/components/agent/settings/shared/MembersTable.js.map +1 -0
  218. package/dist/components/agent/settings/shared/SettingRow.d.ts +11 -0
  219. package/dist/components/agent/settings/shared/SettingRow.d.ts.map +1 -0
  220. package/dist/components/agent/settings/shared/SettingRow.js +6 -0
  221. package/dist/components/agent/settings/shared/SettingRow.js.map +1 -0
  222. package/dist/components/agent/settings/shared/SettingsCard.d.ts +11 -0
  223. package/dist/components/agent/settings/shared/SettingsCard.d.ts.map +1 -0
  224. package/dist/components/agent/settings/shared/SettingsCard.js +8 -0
  225. package/dist/components/agent/settings/shared/SettingsCard.js.map +1 -0
  226. package/dist/components/agent/settings/shared/ToggleSwitch.d.ts +8 -0
  227. package/dist/components/agent/settings/shared/ToggleSwitch.d.ts.map +1 -0
  228. package/dist/components/agent/settings/shared/ToggleSwitch.js +6 -0
  229. package/dist/components/agent/settings/shared/ToggleSwitch.js.map +1 -0
  230. package/dist/components/agent/settings/shared/UsageChart.d.ts +12 -0
  231. package/dist/components/agent/settings/shared/UsageChart.d.ts.map +1 -0
  232. package/dist/components/agent/settings/shared/UsageChart.js +16 -0
  233. package/dist/components/agent/settings/shared/UsageChart.js.map +1 -0
  234. package/dist/components/agent/toolCardDisplay.d.ts +24 -0
  235. package/dist/components/agent/toolCardDisplay.d.ts.map +1 -0
  236. package/dist/components/agent/toolCardDisplay.js +85 -0
  237. package/dist/components/agent/toolCardDisplay.js.map +1 -0
  238. package/dist/components/product/XenoAgentProductHeader.d.ts +18 -0
  239. package/dist/components/product/XenoAgentProductHeader.d.ts.map +1 -0
  240. package/dist/components/product/XenoAgentProductHeader.js +25 -0
  241. package/dist/components/product/XenoAgentProductHeader.js.map +1 -0
  242. package/dist/components/product/XenoAgentSessionTabs.d.ts +18 -0
  243. package/dist/components/product/XenoAgentSessionTabs.d.ts.map +1 -0
  244. package/dist/components/product/XenoAgentSessionTabs.js +103 -0
  245. package/dist/components/product/XenoAgentSessionTabs.js.map +1 -0
  246. package/dist/components/ui/CodeBlock.d.ts +8 -0
  247. package/dist/components/ui/CodeBlock.d.ts.map +1 -0
  248. package/dist/components/ui/CodeBlock.js +89 -0
  249. package/dist/components/ui/CodeBlock.js.map +1 -0
  250. package/dist/components/ui/XenoLogo.d.ts +11 -0
  251. package/dist/components/ui/XenoLogo.d.ts.map +1 -0
  252. package/dist/components/ui/XenoLogo.js +9 -0
  253. package/dist/components/ui/XenoLogo.js.map +1 -0
  254. package/dist/index.d.ts +50 -0
  255. package/dist/index.d.ts.map +1 -0
  256. package/dist/index.js +127 -0
  257. package/dist/index.js.map +1 -0
  258. package/dist/platformApiTypes.d.ts +3992 -0
  259. package/dist/platformApiTypes.d.ts.map +1 -0
  260. package/dist/platformApiTypes.js +2 -0
  261. package/dist/platformApiTypes.js.map +1 -0
  262. package/dist/platformBridge.d.ts +9 -0
  263. package/dist/platformBridge.d.ts.map +1 -0
  264. package/dist/platformBridge.js +19 -0
  265. package/dist/platformBridge.js.map +1 -0
  266. package/dist/providerSelector.d.ts +28 -0
  267. package/dist/providerSelector.d.ts.map +1 -0
  268. package/dist/providerSelector.js +104 -0
  269. package/dist/providerSelector.js.map +1 -0
  270. package/dist/services/connectionMode.d.ts +13 -0
  271. package/dist/services/connectionMode.d.ts.map +1 -0
  272. package/dist/services/connectionMode.js +31 -0
  273. package/dist/services/connectionMode.js.map +1 -0
  274. package/dist/sessionTabs.d.ts +48 -0
  275. package/dist/sessionTabs.d.ts.map +1 -0
  276. package/dist/sessionTabs.js +106 -0
  277. package/dist/sessionTabs.js.map +1 -0
  278. package/dist/stores/acpAgentStore.d.ts +264 -0
  279. package/dist/stores/acpAgentStore.d.ts.map +1 -0
  280. package/dist/stores/acpAgentStore.js +825 -0
  281. package/dist/stores/acpAgentStore.js.map +1 -0
  282. package/dist/stores/agentChatStore.d.ts +529 -0
  283. package/dist/stores/agentChatStore.d.ts.map +1 -0
  284. package/dist/stores/agentChatStore.js +5309 -0
  285. package/dist/stores/agentChatStore.js.map +1 -0
  286. package/dist/stores/agentIdeStore.d.ts +9 -0
  287. package/dist/stores/agentIdeStore.d.ts.map +1 -0
  288. package/dist/stores/agentIdeStore.js +8 -0
  289. package/dist/stores/agentIdeStore.js.map +1 -0
  290. package/dist/stores/agentSearchStore.d.ts +174 -0
  291. package/dist/stores/agentSearchStore.d.ts.map +1 -0
  292. package/dist/stores/agentSearchStore.js +305 -0
  293. package/dist/stores/agentSearchStore.js.map +1 -0
  294. package/dist/stores/authStore.d.ts +26 -0
  295. package/dist/stores/authStore.d.ts.map +1 -0
  296. package/dist/stores/authStore.js +163 -0
  297. package/dist/stores/authStore.js.map +1 -0
  298. package/dist/stores/entitySettingsStore.d.ts +236 -0
  299. package/dist/stores/entitySettingsStore.d.ts.map +1 -0
  300. package/dist/stores/entitySettingsStore.js +916 -0
  301. package/dist/stores/entitySettingsStore.js.map +1 -0
  302. package/dist/stores/permissionStore.d.ts +25 -0
  303. package/dist/stores/permissionStore.d.ts.map +1 -0
  304. package/dist/stores/permissionStore.js +58 -0
  305. package/dist/stores/permissionStore.js.map +1 -0
  306. package/dist/stores/suggestionStore.d.ts +29 -0
  307. package/dist/stores/suggestionStore.d.ts.map +1 -0
  308. package/dist/stores/suggestionStore.js +160 -0
  309. package/dist/stores/suggestionStore.js.map +1 -0
  310. package/dist/stores/tabStore.d.ts +30 -0
  311. package/dist/stores/tabStore.d.ts.map +1 -0
  312. package/dist/stores/tabStore.js +252 -0
  313. package/dist/stores/tabStore.js.map +1 -0
  314. package/dist/stores/themeStore.d.ts +13 -0
  315. package/dist/stores/themeStore.d.ts.map +1 -0
  316. package/dist/stores/themeStore.js +77 -0
  317. package/dist/stores/themeStore.js.map +1 -0
  318. package/dist/stores/workspaceStore.d.ts +175 -0
  319. package/dist/stores/workspaceStore.d.ts.map +1 -0
  320. package/dist/stores/workspaceStore.js +694 -0
  321. package/dist/stores/workspaceStore.js.map +1 -0
  322. package/dist/stores/xenoChatStore.d.ts +88 -0
  323. package/dist/stores/xenoChatStore.d.ts.map +1 -0
  324. package/dist/stores/xenoChatStore.js +572 -0
  325. package/dist/stores/xenoChatStore.js.map +1 -0
  326. package/dist/toolCardProjection.d.ts +33 -0
  327. package/dist/toolCardProjection.d.ts.map +1 -0
  328. package/dist/toolCardProjection.js +62 -0
  329. package/dist/toolCardProjection.js.map +1 -0
  330. package/dist/types/agentEditor.d.ts +39 -0
  331. package/dist/types/agentEditor.d.ts.map +1 -0
  332. package/dist/types/agentEditor.js +2 -0
  333. package/dist/types/agentEditor.js.map +1 -0
  334. package/dist/types/agentRuntimeProvider.d.ts +2 -0
  335. package/dist/types/agentRuntimeProvider.d.ts.map +1 -0
  336. package/dist/types/agentRuntimeProvider.js +2 -0
  337. package/dist/types/agentRuntimeProvider.js.map +1 -0
  338. package/dist/utils/acpExecutionAuthority.d.ts +18 -0
  339. package/dist/utils/acpExecutionAuthority.d.ts.map +1 -0
  340. package/dist/utils/acpExecutionAuthority.js +22 -0
  341. package/dist/utils/acpExecutionAuthority.js.map +1 -0
  342. package/dist/utils/agentAttachedContextPrompt.d.ts +2 -0
  343. package/dist/utils/agentAttachedContextPrompt.d.ts.map +1 -0
  344. package/dist/utils/agentAttachedContextPrompt.js +2 -0
  345. package/dist/utils/agentAttachedContextPrompt.js.map +1 -0
  346. package/dist/utils/agentModelContext.d.ts +2 -0
  347. package/dist/utils/agentModelContext.d.ts.map +1 -0
  348. package/dist/utils/agentModelContext.js +2 -0
  349. package/dist/utils/agentModelContext.js.map +1 -0
  350. package/dist/utils/agentReasoningEffort.d.ts +3 -0
  351. package/dist/utils/agentReasoningEffort.d.ts.map +1 -0
  352. package/dist/utils/agentReasoningEffort.js +2 -0
  353. package/dist/utils/agentReasoningEffort.js.map +1 -0
  354. package/dist/utils/agentRuntimeProvider.d.ts +3 -0
  355. package/dist/utils/agentRuntimeProvider.d.ts.map +1 -0
  356. package/dist/utils/agentRuntimeProvider.js +2 -0
  357. package/dist/utils/agentRuntimeProvider.js.map +1 -0
  358. package/dist/utils/cloudModels.d.ts +3 -0
  359. package/dist/utils/cloudModels.d.ts.map +1 -0
  360. package/dist/utils/cloudModels.js +181 -0
  361. package/dist/utils/cloudModels.js.map +1 -0
  362. package/dist/utils/conversationRuntime.d.ts +3 -0
  363. package/dist/utils/conversationRuntime.d.ts.map +1 -0
  364. package/dist/utils/conversationRuntime.js +2 -0
  365. package/dist/utils/conversationRuntime.js.map +1 -0
  366. package/dist/utils/fileCreateIntent.d.ts +16 -0
  367. package/dist/utils/fileCreateIntent.d.ts.map +1 -0
  368. package/dist/utils/fileCreateIntent.js +123 -0
  369. package/dist/utils/fileCreateIntent.js.map +1 -0
  370. package/dist/utils/legacyAgentRuntimeEvents.d.ts +2 -0
  371. package/dist/utils/legacyAgentRuntimeEvents.d.ts.map +1 -0
  372. package/dist/utils/legacyAgentRuntimeEvents.js +2 -0
  373. package/dist/utils/legacyAgentRuntimeEvents.js.map +1 -0
  374. package/dist/utils/markdownWindowsPaths.d.ts +2 -0
  375. package/dist/utils/markdownWindowsPaths.d.ts.map +1 -0
  376. package/dist/utils/markdownWindowsPaths.js +2 -0
  377. package/dist/utils/markdownWindowsPaths.js.map +1 -0
  378. package/dist/utils/workspaceSelectionContinuation.d.ts +2 -0
  379. package/dist/utils/workspaceSelectionContinuation.d.ts.map +1 -0
  380. package/dist/utils/workspaceSelectionContinuation.js +2 -0
  381. package/dist/utils/workspaceSelectionContinuation.js.map +1 -0
  382. package/package.json +53 -0
  383. package/src/agent.css +1156 -0
  384. package/src/foundation.css +62 -0
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getAgentPlatformBridge } from '../../../../platformBridge';
3
+ import React from 'react';
4
+ import { Download, Trash2, HardDrive, Clock } from 'lucide-react';
5
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
6
+ import { SettingsCard } from '../shared/SettingsCard';
7
+ import { ToggleSwitch } from '../shared/ToggleSwitch';
8
+ export function ExportBackupSection() {
9
+ const settings = useEntitySettingsStore(s => s.settings);
10
+ const updateExportBackup = useEntitySettingsStore(s => s.updateExportBackup);
11
+ const createBackup = useEntitySettingsStore(s => s.createBackup);
12
+ const deleteBackup = useEntitySettingsStore(s => s.deleteBackup);
13
+ if (!settings)
14
+ return null;
15
+ const { exportBackup } = settings;
16
+ return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[260px_minmax(0,1fr)_280px] gap-4 items-start", children: [_jsx(SettingsCard, { title: "Auto Backup", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between py-1.5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(HardDrive, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Enabled" })] }), _jsx(ToggleSwitch, { enabled: exportBackup.autoBackupEnabled, onChange: (v) => updateExportBackup({ autoBackupEnabled: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-1.5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Frequency" })] }), _jsxs("select", { value: exportBackup.backupFrequency, onChange: (e) => updateExportBackup({ backupFrequency: e.target.value }), className: "px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[10px] text-white/60 focus:outline-none", children: [_jsx("option", { value: "daily", children: "Daily" }), _jsx("option", { value: "weekly", children: "Weekly" }), _jsx("option", { value: "monthly", children: "Monthly" })] })] }), _jsxs("div", { className: "pt-2 border-t border-white/[0.05]", children: [_jsxs("div", { className: "flex items-center justify-between mb-1", children: [_jsx("span", { className: "text-[10px] text-white/40", children: "Retention" }), _jsxs("span", { className: "text-[10px] text-white/50", children: [exportBackup.retentionDays, "d"] })] }), _jsxs("div", { className: "relative h-2 rounded-sm bg-[#222224]", onWheel: (e) => {
17
+ e.preventDefault();
18
+ const delta = e.deltaY > 0 ? -1 : 1;
19
+ const next = Math.max(7, Math.min(90, exportBackup.retentionDays + delta));
20
+ updateExportBackup({ retentionDays: next });
21
+ }, children: [_jsx("div", { className: "absolute inset-0 rounded-sm overflow-hidden", children: _jsx("div", { className: "h-full rounded-sm bg-white/20", style: { width: `${((exportBackup.retentionDays - 7) / (90 - 7)) * 100}%` } }) }), _jsx("input", { type: "range", min: 7, max: 90, value: exportBackup.retentionDays, onChange: (e) => updateExportBackup({ retentionDays: parseInt(e.target.value) }), className: "absolute inset-0 w-full appearance-none bg-transparent cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3.5 [&::-webkit-slider-thumb]:h-3.5 [&::-webkit-slider-thumb]:rounded [&::-webkit-slider-thumb]:bg-white/70 [&::-webkit-slider-thumb]:hover:bg-white/90 [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-white/10" })] })] })] }) }), _jsx(SettingsCard, { title: "Export Data", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("button", { onClick: () => getAgentPlatformBridge()?.exportBackup?.exportJson?.(), className: "flex items-center gap-2 w-full px-4 py-2 bg-[#1E1E1E] hover:bg-[#252525] border border-[#27272a] rounded-md text-[11px] text-white/60 transition-colors", children: [_jsx(Download, { className: "w-3.5 h-3.5" }), " Export as JSON"] }), _jsxs("button", { onClick: () => getAgentPlatformBridge()?.exportBackup?.exportCsv?.(), className: "flex items-center gap-2 w-full px-4 py-2 bg-[#1E1E1E] hover:bg-[#252525] border border-[#27272a] rounded-md text-[11px] text-white/60 transition-colors", children: [_jsx(Download, { className: "w-3.5 h-3.5" }), " Export as CSV"] })] }) }), _jsx(SettingsCard, { title: "Backups", className: "flex flex-col min-h-0", headerRight: _jsxs("button", { onClick: () => createBackup(`Backup ${new Date().toLocaleDateString()}`), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: [_jsx(HardDrive, { className: "w-3 h-3" }), " New"] }), children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: exportBackup.availableBackups.length === 0 ? (_jsx("div", { className: "text-center py-4 text-[10px] text-white/30", children: "No backups" })) : (exportBackup.availableBackups.map((backup) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-[11px] text-white/70 truncate", children: backup.name }), _jsxs("div", { className: "text-[9px] text-white/25", children: [backup.size, " - ", new Date(backup.createdAt).toLocaleDateString()] })] }), _jsxs("div", { className: "flex items-center gap-1.5 ml-2", children: [_jsx("button", { onClick: () => getAgentPlatformBridge()?.exportBackup?.downloadBackup?.(backup.id), className: "text-white/30 hover:text-white/60", children: _jsx(Download, { className: "w-3 h-3" }) }), _jsx("button", { onClick: () => deleteBackup(backup.id), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] })] }, backup.id)))) }) })] }));
22
+ }
23
+ //# sourceMappingURL=ExportBackupSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportBackupSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/ExportBackupSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function GeneralSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=GeneralSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeneralSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/GeneralSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,wBAAgB,cAAc,6BAgE7B"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
4
+ import { SettingsCard } from '../shared/SettingsCard';
5
+ import { InputField } from '../shared/InputField';
6
+ export function GeneralSection() {
7
+ const settings = useEntitySettingsStore(s => s.settings);
8
+ const updateGeneral = useEntitySettingsStore(s => s.updateGeneral);
9
+ if (!settings)
10
+ return null;
11
+ const { general, entityType } = settings;
12
+ const typeLabel = entityType.charAt(0).toUpperCase() + entityType.slice(1);
13
+ return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_260px] gap-4 items-start", children: [_jsx(SettingsCard, { title: "General Information", className: "flex flex-col", children: _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx(InputField, { label: `${typeLabel} Name`, value: general.name, onChange: (v) => updateGeneral({ name: v }) }), _jsxs("div", { className: "flex flex-col", children: [_jsx("label", { className: "block text-[11px] text-white/40 mb-1", children: "Description" }), _jsx("textarea", { value: general.description, onChange: (e) => updateGeneral({ description: e.target.value }), placeholder: `Describe this ${entityType}...`, className: "min-h-[180px] w-full px-3 py-2 bg-[#2b2b2b] border border-[#27272a] rounded text-white text-[12px] placeholder-white/20 focus:outline-none focus:border-white/[0.15] transition-colors resize-y" })] })] }) }), _jsxs("div", { className: "flex flex-col gap-3 min-h-0", children: [_jsx(SettingsCard, { title: "Identity", children: _jsxs("div", { className: "space-y-2.5", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-[10px] text-white/30 mb-1", children: "Slug" }), _jsx("div", { className: "px-2.5 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[12px] text-white/40 font-mono", children: general.slug })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-[10px] text-white/30 mb-1", children: "ID" }), _jsx("div", { className: "px-2.5 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[10px] text-white/25 font-mono truncate", children: settings.entityId })] })] }) }), _jsx(SettingsCard, { title: "Metadata", children: _jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-[10px] text-white/30", children: "Created" }), _jsx("span", { className: "text-[10px] text-white/50", children: new Date(general.createdAt).toLocaleDateString() })] }), _jsxs("div", { className: "flex justify-between items-center", children: [_jsx("span", { className: "text-[10px] text-white/30", children: "Updated" }), _jsx("span", { className: "text-[10px] text-white/50", children: new Date(general.updatedAt).toLocaleDateString() })] })] }) })] })] }));
14
+ }
15
+ //# sourceMappingURL=GeneralSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeneralSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/GeneralSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IAClE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAE1E,OAAO,CACL,eAAK,SAAS,EAAC,sFAAsF,aAEnG,KAAC,YAAY,IAAC,KAAK,EAAC,qBAAqB,EAAC,SAAS,EAAC,eAAe,YACjE,eAAK,SAAS,EAAC,qBAAqB,aAClC,KAAC,UAAU,IACT,KAAK,EAAE,GAAG,SAAS,OAAO,EAC1B,KAAK,EAAE,OAAO,CAAC,IAAI,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,GAC3C,EACF,eAAK,SAAS,EAAC,eAAe,aAC5B,gBAAO,SAAS,EAAC,sCAAsC,4BAAoB,EAC3E,mBACE,KAAK,EAAE,OAAO,CAAC,WAAW,EAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAC/D,WAAW,EAAE,iBAAiB,UAAU,KAAK,EAC7C,SAAS,EAAC,iMAAiM,GAC3M,IACE,IACF,GACO,EAGf,eAAK,SAAS,EAAC,6BAA6B,aAC1C,KAAC,YAAY,IAAC,KAAK,EAAC,UAAU,YAC5B,eAAK,SAAS,EAAC,aAAa,aAC1B,0BACE,gBAAO,SAAS,EAAC,sCAAsC,qBAAa,EACpE,cAAK,SAAS,EAAC,gGAAgG,YAC5G,OAAO,CAAC,IAAI,GACT,IACF,EACN,0BACE,gBAAO,SAAS,EAAC,sCAAsC,mBAAW,EAClE,cAAK,SAAS,EAAC,yGAAyG,YACrH,QAAQ,CAAC,QAAQ,GACd,IACF,IACF,GACO,EAEf,KAAC,YAAY,IAAC,KAAK,EAAC,UAAU,YAC5B,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2BAA2B,wBAAe,EAC1D,eAAM,SAAS,EAAC,2BAA2B,YAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,GAAQ,IACjG,EACN,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAM,SAAS,EAAC,2BAA2B,wBAAe,EAC1D,eAAM,SAAS,EAAC,2BAA2B,YAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,GAAQ,IACjG,IACF,GACO,IACX,IACF,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function IntegrationsSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=IntegrationsSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntegrationsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/IntegrationsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,wBAAgB,mBAAmB,6BAgJlC"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useState } from 'react';
3
+ import { Plus, Trash2, Key, Webhook } from 'lucide-react';
4
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
5
+ import { SettingsCard } from '../shared/SettingsCard';
6
+ import { ToggleSwitch } from '../shared/ToggleSwitch';
7
+ import { AcpAgentManager } from '../../acp/AcpAgentManager';
8
+ export function IntegrationsSection() {
9
+ const settings = useEntitySettingsStore(s => s.settings);
10
+ const toggleIntegration = useEntitySettingsStore(s => s.toggleIntegration);
11
+ const addApiKey = useEntitySettingsStore(s => s.addApiKey);
12
+ const removeApiKey = useEntitySettingsStore(s => s.removeApiKey);
13
+ const addWebhook = useEntitySettingsStore(s => s.addWebhook);
14
+ const removeWebhook = useEntitySettingsStore(s => s.removeWebhook);
15
+ const toggleWebhook = useEntitySettingsStore(s => s.toggleWebhook);
16
+ const [showAddKey, setShowAddKey] = useState(false);
17
+ const [newKeyName, setNewKeyName] = useState('');
18
+ const [showAddWebhook, setShowAddWebhook] = useState(false);
19
+ const [newWebhookUrl, setNewWebhookUrl] = useState('');
20
+ if (!settings)
21
+ return null;
22
+ const { integrations } = settings;
23
+ const iconMap = { github: 'GH', slack: 'SL', discord: 'DC', webhook: 'WH' };
24
+ const handleAddKey = () => {
25
+ if (!newKeyName.trim())
26
+ return;
27
+ addApiKey({ name: newKeyName, prefix: `xk_${Math.random().toString(36).substr(2, 8)}`, expiresAt: undefined });
28
+ setNewKeyName('');
29
+ setShowAddKey(false);
30
+ };
31
+ const handleAddWebhook = () => {
32
+ if (!newWebhookUrl.trim())
33
+ return;
34
+ addWebhook({ url: newWebhookUrl, events: ['agent.completed'], enabled: true, secret: `whsec_${Math.random().toString(36).substr(2, 8)}` });
35
+ setNewWebhookUrl('');
36
+ setShowAddWebhook(false);
37
+ };
38
+ return (_jsxs("div", { className: "flex h-full min-h-0 flex-col gap-3 overflow-hidden", children: [_jsx("section", { className: "min-h-0 flex-1 overflow-hidden", children: _jsx(AcpAgentManager, {}) }), _jsxs("details", { className: "max-h-[42vh] flex-shrink-0 overflow-y-auto rounded border border-[#27272a] bg-[#18181b]", children: [_jsx("summary", { className: "cursor-pointer select-none px-3 py-2 text-[10px] uppercase tracking-[0.14em] text-white/45 hover:text-white/65", children: "Other integrations" }), _jsxs("div", { className: "grid grid-cols-1 gap-4 border-t border-[#27272a] p-3 xl:grid-cols-3", children: [_jsx(SettingsCard, { title: "Services", className: "flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: integrations.integrations.map((integration) => (_jsxs("div", { className: "flex items-center justify-between py-2 px-2 rounded hover:bg-[#1E1E1E]", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "w-7 h-7 rounded bg-[#222224] flex items-center justify-center text-[9px] text-white/50 font-bold", children: iconMap[integration.type] || '??' }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/80", children: integration.name }), _jsx("div", { className: "text-[9px] text-white/30", children: integration.status === 'connected' ? 'Connected' : 'Not connected' })] })] }), _jsx(ToggleSwitch, { enabled: integration.enabled, onChange: () => toggleIntegration(integration.id) })] }, integration.id))) }) }), _jsx(SettingsCard, { title: "API Keys", className: "flex flex-col min-h-0", headerRight: _jsx("button", { onClick: () => setShowAddKey(true), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: _jsx(Plus, { className: "w-3 h-3" }) }), children: _jsxs("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: [showAddKey && (_jsxs("div", { className: "flex gap-1.5 mb-2 p-2 rounded bg-[#18181b] border border-[#27272a]", children: [_jsx("input", { type: "text", value: newKeyName, onChange: (e) => setNewKeyName(e.target.value), placeholder: "Key name...", className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white focus:outline-none" }), _jsx("button", { onClick: handleAddKey, className: "px-2 py-1 bg-[#252525] text-white/70 text-[10px] rounded hover:bg-[#333336]", children: "Add" }), _jsx("button", { onClick: () => setShowAddKey(false), className: "px-1.5 py-1 text-white/40 text-[10px]", children: "X" })] })), integrations.apiKeys.map((key) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [_jsx(Key, { className: "w-3 h-3 text-white/30 flex-shrink-0" }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-[11px] text-white/70 truncate", children: key.name }), _jsx("div", { className: "text-[9px] text-white/25 font-mono", children: key.prefix })] })] }), _jsx("button", { onClick: () => removeApiKey(key.id), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] }, key.id)))] }) }), _jsx(SettingsCard, { title: "Webhooks", className: "flex flex-col min-h-0", headerRight: _jsx("button", { onClick: () => setShowAddWebhook(true), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: _jsx(Plus, { className: "w-3 h-3" }) }), children: _jsxs("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: [showAddWebhook && (_jsxs("div", { className: "flex gap-1.5 mb-2 p-2 rounded bg-[#18181b] border border-[#27272a]", children: [_jsx("input", { type: "url", value: newWebhookUrl, onChange: (e) => setNewWebhookUrl(e.target.value), placeholder: "https://...", className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white focus:outline-none" }), _jsx("button", { onClick: handleAddWebhook, className: "px-2 py-1 bg-[#252525] text-white/70 text-[10px] rounded hover:bg-[#333336]", children: "Add" }), _jsx("button", { onClick: () => setShowAddWebhook(false), className: "px-1.5 py-1 text-white/40 text-[10px]", children: "X" })] })), integrations.webhookEndpoints.map((wh) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [_jsx(Webhook, { className: "w-3 h-3 text-white/30 flex-shrink-0" }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-[11px] text-white/60 font-mono truncate", children: wh.url }), _jsx("div", { className: "text-[9px] text-white/25", children: wh.events.join(', ') })] })] }), _jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(ToggleSwitch, { enabled: wh.enabled, onChange: () => toggleWebhook(wh.id) }), _jsx("button", { onClick: () => removeWebhook(wh.id), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] })] }, wh.id)))] }) })] })] })] }));
39
+ }
40
+ //# sourceMappingURL=IntegrationsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntegrationsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/IntegrationsSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function NotificationsSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=NotificationsSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/NotificationsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,wBAAgB,oBAAoB,6BAqGnC"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useState } from 'react';
3
+ import { Mail, MessageSquare, Bell, Webhook, Plus, Trash2 } from 'lucide-react';
4
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
5
+ import { SettingsCard } from '../shared/SettingsCard';
6
+ import { ToggleSwitch } from '../shared/ToggleSwitch';
7
+ export function NotificationsSection() {
8
+ const settings = useEntitySettingsStore(s => s.settings);
9
+ const updateNotifications = useEntitySettingsStore(s => s.updateNotifications);
10
+ const addNotificationRule = useEntitySettingsStore(s => s.addNotificationRule);
11
+ const updateNotificationRule = useEntitySettingsStore(s => s.updateNotificationRule);
12
+ const deleteNotificationRule = useEntitySettingsStore(s => s.deleteNotificationRule);
13
+ const [showAddRule, setShowAddRule] = useState(false);
14
+ const [newEvent, setNewEvent] = useState('');
15
+ const [newChannel, setNewChannel] = useState('email');
16
+ if (!settings)
17
+ return null;
18
+ const { notifications } = settings;
19
+ const handleAddRule = () => {
20
+ if (!newEvent.trim())
21
+ return;
22
+ addNotificationRule({ event: newEvent, channel: newChannel, enabled: true, description: '' });
23
+ setNewEvent('');
24
+ setShowAddRule(false);
25
+ };
26
+ return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[240px_minmax(0,1fr)_200px] gap-4 items-start", children: [_jsx(SettingsCard, { title: "Channels", children: _jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Mail, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Email" })] }), _jsx(ToggleSwitch, { enabled: notifications.emailEnabled, onChange: (v) => updateNotifications({ emailEnabled: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(MessageSquare, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Slack" })] }), _jsx(ToggleSwitch, { enabled: notifications.slackEnabled, onChange: (v) => updateNotifications({ slackEnabled: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Bell, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Discord" })] }), _jsx(ToggleSwitch, { enabled: notifications.discordEnabled, onChange: (v) => updateNotifications({ discordEnabled: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Webhook, { className: "w-3.5 h-3.5 text-white/40" }), _jsx("span", { className: "text-[11px] text-white/70", children: "Webhook" })] }), _jsx(ToggleSwitch, { enabled: notifications.webhookEnabled, onChange: (v) => updateNotifications({ webhookEnabled: v }) })] })] }) }), _jsx(SettingsCard, { title: "Rules", className: "flex flex-col min-h-0", headerRight: _jsxs("button", { onClick: () => setShowAddRule(true), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: [_jsx(Plus, { className: "w-3 h-3" }), " Add"] }), children: _jsxs("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: [showAddRule && (_jsxs("div", { className: "flex gap-1.5 mb-2 p-2 rounded bg-[#18181b] border border-[#27272a]", children: [_jsx("input", { type: "text", value: newEvent, onChange: (e) => setNewEvent(e.target.value), placeholder: "Event...", className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white focus:outline-none" }), _jsxs("select", { value: newChannel, onChange: (e) => setNewChannel(e.target.value), className: "px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[10px] text-white/60 focus:outline-none", children: [_jsx("option", { value: "email", children: "Email" }), _jsx("option", { value: "slack", children: "Slack" }), _jsx("option", { value: "discord", children: "Discord" }), _jsx("option", { value: "webhook", children: "Webhook" })] }), _jsx("button", { onClick: handleAddRule, className: "px-2 py-1 bg-[#252525] text-white/70 text-[10px] rounded hover:bg-[#333336]", children: "Add" }), _jsx("button", { onClick: () => setShowAddRule(false), className: "px-1.5 py-1 text-white/40 text-[10px]", children: "X" })] })), notifications.rules.map((rule) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: [_jsx(ToggleSwitch, { enabled: rule.enabled, onChange: (v) => updateNotificationRule(rule.id, { enabled: v }) }), _jsx("span", { className: "text-[11px] text-white/70 truncate", children: rule.event })] }), _jsxs("div", { className: "flex items-center gap-2 ml-2", children: [_jsx("span", { className: "text-[9px] text-white/30 uppercase px-1.5 py-0.5 bg-[#1E1E1E] rounded", children: rule.channel }), _jsx("button", { onClick: () => deleteNotificationRule(rule.id), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] })] }, rule.id)))] }) }), _jsx(SettingsCard, { title: "Digest", children: _jsxs("div", { children: [_jsx("label", { className: "block text-[10px] text-white/40 mb-1.5", children: "Frequency" }), _jsxs("select", { value: notifications.digestFrequency, onChange: (e) => updateNotifications({ digestFrequency: e.target.value }), className: "w-full px-3 py-2 bg-[#2b2b2b] border border-[#27272a] rounded-md text-[12px] text-white focus:outline-none", children: [_jsx("option", { value: "realtime", children: "Real-time" }), _jsx("option", { value: "hourly", children: "Hourly" }), _jsx("option", { value: "daily", children: "Daily" }), _jsx("option", { value: "weekly", children: "Weekly" })] })] }) })] }));
27
+ }
28
+ //# sourceMappingURL=NotificationsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotificationsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/NotificationsSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAA;IAC9E,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAA;IAC9E,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;IACpF,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;IACpF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA4C,OAAO,CAAC,CAAA;IAEhG,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1B,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAA;IAElC,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAAE,OAAM;QAC5B,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QAC7F,WAAW,CAAC,EAAE,CAAC,CAAC;QAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAC,4FAA4F,aAEzG,KAAC,YAAY,IAAC,KAAK,EAAC,UAAU,YAC5B,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,yBAAyB,aAAC,KAAC,IAAI,IAAC,SAAS,EAAC,2BAA2B,GAAG,EAAA,eAAM,SAAS,EAAC,2BAA2B,sBAAa,IAAM,EACrJ,KAAC,YAAY,IAAC,OAAO,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,GAAI,IAC5G,EACN,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,yBAAyB,aAAC,KAAC,aAAa,IAAC,SAAS,EAAC,2BAA2B,GAAG,EAAA,eAAM,SAAS,EAAC,2BAA2B,sBAAa,IAAM,EAC9J,KAAC,YAAY,IAAC,OAAO,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,GAAI,IAC5G,EACN,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,yBAAyB,aAAC,KAAC,IAAI,IAAC,SAAS,EAAC,2BAA2B,GAAG,EAAA,eAAM,SAAS,EAAC,2BAA2B,wBAAe,IAAM,EACvJ,KAAC,YAAY,IAAC,OAAO,EAAE,aAAa,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,GAAI,IAChH,EACN,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,yBAAyB,aAAC,KAAC,OAAO,IAAC,SAAS,EAAC,2BAA2B,GAAG,EAAA,eAAM,SAAS,EAAC,2BAA2B,wBAAe,IAAM,EAC1J,KAAC,YAAY,IAAC,OAAO,EAAE,aAAa,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,GAAI,IAChH,IACF,GACO,EAGf,KAAC,YAAY,IACX,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,uBAAuB,EACjC,WAAW,EACT,kBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAC,uEAAuE,aAC5H,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,YACrB,YAGX,eAAK,SAAS,EAAC,wCAAwC,aACpD,WAAW,IAAI,CACd,eAAK,SAAS,EAAC,oEAAoE,aACjF,gBAAO,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAC,UAAU,EACtG,SAAS,EAAC,yGAAyG,GAAG,EACxH,kBAAQ,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAA0B,CAAC,EAC5F,SAAS,EAAC,qGAAqG,aAC/G,iBAAQ,KAAK,EAAC,OAAO,sBAAe,EAAA,iBAAQ,KAAK,EAAC,OAAO,sBAAe,EAAA,iBAAQ,KAAK,EAAC,SAAS,wBAAiB,EAAA,iBAAQ,KAAK,EAAC,SAAS,wBAAiB,IACjJ,EACT,iBAAQ,OAAO,EAAE,aAAa,EAAE,SAAS,EAAC,6EAA6E,oBAAa,EACpI,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAC,uCAAuC,kBAAW,IACtG,CACP,EACA,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACjC,eAAmB,SAAS,EAAC,gFAAgF,aAC3G,eAAK,SAAS,EAAC,wCAAwC,aACrD,KAAC,YAAY,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAI,EACzG,eAAM,SAAS,EAAC,oCAAoC,YAAE,IAAI,CAAC,KAAK,GAAQ,IACpE,EACN,eAAK,SAAS,EAAC,8BAA8B,aAC3C,eAAM,SAAS,EAAC,uEAAuE,YAAE,IAAI,CAAC,OAAO,GAAQ,EAC7G,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,uEAAuE,YACvI,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,GACvB,IACL,KAVE,IAAI,CAAC,EAAE,CAWX,CACP,CAAC,IACE,GACO,EAGf,KAAC,YAAY,IAAC,KAAK,EAAC,QAAQ,YAC1B,0BACE,gBAAO,SAAS,EAAC,wCAAwC,0BAAkB,EAC3E,kBACE,KAAK,EAAE,aAAa,CAAC,eAAe,EACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,KAAmD,EAAE,CAAC,EACvH,SAAS,EAAC,4GAA4G,aAEtH,iBAAQ,KAAK,EAAC,UAAU,0BAAmB,EAC3C,iBAAQ,KAAK,EAAC,QAAQ,uBAAgB,EACtC,iBAAQ,KAAK,EAAC,OAAO,sBAAe,EACpC,iBAAQ,KAAK,EAAC,QAAQ,uBAAgB,IAC/B,IACL,GACO,IACX,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function ResourceLimitsSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=ResourceLimitsSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceLimitsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/ResourceLimitsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,wBAAgB,qBAAqB,6BA6DpC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
4
+ import { SettingsCard } from '../shared/SettingsCard';
5
+ export function ResourceLimitsSection() {
6
+ const settings = useEntitySettingsStore(s => s.settings);
7
+ const updateResourceLimits = useEntitySettingsStore(s => s.updateResourceLimits);
8
+ if (!settings)
9
+ return null;
10
+ const { resourceLimits } = settings;
11
+ return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_320px] gap-4 items-start", children: [_jsx(SettingsCard, { title: "Quotas", className: "flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-4", children: resourceLimits.quotas.map((quota, i) => {
12
+ const pct = Math.min(100, (quota.current / quota.limit) * 100);
13
+ const isWarning = pct > 80;
14
+ return (_jsxs("div", { children: [_jsxs("div", { className: "flex justify-between items-center mb-1", children: [_jsx("span", { className: "text-[12px] text-white/70", children: quota.label }), _jsxs("span", { className: "text-[11px] text-white/40", children: [quota.current.toLocaleString(), " / ", quota.limit.toLocaleString(), " ", quota.unit] })] }), _jsx("div", { className: "h-1.5 bg-[#222224] rounded-sm overflow-hidden", children: _jsx("div", { className: `h-full rounded-sm transition-all ${isWarning ? 'bg-amber-400/60' : 'bg-white/30'}`, style: { width: `${pct}%` } }) }), _jsxs("div", { className: "text-[10px] text-white/25 mt-0.5", children: [pct.toFixed(0), "% used"] })] }, i));
15
+ }) }) }), _jsx(SettingsCard, { title: "Rate Limits", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { children: [_jsx("label", { className: "block text-[11px] text-white/40 mb-1", children: "Requests per minute" }), _jsx("input", { type: "number", value: resourceLimits.rateLimitRpm, onChange: (e) => updateResourceLimits({ rateLimitRpm: parseInt(e.target.value) || 0 }), className: "w-full px-3 py-2 bg-[#2b2b2b] border border-[#27272a] rounded-md text-white text-[13px] focus:outline-none focus:border-white/[0.15] transition-colors" })] }), _jsxs("div", { children: [_jsx("label", { className: "block text-[11px] text-white/40 mb-1", children: "Tokens per day" }), _jsx("input", { type: "number", value: resourceLimits.rateLimitTpd, onChange: (e) => updateResourceLimits({ rateLimitTpd: parseInt(e.target.value) || 0 }), className: "w-full px-3 py-2 bg-[#2b2b2b] border border-[#27272a] rounded-md text-white text-[13px] focus:outline-none focus:border-white/[0.15] transition-colors" })] })] }) })] }));
16
+ }
17
+ //# sourceMappingURL=ResourceLimitsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceLimitsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/ResourceLimitsSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAChF,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAA;IAEnC,OAAO,CACL,eAAK,SAAS,EAAC,sFAAsF,aAEnG,KAAC,YAAY,IAAC,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,uBAAuB,YAC5D,cAAK,SAAS,EAAC,wCAAwC,YACpD,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;wBAC9D,MAAM,SAAS,GAAG,GAAG,GAAG,EAAE,CAAA;wBAC1B,OAAO,CACL,0BACE,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAM,SAAS,EAAC,2BAA2B,YAAE,KAAK,CAAC,KAAK,GAAQ,EAChE,gBAAM,SAAS,EAAC,2BAA2B,aACxC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,SAAK,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,OAAG,KAAK,CAAC,IAAI,IACxE,IACH,EACN,cAAK,SAAS,EAAC,+CAA+C,YAC5D,cACE,SAAS,EAAE,oCAAoC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,EAAE,EAC9F,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAC3B,GACE,EACN,eAAK,SAAS,EAAC,kCAAkC,aAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAa,KAbtE,CAAC,CAcL,CACP,CAAA;oBACH,CAAC,CAAC,GACE,GACO,EAGf,KAAC,YAAY,IAAC,KAAK,EAAC,aAAa,YAC/B,eAAK,SAAS,EAAC,WAAW,aACxB,0BACE,gBAAO,SAAS,EAAC,sCAAsC,oCAA4B,EACnF,gBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,cAAc,CAAC,YAAY,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EACtF,SAAS,EAAC,wJAAwJ,GAClK,IACE,EACN,0BACE,gBAAO,SAAS,EAAC,sCAAsC,+BAAuB,EAC9E,gBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,cAAc,CAAC,YAAY,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EACtF,SAAS,EAAC,wJAAwJ,GAClK,IACE,IACF,GACO,IACX,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function SecurityComplianceSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=SecurityComplianceSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityComplianceSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/SecurityComplianceSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,wBAAgB,yBAAyB,6BA2GxC"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useState } from 'react';
3
+ import { Shield, Key, Clock, Plus, X } from 'lucide-react';
4
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
5
+ import { SettingsCard } from '../shared/SettingsCard';
6
+ import { ToggleSwitch } from '../shared/ToggleSwitch';
7
+ import { AgentPermissionRulesPanel } from './AgentPermissionRulesPanel';
8
+ export function SecurityComplianceSection() {
9
+ const settings = useEntitySettingsStore(s => s.settings);
10
+ const updateSecurity = useEntitySettingsStore(s => s.updateSecurity);
11
+ const [newIp, setNewIp] = useState('');
12
+ const [showAddIp, setShowAddIp] = useState(false);
13
+ if (!settings)
14
+ return null;
15
+ const { security } = settings;
16
+ const handleAddIp = () => {
17
+ if (!newIp.trim())
18
+ return;
19
+ updateSecurity({ ipAllowlist: [...security.ipAllowlist, newIp.trim()] });
20
+ setNewIp('');
21
+ setShowAddIp(false);
22
+ };
23
+ const handleRemoveIp = (ip) => {
24
+ updateSecurity({ ipAllowlist: security.ipAllowlist.filter(i => i !== ip) });
25
+ };
26
+ return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[300px_minmax(0,1fr)] gap-4 items-start", children: [_jsxs("div", { className: "flex flex-col gap-4 min-h-0", children: [_jsx(SettingsCard, { title: "Security Settings", children: _jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Shield, { className: "w-3.5 h-3.5 text-white/40" }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/70", children: "Require 2FA" }), _jsx("div", { className: "text-[9px] text-white/30", children: "Require verified account protection" })] })] }), _jsx(ToggleSwitch, { enabled: security.require2FA, onChange: (v) => updateSecurity({ require2FA: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Key, { className: "w-3.5 h-3.5 text-white/40" }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/70", children: "API Key Auth" }), _jsx("div", { className: "text-[9px] text-white/30", children: "Enforce for requests" })] })] }), _jsx(ToggleSwitch, { enabled: security.requireApiKeyAuth, onChange: (v) => updateSecurity({ requireApiKeyAuth: v }) })] }), _jsxs("div", { className: "flex items-center justify-between py-2 px-2", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Clock, { className: "w-3.5 h-3.5 text-white/40" }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/70", children: "Session Timeout" }), _jsx("div", { className: "text-[9px] text-white/30", children: "Minutes" })] })] }), _jsx("input", { type: "number", value: security.sessionTimeout, onChange: (e) => updateSecurity({ sessionTimeout: parseInt(e.target.value) || 0 }), className: "w-16 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white text-right focus:outline-none" })] })] }) }), _jsx(SettingsCard, { title: "IP Allowlist", className: "flex-1 flex flex-col min-h-0", headerRight: _jsx("button", { onClick: () => setShowAddIp(true), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70", children: _jsx(Plus, { className: "w-3 h-3" }) }), children: _jsxs("div", { className: "flex-1 min-h-0 overflow-auto space-y-1", children: [showAddIp && (_jsxs("div", { className: "flex gap-1.5 mb-2 p-2 rounded bg-[#18181b] border border-[#27272a]", children: [_jsx("input", { type: "text", value: newIp, onChange: (e) => setNewIp(e.target.value), placeholder: "192.168.1.0/24", className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white font-mono focus:outline-none" }), _jsx("button", { onClick: handleAddIp, className: "px-2 py-1 bg-[#252525] text-white/70 text-[10px] rounded", children: "Add" }), _jsx("button", { onClick: () => setShowAddIp(false), className: "px-1.5 py-1 text-white/40 text-[10px]", children: "X" })] })), security.ipAllowlist.length === 0 ? (_jsx("div", { className: "text-center py-3 text-[10px] text-white/30", children: "All IPs allowed" })) : (security.ipAllowlist.map((ip, i) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-[#1E1E1E] group", children: [_jsx("span", { className: "text-[11px] text-white/60 font-mono", children: ip }), _jsx("button", { onClick: () => handleRemoveIp(ip), className: "opacity-0 group-hover:opacity-100 text-white/30 hover:text-red-400/70", children: _jsx(X, { className: "w-3 h-3" }) })] }, i))))] }) })] }), _jsx(SettingsCard, { title: "Audit Log", className: "flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto", children: _jsxs("div", { className: "min-w-[560px]", children: [_jsxs("div", { className: "grid grid-cols-[1fr,80px,80px,1fr] gap-2 px-3 py-1.5 text-[9px] text-white/25 uppercase tracking-wider border-b border-white/[0.05]", children: [_jsx("span", { children: "Action" }), _jsx("span", { children: "Actor" }), _jsx("span", { children: "Target" }), _jsx("span", { children: "Details" })] }), security.auditLog.length > 0 ? (security.auditLog.map((entry) => (_jsxs("div", { className: "grid grid-cols-[1fr,80px,80px,1fr] gap-2 px-3 py-1.5 rounded hover:bg-[#1E1E1E] text-[10px]", children: [_jsx("span", { className: "text-white/60 truncate", children: entry.action }), _jsx("span", { className: "text-white/40 truncate", children: entry.actor }), _jsx("span", { className: "text-white/40 truncate", children: entry.target }), _jsx("span", { className: "text-white/30 truncate", children: entry.details })] }, entry.id)))) : (_jsxs("div", { className: "text-center py-8", children: [_jsx(Shield, { className: "w-6 h-6 text-white/10 mx-auto mb-2" }), _jsx("p", { className: "text-[10px] text-white/25", children: "No audit entries yet" }), _jsx("p", { className: "text-[9px] text-white/15 mt-1", children: "Actions will be recorded as you use the workspace" })] }))] }) }) }), _jsx(SettingsCard, { title: "Remembered Agent Permissions", children: _jsx(AgentPermissionRulesPanel, {}) })] }));
27
+ }
28
+ //# sourceMappingURL=SecurityComplianceSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityComplianceSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/SecurityComplianceSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,MAAM,UAAU,yBAAyB;IACvC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,cAAc,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IACpE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;IAE7B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAAE,OAAM;QACzB,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;QACxE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,EAAE;QACpC,cAAc,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7E,CAAC,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAC,sFAAsF,aAEnG,eAAK,SAAS,EAAC,6BAA6B,aAC1C,KAAC,YAAY,IAAC,KAAK,EAAC,mBAAmB,YACrC,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,yBAAyB,aAAC,KAAC,MAAM,IAAC,SAAS,EAAC,2BAA2B,GAAG,EAAA,0BAAK,cAAK,SAAS,EAAC,2BAA2B,4BAAkB,EAAA,cAAK,SAAS,EAAC,0BAA0B,oDAA0C,IAAM,IAAM,EACzP,KAAC,YAAY,IAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,GAAI,IAC9F,EACN,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,yBAAyB,aAAC,KAAC,GAAG,IAAC,SAAS,EAAC,2BAA2B,GAAG,EAAA,0BAAK,cAAK,SAAS,EAAC,2BAA2B,6BAAmB,EAAA,cAAK,SAAS,EAAC,0BAA0B,qCAA2B,IAAM,IAAM,EACxO,KAAC,YAAY,IAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAI,IAC5G,EACN,eAAK,SAAS,EAAC,6CAA6C,aAC1D,eAAK,SAAS,EAAC,yBAAyB,aAAC,KAAC,KAAK,IAAC,SAAS,EAAC,2BAA2B,GAAG,EAAA,0BAAK,cAAK,SAAS,EAAC,2BAA2B,gCAAsB,EAAA,cAAK,SAAS,EAAC,0BAA0B,wBAAc,IAAM,IAAM,EAChO,gBAAO,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EACrI,SAAS,EAAC,kHAAkH,GAAG,IAC7H,IACF,GACO,EAEf,KAAC,YAAY,IACX,KAAK,EAAC,cAAc,EACpB,SAAS,EAAC,8BAA8B,EACxC,WAAW,EACT,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAC,uEAAuE,YAC1H,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,GACrB,YAGX,eAAK,SAAS,EAAC,wCAAwC,aACpD,SAAS,IAAI,CACZ,eAAK,SAAS,EAAC,oEAAoE,aACjF,gBAAO,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAC,gBAAgB,EACtG,SAAS,EAAC,mHAAmH,GAAG,EAClI,iBAAQ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAC,0DAA0D,oBAAa,EAC/G,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAC,uCAAuC,kBAAW,IACpG,CACP,EACA,QAAQ,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACnC,cAAK,SAAS,EAAC,4CAA4C,gCAAsB,CAClF,CAAC,CAAC,CAAC,CACF,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAClC,eAAa,SAAS,EAAC,gFAAgF,aACrG,eAAM,SAAS,EAAC,qCAAqC,YAAE,EAAE,GAAQ,EACjE,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,uEAAuE,YAC1H,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,KAJD,CAAC,CAKL,CACP,CAAC,CACH,IACG,GACO,IACX,EAGN,KAAC,YAAY,IAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAC,uBAAuB,YAC/D,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAK,SAAS,EAAC,eAAe,aAC5B,eAAK,SAAS,EAAC,qIAAqI,aAClJ,oCAAmB,EAAA,mCAAkB,EAAA,oCAAmB,EAAA,qCAAoB,IACxE,EACL,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC/B,eAAoB,SAAS,EAAC,6FAA6F,aACzH,eAAM,SAAS,EAAC,wBAAwB,YAAE,KAAK,CAAC,MAAM,GAAQ,EAC9D,eAAM,SAAS,EAAC,wBAAwB,YAAE,KAAK,CAAC,KAAK,GAAQ,EAC7D,eAAM,SAAS,EAAC,wBAAwB,YAAE,KAAK,CAAC,MAAM,GAAQ,EAC9D,eAAM,SAAS,EAAC,wBAAwB,YAAE,KAAK,CAAC,OAAO,GAAQ,KAJvD,KAAK,CAAC,EAAE,CAKZ,CACP,CAAC,CACH,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,kBAAkB,aAC/B,KAAC,MAAM,IAAC,SAAS,EAAC,oCAAoC,GAAG,EACzD,YAAG,SAAS,EAAC,2BAA2B,qCAAyB,EACjE,YAAG,SAAS,EAAC,+BAA+B,kEAAsD,IAC9F,CACP,IACG,GACF,GACO,EAEf,KAAC,YAAY,IAAC,KAAK,EAAC,8BAA8B,YAChD,KAAC,yBAAyB,KAAG,GAChB,IACX,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function UsageAnalyticsSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=UsageAnalyticsSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsageAnalyticsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/UsageAnalyticsSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,wBAAgB,qBAAqB,6BAuGpC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useState } from 'react';
3
+ import { BarChart3 } from 'lucide-react';
4
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
5
+ import { SettingsCard } from '../shared/SettingsCard';
6
+ import { UsageChart } from '../shared/UsageChart';
7
+ export function UsageAnalyticsSection() {
8
+ const settings = useEntitySettingsStore(s => s.settings);
9
+ const [period, setPeriod] = useState('daily');
10
+ if (!settings)
11
+ return null;
12
+ const { usage } = settings;
13
+ const chartData = period === 'daily' ? usage.dailyUsage : period === 'weekly' ? usage.weeklyUsage : usage.monthlyUsage;
14
+ const hasData = usage.totalTokens > 0 || usage.totalRequests > 0;
15
+ return (_jsxs("div", { className: "h-full min-h-0 flex flex-col gap-4", children: [_jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-3", children: [_jsxs("div", { className: "rounded-md border border-[#27272a] bg-[#18181b] px-4 py-2.5 text-center", children: [_jsx("div", { className: "text-[15px] font-semibold text-white/90", children: hasData ? `${(usage.totalTokens / 1000).toFixed(0)}k` : '—' }), _jsx("div", { className: "text-[9px] text-white/35 uppercase tracking-wider mt-0.5", children: "Tokens" })] }), _jsxs("div", { className: "rounded-md border border-[#27272a] bg-[#18181b] px-4 py-2.5 text-center", children: [_jsx("div", { className: "text-[15px] font-semibold text-white/90", children: hasData ? `$${usage.totalCost.toFixed(2)}` : '—' }), _jsx("div", { className: "text-[9px] text-white/35 uppercase tracking-wider mt-0.5", children: "Cost" })] }), _jsxs("div", { className: "rounded-md border border-[#27272a] bg-[#18181b] px-4 py-2.5 text-center", children: [_jsx("div", { className: "text-[15px] font-semibold text-white/90", children: hasData ? usage.totalRequests.toLocaleString() : '—' }), _jsx("div", { className: "text-[9px] text-white/35 uppercase tracking-wider mt-0.5", children: "Requests" })] })] }), _jsxs("div", { className: "grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_280px] gap-4 items-start flex-1 min-h-0", children: [_jsx(SettingsCard, { title: "Token Usage", className: "flex flex-col min-h-0", headerRight: _jsx("div", { className: "flex gap-1", children: ['daily', 'weekly', 'monthly'].map((p) => (_jsx("button", { onClick: () => setPeriod(p), className: `px-2 py-0.5 rounded text-[10px] transition-colors ${period === p ? 'bg-[#2a2a2d] text-white/70' : 'text-white/30 hover:text-white/50'}`, children: p.charAt(0).toUpperCase() + p.slice(1) }, p))) }), children: _jsx("div", { className: "flex-1 min-h-0 flex items-center justify-center", children: chartData.length > 0 ? (_jsx(UsageChart, { data: chartData, height: 200 })) : (_jsxs("div", { className: "text-center py-8", children: [_jsx(BarChart3, { className: "w-8 h-8 text-white/10 mx-auto mb-2" }), _jsx("p", { className: "text-[11px] text-white/25", children: "No usage data yet" }), _jsx("p", { className: "text-[9px] text-white/15 mt-1", children: "Send messages using cloud models to see usage analytics" })] })) }) }), _jsxs("div", { className: "flex flex-col gap-4 min-h-0", children: [_jsx(SettingsCard, { title: "Cost by Model", className: "flex-1 flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-1.5", children: usage.costByModel.length > 0 ? (usage.costByModel.map((item, i) => (_jsxs("div", { className: "flex items-center justify-between py-1 px-2 rounded bg-[#161618]", children: [_jsxs("div", { children: [_jsx("div", { className: "text-[11px] text-white/70", children: item.model }), _jsxs("div", { className: "text-[9px] text-white/30", children: [(item.tokens / 1000).toFixed(0), "k tokens"] })] }), _jsxs("div", { className: "text-[12px] font-medium text-white/80", children: ["$", item.cost.toFixed(2)] })] }, i)))) : (_jsx("div", { className: "text-center py-4 text-[10px] text-white/20", children: "No model usage recorded" })) }) }), _jsx(SettingsCard, { title: "Top Agents", className: "flex-1 flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-1.5", children: usage.topAgents.length > 0 ? (usage.topAgents.map((agent, i) => (_jsxs("div", { className: "flex items-center justify-between py-1 px-2 rounded bg-[#161618]", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "w-5 h-5 rounded bg-[#222224] flex items-center justify-center text-[9px] text-white/40 font-medium", children: i + 1 }), _jsx("span", { className: "text-[11px] text-white/70", children: agent.name })] }), _jsxs("span", { className: "text-[11px] text-white/50", children: ["$", agent.cost.toFixed(2)] })] }, i)))) : (_jsx("div", { className: "text-center py-4 text-[10px] text-white/20", children: "No agent usage recorded" })) }) })] })] })] }));
16
+ }
17
+ //# sourceMappingURL=UsageAnalyticsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UsageAnalyticsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/UsageAnalyticsSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import React from 'react';
2
+ import type { EntityType } from '../../../../stores/entitySettingsStore';
3
+ import type { AgentPermissionProfileName, TeamAgentCallPolicy } from '../../../../stores/workspaceStore';
4
+ import type { HubAgentRuntimeSelection } from '../../../../types/agentRuntimeProvider';
5
+ interface WorkspaceDirectoryAccessSectionProps {
6
+ entityType: EntityType;
7
+ entityId?: string;
8
+ workspaceId?: string;
9
+ teamId?: string;
10
+ workspaceDirectories: string[];
11
+ workspaceApps: Array<{
12
+ id: string;
13
+ name: string;
14
+ path: string;
15
+ defaultArgs?: string[];
16
+ }>;
17
+ currentDirectories: string[];
18
+ parentDirectories?: string[];
19
+ currentAppIds?: string[];
20
+ parentAppIds?: string[];
21
+ teamAgentPolicy?: TeamAgentCallPolicy;
22
+ teamAgents?: Array<{
23
+ id: string;
24
+ name: string;
25
+ templateName?: string;
26
+ isMainAssistant?: boolean;
27
+ }>;
28
+ onAddWorkspaceDirectory?: () => void | Promise<void>;
29
+ onRemoveWorkspaceDirectory?: (directory: string) => void;
30
+ onAddWorkspaceApp?: () => void | Promise<void>;
31
+ onRemoveWorkspaceApp?: (appId: string) => void;
32
+ onSetCurrentDirectories?: (directories: string[]) => void;
33
+ onSetCurrentAppIds?: (appIds: string[]) => void;
34
+ onSetTeamAgentPolicy?: (policy: TeamAgentCallPolicy) => void;
35
+ agentCapabilities?: {
36
+ terminal: boolean;
37
+ fileRead: boolean;
38
+ fileWrite: boolean;
39
+ appLaunch: boolean;
40
+ };
41
+ onSetAgentCapabilities?: (capabilities: {
42
+ terminal: boolean;
43
+ fileRead: boolean;
44
+ fileWrite: boolean;
45
+ appLaunch: boolean;
46
+ }) => void;
47
+ agentPermissionProfile?: AgentPermissionProfileName;
48
+ onSetAgentPermissionProfile?: (profile: AgentPermissionProfileName) => void;
49
+ agentRuntimeSelection?: HubAgentRuntimeSelection;
50
+ onSetAgentRuntimeSelection?: (selection: HubAgentRuntimeSelection) => void;
51
+ }
52
+ export declare function WorkspaceDirectoryAccessSection({ entityType, entityId, workspaceId, teamId, workspaceDirectories, workspaceApps, currentDirectories, parentDirectories, currentAppIds, parentAppIds, teamAgentPolicy, teamAgents, onAddWorkspaceDirectory, onRemoveWorkspaceDirectory, onAddWorkspaceApp, onRemoveWorkspaceApp, onSetCurrentDirectories, onSetCurrentAppIds, onSetTeamAgentPolicy, agentCapabilities, onSetAgentCapabilities, agentPermissionProfile, onSetAgentPermissionProfile, agentRuntimeSelection, onSetAgentRuntimeSelection }: WorkspaceDirectoryAccessSectionProps): React.JSX.Element;
53
+ export {};
54
+ //# sourceMappingURL=WorkspaceDirectoryAccessSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceDirectoryAccessSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/WorkspaceDirectoryAccessSection.tsx"],"names":[],"mappings":"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"}