spawnfile 0.1.32 → 0.1.34

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 (585) hide show
  1. package/README.md +1 -1
  2. package/dist/auth/trainingAuth.d.ts +2 -5
  3. package/dist/cli/devCommands.d.ts +1 -1
  4. package/dist/cli/devCommands.js +0 -66
  5. package/dist/cli/runCli.d.ts +1 -4
  6. package/dist/cli/runCli.js +2 -2
  7. package/dist/cli/trainCommand.js +9 -15
  8. package/dist/cli/trainingBooted.d.ts +7 -0
  9. package/dist/cli/trainingBooted.js +41 -0
  10. package/dist/cli/trainingExecution.d.ts +4 -7
  11. package/dist/cli/trainingExecution.js +4 -32
  12. package/dist/compiler/containerArtifacts.js +0 -5
  13. package/dist/compiler/containerBackedMountRender.js +5 -1
  14. package/dist/compiler/containerDaimonBrokerRender.d.ts +5 -50
  15. package/dist/compiler/containerDaimonBrokerRender.js +7 -88
  16. package/dist/compiler/containerDaimonGatewayRender.d.ts +50 -0
  17. package/dist/compiler/containerDaimonGatewayRender.js +157 -0
  18. package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +2 -10
  19. package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +13 -25
  20. package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +11 -49
  21. package/dist/compiler/containerDaimonGrokWorkerRender.js +15 -39
  22. package/dist/compiler/containerDaimonStartupSupervision.d.ts +8 -0
  23. package/dist/compiler/containerDaimonStartupSupervision.js +39 -0
  24. package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +1 -2
  25. package/dist/compiler/containerDaimonUidEntrypointRender.js +26 -46
  26. package/dist/compiler/containerRuntimeReadinessRender.js +1 -1
  27. package/dist/compiler/memoryArtifacts.js +0 -1
  28. package/dist/compiler/moltnetArtifacts.js +1 -17
  29. package/dist/compiler/moltnetClientConfig.js +1 -1
  30. package/dist/compiler/moltnetRuntimeConfig.js +0 -10
  31. package/dist/compiler/runProject.d.ts +1 -0
  32. package/dist/compiler/runProject.js +9 -3
  33. package/dist/compiler/runProjectAuth.js +2 -17
  34. package/dist/compiler/training/contract.d.ts +0 -2
  35. package/dist/compiler/training/contract.js +0 -2
  36. package/dist/compiler/training/execution.d.ts +1 -128
  37. package/dist/compiler/training/execution.js +7 -68
  38. package/dist/compiler/training/index.d.ts +0 -8
  39. package/dist/compiler/training/index.js +0 -7
  40. package/dist/compiler/training/output.d.ts +1 -0
  41. package/dist/compiler/training/output.js +1 -1
  42. package/dist/compiler/training/trial/boot.d.ts +53 -0
  43. package/dist/compiler/training/trial/boot.js +147 -0
  44. package/dist/compiler/training/trial/docker.d.ts +8 -0
  45. package/dist/compiler/training/trial/docker.js +22 -0
  46. package/dist/compiler/training/trial/gateway.d.ts +42 -0
  47. package/dist/compiler/training/trial/gateway.js +98 -0
  48. package/dist/compiler/training/trial/index.d.ts +4 -0
  49. package/dist/compiler/training/trial/index.js +4 -0
  50. package/dist/compiler/training/trial/launcher.d.ts +32 -0
  51. package/dist/compiler/training/trial/launcher.js +49 -0
  52. package/dist/compiler/training/trial/project.d.ts +11 -0
  53. package/dist/compiler/training/trial/project.js +31 -0
  54. package/dist/compiler/upReceipt.d.ts +2 -17
  55. package/dist/compiler/upReceipt.js +2 -17
  56. package/dist/deployment/artifactsExportPlan.js +2 -18
  57. package/dist/deployment/privateArtifactsExport.js +1 -1
  58. package/dist/dev/docker.d.ts +0 -5
  59. package/dist/dev/docker.js +0 -46
  60. package/dist/dev/index.d.ts +0 -1
  61. package/dist/dev/index.js +0 -1
  62. package/dist/dev/project.d.ts +0 -16
  63. package/dist/dev/project.js +1 -128
  64. package/dist/distribution/distributionReportSchema.js +1 -1
  65. package/dist/distribution/imageRuntimeAuth.js +3 -2
  66. package/dist/release/drainControl.d.ts +5 -19
  67. package/dist/release/drainControl.js +12 -67
  68. package/dist/report/types.d.ts +3 -6
  69. package/dist/runtime/common.d.ts +1 -1
  70. package/dist/runtime/common.js +1 -1
  71. package/dist/runtime/container.d.ts +2 -2
  72. package/dist/runtime/container.js +1 -39
  73. package/dist/runtime/daimon/config.js +6 -12
  74. package/dist/runtime/daimon/contractManifest.js +0 -1
  75. package/dist/runtime/daimon/contractManifestSchema.js +0 -1
  76. package/dist/runtime/daimon/control.d.ts +31 -0
  77. package/dist/runtime/daimon/control.js +83 -0
  78. package/dist/runtime/daimon/engineDescriptorSchema.js +0 -1
  79. package/dist/runtime/daimon/engineDescriptors.generated.d.ts +1 -1
  80. package/dist/runtime/daimon/engineDescriptors.generated.js +1 -2
  81. package/dist/runtime/daimon/engines.js +0 -1
  82. package/dist/runtime/daimon/gateway.d.ts +62 -0
  83. package/dist/runtime/daimon/gateway.js +77 -0
  84. package/dist/runtime/daimon/grokWorkerContract.d.ts +0 -5
  85. package/dist/runtime/daimon/grokWorkerContract.js +1 -13
  86. package/dist/runtime/daimon/index.d.ts +2 -0
  87. package/dist/runtime/daimon/index.js +2 -1
  88. package/dist/runtime/daimon/memory.js +1 -1
  89. package/dist/runtime/daimon/packageName.js +0 -1
  90. package/dist/runtime/daimon/runAuth.js +7 -4
  91. package/dist/runtime/daimon/runtimeIdentity.d.ts +2 -0
  92. package/dist/runtime/daimon/runtimeIdentity.js +2 -0
  93. package/dist/runtime/daimon/subscriptionRealms.d.ts +9 -3
  94. package/dist/runtime/daimon/subscriptionRealms.js +22 -13
  95. package/dist/runtime/daimon/testHelpers.d.ts +2 -0
  96. package/dist/runtime/{pi → daimon}/testHelpers.js +3 -3
  97. package/dist/runtime/daimon/training/booted/adapter.d.ts +46 -0
  98. package/dist/runtime/daimon/training/booted/adapter.js +59 -0
  99. package/dist/runtime/daimon/training/booted/adapter.js.map +1 -0
  100. package/dist/runtime/daimon/training/booted/index.d.ts +2 -0
  101. package/dist/runtime/daimon/training/booted/index.js +2 -0
  102. package/dist/runtime/daimon/training/booted/index.js.map +1 -0
  103. package/dist/runtime/daimon/training/index.d.ts +5 -0
  104. package/dist/runtime/daimon/training/index.js +8 -4
  105. package/dist/runtime/daimon/training/index.js.map +1 -1
  106. package/dist/runtime/daimon/training/providers/codex-subscription/index.js.map +1 -0
  107. package/dist/runtime/daimon/training/providers/codex-subscription/protocol.js.map +1 -0
  108. package/dist/runtime/daimon/training/providers/codex-subscription/provider.js.map +1 -0
  109. package/dist/runtime/daimon/training/providers/codex-subscription/strict-schema.js.map +1 -0
  110. package/dist/runtime/daimon/training/providers/grok-subscription/cli.d.ts +1 -3
  111. package/dist/runtime/daimon/training/providers/grok-subscription/cli.js +5 -5
  112. package/dist/runtime/daimon/training/providers/grok-subscription/cli.js.map +1 -1
  113. package/dist/runtime/daimon/training/providers/grok-subscription/index.d.ts +1 -2
  114. package/dist/runtime/daimon/training/providers/grok-subscription/index.js +0 -1
  115. package/dist/runtime/daimon/training/providers/grok-subscription/index.js.map +1 -1
  116. package/dist/runtime/daimon/training/providers/grok-subscription/protocol.d.ts +5 -17
  117. package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js +18 -31
  118. package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js.map +1 -1
  119. package/dist/runtime/daimon/training/providers/grok-subscription/provider.js +1 -2
  120. package/dist/runtime/daimon/training/providers/grok-subscription/provider.js.map +1 -1
  121. package/dist/runtime/daimon/wakeMoments.js +0 -1
  122. package/dist/runtime/install.js +0 -21
  123. package/dist/runtime/registry.js +0 -2
  124. package/dist/runtime/trainingGraderProviders.js +1 -1
  125. package/dist/runtime/trainingProviders.d.ts +1 -2
  126. package/dist/runtime/trainingProviders.js +9 -19
  127. package/dist/runtime/trainingSubjects.d.ts +0 -121
  128. package/dist/runtime/trainingSubjects.js +2 -13
  129. package/dist/runtime/types.d.ts +1 -8
  130. package/dist/shared/errors.js +0 -1
  131. package/dist/status/lifecycleProbes.js +3 -6
  132. package/dist/status/moltnetWiringProbes.js +1 -17
  133. package/dist/training/subjects/index.d.ts +0 -1
  134. package/dist/training/subjects/index.js +0 -1
  135. package/dist/training/subjects/index.js.map +1 -1
  136. package/examples/README.md +0 -1
  137. package/examples/daimon-org/agents/mapper/Spawnfile +4 -1
  138. package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +4 -1
  139. package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +5 -8
  140. package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +1 -1
  141. package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +5 -8
  142. package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +5 -8
  143. package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +5 -8
  144. package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +1 -1
  145. package/examples/mixed-runtime-org/agents/localist/Spawnfile +7 -7
  146. package/package.json +4 -13
  147. package/runtimes.yaml +5 -15
  148. package/dist/compiler/containerDaimonGrokTaskClock.d.ts +0 -5
  149. package/dist/compiler/containerDaimonGrokTaskClock.js +0 -29
  150. package/dist/compiler/daimonTelemetryArtifacts.d.ts +0 -22
  151. package/dist/compiler/daimonTelemetryArtifacts.js +0 -56
  152. package/dist/compiler/training/broker/clockProbe.d.ts +0 -6
  153. package/dist/compiler/training/broker/clockProbe.js +0 -27
  154. package/dist/compiler/training/broker/declaration.d.ts +0 -54
  155. package/dist/compiler/training/broker/declaration.js +0 -70
  156. package/dist/compiler/training/broker/entrypoint.d.ts +0 -39
  157. package/dist/compiler/training/broker/entrypoint.js +0 -124
  158. package/dist/compiler/training/broker/evaluatorSecrets.d.ts +0 -2
  159. package/dist/compiler/training/broker/evaluatorSecrets.js +0 -62
  160. package/dist/compiler/training/broker/index.d.ts +0 -12
  161. package/dist/compiler/training/broker/index.js +0 -12
  162. package/dist/compiler/training/broker/main.d.ts +0 -2
  163. package/dist/compiler/training/broker/main.js +0 -14
  164. package/dist/compiler/training/broker/paths.d.ts +0 -236
  165. package/dist/compiler/training/broker/paths.js +0 -249
  166. package/dist/compiler/training/broker/processes.d.ts +0 -51
  167. package/dist/compiler/training/broker/processes.js +0 -102
  168. package/dist/compiler/training/broker/projection.d.ts +0 -61
  169. package/dist/compiler/training/broker/projection.js +0 -109
  170. package/dist/compiler/training/broker/provisioning.d.ts +0 -78
  171. package/dist/compiler/training/broker/provisioning.js +0 -231
  172. package/dist/compiler/training/broker/receipt.d.ts +0 -77
  173. package/dist/compiler/training/broker/receipt.js +0 -110
  174. package/dist/compiler/training/broker/recycleClient.d.ts +0 -33
  175. package/dist/compiler/training/broker/recycleClient.js +0 -112
  176. package/dist/compiler/training/broker/registration.d.ts +0 -46
  177. package/dist/compiler/training/broker/registration.js +0 -113
  178. package/dist/compiler/training/broker/reset.d.ts +0 -9
  179. package/dist/compiler/training/broker/reset.js +0 -71
  180. package/dist/compiler/training/broker/rootScript.d.ts +0 -32
  181. package/dist/compiler/training/broker/rootScript.js +0 -33
  182. package/dist/compiler/training/broker/runtime.d.ts +0 -22
  183. package/dist/compiler/training/broker/runtime.js +0 -128
  184. package/dist/compiler/training/broker/seccompRoutes.d.ts +0 -31
  185. package/dist/compiler/training/broker/seccompRoutes.js +0 -36
  186. package/dist/compiler/training/broker/supervisor.d.ts +0 -108
  187. package/dist/compiler/training/broker/supervisor.js +0 -172
  188. package/dist/compiler/training/broker/taskClock.d.ts +0 -5
  189. package/dist/compiler/training/broker/taskClock.js +0 -41
  190. package/dist/compiler/training/container/contract.d.ts +0 -54
  191. package/dist/compiler/training/container/contract.js +0 -52
  192. package/dist/compiler/training/container/evaluators.d.ts +0 -48
  193. package/dist/compiler/training/container/evaluators.js +0 -50
  194. package/dist/compiler/training/container/grokWriteback.d.ts +0 -8
  195. package/dist/compiler/training/container/grokWriteback.js +0 -26
  196. package/dist/compiler/training/container/index.d.ts +0 -5
  197. package/dist/compiler/training/container/index.js +0 -3
  198. package/dist/compiler/training/container/launch.d.ts +0 -21
  199. package/dist/compiler/training/container/launch.js +0 -280
  200. package/dist/compiler/training/container/nativeSlots.d.ts +0 -14
  201. package/dist/compiler/training/container/nativeSlots.js +0 -13
  202. package/dist/compiler/training/container/outputCopy.d.ts +0 -2
  203. package/dist/compiler/training/container/outputCopy.js +0 -72
  204. package/dist/compiler/training/container/outputVolume.d.ts +0 -28
  205. package/dist/compiler/training/container/outputVolume.js +0 -185
  206. package/dist/compiler/training/container/prepare.d.ts +0 -10
  207. package/dist/compiler/training/container/prepare.js +0 -125
  208. package/dist/compiler/training/container/process.d.ts +0 -14
  209. package/dist/compiler/training/container/process.js +0 -70
  210. package/dist/compiler/training/container/security.d.ts +0 -38
  211. package/dist/compiler/training/container/security.js +0 -68
  212. package/dist/compiler/training/container/subjectIsolation.d.ts +0 -5
  213. package/dist/compiler/training/container/subjectIsolation.js +0 -16
  214. package/dist/compiler/training/preparation/assets/Dockerfile +0 -100
  215. package/dist/compiler/training/preparation/assets/package-lock.json +0 -5483
  216. package/dist/compiler/training/preparation/broker.d.ts +0 -30
  217. package/dist/compiler/training/preparation/broker.js +0 -68
  218. package/dist/compiler/training/preparation/contextModes.d.ts +0 -12
  219. package/dist/compiler/training/preparation/contextModes.js +0 -38
  220. package/dist/compiler/training/preparation/contract.d.ts +0 -203
  221. package/dist/compiler/training/preparation/contract.js +0 -114
  222. package/dist/compiler/training/preparation/copyAssets.d.ts +0 -1
  223. package/dist/compiler/training/preparation/copyAssets.js +0 -8
  224. package/dist/compiler/training/preparation/daimonParent.d.ts +0 -42
  225. package/dist/compiler/training/preparation/daimonParent.js +0 -114
  226. package/dist/compiler/training/preparation/files.d.ts +0 -29
  227. package/dist/compiler/training/preparation/files.js +0 -146
  228. package/dist/compiler/training/preparation/image.d.ts +0 -28
  229. package/dist/compiler/training/preparation/image.js +0 -105
  230. package/dist/compiler/training/preparation/index.d.ts +0 -3
  231. package/dist/compiler/training/preparation/index.js +0 -2
  232. package/dist/compiler/training/preparation/inputs.d.ts +0 -24
  233. package/dist/compiler/training/preparation/inputs.js +0 -101
  234. package/dist/compiler/training/preparation/prepare.d.ts +0 -38
  235. package/dist/compiler/training/preparation/prepare.js +0 -224
  236. package/dist/compiler/training/preparation/scratch.d.ts +0 -8
  237. package/dist/compiler/training/preparation/scratch.js +0 -114
  238. package/dist/compiler/training/repair/compatibility.d.ts +0 -11
  239. package/dist/compiler/training/repair/compatibility.js +0 -45
  240. package/dist/compiler/training/repair/contract.d.ts +0 -832
  241. package/dist/compiler/training/repair/contract.js +0 -34
  242. package/dist/compiler/training/repair/index.d.ts +0 -3
  243. package/dist/compiler/training/repair/index.js +0 -3
  244. package/dist/compiler/training/repair/prepare.d.ts +0 -378
  245. package/dist/compiler/training/repair/prepare.js +0 -84
  246. package/dist/compiler/training/repair/witness.d.ts +0 -348
  247. package/dist/compiler/training/repair/witness.js +0 -62
  248. package/dist/compiler/training/subjectDeclaration.d.ts +0 -26
  249. package/dist/compiler/training/subjectDeclaration.js +0 -54
  250. package/dist/compiler/training/subjectLease.d.ts +0 -115
  251. package/dist/compiler/training/subjectLease.js +0 -179
  252. package/dist/dev/activity.d.ts +0 -14
  253. package/dist/dev/activity.js +0 -48
  254. package/dist/runtime/codex-exec/training/adapter.d.ts +0 -13
  255. package/dist/runtime/codex-exec/training/adapter.js +0 -101
  256. package/dist/runtime/codex-exec/training/adapter.js.map +0 -1
  257. package/dist/runtime/codex-exec/training/environment.d.ts +0 -3
  258. package/dist/runtime/codex-exec/training/environment.js +0 -26
  259. package/dist/runtime/codex-exec/training/environment.js.map +0 -1
  260. package/dist/runtime/codex-exec/training/index.d.ts +0 -2
  261. package/dist/runtime/codex-exec/training/index.js +0 -3
  262. package/dist/runtime/codex-exec/training/index.js.map +0 -1
  263. package/dist/runtime/codex-exec/training/protocol.d.ts +0 -15
  264. package/dist/runtime/codex-exec/training/protocol.js +0 -102
  265. package/dist/runtime/codex-exec/training/protocol.js.map +0 -1
  266. package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js.map +0 -1
  267. package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js.map +0 -1
  268. package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js.map +0 -1
  269. package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js.map +0 -1
  270. package/dist/runtime/daimon/contractManifest.js.map +0 -1
  271. package/dist/runtime/daimon/contractManifestSchema.js.map +0 -1
  272. package/dist/runtime/daimon/engineDescriptorSchema.js.map +0 -1
  273. package/dist/runtime/daimon/engineDescriptors.generated.js.map +0 -1
  274. package/dist/runtime/daimon/engines.js.map +0 -1
  275. package/dist/runtime/daimon/index.js.map +0 -1
  276. package/dist/runtime/daimon/packageName.js.map +0 -1
  277. package/dist/runtime/daimon/training/legacy/adapter.d.ts +0 -11
  278. package/dist/runtime/daimon/training/legacy/adapter.js +0 -175
  279. package/dist/runtime/daimon/training/legacy/adapter.js.map +0 -1
  280. package/dist/runtime/daimon/training/legacy/index.d.ts +0 -2
  281. package/dist/runtime/daimon/training/legacy/index.js +0 -3
  282. package/dist/runtime/daimon/training/legacy/index.js.map +0 -1
  283. package/dist/runtime/daimon/training/legacy/public.d.ts +0 -49
  284. package/dist/runtime/daimon/training/legacy/public.js +0 -16
  285. package/dist/runtime/daimon/training/legacy/public.js.map +0 -1
  286. package/dist/runtime/daimon/training/native/adapter.d.ts +0 -18
  287. package/dist/runtime/daimon/training/native/adapter.js +0 -252
  288. package/dist/runtime/daimon/training/native/adapter.js.map +0 -1
  289. package/dist/runtime/daimon/training/native/admission.d.ts +0 -7
  290. package/dist/runtime/daimon/training/native/admission.js +0 -52
  291. package/dist/runtime/daimon/training/native/admission.js.map +0 -1
  292. package/dist/runtime/daimon/training/native/child/arguments.d.ts +0 -16
  293. package/dist/runtime/daimon/training/native/child/arguments.js +0 -70
  294. package/dist/runtime/daimon/training/native/child/arguments.js.map +0 -1
  295. package/dist/runtime/daimon/training/native/child/deferred-trial.d.ts +0 -24
  296. package/dist/runtime/daimon/training/native/child/deferred-trial.js +0 -63
  297. package/dist/runtime/daimon/training/native/child/deferred-trial.js.map +0 -1
  298. package/dist/runtime/daimon/training/native/child/diagnostics.d.ts +0 -58
  299. package/dist/runtime/daimon/training/native/child/diagnostics.js +0 -215
  300. package/dist/runtime/daimon/training/native/child/diagnostics.js.map +0 -1
  301. package/dist/runtime/daimon/training/native/child/fixture.d.ts +0 -16
  302. package/dist/runtime/daimon/training/native/child/fixture.js +0 -159
  303. package/dist/runtime/daimon/training/native/child/fixture.js.map +0 -1
  304. package/dist/runtime/daimon/training/native/child/grok.d.ts +0 -14
  305. package/dist/runtime/daimon/training/native/child/grok.js +0 -47
  306. package/dist/runtime/daimon/training/native/child/grok.js.map +0 -1
  307. package/dist/runtime/daimon/training/native/child/index.d.ts +0 -7
  308. package/dist/runtime/daimon/training/native/child/index.js +0 -5
  309. package/dist/runtime/daimon/training/native/child/index.js.map +0 -1
  310. package/dist/runtime/daimon/training/native/child/lifecycle.d.ts +0 -40
  311. package/dist/runtime/daimon/training/native/child/lifecycle.js +0 -400
  312. package/dist/runtime/daimon/training/native/child/lifecycle.js.map +0 -1
  313. package/dist/runtime/daimon/training/native/child/probe.d.ts +0 -2
  314. package/dist/runtime/daimon/training/native/child/probe.js +0 -11
  315. package/dist/runtime/daimon/training/native/child/probe.js.map +0 -1
  316. package/dist/runtime/daimon/training/native/child/sandbox.d.ts +0 -4
  317. package/dist/runtime/daimon/training/native/child/sandbox.js +0 -76
  318. package/dist/runtime/daimon/training/native/child/sandbox.js.map +0 -1
  319. package/dist/runtime/daimon/training/native/child/types.d.ts +0 -15
  320. package/dist/runtime/daimon/training/native/child/types.js +0 -2
  321. package/dist/runtime/daimon/training/native/child/types.js.map +0 -1
  322. package/dist/runtime/daimon/training/native/container/docker.d.ts +0 -29
  323. package/dist/runtime/daimon/training/native/container/docker.js +0 -105
  324. package/dist/runtime/daimon/training/native/container/docker.js.map +0 -1
  325. package/dist/runtime/daimon/training/native/container/grok-slot.d.ts +0 -22
  326. package/dist/runtime/daimon/training/native/container/grok-slot.js +0 -38
  327. package/dist/runtime/daimon/training/native/container/grok-slot.js.map +0 -1
  328. package/dist/runtime/daimon/training/native/container/index.d.ts +0 -6
  329. package/dist/runtime/daimon/training/native/container/index.js +0 -6
  330. package/dist/runtime/daimon/training/native/container/index.js.map +0 -1
  331. package/dist/runtime/daimon/training/native/container/lifecycle.d.ts +0 -8
  332. package/dist/runtime/daimon/training/native/container/lifecycle.js +0 -111
  333. package/dist/runtime/daimon/training/native/container/lifecycle.js.map +0 -1
  334. package/dist/runtime/daimon/training/native/container/manifest.d.ts +0 -17
  335. package/dist/runtime/daimon/training/native/container/manifest.js +0 -164
  336. package/dist/runtime/daimon/training/native/container/manifest.js.map +0 -1
  337. package/dist/runtime/daimon/training/native/container/native-preflight.d.ts +0 -8
  338. package/dist/runtime/daimon/training/native/container/native-preflight.js +0 -40
  339. package/dist/runtime/daimon/training/native/container/native-preflight.js.map +0 -1
  340. package/dist/runtime/daimon/training/native/container/preflight.d.ts +0 -15
  341. package/dist/runtime/daimon/training/native/container/preflight.js +0 -79
  342. package/dist/runtime/daimon/training/native/container/preflight.js.map +0 -1
  343. package/dist/runtime/daimon/training/native/container/slot.d.ts +0 -4
  344. package/dist/runtime/daimon/training/native/container/slot.js +0 -58
  345. package/dist/runtime/daimon/training/native/container/slot.js.map +0 -1
  346. package/dist/runtime/daimon/training/native/external.d.ts +0 -37
  347. package/dist/runtime/daimon/training/native/external.js +0 -75
  348. package/dist/runtime/daimon/training/native/external.js.map +0 -1
  349. package/dist/runtime/daimon/training/native/grants/authority.d.ts +0 -36
  350. package/dist/runtime/daimon/training/native/grants/authority.js +0 -49
  351. package/dist/runtime/daimon/training/native/grants/authority.js.map +0 -1
  352. package/dist/runtime/daimon/training/native/grants/index.d.ts +0 -2
  353. package/dist/runtime/daimon/training/native/grants/index.js +0 -3
  354. package/dist/runtime/daimon/training/native/grants/index.js.map +0 -1
  355. package/dist/runtime/daimon/training/native/grants/pins.d.ts +0 -30
  356. package/dist/runtime/daimon/training/native/grants/pins.js +0 -20
  357. package/dist/runtime/daimon/training/native/grants/pins.js.map +0 -1
  358. package/dist/runtime/daimon/training/native/grants/test-socket.d.ts +0 -6
  359. package/dist/runtime/daimon/training/native/grants/test-socket.js +0 -35
  360. package/dist/runtime/daimon/training/native/grants/test-socket.js.map +0 -1
  361. package/dist/runtime/daimon/training/native/grok-fixtures.d.ts +0 -34
  362. package/dist/runtime/daimon/training/native/grok-fixtures.js +0 -179
  363. package/dist/runtime/daimon/training/native/grok-fixtures.js.map +0 -1
  364. package/dist/runtime/daimon/training/native/index.d.ts +0 -38
  365. package/dist/runtime/daimon/training/native/index.js +0 -27
  366. package/dist/runtime/daimon/training/native/index.js.map +0 -1
  367. package/dist/runtime/daimon/training/native/live-checkout.d.ts +0 -2
  368. package/dist/runtime/daimon/training/native/live-checkout.js +0 -15
  369. package/dist/runtime/daimon/training/native/live-checkout.js.map +0 -1
  370. package/dist/runtime/daimon/training/native/observations.d.ts +0 -51
  371. package/dist/runtime/daimon/training/native/observations.js +0 -217
  372. package/dist/runtime/daimon/training/native/observations.js.map +0 -1
  373. package/dist/runtime/daimon/training/native/outcome.d.ts +0 -13
  374. package/dist/runtime/daimon/training/native/outcome.js +0 -37
  375. package/dist/runtime/daimon/training/native/outcome.js.map +0 -1
  376. package/dist/runtime/daimon/training/native/preparation/engine-config.d.ts +0 -21
  377. package/dist/runtime/daimon/training/native/preparation/engine-config.js +0 -30
  378. package/dist/runtime/daimon/training/native/preparation/engine-config.js.map +0 -1
  379. package/dist/runtime/daimon/training/native/preparation/fixtures.d.ts +0 -17
  380. package/dist/runtime/daimon/training/native/preparation/fixtures.js +0 -52
  381. package/dist/runtime/daimon/training/native/preparation/fixtures.js.map +0 -1
  382. package/dist/runtime/daimon/training/native/preparation/index.d.ts +0 -7
  383. package/dist/runtime/daimon/training/native/preparation/index.js +0 -5
  384. package/dist/runtime/daimon/training/native/preparation/index.js.map +0 -1
  385. package/dist/runtime/daimon/training/native/preparation/layout.d.ts +0 -66
  386. package/dist/runtime/daimon/training/native/preparation/layout.js +0 -87
  387. package/dist/runtime/daimon/training/native/preparation/layout.js.map +0 -1
  388. package/dist/runtime/daimon/training/native/preparation/subject.d.ts +0 -14
  389. package/dist/runtime/daimon/training/native/preparation/subject.js +0 -67
  390. package/dist/runtime/daimon/training/native/preparation/subject.js.map +0 -1
  391. package/dist/runtime/daimon/training/native/preparation/types.d.ts +0 -69
  392. package/dist/runtime/daimon/training/native/preparation/types.js +0 -2
  393. package/dist/runtime/daimon/training/native/preparation/types.js.map +0 -1
  394. package/dist/runtime/daimon/training/native/receipt/artifacts.d.ts +0 -25
  395. package/dist/runtime/daimon/training/native/receipt/artifacts.js +0 -32
  396. package/dist/runtime/daimon/training/native/receipt/artifacts.js.map +0 -1
  397. package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.d.ts +0 -129
  398. package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js +0 -45
  399. package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js.map +0 -1
  400. package/dist/runtime/daimon/training/native/receipt/grok.d.ts +0 -246
  401. package/dist/runtime/daimon/training/native/receipt/grok.js +0 -195
  402. package/dist/runtime/daimon/training/native/receipt/grok.js.map +0 -1
  403. package/dist/runtime/daimon/training/native/receipt/index.d.ts +0 -11
  404. package/dist/runtime/daimon/training/native/receipt/index.js +0 -8
  405. package/dist/runtime/daimon/training/native/receipt/index.js.map +0 -1
  406. package/dist/runtime/daimon/training/native/receipt/paths.d.ts +0 -3
  407. package/dist/runtime/daimon/training/native/receipt/paths.js +0 -18
  408. package/dist/runtime/daimon/training/native/receipt/paths.js.map +0 -1
  409. package/dist/runtime/daimon/training/native/receipt/sandbox.d.ts +0 -42
  410. package/dist/runtime/daimon/training/native/receipt/sandbox.js +0 -35
  411. package/dist/runtime/daimon/training/native/receipt/sandbox.js.map +0 -1
  412. package/dist/runtime/daimon/training/native/receipt/schema.d.ts +0 -490
  413. package/dist/runtime/daimon/training/native/receipt/schema.js +0 -138
  414. package/dist/runtime/daimon/training/native/receipt/schema.js.map +0 -1
  415. package/dist/runtime/daimon/training/native/receipt/subscription.d.ts +0 -13
  416. package/dist/runtime/daimon/training/native/receipt/subscription.js +0 -13
  417. package/dist/runtime/daimon/training/native/receipt/subscription.js.map +0 -1
  418. package/dist/runtime/daimon/training/native/receipt/task-clock.d.ts +0 -19
  419. package/dist/runtime/daimon/training/native/receipt/task-clock.js +0 -49
  420. package/dist/runtime/daimon/training/native/receipt/task-clock.js.map +0 -1
  421. package/dist/runtime/daimon/training/native/sealed-usage.d.ts +0 -218
  422. package/dist/runtime/daimon/training/native/sealed-usage.js +0 -261
  423. package/dist/runtime/daimon/training/native/sealed-usage.js.map +0 -1
  424. package/dist/runtime/daimon/training/native/test-fixtures.d.ts +0 -27
  425. package/dist/runtime/daimon/training/native/test-fixtures.js +0 -162
  426. package/dist/runtime/daimon/training/native/test-fixtures.js.map +0 -1
  427. package/dist/runtime/daimon/training/native/transcript.d.ts +0 -96
  428. package/dist/runtime/daimon/training/native/transcript.js +0 -239
  429. package/dist/runtime/daimon/training/native/transcript.js.map +0 -1
  430. package/dist/runtime/daimon/training/native/transport/delivery.d.ts +0 -27
  431. package/dist/runtime/daimon/training/native/transport/delivery.js +0 -98
  432. package/dist/runtime/daimon/training/native/transport/delivery.js.map +0 -1
  433. package/dist/runtime/daimon/training/native/transport/http.d.ts +0 -3
  434. package/dist/runtime/daimon/training/native/transport/http.js +0 -81
  435. package/dist/runtime/daimon/training/native/transport/http.js.map +0 -1
  436. package/dist/runtime/daimon/training/native/transport/index.d.ts +0 -4
  437. package/dist/runtime/daimon/training/native/transport/index.js +0 -3
  438. package/dist/runtime/daimon/training/native/transport/index.js.map +0 -1
  439. package/dist/runtime/daimon/training/native/transport/types.d.ts +0 -15
  440. package/dist/runtime/daimon/training/native/transport/types.js +0 -2
  441. package/dist/runtime/daimon/training/native/transport/types.js.map +0 -1
  442. package/dist/runtime/daimon/training/native/worker/cli.d.ts +0 -1
  443. package/dist/runtime/daimon/training/native/worker/cli.js +0 -17
  444. package/dist/runtime/daimon/training/native/worker/cli.js.map +0 -1
  445. package/dist/runtime/daimon/training/native/worker/control.d.ts +0 -20
  446. package/dist/runtime/daimon/training/native/worker/control.js +0 -266
  447. package/dist/runtime/daimon/training/native/worker/control.js.map +0 -1
  448. package/dist/runtime/daimon/training/native/worker/deliveries.d.ts +0 -38
  449. package/dist/runtime/daimon/training/native/worker/deliveries.js +0 -91
  450. package/dist/runtime/daimon/training/native/worker/deliveries.js.map +0 -1
  451. package/dist/runtime/daimon/training/native/worker/evidence/collect.d.ts +0 -54
  452. package/dist/runtime/daimon/training/native/worker/evidence/collect.js +0 -278
  453. package/dist/runtime/daimon/training/native/worker/evidence/collect.js.map +0 -1
  454. package/dist/runtime/daimon/training/native/worker/evidence/execution.d.ts +0 -102
  455. package/dist/runtime/daimon/training/native/worker/evidence/execution.js +0 -191
  456. package/dist/runtime/daimon/training/native/worker/evidence/execution.js.map +0 -1
  457. package/dist/runtime/daimon/training/native/worker/evidence/index.d.ts +0 -3
  458. package/dist/runtime/daimon/training/native/worker/evidence/index.js +0 -4
  459. package/dist/runtime/daimon/training/native/worker/evidence/index.js.map +0 -1
  460. package/dist/runtime/daimon/training/native/worker/evidence/io.d.ts +0 -20
  461. package/dist/runtime/daimon/training/native/worker/evidence/io.js +0 -130
  462. package/dist/runtime/daimon/training/native/worker/evidence/io.js.map +0 -1
  463. package/dist/runtime/daimon/training/native/worker/evidence/seal.d.ts +0 -3
  464. package/dist/runtime/daimon/training/native/worker/evidence/seal.js +0 -67
  465. package/dist/runtime/daimon/training/native/worker/evidence/seal.js.map +0 -1
  466. package/dist/runtime/daimon/training/native/worker/index.d.ts +0 -11
  467. package/dist/runtime/daimon/training/native/worker/index.js +0 -8
  468. package/dist/runtime/daimon/training/native/worker/index.js.map +0 -1
  469. package/dist/runtime/daimon/training/native/worker/profile.d.ts +0 -23
  470. package/dist/runtime/daimon/training/native/worker/profile.js +0 -149
  471. package/dist/runtime/daimon/training/native/worker/profile.js.map +0 -1
  472. package/dist/runtime/daimon/training/native/worker/public.d.ts +0 -53
  473. package/dist/runtime/daimon/training/native/worker/public.js +0 -22
  474. package/dist/runtime/daimon/training/native/worker/public.js.map +0 -1
  475. package/dist/runtime/daimon/training/native/worker/sandbox.d.ts +0 -4
  476. package/dist/runtime/daimon/training/native/worker/sandbox.js +0 -54
  477. package/dist/runtime/daimon/training/native/worker/sandbox.js.map +0 -1
  478. package/dist/runtime/daimon/training/native/worker/server.d.ts +0 -4
  479. package/dist/runtime/daimon/training/native/worker/server.js +0 -102
  480. package/dist/runtime/daimon/training/native/worker/server.js.map +0 -1
  481. package/dist/runtime/daimon/training/native/worker/types.d.ts +0 -318
  482. package/dist/runtime/daimon/training/native/worker/types.js +0 -2
  483. package/dist/runtime/daimon/training/native/worker/types.js.map +0 -1
  484. package/dist/runtime/daimon/training/native/worker/wake-delivery/index.d.ts +0 -4
  485. package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js +0 -4
  486. package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js.map +0 -1
  487. package/dist/runtime/daimon/training/native/worker/wake-delivery/source.d.ts +0 -3
  488. package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js +0 -16
  489. package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js.map +0 -1
  490. package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.d.ts +0 -4
  491. package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js +0 -52
  492. package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js.map +0 -1
  493. package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.d.ts +0 -21
  494. package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js +0 -198
  495. package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js.map +0 -1
  496. package/dist/runtime/daimon/training/native/worker/wake-delivery/types.d.ts +0 -91
  497. package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js +0 -2
  498. package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js.map +0 -1
  499. package/dist/runtime/daimon/training/native/worker/worker.d.ts +0 -1
  500. package/dist/runtime/daimon/training/native/worker/worker.js +0 -105
  501. package/dist/runtime/daimon/training/native/worker/worker.js.map +0 -1
  502. package/dist/runtime/daimon/training/providers/grok-broker/broker.d.ts +0 -20
  503. package/dist/runtime/daimon/training/providers/grok-broker/broker.js +0 -55
  504. package/dist/runtime/daimon/training/providers/grok-broker/broker.js.map +0 -1
  505. package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.d.ts +0 -15
  506. package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js +0 -29
  507. package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js.map +0 -1
  508. package/dist/runtime/daimon/training/providers/grok-broker/grant-home.d.ts +0 -16
  509. package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js +0 -60
  510. package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js.map +0 -1
  511. package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.d.ts +0 -81
  512. package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js +0 -221
  513. package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js.map +0 -1
  514. package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.d.ts +0 -31
  515. package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js +0 -78
  516. package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js.map +0 -1
  517. package/dist/runtime/daimon/training/providers/grok-broker/grants.d.ts +0 -63
  518. package/dist/runtime/daimon/training/providers/grok-broker/grants.js +0 -20
  519. package/dist/runtime/daimon/training/providers/grok-broker/grants.js.map +0 -1
  520. package/dist/runtime/daimon/training/providers/grok-broker/index.d.ts +0 -3
  521. package/dist/runtime/daimon/training/providers/grok-broker/index.js +0 -4
  522. package/dist/runtime/daimon/training/providers/grok-broker/index.js.map +0 -1
  523. package/dist/runtime/daimon/training/public.d.ts +0 -6
  524. package/dist/runtime/daimon/training/public.js +0 -5
  525. package/dist/runtime/daimon/training/public.js.map +0 -1
  526. package/dist/runtime/daimon/training/services/account-lease.d.ts +0 -7
  527. package/dist/runtime/daimon/training/services/account-lease.js +0 -76
  528. package/dist/runtime/daimon/training/services/account-lease.js.map +0 -1
  529. package/dist/runtime/daimon/training/services/freshness.d.ts +0 -15
  530. package/dist/runtime/daimon/training/services/freshness.js +0 -19
  531. package/dist/runtime/daimon/training/services/freshness.js.map +0 -1
  532. package/dist/runtime/daimon/training/services/index.d.ts +0 -4
  533. package/dist/runtime/daimon/training/services/index.js +0 -4
  534. package/dist/runtime/daimon/training/services/index.js.map +0 -1
  535. package/dist/runtime/daimon/training/services/slot-freshness.d.ts +0 -34
  536. package/dist/runtime/daimon/training/services/slot-freshness.js +0 -178
  537. package/dist/runtime/daimon/training/services/slot-freshness.js.map +0 -1
  538. package/dist/runtime/daimon/wakeMoments.js.map +0 -1
  539. package/dist/runtime/pi/adapter.d.ts +0 -3
  540. package/dist/runtime/pi/adapter.js +0 -230
  541. package/dist/runtime/pi/appActivitySource.d.ts +0 -1
  542. package/dist/runtime/pi/appActivitySource.js +0 -199
  543. package/dist/runtime/pi/appAgentConfig.d.ts +0 -11
  544. package/dist/runtime/pi/appAgentConfig.js +0 -264
  545. package/dist/runtime/pi/appCliEnginesSource.d.ts +0 -1
  546. package/dist/runtime/pi/appCliEnginesSource.js +0 -183
  547. package/dist/runtime/pi/appCliSource.d.ts +0 -1
  548. package/dist/runtime/pi/appCliSource.js +0 -353
  549. package/dist/runtime/pi/appControlSource.d.ts +0 -1
  550. package/dist/runtime/pi/appControlSource.js +0 -390
  551. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +0 -1
  552. package/dist/runtime/pi/appControlWakeIdentitySource.js +0 -19
  553. package/dist/runtime/pi/appCoreSource.d.ts +0 -4
  554. package/dist/runtime/pi/appCoreSource.js +0 -244
  555. package/dist/runtime/pi/appPreludeSource.d.ts +0 -1
  556. package/dist/runtime/pi/appPreludeSource.js +0 -192
  557. package/dist/runtime/pi/appScheduleSource.d.ts +0 -1
  558. package/dist/runtime/pi/appScheduleSource.js +0 -84
  559. package/dist/runtime/pi/appScriptedEngine.d.ts +0 -31
  560. package/dist/runtime/pi/appScriptedEngine.js +0 -42
  561. package/dist/runtime/pi/appSource.d.ts +0 -4
  562. package/dist/runtime/pi/appSource.js +0 -12
  563. package/dist/runtime/pi/appTemplate.d.ts +0 -14
  564. package/dist/runtime/pi/appTemplate.js +0 -28
  565. package/dist/runtime/pi/appTemplateTypes.d.ts +0 -64
  566. package/dist/runtime/pi/appTemplateTypes.js +0 -18
  567. package/dist/runtime/pi/appWakeContextSource.d.ts +0 -1
  568. package/dist/runtime/pi/appWakeContextSource.js +0 -398
  569. package/dist/runtime/pi/containerTargets.d.ts +0 -4
  570. package/dist/runtime/pi/containerTargets.js +0 -63
  571. package/dist/runtime/pi/runAuth.d.ts +0 -2
  572. package/dist/runtime/pi/runAuth.js +0 -185
  573. package/dist/runtime/pi/testHelpers.d.ts +0 -2
  574. package/dist/shared/errors.js.map +0 -1
  575. package/dist/training/subjects/environment.d.ts +0 -2
  576. package/dist/training/subjects/environment.js +0 -14
  577. package/dist/training/subjects/environment.js.map +0 -1
  578. /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/index.d.ts +0 -0
  579. /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/index.js +0 -0
  580. /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/protocol.d.ts +0 -0
  581. /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/protocol.js +0 -0
  582. /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/provider.d.ts +0 -0
  583. /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/provider.js +0 -0
  584. /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/strict-schema.d.ts +0 -0
  585. /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/strict-schema.js +0 -0
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Client for a running Daimon organization's control API (port 19700), reached
3
+ * the way every other Spawnfile probe reaches a container's loopback: an
4
+ * ephemeral curl helper from the same image inside the target's network
5
+ * namespace. The bearer token and any JSON body reach curl as a config on
6
+ * stdin (`--config -`), never on a command line another host process could read.
7
+ * Shared by `spawnfile release` (drain/resume) and production-booted training
8
+ * trials (wakes and receipts).
9
+ */
10
+ export interface DaimonControlTarget {
11
+ containerRef: string;
12
+ dockerArgs: readonly string[];
13
+ dockerCommand: string;
14
+ imageRef: string;
15
+ token: string;
16
+ }
17
+ export interface DaimonControlResponse {
18
+ body: string;
19
+ status: number;
20
+ }
21
+ export type DaimonControlMethod = "GET" | "POST";
22
+ export type DaimonControlCall = (target: DaimonControlTarget, method: DaimonControlMethod, route: string, body?: unknown) => Promise<DaimonControlResponse>;
23
+ /** A control call that could not produce an HTTP answer. Its message never carries the token. */
24
+ export declare class DaimonControlError extends Error {
25
+ }
26
+ export declare const DAIMON_CONTROL_CALL_TIMEOUT_MS = 60000;
27
+ export declare const daimonControlHelperArgs: (target: DaimonControlTarget, method: DaimonControlMethod, route: string) => string[];
28
+ /** The stdin config: bearer header, plus a JSON content type and body when one is sent. */
29
+ export declare const daimonControlHelperConfig: (token: string, body?: unknown) => string;
30
+ export declare const parseDaimonControlHelperOutput: (stdout: string) => DaimonControlResponse;
31
+ export declare const daimonHelperControlCall: DaimonControlCall;
@@ -0,0 +1,83 @@
1
+ import { spawn } from "node:child_process";
2
+ import { DAIMON_CONTROL_PORT } from "./config.js";
3
+ /** A control call that could not produce an HTTP answer. Its message never carries the token. */
4
+ export class DaimonControlError extends Error {
5
+ }
6
+ export const DAIMON_CONTROL_CALL_TIMEOUT_MS = 60_000;
7
+ const MAX_CONTROL_OUTPUT_BYTES = 1024 * 1024;
8
+ export const daimonControlHelperArgs = (target, method, route) => [
9
+ ...target.dockerArgs,
10
+ "run", "--rm", "-i", "--pull", "never",
11
+ "--network", `container:${target.containerRef}`,
12
+ "--entrypoint", "curl",
13
+ target.imageRef,
14
+ "-sS", "--max-time", "15", "-X", method, "--config", "-",
15
+ "--output", "-", "--write-out", "\\n%{http_code}",
16
+ `http://127.0.0.1:${DAIMON_CONTROL_PORT}${route}`
17
+ ];
18
+ /** curl config quoting: a double-quoted value with `\` and `"` escaped and no raw newlines. */
19
+ const quoteCurlConfig = (value) => `"${value.replace(/\\/gu, "\\\\").replace(/"/gu, "\\\"").replace(/\n/gu, "\\n").replace(/\r/gu, "\\r")}"`;
20
+ /** The stdin config: bearer header, plus a JSON content type and body when one is sent. */
21
+ export const daimonControlHelperConfig = (token, body) => [
22
+ `header = ${quoteCurlConfig(`Authorization: Bearer ${token}`)}`,
23
+ ...(body === undefined ? [] : [
24
+ `header = ${quoteCurlConfig("Content-Type: application/json")}`,
25
+ `data-binary = ${quoteCurlConfig(JSON.stringify(body))}`
26
+ ])
27
+ ].join("\n") + "\n";
28
+ const redact = (text, token) => (token ? text.split(token).join("[redacted]") : text).replace(/\s+/gu, " ").slice(0, 240);
29
+ export const parseDaimonControlHelperOutput = (stdout) => {
30
+ const match = /\n(\d{3})$/u.exec(stdout);
31
+ if (!match || match.index === undefined) {
32
+ throw new DaimonControlError("the runtime control helper returned no HTTP status");
33
+ }
34
+ return { body: stdout.slice(0, match.index), status: Number(match[1]) };
35
+ };
36
+ export const daimonHelperControlCall = (target, method, route, body) => new Promise((resolve, reject) => {
37
+ const child = spawn(target.dockerCommand, daimonControlHelperArgs(target, method, route), {
38
+ stdio: ["pipe", "pipe", "pipe"]
39
+ });
40
+ const out = [];
41
+ let bytes = 0;
42
+ let stderr = "";
43
+ let settled = false;
44
+ const finish = (error, value) => {
45
+ if (settled)
46
+ return;
47
+ settled = true;
48
+ clearTimeout(timer);
49
+ if (error)
50
+ reject(error);
51
+ else
52
+ resolve(value);
53
+ };
54
+ const timer = setTimeout(() => {
55
+ child.kill("SIGKILL");
56
+ finish(new DaimonControlError(`runtime control ${method} ${route} timed out`));
57
+ }, DAIMON_CONTROL_CALL_TIMEOUT_MS);
58
+ child.stdout.on("data", (chunk) => {
59
+ bytes += chunk.length;
60
+ if (bytes > MAX_CONTROL_OUTPUT_BYTES) {
61
+ child.kill("SIGKILL");
62
+ finish(new DaimonControlError(`runtime control ${method} ${route} answered more than the output bound`));
63
+ return;
64
+ }
65
+ out.push(chunk);
66
+ });
67
+ child.stderr.on("data", (chunk) => { stderr = `${stderr}${chunk.toString("utf8")}`.slice(-2000); });
68
+ child.once("error", (error) => finish(new DaimonControlError(`cannot start the runtime control helper: ${error.message}`)));
69
+ child.once("close", (code) => {
70
+ if (code !== 0) {
71
+ finish(new DaimonControlError(`runtime control ${method} ${route} failed (exit ${code ?? "signal"}): ${redact(stderr, target.token)}`));
72
+ return;
73
+ }
74
+ try {
75
+ finish(null, parseDaimonControlHelperOutput(Buffer.concat(out).toString("utf8")));
76
+ }
77
+ catch (error) {
78
+ finish(error);
79
+ }
80
+ });
81
+ child.stdin.on("error", () => undefined);
82
+ child.stdin.end(daimonControlHelperConfig(target.token, body));
83
+ });
@@ -106,4 +106,3 @@ export const parseDaimonEngineDescriptors = (value) => {
106
106
  }
107
107
  return result.data;
108
108
  };
109
- //# sourceMappingURL=engineDescriptorSchema.js.map
@@ -1,4 +1,4 @@
1
- export declare const DAIMON_ENGINE_DESCRIPTOR_SOURCE_COMMIT: "9eb0560cf44ad02d838eb2dfcf9bd91f353e4a88";
1
+ export declare const DAIMON_ENGINE_DESCRIPTOR_SOURCE_COMMIT: "a42a2b23722eadc44874e8caf117d17237e1095f";
2
2
  export declare const DAIMON_V5_ENGINE_DESCRIPTORS: {
3
3
  readonly agy: {
4
4
  readonly auth: {
@@ -1,5 +1,4 @@
1
1
  /* v8 ignore file -- generated data module */
2
2
  // Generated by scripts/generate-daimon-engine-descriptors.ts from pinned Daimon static descriptors. Do not edit.
3
- export const DAIMON_ENGINE_DESCRIPTOR_SOURCE_COMMIT = "9eb0560cf44ad02d838eb2dfcf9bd91f353e4a88";
3
+ export const DAIMON_ENGINE_DESCRIPTOR_SOURCE_COMMIT = "a42a2b23722eadc44874e8caf117d17237e1095f";
4
4
  export const DAIMON_V5_ENGINE_DESCRIPTORS = { "agy": { "auth": { "busEnvironment": "DBUS_SESSION_BUS_ADDRESS", "format": null, "method": null, "provider": null, "realm": { "directoryMode": 448, "durableMountPath": "/var/lib/spawnfile/daimon/agy-subscription-realm", "fileMode": 384, "maxUnlockBytes": 4096, "unlockMountPath": "/var/lib/spawnfile/daimon/agy-unlock-secret", "unlockSourceSlot": "agy-unlock-secret" }, "staging": "secret-service" }, "authKinds": ["subscription"], "broker": null, "capabilities": { "broker": false, "nativeSandbox": false, "portableCredential": false, "secretService": true }, "credentialMaterial": null, "homeDirectory": "", "homeEnvironment": "ANTIGRAVITY_CLI_HOME", "id": "agy", "modelSelection": { "configurable": false, "declarationRequiresBroker": false, "defaults": { "model": null, "reasoningEffort": null }, "models": null, "reasoningEfforts": [], "requiresPairedDeclaration": false }, "requiredBinaries": ["agy", "dbus-daemon", "gnome-keyring-daemon"], "sandbox": { "configurable": false }, "training": { "inferenceGrants": null, "subject": { "isolation": null, "reason": "no verified per-agent sandbox", "supported": false } } }, "codex": { "auth": { "directoryMode": 448, "fileMode": 384, "fileName": "auth.json", "format": { "accessTokenKeys": ["access_token", "accessToken", "token"], "containerKey": "tokens", "fallbackToRoot": true, "refreshTokenKeys": ["refresh_token", "refreshToken"] }, "maxCredentialBytes": 65536, "method": "codex", "provider": "openai", "realm": { "agentCredentialRelativePath": ".codex/auth.json", "bootstrapMountPath": "/var/lib/spawnfile/daimon/codex-bootstrap-auth", "bootstrapSourceSlot": "codex-auth", "directoryMode": 448, "durableMountPath": "/var/lib/spawnfile/daimon/codex-subscription-realm", "fileMode": 384, "maxCredentialBytes": 65536 }, "staging": "portable-realm" }, "authKinds": ["subscription"], "broker": null, "capabilities": { "broker": false, "nativeSandbox": true, "portableCredential": true, "secretService": false }, "credentialMaterial": { "destinationRelativePath": ".codex/auth.json", "directoryMode": 448, "fileMode": 384, "sourceRelativePath": ".daimon-inbound/codex-auth", "sourceSlot": "codex-auth" }, "homeDirectory": ".codex", "homeEnvironment": "CODEX_HOME", "id": "codex", "modelSelection": { "configurable": true, "declarationRequiresBroker": false, "defaults": { "model": null, "reasoningEffort": null }, "models": { "kind": "non-empty-string" }, "reasoningEfforts": ["none", "minimal", "low", "medium", "high", "xhigh", "max", "ultra", "persistent"], "requiresPairedDeclaration": false }, "piAuthMethod": "codex", "piProvider": "openai-codex", "piSourceProvider": "openai", "requiredBinaries": ["codex"], "sandbox": { "configurable": true, "policy": { "mode": "workspace-write", "networkAccess": false, "webSearch": "disabled" } }, "training": { "inferenceGrants": null, "subject": { "isolation": "native-sandbox", "supported": true } } }, "grok": { "auth": { "directoryMode": 448, "fileMode": 384, "fileName": "auth.json", "format": { "accessTokenKeys": ["key"], "entryKeyPattern": "^https://auth\\.x\\.ai::", "expiresAtKey": "expires_at", "refreshTokenKeys": ["refresh_token"] }, "maxCredentialBytes": 65536, "method": "grok", "provider": "xai", "realm": { "agentCredentialRelativePath": ".grok/auth.json", "bootstrapMountPath": "/var/lib/spawnfile/daimon/grok-bootstrap-auth", "bootstrapSourceSlot": "grok-auth", "directoryMode": 448, "durableMountPath": "/var/lib/spawnfile/daimon/grok-subscription-realm", "fileMode": 384, "maxCredentialBytes": 65536 }, "staging": "broker-realm" }, "authKinds": ["subscription"], "broker": { "artifacts": { "arm64Sha256": "d0dc1c03197c3e90f09b66ad7c89b4f7b448d06dc84c03b247dce976d6018d6e", "sourceSha256": "15836d7ad69f12ef581a6e5b8635c9db43b2177dac609160c0749d3d1fefbaa8", "x64Sha256": "95aa9c272225e74ff9f45f54dde4bc30aee324e9ba24d8a876db9151c81b454d" }, "backendSocketPath": "/run/daimon-engine-broker/backend.sock", "bounds": { "capabilityBundleBytes": 8196, "capabilityBytes": 4096, "outputBytes": 262144, "promptBytes": 65536 }, "controlProtocolVersion": "noopolis.daimon.engine-broker.v4", "controlSocketPath": "/run/daimon-engine-broker/control.sock", "credentialHomePath": "/var/lib/spawnfile/daimon/grok-subscription-realm", "grokCliArtifacts": { "arm64": { "bytes": 136090504, "sha256": "39ab87666877d64ef3a40aa60fbe0c3b6a6acd7001b78fe60e2c76bb6cfc4a94", "url": "https://storage.googleapis.com/grok-build-public-artifacts/cli/grok-1.0.34-linux-aarch64" }, "x64": { "bytes": 163035648, "sha256": "be5905e107d2b8b5f3c142d21ecfe4c8fd32a913d2fd551b788707930c4dc80d", "url": "https://storage.googleapis.com/grok-build-public-artifacts/cli/grok-1.0.34-linux-x86_64" } }, "grokCliBuild": "3736acbc8658", "grokCliVersion": "1.0.34", "grokExecutablePath": "/usr/local/bin/grok", "identities": { "brokerUid": 2100, "firstWorkerUid": 2200, "organizationUid": 2000 }, "inferenceGrants": { "bodyMembers": ["messages", "model", "reasoning_effort", "response_format", "stream", "stream_options"], "client": { "configSha256": { "grok-4.5": { "high": "ffbc33728b821e9854fbc7c93601e599225da421ecfd6ebf10d314afcc28d6f2", "low": "a07f7436f1268bb399ec233c65d3b3d8fb99a11a1f175f8da1ca133c9367bc74", "medium": "1f4c0d4dad1f3b09419b5739db6423a09e0049abc091594c64123a75dd53dfb9" }, "grok-4.6": { "high": "5652656effa82f0c4f09cf8226b16e6140332a5a358b571194bb5563312367ac", "low": "79314d039f787e4ebfec7dacf57adc969086b948f564dec008f0ed6367e6062f", "medium": "6f538de0547c0c4e6a3f04ae08595ceadadabb06b75f6b6ee4c428744bb95cd8" }, "grok-build": { "high": "98d16f2b7d12f4eb540d625c853e51d227933e204923e43e8b9b4176f10aca2c", "low": "ca15c6a562a008227d39c51d3a3a83715663089b3784e8b46debb1fb67b3c4a1", "medium": "01783fb6beadcf6f8486fff0836820ad43fab5662b812a907fe9cfdb83e9804d" } }, "envKey": "DAIMON_INFERENCE_GRANT", "modelId": "daimon-inference-grok" }, "failureCodes": ["auth_stale", "grant_limit", "invalid_request", "unavailable"], "ledgerDedupeKey": ["grant", "request"], "ledgerVersion": "noopolis.daimon.inference-usage.v1", "limits": { "maxRequests": 64, "maxTokens": 2000000 }, "maxInFlightRequestsPerGrant": 1, "maxLiveGrants": 8, "messageRoles": ["system", "user", "assistant"], "purposes": ["judge", "optimizer"], "requestKinds": ["request_inference_grant", "release_inference_grant"], "tokenPrefix": "inference_", "ttlMs": 600000 }, "launcherSocketPath": "/run/daimon-engine-broker/launcher.sock", "mcpFacade": { "host": "127.0.0.1", "path": "/mcp", "port": 43124 }, "nativeAbiVersion": 2, "nativeExecutablePath": "/opt/daimon/bin/daimon-engine-broker", "projectionVersion": "noopolis.daimon.grok-broker-projection.v3", "providerProxy": { "host": "127.0.0.1", "port": 43123 }, "registrationPath": "/etc/daimon-engine-broker/registrations.bin", "runRequestBudget": { "countsCredentialRetries": true, "fileName": "run-requests.json", "includesInferenceGrants": true, "maximumField": "maxRunRequests", "storeField": "runRequestStore" }, "serviceConfigPath": "/etc/daimon-engine-broker/service.json", "serviceConfigVersions": ["noopolis.daimon.engine-broker-service.v1", "noopolis.daimon.engine-broker-service.v2", "noopolis.daimon.engine-broker-service.v3"], "slotPreflightVersion": "noopolis.daimon.grok-slot-preflight.v2", "slotRouting": { "controlCaller": "organization", "key": "slot", "repeatedAgentIds": true, "resetRequest": "reset_slot", "resetResponse": "slot_reset", "slotEnvironment": "DAIMON_ENGINE_BROKER_SLOT", "turnStoreDirectory": "slot-{slot}", "workersMayControl": false }, "turnLimits": { "bounds": { "maxRequests": [1, 48], "maxTokens": [1, 10000000], "timeoutMs": [1000, 3600000] }, "keys": ["maxRequests", "maxTokens", "timeoutMs"], "limitReasons": ["tokens", "requests", "timeout", "none"], "maxInFlightRequests": 1, "missingUsageEstimate": { "inputBytesPerToken": 2, "outputTokens": 4096 }, "requestUsageMaxTokens": 500000, "tokenCeilingOvershoot": "at-most-one-request", "v1Defaults": { "maxRequests": 32, "maxTokens": 300000, "timeoutMs": 240000 }, "wakeMayOnlyLower": true }, "turnRecordVersions": ["noopolis.daimon.engine-broker-turn.v1", "noopolis.daimon.engine-broker-turn.v2"], "turnStorePath": "/var/lib/spawnfile/daimon/grok-subscription-realm/turns", "wakeLimitEnvironment": { "maxTokens": "DAIMON_ENGINE_WAKE_TOKEN_CEILING", "timeoutMs": "DAIMON_ENGINE_WAKE_TIMEOUT_MS" }, "worker": { "clockedConfigSha256": { "grok-4.5": { "high": "907d8967960c342b442d6d256b2585f3c85bd846a78578f596f0b605403d6d34", "low": "3c4f3515b21c1bffb3fb770e2ecb4b918b6c43d5e77c1fd47e1e6698d1fedee7", "medium": "9117e12b2f3f6fa045799592969cbaae1c2f3b1ea79330badac8655b9b41dd7a" }, "grok-4.6": { "high": "203744f6f0dfc0bc80cfb896880497edfd9b3de4dcf33060e8ef4d2ef5f220a7", "low": "751f1dcd04983e5e5883df5a8fefa04f201e187e5ef1f344d3bf83f950830432", "medium": "f1406f93a8091eb0c09e07321254a9c783a89b0bbf5548d9613d53a8d087a517" }, "grok-build": { "high": "6efddadc82c38020d3351829e54bb09fa456cd6d76ea1247902794d82a4a3ffa", "low": "a8c63ba910623a0686930c27db0733f4a2588c7fca9dd7da25c3f18027720ab5", "medium": "6afcd2b90c0d19794f8c0d22147a0f011946a92e613f89dae98b0ca729313101" } }, "configSha256": { "grok-4.5": { "high": "c63c3387ce92d94ec3f690abfe98942afcd7c9e17ff84816bbe751f340ab251f", "low": "8247127c3625ff7c5d8d527a53596b89ec6557a821ac46cfd00bd122b90daff6", "medium": "59288cee61297bb8c002097061a48f77b09d310754187a253ee089f7172a9155" }, "grok-4.6": { "high": "65b0212564fb74042b1503d293fb8d3620276033264c0efade2a539ca09218e3", "low": "ab58499ac32678097c146479896f2b8a8e2b0e39aea22dc0a60b6227e370538e", "medium": "df1a5cc84346e7f6bf6090492fbd19faaefb42953e3bb2e8c6cbc0572242403f" }, "grok-build": { "high": "a23724e00d670caee185ba7690d2daa868173e53905cf446f5329666f01ab4e3", "low": "fb343f2809903f26d21681470943235031f946e99085542fd89555eb7782cbb5", "medium": "8a587ef75c90eab70d19b24583e60051d6fba9d90c558839fdbb15588b4cc656" } }, "defaultModel": "grok-4.6", "defaultReasoningEffort": "low", "home": { "directory": { "group": "worker", "mode": 1017, "uid": 0 }, "organizationRuntimeHome": { "group": "worker", "mode": 456, "owner": "organization" }, "privateTmp": { "mode": 448, "owner": "worker", "relativeToWorkerHome": "tmp" }, "readOnlyFiles": { "gid": 0, "mode": 292, "names": ["config.toml", "managed_config.toml", "requirements.toml", "sandbox.toml", "trusted_folders.toml"], "uid": 0 }, "sandboxEvents": { "group": "broker", "mode": 416, "owner": "worker", "relativePath": "sessions/sandbox-events.jsonl" }, "sessionsDirectory": { "group": "worker", "mode": 1017, "relativePath": "sessions", "uid": 0 }, "sharedTmp": { "maxGroupExclusive": 2200, "mode": 1020, "otherMode": 4, "paths": ["/tmp", "/var/tmp"], "uid": 0 }, "spillDirectory": { "fileMode": 416, "group": "worker", "mode": 1512, "owner": "organization", "relativeToRuntimeHome": "tool-output" } }, "maxTurns": 48, "modelId": "daimon-broker-grok", "models": ["grok-4.6", "grok-4.5", "grok-build"], "reasoningEfforts": ["low", "medium", "high"], "systemPromptSha256": "2c31c0085a54a4efbf9c0cf0b8124c56e47f38691b7f0c7fa233a74abaa8ddf8", "taskClock": { "directoryMode": 493, "directoryPath": "/run/daimon-engine-broker/task-clock/slot-0", "fileMode": 420, "ownerUid": 2100, "preloadPath": "/usr/local/lib/daimon/libfaketime.so.1", "rootDirectoryPath": "/run/daimon-engine-broker/task-clock", "slotDirectoryPattern": "/run/daimon-engine-broker/task-clock/slot-{slot}", "slotFilePattern": "/run/daimon-engine-broker/task-clock/slot-{slot}/faketime", "timestampFilePath": "/run/daimon-engine-broker/task-clock/slot-0/faketime", "version": "noopolis.daimon.grok-broker-task-clock.v2", "workerView": "own-directory-visible-sibling-directories-denied" }, "toolIds": ["run_terminal_cmd", "read_file", "grep", "list_dir", "search_tool", "use_tool"], "visibleTools": ["grep", "list_dir", "read_file", "run_terminal_command", "search_tool", "use_tool"] } }, "capabilities": { "broker": true, "nativeSandbox": true, "portableCredential": true, "secretService": false }, "credentialMaterial": { "destinationRelativePath": ".grok/auth.json" }, "homeDirectory": ".grok", "homeEnvironment": "GROK_HOME", "id": "grok", "modelSelection": { "configurable": true, "declarationRequiresBroker": true, "defaults": { "model": "grok-4.6", "reasoningEffort": "low" }, "models": { "kind": "enum", "values": ["grok-4.6", "grok-4.5", "grok-build"] }, "reasoningEfforts": ["low", "medium", "high"], "requiresPairedDeclaration": true }, "requiredBinaries": ["grok", "daimon-engine-broker"], "sandbox": { "baseProfile": "strict", "configurable": false, "denyPaths": { "canonicalAbsolute": true, "forbiddenCharacterPattern": "[\"\\\\\\u0000-\\u001f\\u007f*?[\\]]", "rootAllowed": false, "trailingSlashAllowed": false }, "profile": "daimon-strict", "restrictNetwork": true }, "training": { "inferenceGrants": { "bodyMembers": ["messages", "model", "reasoning_effort", "response_format", "stream", "stream_options"], "client": { "configSha256": { "grok-4.5": { "high": "ffbc33728b821e9854fbc7c93601e599225da421ecfd6ebf10d314afcc28d6f2", "low": "a07f7436f1268bb399ec233c65d3b3d8fb99a11a1f175f8da1ca133c9367bc74", "medium": "1f4c0d4dad1f3b09419b5739db6423a09e0049abc091594c64123a75dd53dfb9" }, "grok-4.6": { "high": "5652656effa82f0c4f09cf8226b16e6140332a5a358b571194bb5563312367ac", "low": "79314d039f787e4ebfec7dacf57adc969086b948f564dec008f0ed6367e6062f", "medium": "6f538de0547c0c4e6a3f04ae08595ceadadabb06b75f6b6ee4c428744bb95cd8" }, "grok-build": { "high": "98d16f2b7d12f4eb540d625c853e51d227933e204923e43e8b9b4176f10aca2c", "low": "ca15c6a562a008227d39c51d3a3a83715663089b3784e8b46debb1fb67b3c4a1", "medium": "01783fb6beadcf6f8486fff0836820ad43fab5662b812a907fe9cfdb83e9804d" } }, "envKey": "DAIMON_INFERENCE_GRANT", "modelId": "daimon-inference-grok" }, "failureCodes": ["auth_stale", "grant_limit", "invalid_request", "unavailable"], "ledgerDedupeKey": ["grant", "request"], "ledgerVersion": "noopolis.daimon.inference-usage.v1", "limits": { "maxRequests": 64, "maxTokens": 2000000 }, "maxInFlightRequestsPerGrant": 1, "maxLiveGrants": 8, "messageRoles": ["system", "user", "assistant"], "purposes": ["judge", "optimizer"], "requestKinds": ["request_inference_grant", "release_inference_grant"], "tokenPrefix": "inference_", "ttlMs": 600000 }, "subject": { "isolation": "broker-worker", "supported": true } } } };
5
- //# sourceMappingURL=engineDescriptors.generated.js.map
@@ -23,4 +23,3 @@ export const DAIMON_SECRET_SERVICE_ENGINE_ID = byStaging("secret-service", DAIMO
23
23
  export const DAIMON_ENGINE_BROKER = byStaging("broker-realm", DAIMON_PINNED_BROKER_DESCRIPTOR.id).broker;
24
24
  // Admission additionally consumes training.subject; the declared inventory stays compatible.
25
25
  export const daimonTrainingDeclaration = { adapterId: "daimon-native", engines: DAIMON_ENGINES };
26
- //# sourceMappingURL=engines.js.map
@@ -0,0 +1,62 @@
1
+ import { type DaimonEngineDescriptor } from "./engines.js";
2
+ /**
3
+ * In-container placement of Daimon's auth gateway (`daimon-runtime gateway`).
4
+ *
5
+ * The gateway is the only process that holds a gatewayed engine's subscription
6
+ * login. It runs as its own uid on loopback; the organization runtime gets a
7
+ * URL and a key instead of a realm. These names are Daimon's public contract
8
+ * (`src/gateway/` and `engines/codex/gatewayProvider.ts` in Daimon).
9
+ */
10
+ export declare const DAIMON_GATEWAY_URL_ENV = "DAIMON_GATEWAY_URL";
11
+ /** Must keep its `_KEY` suffix: Codex's shell policy keeps `*KEY*` out of model-run commands. */
12
+ export declare const DAIMON_GATEWAY_KEY_ENV = "DAIMON_GATEWAY_KEY";
13
+ export declare const DAIMON_GATEWAY_CONFIG_VERSION = "noopolis.daimon.gateway.v1";
14
+ export declare const DAIMON_GATEWAY_KEY_TABLE_VERSION = "noopolis.daimon.gateway-keys.v1";
15
+ export declare const DAIMON_GATEWAY_HOST = "127.0.0.1";
16
+ export declare const DAIMON_GATEWAY_PORT = 43200;
17
+ export declare const DAIMON_GATEWAY_URL = "http://127.0.0.1:43200";
18
+ /** Root-owned, gateway-group-readable: config and key table. */
19
+ export declare const DAIMON_GATEWAY_ETC = "/etc/daimon-gateway";
20
+ export declare const DAIMON_GATEWAY_CONFIG = "/etc/daimon-gateway/config.json";
21
+ export declare const DAIMON_GATEWAY_KEY_TABLE = "/etc/daimon-gateway/keys.json";
22
+ /** Gateway-private copies of bootstrap leaves, rewritten on every start. */
23
+ export declare const DAIMON_GATEWAY_RUN = "/run/daimon-gateway";
24
+ /**
25
+ * Bind target directory for gatewayed bootstrap leaves. The host leaf keeps its
26
+ * host owner (the organization uid), so it is mounted under a root-only 0700
27
+ * directory the organization uid cannot traverse; root copies it for the gateway.
28
+ */
29
+ export declare const DAIMON_GATEWAY_BOOTSTRAP_ROOT = "/var/lib/spawnfile/daimon/gateway-bootstrap";
30
+ /** Key-table principal: Daimon reads one gateway key per organization runtime process. */
31
+ export declare const DAIMON_GATEWAY_PRINCIPAL = "daimon-organization";
32
+ export type DaimonGatewayedDescriptor = DaimonEngineDescriptor & {
33
+ auth: Extract<DaimonEngineDescriptor["auth"], {
34
+ staging: "portable-realm" | "broker-realm";
35
+ }>;
36
+ };
37
+ /**
38
+ * Whether Spawnfile places a gateway for this engine. The descriptors carry
39
+ * no gateway field, so the seam is the staging role: every realm-staged login
40
+ * (portable or brokered) is gatewayed; per-agent files and AGY's secret
41
+ * service never are. Replace with Daimon's own declaration once published.
42
+ */
43
+ export declare const isDaimonGatewayedEngine: (descriptor: DaimonEngineDescriptor | undefined) => descriptor is DaimonGatewayedDescriptor;
44
+ export declare const daimonGatewayedEngines: (engines: Iterable<string>) => DaimonGatewayedDescriptor[];
45
+ type RealmBootstrap = Readonly<{
46
+ bootstrapMountPath: string;
47
+ }>;
48
+ /** Where a gatewayed engine's read-only bootstrap leaf is bind-mounted. */
49
+ export declare const daimonGatewayBootstrapMountPath: (realm: RealmBootstrap) => string;
50
+ /** The gateway-owned copy the gateway reads as its bootstrap. */
51
+ export declare const daimonGatewayBootstrapCopyPath: (realm: RealmBootstrap) => string;
52
+ /**
53
+ * Where the gateway mounts a realm volume. A brokered engine's descriptor
54
+ * realm path is also its broker's local turn-state home, so its volume moves
55
+ * to a sibling `gateway-` path; every other realm keeps its descriptor path.
56
+ */
57
+ export declare const daimonGatewayRealmPath: (descriptor: DaimonGatewayedDescriptor) => string;
58
+ /** Gateway-private refresh home for a brokered engine, whose CLI refreshes its own login. */
59
+ export declare const daimonGatewayRefreshScratchPath: (descriptor: DaimonGatewayedDescriptor) => string | undefined;
60
+ /** `host` is loopback in-container; the training sidecar binds its private network (`0.0.0.0`). */
61
+ export declare const renderDaimonGatewayConfig: (descriptors: readonly DaimonGatewayedDescriptor[], host?: string) => string;
62
+ export {};
@@ -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 { 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 { 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";
@@ -268,7 +269,9 @@ export const prepareDaimonRuntimeAuth = async (input) => {
268
269
  mountArgs.push("-v", `${sourcePath}:${ingressPath}:ro`);
269
270
  }
270
271
  // Realm auth is staged once per organization, in the historical mount order.
271
- for (const staging of ["portable-realm", "broker-realm", "secret-service"]) {
272
+ // An external auth gateway supplied at boot holds every gatewayed login itself.
273
+ const externalGateway = Boolean(input.env[DAIMON_GATEWAY_URL_ENV]);
274
+ for (const staging of externalGateway ? ["secret-service"] : ["portable-realm", "broker-realm", "secret-service"]) {
272
275
  for (const engine of new Set(agents.map((agent) => agent.engine.kind))) {
273
276
  const descriptor = descriptorForEngine(engine);
274
277
  if (descriptor.auth.staging !== staging)
@@ -277,13 +280,13 @@ export const prepareDaimonRuntimeAuth = async (input) => {
277
280
  if (descriptor.auth.staging === "portable-realm") {
278
281
  const ownerUid = await assertSafeDaimonSourceFile(source, engine, descriptor.auth.maxCredentialBytes, engine);
279
282
  assertDaimonCredentialContainerOwner(ownerUid, engine, containerCredentialUid);
280
- mountArgs.push("-v", `${source}:${descriptor.auth.realm.bootstrapMountPath}:ro`);
283
+ mountArgs.push("-v", `${source}:${daimonGatewayBootstrapMountPath(descriptor.auth.realm)}:ro`);
281
284
  }
282
285
  else if (descriptor.auth.staging === "broker-realm") {
283
286
  const realm = descriptor.auth.realm;
284
- // The organization uid never reads broker bootstrap material.
287
+ // Root stages broker bootstrap material for the gateway; the organization uid never reads it.
285
288
  await assertSafeDaimonSourceFile(source, engine, descriptor.auth.maxCredentialBytes, engine);
286
- mountArgs.push("-v", `${source}:${realm.bootstrapMountPath}:ro`);
289
+ mountArgs.push("-v", `${source}:${daimonGatewayBootstrapMountPath(realm)}:ro`);
287
290
  }
288
291
  else if (descriptor.auth.staging === "secret-service") {
289
292
  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,15 @@
1
- export declare const daimonPortableSubscriptionRealms: (engines: readonly string[]) => {
2
- opaqueMountTargets: "/var/lib/spawnfile/daimon/codex-bootstrap-auth"[];
1
+ /**
2
+ * Whether a compiled persistent mount is a gatewayed realm. An organization
3
+ * booted against an external gateway (`DAIMON_GATEWAY_URL` at boot) mounts
4
+ * none of these and stages no bootstrap leaf: the gateway alone holds them.
5
+ */
6
+ export declare const isDaimonGatewayRealmMountId: (id: string) => boolean;
7
+ export declare const daimonGatewayedSubscriptionRealms: (engines: readonly string[]) => {
8
+ opaqueMountTargets: string[];
3
9
  persistentMounts: {
4
10
  id: string;
5
11
  lifecycle: "exclusive-reattach";
6
- mountPath: "/var/lib/spawnfile/daimon/codex-subscription-realm";
12
+ mountPath: string;
7
13
  reason: string;
8
14
  }[];
9
15
  };
@@ -1,18 +1,27 @@
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
+ const realmMountId = (engine) => `daimon-${engine}-subscription-realm`;
10
+ /**
11
+ * Whether a compiled persistent mount is a gatewayed realm. An organization
12
+ * booted against an external gateway (`DAIMON_GATEWAY_URL` at boot) mounts
13
+ * none of these and stages no bootstrap leaf: the gateway alone holds them.
14
+ */
15
+ export const isDaimonGatewayRealmMountId = (id) => daimonGatewayedEngines(DAIMON_ENGINES).some((descriptor) => realmMountId(descriptor.id) === id);
16
+ export const daimonGatewayedSubscriptionRealms = (engines) => {
17
+ const descriptors = daimonGatewayedEngines(engines);
9
18
  return {
10
- opaqueMountTargets: realms.map(({ realm }) => realm.bootstrapMountPath),
11
- persistentMounts: realms.map(({ engine, realm }) => ({
12
- id: `daimon-${engine}-subscription-realm`,
19
+ opaqueMountTargets: descriptors.map((descriptor) => daimonGatewayBootstrapMountPath(descriptor.auth.realm)),
20
+ persistentMounts: descriptors.map((descriptor) => ({
21
+ id: realmMountId(descriptor.id),
13
22
  lifecycle: "exclusive-reattach",
14
- mountPath: realm.durableMountPath,
15
- reason: `Daimon host ${engine} subscription credential realm`
23
+ mountPath: daimonGatewayRealmPath(descriptor),
24
+ reason: `Daimon host ${descriptor.id} subscription credential realm`
16
25
  }))
17
26
  };
18
27
  };
@@ -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,46 @@
1
+ import type { SubjectAdapter } 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
+ }
21
+ export interface BootedTrialHandle {
22
+ wake(text: string, options: {
23
+ deliveryId: string;
24
+ timeoutMs: number;
25
+ signal?: AbortSignal;
26
+ }): Promise<BootedWake>;
27
+ teardown(): Promise<void>;
28
+ }
29
+ /** Boots one trial organization of the subject with the candidate's instructions. */
30
+ export interface BootedTrialLauncher {
31
+ boot(input: {
32
+ trialId: string;
33
+ instructions: string;
34
+ signal?: AbortSignal;
35
+ }): Promise<BootedTrialHandle>;
36
+ }
37
+ export interface BootedAdapterOptions {
38
+ launcher: BootedTrialLauncher;
39
+ timeoutMs: number;
40
+ }
41
+ /**
42
+ * A training trial as a production-booted organization: the container is the
43
+ * isolation, the wake is the turn, and the evidence is what the runtime itself
44
+ * recorded (receipt, usage ledger, engine transcript).
45
+ */
46
+ export declare function createDaimonBootedAdapter(options: BootedAdapterOptions): SubjectAdapter;