spawnfile 0.1.33 → 0.1.35

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 (606) hide show
  1. package/README.md +1 -1
  2. package/dist/audit/readAudit.d.ts +3 -3
  3. package/dist/auth/profileStore.d.ts +3 -1
  4. package/dist/auth/profileStore.js +31 -30
  5. package/dist/auth/trainingAuth.d.ts +2 -5
  6. package/dist/auth/types.d.ts +16 -0
  7. package/dist/cli/authCommands.d.ts +1 -1
  8. package/dist/cli/authCommands.js +21 -1
  9. package/dist/cli/devCommands.d.ts +1 -1
  10. package/dist/cli/devCommands.js +0 -66
  11. package/dist/cli/runCli.d.ts +3 -4
  12. package/dist/cli/runCli.js +4 -3
  13. package/dist/cli/trainCommand.js +9 -15
  14. package/dist/cli/trainingBooted.d.ts +9 -0
  15. package/dist/cli/trainingBooted.js +45 -0
  16. package/dist/cli/trainingExecution.d.ts +4 -7
  17. package/dist/cli/trainingExecution.js +4 -32
  18. package/dist/compiler/containerArtifacts.js +0 -5
  19. package/dist/compiler/containerBackedMountRender.js +5 -1
  20. package/dist/compiler/containerDaimonBrokerRender.d.ts +5 -50
  21. package/dist/compiler/containerDaimonBrokerRender.js +19 -90
  22. package/dist/compiler/containerDaimonGatewayRender.d.ts +50 -0
  23. package/dist/compiler/containerDaimonGatewayRender.js +161 -0
  24. package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +2 -10
  25. package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +13 -25
  26. package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +11 -49
  27. package/dist/compiler/containerDaimonGrokWorkerRender.js +15 -39
  28. package/dist/compiler/containerDaimonStartupSupervision.d.ts +8 -0
  29. package/dist/compiler/containerDaimonStartupSupervision.js +39 -0
  30. package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +1 -2
  31. package/dist/compiler/containerDaimonUidEntrypointRender.js +29 -47
  32. package/dist/compiler/containerRuntimeReadinessRender.js +1 -1
  33. package/dist/compiler/memoryArtifacts.js +0 -1
  34. package/dist/compiler/moltnetArtifacts.js +1 -17
  35. package/dist/compiler/moltnetClientConfig.js +1 -1
  36. package/dist/compiler/moltnetRuntimeConfig.js +0 -10
  37. package/dist/compiler/runProject.d.ts +3 -0
  38. package/dist/compiler/runProject.js +12 -5
  39. package/dist/compiler/runProjectAuth.js +6 -18
  40. package/dist/compiler/training/contract.d.ts +0 -2
  41. package/dist/compiler/training/contract.js +0 -2
  42. package/dist/compiler/training/execution.d.ts +1 -128
  43. package/dist/compiler/training/execution.js +7 -68
  44. package/dist/compiler/training/index.d.ts +0 -8
  45. package/dist/compiler/training/index.js +0 -7
  46. package/dist/compiler/training/output.d.ts +1 -0
  47. package/dist/compiler/training/output.js +1 -1
  48. package/dist/compiler/training/rewind/contract.d.ts +6 -6
  49. package/dist/compiler/training/trial/boot.d.ts +72 -0
  50. package/dist/compiler/training/trial/boot.js +225 -0
  51. package/dist/compiler/training/trial/docker.d.ts +10 -0
  52. package/dist/compiler/training/trial/docker.js +22 -0
  53. package/dist/compiler/training/trial/gateway.d.ts +47 -0
  54. package/dist/compiler/training/trial/gateway.js +113 -0
  55. package/dist/compiler/training/trial/homeLogin.d.ts +31 -0
  56. package/dist/compiler/training/trial/homeLogin.js +69 -0
  57. package/dist/compiler/training/trial/index.d.ts +8 -0
  58. package/dist/compiler/training/trial/index.js +8 -0
  59. package/dist/compiler/training/trial/judge.d.ts +15 -0
  60. package/dist/compiler/training/trial/judge.js +42 -0
  61. package/dist/compiler/training/trial/launcher.d.ts +47 -0
  62. package/dist/compiler/training/trial/launcher.js +193 -0
  63. package/dist/compiler/training/trial/login.d.ts +35 -0
  64. package/dist/compiler/training/trial/login.js +85 -0
  65. package/dist/compiler/training/trial/project.d.ts +11 -0
  66. package/dist/compiler/training/trial/project.js +31 -0
  67. package/dist/compiler/training/trial/realmTurns.d.ts +20 -0
  68. package/dist/compiler/training/trial/realmTurns.js +69 -0
  69. package/dist/compiler/upReceipt.d.ts +2 -17
  70. package/dist/compiler/upReceipt.js +2 -17
  71. package/dist/deployment/artifactsExportPlan.js +2 -18
  72. package/dist/deployment/privateArtifactsExport.js +1 -1
  73. package/dist/dev/docker.d.ts +0 -5
  74. package/dist/dev/docker.js +0 -46
  75. package/dist/dev/index.d.ts +0 -1
  76. package/dist/dev/index.js +0 -1
  77. package/dist/dev/project.d.ts +0 -16
  78. package/dist/dev/project.js +1 -128
  79. package/dist/distribution/distributionReportSchema.js +1 -1
  80. package/dist/distribution/imageRuntimeAuth.js +3 -2
  81. package/dist/manifest/renderSpawnfile.js +2 -1
  82. package/dist/release/drainControl.d.ts +5 -19
  83. package/dist/release/drainControl.js +12 -67
  84. package/dist/report/types.d.ts +3 -6
  85. package/dist/runtime/common.d.ts +1 -1
  86. package/dist/runtime/common.js +1 -1
  87. package/dist/runtime/container.d.ts +2 -2
  88. package/dist/runtime/container.js +1 -39
  89. package/dist/runtime/daimon/config.js +8 -14
  90. package/dist/runtime/daimon/contractManifest.js +0 -1
  91. package/dist/runtime/daimon/contractManifestSchema.js +0 -1
  92. package/dist/runtime/daimon/control.d.ts +31 -0
  93. package/dist/runtime/daimon/control.js +83 -0
  94. package/dist/runtime/daimon/engineDescriptorSchema.js +0 -1
  95. package/dist/runtime/daimon/engineDescriptors.generated.d.ts +1 -1
  96. package/dist/runtime/daimon/engineDescriptors.generated.js +1 -2
  97. package/dist/runtime/daimon/engines.js +0 -1
  98. package/dist/runtime/daimon/gateway.d.ts +62 -0
  99. package/dist/runtime/daimon/gateway.js +77 -0
  100. package/dist/runtime/daimon/grokWorkerContract.d.ts +0 -5
  101. package/dist/runtime/daimon/grokWorkerContract.js +1 -13
  102. package/dist/runtime/daimon/index.d.ts +2 -0
  103. package/dist/runtime/daimon/index.js +2 -1
  104. package/dist/runtime/daimon/memory.js +1 -1
  105. package/dist/runtime/daimon/packageName.js +0 -1
  106. package/dist/runtime/daimon/runAuth.js +15 -4
  107. package/dist/runtime/daimon/runtimeIdentity.d.ts +2 -0
  108. package/dist/runtime/daimon/runtimeIdentity.js +2 -0
  109. package/dist/runtime/daimon/subscriptionRealms.d.ts +27 -3
  110. package/dist/runtime/daimon/subscriptionRealms.js +35 -13
  111. package/dist/runtime/daimon/testHelpers.d.ts +2 -0
  112. package/dist/runtime/{pi → daimon}/testHelpers.js +3 -3
  113. package/dist/runtime/daimon/training/booted/adapter.d.ts +50 -0
  114. package/dist/runtime/daimon/training/booted/adapter.js +60 -0
  115. package/dist/runtime/daimon/training/booted/adapter.js.map +1 -0
  116. package/dist/runtime/daimon/training/booted/index.d.ts +4 -0
  117. package/dist/runtime/daimon/training/booted/index.js +3 -0
  118. package/dist/runtime/daimon/training/booted/index.js.map +1 -0
  119. package/dist/runtime/daimon/training/booted/judge.d.ts +39 -0
  120. package/dist/runtime/daimon/training/booted/judge.js +122 -0
  121. package/dist/runtime/daimon/training/booted/judge.js.map +1 -0
  122. package/dist/runtime/daimon/training/index.d.ts +5 -0
  123. package/dist/runtime/daimon/training/index.js +8 -4
  124. package/dist/runtime/daimon/training/index.js.map +1 -1
  125. package/dist/runtime/daimon/wakeMoments.js +0 -1
  126. package/dist/runtime/install.js +0 -21
  127. package/dist/runtime/registry.js +0 -2
  128. package/dist/runtime/trainingGraderProviders.js +10 -4
  129. package/dist/runtime/trainingProviders.d.ts +5 -3
  130. package/dist/runtime/trainingProviders.js +21 -24
  131. package/dist/runtime/trainingSubjects.d.ts +0 -121
  132. package/dist/runtime/trainingSubjects.js +2 -13
  133. package/dist/runtime/types.d.ts +1 -8
  134. package/dist/runtime/usageRequestLedger.d.ts +2 -0
  135. package/dist/runtime/usageRequestLedger.js +3 -1
  136. package/dist/shared/errors.js +0 -1
  137. package/dist/shared/trainingLegacy/trainingLegacyHashDomains.d.ts +1 -0
  138. package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js +1 -0
  139. package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js.map +1 -1
  140. package/dist/status/lifecycleProbes.js +3 -6
  141. package/dist/status/moltnetWiringProbes.js +1 -17
  142. package/dist/training/subjects/index.d.ts +0 -1
  143. package/dist/training/subjects/index.js +0 -1
  144. package/dist/training/subjects/index.js.map +1 -1
  145. package/examples/README.md +0 -1
  146. package/examples/daimon-org/agents/mapper/Spawnfile +4 -1
  147. package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +4 -1
  148. package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +5 -8
  149. package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +1 -1
  150. package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +5 -8
  151. package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +5 -8
  152. package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +5 -8
  153. package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +1 -1
  154. package/examples/mixed-runtime-org/agents/localist/Spawnfile +7 -7
  155. package/package.json +4 -13
  156. package/runtimes.yaml +5 -15
  157. package/dist/compiler/containerDaimonGrokTaskClock.d.ts +0 -5
  158. package/dist/compiler/containerDaimonGrokTaskClock.js +0 -29
  159. package/dist/compiler/daimonTelemetryArtifacts.d.ts +0 -22
  160. package/dist/compiler/daimonTelemetryArtifacts.js +0 -56
  161. package/dist/compiler/training/broker/clockProbe.d.ts +0 -6
  162. package/dist/compiler/training/broker/clockProbe.js +0 -27
  163. package/dist/compiler/training/broker/declaration.d.ts +0 -54
  164. package/dist/compiler/training/broker/declaration.js +0 -70
  165. package/dist/compiler/training/broker/entrypoint.d.ts +0 -39
  166. package/dist/compiler/training/broker/entrypoint.js +0 -124
  167. package/dist/compiler/training/broker/evaluatorSecrets.d.ts +0 -2
  168. package/dist/compiler/training/broker/evaluatorSecrets.js +0 -62
  169. package/dist/compiler/training/broker/index.d.ts +0 -12
  170. package/dist/compiler/training/broker/index.js +0 -12
  171. package/dist/compiler/training/broker/main.d.ts +0 -2
  172. package/dist/compiler/training/broker/main.js +0 -14
  173. package/dist/compiler/training/broker/paths.d.ts +0 -236
  174. package/dist/compiler/training/broker/paths.js +0 -249
  175. package/dist/compiler/training/broker/processes.d.ts +0 -51
  176. package/dist/compiler/training/broker/processes.js +0 -102
  177. package/dist/compiler/training/broker/projection.d.ts +0 -61
  178. package/dist/compiler/training/broker/projection.js +0 -109
  179. package/dist/compiler/training/broker/provisioning.d.ts +0 -78
  180. package/dist/compiler/training/broker/provisioning.js +0 -231
  181. package/dist/compiler/training/broker/receipt.d.ts +0 -77
  182. package/dist/compiler/training/broker/receipt.js +0 -110
  183. package/dist/compiler/training/broker/recycleClient.d.ts +0 -33
  184. package/dist/compiler/training/broker/recycleClient.js +0 -112
  185. package/dist/compiler/training/broker/registration.d.ts +0 -46
  186. package/dist/compiler/training/broker/registration.js +0 -113
  187. package/dist/compiler/training/broker/reset.d.ts +0 -9
  188. package/dist/compiler/training/broker/reset.js +0 -71
  189. package/dist/compiler/training/broker/rootScript.d.ts +0 -32
  190. package/dist/compiler/training/broker/rootScript.js +0 -33
  191. package/dist/compiler/training/broker/runtime.d.ts +0 -22
  192. package/dist/compiler/training/broker/runtime.js +0 -128
  193. package/dist/compiler/training/broker/seccompRoutes.d.ts +0 -31
  194. package/dist/compiler/training/broker/seccompRoutes.js +0 -36
  195. package/dist/compiler/training/broker/supervisor.d.ts +0 -108
  196. package/dist/compiler/training/broker/supervisor.js +0 -172
  197. package/dist/compiler/training/broker/taskClock.d.ts +0 -5
  198. package/dist/compiler/training/broker/taskClock.js +0 -41
  199. package/dist/compiler/training/container/contract.d.ts +0 -54
  200. package/dist/compiler/training/container/contract.js +0 -52
  201. package/dist/compiler/training/container/evaluators.d.ts +0 -48
  202. package/dist/compiler/training/container/evaluators.js +0 -50
  203. package/dist/compiler/training/container/grokWriteback.d.ts +0 -8
  204. package/dist/compiler/training/container/grokWriteback.js +0 -26
  205. package/dist/compiler/training/container/index.d.ts +0 -5
  206. package/dist/compiler/training/container/index.js +0 -3
  207. package/dist/compiler/training/container/launch.d.ts +0 -21
  208. package/dist/compiler/training/container/launch.js +0 -280
  209. package/dist/compiler/training/container/nativeSlots.d.ts +0 -14
  210. package/dist/compiler/training/container/nativeSlots.js +0 -13
  211. package/dist/compiler/training/container/outputCopy.d.ts +0 -2
  212. package/dist/compiler/training/container/outputCopy.js +0 -72
  213. package/dist/compiler/training/container/outputVolume.d.ts +0 -28
  214. package/dist/compiler/training/container/outputVolume.js +0 -185
  215. package/dist/compiler/training/container/prepare.d.ts +0 -10
  216. package/dist/compiler/training/container/prepare.js +0 -125
  217. package/dist/compiler/training/container/process.d.ts +0 -14
  218. package/dist/compiler/training/container/process.js +0 -70
  219. package/dist/compiler/training/container/security.d.ts +0 -38
  220. package/dist/compiler/training/container/security.js +0 -68
  221. package/dist/compiler/training/container/subjectIsolation.d.ts +0 -5
  222. package/dist/compiler/training/container/subjectIsolation.js +0 -16
  223. package/dist/compiler/training/preparation/assets/Dockerfile +0 -100
  224. package/dist/compiler/training/preparation/assets/package-lock.json +0 -5483
  225. package/dist/compiler/training/preparation/broker.d.ts +0 -30
  226. package/dist/compiler/training/preparation/broker.js +0 -68
  227. package/dist/compiler/training/preparation/contextModes.d.ts +0 -12
  228. package/dist/compiler/training/preparation/contextModes.js +0 -38
  229. package/dist/compiler/training/preparation/contract.d.ts +0 -203
  230. package/dist/compiler/training/preparation/contract.js +0 -114
  231. package/dist/compiler/training/preparation/copyAssets.d.ts +0 -1
  232. package/dist/compiler/training/preparation/copyAssets.js +0 -8
  233. package/dist/compiler/training/preparation/daimonParent.d.ts +0 -42
  234. package/dist/compiler/training/preparation/daimonParent.js +0 -114
  235. package/dist/compiler/training/preparation/files.d.ts +0 -29
  236. package/dist/compiler/training/preparation/files.js +0 -146
  237. package/dist/compiler/training/preparation/image.d.ts +0 -28
  238. package/dist/compiler/training/preparation/image.js +0 -105
  239. package/dist/compiler/training/preparation/index.d.ts +0 -3
  240. package/dist/compiler/training/preparation/index.js +0 -2
  241. package/dist/compiler/training/preparation/inputs.d.ts +0 -24
  242. package/dist/compiler/training/preparation/inputs.js +0 -101
  243. package/dist/compiler/training/preparation/prepare.d.ts +0 -38
  244. package/dist/compiler/training/preparation/prepare.js +0 -224
  245. package/dist/compiler/training/preparation/scratch.d.ts +0 -8
  246. package/dist/compiler/training/preparation/scratch.js +0 -114
  247. package/dist/compiler/training/repair/compatibility.d.ts +0 -11
  248. package/dist/compiler/training/repair/compatibility.js +0 -45
  249. package/dist/compiler/training/repair/contract.d.ts +0 -832
  250. package/dist/compiler/training/repair/contract.js +0 -34
  251. package/dist/compiler/training/repair/index.d.ts +0 -3
  252. package/dist/compiler/training/repair/index.js +0 -3
  253. package/dist/compiler/training/repair/prepare.d.ts +0 -378
  254. package/dist/compiler/training/repair/prepare.js +0 -84
  255. package/dist/compiler/training/repair/witness.d.ts +0 -348
  256. package/dist/compiler/training/repair/witness.js +0 -62
  257. package/dist/compiler/training/subjectDeclaration.d.ts +0 -26
  258. package/dist/compiler/training/subjectDeclaration.js +0 -54
  259. package/dist/compiler/training/subjectLease.d.ts +0 -115
  260. package/dist/compiler/training/subjectLease.js +0 -179
  261. package/dist/dev/activity.d.ts +0 -14
  262. package/dist/dev/activity.js +0 -48
  263. package/dist/runtime/codex-exec/training/adapter.d.ts +0 -13
  264. package/dist/runtime/codex-exec/training/adapter.js +0 -101
  265. package/dist/runtime/codex-exec/training/adapter.js.map +0 -1
  266. package/dist/runtime/codex-exec/training/environment.d.ts +0 -3
  267. package/dist/runtime/codex-exec/training/environment.js +0 -26
  268. package/dist/runtime/codex-exec/training/environment.js.map +0 -1
  269. package/dist/runtime/codex-exec/training/index.d.ts +0 -2
  270. package/dist/runtime/codex-exec/training/index.js +0 -3
  271. package/dist/runtime/codex-exec/training/index.js.map +0 -1
  272. package/dist/runtime/codex-exec/training/protocol.d.ts +0 -15
  273. package/dist/runtime/codex-exec/training/protocol.js +0 -102
  274. package/dist/runtime/codex-exec/training/protocol.js.map +0 -1
  275. package/dist/runtime/codex-exec/training/providers/codex-subscription/index.d.ts +0 -1
  276. package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js +0 -2
  277. package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js.map +0 -1
  278. package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.d.ts +0 -17
  279. package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js +0 -80
  280. package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js.map +0 -1
  281. package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.d.ts +0 -12
  282. package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js +0 -125
  283. package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js.map +0 -1
  284. package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.d.ts +0 -6
  285. package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js +0 -219
  286. package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js.map +0 -1
  287. package/dist/runtime/daimon/contractManifest.js.map +0 -1
  288. package/dist/runtime/daimon/contractManifestSchema.js.map +0 -1
  289. package/dist/runtime/daimon/engineDescriptorSchema.js.map +0 -1
  290. package/dist/runtime/daimon/engineDescriptors.generated.js.map +0 -1
  291. package/dist/runtime/daimon/engines.js.map +0 -1
  292. package/dist/runtime/daimon/index.js.map +0 -1
  293. package/dist/runtime/daimon/packageName.js.map +0 -1
  294. package/dist/runtime/daimon/training/legacy/adapter.d.ts +0 -11
  295. package/dist/runtime/daimon/training/legacy/adapter.js +0 -175
  296. package/dist/runtime/daimon/training/legacy/adapter.js.map +0 -1
  297. package/dist/runtime/daimon/training/legacy/index.d.ts +0 -2
  298. package/dist/runtime/daimon/training/legacy/index.js +0 -3
  299. package/dist/runtime/daimon/training/legacy/index.js.map +0 -1
  300. package/dist/runtime/daimon/training/legacy/public.d.ts +0 -49
  301. package/dist/runtime/daimon/training/legacy/public.js +0 -16
  302. package/dist/runtime/daimon/training/legacy/public.js.map +0 -1
  303. package/dist/runtime/daimon/training/native/adapter.d.ts +0 -18
  304. package/dist/runtime/daimon/training/native/adapter.js +0 -252
  305. package/dist/runtime/daimon/training/native/adapter.js.map +0 -1
  306. package/dist/runtime/daimon/training/native/admission.d.ts +0 -7
  307. package/dist/runtime/daimon/training/native/admission.js +0 -52
  308. package/dist/runtime/daimon/training/native/admission.js.map +0 -1
  309. package/dist/runtime/daimon/training/native/child/arguments.d.ts +0 -16
  310. package/dist/runtime/daimon/training/native/child/arguments.js +0 -70
  311. package/dist/runtime/daimon/training/native/child/arguments.js.map +0 -1
  312. package/dist/runtime/daimon/training/native/child/deferred-trial.d.ts +0 -24
  313. package/dist/runtime/daimon/training/native/child/deferred-trial.js +0 -63
  314. package/dist/runtime/daimon/training/native/child/deferred-trial.js.map +0 -1
  315. package/dist/runtime/daimon/training/native/child/diagnostics.d.ts +0 -58
  316. package/dist/runtime/daimon/training/native/child/diagnostics.js +0 -215
  317. package/dist/runtime/daimon/training/native/child/diagnostics.js.map +0 -1
  318. package/dist/runtime/daimon/training/native/child/fixture.d.ts +0 -16
  319. package/dist/runtime/daimon/training/native/child/fixture.js +0 -159
  320. package/dist/runtime/daimon/training/native/child/fixture.js.map +0 -1
  321. package/dist/runtime/daimon/training/native/child/grok.d.ts +0 -14
  322. package/dist/runtime/daimon/training/native/child/grok.js +0 -47
  323. package/dist/runtime/daimon/training/native/child/grok.js.map +0 -1
  324. package/dist/runtime/daimon/training/native/child/index.d.ts +0 -7
  325. package/dist/runtime/daimon/training/native/child/index.js +0 -5
  326. package/dist/runtime/daimon/training/native/child/index.js.map +0 -1
  327. package/dist/runtime/daimon/training/native/child/lifecycle.d.ts +0 -40
  328. package/dist/runtime/daimon/training/native/child/lifecycle.js +0 -400
  329. package/dist/runtime/daimon/training/native/child/lifecycle.js.map +0 -1
  330. package/dist/runtime/daimon/training/native/child/probe.d.ts +0 -2
  331. package/dist/runtime/daimon/training/native/child/probe.js +0 -11
  332. package/dist/runtime/daimon/training/native/child/probe.js.map +0 -1
  333. package/dist/runtime/daimon/training/native/child/sandbox.d.ts +0 -4
  334. package/dist/runtime/daimon/training/native/child/sandbox.js +0 -76
  335. package/dist/runtime/daimon/training/native/child/sandbox.js.map +0 -1
  336. package/dist/runtime/daimon/training/native/child/types.d.ts +0 -15
  337. package/dist/runtime/daimon/training/native/child/types.js +0 -2
  338. package/dist/runtime/daimon/training/native/child/types.js.map +0 -1
  339. package/dist/runtime/daimon/training/native/container/docker.d.ts +0 -29
  340. package/dist/runtime/daimon/training/native/container/docker.js +0 -105
  341. package/dist/runtime/daimon/training/native/container/docker.js.map +0 -1
  342. package/dist/runtime/daimon/training/native/container/grok-slot.d.ts +0 -22
  343. package/dist/runtime/daimon/training/native/container/grok-slot.js +0 -38
  344. package/dist/runtime/daimon/training/native/container/grok-slot.js.map +0 -1
  345. package/dist/runtime/daimon/training/native/container/index.d.ts +0 -6
  346. package/dist/runtime/daimon/training/native/container/index.js +0 -6
  347. package/dist/runtime/daimon/training/native/container/index.js.map +0 -1
  348. package/dist/runtime/daimon/training/native/container/lifecycle.d.ts +0 -8
  349. package/dist/runtime/daimon/training/native/container/lifecycle.js +0 -111
  350. package/dist/runtime/daimon/training/native/container/lifecycle.js.map +0 -1
  351. package/dist/runtime/daimon/training/native/container/manifest.d.ts +0 -17
  352. package/dist/runtime/daimon/training/native/container/manifest.js +0 -164
  353. package/dist/runtime/daimon/training/native/container/manifest.js.map +0 -1
  354. package/dist/runtime/daimon/training/native/container/native-preflight.d.ts +0 -8
  355. package/dist/runtime/daimon/training/native/container/native-preflight.js +0 -40
  356. package/dist/runtime/daimon/training/native/container/native-preflight.js.map +0 -1
  357. package/dist/runtime/daimon/training/native/container/preflight.d.ts +0 -15
  358. package/dist/runtime/daimon/training/native/container/preflight.js +0 -79
  359. package/dist/runtime/daimon/training/native/container/preflight.js.map +0 -1
  360. package/dist/runtime/daimon/training/native/container/slot.d.ts +0 -4
  361. package/dist/runtime/daimon/training/native/container/slot.js +0 -58
  362. package/dist/runtime/daimon/training/native/container/slot.js.map +0 -1
  363. package/dist/runtime/daimon/training/native/external.d.ts +0 -37
  364. package/dist/runtime/daimon/training/native/external.js +0 -75
  365. package/dist/runtime/daimon/training/native/external.js.map +0 -1
  366. package/dist/runtime/daimon/training/native/grants/authority.d.ts +0 -36
  367. package/dist/runtime/daimon/training/native/grants/authority.js +0 -49
  368. package/dist/runtime/daimon/training/native/grants/authority.js.map +0 -1
  369. package/dist/runtime/daimon/training/native/grants/index.d.ts +0 -2
  370. package/dist/runtime/daimon/training/native/grants/index.js +0 -3
  371. package/dist/runtime/daimon/training/native/grants/index.js.map +0 -1
  372. package/dist/runtime/daimon/training/native/grants/pins.d.ts +0 -30
  373. package/dist/runtime/daimon/training/native/grants/pins.js +0 -20
  374. package/dist/runtime/daimon/training/native/grants/pins.js.map +0 -1
  375. package/dist/runtime/daimon/training/native/grants/test-socket.d.ts +0 -6
  376. package/dist/runtime/daimon/training/native/grants/test-socket.js +0 -35
  377. package/dist/runtime/daimon/training/native/grants/test-socket.js.map +0 -1
  378. package/dist/runtime/daimon/training/native/grok-fixtures.d.ts +0 -34
  379. package/dist/runtime/daimon/training/native/grok-fixtures.js +0 -179
  380. package/dist/runtime/daimon/training/native/grok-fixtures.js.map +0 -1
  381. package/dist/runtime/daimon/training/native/index.d.ts +0 -38
  382. package/dist/runtime/daimon/training/native/index.js +0 -27
  383. package/dist/runtime/daimon/training/native/index.js.map +0 -1
  384. package/dist/runtime/daimon/training/native/live-checkout.d.ts +0 -2
  385. package/dist/runtime/daimon/training/native/live-checkout.js +0 -15
  386. package/dist/runtime/daimon/training/native/live-checkout.js.map +0 -1
  387. package/dist/runtime/daimon/training/native/observations.d.ts +0 -51
  388. package/dist/runtime/daimon/training/native/observations.js +0 -217
  389. package/dist/runtime/daimon/training/native/observations.js.map +0 -1
  390. package/dist/runtime/daimon/training/native/outcome.d.ts +0 -13
  391. package/dist/runtime/daimon/training/native/outcome.js +0 -37
  392. package/dist/runtime/daimon/training/native/outcome.js.map +0 -1
  393. package/dist/runtime/daimon/training/native/preparation/engine-config.d.ts +0 -21
  394. package/dist/runtime/daimon/training/native/preparation/engine-config.js +0 -30
  395. package/dist/runtime/daimon/training/native/preparation/engine-config.js.map +0 -1
  396. package/dist/runtime/daimon/training/native/preparation/fixtures.d.ts +0 -17
  397. package/dist/runtime/daimon/training/native/preparation/fixtures.js +0 -52
  398. package/dist/runtime/daimon/training/native/preparation/fixtures.js.map +0 -1
  399. package/dist/runtime/daimon/training/native/preparation/index.d.ts +0 -7
  400. package/dist/runtime/daimon/training/native/preparation/index.js +0 -5
  401. package/dist/runtime/daimon/training/native/preparation/index.js.map +0 -1
  402. package/dist/runtime/daimon/training/native/preparation/layout.d.ts +0 -66
  403. package/dist/runtime/daimon/training/native/preparation/layout.js +0 -87
  404. package/dist/runtime/daimon/training/native/preparation/layout.js.map +0 -1
  405. package/dist/runtime/daimon/training/native/preparation/subject.d.ts +0 -14
  406. package/dist/runtime/daimon/training/native/preparation/subject.js +0 -67
  407. package/dist/runtime/daimon/training/native/preparation/subject.js.map +0 -1
  408. package/dist/runtime/daimon/training/native/preparation/types.d.ts +0 -69
  409. package/dist/runtime/daimon/training/native/preparation/types.js +0 -2
  410. package/dist/runtime/daimon/training/native/preparation/types.js.map +0 -1
  411. package/dist/runtime/daimon/training/native/receipt/artifacts.d.ts +0 -25
  412. package/dist/runtime/daimon/training/native/receipt/artifacts.js +0 -32
  413. package/dist/runtime/daimon/training/native/receipt/artifacts.js.map +0 -1
  414. package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.d.ts +0 -129
  415. package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js +0 -45
  416. package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js.map +0 -1
  417. package/dist/runtime/daimon/training/native/receipt/grok.d.ts +0 -246
  418. package/dist/runtime/daimon/training/native/receipt/grok.js +0 -195
  419. package/dist/runtime/daimon/training/native/receipt/grok.js.map +0 -1
  420. package/dist/runtime/daimon/training/native/receipt/index.d.ts +0 -11
  421. package/dist/runtime/daimon/training/native/receipt/index.js +0 -8
  422. package/dist/runtime/daimon/training/native/receipt/index.js.map +0 -1
  423. package/dist/runtime/daimon/training/native/receipt/paths.d.ts +0 -3
  424. package/dist/runtime/daimon/training/native/receipt/paths.js +0 -18
  425. package/dist/runtime/daimon/training/native/receipt/paths.js.map +0 -1
  426. package/dist/runtime/daimon/training/native/receipt/sandbox.d.ts +0 -42
  427. package/dist/runtime/daimon/training/native/receipt/sandbox.js +0 -35
  428. package/dist/runtime/daimon/training/native/receipt/sandbox.js.map +0 -1
  429. package/dist/runtime/daimon/training/native/receipt/schema.d.ts +0 -490
  430. package/dist/runtime/daimon/training/native/receipt/schema.js +0 -138
  431. package/dist/runtime/daimon/training/native/receipt/schema.js.map +0 -1
  432. package/dist/runtime/daimon/training/native/receipt/subscription.d.ts +0 -13
  433. package/dist/runtime/daimon/training/native/receipt/subscription.js +0 -13
  434. package/dist/runtime/daimon/training/native/receipt/subscription.js.map +0 -1
  435. package/dist/runtime/daimon/training/native/receipt/task-clock.d.ts +0 -19
  436. package/dist/runtime/daimon/training/native/receipt/task-clock.js +0 -49
  437. package/dist/runtime/daimon/training/native/receipt/task-clock.js.map +0 -1
  438. package/dist/runtime/daimon/training/native/sealed-usage.d.ts +0 -218
  439. package/dist/runtime/daimon/training/native/sealed-usage.js +0 -261
  440. package/dist/runtime/daimon/training/native/sealed-usage.js.map +0 -1
  441. package/dist/runtime/daimon/training/native/test-fixtures.d.ts +0 -27
  442. package/dist/runtime/daimon/training/native/test-fixtures.js +0 -162
  443. package/dist/runtime/daimon/training/native/test-fixtures.js.map +0 -1
  444. package/dist/runtime/daimon/training/native/transcript.d.ts +0 -96
  445. package/dist/runtime/daimon/training/native/transcript.js +0 -239
  446. package/dist/runtime/daimon/training/native/transcript.js.map +0 -1
  447. package/dist/runtime/daimon/training/native/transport/delivery.d.ts +0 -27
  448. package/dist/runtime/daimon/training/native/transport/delivery.js +0 -98
  449. package/dist/runtime/daimon/training/native/transport/delivery.js.map +0 -1
  450. package/dist/runtime/daimon/training/native/transport/http.d.ts +0 -3
  451. package/dist/runtime/daimon/training/native/transport/http.js +0 -81
  452. package/dist/runtime/daimon/training/native/transport/http.js.map +0 -1
  453. package/dist/runtime/daimon/training/native/transport/index.d.ts +0 -4
  454. package/dist/runtime/daimon/training/native/transport/index.js +0 -3
  455. package/dist/runtime/daimon/training/native/transport/index.js.map +0 -1
  456. package/dist/runtime/daimon/training/native/transport/types.d.ts +0 -15
  457. package/dist/runtime/daimon/training/native/transport/types.js +0 -2
  458. package/dist/runtime/daimon/training/native/transport/types.js.map +0 -1
  459. package/dist/runtime/daimon/training/native/worker/cli.d.ts +0 -1
  460. package/dist/runtime/daimon/training/native/worker/cli.js +0 -17
  461. package/dist/runtime/daimon/training/native/worker/cli.js.map +0 -1
  462. package/dist/runtime/daimon/training/native/worker/control.d.ts +0 -20
  463. package/dist/runtime/daimon/training/native/worker/control.js +0 -266
  464. package/dist/runtime/daimon/training/native/worker/control.js.map +0 -1
  465. package/dist/runtime/daimon/training/native/worker/deliveries.d.ts +0 -38
  466. package/dist/runtime/daimon/training/native/worker/deliveries.js +0 -91
  467. package/dist/runtime/daimon/training/native/worker/deliveries.js.map +0 -1
  468. package/dist/runtime/daimon/training/native/worker/evidence/collect.d.ts +0 -54
  469. package/dist/runtime/daimon/training/native/worker/evidence/collect.js +0 -278
  470. package/dist/runtime/daimon/training/native/worker/evidence/collect.js.map +0 -1
  471. package/dist/runtime/daimon/training/native/worker/evidence/execution.d.ts +0 -102
  472. package/dist/runtime/daimon/training/native/worker/evidence/execution.js +0 -191
  473. package/dist/runtime/daimon/training/native/worker/evidence/execution.js.map +0 -1
  474. package/dist/runtime/daimon/training/native/worker/evidence/index.d.ts +0 -3
  475. package/dist/runtime/daimon/training/native/worker/evidence/index.js +0 -4
  476. package/dist/runtime/daimon/training/native/worker/evidence/index.js.map +0 -1
  477. package/dist/runtime/daimon/training/native/worker/evidence/io.d.ts +0 -20
  478. package/dist/runtime/daimon/training/native/worker/evidence/io.js +0 -130
  479. package/dist/runtime/daimon/training/native/worker/evidence/io.js.map +0 -1
  480. package/dist/runtime/daimon/training/native/worker/evidence/seal.d.ts +0 -3
  481. package/dist/runtime/daimon/training/native/worker/evidence/seal.js +0 -67
  482. package/dist/runtime/daimon/training/native/worker/evidence/seal.js.map +0 -1
  483. package/dist/runtime/daimon/training/native/worker/index.d.ts +0 -11
  484. package/dist/runtime/daimon/training/native/worker/index.js +0 -8
  485. package/dist/runtime/daimon/training/native/worker/index.js.map +0 -1
  486. package/dist/runtime/daimon/training/native/worker/profile.d.ts +0 -23
  487. package/dist/runtime/daimon/training/native/worker/profile.js +0 -149
  488. package/dist/runtime/daimon/training/native/worker/profile.js.map +0 -1
  489. package/dist/runtime/daimon/training/native/worker/public.d.ts +0 -53
  490. package/dist/runtime/daimon/training/native/worker/public.js +0 -22
  491. package/dist/runtime/daimon/training/native/worker/public.js.map +0 -1
  492. package/dist/runtime/daimon/training/native/worker/sandbox.d.ts +0 -4
  493. package/dist/runtime/daimon/training/native/worker/sandbox.js +0 -54
  494. package/dist/runtime/daimon/training/native/worker/sandbox.js.map +0 -1
  495. package/dist/runtime/daimon/training/native/worker/server.d.ts +0 -4
  496. package/dist/runtime/daimon/training/native/worker/server.js +0 -102
  497. package/dist/runtime/daimon/training/native/worker/server.js.map +0 -1
  498. package/dist/runtime/daimon/training/native/worker/types.d.ts +0 -318
  499. package/dist/runtime/daimon/training/native/worker/types.js +0 -2
  500. package/dist/runtime/daimon/training/native/worker/types.js.map +0 -1
  501. package/dist/runtime/daimon/training/native/worker/wake-delivery/index.d.ts +0 -4
  502. package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js +0 -4
  503. package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js.map +0 -1
  504. package/dist/runtime/daimon/training/native/worker/wake-delivery/source.d.ts +0 -3
  505. package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js +0 -16
  506. package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js.map +0 -1
  507. package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.d.ts +0 -4
  508. package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js +0 -52
  509. package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js.map +0 -1
  510. package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.d.ts +0 -21
  511. package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js +0 -198
  512. package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js.map +0 -1
  513. package/dist/runtime/daimon/training/native/worker/wake-delivery/types.d.ts +0 -91
  514. package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js +0 -2
  515. package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js.map +0 -1
  516. package/dist/runtime/daimon/training/native/worker/worker.d.ts +0 -1
  517. package/dist/runtime/daimon/training/native/worker/worker.js +0 -105
  518. package/dist/runtime/daimon/training/native/worker/worker.js.map +0 -1
  519. package/dist/runtime/daimon/training/providers/grok-broker/broker.d.ts +0 -20
  520. package/dist/runtime/daimon/training/providers/grok-broker/broker.js +0 -55
  521. package/dist/runtime/daimon/training/providers/grok-broker/broker.js.map +0 -1
  522. package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.d.ts +0 -15
  523. package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js +0 -29
  524. package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js.map +0 -1
  525. package/dist/runtime/daimon/training/providers/grok-broker/grant-home.d.ts +0 -16
  526. package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js +0 -60
  527. package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js.map +0 -1
  528. package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.d.ts +0 -81
  529. package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js +0 -221
  530. package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js.map +0 -1
  531. package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.d.ts +0 -31
  532. package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js +0 -78
  533. package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js.map +0 -1
  534. package/dist/runtime/daimon/training/providers/grok-broker/grants.d.ts +0 -63
  535. package/dist/runtime/daimon/training/providers/grok-broker/grants.js +0 -20
  536. package/dist/runtime/daimon/training/providers/grok-broker/grants.js.map +0 -1
  537. package/dist/runtime/daimon/training/providers/grok-broker/index.d.ts +0 -3
  538. package/dist/runtime/daimon/training/providers/grok-broker/index.js +0 -4
  539. package/dist/runtime/daimon/training/providers/grok-broker/index.js.map +0 -1
  540. package/dist/runtime/daimon/training/providers/grok-subscription/cli.d.ts +0 -21
  541. package/dist/runtime/daimon/training/providers/grok-subscription/cli.js +0 -81
  542. package/dist/runtime/daimon/training/providers/grok-subscription/cli.js.map +0 -1
  543. package/dist/runtime/daimon/training/providers/grok-subscription/index.d.ts +0 -4
  544. package/dist/runtime/daimon/training/providers/grok-subscription/index.js +0 -5
  545. package/dist/runtime/daimon/training/providers/grok-subscription/index.js.map +0 -1
  546. package/dist/runtime/daimon/training/providers/grok-subscription/protocol.d.ts +0 -26
  547. package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js +0 -102
  548. package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js.map +0 -1
  549. package/dist/runtime/daimon/training/providers/grok-subscription/provider.d.ts +0 -9
  550. package/dist/runtime/daimon/training/providers/grok-subscription/provider.js +0 -38
  551. package/dist/runtime/daimon/training/providers/grok-subscription/provider.js.map +0 -1
  552. package/dist/runtime/daimon/training/public.d.ts +0 -6
  553. package/dist/runtime/daimon/training/public.js +0 -5
  554. package/dist/runtime/daimon/training/public.js.map +0 -1
  555. package/dist/runtime/daimon/training/services/account-lease.d.ts +0 -7
  556. package/dist/runtime/daimon/training/services/account-lease.js +0 -76
  557. package/dist/runtime/daimon/training/services/account-lease.js.map +0 -1
  558. package/dist/runtime/daimon/training/services/freshness.d.ts +0 -15
  559. package/dist/runtime/daimon/training/services/freshness.js +0 -19
  560. package/dist/runtime/daimon/training/services/freshness.js.map +0 -1
  561. package/dist/runtime/daimon/training/services/index.d.ts +0 -4
  562. package/dist/runtime/daimon/training/services/index.js +0 -4
  563. package/dist/runtime/daimon/training/services/index.js.map +0 -1
  564. package/dist/runtime/daimon/training/services/slot-freshness.d.ts +0 -34
  565. package/dist/runtime/daimon/training/services/slot-freshness.js +0 -178
  566. package/dist/runtime/daimon/training/services/slot-freshness.js.map +0 -1
  567. package/dist/runtime/daimon/wakeMoments.js.map +0 -1
  568. package/dist/runtime/pi/adapter.d.ts +0 -3
  569. package/dist/runtime/pi/adapter.js +0 -230
  570. package/dist/runtime/pi/appActivitySource.d.ts +0 -1
  571. package/dist/runtime/pi/appActivitySource.js +0 -199
  572. package/dist/runtime/pi/appAgentConfig.d.ts +0 -11
  573. package/dist/runtime/pi/appAgentConfig.js +0 -264
  574. package/dist/runtime/pi/appCliEnginesSource.d.ts +0 -1
  575. package/dist/runtime/pi/appCliEnginesSource.js +0 -183
  576. package/dist/runtime/pi/appCliSource.d.ts +0 -1
  577. package/dist/runtime/pi/appCliSource.js +0 -353
  578. package/dist/runtime/pi/appControlSource.d.ts +0 -1
  579. package/dist/runtime/pi/appControlSource.js +0 -390
  580. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +0 -1
  581. package/dist/runtime/pi/appControlWakeIdentitySource.js +0 -19
  582. package/dist/runtime/pi/appCoreSource.d.ts +0 -4
  583. package/dist/runtime/pi/appCoreSource.js +0 -244
  584. package/dist/runtime/pi/appPreludeSource.d.ts +0 -1
  585. package/dist/runtime/pi/appPreludeSource.js +0 -192
  586. package/dist/runtime/pi/appScheduleSource.d.ts +0 -1
  587. package/dist/runtime/pi/appScheduleSource.js +0 -84
  588. package/dist/runtime/pi/appScriptedEngine.d.ts +0 -31
  589. package/dist/runtime/pi/appScriptedEngine.js +0 -42
  590. package/dist/runtime/pi/appSource.d.ts +0 -4
  591. package/dist/runtime/pi/appSource.js +0 -12
  592. package/dist/runtime/pi/appTemplate.d.ts +0 -14
  593. package/dist/runtime/pi/appTemplate.js +0 -28
  594. package/dist/runtime/pi/appTemplateTypes.d.ts +0 -64
  595. package/dist/runtime/pi/appTemplateTypes.js +0 -18
  596. package/dist/runtime/pi/appWakeContextSource.d.ts +0 -1
  597. package/dist/runtime/pi/appWakeContextSource.js +0 -398
  598. package/dist/runtime/pi/containerTargets.d.ts +0 -4
  599. package/dist/runtime/pi/containerTargets.js +0 -63
  600. package/dist/runtime/pi/runAuth.d.ts +0 -2
  601. package/dist/runtime/pi/runAuth.js +0 -185
  602. package/dist/runtime/pi/testHelpers.d.ts +0 -2
  603. package/dist/shared/errors.js.map +0 -1
  604. package/dist/training/subjects/environment.d.ts +0 -2
  605. package/dist/training/subjects/environment.js +0 -14
  606. package/dist/training/subjects/environment.js.map +0 -1
@@ -1,125 +0,0 @@
1
- import { lstat, mkdir, realpath } from "node:fs/promises";
2
- import os from "node:os";
3
- import path from "node:path";
4
- import { trainingContextSchema } from "../contract.js";
5
- import { trainingContainerConfigSchema } from "./contract.js";
6
- import { allocateTrainingOutputParent } from "../execution.js";
7
- import { assertTrainingSubjectIsolation } from "./subjectIsolation.js";
8
- const inside = (root, value) => value === root || value.startsWith(`${root}/`);
9
- export const prepareTrainingContainer = async (raw, context, args, options = {}) => {
10
- const config = trainingContainerConfigSchema.parse(raw);
11
- await assertTrainingSubjectIsolation(config, context);
12
- const entries = [...config.inputs, config.output];
13
- const protectedLeaves = [...config.auth, ...config.evaluatorSecrets ?? []];
14
- const home = path.resolve(os.homedir());
15
- const globalConfigRoots = [".codex", ".claude", ".grok", ".ssh", ".config"].map((name) => path.join(home, name));
16
- let missingOutput = false;
17
- for (const entry of [...entries, ...protectedLeaves]) {
18
- let canonical;
19
- try {
20
- canonical = await realpath(entry.source);
21
- }
22
- catch (error) {
23
- if (entry !== config.output || !options.createOutput || error.code !== "ENOENT")
24
- throw error;
25
- canonical = path.resolve(entry.source);
26
- missingOutput = true;
27
- }
28
- if (canonical !== entry.source)
29
- throw Error("Training bind sources must be canonical, without symlink aliases");
30
- if (entry !== config.output || !missingOutput) {
31
- const stat = await lstat(canonical);
32
- if (stat.isSymbolicLink() || (!stat.isFile() && !stat.isDirectory()))
33
- throw Error("Training binds require regular files or directories");
34
- if (config.evaluatorSecrets?.includes(entry) && stat.nlink !== 1)
35
- throw Error("Evaluator secrets must not have hardlink aliases");
36
- if (protectedLeaves.includes(entry) && !stat.isFile())
37
- throw Error("Auth must be a single regular leaf file");
38
- }
39
- if (entries.includes(entry)) {
40
- if (["/", "/etc", "/var", "/run", "/tmp", "/opt", "/usr", "/Users", "/home", home].includes(canonical) || globalConfigRoots.some((root) => inside(root, canonical)))
41
- throw Error("Host homes, configuration and system roots cannot be training inputs");
42
- if (protectedLeaves.some((auth) => inside(canonical, auth.source)))
43
- throw Error("Auth must not be exposed through input or output mounts");
44
- }
45
- }
46
- if (config.inputs.some((entry, index) => config.inputs.some((other, otherIndex) => index !== otherIndex && inside(entry.source, other.source))))
47
- throw Error("Training input source roots must not overlap");
48
- if (!missingOutput && !(await lstat(config.output.source)).isDirectory())
49
- throw Error("Training output must be an existing directory");
50
- if (config.inputs.some((entry) => inside(entry.source, config.output.source) || inside(config.output.source, entry.source)))
51
- throw Error("Training output and inputs must not overlap");
52
- const map = (value) => {
53
- const absolute = path.resolve(value);
54
- const entry = entries.find((item) => inside(item.source, absolute));
55
- if (!entry)
56
- throw Error(`Training path is not covered by a declared mount: ${value}`);
57
- return path.posix.join(entry.destination, path.relative(entry.source, absolute).split(path.sep).join("/"));
58
- };
59
- const source = (entry) => ({ ...entry, sourcePath: map(entry.sourcePath) });
60
- const mapped = trainingContextSchema.parse({ ...context,
61
- project: { ...context.project, root: map(context.project.root), manifest: map(context.project.manifest) },
62
- agent: { ...context.agent, source: map(context.agent.source) },
63
- sources: context.sources.map(source), documents: context.documents.map(source), skills: context.skills.map(source)
64
- });
65
- const mappedArgs = [...args];
66
- let viewerPort;
67
- for (let index = 0; index < mappedArgs.length; index++) {
68
- const flag = mappedArgs[index];
69
- if (["--train", "--validation", "--test", "--out", "--cost-config"].includes(flag)) {
70
- const value = mappedArgs[++index];
71
- if (!value)
72
- throw Error(`Missing ${flag} path`);
73
- mappedArgs[index] = map(value);
74
- if (flag === "--out" && !inside("/run/training/output", mappedArgs[index]))
75
- throw Error("Training --out must use the writable output mount");
76
- }
77
- else if (flag === "--resource") {
78
- const value = mappedArgs[++index] ?? "", equals = value.indexOf("=");
79
- if (equals < 1)
80
- throw Error("Expected resource=id path mapping");
81
- mappedArgs[index] = `${value.slice(0, equals)}=${map(value.slice(equals + 1))}`;
82
- }
83
- else if (flag === "--bridge-command") {
84
- const value = mappedArgs[++index] ?? "";
85
- if (!/^\/opt\/training\/[A-Za-z0-9._/-]+$/u.test(value) || path.posix.normalize(value) !== value)
86
- throw Error("Bridge must be an installed executable under /opt/training");
87
- }
88
- else if (flag === "--view") {
89
- const value = mappedArgs[++index] ?? "";
90
- const port = Number(value);
91
- if (viewerPort !== undefined || !/^\d+$/u.test(value) || !Number.isSafeInteger(port) || port < 1 || port > 65535)
92
- throw Error("Container --view requires one explicit port from 1 to 65535");
93
- viewerPort = port;
94
- mappedArgs[index] = String(port);
95
- }
96
- }
97
- {
98
- const flags = mappedArgs.filter(arg => arg === "--concurrency" || arg.startsWith("--concurrency="));
99
- if (flags.length > 1)
100
- throw Error("Training accepts one --concurrency value");
101
- const flag = flags[0];
102
- if (flag !== undefined) {
103
- const value = flag === "--concurrency" ? mappedArgs[mappedArgs.indexOf(flag) + 1] : flag.slice("--concurrency=".length);
104
- if (!value || !/^[1-8]$/u.test(value) || Number(value) > config.slots) {
105
- throw Error("Training concurrency must fit the provisioned slots");
106
- }
107
- if (flag !== "--concurrency")
108
- mappedArgs.splice(mappedArgs.indexOf(flag), 1, "--concurrency", value);
109
- }
110
- }
111
- if (missingOutput) {
112
- await allocateTrainingOutputParent(config.output.source);
113
- try {
114
- await mkdir(config.output.source, { mode: 0o700 });
115
- }
116
- catch (error) {
117
- if (error.code !== "EEXIST")
118
- throw error;
119
- }
120
- if (await realpath(config.output.source) !== config.output.source || !(await lstat(config.output.source)).isDirectory()) {
121
- throw Error("Training output must be a canonical directory");
122
- }
123
- }
124
- return { config, context: mapped, args: mappedArgs, ...(viewerPort === undefined ? {} : { viewerPort }) };
125
- };
@@ -1,14 +0,0 @@
1
- export interface TrainingDockerProcess {
2
- (args: readonly string[], options: {
3
- timeoutMs: number;
4
- signal?: AbortSignal;
5
- stdout?: (line: string) => void;
6
- stderr?: (line: string) => void;
7
- }): Promise<{
8
- code: number;
9
- stdout: string;
10
- stderr: string;
11
- }>;
12
- }
13
- /** Docker client only; no model executable runs on the host. */
14
- export declare const runTrainingDocker: TrainingDockerProcess;
@@ -1,70 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- /** Docker client only; no model executable runs on the host. */
3
- export const runTrainingDocker = (args, options) => new Promise((resolve, reject) => {
4
- if (options.signal?.aborted) {
5
- reject(Error("Training Docker operation cancelled"));
6
- return;
7
- }
8
- const child = spawn("docker", [...args], { shell: false, stdio: ["ignore", "pipe", "pipe"] });
9
- let stdout = "", stderr = "", failure;
10
- let forceClose;
11
- let settled = false;
12
- const pending = { stdout: "", stderr: "" };
13
- const stop = (message) => {
14
- failure ??= Error(message);
15
- child.kill("SIGKILL");
16
- forceClose ??= setTimeout(() => {
17
- // Releasing a stuck client lets the owner independently stop/verify the container.
18
- child.stdout.destroy();
19
- child.stderr.destroy();
20
- finish(null);
21
- }, 1000);
22
- };
23
- const abort = () => stop("Training Docker operation cancelled");
24
- const timer = setTimeout(() => stop("Training Docker operation exceeded deadline"), options.timeoutMs);
25
- options.signal?.addEventListener("abort", abort, { once: true });
26
- if (options.signal?.aborted)
27
- abort();
28
- const consume = (channel, chunk) => {
29
- pending[channel] += chunk;
30
- if (Buffer.byteLength(pending[channel]) > 1024 * 1024) {
31
- stop("Docker output exceeded bounded line size");
32
- return;
33
- }
34
- const lines = pending[channel].split("\n");
35
- pending[channel] = lines.pop();
36
- for (const line of lines) {
37
- options[channel]?.(line);
38
- if (channel === "stdout")
39
- stdout = options.stdout ? line : stdout + line + "\n";
40
- else
41
- stderr = options.stderr ? line : stderr + line + "\n";
42
- if (stdout.length + stderr.length > 2 * 1024 * 1024)
43
- stop("Docker output exceeded bounded capture size");
44
- }
45
- };
46
- child.stdout.setEncoding("utf8").on("data", (chunk) => consume("stdout", chunk));
47
- child.stderr.setEncoding("utf8").on("data", (chunk) => consume("stderr", chunk));
48
- child.once("error", (error) => { failure = error; });
49
- const finish = (code) => {
50
- if (settled)
51
- return;
52
- settled = true;
53
- clearTimeout(forceClose);
54
- clearTimeout(timer);
55
- options.signal?.removeEventListener("abort", abort);
56
- for (const channel of ["stdout", "stderr"])
57
- if (pending[channel]) {
58
- options[channel]?.(pending[channel]);
59
- if (channel === "stdout")
60
- stdout = options.stdout ? pending[channel] : stdout + pending[channel];
61
- else
62
- stderr = options.stderr ? pending[channel] : stderr + pending[channel];
63
- }
64
- if (failure)
65
- reject(failure);
66
- else
67
- resolve({ code: code ?? 1, stdout, stderr });
68
- };
69
- child.once("close", finish);
70
- });
@@ -1,38 +0,0 @@
1
- export declare const TRAINING_BROKER_ENTRYPOINT = "/opt/training/bin/train-broker";
2
- /** Same output directory is the same resumable run; different outputs never share a counter. */
3
- export declare const trainingRunRequestMount: (outputSource: string, args: readonly string[]) => string;
4
- /**
5
- * Disposable state of a broker-capable training container, all on tmpfs.
6
- *
7
- * The image root stays read-only and nothing here is a host bind, so a trial's
8
- * worker home, workspace, turn store, wake-acceptance store and ledgers are
9
- * on a filesystem that enforces unix ownership — which is what lets the slot
10
- * supervisor's worker-uid canaries mean anything (P0 §5: a host bind under
11
- * Docker Desktop or Colima silently ignores `chown`). The Grok realm is the
12
- * credential mount. The run request counter has its own persistent named volume.
13
- */
14
- export declare const trainingBrokerTmpfsTargets: (slots?: number) => readonly {
15
- path: string;
16
- size: string;
17
- mode: string;
18
- }[];
19
- /**
20
- * `docker create` arguments for the broker-capable training container.
21
- *
22
- * It starts as root with the *production* Daimon capability set rather than
23
- * the v1 path's `--cap-drop ALL` as the host user: the root entrypoint has to
24
- * provision uid-owned directories (`CAP_CHOWN`), let the native launcher
25
- * `setuid` to a worker (`CAP_SETUID`/`SETGID`), drop bounding sets
26
- * (`CAP_SETPCAP`), supervise dropped children (`CAP_KILL`) and read the
27
- * attested layout it does not own (`CAP_DAC_READ_SEARCH`). `CAP_FOWNER` is
28
- * deliberately absent, which is why every provisioning chmod reclaims the
29
- * inode first. Grok 1.0.34 runs every sandbox profile inside bubblewrap, so
30
- * the container also needs the pinned default-plus-userns seccomp profile and
31
- * AppArmor unconfined — the narrowest combination P0 found.
32
- */
33
- export declare const trainingBrokerSecurityArgs: (seccompProfileDirectory: string) => Promise<string[]>;
34
- export declare const trainingBrokerMounts: (broker: {
35
- realmVolume: string;
36
- bootstrap: string;
37
- declaration: string;
38
- }) => string[];
@@ -1,68 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import { DAIMON_DOCKER_RUNTIME_SECURITY_ARGS, materializeDaimonGrokSeccompProfile } from "../../../shared/index.js";
3
- import { DAIMON_GROK_ENGINE_BROKER } from "../../../runtime/daimon/contractManifest.js";
4
- import { DAIMON_GROK_TURN_USAGE_LEDGER } from "../../../runtime/daimon/contractManifest.js";
5
- import { DAIMON_WAKE_FUSE_DIRECTORY } from "../../../runtime/daimon/config.js";
6
- import { TRAINING_BROKER_TMPDIR, TRAINING_GRANT_HOME_ROOT, TRAINING_INFERENCE_DIRECTORY, TRAINING_ROOT, trainingSlotDescriptors, TRAINING_TURN_STORE_ROOT, TRAINING_RUN_REQUEST_STORE, TRAINING_SUPERVISOR_DIRECTORY, TRAINING_WORKER_ROOT } from "../broker/paths.js";
7
- export const TRAINING_BROKER_ENTRYPOINT = "/opt/training/bin/train-broker";
8
- /** Same output directory is the same resumable run; different outputs never share a counter. */
9
- export const trainingRunRequestMount = (outputSource, args) => {
10
- const index = args.indexOf("--out"), output = args[index + 1];
11
- if (index < 0 || !output || args.lastIndexOf("--out") !== index)
12
- throw Error("Brokered training requires one --out directory");
13
- const identity = createHash("sha256").update(JSON.stringify([outputSource, output])).digest("hex");
14
- return `type=volume,src=spawnfile-training-budget-${identity},dst=${TRAINING_RUN_REQUEST_STORE}`;
15
- };
16
- /**
17
- * Disposable state of a broker-capable training container, all on tmpfs.
18
- *
19
- * The image root stays read-only and nothing here is a host bind, so a trial's
20
- * worker home, workspace, turn store, wake-acceptance store and ledgers are
21
- * on a filesystem that enforces unix ownership — which is what lets the slot
22
- * supervisor's worker-uid canaries mean anything (P0 §5: a host bind under
23
- * Docker Desktop or Colima silently ignores `chown`). The Grok realm is the
24
- * credential mount. The run request counter has its own persistent named volume.
25
- */
26
- export const trainingBrokerTmpfsTargets = (slots = 4) => [
27
- { path: "/tmp", size: "1g", mode: "1777" },
28
- { path: "/var/tmp", size: "256m", mode: "1777" },
29
- { path: "/work", size: "4g", mode: "0755" },
30
- { path: "/home/training", size: "1g", mode: "0755" },
31
- { path: TRAINING_ROOT, size: "64m", mode: "0755" },
32
- ...trainingSlotDescriptors(slots).map(p => ({ path: p.root, size: "4g", mode: "0711" })),
33
- { path: TRAINING_TURN_STORE_ROOT, size: "256m", mode: "0700" },
34
- { path: TRAINING_GRANT_HOME_ROOT, size: "64m", mode: "0755" },
35
- { path: TRAINING_INFERENCE_DIRECTORY, size: "64m", mode: "0755" },
36
- { path: TRAINING_SUPERVISOR_DIRECTORY, size: "16m", mode: "0755" },
37
- { path: TRAINING_WORKER_ROOT, size: "1g", mode: "0755" },
38
- { path: "/etc/daimon-engine-broker", size: "16m", mode: "0755" },
39
- { path: "/run/daimon-engine-broker", size: "64m", mode: "0755" },
40
- { path: TRAINING_BROKER_TMPDIR, size: "64m", mode: "0755" },
41
- { path: DAIMON_GROK_TURN_USAGE_LEDGER.directoryPath, size: "64m", mode: "0755" },
42
- { path: DAIMON_WAKE_FUSE_DIRECTORY, size: "16m", mode: "0755" }
43
- ];
44
- /**
45
- * `docker create` arguments for the broker-capable training container.
46
- *
47
- * It starts as root with the *production* Daimon capability set rather than
48
- * the v1 path's `--cap-drop ALL` as the host user: the root entrypoint has to
49
- * provision uid-owned directories (`CAP_CHOWN`), let the native launcher
50
- * `setuid` to a worker (`CAP_SETUID`/`SETGID`), drop bounding sets
51
- * (`CAP_SETPCAP`), supervise dropped children (`CAP_KILL`) and read the
52
- * attested layout it does not own (`CAP_DAC_READ_SEARCH`). `CAP_FOWNER` is
53
- * deliberately absent, which is why every provisioning chmod reclaims the
54
- * inode first. Grok 1.0.34 runs every sandbox profile inside bubblewrap, so
55
- * the container also needs the pinned default-plus-userns seccomp profile and
56
- * AppArmor unconfined — the narrowest combination P0 found.
57
- */
58
- export const trainingBrokerSecurityArgs = async (seccompProfileDirectory) => [
59
- "--user", "0:0",
60
- ...DAIMON_DOCKER_RUNTIME_SECURITY_ARGS,
61
- `--security-opt=seccomp=${await materializeDaimonGrokSeccompProfile(seccompProfileDirectory)}`,
62
- "--security-opt=apparmor=unconfined"
63
- ];
64
- export const trainingBrokerMounts = (broker) => [
65
- `type=volume,src=${broker.realmVolume},dst=${DAIMON_GROK_ENGINE_BROKER.credentialHomePath}`,
66
- `type=bind,src=${broker.bootstrap},dst=/var/lib/spawnfile/daimon/grok-bootstrap-auth,readonly`,
67
- `type=bind,src=${broker.declaration},dst=${TRAINING_ROOT}/training-broker.json,readonly`
68
- ];
@@ -1,5 +0,0 @@
1
- import { type TrainingContext } from "../contract.js";
2
- /** Resolve host-side subject policy; the public v1 context carries no sandbox authority. */
3
- export declare const assertTrainingSubjectIsolation: (config: {
4
- subjectIsolation?: "codex-native-sandbox";
5
- }, context: TrainingContext) => Promise<void>;
@@ -1,16 +0,0 @@
1
- import { getDaimonEngineDescriptor } from "../../../runtime/daimon/index.js";
2
- import { resolveDaimonEngine } from "../../../runtime/daimon/config.js";
3
- import { resolveTrainingContextGraph } from "../context.js";
4
- import { trainingContextSchema } from "../contract.js";
5
- /** Resolve host-side subject policy; the public v1 context carries no sandbox authority. */
6
- export const assertTrainingSubjectIsolation = async (config, context) => {
7
- if (config.subjectIsolation !== "codex-native-sandbox")
8
- return;
9
- const parsed = trainingContextSchema.parse(context);
10
- const { selected } = await resolveTrainingContextGraph(parsed.project.manifest, parsed.agent.id);
11
- const agent = selected.value;
12
- if (agent.runtime.name !== "daimon" || getDaimonEngineDescriptor(resolveDaimonEngine(agent))?.training.subject.isolation !== "native-sandbox" ||
13
- agent.runtime.options.codex_policy !== "workspace-no-network" || agent.execution?.sandbox?.mode !== "workspace") {
14
- throw Error("codex-native-sandbox subject isolation requires the selected training agent to use runtime daimon, engine codex, and strict codex_policy: workspace-no-network (execution.sandbox.mode: workspace)");
15
- }
16
- };
@@ -1,100 +0,0 @@
1
- ARG NATIVE_IMAGE
2
- ARG PYTHON_IMAGE
3
- FROM ${PYTHON_IMAGE} AS python
4
- FROM ${NATIVE_IMAGE} AS training
5
-
6
- # Both parents must use the same architecture and Debian release.
7
- COPY --from=python /usr/local /opt/python
8
- COPY --from=python /usr/lib/*-linux-gnu/libsqlite3.so.0* /opt/python/lib/
9
- # The bridge intentionally clears ambient environment variables. Register native
10
- # libraries in the image so Python extensions also load in that clean process.
11
- RUN echo /opt/python/lib > /etc/ld.so.conf.d/training-python.conf && ldconfig
12
-
13
- # Bookworm's distro library, shared by broker shell tools and direct clocked
14
- # Daimon children. Resolve the multiarch path at build time; never preload the image.
15
- RUN . /etc/os-release && test "$VERSION_CODENAME" = bookworm \
16
- && apt-get update && apt-get install --yes --no-install-recommends libfaketime=0.9.10-2.1 \
17
- && library="$(dpkg-query -L libfaketime | sed -n '\|/faketime/libfaketime\.so\.1$|p')" \
18
- && test -f "$library" \
19
- && install -d -o root -g root -m 0755 /usr/local/lib/daimon \
20
- && ln -s "$library" /usr/local/lib/daimon/libfaketime.so.1 \
21
- && chown -h root:root /usr/local/lib/daimon/libfaketime.so.1 \
22
- && rm -rf /var/lib/apt/lists/*
23
-
24
- # The broker-capable container runs on a read-only root, so the fixed Daimon
25
- # identities are baked here instead of being created by the entrypoint the way
26
- # the production organization image creates them. It depends on nothing from the
27
- # build context, so it sits first: it is the least frequently changing layer.
28
- RUN for fixed_uid in 2000 2100 2200 2201 2202 2203 2204 2205 2206 2207; do \
29
- groupadd -K GID_MIN=1 --gid "$fixed_uid" "daimon-$fixed_uid" \
30
- && useradd -K UID_MIN=1 --no-create-home --no-log-init --uid "$fixed_uid" --gid "$fixed_uid" \
31
- --home-dir /nonexistent --shell /usr/sbin/nologin "daimon-$fixed_uid"; \
32
- done
33
-
34
- # The sealed train and test datasets are bind-mounted UNDER /run/training/inputs, so this directory is
35
- # the ancestor every read of them must traverse, and it is the only inode in that chain the image owns.
36
- # Root-owned with no world bits, on the read-only root: uid 2200 is in neither the owner nor the group
37
- # class, so it loses search permission; a `unshare --map-root-user` namespace maps only uid 2200, so
38
- # CAP_DAC_OVERRIDE there cannot override an inode owned by real uid 0; and a fresh bind of the parent
39
- # re-exposes this same directory rather than the bytes under it. Nothing at runtime can widen it,
40
- # because the container root is read-only — the slot provisioning asserts the mode and refuses otherwise.
41
- RUN mkdir -p /run/training/inputs /run/training/output /run/training/slots \
42
- && chown 0:0 /run/training /run/training/output && chmod 0755 /run/training /run/training/output \
43
- && chown 0:2000 /run/training/inputs && chmod 0750 /run/training/inputs
44
-
45
- # Layers run from least to most frequently changing: locked dependencies, the
46
- # DSPy venv, bridge source, pinned executables, then distributions. Staged context
47
- # modes are already `a+rX`-closed (train/train-broker 0555), so late COPY layers need no RUN.
48
- COPY claude/package.json claude/package-lock.json /opt/training/claude/
49
- RUN cd /opt/training/claude && npm ci --omit=dev
50
-
51
- WORKDIR /opt/training/spawnfile
52
- COPY spawnfile/package.json spawnfile/package-lock.json ./
53
- RUN npm ci --omit=dev --ignore-scripts
54
-
55
- WORKDIR /opt/training/compiler
56
- COPY compiler/package.json compiler/package-lock.json ./
57
- RUN npm ci --omit=dev --ignore-scripts
58
-
59
- COPY spawnfile/dist/training/dspy/requirements.lock /opt/training/spawnfile/dist/training/dspy/requirements.lock
60
- RUN /opt/python/bin/python3 -m venv /opt/training/spawnfile/dist/training/dspy/.venv \
61
- && /opt/training/spawnfile/dist/training/dspy/.venv/bin/pip install --no-cache-dir -r /opt/training/spawnfile/dist/training/dspy/requirements.lock \
62
- && /opt/training/spawnfile/dist/training/dspy/.venv/bin/pip install --no-cache-dir setuptools==80.9.0
63
-
64
- # Exactly `chmod -R a+rX /opt/training`, but only entries that need a change are
65
- # touched, so unchanged lower-layer files are never copied up into a new layer.
66
- # This layer also puts the native parent's own pinned Grok and engine broker at the two fixed paths
67
- # `GROK_ENGINE_BROKER` names, exactly as a generated organization image does (`src/runtime/container.ts`).
68
- # No second build is introduced: both are installed from the parent's runtime install, and the slot
69
- # provisioning and the slot supervisor both refuse an executable that is not a manifest-pinned one.
70
- RUN find /opt/training \( \( -type d ! -perm -0555 \) -o \( ! -type d ! -type l \( ! -perm -0444 -o \( \( -perm -0100 -o -perm -0010 -o -perm -0001 \) ! -perm -0111 \) \) \) \) -exec chmod a+rX {} + \
71
- && mkdir -m 0755 /opt/training/bin /opt/training/integration \
72
- && mkdir -p /opt/daimon/bin \
73
- && install -o root -g root -m 0555 /opt/spawnfile/runtime-installs/daimon/bin/grok /usr/local/bin/grok \
74
- && install -o root -g root -m 0555 /opt/spawnfile/runtime-installs/daimon/bin/daimon-engine-broker /opt/daimon/bin/daimon-engine-broker \
75
- && ln -s /opt/training/claude/node_modules/.bin/claude /opt/training/bin/claude \
76
- && ln -s /opt/training/spawnfile/dist/cli/index.js /opt/training/bin/spawnfile \
77
- && mkdir -p /opt/training/integration/node_modules/@noopolis \
78
- && ln -s /opt/training/spawnfile /opt/training/integration/node_modules/spawnfile \
79
- && ln -s /opt/spawnfile/runtime-installs/daimon/node_modules/@noopolis/daimon /opt/training/integration/node_modules/@noopolis/daimon \
80
- && mkdir -p /opt/training/spawnfile/node_modules/@noopolis \
81
- && ln -s /opt/spawnfile/runtime-installs/daimon/node_modules/@noopolis/daimon /opt/training/spawnfile/node_modules/@noopolis/daimon
82
-
83
- COPY spawnfile/dist/training/dspy /opt/training/spawnfile/dist/training/dspy
84
- RUN /opt/training/spawnfile/dist/training/dspy/.venv/bin/pip install --no-deps --no-build-isolation -e /opt/training/spawnfile/dist/training/dspy \
85
- && find /opt/training/spawnfile/dist/training/dspy \( \( -type d ! -perm -0555 \) -o \( ! -type d ! -type l \( ! -perm -0444 -o \( \( -perm -0100 -o -perm -0010 -o -perm -0001 \) ! -perm -0111 \) \) \) \) -exec chmod a+rX {} +
86
-
87
- # No Grok binary: `spawnfile.training-container.v3` runs the native parent's pinned
88
- # /usr/local/bin/grok through the broker, so a second copy could only be an unattested build.
89
- COPY train /opt/training/bin/train
90
- COPY train-broker /opt/training/bin/train-broker
91
- COPY compiler/runtimes.yaml compiler/moltnet-releases.json /opt/training/compiler/
92
- COPY spawnfile/runtimes.yaml spawnfile/moltnet-releases.json /opt/training/spawnfile/
93
- COPY compiler/dist /opt/training/compiler/dist
94
- COPY integration /opt/training/integration
95
- COPY bootstrap /opt/training/bootstrap
96
- COPY spawnfile/dist /opt/training/spawnfile/dist
97
- ENV PATH=/opt/training/bin:/opt/training/spawnfile/dist/training/dspy/.venv/bin:/opt/spawnfile/runtime-installs/daimon/bin:/usr/local/bin:/usr/bin:/bin
98
- ENV HOME=/home/training
99
- WORKDIR /work
100
- ENTRYPOINT ["/opt/training/bin/train"]