openpond-sdk 0.12.1 → 0.12.2

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/LEARNING.md CHANGED
@@ -138,3 +138,19 @@ tasks; existing policy limits remain unchanged. Candidates still require explici
138
138
  acceptance and serving selection. `learning.inspectTaskQueue(modelProjectId?)`
139
139
  returns the shared eligible, unconsumed task count, or explicit issues when the
140
140
  count cannot be determined.
141
+
142
+ ### Source coverage for task preparation
143
+
144
+ `openpond-sdk/dataset-workspaces` exports `DatasetPreparationSourceSchema` and
145
+ `reconcilePreparationSourceCoverage`. A policy's `source.excludedSessions`
146
+ records exact unreadable source revisions with a connection ID, source-key hash,
147
+ native revision hash, retained failure reason and explanation. Hosted preparation
148
+ checks the original owner-scoped attestation and eligible Dataset membership.
149
+ Exclusions cannot bypass unfinished listing, pending uploads, unknown event times
150
+ or known eligible boundaries. Changed originals require a new policy.
151
+
152
+ `coverage.complete` reports reconciled eligible membership;
153
+ `coverage.sourceComplete` reports complete original-source coverage and remains
154
+ false when unreadable originals are excluded. `coverage.excludedSessions` retains
155
+ their count. These fields establish inventory reconciliation only; reconstructed
156
+ tasks still need their own starting-state and grader qualification.
@@ -133,7 +133,14 @@ var DatasetPreparationSourceSchema = z2.object({
133
133
  from: Timestamp,
134
134
  to: Timestamp,
135
135
  importCutoff: Timestamp,
136
- connections: z2.array(Id).min(1).max(50)
136
+ connections: z2.array(Id).min(1).max(50),
137
+ excludedSessions: z2.array(z2.object({
138
+ connectionId: Id,
139
+ sourceKeyHash: Hash,
140
+ nativeRevisionHash: Hash,
141
+ reason: z2.enum(["source_read_failed", "native_session_not_ready"]),
142
+ explanation: z2.string().trim().min(1).max(2e3)
143
+ }).strict()).max(1e4).default([])
137
144
  }).strict().superRefine((value, ctx) => {
138
145
  if (Date.parse(value.from) >= Date.parse(value.to))
139
146
  ctx.addIssue({
@@ -145,6 +152,10 @@ var DatasetPreparationSourceSchema = z2.object({
145
152
  code: "custom",
146
153
  message: "Source connections must be unique."
147
154
  });
155
+ if (value.excludedSessions.some((item) => !value.connections.includes(item.connectionId)))
156
+ ctx.addIssue({ code: "custom", message: "Excluded sessions must belong to selected source connections." });
157
+ if (new Set(value.excludedSessions.map((item) => JSON.stringify([item.connectionId, item.sourceKeyHash]))).size !== value.excludedSessions.length)
158
+ ctx.addIssue({ code: "custom", message: "Source session exclusions must be unique." });
148
159
  });
149
160
  var DatasetPreparationPolicySchema = z2.object({
150
161
  source: DatasetPreparationSourceSchema,
@@ -225,6 +236,8 @@ var DatasetPreparationCoverageSchema = z2.object({
225
236
  skippedSessions: Count.nullable(),
226
237
  lastAdmissionAt: Timestamp.nullable(),
227
238
  complete: z2.boolean(),
239
+ sourceComplete: z2.boolean().default(false),
240
+ excludedSessions: Count.default(0),
228
241
  reasons: z2.array(
229
242
  z2.object({ code: Id, message: z2.string().trim().min(1).max(2e3) }).strict()
230
243
  ).max(100),
@@ -1159,6 +1172,28 @@ function createPreparedTaskAuthoringWorkspace(input) {
1159
1172
  });
1160
1173
  }
1161
1174
 
1175
+ // src/dataset-preparation-source-coverage.ts
1176
+ import {
1177
+ CollectorCoverageManifestSchema,
1178
+ summarizeCollectorCoverage
1179
+ } from "@openpond/evals/connected-evidence";
1180
+ function reconcilePreparationSourceCoverage(input) {
1181
+ const source = DatasetPreparationSourceSchema.parse(input.source);
1182
+ const manifest = CollectorCoverageManifestSchema.parse(input.manifest);
1183
+ const summary = summarizeCollectorCoverage(manifest);
1184
+ const exclusions = source.excludedSessions.filter((item) => item.connectionId === manifest.connectionId);
1185
+ const retained = new Map(manifest.sessions.map((session) => [session.sourceKeyHash, session]));
1186
+ const excluded = /* @__PURE__ */ new Set();
1187
+ for (const selection of exclusions) {
1188
+ const session = retained.get(selection.sourceKeyHash);
1189
+ if (!session || session.nativeRevisionHash !== selection.nativeRevisionHash || session.reason !== selection.reason || !(session.state === "failed" && selection.reason === "source_read_failed" || session.state === "skipped" && selection.reason === "native_session_not_ready") || session.unknownTimeBoundaries !== 0 || session.normalized.some((item) => item.boundaries.length > 0))
1190
+ throw new Error("dataset_preparation_source_exclusion_changed");
1191
+ excluded.add(selection.sourceKeyHash);
1192
+ }
1193
+ const reconciled = source.connections.includes(manifest.connectionId) && manifest.from === source.from && manifest.to === source.to && manifest.finishedAt !== null && manifest.listingComplete && manifest.pendingOperations === 0 && summary.unknownTimeBoundaries === 0 && manifest.sessions.every((session) => session.nativeRevisionHash !== null && (session.state === "admitted" || session.state === "skipped" && session.reason === "no_eligible_boundaries" || excluded.has(session.sourceKeyHash)));
1194
+ return { reconciled, sourceComplete: summary.complete, excludedSessions: excluded.size, summary };
1195
+ }
1196
+
1162
1197
  // src/dataset-preparation-qualification-contracts.ts
1163
1198
  import { z as z7 } from "zod";
1164
1199
  var Id5 = z7.string().trim().min(1).max(240);
@@ -1351,6 +1386,7 @@ export {
1351
1386
  connectedStartingAssetReference,
1352
1387
  createPreparedTaskAuthoringWorkspace,
1353
1388
  parseConnectedStartingAssetReference,
1354
- preparedRepositoryEnvironment
1389
+ preparedRepositoryEnvironment,
1390
+ reconcilePreparationSourceCoverage
1355
1391
  };
1356
1392
  //# sourceMappingURL=dataset-workspaces.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/dataset-workspace-operations.ts", "../src/dataset-preparation-client.ts", "../src/dataset-preparation-contracts.ts", "../src/dataset-workspace-client.ts", "../src/dataset-population.ts", "../src/dataset-preparation-research-contracts.ts", "../src/dataset-preparation-starting-state.ts", "../src/dataset-preparation-workspace.ts", "../src/dataset-preparation-qualification-contracts.ts", "../src/dataset-preparation-assembly.ts"],
4
- "sourcesContent": ["import { z } from \"zod\";\nimport { DatasetWorkspaceReceiptSchema } from \"./dataset-workspace-contracts.js\";\nexport const DatasetWorkspaceOperationKindSchema = z.enum([\"create\", \"save\", \"publish\", \"begin_version\"]);\nexport const DatasetWorkspaceOperationResultSchema = z.object({ operationId: z.string().trim().min(1).max(240), kind: DatasetWorkspaceOperationKindSchema, requestHash: z.string().regex(/^[a-f0-9]{64}$/), receipt: DatasetWorkspaceReceiptSchema, base: DatasetWorkspaceReceiptSchema.nullable() }).strict().superRefine((value, context) => {\n const { receipt, base, kind } = value;\n if (base && (base.teamId !== receipt.teamId || base.datasetId !== receipt.datasetId || base.revision + 1 !== receipt.revision) || !base && receipt.revision !== 1) context.addIssue({ code: \"custom\", message: \"Operation recovery history identity/revision mismatch.\" });\n if (base && ((base.ownerScope ?? \"workspace\") !== (receipt.ownerScope ?? \"workspace\") || base.originProjectId !== receipt.originProjectId || base.workspace.draft.createdAt !== receipt.workspace.draft.createdAt)) context.addIssue({ code: \"custom\", message: \"Operation recovery cannot change Dataset ownership or origin.\" });\n const actualKind = !base ? \"create\" : receipt.workspace.draft.status === \"published\" ? \"publish\" : base.workspace.draft.status === \"published\" ? \"begin_version\" : \"save\";\n if (kind !== actualKind) context.addIssue({ code: \"custom\", message: \"Operation recovery kind differs from its retained lifecycle.\" });\n});\nexport type DatasetWorkspaceOperationResult = z.infer<typeof DatasetWorkspaceOperationResultSchema>;\n", "import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport {\n DatasetPreparationCandidateSchema,\n DatasetPreparationCommandSchema,\n DatasetPreparationCreateSchema,\n DatasetPreparationListSchema,\n DatasetPreparationRunSchema,\n DatasetPreparationGrantCreateSchema,\n DatasetPreparationGrantSchema,\n} from \"./dataset-preparation-contracts.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst CandidatePage = z\n .object({\n teamId: Id,\n datasetId: Id,\n runId: Id,\n candidates: z.array(DatasetPreparationCandidateSchema).max(50),\n nextCursor: Id.nullable(),\n })\n .strict();\n\nexport class DatasetPreparationRequestError extends Error {\n constructor(\n readonly status: number,\n readonly code: string,\n message: string,\n ) {\n super(message);\n this.name = \"DatasetPreparationRequestError\";\n }\n}\n\n/** The same durable run is controlled by web, Desktop and CLI. A timed-out\n * write is recovered by operation ID, never replaced with a new paid intent. */\nexport class OpenPondDatasetPreparationClient {\n private readonly baseUrl: string;\n constructor(\n private readonly options: {\n baseUrl: string;\n apiKey: string;\n teamId: string;\n fetch?: typeof fetch;\n },\n ) {\n const url = new URL(options.baseUrl);\n if (\n ![\"http:\", \"https:\"].includes(url.protocol) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash ||\n !options.apiKey.trim() ||\n !options.teamId.trim()\n )\n throw new Error(\n \"A clean API origin and workspace credentials are required.\",\n );\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n\n async create(\n datasetId: string,\n input: z.input<typeof DatasetPreparationCreateSchema>,\n signal?: AbortSignal,\n ) {\n const request = DatasetPreparationCreateSchema.parse(input);\n const result = this.readRun(\n await this.request(datasetId, \"\", \"POST\", request, signal),\n datasetId,\n );\n if (\n result.operationId !== request.operationId ||\n result.requestHash !== contentHash(request) ||\n result.datasetRevision !== request.expectedDatasetRevision\n )\n throw new Error(\n \"Preparation creation receipt differs from the saved intent.\",\n );\n return result;\n }\n\n async createGrant(\n datasetId: string,\n input: z.input<typeof DatasetPreparationGrantCreateSchema>,\n signal?: AbortSignal,\n ) {\n const request = DatasetPreparationGrantCreateSchema.parse(input);\n const grant = this.readGrant(\n await this.request(datasetId, \"/grants\", \"POST\", request, signal),\n );\n if (\n grant.id !== request.id ||\n grant.projectId !== request.projectId ||\n grant.maximumMicroUsd !== request.maximumMicroUsd ||\n grant.maximumSandboxSeconds !== request.maximumSandboxSeconds\n )\n throw new Error(\n \"Preparation grant receipt differs from the saved limits.\",\n );\n return grant;\n }\n\n async getGrant(datasetId: string, grantId: string, signal?: AbortSignal) {\n const grant = this.readGrant(\n await this.request(\n datasetId,\n `/grants/${encodeURIComponent(Id.parse(grantId))}`,\n \"GET\",\n undefined,\n signal,\n ),\n );\n if (grant.id !== grantId)\n throw new Error(\"Preparation grant identity mismatch.\");\n return grant;\n }\n\n private readGrant(value: unknown) {\n const grant = DatasetPreparationGrantSchema.parse(value);\n if (grant.teamId !== this.options.teamId)\n throw new Error(\"Preparation grant workspace mismatch.\");\n return grant;\n }\n\n async get(datasetId: string, runId: string, signal?: AbortSignal) {\n return this.readRun(\n await this.request(\n datasetId,\n `/${encodeURIComponent(Id.parse(runId))}`,\n \"GET\",\n undefined,\n signal,\n ),\n datasetId,\n runId,\n );\n }\n\n async list(\n datasetId: string,\n options: { cursor?: string; signal?: AbortSignal } = {},\n ) {\n const query = new URLSearchParams(\n options.cursor ? { cursor: Id.parse(options.cursor) } : {},\n );\n const result = DatasetPreparationListSchema.parse(\n await this.request(\n datasetId,\n `?${query}`,\n \"GET\",\n undefined,\n options.signal,\n ),\n );\n if (\n result.teamId !== this.options.teamId ||\n result.datasetId !== datasetId ||\n result.runs.some(\n (run) => run.teamId !== result.teamId || run.datasetId !== datasetId,\n ) ||\n new Set(result.runs.map((run) => run.id)).size !== result.runs.length\n )\n throw new Error(\"Preparation list scope/identity mismatch.\");\n return result;\n }\n\n async command(\n datasetId: string,\n runId: string,\n input: z.input<typeof DatasetPreparationCommandSchema>,\n signal?: AbortSignal,\n ) {\n const request = DatasetPreparationCommandSchema.parse(input);\n const result = this.readRun(\n await this.request(\n datasetId,\n `/${encodeURIComponent(Id.parse(runId))}/commands`,\n \"POST\",\n request,\n signal,\n ),\n datasetId,\n runId,\n );\n if (result.revision < request.expectedRevision + 1)\n throw new Error(\n \"Preparation command did not advance the expected revision.\",\n );\n return result;\n }\n\n async operationResult(\n datasetId: string,\n operationId: string,\n signal?: AbortSignal,\n ) {\n const result = await this.request(\n datasetId,\n `/operations/${encodeURIComponent(Id.parse(operationId))}`,\n \"GET\",\n undefined,\n signal,\n );\n if (result === null) return null;\n const receipt = z\n .object({\n operationId: Id,\n requestHash: z.string().regex(/^[a-f0-9]{64}$/),\n run: DatasetPreparationRunSchema,\n })\n .strict()\n .parse(result);\n if (receipt.operationId !== operationId)\n throw new Error(\"Preparation operation recovery identity mismatch.\");\n this.readRun(receipt.run, datasetId);\n return receipt;\n }\n\n async candidates(\n datasetId: string,\n runId: string,\n options: { cursor?: string; signal?: AbortSignal } = {},\n ) {\n const query = new URLSearchParams(\n options.cursor ? { cursor: Id.parse(options.cursor) } : {},\n );\n const result = CandidatePage.parse(\n await this.request(\n datasetId,\n `/${encodeURIComponent(Id.parse(runId))}/candidates?${query}`,\n \"GET\",\n undefined,\n options.signal,\n ),\n );\n if (\n result.teamId !== this.options.teamId ||\n result.datasetId !== datasetId ||\n result.runId !== runId ||\n result.candidates.some((candidate) => candidate.runId !== runId) ||\n new Set(result.candidates.map((candidate) => candidate.id)).size !==\n result.candidates.length\n )\n throw new Error(\"Preparation candidate page scope/identity mismatch.\");\n return result;\n }\n\n private readRun(value: unknown, datasetId: string, runId?: string) {\n const result = DatasetPreparationRunSchema.parse(value);\n if (\n result.teamId !== this.options.teamId ||\n result.datasetId !== datasetId ||\n (runId && result.id !== runId)\n )\n throw new Error(\"Preparation run scope/identity mismatch.\");\n return result;\n }\n\n private async request(\n datasetId: string,\n path: string,\n method: string,\n body?: unknown,\n signal?: AbortSignal,\n ): Promise<unknown> {\n const response = await (this.options.fetch ?? fetch)(\n `${this.baseUrl}/v1/dataset-workspaces/${encodeURIComponent(Id.parse(datasetId))}/preparations${path}`,\n {\n method,\n signal,\n redirect: \"error\",\n headers: {\n Authorization: `Bearer ${this.options.apiKey}`,\n \"X-OpenPond-Team-Id\": this.options.teamId,\n \"Content-Type\": \"application/json\",\n },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n },\n );\n if (!response.body) {\n if (!response.ok)\n throw new DatasetPreparationRequestError(\n response.status,\n \"dataset_preparation_request_failed\",\n `Dataset preparation request failed (${response.status}).`,\n );\n throw new Error(\"Preparation response is empty.\");\n }\n const reader = response.body.getReader(),\n chunks: Uint8Array[] = [];\n let length = 0;\n try {\n while (true) {\n const part = await reader.read();\n if (part.done) break;\n length += part.value.byteLength;\n if (length > (response.ok ? 8 * 1024 * 1024 : 64 * 1024))\n throw new Error(\"Preparation response exceeds its bounded page.\");\n chunks.push(part.value);\n }\n } finally {\n await reader.cancel();\n }\n const bytes = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n bytes.set(chunk, offset);\n offset += chunk.length;\n }\n const raw = new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n if (!response.ok) {\n let value: unknown = null;\n try {\n value = JSON.parse(raw);\n } catch {\n /* Gateways can return non-JSON failures. */\n }\n const error = z\n .object({ code: z.string().max(240), message: z.string().max(5_000) })\n .safeParse(value);\n throw new DatasetPreparationRequestError(\n response.status,\n error.success ? error.data.code : \"dataset_preparation_request_failed\",\n error.success\n ? error.data.message\n : `Dataset preparation request failed (${response.status}).`,\n );\n }\n return JSON.parse(raw);\n }\n}\n", "import { z } from \"zod\";\nimport { ConnectedCaseRefSchema } from \"./connected-evidence-contracts.js\";\nimport { TasksetCatalogReleaseRefSchema } from \"./taskset-catalog.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nconst Timestamp = z.iso.datetime();\nconst Count = z.number().int().nonnegative();\nconst MicroUsd = z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER);\n\nexport const DatasetPreparationGrantCreateSchema = z\n .object({\n id: Id,\n projectId: Id,\n maximumMicroUsd: MicroUsd.positive(),\n maximumSandboxSeconds: Count.max(10_800),\n })\n .strict();\n\nexport const DatasetPreparationGrantSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.datasetPreparationGrant.v1\"),\n id: Id,\n teamId: Id,\n ownerUserId: Id,\n projectId: Id,\n maximumMicroUsd: MicroUsd,\n maximumSandboxSeconds: Count,\n settledMicroUsd: MicroUsd,\n heldMicroUsd: MicroUsd,\n sandboxSeconds: Count,\n heldSandboxSeconds: Count,\n unresolvedCalls: Count,\n cleanupPending: Count,\n createdAt: Timestamp,\n updatedAt: Timestamp,\n })\n .strict();\n\nexport const DatasetPreparationTaskClassSchema = z.enum([\n \"coding_change\",\n \"debugging\",\n \"code_explanation\",\n \"structured_text\",\n \"artifact_work\",\n]);\nexport const DatasetPreparationStageSchema = z.enum([\n \"inventory\",\n \"preview\",\n \"reconstruction\",\n \"grader_authoring\",\n \"qualification\",\n \"release\",\n]);\nexport const DatasetPreparationStatusSchema = z.enum([\n \"draft\",\n \"running\",\n \"pausing\",\n \"paused\",\n \"needs_attention\",\n \"preview_ready\",\n \"ready\",\n \"releasing\",\n \"completed\",\n \"insufficient_data\",\n \"budget_exhausted\",\n \"cancelling\",\n \"cancelled\",\n \"failed\",\n]);\n\nexport const DatasetPreparationSourceSchema = z\n .object({\n projectId: Id,\n from: Timestamp,\n to: Timestamp,\n importCutoff: Timestamp,\n connections: z.array(Id).min(1).max(50),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (Date.parse(value.from) >= Date.parse(value.to))\n ctx.addIssue({\n code: \"custom\",\n message: \"Source event-time window must be nonempty.\",\n });\n if (new Set(value.connections).size !== value.connections.length)\n ctx.addIssue({\n code: \"custom\",\n message: \"Source connections must be unique.\",\n });\n });\n\nexport const DatasetPreparationPolicySchema = z\n .object({\n source: DatasetPreparationSourceSchema,\n taskClasses: z.array(DatasetPreparationTaskClassSchema).min(1).max(5),\n limits: z\n .object({\n maximumConversations: z.number().int().min(1).max(10_000),\n maximumCandidates: z.number().int().min(1).max(10_000),\n acceptedTarget: z.number().int().min(1).max(10_000),\n maximumRepairsPerCandidate: z.number().int().min(0).max(5),\n maximumEvidenceBytesPerConversation: z\n .number()\n .int()\n .min(1_024)\n .max(2_000_000),\n })\n .strict(),\n researcher: z\n .object({\n modelId: Id,\n maximumOutputTokens: z.number().int().min(1).max(32_768),\n })\n .strict(),\n adjudicator: z.object({ modelId: Id, maximumOutputTokens: z.number().int().min(1).max(32_768) }).strict(),\n grading: z.discriminatedUnion(\"mode\", [\n z.object({ mode: z.literal(\"auto\") }).strict(),\n z.object({ mode: z.literal(\"existing_only\") }).strict(),\n z\n .object({\n mode: z.literal(\"manual\"),\n releases: z.array(TasksetCatalogReleaseRefSchema).min(1).max(100),\n })\n .strict(),\n ]),\n budget: z\n .object({\n grantId: Id,\n maximumMicroUsd: MicroUsd.positive(),\n previewMaximumMicroUsd: MicroUsd,\n qualificationMaximumMicroUsdPerCandidate: MicroUsd,\n maximumSandboxSeconds: Count.max(10_800),\n })\n .strict(),\n finish: z.enum([\"stop_ready\", \"create_private_version\"]),\n execution: z.enum([\"preview_only\", \"prepare\"]),\n allowPartialVersion: z.boolean(),\n // Pilot-inspected material is development data. Protected study preparation\n // uses a separate authorization and cannot inherit this inspection policy.\n population: z.literal(\"development\"),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (value.limits.acceptedTarget > value.limits.maximumCandidates)\n ctx.addIssue({\n code: \"custom\",\n message: \"Accepted target exceeds candidate scan limit.\",\n });\n if (value.budget.previewMaximumMicroUsd > value.budget.maximumMicroUsd)\n ctx.addIssue({\n code: \"custom\",\n message: \"Preview allowance exceeds the shared preparation ceiling.\",\n });\n if (new Set(value.taskClasses).size !== value.taskClasses.length)\n ctx.addIssue({ code: \"custom\", message: \"Task classes must be unique.\" });\n });\n\nexport const DatasetPreparationCreateSchema = z\n .object({\n operationId: Id,\n expectedDatasetRevision: z.number().int().positive(),\n policy: DatasetPreparationPolicySchema,\n })\n .strict();\n\nexport const DatasetPreparationCommandSchema = z.discriminatedUnion(\"action\", [\n z\n .object({\n action: z.enum([\"start\", \"pause\", \"resume\", \"cancel\", \"release\"]),\n operationId: Id,\n expectedRevision: z.number().int().positive(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"resolve\"),\n operationId: Id,\n expectedRevision: z.number().int().positive(),\n candidateId: Id,\n decision: z.enum([\"retry\", \"exclude\"]),\n reason: z.string().trim().min(1).max(5_000),\n })\n .strict(),\n]);\n\nexport const DatasetPreparationCoverageSchema = z\n .object({\n conversations: Count,\n importedTurns: Count,\n selectedTurns: Count,\n queuedSnapshots: Count.nullable(),\n failedSessions: Count.nullable(),\n skippedSessions: Count.nullable(),\n lastAdmissionAt: Timestamp.nullable(),\n complete: z.boolean(),\n reasons: z\n .array(\n z\n .object({ code: Id, message: z.string().trim().min(1).max(2_000) })\n .strict(),\n )\n .max(100),\n sourceInventoryHash: Hash,\n })\n .strict();\n\nexport const DatasetPreparationAccountingSchema = z\n .object({\n maximumMicroUsd: MicroUsd,\n settledMicroUsd: MicroUsd,\n heldMicroUsd: MicroUsd,\n unresolvedCalls: Count,\n sandboxSeconds: Count,\n cleanupPending: Count,\n complete: z.boolean(),\n })\n .strict();\n\nexport const DatasetPreparationPreviewSchema = z\n .object({\n sampleConversations: Count,\n sampleTurns: Count,\n candidateCount: Count,\n modelId: Id,\n modelConfigurationHash: Hash,\n callReceiptIds: z.array(Id).max(2_000),\n inputTokens: Count.nullable(),\n outputTokens: Count.nullable(),\n classes: z\n .array(\n z\n .object({\n taskClass: DatasetPreparationTaskClassSchema,\n candidates: Count,\n assessment: z.enum([\n \"executable\",\n \"calibrated_judge\",\n \"unsupported\",\n ]),\n requirements: z.array(z.string().trim().min(1).max(5_000)).max(20),\n })\n .strict(),\n )\n .max(5),\n exclusions: z\n .array(\n z\n .object({\n code: Id,\n count: Count,\n reason: z.string().trim().min(1).max(5_000),\n })\n .strict(),\n )\n .max(100),\n estimates: z\n .array(\n z\n .object({\n stage: DatasetPreparationStageSchema,\n minimumMicroUsd: MicroUsd,\n maximumMicroUsd: MicroUsd,\n assumptions: z\n .array(z.string().trim().min(1).max(2_000))\n .min(1)\n .max(20),\n })\n .strict()\n .refine(\n (value) => value.minimumMicroUsd <= value.maximumMicroUsd,\n \"Estimate range is reversed.\",\n ),\n )\n .max(6),\n createdAt: Timestamp,\n })\n .strict();\n\nexport const DatasetPreparationRunSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.datasetPreparationRun.v1\"),\n id: Id,\n operationId: Id,\n teamId: Id,\n ownerUserId: Id,\n datasetId: Id,\n datasetRevision: z.number().int().positive(),\n revision: z.number().int().positive(),\n requestHash: Hash,\n policy: DatasetPreparationPolicySchema,\n status: DatasetPreparationStatusSchema,\n stage: DatasetPreparationStageSchema,\n coverage: DatasetPreparationCoverageSchema.nullable(),\n preview: DatasetPreparationPreviewSchema.nullable(),\n counts: z\n .object({\n scannedConversations: Count,\n scannedTurns: Count,\n candidates: Count,\n reconstructed: Count,\n qualifying: Count,\n qualified: Count,\n excluded: Count,\n needsAttention: Count,\n })\n .strict(),\n accounting: DatasetPreparationAccountingSchema,\n publication: z\n .object({\n datasetId: Id,\n workspaceRevision: z.number().int().positive(),\n release: TasksetCatalogReleaseRefSchema,\n })\n .strict()\n .nullable(),\n error: z\n .object({ code: Id, message: z.string().trim().min(1).max(5_000) })\n .strict()\n .nullable(),\n createdAt: Timestamp,\n updatedAt: Timestamp,\n })\n .strict()\n .superRefine((value, ctx) => {\n if (\n value.accounting.maximumMicroUsd !== value.policy.budget.maximumMicroUsd\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Accounting authority differs from the saved preparation policy.\",\n });\n if (\n value.counts.qualified +\n value.counts.excluded +\n value.counts.needsAttention >\n value.counts.candidates\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Preparation outcomes exceed the candidate population.\",\n });\n if (\n value.status === \"preview_ready\" &&\n (value.policy.execution !== \"preview_only\" || value.stage !== \"preview\" || !value.preview || !value.coverage?.complete || !value.accounting.complete)\n ) ctx.addIssue({ code: \"custom\", message: \"Preview readiness requires a preview-only policy, reconciled source coverage and settled preview calls.\" });\n if (\n [\"ready\", \"releasing\", \"completed\"].includes(value.status) &&\n (value.counts.qualified === 0 || !value.policy.allowPartialVersion &&\n value.counts.qualified < value.policy.limits.acceptedTarget)\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Preparation cannot report readiness below its accepted target.\",\n });\n if ([\"ready\", \"releasing\", \"completed\"].includes(value.status) &&\n (value.policy.execution !== \"prepare\" || !value.preview || !value.coverage?.complete || !value.accounting.complete))\n ctx.addIssue({ code: \"custom\", message: \"Dataset readiness requires full preparation authority, reconciled source coverage, preview and final accounting.\" });\n if (\n value.status === \"completed\" &&\n (!value.publication || !value.accounting.complete)\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Completed preparation requires publication and reconciled accounting.\",\n });\n if (\n value.status === \"cancelled\" &&\n (!value.accounting.complete || value.accounting.cleanupPending > 0)\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Cancellation requires settled resource obligations.\",\n });\n });\n\nexport const DatasetPreparationListSchema = z\n .object({\n teamId: Id,\n datasetId: Id,\n runs: z.array(DatasetPreparationRunSchema).max(50),\n nextCursor: Id.nullable(),\n })\n .strict();\n\n/** References only. Evidence bytes are read by authorized owners, never from\n * caller-supplied spans or a policy-visible task package. */\nexport const PreparedTaskEvidenceSpanSchema = z\n .object({\n source: ConnectedCaseRefSchema,\n startSequence: Count,\n endSequence: Count,\n role: z.enum([\n \"requirement\",\n \"initial_context\",\n \"outcome\",\n \"correction\",\n \"verification\",\n ]),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (value.endSequence < value.startSequence)\n ctx.addIssue({\n code: \"custom\",\n message: \"Evidence span must be ordered.\",\n });\n });\n\nexport const PreparedTaskProvenanceSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.preparedTaskProvenance.v1\"),\n candidateId: Id,\n preparationId: Id,\n familyKey: Id,\n sourceSpans: z.array(PreparedTaskEvidenceSpanSchema).min(1).max(200),\n firstAvailableAt: Timestamp,\n initialInputHash: Hash,\n initialEnvironmentHash: Hash,\n initialAssetsHash: Hash.nullable(),\n sourceScopeHash: Hash,\n })\n .strict()\n .superRefine((value, ctx) => {\n if (!value.sourceSpans.some((span) => span.role === \"requirement\"))\n ctx.addIssue({\n code: \"custom\",\n message: \"A reconstructed task needs a source requirement.\",\n });\n const seen = new Set<string>();\n for (const span of value.sourceSpans) {\n if (value.sourceSpans.some(other => other !== span && other.source.id === span.source.id\n && other.source.snapshotHash === span.source.snapshotHash && other.role !== span.role\n && span.startSequence <= other.endSequence && other.startSequence <= span.endSequence))\n ctx.addIssue({ code: \"custom\", message: \"Evidence offsets cannot have conflicting roles.\" });\n const key = JSON.stringify([\n span.source,\n span.startSequence,\n span.endSequence,\n ]);\n if (seen.has(key))\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Evidence span is duplicated or crosses public/private roles.\",\n });\n seen.add(key);\n }\n });\n\nexport const PreparedTaskQualificationSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.preparedTaskQualification.v1\"),\n id: Id,\n candidateId: Id,\n preparationId: Id,\n taskHash: Hash,\n environmentHash: Hash,\n packageHash: Hash,\n graderBindings: z\n .array(\n z\n .object({\n id: Id,\n version: Id,\n contentHash: Hash,\n origin: z.enum([\"reused\", \"adapted\", \"authored\"]),\n })\n .strict(),\n )\n .min(1)\n .max(100),\n checks: z\n .array(\n z\n .object({\n id: Id,\n label: z.enum([\n \"positive\",\n \"incorrect\",\n \"incomplete\",\n \"adversarial\",\n \"clean_reset\",\n ]),\n executionReceiptId: Id,\n expectedPassed: z.boolean(),\n observedPassed: z.boolean().nullable(),\n infrastructureError: Id.nullable(),\n })\n .strict(),\n )\n .min(5)\n .max(500),\n independentEvidenceRefs: z.array(Id).min(1).max(100),\n judgeCalibration: z.enum([\"not_applicable\", \"passed\", \"failed\", \"pending\"]),\n cleanup: z.enum([\"completed\", \"pending\"]),\n passed: z.boolean(),\n createdAt: Timestamp,\n })\n .strict()\n .superRefine((value, ctx) => {\n if (!value.passed) return;\n const labels = new Set(value.checks.map((check) => check.label));\n if (\n [\n \"positive\",\n \"incorrect\",\n \"incomplete\",\n \"adversarial\",\n \"clean_reset\",\n ].some(\n (label) => !labels.has(label as (typeof value.checks)[number][\"label\"]),\n )\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Qualified tasks require positive, negative, adversarial and clean-reset evidence.\",\n });\n if (\n value.cleanup !== \"completed\" ||\n [\"pending\", \"failed\"].includes(value.judgeCalibration) ||\n value.checks.some(\n (check) =>\n check.infrastructureError !== null ||\n check.observedPassed !== check.expectedPassed,\n )\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Failed, uncalibrated or uncleared checks cannot qualify a task.\",\n });\n if (\n value.checks.some(\n (check) =>\n check.expectedPassed !==\n [\"positive\", \"clean_reset\"].includes(check.label),\n )\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Qualification witnesses must pass positives/resets and reject incorrect, incomplete and adversarial outputs.\",\n });\n });\n\nexport const DatasetPreparationCandidateSchema = z\n .object({\n id: Id,\n runId: Id,\n revision: z.number().int().positive(),\n taskClass: DatasetPreparationTaskClassSchema,\n status: z.enum([\n \"discovered\",\n \"reconstructing\",\n \"authoring\",\n \"qualifying\",\n \"qualified\",\n \"excluded\",\n \"needs_attention\",\n ]),\n objective: z.string().trim().min(1).max(20_000),\n provenance: PreparedTaskProvenanceSchema.nullable(),\n qualification: PreparedTaskQualificationSchema.nullable(),\n reason: z\n .object({ code: Id, message: z.string().trim().min(1).max(5_000) })\n .strict()\n .nullable(),\n attempts: Count.max(6),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (\n value.status === \"qualified\" &&\n (!value.provenance || !value.qualification?.passed)\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Candidate admission requires reconstruction and qualification receipts.\",\n });\n if (\n value.provenance &&\n (value.provenance.candidateId !== value.id ||\n value.provenance.preparationId !== value.runId)\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Candidate provenance identity mismatch.\",\n });\n if (\n value.qualification &&\n (value.qualification.candidateId !== value.id ||\n value.qualification.preparationId !== value.runId)\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Candidate qualification identity mismatch.\",\n });\n });\n\nexport type DatasetPreparationPolicy = z.infer<\n typeof DatasetPreparationPolicySchema\n>;\nexport type DatasetPreparationGrant = z.infer<\n typeof DatasetPreparationGrantSchema\n>;\nexport type DatasetPreparationRun = z.infer<typeof DatasetPreparationRunSchema>;\nexport type DatasetPreparationCandidate = z.infer<\n typeof DatasetPreparationCandidateSchema\n>;\nexport type PreparedTaskProvenance = z.infer<\n typeof PreparedTaskProvenanceSchema\n>;\nexport type PreparedTaskQualification = z.infer<\n typeof PreparedTaskQualificationSchema\n>;\n", "import { DatasetWorkspaceListQuerySchema, DatasetWorkspaceBeginVersionSchema, DatasetWorkspaceVersionsSchema, DatasetWorkspaceListSchema, DatasetWorkspacePublishSchema, DatasetWorkspaceReceiptSchema, DatasetWorkspaceValidationSchema, DatasetWorkspaceWriteSchema } from \"./dataset-workspace-contracts.js\";\nimport { validateTasksetDraftWorkspace } from \"./taskset-draft-workspace.js\";\nimport type { z } from \"zod\";\nimport { DatasetWorkspaceOperationKindSchema, DatasetWorkspaceOperationResultSchema } from \"./dataset-workspace-operations.js\";\nimport { OpenPondDatasetPreparationClient } from \"./dataset-preparation-client.js\";\n\n/** Hosted independent authoring. Writes use explicit revision/operation identity;\n * callers retain the operation ID when retrying an uncertain response. */\nexport class OpenPondDatasetWorkspaceClient {\n private readonly baseUrl: string;\n readonly preparations: OpenPondDatasetPreparationClient;\n constructor(private readonly options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n this.preparations = new OpenPondDatasetPreparationClient(options);\n }\n async list(options: z.input<typeof DatasetWorkspaceListQuerySchema> & { signal?: AbortSignal } = {}) {\n const { signal, ...input } = options;\n const query = DatasetWorkspaceListQuerySchema.parse(input);\n const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => [key, String(value)]));\n const result = DatasetWorkspaceListSchema.parse(await this.request(`?${params}`, \"GET\", undefined, signal));\n if (result.teamId !== this.options.teamId || result.datasets.length > query.limit || new Set(result.datasets.map(item => item.id)).size !== result.datasets.length) throw new Error(\"Dataset list workspace/page mismatch.\");\n return result;\n }\n async get(id: string, signal?: AbortSignal) { return this.readback(await this.request(`/${encodeURIComponent(id)}`, \"GET\", undefined, signal), id); }\n /** Recover only this actor's retained operation; base bytes allow adapters to\n * reconstruct and verify the identical original CAS request before replay. */\n async operationResult(operationId: string, options: { datasetId?: string; kind: z.infer<typeof DatasetWorkspaceOperationKindSchema>; requestHash?: string; signal?: AbortSignal }) {\n const kind = DatasetWorkspaceOperationKindSchema.parse(options.kind);\n const params = new URLSearchParams({ kind, ...(options.datasetId ? { datasetId: options.datasetId } : {}) });\n const raw = await this.request(`/operations/${encodeURIComponent(operationId)}?${params}`, \"GET\", undefined, options.signal, 132 * 1024 * 1024);\n if (raw === null) return null;\n const value = DatasetWorkspaceOperationResultSchema.parse(raw);\n this.readback(value.receipt, value.receipt.datasetId); if (value.base) this.readback(value.base, value.receipt.datasetId);\n if (value.operationId !== operationId || value.kind !== kind || options.datasetId && value.receipt.datasetId !== options.datasetId || options.requestHash && value.requestHash !== options.requestHash) throw new Error(\"Dataset operation recovery identity/request mismatch.\");\n return value;\n }\n async beginVersion(id: string, input: z.input<typeof DatasetWorkspaceBeginVersionSchema>, signal?: AbortSignal) {\n const request = DatasetWorkspaceBeginVersionSchema.parse(input);\n const result = this.readback(await this.request(`/${encodeURIComponent(id)}/begin-version`, \"POST\", request, signal), id);\n if (result.revision !== request.expectedRevision + 1 || result.workspace.draft.status !== \"draft\" || !result.publication || !result.workspace.draft.publishedTasksetRef) throw new Error(\"Editable version receipt mismatch.\");\n return result;\n }\n async versions(id: string, options: { beforeRevision?: number; signal?: AbortSignal } = {}) {\n const query = new URLSearchParams(options.beforeRevision === undefined ? {} : { beforeRevision: String(options.beforeRevision) });\n const result = DatasetWorkspaceVersionsSchema.parse(await this.request(`/${encodeURIComponent(id)}/versions?${query}`, \"GET\", undefined, options.signal));\n if (result.teamId !== this.options.teamId || result.datasetId !== id || result.items.some((item, index) => (index > 0 && item.workspaceRevision >= result.items[index - 1]!.workspaceRevision) || (options.beforeRevision !== undefined && item.workspaceRevision >= options.beforeRevision))) throw new Error(\"Dataset version history scope/order mismatch.\");\n return result;\n }\n async version(id: string, workspaceRevision: number, signal?: AbortSignal) {\n const result = this.readback(await this.request(`/${encodeURIComponent(id)}/versions/${workspaceRevision}`, \"GET\", undefined, signal), id);\n if (result.revision !== workspaceRevision || result.workspace.draft.status !== \"published\") throw new Error(\"Dataset immutable version mismatch.\");\n return result;\n }\n async save(input: z.input<typeof DatasetWorkspaceWriteSchema>, signal?: AbortSignal) {\n const request = DatasetWorkspaceWriteSchema.parse(input);\n const workspace = validateTasksetDraftWorkspace(request.workspace);\n if (workspace.draft.profileId !== this.options.teamId || workspace.draft.revision !== request.expectedRevision + 1) throw new Error(\"Dataset write scope or revision mismatch.\");\n const result = this.readback(await this.request(`/${encodeURIComponent(workspace.draft.id)}`, \"PUT\", request, signal), workspace.draft.id);\n if (request.originProjectId && result.originProjectId !== request.originProjectId) throw new Error(\"Dataset origin Project mismatch.\");\n if (request.ownerScope && result.ownerScope !== request.ownerScope) throw new Error(\"Dataset owner scope mismatch.\");\n if (result.workspace.contentHash !== workspace.contentHash) throw new Error(\"Dataset write receipt differs from the saved bytes.\");\n return result;\n }\n async validate(id: string, expectedRevision: number, signal?: AbortSignal) {\n const result = DatasetWorkspaceValidationSchema.parse(await this.request(`/${encodeURIComponent(id)}/validate`, \"POST\", { expectedRevision }, signal));\n if (result.teamId !== this.options.teamId || result.datasetId !== id || result.revision !== expectedRevision) throw new Error(\"Dataset validation receipt mismatch.\");\n return result;\n }\n async publish(id: string, input: z.input<typeof DatasetWorkspacePublishSchema>, signal?: AbortSignal) {\n const request = DatasetWorkspacePublishSchema.parse(input);\n const result = this.readback(await this.request(`/${encodeURIComponent(id)}/publish`, \"POST\", request, signal), id);\n if (result.revision !== request.expectedRevision + 1 || result.workspace.draft.status !== \"published\" || result.publication?.packageHash !== request.packageHash) throw new Error(\"Dataset publication receipt mismatch.\");\n return result;\n }\n private readback(value: unknown, id: string) {\n const result = DatasetWorkspaceReceiptSchema.parse(value);\n validateTasksetDraftWorkspace(result.workspace);\n if (result.datasetId !== id || result.teamId !== this.options.teamId) throw new Error(\"Dataset identity mismatch.\");\n return result;\n }\n private async request(path: string, method: string, body?: unknown, signal?: AbortSignal, maxResponseBytes?: number): Promise<unknown> {\n const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/dataset-workspaces${path}`, {\n method, signal, redirect: \"error\", headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, \"Content-Type\": \"application/json\" },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n });\n if (!response.ok) throw new Error(`Dataset request failed (${response.status}).`);\n if (maxResponseBytes !== undefined) {\n if (!response.body) throw new Error(\"Dataset response is empty.\");\n const reader = response.body.getReader(), chunks: Uint8Array[] = []; let length = 0;\n try { while (true) { const part = await reader.read(); if (part.done) break; length += part.value.byteLength; if (length > maxResponseBytes) throw new Error(\"Dataset recovery exceeds its bounded response.\"); chunks.push(part.value); } } finally { await reader.cancel(); }\n const bytes = new Uint8Array(length); let offset = 0; for (const chunk of chunks) { bytes.set(chunk, offset); offset += chunk.length; }\n return JSON.parse(new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes));\n }\n return response.json();\n }\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { TaskSplitSchema, TaskRecordSchema } from \"@openpond/evals/tasksets\";\nimport { z } from \"zod\";\nimport { ExperimentGraderPinSchema } from \"./experiment-contracts.js\";\nimport { TasksetCatalogReleaseRefSchema } from \"./taskset-catalog.js\";\n\nconst Id = z.string().trim().min(1).max(500);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const DatasetPopulationQuerySchema = z.object({\n release: TasksetCatalogReleaseRefSchema,\n afterId: Id.optional(),\n limit: z.number().int().min(1).max(10_000).default(100),\n view: z.enum([\"ids\", \"policy\"]).default(\"ids\"),\n}).strict().superRefine((query, context) => { if (query.view === \"policy\" && query.limit > 100) context.addIssue({ code: \"custom\", path: [\"limit\"], message: \"Policy previews are bounded to 100 tasks.\" }); });\nconst TaskIdentity = z.object({ id: TaskRecordSchema.shape.id, split: TaskSplitSchema }).strict();\nconst PolicyTask = TaskIdentity.extend({\n input: z.record(z.string(), z.unknown()),\n policyVisibleContext: z.record(z.string(), z.unknown()),\n artifacts: z.array(z.object({ id: Id, path: z.string(), mediaType: z.string(), sizeBytes: z.number().int().nonnegative() }).strict()).max(1000),\n}).strict();\nexport const DatasetPopulationPageSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetPopulationPage.v1\"),\n teamId: Id, release: TasksetCatalogReleaseRefSchema,\n view: DatasetPopulationQuerySchema.shape.view,\n taskCount: z.number().int().nonnegative(),\n items: z.array(z.union([TaskIdentity, PolicyTask])).max(10_000),\n graders: z.array(ExperimentGraderPinSchema).max(1000),\n nextCursor: Id.nullable(), contentHash: Hash,\n}).strict().superRefine((page, context) => {\n if (page.view === \"policy\" && page.items.length > 100) context.addIssue({ code: \"custom\", message: \"Policy preview exceeded its task bound.\" });\n if (page.items.some(item => (\"input\" in item) !== (page.view === \"policy\"))) context.addIssue({ code: \"custom\", message: \"Dataset task view differs from the requested projection.\" });\n});\nexport type DatasetPopulationPage = z.infer<typeof DatasetPopulationPageSchema>;\n\n/** Exact released membership and policy-visible previews. Gold answers,\n * verifier source, privileged context and object locations are never returned. */\nexport class OpenPondDatasetPopulationClient {\n private readonly baseUrl: string;\n constructor(private readonly options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n async read(value: z.input<typeof DatasetPopulationQuerySchema>, signal?: AbortSignal): Promise<DatasetPopulationPage> {\n const query = DatasetPopulationQuerySchema.parse(value);\n const params = new URLSearchParams({ releaseId: query.release.id, revision: String(query.release.revision), contentHash: query.release.contentHash, limit: String(query.limit), view: query.view });\n if (query.afterId) params.set(\"afterId\", query.afterId);\n const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/dataset-workspaces/population?${params}`, { signal, redirect: \"error\", headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, Accept: \"application/json\" } });\n const reader = response.body?.getReader();\n if (!reader) throw new Error(\"Dataset population response was empty.\");\n let bytes = 0, source = \"\";\n const decoder = new TextDecoder();\n try {\n while (true) {\n const chunk = await reader.read();\n if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > 4_194_304) throw new Error(\"Dataset population response exceeded 4 MiB. Request fewer tasks.\");\n source += decoder.decode(chunk.value, { stream: true });\n }\n source += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const raw: unknown = JSON.parse(source);\n if (!response.ok) throw new Error(z.object({ message: z.string() }).passthrough().parse(raw).message);\n const page = DatasetPopulationPageSchema.parse(raw);\n const { contentHash: hash, ...content } = page;\n if (page.teamId !== this.options.teamId || contentHash(page.release) !== contentHash(query.release) || page.view !== query.view || page.items.length > query.limit || contentHash(content) !== hash || page.items.some((item, index) => (query.afterId !== undefined && item.id <= query.afterId) || (index > 0 && item.id <= page.items[index - 1]!.id)) || (page.nextCursor !== null && page.nextCursor !== page.items.at(-1)?.id)) throw new Error(\"Dataset population identity, hash, order or bounds mismatch.\");\n return page;\n }\n}\n", "import { z } from \"zod\";\nimport { DatasetPreparationTaskClassSchema, PreparedTaskEvidenceSpanSchema } from \"./dataset-preparation-contracts.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Text = z.string().trim().min(1).max(5_000);\nexport const DatasetPreparationResearchCandidateSchema = z.object({\n taskClass: DatasetPreparationTaskClassSchema,\n objective: z.string().trim().min(1).max(20_000),\n sourceSpans: z.array(PreparedTaskEvidenceSpanSchema).min(1).max(200),\n firstAvailableAt: z.iso.datetime(),\n reconstruction: z.object({\n kind: z.enum([\"text_only\", \"pinned_repository\", \"pinned_artifact\", \"unsupported\"]),\n requiredAssets: z.array(z.object({ reference: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).max(100),\n missingEvidence: z.array(Text).max(20),\n }).strict(),\n assessment: z.object({\n kind: z.enum([\"executable\", \"calibrated_judge\", \"unsupported\"]),\n requirements: z.array(z.object({ criterion: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).min(1).max(20),\n limitations: z.array(Text).max(20),\n }).strict(),\n}).strict().superRefine((value, ctx) => {\n if (!value.sourceSpans.some((span) => span.role === \"requirement\"))\n ctx.addIssue({ code: \"custom\", message: \"A research candidate requires independently retained user requirements.\" });\n if (value.assessment.requirements.some((item) => item.evidence.role !== \"requirement\"))\n ctx.addIssue({ code: \"custom\", message: \"Assessment criteria must cite user requirements, not historical answers.\" });\n});\n\n/** Each chunk replaces the coherent accumulated decision for that exact\n * conversation revision. It is a proposal, never qualification evidence. */\nexport const DatasetPreparationResearchDecisionSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetPreparationResearchDecision.v1\"),\n sourceId: Id,\n snapshotHash: z.string().regex(/^[a-f0-9]{64}$/),\n candidates: z.array(DatasetPreparationResearchCandidateSchema).max(100),\n exclusions: z.array(z.object({ code: Id, reason: Text, sourceSpans: z.array(PreparedTaskEvidenceSpanSchema).max(200) }).strict()).max(100),\n contextSummary: z.string().max(20_000),\n}).strict();\nexport type DatasetPreparationResearchCandidate = z.infer<typeof DatasetPreparationResearchCandidateSchema>;\nexport type DatasetPreparationResearchDecision = z.infer<typeof DatasetPreparationResearchDecisionSchema>;\n", "import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { ConnectedCaseRefSchema } from \"./connected-evidence-contracts.js\";\nimport { ConnectedStartingAssetSchema } from \"./connected-starting-assets.js\";\nimport { TasksetEnvironmentContractSchema } from \"./taskset-draft-core.js\";\n\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport function connectedStartingAssetReference(receiptId: string, path: string) {\n if (!/^starting-assets-[a-f0-9]{40}$/.test(receiptId)) throw new Error(\"Invalid starting asset receipt.\");\n ConnectedStartingAssetSchema.shape.path.parse(path);\n return `starting-assets:${receiptId}#${encodeURIComponent(path)}`;\n}\nexport function parseConnectedStartingAssetReference(reference: string) {\n const match = /^starting-assets:(starting-assets-[a-f0-9]{40})#(.+)$/.exec(reference);\n if (!match) throw new Error(\"Invalid starting asset reference.\");\n const path = decodeURIComponent(match[2]!);\n if (connectedStartingAssetReference(match[1]!, path) !== reference) throw new Error(\"Noncanonical starting asset reference.\");\n return { receiptId: match[1]!, path };\n}\n\n/** A host-owned selection of immutable bytes. Dependency sufficiency and\n * executable outcome checks still require isolated qualification. */\nexport const PreparedRepositoryStartingStateSchema = z.object({\n schemaVersion: z.literal(\"openpond.preparedRepositoryStartingState.v1\"),\n dependencyClosureQualified: z.literal(false),\n assets: z.array(ConnectedStartingAssetSchema.extend({\n receiptId: z.string().regex(/^starting-assets-[a-f0-9]{40}$/), receiptHash: Hash,\n source: ConnectedCaseRefSchema,\n }).strict()).min(1).max(100),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.assets.map(asset => asset.path)).size !== value.assets.length)\n ctx.addIssue({ code: \"custom\", message: \"Starting paths must be distinct.\" });\n if (value.assets.some(asset => asset.commitHash !== value.assets[0]!.commitHash\n || contentHash(asset.source) !== contentHash(value.assets[0]!.source)))\n ctx.addIssue({ code: \"custom\", message: \"Starting assets must belong to one original task boundary and commit.\" });\n});\nexport type PreparedRepositoryStartingState = z.infer<typeof PreparedRepositoryStartingStateSchema>;\n\nexport function preparedRepositoryEnvironment() {\n return TasksetEnvironmentContractSchema.parse({ protocolVersion: \"openpond.taskEnvironment.v1\", kind: \"work\",\n entrypoint: \"openpond-work-v1\", stateful: true, deterministicSeeds: true,\n toolNames: [\"work_exec\", \"work_save_output\"], lifecycle: [\"create\", \"reset\", \"step\", \"grade\", \"cleanup\"],\n defaultTimeoutMs: 300_000, networkPolicy: \"none\",\n resources: [],\n metadata: { requiredOutputs: [{ path: \"changes.patch\", mediaType: \"text/x-diff\", maxBytes: 5_000_000,\n metadata: { protocol: \"openpond.preparedRepositoryPatch.v1\", baseDirectory: \"starting-state\",\n description: \"Save a unified diff against the retained starting files, with original repository-relative paths.\" } }],\n maxInputBytes: 15 * 1024 * 1024 },\n });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { PreparedTaskProvenanceSchema } from \"./dataset-preparation-contracts.js\";\nimport { TaskDesignProposalSchema } from \"./task-design-contracts.js\";\nimport { TasksetSourceRefSchema, TaskDataRecordSchema, TaskRequiredOutputSchema } from \"./taskset-draft-core.js\";\nimport { TasksetDraftSchema } from \"./taskset-draft-document.js\";\nimport { createTasksetDraft } from \"./taskset-draft-authoring.js\";\nimport { createTasksetDraftWorkspace, decodeTasksetDraftWorkspaceFile, type TasksetDraftWorkspaceFile } from \"./taskset-draft-workspace.js\";\nimport { PreparedRepositoryStartingStateSchema, preparedRepositoryEnvironment, type PreparedRepositoryStartingState } from \"./dataset-preparation-starting-state.js\";\nimport { createTasksetDraftFile, decodeTasksetDraftFileContent } from \"./taskset-draft-files.js\";\nimport type { PreparedTaskProvenance } from \"./dataset-preparation-contracts.js\";\nimport type { TaskDesignProposal } from \"./task-design-contracts.js\";\nimport type { TasksetSourceRef } from \"./taskset-draft-core.js\";\n\n/** This creates a private, unqualified draft. Publication and execution stay\n * with their existing owners; no authorer can replace the reconstructed input. */\nexport function createPreparedTaskAuthoringWorkspace(input: {\n teamId: string;\n provenance: PreparedTaskProvenance;\n initialInput: Record<string, unknown>;\n initialEnvironment: Record<string, unknown>;\n startingFiles?: TasksetDraftWorkspaceFile[];\n startingAssets?: PreparedRepositoryStartingState | null;\n proposal: TaskDesignProposal;\n sources: TasksetSourceRef[];\n skillHash: string;\n modelId: string;\n attempt: number;\n createdAt: string;\n}) {\n const provenance = PreparedTaskProvenanceSchema.parse(input.provenance);\n const proposal = TaskDesignProposalSchema.parse(input.proposal);\n let sources = input.sources.map((source) => TasksetSourceRefSchema.parse(source));\n const environment = TasksetDraftSchema.shape.environment.parse(input.initialEnvironment);\n const startingFiles = input.startingFiles ?? [];\n let workAssets: ReturnType<typeof TaskDataRecordSchema.parse>[\"assets\"];\n let retainedFiles = startingFiles;\n if (contentHash(input.initialInput) !== provenance.initialInputHash || contentHash(environment) !== provenance.initialEnvironmentHash)\n throw new Error(\"Prepared Taskset input or starting environment differs from its reconstruction.\");\n if (environment.kind === \"work\") {\n const state = PreparedRepositoryStartingStateSchema.parse(input.startingAssets);\n if (contentHash(state) !== provenance.initialAssetsHash) throw new Error(\"Prepared starting assets differ from their reconstruction.\");\n if (contentHash(preparedRepositoryEnvironment()) !== contentHash(environment)\n || proposal.taskKind !== \"single_agent\" || proposal.diagnosis.requiredTools.some(tool => !environment.toolNames.includes(tool)))\n throw new Error(\"Repository preparation requires its fixed isolated Work protocol.\");\n if (startingFiles.length !== state.assets.length || new Set(startingFiles.map(file => file.path)).size !== startingFiles.length)\n throw new Error(\"Prepared starting files differ from the retained inventory.\");\n for (const asset of state.assets) {\n const file = startingFiles.find(file => file.path === `assets/starting-state/${asset.path}`);\n if (!file || file.contentHash !== asset.sha256 || file.sizeBytes !== asset.sizeBytes)\n throw new Error(\"Prepared starting files differ from the retained inventory.\");\n decodeTasksetDraftWorkspaceFile(file);\n }\n for (const asset of state.assets) if (!sources.some(source => \"kind\" in source && source.kind === \"connected_activity\"\n && source.id === asset.source.id && source.sourceHash === asset.source.snapshotHash))\n throw new Error(\"Prepared starting files require their exact connected source revision.\");\n sources = sources.map(source => \"kind\" in source && source.kind === \"connected_activity\"\n ? { ...source, sourceFileHashes: [...new Set(state.assets.filter(asset => asset.source.id === source.id).map(asset => asset.sha256))] } : source);\n workAssets = state.assets.map(asset => ({ id: `starting-file-${contentHash(asset.path).slice(0, 40)}`,\n sourceRefId: asset.source.id, artifactRef: `assets/${provenance.candidateId}/starting-state/${asset.path}`,\n fileName: asset.path.split(\"/\").at(-1)!, stagingPath: `starting-state/${asset.path}`,\n mediaType: \"application/octet-stream\", sha256: asset.sha256, sizeBytes: asset.sizeBytes, split: \"validation\",\n metadata: { receiptId: asset.receiptId, receiptHash: asset.receiptHash, originalPath: asset.path, mode: asset.mode } }));\n retainedFiles = startingFiles.map(file => ({ ...file, path: file.path.replace(\"assets/starting-state/\", `assets/${provenance.candidateId}/starting-state/`) }));\n } else if (environment.kind !== \"chat\" || environment.stateful || environment.toolNames.length || (environment.resources?.length ?? 0)\n || proposal.taskKind !== \"chat\" || proposal.diagnosis.requiredTools.length || startingFiles.length || input.startingAssets || provenance.initialAssetsHash !== null)\n throw new Error(\"Text preparation cannot silently add tools, state or starting assets.\");\n const sourceIds = new Set(sources.map((source) => source.id));\n if (!sources.length || sourceIds.size !== sources.length || proposal.sourceIds.some((id) => !sourceIds.has(id))\n || proposal.proposedExamples.length !== 1 || proposal.proposedExamples.some((example) => !sourceIds.has(example.sourceId)))\n throw new Error(\"Prepared Taskset authoring must retain exactly one reconstructed task and its authorized evidence.\");\n if (!/^[a-f0-9]{64}$/.test(input.skillHash) || !input.modelId.trim() || !Number.isSafeInteger(input.attempt) || input.attempt < 1 || input.attempt > 6)\n throw new Error(\"Prepared Taskset authoring provenance is invalid.\");\n if (!proposal.proposedGraders.length || new Set(proposal.proposedGraders.map((grader) => grader.id)).size !== proposal.proposedGraders.length)\n throw new Error(\"Prepared Taskset needs distinct outcome graders.\");\n if (proposal.generatedFiles.some((file) => file.role === \"environment\" || file.path === \"assets\" || file.path.startsWith(\"assets/\")))\n throw new Error(\"Generated code cannot replace the fixed initial environment or starting files.\");\n if (proposal.graderFixtures.some((fixture) => fixture.taskIndex !== 0 || fixture.metadata.substituteExpectedOutput === true))\n throw new Error(\"Prepared fixtures cannot refer to another task or substitute a historical answer.\");\n const draft = createTasksetDraft({ profileId: input.teamId,\n id: `${provenance.candidateId}-attempt-${input.attempt}-draft`, name: proposal.name, now: input.createdAt });\n draft.objective = proposal.objective;\n draft.sourceRefs = sources;\n draft.environment = environment;\n draft.graders = proposal.proposedGraders.map((grader) => ({ ...grader, taskIds: [provenance.candidateId], privileged: true,\n ...(grader.kind === \"model_judge\" ? { rewardEligible: false, calibrationStatus: \"pending\" as const } : {}),\n metadata: { ...grader.metadata, preparedRewardEligible: grader.rewardEligible, preparedTask: provenance.candidateId, authoringSkillHash: input.skillHash },\n }));\n draft.policy = { policyVisibleFields: environment.kind === \"work\" ? [\"input\", \"requiredOutputs\"] : [\"input\"], privilegedFields: [\"expectedOutput\"],\n hiddenGraderRefs: draft.graders.map((grader) => grader.id), connectedAppScopes: [] };\n draft.tasks = [TaskDataRecordSchema.parse({ schemaVersion: \"openpond.taskData.v1\", id: provenance.candidateId,\n clusterKey: provenance.familyKey, split: \"validation\", input: input.initialInput, expectedOutput: null,\n policyVisibleContext: {}, privilegedContextRef: null, sourceRefs: [...sourceIds],\n ...(environment.kind === \"work\" ? { assets: workAssets,\n requiredOutputs: TaskRequiredOutputSchema.array().min(1).max(100).parse(environment.metadata.requiredOutputs) } : {}),\n tags: [\"prepared-task\", \"development-exposed\"], metadata: { preparedTask: provenance, qualificationStatus: \"pending\",\n ...(workAssets ? { portableTaskRecord: { id: provenance.candidateId, clusterKey: provenance.familyKey, split: \"validation\",\n input: input.initialInput, expectedOutput: null, policyVisibleContext: {}, privilegedContextRef: null,\n artifactRefs: workAssets.map(asset => ({ id: asset.id, path: asset.artifactRef, contentHash: asset.sha256,\n sizeBytes: asset.sizeBytes, mediaType: asset.mediaType, visibility: \"policy\" })),\n tags: [\"prepared-task\", \"development-exposed\"] } } : {}) },\n })];\n draft.graderFixtures = proposal.graderFixtures.map(({ taskIndex: _index, ...fixture }) => ({ ...fixture, taskId: provenance.candidateId,\n metadata: { ...fixture.metadata, witnessOrigin: \"authoring_proposal\", independentlyQualified: false } }));\n draft.metadata = { datasetPreparation: { schemaVersion: \"openpond.datasetPreparationAuthoring.v1\",\n provenance, modelId: input.modelId, skillHash: input.skillHash, proposalHash: contentHash(proposal),\n attempt: input.attempt, qualification: \"pending\", exposure: \"development\" } };\n return createTasksetDraftWorkspace({ schemaVersion: \"openpond.tasksetDraftWorkspace.v1\", draft,\n files: [...retainedFiles, ...proposal.generatedFiles.map((generated) => {\n const file = createTasksetDraftFile(generated.path, new TextEncoder().encode(generated.content));\n return { path: file.path, contentHash: file.contentHash, sizeBytes: file.sizeBytes,\n base64: Buffer.from(decodeTasksetDraftFileContent(file.content)).toString(\"base64\") };\n })] });\n}\n", "import { z } from \"zod\";\nimport { TaskRequiredOutputSchema } from \"./taskset-draft-core.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Text = z.string().trim().min(1).max(20_000);\nexport const PreparedQualificationWitnessSchema = z.object({\n id: Id, label: z.enum([\"positive\", \"incorrect\", \"incomplete\", \"adversarial\"]),\n output: z.record(z.string(), z.unknown()),\n artifacts: z.array(z.object({\n path: TaskRequiredOutputSchema.shape.path, mediaType: TaskRequiredOutputSchema.shape.mediaType,\n base64: z.string().max(8 * 1024 * 1024),\n }).strict()).max(100),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.artifacts.map(artifact => artifact.path)).size !== value.artifacts.length)\n ctx.addIssue({ code: \"custom\", message: \"Qualification artifacts must have distinct paths.\" });\n});\n\n/** Generated from original requirements before seeing the authored checker or\n * proposed answers. The plan remains privileged, unqualified evidence. */\nexport const PreparedQualificationPlanSchema = z.object({\n schemaVersion: z.literal(\"openpond.preparedQualificationPlan.v1\"),\n requirementRefs: z.array(Id).min(1).max(100),\n supported: z.boolean(), limitations: z.array(Text).max(20),\n independentVerifier: z.object({\n runtime: z.enum([\"isolated_javascript\", \"sandbox_process\"]),\n source: z.string().trim().min(1).max(200_000), exportName: z.literal(\"verify\"),\n timeoutMs: z.number().int().min(1).max(60_000),\n }).strict().nullable(),\n witnesses: z.array(PreparedQualificationWitnessSchema).max(20),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.requirementRefs).size !== value.requirementRefs.length || new Set(value.witnesses.map(item => item.id)).size !== value.witnesses.length)\n ctx.addIssue({ code: \"custom\", message: \"Qualification evidence identities must be distinct.\" });\n if (value.supported && (!value.independentVerifier || value.limitations.length\n || [\"positive\", \"incorrect\", \"incomplete\", \"adversarial\"].some(label => !value.witnesses.some(witness => witness.label === label))))\n ctx.addIssue({ code: \"custom\", message: \"Supported qualification needs a complete verifier and witness population without unresolved evidence gaps.\" });\n});\nexport type PreparedQualificationPlan = z.infer<typeof PreparedQualificationPlanSchema>;\nexport type PreparedQualificationWitness = z.infer<typeof PreparedQualificationWitnessSchema>;\n\n/** A second, blinded adjudication sees source requirements and actual witness\n * outputs, but no planned labels, verifier code or claimed checker verdicts. */\nexport const PreparedWitnessAdjudicationSchema = z.object({\n schemaVersion: z.literal(\"openpond.preparedWitnessAdjudication.v1\"),\n witnesses: z.array(z.object({\n id: Id,\n failureMode: z.enum([\"none\", \"incorrect\", \"incomplete\", \"adversarial\", \"unverifiable\"]),\n requirements: z.array(z.object({ reference: Id, status: z.enum([\"satisfied\", \"violated\", \"unverifiable\"]), reason: Text }).strict()).min(1).max(100),\n }).strict()).min(4).max(20),\n}).strict();\nexport type PreparedWitnessAdjudication = z.infer<typeof PreparedWitnessAdjudicationSchema>;\n\nexport const PreparedCheckerAuditSchema = z.object({\n schemaVersion: z.literal(\"openpond.preparedCheckerAudit.v1\"),\n requirements: z.array(z.object({ reference: Id, adequatelyChecked: z.boolean(), oracleAdequatelyChecked: z.boolean(), reason: Text }).strict()).min(1).max(100),\n executionIsolationPassed: z.boolean(),\n futureEvidenceLeak: z.boolean(), unresolvedLimitations: z.array(Text).max(20),\n passed: z.boolean(),\n}).strict();\n", "import { contentHash } from \"@openpond/harness\";\nimport { createTasksetDraftWorkspace, validateTasksetDraftWorkspace, type TasksetDraftWorkspace } from \"./taskset-draft-workspace.js\";\n\n/** Composition preserves task inputs and isolates each checker population.\n * This is a new unqualified package: individual reports cannot certify it. */\nexport function assemblePreparedTaskWorkspaces(input: {\n base: TasksetDraftWorkspace; candidates: TasksetDraftWorkspace[];\n preparationId: string; revision: number; now: string;\n}): TasksetDraftWorkspace {\n const base = validateTasksetDraftWorkspace(input.base);\n const candidates = input.candidates.map(validateTasksetDraftWorkspace);\n if (!candidates.length || base.draft.status !== \"draft\" || candidates.some(workspace => workspace.draft.profileId !== base.draft.profileId || workspace.draft.tasks.length !== 1))\n throw new Error(\"Prepared assembly requires owned individual task workspaces and an editable destination.\");\n const environment = base.draft.tasks.length ? base.draft.environment : candidates[0]!.draft.environment;\n if (candidates.some(workspace => contentHash(workspace.draft.environment) !== contentHash(environment)))\n throw new Error(\"Prepared tasks require separate versions for incompatible execution environments.\");\n const tasks = [...base.draft.tasks], files = [...base.files], graders = base.draft.graders.map(grader => ({ ...grader,\n ...(grader.taskIds ? {} : { taskIds: base.draft.tasks.map(task => task.id) }) }));\n if (!base.draft.tasks.length && graders.length) throw new Error(\"Destination graders require their original task population.\");\n const sources = new Map(base.draft.sourceRefs.map(source => [source.id, source]));\n const fixtures = [...base.draft.graderFixtures];\n const inventory = [...(base.draft.metadata.portableFileInventory ?? []) as Array<{ asset: Record<string, unknown>; sourcePath: string }>];\n const candidateIds: string[] = [];\n for (const workspace of candidates) {\n const task = workspace.draft.tasks[0]!;\n if (tasks.some(existing => existing.id === task.id)) throw new Error(\"Prepared assembly repeats a task identity.\");\n const provenance = task.metadata.preparedTask as { preparationId?: unknown } | undefined;\n if (provenance?.preparationId !== input.preparationId) throw new Error(\"Prepared task belongs to another run.\");\n const sourceIds = new Map(workspace.draft.sourceRefs.map(source => [source.id, `prepared-source-${contentHash([task.id, source.id]).slice(0, 40)}`]));\n candidateIds.push(task.id); tasks.push({ ...task, sourceRefs: task.sourceRefs.map(id => sourceIds.get(id)!),\n ...(task.assets ? { assets: task.assets.map(asset => ({ ...asset, sourceRefId: sourceIds.get(asset.sourceRefId)! })) } : {}) });\n const namespace = `graders/${task.id}/`;\n for (const file of workspace.files) files.push({ ...file, path: file.path.startsWith(\"assets/\") ? file.path : namespace + file.path });\n const graderIds = new Map(workspace.draft.graders.map(grader => [grader.id, `prepared-grader-${contentHash([task.id, grader.id]).slice(0, 40)}`]));\n for (const grader of workspace.draft.graders) {\n const id = graderIds.get(grader.id)!;\n // Executable relative imports stay together. Their new paths and IDs are\n // independently checked again against the final compiled package.\n graders.push({ ...grader, id, taskIds: [task.id],\n ...(grader.kind === \"custom_verifier\" ? { module: namespace + grader.module } : {}),\n metadata: { ...grader.metadata, preparedTask: task.id, composedFrom: { id: grader.id, contentHash: contentHash(grader) } } });\n }\n for (const fixture of workspace.draft.graderFixtures) {\n const projection = fixture.metadata.rewardCalibration as { graderId?: string; sourceReward?: { id: string } } | undefined;\n if (projection) fixtures.push({ ...fixture, metadata: { ...fixture.metadata, rewardCalibration: { ...projection,\n graderId: graderIds.get(projection.graderId ?? projection.sourceReward!.id)! } } });\n else fixtures.push({ ...fixture, id: `prepared-fixture-${contentHash([task.id, fixture.id]).slice(0, 40)}` });\n }\n for (const entry of (workspace.draft.metadata.portableFileInventory ?? []) as typeof inventory) inventory.push({ ...entry,\n sourcePath: entry.sourcePath.startsWith(\"assets/\") ? entry.sourcePath : namespace + entry.sourcePath });\n for (const source of workspace.draft.sourceRefs) sources.set(sourceIds.get(source.id)!, { ...source,\n id: sourceIds.get(source.id)!, metadata: { ...source.metadata, assemblyOriginalSourceId: source.id } });\n }\n const policyVisibleFields = [...new Set(candidates.flatMap(workspace => workspace.draft.policy.policyVisibleFields).concat(base.draft.tasks.length ? base.draft.policy.policyVisibleFields : []))];\n return createTasksetDraftWorkspace({ schemaVersion: base.schemaVersion, files,\n draft: { ...base.draft, name: base.draft.name.trim() || `Prepared ${candidates.length} tasks`,\n objective: base.draft.objective.trim() || candidates.map(workspace => workspace.draft.objective).join(\"\\n\").slice(0, 50_000), revision: input.revision, updatedAt: input.now, environment, tasks, graders, graderFixtures: fixtures,\n sourceRefs: [...sources.values()], policy: { ...base.draft.policy, policyVisibleFields,\n privilegedFields: [...new Set([\"expectedOutput\", ...base.draft.policy.privilegedFields])], hiddenGraderRefs: graders.map(grader => grader.id) },\n metadata: { ...base.draft.metadata, portableFileInventory: inventory, datasetPreparation: { schemaVersion: \"openpond.datasetPreparationAssembly.v1\", preparationId: input.preparationId,\n candidateIds, baseWorkspaceHash: base.contentHash, authoredWorkspaceHashes: candidates.map(workspace => workspace.contentHash), qualification: \"pending\" } } } });\n}\n"],
5
- "mappings": "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",
3
+ "sources": ["../src/dataset-workspace-operations.ts", "../src/dataset-preparation-client.ts", "../src/dataset-preparation-contracts.ts", "../src/dataset-workspace-client.ts", "../src/dataset-population.ts", "../src/dataset-preparation-research-contracts.ts", "../src/dataset-preparation-starting-state.ts", "../src/dataset-preparation-workspace.ts", "../src/dataset-preparation-source-coverage.ts", "../src/dataset-preparation-qualification-contracts.ts", "../src/dataset-preparation-assembly.ts"],
4
+ "sourcesContent": ["import { z } from \"zod\";\nimport { DatasetWorkspaceReceiptSchema } from \"./dataset-workspace-contracts.js\";\nexport const DatasetWorkspaceOperationKindSchema = z.enum([\"create\", \"save\", \"publish\", \"begin_version\"]);\nexport const DatasetWorkspaceOperationResultSchema = z.object({ operationId: z.string().trim().min(1).max(240), kind: DatasetWorkspaceOperationKindSchema, requestHash: z.string().regex(/^[a-f0-9]{64}$/), receipt: DatasetWorkspaceReceiptSchema, base: DatasetWorkspaceReceiptSchema.nullable() }).strict().superRefine((value, context) => {\n const { receipt, base, kind } = value;\n if (base && (base.teamId !== receipt.teamId || base.datasetId !== receipt.datasetId || base.revision + 1 !== receipt.revision) || !base && receipt.revision !== 1) context.addIssue({ code: \"custom\", message: \"Operation recovery history identity/revision mismatch.\" });\n if (base && ((base.ownerScope ?? \"workspace\") !== (receipt.ownerScope ?? \"workspace\") || base.originProjectId !== receipt.originProjectId || base.workspace.draft.createdAt !== receipt.workspace.draft.createdAt)) context.addIssue({ code: \"custom\", message: \"Operation recovery cannot change Dataset ownership or origin.\" });\n const actualKind = !base ? \"create\" : receipt.workspace.draft.status === \"published\" ? \"publish\" : base.workspace.draft.status === \"published\" ? \"begin_version\" : \"save\";\n if (kind !== actualKind) context.addIssue({ code: \"custom\", message: \"Operation recovery kind differs from its retained lifecycle.\" });\n});\nexport type DatasetWorkspaceOperationResult = z.infer<typeof DatasetWorkspaceOperationResultSchema>;\n", "import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport {\n DatasetPreparationCandidateSchema,\n DatasetPreparationCommandSchema,\n DatasetPreparationCreateSchema,\n DatasetPreparationListSchema,\n DatasetPreparationRunSchema,\n DatasetPreparationGrantCreateSchema,\n DatasetPreparationGrantSchema,\n} from \"./dataset-preparation-contracts.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst CandidatePage = z\n .object({\n teamId: Id,\n datasetId: Id,\n runId: Id,\n candidates: z.array(DatasetPreparationCandidateSchema).max(50),\n nextCursor: Id.nullable(),\n })\n .strict();\n\nexport class DatasetPreparationRequestError extends Error {\n constructor(\n readonly status: number,\n readonly code: string,\n message: string,\n ) {\n super(message);\n this.name = \"DatasetPreparationRequestError\";\n }\n}\n\n/** The same durable run is controlled by web, Desktop and CLI. A timed-out\n * write is recovered by operation ID, never replaced with a new paid intent. */\nexport class OpenPondDatasetPreparationClient {\n private readonly baseUrl: string;\n constructor(\n private readonly options: {\n baseUrl: string;\n apiKey: string;\n teamId: string;\n fetch?: typeof fetch;\n },\n ) {\n const url = new URL(options.baseUrl);\n if (\n ![\"http:\", \"https:\"].includes(url.protocol) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash ||\n !options.apiKey.trim() ||\n !options.teamId.trim()\n )\n throw new Error(\n \"A clean API origin and workspace credentials are required.\",\n );\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n\n async create(\n datasetId: string,\n input: z.input<typeof DatasetPreparationCreateSchema>,\n signal?: AbortSignal,\n ) {\n const request = DatasetPreparationCreateSchema.parse(input);\n const result = this.readRun(\n await this.request(datasetId, \"\", \"POST\", request, signal),\n datasetId,\n );\n if (\n result.operationId !== request.operationId ||\n result.requestHash !== contentHash(request) ||\n result.datasetRevision !== request.expectedDatasetRevision\n )\n throw new Error(\n \"Preparation creation receipt differs from the saved intent.\",\n );\n return result;\n }\n\n async createGrant(\n datasetId: string,\n input: z.input<typeof DatasetPreparationGrantCreateSchema>,\n signal?: AbortSignal,\n ) {\n const request = DatasetPreparationGrantCreateSchema.parse(input);\n const grant = this.readGrant(\n await this.request(datasetId, \"/grants\", \"POST\", request, signal),\n );\n if (\n grant.id !== request.id ||\n grant.projectId !== request.projectId ||\n grant.maximumMicroUsd !== request.maximumMicroUsd ||\n grant.maximumSandboxSeconds !== request.maximumSandboxSeconds\n )\n throw new Error(\n \"Preparation grant receipt differs from the saved limits.\",\n );\n return grant;\n }\n\n async getGrant(datasetId: string, grantId: string, signal?: AbortSignal) {\n const grant = this.readGrant(\n await this.request(\n datasetId,\n `/grants/${encodeURIComponent(Id.parse(grantId))}`,\n \"GET\",\n undefined,\n signal,\n ),\n );\n if (grant.id !== grantId)\n throw new Error(\"Preparation grant identity mismatch.\");\n return grant;\n }\n\n private readGrant(value: unknown) {\n const grant = DatasetPreparationGrantSchema.parse(value);\n if (grant.teamId !== this.options.teamId)\n throw new Error(\"Preparation grant workspace mismatch.\");\n return grant;\n }\n\n async get(datasetId: string, runId: string, signal?: AbortSignal) {\n return this.readRun(\n await this.request(\n datasetId,\n `/${encodeURIComponent(Id.parse(runId))}`,\n \"GET\",\n undefined,\n signal,\n ),\n datasetId,\n runId,\n );\n }\n\n async list(\n datasetId: string,\n options: { cursor?: string; signal?: AbortSignal } = {},\n ) {\n const query = new URLSearchParams(\n options.cursor ? { cursor: Id.parse(options.cursor) } : {},\n );\n const result = DatasetPreparationListSchema.parse(\n await this.request(\n datasetId,\n `?${query}`,\n \"GET\",\n undefined,\n options.signal,\n ),\n );\n if (\n result.teamId !== this.options.teamId ||\n result.datasetId !== datasetId ||\n result.runs.some(\n (run) => run.teamId !== result.teamId || run.datasetId !== datasetId,\n ) ||\n new Set(result.runs.map((run) => run.id)).size !== result.runs.length\n )\n throw new Error(\"Preparation list scope/identity mismatch.\");\n return result;\n }\n\n async command(\n datasetId: string,\n runId: string,\n input: z.input<typeof DatasetPreparationCommandSchema>,\n signal?: AbortSignal,\n ) {\n const request = DatasetPreparationCommandSchema.parse(input);\n const result = this.readRun(\n await this.request(\n datasetId,\n `/${encodeURIComponent(Id.parse(runId))}/commands`,\n \"POST\",\n request,\n signal,\n ),\n datasetId,\n runId,\n );\n if (result.revision < request.expectedRevision + 1)\n throw new Error(\n \"Preparation command did not advance the expected revision.\",\n );\n return result;\n }\n\n async operationResult(\n datasetId: string,\n operationId: string,\n signal?: AbortSignal,\n ) {\n const result = await this.request(\n datasetId,\n `/operations/${encodeURIComponent(Id.parse(operationId))}`,\n \"GET\",\n undefined,\n signal,\n );\n if (result === null) return null;\n const receipt = z\n .object({\n operationId: Id,\n requestHash: z.string().regex(/^[a-f0-9]{64}$/),\n run: DatasetPreparationRunSchema,\n })\n .strict()\n .parse(result);\n if (receipt.operationId !== operationId)\n throw new Error(\"Preparation operation recovery identity mismatch.\");\n this.readRun(receipt.run, datasetId);\n return receipt;\n }\n\n async candidates(\n datasetId: string,\n runId: string,\n options: { cursor?: string; signal?: AbortSignal } = {},\n ) {\n const query = new URLSearchParams(\n options.cursor ? { cursor: Id.parse(options.cursor) } : {},\n );\n const result = CandidatePage.parse(\n await this.request(\n datasetId,\n `/${encodeURIComponent(Id.parse(runId))}/candidates?${query}`,\n \"GET\",\n undefined,\n options.signal,\n ),\n );\n if (\n result.teamId !== this.options.teamId ||\n result.datasetId !== datasetId ||\n result.runId !== runId ||\n result.candidates.some((candidate) => candidate.runId !== runId) ||\n new Set(result.candidates.map((candidate) => candidate.id)).size !==\n result.candidates.length\n )\n throw new Error(\"Preparation candidate page scope/identity mismatch.\");\n return result;\n }\n\n private readRun(value: unknown, datasetId: string, runId?: string) {\n const result = DatasetPreparationRunSchema.parse(value);\n if (\n result.teamId !== this.options.teamId ||\n result.datasetId !== datasetId ||\n (runId && result.id !== runId)\n )\n throw new Error(\"Preparation run scope/identity mismatch.\");\n return result;\n }\n\n private async request(\n datasetId: string,\n path: string,\n method: string,\n body?: unknown,\n signal?: AbortSignal,\n ): Promise<unknown> {\n const response = await (this.options.fetch ?? fetch)(\n `${this.baseUrl}/v1/dataset-workspaces/${encodeURIComponent(Id.parse(datasetId))}/preparations${path}`,\n {\n method,\n signal,\n redirect: \"error\",\n headers: {\n Authorization: `Bearer ${this.options.apiKey}`,\n \"X-OpenPond-Team-Id\": this.options.teamId,\n \"Content-Type\": \"application/json\",\n },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n },\n );\n if (!response.body) {\n if (!response.ok)\n throw new DatasetPreparationRequestError(\n response.status,\n \"dataset_preparation_request_failed\",\n `Dataset preparation request failed (${response.status}).`,\n );\n throw new Error(\"Preparation response is empty.\");\n }\n const reader = response.body.getReader(),\n chunks: Uint8Array[] = [];\n let length = 0;\n try {\n while (true) {\n const part = await reader.read();\n if (part.done) break;\n length += part.value.byteLength;\n if (length > (response.ok ? 8 * 1024 * 1024 : 64 * 1024))\n throw new Error(\"Preparation response exceeds its bounded page.\");\n chunks.push(part.value);\n }\n } finally {\n await reader.cancel();\n }\n const bytes = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n bytes.set(chunk, offset);\n offset += chunk.length;\n }\n const raw = new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n if (!response.ok) {\n let value: unknown = null;\n try {\n value = JSON.parse(raw);\n } catch {\n /* Gateways can return non-JSON failures. */\n }\n const error = z\n .object({ code: z.string().max(240), message: z.string().max(5_000) })\n .safeParse(value);\n throw new DatasetPreparationRequestError(\n response.status,\n error.success ? error.data.code : \"dataset_preparation_request_failed\",\n error.success\n ? error.data.message\n : `Dataset preparation request failed (${response.status}).`,\n );\n }\n return JSON.parse(raw);\n }\n}\n", "import { z } from \"zod\";\nimport { ConnectedCaseRefSchema } from \"./connected-evidence-contracts.js\";\nimport { TasksetCatalogReleaseRefSchema } from \"./taskset-catalog.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nconst Timestamp = z.iso.datetime();\nconst Count = z.number().int().nonnegative();\nconst MicroUsd = z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER);\n\nexport const DatasetPreparationGrantCreateSchema = z\n .object({\n id: Id,\n projectId: Id,\n maximumMicroUsd: MicroUsd.positive(),\n maximumSandboxSeconds: Count.max(10_800),\n })\n .strict();\n\nexport const DatasetPreparationGrantSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.datasetPreparationGrant.v1\"),\n id: Id,\n teamId: Id,\n ownerUserId: Id,\n projectId: Id,\n maximumMicroUsd: MicroUsd,\n maximumSandboxSeconds: Count,\n settledMicroUsd: MicroUsd,\n heldMicroUsd: MicroUsd,\n sandboxSeconds: Count,\n heldSandboxSeconds: Count,\n unresolvedCalls: Count,\n cleanupPending: Count,\n createdAt: Timestamp,\n updatedAt: Timestamp,\n })\n .strict();\n\nexport const DatasetPreparationTaskClassSchema = z.enum([\n \"coding_change\",\n \"debugging\",\n \"code_explanation\",\n \"structured_text\",\n \"artifact_work\",\n]);\nexport const DatasetPreparationStageSchema = z.enum([\n \"inventory\",\n \"preview\",\n \"reconstruction\",\n \"grader_authoring\",\n \"qualification\",\n \"release\",\n]);\nexport const DatasetPreparationStatusSchema = z.enum([\n \"draft\",\n \"running\",\n \"pausing\",\n \"paused\",\n \"needs_attention\",\n \"preview_ready\",\n \"ready\",\n \"releasing\",\n \"completed\",\n \"insufficient_data\",\n \"budget_exhausted\",\n \"cancelling\",\n \"cancelled\",\n \"failed\",\n]);\n\nexport const DatasetPreparationSourceSchema = z\n .object({\n projectId: Id,\n from: Timestamp,\n to: Timestamp,\n importCutoff: Timestamp,\n connections: z.array(Id).min(1).max(50),\n excludedSessions: z.array(z.object({\n connectionId: Id,\n sourceKeyHash: Hash,\n nativeRevisionHash: Hash,\n reason: z.enum([\"source_read_failed\", \"native_session_not_ready\"]),\n explanation: z.string().trim().min(1).max(2_000),\n }).strict()).max(10_000).default([]),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (Date.parse(value.from) >= Date.parse(value.to))\n ctx.addIssue({\n code: \"custom\",\n message: \"Source event-time window must be nonempty.\",\n });\n if (new Set(value.connections).size !== value.connections.length)\n ctx.addIssue({\n code: \"custom\",\n message: \"Source connections must be unique.\",\n });\n if (value.excludedSessions.some(item => !value.connections.includes(item.connectionId)))\n ctx.addIssue({ code: \"custom\", message: \"Excluded sessions must belong to selected source connections.\" });\n if (new Set(value.excludedSessions.map(item => JSON.stringify([item.connectionId, item.sourceKeyHash]))).size !== value.excludedSessions.length)\n ctx.addIssue({ code: \"custom\", message: \"Source session exclusions must be unique.\" });\n });\n\nexport const DatasetPreparationPolicySchema = z\n .object({\n source: DatasetPreparationSourceSchema,\n taskClasses: z.array(DatasetPreparationTaskClassSchema).min(1).max(5),\n limits: z\n .object({\n maximumConversations: z.number().int().min(1).max(10_000),\n maximumCandidates: z.number().int().min(1).max(10_000),\n acceptedTarget: z.number().int().min(1).max(10_000),\n maximumRepairsPerCandidate: z.number().int().min(0).max(5),\n maximumEvidenceBytesPerConversation: z\n .number()\n .int()\n .min(1_024)\n .max(2_000_000),\n })\n .strict(),\n researcher: z\n .object({\n modelId: Id,\n maximumOutputTokens: z.number().int().min(1).max(32_768),\n })\n .strict(),\n adjudicator: z.object({ modelId: Id, maximumOutputTokens: z.number().int().min(1).max(32_768) }).strict(),\n grading: z.discriminatedUnion(\"mode\", [\n z.object({ mode: z.literal(\"auto\") }).strict(),\n z.object({ mode: z.literal(\"existing_only\") }).strict(),\n z\n .object({\n mode: z.literal(\"manual\"),\n releases: z.array(TasksetCatalogReleaseRefSchema).min(1).max(100),\n })\n .strict(),\n ]),\n budget: z\n .object({\n grantId: Id,\n maximumMicroUsd: MicroUsd.positive(),\n previewMaximumMicroUsd: MicroUsd,\n qualificationMaximumMicroUsdPerCandidate: MicroUsd,\n maximumSandboxSeconds: Count.max(10_800),\n })\n .strict(),\n finish: z.enum([\"stop_ready\", \"create_private_version\"]),\n execution: z.enum([\"preview_only\", \"prepare\"]),\n allowPartialVersion: z.boolean(),\n // Pilot-inspected material is development data. Protected study preparation\n // uses a separate authorization and cannot inherit this inspection policy.\n population: z.literal(\"development\"),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (value.limits.acceptedTarget > value.limits.maximumCandidates)\n ctx.addIssue({\n code: \"custom\",\n message: \"Accepted target exceeds candidate scan limit.\",\n });\n if (value.budget.previewMaximumMicroUsd > value.budget.maximumMicroUsd)\n ctx.addIssue({\n code: \"custom\",\n message: \"Preview allowance exceeds the shared preparation ceiling.\",\n });\n if (new Set(value.taskClasses).size !== value.taskClasses.length)\n ctx.addIssue({ code: \"custom\", message: \"Task classes must be unique.\" });\n });\n\nexport const DatasetPreparationCreateSchema = z\n .object({\n operationId: Id,\n expectedDatasetRevision: z.number().int().positive(),\n policy: DatasetPreparationPolicySchema,\n })\n .strict();\n\nexport const DatasetPreparationCommandSchema = z.discriminatedUnion(\"action\", [\n z\n .object({\n action: z.enum([\"start\", \"pause\", \"resume\", \"cancel\", \"release\"]),\n operationId: Id,\n expectedRevision: z.number().int().positive(),\n })\n .strict(),\n z\n .object({\n action: z.literal(\"resolve\"),\n operationId: Id,\n expectedRevision: z.number().int().positive(),\n candidateId: Id,\n decision: z.enum([\"retry\", \"exclude\"]),\n reason: z.string().trim().min(1).max(5_000),\n })\n .strict(),\n]);\n\nexport const DatasetPreparationCoverageSchema = z\n .object({\n conversations: Count,\n importedTurns: Count,\n selectedTurns: Count,\n queuedSnapshots: Count.nullable(),\n failedSessions: Count.nullable(),\n skippedSessions: Count.nullable(),\n lastAdmissionAt: Timestamp.nullable(),\n complete: z.boolean(),\n sourceComplete: z.boolean().default(false),\n excludedSessions: Count.default(0),\n reasons: z\n .array(\n z\n .object({ code: Id, message: z.string().trim().min(1).max(2_000) })\n .strict(),\n )\n .max(100),\n sourceInventoryHash: Hash,\n })\n .strict();\n\nexport const DatasetPreparationAccountingSchema = z\n .object({\n maximumMicroUsd: MicroUsd,\n settledMicroUsd: MicroUsd,\n heldMicroUsd: MicroUsd,\n unresolvedCalls: Count,\n sandboxSeconds: Count,\n cleanupPending: Count,\n complete: z.boolean(),\n })\n .strict();\n\nexport const DatasetPreparationPreviewSchema = z\n .object({\n sampleConversations: Count,\n sampleTurns: Count,\n candidateCount: Count,\n modelId: Id,\n modelConfigurationHash: Hash,\n callReceiptIds: z.array(Id).max(2_000),\n inputTokens: Count.nullable(),\n outputTokens: Count.nullable(),\n classes: z\n .array(\n z\n .object({\n taskClass: DatasetPreparationTaskClassSchema,\n candidates: Count,\n assessment: z.enum([\n \"executable\",\n \"calibrated_judge\",\n \"unsupported\",\n ]),\n requirements: z.array(z.string().trim().min(1).max(5_000)).max(20),\n })\n .strict(),\n )\n .max(5),\n exclusions: z\n .array(\n z\n .object({\n code: Id,\n count: Count,\n reason: z.string().trim().min(1).max(5_000),\n })\n .strict(),\n )\n .max(100),\n estimates: z\n .array(\n z\n .object({\n stage: DatasetPreparationStageSchema,\n minimumMicroUsd: MicroUsd,\n maximumMicroUsd: MicroUsd,\n assumptions: z\n .array(z.string().trim().min(1).max(2_000))\n .min(1)\n .max(20),\n })\n .strict()\n .refine(\n (value) => value.minimumMicroUsd <= value.maximumMicroUsd,\n \"Estimate range is reversed.\",\n ),\n )\n .max(6),\n createdAt: Timestamp,\n })\n .strict();\n\nexport const DatasetPreparationRunSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.datasetPreparationRun.v1\"),\n id: Id,\n operationId: Id,\n teamId: Id,\n ownerUserId: Id,\n datasetId: Id,\n datasetRevision: z.number().int().positive(),\n revision: z.number().int().positive(),\n requestHash: Hash,\n policy: DatasetPreparationPolicySchema,\n status: DatasetPreparationStatusSchema,\n stage: DatasetPreparationStageSchema,\n coverage: DatasetPreparationCoverageSchema.nullable(),\n preview: DatasetPreparationPreviewSchema.nullable(),\n counts: z\n .object({\n scannedConversations: Count,\n scannedTurns: Count,\n candidates: Count,\n reconstructed: Count,\n qualifying: Count,\n qualified: Count,\n excluded: Count,\n needsAttention: Count,\n })\n .strict(),\n accounting: DatasetPreparationAccountingSchema,\n publication: z\n .object({\n datasetId: Id,\n workspaceRevision: z.number().int().positive(),\n release: TasksetCatalogReleaseRefSchema,\n })\n .strict()\n .nullable(),\n error: z\n .object({ code: Id, message: z.string().trim().min(1).max(5_000) })\n .strict()\n .nullable(),\n createdAt: Timestamp,\n updatedAt: Timestamp,\n })\n .strict()\n .superRefine((value, ctx) => {\n if (\n value.accounting.maximumMicroUsd !== value.policy.budget.maximumMicroUsd\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Accounting authority differs from the saved preparation policy.\",\n });\n if (\n value.counts.qualified +\n value.counts.excluded +\n value.counts.needsAttention >\n value.counts.candidates\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Preparation outcomes exceed the candidate population.\",\n });\n if (\n value.status === \"preview_ready\" &&\n (value.policy.execution !== \"preview_only\" || value.stage !== \"preview\" || !value.preview || !value.coverage?.complete || !value.accounting.complete)\n ) ctx.addIssue({ code: \"custom\", message: \"Preview readiness requires a preview-only policy, reconciled source coverage and settled preview calls.\" });\n if (\n [\"ready\", \"releasing\", \"completed\"].includes(value.status) &&\n (value.counts.qualified === 0 || !value.policy.allowPartialVersion &&\n value.counts.qualified < value.policy.limits.acceptedTarget)\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Preparation cannot report readiness below its accepted target.\",\n });\n if ([\"ready\", \"releasing\", \"completed\"].includes(value.status) &&\n (value.policy.execution !== \"prepare\" || !value.preview || !value.coverage?.complete || !value.accounting.complete))\n ctx.addIssue({ code: \"custom\", message: \"Dataset readiness requires full preparation authority, reconciled source coverage, preview and final accounting.\" });\n if (\n value.status === \"completed\" &&\n (!value.publication || !value.accounting.complete)\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Completed preparation requires publication and reconciled accounting.\",\n });\n if (\n value.status === \"cancelled\" &&\n (!value.accounting.complete || value.accounting.cleanupPending > 0)\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Cancellation requires settled resource obligations.\",\n });\n });\n\nexport const DatasetPreparationListSchema = z\n .object({\n teamId: Id,\n datasetId: Id,\n runs: z.array(DatasetPreparationRunSchema).max(50),\n nextCursor: Id.nullable(),\n })\n .strict();\n\n/** References only. Evidence bytes are read by authorized owners, never from\n * caller-supplied spans or a policy-visible task package. */\nexport const PreparedTaskEvidenceSpanSchema = z\n .object({\n source: ConnectedCaseRefSchema,\n startSequence: Count,\n endSequence: Count,\n role: z.enum([\n \"requirement\",\n \"initial_context\",\n \"outcome\",\n \"correction\",\n \"verification\",\n ]),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (value.endSequence < value.startSequence)\n ctx.addIssue({\n code: \"custom\",\n message: \"Evidence span must be ordered.\",\n });\n });\n\nexport const PreparedTaskProvenanceSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.preparedTaskProvenance.v1\"),\n candidateId: Id,\n preparationId: Id,\n familyKey: Id,\n sourceSpans: z.array(PreparedTaskEvidenceSpanSchema).min(1).max(200),\n firstAvailableAt: Timestamp,\n initialInputHash: Hash,\n initialEnvironmentHash: Hash,\n initialAssetsHash: Hash.nullable(),\n sourceScopeHash: Hash,\n })\n .strict()\n .superRefine((value, ctx) => {\n if (!value.sourceSpans.some((span) => span.role === \"requirement\"))\n ctx.addIssue({\n code: \"custom\",\n message: \"A reconstructed task needs a source requirement.\",\n });\n const seen = new Set<string>();\n for (const span of value.sourceSpans) {\n if (value.sourceSpans.some(other => other !== span && other.source.id === span.source.id\n && other.source.snapshotHash === span.source.snapshotHash && other.role !== span.role\n && span.startSequence <= other.endSequence && other.startSequence <= span.endSequence))\n ctx.addIssue({ code: \"custom\", message: \"Evidence offsets cannot have conflicting roles.\" });\n const key = JSON.stringify([\n span.source,\n span.startSequence,\n span.endSequence,\n ]);\n if (seen.has(key))\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Evidence span is duplicated or crosses public/private roles.\",\n });\n seen.add(key);\n }\n });\n\nexport const PreparedTaskQualificationSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.preparedTaskQualification.v1\"),\n id: Id,\n candidateId: Id,\n preparationId: Id,\n taskHash: Hash,\n environmentHash: Hash,\n packageHash: Hash,\n graderBindings: z\n .array(\n z\n .object({\n id: Id,\n version: Id,\n contentHash: Hash,\n origin: z.enum([\"reused\", \"adapted\", \"authored\"]),\n })\n .strict(),\n )\n .min(1)\n .max(100),\n checks: z\n .array(\n z\n .object({\n id: Id,\n label: z.enum([\n \"positive\",\n \"incorrect\",\n \"incomplete\",\n \"adversarial\",\n \"clean_reset\",\n ]),\n executionReceiptId: Id,\n expectedPassed: z.boolean(),\n observedPassed: z.boolean().nullable(),\n infrastructureError: Id.nullable(),\n })\n .strict(),\n )\n .min(5)\n .max(500),\n independentEvidenceRefs: z.array(Id).min(1).max(100),\n judgeCalibration: z.enum([\"not_applicable\", \"passed\", \"failed\", \"pending\"]),\n cleanup: z.enum([\"completed\", \"pending\"]),\n passed: z.boolean(),\n createdAt: Timestamp,\n })\n .strict()\n .superRefine((value, ctx) => {\n if (!value.passed) return;\n const labels = new Set(value.checks.map((check) => check.label));\n if (\n [\n \"positive\",\n \"incorrect\",\n \"incomplete\",\n \"adversarial\",\n \"clean_reset\",\n ].some(\n (label) => !labels.has(label as (typeof value.checks)[number][\"label\"]),\n )\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Qualified tasks require positive, negative, adversarial and clean-reset evidence.\",\n });\n if (\n value.cleanup !== \"completed\" ||\n [\"pending\", \"failed\"].includes(value.judgeCalibration) ||\n value.checks.some(\n (check) =>\n check.infrastructureError !== null ||\n check.observedPassed !== check.expectedPassed,\n )\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Failed, uncalibrated or uncleared checks cannot qualify a task.\",\n });\n if (\n value.checks.some(\n (check) =>\n check.expectedPassed !==\n [\"positive\", \"clean_reset\"].includes(check.label),\n )\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Qualification witnesses must pass positives/resets and reject incorrect, incomplete and adversarial outputs.\",\n });\n });\n\nexport const DatasetPreparationCandidateSchema = z\n .object({\n id: Id,\n runId: Id,\n revision: z.number().int().positive(),\n taskClass: DatasetPreparationTaskClassSchema,\n status: z.enum([\n \"discovered\",\n \"reconstructing\",\n \"authoring\",\n \"qualifying\",\n \"qualified\",\n \"excluded\",\n \"needs_attention\",\n ]),\n objective: z.string().trim().min(1).max(20_000),\n provenance: PreparedTaskProvenanceSchema.nullable(),\n qualification: PreparedTaskQualificationSchema.nullable(),\n reason: z\n .object({ code: Id, message: z.string().trim().min(1).max(5_000) })\n .strict()\n .nullable(),\n attempts: Count.max(6),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (\n value.status === \"qualified\" &&\n (!value.provenance || !value.qualification?.passed)\n )\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Candidate admission requires reconstruction and qualification receipts.\",\n });\n if (\n value.provenance &&\n (value.provenance.candidateId !== value.id ||\n value.provenance.preparationId !== value.runId)\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Candidate provenance identity mismatch.\",\n });\n if (\n value.qualification &&\n (value.qualification.candidateId !== value.id ||\n value.qualification.preparationId !== value.runId)\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Candidate qualification identity mismatch.\",\n });\n });\n\nexport type DatasetPreparationPolicy = z.infer<\n typeof DatasetPreparationPolicySchema\n>;\nexport type DatasetPreparationGrant = z.infer<\n typeof DatasetPreparationGrantSchema\n>;\nexport type DatasetPreparationRun = z.infer<typeof DatasetPreparationRunSchema>;\nexport type DatasetPreparationCandidate = z.infer<\n typeof DatasetPreparationCandidateSchema\n>;\nexport type PreparedTaskProvenance = z.infer<\n typeof PreparedTaskProvenanceSchema\n>;\nexport type PreparedTaskQualification = z.infer<\n typeof PreparedTaskQualificationSchema\n>;\n", "import { DatasetWorkspaceListQuerySchema, DatasetWorkspaceBeginVersionSchema, DatasetWorkspaceVersionsSchema, DatasetWorkspaceListSchema, DatasetWorkspacePublishSchema, DatasetWorkspaceReceiptSchema, DatasetWorkspaceValidationSchema, DatasetWorkspaceWriteSchema } from \"./dataset-workspace-contracts.js\";\nimport { validateTasksetDraftWorkspace } from \"./taskset-draft-workspace.js\";\nimport type { z } from \"zod\";\nimport { DatasetWorkspaceOperationKindSchema, DatasetWorkspaceOperationResultSchema } from \"./dataset-workspace-operations.js\";\nimport { OpenPondDatasetPreparationClient } from \"./dataset-preparation-client.js\";\n\n/** Hosted independent authoring. Writes use explicit revision/operation identity;\n * callers retain the operation ID when retrying an uncertain response. */\nexport class OpenPondDatasetWorkspaceClient {\n private readonly baseUrl: string;\n readonly preparations: OpenPondDatasetPreparationClient;\n constructor(private readonly options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n this.preparations = new OpenPondDatasetPreparationClient(options);\n }\n async list(options: z.input<typeof DatasetWorkspaceListQuerySchema> & { signal?: AbortSignal } = {}) {\n const { signal, ...input } = options;\n const query = DatasetWorkspaceListQuerySchema.parse(input);\n const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => [key, String(value)]));\n const result = DatasetWorkspaceListSchema.parse(await this.request(`?${params}`, \"GET\", undefined, signal));\n if (result.teamId !== this.options.teamId || result.datasets.length > query.limit || new Set(result.datasets.map(item => item.id)).size !== result.datasets.length) throw new Error(\"Dataset list workspace/page mismatch.\");\n return result;\n }\n async get(id: string, signal?: AbortSignal) { return this.readback(await this.request(`/${encodeURIComponent(id)}`, \"GET\", undefined, signal), id); }\n /** Recover only this actor's retained operation; base bytes allow adapters to\n * reconstruct and verify the identical original CAS request before replay. */\n async operationResult(operationId: string, options: { datasetId?: string; kind: z.infer<typeof DatasetWorkspaceOperationKindSchema>; requestHash?: string; signal?: AbortSignal }) {\n const kind = DatasetWorkspaceOperationKindSchema.parse(options.kind);\n const params = new URLSearchParams({ kind, ...(options.datasetId ? { datasetId: options.datasetId } : {}) });\n const raw = await this.request(`/operations/${encodeURIComponent(operationId)}?${params}`, \"GET\", undefined, options.signal, 132 * 1024 * 1024);\n if (raw === null) return null;\n const value = DatasetWorkspaceOperationResultSchema.parse(raw);\n this.readback(value.receipt, value.receipt.datasetId); if (value.base) this.readback(value.base, value.receipt.datasetId);\n if (value.operationId !== operationId || value.kind !== kind || options.datasetId && value.receipt.datasetId !== options.datasetId || options.requestHash && value.requestHash !== options.requestHash) throw new Error(\"Dataset operation recovery identity/request mismatch.\");\n return value;\n }\n async beginVersion(id: string, input: z.input<typeof DatasetWorkspaceBeginVersionSchema>, signal?: AbortSignal) {\n const request = DatasetWorkspaceBeginVersionSchema.parse(input);\n const result = this.readback(await this.request(`/${encodeURIComponent(id)}/begin-version`, \"POST\", request, signal), id);\n if (result.revision !== request.expectedRevision + 1 || result.workspace.draft.status !== \"draft\" || !result.publication || !result.workspace.draft.publishedTasksetRef) throw new Error(\"Editable version receipt mismatch.\");\n return result;\n }\n async versions(id: string, options: { beforeRevision?: number; signal?: AbortSignal } = {}) {\n const query = new URLSearchParams(options.beforeRevision === undefined ? {} : { beforeRevision: String(options.beforeRevision) });\n const result = DatasetWorkspaceVersionsSchema.parse(await this.request(`/${encodeURIComponent(id)}/versions?${query}`, \"GET\", undefined, options.signal));\n if (result.teamId !== this.options.teamId || result.datasetId !== id || result.items.some((item, index) => (index > 0 && item.workspaceRevision >= result.items[index - 1]!.workspaceRevision) || (options.beforeRevision !== undefined && item.workspaceRevision >= options.beforeRevision))) throw new Error(\"Dataset version history scope/order mismatch.\");\n return result;\n }\n async version(id: string, workspaceRevision: number, signal?: AbortSignal) {\n const result = this.readback(await this.request(`/${encodeURIComponent(id)}/versions/${workspaceRevision}`, \"GET\", undefined, signal), id);\n if (result.revision !== workspaceRevision || result.workspace.draft.status !== \"published\") throw new Error(\"Dataset immutable version mismatch.\");\n return result;\n }\n async save(input: z.input<typeof DatasetWorkspaceWriteSchema>, signal?: AbortSignal) {\n const request = DatasetWorkspaceWriteSchema.parse(input);\n const workspace = validateTasksetDraftWorkspace(request.workspace);\n if (workspace.draft.profileId !== this.options.teamId || workspace.draft.revision !== request.expectedRevision + 1) throw new Error(\"Dataset write scope or revision mismatch.\");\n const result = this.readback(await this.request(`/${encodeURIComponent(workspace.draft.id)}`, \"PUT\", request, signal), workspace.draft.id);\n if (request.originProjectId && result.originProjectId !== request.originProjectId) throw new Error(\"Dataset origin Project mismatch.\");\n if (request.ownerScope && result.ownerScope !== request.ownerScope) throw new Error(\"Dataset owner scope mismatch.\");\n if (result.workspace.contentHash !== workspace.contentHash) throw new Error(\"Dataset write receipt differs from the saved bytes.\");\n return result;\n }\n async validate(id: string, expectedRevision: number, signal?: AbortSignal) {\n const result = DatasetWorkspaceValidationSchema.parse(await this.request(`/${encodeURIComponent(id)}/validate`, \"POST\", { expectedRevision }, signal));\n if (result.teamId !== this.options.teamId || result.datasetId !== id || result.revision !== expectedRevision) throw new Error(\"Dataset validation receipt mismatch.\");\n return result;\n }\n async publish(id: string, input: z.input<typeof DatasetWorkspacePublishSchema>, signal?: AbortSignal) {\n const request = DatasetWorkspacePublishSchema.parse(input);\n const result = this.readback(await this.request(`/${encodeURIComponent(id)}/publish`, \"POST\", request, signal), id);\n if (result.revision !== request.expectedRevision + 1 || result.workspace.draft.status !== \"published\" || result.publication?.packageHash !== request.packageHash) throw new Error(\"Dataset publication receipt mismatch.\");\n return result;\n }\n private readback(value: unknown, id: string) {\n const result = DatasetWorkspaceReceiptSchema.parse(value);\n validateTasksetDraftWorkspace(result.workspace);\n if (result.datasetId !== id || result.teamId !== this.options.teamId) throw new Error(\"Dataset identity mismatch.\");\n return result;\n }\n private async request(path: string, method: string, body?: unknown, signal?: AbortSignal, maxResponseBytes?: number): Promise<unknown> {\n const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/dataset-workspaces${path}`, {\n method, signal, redirect: \"error\", headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, \"Content-Type\": \"application/json\" },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n });\n if (!response.ok) throw new Error(`Dataset request failed (${response.status}).`);\n if (maxResponseBytes !== undefined) {\n if (!response.body) throw new Error(\"Dataset response is empty.\");\n const reader = response.body.getReader(), chunks: Uint8Array[] = []; let length = 0;\n try { while (true) { const part = await reader.read(); if (part.done) break; length += part.value.byteLength; if (length > maxResponseBytes) throw new Error(\"Dataset recovery exceeds its bounded response.\"); chunks.push(part.value); } } finally { await reader.cancel(); }\n const bytes = new Uint8Array(length); let offset = 0; for (const chunk of chunks) { bytes.set(chunk, offset); offset += chunk.length; }\n return JSON.parse(new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes));\n }\n return response.json();\n }\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { TaskSplitSchema, TaskRecordSchema } from \"@openpond/evals/tasksets\";\nimport { z } from \"zod\";\nimport { ExperimentGraderPinSchema } from \"./experiment-contracts.js\";\nimport { TasksetCatalogReleaseRefSchema } from \"./taskset-catalog.js\";\n\nconst Id = z.string().trim().min(1).max(500);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const DatasetPopulationQuerySchema = z.object({\n release: TasksetCatalogReleaseRefSchema,\n afterId: Id.optional(),\n limit: z.number().int().min(1).max(10_000).default(100),\n view: z.enum([\"ids\", \"policy\"]).default(\"ids\"),\n}).strict().superRefine((query, context) => { if (query.view === \"policy\" && query.limit > 100) context.addIssue({ code: \"custom\", path: [\"limit\"], message: \"Policy previews are bounded to 100 tasks.\" }); });\nconst TaskIdentity = z.object({ id: TaskRecordSchema.shape.id, split: TaskSplitSchema }).strict();\nconst PolicyTask = TaskIdentity.extend({\n input: z.record(z.string(), z.unknown()),\n policyVisibleContext: z.record(z.string(), z.unknown()),\n artifacts: z.array(z.object({ id: Id, path: z.string(), mediaType: z.string(), sizeBytes: z.number().int().nonnegative() }).strict()).max(1000),\n}).strict();\nexport const DatasetPopulationPageSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetPopulationPage.v1\"),\n teamId: Id, release: TasksetCatalogReleaseRefSchema,\n view: DatasetPopulationQuerySchema.shape.view,\n taskCount: z.number().int().nonnegative(),\n items: z.array(z.union([TaskIdentity, PolicyTask])).max(10_000),\n graders: z.array(ExperimentGraderPinSchema).max(1000),\n nextCursor: Id.nullable(), contentHash: Hash,\n}).strict().superRefine((page, context) => {\n if (page.view === \"policy\" && page.items.length > 100) context.addIssue({ code: \"custom\", message: \"Policy preview exceeded its task bound.\" });\n if (page.items.some(item => (\"input\" in item) !== (page.view === \"policy\"))) context.addIssue({ code: \"custom\", message: \"Dataset task view differs from the requested projection.\" });\n});\nexport type DatasetPopulationPage = z.infer<typeof DatasetPopulationPageSchema>;\n\n/** Exact released membership and policy-visible previews. Gold answers,\n * verifier source, privileged context and object locations are never returned. */\nexport class OpenPondDatasetPopulationClient {\n private readonly baseUrl: string;\n constructor(private readonly options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n async read(value: z.input<typeof DatasetPopulationQuerySchema>, signal?: AbortSignal): Promise<DatasetPopulationPage> {\n const query = DatasetPopulationQuerySchema.parse(value);\n const params = new URLSearchParams({ releaseId: query.release.id, revision: String(query.release.revision), contentHash: query.release.contentHash, limit: String(query.limit), view: query.view });\n if (query.afterId) params.set(\"afterId\", query.afterId);\n const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/dataset-workspaces/population?${params}`, { signal, redirect: \"error\", headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, Accept: \"application/json\" } });\n const reader = response.body?.getReader();\n if (!reader) throw new Error(\"Dataset population response was empty.\");\n let bytes = 0, source = \"\";\n const decoder = new TextDecoder();\n try {\n while (true) {\n const chunk = await reader.read();\n if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > 4_194_304) throw new Error(\"Dataset population response exceeded 4 MiB. Request fewer tasks.\");\n source += decoder.decode(chunk.value, { stream: true });\n }\n source += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const raw: unknown = JSON.parse(source);\n if (!response.ok) throw new Error(z.object({ message: z.string() }).passthrough().parse(raw).message);\n const page = DatasetPopulationPageSchema.parse(raw);\n const { contentHash: hash, ...content } = page;\n if (page.teamId !== this.options.teamId || contentHash(page.release) !== contentHash(query.release) || page.view !== query.view || page.items.length > query.limit || contentHash(content) !== hash || page.items.some((item, index) => (query.afterId !== undefined && item.id <= query.afterId) || (index > 0 && item.id <= page.items[index - 1]!.id)) || (page.nextCursor !== null && page.nextCursor !== page.items.at(-1)?.id)) throw new Error(\"Dataset population identity, hash, order or bounds mismatch.\");\n return page;\n }\n}\n", "import { z } from \"zod\";\nimport { DatasetPreparationTaskClassSchema, PreparedTaskEvidenceSpanSchema } from \"./dataset-preparation-contracts.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Text = z.string().trim().min(1).max(5_000);\nexport const DatasetPreparationResearchCandidateSchema = z.object({\n taskClass: DatasetPreparationTaskClassSchema,\n objective: z.string().trim().min(1).max(20_000),\n sourceSpans: z.array(PreparedTaskEvidenceSpanSchema).min(1).max(200),\n firstAvailableAt: z.iso.datetime(),\n reconstruction: z.object({\n kind: z.enum([\"text_only\", \"pinned_repository\", \"pinned_artifact\", \"unsupported\"]),\n requiredAssets: z.array(z.object({ reference: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).max(100),\n missingEvidence: z.array(Text).max(20),\n }).strict(),\n assessment: z.object({\n kind: z.enum([\"executable\", \"calibrated_judge\", \"unsupported\"]),\n requirements: z.array(z.object({ criterion: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).min(1).max(20),\n limitations: z.array(Text).max(20),\n }).strict(),\n}).strict().superRefine((value, ctx) => {\n if (!value.sourceSpans.some((span) => span.role === \"requirement\"))\n ctx.addIssue({ code: \"custom\", message: \"A research candidate requires independently retained user requirements.\" });\n if (value.assessment.requirements.some((item) => item.evidence.role !== \"requirement\"))\n ctx.addIssue({ code: \"custom\", message: \"Assessment criteria must cite user requirements, not historical answers.\" });\n});\n\n/** Each chunk replaces the coherent accumulated decision for that exact\n * conversation revision. It is a proposal, never qualification evidence. */\nexport const DatasetPreparationResearchDecisionSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetPreparationResearchDecision.v1\"),\n sourceId: Id,\n snapshotHash: z.string().regex(/^[a-f0-9]{64}$/),\n candidates: z.array(DatasetPreparationResearchCandidateSchema).max(100),\n exclusions: z.array(z.object({ code: Id, reason: Text, sourceSpans: z.array(PreparedTaskEvidenceSpanSchema).max(200) }).strict()).max(100),\n contextSummary: z.string().max(20_000),\n}).strict();\nexport type DatasetPreparationResearchCandidate = z.infer<typeof DatasetPreparationResearchCandidateSchema>;\nexport type DatasetPreparationResearchDecision = z.infer<typeof DatasetPreparationResearchDecisionSchema>;\n", "import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { ConnectedCaseRefSchema } from \"./connected-evidence-contracts.js\";\nimport { ConnectedStartingAssetSchema } from \"./connected-starting-assets.js\";\nimport { TasksetEnvironmentContractSchema } from \"./taskset-draft-core.js\";\n\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport function connectedStartingAssetReference(receiptId: string, path: string) {\n if (!/^starting-assets-[a-f0-9]{40}$/.test(receiptId)) throw new Error(\"Invalid starting asset receipt.\");\n ConnectedStartingAssetSchema.shape.path.parse(path);\n return `starting-assets:${receiptId}#${encodeURIComponent(path)}`;\n}\nexport function parseConnectedStartingAssetReference(reference: string) {\n const match = /^starting-assets:(starting-assets-[a-f0-9]{40})#(.+)$/.exec(reference);\n if (!match) throw new Error(\"Invalid starting asset reference.\");\n const path = decodeURIComponent(match[2]!);\n if (connectedStartingAssetReference(match[1]!, path) !== reference) throw new Error(\"Noncanonical starting asset reference.\");\n return { receiptId: match[1]!, path };\n}\n\n/** A host-owned selection of immutable bytes. Dependency sufficiency and\n * executable outcome checks still require isolated qualification. */\nexport const PreparedRepositoryStartingStateSchema = z.object({\n schemaVersion: z.literal(\"openpond.preparedRepositoryStartingState.v1\"),\n dependencyClosureQualified: z.literal(false),\n assets: z.array(ConnectedStartingAssetSchema.extend({\n receiptId: z.string().regex(/^starting-assets-[a-f0-9]{40}$/), receiptHash: Hash,\n source: ConnectedCaseRefSchema,\n }).strict()).min(1).max(100),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.assets.map(asset => asset.path)).size !== value.assets.length)\n ctx.addIssue({ code: \"custom\", message: \"Starting paths must be distinct.\" });\n if (value.assets.some(asset => asset.commitHash !== value.assets[0]!.commitHash\n || contentHash(asset.source) !== contentHash(value.assets[0]!.source)))\n ctx.addIssue({ code: \"custom\", message: \"Starting assets must belong to one original task boundary and commit.\" });\n});\nexport type PreparedRepositoryStartingState = z.infer<typeof PreparedRepositoryStartingStateSchema>;\n\nexport function preparedRepositoryEnvironment() {\n return TasksetEnvironmentContractSchema.parse({ protocolVersion: \"openpond.taskEnvironment.v1\", kind: \"work\",\n entrypoint: \"openpond-work-v1\", stateful: true, deterministicSeeds: true,\n toolNames: [\"work_exec\", \"work_save_output\"], lifecycle: [\"create\", \"reset\", \"step\", \"grade\", \"cleanup\"],\n defaultTimeoutMs: 300_000, networkPolicy: \"none\",\n resources: [],\n metadata: { requiredOutputs: [{ path: \"changes.patch\", mediaType: \"text/x-diff\", maxBytes: 5_000_000,\n metadata: { protocol: \"openpond.preparedRepositoryPatch.v1\", baseDirectory: \"starting-state\",\n description: \"Save a unified diff against the retained starting files, with original repository-relative paths.\" } }],\n maxInputBytes: 15 * 1024 * 1024 },\n });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { PreparedTaskProvenanceSchema } from \"./dataset-preparation-contracts.js\";\nimport { TaskDesignProposalSchema } from \"./task-design-contracts.js\";\nimport { TasksetSourceRefSchema, TaskDataRecordSchema, TaskRequiredOutputSchema } from \"./taskset-draft-core.js\";\nimport { TasksetDraftSchema } from \"./taskset-draft-document.js\";\nimport { createTasksetDraft } from \"./taskset-draft-authoring.js\";\nimport { createTasksetDraftWorkspace, decodeTasksetDraftWorkspaceFile, type TasksetDraftWorkspaceFile } from \"./taskset-draft-workspace.js\";\nimport { PreparedRepositoryStartingStateSchema, preparedRepositoryEnvironment, type PreparedRepositoryStartingState } from \"./dataset-preparation-starting-state.js\";\nimport { createTasksetDraftFile, decodeTasksetDraftFileContent } from \"./taskset-draft-files.js\";\nimport type { PreparedTaskProvenance } from \"./dataset-preparation-contracts.js\";\nimport type { TaskDesignProposal } from \"./task-design-contracts.js\";\nimport type { TasksetSourceRef } from \"./taskset-draft-core.js\";\n\n/** This creates a private, unqualified draft. Publication and execution stay\n * with their existing owners; no authorer can replace the reconstructed input. */\nexport function createPreparedTaskAuthoringWorkspace(input: {\n teamId: string;\n provenance: PreparedTaskProvenance;\n initialInput: Record<string, unknown>;\n initialEnvironment: Record<string, unknown>;\n startingFiles?: TasksetDraftWorkspaceFile[];\n startingAssets?: PreparedRepositoryStartingState | null;\n proposal: TaskDesignProposal;\n sources: TasksetSourceRef[];\n skillHash: string;\n modelId: string;\n attempt: number;\n createdAt: string;\n}) {\n const provenance = PreparedTaskProvenanceSchema.parse(input.provenance);\n const proposal = TaskDesignProposalSchema.parse(input.proposal);\n let sources = input.sources.map((source) => TasksetSourceRefSchema.parse(source));\n const environment = TasksetDraftSchema.shape.environment.parse(input.initialEnvironment);\n const startingFiles = input.startingFiles ?? [];\n let workAssets: ReturnType<typeof TaskDataRecordSchema.parse>[\"assets\"];\n let retainedFiles = startingFiles;\n if (contentHash(input.initialInput) !== provenance.initialInputHash || contentHash(environment) !== provenance.initialEnvironmentHash)\n throw new Error(\"Prepared Taskset input or starting environment differs from its reconstruction.\");\n if (environment.kind === \"work\") {\n const state = PreparedRepositoryStartingStateSchema.parse(input.startingAssets);\n if (contentHash(state) !== provenance.initialAssetsHash) throw new Error(\"Prepared starting assets differ from their reconstruction.\");\n if (contentHash(preparedRepositoryEnvironment()) !== contentHash(environment)\n || proposal.taskKind !== \"single_agent\" || proposal.diagnosis.requiredTools.some(tool => !environment.toolNames.includes(tool)))\n throw new Error(\"Repository preparation requires its fixed isolated Work protocol.\");\n if (startingFiles.length !== state.assets.length || new Set(startingFiles.map(file => file.path)).size !== startingFiles.length)\n throw new Error(\"Prepared starting files differ from the retained inventory.\");\n for (const asset of state.assets) {\n const file = startingFiles.find(file => file.path === `assets/starting-state/${asset.path}`);\n if (!file || file.contentHash !== asset.sha256 || file.sizeBytes !== asset.sizeBytes)\n throw new Error(\"Prepared starting files differ from the retained inventory.\");\n decodeTasksetDraftWorkspaceFile(file);\n }\n for (const asset of state.assets) if (!sources.some(source => \"kind\" in source && source.kind === \"connected_activity\"\n && source.id === asset.source.id && source.sourceHash === asset.source.snapshotHash))\n throw new Error(\"Prepared starting files require their exact connected source revision.\");\n sources = sources.map(source => \"kind\" in source && source.kind === \"connected_activity\"\n ? { ...source, sourceFileHashes: [...new Set(state.assets.filter(asset => asset.source.id === source.id).map(asset => asset.sha256))] } : source);\n workAssets = state.assets.map(asset => ({ id: `starting-file-${contentHash(asset.path).slice(0, 40)}`,\n sourceRefId: asset.source.id, artifactRef: `assets/${provenance.candidateId}/starting-state/${asset.path}`,\n fileName: asset.path.split(\"/\").at(-1)!, stagingPath: `starting-state/${asset.path}`,\n mediaType: \"application/octet-stream\", sha256: asset.sha256, sizeBytes: asset.sizeBytes, split: \"validation\",\n metadata: { receiptId: asset.receiptId, receiptHash: asset.receiptHash, originalPath: asset.path, mode: asset.mode } }));\n retainedFiles = startingFiles.map(file => ({ ...file, path: file.path.replace(\"assets/starting-state/\", `assets/${provenance.candidateId}/starting-state/`) }));\n } else if (environment.kind !== \"chat\" || environment.stateful || environment.toolNames.length || (environment.resources?.length ?? 0)\n || proposal.taskKind !== \"chat\" || proposal.diagnosis.requiredTools.length || startingFiles.length || input.startingAssets || provenance.initialAssetsHash !== null)\n throw new Error(\"Text preparation cannot silently add tools, state or starting assets.\");\n const sourceIds = new Set(sources.map((source) => source.id));\n if (!sources.length || sourceIds.size !== sources.length || proposal.sourceIds.some((id) => !sourceIds.has(id))\n || proposal.proposedExamples.length !== 1 || proposal.proposedExamples.some((example) => !sourceIds.has(example.sourceId)))\n throw new Error(\"Prepared Taskset authoring must retain exactly one reconstructed task and its authorized evidence.\");\n if (!/^[a-f0-9]{64}$/.test(input.skillHash) || !input.modelId.trim() || !Number.isSafeInteger(input.attempt) || input.attempt < 1 || input.attempt > 6)\n throw new Error(\"Prepared Taskset authoring provenance is invalid.\");\n if (!proposal.proposedGraders.length || new Set(proposal.proposedGraders.map((grader) => grader.id)).size !== proposal.proposedGraders.length)\n throw new Error(\"Prepared Taskset needs distinct outcome graders.\");\n if (proposal.generatedFiles.some((file) => file.role === \"environment\" || file.path === \"assets\" || file.path.startsWith(\"assets/\")))\n throw new Error(\"Generated code cannot replace the fixed initial environment or starting files.\");\n if (proposal.graderFixtures.some((fixture) => fixture.taskIndex !== 0 || fixture.metadata.substituteExpectedOutput === true))\n throw new Error(\"Prepared fixtures cannot refer to another task or substitute a historical answer.\");\n const draft = createTasksetDraft({ profileId: input.teamId,\n id: `${provenance.candidateId}-attempt-${input.attempt}-draft`, name: proposal.name, now: input.createdAt });\n draft.objective = proposal.objective;\n draft.sourceRefs = sources;\n draft.environment = environment;\n draft.graders = proposal.proposedGraders.map((grader) => ({ ...grader, taskIds: [provenance.candidateId], privileged: true,\n ...(grader.kind === \"model_judge\" ? { rewardEligible: false, calibrationStatus: \"pending\" as const } : {}),\n metadata: { ...grader.metadata, preparedRewardEligible: grader.rewardEligible, preparedTask: provenance.candidateId, authoringSkillHash: input.skillHash },\n }));\n draft.policy = { policyVisibleFields: environment.kind === \"work\" ? [\"input\", \"requiredOutputs\"] : [\"input\"], privilegedFields: [\"expectedOutput\"],\n hiddenGraderRefs: draft.graders.map((grader) => grader.id), connectedAppScopes: [] };\n draft.tasks = [TaskDataRecordSchema.parse({ schemaVersion: \"openpond.taskData.v1\", id: provenance.candidateId,\n clusterKey: provenance.familyKey, split: \"validation\", input: input.initialInput, expectedOutput: null,\n policyVisibleContext: {}, privilegedContextRef: null, sourceRefs: [...sourceIds],\n ...(environment.kind === \"work\" ? { assets: workAssets,\n requiredOutputs: TaskRequiredOutputSchema.array().min(1).max(100).parse(environment.metadata.requiredOutputs) } : {}),\n tags: [\"prepared-task\", \"development-exposed\"], metadata: { preparedTask: provenance, qualificationStatus: \"pending\",\n ...(workAssets ? { portableTaskRecord: { id: provenance.candidateId, clusterKey: provenance.familyKey, split: \"validation\",\n input: input.initialInput, expectedOutput: null, policyVisibleContext: {}, privilegedContextRef: null,\n artifactRefs: workAssets.map(asset => ({ id: asset.id, path: asset.artifactRef, contentHash: asset.sha256,\n sizeBytes: asset.sizeBytes, mediaType: asset.mediaType, visibility: \"policy\" })),\n tags: [\"prepared-task\", \"development-exposed\"] } } : {}) },\n })];\n draft.graderFixtures = proposal.graderFixtures.map(({ taskIndex: _index, ...fixture }) => ({ ...fixture, taskId: provenance.candidateId,\n metadata: { ...fixture.metadata, witnessOrigin: \"authoring_proposal\", independentlyQualified: false } }));\n draft.metadata = { datasetPreparation: { schemaVersion: \"openpond.datasetPreparationAuthoring.v1\",\n provenance, modelId: input.modelId, skillHash: input.skillHash, proposalHash: contentHash(proposal),\n attempt: input.attempt, qualification: \"pending\", exposure: \"development\" } };\n return createTasksetDraftWorkspace({ schemaVersion: \"openpond.tasksetDraftWorkspace.v1\", draft,\n files: [...retainedFiles, ...proposal.generatedFiles.map((generated) => {\n const file = createTasksetDraftFile(generated.path, new TextEncoder().encode(generated.content));\n return { path: file.path, contentHash: file.contentHash, sizeBytes: file.sizeBytes,\n base64: Buffer.from(decodeTasksetDraftFileContent(file.content)).toString(\"base64\") };\n })] });\n}\n", "import {\n CollectorCoverageManifestSchema,\n summarizeCollectorCoverage,\n type CollectorCoverageManifest,\n} from \"@openpond/evals/connected-evidence\";\nimport { DatasetPreparationSourceSchema } from \"./dataset-preparation-contracts.js\";\n\n/** An exclusion accounts for one explicitly named unreadable original source.\n * It never admits that source, forgives queued uploads or changes the eligible\n * boundary inventory used for hosted membership reconciliation. */\nexport function reconcilePreparationSourceCoverage(input: {\n manifest: CollectorCoverageManifest;\n source: unknown;\n}) {\n const source = DatasetPreparationSourceSchema.parse(input.source);\n const manifest = CollectorCoverageManifestSchema.parse(input.manifest);\n const summary = summarizeCollectorCoverage(manifest);\n const exclusions = source.excludedSessions.filter(item => item.connectionId === manifest.connectionId);\n const retained = new Map(manifest.sessions.map(session => [session.sourceKeyHash, session]));\n const excluded = new Set<string>();\n for (const selection of exclusions) {\n const session = retained.get(selection.sourceKeyHash);\n if (!session || session.nativeRevisionHash !== selection.nativeRevisionHash || session.reason !== selection.reason\n || !(session.state === \"failed\" && selection.reason === \"source_read_failed\"\n || session.state === \"skipped\" && selection.reason === \"native_session_not_ready\")\n || session.unknownTimeBoundaries !== 0 || session.normalized.some(item => item.boundaries.length > 0))\n throw new Error(\"dataset_preparation_source_exclusion_changed\");\n excluded.add(selection.sourceKeyHash);\n }\n const reconciled = source.connections.includes(manifest.connectionId)\n && manifest.from === source.from && manifest.to === source.to\n && manifest.finishedAt !== null && manifest.listingComplete && manifest.pendingOperations === 0\n && summary.unknownTimeBoundaries === 0\n && manifest.sessions.every(session => session.nativeRevisionHash !== null\n && (session.state === \"admitted\"\n || session.state === \"skipped\" && session.reason === \"no_eligible_boundaries\"\n || excluded.has(session.sourceKeyHash)));\n return { reconciled, sourceComplete: summary.complete, excludedSessions: excluded.size, summary };\n}\n", "import { z } from \"zod\";\nimport { TaskRequiredOutputSchema } from \"./taskset-draft-core.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Text = z.string().trim().min(1).max(20_000);\nexport const PreparedQualificationWitnessSchema = z.object({\n id: Id, label: z.enum([\"positive\", \"incorrect\", \"incomplete\", \"adversarial\"]),\n output: z.record(z.string(), z.unknown()),\n artifacts: z.array(z.object({\n path: TaskRequiredOutputSchema.shape.path, mediaType: TaskRequiredOutputSchema.shape.mediaType,\n base64: z.string().max(8 * 1024 * 1024),\n }).strict()).max(100),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.artifacts.map(artifact => artifact.path)).size !== value.artifacts.length)\n ctx.addIssue({ code: \"custom\", message: \"Qualification artifacts must have distinct paths.\" });\n});\n\n/** Generated from original requirements before seeing the authored checker or\n * proposed answers. The plan remains privileged, unqualified evidence. */\nexport const PreparedQualificationPlanSchema = z.object({\n schemaVersion: z.literal(\"openpond.preparedQualificationPlan.v1\"),\n requirementRefs: z.array(Id).min(1).max(100),\n supported: z.boolean(), limitations: z.array(Text).max(20),\n independentVerifier: z.object({\n runtime: z.enum([\"isolated_javascript\", \"sandbox_process\"]),\n source: z.string().trim().min(1).max(200_000), exportName: z.literal(\"verify\"),\n timeoutMs: z.number().int().min(1).max(60_000),\n }).strict().nullable(),\n witnesses: z.array(PreparedQualificationWitnessSchema).max(20),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.requirementRefs).size !== value.requirementRefs.length || new Set(value.witnesses.map(item => item.id)).size !== value.witnesses.length)\n ctx.addIssue({ code: \"custom\", message: \"Qualification evidence identities must be distinct.\" });\n if (value.supported && (!value.independentVerifier || value.limitations.length\n || [\"positive\", \"incorrect\", \"incomplete\", \"adversarial\"].some(label => !value.witnesses.some(witness => witness.label === label))))\n ctx.addIssue({ code: \"custom\", message: \"Supported qualification needs a complete verifier and witness population without unresolved evidence gaps.\" });\n});\nexport type PreparedQualificationPlan = z.infer<typeof PreparedQualificationPlanSchema>;\nexport type PreparedQualificationWitness = z.infer<typeof PreparedQualificationWitnessSchema>;\n\n/** A second, blinded adjudication sees source requirements and actual witness\n * outputs, but no planned labels, verifier code or claimed checker verdicts. */\nexport const PreparedWitnessAdjudicationSchema = z.object({\n schemaVersion: z.literal(\"openpond.preparedWitnessAdjudication.v1\"),\n witnesses: z.array(z.object({\n id: Id,\n failureMode: z.enum([\"none\", \"incorrect\", \"incomplete\", \"adversarial\", \"unverifiable\"]),\n requirements: z.array(z.object({ reference: Id, status: z.enum([\"satisfied\", \"violated\", \"unverifiable\"]), reason: Text }).strict()).min(1).max(100),\n }).strict()).min(4).max(20),\n}).strict();\nexport type PreparedWitnessAdjudication = z.infer<typeof PreparedWitnessAdjudicationSchema>;\n\nexport const PreparedCheckerAuditSchema = z.object({\n schemaVersion: z.literal(\"openpond.preparedCheckerAudit.v1\"),\n requirements: z.array(z.object({ reference: Id, adequatelyChecked: z.boolean(), oracleAdequatelyChecked: z.boolean(), reason: Text }).strict()).min(1).max(100),\n executionIsolationPassed: z.boolean(),\n futureEvidenceLeak: z.boolean(), unresolvedLimitations: z.array(Text).max(20),\n passed: z.boolean(),\n}).strict();\n", "import { contentHash } from \"@openpond/harness\";\nimport { createTasksetDraftWorkspace, validateTasksetDraftWorkspace, type TasksetDraftWorkspace } from \"./taskset-draft-workspace.js\";\n\n/** Composition preserves task inputs and isolates each checker population.\n * This is a new unqualified package: individual reports cannot certify it. */\nexport function assemblePreparedTaskWorkspaces(input: {\n base: TasksetDraftWorkspace; candidates: TasksetDraftWorkspace[];\n preparationId: string; revision: number; now: string;\n}): TasksetDraftWorkspace {\n const base = validateTasksetDraftWorkspace(input.base);\n const candidates = input.candidates.map(validateTasksetDraftWorkspace);\n if (!candidates.length || base.draft.status !== \"draft\" || candidates.some(workspace => workspace.draft.profileId !== base.draft.profileId || workspace.draft.tasks.length !== 1))\n throw new Error(\"Prepared assembly requires owned individual task workspaces and an editable destination.\");\n const environment = base.draft.tasks.length ? base.draft.environment : candidates[0]!.draft.environment;\n if (candidates.some(workspace => contentHash(workspace.draft.environment) !== contentHash(environment)))\n throw new Error(\"Prepared tasks require separate versions for incompatible execution environments.\");\n const tasks = [...base.draft.tasks], files = [...base.files], graders = base.draft.graders.map(grader => ({ ...grader,\n ...(grader.taskIds ? {} : { taskIds: base.draft.tasks.map(task => task.id) }) }));\n if (!base.draft.tasks.length && graders.length) throw new Error(\"Destination graders require their original task population.\");\n const sources = new Map(base.draft.sourceRefs.map(source => [source.id, source]));\n const fixtures = [...base.draft.graderFixtures];\n const inventory = [...(base.draft.metadata.portableFileInventory ?? []) as Array<{ asset: Record<string, unknown>; sourcePath: string }>];\n const candidateIds: string[] = [];\n for (const workspace of candidates) {\n const task = workspace.draft.tasks[0]!;\n if (tasks.some(existing => existing.id === task.id)) throw new Error(\"Prepared assembly repeats a task identity.\");\n const provenance = task.metadata.preparedTask as { preparationId?: unknown } | undefined;\n if (provenance?.preparationId !== input.preparationId) throw new Error(\"Prepared task belongs to another run.\");\n const sourceIds = new Map(workspace.draft.sourceRefs.map(source => [source.id, `prepared-source-${contentHash([task.id, source.id]).slice(0, 40)}`]));\n candidateIds.push(task.id); tasks.push({ ...task, sourceRefs: task.sourceRefs.map(id => sourceIds.get(id)!),\n ...(task.assets ? { assets: task.assets.map(asset => ({ ...asset, sourceRefId: sourceIds.get(asset.sourceRefId)! })) } : {}) });\n const namespace = `graders/${task.id}/`;\n for (const file of workspace.files) files.push({ ...file, path: file.path.startsWith(\"assets/\") ? file.path : namespace + file.path });\n const graderIds = new Map(workspace.draft.graders.map(grader => [grader.id, `prepared-grader-${contentHash([task.id, grader.id]).slice(0, 40)}`]));\n for (const grader of workspace.draft.graders) {\n const id = graderIds.get(grader.id)!;\n // Executable relative imports stay together. Their new paths and IDs are\n // independently checked again against the final compiled package.\n graders.push({ ...grader, id, taskIds: [task.id],\n ...(grader.kind === \"custom_verifier\" ? { module: namespace + grader.module } : {}),\n metadata: { ...grader.metadata, preparedTask: task.id, composedFrom: { id: grader.id, contentHash: contentHash(grader) } } });\n }\n for (const fixture of workspace.draft.graderFixtures) {\n const projection = fixture.metadata.rewardCalibration as { graderId?: string; sourceReward?: { id: string } } | undefined;\n if (projection) fixtures.push({ ...fixture, metadata: { ...fixture.metadata, rewardCalibration: { ...projection,\n graderId: graderIds.get(projection.graderId ?? projection.sourceReward!.id)! } } });\n else fixtures.push({ ...fixture, id: `prepared-fixture-${contentHash([task.id, fixture.id]).slice(0, 40)}` });\n }\n for (const entry of (workspace.draft.metadata.portableFileInventory ?? []) as typeof inventory) inventory.push({ ...entry,\n sourcePath: entry.sourcePath.startsWith(\"assets/\") ? entry.sourcePath : namespace + entry.sourcePath });\n for (const source of workspace.draft.sourceRefs) sources.set(sourceIds.get(source.id)!, { ...source,\n id: sourceIds.get(source.id)!, metadata: { ...source.metadata, assemblyOriginalSourceId: source.id } });\n }\n const policyVisibleFields = [...new Set(candidates.flatMap(workspace => workspace.draft.policy.policyVisibleFields).concat(base.draft.tasks.length ? base.draft.policy.policyVisibleFields : []))];\n return createTasksetDraftWorkspace({ schemaVersion: base.schemaVersion, files,\n draft: { ...base.draft, name: base.draft.name.trim() || `Prepared ${candidates.length} tasks`,\n objective: base.draft.objective.trim() || candidates.map(workspace => workspace.draft.objective).join(\"\\n\").slice(0, 50_000), revision: input.revision, updatedAt: input.now, environment, tasks, graders, graderFixtures: fixtures,\n sourceRefs: [...sources.values()], policy: { ...base.draft.policy, policyVisibleFields,\n privilegedFields: [...new Set([\"expectedOutput\", ...base.draft.policy.privilegedFields])], hiddenGraderRefs: graders.map(grader => grader.id) },\n metadata: { ...base.draft.metadata, portableFileInventory: inventory, datasetPreparation: { schemaVersion: \"openpond.datasetPreparationAssembly.v1\", preparationId: input.preparationId,\n candidateIds, baseWorkspaceHash: base.contentHash, authoredWorkspaceHashes: candidates.map(workspace => workspace.contentHash), qualification: \"pending\" } } } });\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["z", "z", "z", "Id", "z", "z", "Id", "z", "Hash", "z", "Id", "z", "z", "Hash", "z", "file", "z", "Id", "z", "Text"]
7
7
  }
@@ -33,6 +33,13 @@ export declare class OpenPondDatasetPreparationClient {
33
33
  to: string;
34
34
  importCutoff: string;
35
35
  connections: string[];
36
+ excludedSessions: {
37
+ connectionId: string;
38
+ sourceKeyHash: string;
39
+ nativeRevisionHash: string;
40
+ reason: "source_read_failed" | "native_session_not_ready";
41
+ explanation: string;
42
+ }[];
36
43
  };
37
44
  taskClasses: ("coding_change" | "debugging" | "code_explanation" | "structured_text" | "artifact_work")[];
38
45
  limits: {
@@ -85,6 +92,8 @@ export declare class OpenPondDatasetPreparationClient {
85
92
  skippedSessions: number | null;
86
93
  lastAdmissionAt: string | null;
87
94
  complete: boolean;
95
+ sourceComplete: boolean;
96
+ excludedSessions: number;
88
97
  reasons: {
89
98
  code: string;
90
99
  message: string;
@@ -206,6 +215,13 @@ export declare class OpenPondDatasetPreparationClient {
206
215
  to: string;
207
216
  importCutoff: string;
208
217
  connections: string[];
218
+ excludedSessions: {
219
+ connectionId: string;
220
+ sourceKeyHash: string;
221
+ nativeRevisionHash: string;
222
+ reason: "source_read_failed" | "native_session_not_ready";
223
+ explanation: string;
224
+ }[];
209
225
  };
210
226
  taskClasses: ("coding_change" | "debugging" | "code_explanation" | "structured_text" | "artifact_work")[];
211
227
  limits: {
@@ -258,6 +274,8 @@ export declare class OpenPondDatasetPreparationClient {
258
274
  skippedSessions: number | null;
259
275
  lastAdmissionAt: string | null;
260
276
  complete: boolean;
277
+ sourceComplete: boolean;
278
+ excludedSessions: number;
261
279
  reasons: {
262
280
  code: string;
263
281
  message: string;
@@ -350,6 +368,13 @@ export declare class OpenPondDatasetPreparationClient {
350
368
  to: string;
351
369
  importCutoff: string;
352
370
  connections: string[];
371
+ excludedSessions: {
372
+ connectionId: string;
373
+ sourceKeyHash: string;
374
+ nativeRevisionHash: string;
375
+ reason: "source_read_failed" | "native_session_not_ready";
376
+ explanation: string;
377
+ }[];
353
378
  };
354
379
  taskClasses: ("coding_change" | "debugging" | "code_explanation" | "structured_text" | "artifact_work")[];
355
380
  limits: {
@@ -402,6 +427,8 @@ export declare class OpenPondDatasetPreparationClient {
402
427
  skippedSessions: number | null;
403
428
  lastAdmissionAt: string | null;
404
429
  complete: boolean;
430
+ sourceComplete: boolean;
431
+ excludedSessions: number;
405
432
  reasons: {
406
433
  code: string;
407
434
  message: string;
@@ -490,6 +517,13 @@ export declare class OpenPondDatasetPreparationClient {
490
517
  to: string;
491
518
  importCutoff: string;
492
519
  connections: string[];
520
+ excludedSessions: {
521
+ connectionId: string;
522
+ sourceKeyHash: string;
523
+ nativeRevisionHash: string;
524
+ reason: "source_read_failed" | "native_session_not_ready";
525
+ explanation: string;
526
+ }[];
493
527
  };
494
528
  taskClasses: ("coding_change" | "debugging" | "code_explanation" | "structured_text" | "artifact_work")[];
495
529
  limits: {
@@ -542,6 +576,8 @@ export declare class OpenPondDatasetPreparationClient {
542
576
  skippedSessions: number | null;
543
577
  lastAdmissionAt: string | null;
544
578
  complete: boolean;
579
+ sourceComplete: boolean;
580
+ excludedSessions: number;
545
581
  reasons: {
546
582
  code: string;
547
583
  message: string;
@@ -631,6 +667,13 @@ export declare class OpenPondDatasetPreparationClient {
631
667
  to: string;
632
668
  importCutoff: string;
633
669
  connections: string[];
670
+ excludedSessions: {
671
+ connectionId: string;
672
+ sourceKeyHash: string;
673
+ nativeRevisionHash: string;
674
+ reason: "source_read_failed" | "native_session_not_ready";
675
+ explanation: string;
676
+ }[];
634
677
  };
635
678
  taskClasses: ("coding_change" | "debugging" | "code_explanation" | "structured_text" | "artifact_work")[];
636
679
  limits: {
@@ -683,6 +726,8 @@ export declare class OpenPondDatasetPreparationClient {
683
726
  skippedSessions: number | null;
684
727
  lastAdmissionAt: string | null;
685
728
  complete: boolean;
729
+ sourceComplete: boolean;
730
+ excludedSessions: number;
686
731
  reasons: {
687
732
  code: string;
688
733
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dataset-preparation-client.d.ts","sourceRoot":"","sources":["../../../../../src/dataset-preparation-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataset-preparation-client.d.ts","sourceRoot":"","sources":["../../../../../src/dataset-preparation-client.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,16 @@ export declare const DatasetPreparationSourceSchema: z.ZodObject<{
59
59
  to: z.ZodISODateTime;
60
60
  importCutoff: z.ZodISODateTime;
61
61
  connections: z.ZodArray<z.ZodString>;
62
+ excludedSessions: z.ZodDefault<z.ZodArray<z.ZodObject<{
63
+ connectionId: z.ZodString;
64
+ sourceKeyHash: z.ZodString;
65
+ nativeRevisionHash: z.ZodString;
66
+ reason: z.ZodEnum<{
67
+ source_read_failed: "source_read_failed";
68
+ native_session_not_ready: "native_session_not_ready";
69
+ }>;
70
+ explanation: z.ZodString;
71
+ }, z.core.$strict>>>;
62
72
  }, z.core.$strict>;
63
73
  export declare const DatasetPreparationPolicySchema: z.ZodObject<{
64
74
  source: z.ZodObject<{
@@ -67,6 +77,16 @@ export declare const DatasetPreparationPolicySchema: z.ZodObject<{
67
77
  to: z.ZodISODateTime;
68
78
  importCutoff: z.ZodISODateTime;
69
79
  connections: z.ZodArray<z.ZodString>;
80
+ excludedSessions: z.ZodDefault<z.ZodArray<z.ZodObject<{
81
+ connectionId: z.ZodString;
82
+ sourceKeyHash: z.ZodString;
83
+ nativeRevisionHash: z.ZodString;
84
+ reason: z.ZodEnum<{
85
+ source_read_failed: "source_read_failed";
86
+ native_session_not_ready: "native_session_not_ready";
87
+ }>;
88
+ explanation: z.ZodString;
89
+ }, z.core.$strict>>>;
70
90
  }, z.core.$strict>;
71
91
  taskClasses: z.ZodArray<z.ZodEnum<{
72
92
  coding_change: "coding_change";
@@ -130,6 +150,16 @@ export declare const DatasetPreparationCreateSchema: z.ZodObject<{
130
150
  to: z.ZodISODateTime;
131
151
  importCutoff: z.ZodISODateTime;
132
152
  connections: z.ZodArray<z.ZodString>;
153
+ excludedSessions: z.ZodDefault<z.ZodArray<z.ZodObject<{
154
+ connectionId: z.ZodString;
155
+ sourceKeyHash: z.ZodString;
156
+ nativeRevisionHash: z.ZodString;
157
+ reason: z.ZodEnum<{
158
+ source_read_failed: "source_read_failed";
159
+ native_session_not_ready: "native_session_not_ready";
160
+ }>;
161
+ explanation: z.ZodString;
162
+ }, z.core.$strict>>>;
133
163
  }, z.core.$strict>;
134
164
  taskClasses: z.ZodArray<z.ZodEnum<{
135
165
  coding_change: "coding_change";
@@ -214,6 +244,8 @@ export declare const DatasetPreparationCoverageSchema: z.ZodObject<{
214
244
  skippedSessions: z.ZodNullable<z.ZodNumber>;
215
245
  lastAdmissionAt: z.ZodNullable<z.ZodISODateTime>;
216
246
  complete: z.ZodBoolean;
247
+ sourceComplete: z.ZodDefault<z.ZodBoolean>;
248
+ excludedSessions: z.ZodDefault<z.ZodNumber>;
217
249
  reasons: z.ZodArray<z.ZodObject<{
218
250
  code: z.ZodString;
219
251
  message: z.ZodString;
@@ -291,6 +323,16 @@ export declare const DatasetPreparationRunSchema: z.ZodObject<{
291
323
  to: z.ZodISODateTime;
292
324
  importCutoff: z.ZodISODateTime;
293
325
  connections: z.ZodArray<z.ZodString>;
326
+ excludedSessions: z.ZodDefault<z.ZodArray<z.ZodObject<{
327
+ connectionId: z.ZodString;
328
+ sourceKeyHash: z.ZodString;
329
+ nativeRevisionHash: z.ZodString;
330
+ reason: z.ZodEnum<{
331
+ source_read_failed: "source_read_failed";
332
+ native_session_not_ready: "native_session_not_ready";
333
+ }>;
334
+ explanation: z.ZodString;
335
+ }, z.core.$strict>>>;
294
336
  }, z.core.$strict>;
295
337
  taskClasses: z.ZodArray<z.ZodEnum<{
296
338
  coding_change: "coding_change";
@@ -377,6 +419,8 @@ export declare const DatasetPreparationRunSchema: z.ZodObject<{
377
419
  skippedSessions: z.ZodNullable<z.ZodNumber>;
378
420
  lastAdmissionAt: z.ZodNullable<z.ZodISODateTime>;
379
421
  complete: z.ZodBoolean;
422
+ sourceComplete: z.ZodDefault<z.ZodBoolean>;
423
+ excludedSessions: z.ZodDefault<z.ZodNumber>;
380
424
  reasons: z.ZodArray<z.ZodObject<{
381
425
  code: z.ZodString;
382
426
  message: z.ZodString;
@@ -483,6 +527,16 @@ export declare const DatasetPreparationListSchema: z.ZodObject<{
483
527
  to: z.ZodISODateTime;
484
528
  importCutoff: z.ZodISODateTime;
485
529
  connections: z.ZodArray<z.ZodString>;
530
+ excludedSessions: z.ZodDefault<z.ZodArray<z.ZodObject<{
531
+ connectionId: z.ZodString;
532
+ sourceKeyHash: z.ZodString;
533
+ nativeRevisionHash: z.ZodString;
534
+ reason: z.ZodEnum<{
535
+ source_read_failed: "source_read_failed";
536
+ native_session_not_ready: "native_session_not_ready";
537
+ }>;
538
+ explanation: z.ZodString;
539
+ }, z.core.$strict>>>;
486
540
  }, z.core.$strict>;
487
541
  taskClasses: z.ZodArray<z.ZodEnum<{
488
542
  coding_change: "coding_change";
@@ -569,6 +623,8 @@ export declare const DatasetPreparationListSchema: z.ZodObject<{
569
623
  skippedSessions: z.ZodNullable<z.ZodNumber>;
570
624
  lastAdmissionAt: z.ZodNullable<z.ZodISODateTime>;
571
625
  complete: z.ZodBoolean;
626
+ sourceComplete: z.ZodDefault<z.ZodBoolean>;
627
+ excludedSessions: z.ZodDefault<z.ZodNumber>;
572
628
  reasons: z.ZodArray<z.ZodObject<{
573
629
  code: z.ZodString;
574
630
  message: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"dataset-preparation-contracts.d.ts","sourceRoot":"","sources":["../../../../../src/dataset-preparation-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,mCAAmC;;;;;kBAOrC,CAAC;AAEZ,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;kBAkB/B,CAAC;AAEZ,eAAO,MAAM,iCAAiC;;;;;;EAM5C,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;;;EAOxC,CAAC;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;EAezC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;kBAoBvC,CAAC;AAEL,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgEvC,CAAC;AAEL,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMhC,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;8BAkB1C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;kBAmBlC,CAAC;AAEZ,eAAO,MAAM,kCAAkC;;;;;;;;kBAUpC,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0DjC,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkGpC,CAAC;AAEL,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAO9B,CAAC;AAEZ;6DAC6D;AAC7D,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;kBAoBvC,CAAC;AAEL,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuCrC,CAAC;AAEL,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+FxC,CAAC;AAEL,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqD1C,CAAC;AAEL,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC"}
1
+ {"version":3,"file":"dataset-preparation-contracts.d.ts","sourceRoot":"","sources":["../../../../../src/dataset-preparation-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,mCAAmC;;;;;kBAOrC,CAAC;AAEZ,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;kBAkB/B,CAAC;AAEZ,eAAO,MAAM,iCAAiC;;;;;;EAM5C,CAAC;AACH,eAAO,MAAM,6BAA6B;;;;;;;EAOxC,CAAC;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;EAezC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;kBA+BvC,CAAC;AAEL,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgEvC,CAAC;AAEL,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMhC,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;8BAkB1C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;kBAqBlC,CAAC;AAEZ,eAAO,MAAM,kCAAkC;;;;;;;;kBAUpC,CAAC;AAEZ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0DjC,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkGpC,CAAC;AAEL,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAO9B,CAAC;AAEZ;6DAC6D;AAC7D,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;kBAoBvC,CAAC;AAEL,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuCrC,CAAC;AAEL,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+FxC,CAAC;AAEL,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqD1C,CAAC;AAEL,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,iCAAiC,CACzC,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type CollectorCoverageManifest } from "@openpond/evals/connected-evidence";
2
+ /** An exclusion accounts for one explicitly named unreadable original source.
3
+ * It never admits that source, forgives queued uploads or changes the eligible
4
+ * boundary inventory used for hosted membership reconciliation. */
5
+ export declare function reconcilePreparationSourceCoverage(input: {
6
+ manifest: CollectorCoverageManifest;
7
+ source: unknown;
8
+ }): {
9
+ reconciled: boolean;
10
+ sourceComplete: boolean;
11
+ excludedSessions: number;
12
+ summary: {
13
+ jobId: string;
14
+ manifestHash: string;
15
+ sourceInventoryHash: string;
16
+ eligibleBoundaryHash: string;
17
+ from: string | null;
18
+ to: string;
19
+ finishedAt: string | null;
20
+ conversations: number;
21
+ eligibleTurns: number;
22
+ admittedSessions: number;
23
+ skippedSessions: number;
24
+ failedSessions: number;
25
+ unknownTimeBoundaries: number;
26
+ pendingOperations: number;
27
+ listingComplete: boolean;
28
+ complete: boolean;
29
+ };
30
+ };
31
+ //# sourceMappingURL=dataset-preparation-source-coverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset-preparation-source-coverage.d.ts","sourceRoot":"","sources":["../../../../../src/dataset-preparation-source-coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,oCAAoC,CAAC;AAG5C;;mEAEmE;AACnE,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;CACjB;;;;;;;;;;;;;;;;;;;;;;EAyBA"}
@@ -6,6 +6,7 @@ export * from "./dataset-preparation-contracts.js";
6
6
  export * from "./dataset-preparation-research-contracts.js";
7
7
  export * from "./dataset-preparation-workspace.js";
8
8
  export * from "./dataset-preparation-starting-state.js";
9
+ export * from "./dataset-preparation-source-coverage.js";
9
10
  export * from "./dataset-preparation-qualification-contracts.js";
10
11
  export { OpenPondDatasetPreparationClient, DatasetPreparationRequestError } from "./dataset-preparation-client.js";
11
12
  export { assemblePreparedTaskWorkspaces } from "./dataset-preparation-assembly.js";
@@ -1 +1 @@
1
- {"version":3,"file":"dataset-workspaces.d.ts","sourceRoot":"","sources":["../../../../../src/dataset-workspaces.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,kDAAkD,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEnH,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"dataset-workspaces.d.ts","sourceRoot":"","sources":["../../../../../src/dataset-workspaces.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEnH,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openpond-sdk",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "description": "Server-side TypeScript SDK for OpenPond sandboxes and agentic work",
5
5
  "license": "MIT",
6
6
  "type": "module",