@xenosystem/agent-interface-ui 0.1.25 → 0.1.26

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 (380) hide show
  1. package/dist/adapters/agentHostPlatformBridge.d.ts.map +1 -1
  2. package/dist/adapters/agentHostPlatformBridge.js +96 -16
  3. package/dist/adapters/agentHostPlatformBridge.js.map +1 -1
  4. package/dist/adapters/hubAgentPlatformBridge.d.ts.map +1 -1
  5. package/dist/adapters/hubAgentPlatformBridge.js +2 -0
  6. package/dist/adapters/hubAgentPlatformBridge.js.map +1 -1
  7. package/dist/adapters/scopedBackupBridge.d.ts +4 -0
  8. package/dist/adapters/scopedBackupBridge.d.ts.map +1 -0
  9. package/dist/adapters/scopedBackupBridge.js +49 -0
  10. package/dist/adapters/scopedBackupBridge.js.map +1 -0
  11. package/dist/adapters/xenoAgentCompatibilityBridge.d.ts.map +1 -1
  12. package/dist/adapters/xenoAgentCompatibilityBridge.js +9 -1
  13. package/dist/adapters/xenoAgentCompatibilityBridge.js.map +1 -1
  14. package/dist/agent.css +13227 -0
  15. package/dist/components/agent/AgentIdentityGenerator.d.ts +16 -0
  16. package/dist/components/agent/AgentIdentityGenerator.d.ts.map +1 -0
  17. package/dist/components/agent/AgentIdentityGenerator.js +80 -0
  18. package/dist/components/agent/AgentIdentityGenerator.js.map +1 -0
  19. package/dist/components/agent/AgentInterface.d.ts +1 -0
  20. package/dist/components/agent/AgentInterface.d.ts.map +1 -1
  21. package/dist/components/agent/AgentInterface.js +1816 -643
  22. package/dist/components/agent/AgentInterface.js.map +1 -1
  23. package/dist/components/agent/AgentNotificationBanner.d.ts +10 -0
  24. package/dist/components/agent/AgentNotificationBanner.d.ts.map +1 -0
  25. package/dist/components/agent/AgentNotificationBanner.js +28 -0
  26. package/dist/components/agent/AgentNotificationBanner.js.map +1 -0
  27. package/dist/components/agent/AgentOnboarding.d.ts +16 -2
  28. package/dist/components/agent/AgentOnboarding.d.ts.map +1 -1
  29. package/dist/components/agent/AgentOnboarding.js +93 -201
  30. package/dist/components/agent/AgentOnboarding.js.map +1 -1
  31. package/dist/components/agent/AgentView.d.ts.map +1 -1
  32. package/dist/components/agent/AgentView.js +533 -308
  33. package/dist/components/agent/AgentView.js.map +1 -1
  34. package/dist/components/agent/AgentWorkbenchPanel.d.ts +3 -1
  35. package/dist/components/agent/AgentWorkbenchPanel.d.ts.map +1 -1
  36. package/dist/components/agent/AgentWorkbenchPanel.js +3 -2
  37. package/dist/components/agent/AgentWorkbenchPanel.js.map +1 -1
  38. package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts +4 -1
  39. package/dist/components/agent/AgentWorkspaceBrowserPanel.d.ts.map +1 -1
  40. package/dist/components/agent/AgentWorkspaceBrowserPanel.js +23 -195
  41. package/dist/components/agent/AgentWorkspaceBrowserPanel.js.map +1 -1
  42. package/dist/components/agent/AgentsWorkspaceView.d.ts +12 -0
  43. package/dist/components/agent/AgentsWorkspaceView.d.ts.map +1 -0
  44. package/dist/components/agent/AgentsWorkspaceView.js +129 -0
  45. package/dist/components/agent/AgentsWorkspaceView.js.map +1 -0
  46. package/dist/components/agent/DevelopmentCoordinationPanel.d.ts +7 -0
  47. package/dist/components/agent/DevelopmentCoordinationPanel.d.ts.map +1 -1
  48. package/dist/components/agent/DevelopmentCoordinationPanel.js +57 -49
  49. package/dist/components/agent/DevelopmentCoordinationPanel.js.map +1 -1
  50. package/dist/components/agent/KnowledgePanel.d.ts.map +1 -1
  51. package/dist/components/agent/KnowledgePanel.js +17 -67
  52. package/dist/components/agent/KnowledgePanel.js.map +1 -1
  53. package/dist/components/agent/LiveConversationCollaboration.d.ts +27 -0
  54. package/dist/components/agent/LiveConversationCollaboration.d.ts.map +1 -0
  55. package/dist/components/agent/LiveConversationCollaboration.js +127 -0
  56. package/dist/components/agent/LiveConversationCollaboration.js.map +1 -0
  57. package/dist/components/agent/MonacoDiffWorkbenchEditor.d.ts.map +1 -1
  58. package/dist/components/agent/MonacoDiffWorkbenchEditor.js +1 -1
  59. package/dist/components/agent/MonacoDiffWorkbenchEditor.js.map +1 -1
  60. package/dist/components/agent/MonacoWorkbenchEditor.d.ts.map +1 -1
  61. package/dist/components/agent/MonacoWorkbenchEditor.js +3 -3
  62. package/dist/components/agent/MonacoWorkbenchEditor.js.map +1 -1
  63. package/dist/components/agent/OwnedBrowserController.d.ts +55 -0
  64. package/dist/components/agent/OwnedBrowserController.d.ts.map +1 -0
  65. package/dist/components/agent/OwnedBrowserController.js +166 -0
  66. package/dist/components/agent/OwnedBrowserController.js.map +1 -0
  67. package/dist/components/agent/OwnedWorkforceView.d.ts +10 -0
  68. package/dist/components/agent/OwnedWorkforceView.d.ts.map +1 -0
  69. package/dist/components/agent/OwnedWorkforceView.js +256 -0
  70. package/dist/components/agent/OwnedWorkforceView.js.map +1 -0
  71. package/dist/components/agent/PluginManager.d.ts +34 -0
  72. package/dist/components/agent/PluginManager.d.ts.map +1 -1
  73. package/dist/components/agent/PluginManager.js +187 -126
  74. package/dist/components/agent/PluginManager.js.map +1 -1
  75. package/dist/components/agent/ProjectsWorkspaceView.d.ts +14 -0
  76. package/dist/components/agent/ProjectsWorkspaceView.d.ts.map +1 -0
  77. package/dist/components/agent/ProjectsWorkspaceView.js +176 -0
  78. package/dist/components/agent/ProjectsWorkspaceView.js.map +1 -0
  79. package/dist/components/agent/RunReviewPanel.d.ts +8 -13
  80. package/dist/components/agent/RunReviewPanel.d.ts.map +1 -1
  81. package/dist/components/agent/RunReviewPanel.js +120 -106
  82. package/dist/components/agent/RunReviewPanel.js.map +1 -1
  83. package/dist/components/agent/ScheduledWorkspaceView.d.ts +19 -0
  84. package/dist/components/agent/ScheduledWorkspaceView.d.ts.map +1 -0
  85. package/dist/components/agent/ScheduledWorkspaceView.js +150 -0
  86. package/dist/components/agent/ScheduledWorkspaceView.js.map +1 -0
  87. package/dist/components/agent/SdkSessionPanel.d.ts +25 -0
  88. package/dist/components/agent/SdkSessionPanel.d.ts.map +1 -0
  89. package/dist/components/agent/SdkSessionPanel.js +15 -0
  90. package/dist/components/agent/SdkSessionPanel.js.map +1 -0
  91. package/dist/components/agent/SlashCommandAutocomplete.d.ts +12 -0
  92. package/dist/components/agent/SlashCommandAutocomplete.d.ts.map +1 -0
  93. package/dist/components/agent/SlashCommandAutocomplete.js +33 -0
  94. package/dist/components/agent/SlashCommandAutocomplete.js.map +1 -0
  95. package/dist/components/agent/TeamsWorkspaceView.d.ts +12 -0
  96. package/dist/components/agent/TeamsWorkspaceView.d.ts.map +1 -0
  97. package/dist/components/agent/TeamsWorkspaceView.js +127 -0
  98. package/dist/components/agent/TeamsWorkspaceView.js.map +1 -0
  99. package/dist/components/agent/WorkspacePersistenceNotice.d.ts +3 -0
  100. package/dist/components/agent/WorkspacePersistenceNotice.d.ts.map +1 -0
  101. package/dist/components/agent/WorkspacePersistenceNotice.js +23 -0
  102. package/dist/components/agent/WorkspacePersistenceNotice.js.map +1 -0
  103. package/dist/components/agent/acp/AcpAgentConfigForm.d.ts +1 -0
  104. package/dist/components/agent/acp/AcpAgentConfigForm.d.ts.map +1 -1
  105. package/dist/components/agent/acp/AcpAgentConfigForm.js +47 -14
  106. package/dist/components/agent/acp/AcpAgentConfigForm.js.map +1 -1
  107. package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js +1 -1
  108. package/dist/components/agent/acp/AcpAgentDiagnosticsPanel.js.map +1 -1
  109. package/dist/components/agent/acp/AcpAgentManager.d.ts.map +1 -1
  110. package/dist/components/agent/acp/AcpAgentManager.js +18 -18
  111. package/dist/components/agent/acp/AcpAgentManager.js.map +1 -1
  112. package/dist/components/agent/acp/AcpAgentTestResultPanel.js +1 -1
  113. package/dist/components/agent/acp/AcpAgentTestResultPanel.js.map +1 -1
  114. package/dist/components/agent/acp/AcpApprovalPanel.js +2 -2
  115. package/dist/components/agent/acp/AcpApprovalPanel.js.map +1 -1
  116. package/dist/components/agent/acp/AcpCertificationPanel.js +1 -1
  117. package/dist/components/agent/acp/AcpCertificationPanel.js.map +1 -1
  118. package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js +1 -1
  119. package/dist/components/agent/acp/AcpLiveProviderWorkflowPanel.js.map +1 -1
  120. package/dist/components/agent/acp/AcpProviderManagerPanel.js +1 -1
  121. package/dist/components/agent/acp/AcpProviderManagerPanel.js.map +1 -1
  122. package/dist/components/agent/acp/AcpProviderModelsPanel.js +1 -1
  123. package/dist/components/agent/acp/AcpProviderModelsPanel.js.map +1 -1
  124. package/dist/components/agent/acp/AcpSupportBundlePanel.js +1 -1
  125. package/dist/components/agent/acp/AcpSupportBundlePanel.js.map +1 -1
  126. package/dist/components/agent/collaborationWindow.d.ts +11 -0
  127. package/dist/components/agent/collaborationWindow.d.ts.map +1 -0
  128. package/dist/components/agent/collaborationWindow.js +10 -0
  129. package/dist/components/agent/collaborationWindow.js.map +1 -0
  130. package/dist/components/agent/conversationCollaborationAppendJournal.d.ts +25 -0
  131. package/dist/components/agent/conversationCollaborationAppendJournal.d.ts.map +1 -0
  132. package/dist/components/agent/conversationCollaborationAppendJournal.js +118 -0
  133. package/dist/components/agent/conversationCollaborationAppendJournal.js.map +1 -0
  134. package/dist/components/agent/conversationCollaborationController.d.ts +96 -0
  135. package/dist/components/agent/conversationCollaborationController.d.ts.map +1 -0
  136. package/dist/components/agent/conversationCollaborationController.js +597 -0
  137. package/dist/components/agent/conversationCollaborationController.js.map +1 -0
  138. package/dist/components/agent/destructiveConfirmation.d.ts +76 -0
  139. package/dist/components/agent/destructiveConfirmation.d.ts.map +1 -0
  140. package/dist/components/agent/destructiveConfirmation.js +231 -0
  141. package/dist/components/agent/destructiveConfirmation.js.map +1 -0
  142. package/dist/components/agent/developmentCoordinationController.d.ts +43 -0
  143. package/dist/components/agent/developmentCoordinationController.d.ts.map +1 -0
  144. package/dist/components/agent/developmentCoordinationController.js +94 -0
  145. package/dist/components/agent/developmentCoordinationController.js.map +1 -0
  146. package/dist/components/agent/developmentCoordinationProjection.d.ts +24 -0
  147. package/dist/components/agent/developmentCoordinationProjection.d.ts.map +1 -1
  148. package/dist/components/agent/developmentCoordinationProjection.js +34 -5
  149. package/dist/components/agent/developmentCoordinationProjection.js.map +1 -1
  150. package/dist/components/agent/editorOperationAuthority.d.ts +29 -0
  151. package/dist/components/agent/editorOperationAuthority.d.ts.map +1 -0
  152. package/dist/components/agent/editorOperationAuthority.js +73 -0
  153. package/dist/components/agent/editorOperationAuthority.js.map +1 -0
  154. package/dist/components/agent/knowledgePagination.d.ts +7 -0
  155. package/dist/components/agent/knowledgePagination.d.ts.map +1 -0
  156. package/dist/components/agent/knowledgePagination.js +7 -0
  157. package/dist/components/agent/knowledgePagination.js.map +1 -0
  158. package/dist/components/agent/knowledgePanelController.d.ts +32 -0
  159. package/dist/components/agent/knowledgePanelController.d.ts.map +1 -0
  160. package/dist/components/agent/knowledgePanelController.js +119 -0
  161. package/dist/components/agent/knowledgePanelController.js.map +1 -0
  162. package/dist/components/agent/monacoWorkbenchShared.js +1 -1
  163. package/dist/components/agent/onboardingModels.d.ts +31 -0
  164. package/dist/components/agent/onboardingModels.d.ts.map +1 -0
  165. package/dist/components/agent/onboardingModels.js +107 -0
  166. package/dist/components/agent/onboardingModels.js.map +1 -0
  167. package/dist/components/agent/personalConversationScope.d.ts +26 -0
  168. package/dist/components/agent/personalConversationScope.d.ts.map +1 -0
  169. package/dist/components/agent/personalConversationScope.js +43 -0
  170. package/dist/components/agent/personalConversationScope.js.map +1 -0
  171. package/dist/components/agent/reviewRequestScope.d.ts +16 -0
  172. package/dist/components/agent/reviewRequestScope.d.ts.map +1 -0
  173. package/dist/components/agent/reviewRequestScope.js +101 -0
  174. package/dist/components/agent/reviewRequestScope.js.map +1 -0
  175. package/dist/components/agent/scheduleCreationAttempt.d.ts +12 -0
  176. package/dist/components/agent/scheduleCreationAttempt.d.ts.map +1 -0
  177. package/dist/components/agent/scheduleCreationAttempt.js +30 -0
  178. package/dist/components/agent/scheduleCreationAttempt.js.map +1 -0
  179. package/dist/components/agent/settings/EntitySettingsLayout.d.ts +1 -1
  180. package/dist/components/agent/settings/EntitySettingsLayout.d.ts.map +1 -1
  181. package/dist/components/agent/settings/EntitySettingsLayout.js +64 -44
  182. package/dist/components/agent/settings/EntitySettingsLayout.js.map +1 -1
  183. package/dist/components/agent/settings/SettingsNavigation.d.ts.map +1 -1
  184. package/dist/components/agent/settings/SettingsNavigation.js +17 -17
  185. package/dist/components/agent/settings/SettingsNavigation.js.map +1 -1
  186. package/dist/components/agent/settings/entityArchiveState.d.ts +24 -0
  187. package/dist/components/agent/settings/entityArchiveState.d.ts.map +1 -0
  188. package/dist/components/agent/settings/entityArchiveState.js +12 -0
  189. package/dist/components/agent/settings/entityArchiveState.js.map +1 -0
  190. package/dist/components/agent/settings/sections/AccessMembersSection.d.ts.map +1 -1
  191. package/dist/components/agent/settings/sections/AccessMembersSection.js +10 -25
  192. package/dist/components/agent/settings/sections/AccessMembersSection.js.map +1 -1
  193. package/dist/components/agent/settings/sections/AccountWorkspacePanel.d.ts +16 -0
  194. package/dist/components/agent/settings/sections/AccountWorkspacePanel.d.ts.map +1 -0
  195. package/dist/components/agent/settings/sections/AccountWorkspacePanel.js +265 -0
  196. package/dist/components/agent/settings/sections/AccountWorkspacePanel.js.map +1 -0
  197. package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.d.ts.map +1 -1
  198. package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js +47 -32
  199. package/dist/components/agent/settings/sections/AgentPermissionRulesPanel.js.map +1 -1
  200. package/dist/components/agent/settings/sections/DangerZoneSection.d.ts.map +1 -1
  201. package/dist/components/agent/settings/sections/DangerZoneSection.js +30 -6
  202. package/dist/components/agent/settings/sections/DangerZoneSection.js.map +1 -1
  203. package/dist/components/agent/settings/sections/DefaultAgentConfigSection.d.ts.map +1 -1
  204. package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js +47 -37
  205. package/dist/components/agent/settings/sections/DefaultAgentConfigSection.js.map +1 -1
  206. package/dist/components/agent/settings/sections/EnvironmentSecretsSection.d.ts.map +1 -1
  207. package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js +30 -43
  208. package/dist/components/agent/settings/sections/EnvironmentSecretsSection.js.map +1 -1
  209. package/dist/components/agent/settings/sections/ExportBackupSection.d.ts +3 -1
  210. package/dist/components/agent/settings/sections/ExportBackupSection.d.ts.map +1 -1
  211. package/dist/components/agent/settings/sections/ExportBackupSection.js +14 -12
  212. package/dist/components/agent/settings/sections/ExportBackupSection.js.map +1 -1
  213. package/dist/components/agent/settings/sections/GeneralSection.d.ts.map +1 -1
  214. package/dist/components/agent/settings/sections/GeneralSection.js +47 -4
  215. package/dist/components/agent/settings/sections/GeneralSection.js.map +1 -1
  216. package/dist/components/agent/settings/sections/IntegrationsSection.d.ts.map +1 -1
  217. package/dist/components/agent/settings/sections/IntegrationsSection.js +14 -21
  218. package/dist/components/agent/settings/sections/IntegrationsSection.js.map +1 -1
  219. package/dist/components/agent/settings/sections/NotificationsSection.d.ts.map +1 -1
  220. package/dist/components/agent/settings/sections/NotificationsSection.js +125 -20
  221. package/dist/components/agent/settings/sections/NotificationsSection.js.map +1 -1
  222. package/dist/components/agent/settings/sections/ResourceLimitsSection.d.ts.map +1 -1
  223. package/dist/components/agent/settings/sections/ResourceLimitsSection.js +7 -7
  224. package/dist/components/agent/settings/sections/ResourceLimitsSection.js.map +1 -1
  225. package/dist/components/agent/settings/sections/SecurityComplianceSection.d.ts.map +1 -1
  226. package/dist/components/agent/settings/sections/SecurityComplianceSection.js +5 -4
  227. package/dist/components/agent/settings/sections/SecurityComplianceSection.js.map +1 -1
  228. package/dist/components/agent/settings/sections/UsageAnalyticsSection.d.ts.map +1 -1
  229. package/dist/components/agent/settings/sections/UsageAnalyticsSection.js +2 -3
  230. package/dist/components/agent/settings/sections/UsageAnalyticsSection.js.map +1 -1
  231. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.d.ts.map +1 -1
  232. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js +39 -26
  233. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js.map +1 -1
  234. package/dist/components/agent/settings/sections/WorkspaceKeysPanel.d.ts +6 -0
  235. package/dist/components/agent/settings/sections/WorkspaceKeysPanel.d.ts.map +1 -0
  236. package/dist/components/agent/settings/sections/WorkspaceKeysPanel.js +205 -0
  237. package/dist/components/agent/settings/sections/WorkspaceKeysPanel.js.map +1 -0
  238. package/dist/components/agent/settings/sections/environmentDraftAction.d.ts +3 -0
  239. package/dist/components/agent/settings/sections/environmentDraftAction.d.ts.map +1 -0
  240. package/dist/components/agent/settings/sections/environmentDraftAction.js +6 -0
  241. package/dist/components/agent/settings/sections/environmentDraftAction.js.map +1 -0
  242. package/dist/components/agent/settings/sections/membershipOperationProjection.d.ts +3 -0
  243. package/dist/components/agent/settings/sections/membershipOperationProjection.d.ts.map +1 -0
  244. package/dist/components/agent/settings/sections/membershipOperationProjection.js +9 -0
  245. package/dist/components/agent/settings/sections/membershipOperationProjection.js.map +1 -0
  246. package/dist/components/agent/settings/sections/workspaceKeyOperationProjection.d.ts +6 -0
  247. package/dist/components/agent/settings/sections/workspaceKeyOperationProjection.d.ts.map +1 -0
  248. package/dist/components/agent/settings/sections/workspaceKeyOperationProjection.js +8 -0
  249. package/dist/components/agent/settings/sections/workspaceKeyOperationProjection.js.map +1 -0
  250. package/dist/components/agent/settings/shared/InAppConfirmationDialog.d.ts +25 -0
  251. package/dist/components/agent/settings/shared/InAppConfirmationDialog.d.ts.map +1 -0
  252. package/dist/components/agent/settings/shared/InAppConfirmationDialog.js +89 -0
  253. package/dist/components/agent/settings/shared/InAppConfirmationDialog.js.map +1 -0
  254. package/dist/components/agent/settings/shared/InputField.d.ts +1 -1
  255. package/dist/components/agent/settings/shared/InputField.d.ts.map +1 -1
  256. package/dist/components/agent/settings/shared/InputField.js +4 -3
  257. package/dist/components/agent/settings/shared/InputField.js.map +1 -1
  258. package/dist/components/agent/settings/shared/MembersTable.d.ts +3 -3
  259. package/dist/components/agent/settings/shared/MembersTable.d.ts.map +1 -1
  260. package/dist/components/agent/settings/shared/MembersTable.js +1 -1
  261. package/dist/components/agent/settings/shared/MembersTable.js.map +1 -1
  262. package/dist/components/agent/settings/shared/ScopedAuditPanel.d.ts +5 -0
  263. package/dist/components/agent/settings/shared/ScopedAuditPanel.d.ts.map +1 -0
  264. package/dist/components/agent/settings/shared/ScopedAuditPanel.js +70 -0
  265. package/dist/components/agent/settings/shared/ScopedAuditPanel.js.map +1 -0
  266. package/dist/components/agent/settings/shared/SettingsCard.d.ts +2 -1
  267. package/dist/components/agent/settings/shared/SettingsCard.d.ts.map +1 -1
  268. package/dist/components/agent/settings/shared/SettingsCard.js +2 -2
  269. package/dist/components/agent/settings/shared/SettingsCard.js.map +1 -1
  270. package/dist/components/agent/settings/shared/ToggleSwitch.d.ts.map +1 -1
  271. package/dist/components/agent/settings/shared/ToggleSwitch.js +1 -1
  272. package/dist/components/agent/settings/shared/ToggleSwitch.js.map +1 -1
  273. package/dist/components/agent/settings/shared/UsageChart.d.ts +10 -0
  274. package/dist/components/agent/settings/shared/UsageChart.d.ts.map +1 -1
  275. package/dist/components/agent/settings/shared/UsageChart.js +16 -10
  276. package/dist/components/agent/settings/shared/UsageChart.js.map +1 -1
  277. package/dist/components/agent/settings/shared/WorkspaceRulesControl.d.ts +8 -0
  278. package/dist/components/agent/settings/shared/WorkspaceRulesControl.d.ts.map +1 -0
  279. package/dist/components/agent/settings/shared/WorkspaceRulesControl.js +26 -0
  280. package/dist/components/agent/settings/shared/WorkspaceRulesControl.js.map +1 -0
  281. package/dist/components/agent/settings/shared/useScopedConfirmation.d.ts +8 -0
  282. package/dist/components/agent/settings/shared/useScopedConfirmation.d.ts.map +1 -0
  283. package/dist/components/agent/settings/shared/useScopedConfirmation.js +53 -0
  284. package/dist/components/agent/settings/shared/useScopedConfirmation.js.map +1 -0
  285. package/dist/components/agent/settings/shared/useSettingsConfirmation.d.ts +8 -0
  286. package/dist/components/agent/settings/shared/useSettingsConfirmation.d.ts.map +1 -0
  287. package/dist/components/agent/settings/shared/useSettingsConfirmation.js +51 -0
  288. package/dist/components/agent/settings/shared/useSettingsConfirmation.js.map +1 -0
  289. package/dist/components/agent/settings/shared/workspaceRulesController.d.ts +28 -0
  290. package/dist/components/agent/settings/shared/workspaceRulesController.d.ts.map +1 -0
  291. package/dist/components/agent/settings/shared/workspaceRulesController.js +82 -0
  292. package/dist/components/agent/settings/shared/workspaceRulesController.js.map +1 -0
  293. package/dist/components/agent/sidebarEntityPins.d.ts +11 -0
  294. package/dist/components/agent/sidebarEntityPins.d.ts.map +1 -0
  295. package/dist/components/agent/sidebarEntityPins.js +37 -0
  296. package/dist/components/agent/sidebarEntityPins.js.map +1 -0
  297. package/dist/components/agent/workspaceHierarchy.d.ts +24 -0
  298. package/dist/components/agent/workspaceHierarchy.d.ts.map +1 -0
  299. package/dist/components/agent/workspaceHierarchy.js +50 -0
  300. package/dist/components/agent/workspaceHierarchy.js.map +1 -0
  301. package/dist/components/product/XenoAgentProductHeader.d.ts +4 -2
  302. package/dist/components/product/XenoAgentProductHeader.d.ts.map +1 -1
  303. package/dist/components/product/XenoAgentProductHeader.js +22 -4
  304. package/dist/components/product/XenoAgentProductHeader.js.map +1 -1
  305. package/dist/components/product/XenoAgentSessionTabs.js +1 -1
  306. package/dist/components/product/XenoAgentSessionTabs.js.map +1 -1
  307. package/dist/components/product/XenoAgentWorkspaceSelector.d.ts +7 -0
  308. package/dist/components/product/XenoAgentWorkspaceSelector.d.ts.map +1 -0
  309. package/dist/components/product/XenoAgentWorkspaceSelector.js +237 -0
  310. package/dist/components/product/XenoAgentWorkspaceSelector.js.map +1 -0
  311. package/dist/components/workspace/WorkspaceCreationWizard.d.ts +6 -0
  312. package/dist/components/workspace/WorkspaceCreationWizard.d.ts.map +1 -0
  313. package/dist/components/workspace/WorkspaceCreationWizard.js +48 -0
  314. package/dist/components/workspace/WorkspaceCreationWizard.js.map +1 -0
  315. package/dist/hooks/useSidebarLayoutPreference.d.ts +29 -0
  316. package/dist/hooks/useSidebarLayoutPreference.d.ts.map +1 -0
  317. package/dist/hooks/useSidebarLayoutPreference.js +83 -0
  318. package/dist/hooks/useSidebarLayoutPreference.js.map +1 -0
  319. package/dist/hooks/useWorkspaceCreation.d.ts +8 -0
  320. package/dist/hooks/useWorkspaceCreation.d.ts.map +1 -0
  321. package/dist/hooks/useWorkspaceCreation.js +40 -0
  322. package/dist/hooks/useWorkspaceCreation.js.map +1 -0
  323. package/dist/index.d.ts +3 -0
  324. package/dist/index.d.ts.map +1 -1
  325. package/dist/index.js +3 -0
  326. package/dist/index.js.map +1 -1
  327. package/dist/platformApiTypes.d.ts +77 -36
  328. package/dist/platformApiTypes.d.ts.map +1 -1
  329. package/dist/platformBridge.d.ts +4 -0
  330. package/dist/platformBridge.d.ts.map +1 -1
  331. package/dist/platformBridge.js +10 -0
  332. package/dist/platformBridge.js.map +1 -1
  333. package/dist/stores/agentChatStore.d.ts +120 -2
  334. package/dist/stores/agentChatStore.d.ts.map +1 -1
  335. package/dist/stores/agentChatStore.js +329 -35
  336. package/dist/stores/agentChatStore.js.map +1 -1
  337. package/dist/stores/agentCreationDefaults.d.ts +25 -0
  338. package/dist/stores/agentCreationDefaults.d.ts.map +1 -0
  339. package/dist/stores/agentCreationDefaults.js +11 -0
  340. package/dist/stores/agentCreationDefaults.js.map +1 -0
  341. package/dist/stores/entitySettingsStore.d.ts +37 -12
  342. package/dist/stores/entitySettingsStore.d.ts.map +1 -1
  343. package/dist/stores/entitySettingsStore.js +558 -585
  344. package/dist/stores/entitySettingsStore.js.map +1 -1
  345. package/dist/stores/suggestionStore.d.ts +9 -2
  346. package/dist/stores/suggestionStore.d.ts.map +1 -1
  347. package/dist/stores/suggestionStore.js +51 -24
  348. package/dist/stores/suggestionStore.js.map +1 -1
  349. package/dist/stores/workspaceCreationAttempt.d.ts +14 -0
  350. package/dist/stores/workspaceCreationAttempt.d.ts.map +1 -0
  351. package/dist/stores/workspaceCreationAttempt.js +35 -0
  352. package/dist/stores/workspaceCreationAttempt.js.map +1 -0
  353. package/dist/stores/workspaceReconciliation.d.ts +6 -0
  354. package/dist/stores/workspaceReconciliation.d.ts.map +1 -0
  355. package/dist/stores/workspaceReconciliation.js +33 -0
  356. package/dist/stores/workspaceReconciliation.js.map +1 -0
  357. package/dist/stores/workspaceStore.d.ts +44 -9
  358. package/dist/stores/workspaceStore.d.ts.map +1 -1
  359. package/dist/stores/workspaceStore.js +238 -99
  360. package/dist/stores/workspaceStore.js.map +1 -1
  361. package/dist/types/agentEditor.d.ts +1 -0
  362. package/dist/types/agentEditor.d.ts.map +1 -1
  363. package/dist/utils/advertisedReasoning.d.ts +25 -0
  364. package/dist/utils/advertisedReasoning.d.ts.map +1 -0
  365. package/dist/utils/advertisedReasoning.js +62 -0
  366. package/dist/utils/advertisedReasoning.js.map +1 -0
  367. package/dist/utils/clipboardCopy.d.ts +4 -0
  368. package/dist/utils/clipboardCopy.d.ts.map +1 -0
  369. package/dist/utils/clipboardCopy.js +27 -0
  370. package/dist/utils/clipboardCopy.js.map +1 -0
  371. package/dist/utils/providerCommandArgs.d.ts +11 -0
  372. package/dist/utils/providerCommandArgs.d.ts.map +1 -0
  373. package/dist/utils/providerCommandArgs.js +18 -0
  374. package/dist/utils/providerCommandArgs.js.map +1 -0
  375. package/dist/utils/rendererTeardown.d.ts +6 -0
  376. package/dist/utils/rendererTeardown.d.ts.map +1 -0
  377. package/dist/utils/rendererTeardown.js +18 -0
  378. package/dist/utils/rendererTeardown.js.map +1 -0
  379. package/package.json +20 -8
  380. package/src/agent.css +39 -9
@@ -10,6 +10,9 @@ function integer(value) {
10
10
  function records(value) {
11
11
  return Array.isArray(value) ? value.map(record).filter((entry) => !!entry) : [];
12
12
  }
13
+ function stringList(value) {
14
+ return Array.isArray(value) ? value.map(text).filter((entry) => !!entry) : [];
15
+ }
13
16
  /** Runtime validation at the UI boundary; persisted state is not trusted JSX input. */
14
17
  export function projectDevelopmentCoordinationState(value) {
15
18
  const state = record(value);
@@ -24,10 +27,19 @@ export function projectDevelopmentCoordinationState(value) {
24
27
  const goals = records(state.goals);
25
28
  const goalRecord = [...goals].reverse().find((candidate) => !['completed', 'failed', 'cancelled'].includes(text(candidate.status) ?? '')) ?? goals.at(-1);
26
29
  const progressRecord = record(goalRecord?.progress);
30
+ const verificationRecord = record(goalRecord?.verification);
31
+ const criterionResults = records(verificationRecord?.criteria);
27
32
  const criteria = records(goalRecord?.successCriteria)
28
- .flatMap((criterion) => {
33
+ .flatMap((criterion, index) => {
29
34
  const description = text(criterion.description);
30
- return description ? [{ description, required: criterion.required !== false }] : [];
35
+ const id = text(criterion.id);
36
+ const result = id ? criterionResults.find((entry) => text(entry.criterionId) === id) : undefined;
37
+ const reason = text(result?.reason);
38
+ const evaluatedAt = text(result?.evaluatedAt);
39
+ return description ? [{ id: id ?? `legacy-${index}`, description, required: criterion.required !== false,
40
+ ...(result && typeof result.satisfied === 'boolean' && reason && evaluatedAt
41
+ ? { result: { satisfied: result.satisfied, reason, evaluatedAt, evidence: stringList(result.evidence) } } : {}),
42
+ }] : [];
31
43
  });
32
44
  const milestones = records(goalRecord?.milestones);
33
45
  const tasks = records(goalRecord?.tasks);
@@ -37,9 +49,6 @@ export function projectDevelopmentCoordinationState(value) {
37
49
  ?? milestones.find((entry) => text(entry.status) === 'active');
38
50
  const taskRecord = tasks.find((entry) => text(entry.id) === currentTaskId)
39
51
  ?? tasks.find((entry) => text(entry.status) === 'running');
40
- const stringList = (input) => Array.isArray(input)
41
- ? input.map(text).filter((entry) => !!entry)
42
- : [];
43
52
  const loops = records(state.loops);
44
53
  const loopRecord = [...loops].reverse().find((candidate) => !['stopped', 'completed', 'failed'].includes(text(candidate.status) ?? '')) ?? loops.at(-1);
45
54
  return {
@@ -64,6 +73,14 @@ export function projectDevelopmentCoordinationState(value) {
64
73
  outstanding: stringList(progressRecord?.outstanding),
65
74
  decisions: stringList(progressRecord?.decisions),
66
75
  criteria,
76
+ verification: {
77
+ status: text(verificationRecord?.status) ?? 'pending',
78
+ satisfied: criteria.filter((criterion) => criterion.result?.satisfied === true).length,
79
+ failed: criteria.filter((criterion) => criterion.result?.satisfied === false).length,
80
+ pending: criteria.filter((criterion) => !criterion.result).length,
81
+ ...(text(verificationRecord?.summary) ? { summary: text(verificationRecord?.summary) } : {}),
82
+ evidence: stringList(verificationRecord?.evidence),
83
+ },
67
84
  },
68
85
  }
69
86
  : {}),
@@ -76,6 +93,18 @@ export function projectDevelopmentCoordinationState(value) {
76
93
  status: text(loopRecord.status),
77
94
  ...(text(loopRecord.currentActivity) ? { activity: text(loopRecord.currentActivity) } : {}),
78
95
  iterations: records(loopRecord.iterations).length,
96
+ history: records(loopRecord.iterations).flatMap((iteration) => {
97
+ const number = integer(iteration.number);
98
+ const status = text(iteration.status);
99
+ const startedAt = text(iteration.startedAt);
100
+ if (number === undefined || number < 1 || !status || !startedAt)
101
+ return [];
102
+ return [{ number, status, startedAt, activity: text(iteration.activity) ?? '',
103
+ ...(text(iteration.completedAt) ? { completedAt: text(iteration.completedAt) } : {}),
104
+ ...(text(iteration.error) ? { error: text(iteration.error) } : {}),
105
+ ...(text(iteration.verificationEventId) ? { verificationEventId: text(iteration.verificationEventId) } : {}),
106
+ }];
107
+ }),
79
108
  },
80
109
  }
81
110
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"developmentCoordinationProjection.js","sourceRoot":"","sources":["../../../src/components/agent/developmentCoordinationProjection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"developmentCoordinationProjection.js","sourceRoot":"","sources":["../../../src/components/agent/developmentCoordinationProjection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { ConversationEditorFile } from '../../types/agentEditor.js';
2
+ import type { AgentWorkspaceFileWriteResult } from '@xenosystem/agent-interface-contract';
3
+ export declare function editorRecoveryFiles(result: AgentWorkspaceFileWriteResult | null | undefined): string;
4
+ /** Only an acknowledged commit may clear a draft. Old bridges have no outcome;
5
+ * their success flag remains supported, but never overrides a typed refusal. */
6
+ export declare function editorSaveFailure(result: AgentWorkspaceFileWriteResult | null | undefined, name: string): string | null;
7
+ /** Older saved sessions have tabs but no mode. Restore their editor, while an
8
+ * explicit Chat/Agent pane choice remains authoritative for newer sessions. */
9
+ export declare function resolveEditorPaneMode(mode: unknown, tabCount: number): 'agent' | 'editor' | 'split';
10
+ /** Guards asynchronous editor results against navigation (including A -> B -> A),
11
+ * close/reopen, and overlapping writes. It does not claim filesystem CAS. */
12
+ export declare class EditorOperationAuthority {
13
+ private scope;
14
+ private generation;
15
+ private incarnations;
16
+ private pending;
17
+ selectScope(scope: string | null): void;
18
+ capture(path: string): () => boolean;
19
+ invalidate(path: string): void;
20
+ beginSave(path: string): {
21
+ current: () => boolean;
22
+ finish: () => void;
23
+ } | undefined;
24
+ isSaving(path?: string): boolean;
25
+ }
26
+ export declare function acknowledgeEditorSave(file: ConversationEditorFile, submittedContent: string, now: number): ConversationEditorFile;
27
+ /** A disk refresh may replace only the unchanged, clean snapshot it started with. */
28
+ export declare function reconcileEditorRefresh(file: ConversationEditorFile, snapshot: ConversationEditorFile, content: string, now: number): ConversationEditorFile;
29
+ //# sourceMappingURL=editorOperationAuthority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorOperationAuthority.d.ts","sourceRoot":"","sources":["../../../src/components/agent/editorOperationAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACxE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAA;AAEzF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,6BAA6B,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGpG;AAED;gFACgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,6BAA6B,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvH;AAED;+EAC+E;AAC/E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAGnG;AAED;6EAC6E;AAC7E,qBAAa,wBAAwB;IACnC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,OAAO,CAAoB;IAEnC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,OAAO;IAMpC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,SAAS;IAenF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;CAGjC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAEjI;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAG3J"}
@@ -0,0 +1,73 @@
1
+ export function editorRecoveryFiles(result) {
2
+ const recovery = [...new Set(result?.recoveryPaths ?? [])].filter(Boolean);
3
+ return recovery.length ? ` Recovery files: ${recovery.join(' ; ')}` : '';
4
+ }
5
+ /** Only an acknowledged commit may clear a draft. Old bridges have no outcome;
6
+ * their success flag remains supported, but never overrides a typed refusal. */
7
+ export function editorSaveFailure(result, name) {
8
+ if (result?.success && (result.outcome === undefined || result.outcome === 'committed'))
9
+ return null;
10
+ const message = result?.outcome === 'uncertain'
11
+ ? `Save outcome is uncertain. ${name}: your draft remains unsaved. Inspect the file and recovery copies before retrying.`
12
+ : result?.error || `Failed to save ${name}. Your draft remains unsaved.`;
13
+ return message + editorRecoveryFiles(result);
14
+ }
15
+ /** Older saved sessions have tabs but no mode. Restore their editor, while an
16
+ * explicit Chat/Agent pane choice remains authoritative for newer sessions. */
17
+ export function resolveEditorPaneMode(mode, tabCount) {
18
+ if (tabCount === 0 || mode === 'agent')
19
+ return 'agent';
20
+ return mode === 'split' ? 'split' : 'editor';
21
+ }
22
+ /** Guards asynchronous editor results against navigation (including A -> B -> A),
23
+ * close/reopen, and overlapping writes. It does not claim filesystem CAS. */
24
+ export class EditorOperationAuthority {
25
+ scope = null;
26
+ generation = 0;
27
+ incarnations = new Map();
28
+ pending = new Set();
29
+ selectScope(scope) {
30
+ if (scope === this.scope)
31
+ return;
32
+ this.scope = scope;
33
+ this.generation++;
34
+ this.incarnations.clear();
35
+ }
36
+ capture(path) {
37
+ const generation = this.generation;
38
+ const incarnation = this.incarnations.get(path) ?? 0;
39
+ return () => generation === this.generation && incarnation === (this.incarnations.get(path) ?? 0);
40
+ }
41
+ invalidate(path) {
42
+ this.incarnations.set(path, (this.incarnations.get(path) ?? 0) + 1);
43
+ }
44
+ beginSave(path) {
45
+ // File writes affect disk even if the user switches conversations. Serialize by
46
+ // path, not by the currently viewed conversation, until the actual ACK arrives.
47
+ const key = path.replace(/\\/g, '/').toLowerCase();
48
+ if (this.pending.has(key))
49
+ return undefined;
50
+ this.pending.add(key);
51
+ let finished = false;
52
+ const current = this.capture(path);
53
+ return { current: () => !finished && current(), finish: () => {
54
+ if (finished)
55
+ return;
56
+ finished = true;
57
+ this.pending.delete(key);
58
+ } };
59
+ }
60
+ isSaving(path) {
61
+ return path === undefined ? this.pending.size > 0 : this.pending.has(path.replace(/\\/g, '/').toLowerCase());
62
+ }
63
+ }
64
+ export function acknowledgeEditorSave(file, submittedContent, now) {
65
+ return { ...file, savedContent: submittedContent, isDirty: file.content !== submittedContent, lastSavedAt: now };
66
+ }
67
+ /** A disk refresh may replace only the unchanged, clean snapshot it started with. */
68
+ export function reconcileEditorRefresh(file, snapshot, content, now) {
69
+ if (snapshot.isDirty || file.isDirty || file.content !== snapshot.content || file.savedContent !== snapshot.savedContent)
70
+ return file;
71
+ return { ...file, content, savedContent: content, isDirty: false, lastSavedAt: now };
72
+ }
73
+ //# sourceMappingURL=editorOperationAuthority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorOperationAuthority.js","sourceRoot":"","sources":["../../../src/components/agent/editorOperationAuthority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const KNOWLEDGE_PAGE_SIZE = 20;
2
+ export declare function pageKnowledgeRows<T>(rows: readonly T[], requestedPage: number): {
3
+ page: number;
4
+ pages: number;
5
+ rows: T[];
6
+ };
7
+ //# sourceMappingURL=knowledgePagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledgePagination.d.ts","sourceRoot":"","sources":["../../../src/components/agent/knowledgePagination.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM;;;;EAI7E"}
@@ -0,0 +1,7 @@
1
+ export const KNOWLEDGE_PAGE_SIZE = 20;
2
+ export function pageKnowledgeRows(rows, requestedPage) {
3
+ const pages = Math.max(1, Math.ceil(rows.length / KNOWLEDGE_PAGE_SIZE));
4
+ const page = Math.min(pages - 1, Math.max(0, Number.isFinite(requestedPage) ? Math.floor(requestedPage) : 0));
5
+ return { page, pages, rows: rows.slice(page * KNOWLEDGE_PAGE_SIZE, (page + 1) * KNOWLEDGE_PAGE_SIZE) };
6
+ }
7
+ //# sourceMappingURL=knowledgePagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledgePagination.js","sourceRoot":"","sources":["../../../src/components/agent/knowledgePagination.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAA;AACrC,MAAM,UAAU,iBAAiB,CAAI,IAAkB,EAAE,aAAqB;IAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAA;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7G,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,mBAAmB,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAA;AACxG,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { type KnowledgeBoard } from '@xenosystem/agent-interface-core';
2
+ import type { XenoAPI } from '../../platformApiTypes.js';
3
+ export interface KnowledgePanelState {
4
+ board: KnowledgeBoard | null;
5
+ available: boolean;
6
+ busy: boolean;
7
+ subject: string;
8
+ fact: string;
9
+ problem: string | null;
10
+ }
11
+ /** One scoped controller per mounted workspace. No optimistic success or cross-scope callbacks. */
12
+ export declare class KnowledgePanelController {
13
+ readonly workspaceId: string;
14
+ private readonly getRunId;
15
+ private readonly bridge;
16
+ private state;
17
+ private readonly listeners;
18
+ private generation;
19
+ constructor(workspaceId: string, getRunId: () => string, bridge: () => XenoAPI['knowledge'] | undefined);
20
+ getSnapshot: () => KnowledgePanelState;
21
+ subscribe: (listener: () => void) => (() => void);
22
+ private set;
23
+ edit(patch: Partial<Pick<KnowledgePanelState, 'subject' | 'fact'>>): void;
24
+ /** Invalidate completions on unmount; already-admitted host writes are not pretended cancelled. */
25
+ invalidate(): void;
26
+ private authority;
27
+ private load;
28
+ refresh(): Promise<void>;
29
+ record(pinned: boolean): Promise<void>;
30
+ forget(entryId: string): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=knowledgePanelController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledgePanelController.d.ts","sourceRoot":"","sources":["../../../src/components/agent/knowledgePanelController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAC7F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAGD,mGAAmG;AACnG,qBAAa,wBAAwB;IAIvB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAgB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH1G,OAAO,CAAC,KAAK,CAA4G;IACzH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,UAAU,CAAI;gBACD,WAAW,EAAE,MAAM,EAAmB,QAAQ,EAAE,MAAM,MAAM,EAAmB,MAAM,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS;IAClJ,WAAW,QAAO,mBAAmB,CAAc;IACnD,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAAsF;IACtI,OAAO,CAAC,GAAG;IACX,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI;IACzE,mGAAmG;IACnG,UAAU,IAAI,IAAI;IAClB,OAAO,CAAC,SAAS;YAKH,IAAI;IAKZ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IASxB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgB7C"}
@@ -0,0 +1,119 @@
1
+ import { projectKnowledgeBoard } from '@xenosystem/agent-interface-core';
2
+ const failure = (error) => error instanceof Error ? error.message.slice(0, 2000) : 'The Agent host could not complete the knowledge request.';
3
+ /** One scoped controller per mounted workspace. No optimistic success or cross-scope callbacks. */
4
+ export class KnowledgePanelController {
5
+ workspaceId;
6
+ getRunId;
7
+ bridge;
8
+ state = { board: null, available: false, busy: false, subject: '', fact: '', problem: null };
9
+ listeners = new Set();
10
+ generation = 0;
11
+ constructor(workspaceId, getRunId, bridge) {
12
+ this.workspaceId = workspaceId;
13
+ this.getRunId = getRunId;
14
+ this.bridge = bridge;
15
+ }
16
+ getSnapshot = () => this.state;
17
+ subscribe = (listener) => { this.listeners.add(listener); return () => { this.listeners.delete(listener); }; };
18
+ set(patch) { this.state = { ...this.state, ...patch }; for (const notify of this.listeners)
19
+ notify(); }
20
+ edit(patch) { this.set(patch); }
21
+ /** Invalidate completions on unmount; already-admitted host writes are not pretended cancelled. */
22
+ invalidate() { this.generation++; this.set({ busy: false }); }
23
+ authority() {
24
+ const api = this.bridge();
25
+ if (!api)
26
+ throw new Error('This surface cannot reach the Agent host.');
27
+ return api;
28
+ }
29
+ async load(api, generation) {
30
+ const result = await api.list({ workspaceId: this.workspaceId });
31
+ if (generation !== this.generation)
32
+ return;
33
+ this.set({ board: projectKnowledgeBoard(result), available: result.available, problem: result.available ? null : result.reason ?? 'Workspace knowledge is unavailable.' });
34
+ }
35
+ async refresh() {
36
+ if (this.state.busy)
37
+ return;
38
+ const generation = ++this.generation;
39
+ this.set({ busy: true, problem: null });
40
+ try {
41
+ await this.load(this.authority(), generation);
42
+ }
43
+ catch (error) {
44
+ if (generation === this.generation)
45
+ this.set({ available: false, board: projectKnowledgeBoard({ available: false, durable: false, entries: [], reason: 'Workspace knowledge could not be loaded.' }), problem: failure(error) });
46
+ }
47
+ finally {
48
+ if (generation === this.generation)
49
+ this.set({ busy: false });
50
+ }
51
+ }
52
+ async record(pinned) {
53
+ if (this.state.busy)
54
+ return;
55
+ const submitted = { subject: this.state.subject, fact: this.state.fact };
56
+ const subject = submitted.subject.trim(), fact = submitted.fact.trim();
57
+ if (!subject || !fact || subject.length > 256 || fact.length > 16384 || /[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/.test(subject + fact)) {
58
+ this.set({ problem: 'Enter a subject (up to 256 characters) and a fact (up to 16,384 characters), without control characters.' });
59
+ return;
60
+ }
61
+ const generation = ++this.generation;
62
+ this.set({ busy: true, problem: null });
63
+ let acknowledged = false;
64
+ try {
65
+ const api = this.authority();
66
+ const result = await api.record({ workspaceId: this.workspaceId, runId: this.getRunId(), subject, fact, ...(pinned ? { pinned: true } : {}) });
67
+ if (generation !== this.generation)
68
+ return;
69
+ if (!result.ok) {
70
+ this.set({ problem: result.reason ?? 'That fact could not be recorded.' });
71
+ return;
72
+ }
73
+ if (!result.entry?.id) {
74
+ this.set({ problem: 'The host did not acknowledge the recorded fact. Refresh before retrying.' });
75
+ return;
76
+ }
77
+ acknowledged = true;
78
+ // Editing during a request must not lose the new draft on an older ACK.
79
+ this.set({ ...(this.state.subject === submitted.subject ? { subject: '' } : {}), ...(this.state.fact === submitted.fact ? { fact: '' } : {}) });
80
+ await this.load(api, generation);
81
+ }
82
+ catch (error) {
83
+ if (generation === this.generation)
84
+ this.set({ problem: `${acknowledged ? 'Fact recorded, but refreshing failed: ' : ''}${failure(error)}` });
85
+ }
86
+ finally {
87
+ if (generation === this.generation)
88
+ this.set({ busy: false });
89
+ }
90
+ }
91
+ async forget(entryId) {
92
+ if (this.state.busy)
93
+ return;
94
+ const generation = ++this.generation;
95
+ this.set({ busy: true, problem: null });
96
+ let acknowledged = false;
97
+ try {
98
+ const api = this.authority();
99
+ const result = await api.forget({ workspaceId: this.workspaceId, entryId });
100
+ if (generation !== this.generation)
101
+ return;
102
+ if (!result.ok) {
103
+ this.set({ problem: result.reason ?? 'That fact could not be forgotten.' });
104
+ return;
105
+ }
106
+ acknowledged = true;
107
+ await this.load(api, generation);
108
+ }
109
+ catch (error) {
110
+ if (generation === this.generation)
111
+ this.set({ problem: `${acknowledged ? 'Fact forgotten, but refreshing failed: ' : ''}${failure(error)}` });
112
+ }
113
+ finally {
114
+ if (generation === this.generation)
115
+ this.set({ busy: false });
116
+ }
117
+ }
118
+ }
119
+ //# sourceMappingURL=knowledgePanelController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledgePanelController.js","sourceRoot":"","sources":["../../../src/components/agent/knowledgePanelController.ts"],"names":[],"mappings":"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"}
@@ -223,4 +223,4 @@ export function SkeletonBlock({ className = '' }) {
223
223
  export function EditorPaneSkeleton({ title, subtitle, }) {
224
224
  return (_jsxs("div", { className: "h-full min-h-0 flex flex-col xeno-app-shell border-t xeno-border-subtle", children: [_jsxs("div", { className: "h-9 flex items-center justify-between gap-4 px-3 border-b xeno-border-subtle xeno-chrome-shell", children: [_jsxs("div", { className: "min-w-0 flex items-center gap-2 flex-1", children: [_jsx(SkeletonBlock, { className: "h-3.5 w-3.5 flex-shrink-0" }), _jsx(SkeletonBlock, { className: "h-3 w-28" }), _jsx("span", { className: "text-white/18", children: "/" }), _jsx(SkeletonBlock, { className: "h-3 w-24" })] }), _jsxs("div", { className: "flex items-center gap-2 flex-shrink-0", children: [_jsx(SkeletonBlock, { className: "h-6 w-16" }), _jsx(SkeletonBlock, { className: "h-6 w-14" })] })] }), _jsxs("div", { className: "flex-1 min-h-0 flex", children: [_jsx("div", { className: "w-12 flex-shrink-0 border-r border-white/[0.04] px-3 py-4 space-y-3", children: Array.from({ length: 12 }).map((_, index) => (_jsx(SkeletonBlock, { className: "h-3 w-full" }, index))) }), _jsxs("div", { className: "flex-1 min-h-0 px-6 py-5", children: [_jsx("p", { className: "text-[10px] uppercase tracking-[0.22em] text-white/30", children: title }), _jsx("p", { className: "mt-1 text-[11px] text-white/22", children: subtitle }), _jsx("div", { className: "mt-6 space-y-3", children: Array.from({ length: 14 }).map((_, index) => (_jsxs("div", { className: "flex items-center gap-4", children: [_jsx(SkeletonBlock, { className: "h-3 w-8 flex-shrink-0" }), _jsx(SkeletonBlock, { className: `${index % 4 === 0 ? 'w-[68%]' : index % 4 === 1 ? 'w-[82%]' : index % 4 === 2 ? 'w-[74%]' : 'w-[58%]'} h-3` })] }, index))) })] })] })] }));
225
225
  }
226
- //# sourceMappingURL=monacoWorkbenchShared.js.map
226
+ //# sourceMappingURL=monacoWorkbenchShared.js.map
@@ -0,0 +1,31 @@
1
+ import type { AgentProviderListResult } from '@xenosystem/agent-interface-contract';
2
+ import type { HubAgentRuntimeSelection } from '../../types/agentRuntimeProvider.js';
3
+ export interface OnboardingModel {
4
+ id: string;
5
+ name: string;
6
+ source: 'cloud' | 'local' | 'acp';
7
+ provider: string;
8
+ acpAgentConfigId?: string;
9
+ contextWindowTokens?: number;
10
+ }
11
+ /** A model ID alone is not a provider identity. Never dispatch these UI keys. */
12
+ export declare function onboardingModelKey(model: OnboardingModel): string;
13
+ export declare function onboardingRuntimeSelection(model: OnboardingModel): HubAgentRuntimeSelection;
14
+ export declare function onboardingAcpModels(catalog: AgentProviderListResult): OnboardingModel[];
15
+ export declare function onboardingCloudModels(catalog: AgentProviderListResult): OnboardingModel[];
16
+ /** Uses the same host catalog as the composer; no static fallback or inferred scores. */
17
+ export declare function useOnboardingModels(): {
18
+ models: OnboardingModel[];
19
+ loading: boolean;
20
+ errors: Partial<Record<"acp" | "local" | "cloud", string>>;
21
+ refresh: (force?: boolean) => Promise<OnboardingModel[]>;
22
+ };
23
+ export declare function validateOnboardingPlacement(workspaces: Array<{
24
+ id: string;
25
+ isArchived?: boolean;
26
+ teams: Array<{
27
+ id: string;
28
+ isArchived?: boolean;
29
+ }>;
30
+ }>, workspace: string, team: string, workspaceName: string, teamName: string): boolean;
31
+ //# sourceMappingURL=onboardingModels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboardingModels.d.ts","sourceRoot":"","sources":["../../../src/components/agent/onboardingModels.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAKnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAGnF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,CAAA;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAEjE;AACD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,eAAe,GAAG,wBAAwB,CAO3F;AACD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,eAAe,EAAE,CAUvF;AAGD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,eAAe,EAAE,CASzF;AAED,yFAAyF;AACzF,wBAAgB,mBAAmB;;;;kCAQkB,OAAO,CAAC,eAAe,EAAE,CAAC;EAuC9E;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK1O"}
@@ -0,0 +1,107 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { loadHubAgentProviderCatalog, refreshHubAgentProviderCatalog, subscribeHubAgentProviderCatalog } from '../../adapters/xenoAgentHostCatalog.js';
3
+ import { projectAdvertisedModels } from '../../utils/advertisedReasoning.js';
4
+ import { isSelectableLiveModel } from '../../utils/modelAvailability.js';
5
+ import { getAuxiliaryInferenceBridge } from '../../platformBridge.js';
6
+ import { availableAcpConfigIds } from '../../utils/providerAvailability.js';
7
+ /** A model ID alone is not a provider identity. Never dispatch these UI keys. */
8
+ export function onboardingModelKey(model) {
9
+ return JSON.stringify([model.source, model.acpAgentConfigId ?? '', model.id]);
10
+ }
11
+ export function onboardingRuntimeSelection(model) {
12
+ if (model.source === 'acp') {
13
+ if (!model.acpAgentConfigId)
14
+ throw new Error('ACP model is missing its provider binding.');
15
+ return { providerKind: 'acp-provider', providerId: model.acpAgentConfigId, acpAgentConfigId: model.acpAgentConfigId,
16
+ providerModel: model.id, selectedAt: Date.now(), selectedBy: 'user' };
17
+ }
18
+ return { providerKind: 'sdk-native', providerId: 'sdk-native', selectedAt: Date.now(), selectedBy: 'user' };
19
+ }
20
+ export function onboardingAcpModels(catalog) {
21
+ const available = availableAcpConfigIds(catalog.providers);
22
+ return catalog.providers.flatMap(provider => {
23
+ const configId = provider.id.startsWith('acp:') ? provider.id.slice(4) : provider.id;
24
+ if (provider.kind !== 'acp' || !available.has(configId))
25
+ return [];
26
+ return projectAdvertisedModels(provider).filter(isSelectableLiveModel).map(model => ({
27
+ id: model.id, name: model.displayName || model.id, source: 'acp',
28
+ provider: provider.displayName, acpAgentConfigId: configId, contextWindowTokens: model.contextWindowTokens,
29
+ }));
30
+ });
31
+ }
32
+ const catalogModels = (catalog) => [...onboardingCloudModels(catalog), ...onboardingAcpModels(catalog)];
33
+ export function onboardingCloudModels(catalog) {
34
+ // Created agents use the SDK-native runner. Hosted relay availability does
35
+ // not establish direct inference credentials for that runner.
36
+ const provider = catalog.providers.find(entry => entry.id === 'sdk-native');
37
+ if (!provider || !isSelectableLiveModel(provider))
38
+ return [];
39
+ return projectAdvertisedModels(provider).filter(model => isSelectableLiveModel(model) && !model.id.startsWith('local:')).map(model => ({
40
+ id: model.id, name: model.displayName || model.id, source: 'cloud',
41
+ provider: provider.displayName, contextWindowTokens: model.contextWindowTokens,
42
+ }));
43
+ }
44
+ /** Uses the same host catalog as the composer; no static fallback or inferred scores. */
45
+ export function useOnboardingModels() {
46
+ const [models, setModels] = useState([]);
47
+ const [loading, setLoading] = useState(true);
48
+ const [errors, setErrors] = useState({});
49
+ const generation = useRef(0);
50
+ const cloudRevision = useRef(0);
51
+ const latestCloud = useRef([]);
52
+ const mounted = useRef(false);
53
+ const refresh = useCallback(async (force = false) => {
54
+ const epoch = ++generation.current;
55
+ const readCloudRevision = cloudRevision.current;
56
+ setLoading(true);
57
+ const [cloud, local] = await Promise.allSettled([
58
+ force ? refreshHubAgentProviderCatalog({ force: true }) : loadHubAgentProviderCatalog(),
59
+ Promise.resolve().then(() => getAuxiliaryInferenceBridge().localModels()),
60
+ ]);
61
+ const nextErrors = {};
62
+ let next = cloud.status === 'fulfilled' ? catalogModels(cloud.value) : [];
63
+ if (cloud.status === 'rejected')
64
+ nextErrors.cloud = 'The live cloud model catalog could not be loaded.';
65
+ else if (!next.some(m => m.source === 'cloud'))
66
+ nextErrors.cloud = cloud.value.providers.find(p => p.id === 'sdk-native')?.safeUnavailableReason || 'No available direct cloud models.';
67
+ if (!next.some(m => m.source === 'acp'))
68
+ nextErrors.acp = 'No available ACP provider models. Enable and approve a provider in Settings, then refresh.';
69
+ if (local.status === 'fulfilled' && local.value.success) {
70
+ next = next.concat(local.value.models.map(m => ({ id: m.id, name: m.name, source: 'local', provider: 'XENO RT' })));
71
+ }
72
+ else
73
+ nextErrors.local = local.status === 'fulfilled' ? local.value.error || 'Local model discovery failed.' : 'Local model discovery failed.';
74
+ if (readCloudRevision !== cloudRevision.current)
75
+ next = [...latestCloud.current, ...next.filter(model => model.source === 'local')];
76
+ if (mounted.current && epoch === generation.current) {
77
+ setModels(previous => readCloudRevision === cloudRevision.current ? next : [...previous.filter(m => m.source !== 'local'), ...next.filter(m => m.source === 'local')]);
78
+ setErrors(previous => readCloudRevision === cloudRevision.current ? nextErrors : { ...nextErrors, cloud: previous.cloud, acp: previous.acp });
79
+ setLoading(false);
80
+ }
81
+ return next;
82
+ }, []);
83
+ useEffect(() => {
84
+ mounted.current = true;
85
+ const unsubscribe = subscribeHubAgentProviderCatalog(catalog => {
86
+ // An incoming invalidation wins over an older in-flight catalog read.
87
+ cloudRevision.current++;
88
+ const cloudModels = catalogModels(catalog);
89
+ latestCloud.current = cloudModels;
90
+ setModels(previous => [...previous.filter(m => m.source === 'local'), ...cloudModels]);
91
+ setErrors(previous => ({ ...previous, cloud: cloudModels.some(m => m.source === 'cloud') ? undefined : 'No available cloud models.',
92
+ acp: cloudModels.some(m => m.source === 'acp') ? undefined : 'No available ACP provider models.' }));
93
+ });
94
+ void refresh();
95
+ return () => { mounted.current = false; generation.current++; unsubscribe(); };
96
+ }, [refresh]);
97
+ return { models, loading, errors, refresh };
98
+ }
99
+ export function validateOnboardingPlacement(workspaces, workspace, team, workspaceName, teamName) {
100
+ if (workspace === 'new')
101
+ return !!workspaceName.trim() && team === 'new' && !!teamName.trim();
102
+ const target = workspaces.find(w => w.id === workspace && !w.isArchived);
103
+ if (!target)
104
+ return false;
105
+ return team === 'new' ? !!teamName.trim() : target.teams.some(t => t.id === team && !t.isArchived);
106
+ }
107
+ //# sourceMappingURL=onboardingModels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboardingModels.js","sourceRoot":"","sources":["../../../src/components/agent/onboardingModels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface ConversationScope {
2
+ schemaVersion?: number;
3
+ agentId?: string;
4
+ workspaceId?: string;
5
+ teamId?: string;
6
+ workspaceMode?: 'unselected' | 'workspace' | 'chat-only';
7
+ rootDirectory?: string;
8
+ grantedDirectories?: string[];
9
+ }
10
+ /** Attaching a root changes execution context, never personal ownership. */
11
+ export declare function isPersonalInboxConversation(value: ConversationScope | undefined, inboxAgentId: string): boolean;
12
+ export declare function personalConversationDefaults(): {
13
+ schemaVersion: 3;
14
+ workspaceMode: "chat-only";
15
+ workspaceId: undefined;
16
+ teamId: undefined;
17
+ rootDirectory: undefined;
18
+ grantedDirectories: string[];
19
+ };
20
+ /** Existing durable scope wins. Launch flags are equality preconditions on a
21
+ * resume, not a request to silently move/reconfigure that conversation. */
22
+ export declare function assertResumeLaunchScope(scope: ConversationScope, launchMode?: 'chat' | 'agent', launchRoot?: string): void;
23
+ /** Only explicit canonical session mode can classify an SDK-only projection.
24
+ * workingDirectory alone may be Chat scratch storage, so it is not a mode. */
25
+ export declare function scopeFromSdkSessionMetadata(value: unknown): ConversationScope;
26
+ //# sourceMappingURL=personalConversationScope.d.ts.map