stageflow 0.40.0 → 0.42.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 +3 -1
- package/dist/agents/authorChat.d.ts +4 -0
- package/dist/agents/authorChat.js +113 -12
- package/dist/agents/authorSessionStore.d.ts +35 -0
- package/dist/agents/authorSessionStore.js +152 -0
- package/dist/agents/chatTurn.d.ts +2 -0
- package/dist/agents/chatTurn.js +17 -1
- package/dist/agents/errors.d.ts +1 -1
- package/dist/agents/errors.js +1 -0
- package/dist/agents/evalGate.d.ts +61 -0
- package/dist/agents/evalGate.js +103 -0
- package/dist/agents/evalSession.d.ts +26 -0
- package/dist/agents/evalSession.js +29 -0
- package/dist/agents/hostContext.d.ts +3 -0
- package/dist/agents/hostContext.js +4 -1
- package/dist/agents/runtime/piRuntime.d.ts +1 -1
- package/dist/agents/runtime/piRuntime.js +4 -4
- package/dist/agents/runtime/types.d.ts +3 -1
- package/dist/agents/service.d.ts +27 -2
- package/dist/agents/service.js +88 -13
- package/dist/agents/sessions.d.ts +8 -0
- package/dist/agents/sessions.js +50 -10
- package/dist/agents/store.d.ts +14 -3
- package/dist/agents/store.js +45 -7
- package/dist/agents/toolRisk.d.ts +21 -0
- package/dist/agents/toolRisk.js +50 -0
- package/dist/cli/doctorCommand.js +26 -0
- package/dist/cli/evalCommand.d.ts +20 -0
- package/dist/cli/evalCommand.js +720 -0
- package/dist/cli/exportAllCommand.js +1 -1
- package/dist/cli/hostClient.d.ts +60 -0
- package/dist/cli/hostClient.js +71 -0
- package/dist/cli/validateOutput.d.ts +2 -2
- package/dist/cli/validateOutput.js +2 -2
- package/dist/cli.js +10 -0
- package/dist/config/atomicWrite.d.ts +15 -0
- package/dist/config/atomicWrite.js +43 -0
- package/dist/config/browseCatalog.d.ts +2 -0
- package/dist/config/browseCatalog.js +4 -2
- package/dist/config/csv.d.ts +9 -0
- package/dist/config/csv.js +81 -0
- package/dist/config/datasetAgentCheck.d.ts +18 -0
- package/dist/config/datasetAgentCheck.js +109 -0
- package/dist/config/datasetCandidates.d.ts +22 -0
- package/dist/config/datasetCandidates.js +86 -0
- package/dist/config/datasetFromSessions.d.ts +34 -0
- package/dist/config/datasetFromSessions.js +105 -0
- package/dist/config/datasetHash.d.ts +1 -0
- package/dist/config/datasetHash.js +4 -0
- package/dist/config/datasetImport.d.ts +21 -0
- package/dist/config/datasetImport.js +120 -0
- package/dist/config/datasetStageCheck.d.ts +9 -0
- package/dist/config/datasetStageCheck.js +17 -0
- package/dist/config/datasetTypes.d.ts +27 -0
- package/dist/config/datasetTypes.js +1 -0
- package/dist/config/ensureCatalogScanRoot.d.ts +2 -1
- package/dist/config/ensureCatalogScanRoot.js +2 -6
- package/dist/config/evalCatalog.d.ts +22 -0
- package/dist/config/evalCatalog.js +67 -0
- package/dist/config/evalWriteRoots.d.ts +17 -0
- package/dist/config/evalWriteRoots.js +109 -0
- package/dist/config/hostConfig.js +1 -0
- package/dist/config/installEvalSample.d.ts +34 -0
- package/dist/config/installEvalSample.js +182 -0
- package/dist/config/loadDataset.d.ts +16 -0
- package/dist/config/loadDataset.js +318 -0
- package/dist/config/loadEval.d.ts +32 -0
- package/dist/config/loadEval.js +1085 -0
- package/dist/config/loadOutcome.d.ts +5 -0
- package/dist/config/loadStageflowManifest.js +64 -0
- package/dist/config/resolveAgentTarget.d.ts +32 -0
- package/dist/config/resolveAgentTarget.js +118 -0
- package/dist/config/resolveEvalTarget.d.ts +21 -0
- package/dist/config/resolveEvalTarget.js +89 -0
- package/dist/config/scanCatalogPaths.d.ts +1 -1
- package/dist/config/scanCatalogPaths.js +17 -5
- package/dist/config/validateCatalog.d.ts +1 -1
- package/dist/config/validateCatalog.js +9 -1
- package/dist/config/validateEval.d.ts +36 -0
- package/dist/config/validateEval.js +405 -0
- package/dist/config/writeDataset.d.ts +54 -0
- package/dist/config/writeDataset.js +186 -0
- package/dist/config/writeEval.d.ts +25 -0
- package/dist/config/writeEval.js +398 -0
- package/dist/diagnostics/checks.js +1 -1
- package/dist/evals/agentDiff.d.ts +13 -0
- package/dist/evals/agentDiff.js +11 -0
- package/dist/evals/canonical.d.ts +3 -0
- package/dist/evals/canonical.js +24 -0
- package/dist/evals/caseTask.d.ts +3 -0
- package/dist/evals/caseTask.js +9 -0
- package/dist/evals/compare.d.ts +94 -0
- package/dist/evals/compare.js +201 -0
- package/dist/evals/constants.d.ts +60 -0
- package/dist/evals/constants.js +95 -0
- package/dist/evals/engine/FakeEngine.d.ts +33 -0
- package/dist/evals/engine/FakeEngine.js +176 -0
- package/dist/evals/engine/index.d.ts +9 -0
- package/dist/evals/engine/index.js +19 -0
- package/dist/evals/engine/promptfoo/PromptfooEngine.d.ts +52 -0
- package/dist/evals/engine/promptfoo/PromptfooEngine.js +311 -0
- package/dist/evals/engine/promptfoo/errors.d.ts +5 -0
- package/dist/evals/engine/promptfoo/errors.js +8 -0
- package/dist/evals/engine/promptfoo/generate.d.ts +30 -0
- package/dist/evals/engine/promptfoo/generate.js +342 -0
- package/dist/evals/engine/promptfoo/guard.d.ts +10 -0
- package/dist/evals/engine/promptfoo/guard.js +116 -0
- package/dist/evals/engine/promptfoo/install.d.ts +17 -0
- package/dist/evals/engine/promptfoo/install.js +73 -0
- package/dist/evals/engine/promptfoo/judgeProviders.d.ts +2 -0
- package/dist/evals/engine/promptfoo/judgeProviders.js +9 -0
- package/dist/evals/engine/promptfoo/judgeServices.d.ts +6 -0
- package/dist/evals/engine/promptfoo/judgeServices.js +41 -0
- package/dist/evals/engine/promptfoo/locate.d.ts +21 -0
- package/dist/evals/engine/promptfoo/locate.js +68 -0
- package/dist/evals/engine/promptfoo/nodeVersion.d.ts +7 -0
- package/dist/evals/engine/promptfoo/nodeVersion.js +14 -0
- package/dist/evals/engine/promptfoo/normalize.d.ts +66 -0
- package/dist/evals/engine/promptfoo/normalize.js +261 -0
- package/dist/evals/engine/promptfoo/pinned.d.ts +5 -0
- package/dist/evals/engine/promptfoo/pinned.js +5 -0
- package/dist/evals/engine/promptfoo/rubricPrompt.d.ts +14 -0
- package/dist/evals/engine/promptfoo/rubricPrompt.js +103 -0
- package/dist/evals/engine/promptfoo/runTokens.d.ts +18 -0
- package/dist/evals/engine/promptfoo/runTokens.js +31 -0
- package/dist/evals/engine/promptfoo/status.d.ts +13 -0
- package/dist/evals/engine/promptfoo/status.js +16 -0
- package/dist/evals/estimate.d.ts +56 -0
- package/dist/evals/estimate.js +66 -0
- package/dist/evals/graders/codeGrader.d.ts +6 -0
- package/dist/evals/graders/codeGrader.js +85 -0
- package/dist/evals/graders/conversationCheckGrader.d.ts +6 -0
- package/dist/evals/graders/conversationCheckGrader.js +62 -0
- package/dist/evals/graders/fieldGrader.d.ts +11 -0
- package/dist/evals/graders/fieldGrader.js +117 -0
- package/dist/evals/graders/goal.d.ts +3 -0
- package/dist/evals/graders/goal.js +14 -0
- package/dist/evals/graders/index.d.ts +18 -0
- package/dist/evals/graders/index.js +34 -0
- package/dist/evals/graders/notApplicable.d.ts +5 -0
- package/dist/evals/graders/notApplicable.js +9 -0
- package/dist/evals/graders/path.d.ts +26 -0
- package/dist/evals/graders/path.js +75 -0
- package/dist/evals/graders/referenceGrader.d.ts +5 -0
- package/dist/evals/graders/referenceGrader.js +59 -0
- package/dist/evals/graders/schemaGrader.d.ts +5 -0
- package/dist/evals/graders/schemaGrader.js +29 -0
- package/dist/evals/graders/subject.d.ts +6 -0
- package/dist/evals/graders/subject.js +33 -0
- package/dist/evals/graders/toolCallsGrader.d.ts +6 -0
- package/dist/evals/graders/toolCallsGrader.js +100 -0
- package/dist/evals/graders/transcript.d.ts +12 -0
- package/dist/evals/graders/transcript.js +57 -0
- package/dist/evals/graders/types.d.ts +20 -0
- package/dist/evals/graders/types.js +1 -0
- package/dist/evals/judgeProviders.d.ts +16 -0
- package/dist/evals/judgeProviders.js +27 -0
- package/dist/evals/lineDiff.d.ts +5 -0
- package/dist/evals/lineDiff.js +34 -0
- package/dist/evals/listStatus.d.ts +31 -0
- package/dist/evals/listStatus.js +48 -0
- package/dist/evals/manager.d.ts +174 -0
- package/dist/evals/manager.js +787 -0
- package/dist/evals/plan.d.ts +58 -0
- package/dist/evals/plan.js +602 -0
- package/dist/evals/providerKeys.d.ts +1 -0
- package/dist/evals/providerKeys.js +21 -0
- package/dist/evals/read/agentTargets.d.ts +37 -0
- package/dist/evals/read/agentTargets.js +101 -0
- package/dist/evals/read/api.d.ts +196 -0
- package/dist/evals/read/api.js +358 -0
- package/dist/evals/read/compare.d.ts +4 -0
- package/dist/evals/read/compare.js +39 -0
- package/dist/evals/read/datasets.d.ts +105 -0
- package/dist/evals/read/datasets.js +318 -0
- package/dist/evals/read/list.d.ts +66 -0
- package/dist/evals/read/list.js +173 -0
- package/dist/evals/read/results.d.ts +46 -0
- package/dist/evals/read/results.js +107 -0
- package/dist/evals/read/runs.d.ts +149 -0
- package/dist/evals/read/runs.js +289 -0
- package/dist/evals/read/suggestions.d.ts +43 -0
- package/dist/evals/read/suggestions.js +73 -0
- package/dist/evals/runner/FakeAgentBackend.d.ts +40 -0
- package/dist/evals/runner/FakeAgentBackend.js +82 -0
- package/dist/evals/runner/agentCaseRunner.d.ts +24 -0
- package/dist/evals/runner/agentCaseRunner.js +388 -0
- package/dist/evals/runner/caseRunner.d.ts +7 -0
- package/dist/evals/runner/caseRunner.js +17 -0
- package/dist/evals/runner/conversationSubject.d.ts +18 -0
- package/dist/evals/runner/conversationSubject.js +123 -0
- package/dist/evals/runner/simulatorModel.d.ts +51 -0
- package/dist/evals/runner/simulatorModel.js +58 -0
- package/dist/evals/runner/simulatorPrompt.d.ts +29 -0
- package/dist/evals/runner/simulatorPrompt.js +59 -0
- package/dist/evals/runner/stageCaseRunner.d.ts +30 -0
- package/dist/evals/runner/stageCaseRunner.js +279 -0
- package/dist/evals/runner/userDriver.d.ts +71 -0
- package/dist/evals/runner/userDriver.js +104 -0
- package/dist/evals/scoring.d.ts +34 -0
- package/dist/evals/scoring.js +67 -0
- package/dist/evals/snapshot.d.ts +183 -0
- package/dist/evals/snapshot.js +65 -0
- package/dist/evals/stageDiff.d.ts +8 -0
- package/dist/evals/stageDiff.js +48 -0
- package/dist/evals/stats.d.ts +95 -0
- package/dist/evals/stats.js +220 -0
- package/dist/evals/statsAdapter.d.ts +4 -0
- package/dist/evals/statsAdapter.js +30 -0
- package/dist/evals/statsTypes.d.ts +51 -0
- package/dist/evals/statsTypes.js +18 -0
- package/dist/evals/storeError.d.ts +5 -0
- package/dist/evals/storeError.js +8 -0
- package/dist/evals/storeTypes.d.ts +207 -0
- package/dist/evals/storeTypes.js +1 -0
- package/dist/evals/tTable.d.ts +3 -0
- package/dist/evals/tTable.js +15 -0
- package/dist/evals/triage/constants.d.ts +26 -0
- package/dist/evals/triage/constants.js +33 -0
- package/dist/evals/triage/credentials.d.ts +13 -0
- package/dist/evals/triage/credentials.js +20 -0
- package/dist/evals/triage/jevClassifier.d.ts +14 -0
- package/dist/evals/triage/jevClassifier.js +124 -0
- package/dist/evals/triage/judgeClassifier.d.ts +10 -0
- package/dist/evals/triage/judgeClassifier.js +76 -0
- package/dist/evals/triage/prompts.d.ts +16 -0
- package/dist/evals/triage/prompts.js +64 -0
- package/dist/evals/triage/service.d.ts +79 -0
- package/dist/evals/triage/service.js +217 -0
- package/dist/evals/triage/stateBuilder.d.ts +19 -0
- package/dist/evals/triage/stateBuilder.js +125 -0
- package/dist/evals/triage/types.d.ts +60 -0
- package/dist/evals/triage/types.js +8 -0
- package/dist/evals/types.d.ts +347 -0
- package/dist/evals/types.js +1 -0
- package/dist/mcp/deps.d.ts +7 -0
- package/dist/mcp/evalTools.d.ts +3 -0
- package/dist/mcp/evalTools.js +280 -0
- package/dist/mcp/server.js +1 -0
- package/dist/mcp/tools.js +2 -0
- package/dist/models/response.d.ts +7 -2
- package/dist/models/response.js +6 -1
- package/dist/operatorAgent/agentAuthorContext.d.ts +1 -1
- package/dist/operatorAgent/agentAuthorContext.js +1 -1
- package/dist/operatorAgent/piModel.js +17 -4
- package/dist/operatorAgent/profiles/agentAuthor.d.ts +3 -1
- package/dist/operatorAgent/profiles/agentAuthor.js +145 -20
- package/dist/operatorAgent/profiles/agentAuthorPlaybook.d.ts +1 -1
- package/dist/operatorAgent/profiles/agentAuthorPlaybook.js +48 -15
- package/dist/operatorAgent/profiles/authorReadable.d.ts +2 -0
- package/dist/operatorAgent/profiles/authorReadable.js +26 -0
- package/dist/package-meta.d.ts +1 -1
- package/dist/package-meta.js +1 -1
- package/dist/runstore/port.d.ts +43 -0
- package/dist/runstore/sqlite/SqliteRunStore.d.ts +28 -0
- package/dist/runstore/sqlite/SqliteRunStore.js +99 -5
- package/dist/runstore/sqlite/evalStore.d.ts +20 -0
- package/dist/runstore/sqlite/evalStore.js +541 -0
- package/dist/runstore/sqlite/migrations/015-evals.d.ts +12 -0
- package/dist/runstore/sqlite/migrations/015-evals.js +157 -0
- package/dist/runstore/sqlite/migrations/016-eval-subject-ref.d.ts +12 -0
- package/dist/runstore/sqlite/migrations/016-eval-subject-ref.js +20 -0
- package/dist/runstore/sqlite/migrations/017-eval-result-suggestions.d.ts +11 -0
- package/dist/runstore/sqlite/migrations/017-eval-result-suggestions.js +36 -0
- package/dist/runstore/sqlite/migrations/index.js +6 -0
- package/dist/runstore/sqlite/suggestionStore.d.ts +14 -0
- package/dist/runstore/sqlite/suggestionStore.js +132 -0
- package/dist/runtime/pipelineRunner.d.ts +2 -1
- package/dist/runtime/pipelineRunner.js +2 -0
- package/dist/runtime/runManager.d.ts +2 -1
- package/dist/runtime/runManager.js +8 -6
- package/dist/runtime/runRetentionSweep.js +2 -2
- package/dist/server/agentAuthorRoutes.js +50 -1
- package/dist/server/bootstrap.d.ts +8 -0
- package/dist/server/bootstrap.js +56 -0
- package/dist/server/controlToken.js +3 -0
- package/dist/server/evalInternalRoutes.d.ts +14 -0
- package/dist/server/evalInternalRoutes.js +87 -0
- package/dist/server/evalRouteContext.d.ts +46 -0
- package/dist/server/evalRouteContext.js +43 -0
- package/dist/server/evalRoutes.d.ts +5 -0
- package/dist/server/evalRoutes.js +1427 -0
- package/dist/server/evalTriageRoutes.d.ts +2 -0
- package/dist/server/evalTriageRoutes.js +95 -0
- package/dist/server/http.d.ts +5 -0
- package/dist/server/http.js +32 -2
- package/dist/server/mcpHost.js +3 -0
- package/dist/toolkit/meta.d.ts +1 -1
- package/dist/toolkit/meta.js +15 -0
- package/dist/toolkit/profiles.js +1 -1
- package/dist/types/stageflowManifest.d.ts +6 -0
- package/dist/ui/assets/AssistantRuntimeProvider-qIX1xNoH.js +9 -0
- package/dist/ui/assets/{MarkdownText-D7tYaIFO.js → MarkdownText-BTrOqu5J.js} +1 -1
- package/dist/ui/assets/chat-Df_wCpak.js +5 -0
- package/dist/ui/assets/chat-P7KQznHm.css +2 -0
- package/dist/ui/assets/{main-BFo79krC.css → main-CHlmTNJe.css} +1 -1
- package/dist/ui/assets/main-CvVfxmMd.js +271 -0
- package/dist/ui/chat.html +3 -3
- package/dist/ui/index.html +3 -3
- package/examples/README.md +2 -0
- package/examples/document-policy-review/README.md +35 -0
- package/examples/document-policy-review/agents/compliance.agent.yaml +42 -0
- package/examples/document-policy-review/documents/acme-vendor-sow.md +15 -0
- package/examples/document-policy-review/documents/support-runbook.md +13 -0
- package/examples/document-policy-review/policies/acceptable-use.md +13 -0
- package/examples/document-policy-review/policies/data-handling.md +17 -0
- package/examples/document-policy-review/policies/vendor-security.md +17 -0
- package/examples/evals/README.md +123 -0
- package/examples/evals/critique-sample.dataset.jsonl +8 -0
- package/examples/evals/critique-sample.eval.yaml +34 -0
- package/examples/evals/critique-sample.task.yaml +4 -0
- package/examples/evals/eval-sample.pipeline.yaml +35 -0
- package/examples/evals/support-sample.agent.yaml +20 -0
- package/examples/evals/support-sample.dataset.jsonl +6 -0
- package/examples/evals/support-sample.eval.yaml +38 -0
- package/examples/stageflow.yaml +6 -0
- package/package.json +1 -1
- package/skills/stageflow/SKILL.md +5 -2
- package/skills/stageflow/references/control-surface.md +4 -2
- package/skills/stageflow/references/evals.md +68 -0
- package/skills/stageflow-author/SKILL.md +4 -0
- package/skills/stageflow-run/SKILL.md +4 -0
- package/dist/ui/assets/AssistantRuntimeProvider-CsiPFhCT.js +0 -9
- package/dist/ui/assets/chat-BbLukq9W.js +0 -5
- package/dist/ui/assets/chat-zIZU_bP1.css +0 -2
- package/dist/ui/assets/main-CijYMeM0.js +0 -259
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import Database from "better-sqlite3";
|
|
2
|
+
import type { CreateEvalRunInput, EvalCaseInput, EvalCaseRow, EvalGraderVersionInput, EvalResultInput, EvalResultWithGrades, EvalReviewPatch, EvalReviewRow, EvalRunPage, EvalRunProgress, EvalRunRow, FinishEvalRunInput, ListEvalRunsQuery } from "../../evals/storeTypes.js";
|
|
3
|
+
import type { EvalTargetKind } from "../../evals/constants.js";
|
|
2
4
|
import type { StageEnvelope } from "../../types/envelope.js";
|
|
3
5
|
import type { StageLogLine } from "../../agent/activity.js";
|
|
4
6
|
import { type CreateFeedbackLoopInput, type CreateFeedbackReplayInput, type CreateFeedbackReplayStagePassInput, type CreateForkGenerationInput, type CreateRunInput, type CreatedRun, type FeedbackLoopPatch, type FeedbackLoopRecord, type FeedbackLoopState, type FeedbackReplayPatch, type FeedbackReplayRecord, type FeedbackReplayStagePassPatch, type FeedbackReplayStagePassRecord, type ForkGenerationPatch, type ForkGenerationRecord, type ListRunsFilter, type RunDetail, type RunMeta, type RunPipelineDagSnapshot, type RunStatus, type RunStore, type RunSummary, type StageExecution, type StageExecutionPatch, type StageLogEvent, type TriggerRecord, type UpsertTriggerInput, type VerificationCheckResult, type VerificationCheckResultPatch, type ConfigOriginRecord } from "../port.js";
|
|
7
|
+
import type { SuggestionStatus } from "../../evals/triage/constants.js";
|
|
8
|
+
import type { SuggestionInput, SuggestionRow } from "../../evals/triage/types.js";
|
|
5
9
|
import type { OverviewRunRow } from "../overviewSummary.js";
|
|
6
10
|
import { type RunSubmissionRecord } from "../submission.js";
|
|
7
11
|
type SqliteRunStoreOpenerMode = "assert" | "migrate";
|
|
@@ -78,6 +82,30 @@ export declare class SqliteRunStore implements RunStore {
|
|
|
78
82
|
listStageEvents(runId: string, stageId: string, attempt?: number): Promise<StageLogEvent[]>;
|
|
79
83
|
listRuns(filter?: ListRunsFilter): Promise<RunSummary[]>;
|
|
80
84
|
listRunOverviewRows(since: string): Promise<OverviewRunRow[]>;
|
|
85
|
+
createEvalRun(input: CreateEvalRunInput): Promise<EvalRunRow>;
|
|
86
|
+
insertEvalCases(evalRunId: string, cases: EvalCaseInput[]): Promise<void>;
|
|
87
|
+
upsertEvalResult(result: EvalResultInput): Promise<void>;
|
|
88
|
+
updateEvalRunProgress(evalRunId: string, progress: EvalRunProgress): Promise<void>;
|
|
89
|
+
finishEvalRun(evalRunId: string, input: FinishEvalRunInput): Promise<void>;
|
|
90
|
+
getEvalRun(evalRunId: string): Promise<EvalRunRow | null>;
|
|
91
|
+
getEvalRunByNumber(projectRoot: string, evalId: string, runNumber: number): Promise<EvalRunRow | null>;
|
|
92
|
+
listEvalRuns(query: ListEvalRunsQuery): Promise<EvalRunPage>;
|
|
93
|
+
listEvalResults(evalRunId: string): Promise<EvalResultWithGrades[]>;
|
|
94
|
+
getEvalResultsForCase(evalRunId: string, caseId: string): Promise<EvalResultWithGrades[]>;
|
|
95
|
+
getEvalCases(evalRunId: string): Promise<EvalCaseRow[]>;
|
|
96
|
+
putEvalReview(evalRunId: string, caseId: string, repeatIndex: number, patch: EvalReviewPatch): Promise<EvalReviewRow>;
|
|
97
|
+
getEvalReviews(evalRunId: string): Promise<EvalReviewRow[]>;
|
|
98
|
+
listFailureTypes(projectRoot: string, evalId: string): Promise<string[]>;
|
|
99
|
+
recordGraderVersions(projectRoot: string, evalId: string, graders: EvalGraderVersionInput[]): Promise<Record<string, number>>;
|
|
100
|
+
listEvalSubjectRefs(evalRunId: string, targetKind: EvalTargetKind): Promise<string[]>;
|
|
101
|
+
upsertEvalSuggestions(evalRunId: string, inputs: SuggestionInput[]): Promise<SuggestionRow[]>;
|
|
102
|
+
listEvalSuggestions(evalRunId: string, status?: SuggestionStatus): Promise<SuggestionRow[]>;
|
|
103
|
+
dismissEvalSuggestions(evalRunId: string, ids: string[]): Promise<number>;
|
|
104
|
+
acceptEvalSuggestions(evalRunId: string, ids: string[]): Promise<{
|
|
105
|
+
accepted: number;
|
|
106
|
+
tagged: number;
|
|
107
|
+
}>;
|
|
108
|
+
deleteEvalRun(evalRunId: string): Promise<string[]>;
|
|
81
109
|
ensureProject(absPath: string): Promise<string>;
|
|
82
110
|
listRegisteredProjects(): Promise<string[]>;
|
|
83
111
|
upsertTrigger(input: UpsertTriggerInput): Promise<TriggerRecord>;
|
|
@@ -9,6 +9,8 @@ import { parsePipelineDagSnapshot } from "../pipelineDagSnapshot.js";
|
|
|
9
9
|
import { newRunId, runWorkspaceDir } from "../paths.js";
|
|
10
10
|
import { attemptAgentDir, attemptArtifactsDir, stageDir, } from "../workspaceLayout.js";
|
|
11
11
|
import { importDiskRunsIfEmpty } from "./migrateFromDisk.js";
|
|
12
|
+
import * as evalStore from "./evalStore.js";
|
|
13
|
+
import * as suggestionStore from "./suggestionStore.js";
|
|
12
14
|
import { applyPendingMigrations, assertSchemaVersion, } from "./migrations/index.js";
|
|
13
15
|
import { StoreSchemaError } from "./storeSchemaError.js";
|
|
14
16
|
import { applyStorePragmas } from "./applyStorePragmas.js";
|
|
@@ -220,9 +222,9 @@ export class SqliteRunStore {
|
|
|
220
222
|
}
|
|
221
223
|
const inserted = this.db
|
|
222
224
|
.prepare(`INSERT INTO runs
|
|
223
|
-
(run_id, pipeline_id, task_id, task_yaml, status, created_at, updated_at, checkout_root, pipeline_dag_json, git_sha, ci_pr_url, ci_job_url, pipeline_path, task_path, project_root, repository, ref, resolved_sha, run_branch, git_author_name, git_author_email, pipeline_source, pipeline_body, caller_id, run_manifest, skip_gates, dispatch_key)
|
|
225
|
+
(run_id, pipeline_id, task_id, task_yaml, status, created_at, updated_at, checkout_root, pipeline_dag_json, git_sha, ci_pr_url, ci_job_url, pipeline_path, task_path, project_root, repository, ref, resolved_sha, run_branch, git_author_name, git_author_email, pipeline_source, pipeline_body, caller_id, origin, run_manifest, skip_gates, dispatch_key)
|
|
224
226
|
VALUES
|
|
225
|
-
(@run_id, @pipeline_id, @task_id, @task_yaml, @status, @created_at, @updated_at, @checkout_root, @pipeline_dag_json, @git_sha, @ci_pr_url, @ci_job_url, @pipeline_path, @task_path, @project_root, @repository, @ref, @resolved_sha, @run_branch, @git_author_name, @git_author_email, @pipeline_source, @pipeline_body, @caller_id, @run_manifest, @skip_gates, @dispatch_key)
|
|
227
|
+
(@run_id, @pipeline_id, @task_id, @task_yaml, @status, @created_at, @updated_at, @checkout_root, @pipeline_dag_json, @git_sha, @ci_pr_url, @ci_job_url, @pipeline_path, @task_path, @project_root, @repository, @ref, @resolved_sha, @run_branch, @git_author_name, @git_author_email, @pipeline_source, @pipeline_body, @caller_id, @origin, @run_manifest, @skip_gates, @dispatch_key)
|
|
226
228
|
ON CONFLICT(dispatch_key) DO NOTHING`)
|
|
227
229
|
.run({
|
|
228
230
|
run_id: runId,
|
|
@@ -252,6 +254,7 @@ export class SqliteRunStore {
|
|
|
252
254
|
pipeline_source: pipelineSource,
|
|
253
255
|
pipeline_body: pipelineBody,
|
|
254
256
|
caller_id: input.callerId ?? null,
|
|
257
|
+
origin: input.origin ?? null,
|
|
255
258
|
run_manifest: input.runManifest !== undefined
|
|
256
259
|
? JSON.stringify(input.runManifest)
|
|
257
260
|
: null,
|
|
@@ -854,9 +857,15 @@ export class SqliteRunStore {
|
|
|
854
857
|
clauses.push("caller_id = ?");
|
|
855
858
|
params.push(filter.caller_id);
|
|
856
859
|
}
|
|
860
|
+
if (filter?.origin === "eval") {
|
|
861
|
+
clauses.push("origin = 'eval'");
|
|
862
|
+
}
|
|
863
|
+
else if (filter?.origin !== "any") {
|
|
864
|
+
clauses.push("origin IS NOT 'eval'");
|
|
865
|
+
}
|
|
857
866
|
const where = clauses.length > 0 ? `WHERE ${clauses.join(" AND ")}` : "";
|
|
858
867
|
const rows = this.db
|
|
859
|
-
.prepare(`SELECT run_id, pipeline_id, task_id, task_yaml, status, created_at, updated_at, checkout_root, pipeline_dag_json, git_sha, ci_pr_url, ci_job_url, pipeline_path, task_path, project_root, repository, ref, resolved_sha, run_branch, git_author_name, git_author_email, cancel_reason, finished_at, slimmed_at, disk_bytes, disk_measured_at, config_origins_json, pipeline_source, pipeline_body, caller_id, run_manifest, skip_gates
|
|
868
|
+
.prepare(`SELECT run_id, pipeline_id, task_id, task_yaml, status, created_at, updated_at, checkout_root, pipeline_dag_json, git_sha, ci_pr_url, ci_job_url, pipeline_path, task_path, project_root, repository, ref, resolved_sha, run_branch, git_author_name, git_author_email, cancel_reason, finished_at, slimmed_at, disk_bytes, disk_measured_at, config_origins_json, pipeline_source, pipeline_body, caller_id, origin, run_manifest, skip_gates
|
|
860
869
|
FROM runs ${where} ORDER BY created_at DESC`)
|
|
861
870
|
.all(...params);
|
|
862
871
|
const summaries = [];
|
|
@@ -876,7 +885,7 @@ export class SqliteRunStore {
|
|
|
876
885
|
.prepare(`SELECT r.run_id, r.pipeline_id, r.status, r.created_at, r.finished_at,
|
|
877
886
|
(SELECT SUM(e.cost_usd) FROM stage_executions e WHERE e.run_id = r.run_id) AS cost_usd
|
|
878
887
|
FROM runs r
|
|
879
|
-
WHERE r.created_at >= ?
|
|
888
|
+
WHERE r.created_at >= ? AND r.origin IS NOT 'eval'
|
|
880
889
|
ORDER BY r.created_at DESC`)
|
|
881
890
|
.all(since);
|
|
882
891
|
return rows.map((row) => ({
|
|
@@ -888,6 +897,90 @@ export class SqliteRunStore {
|
|
|
888
897
|
...(row.cost_usd != null ? { cost_usd: row.cost_usd } : {}),
|
|
889
898
|
}));
|
|
890
899
|
}
|
|
900
|
+
async createEvalRun(input) {
|
|
901
|
+
await this.ready();
|
|
902
|
+
return evalStore.createEvalRun(this.db, input);
|
|
903
|
+
}
|
|
904
|
+
async insertEvalCases(evalRunId, cases) {
|
|
905
|
+
await this.ready();
|
|
906
|
+
evalStore.insertEvalCases(this.db, evalRunId, cases);
|
|
907
|
+
}
|
|
908
|
+
async upsertEvalResult(result) {
|
|
909
|
+
await this.ready();
|
|
910
|
+
evalStore.upsertEvalResult(this.db, result);
|
|
911
|
+
}
|
|
912
|
+
async updateEvalRunProgress(evalRunId, progress) {
|
|
913
|
+
await this.ready();
|
|
914
|
+
evalStore.updateEvalRunProgress(this.db, evalRunId, progress);
|
|
915
|
+
}
|
|
916
|
+
async finishEvalRun(evalRunId, input) {
|
|
917
|
+
await this.ready();
|
|
918
|
+
evalStore.finishEvalRun(this.db, evalRunId, input);
|
|
919
|
+
}
|
|
920
|
+
async getEvalRun(evalRunId) {
|
|
921
|
+
await this.ready();
|
|
922
|
+
return evalStore.getEvalRun(this.db, evalRunId);
|
|
923
|
+
}
|
|
924
|
+
async getEvalRunByNumber(projectRoot, evalId, runNumber) {
|
|
925
|
+
await this.ready();
|
|
926
|
+
return evalStore.getEvalRunByNumber(this.db, projectRoot, evalId, runNumber);
|
|
927
|
+
}
|
|
928
|
+
async listEvalRuns(query) {
|
|
929
|
+
await this.ready();
|
|
930
|
+
return evalStore.listEvalRuns(this.db, query);
|
|
931
|
+
}
|
|
932
|
+
async listEvalResults(evalRunId) {
|
|
933
|
+
await this.ready();
|
|
934
|
+
return evalStore.listEvalResults(this.db, evalRunId);
|
|
935
|
+
}
|
|
936
|
+
async getEvalResultsForCase(evalRunId, caseId) {
|
|
937
|
+
await this.ready();
|
|
938
|
+
return evalStore.getEvalResultsForCase(this.db, evalRunId, caseId);
|
|
939
|
+
}
|
|
940
|
+
async getEvalCases(evalRunId) {
|
|
941
|
+
await this.ready();
|
|
942
|
+
return evalStore.getEvalCases(this.db, evalRunId);
|
|
943
|
+
}
|
|
944
|
+
async putEvalReview(evalRunId, caseId, repeatIndex, patch) {
|
|
945
|
+
await this.ready();
|
|
946
|
+
return evalStore.putEvalReview(this.db, evalRunId, caseId, repeatIndex, patch);
|
|
947
|
+
}
|
|
948
|
+
async getEvalReviews(evalRunId) {
|
|
949
|
+
await this.ready();
|
|
950
|
+
return evalStore.getEvalReviews(this.db, evalRunId);
|
|
951
|
+
}
|
|
952
|
+
async listFailureTypes(projectRoot, evalId) {
|
|
953
|
+
await this.ready();
|
|
954
|
+
return evalStore.listFailureTypes(this.db, projectRoot, evalId);
|
|
955
|
+
}
|
|
956
|
+
async recordGraderVersions(projectRoot, evalId, graders) {
|
|
957
|
+
await this.ready();
|
|
958
|
+
return evalStore.recordGraderVersions(this.db, projectRoot, evalId, graders);
|
|
959
|
+
}
|
|
960
|
+
async listEvalSubjectRefs(evalRunId, targetKind) {
|
|
961
|
+
await this.ready();
|
|
962
|
+
return evalStore.listEvalSubjectRefs(this.db, evalRunId, targetKind);
|
|
963
|
+
}
|
|
964
|
+
async upsertEvalSuggestions(evalRunId, inputs) {
|
|
965
|
+
await this.ready();
|
|
966
|
+
return suggestionStore.upsertEvalSuggestions(this.db, evalRunId, inputs);
|
|
967
|
+
}
|
|
968
|
+
async listEvalSuggestions(evalRunId, status) {
|
|
969
|
+
await this.ready();
|
|
970
|
+
return suggestionStore.listEvalSuggestions(this.db, evalRunId, status);
|
|
971
|
+
}
|
|
972
|
+
async dismissEvalSuggestions(evalRunId, ids) {
|
|
973
|
+
await this.ready();
|
|
974
|
+
return suggestionStore.dismissEvalSuggestions(this.db, evalRunId, ids);
|
|
975
|
+
}
|
|
976
|
+
async acceptEvalSuggestions(evalRunId, ids) {
|
|
977
|
+
await this.ready();
|
|
978
|
+
return suggestionStore.acceptEvalSuggestions(this.db, evalRunId, ids);
|
|
979
|
+
}
|
|
980
|
+
async deleteEvalRun(evalRunId) {
|
|
981
|
+
await this.ready();
|
|
982
|
+
return evalStore.deleteEvalRun(this.db, evalRunId);
|
|
983
|
+
}
|
|
891
984
|
async ensureProject(absPath) {
|
|
892
985
|
await this.ready();
|
|
893
986
|
const resolved = path.resolve(absPath);
|
|
@@ -1450,6 +1543,7 @@ export class SqliteRunStore {
|
|
|
1450
1543
|
? { pipeline_source: row.pipeline_source }
|
|
1451
1544
|
: {}),
|
|
1452
1545
|
...(row.caller_id != null ? { caller_id: row.caller_id } : {}),
|
|
1546
|
+
...(row.origin === "eval" ? { origin: "eval" } : {}),
|
|
1453
1547
|
...(row.run_manifest
|
|
1454
1548
|
? { run_manifest: JSON.parse(row.run_manifest) }
|
|
1455
1549
|
: {}),
|
|
@@ -1464,7 +1558,7 @@ export class SqliteRunStore {
|
|
|
1464
1558
|
}
|
|
1465
1559
|
getRunRow(runId) {
|
|
1466
1560
|
const row = this.db
|
|
1467
|
-
.prepare(`SELECT run_id, pipeline_id, task_id, task_yaml, status, created_at, updated_at, checkout_root, pipeline_dag_json, git_sha, ci_pr_url, ci_job_url, pipeline_path, task_path, project_root, repository, ref, resolved_sha, run_branch, git_author_name, git_author_email, cancel_reason, finished_at, slimmed_at, disk_bytes, disk_measured_at, config_origins_json, pipeline_source, pipeline_body, caller_id, run_manifest, skip_gates
|
|
1561
|
+
.prepare(`SELECT run_id, pipeline_id, task_id, task_yaml, status, created_at, updated_at, checkout_root, pipeline_dag_json, git_sha, ci_pr_url, ci_job_url, pipeline_path, task_path, project_root, repository, ref, resolved_sha, run_branch, git_author_name, git_author_email, cancel_reason, finished_at, slimmed_at, disk_bytes, disk_measured_at, config_origins_json, pipeline_source, pipeline_body, caller_id, origin, run_manifest, skip_gates
|
|
1468
1562
|
FROM runs WHERE run_id = ?`)
|
|
1469
1563
|
.get(runId);
|
|
1470
1564
|
if (!row)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type Database from "better-sqlite3";
|
|
2
|
+
import { type EvalTargetKind } from "../../evals/constants.js";
|
|
3
|
+
import type { CreateEvalRunInput, EvalCaseInput, EvalCaseRow, EvalGraderVersionInput, EvalResultInput, EvalResultWithGrades, EvalReviewPatch, EvalReviewRow, EvalRunPage, EvalRunProgress, EvalRunRow, FinishEvalRunInput, ListEvalRunsQuery } from "../../evals/storeTypes.js";
|
|
4
|
+
export declare function createEvalRun(db: Database.Database, input: CreateEvalRunInput): EvalRunRow;
|
|
5
|
+
export declare function insertEvalCases(db: Database.Database, evalRunId: string, cases: EvalCaseInput[]): void;
|
|
6
|
+
export declare function upsertEvalResult(db: Database.Database, input: EvalResultInput): void;
|
|
7
|
+
export declare function updateEvalRunProgress(db: Database.Database, evalRunId: string, progress: EvalRunProgress): void;
|
|
8
|
+
export declare function finishEvalRun(db: Database.Database, evalRunId: string, input: FinishEvalRunInput): void;
|
|
9
|
+
export declare function getEvalRun(db: Database.Database, evalRunId: string): EvalRunRow | null;
|
|
10
|
+
export declare function getEvalRunByNumber(db: Database.Database, projectRoot: string, evalId: string, runNumber: number): EvalRunRow | null;
|
|
11
|
+
export declare function listEvalRuns(db: Database.Database, query: ListEvalRunsQuery): EvalRunPage;
|
|
12
|
+
export declare function listEvalResults(db: Database.Database, evalRunId: string): EvalResultWithGrades[];
|
|
13
|
+
export declare function getEvalResultsForCase(db: Database.Database, evalRunId: string, caseId: string): EvalResultWithGrades[];
|
|
14
|
+
export declare function getEvalCases(db: Database.Database, evalRunId: string): EvalCaseRow[];
|
|
15
|
+
export declare function putEvalReview(db: Database.Database, evalRunId: string, caseId: string, repeatIndex: number, patch: EvalReviewPatch): EvalReviewRow;
|
|
16
|
+
export declare function getEvalReviews(db: Database.Database, evalRunId: string): EvalReviewRow[];
|
|
17
|
+
export declare function listFailureTypes(db: Database.Database, projectRoot: string, evalId: string): string[];
|
|
18
|
+
export declare function recordGraderVersions(db: Database.Database, projectRoot: string, evalId: string, graders: EvalGraderVersionInput[]): Record<string, number>;
|
|
19
|
+
export declare function listEvalSubjectRefs(db: Database.Database, evalRunId: string, targetKind: EvalTargetKind): string[];
|
|
20
|
+
export declare function deleteEvalRun(db: Database.Database, evalRunId: string): string[];
|