spawnfile 0.1.24 → 0.1.27

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 (1459) hide show
  1. package/README.md +1 -1
  2. package/dist/audit/readAudit.d.ts +2 -2
  3. package/dist/auth/trainingAuth.js +1 -1
  4. package/dist/cli/runCli.d.ts +2 -2
  5. package/dist/cli/runCli.js +2 -2
  6. package/dist/cli/trainCommand.js +4 -5
  7. package/dist/cli/{paideiaDelegation.d.ts → trainingExecution.d.ts} +3 -4
  8. package/dist/cli/trainingExecution.js +151 -0
  9. package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +2 -2
  10. package/dist/compiler/containerDaimonGrokWorkerRender.js +3 -2
  11. package/dist/compiler/containerDaimonUidEntrypointRender.js +4 -3
  12. package/dist/compiler/containerPackageOverrides.d.ts +1 -1
  13. package/dist/compiler/training/broker/declaration.d.ts +2 -2
  14. package/dist/compiler/training/broker/declaration.js +3 -2
  15. package/dist/compiler/training/broker/entrypoint.d.ts +3 -3
  16. package/dist/compiler/training/broker/entrypoint.js +7 -6
  17. package/dist/compiler/training/broker/evaluatorSecrets.js +4 -2
  18. package/dist/compiler/training/broker/paths.d.ts +15 -15
  19. package/dist/compiler/training/broker/paths.js +23 -23
  20. package/dist/compiler/training/broker/projection.d.ts +4 -4
  21. package/dist/compiler/training/broker/projection.js +9 -7
  22. package/dist/compiler/training/broker/provisioning.d.ts +1 -1
  23. package/dist/compiler/training/broker/provisioning.js +3 -3
  24. package/dist/compiler/training/broker/registration.d.ts +1 -1
  25. package/dist/compiler/training/broker/registration.js +1 -1
  26. package/dist/compiler/training/broker/supervisor.d.ts +1 -1
  27. package/dist/compiler/training/container/contract.js +2 -1
  28. package/dist/compiler/training/container/evaluators.d.ts +3 -3
  29. package/dist/compiler/training/container/evaluators.js +6 -6
  30. package/dist/compiler/training/container/launch.js +15 -7
  31. package/dist/compiler/training/container/security.js +3 -3
  32. package/dist/compiler/training/container/subjectIsolation.js +2 -1
  33. package/dist/compiler/training/execution.d.ts +8 -10
  34. package/dist/compiler/training/execution.js +1 -1
  35. package/dist/compiler/training/moments.js +2 -2
  36. package/dist/compiler/training/plan/contract.d.ts +7 -7
  37. package/dist/compiler/training/plan/load.js +2 -0
  38. package/dist/compiler/training/preparation/assets/Dockerfile +8 -17
  39. package/dist/compiler/training/preparation/assets/package-lock.json +2012 -316
  40. package/dist/compiler/training/preparation/broker.js +2 -1
  41. package/dist/compiler/training/preparation/contract.d.ts +5 -9
  42. package/dist/compiler/training/preparation/contract.js +4 -3
  43. package/dist/compiler/training/preparation/image.js +2 -4
  44. package/dist/compiler/training/preparation/prepare.js +3 -3
  45. package/dist/compiler/training/repair/compatibility.js +17 -6
  46. package/dist/compiler/training/repair/contract.d.ts +14 -22
  47. package/dist/compiler/training/repair/contract.js +3 -2
  48. package/dist/compiler/training/repair/prepare.d.ts +5 -9
  49. package/dist/compiler/training/repair/prepare.js +10 -4
  50. package/dist/compiler/training/repair/witness.d.ts +4 -8
  51. package/dist/compiler/training/repair/witness.js +16 -2
  52. package/dist/compiler/training/rewind/contract.d.ts +9 -9
  53. package/dist/compiler/training/subjectDeclaration.d.ts +2 -1
  54. package/dist/compiler/training/subjectDeclaration.js +4 -2
  55. package/dist/compiler/training/subjectLease.d.ts +9 -8
  56. package/dist/compiler/training/subjectLease.js +17 -13
  57. package/dist/distribution/imageRuntimeAuth.js +33 -24
  58. package/dist/manifest/executionSchemas.d.ts +9 -9
  59. package/dist/manifest/mcpSchemas.d.ts +3 -3
  60. package/dist/manifest/schemas.d.ts +71 -71
  61. package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
  62. package/dist/manifest/teamNetworkAuthSchemas.d.ts +1 -1
  63. package/dist/manifest/teamNetworkSchemas.d.ts +2 -2
  64. package/dist/manifest/teamNetworkServerSchemas.d.ts +2 -2
  65. package/dist/manifest/trainingDataSchemas.d.ts +2 -2
  66. package/dist/runtime/codex-exec/training/adapter.d.ts +13 -0
  67. package/dist/runtime/codex-exec/training/adapter.js +101 -0
  68. package/dist/runtime/codex-exec/training/adapter.js.map +1 -0
  69. package/dist/runtime/codex-exec/training/environment.d.ts +3 -0
  70. package/dist/runtime/codex-exec/training/environment.js +26 -0
  71. package/dist/runtime/codex-exec/training/environment.js.map +1 -0
  72. package/dist/runtime/codex-exec/training/index.d.ts +2 -0
  73. package/dist/runtime/codex-exec/training/index.js +3 -0
  74. package/dist/runtime/codex-exec/training/index.js.map +1 -0
  75. package/dist/runtime/codex-exec/training/protocol.d.ts +15 -0
  76. package/dist/runtime/codex-exec/training/protocol.js +102 -0
  77. package/dist/runtime/codex-exec/training/protocol.js.map +1 -0
  78. package/dist/runtime/codex-exec/training/providers/codex-subscription/index.d.ts +1 -0
  79. package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js +2 -0
  80. package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js.map +1 -0
  81. package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.d.ts +17 -0
  82. package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js +80 -0
  83. package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js.map +1 -0
  84. package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.d.ts +12 -0
  85. package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js +125 -0
  86. package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js.map +1 -0
  87. package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.d.ts +6 -0
  88. package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js +219 -0
  89. package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js.map +1 -0
  90. package/dist/runtime/container.js +1 -1
  91. package/dist/runtime/containerPackageOverrides.d.ts +2 -2
  92. package/dist/runtime/containerPackageOverrides.js +1 -1
  93. package/dist/runtime/daimon/adapter.js +9 -9
  94. package/dist/runtime/daimon/config.d.ts +2 -1
  95. package/dist/runtime/daimon/config.js +25 -25
  96. package/dist/runtime/daimon/contract-manifest.json +1 -1
  97. package/dist/runtime/daimon/contract-manifest.sha256 +1 -1
  98. package/dist/runtime/daimon/contractManifest.d.ts +206 -202
  99. package/dist/runtime/daimon/contractManifest.js +48 -145
  100. package/dist/runtime/daimon/contractManifest.js.map +1 -0
  101. package/dist/runtime/daimon/contractManifestSchema.d.ts +1455 -0
  102. package/dist/runtime/daimon/contractManifestSchema.js +19 -0
  103. package/dist/runtime/daimon/contractManifestSchema.js.map +1 -0
  104. package/dist/runtime/daimon/engineDescriptorSchema.d.ts +1826 -0
  105. package/dist/runtime/daimon/engineDescriptorSchema.js +107 -0
  106. package/dist/runtime/daimon/engineDescriptorSchema.js.map +1 -0
  107. package/dist/runtime/daimon/engineDescriptors.generated.d.ts +477 -0
  108. package/dist/runtime/daimon/engineDescriptors.generated.js +5 -0
  109. package/dist/runtime/daimon/engineDescriptors.generated.js.map +1 -0
  110. package/dist/runtime/daimon/engines.d.ts +664 -0
  111. package/dist/runtime/daimon/engines.js +25 -0
  112. package/dist/runtime/daimon/engines.js.map +1 -0
  113. package/dist/runtime/daimon/grokModel.d.ts +2 -1
  114. package/dist/runtime/daimon/grokModel.js +10 -7
  115. package/dist/runtime/daimon/grokSkillsSupport.js +2 -1
  116. package/dist/runtime/daimon/grokTurnLimits.js +3 -3
  117. package/dist/runtime/daimon/grokWorkerContract.d.ts +2 -2
  118. package/dist/runtime/daimon/grokWorkerContract.js +10 -9
  119. package/dist/runtime/daimon/index.d.ts +4 -0
  120. package/dist/runtime/daimon/index.js +5 -0
  121. package/dist/runtime/daimon/index.js.map +1 -0
  122. package/dist/runtime/daimon/packageName.d.ts +2 -0
  123. package/dist/runtime/daimon/packageName.js +3 -0
  124. package/dist/runtime/daimon/packageName.js.map +1 -0
  125. package/dist/runtime/daimon/runAuth.d.ts +4 -4
  126. package/dist/runtime/daimon/runAuth.js +71 -53
  127. package/dist/runtime/daimon/training/index.d.ts +2 -0
  128. package/dist/runtime/daimon/training/index.js +7 -0
  129. package/dist/runtime/daimon/training/index.js.map +1 -0
  130. package/dist/runtime/daimon/training/legacy/adapter.d.ts +11 -0
  131. package/dist/runtime/daimon/training/legacy/adapter.js +175 -0
  132. package/dist/runtime/daimon/training/legacy/adapter.js.map +1 -0
  133. package/dist/runtime/daimon/training/legacy/index.d.ts +2 -0
  134. package/dist/runtime/daimon/training/legacy/index.js +3 -0
  135. package/dist/runtime/daimon/training/legacy/index.js.map +1 -0
  136. package/dist/runtime/daimon/training/legacy/public.d.ts +49 -0
  137. package/dist/runtime/daimon/training/legacy/public.js +16 -0
  138. package/dist/runtime/daimon/training/legacy/public.js.map +1 -0
  139. package/dist/runtime/daimon/training/native/adapter.d.ts +18 -0
  140. package/dist/runtime/daimon/training/native/adapter.js +231 -0
  141. package/dist/runtime/daimon/training/native/adapter.js.map +1 -0
  142. package/dist/runtime/daimon/training/native/admission.d.ts +7 -0
  143. package/dist/runtime/daimon/training/native/admission.js +52 -0
  144. package/dist/runtime/daimon/training/native/admission.js.map +1 -0
  145. package/dist/runtime/daimon/training/native/child/arguments.d.ts +16 -0
  146. package/dist/runtime/daimon/training/native/child/arguments.js +69 -0
  147. package/dist/runtime/daimon/training/native/child/arguments.js.map +1 -0
  148. package/dist/runtime/daimon/training/native/child/deferred-trial.d.ts +24 -0
  149. package/dist/runtime/daimon/training/native/child/deferred-trial.js +63 -0
  150. package/dist/runtime/daimon/training/native/child/deferred-trial.js.map +1 -0
  151. package/dist/runtime/daimon/training/native/child/diagnostics.d.ts +58 -0
  152. package/dist/runtime/daimon/training/native/child/diagnostics.js +215 -0
  153. package/dist/runtime/daimon/training/native/child/diagnostics.js.map +1 -0
  154. package/dist/runtime/daimon/training/native/child/fixture.d.ts +16 -0
  155. package/dist/runtime/daimon/training/native/child/fixture.js +157 -0
  156. package/dist/runtime/daimon/training/native/child/fixture.js.map +1 -0
  157. package/dist/runtime/daimon/training/native/child/grok.d.ts +14 -0
  158. package/dist/runtime/daimon/training/native/child/grok.js +47 -0
  159. package/dist/runtime/daimon/training/native/child/grok.js.map +1 -0
  160. package/dist/runtime/daimon/training/native/child/index.d.ts +7 -0
  161. package/dist/runtime/daimon/training/native/child/index.js +5 -0
  162. package/dist/runtime/daimon/training/native/child/index.js.map +1 -0
  163. package/dist/runtime/daimon/training/native/child/lifecycle.d.ts +40 -0
  164. package/dist/runtime/daimon/training/native/child/lifecycle.js +391 -0
  165. package/dist/runtime/daimon/training/native/child/lifecycle.js.map +1 -0
  166. package/dist/runtime/daimon/training/native/child/probe.d.ts +2 -0
  167. package/dist/runtime/daimon/training/native/child/probe.js +11 -0
  168. package/dist/runtime/daimon/training/native/child/probe.js.map +1 -0
  169. package/dist/runtime/daimon/training/native/child/sandbox.d.ts +4 -0
  170. package/dist/runtime/daimon/training/native/child/sandbox.js +76 -0
  171. package/dist/runtime/daimon/training/native/child/sandbox.js.map +1 -0
  172. package/dist/runtime/daimon/training/native/child/types.d.ts +15 -0
  173. package/dist/runtime/daimon/training/native/child/types.js +2 -0
  174. package/dist/runtime/daimon/training/native/child/types.js.map +1 -0
  175. package/dist/runtime/daimon/training/native/container/docker.d.ts +29 -0
  176. package/dist/runtime/daimon/training/native/container/docker.js +105 -0
  177. package/dist/runtime/daimon/training/native/container/docker.js.map +1 -0
  178. package/dist/runtime/daimon/training/native/container/grok-slot.d.ts +22 -0
  179. package/dist/runtime/daimon/training/native/container/grok-slot.js +38 -0
  180. package/dist/runtime/daimon/training/native/container/grok-slot.js.map +1 -0
  181. package/dist/runtime/daimon/training/native/container/index.d.ts +6 -0
  182. package/dist/runtime/daimon/training/native/container/index.js +6 -0
  183. package/dist/runtime/daimon/training/native/container/index.js.map +1 -0
  184. package/dist/runtime/daimon/training/native/container/lifecycle.d.ts +8 -0
  185. package/dist/runtime/daimon/training/native/container/lifecycle.js +110 -0
  186. package/dist/runtime/daimon/training/native/container/lifecycle.js.map +1 -0
  187. package/dist/runtime/daimon/training/native/container/manifest.d.ts +17 -0
  188. package/dist/runtime/daimon/training/native/container/manifest.js +144 -0
  189. package/dist/runtime/daimon/training/native/container/manifest.js.map +1 -0
  190. package/dist/runtime/daimon/training/native/container/native-preflight.d.ts +8 -0
  191. package/dist/runtime/daimon/training/native/container/native-preflight.js +40 -0
  192. package/dist/runtime/daimon/training/native/container/native-preflight.js.map +1 -0
  193. package/dist/runtime/daimon/training/native/container/preflight.d.ts +15 -0
  194. package/dist/runtime/daimon/training/native/container/preflight.js +79 -0
  195. package/dist/runtime/daimon/training/native/container/preflight.js.map +1 -0
  196. package/dist/runtime/daimon/training/native/container/slot.d.ts +4 -0
  197. package/dist/runtime/daimon/training/native/container/slot.js +58 -0
  198. package/dist/runtime/daimon/training/native/container/slot.js.map +1 -0
  199. package/dist/runtime/daimon/training/native/external.d.ts +37 -0
  200. package/dist/runtime/daimon/training/native/external.js +75 -0
  201. package/dist/runtime/daimon/training/native/external.js.map +1 -0
  202. package/dist/runtime/daimon/training/native/grants/authority.d.ts +36 -0
  203. package/dist/runtime/daimon/training/native/grants/authority.js +49 -0
  204. package/dist/runtime/daimon/training/native/grants/authority.js.map +1 -0
  205. package/dist/runtime/daimon/training/native/grants/index.d.ts +2 -0
  206. package/dist/runtime/daimon/training/native/grants/index.js +3 -0
  207. package/dist/runtime/daimon/training/native/grants/index.js.map +1 -0
  208. package/dist/runtime/daimon/training/native/grants/pins.d.ts +30 -0
  209. package/dist/runtime/daimon/training/native/grants/pins.js +20 -0
  210. package/dist/runtime/daimon/training/native/grants/pins.js.map +1 -0
  211. package/dist/runtime/daimon/training/native/grants/test-socket.d.ts +6 -0
  212. package/dist/runtime/daimon/training/native/grants/test-socket.js +35 -0
  213. package/dist/runtime/daimon/training/native/grants/test-socket.js.map +1 -0
  214. package/dist/runtime/daimon/training/native/grok-fixtures.d.ts +34 -0
  215. package/dist/runtime/daimon/training/native/grok-fixtures.js +179 -0
  216. package/dist/runtime/daimon/training/native/grok-fixtures.js.map +1 -0
  217. package/dist/runtime/daimon/training/native/index.d.ts +38 -0
  218. package/dist/runtime/daimon/training/native/index.js +27 -0
  219. package/dist/runtime/daimon/training/native/index.js.map +1 -0
  220. package/dist/runtime/daimon/training/native/live-checkout.d.ts +2 -0
  221. package/dist/runtime/daimon/training/native/live-checkout.js +15 -0
  222. package/dist/runtime/daimon/training/native/live-checkout.js.map +1 -0
  223. package/dist/runtime/daimon/training/native/observations.d.ts +51 -0
  224. package/dist/runtime/daimon/training/native/observations.js +217 -0
  225. package/dist/runtime/daimon/training/native/observations.js.map +1 -0
  226. package/dist/runtime/daimon/training/native/outcome.d.ts +13 -0
  227. package/dist/runtime/daimon/training/native/outcome.js +37 -0
  228. package/dist/runtime/daimon/training/native/outcome.js.map +1 -0
  229. package/dist/runtime/daimon/training/native/preparation/engine-config.d.ts +21 -0
  230. package/dist/runtime/daimon/training/native/preparation/engine-config.js +30 -0
  231. package/dist/runtime/daimon/training/native/preparation/engine-config.js.map +1 -0
  232. package/dist/runtime/daimon/training/native/preparation/fixtures.d.ts +17 -0
  233. package/dist/runtime/daimon/training/native/preparation/fixtures.js +50 -0
  234. package/dist/runtime/daimon/training/native/preparation/fixtures.js.map +1 -0
  235. package/dist/runtime/daimon/training/native/preparation/index.d.ts +7 -0
  236. package/dist/runtime/daimon/training/native/preparation/index.js +5 -0
  237. package/dist/runtime/daimon/training/native/preparation/index.js.map +1 -0
  238. package/dist/runtime/daimon/training/native/preparation/layout.d.ts +66 -0
  239. package/dist/runtime/daimon/training/native/preparation/layout.js +87 -0
  240. package/dist/runtime/daimon/training/native/preparation/layout.js.map +1 -0
  241. package/dist/runtime/daimon/training/native/preparation/subject.d.ts +14 -0
  242. package/dist/runtime/daimon/training/native/preparation/subject.js +67 -0
  243. package/dist/runtime/daimon/training/native/preparation/subject.js.map +1 -0
  244. package/dist/runtime/daimon/training/native/preparation/types.d.ts +69 -0
  245. package/dist/runtime/daimon/training/native/preparation/types.js +2 -0
  246. package/dist/runtime/daimon/training/native/preparation/types.js.map +1 -0
  247. package/dist/runtime/daimon/training/native/receipt/artifacts.d.ts +25 -0
  248. package/dist/runtime/daimon/training/native/receipt/artifacts.js +32 -0
  249. package/dist/runtime/daimon/training/native/receipt/artifacts.js.map +1 -0
  250. package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.d.ts +129 -0
  251. package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js +45 -0
  252. package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js.map +1 -0
  253. package/dist/runtime/daimon/training/native/receipt/grok.d.ts +246 -0
  254. package/dist/runtime/daimon/training/native/receipt/grok.js +195 -0
  255. package/dist/runtime/daimon/training/native/receipt/grok.js.map +1 -0
  256. package/dist/runtime/daimon/training/native/receipt/index.d.ts +10 -0
  257. package/dist/runtime/daimon/training/native/receipt/index.js +7 -0
  258. package/dist/runtime/daimon/training/native/receipt/index.js.map +1 -0
  259. package/dist/runtime/daimon/training/native/receipt/paths.d.ts +3 -0
  260. package/dist/runtime/daimon/training/native/receipt/paths.js +18 -0
  261. package/dist/runtime/daimon/training/native/receipt/paths.js.map +1 -0
  262. package/dist/runtime/daimon/training/native/receipt/sandbox.d.ts +42 -0
  263. package/dist/runtime/daimon/training/native/receipt/sandbox.js +35 -0
  264. package/dist/runtime/daimon/training/native/receipt/sandbox.js.map +1 -0
  265. package/dist/runtime/daimon/training/native/receipt/schema.d.ts +486 -0
  266. package/dist/runtime/daimon/training/native/receipt/schema.js +138 -0
  267. package/dist/runtime/daimon/training/native/receipt/schema.js.map +1 -0
  268. package/dist/runtime/daimon/training/native/receipt/task-clock.d.ts +19 -0
  269. package/dist/runtime/daimon/training/native/receipt/task-clock.js +49 -0
  270. package/dist/runtime/daimon/training/native/receipt/task-clock.js.map +1 -0
  271. package/dist/runtime/daimon/training/native/sealed-usage.d.ts +218 -0
  272. package/dist/runtime/daimon/training/native/sealed-usage.js +261 -0
  273. package/dist/runtime/daimon/training/native/sealed-usage.js.map +1 -0
  274. package/dist/runtime/daimon/training/native/test-fixtures.d.ts +27 -0
  275. package/dist/runtime/daimon/training/native/test-fixtures.js +158 -0
  276. package/dist/runtime/daimon/training/native/test-fixtures.js.map +1 -0
  277. package/dist/runtime/daimon/training/native/transcript.d.ts +96 -0
  278. package/dist/runtime/daimon/training/native/transcript.js +239 -0
  279. package/dist/runtime/daimon/training/native/transcript.js.map +1 -0
  280. package/dist/runtime/daimon/training/native/transport/delivery.d.ts +27 -0
  281. package/dist/runtime/daimon/training/native/transport/delivery.js +98 -0
  282. package/dist/runtime/daimon/training/native/transport/delivery.js.map +1 -0
  283. package/dist/runtime/daimon/training/native/transport/http.d.ts +3 -0
  284. package/dist/runtime/daimon/training/native/transport/http.js +81 -0
  285. package/dist/runtime/daimon/training/native/transport/http.js.map +1 -0
  286. package/dist/runtime/daimon/training/native/transport/index.d.ts +4 -0
  287. package/dist/runtime/daimon/training/native/transport/index.js +3 -0
  288. package/dist/runtime/daimon/training/native/transport/index.js.map +1 -0
  289. package/dist/runtime/daimon/training/native/transport/types.d.ts +15 -0
  290. package/dist/runtime/daimon/training/native/transport/types.js +2 -0
  291. package/dist/runtime/daimon/training/native/transport/types.js.map +1 -0
  292. package/dist/runtime/daimon/training/native/worker/cli.d.ts +1 -0
  293. package/dist/runtime/daimon/training/native/worker/cli.js +17 -0
  294. package/dist/runtime/daimon/training/native/worker/cli.js.map +1 -0
  295. package/dist/runtime/daimon/training/native/worker/control.d.ts +20 -0
  296. package/dist/runtime/daimon/training/native/worker/control.js +266 -0
  297. package/dist/runtime/daimon/training/native/worker/control.js.map +1 -0
  298. package/dist/runtime/daimon/training/native/worker/deliveries.d.ts +38 -0
  299. package/dist/runtime/daimon/training/native/worker/deliveries.js +91 -0
  300. package/dist/runtime/daimon/training/native/worker/deliveries.js.map +1 -0
  301. package/dist/runtime/daimon/training/native/worker/evidence/collect.d.ts +54 -0
  302. package/dist/runtime/daimon/training/native/worker/evidence/collect.js +278 -0
  303. package/dist/runtime/daimon/training/native/worker/evidence/collect.js.map +1 -0
  304. package/dist/runtime/daimon/training/native/worker/evidence/execution.d.ts +102 -0
  305. package/dist/runtime/daimon/training/native/worker/evidence/execution.js +191 -0
  306. package/dist/runtime/daimon/training/native/worker/evidence/execution.js.map +1 -0
  307. package/dist/runtime/daimon/training/native/worker/evidence/index.d.ts +3 -0
  308. package/dist/runtime/daimon/training/native/worker/evidence/index.js +4 -0
  309. package/dist/runtime/daimon/training/native/worker/evidence/index.js.map +1 -0
  310. package/dist/runtime/daimon/training/native/worker/evidence/io.d.ts +20 -0
  311. package/dist/runtime/daimon/training/native/worker/evidence/io.js +130 -0
  312. package/dist/runtime/daimon/training/native/worker/evidence/io.js.map +1 -0
  313. package/dist/runtime/daimon/training/native/worker/evidence/seal.d.ts +3 -0
  314. package/dist/runtime/daimon/training/native/worker/evidence/seal.js +67 -0
  315. package/dist/runtime/daimon/training/native/worker/evidence/seal.js.map +1 -0
  316. package/dist/runtime/daimon/training/native/worker/index.d.ts +11 -0
  317. package/dist/runtime/daimon/training/native/worker/index.js +8 -0
  318. package/dist/runtime/daimon/training/native/worker/index.js.map +1 -0
  319. package/dist/runtime/daimon/training/native/worker/profile.d.ts +23 -0
  320. package/dist/runtime/daimon/training/native/worker/profile.js +149 -0
  321. package/dist/runtime/daimon/training/native/worker/profile.js.map +1 -0
  322. package/dist/runtime/daimon/training/native/worker/public.d.ts +41 -0
  323. package/dist/runtime/daimon/training/native/worker/public.js +22 -0
  324. package/dist/runtime/daimon/training/native/worker/public.js.map +1 -0
  325. package/dist/runtime/daimon/training/native/worker/sandbox.d.ts +4 -0
  326. package/dist/runtime/daimon/training/native/worker/sandbox.js +52 -0
  327. package/dist/runtime/daimon/training/native/worker/sandbox.js.map +1 -0
  328. package/dist/runtime/daimon/training/native/worker/server.d.ts +4 -0
  329. package/dist/runtime/daimon/training/native/worker/server.js +102 -0
  330. package/dist/runtime/daimon/training/native/worker/server.js.map +1 -0
  331. package/dist/runtime/daimon/training/native/worker/types.d.ts +318 -0
  332. package/dist/runtime/daimon/training/native/worker/types.js +2 -0
  333. package/dist/runtime/daimon/training/native/worker/types.js.map +1 -0
  334. package/dist/runtime/daimon/training/native/worker/wake-delivery/index.d.ts +4 -0
  335. package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js +4 -0
  336. package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js.map +1 -0
  337. package/dist/runtime/daimon/training/native/worker/wake-delivery/source.d.ts +3 -0
  338. package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js +16 -0
  339. package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js.map +1 -0
  340. package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.d.ts +4 -0
  341. package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js +52 -0
  342. package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js.map +1 -0
  343. package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.d.ts +21 -0
  344. package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js +198 -0
  345. package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js.map +1 -0
  346. package/dist/runtime/daimon/training/native/worker/wake-delivery/types.d.ts +91 -0
  347. package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js +2 -0
  348. package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js.map +1 -0
  349. package/dist/runtime/daimon/training/native/worker/worker.d.ts +1 -0
  350. package/dist/runtime/daimon/training/native/worker/worker.js +103 -0
  351. package/dist/runtime/daimon/training/native/worker/worker.js.map +1 -0
  352. package/dist/runtime/daimon/training/providers/grok-broker/broker.d.ts +20 -0
  353. package/dist/runtime/daimon/training/providers/grok-broker/broker.js +55 -0
  354. package/dist/runtime/daimon/training/providers/grok-broker/broker.js.map +1 -0
  355. package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.d.ts +15 -0
  356. package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js +29 -0
  357. package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js.map +1 -0
  358. package/dist/runtime/daimon/training/providers/grok-broker/grant-home.d.ts +16 -0
  359. package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js +60 -0
  360. package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js.map +1 -0
  361. package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.d.ts +81 -0
  362. package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js +221 -0
  363. package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js.map +1 -0
  364. package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.d.ts +31 -0
  365. package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js +78 -0
  366. package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js.map +1 -0
  367. package/dist/runtime/daimon/training/providers/grok-broker/grants.d.ts +63 -0
  368. package/dist/runtime/daimon/training/providers/grok-broker/grants.js +20 -0
  369. package/dist/runtime/daimon/training/providers/grok-broker/grants.js.map +1 -0
  370. package/dist/runtime/daimon/training/providers/grok-broker/index.d.ts +3 -0
  371. package/dist/runtime/daimon/training/providers/grok-broker/index.js +4 -0
  372. package/dist/runtime/daimon/training/providers/grok-broker/index.js.map +1 -0
  373. package/dist/runtime/daimon/training/providers/grok-subscription/cli.d.ts +21 -0
  374. package/dist/runtime/daimon/training/providers/grok-subscription/cli.js +81 -0
  375. package/dist/runtime/daimon/training/providers/grok-subscription/cli.js.map +1 -0
  376. package/dist/runtime/daimon/training/providers/grok-subscription/index.d.ts +4 -0
  377. package/dist/runtime/daimon/training/providers/grok-subscription/index.js +5 -0
  378. package/dist/runtime/daimon/training/providers/grok-subscription/index.js.map +1 -0
  379. package/dist/runtime/daimon/training/providers/grok-subscription/protocol.d.ts +26 -0
  380. package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js +102 -0
  381. package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js.map +1 -0
  382. package/dist/runtime/daimon/training/providers/grok-subscription/provider.d.ts +9 -0
  383. package/dist/runtime/daimon/training/providers/grok-subscription/provider.js +38 -0
  384. package/dist/runtime/daimon/training/providers/grok-subscription/provider.js.map +1 -0
  385. package/dist/runtime/daimon/training/services/freshness.d.ts +15 -0
  386. package/dist/runtime/daimon/training/services/freshness.js +19 -0
  387. package/dist/runtime/daimon/training/services/freshness.js.map +1 -0
  388. package/dist/runtime/daimon/training/services/index.d.ts +3 -0
  389. package/dist/runtime/daimon/training/services/index.js +3 -0
  390. package/dist/runtime/daimon/training/services/index.js.map +1 -0
  391. package/dist/runtime/daimon/training/services/slot-freshness.d.ts +34 -0
  392. package/dist/runtime/daimon/training/services/slot-freshness.js +178 -0
  393. package/dist/runtime/daimon/training/services/slot-freshness.js.map +1 -0
  394. package/dist/runtime/daimon/wakeMoments.js +1 -0
  395. package/dist/runtime/daimon/wakeMoments.js.map +1 -0
  396. package/dist/runtime/pi/appPreludeSource.js +3 -2
  397. package/dist/runtime/pi/appTemplate.d.ts +1 -1
  398. package/dist/runtime/pi/appTemplate.js +2 -1
  399. package/dist/runtime/registry.d.ts +6 -0
  400. package/dist/runtime/registry.js +2 -0
  401. package/dist/runtime/trainingCli.d.ts +5 -0
  402. package/dist/runtime/trainingCli.js +23 -0
  403. package/dist/runtime/trainingGraderProviders.d.ts +4 -0
  404. package/dist/runtime/trainingGraderProviders.js +55 -0
  405. package/dist/runtime/trainingProviders.d.ts +4 -0
  406. package/dist/runtime/trainingProviders.js +89 -0
  407. package/dist/runtime/trainingSubjects.d.ts +129 -0
  408. package/dist/runtime/trainingSubjects.js +32 -0
  409. package/dist/shared/daimonCodexDocker.js +9 -10
  410. package/dist/shared/errors.js +1 -0
  411. package/dist/shared/errors.js.map +1 -0
  412. package/dist/shared/index.d.ts +1 -0
  413. package/dist/shared/index.js +1 -0
  414. package/dist/shared/trainingLegacy/index.d.ts +5 -0
  415. package/dist/shared/trainingLegacy/index.js +6 -0
  416. package/dist/shared/trainingLegacy/index.js.map +1 -0
  417. package/dist/shared/trainingLegacy/trainingLegacyEnvironment.d.ts +6 -0
  418. package/dist/shared/trainingLegacy/trainingLegacyEnvironment.js +40 -0
  419. package/dist/shared/trainingLegacy/trainingLegacyEnvironment.js.map +1 -0
  420. package/dist/shared/trainingLegacy/trainingLegacyFiles.d.ts +4 -0
  421. package/dist/shared/trainingLegacy/trainingLegacyFiles.js +34 -0
  422. package/dist/shared/trainingLegacy/trainingLegacyFiles.js.map +1 -0
  423. package/dist/shared/trainingLegacy/trainingLegacyGraderProviders.d.ts +5 -0
  424. package/dist/shared/trainingLegacy/trainingLegacyGraderProviders.js +6 -0
  425. package/dist/shared/trainingLegacy/trainingLegacyGraderProviders.js.map +1 -0
  426. package/dist/shared/trainingLegacy/trainingLegacyHashDomains.d.ts +39 -0
  427. package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js +41 -0
  428. package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js.map +1 -0
  429. package/dist/shared/trainingLegacy/trainingLegacyWire.d.ts +15 -0
  430. package/dist/shared/trainingLegacy/trainingLegacyWire.js +21 -0
  431. package/dist/shared/trainingLegacy/trainingLegacyWire.js.map +1 -0
  432. package/dist/shared/trainingLegacy/trainingLegacyWireAliases.json +90 -0
  433. package/dist/target/contracts.d.ts +2 -2
  434. package/dist/training/candidates/authored.d.ts +3 -0
  435. package/dist/training/candidates/authored.js +27 -0
  436. package/dist/training/candidates/authored.js.map +1 -0
  437. package/dist/training/candidates/derive.d.ts +3 -0
  438. package/dist/training/candidates/derive.js +66 -0
  439. package/dist/training/candidates/derive.js.map +1 -0
  440. package/dist/training/candidates/filesystem.d.ts +7 -0
  441. package/dist/training/candidates/filesystem.js +41 -0
  442. package/dist/training/candidates/filesystem.js.map +1 -0
  443. package/dist/training/candidates/headings.d.ts +9 -0
  444. package/dist/training/candidates/headings.js +47 -0
  445. package/dist/training/candidates/headings.js.map +1 -0
  446. package/dist/training/candidates/identity.d.ts +6 -0
  447. package/dist/training/candidates/identity.js +29 -0
  448. package/dist/training/candidates/identity.js.map +1 -0
  449. package/dist/training/candidates/index.d.ts +6 -0
  450. package/dist/training/candidates/index.js +6 -0
  451. package/dist/training/candidates/index.js.map +1 -0
  452. package/dist/training/candidates/materialize.d.ts +2 -0
  453. package/dist/training/candidates/materialize.js +39 -0
  454. package/dist/training/candidates/materialize.js.map +1 -0
  455. package/dist/training/candidates/snapshot.d.ts +5 -0
  456. package/dist/training/candidates/snapshot.js +22 -0
  457. package/dist/training/candidates/snapshot.js.map +1 -0
  458. package/dist/training/candidates/types.d.ts +41 -0
  459. package/dist/training/candidates/types.js +2 -0
  460. package/dist/training/candidates/types.js.map +1 -0
  461. package/dist/training/candidates/validation.d.ts +4 -0
  462. package/dist/training/candidates/validation.js +89 -0
  463. package/dist/training/candidates/validation.js.map +1 -0
  464. package/dist/training/capture/index.d.ts +2 -0
  465. package/dist/training/capture/index.js +2 -0
  466. package/dist/training/capture/index.js.map +1 -0
  467. package/dist/training/capture/trace.d.ts +16 -0
  468. package/dist/training/capture/trace.js +74 -0
  469. package/dist/training/capture/trace.js.map +1 -0
  470. package/dist/training/cases/builtin-evaluators.d.ts +2 -0
  471. package/dist/training/cases/builtin-evaluators.js +120 -0
  472. package/dist/training/cases/builtin-evaluators.js.map +1 -0
  473. package/dist/training/cases/check-schema.d.ts +2 -0
  474. package/dist/training/cases/check-schema.js +60 -0
  475. package/dist/training/cases/check-schema.js.map +1 -0
  476. package/dist/training/cases/cost-projection.d.ts +27 -0
  477. package/dist/training/cases/cost-projection.js +29 -0
  478. package/dist/training/cases/cost-projection.js.map +1 -0
  479. package/dist/training/cases/fixtures.d.ts +5 -0
  480. package/dist/training/cases/fixtures.js +134 -0
  481. package/dist/training/cases/fixtures.js.map +1 -0
  482. package/dist/training/cases/grader.d.ts +14 -0
  483. package/dist/training/cases/grader.js +122 -0
  484. package/dist/training/cases/grader.js.map +1 -0
  485. package/dist/training/cases/index.d.ts +12 -0
  486. package/dist/training/cases/index.js +11 -0
  487. package/dist/training/cases/index.js.map +1 -0
  488. package/dist/training/cases/json-schema.d.ts +3 -0
  489. package/dist/training/cases/json-schema.js +6 -0
  490. package/dist/training/cases/json-schema.js.map +1 -0
  491. package/dist/training/cases/parser.d.ts +6 -0
  492. package/dist/training/cases/parser.js +45 -0
  493. package/dist/training/cases/parser.js.map +1 -0
  494. package/dist/training/cases/plans.d.ts +14 -0
  495. package/dist/training/cases/plans.js +186 -0
  496. package/dist/training/cases/plans.js.map +1 -0
  497. package/dist/training/cases/resolver.d.ts +5 -0
  498. package/dist/training/cases/resolver.js +90 -0
  499. package/dist/training/cases/resolver.js.map +1 -0
  500. package/dist/training/cases/schema.d.ts +5 -0
  501. package/dist/training/cases/schema.js +154 -0
  502. package/dist/training/cases/schema.js.map +1 -0
  503. package/dist/training/cases/splits.d.ts +16 -0
  504. package/dist/training/cases/splits.js +71 -0
  505. package/dist/training/cases/splits.js.map +1 -0
  506. package/dist/training/cases/text-checks.d.ts +3 -0
  507. package/dist/training/cases/text-checks.js +50 -0
  508. package/dist/training/cases/text-checks.js.map +1 -0
  509. package/dist/training/cases/training/identity.d.ts +6 -0
  510. package/dist/training/cases/training/identity.js +26 -0
  511. package/dist/training/cases/training/identity.js.map +1 -0
  512. package/dist/training/cases/training/index.d.ts +2 -0
  513. package/dist/training/cases/training/index.js +3 -0
  514. package/dist/training/cases/training/index.js.map +1 -0
  515. package/dist/training/cases/training/schema.d.ts +4 -0
  516. package/dist/training/cases/training/schema.js +207 -0
  517. package/dist/training/cases/training/schema.js.map +1 -0
  518. package/dist/training/cases/turn-bindings.d.ts +3 -0
  519. package/dist/training/cases/turn-bindings.js +61 -0
  520. package/dist/training/cases/turn-bindings.js.map +1 -0
  521. package/dist/training/cases/validation.d.ts +17 -0
  522. package/dist/training/cases/validation.js +92 -0
  523. package/dist/training/cases/validation.js.map +1 -0
  524. package/dist/training/cli/arguments.d.ts +18 -0
  525. package/dist/training/cli/arguments.js +165 -0
  526. package/dist/training/cli/arguments.js.map +1 -0
  527. package/dist/training/cli/commands.d.ts +3 -0
  528. package/dist/training/cli/commands.js +255 -0
  529. package/dist/training/cli/commands.js.map +1 -0
  530. package/dist/training/cli/datasets.d.ts +30 -0
  531. package/dist/training/cli/datasets.js +116 -0
  532. package/dist/training/cli/datasets.js.map +1 -0
  533. package/dist/training/cli/dry-run.d.ts +7 -0
  534. package/dist/training/cli/dry-run.js +37 -0
  535. package/dist/training/cli/dry-run.js.map +1 -0
  536. package/dist/training/cli/grader/atomic/decompose.d.ts +43 -0
  537. package/dist/training/cli/grader/atomic/decompose.js +208 -0
  538. package/dist/training/cli/grader/atomic/decompose.js.map +1 -0
  539. package/dist/training/cli/grader/atomic/files.d.ts +159 -0
  540. package/dist/training/cli/grader/atomic/files.js +97 -0
  541. package/dist/training/cli/grader/atomic/files.js.map +1 -0
  542. package/dist/training/cli/grader/atomic/index.d.ts +8 -0
  543. package/dist/training/cli/grader/atomic/index.js +34 -0
  544. package/dist/training/cli/grader/atomic/index.js.map +1 -0
  545. package/dist/training/cli/grader/atomic/reference.d.ts +131 -0
  546. package/dist/training/cli/grader/atomic/reference.js +133 -0
  547. package/dist/training/cli/grader/atomic/reference.js.map +1 -0
  548. package/dist/training/cli/grader/atomic/runtime.d.ts +3 -0
  549. package/dist/training/cli/grader/atomic/runtime.js +91 -0
  550. package/dist/training/cli/grader/atomic/runtime.js.map +1 -0
  551. package/dist/training/cli/grader/atomic/traps.d.ts +15 -0
  552. package/dist/training/cli/grader/atomic/traps.js +38 -0
  553. package/dist/training/cli/grader/atomic/traps.js.map +1 -0
  554. package/dist/training/cli/grader/backend.d.ts +19 -0
  555. package/dist/training/cli/grader/backend.js +39 -0
  556. package/dist/training/cli/grader/backend.js.map +1 -0
  557. package/dist/training/cli/grader/cache.d.ts +2 -0
  558. package/dist/training/cli/grader/cache.js +75 -0
  559. package/dist/training/cli/grader/cache.js.map +1 -0
  560. package/dist/training/cli/grader/calibrate.d.ts +19 -0
  561. package/dist/training/cli/grader/calibrate.js +237 -0
  562. package/dist/training/cli/grader/calibrate.js.map +1 -0
  563. package/dist/training/cli/grader/cost.d.ts +24 -0
  564. package/dist/training/cli/grader/cost.js +54 -0
  565. package/dist/training/cli/grader/cost.js.map +1 -0
  566. package/dist/training/cli/grader/exclusions.d.ts +12 -0
  567. package/dist/training/cli/grader/exclusions.js +49 -0
  568. package/dist/training/cli/grader/exclusions.js.map +1 -0
  569. package/dist/training/cli/grader/grade.d.ts +26 -0
  570. package/dist/training/cli/grader/grade.js +33 -0
  571. package/dist/training/cli/grader/grade.js.map +1 -0
  572. package/dist/training/cli/grader/index.d.ts +10 -0
  573. package/dist/training/cli/grader/index.js +73 -0
  574. package/dist/training/cli/grader/index.js.map +1 -0
  575. package/dist/training/cli/grader/label-call.d.ts +13 -0
  576. package/dist/training/cli/grader/label-call.js +67 -0
  577. package/dist/training/cli/grader/label-call.js.map +1 -0
  578. package/dist/training/cli/grader/label-import.d.ts +16 -0
  579. package/dist/training/cli/grader/label-import.js +84 -0
  580. package/dist/training/cli/grader/label-import.js.map +1 -0
  581. package/dist/training/cli/grader/label-inputs.d.ts +9 -0
  582. package/dist/training/cli/grader/label-inputs.js +56 -0
  583. package/dist/training/cli/grader/label-inputs.js.map +1 -0
  584. package/dist/training/cli/grader/label.d.ts +25 -0
  585. package/dist/training/cli/grader/label.js +172 -0
  586. package/dist/training/cli/grader/label.js.map +1 -0
  587. package/dist/training/cli/grader/records.d.ts +20 -0
  588. package/dist/training/cli/grader/records.js +65 -0
  589. package/dist/training/cli/grader/records.js.map +1 -0
  590. package/dist/training/cli/grader/report.d.ts +26 -0
  591. package/dist/training/cli/grader/report.js +42 -0
  592. package/dist/training/cli/grader/report.js.map +1 -0
  593. package/dist/training/cli/grader/runtime.d.ts +5 -0
  594. package/dist/training/cli/grader/runtime.js +64 -0
  595. package/dist/training/cli/grader/runtime.js.map +1 -0
  596. package/dist/training/cli/grader/validate.d.ts +5 -0
  597. package/dist/training/cli/grader/validate.js +42 -0
  598. package/dist/training/cli/grader/validate.js.map +1 -0
  599. package/dist/training/cli/index.d.ts +6 -0
  600. package/dist/training/cli/index.js +4 -0
  601. package/dist/training/cli/index.js.map +1 -0
  602. package/dist/training/cli/launch.d.ts +3 -0
  603. package/dist/training/cli/launch.js +17 -0
  604. package/dist/training/cli/launch.js.map +1 -0
  605. package/dist/training/cli/native.d.ts +235 -0
  606. package/dist/training/cli/native.js +83 -0
  607. package/dist/training/cli/native.js.map +1 -0
  608. package/dist/training/cli/output.d.ts +21 -0
  609. package/dist/training/cli/output.js +95 -0
  610. package/dist/training/cli/output.js.map +1 -0
  611. package/dist/training/cli/progress/activity.d.ts +11 -0
  612. package/dist/training/cli/progress/activity.js +45 -0
  613. package/dist/training/cli/progress/activity.js.map +1 -0
  614. package/dist/training/cli/progress/failure.d.ts +37 -0
  615. package/dist/training/cli/progress/failure.js +48 -0
  616. package/dist/training/cli/progress/failure.js.map +1 -0
  617. package/dist/training/cli/progress/generations.d.ts +11 -0
  618. package/dist/training/cli/progress/generations.js +50 -0
  619. package/dist/training/cli/progress/generations.js.map +1 -0
  620. package/dist/training/cli/progress/index.d.ts +6 -0
  621. package/dist/training/cli/progress/index.js +5 -0
  622. package/dist/training/cli/progress/index.js.map +1 -0
  623. package/dist/training/cli/progress/journal.d.ts +38 -0
  624. package/dist/training/cli/progress/journal.js +101 -0
  625. package/dist/training/cli/progress/journal.js.map +1 -0
  626. package/dist/training/cli/report/diff.d.ts +2 -0
  627. package/dist/training/cli/report/diff.js +24 -0
  628. package/dist/training/cli/report/diff.js.map +1 -0
  629. package/dist/training/cli/report/export.d.ts +9 -0
  630. package/dist/training/cli/report/export.js +81 -0
  631. package/dist/training/cli/report/export.js.map +1 -0
  632. package/dist/training/cli/report/fixture.d.ts +9 -0
  633. package/dist/training/cli/report/fixture.js +65 -0
  634. package/dist/training/cli/report/fixture.js.map +1 -0
  635. package/dist/training/cli/report/index.d.ts +1 -0
  636. package/dist/training/cli/report/index.js +2 -0
  637. package/dist/training/cli/report/index.js.map +1 -0
  638. package/dist/training/cli/report/markdown.d.ts +2 -0
  639. package/dist/training/cli/report/markdown.js +60 -0
  640. package/dist/training/cli/report/markdown.js.map +1 -0
  641. package/dist/training/cli/report/summary.d.ts +130 -0
  642. package/dist/training/cli/report/summary.js +165 -0
  643. package/dist/training/cli/report/summary.js.map +1 -0
  644. package/dist/training/cli/spawnfile/context.d.ts +75 -0
  645. package/dist/training/cli/spawnfile/context.js +78 -0
  646. package/dist/training/cli/spawnfile/context.js.map +1 -0
  647. package/dist/training/cli/spawnfile/index.d.ts +5 -0
  648. package/dist/training/cli/spawnfile/index.js +4 -0
  649. package/dist/training/cli/spawnfile/index.js.map +1 -0
  650. package/dist/training/cli/spawnfile/moments.d.ts +44 -0
  651. package/dist/training/cli/spawnfile/moments.js +71 -0
  652. package/dist/training/cli/spawnfile/moments.js.map +1 -0
  653. package/dist/training/cli/spawnfile/selection.d.ts +83 -0
  654. package/dist/training/cli/spawnfile/selection.js +54 -0
  655. package/dist/training/cli/spawnfile/selection.js.map +1 -0
  656. package/dist/training/cli/training/cache.d.ts +4 -0
  657. package/dist/training/cli/training/cache.js +43 -0
  658. package/dist/training/cli/training/cache.js.map +1 -0
  659. package/dist/training/cli/training/checkpoint.d.ts +19 -0
  660. package/dist/training/cli/training/checkpoint.js +62 -0
  661. package/dist/training/cli/training/checkpoint.js.map +1 -0
  662. package/dist/training/cli/training/comparison.d.ts +8 -0
  663. package/dist/training/cli/training/comparison.js +22 -0
  664. package/dist/training/cli/training/comparison.js.map +1 -0
  665. package/dist/training/cli/training/configuration.d.ts +10 -0
  666. package/dist/training/cli/training/configuration.js +81 -0
  667. package/dist/training/cli/training/configuration.js.map +1 -0
  668. package/dist/training/cli/training/deadlines.d.ts +7 -0
  669. package/dist/training/cli/training/deadlines.js +14 -0
  670. package/dist/training/cli/training/deadlines.js.map +1 -0
  671. package/dist/training/cli/training/index.d.ts +8 -0
  672. package/dist/training/cli/training/index.js +9 -0
  673. package/dist/training/cli/training/index.js.map +1 -0
  674. package/dist/training/cli/training/inference.d.ts +48 -0
  675. package/dist/training/cli/training/inference.js +96 -0
  676. package/dist/training/cli/training/inference.js.map +1 -0
  677. package/dist/training/cli/training/optimizer.d.ts +33 -0
  678. package/dist/training/cli/training/optimizer.js +92 -0
  679. package/dist/training/cli/training/optimizer.js.map +1 -0
  680. package/dist/training/cli/training/output-lock.d.ts +2 -0
  681. package/dist/training/cli/training/output-lock.js +30 -0
  682. package/dist/training/cli/training/output-lock.js.map +1 -0
  683. package/dist/training/cli/types.d.ts +101 -0
  684. package/dist/training/cli/types.js +2 -0
  685. package/dist/training/cli/types.js.map +1 -0
  686. package/dist/training/cli/viewer.d.ts +40 -0
  687. package/dist/training/cli/viewer.js +210 -0
  688. package/dist/training/cli/viewer.js.map +1 -0
  689. package/dist/training/contracts/atomic-feedback.d.ts +2 -0
  690. package/dist/training/contracts/atomic-feedback.js +2 -0
  691. package/dist/training/contracts/atomic-feedback.js.map +1 -0
  692. package/dist/training/contracts/dataset.d.ts +174 -0
  693. package/dist/training/contracts/dataset.js +2 -0
  694. package/dist/training/contracts/dataset.js.map +1 -0
  695. package/dist/training/contracts/evaluation.d.ts +256 -0
  696. package/dist/training/contracts/evaluation.js +41 -0
  697. package/dist/training/contracts/evaluation.js.map +1 -0
  698. package/dist/training/contracts/execution.d.ts +363 -0
  699. package/dist/training/contracts/execution.js +15 -0
  700. package/dist/training/contracts/execution.js.map +1 -0
  701. package/dist/training/contracts/grader-providers.d.ts +40 -0
  702. package/dist/training/contracts/grader-providers.js +27 -0
  703. package/dist/training/contracts/grader-providers.js.map +1 -0
  704. package/dist/training/contracts/grading.d.ts +74 -0
  705. package/dist/training/contracts/grading.js +2 -0
  706. package/dist/training/contracts/grading.js.map +1 -0
  707. package/dist/training/contracts/index.d.ts +16 -0
  708. package/dist/training/contracts/index.js +8 -0
  709. package/dist/training/contracts/index.js.map +1 -0
  710. package/dist/training/contracts/inference-grants.d.ts +34 -0
  711. package/dist/training/contracts/inference-grants.js +2 -0
  712. package/dist/training/contracts/inference-grants.js.map +1 -0
  713. package/dist/training/contracts/inference-registry.d.ts +38 -0
  714. package/dist/training/contracts/inference-registry.js +7 -0
  715. package/dist/training/contracts/inference-registry.js.map +1 -0
  716. package/dist/training/contracts/training-config.d.ts +95 -0
  717. package/dist/training/contracts/training-config.js +15 -0
  718. package/dist/training/contracts/training-config.js.map +1 -0
  719. package/dist/training/contracts/trial-slot.d.ts +12 -0
  720. package/dist/training/contracts/trial-slot.js +2 -0
  721. package/dist/training/contracts/trial-slot.js.map +1 -0
  722. package/dist/training/dspy/AGENTS.md +29 -0
  723. package/dist/training/dspy/README.md +206 -0
  724. package/dist/training/dspy/protocol.md +311 -0
  725. package/dist/training/dspy/pyproject.toml +36 -0
  726. package/dist/training/dspy/requirements.lock +69 -0
  727. package/dist/training/dspy/spawnfile_training_dspy/AGENTS.md +63 -0
  728. package/dist/training/dspy/spawnfile_training_dspy/__init__.py +6 -0
  729. package/dist/training/dspy/spawnfile_training_dspy/checkpoint.py +146 -0
  730. package/dist/training/dspy/spawnfile_training_dspy/legacy_wire_aliases.json +90 -0
  731. package/dist/training/dspy/spawnfile_training_dspy/main.py +36 -0
  732. package/dist/training/dspy/spawnfile_training_dspy/native.py +89 -0
  733. package/dist/training/dspy/spawnfile_training_dspy/optimizer.py +74 -0
  734. package/dist/training/dspy/spawnfile_training_dspy/proposal_history.py +275 -0
  735. package/dist/training/dspy/spawnfile_training_dspy/protocol.py +149 -0
  736. package/dist/training/dspy/spawnfile_training_dspy/reflection.py +199 -0
  737. package/dist/training/dspy/spawnfile_training_dspy/search/AGENTS.md +41 -0
  738. package/dist/training/dspy/spawnfile_training_dspy/search/__init__.py +1 -0
  739. package/dist/training/dspy/spawnfile_training_dspy/search/behavior_change.py +152 -0
  740. package/dist/training/dspy/spawnfile_training_dspy/search/boundaries.py +38 -0
  741. package/dist/training/dspy/spawnfile_training_dspy/search/instruction_text.py +47 -0
  742. package/dist/training/dspy/spawnfile_training_dspy/search/population.py +213 -0
  743. package/dist/training/dspy/spawnfile_training_dspy/search/selection.py +24 -0
  744. package/dist/training/dspy/spawnfile_training_dspy/search/variants.py +83 -0
  745. package/dist/training/dspy/spawnfile_training_dspy/session.py +116 -0
  746. package/dist/training/dspy/spawnfile_training_dspy/transport.py +129 -0
  747. package/dist/training/evaluation/atomic-grader.d.ts +5 -0
  748. package/dist/training/evaluation/atomic-grader.js +55 -0
  749. package/dist/training/evaluation/atomic-grader.js.map +1 -0
  750. package/dist/training/evaluation/embedding/index.d.ts +1 -0
  751. package/dist/training/evaluation/embedding/index.js +2 -0
  752. package/dist/training/evaluation/embedding/index.js.map +1 -0
  753. package/dist/training/evaluation/embedding/similarity.d.ts +4 -0
  754. package/dist/training/evaluation/embedding/similarity.js +38 -0
  755. package/dist/training/evaluation/embedding/similarity.js.map +1 -0
  756. package/dist/training/evaluation/engine.d.ts +6 -0
  757. package/dist/training/evaluation/engine.js +191 -0
  758. package/dist/training/evaluation/engine.js.map +1 -0
  759. package/dist/training/evaluation/grader.d.ts +4 -0
  760. package/dist/training/evaluation/grader.js +67 -0
  761. package/dist/training/evaluation/grader.js.map +1 -0
  762. package/dist/training/evaluation/index.d.ts +10 -0
  763. package/dist/training/evaluation/index.js +9 -0
  764. package/dist/training/evaluation/index.js.map +1 -0
  765. package/dist/training/evaluation/logic/index.d.ts +1 -0
  766. package/dist/training/evaluation/logic/index.js +2 -0
  767. package/dist/training/evaluation/logic/index.js.map +1 -0
  768. package/dist/training/evaluation/logic/results.d.ts +7 -0
  769. package/dist/training/evaluation/logic/results.js +70 -0
  770. package/dist/training/evaluation/logic/results.js.map +1 -0
  771. package/dist/training/evaluation/mechanical/index.d.ts +6 -0
  772. package/dist/training/evaluation/mechanical/index.js +7 -0
  773. package/dist/training/evaluation/mechanical/index.js.map +1 -0
  774. package/dist/training/evaluation/mechanical/predicates.d.ts +2 -0
  775. package/dist/training/evaluation/mechanical/predicates.js +27 -0
  776. package/dist/training/evaluation/mechanical/predicates.js.map +1 -0
  777. package/dist/training/evaluation/mechanical/sequence.d.ts +3 -0
  778. package/dist/training/evaluation/mechanical/sequence.js +75 -0
  779. package/dist/training/evaluation/mechanical/sequence.js.map +1 -0
  780. package/dist/training/evaluation/mechanical/text-checks.d.ts +3 -0
  781. package/dist/training/evaluation/mechanical/text-checks.js +65 -0
  782. package/dist/training/evaluation/mechanical/text-checks.js.map +1 -0
  783. package/dist/training/evaluation/mechanical/text-values.d.ts +7 -0
  784. package/dist/training/evaluation/mechanical/text-values.js +28 -0
  785. package/dist/training/evaluation/mechanical/text-values.js.map +1 -0
  786. package/dist/training/evaluation/mechanical/text.d.ts +3 -0
  787. package/dist/training/evaluation/mechanical/text.js +40 -0
  788. package/dist/training/evaluation/mechanical/text.js.map +1 -0
  789. package/dist/training/evaluation/mechanical/token-efficiency.d.ts +4 -0
  790. package/dist/training/evaluation/mechanical/token-efficiency.js +28 -0
  791. package/dist/training/evaluation/mechanical/token-efficiency.js.map +1 -0
  792. package/dist/training/evaluation/mechanical/tools.d.ts +3 -0
  793. package/dist/training/evaluation/mechanical/tools.js +39 -0
  794. package/dist/training/evaluation/mechanical/tools.js.map +1 -0
  795. package/dist/training/evaluation/registry.d.ts +4 -0
  796. package/dist/training/evaluation/registry.js +64 -0
  797. package/dist/training/evaluation/registry.js.map +1 -0
  798. package/dist/training/evaluation/repair.d.ts +14 -0
  799. package/dist/training/evaluation/repair.js +73 -0
  800. package/dist/training/evaluation/repair.js.map +1 -0
  801. package/dist/training/evaluation/schedule.d.ts +21 -0
  802. package/dist/training/evaluation/schedule.js +98 -0
  803. package/dist/training/evaluation/schedule.js.map +1 -0
  804. package/dist/training/evaluation/selectors.d.ts +22 -0
  805. package/dist/training/evaluation/selectors.js +61 -0
  806. package/dist/training/evaluation/selectors.js.map +1 -0
  807. package/dist/training/evaluation/semantic/attempts.d.ts +12 -0
  808. package/dist/training/evaluation/semantic/attempts.js +71 -0
  809. package/dist/training/evaluation/semantic/attempts.js.map +1 -0
  810. package/dist/training/evaluation/semantic/cache.d.ts +9 -0
  811. package/dist/training/evaluation/semantic/cache.js +40 -0
  812. package/dist/training/evaluation/semantic/cache.js.map +1 -0
  813. package/dist/training/evaluation/semantic/evidence-units.d.ts +14 -0
  814. package/dist/training/evaluation/semantic/evidence-units.js +58 -0
  815. package/dist/training/evaluation/semantic/evidence-units.js.map +1 -0
  816. package/dist/training/evaluation/semantic/failure.d.ts +30 -0
  817. package/dist/training/evaluation/semantic/failure.js +79 -0
  818. package/dist/training/evaluation/semantic/failure.js.map +1 -0
  819. package/dist/training/evaluation/semantic/index.d.ts +5 -0
  820. package/dist/training/evaluation/semantic/index.js +5 -0
  821. package/dist/training/evaluation/semantic/index.js.map +1 -0
  822. package/dist/training/evaluation/semantic/judgment.d.ts +21 -0
  823. package/dist/training/evaluation/semantic/judgment.js +50 -0
  824. package/dist/training/evaluation/semantic/judgment.js.map +1 -0
  825. package/dist/training/evaluation/semantic/protocol.d.ts +118 -0
  826. package/dist/training/evaluation/semantic/protocol.js +48 -0
  827. package/dist/training/evaluation/semantic/protocol.js.map +1 -0
  828. package/dist/training/evaluation/semantic/rubric.d.ts +3 -0
  829. package/dist/training/evaluation/semantic/rubric.js +202 -0
  830. package/dist/training/evaluation/semantic/rubric.js.map +1 -0
  831. package/dist/training/evaluation/semantic/templates.d.ts +7 -0
  832. package/dist/training/evaluation/semantic/templates.js +75 -0
  833. package/dist/training/evaluation/semantic/templates.js.map +1 -0
  834. package/dist/training/experiments/comparison/index.d.ts +2 -0
  835. package/dist/training/experiments/comparison/index.js +2 -0
  836. package/dist/training/experiments/comparison/index.js.map +1 -0
  837. package/dist/training/experiments/comparison/run.d.ts +3 -0
  838. package/dist/training/experiments/comparison/run.js +92 -0
  839. package/dist/training/experiments/comparison/run.js.map +1 -0
  840. package/dist/training/experiments/comparison/types.d.ts +39 -0
  841. package/dist/training/experiments/comparison/types.js +2 -0
  842. package/dist/training/experiments/comparison/types.js.map +1 -0
  843. package/dist/training/experiments/concurrency/index.d.ts +2 -0
  844. package/dist/training/experiments/concurrency/index.js +2 -0
  845. package/dist/training/experiments/concurrency/index.js.map +1 -0
  846. package/dist/training/experiments/concurrency/slots.d.ts +50 -0
  847. package/dist/training/experiments/concurrency/slots.js +120 -0
  848. package/dist/training/experiments/concurrency/slots.js.map +1 -0
  849. package/dist/training/experiments/costs/assumptions.d.ts +4 -0
  850. package/dist/training/experiments/costs/assumptions.js +18 -0
  851. package/dist/training/experiments/costs/assumptions.js.map +1 -0
  852. package/dist/training/experiments/costs/catalog.d.ts +3 -0
  853. package/dist/training/experiments/costs/catalog.js +24 -0
  854. package/dist/training/experiments/costs/catalog.js.map +1 -0
  855. package/dist/training/experiments/costs/config.d.ts +6 -0
  856. package/dist/training/experiments/costs/config.js +22 -0
  857. package/dist/training/experiments/costs/config.js.map +1 -0
  858. package/dist/training/experiments/costs/decisions.d.ts +5 -0
  859. package/dist/training/experiments/costs/decisions.js +48 -0
  860. package/dist/training/experiments/costs/decisions.js.map +1 -0
  861. package/dist/training/experiments/costs/index.d.ts +9 -0
  862. package/dist/training/experiments/costs/index.js +7 -0
  863. package/dist/training/experiments/costs/index.js.map +1 -0
  864. package/dist/training/experiments/costs/planning.d.ts +71 -0
  865. package/dist/training/experiments/costs/planning.js +140 -0
  866. package/dist/training/experiments/costs/planning.js.map +1 -0
  867. package/dist/training/experiments/costs/report.d.ts +71 -0
  868. package/dist/training/experiments/costs/report.js +269 -0
  869. package/dist/training/experiments/costs/report.js.map +1 -0
  870. package/dist/training/experiments/costs/types.d.ts +53 -0
  871. package/dist/training/experiments/costs/types.js +2 -0
  872. package/dist/training/experiments/costs/types.js.map +1 -0
  873. package/dist/training/experiments/costs/valuation.d.ts +3 -0
  874. package/dist/training/experiments/costs/valuation.js +124 -0
  875. package/dist/training/experiments/costs/valuation.js.map +1 -0
  876. package/dist/training/experiments/index.d.ts +12 -0
  877. package/dist/training/experiments/index.js +12 -0
  878. package/dist/training/experiments/index.js.map +1 -0
  879. package/dist/training/experiments/repair/import.d.ts +21 -0
  880. package/dist/training/experiments/repair/import.js +104 -0
  881. package/dist/training/experiments/repair/import.js.map +1 -0
  882. package/dist/training/experiments/repair/index.d.ts +6 -0
  883. package/dist/training/experiments/repair/index.js +5 -0
  884. package/dist/training/experiments/repair/index.js.map +1 -0
  885. package/dist/training/experiments/repair/measurement.d.ts +14 -0
  886. package/dist/training/experiments/repair/measurement.js +101 -0
  887. package/dist/training/experiments/repair/measurement.js.map +1 -0
  888. package/dist/training/experiments/repair/projection.d.ts +3 -0
  889. package/dist/training/experiments/repair/projection.js +63 -0
  890. package/dist/training/experiments/repair/projection.js.map +1 -0
  891. package/dist/training/experiments/repair/receipt.d.ts +43 -0
  892. package/dist/training/experiments/repair/receipt.js +52 -0
  893. package/dist/training/experiments/repair/receipt.js.map +1 -0
  894. package/dist/training/experiments/repair/record.d.ts +4 -0
  895. package/dist/training/experiments/repair/record.js +24 -0
  896. package/dist/training/experiments/repair/record.js.map +1 -0
  897. package/dist/training/experiments/replay/fixture.d.ts +10 -0
  898. package/dist/training/experiments/replay/fixture.js +53 -0
  899. package/dist/training/experiments/replay/fixture.js.map +1 -0
  900. package/dist/training/experiments/replay/index.d.ts +3 -0
  901. package/dist/training/experiments/replay/index.js +3 -0
  902. package/dist/training/experiments/replay/index.js.map +1 -0
  903. package/dist/training/experiments/replay/rescore.d.ts +3 -0
  904. package/dist/training/experiments/replay/rescore.js +63 -0
  905. package/dist/training/experiments/replay/rescore.js.map +1 -0
  906. package/dist/training/experiments/replay/schema.d.ts +408 -0
  907. package/dist/training/experiments/replay/schema.js +126 -0
  908. package/dist/training/experiments/replay/schema.js.map +1 -0
  909. package/dist/training/experiments/replay/source.d.ts +6 -0
  910. package/dist/training/experiments/replay/source.js +35 -0
  911. package/dist/training/experiments/replay/source.js.map +1 -0
  912. package/dist/training/experiments/replay/subject-usage.d.ts +3 -0
  913. package/dist/training/experiments/replay/subject-usage.js +18 -0
  914. package/dist/training/experiments/replay/subject-usage.js.map +1 -0
  915. package/dist/training/experiments/replay/types.d.ts +63 -0
  916. package/dist/training/experiments/replay/types.js +2 -0
  917. package/dist/training/experiments/replay/types.js.map +1 -0
  918. package/dist/training/experiments/training/checkpoint.d.ts +51 -0
  919. package/dist/training/experiments/training/checkpoint.js +200 -0
  920. package/dist/training/experiments/training/checkpoint.js.map +1 -0
  921. package/dist/training/experiments/training/criteria.d.ts +3 -0
  922. package/dist/training/experiments/training/criteria.js +23 -0
  923. package/dist/training/experiments/training/criteria.js.map +1 -0
  924. package/dist/training/experiments/training/feedback.d.ts +15 -0
  925. package/dist/training/experiments/training/feedback.js +133 -0
  926. package/dist/training/experiments/training/feedback.js.map +1 -0
  927. package/dist/training/experiments/training/held-out.d.ts +24 -0
  928. package/dist/training/experiments/training/held-out.js +41 -0
  929. package/dist/training/experiments/training/held-out.js.map +1 -0
  930. package/dist/training/experiments/training/index.d.ts +7 -0
  931. package/dist/training/experiments/training/index.js +7 -0
  932. package/dist/training/experiments/training/index.js.map +1 -0
  933. package/dist/training/experiments/training/partition.d.ts +20 -0
  934. package/dist/training/experiments/training/partition.js +24 -0
  935. package/dist/training/experiments/training/partition.js.map +1 -0
  936. package/dist/training/experiments/training/recovery.d.ts +17 -0
  937. package/dist/training/experiments/training/recovery.js +54 -0
  938. package/dist/training/experiments/training/recovery.js.map +1 -0
  939. package/dist/training/experiments/training/retry.d.ts +14 -0
  940. package/dist/training/experiments/training/retry.js +16 -0
  941. package/dist/training/experiments/training/retry.js.map +1 -0
  942. package/dist/training/experiments/training/scoring.d.ts +4 -0
  943. package/dist/training/experiments/training/scoring.js +42 -0
  944. package/dist/training/experiments/training/scoring.js.map +1 -0
  945. package/dist/training/experiments/training/training.d.ts +85 -0
  946. package/dist/training/experiments/training/training.js +208 -0
  947. package/dist/training/experiments/training/training.js.map +1 -0
  948. package/dist/training/experiments/trials/bindings.d.ts +4 -0
  949. package/dist/training/experiments/trials/bindings.js +46 -0
  950. package/dist/training/experiments/trials/bindings.js.map +1 -0
  951. package/dist/training/experiments/trials/closure.d.ts +2 -0
  952. package/dist/training/experiments/trials/closure.js +26 -0
  953. package/dist/training/experiments/trials/closure.js.map +1 -0
  954. package/dist/training/experiments/trials/control.d.ts +13 -0
  955. package/dist/training/experiments/trials/control.js +74 -0
  956. package/dist/training/experiments/trials/control.js.map +1 -0
  957. package/dist/training/experiments/trials/diagnostics.d.ts +25 -0
  958. package/dist/training/experiments/trials/diagnostics.js +99 -0
  959. package/dist/training/experiments/trials/diagnostics.js.map +1 -0
  960. package/dist/training/experiments/trials/files.d.ts +8 -0
  961. package/dist/training/experiments/trials/files.js +113 -0
  962. package/dist/training/experiments/trials/files.js.map +1 -0
  963. package/dist/training/experiments/trials/fixture.d.ts +13 -0
  964. package/dist/training/experiments/trials/fixture.js +40 -0
  965. package/dist/training/experiments/trials/fixture.js.map +1 -0
  966. package/dist/training/experiments/trials/index.d.ts +5 -0
  967. package/dist/training/experiments/trials/index.js +5 -0
  968. package/dist/training/experiments/trials/index.js.map +1 -0
  969. package/dist/training/experiments/trials/live.d.ts +20 -0
  970. package/dist/training/experiments/trials/live.js +68 -0
  971. package/dist/training/experiments/trials/live.js.map +1 -0
  972. package/dist/training/experiments/trials/paths.d.ts +5 -0
  973. package/dist/training/experiments/trials/paths.js +90 -0
  974. package/dist/training/experiments/trials/paths.js.map +1 -0
  975. package/dist/training/experiments/trials/preflight.d.ts +3 -0
  976. package/dist/training/experiments/trials/preflight.js +23 -0
  977. package/dist/training/experiments/trials/preflight.js.map +1 -0
  978. package/dist/training/experiments/trials/stored.d.ts +23 -0
  979. package/dist/training/experiments/trials/stored.js +46 -0
  980. package/dist/training/experiments/trials/stored.js.map +1 -0
  981. package/dist/training/experiments/trials/subject-usage.d.ts +7 -0
  982. package/dist/training/experiments/trials/subject-usage.js +66 -0
  983. package/dist/training/experiments/trials/subject-usage.js.map +1 -0
  984. package/dist/training/experiments/trials/trial.d.ts +11 -0
  985. package/dist/training/experiments/trials/trial.js +361 -0
  986. package/dist/training/experiments/trials/trial.js.map +1 -0
  987. package/dist/training/experiments/trials/types.d.ts +124 -0
  988. package/dist/training/experiments/trials/types.js +2 -0
  989. package/dist/training/experiments/trials/types.js.map +1 -0
  990. package/dist/training/graders/admission.d.ts +11 -0
  991. package/dist/training/graders/admission.js +22 -0
  992. package/dist/training/graders/admission.js.map +1 -0
  993. package/dist/training/graders/aggregation.d.ts +30 -0
  994. package/dist/training/graders/aggregation.js +71 -0
  995. package/dist/training/graders/aggregation.js.map +1 -0
  996. package/dist/training/graders/atomic/aggregate.d.ts +10 -0
  997. package/dist/training/graders/atomic/aggregate.js +31 -0
  998. package/dist/training/graders/atomic/aggregate.js.map +1 -0
  999. package/dist/training/graders/atomic/feedback.d.ts +3 -0
  1000. package/dist/training/graders/atomic/feedback.js +16 -0
  1001. package/dist/training/graders/atomic/feedback.js.map +1 -0
  1002. package/dist/training/graders/atomic/format.d.ts +61 -0
  1003. package/dist/training/graders/atomic/format.js +53 -0
  1004. package/dist/training/graders/atomic/format.js.map +1 -0
  1005. package/dist/training/graders/atomic/index.d.ts +7 -0
  1006. package/dist/training/graders/atomic/index.js +6 -0
  1007. package/dist/training/graders/atomic/index.js.map +1 -0
  1008. package/dist/training/graders/atomic/runtime.d.ts +4 -0
  1009. package/dist/training/graders/atomic/runtime.js +94 -0
  1010. package/dist/training/graders/atomic/runtime.js.map +1 -0
  1011. package/dist/training/graders/atomic/schema.d.ts +5 -0
  1012. package/dist/training/graders/atomic/schema.js +37 -0
  1013. package/dist/training/graders/atomic/schema.js.map +1 -0
  1014. package/dist/training/graders/atomic/types.d.ts +68 -0
  1015. package/dist/training/graders/atomic/types.js +2 -0
  1016. package/dist/training/graders/atomic/types.js.map +1 -0
  1017. package/dist/training/graders/calibration/escalation.d.ts +50 -0
  1018. package/dist/training/graders/calibration/escalation.js +145 -0
  1019. package/dist/training/graders/calibration/escalation.js.map +1 -0
  1020. package/dist/training/graders/calibration/fitting.d.ts +28 -0
  1021. package/dist/training/graders/calibration/fitting.js +121 -0
  1022. package/dist/training/graders/calibration/fitting.js.map +1 -0
  1023. package/dist/training/graders/calibration/index.d.ts +7 -0
  1024. package/dist/training/graders/calibration/index.js +5 -0
  1025. package/dist/training/graders/calibration/index.js.map +1 -0
  1026. package/dist/training/graders/calibration/metrics.d.ts +31 -0
  1027. package/dist/training/graders/calibration/metrics.js +145 -0
  1028. package/dist/training/graders/calibration/metrics.js.map +1 -0
  1029. package/dist/training/graders/calibration/selection.d.ts +13 -0
  1030. package/dist/training/graders/calibration/selection.js +30 -0
  1031. package/dist/training/graders/calibration/selection.js.map +1 -0
  1032. package/dist/training/graders/calibration/types.d.ts +68 -0
  1033. package/dist/training/graders/calibration/types.js +2 -0
  1034. package/dist/training/graders/calibration/types.js.map +1 -0
  1035. package/dist/training/graders/consensus.d.ts +11 -0
  1036. package/dist/training/graders/consensus.js +29 -0
  1037. package/dist/training/graders/consensus.js.map +1 -0
  1038. package/dist/training/graders/decomposition/evidence.d.ts +21 -0
  1039. package/dist/training/graders/decomposition/evidence.js +107 -0
  1040. package/dist/training/graders/decomposition/evidence.js.map +1 -0
  1041. package/dist/training/graders/decomposition/format.d.ts +265 -0
  1042. package/dist/training/graders/decomposition/format.js +98 -0
  1043. package/dist/training/graders/decomposition/format.js.map +1 -0
  1044. package/dist/training/graders/decomposition/index.d.ts +10 -0
  1045. package/dist/training/graders/decomposition/index.js +6 -0
  1046. package/dist/training/graders/decomposition/index.js.map +1 -0
  1047. package/dist/training/graders/decomposition/instantiate.d.ts +26 -0
  1048. package/dist/training/graders/decomposition/instantiate.js +129 -0
  1049. package/dist/training/graders/decomposition/instantiate.js.map +1 -0
  1050. package/dist/training/graders/decomposition/location.d.ts +20 -0
  1051. package/dist/training/graders/decomposition/location.js +75 -0
  1052. package/dist/training/graders/decomposition/location.js.map +1 -0
  1053. package/dist/training/graders/decomposition/metadata.d.ts +8 -0
  1054. package/dist/training/graders/decomposition/metadata.js +14 -0
  1055. package/dist/training/graders/decomposition/metadata.js.map +1 -0
  1056. package/dist/training/graders/decomposition/spans.d.ts +6 -0
  1057. package/dist/training/graders/decomposition/spans.js +18 -0
  1058. package/dist/training/graders/decomposition/spans.js.map +1 -0
  1059. package/dist/training/graders/decomposition/transport.d.ts +76 -0
  1060. package/dist/training/graders/decomposition/transport.js +14 -0
  1061. package/dist/training/graders/decomposition/transport.js.map +1 -0
  1062. package/dist/training/graders/format/binding.d.ts +3 -0
  1063. package/dist/training/graders/format/binding.js +37 -0
  1064. package/dist/training/graders/format/binding.js.map +1 -0
  1065. package/dist/training/graders/format/common.d.ts +13 -0
  1066. package/dist/training/graders/format/common.js +77 -0
  1067. package/dist/training/graders/format/common.js.map +1 -0
  1068. package/dist/training/graders/format/grader.d.ts +236 -0
  1069. package/dist/training/graders/format/grader.js +161 -0
  1070. package/dist/training/graders/format/grader.js.map +1 -0
  1071. package/dist/training/graders/format/index.d.ts +11 -0
  1072. package/dist/training/graders/format/index.js +8 -0
  1073. package/dist/training/graders/format/index.js.map +1 -0
  1074. package/dist/training/graders/format/label-import.d.ts +42 -0
  1075. package/dist/training/graders/format/label-import.js +44 -0
  1076. package/dist/training/graders/format/label-import.js.map +1 -0
  1077. package/dist/training/graders/format/labels.d.ts +45 -0
  1078. package/dist/training/graders/format/labels.js +109 -0
  1079. package/dist/training/graders/format/labels.js.map +1 -0
  1080. package/dist/training/graders/format/questions.d.ts +67 -0
  1081. package/dist/training/graders/format/questions.js +104 -0
  1082. package/dist/training/graders/format/questions.js.map +1 -0
  1083. package/dist/training/graders/format/row-regex.d.ts +2 -0
  1084. package/dist/training/graders/format/row-regex.js +56 -0
  1085. package/dist/training/graders/format/row-regex.js.map +1 -0
  1086. package/dist/training/graders/format/rows.d.ts +15 -0
  1087. package/dist/training/graders/format/rows.js +31 -0
  1088. package/dist/training/graders/format/rows.js.map +1 -0
  1089. package/dist/training/graders/format/sentences.d.ts +2 -0
  1090. package/dist/training/graders/format/sentences.js +30 -0
  1091. package/dist/training/graders/format/sentences.js.map +1 -0
  1092. package/dist/training/graders/identity-calibration.d.ts +4 -0
  1093. package/dist/training/graders/identity-calibration.js +15 -0
  1094. package/dist/training/graders/identity-calibration.js.map +1 -0
  1095. package/dist/training/graders/identity.d.ts +119 -0
  1096. package/dist/training/graders/identity.js +119 -0
  1097. package/dist/training/graders/identity.js.map +1 -0
  1098. package/dist/training/graders/index.d.ts +23 -0
  1099. package/dist/training/graders/index.js +14 -0
  1100. package/dist/training/graders/index.js.map +1 -0
  1101. package/dist/training/graders/instances.d.ts +21 -0
  1102. package/dist/training/graders/instances.js +121 -0
  1103. package/dist/training/graders/instances.js.map +1 -0
  1104. package/dist/training/graders/labeling/import.d.ts +8 -0
  1105. package/dist/training/graders/labeling/import.js +51 -0
  1106. package/dist/training/graders/labeling/import.js.map +1 -0
  1107. package/dist/training/graders/labeling/index.d.ts +3 -0
  1108. package/dist/training/graders/labeling/index.js +3 -0
  1109. package/dist/training/graders/labeling/index.js.map +1 -0
  1110. package/dist/training/graders/labeling/planning.d.ts +39 -0
  1111. package/dist/training/graders/labeling/planning.js +117 -0
  1112. package/dist/training/graders/labeling/planning.js.map +1 -0
  1113. package/dist/training/graders/references/council.d.ts +2 -0
  1114. package/dist/training/graders/references/council.js +182 -0
  1115. package/dist/training/graders/references/council.js.map +1 -0
  1116. package/dist/training/graders/references/index.d.ts +5 -0
  1117. package/dist/training/graders/references/index.js +5 -0
  1118. package/dist/training/graders/references/index.js.map +1 -0
  1119. package/dist/training/graders/references/metrics.d.ts +133 -0
  1120. package/dist/training/graders/references/metrics.js +113 -0
  1121. package/dist/training/graders/references/metrics.js.map +1 -0
  1122. package/dist/training/graders/references/policy.d.ts +10 -0
  1123. package/dist/training/graders/references/policy.js +16 -0
  1124. package/dist/training/graders/references/policy.js.map +1 -0
  1125. package/dist/training/graders/references/protocol.d.ts +11 -0
  1126. package/dist/training/graders/references/protocol.js +63 -0
  1127. package/dist/training/graders/references/protocol.js.map +1 -0
  1128. package/dist/training/graders/references/types.d.ts +92 -0
  1129. package/dist/training/graders/references/types.js +2 -0
  1130. package/dist/training/graders/references/types.js.map +1 -0
  1131. package/dist/training/graders/rows.d.ts +14 -0
  1132. package/dist/training/graders/rows.js +39 -0
  1133. package/dist/training/graders/rows.js.map +1 -0
  1134. package/dist/training/graders/runtime/accounting.d.ts +10 -0
  1135. package/dist/training/graders/runtime/accounting.js +43 -0
  1136. package/dist/training/graders/runtime/accounting.js.map +1 -0
  1137. package/dist/training/graders/runtime/grade.d.ts +3 -0
  1138. package/dist/training/graders/runtime/grade.js +161 -0
  1139. package/dist/training/graders/runtime/grade.js.map +1 -0
  1140. package/dist/training/graders/runtime/identity.d.ts +6 -0
  1141. package/dist/training/graders/runtime/identity.js +24 -0
  1142. package/dist/training/graders/runtime/identity.js.map +1 -0
  1143. package/dist/training/graders/runtime/index.d.ts +5 -0
  1144. package/dist/training/graders/runtime/index.js +5 -0
  1145. package/dist/training/graders/runtime/index.js.map +1 -0
  1146. package/dist/training/graders/runtime/schema.d.ts +29 -0
  1147. package/dist/training/graders/runtime/schema.js +27 -0
  1148. package/dist/training/graders/runtime/schema.js.map +1 -0
  1149. package/dist/training/graders/runtime/teacher.d.ts +8 -0
  1150. package/dist/training/graders/runtime/teacher.js +43 -0
  1151. package/dist/training/graders/runtime/teacher.js.map +1 -0
  1152. package/dist/training/graders/runtime/types.d.ts +48 -0
  1153. package/dist/training/graders/runtime/types.js +2 -0
  1154. package/dist/training/graders/runtime/types.js.map +1 -0
  1155. package/dist/training/graders/traps/generate.d.ts +6 -0
  1156. package/dist/training/graders/traps/generate.js +94 -0
  1157. package/dist/training/graders/traps/generate.js.map +1 -0
  1158. package/dist/training/graders/traps/index.d.ts +3 -0
  1159. package/dist/training/graders/traps/index.js +3 -0
  1160. package/dist/training/graders/traps/index.js.map +1 -0
  1161. package/dist/training/graders/traps/mutations.d.ts +10 -0
  1162. package/dist/training/graders/traps/mutations.js +48 -0
  1163. package/dist/training/graders/traps/mutations.js.map +1 -0
  1164. package/dist/training/graders/traps/types.d.ts +37 -0
  1165. package/dist/training/graders/traps/types.js +2 -0
  1166. package/dist/training/graders/traps/types.js.map +1 -0
  1167. package/dist/training/graders/traps/validation.d.ts +4 -0
  1168. package/dist/training/graders/traps/validation.js +118 -0
  1169. package/dist/training/graders/traps/validation.js.map +1 -0
  1170. package/dist/training/index.d.ts +17 -0
  1171. package/dist/training/index.js +16 -0
  1172. package/dist/training/index.js.map +1 -0
  1173. package/dist/training/inference/claude/index.d.ts +1 -0
  1174. package/dist/training/inference/claude/index.js +2 -0
  1175. package/dist/training/inference/claude/index.js.map +1 -0
  1176. package/dist/training/inference/claude/protocol.d.ts +16 -0
  1177. package/dist/training/inference/claude/protocol.js +72 -0
  1178. package/dist/training/inference/claude/protocol.js.map +1 -0
  1179. package/dist/training/inference/claude/provider.d.ts +9 -0
  1180. package/dist/training/inference/claude/provider.js +153 -0
  1181. package/dist/training/inference/claude/provider.js.map +1 -0
  1182. package/dist/training/inference/claude/refusal.d.ts +2 -0
  1183. package/dist/training/inference/claude/refusal.js +37 -0
  1184. package/dist/training/inference/claude/refusal.js.map +1 -0
  1185. package/dist/training/inference/decision/http.d.ts +14 -0
  1186. package/dist/training/inference/decision/http.js +57 -0
  1187. package/dist/training/inference/decision/http.js.map +1 -0
  1188. package/dist/training/inference/decision/index.d.ts +6 -0
  1189. package/dist/training/inference/decision/index.js +6 -0
  1190. package/dist/training/inference/decision/index.js.map +1 -0
  1191. package/dist/training/inference/decision/jev.d.ts +4 -0
  1192. package/dist/training/inference/decision/jev.js +163 -0
  1193. package/dist/training/inference/decision/jev.js.map +1 -0
  1194. package/dist/training/inference/decision/ollama.d.ts +9 -0
  1195. package/dist/training/inference/decision/ollama.js +101 -0
  1196. package/dist/training/inference/decision/ollama.js.map +1 -0
  1197. package/dist/training/inference/decision/prompt.d.ts +6 -0
  1198. package/dist/training/inference/decision/prompt.js +19 -0
  1199. package/dist/training/inference/decision/prompt.js.map +1 -0
  1200. package/dist/training/inference/decision/teacher.d.ts +7 -0
  1201. package/dist/training/inference/decision/teacher.js +61 -0
  1202. package/dist/training/inference/decision/teacher.js.map +1 -0
  1203. package/dist/training/inference/decision/typesafe/index.d.ts +9 -0
  1204. package/dist/training/inference/decision/typesafe/index.js +82 -0
  1205. package/dist/training/inference/decision/typesafe/index.js.map +1 -0
  1206. package/dist/training/inference/decision/typesafe/transport.d.ts +44 -0
  1207. package/dist/training/inference/decision/typesafe/transport.js +151 -0
  1208. package/dist/training/inference/decision/typesafe/transport.js.map +1 -0
  1209. package/dist/training/inference/decision/typesafe/wire.d.ts +25 -0
  1210. package/dist/training/inference/decision/typesafe/wire.js +49 -0
  1211. package/dist/training/inference/decision/typesafe/wire.js.map +1 -0
  1212. package/dist/training/inference/diagnostic.d.ts +3 -0
  1213. package/dist/training/inference/diagnostic.js +14 -0
  1214. package/dist/training/inference/diagnostic.js.map +1 -0
  1215. package/dist/training/inference/evaluator/index.d.ts +3 -0
  1216. package/dist/training/inference/evaluator/index.js +4 -0
  1217. package/dist/training/inference/evaluator/index.js.map +1 -0
  1218. package/dist/training/inference/evaluator/ledger.d.ts +29 -0
  1219. package/dist/training/inference/evaluator/ledger.js +70 -0
  1220. package/dist/training/inference/evaluator/ledger.js.map +1 -0
  1221. package/dist/training/inference/evaluator/policy.d.ts +39 -0
  1222. package/dist/training/inference/evaluator/policy.js +67 -0
  1223. package/dist/training/inference/evaluator/policy.js.map +1 -0
  1224. package/dist/training/inference/evaluator/provider.d.ts +6 -0
  1225. package/dist/training/inference/evaluator/provider.js +45 -0
  1226. package/dist/training/inference/evaluator/provider.js.map +1 -0
  1227. package/dist/training/inference/failure.d.ts +27 -0
  1228. package/dist/training/inference/failure.js +36 -0
  1229. package/dist/training/inference/failure.js.map +1 -0
  1230. package/dist/training/inference/index.d.ts +8 -0
  1231. package/dist/training/inference/index.js +9 -0
  1232. package/dist/training/inference/index.js.map +1 -0
  1233. package/dist/training/inference/ollama/context.d.ts +2 -0
  1234. package/dist/training/inference/ollama/context.js +28 -0
  1235. package/dist/training/inference/ollama/context.js.map +1 -0
  1236. package/dist/training/inference/ollama/index.d.ts +2 -0
  1237. package/dist/training/inference/ollama/index.js +3 -0
  1238. package/dist/training/inference/ollama/index.js.map +1 -0
  1239. package/dist/training/inference/ollama/provider.d.ts +12 -0
  1240. package/dist/training/inference/ollama/provider.js +100 -0
  1241. package/dist/training/inference/ollama/provider.js.map +1 -0
  1242. package/dist/training/inference/request-cap.d.ts +7 -0
  1243. package/dist/training/inference/request-cap.js +22 -0
  1244. package/dist/training/inference/request-cap.js.map +1 -0
  1245. package/dist/training/inference/response-schema.d.ts +9 -0
  1246. package/dist/training/inference/response-schema.js +54 -0
  1247. package/dist/training/inference/response-schema.js.map +1 -0
  1248. package/dist/training/inference/routing.d.ts +17 -0
  1249. package/dist/training/inference/routing.js +152 -0
  1250. package/dist/training/inference/routing.js.map +1 -0
  1251. package/dist/training/optimization/boundaries.d.ts +8 -0
  1252. package/dist/training/optimization/boundaries.js +31 -0
  1253. package/dist/training/optimization/boundaries.js.map +1 -0
  1254. package/dist/training/optimization/bridge-fixtures.d.ts +13 -0
  1255. package/dist/training/optimization/bridge-fixtures.js +40 -0
  1256. package/dist/training/optimization/bridge-fixtures.js.map +1 -0
  1257. package/dist/training/optimization/bridge-identity.d.ts +8 -0
  1258. package/dist/training/optimization/bridge-identity.js +110 -0
  1259. package/dist/training/optimization/bridge-identity.js.map +1 -0
  1260. package/dist/training/optimization/checkpoint.d.ts +35 -0
  1261. package/dist/training/optimization/checkpoint.js +187 -0
  1262. package/dist/training/optimization/checkpoint.js.map +1 -0
  1263. package/dist/training/optimization/evidence.d.ts +4 -0
  1264. package/dist/training/optimization/evidence.js +65 -0
  1265. package/dist/training/optimization/evidence.js.map +1 -0
  1266. package/dist/training/optimization/host.d.ts +27 -0
  1267. package/dist/training/optimization/host.js +144 -0
  1268. package/dist/training/optimization/host.js.map +1 -0
  1269. package/dist/training/optimization/index.d.ts +8 -0
  1270. package/dist/training/optimization/index.js +6 -0
  1271. package/dist/training/optimization/index.js.map +1 -0
  1272. package/dist/training/optimization/inference.d.ts +4 -0
  1273. package/dist/training/optimization/inference.js +33 -0
  1274. package/dist/training/optimization/inference.js.map +1 -0
  1275. package/dist/training/optimization/population-evidence.d.ts +4 -0
  1276. package/dist/training/optimization/population-evidence.js +152 -0
  1277. package/dist/training/optimization/population-evidence.js.map +1 -0
  1278. package/dist/training/optimization/protocol.d.ts +532 -0
  1279. package/dist/training/optimization/protocol.js +146 -0
  1280. package/dist/training/optimization/protocol.js.map +1 -0
  1281. package/dist/training/optimization/runner.d.ts +5 -0
  1282. package/dist/training/optimization/runner.js +129 -0
  1283. package/dist/training/optimization/runner.js.map +1 -0
  1284. package/dist/training/optimization/testSupport.d.ts +9 -0
  1285. package/dist/training/optimization/testSupport.js +29 -0
  1286. package/dist/training/optimization/testSupport.js.map +1 -0
  1287. package/dist/training/optimization/types.d.ts +73 -0
  1288. package/dist/training/optimization/types.js +11 -0
  1289. package/dist/training/optimization/types.js.map +1 -0
  1290. package/dist/training/platform/index.d.ts +1 -0
  1291. package/dist/training/platform/index.js +2 -0
  1292. package/dist/training/platform/index.js.map +1 -0
  1293. package/dist/training/platform/mutations/index.d.ts +5 -0
  1294. package/dist/training/platform/mutations/index.js +10 -0
  1295. package/dist/training/platform/mutations/index.js.map +1 -0
  1296. package/dist/training/platform/process/index.d.ts +1 -0
  1297. package/dist/training/platform/process/index.js +2 -0
  1298. package/dist/training/platform/process/index.js.map +1 -0
  1299. package/dist/training/platform/process/runner.d.ts +32 -0
  1300. package/dist/training/platform/process/runner.js +190 -0
  1301. package/dist/training/platform/process/runner.js.map +1 -0
  1302. package/dist/training/providers/index.d.ts +2 -0
  1303. package/dist/training/providers/index.js +3 -0
  1304. package/dist/training/providers/index.js.map +1 -0
  1305. package/dist/training/providers/policy.d.ts +23 -0
  1306. package/dist/training/providers/policy.js +27 -0
  1307. package/dist/training/providers/policy.js.map +1 -0
  1308. package/dist/training/providers/registry.d.ts +2 -0
  1309. package/dist/training/providers/registry.js +62 -0
  1310. package/dist/training/providers/registry.js.map +1 -0
  1311. package/dist/training/storage/cache/index.d.ts +2 -0
  1312. package/dist/training/storage/cache/index.js +2 -0
  1313. package/dist/training/storage/cache/index.js.map +1 -0
  1314. package/dist/training/storage/cache/persistent.d.ts +12 -0
  1315. package/dist/training/storage/cache/persistent.js +124 -0
  1316. package/dist/training/storage/cache/persistent.js.map +1 -0
  1317. package/dist/training/storage/cache/schema.d.ts +2 -0
  1318. package/dist/training/storage/cache/schema.js +62 -0
  1319. package/dist/training/storage/cache/schema.js.map +1 -0
  1320. package/dist/training/storage/content.d.ts +13 -0
  1321. package/dist/training/storage/content.js +44 -0
  1322. package/dist/training/storage/content.js.map +1 -0
  1323. package/dist/training/storage/evaluation-json.d.ts +12 -0
  1324. package/dist/training/storage/evaluation-json.js +46 -0
  1325. package/dist/training/storage/evaluation-json.js.map +1 -0
  1326. package/dist/training/storage/filesystem.d.ts +6 -0
  1327. package/dist/training/storage/filesystem.js +95 -0
  1328. package/dist/training/storage/filesystem.js.map +1 -0
  1329. package/dist/training/storage/index.d.ts +6 -0
  1330. package/dist/training/storage/index.js +5 -0
  1331. package/dist/training/storage/index.js.map +1 -0
  1332. package/dist/training/storage/journal.d.ts +11 -0
  1333. package/dist/training/storage/journal.js +81 -0
  1334. package/dist/training/storage/journal.js.map +1 -0
  1335. package/dist/training/storage/permissions.d.ts +5 -0
  1336. package/dist/training/storage/permissions.js +40 -0
  1337. package/dist/training/storage/permissions.js.map +1 -0
  1338. package/dist/training/storage/store.d.ts +2 -0
  1339. package/dist/training/storage/store.js +162 -0
  1340. package/dist/training/storage/store.js.map +1 -0
  1341. package/dist/training/storage/types.d.ts +67 -0
  1342. package/dist/training/storage/types.js +2 -0
  1343. package/dist/training/storage/types.js.map +1 -0
  1344. package/dist/training/subjects/environment.d.ts +2 -0
  1345. package/dist/training/subjects/environment.js +14 -0
  1346. package/dist/training/subjects/environment.js.map +1 -0
  1347. package/dist/training/subjects/index.d.ts +3 -0
  1348. package/dist/training/subjects/index.js +3 -0
  1349. package/dist/training/subjects/index.js.map +1 -0
  1350. package/dist/training/subjects/registry.d.ts +15 -0
  1351. package/dist/training/subjects/registry.js +13 -0
  1352. package/dist/training/subjects/registry.js.map +1 -0
  1353. package/dist/training/testing/evidence.d.ts +6 -0
  1354. package/dist/training/testing/evidence.js +21 -0
  1355. package/dist/training/testing/evidence.js.map +1 -0
  1356. package/dist/training/testing/index.d.ts +1 -0
  1357. package/dist/training/testing/index.js +2 -0
  1358. package/dist/training/testing/index.js.map +1 -0
  1359. package/dist/training/viewer/cockpit/activity.d.ts +2 -0
  1360. package/dist/training/viewer/cockpit/activity.js +14 -0
  1361. package/dist/training/viewer/cockpit/activity.js.map +1 -0
  1362. package/dist/training/viewer/cockpit/evidence.d.ts +4 -0
  1363. package/dist/training/viewer/cockpit/evidence.js +58 -0
  1364. package/dist/training/viewer/cockpit/evidence.js.map +1 -0
  1365. package/dist/training/viewer/cockpit/format.d.ts +11 -0
  1366. package/dist/training/viewer/cockpit/format.js +27 -0
  1367. package/dist/training/viewer/cockpit/format.js.map +1 -0
  1368. package/dist/training/viewer/cockpit/index.d.ts +4 -0
  1369. package/dist/training/viewer/cockpit/index.js +5 -0
  1370. package/dist/training/viewer/cockpit/index.js.map +1 -0
  1371. package/dist/training/viewer/cockpit/interaction.d.ts +2 -0
  1372. package/dist/training/viewer/cockpit/interaction.js +103 -0
  1373. package/dist/training/viewer/cockpit/interaction.js.map +1 -0
  1374. package/dist/training/viewer/cockpit/overview.d.ts +4 -0
  1375. package/dist/training/viewer/cockpit/overview.js +62 -0
  1376. package/dist/training/viewer/cockpit/overview.js.map +1 -0
  1377. package/dist/training/viewer/cockpit/page.d.ts +2 -0
  1378. package/dist/training/viewer/cockpit/page.js +39 -0
  1379. package/dist/training/viewer/cockpit/page.js.map +1 -0
  1380. package/dist/training/viewer/cockpit/plots.d.ts +6 -0
  1381. package/dist/training/viewer/cockpit/plots.js +67 -0
  1382. package/dist/training/viewer/cockpit/plots.js.map +1 -0
  1383. package/dist/training/viewer/cockpit/responsive.d.ts +2 -0
  1384. package/dist/training/viewer/cockpit/responsive.js +86 -0
  1385. package/dist/training/viewer/cockpit/responsive.js.map +1 -0
  1386. package/dist/training/viewer/cockpit/styles.d.ts +2 -0
  1387. package/dist/training/viewer/cockpit/styles.js +349 -0
  1388. package/dist/training/viewer/cockpit/styles.js.map +1 -0
  1389. package/dist/training/viewer/costs.d.ts +4 -0
  1390. package/dist/training/viewer/costs.js +81 -0
  1391. package/dist/training/viewer/costs.js.map +1 -0
  1392. package/dist/training/viewer/from-trials.d.ts +33 -0
  1393. package/dist/training/viewer/from-trials.js +96 -0
  1394. package/dist/training/viewer/from-trials.js.map +1 -0
  1395. package/dist/training/viewer/index.d.ts +4 -0
  1396. package/dist/training/viewer/index.js +4 -0
  1397. package/dist/training/viewer/index.js.map +1 -0
  1398. package/dist/training/viewer/metrics/candidates.d.ts +10 -0
  1399. package/dist/training/viewer/metrics/candidates.js +56 -0
  1400. package/dist/training/viewer/metrics/candidates.js.map +1 -0
  1401. package/dist/training/viewer/metrics/index.d.ts +2 -0
  1402. package/dist/training/viewer/metrics/index.js +2 -0
  1403. package/dist/training/viewer/metrics/index.js.map +1 -0
  1404. package/dist/training/viewer/metrics/model.d.ts +4 -0
  1405. package/dist/training/viewer/metrics/model.js +11 -0
  1406. package/dist/training/viewer/metrics/model.js.map +1 -0
  1407. package/dist/training/viewer/metrics/recorded-costs.d.ts +4 -0
  1408. package/dist/training/viewer/metrics/recorded-costs.js +55 -0
  1409. package/dist/training/viewer/metrics/recorded-costs.js.map +1 -0
  1410. package/dist/training/viewer/metrics/scores.d.ts +11 -0
  1411. package/dist/training/viewer/metrics/scores.js +139 -0
  1412. package/dist/training/viewer/metrics/scores.js.map +1 -0
  1413. package/dist/training/viewer/metrics/types.d.ts +95 -0
  1414. package/dist/training/viewer/metrics/types.js +2 -0
  1415. package/dist/training/viewer/metrics/types.js.map +1 -0
  1416. package/dist/training/viewer/page.d.ts +4 -0
  1417. package/dist/training/viewer/page.js +7 -0
  1418. package/dist/training/viewer/page.js.map +1 -0
  1419. package/dist/training/viewer/projection.d.ts +3 -0
  1420. package/dist/training/viewer/projection.js +98 -0
  1421. package/dist/training/viewer/projection.js.map +1 -0
  1422. package/dist/training/viewer/server.d.ts +3 -0
  1423. package/dist/training/viewer/server.js +80 -0
  1424. package/dist/training/viewer/server.js.map +1 -0
  1425. package/dist/training/viewer/stream.d.ts +7 -0
  1426. package/dist/training/viewer/stream.js +70 -0
  1427. package/dist/training/viewer/stream.js.map +1 -0
  1428. package/dist/training/viewer/types.d.ts +172 -0
  1429. package/dist/training/viewer/types.js +2 -0
  1430. package/dist/training/viewer/types.js.map +1 -0
  1431. package/examples/training/AGENTS.md +19 -0
  1432. package/examples/training/fixed-questions/AGENTS.md +7 -0
  1433. package/examples/training/fixed-questions/README.md +19 -0
  1434. package/examples/training/fixed-questions/evals/AGENTS.md +7 -0
  1435. package/examples/training/fixed-questions/evals/delivery.spawnfile-training.yaml +33 -0
  1436. package/examples/training/fixed-questions/evals/item.grader.yaml +41 -0
  1437. package/examples/training/native-formatting/AGENTS.md +10 -0
  1438. package/examples/training/native-formatting/PROMPT.md +4 -0
  1439. package/examples/training/native-formatting/README.md +63 -0
  1440. package/examples/training/native-formatting/SOUL.md +4 -0
  1441. package/examples/training/native-formatting/evals/AGENTS.md +6 -0
  1442. package/examples/training/native-formatting/evals/test.spawnfile-training.yaml +22 -0
  1443. package/examples/training/native-formatting/evals/train.spawnfile-training.yaml +32 -0
  1444. package/examples/training/newsroom-reporting/.spawnignore +4 -0
  1445. package/examples/training/newsroom-reporting/AGENTS.md +24 -0
  1446. package/examples/training/newsroom-reporting/README.md +255 -0
  1447. package/examples/training/newsroom-reporting/Spawnfile +248 -0
  1448. package/examples/training/newsroom-reporting/environment/AGENTS.md +14 -0
  1449. package/examples/training/newsroom-reporting/environment/scribe/AGENTS.md +28 -0
  1450. package/examples/training/newsroom-reporting/environment/scribe/RUNBOOK.md +50 -0
  1451. package/examples/training/newsroom-reporting/environment/scribe/SOUL.md +6 -0
  1452. package/examples/training/newsroom-reporting/evals/AGENTS.md +14 -0
  1453. package/examples/training/newsroom-reporting/evals/test.spawnfile-training.yaml +165 -0
  1454. package/examples/training/newsroom-reporting/evals/train.spawnfile-training.yaml +195 -0
  1455. package/package.json +19 -6
  1456. package/runtimes.yaml +6 -6
  1457. package/dist/cli/paideiaDelegation.js +0 -211
  1458. package/dist/cli/paideiaSupervisor.d.ts +0 -17
  1459. package/dist/cli/paideiaSupervisor.js +0 -48
@@ -0,0 +1,58 @@
1
+ import { escapeHtml, shown, table } from './format.js';
2
+ function checkTree(checks) {
3
+ if (checks.length === 0)
4
+ return '<p class="muted">No checks supplied.</p>';
5
+ return `<ul>${checks.map((check) => `<li><strong>${escapeHtml(check.label)}</strong> — ${escapeHtml(check.status)};
6
+ score ${shown(check.score)}${check.weight === undefined ? '' : ` · weight ${shown(check.weight)} · contribution ${shown(check.weightedContribution ?? null)}`} <span class="muted">(${escapeHtml(check.id)})</span>
7
+ ${check.judgeFailure === undefined ? '' : `<p class="muted">Judge failure: ${escapeHtml(check.judgeFailure.cause)}${check.judgeFailure.status === undefined ? '' : ` ${check.judgeFailure.status}`}${check.judgeFailure.kind === undefined ? '' : ` (${escapeHtml(check.judgeFailure.kind)})`} · judge ${escapeHtml(check.judgeFailure.judge)} · requested ${escapeHtml(check.judgeFailure.requestedModel ?? 'unknown')} · answered ${escapeHtml(check.judgeFailure.responseModel ?? 'unknown')} via ${escapeHtml(check.judgeFailure.responseRoute ?? 'unknown')}</p>`}
8
+ <p>Evidence: ${escapeHtml(check.evidenceIds.join(', ') || 'None supplied')}</p>
9
+ ${check.children.length === 0 ? '' : checkTree(check.children)}</li>`).join('')}</ul>`;
10
+ }
11
+ function money(value) {
12
+ if (value === null)
13
+ return 'Unknown';
14
+ return value.low === value.high ? `$${value.low.toFixed(6)}` : `$${value.low.toFixed(6)}–$${value.high.toFixed(6)}`;
15
+ }
16
+ export function costView(costs) {
17
+ if (costs === undefined)
18
+ return '<p class="muted">No cost estimate or recorded valuation supplied.</p>';
19
+ const { planned, observed } = costs;
20
+ const sources = [...(planned?.lines ?? []), ...(observed?.lines ?? [])].flatMap(line => line.price === null ? [] : [line.price]);
21
+ const references = [...new Map(sources.map(price => [JSON.stringify(price), price])).values()].map(price => `<li>${price.source === null ? 'Source link unavailable' : `<a href="${escapeHtml(price.source)}" rel="noreferrer">Rate source</a>`} · checked ${escapeHtml(price.checkedAt)}</li>`).join('');
22
+ const estimate = planned === undefined ? '<p class="muted">No preflight estimate supplied.</p>' :
23
+ `<p>API-equivalent estimate: <strong>${money(planned.total)}</strong> · known subtotal ${money(planned.knownSubtotal)} · ${escapeHtml(planned.coverage)}</p>
24
+ <p class="muted">Planning assumptions, not a spending ceiling or an observed charge.</p>
25
+ ${table(['Role / name', 'Phase', 'Requested model', 'Provider', 'Planned calls', 'Estimate USD'], planned.lines.map(line => [`${line.role} / ${line.name}`, line.phase, line.model, shown(line.provider), String(line.plannedCalls), money(line.amount)]))}`;
26
+ const recorded = observed === undefined ? '<p class="muted">No recorded cost valuation supplied.</p>' :
27
+ `<p>Recorded API-equivalent cost: <strong>${money(observed.total)}</strong> · known subtotal ${money(observed.knownSubtotal)}</p>
28
+ <p>Observed-entry pricing: ${escapeHtml(observed.completeness)} · usage capture: ${escapeHtml(observed.usageCoverage)}.</p>
29
+ <p class="muted">Unknown or invalid usage is not zero. Recorded totals may omit unobserved work. Subject model attribution is an unverified requested-model assumption.</p>
30
+ ${table(['Role / name', 'Recorded entries', 'API-equivalent USD', 'Known subtotal USD'], observed.groups.map(group => [`${group.role} / ${group.name}`, String(group.entryCount), money(group.amount), money(group.knownSubtotal)]))}
31
+ <details><summary>Recorded models, outcomes and token counts</summary>
32
+ ${table(['Role / name', 'Model / attribution', 'Requested model', 'Provider / route', 'Outcome', 'Input', 'Cache reads', 'Cache writes', 'Writes 5m / 1h', 'Output', 'Reasoning', 'Valuation / USD'], observed.lines.map(line => [`${line.role} / ${line.name}`, `${shown(line.model)} / ${line.modelBasis}`, shown(line.requestedModel),
33
+ `${shown(line.provider)} / ${shown(line.route)}`, line.outcome,
34
+ shown(line.usage?.inputTokens ?? null), shown(line.usage?.cachedInputTokens ?? null), shown(line.usage?.cacheWriteInputTokens ?? null),
35
+ `${shown(line.usage?.cacheWrite5mInputTokens ?? null)} / ${shown(line.usage?.cacheWrite1hInputTokens ?? null)}`,
36
+ shown(line.usage?.outputTokens ?? null), shown(line.usage?.reasoningTokens ?? null),
37
+ `${line.usage?.invalid ? 'Invalid usage; ' : ''}${line.valuationStatus} / ${money(line.amount)}`]))}</details>`;
38
+ return `<p>USD text-token valuation only. Subscription fees and subscription quota percentages are separate and unknown.</p>
39
+ ${estimate}${recorded}<p class="muted">Cache reads and cache writes are distinct subsets of input; reasoning is already included in output.</p>
40
+ ${references ? `<ul>${references}</ul>` : '<p class="muted">No dated rate source supplied.</p>'}`;
41
+ }
42
+ export function trialDetails(data) {
43
+ if (data.trials.length === 0)
44
+ return '<p class="empty-state">No trials supplied.</p>';
45
+ return data.trials.map((trial, index) => `<details class="detail-drawer" id="trial-${index}" data-trial-key="${escapeHtml(trial.id)}"><summary>Trial ${String(index + 1).padStart(2, '0')} · ${escapeHtml(trial.caseId)} <span class="badge">${escapeHtml(trial.status.split(' ')[0])}</span></summary>
46
+ <div class="panel-body"><p class="mono-id">${escapeHtml(trial.id)} · candidate ${escapeHtml(trial.candidateId)}</p><p>Optimizer reward: score ${shown(trial.score)}</p>
47
+ <h3>Required checks</h3>${checkTree(trial.checks)}
48
+ <details><summary>Evidence events · ${trial.events.length}</summary>${table(['ID', 'Type', 'Timestamp', 'Summary'], trial.events.map(event => [event.id, event.type, event.timestamp, event.summary]))}</details>
49
+ <details><summary>Observation coverage</summary>${table(['Channel', 'Completeness', 'Ordering'], trial.coverage.map(row => [row.channel, row.completeness, row.ordering]))}</details>
50
+ </div></details>`).join('');
51
+ }
52
+ export function provenance(data) {
53
+ return `<p>Selected candidate: ${escapeHtml(data.optimizer?.selectedCandidateId ?? 'None supplied')}</p>
54
+ ${data.optimizer === undefined ? '<p>No optimizer progress supplied.</p>' : `<p>${escapeHtml(data.optimizer.name)} · ${data.optimizer.evaluations}/${data.optimizer.maxMetricCalls} evaluations · ${data.optimizer.proposals}/${data.optimizer.maxProposals} proposals</p>`}
55
+ ${table(['Candidate identity', 'Parents', 'Validation reward', 'Editable resources'], data.candidates.map(candidate => [candidate.id, candidate.parentIds.join(', ') || 'Baseline', shown(candidate.validationScore), candidate.editablePaths.join('\n')]))}
56
+ <h3>Recorded usage</h3>${table(['Purpose', 'Model / attribution', 'Route', 'Input', 'Cache reads', 'Output', 'Source'], data.usage.map(entry => [entry.purpose, `${shown(entry.model)} / ${entry.model === null ? 'unknown' : entry.modelBasis ?? 'provider-reported'}`, shown(entry.route), shown(entry.usage?.inputTokens ?? null), shown(entry.usage?.cachedInputTokens ?? null), shown(entry.usage?.outputTokens ?? null), entry.usage?.source ?? 'Unknown']))}`;
57
+ }
58
+ //# sourceMappingURL=evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../../src/training/viewer/cockpit/evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare function escapeHtml(value: string): string;
2
+ export declare function shown(value: string | number | null): string;
3
+ export declare function number(value: number | null): string;
4
+ export declare function percent(value: number | null): string;
5
+ export declare function delta(value: number | null): string;
6
+ export declare function shortId(value: string): string;
7
+ export declare function money(value: {
8
+ low: number;
9
+ high: number;
10
+ } | null | undefined): string;
11
+ export declare function table(headers: string[], rows: string[][]): string;
@@ -0,0 +1,27 @@
1
+ export function escapeHtml(value) {
2
+ return value.replace(/[&<>"']/g, character => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;',
3
+ '"': '&quot;', "'": '&#39;' })[character]);
4
+ }
5
+ export function shown(value) { return value === null ? 'Unknown' : String(value); }
6
+ export function number(value) {
7
+ if (value === null)
8
+ return '—';
9
+ return new Intl.NumberFormat('en-US', { maximumFractionDigits: 1 }).format(value);
10
+ }
11
+ export function percent(value) { return value === null ? '—' : number(value * 100); }
12
+ export function delta(value) {
13
+ return value === null ? '—' : `${value > 0 ? '+' : value < 0 ? '−' : ''}${number(Math.abs(value) * 100)}`;
14
+ }
15
+ export function shortId(value) { return value.replace(/^sha256:/, '').slice(0, 8); }
16
+ export function money(value) {
17
+ if (value == null)
18
+ return '—';
19
+ return value.low === value.high ? `$${value.low.toFixed(2)}` : `$${value.low.toFixed(2)}–${value.high.toFixed(2)}`;
20
+ }
21
+ export function table(headers, rows) {
22
+ if (rows.length === 0)
23
+ return '<p class="empty-state">No entries supplied.</p>';
24
+ return `<div class="scroll"><table class="compact-table"><thead><tr>${headers.map(value => `<th scope="col">${escapeHtml(value)}</th>`).join('')}</tr></thead>
25
+ <tbody>${rows.map(row => `<tr>${row.map(value => `<td>${escapeHtml(value)}</td>`).join('')}</tr>`).join('')}</tbody></table></div>`;
26
+ }
27
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/training/viewer/cockpit/format.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;QACrF,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAA6B,IAAY,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnH,MAAM,UAAU,MAAM,CAAC,KAAoB;IACzC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAC/B,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAoB,IAAY,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAE5G,MAAM,UAAU,KAAK,CAAC,KAAoB;IACxC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa,IAAY,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpG,MAAM,UAAU,KAAK,CAAC,KAAuD;IAC3E,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC;IAC9B,OAAO,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACrH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAiB,EAAE,IAAgB;IACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,iDAAiD,CAAC;IAChF,OAAO,+DAA+D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;SACzI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC;AACpI,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { renderCockpit } from './page.js';
2
+ export { cockpitStyles } from './styles.js';
3
+ export { cockpitScript } from './interaction.js';
4
+ export { escapeHtml } from './format.js';
@@ -0,0 +1,5 @@
1
+ export { renderCockpit } from './page.js';
2
+ export { cockpitStyles } from './styles.js';
3
+ export { cockpitScript } from './interaction.js';
4
+ export { escapeHtml } from './format.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/training/viewer/cockpit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** Shipped read-only browser controller; source data comes only from the local viewer. */
2
+ export declare const cockpitScript = "\n(function () {\n let stream, controller, fetching = false, pending = false, unloaded = false, terminal = false;\n const current = () => location.hash.slice(1).split('/');\n const state = text => { const label = document.getElementById('stream-state'); if (label) label.textContent = text; };\n const drawers = () => Array.from(document.querySelectorAll('[data-view-pane]')).flatMap(pane => {\n const positions = new Map();\n return Array.from(pane.querySelectorAll('details')).map(node => {\n const identity = node.closest('[data-trial-key]')?.dataset.trialKey ?? null;\n const ordinal = positions.get(identity) ?? 0; positions.set(identity, ordinal + 1);\n return [JSON.stringify([pane.dataset.viewPane, identity, ordinal]), node];\n });\n });\n const display = (view, metric) => {\n const buttons = Array.from(document.querySelectorAll('[data-view-button]'));\n const panes = Array.from(document.querySelectorAll('[data-view-pane]'));\n const metrics = Array.from(document.querySelectorAll('[data-metric-panel]'));\n const target = buttons.some(button => button.dataset.viewButton === view) ? view : 'overview';\n const chosen = metrics.some(pane => pane.dataset.metricPanel === metric) ? metric : (metrics[0]?.dataset.metricPanel ?? '0');\n for (const button of buttons) {\n const active = button.dataset.viewButton === target;\n button.classList.toggle('active', active); button.setAttribute('aria-pressed', String(active));\n }\n for (const pane of panes) pane.hidden = pane.dataset.viewPane !== target;\n for (const pane of metrics) pane.hidden = pane.dataset.metricPanel !== chosen;\n for (const select of document.querySelectorAll('[data-metric-select]')) select.value = chosen;\n location.hash = target + '/' + chosen;\n };\n const apply = next => {\n // Read presentation state at commit time: the user may interact before a snapshot arrives.\n const live = document.getElementById('poll').checked;\n const scroll = new Map(Array.from(document.querySelectorAll('[data-view-pane], .sidebar')).map(pane => [pane.dataset.viewPane ?? 'sidebar', pane.scrollTop]));\n const opened = new Map(drawers().map(([key, node]) => [key, node.open]));\n const focusId = document.activeElement?.id;\n document.querySelector('.shell').replaceWith(next);\n document.getElementById('poll').checked = live;\n bind(); display(current()[0], current()[1]);\n for (const pane of document.querySelectorAll('[data-view-pane], .sidebar')) pane.scrollTop = scroll.get(pane.dataset.viewPane ?? 'sidebar') ?? 0;\n for (const [key, node] of drawers()) node.open = opened.get(key) ?? false;\n if (focusId) document.getElementById(focusId)?.focus({ preventScroll: true });\n };\n const refresh = async () => {\n if (unloaded || terminal) return;\n if (fetching) { pending = true; return; }\n fetching = true;\n controller = new AbortController();\n const timeout = setTimeout(() => controller?.abort(), 10000);\n try {\n const response = await fetch(location.pathname + location.search, { cache: 'no-store', signal: controller.signal });\n if (!response.ok) throw new Error();\n const next = new DOMParser().parseFromString(await response.text(), 'text/html').querySelector('.shell');\n if (!next) throw new Error();\n if (unloaded || terminal) return;\n apply(next);\n const live = document.getElementById('poll').checked;\n state(live ? (stream?.readyState === 1 ? 'Streaming' : 'Connecting') : 'Paused');\n } catch { if (!unloaded && !terminal) state('Snapshot unavailable'); }\n finally { clearTimeout(timeout); controller = undefined; fetching = false; if (pending) { pending = false; void refresh(); } }\n };\n const connect = () => {\n stream?.close(); stream = undefined;\n if (terminal) { state('Viewer closed'); return; }\n if (!document.getElementById('poll').checked) { pending = false; state('Paused'); return; }\n state('Connecting');\n const connection = new EventSource('/api/events' + location.search); stream = connection;\n const active = () => stream === connection && !unloaded && !terminal;\n stream.addEventListener('open', () => { if (active()) state('Streaming'); });\n stream.addEventListener('snapshot', () => { if (active() && document.visibilityState !== 'hidden') void refresh(); });\n stream.addEventListener('final', event => {\n if (!active()) return;\n terminal = true; pending = false; controller?.abort(); connection.close();\n try {\n const payload = JSON.parse(event.data);\n if (typeof payload.html === 'string') {\n const next = new DOMParser().parseFromString(payload.html, 'text/html').querySelector('.shell');\n if (!next) throw new Error();\n apply(next);\n }\n document.getElementById('poll').checked = false;\n state('Viewer closed');\n } catch { state('Final snapshot unavailable'); }\n });\n stream.addEventListener('unavailable', () => { if (active()) state('Snapshot unavailable'); });\n stream.addEventListener('error', () => { if (active()) state('Disconnected \u00B7 reconnecting'); });\n };\n const bind = () => {\n for (const button of document.querySelectorAll('[data-view-button]')) button.addEventListener('click', () => display(button.dataset.viewButton, current()[1] ?? '0'));\n for (const select of document.querySelectorAll('[data-metric-select]')) select.addEventListener('change', () => { location.search = '?metric=' + select.value; });\n for (const button of document.querySelectorAll('[data-open-trial]')) button.addEventListener('click', () => {\n display('trials', current()[1] ?? '0');\n const drawer = document.getElementById('trial-' + button.dataset.openTrial);\n if (drawer) { drawer.open = true; drawer.scrollIntoView({ block: 'nearest' }); drawer.focus(); }\n });\n document.getElementById('refresh').addEventListener('click', () => { void refresh(); });\n document.getElementById('poll').addEventListener('change', connect);\n };\n bind(); display(current()[0] ?? 'overview', current()[1] ?? '0'); connect();\n document.addEventListener('visibilitychange', () => { if (document.visibilityState === 'visible' && document.getElementById('poll').checked) void refresh(); });\n window.addEventListener('beforeunload', () => { unloaded = true; pending = false; stream?.close(); controller?.abort(); });\n})();\n";
@@ -0,0 +1,103 @@
1
+ /** Shipped read-only browser controller; source data comes only from the local viewer. */
2
+ export const cockpitScript = `
3
+ (function () {
4
+ let stream, controller, fetching = false, pending = false, unloaded = false, terminal = false;
5
+ const current = () => location.hash.slice(1).split('/');
6
+ const state = text => { const label = document.getElementById('stream-state'); if (label) label.textContent = text; };
7
+ const drawers = () => Array.from(document.querySelectorAll('[data-view-pane]')).flatMap(pane => {
8
+ const positions = new Map();
9
+ return Array.from(pane.querySelectorAll('details')).map(node => {
10
+ const identity = node.closest('[data-trial-key]')?.dataset.trialKey ?? null;
11
+ const ordinal = positions.get(identity) ?? 0; positions.set(identity, ordinal + 1);
12
+ return [JSON.stringify([pane.dataset.viewPane, identity, ordinal]), node];
13
+ });
14
+ });
15
+ const display = (view, metric) => {
16
+ const buttons = Array.from(document.querySelectorAll('[data-view-button]'));
17
+ const panes = Array.from(document.querySelectorAll('[data-view-pane]'));
18
+ const metrics = Array.from(document.querySelectorAll('[data-metric-panel]'));
19
+ const target = buttons.some(button => button.dataset.viewButton === view) ? view : 'overview';
20
+ const chosen = metrics.some(pane => pane.dataset.metricPanel === metric) ? metric : (metrics[0]?.dataset.metricPanel ?? '0');
21
+ for (const button of buttons) {
22
+ const active = button.dataset.viewButton === target;
23
+ button.classList.toggle('active', active); button.setAttribute('aria-pressed', String(active));
24
+ }
25
+ for (const pane of panes) pane.hidden = pane.dataset.viewPane !== target;
26
+ for (const pane of metrics) pane.hidden = pane.dataset.metricPanel !== chosen;
27
+ for (const select of document.querySelectorAll('[data-metric-select]')) select.value = chosen;
28
+ location.hash = target + '/' + chosen;
29
+ };
30
+ const apply = next => {
31
+ // Read presentation state at commit time: the user may interact before a snapshot arrives.
32
+ const live = document.getElementById('poll').checked;
33
+ const scroll = new Map(Array.from(document.querySelectorAll('[data-view-pane], .sidebar')).map(pane => [pane.dataset.viewPane ?? 'sidebar', pane.scrollTop]));
34
+ const opened = new Map(drawers().map(([key, node]) => [key, node.open]));
35
+ const focusId = document.activeElement?.id;
36
+ document.querySelector('.shell').replaceWith(next);
37
+ document.getElementById('poll').checked = live;
38
+ bind(); display(current()[0], current()[1]);
39
+ for (const pane of document.querySelectorAll('[data-view-pane], .sidebar')) pane.scrollTop = scroll.get(pane.dataset.viewPane ?? 'sidebar') ?? 0;
40
+ for (const [key, node] of drawers()) node.open = opened.get(key) ?? false;
41
+ if (focusId) document.getElementById(focusId)?.focus({ preventScroll: true });
42
+ };
43
+ const refresh = async () => {
44
+ if (unloaded || terminal) return;
45
+ if (fetching) { pending = true; return; }
46
+ fetching = true;
47
+ controller = new AbortController();
48
+ const timeout = setTimeout(() => controller?.abort(), 10000);
49
+ try {
50
+ const response = await fetch(location.pathname + location.search, { cache: 'no-store', signal: controller.signal });
51
+ if (!response.ok) throw new Error();
52
+ const next = new DOMParser().parseFromString(await response.text(), 'text/html').querySelector('.shell');
53
+ if (!next) throw new Error();
54
+ if (unloaded || terminal) return;
55
+ apply(next);
56
+ const live = document.getElementById('poll').checked;
57
+ state(live ? (stream?.readyState === 1 ? 'Streaming' : 'Connecting') : 'Paused');
58
+ } catch { if (!unloaded && !terminal) state('Snapshot unavailable'); }
59
+ finally { clearTimeout(timeout); controller = undefined; fetching = false; if (pending) { pending = false; void refresh(); } }
60
+ };
61
+ const connect = () => {
62
+ stream?.close(); stream = undefined;
63
+ if (terminal) { state('Viewer closed'); return; }
64
+ if (!document.getElementById('poll').checked) { pending = false; state('Paused'); return; }
65
+ state('Connecting');
66
+ const connection = new EventSource('/api/events' + location.search); stream = connection;
67
+ const active = () => stream === connection && !unloaded && !terminal;
68
+ stream.addEventListener('open', () => { if (active()) state('Streaming'); });
69
+ stream.addEventListener('snapshot', () => { if (active() && document.visibilityState !== 'hidden') void refresh(); });
70
+ stream.addEventListener('final', event => {
71
+ if (!active()) return;
72
+ terminal = true; pending = false; controller?.abort(); connection.close();
73
+ try {
74
+ const payload = JSON.parse(event.data);
75
+ if (typeof payload.html === 'string') {
76
+ const next = new DOMParser().parseFromString(payload.html, 'text/html').querySelector('.shell');
77
+ if (!next) throw new Error();
78
+ apply(next);
79
+ }
80
+ document.getElementById('poll').checked = false;
81
+ state('Viewer closed');
82
+ } catch { state('Final snapshot unavailable'); }
83
+ });
84
+ stream.addEventListener('unavailable', () => { if (active()) state('Snapshot unavailable'); });
85
+ stream.addEventListener('error', () => { if (active()) state('Disconnected · reconnecting'); });
86
+ };
87
+ const bind = () => {
88
+ for (const button of document.querySelectorAll('[data-view-button]')) button.addEventListener('click', () => display(button.dataset.viewButton, current()[1] ?? '0'));
89
+ for (const select of document.querySelectorAll('[data-metric-select]')) select.addEventListener('change', () => { location.search = '?metric=' + select.value; });
90
+ for (const button of document.querySelectorAll('[data-open-trial]')) button.addEventListener('click', () => {
91
+ display('trials', current()[1] ?? '0');
92
+ const drawer = document.getElementById('trial-' + button.dataset.openTrial);
93
+ if (drawer) { drawer.open = true; drawer.scrollIntoView({ block: 'nearest' }); drawer.focus(); }
94
+ });
95
+ document.getElementById('refresh').addEventListener('click', () => { void refresh(); });
96
+ document.getElementById('poll').addEventListener('change', connect);
97
+ };
98
+ bind(); display(current()[0] ?? 'overview', current()[1] ?? '0'); connect();
99
+ document.addEventListener('visibilitychange', () => { if (document.visibilityState === 'visible' && document.getElementById('poll').checked) void refresh(); });
100
+ window.addEventListener('beforeunload', () => { unloaded = true; pending = false; stream?.close(); controller?.abort(); });
101
+ })();
102
+ `;
103
+ //# sourceMappingURL=interaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../../src/training/viewer/cockpit/interaction.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoG5B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ViewerData } from '../types.js';
2
+ import type { CockpitMetrics, MetricDefinition } from '../metrics/index.js';
3
+ export declare function metricOverview(data: ViewerData, model: CockpitMetrics, metric: MetricDefinition, index: number): string;
4
+ export declare function costOverview(data: ViewerData, model: CockpitMetrics): string;
@@ -0,0 +1,62 @@
1
+ import { comparison, convergence, costChart, scoreAt } from './plots.js';
2
+ import { delta, escapeHtml as e, money, number, percent } from './format.js';
3
+ function metricCard(label, value, note, tone = '') {
4
+ return `<div class="metric-card"><div class="metric-label">${e(label)}</div><div class="metric-value ${tone}">${e(value)}</div><div class="metric-note">${e(note)}</div></div>`;
5
+ }
6
+ function scoreCard(model, metric, split) {
7
+ const candidate = model.candidates.at(-1);
8
+ const score = candidate === undefined ? undefined : scoreAt(model, candidate.id, split, metric.id);
9
+ const paired = model.comparisons.find(row => row.candidateId === candidate?.id && row.split === split && row.metricId === metric.id);
10
+ const change = paired?.delta ?? null;
11
+ const pairedValue = change !== null;
12
+ const note = pairedValue
13
+ ? `${delta(change)} pts vs baseline · ${paired.matchedCases}/${paired.expectedCases ?? '?'} matched cases`
14
+ : score === undefined ? 'No measured cases' : `No paired comparison · ${score.observedCases}/${score.expectedCases ?? '?'} observed cases`;
15
+ return metricCard(`${split} · latest`, percent(pairedValue ? paired.candidateValue : score?.value ?? null), note, change === null || change === 0 ? 'neutral' : change > 0 ? 'positive' : 'negative');
16
+ }
17
+ function trialMatrix(data, model, metric) {
18
+ if (!data.trials.length)
19
+ return '<p class="empty-state">Evaluated trials will appear here.</p>';
20
+ const rows = data.trials.map((trial, index) => {
21
+ const mapped = model.trialIndex[index];
22
+ const candidate = model.candidates.find(row => row.id === mapped.candidateId);
23
+ const split = mapped.split;
24
+ const status = trial.status.split(' ')[0];
25
+ const result = ['pass', 'fail'].includes(status) ? status : 'unknown';
26
+ return `<tr><td><button class="trial-button" data-open-trial="${index}">${e(candidate?.label ?? 'Unmapped')} <span class="faint">↗</span></button></td>
27
+ <td class="case-label">${e(trial.caseId)}</td><td>${e(split)}</td><td><span class="status-cell ${result}">${e(status)}</span></td><td>${percent(trial.score)}</td></tr>`;
28
+ }).join('');
29
+ return `<div class="scroll"><table class="matrix-table"><thead><tr><th scope="col">Prompt</th><th scope="col">Case</th><th scope="col">Split</th><th scope="col">Required gates</th><th scope="col">Reward / 100</th></tr></thead><tbody>${rows}</tbody></table></div>
30
+ <div class="panel-footer">${e(metric.label)} is plotted above. A failed required gate gives optimizer reward 0. Select a trial to inspect it.</div>`;
31
+ }
32
+ export function metricOverview(data, model, metric, index) {
33
+ const observed = data.costs?.observed;
34
+ const note = observed?.total == null ? 'Known subtotal · total incomplete' : 'Recorded text-token valuation';
35
+ const latest = model.candidates.at(-1);
36
+ const developmentTrials = model.trialIndex.filter(trial => trial.split === 'train' || trial.split === 'validation').length;
37
+ const val = model.comparisons.find(row => row.candidateId === latest?.id && row.metricId === metric.id && row.split === 'validation');
38
+ const comparisonTitle = val?.delta == null ? 'Awaiting validation' : val.delta < 0 ? 'Validation went down' : val.delta > 0 ? 'Validation improved' : 'Validation unchanged';
39
+ const kindLabel = metric.kind === 'strict' ? 'Optimizer reward · required gates applied' : metric.kind === 'stage' ? 'Raw stage score · before required gates' : 'Recorded check score';
40
+ return `<div class="metric-view" data-metric-panel="${index}">
41
+ <div class="metric-grid">${scoreCard(model, metric, 'train')}${scoreCard(model, metric, 'validation')}
42
+ ${metricCard('Development trials', number(developmentTrials), `${model.candidates.length} prompt versions observed`)}
43
+ ${metricCard('API equivalent', money(observed?.total ?? observed?.knownSubtotal), note)}</div>
44
+ <div class="chart-grid">
45
+ <section class="panel convergence-panel"><h2 class="panel-title">Trial trend</h2><div class="panel-body">
46
+ <div class="chart-controls"><strong>${e(metric.label)} <span class="faint">/ 100</span></strong><label class="screen-reader-only" for="metric-${index}">Chart metric</label><select id="metric-${index}" class="chart-select" data-metric-select>${model.metrics.map((item, option) => `<option value="${option}"${index === option ? ' selected' : ''}>${e(item.label)}${item.kind === 'strict' ? ' · gated' : ''}</option>`).join('')}</select></div>
47
+ <div class="chart-legend"><span class="legend-key train">Training</span><span class="legend-key validation">Validation</span></div>
48
+ <div class="chart-wrap">${convergence(model, metric)}</div></div><p class="chart-caption">${kindLabel}. Trial order on x-axis; cases may differ. Missing values stay gaps.</p></section>
49
+ <section class="panel comparison-panel"><h2 class="panel-title">Generalization</h2><div class="panel-body"><p class="eyebrow">Same validation cases</p><h3 class="comparison-title">${comparisonTitle}</h3>${comparison(model, metric)}</div><p class="chart-caption">${model.candidates.length < 3 ? 'Too few prompt versions to establish convergence.' : 'Candidate history is measured progress, not proof of convergence.'}</p></section>
50
+ </div>
51
+ <section class="panel matrix-panel"><h2 class="panel-title">Trial results</h2><div class="matrix-body">${trialMatrix(data, model, metric)}</div></section>
52
+ </div>`;
53
+ }
54
+ export function costOverview(data, model) {
55
+ const observed = data.costs?.observed;
56
+ return `<div class="metric-grid">${metricCard('API equivalent', money(observed?.total ?? observed?.knownSubtotal), observed?.total == null ? 'Known subtotal; incomplete total' : 'Recorded valuation')}
57
+ ${metricCard('Planned range', money(data.costs?.planned?.total), 'Dry-run assumptions')}
58
+ ${metricCard('Recorded calls', number(model.costs.reduce((sum, row) => sum + row.entryCount, 0)), 'Subject + judges + optimizer')}
59
+ ${metricCard('Subscription quota', '—', 'Not supplied by providers')}</div>
60
+ <section class="panel"><h2 class="panel-title">Where the work went</h2><div class="panel-body">${costChart(model)}</div></section>`;
61
+ }
62
+ //# sourceMappingURL=overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overview.js","sourceRoot":"","sources":["../../../../src/training/viewer/cockpit/overview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { ViewerData } from '../types.js';
2
+ export declare function renderCockpit(data: ViewerData, nonce: string, metricIndex?: number): string;
@@ -0,0 +1,39 @@
1
+ import { buildCockpitMetrics } from '../metrics/index.js';
2
+ import { cockpitStyles } from './styles.js';
3
+ import { cockpitScript } from './interaction.js';
4
+ import { escapeHtml as e, shortId } from './format.js';
5
+ import { costView, provenance, trialDetails } from './evidence.js';
6
+ import { costOverview, metricOverview } from './overview.js';
7
+ import { liveActivity } from './activity.js';
8
+ function navigation(model, data) {
9
+ return [['overview', 'Overview', '↗'], ['trials', 'Trials', String(data.trials.length)],
10
+ ['costs', 'Costs & usage', 'USD'], ['provenance', 'Provenance', String(model.candidates.length)]].map(([view, label, count]) => `<button class="nav-item${view === 'overview' ? ' active' : ''}" data-view-button="${view}" aria-pressed="${view === 'overview'}"><span>${label}</span><span class="nav-count">${count}</span></button>`).join('');
11
+ }
12
+ export function renderCockpit(data, nonce, metricIndex = 0) {
13
+ const model = buildCockpitMetrics(data);
14
+ const activeIndex = model.metrics[metricIndex] === undefined ? 0 : metricIndex;
15
+ const failed = data.experiment.status === 'failed';
16
+ const replay = data.experiment.phase === 'replay' || ['completed', 'complete', 'failed'].includes(data.experiment.status);
17
+ const badge = failed ? 'Run stopped' : data.experiment.status;
18
+ const modelNames = [...new Set(data.costs?.observed?.lines.map(line => line.model ?? line.requestedModel).filter(Boolean) ?? [])];
19
+ const phaseCounts = ['train', 'validation', 'test'].map(split => {
20
+ const count = data.cases.filter(row => row.split === split).length;
21
+ return `${split} ${split === 'test' && count === 0 ? '—' : count}`;
22
+ }).join(' · ');
23
+ return `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
24
+ <title>${e(data.experiment.title)} · Training</title><style nonce="${e(nonce)}">${cockpitStyles}</style></head>
25
+ <body><div class="shell"><header class="topbar"><div class="brand"><span class="brand-mark" aria-hidden="true">◈</span> TRAINING <span class="top-title" title="${e(data.experiment.title)}">${e(data.experiment.title)}</span></div>
26
+ <div class="header-actions"><span class="badge ${failed ? 'bad' : 'good'}"><span class="dot"></span>${e(badge)}</span><button id="refresh" class="refresh-button">↻ Refresh</button><label><input id="poll" type="checkbox"${replay ? '' : ' checked'}> Live</label></div></header>
27
+ <div class="workspace"><aside class="sidebar"><section class="panel"><h2 class="panel-title">Experiment</h2><div class="panel-body"><p class="experiment-label">${e(data.experiment.title.split(' — ')[0])}</p><p class="muted">${e(data.optimizer?.name ?? 'Evaluation')}</p><p class="mono-id">run ${e(shortId(data.experiment.id))}</p></div><div class="panel-footer">${e(phaseCounts)}<br>Selected: ${e(model.candidates.find(candidate => candidate.selected)?.label ?? 'pending')}</div></section>
28
+ <nav class="panel" aria-label="Experiment views"><h2 class="panel-title">Console</h2><div class="panel-body">${navigation(model, data)}</div></nav>
29
+ <section class="panel budget-panel"><h2 class="panel-title">Budget</h2><div class="panel-body"><div class="budget-row"><span class="muted">Evaluations</span><strong>${data.optimizer ? `${data.optimizer.evaluations}/${data.optimizer.maxMetricCalls}` : '—'}</strong></div>
30
+ <div class="budget-row"><span class="muted">Proposals</span><strong>${data.optimizer ? `${data.optimizer.proposals}/${data.optimizer.maxProposals}` : '—'}</strong></div><p class="muted">${e(modelNames.join(' · ') || 'Model identity not supplied')}</p></div><div class="panel-footer">Local experiment · read only</div></section>${liveActivity(data)}</aside>
31
+ <main class="cockpit-main"><section class="view-pane" data-view-pane="overview" aria-label="Training overview">
32
+ ${data.trials.length ? metricOverview(data, model, model.metrics[activeIndex], activeIndex) : '<section class="panel"><h2 class="panel-title">Trial trend</h2><div class="empty-state"><strong>No measured scores yet.</strong><span>Charts appear when the first trial is evaluated.</span></div></section>'}</section>
33
+ <section class="view-pane inspector" data-view-pane="trials" hidden><div class="overview-head"><div><p class="eyebrow">Drill down</p><h1 class="outcome-title">Trials & evidence</h1></div><span class="badge">${data.trials.length} trials</span></div>${trialDetails(data)}</section>
34
+ <section class="view-pane inspector" data-view-pane="costs" hidden><div class="overview-head"><div><p class="eyebrow">Recorded work</p><h1 class="outcome-title">Costs & usage</h1></div></div>${costOverview(data, model)}<details class="detail-drawer"><summary>Models, tokens & pricing evidence</summary><div class="panel-body">${costView(data.costs)}</div></details></section>
35
+ <section class="view-pane inspector" data-view-pane="provenance" hidden><div class="overview-head"><div><p class="eyebrow">Reproducibility</p><h1 class="outcome-title">Prompt provenance</h1></div></div><section class="panel"><h2 class="panel-title">Recorded identities</h2><div class="panel-body">${provenance(data)}</div></section></section>
36
+ </main></div><footer class="statusbar"><div class="status-group"><span>mode: <span class="status-value">${replay ? 'replay' : 'live'}</span></span><span id="stream-state">${replay ? 'Paused' : 'Connecting'}</span><span>source: <span class="status-value">recorded evidence</span></span></div><div class="status-group"><span>updated: <span class="status-value">${e(data.experiment.updatedAt)}</span></span><span class="${failed ? 'negative' : 'muted'}">${e(data.experiment.status)}</span></div></footer>
37
+ </div><script nonce="${e(nonce)}">${cockpitScript}</script></body></html>`;
38
+ }
39
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../src/training/viewer/cockpit/page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { CockpitMetrics, MetricDefinition, MetricSplit, MetricSummary } from '../metrics/index.js';
2
+ export declare function scoreAt(model: CockpitMetrics, candidateId: string, split: MetricSplit, metricId: string): MetricSummary | undefined;
3
+ /** Recorded development trial order, never deduplicated candidate means or sealed tests. */
4
+ export declare function convergence(model: CockpitMetrics, metric: MetricDefinition): string;
5
+ export declare function comparison(model: CockpitMetrics, metric: MetricDefinition): string;
6
+ export declare function costChart(model: CockpitMetrics): string;
@@ -0,0 +1,67 @@
1
+ import { escapeHtml as e, money, number, percent } from './format.js';
2
+ export function scoreAt(model, candidateId, split, metricId) {
3
+ return model.scores.find(score => score.candidateId === candidateId && score.split === split && score.metricId === metricId);
4
+ }
5
+ /** Recorded development trial order, never deduplicated candidate means or sealed tests. */
6
+ export function convergence(model, metric) {
7
+ const trials = model.trialMeasurements.filter(trial => trial.split === 'train' || trial.split === 'validation');
8
+ if (trials.length === 0)
9
+ return '<p class="empty-state">The first measured development trial will appear here.</p>';
10
+ const x = (index) => 8 + index * 83 / Math.max(1, trials.length - 1);
11
+ const y = (value) => 82 - value * 70;
12
+ const grid = [0, 0.25, 0.5, 0.75, 1].map(value => `<line class="chart-gridline" x1="8%" x2="91%" y1="${y(value)}%" y2="${y(value)}%"/><text class="chart-tick" x="5%" y="${y(value)}%" dy="4" text-anchor="end">${value * 100}</text>`).join('');
13
+ const candidateLabels = new Map(model.candidates.map(candidate => [candidate.id, candidate.label]));
14
+ const series = ['train', 'validation'].map(split => {
15
+ let previous;
16
+ return trials.map((trial, index) => {
17
+ if (trial.split !== split)
18
+ return '';
19
+ const value = trial.values[metric.id];
20
+ if (value == null) {
21
+ previous = undefined;
22
+ return '';
23
+ }
24
+ const line = previous === undefined ? ''
25
+ : `<line class="chart-${split}" x1="${x(previous.index)}%" y1="${y(previous.value)}%" x2="${x(index)}%" y2="${y(value)}%"/>`;
26
+ previous = { index, value };
27
+ const candidateLabel = candidateLabels.get(trial.candidateId) ?? 'Unmapped';
28
+ const label = `Development trial ${index + 1}, ${trial.caseId}, ${candidateLabel} (${trial.candidateId}), ${split}: ${percent(value)} / 100`;
29
+ const numberLabel = trials.length <= 12 ? `<text class="chart-tick chart-${split}" x="${x(index)}%" y="${y(value)}%" dy="${split === 'train' ? -12 : 18}" text-anchor="middle">${percent(value)}</text>` : '';
30
+ return `${line}<circle class="chart-point chart-${split} ${split}" cx="${x(index)}%" cy="${y(value)}%" r="5" tabindex="0"><title>${e(label)}</title></circle>${numberLabel}`;
31
+ }).join('');
32
+ }).join('');
33
+ const stride = Math.max(1, Math.ceil((trials.length - 1) / 7));
34
+ const labels = trials.map((_, index) => index % stride === 0 || index === trials.length - 1
35
+ ? `<text class="chart-tick" x="${x(index)}%" y="98%" text-anchor="${index === 0 ? 'start' : index === trials.length - 1 ? 'end' : 'middle'}">${index + 1}</text>` : '').join('');
36
+ return `<svg class="chart-svg" role="img" aria-label="${e(metric.label)} by measured development trial ordinal: training and validation, 0 to 100">${grid}${series}${labels}</svg>`;
37
+ }
38
+ export function comparison(model, metric) {
39
+ const latest = model.candidates.at(-1);
40
+ if (!latest)
41
+ return '<p class="empty-state">Awaiting a measured comparison.</p>';
42
+ const paired = model.comparisons.find(row => row.candidateId === latest.id && row.split === 'validation' && row.metricId === metric.id);
43
+ if (!paired || paired.matchedCases === 0)
44
+ return '<p class="empty-state">No matched validation cases yet.</p>';
45
+ return [
46
+ { label: 'Baseline', value: paired.baselineValue, phase: 'baseline' },
47
+ { label: latest.label, value: paired.candidateValue, phase: 'validation' },
48
+ ].map(row => `<div class="score-row"><div class="score-name">${e(row.label)}</div><span class="score-number">${percent(row.value)}</span>
49
+ <svg class="score-track" viewBox="0 0 100 9" preserveAspectRatio="none" aria-hidden="true"><rect class="score-fill" data-phase="${row.phase}" width="${(row.value ?? 0) * 100}" height="9"/></svg></div>`).join('')
50
+ + `<p class="chart-caption">${paired.matchedCases} matched case${paired.matchedCases === 1 ? '' : 's'} · same evidence</p>`;
51
+ }
52
+ export function costChart(model) {
53
+ const total = model.costs.reduce((sum, row) => sum + (row.knownSubtotal?.low ?? 0), 0);
54
+ if (model.costs.length === 0)
55
+ return '<p class="empty-state">No recorded costs yet.</p>';
56
+ let offset = 0;
57
+ const segments = total > 0 ? model.costs.map(row => {
58
+ const width = 100 * (row.knownSubtotal?.low ?? 0) / total;
59
+ const segment = `<rect class="cost-segment" data-role="${e(row.role)}" x="${offset}" width="${width}" height="16"><title>${e(`${row.name}: ${money(row.knownSubtotal)}`)}</title></rect>`;
60
+ offset += width;
61
+ return segment;
62
+ }).join('') : '';
63
+ return `<svg class="cost-stack" viewBox="0 0 100 16" preserveAspectRatio="none" role="img" aria-label="Share of known cost lower bounds by role">${segments}</svg>
64
+ <div class="cost-legend">${model.costs.map(row => `<div><span class="legend-key" data-role="${e(row.role)}"></span><span>${e(row.role === row.name ? row.role : `${row.role} / ${row.name}`)}</span><strong>${money(row.knownSubtotal)}</strong><span class="muted">${number(row.entryCount)} calls</span></div>`).join('')}</div>
65
+ <p class="chart-caption">Known cost only · proportions use lower bounds</p>`;
66
+ }
67
+ //# sourceMappingURL=plots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plots.js","sourceRoot":"","sources":["../../../../src/training/viewer/cockpit/plots.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Viewport ownership and narrow-screen layout; data panels scroll internally. */
2
+ export declare const cockpitResponsiveStyles = "\n/* Keep the console frame fixed. Only data panes own overflow. */\n.view-pane { min-height: 0; height: 100%; overflow: auto; padding-top: 9px; }\n.view-pane[data-view-pane=\"overview\"] { overflow: hidden; padding-top: 0; }\n.metric-view { height: 100%; min-height: 0; display: grid; grid-template-rows: auto minmax(180px, 270px) minmax(145px, 1fr); gap: 22px; }\n.cockpit-main { overflow: hidden; padding-top: 0; }\n.chart-grid { min-height: 0; }\n.chart-grid .panel { min-height: 0; overflow: visible; }\n.convergence-panel .panel-body { display: flex; flex-direction: column; min-height: 0; padding-bottom: 4px; }\n.chart-wrap { flex: 1; min-height: 0; }\n.chart-svg { height: 100%; min-height: 0; overflow: hidden; }\n.comparison-panel .panel-body { overflow: auto; }\n.chart-caption { flex-shrink: 0; padding: 8px 12px; }\n.matrix-panel { min-height: 0; display: flex; }\n.matrix-body { min-height: 0; display: flex; flex-direction: column; width: 100%; padding-top: 12px; }\n.matrix-body > .scroll { flex: 1; min-height: 0; overflow: auto; }\n.matrix-body .panel-footer { flex-shrink: 0; padding: 7px 12px; }\n.matrix-table thead { position: sticky; top: 0; background: var(--bg); z-index: 1; }\n.matrix-table th, .matrix-table td { padding: 7px 12px; }\n@media (max-height: 700px) {\n .view-pane[data-view-pane=\"overview\"] { overflow: auto; }\n .metric-view { height: auto; min-height: 100%; grid-template-rows: max-content max-content minmax(145px, 1fr); }\n .chart-grid { min-height: min-content; }\n .convergence-panel .panel-body { flex: none; min-height: min-content; }\n .chart-wrap { flex: none; height: 140px; min-height: 140px; }\n}\n@media (min-width: 901px) and (max-height: 700px) {\n .sidebar { gap: 12px; }\n .sidebar > section { min-height: 60px; }\n .sidebar > section > .panel-body { padding: 10px 10px 6px; gap: 6px; }\n .sidebar .panel-footer { padding: 6px 10px; }\n .sidebar > nav > .panel-body { padding: 12px 8px; gap: 4px; }\n .sidebar .nav-item { padding: 3px; }\n}\n@media (max-width: 900px) {\n .workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 18px; padding: 16px 12px 10px; }\n .sidebar { display: block; overflow: hidden; padding: 9px 1px 1px; margin: -9px -1px -1px; }\n .sidebar > section { display: none; }\n .sidebar nav .panel-body { flex-direction: row; padding: 10px 8px 7px; gap: 6px; }\n .sidebar .nav-item { justify-content: center; padding: 6px; }\n .nav-count { display: none; }\n .top-title { max-width: 34ch; }\n .chart-grid { grid-template-columns: minmax(0, 1.7fr) minmax(210px, 1fr); gap: 14px; }\n .details-grid { grid-template-columns: minmax(0, 1fr); }\n}\n@media (max-width: 600px) {\n .topbar { min-height: 50px; gap: 6px; padding: 8px 10px; }\n .brand { gap: 5px; }\n .top-title { display: none; }\n .header-actions { gap: 6px; flex-wrap: nowrap; }\n .refresh-button { padding: 4px 6px; }\n .workspace { padding: 14px 7px 6px; gap: 15px; }\n .sidebar .panel-title { display: none; }\n .sidebar .nav-item { padding: 4px 2px; }\n .sidebar nav .panel-body { padding: 5px; }\n .view-pane[data-view-pane=\"overview\"] { overflow: auto; }\n .metric-view { height: auto; min-height: 100%; gap: 16px; grid-template-rows: max-content max-content minmax(145px, 1fr); }\n .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }\n .metric-card { padding: 7px 6px; }\n .metric-label { letter-spacing: 0; }\n .metric-value { margin: 4px 0; }\n .metric-note { line-height: 1.35; }\n .chart-grid { min-height: min-content; grid-template-columns: minmax(0, 1fr); grid-template-rows: max-content max-content; gap: 16px; }\n .convergence-panel .panel-body { flex: none; min-height: min-content; }\n .chart-wrap { flex: none; height: 140px; min-height: 140px; }\n .panel-body { padding: 14px 10px 6px; }\n .chart-controls { gap: 5px; flex-wrap: nowrap; }\n .chart-select { padding: 3px; max-width: 54%; }\n .chart-legend { margin-top: 5px; gap: 12px; }\n .chart-caption { padding: 5px 8px; line-height: 1.35; }\n .comparison-panel .panel-body { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }\n .comparison-panel .eyebrow, .comparison-panel .chart-caption { display: none; }\n .comparison-title { grid-column: 1 / -1; margin: 0; }\n .score-row { margin: 0; }\n .matrix-body .panel-footer { line-height: 1.3; padding: 4px 7px; }\n .matrix-table th, .matrix-table td { padding: 5px 7px; }\n .statusbar { padding: 6px 9px; gap: 4px; }\n .status-group { gap: 8px; }\n .statusbar .status-group:last-child > span:first-child { display: none; }\n}\n@media (prefers-reduced-motion: reduce) {\n *, *::before, *::after { scroll-behavior: auto !important; }\n}\n";