@elizaos/plugin-training 2.0.3-beta.6 → 2.0.3-beta.7

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 (363) hide show
  1. package/dist/backends/native.d.ts +96 -0
  2. package/dist/backends/native.d.ts.map +1 -0
  3. package/dist/backends/native.js +308 -0
  4. package/dist/backends/native.js.map +1 -0
  5. package/dist/cli/train.d.ts +22 -0
  6. package/dist/cli/train.d.ts.map +1 -0
  7. package/dist/cli/train.js +219 -0
  8. package/dist/cli/train.js.map +1 -0
  9. package/dist/core/action-benchmark-runner.d.ts +55 -0
  10. package/dist/core/action-benchmark-runner.d.ts.map +1 -0
  11. package/dist/core/action-benchmark-runner.js +341 -0
  12. package/dist/core/action-benchmark-runner.js.map +1 -0
  13. package/dist/core/artifact-store.d.ts +72 -0
  14. package/dist/core/artifact-store.d.ts.map +1 -0
  15. package/dist/core/artifact-store.js +50 -0
  16. package/dist/core/artifact-store.js.map +1 -0
  17. package/dist/core/benchmark-matrix-artifact.d.ts +102 -0
  18. package/dist/core/benchmark-matrix-artifact.d.ts.map +1 -0
  19. package/dist/core/benchmark-matrix-artifact.js +381 -0
  20. package/dist/core/benchmark-matrix-artifact.js.map +1 -0
  21. package/dist/core/benchmark-vs-cerebras-runner.d.ts +37 -0
  22. package/dist/core/benchmark-vs-cerebras-runner.d.ts.map +1 -0
  23. package/dist/core/benchmark-vs-cerebras-runner.js +151 -0
  24. package/dist/core/benchmark-vs-cerebras-runner.js.map +1 -0
  25. package/dist/core/cerebras-eval-model.d.ts +54 -0
  26. package/dist/core/cerebras-eval-model.d.ts.map +1 -0
  27. package/dist/core/cerebras-eval-model.js +249 -0
  28. package/dist/core/cerebras-eval-model.js.map +1 -0
  29. package/dist/core/cli.d.ts +15 -0
  30. package/dist/core/cli.d.ts.map +1 -0
  31. package/dist/core/cli.js +1003 -0
  32. package/dist/core/cli.js.map +1 -0
  33. package/dist/core/context-audit.d.ts +51 -0
  34. package/dist/core/context-audit.d.ts.map +1 -0
  35. package/dist/core/context-audit.js +166 -0
  36. package/dist/core/context-audit.js.map +1 -0
  37. package/dist/core/context-catalog.d.ts +47 -0
  38. package/dist/core/context-catalog.d.ts.map +1 -0
  39. package/dist/core/context-catalog.js +269 -0
  40. package/dist/core/context-catalog.js.map +1 -0
  41. package/dist/core/context-types.d.ts +3 -0
  42. package/dist/core/context-types.d.ts.map +1 -0
  43. package/dist/core/context-types.js +18 -0
  44. package/dist/core/context-types.js.map +1 -0
  45. package/dist/core/dataset-generator.d.ts +135 -0
  46. package/dist/core/dataset-generator.d.ts.map +1 -0
  47. package/dist/core/dataset-generator.js +895 -0
  48. package/dist/core/dataset-generator.js.map +1 -0
  49. package/dist/core/eliza1-benchmark-recipe.d.ts +18 -0
  50. package/dist/core/eliza1-benchmark-recipe.d.ts.map +1 -0
  51. package/dist/core/eliza1-benchmark-recipe.js +64 -0
  52. package/dist/core/eliza1-benchmark-recipe.js.map +1 -0
  53. package/dist/core/eliza1-bundle-stager.d.ts +57 -0
  54. package/dist/core/eliza1-bundle-stager.d.ts.map +1 -0
  55. package/dist/core/eliza1-bundle-stager.js +149 -0
  56. package/dist/core/eliza1-bundle-stager.js.map +1 -0
  57. package/dist/core/ensure-cron-job.d.ts +53 -0
  58. package/dist/core/ensure-cron-job.d.ts.map +1 -0
  59. package/dist/core/ensure-cron-job.js +51 -0
  60. package/dist/core/ensure-cron-job.js.map +1 -0
  61. package/dist/core/eval-comparison-artifact.d.ts +72 -0
  62. package/dist/core/eval-comparison-artifact.d.ts.map +1 -0
  63. package/dist/core/eval-comparison-artifact.js +281 -0
  64. package/dist/core/eval-comparison-artifact.js.map +1 -0
  65. package/dist/core/feed-generation-runner.d.ts +37 -0
  66. package/dist/core/feed-generation-runner.d.ts.map +1 -0
  67. package/dist/core/feed-generation-runner.js +232 -0
  68. package/dist/core/feed-generation-runner.js.map +1 -0
  69. package/dist/core/html-escape.d.ts +5 -0
  70. package/dist/core/html-escape.d.ts.map +1 -0
  71. package/dist/core/html-escape.js +11 -0
  72. package/dist/core/html-escape.js.map +1 -0
  73. package/dist/core/huggingface-dataset-ingest.d.ts +52 -0
  74. package/dist/core/huggingface-dataset-ingest.d.ts.map +1 -0
  75. package/dist/core/huggingface-dataset-ingest.js +134 -0
  76. package/dist/core/huggingface-dataset-ingest.js.map +1 -0
  77. package/dist/core/index.d.ts +29 -0
  78. package/dist/core/index.d.ts.map +1 -0
  79. package/dist/core/index.js +204 -0
  80. package/dist/core/index.js.map +1 -0
  81. package/dist/core/privacy-filter.d.ts +95 -0
  82. package/dist/core/privacy-filter.d.ts.map +1 -0
  83. package/dist/core/privacy-filter.js +324 -0
  84. package/dist/core/privacy-filter.js.map +1 -0
  85. package/dist/core/promotion-gate.d.ts +117 -0
  86. package/dist/core/promotion-gate.d.ts.map +1 -0
  87. package/dist/core/promotion-gate.js +85 -0
  88. package/dist/core/promotion-gate.js.map +1 -0
  89. package/dist/core/promotion-persist.d.ts +116 -0
  90. package/dist/core/promotion-persist.d.ts.map +1 -0
  91. package/dist/core/promotion-persist.js +93 -0
  92. package/dist/core/promotion-persist.js.map +1 -0
  93. package/dist/core/prompt-compare.d.ts +99 -0
  94. package/dist/core/prompt-compare.d.ts.map +1 -0
  95. package/dist/core/prompt-compare.js +210 -0
  96. package/dist/core/prompt-compare.js.map +1 -0
  97. package/dist/core/replay-validator.d.ts +136 -0
  98. package/dist/core/replay-validator.d.ts.map +1 -0
  99. package/dist/core/replay-validator.js +312 -0
  100. package/dist/core/replay-validator.js.map +1 -0
  101. package/dist/core/roleplay-executor.d.ts +123 -0
  102. package/dist/core/roleplay-executor.d.ts.map +1 -0
  103. package/dist/core/roleplay-executor.js +675 -0
  104. package/dist/core/roleplay-executor.js.map +1 -0
  105. package/dist/core/roleplay-trajectories.d.ts +54 -0
  106. package/dist/core/roleplay-trajectories.d.ts.map +1 -0
  107. package/dist/core/roleplay-trajectories.js +88 -0
  108. package/dist/core/roleplay-trajectories.js.map +1 -0
  109. package/dist/core/scenario-blueprints.d.ts +62 -0
  110. package/dist/core/scenario-blueprints.d.ts.map +1 -0
  111. package/dist/core/scenario-blueprints.js +850 -0
  112. package/dist/core/scenario-blueprints.js.map +1 -0
  113. package/dist/core/scenario-runner.d.ts +36 -0
  114. package/dist/core/scenario-runner.d.ts.map +1 -0
  115. package/dist/core/scenario-runner.js +216 -0
  116. package/dist/core/scenario-runner.js.map +1 -0
  117. package/dist/core/skill-scoring-cron.d.ts +57 -0
  118. package/dist/core/skill-scoring-cron.d.ts.map +1 -0
  119. package/dist/core/skill-scoring-cron.js +180 -0
  120. package/dist/core/skill-scoring-cron.js.map +1 -0
  121. package/dist/core/test-trajectory-collector.d.ts +37 -0
  122. package/dist/core/test-trajectory-collector.d.ts.map +1 -0
  123. package/dist/core/test-trajectory-collector.js +225 -0
  124. package/dist/core/test-trajectory-collector.js.map +1 -0
  125. package/dist/core/track-c-queue-task.d.ts +37 -0
  126. package/dist/core/track-c-queue-task.d.ts.map +1 -0
  127. package/dist/core/track-c-queue-task.js +104 -0
  128. package/dist/core/track-c-queue-task.js.map +1 -0
  129. package/dist/core/training-analysis-index.d.ts +104 -0
  130. package/dist/core/training-analysis-index.d.ts.map +1 -0
  131. package/dist/core/training-analysis-index.js +3297 -0
  132. package/dist/core/training-analysis-index.js.map +1 -0
  133. package/dist/core/training-collection-runner.d.ts +508 -0
  134. package/dist/core/training-collection-runner.d.ts.map +1 -0
  135. package/dist/core/training-collection-runner.js +2299 -0
  136. package/dist/core/training-collection-runner.js.map +1 -0
  137. package/dist/core/training-config.d.ts +52 -0
  138. package/dist/core/training-config.d.ts.map +1 -0
  139. package/dist/core/training-config.js +117 -0
  140. package/dist/core/training-config.js.map +1 -0
  141. package/dist/core/training-orchestrator.d.ts +112 -0
  142. package/dist/core/training-orchestrator.d.ts.map +1 -0
  143. package/dist/core/training-orchestrator.js +729 -0
  144. package/dist/core/training-orchestrator.js.map +1 -0
  145. package/dist/core/training-readiness-report.d.ts +52 -0
  146. package/dist/core/training-readiness-report.d.ts.map +1 -0
  147. package/dist/core/training-readiness-report.js +765 -0
  148. package/dist/core/training-readiness-report.js.map +1 -0
  149. package/dist/core/trajectory-consumer.d.ts +15 -0
  150. package/dist/core/trajectory-consumer.d.ts.map +1 -0
  151. package/dist/core/trajectory-consumer.js +61 -0
  152. package/dist/core/trajectory-consumer.js.map +1 -0
  153. package/dist/core/trajectory-export-bundle.d.ts +95 -0
  154. package/dist/core/trajectory-export-bundle.d.ts.map +1 -0
  155. package/dist/core/trajectory-export-bundle.js +561 -0
  156. package/dist/core/trajectory-export-bundle.js.map +1 -0
  157. package/dist/core/trajectory-export-cron.d.ts +57 -0
  158. package/dist/core/trajectory-export-cron.d.ts.map +1 -0
  159. package/dist/core/trajectory-export-cron.js +170 -0
  160. package/dist/core/trajectory-export-cron.js.map +1 -0
  161. package/dist/core/trajectory-hf-upload.d.ts +50 -0
  162. package/dist/core/trajectory-hf-upload.d.ts.map +1 -0
  163. package/dist/core/trajectory-hf-upload.js +111 -0
  164. package/dist/core/trajectory-hf-upload.js.map +1 -0
  165. package/dist/core/trajectory-task-datasets.d.ts +62 -0
  166. package/dist/core/trajectory-task-datasets.d.ts.map +1 -0
  167. package/dist/core/trajectory-task-datasets.js +427 -0
  168. package/dist/core/trajectory-task-datasets.js.map +1 -0
  169. package/dist/core/wait-for-service.d.ts +25 -0
  170. package/dist/core/wait-for-service.d.ts.map +1 -0
  171. package/dist/core/wait-for-service.js +19 -0
  172. package/dist/core/wait-for-service.js.map +1 -0
  173. package/dist/core/workspace-runtime.d.ts +4 -0
  174. package/dist/core/workspace-runtime.d.ts.map +1 -0
  175. package/dist/core/workspace-runtime.js +25 -0
  176. package/dist/core/workspace-runtime.js.map +1 -0
  177. package/dist/dspy/artifact.d.ts +54 -0
  178. package/dist/dspy/artifact.d.ts.map +1 -0
  179. package/dist/dspy/artifact.js +61 -0
  180. package/dist/dspy/artifact.js.map +1 -0
  181. package/dist/dspy/chain-of-thought.d.ts +27 -0
  182. package/dist/dspy/chain-of-thought.d.ts.map +1 -0
  183. package/dist/dspy/chain-of-thought.js +43 -0
  184. package/dist/dspy/chain-of-thought.js.map +1 -0
  185. package/dist/dspy/examples.d.ts +72 -0
  186. package/dist/dspy/examples.d.ts.map +1 -0
  187. package/dist/dspy/examples.js +105 -0
  188. package/dist/dspy/examples.js.map +1 -0
  189. package/dist/dspy/index.d.ts +15 -0
  190. package/dist/dspy/index.d.ts.map +1 -0
  191. package/dist/dspy/index.js +40 -0
  192. package/dist/dspy/index.js.map +1 -0
  193. package/dist/dspy/lm-adapter.d.ts +100 -0
  194. package/dist/dspy/lm-adapter.d.ts.map +1 -0
  195. package/dist/dspy/lm-adapter.js +81 -0
  196. package/dist/dspy/lm-adapter.js.map +1 -0
  197. package/dist/dspy/optimizers/dspy-bootstrap-fewshot.d.ts +23 -0
  198. package/dist/dspy/optimizers/dspy-bootstrap-fewshot.d.ts.map +1 -0
  199. package/dist/dspy/optimizers/dspy-bootstrap-fewshot.js +85 -0
  200. package/dist/dspy/optimizers/dspy-bootstrap-fewshot.js.map +1 -0
  201. package/dist/dspy/optimizers/dspy-copro.d.ts +29 -0
  202. package/dist/dspy/optimizers/dspy-copro.d.ts.map +1 -0
  203. package/dist/dspy/optimizers/dspy-copro.js +141 -0
  204. package/dist/dspy/optimizers/dspy-copro.js.map +1 -0
  205. package/dist/dspy/optimizers/dspy-mipro.d.ts +37 -0
  206. package/dist/dspy/optimizers/dspy-mipro.d.ts.map +1 -0
  207. package/dist/dspy/optimizers/dspy-mipro.js +194 -0
  208. package/dist/dspy/optimizers/dspy-mipro.js.map +1 -0
  209. package/dist/dspy/optimizers/index.d.ts +5 -0
  210. package/dist/dspy/optimizers/index.d.ts.map +1 -0
  211. package/dist/dspy/optimizers/index.js +11 -0
  212. package/dist/dspy/optimizers/index.js.map +1 -0
  213. package/dist/dspy/optimizers/types.d.ts +39 -0
  214. package/dist/dspy/optimizers/types.d.ts.map +1 -0
  215. package/dist/dspy/optimizers/types.js +1 -0
  216. package/dist/dspy/optimizers/types.js.map +1 -0
  217. package/dist/dspy/predict.d.ts +49 -0
  218. package/dist/dspy/predict.d.ts.map +1 -0
  219. package/dist/dspy/predict.js +73 -0
  220. package/dist/dspy/predict.js.map +1 -0
  221. package/dist/dspy/signature.d.ts +88 -0
  222. package/dist/dspy/signature.d.ts.map +1 -0
  223. package/dist/dspy/signature.js +205 -0
  224. package/dist/dspy/signature.js.map +1 -0
  225. package/dist/index.d.ts +15 -0
  226. package/dist/index.d.ts.map +1 -0
  227. package/dist/index.js +15 -0
  228. package/dist/index.js.map +1 -0
  229. package/dist/optimizers/bootstrap-fewshot.d.ts +42 -0
  230. package/dist/optimizers/bootstrap-fewshot.d.ts.map +1 -0
  231. package/dist/optimizers/bootstrap-fewshot.js +92 -0
  232. package/dist/optimizers/bootstrap-fewshot.js.map +1 -0
  233. package/dist/optimizers/gepa.d.ts +63 -0
  234. package/dist/optimizers/gepa.d.ts.map +1 -0
  235. package/dist/optimizers/gepa.js +232 -0
  236. package/dist/optimizers/gepa.js.map +1 -0
  237. package/dist/optimizers/index.d.ts +7 -0
  238. package/dist/optimizers/index.d.ts.map +1 -0
  239. package/dist/optimizers/index.js +51 -0
  240. package/dist/optimizers/index.js.map +1 -0
  241. package/dist/optimizers/instruction-search.d.ts +39 -0
  242. package/dist/optimizers/instruction-search.d.ts.map +1 -0
  243. package/dist/optimizers/instruction-search.js +108 -0
  244. package/dist/optimizers/instruction-search.js.map +1 -0
  245. package/dist/optimizers/prompt-evolution.d.ts +39 -0
  246. package/dist/optimizers/prompt-evolution.d.ts.map +1 -0
  247. package/dist/optimizers/prompt-evolution.js +101 -0
  248. package/dist/optimizers/prompt-evolution.js.map +1 -0
  249. package/dist/optimizers/scoring.d.ts +139 -0
  250. package/dist/optimizers/scoring.d.ts.map +1 -0
  251. package/dist/optimizers/scoring.js +299 -0
  252. package/dist/optimizers/scoring.js.map +1 -0
  253. package/dist/optimizers/types.d.ts +105 -0
  254. package/dist/optimizers/types.d.ts.map +1 -0
  255. package/dist/optimizers/types.js +1 -0
  256. package/dist/optimizers/types.js.map +1 -0
  257. package/dist/register-runtime.d.ts +3 -0
  258. package/dist/register-runtime.d.ts.map +1 -0
  259. package/dist/register-runtime.js +60 -0
  260. package/dist/register-runtime.js.map +1 -0
  261. package/dist/register-terminal-view.d.ts +15 -0
  262. package/dist/register-terminal-view.d.ts.map +1 -0
  263. package/dist/register-terminal-view.js +31 -0
  264. package/dist/register-terminal-view.js.map +1 -0
  265. package/dist/routes/experience-routes.d.ts +21 -0
  266. package/dist/routes/experience-routes.d.ts.map +1 -0
  267. package/dist/routes/experience-routes.js +513 -0
  268. package/dist/routes/experience-routes.js.map +1 -0
  269. package/dist/routes/index.d.ts +5 -0
  270. package/dist/routes/index.d.ts.map +1 -0
  271. package/dist/routes/index.js +17 -0
  272. package/dist/routes/index.js.map +1 -0
  273. package/dist/routes/training-routes.d.ts +10 -0
  274. package/dist/routes/training-routes.d.ts.map +1 -0
  275. package/dist/routes/training-routes.js +1239 -0
  276. package/dist/routes/training-routes.js.map +1 -0
  277. package/dist/routes/training-vast-routes.d.ts +35 -0
  278. package/dist/routes/training-vast-routes.d.ts.map +1 -0
  279. package/dist/routes/training-vast-routes.js +249 -0
  280. package/dist/routes/training-vast-routes.js.map +1 -0
  281. package/dist/routes/trajectory-routes.d.ts +19 -0
  282. package/dist/routes/trajectory-routes.d.ts.map +1 -0
  283. package/dist/routes/trajectory-routes.js +1122 -0
  284. package/dist/routes/trajectory-routes.js.map +1 -0
  285. package/dist/services/index.d.ts +9 -0
  286. package/dist/services/index.d.ts.map +1 -0
  287. package/dist/services/index.js +63 -0
  288. package/dist/services/index.js.map +1 -0
  289. package/dist/services/training-backend-check.d.ts +8 -0
  290. package/dist/services/training-backend-check.d.ts.map +1 -0
  291. package/dist/services/training-backend-check.js +31 -0
  292. package/dist/services/training-backend-check.js.map +1 -0
  293. package/dist/services/training-service-like.d.ts +40 -0
  294. package/dist/services/training-service-like.d.ts.map +1 -0
  295. package/dist/services/training-service-like.js +1 -0
  296. package/dist/services/training-service-like.js.map +1 -0
  297. package/dist/services/training-service-registry.d.ts +4 -0
  298. package/dist/services/training-service-registry.d.ts.map +1 -0
  299. package/dist/services/training-service-registry.js +12 -0
  300. package/dist/services/training-service-registry.js.map +1 -0
  301. package/dist/services/training-service.d.ts +59 -0
  302. package/dist/services/training-service.d.ts.map +1 -0
  303. package/dist/services/training-service.js +154 -0
  304. package/dist/services/training-service.js.map +1 -0
  305. package/dist/services/training-trigger.d.ts +177 -0
  306. package/dist/services/training-trigger.d.ts.map +1 -0
  307. package/dist/services/training-trigger.js +300 -0
  308. package/dist/services/training-trigger.js.map +1 -0
  309. package/dist/services/training-vast-service.d.ts +149 -0
  310. package/dist/services/training-vast-service.d.ts.map +1 -0
  311. package/dist/services/training-vast-service.js +648 -0
  312. package/dist/services/training-vast-service.js.map +1 -0
  313. package/dist/services/vast-inference-stats.d.ts +37 -0
  314. package/dist/services/vast-inference-stats.d.ts.map +1 -0
  315. package/dist/services/vast-inference-stats.js +81 -0
  316. package/dist/services/vast-inference-stats.js.map +1 -0
  317. package/dist/services/vast-job-store.d.ts +74 -0
  318. package/dist/services/vast-job-store.d.ts.map +1 -0
  319. package/dist/services/vast-job-store.js +194 -0
  320. package/dist/services/vast-job-store.js.map +1 -0
  321. package/dist/services/vast-subprocess.d.ts +27 -0
  322. package/dist/services/vast-subprocess.d.ts.map +1 -0
  323. package/dist/services/vast-subprocess.js +78 -0
  324. package/dist/services/vast-subprocess.js.map +1 -0
  325. package/dist/setup-routes.d.ts +17 -0
  326. package/dist/setup-routes.d.ts.map +1 -0
  327. package/dist/setup-routes.js +319 -0
  328. package/dist/setup-routes.js.map +1 -0
  329. package/dist/ui/FineTuningSpatialView.d.ts +49 -0
  330. package/dist/ui/FineTuningSpatialView.d.ts.map +1 -0
  331. package/dist/ui/FineTuningSpatialView.js +154 -0
  332. package/dist/ui/FineTuningSpatialView.js.map +1 -0
  333. package/dist/ui/FineTuningView.d.ts +7 -0
  334. package/dist/ui/FineTuningView.d.ts.map +1 -0
  335. package/dist/ui/FineTuningView.helpers.d.ts +17 -0
  336. package/dist/ui/FineTuningView.helpers.d.ts.map +1 -0
  337. package/dist/ui/FineTuningView.helpers.js +30 -0
  338. package/dist/ui/FineTuningView.helpers.js.map +1 -0
  339. package/dist/ui/FineTuningView.interact.d.ts +2 -0
  340. package/dist/ui/FineTuningView.interact.d.ts.map +1 -0
  341. package/dist/ui/FineTuningView.interact.js +300 -0
  342. package/dist/ui/FineTuningView.interact.js.map +1 -0
  343. package/dist/ui/FineTuningView.js +4653 -0
  344. package/dist/ui/FineTuningView.js.map +1 -0
  345. package/dist/ui/fine-tuning-panels.d.ts +100 -0
  346. package/dist/ui/fine-tuning-panels.d.ts.map +1 -0
  347. package/dist/ui/fine-tuning-panels.helpers.d.ts +19 -0
  348. package/dist/ui/fine-tuning-panels.helpers.d.ts.map +1 -0
  349. package/dist/ui/fine-tuning-panels.helpers.js +77 -0
  350. package/dist/ui/fine-tuning-panels.helpers.js.map +1 -0
  351. package/dist/ui/fine-tuning-panels.js +928 -0
  352. package/dist/ui/fine-tuning-panels.js.map +1 -0
  353. package/dist/ui/index.d.ts +5 -0
  354. package/dist/ui/index.d.ts.map +1 -0
  355. package/dist/ui/index.js +5 -0
  356. package/dist/ui/index.js.map +1 -0
  357. package/dist/ui/training-view-bundle.d.ts +3 -0
  358. package/dist/ui/training-view-bundle.d.ts.map +1 -0
  359. package/dist/ui/training-view-bundle.js +7 -0
  360. package/dist/ui/training-view-bundle.js.map +1 -0
  361. package/dist/views/bundle.js +5312 -0
  362. package/dist/views/bundle.js.map +1 -0
  363. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/training-config.ts"],"sourcesContent":["/**\n * Auto-training configuration: persisted at `<state>/training/config.json`.\n *\n * Self-contained on purpose. The agent-wide config schema is large and changes\n * coordinated across multiple teams; auto-training has a small, stable surface\n * that is easier to evolve from a dedicated file. Loader merges file contents\n * over typed defaults; absent fields fall through to the defaults.\n */\n\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { resolveStateDir } from \"@elizaos/core\";\nimport {\n ALL_TRAJECTORY_TRAINING_TASKS,\n type TrajectoryTrainingTask,\n} from \"./trajectory-task-datasets.js\";\n\nexport type TrainingBackend = \"native\";\n\nexport const ALL_TRAINING_BACKENDS: readonly TrainingBackend[] = [\n \"native\",\n] as const;\n\n// Single source of truth lives in trajectory-task-datasets.ts; re-exported\n// here under the historical name so existing config/threshold consumers keep\n// iterating the full task list (now including the LifeOps capabilities).\nexport const ALL_TRAINING_TASKS: readonly TrajectoryTrainingTask[] =\n ALL_TRAJECTORY_TRAINING_TASKS;\n\nexport interface PerTaskOverride {\n threshold?: number;\n cooldownHours?: number;\n backend?: TrainingBackend;\n}\n\nexport interface TrainingConfig {\n /** Auto-train enabled by default. */\n autoTrain: boolean;\n /** Trajectory count per task that triggers a run. */\n triggerThreshold: number;\n /** Minimum hours between consecutive runs for the same task. */\n triggerCooldownHours: number;\n /**\n * Backends to dispatch to on threshold/cron firings. Empty list means\n * \"no backend configured\" — counters still tick, but threshold-fired\n * training is skipped (with a logger note). Manual triggers always allow\n * the caller to specify a backend explicitly.\n *\n * Defaults to `[\"native\"]`, the in-process optimizer backend.\n */\n backends: TrainingBackend[];\n perTaskOverrides?: Partial<Record<TrajectoryTrainingTask, PerTaskOverride>>;\n}\n\nexport const DEFAULT_TRAINING_CONFIG: TrainingConfig = Object.freeze({\n autoTrain: true,\n triggerThreshold: 100,\n triggerCooldownHours: 12,\n // Native is the default-on backend. It runs in-process against the\n // configured runtime model and writes optimized prompts into the\n // OptimizedPromptService store. Operators can prepend other non-Google\n // backends when they want hosted training instead.\n backends: [\"native\"],\n}) as TrainingConfig;\n\nexport function trainingStateRoot(): string {\n return join(resolveStateDir(), \"training\");\n}\n\nexport function trainingConfigPath(): string {\n return join(trainingStateRoot(), \"config.json\");\n}\n\nfunction isFiniteNumber(value: unknown): value is number {\n return typeof value === \"number\" && Number.isFinite(value);\n}\n\nfunction isStringRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction coerceBackend(value: unknown): TrainingBackend | null {\n return typeof value === \"string\" &&\n (ALL_TRAINING_BACKENDS as readonly string[]).includes(value)\n ? (value as TrainingBackend)\n : null;\n}\n\nfunction coercePerTaskOverrides(\n value: unknown,\n): Partial<Record<TrajectoryTrainingTask, PerTaskOverride>> | undefined {\n if (!isStringRecord(value)) return undefined;\n const out: Partial<Record<TrajectoryTrainingTask, PerTaskOverride>> = {};\n for (const task of ALL_TRAINING_TASKS) {\n const raw = value[task];\n if (!isStringRecord(raw)) continue;\n const override: PerTaskOverride = {};\n if (isFiniteNumber(raw.threshold) && raw.threshold > 0) {\n override.threshold = Math.floor(raw.threshold);\n }\n if (isFiniteNumber(raw.cooldownHours) && raw.cooldownHours >= 0) {\n override.cooldownHours = raw.cooldownHours;\n }\n const backend = coerceBackend(raw.backend);\n if (backend) override.backend = backend;\n if (Object.keys(override).length > 0) out[task] = override;\n }\n return Object.keys(out).length > 0 ? out : undefined;\n}\n\n/**\n * Merge an arbitrary JSON object over the typed defaults. Unknown keys are\n * dropped; invalid types fall back to the default value for that field.\n */\nexport function normalizeTrainingConfig(input: unknown): TrainingConfig {\n const base: TrainingConfig = {\n autoTrain: DEFAULT_TRAINING_CONFIG.autoTrain,\n triggerThreshold: DEFAULT_TRAINING_CONFIG.triggerThreshold,\n triggerCooldownHours: DEFAULT_TRAINING_CONFIG.triggerCooldownHours,\n backends: [...DEFAULT_TRAINING_CONFIG.backends],\n };\n if (!isStringRecord(input)) return base;\n\n if (typeof input.autoTrain === \"boolean\") base.autoTrain = input.autoTrain;\n if (isFiniteNumber(input.triggerThreshold) && input.triggerThreshold > 0) {\n base.triggerThreshold = Math.floor(input.triggerThreshold);\n }\n if (\n isFiniteNumber(input.triggerCooldownHours) &&\n input.triggerCooldownHours >= 0\n ) {\n base.triggerCooldownHours = input.triggerCooldownHours;\n }\n if (Array.isArray(input.backends)) {\n const seen = new Set<TrainingBackend>();\n for (const entry of input.backends) {\n const backend = coerceBackend(entry);\n if (backend && !seen.has(backend)) seen.add(backend);\n }\n base.backends = [...seen];\n }\n const overrides = coercePerTaskOverrides(input.perTaskOverrides);\n if (overrides) base.perTaskOverrides = overrides;\n return base;\n}\n\nexport function loadTrainingConfig(): TrainingConfig {\n const path = trainingConfigPath();\n if (!existsSync(path)) return normalizeTrainingConfig(undefined);\n const raw = readFileSync(path, \"utf-8\");\n return normalizeTrainingConfig(JSON.parse(raw));\n}\n\nexport function saveTrainingConfig(config: TrainingConfig): void {\n const path = trainingConfigPath();\n mkdirSync(dirname(path), { recursive: true });\n const normalized = normalizeTrainingConfig(config);\n writeFileSync(path, `${JSON.stringify(normalized, null, 2)}\\n`, \"utf-8\");\n}\n\nexport interface ResolvedTaskPolicy {\n threshold: number;\n cooldownMs: number;\n backend: TrainingBackend | null;\n}\n\nexport function resolveTaskPolicy(\n config: TrainingConfig,\n task: TrajectoryTrainingTask,\n): ResolvedTaskPolicy {\n const override = config.perTaskOverrides?.[task];\n const threshold = override?.threshold ?? config.triggerThreshold;\n const cooldownHours = override?.cooldownHours ?? config.triggerCooldownHours;\n const backend = override?.backend ?? config.backends[0] ?? null;\n return {\n threshold,\n cooldownMs: Math.max(0, cooldownHours * 3_600_000),\n backend,\n };\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * training-trigger orchestrator.
3
+ *
4
+ * Single entry point for all paths that kick off a training run:
5
+ * - threshold: TrainingTriggerService fires when the per-task counter passes
6
+ * the configured threshold.
7
+ * - cron: Scheduled job (e.g. nightly trajectory-export cron) calls
8
+ * with `source: 'cron'`.
9
+ * - manual: UI / CLI / API caller asks for an immediate run.
10
+ *
11
+ * Pipeline:
12
+ * 1. Fetch the most recent matching trajectories from the runtime's
13
+ * trajectory service.
14
+ * 2. Run them through the privacy filter (REQUIRED — never bypass).
15
+ * 3. Bucket trajectories into per-task JSONL files via dataset-generator
16
+ * (`exportTrajectoryTaskDatasets`). When `task` is supplied, only that
17
+ * bucket is forwarded to the backend.
18
+ * 4. Dispatch the chosen task's dataset to the configured backend
19
+ * (`native`).
20
+ * 5. Persist a run record at `<state>/training/runs/<runId>.json`.
21
+ */
22
+ import { type AnonymizerLookup } from "./privacy-filter.js";
23
+ import { type TrainingBackend, type TrainingConfig } from "./training-config.js";
24
+ import { type TrajectoryTaskDatasetExport, type TrajectoryTrainingTask } from "./trajectory-task-datasets.js";
25
+ interface MinimalLogger {
26
+ info: (message: string) => void;
27
+ warn: (message: string) => void;
28
+ error: (message: string) => void;
29
+ }
30
+ interface RuntimeLike {
31
+ getService: (name: string) => unknown;
32
+ logger?: MinimalLogger;
33
+ }
34
+ export type TriggerSource = "threshold" | "cron" | "manual";
35
+ export type TrainingRunStatus = "queued" | "running" | "succeeded" | "failed" | "skipped";
36
+ export interface TriggerTrainingOptions {
37
+ task?: TrajectoryTrainingTask;
38
+ backend?: TrainingBackend;
39
+ source: TriggerSource;
40
+ /** When true, run the full pipeline up to dispatch but do not invoke the backend. */
41
+ dryRun?: boolean;
42
+ /** Maximum trajectories pulled from the trajectory service. */
43
+ trajectoryLimit?: number;
44
+ /** Optional anonymizer for the privacy filter. */
45
+ anonymizer?: AnonymizerLookup;
46
+ /**
47
+ * Backend dispatcher override — primarily for tests. Production callers
48
+ * should leave this undefined and let the orchestrator route by name.
49
+ */
50
+ dispatcher?: BackendDispatcher;
51
+ /** Override the loaded config (tests). */
52
+ config?: TrainingConfig;
53
+ }
54
+ export interface TriggerTrainingResult {
55
+ runId: string;
56
+ status: TrainingRunStatus;
57
+ reason?: string;
58
+ task: TrajectoryTrainingTask | null;
59
+ backend: TrainingBackend | null;
60
+ source: TriggerSource;
61
+ datasetSize: number;
62
+ startedAt: string;
63
+ finishedAt: string;
64
+ artifactPath?: string;
65
+ }
66
+ export interface TrainingRunRecord extends TriggerTrainingResult {
67
+ pulledTrajectories: number;
68
+ filteredTrajectories: number;
69
+ redactionCount: number;
70
+ anonymizationCount: number;
71
+ datasetPaths?: TrajectoryTaskDatasetExport["paths"];
72
+ perTaskCounts?: TrajectoryTaskDatasetExport["counts"];
73
+ dryRun: boolean;
74
+ notes?: string[];
75
+ }
76
+ export interface BackendDispatchInput {
77
+ task: TrajectoryTrainingTask;
78
+ backend: TrainingBackend;
79
+ datasetPath: string;
80
+ runId: string;
81
+ outputDir: string;
82
+ /**
83
+ * Runtime forwarded to backends that need an LLM (currently only `native`).
84
+ * Other backends ignore it.
85
+ */
86
+ runtime: RuntimeLike;
87
+ }
88
+ export interface BackendDispatchResult {
89
+ invoked: boolean;
90
+ artifactPath?: string;
91
+ notes?: string[];
92
+ }
93
+ export type BackendDispatcher = (input: BackendDispatchInput) => Promise<BackendDispatchResult>;
94
+ /**
95
+ * Pull the live runtime template for the task. Falls back to concrete bundled
96
+ * task baselines when the runtime cannot expose its template.
97
+ */
98
+ export declare function loadBaselineForTask(task: TrajectoryTrainingTask): Promise<string>;
99
+ export declare function recordRun(record: TrainingRunRecord): Promise<string>;
100
+ export declare function loadRun(runId: string): Promise<TrainingRunRecord | null>;
101
+ export declare function listRuns(limit?: number): Promise<TrainingRunRecord[]>;
102
+ /**
103
+ * Single entry point for kicking off a training run from any caller.
104
+ *
105
+ * Returns a record describing what happened, including `status: "skipped"`
106
+ * when the pipeline ran but the configured backend declined to invoke (no
107
+ * data, no backend configured, unavailable optimizer backend, etc.). Errors are
108
+ * surfaced as `status: "failed"` with `reason`; never swallowed.
109
+ */
110
+ export declare function triggerTraining(runtime: RuntimeLike, options: TriggerTrainingOptions): Promise<TrainingRunRecord>;
111
+ export {};
112
+ //# sourceMappingURL=training-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training-orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/training-orchestrator.ts"],"names":[],"mappings":"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"}