@moorline/core 0.0.1 → 0.0.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 (413) hide show
  1. package/dist/app/bootstrap/apiAdapterPackageLoader.d.ts +0 -10
  2. package/dist/app/bootstrap/apiAdapterPackageLoader.js +1 -1
  3. package/dist/app/bootstrap/apiAdapterPackageLoader.js.map +1 -1
  4. package/dist/app/bootstrap/operatorPackageService.d.ts +11 -4
  5. package/dist/app/bootstrap/operatorPackageService.js +231 -59
  6. package/dist/app/bootstrap/operatorPackageService.js.map +1 -1
  7. package/dist/app/bootstrap/runtimeBootstrap.d.ts +2 -1
  8. package/dist/app/bootstrap/runtimeBootstrap.js +14 -3
  9. package/dist/app/bootstrap/runtimeBootstrap.js.map +1 -1
  10. package/dist/app/control-api/services/actions.d.ts +12 -16
  11. package/dist/app/control-api/services/actions.js +89 -68
  12. package/dist/app/control-api/services/actions.js.map +1 -1
  13. package/dist/app/control-api/services/controlPlane.d.ts +17 -21
  14. package/dist/app/control-api/services/controlPlane.js +69 -74
  15. package/dist/app/control-api/services/controlPlane.js.map +1 -1
  16. package/dist/app/control-api/services/state.js +5 -9
  17. package/dist/app/control-api/services/state.js.map +1 -1
  18. package/dist/core/domain/memory/retrieval/indexTargets.js +6 -6
  19. package/dist/core/domain/memory/retrieval/indexTargets.js.map +1 -1
  20. package/dist/core/domain/memory/retrieval/schema.js +10 -6
  21. package/dist/core/domain/memory/retrieval/schema.js.map +1 -1
  22. package/dist/core/domain/memory/retrieval/scope.d.ts +2 -2
  23. package/dist/core/domain/memory/retrieval/scope.js +7 -7
  24. package/dist/core/domain/memory/retrieval/scope.js.map +1 -1
  25. package/dist/core/domain/memory/retrieval/types.d.ts +2 -7
  26. package/dist/core/domain/memory/retrieval/types.js.map +1 -1
  27. package/dist/core/domain/memory/retrieval.d.ts +1 -2
  28. package/dist/core/domain/memory/retrieval.js +9 -16
  29. package/dist/core/domain/memory/retrieval.js.map +1 -1
  30. package/dist/core/domain/memory/store.d.ts +1 -1
  31. package/dist/core/domain/memory/store.js +2 -2
  32. package/dist/core/domain/memory/store.js.map +1 -1
  33. package/dist/core/domain/sessions/managedWorkerSessions.d.ts +0 -1
  34. package/dist/core/domain/sessions/managedWorkerSessions.js.map +1 -1
  35. package/dist/core/domain/sessions/runtimeWorkManagementService.d.ts +41 -60
  36. package/dist/core/domain/sessions/runtimeWorkManagementService.js +169 -351
  37. package/dist/core/domain/sessions/runtimeWorkManagementService.js.map +1 -1
  38. package/dist/core/domain/sessions/sessionLifecycleService.d.ts +1 -1
  39. package/dist/core/domain/sessions/sessionLifecycleService.js +4 -4
  40. package/dist/core/domain/sessions/sessionLifecycleService.js.map +1 -1
  41. package/dist/core/domain/sessions/sessionState.d.ts +14 -8
  42. package/dist/core/domain/sessions/sessionState.js +74 -28
  43. package/dist/core/domain/sessions/sessionState.js.map +1 -1
  44. package/dist/core/domain/sessions/workManagement/transportResourceNames.d.ts +2 -0
  45. package/dist/core/domain/sessions/workManagement/{spaceNames.js → transportResourceNames.js} +2 -2
  46. package/dist/core/domain/sessions/workManagement/transportResourceNames.js.map +1 -0
  47. package/dist/core/extension/capabilities/capabilities.d.ts +1 -1
  48. package/dist/core/extension/capabilities/capabilities.js +11 -8
  49. package/dist/core/extension/capabilities/capabilities.js.map +1 -1
  50. package/dist/core/extension/packages/bundledArchiveResolver.d.ts +2 -0
  51. package/dist/core/extension/packages/{officialArchiveResolver.js → bundledArchiveResolver.js} +4 -4
  52. package/dist/core/extension/packages/bundledArchiveResolver.js.map +1 -0
  53. package/dist/core/extension/packages/npmRegistryClient.d.ts +3 -2
  54. package/dist/core/extension/packages/npmRegistryClient.js +12 -37
  55. package/dist/core/extension/packages/npmRegistryClient.js.map +1 -1
  56. package/dist/core/extension/packages/packageActivation.d.ts +0 -4
  57. package/dist/core/extension/packages/packageActivation.js +2 -12
  58. package/dist/core/extension/packages/packageActivation.js.map +1 -1
  59. package/dist/core/extension/packages/packageApplyPlanner.js +1 -4
  60. package/dist/core/extension/packages/packageApplyPlanner.js.map +1 -1
  61. package/dist/core/extension/packages/packageConfigSchema.js +0 -33
  62. package/dist/core/extension/packages/packageConfigSchema.js.map +1 -1
  63. package/dist/core/extension/packages/packageDependencyResolver.js +2 -20
  64. package/dist/core/extension/packages/packageDependencyResolver.js.map +1 -1
  65. package/dist/core/extension/packages/packageInstaller.js +3 -0
  66. package/dist/core/extension/packages/packageInstaller.js.map +1 -1
  67. package/dist/core/extension/packages/packageInventoryStore.js +20 -4
  68. package/dist/core/extension/packages/packageInventoryStore.js.map +1 -1
  69. package/dist/core/extension/packages/packageRegistryBlocklist.d.ts +2 -2
  70. package/dist/core/extension/packages/packageRegistryBlocklist.js +1 -1
  71. package/dist/core/extension/packages/packageRegistryBlocklist.js.map +1 -1
  72. package/dist/core/extension/packages/packageRegistryService.d.ts +8 -3
  73. package/dist/core/extension/packages/packageRegistryService.js +109 -49
  74. package/dist/core/extension/packages/packageRegistryService.js.map +1 -1
  75. package/dist/core/extension/packages/packageRegistryTypes.d.ts +14 -6
  76. package/dist/core/extension/packages/packageSource.js +120 -5
  77. package/dist/core/extension/packages/packageSource.js.map +1 -1
  78. package/dist/core/extension/packages/packageValidation.js +1 -1
  79. package/dist/core/extension/packages/packageValidation.js.map +1 -1
  80. package/dist/core/extension/packages/packageVersionResolver.d.ts +6 -11
  81. package/dist/core/extension/packages/packageVersionResolver.js +5 -5
  82. package/dist/core/extension/packages/packageVersionResolver.js.map +1 -1
  83. package/dist/core/extension/packages/runtimeStartability.d.ts +2 -2
  84. package/dist/core/extension/packages/runtimeStartability.js +26 -23
  85. package/dist/core/extension/packages/runtimeStartability.js.map +1 -1
  86. package/dist/core/extension/plugins/pluginHost.d.ts +13 -8
  87. package/dist/core/extension/plugins/pluginHost.js +41 -13
  88. package/dist/core/extension/plugins/pluginHost.js.map +1 -1
  89. package/dist/core/extension/plugins/pluginId.d.ts +0 -1
  90. package/dist/core/extension/plugins/pluginId.js +0 -3
  91. package/dist/core/extension/plugins/pluginId.js.map +1 -1
  92. package/dist/core/extension/plugins/runtimePluginLoader.d.ts +0 -1
  93. package/dist/core/extension/plugins/runtimePluginLoader.js +0 -7
  94. package/dist/core/extension/plugins/runtimePluginLoader.js.map +1 -1
  95. package/dist/core/extension/skills/skillRegistry.d.ts +3 -2
  96. package/dist/core/extension/skills/skillWriter.d.ts +1 -1
  97. package/dist/core/extension/skills/skillWriter.js +2 -2
  98. package/dist/core/runtime/execution/commandReactor.d.ts +5 -5
  99. package/dist/core/runtime/execution/commandReactor.js +10 -7
  100. package/dist/core/runtime/execution/commandReactor.js.map +1 -1
  101. package/dist/core/runtime/execution/defaultModelSelection.js +1 -1
  102. package/dist/core/runtime/execution/orchestrationEngine.js +10 -10
  103. package/dist/core/runtime/execution/orchestrationEngine.js.map +1 -1
  104. package/dist/core/runtime/execution/orchestrationHealth.d.ts +0 -7
  105. package/dist/core/runtime/execution/orchestrationHealth.js +1 -1
  106. package/dist/core/runtime/execution/orchestrationHealth.js.map +1 -1
  107. package/dist/core/runtime/execution/pluginContext/defaultSessionOwner.js +3 -5
  108. package/dist/core/runtime/execution/pluginContext/defaultSessionOwner.js.map +1 -1
  109. package/dist/core/runtime/execution/pluginContext/pluginCapabilities.d.ts +0 -2
  110. package/dist/core/runtime/execution/pluginContext/pluginCapabilities.js +0 -2
  111. package/dist/core/runtime/execution/pluginContext/pluginCapabilities.js.map +1 -1
  112. package/dist/core/runtime/execution/pluginContext/pluginContextFactory.d.ts +1 -2
  113. package/dist/core/runtime/execution/pluginContext/pluginContextFactory.js +1 -2
  114. package/dist/core/runtime/execution/pluginContext/pluginContextFactory.js.map +1 -1
  115. package/dist/core/runtime/execution/providerCoordination/providerSessionCoordinator.js +3 -3
  116. package/dist/core/runtime/execution/providerCoordination/providerSessionCoordinator.js.map +1 -1
  117. package/dist/core/runtime/execution/providerOrchestration/ports.d.ts +3 -13
  118. package/dist/core/runtime/execution/providerOrchestration/providerAttachmentResolver.d.ts +3 -3
  119. package/dist/core/runtime/execution/providerOrchestration/providerAttachmentResolver.js +4 -5
  120. package/dist/core/runtime/execution/providerOrchestration/providerAttachmentResolver.js.map +1 -1
  121. package/dist/core/runtime/execution/providerOrchestration/providerCompactionPolicy.d.ts +2 -1
  122. package/dist/core/runtime/execution/providerOrchestration/providerCompactionPolicy.js +5 -5
  123. package/dist/core/runtime/execution/providerOrchestration/providerCompactionPolicy.js.map +1 -1
  124. package/dist/core/runtime/execution/providerOrchestration/providerEventPipeline.d.ts +3 -5
  125. package/dist/core/runtime/execution/providerOrchestration/providerEventPipeline.js +10 -8
  126. package/dist/core/runtime/execution/providerOrchestration/providerEventPipeline.js.map +1 -1
  127. package/dist/core/runtime/execution/providerOrchestration/providerOrchestrator.d.ts +3 -3
  128. package/dist/core/runtime/execution/providerOrchestration/providerOrchestrator.js +0 -3
  129. package/dist/core/runtime/execution/providerOrchestration/providerOrchestrator.js.map +1 -1
  130. package/dist/core/runtime/execution/providerOrchestration/providerRequestProjector.d.ts +3 -2
  131. package/dist/core/runtime/execution/providerOrchestration/providerRequestProjector.js +6 -6
  132. package/dist/core/runtime/execution/providerOrchestration/providerRequestProjector.js.map +1 -1
  133. package/dist/core/runtime/execution/providerOrchestration/providerSessionOrchestrator.d.ts +9 -6
  134. package/dist/core/runtime/execution/providerOrchestration/providerSessionOrchestrator.js +36 -15
  135. package/dist/core/runtime/execution/providerOrchestration/providerSessionOrchestrator.js.map +1 -1
  136. package/dist/core/runtime/execution/providerOrchestration/providerTurnBroker.d.ts +9 -3
  137. package/dist/core/runtime/execution/providerOrchestration/providerTurnBroker.js +19 -7
  138. package/dist/core/runtime/execution/providerOrchestration/providerTurnBroker.js.map +1 -1
  139. package/dist/core/runtime/execution/providerProjectionTypes.d.ts +4 -2
  140. package/dist/core/runtime/execution/providerProjectionTypes.js +2 -0
  141. package/dist/core/runtime/execution/providerProjectionTypes.js.map +1 -1
  142. package/dist/core/runtime/execution/providerSessionDirectory.js +12 -4
  143. package/dist/core/runtime/execution/providerSessionDirectory.js.map +1 -1
  144. package/dist/core/runtime/execution/runtimeDomain.d.ts +11 -9
  145. package/dist/core/runtime/execution/runtimeDomain.js +10 -3
  146. package/dist/core/runtime/execution/runtimeDomain.js.map +1 -1
  147. package/dist/core/runtime/execution/runtimeIngestion.js +15 -13
  148. package/dist/core/runtime/execution/runtimeIngestion.js.map +1 -1
  149. package/dist/core/runtime/execution/runtimeInteractionService.d.ts +12 -26
  150. package/dist/core/runtime/execution/runtimeInteractionService.js +23 -113
  151. package/dist/core/runtime/execution/runtimeInteractionService.js.map +1 -1
  152. package/dist/core/runtime/execution/runtimeOrchestrationRequestService.d.ts +1 -1
  153. package/dist/core/runtime/execution/runtimeOrchestrationRequestService.js +8 -28
  154. package/dist/core/runtime/execution/runtimeOrchestrationRequestService.js.map +1 -1
  155. package/dist/core/runtime/execution/runtimeOrchestrationRequests.d.ts +7 -29
  156. package/dist/core/runtime/execution/runtimeOrchestrationRequests.js +21 -67
  157. package/dist/core/runtime/execution/runtimeOrchestrationRequests.js.map +1 -1
  158. package/dist/core/runtime/execution/runtimeOrchestrationResult.js +5 -0
  159. package/dist/core/runtime/execution/runtimeOrchestrationResult.js.map +1 -1
  160. package/dist/core/runtime/execution/runtimePendingRequestService.d.ts +2 -2
  161. package/dist/core/runtime/execution/runtimePendingRequestService.js +10 -10
  162. package/dist/core/runtime/execution/runtimePendingRequestService.js.map +1 -1
  163. package/dist/core/runtime/execution/runtimePluginContextService.d.ts +28 -15
  164. package/dist/core/runtime/execution/runtimePluginContextService.js +994 -165
  165. package/dist/core/runtime/execution/runtimePluginContextService.js.map +1 -1
  166. package/dist/core/runtime/execution/runtimeWorkerQueues.js +1 -1
  167. package/dist/core/runtime/execution/runtimeWorkerQueues.js.map +1 -1
  168. package/dist/core/runtime/hosting/managedTransportResourceMetadata.d.ts +6 -0
  169. package/dist/core/runtime/hosting/managedTransportResourceMetadata.js +8 -0
  170. package/dist/core/runtime/hosting/managedTransportResourceMetadata.js.map +1 -0
  171. package/dist/core/runtime/hosting/runtimeHostingService.d.ts +6 -4
  172. package/dist/core/runtime/hosting/runtimeHostingService.js +23 -46
  173. package/dist/core/runtime/hosting/runtimeHostingService.js.map +1 -1
  174. package/dist/core/runtime/hosting/runtimeLayout.js +1 -1
  175. package/dist/core/runtime/hosting/runtimeLayout.js.map +1 -1
  176. package/dist/core/runtime/hosting/runtimeTransportEffectService.d.ts +22 -0
  177. package/dist/core/runtime/hosting/runtimeTransportEffectService.js +86 -0
  178. package/dist/core/runtime/hosting/runtimeTransportEffectService.js.map +1 -0
  179. package/dist/core/runtime/hosting/runtimeTransportIntentService.d.ts +23 -0
  180. package/dist/core/runtime/hosting/runtimeTransportIntentService.js +144 -0
  181. package/dist/core/runtime/hosting/runtimeTransportIntentService.js.map +1 -0
  182. package/dist/core/runtime/hosting/runtimeTransportSurfaceService.d.ts +6 -7
  183. package/dist/core/runtime/hosting/runtimeTransportSurfaceService.js +15 -63
  184. package/dist/core/runtime/hosting/runtimeTransportSurfaceService.js.map +1 -1
  185. package/dist/core/runtime/hosting/systemEmbeds.d.ts +0 -1
  186. package/dist/core/runtime/hosting/systemEmbeds.js +0 -9
  187. package/dist/core/runtime/hosting/systemEmbeds.js.map +1 -1
  188. package/dist/core/runtime/lifecycle/packageJobSchedulerService.d.ts +21 -0
  189. package/dist/core/runtime/lifecycle/packageJobSchedulerService.js +84 -0
  190. package/dist/core/runtime/lifecycle/packageJobSchedulerService.js.map +1 -0
  191. package/dist/core/runtime/lifecycle/runtimeLifecycleService.d.ts +2 -13
  192. package/dist/core/runtime/lifecycle/runtimeLifecycleService.js +12 -256
  193. package/dist/core/runtime/lifecycle/runtimeLifecycleService.js.map +1 -1
  194. package/dist/core/runtime/moorlineRuntime.d.ts +7 -8
  195. package/dist/core/runtime/moorlineRuntime.js +73 -57
  196. package/dist/core/runtime/moorlineRuntime.js.map +1 -1
  197. package/dist/core/runtime/moorlineRuntimeBuilder.d.ts +19 -18
  198. package/dist/core/runtime/moorlineRuntimeBuilder.js +69 -109
  199. package/dist/core/runtime/moorlineRuntimeBuilder.js.map +1 -1
  200. package/dist/core/runtime/runtimeBootstrapRegistry.d.ts +0 -2
  201. package/dist/core/runtime/runtimeBootstrapRegistry.js +0 -6
  202. package/dist/core/runtime/runtimeBootstrapRegistry.js.map +1 -1
  203. package/dist/core/runtime/runtimeStatus.js +2 -2
  204. package/dist/core/runtime/runtimeStatus.js.map +1 -1
  205. package/dist/core/runtime/supervision/runtimeControlService.js +4 -1
  206. package/dist/core/runtime/supervision/runtimeControlService.js.map +1 -1
  207. package/dist/core/shared/errors/statusError.d.ts +5 -0
  208. package/dist/core/shared/errors/statusError.js +18 -0
  209. package/dist/core/shared/errors/statusError.js.map +1 -0
  210. package/dist/core/shared/fs/canonicalPathContainment.d.ts +0 -2
  211. package/dist/core/shared/fs/canonicalPathContainment.js +1 -6
  212. package/dist/core/shared/fs/canonicalPathContainment.js.map +1 -1
  213. package/dist/core/shared/fs/runtimeOwnedPath.d.ts +1 -1
  214. package/dist/core/shared/fs/runtimeOwnedPath.js +3 -3
  215. package/dist/core/shared/fs/runtimeOwnedPath.js.map +1 -1
  216. package/dist/core/shared/scheduling/packageSchedule.d.ts +22 -0
  217. package/dist/core/{domain/missions/missionSchedule.js → shared/scheduling/packageSchedule.js} +15 -18
  218. package/dist/core/shared/scheduling/packageSchedule.js.map +1 -0
  219. package/dist/core/shared/utils/childProcessEnv.js +1 -1
  220. package/dist/core/shared/utils/childProcessEnv.js.map +1 -1
  221. package/dist/core/shared/utils/payloadRedaction.d.ts +0 -12
  222. package/dist/core/shared/utils/payloadRedaction.js +0 -77
  223. package/dist/core/shared/utils/payloadRedaction.js.map +1 -1
  224. package/dist/core/shared/utils/remoteNetworkPolicy.d.ts +0 -4
  225. package/dist/core/shared/utils/remoteNetworkPolicy.js +1 -7
  226. package/dist/core/shared/utils/remoteNetworkPolicy.js.map +1 -1
  227. package/dist/core/shared/utils/runtimeMessageUtils.d.ts +0 -1
  228. package/dist/core/shared/utils/runtimeMessageUtils.js +0 -19
  229. package/dist/core/shared/utils/runtimeMessageUtils.js.map +1 -1
  230. package/dist/core/system/backup/runtimeBackupService.d.ts +0 -2
  231. package/dist/core/system/backup/runtimeBackupService.js +71 -2
  232. package/dist/core/system/backup/runtimeBackupService.js.map +1 -1
  233. package/dist/core/system/config/configStore.d.ts +3 -3
  234. package/dist/core/system/config/configStore.js +19 -20
  235. package/dist/core/system/config/configStore.js.map +1 -1
  236. package/dist/core/system/projection/managementReadModel/deps.d.ts +4 -5
  237. package/dist/core/system/projection/managementReadModel/objects/serviceObjects.d.ts +2 -1
  238. package/dist/core/system/projection/managementReadModel/objects/serviceObjects.js +13 -7
  239. package/dist/core/system/projection/managementReadModel/objects/serviceObjects.js.map +1 -1
  240. package/dist/core/system/projection/managementReadModel/packageTrust.d.ts +5 -0
  241. package/dist/core/system/projection/managementReadModel/packageTrust.js +40 -0
  242. package/dist/core/system/projection/managementReadModel/packageTrust.js.map +1 -0
  243. package/dist/core/system/projection/managementReadModel/pluginDiskRecords.d.ts +0 -1
  244. package/dist/core/system/projection/managementReadModel/pluginDiskRecords.js +1 -10
  245. package/dist/core/system/projection/managementReadModel/pluginDiskRecords.js.map +1 -1
  246. package/dist/core/system/projection/managementReadModelService.d.ts +3 -1
  247. package/dist/core/system/projection/managementReadModelService.js +133 -117
  248. package/dist/core/system/projection/managementReadModelService.js.map +1 -1
  249. package/dist/core/system/projection/pendingRequestProjectionStore.d.ts +1 -1
  250. package/dist/core/system/projection/pendingRequestProjectionStore.js +9 -9
  251. package/dist/core/system/projection/pendingRequestProjectionStore.js.map +1 -1
  252. package/dist/core/system/projection/runtimeActivityStore.d.ts +1 -1
  253. package/dist/core/system/projection/runtimeActivityStore.js +7 -7
  254. package/dist/core/system/projection/runtimeActivityStore.js.map +1 -1
  255. package/dist/core/system/projection/runtimeProjectionService.d.ts +1 -1
  256. package/dist/core/system/projection/runtimeProjectionService.js +3 -3
  257. package/dist/core/system/projection/runtimeProjectionService.js.map +1 -1
  258. package/dist/core/system/projection/runtimeReceiptStore.js +5 -5
  259. package/dist/core/system/projection/runtimeReceiptStore.js.map +1 -1
  260. package/dist/core/system/projection/runtimeReconciler.js +2 -2
  261. package/dist/core/system/projection/runtimeReconciler.js.map +1 -1
  262. package/dist/core/system/projection/runtimeSnapshotQuery.d.ts +6 -5
  263. package/dist/core/system/projection/runtimeSnapshotQuery.js +6 -6
  264. package/dist/core/system/projection/runtimeSnapshotQuery.js.map +1 -1
  265. package/dist/core/system/release/releaseArtifacts.d.ts +0 -2
  266. package/dist/core/system/release/releaseArtifacts.js +1 -12
  267. package/dist/core/system/release/releaseArtifacts.js.map +1 -1
  268. package/dist/core/system/release/runtimePackageLoadReport.d.ts +0 -1
  269. package/dist/core/system/release/runtimePackageLoadReport.js +0 -7
  270. package/dist/core/system/release/runtimePackageLoadReport.js.map +1 -1
  271. package/dist/core/system/state/canonicalEventLogStore.d.ts +1 -1
  272. package/dist/core/system/state/canonicalEventLogStore.js +7 -7
  273. package/dist/core/system/state/canonicalEventLogStore.js.map +1 -1
  274. package/dist/core/system/state/safeJson.d.ts +2 -1
  275. package/dist/core/system/state/sqlite/domainEventLogRepository.js +5 -5
  276. package/dist/core/system/state/sqlite/domainEventLogRepository.js.map +1 -1
  277. package/dist/core/system/state/sqlite/externalResourceRepository.d.ts +25 -0
  278. package/dist/core/system/state/sqlite/externalResourceRepository.js +105 -0
  279. package/dist/core/system/state/sqlite/externalResourceRepository.js.map +1 -0
  280. package/dist/core/system/state/sqlite/gateRunRepository.d.ts +13 -0
  281. package/dist/core/system/state/sqlite/gateRunRepository.js +66 -0
  282. package/dist/core/system/state/sqlite/gateRunRepository.js.map +1 -0
  283. package/dist/core/system/state/sqlite/orchestrationRepository.js +6 -6
  284. package/dist/core/system/state/sqlite/orchestrationRepository.js.map +1 -1
  285. package/dist/core/system/state/sqlite/packageJobRepository.d.ts +11 -0
  286. package/dist/core/system/state/sqlite/packageJobRepository.js +60 -0
  287. package/dist/core/system/state/sqlite/packageJobRepository.js.map +1 -0
  288. package/dist/core/system/state/sqlite/packageStateRepository.d.ts +10 -0
  289. package/dist/core/system/state/sqlite/packageStateRepository.js +45 -0
  290. package/dist/core/system/state/sqlite/packageStateRepository.js.map +1 -0
  291. package/dist/core/system/state/sqlite/pendingRequestRepository.d.ts +2 -2
  292. package/dist/core/system/state/sqlite/pendingRequestRepository.js +10 -10
  293. package/dist/core/system/state/sqlite/pendingRequestRepository.js.map +1 -1
  294. package/dist/core/system/state/sqlite/providerEventLogRepository.d.ts +1 -1
  295. package/dist/core/system/state/sqlite/providerEventLogRepository.js +6 -6
  296. package/dist/core/system/state/sqlite/providerEventLogRepository.js.map +1 -1
  297. package/dist/core/system/state/sqlite/rowMappers.d.ts +0 -1
  298. package/dist/core/system/state/sqlite/rowMappers.js +0 -3
  299. package/dist/core/system/state/sqlite/rowMappers.js.map +1 -1
  300. package/dist/core/system/state/sqlite/runtimeReceiptRepository.js +4 -4
  301. package/dist/core/system/state/sqlite/runtimeReceiptRepository.js.map +1 -1
  302. package/dist/core/system/state/sqlite/sessionRepository.d.ts +1 -1
  303. package/dist/core/system/state/sqlite/sessionRepository.js +13 -10
  304. package/dist/core/system/state/sqlite/sessionRepository.js.map +1 -1
  305. package/dist/core/system/state/sqlite/transportIntentRepository.d.ts +12 -0
  306. package/dist/core/system/state/sqlite/transportIntentRepository.js +106 -0
  307. package/dist/core/system/state/sqlite/transportIntentRepository.js.map +1 -0
  308. package/dist/core/system/state/sqlite/types.d.ts +91 -48
  309. package/dist/core/system/state/sqlite/types.js +86 -31
  310. package/dist/core/system/state/sqlite/types.js.map +1 -1
  311. package/dist/core/system/state/sqlite/workItemRepository.d.ts +25 -0
  312. package/dist/core/system/state/sqlite/workItemRepository.js +200 -0
  313. package/dist/core/system/state/sqlite/workItemRepository.js.map +1 -0
  314. package/dist/core/system/state/sqliteSessionStore.d.ts +68 -24
  315. package/dist/core/system/state/sqliteSessionStore.js +92 -41
  316. package/dist/core/system/state/sqliteSessionStore.js.map +1 -1
  317. package/dist/core/system/vcs/gitIgnoreTemplate.js +1 -1
  318. package/dist/core/system/vcs/gitIgnoreTemplate.js.map +1 -1
  319. package/dist/core/system/vcs/gitTrackedPaths.js +1 -1
  320. package/dist/core/system/vcs/gitTrackedPaths.js.map +1 -1
  321. package/dist/types/app.d.ts +35 -36
  322. package/dist/types/config.d.ts +14 -26
  323. package/dist/types/config.js +16 -22
  324. package/dist/types/config.js.map +1 -1
  325. package/dist/types/distro.d.ts +1 -1
  326. package/dist/types/distro.js.map +1 -1
  327. package/dist/types/external.d.ts +1 -0
  328. package/dist/types/external.js +2 -0
  329. package/dist/types/external.js.map +1 -0
  330. package/dist/types/package.d.ts +4 -4
  331. package/dist/types/provider.d.ts +2 -2
  332. package/dist/types/provider.js +1 -1
  333. package/dist/types/provider.js.map +1 -1
  334. package/dist/types/runtime.d.ts +2 -2
  335. package/dist/types/runtime.js +1 -1
  336. package/dist/types/runtime.js.map +1 -1
  337. package/dist/types/transport.d.ts +1 -1
  338. package/dist/types/transport.js.map +1 -1
  339. package/package.json +6 -3
  340. package/resources/migrations/001_sessions.sql +8 -9
  341. package/resources/migrations/003_provider_projections.sql +2 -2
  342. package/resources/migrations/004_runtime_projection_state.sql +1 -1
  343. package/resources/migrations/007_package_state_jobs.sql +28 -0
  344. package/resources/migrations/{009_session_orchestration.sql → 008_session_orchestration.sql} +1 -1
  345. package/resources/migrations/010_scope_space_terminology.sql +2 -0
  346. package/resources/migrations/015_external_work_spine.sql +92 -0
  347. package/resources/migrations/016_provider_profiles.sql +4 -0
  348. package/resources/migrations/017_nullable_session_workspace.sql +49 -0
  349. package/resources/migrations/018_transport_intents.sql +18 -0
  350. package/resources/policies/default-secure.json +13 -95
  351. package/dist/app/bootstrap/officialCatalog.d.ts +0 -1
  352. package/dist/app/bootstrap/officialCatalog.js +0 -2
  353. package/dist/app/bootstrap/officialCatalog.js.map +0 -1
  354. package/dist/core/domain/memory/operatorMemoryService.d.ts +0 -36
  355. package/dist/core/domain/memory/operatorMemoryService.js +0 -81
  356. package/dist/core/domain/memory/operatorMemoryService.js.map +0 -1
  357. package/dist/core/domain/missions/missionDraftSetup.d.ts +0 -12
  358. package/dist/core/domain/missions/missionDraftSetup.js +0 -92
  359. package/dist/core/domain/missions/missionDraftSetup.js.map +0 -1
  360. package/dist/core/domain/missions/missionHookService.d.ts +0 -41
  361. package/dist/core/domain/missions/missionHookService.js +0 -161
  362. package/dist/core/domain/missions/missionHookService.js.map +0 -1
  363. package/dist/core/domain/missions/missionHookValidation.d.ts +0 -8
  364. package/dist/core/domain/missions/missionHookValidation.js +0 -59
  365. package/dist/core/domain/missions/missionHookValidation.js.map +0 -1
  366. package/dist/core/domain/missions/missionRegistry.d.ts +0 -55
  367. package/dist/core/domain/missions/missionRegistry.js +0 -204
  368. package/dist/core/domain/missions/missionRegistry.js.map +0 -1
  369. package/dist/core/domain/missions/missionSchedule.d.ts +0 -24
  370. package/dist/core/domain/missions/missionSchedule.js.map +0 -1
  371. package/dist/core/domain/sessions/workManagement/spaceNames.d.ts +0 -2
  372. package/dist/core/domain/sessions/workManagement/spaceNames.js.map +0 -1
  373. package/dist/core/extension/packages/officialArchiveResolver.d.ts +0 -2
  374. package/dist/core/extension/packages/officialArchiveResolver.js.map +0 -1
  375. package/dist/core/extension/packages/officialCatalog.d.ts +0 -9
  376. package/dist/core/extension/packages/officialCatalog.js +0 -198
  377. package/dist/core/extension/packages/officialCatalog.js.map +0 -1
  378. package/dist/core/extension/packages/packageDistroMetadata.d.ts +0 -14
  379. package/dist/core/extension/packages/packageDistroMetadata.js +0 -153
  380. package/dist/core/extension/packages/packageDistroMetadata.js.map +0 -1
  381. package/dist/core/runtime/execution/providerCoordination/providerCompactionCoordinator.d.ts +0 -7
  382. package/dist/core/runtime/execution/providerCoordination/providerCompactionCoordinator.js +0 -25
  383. package/dist/core/runtime/execution/providerCoordination/providerCompactionCoordinator.js.map +0 -1
  384. package/dist/core/runtime/execution/providerCoordination/providerRecoveryService.d.ts +0 -7
  385. package/dist/core/runtime/execution/providerCoordination/providerRecoveryService.js +0 -6
  386. package/dist/core/runtime/execution/providerCoordination/providerRecoveryService.js.map +0 -1
  387. package/dist/core/runtime/execution/providerCoordination/providerTurnCoordinator.d.ts +0 -3
  388. package/dist/core/runtime/execution/providerCoordination/providerTurnCoordinator.js +0 -6
  389. package/dist/core/runtime/execution/providerCoordination/providerTurnCoordinator.js.map +0 -1
  390. package/dist/core/runtime/execution/providerOrchestration/providerMissionEventProjector.d.ts +0 -12
  391. package/dist/core/runtime/execution/providerOrchestration/providerMissionEventProjector.js +0 -71
  392. package/dist/core/runtime/execution/providerOrchestration/providerMissionEventProjector.js.map +0 -1
  393. package/dist/core/runtime/hosting/managedSpaceMetadata.d.ts +0 -7
  394. package/dist/core/runtime/hosting/managedSpaceMetadata.js +0 -14
  395. package/dist/core/runtime/hosting/managedSpaceMetadata.js.map +0 -1
  396. package/dist/core/runtime/lifecycle/managedChannelLifecycleService.d.ts +0 -37
  397. package/dist/core/runtime/lifecycle/managedChannelLifecycleService.js +0 -256
  398. package/dist/core/runtime/lifecycle/managedChannelLifecycleService.js.map +0 -1
  399. package/dist/core/system/state/sqlite/missionRepository.d.ts +0 -24
  400. package/dist/core/system/state/sqlite/missionRepository.js +0 -252
  401. package/dist/core/system/state/sqlite/missionRepository.js.map +0 -1
  402. package/resources/migrations/007_missions.sql +0 -41
  403. package/resources/migrations/008_mission_schedule_anchor.sql +0 -5
  404. package/resources/migrations/010_mission_archival.sql +0 -1
  405. package/resources/migrations/012_scope_space_terminology.sql +0 -19
  406. package/resources/migrations/015_mission_schedule_meta.sql +0 -9
  407. package/resources/migrations/016_mission_hook_bindings.sql +0 -16
  408. package/resources/official-catalog.json +0 -444
  409. /package/resources/migrations/{011_managed_sidecars.sql → 009_managed_sidecars.sql} +0 -0
  410. /package/resources/migrations/{013_orchestration_dedupe.sql → 011_orchestration_dedupe.sql} +0 -0
  411. /package/resources/migrations/{014_orchestration_execution_claims.sql → 012_orchestration_execution_claims.sql} +0 -0
  412. /package/resources/migrations/{017_domain_event_provenance.sql → 013_domain_event_provenance.sql} +0 -0
  413. /package/resources/migrations/{018_provider_event_processing.sql → 014_provider_event_processing.sql} +0 -0
@@ -1,22 +1,25 @@
1
- import type { PendingRuntimeRequestRecord, ProviderRuntimeEvent, ProviderSessionRecord, RuntimeModeName } from '../../../../types/runtime.js';
1
+ import type { PendingRuntimeRequestRecord, ProviderResumeCursor, ProviderRuntimeEvent, ProviderSessionRecord, RuntimeAgentKind, RuntimeModeName } from '../../../../types/runtime.js';
2
2
  import type { SessionOwnerKind } from '../../../../types/plugin.js';
3
+ import type { RuntimeExternalResourceRecord, RuntimeGateRunRecord, RuntimeWorkItemRecord } from '../../../../types/external.js';
3
4
  import type { ProviderBindingRecord, RuntimeDomainEvent, RuntimeReceiptRecord } from '../../../runtime/execution/runtimeDomain.js';
4
5
  import type { ManagedSidecarRecord } from '../../../runtime/supervision/managedSidecar.js';
5
6
  export type SessionLifecycleStatus = 'hot' | 'cool' | 'archived';
6
- export type MissionLifecycleStatus = 'draft' | 'active' | 'sleeping' | 'waiting_on_user' | 'completed' | 'stopped' | 'failed';
7
7
  export interface RuntimeSessionRow {
8
8
  sessionId: string;
9
9
  scopeId: string;
10
- spaceId: string;
10
+ transportResourceId: string;
11
11
  threadId: string;
12
- spaceName: string;
13
- workspacePath: string;
12
+ transportResourceName: string;
13
+ agentKind?: RuntimeAgentKind;
14
+ workspacePath: string | null;
15
+ providerCwd?: string | null;
14
16
  runtimeMode: RuntimeModeName;
15
17
  lifecycleStatus: SessionLifecycleStatus;
16
18
  summary: string | null;
17
19
  provider: ProviderSessionRecord['providerPackageId'];
18
20
  providerThreadId: string | null;
19
- resumeThreadId: string | null;
21
+ resumeCursor?: ProviderResumeCursor | null;
22
+ toolGrantIds?: string[];
20
23
  providerStatus: ProviderSessionRecord['status'];
21
24
  providerAutoStartEnabled?: boolean;
22
25
  activeTurnId: string | null;
@@ -34,13 +37,13 @@ export interface RuntimeSessionRow {
34
37
  lastDirectedAt?: string | null;
35
38
  lastDirectedBy?: string | null;
36
39
  }
37
- export type RuntimeOrchestrationRequestType = 'create_session' | 'direct_session' | 'archive_session' | 'delete_session' | 'post_message' | 'create_mission' | 'pause_mission' | 'resume_mission' | 'stop_mission' | 'run_mission' | 'archive_mission' | 'delete_mission' | 'runtime_set_accepting' | 'runtime_reload' | 'provider_test' | 'provider_stop' | 'provider_start' | 'resolve_pending_request' | 'answer_pending_request';
40
+ export type RuntimeOrchestrationRequestType = 'create_session' | 'direct_session' | 'archive_session' | 'delete_session' | 'post_message' | 'runtime_set_accepting' | 'runtime_reload' | 'provider_test' | 'provider_stop' | 'provider_start' | 'resolve_pending_request' | 'answer_pending_request';
38
41
  export type RuntimeOrchestrationRequestStatus = 'pending' | 'running' | 'completed' | 'failed';
39
42
  export interface RuntimeOrchestrationRequestRow {
40
43
  requestId: string;
41
44
  actorId: string;
42
45
  requestedByThreadId: string;
43
- requestedBySpaceId: string;
46
+ requestedByTransportResourceId: string;
44
47
  dedupeKey: string | null;
45
48
  type: RuntimeOrchestrationRequestType;
46
49
  targetSessionId: string | null;
@@ -56,56 +59,92 @@ export interface RuntimeOrchestrationRequestRow {
56
59
  createdAt: string;
57
60
  updatedAt: string;
58
61
  }
59
- export interface RuntimeMissionRow {
60
- missionId: string;
61
- scopeId: string;
62
- spaceId: string;
63
- threadId: string;
64
- spaceName: string;
65
- title: string;
66
- goal: string;
67
- scheduleText: string;
62
+ export interface RuntimePackageStateRow {
63
+ packageId: string;
64
+ key: string;
65
+ valueJson: string;
66
+ updatedAt: string;
67
+ }
68
+ export interface RuntimePackageJobRow {
69
+ packageId: string;
70
+ jobId: string;
71
+ actionId: string;
72
+ schedule: string;
68
73
  scheduleAnchorAt: string;
69
74
  cadenceMinutes: number;
70
- scheduleMetaJson?: string | null;
71
- runtimeMode: RuntimeModeName;
72
- workspacePath: string;
73
- lifecycleStatus: MissionLifecycleStatus;
74
- pausedAt: string | null;
75
- lastRunAt: string | null;
75
+ scheduleMetaJson: string;
76
+ payloadJson: string;
76
77
  nextRunAt: string | null;
77
- lastSuccessAt: string | null;
78
- completedAt: string | null;
79
- stoppedAt: string | null;
80
- archivedAt: string | null;
81
- lastError: string | null;
82
78
  createdAt: string;
83
79
  updatedAt: string;
84
80
  }
85
- export interface RuntimeMissionRunRow {
86
- runId: string;
87
- missionId: string;
88
- trigger: 'schedule' | 'manual' | 'resume' | 'hook';
89
- lifecycleStatus: 'running' | 'waiting_on_user' | 'completed' | 'failed' | 'stopped';
90
- summary: string | null;
91
- errorMessage: string | null;
92
- startedAt: string;
93
- finishedAt: string | null;
81
+ export interface RuntimeExternalResourceRow {
82
+ provider: string;
83
+ kind: string;
84
+ externalId: string;
85
+ url: string | null;
86
+ title: string | null;
87
+ state: string | null;
88
+ metadataJson: string;
89
+ firstSeenAt: string;
90
+ lastSeenAt: string;
94
91
  }
95
- export interface RuntimeMissionHookBindingRow {
96
- bindingId: string;
97
- missionId: string;
98
- hookKey: string;
99
- conditionJson: string | null;
100
- createdBy: string;
92
+ export interface RuntimeWorkItemRow {
93
+ workItemId: string;
94
+ packageId: string;
95
+ queue: string;
96
+ status: RuntimeWorkItemRecord['status'];
97
+ priority: number;
98
+ idempotencyKey: string | null;
99
+ externalProvider: string | null;
100
+ externalKind: string | null;
101
+ externalId: string | null;
102
+ externalUrl: string | null;
103
+ externalTitle: string | null;
104
+ externalMetadataJson: string | null;
105
+ sessionId: string | null;
106
+ payloadJson: string;
107
+ phase: string | null;
108
+ attempts: number;
109
+ maxAttempts: number;
110
+ runAfter: string | null;
111
+ leaseOwner: string | null;
112
+ leaseExpiresAt: string | null;
113
+ lastError: string | null;
101
114
  createdAt: string;
102
115
  updatedAt: string;
116
+ completedAt: string | null;
117
+ }
118
+ export interface RuntimeSessionExternalResourceRow {
119
+ sessionId: string;
120
+ provider: string;
121
+ kind: string;
122
+ externalId: string;
123
+ relationship: string;
124
+ createdAt: string;
125
+ }
126
+ export interface RuntimeGateRunRow {
127
+ gateRunId: string;
128
+ gateId: string;
129
+ packageId: string;
130
+ workItemId: string | null;
131
+ sessionId: string | null;
132
+ command: string;
133
+ argsJson: string;
134
+ cwd: string | null;
135
+ required: number;
136
+ status: RuntimeGateRunRecord['status'];
137
+ exitCode: number | null;
138
+ stdout: string;
139
+ stderr: string;
140
+ startedAt: string;
141
+ completedAt: string | null;
103
142
  }
104
143
  export interface RuntimeEventRow {
105
144
  eventId: string;
106
145
  provider: string;
107
146
  threadId: string;
108
- spaceId: string | null;
147
+ transportResourceId: string | null;
109
148
  turnId: string | null;
110
149
  itemId: string | null;
111
150
  requestId: string | null;
@@ -116,15 +155,17 @@ export interface RuntimeEventRow {
116
155
  export interface DomainEventRow {
117
156
  eventId: string;
118
157
  threadId: string;
119
- spaceId: string | null;
158
+ transportResourceId: string | null;
120
159
  sessionId: string | null;
121
160
  sourceProviderEventId: string | null;
122
161
  type: string;
123
162
  payloadJson: string;
124
163
  createdAt: string;
125
164
  }
126
- export interface RuntimeSessionDbRow extends Omit<RuntimeSessionRow, 'providerAutoStartEnabled' | 'tags'> {
165
+ export interface RuntimeSessionDbRow extends Omit<RuntimeSessionRow, 'providerAutoStartEnabled' | 'tags' | 'resumeCursor' | 'toolGrantIds'> {
127
166
  providerAutoStartEnabled: number;
167
+ resumeCursorJson: string | null;
168
+ toolGrantIdsJson: string | null;
128
169
  tagsJson: string | null;
129
170
  }
130
171
  export interface ManagedSidecarDbRow extends Omit<ManagedSidecarRecord, 'args' | 'env' | 'readiness'> {
@@ -135,6 +176,8 @@ export interface ManagedSidecarDbRow extends Omit<ManagedSidecarRecord, 'args' |
135
176
  export type { PendingRuntimeRequestRecord, ProviderBindingRecord, ProviderRuntimeEvent, RuntimeDomainEvent, RuntimeReceiptRecord };
136
177
  export declare function hydrateSession(row: RuntimeSessionDbRow | undefined): RuntimeSessionRow | null;
137
178
  export declare function hydrateManagedSidecar(row: ManagedSidecarDbRow | undefined): ManagedSidecarRecord | null;
138
- export declare const RUNTIME_SESSION_SELECT = "\n SELECT\n session_id as sessionId,\n scope_id as scopeId,\n space_id as spaceId,\n thread_id as threadId,\n space_name as spaceName,\n workspace_path as workspacePath,\n runtime_mode as runtimeMode,\n lifecycle_status as lifecycleStatus,\n summary,\n provider,\n provider_thread_id as providerThreadId,\n resume_thread_id as resumeThreadId,\n provider_status as providerStatus,\n provider_auto_start_enabled as providerAutoStartEnabled,\n active_turn_id as activeTurnId,\n created_at as createdAt,\n updated_at as updatedAt,\n last_activity_at as lastActivityAt,\n archived_at as archivedAt,\n last_error as lastError,\n owner_kind as ownerKind,\n owner_id as ownerId,\n owner_label as ownerLabel,\n objective,\n tags_json as tagsJson,\n created_by as createdBy,\n last_directed_at as lastDirectedAt,\n last_directed_by as lastDirectedBy\n FROM runtime_sessions\n";
139
- export declare const RUNTIME_MISSION_SELECT = "\n SELECT\n mission_id as missionId,\n scope_id as scopeId,\n space_id as spaceId,\n thread_id as threadId,\n space_name as spaceName,\n title,\n goal,\n schedule_text as scheduleText,\n schedule_anchor_at as scheduleAnchorAt,\n cadence_minutes as cadenceMinutes,\n schedule_meta_json as scheduleMetaJson,\n runtime_mode as runtimeMode,\n workspace_path as workspacePath,\n lifecycle_status as lifecycleStatus,\n paused_at as pausedAt,\n last_run_at as lastRunAt,\n next_run_at as nextRunAt,\n last_success_at as lastSuccessAt,\n completed_at as completedAt,\n stopped_at as stoppedAt,\n archived_at as archivedAt,\n last_error as lastError,\n created_at as createdAt,\n updated_at as updatedAt\n FROM runtime_missions\n";
179
+ export declare function hydrateExternalResource(row: RuntimeExternalResourceRow | undefined): RuntimeExternalResourceRecord | null;
180
+ export declare function hydrateWorkItem(row: RuntimeWorkItemRow | undefined): RuntimeWorkItemRecord | null;
181
+ export declare function hydrateGateRun(row: RuntimeGateRunRow | undefined): RuntimeGateRunRecord | null;
182
+ export declare const RUNTIME_SESSION_SELECT = "\n SELECT\n session_id as sessionId,\n scope_id as scopeId,\n transport_resource_id as transportResourceId,\n thread_id as threadId,\n transport_resource_name as transportResourceName,\n COALESCE(agent_kind, 'workspace') as agentKind,\n workspace_path as workspacePath,\n provider_cwd as providerCwd,\n runtime_mode as runtimeMode,\n lifecycle_status as lifecycleStatus,\n summary,\n provider,\n provider_thread_id as providerThreadId,\n resume_cursor_json as resumeCursorJson,\n tool_grant_ids_json as toolGrantIdsJson,\n provider_status as providerStatus,\n provider_auto_start_enabled as providerAutoStartEnabled,\n active_turn_id as activeTurnId,\n created_at as createdAt,\n updated_at as updatedAt,\n last_activity_at as lastActivityAt,\n archived_at as archivedAt,\n last_error as lastError,\n owner_kind as ownerKind,\n owner_id as ownerId,\n owner_label as ownerLabel,\n objective,\n tags_json as tagsJson,\n created_by as createdBy,\n last_directed_at as lastDirectedAt,\n last_directed_by as lastDirectedBy\n FROM runtime_sessions\n";
140
183
  export declare const MANAGED_SIDECAR_SELECT = "\n SELECT\n sidecar_id as sidecarId,\n instance_id as instanceId,\n plugin_id as pluginId,\n sidecar_name as name,\n scope_kind as scopeKind,\n scope_key as scopeKey,\n status,\n command,\n args_json as argsJson,\n cwd,\n env_json as envJson,\n restart_policy as restartPolicy,\n max_restarts as maxRestarts,\n readiness_json as readinessJson,\n artifact_dir as artifactDir,\n pid,\n restart_count as restartCount,\n started_at as startedAt,\n ready_at as readyAt,\n stopped_at as stoppedAt,\n last_exit_code as lastExitCode,\n last_exit_signal as lastExitSignal,\n last_error as lastError,\n updated_at as updatedAt\n FROM managed_sidecars\n";
@@ -5,7 +5,10 @@ export function hydrateSession(row) {
5
5
  }
6
6
  return {
7
7
  ...row,
8
+ agentKind: row.agentKind ?? 'workspace',
8
9
  providerAutoStartEnabled: row.providerAutoStartEnabled !== 0,
10
+ resumeCursor: safeReadJsonValue(row.resumeCursorJson).value ?? null,
11
+ toolGrantIds: safeReadJson(row.toolGrantIdsJson, isStringArray).value ?? [],
9
12
  tags: safeReadJson(row.tagsJson, isStringArray).value ?? []
10
13
  };
11
14
  }
@@ -22,20 +25,100 @@ export function hydrateManagedSidecar(row) {
22
25
  readiness: safeReadJsonValue(row.readinessJson).value ?? { kind: 'none' }
23
26
  };
24
27
  }
28
+ export function hydrateExternalResource(row) {
29
+ if (!row) {
30
+ return null;
31
+ }
32
+ const metadata = safeReadJsonValue(row.metadataJson).value ?? {};
33
+ return {
34
+ provider: row.provider,
35
+ kind: row.kind,
36
+ id: row.externalId,
37
+ ...(row.url ? { url: row.url } : {}),
38
+ ...(row.title ? { title: row.title } : {}),
39
+ ...(row.state ? { state: row.state } : {}),
40
+ ...(Object.keys(metadata).length > 0 ? { metadata } : {}),
41
+ firstSeenAt: row.firstSeenAt,
42
+ lastSeenAt: row.lastSeenAt
43
+ };
44
+ }
45
+ export function hydrateWorkItem(row) {
46
+ if (!row) {
47
+ return null;
48
+ }
49
+ const payload = safeReadJsonValue(row.payloadJson).value ?? {};
50
+ const externalMetadata = safeReadJsonValue(row.externalMetadataJson).value ?? {};
51
+ const externalResource = row.externalProvider && row.externalKind && row.externalId
52
+ ? {
53
+ provider: row.externalProvider,
54
+ kind: row.externalKind,
55
+ id: row.externalId,
56
+ ...(row.externalUrl ? { url: row.externalUrl } : {}),
57
+ ...(row.externalTitle ? { title: row.externalTitle } : {}),
58
+ ...(Object.keys(externalMetadata).length > 0 ? { metadata: externalMetadata } : {})
59
+ }
60
+ : undefined;
61
+ return {
62
+ workItemId: row.workItemId,
63
+ packageId: row.packageId,
64
+ queue: row.queue,
65
+ status: row.status,
66
+ priority: row.priority,
67
+ ...(row.idempotencyKey ? { idempotencyKey: row.idempotencyKey } : {}),
68
+ ...(externalResource ? { externalResource } : {}),
69
+ ...(row.sessionId ? { sessionId: row.sessionId } : {}),
70
+ payload,
71
+ ...(row.phase ? { phase: row.phase } : {}),
72
+ attempts: row.attempts,
73
+ maxAttempts: row.maxAttempts,
74
+ runAfter: row.runAfter,
75
+ leaseOwner: row.leaseOwner,
76
+ leaseExpiresAt: row.leaseExpiresAt,
77
+ lastError: row.lastError,
78
+ createdAt: row.createdAt,
79
+ updatedAt: row.updatedAt,
80
+ completedAt: row.completedAt
81
+ };
82
+ }
83
+ export function hydrateGateRun(row) {
84
+ if (!row) {
85
+ return null;
86
+ }
87
+ return {
88
+ gateRunId: row.gateRunId,
89
+ gateId: row.gateId,
90
+ packageId: row.packageId,
91
+ ...(row.workItemId ? { workItemId: row.workItemId } : {}),
92
+ ...(row.sessionId ? { sessionId: row.sessionId } : {}),
93
+ command: row.command,
94
+ args: safeReadJson(row.argsJson, isStringArray).value ?? [],
95
+ ...(row.cwd ? { cwd: row.cwd } : {}),
96
+ required: row.required !== 0,
97
+ status: row.status,
98
+ exitCode: row.exitCode,
99
+ stdout: row.stdout,
100
+ stderr: row.stderr,
101
+ startedAt: row.startedAt,
102
+ completedAt: row.completedAt
103
+ };
104
+ }
25
105
  export const RUNTIME_SESSION_SELECT = `
26
106
  SELECT
27
107
  session_id as sessionId,
28
108
  scope_id as scopeId,
29
- space_id as spaceId,
109
+ transport_resource_id as transportResourceId,
30
110
  thread_id as threadId,
31
- space_name as spaceName,
111
+ transport_resource_name as transportResourceName,
112
+ COALESCE(agent_kind, 'workspace') as agentKind,
32
113
  workspace_path as workspacePath,
114
+ provider_cwd as providerCwd,
33
115
  runtime_mode as runtimeMode,
34
116
  lifecycle_status as lifecycleStatus,
35
117
  summary,
36
118
  provider,
37
119
  provider_thread_id as providerThreadId,
38
- resume_thread_id as resumeThreadId,
120
+ resume_cursor_json as resumeCursorJson,
121
+ tool_grant_ids_json as toolGrantIdsJson,
39
122
  provider_status as providerStatus,
40
123
  provider_auto_start_enabled as providerAutoStartEnabled,
41
124
  active_turn_id as activeTurnId,
@@ -54,34 +137,6 @@ export const RUNTIME_SESSION_SELECT = `
54
137
  last_directed_by as lastDirectedBy
55
138
  FROM runtime_sessions
56
139
  `;
57
- export const RUNTIME_MISSION_SELECT = `
58
- SELECT
59
- mission_id as missionId,
60
- scope_id as scopeId,
61
- space_id as spaceId,
62
- thread_id as threadId,
63
- space_name as spaceName,
64
- title,
65
- goal,
66
- schedule_text as scheduleText,
67
- schedule_anchor_at as scheduleAnchorAt,
68
- cadence_minutes as cadenceMinutes,
69
- schedule_meta_json as scheduleMetaJson,
70
- runtime_mode as runtimeMode,
71
- workspace_path as workspacePath,
72
- lifecycle_status as lifecycleStatus,
73
- paused_at as pausedAt,
74
- last_run_at as lastRunAt,
75
- next_run_at as nextRunAt,
76
- last_success_at as lastSuccessAt,
77
- completed_at as completedAt,
78
- stopped_at as stoppedAt,
79
- archived_at as archivedAt,
80
- last_error as lastError,
81
- created_at as createdAt,
82
- updated_at as updatedAt
83
- FROM runtime_missions
84
- `;
85
140
  export const MANAGED_SIDECAR_SELECT = `
86
141
  SELECT
87
142
  sidecar_id as sidecarId,
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../../src/core/system/state/sqlite/types.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAqKhF,MAAM,UAAU,cAAc,CAAC,GAAoC;IACjE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,GAAG,GAAG;QACN,wBAAwB,EAAE,GAAG,CAAC,wBAAwB,KAAK,CAAC;QAC5D,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,KAAK,IAAI,EAAE;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAoC;IACxE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,GAAG,GAAG;QACN,MAAM,EAAE,GAAG,CAAC,MAA8B;QAC1C,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,KAAK,IAAI,EAAE;QAC3D,GAAG,EAAE,iBAAiB,CAAyB,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE;QACvE,aAAa,EAAE,GAAG,CAAC,aAAqC;QACxD,SAAS,EAAE,iBAAiB,CAAwB,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;KACjG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BrC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BrC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BrC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../../src/core/system/state/sqlite/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { DatabaseSync } from 'node:sqlite';
2
+ import type { RuntimeExternalResourceRef, RuntimeWorkItemRecord, RuntimeWorkItemStatus } from '../../../../types/external.js';
3
+ export declare class WorkItemRepository {
4
+ private readonly db;
5
+ constructor(db: DatabaseSync);
6
+ private insert;
7
+ update(record: RuntimeWorkItemRecord): RuntimeWorkItemRecord;
8
+ enqueue(record: RuntimeWorkItemRecord): RuntimeWorkItemRecord;
9
+ get(workItemId: string): RuntimeWorkItemRecord | null;
10
+ findByIdempotencyKey(packageId: string, queue: string, idempotencyKey: string): RuntimeWorkItemRecord | null;
11
+ list(filter?: {
12
+ packageId?: string;
13
+ queue?: string;
14
+ status?: RuntimeWorkItemStatus;
15
+ externalResource?: RuntimeExternalResourceRef;
16
+ limit?: number;
17
+ }): RuntimeWorkItemRecord[];
18
+ claim(input: {
19
+ packageId: string;
20
+ queue: string;
21
+ leaseOwner: string;
22
+ leaseExpiresAt: string;
23
+ nowIso: string;
24
+ }): RuntimeWorkItemRecord | null;
25
+ }
@@ -0,0 +1,200 @@
1
+ import { mapRows } from './rowMappers.js';
2
+ import { hydrateWorkItem } from './types.js';
3
+ const WORK_ITEM_SELECT = `
4
+ SELECT
5
+ work_item_id as workItemId,
6
+ package_id as packageId,
7
+ queue,
8
+ status,
9
+ priority,
10
+ idempotency_key as idempotencyKey,
11
+ external_provider as externalProvider,
12
+ external_kind as externalKind,
13
+ external_id as externalId,
14
+ external_url as externalUrl,
15
+ external_title as externalTitle,
16
+ external_metadata_json as externalMetadataJson,
17
+ session_id as sessionId,
18
+ payload_json as payloadJson,
19
+ phase,
20
+ attempts,
21
+ max_attempts as maxAttempts,
22
+ run_after as runAfter,
23
+ lease_owner as leaseOwner,
24
+ lease_expires_at as leaseExpiresAt,
25
+ last_error as lastError,
26
+ created_at as createdAt,
27
+ updated_at as updatedAt,
28
+ completed_at as completedAt
29
+ FROM runtime_work_items
30
+ `;
31
+ function workItemRow(input) {
32
+ return {
33
+ workItemId: input.workItemId,
34
+ packageId: input.packageId,
35
+ queue: input.queue,
36
+ status: input.status,
37
+ priority: input.priority,
38
+ idempotencyKey: input.idempotencyKey ?? null,
39
+ externalProvider: input.externalResource?.provider ?? null,
40
+ externalKind: input.externalResource?.kind ?? null,
41
+ externalId: input.externalResource?.id ?? null,
42
+ externalUrl: input.externalResource?.url ?? null,
43
+ externalTitle: input.externalResource?.title ?? null,
44
+ externalMetadataJson: input.externalResource ? JSON.stringify(input.externalResource.metadata ?? {}) : null,
45
+ sessionId: input.sessionId ?? null,
46
+ payloadJson: JSON.stringify(input.payload),
47
+ phase: input.phase ?? null,
48
+ attempts: input.attempts,
49
+ maxAttempts: input.maxAttempts,
50
+ runAfter: input.runAfter,
51
+ leaseOwner: input.leaseOwner,
52
+ leaseExpiresAt: input.leaseExpiresAt,
53
+ lastError: input.lastError,
54
+ createdAt: input.createdAt,
55
+ updatedAt: input.updatedAt,
56
+ completedAt: input.completedAt
57
+ };
58
+ }
59
+ export class WorkItemRepository {
60
+ db;
61
+ constructor(db) {
62
+ this.db = db;
63
+ }
64
+ insert(row, conflictClause) {
65
+ this.db
66
+ .prepare(`
67
+ INSERT ${conflictClause} INTO runtime_work_items (
68
+ work_item_id, package_id, queue, status, priority, idempotency_key,
69
+ external_provider, external_kind, external_id, external_url, external_title, external_metadata_json,
70
+ session_id, payload_json, phase, attempts, max_attempts, run_after, lease_owner, lease_expires_at,
71
+ last_error, created_at, updated_at, completed_at
72
+ )
73
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
74
+ `)
75
+ .run(row.workItemId, row.packageId, row.queue, row.status, row.priority, row.idempotencyKey, row.externalProvider, row.externalKind, row.externalId, row.externalUrl, row.externalTitle, row.externalMetadataJson, row.sessionId, row.payloadJson, row.phase, row.attempts, row.maxAttempts, row.runAfter, row.leaseOwner, row.leaseExpiresAt, row.lastError, row.createdAt, row.updatedAt, row.completedAt);
76
+ }
77
+ update(record) {
78
+ const row = workItemRow(record);
79
+ this.db
80
+ .prepare(`
81
+ UPDATE runtime_work_items
82
+ SET
83
+ status = ?,
84
+ priority = ?,
85
+ external_provider = ?,
86
+ external_kind = ?,
87
+ external_id = ?,
88
+ external_url = ?,
89
+ external_title = ?,
90
+ external_metadata_json = ?,
91
+ session_id = ?,
92
+ payload_json = ?,
93
+ phase = ?,
94
+ attempts = ?,
95
+ max_attempts = ?,
96
+ run_after = ?,
97
+ lease_owner = ?,
98
+ lease_expires_at = ?,
99
+ last_error = ?,
100
+ updated_at = ?,
101
+ completed_at = ?
102
+ WHERE work_item_id = ?
103
+ `)
104
+ .run(row.status, row.priority, row.externalProvider, row.externalKind, row.externalId, row.externalUrl, row.externalTitle, row.externalMetadataJson, row.sessionId, row.payloadJson, row.phase, row.attempts, row.maxAttempts, row.runAfter, row.leaseOwner, row.leaseExpiresAt, row.lastError, row.updatedAt, row.completedAt, row.workItemId);
105
+ return this.get(record.workItemId);
106
+ }
107
+ enqueue(record) {
108
+ const row = workItemRow(record);
109
+ if (row.idempotencyKey) {
110
+ this.insert(row, 'OR IGNORE');
111
+ return this.findByIdempotencyKey(row.packageId, row.queue, row.idempotencyKey);
112
+ }
113
+ this.insert(row, '');
114
+ return this.get(record.workItemId);
115
+ }
116
+ get(workItemId) {
117
+ return hydrateWorkItem(this.db.prepare(`${WORK_ITEM_SELECT} WHERE work_item_id = ?`).get(workItemId));
118
+ }
119
+ findByIdempotencyKey(packageId, queue, idempotencyKey) {
120
+ return hydrateWorkItem(this.db
121
+ .prepare(`${WORK_ITEM_SELECT} WHERE package_id = ? AND queue = ? AND idempotency_key = ?`)
122
+ .get(packageId, queue, idempotencyKey));
123
+ }
124
+ list(filter = {}) {
125
+ const clauses = [];
126
+ const params = [];
127
+ if (filter.packageId) {
128
+ clauses.push('package_id = ?');
129
+ params.push(filter.packageId);
130
+ }
131
+ if (filter.queue) {
132
+ clauses.push('queue = ?');
133
+ params.push(filter.queue);
134
+ }
135
+ if (filter.status) {
136
+ clauses.push('status = ?');
137
+ params.push(filter.status);
138
+ }
139
+ if (filter.externalResource) {
140
+ clauses.push('external_provider = ? AND external_kind = ? AND external_id = ?');
141
+ params.push(filter.externalResource.provider, filter.externalResource.kind, filter.externalResource.id);
142
+ }
143
+ const where = clauses.length > 0 ? ` WHERE ${clauses.join(' AND ')}` : '';
144
+ const limit = Math.max(1, filter.limit ?? 200);
145
+ return mapRows(this.db.prepare(`${WORK_ITEM_SELECT}${where} ORDER BY created_at DESC LIMIT ?`).all(...params, limit))
146
+ .map((row) => hydrateWorkItem(row))
147
+ .filter((row) => row !== null);
148
+ }
149
+ claim(input) {
150
+ this.db.exec('BEGIN IMMEDIATE');
151
+ try {
152
+ const candidate = hydrateWorkItem(this.db
153
+ .prepare(`
154
+ ${WORK_ITEM_SELECT}
155
+ WHERE package_id = ?
156
+ AND queue = ?
157
+ AND (
158
+ status = 'queued'
159
+ OR (status = 'running' AND lease_expires_at IS NOT NULL AND lease_expires_at <= ?)
160
+ )
161
+ AND (run_after IS NULL OR run_after <= ?)
162
+ ORDER BY priority DESC, created_at ASC, work_item_id ASC
163
+ LIMIT 1
164
+ `)
165
+ .get(input.packageId, input.queue, input.nowIso, input.nowIso));
166
+ if (!candidate) {
167
+ this.db.exec('COMMIT');
168
+ return null;
169
+ }
170
+ const result = this.db
171
+ .prepare(`
172
+ UPDATE runtime_work_items
173
+ SET
174
+ status = 'running',
175
+ attempts = attempts + 1,
176
+ lease_owner = ?,
177
+ lease_expires_at = ?,
178
+ updated_at = ?,
179
+ completed_at = NULL
180
+ WHERE work_item_id = ?
181
+ AND package_id = ?
182
+ AND queue = ?
183
+ AND (
184
+ status = 'queued'
185
+ OR (status = 'running' AND lease_expires_at IS NOT NULL AND lease_expires_at <= ?)
186
+ )
187
+ AND (run_after IS NULL OR run_after <= ?)
188
+ `)
189
+ .run(input.leaseOwner, input.leaseExpiresAt, input.nowIso, candidate.workItemId, input.packageId, input.queue, input.nowIso, input.nowIso);
190
+ const claimed = result.changes > 0 ? this.get(candidate.workItemId) : null;
191
+ this.db.exec('COMMIT');
192
+ return claimed;
193
+ }
194
+ catch (error) {
195
+ this.db.exec('ROLLBACK');
196
+ throw error;
197
+ }
198
+ }
199
+ }
200
+ //# sourceMappingURL=workItemRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workItemRepository.js","sourceRoot":"","sources":["../../../../../../../../src/core/system/state/sqlite/workItemRepository.ts"],"names":[],"mappings":"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"}