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
@@ -1,60 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
- import { lstat, mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
- import path from 'node:path';
4
- import { grokGrantEnvKey } from './grants.js';
5
- import { InferenceFailure } from '../../../../../training/index.js';
6
- /**
7
- * A private per-call GROK_HOME (0700, owned by this uid) under a caller-provisioned
8
- * evaluator root, holding exactly the client config bytes whose sha256 equals the
9
- * independent pin. Nothing from the ambient HOME, GROK_HOME or API-key variables
10
- * reaches the child, so a desktop login can never be used instead of the grant.
11
- */
12
- export async function prepareGrokGrantCall(root, authority, grant, prompt) {
13
- const config = authority.renderClientConfig({ baseUrl: grant.baseUrl, model: grant.model, reasoningEffort: grant.reasoningEffort, envKey: authority.envKey });
14
- const pin = authority.pinnedClientConfigSha256(grant.model, grant.reasoningEffort);
15
- if (typeof pin !== 'string' || !/^[a-f0-9]{64}$/u.test(pin) || createHash('sha256').update(config).digest('hex') !== pin) {
16
- throw new InferenceFailure('unsupported', 'Grok broker client configuration does not match its pinned digest');
17
- }
18
- // Exactly the key Daimon's renderer declares; any other name means the client config and the child environment disagree.
19
- if (authority.envKey !== grokGrantEnvKey)
20
- throw new InferenceFailure('unsupported', `Grok grant environment key must be ${grokGrantEnvKey}`);
21
- const before = await privateDirectory(root, 'Grok grant home root');
22
- const dir = await mkdtemp(path.join(root, 'grok-grant-'));
23
- try {
24
- // The root this call actually wrote into must still be the directory that passed the check.
25
- const after = await privateDirectory(root, 'Grok grant home root');
26
- if (after.dev !== before.dev || after.ino !== before.ino)
27
- throw new InferenceFailure('unsupported', 'Grok grant home root changed while preparing the call');
28
- await privateDirectory(dir, 'Grok grant call directory');
29
- const home = path.join(dir, 'home'), work = path.join(dir, 'work');
30
- await mkdir(home, { mode: 0o700 });
31
- await mkdir(work, { mode: 0o700 });
32
- await privateDirectory(home, 'Grok grant home');
33
- await privateDirectory(work, 'Grok grant workspace');
34
- await writeFile(path.join(home, 'config.toml'), config, { mode: 0o600, flag: 'wx' });
35
- const promptFile = path.join(work, 'prompt.txt');
36
- await writeFile(promptFile, prompt, { mode: 0o600, flag: 'wx' });
37
- return { work, promptFile, cleanup: () => rm(dir, { recursive: true, force: true }),
38
- env: { PATH: process.env['PATH'] ?? '/usr/local/bin:/usr/bin:/bin', HOME: work, TMPDIR: work, GROK_HOME: home, [authority.envKey]: grant.token } };
39
- }
40
- catch (error) {
41
- await rm(dir, { recursive: true, force: true });
42
- throw error;
43
- }
44
- }
45
- /** Absolute, a real directory (never a symlink), mode exactly 0700 and owned by this uid. */
46
- async function privateDirectory(target, label) {
47
- const uid = process.getuid?.();
48
- let stat;
49
- try {
50
- stat = await lstat(target);
51
- }
52
- catch {
53
- throw new InferenceFailure('unsupported', `${label} is unavailable`);
54
- }
55
- if (!path.isAbsolute(target) || !stat.isDirectory() || stat.isSymbolicLink() || (uid !== undefined && stat.uid !== uid) || (stat.mode & 0o777) !== 0o700) {
56
- throw new InferenceFailure('unsupported', `${label} must be an absolute directory owned by this user with mode 0700`);
57
- }
58
- return stat;
59
- }
60
- //# sourceMappingURL=grant-home.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grant-home.js","sourceRoot":"","sources":["../../../../../../src/runtime/daimon/training/providers/grok-broker/grant-home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAA6D,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAWpE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,SAAsC,EAAE,KAAyB,EAAE,MAAc;IACxI,MAAM,MAAM,GAAG,SAAS,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9J,MAAM,GAAG,GAAG,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACnF,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACzH,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,mEAAmE,CAAC,CAAC;IACjH,CAAC;IACD,yHAAyH;IACzH,IAAI,SAAS,CAAC,MAAM,KAAK,eAAe;QAAE,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,sCAAsC,eAAe,EAAE,CAAC,CAAC;IAC7I,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC;QACH,4FAA4F;QAC5F,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG;YAAE,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,uDAAuD,CAAC,CAAC;QAC7J,MAAM,gBAAgB,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,MAAM,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACtG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACjD,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACjF,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,8BAA8B,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IACvJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,KAAa;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/B,IAAI,IAAW,CAAC;IAChB,IAAI,CAAC;QAAC,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,GAAG,KAAK,iBAAiB,CAAC,CAAC;IAAC,CAAC;IACnH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QACzJ,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,GAAG,KAAK,kEAAkE,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,81 +0,0 @@
1
- import { type GrokGrantModel, type GrokGrantPurpose, type GrokGrantReasoningEffort, type GrokInferenceGrant, type GrokInferenceGrantAuthority } from './grants.js';
2
- export interface GrokGrantKey {
3
- model: GrokGrantModel;
4
- reasoningEffort: GrokGrantReasoningEffort;
5
- purpose: GrokGrantPurpose;
6
- }
7
- export interface GrokGrantPoolOptions {
8
- /** Stable identity of the shared credential authority (e.g. the control socket); routes on it fail fast together. */
9
- id: string;
10
- /** Resolved once. A rejection means broker-grant is unavailable here and fails closed. */
11
- authority: () => Promise<GrokInferenceGrantAuthority>;
12
- /** Concurrent lanes (grants) per model/effort/purpose; matches the default judge check concurrency. */
13
- lanesPerRoute?: number;
14
- /** A lane idle this long releases its grant so other evaluators can use the broker's live-grant slot. */
15
- idleReleaseMs?: number;
16
- /** A grant is renewed when less than this margin plus the call budget remains before expiry. */
17
- renewMarginMs?: number;
18
- /** Tokens a single request may still spend (broker per-request usage bound); a lane renews before the grant ceiling. */
19
- requestTokenReserve?: number;
20
- /** Queue backoff while the broker's live-grant cap is reached. */
21
- capBackoffMs?: readonly [initial: number, maximum: number];
22
- /** Bound on one release exchange; failed releases retry `releaseAttempts` times with `releaseBackoffMs`. */
23
- releaseTimeoutMs?: number;
24
- releaseAttempts?: number;
25
- releaseBackoffMs?: readonly [initial: number, maximum: number];
26
- /** Bound on {@link GrokGrantPool.close} waiting for in-flight lanes and releases. */
27
- closeTimeoutMs?: number;
28
- now?: () => number;
29
- }
30
- export type GrokGrantOutcome = Readonly<{
31
- ok: true;
32
- tokens: number | null;
33
- }> | Readonly<{
34
- ok: false;
35
- }>;
36
- export interface GrokGrantLease {
37
- readonly authority: GrokInferenceGrantAuthority;
38
- readonly grant: GrokInferenceGrant;
39
- /** Time the CLI call may take without outliving the grant or the call deadline. */
40
- readonly callTimeoutMs: number;
41
- /** Exactly once: success keeps the grant for this lane's next call; failure releases it. */
42
- settle(outcome: GrokGrantOutcome): Promise<void>;
43
- }
44
- /**
45
- * One grant per concurrent lane, reused sequentially until it nears expiry or
46
- * its request/token ceilings, then renewed. Never holds more grants than the
47
- * broker's live-grant cap, counting released grants until the broker confirms
48
- * them or they expire. On `grant_limit` a lane queues with backoff; every wait
49
- * ends at the call deadline (`timeout`) or the caller's signal (`cancelled`).
50
- * Grants are released on any failure, when idle, and on close.
51
- */
52
- export declare class GrokGrantPool {
53
- private readonly options;
54
- readonly id: string;
55
- private readonly lanes;
56
- private waiters;
57
- private resolved?;
58
- private closed;
59
- private readonly lanesPerRoute;
60
- private readonly idleReleaseMs;
61
- private readonly renewMarginMs;
62
- private readonly reserve;
63
- private readonly backoff;
64
- private readonly closeTimeoutMs;
65
- private readonly releases;
66
- private readonly now;
67
- constructor(options: GrokGrantPoolOptions);
68
- /** `needMs` is the call's whole budget: waiting for a lane or grant spends it, and the CLI gets what remains. */
69
- acquire(spec: GrokGrantKey, needMs: number, signal?: AbortSignal): Promise<GrokGrantLease>;
70
- /** Release every grant, waiting (bounded) for in-flight lanes to settle and releases to be confirmed. */
71
- close(): Promise<void>;
72
- private authority;
73
- private lease;
74
- private usable;
75
- /** Removes the lane; its grant stays counted until the broker confirms the release or the grant expires. */
76
- private drop;
77
- private changed;
78
- /** Waits for `pending` unless the caller cancels or the deadline passes; a late grant is handed to `orphan`. */
79
- private bound;
80
- private wake;
81
- }
@@ -1,221 +0,0 @@
1
- import { GrokGrantRefusal } from './grants.js';
2
- import { InferenceFailure } from '../../../../../training/index.js';
3
- import { GrokGrantReleases } from './grant-releases.js';
4
- /**
5
- * One grant per concurrent lane, reused sequentially until it nears expiry or
6
- * its request/token ceilings, then renewed. Never holds more grants than the
7
- * broker's live-grant cap, counting released grants until the broker confirms
8
- * them or they expire. On `grant_limit` a lane queues with backoff; every wait
9
- * ends at the call deadline (`timeout`) or the caller's signal (`cancelled`).
10
- * Grants are released on any failure, when idle, and on close.
11
- */
12
- export class GrokGrantPool {
13
- options;
14
- id;
15
- lanes = [];
16
- waiters = [];
17
- resolved;
18
- closed = false;
19
- lanesPerRoute;
20
- idleReleaseMs;
21
- renewMarginMs;
22
- reserve;
23
- backoff;
24
- closeTimeoutMs;
25
- releases;
26
- now;
27
- constructor(options) {
28
- this.options = options;
29
- this.id = options.id;
30
- this.lanesPerRoute = options.lanesPerRoute ?? 2;
31
- this.idleReleaseMs = options.idleReleaseMs ?? 30_000;
32
- this.renewMarginMs = options.renewMarginMs ?? 5_000;
33
- this.reserve = options.requestTokenReserve ?? 500_000;
34
- this.backoff = options.capBackoffMs ?? [250, 2_000];
35
- this.closeTimeoutMs = options.closeTimeoutMs ?? 5_000;
36
- this.now = options.now ?? Date.now;
37
- if (!options.id.trim() || !Number.isSafeInteger(this.lanesPerRoute) || this.lanesPerRoute < 1 || this.lanesPerRoute > 8)
38
- throw new Error('Invalid Grok grant pool policy');
39
- this.releases = new GrokGrantReleases({ now: this.now, attempts: options.releaseAttempts ?? 4, backoffMs: options.releaseBackoffMs ?? [250, 2_000],
40
- attemptTimeoutMs: options.releaseTimeoutMs ?? 2_000, onChange: () => this.wake() });
41
- }
42
- /** `needMs` is the call's whole budget: waiting for a lane or grant spends it, and the CLI gets what remains. */
43
- async acquire(spec, needMs, signal) {
44
- const deadline = this.now() + needMs;
45
- const authority = await this.authority();
46
- const key = `${spec.model}\0${spec.reasoningEffort}\0${spec.purpose}`;
47
- for (;;) {
48
- if (signal?.aborted)
49
- throw cancelled();
50
- if (this.closed)
51
- throw new InferenceFailure('unavailable', 'Grok grant pool is closed');
52
- if (this.now() >= deadline)
53
- throw expired();
54
- let lane = this.lanes.find(candidate => candidate.key === key && !candidate.busy);
55
- if (lane === undefined && this.lanes.filter(candidate => candidate.key === key).length < this.lanesPerRoute) {
56
- if (this.lanes.length + this.releases.count() < authority.maxLiveGrants) {
57
- lane = { key, spec, requests: 0, tokens: 0, busy: false };
58
- this.lanes.push(lane);
59
- }
60
- else {
61
- const evict = this.lanes.find(candidate => !candidate.busy);
62
- if (evict !== undefined) {
63
- await this.drop(evict);
64
- continue;
65
- }
66
- }
67
- }
68
- if (lane === undefined) {
69
- await this.bound(this.changed(), signal, deadline);
70
- continue;
71
- }
72
- lane.busy = true;
73
- clearTimeout(lane.idle);
74
- try {
75
- return await this.lease(authority, lane, deadline, signal);
76
- }
77
- catch (error) {
78
- await this.drop(lane);
79
- throw error;
80
- }
81
- }
82
- }
83
- /** Release every grant, waiting (bounded) for in-flight lanes to settle and releases to be confirmed. */
84
- async close() {
85
- this.closed = true;
86
- const deadline = this.now() + this.closeTimeoutMs;
87
- await Promise.all(this.lanes.filter(lane => !lane.busy).map(lane => this.drop(lane)));
88
- this.wake();
89
- const drained = (async () => { while (this.lanes.length)
90
- await this.changed(); await this.releases.settled(); })();
91
- await this.bound(drained, undefined, deadline).catch(() => undefined);
92
- }
93
- authority() {
94
- this.resolved ??= this.options.authority().catch((error) => {
95
- throw error instanceof InferenceFailure ? error : new InferenceFailure('unsupported', 'Grok broker-grant inference is unavailable (no broker control socket or client pin)');
96
- });
97
- return this.resolved;
98
- }
99
- async lease(authority, lane, deadline, signal) {
100
- if (lane.grant !== undefined && !this.usable(lane, deadline)) {
101
- const stale = lane.grant;
102
- lane.grant = undefined;
103
- await this.releases.release(authority, stale);
104
- }
105
- let delay = this.backoff[0];
106
- while (lane.grant === undefined) {
107
- try {
108
- const grant = await this.bound(authority.request(lane.spec), signal, deadline, late => { void this.releases.release(authority, late); });
109
- const expires = Date.parse(grant.expiresAt);
110
- if (grant.model !== lane.spec.model || grant.reasoningEffort !== lane.spec.reasoningEffort || grant.purpose !== lane.spec.purpose ||
111
- !Number.isFinite(expires) || typeof grant.token !== 'string' || !grant.token) {
112
- await this.releases.release(authority, grant);
113
- throw new InferenceFailure('unavailable', 'Grok broker returned a grant that does not match the request');
114
- }
115
- lane.grant = grant;
116
- lane.requests = 0;
117
- lane.tokens = 0;
118
- }
119
- catch (error) {
120
- if (error instanceof GrokGrantRefusal && error.code === 'grant_limit') {
121
- await this.bound(new Promise(resolve => setTimeout(resolve, delay)), signal, deadline);
122
- delay = Math.min(delay * 2, this.backoff[1]);
123
- continue;
124
- }
125
- throw classify(error);
126
- }
127
- }
128
- const grant = lane.grant;
129
- const now = this.now();
130
- const callTimeoutMs = Math.min(deadline - now, Date.parse(grant.expiresAt) - now - this.renewMarginMs);
131
- if (deadline - now < 1)
132
- throw expired();
133
- if (callTimeoutMs < 1)
134
- throw new InferenceFailure('unavailable', 'Grok grant expires before the call could run', { detail: 'grant-expired' });
135
- let settled = false;
136
- return { authority, grant, callTimeoutMs, settle: async (outcome) => {
137
- if (settled)
138
- return;
139
- settled = true;
140
- if (!outcome.ok || this.closed) {
141
- await this.drop(lane);
142
- return;
143
- }
144
- lane.requests += 1;
145
- lane.tokens = outcome.tokens === null ? Number.POSITIVE_INFINITY : lane.tokens + outcome.tokens;
146
- lane.busy = false;
147
- // Unref'd: shutdown releases through close(), which training awaits on every exit path.
148
- lane.idle = setTimeout(() => { void this.drop(lane); }, this.idleReleaseMs);
149
- lane.idle.unref?.();
150
- this.wake();
151
- } };
152
- }
153
- usable(lane, deadline) {
154
- const grant = lane.grant;
155
- return Date.parse(grant.expiresAt) - this.renewMarginMs >= deadline &&
156
- lane.requests < grant.limits.maxRequests &&
157
- lane.tokens + Math.min(this.reserve, grant.limits.maxTokens) <= grant.limits.maxTokens;
158
- }
159
- /** Removes the lane; its grant stays counted until the broker confirms the release or the grant expires. */
160
- async drop(lane) {
161
- const index = this.lanes.indexOf(lane);
162
- if (index >= 0)
163
- this.lanes.splice(index, 1);
164
- clearTimeout(lane.idle);
165
- const grant = lane.grant;
166
- lane.grant = undefined;
167
- if (grant !== undefined && this.resolved !== undefined) {
168
- const authority = await this.resolved.catch(() => undefined);
169
- if (authority !== undefined)
170
- await this.releases.release(authority, grant);
171
- }
172
- this.wake();
173
- }
174
- changed() { return new Promise(resolve => { this.waiters.push(resolve); }); }
175
- /** Waits for `pending` unless the caller cancels or the deadline passes; a late grant is handed to `orphan`. */
176
- bound(pending, signal, deadline, orphan) {
177
- return new Promise((resolve, reject) => {
178
- let done = false;
179
- const finish = (settle) => {
180
- if (done)
181
- return false;
182
- done = true;
183
- clearTimeout(timer);
184
- signal?.removeEventListener('abort', abort);
185
- settle();
186
- return true;
187
- };
188
- const leave = (failure) => { if (finish(() => reject(failure)))
189
- pending.then(value => orphan?.(value), () => undefined); };
190
- const abort = () => leave(cancelled());
191
- const timer = setTimeout(() => leave(expired()), Math.max(0, deadline - this.now()));
192
- signal?.addEventListener('abort', abort, { once: true });
193
- if (signal?.aborted)
194
- abort();
195
- pending.then(value => finish(() => resolve(value)), (error) => finish(() => reject(error)));
196
- });
197
- }
198
- wake() { const waiters = this.waiters; this.waiters = []; for (const waiter of waiters)
199
- waiter(); }
200
- }
201
- const cancelled = () => new InferenceFailure('cancelled', 'Grok grant wait cancelled');
202
- /** Routing treats `timeout` like other capacity failures: the next authored route may run inside the route budget. */
203
- const expired = () => new InferenceFailure('timeout', 'Grok grant capacity wait exceeded the call deadline');
204
- /**
205
- * A refused grant, an expired credential realm and a broker that is simply down
206
- * all used to leave the same `unavailable` and the same sentence. The refusal is
207
- * a closed broker code, so the distinction is carried, not reconstructed later.
208
- */
209
- function classify(error) {
210
- if (error instanceof InferenceFailure)
211
- return error;
212
- if (error instanceof GrokGrantRefusal) {
213
- if (error.code === 'auth_stale')
214
- return new InferenceFailure('auth-stale', 'Grok broker credential realm is stale', { detail: 'grant-expired' });
215
- if (error.code === 'invalid_request')
216
- return new InferenceFailure('unsupported', 'Grok broker refused the grant request as invalid', { detail: 'grant-refused' });
217
- return new InferenceFailure('unavailable', 'Grok broker refused the grant request', { detail: 'grant-refused' });
218
- }
219
- return new InferenceFailure('unavailable', 'Grok broker is unavailable');
220
- }
221
- //# sourceMappingURL=grant-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grant-pool.js","sourceRoot":"","sources":["../../../../../../src/runtime/daimon/training/providers/grok-broker/grant-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EACoC,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAwCxD;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IACP,OAAO,CAAuB;IACtC,EAAE,CAAS;IACH,KAAK,GAAW,EAAE,CAAC;IAC5B,OAAO,GAAmB,EAAE,CAAC;IAC7B,QAAQ,CAAwC;IAChD,MAAM,GAAG,KAAK,CAAC;IACN,aAAa,CAAS;IACtB,aAAa,CAAS;IACtB,aAAa,CAAS;IACtB,OAAO,CAAS;IAChB,OAAO,CAA4B;IACnC,cAAc,CAAS;IACvB,QAAQ,CAAoB;IAC5B,GAAG,CAAe;IAEnC,YAAY,OAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;QACtD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC3K,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;YAChJ,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,iHAAiH;IACjH,KAAK,CAAC,OAAO,CAAC,IAAkB,EAAE,MAAc,EAAE,MAAoB;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACtE,SAAS,CAAC;YACR,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM,SAAS,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;YACxF,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;gBAAE,MAAM,OAAO,EAAE,CAAC;YAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC5G,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;oBACxE,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oBAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAAC,SAAS;oBAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACzF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,CAAC;gBAAC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YACnE,OAAO,KAAK,EAAE,CAAC;gBAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAC,MAAM,KAAK,CAAC;YAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,yGAAyG;IACzG,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAClD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAClE,MAAM,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,aAAa,EAAE,qFAAqF,CAAC,CAAC;QAC/K,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,SAAsC,EAAE,IAAU,EAAE,QAAgB,EAAE,MAAoB;QAC5G,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzI,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO;oBAC/H,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/E,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC9C,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,8DAA8D,CAAC,CAAC;gBAC5G,CAAC;gBACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACtE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACvF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7C,SAAS;gBACX,CAAC;gBACD,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QACvG,IAAI,QAAQ,GAAG,GAAG,GAAG,CAAC;YAAE,MAAM,OAAO,EAAE,CAAC;QACxC,IAAI,aAAa,GAAG,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,8CAA8C,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QAC9I,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;gBAChE,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAClE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAChG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,wFAAwF;gBACxF,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC5E,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC,EAAE,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,IAAU,EAAE,QAAgB;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAM,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,QAAQ;YACjE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;IAC3F,CAAC;IAED,4GAA4G;IACpG,KAAK,CAAC,IAAI,CAAC,IAAU;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,OAAO,KAAoB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpG,gHAAgH;IACxG,KAAK,CAAI,OAAmB,EAAE,MAA+B,EAAE,QAAgB,EAAE,MAA2B;QAClH,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,MAAM,MAAM,GAAG,CAAC,MAAkB,EAAW,EAAE;gBAC7C,IAAI,IAAI;oBAAE,OAAO,KAAK,CAAC;gBACvB,IAAI,GAAG,IAAI,CAAC;gBAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAAC,MAAM,EAAE,CAAC;gBAAC,OAAO,IAAI,CAAC;YACvG,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,CAAC,OAAyB,EAAE,EAAE,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7I,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,MAAM,EAAE,OAAO;gBAAE,KAAK,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,IAAI,KAAW,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,MAAM,EAAE,CAAC,CAAC,CAAC;CAClH;AAED,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;AACvF,sHAAsH;AACtH,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,SAAS,EAAE,qDAAqD,CAAC,CAAC;AAE7G;;;;GAIG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,KAAK,YAAY,gBAAgB;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,uCAAuC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QACjJ,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAAE,OAAO,IAAI,gBAAgB,CAAC,aAAa,EAAE,kDAAkD,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QAClK,OAAO,IAAI,gBAAgB,CAAC,aAAa,EAAE,uCAAuC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,OAAO,IAAI,gBAAgB,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;AAC3E,CAAC"}
@@ -1,31 +0,0 @@
1
- import type { GrokInferenceGrant, GrokInferenceGrantAuthority } from './grants.js';
2
- export interface GrokGrantReleaseOptions {
3
- now: () => number;
4
- /** Release attempts before an unconfirmed grant simply waits out its TTL (still counted). */
5
- attempts: number;
6
- backoffMs: readonly [initial: number, maximum: number];
7
- /** Bound on one release exchange with the broker. */
8
- attemptTimeoutMs: number;
9
- /** A counted grant stopped counting (confirmed or expired). */
10
- onChange: () => void;
11
- }
12
- /**
13
- * Grants handed back to the broker. Until the broker confirms a release (either
14
- * answer: `released:false` means it no longer holds the grant) or the grant's
15
- * TTL passes, it still occupies one of the broker's live-grant slots, so it stays
16
- * counted against the local cap. Failed releases retry with bounded backoff.
17
- */
18
- export declare class GrokGrantReleases {
19
- private readonly options;
20
- private readonly pending;
21
- private readonly loops;
22
- constructor(options: GrokGrantReleaseOptions);
23
- /** Grants the broker may still count. */
24
- count(): number;
25
- /** Resolves after the first attempt; retries continue in the background (see {@link settled}). */
26
- release(authority: GrokInferenceGrantAuthority, grant: Pick<GrokInferenceGrant, 'grantId' | 'expiresAt'>): Promise<void>;
27
- /** Every release attempt sequence has finished (confirmed, exhausted or expired). */
28
- settled(): Promise<void>;
29
- private attempt;
30
- private forget;
31
- }
@@ -1,78 +0,0 @@
1
- /**
2
- * Grants handed back to the broker. Until the broker confirms a release (either
3
- * answer: `released:false` means it no longer holds the grant) or the grant's
4
- * TTL passes, it still occupies one of the broker's live-grant slots, so it stays
5
- * counted against the local cap. Failed releases retry with bounded backoff.
6
- */
7
- export class GrokGrantReleases {
8
- options;
9
- pending = new Map();
10
- loops = new Set();
11
- constructor(options) { this.options = options; }
12
- /** Grants the broker may still count. */
13
- count() {
14
- const now = this.options.now();
15
- for (const [grantId, entry] of this.pending)
16
- if (entry.expires <= now)
17
- this.forget(grantId);
18
- return this.pending.size;
19
- }
20
- /** Resolves after the first attempt; retries continue in the background (see {@link settled}). */
21
- release(authority, grant) {
22
- const expires = Date.parse(grant.expiresAt);
23
- const remaining = expires - this.options.now();
24
- if (this.pending.has(grant.grantId) || !Number.isFinite(expires) || remaining <= 0)
25
- return Promise.resolve();
26
- // Expiry frees the broker slot even if no release was ever confirmed.
27
- const timer = setTimeout(() => this.forget(grant.grantId), Math.min(remaining, 2_147_483_647));
28
- timer.unref?.();
29
- this.pending.set(grant.grantId, { expires, timer });
30
- let firstAttempt;
31
- const first = new Promise(resolve => { firstAttempt = resolve; });
32
- const loop = (async () => {
33
- let delay = this.options.backoffMs[0];
34
- for (let attempt = 1; this.pending.has(grant.grantId); attempt++) {
35
- const confirmed = await this.attempt(authority, grant.grantId);
36
- if (attempt === 1)
37
- firstAttempt();
38
- if (confirmed) {
39
- this.forget(grant.grantId);
40
- return;
41
- }
42
- if (attempt >= this.options.attempts || this.options.now() + delay >= expires)
43
- return;
44
- await new Promise(resolve => setTimeout(resolve, delay));
45
- delay = Math.min(delay * 2, this.options.backoffMs[1]);
46
- }
47
- })().finally(() => { firstAttempt(); this.loops.delete(loop); });
48
- this.loops.add(loop);
49
- return first;
50
- }
51
- /** Every release attempt sequence has finished (confirmed, exhausted or expired). */
52
- async settled() {
53
- while (this.loops.size)
54
- await Promise.all([...this.loops]);
55
- }
56
- async attempt(authority, grantId) {
57
- let timer;
58
- try {
59
- return await Promise.race([authority.release(grantId).then(() => true),
60
- new Promise(resolve => { timer = setTimeout(() => resolve(false), this.options.attemptTimeoutMs); })]);
61
- }
62
- catch {
63
- return false;
64
- }
65
- finally {
66
- clearTimeout(timer);
67
- }
68
- }
69
- forget(grantId) {
70
- const entry = this.pending.get(grantId);
71
- if (entry === undefined)
72
- return;
73
- clearTimeout(entry.timer);
74
- this.pending.delete(grantId);
75
- this.options.onChange();
76
- }
77
- }
78
- //# sourceMappingURL=grant-releases.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grant-releases.js","sourceRoot":"","sources":["../../../../../../src/runtime/daimon/training/providers/grok-broker/grant-releases.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- /**
2
- * Evaluator inference grants: a broker (Daimon's Grok engine broker) lends its
3
- * credential to one sequential lane of judge or optimizer requests without the
4
- * evaluator ever holding that credential. This is the runtime-neutral seam;
5
- * the Daimon binding lives with the native adapter.
6
- */
7
- export declare const grokGrantModels: readonly ["grok-4.6", "grok-4.5", "grok-build"];
8
- export declare const grokGrantReasoningEfforts: readonly ["low", "medium", "high"];
9
- export declare const grokGrantPurposes: readonly ["judge", "optimizer"];
10
- export declare const grokGrantRefusalCodes: readonly ["auth_stale", "grant_limit", "invalid_request", "unavailable"];
11
- export type GrokGrantModel = (typeof grokGrantModels)[number];
12
- export type GrokGrantReasoningEffort = (typeof grokGrantReasoningEfforts)[number];
13
- export type GrokGrantPurpose = (typeof grokGrantPurposes)[number];
14
- export type GrokGrantRefusalCode = (typeof grokGrantRefusalCodes)[number];
15
- /** The only environment variable a grant client reads its token from (Daimon's declared `env_key`). */
16
- export declare const grokGrantEnvKey = "DAIMON_INFERENCE_GRANT";
17
- export interface GrokInferenceGrant {
18
- grantId: string;
19
- /** Bearer for the broker proxy. Child-process environment only; never logged, persisted or put in argv. */
20
- token: string;
21
- baseUrl: string;
22
- model: GrokGrantModel;
23
- reasoningEffort: GrokGrantReasoningEffort;
24
- purpose: GrokGrantPurpose;
25
- /** ISO timestamp; the broker drops the grant at this instant. */
26
- expiresAt: string;
27
- limits: {
28
- maxRequests: number;
29
- maxTokens: number;
30
- timeoutMs: number;
31
- };
32
- }
33
- export interface GrokClientConfigInput {
34
- baseUrl: string;
35
- model: GrokGrantModel;
36
- reasoningEffort: GrokGrantReasoningEffort;
37
- envKey: string;
38
- }
39
- /** A closed broker refusal. Anything else a broker call throws means the broker is unavailable. */
40
- export declare class GrokGrantRefusal extends Error {
41
- readonly code: GrokGrantRefusalCode;
42
- constructor(code: GrokGrantRefusalCode);
43
- }
44
- export interface GrokInferenceGrantAuthority {
45
- /** The only `--model` a grant client may run. */
46
- readonly clientModelId: string;
47
- /** The environment variable the rendered client config reads the grant token from. */
48
- readonly envKey: string;
49
- /** The broker's live-grant cap; a local pool never holds more. */
50
- readonly maxLiveGrants: number;
51
- request(input: {
52
- model: GrokGrantModel;
53
- reasoningEffort: GrokGrantReasoningEffort;
54
- purpose: GrokGrantPurpose;
55
- }): Promise<GrokInferenceGrant>;
56
- release(grantId: string): Promise<boolean>;
57
- /** Exact `config.toml` bytes for a private GROK_HOME. */
58
- renderClientConfig(input: GrokClientConfigInput): string;
59
- /** Independently pinned sha256 of those bytes for the production proxy; `undefined` means no pin (fail closed). */
60
- pinnedClientConfigSha256(model: GrokGrantModel, reasoningEffort: GrokGrantReasoningEffort): string | undefined;
61
- }
62
- export declare const grokBrokerControlSocketEnv = "SPAWNFILE_TRAINING_GROK_BROKER_CONTROL_SOCKET";
63
- export declare const grokGrantHomeRootEnv = "SPAWNFILE_TRAINING_GROK_GRANT_HOME_ROOT";
@@ -1,20 +0,0 @@
1
- /**
2
- * Evaluator inference grants: a broker (Daimon's Grok engine broker) lends its
3
- * credential to one sequential lane of judge or optimizer requests without the
4
- * evaluator ever holding that credential. This is the runtime-neutral seam;
5
- * the Daimon binding lives with the native adapter.
6
- */
7
- export const grokGrantModels = ['grok-4.6', 'grok-4.5', 'grok-build'];
8
- export const grokGrantReasoningEfforts = ['low', 'medium', 'high'];
9
- export const grokGrantPurposes = ['judge', 'optimizer'];
10
- export const grokGrantRefusalCodes = ['auth_stale', 'grant_limit', 'invalid_request', 'unavailable'];
11
- /** The only environment variable a grant client reads its token from (Daimon's declared `env_key`). */
12
- export const grokGrantEnvKey = 'DAIMON_INFERENCE_GRANT';
13
- /** A closed broker refusal. Anything else a broker call throws means the broker is unavailable. */
14
- export class GrokGrantRefusal extends Error {
15
- code;
16
- constructor(code) { super(`Grok inference grant refused (${code})`); this.code = code; this.name = 'GrokGrantRefusal'; }
17
- }
18
- export const grokBrokerControlSocketEnv = 'SPAWNFILE_TRAINING_GROK_BROKER_CONTROL_SOCKET';
19
- export const grokGrantHomeRootEnv = 'SPAWNFILE_TRAINING_GROK_GRANT_HOME_ROOT';
20
- //# sourceMappingURL=grants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grants.js","sourceRoot":"","sources":["../../../../../../src/runtime/daimon/training/providers/grok-broker/grants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAU,CAAC;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAC5E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,WAAW,CAAU,CAAC;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,CAAU,CAAC;AAO9G,uGAAuG;AACvG,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAsBxD,mGAAmG;AACnG,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAuB;IACpC,YAAY,IAA0B,IAAI,KAAK,CAAC,iCAAiC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC;CAC/I;AAiBD,MAAM,CAAC,MAAM,0BAA0B,GAAG,+CAA+C,CAAC;AAC1F,MAAM,CAAC,MAAM,oBAAoB,GAAG,yCAAyC,CAAC"}
@@ -1,3 +0,0 @@
1
- export { createGrokBrokerInference, type GrokBrokerInferenceOptions } from './broker.js';
2
- export { GrokGrantPool, type GrokGrantKey, type GrokGrantLease, type GrokGrantOutcome, type GrokGrantPoolOptions } from './grant-pool.js';
3
- export * from './grants.js';
@@ -1,4 +0,0 @@
1
- export { createGrokBrokerInference } from './broker.js';
2
- export { GrokGrantPool } from './grant-pool.js';
3
- export * from './grants.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/runtime/daimon/training/providers/grok-broker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAmC,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,aAAa,EAA4F,MAAM,iBAAiB,CAAC;AAC1I,cAAc,aAAa,CAAC"}
@@ -1,6 +0,0 @@
1
- /** Interim Daimon integration surface; importing it never starts a worker. */
2
- export { assertNativeEngineConfig, bindTrialPathsToSlot, createDaimonNativeAdapter, createExperimentSlotFreshness, loadNativeLaunch, nativeChildArguments, nativeSubjectScratch, nativeTrialArtifactsRoot, nativeTrialInputsRoot, parseNativeLaunch, prepareNativeSubject, } from './native/index.js';
3
- export type { GrokSlotFreshnessStore, NativeAdapterOptions, NativeChildExternalInputs, NativeLaunch, NativeMount, NativeSubjectEngine, NativeTransportDelivery, NativeTurnEvidence, ProvisionedSubject, SubjectProvisioner, } from './native/index.js';
4
- export { nativeChildEnvironment } from './native/child/index.js';
5
- export { verifyExternalSource, verifyNativeWorkerStartup } from './native/worker/index.js';
6
- export type { TerminalEvidence } from './native/worker/index.js';
@@ -1,5 +0,0 @@
1
- /** Interim Daimon integration surface; importing it never starts a worker. */
2
- export { assertNativeEngineConfig, bindTrialPathsToSlot, createDaimonNativeAdapter, createExperimentSlotFreshness, loadNativeLaunch, nativeChildArguments, nativeSubjectScratch, nativeTrialArtifactsRoot, nativeTrialInputsRoot, parseNativeLaunch, prepareNativeSubject, } from './native/index.js';
3
- export { nativeChildEnvironment } from './native/child/index.js';
4
- export { verifyExternalSource, verifyNativeWorkerStartup } from './native/worker/index.js';
5
- //# sourceMappingURL=public.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../../src/runtime/daimon/training/public.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,EACL,wBAAwB,EAAE,oBAAoB,EAAE,yBAAyB,EACzE,6BAA6B,EAAE,gBAAgB,EAAE,oBAAoB,EACrE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EACrE,iBAAiB,EAAE,oBAAoB,GACxC,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC"}