@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,572 @@
1
+ import { getAgentPlatformBridge } from '../platformBridge';
2
+ import { create } from 'zustand';
3
+ import { cloudModelName } from '../utils/cloudModels';
4
+ const THINKING_MODEL_PATTERNS = /claude|deepseek-r1|deepseek-reasoner|qwq|o1|o3|o4|gpt-5/i;
5
+ const NON_LLM_PATTERNS = /embed|tts|whisper|dall-e|moderation|audio|image|vision|rerank|search/i;
6
+ const STORAGE_KEY_MODEL = 'xeno.xenochat.defaultModel';
7
+ const DEFAULT_MODEL = 'claude-sonnet-4-6';
8
+ let saveTimer = null;
9
+ function modelSupportsThinking(id) {
10
+ return !id.endsWith('-thinking') && THINKING_MODEL_PATTERNS.test(id);
11
+ }
12
+ function isLlmModel(id) {
13
+ return !NON_LLM_PATTERNS.test(id);
14
+ }
15
+ function isLlmLocalModel(name, family) {
16
+ return !NON_LLM_PATTERNS.test(`${name} ${family || ''}`);
17
+ }
18
+ function generateId() {
19
+ return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
20
+ }
21
+ function generateTitle(content) {
22
+ const clean = content.replace(/\n/g, ' ').slice(0, 30);
23
+ return clean.length < content.length ? `${clean}...` : clean;
24
+ }
25
+ function deriveFinalContentFromThinking(thinking) {
26
+ const trimmed = (thinking || '').trim();
27
+ if (!trimmed)
28
+ return '';
29
+ const markerPatterns = [
30
+ /(?:^|\n)\s*(?:Final(?:\s+Answer|\s+Response)?|Response|Answer)\s*:\s*([\s\S]*)$/i,
31
+ /(?:^|\n)\s*Action\s*:\s*([\s\S]*)$/i
32
+ ];
33
+ for (const pattern of markerPatterns) {
34
+ const match = trimmed.match(pattern);
35
+ const candidate = (match?.[1] || '').trim();
36
+ if (candidate)
37
+ return candidate.length > 2800 ? `${candidate.slice(0, 2800)}\n...[truncated]` : candidate;
38
+ }
39
+ const paragraphs = trimmed.split(/\n{2,}/).map(p => p.trim()).filter(Boolean);
40
+ const fallback = (paragraphs[paragraphs.length - 1] || trimmed).trim();
41
+ return fallback.length > 2800 ? `${fallback.slice(0, 2800)}\n...[truncated]` : fallback;
42
+ }
43
+ function loadDefaultModel() {
44
+ try {
45
+ return localStorage.getItem(STORAGE_KEY_MODEL) || DEFAULT_MODEL;
46
+ }
47
+ catch {
48
+ return DEFAULT_MODEL;
49
+ }
50
+ }
51
+ function persistConversation(conv) {
52
+ getAgentPlatformBridge()?.chatStorage?.saveConversation(conv).catch(() => { });
53
+ }
54
+ function persistConversationDebounced(conv) {
55
+ if (saveTimer)
56
+ clearTimeout(saveTimer);
57
+ saveTimer = setTimeout(() => {
58
+ getAgentPlatformBridge()?.chatStorage?.saveConversation(conv).catch(() => { });
59
+ }, 500);
60
+ }
61
+ function persistDelete(id) {
62
+ getAgentPlatformBridge()?.chatStorage?.deleteConversation(id).catch(() => { });
63
+ }
64
+ function buildSandboxSystemPrompt(runtimes) {
65
+ if (!runtimes)
66
+ return undefined;
67
+ const langs = [];
68
+ if (runtimes.python.available)
69
+ langs.push(`Python ${runtimes.python.version || '3.x'}`);
70
+ if (runtimes.node.available)
71
+ langs.push(`Node.js ${runtimes.node.version || '18.x'}`);
72
+ if (langs.length === 0)
73
+ return undefined;
74
+ return `You have a sandboxed code execution environment with ${langs.join(' and ')}.
75
+
76
+ IMPORTANT: When the user asks you to calculate, analyze, process data, or do anything that involves running code, you MUST execute the code. Use a fenced code block with the \`execute:\` prefix:
77
+
78
+ \`\`\`execute:python
79
+ print("hello")
80
+ \`\`\`
81
+
82
+ \`\`\`execute:javascript
83
+ console.log("hello")
84
+ \`\`\`
85
+
86
+ When you use \`execute:python\` or \`execute:javascript\`, the code runs automatically and you receive stdout, stderr, exit code, and a list of files created.
87
+
88
+ Rules:
89
+ - Run code with execute blocks instead of showing static code snippets
90
+ - Each conversation has its own ephemeral sandbox directory
91
+ - Output one execute block at a time, then wait for results before continuing
92
+ - After receiving results, summarize the key findings without repeating the raw output verbatim`;
93
+ }
94
+ async function fetchLocalRuntimeModels() {
95
+ if (!getAgentPlatformBridge()?.llm?.localModels)
96
+ return [];
97
+ try {
98
+ const result = await getAgentPlatformBridge().llm.localModels();
99
+ if (!result.success)
100
+ return [];
101
+ return result.models
102
+ .filter((m) => isLlmLocalModel(m.name, m.family))
103
+ .map((m) => ({
104
+ id: m.id,
105
+ name: m.name,
106
+ provider: 'local',
107
+ parameterSize: m.parameterSize,
108
+ family: m.family,
109
+ supportsThinking: modelSupportsThinking(m.id) || modelSupportsThinking(m.name)
110
+ }));
111
+ }
112
+ catch {
113
+ return [];
114
+ }
115
+ }
116
+ export const useXenoChatStore = create((set, get) => ({
117
+ conversations: {},
118
+ activeConversationId: null,
119
+ activeRequestId: null,
120
+ defaultModel: loadDefaultModel(),
121
+ availableModels: [],
122
+ modelsLoading: false,
123
+ modelsError: null,
124
+ runtimes: null,
125
+ isExecutingCode: false,
126
+ serverConnected: false,
127
+ creatingConversation: false,
128
+ setServerConnected: (connected) => set({ serverConnected: connected }),
129
+ loadLocalConversations: async () => {
130
+ if (!getAgentPlatformBridge()?.chatStorage)
131
+ return;
132
+ try {
133
+ const result = await getAgentPlatformBridge().chatStorage.loadConversations();
134
+ if (!result.success || result.conversations.length === 0)
135
+ return;
136
+ const conversations = {};
137
+ for (const raw of result.conversations) {
138
+ const conv = raw;
139
+ if (!conv.id || !conv.messages)
140
+ continue;
141
+ conversations[conv.id] = {
142
+ ...conv,
143
+ messages: conv.messages.map(m => ({
144
+ ...m,
145
+ isStreaming: false,
146
+ isThinking: false
147
+ }))
148
+ };
149
+ }
150
+ set({ conversations });
151
+ }
152
+ catch {
153
+ // Start empty if persistence fails.
154
+ }
155
+ },
156
+ createConversation: (model) => {
157
+ const id = generateId();
158
+ const conv = {
159
+ id,
160
+ messages: [],
161
+ title: 'New chat',
162
+ model: model || get().defaultModel,
163
+ createdAt: Date.now(),
164
+ lastMessageAt: Date.now()
165
+ };
166
+ set(state => ({
167
+ conversations: { ...state.conversations, [id]: conv }
168
+ }));
169
+ persistConversation(conv);
170
+ return id;
171
+ },
172
+ setActiveConversation: (id) => set({ activeConversationId: id }),
173
+ deleteConversation: (id) => {
174
+ const { activeConversationId, activeRequestId } = get();
175
+ if (activeConversationId === id && activeRequestId && getAgentPlatformBridge()?.llm) {
176
+ getAgentPlatformBridge().llm.abort(activeRequestId);
177
+ }
178
+ if (getAgentPlatformBridge()?.sandbox) {
179
+ getAgentPlatformBridge().sandbox.cleanup({ conversationId: id }).catch(() => { });
180
+ }
181
+ persistDelete(id);
182
+ set(state => {
183
+ const next = { ...state.conversations };
184
+ delete next[id];
185
+ const isActive = state.activeConversationId === id;
186
+ return {
187
+ conversations: next,
188
+ activeConversationId: isActive ? null : state.activeConversationId,
189
+ activeRequestId: isActive ? null : state.activeRequestId
190
+ };
191
+ });
192
+ },
193
+ renameConversation: (id, title) => {
194
+ const trimmed = title.trim();
195
+ if (!trimmed)
196
+ return;
197
+ set(state => {
198
+ const conv = state.conversations[id];
199
+ if (!conv)
200
+ return state;
201
+ const updated = { ...conv, title: trimmed };
202
+ persistConversation(updated);
203
+ return {
204
+ conversations: { ...state.conversations, [id]: updated }
205
+ };
206
+ });
207
+ },
208
+ sendMessage: (conversationId, content, options) => {
209
+ const enableThinking = options?.enableThinking ?? false;
210
+ const requestId = generateId();
211
+ const conv = get().conversations[conversationId];
212
+ const model = conv?.model || get().defaultModel;
213
+ const userMsg = {
214
+ id: generateId(),
215
+ role: 'user',
216
+ content,
217
+ timestamp: Date.now()
218
+ };
219
+ const assistantMsg = {
220
+ id: requestId,
221
+ role: 'assistant',
222
+ content: '',
223
+ showThinking: enableThinking,
224
+ thinking: '',
225
+ timestamp: Date.now(),
226
+ isStreaming: true,
227
+ isThinking: enableThinking
228
+ };
229
+ set(state => {
230
+ const existing = state.conversations[conversationId];
231
+ const existingMsgs = existing?.messages || [];
232
+ const isFirstUser = existingMsgs.filter(m => m.role === 'user').length === 0;
233
+ return {
234
+ conversations: {
235
+ ...state.conversations,
236
+ [conversationId]: {
237
+ id: conversationId,
238
+ messages: [...existingMsgs, userMsg, assistantMsg],
239
+ title: isFirstUser ? generateTitle(content) : (existing?.title || 'New chat'),
240
+ model,
241
+ createdAt: existing?.createdAt || Date.now(),
242
+ lastMessageAt: Date.now()
243
+ }
244
+ },
245
+ activeRequestId: requestId,
246
+ activeConversationId: conversationId
247
+ };
248
+ });
249
+ const updated = get().conversations[conversationId];
250
+ if (updated)
251
+ persistConversation(updated);
252
+ const history = (updated?.messages || [])
253
+ .filter(m => !m.isStreaming)
254
+ .map(m => ({ role: m.role, content: m.content }));
255
+ if (getAgentPlatformBridge()?.llm) {
256
+ const systemPrompt = buildSandboxSystemPrompt(get().runtimes);
257
+ void getAgentPlatformBridge().llm.chat({
258
+ requestId,
259
+ model,
260
+ messages: history,
261
+ think: enableThinking,
262
+ ...(systemPrompt ? { system: systemPrompt } : {})
263
+ });
264
+ }
265
+ else {
266
+ get().setStreamError(requestId, 'LLM bridge not available. Restart the app.');
267
+ }
268
+ },
269
+ appendChunk: (requestId, content, thinking) => {
270
+ set(state => {
271
+ const conversationId = state.activeConversationId;
272
+ if (!conversationId)
273
+ return state;
274
+ const conv = state.conversations[conversationId];
275
+ if (!conv)
276
+ return state;
277
+ const updated = {
278
+ ...conv,
279
+ messages: conv.messages.map(m => {
280
+ if (m.id !== requestId)
281
+ return m;
282
+ const stillThinking = m.showThinking === false ? false : (!content && m.isThinking);
283
+ return {
284
+ ...m,
285
+ content: m.content + content,
286
+ thinking: (m.thinking || '') + thinking,
287
+ isThinking: stillThinking
288
+ };
289
+ }),
290
+ lastMessageAt: Date.now()
291
+ };
292
+ persistConversationDebounced(updated);
293
+ return {
294
+ conversations: { ...state.conversations, [conversationId]: updated }
295
+ };
296
+ });
297
+ },
298
+ finalizeStream: (requestId) => {
299
+ set(state => {
300
+ const conversationId = state.activeConversationId;
301
+ if (!conversationId)
302
+ return state;
303
+ const conv = state.conversations[conversationId];
304
+ if (!conv)
305
+ return state;
306
+ const updated = {
307
+ ...conv,
308
+ messages: conv.messages.map(m => m.id === requestId
309
+ ? {
310
+ ...m,
311
+ isStreaming: false,
312
+ isThinking: false,
313
+ content: m.content.trim()
314
+ ? m.content
315
+ : (m.thinking?.trim() ? deriveFinalContentFromThinking(m.thinking) : m.content)
316
+ }
317
+ : m)
318
+ };
319
+ persistConversation(updated);
320
+ return {
321
+ conversations: { ...state.conversations, [conversationId]: updated },
322
+ activeRequestId: null
323
+ };
324
+ });
325
+ },
326
+ setStreamError: (requestId, error) => {
327
+ set(state => {
328
+ const conversationId = state.activeConversationId;
329
+ if (!conversationId)
330
+ return state;
331
+ const conv = state.conversations[conversationId];
332
+ if (!conv)
333
+ return state;
334
+ const updated = {
335
+ ...conv,
336
+ messages: conv.messages.map(m => m.id === requestId
337
+ ? { ...m, isStreaming: false, isThinking: false, error, content: m.content || error }
338
+ : m)
339
+ };
340
+ persistConversation(updated);
341
+ return {
342
+ conversations: { ...state.conversations, [conversationId]: updated },
343
+ activeRequestId: null
344
+ };
345
+ });
346
+ },
347
+ abort: () => {
348
+ const { activeRequestId, activeConversationId, isExecutingCode } = get();
349
+ if (activeRequestId && getAgentPlatformBridge()?.llm) {
350
+ void getAgentPlatformBridge().llm.abort(activeRequestId);
351
+ }
352
+ if (isExecutingCode && activeConversationId && getAgentPlatformBridge()?.sandbox) {
353
+ void getAgentPlatformBridge().sandbox.abort({ conversationId: activeConversationId });
354
+ set({ isExecutingCode: false });
355
+ }
356
+ },
357
+ setDefaultModel: (modelId) => {
358
+ try {
359
+ localStorage.setItem(STORAGE_KEY_MODEL, modelId);
360
+ }
361
+ catch { /* noop */ }
362
+ set({ defaultModel: modelId });
363
+ },
364
+ setConversationModel: (conversationId, modelId) => {
365
+ set(state => {
366
+ const conv = state.conversations[conversationId];
367
+ if (!conv)
368
+ return state;
369
+ const updated = { ...conv, model: modelId };
370
+ persistConversation(updated);
371
+ return {
372
+ conversations: { ...state.conversations, [conversationId]: updated }
373
+ };
374
+ });
375
+ },
376
+ fetchModels: async () => {
377
+ if (!getAgentPlatformBridge()?.llm) {
378
+ set({ modelsError: 'LLM bridge not available' });
379
+ return;
380
+ }
381
+ set({ modelsLoading: true, modelsError: null });
382
+ try {
383
+ const [cloudResult, localModels] = await Promise.all([
384
+ getAgentPlatformBridge().llm.models().catch(() => ({ success: false, models: [], error: 'Failed to load cloud models' })),
385
+ fetchLocalRuntimeModels()
386
+ ]);
387
+ const models = [];
388
+ if (cloudResult.success) {
389
+ for (const m of cloudResult.models) {
390
+ if (!isLlmModel(m.id))
391
+ continue;
392
+ models.push({
393
+ id: m.id,
394
+ name: cloudModelName(m.id),
395
+ provider: 'cloud',
396
+ supportsThinking: modelSupportsThinking(m.id)
397
+ });
398
+ }
399
+ }
400
+ models.push(...localModels);
401
+ set({
402
+ availableModels: models,
403
+ modelsLoading: false,
404
+ modelsError: cloudResult.success || localModels.length > 0 ? null : (cloudResult.error || 'No models available')
405
+ });
406
+ }
407
+ catch (err) {
408
+ set({ modelsError: String(err), modelsLoading: false });
409
+ }
410
+ },
411
+ detectRuntimes: async () => {
412
+ if (!getAgentPlatformBridge()?.sandbox)
413
+ return;
414
+ try {
415
+ const runtimes = await getAgentPlatformBridge().sandbox.detectRuntimes();
416
+ set({ runtimes });
417
+ }
418
+ catch (err) {
419
+ console.warn('[XenoChat] Failed to detect runtimes:', err);
420
+ }
421
+ },
422
+ updateCodeExecution: (messageId, executionId, updates) => {
423
+ set(state => {
424
+ const convId = state.activeConversationId;
425
+ if (!convId)
426
+ return state;
427
+ const conv = state.conversations[convId];
428
+ if (!conv)
429
+ return state;
430
+ const updated = {
431
+ ...conv,
432
+ messages: conv.messages.map(m => {
433
+ if (m.id !== messageId || !m.codeExecutions)
434
+ return m;
435
+ return {
436
+ ...m,
437
+ codeExecutions: m.codeExecutions.map(ex => ex.id === executionId ? { ...ex, ...updates } : ex)
438
+ };
439
+ })
440
+ };
441
+ persistConversation(updated);
442
+ return {
443
+ conversations: {
444
+ ...state.conversations,
445
+ [convId]: updated
446
+ }
447
+ };
448
+ });
449
+ },
450
+ executeCodeBlock: async (conversationId, messageId, execution) => {
451
+ if (!getAgentPlatformBridge()?.sandbox)
452
+ return;
453
+ const { updateCodeExecution } = get();
454
+ updateCodeExecution(messageId, execution.id, { status: 'running' });
455
+ set({ isExecutingCode: true });
456
+ try {
457
+ const result = await getAgentPlatformBridge().sandbox.execute({
458
+ conversationId,
459
+ language: execution.language,
460
+ code: execution.code
461
+ });
462
+ updateCodeExecution(messageId, execution.id, {
463
+ status: result.error ? 'error' : 'completed',
464
+ stdout: result.stdout,
465
+ stderr: result.stderr,
466
+ exitCode: result.exitCode,
467
+ durationMs: result.durationMs,
468
+ files: result.files,
469
+ error: result.error || undefined
470
+ });
471
+ let resultContent = '[Code execution result]\n';
472
+ resultContent += `Exit code: ${result.exitCode ?? 'N/A'}\n`;
473
+ resultContent += `Duration: ${result.durationMs}ms\n`;
474
+ if (result.stdout)
475
+ resultContent += `\nStdout:\n${result.stdout}\n`;
476
+ if (result.stderr)
477
+ resultContent += `\nStderr:\n${result.stderr}\n`;
478
+ if (result.error)
479
+ resultContent += `\nError: ${result.error}\n`;
480
+ if (result.files.length > 0)
481
+ resultContent += `\nFiles in sandbox: ${result.files.join(', ')}\n`;
482
+ set({ isExecutingCode: false });
483
+ const updatedConv = get().conversations[conversationId];
484
+ if (updatedConv)
485
+ persistConversation(updatedConv);
486
+ get().sendFollowup(conversationId, resultContent);
487
+ }
488
+ catch (err) {
489
+ updateCodeExecution(messageId, execution.id, {
490
+ status: 'error',
491
+ error: err instanceof Error ? err.message : String(err)
492
+ });
493
+ set({ isExecutingCode: false });
494
+ }
495
+ },
496
+ sendFollowup: (conversationId, resultContent) => {
497
+ const conv = get().conversations[conversationId];
498
+ if (!conv)
499
+ return;
500
+ const model = conv.model || get().defaultModel;
501
+ const requestId = generateId();
502
+ const assistantMsg = {
503
+ id: requestId,
504
+ role: 'assistant',
505
+ content: '',
506
+ timestamp: Date.now(),
507
+ isStreaming: true
508
+ };
509
+ set(state => {
510
+ const existing = state.conversations[conversationId];
511
+ if (!existing)
512
+ return state;
513
+ const updated = {
514
+ ...existing,
515
+ messages: [...existing.messages, assistantMsg],
516
+ lastMessageAt: Date.now()
517
+ };
518
+ persistConversation(updated);
519
+ return {
520
+ conversations: {
521
+ ...state.conversations,
522
+ [conversationId]: updated
523
+ },
524
+ activeRequestId: requestId,
525
+ activeConversationId: conversationId
526
+ };
527
+ });
528
+ const updated = get().conversations[conversationId];
529
+ const history = (updated?.messages || [])
530
+ .filter(m => !m.isStreaming)
531
+ .map(m => ({ role: m.role, content: m.content }));
532
+ history.push({ role: 'user', content: resultContent });
533
+ if (getAgentPlatformBridge()?.llm) {
534
+ const systemPrompt = buildSandboxSystemPrompt(get().runtimes);
535
+ void getAgentPlatformBridge().llm.chat({
536
+ requestId,
537
+ model,
538
+ messages: history,
539
+ ...(systemPrompt ? { system: systemPrompt } : {})
540
+ });
541
+ }
542
+ else {
543
+ get().setStreamError(requestId, 'LLM bridge not available. Restart the app.');
544
+ }
545
+ }
546
+ }));
547
+ export function setupXenoChatListeners() {
548
+ if (!getAgentPlatformBridge()?.llm) {
549
+ console.warn('[XenoChat] LLM bridge not available, listeners not registered');
550
+ return () => { };
551
+ }
552
+ getAgentPlatformBridge().llm.onChatChunk((data) => {
553
+ if (data.done) {
554
+ useXenoChatStore.getState().finalizeStream(data.requestId);
555
+ }
556
+ else if (data.content || data.thinking) {
557
+ useXenoChatStore.getState().appendChunk(data.requestId, data.content || '', data.thinking || '');
558
+ }
559
+ });
560
+ getAgentPlatformBridge().llm.onChatError((data) => {
561
+ useXenoChatStore.getState().setStreamError(data.requestId, data.error);
562
+ });
563
+ return () => {
564
+ const { activeRequestId } = useXenoChatStore.getState();
565
+ if (activeRequestId && getAgentPlatformBridge()?.llm) {
566
+ void getAgentPlatformBridge().llm.abort(activeRequestId);
567
+ }
568
+ getAgentPlatformBridge().llm.offChatChunk();
569
+ getAgentPlatformBridge().llm.offChatError();
570
+ };
571
+ }
572
+ //# sourceMappingURL=xenoChatStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xenoChatStore.js","sourceRoot":"","sources":["../../src/stores/xenoChatStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * A tool call, as a card wants to render it.
3
+ *
4
+ * A projection kept out of the component that renders it, for the reason
5
+ * `core/reviewProjection` states: the rule is about what a surface may show,
6
+ * and it must not depend on someone remembering it while writing JSX.
7
+ *
8
+ * @unwired-by-design This is a PUBLIC export of `@xenosystem/agent-interface-ui`
9
+ * (`src/index.ts` re-exports it), so `find-unwired-modules.mjs` flags it for the
10
+ * expected reason: a library export has no in-repo caller by definition.
11
+ *
12
+ * 🔴 It is deliberately NOT adopted by `AgentView`, and that is worth stating
13
+ * rather than leaving as an accident. AgentView's own tool card predates this and
14
+ * renders MORE than this models — risk level, working directory, and a
15
+ * `hidesDurationMetadata` rule. Swapping it in would LOSE information, so
16
+ * adopting this would be a downgrade, not a cleanup. It stays as the projection
17
+ * a consumer shell can build on; the app keeps the richer one.
18
+ *
19
+ * Delete this marker if either becomes true: AgentView's card is reduced to this
20
+ * shape, or this grows to cover what AgentView shows and the app adopts it.
21
+ */
22
+ import type { AgentProjectedToolCall } from '@xenosystem/agent-interface-core';
23
+ export interface AgentToolCardViewModel {
24
+ id: string;
25
+ toolLabel: string;
26
+ preview: string;
27
+ output: string;
28
+ status: AgentProjectedToolCall['status'];
29
+ statusLabel: string;
30
+ durationLabel: string | null;
31
+ }
32
+ export declare function createAgentToolCardViewModel(tool: AgentProjectedToolCall): AgentToolCardViewModel;
33
+ //# sourceMappingURL=toolCardProjection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolCardProjection.d.ts","sourceRoot":"","sources":["../src/toolCardProjection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAE9E,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,sBAAsB,GAAG,sBAAsB,CAUjG"}