@xenosystem/agent-interface-ui 0.1.36 → 0.1.37

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 (244) hide show
  1. package/dist/adapters/agentHostPlatformBridge.d.ts.map +1 -1
  2. package/dist/adapters/agentHostPlatformBridge.js +21 -1
  3. package/dist/adapters/agentHostPlatformBridge.js.map +1 -1
  4. package/dist/agent.css +2180 -7
  5. package/dist/components/agent/AgentAuthGate.d.ts +86 -0
  6. package/dist/components/agent/AgentAuthGate.d.ts.map +1 -0
  7. package/dist/components/agent/AgentAuthGate.js +189 -0
  8. package/dist/components/agent/AgentAuthGate.js.map +1 -0
  9. package/dist/components/agent/AgentInterface.d.ts +8 -1
  10. package/dist/components/agent/AgentInterface.d.ts.map +1 -1
  11. package/dist/components/agent/AgentInterface.js +27 -8
  12. package/dist/components/agent/AgentInterface.js.map +1 -1
  13. package/dist/components/agent/settings/sections/AccountWorkspacePanel.d.ts.map +1 -1
  14. package/dist/components/agent/settings/sections/AccountWorkspacePanel.js +37 -6
  15. package/dist/components/agent/settings/sections/AccountWorkspacePanel.js.map +1 -1
  16. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.d.ts.map +1 -1
  17. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js +1 -0
  18. package/dist/components/agent/settings/sections/WorkspaceDirectoryAccessSection.js.map +1 -1
  19. package/dist/components/product/XenoAgentProductHeader.d.ts +2 -1
  20. package/dist/components/product/XenoAgentProductHeader.d.ts.map +1 -1
  21. package/dist/components/product/XenoAgentProductHeader.js +2 -2
  22. package/dist/components/product/XenoAgentProductHeader.js.map +1 -1
  23. package/dist/index.d.ts +10 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +27 -4
  26. package/dist/index.js.map +1 -1
  27. package/dist/stores/workspaceStore.d.ts.map +1 -1
  28. package/dist/stores/workspaceStore.js +1 -0
  29. package/dist/stores/workspaceStore.js.map +1 -1
  30. package/package.json +8 -7
  31. package/src/agent.css +5 -0
  32. package/src/fonts/inter/OFL.txt +92 -0
  33. package/src/fonts/inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2 +0 -0
  34. package/src/fonts/inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2 +0 -0
  35. package/src/fonts/inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2 +0 -0
  36. package/src/fonts/inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2 +0 -0
  37. package/src/fonts/inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2 +0 -0
  38. package/src/fonts/inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2 +0 -0
  39. package/src/fonts/inter/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2 +0 -0
  40. package/src/fonts/inter.css +75 -0
  41. package/dist/adapters/xenoAgentCompatibilityBridge.d.ts +0 -14
  42. package/dist/adapters/xenoAgentCompatibilityBridge.d.ts.map +0 -1
  43. package/dist/adapters/xenoAgentCompatibilityBridge.js +0 -247
  44. package/dist/adapters/xenoAgentCompatibilityBridge.js.map +0 -1
  45. package/dist/adapters/xenoAgentHostCatalog.d.ts +0 -40
  46. package/dist/adapters/xenoAgentHostCatalog.d.ts.map +0 -1
  47. package/dist/adapters/xenoAgentHostCatalog.js +0 -231
  48. package/dist/adapters/xenoAgentHostCatalog.js.map +0 -1
  49. package/dist/components/agent/AIStatusIndicator.d.ts +0 -25
  50. package/dist/components/agent/AIStatusIndicator.d.ts.map +0 -1
  51. package/dist/components/agent/AIStatusIndicator.js +0 -85
  52. package/dist/components/agent/AIStatusIndicator.js.map +0 -1
  53. package/dist/components/agent/AgentNotificationBanner.d.ts +0 -10
  54. package/dist/components/agent/AgentNotificationBanner.d.ts.map +0 -1
  55. package/dist/components/agent/AgentNotificationBanner.js +0 -28
  56. package/dist/components/agent/AgentNotificationBanner.js.map +0 -1
  57. package/dist/components/agent/AgentView.d.ts +0 -185
  58. package/dist/components/agent/AgentView.d.ts.map +0 -1
  59. package/dist/components/agent/AgentView.js +0 -7850
  60. package/dist/components/agent/AgentView.js.map +0 -1
  61. package/dist/components/agent/AssistantTurnStatusNotice.d.ts +0 -16
  62. package/dist/components/agent/AssistantTurnStatusNotice.d.ts.map +0 -1
  63. package/dist/components/agent/AssistantTurnStatusNotice.js +0 -54
  64. package/dist/components/agent/AssistantTurnStatusNotice.js.map +0 -1
  65. package/dist/components/agent/CommandToolCard.d.ts +0 -11
  66. package/dist/components/agent/CommandToolCard.d.ts.map +0 -1
  67. package/dist/components/agent/CommandToolCard.js +0 -29
  68. package/dist/components/agent/CommandToolCard.js.map +0 -1
  69. package/dist/components/agent/GhostTextArea.d.ts +0 -13
  70. package/dist/components/agent/GhostTextArea.d.ts.map +0 -1
  71. package/dist/components/agent/GhostTextArea.js +0 -21
  72. package/dist/components/agent/GhostTextArea.js.map +0 -1
  73. package/dist/components/agent/LiveConversationCollaboration.d.ts +0 -27
  74. package/dist/components/agent/LiveConversationCollaboration.d.ts.map +0 -1
  75. package/dist/components/agent/LiveConversationCollaboration.js +0 -127
  76. package/dist/components/agent/LiveConversationCollaboration.js.map +0 -1
  77. package/dist/components/agent/SdkSessionPanel.d.ts +0 -25
  78. package/dist/components/agent/SdkSessionPanel.d.ts.map +0 -1
  79. package/dist/components/agent/SdkSessionPanel.js +0 -15
  80. package/dist/components/agent/SdkSessionPanel.js.map +0 -1
  81. package/dist/components/agent/SlashCommandAutocomplete.d.ts +0 -12
  82. package/dist/components/agent/SlashCommandAutocomplete.d.ts.map +0 -1
  83. package/dist/components/agent/SlashCommandAutocomplete.js +0 -33
  84. package/dist/components/agent/SlashCommandAutocomplete.js.map +0 -1
  85. package/dist/components/agent/collaborationWindow.d.ts +0 -11
  86. package/dist/components/agent/collaborationWindow.d.ts.map +0 -1
  87. package/dist/components/agent/collaborationWindow.js +0 -10
  88. package/dist/components/agent/collaborationWindow.js.map +0 -1
  89. package/dist/components/agent/conversationCollaborationAppendJournal.d.ts +0 -25
  90. package/dist/components/agent/conversationCollaborationAppendJournal.d.ts.map +0 -1
  91. package/dist/components/agent/conversationCollaborationAppendJournal.js +0 -118
  92. package/dist/components/agent/conversationCollaborationAppendJournal.js.map +0 -1
  93. package/dist/components/agent/conversationCollaborationController.d.ts +0 -96
  94. package/dist/components/agent/conversationCollaborationController.d.ts.map +0 -1
  95. package/dist/components/agent/conversationCollaborationController.js +0 -597
  96. package/dist/components/agent/conversationCollaborationController.js.map +0 -1
  97. package/dist/components/agent/destructiveConfirmation.d.ts +0 -76
  98. package/dist/components/agent/destructiveConfirmation.d.ts.map +0 -1
  99. package/dist/components/agent/destructiveConfirmation.js +0 -231
  100. package/dist/components/agent/destructiveConfirmation.js.map +0 -1
  101. package/dist/components/agent/editorOperationAuthority.d.ts +0 -29
  102. package/dist/components/agent/editorOperationAuthority.d.ts.map +0 -1
  103. package/dist/components/agent/editorOperationAuthority.js +0 -73
  104. package/dist/components/agent/editorOperationAuthority.js.map +0 -1
  105. package/dist/components/agent/mainAssistant.d.ts +0 -24
  106. package/dist/components/agent/mainAssistant.d.ts.map +0 -1
  107. package/dist/components/agent/mainAssistant.js +0 -24
  108. package/dist/components/agent/mainAssistant.js.map +0 -1
  109. package/dist/components/agent/nativeTuiComposerInput.d.ts +0 -42
  110. package/dist/components/agent/nativeTuiComposerInput.d.ts.map +0 -1
  111. package/dist/components/agent/nativeTuiComposerInput.js +0 -51
  112. package/dist/components/agent/nativeTuiComposerInput.js.map +0 -1
  113. package/dist/components/agent/settings/shared/InAppConfirmationDialog.d.ts +0 -25
  114. package/dist/components/agent/settings/shared/InAppConfirmationDialog.d.ts.map +0 -1
  115. package/dist/components/agent/settings/shared/InAppConfirmationDialog.js +0 -89
  116. package/dist/components/agent/settings/shared/InAppConfirmationDialog.js.map +0 -1
  117. package/dist/components/agent/toolCardDisplay.d.ts +0 -24
  118. package/dist/components/agent/toolCardDisplay.d.ts.map +0 -1
  119. package/dist/components/agent/toolCardDisplay.js +0 -85
  120. package/dist/components/agent/toolCardDisplay.js.map +0 -1
  121. package/dist/components/agent/webJobProgressView.d.ts +0 -90
  122. package/dist/components/agent/webJobProgressView.d.ts.map +0 -1
  123. package/dist/components/agent/webJobProgressView.js +0 -104
  124. package/dist/components/agent/webJobProgressView.js.map +0 -1
  125. package/dist/components/ui/CodeBlock.d.ts +0 -8
  126. package/dist/components/ui/CodeBlock.d.ts.map +0 -1
  127. package/dist/components/ui/CodeBlock.js +0 -89
  128. package/dist/components/ui/CodeBlock.js.map +0 -1
  129. package/dist/platformApiTypes.d.ts +0 -4176
  130. package/dist/platformApiTypes.d.ts.map +0 -1
  131. package/dist/platformApiTypes.js +0 -2
  132. package/dist/platformApiTypes.js.map +0 -1
  133. package/dist/platformBridge.d.ts +0 -43
  134. package/dist/platformBridge.d.ts.map +0 -1
  135. package/dist/platformBridge.js +0 -67
  136. package/dist/platformBridge.js.map +0 -1
  137. package/dist/providerSelector.d.ts +0 -28
  138. package/dist/providerSelector.d.ts.map +0 -1
  139. package/dist/providerSelector.js +0 -104
  140. package/dist/providerSelector.js.map +0 -1
  141. package/dist/services/connectionMode.d.ts +0 -13
  142. package/dist/services/connectionMode.d.ts.map +0 -1
  143. package/dist/services/connectionMode.js +0 -31
  144. package/dist/services/connectionMode.js.map +0 -1
  145. package/dist/sessionTabs.d.ts +0 -48
  146. package/dist/sessionTabs.d.ts.map +0 -1
  147. package/dist/sessionTabs.js +0 -106
  148. package/dist/sessionTabs.js.map +0 -1
  149. package/dist/stores/acpAgentStore.d.ts +0 -264
  150. package/dist/stores/acpAgentStore.d.ts.map +0 -1
  151. package/dist/stores/acpAgentStore.js +0 -825
  152. package/dist/stores/acpAgentStore.js.map +0 -1
  153. package/dist/stores/agentChatStore.d.ts +0 -693
  154. package/dist/stores/agentChatStore.d.ts.map +0 -1
  155. package/dist/stores/agentChatStore.js +0 -5876
  156. package/dist/stores/agentChatStore.js.map +0 -1
  157. package/dist/stores/authStore.d.ts +0 -26
  158. package/dist/stores/authStore.d.ts.map +0 -1
  159. package/dist/stores/authStore.js +0 -163
  160. package/dist/stores/authStore.js.map +0 -1
  161. package/dist/stores/suggestionStore.d.ts +0 -36
  162. package/dist/stores/suggestionStore.d.ts.map +0 -1
  163. package/dist/stores/suggestionStore.js +0 -187
  164. package/dist/stores/suggestionStore.js.map +0 -1
  165. package/dist/stores/tabStore.d.ts +0 -30
  166. package/dist/stores/tabStore.d.ts.map +0 -1
  167. package/dist/stores/tabStore.js +0 -252
  168. package/dist/stores/tabStore.js.map +0 -1
  169. package/dist/stores/xenoChatStore.d.ts +0 -88
  170. package/dist/stores/xenoChatStore.d.ts.map +0 -1
  171. package/dist/stores/xenoChatStore.js +0 -583
  172. package/dist/stores/xenoChatStore.js.map +0 -1
  173. package/dist/types/agentEditor.d.ts +0 -40
  174. package/dist/types/agentEditor.d.ts.map +0 -1
  175. package/dist/types/agentEditor.js +0 -2
  176. package/dist/types/agentEditor.js.map +0 -1
  177. package/dist/types/agentRuntimeProvider.d.ts +0 -2
  178. package/dist/types/agentRuntimeProvider.d.ts.map +0 -1
  179. package/dist/types/agentRuntimeProvider.js +0 -2
  180. package/dist/types/agentRuntimeProvider.js.map +0 -1
  181. package/dist/utils/acpExecutionAuthority.d.ts +0 -26
  182. package/dist/utils/acpExecutionAuthority.d.ts.map +0 -1
  183. package/dist/utils/acpExecutionAuthority.js +0 -46
  184. package/dist/utils/acpExecutionAuthority.js.map +0 -1
  185. package/dist/utils/advertisedReasoning.d.ts +0 -25
  186. package/dist/utils/advertisedReasoning.d.ts.map +0 -1
  187. package/dist/utils/advertisedReasoning.js +0 -62
  188. package/dist/utils/advertisedReasoning.js.map +0 -1
  189. package/dist/utils/agentAttachedContextPrompt.d.ts +0 -2
  190. package/dist/utils/agentAttachedContextPrompt.d.ts.map +0 -1
  191. package/dist/utils/agentAttachedContextPrompt.js +0 -2
  192. package/dist/utils/agentAttachedContextPrompt.js.map +0 -1
  193. package/dist/utils/agentModelContext.d.ts +0 -2
  194. package/dist/utils/agentModelContext.d.ts.map +0 -1
  195. package/dist/utils/agentModelContext.js +0 -2
  196. package/dist/utils/agentModelContext.js.map +0 -1
  197. package/dist/utils/agentReasoningEffort.d.ts +0 -3
  198. package/dist/utils/agentReasoningEffort.d.ts.map +0 -1
  199. package/dist/utils/agentReasoningEffort.js +0 -2
  200. package/dist/utils/agentReasoningEffort.js.map +0 -1
  201. package/dist/utils/agentRuntimeProvider.d.ts +0 -3
  202. package/dist/utils/agentRuntimeProvider.d.ts.map +0 -1
  203. package/dist/utils/agentRuntimeProvider.js +0 -2
  204. package/dist/utils/agentRuntimeProvider.js.map +0 -1
  205. package/dist/utils/clipboardCopy.d.ts +0 -4
  206. package/dist/utils/clipboardCopy.d.ts.map +0 -1
  207. package/dist/utils/clipboardCopy.js +0 -27
  208. package/dist/utils/clipboardCopy.js.map +0 -1
  209. package/dist/utils/cloudModels.d.ts +0 -3
  210. package/dist/utils/cloudModels.d.ts.map +0 -1
  211. package/dist/utils/cloudModels.js +0 -181
  212. package/dist/utils/cloudModels.js.map +0 -1
  213. package/dist/utils/conversationRuntime.d.ts +0 -3
  214. package/dist/utils/conversationRuntime.d.ts.map +0 -1
  215. package/dist/utils/conversationRuntime.js +0 -2
  216. package/dist/utils/conversationRuntime.js.map +0 -1
  217. package/dist/utils/fileCreateIntent.d.ts +0 -16
  218. package/dist/utils/fileCreateIntent.d.ts.map +0 -1
  219. package/dist/utils/fileCreateIntent.js +0 -123
  220. package/dist/utils/fileCreateIntent.js.map +0 -1
  221. package/dist/utils/legacyAgentRuntimeEvents.d.ts +0 -2
  222. package/dist/utils/legacyAgentRuntimeEvents.d.ts.map +0 -1
  223. package/dist/utils/legacyAgentRuntimeEvents.js +0 -2
  224. package/dist/utils/legacyAgentRuntimeEvents.js.map +0 -1
  225. package/dist/utils/markdownWindowsPaths.d.ts +0 -2
  226. package/dist/utils/markdownWindowsPaths.d.ts.map +0 -1
  227. package/dist/utils/markdownWindowsPaths.js +0 -2
  228. package/dist/utils/markdownWindowsPaths.js.map +0 -1
  229. package/dist/utils/modelAvailability.d.ts +0 -11
  230. package/dist/utils/modelAvailability.d.ts.map +0 -1
  231. package/dist/utils/modelAvailability.js +0 -10
  232. package/dist/utils/modelAvailability.js.map +0 -1
  233. package/dist/utils/providerAvailability.d.ts +0 -8
  234. package/dist/utils/providerAvailability.d.ts.map +0 -1
  235. package/dist/utils/providerAvailability.js +0 -13
  236. package/dist/utils/providerAvailability.js.map +0 -1
  237. package/dist/utils/providerCommandArgs.d.ts +0 -11
  238. package/dist/utils/providerCommandArgs.d.ts.map +0 -1
  239. package/dist/utils/providerCommandArgs.js +0 -18
  240. package/dist/utils/providerCommandArgs.js.map +0 -1
  241. package/dist/utils/workspaceSelectionContinuation.d.ts +0 -2
  242. package/dist/utils/workspaceSelectionContinuation.d.ts.map +0 -1
  243. package/dist/utils/workspaceSelectionContinuation.js +0 -2
  244. package/dist/utils/workspaceSelectionContinuation.js.map +0 -1
@@ -1,247 +0,0 @@
1
- export function createHubXenoAgentCompatibilityBridge(api) {
2
- return {
3
- listCloudModels: () => api.llm.models(),
4
- listAcpAgents: () => api.acp.listAgents(),
5
- getAcpAgent: (agentConfigId) => api.acp.getAgent(agentConfigId),
6
- getAcpProviderModels: (agentConfigId, providerId) => (api.acp.getProviderModels(agentConfigId, providerId)),
7
- listRuntimeEvents: (request) => api.runtimeEvents.list(request),
8
- subscribeRuntimeEvents: (listener) => {
9
- const subscriptionId = api.runtimeEvents.subscribeAppended(listener);
10
- let active = true;
11
- return () => {
12
- if (!active)
13
- return;
14
- active = false;
15
- api.runtimeEvents.unsubscribeAppended(subscriptionId);
16
- };
17
- },
18
- answerChooseDirectory: (input) => api.agent.answerChooseDirectory(input),
19
- answerWorkspacePlacement: (input) => api.agent.answerWorkspacePlacement(input),
20
- subscribeChooseDirectoryRequests: (listener) => {
21
- const subscriptionId = api.agent.subscribeChooseDirectoryRequested(listener);
22
- let active = true;
23
- return () => {
24
- if (!active)
25
- return;
26
- active = false;
27
- api.agent.unsubscribeChooseDirectoryRequested(subscriptionId);
28
- };
29
- },
30
- subscribeWorkspacePlacementRequests: (listener) => {
31
- const subscriptionId = api.agent.subscribeWorkspacePlacementRequested(listener);
32
- let active = true;
33
- return () => {
34
- if (!active)
35
- return;
36
- active = false;
37
- api.agent.unsubscribeWorkspacePlacementRequested(subscriptionId);
38
- };
39
- },
40
- loadWorkspaces: () => api.workspaceStorage.load(),
41
- saveWorkspaces: ({ workspaces, expectedRevision }) => api.workspaceStorage.save(workspaces, expectedRevision),
42
- loadConversations: () => api.agentStorage.loadConversations(),
43
- saveConversation: ({ conversation }) => api.agentStorage.saveConversation(conversation),
44
- deleteConversation: async ({ conversationId }) => {
45
- const result = await api.agentStorage.deleteConversation(conversationId);
46
- return {
47
- ...result,
48
- ...(result.success ? { deleted: true } : {}),
49
- };
50
- },
51
- listWorkspaceDirectory: (input) => api.workspace.listDirectory({
52
- dirPath: input.dirPath,
53
- allowedDirs: [...input.allowedDirectories],
54
- }),
55
- readWorkspaceFile: (input) => api.workspace.readFile({
56
- path: input.path,
57
- allowedDirs: [...input.allowedDirectories],
58
- ...(input.conversationId ? { conversationId: input.conversationId } : {}),
59
- }),
60
- writeWorkspaceFile: (input) => api.workspace.writeFile({
61
- ...(input.conversationId ? { conversationId: input.conversationId } : {}),
62
- ...(input.workspaceId ? { workspaceId: input.workspaceId } : {}),
63
- ...(input.teamId ? { teamId: input.teamId } : {}),
64
- ...(input.agentId ? { agentId: input.agentId } : {}),
65
- path: input.path,
66
- content: input.content,
67
- ...(input.expectedContent === undefined ? {} : { expectedContent: input.expectedContent }),
68
- allowedDirs: [...input.allowedDirectories],
69
- }),
70
- runWorkspaceCommand: async (input) => {
71
- const result = await api.workspace.runCommand({
72
- ...(input.workspaceId ? { workspaceId: input.workspaceId } : {}),
73
- ...(input.teamId ? { teamId: input.teamId } : {}),
74
- ...(input.agentId ? { agentId: input.agentId } : {}),
75
- command: input.command,
76
- allowedDirs: [...input.allowedDirectories],
77
- ...(input.conversationId ? { conversationId: input.conversationId } : {}),
78
- ...(input.cwd ? { cwd: input.cwd } : {}),
79
- ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),
80
- });
81
- // 🔴 `truncated` is REQUIRED by the contract and OPTIONAL from a preload,
82
- // because an older host predates the field. A host that cannot say is
83
- // reported as NOT truncated here — the one place in this change where a
84
- // guess is made, and it is made in the direction that matches how every
85
- // such host behaved before the field existed: it trimmed silently, and
86
- // every caller already read the output as complete. Widening the contract
87
- // to `boolean | undefined` would push that same guess onto every consumer
88
- // instead of resolving it once at the compatibility seam, which is what
89
- // this file is for.
90
- return { ...result, truncated: result.truncated ?? false };
91
- },
92
- startWorkspaceTerminal: (input) => api.workspace.terminalStart({
93
- command: input.command,
94
- allowedDirs: [...input.allowedDirectories],
95
- ...(input.conversationId ? { conversationId: input.conversationId } : {}),
96
- ...(input.cwd ? { cwd: input.cwd } : {}),
97
- ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),
98
- }),
99
- stopWorkspaceTerminal: (input) => api.workspace.terminalStop({ terminalId: input.terminalId }),
100
- startWorkspacePty: (input) => api.workspace.ptyStart({
101
- allowedDirs: [...input.allowedDirectories],
102
- ...(input.cwd ? { cwd: input.cwd } : {}),
103
- ...(input.cols === undefined ? {} : { cols: input.cols }),
104
- ...(input.rows === undefined ? {} : { rows: input.rows }),
105
- }),
106
- snapshotWorkspacePty: (input) => api.workspace.ptySnapshot({ terminalId: input.terminalId }),
107
- inputWorkspacePty: (input) => api.workspace.ptyInput({
108
- terminalId: input.terminalId,
109
- data: input.data,
110
- }),
111
- resizeWorkspacePty: (input) => api.workspace.ptyResize({
112
- terminalId: input.terminalId,
113
- cols: input.cols,
114
- rows: input.rows,
115
- }),
116
- clearWorkspacePty: (input) => api.workspace.ptyClear({ terminalId: input.terminalId }),
117
- stopWorkspacePty: (input) => api.workspace.ptyStop({ terminalId: input.terminalId }),
118
- startTurn: (input) => startHubAcpTurn(api.acp, input),
119
- cancelTurn: (input) => cancelHubAcpTurn(api.acp, input),
120
- };
121
- }
122
- async function startHubAcpTurn(acp, input) {
123
- const agentConfigId = acpAgentConfigId(input.selection.providerId);
124
- if (!agentConfigId) {
125
- return {
126
- success: false,
127
- code: 'provider_not_found',
128
- safeError: 'The selected runtime is not an ACP provider.',
129
- conversationId: input.conversationId,
130
- requestId: input.requestId,
131
- };
132
- }
133
- const allowedDirectories = Array.from(new Set([
134
- input.workspace?.primaryDirectory,
135
- ...(input.workspace?.additionalDirectories || []),
136
- ].filter((value) => typeof value === 'string' && value.length > 0)));
137
- const caller = legacyCaller(input, allowedDirectories);
138
- const result = await acp.runAgentPrompt({
139
- id: agentConfigId,
140
- acpAgentConfigId: agentConfigId,
141
- requestId: input.requestId,
142
- conversationId: input.conversationId,
143
- ...(input.workspaceId ? { workspaceId: input.workspaceId } : {}),
144
- ...(input.teamId ? { teamId: input.teamId } : {}),
145
- ...(input.agentId ? { agentId: input.agentId } : {}),
146
- prompt: input.prompt,
147
- ...(input.history ? { history: structuredClone(input.history) } : {}),
148
- ...(input.systemPrompt ? { systemPrompt: input.systemPrompt } : {}),
149
- ...(input.workspace?.primaryDirectory ? { cwd: input.workspace.primaryDirectory } : {}),
150
- ...(input.workspace?.additionalDirectories
151
- ? { additionalDirectories: [...input.workspace.additionalDirectories] }
152
- : {}),
153
- execution: {
154
- schemaVersion: 1,
155
- permissionProfile: input.workspace?.permissionProfile || 'standard',
156
- filesystem: input.workspace?.filesystem || 'read-only',
157
- },
158
- ...(input.selection.runtimeModelId || input.selection.modelId
159
- ? { providerModel: input.selection.runtimeModelId || input.selection.modelId }
160
- : {}),
161
- ...(input.continuation
162
- ? {
163
- resumeSessionId: input.continuation.providerSessionId,
164
- resumeState: input.continuation.state,
165
- resumeAgentConfigId: agentConfigId,
166
- resumeAgentConfigFingerprint: input.continuation.providerConfigFingerprint,
167
- resumeWorkspaceFingerprint: input.continuation.workspaceFingerprint,
168
- }
169
- : {}),
170
- ...(input.timeoutMs === undefined ? {} : { timeoutMs: input.timeoutMs }),
171
- ...(caller ? { caller } : {}),
172
- });
173
- if (result.success || result.status === 'cancelled') {
174
- return {
175
- success: true,
176
- status: 'accepted',
177
- conversationId: input.conversationId,
178
- requestId: input.requestId,
179
- adapterId: 'hub-acp-compatibility',
180
- selection: structuredClone(input.selection),
181
- };
182
- }
183
- return {
184
- success: false,
185
- code: failureCode(result.error),
186
- safeError: safeError(result.error, 'The Hub ACP runtime could not start the turn.'),
187
- conversationId: input.conversationId,
188
- requestId: input.requestId,
189
- };
190
- }
191
- async function cancelHubAcpTurn(acp, input) {
192
- const result = await acp.cancelAgentPrompt({
193
- requestId: input.requestId,
194
- conversationId: input.conversationId,
195
- ...(input.reason ? { reason: input.reason } : {}),
196
- });
197
- if (result.success && result.cancelled) {
198
- return {
199
- success: true,
200
- status: 'cancel_requested',
201
- conversationId: input.conversationId,
202
- requestId: input.requestId,
203
- };
204
- }
205
- return {
206
- success: false,
207
- code: 'turn_not_active',
208
- safeError: safeError(result.error, 'The requested turn is not active.'),
209
- conversationId: input.conversationId,
210
- requestId: input.requestId,
211
- };
212
- }
213
- function acpAgentConfigId(providerId) {
214
- if (!providerId.startsWith('acp:'))
215
- return null;
216
- const id = providerId.slice('acp:'.length).trim();
217
- return id || null;
218
- }
219
- function legacyCaller(input, allowedDirectories) {
220
- if (!input.workspaceId && !input.teamId && !input.agentId && allowedDirectories.length === 0)
221
- return undefined;
222
- return {
223
- ...(input.workspaceId ? { workspaceId: input.workspaceId } : {}),
224
- ...(input.teamId ? { teamId: input.teamId } : {}),
225
- ...(input.agentId ? { agentId: input.agentId } : {}),
226
- allowedDirectories,
227
- };
228
- }
229
- function failureCode(error) {
230
- const message = safeError(error, '').toLowerCase();
231
- if (message.includes('not found'))
232
- return 'provider_not_found';
233
- if (message.includes('disabled') || message.includes('not certified'))
234
- return 'provider_unavailable';
235
- if (message.includes('already running'))
236
- return 'request_already_active';
237
- if (message.includes('required') || message.includes('invalid'))
238
- return 'invalid_request';
239
- return 'adapter_unavailable';
240
- }
241
- function safeError(value, fallback) {
242
- if (typeof value !== 'string')
243
- return fallback;
244
- const normalized = value.trim();
245
- return normalized ? normalized.slice(0, 1_000) : fallback;
246
- }
247
- //# sourceMappingURL=xenoAgentCompatibilityBridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xenoAgentCompatibilityBridge.js","sourceRoot":"","sources":["../../src/adapters/xenoAgentCompatibilityBridge.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import type { AgentProviderListResult, AgentRuntimeProviderDescriptor } from '@xenosystem/agent-interface-contract';
2
- import { AgentHostClient } from '@xenosystem/agent-interface-client';
3
- import type { XenoAPI } from '../platformApiTypes.js';
4
- import { type HubPreloadApi } from './xenoAgentCompatibilityBridge.js';
5
- export type HubAgentHostPreloadApi = HubPreloadApi & Pick<XenoAPI, 'updater' | 'agentHost'>;
6
- export interface CreateHubAgentCatalogClientOptions {
7
- instanceId?: string;
8
- allowFixtureProviders?: boolean;
9
- }
10
- export interface HubAgentHostClientSession {
11
- client: AgentHostClient;
12
- transport: {
13
- dispose(): void;
14
- };
15
- source: 'native-host' | 'compatibility-facade';
16
- }
17
- /**
18
- * Selects a connected product-owned client for all shared UI catalog reads.
19
- */
20
- export declare function configureAgentCatalogHostClient(client: AgentHostClient | null): () => void;
21
- export declare function subscribeHubAgentProviderCatalog(listener: (catalog: AgentProviderListResult) => void): () => void;
22
- /**
23
- * Prefers Hub's main-process local-host transport. The compatibility facade is
24
- * retained only as a fail-closed rollback path during the migration window.
25
- */
26
- export declare function createHubAgentHostClient(api: HubAgentHostPreloadApi, options?: CreateHubAgentCatalogClientOptions): Promise<HubAgentHostClientSession>;
27
- /** @deprecated Use createHubAgentHostClient; retained during the Hub migration window. */
28
- export declare function createHubAgentCatalogClient(api: HubAgentHostPreloadApi, options?: CreateHubAgentCatalogClientOptions): Promise<HubAgentHostClientSession>;
29
- export declare function loadHubAgentProviderCatalog(): Promise<AgentProviderListResult>;
30
- /**
31
- * Refreshes provider-owned metadata through the host. Concurrent callers share
32
- * one request and healthy catalogs are reused briefly to avoid spawning a
33
- * provider discovery process every time a selector is toggled.
34
- */
35
- export declare function refreshHubAgentProviderCatalog(options?: {
36
- force?: boolean;
37
- }): Promise<AgentProviderListResult>;
38
- export declare function loadHubAgentProvider(providerId: string): Promise<AgentRuntimeProviderDescriptor | undefined>;
39
- export declare function disposeHubAgentCatalogClient(): void;
40
- //# sourceMappingURL=xenoAgentHostCatalog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xenoAgentHostCatalog.d.ts","sourceRoot":"","sources":["../../src/adapters/xenoAgentHostCatalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAMV,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAIpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,mCAAmC,CAAA;AAE1C,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,WAAW,CAAC,CAAA;AAE3F,MAAM,WAAW,kCAAkC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE;QAAE,OAAO,IAAI,IAAI,CAAA;KAAE,CAAA;IAC9B,MAAM,EAAE,aAAa,GAAG,sBAAsB,CAAA;CAC/C;AAaD;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,eAAe,GAAG,IAAI,GAC7B,MAAM,IAAI,CAkBZ;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,GACnD,MAAM,IAAI,CAKZ;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,sBAAsB,EAC3B,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,yBAAyB,CAAC,CAyCpC;AAED,0FAA0F;AAC1F,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,sBAAsB,EAC3B,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,yBAAyB,CAAC,CAEpC;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAGpF;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAUlC;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,8BAA8B,GAAG,SAAS,CAAC,CAGrD;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAYnD"}
@@ -1,231 +0,0 @@
1
- import { getAgentPlatformBridge } from '../platformBridge.js';
2
- import { isAgentHostEvent } from '@xenosystem/agent-interface-contract';
3
- import { AgentHostClient } from '@xenosystem/agent-interface-client';
4
- import { createHubAgentCompatibilityClient, } from '@xenosystem/agent-interface-hub-adapter';
5
- import { createHubXenoAgentCompatibilityBridge, } from './xenoAgentCompatibilityBridge.js';
6
- let activeClientPromise = null;
7
- let activeNativeHostClient = null;
8
- let activeCatalogEventUnsubscribe = null;
9
- let activeCatalogRequest = null;
10
- let activeCatalogPublishRequested = false;
11
- let cachedProviderCatalog = null;
12
- let cachedProviderCatalogAt = 0;
13
- let providerCatalogGeneration = 0;
14
- const PROVIDER_CATALOG_REFRESH_TTL_MS = 30_000;
15
- const providerCatalogListeners = new Set();
16
- /**
17
- * Selects a connected product-owned client for all shared UI catalog reads.
18
- */
19
- export function configureAgentCatalogHostClient(client) {
20
- activeCatalogEventUnsubscribe?.();
21
- activeCatalogEventUnsubscribe = null;
22
- resetProviderCatalogCache();
23
- activeNativeHostClient = client;
24
- if (client) {
25
- activeCatalogEventUnsubscribe = client.subscribe((event) => {
26
- if (event.type !== 'provider.catalog.changed')
27
- return;
28
- void readChangedProviderCatalog(client);
29
- });
30
- }
31
- return () => {
32
- if (activeNativeHostClient !== client)
33
- return;
34
- activeCatalogEventUnsubscribe?.();
35
- activeCatalogEventUnsubscribe = null;
36
- activeNativeHostClient = null;
37
- resetProviderCatalogCache();
38
- };
39
- }
40
- export function subscribeHubAgentProviderCatalog(listener) {
41
- providerCatalogListeners.add(listener);
42
- return () => {
43
- providerCatalogListeners.delete(listener);
44
- };
45
- }
46
- /**
47
- * Prefers Hub's main-process local-host transport. The compatibility facade is
48
- * retained only as a fail-closed rollback path during the migration window.
49
- */
50
- export async function createHubAgentHostClient(api, options = {}) {
51
- // Best-effort already: the existing `.catch` says a failed lookup is not fatal. `updater` is
52
- // optional on XenoAPI now, so an ABSENT one takes the same route as a failing one rather than
53
- // throwing — a host that cannot report a version is not a host that cannot run an agent.
54
- const version = (await api.updater?.getVersion().catch(() => 'unknown')) ?? 'unknown';
55
- const instanceId = options.instanceId || createRendererInstanceId();
56
- if (api.agentHost) {
57
- const transport = new HubPreloadAgentHostTransport(api.agentHost);
58
- const client = new AgentHostClient({
59
- transport,
60
- identity: {
61
- clientId: 'xeno-hub-agent-interface',
62
- clientVersion: version,
63
- instanceId,
64
- surface: 'hub-embed',
65
- },
66
- });
67
- try {
68
- await client.connect();
69
- return { client, transport, source: 'native-host' };
70
- }
71
- catch (error) {
72
- transport.dispose();
73
- throw error;
74
- }
75
- }
76
- const result = createHubAgentCompatibilityClient({
77
- bridge: createHubXenoAgentCompatibilityBridge(api),
78
- hostVersion: version,
79
- hostInstanceId: `hub-agent-host:${instanceId}`,
80
- storageSchemaVersion: 2,
81
- eventSchemaVersion: 1,
82
- allowFixtureProviders: options.allowFixtureProviders === true,
83
- identity: {
84
- clientId: 'xeno-hub-agent-interface',
85
- clientVersion: version,
86
- instanceId,
87
- surface: 'hub-embed',
88
- },
89
- });
90
- await result.client.connect();
91
- return { ...result, source: 'compatibility-facade' };
92
- }
93
- /** @deprecated Use createHubAgentHostClient; retained during the Hub migration window. */
94
- export function createHubAgentCatalogClient(api, options = {}) {
95
- return createHubAgentHostClient(api, options);
96
- }
97
- export async function loadHubAgentProviderCatalog() {
98
- const client = await currentCatalogClient();
99
- return requestProviderCatalog(client, 'list', false);
100
- }
101
- /**
102
- * Refreshes provider-owned metadata through the host. Concurrent callers share
103
- * one request and healthy catalogs are reused briefly to avoid spawning a
104
- * provider discovery process every time a selector is toggled.
105
- */
106
- export async function refreshHubAgentProviderCatalog(options = {}) {
107
- if (options.force !== true
108
- && cachedProviderCatalog
109
- && Date.now() - cachedProviderCatalogAt < PROVIDER_CATALOG_REFRESH_TTL_MS) {
110
- return structuredClone(cachedProviderCatalog);
111
- }
112
- const client = await currentCatalogClient();
113
- return requestProviderCatalog(client, 'refresh', true);
114
- }
115
- export async function loadHubAgentProvider(providerId) {
116
- const catalog = await loadHubAgentProviderCatalog();
117
- return catalog.providers.find((provider) => provider.id === providerId);
118
- }
119
- export function disposeHubAgentCatalogClient() {
120
- activeCatalogEventUnsubscribe?.();
121
- activeCatalogEventUnsubscribe = null;
122
- activeNativeHostClient = null;
123
- resetProviderCatalogCache();
124
- const pending = activeClientPromise;
125
- activeClientPromise = null;
126
- if (!pending)
127
- return;
128
- void pending.then(({ client, transport }) => {
129
- client.disconnect();
130
- transport.dispose();
131
- }).catch(() => { });
132
- }
133
- async function readChangedProviderCatalog(client) {
134
- if (activeNativeHostClient !== client)
135
- return;
136
- await requestProviderCatalog(client, 'list', true).catch(() => undefined);
137
- }
138
- async function currentCatalogClient() {
139
- if (activeNativeHostClient)
140
- return activeNativeHostClient;
141
- const session = await getHubAgentCatalogClient();
142
- return activeNativeHostClient || session.client;
143
- }
144
- function requestProviderCatalog(client, mode, publish) {
145
- if (activeCatalogRequest) {
146
- activeCatalogPublishRequested ||= publish;
147
- return activeCatalogRequest;
148
- }
149
- const generation = providerCatalogGeneration;
150
- activeCatalogPublishRequested = publish;
151
- const request = (mode === 'refresh'
152
- ? client.refreshProviders({ includeUnavailable: true })
153
- : client.listProviders({ includeUnavailable: true }))
154
- .then((catalog) => {
155
- if (generation !== providerCatalogGeneration)
156
- return structuredClone(catalog);
157
- cachedProviderCatalog = structuredClone(catalog);
158
- cachedProviderCatalogAt = Date.now();
159
- if (activeCatalogPublishRequested) {
160
- for (const listener of [...providerCatalogListeners])
161
- listener(structuredClone(catalog));
162
- }
163
- return structuredClone(catalog);
164
- })
165
- .finally(() => {
166
- if (activeCatalogRequest === request) {
167
- activeCatalogRequest = null;
168
- activeCatalogPublishRequested = false;
169
- }
170
- });
171
- activeCatalogRequest = request;
172
- return request;
173
- }
174
- function resetProviderCatalogCache() {
175
- providerCatalogGeneration += 1;
176
- activeCatalogRequest = null;
177
- activeCatalogPublishRequested = false;
178
- cachedProviderCatalog = null;
179
- cachedProviderCatalogAt = 0;
180
- }
181
- function getHubAgentCatalogClient() {
182
- if (!activeClientPromise) {
183
- activeClientPromise = createHubAgentHostClient(getAgentPlatformBridge())
184
- .catch((error) => {
185
- activeClientPromise = null;
186
- throw error;
187
- });
188
- }
189
- return activeClientPromise;
190
- }
191
- class HubPreloadAgentHostTransport {
192
- bridge;
193
- subscriptions = new Map();
194
- disposed = false;
195
- constructor(bridge) {
196
- this.bridge = bridge;
197
- }
198
- async request(method, input) {
199
- if (this.disposed)
200
- throw new Error('The Hub Agent host transport is closed.');
201
- return await this.bridge.request(method, structuredClone(input));
202
- }
203
- subscribe(listener) {
204
- if (this.disposed)
205
- throw new Error('The Hub Agent host transport is closed.');
206
- const subscriptionId = this.bridge.subscribe((event) => {
207
- if (isAgentHostEvent(event))
208
- listener(structuredClone(event));
209
- });
210
- const unsubscribe = () => {
211
- if (!this.subscriptions.delete(subscriptionId))
212
- return;
213
- this.bridge.unsubscribe(subscriptionId);
214
- };
215
- this.subscriptions.set(subscriptionId, unsubscribe);
216
- return unsubscribe;
217
- }
218
- dispose() {
219
- if (this.disposed)
220
- return;
221
- this.disposed = true;
222
- for (const unsubscribe of [...this.subscriptions.values()])
223
- unsubscribe();
224
- this.subscriptions.clear();
225
- }
226
- }
227
- function createRendererInstanceId() {
228
- const randomId = globalThis.crypto?.randomUUID?.();
229
- return randomId ? `hub-renderer:${randomId}` : `hub-renderer:${Date.now().toString(36)}`;
230
- }
231
- //# sourceMappingURL=xenoAgentHostCatalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xenoAgentHostCatalog.js","sourceRoot":"","sources":["../../src/adapters/xenoAgentHostCatalog.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * AIStatusIndicator — Shows connection status, current model, and token usage.
3
- *
4
- * Rendered in the agent interface header area. Fetches LLM connection status
5
- * and displays a compact indicator.
6
- *
7
- * Design: monochromatic, compact, no circles per DESIGN_SYSTEM.md.
8
- */
9
- import React from 'react';
10
- export type ConnectionStatus = 'cloud' | 'local' | 'disconnected';
11
- interface AIStatusIndicatorProps {
12
- /** Current model ID being used */
13
- model: string;
14
- /** Optional class name */
15
- className?: string;
16
- /** Force a status refresh when parent-side runtime state changes */
17
- refreshKey?: number;
18
- /** Optional local runtime availability from parent state */
19
- runtimeAvailable?: boolean | null;
20
- /** Optional click handler for the local runtime label */
21
- onRuntimeClick?: () => void;
22
- }
23
- export declare function AIStatusIndicator({ model, className, refreshKey, runtimeAvailable, onRuntimeClick, }: AIStatusIndicatorProps): React.JSX.Element;
24
- export {};
25
- //# sourceMappingURL=AIStatusIndicator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AIStatusIndicator.d.ts","sourceRoot":"","sources":["../../../src/components/agent/AIStatusIndicator.tsx"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAA;AAI/D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,CAAA;AAEjE,UAAU,sBAAsB;IAC9B,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACjC,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5B;AAOD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,SAAc,EACd,UAAc,EACd,gBAAuB,EACvB,cAAc,GACf,EAAE,sBAAsB,qBAkHxB"}