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,21 @@
1
+ import type { TrainingPreparationConfig } from "./contract.js";
2
+ export interface PreparedTrainingBroker {
3
+ declarationPath: string;
4
+ launch: {
5
+ engine: "grok";
6
+ realmVolume: string;
7
+ bootstrap: string;
8
+ declaration: string;
9
+ };
10
+ }
11
+ /**
12
+ * Lowers `spawnfile.training-container.v4`'s broker block into the read-only
13
+ * `spawnfile.training-broker.v2` declaration the container's own root
14
+ * entrypoint reads, plus the launch bindings that carry the realm volume and
15
+ * bootstrap leaf.
16
+ *
17
+ * The bootstrap is checked here as well as at launch: a run that never reaches
18
+ * `docker create` — a dry run, a failed build — must still refuse the
19
+ * developer's desktop Grok login rather than report it later.
20
+ */
21
+ export declare const prepareTrainingBroker: (broker: NonNullable<TrainingPreparationConfig["broker"]>, root: string, staging: string, write: boolean, slots?: number) => Promise<PreparedTrainingBroker>;
@@ -0,0 +1,45 @@
1
+ import { lstat, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { DAIMON_GROK_SECCOMP_PROFILE_SHA256 } from "../../../shared/daimonGrokSeccompProfile.js";
4
+ import { assertNotDesktopGrokAuth } from "../broker/entrypoint.js";
5
+ import { parseTrainingBrokerDeclaration } from "../broker/declaration.js";
6
+ import { TRAINING_BOOTSTRAP_MOUNT } from "../broker/paths.js";
7
+ import { DAIMON_ORGANIZATION_UID } from "../../../runtime/daimon/runtimeIdentity.js";
8
+ /**
9
+ * Lowers `spawnfile.training-container.v4`'s broker block into the read-only
10
+ * `spawnfile.training-broker.v2` declaration the container's own root
11
+ * entrypoint reads, plus the launch bindings that carry the realm volume and
12
+ * bootstrap leaf.
13
+ *
14
+ * The bootstrap is checked here as well as at launch: a run that never reaches
15
+ * `docker create` — a dry run, a failed build — must still refuse the
16
+ * developer's desktop Grok login rather than report it later.
17
+ */
18
+ export const prepareTrainingBroker = async (broker, root, staging, write, slots = 4) => {
19
+ const bootstrap = path.resolve(root, broker.bootstrap);
20
+ assertNotDesktopGrokAuth(bootstrap);
21
+ const info = await lstat(bootstrap).catch(() => undefined);
22
+ if (!info?.isFile() || info.isSymbolicLink())
23
+ throw Error("The training Grok bootstrap must be an existing regular credential leaf");
24
+ if ((info.mode & 0o077) !== 0)
25
+ throw Error("The training Grok bootstrap must not be group- or world-accessible");
26
+ const declaration = parseTrainingBrokerDeclaration({
27
+ version: "spawnfile.training-broker.v2",
28
+ slots,
29
+ maxRunRequests: broker.maxRunRequests,
30
+ engine: broker.engine,
31
+ agentId: broker.agentId,
32
+ model: broker.model,
33
+ reasoningEffort: broker.reasoningEffort,
34
+ architecture: broker.architecture,
35
+ limits: broker.limits,
36
+ bootstrap: TRAINING_BOOTSTRAP_MOUNT,
37
+ organizationUid: DAIMON_ORGANIZATION_UID,
38
+ seccompProfileSha256: DAIMON_GROK_SECCOMP_PROFILE_SHA256,
39
+ ...(broker.unenforcedBindPolicy === undefined ? {} : { unenforcedBindPolicy: broker.unenforcedBindPolicy })
40
+ });
41
+ const declarationPath = path.join(staging, "training-broker.json");
42
+ if (write)
43
+ await writeFile(declarationPath, `${JSON.stringify(declaration)}\n`, { mode: 0o444, flag: "wx" });
44
+ return { declarationPath, launch: { engine: "grok", realmVolume: broker.realmVolume, bootstrap, declaration: declarationPath } };
45
+ };
@@ -0,0 +1,12 @@
1
+ /** Fixed staged timestamp: deterministic context bytes, and still valid in ZIP-based Python builds. */
2
+ export declare const TRAINING_CONTEXT_MTIME: Date;
3
+ /**
4
+ * `chmod a+rX` closure: every directory gains 0555; every other entry gains 0444,
5
+ * plus 0111 when any execute bit is already present. Symlinks are never staged.
6
+ */
7
+ export declare const readableClosure: (mode: number, directory: boolean) => number;
8
+ /**
9
+ * Fix staged build-context modes and times so COPY produces exactly the modes the
10
+ * former in-image `chmod 0555 grok train && chmod -R a+rX /opt/training` produced.
11
+ */
12
+ export declare function normalizeTrainingContext(staging: string): Promise<void>;
@@ -0,0 +1,38 @@
1
+ import { chmod, lstat, readdir, utimes } from "node:fs/promises";
2
+ import path from "node:path";
3
+ /** Fixed staged timestamp: deterministic context bytes, and still valid in ZIP-based Python builds. */
4
+ export const TRAINING_CONTEXT_MTIME = new Date("2000-01-01T00:00:00Z");
5
+ /**
6
+ * Executables the recipe previously forced to 0555 before its recursive closure.
7
+ * `spawnfile.training-container.v3` stages no Grok binary — judges use the native
8
+ * parent's pinned `/usr/local/bin/grok` — and adds the root broker entrypoint.
9
+ */
10
+ const EXACT_MODES = { train: 0o555, "train-broker": 0o555 };
11
+ /**
12
+ * `chmod a+rX` closure: every directory gains 0555; every other entry gains 0444,
13
+ * plus 0111 when any execute bit is already present. Symlinks are never staged.
14
+ */
15
+ export const readableClosure = (mode, directory) => directory ? (mode & 0o7777) | 0o555 : (mode & 0o7777) | 0o444 | ((mode & 0o111) !== 0 ? 0o111 : 0);
16
+ /**
17
+ * Fix staged build-context modes and times so COPY produces exactly the modes the
18
+ * former in-image `chmod 0555 grok train && chmod -R a+rX /opt/training` produced.
19
+ */
20
+ export async function normalizeTrainingContext(staging) {
21
+ const visit = async (entry, relative) => {
22
+ const stat = await lstat(entry);
23
+ if (stat.isSymbolicLink())
24
+ throw Error("Training build context must not contain symlinks");
25
+ if (stat.isDirectory()) {
26
+ for (const name of (await readdir(entry)).sort())
27
+ await visit(path.join(entry, name), path.posix.join(relative, name));
28
+ if (relative)
29
+ await chmod(entry, readableClosure(stat.mode, true));
30
+ }
31
+ else {
32
+ await chmod(entry, EXACT_MODES[relative] ?? readableClosure(stat.mode, false));
33
+ }
34
+ if (relative)
35
+ await utimes(entry, TRAINING_CONTEXT_MTIME, TRAINING_CONTEXT_MTIME);
36
+ };
37
+ await visit(staging, "");
38
+ }
@@ -0,0 +1,207 @@
1
+ import { z } from "zod";
2
+ export declare const trainingBuildSchema: z.ZodObject<{
3
+ recipe: z.ZodLiteral<"daimon-dspy.v1">;
4
+ nativeImage: z.ZodString;
5
+ pythonImage: z.ZodString;
6
+ platform: z.ZodEnum<{
7
+ "linux/amd64": "linux/amd64";
8
+ "linux/arm64": "linux/arm64";
9
+ }>;
10
+ paideia: z.ZodString;
11
+ bridge: z.ZodString;
12
+ claude: z.ZodString;
13
+ compiler: z.ZodOptional<z.ZodString>;
14
+ grok: z.ZodOptional<z.ZodObject<{
15
+ source: z.ZodString;
16
+ sha256: z.ZodString;
17
+ }, z.core.$strict>>;
18
+ integration: z.ZodObject<{
19
+ source: z.ZodString;
20
+ entry: z.ZodString;
21
+ execution: z.ZodOptional<z.ZodLiteral<"spawnfile.training-execution.v1">>;
22
+ }, z.core.$strict>;
23
+ bootstrap: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strict>;
25
+ /**
26
+ * `spawnfile.training-container.v3`'s brokered Grok slot.
27
+ *
28
+ * It is the whole difference from v2: the container starts as root with the
29
+ * production capability set, runs one broker slot for the subject, holds the
30
+ * dedicated training Grok login in a named realm volume seeded from
31
+ * `bootstrap`, and serves judge inference grants out of the same credential.
32
+ * No Grok binary and no Grok auth staging enter the image.
33
+ */
34
+ export declare const trainingBrokerSchema: z.ZodObject<{
35
+ maxRunRequests: z.ZodDefault<z.ZodNumber>;
36
+ engine: z.ZodLiteral<"grok">;
37
+ agentId: z.ZodString;
38
+ model: z.ZodEnum<{
39
+ "grok-4.6": "grok-4.6";
40
+ "grok-4.5": "grok-4.5";
41
+ "grok-build": "grok-build";
42
+ }>;
43
+ reasoningEffort: z.ZodEnum<{
44
+ high: "high";
45
+ medium: "medium";
46
+ low: "low";
47
+ }>;
48
+ architecture: z.ZodEnum<{
49
+ arm64: "arm64";
50
+ x64: "x64";
51
+ }>;
52
+ limits: z.ZodObject<{
53
+ maxRequests: z.ZodNumber;
54
+ maxTokens: z.ZodNumber;
55
+ timeoutMs: z.ZodNumber;
56
+ }, z.core.$strict>;
57
+ realmVolume: z.ZodString;
58
+ bootstrap: z.ZodString;
59
+ unenforcedBindPolicy: z.ZodOptional<z.ZodEnum<{
60
+ refuse: "refuse";
61
+ "profile-only": "profile-only";
62
+ }>>;
63
+ }, z.core.$strict>;
64
+ export declare const trainingPreparationSchema: z.ZodObject<{
65
+ version: z.ZodEnum<{
66
+ "spawnfile.training-container.v3": "spawnfile.training-container.v3";
67
+ "spawnfile.training-container.v4": "spawnfile.training-container.v4";
68
+ "spawnfile.training-container.v2": "spawnfile.training-container.v2";
69
+ }>;
70
+ slots: z.ZodDefault<z.ZodNumber>;
71
+ dockerContext: z.ZodString;
72
+ image: z.ZodUnion<readonly [z.ZodObject<{
73
+ ref: z.ZodString;
74
+ }, z.core.$strict>, z.ZodObject<{
75
+ build: z.ZodObject<{
76
+ recipe: z.ZodLiteral<"daimon-dspy.v1">;
77
+ nativeImage: z.ZodString;
78
+ pythonImage: z.ZodString;
79
+ platform: z.ZodEnum<{
80
+ "linux/amd64": "linux/amd64";
81
+ "linux/arm64": "linux/arm64";
82
+ }>;
83
+ paideia: z.ZodString;
84
+ bridge: z.ZodString;
85
+ claude: z.ZodString;
86
+ compiler: z.ZodOptional<z.ZodString>;
87
+ grok: z.ZodOptional<z.ZodObject<{
88
+ source: z.ZodString;
89
+ sha256: z.ZodString;
90
+ }, z.core.$strict>>;
91
+ integration: z.ZodObject<{
92
+ source: z.ZodString;
93
+ entry: z.ZodString;
94
+ execution: z.ZodOptional<z.ZodLiteral<"spawnfile.training-execution.v1">>;
95
+ }, z.core.$strict>;
96
+ bootstrap: z.ZodOptional<z.ZodString>;
97
+ }, z.core.$strict>;
98
+ }, z.core.$strict>]>;
99
+ integration: z.ZodObject<{
100
+ settings: z.ZodObject<{
101
+ input: z.ZodString;
102
+ path: z.ZodUnion<readonly [z.ZodLiteral<".">, z.ZodString]>;
103
+ }, z.core.$strict>;
104
+ }, z.core.$strict>;
105
+ inputs: z.ZodArray<z.ZodObject<{
106
+ id: z.ZodString;
107
+ source: z.ZodString;
108
+ destination: z.ZodString;
109
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
110
+ git: z.ZodOptional<z.ZodObject<{
111
+ revision: z.ZodString;
112
+ overlays: z.ZodDefault<z.ZodArray<z.ZodObject<{
113
+ source: z.ZodString;
114
+ path: z.ZodString;
115
+ sha256: z.ZodString;
116
+ }, z.core.$strict>>>;
117
+ }, z.core.$strict>>;
118
+ }, z.core.$strict>>;
119
+ output: z.ZodObject<{
120
+ source: z.ZodString;
121
+ destination: z.ZodLiteral<"/run/training/output">;
122
+ }, z.core.$strict>;
123
+ auth: z.ZodArray<z.ZodObject<{
124
+ source: z.ZodString;
125
+ provider: z.ZodEnum<{
126
+ codex: "codex";
127
+ claude: "claude";
128
+ }>;
129
+ }, z.core.$strict>>;
130
+ evaluatorRoutes: z.ZodOptional<z.ZodArray<z.ZodObject<{
131
+ purpose: z.ZodEnum<{
132
+ decisions: "decisions";
133
+ extraction: "extraction";
134
+ proposals: "proposals";
135
+ }>;
136
+ provider: z.ZodEnum<{
137
+ "codex-subscription": "codex-subscription";
138
+ typesafe: "typesafe";
139
+ }>;
140
+ model: z.ZodString;
141
+ maxRequests: z.ZodNumber;
142
+ maxSpendUsd: z.ZodOptional<z.ZodNumber>;
143
+ }, z.core.$strict>>>;
144
+ evaluatorSecrets: z.ZodOptional<z.ZodArray<z.ZodObject<{
145
+ provider: z.ZodLiteral<"typesafe">;
146
+ source: z.ZodString;
147
+ }, z.core.$strict>>>;
148
+ subjectIsolation: z.ZodOptional<z.ZodLiteral<"codex-native-sandbox">>;
149
+ broker: z.ZodOptional<z.ZodObject<{
150
+ maxRunRequests: z.ZodDefault<z.ZodNumber>;
151
+ engine: z.ZodLiteral<"grok">;
152
+ agentId: z.ZodString;
153
+ model: z.ZodEnum<{
154
+ "grok-4.6": "grok-4.6";
155
+ "grok-4.5": "grok-4.5";
156
+ "grok-build": "grok-build";
157
+ }>;
158
+ reasoningEffort: z.ZodEnum<{
159
+ high: "high";
160
+ medium: "medium";
161
+ low: "low";
162
+ }>;
163
+ architecture: z.ZodEnum<{
164
+ arm64: "arm64";
165
+ x64: "x64";
166
+ }>;
167
+ limits: z.ZodObject<{
168
+ maxRequests: z.ZodNumber;
169
+ maxTokens: z.ZodNumber;
170
+ timeoutMs: z.ZodNumber;
171
+ }, z.core.$strict>;
172
+ realmVolume: z.ZodString;
173
+ bootstrap: z.ZodString;
174
+ unenforcedBindPolicy: z.ZodOptional<z.ZodEnum<{
175
+ refuse: "refuse";
176
+ "profile-only": "profile-only";
177
+ }>>;
178
+ }, z.core.$strict>>;
179
+ }, z.core.$strict>;
180
+ export type TrainingPreparationConfig = z.infer<typeof trainingPreparationSchema>;
181
+ export type TrainingImageBuild = z.infer<typeof trainingBuildSchema>;
182
+ /** Image integration reads this protected, container-addressed receipt, never host paths. */
183
+ export interface TrainingMappedPreparation {
184
+ version: "spawnfile.training-preparation.v1";
185
+ preparationDigest: string;
186
+ imageId: string;
187
+ bindings: {
188
+ inputId: string;
189
+ destination: string;
190
+ }[];
191
+ outputRoot: "/run/training/output";
192
+ packagePaths: {
193
+ spawnfile: string;
194
+ paideia: string;
195
+ bridge: string;
196
+ nativeWorker: string;
197
+ integration: string;
198
+ bootstrap: string;
199
+ };
200
+ integration: {
201
+ settings: {
202
+ input: string;
203
+ path: string;
204
+ };
205
+ };
206
+ }
207
+ export declare const parseTrainingMappedPreparation: (value: unknown) => TrainingMappedPreparation;
@@ -0,0 +1,113 @@
1
+ import path from "node:path";
2
+ import { z } from "zod";
3
+ import { trainingEvaluatorRoutesSchema, trainingEvaluatorSecretsSchema } from "../container/evaluators.js";
4
+ import { trainingImageSchema } from "../container/contract.js";
5
+ import { TRAINING_EXECUTION_VERSION } from "../contract.js";
6
+ import { DAIMON_GROK_BROKER_MODELS, DAIMON_GROK_BROKER_REASONING_EFFORTS, DAIMON_GROK_ENGINE_BROKER } from "../../../runtime/daimon/contractManifest.js";
7
+ const local = z.string().min(1).refine(value => !/[,\r\n\0]/u.test(value));
8
+ const relative = local.refine(value => !path.isAbsolute(value) && !value.includes("\\") && value.split("/").every(part => part !== "" && part !== "." && part !== ".." && part !== ".git"));
9
+ const reference = z.object({ input: z.string().min(1), path: z.union([z.literal("."), relative]) }).strict();
10
+ const sha = z.string().regex(/^sha256:[a-f0-9]{64}$/u);
11
+ const destination = z.string().regex(/^\/run\/training\/inputs\/[A-Za-z0-9._/-]+$/u).refine(value => path.posix.normalize(value) === value && !value.endsWith("/"));
12
+ export const trainingBuildSchema = z.object({
13
+ recipe: z.literal("daimon-dspy.v1"), nativeImage: trainingImageSchema, pythonImage: trainingImageSchema,
14
+ platform: z.enum(["linux/arm64", "linux/amd64"]),
15
+ paideia: local, bridge: local, claude: local, compiler: local.optional(),
16
+ /**
17
+ * Deprecated with `spawnfile.training-container.v3`: the image no longer
18
+ * copies a Grok binary at all. Judges run the native parent's pinned
19
+ * `/usr/local/bin/grok` through a broker inference grant, so a second copy
20
+ * could only ever be a different, unattested build.
21
+ */
22
+ grok: z.object({ source: local, sha256: sha }).strict().optional(),
23
+ integration: z.object({ source: local, entry: relative.refine(value => /^[A-Za-z0-9._/-]+$/u.test(value)),
24
+ execution: z.literal(TRAINING_EXECUTION_VERSION).optional() }).strict(), bootstrap: local.optional()
25
+ }).strict();
26
+ const bounds = DAIMON_GROK_ENGINE_BROKER.turnLimits.bounds;
27
+ /**
28
+ * `spawnfile.training-container.v3`'s brokered Grok slot.
29
+ *
30
+ * It is the whole difference from v2: the container starts as root with the
31
+ * production capability set, runs one broker slot for the subject, holds the
32
+ * dedicated training Grok login in a named realm volume seeded from
33
+ * `bootstrap`, and serves judge inference grants out of the same credential.
34
+ * No Grok binary and no Grok auth staging enter the image.
35
+ */
36
+ export const trainingBrokerSchema = z.object({
37
+ maxRunRequests: z.number().int().positive().max(Number.MAX_SAFE_INTEGER).default(1000),
38
+ engine: z.literal("grok"),
39
+ agentId: z.string().min(1).max(128).regex(/^[A-Za-z0-9][A-Za-z0-9._:-]*$/u),
40
+ model: z.enum(DAIMON_GROK_BROKER_MODELS),
41
+ reasoningEffort: z.enum(DAIMON_GROK_BROKER_REASONING_EFFORTS),
42
+ architecture: z.enum(["arm64", "x64"]),
43
+ limits: z.object({
44
+ maxRequests: z.number().int().min(bounds.maxRequests[0]).max(bounds.maxRequests[1]),
45
+ maxTokens: z.number().int().min(bounds.maxTokens[0]).max(bounds.maxTokens[1]),
46
+ timeoutMs: z.number().int().min(bounds.timeoutMs[0]).max(bounds.timeoutMs[1])
47
+ }).strict(),
48
+ /** Named Docker volume for the rotating training credential and its journal; never a host bind. */
49
+ realmVolume: z.string().regex(/^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$/u),
50
+ /** The dedicated training Grok login leaf, relative to the declaration. Never the desktop `~/.grok/auth.json`. */
51
+ bootstrap: local,
52
+ unenforcedBindPolicy: z.enum(["refuse", "profile-only"]).optional()
53
+ }).strict();
54
+ export const trainingPreparationSchema = z.object({
55
+ version: z.enum(["spawnfile.training-container.v2", "spawnfile.training-container.v3", "spawnfile.training-container.v4"]),
56
+ slots: z.number().int().min(1).max(8).default(4),
57
+ dockerContext: z.string().regex(/^[A-Za-z0-9][A-Za-z0-9_.-]{0,127}$/u),
58
+ image: z.union([z.object({ ref: trainingImageSchema }).strict(), z.object({ build: trainingBuildSchema }).strict()]),
59
+ integration: z.object({ settings: reference }).strict(),
60
+ inputs: z.array(z.object({
61
+ id: z.string().regex(/^[A-Za-z][A-Za-z0-9_-]{0,63}$/u), source: local, destination,
62
+ include: z.array(relative).min(1).max(256).optional(),
63
+ git: z.object({ revision: z.string().regex(/^[a-f0-9]{40}$/u),
64
+ overlays: z.array(z.object({ source: local, path: relative, sha256: sha }).strict()).max(256).default([])
65
+ }).strict().optional()
66
+ }).strict()).min(1).max(64),
67
+ output: z.object({ source: local, destination: z.literal("/run/training/output") }).strict(),
68
+ auth: z.array(z.object({ source: local, provider: z.enum(["codex", "claude"]) }).strict()).max(2),
69
+ evaluatorRoutes: trainingEvaluatorRoutesSchema.optional(),
70
+ evaluatorSecrets: trainingEvaluatorSecretsSchema(local).optional(),
71
+ subjectIsolation: z.literal("codex-native-sandbox").optional(),
72
+ broker: trainingBrokerSchema.optional()
73
+ }).strict().superRefine((value, context) => {
74
+ if (value.evaluatorSecrets && !value.broker && !value.subjectIsolation)
75
+ context.addIssue({ code: "custom", message: "Evaluator secrets require brokered v4 isolation or explicit codex-native-sandbox subject isolation" });
76
+ if (value.subjectIsolation && value.version !== "spawnfile.training-container.v2")
77
+ context.addIssue({ code: "custom", message: "Codex native subject isolation requires a non-brokered v2 preparation" });
78
+ if (value.subjectIsolation && !value.evaluatorRoutes?.some(route => route.provider === "typesafe"))
79
+ context.addIssue({ code: "custom", message: "Codex native subject isolation requires a TypeSafe evaluator route" });
80
+ if (value.evaluatorSecrets && !value.evaluatorRoutes?.some(route => route.provider === "typesafe")) {
81
+ context.addIssue({ code: "custom", message: "TypeSafe secret requires a declared evaluator route" });
82
+ }
83
+ if (value.version === "spawnfile.training-container.v3")
84
+ context.addIssue({ code: "custom", message: "Training-container v3 is unsupported; migrate to v4 with slots: 1" });
85
+ if ((value.version === "spawnfile.training-container.v4") !== (value.broker !== undefined)) {
86
+ context.addIssue({ code: "custom", message: "Only spawnfile.training-container.v4 declares broker slots; migrate v3 by setting version to v4 and slots to 1" });
87
+ }
88
+ if (value.broker && "build" in value.image && value.image.build.grok) {
89
+ context.addIssue({ code: "custom", message: "A v3 training image never copies a Grok binary; judges use the native parent's pinned /usr/local/bin/grok" });
90
+ }
91
+ if (new Set(value.inputs.map(input => input.id)).size !== value.inputs.length)
92
+ context.addIssue({ code: "custom", message: "Input IDs must be unique" });
93
+ if (new Set(value.auth.map(auth => auth.provider)).size !== value.auth.length)
94
+ context.addIssue({ code: "custom", message: "Auth providers must be unique" });
95
+ if (!value.inputs.some(input => input.id === value.integration.settings.input))
96
+ context.addIssue({ code: "custom", message: "Integration settings require a declared input" });
97
+ if (value.inputs.some(input => input.git && input.include))
98
+ context.addIssue({ code: "custom", message: "Git snapshots and selective local inputs are separate modes" });
99
+ });
100
+ const containerPath = z.string().regex(/^\/(?:run|opt)\/[A-Za-z0-9._/-]+$/u).refine(value => path.posix.normalize(value) === value);
101
+ const mappedSchema = z.object({
102
+ version: z.literal("spawnfile.training-preparation.v1"), preparationDigest: sha, imageId: trainingImageSchema,
103
+ bindings: z.array(z.object({ inputId: z.string().min(1), destination }).strict()).min(1).max(64),
104
+ outputRoot: z.literal("/run/training/output"),
105
+ packagePaths: z.object({ spawnfile: containerPath, paideia: containerPath, bridge: containerPath,
106
+ nativeWorker: containerPath, integration: containerPath, bootstrap: containerPath }).strict(),
107
+ integration: z.object({ settings: reference }).strict()
108
+ }).strict().superRefine((value, context) => {
109
+ if (new Set(value.bindings.map(binding => binding.inputId)).size !== value.bindings.length ||
110
+ !value.bindings.some(binding => binding.inputId === value.integration.settings.input))
111
+ context.addIssue({ code: "custom", message: "Invalid preparation binding IDs" });
112
+ });
113
+ export const parseTrainingMappedPreparation = (value) => mappedSchema.parse(value);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { cp, mkdir } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ const root = fileURLToPath(new URL("../../../../", import.meta.url));
5
+ const target = path.join(root, "dist/compiler/training/preparation/assets");
6
+ await mkdir(target, { recursive: true });
7
+ await cp(path.join(root, "runtime-images/training/Dockerfile"), path.join(target, "Dockerfile"));
8
+ await cp(path.join(root, "package-lock.json"), path.join(target, "package-lock.json"));
@@ -0,0 +1,42 @@
1
+ import { type LocalDaimonRuntimeIdentity } from "../../../runtime/index.js";
2
+ import type { TrainingImageBuild } from "./contract.js";
3
+ /**
4
+ * The declared native parent (`image.build.nativeImage`) and the attested local
5
+ * Daimon runtime identity (`SPAWNFILE_DAIMON_LOCAL_RUNTIME_IDENTITY`) are two
6
+ * independent pointers at one composed run, and they are never the same digest:
7
+ * `runtime-images/daimon/Dockerfile` ends in `FROM scratch`, so the identity can
8
+ * only ever attest a *scratch* image that a runnable native parent copies
9
+ * `/opt/spawnfile/runtime-installs/daimon` out of. Nothing host-side can compare
10
+ * the two digests, so the binding is by content: the capability receipt and
11
+ * contract-manifest digest the identity attests must be the ones actually baked
12
+ * into the declared parent. `src/runtime/container.ts` verifies exactly this for
13
+ * a compiled organization image; this is the same check for a training image.
14
+ */
15
+ export declare const DAIMON_RUNTIME_INSTALL_ROOT = "/opt/spawnfile/runtime-installs/daimon";
16
+ export interface TrainingDaimonParent {
17
+ declarationPath: string;
18
+ identity: LocalDaimonRuntimeIdentity;
19
+ identityPath: string;
20
+ nativeImage: string;
21
+ }
22
+ /**
23
+ * Resolves the identity that must match the declared native parent. Runs before
24
+ * any Docker call, so an absent, stale-pinned or architecture-drifted identity
25
+ * refuses the run — including `--dry-run` — before a container or a token is spent.
26
+ */
27
+ export declare const resolveTrainingDaimonParent: (build: TrainingImageBuild, declarationPath: string, env?: NodeJS.ProcessEnv) => Promise<TrainingDaimonParent | undefined>;
28
+ /**
29
+ * One `sh` command, executed as the first instruction of the `${NATIVE_IMAGE}`
30
+ * stage, that refuses the build when the declared parent does not carry the exact
31
+ * Daimon install the identity attests. This is the only place both values exist
32
+ * in one process: the receipt lives inside the image, so no host-side read can
33
+ * reach it without starting something.
34
+ */
35
+ export declare const daimonParentVerificationScript: (parent: TrainingDaimonParent) => string;
36
+ /**
37
+ * Injects the verification as the first instruction of the native stage, so a
38
+ * mismatched pair fails in seconds instead of after the whole distribution copy.
39
+ * The recipe text is part of the image plan digest, so the identity is bound into
40
+ * the training image's identity too — a rotated identity can never be cached over.
41
+ */
42
+ export declare const bindDaimonParentVerification: (dockerfile: string, parent: TrainingDaimonParent) => string;
@@ -0,0 +1,114 @@
1
+ import { SpawnfileError } from "../../../shared/index.js";
2
+ import { DAIMON_LOCAL_RUNTIME_IDENTITY_ENV, loadLocalDaimonRuntimeIdentity } from "../../../runtime/index.js";
3
+ /**
4
+ * The declared native parent (`image.build.nativeImage`) and the attested local
5
+ * Daimon runtime identity (`SPAWNFILE_DAIMON_LOCAL_RUNTIME_IDENTITY`) are two
6
+ * independent pointers at one composed run, and they are never the same digest:
7
+ * `runtime-images/daimon/Dockerfile` ends in `FROM scratch`, so the identity can
8
+ * only ever attest a *scratch* image that a runnable native parent copies
9
+ * `/opt/spawnfile/runtime-installs/daimon` out of. Nothing host-side can compare
10
+ * the two digests, so the binding is by content: the capability receipt and
11
+ * contract-manifest digest the identity attests must be the ones actually baked
12
+ * into the declared parent. `src/runtime/container.ts` verifies exactly this for
13
+ * a compiled organization image; this is the same check for a training image.
14
+ */
15
+ export const DAIMON_RUNTIME_INSTALL_ROOT = "/opt/spawnfile/runtime-installs/daimon";
16
+ /** A native parent served by the attested loopback development registry is always a local build. */
17
+ const LOOPBACK_NATIVE_PARENT = /^127\.0\.0\.1:(?:[1-9]\d{0,4})\//u;
18
+ const FROM_NATIVE_IMAGE = /^FROM \$\{NATIVE_IMAGE\}.*$/mu;
19
+ /** Everything embedded in the single-quoted shell literals below must be inert. */
20
+ const SHELL_SAFE = /^[A-Za-z0-9 ._:@/=+,()~-]+$/u;
21
+ const refuse = (lines) => {
22
+ throw new SpawnfileError("validation_error", lines.join("\n"));
23
+ };
24
+ const safe = (label, value) => {
25
+ if (!SHELL_SAFE.test(value)) {
26
+ refuse([
27
+ `Training cannot bind its native parent to a local Daimon runtime identity: ${label} contains characters that cannot be embedded in the image recipe.`,
28
+ ` ${label} = ${JSON.stringify(value)}`
29
+ ]);
30
+ }
31
+ return value;
32
+ };
33
+ /**
34
+ * Resolves the identity that must match the declared native parent. Runs before
35
+ * any Docker call, so an absent, stale-pinned or architecture-drifted identity
36
+ * refuses the run — including `--dry-run` — before a container or a token is spent.
37
+ */
38
+ export const resolveTrainingDaimonParent = async (build, declarationPath, env = process.env) => {
39
+ const identityPath = env[DAIMON_LOCAL_RUNTIME_IDENTITY_ENV]?.trim();
40
+ if (!identityPath) {
41
+ if (LOOPBACK_NATIVE_PARENT.test(build.nativeImage)) {
42
+ refuse([
43
+ "Training refuses a locally built native parent with no attested Daimon runtime identity.",
44
+ ` ${declarationPath} image.build.nativeImage = ${build.nativeImage}`,
45
+ ` ${DAIMON_LOCAL_RUNTIME_IDENTITY_ENV} = (unset)`,
46
+ `Point ${DAIMON_LOCAL_RUNTIME_IDENTITY_ENV} at the runtime identity written by the same rebuild that baked ${DAIMON_RUNTIME_INSTALL_ROOT} into that image.`
47
+ ]);
48
+ }
49
+ return undefined;
50
+ }
51
+ // Keeps the existing contract-pin refusal: this is the first time a training
52
+ // run applies it at all, and it stays exactly as strict as it already was.
53
+ const identity = await loadLocalDaimonRuntimeIdentity(identityPath);
54
+ const expected = build.platform === "linux/amd64" ? "amd64" : "arm64";
55
+ if (identity.imageArchitecture !== expected) {
56
+ refuse([
57
+ "Training native parent and local Daimon runtime identity disagree on architecture.",
58
+ ` ${declarationPath} image.build.platform = ${build.platform}`,
59
+ ` ${identityPath} image_architecture = ${identity.imageArchitecture}`,
60
+ "Rebuild both from one architecture, or repoint both at one rebuild."
61
+ ]);
62
+ }
63
+ return {
64
+ declarationPath: safe("the training declaration path", declarationPath),
65
+ identity,
66
+ identityPath: safe(DAIMON_LOCAL_RUNTIME_IDENTITY_ENV, identityPath),
67
+ nativeImage: safe("image.build.nativeImage", build.nativeImage)
68
+ };
69
+ };
70
+ /**
71
+ * One `sh` command, executed as the first instruction of the `${NATIVE_IMAGE}`
72
+ * stage, that refuses the build when the declared parent does not carry the exact
73
+ * Daimon install the identity attests. This is the only place both values exist
74
+ * in one process: the receipt lives inside the image, so no host-side read can
75
+ * reach it without starting something.
76
+ */
77
+ export const daimonParentVerificationScript = (parent) => {
78
+ const receipt = `${DAIMON_RUNTIME_INSTALL_ROOT}/capability-receipt.json`;
79
+ const manifest = `${DAIMON_RUNTIME_INSTALL_ROOT}/contract-manifest.sha256`;
80
+ const report = [
81
+ `printf '%s\\n'`,
82
+ `'REFUSED: the declared training native parent does not carry the Daimon install its runtime identity attests.'`,
83
+ `" ${parent.declarationPath} image.build.nativeImage = ${parent.nativeImage}"`,
84
+ `" ${parent.identityPath} capability_receipt_sha256 = ${parent.identity.capabilityReceipt}"`,
85
+ `" ${parent.identityPath} manifest_sha256 = ${parent.identity.manifestSha256}"`,
86
+ `" native parent ${receipt} = $found_receipt"`,
87
+ `" native parent ${manifest} = $found_manifest"`,
88
+ `'Repoint image.build.nativeImage and ${DAIMON_LOCAL_RUNTIME_IDENTITY_ENV} at the same rebuild.'`,
89
+ `>&2`
90
+ ].join(" ");
91
+ return [
92
+ "set -u",
93
+ `test -f '${receipt}' || { echo "REFUSED: ${parent.nativeImage} has no ${receipt}; it is not a Daimon native parent." >&2; exit 1; }`,
94
+ `test -f '${manifest}' || { echo "REFUSED: ${parent.nativeImage} has no ${manifest}; it is not a Daimon native parent." >&2; exit 1; }`,
95
+ `found_receipt="sha256:$(sha256sum '${receipt}' | cut -d' ' -f1)"`,
96
+ `found_manifest="$(cat '${manifest}')"`,
97
+ `if [ "$found_receipt" != '${parent.identity.capabilityReceipt}' ] || [ "$found_manifest" != '${parent.identity.manifestSha256}' ]; then ${report}; exit 1; fi`
98
+ ].join("; ");
99
+ };
100
+ /**
101
+ * Injects the verification as the first instruction of the native stage, so a
102
+ * mismatched pair fails in seconds instead of after the whole distribution copy.
103
+ * The recipe text is part of the image plan digest, so the identity is bound into
104
+ * the training image's identity too — a rotated identity can never be cached over.
105
+ */
106
+ export const bindDaimonParentVerification = (dockerfile, parent) => {
107
+ if (!FROM_NATIVE_IMAGE.test(dockerfile)) {
108
+ refuse([
109
+ "Training recipe declares no ${NATIVE_IMAGE} stage, so its native parent cannot be bound to the Daimon runtime identity.",
110
+ ` ${parent.identityPath} image_reference = ${parent.identity.imageReference}`
111
+ ]);
112
+ }
113
+ return dockerfile.replace(FROM_NATIVE_IMAGE, (line) => `${line}\nRUN ${daimonParentVerificationScript(parent)}`);
114
+ };
@@ -0,0 +1,29 @@
1
+ export declare const within: (root: string, file: string) => boolean;
2
+ export declare const hashJson: (value: unknown) => string;
3
+ export interface SealedFile {
4
+ source: string;
5
+ destination: string;
6
+ sha256: string;
7
+ mode: number;
8
+ size: number;
9
+ target?: string;
10
+ directory?: true;
11
+ }
12
+ export declare function assertInputRoot(source: string, auth: readonly string[]): void;
13
+ export declare function exactPath(source: string): Promise<string>;
14
+ export declare function sealFile(source: string, destination: string): Promise<SealedFile>;
15
+ /** Only physical entries are walked; confined input links retain their own identity. */
16
+ export declare function sealTree(source: string, destination: string, options?: {
17
+ ignoreDevelopment?: boolean;
18
+ ignoreGit?: boolean;
19
+ internalSymlinks?: boolean;
20
+ }): Promise<SealedFile[]>;
21
+ export declare function copySealed(files: readonly SealedFile[], root: string): Promise<void>;
22
+ export declare const fileIdentity: (files: readonly SealedFile[]) => {
23
+ type?: "directory" | "symlink" | undefined;
24
+ target?: string | undefined;
25
+ destination: string;
26
+ sha256: string;
27
+ mode: number;
28
+ size: number;
29
+ }[];