@sanity/ailf 0.1.0
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/README.md +89 -0
- package/bin/ailf.js +64 -0
- package/canonical/grader-references/README.md +88 -0
- package/canonical/grader-references/groq.yaml +234 -0
- package/canonical/grader-references/studio-setup.yaml +275 -0
- package/canonical/reference-solutions/.gitkeep +1 -0
- package/canonical/reference-solutions/frameworks/nuxt.ts +119 -0
- package/canonical/reference-solutions/frameworks/remix.tsx +100 -0
- package/canonical/reference-solutions/functions/publish-webhook.ts +60 -0
- package/canonical/reference-solutions/groq/advanced-filtering.ts +379 -0
- package/canonical/reference-solutions/groq/blog-queries.ts +137 -0
- package/canonical/reference-solutions/groq/joins-references.ts +300 -0
- package/canonical/reference-solutions/nextjs/app-router-integration.tsx +128 -0
- package/canonical/reference-solutions/studio-setup/blog-schema.ts +143 -0
- package/canonical/reference-solutions/studio-setup/custom-tool.tsx +78 -0
- package/canonical/reference-solutions/visual-editing/live-preview.tsx +137 -0
- package/canonical/reference-solutions/visual-editing/presentation-nextjs.tsx +130 -0
- package/config/airbyte/ai_literacy_framework.connector.yaml +639 -0
- package/config/bigquery/README.md +74 -0
- package/config/bigquery/views/area_scores.sql +87 -0
- package/config/bigquery/views/reports.sql +49 -0
- package/config/features.yaml +116 -0
- package/config/models.yaml +115 -0
- package/config/prompts.yaml +75 -0
- package/config/rubrics.yaml +62 -0
- package/config/schedules.yaml +43 -0
- package/config/sinks.yaml +54 -0
- package/config/sources.yaml +51 -0
- package/config/thresholds.yaml +49 -0
- package/dist/_vendor/ailf-core/examples/index.d.ts +190 -0
- package/dist/_vendor/ailf-core/examples/index.js +285 -0
- package/dist/_vendor/ailf-core/index.d.ts +17 -0
- package/dist/_vendor/ailf-core/index.js +17 -0
- package/dist/_vendor/ailf-core/ports/cache-store.d.ts +72 -0
- package/dist/_vendor/ailf-core/ports/cache-store.js +17 -0
- package/dist/_vendor/ailf-core/ports/config-source.d.ts +33 -0
- package/dist/_vendor/ailf-core/ports/config-source.js +15 -0
- package/dist/_vendor/ailf-core/ports/context.d.ts +172 -0
- package/dist/_vendor/ailf-core/ports/context.js +14 -0
- package/dist/_vendor/ailf-core/ports/doc-fetcher.d.ts +131 -0
- package/dist/_vendor/ailf-core/ports/doc-fetcher.js +12 -0
- package/dist/_vendor/ailf-core/ports/eval-runner.d.ts +24 -0
- package/dist/_vendor/ailf-core/ports/eval-runner.js +8 -0
- package/dist/_vendor/ailf-core/ports/index.d.ts +15 -0
- package/dist/_vendor/ailf-core/ports/index.js +7 -0
- package/dist/_vendor/ailf-core/ports/logger.d.ts +36 -0
- package/dist/_vendor/ailf-core/ports/logger.js +11 -0
- package/dist/_vendor/ailf-core/ports/pipeline-step.d.ts +46 -0
- package/dist/_vendor/ailf-core/ports/pipeline-step.js +8 -0
- package/dist/_vendor/ailf-core/ports/task-source.d.ts +159 -0
- package/dist/_vendor/ailf-core/ports/task-source.js +72 -0
- package/dist/_vendor/ailf-core/schemas/callback-payload.d.ts +24 -0
- package/dist/_vendor/ailf-core/schemas/callback-payload.js +29 -0
- package/dist/_vendor/ailf-core/schemas/eval-config.d.ts +55 -0
- package/dist/_vendor/ailf-core/schemas/eval-config.js +78 -0
- package/dist/_vendor/ailf-core/schemas/index.d.ts +16 -0
- package/dist/_vendor/ailf-core/schemas/index.js +16 -0
- package/dist/_vendor/ailf-core/schemas/pipeline-request.d.ts +125 -0
- package/dist/_vendor/ailf-core/schemas/pipeline-request.js +67 -0
- package/dist/_vendor/ailf-core/schemas/pipeline.d.ts +531 -0
- package/dist/_vendor/ailf-core/schemas/pipeline.js +318 -0
- package/dist/_vendor/ailf-core/schemas/schedules.d.ts +68 -0
- package/dist/_vendor/ailf-core/schemas/schedules.js +74 -0
- package/dist/_vendor/ailf-core/schemas/sinks.d.ts +207 -0
- package/dist/_vendor/ailf-core/schemas/sinks.js +108 -0
- package/dist/_vendor/ailf-core/services/comparison-formatters.d.ts +18 -0
- package/dist/_vendor/ailf-core/services/comparison-formatters.js +189 -0
- package/dist/_vendor/ailf-core/services/config-helpers.d.ts +41 -0
- package/dist/_vendor/ailf-core/services/config-helpers.js +86 -0
- package/dist/_vendor/ailf-core/services/index.d.ts +12 -0
- package/dist/_vendor/ailf-core/services/index.js +12 -0
- package/dist/_vendor/ailf-core/services/scoring.d.ts +49 -0
- package/dist/_vendor/ailf-core/services/scoring.js +222 -0
- package/dist/_vendor/ailf-core/types/index.d.ts +1082 -0
- package/dist/_vendor/ailf-core/types/index.js +21 -0
- package/dist/_vendor/ailf-core/types/scoring-input.d.ts +54 -0
- package/dist/_vendor/ailf-core/types/scoring-input.js +9 -0
- package/dist/_vendor/ailf-shared/dimension-names.d.ts +21 -0
- package/dist/_vendor/ailf-shared/dimension-names.js +27 -0
- package/dist/_vendor/ailf-shared/document-ref.d.ts +29 -0
- package/dist/_vendor/ailf-shared/document-ref.js +1 -0
- package/dist/_vendor/ailf-shared/eval-modes.d.ts +12 -0
- package/dist/_vendor/ailf-shared/eval-modes.js +8 -0
- package/dist/_vendor/ailf-shared/index.d.ts +16 -0
- package/dist/_vendor/ailf-shared/index.js +16 -0
- package/dist/_vendor/ailf-shared/noise-threshold.d.ts +9 -0
- package/dist/_vendor/ailf-shared/noise-threshold.js +9 -0
- package/dist/_vendor/ailf-shared/score-grades.d.ts +17 -0
- package/dist/_vendor/ailf-shared/score-grades.js +23 -0
- package/dist/adapters/cache/content-lake-cache.d.ts +24 -0
- package/dist/adapters/cache/content-lake-cache.js +59 -0
- package/dist/adapters/cache/filesystem-cache.d.ts +18 -0
- package/dist/adapters/cache/filesystem-cache.js +54 -0
- package/dist/adapters/cache/index.d.ts +2 -0
- package/dist/adapters/cache/index.js +2 -0
- package/dist/adapters/config-sources/cli-config-adapter.d.ts +17 -0
- package/dist/adapters/config-sources/cli-config-adapter.js +23 -0
- package/dist/adapters/config-sources/file-config-adapter.d.ts +26 -0
- package/dist/adapters/config-sources/file-config-adapter.js +96 -0
- package/dist/adapters/config-sources/index.d.ts +2 -0
- package/dist/adapters/config-sources/index.js +2 -0
- package/dist/adapters/doc-fetchers/index.d.ts +1 -0
- package/dist/adapters/doc-fetchers/index.js +1 -0
- package/dist/adapters/doc-fetchers/sanity-doc-fetcher.d.ts +76 -0
- package/dist/adapters/doc-fetchers/sanity-doc-fetcher.js +620 -0
- package/dist/adapters/eval-runners/index.d.ts +1 -0
- package/dist/adapters/eval-runners/index.js +1 -0
- package/dist/adapters/eval-runners/promptfoo-eval-adapter.d.ts +14 -0
- package/dist/adapters/eval-runners/promptfoo-eval-adapter.js +63 -0
- package/dist/adapters/index.d.ts +12 -0
- package/dist/adapters/index.js +12 -0
- package/dist/adapters/loggers/console-logger.d.ts +22 -0
- package/dist/adapters/loggers/console-logger.js +54 -0
- package/dist/adapters/loggers/index.d.ts +9 -0
- package/dist/adapters/loggers/index.js +9 -0
- package/dist/adapters/loggers/json-logger.d.ts +18 -0
- package/dist/adapters/loggers/json-logger.js +33 -0
- package/dist/adapters/loggers/quiet-logger.d.ts +16 -0
- package/dist/adapters/loggers/quiet-logger.js +30 -0
- package/dist/adapters/task-sources/composite-task-source.d.ts +20 -0
- package/dist/adapters/task-sources/composite-task-source.js +59 -0
- package/dist/adapters/task-sources/content-lake-task-source.d.ts +20 -0
- package/dist/adapters/task-sources/content-lake-task-source.js +219 -0
- package/dist/adapters/task-sources/index.d.ts +7 -0
- package/dist/adapters/task-sources/index.js +7 -0
- package/dist/adapters/task-sources/repo-schemas.d.ts +245 -0
- package/dist/adapters/task-sources/repo-schemas.js +234 -0
- package/dist/adapters/task-sources/repo-task-source.d.ts +22 -0
- package/dist/adapters/task-sources/repo-task-source.js +104 -0
- package/dist/adapters/task-sources/repo-trigger.d.ts +52 -0
- package/dist/adapters/task-sources/repo-trigger.js +153 -0
- package/dist/adapters/task-sources/repo-validation.d.ts +49 -0
- package/dist/adapters/task-sources/repo-validation.js +164 -0
- package/dist/adapters/task-sources/yaml-task-source.d.ts +18 -0
- package/dist/adapters/task-sources/yaml-task-source.js +136 -0
- package/dist/agent-observer/agentic-provider.d.ts +132 -0
- package/dist/agent-observer/agentic-provider.js +983 -0
- package/dist/agent-observer/classifier.d.ts +62 -0
- package/dist/agent-observer/classifier.js +269 -0
- package/dist/agent-observer/index.d.ts +7 -0
- package/dist/agent-observer/index.js +4 -0
- package/dist/agent-observer/pricing.d.ts +35 -0
- package/dist/agent-observer/pricing.js +82 -0
- package/dist/agent-observer/provider.d.ts +77 -0
- package/dist/agent-observer/provider.js +151 -0
- package/dist/agent-observer/proxy.d.ts +91 -0
- package/dist/agent-observer/proxy.js +321 -0
- package/dist/agent-observer/test-imports.d.ts +7 -0
- package/dist/agent-observer/test-imports.js +185 -0
- package/dist/agent-observer/types.d.ts +137 -0
- package/dist/agent-observer/types.js +16 -0
- package/dist/assertions/source-isolation.d.ts +72 -0
- package/dist/assertions/source-isolation.js +117 -0
- package/dist/cli.d.ts +24 -0
- package/dist/cli.js +199 -0
- package/dist/commands/agent-report.d.ts +5 -0
- package/dist/commands/agent-report.js +69 -0
- package/dist/commands/baseline.d.ts +9 -0
- package/dist/commands/baseline.js +141 -0
- package/dist/commands/cache.d.ts +13 -0
- package/dist/commands/cache.js +135 -0
- package/dist/commands/calculate-scores.d.ts +8 -0
- package/dist/commands/calculate-scores.js +48 -0
- package/dist/commands/compare.d.ts +8 -0
- package/dist/commands/compare.js +120 -0
- package/dist/commands/completion.d.ts +18 -0
- package/dist/commands/completion.js +260 -0
- package/dist/commands/coverage-audit.d.ts +7 -0
- package/dist/commands/coverage-audit.js +40 -0
- package/dist/commands/discovery-report.d.ts +10 -0
- package/dist/commands/discovery-report.js +44 -0
- package/dist/commands/eval.d.ts +9 -0
- package/dist/commands/eval.js +35 -0
- package/dist/commands/explain-handler.d.ts +34 -0
- package/dist/commands/explain-handler.js +719 -0
- package/dist/commands/fetch-docs.d.ts +8 -0
- package/dist/commands/fetch-docs.js +128 -0
- package/dist/commands/generate-configs.d.ts +8 -0
- package/dist/commands/generate-configs.js +46 -0
- package/dist/commands/grader/index.d.ts +11 -0
- package/dist/commands/grader/index.js +118 -0
- package/dist/commands/init.d.ts +19 -0
- package/dist/commands/init.js +150 -0
- package/dist/commands/interactive.d.ts +12 -0
- package/dist/commands/interactive.js +238 -0
- package/dist/commands/lookup-doc.d.ts +15 -0
- package/dist/commands/lookup-doc.js +84 -0
- package/dist/commands/measure-retrieval.d.ts +5 -0
- package/dist/commands/measure-retrieval.js +65 -0
- package/dist/commands/pipeline-action.d.ts +71 -0
- package/dist/commands/pipeline-action.js +305 -0
- package/dist/commands/pipeline.d.ts +62 -0
- package/dist/commands/pipeline.js +53 -0
- package/dist/commands/pr-comment.d.ts +8 -0
- package/dist/commands/pr-comment.js +47 -0
- package/dist/commands/publish.d.ts +26 -0
- package/dist/commands/publish.js +253 -0
- package/dist/commands/readiness-report.d.ts +10 -0
- package/dist/commands/readiness-report.js +104 -0
- package/dist/commands/shared/options.d.ts +29 -0
- package/dist/commands/shared/options.js +57 -0
- package/dist/commands/update-quality-scores.d.ts +5 -0
- package/dist/commands/update-quality-scores.js +20 -0
- package/dist/commands/validate-tasks.d.ts +16 -0
- package/dist/commands/validate-tasks.js +93 -0
- package/dist/commands/validate.d.ts +9 -0
- package/dist/commands/validate.js +73 -0
- package/dist/commands/webhook-server.d.ts +5 -0
- package/dist/commands/webhook-server.js +30 -0
- package/dist/commands/weekly-digest.d.ts +10 -0
- package/dist/commands/weekly-digest.js +104 -0
- package/dist/composition-root.d.ts +26 -0
- package/dist/composition-root.js +107 -0
- package/dist/interpolate.d.ts +26 -0
- package/dist/interpolate.js +70 -0
- package/dist/job-store.d.ts +104 -0
- package/dist/job-store.js +188 -0
- package/dist/lib/agent-behavior-report.d.ts +8 -0
- package/dist/lib/agent-behavior-report.js +185 -0
- package/dist/lib/baseline.d.ts +19 -0
- package/dist/lib/baseline.js +153 -0
- package/dist/lib/calculate-scores.d.ts +23 -0
- package/dist/lib/calculate-scores.js +42 -0
- package/dist/lib/compare.d.ts +18 -0
- package/dist/lib/compare.js +170 -0
- package/dist/lib/coverage-audit.d.ts +4 -0
- package/dist/lib/coverage-audit.js +42 -0
- package/dist/lib/discovery-report.d.ts +13 -0
- package/dist/lib/discovery-report.js +57 -0
- package/dist/lib/fetch-docs.d.ts +30 -0
- package/dist/lib/fetch-docs.js +171 -0
- package/dist/lib/generate-configs.d.ts +25 -0
- package/dist/lib/generate-configs.js +42 -0
- package/dist/lib/grader-api.d.ts +21 -0
- package/dist/lib/grader-api.js +34 -0
- package/dist/lib/grader-compare.d.ts +19 -0
- package/dist/lib/grader-compare.js +91 -0
- package/dist/lib/grader-consistency.d.ts +27 -0
- package/dist/lib/grader-consistency.js +79 -0
- package/dist/lib/grader-sensitivity.d.ts +19 -0
- package/dist/lib/grader-sensitivity.js +75 -0
- package/dist/lib/grader-validate.d.ts +19 -0
- package/dist/lib/grader-validate.js +78 -0
- package/dist/lib/measure-retrieval.d.ts +14 -0
- package/dist/lib/measure-retrieval.js +71 -0
- package/dist/lib/pr-comment.d.ts +16 -0
- package/dist/lib/pr-comment.js +28 -0
- package/dist/lib/readiness-report.d.ts +13 -0
- package/dist/lib/readiness-report.js +108 -0
- package/dist/lib/webhook-server.d.ts +11 -0
- package/dist/lib/webhook-server.js +24 -0
- package/dist/lib/weekly-digest.d.ts +24 -0
- package/dist/lib/weekly-digest.js +148 -0
- package/dist/orchestration/build-app-context.d.ts +27 -0
- package/dist/orchestration/build-app-context.js +81 -0
- package/dist/orchestration/build-step-sequence.d.ts +15 -0
- package/dist/orchestration/build-step-sequence.js +84 -0
- package/dist/orchestration/config-to-source-overrides.d.ts +9 -0
- package/dist/orchestration/config-to-source-overrides.js +28 -0
- package/dist/orchestration/env-bridge.d.ts +21 -0
- package/dist/orchestration/env-bridge.js +66 -0
- package/dist/orchestration/index.d.ts +11 -0
- package/dist/orchestration/index.js +11 -0
- package/dist/orchestration/pipeline-orchestrator.d.ts +24 -0
- package/dist/orchestration/pipeline-orchestrator.js +153 -0
- package/dist/orchestration/step-runner.d.ts +20 -0
- package/dist/orchestration/step-runner.js +88 -0
- package/dist/orchestration/steps/calculate-scores-step.d.ts +13 -0
- package/dist/orchestration/steps/calculate-scores-step.js +95 -0
- package/dist/orchestration/steps/callback-step.d.ts +24 -0
- package/dist/orchestration/steps/callback-step.js +76 -0
- package/dist/orchestration/steps/compare-step.d.ts +14 -0
- package/dist/orchestration/steps/compare-step.js +92 -0
- package/dist/orchestration/steps/discovery-report-step.d.ts +13 -0
- package/dist/orchestration/steps/discovery-report-step.js +55 -0
- package/dist/orchestration/steps/fetch-docs-shell.d.ts +17 -0
- package/dist/orchestration/steps/fetch-docs-shell.js +30 -0
- package/dist/orchestration/steps/fetch-docs-step.d.ts +14 -0
- package/dist/orchestration/steps/fetch-docs-step.js +135 -0
- package/dist/orchestration/steps/gap-analysis-step.d.ts +16 -0
- package/dist/orchestration/steps/gap-analysis-step.js +136 -0
- package/dist/orchestration/steps/generate-configs-step.d.ts +14 -0
- package/dist/orchestration/steps/generate-configs-step.js +85 -0
- package/dist/orchestration/steps/grader-consistency-step.d.ts +13 -0
- package/dist/orchestration/steps/grader-consistency-step.js +64 -0
- package/dist/orchestration/steps/index.d.ts +19 -0
- package/dist/orchestration/steps/index.js +19 -0
- package/dist/orchestration/steps/mirror-repo-tasks-step.d.ts +21 -0
- package/dist/orchestration/steps/mirror-repo-tasks-step.js +94 -0
- package/dist/orchestration/steps/publish-report-step.d.ts +26 -0
- package/dist/orchestration/steps/publish-report-step.js +216 -0
- package/dist/orchestration/steps/readiness-step.d.ts +13 -0
- package/dist/orchestration/steps/readiness-step.js +91 -0
- package/dist/orchestration/steps/report-step.d.ts +12 -0
- package/dist/orchestration/steps/report-step.js +49 -0
- package/dist/orchestration/steps/run-eval-step.d.ts +17 -0
- package/dist/orchestration/steps/run-eval-step.js +195 -0
- package/dist/orchestration/steps/validate-step.d.ts +12 -0
- package/dist/orchestration/steps/validate-step.js +41 -0
- package/dist/pipeline/agent-behavior-report.d.ts +53 -0
- package/dist/pipeline/agent-behavior-report.js +132 -0
- package/dist/pipeline/attribution.d.ts +47 -0
- package/dist/pipeline/attribution.js +226 -0
- package/dist/pipeline/baseline.d.ts +37 -0
- package/dist/pipeline/baseline.js +141 -0
- package/dist/pipeline/cache.d.ts +101 -0
- package/dist/pipeline/cache.js +283 -0
- package/dist/pipeline/calculate-scores.d.ts +102 -0
- package/dist/pipeline/calculate-scores.js +1128 -0
- package/dist/pipeline/callback-delivery.d.ts +50 -0
- package/dist/pipeline/callback-delivery.js +89 -0
- package/dist/pipeline/checks.d.ts +39 -0
- package/dist/pipeline/checks.js +280 -0
- package/dist/pipeline/classify-url.d.ts +61 -0
- package/dist/pipeline/classify-url.js +93 -0
- package/dist/pipeline/compare.d.ts +31 -0
- package/dist/pipeline/compare.js +208 -0
- package/dist/pipeline/coverage-audit.d.ts +39 -0
- package/dist/pipeline/coverage-audit.js +165 -0
- package/dist/pipeline/degradations.d.ts +85 -0
- package/dist/pipeline/degradations.js +242 -0
- package/dist/pipeline/discovery-report.d.ts +55 -0
- package/dist/pipeline/discovery-report.js +178 -0
- package/dist/pipeline/eval-constants.d.ts +68 -0
- package/dist/pipeline/eval-constants.js +111 -0
- package/dist/pipeline/eval-fingerprint.d.ts +66 -0
- package/dist/pipeline/eval-fingerprint.js +175 -0
- package/dist/pipeline/expand-tasks.d.ts +220 -0
- package/dist/pipeline/expand-tasks.js +421 -0
- package/dist/pipeline/failure-modes.d.ts +46 -0
- package/dist/pipeline/failure-modes.js +348 -0
- package/dist/pipeline/fetch-url-content.d.ts +44 -0
- package/dist/pipeline/fetch-url-content.js +93 -0
- package/dist/pipeline/gap-analysis.d.ts +48 -0
- package/dist/pipeline/gap-analysis.js +231 -0
- package/dist/pipeline/generate-configs.d.ts +72 -0
- package/dist/pipeline/generate-configs.js +395 -0
- package/dist/pipeline/grader-api.d.ts +49 -0
- package/dist/pipeline/grader-api.js +200 -0
- package/dist/pipeline/grader-compare-runner.d.ts +44 -0
- package/dist/pipeline/grader-compare-runner.js +301 -0
- package/dist/pipeline/grader-comparison.d.ts +111 -0
- package/dist/pipeline/grader-comparison.js +161 -0
- package/dist/pipeline/grader-consistency-runner.d.ts +60 -0
- package/dist/pipeline/grader-consistency-runner.js +270 -0
- package/dist/pipeline/grader-consistency.d.ts +103 -0
- package/dist/pipeline/grader-consistency.js +146 -0
- package/dist/pipeline/grader-sensitivity-runner.d.ts +40 -0
- package/dist/pipeline/grader-sensitivity-runner.js +282 -0
- package/dist/pipeline/grader-sensitivity.d.ts +94 -0
- package/dist/pipeline/grader-sensitivity.js +144 -0
- package/dist/pipeline/grader-validate-runner.d.ts +38 -0
- package/dist/pipeline/grader-validate-runner.js +229 -0
- package/dist/pipeline/grader-validation.d.ts +107 -0
- package/dist/pipeline/grader-validation.js +169 -0
- package/dist/pipeline/map-request-to-config.d.ts +19 -0
- package/dist/pipeline/map-request-to-config.js +80 -0
- package/dist/pipeline/measure-retrieval.d.ts +59 -0
- package/dist/pipeline/measure-retrieval.js +111 -0
- package/dist/pipeline/mirror-repo-tasks.d.ts +86 -0
- package/dist/pipeline/mirror-repo-tasks.js +350 -0
- package/dist/pipeline/plan-format.d.ts +33 -0
- package/dist/pipeline/plan-format.js +202 -0
- package/dist/pipeline/plan.d.ts +169 -0
- package/dist/pipeline/plan.js +708 -0
- package/dist/pipeline/pr-comment.d.ts +19 -0
- package/dist/pipeline/pr-comment.js +502 -0
- package/dist/pipeline/probe.d.ts +52 -0
- package/dist/pipeline/probe.js +390 -0
- package/dist/pipeline/provenance.d.ts +47 -0
- package/dist/pipeline/provenance.js +146 -0
- package/dist/pipeline/readiness-report.d.ts +87 -0
- package/dist/pipeline/readiness-report.js +205 -0
- package/dist/pipeline/release-classification.d.ts +54 -0
- package/dist/pipeline/release-classification.js +238 -0
- package/dist/pipeline/release-report.d.ts +37 -0
- package/dist/pipeline/release-report.js +222 -0
- package/dist/pipeline/repo-eval-comment.d.ts +37 -0
- package/dist/pipeline/repo-eval-comment.js +165 -0
- package/dist/pipeline/repo-threshold-evaluator.d.ts +89 -0
- package/dist/pipeline/repo-threshold-evaluator.js +162 -0
- package/dist/pipeline/resolve-mappings.d.ts +35 -0
- package/dist/pipeline/resolve-mappings.js +72 -0
- package/dist/pipeline/retrieval-metrics.d.ts +39 -0
- package/dist/pipeline/retrieval-metrics.js +136 -0
- package/dist/pipeline/reverse-mapping.d.ts +67 -0
- package/dist/pipeline/reverse-mapping.js +88 -0
- package/dist/pipeline/schemas.d.ts +9 -0
- package/dist/pipeline/schemas.js +9 -0
- package/dist/pipeline/steps/calculate-scores-step.d.ts +11 -0
- package/dist/pipeline/steps/calculate-scores-step.js +89 -0
- package/dist/pipeline/steps/compare-step.d.ts +18 -0
- package/dist/pipeline/steps/compare-step.js +90 -0
- package/dist/pipeline/steps/eval-step.d.ts +53 -0
- package/dist/pipeline/steps/eval-step.js +347 -0
- package/dist/pipeline/steps/fetch-docs-step.d.ts +11 -0
- package/dist/pipeline/steps/fetch-docs-step.js +84 -0
- package/dist/pipeline/steps/generate-configs-step.d.ts +11 -0
- package/dist/pipeline/steps/generate-configs-step.js +98 -0
- package/dist/pipeline/steps/grader-consistency-step.d.ts +21 -0
- package/dist/pipeline/steps/grader-consistency-step.js +74 -0
- package/dist/pipeline/steps/publish-report-step.d.ts +57 -0
- package/dist/pipeline/steps/publish-report-step.js +243 -0
- package/dist/pipeline/steps/report-step.d.ts +13 -0
- package/dist/pipeline/steps/report-step.js +56 -0
- package/dist/pipeline/steps/update-scores-step.d.ts +11 -0
- package/dist/pipeline/steps/update-scores-step.js +42 -0
- package/dist/pipeline/targeted-loo.d.ts +88 -0
- package/dist/pipeline/targeted-loo.js +203 -0
- package/dist/pipeline/thresholds.d.ts +27 -0
- package/dist/pipeline/thresholds.js +245 -0
- package/dist/pipeline/types.d.ts +10 -0
- package/dist/pipeline/types.js +10 -0
- package/dist/pipeline/validate.d.ts +67 -0
- package/dist/pipeline/validate.js +406 -0
- package/dist/pipeline/webhook-server.d.ts +37 -0
- package/dist/pipeline/webhook-server.js +133 -0
- package/dist/report-store.d.ts +84 -0
- package/dist/report-store.js +208 -0
- package/dist/sanity/client.d.ts +38 -0
- package/dist/sanity/client.js +86 -0
- package/dist/sanity/portable-text.d.ts +11 -0
- package/dist/sanity/portable-text.js +211 -0
- package/dist/sanity/queries.d.ts +133 -0
- package/dist/sanity/queries.js +300 -0
- package/dist/schedules/digest.d.ts +116 -0
- package/dist/schedules/digest.js +156 -0
- package/dist/schedules/index.d.ts +12 -0
- package/dist/schedules/index.js +10 -0
- package/dist/schedules/loader.d.ts +31 -0
- package/dist/schedules/loader.js +73 -0
- package/dist/schedules/schema.d.ts +9 -0
- package/dist/schedules/schema.js +9 -0
- package/dist/scripts/agent-behavior-report.d.ts +19 -0
- package/dist/scripts/agent-behavior-report.js +315 -0
- package/dist/scripts/baseline.d.ts +43 -0
- package/dist/scripts/baseline.js +267 -0
- package/dist/scripts/calculate-scores.d.ts +166 -0
- package/dist/scripts/calculate-scores.js +1296 -0
- package/dist/scripts/compare.d.ts +22 -0
- package/dist/scripts/compare.js +334 -0
- package/dist/scripts/coverage-audit.d.ts +44 -0
- package/dist/scripts/coverage-audit.js +209 -0
- package/dist/scripts/debug-eval.d.ts +19 -0
- package/dist/scripts/debug-eval.js +73 -0
- package/dist/scripts/discovery-report.d.ts +58 -0
- package/dist/scripts/discovery-report.js +250 -0
- package/dist/scripts/fetch-docs.d.ts +35 -0
- package/dist/scripts/fetch-docs.js +472 -0
- package/dist/scripts/generate-configs.d.ts +66 -0
- package/dist/scripts/generate-configs.js +459 -0
- package/dist/scripts/grader-api.d.ts +27 -0
- package/dist/scripts/grader-api.js +206 -0
- package/dist/scripts/grader-compare.d.ts +22 -0
- package/dist/scripts/grader-compare.js +368 -0
- package/dist/scripts/grader-consistency.d.ts +20 -0
- package/dist/scripts/grader-consistency.js +313 -0
- package/dist/scripts/grader-sensitivity.d.ts +22 -0
- package/dist/scripts/grader-sensitivity.js +354 -0
- package/dist/scripts/grader-validate.d.ts +19 -0
- package/dist/scripts/grader-validate.js +267 -0
- package/dist/scripts/measure-retrieval.d.ts +10 -0
- package/dist/scripts/measure-retrieval.js +145 -0
- package/dist/scripts/migrate-tasks-to-content-lake.d.ts +24 -0
- package/dist/scripts/migrate-tasks-to-content-lake.js +327 -0
- package/dist/scripts/pipeline.d.ts +76 -0
- package/dist/scripts/pipeline.js +1031 -0
- package/dist/scripts/pr-comment.d.ts +10 -0
- package/dist/scripts/pr-comment.js +510 -0
- package/dist/scripts/readiness-report.d.ts +88 -0
- package/dist/scripts/readiness-report.js +342 -0
- package/dist/scripts/update-quality-scores.d.ts +15 -0
- package/dist/scripts/update-quality-scores.js +184 -0
- package/dist/scripts/validate-task-sources.d.ts +21 -0
- package/dist/scripts/validate-task-sources.js +210 -0
- package/dist/scripts/validate.d.ts +13 -0
- package/dist/scripts/validate.js +79 -0
- package/dist/scripts/webhook-server.d.ts +26 -0
- package/dist/scripts/webhook-server.js +147 -0
- package/dist/scripts/weekly-digest.d.ts +24 -0
- package/dist/scripts/weekly-digest.js +144 -0
- package/dist/sinks/bigquery/index.d.ts +131 -0
- package/dist/sinks/bigquery/index.js +222 -0
- package/dist/sinks/format-slack.d.ts +64 -0
- package/dist/sinks/format-slack.js +306 -0
- package/dist/sinks/index.d.ts +23 -0
- package/dist/sinks/index.js +18 -0
- package/dist/sinks/loader.d.ts +18 -0
- package/dist/sinks/loader.js +82 -0
- package/dist/sinks/retry.d.ts +24 -0
- package/dist/sinks/retry.js +52 -0
- package/dist/sinks/schema.d.ts +9 -0
- package/dist/sinks/schema.js +9 -0
- package/dist/sinks/slack/format.d.ts +65 -0
- package/dist/sinks/slack/format.js +327 -0
- package/dist/sinks/slack/index.d.ts +27 -0
- package/dist/sinks/slack/index.js +78 -0
- package/dist/sinks/slack-sink.d.ts +27 -0
- package/dist/sinks/slack-sink.js +78 -0
- package/dist/sinks/types.d.ts +59 -0
- package/dist/sinks/types.js +44 -0
- package/dist/sinks/webhook/index.d.ts +19 -0
- package/dist/sinks/webhook/index.js +50 -0
- package/dist/sinks/webhook-sink.d.ts +19 -0
- package/dist/sinks/webhook-sink.js +50 -0
- package/dist/sources.d.ts +104 -0
- package/dist/sources.js +292 -0
- package/dist/webhook/budget.d.ts +42 -0
- package/dist/webhook/budget.js +60 -0
- package/dist/webhook/debounce.d.ts +67 -0
- package/dist/webhook/debounce.js +76 -0
- package/dist/webhook/dispatch.d.ts +45 -0
- package/dist/webhook/dispatch.js +84 -0
- package/dist/webhook/eval-request-handler.d.ts +87 -0
- package/dist/webhook/eval-request-handler.js +181 -0
- package/dist/webhook/handler.d.ts +88 -0
- package/dist/webhook/handler.js +203 -0
- package/dist/webhook/index.d.ts +17 -0
- package/dist/webhook/index.js +12 -0
- package/dist/webhook/types.d.ts +109 -0
- package/dist/webhook/types.js +10 -0
- package/package.json +72 -0
- package/tasks/.expanded.agentic.yaml +51 -0
- package/tasks/.expanded.yaml +66 -0
- package/tasks/frameworks.yaml +98 -0
- package/tasks/functions.yaml +51 -0
- package/tasks/groq.yaml +216 -0
- package/tasks/nextjs-live.yaml +62 -0
- package/tasks/studio-setup.yaml +111 -0
- package/tasks/visual-editing.yaml +120 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pipeline/plan-format.ts
|
|
3
|
+
*
|
|
4
|
+
* Formatters for rendering an ExecutionPlan to console output or JSON.
|
|
5
|
+
*
|
|
6
|
+
* The console formatter produces a rich, human-readable preview with
|
|
7
|
+
* emoji markers, alignment, and color-coding (via unicode markers).
|
|
8
|
+
* The JSON formatter produces machine-readable output for CI/CD.
|
|
9
|
+
*
|
|
10
|
+
* @see docs/exec-plans/active/execution-preview.md
|
|
11
|
+
*/
|
|
12
|
+
import { formatCost } from "../agent-observer/pricing.js";
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Duration formatting
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
/**
|
|
17
|
+
* Format an execution plan as a rich console string.
|
|
18
|
+
*
|
|
19
|
+
* Produces a multi-section output with emoji markers showing:
|
|
20
|
+
* - Command summary (mode, source, flags)
|
|
21
|
+
* - Step plan (which steps will run, cached, or skipped)
|
|
22
|
+
* - Test/task summary
|
|
23
|
+
* - Model list
|
|
24
|
+
* - Cost estimate
|
|
25
|
+
* - File I/O
|
|
26
|
+
* - Comparison context
|
|
27
|
+
* - Warnings/errors
|
|
28
|
+
*/
|
|
29
|
+
export function formatPlanConsole(plan) {
|
|
30
|
+
const lines = [];
|
|
31
|
+
// Header
|
|
32
|
+
lines.push(`📋 Execution Plan: ailf ${plan.command}`);
|
|
33
|
+
lines.push("");
|
|
34
|
+
// Command summary
|
|
35
|
+
if (plan.mode) {
|
|
36
|
+
lines.push(` Mode: ${plan.mode}`);
|
|
37
|
+
}
|
|
38
|
+
if (plan.source) {
|
|
39
|
+
lines.push(` Source: ${plan.source}${plan.source === "production" ? " (sanity.io/docs)" : ""}`);
|
|
40
|
+
}
|
|
41
|
+
lines.push("");
|
|
42
|
+
// Step plan
|
|
43
|
+
if (plan.steps.length > 0) {
|
|
44
|
+
const willRunCount = plan.steps.filter((s) => s.willRun).length;
|
|
45
|
+
const totalSteps = plan.steps.length;
|
|
46
|
+
lines.push(` 📦 Steps (${willRunCount} of ${totalSteps} will execute):`);
|
|
47
|
+
for (const step of plan.steps) {
|
|
48
|
+
const icon = stepIcon(step);
|
|
49
|
+
const suffix = step.cacheStatus === "hit" && step.estimatedSavedMs
|
|
50
|
+
? ` (saving ~${formatDuration(step.estimatedSavedMs)})`
|
|
51
|
+
: "";
|
|
52
|
+
lines.push(` ${icon} ${step.name} — ${step.reason}${suffix}`);
|
|
53
|
+
}
|
|
54
|
+
lines.push("");
|
|
55
|
+
}
|
|
56
|
+
// Test/task summary
|
|
57
|
+
if (plan.totalTests !== undefined) {
|
|
58
|
+
if (plan.debug) {
|
|
59
|
+
lines.push(` 🧪 Tests: ${plan.debug.filteredCount} of ${plan.debug.totalCount} (${plan.debug.filterDescription})`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
lines.push(` 🧪 Tests: ${plan.totalTests}`);
|
|
63
|
+
}
|
|
64
|
+
if (plan.repoTaskCount && plan.repoTaskCount > 0) {
|
|
65
|
+
lines.push(` (includes ${plan.repoTaskCount} repo-based task definition${plan.repoTaskCount === 1 ? "" : "s"})`);
|
|
66
|
+
}
|
|
67
|
+
// Show task list (gold variants only, to avoid duplication noise)
|
|
68
|
+
if (plan.tasks && plan.tasks.length > 0) {
|
|
69
|
+
const goldTasks = plan.tasks.filter((t) => t.variant === "gold");
|
|
70
|
+
const maxShow = 15;
|
|
71
|
+
const showTasks = goldTasks.slice(0, maxShow);
|
|
72
|
+
for (const task of showTasks) {
|
|
73
|
+
lines.push(` • ${task.description}`);
|
|
74
|
+
}
|
|
75
|
+
if (goldTasks.length > maxShow) {
|
|
76
|
+
lines.push(` … and ${goldTasks.length - maxShow} more`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
lines.push("");
|
|
80
|
+
}
|
|
81
|
+
// Model list
|
|
82
|
+
if (plan.models && plan.models.length > 0) {
|
|
83
|
+
lines.push(` 🤖 Models (${plan.models.length}):`);
|
|
84
|
+
const maxLabelLen = Math.max(...plan.models.map((m) => m.label.length));
|
|
85
|
+
for (const model of plan.models) {
|
|
86
|
+
const padded = model.label.padEnd(maxLabelLen + 2);
|
|
87
|
+
lines.push(` ${padded} ${model.id}`);
|
|
88
|
+
}
|
|
89
|
+
lines.push("");
|
|
90
|
+
}
|
|
91
|
+
// Cost estimate
|
|
92
|
+
if (plan.costEstimate) {
|
|
93
|
+
const ce = plan.costEstimate;
|
|
94
|
+
lines.push(` 📊 Estimated API calls: ${ce.totalApiCalls} (${plan.totalTests ?? 0} tests × ${plan.models?.length ?? 0} models)`);
|
|
95
|
+
const minCost = formatCost(ce.totalCost.min);
|
|
96
|
+
const maxCost = formatCost(ce.totalCost.max);
|
|
97
|
+
const gradingMin = formatCost(ce.grading.min);
|
|
98
|
+
const gradingMax = formatCost(ce.grading.max);
|
|
99
|
+
lines.push(` 💰 Estimated cost: ${minCost}–${maxCost} (includes ${gradingMin}–${gradingMax} grading)`);
|
|
100
|
+
// Per-model breakdown
|
|
101
|
+
if (ce.perModel.length > 1) {
|
|
102
|
+
for (const pm of ce.perModel) {
|
|
103
|
+
if (pm.cost.min > 0) {
|
|
104
|
+
lines.push(` └ ${pm.label}: ${formatCost(pm.cost.min)}–${formatCost(pm.cost.max)}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
lines.push("");
|
|
109
|
+
}
|
|
110
|
+
// Cache savings
|
|
111
|
+
if (plan.totalCacheSavingsMs > 0) {
|
|
112
|
+
lines.push(` ⏱️ Cache savings: ~${formatDuration(plan.totalCacheSavingsMs)} from cached steps`);
|
|
113
|
+
lines.push("");
|
|
114
|
+
}
|
|
115
|
+
// Comparison
|
|
116
|
+
if (plan.comparison) {
|
|
117
|
+
lines.push(" 📊 Comparison:");
|
|
118
|
+
const ageStr = plan.comparison.baselineAge
|
|
119
|
+
? ` (${plan.comparison.baselineAge} old)`
|
|
120
|
+
: "";
|
|
121
|
+
const existsStr = plan.comparison.exists ? "" : " ⚠️ NOT FOUND";
|
|
122
|
+
lines.push(` Baseline: ${plan.comparison.baselinePath}${ageStr}${existsStr}`);
|
|
123
|
+
lines.push(` Threshold: ±${plan.comparison.threshold} points`);
|
|
124
|
+
lines.push("");
|
|
125
|
+
}
|
|
126
|
+
// Files read
|
|
127
|
+
if (plan.filesRead.length > 0) {
|
|
128
|
+
lines.push(` 📂 Files read (${plan.filesRead.length}):`);
|
|
129
|
+
const maxShow = 10;
|
|
130
|
+
const shown = plan.filesRead.slice(0, maxShow);
|
|
131
|
+
lines.push(` ${shown.join(", ")}`);
|
|
132
|
+
if (plan.filesRead.length > maxShow) {
|
|
133
|
+
lines.push(` … and ${plan.filesRead.length - maxShow} more`);
|
|
134
|
+
}
|
|
135
|
+
lines.push("");
|
|
136
|
+
}
|
|
137
|
+
// Files created
|
|
138
|
+
if (plan.filesCreated.length > 0) {
|
|
139
|
+
lines.push(` 📝 Files created:`);
|
|
140
|
+
for (const f of plan.filesCreated) {
|
|
141
|
+
lines.push(` ${f}`);
|
|
142
|
+
}
|
|
143
|
+
lines.push("");
|
|
144
|
+
}
|
|
145
|
+
// Warnings
|
|
146
|
+
if (plan.warnings.length > 0) {
|
|
147
|
+
lines.push(` ⚠️ Warnings (${plan.warnings.length}):`);
|
|
148
|
+
for (const w of plan.warnings) {
|
|
149
|
+
lines.push(` ${w}`);
|
|
150
|
+
}
|
|
151
|
+
lines.push("");
|
|
152
|
+
}
|
|
153
|
+
// Errors
|
|
154
|
+
if (plan.errors.length > 0) {
|
|
155
|
+
lines.push(` ❌ Errors (${plan.errors.length}):`);
|
|
156
|
+
for (const e of plan.errors) {
|
|
157
|
+
lines.push(` ${e}`);
|
|
158
|
+
}
|
|
159
|
+
lines.push("");
|
|
160
|
+
}
|
|
161
|
+
// Footer
|
|
162
|
+
lines.push(" Run without --explain to execute, or add --yes to preview then confirm.");
|
|
163
|
+
lines.push("");
|
|
164
|
+
return lines.join("\n");
|
|
165
|
+
}
|
|
166
|
+
// ---------------------------------------------------------------------------
|
|
167
|
+
// Console formatter
|
|
168
|
+
// ---------------------------------------------------------------------------
|
|
169
|
+
/**
|
|
170
|
+
* Format an execution plan as indented JSON.
|
|
171
|
+
*
|
|
172
|
+
* Useful for CI/CD integration, approval gates, and programmatic
|
|
173
|
+
* inspection of the plan.
|
|
174
|
+
*/
|
|
175
|
+
export function formatPlanJson(plan) {
|
|
176
|
+
return JSON.stringify(plan, null, 2);
|
|
177
|
+
}
|
|
178
|
+
// ---------------------------------------------------------------------------
|
|
179
|
+
// JSON formatter
|
|
180
|
+
// ---------------------------------------------------------------------------
|
|
181
|
+
function formatDuration(ms) {
|
|
182
|
+
if (ms < 1000)
|
|
183
|
+
return `${ms}ms`;
|
|
184
|
+
if (ms < 60000)
|
|
185
|
+
return `${(ms / 1000).toFixed(1)}s`;
|
|
186
|
+
const min = Math.floor(ms / 60000);
|
|
187
|
+
const sec = Math.round((ms % 60000) / 1000);
|
|
188
|
+
return `${min}m ${sec}s`;
|
|
189
|
+
}
|
|
190
|
+
// ---------------------------------------------------------------------------
|
|
191
|
+
// Helpers
|
|
192
|
+
// ---------------------------------------------------------------------------
|
|
193
|
+
function stepIcon(step) {
|
|
194
|
+
if (!step.willRun) {
|
|
195
|
+
if (step.cacheStatus === "hit")
|
|
196
|
+
return "📦";
|
|
197
|
+
if (step.cacheStatus === "skipped")
|
|
198
|
+
return "⏭️";
|
|
199
|
+
return "⏭️";
|
|
200
|
+
}
|
|
201
|
+
return "✅";
|
|
202
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pipeline/plan.ts
|
|
3
|
+
*
|
|
4
|
+
* Execution plan assembly for the `--explain` CLI flag.
|
|
5
|
+
*
|
|
6
|
+
* Computes a detailed preview of what a command will do without executing
|
|
7
|
+
* anything. Calls existing pure functions (task expansion, model loading,
|
|
8
|
+
* cache hashing, pricing) and composes them into an `ExecutionPlan`.
|
|
9
|
+
*
|
|
10
|
+
* @see docs/exec-plans/active/execution-preview.md
|
|
11
|
+
*/
|
|
12
|
+
import type { DebugOptions, EvalMode } from "./types.js";
|
|
13
|
+
/** Comparison plan for --compare flag. */
|
|
14
|
+
export interface ComparisonPlan {
|
|
15
|
+
/** Age of the baseline in human-readable form */
|
|
16
|
+
baselineAge?: string;
|
|
17
|
+
/** Path to the baseline file */
|
|
18
|
+
baselinePath: string;
|
|
19
|
+
/** Whether the baseline file exists */
|
|
20
|
+
exists: boolean;
|
|
21
|
+
/** Noise threshold for comparison */
|
|
22
|
+
threshold: number;
|
|
23
|
+
}
|
|
24
|
+
/** Cost estimate for the evaluation run. */
|
|
25
|
+
export interface CostEstimate {
|
|
26
|
+
/** Grading cost estimate (min/max) */
|
|
27
|
+
grading: {
|
|
28
|
+
max: number;
|
|
29
|
+
min: number;
|
|
30
|
+
};
|
|
31
|
+
/** Number of grading calls (rubric evaluations) */
|
|
32
|
+
gradingCalls: number;
|
|
33
|
+
/** Per-model evaluation cost breakdown */
|
|
34
|
+
perModel: {
|
|
35
|
+
cost: {
|
|
36
|
+
max: number;
|
|
37
|
+
min: number;
|
|
38
|
+
};
|
|
39
|
+
label: string;
|
|
40
|
+
modelName: string;
|
|
41
|
+
}[];
|
|
42
|
+
/** Total API calls for evaluation (tests × models) */
|
|
43
|
+
totalApiCalls: number;
|
|
44
|
+
/** Total estimated cost (min/max) */
|
|
45
|
+
totalCost: {
|
|
46
|
+
max: number;
|
|
47
|
+
min: number;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Debug filtering plan. */
|
|
51
|
+
export interface DebugPlan {
|
|
52
|
+
/** Description of the debug filter applied */
|
|
53
|
+
filterDescription: string;
|
|
54
|
+
/** How many tests survive debug filtering */
|
|
55
|
+
filteredCount: number;
|
|
56
|
+
/** Total tests before debug filtering */
|
|
57
|
+
totalCount: number;
|
|
58
|
+
}
|
|
59
|
+
/** The complete execution plan for any command. */
|
|
60
|
+
export interface ExecutionPlan {
|
|
61
|
+
/** Cache prediction per step */
|
|
62
|
+
cacheStatus: Record<string, "hit" | "miss" | "skipped" | "unknown">;
|
|
63
|
+
/** Command name (e.g., "pipeline", "compare", "validate") */
|
|
64
|
+
command: string;
|
|
65
|
+
/** Comparison plan (when --compare is set) */
|
|
66
|
+
comparison?: ComparisonPlan;
|
|
67
|
+
/** Estimated cost */
|
|
68
|
+
costEstimate?: CostEstimate;
|
|
69
|
+
/** Debug filter plan */
|
|
70
|
+
debug?: DebugPlan;
|
|
71
|
+
/** Human-readable description of what the command does */
|
|
72
|
+
description: string;
|
|
73
|
+
/** Validation errors (would prevent execution) */
|
|
74
|
+
errors: string[];
|
|
75
|
+
/** Files that will be created or updated */
|
|
76
|
+
filesCreated: string[];
|
|
77
|
+
/** Files that will be read as input */
|
|
78
|
+
filesRead: string[];
|
|
79
|
+
/** Evaluation mode */
|
|
80
|
+
mode?: EvalMode;
|
|
81
|
+
/** Model plan */
|
|
82
|
+
models?: ModelPlan[];
|
|
83
|
+
/** Documentation source */
|
|
84
|
+
source?: string;
|
|
85
|
+
/** Step-by-step plan */
|
|
86
|
+
steps: StepPlan[];
|
|
87
|
+
/** Task plan */
|
|
88
|
+
tasks?: TaskPlan[];
|
|
89
|
+
/** Total estimated time savings from cache hits */
|
|
90
|
+
totalCacheSavingsMs: number;
|
|
91
|
+
/** Total number of tests to run */
|
|
92
|
+
totalTests?: number;
|
|
93
|
+
/** Number of tests from repo-based tasks (included in totalTests) */
|
|
94
|
+
repoTaskCount?: number;
|
|
95
|
+
/** Validation warnings */
|
|
96
|
+
warnings: string[];
|
|
97
|
+
}
|
|
98
|
+
/** A model that will be evaluated. */
|
|
99
|
+
export interface ModelPlan {
|
|
100
|
+
/** Provider ID (e.g., "openai:chat:gpt-5.2") */
|
|
101
|
+
id: string;
|
|
102
|
+
/** Human-readable label */
|
|
103
|
+
label: string;
|
|
104
|
+
/** Raw model name for pricing lookup */
|
|
105
|
+
modelName: string;
|
|
106
|
+
}
|
|
107
|
+
/** Description of a single pipeline step in the execution plan. */
|
|
108
|
+
export interface StepPlan {
|
|
109
|
+
/** Cache prediction: hit (will skip), miss (will execute), skipped (flag), or unknown */
|
|
110
|
+
cacheStatus: "hit" | "miss" | "skipped" | "unknown";
|
|
111
|
+
/** Estimated duration in ms from cached data (if cache hit predicted) */
|
|
112
|
+
estimatedSavedMs?: number;
|
|
113
|
+
/** Human-readable name */
|
|
114
|
+
name: string;
|
|
115
|
+
/** Short description of what happens */
|
|
116
|
+
reason: string;
|
|
117
|
+
/** Whether this step will execute */
|
|
118
|
+
willRun: boolean;
|
|
119
|
+
}
|
|
120
|
+
/** A task that will be included in the evaluation. */
|
|
121
|
+
export interface TaskPlan {
|
|
122
|
+
/** Test description */
|
|
123
|
+
description: string;
|
|
124
|
+
/** Whether this is a gold (with docs) or baseline (without docs) variant */
|
|
125
|
+
variant: "baseline" | "gold";
|
|
126
|
+
}
|
|
127
|
+
/** Minimal options shape needed to build a pipeline execution plan. */
|
|
128
|
+
export interface PlanOptions {
|
|
129
|
+
areaOption?: string;
|
|
130
|
+
beforeOption?: string;
|
|
131
|
+
compareBaseline?: string;
|
|
132
|
+
compareEnabled: boolean;
|
|
133
|
+
compareThreshold?: number;
|
|
134
|
+
concurrency?: number;
|
|
135
|
+
debug?: DebugOptions;
|
|
136
|
+
discoveryReportEnabled: boolean;
|
|
137
|
+
dryRun: boolean;
|
|
138
|
+
gapAnalysisEnabled: boolean;
|
|
139
|
+
graderReplications?: number;
|
|
140
|
+
mode: EvalMode;
|
|
141
|
+
noCache: boolean;
|
|
142
|
+
publishEnabled: boolean;
|
|
143
|
+
readinessEnabled: boolean;
|
|
144
|
+
repoTasksPath?: string;
|
|
145
|
+
skipEval: boolean;
|
|
146
|
+
skipFetch: boolean;
|
|
147
|
+
source?: string;
|
|
148
|
+
taskOption?: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Build a complete execution plan for the `pipeline` command.
|
|
152
|
+
*
|
|
153
|
+
* This is a read-only operation — it computes the plan by calling existing
|
|
154
|
+
* pure functions (task expansion, model loading, cache lookup, pricing)
|
|
155
|
+
* without executing any pipeline steps or writing to process.env.
|
|
156
|
+
*/
|
|
157
|
+
export declare function buildPipelinePlan(opts: PlanOptions, rootDir: string): Promise<ExecutionPlan>;
|
|
158
|
+
/**
|
|
159
|
+
* Build a minimal plan for commands that don't have complex step graphs.
|
|
160
|
+
* Used by compare, validate, fetch-docs, baseline, etc.
|
|
161
|
+
*/
|
|
162
|
+
export declare function buildSimpleCommandPlan(opts: {
|
|
163
|
+
command: string;
|
|
164
|
+
description: string;
|
|
165
|
+
filesCreated?: string[];
|
|
166
|
+
filesRead?: string[];
|
|
167
|
+
rootDir: string;
|
|
168
|
+
steps?: StepPlan[];
|
|
169
|
+
}): ExecutionPlan;
|