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
@@ -0,0 +1,155 @@
1
+ import { execFile } from "node:child_process";
2
+ import { createHash, randomBytes } from "node:crypto";
3
+ import { mkdir, mkdtemp, readFile, rm, stat, writeFile } from "node:fs/promises";
4
+ import os from "node:os";
5
+ import path from "node:path";
6
+ import { promisify } from "node:util";
7
+ import { SpawnfileError } from "../shared/index.js";
8
+ const run = promisify(execFile);
9
+ const COMMIT = /^[a-f0-9]{40}$/u;
10
+ const fail = (message) => {
11
+ throw new SpawnfileError("validation_error", message);
12
+ };
13
+ const shellQuote = (value) => `'${value.replace(/'/g, `'"'"'`)}'`;
14
+ /** The remote ref to fetch, and the commit it must equal when the selector already names one. */
15
+ export const gitPinRefspec = (selector) => {
16
+ if (selector.kind === "branch")
17
+ return { source: `refs/heads/${selector.value}` };
18
+ if (selector.kind === "tag")
19
+ return { source: `refs/tags/${selector.value}` };
20
+ if (selector.kind === "ref")
21
+ return COMMIT.test(selector.value) ? { expected: selector.value, source: selector.value } : { source: selector.value };
22
+ return { source: "HEAD" };
23
+ };
24
+ /**
25
+ * Runs `use` with the git environment for one fetch. A key held in an env var
26
+ * is copied to a private 0600 file in a fresh temporary directory that is
27
+ * removed afterwards; the key only ever reaches git through `GIT_SSH_COMMAND`.
28
+ */
29
+ export const withGitPinEnvironment = async (auth, use, environment = process.env) => {
30
+ // Never prompt, never honour replacement refs: an object id must name its own bytes.
31
+ const base = { ...environment, GIT_NO_REPLACE_OBJECTS: "1", GIT_TERMINAL_PROMPT: "0" };
32
+ // The key reaches git and ssh only as a file path, never as an inherited variable.
33
+ if (auth?.sshKeyEnv !== undefined)
34
+ delete base[auth.sshKeyEnv];
35
+ if (auth === undefined)
36
+ return use(base);
37
+ let temporary;
38
+ try {
39
+ let keyPath;
40
+ if (auth.sshKeyEnv !== undefined) {
41
+ const material = environment[auth.sshKeyEnv];
42
+ if (!material?.trim())
43
+ fail(`git resource auth env ${auth.sshKeyEnv} is not set`);
44
+ temporary = await mkdtemp(path.join(os.tmpdir(), "spawnfile-git-key-"));
45
+ keyPath = path.join(temporary, "key");
46
+ await writeFile(keyPath, material.endsWith("\n") ? material : `${material}\n`, { mode: 0o600 });
47
+ }
48
+ else {
49
+ keyPath = auth.sshKey;
50
+ const info = await stat(keyPath).catch(() => undefined);
51
+ if (!info?.isFile())
52
+ fail(`git resource ssh_key is not a readable file: ${keyPath}`);
53
+ }
54
+ const ssh = `ssh -i ${shellQuote(keyPath)} -o IdentitiesOnly=yes -o BatchMode=yes`;
55
+ return await use({ ...base, GIT_SSH_COMMAND: ssh });
56
+ }
57
+ finally {
58
+ if (temporary !== undefined)
59
+ await rm(temporary, { force: true, recursive: true });
60
+ }
61
+ };
62
+ const git = async (repository, args, env) => {
63
+ const { stdout } = await run("git", ["-C", repository, ...args], { encoding: "utf8", env, maxBuffer: 16_777_216 });
64
+ return stdout.trim();
65
+ };
66
+ const LOCK_POLL_MS = 100;
67
+ const processAlive = (pid) => {
68
+ try {
69
+ process.kill(pid, 0);
70
+ return true;
71
+ }
72
+ catch (error) {
73
+ return error.code === "EPERM";
74
+ }
75
+ };
76
+ /**
77
+ * Serializes work on one cache repository across processes on this host: git
78
+ * keeps one repository-wide `shallow` file, so two shallow fetches into the
79
+ * same repository can fail each other. A lock whose owner process is gone is
80
+ * taken over.
81
+ */
82
+ export const withGitPinLock = async (repository, use) => {
83
+ const lock = `${repository}.lock`, owner = path.join(lock, "owner");
84
+ for (;;) {
85
+ try {
86
+ await mkdir(lock);
87
+ await writeFile(owner, `${process.pid}\n`);
88
+ break;
89
+ }
90
+ catch (error) {
91
+ if (error.code !== "EEXIST")
92
+ throw error;
93
+ const pid = Number.parseInt(await readFile(owner, "utf8").catch(() => ""), 10);
94
+ const age = Date.now() - ((await stat(lock).catch(() => undefined))?.mtimeMs ?? Date.now());
95
+ // An owner-less lock older than a few polls belongs to a process that died between mkdir and write.
96
+ if (Number.isInteger(pid) ? !processAlive(pid) : age > LOCK_POLL_MS * 50)
97
+ await rm(lock, { force: true, recursive: true });
98
+ else
99
+ await new Promise((resolve) => setTimeout(resolve, LOCK_POLL_MS));
100
+ }
101
+ }
102
+ try {
103
+ return await use();
104
+ }
105
+ finally {
106
+ await rm(lock, { force: true, recursive: true });
107
+ }
108
+ };
109
+ /** One bare object cache per remote URL. Auto-gc is off: a concurrent compile may still be reading a commit. Call under the lock. */
110
+ const ensureGitPinRepository = async (repository) => {
111
+ if (await stat(path.join(repository, "HEAD")).catch(() => undefined))
112
+ return;
113
+ await rm(repository, { force: true, recursive: true });
114
+ await run("git", ["init", "--bare", "-q", repository]);
115
+ await run("git", ["-C", repository, "config", "gc.auto", "0"]);
116
+ };
117
+ const hasCommit = (repository, commit, env) => git(repository, ["cat-file", "-e", `${commit}^{commit}`], env).then(() => true, () => false);
118
+ /**
119
+ * Resolves `selector` on `url` to one commit and fetches its objects into the
120
+ * cache, shallowly, under the repository lock. A full commit id already in the
121
+ * cache is not fetched again, so a recorded pin rebuilds offline. Any failure
122
+ * to resolve refuses the compile: a pinned resource never falls back to stale
123
+ * or empty content.
124
+ */
125
+ export const fetchGitPin = async (cacheDirectory, url, selector, env) => {
126
+ await mkdir(cacheDirectory, { mode: 0o700, recursive: true });
127
+ const repository = path.join(cacheDirectory, `${createHash("sha256").update(url).digest("hex")}.git`);
128
+ return withGitPinLock(repository, async () => {
129
+ await ensureGitPinRepository(repository);
130
+ const { expected, source } = gitPinRefspec(selector);
131
+ if (expected !== undefined && await hasCommit(repository, expected, env))
132
+ return { commit: expected, repository };
133
+ // A per-process ref, so a lock taken over from a dead owner never reads its half-written result.
134
+ const local = `refs/spawnfile/pins/${process.pid}-${randomBytes(6).toString("hex")}`;
135
+ try {
136
+ await git(repository, ["fetch", "--quiet", "--no-tags", "--depth=1", "--", url, `+${source}:${local}`], env);
137
+ const commit = await git(repository, ["rev-parse", "--verify", `${local}^{commit}`], env);
138
+ if (!COMMIT.test(commit))
139
+ fail(`git resource ${url} ${selector.kind} ${selector.value} did not resolve to a commit`);
140
+ if (expected !== undefined && commit !== expected)
141
+ fail(`git resource ${url} ref ${expected} resolved to ${commit}`);
142
+ return { commit, repository };
143
+ }
144
+ catch (error) {
145
+ if (error instanceof SpawnfileError)
146
+ throw error;
147
+ const stderr = String(error.stderr ?? "").trim().split("\n").filter(Boolean).pop();
148
+ const what = selector.kind === "none" ? "default branch" : `${selector.kind} ${selector.value}`;
149
+ return fail(`git resource ${url} ${what} could not be resolved to a commit${stderr ? `: ${stderr}` : ""}`);
150
+ }
151
+ finally {
152
+ await git(repository, ["update-ref", "-d", local], env).catch(() => undefined);
153
+ }
154
+ });
155
+ };
@@ -0,0 +1,33 @@
1
+ import type { CompileReportWorkspaceGitResource } from "../report/index.js";
2
+ import { type BundleIdentityMode } from "./workspaceBundleFiles.js";
3
+ import type { MoltnetTargetArchitecture } from "./moltnetReleaseAuthority.js";
4
+ import type { CompilePlan } from "./types.js";
5
+ import type { ResolvedWorkspaceResource } from "./workspaceResources.js";
6
+ type GitResource = Extract<ResolvedWorkspaceResource, {
7
+ kind: "git";
8
+ }>;
9
+ export interface ResolveWorkspaceGitPinsOptions {
10
+ outputDirectory: string;
11
+ architecture?: MoltnetTargetArchitecture;
12
+ /** The workspace bundle cache directory; git objects and archives live beside it under `git-resources/`. */
13
+ bundleCacheDirectory?: string;
14
+ identity?: BundleIdentityMode;
15
+ environment?: NodeJS.ProcessEnv;
16
+ }
17
+ export interface ResolvedWorkspaceGitPins {
18
+ /** Digest → archive linked into the Docker context, for `stageWorkspaceBundles`. */
19
+ built: Map<string, string>;
20
+ report: CompileReportWorkspaceGitResource[];
21
+ }
22
+ export declare const isBuildPinnedGitResource: (resource: ResolvedWorkspaceResource) => resource is GitResource;
23
+ /**
24
+ * Lowers every `fetch: build` git resource into a pinned read-only bundle:
25
+ * the declared branch, tag or ref is resolved on the host to one commit, that
26
+ * commit's tree is archived deterministically (the same writer as built
27
+ * bundles), and the agent mounts the archive exactly as it mounts a bundle.
28
+ * No credential, clone or network access reaches the container. The commit
29
+ * and archive digest are recorded in the compile report; declaring
30
+ * `ref: <commit>` reproduces the identical archive.
31
+ */
32
+ export declare const resolveWorkspaceGitPins: (plan: CompilePlan, options: ResolveWorkspaceGitPinsOptions) => Promise<ResolvedWorkspaceGitPins>;
33
+ export {};
@@ -0,0 +1,127 @@
1
+ import os from "node:os";
2
+ import path from "node:path";
3
+ import { SpawnfileError } from "../shared/index.js";
4
+ import { linkBuiltBundle } from "./workspaceBundleArtifacts.js";
5
+ import { lookupCachedBundle, pruneBundleCache, resolveWorkspaceBundleCacheDirectory, storeBuiltBundle } from "./workspaceBundleCache.js";
6
+ import { listCommittedTree } from "./workspaceBundleGit.js";
7
+ import { compileExcludePatterns, writeBundleFiles } from "./workspaceBundleFiles.js";
8
+ import { computeWorkspaceBundleKey, resolveBundleArchitecture } from "./workspaceBundleResolve.js";
9
+ import { normalizeBundleMode } from "./workspaceBundleTar.js";
10
+ import { fetchGitPin, withGitPinEnvironment } from "./workspaceGitFetch.js";
11
+ const SYMLINK = 0o120000, GITLINK = 0o160000;
12
+ const fail = (message) => {
13
+ throw new SpawnfileError("validation_error", message);
14
+ };
15
+ export const isBuildPinnedGitResource = (resource) => resource.kind === "git" && resource.fetch === "build";
16
+ const selectorOf = (resource) => resource.branch ? { kind: "branch", value: resource.branch.trim() }
17
+ : resource.tag ? { kind: "tag", value: resource.tag.trim() }
18
+ : resource.ref ? { kind: "ref", value: resource.ref.trim() }
19
+ : { kind: "none", value: "" };
20
+ const expandPath = (value, base) => value === "~" || value.startsWith("~/") ? path.join(os.homedir(), value.slice(1)) : path.resolve(base, value);
21
+ const authOf = (resource) => {
22
+ if (!resource.auth)
23
+ return undefined;
24
+ return resource.auth.ssh_key !== undefined
25
+ ? { sshKey: expandPath(resource.auth.ssh_key, path.dirname(resource.scope.key)) }
26
+ : { sshKeyEnv: resource.auth.ssh_key_env };
27
+ };
28
+ const declarationKey = (resource) => JSON.stringify({
29
+ auth: authOf(resource) ?? null, exclude: resource.exclude ?? null, selector: selectorOf(resource), url: resource.url.trim()
30
+ });
31
+ /** The committed tree as bundle entries: blob ids and modes only, under the same safety rules as built bundles. */
32
+ const treeEntries = async (resource, repository, commit) => {
33
+ const excluded = compileExcludePatterns(resource.exclude);
34
+ const entries = [];
35
+ for (const entry of await listCommittedTree(repository, commit)) {
36
+ if (excluded(entry.path))
37
+ continue;
38
+ if (entry.mode === SYMLINK)
39
+ fail(`Workspace git resource ${resource.id} contains a symlink; exclude it: ${entry.path}`);
40
+ if (entry.mode === GITLINK)
41
+ fail(`Workspace git resource ${resource.id} contains a submodule; exclude it: ${entry.path}`);
42
+ if (entry.type !== "blob")
43
+ fail(`Workspace git resource ${resource.id} has unsupported git type ${entry.type}: ${entry.path}`);
44
+ if (!entry.path || entry.path.includes("\\") || entry.path.split("/").some((part) => !part || part === "." || part === "..")) {
45
+ fail(`Workspace git resource ${resource.id} path cannot be archived safely: ${entry.path}`);
46
+ }
47
+ entries.push({ identity: `git:${entry.objectId}`, mode: normalizeBundleMode(entry.mode), objectId: entry.objectId, path: entry.path });
48
+ }
49
+ if (entries.length === 0)
50
+ fail(`Workspace git resource ${resource.id} has no files at ${commit}`);
51
+ return entries.sort((left, right) => (left.path < right.path ? -1 : left.path > right.path ? 1 : 0));
52
+ };
53
+ /**
54
+ * Lowers every `fetch: build` git resource into a pinned read-only bundle:
55
+ * the declared branch, tag or ref is resolved on the host to one commit, that
56
+ * commit's tree is archived deterministically (the same writer as built
57
+ * bundles), and the agent mounts the archive exactly as it mounts a bundle.
58
+ * No credential, clone or network access reaches the container. The commit
59
+ * and archive digest are recorded in the compile report; declaring
60
+ * `ref: <commit>` reproduces the identical archive.
61
+ */
62
+ export const resolveWorkspaceGitPins = async (plan, options) => {
63
+ const result = { built: new Map(), report: [] };
64
+ const recording = plan.nodes.some((node) => node.kind === "agent" && node.value.training?.record !== undefined);
65
+ const pinned = plan.nodes.flatMap((node) => node.kind === "agent" ? (node.value.workspaceResources ?? []).filter(isBuildPinnedGitResource) : []);
66
+ if (pinned.length === 0)
67
+ return result;
68
+ const root = path.join(path.dirname(resolveWorkspaceBundleCacheDirectory(options.bundleCacheDirectory)), "git-resources");
69
+ const objects = path.join(root, "objects"), archives = path.join(root, "archives");
70
+ const platform = `linux/${resolveBundleArchitecture(options.architecture)}`, identity = options.identity ?? "dev";
71
+ const resolved = new Map(), usedKeys = new Set();
72
+ for (const resource of pinned) {
73
+ const memoKey = declarationKey(resource);
74
+ if (resolved.has(memoKey))
75
+ continue;
76
+ const selector = selectorOf(resource), auth = authOf(resource), url = resource.url.trim();
77
+ const { commit, repository } = await withGitPinEnvironment(auth, (env) => fetchGitPin(objects, url, selector, env), options.environment);
78
+ const entries = await treeEntries(resource, repository, commit);
79
+ const key = computeWorkspaceBundleKey({ entries }, platform);
80
+ usedKeys.add(key);
81
+ let cached = await lookupCachedBundle(archives, key), staged = cached && await linkBuiltBundle(cached.tarPath, options.outputDirectory, cached.sha256);
82
+ if (!cached || !staged) {
83
+ cached = await storeBuiltBundle(archives, key, (temporaryPath) => writeBundleFiles({ directory: repository, entries, mode: "release" }, temporaryPath));
84
+ staged = await linkBuiltBundle(cached.tarPath, options.outputDirectory, cached.sha256);
85
+ if (!staged)
86
+ throw new SpawnfileError("compile_error", `Workspace git resource archive vanished from the cache while it was staged: ${key}`);
87
+ }
88
+ result.built.set(cached.sha256, staged);
89
+ resolved.set(memoKey, {
90
+ commit,
91
+ facts: {
92
+ auth: auth === undefined ? "none" : auth.sshKey !== undefined ? "ssh_key" : "ssh_key_env",
93
+ cache_key: key, commit, content_bytes: cached.contentBytes, file_count: cached.fileCount, id: resource.id, identity,
94
+ platform, selector: selector.kind === "none" ? { kind: "default_branch" } : { kind: selector.kind, value: selector.value },
95
+ sha256: cached.sha256, url
96
+ }
97
+ });
98
+ }
99
+ for (const node of plan.nodes) {
100
+ if (node.kind !== "agent" || !node.value.workspaceResources?.some(isBuildPinnedGitResource))
101
+ continue;
102
+ node.value.workspaceResources = node.value.workspaceResources.map((resource) => {
103
+ if (!isBuildPinnedGitResource(resource))
104
+ return resource;
105
+ const { facts } = resolved.get(declarationKey(resource));
106
+ const same = (existing) => existing.id === resource.id && existing.url === facts.url && existing.commit === facts.commit && existing.sha256 === facts.sha256 && JSON.stringify(existing.selector) === JSON.stringify(facts.selector);
107
+ if (recording) {
108
+ const declared_by = plan.nodes.find((entry) => entry.value.source === resource.scope.key)?.id;
109
+ let pin = result.report.find((entry) => same(entry) && entry.declared_by === declared_by);
110
+ if (!pin) {
111
+ pin = { ...facts, id: resource.id, agent_node_ids: [], ...(declared_by ? { declared_by } : {}) };
112
+ result.report.push(pin);
113
+ }
114
+ if (!pin.agent_node_ids.includes(node.id))
115
+ pin.agent_node_ids.push(node.id);
116
+ pin.agent_node_ids.sort();
117
+ }
118
+ else if (!result.report.some(same))
119
+ result.report.push({ ...facts, id: resource.id });
120
+ // From here on it is a bundle: same staging, same identity-checked read-only mount, no auth fields.
121
+ return { id: resource.id, kind: "bundle", mode: "readonly", mount: resource.mount, scope: resource.scope, sha256: facts.sha256, sharing: "per_agent" };
122
+ });
123
+ }
124
+ await pruneBundleCache(archives, usedKeys);
125
+ result.report.sort((left, right) => left.id.localeCompare(right.id) || left.url.localeCompare(right.url) || left.commit.localeCompare(right.commit) || left.sha256.localeCompare(right.sha256));
126
+ return result;
127
+ };
@@ -1,4 +1,4 @@
1
- import type { TeamWorkspaceResource } from "../manifest/index.js";
1
+ import type { TeamWorkspaceResource, WorkspaceBundleBuild } from "../manifest/index.js";
2
2
  export type WorkspaceResourceSharing = "per_agent" | "team";
3
3
  export interface WorkspaceResourceScope {
4
4
  kind: "agent" | "team";
@@ -10,19 +10,26 @@ export type ResolvedWorkspaceResource = TeamWorkspaceResource & {
10
10
  sharing: WorkspaceResourceSharing;
11
11
  };
12
12
  export interface WorkspaceResourcePlan {
13
+ archivePath?: string;
13
14
  backingPath: string;
14
15
  branch?: string;
15
16
  id: string;
16
- kind: "git" | "volume";
17
+ kind: "bundle" | "git" | "volume";
17
18
  linkPath: string;
18
19
  mode: "mutable" | "readonly";
19
20
  mount: string;
20
21
  name?: string;
21
22
  ref?: string;
22
23
  sharing: WorkspaceResourceSharing;
24
+ sha256?: string;
25
+ source?: string;
23
26
  tag?: string;
24
27
  url?: string;
25
28
  }
29
+ /** Multi-agent runtime targets retain one resource identity per source agent. */
30
+ export declare const workspaceResourceTargetId: (targetId: string, sourceId: string, sourceCount: number) => string;
31
+ /** A bundle build declaration with every relative path resolved against the declaring manifest's directory. */
32
+ export declare const resolveBundleBuildPaths: (build: WorkspaceBundleBuild, base: string) => WorkspaceBundleBuild;
26
33
  export declare const mergeWorkspaceResources: (inherited: ResolvedWorkspaceResource[] | undefined, local: TeamWorkspaceResource[] | undefined, ownerName: string, ownerScope: WorkspaceResourceScope) => ResolvedWorkspaceResource[];
27
34
  export declare const toWorkspaceResourcePlan: (resource: ResolvedWorkspaceResource, context: {
28
35
  targetId: string;
@@ -1,6 +1,8 @@
1
1
  import path from "node:path";
2
2
  import { SpawnfileError } from "../shared/index.js";
3
3
  import { createShortHash, slugify } from "./helpers.js";
4
+ /** Multi-agent runtime targets retain one resource identity per source agent. */
5
+ export const workspaceResourceTargetId = (targetId, sourceId, sourceCount) => sourceCount > 1 ? `${targetId}:${sourceId}` : targetId;
4
6
  const normalizeMount = (value) => {
5
7
  const trimmed = value.trim();
6
8
  const workspaceRelative = trimmed.startsWith("${workspace}/")
@@ -13,10 +15,29 @@ const normalizeMount = (value) => {
13
15
  }
14
16
  return collapsed.length > 1 ? collapsed.replace(/\/+$/u, "") : "/";
15
17
  };
18
+ /** A bundle build declaration with every relative path resolved against the declaring manifest's directory. */
19
+ export const resolveBundleBuildPaths = (build, base) => {
20
+ const files = (input) => ({ ...input, root: path.resolve(base, input.root) });
21
+ if (build.files)
22
+ return { files: files(build.files) };
23
+ if (build.dependencies)
24
+ return { dependencies: { ...build.dependencies, directory: path.resolve(base, build.dependencies.directory) } };
25
+ const generated = build.generated;
26
+ return { generated: { ...generated, cwd: path.resolve(base, generated.cwd ?? "."), inputs: generated.inputs.map(files) } };
27
+ };
16
28
  const normalizeResourceIdentity = (resource) => {
29
+ if (resource.kind === "bundle") {
30
+ // Relative paths compare as resolved against their declaring manifest: the same text in two directories is two inputs.
31
+ const base = path.dirname(resource.scope.key);
32
+ const build = resource.build && resolveBundleBuildPaths(resource.build, base);
33
+ return JSON.stringify({ build: build ?? null, kind: resource.kind, mode: resource.mode, mount: normalizeMount(resource.mount), sha256: resource.sha256 ?? null, source: resource.source === undefined ? null : path.resolve(base, resource.source), sharing: resource.sharing });
34
+ }
17
35
  if (resource.kind === "git") {
18
36
  return JSON.stringify({
37
+ auth: resource.auth ?? null,
19
38
  branch: resource.branch?.trim() ?? "",
39
+ exclude: resource.exclude ?? null,
40
+ fetch: resource.fetch ?? "start",
20
41
  kind: "git",
21
42
  mode: resource.mode,
22
43
  mount: normalizeMount(resource.mount),
@@ -27,6 +48,8 @@ const normalizeResourceIdentity = (resource) => {
27
48
  });
28
49
  }
29
50
  return JSON.stringify({
51
+ // Feed paths resolve against the declaring manifest, like bundle inputs.
52
+ ...(resource.feed ? { feed: { ...resource.feed, base: path.dirname(resource.scope.key) } } : {}),
30
53
  kind: "volume",
31
54
  mode: resource.mode,
32
55
  mount: normalizeMount(resource.mount),
@@ -39,12 +62,9 @@ const mountsOverlap = (left, right) => left === right ||
39
62
  left.startsWith(`${right}/`) ||
40
63
  right.startsWith(`${left}/`);
41
64
  const resolveSharing = (resource) => resource.sharing ?? "per_agent";
42
- const toResolvedResource = (resource, scope) => ({
43
- ...resource,
44
- mount: normalizeMount(resource.mount),
45
- scope,
46
- sharing: resolveSharing(resource)
47
- });
65
+ const toResolvedResource = (resource, scope) => resource.kind === "bundle"
66
+ ? { ...resource, mount: normalizeMount(resource.mount), scope, sharing: "per_agent" }
67
+ : { ...resource, mount: normalizeMount(resource.mount), scope, sharing: resolveSharing(resource) };
48
68
  const createPathSegment = (value) => {
49
69
  const slug = slugify(value);
50
70
  const hash = createShortHash(value);
@@ -89,6 +109,12 @@ export const mergeWorkspaceResources = (inherited = [], local = [], ownerName, o
89
109
  }
90
110
  return merged.sort((left, right) => left.id.localeCompare(right.id));
91
111
  };
112
+ /** A bundle's digest exists only after `resolveWorkspaceBundles` built or hashed it. */
113
+ const resolvedBundleDigest = (resource) => {
114
+ if (resource.sha256 === undefined)
115
+ throw new SpawnfileError("compile_error", `Workspace bundle ${resource.id} has not been built`);
116
+ return resource.sha256;
117
+ };
92
118
  export const toWorkspaceResourcePlan = (resource, context) => resource.kind === "git"
93
119
  ? {
94
120
  backingPath: resolveBackingPath(resource, context.targetId),
@@ -103,7 +129,13 @@ export const toWorkspaceResourcePlan = (resource, context) => resource.kind ===
103
129
  ...(resource.tag ? { tag: resource.tag } : {}),
104
130
  url: resource.url
105
131
  }
106
- : {
132
+ : resource.kind === "bundle" ? {
133
+ archivePath: `/opt/spawnfile/workspace-bundles/${resolvedBundleDigest(resource).slice(7)}.tar`,
134
+ backingPath: resolveBackingPath(resource, context.targetId), id: resource.id, kind: "bundle",
135
+ linkPath: resolveLinkPath(normalizeMount(resource.mount), context.workspacePath), mode: resource.mode,
136
+ mount: normalizeMount(resource.mount), sharing: resource.sharing, sha256: resolvedBundleDigest(resource),
137
+ ...(resource.source !== undefined ? { source: path.resolve(path.dirname(resource.scope.key), resource.source) } : {})
138
+ } : {
107
139
  backingPath: resolveBackingPath(resource, context.targetId),
108
140
  id: resource.id,
109
141
  kind: "volume",
@@ -0,0 +1,3 @@
1
+ import type { DeploymentActivation } from "./resourceLog.js";
2
+ /** Strictly later than the stopped observation, even at millisecond clock resolution. */
3
+ export declare const activationBeforeStart: (stoppedAt: number | undefined, now?: () => Date) => Promise<DeploymentActivation>;
@@ -0,0 +1,12 @@
1
+ import { setTimeout } from "node:timers/promises";
2
+ /** Strictly later than the stopped observation, even at millisecond clock resolution. */
3
+ export const activationBeforeStart = async (stoppedAt, now = () => new Date()) => {
4
+ for (let attempt = 0; attempt < 1_000; attempt += 1) {
5
+ const instant = now();
6
+ if (stoppedAt === undefined || instant.getTime() > stoppedAt) {
7
+ return { activated_at: instant.toISOString(), activation_exact: true };
8
+ }
9
+ await setTimeout(1);
10
+ }
11
+ throw new Error("Host clock did not advance after the previous container stopped");
12
+ };
@@ -1,4 +1,5 @@
1
1
  import path from "node:path/posix";
2
+ import { DAIMON_GROK_TURN_USAGE_LEDGER } from "../runtime/daimon/contractManifest.js";
2
3
  const AGENT_NODE_ID_PREFIX = "agent:";
3
4
  const TEAM_NODE_ID_PREFIX = "team:";
4
5
  /** Strips the compiler's `agent:` node-id prefix down to the generated runtime slug, the
@@ -122,6 +123,54 @@ const planDaimonFiles = (report, mounts) => (report.container?.runtime_instances
122
123
  }
123
124
  }];
124
125
  }));
126
+ /** The persistent-mount id the Daimon adapter gives the per-turn engine usage ledger
127
+ * (`src/runtime/daimon/config.ts`). Deliberately still says `grok` now that AGY writes
128
+ * there too: the id is the volume's identity, and renaming it orphans every existing
129
+ * deployment's accumulated ledger. */
130
+ const DAIMON_USAGE_MOUNT_ID = "daimon-grok-usage-ledger";
131
+ /** Daimon usage: the organization-wide per-turn engine token ledger.
132
+ *
133
+ * Unlike the causal streams above this is NOT per agent -- one exclusive-reattach volume
134
+ * carries every metered turn for the whole Daimon host -- so it exports flat under
135
+ * `raw/daimon/`, the way a single managed Moltnet network exports flat under
136
+ * `raw/moltnet/`. Flat also keeps it clear of the `raw/daimon/<slug>/` directories the
137
+ * per-agent causal files use.
138
+ *
139
+ * BOTH generations ship. The broker rotates by size at
140
+ * `DAIMON_GROK_TURN_USAGE_LEDGER.rotateBytes`, so a long-lived deployment's earlier turns
141
+ * live in `usage.jsonl.1`; exporting only the live file would silently truncate history
142
+ * for exactly the runs expensive enough to care about. This is the same rotation the read
143
+ * path already handles (`src/runtime/usageLedgerRead.ts` reads both generations).
144
+ *
145
+ * The mount root IS the ledger directory (`mountPath` is
146
+ * `DAIMON_GROK_TURN_USAGE_LEDGER.directoryPath`), so both names are resolved as
147
+ * mount-relative paths off the pinned contract constants rather than written out here --
148
+ * if the contract ever moves the ledger, this follows it instead of silently exporting
149
+ * nothing.
150
+ *
151
+ * Optional, because absent must stay distinguishable from empty: a codex-only
152
+ * organization is never provisioned this volume and writes no ledger at all, which is
153
+ * legitimate, and the mount is absent from the report entirely in that case. Where the
154
+ * volume exists but a generation does not (no rotation yet, or no metered turn yet), the
155
+ * executor records it under `missingOptionalFiles` rather than as an exported empty file
156
+ * (`artifactsExport.ts`). */
157
+ const planDaimonUsageFiles = (mounts) => {
158
+ const mount = mounts.get(DAIMON_USAGE_MOUNT_ID);
159
+ if (!mount) {
160
+ return [];
161
+ }
162
+ return [
163
+ DAIMON_GROK_TURN_USAGE_LEDGER.filePath,
164
+ DAIMON_GROK_TURN_USAGE_LEDGER.rotatedFilePath
165
+ ].map((absolutePath) => {
166
+ const volumePath = path.relative(DAIMON_GROK_TURN_USAGE_LEDGER.directoryPath, absolutePath);
167
+ return {
168
+ optional: true,
169
+ relativePath: `raw/daimon/${volumePath}`,
170
+ source: { kind: "volume", volumeName: mount.volume_name, volumePath }
171
+ };
172
+ });
173
+ };
125
174
  /** Resolves every durable artifact file this run's compile report declares, and where each
126
175
  * one is read from. Pure function of the compile report alone (no deployment record, no
127
176
  * Docker) — `artifactsExport.ts` supplies the live container name at execution time. */
@@ -130,6 +179,7 @@ export const planArtifactExports = (report) => {
130
179
  return [
131
180
  ...planMoltnetFiles(report, mounts),
132
181
  ...planMnemeFiles(report, mounts),
133
- ...planDaimonFiles(report, mounts)
182
+ ...planDaimonFiles(report, mounts),
183
+ ...planDaimonUsageFiles(mounts)
134
184
  ];
135
185
  };
@@ -0,0 +1,42 @@
1
+ import { z } from "zod";
2
+ export declare const deploymentIdentitySchema: z.ZodObject<{
3
+ version: z.ZodLiteral<"spawnfile.deployment-identity.v1">;
4
+ run_id: z.ZodString;
5
+ fingerprint: z.ZodString;
6
+ deployment_name: z.ZodString;
7
+ deployment_mode: z.ZodEnum<{
8
+ image: "image";
9
+ project: "project";
10
+ }>;
11
+ image_id: z.ZodString;
12
+ organization_unit_id: z.ZodString;
13
+ organization_compile_fingerprint: z.ZodString;
14
+ organization_world_binding_digest: z.ZodNullable<z.ZodString>;
15
+ topology_sha256: z.ZodString;
16
+ }, z.core.$strict>;
17
+ type Execute = (command: string, args: string[]) => Promise<string | void>;
18
+ type Inspect = (command: string, args: string[]) => Promise<string>;
19
+ export declare const verifyCandidatePortIsolation: (liveReport: unknown, candidateReport: unknown) => number[];
20
+ export declare const issueDeploymentIdentity: (readinessPath: string, deploymentMode: "project" | "image", dockerCommand: string, imageInspect?: Inspect) => Promise<Record<string, unknown>>;
21
+ export declare const runCanaryCutover: (input: {
22
+ liveReportPath: string;
23
+ candidateReportPath: string;
24
+ readinessPath: string;
25
+ expectedIdentity: unknown;
26
+ dockerCommand: string;
27
+ nonce: string;
28
+ transactionPath: string;
29
+ ingressCommand: string;
30
+ ingressArgs: string[];
31
+ ingressReceiptPath: string;
32
+ teardownCommand: string;
33
+ teardownArgs: string[];
34
+ teardownPolicy: "export" | "force";
35
+ teardownProjectPath: string;
36
+ teardownCompiledPath: string;
37
+ decisionReceiptPath: string;
38
+ fromDeployment: string;
39
+ toDeployment: string;
40
+ }, runner?: Execute, imageInspect?: Inspect) => Promise<Record<string, unknown>>;
41
+ export declare const verifyEquivalentRollbackReadiness: (rollbackReadinessPath: string, expectedIdentity: unknown) => Promise<void>;
42
+ export {};