@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,530 @@
1
+ import { getSubagentRunService, SubagentRunService } from './SubagentRunService.js';
2
+ import { getRuntimeEventStore, RuntimeEventStore } from '../runtime/RuntimeEventStore.js';
3
+ export const NO_SUBAGENT_EXECUTION_ADAPTER_ID = 'no-adapter';
4
+ const DEFAULT_SWEEP_INTERVAL_MS = 60_000;
5
+ const DEFAULT_RUN_TIMEOUT_MS = 60 * 60_000;
6
+ const DEFAULT_STALE_HEARTBEAT_MS = 5 * 60_000;
7
+ /** The worker identity a swept launch is attributed to, so a drained run is distinguishable in
8
+ * the run record from one claimed by a named worker. */
9
+ const SUBAGENT_DRAIN_WORKER_ID = 'subagent-scheduler-drain';
10
+ export class SubagentScheduler {
11
+ service;
12
+ timer = null;
13
+ statusState;
14
+ intervalMs;
15
+ maxAttempts;
16
+ runTimeoutMs;
17
+ staleHeartbeatMs;
18
+ runtimeEvents;
19
+ adapters = new Map();
20
+ constructor(service = getSubagentRunService(), runtimeEventsOrOptions = getRuntimeEventStore(), options = DEFAULT_SWEEP_INTERVAL_MS) {
21
+ this.service = service;
22
+ if (runtimeEventsOrOptions instanceof RuntimeEventStore) {
23
+ this.runtimeEvents = runtimeEventsOrOptions;
24
+ }
25
+ else {
26
+ options = runtimeEventsOrOptions;
27
+ this.runtimeEvents = getRuntimeEventStore();
28
+ }
29
+ const normalized = typeof options === 'number' ? { intervalMs: options } : options;
30
+ this.intervalMs = Math.max(10_000, Math.floor(normalized.intervalMs || DEFAULT_SWEEP_INTERVAL_MS));
31
+ this.maxAttempts = normalized.maxAttempts;
32
+ this.runTimeoutMs = Math.max(30_000, Math.floor(normalized.runTimeoutMs || DEFAULT_RUN_TIMEOUT_MS));
33
+ this.staleHeartbeatMs = Math.max(10_000, Math.floor(normalized.staleHeartbeatMs || DEFAULT_STALE_HEARTBEAT_MS));
34
+ this.statusState = {
35
+ running: false,
36
+ intervalMs: this.intervalMs,
37
+ lastRecovered: 0,
38
+ lastFailed: 0,
39
+ lastTimedOut: 0,
40
+ lastStale: 0,
41
+ lastChangedRunIds: [],
42
+ adapterIds: [],
43
+ adapterStatuses: [{
44
+ id: NO_SUBAGENT_EXECUTION_ADAPTER_ID,
45
+ version: '0.0.0',
46
+ capabilities: [],
47
+ availability: 'degraded',
48
+ degradedReason: 'No subagent execution adapter is registered; queued runs remain durable and launch-requested attempts recover by lease.',
49
+ }],
50
+ adapterAvailable: false,
51
+ adapterDegraded: true,
52
+ adapterDegradedReason: 'No subagent execution adapter is registered.',
53
+ pendingRunIds: [],
54
+ runningRunIds: [],
55
+ launchableRunIds: [],
56
+ };
57
+ }
58
+ start() {
59
+ if (this.timer)
60
+ return this.status();
61
+ this.statusState.running = true;
62
+ void this.sweep();
63
+ this.timer = setInterval(() => { void this.sweep(); }, this.intervalMs);
64
+ this.timer.unref?.();
65
+ return this.status();
66
+ }
67
+ stop() {
68
+ if (this.timer)
69
+ clearInterval(this.timer);
70
+ this.timer = null;
71
+ this.statusState.running = false;
72
+ return this.status();
73
+ }
74
+ async sweep(now = Date.now()) {
75
+ this.recover({ now });
76
+ this.drain(now);
77
+ return this.status();
78
+ }
79
+ /**
80
+ * Claim and launch queued runs until the queue yields nothing.
81
+ *
82
+ * 🔴 Added because NOTHING claimed a queued run. `claimLaunch` had 15 call sites and every one
83
+ * was a test, `start()` was never called in production, and `sweep()` only recovered stale runs —
84
+ * so `subagent.run.create` persisted a run that stayed `queued` forever with zero runtime events.
85
+ * Adapter registered, launch path implemented and covered, and no run ever reached it.
86
+ *
87
+ * ⚠️ This adds NO concurrency policy, because the policy already exists one layer down.
88
+ * `claimNextRun` counts the active runs sharing a slot key and returns a candidate only while
89
+ * that count is below `maxConcurrentRuns` (default 20), answering `{ success: true }` with no run
90
+ * when the slot is full. Draining therefore cannot exceed the ceiling however often it runs, and
91
+ * the loop terminates on the same signal.
92
+ *
93
+ * ⚠️ The iteration cap is a SAFETY STOP, not a limit. It exists so a defect in the claim path
94
+ * cannot spin this loop forever inside a timer callback; the real bound is the one above, and a
95
+ * cap hit means something is wrong rather than that the queue was long.
96
+ */
97
+ drain(now = Date.now(), maxLaunches = 25) {
98
+ // 🔴 Claim ONLY when an adapter can actually launch. `claimNextRun` sets `launch-requested`
99
+ // regardless, so draining without this check produces a claim the adapter never fulfils: the
100
+ // lease expires, `recover` returns it to `queued`, the next sweep claims it again, and each
101
+ // cycle burns an attempt until the run fails permanently. That livelock is worse than the
102
+ // stalled queue this method exists to fix.
103
+ //
104
+ // Found by the existing tests, which construct a scheduler with NO adapter and assert a swept
105
+ // run returns to `queued`. They were encoding this invariant, not merely describing old
106
+ // behaviour — the first version of this drain broke all three.
107
+ const resolved = this.resolveAdapter();
108
+ if (!resolved.adapter || resolved.status.availability !== 'available')
109
+ return 0;
110
+ let launched = 0;
111
+ while (launched < maxLaunches) {
112
+ const claimed = this.claimLaunch({
113
+ workerId: SUBAGENT_DRAIN_WORKER_ID,
114
+ now,
115
+ leaseMs: this.runTimeoutMs,
116
+ });
117
+ // No run means the queue is empty OR every eligible slot is full. Both are "stop now", and
118
+ // neither is an error — refusing to over-launch is the ceiling doing its job.
119
+ if (!claimed.success || !claimed.run)
120
+ break;
121
+ launched += 1;
122
+ }
123
+ return launched;
124
+ }
125
+ recover(request = {}) {
126
+ const now = typeof request.now === 'number' && Number.isFinite(request.now) ? request.now : Date.now();
127
+ try {
128
+ const result = this.service.recoverExpiredRuns({
129
+ ...request,
130
+ now,
131
+ maxAttempts: request.maxAttempts || this.maxAttempts,
132
+ runTimeoutMs: request.runTimeoutMs || this.runTimeoutMs,
133
+ staleHeartbeatMs: request.staleHeartbeatMs || this.staleHeartbeatMs,
134
+ });
135
+ this.statusState = {
136
+ ...this.statusState,
137
+ running: !!this.timer || this.statusState.running,
138
+ lastSweepAt: now,
139
+ lastRecovered: result.recovered,
140
+ lastFailed: result.failed,
141
+ lastTimedOut: result.timedOut,
142
+ lastStale: result.stale,
143
+ lastError: result.success ? undefined : result.error || 'Subagent recovery failed.',
144
+ lastChangedRunIds: result.runs.map((run) => run.id),
145
+ };
146
+ return result;
147
+ }
148
+ catch (err) {
149
+ const error = err instanceof Error ? err.message : String(err);
150
+ this.statusState = {
151
+ ...this.statusState,
152
+ running: !!this.timer || this.statusState.running,
153
+ lastSweepAt: now,
154
+ lastRecovered: 0,
155
+ lastFailed: 0,
156
+ lastTimedOut: 0,
157
+ lastStale: 0,
158
+ lastError: error,
159
+ lastChangedRunIds: [],
160
+ };
161
+ return { success: false, recovered: 0, failed: 0, timedOut: 0, stale: 0, runs: [], error };
162
+ }
163
+ }
164
+ registerAdapter(adapter) {
165
+ if (!adapter.id.trim())
166
+ throw new Error('Subagent execution adapter id is required.');
167
+ if (!adapter.version.trim())
168
+ throw new Error('Subagent execution adapter version is required.');
169
+ this.adapters.set(adapter.id, adapter);
170
+ }
171
+ unregisterAdapter(adapterId) {
172
+ this.adapters.delete(adapterId);
173
+ }
174
+ listAdapters() {
175
+ return this.adapterStatuses();
176
+ }
177
+ claimLaunch(request) {
178
+ const resolved = this.resolveAdapter(request.adapterId);
179
+ const executionMetadata = {
180
+ ...(request.executionMetadata || {}),
181
+ adapterAvailability: resolved.status.availability,
182
+ ...(resolved.status.degradedReason ? { adapterDegradedReason: resolved.status.degradedReason } : {}),
183
+ };
184
+ const result = this.service.claimNextRun({
185
+ ...request,
186
+ adapterId: resolved.status.id,
187
+ adapterVersion: resolved.status.version,
188
+ adapterCapabilities: resolved.status.capabilities,
189
+ executionMetadata,
190
+ });
191
+ this.statusState = {
192
+ ...this.statusState,
193
+ lastChangedRunIds: result.run ? [result.run.id] : [],
194
+ lastError: result.success ? undefined : result.error,
195
+ };
196
+ if (result.run && resolved.adapter && resolved.status.availability === 'available') {
197
+ this.launchWithAdapter(result.run, resolved.adapter);
198
+ }
199
+ else if (result.run) {
200
+ const reason = resolved.status.degradedReason || `Subagent execution adapter "${resolved.status.id}" is not available.`;
201
+ this.statusState = {
202
+ ...this.statusState,
203
+ lastChangedRunIds: [result.run.id],
204
+ lastError: reason,
205
+ };
206
+ }
207
+ return result;
208
+ }
209
+ markRunning(request) {
210
+ const result = this.service.updateRun({ ...request, status: 'running' });
211
+ this.statusState = {
212
+ ...this.statusState,
213
+ lastChangedRunIds: result.run ? [result.run.id] : [],
214
+ lastError: result.success ? undefined : result.error,
215
+ };
216
+ return result;
217
+ }
218
+ markTerminal(request) {
219
+ const result = this.service.updateRun(request);
220
+ this.statusState = {
221
+ ...this.statusState,
222
+ lastChangedRunIds: result.run ? [result.run.id] : [],
223
+ lastError: result.success ? undefined : result.error,
224
+ };
225
+ return result;
226
+ }
227
+ cancelRun(request) {
228
+ const before = this.service.getRun(request.id);
229
+ const result = this.service.cancelRun(request);
230
+ this.statusState = {
231
+ ...this.statusState,
232
+ lastChangedRunIds: result.run ? [result.run.id] : [],
233
+ lastError: result.success ? undefined : result.error,
234
+ };
235
+ const run = result.run || before.run;
236
+ if (run?.executionAdapterId) {
237
+ const adapter = this.adapters.get(run.executionAdapterId);
238
+ void Promise.resolve(adapter?.cancel?.(run)).catch((err) => {
239
+ this.statusState = {
240
+ ...this.statusState,
241
+ lastError: err instanceof Error ? err.message : String(err),
242
+ };
243
+ });
244
+ }
245
+ return result;
246
+ }
247
+ reconcileAdapterHeartbeat(event) {
248
+ const existing = this.service.getRun(event.runId);
249
+ if (!existing.success || !existing.run)
250
+ return { success: false, error: existing.error || 'Subagent run not found.' };
251
+ const adapterId = event.adapterId || existing.run.executionAdapterId;
252
+ const workerId = existing.run.leaseOwner || existing.run.launchOwner || event.workerId || `adapter:${adapterId || NO_SUBAGENT_EXECUTION_ADAPTER_ID}`;
253
+ const result = this.service.heartbeatRun({
254
+ id: event.runId,
255
+ workerId,
256
+ adapterId,
257
+ childRequestId: event.childRequestId,
258
+ leaseMs: event.leaseMs,
259
+ now: event.now,
260
+ });
261
+ this.statusState = {
262
+ ...this.statusState,
263
+ lastChangedRunIds: result.run ? [result.run.id] : [],
264
+ lastError: result.success ? undefined : result.error,
265
+ };
266
+ return result;
267
+ }
268
+ reconcileAdapterTerminal(event) {
269
+ const existing = this.service.getRun(event.runId);
270
+ if (!existing.success || !existing.run)
271
+ return { success: false, error: existing.error || 'Subagent run not found.' };
272
+ const adapterId = event.adapterId || existing.run.executionAdapterId;
273
+ const workerId = event.workerId || existing.run.leaseOwner || existing.run.launchOwner || `adapter:${adapterId || NO_SUBAGENT_EXECUTION_ADAPTER_ID}`;
274
+ const result = this.service.updateRun({
275
+ id: event.runId,
276
+ workerId,
277
+ adapterId,
278
+ childRequestId: event.childRequestId,
279
+ status: event.status,
280
+ summary: event.summary,
281
+ error: event.error,
282
+ artifacts: event.artifacts,
283
+ tokenUsage: event.tokenUsage,
284
+ endedAt: event.endedAt,
285
+ });
286
+ this.statusState = {
287
+ ...this.statusState,
288
+ lastChangedRunIds: result.run ? [result.run.id] : [],
289
+ lastError: result.success ? undefined : result.error,
290
+ };
291
+ return result;
292
+ }
293
+ hydrateTrace(request) {
294
+ const runResult = this.service.getRun(request.id);
295
+ if (!runResult.success || !runResult.run)
296
+ return { success: false, error: runResult.error || 'Subagent run not found.' };
297
+ const run = runResult.run;
298
+ const limit = Math.max(1, Math.min(Number(request.limit) || 250, 5000));
299
+ const afterSequence = typeof request.afterSequence === 'number' && Number.isFinite(request.afterSequence)
300
+ ? request.afterSequence
301
+ : undefined;
302
+ const byRun = this.runtimeEvents.list({
303
+ conversationId: run.childConversationId,
304
+ subagentRunId: run.id,
305
+ afterSequence,
306
+ limit,
307
+ });
308
+ if (!byRun.success)
309
+ return { success: false, error: byRun.error || 'Failed to load subagent runtime trace.' };
310
+ if (byRun.events.length > 0) {
311
+ return {
312
+ success: true,
313
+ trace: {
314
+ run,
315
+ events: byRun.events,
316
+ artifacts: run.artifacts,
317
+ traceSource: 'subagent-run-id',
318
+ schedulerStatus: this.status(),
319
+ },
320
+ };
321
+ }
322
+ if (run.childRequestId) {
323
+ const byRequest = this.runtimeEvents.list({
324
+ conversationId: run.childConversationId,
325
+ requestId: run.childRequestId,
326
+ afterSequence,
327
+ limit,
328
+ });
329
+ if (!byRequest.success)
330
+ return { success: false, error: byRequest.error || 'Failed to load subagent runtime trace.' };
331
+ if (byRequest.events.length > 0) {
332
+ return {
333
+ success: true,
334
+ trace: {
335
+ run,
336
+ events: byRequest.events,
337
+ artifacts: run.artifacts,
338
+ traceSource: 'child-request-id',
339
+ schedulerStatus: this.status(),
340
+ },
341
+ };
342
+ }
343
+ }
344
+ const byConversation = this.runtimeEvents.list({
345
+ conversationId: run.childConversationId,
346
+ afterSequence,
347
+ limit,
348
+ });
349
+ if (!byConversation.success)
350
+ return { success: false, error: byConversation.error || 'Failed to load subagent runtime trace.' };
351
+ return {
352
+ success: true,
353
+ trace: {
354
+ run,
355
+ events: byConversation.events,
356
+ artifacts: run.artifacts,
357
+ traceSource: 'child-conversation',
358
+ schedulerStatus: this.status(),
359
+ },
360
+ };
361
+ }
362
+ status() {
363
+ const durable = this.service.getDurableRecoverySnapshot({
364
+ runTimeoutMs: this.runTimeoutMs,
365
+ staleHeartbeatMs: this.staleHeartbeatMs,
366
+ });
367
+ const snapshot = durable.snapshot;
368
+ const adapterStatuses = this.adapterStatuses();
369
+ const adapterAvailable = adapterStatuses.some((adapter) => adapter.availability === 'available');
370
+ const adapterDegraded = adapterStatuses.length === 0 || adapterStatuses.some((adapter) => adapter.availability !== 'available');
371
+ const adapterDegradedReason = adapterStatuses.find((adapter) => adapter.availability !== 'available')?.degradedReason;
372
+ return {
373
+ ...this.statusState,
374
+ running: !!this.timer || this.statusState.running,
375
+ durable: snapshot,
376
+ adapterIds: Array.from(this.adapters.keys()).sort(),
377
+ adapterStatuses,
378
+ adapterAvailable,
379
+ adapterDegraded,
380
+ adapterDegradedReason,
381
+ pendingRunIds: snapshot?.pendingRunIds || [],
382
+ runningRunIds: snapshot?.runningRunIds || [],
383
+ launchableRunIds: snapshot?.launchableRunIds || [],
384
+ };
385
+ }
386
+ launchWithAdapter(run, adapter) {
387
+ const context = {
388
+ heartbeat: (event) => this.reconcileAdapterHeartbeat({ ...event, runId: run.id, adapterId: event.adapterId || adapter.id }),
389
+ terminal: (event) => this.reconcileAdapterTerminal({ ...event, runId: run.id, adapterId: event.adapterId || adapter.id }),
390
+ };
391
+ void Promise.resolve().then(() => adapter.launch?.(run, context)).then((result) => {
392
+ if (!result)
393
+ return;
394
+ if (result.status === 'waiting-for-permission' || result.status === 'waiting-for-user') {
395
+ const waiting = this.service.updateRun({
396
+ id: run.id,
397
+ workerId: run.leaseOwner || run.launchOwner || result.workerId,
398
+ adapterId: adapter.id,
399
+ childRequestId: result.childRequestId,
400
+ status: result.status,
401
+ });
402
+ this.statusState = {
403
+ ...this.statusState,
404
+ lastChangedRunIds: waiting.run ? [waiting.run.id] : [],
405
+ lastError: waiting.success ? undefined : waiting.error,
406
+ };
407
+ return;
408
+ }
409
+ if (result.childRequestId || result.status === 'running') {
410
+ this.reconcileAdapterHeartbeat({
411
+ runId: run.id,
412
+ workerId: run.leaseOwner || run.launchOwner || result.workerId,
413
+ adapterId: adapter.id,
414
+ childRequestId: result.childRequestId,
415
+ now: run.heartbeatAt || run.launchRequestedAt,
416
+ });
417
+ }
418
+ }).catch((err) => {
419
+ const error = err instanceof Error ? err.message : String(err);
420
+ const failed = this.service.updateRun({
421
+ id: run.id,
422
+ workerId: run.leaseOwner || run.launchOwner,
423
+ adapterId: adapter.id,
424
+ status: 'failed',
425
+ error: `Subagent adapter launch failed: ${error}`,
426
+ });
427
+ this.statusState = {
428
+ ...this.statusState,
429
+ lastChangedRunIds: failed.run ? [failed.run.id] : [run.id],
430
+ lastError: `Subagent adapter launch failed: ${error}`,
431
+ };
432
+ });
433
+ }
434
+ resolveAdapter(requestedAdapterId) {
435
+ const requested = requestedAdapterId ? this.adapters.get(requestedAdapterId) : undefined;
436
+ const adapter = requested || (!requestedAdapterId ? Array.from(this.adapters.values()).sort((a, b) => a.id.localeCompare(b.id))[0] : undefined);
437
+ if (!adapter) {
438
+ return {
439
+ status: {
440
+ id: requestedAdapterId || NO_SUBAGENT_EXECUTION_ADAPTER_ID,
441
+ version: '0.0.0',
442
+ capabilities: [],
443
+ availability: 'degraded',
444
+ degradedReason: requestedAdapterId
445
+ ? `Subagent execution adapter "${requestedAdapterId}" is not registered.`
446
+ : 'No subagent execution adapter is registered; run claim is durable and will recover by lease.',
447
+ },
448
+ };
449
+ }
450
+ const status = this.adapterStatus(adapter);
451
+ return { adapter, status };
452
+ }
453
+ adapterStatuses() {
454
+ const statuses = Array.from(this.adapters.values())
455
+ .map((adapter) => this.adapterStatus(adapter))
456
+ .sort((a, b) => a.id.localeCompare(b.id));
457
+ if (statuses.length > 0)
458
+ return statuses;
459
+ return [{
460
+ id: NO_SUBAGENT_EXECUTION_ADAPTER_ID,
461
+ version: '0.0.0',
462
+ capabilities: [],
463
+ availability: 'degraded',
464
+ degradedReason: 'No subagent execution adapter is registered; queued runs remain durable and launch-requested attempts recover by lease.',
465
+ }];
466
+ }
467
+ adapterStatus(adapter) {
468
+ const base = {
469
+ id: adapter.id,
470
+ version: adapter.version,
471
+ capabilities: [...adapter.capabilities].sort(),
472
+ availability: adapter.launch ? 'available' : 'degraded',
473
+ degradedReason: adapter.launch ? undefined : `Subagent execution adapter "${adapter.id}" has no launch handler.`,
474
+ };
475
+ try {
476
+ const reported = adapter.status?.();
477
+ if (reported && !(reported instanceof Promise)) {
478
+ return {
479
+ ...base,
480
+ ...reported,
481
+ id: adapter.id,
482
+ version: reported.version || adapter.version,
483
+ capabilities: normalizeAdapterCapabilities(reported.capabilities.length ? reported.capabilities : adapter.capabilities),
484
+ };
485
+ }
486
+ }
487
+ catch (err) {
488
+ return {
489
+ ...base,
490
+ availability: 'degraded',
491
+ degradedReason: err instanceof Error ? err.message : String(err),
492
+ };
493
+ }
494
+ return base;
495
+ }
496
+ }
497
+ function normalizeAdapterCapabilities(capabilities) {
498
+ return Array.from(new Set(capabilities.map((capability) => capability.trim()).filter(Boolean))).sort();
499
+ }
500
+ let singleton = null;
501
+ /**
502
+ * Register the scheduler the composition actually runs.
503
+ *
504
+ * 🔴 Without this, `getSubagentScheduler()` lazily built a SECOND scheduler on first read — one
505
+ * that had never been started, had no adapters registered and had scheduled nothing — and
506
+ * `SupportDiagnosticsService` reported that object's status as the system's. The bundle an
507
+ * operator collects during an incident therefore said `running: false`, `adapterIds: []`,
508
+ * `adapterDegraded: true` no matter what the real scheduler was doing, while `pendingRunIds` came
509
+ * from the shared run service and looked real. Plausible data with a false verdict is worse than
510
+ * no data: it points the operator at the scheduler when the scheduler is fine.
511
+ */
512
+ export function setSubagentScheduler(instance) {
513
+ singleton = instance;
514
+ }
515
+ /**
516
+ * The registered scheduler, or null — it NEVER constructs one.
517
+ *
518
+ * Diagnostics must use this rather than `getSubagentScheduler()`. "No scheduler is composed" and
519
+ * "the scheduler is idle" are different facts, and a getter that manufactures an idle scheduler
520
+ * to answer the question makes them indistinguishable. Flag it, do not fake it.
521
+ */
522
+ export function peekSubagentScheduler() {
523
+ return singleton;
524
+ }
525
+ export function getSubagentScheduler() {
526
+ if (!singleton)
527
+ singleton = new SubagentScheduler();
528
+ return singleton;
529
+ }
530
+ //# sourceMappingURL=SubagentScheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubagentScheduler.js","sourceRoot":"","sources":["../../src/subagents/SubagentScheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { SubagentRunService } from './SubagentRunService.js';
2
+ import type { SubagentExpectedArtifactType, SubagentRun, SubagentRuntimeSelectionMetadata } from './subagentTypes.js';
3
+ export interface TeamAgentRouterAgent {
4
+ id: string;
5
+ name: string;
6
+ model?: string | undefined;
7
+ templateName?: string | undefined;
8
+ systemPrompt?: string | undefined;
9
+ capabilities?: Record<string, unknown> | undefined;
10
+ allowedDirectories?: string[] | undefined;
11
+ allowedApps?: string[] | undefined;
12
+ tools?: string[] | undefined;
13
+ rateLimits?: {
14
+ tokensPerDay?: number | undefined;
15
+ requestsPerMinute?: number | undefined;
16
+ } | undefined;
17
+ permissionProfile?: string | undefined;
18
+ runtimeSelection?: SubagentRuntimeSelectionMetadata | undefined;
19
+ }
20
+ export interface TeamAgentRouterTeam {
21
+ id: string;
22
+ name: string;
23
+ allowedDirectories?: string[] | undefined;
24
+ allowedApps?: string[] | undefined;
25
+ agents?: TeamAgentRouterAgent[] | undefined;
26
+ rateLimits?: {
27
+ tokensPerDay?: number | undefined;
28
+ requestsPerMinute?: number | undefined;
29
+ } | undefined;
30
+ teamAgentPolicy?: Partial<TeamAgentCallPolicy> | undefined;
31
+ callPolicy?: Partial<TeamAgentCallPolicy> | undefined;
32
+ }
33
+ export interface TeamAgentRouterWorkspace {
34
+ id: string;
35
+ name: string;
36
+ directories?: string[] | undefined;
37
+ teams?: TeamAgentRouterTeam[] | undefined;
38
+ rateLimits?: {
39
+ tokensPerDay?: number | undefined;
40
+ requestsPerMinute?: number | undefined;
41
+ } | undefined;
42
+ }
43
+ export interface TeamAgentCallPolicy {
44
+ callableAgentIds: string[];
45
+ deniedAgentIds: string[];
46
+ maxConcurrentChildRuns: number;
47
+ maxChildDepth: number;
48
+ maxTokens?: number | undefined;
49
+ maxCredits?: number | undefined;
50
+ maxRuntimeMs?: number | undefined;
51
+ contextAttachmentLimit: number;
52
+ allowedExpectedArtifacts: SubagentExpectedArtifactType[];
53
+ allowFurtherDelegation: boolean;
54
+ cancellationPropagation: boolean;
55
+ }
56
+ export interface CreateTeamAgentDelegationRequest {
57
+ workspaceId: string;
58
+ teamId: string;
59
+ parentAgentId: string;
60
+ parentConversationId: string;
61
+ parentRequestId?: string | undefined;
62
+ targetAgentId?: string | undefined;
63
+ targetAgentName?: string | undefined;
64
+ childConversationId?: string | undefined;
65
+ objective: string;
66
+ contextAttachmentIds?: string[] | undefined;
67
+ expectedArtifacts?: SubagentExpectedArtifactType[] | undefined;
68
+ parentDepth?: number | undefined;
69
+ requiredCapabilities?: string[] | undefined;
70
+ policy?: Partial<TeamAgentCallPolicy> | undefined;
71
+ }
72
+ export interface TeamAgentDelegationRoute {
73
+ workspaceId: string;
74
+ workspaceName: string;
75
+ teamId: string;
76
+ teamName: string;
77
+ parentAgentId: string;
78
+ parentAgentName: string;
79
+ targetAgentId: string;
80
+ targetAgentName: string;
81
+ childConversationId: string;
82
+ allowedDirectories: string[];
83
+ allowedApps: string[];
84
+ expectedArtifacts: SubagentExpectedArtifactType[];
85
+ targetRuntimeSelection?: SubagentRuntimeSelectionMetadata | undefined;
86
+ maxConcurrentChildRuns: number;
87
+ depth: number;
88
+ }
89
+ export interface TeamAgentDelegationResult {
90
+ success: boolean;
91
+ run?: SubagentRun | undefined;
92
+ route?: TeamAgentDelegationRoute | undefined;
93
+ policy?: TeamAgentCallPolicy | undefined;
94
+ error?: string | undefined;
95
+ }
96
+ export declare class TeamAgentRouter {
97
+ private readonly service;
98
+ private readonly readWorkspaces;
99
+ constructor(service?: SubagentRunService, readWorkspaces?: () => TeamAgentRouterWorkspace[]);
100
+ createDelegation(input: CreateTeamAgentDelegationRequest): TeamAgentDelegationResult;
101
+ private resolveTargetAgent;
102
+ }
103
+ export declare function getTeamAgentRouter(): TeamAgentRouter;
104
+ //# sourceMappingURL=TeamAgentRouter.d.ts.map