@xenosystem/agent-interface-host 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/LICENSE +67 -0
  2. package/dist/acp/AcpAgentRegistryService.d.ts +77 -0
  3. package/dist/acp/AcpAgentRegistryService.d.ts.map +1 -0
  4. package/dist/acp/AcpAgentRegistryService.js +754 -0
  5. package/dist/acp/AcpAgentRegistryService.js.map +1 -0
  6. package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts +56 -0
  7. package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts.map +1 -0
  8. package/dist/acp/AcpAgentTurnExecutionAdapter.js +323 -0
  9. package/dist/acp/AcpAgentTurnExecutionAdapter.js.map +1 -0
  10. package/dist/acp/AcpApprovalPortAdapter.d.ts +41 -0
  11. package/dist/acp/AcpApprovalPortAdapter.d.ts.map +1 -0
  12. package/dist/acp/AcpApprovalPortAdapter.js +82 -0
  13. package/dist/acp/AcpApprovalPortAdapter.js.map +1 -0
  14. package/dist/acp/AcpCoordinationBridge.d.ts +13 -0
  15. package/dist/acp/AcpCoordinationBridge.d.ts.map +1 -0
  16. package/dist/acp/AcpCoordinationBridge.js +13 -0
  17. package/dist/acp/AcpCoordinationBridge.js.map +1 -0
  18. package/dist/acp/AcpDiagnosticsService.d.ts +61 -0
  19. package/dist/acp/AcpDiagnosticsService.d.ts.map +1 -0
  20. package/dist/acp/AcpDiagnosticsService.js +203 -0
  21. package/dist/acp/AcpDiagnosticsService.js.map +1 -0
  22. package/dist/acp/AcpExternalCertificationHarness.d.ts +47 -0
  23. package/dist/acp/AcpExternalCertificationHarness.d.ts.map +1 -0
  24. package/dist/acp/AcpExternalCertificationHarness.js +176 -0
  25. package/dist/acp/AcpExternalCertificationHarness.js.map +1 -0
  26. package/dist/acp/AcpHostBridge.d.ts +81 -0
  27. package/dist/acp/AcpHostBridge.d.ts.map +1 -0
  28. package/dist/acp/AcpHostBridge.js +101 -0
  29. package/dist/acp/AcpHostBridge.js.map +1 -0
  30. package/dist/acp/AcpInteractivePermissionBridge.d.ts +77 -0
  31. package/dist/acp/AcpInteractivePermissionBridge.d.ts.map +1 -0
  32. package/dist/acp/AcpInteractivePermissionBridge.js +127 -0
  33. package/dist/acp/AcpInteractivePermissionBridge.js.map +1 -0
  34. package/dist/acp/AcpPermissionBridge.d.ts +19 -0
  35. package/dist/acp/AcpPermissionBridge.d.ts.map +1 -0
  36. package/dist/acp/AcpPermissionBridge.js +110 -0
  37. package/dist/acp/AcpPermissionBridge.js.map +1 -0
  38. package/dist/acp/AcpPermissionPolicy.d.ts +111 -0
  39. package/dist/acp/AcpPermissionPolicy.d.ts.map +1 -0
  40. package/dist/acp/AcpPermissionPolicy.js +167 -0
  41. package/dist/acp/AcpPermissionPolicy.js.map +1 -0
  42. package/dist/acp/AcpProcessSupervisor.d.ts +134 -0
  43. package/dist/acp/AcpProcessSupervisor.d.ts.map +1 -0
  44. package/dist/acp/AcpProcessSupervisor.js +674 -0
  45. package/dist/acp/AcpProcessSupervisor.js.map +1 -0
  46. package/dist/acp/AcpProviderApprovalService.d.ts +27 -0
  47. package/dist/acp/AcpProviderApprovalService.d.ts.map +1 -0
  48. package/dist/acp/AcpProviderApprovalService.js +128 -0
  49. package/dist/acp/AcpProviderApprovalService.js.map +1 -0
  50. package/dist/acp/AcpProviderCatalogService.d.ts +69 -0
  51. package/dist/acp/AcpProviderCatalogService.d.ts.map +1 -0
  52. package/dist/acp/AcpProviderCatalogService.js +707 -0
  53. package/dist/acp/AcpProviderCatalogService.js.map +1 -0
  54. package/dist/acp/AcpProviderModelService.d.ts +6 -0
  55. package/dist/acp/AcpProviderModelService.d.ts.map +1 -0
  56. package/dist/acp/AcpProviderModelService.js +274 -0
  57. package/dist/acp/AcpProviderModelService.js.map +1 -0
  58. package/dist/acp/AcpProviderVersionReadiness.d.ts +6 -0
  59. package/dist/acp/AcpProviderVersionReadiness.d.ts.map +1 -0
  60. package/dist/acp/AcpProviderVersionReadiness.js +100 -0
  61. package/dist/acp/AcpProviderVersionReadiness.js.map +1 -0
  62. package/dist/acp/AcpRuntimeEventMapper.d.ts +16 -0
  63. package/dist/acp/AcpRuntimeEventMapper.d.ts.map +1 -0
  64. package/dist/acp/AcpRuntimeEventMapper.js +326 -0
  65. package/dist/acp/AcpRuntimeEventMapper.js.map +1 -0
  66. package/dist/acp/AcpSessionService.d.ts +65 -0
  67. package/dist/acp/AcpSessionService.d.ts.map +1 -0
  68. package/dist/acp/AcpSessionService.js +931 -0
  69. package/dist/acp/AcpSessionService.js.map +1 -0
  70. package/dist/acp/DurableAcpPermissionPolicyStore.d.ts +25 -0
  71. package/dist/acp/DurableAcpPermissionPolicyStore.d.ts.map +1 -0
  72. package/dist/acp/DurableAcpPermissionPolicyStore.js +100 -0
  73. package/dist/acp/DurableAcpPermissionPolicyStore.js.map +1 -0
  74. package/dist/acp/acpCommandSafety.d.ts +63 -0
  75. package/dist/acp/acpCommandSafety.d.ts.map +1 -0
  76. package/dist/acp/acpCommandSafety.js +90 -0
  77. package/dist/acp/acpCommandSafety.js.map +1 -0
  78. package/dist/acp/acpErrors.d.ts +47 -0
  79. package/dist/acp/acpErrors.d.ts.map +1 -0
  80. package/dist/acp/acpErrors.js +93 -0
  81. package/dist/acp/acpErrors.js.map +1 -0
  82. package/dist/acp/acpRedaction.d.ts +9 -0
  83. package/dist/acp/acpRedaction.d.ts.map +1 -0
  84. package/dist/acp/acpRedaction.js +69 -0
  85. package/dist/acp/acpRedaction.js.map +1 -0
  86. package/dist/acp/acpSessionResume.d.ts +8 -0
  87. package/dist/acp/acpSessionResume.d.ts.map +1 -0
  88. package/dist/acp/acpSessionResume.js +31 -0
  89. package/dist/acp/acpSessionResume.js.map +1 -0
  90. package/dist/acp/acpTypes.d.ts +467 -0
  91. package/dist/acp/acpTypes.d.ts.map +1 -0
  92. package/dist/acp/acpTypes.js +2 -0
  93. package/dist/acp/acpTypes.js.map +1 -0
  94. package/dist/agent/chooseDirectoryBridge.d.ts +29 -0
  95. package/dist/agent/chooseDirectoryBridge.d.ts.map +1 -0
  96. package/dist/agent/chooseDirectoryBridge.js +116 -0
  97. package/dist/agent/chooseDirectoryBridge.js.map +1 -0
  98. package/dist/agent/permissionProfiles.d.ts +29 -0
  99. package/dist/agent/permissionProfiles.d.ts.map +1 -0
  100. package/dist/agent/permissionProfiles.js +107 -0
  101. package/dist/agent/permissionProfiles.js.map +1 -0
  102. package/dist/agent/runtimeAuthorityPrompt.d.ts +13 -0
  103. package/dist/agent/runtimeAuthorityPrompt.d.ts.map +1 -0
  104. package/dist/agent/runtimeAuthorityPrompt.js +45 -0
  105. package/dist/agent/runtimeAuthorityPrompt.js.map +1 -0
  106. package/dist/agent/runtimeModeOutputGuard.d.ts +6 -0
  107. package/dist/agent/runtimeModeOutputGuard.d.ts.map +1 -0
  108. package/dist/agent/runtimeModeOutputGuard.js +40 -0
  109. package/dist/agent/runtimeModeOutputGuard.js.map +1 -0
  110. package/dist/agent/workspacePlacementBridge.d.ts +29 -0
  111. package/dist/agent/workspacePlacementBridge.d.ts.map +1 -0
  112. package/dist/agent/workspacePlacementBridge.js +143 -0
  113. package/dist/agent/workspacePlacementBridge.js.map +1 -0
  114. package/dist/agentSearch/AgentSearchService.d.ts +81 -0
  115. package/dist/agentSearch/AgentSearchService.d.ts.map +1 -0
  116. package/dist/agentSearch/AgentSearchService.js +1038 -0
  117. package/dist/agentSearch/AgentSearchService.js.map +1 -0
  118. package/dist/agentSearch/JsonInvertedIndexAdapter.d.ts +44 -0
  119. package/dist/agentSearch/JsonInvertedIndexAdapter.d.ts.map +1 -0
  120. package/dist/agentSearch/JsonInvertedIndexAdapter.js +307 -0
  121. package/dist/agentSearch/JsonInvertedIndexAdapter.js.map +1 -0
  122. package/dist/agentSearch/SearchIndexAdapter.d.ts +33 -0
  123. package/dist/agentSearch/SearchIndexAdapter.d.ts.map +1 -0
  124. package/dist/agentSearch/SearchIndexAdapter.js +2 -0
  125. package/dist/agentSearch/SearchIndexAdapter.js.map +1 -0
  126. package/dist/agentSearch/SearchSourceWatcher.d.ts +29 -0
  127. package/dist/agentSearch/SearchSourceWatcher.d.ts.map +1 -0
  128. package/dist/agentSearch/SearchSourceWatcher.js +150 -0
  129. package/dist/agentSearch/SearchSourceWatcher.js.map +1 -0
  130. package/dist/agentSearch/SqliteFtsIndexAdapter.d.ts +58 -0
  131. package/dist/agentSearch/SqliteFtsIndexAdapter.d.ts.map +1 -0
  132. package/dist/agentSearch/SqliteFtsIndexAdapter.js +420 -0
  133. package/dist/agentSearch/SqliteFtsIndexAdapter.js.map +1 -0
  134. package/dist/agentSearch/conversationIndexer.d.ts +69 -0
  135. package/dist/agentSearch/conversationIndexer.d.ts.map +1 -0
  136. package/dist/agentSearch/conversationIndexer.js +313 -0
  137. package/dist/agentSearch/conversationIndexer.js.map +1 -0
  138. package/dist/agentSearch/searchTypes.d.ts +264 -0
  139. package/dist/agentSearch/searchTypes.d.ts.map +1 -0
  140. package/dist/agentSearch/searchTypes.js +2 -0
  141. package/dist/agentSearch/searchTypes.js.map +1 -0
  142. package/dist/agentSearch/searchUtils.d.ts +12 -0
  143. package/dist/agentSearch/searchUtils.d.ts.map +1 -0
  144. package/dist/agentSearch/searchUtils.js +125 -0
  145. package/dist/agentSearch/searchUtils.js.map +1 -0
  146. package/dist/agentSearch/workspaceMetadataIndexer.d.ts +3 -0
  147. package/dist/agentSearch/workspaceMetadataIndexer.d.ts.map +1 -0
  148. package/dist/agentSearch/workspaceMetadataIndexer.js +125 -0
  149. package/dist/agentSearch/workspaceMetadataIndexer.js.map +1 -0
  150. package/dist/cli/CliControlPlaneService.d.ts +269 -0
  151. package/dist/cli/CliControlPlaneService.d.ts.map +1 -0
  152. package/dist/cli/CliControlPlaneService.js +1874 -0
  153. package/dist/cli/CliControlPlaneService.js.map +1 -0
  154. package/dist/cloud/XenoCloudAgentTurnExecutionAdapter.d.ts +91 -0
  155. package/dist/cloud/XenoCloudAgentTurnExecutionAdapter.d.ts.map +1 -0
  156. package/dist/cloud/XenoCloudAgentTurnExecutionAdapter.js +379 -0
  157. package/dist/cloud/XenoCloudAgentTurnExecutionAdapter.js.map +1 -0
  158. package/dist/codebase/CodebaseIntelligenceService.d.ts +68 -0
  159. package/dist/codebase/CodebaseIntelligenceService.d.ts.map +1 -0
  160. package/dist/codebase/CodebaseIntelligenceService.js +1717 -0
  161. package/dist/codebase/CodebaseIntelligenceService.js.map +1 -0
  162. package/dist/codebase/LanguageServerProcessManager.d.ts +85 -0
  163. package/dist/codebase/LanguageServerProcessManager.d.ts.map +1 -0
  164. package/dist/codebase/LanguageServerProcessManager.js +607 -0
  165. package/dist/codebase/LanguageServerProcessManager.js.map +1 -0
  166. package/dist/codebase/codeTypes.d.ts +485 -0
  167. package/dist/codebase/codeTypes.d.ts.map +1 -0
  168. package/dist/codebase/codeTypes.js +2 -0
  169. package/dist/codebase/codeTypes.js.map +1 -0
  170. package/dist/codebase/codeUtils.d.ts +24 -0
  171. package/dist/codebase/codeUtils.d.ts.map +1 -0
  172. package/dist/codebase/codeUtils.js +177 -0
  173. package/dist/codebase/codeUtils.js.map +1 -0
  174. package/dist/codebase/contextPacks.d.ts +18 -0
  175. package/dist/codebase/contextPacks.d.ts.map +1 -0
  176. package/dist/codebase/contextPacks.js +180 -0
  177. package/dist/codebase/contextPacks.js.map +1 -0
  178. package/dist/codebase/dependencyGraph.d.ts +3 -0
  179. package/dist/codebase/dependencyGraph.d.ts.map +1 -0
  180. package/dist/codebase/dependencyGraph.js +209 -0
  181. package/dist/codebase/dependencyGraph.js.map +1 -0
  182. package/dist/codebase/fileIndexer.d.ts +27 -0
  183. package/dist/codebase/fileIndexer.d.ts.map +1 -0
  184. package/dist/codebase/fileIndexer.js +167 -0
  185. package/dist/codebase/fileIndexer.js.map +1 -0
  186. package/dist/codebase/symbolIndexer.d.ts +3 -0
  187. package/dist/codebase/symbolIndexer.d.ts.map +1 -0
  188. package/dist/codebase/symbolIndexer.js +184 -0
  189. package/dist/codebase/symbolIndexer.js.map +1 -0
  190. package/dist/codebase/whatChanged.d.ts +4 -0
  191. package/dist/codebase/whatChanged.d.ts.map +1 -0
  192. package/dist/codebase/whatChanged.js +138 -0
  193. package/dist/codebase/whatChanged.js.map +1 -0
  194. package/dist/coordination/CoordinationService.d.ts +166 -0
  195. package/dist/coordination/CoordinationService.d.ts.map +1 -0
  196. package/dist/coordination/CoordinationService.js +247 -0
  197. package/dist/coordination/CoordinationService.js.map +1 -0
  198. package/dist/coordination/claims.d.ts +122 -0
  199. package/dist/coordination/claims.d.ts.map +1 -0
  200. package/dist/coordination/claims.js +196 -0
  201. package/dist/coordination/claims.js.map +1 -0
  202. package/dist/coordination/coordinationTools.d.ts +40 -0
  203. package/dist/coordination/coordinationTools.d.ts.map +1 -0
  204. package/dist/coordination/coordinationTools.js +92 -0
  205. package/dist/coordination/coordinationTools.js.map +1 -0
  206. package/dist/coordination/laneBridge.d.ts +84 -0
  207. package/dist/coordination/laneBridge.d.ts.map +1 -0
  208. package/dist/coordination/laneBridge.js +86 -0
  209. package/dist/coordination/laneBridge.js.map +1 -0
  210. package/dist/coordination/messages.d.ts +225 -0
  211. package/dist/coordination/messages.d.ts.map +1 -0
  212. package/dist/coordination/messages.js +335 -0
  213. package/dist/coordination/messages.js.map +1 -0
  214. package/dist/coordination/permissionWaitRegistry.d.ts +32 -0
  215. package/dist/coordination/permissionWaitRegistry.d.ts.map +1 -0
  216. package/dist/coordination/permissionWaitRegistry.js +59 -0
  217. package/dist/coordination/permissionWaitRegistry.js.map +1 -0
  218. package/dist/coordination/query.d.ts +187 -0
  219. package/dist/coordination/query.d.ts.map +1 -0
  220. package/dist/coordination/query.js +138 -0
  221. package/dist/coordination/query.js.map +1 -0
  222. package/dist/coordination/renderInbox.d.ts +15 -0
  223. package/dist/coordination/renderInbox.d.ts.map +1 -0
  224. package/dist/coordination/renderInbox.js +19 -0
  225. package/dist/coordination/renderInbox.js.map +1 -0
  226. package/dist/coordination/runtimeEvents.d.ts +53 -0
  227. package/dist/coordination/runtimeEvents.d.ts.map +1 -0
  228. package/dist/coordination/runtimeEvents.js +112 -0
  229. package/dist/coordination/runtimeEvents.js.map +1 -0
  230. package/dist/detachedHostService.d.ts +77 -0
  231. package/dist/detachedHostService.d.ts.map +1 -0
  232. package/dist/detachedHostService.js +66 -0
  233. package/dist/detachedHostService.js.map +1 -0
  234. package/dist/detachedHostSupervisor.d.ts +102 -0
  235. package/dist/detachedHostSupervisor.d.ts.map +1 -0
  236. package/dist/detachedHostSupervisor.js +168 -0
  237. package/dist/detachedHostSupervisor.js.map +1 -0
  238. package/dist/durableRuntimeEventStore.d.ts +49 -0
  239. package/dist/durableRuntimeEventStore.d.ts.map +1 -0
  240. package/dist/durableRuntimeEventStore.js +364 -0
  241. package/dist/durableRuntimeEventStore.js.map +1 -0
  242. package/dist/engineering/EngineeringWorkbenchService.d.ts +142 -0
  243. package/dist/engineering/EngineeringWorkbenchService.d.ts.map +1 -0
  244. package/dist/engineering/EngineeringWorkbenchService.js +2301 -0
  245. package/dist/engineering/EngineeringWorkbenchService.js.map +1 -0
  246. package/dist/engineering/LandingService.d.ts +112 -0
  247. package/dist/engineering/LandingService.d.ts.map +1 -0
  248. package/dist/engineering/LandingService.js +239 -0
  249. package/dist/engineering/LandingService.js.map +1 -0
  250. package/dist/engineering/engineeringTypes.d.ts +2 -0
  251. package/dist/engineering/engineeringTypes.d.ts.map +1 -0
  252. package/dist/engineering/engineeringTypes.js +2 -0
  253. package/dist/engineering/engineeringTypes.js.map +1 -0
  254. package/dist/engineering/patchReview.d.ts +11 -0
  255. package/dist/engineering/patchReview.d.ts.map +1 -0
  256. package/dist/engineering/patchReview.js +174 -0
  257. package/dist/engineering/patchReview.js.map +1 -0
  258. package/dist/index.d.ts +834 -0
  259. package/dist/index.d.ts.map +1 -0
  260. package/dist/index.js +3242 -0
  261. package/dist/index.js.map +1 -0
  262. package/dist/intake/IntakeService.d.ts +84 -0
  263. package/dist/intake/IntakeService.d.ts.map +1 -0
  264. package/dist/intake/IntakeService.js +117 -0
  265. package/dist/intake/IntakeService.js.map +1 -0
  266. package/dist/intake/RepositoryTodoIntakeSource.d.ts +72 -0
  267. package/dist/intake/RepositoryTodoIntakeSource.d.ts.map +1 -0
  268. package/dist/intake/RepositoryTodoIntakeSource.js +168 -0
  269. package/dist/intake/RepositoryTodoIntakeSource.js.map +1 -0
  270. package/dist/intake/WorkspaceTodoIntakeSource.d.ts +53 -0
  271. package/dist/intake/WorkspaceTodoIntakeSource.d.ts.map +1 -0
  272. package/dist/intake/WorkspaceTodoIntakeSource.js +81 -0
  273. package/dist/intake/WorkspaceTodoIntakeSource.js.map +1 -0
  274. package/dist/isolation/CommandExecution.d.ts +132 -0
  275. package/dist/isolation/CommandExecution.d.ts.map +1 -0
  276. package/dist/isolation/CommandExecution.js +48 -0
  277. package/dist/isolation/CommandExecution.js.map +1 -0
  278. package/dist/isolation/LocalCommandExecutor.d.ts +27 -0
  279. package/dist/isolation/LocalCommandExecutor.d.ts.map +1 -0
  280. package/dist/isolation/LocalCommandExecutor.js +97 -0
  281. package/dist/isolation/LocalCommandExecutor.js.map +1 -0
  282. package/dist/isolation/RunExecutionEnvironment.d.ts +135 -0
  283. package/dist/isolation/RunExecutionEnvironment.d.ts.map +1 -0
  284. package/dist/isolation/RunExecutionEnvironment.js +206 -0
  285. package/dist/isolation/RunExecutionEnvironment.js.map +1 -0
  286. package/dist/isolation/RunIsolationService.d.ts +90 -0
  287. package/dist/isolation/RunIsolationService.d.ts.map +1 -0
  288. package/dist/isolation/RunIsolationService.js +86 -0
  289. package/dist/isolation/RunIsolationService.js.map +1 -0
  290. package/dist/isolation/SandboxCommandExecutor.d.ts +93 -0
  291. package/dist/isolation/SandboxCommandExecutor.d.ts.map +1 -0
  292. package/dist/isolation/SandboxCommandExecutor.js +189 -0
  293. package/dist/isolation/SandboxCommandExecutor.js.map +1 -0
  294. package/dist/knowledge/WorkspaceKnowledgeService.d.ts +71 -0
  295. package/dist/knowledge/WorkspaceKnowledgeService.d.ts.map +1 -0
  296. package/dist/knowledge/WorkspaceKnowledgeService.js +103 -0
  297. package/dist/knowledge/WorkspaceKnowledgeService.js.map +1 -0
  298. package/dist/localHostAuthority.d.ts +24 -0
  299. package/dist/localHostAuthority.d.ts.map +1 -0
  300. package/dist/localHostAuthority.js +87 -0
  301. package/dist/localHostAuthority.js.map +1 -0
  302. package/dist/localHostLease.d.ts +51 -0
  303. package/dist/localHostLease.d.ts.map +1 -0
  304. package/dist/localHostLease.js +167 -0
  305. package/dist/localHostLease.js.map +1 -0
  306. package/dist/localHostPaths.d.ts +30 -0
  307. package/dist/localHostPaths.d.ts.map +1 -0
  308. package/dist/localHostPaths.js +60 -0
  309. package/dist/localHostPaths.js.map +1 -0
  310. package/dist/localRpcTransport.d.ts +21 -0
  311. package/dist/localRpcTransport.d.ts.map +1 -0
  312. package/dist/localRpcTransport.js +423 -0
  313. package/dist/localRpcTransport.js.map +1 -0
  314. package/dist/node.d.ts +104 -0
  315. package/dist/node.d.ts.map +1 -0
  316. package/dist/node.js +103 -0
  317. package/dist/node.js.map +1 -0
  318. package/dist/observation/DirectoryBaselineScanner.d.ts +44 -0
  319. package/dist/observation/DirectoryBaselineScanner.d.ts.map +1 -0
  320. package/dist/observation/DirectoryBaselineScanner.js +112 -0
  321. package/dist/observation/DirectoryBaselineScanner.js.map +1 -0
  322. package/dist/observation/MountContentReader.d.ts +63 -0
  323. package/dist/observation/MountContentReader.d.ts.map +1 -0
  324. package/dist/observation/MountContentReader.js +158 -0
  325. package/dist/observation/MountContentReader.js.map +1 -0
  326. package/dist/observation/RunObservationService.d.ts +229 -0
  327. package/dist/observation/RunObservationService.d.ts.map +1 -0
  328. package/dist/observation/RunObservationService.js +248 -0
  329. package/dist/observation/RunObservationService.js.map +1 -0
  330. package/dist/observation/XenoUseObservationSource.d.ts +42 -0
  331. package/dist/observation/XenoUseObservationSource.d.ts.map +1 -0
  332. package/dist/observation/XenoUseObservationSource.js +104 -0
  333. package/dist/observation/XenoUseObservationSource.js.map +1 -0
  334. package/dist/observation/XenoUseRunObserver.d.ts +140 -0
  335. package/dist/observation/XenoUseRunObserver.d.ts.map +1 -0
  336. package/dist/observation/XenoUseRunObserver.js +256 -0
  337. package/dist/observation/XenoUseRunObserver.js.map +1 -0
  338. package/dist/pluginMcp/PluginMcpManagerService.d.ts +141 -0
  339. package/dist/pluginMcp/PluginMcpManagerService.d.ts.map +1 -0
  340. package/dist/pluginMcp/PluginMcpManagerService.js +1821 -0
  341. package/dist/pluginMcp/PluginMcpManagerService.js.map +1 -0
  342. package/dist/pluginMcp/pluginMcpTypes.d.ts +349 -0
  343. package/dist/pluginMcp/pluginMcpTypes.d.ts.map +1 -0
  344. package/dist/pluginMcp/pluginMcpTypes.js +2 -0
  345. package/dist/pluginMcp/pluginMcpTypes.js.map +1 -0
  346. package/dist/policy/WorkspacePolicyService.d.ts +83 -0
  347. package/dist/policy/WorkspacePolicyService.d.ts.map +1 -0
  348. package/dist/policy/WorkspacePolicyService.js +809 -0
  349. package/dist/policy/WorkspacePolicyService.js.map +1 -0
  350. package/dist/policy/policyGuard.d.ts +27 -0
  351. package/dist/policy/policyGuard.d.ts.map +1 -0
  352. package/dist/policy/policyGuard.js +143 -0
  353. package/dist/policy/policyGuard.js.map +1 -0
  354. package/dist/policy/policyTypes.d.ts +190 -0
  355. package/dist/policy/policyTypes.d.ts.map +1 -0
  356. package/dist/policy/policyTypes.js +2 -0
  357. package/dist/policy/policyTypes.js.map +1 -0
  358. package/dist/runtime/RuntimeEventStore.d.ts +42 -0
  359. package/dist/runtime/RuntimeEventStore.d.ts.map +1 -0
  360. package/dist/runtime/RuntimeEventStore.js +412 -0
  361. package/dist/runtime/RuntimeEventStore.js.map +1 -0
  362. package/dist/runtime/RuntimeEventStoreRepositoryAdapter.d.ts +21 -0
  363. package/dist/runtime/RuntimeEventStoreRepositoryAdapter.d.ts.map +1 -0
  364. package/dist/runtime/RuntimeEventStoreRepositoryAdapter.js +41 -0
  365. package/dist/runtime/RuntimeEventStoreRepositoryAdapter.js.map +1 -0
  366. package/dist/runtime/RuntimeTimelineProjection.d.ts +5 -0
  367. package/dist/runtime/RuntimeTimelineProjection.d.ts.map +1 -0
  368. package/dist/runtime/RuntimeTimelineProjection.js +705 -0
  369. package/dist/runtime/RuntimeTimelineProjection.js.map +1 -0
  370. package/dist/runtime/runtimeEventTypes.d.ts +73 -0
  371. package/dist/runtime/runtimeEventTypes.d.ts.map +1 -0
  372. package/dist/runtime/runtimeEventTypes.js +2 -0
  373. package/dist/runtime/runtimeEventTypes.js.map +1 -0
  374. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts +117 -0
  375. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts.map +1 -0
  376. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js +214 -0
  377. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js.map +1 -0
  378. package/dist/session/AgentSessionService.d.ts +285 -0
  379. package/dist/session/AgentSessionService.d.ts.map +1 -0
  380. package/dist/session/AgentSessionService.js +444 -0
  381. package/dist/session/AgentSessionService.js.map +1 -0
  382. package/dist/session/bufferedSessionPty.d.ts +27 -0
  383. package/dist/session/bufferedSessionPty.d.ts.map +1 -0
  384. package/dist/session/bufferedSessionPty.js +49 -0
  385. package/dist/session/bufferedSessionPty.js.map +1 -0
  386. package/dist/session/renderSupport.d.ts +53 -0
  387. package/dist/session/renderSupport.d.ts.map +1 -0
  388. package/dist/session/renderSupport.js +41 -0
  389. package/dist/session/renderSupport.js.map +1 -0
  390. package/dist/session/runtimeEventChannel.d.ts +56 -0
  391. package/dist/session/runtimeEventChannel.d.ts.map +1 -0
  392. package/dist/session/runtimeEventChannel.js +53 -0
  393. package/dist/session/runtimeEventChannel.js.map +1 -0
  394. package/dist/state/JsonAgentStateRepository.d.ts +29 -0
  395. package/dist/state/JsonAgentStateRepository.d.ts.map +1 -0
  396. package/dist/state/JsonAgentStateRepository.js +165 -0
  397. package/dist/state/JsonAgentStateRepository.js.map +1 -0
  398. package/dist/state/SqliteAgentStateRepository.d.ts +58 -0
  399. package/dist/state/SqliteAgentStateRepository.d.ts.map +1 -0
  400. package/dist/state/SqliteAgentStateRepository.js +777 -0
  401. package/dist/state/SqliteAgentStateRepository.js.map +1 -0
  402. package/dist/state/createAgentStateRepository.d.ts +4 -0
  403. package/dist/state/createAgentStateRepository.d.ts.map +1 -0
  404. package/dist/state/createAgentStateRepository.js +12 -0
  405. package/dist/state/createAgentStateRepository.js.map +1 -0
  406. package/dist/state/stateSanitizers.d.ts +7 -0
  407. package/dist/state/stateSanitizers.d.ts.map +1 -0
  408. package/dist/state/stateSanitizers.js +87 -0
  409. package/dist/state/stateSanitizers.js.map +1 -0
  410. package/dist/subagents/AcpSubagentExecutionAdapter.d.ts +12 -0
  411. package/dist/subagents/AcpSubagentExecutionAdapter.d.ts.map +1 -0
  412. package/dist/subagents/AcpSubagentExecutionAdapter.js +119 -0
  413. package/dist/subagents/AcpSubagentExecutionAdapter.js.map +1 -0
  414. package/dist/subagents/CliSubagentExecutionAdapter.d.ts +13 -0
  415. package/dist/subagents/CliSubagentExecutionAdapter.d.ts.map +1 -0
  416. package/dist/subagents/CliSubagentExecutionAdapter.js +217 -0
  417. package/dist/subagents/CliSubagentExecutionAdapter.js.map +1 -0
  418. package/dist/subagents/HostTurnSubagentExecutionAdapter.d.ts +78 -0
  419. package/dist/subagents/HostTurnSubagentExecutionAdapter.d.ts.map +1 -0
  420. package/dist/subagents/HostTurnSubagentExecutionAdapter.js +160 -0
  421. package/dist/subagents/HostTurnSubagentExecutionAdapter.js.map +1 -0
  422. package/dist/subagents/SubagentRunService.d.ts +103 -0
  423. package/dist/subagents/SubagentRunService.d.ts.map +1 -0
  424. package/dist/subagents/SubagentRunService.js +1183 -0
  425. package/dist/subagents/SubagentRunService.js.map +1 -0
  426. package/dist/subagents/SubagentScheduler.d.ts +167 -0
  427. package/dist/subagents/SubagentScheduler.d.ts.map +1 -0
  428. package/dist/subagents/SubagentScheduler.js +530 -0
  429. package/dist/subagents/SubagentScheduler.js.map +1 -0
  430. package/dist/subagents/TeamAgentRouter.d.ts +104 -0
  431. package/dist/subagents/TeamAgentRouter.d.ts.map +1 -0
  432. package/dist/subagents/TeamAgentRouter.js +435 -0
  433. package/dist/subagents/TeamAgentRouter.js.map +1 -0
  434. package/dist/subagents/capabilityMatcher.d.ts +3 -0
  435. package/dist/subagents/capabilityMatcher.d.ts.map +1 -0
  436. package/dist/subagents/capabilityMatcher.js +127 -0
  437. package/dist/subagents/capabilityMatcher.js.map +1 -0
  438. package/dist/subagents/subagentRunPort.d.ts +43 -0
  439. package/dist/subagents/subagentRunPort.d.ts.map +1 -0
  440. package/dist/subagents/subagentRunPort.js +24 -0
  441. package/dist/subagents/subagentRunPort.js.map +1 -0
  442. package/dist/subagents/subagentTypes.d.ts +330 -0
  443. package/dist/subagents/subagentTypes.d.ts.map +1 -0
  444. package/dist/subagents/subagentTypes.js +2 -0
  445. package/dist/subagents/subagentTypes.js.map +1 -0
  446. package/dist/subagents/subagentWorkspaceAuthority.d.ts +29 -0
  447. package/dist/subagents/subagentWorkspaceAuthority.d.ts.map +1 -0
  448. package/dist/subagents/subagentWorkspaceAuthority.js +173 -0
  449. package/dist/subagents/subagentWorkspaceAuthority.js.map +1 -0
  450. package/dist/support/SupportDiagnosticsService.d.ts +87 -0
  451. package/dist/support/SupportDiagnosticsService.d.ts.map +1 -0
  452. package/dist/support/SupportDiagnosticsService.js +1199 -0
  453. package/dist/support/SupportDiagnosticsService.js.map +1 -0
  454. package/dist/turns/DurableInterruptedTurnStore.d.ts +14 -0
  455. package/dist/turns/DurableInterruptedTurnStore.d.ts.map +1 -0
  456. package/dist/turns/DurableInterruptedTurnStore.js +63 -0
  457. package/dist/turns/DurableInterruptedTurnStore.js.map +1 -0
  458. package/dist/turns/interruptedTurns.d.ts +50 -0
  459. package/dist/turns/interruptedTurns.d.ts.map +1 -0
  460. package/dist/turns/interruptedTurns.js +54 -0
  461. package/dist/turns/interruptedTurns.js.map +1 -0
  462. package/dist/turns/turnAdmission.d.ts +113 -0
  463. package/dist/turns/turnAdmission.d.ts.map +1 -0
  464. package/dist/turns/turnAdmission.js +136 -0
  465. package/dist/turns/turnAdmission.js.map +1 -0
  466. package/dist/workspace/WorkspaceHostService.d.ts +126 -0
  467. package/dist/workspace/WorkspaceHostService.d.ts.map +1 -0
  468. package/dist/workspace/WorkspaceHostService.js +841 -0
  469. package/dist/workspace/WorkspaceHostService.js.map +1 -0
  470. package/dist/workspace/WorkspaceShellService.d.ts +71 -0
  471. package/dist/workspace/WorkspaceShellService.d.ts.map +1 -0
  472. package/dist/workspace/WorkspaceShellService.js +273 -0
  473. package/dist/workspace/WorkspaceShellService.js.map +1 -0
  474. package/dist/workspace/fileAssociations.d.ts +12 -0
  475. package/dist/workspace/fileAssociations.d.ts.map +1 -0
  476. package/dist/workspace/fileAssociations.js +202 -0
  477. package/dist/workspace/fileAssociations.js.map +1 -0
  478. package/dist/workspace/scrollbackBuffer.d.ts +48 -0
  479. package/dist/workspace/scrollbackBuffer.d.ts.map +1 -0
  480. package/dist/workspace/scrollbackBuffer.js +94 -0
  481. package/dist/workspace/scrollbackBuffer.js.map +1 -0
  482. package/package.json +42 -0
@@ -0,0 +1,78 @@
1
+ import type { AgentHostClientIdentity, AgentTurnStartRequest } from '@xenosystem/agent-interface-contract';
2
+ import type { SubagentExecutionAdapter } from './SubagentScheduler.js';
3
+ import type { SubagentRun } from './subagentTypes.js';
4
+ /**
5
+ * Run a subagent by starting a TURN on this host — ADE §5.2, step 6's execution half.
6
+ *
7
+ * 🔴 A subagent run IS a turn, and the evidence is in the shapes rather than in an argument:
8
+ * `AgentTurnStartRequest` already carries `subagentRunId`, and `AgentRuntimeEventEnvelope` already
9
+ * carries `subagentRunId` and `parentRunId`. The turn machinery was built expecting this adapter
10
+ * to exist. Nothing here invents a second execution path, which matters because a second one
11
+ * would need its own admission, its own deadlines and its own abandonment — and would drift from
12
+ * the ones the host already enforces.
13
+ *
14
+ * What that inherits, for free and on purpose:
15
+ * - **admission** — a subagent turn counts against the same one-per-user budget as every other
16
+ * surface's, so a fan-out cannot starve the human's own work;
17
+ * - **deadlines** — `timeoutMs` is enforced by the host rather than by each adapter;
18
+ * - **abandonment** — a runtime that ignores cancellation stops consuming capacity.
19
+ *
20
+ * 🔴 It reports terminal state from the HOST'S OWN terminal events, and that is only possible
21
+ * because `turn.execution.completed` exists. Before it, the protocol could say a turn FAILED and
22
+ * could say nothing about one that succeeded, so an adapter had to infer success by
23
+ * string-matching provider-specific runtime types — the exact hand-maintained-list shape that has
24
+ * broken this codebase repeatedly. A subagent whose success was inferred that way would silently
25
+ * hang the parent fan-out the day a provider named its completion event differently.
26
+ */
27
+ export interface HostTurnSubagentExecutionAdapterOptions {
28
+ /** The host, as the narrow slice this adapter needs. Not the coordinator — see below. */
29
+ host: SubagentTurnHost;
30
+ /** Identity this adapter presents when starting turns. */
31
+ identity: AgentHostClientIdentity;
32
+ /**
33
+ * Chooses the runtime for a run. Injected rather than read from the run, because capability
34
+ * matching is `fleet.plan`'s job and duplicating it here would give the fleet two answers.
35
+ */
36
+ /**
37
+ * ⚠️ May return a PROMISE. Selection asks `fleet.plan`, which is a host round-trip, and the
38
+ * synchronous signature this once had could not express that — the composition satisfied it by
39
+ * casting the Promise to a plain object, so selection returned `undefined` on every run and every
40
+ * subagent failed with "No runtime could be selected".
41
+ */
42
+ selectProvider: (run: SubagentRun) => TurnSelection | undefined | Promise<TurnSelection | undefined>;
43
+ /** Optional per-run deadline. Absent means the host's own default governs. */
44
+ timeoutMsFor?: (run: SubagentRun) => number | undefined;
45
+ }
46
+ export interface TurnSelection {
47
+ providerId: string;
48
+ catalogRevision: string;
49
+ modelId: string;
50
+ reasoningOptionId?: string;
51
+ }
52
+ /**
53
+ * The slice of the host this adapter uses.
54
+ *
55
+ * 🔴 A PORT, not `AgentHostCoordinator`. Handed the whole coordinator, an execution adapter could
56
+ * cancel other surfaces' turns, mutate workspace state or answer elicitations — none of which are
57
+ * its business. The same reasoning the ACP lane's `coordinationPort` records: what a lane may do
58
+ * should be visible in the type it is given.
59
+ */
60
+ export interface SubagentTurnHost {
61
+ request<M extends 'turn.start' | 'turn.cancel'>(method: M, input: M extends 'turn.start' ? AgentTurnStartRequest : TurnCancelInput): Promise<unknown>;
62
+ subscribe(listener: (event: {
63
+ type: string;
64
+ payload: unknown;
65
+ }) => void): () => void;
66
+ }
67
+ interface TurnCancelInput {
68
+ command: AgentTurnStartRequest['command'];
69
+ conversationId: string;
70
+ requestId: string;
71
+ reason?: string;
72
+ }
73
+ export declare const HOST_TURN_SUBAGENT_ADAPTER_ID = "host-turn-subagent-v1";
74
+ export declare function createHostTurnSubagentExecutionAdapter(options: HostTurnSubagentExecutionAdapterOptions): SubagentExecutionAdapter & {
75
+ dispose: () => void;
76
+ };
77
+ export {};
78
+ //# sourceMappingURL=HostTurnSubagentExecutionAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HostTurnSubagentExecutionAdapter.d.ts","sourceRoot":"","sources":["../../src/subagents/HostTurnSubagentExecutionAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EACV,wBAAwB,EAEzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,uCAAuC;IACtD,yFAAyF;IACzF,IAAI,EAAE,gBAAgB,CAAA;IACtB,0DAA0D;IAC1D,QAAQ,EAAE,uBAAuB,CAAA;IACjC;;;OAGG;IACH;;;;;OAKG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IACpG,8EAA8E;IAC9E,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,CAAA;CACxD;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,EAC5C,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,CAAC,SAAS,YAAY,GAAG,qBAAqB,GAAG,eAAe,GACtE,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACrF;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAA;IACzC,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,6BAA6B,0BAA0B,CAAA;AAEpE,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,uCAAuC,GAC/C,wBAAwB,GAAG;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA2IpD"}
@@ -0,0 +1,160 @@
1
+ export const HOST_TURN_SUBAGENT_ADAPTER_ID = 'host-turn-subagent-v1';
2
+ export function createHostTurnSubagentExecutionAdapter(options) {
3
+ /** requestId -> the run it belongs to, so a terminal event can be attributed. */
4
+ const launched = new Map();
5
+ let sequence = 0;
6
+ const unsubscribe = options.host.subscribe((event) => {
7
+ const outcome = terminalOutcomeOf(event.type);
8
+ if (!outcome)
9
+ return;
10
+ const payload = event.payload;
11
+ const requestId = typeof payload?.requestId === 'string' ? payload.requestId : undefined;
12
+ if (!requestId)
13
+ return;
14
+ const entry = launched.get(requestId);
15
+ if (!entry)
16
+ return;
17
+ // Removed BEFORE reporting: the scheduler may act on the terminal event synchronously, and a
18
+ // duplicate report would try to settle a run that is already settled.
19
+ launched.delete(requestId);
20
+ entry.context.terminal({
21
+ adapterId: HOST_TURN_SUBAGENT_ADAPTER_ID,
22
+ childRequestId: requestId,
23
+ status: outcome.status,
24
+ ...(outcome.error ? { error: outcome.error } : {}),
25
+ });
26
+ });
27
+ return {
28
+ id: HOST_TURN_SUBAGENT_ADAPTER_ID,
29
+ version: '1.0.0',
30
+ capabilities: ['turn.execution'],
31
+ async launch(run, context) {
32
+ const selection = await options.selectProvider(run);
33
+ if (!selection) {
34
+ // 🔴 Reported as a terminal FAILURE, never swallowed. A run that is launched and then
35
+ // silently not started sits in `running` until its lease expires, and the parent fan-out
36
+ // waits for a child that was never going to exist.
37
+ context.terminal({
38
+ adapterId: HOST_TURN_SUBAGENT_ADAPTER_ID,
39
+ status: 'failed',
40
+ error: 'No runtime could be selected for this subagent run.',
41
+ });
42
+ return;
43
+ }
44
+ const requestId = run.childRequestId ?? `subagent-${run.id}-${++sequence}`;
45
+ const timeoutMs = options.timeoutMsFor?.(run);
46
+ launched.set(requestId, { run, context });
47
+ try {
48
+ const started = await options.host.request('turn.start', {
49
+ command: {
50
+ schemaVersion: 1,
51
+ commandId: `subagent-launch-${run.id}-${sequence}`,
52
+ // Keyed by the RUN, so a scheduler retry of the same run is a replay rather than a
53
+ // second child doing the same work twice.
54
+ idempotencyKey: `subagent-launch-${run.id}`,
55
+ client: { ...options.identity },
56
+ },
57
+ conversationId: run.childConversationId,
58
+ requestId,
59
+ mode: 'development',
60
+ selection: {
61
+ providerId: selection.providerId,
62
+ catalogRevision: selection.catalogRevision,
63
+ modelId: selection.modelId,
64
+ ...(selection.reasoningOptionId ? { reasoningOptionId: selection.reasoningOptionId } : {}),
65
+ },
66
+ prompt: run.objective,
67
+ // Bounded by the parent at create time (`boundSubagentWorkspace`), so passing it here
68
+ // cannot widen anything. Without it every child ran with no workspace at all, which
69
+ // every lane resolves to read-only with no directory access — safe, and useless for
70
+ // the editing work delegation exists to do.
71
+ ...(run.workspace === undefined ? {} : { workspace: run.workspace }),
72
+ subagentRunId: run.id,
73
+ workspaceId: run.workspaceId,
74
+ teamId: run.teamId,
75
+ agentId: run.childAgentId,
76
+ ...(timeoutMs === undefined ? {} : { timeoutMs }),
77
+ });
78
+ // 🔴 A REFUSAL IS A RESULT, NOT AN EXCEPTION. `turn.start` resolves to
79
+ // `{ success: false, code, safeError }` when the host declines — no provider, no adapter,
80
+ // at capacity, a capability the lane cannot honour. Only catching `throw` meant a refused
81
+ // turn fell through to the heartbeat below and the run sat in `running` until its lease
82
+ // expired, with zero runtime events because no turn ever began.
83
+ //
84
+ // ⚠️ The comment fifteen lines above already described this exact outcome as the thing to
85
+ // avoid. It was checked for one of the two ways it can happen.
86
+ if (started && started.success === false) {
87
+ launched.delete(requestId);
88
+ context.terminal({
89
+ adapterId: HOST_TURN_SUBAGENT_ADAPTER_ID,
90
+ childRequestId: requestId,
91
+ status: 'failed',
92
+ error: started.safeError
93
+ || `The host refused this subagent turn (${started.code || 'unknown reason'}).`,
94
+ });
95
+ return;
96
+ }
97
+ }
98
+ catch (error) {
99
+ launched.delete(requestId);
100
+ context.terminal({
101
+ adapterId: HOST_TURN_SUBAGENT_ADAPTER_ID,
102
+ childRequestId: requestId,
103
+ status: 'failed',
104
+ error: error instanceof Error ? error.message : 'The host refused this subagent turn.',
105
+ });
106
+ return;
107
+ }
108
+ // Only after the host accepted it. Heartbeating a turn that was refused would hold a lease
109
+ // for work nobody is doing.
110
+ context.heartbeat({
111
+ adapterId: HOST_TURN_SUBAGENT_ADAPTER_ID,
112
+ childRequestId: requestId,
113
+ });
114
+ },
115
+ async cancel(run) {
116
+ const requestId = run.childRequestId;
117
+ if (!requestId)
118
+ return;
119
+ // The entry stays until the host reports terminal: `turn.cancel` asks, and the honest
120
+ // record of what happened is the terminal event that follows.
121
+ await options.host.request('turn.cancel', {
122
+ command: {
123
+ schemaVersion: 1,
124
+ commandId: `subagent-cancel-${run.id}-${++sequence}`,
125
+ idempotencyKey: `subagent-cancel-${run.id}-${sequence}`,
126
+ client: { ...options.identity },
127
+ },
128
+ conversationId: run.childConversationId,
129
+ requestId,
130
+ reason: 'Subagent run cancelled.',
131
+ }).catch(() => undefined);
132
+ },
133
+ dispose() {
134
+ unsubscribe();
135
+ launched.clear();
136
+ },
137
+ };
138
+ }
139
+ /**
140
+ * Map a host turn's terminal event onto a run outcome.
141
+ *
142
+ * ⚠️ `abandoned` is reported as FAILED, not cancelled, and the distinction is the honest one: the
143
+ * host stopped tracking that turn and released its capacity, but it never claimed the work
144
+ * stopped. Recording it as `cancelled` would tell the parent the child was called off; `failed`
145
+ * says it did not deliver, which is what is actually known.
146
+ */
147
+ function terminalOutcomeOf(type) {
148
+ if (type === 'turn.execution.completed')
149
+ return { status: 'completed' };
150
+ if (type === 'turn.execution.failed')
151
+ return { status: 'failed', error: 'The subagent turn failed.' };
152
+ if (type === 'turn.execution.abandoned') {
153
+ return {
154
+ status: 'failed',
155
+ error: 'The host stopped tracking this subagent turn; its runtime may still be running.',
156
+ };
157
+ }
158
+ return undefined;
159
+ }
160
+ //# sourceMappingURL=HostTurnSubagentExecutionAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HostTurnSubagentExecutionAdapter.js","sourceRoot":"","sources":["../../src/subagents/HostTurnSubagentExecutionAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import type { CapabilityMatchRequest, CancelSubagentRunRequest, ClaimSubagentRunRequest, CreateSubagentRunRequest, HeartbeatSubagentRunRequest, ListSubagentRunsRequest, RecoverExpiredSubagentRunsRequest, SubagentAgentStatus, SubagentCapabilityMatch, SubagentRun, SubagentSchedulerRecoverySnapshot, UpdateSubagentRunRequest } from './subagentTypes.js';
2
+ export declare class SubagentRunService {
3
+ readonly storePath: string;
4
+ /**
5
+ * ⚠️ The default is the REAL user's home, and a host that runs isolated must not use it.
6
+ * `readonly` and public so `getSubagentRunService` can refuse a second, conflicting store.
7
+ */
8
+ constructor(storePath?: string);
9
+ createRun(request: CreateSubagentRunRequest): {
10
+ success: boolean;
11
+ run?: SubagentRun;
12
+ error?: string;
13
+ };
14
+ updateRun(request: UpdateSubagentRunRequest): {
15
+ success: boolean;
16
+ run?: SubagentRun;
17
+ error?: string;
18
+ };
19
+ claimNextRun(request: ClaimSubagentRunRequest): {
20
+ success: boolean;
21
+ run?: SubagentRun;
22
+ error?: string;
23
+ };
24
+ heartbeatRun(request: HeartbeatSubagentRunRequest): {
25
+ success: boolean;
26
+ run?: SubagentRun;
27
+ error?: string;
28
+ };
29
+ cancelRun(request: CancelSubagentRunRequest): {
30
+ success: boolean;
31
+ run?: SubagentRun;
32
+ error?: string;
33
+ };
34
+ recoverExpiredRuns(request?: RecoverExpiredSubagentRunsRequest): {
35
+ success: boolean;
36
+ recovered: number;
37
+ failed: number;
38
+ timedOut: number;
39
+ stale: number;
40
+ runs: SubagentRun[];
41
+ error?: string;
42
+ };
43
+ getRun(id: string): {
44
+ success: boolean;
45
+ run?: SubagentRun;
46
+ error?: string;
47
+ };
48
+ listRuns(request?: ListSubagentRunsRequest): {
49
+ success: boolean;
50
+ runs: SubagentRun[];
51
+ error?: string;
52
+ };
53
+ getDurableRecoverySnapshot(request?: RecoverExpiredSubagentRunsRequest): {
54
+ success: boolean;
55
+ snapshot?: SubagentSchedulerRecoverySnapshot;
56
+ error?: string;
57
+ };
58
+ getAgentStatus(agentId: string): {
59
+ success: boolean;
60
+ status?: SubagentAgentStatus;
61
+ error?: string;
62
+ };
63
+ matchCapabilities(request: CapabilityMatchRequest): {
64
+ success: boolean;
65
+ capabilityMatch?: SubagentCapabilityMatch;
66
+ error?: string;
67
+ };
68
+ private load;
69
+ private save;
70
+ private readStoreFile;
71
+ private backupPath;
72
+ private preserveCorruptStore;
73
+ private atomicWrite;
74
+ }
75
+ /**
76
+ * The ONE subagent run store for this process.
77
+ *
78
+ * 🔴 A SINGLETON ON PURPOSE, and that is why the path is configured here rather than by
79
+ * constructing a private instance. `SubagentScheduler` and `TeamAgentRouter` both default their
80
+ * service parameter to this function, so a composition holding its own instance while they hold
81
+ * the singleton would create runs in one store and launch them from another.
82
+ *
83
+ * ⚠️ The default path is the real user's home. A host running with its own home — a dev
84
+ * profile, a test, CI — must pass `storePath` on the FIRST call, before anything else resolves
85
+ * the singleton. Until 2026-08-18 nothing did, so an isolated host wrote its subagent runs into
86
+ * the operator's actual `~/.xeno`, and two hosts shared one roster.
87
+ */
88
+ /**
89
+ * Drop the process-wide instance so the next `getSubagentRunService` can open a different home.
90
+ *
91
+ * 🔴 FOR TESTS ONLY, and the guard above is why it must exist rather than why it should not.
92
+ * That guard is correct — two homes in one process is a real misconfiguration and silently serving
93
+ * the wrong one would present as runs that vanish. But it left a suite that composes several hosts,
94
+ * each with its own `mkdtemp` home, unable to run at all: `composeHostHeadless.test.ts` was RED from
95
+ * the day the guard landed (2026-08-18), failing 9 of 11 cases with the guard's own error.
96
+ *
97
+ * ⚠️ Calling this from production code is the bug the guard exists to catch, not a way around
98
+ * it — a running host has exactly one home for its whole life. It is exported separately, named
99
+ * unmistakably, and touches nothing but the singleton reference.
100
+ */
101
+ export declare function resetSubagentRunServiceForTests(): void;
102
+ export declare function getSubagentRunService(storePath?: string): SubagentRunService;
103
+ //# sourceMappingURL=SubagentRunService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubagentRunService.d.ts","sourceRoot":"","sources":["../../src/subagents/SubagentRunService.ts"],"names":[],"mappings":"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"}