@moorline/core 0.0.1

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 (597) hide show
  1. package/dist/app/bootstrap/apiAdapterPackageLoader.d.ts +21 -0
  2. package/dist/app/bootstrap/apiAdapterPackageLoader.js +143 -0
  3. package/dist/app/bootstrap/apiAdapterPackageLoader.js.map +1 -0
  4. package/dist/app/bootstrap/officialCatalog.d.ts +1 -0
  5. package/dist/app/bootstrap/officialCatalog.js +2 -0
  6. package/dist/app/bootstrap/officialCatalog.js.map +1 -0
  7. package/dist/app/bootstrap/operatorPackageService.d.ts +79 -0
  8. package/dist/app/bootstrap/operatorPackageService.js +1025 -0
  9. package/dist/app/bootstrap/operatorPackageService.js.map +1 -0
  10. package/dist/app/bootstrap/providerPackageLoader.d.ts +12 -0
  11. package/dist/app/bootstrap/providerPackageLoader.js +139 -0
  12. package/dist/app/bootstrap/providerPackageLoader.js.map +1 -0
  13. package/dist/app/bootstrap/runtimeBootstrap.d.ts +12 -0
  14. package/dist/app/bootstrap/runtimeBootstrap.js +46 -0
  15. package/dist/app/bootstrap/runtimeBootstrap.js.map +1 -0
  16. package/dist/app/bootstrap/transportPackageLoader.d.ts +23 -0
  17. package/dist/app/bootstrap/transportPackageLoader.js +149 -0
  18. package/dist/app/bootstrap/transportPackageLoader.js.map +1 -0
  19. package/dist/app/control-api/services/actions.d.ts +140 -0
  20. package/dist/app/control-api/services/actions.js +312 -0
  21. package/dist/app/control-api/services/actions.js.map +1 -0
  22. package/dist/app/control-api/services/controlPlane.d.ts +245 -0
  23. package/dist/app/control-api/services/controlPlane.js +301 -0
  24. package/dist/app/control-api/services/controlPlane.js.map +1 -0
  25. package/dist/app/control-api/services/runtimeHost.d.ts +61 -0
  26. package/dist/app/control-api/services/runtimeHost.js +117 -0
  27. package/dist/app/control-api/services/runtimeHost.js.map +1 -0
  28. package/dist/app/control-api/services/state.d.ts +19 -0
  29. package/dist/app/control-api/services/state.js +177 -0
  30. package/dist/app/control-api/services/state.js.map +1 -0
  31. package/dist/core/domain/memory/operatorMemoryService.d.ts +36 -0
  32. package/dist/core/domain/memory/operatorMemoryService.js +81 -0
  33. package/dist/core/domain/memory/operatorMemoryService.js.map +1 -0
  34. package/dist/core/domain/memory/pathSafety.d.ts +2 -0
  35. package/dist/core/domain/memory/pathSafety.js +36 -0
  36. package/dist/core/domain/memory/pathSafety.js.map +1 -0
  37. package/dist/core/domain/memory/retrieval/fileWalker.d.ts +1 -0
  38. package/dist/core/domain/memory/retrieval/fileWalker.js +31 -0
  39. package/dist/core/domain/memory/retrieval/fileWalker.js.map +1 -0
  40. package/dist/core/domain/memory/retrieval/indexTargets.d.ts +3 -0
  41. package/dist/core/domain/memory/retrieval/indexTargets.js +43 -0
  42. package/dist/core/domain/memory/retrieval/indexTargets.js.map +1 -0
  43. package/dist/core/domain/memory/retrieval/markdownChunker.d.ts +3 -0
  44. package/dist/core/domain/memory/retrieval/markdownChunker.js +77 -0
  45. package/dist/core/domain/memory/retrieval/markdownChunker.js.map +1 -0
  46. package/dist/core/domain/memory/retrieval/parse.d.ts +2 -0
  47. package/dist/core/domain/memory/retrieval/parse.js +28 -0
  48. package/dist/core/domain/memory/retrieval/parse.js.map +1 -0
  49. package/dist/core/domain/memory/retrieval/ranking.d.ts +11 -0
  50. package/dist/core/domain/memory/retrieval/ranking.js +63 -0
  51. package/dist/core/domain/memory/retrieval/ranking.js.map +1 -0
  52. package/dist/core/domain/memory/retrieval/schema.d.ts +2 -0
  53. package/dist/core/domain/memory/retrieval/schema.js +105 -0
  54. package/dist/core/domain/memory/retrieval/schema.js.map +1 -0
  55. package/dist/core/domain/memory/retrieval/scope.d.ts +20 -0
  56. package/dist/core/domain/memory/retrieval/scope.js +38 -0
  57. package/dist/core/domain/memory/retrieval/scope.js.map +1 -0
  58. package/dist/core/domain/memory/retrieval/tokenEmbedding.d.ts +4 -0
  59. package/dist/core/domain/memory/retrieval/tokenEmbedding.js +44 -0
  60. package/dist/core/domain/memory/retrieval/tokenEmbedding.js.map +1 -0
  61. package/dist/core/domain/memory/retrieval/types.d.ts +88 -0
  62. package/dist/core/domain/memory/retrieval/types.js +7 -0
  63. package/dist/core/domain/memory/retrieval/types.js.map +1 -0
  64. package/dist/core/domain/memory/retrieval.d.ts +4 -0
  65. package/dist/core/domain/memory/retrieval.js +398 -0
  66. package/dist/core/domain/memory/retrieval.js.map +1 -0
  67. package/dist/core/domain/memory/store.d.ts +28 -0
  68. package/dist/core/domain/memory/store.js +52 -0
  69. package/dist/core/domain/memory/store.js.map +1 -0
  70. package/dist/core/domain/missions/missionDraftSetup.d.ts +12 -0
  71. package/dist/core/domain/missions/missionDraftSetup.js +92 -0
  72. package/dist/core/domain/missions/missionDraftSetup.js.map +1 -0
  73. package/dist/core/domain/missions/missionHookService.d.ts +41 -0
  74. package/dist/core/domain/missions/missionHookService.js +161 -0
  75. package/dist/core/domain/missions/missionHookService.js.map +1 -0
  76. package/dist/core/domain/missions/missionHookValidation.d.ts +8 -0
  77. package/dist/core/domain/missions/missionHookValidation.js +59 -0
  78. package/dist/core/domain/missions/missionHookValidation.js.map +1 -0
  79. package/dist/core/domain/missions/missionRegistry.d.ts +55 -0
  80. package/dist/core/domain/missions/missionRegistry.js +204 -0
  81. package/dist/core/domain/missions/missionRegistry.js.map +1 -0
  82. package/dist/core/domain/missions/missionSchedule.d.ts +24 -0
  83. package/dist/core/domain/missions/missionSchedule.js +441 -0
  84. package/dist/core/domain/missions/missionSchedule.js.map +1 -0
  85. package/dist/core/domain/sessions/lifecycleOrchestration.d.ts +23 -0
  86. package/dist/core/domain/sessions/lifecycleOrchestration.js +18 -0
  87. package/dist/core/domain/sessions/lifecycleOrchestration.js.map +1 -0
  88. package/dist/core/domain/sessions/managedWorkerSessions.d.ts +3 -0
  89. package/dist/core/domain/sessions/managedWorkerSessions.js +4 -0
  90. package/dist/core/domain/sessions/managedWorkerSessions.js.map +1 -0
  91. package/dist/core/domain/sessions/runtimeWorkManagementService.d.ts +129 -0
  92. package/dist/core/domain/sessions/runtimeWorkManagementService.js +627 -0
  93. package/dist/core/domain/sessions/runtimeWorkManagementService.js.map +1 -0
  94. package/dist/core/domain/sessions/sessionLifecycleService.d.ts +21 -0
  95. package/dist/core/domain/sessions/sessionLifecycleService.js +76 -0
  96. package/dist/core/domain/sessions/sessionLifecycleService.js.map +1 -0
  97. package/dist/core/domain/sessions/sessionState.d.ts +34 -0
  98. package/dist/core/domain/sessions/sessionState.js +154 -0
  99. package/dist/core/domain/sessions/sessionState.js.map +1 -0
  100. package/dist/core/domain/sessions/workManagement/managedSessionLimit.d.ts +3 -0
  101. package/dist/core/domain/sessions/workManagement/managedSessionLimit.js +15 -0
  102. package/dist/core/domain/sessions/workManagement/managedSessionLimit.js.map +1 -0
  103. package/dist/core/domain/sessions/workManagement/spaceNames.d.ts +2 -0
  104. package/dist/core/domain/sessions/workManagement/spaceNames.js +15 -0
  105. package/dist/core/domain/sessions/workManagement/spaceNames.js.map +1 -0
  106. package/dist/core/extension/capabilities/capabilities.d.ts +8 -0
  107. package/dist/core/extension/capabilities/capabilities.js +40 -0
  108. package/dist/core/extension/capabilities/capabilities.js.map +1 -0
  109. package/dist/core/extension/packages/archiveExtraction.d.ts +1 -0
  110. package/dist/core/extension/packages/archiveExtraction.js +194 -0
  111. package/dist/core/extension/packages/archiveExtraction.js.map +1 -0
  112. package/dist/core/extension/packages/npmRegistryClient.d.ts +24 -0
  113. package/dist/core/extension/packages/npmRegistryClient.js +261 -0
  114. package/dist/core/extension/packages/npmRegistryClient.js.map +1 -0
  115. package/dist/core/extension/packages/officialArchiveResolver.d.ts +2 -0
  116. package/dist/core/extension/packages/officialArchiveResolver.js +51 -0
  117. package/dist/core/extension/packages/officialArchiveResolver.js.map +1 -0
  118. package/dist/core/extension/packages/officialCatalog.d.ts +9 -0
  119. package/dist/core/extension/packages/officialCatalog.js +198 -0
  120. package/dist/core/extension/packages/officialCatalog.js.map +1 -0
  121. package/dist/core/extension/packages/packageActivation.d.ts +21 -0
  122. package/dist/core/extension/packages/packageActivation.js +81 -0
  123. package/dist/core/extension/packages/packageActivation.js.map +1 -0
  124. package/dist/core/extension/packages/packageApplyPlanner.d.ts +4 -0
  125. package/dist/core/extension/packages/packageApplyPlanner.js +79 -0
  126. package/dist/core/extension/packages/packageApplyPlanner.js.map +1 -0
  127. package/dist/core/extension/packages/packageBundleRoot.d.ts +1 -0
  128. package/dist/core/extension/packages/packageBundleRoot.js +34 -0
  129. package/dist/core/extension/packages/packageBundleRoot.js.map +1 -0
  130. package/dist/core/extension/packages/packageConfigSchema.d.ts +7 -0
  131. package/dist/core/extension/packages/packageConfigSchema.js +86 -0
  132. package/dist/core/extension/packages/packageConfigSchema.js.map +1 -0
  133. package/dist/core/extension/packages/packageDependencyResolver.d.ts +13 -0
  134. package/dist/core/extension/packages/packageDependencyResolver.js +128 -0
  135. package/dist/core/extension/packages/packageDependencyResolver.js.map +1 -0
  136. package/dist/core/extension/packages/packageDistroMetadata.d.ts +14 -0
  137. package/dist/core/extension/packages/packageDistroMetadata.js +153 -0
  138. package/dist/core/extension/packages/packageDistroMetadata.js.map +1 -0
  139. package/dist/core/extension/packages/packageInstaller.d.ts +27 -0
  140. package/dist/core/extension/packages/packageInstaller.js +269 -0
  141. package/dist/core/extension/packages/packageInstaller.js.map +1 -0
  142. package/dist/core/extension/packages/packageInventoryStore.d.ts +25 -0
  143. package/dist/core/extension/packages/packageInventoryStore.js +398 -0
  144. package/dist/core/extension/packages/packageInventoryStore.js.map +1 -0
  145. package/dist/core/extension/packages/packageManifest.d.ts +15 -0
  146. package/dist/core/extension/packages/packageManifest.js +65 -0
  147. package/dist/core/extension/packages/packageManifest.js.map +1 -0
  148. package/dist/core/extension/packages/packageRegistryBlocklist.d.ts +10 -0
  149. package/dist/core/extension/packages/packageRegistryBlocklist.js +13 -0
  150. package/dist/core/extension/packages/packageRegistryBlocklist.js.map +1 -0
  151. package/dist/core/extension/packages/packageRegistryService.d.ts +22 -0
  152. package/dist/core/extension/packages/packageRegistryService.js +123 -0
  153. package/dist/core/extension/packages/packageRegistryService.js.map +1 -0
  154. package/dist/core/extension/packages/packageRegistryTypes.d.ts +33 -0
  155. package/dist/core/extension/packages/packageRegistryTypes.js +2 -0
  156. package/dist/core/extension/packages/packageRegistryTypes.js.map +1 -0
  157. package/dist/core/extension/packages/packageSource.d.ts +8 -0
  158. package/dist/core/extension/packages/packageSource.js +116 -0
  159. package/dist/core/extension/packages/packageSource.js.map +1 -0
  160. package/dist/core/extension/packages/packageSourceLimits.d.ts +5 -0
  161. package/dist/core/extension/packages/packageSourceLimits.js +6 -0
  162. package/dist/core/extension/packages/packageSourceLimits.js.map +1 -0
  163. package/dist/core/extension/packages/packageValidation.d.ts +2 -0
  164. package/dist/core/extension/packages/packageValidation.js +67 -0
  165. package/dist/core/extension/packages/packageValidation.js.map +1 -0
  166. package/dist/core/extension/packages/packageVersionResolver.d.ts +28 -0
  167. package/dist/core/extension/packages/packageVersionResolver.js +78 -0
  168. package/dist/core/extension/packages/packageVersionResolver.js.map +1 -0
  169. package/dist/core/extension/packages/remoteArchiveDownloader.d.ts +10 -0
  170. package/dist/core/extension/packages/remoteArchiveDownloader.js +156 -0
  171. package/dist/core/extension/packages/remoteArchiveDownloader.js.map +1 -0
  172. package/dist/core/extension/packages/runtimeStartability.d.ts +16 -0
  173. package/dist/core/extension/packages/runtimeStartability.js +237 -0
  174. package/dist/core/extension/packages/runtimeStartability.js.map +1 -0
  175. package/dist/core/extension/plugins/pluginHost.d.ts +50 -0
  176. package/dist/core/extension/plugins/pluginHost.js +303 -0
  177. package/dist/core/extension/plugins/pluginHost.js.map +1 -0
  178. package/dist/core/extension/plugins/pluginId.d.ts +2 -0
  179. package/dist/core/extension/plugins/pluginId.js +8 -0
  180. package/dist/core/extension/plugins/pluginId.js.map +1 -0
  181. package/dist/core/extension/plugins/pluginManifest.d.ts +3 -0
  182. package/dist/core/extension/plugins/pluginManifest.js +17 -0
  183. package/dist/core/extension/plugins/pluginManifest.js.map +1 -0
  184. package/dist/core/extension/plugins/runtimePluginLoader.d.ts +7 -0
  185. package/dist/core/extension/plugins/runtimePluginLoader.js +160 -0
  186. package/dist/core/extension/plugins/runtimePluginLoader.js.map +1 -0
  187. package/dist/core/extension/skills/skillRegistry.d.ts +21 -0
  188. package/dist/core/extension/skills/skillRegistry.js +233 -0
  189. package/dist/core/extension/skills/skillRegistry.js.map +1 -0
  190. package/dist/core/extension/skills/skillWriter.d.ts +20 -0
  191. package/dist/core/extension/skills/skillWriter.js +150 -0
  192. package/dist/core/extension/skills/skillWriter.js.map +1 -0
  193. package/dist/core/runtime/execution/commandReactor.d.ts +31 -0
  194. package/dist/core/runtime/execution/commandReactor.js +38 -0
  195. package/dist/core/runtime/execution/commandReactor.js.map +1 -0
  196. package/dist/core/runtime/execution/defaultModelSelection.d.ts +4 -0
  197. package/dist/core/runtime/execution/defaultModelSelection.js +17 -0
  198. package/dist/core/runtime/execution/defaultModelSelection.js.map +1 -0
  199. package/dist/core/runtime/execution/drainableWorker.d.ts +27 -0
  200. package/dist/core/runtime/execution/drainableWorker.js +79 -0
  201. package/dist/core/runtime/execution/drainableWorker.js.map +1 -0
  202. package/dist/core/runtime/execution/orchestrationEngine.d.ts +16 -0
  203. package/dist/core/runtime/execution/orchestrationEngine.js +181 -0
  204. package/dist/core/runtime/execution/orchestrationEngine.js.map +1 -0
  205. package/dist/core/runtime/execution/orchestrationHealth.d.ts +45 -0
  206. package/dist/core/runtime/execution/orchestrationHealth.js +95 -0
  207. package/dist/core/runtime/execution/orchestrationHealth.js.map +1 -0
  208. package/dist/core/runtime/execution/pluginContext/defaultSessionOwner.d.ts +2 -0
  209. package/dist/core/runtime/execution/pluginContext/defaultSessionOwner.js +10 -0
  210. package/dist/core/runtime/execution/pluginContext/defaultSessionOwner.js.map +1 -0
  211. package/dist/core/runtime/execution/pluginContext/pluginCapabilities.d.ts +40 -0
  212. package/dist/core/runtime/execution/pluginContext/pluginCapabilities.js +73 -0
  213. package/dist/core/runtime/execution/pluginContext/pluginCapabilities.js.map +1 -0
  214. package/dist/core/runtime/execution/pluginContext/pluginContextFactory.d.ts +20 -0
  215. package/dist/core/runtime/execution/pluginContext/pluginContextFactory.js +18 -0
  216. package/dist/core/runtime/execution/pluginContext/pluginContextFactory.js.map +1 -0
  217. package/dist/core/runtime/execution/pluginContext/transportAuthor.d.ts +7 -0
  218. package/dist/core/runtime/execution/pluginContext/transportAuthor.js +15 -0
  219. package/dist/core/runtime/execution/pluginContext/transportAuthor.js.map +1 -0
  220. package/dist/core/runtime/execution/providerCoordination/providerCompactionCoordinator.d.ts +7 -0
  221. package/dist/core/runtime/execution/providerCoordination/providerCompactionCoordinator.js +25 -0
  222. package/dist/core/runtime/execution/providerCoordination/providerCompactionCoordinator.js.map +1 -0
  223. package/dist/core/runtime/execution/providerCoordination/providerPolicyTarget.d.ts +2 -0
  224. package/dist/core/runtime/execution/providerCoordination/providerPolicyTarget.js +5 -0
  225. package/dist/core/runtime/execution/providerCoordination/providerPolicyTarget.js.map +1 -0
  226. package/dist/core/runtime/execution/providerCoordination/providerRecoveryService.d.ts +7 -0
  227. package/dist/core/runtime/execution/providerCoordination/providerRecoveryService.js +6 -0
  228. package/dist/core/runtime/execution/providerCoordination/providerRecoveryService.js.map +1 -0
  229. package/dist/core/runtime/execution/providerCoordination/providerRequestAttributionService.d.ts +10 -0
  230. package/dist/core/runtime/execution/providerCoordination/providerRequestAttributionService.js +33 -0
  231. package/dist/core/runtime/execution/providerCoordination/providerRequestAttributionService.js.map +1 -0
  232. package/dist/core/runtime/execution/providerCoordination/providerSessionCoordinator.d.ts +5 -0
  233. package/dist/core/runtime/execution/providerCoordination/providerSessionCoordinator.js +9 -0
  234. package/dist/core/runtime/execution/providerCoordination/providerSessionCoordinator.js.map +1 -0
  235. package/dist/core/runtime/execution/providerCoordination/providerTurnCoordinator.d.ts +3 -0
  236. package/dist/core/runtime/execution/providerCoordination/providerTurnCoordinator.js +6 -0
  237. package/dist/core/runtime/execution/providerCoordination/providerTurnCoordinator.js.map +1 -0
  238. package/dist/core/runtime/execution/providerOrchestration/ports.d.ts +47 -0
  239. package/dist/core/runtime/execution/providerOrchestration/ports.js +2 -0
  240. package/dist/core/runtime/execution/providerOrchestration/ports.js.map +1 -0
  241. package/dist/core/runtime/execution/providerOrchestration/providerAttachmentResolver.d.ts +13 -0
  242. package/dist/core/runtime/execution/providerOrchestration/providerAttachmentResolver.js +57 -0
  243. package/dist/core/runtime/execution/providerOrchestration/providerAttachmentResolver.js.map +1 -0
  244. package/dist/core/runtime/execution/providerOrchestration/providerCompactionPolicy.d.ts +19 -0
  245. package/dist/core/runtime/execution/providerOrchestration/providerCompactionPolicy.js +129 -0
  246. package/dist/core/runtime/execution/providerOrchestration/providerCompactionPolicy.js.map +1 -0
  247. package/dist/core/runtime/execution/providerOrchestration/providerEventPipeline.d.ts +32 -0
  248. package/dist/core/runtime/execution/providerOrchestration/providerEventPipeline.js +67 -0
  249. package/dist/core/runtime/execution/providerOrchestration/providerEventPipeline.js.map +1 -0
  250. package/dist/core/runtime/execution/providerOrchestration/providerMissionEventProjector.d.ts +12 -0
  251. package/dist/core/runtime/execution/providerOrchestration/providerMissionEventProjector.js +71 -0
  252. package/dist/core/runtime/execution/providerOrchestration/providerMissionEventProjector.js.map +1 -0
  253. package/dist/core/runtime/execution/providerOrchestration/providerOrchestrator.d.ts +37 -0
  254. package/dist/core/runtime/execution/providerOrchestration/providerOrchestrator.js +53 -0
  255. package/dist/core/runtime/execution/providerOrchestration/providerOrchestrator.js.map +1 -0
  256. package/dist/core/runtime/execution/providerOrchestration/providerRequestProjector.d.ts +15 -0
  257. package/dist/core/runtime/execution/providerOrchestration/providerRequestProjector.js +93 -0
  258. package/dist/core/runtime/execution/providerOrchestration/providerRequestProjector.js.map +1 -0
  259. package/dist/core/runtime/execution/providerOrchestration/providerSessionOrchestrator.d.ts +37 -0
  260. package/dist/core/runtime/execution/providerOrchestration/providerSessionOrchestrator.js +104 -0
  261. package/dist/core/runtime/execution/providerOrchestration/providerSessionOrchestrator.js.map +1 -0
  262. package/dist/core/runtime/execution/providerOrchestration/providerTurnBroker.d.ts +62 -0
  263. package/dist/core/runtime/execution/providerOrchestration/providerTurnBroker.js +349 -0
  264. package/dist/core/runtime/execution/providerOrchestration/providerTurnBroker.js.map +1 -0
  265. package/dist/core/runtime/execution/providerProjectionTypes.d.ts +25 -0
  266. package/dist/core/runtime/execution/providerProjectionTypes.js +18 -0
  267. package/dist/core/runtime/execution/providerProjectionTypes.js.map +1 -0
  268. package/dist/core/runtime/execution/providerSessionDirectory.d.ts +12 -0
  269. package/dist/core/runtime/execution/providerSessionDirectory.js +94 -0
  270. package/dist/core/runtime/execution/providerSessionDirectory.js.map +1 -0
  271. package/dist/core/runtime/execution/runtimeDomain.d.ts +116 -0
  272. package/dist/core/runtime/execution/runtimeDomain.js +262 -0
  273. package/dist/core/runtime/execution/runtimeDomain.js.map +1 -0
  274. package/dist/core/runtime/execution/runtimeIngestion.d.ts +17 -0
  275. package/dist/core/runtime/execution/runtimeIngestion.js +254 -0
  276. package/dist/core/runtime/execution/runtimeIngestion.js.map +1 -0
  277. package/dist/core/runtime/execution/runtimeInteractionService.d.ts +66 -0
  278. package/dist/core/runtime/execution/runtimeInteractionService.js +230 -0
  279. package/dist/core/runtime/execution/runtimeInteractionService.js.map +1 -0
  280. package/dist/core/runtime/execution/runtimeOrchestrationRequestService.d.ts +64 -0
  281. package/dist/core/runtime/execution/runtimeOrchestrationRequestService.js +366 -0
  282. package/dist/core/runtime/execution/runtimeOrchestrationRequestService.js.map +1 -0
  283. package/dist/core/runtime/execution/runtimeOrchestrationRequests.d.ts +111 -0
  284. package/dist/core/runtime/execution/runtimeOrchestrationRequests.js +464 -0
  285. package/dist/core/runtime/execution/runtimeOrchestrationRequests.js.map +1 -0
  286. package/dist/core/runtime/execution/runtimeOrchestrationResult.d.ts +4 -0
  287. package/dist/core/runtime/execution/runtimeOrchestrationResult.js +7 -0
  288. package/dist/core/runtime/execution/runtimeOrchestrationResult.js.map +1 -0
  289. package/dist/core/runtime/execution/runtimePendingRequestService.d.ts +69 -0
  290. package/dist/core/runtime/execution/runtimePendingRequestService.js +360 -0
  291. package/dist/core/runtime/execution/runtimePendingRequestService.js.map +1 -0
  292. package/dist/core/runtime/execution/runtimePluginContextService.d.ts +100 -0
  293. package/dist/core/runtime/execution/runtimePluginContextService.js +576 -0
  294. package/dist/core/runtime/execution/runtimePluginContextService.js.map +1 -0
  295. package/dist/core/runtime/execution/runtimeReceiptBus.d.ts +17 -0
  296. package/dist/core/runtime/execution/runtimeReceiptBus.js +50 -0
  297. package/dist/core/runtime/execution/runtimeReceiptBus.js.map +1 -0
  298. package/dist/core/runtime/execution/runtimeWorkerQueues.d.ts +33 -0
  299. package/dist/core/runtime/execution/runtimeWorkerQueues.js +55 -0
  300. package/dist/core/runtime/execution/runtimeWorkerQueues.js.map +1 -0
  301. package/dist/core/runtime/graph/runtimePaths.d.ts +2 -0
  302. package/dist/core/runtime/graph/runtimePaths.js +22 -0
  303. package/dist/core/runtime/graph/runtimePaths.js.map +1 -0
  304. package/dist/core/runtime/hosting/managedSpaceMetadata.d.ts +7 -0
  305. package/dist/core/runtime/hosting/managedSpaceMetadata.js +14 -0
  306. package/dist/core/runtime/hosting/managedSpaceMetadata.js.map +1 -0
  307. package/dist/core/runtime/hosting/runtimeHostingService.d.ts +32 -0
  308. package/dist/core/runtime/hosting/runtimeHostingService.js +123 -0
  309. package/dist/core/runtime/hosting/runtimeHostingService.js.map +1 -0
  310. package/dist/core/runtime/hosting/runtimeLayout.d.ts +5 -0
  311. package/dist/core/runtime/hosting/runtimeLayout.js +133 -0
  312. package/dist/core/runtime/hosting/runtimeLayout.js.map +1 -0
  313. package/dist/core/runtime/hosting/runtimeManagementPort.d.ts +60 -0
  314. package/dist/core/runtime/hosting/runtimeManagementPort.js +28 -0
  315. package/dist/core/runtime/hosting/runtimeManagementPort.js.map +1 -0
  316. package/dist/core/runtime/hosting/runtimeTransportSurfaceService.d.ts +20 -0
  317. package/dist/core/runtime/hosting/runtimeTransportSurfaceService.js +82 -0
  318. package/dist/core/runtime/hosting/runtimeTransportSurfaceService.js.map +1 -0
  319. package/dist/core/runtime/hosting/systemEmbeds.d.ts +22 -0
  320. package/dist/core/runtime/hosting/systemEmbeds.js +25 -0
  321. package/dist/core/runtime/hosting/systemEmbeds.js.map +1 -0
  322. package/dist/core/runtime/lifecycle/managedChannelLifecycleService.d.ts +37 -0
  323. package/dist/core/runtime/lifecycle/managedChannelLifecycleService.js +256 -0
  324. package/dist/core/runtime/lifecycle/managedChannelLifecycleService.js.map +1 -0
  325. package/dist/core/runtime/lifecycle/runtimeLifecycleService.d.ts +43 -0
  326. package/dist/core/runtime/lifecycle/runtimeLifecycleService.js +322 -0
  327. package/dist/core/runtime/lifecycle/runtimeLifecycleService.js.map +1 -0
  328. package/dist/core/runtime/moorlineRuntime.d.ts +100 -0
  329. package/dist/core/runtime/moorlineRuntime.js +573 -0
  330. package/dist/core/runtime/moorlineRuntime.js.map +1 -0
  331. package/dist/core/runtime/moorlineRuntimeBuilder.d.ts +180 -0
  332. package/dist/core/runtime/moorlineRuntimeBuilder.js +681 -0
  333. package/dist/core/runtime/moorlineRuntimeBuilder.js.map +1 -0
  334. package/dist/core/runtime/runtimeAudit.d.ts +7 -0
  335. package/dist/core/runtime/runtimeAudit.js +32 -0
  336. package/dist/core/runtime/runtimeAudit.js.map +1 -0
  337. package/dist/core/runtime/runtimeBootstrapRegistry.d.ts +5 -0
  338. package/dist/core/runtime/runtimeBootstrapRegistry.js +15 -0
  339. package/dist/core/runtime/runtimeBootstrapRegistry.js.map +1 -0
  340. package/dist/core/runtime/runtimeStatus.d.ts +14 -0
  341. package/dist/core/runtime/runtimeStatus.js +16 -0
  342. package/dist/core/runtime/runtimeStatus.js.map +1 -0
  343. package/dist/core/runtime/supervision/managedSidecar.d.ts +71 -0
  344. package/dist/core/runtime/supervision/managedSidecar.js +13 -0
  345. package/dist/core/runtime/supervision/managedSidecar.js.map +1 -0
  346. package/dist/core/runtime/supervision/runtimeControl.d.ts +45 -0
  347. package/dist/core/runtime/supervision/runtimeControl.js +2 -0
  348. package/dist/core/runtime/supervision/runtimeControl.js.map +1 -0
  349. package/dist/core/runtime/supervision/runtimeControlService.d.ts +56 -0
  350. package/dist/core/runtime/supervision/runtimeControlService.js +315 -0
  351. package/dist/core/runtime/supervision/runtimeControlService.js.map +1 -0
  352. package/dist/core/runtime/supervision/runtimeSupervisor.d.ts +106 -0
  353. package/dist/core/runtime/supervision/runtimeSupervisor.js +425 -0
  354. package/dist/core/runtime/supervision/runtimeSupervisor.js.map +1 -0
  355. package/dist/core/runtime/supervision/sidecarLaunchDefinition.d.ts +3 -0
  356. package/dist/core/runtime/supervision/sidecarLaunchDefinition.js +24 -0
  357. package/dist/core/runtime/supervision/sidecarLaunchDefinition.js.map +1 -0
  358. package/dist/core/runtime/supervision/sidecarManager.d.ts +40 -0
  359. package/dist/core/runtime/supervision/sidecarManager.js +409 -0
  360. package/dist/core/runtime/supervision/sidecarManager.js.map +1 -0
  361. package/dist/core/shared/fs/atomicWrite.d.ts +6 -0
  362. package/dist/core/shared/fs/atomicWrite.js +48 -0
  363. package/dist/core/shared/fs/atomicWrite.js.map +1 -0
  364. package/dist/core/shared/fs/canonicalPathContainment.d.ts +8 -0
  365. package/dist/core/shared/fs/canonicalPathContainment.js +31 -0
  366. package/dist/core/shared/fs/canonicalPathContainment.js.map +1 -0
  367. package/dist/core/shared/fs/runtimeOwnedPath.d.ts +6 -0
  368. package/dist/core/shared/fs/runtimeOwnedPath.js +23 -0
  369. package/dist/core/shared/fs/runtimeOwnedPath.js.map +1 -0
  370. package/dist/core/shared/utils/childProcessEnv.d.ts +4 -0
  371. package/dist/core/shared/utils/childProcessEnv.js +66 -0
  372. package/dist/core/shared/utils/childProcessEnv.js.map +1 -0
  373. package/dist/core/shared/utils/commandRunner.d.ts +18 -0
  374. package/dist/core/shared/utils/commandRunner.js +51 -0
  375. package/dist/core/shared/utils/commandRunner.js.map +1 -0
  376. package/dist/core/shared/utils/payloadRedaction.d.ts +13 -0
  377. package/dist/core/shared/utils/payloadRedaction.js +91 -0
  378. package/dist/core/shared/utils/payloadRedaction.js.map +1 -0
  379. package/dist/core/shared/utils/remoteNetworkPolicy.d.ts +11 -0
  380. package/dist/core/shared/utils/remoteNetworkPolicy.js +137 -0
  381. package/dist/core/shared/utils/remoteNetworkPolicy.js.map +1 -0
  382. package/dist/core/shared/utils/runtimeMessageUtils.d.ts +27 -0
  383. package/dist/core/shared/utils/runtimeMessageUtils.js +383 -0
  384. package/dist/core/shared/utils/runtimeMessageUtils.js.map +1 -0
  385. package/dist/core/system/audit/auditLogger.d.ts +15 -0
  386. package/dist/core/system/audit/auditLogger.js +22 -0
  387. package/dist/core/system/audit/auditLogger.js.map +1 -0
  388. package/dist/core/system/backup/runtimeBackupService.d.ts +28 -0
  389. package/dist/core/system/backup/runtimeBackupService.js +284 -0
  390. package/dist/core/system/backup/runtimeBackupService.js.map +1 -0
  391. package/dist/core/system/config/configStore.d.ts +38 -0
  392. package/dist/core/system/config/configStore.js +672 -0
  393. package/dist/core/system/config/configStore.js.map +1 -0
  394. package/dist/core/system/policy/actorRulePolicy.d.ts +13 -0
  395. package/dist/core/system/policy/actorRulePolicy.js +87 -0
  396. package/dist/core/system/policy/actorRulePolicy.js.map +1 -0
  397. package/dist/core/system/policy/networkPolicy.d.ts +6 -0
  398. package/dist/core/system/policy/networkPolicy.js +71 -0
  399. package/dist/core/system/policy/networkPolicy.js.map +1 -0
  400. package/dist/core/system/policy/policyEngine.d.ts +22 -0
  401. package/dist/core/system/policy/policyEngine.js +41 -0
  402. package/dist/core/system/policy/policyEngine.js.map +1 -0
  403. package/dist/core/system/policy/policyProfile.d.ts +16 -0
  404. package/dist/core/system/policy/policyProfile.js +78 -0
  405. package/dist/core/system/policy/policyProfile.js.map +1 -0
  406. package/dist/core/system/policy/runtimeActionGuard.d.ts +24 -0
  407. package/dist/core/system/policy/runtimeActionGuard.js +64 -0
  408. package/dist/core/system/policy/runtimeActionGuard.js.map +1 -0
  409. package/dist/core/system/projection/managementReadModel/auditEvents.d.ts +9 -0
  410. package/dist/core/system/projection/managementReadModel/auditEvents.js +61 -0
  411. package/dist/core/system/projection/managementReadModel/auditEvents.js.map +1 -0
  412. package/dist/core/system/projection/managementReadModel/deps.d.ts +35 -0
  413. package/dist/core/system/projection/managementReadModel/deps.js +2 -0
  414. package/dist/core/system/projection/managementReadModel/deps.js.map +1 -0
  415. package/dist/core/system/projection/managementReadModel/objects/serviceObjects.d.ts +3 -0
  416. package/dist/core/system/projection/managementReadModel/objects/serviceObjects.js +129 -0
  417. package/dist/core/system/projection/managementReadModel/objects/serviceObjects.js.map +1 -0
  418. package/dist/core/system/projection/managementReadModel/pluginDiskRecords.d.ts +10 -0
  419. package/dist/core/system/projection/managementReadModel/pluginDiskRecords.js +55 -0
  420. package/dist/core/system/projection/managementReadModel/pluginDiskRecords.js.map +1 -0
  421. package/dist/core/system/projection/managementReadModel/providerAlignment.d.ts +7 -0
  422. package/dist/core/system/projection/managementReadModel/providerAlignment.js +48 -0
  423. package/dist/core/system/projection/managementReadModel/providerAlignment.js.map +1 -0
  424. package/dist/core/system/projection/managementReadModel/text.d.ts +1 -0
  425. package/dist/core/system/projection/managementReadModel/text.js +8 -0
  426. package/dist/core/system/projection/managementReadModel/text.js.map +1 -0
  427. package/dist/core/system/projection/managementReadModelService.d.ts +18 -0
  428. package/dist/core/system/projection/managementReadModelService.js +768 -0
  429. package/dist/core/system/projection/managementReadModelService.js.map +1 -0
  430. package/dist/core/system/projection/pendingRequestProjectionStore.d.ts +12 -0
  431. package/dist/core/system/projection/pendingRequestProjectionStore.js +113 -0
  432. package/dist/core/system/projection/pendingRequestProjectionStore.js.map +1 -0
  433. package/dist/core/system/projection/pendingRequestQuestions.d.ts +2 -0
  434. package/dist/core/system/projection/pendingRequestQuestions.js +51 -0
  435. package/dist/core/system/projection/pendingRequestQuestions.js.map +1 -0
  436. package/dist/core/system/projection/projectionStateStore.d.ts +17 -0
  437. package/dist/core/system/projection/projectionStateStore.js +60 -0
  438. package/dist/core/system/projection/projectionStateStore.js.map +1 -0
  439. package/dist/core/system/projection/runtimeActivityStore.d.ts +24 -0
  440. package/dist/core/system/projection/runtimeActivityStore.js +150 -0
  441. package/dist/core/system/projection/runtimeActivityStore.js.map +1 -0
  442. package/dist/core/system/projection/runtimeProjectionService.d.ts +41 -0
  443. package/dist/core/system/projection/runtimeProjectionService.js +209 -0
  444. package/dist/core/system/projection/runtimeProjectionService.js.map +1 -0
  445. package/dist/core/system/projection/runtimeReceiptStore.d.ts +11 -0
  446. package/dist/core/system/projection/runtimeReceiptStore.js +77 -0
  447. package/dist/core/system/projection/runtimeReceiptStore.js.map +1 -0
  448. package/dist/core/system/projection/runtimeReconciler.d.ts +25 -0
  449. package/dist/core/system/projection/runtimeReconciler.js +83 -0
  450. package/dist/core/system/projection/runtimeReconciler.js.map +1 -0
  451. package/dist/core/system/projection/runtimeSnapshotQuery.d.ts +46 -0
  452. package/dist/core/system/projection/runtimeSnapshotQuery.js +135 -0
  453. package/dist/core/system/projection/runtimeSnapshotQuery.js.map +1 -0
  454. package/dist/core/system/release/releaseArtifacts.d.ts +7 -0
  455. package/dist/core/system/release/releaseArtifacts.js +88 -0
  456. package/dist/core/system/release/releaseArtifacts.js.map +1 -0
  457. package/dist/core/system/release/runtimePackageLoadReport.d.ts +10 -0
  458. package/dist/core/system/release/runtimePackageLoadReport.js +31 -0
  459. package/dist/core/system/release/runtimePackageLoadReport.js.map +1 -0
  460. package/dist/core/system/state/canonicalEventLogStore.d.ts +16 -0
  461. package/dist/core/system/state/canonicalEventLogStore.js +156 -0
  462. package/dist/core/system/state/canonicalEventLogStore.js.map +1 -0
  463. package/dist/core/system/state/migrationRunner.d.ts +5 -0
  464. package/dist/core/system/state/migrationRunner.js +58 -0
  465. package/dist/core/system/state/migrationRunner.js.map +1 -0
  466. package/dist/core/system/state/safeJson.d.ts +8 -0
  467. package/dist/core/system/state/safeJson.js +36 -0
  468. package/dist/core/system/state/safeJson.js.map +1 -0
  469. package/dist/core/system/state/sqlite/connection.d.ts +2 -0
  470. package/dist/core/system/state/sqlite/connection.js +8 -0
  471. package/dist/core/system/state/sqlite/connection.js.map +1 -0
  472. package/dist/core/system/state/sqlite/domainEventLogRepository.d.ts +10 -0
  473. package/dist/core/system/state/sqlite/domainEventLogRepository.js +69 -0
  474. package/dist/core/system/state/sqlite/domainEventLogRepository.js.map +1 -0
  475. package/dist/core/system/state/sqlite/eventIntegrity.d.ts +6 -0
  476. package/dist/core/system/state/sqlite/eventIntegrity.js +7 -0
  477. package/dist/core/system/state/sqlite/eventIntegrity.js.map +1 -0
  478. package/dist/core/system/state/sqlite/managedSidecarRepository.d.ts +10 -0
  479. package/dist/core/system/state/sqlite/managedSidecarRepository.js +62 -0
  480. package/dist/core/system/state/sqlite/managedSidecarRepository.js.map +1 -0
  481. package/dist/core/system/state/sqlite/missionRepository.d.ts +24 -0
  482. package/dist/core/system/state/sqlite/missionRepository.js +252 -0
  483. package/dist/core/system/state/sqlite/missionRepository.js.map +1 -0
  484. package/dist/core/system/state/sqlite/orchestrationRepository.d.ts +20 -0
  485. package/dist/core/system/state/sqlite/orchestrationRepository.js +158 -0
  486. package/dist/core/system/state/sqlite/orchestrationRepository.js.map +1 -0
  487. package/dist/core/system/state/sqlite/pendingRequestRepository.d.ts +13 -0
  488. package/dist/core/system/state/sqlite/pendingRequestRepository.js +76 -0
  489. package/dist/core/system/state/sqlite/pendingRequestRepository.js.map +1 -0
  490. package/dist/core/system/state/sqlite/providerBindingRepository.d.ts +10 -0
  491. package/dist/core/system/state/sqlite/providerBindingRepository.js +58 -0
  492. package/dist/core/system/state/sqlite/providerBindingRepository.js.map +1 -0
  493. package/dist/core/system/state/sqlite/providerEventLogRepository.d.ts +10 -0
  494. package/dist/core/system/state/sqlite/providerEventLogRepository.js +77 -0
  495. package/dist/core/system/state/sqlite/providerEventLogRepository.js.map +1 -0
  496. package/dist/core/system/state/sqlite/rowMappers.d.ts +2 -0
  497. package/dist/core/system/state/sqlite/rowMappers.js +7 -0
  498. package/dist/core/system/state/sqlite/rowMappers.js.map +1 -0
  499. package/dist/core/system/state/sqlite/runtimeHistoryPruningRepository.d.ts +23 -0
  500. package/dist/core/system/state/sqlite/runtimeHistoryPruningRepository.js +82 -0
  501. package/dist/core/system/state/sqlite/runtimeHistoryPruningRepository.js.map +1 -0
  502. package/dist/core/system/state/sqlite/runtimeReceiptRepository.d.ts +9 -0
  503. package/dist/core/system/state/sqlite/runtimeReceiptRepository.js +47 -0
  504. package/dist/core/system/state/sqlite/runtimeReceiptRepository.js.map +1 -0
  505. package/dist/core/system/state/sqlite/sessionMetadataRepository.d.ts +7 -0
  506. package/dist/core/system/state/sqlite/sessionMetadataRepository.js +25 -0
  507. package/dist/core/system/state/sqlite/sessionMetadataRepository.js.map +1 -0
  508. package/dist/core/system/state/sqlite/sessionRepository.d.ts +12 -0
  509. package/dist/core/system/state/sqlite/sessionRepository.js +72 -0
  510. package/dist/core/system/state/sqlite/sessionRepository.js.map +1 -0
  511. package/dist/core/system/state/sqlite/types.d.ts +140 -0
  512. package/dist/core/system/state/sqlite/types.js +113 -0
  513. package/dist/core/system/state/sqlite/types.js.map +1 -0
  514. package/dist/core/system/state/sqliteSessionStore.d.ts +86 -0
  515. package/dist/core/system/state/sqliteSessionStore.js +210 -0
  516. package/dist/core/system/state/sqliteSessionStore.js.map +1 -0
  517. package/dist/core/system/state/sqliteSupport.d.ts +4 -0
  518. package/dist/core/system/state/sqliteSupport.js +32 -0
  519. package/dist/core/system/state/sqliteSupport.js.map +1 -0
  520. package/dist/core/system/vcs/gitCheckpointService.d.ts +11 -0
  521. package/dist/core/system/vcs/gitCheckpointService.js +32 -0
  522. package/dist/core/system/vcs/gitCheckpointService.js.map +1 -0
  523. package/dist/core/system/vcs/gitCommitParser.d.ts +3 -0
  524. package/dist/core/system/vcs/gitCommitParser.js +55 -0
  525. package/dist/core/system/vcs/gitCommitParser.js.map +1 -0
  526. package/dist/core/system/vcs/gitDiffFormatter.d.ts +1 -0
  527. package/dist/core/system/vcs/gitDiffFormatter.js +4 -0
  528. package/dist/core/system/vcs/gitDiffFormatter.js.map +1 -0
  529. package/dist/core/system/vcs/gitHistoryService.d.ts +46 -0
  530. package/dist/core/system/vcs/gitHistoryService.js +277 -0
  531. package/dist/core/system/vcs/gitHistoryService.js.map +1 -0
  532. package/dist/core/system/vcs/gitIgnoreTemplate.d.ts +1 -0
  533. package/dist/core/system/vcs/gitIgnoreTemplate.js +12 -0
  534. package/dist/core/system/vcs/gitIgnoreTemplate.js.map +1 -0
  535. package/dist/core/system/vcs/gitRepoStore.d.ts +12 -0
  536. package/dist/core/system/vcs/gitRepoStore.js +46 -0
  537. package/dist/core/system/vcs/gitRepoStore.js.map +1 -0
  538. package/dist/core/system/vcs/gitTrackedPaths.d.ts +6 -0
  539. package/dist/core/system/vcs/gitTrackedPaths.js +80 -0
  540. package/dist/core/system/vcs/gitTrackedPaths.js.map +1 -0
  541. package/dist/index.d.ts +5 -0
  542. package/dist/index.js +6 -0
  543. package/dist/index.js.map +1 -0
  544. package/dist/types/app.d.ts +444 -0
  545. package/dist/types/app.js +2 -0
  546. package/dist/types/app.js.map +1 -0
  547. package/dist/types/config.d.ts +188 -0
  548. package/dist/types/config.js +422 -0
  549. package/dist/types/config.js.map +1 -0
  550. package/dist/types/distro.d.ts +1 -0
  551. package/dist/types/distro.js +2 -0
  552. package/dist/types/distro.js.map +1 -0
  553. package/dist/types/history.d.ts +43 -0
  554. package/dist/types/history.js +2 -0
  555. package/dist/types/history.js.map +1 -0
  556. package/dist/types/package.d.ts +61 -0
  557. package/dist/types/package.js +2 -0
  558. package/dist/types/package.js.map +1 -0
  559. package/dist/types/plugin.d.ts +1 -0
  560. package/dist/types/plugin.js +2 -0
  561. package/dist/types/plugin.js.map +1 -0
  562. package/dist/types/provider.d.ts +2 -0
  563. package/dist/types/provider.js +2 -0
  564. package/dist/types/provider.js.map +1 -0
  565. package/dist/types/release.d.ts +24 -0
  566. package/dist/types/release.js +2 -0
  567. package/dist/types/release.js.map +1 -0
  568. package/dist/types/runtime.d.ts +2 -0
  569. package/dist/types/runtime.js +2 -0
  570. package/dist/types/runtime.js.map +1 -0
  571. package/dist/types/skill.d.ts +1 -0
  572. package/dist/types/skill.js +2 -0
  573. package/dist/types/skill.js.map +1 -0
  574. package/dist/types/transport.d.ts +2 -0
  575. package/dist/types/transport.js +2 -0
  576. package/dist/types/transport.js.map +1 -0
  577. package/package.json +62 -0
  578. package/resources/migrations/001_sessions.sql +59 -0
  579. package/resources/migrations/002_pending_request_metadata.sql +2 -0
  580. package/resources/migrations/003_provider_projections.sql +38 -0
  581. package/resources/migrations/004_runtime_projection_state.sql +22 -0
  582. package/resources/migrations/005_runtime_robustness.sql +3 -0
  583. package/resources/migrations/006_provider_autostart.sql +1 -0
  584. package/resources/migrations/007_missions.sql +41 -0
  585. package/resources/migrations/008_mission_schedule_anchor.sql +5 -0
  586. package/resources/migrations/009_session_orchestration.sql +26 -0
  587. package/resources/migrations/010_mission_archival.sql +1 -0
  588. package/resources/migrations/011_managed_sidecars.sql +29 -0
  589. package/resources/migrations/012_scope_space_terminology.sql +19 -0
  590. package/resources/migrations/013_orchestration_dedupe.sql +5 -0
  591. package/resources/migrations/014_orchestration_execution_claims.sql +13 -0
  592. package/resources/migrations/015_mission_schedule_meta.sql +9 -0
  593. package/resources/migrations/016_mission_hook_bindings.sql +16 -0
  594. package/resources/migrations/017_domain_event_provenance.sql +1 -0
  595. package/resources/migrations/018_provider_event_processing.sql +8 -0
  596. package/resources/official-catalog.json +444 -0
  597. package/resources/policies/default-secure.json +160 -0
@@ -0,0 +1,409 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { spawn } from 'node:child_process';
3
+ import { createWriteStream, mkdirSync } from 'node:fs';
4
+ import { join } from 'node:path';
5
+ import { buildChildProcessEnv } from '../../shared/utils/childProcessEnv.js';
6
+ import { buildManagedSidecarId, normalizeSidecarScopeKey } from './managedSidecar.js';
7
+ import { isSameLaunchDefinition, normalizeReadinessProbe } from './sidecarLaunchDefinition.js';
8
+ const LOG_STREAM_MAX_BUFFER_BYTES = 256 * 1024;
9
+ const LOG_STREAM_RESUME_BUFFER_BYTES = 64 * 1024;
10
+ export class SidecarManager {
11
+ deps;
12
+ sidecarsRoot;
13
+ running = new Map();
14
+ shuttingDown = false;
15
+ stopGracePeriodMs;
16
+ killGracePeriodMs;
17
+ constructor(deps) {
18
+ this.deps = deps;
19
+ this.sidecarsRoot = join(this.deps.runtimeRoot, 'sidecars');
20
+ this.stopGracePeriodMs = this.deps.stopGracePeriodMs ?? 2_000;
21
+ this.killGracePeriodMs = this.deps.killGracePeriodMs ?? 1_000;
22
+ mkdirSync(this.sidecarsRoot, { recursive: true });
23
+ }
24
+ listSidecars() {
25
+ return this.deps.store.listManagedSidecars();
26
+ }
27
+ async recover() {
28
+ const recoverable = this.deps.store
29
+ .listManagedSidecars()
30
+ .filter((sidecar) => sidecar.status === 'starting' || sidecar.status === 'ready');
31
+ for (const sidecar of recoverable) {
32
+ await this.startSidecar(sidecar, true);
33
+ }
34
+ }
35
+ async ensure(definition) {
36
+ const scopeKey = normalizeSidecarScopeKey(definition.scope);
37
+ const sidecarId = buildManagedSidecarId({
38
+ pluginId: definition.pluginId,
39
+ name: definition.name,
40
+ scopeKind: definition.scope.kind,
41
+ scopeKey
42
+ });
43
+ const cwd = definition.launch.cwd?.trim() || join(this.sidecarsRoot, sidecarId);
44
+ mkdirSync(cwd, { recursive: true });
45
+ const running = this.running.get(sidecarId);
46
+ if (running && isSameLaunchDefinition(running.record, definition, cwd)) {
47
+ return await running.ready;
48
+ }
49
+ const existing = this.deps.store.getManagedSidecar(sidecarId);
50
+ if (existing && isSameLaunchDefinition(existing, definition, cwd)) {
51
+ if (!running && (existing.status === 'ready' || existing.status === 'starting')) {
52
+ return await this.startSidecar(existing, true);
53
+ }
54
+ if (existing.status === 'ready') {
55
+ return existing;
56
+ }
57
+ }
58
+ if (running) {
59
+ await this.stopById(sidecarId, 'sidecar.replaced');
60
+ }
61
+ const now = this.deps.now();
62
+ const record = {
63
+ sidecarId,
64
+ instanceId: randomUUID(),
65
+ pluginId: definition.pluginId,
66
+ name: definition.name,
67
+ scopeKind: definition.scope.kind,
68
+ scopeKey,
69
+ status: 'starting',
70
+ command: definition.launch.command,
71
+ args: definition.launch.args ?? [],
72
+ cwd,
73
+ env: definition.launch.env ?? {},
74
+ restartPolicy: definition.launch.restart?.policy ?? 'never',
75
+ maxRestarts: definition.launch.restart?.maxRestarts ?? 0,
76
+ readiness: normalizeReadinessProbe(definition.launch.readiness),
77
+ artifactDir: cwd,
78
+ pid: null,
79
+ restartCount: existing?.restartCount ?? 0,
80
+ startedAt: now,
81
+ readyAt: null,
82
+ stoppedAt: null,
83
+ lastExitCode: null,
84
+ lastExitSignal: null,
85
+ lastError: null,
86
+ updatedAt: now
87
+ };
88
+ return await this.startSidecar(record, false);
89
+ }
90
+ async stop(input) {
91
+ const sidecarId = buildManagedSidecarId(input);
92
+ return await this.stopById(sidecarId, 'sidecar.stopped');
93
+ }
94
+ async cleanupScope(input) {
95
+ const sidecars = this.deps.store.listManagedSidecarsByScope(input.scopeKind, input.scopeKey);
96
+ const stopped = [];
97
+ for (const sidecar of sidecars) {
98
+ const result = await this.stopById(sidecar.sidecarId, 'sidecar.cleaned_up', input.reason);
99
+ if (result) {
100
+ stopped.push(result);
101
+ }
102
+ }
103
+ return stopped;
104
+ }
105
+ async shutdown(reason) {
106
+ this.shuttingDown = true;
107
+ const sidecarIds = [...this.running.keys()];
108
+ for (const sidecarId of sidecarIds) {
109
+ await this.stopById(sidecarId, 'sidecar.cleaned_up', reason);
110
+ }
111
+ }
112
+ attachLogStream(input) {
113
+ const stream = createWriteStream(input.path, { flags: 'a' });
114
+ let paused = false;
115
+ const tryResume = () => {
116
+ if (!paused || stream.writableLength > LOG_STREAM_RESUME_BUFFER_BYTES) {
117
+ return;
118
+ }
119
+ paused = false;
120
+ input.source.resume();
121
+ };
122
+ stream.on('drain', tryResume);
123
+ input.source.on('data', (chunk) => {
124
+ const value = String(chunk);
125
+ input.onChunk(value);
126
+ stream.write(value, 'utf8');
127
+ if (!paused && stream.writableLength >= LOG_STREAM_MAX_BUFFER_BYTES) {
128
+ paused = true;
129
+ input.source.pause();
130
+ }
131
+ });
132
+ const close = async () => {
133
+ if (paused) {
134
+ paused = false;
135
+ input.source.resume();
136
+ }
137
+ await new Promise((resolve) => {
138
+ stream.end(() => resolve());
139
+ });
140
+ };
141
+ return {
142
+ close
143
+ };
144
+ }
145
+ async stopById(sidecarId, eventName, reason) {
146
+ const running = this.running.get(sidecarId);
147
+ if (!running) {
148
+ const existing = this.deps.store.getManagedSidecar(sidecarId);
149
+ if (!existing) {
150
+ return null;
151
+ }
152
+ const stopped = this.persist({
153
+ ...existing,
154
+ status: 'stopped',
155
+ pid: null,
156
+ stoppedAt: this.deps.now(),
157
+ updatedAt: this.deps.now(),
158
+ lastError: reason ?? existing.lastError
159
+ });
160
+ this.deps.appendAuditEvent(eventName, {
161
+ sidecarId,
162
+ instanceId: stopped.instanceId,
163
+ reason: reason ?? null
164
+ });
165
+ return stopped;
166
+ }
167
+ running.expectedStop = true;
168
+ const stopping = this.persist({
169
+ ...running.record,
170
+ status: 'stopping',
171
+ updatedAt: this.deps.now(),
172
+ lastError: reason ?? null
173
+ });
174
+ running.record = stopping;
175
+ running.child.kill('SIGTERM');
176
+ let stopped;
177
+ try {
178
+ stopped = await this.awaitStop(running, this.stopGracePeriodMs);
179
+ }
180
+ catch {
181
+ running.forcedKill = true;
182
+ running.child.kill('SIGKILL');
183
+ try {
184
+ stopped = await this.awaitStop(running, this.killGracePeriodMs);
185
+ }
186
+ catch {
187
+ this.running.delete(sidecarId);
188
+ stopped = this.persist({
189
+ ...running.record,
190
+ status: 'failed',
191
+ pid: null,
192
+ stoppedAt: this.deps.now(),
193
+ lastExitCode: null,
194
+ lastExitSignal: 'SIGKILL',
195
+ lastError: `Sidecar did not exit within ${this.stopGracePeriodMs + this.killGracePeriodMs}ms.`,
196
+ updatedAt: this.deps.now()
197
+ });
198
+ }
199
+ }
200
+ this.deps.appendAuditEvent(eventName, {
201
+ sidecarId,
202
+ instanceId: stopped.instanceId,
203
+ reason: reason ?? null
204
+ });
205
+ return stopped;
206
+ }
207
+ async startSidecar(record, recovered) {
208
+ mkdirSync(record.artifactDir, { recursive: true });
209
+ const child = spawn(record.command, record.args, {
210
+ cwd: record.cwd,
211
+ env: buildChildProcessEnv({ explicit: record.env }),
212
+ stdio: 'pipe'
213
+ });
214
+ let resolveReady;
215
+ let rejectReady;
216
+ let resolveStopped;
217
+ const ready = new Promise((resolve, reject) => {
218
+ resolveReady = resolve;
219
+ rejectReady = reject;
220
+ });
221
+ const stopped = new Promise((resolve) => {
222
+ resolveStopped = resolve;
223
+ });
224
+ const running = {
225
+ child,
226
+ record,
227
+ expectedStop: false,
228
+ forcedKill: false,
229
+ ready,
230
+ resolveReady,
231
+ rejectReady,
232
+ stopped,
233
+ resolveStopped
234
+ };
235
+ this.running.set(record.sidecarId, running);
236
+ const started = this.persist({
237
+ ...record,
238
+ status: 'starting',
239
+ pid: child.pid ?? null,
240
+ startedAt: this.deps.now(),
241
+ readyAt: null,
242
+ stoppedAt: null,
243
+ lastExitCode: null,
244
+ lastExitSignal: null,
245
+ lastError: recovered ? 'Recovered after runtime restart.' : null,
246
+ updatedAt: this.deps.now()
247
+ });
248
+ running.record = started;
249
+ const stdoutLog = join(started.artifactDir, 'stdout.log');
250
+ const stderrLog = join(started.artifactDir, 'stderr.log');
251
+ let settled = false;
252
+ const markReady = () => {
253
+ if (settled) {
254
+ return;
255
+ }
256
+ settled = true;
257
+ const current = this.persist({
258
+ ...running.record,
259
+ status: 'ready',
260
+ readyAt: this.deps.now(),
261
+ updatedAt: this.deps.now(),
262
+ lastError: null
263
+ });
264
+ running.record = current;
265
+ this.deps.appendAuditEvent('sidecar.started', {
266
+ sidecarId: current.sidecarId,
267
+ instanceId: current.instanceId,
268
+ pluginId: current.pluginId,
269
+ scopeKind: current.scopeKind,
270
+ scopeKey: current.scopeKey,
271
+ pid: current.pid,
272
+ recovered
273
+ });
274
+ running.resolveReady(current);
275
+ };
276
+ const readiness = running.record.readiness;
277
+ const readinessPattern = readiness.kind === 'stdio' ? new RegExp(readiness.pattern) : null;
278
+ const readinessTimer = readiness.kind === 'stdio'
279
+ ? globalThis.setTimeout(() => {
280
+ if (!settled) {
281
+ running.child.kill('SIGTERM');
282
+ running.rejectReady(new Error(`Sidecar ${running.record.sidecarId} did not become ready before timeout.`));
283
+ }
284
+ }, readiness.timeoutMs ?? 15_000)
285
+ : null;
286
+ const inspectChunk = (stream, chunk) => {
287
+ if (readiness.kind !== 'stdio' || !readinessPattern || settled) {
288
+ return;
289
+ }
290
+ const allowedStream = readiness.stream === 'both' || readiness.stream === undefined ? true : readiness.stream === stream;
291
+ if (!allowedStream) {
292
+ return;
293
+ }
294
+ if (readinessPattern.test(chunk)) {
295
+ if (readinessTimer) {
296
+ globalThis.clearTimeout(readinessTimer);
297
+ }
298
+ markReady();
299
+ }
300
+ };
301
+ const stdout = this.attachLogStream({
302
+ source: running.child.stdout,
303
+ path: stdoutLog,
304
+ onChunk: (value) => {
305
+ inspectChunk('stdout', value);
306
+ }
307
+ });
308
+ const stderr = this.attachLogStream({
309
+ source: running.child.stderr,
310
+ path: stderrLog,
311
+ onChunk: (value) => {
312
+ inspectChunk('stderr', value);
313
+ }
314
+ });
315
+ running.child.once('exit', (code, signal) => {
316
+ if (readinessTimer) {
317
+ globalThis.clearTimeout(readinessTimer);
318
+ }
319
+ void Promise.all([stdout.close(), stderr.close()]);
320
+ const current = this.running.get(record.sidecarId);
321
+ if (!current || current.record.instanceId !== started.instanceId) {
322
+ return;
323
+ }
324
+ this.running.delete(record.sidecarId);
325
+ const failed = current.forcedKill || (!current.expectedStop && !this.shuttingDown && code !== 0);
326
+ const nextRecord = this.persist({
327
+ ...current.record,
328
+ status: failed ? 'failed' : 'stopped',
329
+ pid: null,
330
+ stoppedAt: this.deps.now(),
331
+ lastExitCode: code,
332
+ lastExitSignal: signal,
333
+ lastError: failed ? `Sidecar exited unexpectedly with code ${code ?? 'null'}.` : current.record.lastError,
334
+ updatedAt: this.deps.now()
335
+ });
336
+ current.resolveStopped(nextRecord);
337
+ if (!settled) {
338
+ settled = true;
339
+ current.rejectReady(new Error(nextRecord.lastError ?? `Sidecar ${nextRecord.sidecarId} exited before readiness.`));
340
+ }
341
+ this.deps.appendAuditEvent(failed ? 'sidecar.failed' : 'sidecar.stopped', {
342
+ sidecarId: nextRecord.sidecarId,
343
+ instanceId: nextRecord.instanceId,
344
+ exitCode: code,
345
+ signal,
346
+ restartCount: nextRecord.restartCount
347
+ });
348
+ if (failed &&
349
+ !current.expectedStop &&
350
+ nextRecord.restartPolicy === 'on-failure' &&
351
+ nextRecord.restartCount < nextRecord.maxRestarts) {
352
+ const restarting = this.persist({
353
+ ...nextRecord,
354
+ instanceId: randomUUID(),
355
+ status: 'starting',
356
+ restartCount: nextRecord.restartCount + 1,
357
+ pid: null,
358
+ readyAt: null,
359
+ stoppedAt: null,
360
+ lastError: nextRecord.lastError,
361
+ updatedAt: this.deps.now()
362
+ });
363
+ this.deps.appendAuditEvent('sidecar.restarted', {
364
+ sidecarId: restarting.sidecarId,
365
+ previousInstanceId: nextRecord.instanceId,
366
+ instanceId: restarting.instanceId,
367
+ restartCount: restarting.restartCount
368
+ });
369
+ void this.startSidecar(restarting, false).catch((error) => {
370
+ const message = error instanceof Error ? error.message : String(error);
371
+ const failedRestart = this.persist({
372
+ ...restarting,
373
+ status: 'failed',
374
+ pid: null,
375
+ stoppedAt: this.deps.now(),
376
+ lastError: message,
377
+ updatedAt: this.deps.now()
378
+ });
379
+ this.deps.appendAuditEvent('sidecar.restart.failed', {
380
+ sidecarId: failedRestart.sidecarId,
381
+ instanceId: failedRestart.instanceId,
382
+ previousInstanceId: nextRecord.instanceId,
383
+ restartCount: failedRestart.restartCount,
384
+ error: message
385
+ });
386
+ });
387
+ }
388
+ });
389
+ if (readiness.kind === 'none') {
390
+ markReady();
391
+ }
392
+ return await ready;
393
+ }
394
+ persist(record) {
395
+ this.deps.store.upsertManagedSidecar(record);
396
+ return this.deps.store.getManagedSidecar(record.sidecarId) ?? record;
397
+ }
398
+ async awaitStop(running, timeoutMs) {
399
+ return await Promise.race([
400
+ running.stopped,
401
+ new Promise((_, reject) => {
402
+ globalThis.setTimeout(() => {
403
+ reject(new Error(`Timed out waiting for ${running.record.sidecarId} to stop.`));
404
+ }, timeoutMs);
405
+ })
406
+ ]);
407
+ }
408
+ }
409
+ //# sourceMappingURL=sidecarManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidecarManager.js","sourceRoot":"","sources":["../../../../../../../src/core/runtime/supervision/sidecarManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface WriteFileAtomicSyncOptions {
2
+ mode?: number;
3
+ fsync?: boolean;
4
+ }
5
+ export declare function writeFileAtomicSync(path: string, body: string | Uint8Array, options?: WriteFileAtomicSyncOptions): void;
6
+ export {};
@@ -0,0 +1,48 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { closeSync, fsyncSync, mkdirSync, openSync, renameSync, rmSync, writeFileSync } from 'node:fs';
3
+ import { dirname } from 'node:path';
4
+ function fsyncParentDir(path) {
5
+ try {
6
+ const dirFd = openSync(dirname(path), 'r');
7
+ try {
8
+ fsyncSync(dirFd);
9
+ }
10
+ finally {
11
+ closeSync(dirFd);
12
+ }
13
+ }
14
+ catch {
15
+ // Some filesystems do not support directory fsync; best-effort only.
16
+ }
17
+ }
18
+ export function writeFileAtomicSync(path, body, options = {}) {
19
+ mkdirSync(dirname(path), { recursive: true });
20
+ const tempPath = `${path}.${process.pid}.${randomUUID()}.tmp`;
21
+ let fd = null;
22
+ try {
23
+ fd = openSync(tempPath, 'w', options.mode);
24
+ writeFileSync(fd, body);
25
+ if (options.fsync !== false) {
26
+ fsyncSync(fd);
27
+ }
28
+ closeSync(fd);
29
+ fd = null;
30
+ renameSync(tempPath, path);
31
+ if (options.fsync !== false) {
32
+ fsyncParentDir(path);
33
+ }
34
+ }
35
+ catch (error) {
36
+ if (fd !== null) {
37
+ try {
38
+ closeSync(fd);
39
+ }
40
+ catch {
41
+ // Ignore close failures on an already-failing write path.
42
+ }
43
+ }
44
+ rmSync(tempPath, { force: true });
45
+ throw error;
46
+ }
47
+ }
48
+ //# sourceMappingURL=atomicWrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomicWrite.js","sourceRoot":"","sources":["../../../../../../../src/core/shared/fs/atomicWrite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qEAAqE;IACvE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,IAAyB,EACzB,UAAsC,EAAE;IAExC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IAC9D,IAAI,EAAE,GAAkB,IAAI,CAAC;IAC7B,IAAI,CAAC;QACH,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACxB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5B,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;QACD,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,EAAE,GAAG,IAAI,CAAC;QACV,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5B,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,SAAS,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;QACH,CAAC;QACD,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare function canonicalizeExistingPath(path: string, label: string): string;
2
+ export declare function isCanonicalExistingPathWithinRoot(rootPath: string, candidatePath: string): boolean;
3
+ export declare function assertCanonicalExistingPathWithinRoot(input: {
4
+ rootPath: string;
5
+ candidatePath: string;
6
+ rootLabel: string;
7
+ candidateLabel: string;
8
+ }): string;
@@ -0,0 +1,31 @@
1
+ import { realpathSync } from 'node:fs';
2
+ import { isAbsolute, relative, resolve, sep } from 'node:path';
3
+ function isResolvedPathWithinRoot(rootPath, candidatePath) {
4
+ const rel = relative(rootPath, candidatePath);
5
+ return (rel === '' ||
6
+ (!(rel === '..' || rel.startsWith(`..${sep}`) || rel.startsWith('../') || rel.startsWith('..\\')) &&
7
+ !isAbsolute(rel)));
8
+ }
9
+ export function canonicalizeExistingPath(path, label) {
10
+ const resolved = resolve(path);
11
+ try {
12
+ return realpathSync(resolved);
13
+ }
14
+ catch (error) {
15
+ throw new Error(`${label} does not exist or cannot be resolved: ${path}. ${error instanceof Error ? error.message : String(error)}`);
16
+ }
17
+ }
18
+ export function isCanonicalExistingPathWithinRoot(rootPath, candidatePath) {
19
+ const canonicalRoot = canonicalizeExistingPath(rootPath, 'Root path');
20
+ const canonicalCandidate = canonicalizeExistingPath(candidatePath, 'Candidate path');
21
+ return isResolvedPathWithinRoot(canonicalRoot, canonicalCandidate);
22
+ }
23
+ export function assertCanonicalExistingPathWithinRoot(input) {
24
+ const canonicalRoot = canonicalizeExistingPath(input.rootPath, input.rootLabel);
25
+ const canonicalCandidate = canonicalizeExistingPath(input.candidatePath, input.candidateLabel);
26
+ if (!isResolvedPathWithinRoot(canonicalRoot, canonicalCandidate)) {
27
+ throw new Error(`${input.candidateLabel} must stay inside ${input.rootLabel}.`);
28
+ }
29
+ return canonicalCandidate;
30
+ }
31
+ //# sourceMappingURL=canonicalPathContainment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonicalPathContainment.js","sourceRoot":"","sources":["../../../../../../../src/core/shared/fs/canonicalPathContainment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE/D,SAAS,wBAAwB,CAAC,QAAgB,EAAE,aAAqB;IACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9C,OAAO,CACL,GAAG,KAAK,EAAE;QACV,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/F,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,KAAa;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,0CAA0C,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACpH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,QAAgB,EAAE,aAAqB;IACvF,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACrF,OAAO,wBAAwB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,KAKrD;IACC,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAChF,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/F,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,cAAc,qBAAqB,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function assertRuntimeOwnedWorkspacePath(input: {
2
+ workspacesDir: string;
3
+ workspacePath: string;
4
+ expectedWorkspaceId: string;
5
+ entityLabel: string;
6
+ }): string;
@@ -0,0 +1,23 @@
1
+ import { lstatSync } from 'node:fs';
2
+ import { basename, isAbsolute, join, relative, resolve } from 'node:path';
3
+ function isPathWithinRoot(rootPath, candidatePath) {
4
+ const rel = relative(rootPath, candidatePath);
5
+ return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
6
+ }
7
+ export function assertRuntimeOwnedWorkspacePath(input) {
8
+ const root = resolve(input.workspacesDir);
9
+ const candidate = resolve(input.workspacePath);
10
+ const expected = resolve(join(root, input.expectedWorkspaceId));
11
+ if (!isPathWithinRoot(root, candidate)) {
12
+ throw new Error(`${input.entityLabel} workspace path is outside the managed runtime workspace root.`);
13
+ }
14
+ if (candidate !== expected || basename(candidate) !== input.expectedWorkspaceId) {
15
+ throw new Error(`${input.entityLabel} workspace path does not match the runtime-owned workspace id ${input.expectedWorkspaceId}.`);
16
+ }
17
+ const stats = lstatSync(candidate, { throwIfNoEntry: false });
18
+ if (stats?.isSymbolicLink()) {
19
+ throw new Error(`${input.entityLabel} workspace path is a symlink and cannot be deleted recursively.`);
20
+ }
21
+ return candidate;
22
+ }
23
+ //# sourceMappingURL=runtimeOwnedPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeOwnedPath.js","sourceRoot":"","sources":["../../../../../../../src/core/shared/fs/runtimeOwnedPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1E,SAAS,gBAAgB,CAAC,QAAgB,EAAE,aAAqB;IAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9C,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAK/C;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEhE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,WAAW,gEAAgE,CAAC,CAAC;IACxG,CAAC;IAED,IAAI,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,CAAC,WAAW,iEAAiE,KAAK,CAAC,mBAAmB,GAAG,CAClH,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,IAAI,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,WAAW,iEAAiE,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function buildChildProcessEnv(input?: {
2
+ explicit?: Record<string, string | undefined>;
3
+ additionalAllowlist?: string[];
4
+ }): Record<string, string | undefined>;
@@ -0,0 +1,66 @@
1
+ const BASE_ENV_ALLOWLIST = new Set([
2
+ 'PATH',
3
+ 'HOME',
4
+ 'USER',
5
+ 'LOGNAME',
6
+ 'SHELL',
7
+ 'TMP',
8
+ 'TEMP',
9
+ 'TMPDIR',
10
+ 'LANG',
11
+ 'LC_ALL',
12
+ 'TZ',
13
+ 'TERM',
14
+ 'COLORTERM',
15
+ 'NO_COLOR',
16
+ 'FORCE_COLOR',
17
+ 'CI',
18
+ 'SSH_AUTH_SOCK',
19
+ 'SSL_CERT_FILE',
20
+ 'SSL_CERT_DIR',
21
+ 'HTTP_PROXY',
22
+ 'HTTPS_PROXY',
23
+ 'NO_PROXY',
24
+ 'http_proxy',
25
+ 'https_proxy',
26
+ 'no_proxy'
27
+ ]);
28
+ const PREFIX_ALLOWLIST = ['MOORLINE_', 'CODEX_'];
29
+ function parseExtraAllowlist(raw) {
30
+ if (!raw) {
31
+ return [];
32
+ }
33
+ return raw
34
+ .split(',')
35
+ .map((entry) => entry.trim())
36
+ .filter((entry) => entry.length > 0);
37
+ }
38
+ export function buildChildProcessEnv(input = {}) {
39
+ const allowed = new Set(BASE_ENV_ALLOWLIST);
40
+ for (const key of input.additionalAllowlist ?? []) {
41
+ if (key.trim()) {
42
+ allowed.add(key.trim());
43
+ }
44
+ }
45
+ for (const key of parseExtraAllowlist(process.env.MOORLINE_CHILD_ENV_ALLOWLIST)) {
46
+ allowed.add(key);
47
+ }
48
+ const env = {};
49
+ for (const [key, value] of Object.entries(process.env)) {
50
+ if (value === undefined) {
51
+ continue;
52
+ }
53
+ if (allowed.has(key) || PREFIX_ALLOWLIST.some((prefix) => key.startsWith(prefix))) {
54
+ env[key] = value;
55
+ }
56
+ }
57
+ for (const [key, value] of Object.entries(input.explicit ?? {})) {
58
+ if (value === undefined) {
59
+ delete env[key];
60
+ continue;
61
+ }
62
+ env[key] = value;
63
+ }
64
+ return env;
65
+ }
66
+ //# sourceMappingURL=childProcessEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"childProcessEnv.js","sourceRoot":"","sources":["../../../../../../../src/core/shared/utils/childProcessEnv.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,KAAK;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,WAAW;IACX,UAAU;IACV,aAAa;IACb,IAAI;IACJ,eAAe;IACf,eAAe;IACf,cAAc;IACd,YAAY;IACZ,aAAa;IACb,UAAU;IACV,YAAY;IACZ,aAAa;IACb,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEjD,SAAS,mBAAmB,CAAC,GAAuB;IAClD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAGjC,EAAE;IACJ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAuC,EAAE,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}