niceeval 0.16.3-canary.99 → 0.17.1
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/cli/bootstrap.cjs +7 -1
- package/dist/cli/bootstrap.cjs.map +1 -1
- package/dist/cli/project-configuration.cjs +8 -11
- package/dist/cli/project-configuration.cjs.map +1 -1
- package/dist/expect/index.cjs.map +1 -1
- package/dist/expect/index.d.cts +2 -1
- package/dist/expect/index.d.mts +2 -1
- package/dist/expect/index.d.ts +2 -1
- package/dist/experiment/host/cli/contribution.cjs +6 -11
- package/dist/experiment/host/cli/contribution.cjs.map +1 -1
- package/dist/experiment/host/cli/contribution.d.cts +0 -16
- package/dist/experiment/host/cli/contribution.d.mts +0 -16
- package/dist/experiment/host/cli/contribution.d.ts +0 -16
- package/dist/experiment/host/operations.cjs +3 -3
- package/dist/experiment/host/operations.cjs.map +1 -1
- package/dist/experiment/host/types.cjs.map +1 -1
- package/dist/experiment/host/types.d.cts +0 -4
- package/dist/experiment/host/types.d.mts +0 -4
- package/dist/experiment/host/types.d.ts +0 -4
- package/dist/fresh-import.cjs +2 -2
- package/dist/fresh-import.cjs.map +1 -1
- package/dist/fresh-import.d.cts +3 -3
- package/dist/fresh-import.d.mts +3 -3
- package/dist/fresh-import.d.ts +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/inspection/codec.cjs.map +1 -1
- package/dist/inspection/codec.d.cts +1 -1
- package/dist/inspection/codec.d.mts +1 -1
- package/dist/inspection/codec.d.ts +1 -1
- package/dist/inspection/facts.cjs +66 -9
- package/dist/inspection/facts.cjs.map +1 -1
- package/dist/inspection/facts.d.cts +4 -0
- package/dist/inspection/facts.d.mts +4 -0
- package/dist/inspection/facts.d.ts +4 -0
- package/dist/inspection/facts.js +4 -2
- package/dist/inspection/index.cjs +1 -3
- package/dist/inspection/index.cjs.map +1 -1
- package/dist/inspection/index.d.cts +1 -1
- package/dist/inspection/index.d.mts +1 -1
- package/dist/inspection/index.d.ts +1 -1
- package/dist/inspection/index.js +44 -48
- package/dist/inspection/limits.cjs +3 -1
- package/dist/inspection/limits.cjs.map +1 -1
- package/dist/inspection/limits.d.cts +2 -0
- package/dist/inspection/limits.d.mts +2 -0
- package/dist/inspection/limits.d.ts +2 -0
- package/dist/inspection/limits.js +6 -4
- package/dist/inspection/project-source.cjs +4 -1
- package/dist/inspection/project-source.cjs.map +1 -1
- package/dist/inspection/protocol.cjs +10 -18
- package/dist/inspection/protocol.cjs.map +1 -1
- package/dist/inspection/protocol.d.cts +111 -173
- package/dist/inspection/protocol.d.mts +111 -173
- package/dist/inspection/protocol.d.ts +111 -173
- package/dist/inspection/public.mjs +73 -109
- package/dist/inspection/results.cjs +12 -48
- package/dist/inspection/results.cjs.map +1 -1
- package/dist/inspection/results.d.cts +124 -122
- package/dist/inspection/results.d.mts +124 -122
- package/dist/inspection/results.d.ts +124 -122
- package/dist/inspection/results.js +16 -20
- package/dist/inspection/select.cjs +80 -117
- package/dist/inspection/select.cjs.map +1 -1
- package/dist/inspection/source.cjs +14 -15
- package/dist/inspection/source.cjs.map +1 -1
- package/dist/inspection/source.d.cts +6 -3
- package/dist/inspection/source.d.mts +6 -3
- package/dist/inspection/source.d.ts +6 -3
- package/dist/inspection/trace.cjs +1 -1
- package/dist/inspection/trace.cjs.map +1 -1
- package/dist/load-config.cjs +17 -11
- package/dist/load-config.cjs.map +1 -1
- package/dist/load-config.d.cts +3 -2
- package/dist/load-config.d.mts +3 -2
- package/dist/load-config.d.ts +3 -2
- package/dist/o11y/adapter-usage-projection.cjs +5 -1
- package/dist/o11y/adapter-usage-projection.cjs.map +1 -1
- package/dist/o11y/adapter-usage-projection.d.cts +109 -1
- package/dist/o11y/adapter-usage-projection.d.mts +109 -1
- package/dist/o11y/adapter-usage-projection.d.ts +109 -1
- package/dist/o11y/cache-read.cjs +113 -0
- package/dist/o11y/cache-read.cjs.map +1 -0
- package/dist/o11y/cache-read.d.cts +80 -0
- package/dist/o11y/cache-read.d.mts +80 -0
- package/dist/o11y/cache-read.d.ts +80 -0
- package/dist/o11y/cache-read.js +8 -0
- package/dist/o11y/cache-read.js.map +1 -0
- package/dist/o11y/eval-usage.cjs +22 -1
- package/dist/o11y/eval-usage.cjs.map +1 -1
- package/dist/o11y/eval-usage.d.cts +9 -1
- package/dist/o11y/eval-usage.d.mts +9 -1
- package/dist/o11y/eval-usage.d.ts +9 -1
- package/dist/record/host/sqlite-host.cjs +188 -53
- package/dist/record/host/sqlite-host.cjs.map +1 -1
- package/dist/record/host/sqlite-host.d.cts +37 -1
- package/dist/record/host/sqlite-host.d.mts +37 -1
- package/dist/record/host/sqlite-host.d.ts +37 -1
- package/dist/record/host/sqlite-host.js +16 -8
- package/dist/record/maintenance/runtime.cjs +3 -3
- package/dist/record/maintenance/runtime.cjs.map +1 -1
- package/dist/record/sqlite/admission-repository.cjs +18 -18
- package/dist/record/sqlite/admission-repository.cjs.map +1 -1
- package/dist/record/sqlite/case-repository.cjs +6 -6
- package/dist/record/sqlite/case-repository.cjs.map +1 -1
- package/dist/record/sqlite/coordination-repository.cjs +25 -25
- package/dist/record/sqlite/coordination-repository.cjs.map +1 -1
- package/dist/record/sqlite/current-schema.cjs +115 -111
- package/dist/record/sqlite/current-schema.cjs.map +1 -1
- package/dist/record/sqlite/current-schema.d.cts +3 -3
- package/dist/record/sqlite/current-schema.d.mts +3 -3
- package/dist/record/sqlite/current-schema.d.ts +3 -3
- package/dist/record/sqlite/database.cjs +56 -53
- package/dist/record/sqlite/database.cjs.map +1 -1
- package/dist/record/sqlite/index.cjs +3 -1
- package/dist/record/sqlite/index.cjs.map +1 -1
- package/dist/record/sqlite/index.d.cts +5 -2
- package/dist/record/sqlite/index.d.mts +5 -2
- package/dist/record/sqlite/index.d.ts +5 -2
- package/dist/record/sqlite/legacy-schema-018.cjs +443 -0
- package/dist/record/sqlite/legacy-schema-018.cjs.map +1 -0
- package/dist/record/sqlite/legacy-schema-018.d.cts +6 -0
- package/dist/record/sqlite/legacy-schema-018.d.mts +6 -0
- package/dist/record/sqlite/legacy-schema-018.d.ts +6 -0
- package/dist/record/sqlite/legacy-schema-018.js +6 -0
- package/dist/record/sqlite/legacy-schema-018.js.map +1 -0
- package/dist/record/sqlite/migration.cjs +105 -46
- package/dist/record/sqlite/migration.cjs.map +1 -1
- package/dist/record/sqlite/migration.d.cts +2 -1
- package/dist/record/sqlite/migration.d.mts +2 -1
- package/dist/record/sqlite/migration.d.ts +2 -1
- package/dist/record/sqlite/portable-capture.cjs +13 -13
- package/dist/record/sqlite/portable-capture.cjs.map +1 -1
- package/dist/record/sqlite/registry-repository.cjs +22 -22
- package/dist/record/sqlite/registry-repository.cjs.map +1 -1
- package/dist/record/sqlite/schema.cjs +10 -2
- package/dist/record/sqlite/schema.cjs.map +1 -1
- package/dist/record/sqlite/schema.d.cts +4 -1
- package/dist/record/sqlite/schema.d.mts +4 -1
- package/dist/record/sqlite/schema.d.ts +4 -1
- package/dist/record/sqlite/schema.js +20 -14
- package/dist/record/sqlite/storage-worker.cjs +1 -1
- package/dist/record/sqlite/storage-worker.cjs.map +1 -1
- package/dist/record/sqlite/storage.cjs +316 -232
- package/dist/record/sqlite/storage.cjs.map +1 -1
- package/dist/record/sqlite/storage.d.cts +10 -2
- package/dist/record/sqlite/storage.d.mts +10 -2
- package/dist/record/sqlite/storage.d.ts +10 -2
- package/dist/record/sqlite/storage.js +54 -50
- package/dist/record/sqlite/types.cjs +1 -1
- package/dist/record/sqlite/types.cjs.map +1 -1
- package/dist/record/sqlite/types.d.cts +13 -1
- package/dist/record/sqlite/types.d.mts +13 -1
- package/dist/record/sqlite/types.d.ts +13 -1
- package/dist/run/cli/contribution.cjs +17 -12
- package/dist/run/cli/contribution.cjs.map +1 -1
- package/dist/run/host/lifecycle-adapter.cjs +1 -1
- package/dist/run/host/lifecycle-adapter.cjs.map +1 -1
- package/dist/run/storage/owner-identity.cjs +78 -16
- package/dist/run/storage/owner-identity.cjs.map +1 -1
- package/dist/run/storage/owner-identity.d.cts +2 -1
- package/dist/run/storage/owner-identity.d.mts +2 -1
- package/dist/run/storage/owner-identity.d.ts +2 -1
- package/dist/run/storage/sqlite.cjs +55 -55
- package/dist/run/storage/sqlite.cjs.map +1 -1
- package/dist/runner/accept.cjs +12 -42
- package/dist/runner/accept.cjs.map +1 -1
- package/dist/runner/accept.d.cts +2 -3
- package/dist/runner/accept.d.mts +2 -3
- package/dist/runner/accept.d.ts +2 -3
- package/dist/runner/adapter-usage.cjs +2 -2
- package/dist/runner/adapter-usage.cjs.map +1 -1
- package/dist/runner/adoption.cjs +14 -26
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/adoption.d.cts +5 -13
- package/dist/runner/adoption.d.mts +5 -13
- package/dist/runner/adoption.d.ts +5 -13
- package/dist/runner/adoption.js +2 -4
- package/dist/runner/record.cjs +24 -18
- package/dist/runner/record.cjs.map +1 -1
- package/dist/runner/rename-experiment.cjs +5 -7
- package/dist/runner/rename-experiment.cjs.map +1 -1
- package/dist/runner/reuse-plan.cjs +37 -18
- package/dist/runner/reuse-plan.cjs.map +1 -1
- package/dist/runner/reuse-plan.d.cts +4 -1
- package/dist/runner/reuse-plan.d.mts +4 -1
- package/dist/runner/reuse-plan.d.ts +4 -1
- package/dist/runner/setup-prefix-plan.cjs +17 -12
- package/dist/runner/setup-prefix-plan.cjs.map +1 -1
- package/dist/runner/setup-prefix-plan.d.cts +0 -2
- package/dist/runner/setup-prefix-plan.d.mts +0 -2
- package/dist/runner/setup-prefix-plan.d.ts +0 -2
- package/dist/runner/setup-prefix-plan.js +8 -12
- package/dist/sandbox/backend.cjs +10 -1
- package/dist/sandbox/backend.cjs.map +1 -1
- package/dist/sandbox/backend.d.cts +16 -8
- package/dist/sandbox/backend.d.mts +16 -8
- package/dist/sandbox/backend.d.ts +16 -8
- package/dist/sandbox/backend.js +28 -26
- package/dist/sandbox/docker.cjs +7 -1
- package/dist/sandbox/docker.cjs.map +1 -1
- package/dist/sandbox/e2b-cache-repository.cjs +13 -3
- package/dist/sandbox/e2b-cache-repository.cjs.map +1 -1
- package/dist/sandbox/e2b-cache-repository.d.cts +3 -0
- package/dist/sandbox/e2b-cache-repository.d.mts +3 -0
- package/dist/sandbox/e2b-cache-repository.d.ts +3 -0
- package/dist/sandbox/e2b-cache-repository.js +16 -12
- package/dist/sandbox/e2b.cjs +2 -2
- package/dist/sandbox/e2b.cjs.map +1 -1
- package/dist/sandbox/incus/materialize.cjs +1 -1
- package/dist/sandbox/incus/materialize.cjs.map +1 -1
- package/dist/show/contribution.cjs +3 -3
- package/dist/show/contribution.cjs.map +1 -1
- package/dist/show/model.cjs +14 -13
- package/dist/show/model.cjs.map +1 -1
- package/dist/show/model.d.cts +7 -7
- package/dist/show/model.d.mts +7 -7
- package/dist/show/model.d.ts +7 -7
- package/dist/show/render.cjs +14 -0
- package/dist/show/render.cjs.map +1 -1
- package/dist/user-database/storage-worker.cjs +13 -3
- package/dist/user-database/storage-worker.cjs.map +1 -1
- package/dist/view/app-dist/.vite/manifest.json +2 -2
- package/dist/view/app-dist/assets/{index-CmVoXbwG.js → index-B3ijZRph.js} +17 -17
- package/dist/view/app-dist/assets/{quality-cost-scatter-BuLISaH4.js → quality-cost-scatter-B--DfJ9s.js} +1 -1
- package/dist/view/app-dist/index.html +1 -1
- package/dist/view/application-runtime.cjs +8 -0
- package/dist/view/application-runtime.cjs.map +1 -0
- package/dist/view/application-runtime.d.cts +9 -0
- package/dist/view/application-runtime.d.mts +9 -0
- package/dist/view/application-runtime.d.ts +9 -0
- package/dist/view/application-runtime.js +6 -0
- package/dist/view/application-runtime.js.map +1 -0
- package/dist/view/cli/contribution.cjs +5 -2
- package/dist/view/cli/contribution.cjs.map +1 -1
- package/dist/view/cli/contribution.d.cts +2 -1
- package/dist/view/cli/contribution.d.mts +2 -1
- package/dist/view/cli/contribution.d.ts +2 -1
- package/dist/view/function-runtime.mjs +1019 -456
- package/dist/view/http-protocol.d.cts +1 -9
- package/dist/view/http-protocol.d.mts +1 -9
- package/dist/view/http-protocol.d.ts +1 -9
- package/dist/view/inspection-host.cjs +39 -30
- package/dist/view/inspection-host.cjs.map +1 -1
- package/dist/view/inspection-host.d.cts +7545 -2
- package/dist/view/inspection-host.d.mts +7545 -2
- package/dist/view/inspection-host.d.ts +7545 -2
- package/dist/view/server.cjs +8 -5
- package/dist/view/server.cjs.map +1 -1
- package/dist/view/server.d.cts +4 -2
- package/dist/view/server.d.mts +4 -2
- package/dist/view/server.d.ts +4 -2
- package/docs-site/zh/reference/cli.mdx +1 -2
- package/docs-site/zh/tutorials/control-run-cost.mdx +61 -0
- package/docs-site/zh/tutorials/niceeval-taste-application.mdx +21 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rename-experiment.js","sourceRoot":"","sources":["rename-experiment.ts"],"names":[],"mappings":"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","sourcesContent":["/** Explicit whole-Run adoption into a current Experiment, preserving exact origins. */\nimport { Effect, Result } from \"effect\";\nimport type { SandboxPlanningServices } from \"../sandbox/plan.ts\";\nimport { type AdoptionProject, type AdoptionProjectInput, ExplicitAdoptionError, type ExplicitAdoptionFailureCode, type ExplicitAdoptionReadError, type ExplicitAdoptionRunPlan, type ExplicitAdoptionRunReceipt, type RenameAdoptionPreflight, adoptionRecordRoot, adoptionStartedAt, buildExplicitAdoptionRunPlan, commitExplicitAdoptionRunPlans, createExplicitAdoptionInvocationId, loadAdoptionProject, prepareCurrentAdoptionTarget, prepareWholeRunAdoptionMembers, resolveExactAdoptionSourceRun, withAdoptionReader, } from \"./adoption.ts\";\nimport type { Config, DiscoveredEval, DiscoveredExperiment } from \"./types.ts\";\nexport type ExperimentRenameReason = ExplicitAdoptionFailureCode;\nexport interface ExperimentRenameOptions {\n readonly cwd: string;\n readonly sourceRunId: string;\n readonly newId: string;\n readonly config?: Config;\n readonly evals?: readonly DiscoveredEval[];\n readonly experiments?: readonly DiscoveredExperiment[];\n readonly planningServices?: SandboxPlanningServices;\n readonly now?: () => string | number;\n readonly operatorReason?: string;\n}\nexport interface ExperimentRenameMigration {\n readonly evalId: string;\n readonly attempt: number;\n readonly sourceLocator: string;\n readonly targetExperimentId: string;\n readonly fingerprint: string;\n}\nexport interface ExperimentRenamePlan {\n readonly status: \"plan\";\n readonly sourceRunId: string;\n readonly oldId: string | null;\n readonly newId: string;\n readonly migrations: readonly ExperimentRenameMigration[];\n readonly blocked?: {\n readonly reason: ExperimentRenameReason;\n readonly detail: string;\n };\n}\nexport class ExperimentRenameError extends Error {\n readonly name = \"ExperimentRenameError\";\n constructor(readonly plan: ExperimentRenamePlan) {\n super(plan.blocked!.detail);\n }\n get reason(): ExperimentRenameReason { return this.plan.blocked!.reason; }\n}\nexport interface RenamedAttemptSourceReceipt {\n readonly experimentId: string;\n readonly locator: string;\n readonly originRunId: string;\n readonly attemptId: string;\n}\nexport interface ExperimentRenameDoneEntry {\n readonly evalId: string;\n readonly attempt: number;\n readonly sourceLocator: string;\n readonly locator: string;\n readonly fingerprint: string;\n readonly verdict: \"passed\" | \"failed\";\n readonly renamedFrom: RenamedAttemptSourceReceipt;\n}\nexport interface RenamedExperiment {\n readonly status: \"done\";\n readonly invocationId: string;\n readonly runId: string;\n readonly sourceRunId: string;\n readonly oldId: string;\n readonly newId: string;\n readonly migrated: readonly ExperimentRenameDoneEntry[];\n}\nexport interface RenamePreflight {\n readonly source: RenameAdoptionPreflight;\n readonly plan: ExplicitAdoptionRunPlan;\n}\nconst explicitError = (code: ExplicitAdoptionFailureCode, message: string) => new ExplicitAdoptionError(code, message);\nfunction projectInput(input: ExperimentRenameOptions): AdoptionProjectInput {\n return {\n cwd: input.cwd,\n ...(input.config === undefined ? {} : { config: input.config }),\n ...(input.evals === undefined ? {} : { evals: input.evals }),\n ...(input.experiments === undefined ? {} : { experiments: input.experiments }),\n ...(input.planningServices === undefined ? {} : { planningServices: input.planningServices }),\n };\n}\nexport function preflightExperimentRename(input: {\n readonly reader: Parameters<typeof resolveExactAdoptionSourceRun>[0][\"reader\"];\n readonly project: AdoptionProject;\n readonly sourceRun: AwaitedSourceRun;\n readonly newId: string;\n readonly startedAt: Parameters<typeof prepareCurrentAdoptionTarget>[0][\"startedAt\"];\n readonly operatorReason?: string;\n}): Effect.Effect<RenamePreflight, ExplicitAdoptionReadError> {\n return Effect.gen(function* () {\n if (input.sourceRun.experimentId === input.newId)\n return yield* Effect.fail(explicitError(\"adoption-source-run-mismatch\", \"Source and target Experiment identities must differ; use niceeval accept --run for the same Experiment.\"));\n const target = yield* prepareCurrentAdoptionTarget({ project: input.project, experimentId: input.newId, startedAt: input.startedAt });\n const source = yield* prepareWholeRunAdoptionMembers({\n intent: \"rename\", reader: input.reader, sourceRun: input.sourceRun, target,\n operatorReason: input.operatorReason ?? `rename ${input.sourceRun.experimentId} -> ${input.newId}`,\n });\n const plan = yield* buildExplicitAdoptionRunPlan({ intent: \"rename\", target, members: source.members.map((entry) => entry.member) });\n return Object.freeze({ source, plan });\n });\n}\ntype AwaitedSourceRun = RenameAdoptionPreflight[\"sourceRun\"];\nfunction blockedPlan(input: ExperimentRenameOptions, oldId: string | null, error: ExplicitAdoptionError): ExperimentRenamePlan {\n return Object.freeze({ status: \"plan\", sourceRunId: input.sourceRunId, oldId, newId: input.newId,\n migrations: Object.freeze([]), blocked: Object.freeze({ reason: error.code, detail: error.message }) });\n}\nfunction prepare(input: ExperimentRenameOptions, reader: Parameters<typeof resolveExactAdoptionSourceRun>[0][\"reader\"], project: AdoptionProject, startedAt: Parameters<typeof prepareCurrentAdoptionTarget>[0][\"startedAt\"]) {\n return Effect.gen(function* () {\n const source = yield* Effect.result(resolveExactAdoptionSourceRun({ reader, sourceRunId: input.sourceRunId }));\n if (Result.isFailure(source)) {\n if (source.failure instanceof ExplicitAdoptionError)\n return yield* Effect.fail(new ExperimentRenameError(blockedPlan(input, null, source.failure)));\n return yield* Effect.fail(source.failure);\n }\n return yield* preflightExperimentRename({ reader, project, sourceRun: source.success, newId: input.newId, startedAt,\n ...(input.operatorReason === undefined ? {} : { operatorReason: input.operatorReason }) }).pipe(Effect.mapError((error) => error instanceof ExplicitAdoptionError ? new ExperimentRenameError(blockedPlan(input, source.success.experimentId, error)) : error));\n });\n}\nexport function planExperimentRename(input: ExperimentRenameOptions) {\n return Effect.gen(function* () {\n const root = yield* adoptionRecordRoot({ cwd: input.cwd });\n const startedAt = yield* adoptionStartedAt(input.now);\n const project = yield* loadAdoptionProject(projectInput(input));\n return yield* withAdoptionReader({ root, use: (reader) => prepare(input, reader, project, startedAt).pipe(Effect.map((preflight): ExperimentRenamePlan => Object.freeze({ status: \"plan\", sourceRunId: input.sourceRunId,\n oldId: preflight.source.sourceRun.experimentId, newId: input.newId,\n migrations: Object.freeze(preflight.source.members.map((entry) => Object.freeze({ evalId: entry.evalId, attempt: entry.attempt,\n sourceLocator: entry.member.locator, targetExperimentId: input.newId, fingerprint: entry.member.target.inputIdentity.value }))),\n })), Effect.catchIf((error): error is ExperimentRenameError => error instanceof ExperimentRenameError, (error) => Effect.succeed(error.plan))) });\n });\n}\nfunction renameMemberReceiptsByLocator(input: {\n readonly preflight: RenamePreflight;\n readonly receipt: ExplicitAdoptionRunReceipt;\n}): Effect.Effect<ReadonlyMap<string, ExplicitAdoptionRunReceipt[\"members\"][number]>, ExplicitAdoptionError> {\n return Effect.gen(function* () {\n const expectedByLocator = new Map<string, RenameAdoptionPreflight[\"members\"][number]>();\n for (const entry of input.preflight.source.members) {\n if (expectedByLocator.has(entry.member.locator)) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename preflight repeated source locator \"${entry.member.locator}\".`));\n }\n expectedByLocator.set(entry.member.locator, entry);\n }\n const receiptsByLocator = new Map<string, ExplicitAdoptionRunReceipt[\"members\"][number]>();\n for (const memberReceipt of input.receipt.members) {\n if (receiptsByLocator.has(memberReceipt.locator)) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename publication returned duplicate receipt locator \"${memberReceipt.locator}\".`));\n }\n receiptsByLocator.set(memberReceipt.locator, memberReceipt);\n }\n for (const [locator, entry] of expectedByLocator) {\n const memberReceipt = receiptsByLocator.get(locator);\n if (memberReceipt === undefined) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename publication omitted receipt for source locator \"${locator}\".`));\n }\n if (memberReceipt.locator !== entry.member.locator\n || memberReceipt.slotId !== entry.member.target.slotId\n || memberReceipt.sourceRunId !== entry.member.source.origin.runId\n || memberReceipt.attemptId !== entry.member.source.attempt.attemptId) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename publication returned mismatched identity provenance for source locator \"${locator}\".`));\n }\n }\n for (const locator of receiptsByLocator.keys()) {\n if (!expectedByLocator.has(locator)) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename publication returned unexpected receipt locator \"${locator}\".`));\n }\n }\n return receiptsByLocator;\n });\n}\nfunction renamedReceipt(input: {\n readonly invocationId: string;\n readonly sourceRunId: string;\n readonly oldId: string;\n readonly newId: string;\n readonly preflight: RenamePreflight;\n readonly receipt: readonly ExplicitAdoptionRunReceipt[];\n}): Effect.Effect<RenamedExperiment, ExplicitAdoptionError> {\n return Effect.gen(function* () {\n const [runReceipt] = input.receipt;\n if (input.receipt.length !== 1 || runReceipt === undefined) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", \"Explicit rename publication did not return exactly one target Run receipt.\"));\n }\n if (runReceipt.experimentId !== input.newId\n || runReceipt.experimentId !== input.preflight.plan.target.experimentId) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", \"Explicit rename publication returned a receipt for the wrong target Experiment.\"));\n }\n const receiptsByLocator = yield* renameMemberReceiptsByLocator({\n preflight: input.preflight,\n receipt: runReceipt,\n });\n const migrated: ExperimentRenameDoneEntry[] = [];\n for (const entry of input.preflight.source.members) {\n const memberReceipt = receiptsByLocator.get(entry.member.locator);\n if (memberReceipt === undefined) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", \"Explicit rename publication omitted one accepted Member receipt.\"));\n }\n migrated.push(Object.freeze({\n evalId: entry.evalId,\n attempt: entry.attempt,\n sourceLocator: entry.member.locator,\n // A reference has no new Attempt; the exact source locator remains it.\n locator: entry.member.locator,\n fingerprint: entry.member.target.inputIdentity.value,\n verdict: entry.member.verdict,\n renamedFrom: Object.freeze({\n experimentId: input.oldId,\n locator: entry.member.locator,\n originRunId: entry.member.source.origin.runId,\n attemptId: entry.member.source.attempt.attemptId,\n }),\n }));\n }\n return Object.freeze({\n status: \"done\" as const,\n invocationId: input.invocationId,\n runId: runReceipt.runId,\n sourceRunId: input.sourceRunId,\n oldId: input.oldId,\n newId: input.newId,\n migrated: Object.freeze(migrated),\n });\n });\n}\n/** A formal invocation evaluates and freezes its target once, then publishes the preflighted membership. */\nexport function renameExperiment(input: ExperimentRenameOptions) {\n return Effect.gen(function* () {\n const root = yield* adoptionRecordRoot({ cwd: input.cwd });\n const startedAt = yield* adoptionStartedAt(input.now);\n const project = yield* loadAdoptionProject(projectInput(input));\n return yield* withAdoptionReader({ root, use: (reader) => Effect.gen(function* () {\n const preflight = yield* prepare(input, reader, project, startedAt);\n const invocationId = yield* createExplicitAdoptionInvocationId();\n const receipt = yield* commitExplicitAdoptionRunPlans(reader, root, invocationId, [preflight.plan]);\n return yield* renamedReceipt({ invocationId, sourceRunId: input.sourceRunId,\n oldId: preflight.source.sourceRun.experimentId, newId: input.newId, preflight, receipt });\n }) });\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"rename-experiment.js","sourceRoot":"","sources":["rename-experiment.ts"],"names":[],"mappings":"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","sourcesContent":["/** Explicit whole-Run adoption into a current Experiment, preserving exact origins. */\nimport { Effect, Result } from \"effect\";\nimport type { SandboxPlanningServices } from \"../sandbox/plan.ts\";\nimport { type AdoptionProject, type AdoptionProjectInput, ExplicitAdoptionError, type ExplicitAdoptionFailureCode, type ExplicitAdoptionReadError, type ExplicitAdoptionRunPlan, type ExplicitAdoptionRunReceipt, type RenameAdoptionPreflight, adoptionRecordRoot, adoptionStartedAt, buildExplicitAdoptionRunPlan, commitExplicitAdoptionRunPlans, createExplicitAdoptionInvocationId, loadAdoptionProject, prepareCurrentAdoptionTarget, prepareWholeRunAdoptionMembers, resolveExactAdoptionSourceRun, withAdoptionReader, } from \"./adoption.ts\";\nimport type { Config, DiscoveredEval, DiscoveredExperiment } from \"./types.ts\";\nexport type ExperimentRenameReason = ExplicitAdoptionFailureCode;\nexport interface ExperimentRenameOptions {\n readonly cwd: string;\n readonly sourceRunId: string;\n readonly newId: string;\n readonly config?: Config;\n readonly evals?: readonly DiscoveredEval[];\n readonly experiments?: readonly DiscoveredExperiment[];\n readonly planningServices?: SandboxPlanningServices;\n readonly now?: () => string | number;\n readonly operatorReason?: string;\n}\nexport interface ExperimentRenameMigration {\n readonly evalId: string;\n readonly attempt: number;\n readonly sourceLocator: string;\n readonly targetExperimentId: string;\n readonly fingerprint: string;\n}\nexport interface ExperimentRenamePlan {\n readonly status: \"plan\";\n readonly sourceRunId: string;\n readonly oldId: string | null;\n readonly newId: string;\n readonly migrations: readonly ExperimentRenameMigration[];\n readonly blocked?: {\n readonly reason: ExperimentRenameReason;\n readonly detail: string;\n };\n}\nexport class ExperimentRenameError extends Error {\n readonly name = \"ExperimentRenameError\";\n constructor(readonly plan: ExperimentRenamePlan) {\n super(plan.blocked!.detail);\n }\n get reason(): ExperimentRenameReason { return this.plan.blocked!.reason; }\n}\nexport interface RenamedAttemptSourceReceipt {\n readonly experimentId: string;\n readonly locator: string;\n readonly originRunId: string;\n readonly attemptId: string;\n}\nexport interface ExperimentRenameDoneEntry {\n readonly evalId: string;\n readonly attempt: number;\n readonly sourceLocator: string;\n readonly locator: string;\n readonly fingerprint: string;\n readonly verdict: \"passed\" | \"failed\";\n readonly renamedFrom: RenamedAttemptSourceReceipt;\n}\nexport interface RenamedExperiment {\n readonly status: \"done\";\n readonly invocationId: string;\n readonly runId: string;\n readonly sourceRunId: string;\n readonly oldId: string;\n readonly newId: string;\n readonly migrated: readonly ExperimentRenameDoneEntry[];\n}\nexport interface RenamePreflight {\n readonly source: RenameAdoptionPreflight;\n readonly plan: ExplicitAdoptionRunPlan;\n}\nconst explicitError = (code: ExplicitAdoptionFailureCode, message: string) => new ExplicitAdoptionError(code, message);\nfunction projectInput(input: ExperimentRenameOptions): AdoptionProjectInput {\n return {\n cwd: input.cwd,\n ...(input.config === undefined ? {} : { config: input.config }),\n ...(input.evals === undefined ? {} : { evals: input.evals }),\n ...(input.experiments === undefined ? {} : { experiments: input.experiments }),\n ...(input.planningServices === undefined ? {} : { planningServices: input.planningServices }),\n };\n}\nexport function preflightExperimentRename(input: {\n readonly reader: Parameters<typeof resolveExactAdoptionSourceRun>[0][\"reader\"];\n readonly project: AdoptionProject;\n readonly sourceRun: AwaitedSourceRun;\n readonly newId: string;\n readonly startedAt: Parameters<typeof prepareCurrentAdoptionTarget>[0][\"startedAt\"];\n readonly operatorReason?: string;\n}): Effect.Effect<RenamePreflight, ExplicitAdoptionReadError> {\n return Effect.gen(function* () {\n if (input.sourceRun.experimentId === input.newId)\n return yield* Effect.fail(explicitError(\"adoption-source-run-mismatch\", \"Source and target Experiment identities must differ; use niceeval accept --run for the same Experiment.\"));\n const target = yield* prepareCurrentAdoptionTarget({ project: input.project, experimentId: input.newId, startedAt: input.startedAt });\n const source = yield* prepareWholeRunAdoptionMembers({\n intent: \"rename\", reader: input.reader, sourceRun: input.sourceRun, target,\n operatorReason: input.operatorReason ?? `rename ${input.sourceRun.experimentId} -> ${input.newId}`,\n });\n const plan = yield* buildExplicitAdoptionRunPlan({ intent: \"rename\", target, members: source.members.map((entry) => entry.member) });\n return Object.freeze({ source, plan });\n });\n}\ntype AwaitedSourceRun = RenameAdoptionPreflight[\"sourceRun\"];\nfunction blockedPlan(input: ExperimentRenameOptions, oldId: string | null, error: ExplicitAdoptionError): ExperimentRenamePlan {\n return Object.freeze({ status: \"plan\", sourceRunId: input.sourceRunId, oldId, newId: input.newId,\n migrations: Object.freeze([]), blocked: Object.freeze({ reason: error.code, detail: error.message }) });\n}\nfunction prepare(input: ExperimentRenameOptions, reader: Parameters<typeof resolveExactAdoptionSourceRun>[0][\"reader\"], project: AdoptionProject, startedAt: Parameters<typeof prepareCurrentAdoptionTarget>[0][\"startedAt\"]) {\n return Effect.gen(function* () {\n const source = yield* Effect.result(resolveExactAdoptionSourceRun({ reader, sourceRunId: input.sourceRunId }));\n if (Result.isFailure(source)) {\n if (source.failure instanceof ExplicitAdoptionError)\n return yield* Effect.fail(new ExperimentRenameError(blockedPlan(input, null, source.failure)));\n return yield* Effect.fail(source.failure);\n }\n return yield* preflightExperimentRename({ reader, project, sourceRun: source.success, newId: input.newId, startedAt,\n ...(input.operatorReason === undefined ? {} : { operatorReason: input.operatorReason }) }).pipe(Effect.mapError((error) => error instanceof ExplicitAdoptionError ? new ExperimentRenameError(blockedPlan(input, source.success.experimentId, error)) : error));\n });\n}\nexport function planExperimentRename(input: ExperimentRenameOptions) {\n return Effect.gen(function* () {\n const root = yield* adoptionRecordRoot({ cwd: input.cwd });\n const startedAt = yield* adoptionStartedAt(input.now);\n const project = yield* loadAdoptionProject(projectInput(input));\n return yield* withAdoptionReader({ root, use: (reader) => prepare(input, reader, project, startedAt).pipe(Effect.map((preflight): ExperimentRenamePlan => Object.freeze({ status: \"plan\", sourceRunId: input.sourceRunId,\n oldId: preflight.source.sourceRun.experimentId, newId: input.newId,\n migrations: Object.freeze(preflight.source.members.map((entry) => Object.freeze({ evalId: entry.evalId, attempt: entry.attempt,\n sourceLocator: entry.member.locator, targetExperimentId: input.newId, fingerprint: entry.member.target.inputIdentity.value }))),\n })), Effect.catchIf((error): error is ExperimentRenameError => error instanceof ExperimentRenameError, (error) => Effect.succeed(error.plan))) });\n });\n}\nfunction renameMemberReceiptsByLocator(input: {\n readonly preflight: RenamePreflight;\n readonly receipt: ExplicitAdoptionRunReceipt;\n}): Effect.Effect<ReadonlyMap<string, ExplicitAdoptionRunReceipt[\"members\"][number]>, ExplicitAdoptionError> {\n return Effect.gen(function* () {\n const expectedByLocator = new Map<string, RenameAdoptionPreflight[\"members\"][number]>();\n for (const entry of input.preflight.source.members) {\n if (expectedByLocator.has(entry.member.locator)) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename preflight repeated source locator \"${entry.member.locator}\".`));\n }\n expectedByLocator.set(entry.member.locator, entry);\n }\n const receiptsByLocator = new Map<string, ExplicitAdoptionRunReceipt[\"members\"][number]>();\n for (const memberReceipt of input.receipt.members) {\n if (receiptsByLocator.has(memberReceipt.locator)) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename publication returned duplicate receipt locator \"${memberReceipt.locator}\".`));\n }\n receiptsByLocator.set(memberReceipt.locator, memberReceipt);\n }\n for (const [locator, entry] of expectedByLocator) {\n const memberReceipt = receiptsByLocator.get(locator);\n if (memberReceipt === undefined) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename publication omitted receipt for source locator \"${locator}\".`));\n }\n if (memberReceipt.locator !== entry.member.locator\n || memberReceipt.slotId !== entry.member.target.slotId\n || memberReceipt.sourceRunId !== entry.member.source.origin.runId\n || memberReceipt.attemptId !== entry.member.source.attempt.attemptId) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename publication returned mismatched identity provenance for source locator \"${locator}\".`));\n }\n }\n for (const locator of receiptsByLocator.keys()) {\n if (!expectedByLocator.has(locator)) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", `Explicit rename publication returned unexpected receipt locator \"${locator}\".`));\n }\n }\n return receiptsByLocator;\n });\n}\nfunction renamedReceipt(input: {\n readonly invocationId: string;\n readonly sourceRunId: string;\n readonly oldId: string;\n readonly newId: string;\n readonly preflight: RenamePreflight;\n readonly receipt: readonly ExplicitAdoptionRunReceipt[];\n}): Effect.Effect<RenamedExperiment, ExplicitAdoptionError> {\n return Effect.gen(function* () {\n const [runReceipt] = input.receipt;\n if (input.receipt.length !== 1 || runReceipt === undefined) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", \"Explicit rename publication did not return exactly one target Run receipt.\"));\n }\n if (runReceipt.experimentId !== input.newId\n || runReceipt.experimentId !== input.preflight.plan.target.experimentId) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", \"Explicit rename publication returned a receipt for the wrong target Experiment.\"));\n }\n const receiptsByLocator = yield* renameMemberReceiptsByLocator({\n preflight: input.preflight,\n receipt: runReceipt,\n });\n const migrated: ExperimentRenameDoneEntry[] = [];\n for (const entry of input.preflight.source.members) {\n const memberReceipt = receiptsByLocator.get(entry.member.locator);\n if (memberReceipt === undefined) {\n return yield* Effect.fail(explicitError(\"adoption-provenance-invalid\", \"Explicit rename publication omitted one accepted Member receipt.\"));\n }\n migrated.push(Object.freeze({\n evalId: entry.evalId,\n attempt: entry.attempt,\n sourceLocator: entry.member.locator,\n // A reference has no new Attempt; the exact source locator remains it.\n locator: entry.member.locator,\n fingerprint: entry.member.target.inputIdentity.value,\n verdict: entry.member.verdict,\n renamedFrom: Object.freeze({\n experimentId: input.oldId,\n locator: entry.member.locator,\n originRunId: entry.member.source.origin.runId,\n attemptId: entry.member.source.attempt.attemptId,\n }),\n }));\n }\n return Object.freeze({\n status: \"done\" as const,\n invocationId: input.invocationId,\n runId: runReceipt.runId,\n sourceRunId: input.sourceRunId,\n oldId: input.oldId,\n newId: input.newId,\n migrated: Object.freeze(migrated),\n });\n });\n}\n/** A formal invocation evaluates and freezes its target once, then publishes the preflighted membership. */\nexport function renameExperiment(input: ExperimentRenameOptions) {\n return Effect.gen(function* () {\n const root = yield* adoptionRecordRoot({ cwd: input.cwd });\n const startedAt = yield* adoptionStartedAt(input.now);\n const project = yield* loadAdoptionProject(projectInput(input));\n const preflight = yield* withAdoptionReader({ root, use: (reader) => prepare(input, reader, project, startedAt) });\n const invocationId = yield* createExplicitAdoptionInvocationId();\n const receipt = yield* commitExplicitAdoptionRunPlans(root, invocationId, [preflight.plan]);\n return yield* renamedReceipt({ invocationId, sourceRunId: input.sourceRunId,\n oldId: preflight.source.sourceRun.experimentId, newId: input.newId, preflight, receipt });\n });\n}\n"]}
|
|
@@ -13,10 +13,13 @@ exports.assessCurrentTargetSlot = assessCurrentTargetSlot;
|
|
|
13
13
|
// @concord-implements docs/feature/experiments/use-case/rerun-all.md
|
|
14
14
|
const effect_1 = require("effect");
|
|
15
15
|
const errors_ts_1 = require("../record/reader/errors.cjs");
|
|
16
|
+
const errors_ts_2 = require("../record/sqlite/errors.cjs");
|
|
17
|
+
const sqlite_host_ts_1 = require("../record/host/sqlite-host.cjs");
|
|
16
18
|
const identifiers_ts_1 = require("../record/codec/identifiers.cjs");
|
|
17
19
|
const core_ts_1 = require("../record/codec/core.cjs");
|
|
18
20
|
const score_ts_1 = require("../eval/record/score.cjs");
|
|
19
21
|
const rename_identity_ts_1 = require("./rename-identity.cjs");
|
|
22
|
+
const record_errors_ts_1 = require("../record/errors/record-errors.cjs");
|
|
20
23
|
const catalog_ts_1 = require("../record/family/catalog.cjs");
|
|
21
24
|
const eligibility_ts_1 = require("../eval/record/eligibility.cjs");
|
|
22
25
|
const membership_provenance_ts_1 = require("../eval/record/membership-provenance.cjs");
|
|
@@ -140,7 +143,10 @@ function planProjectTargetReuse(input) {
|
|
|
140
143
|
if (invalid !== undefined)
|
|
141
144
|
return effect_1.Effect.fail(invalid);
|
|
142
145
|
return effect_1.Effect.gen(function* () {
|
|
143
|
-
const
|
|
146
|
+
const selected = yield* (0, sqlite_host_ts_1.selectPlanningSources)(input.reader, flattenTargetSlots(input.target).map((slot) => ({
|
|
147
|
+
experimentId: slot.experimentId, evalId: slot.evalId, attemptOrdinal: slot.attempt, excludeRunId: slot.runId,
|
|
148
|
+
})));
|
|
149
|
+
const { selection } = selected;
|
|
144
150
|
const readable = yield* effect_1.Effect.forEach(selection.runRefs, (ref) => input.reader.readRun(ref), { concurrency: 1 });
|
|
145
151
|
const publishedRuns = [];
|
|
146
152
|
const coreIssues = [];
|
|
@@ -150,27 +156,24 @@ function planProjectTargetReuse(input) {
|
|
|
150
156
|
else if (read.state === "core-invalid")
|
|
151
157
|
coreIssues.push(...read.issues);
|
|
152
158
|
}
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
const page = yield* input.reader.listRunResources({ afterRunId, pageSize: 100 });
|
|
157
|
-
resources.push(...page.runs);
|
|
158
|
-
if (page.nextAfterRunId === null)
|
|
159
|
-
break;
|
|
160
|
-
afterRunId = page.nextAfterRunId;
|
|
161
|
-
}
|
|
162
|
-
const runs = yield* mergeCurrentAssessmentRuns(publishedRuns, resources);
|
|
159
|
+
const merged = yield* mergeCurrentAssessmentRuns(publishedRuns, selected.resources);
|
|
160
|
+
const runs = merged.map((run) => selected.members.has(run.document.runId)
|
|
161
|
+
? Object.freeze({ ...run, members: selected.members.get(run.document.runId) }) : run);
|
|
163
162
|
const byRunId = new Map(publishedRuns.map((run) => [run.document.runId, run]));
|
|
164
163
|
const slots = [];
|
|
165
164
|
for (const target of flattenTargetSlots(input.target)) {
|
|
165
|
+
const sourceProblems = selection.problems.filter((problem) => selected.experimentByRun.get(problem.runId) === target.experimentId);
|
|
166
|
+
const scopedIssues = [...(selected.issuesByExperiment.get(target.experimentId) ?? []),
|
|
167
|
+
...sourceProblems.map((problem) => (0, record_errors_ts_1.recordIssue)("record-schema-invalid", ["run", problem.runId, problem.code]))];
|
|
166
168
|
slots.push(yield* planTargetSlot({
|
|
167
169
|
reader: input.reader,
|
|
168
170
|
target,
|
|
169
171
|
policy: input.policy,
|
|
170
172
|
runs,
|
|
171
173
|
byRunId,
|
|
172
|
-
selectionHasProblem:
|
|
173
|
-
coreIssues,
|
|
174
|
+
selectionHasProblem: scopedIssues.length > 0 || coreIssues.length > 0,
|
|
175
|
+
selectionProblemScope: coreIssues.length > 0 ? "target" : "experiment",
|
|
176
|
+
coreIssues: [...coreIssues, ...scopedIssues],
|
|
174
177
|
}));
|
|
175
178
|
}
|
|
176
179
|
const reuse = slots.filter((slot) => slot.state === "reuse");
|
|
@@ -212,19 +215,31 @@ exports.ProjectTargetReusePlanner = Object.freeze({ plan: planProjectTargetReuse
|
|
|
212
215
|
function planTargetSlot(input) {
|
|
213
216
|
return assessCurrentTargetSlot({
|
|
214
217
|
...input,
|
|
215
|
-
readAttempt: (ref) => input.reader.readAttempt(ref).pipe(effect_1.Effect.
|
|
218
|
+
readAttempt: (ref) => input.reader.readAttempt(ref).pipe(effect_1.Effect.catch((error) => error instanceof errors_ts_1.RecordIntegrityFailure || error instanceof errors_ts_2.SqliteRecordError &&
|
|
219
|
+
["record-database-invalid", "record-content-invalid", "record-seal-incomplete"].includes(error.code)
|
|
220
|
+
? effect_1.Effect.succeed({ state: "core-invalid",
|
|
221
|
+
issues: (0, record_errors_ts_1.nonEmptyRecordIssues)([(0, record_errors_ts_1.recordIssue)("record-schema-invalid", ["attempt", String(ref.attemptId), error.code,
|
|
222
|
+
...(error instanceof errors_ts_1.RecordIntegrityFailure ? [error.reason] : [])])]) })
|
|
223
|
+
: effect_1.Effect.fail(error)), effect_1.Effect.map((read) => read.state !== "available" ? read : {
|
|
216
224
|
state: "available",
|
|
217
225
|
value: { ...read.value, publicationAvailable: read.value.ref.publicationIdentity !== undefined },
|
|
218
226
|
})),
|
|
219
|
-
readAssertions: (attempt) => input.reader.read(attempt.owner, catalog_ts_1.NiceEvalRecordAttachments.assertions),
|
|
220
|
-
readActivities: (attempt) => input.reader.read(attempt.owner, catalog_ts_1.NiceEvalRecordAttachments.runnerActivities.attempt),
|
|
227
|
+
readAssertions: (attempt) => planningAttachment(input.reader.read(attempt.owner, catalog_ts_1.NiceEvalRecordAttachments.assertions), "assertions"),
|
|
228
|
+
readActivities: (attempt) => planningAttachment(input.reader.read(attempt.owner, catalog_ts_1.NiceEvalRecordAttachments.runnerActivities.attempt), "runner-activities"),
|
|
221
229
|
sourceFor: (attempt, sourceBarrier) => {
|
|
222
230
|
if (!hasPublicationIdentity(attempt))
|
|
223
231
|
throw new Error("Expected a published Attempt");
|
|
224
|
-
return candidateFor({ target: input.target, sourceBarrier, attempt, byRunId: input.byRunId }).source;
|
|
232
|
+
return candidateFor({ reader: input.reader, target: input.target, sourceBarrier, attempt, byRunId: input.byRunId }).source;
|
|
225
233
|
},
|
|
226
234
|
});
|
|
227
235
|
}
|
|
236
|
+
function planningAttachment(read, family) {
|
|
237
|
+
return read.pipe(effect_1.Effect.catch((error) => error instanceof errors_ts_2.SqliteRecordError &&
|
|
238
|
+
["record-database-invalid", "record-content-invalid", "record-seal-incomplete"].includes(error.code)
|
|
239
|
+
? effect_1.Effect.succeed({ state: "invalid",
|
|
240
|
+
issues: (0, record_errors_ts_1.nonEmptyRecordIssues)([(0, record_errors_ts_1.recordIssue)("record-schema-invalid", [family, error.code])]) })
|
|
241
|
+
: effect_1.Effect.fail(error)));
|
|
242
|
+
}
|
|
228
243
|
function assessCurrentTargetSlot(input) {
|
|
229
244
|
return effect_1.Effect.gen(function* () {
|
|
230
245
|
if (input.target.reuseEligibility !== undefined) {
|
|
@@ -238,7 +253,7 @@ function assessCurrentTargetSlot(input) {
|
|
|
238
253
|
if (input.selectionHasProblem) {
|
|
239
254
|
return gapSlot(input.target, {
|
|
240
255
|
reason: "source-core-invalid",
|
|
241
|
-
scope: "target",
|
|
256
|
+
scope: input.selectionProblemScope ?? "target",
|
|
242
257
|
issues: input.coreIssues,
|
|
243
258
|
comparisons: [],
|
|
244
259
|
});
|
|
@@ -490,8 +505,12 @@ function candidateFor(input) {
|
|
|
490
505
|
|| document.executionIdentityDigest !== originExpected.executionIdentityDigest) {
|
|
491
506
|
return undefined;
|
|
492
507
|
}
|
|
508
|
+
const reference = (0, sqlite_host_ts_1.detachPlanningReference)(input.reader, input.attempt.ref);
|
|
509
|
+
if (reference === undefined)
|
|
510
|
+
return undefined;
|
|
493
511
|
return Object.freeze({
|
|
494
512
|
source: Object.freeze({
|
|
513
|
+
reference,
|
|
495
514
|
attemptId: input.attempt.ref.attemptId,
|
|
496
515
|
attempt: input.attempt.ref,
|
|
497
516
|
origin: Object.freeze({ runId: document.originRunId, slotId: document.slotId }),
|