@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,43 @@
1
+ import type { AgentSubagentRunSummary } from '@xenosystem/agent-interface-contract';
2
+ import type { CancelSubagentRunRequest, CreateSubagentRunRequest, ListSubagentRunsRequest, SubagentRun } from './subagentTypes.js';
3
+ /**
4
+ * What the host may do with subagent runs — ADE §5.2.
5
+ *
6
+ * 🔴 A PORT, and it deliberately spans TWO objects. `createRun` and `listRuns` belong to
7
+ * `SubagentRunService`; `cancelRun` belongs to `SubagentScheduler`, because cancelling a run whose
8
+ * adapter has already launched it has to reach that adapter. Handing the host either object alone
9
+ * would push that distinction onto every caller, and handing it both would put the whole
10
+ * lifecycle — `claimNextRun`, `markRunning`, `heartbeatRun`, `recoverExpiredRuns` — within reach
11
+ * of protocol handlers that have no business driving it.
12
+ *
13
+ * ⚠️ The omissions are the design. A surface must not be able to mark a run running, heartbeat it,
14
+ * or settle it: those are the scheduler's, driven by an execution adapter that actually knows
15
+ * what happened. A protocol that exposed them would let a client report work it never did.
16
+ */
17
+ export interface SubagentRunPort {
18
+ createRun(request: CreateSubagentRunRequest): {
19
+ success: boolean;
20
+ run?: SubagentRun;
21
+ error?: string;
22
+ };
23
+ listRuns(request: ListSubagentRunsRequest): {
24
+ success: boolean;
25
+ runs: SubagentRun[];
26
+ error?: string;
27
+ };
28
+ cancelRun(request: CancelSubagentRunRequest): {
29
+ success: boolean;
30
+ run?: SubagentRun;
31
+ error?: string;
32
+ };
33
+ }
34
+ /**
35
+ * Project a run onto the wire shape.
36
+ *
37
+ * Deliberately narrow: a `SubagentRun` carries capability matches, tool policy, budgets, queue
38
+ * metadata and delegation records, none of which a surface needs to render a list and all of
39
+ * which would become protocol the moment they crossed. Widening this later is additive; narrowing
40
+ * it after clients depend on it is not.
41
+ */
42
+ export declare function summariseSubagentRun(run: SubagentRun): AgentSubagentRunSummary;
43
+ //# sourceMappingURL=subagentRunPort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagentRunPort.d.ts","sourceRoot":"","sources":["../../src/subagents/subagentRunPort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AACnF,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EACZ,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,OAAO,EAAE,wBAAwB,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,WAAW,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACrG,QAAQ,CAAC,OAAO,EAAE,uBAAuB,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACrG,SAAS,CAAC,OAAO,EAAE,wBAAwB,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,WAAW,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACtG;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,uBAAuB,CAc9E"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Project a run onto the wire shape.
3
+ *
4
+ * Deliberately narrow: a `SubagentRun` carries capability matches, tool policy, budgets, queue
5
+ * metadata and delegation records, none of which a surface needs to render a list and all of
6
+ * which would become protocol the moment they crossed. Widening this later is additive; narrowing
7
+ * it after clients depend on it is not.
8
+ */
9
+ export function summariseSubagentRun(run) {
10
+ return {
11
+ id: run.id,
12
+ status: run.status,
13
+ parentConversationId: run.parentConversationId,
14
+ childConversationId: run.childConversationId,
15
+ childAgentId: run.childAgentId,
16
+ objective: run.objective,
17
+ createdAt: run.createdAt,
18
+ updatedAt: run.updatedAt,
19
+ ...(run.startedAt === undefined ? {} : { startedAt: run.startedAt }),
20
+ ...(run.endedAt === undefined ? {} : { endedAt: run.endedAt }),
21
+ ...(run.error === undefined ? {} : { error: run.error }),
22
+ };
23
+ }
24
+ //# sourceMappingURL=subagentRunPort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagentRunPort.js","sourceRoot":"","sources":["../../src/subagents/subagentRunPort.ts"],"names":[],"mappings":"AA4BA;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAgB;IACnD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;QAC9C,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;QAC5C,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QACpE,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9D,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;KACzD,CAAA;AACH,CAAC"}
@@ -0,0 +1,330 @@
1
+ import type { AgentTurnWorkspace } from '@xenosystem/agent-interface-contract';
2
+ export type SubagentRunStatus = 'queued' | 'launch-requested' | 'running' | 'waiting-for-permission' | 'waiting-for-user' | 'completed' | 'failed' | 'cancelled';
3
+ export type SubagentAvailability = 'idle' | 'busy' | 'offline' | 'disabled' | 'rate-limited';
4
+ export interface SubagentCapabilityMatch {
5
+ score: number;
6
+ reasons: string[];
7
+ missingCapabilities: string[];
8
+ }
9
+ export interface SubagentToolPolicy {
10
+ allowedTools: string[];
11
+ allowedDirectories: string[];
12
+ allowedApps: string[];
13
+ permissionMode: 'inherit-parent' | 'ask-parent' | 'ask-user' | 'deny';
14
+ }
15
+ export interface SubagentBudgetPolicy {
16
+ maxTokens?: number | undefined;
17
+ maxCredits?: number | undefined;
18
+ estimatedTokens?: number | undefined;
19
+ estimatedCredits?: number | undefined;
20
+ spentTokens?: number | undefined;
21
+ spentCredits?: number | undefined;
22
+ }
23
+ export type SubagentExpectedArtifactType = 'answer' | 'file' | 'diff' | 'diagnostic' | 'report';
24
+ export interface SubagentDelegationPolicy {
25
+ maxTokens?: number | undefined;
26
+ maxCredits?: number | undefined;
27
+ maxRuntimeMs?: number | undefined;
28
+ maxConcurrentChildRuns?: number | undefined;
29
+ maxChildDepth?: number | undefined;
30
+ allowFurtherDelegation: boolean;
31
+ cancellationPropagation: boolean;
32
+ }
33
+ export interface SubagentRuntimeSelectionMetadata {
34
+ providerKind: 'sdk-native' | 'cli-app-server' | 'cli-remote' | 'acp-provider';
35
+ providerId: string;
36
+ acpAgentConfigId?: string | undefined;
37
+ cliAppServerEndpoint?: string | undefined;
38
+ cliAppServerTokenEnvKey?: string | undefined;
39
+ remoteBackendId?: string | undefined;
40
+ }
41
+ export interface SubagentDelegationMetadata {
42
+ routerVersion: 1;
43
+ routedAt: number;
44
+ parentConversationId: string;
45
+ parentRequestId?: string | undefined;
46
+ parentAgentId: string;
47
+ targetAgentId: string;
48
+ workspaceId: string;
49
+ teamId: string;
50
+ contextAttachmentIds: string[];
51
+ expectedArtifacts: SubagentExpectedArtifactType[];
52
+ targetRuntimeSelection?: SubagentRuntimeSelectionMetadata | undefined;
53
+ policy: SubagentDelegationPolicy;
54
+ depth: number;
55
+ }
56
+ export interface SubagentQueueMetadata {
57
+ queuedAt: number;
58
+ priority: number;
59
+ slotKey: string;
60
+ slotOrdinal: number;
61
+ maxConcurrentRuns: number;
62
+ }
63
+ export interface SubagentCancellationPropagation {
64
+ requestedAt: number;
65
+ requestedBy?: string | undefined;
66
+ requestedFrom?: 'parent' | 'child' | 'scheduler' | 'user' | 'unknown' | undefined;
67
+ reason?: string | undefined;
68
+ parentConversationId: string;
69
+ parentRequestId?: string | undefined;
70
+ childConversationId: string;
71
+ childRequestId?: string | undefined;
72
+ parentAgentId: string;
73
+ childAgentId: string;
74
+ propagateToChild: boolean;
75
+ propagatedAt?: number | undefined;
76
+ propagationStatus: 'pending' | 'propagated' | 'not-applicable';
77
+ }
78
+ export interface SubagentArtifact {
79
+ id: string;
80
+ type: 'file' | 'diff' | 'terminal' | 'browser' | 'note' | 'unknown';
81
+ title: string;
82
+ path?: string | undefined;
83
+ conversationId?: string | undefined;
84
+ messageId?: string | undefined;
85
+ handoff?: SubagentArtifactHandoffMetadata | undefined;
86
+ metadata?: Record<string, unknown> | undefined;
87
+ createdAt: number;
88
+ }
89
+ export interface SubagentArtifactHandoffMetadata {
90
+ subagentRunId: string;
91
+ parentConversationId: string;
92
+ childConversationId: string;
93
+ parentAgentId: string;
94
+ childAgentId: string;
95
+ parentRequestId?: string | undefined;
96
+ childRequestId?: string | undefined;
97
+ handedOffAt: number;
98
+ provenance?: {
99
+ createdByAgentId?: string | undefined;
100
+ createdByConversationId?: string | undefined;
101
+ createdByRequestId?: string | undefined;
102
+ sourcePath?: string | undefined;
103
+ sourceMessageId?: string | undefined;
104
+ };
105
+ }
106
+ export interface SubagentRunRecoveryEvent {
107
+ at: number;
108
+ action: 'requeued' | 'failed' | 'cancelled';
109
+ reason: 'lease-expired' | 'heartbeat-stale' | 'timeout' | 'manual-cancel' | 'scheduler-cancel';
110
+ workerId?: string | undefined;
111
+ attempt?: number | undefined;
112
+ detail?: string | undefined;
113
+ }
114
+ export type SubagentExecutionAttemptStatus = 'launch-requested' | 'running' | 'completed' | 'failed' | 'cancelled' | 'expired';
115
+ export type SubagentExecutionAdapterAvailability = 'available' | 'degraded' | 'unavailable';
116
+ export interface SubagentExecutionAttempt {
117
+ attempt: number;
118
+ workerId: string;
119
+ adapterId?: string | undefined;
120
+ adapterVersion?: string | undefined;
121
+ adapterCapabilities?: string[] | undefined;
122
+ status: SubagentExecutionAttemptStatus;
123
+ launchRequestedAt: number;
124
+ launchRequestExpiresAt?: number | undefined;
125
+ runningAt?: number | undefined;
126
+ endedAt?: number | undefined;
127
+ childRequestId?: string | undefined;
128
+ error?: string | undefined;
129
+ metadata?: Record<string, unknown> | undefined;
130
+ }
131
+ export interface SubagentRun {
132
+ id: string;
133
+ parentConversationId: string;
134
+ parentRequestId: string;
135
+ parentAgentId: string;
136
+ childConversationId: string;
137
+ childRequestId?: string | undefined;
138
+ childAgentId: string;
139
+ workspaceId: string;
140
+ teamId: string;
141
+ createdAt: number;
142
+ updatedAt: number;
143
+ startedAt?: number | undefined;
144
+ endedAt?: number | undefined;
145
+ status: SubagentRunStatus;
146
+ objective: string;
147
+ role?: string | undefined;
148
+ /** Already bounded by the parent at create time — the adapter passes it through verbatim. */
149
+ workspace?: AgentTurnWorkspace | undefined;
150
+ capabilityMatch: SubagentCapabilityMatch;
151
+ toolPolicy: SubagentToolPolicy;
152
+ parentAgentName?: string | undefined;
153
+ childAgentName?: string | undefined;
154
+ workspaceName?: string | undefined;
155
+ teamName?: string | undefined;
156
+ summary?: string | undefined;
157
+ error?: string | undefined;
158
+ artifacts: SubagentArtifact[];
159
+ budget?: SubagentBudgetPolicy | undefined;
160
+ queue?: SubagentQueueMetadata | undefined;
161
+ cancellation?: SubagentCancellationPropagation | undefined;
162
+ tokenUsage?: {
163
+ input: number;
164
+ output: number;
165
+ total: number;
166
+ } | undefined;
167
+ delegation?: SubagentDelegationMetadata | undefined;
168
+ leaseOwner?: string | undefined;
169
+ leaseExpiresAt?: number | undefined;
170
+ heartbeatAt?: number | undefined;
171
+ attempt?: number | undefined;
172
+ cancellationReason?: string | undefined;
173
+ cancelledAt?: number | undefined;
174
+ timedOutAt?: number | undefined;
175
+ terminalReason?: 'completed' | 'failed' | 'cancelled' | 'timeout' | 'lease-expired' | 'heartbeat-stale' | undefined;
176
+ recoveryHistory?: SubagentRunRecoveryEvent[] | undefined;
177
+ launchOwner?: string | undefined;
178
+ launchRequestedAt?: number | undefined;
179
+ launchRequestExpiresAt?: number | undefined;
180
+ executionAdapterId?: string | undefined;
181
+ executionMetadata?: Record<string, unknown> | undefined;
182
+ executionAttempts?: SubagentExecutionAttempt[] | undefined;
183
+ }
184
+ export interface CreateSubagentRunRequest {
185
+ parentConversationId: string;
186
+ parentRequestId?: string | undefined;
187
+ parentAgentId: string;
188
+ childConversationId: string;
189
+ childAgentId: string;
190
+ workspaceId: string;
191
+ teamId: string;
192
+ objective: string;
193
+ role?: string | undefined;
194
+ /** Already bounded by the parent by the caller (`boundSubagentWorkspace`); stored verbatim. */
195
+ workspace?: AgentTurnWorkspace | undefined;
196
+ capabilityMatch?: Partial<SubagentCapabilityMatch> | undefined;
197
+ toolPolicy?: Partial<SubagentToolPolicy> | undefined;
198
+ parentAgentName?: string | undefined;
199
+ childAgentName?: string | undefined;
200
+ workspaceName?: string | undefined;
201
+ teamName?: string | undefined;
202
+ requiredCapabilities?: string[] | undefined;
203
+ budget?: SubagentBudgetPolicy | undefined;
204
+ queue?: Partial<Pick<SubagentQueueMetadata, 'priority' | 'slotKey' | 'maxConcurrentRuns'>> | undefined;
205
+ delegation?: Partial<SubagentDelegationMetadata> | undefined;
206
+ }
207
+ export interface UpdateSubagentRunRequest {
208
+ id: string;
209
+ workerId?: string | undefined;
210
+ adapterId?: string | undefined;
211
+ parentRequestId?: string | undefined;
212
+ childConversationId?: string | undefined;
213
+ childRequestId?: string | undefined;
214
+ status?: SubagentRunStatus | undefined;
215
+ startedAt?: number | undefined;
216
+ endedAt?: number | undefined;
217
+ summary?: string | undefined;
218
+ error?: string | undefined;
219
+ artifacts?: SubagentArtifact[] | undefined;
220
+ tokenUsage?: {
221
+ input: number;
222
+ output: number;
223
+ total: number;
224
+ } | undefined;
225
+ }
226
+ export interface ListSubagentRunsRequest {
227
+ parentConversationId?: string | undefined;
228
+ parentAgentId?: string | undefined;
229
+ childConversationId?: string | undefined;
230
+ childAgentId?: string | undefined;
231
+ workspaceId?: string | undefined;
232
+ teamId?: string | undefined;
233
+ status?: SubagentRunStatus | undefined;
234
+ activeOnly?: boolean | undefined;
235
+ limit?: number | undefined;
236
+ }
237
+ export interface ClaimSubagentRunRequest {
238
+ id?: string | undefined;
239
+ workerId: string;
240
+ workspaceId?: string | undefined;
241
+ teamId?: string | undefined;
242
+ childAgentId?: string | undefined;
243
+ slotKey?: string | undefined;
244
+ maxConcurrentRuns?: number | undefined;
245
+ leaseMs?: number | undefined;
246
+ adapterId?: string | undefined;
247
+ adapterVersion?: string | undefined;
248
+ adapterCapabilities?: string[] | undefined;
249
+ executionMetadata?: Record<string, unknown> | undefined;
250
+ now?: number | undefined;
251
+ }
252
+ export interface HeartbeatSubagentRunRequest {
253
+ id: string;
254
+ workerId: string;
255
+ adapterId?: string | undefined;
256
+ childRequestId?: string | undefined;
257
+ leaseMs?: number | undefined;
258
+ now?: number | undefined;
259
+ }
260
+ export interface CancelSubagentRunRequest {
261
+ id: string;
262
+ reason?: string | undefined;
263
+ requestedBy?: string | undefined;
264
+ requestedFrom?: 'parent' | 'child' | 'scheduler' | 'user' | 'unknown' | undefined;
265
+ propagateToChild?: boolean | undefined;
266
+ propagatedAt?: number | undefined;
267
+ }
268
+ export interface RecoverExpiredSubagentRunsRequest {
269
+ now?: number | undefined;
270
+ maxAttempts?: number | undefined;
271
+ runTimeoutMs?: number | undefined;
272
+ staleHeartbeatMs?: number | undefined;
273
+ }
274
+ export interface HydrateSubagentTraceRequest {
275
+ id: string;
276
+ afterSequence?: number | undefined;
277
+ limit?: number | undefined;
278
+ }
279
+ export interface SubagentSchedulerRecoverySnapshot {
280
+ now: number;
281
+ queuedCount: number;
282
+ launchRequestedCount: number;
283
+ runningCount: number;
284
+ waitingCount: number;
285
+ terminalCount: number;
286
+ activeRunIds: string[];
287
+ pendingRunIds: string[];
288
+ launchableRunIds: string[];
289
+ launchRequestedRunIds: string[];
290
+ runningRunIds: string[];
291
+ activeHeartbeats: Array<{
292
+ runId: string;
293
+ workerId?: string | undefined;
294
+ heartbeatAt?: number | undefined;
295
+ leaseExpiresAt?: number | undefined;
296
+ }>;
297
+ recoverableRunIds: string[];
298
+ timedOutRunIds: string[];
299
+ staleRunIds: string[];
300
+ oldestQueuedAt?: number | undefined;
301
+ oldestLaunchRequestedAt?: number | undefined;
302
+ oldestRunningAt?: number | undefined;
303
+ }
304
+ export interface SubagentAgentStatus {
305
+ agentId: string;
306
+ availability: SubagentAvailability;
307
+ activeRunCount: number;
308
+ activeRunIds: string[];
309
+ activeRuns: SubagentRun[];
310
+ lastRunAt?: number | undefined;
311
+ }
312
+ export interface CapabilitySource {
313
+ name?: string | undefined;
314
+ model?: string | undefined;
315
+ templateName?: string | undefined;
316
+ systemPrompt?: string | undefined;
317
+ capabilities?: Record<string, unknown> | undefined;
318
+ allowedDirectories?: string[] | undefined;
319
+ allowedApps?: string[] | undefined;
320
+ tools?: string[] | undefined;
321
+ }
322
+ export interface CapabilityMatchRequest {
323
+ target?: CapabilitySource | undefined;
324
+ objective?: string | undefined;
325
+ requiredCapabilities?: string[] | undefined;
326
+ requiredDirectories?: string[] | undefined;
327
+ requiredApps?: string[] | undefined;
328
+ busy?: boolean | undefined;
329
+ }
330
+ //# sourceMappingURL=subagentTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagentTypes.d.ts","sourceRoot":"","sources":["../../src/subagents/subagentTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAE9E,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,kBAAkB,GAClB,SAAS,GACT,wBAAwB,GACxB,kBAAkB,GAClB,WAAW,GACX,QAAQ,GACR,WAAW,CAAA;AAEf,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,cAAc,CAAA;AAE5F,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,mBAAmB,EAAE,MAAM,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,cAAc,EAAE,gBAAgB,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CAAA;CACtE;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,MAAM,4BAA4B,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAA;AAE/F,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,sBAAsB,EAAE,OAAO,CAAA;IAC/B,uBAAuB,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,gCAAgC;IAC/C,YAAY,EAAE,YAAY,GAAG,gBAAgB,GAAG,YAAY,GAAG,cAAc,CAAA;IAC7E,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,CAAC,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,iBAAiB,EAAE,4BAA4B,EAAE,CAAA;IACjD,sBAAsB,CAAC,EAAE,gCAAgC,GAAG,SAAS,CAAA;IACrE,MAAM,EAAE,wBAAwB,CAAA;IAChC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;IACjF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,iBAAiB,EAAE,SAAS,GAAG,YAAY,GAAG,gBAAgB,CAAA;CAC/D;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;IACnE,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC9C,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,MAAM,CAAA;IACrB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE;QACX,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5C,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACrC,CAAA;CACF;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC3C,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,SAAS,GAAG,eAAe,GAAG,kBAAkB,CAAA;IAC9F,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,MAAM,8BAA8B,GACtC,kBAAkB,GAClB,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,GACX,SAAS,CAAA;AAEb,MAAM,MAAM,oCAAoC,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,CAAA;AAE3F,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC1C,MAAM,EAAE,8BAA8B,CAAA;IACtC,iBAAiB,EAAE,MAAM,CAAA;IACzB,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC/C;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,oBAAoB,EAAE,MAAM,CAAA;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,MAAM,EAAE,iBAAiB,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAC1C,eAAe,EAAE,uBAAuB,CAAA;IACxC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,gBAAgB,EAAE,CAAA;IAC7B,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAA;IACzC,KAAK,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACzC,YAAY,CAAC,EAAE,+BAA+B,GAAG,SAAS,CAAA;IAC1D,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,GAAG,SAAS,CAAA;IACb,UAAU,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAA;IACnD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,cAAc,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,GAAG,SAAS,CAAA;IACnH,eAAe,CAAC,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAA;IACxD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACvD,iBAAiB,CAAC,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAA;CAC3D;AAED,MAAM,WAAW,wBAAwB;IACvC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,+FAA+F;IAC/F,SAAS,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,SAAS,CAAA;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAA;IACpD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC3C,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAA;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,UAAU,GAAG,SAAS,GAAG,mBAAmB,CAAC,CAAC,GAAG,SAAS,CAAA;IACtG,UAAU,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,SAAS,CAAA;CAC7D;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAA;IAC1C,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;KACd,GAAG,SAAS,CAAA;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;IACtC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IACvD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;IACjF,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B;AAED,MAAM,WAAW,iCAAiC;IAChD,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,gBAAgB,EAAE,KAAK,CAAC;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACpC,CAAC,CAAA;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,oBAAoB,CAAA;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,EAAE,WAAW,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAClD,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACzC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC3C,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACnC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=subagentTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagentTypes.js","sourceRoot":"","sources":["../../src/subagents/subagentTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import type { AgentTurnWorkspace } from '@xenosystem/agent-interface-contract';
2
+ export type SubagentWorkspaceDecision = {
3
+ granted: true;
4
+ workspace?: AgentTurnWorkspace;
5
+ } | {
6
+ granted: false;
7
+ safeError: string;
8
+ };
9
+ /**
10
+ * Is `child` the same directory as `parent`, or inside it?
11
+ *
12
+ * ⚠️ NOT a string prefix test. `startsWith` says `/repo/secrets` is inside `/repo/sec`, which is
13
+ * how path checks in this ecosystem have gone wrong before. Comparing SEGMENTS cannot make that
14
+ * mistake, because `secrets` and `sec` are different segments.
15
+ */
16
+ export declare function isWithinDirectory(parent: string, child: string): boolean;
17
+ /**
18
+ * Bound a requested subagent workspace by the parent turn's workspace.
19
+ *
20
+ * `parent` absent means the host does not know what the spawning turn was running with — which
21
+ * happens when a run is created outside a turn, or by a surface that declared no workspace. The
22
+ * answer then is NO workspace, not the requested one: an unknown bound cannot authorise anything.
23
+ * That preserves exactly today's behaviour for every existing caller.
24
+ */
25
+ export declare function boundSubagentWorkspace(input: {
26
+ requested?: AgentTurnWorkspace | undefined;
27
+ parent?: AgentTurnWorkspace | undefined;
28
+ }): SubagentWorkspaceDecision;
29
+ //# sourceMappingURL=subagentWorkspaceAuthority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagentWorkspaceAuthority.d.ts","sourceRoot":"","sources":["../../src/subagents/subagentWorkspaceAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAkC9E,MAAM,MAAM,yBAAyB,GACjC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,kBAAkB,CAAA;CAAE,GACjD;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAA;AAoCzC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAMxE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,SAAS,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAA;IAC1C,MAAM,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAA;CACxC,GAAG,yBAAyB,CAuF5B"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * What authority a subagent turn runs with — bounded by its PARENT, never derived from the
3
+ * request alone.
4
+ *
5
+ * 🔴 WHY THIS EXISTS. `HostTurnSubagentExecutionAdapter` started every child turn with no
6
+ * `workspace` at all. That is not a security hole — all three lanes fail safe on an absent
7
+ * workspace (ACP resolves `read-only`, Cloud resolves `default`, SDK-native gets an empty
8
+ * allowed-directory list) — but it means a subagent could only ever do read-only work with no
9
+ * directory access. So the host could schedule, route and observe a delegated run and could not
10
+ * let it edit anything, which is most of what delegation is for.
11
+ *
12
+ * The fix is not "pass the requested workspace through". A child that can ask for its own
13
+ * authority can ask for MORE than the parent that spawned it, and a fan-out is precisely where
14
+ * that matters: the parent is the thing an operator granted access to.
15
+ *
16
+ * ⚠️ NO INVENTED TOTAL ORDER OVER PROFILES. The obvious design ranks every profile on an
17
+ * autonomy ladder and permits anything lower. Writing that ladder requires deciding whether
18
+ * `standard` outranks `edit-with-approval`, and whether `plan` is narrower than `read-only` —
19
+ * judgements this codebase has never made and that would silently become policy. So the rule is
20
+ * narrower and defensible:
21
+ *
22
+ * - INHERIT the parent's profile (the default, and the common case), or
23
+ * - narrow to `read-only` or `plan`, which are unambiguously narrower than everything, or
24
+ * - be REFUSED.
25
+ *
26
+ * Anything unrecognised is refused rather than passed, because "I do not know how these compare"
27
+ * must not resolve to "allow".
28
+ */
29
+ /** Profiles a child may narrow to regardless of what the parent holds. */
30
+ const UNAMBIGUOUSLY_NARROWER = new Set(['read-only', 'plan']);
31
+ /**
32
+ * Split an absolute path into comparable segments, or return undefined if it is not absolute.
33
+ *
34
+ * 🔴 NO `node:path`. This module is reachable from the host's BROWSER-SAFE barrel, and
35
+ * `browserBarrelPurity.test.ts` refuses a `node:` import on that path.
36
+ *
37
+ * ⚠️ RELATIVE PATHS ARE REFUSED, NOT RESOLVED. `path.resolve()` would resolve one against
38
+ * `process.cwd()` — the HOST's working directory, which has nothing to do with the surface that
39
+ * sent the request. Resolving it would invent an answer and then authorise against the invention.
40
+ *
41
+ * ⚠️ Case is deliberately NOT folded. Two agents on paths differing only by case on a
42
+ * case-insensitive filesystem is a real hazard, but folding would refuse a legitimately distinct
43
+ * directory on Linux, and refusing legitimate work is the worse error here.
44
+ */
45
+ function absoluteSegments(value) {
46
+ const unified = value.replace(/\\/g, '/');
47
+ // POSIX root, or a Windows drive (`C:/...`) or UNC share (`//server/share`).
48
+ const isAbsolutePath = unified.startsWith('/') || /^[A-Za-z]:\//.test(unified);
49
+ if (!isAbsolutePath)
50
+ return undefined;
51
+ const segments = [];
52
+ for (const raw of unified.split('/')) {
53
+ if (raw === '' || raw === '.')
54
+ continue;
55
+ if (raw === '..') {
56
+ // A `..` that would escape the root is refused rather than clamped: clamping turns
57
+ // `/repo/../../etc` into `/etc` silently, which is the traversal it exists to stop.
58
+ if (segments.length === 0)
59
+ return undefined;
60
+ segments.pop();
61
+ continue;
62
+ }
63
+ segments.push(raw);
64
+ }
65
+ return segments;
66
+ }
67
+ /**
68
+ * Is `child` the same directory as `parent`, or inside it?
69
+ *
70
+ * ⚠️ NOT a string prefix test. `startsWith` says `/repo/secrets` is inside `/repo/sec`, which is
71
+ * how path checks in this ecosystem have gone wrong before. Comparing SEGMENTS cannot make that
72
+ * mistake, because `secrets` and `sec` are different segments.
73
+ */
74
+ export function isWithinDirectory(parent, child) {
75
+ const from = absoluteSegments(parent);
76
+ const to = absoluteSegments(child);
77
+ if (!from || !to)
78
+ return false;
79
+ if (to.length < from.length)
80
+ return false;
81
+ return from.every((segment, index) => to[index] === segment);
82
+ }
83
+ /**
84
+ * Bound a requested subagent workspace by the parent turn's workspace.
85
+ *
86
+ * `parent` absent means the host does not know what the spawning turn was running with — which
87
+ * happens when a run is created outside a turn, or by a surface that declared no workspace. The
88
+ * answer then is NO workspace, not the requested one: an unknown bound cannot authorise anything.
89
+ * That preserves exactly today's behaviour for every existing caller.
90
+ */
91
+ export function boundSubagentWorkspace(input) {
92
+ const { requested, parent } = input;
93
+ // Nothing asked for: inherit the parent's authority verbatim. A child of a writable parent is
94
+ // writable by default, which is what makes delegation useful; a child of a read-only parent
95
+ // stays read-only for the same reason.
96
+ if (!requested)
97
+ return parent ? { granted: true, workspace: { ...parent } } : { granted: true };
98
+ if (!parent) {
99
+ return {
100
+ granted: false,
101
+ safeError: 'This subagent run asked for workspace access, but the host does not know what the '
102
+ + 'spawning turn was permitted to do, so it cannot bound the request. Start the subagent '
103
+ + 'from a turn that declares its workspace, or create it without one.',
104
+ };
105
+ }
106
+ const parentDirs = directoriesOf(parent);
107
+ const requestedDirs = directoriesOf(requested);
108
+ const escaping = requestedDirs.filter((dir) => !parentDirs.some((allowed) => isWithinDirectory(allowed, dir)));
109
+ if (escaping.length > 0) {
110
+ return {
111
+ granted: false,
112
+ safeError: `This subagent run asked for ${escaping.length} director${escaping.length === 1 ? 'y' : 'ies'} `
113
+ + 'outside what the turn that spawned it is allowed to reach. A subagent cannot be granted '
114
+ + 'more access than its parent.',
115
+ };
116
+ }
117
+ if (requested.filesystem === 'workspace-write' && parent.filesystem !== 'workspace-write') {
118
+ return {
119
+ granted: false,
120
+ safeError: 'This subagent run asked to write to the workspace, but the turn that spawned it is '
121
+ + 'read-only. A subagent cannot be granted more access than its parent.',
122
+ };
123
+ }
124
+ const profile = requested.permissionProfile;
125
+ if (profile !== undefined
126
+ && profile !== parent.permissionProfile
127
+ && !UNAMBIGUOUSLY_NARROWER.has(profile)) {
128
+ return {
129
+ granted: false,
130
+ safeError: `This subagent run asked for the '${profile}' permission profile, which the host cannot `
131
+ + `prove is narrower than its parent's `
132
+ + `${parent.permissionProfile ? `'${parent.permissionProfile}'` : 'profile'}. Inherit the `
133
+ + "parent's profile, or narrow to 'read-only' or 'plan'.",
134
+ };
135
+ }
136
+ // Every field is bounded, so the granted workspace is the requested one with anything it left
137
+ // unstated filled in from the parent — never widened.
138
+ return {
139
+ granted: true,
140
+ workspace: {
141
+ ...(requestedDirs.length > 0
142
+ ? {
143
+ ...((requested.primaryDirectory ?? parent.primaryDirectory) === undefined
144
+ ? {}
145
+ : { primaryDirectory: (requested.primaryDirectory ?? parent.primaryDirectory) }),
146
+ ...(requested.additionalDirectories
147
+ ? { additionalDirectories: [...requested.additionalDirectories] }
148
+ : {}),
149
+ }
150
+ : {
151
+ ...(parent.primaryDirectory === undefined
152
+ ? {}
153
+ : { primaryDirectory: parent.primaryDirectory }),
154
+ ...(parent.additionalDirectories
155
+ ? { additionalDirectories: [...parent.additionalDirectories] }
156
+ : {}),
157
+ }),
158
+ ...(profile === undefined
159
+ ? (parent.permissionProfile === undefined ? {} : { permissionProfile: parent.permissionProfile })
160
+ : { permissionProfile: profile }),
161
+ ...(requested.filesystem === undefined
162
+ ? (parent.filesystem === undefined ? {} : { filesystem: parent.filesystem })
163
+ : { filesystem: requested.filesystem }),
164
+ },
165
+ };
166
+ }
167
+ function directoriesOf(workspace) {
168
+ return [
169
+ ...(workspace.primaryDirectory ? [workspace.primaryDirectory] : []),
170
+ ...(workspace.additionalDirectories || []),
171
+ ];
172
+ }
173
+ //# sourceMappingURL=subagentWorkspaceAuthority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagentWorkspaceAuthority.js","sourceRoot":"","sources":["../../src/subagents/subagentWorkspaceAuthority.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,0EAA0E;AAC1E,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;AAM7D;;;;;;;;;;;;;GAaG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACzC,6EAA6E;IAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9E,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAA;IACrC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG;YAAE,SAAQ;QACvC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,mFAAmF;YACnF,oFAAoF;YACpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAA;YAC3C,QAAQ,CAAC,GAAG,EAAE,CAAA;YACd,SAAQ;QACV,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,KAAa;IAC7D,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAA;IAC9B,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAAA;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAGtC;IACC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACnC,8FAA8F;IAC9F,4FAA4F;IAC5F,uCAAuC;IACvC,IAAI,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAE/F,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EACP,oFAAoF;kBAClF,wFAAwF;kBACxF,oEAAoE;SACzE,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CACxE,CAAA;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EACP,+BAA+B,QAAQ,CAAC,MAAM,YAAY,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;kBAC9F,0FAA0F;kBAC1F,8BAA8B;SACnC,CAAA;IACH,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,KAAK,iBAAiB,IAAI,MAAM,CAAC,UAAU,KAAK,iBAAiB,EAAE,CAAC;QAC1F,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EACP,qFAAqF;kBACnF,sEAAsE;SAC3E,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,iBAAiB,CAAA;IAC3C,IACE,OAAO,KAAK,SAAS;WAClB,OAAO,KAAK,MAAM,CAAC,iBAAiB;WACpC,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,EACvC,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS,EACP,oCAAoC,OAAO,8CAA8C;kBACvF,sCAAsC;kBACtC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,SAAS,gBAAgB;kBACzF,uDAAuD;SAC5D,CAAA;IACH,CAAC;IAED,8FAA8F;IAC9F,sDAAsD;IACtD,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE;YACT,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,CAAC;oBACE,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,KAAK,SAAS;wBACvE,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAW,EAAE,CAAC;oBAC5F,GAAG,CAAC,SAAS,CAAC,qBAAqB;wBACjC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,GAAG,SAAS,CAAC,qBAAqB,CAAC,EAAE;wBACjE,CAAC,CAAC,EAAE,CAAC;iBACR;gBACH,CAAC,CAAC;oBACE,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;wBACvC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAClD,GAAG,CAAC,MAAM,CAAC,qBAAqB;wBAC9B,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,EAAE;wBAC9D,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;YACN,GAAG,CAAC,OAAO,KAAK,SAAS;gBACvB,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACjG,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACnC,GAAG,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS;gBACpC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC5E,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC;SAC1C;KACF,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,SAA6B;IAClD,OAAO;QACL,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,SAAS,CAAC,qBAAqB,IAAI,EAAE,CAAC;KAC3C,CAAA;AACH,CAAC"}