@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,56 @@
1
+ import { type AgentRuntimeEventEnvelope } from '@xenosystem/agent-interface-contract';
2
+ import type { SessionProtocolChannel } from './AgentSessionService.js';
3
+ /**
4
+ * Makes an `acp` session renderable from the stream that already exists.
5
+ *
6
+ * 🔴 **This is the answer to a blocker that was recorded WRONG.**
7
+ *
8
+ * The session opener was built and reverted because `AgentSessionService.open`
9
+ * refuses an `acp` session without a `SessionProtocolChannel`, and the note left
10
+ * behind said the missing piece was *"the outbound framed half, which no adapter
11
+ * hands to the host"*. Tracing it found two things wrong with that sentence.
12
+ *
13
+ * The half that matters is **inbound** — what the agent says, which is what an
14
+ * `acp` session renders. And it is not missing at all: `AcpRuntimeEventMapper`
15
+ * already turns every ACP session update into a runtime event, which the host
16
+ * already publishes as `runtime.event.appended`. The stream was there the whole
17
+ * time; nothing had adapted it into the shape the session substrate consumes.
18
+ *
19
+ * **Why this stream and not the raw ACP frames.** Feeding
20
+ * `AcpProcessSupervisor.prompt`'s `onUpdate` straight in was the obvious move
21
+ * and it is the wrong one:
22
+ *
23
+ * - Those frames have not been through `assertRuntimeEventForHost`. Rendering
24
+ * them into a terminal a person is watching is a redaction bypass, and the
25
+ * redaction exists because these messages carry secrets.
26
+ * - They are not persisted, so a terminal fed from them could not be resumed
27
+ * while the structured view beside it could — the same run disagreeing with
28
+ * itself depending on which pane you looked at.
29
+ * - `onUpdate` is scoped to ONE prompt; a session spans a whole run. Stitching
30
+ * turns together would have re-invented the fan-out this bus already is.
31
+ *
32
+ * One stream, already redacted, already durable. The terminal becomes a
33
+ * rendering of the run rather than a second opinion about it.
34
+ */
35
+ export interface RuntimeEventSessionChannelOptions {
36
+ /** The run whose events belong in this session. */
37
+ runId: string;
38
+ /**
39
+ * Every runtime event the host publishes, unfiltered.
40
+ *
41
+ * A port: the host owns publication, and taking a subscribe function rather
42
+ * than the host keeps this testable without one.
43
+ */
44
+ subscribe: (listener: (event: AgentRuntimeEventEnvelope) => void) => () => void;
45
+ /**
46
+ * Which run an event belongs to.
47
+ *
48
+ * Injected for exactly one reason: a composition that overrides the host's
49
+ * `resolveRunId` must be able to override this too, or a session would filter
50
+ * by a rule the host does not route by. The default is the SHARED
51
+ * `defaultRunIdOf`, so out of the box they cannot disagree.
52
+ */
53
+ runIdOf?: (event: AgentRuntimeEventEnvelope) => string;
54
+ }
55
+ export declare function createRuntimeEventSessionChannel(options: RuntimeEventSessionChannelOptions): SessionProtocolChannel;
56
+ //# sourceMappingURL=runtimeEventChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeEventChannel.d.ts","sourceRoot":"","sources":["../../src/session/runtimeEventChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AAErG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,iCAAiC;IAChD,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,KAAK,MAAM,IAAI,CAAA;IAC/E;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,MAAM,CAAA;CACvD;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,iCAAiC,GACzC,sBAAsB,CA+CxB"}
@@ -0,0 +1,53 @@
1
+ import { defaultRunIdOf } from '@xenosystem/agent-interface-contract';
2
+ export function createRuntimeEventSessionChannel(options) {
3
+ const runIdOf = options.runIdOf ?? defaultRunIdOf;
4
+ const listeners = new Set();
5
+ let stopUpstream;
6
+ let closed = false;
7
+ const deliver = (event) => {
8
+ // 🔴 Another run's events must never reach this terminal. In a fleet that is
9
+ // a disclosure, not a cosmetic bug — and it would read as a rendering fault
10
+ // rather than the routing fault it is, which is why it is asserted.
11
+ if (runIdOf(event) !== options.runId)
12
+ return;
13
+ for (const listener of [...listeners]) {
14
+ // Contained per listener. This runs INSIDE the host's publish loop, so an
15
+ // escaping error would stop delivery to every other subscriber of the bus
16
+ // — a renderer fault taking down run observation, say. Nothing is
17
+ // swallowed that anyone could act on: the only listener is the session
18
+ // service, which already handles its own rendering failures and, for the
19
+ // same reason, has nowhere honest to report them to.
20
+ try {
21
+ listener(event);
22
+ }
23
+ catch { /* one listener's fault, not the bus's */ }
24
+ }
25
+ };
26
+ return {
27
+ onMessage(listener) {
28
+ // A closed channel stays closed. Re-subscribing upstream here would
29
+ // resurrect a session the service has already torn down.
30
+ if (closed)
31
+ return () => { };
32
+ listeners.add(listener);
33
+ // Subscribed on the FIRST listener, not at construction: a channel built
34
+ // for a session that is then refused (`protocol_channel_forbidden`, say)
35
+ // must not leave a live subscription behind for a session that never was.
36
+ stopUpstream ??= options.subscribe(deliver);
37
+ return () => {
38
+ listeners.delete(listener);
39
+ if (listeners.size === 0) {
40
+ stopUpstream?.();
41
+ stopUpstream = undefined;
42
+ }
43
+ };
44
+ },
45
+ close() {
46
+ closed = true;
47
+ listeners.clear();
48
+ stopUpstream?.();
49
+ stopUpstream = undefined;
50
+ },
51
+ };
52
+ }
53
+ //# sourceMappingURL=runtimeEventChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeEventChannel.js","sourceRoot":"","sources":["../../src/session/runtimeEventChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkC,MAAM,sCAAsC,CAAA;AAyDrG,MAAM,UAAU,gCAAgC,CAC9C,OAA0C;IAE1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAA;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAA;IACvD,IAAI,YAAsC,CAAA;IAC1C,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,MAAM,OAAO,GAAG,CAAC,KAAgC,EAAQ,EAAE;QACzD,6EAA6E;QAC7E,4EAA4E;QAC5E,oEAAoE;QACpE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK;YAAE,OAAM;QAC5C,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;YACtC,0EAA0E;YAC1E,0EAA0E;YAC1E,kEAAkE;YAClE,uEAAuE;YACvE,yEAAyE;YACzE,qDAAqD;YACrD,IAAI,CAAC;gBAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAA;IAED,OAAO;QACL,SAAS,CAAC,QAAQ;YAChB,oEAAoE;YACpE,yDAAyD;YACzD,IAAI,MAAM;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;YAC3B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACvB,yEAAyE;YACzE,yEAAyE;YACzE,0EAA0E;YAC1E,YAAY,KAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAC3C,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC1B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACzB,YAAY,EAAE,EAAE,CAAA;oBAChB,YAAY,GAAG,SAAS,CAAA;gBAC1B,CAAC;YACH,CAAC,CAAA;QACH,CAAC;QACD,KAAK;YACH,MAAM,GAAG,IAAI,CAAA;YACb,SAAS,CAAC,KAAK,EAAE,CAAA;YACjB,YAAY,EAAE,EAAE,CAAA;YAChB,YAAY,GAAG,SAAS,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { AgentConversationStateDeleteRequest, AgentConversationStateDeleteResult, AgentConversationStateLoadResult, AgentConversationStateSaveRequest, AgentConversationStateSaveResult, AgentWorkspaceStateLoadResult, AgentWorkspaceStateSaveRequest, AgentWorkspaceStateSaveResult } from '@xenosystem/agent-interface-contract';
2
+ import type { AgentStateRepository } from '../index.js';
3
+ /**
4
+ * Transitional durable JSON repository copied from the shipping Hub storage
5
+ * behavior. It keeps atomic writes and last-known-good recovery while the
6
+ * separately gated SQLite migration is developed.
7
+ */
8
+ export declare class JsonAgentStateRepository implements AgentStateRepository {
9
+ readonly rootDirectory: string;
10
+ readonly workspaceFile: string;
11
+ readonly conversationsDirectory: string;
12
+ constructor(rootDirectory: string, options?: JsonAgentStateRepositoryOptions);
13
+ loadWorkspaces(): Promise<AgentWorkspaceStateLoadResult>;
14
+ saveWorkspaces(input: AgentWorkspaceStateSaveRequest): Promise<AgentWorkspaceStateSaveResult>;
15
+ loadConversations(): Promise<AgentConversationStateLoadResult>;
16
+ saveConversation(input: AgentConversationStateSaveRequest): Promise<AgentConversationStateSaveResult>;
17
+ deleteConversation(input: AgentConversationStateDeleteRequest): Promise<AgentConversationStateDeleteResult>;
18
+ private conversationPath;
19
+ }
20
+ export interface JsonAgentStateRepositoryOptions {
21
+ /**
22
+ * Transitional override for the shipping Hub workspace snapshot. The host
23
+ * remains the only live writer; this does not enable dual-write behavior.
24
+ */
25
+ workspaceFile?: string;
26
+ /** Transitional override for the shipping Hub conversation directory. */
27
+ conversationsDirectory?: string;
28
+ }
29
+ //# sourceMappingURL=JsonAgentStateRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonAgentStateRepository.d.ts","sourceRoot":"","sources":["../../src/state/JsonAgentStateRepository.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,mCAAmC,EACnC,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AASvD;;;;GAIG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACnE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;gBAE3B,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,+BAAoC;IAM1E,cAAc,IAAI,OAAO,CAAC,6BAA6B,CAAC;IAcxD,cAAc,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAa7F,iBAAiB,IAAI,OAAO,CAAC,gCAAgC,CAAC;IAqC9D,gBAAgB,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAWrG,kBAAkB,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAWjH,OAAO,CAAC,gBAAgB;CAKzB;AAED,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC"}
@@ -0,0 +1,165 @@
1
+ import { closeSync, copyFileSync, existsSync, fsyncSync, mkdirSync, openSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync, } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { safeAgentStateEntityId, safeAgentStateError, sanitizeConversation, sanitizeWorkspaceTree, serializeBoundedAgentState, } from './stateSanitizers.js';
4
+ /**
5
+ * Transitional durable JSON repository copied from the shipping Hub storage
6
+ * behavior. It keeps atomic writes and last-known-good recovery while the
7
+ * separately gated SQLite migration is developed.
8
+ */
9
+ export class JsonAgentStateRepository {
10
+ rootDirectory;
11
+ workspaceFile;
12
+ conversationsDirectory;
13
+ constructor(rootDirectory, options = {}) {
14
+ this.rootDirectory = rootDirectory;
15
+ this.workspaceFile = options.workspaceFile || join(rootDirectory, 'workspaces.json');
16
+ this.conversationsDirectory = options.conversationsDirectory || join(rootDirectory, 'conversations');
17
+ }
18
+ async loadWorkspaces() {
19
+ try {
20
+ ensureDirectory(this.rootDirectory);
21
+ if (!existsSync(this.workspaceFile))
22
+ return { success: true, workspaces: [] };
23
+ const parsed = JSON.parse(readFileSync(this.workspaceFile, 'utf8'));
24
+ return {
25
+ success: true,
26
+ workspaces: sanitizeWorkspaceTree(parsed),
27
+ };
28
+ }
29
+ catch (error) {
30
+ return { success: false, workspaces: [], error: safeError(error) };
31
+ }
32
+ }
33
+ async saveWorkspaces(input) {
34
+ try {
35
+ if (!Array.isArray(input.workspaces)) {
36
+ return { success: false, error: 'Invalid workspace state: expected an array.' };
37
+ }
38
+ const workspaces = sanitizeWorkspaceTree(input.workspaces);
39
+ atomicWriteJson(this.workspaceFile, workspaces);
40
+ return { success: true };
41
+ }
42
+ catch (error) {
43
+ return { success: false, error: safeError(error) };
44
+ }
45
+ }
46
+ async loadConversations() {
47
+ try {
48
+ ensureDirectory(this.conversationsDirectory);
49
+ const conversations = [];
50
+ const recoveredConversationIds = [];
51
+ const corruptConversationFiles = [];
52
+ for (const file of readdirSync(this.conversationsDirectory).filter((entry) => entry.endsWith('.json')).sort()) {
53
+ const path = join(this.conversationsDirectory, file);
54
+ try {
55
+ const conversation = sanitizeConversation(JSON.parse(readFileSync(path, 'utf8')));
56
+ if (conversation)
57
+ conversations.push(conversation);
58
+ }
59
+ catch {
60
+ corruptConversationFiles.push(file);
61
+ const backupPath = `${path}.bak`;
62
+ if (!existsSync(backupPath))
63
+ continue;
64
+ try {
65
+ const recovered = sanitizeConversation(JSON.parse(readFileSync(backupPath, 'utf8')));
66
+ if (!recovered)
67
+ continue;
68
+ restorePrimaryJson(path, recovered);
69
+ recoveredConversationIds.push(String(recovered.id));
70
+ conversations.push(recovered);
71
+ }
72
+ catch {
73
+ // Both primary and backup are invalid. Report the file and continue.
74
+ }
75
+ }
76
+ }
77
+ return {
78
+ success: true,
79
+ conversations,
80
+ recoveredConversationIds,
81
+ corruptConversationFiles,
82
+ };
83
+ }
84
+ catch (error) {
85
+ return { success: false, conversations: [], error: safeError(error) };
86
+ }
87
+ }
88
+ async saveConversation(input) {
89
+ try {
90
+ const conversation = sanitizeConversation(input.conversation);
91
+ if (!conversation)
92
+ return { success: false, error: 'Invalid conversation state.' };
93
+ atomicWriteJson(this.conversationPath(String(conversation.id)), conversation);
94
+ return { success: true };
95
+ }
96
+ catch (error) {
97
+ return { success: false, error: safeError(error) };
98
+ }
99
+ }
100
+ async deleteConversation(input) {
101
+ try {
102
+ const path = this.conversationPath(input.conversationId);
103
+ if (existsSync(path))
104
+ unlinkSync(path);
105
+ if (existsSync(`${path}.bak`))
106
+ unlinkSync(`${path}.bak`);
107
+ return { success: true };
108
+ }
109
+ catch (error) {
110
+ return { success: false, error: safeError(error) };
111
+ }
112
+ }
113
+ conversationPath(id) {
114
+ const safeId = safeAgentStateEntityId(id);
115
+ if (!safeId)
116
+ throw new Error('Invalid conversation ID.');
117
+ return join(this.conversationsDirectory, `${safeId}.json`);
118
+ }
119
+ }
120
+ function atomicWriteJson(path, value) {
121
+ ensureDirectory(dirname(path));
122
+ const temporaryPath = `${path}.tmp-${process.pid}-${Date.now()}`;
123
+ try {
124
+ const compact = serializeBoundedAgentState(value, 'Agent state');
125
+ writeFileSync(temporaryPath, `${JSON.stringify(JSON.parse(compact), null, 2)}\n`, 'utf8');
126
+ fsyncFile(temporaryPath);
127
+ if (existsSync(path)) {
128
+ copyFileSync(path, `${path}.bak`);
129
+ fsyncFile(`${path}.bak`);
130
+ }
131
+ renameSync(temporaryPath, path);
132
+ }
133
+ finally {
134
+ if (existsSync(temporaryPath))
135
+ unlinkSync(temporaryPath);
136
+ }
137
+ }
138
+ function restorePrimaryJson(path, value) {
139
+ ensureDirectory(dirname(path));
140
+ const temporaryPath = `${path}.recover-${process.pid}-${Date.now()}`;
141
+ try {
142
+ writeFileSync(temporaryPath, JSON.stringify(value, null, 2), 'utf8');
143
+ fsyncFile(temporaryPath);
144
+ renameSync(temporaryPath, path);
145
+ }
146
+ finally {
147
+ if (existsSync(temporaryPath))
148
+ unlinkSync(temporaryPath);
149
+ }
150
+ }
151
+ function fsyncFile(path) {
152
+ const handle = openSync(path, 'r+');
153
+ try {
154
+ fsyncSync(handle);
155
+ }
156
+ finally {
157
+ closeSync(handle);
158
+ }
159
+ }
160
+ function ensureDirectory(path) {
161
+ if (!existsSync(path))
162
+ mkdirSync(path, { recursive: true });
163
+ }
164
+ const safeError = safeAgentStateError;
165
+ //# sourceMappingURL=JsonAgentStateRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonAgentStateRepository.js","sourceRoot":"","sources":["../../src/state/JsonAgentStateRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { AgentConversationStateDeleteRequest, AgentConversationStateDeleteResult, AgentConversationStateLoadResult, AgentConversationStateSaveRequest, AgentConversationStateSaveResult, AgentWorkspaceStateLoadResult, AgentWorkspaceStateSaveRequest, AgentWorkspaceStateSaveResult } from '@xenosystem/agent-interface-contract';
2
+ import type { AgentStateRepository } from '../index.js';
3
+ export interface SqliteAgentStateRepositoryOptions {
4
+ databaseFile: string;
5
+ backupsDirectory: string;
6
+ reportsDirectory: string;
7
+ migrationLockFile: string;
8
+ legacyWorkspaceFile?: string;
9
+ legacyConversationsDirectory?: string;
10
+ }
11
+ export interface AgentStateMigrationReport {
12
+ schemaVersion: 1;
13
+ migrationId: string;
14
+ status: 'fresh' | 'migrated' | 'existing' | 'failed';
15
+ startedAt: string;
16
+ completedAt: string;
17
+ databaseFile: string;
18
+ sourceFingerprint: string | null;
19
+ backupDirectory: string | null;
20
+ workspaceCount: number;
21
+ conversationCount: number;
22
+ recoveredSources: string[];
23
+ sourceFiles: AgentStateMigrationFile[];
24
+ reportFile: string | null;
25
+ error: string | null;
26
+ }
27
+ export interface AgentStateMigrationFile {
28
+ source: string;
29
+ backupRelativePath: string;
30
+ bytes: number;
31
+ sha256: string;
32
+ }
33
+ export interface AgentStateRollbackResult {
34
+ success: boolean;
35
+ rollbackDirectory: string | null;
36
+ error: string | null;
37
+ }
38
+ /**
39
+ * Transactional state authority for both XENO Agent surfaces. Runtime/audit events remain in the
40
+ * append-only event journal; this database owns mutable workspace and conversation projections.
41
+ */
42
+ export declare class SqliteAgentStateRepository implements AgentStateRepository {
43
+ readonly databaseFile: string;
44
+ readonly migrationReport: AgentStateMigrationReport;
45
+ private readonly database;
46
+ private closed;
47
+ private constructor();
48
+ static open(options: SqliteAgentStateRepositoryOptions): Promise<SqliteAgentStateRepository>;
49
+ loadWorkspaces(): Promise<AgentWorkspaceStateLoadResult>;
50
+ saveWorkspaces(input: AgentWorkspaceStateSaveRequest): Promise<AgentWorkspaceStateSaveResult>;
51
+ loadConversations(): Promise<AgentConversationStateLoadResult>;
52
+ saveConversation(input: AgentConversationStateSaveRequest): Promise<AgentConversationStateSaveResult>;
53
+ deleteConversation(input: AgentConversationStateDeleteRequest): Promise<AgentConversationStateDeleteResult>;
54
+ close(): void;
55
+ private assertOpen;
56
+ }
57
+ export declare function rollbackAgentStateMigration(options: SqliteAgentStateRepositoryOptions): Promise<AgentStateRollbackResult>;
58
+ //# sourceMappingURL=SqliteAgentStateRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteAgentStateRepository.d.ts","sourceRoot":"","sources":["../../src/state/SqliteAgentStateRepository.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,mCAAmC,EACnC,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAcvD,MAAM,WAAW,iCAAiC;IAChD,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAA;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,CAAC,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAA;IACpD,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,WAAW,EAAE,uBAAuB,EAAE,CAAA;IACtC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,kBAAkB,EAAE,MAAM,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,oBAAoB;IACrE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAA;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO;WAUM,IAAI,CAAC,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAwB5F,cAAc,IAAI,OAAO,CAAC,6BAA6B,CAAC;IAWxD,cAAc,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAqB7F,iBAAiB,IAAI,OAAO,CAAC,gCAAgC,CAAC;IAsB9D,gBAAgB,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAqBrG,kBAAkB,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAejH,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,UAAU;CAGnB;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,wBAAwB,CAAC,CA8CnC"}