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
@@ -0,0 +1,77 @@
1
+ import path from "node:path";
2
+ import { getDaimonEngineDescriptor } from "./engines.js";
3
+ /**
4
+ * In-container placement of Daimon's auth gateway (`daimon-runtime gateway`).
5
+ *
6
+ * The gateway is the only process that holds a gatewayed engine's subscription
7
+ * login. It runs as its own uid on loopback; the organization runtime gets a
8
+ * URL and a key instead of a realm. These names are Daimon's public contract
9
+ * (`src/gateway/` and `engines/codex/gatewayProvider.ts` in Daimon).
10
+ */
11
+ export const DAIMON_GATEWAY_URL_ENV = "DAIMON_GATEWAY_URL";
12
+ /** Must keep its `_KEY` suffix: Codex's shell policy keeps `*KEY*` out of model-run commands. */
13
+ export const DAIMON_GATEWAY_KEY_ENV = "DAIMON_GATEWAY_KEY";
14
+ export const DAIMON_GATEWAY_CONFIG_VERSION = "noopolis.daimon.gateway.v1";
15
+ export const DAIMON_GATEWAY_KEY_TABLE_VERSION = "noopolis.daimon.gateway-keys.v1";
16
+ export const DAIMON_GATEWAY_HOST = "127.0.0.1";
17
+ export const DAIMON_GATEWAY_PORT = 43_200;
18
+ export const DAIMON_GATEWAY_URL = `http://${DAIMON_GATEWAY_HOST}:${DAIMON_GATEWAY_PORT}`;
19
+ /** Root-owned, gateway-group-readable: config and key table. */
20
+ export const DAIMON_GATEWAY_ETC = "/etc/daimon-gateway";
21
+ export const DAIMON_GATEWAY_CONFIG = `${DAIMON_GATEWAY_ETC}/config.json`;
22
+ export const DAIMON_GATEWAY_KEY_TABLE = `${DAIMON_GATEWAY_ETC}/keys.json`;
23
+ /** Gateway-private copies of bootstrap leaves, rewritten on every start. */
24
+ export const DAIMON_GATEWAY_RUN = "/run/daimon-gateway";
25
+ /**
26
+ * Bind target directory for gatewayed bootstrap leaves. The host leaf keeps its
27
+ * host owner (the organization uid), so it is mounted under a root-only 0700
28
+ * directory the organization uid cannot traverse; root copies it for the gateway.
29
+ */
30
+ export const DAIMON_GATEWAY_BOOTSTRAP_ROOT = "/var/lib/spawnfile/daimon/gateway-bootstrap";
31
+ /** Key-table principal: Daimon reads one gateway key per organization runtime process. */
32
+ export const DAIMON_GATEWAY_PRINCIPAL = "daimon-organization";
33
+ /** Staging kinds whose login is one durable realm seeded from a bootstrap leaf: exactly what the gateway owns. */
34
+ const GATEWAYED_STAGINGS = new Set(["portable-realm", "broker-realm"]);
35
+ /**
36
+ * Whether Spawnfile places a gateway for this engine. The descriptors carry
37
+ * no gateway field, so the seam is the staging role: every realm-staged login
38
+ * (portable or brokered) is gatewayed; per-agent files and AGY's secret
39
+ * service never are. Replace with Daimon's own declaration once published.
40
+ */
41
+ export const isDaimonGatewayedEngine = (descriptor) => descriptor !== undefined && GATEWAYED_STAGINGS.has(descriptor.auth.staging);
42
+ export const daimonGatewayedEngines = (engines) => [...new Set(engines)].sort().flatMap((engine) => {
43
+ const descriptor = getDaimonEngineDescriptor(engine);
44
+ return isDaimonGatewayedEngine(descriptor) ? [descriptor] : [];
45
+ });
46
+ /** Where a gatewayed engine's read-only bootstrap leaf is bind-mounted. */
47
+ export const daimonGatewayBootstrapMountPath = (realm) => path.posix.join(DAIMON_GATEWAY_BOOTSTRAP_ROOT, path.posix.basename(realm.bootstrapMountPath));
48
+ /** The gateway-owned copy the gateway reads as its bootstrap. */
49
+ export const daimonGatewayBootstrapCopyPath = (realm) => path.posix.join(DAIMON_GATEWAY_RUN, path.posix.basename(realm.bootstrapMountPath));
50
+ /**
51
+ * Where the gateway mounts a realm volume. A brokered engine's descriptor
52
+ * realm path is also its broker's local turn-state home, so its volume moves
53
+ * to a sibling `gateway-` path; every other realm keeps its descriptor path.
54
+ */
55
+ export const daimonGatewayRealmPath = (descriptor) => {
56
+ const durable = descriptor.auth.realm.durableMountPath;
57
+ return descriptor.broker?.credentialHomePath === durable
58
+ ? path.posix.join(path.posix.dirname(durable), `gateway-${path.posix.basename(durable)}`)
59
+ : durable;
60
+ };
61
+ /** Gateway-private refresh home for a brokered engine, whose CLI refreshes its own login. */
62
+ export const daimonGatewayRefreshScratchPath = (descriptor) => descriptor.broker === null ? undefined : path.posix.join(DAIMON_GATEWAY_RUN, `${descriptor.id}-refresh`);
63
+ /** `host` is loopback in-container; the training sidecar binds its private network (`0.0.0.0`). */
64
+ export const renderDaimonGatewayConfig = (descriptors, host = DAIMON_GATEWAY_HOST) => `${JSON.stringify({
65
+ version: DAIMON_GATEWAY_CONFIG_VERSION,
66
+ host,
67
+ port: DAIMON_GATEWAY_PORT,
68
+ key_table_path: DAIMON_GATEWAY_KEY_TABLE,
69
+ ...Object.fromEntries(descriptors.map((descriptor) => [descriptor.id, {
70
+ realm_path: daimonGatewayRealmPath(descriptor),
71
+ bootstrap_path: daimonGatewayBootstrapCopyPath(descriptor.auth.realm),
72
+ ...(descriptor.broker === null ? {} : {
73
+ command: descriptor.broker.grokExecutablePath,
74
+ scratch_path: daimonGatewayRefreshScratchPath(descriptor)
75
+ })
76
+ }]))
77
+ })}\n`;
@@ -10,11 +10,6 @@ export declare const resolveDaimonGrokWorkerConfig: (model: DaimonGrokBrokerMode
10
10
  bytes: string;
11
11
  sha256: string;
12
12
  };
13
- /** Validate Daimon's slot-zero template before substituting only the canonical slot path. */
14
- export declare const resolveDaimonGrokClockedWorkerConfig: (model: DaimonGrokBrokerModel, reasoningEffort: DaimonGrokBrokerReasoningEffort, slot: number, vendored?: Readonly<Record<string, Readonly<Record<string, string>>>>) => {
15
- bytes: string;
16
- sha256: string;
17
- };
18
13
  /**
19
14
  * Byte mirror of Daimon's `renderGrokWorkerSandboxProfile`
20
15
  * (`daimon/src/runtime/grokWorkerSandboxProfile.ts`), pinned to Daimon's own
@@ -2,7 +2,7 @@ import { DAIMON_BROKER_ENGINE_ID, getDaimonEngineDescriptor, DAIMON_ENGINE_BROKE
2
2
  import { createHash } from "node:crypto";
3
3
  import path from "node:path";
4
4
  import { SpawnfileError } from "../../shared/index.js";
5
- import { DAIMON_GROK_WORKER_CONFIG_BYTES, DAIMON_GROK_CLOCKED_WORKER_CONFIG_BYTES } from "./grokWorkerConfigBytes.js";
5
+ import { DAIMON_GROK_WORKER_CONFIG_BYTES } from "./grokWorkerConfigBytes.js";
6
6
  const workerDescriptor = getDaimonEngineDescriptor(DAIMON_BROKER_ENGINE_ID);
7
7
  export const DAIMON_GROK_WORKER_SANDBOX_PROFILE = workerDescriptor.sandbox.profile;
8
8
  export const DAIMON_GROK_WORKER_HOME_DIRECTORY = workerDescriptor.homeDirectory;
@@ -23,18 +23,6 @@ export const resolveDaimonGrokWorkerConfig = (model, reasoningEffort, vendored =
23
23
  }
24
24
  return { bytes, sha256: pin };
25
25
  };
26
- /** Validate Daimon's slot-zero template before substituting only the canonical slot path. */
27
- export const resolveDaimonGrokClockedWorkerConfig = (model, reasoningEffort, slot, vendored = DAIMON_GROK_CLOCKED_WORKER_CONFIG_BYTES) => {
28
- if (!Number.isSafeInteger(slot) || slot < 0)
29
- throw new SpawnfileError("compile_error", "Invalid Grok clock slot");
30
- const template = vendored[model]?.[reasoningEffort];
31
- const pin = DAIMON_ENGINE_BROKER.worker.clockedConfigSha256[model]?.[reasoningEffort];
32
- if (!template || sha256(template) !== pin)
33
- throw new SpawnfileError("compile_error", "Clocked worker config does not match the contract manifest pin");
34
- const clock = DAIMON_ENGINE_BROKER.worker.taskClock;
35
- const bytes = template.replaceAll(clock.timestampFilePath, clock.slotFilePattern.replace("{slot}", String(slot)));
36
- return { bytes, sha256: sha256(bytes) };
37
- };
38
26
  /**
39
27
  * Byte mirror of Daimon's `renderGrokWorkerSandboxProfile`
40
28
  * (`daimon/src/runtime/grokWorkerSandboxProfile.ts`), pinned to Daimon's own
@@ -2,3 +2,5 @@ export * from './contractManifest.js';
2
2
  export { DAIMON_PACKAGE_NAME } from './packageName.js';
3
3
  export * from './engines.js';
4
4
  export * from './contractManifestSchema.js';
5
+ export { DAIMON_GATEWAY_KEY_ENV, DAIMON_GATEWAY_URL_ENV } from './gateway.js';
6
+ export { daimonProfileRealmVolume, daimonSubscriptionRealmMountId, isDaimonGatewayRealmMountId } from './subscriptionRealms.js';
@@ -2,4 +2,5 @@ export * from './contractManifest.js';
2
2
  export { DAIMON_PACKAGE_NAME } from './packageName.js';
3
3
  export * from './engines.js';
4
4
  export * from './contractManifestSchema.js';
5
- //# sourceMappingURL=index.js.map
5
+ export { DAIMON_GATEWAY_KEY_ENV, DAIMON_GATEWAY_URL_ENV } from './gateway.js';
6
+ export { daimonProfileRealmVolume, daimonSubscriptionRealmMountId, isDaimonGatewayRealmMountId } from './subscriptionRealms.js';
@@ -4,7 +4,7 @@ import { SpawnfileError } from "../../shared/index.js";
4
4
  * Daimon's organization runtime accepts exactly one `memory` block per agent
5
5
  * (`OrganizationRuntimeMemory` = `{ runtimeHomePath, source?, tokenBudget? }`),
6
6
  * so lowering picks one declared bank deterministically, the same way the
7
- * legacy generated-Pi emitter does in `../pi/appAgentConfig.ts`.
7
+ * legacy generated-Pi emitter did.
8
8
  */
9
9
  const memoryAccessKey = (access) => `${access.source}:${access.bank.id}`;
10
10
  const selectDaimonMemoryAccess = (node) => [...(node.memoryAccess ?? [])].sort((left, right) => memoryAccessKey(left).localeCompare(memoryAccessKey(right)))[0];
@@ -1,3 +1,2 @@
1
1
  /** Package identity used by generated container recipes; never a host dependency. */
2
2
  export const DAIMON_PACKAGE_NAME = '@noopolis/daimon';
3
- //# sourceMappingURL=packageName.js.map
@@ -1,3 +1,4 @@
1
+ import { DAIMON_GATEWAY_URL_ENV, daimonGatewayBootstrapMountPath } from "./gateway.js";
1
2
  import os from "node:os";
2
3
  import path from "node:path";
3
4
  import { constants } from "node:fs";
@@ -6,6 +7,7 @@ import { SpawnfileError } from "../../shared/index.js";
6
7
  import { assertDaimonRuntimeHome, DAIMON_ORGANIZATION_RUNTIME_CONFIG_VERSIONS } from "./contractManifest.js";
7
8
  import { DAIMON_ENGINE_DESCRIPTORS, DAIMON_ENGINES, DAIMON_PORTABLE_ENGINE_ID, DAIMON_SECRET_SERVICE_ENGINE_ID, getDaimonEngineDescriptor } from "./engines.js";
8
9
  import { DAIMON_ORGANIZATION_UID } from "./runtimeIdentity.js";
10
+ import { daimonProfileUnlockMountArgs } from "./subscriptionRealms.js";
9
11
  const MAX_OPAQUE_CREDENTIAL_BYTES = 64 * 1024;
10
12
  export const DAIMON_GROK_ACCESS_TOKEN_MIN_BYTES = 32;
11
13
  export const DAIMON_GROK_REFRESH_TOKEN_MIN_BYTES = 16;
@@ -268,22 +270,31 @@ export const prepareDaimonRuntimeAuth = async (input) => {
268
270
  mountArgs.push("-v", `${sourcePath}:${ingressPath}:ro`);
269
271
  }
270
272
  // Realm auth is staged once per organization, in the historical mount order.
271
- for (const staging of ["portable-realm", "broker-realm", "secret-service"]) {
273
+ // An external auth gateway supplied at boot holds every gatewayed login itself.
274
+ const externalGateway = Boolean(input.env[DAIMON_GATEWAY_URL_ENV]);
275
+ for (const staging of externalGateway ? ["secret-service"] : ["portable-realm", "broker-realm", "secret-service"]) {
272
276
  for (const engine of new Set(agents.map((agent) => agent.engine.kind))) {
273
277
  const descriptor = descriptorForEngine(engine);
274
278
  if (descriptor.auth.staging !== staging)
275
279
  continue;
280
+ const bound = descriptor.auth.staging === "secret-service" ? input.authProfile?.realms?.[engine] : undefined;
281
+ if (bound && descriptor.auth.staging === "secret-service") {
282
+ // The profile's own login (`spawnfile auth login`): its unlock secret lives in a
283
+ // volume Daimon checks in-container, so no host file and no host owner gate.
284
+ mountArgs.push(...daimonProfileUnlockMountArgs(bound.unlockVolume, descriptor.auth.realm.unlockMountPath));
285
+ continue;
286
+ }
276
287
  const source = daimonSourcePathForEngine(engine, process.env, input.authProfile);
277
288
  if (descriptor.auth.staging === "portable-realm") {
278
289
  const ownerUid = await assertSafeDaimonSourceFile(source, engine, descriptor.auth.maxCredentialBytes, engine);
279
290
  assertDaimonCredentialContainerOwner(ownerUid, engine, containerCredentialUid);
280
- mountArgs.push("-v", `${source}:${descriptor.auth.realm.bootstrapMountPath}:ro`);
291
+ mountArgs.push("-v", `${source}:${daimonGatewayBootstrapMountPath(descriptor.auth.realm)}:ro`);
281
292
  }
282
293
  else if (descriptor.auth.staging === "broker-realm") {
283
294
  const realm = descriptor.auth.realm;
284
- // The organization uid never reads broker bootstrap material.
295
+ // Root stages broker bootstrap material for the gateway; the organization uid never reads it.
285
296
  await assertSafeDaimonSourceFile(source, engine, descriptor.auth.maxCredentialBytes, engine);
286
- mountArgs.push("-v", `${source}:${realm.bootstrapMountPath}:ro`);
297
+ mountArgs.push("-v", `${source}:${daimonGatewayBootstrapMountPath(realm)}:ro`);
287
298
  }
288
299
  else if (descriptor.auth.staging === "secret-service") {
289
300
  const realm = descriptor.auth.realm;
@@ -18,5 +18,7 @@
18
18
  * rather than something the container can repair.
19
19
  */
20
20
  export declare const DAIMON_ORGANIZATION_UID = 2000;
21
+ /** The auth gateway: sole holder of every gatewayed subscription realm. */
22
+ export declare const DAIMON_GATEWAY_UID = 2050;
21
23
  export declare const DAIMON_BROKER_UID = 2100;
22
24
  export declare const DAIMON_FIRST_WORKER_UID = 2200;
@@ -18,5 +18,7 @@
18
18
  * rather than something the container can repair.
19
19
  */
20
20
  export const DAIMON_ORGANIZATION_UID = 2_000;
21
+ /** The auth gateway: sole holder of every gatewayed subscription realm. */
22
+ export const DAIMON_GATEWAY_UID = 2_050;
21
23
  export const DAIMON_BROKER_UID = 2_100;
22
24
  export const DAIMON_FIRST_WORKER_UID = 2_200;
@@ -1,9 +1,33 @@
1
- export declare const daimonPortableSubscriptionRealms: (engines: readonly string[]) => {
2
- opaqueMountTargets: "/var/lib/spawnfile/daimon/codex-bootstrap-auth"[];
1
+ import type { ResolvedAuthProfile } from "../../auth/index.js";
2
+ /**
3
+ * Realm resources for every gatewayed engine: one exclusive-reattach realm
4
+ * volume the auth gateway alone owns, and one opaque bootstrap leaf mounted
5
+ * under the gateway-private root. The volume id is the realm's identity, so a
6
+ * moved mount path still reattaches the same login.
7
+ */
8
+ export declare const daimonSubscriptionRealmMountId: (engine: string) => string;
9
+ /** The file inside a profile's unlock volume that is mounted as the realm unlock secret. */
10
+ export declare const DAIMON_PROFILE_UNLOCK_FILE = "unlock";
11
+ /**
12
+ * The volume a compiled realm mount reattaches when the selected auth profile
13
+ * holds that engine's login (`spawnfile auth login <engine>`): the profile's
14
+ * realm volume instead of the deployment-lineage one.
15
+ */
16
+ export declare const daimonProfileRealmVolume: (mountId: string, profile: Pick<ResolvedAuthProfile, "realms"> | null | undefined) => string | undefined;
17
+ /** The read-only mount of a profile's unlock secret at the engine's declared unlock path. */
18
+ export declare const daimonProfileUnlockMountArgs: (unlockVolume: string, unlockMountPath: string) => string[];
19
+ /**
20
+ * Whether a compiled persistent mount is a gatewayed realm. An organization
21
+ * booted against an external gateway (`DAIMON_GATEWAY_URL` at boot) mounts
22
+ * none of these and stages no bootstrap leaf: the gateway alone holds them.
23
+ */
24
+ export declare const isDaimonGatewayRealmMountId: (id: string) => boolean;
25
+ export declare const daimonGatewayedSubscriptionRealms: (engines: readonly string[]) => {
26
+ opaqueMountTargets: string[];
3
27
  persistentMounts: {
4
28
  id: string;
5
29
  lifecycle: "exclusive-reattach";
6
- mountPath: "/var/lib/spawnfile/daimon/codex-subscription-realm";
30
+ mountPath: string;
7
31
  reason: string;
8
32
  }[];
9
33
  };
@@ -1,18 +1,40 @@
1
- import { getDaimonEngineDescriptor } from "./engines.js";
2
- export const daimonPortableSubscriptionRealms = (engines) => {
3
- const realms = [...new Set(engines)].sort().flatMap((engine) => {
4
- const descriptor = getDaimonEngineDescriptor(engine);
5
- return descriptor?.auth.staging === "portable-realm"
6
- ? [{ engine, realm: descriptor.auth.realm }]
7
- : [];
8
- });
1
+ import { daimonGatewayBootstrapMountPath, daimonGatewayedEngines, daimonGatewayRealmPath } from "./gateway.js";
2
+ import { DAIMON_ENGINES } from "./engines.js";
3
+ /**
4
+ * Realm resources for every gatewayed engine: one exclusive-reattach realm
5
+ * volume the auth gateway alone owns, and one opaque bootstrap leaf mounted
6
+ * under the gateway-private root. The volume id is the realm's identity, so a
7
+ * moved mount path still reattaches the same login.
8
+ */
9
+ export const daimonSubscriptionRealmMountId = (engine) => `daimon-${engine}-subscription-realm`;
10
+ const realmMountId = daimonSubscriptionRealmMountId;
11
+ /** The file inside a profile's unlock volume that is mounted as the realm unlock secret. */
12
+ export const DAIMON_PROFILE_UNLOCK_FILE = "unlock";
13
+ /**
14
+ * The volume a compiled realm mount reattaches when the selected auth profile
15
+ * holds that engine's login (`spawnfile auth login <engine>`): the profile's
16
+ * realm volume instead of the deployment-lineage one.
17
+ */
18
+ export const daimonProfileRealmVolume = (mountId, profile) => Object.entries(profile?.realms ?? {}).find(([engine]) => realmMountId(engine) === mountId)?.[1].realmVolume;
19
+ /** The read-only mount of a profile's unlock secret at the engine's declared unlock path. */
20
+ export const daimonProfileUnlockMountArgs = (unlockVolume, unlockMountPath) => [
21
+ "--mount", `type=volume,source=${unlockVolume},target=${unlockMountPath},volume-subpath=${DAIMON_PROFILE_UNLOCK_FILE},readonly`
22
+ ];
23
+ /**
24
+ * Whether a compiled persistent mount is a gatewayed realm. An organization
25
+ * booted against an external gateway (`DAIMON_GATEWAY_URL` at boot) mounts
26
+ * none of these and stages no bootstrap leaf: the gateway alone holds them.
27
+ */
28
+ export const isDaimonGatewayRealmMountId = (id) => daimonGatewayedEngines(DAIMON_ENGINES).some((descriptor) => realmMountId(descriptor.id) === id);
29
+ export const daimonGatewayedSubscriptionRealms = (engines) => {
30
+ const descriptors = daimonGatewayedEngines(engines);
9
31
  return {
10
- opaqueMountTargets: realms.map(({ realm }) => realm.bootstrapMountPath),
11
- persistentMounts: realms.map(({ engine, realm }) => ({
12
- id: `daimon-${engine}-subscription-realm`,
32
+ opaqueMountTargets: descriptors.map((descriptor) => daimonGatewayBootstrapMountPath(descriptor.auth.realm)),
33
+ persistentMounts: descriptors.map((descriptor) => ({
34
+ id: realmMountId(descriptor.id),
13
35
  lifecycle: "exclusive-reattach",
14
- mountPath: realm.durableMountPath,
15
- reason: `Daimon host ${engine} subscription credential realm`
36
+ mountPath: daimonGatewayRealmPath(descriptor),
37
+ reason: `Daimon host ${descriptor.id} subscription credential realm`
16
38
  }))
17
39
  };
18
40
  };
@@ -0,0 +1,2 @@
1
+ import type { ResolvedAgentNode } from "../../compiler/types.js";
2
+ export declare const createDaimonTestNode: (overrides?: Partial<ResolvedAgentNode>) => ResolvedAgentNode;
@@ -1,5 +1,5 @@
1
- export const createPiTestNode = (overrides = {}) => ({
2
- description: "Pi test agent",
1
+ export const createDaimonTestNode = (overrides = {}) => ({
2
+ description: "Daimon test agent",
3
3
  docs: [
4
4
  {
5
5
  content: "# Instructions\n",
@@ -23,7 +23,7 @@ export const createPiTestNode = (overrides = {}) => ({
23
23
  name: "assistant",
24
24
  policyMode: null,
25
25
  policyOnDegrade: null,
26
- runtime: { name: "pi", options: {} },
26
+ runtime: { name: "daimon", options: {} },
27
27
  secrets: [],
28
28
  skills: [
29
29
  {
@@ -0,0 +1,50 @@
1
+ import type { SubjectAdapter, Usage } from '../../../../training/index.js';
2
+ export declare const BOOTED_ADAPTER_ID = "daimon-booted";
3
+ export declare const BOOTED_EVIDENCE_SCHEMA = "spawnfile.training.daimon-booted.wake.v1";
4
+ /** One ledger row a wake appended (`noopolis.daimon.turn-usage.v1`), as far as Training reads it. */
5
+ export interface BootedUsageRow {
6
+ input: number;
7
+ cache_read: number;
8
+ output: number;
9
+ notional_usd: number;
10
+ complete: boolean;
11
+ }
12
+ export interface BootedWake {
13
+ state: 'completed' | 'failed' | 'stopped' | 'timeout';
14
+ acceptanceId: string;
15
+ executionId: string | null;
16
+ code: string | null;
17
+ text: string;
18
+ usage: readonly BootedUsageRow[];
19
+ transcript: string | null;
20
+ /** Per model request, the tool-call names its response carried; null where the runtime could not say. */
21
+ requestToolCalls?: readonly (readonly string[] | null)[];
22
+ }
23
+ export interface BootedTrialHandle {
24
+ wake(text: string, options: {
25
+ deliveryId: string;
26
+ timeoutMs: number;
27
+ signal?: AbortSignal;
28
+ }): Promise<BootedWake>;
29
+ teardown(): Promise<void>;
30
+ }
31
+ /** Boots one trial organization of the subject with the candidate's instructions. */
32
+ export interface BootedTrialLauncher {
33
+ boot(input: {
34
+ trialId: string;
35
+ instructions: string;
36
+ signal?: AbortSignal;
37
+ }): Promise<BootedTrialHandle>;
38
+ }
39
+ export interface BootedAdapterOptions {
40
+ launcher: BootedTrialLauncher;
41
+ timeoutMs: number;
42
+ }
43
+ /** Ledger rows to `Usage`; no rows means unmetered, never zero. */
44
+ export declare const bootedUsage: (rows: readonly BootedUsageRow[]) => Usage | null;
45
+ /**
46
+ * A training trial as a production-booted organization: the container is the
47
+ * isolation, the wake is the turn, and the evidence is what the runtime itself
48
+ * recorded (receipt, usage ledger, engine transcript).
49
+ */
50
+ export declare function createDaimonBootedAdapter(options: BootedAdapterOptions): SubjectAdapter;
@@ -0,0 +1,60 @@
1
+ export const BOOTED_ADAPTER_ID = 'daimon-booted';
2
+ export const BOOTED_EVIDENCE_SCHEMA = 'spawnfile.training.daimon-booted.wake.v1';
3
+ /** Ledger rows to `Usage`; no rows means unmetered, never zero. */
4
+ export const bootedUsage = (rows) => rows.length === 0 ? null : {
5
+ inputTokens: rows.reduce((sum, row) => sum + row.input, 0),
6
+ cachedInputTokens: rows.reduce((sum, row) => sum + row.cache_read, 0),
7
+ outputTokens: rows.reduce((sum, row) => sum + row.output, 0),
8
+ reasoningTokens: null,
9
+ notionalUsd: rows.reduce((sum, row) => sum + row.notional_usd, 0),
10
+ source: 'daimon-turn-usage-ledger',
11
+ };
12
+ /**
13
+ * A training trial as a production-booted organization: the container is the
14
+ * isolation, the wake is the turn, and the evidence is what the runtime itself
15
+ * recorded (receipt, usage ledger, engine transcript).
16
+ */
17
+ export function createDaimonBootedAdapter(options) {
18
+ return {
19
+ id: BOOTED_ADAPTER_ID,
20
+ capabilities: { toolTrace: 'none', liveObservations: false, cancellation: 'native-handle', multiTurn: true,
21
+ resources: ['instructions'], readIsolation: 'none', protectedPaths: false,
22
+ isolation: 'One production-booted organization container per trial; the subscription login stays in the run auth gateway.' },
23
+ async start(input) {
24
+ const trial = await options.launcher.boot({ trialId: input.trialId, instructions: input.instructions, signal: input.signal });
25
+ const source = `${BOOTED_ADAPTER_ID}:${input.trialId}`;
26
+ let seq = 0;
27
+ let stopped;
28
+ const emit = (wakeId, value) => input.onObservation({ id: `${source}:${++seq}`, source, seq, trialId: input.trialId, wakeId, timestamp: new Date().toISOString(), ...value });
29
+ const stop = (reason) => stopped ??= trial.teardown().then(() => ({ state: 'acknowledged', scope: 'native-handle', quiescence: 'confirmed', remoteWork: 'unknown', reason, detail: 'trial organization container removed' }), (error) => ({ state: 'unknown', scope: 'native-handle', quiescence: 'unknown', remoteWork: 'unknown', reason, detail: error instanceof Error ? error.message : String(error) }));
30
+ return {
31
+ stop,
32
+ async run(turn, signal) {
33
+ if (stopped)
34
+ throw new Error('trial organization was already stopped');
35
+ const wake = await trial.wake(turn.text, { deliveryId: `${input.trialId}:${turn.id}`, timeoutMs: options.timeoutMs, signal: signal ?? input.signal });
36
+ const usage = bootedUsage(wake.usage);
37
+ if (wake.text)
38
+ await emit(turn.id, { type: 'output', text: wake.text });
39
+ if (usage)
40
+ await emit(turn.id, { type: 'usage', usage });
41
+ if (wake.transcript)
42
+ await emit(turn.id, { type: 'diagnostic', native: { schema: BOOTED_EVIDENCE_SCHEMA, transcript: wake.transcript } });
43
+ const status = wake.state === 'completed' ? 'completed' : wake.state === 'stopped' ? 'cancelled' : 'failed';
44
+ return {
45
+ status, text: wake.text, usage,
46
+ evidence: { adapterId: BOOTED_ADAPTER_ID, payload: { schema: BOOTED_EVIDENCE_SCHEMA, acceptanceId: wake.acceptanceId,
47
+ executionId: wake.executionId, state: wake.state, code: wake.code } },
48
+ coverage: [
49
+ { channel: 'output', completeness: wake.state === 'completed' ? 'complete' : 'partial', ordering: 'none' },
50
+ { channel: 'usage', completeness: usage === null ? 'absent' : wake.usage.every((row) => row.complete) ? 'complete' : 'partial', ordering: 'none' },
51
+ { channel: 'tools', completeness: 'absent', ordering: 'none' },
52
+ ],
53
+ ...(status === 'completed' ? {} : { error: `trial wake ${wake.state}${wake.code ? ` (${wake.code})` : ''}` }),
54
+ };
55
+ },
56
+ };
57
+ },
58
+ };
59
+ }
60
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/runtime/daimon/training/booted/adapter.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,0CAA0C,CAAC;AA6BjF,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAA+B,EAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvG,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACrE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,0BAA0B;CACnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAA6B;IACrE,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI;YACxG,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK;YACzE,SAAS,EAAE,+GAA+G,EAAE;QAC9H,KAAK,CAAC,KAAK,CAAC,KAAK;YACf,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9H,MAAM,MAAM,GAAG,GAAG,iBAAiB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACvD,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,OAAyC,CAAC;YAC9C,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,KAAuD,EAAE,EAAE,CACvF,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;YAChJ,MAAM,IAAI,GAAG,CAAC,MAAc,EAAwB,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CACtF,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC,EACjK,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5L,OAAO;gBACL,IAAI;gBACJ,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM;oBACpB,IAAI,OAAO;wBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBACvE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBACtJ,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACtC,IAAI,IAAI,CAAC,IAAI;wBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxE,IAAI,KAAK;wBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBACzD,IAAI,IAAI,CAAC,UAAU;wBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC1I,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC5G,OAAO;wBACL,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;wBAC9B,QAAQ,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY;gCAClH,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE;wBACvE,QAAQ,EAAE;4BACR,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE;4BAC1G,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE;4BAClJ,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;yBAC/D;wBACD,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;qBAC9G,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { BOOTED_ADAPTER_ID, BOOTED_EVIDENCE_SCHEMA, bootedUsage, createDaimonBootedAdapter } from './adapter.js';
2
+ export type { BootedAdapterOptions, BootedTrialHandle, BootedTrialLauncher, BootedUsageRow, BootedWake } from './adapter.js';
3
+ export { bindBootedJudges, createBootedJudgeInference, transcriptToolActivity } from './judge.js';
4
+ export type { BootedJudgeLauncher, BootedJudgeOptions, BootedJudgeSpec } from './judge.js';
@@ -0,0 +1,3 @@
1
+ export { BOOTED_ADAPTER_ID, BOOTED_EVIDENCE_SCHEMA, bootedUsage, createDaimonBootedAdapter } from './adapter.js';
2
+ export { bindBootedJudges, createBootedJudgeInference, transcriptToolActivity } from './judge.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/runtime/daimon/training/booted/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEjH,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { InferenceProvider } from '../../../../training/index.js';
2
+ import { type BootedWake } from './adapter.js';
3
+ /** One judge identity: the engine, and the model and effort its compiled organization pins. */
4
+ export interface BootedJudgeSpec {
5
+ engine: string;
6
+ model: string;
7
+ effort?: string;
8
+ }
9
+ /** The run's warm judges: one booted container per judge identity, woken once per judgment. */
10
+ export interface BootedJudgeLauncher {
11
+ judge(spec: BootedJudgeSpec): Promise<{
12
+ wake(text: string, options: {
13
+ deliveryId: string;
14
+ timeoutMs: number;
15
+ signal?: AbortSignal;
16
+ }): Promise<BootedWake>;
17
+ }>;
18
+ }
19
+ /**
20
+ * Composition binds the training run's judge launcher for the run's duration
21
+ * (`spawnfile train` runs one run per process). Providers resolve it per
22
+ * judgment, so grader and model registries stay static data.
23
+ */
24
+ export declare function bindBootedJudges(launcher: BootedJudgeLauncher | undefined): void;
25
+ export interface BootedJudgeOptions {
26
+ engine: string;
27
+ effort?: string;
28
+ timeoutMs?: number;
29
+ }
30
+ export declare function transcriptToolActivity(transcript: string): string[];
31
+ /**
32
+ * The one subscription inference path of a training run: each judgment is
33
+ * one wake of the run's warm, tool-free judge organization for this engine,
34
+ * whose login lives only in the run's auth gateway (or the engine's own
35
+ * realm). The reply is validated against the requested schema after the
36
+ * wake. A wake whose transcript or per-request tool record shows any tool
37
+ * activity is refused, and so is one that left no evidence either way.
38
+ */
39
+ export declare function createBootedJudgeInference(options: BootedJudgeOptions): InferenceProvider;
@@ -0,0 +1,122 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { InferenceFailure, validateInferenceResponse, validateInferenceSchema } from '../../../../training/index.js';
3
+ import { bootedUsage } from './adapter.js';
4
+ let bound;
5
+ /**
6
+ * Composition binds the training run's judge launcher for the run's duration
7
+ * (`spawnfile train` runs one run per process). Providers resolve it per
8
+ * judgment, so grader and model registries stay static data.
9
+ */
10
+ export function bindBootedJudges(launcher) { bound = launcher; }
11
+ /**
12
+ * Structured records of a wake transcript that are not a message or
13
+ * reasoning: any other item kind is tool activity, including future native
14
+ * tool families. Engine-neutral: it reads record and item kinds only.
15
+ */
16
+ const TEXT_KINDS = /^(message|reasoning|agent_message|agent_reasoning|user_message|text|thinking)$/u;
17
+ const TOOL_KINDS = /tool|function|shell|exec|command|mcp|web_search|patch|file_change|search_tool|use_tool|call/iu;
18
+ export function transcriptToolActivity(transcript) {
19
+ const found = new Set();
20
+ for (const line of transcript.split('\n')) {
21
+ if (!line.trim())
22
+ continue;
23
+ let record;
24
+ try {
25
+ record = JSON.parse(line);
26
+ }
27
+ catch {
28
+ found.add('unparseable-record');
29
+ continue;
30
+ }
31
+ if (record === null || typeof record !== 'object')
32
+ continue;
33
+ const visit = (value, depth) => {
34
+ if (depth > 3 || value === null || typeof value !== 'object' || Array.isArray(value))
35
+ return;
36
+ const entry = value;
37
+ const kind = entry['type'];
38
+ if (typeof kind === 'string' && !TEXT_KINDS.test(kind) && TOOL_KINDS.test(kind))
39
+ found.add(kind);
40
+ for (const key of ['payload', 'item', 'message', 'content']) {
41
+ const nested = entry[key];
42
+ if (Array.isArray(nested))
43
+ nested.forEach(child => visit(child, depth + 1));
44
+ else
45
+ visit(nested, depth + 1);
46
+ }
47
+ };
48
+ visit(record, 0);
49
+ }
50
+ return [...found].sort();
51
+ }
52
+ function wakeFailure(wake) {
53
+ if (wake.state === 'timeout')
54
+ return 'timeout';
55
+ if (wake.state === 'stopped')
56
+ return 'cancelled';
57
+ const evidence = `${wake.code ?? ''} ${wake.text}`;
58
+ if (/auth_stale|unauthorized|authentication|sign in|login|401|403/iu.test(evidence))
59
+ return 'authentication';
60
+ if (/quota|usage limit|rate limit|429|402/iu.test(evidence))
61
+ return 'quota';
62
+ return 'unavailable';
63
+ }
64
+ /**
65
+ * The one subscription inference path of a training run: each judgment is
66
+ * one wake of the run's warm, tool-free judge organization for this engine,
67
+ * whose login lives only in the run's auth gateway (or the engine's own
68
+ * realm). The reply is validated against the requested schema after the
69
+ * wake. A wake whose transcript or per-request tool record shows any tool
70
+ * activity is refused, and so is one that left no evidence either way.
71
+ */
72
+ export function createBootedJudgeInference(options) {
73
+ const route = `${options.engine}-subscription`;
74
+ return {
75
+ id: route,
76
+ capabilities: { tools: 'disabled', billing: 'subscription', temperature: false, seed: false },
77
+ async generate(request) {
78
+ validateInferenceSchema(request.responseSchema);
79
+ if (!request.prompt.trim() || !request.model.trim() || request.temperature !== undefined || request.seed !== undefined) {
80
+ throw new InferenceFailure('unsupported', `Invalid ${route} inference controls`);
81
+ }
82
+ if (request.signal?.aborted)
83
+ throw new InferenceFailure('cancelled', `${route} cancelled before the wake`);
84
+ if (!bound)
85
+ throw new InferenceFailure('unavailable', 'Subscription judges run only as booted containers inside `spawnfile train --auth-profile <name>`');
86
+ const evidence = { responseModel: null, responseRoute: route };
87
+ const judge = await bound.judge({ engine: options.engine, model: request.model, ...(options.effort === undefined ? {} : { effort: options.effort }) })
88
+ .catch((error) => { throw new InferenceFailure('unavailable', `${route} judge did not boot: ${error instanceof Error ? error.message : String(error)}`, evidence); });
89
+ const schema = request.responseSchema === undefined ? '' : [
90
+ '', '', 'Reply with exactly one JSON value that validates against this JSON Schema and nothing else:',
91
+ JSON.stringify(request.responseSchema),
92
+ ].join('\n');
93
+ const text = `${request.system === undefined ? '' : `${request.system}\n\n`}${request.prompt}${schema}`;
94
+ const wake = await judge.wake(text, { deliveryId: `judge-${randomUUID()}`, timeoutMs: options.timeoutMs ?? 180_000, signal: request.signal });
95
+ const usage = bootedUsage(wake.usage);
96
+ const withUsage = { ...evidence, usage };
97
+ if (request.signal?.aborted)
98
+ throw new InferenceFailure('cancelled', `${route} judgment cancelled`, withUsage);
99
+ if (wake.state !== 'completed')
100
+ throw new InferenceFailure(wakeFailure(wake), `${route} judge wake ${wake.state}${wake.code ? ` (${wake.code})` : ''}`, withUsage);
101
+ const requests = wake.requestToolCalls ?? [];
102
+ if ((wake.transcript !== null && transcriptToolActivity(wake.transcript).length > 0) || requests.some(calls => calls !== null && calls.length > 0)) {
103
+ throw new InferenceFailure('protocol', `${route} attempt refused: tool-call`, { ...withUsage, detail: 'tool-call' });
104
+ }
105
+ // Proof of a tool-free wake: the engine transcript, or every model request's own tool-call record.
106
+ if (wake.transcript === null && (requests.length === 0 || requests.some(calls => calls === null))) {
107
+ throw new InferenceFailure('protocol', `${route} judge left no evidence to prove a tool-free judgment`, withUsage);
108
+ }
109
+ const reply = wake.text.trim();
110
+ if (!reply)
111
+ throw new InferenceFailure('protocol', `${route} judge replied with nothing`, withUsage);
112
+ try {
113
+ validateInferenceResponse(reply, request.responseSchema, request.responseJsonFence);
114
+ }
115
+ catch {
116
+ throw new InferenceFailure('invalid-response', `${route} answer violated the requested schema`, withUsage);
117
+ }
118
+ return { text: reply, model: request.model, modelBasis: 'requested-assumption', usage, route };
119
+ },
120
+ };
121
+ }
122
+ //# sourceMappingURL=judge.js.map