@elizaos/plugin-training 2.0.3-beta.5 → 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.
- package/dist/backends/native.d.ts +96 -0
- package/dist/backends/native.d.ts.map +1 -0
- package/dist/backends/native.js +308 -0
- package/dist/backends/native.js.map +1 -0
- package/dist/cli/train.d.ts +22 -0
- package/dist/cli/train.d.ts.map +1 -0
- package/dist/cli/train.js +219 -0
- package/dist/cli/train.js.map +1 -0
- package/dist/core/action-benchmark-runner.d.ts +55 -0
- package/dist/core/action-benchmark-runner.d.ts.map +1 -0
- package/dist/core/action-benchmark-runner.js +341 -0
- package/dist/core/action-benchmark-runner.js.map +1 -0
- package/dist/core/artifact-store.d.ts +72 -0
- package/dist/core/artifact-store.d.ts.map +1 -0
- package/dist/core/artifact-store.js +50 -0
- package/dist/core/artifact-store.js.map +1 -0
- package/dist/core/benchmark-matrix-artifact.d.ts +102 -0
- package/dist/core/benchmark-matrix-artifact.d.ts.map +1 -0
- package/dist/core/benchmark-matrix-artifact.js +381 -0
- package/dist/core/benchmark-matrix-artifact.js.map +1 -0
- package/dist/core/benchmark-vs-cerebras-runner.d.ts +37 -0
- package/dist/core/benchmark-vs-cerebras-runner.d.ts.map +1 -0
- package/dist/core/benchmark-vs-cerebras-runner.js +151 -0
- package/dist/core/benchmark-vs-cerebras-runner.js.map +1 -0
- package/dist/core/cerebras-eval-model.d.ts +54 -0
- package/dist/core/cerebras-eval-model.d.ts.map +1 -0
- package/dist/core/cerebras-eval-model.js +249 -0
- package/dist/core/cerebras-eval-model.js.map +1 -0
- package/dist/core/cli.d.ts +15 -0
- package/dist/core/cli.d.ts.map +1 -0
- package/dist/core/cli.js +1003 -0
- package/dist/core/cli.js.map +1 -0
- package/dist/core/context-audit.d.ts +51 -0
- package/dist/core/context-audit.d.ts.map +1 -0
- package/dist/core/context-audit.js +166 -0
- package/dist/core/context-audit.js.map +1 -0
- package/dist/core/context-catalog.d.ts +47 -0
- package/dist/core/context-catalog.d.ts.map +1 -0
- package/dist/core/context-catalog.js +269 -0
- package/dist/core/context-catalog.js.map +1 -0
- package/dist/core/context-types.d.ts +3 -0
- package/dist/core/context-types.d.ts.map +1 -0
- package/dist/core/context-types.js +18 -0
- package/dist/core/context-types.js.map +1 -0
- package/dist/core/dataset-generator.d.ts +135 -0
- package/dist/core/dataset-generator.d.ts.map +1 -0
- package/dist/core/dataset-generator.js +895 -0
- package/dist/core/dataset-generator.js.map +1 -0
- package/dist/core/eliza1-benchmark-recipe.d.ts +18 -0
- package/dist/core/eliza1-benchmark-recipe.d.ts.map +1 -0
- package/dist/core/eliza1-benchmark-recipe.js +64 -0
- package/dist/core/eliza1-benchmark-recipe.js.map +1 -0
- package/dist/core/eliza1-bundle-stager.d.ts +57 -0
- package/dist/core/eliza1-bundle-stager.d.ts.map +1 -0
- package/dist/core/eliza1-bundle-stager.js +149 -0
- package/dist/core/eliza1-bundle-stager.js.map +1 -0
- package/dist/core/ensure-cron-job.d.ts +53 -0
- package/dist/core/ensure-cron-job.d.ts.map +1 -0
- package/dist/core/ensure-cron-job.js +51 -0
- package/dist/core/ensure-cron-job.js.map +1 -0
- package/dist/core/eval-comparison-artifact.d.ts +72 -0
- package/dist/core/eval-comparison-artifact.d.ts.map +1 -0
- package/dist/core/eval-comparison-artifact.js +281 -0
- package/dist/core/eval-comparison-artifact.js.map +1 -0
- package/dist/core/feed-generation-runner.d.ts +37 -0
- package/dist/core/feed-generation-runner.d.ts.map +1 -0
- package/dist/core/feed-generation-runner.js +232 -0
- package/dist/core/feed-generation-runner.js.map +1 -0
- package/dist/core/html-escape.d.ts +5 -0
- package/dist/core/html-escape.d.ts.map +1 -0
- package/dist/core/html-escape.js +11 -0
- package/dist/core/html-escape.js.map +1 -0
- package/dist/core/huggingface-dataset-ingest.d.ts +52 -0
- package/dist/core/huggingface-dataset-ingest.d.ts.map +1 -0
- package/dist/core/huggingface-dataset-ingest.js +134 -0
- package/dist/core/huggingface-dataset-ingest.js.map +1 -0
- package/dist/core/index.d.ts +29 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +204 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/privacy-filter.d.ts +95 -0
- package/dist/core/privacy-filter.d.ts.map +1 -0
- package/dist/core/privacy-filter.js +324 -0
- package/dist/core/privacy-filter.js.map +1 -0
- package/dist/core/promotion-gate.d.ts +117 -0
- package/dist/core/promotion-gate.d.ts.map +1 -0
- package/dist/core/promotion-gate.js +85 -0
- package/dist/core/promotion-gate.js.map +1 -0
- package/dist/core/promotion-persist.d.ts +116 -0
- package/dist/core/promotion-persist.d.ts.map +1 -0
- package/dist/core/promotion-persist.js +93 -0
- package/dist/core/promotion-persist.js.map +1 -0
- package/dist/core/prompt-compare.d.ts +99 -0
- package/dist/core/prompt-compare.d.ts.map +1 -0
- package/dist/core/prompt-compare.js +210 -0
- package/dist/core/prompt-compare.js.map +1 -0
- package/dist/core/replay-validator.d.ts +136 -0
- package/dist/core/replay-validator.d.ts.map +1 -0
- package/dist/core/replay-validator.js +312 -0
- package/dist/core/replay-validator.js.map +1 -0
- package/dist/core/roleplay-executor.d.ts +123 -0
- package/dist/core/roleplay-executor.d.ts.map +1 -0
- package/dist/core/roleplay-executor.js +675 -0
- package/dist/core/roleplay-executor.js.map +1 -0
- package/dist/core/roleplay-trajectories.d.ts +54 -0
- package/dist/core/roleplay-trajectories.d.ts.map +1 -0
- package/dist/core/roleplay-trajectories.js +88 -0
- package/dist/core/roleplay-trajectories.js.map +1 -0
- package/dist/core/scenario-blueprints.d.ts +62 -0
- package/dist/core/scenario-blueprints.d.ts.map +1 -0
- package/dist/core/scenario-blueprints.js +850 -0
- package/dist/core/scenario-blueprints.js.map +1 -0
- package/dist/core/scenario-runner.d.ts +36 -0
- package/dist/core/scenario-runner.d.ts.map +1 -0
- package/dist/core/scenario-runner.js +216 -0
- package/dist/core/scenario-runner.js.map +1 -0
- package/dist/core/skill-scoring-cron.d.ts +57 -0
- package/dist/core/skill-scoring-cron.d.ts.map +1 -0
- package/dist/core/skill-scoring-cron.js +180 -0
- package/dist/core/skill-scoring-cron.js.map +1 -0
- package/dist/core/test-trajectory-collector.d.ts +37 -0
- package/dist/core/test-trajectory-collector.d.ts.map +1 -0
- package/dist/core/test-trajectory-collector.js +225 -0
- package/dist/core/test-trajectory-collector.js.map +1 -0
- package/dist/core/track-c-queue-task.d.ts +37 -0
- package/dist/core/track-c-queue-task.d.ts.map +1 -0
- package/dist/core/track-c-queue-task.js +104 -0
- package/dist/core/track-c-queue-task.js.map +1 -0
- package/dist/core/training-analysis-index.d.ts +104 -0
- package/dist/core/training-analysis-index.d.ts.map +1 -0
- package/dist/core/training-analysis-index.js +3297 -0
- package/dist/core/training-analysis-index.js.map +1 -0
- package/dist/core/training-collection-runner.d.ts +508 -0
- package/dist/core/training-collection-runner.d.ts.map +1 -0
- package/dist/core/training-collection-runner.js +2299 -0
- package/dist/core/training-collection-runner.js.map +1 -0
- package/dist/core/training-config.d.ts +52 -0
- package/dist/core/training-config.d.ts.map +1 -0
- package/dist/core/training-config.js +117 -0
- package/dist/core/training-config.js.map +1 -0
- package/dist/core/training-orchestrator.d.ts +112 -0
- package/dist/core/training-orchestrator.d.ts.map +1 -0
- package/dist/core/training-orchestrator.js +729 -0
- package/dist/core/training-orchestrator.js.map +1 -0
- package/dist/core/training-readiness-report.d.ts +52 -0
- package/dist/core/training-readiness-report.d.ts.map +1 -0
- package/dist/core/training-readiness-report.js +765 -0
- package/dist/core/training-readiness-report.js.map +1 -0
- package/dist/core/trajectory-consumer.d.ts +15 -0
- package/dist/core/trajectory-consumer.d.ts.map +1 -0
- package/dist/core/trajectory-consumer.js +61 -0
- package/dist/core/trajectory-consumer.js.map +1 -0
- package/dist/core/trajectory-export-bundle.d.ts +95 -0
- package/dist/core/trajectory-export-bundle.d.ts.map +1 -0
- package/dist/core/trajectory-export-bundle.js +561 -0
- package/dist/core/trajectory-export-bundle.js.map +1 -0
- package/dist/core/trajectory-export-cron.d.ts +57 -0
- package/dist/core/trajectory-export-cron.d.ts.map +1 -0
- package/dist/core/trajectory-export-cron.js +170 -0
- package/dist/core/trajectory-export-cron.js.map +1 -0
- package/dist/core/trajectory-hf-upload.d.ts +50 -0
- package/dist/core/trajectory-hf-upload.d.ts.map +1 -0
- package/dist/core/trajectory-hf-upload.js +111 -0
- package/dist/core/trajectory-hf-upload.js.map +1 -0
- package/dist/core/trajectory-task-datasets.d.ts +62 -0
- package/dist/core/trajectory-task-datasets.d.ts.map +1 -0
- package/dist/core/trajectory-task-datasets.js +427 -0
- package/dist/core/trajectory-task-datasets.js.map +1 -0
- package/dist/core/wait-for-service.d.ts +25 -0
- package/dist/core/wait-for-service.d.ts.map +1 -0
- package/dist/core/wait-for-service.js +19 -0
- package/dist/core/wait-for-service.js.map +1 -0
- package/dist/core/workspace-runtime.d.ts +4 -0
- package/dist/core/workspace-runtime.d.ts.map +1 -0
- package/dist/core/workspace-runtime.js +25 -0
- package/dist/core/workspace-runtime.js.map +1 -0
- package/dist/dspy/artifact.d.ts +54 -0
- package/dist/dspy/artifact.d.ts.map +1 -0
- package/dist/dspy/artifact.js +61 -0
- package/dist/dspy/artifact.js.map +1 -0
- package/dist/dspy/chain-of-thought.d.ts +27 -0
- package/dist/dspy/chain-of-thought.d.ts.map +1 -0
- package/dist/dspy/chain-of-thought.js +43 -0
- package/dist/dspy/chain-of-thought.js.map +1 -0
- package/dist/dspy/examples.d.ts +72 -0
- package/dist/dspy/examples.d.ts.map +1 -0
- package/dist/dspy/examples.js +105 -0
- package/dist/dspy/examples.js.map +1 -0
- package/dist/dspy/index.d.ts +15 -0
- package/dist/dspy/index.d.ts.map +1 -0
- package/dist/dspy/index.js +40 -0
- package/dist/dspy/index.js.map +1 -0
- package/dist/dspy/lm-adapter.d.ts +100 -0
- package/dist/dspy/lm-adapter.d.ts.map +1 -0
- package/dist/dspy/lm-adapter.js +81 -0
- package/dist/dspy/lm-adapter.js.map +1 -0
- package/dist/dspy/optimizers/dspy-bootstrap-fewshot.d.ts +23 -0
- package/dist/dspy/optimizers/dspy-bootstrap-fewshot.d.ts.map +1 -0
- package/dist/dspy/optimizers/dspy-bootstrap-fewshot.js +85 -0
- package/dist/dspy/optimizers/dspy-bootstrap-fewshot.js.map +1 -0
- package/dist/dspy/optimizers/dspy-copro.d.ts +29 -0
- package/dist/dspy/optimizers/dspy-copro.d.ts.map +1 -0
- package/dist/dspy/optimizers/dspy-copro.js +141 -0
- package/dist/dspy/optimizers/dspy-copro.js.map +1 -0
- package/dist/dspy/optimizers/dspy-mipro.d.ts +37 -0
- package/dist/dspy/optimizers/dspy-mipro.d.ts.map +1 -0
- package/dist/dspy/optimizers/dspy-mipro.js +194 -0
- package/dist/dspy/optimizers/dspy-mipro.js.map +1 -0
- package/dist/dspy/optimizers/index.d.ts +5 -0
- package/dist/dspy/optimizers/index.d.ts.map +1 -0
- package/dist/dspy/optimizers/index.js +11 -0
- package/dist/dspy/optimizers/index.js.map +1 -0
- package/dist/dspy/optimizers/types.d.ts +39 -0
- package/dist/dspy/optimizers/types.d.ts.map +1 -0
- package/dist/dspy/optimizers/types.js +1 -0
- package/dist/dspy/optimizers/types.js.map +1 -0
- package/dist/dspy/predict.d.ts +49 -0
- package/dist/dspy/predict.d.ts.map +1 -0
- package/dist/dspy/predict.js +73 -0
- package/dist/dspy/predict.js.map +1 -0
- package/dist/dspy/signature.d.ts +88 -0
- package/dist/dspy/signature.d.ts.map +1 -0
- package/dist/dspy/signature.js +205 -0
- package/dist/dspy/signature.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/optimizers/bootstrap-fewshot.d.ts +42 -0
- package/dist/optimizers/bootstrap-fewshot.d.ts.map +1 -0
- package/dist/optimizers/bootstrap-fewshot.js +92 -0
- package/dist/optimizers/bootstrap-fewshot.js.map +1 -0
- package/dist/optimizers/gepa.d.ts +63 -0
- package/dist/optimizers/gepa.d.ts.map +1 -0
- package/dist/optimizers/gepa.js +232 -0
- package/dist/optimizers/gepa.js.map +1 -0
- package/dist/optimizers/index.d.ts +7 -0
- package/dist/optimizers/index.d.ts.map +1 -0
- package/dist/optimizers/index.js +51 -0
- package/dist/optimizers/index.js.map +1 -0
- package/dist/optimizers/instruction-search.d.ts +39 -0
- package/dist/optimizers/instruction-search.d.ts.map +1 -0
- package/dist/optimizers/instruction-search.js +108 -0
- package/dist/optimizers/instruction-search.js.map +1 -0
- package/dist/optimizers/prompt-evolution.d.ts +39 -0
- package/dist/optimizers/prompt-evolution.d.ts.map +1 -0
- package/dist/optimizers/prompt-evolution.js +101 -0
- package/dist/optimizers/prompt-evolution.js.map +1 -0
- package/dist/optimizers/scoring.d.ts +139 -0
- package/dist/optimizers/scoring.d.ts.map +1 -0
- package/dist/optimizers/scoring.js +299 -0
- package/dist/optimizers/scoring.js.map +1 -0
- package/dist/optimizers/types.d.ts +105 -0
- package/dist/optimizers/types.d.ts.map +1 -0
- package/dist/optimizers/types.js +1 -0
- package/dist/optimizers/types.js.map +1 -0
- package/dist/register-runtime.d.ts +3 -0
- package/dist/register-runtime.d.ts.map +1 -0
- package/dist/register-runtime.js +60 -0
- package/dist/register-runtime.js.map +1 -0
- package/dist/register-terminal-view.d.ts +15 -0
- package/dist/register-terminal-view.d.ts.map +1 -0
- package/dist/register-terminal-view.js +31 -0
- package/dist/register-terminal-view.js.map +1 -0
- package/dist/routes/experience-routes.d.ts +21 -0
- package/dist/routes/experience-routes.d.ts.map +1 -0
- package/dist/routes/experience-routes.js +513 -0
- package/dist/routes/experience-routes.js.map +1 -0
- package/dist/routes/index.d.ts +5 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +17 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/training-routes.d.ts +10 -0
- package/dist/routes/training-routes.d.ts.map +1 -0
- package/dist/routes/training-routes.js +1239 -0
- package/dist/routes/training-routes.js.map +1 -0
- package/dist/routes/training-vast-routes.d.ts +35 -0
- package/dist/routes/training-vast-routes.d.ts.map +1 -0
- package/dist/routes/training-vast-routes.js +249 -0
- package/dist/routes/training-vast-routes.js.map +1 -0
- package/dist/routes/trajectory-routes.d.ts +19 -0
- package/dist/routes/trajectory-routes.d.ts.map +1 -0
- package/dist/routes/trajectory-routes.js +1122 -0
- package/dist/routes/trajectory-routes.js.map +1 -0
- package/dist/services/index.d.ts +9 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +63 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/training-backend-check.d.ts +8 -0
- package/dist/services/training-backend-check.d.ts.map +1 -0
- package/dist/services/training-backend-check.js +31 -0
- package/dist/services/training-backend-check.js.map +1 -0
- package/dist/services/training-service-like.d.ts +40 -0
- package/dist/services/training-service-like.d.ts.map +1 -0
- package/dist/services/training-service-like.js +1 -0
- package/dist/services/training-service-like.js.map +1 -0
- package/dist/services/training-service-registry.d.ts +4 -0
- package/dist/services/training-service-registry.d.ts.map +1 -0
- package/dist/services/training-service-registry.js +12 -0
- package/dist/services/training-service-registry.js.map +1 -0
- package/dist/services/training-service.d.ts +59 -0
- package/dist/services/training-service.d.ts.map +1 -0
- package/dist/services/training-service.js +154 -0
- package/dist/services/training-service.js.map +1 -0
- package/dist/services/training-trigger.d.ts +177 -0
- package/dist/services/training-trigger.d.ts.map +1 -0
- package/dist/services/training-trigger.js +300 -0
- package/dist/services/training-trigger.js.map +1 -0
- package/dist/services/training-vast-service.d.ts +149 -0
- package/dist/services/training-vast-service.d.ts.map +1 -0
- package/dist/services/training-vast-service.js +648 -0
- package/dist/services/training-vast-service.js.map +1 -0
- package/dist/services/vast-inference-stats.d.ts +37 -0
- package/dist/services/vast-inference-stats.d.ts.map +1 -0
- package/dist/services/vast-inference-stats.js +81 -0
- package/dist/services/vast-inference-stats.js.map +1 -0
- package/dist/services/vast-job-store.d.ts +74 -0
- package/dist/services/vast-job-store.d.ts.map +1 -0
- package/dist/services/vast-job-store.js +194 -0
- package/dist/services/vast-job-store.js.map +1 -0
- package/dist/services/vast-subprocess.d.ts +27 -0
- package/dist/services/vast-subprocess.d.ts.map +1 -0
- package/dist/services/vast-subprocess.js +78 -0
- package/dist/services/vast-subprocess.js.map +1 -0
- package/dist/setup-routes.d.ts +17 -0
- package/dist/setup-routes.d.ts.map +1 -0
- package/dist/setup-routes.js +319 -0
- package/dist/setup-routes.js.map +1 -0
- package/dist/ui/FineTuningSpatialView.d.ts +49 -0
- package/dist/ui/FineTuningSpatialView.d.ts.map +1 -0
- package/dist/ui/FineTuningSpatialView.js +154 -0
- package/dist/ui/FineTuningSpatialView.js.map +1 -0
- package/dist/ui/FineTuningView.d.ts +7 -0
- package/dist/ui/FineTuningView.d.ts.map +1 -0
- package/dist/ui/FineTuningView.helpers.d.ts +17 -0
- package/dist/ui/FineTuningView.helpers.d.ts.map +1 -0
- package/dist/ui/FineTuningView.helpers.js +30 -0
- package/dist/ui/FineTuningView.helpers.js.map +1 -0
- package/dist/ui/FineTuningView.interact.d.ts +2 -0
- package/dist/ui/FineTuningView.interact.d.ts.map +1 -0
- package/dist/ui/FineTuningView.interact.js +300 -0
- package/dist/ui/FineTuningView.interact.js.map +1 -0
- package/dist/ui/FineTuningView.js +4653 -0
- package/dist/ui/FineTuningView.js.map +1 -0
- package/dist/ui/fine-tuning-panels.d.ts +100 -0
- package/dist/ui/fine-tuning-panels.d.ts.map +1 -0
- package/dist/ui/fine-tuning-panels.helpers.d.ts +19 -0
- package/dist/ui/fine-tuning-panels.helpers.d.ts.map +1 -0
- package/dist/ui/fine-tuning-panels.helpers.js +77 -0
- package/dist/ui/fine-tuning-panels.helpers.js.map +1 -0
- package/dist/ui/fine-tuning-panels.js +928 -0
- package/dist/ui/fine-tuning-panels.js.map +1 -0
- package/dist/ui/index.d.ts +5 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +5 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/training-view-bundle.d.ts +3 -0
- package/dist/ui/training-view-bundle.d.ts.map +1 -0
- package/dist/ui/training-view-bundle.js +7 -0
- package/dist/ui/training-view-bundle.js.map +1 -0
- package/dist/views/bundle.js +5312 -0
- package/dist/views/bundle.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/training-readiness-report.ts"],"sourcesContent":["import { mkdir, writeFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport {\n ELIZA_ONE_BENCHMARK_TIERS,\n ELIZA_ONE_BENCHMARK_TIER_LIST,\n elizaOneActionBenchmarkPairs,\n} from \"./eliza1-benchmark-recipe.js\";\nimport type {\n TrainingAnalysisArtifact,\n TrainingAnalysisCoverageSummary,\n TrainingAnalysisIndex,\n} from \"./training-analysis-index.js\";\n\nexport const TRAINING_READINESS_REPORT_SCHEMA =\n \"eliza_training_readiness_report\";\nexport const TRAINING_READINESS_REPORT_VERSION = 1;\nconst ELIZA_HARNESS_ACTION_SELECTION_BENCHMARK =\n \"eliza_harness_action_selection\";\n\nexport type TrainingReadinessStatus = \"ready\" | \"partial\" | \"missing\";\n\nexport interface TrainingReadinessCheck {\n id: string;\n label: string;\n status: TrainingReadinessStatus;\n artifactCount: number;\n artifactPaths: string[];\n note: string;\n recommendedAction: TrainingReadinessAction | null;\n}\n\nexport interface TrainingReadinessAction {\n label: string;\n capability: string;\n params: Record<string, unknown>;\n}\n\nexport interface TrainingReadinessReport {\n schema: typeof TRAINING_READINESS_REPORT_SCHEMA;\n schemaVersion: typeof TRAINING_READINESS_REPORT_VERSION;\n generatedAt: string;\n outputDir: string;\n reportPath: string;\n analysisManifestPath: string;\n analysisIndexHtmlPath: string;\n status: TrainingReadinessStatus;\n counts: {\n checks: number;\n ready: number;\n partial: number;\n missing: number;\n artifacts: number;\n };\n checks: TrainingReadinessCheck[];\n}\n\nexport interface TrainingReadinessReportResult {\n outputDir: string;\n reportPath: string;\n report: TrainingReadinessReport;\n}\n\ntype ArtifactPredicate = (artifact: TrainingAnalysisArtifact) => boolean;\ntype ReadinessRecord = Record<string, unknown>;\n\nfunction isRecord(value: unknown): value is ReadinessRecord {\n return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction schemaOf(artifact: TrainingAnalysisArtifact): string | undefined {\n const schema = artifact.summary.schema;\n return typeof schema === \"string\" ? schema : undefined;\n}\n\nfunction sourceKindOf(artifact: TrainingAnalysisArtifact): string | undefined {\n const source = artifact.summary.source;\n if (!source || typeof source !== \"object\" || Array.isArray(source)) {\n return undefined;\n }\n const kind = (source as Record<string, unknown>).kind;\n return typeof kind === \"string\" ? kind : undefined;\n}\n\nfunction sourceLabelOf(artifact: TrainingAnalysisArtifact): string | undefined {\n const source = artifact.summary.source;\n if (typeof source === \"string\") return source;\n return sourceKindOf(artifact);\n}\n\nfunction stringFromRecord(\n record: ReadinessRecord | undefined,\n key: string,\n): string | undefined {\n const value = record?.[key];\n return typeof value === \"string\" && value.trim().length > 0\n ? value.trim()\n : undefined;\n}\n\nfunction benchmarkNameOf(\n artifact: TrainingAnalysisArtifact,\n): string | undefined {\n const summarySource = isRecord(artifact.summary.source)\n ? artifact.summary.source\n : undefined;\n const payload = isRecord(artifact.payload) ? artifact.payload : undefined;\n const payloadSource = isRecord(payload?.source) ? payload.source : undefined;\n const payloadSummary = isRecord(payload?.summary)\n ? payload.summary\n : undefined;\n return (\n stringFromRecord(artifact.summary, \"benchmark\") ??\n stringFromRecord(summarySource, \"benchmark\") ??\n stringFromRecord(payload, \"benchmark\") ??\n stringFromRecord(payloadSource, \"benchmark\") ??\n stringFromRecord(payloadSummary, \"benchmark\")\n );\n}\n\nfunction isElizaHarnessActionBenchmark(\n artifact: TrainingAnalysisArtifact,\n): boolean {\n return (\n schemaOf(artifact) === \"eliza_action_selection_benchmark_report\" ||\n sourceKindOf(artifact) === \"app_core_action_selection_benchmark\" ||\n benchmarkNameOf(artifact) === ELIZA_HARNESS_ACTION_SELECTION_BENCHMARK\n );\n}\n\nfunction numberSummary(\n artifact: TrainingAnalysisArtifact,\n key: string,\n): number | undefined {\n const value = artifact.summary[key];\n return typeof value === \"number\" && Number.isFinite(value)\n ? value\n : undefined;\n}\n\nfunction isDryRunArtifact(artifact: TrainingAnalysisArtifact): boolean {\n return (\n artifact.summary.dryRun === true ||\n (isRecord(artifact.payload) && artifact.payload.dryRun === true)\n );\n}\n\nfunction hasPositiveSummary(\n artifact: TrainingAnalysisArtifact,\n keys: readonly string[],\n): boolean {\n return keys.some((key) => (numberSummary(artifact, key) ?? 0) > 0);\n}\n\nfunction hasReadableSamplePreview(\n artifact: TrainingAnalysisArtifact,\n): boolean {\n const sampleKeys = [\n \"samplePreviews\",\n \"feedSamplePreviews\",\n \"hfSamplePreviews\",\n \"scenarioNativeSamplePreviews\",\n \"testSamplePreviews\",\n ];\n return sampleKeys.some((key) => {\n const samples = artifact.summary[key];\n return (\n Array.isArray(samples) &&\n samples.some((sample) => {\n if (!isRecord(sample)) return false;\n return (\n sample.input !== undefined ||\n sample.output !== undefined ||\n sample.trajectoryId !== undefined ||\n sample.scenarioId !== undefined ||\n sample.firstStep !== undefined ||\n sample.reasoning !== undefined\n );\n })\n );\n });\n}\n\nfunction normalizeTier(value: unknown): string | null {\n if (typeof value !== \"string\") return null;\n const normalized = value.toLowerCase();\n if (normalized.includes(\"27b\")) return \"27b\";\n if (normalized.includes(\"9b\")) return \"9b\";\n if (normalized.includes(\"4b\")) return \"4b\";\n if (normalized.includes(\"2b\")) return \"2b\";\n return null;\n}\n\nfunction hasFiniteNumber(value: unknown): value is number {\n return typeof value === \"number\" && Number.isFinite(value);\n}\n\nfunction matrixComparisons(\n artifact: TrainingAnalysisArtifact,\n): ReadinessRecord[] {\n if (!isRecord(artifact.payload)) return [];\n const comparisons = artifact.payload.comparisons;\n return Array.isArray(comparisons) ? comparisons.filter(isRecord) : [];\n}\n\nfunction matrixRows(artifact: TrainingAnalysisArtifact): ReadinessRecord[] {\n if (!isRecord(artifact.payload)) return [];\n const rows = artifact.payload.rows;\n return Array.isArray(rows) ? rows.filter(isRecord) : [];\n}\n\nfunction hasBaseTrainedComparison(comparison: ReadinessRecord): boolean {\n return (\n comparison.dryRun !== true &&\n hasFiniteNumber(comparison.baseScore) &&\n hasFiniteNumber(comparison.trainedScore)\n );\n}\n\nfunction isMockedBenchmarkRecord(value: ReadinessRecord): boolean {\n const raw = isRecord(value.raw) ? value.raw : {};\n const rawSource = isRecord(raw.source) ? raw.source : {};\n const metrics = isRecord(value.metrics) ? value.metrics : {};\n return (\n value.useMocks === true ||\n raw.useMocks === true ||\n rawSource.useMocks === true ||\n metrics.useMocks === true\n );\n}\n\nfunction hasRealBenchmarkMatrixRows(\n artifact: TrainingAnalysisArtifact,\n): boolean {\n return matrixRows(artifact).some(\n (row) => row.dryRun !== true && !isMockedBenchmarkRecord(row),\n );\n}\n\nfunction hasBenchmarkCaseProvenance(\n artifact: TrainingAnalysisArtifact,\n): boolean {\n return matrixRows(artifact).some((row) => {\n if (row.dryRun === true || isMockedBenchmarkRecord(row)) return false;\n const raw = isRecord(row.raw) ? row.raw : {};\n const caseSamples = raw.caseSamples;\n if (!Array.isArray(caseSamples)) return false;\n return caseSamples.some((sample) => {\n if (!isRecord(sample)) return false;\n return (\n sample.pass === true &&\n typeof sample.caseId === \"string\" &&\n typeof sample.prompt === \"string\" &&\n typeof sample.expectedAction === \"string\" &&\n typeof sample.actualAction === \"string\" &&\n typeof sample.trajectoryPath === \"string\"\n );\n });\n });\n}\n\nfunction hasModelBackedRow(\n artifact: TrainingAnalysisArtifact,\n comparison: ReadinessRecord,\n variant: \"base\" | \"trained\",\n): boolean {\n const tier = normalizeTier(comparison.tier);\n const benchmark =\n typeof comparison.benchmark === \"string\" ? comparison.benchmark : null;\n if (!tier || !benchmark) return false;\n return matrixRows(artifact).some((row) => {\n if (row.variant !== variant) return false;\n if (normalizeTier(row.tier) !== tier) return false;\n if (row.benchmark !== benchmark) return false;\n if (row.dryRun === true || isMockedBenchmarkRecord(row)) return false;\n return hasFiniteNumber(row.score);\n });\n}\n\nfunction hasModelBackedBaseTrainedComparison(\n artifact: TrainingAnalysisArtifact,\n comparison: ReadinessRecord,\n): boolean {\n return (\n hasBaseTrainedComparison(comparison) &&\n hasModelBackedRow(artifact, comparison, \"base\") &&\n hasModelBackedRow(artifact, comparison, \"trained\")\n );\n}\n\nfunction modelBackedComparisonTierSet(\n artifact: TrainingAnalysisArtifact,\n predicate: (comparison: ReadinessRecord) => boolean,\n): Set<string> {\n const out = new Set<string>();\n for (const comparison of matrixComparisons(artifact)) {\n if (!predicate(comparison)) continue;\n if (!hasModelBackedBaseTrainedComparison(artifact, comparison)) continue;\n const tier = normalizeTier(comparison.tier);\n if (tier) out.add(tier);\n }\n return out;\n}\n\nfunction hasImprovementComparison(artifact: TrainingAnalysisArtifact): boolean {\n return matrixComparisons(artifact).some(\n (comparison) =>\n hasModelBackedBaseTrainedComparison(artifact, comparison) &&\n hasFiniteNumber(comparison.improvementPercent),\n );\n}\n\nfunction hasScoredEvalImprovement(artifact: TrainingAnalysisArtifact): boolean {\n return (\n hasFiniteNumber(artifact.summary.baseScore) &&\n hasFiniteNumber(artifact.summary.trainedScore) &&\n hasFiniteNumber(artifact.summary.improvementPercent)\n );\n}\n\nfunction hasImprovementComparisonRecord(comparison: ReadinessRecord): boolean {\n return (\n hasBaseTrainedComparison(comparison) &&\n hasFiniteNumber(comparison.improvementPercent)\n );\n}\n\nfunction hasSmallestTierComparison(\n artifact: TrainingAnalysisArtifact,\n): boolean {\n return modelBackedComparisonTierSet(\n artifact,\n hasBaseTrainedComparison,\n ).has(\"2b\");\n}\n\nfunction hasAllEliza1BenchmarkTierComparisons(\n artifact: TrainingAnalysisArtifact,\n): boolean {\n const tiers = modelBackedComparisonTierSet(\n artifact,\n hasBaseTrainedComparison,\n );\n return ELIZA_ONE_BENCHMARK_TIERS.every((tier) => tiers.has(tier));\n}\n\nfunction hasAllEliza1TierImprovementComparisons(\n artifact: TrainingAnalysisArtifact,\n): boolean {\n const tiers = modelBackedComparisonTierSet(\n artifact,\n hasImprovementComparisonRecord,\n );\n return ELIZA_ONE_BENCHMARK_TIERS.every((tier) => tiers.has(tier));\n}\n\nfunction actionBenchmarkPairCollectionAction(\n label: string,\n tiers: readonly string[],\n): TrainingReadinessAction {\n return {\n label,\n capability: \"terminal-training-run-collection\",\n params: {\n includeActionBenchmark: true,\n includeBenchmarkMatrix: true,\n actionBenchmark: {\n dryRun: false,\n useMocks: false,\n runsPerCase: 1,\n provider: \"local-llama-cpp\",\n benchmark: \"eliza_harness_action_selection\",\n datasetVersion: \"eliza-native-v1\",\n },\n actionBenchmarkPairs: elizaOneActionBenchmarkPairs(tiers),\n },\n };\n}\n\nfunction hasCerebrasReferenceComparison(\n artifact: TrainingAnalysisArtifact,\n): boolean {\n const summaryReference = artifact.summary.referenceModelId;\n const hasSummaryReference =\n typeof summaryReference === \"string\" && /cerebras/i.test(summaryReference);\n return matrixComparisons(artifact).some((comparison) => {\n const reference = comparison.referenceModelId;\n const hasComparisonReference =\n typeof reference === \"string\" && /cerebras/i.test(reference);\n return (\n hasFiniteNumber(comparison.referenceScore) &&\n (hasSummaryReference || hasComparisonReference)\n );\n });\n}\n\nfunction modelVariantOf(artifact: TrainingAnalysisArtifact): string | null {\n const payload = isRecord(artifact.payload) ? artifact.payload : {};\n const variant = payload.variant;\n if (variant === \"base\" || variant === \"trained\") return variant;\n const summaryModel = artifact.summary.model;\n const model =\n typeof summaryModel === \"string\"\n ? summaryModel\n : typeof payload.modelId === \"string\"\n ? payload.modelId\n : typeof payload.model_name === \"string\"\n ? payload.model_name\n : typeof payload.model === \"string\"\n ? payload.model\n : \"\";\n if (/-base\\b/.test(model)) return \"base\";\n if (/-trained\\b/.test(model)) return \"trained\";\n return null;\n}\n\nfunction modelTierOf(artifact: TrainingAnalysisArtifact): string | null {\n const payload = isRecord(artifact.payload) ? artifact.payload : {};\n return (\n normalizeTier(artifact.summary.tier) ??\n normalizeTier(payload.tier) ??\n normalizeTier(artifact.summary.model) ??\n normalizeTier(payload.modelId) ??\n normalizeTier(payload.model_name) ??\n normalizeTier(payload.model)\n );\n}\n\nfunction hasModelOutputEvidence(artifact: TrainingAnalysisArtifact): boolean {\n return (\n artifact.kind === \"model\" &&\n (typeof artifact.summary.outputPath === \"string\" ||\n artifact.summary.apply === true ||\n (numberSummary(artifact, \"stagedCount\") ?? 0) > 0)\n );\n}\n\nfunction buildModelTrackingCheck(\n artifacts: readonly TrainingAnalysisArtifact[],\n coverage?: TrainingAnalysisCoverageSummary,\n): TrainingReadinessCheck {\n const coverageModels = coverage?.models;\n if (coverageModels && coverageModels.inventory.length > 0) {\n const coverageSet = new Set<string>();\n for (const model of coverageModels.inventory) {\n if (model.tier && model.variant) {\n coverageSet.add(`${model.tier}:${model.variant}`);\n }\n }\n const hasAllEliza1Variants = ELIZA_ONE_BENCHMARK_TIERS.every(\n (tier) => coverageSet.has(`${tier}:base`) && coverageSet.has(`${tier}:trained`),\n );\n if (hasAllEliza1Variants) {\n return {\n id: \"model_tracking\",\n label: \"Model tracking\",\n status: \"ready\",\n artifactCount: coverageModels.artifacts,\n artifactPaths: artifacts\n .filter((artifact) => artifact.kind === \"model\")\n .map((artifact) => artifact.path),\n note:\n \"Analysis coverage includes base and trained Eliza-1 model entries for every tier.\",\n recommendedAction: null,\n };\n }\n }\n const modelArtifacts = artifacts.filter((artifact) => artifact.kind === \"model\");\n const registryArtifacts = modelArtifacts.filter(hasModelOutputEvidence);\n const modelCoverage = new Set<string>();\n for (const artifact of registryArtifacts) {\n const tier = modelTierOf(artifact);\n const variant = modelVariantOf(artifact);\n if (tier && variant) modelCoverage.add(`${tier}:${variant}`);\n }\n const hasAllEliza1Variants = ELIZA_ONE_BENCHMARK_TIERS.every(\n (tier) =>\n modelCoverage.has(`${tier}:base`) &&\n modelCoverage.has(`${tier}:trained`),\n );\n const appliedBundleArtifacts = modelArtifacts.filter(\n (artifact) =>\n artifact.summary.apply === true ||\n (numberSummary(artifact, \"stagedCount\") ?? 0) > 0,\n );\n const readyArtifacts = hasAllEliza1Variants\n ? registryArtifacts\n : appliedBundleArtifacts;\n const status: TrainingReadinessStatus =\n readyArtifacts.length > 0\n ? \"ready\"\n : modelArtifacts.length > 0\n ? \"partial\"\n : \"missing\";\n return {\n id: \"model_tracking\",\n label: \"Model tracking\",\n status,\n artifactCount:\n status === \"ready\" ? readyArtifacts.length : modelArtifacts.length,\n artifactPaths:\n status === \"ready\"\n ? readyArtifacts.map((artifact) => artifact.path)\n : modelArtifacts.map((artifact) => artifact.path),\n note:\n status === \"ready\"\n ? hasAllEliza1Variants\n ? \"Base and trained Eliza-1 model registry entries are represented for every tier.\"\n : \"An applied staged bundle is represented.\"\n : status === \"partial\"\n ? \"Model artifacts are present, but they do not cover base and trained Eliza-1 entries for every tier.\"\n : \"No model or staged bundle artifact was found.\",\n recommendedAction:\n status === \"ready\"\n ? null\n : {\n label: \"Stage or register concrete base/trained Eliza-1 model artifacts\",\n capability: \"terminal-training-stage-eliza1-bundle\",\n params: { tier: \"2b\", apply: true },\n },\n };\n}\n\nfunction coverageCheck(\n fallback: TrainingReadinessCheck,\n status: TrainingReadinessStatus | null,\n input: {\n artifactCount: number;\n readyNote: string;\n partialNote: string;\n },\n): TrainingReadinessCheck {\n if (!status) return fallback;\n return {\n ...fallback,\n status,\n artifactCount: input.artifactCount,\n note: status === \"ready\" ? input.readyNote : input.partialNote,\n recommendedAction: status === \"ready\" ? null : fallback.recommendedAction,\n };\n}\n\nfunction coverageTierStatus(\n coverage: TrainingAnalysisCoverageSummary | undefined,\n tiers: readonly string[],\n predicate: (\n tier: TrainingAnalysisCoverageSummary[\"benchmarks\"][\"tierCoverage\"][number],\n ) => boolean,\n): TrainingReadinessStatus | null {\n const tierCoverage = coverage?.benchmarks.tierCoverage ?? [];\n if (tierCoverage.length === 0) return null;\n const requested = tiers.map((tier) => {\n const normalized = normalizeTier(tier);\n return normalized ?? tier;\n });\n const matched = requested\n .map((tier) => tierCoverage.find((entry) => entry.tier === tier))\n .filter(\n (\n entry,\n ): entry is TrainingAnalysisCoverageSummary[\"benchmarks\"][\"tierCoverage\"][number] =>\n entry !== undefined,\n );\n if (matched.length === requested.length && matched.every(predicate)) {\n return \"ready\";\n }\n if ((coverage?.benchmarks.matrices ?? 0) > 0) return \"partial\";\n return null;\n}\n\nfunction readableSourceCoverageStatus(\n coverage: TrainingAnalysisCoverageSummary,\n): TrainingReadinessStatus | null {\n const sourceKeys = [\n \"huggingFace\",\n \"feed\",\n \"natural\",\n \"scenarios\",\n \"tests\",\n \"trainingJsonl\",\n ] as const;\n const presentSources = sourceKeys.filter(\n (key) => (coverage.dataSources[key] ?? 0) > 0,\n );\n if (presentSources.length === 0) return null;\n if (\n presentSources.every((key) => (coverage.readableSamples[key] ?? 0) > 0)\n ) {\n return \"ready\";\n }\n return \"partial\";\n}\n\nfunction applyCoverageReadiness(\n checks: TrainingReadinessCheck[],\n coverage: TrainingAnalysisCoverageSummary | undefined,\n): TrainingReadinessCheck[] {\n if (!coverage) return checks;\n return checks.map((item) => {\n if (item.id === \"readable_source_samples\") {\n return coverageCheck(\n item,\n readableSourceCoverageStatus(coverage),\n {\n artifactCount: coverage.readableSamples.total,\n readyNote:\n \"Analysis coverage includes readable trajectory samples for every collected source category.\",\n partialNote:\n \"Analysis coverage found collected trajectory sources that do not all expose readable samples yet.\",\n },\n );\n }\n if (item.id === \"eval_comparison\") {\n const harnessComparisons =\n coverage.benchmarks.scoredComparisons > 0 ||\n coverage.benchmarks.tierCoverage.some((tier) => tier.hasImprovement);\n return coverageCheck(\n item,\n coverage.evals.scoredComparisons > 0 || harnessComparisons\n ? \"ready\"\n : coverage.evals.comparisons > 0 ||\n coverage.benchmarks.comparisons > 0 ||\n coverage.benchmarks.matrices > 0\n ? \"partial\"\n : null,\n {\n artifactCount:\n coverage.evals.scoredComparisons > 0 ||\n coverage.evals.comparisons > 0\n ? coverage.evals.comparisons\n : coverage.benchmarks.comparisons || coverage.benchmarks.matrices,\n readyNote:\n \"Analysis coverage includes a scored base-vs-trained Eliza harness or eval comparison.\",\n partialNote:\n \"Analysis coverage found comparison artifacts without complete scored Eliza harness improvement metrics.\",\n },\n );\n }\n if (item.id === \"benchmark_matrix\") {\n return coverageCheck(\n item,\n coverage.benchmarks.scoredComparisons > 0\n ? \"ready\"\n : coverage.benchmarks.matrices > 0\n ? \"partial\"\n : null,\n {\n artifactCount: coverage.benchmarks.matrices,\n readyNote:\n \"Analysis coverage includes benchmark matrix scored comparisons.\",\n partialNote:\n \"Analysis coverage found benchmark matrices without scored comparisons.\",\n },\n );\n }\n if (item.id === \"benchmark_case_provenance\") {\n return coverageCheck(\n item,\n coverage.benchmarks.caseSamples > 0\n ? \"ready\"\n : coverage.benchmarks.matrices > 0\n ? \"partial\"\n : null,\n {\n artifactCount: coverage.benchmarks.caseSamples,\n readyNote:\n \"Analysis coverage includes benchmark case prompts, outputs, and trajectory paths.\",\n partialNote:\n \"Analysis coverage found benchmark matrices without readable case provenance.\",\n },\n );\n }\n if (item.id === \"smallest_model_benchmark\") {\n return coverageCheck(\n item,\n coverageTierStatus(\n coverage,\n [\"2b\"],\n (tier) => tier.hasBase && tier.hasTrained,\n ),\n {\n artifactCount: coverage.benchmarks.matrices,\n readyNote:\n \"Analysis coverage includes smallest-tier base/trained benchmark comparison.\",\n partialNote:\n \"Analysis coverage found benchmark matrices without complete smallest-tier base/trained comparison.\",\n },\n );\n }\n if (item.id === \"all_eliza1_tiers_benchmark\") {\n return coverageCheck(\n item,\n coverageTierStatus(\n coverage,\n ELIZA_ONE_BENCHMARK_TIERS,\n (tier) => tier.hasBase && tier.hasTrained,\n ),\n {\n artifactCount: coverage.benchmarks.matrices,\n readyNote:\n \"Analysis coverage includes base/trained benchmark comparisons for every Eliza-1 tier.\",\n partialNote:\n \"Analysis coverage found benchmark matrices without complete all-tier base/trained comparisons.\",\n },\n );\n }\n if (item.id === \"cerebras_reference\") {\n return coverageCheck(\n item,\n coverageTierStatus(\n coverage,\n [\"2b\"],\n (tier) => tier.hasReference,\n ) === \"ready\" ||\n coverage.benchmarks.tierCoverage.some((tier) => tier.hasReference)\n ? \"ready\"\n : coverage.benchmarks.matrices > 0\n ? \"partial\"\n : null,\n {\n artifactCount: coverage.benchmarks.matrices,\n readyNote: \"Analysis coverage includes a Cerebras reference score.\",\n partialNote:\n \"Analysis coverage found benchmark matrices without a Cerebras reference score.\",\n },\n );\n }\n if (item.id === \"base_trained_improvement\") {\n return coverageCheck(\n item,\n coverage.benchmarks.tierCoverage.some(\n (tier) => tier.hasBase && tier.hasTrained && tier.hasImprovement,\n )\n ? \"ready\"\n : coverage.benchmarks.matrices > 0\n ? \"partial\"\n : null,\n {\n artifactCount: coverage.benchmarks.scoredComparisons,\n readyNote:\n \"Analysis coverage includes base/trained benchmark improvement.\",\n partialNote:\n \"Analysis coverage found benchmark matrices without base/trained improvement.\",\n },\n );\n }\n if (item.id === \"all_eliza1_tier_improvements\") {\n return coverageCheck(\n item,\n coverageTierStatus(\n coverage,\n ELIZA_ONE_BENCHMARK_TIERS,\n (tier) => tier.hasBase && tier.hasTrained && tier.hasImprovement,\n ),\n {\n artifactCount: coverage.benchmarks.scoredComparisons,\n readyNote:\n \"Analysis coverage includes percentage improvement for every Eliza-1 tier.\",\n partialNote:\n \"Analysis coverage found benchmark matrices without all-tier percentage improvement.\",\n },\n );\n }\n return item;\n });\n}\n\nfunction check(\n artifacts: readonly TrainingAnalysisArtifact[],\n input: {\n id: string;\n label: string;\n ready: ArtifactPredicate;\n partial?: ArtifactPredicate;\n readyNote: string;\n partialNote?: string;\n missingNote: string;\n recommendedAction?: TrainingReadinessAction;\n },\n): TrainingReadinessCheck {\n const readyArtifacts = artifacts.filter(input.ready);\n const partialArtifacts =\n readyArtifacts.length === 0 && input.partial\n ? artifacts.filter(input.partial)\n : [];\n const matched = readyArtifacts.length > 0 ? readyArtifacts : partialArtifacts;\n const status: TrainingReadinessStatus =\n readyArtifacts.length > 0\n ? \"ready\"\n : partialArtifacts.length > 0\n ? \"partial\"\n : \"missing\";\n return {\n id: input.id,\n label: input.label,\n status,\n artifactCount: matched.length,\n artifactPaths: matched.map((artifact) => artifact.path),\n note:\n status === \"ready\"\n ? input.readyNote\n : status === \"partial\"\n ? (input.partialNote ?? input.readyNote)\n : input.missingNote,\n recommendedAction:\n status === \"ready\" ? null : (input.recommendedAction ?? null),\n };\n}\n\nexport function buildTrainingReadinessReportPayload(\n analysis: TrainingAnalysisIndex,\n options: {\n generatedAt?: string;\n outputDir?: string;\n reportPath?: string;\n } = {},\n): TrainingReadinessReport {\n const artifacts = analysis.manifest.artifacts;\n const coverage = analysis.manifest.coverage;\n const checks = applyCoverageReadiness([\n check(artifacts, {\n id: \"huggingface_training_data\",\n label: \"Hugging Face training data\",\n ready: (artifact) =>\n artifact.kind === \"trajectory_dataset\" &&\n (schemaOf(artifact) === \"eliza_huggingface_dataset_ingest\" ||\n sourceKindOf(artifact) === \"huggingface_dataset\") &&\n (numberSummary(artifact, \"downloadedFiles\") ?? 0) > 0 &&\n (numberSummary(artifact, \"jsonlRows\") ?? 0) > 0,\n partial: (artifact) =>\n artifact.kind === \"trajectory_dataset\" &&\n (schemaOf(artifact) === \"eliza_huggingface_dataset_ingest\" ||\n sourceKindOf(artifact) === \"huggingface_dataset\"),\n readyNote: \"Downloaded Hugging Face training rows are represented.\",\n partialNote:\n \"A Hugging Face ingest artifact is present, but it has no downloaded JSONL rows.\",\n missingNote:\n \"No Hugging Face training dataset ingest manifest was found.\",\n recommendedAction: {\n label: \"Download Hugging Face training files\",\n capability: \"terminal-training-ingest-hf-dataset\",\n params: { dryRun: false },\n },\n }),\n check(artifacts, {\n id: \"feed_generation\",\n label: \"Feed generated trajectories\",\n ready: (artifact) =>\n artifact.kind === \"trajectory_dataset\" &&\n (schemaOf(artifact) === \"feed_training_trajectory_export\" ||\n schemaOf(artifact) === \"feed_parallel_generation\") &&\n !isDryRunArtifact(artifact) &&\n hasPositiveSummary(artifact, [\n \"rows\",\n \"trajectories\",\n \"parsedTrajectories\",\n \"agentsCreated\",\n ]),\n partial: (artifact) =>\n artifact.kind === \"trajectory_dataset\" &&\n (schemaOf(artifact) === \"feed_training_trajectory_export\" ||\n schemaOf(artifact) === \"feed_parallel_generation\"),\n readyNote: \"Feed generation artifacts include generated trajectory data.\",\n partialNote:\n \"A feed generation artifact is present, but it is a dry run or has no generated trajectory rows.\",\n missingNote: \"No feed trajectory generation artifact was found.\",\n recommendedAction: {\n label: \"Generate feed training trajectories\",\n capability: \"terminal-training-feed-generate\",\n params: {\n dryRun: false,\n archetypes: \"trader\",\n numAgents: 1,\n ticks: 1,\n parallel: 1,\n },\n },\n }),\n check(artifacts, {\n id: \"natural_trajectories\",\n label: \"Natural app trajectories\",\n ready: (artifact) =>\n artifact.kind === \"trajectory_bundle\" &&\n sourceLabelOf(artifact) === \"training_collection_natural_trajectories\" &&\n hasPositiveSummary(artifact, [\n \"sanitizedTrajectoryCount\",\n \"taskExamples\",\n \"llmCalls\",\n ]),\n partial: (artifact) =>\n artifact.kind === \"trajectory_bundle\" &&\n sourceLabelOf(artifact) === \"training_collection_natural_trajectories\",\n readyNote:\n \"Natural app/runtime trajectory bundles include trajectory rows.\",\n partialNote:\n \"A natural app trajectory bundle is present, but it has no counted trajectory rows.\",\n missingNote:\n \"No natural app/runtime trajectory bundle was found.\",\n recommendedAction: {\n label: \"Collect natural app/runtime trajectories\",\n capability: \"terminal-training-run-collection\",\n params: {\n includeNaturalTrajectories: true,\n },\n },\n }),\n check(artifacts, {\n id: \"test_trajectories\",\n label: \"Test trajectories\",\n ready: (artifact) =>\n artifact.kind === \"trajectory_dataset\" &&\n sourceKindOf(artifact) === \"app_core_test_trajectory\" &&\n hasPositiveSummary(artifact, [\"actions\", \"llmCalls\"]),\n partial: (artifact) =>\n artifact.kind === \"trajectory_dataset\" &&\n sourceKindOf(artifact) === \"app_core_test_trajectory\",\n readyNote: \"Test trajectory artifacts include action or LLM rows.\",\n partialNote:\n \"A test trajectory artifact is present, but it has no counted actions or LLM rows.\",\n missingNote: \"No test trajectory artifact was found.\",\n recommendedAction: {\n label: \"Collect app-core test trajectories\",\n capability: \"terminal-training-run-collection\",\n params: {\n includeTestTrajectories: true,\n },\n },\n }),\n check(artifacts, {\n id: \"scenario_trajectories\",\n label: \"Scenario trajectories\",\n ready: (artifact) =>\n (artifact.kind === \"scenario_run\" &&\n hasPositiveSummary(artifact, [\"totalCount\", \"nativeRows\"])) ||\n (artifact.kind === \"trajectory_dataset\" &&\n schemaOf(artifact) === \"eliza_scenario_native_export\" &&\n hasPositiveSummary(artifact, [\"rows\", \"parsedTrajectories\"])),\n partial: (artifact) =>\n artifact.kind === \"scenario_run\" ||\n (artifact.kind === \"trajectory_dataset\" &&\n schemaOf(artifact) === \"eliza_scenario_native_export\"),\n readyNote:\n \"Scenario run or native scenario export artifacts include scenario rows.\",\n partialNote:\n \"A scenario artifact is present, but it has no counted scenario or native trajectory rows.\",\n missingNote: \"No scenario run or native scenario export was found.\",\n recommendedAction: {\n label: \"Run scenarios with native trajectory export\",\n capability: \"terminal-training-run-scenarios\",\n params: {\n dryRun: false,\n exportNative: true,\n useDeterministicProxy: true,\n },\n },\n }),\n check(artifacts, {\n id: \"readable_source_samples\",\n label: \"Readable trajectory samples\",\n ready: (artifact) =>\n (artifact.kind === \"trajectory_bundle\" ||\n artifact.kind === \"trajectory_dataset\" ||\n artifact.kind === \"scenario_run\") &&\n hasReadableSamplePreview(artifact),\n partial: (artifact) =>\n artifact.kind === \"trajectory_bundle\" ||\n artifact.kind === \"trajectory_dataset\" ||\n artifact.kind === \"scenario_run\",\n readyNote:\n \"Trajectory artifacts include readable input/output or trajectory sample previews for the HTML viewer.\",\n partialNote:\n \"Trajectory artifacts are present, but none expose readable sample previews yet.\",\n missingNote:\n \"No trajectory artifact with readable HTML-viewer samples was found.\",\n recommendedAction: {\n label: \"Build the training analysis viewer from collected artifacts\",\n capability: \"terminal-training-build-analysis-index\",\n params: {},\n },\n }),\n check(artifacts, {\n id: \"eval_comparison\",\n label: \"Base vs trained Eliza harness eval comparison\",\n ready: (artifact) =>\n (artifact.kind === \"eval\" &&\n schemaOf(artifact) === \"eliza_eval_comparison_artifact\" &&\n hasScoredEvalImprovement(artifact)) ||\n (artifact.kind === \"benchmark_matrix\" &&\n hasImprovementComparison(artifact)),\n partial: (artifact) =>\n (artifact.kind === \"eval\" &&\n schemaOf(artifact) === \"eliza_eval_comparison_artifact\") ||\n artifact.kind === \"benchmark_matrix\",\n readyNote:\n \"A scored base-vs-trained Eliza harness or eval comparison with percentage improvement is present.\",\n partialNote:\n \"A comparison artifact is present, but it does not include base score, trained score, and percentage improvement from the Eliza harness.\",\n missingNote:\n \"No base-vs-trained Eliza harness eval comparison artifact was found.\",\n recommendedAction: actionBenchmarkPairCollectionAction(\n \"Run scored base-vs-trained Eliza harness eval comparison\",\n [\"2b\"],\n ),\n }),\n check(artifacts, {\n id: \"agentic_benchmarks\",\n label: \"Eliza harness benchmarks\",\n ready: (artifact) =>\n artifact.kind === \"eval\" &&\n isElizaHarnessActionBenchmark(artifact) &&\n (typeof artifact.summary.accuracy === \"number\" ||\n typeof artifact.summary.score === \"number\" ||\n typeof artifact.summary.passRate === \"number\") &&\n ((numberSummary(artifact, \"total\") ?? 1) > 0 ||\n (numberSummary(artifact, \"results\") ?? 1) > 0),\n partial: (artifact) =>\n artifact.kind === \"eval\" && isElizaHarnessActionBenchmark(artifact),\n readyNote: \"Agentic benchmark artifacts include scored results.\",\n partialNote:\n \"An agentic benchmark artifact is present, but it has no score.\",\n missingNote: \"No Eliza harness benchmark artifact was found.\",\n recommendedAction: {\n label: \"Run Eliza action-selection benchmark\",\n capability: \"terminal-training-run-collection\",\n params: {\n includeActionBenchmark: true,\n includeBenchmarkMatrix: true,\n actionBenchmark: {\n dryRun: false,\n useMocks: false,\n runsPerCase: 1,\n provider: \"local-llama-cpp\",\n benchmark: \"eliza_harness_action_selection\",\n },\n actionBenchmarkPair: {\n tier: \"2b\",\n base: { variant: \"base\" },\n trained: { variant: \"trained\" },\n },\n },\n },\n }),\n check(artifacts, {\n id: \"benchmark_matrix\",\n label: \"Benchmark matrix\",\n ready: (artifact) =>\n artifact.kind === \"benchmark_matrix\" &&\n hasPositiveSummary(artifact, [\"rows\", \"comparisons\"]) &&\n hasRealBenchmarkMatrixRows(artifact),\n partial: (artifact) => artifact.kind === \"benchmark_matrix\",\n readyNote: \"Benchmark matrix artifact includes rows or comparisons.\",\n partialNote:\n \"A benchmark matrix artifact is present, but it has no rows or comparisons.\",\n missingNote: \"No benchmark matrix artifact was found.\",\n recommendedAction: actionBenchmarkPairCollectionAction(\n \"Generate benchmark matrix from Eliza harness artifacts\",\n [\"2b\"],\n ),\n }),\n check(artifacts, {\n id: \"benchmark_case_provenance\",\n label: \"Benchmark case provenance\",\n ready: (artifact) =>\n artifact.kind === \"benchmark_matrix\" &&\n hasBenchmarkCaseProvenance(artifact),\n partial: (artifact) => artifact.kind === \"benchmark_matrix\",\n readyNote:\n \"Benchmark matrix rows include Eliza harness case prompts, actions, and trajectory paths.\",\n partialNote:\n \"A benchmark matrix exists, but its rows do not include readable case provenance.\",\n missingNote:\n \"No benchmark matrix with Eliza harness case provenance was found.\",\n recommendedAction: actionBenchmarkPairCollectionAction(\n \"Run Eliza harness benchmark with trajectory capture\",\n [\"2b\"],\n ),\n }),\n check(artifacts, {\n id: \"smallest_model_benchmark\",\n label: \"Smallest Eliza-1 benchmark coverage\",\n ready: (artifact) =>\n artifact.kind === \"benchmark_matrix\" &&\n hasSmallestTierComparison(artifact),\n partial: (artifact) => artifact.kind === \"benchmark_matrix\",\n readyNote:\n \"Benchmark matrix includes scored coverage for the smallest Eliza-1 tier.\",\n partialNote:\n \"A benchmark matrix exists, but it does not prove scored smallest-tier coverage.\",\n missingNote: \"No benchmark matrix exists for the smallest Eliza-1 tier.\",\n recommendedAction: actionBenchmarkPairCollectionAction(\n \"Run smallest-tier base/trained Eliza harness benchmark\",\n [\"2b\"],\n ),\n }),\n check(artifacts, {\n id: \"all_eliza1_tiers_benchmark\",\n label: \"All Eliza-1 tier benchmark coverage\",\n ready: (artifact) =>\n artifact.kind === \"benchmark_matrix\" &&\n hasAllEliza1BenchmarkTierComparisons(artifact),\n partial: (artifact) => artifact.kind === \"benchmark_matrix\",\n readyNote:\n \"Benchmark matrix includes scored coverage for 2B, 4B, 9B, and 27B tiers.\",\n partialNote:\n \"A benchmark matrix exists, but it does not prove scored coverage for every Eliza-1 tier.\",\n missingNote:\n \"No benchmark matrix exists for all requested Eliza-1 tiers.\",\n recommendedAction: actionBenchmarkPairCollectionAction(\n \"Run all-tier base/trained Eliza harness benchmarks\",\n ELIZA_ONE_BENCHMARK_TIERS,\n ),\n }),\n check(artifacts, {\n id: \"cerebras_reference\",\n label: \"Cerebras reference benchmark\",\n ready: (artifact) =>\n artifact.kind === \"benchmark_matrix\" &&\n hasCerebrasReferenceComparison(artifact),\n partial: (artifact) => artifact.kind === \"benchmark_matrix\",\n readyNote: \"Benchmark matrix includes a Cerebras reference comparison.\",\n partialNote:\n \"A benchmark matrix exists, but it does not prove a Cerebras reference comparison.\",\n missingNote: \"No Cerebras reference benchmark artifact was found.\",\n recommendedAction: {\n label: \"Run benchmark against Cerebras GPT-120b\",\n capability: \"terminal-training-run-benchmark-vs-cerebras\",\n params: {\n tiers: ELIZA_ONE_BENCHMARK_TIER_LIST,\n benchmark: \"eliza_harness_action_selection\",\n variants: \"both\",\n dryRun: false,\n },\n },\n }),\n check(artifacts, {\n id: \"base_trained_improvement\",\n label: \"Base vs trained improvement metrics\",\n ready: (artifact) =>\n artifact.kind === \"benchmark_matrix\" &&\n hasImprovementComparison(artifact),\n partial: (artifact) => artifact.kind === \"benchmark_matrix\",\n readyNote:\n \"Benchmark matrix includes base/trained scores with percentage improvement.\",\n partialNote:\n \"A benchmark matrix exists, but it does not prove base/trained percentage improvement.\",\n missingNote:\n \"No benchmark matrix exists with base/trained percentage improvement.\",\n recommendedAction: actionBenchmarkPairCollectionAction(\n \"Run base/trained Eliza harness improvement comparison\",\n [\"2b\"],\n ),\n }),\n check(artifacts, {\n id: \"all_eliza1_tier_improvements\",\n label: \"All Eliza-1 tier improvement metrics\",\n ready: (artifact) =>\n artifact.kind === \"benchmark_matrix\" &&\n hasAllEliza1TierImprovementComparisons(artifact),\n partial: (artifact) => artifact.kind === \"benchmark_matrix\",\n readyNote:\n \"Benchmark matrix includes percentage improvement for 2B, 4B, 9B, and 27B tiers.\",\n partialNote:\n \"A benchmark matrix exists, but it does not prove percentage improvement for every Eliza-1 tier.\",\n missingNote:\n \"No benchmark matrix exists with percentage improvement for every requested Eliza-1 tier.\",\n recommendedAction: actionBenchmarkPairCollectionAction(\n \"Run all-tier base/trained Eliza harness improvement comparison\",\n ELIZA_ONE_BENCHMARK_TIERS,\n ),\n }),\n buildModelTrackingCheck(artifacts, coverage),\n check(artifacts, {\n id: \"collection_manifest\",\n label: \"Collection manifest\",\n ready: (artifact) => artifact.kind === \"collection_run\",\n readyNote: \"A collection manifest ties the run together.\",\n missingNote: \"No training collection manifest was found.\",\n recommendedAction: {\n label: \"Run training collection\",\n capability: \"terminal-training-run-collection\",\n params: {},\n },\n }),\n ], coverage);\n const counts = {\n checks: checks.length,\n ready: checks.filter((item) => item.status === \"ready\").length,\n partial: checks.filter((item) => item.status === \"partial\").length,\n missing: checks.filter((item) => item.status === \"missing\").length,\n artifacts: artifacts.length,\n };\n const status: TrainingReadinessStatus =\n counts.missing === 0 && counts.partial === 0\n ? \"ready\"\n : counts.ready > 0 || counts.partial > 0\n ? \"partial\"\n : \"missing\";\n const outputDir = options.outputDir ?? analysis.outputDir;\n const reportPath =\n options.reportPath ?? join(outputDir, \"training-readiness-report.json\");\n return {\n schema: TRAINING_READINESS_REPORT_SCHEMA,\n schemaVersion: TRAINING_READINESS_REPORT_VERSION,\n generatedAt: options.generatedAt ?? new Date().toISOString(),\n outputDir,\n reportPath,\n analysisManifestPath: analysis.manifestPath,\n analysisIndexHtmlPath: analysis.indexHtmlPath,\n status,\n counts,\n checks,\n };\n}\n\nexport async function writeTrainingReadinessReport(\n analysis: TrainingAnalysisIndex,\n options: {\n outputDir?: string;\n reportPath?: string;\n generatedAt?: string;\n } = {},\n): Promise<TrainingReadinessReportResult> {\n const report = buildTrainingReadinessReportPayload(analysis, options);\n await mkdir(report.outputDir, { recursive: true });\n await writeFile(\n report.reportPath,\n `${JSON.stringify(report, null, 2)}\\n`,\n \"utf8\",\n );\n return {\n outputDir: report.outputDir,\n reportPath: report.reportPath,\n report,\n };\n}\n"],"mappings":"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","names":["hasAllEliza1Variants"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Trajectory, TrajectoryLlmCall, TrajectoryStep } from "@elizaos/agent";
|
|
2
|
+
import { type ElizaNativeTrajectoryRow } from "@elizaos/core";
|
|
3
|
+
export interface TrajectoryCallEntry {
|
|
4
|
+
trajectory: Trajectory;
|
|
5
|
+
trajectoryId: string;
|
|
6
|
+
step: TrajectoryStep;
|
|
7
|
+
stepId: string;
|
|
8
|
+
stepIndex: number;
|
|
9
|
+
call: TrajectoryLlmCall;
|
|
10
|
+
callIndex: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function parseTrajectoryExportText(payload: string): unknown[];
|
|
13
|
+
export declare function extractElizaNativeRowsFromExportText(payload: string): ElizaNativeTrajectoryRow[];
|
|
14
|
+
export declare function listTrajectoryCallEntries(trajectory: Trajectory): TrajectoryCallEntry[];
|
|
15
|
+
//# sourceMappingURL=trajectory-consumer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trajectory-consumer.d.ts","sourceRoot":"","sources":["../../src/core/trajectory-consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAiBD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CA4BpE;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,GACd,wBAAwB,EAAE,CAE5B;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,GACrB,mBAAmB,EAAE,CAwBvB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ELIZA_NATIVE_TRAJECTORY_FORMAT,
|
|
3
|
+
iterateTrajectoryLlmCalls
|
|
4
|
+
} from "@elizaos/core";
|
|
5
|
+
function isRecord(value) {
|
|
6
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
7
|
+
}
|
|
8
|
+
function isElizaNativeExportRow(value) {
|
|
9
|
+
return isRecord(value) && value.format === ELIZA_NATIVE_TRAJECTORY_FORMAT && isRecord(value.request) && isRecord(value.response);
|
|
10
|
+
}
|
|
11
|
+
function parseTrajectoryExportText(payload) {
|
|
12
|
+
const trimmed = payload.trim();
|
|
13
|
+
if (!trimmed) return [];
|
|
14
|
+
if (trimmed.startsWith("[")) {
|
|
15
|
+
const parsed = JSON.parse(trimmed);
|
|
16
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
17
|
+
}
|
|
18
|
+
if (trimmed.startsWith("{")) {
|
|
19
|
+
try {
|
|
20
|
+
return [JSON.parse(trimmed)];
|
|
21
|
+
} catch {
|
|
22
|
+
if (!trimmed.includes("\n")) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (trimmed.includes("\n")) {
|
|
28
|
+
return trimmed.split("\n").map((line) => line.trim()).filter(Boolean).map((line) => JSON.parse(line));
|
|
29
|
+
}
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
function extractElizaNativeRowsFromExportText(payload) {
|
|
33
|
+
return parseTrajectoryExportText(payload).filter(isElizaNativeExportRow);
|
|
34
|
+
}
|
|
35
|
+
function listTrajectoryCallEntries(trajectory) {
|
|
36
|
+
const trajectoryId = String(trajectory.trajectoryId);
|
|
37
|
+
const steps = trajectory.steps ?? [];
|
|
38
|
+
return iterateTrajectoryLlmCalls(trajectory).map((call) => {
|
|
39
|
+
const step = steps[call.stepIndex] ?? {
|
|
40
|
+
stepId: call.stepId,
|
|
41
|
+
timestamp: call.stepTimestamp,
|
|
42
|
+
llmCalls: [],
|
|
43
|
+
providerAccesses: []
|
|
44
|
+
};
|
|
45
|
+
return {
|
|
46
|
+
trajectory,
|
|
47
|
+
trajectoryId,
|
|
48
|
+
step,
|
|
49
|
+
stepId: call.stepId,
|
|
50
|
+
stepIndex: call.stepIndex,
|
|
51
|
+
call,
|
|
52
|
+
callIndex: call.callIndex
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
extractElizaNativeRowsFromExportText,
|
|
58
|
+
listTrajectoryCallEntries,
|
|
59
|
+
parseTrajectoryExportText
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=trajectory-consumer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/trajectory-consumer.ts"],"sourcesContent":["import type {\n Trajectory,\n TrajectoryLlmCall,\n TrajectoryStep,\n} from \"@elizaos/agent\";\nimport {\n ELIZA_NATIVE_TRAJECTORY_FORMAT,\n type ElizaNativeTrajectoryRow,\n iterateTrajectoryLlmCalls,\n} from \"@elizaos/core\";\n\nexport interface TrajectoryCallEntry {\n trajectory: Trajectory;\n trajectoryId: string;\n step: TrajectoryStep;\n stepId: string;\n stepIndex: number;\n call: TrajectoryLlmCall;\n callIndex: number;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction isElizaNativeExportRow(\n value: unknown,\n): value is ElizaNativeTrajectoryRow {\n return (\n isRecord(value) &&\n value.format === ELIZA_NATIVE_TRAJECTORY_FORMAT &&\n isRecord(value.request) &&\n isRecord(value.response)\n );\n}\n\nexport function parseTrajectoryExportText(payload: string): unknown[] {\n const trimmed = payload.trim();\n if (!trimmed) return [];\n\n if (trimmed.startsWith(\"[\")) {\n const parsed = JSON.parse(trimmed) as unknown;\n return Array.isArray(parsed) ? parsed : [];\n }\n\n if (trimmed.startsWith(\"{\")) {\n try {\n return [JSON.parse(trimmed) as unknown];\n } catch {\n if (!trimmed.includes(\"\\n\")) {\n return [];\n }\n }\n }\n\n if (trimmed.includes(\"\\n\")) {\n return trimmed\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean)\n .map((line) => JSON.parse(line) as unknown);\n }\n\n return [];\n}\n\nexport function extractElizaNativeRowsFromExportText(\n payload: string,\n): ElizaNativeTrajectoryRow[] {\n return parseTrajectoryExportText(payload).filter(isElizaNativeExportRow);\n}\n\nexport function listTrajectoryCallEntries(\n trajectory: Trajectory,\n): TrajectoryCallEntry[] {\n const trajectoryId = String(trajectory.trajectoryId);\n const steps = trajectory.steps ?? [];\n\n return iterateTrajectoryLlmCalls(trajectory).map((call) => {\n const step =\n steps[call.stepIndex] ??\n ({\n stepId: call.stepId,\n timestamp: call.stepTimestamp,\n llmCalls: [],\n providerAccesses: [],\n } satisfies TrajectoryStep);\n\n return {\n trajectory,\n trajectoryId,\n step,\n stepId: call.stepId,\n stepIndex: call.stepIndex,\n call: call as TrajectoryLlmCall,\n callIndex: call.callIndex,\n };\n });\n}\n"],"mappings":"AAKA;AAAA,EACE;AAAA,EAEA;AAAA,OACK;AAYP,SAAS,SAAS,OAAkD;AAClE,SAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AACrE;AAEA,SAAS,uBACP,OACmC;AACnC,SACE,SAAS,KAAK,KACd,MAAM,WAAW,kCACjB,SAAS,MAAM,OAAO,KACtB,SAAS,MAAM,QAAQ;AAE3B;AAEO,SAAS,0BAA0B,SAA4B;AACpE,QAAM,UAAU,QAAQ,KAAK;AAC7B,MAAI,CAAC,QAAS,QAAO,CAAC;AAEtB,MAAI,QAAQ,WAAW,GAAG,GAAG;AAC3B,UAAM,SAAS,KAAK,MAAM,OAAO;AACjC,WAAO,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC;AAAA,EAC3C;AAEA,MAAI,QAAQ,WAAW,GAAG,GAAG;AAC3B,QAAI;AACF,aAAO,CAAC,KAAK,MAAM,OAAO,CAAY;AAAA,IACxC,QAAQ;AACN,UAAI,CAAC,QAAQ,SAAS,IAAI,GAAG;AAC3B,eAAO,CAAC;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAEA,MAAI,QAAQ,SAAS,IAAI,GAAG;AAC1B,WAAO,QACJ,MAAM,IAAI,EACV,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,EACzB,OAAO,OAAO,EACd,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,CAAY;AAAA,EAC9C;AAEA,SAAO,CAAC;AACV;AAEO,SAAS,qCACd,SAC4B;AAC5B,SAAO,0BAA0B,OAAO,EAAE,OAAO,sBAAsB;AACzE;AAEO,SAAS,0BACd,YACuB;AACvB,QAAM,eAAe,OAAO,WAAW,YAAY;AACnD,QAAM,QAAQ,WAAW,SAAS,CAAC;AAEnC,SAAO,0BAA0B,UAAU,EAAE,IAAI,CAAC,SAAS;AACzD,UAAM,OACJ,MAAM,KAAK,SAAS,KACnB;AAAA,MACC,QAAQ,KAAK;AAAA,MACb,WAAW,KAAK;AAAA,MAChB,UAAU,CAAC;AAAA,MACX,kBAAkB,CAAC;AAAA,IACrB;AAEF,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,KAAK;AAAA,MACb,WAAW,KAAK;AAAA,MAChB;AAAA,MACA,WAAW,KAAK;AAAA,IAClB;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { Trajectory } from "@elizaos/agent";
|
|
2
|
+
import { type PrivacyFilterOptions } from "./privacy-filter.js";
|
|
3
|
+
import { type HfUploadConfig } from "./trajectory-hf-upload.js";
|
|
4
|
+
import { type TrajectoryTrainingTask } from "./trajectory-task-datasets.js";
|
|
5
|
+
export declare const TRAJECTORY_EXPORT_BUNDLE_SCHEMA = "eliza_trajectory_export_bundle";
|
|
6
|
+
export declare const TRAJECTORY_EXPORT_BUNDLE_VERSION = 1;
|
|
7
|
+
export interface TrajectoryExportBundleSource {
|
|
8
|
+
kind: string;
|
|
9
|
+
runId?: string;
|
|
10
|
+
runIds?: string[];
|
|
11
|
+
metadata?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface TrajectoryExportBundlePrivacyStats {
|
|
14
|
+
applied: boolean;
|
|
15
|
+
redactionCount: number | null;
|
|
16
|
+
anonymizationCount: number | null;
|
|
17
|
+
droppedCount: number;
|
|
18
|
+
dropped: Array<{
|
|
19
|
+
trajectoryId?: string;
|
|
20
|
+
reason: string;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export interface TrajectoryExportBundleTaskFile {
|
|
24
|
+
path: string;
|
|
25
|
+
exampleCount: number;
|
|
26
|
+
sourceCallCount: number;
|
|
27
|
+
sourceTrajectoryCount: number;
|
|
28
|
+
}
|
|
29
|
+
export interface TrajectoryExportBundleCloudUpload {
|
|
30
|
+
uploadedToHuggingFace: boolean;
|
|
31
|
+
huggingFaceRepo?: string;
|
|
32
|
+
huggingFacePath?: string;
|
|
33
|
+
huggingFaceError?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface TrajectoryExportBundleManifest {
|
|
36
|
+
schema: typeof TRAJECTORY_EXPORT_BUNDLE_SCHEMA;
|
|
37
|
+
schemaVersion: typeof TRAJECTORY_EXPORT_BUNDLE_VERSION;
|
|
38
|
+
generatedAt: string;
|
|
39
|
+
runId: string | null;
|
|
40
|
+
source: TrajectoryExportBundleSource & {
|
|
41
|
+
inputTrajectoryCount: number;
|
|
42
|
+
sanitizedTrajectoryCount: number;
|
|
43
|
+
droppedTrajectoryCount: number;
|
|
44
|
+
};
|
|
45
|
+
paths: {
|
|
46
|
+
bundleDir: string;
|
|
47
|
+
manifestPath: string;
|
|
48
|
+
viewerHtmlPath?: string;
|
|
49
|
+
rawJsonlPath?: string;
|
|
50
|
+
sanitizedJsonlPath?: string;
|
|
51
|
+
taskDatasetDir?: string;
|
|
52
|
+
taskDatasetSummaryPath?: string;
|
|
53
|
+
};
|
|
54
|
+
counts: {
|
|
55
|
+
rawTrajectoryRows: number;
|
|
56
|
+
sanitizedTrajectoryRows: number;
|
|
57
|
+
taskRows: Record<TrajectoryTrainingTask, number>;
|
|
58
|
+
taskFiles: number;
|
|
59
|
+
taskExamples: number;
|
|
60
|
+
llmCalls: number | null;
|
|
61
|
+
skippedNonNativeRows: number | null;
|
|
62
|
+
};
|
|
63
|
+
tasks: Partial<Record<TrajectoryTrainingTask, TrajectoryExportBundleTaskFile>>;
|
|
64
|
+
privacy: TrajectoryExportBundlePrivacyStats;
|
|
65
|
+
cloudUpload: TrajectoryExportBundleCloudUpload;
|
|
66
|
+
}
|
|
67
|
+
export interface TrajectoryExportBundle {
|
|
68
|
+
outputDir: string;
|
|
69
|
+
manifestPath: string;
|
|
70
|
+
manifest: TrajectoryExportBundleManifest;
|
|
71
|
+
}
|
|
72
|
+
export interface BuildTrajectoryExportBundleOptions {
|
|
73
|
+
outputDir: string;
|
|
74
|
+
trajectories?: Trajectory[];
|
|
75
|
+
sanitizedTrajectories?: Trajectory[];
|
|
76
|
+
rawJsonlPath?: string;
|
|
77
|
+
sanitizedJsonlPath?: string;
|
|
78
|
+
includeRawJsonl?: boolean;
|
|
79
|
+
tasks?: readonly TrajectoryTrainingTask[];
|
|
80
|
+
source?: TrajectoryExportBundleSource;
|
|
81
|
+
privacy?: {
|
|
82
|
+
apply?: boolean;
|
|
83
|
+
options?: PrivacyFilterOptions;
|
|
84
|
+
stats?: TrajectoryExportBundlePrivacyStats;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Upload the sanitized JSONL to a HuggingFace dataset repo. `true` resolves
|
|
88
|
+
* the config from the environment (`ELIZA_TRAJECTORY_HF_REPO` + HF token);
|
|
89
|
+
* pass an explicit `HfUploadConfig` to override. Defaults to no upload.
|
|
90
|
+
*/
|
|
91
|
+
uploadToHuggingFace?: boolean | HfUploadConfig;
|
|
92
|
+
now?: () => Date;
|
|
93
|
+
}
|
|
94
|
+
export declare function buildTrajectoryExportBundle(options: BuildTrajectoryExportBundleOptions): Promise<TrajectoryExportBundle>;
|
|
95
|
+
//# sourceMappingURL=trajectory-export-bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trajectory-export-bundle.d.ts","sourceRoot":"","sources":["../../src/core/trajectory-export-bundle.ts"],"names":[],"mappings":"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"}
|