spawnfile 0.1.14 → 0.1.18

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 (873) hide show
  1. package/README.md +60 -159
  2. package/dist/audit/checksShared.d.ts +1 -1
  3. package/dist/auth/importers.d.ts +10 -0
  4. package/dist/auth/importers.js +46 -5
  5. package/dist/auth/index.d.ts +3 -0
  6. package/dist/auth/index.js +2 -0
  7. package/dist/auth/paths.d.ts +1 -1
  8. package/dist/auth/profileStore.js +13 -10
  9. package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
  10. package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
  11. package/dist/auth/targetSecretSourceFsPublish.d.ts +2 -0
  12. package/dist/auth/targetSecretSourceFsPublish.js +3 -1
  13. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +2 -1
  14. package/dist/auth/targetSecretSourceFsPublishImmutable.js +104 -71
  15. package/dist/auth/targetSecretSourceFsRead.js +5 -14
  16. package/dist/auth/trainingAuth.d.ts +21 -0
  17. package/dist/auth/trainingAuth.js +86 -0
  18. package/dist/auth/trainingGrokWriteback.d.ts +4 -0
  19. package/dist/auth/trainingGrokWriteback.js +119 -0
  20. package/dist/auth/trainingGrokWritebackLock.d.ts +5 -0
  21. package/dist/auth/trainingGrokWritebackLock.js +56 -0
  22. package/dist/auth/types.d.ts +1 -1
  23. package/dist/cli/authCommands.d.ts +1 -1
  24. package/dist/cli/authCommands.js +18 -5
  25. package/dist/cli/canaryCutoverCommand.d.ts +2 -0
  26. package/dist/cli/canaryCutoverCommand.js +30 -0
  27. package/dist/cli/capabilitiesCommand.d.ts +3 -0
  28. package/dist/cli/capabilitiesCommand.js +12 -0
  29. package/dist/cli/capabilitiesReceipt.d.ts +56 -0
  30. package/dist/cli/capabilitiesReceipt.js +56 -0
  31. package/dist/cli/compileBuildCommands.js +17 -0
  32. package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
  33. package/dist/cli/composedLifecycleContractSet.js +204 -0
  34. package/dist/cli/devCommands.js +6 -2
  35. package/dist/cli/downCommand.d.ts +2 -0
  36. package/dist/cli/downCommand.js +22 -8
  37. package/dist/cli/envFileOption.d.ts +18 -0
  38. package/dist/cli/envFileOption.js +20 -0
  39. package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
  40. package/dist/cli/evidenceExportHelperCommand.js +51 -0
  41. package/dist/cli/index.js +12 -3
  42. package/dist/cli/lifecycleCommands.d.ts +1 -1
  43. package/dist/cli/lifecycleCommands.js +3 -1
  44. package/dist/cli/lifecycleMachine.d.ts +7 -1
  45. package/dist/cli/lifecycleMachine.js +2 -2
  46. package/dist/cli/lifecyclePlan.d.ts +1 -0
  47. package/dist/cli/lifecyclePlan.js +2 -0
  48. package/dist/cli/paideiaDelegation.d.ts +18 -0
  49. package/dist/cli/paideiaDelegation.js +211 -0
  50. package/dist/cli/paideiaSupervisor.d.ts +17 -0
  51. package/dist/cli/paideiaSupervisor.js +48 -0
  52. package/dist/cli/productStateCloneCommand.d.ts +2 -0
  53. package/dist/cli/productStateCloneCommand.js +34 -0
  54. package/dist/cli/recordCommands.d.ts +17 -0
  55. package/dist/cli/recordCommands.js +43 -0
  56. package/dist/cli/releaseCommand.d.ts +6 -0
  57. package/dist/cli/releaseCommand.js +91 -0
  58. package/dist/cli/runCli.d.ts +19 -3
  59. package/dist/cli/runCli.js +43 -10
  60. package/dist/cli/runPublishCommands.js +5 -3
  61. package/dist/cli/targetCommands.d.ts +4 -7
  62. package/dist/cli/targetCommands.js +16 -46
  63. package/dist/cli/targetConfigPreparedPlan.d.ts +3 -0
  64. package/dist/cli/targetConfigPreparedPlan.js +74 -0
  65. package/dist/cli/targetConfigResolver.d.ts +3 -0
  66. package/dist/cli/targetConfigResolver.js +111 -0
  67. package/dist/cli/targetConfigResolverCommand.d.ts +6 -0
  68. package/dist/cli/targetConfigResolverCommand.js +43 -0
  69. package/dist/cli/targetConfigResolverContracts.d.ts +56 -0
  70. package/dist/cli/targetConfigResolverContracts.js +30 -0
  71. package/dist/cli/targetConfigResolverDocker.d.ts +4 -0
  72. package/dist/cli/targetConfigResolverDocker.js +47 -0
  73. package/dist/cli/targetConfigResolverValidation.d.ts +10 -0
  74. package/dist/cli/targetConfigResolverValidation.js +94 -0
  75. package/dist/cli/targetDefaultAuthorities.d.ts +2 -0
  76. package/dist/cli/targetDefaultAuthorities.js +3 -0
  77. package/dist/cli/targetDefaultConfig.d.ts +7 -0
  78. package/dist/cli/targetDefaultConfig.js +22 -5
  79. package/dist/cli/targetDefaultConfigStdin.js +7 -1
  80. package/dist/cli/targetDefaultHandlerFactory.js +23 -2
  81. package/dist/cli/targetDefaultHandlers.d.ts +2 -2
  82. package/dist/cli/targetProductionCommands.d.ts +5 -0
  83. package/dist/cli/targetProductionCommands.js +45 -0
  84. package/dist/cli/trainCommand.d.ts +3 -0
  85. package/dist/cli/trainCommand.js +114 -0
  86. package/dist/cli/upCommand.js +40 -7
  87. package/dist/cli/upLifecycleRecovery.d.ts +2 -2
  88. package/dist/cli/upLifecycleRecovery.js +188 -44
  89. package/dist/cli/usageCommand.d.ts +40 -0
  90. package/dist/cli/usageCommand.js +284 -0
  91. package/dist/cli/usageCommandLive.d.ts +84 -0
  92. package/dist/cli/usageCommandLive.js +95 -0
  93. package/dist/cli/usageDeploymentSource.d.ts +9 -0
  94. package/dist/cli/usageDeploymentSource.js +22 -0
  95. package/dist/cli/volumeCommands.d.ts +8 -0
  96. package/dist/cli/volumeCommands.js +53 -0
  97. package/dist/cli/workspaceResourceMigrationCommand.d.ts +8 -0
  98. package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
  99. package/dist/compiler/agentNodeMerge.js +3 -2
  100. package/dist/compiler/buildCompilePlan.js +4 -0
  101. package/dist/compiler/buildCompilePlanAgent.js +3 -1
  102. package/dist/compiler/buildCompilePlanTeams.d.ts +1 -1
  103. package/dist/compiler/buildCompilePlanTeams.js +6 -1
  104. package/dist/compiler/buildCompilePlanTraversal.js +2 -0
  105. package/dist/compiler/buildCompilePlanTraversalHelpers.d.ts +2 -2
  106. package/dist/compiler/buildCompilePlanTraversalHelpers.js +4 -3
  107. package/dist/compiler/buildProject.d.ts +10 -0
  108. package/dist/compiler/buildProject.js +14 -2
  109. package/dist/compiler/cleanCompileOutput.d.ts +2 -0
  110. package/dist/compiler/cleanCompileOutput.js +14 -0
  111. package/dist/compiler/compilePlanHelpers.js +5 -0
  112. package/dist/compiler/compileProject.d.ts +12 -0
  113. package/dist/compiler/compileProject.js +33 -3
  114. package/dist/compiler/compileProjectSupport.js +9 -0
  115. package/dist/compiler/containerArtifactSummaries.js +1 -0
  116. package/dist/compiler/containerArtifacts.d.ts +7 -5
  117. package/dist/compiler/containerArtifacts.js +77 -41
  118. package/dist/compiler/containerArtifactsPlans.d.ts +1 -1
  119. package/dist/compiler/containerArtifactsPlans.js +31 -7
  120. package/dist/compiler/containerArtifactsRender.d.ts +2 -1
  121. package/dist/compiler/containerArtifactsRender.js +91 -58
  122. package/dist/compiler/containerArtifactsTypes.d.ts +15 -0
  123. package/dist/compiler/containerBackedMountRender.d.ts +56 -0
  124. package/dist/compiler/containerBackedMountRender.js +101 -0
  125. package/dist/compiler/containerDaimonBrokerRender.d.ts +114 -0
  126. package/dist/compiler/containerDaimonBrokerRender.js +194 -0
  127. package/dist/compiler/containerDaimonGrokTaskClock.d.ts +5 -0
  128. package/dist/compiler/containerDaimonGrokTaskClock.js +29 -0
  129. package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
  130. package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +130 -0
  131. package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +197 -0
  132. package/dist/compiler/containerDaimonGrokWorkerRender.js +281 -0
  133. package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +25 -0
  134. package/dist/compiler/containerDaimonOwnershipGuardRender.js +204 -0
  135. package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
  136. package/dist/compiler/containerDaimonUidEntrypointRender.js +291 -0
  137. package/dist/compiler/containerEntrypointRender.d.ts +7 -0
  138. package/dist/compiler/containerEntrypointRender.js +28 -22
  139. package/dist/compiler/containerPersistentMounts.d.ts +30 -0
  140. package/dist/compiler/containerPersistentMounts.js +66 -0
  141. package/dist/compiler/containerReadinessPaths.d.ts +1 -0
  142. package/dist/compiler/containerReadinessPaths.js +1 -0
  143. package/dist/compiler/containerRuntimeLinkMaterializer.d.ts +2 -0
  144. package/dist/compiler/containerRuntimeLinkMaterializer.js +12 -0
  145. package/dist/compiler/containerRuntimeReadinessRender.d.ts +7 -0
  146. package/dist/compiler/containerRuntimeReadinessRender.js +40 -0
  147. package/dist/compiler/containerStateOwnershipRender.d.ts +4 -0
  148. package/dist/compiler/containerStateOwnershipRender.js +75 -0
  149. package/dist/compiler/containerTargetResources.d.ts +32 -1
  150. package/dist/compiler/containerTargetResources.js +115 -15
  151. package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
  152. package/dist/compiler/containerVolumeBootstrap.js +3 -0
  153. package/dist/compiler/containerWorkspaceResourceRender.js +52 -1
  154. package/dist/compiler/daimonTelemetryArtifacts.d.ts +2 -2
  155. package/dist/compiler/daimonTelemetryArtifacts.js +5 -10
  156. package/dist/compiler/deploymentLineage.d.ts +40 -0
  157. package/dist/compiler/deploymentLineage.js +50 -0
  158. package/dist/compiler/index.d.ts +5 -0
  159. package/dist/compiler/index.js +5 -0
  160. package/dist/compiler/initProject.d.ts +2 -0
  161. package/dist/compiler/initProject.js +39 -1
  162. package/dist/compiler/localMoltnetAuthority.d.ts +64 -0
  163. package/dist/compiler/localMoltnetAuthority.js +177 -0
  164. package/dist/compiler/mcpPlaceholders.d.ts +11 -0
  165. package/dist/compiler/mcpPlaceholders.js +58 -0
  166. package/dist/compiler/mcpServerInheritance.d.ts +18 -0
  167. package/dist/compiler/mcpServerInheritance.js +43 -0
  168. package/dist/compiler/memoryArtifacts.d.ts +1 -1
  169. package/dist/compiler/memoryArtifacts.js +108 -32
  170. package/dist/compiler/modelEnv.d.ts +5 -0
  171. package/dist/compiler/modelEnv.js +8 -2
  172. package/dist/compiler/moltnetArtifactPaths.d.ts +17 -12
  173. package/dist/compiler/moltnetArtifactPaths.js +17 -15
  174. package/dist/compiler/moltnetArtifactTypes.d.ts +11 -0
  175. package/dist/compiler/moltnetArtifacts.d.ts +1 -1
  176. package/dist/compiler/moltnetArtifacts.js +53 -12
  177. package/dist/compiler/moltnetBinaries.d.ts +16 -4
  178. package/dist/compiler/moltnetBinaries.js +46 -6
  179. package/dist/compiler/moltnetClientConfig.js +1 -1
  180. package/dist/compiler/moltnetConfigLowering.d.ts +3 -1
  181. package/dist/compiler/moltnetConfigLowering.js +30 -6
  182. package/dist/compiler/moltnetNodeConfig.js +1 -1
  183. package/dist/compiler/moltnetReleaseAuthority.d.ts +24 -1
  184. package/dist/compiler/moltnetReleaseAuthority.js +33 -4
  185. package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -1
  186. package/dist/compiler/moltnetRepresentativeResolution.js +2 -2
  187. package/dist/compiler/moltnetResolution.js +9 -15
  188. package/dist/compiler/moltnetRoomMemberships.js +20 -5
  189. package/dist/compiler/moltnetRoomPolicyCompatibility.d.ts +1 -1
  190. package/dist/compiler/moltnetRoomPolicyCompatibility.js +3 -1
  191. package/dist/compiler/moltnetRuntimeConfig.d.ts +1 -1
  192. package/dist/compiler/moltnetRuntimeConfig.js +22 -2
  193. package/dist/compiler/moltnetServerPlans.js +19 -0
  194. package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
  195. package/dist/compiler/organizationExternalParticipants.js +176 -0
  196. package/dist/compiler/organizationIdentity.d.ts +3 -9
  197. package/dist/compiler/organizationIdentity.js +37 -270
  198. package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
  199. package/dist/compiler/organizationIdentityGraph.js +115 -0
  200. package/dist/compiler/organizationReadyEvidence.d.ts +8 -0
  201. package/dist/compiler/organizationReadyEvidence.js +23 -3
  202. package/dist/compiler/preflightCompilePlan.d.ts +9 -0
  203. package/dist/compiler/preflightCompilePlan.js +38 -0
  204. package/dist/compiler/recordingAgentFacts.d.ts +4 -0
  205. package/dist/compiler/recordingAgentFacts.js +35 -0
  206. package/dist/compiler/recordingCapability.d.ts +4 -0
  207. package/dist/compiler/recordingCapability.js +22 -0
  208. package/dist/compiler/recordingReport.d.ts +4 -0
  209. package/dist/compiler/recordingReport.js +18 -0
  210. package/dist/compiler/runProject.d.ts +6 -3
  211. package/dist/compiler/runProject.js +34 -6
  212. package/dist/compiler/runProjectAuth.d.ts +3 -1
  213. package/dist/compiler/runProjectAuth.js +19 -3
  214. package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
  215. package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
  216. package/dist/compiler/runProjectDocker.d.ts +8 -4
  217. package/dist/compiler/runProjectDocker.js +43 -18
  218. package/dist/compiler/runProjectDockerDaimonGuards.d.ts +15 -0
  219. package/dist/compiler/runProjectDockerDaimonGuards.js +122 -0
  220. package/dist/compiler/runProjectDockerReservation.d.ts +3 -0
  221. package/dist/compiler/runProjectDockerReservation.js +118 -0
  222. package/dist/compiler/runProjectLifecycle.js +1 -1
  223. package/dist/compiler/surfaces.d.ts +1 -2
  224. package/dist/compiler/surfaces.js +0 -1
  225. package/dist/compiler/syncProjectAuth.js +2 -1
  226. package/dist/compiler/training/broker/clockProbe.d.ts +6 -0
  227. package/dist/compiler/training/broker/clockProbe.js +27 -0
  228. package/dist/compiler/training/broker/declaration.d.ts +47 -0
  229. package/dist/compiler/training/broker/declaration.js +57 -0
  230. package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
  231. package/dist/compiler/training/broker/entrypoint.js +126 -0
  232. package/dist/compiler/training/broker/evaluatorSecrets.d.ts +2 -0
  233. package/dist/compiler/training/broker/evaluatorSecrets.js +60 -0
  234. package/dist/compiler/training/broker/index.d.ts +11 -0
  235. package/dist/compiler/training/broker/index.js +11 -0
  236. package/dist/compiler/training/broker/main.d.ts +2 -0
  237. package/dist/compiler/training/broker/main.js +14 -0
  238. package/dist/compiler/training/broker/paths.d.ts +236 -0
  239. package/dist/compiler/training/broker/paths.js +249 -0
  240. package/dist/compiler/training/broker/processes.d.ts +51 -0
  241. package/dist/compiler/training/broker/processes.js +102 -0
  242. package/dist/compiler/training/broker/projection.d.ts +52 -0
  243. package/dist/compiler/training/broker/projection.js +88 -0
  244. package/dist/compiler/training/broker/provisioning.d.ts +78 -0
  245. package/dist/compiler/training/broker/provisioning.js +231 -0
  246. package/dist/compiler/training/broker/receipt.d.ts +77 -0
  247. package/dist/compiler/training/broker/receipt.js +110 -0
  248. package/dist/compiler/training/broker/registration.d.ts +43 -0
  249. package/dist/compiler/training/broker/registration.js +110 -0
  250. package/dist/compiler/training/broker/reset.d.ts +9 -0
  251. package/dist/compiler/training/broker/reset.js +71 -0
  252. package/dist/compiler/training/broker/runtime.d.ts +22 -0
  253. package/dist/compiler/training/broker/runtime.js +127 -0
  254. package/dist/compiler/training/broker/seccompRoutes.d.ts +31 -0
  255. package/dist/compiler/training/broker/seccompRoutes.js +36 -0
  256. package/dist/compiler/training/broker/supervisor.d.ts +108 -0
  257. package/dist/compiler/training/broker/supervisor.js +172 -0
  258. package/dist/compiler/training/broker/taskClock.d.ts +5 -0
  259. package/dist/compiler/training/broker/taskClock.js +41 -0
  260. package/dist/compiler/training/compiledAgent.d.ts +21 -0
  261. package/dist/compiler/training/compiledAgent.js +62 -0
  262. package/dist/compiler/training/container/contract.d.ts +54 -0
  263. package/dist/compiler/training/container/contract.js +51 -0
  264. package/dist/compiler/training/container/evaluators.d.ts +48 -0
  265. package/dist/compiler/training/container/evaluators.js +50 -0
  266. package/dist/compiler/training/container/grokWriteback.d.ts +8 -0
  267. package/dist/compiler/training/container/grokWriteback.js +26 -0
  268. package/dist/compiler/training/container/index.d.ts +5 -0
  269. package/dist/compiler/training/container/index.js +3 -0
  270. package/dist/compiler/training/container/launch.d.ts +21 -0
  271. package/dist/compiler/training/container/launch.js +264 -0
  272. package/dist/compiler/training/container/nativeSlots.d.ts +14 -0
  273. package/dist/compiler/training/container/nativeSlots.js +13 -0
  274. package/dist/compiler/training/container/outputCopy.d.ts +2 -0
  275. package/dist/compiler/training/container/outputCopy.js +72 -0
  276. package/dist/compiler/training/container/outputVolume.d.ts +27 -0
  277. package/dist/compiler/training/container/outputVolume.js +161 -0
  278. package/dist/compiler/training/container/prepare.d.ts +10 -0
  279. package/dist/compiler/training/container/prepare.js +125 -0
  280. package/dist/compiler/training/container/process.d.ts +14 -0
  281. package/dist/compiler/training/container/process.js +70 -0
  282. package/dist/compiler/training/container/security.d.ts +38 -0
  283. package/dist/compiler/training/container/security.js +68 -0
  284. package/dist/compiler/training/container/subjectIsolation.d.ts +5 -0
  285. package/dist/compiler/training/container/subjectIsolation.js +15 -0
  286. package/dist/compiler/training/context.d.ts +15 -0
  287. package/dist/compiler/training/context.js +93 -0
  288. package/dist/compiler/training/contract.d.ts +144 -0
  289. package/dist/compiler/training/contract.js +36 -0
  290. package/dist/compiler/training/execution.d.ts +417 -0
  291. package/dist/compiler/training/execution.js +160 -0
  292. package/dist/compiler/training/index.d.ts +12 -0
  293. package/dist/compiler/training/index.js +10 -0
  294. package/dist/compiler/training/moments.d.ts +80 -0
  295. package/dist/compiler/training/moments.js +118 -0
  296. package/dist/compiler/training/output.d.ts +2 -0
  297. package/dist/compiler/training/output.js +20 -0
  298. package/dist/compiler/training/plan/contract.d.ts +287 -0
  299. package/dist/compiler/training/plan/contract.js +49 -0
  300. package/dist/compiler/training/plan/index.d.ts +5 -0
  301. package/dist/compiler/training/plan/index.js +4 -0
  302. package/dist/compiler/training/plan/load.d.ts +9 -0
  303. package/dist/compiler/training/plan/load.js +153 -0
  304. package/dist/compiler/training/plan/references.d.ts +19 -0
  305. package/dist/compiler/training/plan/references.js +57 -0
  306. package/dist/compiler/training/plan/resolve.d.ts +4 -0
  307. package/dist/compiler/training/plan/resolve.js +73 -0
  308. package/dist/compiler/training/plan/targets.d.ts +11 -0
  309. package/dist/compiler/training/plan/targets.js +71 -0
  310. package/dist/compiler/training/plan/types.d.ts +36 -0
  311. package/dist/compiler/training/plan/types.js +1 -0
  312. package/dist/compiler/training/preparation/assets/Dockerfile +109 -0
  313. package/dist/compiler/training/preparation/assets/package-lock.json +3787 -0
  314. package/dist/compiler/training/preparation/broker.d.ts +21 -0
  315. package/dist/compiler/training/preparation/broker.js +45 -0
  316. package/dist/compiler/training/preparation/contextModes.d.ts +12 -0
  317. package/dist/compiler/training/preparation/contextModes.js +38 -0
  318. package/dist/compiler/training/preparation/contract.d.ts +207 -0
  319. package/dist/compiler/training/preparation/contract.js +113 -0
  320. package/dist/compiler/training/preparation/copyAssets.d.ts +1 -0
  321. package/dist/compiler/training/preparation/copyAssets.js +8 -0
  322. package/dist/compiler/training/preparation/daimonParent.d.ts +42 -0
  323. package/dist/compiler/training/preparation/daimonParent.js +114 -0
  324. package/dist/compiler/training/preparation/files.d.ts +29 -0
  325. package/dist/compiler/training/preparation/files.js +146 -0
  326. package/dist/compiler/training/preparation/image.d.ts +28 -0
  327. package/dist/compiler/training/preparation/image.js +107 -0
  328. package/dist/compiler/training/preparation/index.d.ts +3 -0
  329. package/dist/compiler/training/preparation/index.js +2 -0
  330. package/dist/compiler/training/preparation/inputs.d.ts +24 -0
  331. package/dist/compiler/training/preparation/inputs.js +101 -0
  332. package/dist/compiler/training/preparation/prepare.d.ts +38 -0
  333. package/dist/compiler/training/preparation/prepare.js +223 -0
  334. package/dist/compiler/training/preparation/scratch.d.ts +8 -0
  335. package/dist/compiler/training/preparation/scratch.js +114 -0
  336. package/dist/compiler/training/repair/compatibility.d.ts +11 -0
  337. package/dist/compiler/training/repair/compatibility.js +34 -0
  338. package/dist/compiler/training/repair/contract.d.ts +840 -0
  339. package/dist/compiler/training/repair/contract.js +33 -0
  340. package/dist/compiler/training/repair/index.d.ts +3 -0
  341. package/dist/compiler/training/repair/index.js +3 -0
  342. package/dist/compiler/training/repair/prepare.d.ts +382 -0
  343. package/dist/compiler/training/repair/prepare.js +78 -0
  344. package/dist/compiler/training/repair/witness.d.ts +352 -0
  345. package/dist/compiler/training/repair/witness.js +48 -0
  346. package/dist/compiler/training/resolution.d.ts +25 -0
  347. package/dist/compiler/training/resolution.js +69 -0
  348. package/dist/compiler/training/rewind/contract.d.ts +321 -0
  349. package/dist/compiler/training/rewind/contract.js +39 -0
  350. package/dist/compiler/training/rewind/deployedResource.d.ts +22 -0
  351. package/dist/compiler/training/rewind/deployedResource.js +19 -0
  352. package/dist/compiler/training/rewind/feed.d.ts +12 -0
  353. package/dist/compiler/training/rewind/feed.js +182 -0
  354. package/dist/compiler/training/rewind/feedContent.d.ts +6 -0
  355. package/dist/compiler/training/rewind/feedContent.js +38 -0
  356. package/dist/compiler/training/rewind/git.d.ts +8 -0
  357. package/dist/compiler/training/rewind/git.js +159 -0
  358. package/dist/compiler/training/rewind/gitArchive.d.ts +2 -0
  359. package/dist/compiler/training/rewind/gitArchive.js +7 -0
  360. package/dist/compiler/training/rewind/gitHistory.d.ts +3 -0
  361. package/dist/compiler/training/rewind/gitHistory.js +55 -0
  362. package/dist/compiler/training/rewind/gitProcess.d.ts +19 -0
  363. package/dist/compiler/training/rewind/gitProcess.js +81 -0
  364. package/dist/compiler/training/rewind/gitTree.d.ts +14 -0
  365. package/dist/compiler/training/rewind/gitTree.js +90 -0
  366. package/dist/compiler/training/rewind/history.d.ts +28 -0
  367. package/dist/compiler/training/rewind/history.js +239 -0
  368. package/dist/compiler/training/rewind/index.d.ts +18 -0
  369. package/dist/compiler/training/rewind/index.js +15 -0
  370. package/dist/compiler/training/rewind/inputs.d.ts +9 -0
  371. package/dist/compiler/training/rewind/inputs.js +67 -0
  372. package/dist/compiler/training/rewind/instant.d.ts +4 -0
  373. package/dist/compiler/training/rewind/instant.js +24 -0
  374. package/dist/compiler/training/rewind/leakCheck.d.ts +10 -0
  375. package/dist/compiler/training/rewind/leakCheck.js +56 -0
  376. package/dist/compiler/training/rewind/leakFeed.d.ts +5 -0
  377. package/dist/compiler/training/rewind/leakFeed.js +25 -0
  378. package/dist/compiler/training/rewind/leakFiles.d.ts +10 -0
  379. package/dist/compiler/training/rewind/leakFiles.js +106 -0
  380. package/dist/compiler/training/rewind/leakGit.d.ts +3 -0
  381. package/dist/compiler/training/rewind/leakGit.js +78 -0
  382. package/dist/compiler/training/rewind/leakGitPayload.d.ts +4 -0
  383. package/dist/compiler/training/rewind/leakGitPayload.js +57 -0
  384. package/dist/compiler/training/rewind/leakInputs.d.ts +7 -0
  385. package/dist/compiler/training/rewind/leakInputs.js +135 -0
  386. package/dist/compiler/training/rewind/leakLayout.d.ts +2 -0
  387. package/dist/compiler/training/rewind/leakLayout.js +17 -0
  388. package/dist/compiler/training/rewind/leakProvenance.d.ts +3 -0
  389. package/dist/compiler/training/rewind/leakProvenance.js +88 -0
  390. package/dist/compiler/training/rewind/materialize.d.ts +136 -0
  391. package/dist/compiler/training/rewind/materialize.js +212 -0
  392. package/dist/compiler/training/rewind/memory.d.ts +10 -0
  393. package/dist/compiler/training/rewind/memory.js +84 -0
  394. package/dist/compiler/training/rewind/memorySchemas.d.ts +87 -0
  395. package/dist/compiler/training/rewind/memorySchemas.js +50 -0
  396. package/dist/compiler/training/rewind/moltnet.d.ts +2 -0
  397. package/dist/compiler/training/rewind/moltnet.js +54 -0
  398. package/dist/compiler/training/rewind/moltnetJson.d.ts +13 -0
  399. package/dist/compiler/training/rewind/moltnetJson.js +180 -0
  400. package/dist/compiler/training/rewind/moltnetSchemas.d.ts +1226 -0
  401. package/dist/compiler/training/rewind/moltnetSchemas.js +75 -0
  402. package/dist/compiler/training/rewind/moltnetSqlite.d.ts +31 -0
  403. package/dist/compiler/training/rewind/moltnetSqlite.js +192 -0
  404. package/dist/compiler/training/rewind/moltnetSqliteData.d.ts +10 -0
  405. package/dist/compiler/training/rewind/moltnetSqliteData.js +113 -0
  406. package/dist/compiler/training/rewind/recordInput.d.ts +40 -0
  407. package/dist/compiler/training/rewind/recordInput.js +49 -0
  408. package/dist/compiler/training/rewind/recordedBundle.d.ts +4 -0
  409. package/dist/compiler/training/rewind/recordedBundle.js +58 -0
  410. package/dist/compiler/training/rewind/recordedCommit.d.ts +2 -0
  411. package/dist/compiler/training/rewind/recordedCommit.js +10 -0
  412. package/dist/compiler/training/rewind/select.d.ts +18 -0
  413. package/dist/compiler/training/rewind/select.js +64 -0
  414. package/dist/compiler/training/rewind/snapshotManifest.d.ts +42 -0
  415. package/dist/compiler/training/rewind/snapshotManifest.js +134 -0
  416. package/dist/compiler/training/rewind/taskClock.d.ts +12 -0
  417. package/dist/compiler/training/rewind/taskClock.js +40 -0
  418. package/dist/compiler/training/rewind/timestamps.d.ts +4 -0
  419. package/dist/compiler/training/rewind/timestamps.js +26 -0
  420. package/dist/compiler/training/rewind/types.d.ts +43 -0
  421. package/dist/compiler/training/rewind/types.js +1 -0
  422. package/dist/compiler/training/rewind/volumes.d.ts +12 -0
  423. package/dist/compiler/training/rewind/volumes.js +58 -0
  424. package/dist/compiler/training/selection.d.ts +7 -0
  425. package/dist/compiler/training/selection.js +15 -0
  426. package/dist/compiler/types.d.ts +7 -2
  427. package/dist/compiler/upProject.d.ts +27 -1
  428. package/dist/compiler/upProject.js +135 -180
  429. package/dist/compiler/upProjectHandoff.d.ts +62 -0
  430. package/dist/compiler/upProjectHandoff.js +204 -0
  431. package/dist/compiler/upReceipt.js +49 -4
  432. package/dist/compiler/updateProjectModels.js +1 -0
  433. package/dist/compiler/view/types.d.ts +1 -1
  434. package/dist/compiler/workspaceBundleArtifacts.d.ts +18 -0
  435. package/dist/compiler/workspaceBundleArtifacts.js +155 -0
  436. package/dist/compiler/workspaceBundleCache.d.ts +23 -0
  437. package/dist/compiler/workspaceBundleCache.js +79 -0
  438. package/dist/compiler/workspaceBundleDependencies.d.ts +21 -0
  439. package/dist/compiler/workspaceBundleDependencies.js +122 -0
  440. package/dist/compiler/workspaceBundleFiles.d.ts +51 -0
  441. package/dist/compiler/workspaceBundleFiles.js +251 -0
  442. package/dist/compiler/workspaceBundleGenerated.d.ts +25 -0
  443. package/dist/compiler/workspaceBundleGenerated.js +103 -0
  444. package/dist/compiler/workspaceBundleGit.d.ts +64 -0
  445. package/dist/compiler/workspaceBundleGit.js +154 -0
  446. package/dist/compiler/workspaceBundleKey.d.ts +34 -0
  447. package/dist/compiler/workspaceBundleKey.js +17 -0
  448. package/dist/compiler/workspaceBundleResolve.d.ts +56 -0
  449. package/dist/compiler/workspaceBundleResolve.js +144 -0
  450. package/dist/compiler/workspaceBundleRun.d.ts +41 -0
  451. package/dist/compiler/workspaceBundleRun.js +79 -0
  452. package/dist/compiler/workspaceBundleTar.d.ts +47 -0
  453. package/dist/compiler/workspaceBundleTar.js +140 -0
  454. package/dist/compiler/workspaceBundleTree.d.ts +15 -0
  455. package/dist/compiler/workspaceBundleTree.js +58 -0
  456. package/dist/compiler/workspaceGitFetch.d.ts +41 -0
  457. package/dist/compiler/workspaceGitFetch.js +155 -0
  458. package/dist/compiler/workspaceGitPins.d.ts +33 -0
  459. package/dist/compiler/workspaceGitPins.js +127 -0
  460. package/dist/compiler/workspaceResources.d.ts +9 -2
  461. package/dist/compiler/workspaceResources.js +39 -7
  462. package/dist/deployment/activation.d.ts +3 -0
  463. package/dist/deployment/activation.js +12 -0
  464. package/dist/deployment/artifactsExportPlan.js +51 -1
  465. package/dist/deployment/canaryCutover.d.ts +42 -0
  466. package/dist/deployment/canaryCutover.js +140 -0
  467. package/dist/deployment/candidateDiagnostics.d.ts +15 -0
  468. package/dist/deployment/candidateDiagnostics.js +90 -0
  469. package/dist/deployment/candidateRecording.d.ts +8 -0
  470. package/dist/deployment/candidateRecording.js +22 -0
  471. package/dist/deployment/dockerLogs.js +4 -1
  472. package/dist/deployment/dockerManager.d.ts +5 -3
  473. package/dist/deployment/dockerManager.js +21 -5
  474. package/dist/deployment/dockerProbeGateway.d.ts +17 -0
  475. package/dist/deployment/dockerProbeGateway.js +17 -2
  476. package/dist/deployment/downDeployment.d.ts +7 -0
  477. package/dist/deployment/downDeployment.js +114 -9
  478. package/dist/deployment/downReceiptTypes.d.ts +17 -2
  479. package/dist/deployment/downReceiptTypes.js +17 -2
  480. package/dist/deployment/homeStore.d.ts +9 -1
  481. package/dist/deployment/homeStore.js +16 -53
  482. package/dist/deployment/index.d.ts +10 -0
  483. package/dist/deployment/index.js +10 -0
  484. package/dist/deployment/lifecycleCompletionContracts.d.ts +66 -0
  485. package/dist/deployment/lifecycleCompletionContracts.js +34 -0
  486. package/dist/deployment/lifecycleCompletionPaths.d.ts +4 -1
  487. package/dist/deployment/lifecycleCompletionPaths.js +3 -0
  488. package/dist/deployment/lifecycleCompletionPublication.d.ts +2 -0
  489. package/dist/deployment/lifecycleCompletionPublication.js +18 -4
  490. package/dist/deployment/lifecycleCompletionStore.d.ts +1 -1
  491. package/dist/deployment/lifecycleCompletionStore.js +7 -7
  492. package/dist/deployment/lifecycleUpRecords.d.ts +11 -0
  493. package/dist/deployment/lifecycleUpRecords.js +127 -0
  494. package/dist/deployment/native/AGENTS.md +11 -0
  495. package/dist/deployment/native/rename-noreplace-arm64 +0 -0
  496. package/dist/deployment/native/rename-noreplace-arm64.provenance.json +1 -0
  497. package/dist/deployment/native/rename-noreplace-x64 +0 -0
  498. package/dist/deployment/native/rename-noreplace-x64.provenance.json +1 -0
  499. package/dist/deployment/noReplaceActivation.d.ts +17 -0
  500. package/dist/deployment/noReplaceActivation.js +50 -0
  501. package/dist/deployment/organizationHandoffAuthorityFsBudget.d.ts +110 -0
  502. package/dist/deployment/organizationHandoffAuthorityFsBudget.js +156 -0
  503. package/dist/deployment/organizationHandoffAuthorityFsClient.js +82 -27
  504. package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
  505. package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
  506. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +254 -108
  507. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
  508. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
  509. package/dist/deployment/organizationHandoffAuthorityStore.js +14 -7
  510. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +2 -2
  511. package/dist/deployment/organizationHandoffAuthorityTypes.js +2 -1
  512. package/dist/deployment/organizationReady.d.ts +2 -0
  513. package/dist/deployment/organizationReady.js +36 -4
  514. package/dist/deployment/pidLock.d.ts +25 -0
  515. package/dist/deployment/pidLock.js +81 -0
  516. package/dist/deployment/productStateClone.d.ts +43 -0
  517. package/dist/deployment/productStateClone.js +319 -0
  518. package/dist/deployment/record.d.ts +85 -1
  519. package/dist/deployment/record.js +11 -5
  520. package/dist/deployment/recordPublication.d.ts +15 -0
  521. package/dist/deployment/recordPublication.js +76 -0
  522. package/dist/deployment/recordedMemoryRetention.d.ts +18 -0
  523. package/dist/deployment/recordedMemoryRetention.js +27 -0
  524. package/dist/deployment/resourceLog.d.ts +140 -0
  525. package/dist/deployment/resourceLog.js +78 -0
  526. package/dist/deployment/upLifecycleRecoveryState.d.ts +23 -0
  527. package/dist/deployment/upLifecycleRecoveryState.js +12 -0
  528. package/dist/deployment/upReceiptTypes.d.ts +32 -6
  529. package/dist/deployment/upReceiptTypes.js +29 -2
  530. package/dist/deployment/workspaceResourceMigration.d.ts +55 -0
  531. package/dist/deployment/workspaceResourceMigration.js +315 -0
  532. package/dist/dev/project.d.ts +7 -0
  533. package/dist/dev/project.js +9 -0
  534. package/dist/distribution/buildDistributionReport.d.ts +3 -0
  535. package/dist/distribution/buildDistributionReport.js +5 -0
  536. package/dist/distribution/consumeImage.d.ts +5 -0
  537. package/dist/distribution/consumeImage.js +115 -98
  538. package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
  539. package/dist/distribution/consumeImageDaimonDocker.js +45 -0
  540. package/dist/distribution/consumeImageLifecycle.d.ts +20 -0
  541. package/dist/distribution/consumeImageLifecycle.js +242 -0
  542. package/dist/distribution/consumeImageSupport.d.ts +19 -0
  543. package/dist/distribution/consumeImageSupport.js +40 -0
  544. package/dist/distribution/distributionReportSchema.d.ts +58 -1
  545. package/dist/distribution/distributionReportSchema.js +35 -2
  546. package/dist/distribution/dockerRunner.d.ts +6 -1
  547. package/dist/distribution/dockerRunner.js +31 -4
  548. package/dist/distribution/imageRuntimeAuth.d.ts +9 -1
  549. package/dist/distribution/imageRuntimeAuth.js +70 -1
  550. package/dist/distribution/index.d.ts +1 -1
  551. package/dist/distribution/index.js +1 -1
  552. package/dist/distribution/preflight.js +5 -1
  553. package/dist/distribution/renderImageInterface.js +1 -1
  554. package/dist/distribution/types.d.ts +29 -1
  555. package/dist/distribution/types.js +3 -0
  556. package/dist/evidenceExportHelper/boundedExecutor.d.ts +3 -0
  557. package/dist/evidenceExportHelper/boundedExecutor.js +33 -0
  558. package/dist/evidenceExportHelper/helperProgram.mjs +156 -0
  559. package/dist/evidenceExportHelper/index.d.ts +4 -0
  560. package/dist/evidenceExportHelper/index.js +4 -0
  561. package/dist/evidenceExportHelper/preparedAuthority.d.ts +64 -0
  562. package/dist/evidenceExportHelper/preparedAuthority.js +228 -0
  563. package/dist/evidenceExportHelper/preparedBuilder.d.ts +10 -0
  564. package/dist/evidenceExportHelper/preparedBuilder.js +183 -0
  565. package/dist/evidenceExportHelper/preparedBuilderTypes.d.ts +19 -0
  566. package/dist/evidenceExportHelper/preparedBuilderTypes.js +1 -0
  567. package/dist/evidenceExportHelper/recipe.d.ts +7 -0
  568. package/dist/evidenceExportHelper/recipe.js +83 -0
  569. package/dist/filesystem/durableWrite.d.ts +10 -0
  570. package/dist/filesystem/durableWrite.js +87 -0
  571. package/dist/filesystem/index.d.ts +2 -0
  572. package/dist/filesystem/index.js +2 -0
  573. package/dist/filesystem/io.d.ts +2 -0
  574. package/dist/filesystem/io.js +16 -1
  575. package/dist/filesystem/retainedJsonl.d.ts +23 -0
  576. package/dist/filesystem/retainedJsonl.js +123 -0
  577. package/dist/manifest/commandSchemas.d.ts +5 -0
  578. package/dist/manifest/commandSchemas.js +5 -0
  579. package/dist/manifest/executionSchemas.d.ts +47 -0
  580. package/dist/manifest/executionSchemas.js +31 -2
  581. package/dist/manifest/index.d.ts +2 -0
  582. package/dist/manifest/index.js +2 -0
  583. package/dist/manifest/loadManifest.js +3 -26
  584. package/dist/manifest/mcpSchemas.d.ts +62 -0
  585. package/dist/manifest/mcpSchemas.js +57 -8
  586. package/dist/manifest/memorySchemas.d.ts +1 -1
  587. package/dist/manifest/memorySchemas.js +1 -1
  588. package/dist/manifest/parseManifest.d.ts +7 -0
  589. package/dist/manifest/parseManifest.js +65 -0
  590. package/dist/manifest/renderSpawnfile.js +4 -1
  591. package/dist/manifest/renderSpawnfileNetworks.js +11 -0
  592. package/dist/manifest/renderSpawnfileWorkspace.js +10 -1
  593. package/dist/manifest/scheduleSchemas.d.ts +3 -1
  594. package/dist/manifest/scheduleSchemas.js +91 -5
  595. package/dist/manifest/schemas.d.ts +1419 -120
  596. package/dist/manifest/schemas.js +19 -6
  597. package/dist/manifest/teamNetworkAccessSchemas.d.ts +5 -1
  598. package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
  599. package/dist/manifest/teamNetworkAuthSchemas.d.ts +1 -1
  600. package/dist/manifest/teamNetworkSchemas.d.ts +18 -4
  601. package/dist/manifest/teamNetworkSchemas.js +19 -1
  602. package/dist/manifest/teamNetworkServerSchemas.d.ts +8 -3
  603. package/dist/manifest/teamNetworkServerSchemas.js +18 -2
  604. package/dist/manifest/trainingDataSchemas.d.ts +357 -0
  605. package/dist/manifest/trainingDataSchemas.js +31 -0
  606. package/dist/manifest/trainingSchemas.d.ts +49 -0
  607. package/dist/manifest/trainingSchemas.js +44 -0
  608. package/dist/manifest/volumeFeedSchemas.d.ts +52 -0
  609. package/dist/manifest/volumeFeedSchemas.js +104 -0
  610. package/dist/manifest/workspaceSchemas.d.ts +194 -1
  611. package/dist/manifest/workspaceSchemas.js +117 -2
  612. package/dist/recording/compose.d.ts +3 -0
  613. package/dist/recording/compose.js +93 -0
  614. package/dist/recording/deployment.d.ts +15 -0
  615. package/dist/recording/deployment.js +38 -0
  616. package/dist/recording/history.d.ts +16 -0
  617. package/dist/recording/history.js +47 -0
  618. package/dist/recording/index.d.ts +9 -0
  619. package/dist/recording/index.js +9 -0
  620. package/dist/recording/moment.d.ts +61 -0
  621. package/dist/recording/moment.js +36 -0
  622. package/dist/recording/parse.d.ts +15 -0
  623. package/dist/recording/parse.js +74 -0
  624. package/dist/recording/read.d.ts +8 -0
  625. package/dist/recording/read.js +61 -0
  626. package/dist/recording/store.d.ts +10 -0
  627. package/dist/recording/store.js +94 -0
  628. package/dist/recording/sync.d.ts +24 -0
  629. package/dist/recording/sync.js +126 -0
  630. package/dist/recording/types.d.ts +45 -0
  631. package/dist/recording/types.js +2 -0
  632. package/dist/release/drainControl.d.ts +54 -0
  633. package/dist/release/drainControl.js +137 -0
  634. package/dist/release/drainPhase.d.ts +37 -0
  635. package/dist/release/drainPhase.js +161 -0
  636. package/dist/release/index.d.ts +11 -0
  637. package/dist/release/index.js +11 -0
  638. package/dist/release/ledger.d.ts +75 -0
  639. package/dist/release/ledger.js +111 -0
  640. package/dist/release/notify.d.ts +58 -0
  641. package/dist/release/notify.js +126 -0
  642. package/dist/release/pending.d.ts +35 -0
  643. package/dist/release/pending.js +60 -0
  644. package/dist/release/postDeploy.d.ts +32 -0
  645. package/dist/release/postDeploy.js +62 -0
  646. package/dist/release/releaseDefaults.d.ts +9 -0
  647. package/dist/release/releaseDefaults.js +115 -0
  648. package/dist/release/releaseDocker.d.ts +38 -0
  649. package/dist/release/releaseDocker.js +94 -0
  650. package/dist/release/releaseTypes.d.ts +94 -0
  651. package/dist/release/releaseTypes.js +1 -0
  652. package/dist/release/runRelease.d.ts +9 -0
  653. package/dist/release/runRelease.js +218 -0
  654. package/dist/release/swap.d.ts +23 -0
  655. package/dist/release/swap.js +55 -0
  656. package/dist/release/types.d.ts +50 -0
  657. package/dist/release/types.js +29 -0
  658. package/dist/report/index.d.ts +1 -0
  659. package/dist/report/index.js +1 -0
  660. package/dist/report/recording.d.ts +57 -0
  661. package/dist/report/recording.js +26 -0
  662. package/dist/report/types.d.ts +92 -4
  663. package/dist/runtime/common.d.ts +28 -1
  664. package/dist/runtime/common.js +33 -3
  665. package/dist/runtime/container.js +46 -35
  666. package/dist/runtime/daimon/adapter.d.ts +14 -0
  667. package/dist/runtime/daimon/adapter.js +254 -0
  668. package/dist/runtime/daimon/attention.d.ts +8 -0
  669. package/dist/runtime/daimon/attention.js +32 -0
  670. package/dist/runtime/daimon/config.d.ts +29 -0
  671. package/dist/runtime/daimon/config.js +321 -0
  672. package/dist/runtime/daimon/contract-manifest.json +1 -0
  673. package/dist/runtime/daimon/contract-manifest.sha256 +1 -0
  674. package/dist/runtime/daimon/contractManifest.d.ts +346 -0
  675. package/dist/runtime/daimon/contractManifest.js +335 -0
  676. package/dist/runtime/daimon/grokModel.d.ts +19 -0
  677. package/dist/runtime/daimon/grokModel.js +33 -0
  678. package/dist/runtime/daimon/grokTurnLimits.d.ts +25 -0
  679. package/dist/runtime/daimon/grokTurnLimits.js +51 -0
  680. package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +43 -0
  681. package/dist/runtime/daimon/grokWorkerConfigBytes.js +53 -0
  682. package/dist/runtime/daimon/grokWorkerContract.d.ts +27 -0
  683. package/dist/runtime/daimon/grokWorkerContract.js +60 -0
  684. package/dist/runtime/daimon/memory.d.ts +57 -0
  685. package/dist/runtime/daimon/memory.js +125 -0
  686. package/dist/runtime/daimon/recording.d.ts +19 -0
  687. package/dist/runtime/daimon/recording.js +50 -0
  688. package/dist/runtime/daimon/runAuth.d.ts +51 -0
  689. package/dist/runtime/daimon/runAuth.js +279 -0
  690. package/dist/runtime/daimon/runtimeIdentity.d.ts +22 -0
  691. package/dist/runtime/daimon/runtimeIdentity.js +22 -0
  692. package/dist/runtime/daimon/scheduleAuthority.d.ts +11 -0
  693. package/dist/runtime/daimon/scheduleAuthority.js +31 -0
  694. package/dist/runtime/daimon/wakeMoments.d.ts +15 -0
  695. package/dist/runtime/daimon/wakeMoments.js +17 -0
  696. package/dist/runtime/daimonInstall.d.ts +3 -0
  697. package/dist/runtime/daimonInstall.js +25 -0
  698. package/dist/runtime/index.d.ts +5 -0
  699. package/dist/runtime/index.js +5 -0
  700. package/dist/runtime/install.d.ts +5 -0
  701. package/dist/runtime/install.js +4 -0
  702. package/dist/runtime/localDaimonAuthority.d.ts +11 -0
  703. package/dist/runtime/localDaimonAuthority.js +77 -0
  704. package/dist/runtime/mnemeMcp.d.ts +13 -0
  705. package/dist/runtime/mnemeMcp.js +26 -0
  706. package/dist/runtime/openclaw/adapter.js +5 -2
  707. package/dist/runtime/pi/adapter.d.ts +0 -1
  708. package/dist/runtime/pi/adapter.js +5 -6
  709. package/dist/runtime/pi/appCliSource.js +1 -1
  710. package/dist/runtime/pi/appScheduleSource.js +6 -2
  711. package/dist/runtime/pi/appTemplateTypes.d.ts +1 -1
  712. package/dist/runtime/pi/containerTargets.js +6 -0
  713. package/dist/runtime/picoclaw/adapter.js +5 -2
  714. package/dist/runtime/registry.d.ts +6 -0
  715. package/dist/runtime/registry.js +32 -3
  716. package/dist/runtime/scheduleUtils.d.ts +1 -0
  717. package/dist/runtime/scheduleUtils.js +5 -1
  718. package/dist/runtime/types.d.ts +40 -0
  719. package/dist/runtime/usageLedger.d.ts +158 -0
  720. package/dist/runtime/usageLedger.js +269 -0
  721. package/dist/runtime/usageLedgerRead.d.ts +54 -0
  722. package/dist/runtime/usageLedgerRead.js +102 -0
  723. package/dist/runtime/usageRequestLedger.d.ts +42 -0
  724. package/dist/runtime/usageRequestLedger.js +72 -0
  725. package/dist/shared/daimonCodexDocker.d.ts +32 -0
  726. package/dist/shared/daimonCodexDocker.js +120 -0
  727. package/dist/shared/daimonGrokSeccompProfile.d.ts +10 -0
  728. package/dist/shared/daimonGrokSeccompProfile.js +11 -0
  729. package/dist/shared/index.d.ts +3 -0
  730. package/dist/shared/index.js +3 -0
  731. package/dist/shared/recording.d.ts +8 -0
  732. package/dist/shared/recording.js +25 -0
  733. package/dist/shared/types.d.ts +1 -1
  734. package/dist/shared/volumeNames.d.ts +6 -0
  735. package/dist/shared/volumeNames.js +14 -0
  736. package/dist/target/dockerArtifactsProvider.js +34 -7
  737. package/dist/target/dockerBaseImage.d.ts +2 -0
  738. package/dist/target/dockerBaseImage.js +11 -0
  739. package/dist/target/dockerCommandExecutor.d.ts +11 -0
  740. package/dist/target/dockerCommandExecutor.js +53 -2
  741. package/dist/target/dockerCommandExecutorCore.d.ts +2 -1
  742. package/dist/target/dockerCommandExecutorCore.js +5 -3
  743. package/dist/target/dockerPublicArtifactSnapshot.d.ts +3 -3
  744. package/dist/target/dockerPublicArtifactSnapshot.js +17 -33
  745. package/dist/target/dockerTarget.d.ts +1 -0
  746. package/dist/target/dockerTargetBinding.d.ts +1 -2
  747. package/dist/target/dockerTargetBinding.js +4 -4
  748. package/dist/target/dockerTargetExecFile.d.ts +19 -0
  749. package/dist/target/dockerTargetExecFile.js +194 -0
  750. package/dist/target/dockerWorldServiceProvider.d.ts +4 -0
  751. package/dist/target/dockerWorldServiceProvider.js +13 -1
  752. package/dist/target/evidenceExport.d.ts +3 -1
  753. package/dist/target/evidenceExport.js +12 -3
  754. package/dist/target/evidenceExportOperationsTestKit.js +3 -3
  755. package/dist/target/evidenceExportProvider.d.ts +2 -0
  756. package/dist/target/evidenceExportProvider.js +15 -5
  757. package/dist/target/publicArtifactSnapshot.d.ts +31 -0
  758. package/dist/target/publicArtifactSnapshot.js +37 -3
  759. package/dist/volume/feedLand.d.ts +31 -0
  760. package/dist/volume/feedLand.js +174 -0
  761. package/dist/volume/feedLandings.d.ts +45 -0
  762. package/dist/volume/feedLandings.js +111 -0
  763. package/dist/volume/feedLayout.d.ts +61 -0
  764. package/dist/volume/feedLayout.js +234 -0
  765. package/dist/volume/feedLock.d.ts +7 -0
  766. package/dist/volume/feedLock.js +131 -0
  767. package/dist/volume/feedManifest.d.ts +27 -0
  768. package/dist/volume/feedManifest.js +123 -0
  769. package/dist/volume/feedPrepare.d.ts +16 -0
  770. package/dist/volume/feedPrepare.js +228 -0
  771. package/dist/volume/feedProject.d.ts +39 -0
  772. package/dist/volume/feedProject.js +92 -0
  773. package/dist/volume/feedRecord.d.ts +55 -0
  774. package/dist/volume/feedRecord.js +148 -0
  775. package/dist/volume/feedRef.d.ts +43 -0
  776. package/dist/volume/feedRef.js +117 -0
  777. package/dist/volume/feedRefresh.d.ts +15 -0
  778. package/dist/volume/feedRefresh.js +187 -0
  779. package/dist/volume/feedSource.d.ts +66 -0
  780. package/dist/volume/feedSource.js +104 -0
  781. package/dist/volume/feedTarget.d.ts +70 -0
  782. package/dist/volume/feedTarget.js +9 -0
  783. package/dist/volume/feedTestKit.d.ts +11 -0
  784. package/dist/volume/feedTestKit.js +45 -0
  785. package/dist/volume/feedVerify.d.ts +18 -0
  786. package/dist/volume/feedVerify.js +104 -0
  787. package/dist/volume/index.d.ts +13 -0
  788. package/dist/volume/index.js +13 -0
  789. package/examples/README.md +45 -0
  790. package/examples/agent-with-subagents/AGENTS.md +3 -0
  791. package/examples/agent-with-subagents/Spawnfile +30 -0
  792. package/examples/agent-with-subagents/subagents/critic/AGENTS.md +3 -0
  793. package/examples/agent-with-subagents/subagents/critic/Spawnfile +15 -0
  794. package/examples/agent-with-subagents/subagents/researcher/AGENTS.md +3 -0
  795. package/examples/agent-with-subagents/subagents/researcher/Spawnfile +17 -0
  796. package/examples/daimon-org/Spawnfile +68 -0
  797. package/examples/daimon-org/TEAM.md +4 -0
  798. package/examples/daimon-org/agents/mapper/AGENTS.md +4 -0
  799. package/examples/daimon-org/agents/mapper/Spawnfile +37 -0
  800. package/examples/daimon-org/shared/skills/file-note/SKILL.md +9 -0
  801. package/examples/daimon-org/teams/review/Spawnfile +53 -0
  802. package/examples/daimon-org/teams/review/agents/reviewer/AGENTS.md +4 -0
  803. package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +37 -0
  804. package/examples/daimon-public-host/AGENTS.md +3 -0
  805. package/examples/daimon-public-host/Spawnfile +21 -0
  806. package/examples/distribution-org/Spawnfile +43 -0
  807. package/examples/distribution-org/TEAM.md +4 -0
  808. package/examples/distribution-org/agents/coordinator/AGENTS.md +1 -0
  809. package/examples/distribution-org/agents/coordinator/Spawnfile +20 -0
  810. package/examples/distribution-org/agents/researcher/AGENTS.md +1 -0
  811. package/examples/distribution-org/agents/researcher/Spawnfile +20 -0
  812. package/examples/jungian-daimon-org/Spawnfile +41 -0
  813. package/examples/jungian-daimon-org/TEAM.md +21 -0
  814. package/examples/jungian-daimon-org/teams/luna/Spawnfile +47 -0
  815. package/examples/jungian-daimon-org/teams/luna/TEAM.md +4 -0
  816. package/examples/jungian-daimon-org/teams/luna/agents/animus/AGENTS.md +10 -0
  817. package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +33 -0
  818. package/examples/jungian-daimon-org/teams/luna/agents/representative/AGENTS.md +21 -0
  819. package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +30 -0
  820. package/examples/jungian-daimon-org/teams/luna/agents/shadow/AGENTS.md +10 -0
  821. package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +33 -0
  822. package/examples/jungian-daimon-org/teams/selene/Spawnfile +47 -0
  823. package/examples/jungian-daimon-org/teams/selene/TEAM.md +4 -0
  824. package/examples/jungian-daimon-org/teams/selene/agents/animus/AGENTS.md +10 -0
  825. package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +33 -0
  826. package/examples/jungian-daimon-org/teams/selene/agents/representative/AGENTS.md +19 -0
  827. package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +33 -0
  828. package/examples/jungian-daimon-org/teams/selene/agents/shadow/AGENTS.md +10 -0
  829. package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +30 -0
  830. package/examples/mixed-runtime-org/Spawnfile +71 -0
  831. package/examples/mixed-runtime-org/TEAM.md +8 -0
  832. package/examples/mixed-runtime-org/agents/analyst/AGENTS.md +8 -0
  833. package/examples/mixed-runtime-org/agents/analyst/Spawnfile +27 -0
  834. package/examples/mixed-runtime-org/agents/conductor/AGENTS.md +8 -0
  835. package/examples/mixed-runtime-org/agents/conductor/Spawnfile +27 -0
  836. package/examples/mixed-runtime-org/agents/localist/AGENTS.md +7 -0
  837. package/examples/mixed-runtime-org/agents/localist/Spawnfile +50 -0
  838. package/examples/moltnet-team-chat/Spawnfile +43 -0
  839. package/examples/moltnet-team-chat/TEAM.md +5 -0
  840. package/examples/moltnet-team-chat/agents/coordinator/AGENTS.md +9 -0
  841. package/examples/moltnet-team-chat/agents/coordinator/Spawnfile +26 -0
  842. package/examples/moltnet-team-chat/teams/analysis/Spawnfile +23 -0
  843. package/examples/moltnet-team-chat/teams/analysis/TEAM.md +3 -0
  844. package/examples/moltnet-team-chat/teams/analysis/agents/observer/AGENTS.md +5 -0
  845. package/examples/moltnet-team-chat/teams/analysis/agents/observer/Spawnfile +19 -0
  846. package/examples/moltnet-team-chat/teams/analysis/agents/representative/AGENTS.md +5 -0
  847. package/examples/moltnet-team-chat/teams/analysis/agents/representative/Spawnfile +19 -0
  848. package/examples/moltnet-team-chat/teams/field/Spawnfile +41 -0
  849. package/examples/moltnet-team-chat/teams/field/TEAM.md +3 -0
  850. package/examples/moltnet-team-chat/teams/field/agents/observer/AGENTS.md +5 -0
  851. package/examples/moltnet-team-chat/teams/field/agents/observer/Spawnfile +26 -0
  852. package/examples/moltnet-team-chat/teams/field/agents/representative/AGENTS.md +11 -0
  853. package/examples/moltnet-team-chat/teams/field/agents/representative/Spawnfile +26 -0
  854. package/examples/single-agent/AGENTS.md +3 -0
  855. package/examples/single-agent/HEARTBEAT.md +3 -0
  856. package/examples/single-agent/IDENTITY.md +3 -0
  857. package/examples/single-agent/MEMORY.md +3 -0
  858. package/examples/single-agent/SOUL.md +3 -0
  859. package/examples/single-agent/Spawnfile +41 -0
  860. package/examples/single-agent/skills/web_search/SKILL.md +6 -0
  861. package/moltnet-releases.json +5 -4
  862. package/package.json +36 -9
  863. package/runtimes.yaml +8 -3
  864. package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +0 -13
  865. package/dist/cli/targetWorldClockCrossProcess.test-helper.js +0 -109
  866. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +0 -8
  867. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +0 -60
  868. package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +0 -8
  869. package/dist/deployment/simfileFixtureBoundary.test-helper.js +0 -103
  870. package/dist/ownership/simfileRunOperatorInputs.d.ts +0 -103
  871. package/dist/ownership/simfileRunOperatorInputs.js +0 -139
  872. package/dist/target/cleanupRunDocker.test-helper.d.ts +0 -67
  873. package/dist/target/cleanupRunDocker.test-helper.js +0 -238
@@ -1,20 +1,19 @@
1
1
  import path from "node:path";
2
- import { createHash } from "node:crypto";
3
- import { rm } from "node:fs/promises";
4
- import { createOrganizationReadinessPending, createDockerOrganizationHandoffSession, createDockerDeploymentRecord, initializeOrganizationHandoffAuthorityStore, parseCanonicalSha256Digest, probeDockerOrganizationReadiness, readDeploymentRecord, resolveDockerDeploymentTarget, resolveDeploymentRecordPath, writeDeploymentRecord, writeDockerDeploymentRecordForRun } from "../deployment/index.js";
5
- import { createCanonicalSelectedTargetReceiptBytes, parseOpaqueTargetHandle, parseRunId, parseSelectedTargetReceipt, selectTarget } from "../target/index.js";
2
+ import { readFile, rm } from "node:fs/promises";
3
+ import { createOrganizationReadinessPending, createDockerDeploymentRecord, probeDockerOrganizationReadiness, readDeploymentRecord, recordDeploymentRollback, resolveDockerDeploymentTarget, resolveDeploymentRecordPath, writeDeploymentRecord, writeDockerDeploymentRecordForRun, } from "../deployment/index.js";
6
4
  import { buildProject } from "./buildProject.js";
7
5
  import { createDockerRunInvocation, resolveDetachedDeploymentOptions, runDockerContainer } from "./runProject.js";
8
6
  import { executeDockerRunWithSupportCleanup } from "./runProjectLifecycle.js";
9
7
  import { requireAuthProfile } from "../auth/index.js";
10
8
  import { DEFAULT_OUTPUT_DIRECTORY, SpawnfileError } from "../shared/index.js";
9
+ import { assertNoDeclaredVolumeNames, resolveDeploymentLineage } from "./deploymentLineage.js";
11
10
  import { ensureNoopolisRunId, resolveNoopolisRunId } from "../runtime/index.js";
12
11
  import { fileExists } from "../filesystem/index.js";
13
12
  import { resolveHostCliCredential } from "./runProjectAuth.js";
14
- const handoffInputError = () => new SpawnfileError("validation_error", "Organization handoff requires authorized run id, selected target receipt, descriptor digest, selected target receipt digest, network attachment handle, and world bindings");
15
- const handoffRecoveryIncompleteError = () => new SpawnfileError("runtime_error", "Organization handoff recovery is incomplete; redeploy with explicit authorization");
13
+ import { defaultDockerTargetExecFile } from "../target/dockerTargetExecFile.js";
14
+ import { compileOrganizationHandoff, executeOrganizationHandoff, organizationHandoffInputError, resolveRequestedOrganizationHandoff, verifyRequestedOrganizationHandoffTarget, } from "./upProjectHandoff.js";
16
15
  const stableRecord = (record) => {
17
- const { created_at: _createdAt, export_index: _exportIndex, organization_ready: _organizationReady, ...stable } = record;
16
+ const { created_at: _createdAt, export_index: _exportIndex, organization_ready: _organizationReady, activated_at: _activatedAt, activation_exact: _activationExact, activation_note: _activationNote, resource_snapshot: _snapshot, recording: _recording, ...stable } = record;
18
17
  return stable;
19
18
  };
20
19
  const canonicalJson = (value) => {
@@ -26,85 +25,17 @@ const canonicalJson = (value) => {
26
25
  }
27
26
  const serialized = JSON.stringify(value);
28
27
  if (serialized === undefined)
29
- throw handoffInputError();
28
+ throw organizationHandoffInputError();
30
29
  return serialized;
31
30
  };
32
- const resolveRequestedHandoff = (options) => {
33
- const values = [
34
- options.descriptorDigest,
35
- options.organizationHandoffRunId,
36
- options.selectedTargetReceiptDigest,
37
- options.selectedTargetReceipt,
38
- options.networkAttachmentHandle,
39
- options.worldBindingsPath
40
- ];
41
- if (values.every((value) => value === undefined))
42
- return null;
43
- if (values.some((value) => value === undefined) || !options.detach)
44
- throw handoffInputError();
45
- try {
46
- const selectedTarget = parseSelectedTargetReceipt(options.selectedTargetReceipt);
47
- const selectedDigest = parseCanonicalSha256Digest(options.selectedTargetReceiptDigest, "selected_target_receipt_digest");
48
- const computedDigest = `sha256:${createHash("sha256").update(createCanonicalSelectedTargetReceiptBytes(selectedTarget), "utf8").digest("hex")}`;
49
- if (selectedDigest !== computedDigest)
50
- throw new Error("selected receipt digest mismatch");
51
- return {
52
- descriptorDigest: parseCanonicalSha256Digest(options.descriptorDigest, "descriptor_digest"),
53
- runId: parseRunId(options.organizationHandoffRunId),
54
- networkAttachmentHandle: parseOpaqueTargetHandle(options.networkAttachmentHandle),
55
- selectedTarget,
56
- selectedTargetReceiptDigest: selectedDigest
57
- };
58
- }
59
- catch {
60
- throw handoffInputError();
61
- }
62
- };
63
- const verifyRequestedHandoffTarget = async (requested, resolved, options) => {
64
- if (!requested)
65
- return;
66
- if (typeof resolved.dockerContext !== "string" || resolved.dockerContext.length === 0
67
- || resolved.dockerHost != null || process.env.DOCKER_HOST != null)
68
- throw handoffInputError();
69
- try {
70
- const actual = await selectTarget({
71
- context: resolved.dockerContext,
72
- dockerCommand: options.dockerCommand,
73
- execFile: options.targetExecFile
74
- });
75
- if (createCanonicalSelectedTargetReceiptBytes(actual)
76
- !== createCanonicalSelectedTargetReceiptBytes(requested.selectedTarget))
77
- throw new Error("target mismatch");
78
- }
79
- catch {
80
- throw handoffInputError();
81
- }
82
- };
83
- const resolveCompiledHandoff = (requested, buildResult) => {
84
- if (!requested)
85
- return undefined;
86
- try {
87
- const bindingDigest = buildResult.organizationReadinessEvidence.worldBindings?.digest;
88
- if (!bindingDigest)
89
- throw new Error("missing compiled binding evidence");
90
- const bindingDigestParsed = parseCanonicalSha256Digest(bindingDigest, "binding_digest");
91
- return { authority: { ...requested, bindingDigest: bindingDigestParsed }, organizationHandoff: {
92
- bindingDigest: bindingDigestParsed, networkAttachmentHandle: requested.networkAttachmentHandle,
93
- selectedTargetReceiptDigest: requested.selectedTargetReceiptDigest
94
- } };
95
- }
96
- catch {
97
- throw handoffInputError();
98
- }
99
- };
100
31
  export const upProject = async (inputPath, options = {}) => {
101
32
  // Parse caller authority before any target or build work. Target identity is
102
33
  // verified below from the resolved detached options, including exact record reuse.
103
- const requestedHandoff = resolveRequestedHandoff(options);
34
+ const requestedHandoff = resolveRequestedOrganizationHandoff(options);
104
35
  // Handoff reservation identity must survive a process crash. Unlike an
105
36
  // ordinary deployment run, it may never silently mint a fresh run id.
106
37
  if (requestedHandoff && resolveNoopolisRunId(process.env) !== requestedHandoff.runId)
107
- throw handoffInputError();
38
+ throw organizationHandoffInputError();
108
39
  const resolvedOptions = await resolveDetachedDeploymentOptions(path.resolve(options.outputDirectory ?? DEFAULT_OUTPUT_DIRECTORY), {
109
40
  authProfile: options.authProfile,
110
41
  containerName: options.containerName,
@@ -117,7 +48,7 @@ export const upProject = async (inputPath, options = {}) => {
117
48
  imageTag: options.imageTag,
118
49
  targetExecFile: options.targetExecFile
119
50
  });
120
- await verifyRequestedHandoffTarget(requestedHandoff, resolvedOptions, options);
51
+ await verifyRequestedOrganizationHandoffTarget(requestedHandoff, resolvedOptions, options);
121
52
  // Every authority container compiled for this deployment must stamp
122
53
  // causal events under the same real run id (see specs/CAUSAL.md).
123
54
  // buildProject/compileProject stay deterministic functions of the host
@@ -132,6 +63,7 @@ export const upProject = async (inputPath, options = {}) => {
132
63
  containerArchitecture: options.containerArchitecture,
133
64
  dockerContext: resolvedOptions.dockerContext,
134
65
  dockerCommand: options.dockerCommand,
66
+ deploymentLineage: resolveDeploymentLineage(resolvedOptions.deploymentName ?? "default", options.deploymentLineageNamespace),
135
67
  imageTag: resolvedOptions.imageTag,
136
68
  outputDirectory: options.outputDirectory,
137
69
  runtimePackageOverrides: options.runtimePackageOverrides,
@@ -139,7 +71,12 @@ export const upProject = async (inputPath, options = {}) => {
139
71
  ? { worldBindingsPath: options.worldBindingsPath }
140
72
  : {})
141
73
  });
142
- const handoff = resolveCompiledHandoff(requestedHandoff, buildResult);
74
+ // Before anything starts: a namespaced (dev) deployment must not silently
75
+ // attach production's author-declared volumes by name.
76
+ if (options.deploymentLineageNamespace && !options.allowDeclaredVolumeNames) {
77
+ assertNoDeclaredVolumeNames(buildResult.report.container?.persistent_mounts ?? []);
78
+ }
79
+ const handoff = compileOrganizationHandoff(requestedHandoff, buildResult);
143
80
  const authProfile = resolvedOptions.authProfile
144
81
  ? await requireAuthProfile(resolvedOptions.authProfile)
145
82
  : null;
@@ -156,124 +93,126 @@ export const upProject = async (inputPath, options = {}) => {
156
93
  dockerHost: resolvedOptions.dockerHost,
157
94
  envFilePath: resolvedOptions.envFilePath
158
95
  });
159
- let authority;
96
+ if (options.onDetachedStarted) {
97
+ const started = options.onDetachedStarted;
98
+ invocation.onDetachedStarted = async (result) => {
99
+ if (!result.containerId || !result.containerName || !result.imageId || !result.deploymentLabels) {
100
+ throw new SpawnfileError("runtime_error", "Detached deployment metadata is incomplete");
101
+ }
102
+ await started({ ...result, containerId: result.containerId, containerName: result.containerName, imageId: result.imageId, deploymentLabels: result.deploymentLabels });
103
+ };
104
+ }
105
+ let activation = {};
106
+ const recordingRunner = async (runInvocation) => {
107
+ if (buildResult.report.recording && invocation.detach && invocation.deploymentName) {
108
+ const hasPredecessor = await fileExists(resolveDeploymentRecordPath(buildResult.outputDirectory, invocation.deploymentName));
109
+ activation = { activated_at: (options.now ?? (() => new Date()))().toISOString(), activation_exact: !hasPredecessor,
110
+ ...(hasPredecessor ? { activation_note: "Project up does not stop or drain the previous container; turns may overlap" } : {}) };
111
+ }
112
+ return (options.runRunner ?? runDockerContainer)(runInvocation);
113
+ };
160
114
  let deploymentRecordPath;
161
- let recovered = false;
162
- let dockerLifecycleInvoked = false;
163
- try {
164
- let pending;
165
- if (handoff) {
166
- if (!invocation.deploymentLabels || !invocation.containerName)
167
- throw handoffInputError();
168
- const session = createDockerOrganizationHandoffSession({
169
- bindingDigest: handoff.authority.bindingDigest,
115
+ if (handoff) {
116
+ const executed = await executeOrganizationHandoff({
117
+ dockerCommand: options.dockerCommand,
118
+ handoff,
119
+ invocation,
120
+ lifecycleRecovery: options.lifecycleRecovery,
121
+ onDetachedReservation: options.onDetachedReservation,
122
+ runRunner: recordingRunner,
123
+ targetExecFile: options.targetExecFile,
124
+ });
125
+ const { organizationHandoffHandle, runMetadata } = executed;
126
+ const existingRecordPath = invocation.detach && invocation.deploymentName
127
+ ? resolveDeploymentRecordPath(buildResult.outputDirectory, invocation.deploymentName)
128
+ : null;
129
+ if (existingRecordPath && await fileExists(existingRecordPath)) {
130
+ const existing = await readDeploymentRecord(existingRecordPath);
131
+ const target = await resolveDockerDeploymentTarget({
132
+ context: invocation.dockerContext ?? undefined,
133
+ dockerCommand: invocation.command,
134
+ dockerHost: invocation.dockerHost ?? undefined,
135
+ execFile: options.targetExecFile,
136
+ });
137
+ const expected = createDockerDeploymentRecord({
138
+ authProfileName: authProfile?.name ?? null,
139
+ compileFingerprint: buildResult.report.compile_fingerprint ?? "",
170
140
  containerName: invocation.containerName,
171
- deploymentLabels: invocation.deploymentLabels,
172
- descriptorDigest: handoff.authority.descriptorDigest,
141
+ deploymentName: invocation.deploymentName ?? undefined,
142
+ envFilePath: resolvedOptions.envFilePath,
143
+ imageTag,
144
+ networkIds: buildResult.report.container?.moltnet?.server_plans
145
+ .filter((server) => server.mode === "managed").map((server) => server.network_id),
146
+ nodes: buildResult.report.nodes,
173
147
  organizationHandoff: handoff.organizationHandoff,
148
+ organizationHandoffHandle,
149
+ outputDirectory: buildResult.outputDirectory,
150
+ projectRoot: buildResult.report.root,
174
151
  runId: handoff.authority.runId,
175
- selectedTarget: handoff.authority.selectedTarget,
176
- selectedTargetReceiptDigest: handoff.authority.selectedTargetReceiptDigest
152
+ runMetadata,
153
+ runtimeInstanceIds: buildResult.report.container?.runtime_instances.map((instance) => instance.id) ?? [],
154
+ target,
177
155
  });
178
- authority = await initializeOrganizationHandoffAuthorityStore();
179
- const begun = await authority.begin(session.authorityInput);
180
- pending = begun.pending;
181
- recovered = !begun.created;
182
- }
183
- let runMetadata = undefined;
184
- if (!recovered) {
185
- dockerLifecycleInvoked = true;
186
- runMetadata = await executeDockerRunWithSupportCleanup(invocation, options.runRunner ?? runDockerContainer);
156
+ if (canonicalJson(stableRecord(existing)) !== canonicalJson(stableRecord(expected))) {
157
+ throw organizationHandoffInputError();
158
+ }
159
+ deploymentRecordPath = existingRecordPath;
187
160
  }
188
- const observed = recovered && authority && pending
189
- ? await authority.readDockerMutation(pending.pending_key)
190
- : undefined;
191
- if (recovered && !observed)
192
- throw handoffRecoveryIncompleteError();
193
- const recoveredMetadata = observed
194
- ? { containerId: observed.container_id, deploymentLabels: observed.deployment_labels, imageId: observed.image_id }
195
- : undefined;
196
- const exactRunMetadata = runMetadata ?? recoveredMetadata;
197
- let organizationHandoffHandle;
198
- if (handoff) {
199
- if (!exactRunMetadata?.containerId || !exactRunMetadata.deploymentLabels || !exactRunMetadata.imageId || !authority || !pending)
200
- throw handoffInputError();
201
- if (!recovered)
202
- await authority.observeDockerMutation(pending.pending_key, {
203
- containerId: exactRunMetadata.containerId, deploymentLabels: exactRunMetadata.deploymentLabels, imageId: exactRunMetadata.imageId
204
- });
205
- const finalized = await authority.finalize(pending.pending_key, { containerId: exactRunMetadata.containerId, deploymentLabels: exactRunMetadata.deploymentLabels });
206
- organizationHandoffHandle = finalized.organization_handoff_handle;
207
- const existingRecordPath = invocation.detach && invocation.deploymentName
208
- ? resolveDeploymentRecordPath(buildResult.outputDirectory, invocation.deploymentName)
209
- : null;
210
- if (existingRecordPath && await fileExists(existingRecordPath)) {
211
- const existing = await readDeploymentRecord(existingRecordPath);
212
- const target = await resolveDockerDeploymentTarget({
213
- context: invocation.dockerContext ?? undefined,
214
- dockerCommand: invocation.command,
215
- dockerHost: invocation.dockerHost ?? undefined,
216
- execFile: options.targetExecFile
217
- });
218
- const expected = createDockerDeploymentRecord({
161
+ else {
162
+ deploymentRecordPath = invocation.detach && invocation.deploymentName
163
+ ? await writeDockerDeploymentRecordForRun({
164
+ previousRecord: resolvedOptions.previousRecord,
165
+ ...activation,
219
166
  authProfileName: authProfile?.name ?? null,
220
- compileFingerprint: buildResult.report.compile_fingerprint ?? "",
221
- containerName: invocation.containerName,
222
- deploymentName: invocation.deploymentName ?? undefined,
223
167
  envFilePath: resolvedOptions.envFilePath,
224
168
  imageTag,
225
- networkIds: buildResult.report.container?.moltnet?.server_plans
226
- .filter((server) => server.mode === "managed").map((server) => server.network_id),
227
- nodes: buildResult.report.nodes,
169
+ invocation,
228
170
  organizationHandoff: handoff.organizationHandoff,
229
171
  organizationHandoffHandle,
230
172
  outputDirectory: buildResult.outputDirectory,
231
- projectRoot: buildResult.report.root,
232
- runId: handoff.authority.runId,
233
- runMetadata: exactRunMetadata,
234
- runtimeInstanceIds: buildResult.report.container?.runtime_instances.map((instance) => instance.id) ?? [],
235
- target
173
+ report: buildResult.report,
174
+ runMetadata,
175
+ targetExecFile: options.targetExecFile,
176
+ })
177
+ : null;
178
+ }
179
+ }
180
+ else {
181
+ let dockerLifecycleInvoked = false;
182
+ try {
183
+ if (options.onDetachedReservation) {
184
+ if (!invocation.detach || !invocation.containerName || !invocation.deploymentLabels) {
185
+ throw new SpawnfileError("runtime_error", "Detached deployment authority is incomplete");
186
+ }
187
+ await options.onDetachedReservation({
188
+ containerName: invocation.containerName,
189
+ deploymentLabels: invocation.deploymentLabels,
190
+ dockerCommand: invocation.command,
191
+ dockerContext: invocation.dockerContext ?? null,
236
192
  });
237
- if (canonicalJson(stableRecord(existing)) !== canonicalJson(stableRecord(expected)))
238
- throw handoffInputError();
239
- deploymentRecordPath = existingRecordPath;
240
193
  }
241
- else
242
- deploymentRecordPath = invocation.detach && invocation.deploymentName
243
- ? await writeDockerDeploymentRecordForRun({ authProfileName: authProfile?.name ?? null, envFilePath: resolvedOptions.envFilePath,
244
- imageTag, invocation, outputDirectory: buildResult.outputDirectory,
245
- organizationHandoff: handoff.organizationHandoff, organizationHandoffHandle, report: buildResult.report,
246
- runMetadata: exactRunMetadata, targetExecFile: options.targetExecFile })
247
- : null;
248
- }
249
- else
194
+ dockerLifecycleInvoked = true;
195
+ const runMetadata = await executeDockerRunWithSupportCleanup(invocation, recordingRunner);
250
196
  deploymentRecordPath = invocation.detach && invocation.deploymentName
251
- ? await writeDockerDeploymentRecordForRun({ authProfileName: authProfile?.name ?? null, envFilePath: resolvedOptions.envFilePath,
252
- imageTag, invocation, outputDirectory: buildResult.outputDirectory, report: buildResult.report,
253
- runMetadata: runMetadata ?? undefined, targetExecFile: options.targetExecFile })
197
+ ? await writeDockerDeploymentRecordForRun({
198
+ previousRecord: resolvedOptions.previousRecord,
199
+ ...activation,
200
+ authProfileName: authProfile?.name ?? null,
201
+ envFilePath: resolvedOptions.envFilePath,
202
+ imageTag,
203
+ invocation,
204
+ outputDirectory: buildResult.outputDirectory,
205
+ report: buildResult.report,
206
+ runMetadata: runMetadata ?? undefined,
207
+ targetExecFile: options.targetExecFile,
208
+ })
254
209
  : null;
255
- }
256
- finally {
257
- // Replay creates a fresh support directory but does not invoke the normal
258
- // Docker lifecycle wrapper. Preserve its detached credential cleanup
259
- // semantics without deleting bind-mount support files.
260
- let cleanupError;
261
- try {
262
- if (invocation.detach && !dockerLifecycleInvoked)
263
- await rm(invocation.envFilePath, { force: true });
264
- }
265
- catch (error) {
266
- cleanupError = error;
267
210
  }
268
- try {
269
- await authority?.dispose();
270
- }
271
- catch (error) {
272
- if (cleanupError === undefined)
273
- throw error;
211
+ finally {
212
+ if (invocation.detach && !dockerLifecycleInvoked) {
213
+ await rm(invocation.envFilePath, { force: true });
214
+ }
274
215
  }
275
- if (cleanupError !== undefined)
276
- throw cleanupError;
277
216
  }
278
217
  if (deploymentRecordPath && buildResult.organizationReadinessEvidence) {
279
218
  const record = await readDeploymentRecord(deploymentRecordPath);
@@ -292,6 +231,22 @@ export const upProject = async (inputPath, options = {}) => {
292
231
  execFile: options.targetExecFile,
293
232
  record: pendingRecord
294
233
  });
234
+ if (organizationReady.state === "failed" || organizationReady.state === "cancelled") {
235
+ const unit = record.units[0];
236
+ const reference = unit?.container_id ?? unit?.container_name;
237
+ if (reference) {
238
+ const prefix = invocation.dockerContext
239
+ ? ["--context", invocation.dockerContext]
240
+ : invocation.dockerHost ? ["--host", invocation.dockerHost] : [];
241
+ await (options.targetExecFile ?? defaultDockerTargetExecFile)(invocation.command, [...prefix, "container", "rm", "--force", reference], { timeout: 30_000 });
242
+ }
243
+ if (buildResult.report.recording) {
244
+ await recordDeploymentRollback(deploymentRecordPath, record, buildResult.report, record.resource_snapshot ? "" : await readFile(buildResult.reportPath, "utf8"), (options.now ?? (() => new Date()))().toISOString());
245
+ }
246
+ await rm(invocation.supportDirectory, { recursive: true, force: true });
247
+ await rm(deploymentRecordPath, { force: true });
248
+ throw new SpawnfileError("runtime_error", "Detached deployment failed organization readiness and was rolled back");
249
+ }
295
250
  await writeDeploymentRecord(buildResult.outputDirectory, {
296
251
  ...pendingRecord,
297
252
  organization_ready: organizationReady
@@ -0,0 +1,62 @@
1
+ import { type DockerTargetExecFile, type OrganizationHandoffInput } from "../deployment/index.js";
2
+ import { type OpaqueTargetHandle, type SelectedTargetReceipt } from "../target/index.js";
3
+ import type { UpLifecycleRecovery } from "../deployment/upLifecycleRecoveryState.js";
4
+ import { SpawnfileError } from "../shared/index.js";
5
+ import type { BuildProjectResult } from "./buildProject.js";
6
+ import { type DockerRunInvocation, type DockerRunResult, type DockerRunRunner } from "./runProject.js";
7
+ export interface OrganizationHandoffRequestOptions {
8
+ readonly descriptorDigest?: string;
9
+ readonly detach?: boolean;
10
+ readonly networkAttachmentHandle?: string;
11
+ readonly organizationHandoffRunId?: string;
12
+ readonly selectedTargetReceipt?: unknown;
13
+ readonly selectedTargetReceiptDigest?: string;
14
+ readonly worldBindingsPath?: string;
15
+ }
16
+ export interface RequestedOrganizationHandoff extends Omit<OrganizationHandoffInput, "bindingDigest"> {
17
+ readonly descriptorDigest: string;
18
+ readonly runId: string;
19
+ readonly selectedTarget: SelectedTargetReceipt;
20
+ }
21
+ export interface CompiledOrganizationHandoff {
22
+ readonly authority: RequestedOrganizationHandoff & {
23
+ readonly bindingDigest: string;
24
+ };
25
+ readonly organizationHandoff: OrganizationHandoffInput;
26
+ }
27
+ export interface DetachedReservation {
28
+ readonly containerName: string;
29
+ readonly deploymentLabels: Readonly<Record<string, string>>;
30
+ readonly dockerCommand: string;
31
+ readonly dockerContext: string | null;
32
+ }
33
+ export declare const organizationHandoffInputError: () => SpawnfileError;
34
+ export declare const resolveRequestedOrganizationHandoff: (options: OrganizationHandoffRequestOptions) => RequestedOrganizationHandoff | null;
35
+ export declare const verifyRequestedOrganizationHandoffTarget: (requested: RequestedOrganizationHandoff | null, resolved: {
36
+ readonly dockerContext?: string | null;
37
+ readonly dockerHost?: string | null;
38
+ }, options: Pick<OrganizationHandoffExecutionOptions, "dockerCommand" | "targetExecFile">) => Promise<void>;
39
+ export declare const compileOrganizationHandoff: (requested: RequestedOrganizationHandoff | null, buildResult: BuildProjectResult) => CompiledOrganizationHandoff | undefined;
40
+ interface OrganizationHandoffExecutionOptions {
41
+ readonly dockerCommand?: string;
42
+ readonly lifecycleRecovery?: UpLifecycleRecovery;
43
+ readonly targetExecFile?: DockerTargetExecFile;
44
+ }
45
+ export interface ExecuteOrganizationHandoffOptions extends OrganizationHandoffExecutionOptions {
46
+ readonly handoff: CompiledOrganizationHandoff;
47
+ readonly invocation: DockerRunInvocation;
48
+ readonly onDetachedReservation?: (authority: DetachedReservation) => Promise<void>;
49
+ readonly runRunner: DockerRunRunner;
50
+ }
51
+ interface ExactRunMetadata extends DockerRunResult {
52
+ readonly containerId: string;
53
+ readonly containerName: string;
54
+ readonly deploymentLabels: Readonly<Record<string, string>>;
55
+ readonly imageId: string;
56
+ }
57
+ /** Resumes only lifecycle-verified state, never stale authority observations. */
58
+ export declare const executeOrganizationHandoff: (input: ExecuteOrganizationHandoffOptions) => Promise<{
59
+ readonly organizationHandoffHandle: OpaqueTargetHandle;
60
+ readonly runMetadata: ExactRunMetadata;
61
+ }>;
62
+ export {};
@@ -0,0 +1,204 @@
1
+ import { createHash } from "node:crypto";
2
+ import { rm } from "node:fs/promises";
3
+ import { createDockerOrganizationHandoffSession, initializeOrganizationHandoffAuthorityStore, parseCanonicalSha256Digest, } from "../deployment/index.js";
4
+ import { createCanonicalSelectedTargetReceiptBytes, parseOpaqueTargetHandle, parseRunId, parseSelectedTargetReceipt, selectTarget, } from "../target/index.js";
5
+ import { isTrustedUpLifecycleRecovery } from "../deployment/upLifecycleRecoveryState.js";
6
+ import { SpawnfileError } from "../shared/index.js";
7
+ import { executeDockerRunWithSupportCleanup } from "./runProjectLifecycle.js";
8
+ import { recoverDetachedDockerRun, } from "./runProject.js";
9
+ export const organizationHandoffInputError = () => new SpawnfileError("validation_error", "Organization handoff requires authorized run id, selected target receipt, descriptor digest, selected target receipt digest, network attachment handle, and world bindings");
10
+ const recoveryError = () => new SpawnfileError("runtime_error", "Organization handoff recovery is incomplete; redeploy with explicit authorization");
11
+ export const resolveRequestedOrganizationHandoff = (options) => {
12
+ const values = [
13
+ options.descriptorDigest,
14
+ options.organizationHandoffRunId,
15
+ options.selectedTargetReceiptDigest,
16
+ options.selectedTargetReceipt,
17
+ options.networkAttachmentHandle,
18
+ options.worldBindingsPath,
19
+ ];
20
+ if (values.every((value) => value === undefined))
21
+ return null;
22
+ if (values.some((value) => value === undefined) || !options.detach)
23
+ throw organizationHandoffInputError();
24
+ try {
25
+ const selectedTarget = parseSelectedTargetReceipt(options.selectedTargetReceipt);
26
+ const selectedDigest = parseCanonicalSha256Digest(options.selectedTargetReceiptDigest, "selected_target_receipt_digest");
27
+ const computedDigest = `sha256:${createHash("sha256").update(createCanonicalSelectedTargetReceiptBytes(selectedTarget), "utf8").digest("hex")}`;
28
+ if (selectedDigest !== computedDigest)
29
+ throw new Error("selected receipt digest mismatch");
30
+ return {
31
+ descriptorDigest: parseCanonicalSha256Digest(options.descriptorDigest, "descriptor_digest"),
32
+ runId: parseRunId(options.organizationHandoffRunId),
33
+ networkAttachmentHandle: parseOpaqueTargetHandle(options.networkAttachmentHandle),
34
+ selectedTarget,
35
+ selectedTargetReceiptDigest: selectedDigest,
36
+ };
37
+ }
38
+ catch {
39
+ throw organizationHandoffInputError();
40
+ }
41
+ };
42
+ export const verifyRequestedOrganizationHandoffTarget = async (requested, resolved, options) => {
43
+ if (!requested)
44
+ return;
45
+ if (typeof resolved.dockerContext !== "string" || resolved.dockerContext.length === 0
46
+ || resolved.dockerHost != null || process.env.DOCKER_HOST != null)
47
+ throw organizationHandoffInputError();
48
+ try {
49
+ const actual = await selectTarget({
50
+ context: resolved.dockerContext,
51
+ dockerCommand: options.dockerCommand,
52
+ execFile: options.targetExecFile,
53
+ });
54
+ if (createCanonicalSelectedTargetReceiptBytes(actual)
55
+ !== createCanonicalSelectedTargetReceiptBytes(requested.selectedTarget))
56
+ throw new Error("target mismatch");
57
+ }
58
+ catch {
59
+ throw organizationHandoffInputError();
60
+ }
61
+ };
62
+ export const compileOrganizationHandoff = (requested, buildResult) => {
63
+ if (!requested)
64
+ return undefined;
65
+ try {
66
+ const bindingDigest = buildResult.organizationReadinessEvidence.worldBindings?.digest;
67
+ if (!bindingDigest)
68
+ throw new Error("missing compiled binding evidence");
69
+ const parsedBindingDigest = parseCanonicalSha256Digest(bindingDigest, "binding_digest");
70
+ return {
71
+ authority: { ...requested, bindingDigest: parsedBindingDigest },
72
+ organizationHandoff: {
73
+ bindingDigest: parsedBindingDigest,
74
+ networkAttachmentHandle: requested.networkAttachmentHandle,
75
+ selectedTargetReceiptDigest: requested.selectedTargetReceiptDigest,
76
+ },
77
+ };
78
+ }
79
+ catch {
80
+ throw organizationHandoffInputError();
81
+ }
82
+ };
83
+ const canonical = (value) => value === null || typeof value !== "object"
84
+ ? JSON.stringify(value)
85
+ : Array.isArray(value) ? `[${value.map(canonical).join(",")}]`
86
+ : `{${Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${canonical(value[key])}`).join(",")}}`;
87
+ const same = (left, right) => canonical(left) === canonical(right);
88
+ const exactRunMetadata = (value) => {
89
+ if (!value?.containerId || !value.containerName || !value.imageId || !value.deploymentLabels) {
90
+ throw organizationHandoffInputError();
91
+ }
92
+ return value;
93
+ };
94
+ const reattestRecoveredRun = async (invocation, expected) => {
95
+ const actual = exactRunMetadata(await recoverDetachedDockerRun(invocation, expected.containerId));
96
+ if (actual.containerName !== expected.containerName || actual.imageId !== expected.imageId
97
+ || !same(actual.deploymentLabels, expected.deploymentLabels))
98
+ throw recoveryError();
99
+ return actual;
100
+ };
101
+ const recovery = (value) => {
102
+ if (value !== undefined && !isTrustedUpLifecycleRecovery(value))
103
+ throw organizationHandoffInputError();
104
+ return value;
105
+ };
106
+ const reserveDetachedRun = async (invocation, reserve) => {
107
+ if (!reserve)
108
+ return;
109
+ if (!invocation.detach || !invocation.containerName || !invocation.deploymentLabels) {
110
+ throw new SpawnfileError("runtime_error", "Detached deployment authority is incomplete");
111
+ }
112
+ await reserve({
113
+ containerName: invocation.containerName,
114
+ deploymentLabels: invocation.deploymentLabels,
115
+ dockerCommand: invocation.command,
116
+ dockerContext: invocation.dockerContext ?? null,
117
+ });
118
+ };
119
+ /** Resumes only lifecycle-verified state, never stale authority observations. */
120
+ export const executeOrganizationHandoff = async (input) => {
121
+ const { handoff, invocation } = input;
122
+ if (!invocation.deploymentLabels || !invocation.containerName)
123
+ throw organizationHandoffInputError();
124
+ const lifecycleRecovery = recovery(input.lifecycleRecovery);
125
+ const session = createDockerOrganizationHandoffSession({
126
+ bindingDigest: handoff.authority.bindingDigest,
127
+ containerName: invocation.containerName,
128
+ deploymentLabels: invocation.deploymentLabels,
129
+ descriptorDigest: handoff.authority.descriptorDigest,
130
+ organizationHandoff: handoff.organizationHandoff,
131
+ runId: handoff.authority.runId,
132
+ selectedTarget: handoff.authority.selectedTarget,
133
+ selectedTargetReceiptDigest: handoff.authority.selectedTargetReceiptDigest,
134
+ });
135
+ let authority;
136
+ let dockerLifecycleInvoked = false;
137
+ try {
138
+ // Persist the lifecycle reservation first. A post-begin crash can then be
139
+ // distinguished as no-start, exact-container, or ambiguous on restart.
140
+ if (lifecycleRecovery?.kind !== "deployment_record") {
141
+ await reserveDetachedRun(invocation, input.onDetachedReservation);
142
+ }
143
+ authority = await initializeOrganizationHandoffAuthorityStore();
144
+ const begun = await authority.begin(session.authorityInput);
145
+ let runMetadata;
146
+ if (begun.created) {
147
+ if (lifecycleRecovery?.kind === "detached_container"
148
+ || lifecycleRecovery?.kind === "deployment_record")
149
+ throw recoveryError();
150
+ dockerLifecycleInvoked = true;
151
+ runMetadata = exactRunMetadata(await executeDockerRunWithSupportCleanup(invocation, input.runRunner));
152
+ }
153
+ else {
154
+ const observed = await authority.readDockerMutation(begun.pending.pending_key);
155
+ if (observed) {
156
+ if (lifecycleRecovery?.kind === "no_docker_mutation")
157
+ throw recoveryError();
158
+ const expected = {
159
+ containerId: observed.container_id,
160
+ containerName: invocation.containerName,
161
+ deploymentLabels: observed.deployment_labels,
162
+ imageId: observed.image_id,
163
+ };
164
+ if (lifecycleRecovery?.kind === "detached_container" && (lifecycleRecovery.containerId !== expected.containerId
165
+ || lifecycleRecovery.containerName !== expected.containerName
166
+ || lifecycleRecovery.imageId !== expected.imageId
167
+ || !same(lifecycleRecovery.deploymentLabels, expected.deploymentLabels)))
168
+ throw recoveryError();
169
+ runMetadata = await reattestRecoveredRun(invocation, expected);
170
+ }
171
+ else if (lifecycleRecovery?.kind === "detached_container") {
172
+ runMetadata = await reattestRecoveredRun(invocation, lifecycleRecovery);
173
+ }
174
+ else if (lifecycleRecovery?.kind === "no_docker_mutation") {
175
+ dockerLifecycleInvoked = true;
176
+ runMetadata = exactRunMetadata(await executeDockerRunWithSupportCleanup(invocation, input.runRunner));
177
+ }
178
+ else
179
+ throw recoveryError();
180
+ }
181
+ await authority.observeDockerMutation(begun.pending.pending_key, runMetadata);
182
+ const finalized = await authority.finalize(begun.pending.pending_key, runMetadata);
183
+ return { organizationHandoffHandle: finalized.organization_handoff_handle, runMetadata };
184
+ }
185
+ finally {
186
+ let cleanupError;
187
+ try {
188
+ if (invocation.detach && !dockerLifecycleInvoked)
189
+ await rm(invocation.envFilePath, { force: true });
190
+ }
191
+ catch (error) {
192
+ cleanupError = error;
193
+ }
194
+ try {
195
+ await authority?.dispose();
196
+ }
197
+ catch (error) {
198
+ if (cleanupError === undefined)
199
+ throw error;
200
+ }
201
+ if (cleanupError !== undefined)
202
+ throw cleanupError;
203
+ }
204
+ };