@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,154 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import {
3
+ Button,
4
+ Card,
5
+ Divider,
6
+ HStack,
7
+ List,
8
+ Text,
9
+ VStack
10
+ } from "@elizaos/ui/spatial";
11
+ function jobStatusTone(status) {
12
+ switch (status) {
13
+ case "running":
14
+ return "primary";
15
+ case "queued":
16
+ return "warning";
17
+ case "completed":
18
+ return "success";
19
+ case "failed":
20
+ return "danger";
21
+ default:
22
+ return "muted";
23
+ }
24
+ }
25
+ function progressPct(progress) {
26
+ return Math.round(Math.max(0, Math.min(1, progress)) * 100);
27
+ }
28
+ function FineTuningSpatialView({
29
+ snapshot,
30
+ onAction
31
+ }) {
32
+ const dispatch = (action) => () => onAction?.(action);
33
+ const activeJob = snapshot.jobs.find(
34
+ (job) => job.status === "running" || job.status === "queued"
35
+ );
36
+ return /* @__PURE__ */ jsxs(Card, { gap: 1, padding: 1, children: [
37
+ /* @__PURE__ */ jsxs(HStack, { gap: 1, align: "center", children: [
38
+ /* @__PURE__ */ jsx(
39
+ Text,
40
+ {
41
+ style: "caption",
42
+ tone: snapshot.runtimeAvailable ? "success" : "danger",
43
+ grow: 1,
44
+ children: snapshot.loading ? "loading" : snapshot.runtimeAvailable ? "runtime-ready" : "runtime-offline"
45
+ }
46
+ ),
47
+ /* @__PURE__ */ jsxs(Text, { style: "caption", tone: "muted", children: [
48
+ snapshot.trajectoryCount,
49
+ " trajectories"
50
+ ] })
51
+ ] }),
52
+ snapshot.error ? /* @__PURE__ */ jsx(Text, { tone: "danger", style: "caption", children: snapshot.error }) : null,
53
+ /* @__PURE__ */ jsx(Divider, { label: "status" }),
54
+ /* @__PURE__ */ jsxs(HStack, { gap: 1, wrap: true, children: [
55
+ /* @__PURE__ */ jsxs(Text, { tone: "primary", grow: 1, children: [
56
+ "running ",
57
+ snapshot.runningJobs
58
+ ] }),
59
+ /* @__PURE__ */ jsxs(Text, { tone: "warning", grow: 1, children: [
60
+ "queued ",
61
+ snapshot.queuedJobs
62
+ ] })
63
+ ] }),
64
+ /* @__PURE__ */ jsxs(HStack, { gap: 1, wrap: true, children: [
65
+ /* @__PURE__ */ jsxs(Text, { tone: "success", grow: 1, children: [
66
+ "completed ",
67
+ snapshot.completedJobs
68
+ ] }),
69
+ /* @__PURE__ */ jsxs(Text, { tone: "danger", grow: 1, children: [
70
+ "failed ",
71
+ snapshot.failedJobs
72
+ ] })
73
+ ] }),
74
+ /* @__PURE__ */ jsxs(HStack, { gap: 1, wrap: true, children: [
75
+ /* @__PURE__ */ jsxs(Text, { tone: "muted", grow: 1, children: [
76
+ snapshot.models,
77
+ " models"
78
+ ] }),
79
+ /* @__PURE__ */ jsxs(Text, { tone: "muted", grow: 1, children: [
80
+ snapshot.datasets,
81
+ " datasets"
82
+ ] })
83
+ ] }),
84
+ /* @__PURE__ */ jsx(Divider, { label: "active" }),
85
+ activeJob ? /* @__PURE__ */ jsxs(VStack, { gap: 0, children: [
86
+ /* @__PURE__ */ jsx(Text, { bold: true, wrap: false, children: activeJob.id }),
87
+ /* @__PURE__ */ jsxs(Text, { style: "caption", tone: jobStatusTone(activeJob.status), children: [
88
+ activeJob.status,
89
+ " \u2022 ",
90
+ activeJob.phase,
91
+ " \u2022",
92
+ " ",
93
+ progressPct(activeJob.progress),
94
+ "%"
95
+ ] })
96
+ ] }) : /* @__PURE__ */ jsx(Text, { tone: "muted", align: "center", style: "caption", children: "None" }),
97
+ /* @__PURE__ */ jsx(Divider, { label: "controls" }),
98
+ /* @__PURE__ */ jsxs(HStack, { gap: 1, wrap: true, children: [
99
+ /* @__PURE__ */ jsx(
100
+ Button,
101
+ {
102
+ variant: "outline",
103
+ tone: "default",
104
+ grow: 1,
105
+ agent: "refresh",
106
+ onPress: dispatch("refresh"),
107
+ children: "Refresh"
108
+ }
109
+ ),
110
+ /* @__PURE__ */ jsx(Button, { grow: 1, agent: "start-job", onPress: dispatch("start-job"), children: "Start job" }),
111
+ /* @__PURE__ */ jsx(
112
+ Button,
113
+ {
114
+ variant: "ghost",
115
+ tone: "danger",
116
+ grow: 1,
117
+ agent: "cancel-job",
118
+ onPress: dispatch("cancel-job"),
119
+ children: "Cancel job"
120
+ }
121
+ )
122
+ ] }),
123
+ /* @__PURE__ */ jsx(Divider, { label: "jobs" }),
124
+ snapshot.jobs.length === 0 ? /* @__PURE__ */ jsx(Text, { tone: "muted", align: "center", style: "caption", children: "None" }) : /* @__PURE__ */ jsx(List, { gap: 0, children: snapshot.jobs.slice(0, 8).map((job) => /* @__PURE__ */ jsxs(HStack, { gap: 1, align: "center", agent: `row:${job.id}`, children: [
125
+ /* @__PURE__ */ jsx(Text, { tone: jobStatusTone(job.status), children: job.status === "completed" ? "\u25CF" : "\u25CB" }),
126
+ /* @__PURE__ */ jsxs(VStack, { gap: 0, grow: 1, children: [
127
+ /* @__PURE__ */ jsx(Text, { bold: true, wrap: false, children: job.id }),
128
+ /* @__PURE__ */ jsxs(Text, { style: "caption", tone: "muted", wrap: false, children: [
129
+ job.phase,
130
+ " ",
131
+ progressPct(job.progress),
132
+ "%"
133
+ ] })
134
+ ] }),
135
+ /* @__PURE__ */ jsx(Text, { style: "caption", tone: jobStatusTone(job.status), children: job.status }),
136
+ /* @__PURE__ */ jsx(
137
+ Button,
138
+ {
139
+ variant: "ghost",
140
+ tone: "primary",
141
+ agent: `open:${job.id}`,
142
+ onPress: dispatch(`job:${job.id}`),
143
+ children: "Open"
144
+ }
145
+ )
146
+ ] }, job.id)) })
147
+ ] });
148
+ }
149
+ var FineTuningSpatialView_default = FineTuningSpatialView;
150
+ export {
151
+ FineTuningSpatialView,
152
+ FineTuningSpatialView_default as default
153
+ };
154
+ //# sourceMappingURL=FineTuningSpatialView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/FineTuningSpatialView.tsx"],"sourcesContent":["/**\n * FineTuningSpatialView — the training surface authored once with the spatial\n * vocabulary, so it renders correctly wherever it is displayed:\n *\n * - GUI / XR - the rich `FineTuningView` is the catalog componentExport; this\n * spatial view is the compact cross-modality summary.\n * - TUI - rendered to real terminal lines by the agent terminal, via\n * `registerSpatialTerminalView` (see `register-terminal-view.tsx`).\n *\n * It is purely presentational (a snapshot + an action callback in, primitives\n * out) and imports only the cross-modality primitives, so it is safe to render\n * in the Node agent process where the terminal lives (no shell-host UI or heavy\n * API-client import).\n */\n\nimport {\n Button,\n Card,\n Divider,\n HStack,\n List,\n type SpatialTone,\n Text,\n VStack,\n} from \"@elizaos/ui/spatial\";\n\nexport interface FineTuningJobRow {\n id: string;\n status: string;\n phase: string;\n /** 0..1 progress fraction. */\n progress: number;\n datasetId: string;\n}\n\nexport interface FineTuningSnapshot {\n runtimeAvailable: boolean;\n runningJobs: number;\n queuedJobs: number;\n completedJobs: number;\n failedJobs: number;\n jobs: FineTuningJobRow[];\n /** Trained-model count. */\n models: number;\n /** Built-dataset count. */\n datasets: number;\n /** Total trajectories available for dataset building. */\n trajectoryCount: number;\n loading?: boolean;\n error?: string | null;\n}\n\nfunction jobStatusTone(status: string): SpatialTone {\n switch (status) {\n case \"running\":\n return \"primary\";\n case \"queued\":\n return \"warning\";\n case \"completed\":\n return \"success\";\n case \"failed\":\n return \"danger\";\n default:\n return \"muted\";\n }\n}\n\nfunction progressPct(progress: number): number {\n return Math.round(Math.max(0, Math.min(1, progress)) * 100);\n}\n\nexport interface FineTuningSpatialViewProps {\n snapshot: FineTuningSnapshot;\n /**\n * Dispatched action ids: `refresh`, `start-job`, `cancel-job`, and\n * `job:<id>` (open a specific job's detail).\n */\n onAction?: (action: string) => void;\n}\n\nexport function FineTuningSpatialView({\n snapshot,\n onAction,\n}: FineTuningSpatialViewProps) {\n const dispatch = (action: string) => () => onAction?.(action);\n const activeJob = snapshot.jobs.find(\n (job) => job.status === \"running\" || job.status === \"queued\",\n );\n return (\n <Card gap={1} padding={1}>\n <HStack gap={1} align=\"center\">\n <Text\n style=\"caption\"\n tone={snapshot.runtimeAvailable ? \"success\" : \"danger\"}\n grow={1}\n >\n {snapshot.loading\n ? \"loading\"\n : snapshot.runtimeAvailable\n ? \"runtime-ready\"\n : \"runtime-offline\"}\n </Text>\n <Text style=\"caption\" tone=\"muted\">\n {snapshot.trajectoryCount} trajectories\n </Text>\n </HStack>\n\n {snapshot.error ? (\n <Text tone=\"danger\" style=\"caption\">\n {snapshot.error}\n </Text>\n ) : null}\n\n <Divider label=\"status\" />\n <HStack gap={1} wrap>\n <Text tone=\"primary\" grow={1}>\n running {snapshot.runningJobs}\n </Text>\n <Text tone=\"warning\" grow={1}>\n queued {snapshot.queuedJobs}\n </Text>\n </HStack>\n <HStack gap={1} wrap>\n <Text tone=\"success\" grow={1}>\n completed {snapshot.completedJobs}\n </Text>\n <Text tone=\"danger\" grow={1}>\n failed {snapshot.failedJobs}\n </Text>\n </HStack>\n <HStack gap={1} wrap>\n <Text tone=\"muted\" grow={1}>\n {snapshot.models} models\n </Text>\n <Text tone=\"muted\" grow={1}>\n {snapshot.datasets} datasets\n </Text>\n </HStack>\n\n <Divider label=\"active\" />\n {activeJob ? (\n <VStack gap={0}>\n <Text bold wrap={false}>\n {activeJob.id}\n </Text>\n <Text style=\"caption\" tone={jobStatusTone(activeJob.status)}>\n {activeJob.status} • {activeJob.phase} •{\" \"}\n {progressPct(activeJob.progress)}%\n </Text>\n </VStack>\n ) : (\n <Text tone=\"muted\" align=\"center\" style=\"caption\">\n None\n </Text>\n )}\n\n <Divider label=\"controls\" />\n <HStack gap={1} wrap>\n <Button\n variant=\"outline\"\n tone=\"default\"\n grow={1}\n agent=\"refresh\"\n onPress={dispatch(\"refresh\")}\n >\n Refresh\n </Button>\n <Button grow={1} agent=\"start-job\" onPress={dispatch(\"start-job\")}>\n Start job\n </Button>\n <Button\n variant=\"ghost\"\n tone=\"danger\"\n grow={1}\n agent=\"cancel-job\"\n onPress={dispatch(\"cancel-job\")}\n >\n Cancel job\n </Button>\n </HStack>\n\n <Divider label=\"jobs\" />\n {snapshot.jobs.length === 0 ? (\n <Text tone=\"muted\" align=\"center\" style=\"caption\">\n None\n </Text>\n ) : (\n <List gap={0}>\n {snapshot.jobs.slice(0, 8).map((job) => (\n <HStack key={job.id} gap={1} align=\"center\" agent={`row:${job.id}`}>\n <Text tone={jobStatusTone(job.status)}>\n {job.status === \"completed\" ? \"●\" : \"○\"}\n </Text>\n <VStack gap={0} grow={1}>\n <Text bold wrap={false}>\n {job.id}\n </Text>\n <Text style=\"caption\" tone=\"muted\" wrap={false}>\n {job.phase} {progressPct(job.progress)}%\n </Text>\n </VStack>\n <Text style=\"caption\" tone={jobStatusTone(job.status)}>\n {job.status}\n </Text>\n <Button\n variant=\"ghost\"\n tone=\"primary\"\n agent={`open:${job.id}`}\n onPress={dispatch(`job:${job.id}`)}\n >\n Open\n </Button>\n </HStack>\n ))}\n </List>\n )}\n </Card>\n );\n}\n\nexport default FineTuningSpatialView;\n"],"mappings":"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","names":[]}
@@ -0,0 +1,7 @@
1
+ import { type AppDetailExtensionProps } from "@elizaos/ui/components";
2
+ import { type ReactNode } from "react";
3
+ export declare function FineTuningView({ contentHeader, }?: {
4
+ contentHeader?: ReactNode;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export declare function FineTuningDetailExtension({ app }: AppDetailExtensionProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=FineTuningView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FineTuningView.d.ts","sourceRoot":"","sources":["../../src/ui/FineTuningView.tsx"],"names":[],"mappings":"AAyBA,OAAO,EACL,KAAK,uBAAuB,EAG7B,MAAM,wBAAwB,CAAC;AAUhC,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAquBf,wBAAgB,cAAc,CAAC,EAC7B,aAAa,GACd,GAAE;IACD,aAAa,CAAC,EAAE,SAAS,CAAC;CACtB,2CA8/IL;AA2BD,wBAAgB,yBAAyB,CAAC,EAAE,GAAG,EAAE,EAAE,uBAAuB,2CAuPzE"}
@@ -0,0 +1,17 @@
1
+ import type { TrainingDatasetRecord, TrainingJobRecord, TrainingModelRecord, TrainingStatus, TrainingTrajectoryList } from "@elizaos/ui/api";
2
+ export declare function asArray<T>(value: T[] | null | undefined): T[];
3
+ export declare function parseCollectionTierList(value: string): string[];
4
+ export declare function loadTrainingTuiState(): Promise<{
5
+ status: TrainingStatus;
6
+ trajectories: TrainingTrajectoryList;
7
+ datasets: {
8
+ datasets: TrainingDatasetRecord[];
9
+ };
10
+ jobs: {
11
+ jobs: TrainingJobRecord[];
12
+ };
13
+ models: {
14
+ models: TrainingModelRecord[];
15
+ };
16
+ }>;
17
+ //# sourceMappingURL=FineTuningView.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FineTuningView.helpers.d.ts","sourceRoot":"","sources":["../../src/ui/FineTuningView.helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAIzB,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,EAAE,CAE7D;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/D;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IACpD,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,sBAAsB,CAAC;IACrC,QAAQ,EAAE;QAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAA;KAAE,CAAC;IAChD,IAAI,EAAE;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;IACpC,MAAM,EAAE;QAAE,MAAM,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;CAC3C,CAAC,CAeD"}
@@ -0,0 +1,30 @@
1
+ import { client } from "@elizaos/ui/api";
2
+ import { parseElizaOneBenchmarkTiers } from "../core/eliza1-benchmark-recipe.js";
3
+ function asArray(value) {
4
+ return Array.isArray(value) ? value : [];
5
+ }
6
+ function parseCollectionTierList(value) {
7
+ return parseElizaOneBenchmarkTiers(value, []);
8
+ }
9
+ async function loadTrainingTuiState() {
10
+ const [status, trajectories, datasets, jobs, models] = await Promise.all([
11
+ client.getTrainingStatus(),
12
+ client.listTrainingTrajectories({ limit: 25, offset: 0 }),
13
+ client.listTrainingDatasets(),
14
+ client.listTrainingJobs(),
15
+ client.listTrainingModels()
16
+ ]);
17
+ return {
18
+ status,
19
+ trajectories,
20
+ datasets: { datasets: asArray(datasets.datasets) },
21
+ jobs: { jobs: asArray(jobs.jobs) },
22
+ models: { models: asArray(models.models) }
23
+ };
24
+ }
25
+ export {
26
+ asArray,
27
+ loadTrainingTuiState,
28
+ parseCollectionTierList
29
+ };
30
+ //# sourceMappingURL=FineTuningView.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/FineTuningView.helpers.ts"],"sourcesContent":["// Shared pure helpers for the Fine-Tuning view, used by FineTuningView (in\n// FineTuningView.tsx) and the `interact` capability handler (in\n// FineTuningView.interact.ts). Kept out of the .tsx so that file exports only\n// React components and stays Fast-Refresh-compatible in dev.\nimport type {\n TrainingDatasetRecord,\n TrainingJobRecord,\n TrainingModelRecord,\n TrainingStatus,\n TrainingTrajectoryList,\n} from \"@elizaos/ui/api\";\nimport { client } from \"@elizaos/ui/api\";\nimport { parseElizaOneBenchmarkTiers } from \"../core/eliza1-benchmark-recipe.js\";\n\nexport function asArray<T>(value: T[] | null | undefined): T[] {\n return Array.isArray(value) ? value : [];\n}\n\nexport function parseCollectionTierList(value: string): string[] {\n return parseElizaOneBenchmarkTiers(value, []);\n}\n\nexport async function loadTrainingTuiState(): Promise<{\n status: TrainingStatus;\n trajectories: TrainingTrajectoryList;\n datasets: { datasets: TrainingDatasetRecord[] };\n jobs: { jobs: TrainingJobRecord[] };\n models: { models: TrainingModelRecord[] };\n}> {\n const [status, trajectories, datasets, jobs, models] = await Promise.all([\n client.getTrainingStatus(),\n client.listTrainingTrajectories({ limit: 25, offset: 0 }),\n client.listTrainingDatasets(),\n client.listTrainingJobs(),\n client.listTrainingModels(),\n ]);\n return {\n status,\n trajectories,\n datasets: { datasets: asArray(datasets.datasets) },\n jobs: { jobs: asArray(jobs.jobs) },\n models: { models: asArray(models.models) },\n };\n}\n"],"mappings":"AAWA,SAAS,cAAc;AACvB,SAAS,mCAAmC;AAErC,SAAS,QAAW,OAAoC;AAC7D,SAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC;AACzC;AAEO,SAAS,wBAAwB,OAAyB;AAC/D,SAAO,4BAA4B,OAAO,CAAC,CAAC;AAC9C;AAEA,eAAsB,uBAMnB;AACD,QAAM,CAAC,QAAQ,cAAc,UAAU,MAAM,MAAM,IAAI,MAAM,QAAQ,IAAI;AAAA,IACvE,OAAO,kBAAkB;AAAA,IACzB,OAAO,yBAAyB,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAC;AAAA,IACxD,OAAO,qBAAqB;AAAA,IAC5B,OAAO,iBAAiB;AAAA,IACxB,OAAO,mBAAmB;AAAA,EAC5B,CAAC;AACD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,UAAU,EAAE,UAAU,QAAQ,SAAS,QAAQ,EAAE;AAAA,IACjD,MAAM,EAAE,MAAM,QAAQ,KAAK,IAAI,EAAE;AAAA,IACjC,QAAQ,EAAE,QAAQ,QAAQ,OAAO,MAAM,EAAE;AAAA,EAC3C;AACF;","names":[]}
@@ -0,0 +1,2 @@
1
+ export declare function interact(capability: string, params?: Record<string, unknown>): Promise<unknown>;
2
+ //# sourceMappingURL=FineTuningView.interact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FineTuningView.interact.d.ts","sourceRoot":"","sources":["../../src/ui/FineTuningView.interact.ts"],"names":[],"mappings":"AAeA,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,CAykBlB"}
@@ -0,0 +1,300 @@
1
+ import {
2
+ client
3
+ } from "@elizaos/ui/api";
4
+ import { elizaOneActionBenchmarkPairs } from "../core/eliza1-benchmark-recipe.js";
5
+ import {
6
+ loadTrainingTuiState,
7
+ parseCollectionTierList
8
+ } from "./FineTuningView.helpers";
9
+ async function interact(capability, params) {
10
+ if (capability === "terminal-training-state") {
11
+ return { viewType: "tui", ...await loadTrainingTuiState() };
12
+ }
13
+ if (capability === "terminal-training-trajectory") {
14
+ const trajectoryId = typeof params?.trajectoryId === "string" ? params.trajectoryId.trim() : "";
15
+ if (!trajectoryId) throw new Error("trajectoryId is required");
16
+ return {
17
+ viewType: "tui",
18
+ ...await client.getTrainingTrajectory(trajectoryId)
19
+ };
20
+ }
21
+ if (capability === "terminal-training-build-dataset") {
22
+ return {
23
+ viewType: "tui",
24
+ ...await client.buildTrainingDataset({
25
+ limit: typeof params?.limit === "number" ? params.limit : void 0,
26
+ minLlmCallsPerTrajectory: typeof params?.minLlmCallsPerTrajectory === "number" ? params.minLlmCallsPerTrajectory : void 0
27
+ })
28
+ };
29
+ }
30
+ if (capability === "terminal-training-start-job") {
31
+ const options = {};
32
+ if (typeof params?.datasetId === "string")
33
+ options.datasetId = params.datasetId;
34
+ if (params?.backend === "mlx" || params?.backend === "cuda" || params?.backend === "cpu") {
35
+ options.backend = params.backend;
36
+ }
37
+ if (typeof params?.model === "string") options.model = params.model;
38
+ if (typeof params?.iterations === "number")
39
+ options.iterations = params.iterations;
40
+ if (typeof params?.batchSize === "number")
41
+ options.batchSize = params.batchSize;
42
+ if (typeof params?.learningRate === "number") {
43
+ options.learningRate = params.learningRate;
44
+ }
45
+ return {
46
+ viewType: "tui",
47
+ ...await client.startTrainingJob(options)
48
+ };
49
+ }
50
+ if (capability === "terminal-training-cancel-job") {
51
+ const jobId = typeof params?.jobId === "string" ? params.jobId.trim() : "";
52
+ if (!jobId) throw new Error("jobId is required");
53
+ return { viewType: "tui", ...await client.cancelTrainingJob(jobId) };
54
+ }
55
+ if (capability === "terminal-training-import-model") {
56
+ const modelId = typeof params?.modelId === "string" ? params.modelId.trim() : "";
57
+ if (!modelId) throw new Error("modelId is required");
58
+ return {
59
+ viewType: "tui",
60
+ ...await client.importTrainingModelToOllama(modelId, {
61
+ modelName: typeof params?.modelName === "string" ? params.modelName : void 0,
62
+ baseModel: typeof params?.baseModel === "string" ? params.baseModel : void 0,
63
+ ollamaUrl: typeof params?.ollamaUrl === "string" ? params.ollamaUrl : void 0
64
+ })
65
+ };
66
+ }
67
+ if (capability === "terminal-training-activate-model") {
68
+ const modelId = typeof params?.modelId === "string" ? params.modelId.trim() : "";
69
+ if (!modelId) throw new Error("modelId is required");
70
+ return {
71
+ viewType: "tui",
72
+ ...await client.activateTrainingModel(
73
+ modelId,
74
+ typeof params?.providerModel === "string" ? params.providerModel : void 0
75
+ )
76
+ };
77
+ }
78
+ if (capability === "terminal-training-benchmark-model") {
79
+ const modelId = typeof params?.modelId === "string" ? params.modelId.trim() : "";
80
+ if (!modelId) throw new Error("modelId is required");
81
+ return {
82
+ viewType: "tui",
83
+ ...await client.benchmarkTrainingModel(modelId)
84
+ };
85
+ }
86
+ if (capability === "terminal-training-build-analysis-index") {
87
+ return {
88
+ viewType: "tui",
89
+ ...await client.buildTrainingAnalysisIndex({
90
+ roots: Array.isArray(params?.roots) ? params.roots.filter(
91
+ (root) => typeof root === "string"
92
+ ) : void 0,
93
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
94
+ maxDepth: typeof params?.maxDepth === "number" ? params.maxDepth : void 0
95
+ })
96
+ };
97
+ }
98
+ if (capability === "terminal-training-build-readiness-report") {
99
+ return {
100
+ viewType: "tui",
101
+ ...await client.buildTrainingReadinessReport({
102
+ roots: Array.isArray(params?.roots) ? params.roots.filter(
103
+ (entry) => typeof entry === "string"
104
+ ) : void 0,
105
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
106
+ maxDepth: typeof params?.maxDepth === "number" ? params.maxDepth : void 0,
107
+ reportOutputDir: typeof params?.reportOutputDir === "string" ? params.reportOutputDir : void 0,
108
+ reportPath: typeof params?.reportPath === "string" ? params.reportPath : void 0
109
+ })
110
+ };
111
+ }
112
+ if (capability === "terminal-training-ingest-hf-dataset") {
113
+ return {
114
+ viewType: "tui",
115
+ ...await client.ingestHuggingFaceTrainingDataset({
116
+ repoId: typeof params?.repoId === "string" ? params.repoId : void 0,
117
+ revision: typeof params?.revision === "string" ? params.revision : void 0,
118
+ files: Array.isArray(params?.files) ? params.files.filter(
119
+ (file) => typeof file === "string"
120
+ ) : void 0,
121
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
122
+ token: typeof params?.token === "string" ? params.token : void 0,
123
+ dryRun: params?.dryRun === true
124
+ })
125
+ };
126
+ }
127
+ if (capability === "terminal-training-feed-generate") {
128
+ return {
129
+ viewType: "tui",
130
+ ...await client.runFeedTrainingGeneration({
131
+ workspaceRoot: typeof params?.workspaceRoot === "string" ? params.workspaceRoot : void 0,
132
+ bun: typeof params?.bun === "string" ? params.bun : void 0,
133
+ archetypes: typeof params?.archetypes === "string" ? params.archetypes : void 0,
134
+ numAgents: typeof params?.numAgents === "number" ? params.numAgents : void 0,
135
+ ticks: typeof params?.ticks === "number" ? params.ticks : void 0,
136
+ parallel: typeof params?.parallel === "number" ? params.parallel : void 0,
137
+ managerId: typeof params?.managerId === "string" ? params.managerId : void 0,
138
+ cleanup: params?.cleanup === true,
139
+ dryRun: params?.dryRun === true,
140
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0
141
+ })
142
+ };
143
+ }
144
+ if (capability === "terminal-training-run-scenarios") {
145
+ return {
146
+ viewType: "tui",
147
+ ...await client.runTrainingScenarios({
148
+ workspaceRoot: typeof params?.workspaceRoot === "string" ? params.workspaceRoot : void 0,
149
+ bun: typeof params?.bun === "string" ? params.bun : void 0,
150
+ scenarioDir: typeof params?.scenarioDir === "string" ? params.scenarioDir : void 0,
151
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
152
+ runId: typeof params?.runId === "string" ? params.runId : void 0,
153
+ scenario: typeof params?.scenario === "string" ? params.scenario : void 0,
154
+ fileGlobs: Array.isArray(params?.fileGlobs) ? params.fileGlobs.filter(
155
+ (glob) => typeof glob === "string"
156
+ ) : void 0,
157
+ exportNative: typeof params?.exportNative === "boolean" ? params.exportNative : void 0,
158
+ useDeterministicProxy: typeof params?.useDeterministicProxy === "boolean" ? params.useDeterministicProxy : void 0,
159
+ dryRun: params?.dryRun === true
160
+ })
161
+ };
162
+ }
163
+ if (capability === "terminal-training-run-eval-comparison") {
164
+ const backend = params?.backend === "cpu" || params?.backend === "mlx" || params?.backend === "cuda" ? params.backend : void 0;
165
+ return {
166
+ viewType: "tui",
167
+ ...await client.runTrainingLocalEvalComparison({
168
+ trainingRoot: typeof params?.trainingRoot === "string" ? params.trainingRoot : void 0,
169
+ python: typeof params?.python === "string" ? params.python : void 0,
170
+ manifestPath: typeof params?.manifestPath === "string" ? params.manifestPath : void 0,
171
+ model: typeof params?.model === "string" ? params.model : void 0,
172
+ trainedModelPath: typeof params?.trainedModelPath === "string" ? params.trainedModelPath : void 0,
173
+ backend,
174
+ promptFile: typeof params?.promptFile === "string" ? params.promptFile : void 0,
175
+ maxTokens: typeof params?.maxTokens === "number" ? params.maxTokens : void 0,
176
+ systemPrompt: typeof params?.systemPrompt === "string" ? params.systemPrompt : void 0,
177
+ outputPath: typeof params?.outputPath === "string" ? params.outputPath : void 0,
178
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
179
+ dryRun: params?.dryRun === true
180
+ })
181
+ };
182
+ }
183
+ if (capability === "terminal-training-run-collection") {
184
+ return {
185
+ viewType: "tui",
186
+ ...await client.runTrainingCollection({
187
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
188
+ workspaceRoot: typeof params?.workspaceRoot === "string" ? params.workspaceRoot : void 0,
189
+ preflightOnly: typeof params?.preflightOnly === "boolean" ? params.preflightOnly : void 0,
190
+ preflightProbe: typeof params?.preflightProbe === "boolean" ? params.preflightProbe : void 0,
191
+ includeHuggingFace: typeof params?.includeHuggingFace === "boolean" ? params.includeHuggingFace : void 0,
192
+ includeFeed: typeof params?.includeFeed === "boolean" ? params.includeFeed : void 0,
193
+ includeNaturalTrajectories: typeof params?.includeNaturalTrajectories === "boolean" ? params.includeNaturalTrajectories : void 0,
194
+ includeTestTrajectories: typeof params?.includeTestTrajectories === "boolean" ? params.includeTestTrajectories : void 0,
195
+ includeScenarios: typeof params?.includeScenarios === "boolean" ? params.includeScenarios : void 0,
196
+ includeEvalComparison: typeof params?.includeEvalComparison === "boolean" ? params.includeEvalComparison : void 0,
197
+ includeActionBenchmark: typeof params?.includeActionBenchmark === "boolean" ? params.includeActionBenchmark : void 0,
198
+ includeBenchmarkVsCerebras: typeof params?.includeBenchmarkVsCerebras === "boolean" ? params.includeBenchmarkVsCerebras : void 0,
199
+ includeEliza1ModelRegistry: typeof params?.includeEliza1ModelRegistry === "boolean" ? params.includeEliza1ModelRegistry : void 0,
200
+ includeEliza1BundleStage: typeof params?.includeEliza1BundleStage === "boolean" ? params.includeEliza1BundleStage : void 0,
201
+ includeBenchmarkMatrix: typeof params?.includeBenchmarkMatrix === "boolean" ? params.includeBenchmarkMatrix : void 0,
202
+ huggingFace: params?.huggingFace && typeof params.huggingFace === "object" && !Array.isArray(params.huggingFace) ? params.huggingFace : void 0,
203
+ feed: params?.feed && typeof params.feed === "object" && !Array.isArray(params.feed) ? params.feed : void 0,
204
+ naturalTrajectories: params?.naturalTrajectories && typeof params.naturalTrajectories === "object" && !Array.isArray(params.naturalTrajectories) ? params.naturalTrajectories : void 0,
205
+ testTrajectories: params?.testTrajectories && typeof params.testTrajectories === "object" && !Array.isArray(params.testTrajectories) ? params.testTrajectories : void 0,
206
+ scenarios: params?.scenarios && typeof params.scenarios === "object" && !Array.isArray(params.scenarios) ? params.scenarios : void 0,
207
+ evalComparison: params?.evalComparison && typeof params.evalComparison === "object" && !Array.isArray(params.evalComparison) ? params.evalComparison : void 0,
208
+ actionBenchmark: params?.actionBenchmark && typeof params.actionBenchmark === "object" && !Array.isArray(params.actionBenchmark) ? params.actionBenchmark : void 0,
209
+ actionBenchmarkPair: params?.actionBenchmarkPair && typeof params.actionBenchmarkPair === "object" && !Array.isArray(params.actionBenchmarkPair) ? params.actionBenchmarkPair : void 0,
210
+ actionBenchmarkPairs: Array.isArray(params?.actionBenchmarkPairs) ? params.actionBenchmarkPairs.filter(
211
+ (item) => item !== null && typeof item === "object" && !Array.isArray(item)
212
+ ) : typeof params?.actionBenchmarkPairs === "string" ? elizaOneActionBenchmarkPairs(
213
+ parseCollectionTierList(params.actionBenchmarkPairs)
214
+ ) : void 0,
215
+ benchmarkVsCerebras: params?.benchmarkVsCerebras && typeof params.benchmarkVsCerebras === "object" && !Array.isArray(params.benchmarkVsCerebras) ? params.benchmarkVsCerebras : void 0,
216
+ eliza1BundleStage: params?.eliza1BundleStage && typeof params.eliza1BundleStage === "object" && !Array.isArray(params.eliza1BundleStage) ? params.eliza1BundleStage : void 0,
217
+ benchmarkMatrix: params?.benchmarkMatrix && typeof params.benchmarkMatrix === "object" && !Array.isArray(params.benchmarkMatrix) ? params.benchmarkMatrix : void 0
218
+ })
219
+ };
220
+ }
221
+ if (capability === "terminal-training-write-benchmark-matrix") {
222
+ const rows = Array.isArray(params?.rows) ? params.rows : [];
223
+ return {
224
+ viewType: "tui",
225
+ ...await client.writeTrainingBenchmarkMatrix({
226
+ rows: rows.filter(
227
+ (row) => row !== null && typeof row === "object" && !Array.isArray(row) && typeof row.modelId === "string" && typeof row.benchmark === "string" && typeof row.score === "number" && (row.variant === "reference" || row.variant === "base" || row.variant === "trained")
228
+ ),
229
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
230
+ referenceModelId: typeof params?.referenceModelId === "string" ? params.referenceModelId : void 0
231
+ })
232
+ };
233
+ }
234
+ if (capability === "terminal-training-run-benchmark-vs-cerebras") {
235
+ const benchmark = params?.benchmark === "clawbench" || params?.benchmark === "eliza_harness_action_selection" || params?.benchmark === "hermes" || params?.benchmark === "all" ? params.benchmark : void 0;
236
+ const variants = params?.variants === "trained" || params?.variants === "base" || params?.variants === "both" ? params.variants : void 0;
237
+ return {
238
+ viewType: "tui",
239
+ ...await client.runTrainingBenchmarkVsCerebras({
240
+ tiers: typeof params?.tiers === "string" ? params.tiers : void 0,
241
+ benchmark,
242
+ variants,
243
+ maxSamples: typeof params?.maxSamples === "number" ? params.maxSamples : void 0,
244
+ dryRun: params?.dryRun === true,
245
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
246
+ resultsDb: typeof params?.resultsDb === "string" ? params.resultsDb : void 0,
247
+ trainedModelPath: typeof params?.trainedModelPath === "string" ? params.trainedModelPath : void 0,
248
+ datasetVersion: typeof params?.datasetVersion === "string" ? params.datasetVersion : void 0,
249
+ codeCommit: typeof params?.codeCommit === "string" ? params.codeCommit : void 0,
250
+ matrixOutputDir: typeof params?.matrixOutputDir === "string" ? params.matrixOutputDir : void 0
251
+ })
252
+ };
253
+ }
254
+ if (capability === "terminal-training-stage-eliza1-bundle") {
255
+ return {
256
+ viewType: "tui",
257
+ ...await client.stageEliza1Bundle({
258
+ trainingRoot: typeof params?.trainingRoot === "string" ? params.trainingRoot : void 0,
259
+ python: typeof params?.python === "string" ? params.python : void 0,
260
+ repoId: typeof params?.repoId === "string" ? params.repoId : void 0,
261
+ tier: typeof params?.tier === "string" ? params.tier : void 0,
262
+ localDir: typeof params?.localDir === "string" ? params.localDir : void 0,
263
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
264
+ maxBytes: typeof params?.maxBytes === "number" ? params.maxBytes : void 0,
265
+ apply: params?.apply === true
266
+ })
267
+ };
268
+ }
269
+ if (capability === "terminal-training-run-action-benchmark") {
270
+ return {
271
+ viewType: "tui",
272
+ ...await client.runTrainingActionBenchmark({
273
+ workspaceRoot: typeof params?.workspaceRoot === "string" ? params.workspaceRoot : void 0,
274
+ bun: typeof params?.bun === "string" ? params.bun : void 0,
275
+ outputDir: typeof params?.outputDir === "string" ? params.outputDir : void 0,
276
+ useMocks: typeof params?.useMocks === "boolean" ? params.useMocks : void 0,
277
+ forceTrajectoryCapture: params?.forceTrajectoryCapture === false ? false : void 0,
278
+ filter: typeof params?.filter === "string" ? params.filter : void 0,
279
+ runsPerCase: typeof params?.runsPerCase === "number" ? params.runsPerCase : void 0,
280
+ provider: typeof params?.provider === "string" ? params.provider : void 0,
281
+ modelId: typeof params?.modelId === "string" ? params.modelId : void 0,
282
+ runtimeModel: typeof params?.runtimeModel === "string" ? params.runtimeModel : void 0,
283
+ smallModel: typeof params?.smallModel === "string" ? params.smallModel : void 0,
284
+ largeModel: typeof params?.largeModel === "string" ? params.largeModel : void 0,
285
+ baseUrl: typeof params?.baseUrl === "string" ? params.baseUrl : void 0,
286
+ variant: params?.variant === "reference" || params?.variant === "base" || params?.variant === "trained" ? params.variant : void 0,
287
+ tier: typeof params?.tier === "string" ? params.tier : void 0,
288
+ benchmark: typeof params?.benchmark === "string" ? params.benchmark : void 0,
289
+ datasetVersion: typeof params?.datasetVersion === "string" ? params.datasetVersion : void 0,
290
+ codeCommit: typeof params?.codeCommit === "string" ? params.codeCommit : void 0,
291
+ dryRun: params?.dryRun === true
292
+ })
293
+ };
294
+ }
295
+ throw new Error(`Unsupported capability "${capability}"`);
296
+ }
297
+ export {
298
+ interact
299
+ };
300
+ //# sourceMappingURL=FineTuningView.interact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/FineTuningView.interact.ts"],"sourcesContent":["// View-bundle `interact` capability handler, split out of FineTuningView.tsx so\n// that file exports only React components and stays Fast-Refresh-compatible\n// (Vite would full-reload a component file that also exports a plain function).\n// The view bundle re-exports `interact` via ./training-view-bundle.ts.\nimport {\n client,\n type StartTrainingOptions,\n type WriteBenchmarkMatrixFromArtifactsOptions,\n} from \"@elizaos/ui/api\";\nimport { elizaOneActionBenchmarkPairs } from \"../core/eliza1-benchmark-recipe.js\";\nimport {\n loadTrainingTuiState,\n parseCollectionTierList,\n} from \"./FineTuningView.helpers\";\n\nexport async function interact(\n capability: string,\n params?: Record<string, unknown>,\n): Promise<unknown> {\n if (capability === \"terminal-training-state\") {\n return { viewType: \"tui\", ...(await loadTrainingTuiState()) };\n }\n\n if (capability === \"terminal-training-trajectory\") {\n const trajectoryId =\n typeof params?.trajectoryId === \"string\"\n ? params.trajectoryId.trim()\n : \"\";\n if (!trajectoryId) throw new Error(\"trajectoryId is required\");\n return {\n viewType: \"tui\",\n ...(await client.getTrainingTrajectory(trajectoryId)),\n };\n }\n\n if (capability === \"terminal-training-build-dataset\") {\n return {\n viewType: \"tui\",\n ...(await client.buildTrainingDataset({\n limit: typeof params?.limit === \"number\" ? params.limit : undefined,\n minLlmCallsPerTrajectory:\n typeof params?.minLlmCallsPerTrajectory === \"number\"\n ? params.minLlmCallsPerTrajectory\n : undefined,\n })),\n };\n }\n\n if (capability === \"terminal-training-start-job\") {\n const options: StartTrainingOptions = {};\n if (typeof params?.datasetId === \"string\")\n options.datasetId = params.datasetId;\n if (\n params?.backend === \"mlx\" ||\n params?.backend === \"cuda\" ||\n params?.backend === \"cpu\"\n ) {\n options.backend = params.backend;\n }\n if (typeof params?.model === \"string\") options.model = params.model;\n if (typeof params?.iterations === \"number\")\n options.iterations = params.iterations;\n if (typeof params?.batchSize === \"number\")\n options.batchSize = params.batchSize;\n if (typeof params?.learningRate === \"number\") {\n options.learningRate = params.learningRate;\n }\n return {\n viewType: \"tui\",\n ...(await client.startTrainingJob(options)),\n };\n }\n\n if (capability === \"terminal-training-cancel-job\") {\n const jobId = typeof params?.jobId === \"string\" ? params.jobId.trim() : \"\";\n if (!jobId) throw new Error(\"jobId is required\");\n return { viewType: \"tui\", ...(await client.cancelTrainingJob(jobId)) };\n }\n\n if (capability === \"terminal-training-import-model\") {\n const modelId =\n typeof params?.modelId === \"string\" ? params.modelId.trim() : \"\";\n if (!modelId) throw new Error(\"modelId is required\");\n return {\n viewType: \"tui\",\n ...(await client.importTrainingModelToOllama(modelId, {\n modelName:\n typeof params?.modelName === \"string\" ? params.modelName : undefined,\n baseModel:\n typeof params?.baseModel === \"string\" ? params.baseModel : undefined,\n ollamaUrl:\n typeof params?.ollamaUrl === \"string\" ? params.ollamaUrl : undefined,\n })),\n };\n }\n\n if (capability === \"terminal-training-activate-model\") {\n const modelId =\n typeof params?.modelId === \"string\" ? params.modelId.trim() : \"\";\n if (!modelId) throw new Error(\"modelId is required\");\n return {\n viewType: \"tui\",\n ...(await client.activateTrainingModel(\n modelId,\n typeof params?.providerModel === \"string\"\n ? params.providerModel\n : undefined,\n )),\n };\n }\n\n if (capability === \"terminal-training-benchmark-model\") {\n const modelId =\n typeof params?.modelId === \"string\" ? params.modelId.trim() : \"\";\n if (!modelId) throw new Error(\"modelId is required\");\n return {\n viewType: \"tui\",\n ...(await client.benchmarkTrainingModel(modelId)),\n };\n }\n\n if (capability === \"terminal-training-build-analysis-index\") {\n return {\n viewType: \"tui\",\n ...(await client.buildTrainingAnalysisIndex({\n roots: Array.isArray(params?.roots)\n ? params.roots.filter(\n (root): root is string => typeof root === \"string\",\n )\n : undefined,\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n maxDepth:\n typeof params?.maxDepth === \"number\" ? params.maxDepth : undefined,\n })),\n };\n }\n\n if (capability === \"terminal-training-build-readiness-report\") {\n return {\n viewType: \"tui\",\n ...(await client.buildTrainingReadinessReport({\n roots: Array.isArray(params?.roots)\n ? params.roots.filter(\n (entry): entry is string => typeof entry === \"string\",\n )\n : undefined,\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n maxDepth:\n typeof params?.maxDepth === \"number\" ? params.maxDepth : undefined,\n reportOutputDir:\n typeof params?.reportOutputDir === \"string\"\n ? params.reportOutputDir\n : undefined,\n reportPath:\n typeof params?.reportPath === \"string\"\n ? params.reportPath\n : undefined,\n })),\n };\n }\n\n if (capability === \"terminal-training-ingest-hf-dataset\") {\n return {\n viewType: \"tui\",\n ...(await client.ingestHuggingFaceTrainingDataset({\n repoId: typeof params?.repoId === \"string\" ? params.repoId : undefined,\n revision:\n typeof params?.revision === \"string\" ? params.revision : undefined,\n files: Array.isArray(params?.files)\n ? params.files.filter(\n (file): file is string => typeof file === \"string\",\n )\n : undefined,\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n token: typeof params?.token === \"string\" ? params.token : undefined,\n dryRun: params?.dryRun === true,\n })),\n };\n }\n\n if (capability === \"terminal-training-feed-generate\") {\n return {\n viewType: \"tui\",\n ...(await client.runFeedTrainingGeneration({\n workspaceRoot:\n typeof params?.workspaceRoot === \"string\"\n ? params.workspaceRoot\n : undefined,\n bun: typeof params?.bun === \"string\" ? params.bun : undefined,\n archetypes:\n typeof params?.archetypes === \"string\"\n ? params.archetypes\n : undefined,\n numAgents:\n typeof params?.numAgents === \"number\" ? params.numAgents : undefined,\n ticks: typeof params?.ticks === \"number\" ? params.ticks : undefined,\n parallel:\n typeof params?.parallel === \"number\" ? params.parallel : undefined,\n managerId:\n typeof params?.managerId === \"string\" ? params.managerId : undefined,\n cleanup: params?.cleanup === true,\n dryRun: params?.dryRun === true,\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n })),\n };\n }\n\n if (capability === \"terminal-training-run-scenarios\") {\n return {\n viewType: \"tui\",\n ...(await client.runTrainingScenarios({\n workspaceRoot:\n typeof params?.workspaceRoot === \"string\"\n ? params.workspaceRoot\n : undefined,\n bun: typeof params?.bun === \"string\" ? params.bun : undefined,\n scenarioDir:\n typeof params?.scenarioDir === \"string\"\n ? params.scenarioDir\n : undefined,\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n runId: typeof params?.runId === \"string\" ? params.runId : undefined,\n scenario:\n typeof params?.scenario === \"string\" ? params.scenario : undefined,\n fileGlobs: Array.isArray(params?.fileGlobs)\n ? params.fileGlobs.filter(\n (glob): glob is string => typeof glob === \"string\",\n )\n : undefined,\n exportNative:\n typeof params?.exportNative === \"boolean\"\n ? params.exportNative\n : undefined,\n useDeterministicProxy:\n typeof params?.useDeterministicProxy === \"boolean\"\n ? params.useDeterministicProxy\n : undefined,\n dryRun: params?.dryRun === true,\n })),\n };\n }\n\n if (capability === \"terminal-training-run-eval-comparison\") {\n const backend =\n params?.backend === \"cpu\" ||\n params?.backend === \"mlx\" ||\n params?.backend === \"cuda\"\n ? params.backend\n : undefined;\n return {\n viewType: \"tui\",\n ...(await client.runTrainingLocalEvalComparison({\n trainingRoot:\n typeof params?.trainingRoot === \"string\"\n ? params.trainingRoot\n : undefined,\n python: typeof params?.python === \"string\" ? params.python : undefined,\n manifestPath:\n typeof params?.manifestPath === \"string\"\n ? params.manifestPath\n : undefined,\n model: typeof params?.model === \"string\" ? params.model : undefined,\n trainedModelPath:\n typeof params?.trainedModelPath === \"string\"\n ? params.trainedModelPath\n : undefined,\n backend,\n promptFile:\n typeof params?.promptFile === \"string\"\n ? params.promptFile\n : undefined,\n maxTokens:\n typeof params?.maxTokens === \"number\" ? params.maxTokens : undefined,\n systemPrompt:\n typeof params?.systemPrompt === \"string\"\n ? params.systemPrompt\n : undefined,\n outputPath:\n typeof params?.outputPath === \"string\"\n ? params.outputPath\n : undefined,\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n dryRun: params?.dryRun === true,\n })),\n };\n }\n\n if (capability === \"terminal-training-run-collection\") {\n return {\n viewType: \"tui\",\n ...(await client.runTrainingCollection({\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n workspaceRoot:\n typeof params?.workspaceRoot === \"string\"\n ? params.workspaceRoot\n : undefined,\n preflightOnly:\n typeof params?.preflightOnly === \"boolean\"\n ? params.preflightOnly\n : undefined,\n preflightProbe:\n typeof params?.preflightProbe === \"boolean\"\n ? params.preflightProbe\n : undefined,\n includeHuggingFace:\n typeof params?.includeHuggingFace === \"boolean\"\n ? params.includeHuggingFace\n : undefined,\n includeFeed:\n typeof params?.includeFeed === \"boolean\"\n ? params.includeFeed\n : undefined,\n includeNaturalTrajectories:\n typeof params?.includeNaturalTrajectories === \"boolean\"\n ? params.includeNaturalTrajectories\n : undefined,\n includeTestTrajectories:\n typeof params?.includeTestTrajectories === \"boolean\"\n ? params.includeTestTrajectories\n : undefined,\n includeScenarios:\n typeof params?.includeScenarios === \"boolean\"\n ? params.includeScenarios\n : undefined,\n includeEvalComparison:\n typeof params?.includeEvalComparison === \"boolean\"\n ? params.includeEvalComparison\n : undefined,\n includeActionBenchmark:\n typeof params?.includeActionBenchmark === \"boolean\"\n ? params.includeActionBenchmark\n : undefined,\n includeBenchmarkVsCerebras:\n typeof params?.includeBenchmarkVsCerebras === \"boolean\"\n ? params.includeBenchmarkVsCerebras\n : undefined,\n includeEliza1ModelRegistry:\n typeof params?.includeEliza1ModelRegistry === \"boolean\"\n ? params.includeEliza1ModelRegistry\n : undefined,\n includeEliza1BundleStage:\n typeof params?.includeEliza1BundleStage === \"boolean\"\n ? params.includeEliza1BundleStage\n : undefined,\n includeBenchmarkMatrix:\n typeof params?.includeBenchmarkMatrix === \"boolean\"\n ? params.includeBenchmarkMatrix\n : undefined,\n huggingFace:\n params?.huggingFace &&\n typeof params.huggingFace === \"object\" &&\n !Array.isArray(params.huggingFace)\n ? params.huggingFace\n : undefined,\n feed:\n params?.feed &&\n typeof params.feed === \"object\" &&\n !Array.isArray(params.feed)\n ? params.feed\n : undefined,\n naturalTrajectories:\n params?.naturalTrajectories &&\n typeof params.naturalTrajectories === \"object\" &&\n !Array.isArray(params.naturalTrajectories)\n ? params.naturalTrajectories\n : undefined,\n testTrajectories:\n params?.testTrajectories &&\n typeof params.testTrajectories === \"object\" &&\n !Array.isArray(params.testTrajectories)\n ? params.testTrajectories\n : undefined,\n scenarios:\n params?.scenarios &&\n typeof params.scenarios === \"object\" &&\n !Array.isArray(params.scenarios)\n ? params.scenarios\n : undefined,\n evalComparison:\n params?.evalComparison &&\n typeof params.evalComparison === \"object\" &&\n !Array.isArray(params.evalComparison)\n ? params.evalComparison\n : undefined,\n actionBenchmark:\n params?.actionBenchmark &&\n typeof params.actionBenchmark === \"object\" &&\n !Array.isArray(params.actionBenchmark)\n ? params.actionBenchmark\n : undefined,\n actionBenchmarkPair:\n params?.actionBenchmarkPair &&\n typeof params.actionBenchmarkPair === \"object\" &&\n !Array.isArray(params.actionBenchmarkPair)\n ? params.actionBenchmarkPair\n : undefined,\n actionBenchmarkPairs: Array.isArray(params?.actionBenchmarkPairs)\n ? params.actionBenchmarkPairs.filter(\n (item) =>\n item !== null &&\n typeof item === \"object\" &&\n !Array.isArray(item),\n )\n : typeof params?.actionBenchmarkPairs === \"string\"\n ? elizaOneActionBenchmarkPairs(\n parseCollectionTierList(params.actionBenchmarkPairs),\n )\n : undefined,\n benchmarkVsCerebras:\n params?.benchmarkVsCerebras &&\n typeof params.benchmarkVsCerebras === \"object\" &&\n !Array.isArray(params.benchmarkVsCerebras)\n ? params.benchmarkVsCerebras\n : undefined,\n eliza1BundleStage:\n params?.eliza1BundleStage &&\n typeof params.eliza1BundleStage === \"object\" &&\n !Array.isArray(params.eliza1BundleStage)\n ? params.eliza1BundleStage\n : undefined,\n benchmarkMatrix:\n params?.benchmarkMatrix &&\n typeof params.benchmarkMatrix === \"object\" &&\n !Array.isArray(params.benchmarkMatrix)\n ? (params.benchmarkMatrix as WriteBenchmarkMatrixFromArtifactsOptions)\n : undefined,\n })),\n };\n }\n\n if (capability === \"terminal-training-write-benchmark-matrix\") {\n const rows = Array.isArray(params?.rows) ? params.rows : [];\n return {\n viewType: \"tui\",\n ...(await client.writeTrainingBenchmarkMatrix({\n rows: rows.filter(\n (\n row,\n ): row is {\n modelId: string;\n benchmark: string;\n score: number;\n variant: \"reference\" | \"base\" | \"trained\";\n } =>\n row !== null &&\n typeof row === \"object\" &&\n !Array.isArray(row) &&\n typeof (row as { modelId?: unknown }).modelId === \"string\" &&\n typeof (row as { benchmark?: unknown }).benchmark === \"string\" &&\n typeof (row as { score?: unknown }).score === \"number\" &&\n ((row as { variant?: unknown }).variant === \"reference\" ||\n (row as { variant?: unknown }).variant === \"base\" ||\n (row as { variant?: unknown }).variant === \"trained\"),\n ),\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n referenceModelId:\n typeof params?.referenceModelId === \"string\"\n ? params.referenceModelId\n : undefined,\n })),\n };\n }\n\n if (capability === \"terminal-training-run-benchmark-vs-cerebras\") {\n const benchmark =\n params?.benchmark === \"clawbench\" ||\n params?.benchmark === \"eliza_harness_action_selection\" ||\n params?.benchmark === \"hermes\" ||\n params?.benchmark === \"all\"\n ? params.benchmark\n : undefined;\n const variants =\n params?.variants === \"trained\" ||\n params?.variants === \"base\" ||\n params?.variants === \"both\"\n ? params.variants\n : undefined;\n return {\n viewType: \"tui\",\n ...(await client.runTrainingBenchmarkVsCerebras({\n tiers: typeof params?.tiers === \"string\" ? params.tiers : undefined,\n benchmark,\n variants,\n maxSamples:\n typeof params?.maxSamples === \"number\"\n ? params.maxSamples\n : undefined,\n dryRun: params?.dryRun === true,\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n resultsDb:\n typeof params?.resultsDb === \"string\" ? params.resultsDb : undefined,\n trainedModelPath:\n typeof params?.trainedModelPath === \"string\"\n ? params.trainedModelPath\n : undefined,\n datasetVersion:\n typeof params?.datasetVersion === \"string\"\n ? params.datasetVersion\n : undefined,\n codeCommit:\n typeof params?.codeCommit === \"string\"\n ? params.codeCommit\n : undefined,\n matrixOutputDir:\n typeof params?.matrixOutputDir === \"string\"\n ? params.matrixOutputDir\n : undefined,\n })),\n };\n }\n\n if (capability === \"terminal-training-stage-eliza1-bundle\") {\n return {\n viewType: \"tui\",\n ...(await client.stageEliza1Bundle({\n trainingRoot:\n typeof params?.trainingRoot === \"string\"\n ? params.trainingRoot\n : undefined,\n python: typeof params?.python === \"string\" ? params.python : undefined,\n repoId: typeof params?.repoId === \"string\" ? params.repoId : undefined,\n tier: typeof params?.tier === \"string\" ? params.tier : undefined,\n localDir:\n typeof params?.localDir === \"string\" ? params.localDir : undefined,\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n maxBytes:\n typeof params?.maxBytes === \"number\" ? params.maxBytes : undefined,\n apply: params?.apply === true,\n })),\n };\n }\n\n if (capability === \"terminal-training-run-action-benchmark\") {\n return {\n viewType: \"tui\",\n ...(await client.runTrainingActionBenchmark({\n workspaceRoot:\n typeof params?.workspaceRoot === \"string\"\n ? params.workspaceRoot\n : undefined,\n bun: typeof params?.bun === \"string\" ? params.bun : undefined,\n outputDir:\n typeof params?.outputDir === \"string\" ? params.outputDir : undefined,\n useMocks:\n typeof params?.useMocks === \"boolean\" ? params.useMocks : undefined,\n forceTrajectoryCapture:\n params?.forceTrajectoryCapture === false ? false : undefined,\n filter: typeof params?.filter === \"string\" ? params.filter : undefined,\n runsPerCase:\n typeof params?.runsPerCase === \"number\"\n ? params.runsPerCase\n : undefined,\n provider:\n typeof params?.provider === \"string\" ? params.provider : undefined,\n modelId:\n typeof params?.modelId === \"string\" ? params.modelId : undefined,\n runtimeModel:\n typeof params?.runtimeModel === \"string\"\n ? params.runtimeModel\n : undefined,\n smallModel:\n typeof params?.smallModel === \"string\"\n ? params.smallModel\n : undefined,\n largeModel:\n typeof params?.largeModel === \"string\"\n ? params.largeModel\n : undefined,\n baseUrl:\n typeof params?.baseUrl === \"string\" ? params.baseUrl : undefined,\n variant:\n params?.variant === \"reference\" ||\n params?.variant === \"base\" ||\n params?.variant === \"trained\"\n ? params.variant\n : undefined,\n tier: typeof params?.tier === \"string\" ? params.tier : undefined,\n benchmark:\n typeof params?.benchmark === \"string\" ? params.benchmark : undefined,\n datasetVersion:\n typeof params?.datasetVersion === \"string\"\n ? params.datasetVersion\n : undefined,\n codeCommit:\n typeof params?.codeCommit === \"string\"\n ? params.codeCommit\n : undefined,\n dryRun: params?.dryRun === true,\n })),\n };\n }\n\n throw new Error(`Unsupported capability \"${capability}\"`);\n}\n"],"mappings":"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","names":[]}