@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,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { Suspense, lazy, useEffect } from 'react';
3
+ import { useEntitySettingsStore, getSectionsForEntity } from '../../../stores/entitySettingsStore';
4
+ import { SettingsNavigation } from './SettingsNavigation';
5
+ import { GeneralSection } from './sections/GeneralSection';
6
+ import { DefaultAgentConfigSection } from './sections/DefaultAgentConfigSection';
7
+ import { AccessMembersSection } from './sections/AccessMembersSection';
8
+ import { ResourceLimitsSection } from './sections/ResourceLimitsSection';
9
+ import { UsageAnalyticsSection } from './sections/UsageAnalyticsSection';
10
+ import { IntegrationsSection } from './sections/IntegrationsSection';
11
+ import { EnvironmentSecretsSection } from './sections/EnvironmentSecretsSection';
12
+ import { NotificationsSection } from './sections/NotificationsSection';
13
+ import { SecurityComplianceSection } from './sections/SecurityComplianceSection';
14
+ import { ExportBackupSection } from './sections/ExportBackupSection';
15
+ import { DangerZoneSection } from './sections/DangerZoneSection';
16
+ const WorkspaceDirectoryAccessSection = lazy(() => (import('./sections/WorkspaceDirectoryAccessSection').then((module) => ({
17
+ default: module.WorkspaceDirectoryAccessSection,
18
+ }))));
19
+ const SECTION_TITLES = {
20
+ general: 'General',
21
+ directoryAccess: 'Directory Access',
22
+ defaultAgentConfig: 'Default Agent Config',
23
+ access: 'Access & Members',
24
+ resourceLimits: 'Resource Limits',
25
+ usage: 'Usage & Analytics',
26
+ integrations: 'Integrations',
27
+ environment: 'Environment & Secrets',
28
+ notifications: 'Notifications',
29
+ security: 'Security & Compliance',
30
+ exportBackup: 'Export & Backup',
31
+ dangerZone: 'Danger Zone',
32
+ };
33
+ export function EntitySettingsLayout({ entityType, entityId, entityName, initialSection, chromeTitle, workspaceId, workspaceName, workspaceDirectories, workspaceApps, currentDirectories, teamDirectories, currentAppIds, teamAppIds, teamAgentPolicy, teamAgents, onAddWorkspaceDirectory, onRemoveWorkspaceDirectory, onAddWorkspaceApp, onRemoveWorkspaceApp, onSetCurrentDirectories, onSetCurrentAppIds, onSetTeamAgentPolicy, agentCapabilities, onSetAgentCapabilities, agentPermissionProfile, onSetAgentPermissionProfile, agentRuntimeSelection, onSetAgentRuntimeSelection, teamId, teamName, onClose, onDelete, }) {
34
+ const loadSettings = useEntitySettingsStore(s => s.loadSettings);
35
+ const clearSettings = useEntitySettingsStore(s => s.clearSettings);
36
+ const settings = useEntitySettingsStore(s => s.settings);
37
+ const activeSection = useEntitySettingsStore(s => s.activeSection);
38
+ const setActiveSection = useEntitySettingsStore(s => s.setActiveSection);
39
+ const sections = getSectionsForEntity(entityType);
40
+ useEffect(() => {
41
+ loadSettings(entityId, entityType, entityName, { workspaceId, workspaceName, teamId, teamName });
42
+ if (initialSection && getSectionsForEntity(entityType).some(section => section.id === initialSection)) {
43
+ setActiveSection(initialSection);
44
+ }
45
+ return () => clearSettings();
46
+ }, [entityId, entityType, initialSection]);
47
+ if (!settings)
48
+ return null;
49
+ const typeLabel = entityType.charAt(0).toUpperCase() + entityType.slice(1);
50
+ const settingsTitle = chromeTitle || `${typeLabel} Settings`;
51
+ const usesWideCanvas = activeSection === 'integrations';
52
+ const renderSection = () => {
53
+ switch (activeSection) {
54
+ case 'general': return _jsx(GeneralSection, {});
55
+ case 'directoryAccess':
56
+ return (_jsx(Suspense, { fallback: _jsx("div", { className: "h-full min-h-[240px] rounded-md border border-white/[0.06] bg-[#202020] p-4 text-[12px] text-white/45", children: "Loading settings..." }), children: _jsx(WorkspaceDirectoryAccessSection, { entityType: entityType, entityId: entityId, workspaceId: workspaceId, teamId: teamId, workspaceDirectories: workspaceDirectories || [], workspaceApps: workspaceApps || [], currentDirectories: currentDirectories || [], parentDirectories: teamDirectories || [], currentAppIds: currentAppIds || [], parentAppIds: teamAppIds || [], teamAgentPolicy: teamAgentPolicy, teamAgents: teamAgents || [], onAddWorkspaceDirectory: onAddWorkspaceDirectory, onRemoveWorkspaceDirectory: onRemoveWorkspaceDirectory, onAddWorkspaceApp: onAddWorkspaceApp, onRemoveWorkspaceApp: onRemoveWorkspaceApp, onSetCurrentDirectories: onSetCurrentDirectories, onSetCurrentAppIds: onSetCurrentAppIds, onSetTeamAgentPolicy: onSetTeamAgentPolicy, agentCapabilities: agentCapabilities, onSetAgentCapabilities: onSetAgentCapabilities, agentPermissionProfile: agentPermissionProfile, onSetAgentPermissionProfile: onSetAgentPermissionProfile, agentRuntimeSelection: agentRuntimeSelection, onSetAgentRuntimeSelection: onSetAgentRuntimeSelection }) }));
57
+ case 'defaultAgentConfig': return _jsx(DefaultAgentConfigSection, {});
58
+ case 'access': return _jsx(AccessMembersSection, {});
59
+ case 'resourceLimits': return _jsx(ResourceLimitsSection, {});
60
+ case 'usage': return _jsx(UsageAnalyticsSection, {});
61
+ case 'integrations': return _jsx(IntegrationsSection, {});
62
+ case 'environment': return _jsx(EnvironmentSecretsSection, {});
63
+ case 'notifications': return _jsx(NotificationsSection, {});
64
+ case 'security': return _jsx(SecurityComplianceSection, {});
65
+ case 'exportBackup': return _jsx(ExportBackupSection, {});
66
+ case 'dangerZone': return _jsx(DangerZoneSection, {});
67
+ default: return _jsx(GeneralSection, {});
68
+ }
69
+ };
70
+ return (_jsxs("div", { className: "flex-1 min-h-0 flex flex-col bg-[var(--xeno-bg-app)] overflow-hidden", children: [_jsxs("div", { className: "flex-1 min-h-0 flex overflow-hidden", children: [_jsx("div", { className: "flex-1 min-w-0 overflow-hidden", children: _jsxs("div", { className: `h-full w-full ${usesWideCanvas ? 'max-w-none px-3 sm:px-4' : 'max-w-[1120px] mx-auto px-4 sm:px-6'} py-4 flex flex-col min-h-0`, children: [_jsx("div", { className: "lg:hidden mb-3 flex-shrink-0", children: _jsx("select", { value: activeSection, onChange: (e) => setActiveSection(e.target.value), className: "w-full px-3 py-2 bg-[#2b2b2b] border border-[#27272a] rounded-md text-[12px] text-white/70 focus:outline-none", children: sections.map(section => (_jsx("option", { value: section.id, children: section.label }, section.id))) }) }), _jsx("div", { className: "flex-1 min-h-0 overflow-hidden pb-2", children: renderSection() })] }) }), _jsx("div", { className: "hidden lg:block min-h-0", children: _jsx(SettingsNavigation, { entityType: entityType }) })] }), _jsxs("footer", { className: "flex-shrink-0 px-6 h-[48px] border-t border-white/[0.05] bg-[var(--xeno-bg-app)] flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("button", { onClick: onClose, className: "text-white/40 hover:text-white/70 transition-colors", children: _jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M15 19l-7-7 7-7" }) }) }), _jsx("span", { className: "text-[10px] text-white/30 uppercase tracking-wider", children: settingsTitle }), _jsx("span", { className: "text-[10px] text-white/15", children: "|" }), _jsx("span", { className: "text-[10px] text-white/40", children: entityName })] }), _jsx("button", { onClick: onClose, className: "px-4 py-1.5 bg-[#252525] hover:bg-[#333336] text-white/70 text-[11px] font-medium rounded-md transition-colors", children: "Done" })] })] }));
71
+ }
72
+ //# sourceMappingURL=EntitySettingsLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitySettingsLayout.js","sourceRoot":"","sources":["../../../../src/components/agent/settings/EntitySettingsLayout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type EntityType } from '../../../stores/entitySettingsStore';
3
+ interface SettingsNavigationProps {
4
+ entityType: EntityType;
5
+ }
6
+ export declare function SettingsNavigation({ entityType }: SettingsNavigationProps): React.JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=SettingsNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsNavigation.d.ts","sourceRoot":"","sources":["../../../../src/components/agent/settings/SettingsNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,qCAAqC,CAAA;AAiB5C,UAAU,uBAAuB;IAC/B,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,UAAU,EAAE,EAAE,uBAAuB,qBAmCzE"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Settings, Cpu, Users, Gauge, BarChart3, Plug, KeyRound, FolderTree, Bell, Shield, Download, AlertTriangle } from 'lucide-react';
4
+ import { useEntitySettingsStore, getSectionsForEntity, } from '../../../stores/entitySettingsStore';
5
+ const ICON_MAP = {
6
+ settings: Settings,
7
+ cpu: Cpu,
8
+ users: Users,
9
+ gauge: Gauge,
10
+ barChart: BarChart3,
11
+ plug: Plug,
12
+ key: KeyRound,
13
+ folder: FolderTree,
14
+ bell: Bell,
15
+ shield: Shield,
16
+ download: Download,
17
+ alertTriangle: AlertTriangle,
18
+ };
19
+ export function SettingsNavigation({ entityType }) {
20
+ const activeSection = useEntitySettingsStore(s => s.activeSection);
21
+ const setActiveSection = useEntitySettingsStore(s => s.setActiveSection);
22
+ const sections = getSectionsForEntity(entityType);
23
+ return (_jsx("nav", { className: "h-full w-[220px] flex-shrink-0 border-l border-white/[0.05] py-4 px-2 space-y-0.5 overflow-hidden", children: sections.map((section) => {
24
+ const Icon = ICON_MAP[section.icon] || Settings;
25
+ const isActive = activeSection === section.id;
26
+ const isDanger = section.id === 'dangerZone';
27
+ return (_jsxs("button", { onClick: () => setActiveSection(section.id), className: `
28
+ w-full flex items-center gap-2.5 px-3 py-2 rounded-md text-left transition-colors text-[12px]
29
+ ${isActive
30
+ ? isDanger
31
+ ? 'bg-red-500/[0.08] text-red-400/80'
32
+ : 'bg-[#252525] text-white'
33
+ : isDanger
34
+ ? 'text-red-400/40 hover:text-red-400/60 hover:bg-red-500/[0.04]'
35
+ : 'text-white/50 hover:text-white/70 hover:bg-[#1E1E1E]'}
36
+ `, children: [_jsx(Icon, { className: "w-4 h-4 flex-shrink-0" }), _jsx("span", { className: "truncate", children: section.label })] }, section.id));
37
+ }) }));
38
+ }
39
+ //# sourceMappingURL=SettingsNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsNavigation.js","sourceRoot":"","sources":["../../../../src/components/agent/settings/SettingsNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EACtD,UAAU,EACV,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EACtC,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GAGrB,MAAM,qCAAqC,CAAA;AAE5C,MAAM,QAAQ,GAAgE;IAC5E,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,aAAa;CAC7B,CAAA;AAMD,MAAM,UAAU,kBAAkB,CAAC,EAAE,UAAU,EAA2B;IACxE,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IAClE,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;IACxE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;IAEjD,OAAO,CACL,cAAK,SAAS,EAAC,mGAAmG,YAC/G,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAA;YAC/C,MAAM,QAAQ,GAAG,aAAa,KAAK,OAAO,CAAC,EAAE,CAAA;YAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,KAAK,YAAY,CAAA;YAE5C,OAAO,CACL,kBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,EAC3C,SAAS,EAAE;;gBAEP,QAAQ;oBACR,CAAC,CAAC,QAAQ;wBACR,CAAC,CAAC,mCAAmC;wBACrC,CAAC,CAAC,yBAAyB;oBAC7B,CAAC,CAAC,QAAQ;wBACR,CAAC,CAAC,+DAA+D;wBACjE,CAAC,CAAC,sDACN;aACD,aAED,KAAC,IAAI,IAAC,SAAS,EAAC,uBAAuB,GAAG,EAC1C,eAAM,SAAS,EAAC,UAAU,YAAE,OAAO,CAAC,KAAK,GAAQ,KAf5C,OAAO,CAAC,EAAE,CAgBR,CACV,CAAA;QACH,CAAC,CAAC,GACE,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function AccessMembersSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=AccessMembersSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessMembersSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/AccessMembersSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,wBAAgB,oBAAoB,6BA8GnC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useState } from 'react';
3
+ import { UserPlus, Globe, X } from 'lucide-react';
4
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
5
+ import { SettingsCard } from '../shared/SettingsCard';
6
+ import { SettingRow } from '../shared/SettingRow';
7
+ import { ToggleSwitch } from '../shared/ToggleSwitch';
8
+ import { MembersTable } from '../shared/MembersTable';
9
+ export function AccessMembersSection() {
10
+ const settings = useEntitySettingsStore(s => s.settings);
11
+ const updateAccess = useEntitySettingsStore(s => s.updateAccess);
12
+ const addMember = useEntitySettingsStore(s => s.addMember);
13
+ const removeMember = useEntitySettingsStore(s => s.removeMember);
14
+ const updateMemberRole = useEntitySettingsStore(s => s.updateMemberRole);
15
+ const [showInvite, setShowInvite] = useState(false);
16
+ const [inviteEmail, setInviteEmail] = useState('');
17
+ const [inviteRole, setInviteRole] = useState('viewer');
18
+ if (!settings)
19
+ return null;
20
+ const { access, entityType } = settings;
21
+ const isReadonly = entityType === 'agent';
22
+ const handleInvite = () => {
23
+ if (!inviteEmail.trim())
24
+ return;
25
+ addMember({ name: inviteEmail.split('@')[0], email: inviteEmail, role: inviteRole });
26
+ setInviteEmail('');
27
+ setShowInvite(false);
28
+ };
29
+ return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 xl:grid-cols-[minmax(0,1fr)_300px] gap-4 items-start", children: [_jsx(SettingsCard, { title: "Members", className: "flex flex-col min-h-0", headerRight: !isReadonly ? (_jsxs("button", { onClick: () => setShowInvite(true), className: "flex items-center gap-1 text-[10px] text-white/40 hover:text-white/70 transition-colors", children: [_jsx(UserPlus, { className: "w-3 h-3" }), " Invite"] })) : undefined, children: _jsxs("div", { className: "flex flex-col", children: [showInvite && (_jsxs("div", { className: "flex gap-2 mb-3 p-2.5 rounded-md bg-[#18181b] border border-[#27272a] flex-shrink-0", children: [_jsx("input", { type: "email", value: inviteEmail, onChange: (e) => setInviteEmail(e.target.value), placeholder: "email@example.com", className: "flex-1 px-2 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white focus:outline-none" }), _jsxs("select", { value: inviteRole, onChange: (e) => setInviteRole(e.target.value), className: "px-2 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[10px] text-white/60 focus:outline-none", children: [_jsx("option", { value: "admin", children: "Admin" }), _jsx("option", { value: "editor", children: "Editor" }), _jsx("option", { value: "viewer", children: "Viewer" })] }), _jsx("button", { onClick: handleInvite, className: "px-2.5 py-1.5 bg-[#252525] text-white/70 text-[10px] rounded hover:bg-[#333336] transition-colors", children: "Send" }), _jsx("button", { onClick: () => setShowInvite(false), className: "px-2 py-1.5 text-white/40 text-[10px] hover:text-white/70", children: "Cancel" })] })), _jsx("div", { className: "flex-1 min-h-0 overflow-auto", children: _jsx(MembersTable, { members: access.members, onUpdateRole: updateMemberRole, onRemove: removeMember, readonly: isReadonly }) })] }) }), _jsxs("div", { className: "flex flex-col gap-4 min-h-0", children: [!isReadonly && (_jsx(SettingsCard, { title: "Access Control", children: _jsxs("div", { className: "divide-y divide-white/[0.05]", children: [_jsx(SettingRow, { icon: Globe, title: "Public Access", description: "Allow link access", children: _jsx(ToggleSwitch, { enabled: access.publicAccess, onChange: (v) => updateAccess({ publicAccess: v }) }) }), _jsx(SettingRow, { icon: Globe, title: "Guest Viewing", description: "Unauth guests can view", children: _jsx(ToggleSwitch, { enabled: access.allowGuestViewing, onChange: (v) => updateAccess({ allowGuestViewing: v }) }) })] }) })), access.pendingInvites.length > 0 && (_jsx(SettingsCard, { title: "Pending Invites", children: _jsx("div", { className: "space-y-2", children: access.pendingInvites.map((invite) => (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded-md bg-[#161618]", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-[11px] text-white/60 truncate", children: invite.email }), _jsxs("div", { className: "text-[9px] text-white/25", children: ["Expires ", new Date(invite.expiresAt).toLocaleDateString()] })] }), _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: invite.role }), _jsx("button", { className: "text-white/30 hover:text-red-400/70 transition-colors", children: _jsx(X, { className: "w-3 h-3" }) })] })] }, invite.id))) }) }))] })] }));
30
+ }
31
+ //# sourceMappingURL=AccessMembersSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessMembersSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/AccessMembersSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ /**
3
+ * The permission rules a user chose to remember, and their ability to take them
4
+ * back (ADE spec §10b.0).
5
+ *
6
+ * These rules are host-owned, persist to disk and accumulate. Until this panel
7
+ * existed they could be created and never seen again — a one-way door, and a
8
+ * standing grant nobody could audit.
9
+ *
10
+ * It reads through the host client rather than any local cache, so what is
11
+ * displayed is what the ACP adapter actually decides against. A settings screen
12
+ * that showed a second, drifting copy of the policy would be worse than none:
13
+ * it would let a user believe they had revoked something they had not.
14
+ */
15
+ export interface AgentPermissionRuleRow {
16
+ id: string;
17
+ decision: 'allow' | 'deny';
18
+ toolKind?: string;
19
+ pathPrefix?: string;
20
+ createdAt?: number;
21
+ }
22
+ /** Human-readable scope. Exported for test, and deliberately never "everything". */
23
+ export declare function describeRuleScope(rule: AgentPermissionRuleRow): string;
24
+ export declare function AgentPermissionRulesPanel(): React.ReactElement;
25
+ //# sourceMappingURL=AgentPermissionRulesPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentPermissionRulesPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/AgentPermissionRulesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAI/D;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAMtE;AAED,wBAAgB,yBAAyB,IAAI,KAAK,CAAC,YAAY,CAoF9D"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useCallback, useEffect, useState } from 'react';
3
+ import { ShieldCheck, ShieldX, Trash2 } from 'lucide-react';
4
+ import { getAgentPlatformBridge } from '../../../../platformBridge';
5
+ /** Human-readable scope. Exported for test, and deliberately never "everything". */
6
+ export function describeRuleScope(rule) {
7
+ const kind = rule.toolKind ? `${rule.toolKind} operations` : 'any operation';
8
+ // "any path" rather than a blank: an unscoped rule is the BROADEST kind, and
9
+ // showing nothing where the scope should be reads as the narrowest.
10
+ const where = rule.pathPrefix ? `under ${rule.pathPrefix}` : 'at any path';
11
+ return `${kind} ${where}`;
12
+ }
13
+ export function AgentPermissionRulesPanel() {
14
+ const [rules, setRules] = useState([]);
15
+ const [error, setError] = useState(null);
16
+ const [loading, setLoading] = useState(true);
17
+ const refresh = useCallback(async () => {
18
+ try {
19
+ const bridge = getAgentPlatformBridge()?.agent;
20
+ if (!bridge?.listPermissionRules) {
21
+ setError('This surface cannot reach the host permission policy.');
22
+ setRules([]);
23
+ return;
24
+ }
25
+ const result = await bridge.listPermissionRules();
26
+ if (!result.success) {
27
+ setError(result.error || 'Could not read permission rules.');
28
+ setRules([]);
29
+ return;
30
+ }
31
+ setError(null);
32
+ setRules(result.rules);
33
+ }
34
+ catch (cause) {
35
+ // A failure to READ policy must not render as "no rules": that would tell
36
+ // the user they had granted nothing while standing grants remain in force.
37
+ setError(cause instanceof Error ? cause.message : 'Could not read permission rules.');
38
+ setRules([]);
39
+ }
40
+ finally {
41
+ setLoading(false);
42
+ }
43
+ }, []);
44
+ useEffect(() => { void refresh(); }, [refresh]);
45
+ const revoke = useCallback(async (ruleId) => {
46
+ const bridge = getAgentPlatformBridge()?.agent;
47
+ if (!bridge?.revokePermissionRule)
48
+ return;
49
+ await bridge.revokePermissionRule({ ruleId });
50
+ await refresh();
51
+ }, [refresh]);
52
+ return (_jsx("div", { className: "space-y-1", "data-testid": "agent-permission-rules", children: loading ? (_jsx("div", { className: "text-[10px] text-white/25 px-2 py-3", children: "Loading permission rules\u2026" })) : error ? (_jsx("div", { className: "text-[10px] text-white/50 px-2 py-3", children: error })) : rules.length === 0 ? (_jsxs("div", { className: "text-center py-8", children: [_jsx(ShieldCheck, { className: "w-6 h-6 text-white/10 mx-auto mb-2" }), _jsx("p", { className: "text-[10px] text-white/25", children: "No remembered permissions" }), _jsx("p", { className: "text-[9px] text-white/15 mt-1", children: "Choosing \u201Calways\u201D on an agent permission prompt records a rule here" })] })) : (rules.map((rule) => (_jsxs("div", { className: "flex items-center justify-between gap-2 py-2 px-2 hover:bg-white/[0.02]", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [rule.decision === 'allow'
53
+ ? _jsx(ShieldCheck, { className: "w-3.5 h-3.5 text-white/40 shrink-0" })
54
+ : _jsx(ShieldX, { className: "w-3.5 h-3.5 text-white/40 shrink-0" }), _jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "text-[11px] text-white/70 truncate", children: [rule.decision === 'allow' ? 'Always allow' : 'Always deny', " ", describeRuleScope(rule)] }), _jsx("div", { className: "text-[9px] text-white/30 truncate", children: rule.id })] })] }), _jsx("button", { type: "button", "aria-label": `Revoke rule ${rule.id}`, onClick: () => { void revoke(rule.id); }, className: "shrink-0 p-1 text-white/40 hover:text-white/80", children: _jsx(Trash2, { className: "w-3.5 h-3.5" }) })] }, rule.id)))) }));
55
+ }
56
+ //# sourceMappingURL=AgentPermissionRulesPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentPermissionRulesPanel.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/AgentPermissionRulesPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function DangerZoneSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=DangerZoneSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DangerZoneSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DangerZoneSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,wBAAgB,iBAAiB,6BAoGhC"}
@@ -0,0 +1,19 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import React, { useState } from 'react';
3
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
4
+ import { SettingsCard } from '../shared/SettingsCard';
5
+ export function DangerZoneSection() {
6
+ const settings = useEntitySettingsStore(s => s.settings);
7
+ const archiveEntity = useEntitySettingsStore(s => s.archiveEntity);
8
+ const deleteEntity = useEntitySettingsStore(s => s.deleteEntity);
9
+ const [showArchiveConfirm, setShowArchiveConfirm] = useState(false);
10
+ const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);
11
+ const [showTransferConfirm, setShowTransferConfirm] = useState(false);
12
+ const [deleteInput, setDeleteInput] = useState('');
13
+ if (!settings)
14
+ return null;
15
+ const { entityType, entityName, dangerZone } = settings;
16
+ const typeLabel = entityType.charAt(0).toUpperCase() + entityType.slice(1);
17
+ return (_jsxs("div", { className: "h-full min-h-0 grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4 items-start", children: [dangerZone.canArchive && (_jsx(SettingsCard, { title: `Archive ${typeLabel}`, variant: "danger", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("p", { className: "text-[11px] text-white/50", children: ["Make this ", entityType, " read-only. All agents will be paused. This can be reversed."] }), !showArchiveConfirm ? (_jsxs("button", { onClick: () => setShowArchiveConfirm(true), className: "w-full py-2 border border-red-500/30 text-red-400/70 text-[11px] font-medium rounded-md hover:bg-red-500/10 hover:text-red-400 transition-colors", children: ["Archive ", typeLabel] })) : (_jsxs("div", { className: "flex gap-2", children: [_jsx("button", { onClick: () => setShowArchiveConfirm(false), className: "flex-1 py-2 bg-[#222224] text-white/60 text-[11px] rounded-md hover:bg-[#2a2a2d] transition-colors", children: "Cancel" }), _jsx("button", { onClick: () => { archiveEntity(); setShowArchiveConfirm(false); }, className: "flex-1 py-2 bg-red-500/20 text-red-400 text-[11px] rounded-md hover:bg-red-500/30 transition-colors", children: "Confirm" })] }))] }) })), dangerZone.canTransferOwnership && (_jsx(SettingsCard, { title: "Transfer Ownership", variant: "danger", children: _jsxs("div", { className: "space-y-3", children: [_jsx("p", { className: "text-[11px] text-white/50", children: "Transfer to another member. You will become an admin." }), !showTransferConfirm ? (_jsx("button", { onClick: () => setShowTransferConfirm(true), className: "w-full py-2 border border-red-500/30 text-red-400/70 text-[11px] font-medium rounded-md hover:bg-red-500/10 hover:text-red-400 transition-colors", children: "Transfer Ownership" })) : (_jsxs("div", { className: "space-y-2", children: [_jsx("select", { className: "w-full px-2 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white/60 focus:outline-none", children: settings.access.members.filter(m => m.role !== 'owner').map(m => (_jsx("option", { value: m.id, children: m.name }, m.id))) }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { onClick: () => setShowTransferConfirm(false), className: "flex-1 py-2 bg-[#222224] text-white/60 text-[11px] rounded-md hover:bg-[#2a2a2d] transition-colors", children: "Cancel" }), _jsx("button", { className: "flex-1 py-2 bg-red-500/20 text-red-400 text-[11px] rounded-md hover:bg-red-500/30 transition-colors", children: "Confirm" })] })] }))] }) })), dangerZone.canDelete && (_jsx(SettingsCard, { title: `Delete ${typeLabel}`, variant: "danger", children: _jsxs("div", { className: "space-y-3", children: [_jsxs("p", { className: "text-[11px] text-white/50", children: ["Permanently delete this ", entityType, " and all data. Cannot be undone."] }), !showDeleteConfirm ? (_jsxs("button", { onClick: () => setShowDeleteConfirm(true), className: "w-full py-2 border border-red-500/30 text-red-400/70 text-[11px] font-medium rounded-md hover:bg-red-500/10 hover:text-red-400 transition-colors", children: ["Delete ", typeLabel] })) : (_jsxs("div", { className: "space-y-2", children: [_jsxs("p", { className: "text-[10px] text-red-400/60", children: ["Type ", _jsx("span", { className: "font-mono text-red-400/80", children: entityName }), " to confirm:"] }), _jsx("input", { type: "text", value: deleteInput, onChange: (e) => setDeleteInput(e.target.value), placeholder: entityName, className: "w-full px-2 py-1.5 bg-[#2b2b2b] border border-red-500/20 rounded text-[12px] text-white placeholder-white/20 focus:outline-none focus:border-red-500/40" }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { onClick: () => { setShowDeleteConfirm(false); setDeleteInput(''); }, className: "flex-1 py-2 bg-[#222224] text-white/60 text-[11px] rounded-md hover:bg-[#2a2a2d] transition-colors", children: "Cancel" }), _jsx("button", { onClick: () => deleteEntity(), disabled: deleteInput !== entityName, className: `flex-1 py-2 text-[11px] rounded-md transition-colors ${deleteInput === entityName ? 'bg-red-500/20 text-red-400 hover:bg-red-500/30' : 'bg-red-500/10 text-red-400/30 cursor-not-allowed'}`, children: "Delete" })] })] }))] }) }))] }));
18
+ }
19
+ //# sourceMappingURL=DangerZoneSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DangerZoneSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DangerZoneSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function DefaultAgentConfigSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=DefaultAgentConfigSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultAgentConfigSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DefaultAgentConfigSection.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAc3D,wBAAgB,yBAAyB,6BA4HxC"}
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getAgentPlatformBridge } from '../../../../platformBridge';
3
+ import React, { useState, useEffect, useMemo } from 'react';
4
+ import { Terminal, FileText, FilePen, AppWindow, Globe, Code, Image, BarChart3, Search } from 'lucide-react';
5
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
6
+ import { SettingsCard } from '../shared/SettingsCard';
7
+ import { ToggleSwitch } from '../shared/ToggleSwitch';
8
+ import { cloudModelName, cloudModelSortScore } from '../../../../utils/cloudModels';
9
+ const FALLBACK_DEFAULT_MODEL_OPTIONS = [{ id: 'claude-sonnet-4-6', name: 'Claude Sonnet 4.6' }];
10
+ export function DefaultAgentConfigSection() {
11
+ const settings = useEntitySettingsStore(s => s.settings);
12
+ const updateDefaultAgentConfig = useEntitySettingsStore(s => s.updateDefaultAgentConfig);
13
+ const [cloudModels, setCloudModels] = useState([]);
14
+ const [modelSearch, setModelSearch] = useState('');
15
+ useEffect(() => {
16
+ getAgentPlatformBridge()?.llm?.models?.()
17
+ .then((result) => {
18
+ if (!result?.success)
19
+ return;
20
+ setCloudModels(result.models
21
+ .map((m) => ({ id: m.id, name: cloudModelName(m.id) }))
22
+ .sort((a, b) => {
23
+ const score = cloudModelSortScore(a.id) - cloudModelSortScore(b.id);
24
+ return score || a.name.localeCompare(b.name);
25
+ }));
26
+ })
27
+ .catch(() => { });
28
+ }, []);
29
+ const allModels = cloudModels.length > 0 ? cloudModels : FALLBACK_DEFAULT_MODEL_OPTIONS;
30
+ const models = useMemo(() => {
31
+ if (!modelSearch.trim())
32
+ return allModels;
33
+ const q = modelSearch.toLowerCase();
34
+ return allModels.filter(m => m.name.toLowerCase().includes(q) || m.id.toLowerCase().includes(q));
35
+ }, [allModels, modelSearch]);
36
+ if (!settings || !settings.defaultAgentConfig)
37
+ return null;
38
+ const config = settings.defaultAgentConfig;
39
+ const handleToggleTool = (tool) => {
40
+ const enabled = config.enabledTools.includes(tool);
41
+ const newTools = enabled
42
+ ? config.enabledTools.filter(t => t !== tool)
43
+ : [...config.enabledTools, tool];
44
+ updateDefaultAgentConfig({ enabledTools: newTools });
45
+ };
46
+ return (_jsx("div", { className: "h-full min-h-0 overflow-y-auto", children: _jsxs("div", { className: "grid grid-cols-1 lg:grid-cols-[220px_minmax(0,1fr)] xl:grid-cols-[220px_minmax(0,1fr)_220px] gap-3", children: [_jsxs(SettingsCard, { title: "Default Model", className: "flex flex-col min-h-0 max-h-[320px]", children: [_jsxs("div", { className: "relative mb-2", children: [_jsx(Search, { className: "absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-white/20" }), _jsx("input", { type: "text", value: modelSearch, onChange: (e) => setModelSearch(e.target.value), placeholder: "Search models...", className: "w-full pl-7 pr-2 py-1.5 bg-black/30 border border-white/[0.08] rounded text-[10px] text-white placeholder-white/20 focus:outline-none focus:border-white/[0.15]" })] }), _jsx("div", { className: "flex-1 min-h-0 overflow-y-auto space-y-1", children: models.length === 0 ? (_jsx("div", { className: "text-center py-3 text-[10px] text-white/25", children: "No models match" })) : (models.map((model) => {
47
+ const isSelected = config.defaultModel === model.id;
48
+ return (_jsxs("button", { onClick: () => updateDefaultAgentConfig({ defaultModel: model.id }), className: `w-full px-3 py-1.5 rounded-md border text-left transition-all flex items-center justify-between ${isSelected
49
+ ? 'border-white/15 bg-white/[0.05]'
50
+ : 'border-transparent hover:bg-white/[0.03]'}`, children: [_jsx("span", { className: `text-[11px] ${isSelected ? 'text-white' : 'text-white/50'}`, children: model.name }), _jsx("div", { className: `w-3 h-3 rounded-full border flex items-center justify-center flex-shrink-0 ${isSelected ? 'border-white bg-white' : 'border-white/20'}`, children: isSelected && _jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-black" }) })] }, model.id));
51
+ })) })] }), _jsx(SettingsCard, { title: "System Instructions", className: "flex flex-col min-h-0", children: _jsx("textarea", { value: config.systemInstructions, onChange: (e) => updateDefaultAgentConfig({ systemInstructions: e.target.value }), placeholder: "You are a helpful AI assistant...", className: "min-h-[120px] w-full px-2.5 py-2 bg-black/30 border border-white/[0.08] rounded text-white text-[11px] placeholder-white/20 focus:outline-none focus:border-white/[0.15] transition-colors resize-y font-mono" }) }), _jsx(SettingsCard, { title: "Capabilities", className: "flex flex-col min-h-0", children: _jsx("div", { className: "flex-1 min-h-0 overflow-auto space-y-0.5", children: [
52
+ { id: 'terminal', label: 'Terminal', icon: Terminal },
53
+ { id: 'file-read', label: 'File Read', icon: FileText },
54
+ { id: 'file-write', label: 'File Write', icon: FilePen },
55
+ { id: 'app-launch', label: 'App Launch', icon: AppWindow },
56
+ { id: 'web-search', label: 'Web Search', icon: Globe },
57
+ { id: 'code-execution', label: 'Code Execution', icon: Code },
58
+ { id: 'image-generation', label: 'Image Generation', icon: Image },
59
+ { id: 'data-analysis', label: 'Data Analysis', icon: BarChart3 },
60
+ ].map((tool) => {
61
+ const enabled = config.enabledTools.includes(tool.id);
62
+ const Icon = tool.icon;
63
+ return (_jsxs("div", { className: "flex items-center justify-between py-1.5 px-2 rounded hover:bg-white/[0.02]", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Icon, { className: "w-3 h-3 text-white/30" }), _jsx("span", { className: "text-[11px] text-white/70", children: tool.label })] }), _jsx(ToggleSwitch, { enabled: enabled, onChange: () => handleToggleTool(tool.id) })] }, tool.id));
64
+ }) }) })] }) }));
65
+ }
66
+ //# sourceMappingURL=DefaultAgentConfigSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultAgentConfigSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/DefaultAgentConfigSection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function EnvironmentSecretsSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=EnvironmentSecretsSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentSecretsSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/EnvironmentSecretsSection.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAMlD,wBAAgB,yBAAyB,6BAwPxC"}
@@ -0,0 +1,87 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getAgentPlatformBridge } from '../../../../platformBridge';
3
+ import React, { useState, useEffect } from 'react';
4
+ import { Plus, Trash2, Eye, EyeOff, Pencil, Key, Check, Lock, Save } from 'lucide-react';
5
+ import { useEntitySettingsStore } from '../../../../stores/entitySettingsStore';
6
+ import { SettingsCard } from '../shared/SettingsCard';
7
+ import { CheckboxField } from '../shared/CheckboxField';
8
+ export function EnvironmentSecretsSection() {
9
+ const settings = useEntitySettingsStore(s => s.settings);
10
+ const addEnvironmentVariable = useEntitySettingsStore(s => s.addEnvironmentVariable);
11
+ const updateEnvironmentVariable = useEntitySettingsStore(s => s.updateEnvironmentVariable);
12
+ const deleteEnvironmentVariable = useEntitySettingsStore(s => s.deleteEnvironmentVariable);
13
+ const [showAdd, setShowAdd] = useState(false);
14
+ const [newKey, setNewKey] = useState('');
15
+ const [newValue, setNewValue] = useState('');
16
+ const [newIsSecret, setNewIsSecret] = useState(false);
17
+ // Local API keys from app settings
18
+ const [braveKey, setBraveKey] = useState('');
19
+ const [braveKeyLocked, setBraveKeyLocked] = useState(false);
20
+ const [braveKeyDirty, setBraveKeyDirty] = useState(false);
21
+ const [showBraveKey, setShowBraveKey] = useState(false);
22
+ useEffect(() => {
23
+ getAgentPlatformBridge()?.settings?.get?.().then((s) => {
24
+ if (s?.braveApiKey) {
25
+ setBraveKey(s.braveApiKey);
26
+ setBraveKeyLocked(true);
27
+ }
28
+ }).catch(() => { });
29
+ }, []);
30
+ const saveBraveKey = () => {
31
+ getAgentPlatformBridge()?.settings?.set?.({ braveApiKey: braveKey }).then(() => {
32
+ setBraveKeyLocked(true);
33
+ setBraveKeyDirty(false);
34
+ setShowBraveKey(false);
35
+ }).catch(() => { });
36
+ };
37
+ const editBraveKey = () => {
38
+ setBraveKeyLocked(false);
39
+ setShowBraveKey(true);
40
+ };
41
+ const clearBraveKey = () => {
42
+ setBraveKey('');
43
+ setBraveKeyLocked(false);
44
+ setBraveKeyDirty(false);
45
+ setShowBraveKey(false);
46
+ getAgentPlatformBridge()?.settings?.set?.({ braveApiKey: '' });
47
+ };
48
+ const [revealedIds, setRevealedIds] = useState(new Set());
49
+ const [editingId, setEditingId] = useState(null);
50
+ const [editValue, setEditValue] = useState('');
51
+ if (!settings)
52
+ return null;
53
+ const { environment } = settings;
54
+ const handleAdd = () => {
55
+ if (!newKey.trim())
56
+ return;
57
+ addEnvironmentVariable({ key: newKey.trim(), value: newValue, isSecret: newIsSecret });
58
+ setNewKey('');
59
+ setNewValue('');
60
+ setNewIsSecret(false);
61
+ setShowAdd(false);
62
+ };
63
+ const toggleReveal = (id) => {
64
+ setRevealedIds(prev => {
65
+ const next = new Set(prev);
66
+ if (next.has(id))
67
+ next.delete(id);
68
+ else
69
+ next.add(id);
70
+ return next;
71
+ });
72
+ };
73
+ return (_jsxs("div", { className: "h-full min-h-0 flex flex-col gap-3 overflow-y-auto", children: [_jsx(SettingsCard, { title: "Local API Keys", children: _jsx("div", { className: "space-y-3", children: _jsxs("div", { children: [_jsxs("label", { className: "flex items-center gap-1.5 text-[10px] text-white/30 mb-1", children: [_jsx(Key, { className: "w-3 h-3" }), "Brave Search API Key"] }), _jsxs("div", { className: "flex gap-1.5", children: [_jsxs("div", { className: "flex-1 relative", children: [_jsx("input", { type: showBraveKey ? 'text' : 'password', value: braveKey, onChange: (e) => { setBraveKey(e.target.value); setBraveKeyDirty(true); }, placeholder: "BSA-...", disabled: braveKeyLocked, className: `w-full px-2.5 py-1.5 pr-8 bg-[#2b2b2b] border rounded text-[11px] font-mono focus:outline-none transition-colors ${braveKeyLocked
74
+ ? 'border-white/[0.05] text-white/25 cursor-not-allowed'
75
+ : 'border-white/[0.08] text-white focus:border-white/[0.15]'}` }), !braveKeyLocked && (_jsx("button", { onClick: () => setShowBraveKey(v => !v), className: "absolute right-2 top-1/2 -translate-y-1/2 text-white/20 hover:text-white/40", children: showBraveKey ? _jsx(EyeOff, { className: "w-3 h-3" }) : _jsx(Eye, { className: "w-3 h-3" }) })), braveKeyLocked && (_jsx(Lock, { className: "absolute right-2 top-1/2 -translate-y-1/2 w-3 h-3 text-white/15" }))] }), braveKeyLocked ? (_jsx("button", { onClick: editBraveKey, className: "w-7 h-7 flex items-center justify-center rounded bg-[#222224] hover:bg-[#2a2a2d] text-white/30 hover:text-white/60 transition-colors", title: "Edit key", children: _jsx(Pencil, { className: "w-3 h-3" }) })) : (_jsx("button", { onClick: saveBraveKey, disabled: !braveKey.trim(), className: "w-7 h-7 flex items-center justify-center rounded bg-[#222224] hover:bg-[#2a2a2d] text-white/30 hover:text-white/60 transition-colors disabled:opacity-20", title: "Save key", children: _jsx(Save, { className: "w-3 h-3" }) })), _jsx("button", { onClick: clearBraveKey, className: "w-7 h-7 flex items-center justify-center rounded bg-[#222224] hover:bg-[#2a2a2d] text-white/20 hover:text-red-400/60 transition-colors", title: "Clear key", children: _jsx(Trash2, { className: "w-3 h-3" }) })] }), _jsx("p", { className: "text-[9px] text-white/15 mt-1", children: "Used for local web search. Get a free key at search.brave.com/api" })] }) }) }), _jsx(SettingsCard, { title: "Environment Variables", className: "flex-1 flex flex-col min-h-0", headerRight: _jsxs("button", { onClick: () => setShowAdd(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 flex-col", children: [showAdd && (_jsxs("div", { className: "p-2.5 rounded-md bg-[#18181b] border border-[#27272a] mb-3", children: [_jsxs("div", { className: "flex flex-col sm:flex-row gap-2 mb-2", children: [_jsx("input", { type: "text", value: newKey, onChange: (e) => setNewKey(e.target.value.toUpperCase()), placeholder: "VARIABLE_NAME", className: "flex-1 px-2 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white font-mono focus:outline-none" }), _jsx("input", { type: "text", value: newValue, onChange: (e) => setNewValue(e.target.value), placeholder: "value", className: "flex-1 px-2 py-1.5 bg-[#2b2b2b] border border-[#27272a] rounded text-[11px] text-white focus:outline-none" })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx(CheckboxField, { checked: newIsSecret, onChange: setNewIsSecret, label: "Secret", labelClassName: "text-[10px] text-white/50" }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { onClick: () => setShowAdd(false), className: "px-2 py-1 text-white/40 text-[10px]", children: "Cancel" }), _jsx("button", { onClick: handleAdd, className: "px-3 py-1 bg-[#252525] text-white/70 text-[10px] rounded hover:bg-[#333336]", children: "Add" })] })] })] })), _jsx("div", { className: "flex-1 min-h-0 overflow-auto", children: _jsxs("div", { className: "min-w-[560px]", children: [_jsxs("div", { className: "grid grid-cols-[180px,1fr,80px] 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: "Key" }), _jsx("span", { children: "Value" }), _jsx("span", {})] }), environment.variables.length === 0 ? (_jsx("div", { className: "text-center py-6 text-[11px] text-white/30", children: "No environment variables configured" })) : (environment.variables.map((variable) => (_jsxs("div", { className: "grid grid-cols-[180px,1fr,80px] gap-2 items-center py-2 px-3 rounded hover:bg-[#1E1E1E] group", children: [_jsx("span", { className: "text-[11px] text-white/70 font-mono truncate", children: variable.key }), editingId === variable.id ? (_jsx("div", { className: "flex items-center gap-1", children: _jsx("input", { type: "text", value: editValue, onChange: (e) => setEditValue(e.target.value), className: "flex-1 px-2 py-1 bg-[#2b2b2b] border border-white/[0.10] rounded text-[11px] text-white font-mono focus:outline-none", autoFocus: true, onKeyDown: (e) => {
76
+ if (e.key === 'Enter') {
77
+ updateEnvironmentVariable(variable.id, { value: editValue });
78
+ setEditingId(null);
79
+ }
80
+ if (e.key === 'Escape')
81
+ setEditingId(null);
82
+ } }) })) : (_jsx("span", { className: "text-[11px] text-white/40 font-mono truncate", children: variable.isSecret && !revealedIds.has(variable.id) ? '********' : variable.value })), _jsxs("div", { className: "flex items-center justify-end gap-1", children: [variable.isSecret && (_jsx("button", { onClick: () => toggleReveal(variable.id), className: "text-white/20 hover:text-white/50", children: revealedIds.has(variable.id) ? _jsx(EyeOff, { className: "w-3 h-3" }) : _jsx(Eye, { className: "w-3 h-3" }) })), _jsx("button", { onClick: () => {
83
+ setEditingId(variable.id);
84
+ setEditValue(variable.isSecret ? '' : variable.value);
85
+ }, className: "opacity-0 group-hover:opacity-100 text-white/20 hover:text-white/50", children: _jsx(Pencil, { className: "w-3 h-3" }) }), _jsx("button", { onClick: () => deleteEnvironmentVariable(variable.id), className: "opacity-0 group-hover:opacity-100 text-white/20 hover:text-red-400/70", children: _jsx(Trash2, { className: "w-3 h-3" }) })] })] }, variable.id))))] }) })] }) })] }));
86
+ }
87
+ //# sourceMappingURL=EnvironmentSecretsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnvironmentSecretsSection.js","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/EnvironmentSecretsSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,MAAM,UAAU,yBAAyB;IACvC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;IACpF,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAA;IAC1F,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAA;IAC1F,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAErD,mCAAmC;IACnC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,sBAAsB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAA0B,EAAE,EAAE;YAC9E,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;gBACnB,WAAW,CAAC,CAAC,CAAC,WAAqB,CAAC,CAAA;gBACpC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,sBAAsB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7E,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACvB,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACvB,eAAe,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpB,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACxB,eAAe,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,WAAW,CAAC,EAAE,CAAC,CAAA;QACf,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACxB,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACvB,eAAe,CAAC,KAAK,CAAC,CAAA;QACtB,sBAAsB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;IAChE,CAAC,CAAA;IACD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAc,IAAI,GAAG,EAAE,CAAC,CAAA;IACtE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAE9C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAA;IAEhC,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAAE,OAAM;QAC1B,sBAAsB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;QACtF,SAAS,CAAC,EAAE,CAAC,CAAA;QACb,WAAW,CAAC,EAAE,CAAC,CAAA;QACf,cAAc,CAAC,KAAK,CAAC,CAAA;QACrB,UAAU,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;QAClC,cAAc,CAAC,IAAI,CAAC,EAAE;YACpB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;;gBAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACjB,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAC,oDAAoD,aAEjE,KAAC,YAAY,IAAC,KAAK,EAAC,gBAAgB,YAClC,cAAK,SAAS,EAAC,WAAW,YACxB,0BACE,iBAAO,SAAS,EAAC,0DAA0D,aACzE,KAAC,GAAG,IAAC,SAAS,EAAC,SAAS,GAAG,4BAErB,EACR,eAAK,SAAS,EAAC,cAAc,aAC3B,eAAK,SAAS,EAAC,iBAAiB,aAC9B,gBACE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EACxC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,EACxE,WAAW,EAAC,SAAS,EACrB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,oHACT,cAAc;oDACZ,CAAC,CAAC,sDAAsD;oDACxD,CAAC,CAAC,0DACN,EAAE,GACF,EACD,CAAC,cAAc,IAAI,CAClB,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACvC,SAAS,EAAC,6EAA6E,YAEtF,YAAY,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAC,GAAG,IAAC,SAAS,EAAC,SAAS,GAAG,GACrE,CACV,EACA,cAAc,IAAI,CACjB,KAAC,IAAI,IAAC,SAAS,EAAC,iEAAiE,GAAG,CACrF,IACG,EACL,cAAc,CAAC,CAAC,CAAC,CAChB,iBACE,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,sIAAsI,EAChJ,KAAK,EAAC,UAAU,YAEhB,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,GACvB,CACV,CAAC,CAAC,CAAC,CACF,iBACE,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAC1B,SAAS,EAAC,0JAA0J,EACpK,KAAK,EAAC,UAAU,YAEhB,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,GACrB,CACV,EACD,iBACE,OAAO,EAAE,aAAa,EACtB,SAAS,EAAC,wIAAwI,EAClJ,KAAK,EAAC,WAAW,YAEjB,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,GACvB,IACL,EACN,YAAG,SAAS,EAAC,+BAA+B,kFAAsE,IAC9G,GACF,GACO,EAGf,KAAC,YAAY,IACX,KAAK,EAAC,uBAAuB,EAC7B,SAAS,EAAC,8BAA8B,EACxC,WAAW,EACT,kBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAC,uEAAuE,aACxH,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,YACrB,YAGX,eAAK,SAAS,EAAC,eAAe,aAC3B,OAAO,IAAI,CACV,eAAK,SAAS,EAAC,4DAA4D,aACzE,eAAK,SAAS,EAAC,sCAAsC,aACnD,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EACxD,WAAW,EAAC,eAAe,EAC3B,SAAS,EAAC,qHAAqH,GAC/H,EACF,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5C,WAAW,EAAC,OAAO,EACnB,SAAS,EAAC,2GAA2G,GACrH,IACE,EACN,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,aAAa,IACZ,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAC,QAAQ,EACd,cAAc,EAAC,2BAA2B,GAC1C,EACF,eAAK,SAAS,EAAC,YAAY,aACzB,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAC,qCAAqC,uBAAgB,EACzG,iBAAQ,OAAO,EAAE,SAAS,EAAE,SAAS,EAAC,6EAA6E,oBAAa,IAC5H,IACF,IACF,CACP,EAED,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAK,SAAS,EAAC,eAAe,aAC5B,eAAK,SAAS,EAAC,kIAAkI,aAC/I,iCAAgB,EAChB,mCAAkB,EAClB,gBAAa,IACT,EAEL,WAAW,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpC,cAAK,SAAS,EAAC,4CAA4C,oDAA0C,CACtG,CAAC,CAAC,CAAC,CACF,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACtC,eAAuB,SAAS,EAAC,+FAA+F,aAC9H,eAAM,SAAS,EAAC,8CAA8C,YAAE,QAAQ,CAAC,GAAG,GAAQ,EACnF,SAAS,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAC3B,cAAK,SAAS,EAAC,yBAAyB,YACtC,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC7C,SAAS,EAAC,sHAAsH,EAChI,SAAS,QACT,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;wDACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;4DACtB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;4DAC5D,YAAY,CAAC,IAAI,CAAC,CAAA;wDACpB,CAAC;wDACD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;4DAAE,YAAY,CAAC,IAAI,CAAC,CAAA;oDAC5C,CAAC,GACD,GACE,CACP,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,8CAA8C,YAC3D,QAAQ,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAC5E,CACR,EACD,eAAK,SAAS,EAAC,qCAAqC,aACjD,QAAQ,CAAC,QAAQ,IAAI,CACpB,iBAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,EAAC,mCAAmC,YAC5F,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAC,GAAG,IAAC,SAAS,EAAC,SAAS,GAAG,GACrF,CACV,EACD,iBACE,OAAO,EAAE,GAAG,EAAE;4DACZ,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;4DACzB,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;wDACvD,CAAC,EACD,SAAS,EAAC,qEAAqE,YAE/E,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,GACvB,EACT,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,EACrD,SAAS,EAAC,uEAAuE,YAEjF,KAAC,MAAM,IAAC,SAAS,EAAC,SAAS,GAAG,GACvB,IACL,KA7CE,QAAQ,CAAC,EAAE,CA8Cf,CACP,CAAC,CACH,IACG,GACF,IACF,GACO,IACX,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function ExportBackupSection(): React.JSX.Element | null;
3
+ //# sourceMappingURL=ExportBackupSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportBackupSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/agent/settings/sections/ExportBackupSection.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,wBAAgB,mBAAmB,6BAkGlC"}