openpond-sdk 0.9.7 → 0.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-SR55WVPK.js → chunk-4HZORGK3.js} +2 -2
- package/dist/{chunk-XR6CLSCS.js → chunk-BGXWHDYM.js} +3 -2
- package/dist/chunk-BGXWHDYM.js.map +7 -0
- package/dist/{chunk-CNGJF6AM.js → chunk-RXKIOOFZ.js} +3 -3
- package/dist/{chunk-62LWLACP.js → chunk-YYJ4T4U4.js} +2 -2
- package/dist/dataset-marketplace.js +11 -0
- package/dist/dataset-marketplace.js.map +2 -2
- package/dist/dataset-workspaces.js +69 -20
- package/dist/dataset-workspaces.js.map +4 -4
- package/dist/experiments.js +60 -5
- package/dist/experiments.js.map +4 -4
- package/dist/index.js +4 -4
- package/dist/model-starter-attempts.js +1 -1
- package/dist/model-taskset-runs.js +2 -2
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +9 -0
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +1097 -30
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +12 -12
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +1617 -0
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +1 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-history.d.ts +266 -0
- package/dist/types/packages/sdk/src/experiment-history.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiments.d.ts +1 -0
- package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-batch-assets.d.ts +2 -2
- package/dist/types/packages/sdk/src/learning-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +3 -3
- package/dist/types/packages/sdk/src/model-batch-review.d.ts +7 -7
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts +2 -2
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +2 -1
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-starters.d.ts +1 -1
- package/dist/types/packages/sdk/src/task-inventory.d.ts +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +6 -6
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +6 -6
- package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts +2 -2
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +12 -12
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +36 -36
- package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +6 -6
- package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +11 -11
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +8 -8
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +10 -10
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +12 -12
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +12 -12
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +11 -11
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +14 -14
- package/dist/types/packages/sdk/src/training-project-client.d.ts +4 -4
- package/dist/types/packages/sdk/src/training-project-contracts.d.ts +5 -5
- package/package.json +1 -1
- package/dist/chunk-XR6CLSCS.js.map +0 -7
- /package/dist/{chunk-SR55WVPK.js.map → chunk-4HZORGK3.js.map} +0 -0
- /package/dist/{chunk-CNGJF6AM.js.map → chunk-RXKIOOFZ.js.map} +0 -0
- /package/dist/{chunk-62LWLACP.js.map → chunk-YYJ4T4U4.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ModelTasksetRunRequestSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YYJ4T4U4.js";
|
|
4
4
|
import {
|
|
5
5
|
contentHash
|
|
6
6
|
} from "./chunk-QUOW6URQ.js";
|
|
@@ -155,4 +155,4 @@ export {
|
|
|
155
155
|
verifyExperimentDefinition,
|
|
156
156
|
experimentDefinitionRef
|
|
157
157
|
};
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
//# sourceMappingURL=chunk-4HZORGK3.js.map
|
|
@@ -30,6 +30,7 @@ var EvaluationMessagesSchema = z.array(z.object({
|
|
|
30
30
|
// src/model-starter-attempts.ts
|
|
31
31
|
import { RewardCompositionSchema } from "@openpond/evals/rewards";
|
|
32
32
|
import { TaskGradeSchema as TaskGradeSchema2 } from "@openpond/evals/graders";
|
|
33
|
+
import { TaskSplitSchema } from "@openpond/evals/tasksets";
|
|
33
34
|
|
|
34
35
|
// src/experiment-grading-contracts.ts
|
|
35
36
|
import { z as z2 } from "zod";
|
|
@@ -85,7 +86,7 @@ var ModelStarterAttemptChoicesSchema = z3.object({
|
|
|
85
86
|
available: z3.boolean(),
|
|
86
87
|
unavailableReason: z3.string().max(1e3).nullable(),
|
|
87
88
|
models: z3.array(z3.object({ id: IdSchema, name: z3.string().max(500) }).strict()).max(200),
|
|
88
|
-
tasks: z3.array(z3.object({ id: IdSchema, split:
|
|
89
|
+
tasks: z3.array(z3.object({ id: IdSchema, split: TaskSplitSchema, inputPreview: z3.string().max(500), fixtures: z3.array(z3.object({ id: IdSchema, label: z3.string().max(200) }).strict()).max(1e3) }).strict()).max(100),
|
|
89
90
|
nextCursor: IdSchema.nullable()
|
|
90
91
|
}).strict();
|
|
91
92
|
var ModelStarterAttemptSummarySchema = z3.object({
|
|
@@ -237,4 +238,4 @@ export {
|
|
|
237
238
|
OpenPondModelStarterAttemptError,
|
|
238
239
|
OpenPondModelStarterAttemptsClient
|
|
239
240
|
};
|
|
240
|
-
//# sourceMappingURL=chunk-
|
|
241
|
+
//# sourceMappingURL=chunk-BGXWHDYM.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/model-starter-attempts.ts", "../src/evaluation-project-context.ts", "../src/experiment-grading-contracts.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\nimport { EvaluationProjectContextSchema, EvaluationMessagesSchema } from \"./evaluation-project-context.js\";\nexport { EvaluationProjectContextSchema, EvaluationMessagesSchema, type EvaluationProjectContext } from \"./evaluation-project-context.js\";\nimport { RewardCompositionSchema } from \"@openpond/evals/rewards\";\nimport { TaskGradeSchema } from \"@openpond/evals/graders\";\nimport { TaskSplitSchema } from \"@openpond/evals/tasksets\";\nimport { ExperimentAttemptGradeSchema } from \"./experiment-grading-contracts.js\";\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { canonicalJson, canonicalSha256 } from \"./protocol.js\";\n\nconst IdSchema = z.string().trim().min(1).max(200);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ModelStarterAttemptPolicySchema = z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"hosted_chat\"), modelId: IdSchema, messages: EvaluationMessagesSchema.optional(), maxOutputTokens: z.number().int().min(1).max(4_096).default(1_024), temperature: z.number().min(0).max(2).default(0), topP: z.number().gt(0).max(1).default(1) }).strict(),\n z.object({ kind: z.literal(\"fixture\"), fixtureId: IdSchema }).strict(),\n]);\n/** The server resolves task input, private state, verifier and fixture script.\n * A caller can select releases, but cannot submit replacement execution bytes. */\nexport const ModelStarterAttemptRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptRequest.v1\"),\n operationId: IdSchema, teamId: IdSchema, modelProjectId: IdSchema.nullable(),\n project: EvaluationProjectContextSchema.optional(),\n taskset: ModelProjectVersionedRefSchema, taskId: IdSchema,\n environmentSeed: z.number().int().min(0).max(2_147_483_647).default(0),\n policy: ModelStarterAttemptPolicySchema,\n}).strict();\nexport type ModelStarterAttemptRequest = z.infer<typeof ModelStarterAttemptRequestSchema>;\nexport const ModelStarterAttemptChoicesQuerySchema = z.object({ modelProjectId: IdSchema.nullable(), taskset: ModelProjectVersionedRefSchema, afterTaskId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();\nexport const ModelStarterAttemptChoicesSchema = z.object({\n modelProjectId: IdSchema.nullable(), taskset: ModelProjectVersionedRefSchema, available: z.boolean(), unavailableReason: z.string().max(1_000).nullable(),\n models: z.array(z.object({ id: IdSchema, name: z.string().max(500) }).strict()).max(200),\n tasks: z.array(z.object({ id: IdSchema, split: TaskSplitSchema, inputPreview: z.string().max(500), fixtures: z.array(z.object({ id: IdSchema, label: z.string().max(200) }).strict()).max(1_000) }).strict()).max(100),\n nextCursor: IdSchema.nullable(),\n}).strict();\nexport const ModelStarterAttemptSummarySchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptSummary.v1\"),\n id: IdSchema, revision: z.number().int().positive(), request: ModelStarterAttemptRequestSchema,\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]),\n policySnapshot: z.object({ modelId: IdSchema, provider: IdSchema, upstreamModelId: z.string().min(1).max(500), configurationHash: HashSchema }).strict().nullable(),\n createdAt: z.iso.datetime(), startedAt: z.iso.datetime().nullable(), completedAt: z.iso.datetime().nullable(),\n cleanupComplete: z.boolean(), resultAvailable: z.boolean(), score: z.number().min(0).max(1).nullable(),\n gradingStatus: z.enum([\"not_started\", \"scored\", \"unscorable\", \"not_configured\"]).default(\"not_started\"),\n passed: z.boolean().nullable(), outputPreview: z.string().max(500).nullable(),\n error: z.object({ code: IdSchema, message: z.string().max(2_000) }).strict().nullable(),\n}).strict().superRefine((value, context) => {\n if ((value.request.policy.kind === \"fixture\") !== (value.policySnapshot === null)) context.addIssue({ code: \"custom\", path: [\"policySnapshot\"], message: \"Fixture execution must not claim a model identity.\" });\n if (value.status === \"completed\" && (!value.cleanupComplete || !value.resultAvailable || !value.completedAt)) context.addIssue({ code: \"custom\", message: \"Completed attempts require retained results and confirmed cleanup.\" });\n});\nexport type ModelStarterAttemptSummary = z.infer<typeof ModelStarterAttemptSummarySchema>;\nexport const ModelStarterAttemptListQuerySchema = z.object({ modelProjectId: IdSchema, afterId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();\nexport const ModelStarterAttemptPageSchema = z.object({ items: z.array(ModelStarterAttemptSummarySchema).max(100), nextCursor: IdSchema.nullable() }).strict();\nexport const ModelStarterAttemptResultSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptResult.v1\"),\n attempt: ModelStarterAttemptSummarySchema,\n output: z.string().max(1_048_576).nullable(),\n // Only model-facing messages, never the private environment snapshot.\n messages: z.array(z.record(z.string(), z.unknown())).max(4_002),\n composition: RewardCompositionSchema.nullable(),\n // Ordinary Tasksets have no Reward binding. Absence preserves the hash of\n // already retained v1 results; new producers explicitly return null or a grade.\n grade: TaskGradeSchema.nullable().optional(),\n experimentGrade: ExperimentAttemptGradeSchema.nullable().optional(),\n environment: z.object({ status: z.enum([\"completed\", \"budget_exhausted\", \"cancelled\", \"timed_out\", \"policy_failure\", \"environment_failure\"]), collected: z.boolean(), definition: ModelProjectVersionedRefSchema, initialStateHash: HashSchema.nullable(), finalStateHash: HashSchema.nullable(), attemptHash: HashSchema }).strict(),\n providerRequestIds: z.array(IdSchema).max(1_001),\n contentHash: HashSchema,\n}).strict().superRefine((value, context) => {\n if (value.experimentGrade) {\n if (value.grade || value.composition) context.addIssue({ code: \"custom\", message: \"Selected Experiment grading cannot claim another grade population.\" });\n if (![\"completed\", \"failed\"].includes(value.attempt.status) || !value.attempt.resultAvailable || value.attempt.score !== value.experimentGrade.score\n || value.attempt.gradingStatus !== value.experimentGrade.gradingStatus || value.attempt.passed !== (value.experimentGrade.score === null ? null : value.experimentGrade.passed))\n context.addIssue({ code: \"custom\", message: \"Experiment grading differs from its retained attempt summary.\" });\n }\n if (!value.grade) return;\n if (value.composition) context.addIssue({ code: \"custom\", path: [\"grade\"], message: \"An ordinary grade cannot also claim a Reward composition.\" });\n if (![\"completed\", \"failed\"].includes(value.attempt.status) || !value.attempt.resultAvailable || value.attempt.score !== value.grade.score || value.attempt.gradingStatus !== value.grade.gradingStatus || value.attempt.passed !== (value.grade.score === null ? null : value.grade.passed)) context.addIssue({ code: \"custom\", path: [\"grade\"], message: \"Ordinary grade differs from its terminal attempt summary.\" });\n});\nexport type ModelStarterAttemptResult = z.infer<typeof ModelStarterAttemptResultSchema>;\n\nexport class OpenPondModelStarterAttemptError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondModelStarterAttemptError\"; }\n}\n\nexport class OpenPondModelStarterAttemptsClient {\n readonly #options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch };\n constructor(options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch }) {\n const url = new URL(options.baseUrl);\n if (!options.apiKey.trim() || !options.teamId.trim() || ![\"https:\", \"http:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new Error(\"Starter attempts require an HTTP(S) endpoint and workspace credentials.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n async create(value: z.input<typeof ModelStarterAttemptRequestSchema>, options: { signal?: AbortSignal } = {}) {\n const request = ModelStarterAttemptRequestSchema.parse(value);\n if (request.teamId !== this.#options.teamId) throw new Error(\"Attempt belongs to another workspace.\");\n const result = this.#summary(await this.#request(\"\", \"POST\", request, options.signal));\n if (canonicalJson(result.request) !== canonicalJson(request)) throw new OpenPondModelStarterAttemptError(502, \"attempt_request_mismatch\", \"Attempt receipt differs from the submitted request.\");\n return result;\n }\n async get(id: string, options: { signal?: AbortSignal } = {}) { return this.#summary(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}`, \"GET\", undefined, options.signal), id); }\n async choices(value: z.input<typeof ModelStarterAttemptChoicesQuerySchema>, options: { signal?: AbortSignal } = {}) {\n const query = ModelStarterAttemptChoicesQuerySchema.parse(value);\n const params = new URLSearchParams({ ...(query.modelProjectId ? { modelProjectId: query.modelProjectId } : {}), tasksetId: query.taskset.id, revision: String(query.taskset.revision), contentHash: query.taskset.contentHash, limit: String(query.limit) });\n if (query.afterTaskId) params.set(\"afterTaskId\", query.afterTaskId);\n const result = ModelStarterAttemptChoicesSchema.parse(await this.#request(`/choices?${params}`, \"GET\", undefined, options.signal));\n if (result.modelProjectId !== query.modelProjectId || canonicalJson(result.taskset) !== canonicalJson(query.taskset) || result.tasks.length > query.limit || new Set(result.tasks.map(task => task.id)).size !== result.tasks.length) throw new OpenPondModelStarterAttemptError(502, \"attempt_choices_mismatch\", \"Attempt choices differ from the selected model or Taskset.\");\n return result;\n }\n async cancel(id: string, options: { signal?: AbortSignal } = {}) { return this.#summary(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/cancel`, \"POST\", undefined, options.signal), id); }\n async result(id: string, options: { signal?: AbortSignal } = {}) {\n const value = ModelStarterAttemptResultSchema.parse(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/result`, \"GET\", undefined, options.signal));\n this.#summary(value.attempt, id);\n const { contentHash, ...content } = value;\n if (!value.attempt.resultAvailable || await canonicalSha256(content) !== contentHash) throw new OpenPondModelStarterAttemptError(502, \"attempt_result_integrity\", \"Attempt result integrity failed.\");\n return value;\n }\n async list(value: z.input<typeof ModelStarterAttemptListQuerySchema>, options: { signal?: AbortSignal } = {}) {\n const query = ModelStarterAttemptListQuerySchema.parse(value);\n const params = new URLSearchParams({ modelProjectId: query.modelProjectId, limit: String(query.limit) });\n if (query.afterId) params.set(\"afterId\", query.afterId);\n const page = ModelStarterAttemptPageSchema.parse(await this.#request(`?${params}`, \"GET\", undefined, options.signal));\n if (page.items.length > query.limit || new Set(page.items.map(item => item.id)).size !== page.items.length || page.items.some(item => this.#summary(item).request.modelProjectId !== query.modelProjectId)) throw new OpenPondModelStarterAttemptError(502, \"attempt_page_mismatch\", \"Attempt page differs from the selected model.\");\n return page;\n }\n #summary(value: unknown, id?: string): ModelStarterAttemptSummary {\n const result = ModelStarterAttemptSummarySchema.parse(value);\n if (result.request.teamId !== this.#options.teamId || (id && result.id !== id)) throw new OpenPondModelStarterAttemptError(502, \"attempt_identity_mismatch\", \"Attempt receipt belongs to another identity or workspace.\");\n return result;\n }\n async #request(path: string, method: string, body: unknown, signal?: AbortSignal): Promise<unknown> {\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/model-starter-attempts${path}`, { method, headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, \"Content-Type\": \"application/json\", Accept: \"application/json\" }, ...(body === undefined ? {} : { body: JSON.stringify(body) }), signal, redirect: \"error\" });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondModelStarterAttemptError(response.status, \"attempt_empty_response\", \"Attempt response was empty.\");\n let bytes = 0; let text = \"\"; const decoder = new TextDecoder();\n try {\n while (true) {\n const chunk = await reader.read(); if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > 16_777_216) throw new OpenPondModelStarterAttemptError(502, \"attempt_response_too_large\", \"Attempt response exceeded its byte limit.\");\n text += decoder.decode(chunk.value, { stream: true });\n }\n text += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const value: unknown = JSON.parse(text);\n if (!response.ok) {\n const error = z.object({ code: IdSchema, message: z.string().max(2_000) }).safeParse(value);\n throw new OpenPondModelStarterAttemptError(response.status, error.success ? error.data.code : \"attempt_request_failed\", error.success ? error.data.message : \"Attempt request failed.\");\n }\n return value;\n }\n}\n", "import { z } from \"zod\";\n\n/** The selected Project revision is retained independently of model artifacts.\n * Hosts resolve and authorize this reference before admitting execution. */\nexport const EvaluationProjectContextSchema = z.object({\n id: z.string().trim().min(1).max(240),\n revision: z.number().int().positive(),\n contentHash: z.string().regex(/^[a-f0-9]{64}$/),\n targetId: z.string().trim().min(1).max(240).nullable(),\n}).strict();\nexport type EvaluationProjectContext = z.infer<typeof EvaluationProjectContextSchema>;\n\nexport const EvaluationMessagesSchema = z.array(z.object({\n role: z.enum([\"system\", \"user\", \"assistant\"]),\n content: z.string().max(100_000),\n}).strict()).max(100).superRefine((messages, context) => {\n if (messages.reduce((total, message) => total + message.content.length, 0) > 100_000)\n context.addIssue({ code: \"custom\", message: \"Evaluation prompt exceeds 100,000 characters.\" });\n});\n", "import { z } from \"zod\";\nimport { FailureClassSchema, contentHash } from \"@openpond/harness\";\nimport { TaskGradeSchema } from \"@openpond/evals/graders\";\n\nexport const ExperimentAttemptGradeSchema = z.object({\n schemaVersion: z.literal(\"openpond.experimentAttemptGrade.v1\"), selectionHash: z.string().regex(/^[a-f0-9]{64}$/),\n grades: z.array(TaskGradeSchema).min(1).max(100), score: z.number().min(0).max(1).nullable(),\n passed: z.boolean(), rewardEligible: z.boolean(), gradingStatus: z.enum([\"scored\", \"unscorable\", \"not_configured\"]),\n failureClass: FailureClassSchema.nullable(), contentHash: z.string().regex(/^[a-f0-9]{64}$/),\n}).strict().superRefine((grade, context) => {\n const { contentHash: actual, ...body } = grade;\n if (contentHash(body) !== actual) context.addIssue({ code: \"custom\", message: \"Experiment grading integrity failed.\" });\n const components = grade.grades.flatMap(value => value.components);\n if (components.length !== grade.grades.length || new Set(components.map(component => component.graderId)).size !== components.length)\n context.addIssue({ code: \"custom\", message: \"Each selected criterion requires exactly one distinct grader result.\" });\n for (const item of grade.grades) {\n const { contentHash: itemHash, ...itemBody } = item;\n if (contentHash(itemBody) !== itemHash) context.addIssue({ code: \"custom\", message: \"A retained criterion changed.\" });\n for (const component of item.components) {\n const { contentHash: componentHash, ...componentBody } = component;\n if (contentHash(componentBody) !== componentHash) context.addIssue({ code: \"custom\", message: \"A retained grader result changed.\" });\n }\n }\n});\nexport type ExperimentAttemptGrade = z.infer<typeof ExperimentAttemptGradeSchema>;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["z", "TaskGradeSchema", "z", "z", "z", "TaskGradeSchema", "contentHash"]
|
|
7
|
+
}
|
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
StartExperimentSchema,
|
|
10
10
|
experimentDefinitionRef,
|
|
11
11
|
verifyExperimentDefinition
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-4HZORGK3.js";
|
|
13
13
|
import {
|
|
14
14
|
verifyHarnessExperimentManifest,
|
|
15
15
|
verifyModelTasksetRunDetails
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-YYJ4T4U4.js";
|
|
17
17
|
import {
|
|
18
18
|
ImmutableReleaseRefSchema,
|
|
19
19
|
contentHash
|
|
@@ -253,4 +253,4 @@ export {
|
|
|
253
253
|
OpenPondExperimentError,
|
|
254
254
|
OpenPondExperimentsClient
|
|
255
255
|
};
|
|
256
|
-
//# sourceMappingURL=chunk-
|
|
256
|
+
//# sourceMappingURL=chunk-RXKIOOFZ.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
EvaluationProjectContextSchema,
|
|
3
3
|
ModelStarterAttemptPolicySchema,
|
|
4
4
|
ModelStarterAttemptSummarySchema
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-BGXWHDYM.js";
|
|
6
6
|
import {
|
|
7
7
|
ModelProjectVersionedRefSchema,
|
|
8
8
|
canonicalJson,
|
|
@@ -152,4 +152,4 @@ export {
|
|
|
152
152
|
verifyModelTasksetRunDetails,
|
|
153
153
|
verifyModelTasksetRunResult
|
|
154
154
|
};
|
|
155
|
-
//# sourceMappingURL=chunk-
|
|
155
|
+
//# sourceMappingURL=chunk-YYJ4T4U4.js.map
|
|
@@ -59,6 +59,8 @@ var CatalogSummarySchema = z.object({
|
|
|
59
59
|
graders: z.array(CatalogGraderSchema)
|
|
60
60
|
}).strict();
|
|
61
61
|
var CatalogBrowsePageSchema = z.object({ items: z.array(CatalogSummarySchema).max(100), nextCursor: z.string().max(3e3).nullable() }).strict();
|
|
62
|
+
var CatalogCategoriesQuerySchema = z.object({ publisher: CatalogSlug.optional() }).strict();
|
|
63
|
+
var CatalogCategoriesSchema = z.object({ categories: z.array(z.string().trim().min(1).max(100)).max(100) }).strict();
|
|
62
64
|
var CatalogDetailSchema = z.object({ summary: CatalogSummarySchema, versions: z.array(CatalogSummarySchema).max(100) }).strict();
|
|
63
65
|
var CatalogVisibilityReceiptSchema = z.object({ operationId: CatalogId, releaseId: CatalogId, visibility: z.enum(["private", "public"]), visibilityRevision: z.number().int().positive(), summary: CatalogSummarySchema }).strict();
|
|
64
66
|
var CatalogAdoptionReceiptSchema = z.object({ operationId: CatalogId, releaseId: CatalogId, teamId: CatalogId, tasksetId: CatalogId, release: CatalogReleaseRef, packageHash: CatalogHash, snapshotHash: CatalogHash, graders: z.array(CatalogGraderSchema), projectId: CatalogId.nullable() }).strict();
|
|
@@ -93,6 +95,13 @@ var OpenPondDatasetMarketplaceClient = class {
|
|
|
93
95
|
if (result.items.length > parsed.limit || parsed.publisher && result.items.some((item) => item.namespace !== parsed.publisher)) this.#mismatch();
|
|
94
96
|
return result;
|
|
95
97
|
}
|
|
98
|
+
async categories(query = {}, options = {}) {
|
|
99
|
+
const parsed = CatalogCategoriesQuerySchema.parse(query);
|
|
100
|
+
const suffix = parsed.publisher ? `?publisher=${encodeURIComponent(parsed.publisher)}` : "";
|
|
101
|
+
const result = CatalogCategoriesSchema.parse(await this.#request(`/categories${suffix}`, options));
|
|
102
|
+
if (new Set(result.categories).size !== result.categories.length) this.#mismatch();
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
96
105
|
async get(releaseId, options = {}) {
|
|
97
106
|
const id = CatalogId.parse(releaseId), result = CatalogDetailSchema.parse(await this.#request(`/releases/${encodeURIComponent(id)}`, options));
|
|
98
107
|
if (result.summary.id !== id) this.#mismatch();
|
|
@@ -194,6 +203,8 @@ export {
|
|
|
194
203
|
CatalogAdoptionReceiptSchema,
|
|
195
204
|
CatalogBrowse,
|
|
196
205
|
CatalogBrowsePageSchema,
|
|
206
|
+
CatalogCategoriesQuerySchema,
|
|
207
|
+
CatalogCategoriesSchema,
|
|
197
208
|
CatalogCheckRequestSchema,
|
|
198
209
|
CatalogCheckResultSchema,
|
|
199
210
|
CatalogDetailSchema,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/dataset-marketplace.ts"],
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\n\nexport const CatalogId = z.string().trim().min(1).max(240);\nexport const CatalogSlug = z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(100);\nexport const CatalogReleaseRef = z.object({ id: CatalogId, revision: z.number().int().positive(), contentHash: z.string().regex(/^[a-f0-9]{64}$/) }).strict();\nexport const CatalogMetadata = z.object({\n slug: CatalogSlug,\n title: z.string().trim().min(1).max(200),\n description: z.string().trim().min(1).max(5_000),\n license: z.string().trim().min(1).max(500),\n sourceUrl: z.string().url().max(2000).refine(value => /^https?:\\/\\//i.test(value), \"Use an HTTP or HTTPS source URL.\").nullable(),\n attribution: z.string().max(5000),\n category: z.string().trim().min(1).max(100),\n}).strict();\nexport const PublishCatalogDataset = z.object({\n operationId: CatalogId, tasksetId: CatalogId, release: CatalogReleaseRef,\n packageHash: z.string().regex(/^[a-f0-9]{64}$/),\n expectedVisibilityRevision: z.number().int().nonnegative(),\n metadata: CatalogMetadata, distributionConsent: z.literal(true),\n}).strict();\nexport const CatalogVisibilityChange = z.object({\n operationId: CatalogId, releaseId: CatalogId, expectedVisibilityRevision: z.number().int().positive(),\n visibility: z.enum([\"private\", \"public\"]),\n}).strict();\nexport const AdoptCatalogDataset = z.object({\n operationId: CatalogId, releaseId: CatalogId, release: CatalogReleaseRef,\n packageHash: z.string().regex(/^[a-f0-9]{64}$/), projectId: CatalogId.optional(),\n}).strict();\nexport const CatalogBrowse = z.object({\n search: z.string().max(300).default(\"\"), category: z.string().max(100).default(\"\"),\n publisher: CatalogSlug.optional(), after: z.string().max(3000).optional(), limit: z.coerce.number().int().min(1).max(100).default(30),\n}).strict();\n\nconst CatalogHash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const CatalogGraderSchema = z.object({ id: CatalogId, version: z.string().min(1), kind: z.string().min(1), reward: CatalogReleaseRef, readiness: z.string().min(1), runtime: z.string().min(1), assetCount: z.number().int().nonnegative() }).strict();\nexport const CatalogSummarySchema = z.object({\n id: CatalogId, namespace: CatalogSlug, publisherName: z.string().min(1), metadata: CatalogMetadata,\n release: CatalogReleaseRef, packageHash: CatalogHash, snapshotHash: CatalogHash,\n taskCount: z.number().int().nonnegative(), sizeBytes: z.number().int().nonnegative(), publishedAt: z.string().datetime({ offset: true }),\n buildIntent: z.string().min(1), methodHint: z.string().nullable(), graders: z.array(CatalogGraderSchema),\n}).strict();\nexport const CatalogBrowsePageSchema = z.object({ items: z.array(CatalogSummarySchema).max(100), nextCursor: z.string().max(3000).nullable() }).strict();\nexport const CatalogDetailSchema = z.object({ summary: CatalogSummarySchema, versions: z.array(CatalogSummarySchema).max(100) }).strict();\nexport const CatalogVisibilityReceiptSchema = z.object({ operationId: CatalogId, releaseId: CatalogId, visibility: z.enum([\"private\", \"public\"]), visibilityRevision: z.number().int().positive(), summary: CatalogSummarySchema }).strict();\nexport const CatalogAdoptionReceiptSchema = z.object({ operationId: CatalogId, releaseId: CatalogId, teamId: CatalogId, tasksetId: CatalogId, release: CatalogReleaseRef, packageHash: CatalogHash, snapshotHash: CatalogHash, graders: z.array(CatalogGraderSchema), projectId: CatalogId.nullable() }).strict();\nexport const CatalogPreviewQuerySchema = z.object({ after: z.number().int().nonnegative().default(0), limit: z.number().int().min(1).max(30).default(20) }).strict();\nexport const CatalogPreviewSchema = z.object({ items: z.array(z.object({ id: CatalogId, split: z.string(), input: z.record(z.string(), z.unknown()), policyVisibleContext: z.record(z.string(), z.unknown()), artifacts: z.array(z.object({ id: CatalogId, path: z.string(), mediaType: z.string(), sizeBytes: z.number().int().nonnegative() }).strict()) }).strict()).max(30), nextCursor: z.number().int().nonnegative().nullable(), total: z.number().int().nonnegative() }).strict();\nexport const CatalogCheckRequestSchema = z.object({ operationId: CatalogId, tasksetId: CatalogId }).strict();\nexport const CatalogCheckResultSchema = z.object({ operationId: CatalogId, tasksetId: CatalogId, snapshotHash: CatalogHash, status: z.enum([\"passed\", \"failed\", \"unavailable\"]), fixtures: z.array(z.object({ id: CatalogId, taskId: CatalogId, score: z.number().finite().nullable(), passed: z.boolean(), expectationMatched: z.boolean(), evidenceHash: CatalogHash }).strict()).max(50), providerCalls: z.literal(0), runtime: z.string() }).strict();\nexport const CatalogRetainedAdoptionSchema = z.object({ receipt: CatalogAdoptionReceiptSchema, check: CatalogCheckResultSchema.nullable() }).strict().nullable();\nexport const CatalogVisibilityStateSchema = z.object({ publisher: z.object({ namespace: CatalogSlug, teamId: CatalogId, displayName: z.string().min(1) }).strict(), summary: CatalogSummarySchema.nullable(), visibility: z.enum([\"private\", \"public\"]), visibilityRevision: z.number().int().nonnegative(), release: CatalogReleaseRef, packageHash: CatalogHash, taskCount: z.number().int().nonnegative(), fileCount: z.number().int().nonnegative(), sizeBytes: z.number().int().nonnegative() }).strict();\nexport type CatalogSummary = z.infer<typeof CatalogSummarySchema>;\nexport type CatalogVisibilityReceipt = z.infer<typeof CatalogVisibilityReceiptSchema>;\nexport type CatalogAdoptionReceipt = z.infer<typeof CatalogAdoptionReceiptSchema>;\nexport type CatalogCheckResult = z.infer<typeof CatalogCheckResultSchema>;\nexport interface DatasetMarketplaceClientOptions { baseUrl: string; apiKey?: string; teamId?: string; fetch?: typeof globalThis.fetch }\nexport class OpenPondDatasetMarketplaceError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondDatasetMarketplaceError\"; }\n}\ntype RequestOptions = { signal?: AbortSignal };\nconst sameRelease = (a: z.infer<typeof CatalogReleaseRef>, b: z.infer<typeof CatalogReleaseRef>) => a.id === b.id && a.revision === b.revision && a.contentHash === b.contentHash;\n/** Public browse operations require no credentials. Workspace mutations always require an explicit authenticated workspace. No method starts model compute. */\nexport class OpenPondDatasetMarketplaceClient {\n readonly #options: DatasetMarketplaceClientOptions;\n constructor(options: DatasetMarketplaceClientOptions) {\n const url = new URL(options.baseUrl);\n if (![\"https:\", \"http:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new Error(\"Dataset marketplace base URL must be an HTTP(S) endpoint without credentials, query, or fragment.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n async browse(query: z.input<typeof CatalogBrowse> = {}, options: RequestOptions = {}) {\n const parsed = CatalogBrowse.parse(query), search = new URLSearchParams();\n for (const [key, value] of Object.entries(parsed)) if (value !== undefined) search.set(key, String(value));\n const result = CatalogBrowsePageSchema.parse(await this.#request(`?${search}`, options));\n if (result.items.length > parsed.limit || (parsed.publisher && result.items.some(item => item.namespace !== parsed.publisher))) this.#mismatch();\n return result;\n }\n async get(releaseId: string, options: RequestOptions = {}) {\n const id = CatalogId.parse(releaseId), result = CatalogDetailSchema.parse(await this.#request(`/releases/${encodeURIComponent(id)}`, options));\n if (result.summary.id !== id) this.#mismatch();\n this.#validateVersions(result); return result;\n }\n async lookup(namespace: string, slug: string, revision?: number, options: RequestOptions = {}) {\n const owner = CatalogSlug.parse(namespace), name = CatalogSlug.parse(slug);\n if (revision !== undefined) z.number().int().positive().parse(revision);\n const result = CatalogDetailSchema.parse(await this.#request(`/lookup/${encodeURIComponent(owner)}/${encodeURIComponent(name)}${revision === undefined ? \"\" : `?revision=${revision}`}`, options));\n if (result.summary.namespace !== owner || result.summary.metadata.slug !== name || (revision !== undefined && result.summary.release.revision !== revision)) this.#mismatch();\n this.#validateVersions(result); return result;\n }\n async preview(releaseId: string, query: z.input<typeof CatalogPreviewQuerySchema> = {}, options: RequestOptions = {}) {\n const id = CatalogId.parse(releaseId), parsed = CatalogPreviewQuerySchema.parse(query);\n const result = CatalogPreviewSchema.parse(await this.#request(`/releases/${encodeURIComponent(id)}/tasks?after=${parsed.after}&limit=${parsed.limit}`, options));\n if (result.items.length > parsed.limit) this.#mismatch(); return result;\n }\n async adopt(input: z.infer<typeof AdoptCatalogDataset>, options: RequestOptions = {}) {\n const request = AdoptCatalogDataset.parse(input), result = CatalogAdoptionReceiptSchema.parse(await this.#request(\"/adopt\", options, request));\n if (result.operationId !== request.operationId || result.releaseId !== request.releaseId || result.teamId !== this.#options.teamId || !sameRelease(result.release, request.release) || result.packageHash !== request.packageHash || result.projectId !== (request.projectId ?? null)) this.#mismatch();\n return result;\n }\n async publish(input: z.infer<typeof PublishCatalogDataset>, options: RequestOptions = {}) {\n const request = PublishCatalogDataset.parse(input), result = CatalogVisibilityReceiptSchema.parse(await this.#request(\"/publish\", options, request));\n if (result.operationId !== request.operationId || result.releaseId !== result.summary.id || !sameRelease(result.summary.release, request.release) || result.summary.packageHash !== request.packageHash || result.visibility !== \"public\") this.#mismatch(); return result;\n }\n async changeVisibility(input: z.infer<typeof CatalogVisibilityChange>, options: RequestOptions = {}) {\n const request = CatalogVisibilityChange.parse(input), result = CatalogVisibilityReceiptSchema.parse(await this.#request(\"/visibility\", options, request));\n if (result.operationId !== request.operationId || result.releaseId !== request.releaseId || result.summary.id !== request.releaseId || result.visibility !== request.visibility) this.#mismatch(); return result;\n }\n async visibility(tasksetId: string, options: RequestOptions = {}) {\n const result = CatalogVisibilityStateSchema.parse(await this.#request(`/visibility/${encodeURIComponent(CatalogId.parse(tasksetId))}`, options, undefined, true));\n if (result.publisher.teamId !== this.#options.teamId) this.#mismatch(); return result;\n }\n async checks(operationId: string, tasksetId: string, options: RequestOptions = {}) {\n const request = CatalogCheckRequestSchema.parse({ operationId, tasksetId }), result = CatalogCheckResultSchema.parse(await this.#request(\"/checks\", options, request));\n if (result.operationId !== request.operationId || result.tasksetId !== request.tasksetId) this.#mismatch(); return result;\n }\n async retained(tasksetId: string, options: RequestOptions = {}) {\n const id = CatalogId.parse(tasksetId), result = CatalogRetainedAdoptionSchema.parse(await this.#request(`/adoptions/${encodeURIComponent(id)}`, options, undefined, true));\n if (result && (result.receipt.tasksetId !== id || result.receipt.teamId !== this.#options.teamId || (result.check && (result.check.tasksetId !== id || result.check.snapshotHash !== result.receipt.snapshotHash)))) this.#mismatch(); return result;\n }\n #validateVersions(result: z.infer<typeof CatalogDetailSchema>) {\n if (result.versions.some(item => item.namespace !== result.summary.namespace || item.metadata.slug !== result.summary.metadata.slug)) this.#mismatch();\n }\n #mismatch(): never { throw new OpenPondDatasetMarketplaceError(502, \"dataset_catalog_identity_mismatch\", \"Dataset marketplace response did not match the requested identity or scope.\"); }\n async #request(path: string, options: RequestOptions, body?: unknown, authenticated = false): Promise<unknown> {\n const auth = authenticated || body !== undefined;\n if (auth && (!this.#options.apiKey?.trim() || !this.#options.teamId?.trim())) throw new Error(\"An API key and explicit workspace are required for this dataset marketplace operation.\");\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/dataset-marketplace${path}`, {\n method: body === undefined ? \"GET\" : \"POST\", signal: options.signal, redirect: \"error\",\n headers: { Accept: \"application/json\", ...(auth ? { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId! } : {}), ...(body === undefined ? {} : { \"Content-Type\": \"application/json\" }) },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondDatasetMarketplaceError(response.status, \"empty_response\", \"Dataset marketplace response was empty.\");\n const decoder = new TextDecoder(); let bytes = 0, text = \"\";\n try { while (true) { const chunk = await reader.read(); if (chunk.done) break; bytes += chunk.value.byteLength; if (bytes > 4_194_304) throw new OpenPondDatasetMarketplaceError(response.status, \"response_too_large\", \"Dataset marketplace response exceeded 4 MiB.\"); text += decoder.decode(chunk.value, { stream: true }); } text += decoder.decode(); }\n finally { await reader.cancel(); reader.releaseLock(); }\n let payload: unknown; try { payload = JSON.parse(text); } catch { throw new OpenPondDatasetMarketplaceError(response.status, \"invalid_response\", \"Dataset marketplace response was not valid JSON.\"); }\n if (!response.ok) { const error = z.object({ code: z.string().min(1), message: z.string().min(1) }).strict().safeParse(payload); throw new OpenPondDatasetMarketplaceError(response.status, error.success ? error.data.code : \"invalid_error_response\", error.success ? error.data.message : `Dataset marketplace request failed (${response.status}).`); }\n return payload;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\n\nexport const CatalogId = z.string().trim().min(1).max(240);\nexport const CatalogSlug = z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(100);\nexport const CatalogReleaseRef = z.object({ id: CatalogId, revision: z.number().int().positive(), contentHash: z.string().regex(/^[a-f0-9]{64}$/) }).strict();\nexport const CatalogMetadata = z.object({\n slug: CatalogSlug,\n title: z.string().trim().min(1).max(200),\n description: z.string().trim().min(1).max(5_000),\n license: z.string().trim().min(1).max(500),\n sourceUrl: z.string().url().max(2000).refine(value => /^https?:\\/\\//i.test(value), \"Use an HTTP or HTTPS source URL.\").nullable(),\n attribution: z.string().max(5000),\n category: z.string().trim().min(1).max(100),\n}).strict();\nexport const PublishCatalogDataset = z.object({\n operationId: CatalogId, tasksetId: CatalogId, release: CatalogReleaseRef,\n packageHash: z.string().regex(/^[a-f0-9]{64}$/),\n expectedVisibilityRevision: z.number().int().nonnegative(),\n metadata: CatalogMetadata, distributionConsent: z.literal(true),\n}).strict();\nexport const CatalogVisibilityChange = z.object({\n operationId: CatalogId, releaseId: CatalogId, expectedVisibilityRevision: z.number().int().positive(),\n visibility: z.enum([\"private\", \"public\"]),\n}).strict();\nexport const AdoptCatalogDataset = z.object({\n operationId: CatalogId, releaseId: CatalogId, release: CatalogReleaseRef,\n packageHash: z.string().regex(/^[a-f0-9]{64}$/), projectId: CatalogId.optional(),\n}).strict();\nexport const CatalogBrowse = z.object({\n search: z.string().max(300).default(\"\"), category: z.string().max(100).default(\"\"),\n publisher: CatalogSlug.optional(), after: z.string().max(3000).optional(), limit: z.coerce.number().int().min(1).max(100).default(30),\n}).strict();\n\nconst CatalogHash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const CatalogGraderSchema = z.object({ id: CatalogId, version: z.string().min(1), kind: z.string().min(1), reward: CatalogReleaseRef, readiness: z.string().min(1), runtime: z.string().min(1), assetCount: z.number().int().nonnegative() }).strict();\nexport const CatalogSummarySchema = z.object({\n id: CatalogId, namespace: CatalogSlug, publisherName: z.string().min(1), metadata: CatalogMetadata,\n release: CatalogReleaseRef, packageHash: CatalogHash, snapshotHash: CatalogHash,\n taskCount: z.number().int().nonnegative(), sizeBytes: z.number().int().nonnegative(), publishedAt: z.string().datetime({ offset: true }),\n buildIntent: z.string().min(1), methodHint: z.string().nullable(), graders: z.array(CatalogGraderSchema),\n}).strict();\nexport const CatalogBrowsePageSchema = z.object({ items: z.array(CatalogSummarySchema).max(100), nextCursor: z.string().max(3000).nullable() }).strict();\nexport const CatalogCategoriesQuerySchema = z.object({ publisher: CatalogSlug.optional() }).strict();\nexport const CatalogCategoriesSchema = z.object({ categories: z.array(z.string().trim().min(1).max(100)).max(100) }).strict();\nexport const CatalogDetailSchema = z.object({ summary: CatalogSummarySchema, versions: z.array(CatalogSummarySchema).max(100) }).strict();\nexport const CatalogVisibilityReceiptSchema = z.object({ operationId: CatalogId, releaseId: CatalogId, visibility: z.enum([\"private\", \"public\"]), visibilityRevision: z.number().int().positive(), summary: CatalogSummarySchema }).strict();\nexport const CatalogAdoptionReceiptSchema = z.object({ operationId: CatalogId, releaseId: CatalogId, teamId: CatalogId, tasksetId: CatalogId, release: CatalogReleaseRef, packageHash: CatalogHash, snapshotHash: CatalogHash, graders: z.array(CatalogGraderSchema), projectId: CatalogId.nullable() }).strict();\nexport const CatalogPreviewQuerySchema = z.object({ after: z.number().int().nonnegative().default(0), limit: z.number().int().min(1).max(30).default(20) }).strict();\nexport const CatalogPreviewSchema = z.object({ items: z.array(z.object({ id: CatalogId, split: z.string(), input: z.record(z.string(), z.unknown()), policyVisibleContext: z.record(z.string(), z.unknown()), artifacts: z.array(z.object({ id: CatalogId, path: z.string(), mediaType: z.string(), sizeBytes: z.number().int().nonnegative() }).strict()) }).strict()).max(30), nextCursor: z.number().int().nonnegative().nullable(), total: z.number().int().nonnegative() }).strict();\nexport const CatalogCheckRequestSchema = z.object({ operationId: CatalogId, tasksetId: CatalogId }).strict();\nexport const CatalogCheckResultSchema = z.object({ operationId: CatalogId, tasksetId: CatalogId, snapshotHash: CatalogHash, status: z.enum([\"passed\", \"failed\", \"unavailable\"]), fixtures: z.array(z.object({ id: CatalogId, taskId: CatalogId, score: z.number().finite().nullable(), passed: z.boolean(), expectationMatched: z.boolean(), evidenceHash: CatalogHash }).strict()).max(50), providerCalls: z.literal(0), runtime: z.string() }).strict();\nexport const CatalogRetainedAdoptionSchema = z.object({ receipt: CatalogAdoptionReceiptSchema, check: CatalogCheckResultSchema.nullable() }).strict().nullable();\nexport const CatalogVisibilityStateSchema = z.object({ publisher: z.object({ namespace: CatalogSlug, teamId: CatalogId, displayName: z.string().min(1) }).strict(), summary: CatalogSummarySchema.nullable(), visibility: z.enum([\"private\", \"public\"]), visibilityRevision: z.number().int().nonnegative(), release: CatalogReleaseRef, packageHash: CatalogHash, taskCount: z.number().int().nonnegative(), fileCount: z.number().int().nonnegative(), sizeBytes: z.number().int().nonnegative() }).strict();\nexport type CatalogSummary = z.infer<typeof CatalogSummarySchema>;\nexport type CatalogVisibilityReceipt = z.infer<typeof CatalogVisibilityReceiptSchema>;\nexport type CatalogAdoptionReceipt = z.infer<typeof CatalogAdoptionReceiptSchema>;\nexport type CatalogCheckResult = z.infer<typeof CatalogCheckResultSchema>;\nexport interface DatasetMarketplaceClientOptions { baseUrl: string; apiKey?: string; teamId?: string; fetch?: typeof globalThis.fetch }\nexport class OpenPondDatasetMarketplaceError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondDatasetMarketplaceError\"; }\n}\ntype RequestOptions = { signal?: AbortSignal };\nconst sameRelease = (a: z.infer<typeof CatalogReleaseRef>, b: z.infer<typeof CatalogReleaseRef>) => a.id === b.id && a.revision === b.revision && a.contentHash === b.contentHash;\n/** Public browse operations require no credentials. Workspace mutations always require an explicit authenticated workspace. No method starts model compute. */\nexport class OpenPondDatasetMarketplaceClient {\n readonly #options: DatasetMarketplaceClientOptions;\n constructor(options: DatasetMarketplaceClientOptions) {\n const url = new URL(options.baseUrl);\n if (![\"https:\", \"http:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new Error(\"Dataset marketplace base URL must be an HTTP(S) endpoint without credentials, query, or fragment.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n async browse(query: z.input<typeof CatalogBrowse> = {}, options: RequestOptions = {}) {\n const parsed = CatalogBrowse.parse(query), search = new URLSearchParams();\n for (const [key, value] of Object.entries(parsed)) if (value !== undefined) search.set(key, String(value));\n const result = CatalogBrowsePageSchema.parse(await this.#request(`?${search}`, options));\n if (result.items.length > parsed.limit || (parsed.publisher && result.items.some(item => item.namespace !== parsed.publisher))) this.#mismatch();\n return result;\n }\n async categories(query: z.input<typeof CatalogCategoriesQuerySchema> = {}, options: RequestOptions = {}) {\n const parsed = CatalogCategoriesQuerySchema.parse(query);\n const suffix = parsed.publisher ? `?publisher=${encodeURIComponent(parsed.publisher)}` : \"\";\n const result = CatalogCategoriesSchema.parse(await this.#request(`/categories${suffix}`, options));\n if (new Set(result.categories).size !== result.categories.length) this.#mismatch();\n return result;\n }\n async get(releaseId: string, options: RequestOptions = {}) {\n const id = CatalogId.parse(releaseId), result = CatalogDetailSchema.parse(await this.#request(`/releases/${encodeURIComponent(id)}`, options));\n if (result.summary.id !== id) this.#mismatch();\n this.#validateVersions(result); return result;\n }\n async lookup(namespace: string, slug: string, revision?: number, options: RequestOptions = {}) {\n const owner = CatalogSlug.parse(namespace), name = CatalogSlug.parse(slug);\n if (revision !== undefined) z.number().int().positive().parse(revision);\n const result = CatalogDetailSchema.parse(await this.#request(`/lookup/${encodeURIComponent(owner)}/${encodeURIComponent(name)}${revision === undefined ? \"\" : `?revision=${revision}`}`, options));\n if (result.summary.namespace !== owner || result.summary.metadata.slug !== name || (revision !== undefined && result.summary.release.revision !== revision)) this.#mismatch();\n this.#validateVersions(result); return result;\n }\n async preview(releaseId: string, query: z.input<typeof CatalogPreviewQuerySchema> = {}, options: RequestOptions = {}) {\n const id = CatalogId.parse(releaseId), parsed = CatalogPreviewQuerySchema.parse(query);\n const result = CatalogPreviewSchema.parse(await this.#request(`/releases/${encodeURIComponent(id)}/tasks?after=${parsed.after}&limit=${parsed.limit}`, options));\n if (result.items.length > parsed.limit) this.#mismatch(); return result;\n }\n async adopt(input: z.infer<typeof AdoptCatalogDataset>, options: RequestOptions = {}) {\n const request = AdoptCatalogDataset.parse(input), result = CatalogAdoptionReceiptSchema.parse(await this.#request(\"/adopt\", options, request));\n if (result.operationId !== request.operationId || result.releaseId !== request.releaseId || result.teamId !== this.#options.teamId || !sameRelease(result.release, request.release) || result.packageHash !== request.packageHash || result.projectId !== (request.projectId ?? null)) this.#mismatch();\n return result;\n }\n async publish(input: z.infer<typeof PublishCatalogDataset>, options: RequestOptions = {}) {\n const request = PublishCatalogDataset.parse(input), result = CatalogVisibilityReceiptSchema.parse(await this.#request(\"/publish\", options, request));\n if (result.operationId !== request.operationId || result.releaseId !== result.summary.id || !sameRelease(result.summary.release, request.release) || result.summary.packageHash !== request.packageHash || result.visibility !== \"public\") this.#mismatch(); return result;\n }\n async changeVisibility(input: z.infer<typeof CatalogVisibilityChange>, options: RequestOptions = {}) {\n const request = CatalogVisibilityChange.parse(input), result = CatalogVisibilityReceiptSchema.parse(await this.#request(\"/visibility\", options, request));\n if (result.operationId !== request.operationId || result.releaseId !== request.releaseId || result.summary.id !== request.releaseId || result.visibility !== request.visibility) this.#mismatch(); return result;\n }\n async visibility(tasksetId: string, options: RequestOptions = {}) {\n const result = CatalogVisibilityStateSchema.parse(await this.#request(`/visibility/${encodeURIComponent(CatalogId.parse(tasksetId))}`, options, undefined, true));\n if (result.publisher.teamId !== this.#options.teamId) this.#mismatch(); return result;\n }\n async checks(operationId: string, tasksetId: string, options: RequestOptions = {}) {\n const request = CatalogCheckRequestSchema.parse({ operationId, tasksetId }), result = CatalogCheckResultSchema.parse(await this.#request(\"/checks\", options, request));\n if (result.operationId !== request.operationId || result.tasksetId !== request.tasksetId) this.#mismatch(); return result;\n }\n async retained(tasksetId: string, options: RequestOptions = {}) {\n const id = CatalogId.parse(tasksetId), result = CatalogRetainedAdoptionSchema.parse(await this.#request(`/adoptions/${encodeURIComponent(id)}`, options, undefined, true));\n if (result && (result.receipt.tasksetId !== id || result.receipt.teamId !== this.#options.teamId || (result.check && (result.check.tasksetId !== id || result.check.snapshotHash !== result.receipt.snapshotHash)))) this.#mismatch(); return result;\n }\n #validateVersions(result: z.infer<typeof CatalogDetailSchema>) {\n if (result.versions.some(item => item.namespace !== result.summary.namespace || item.metadata.slug !== result.summary.metadata.slug)) this.#mismatch();\n }\n #mismatch(): never { throw new OpenPondDatasetMarketplaceError(502, \"dataset_catalog_identity_mismatch\", \"Dataset marketplace response did not match the requested identity or scope.\"); }\n async #request(path: string, options: RequestOptions, body?: unknown, authenticated = false): Promise<unknown> {\n const auth = authenticated || body !== undefined;\n if (auth && (!this.#options.apiKey?.trim() || !this.#options.teamId?.trim())) throw new Error(\"An API key and explicit workspace are required for this dataset marketplace operation.\");\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/dataset-marketplace${path}`, {\n method: body === undefined ? \"GET\" : \"POST\", signal: options.signal, redirect: \"error\",\n headers: { Accept: \"application/json\", ...(auth ? { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId! } : {}), ...(body === undefined ? {} : { \"Content-Type\": \"application/json\" }) },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondDatasetMarketplaceError(response.status, \"empty_response\", \"Dataset marketplace response was empty.\");\n const decoder = new TextDecoder(); let bytes = 0, text = \"\";\n try { while (true) { const chunk = await reader.read(); if (chunk.done) break; bytes += chunk.value.byteLength; if (bytes > 4_194_304) throw new OpenPondDatasetMarketplaceError(response.status, \"response_too_large\", \"Dataset marketplace response exceeded 4 MiB.\"); text += decoder.decode(chunk.value, { stream: true }); } text += decoder.decode(); }\n finally { await reader.cancel(); reader.releaseLock(); }\n let payload: unknown; try { payload = JSON.parse(text); } catch { throw new OpenPondDatasetMarketplaceError(response.status, \"invalid_response\", \"Dataset marketplace response was not valid JSON.\"); }\n if (!response.ok) { const error = z.object({ code: z.string().min(1), message: z.string().min(1) }).strict().safeParse(payload); throw new OpenPondDatasetMarketplaceError(response.status, error.success ? error.data.code : \"invalid_error_response\", error.success ? error.data.message : `Dataset marketplace request failed (${response.status}).`); }\n return payload;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -15,9 +15,9 @@ import "./chunk-2U54EOXJ.js";
|
|
|
15
15
|
import "./chunk-JCPLAIZL.js";
|
|
16
16
|
import {
|
|
17
17
|
ExperimentGraderPinSchema
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-4HZORGK3.js";
|
|
19
|
+
import "./chunk-YYJ4T4U4.js";
|
|
20
|
+
import "./chunk-BGXWHDYM.js";
|
|
21
21
|
import "./chunk-TCHAWJMB.js";
|
|
22
22
|
import "./chunk-3KXDH6OB.js";
|
|
23
23
|
import "./chunk-Y4NGWGTA.js";
|
|
@@ -70,6 +70,17 @@ var DatasetWorkspaceListSchema = z.object({ teamId: Id, datasets: z.array(z.obje
|
|
|
70
70
|
}).strict()).max(100), nextCursor: Id.nullable() }).strict();
|
|
71
71
|
var DatasetWorkspaceValidationSchema = z.object({ teamId: Id, datasetId: Id, revision: z.number().int().positive(), workspaceHash: Hash, packageHash: Hash, release: TasksetCatalogReleaseRefSchema }).strict();
|
|
72
72
|
|
|
73
|
+
// src/dataset-workspace-operations.ts
|
|
74
|
+
import { z as z2 } from "zod";
|
|
75
|
+
var DatasetWorkspaceOperationKindSchema = z2.enum(["create", "save", "publish", "begin_version"]);
|
|
76
|
+
var DatasetWorkspaceOperationResultSchema = z2.object({ operationId: z2.string().trim().min(1).max(240), kind: DatasetWorkspaceOperationKindSchema, requestHash: z2.string().regex(/^[a-f0-9]{64}$/), receipt: DatasetWorkspaceReceiptSchema, base: DatasetWorkspaceReceiptSchema.nullable() }).strict().superRefine((value, context) => {
|
|
77
|
+
const { receipt, base, kind } = value;
|
|
78
|
+
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." });
|
|
79
|
+
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." });
|
|
80
|
+
const actualKind = !base ? "create" : receipt.workspace.draft.status === "published" ? "publish" : base.workspace.draft.status === "published" ? "begin_version" : "save";
|
|
81
|
+
if (kind !== actualKind) context.addIssue({ code: "custom", message: "Operation recovery kind differs from its retained lifecycle." });
|
|
82
|
+
});
|
|
83
|
+
|
|
73
84
|
// src/dataset-workspace-client.ts
|
|
74
85
|
var OpenPondDatasetWorkspaceClient = class {
|
|
75
86
|
constructor(options) {
|
|
@@ -89,6 +100,19 @@ var OpenPondDatasetWorkspaceClient = class {
|
|
|
89
100
|
async get(id, signal) {
|
|
90
101
|
return this.readback(await this.request(`/${encodeURIComponent(id)}`, "GET", void 0, signal), id);
|
|
91
102
|
}
|
|
103
|
+
/** Recover only this actor's retained operation; base bytes allow adapters to
|
|
104
|
+
* reconstruct and verify the identical original CAS request before replay. */
|
|
105
|
+
async operationResult(operationId, options) {
|
|
106
|
+
const kind = DatasetWorkspaceOperationKindSchema.parse(options.kind);
|
|
107
|
+
const params = new URLSearchParams({ kind, ...options.datasetId ? { datasetId: options.datasetId } : {} });
|
|
108
|
+
const raw = await this.request(`/operations/${encodeURIComponent(operationId)}?${params}`, "GET", void 0, options.signal, 132 * 1024 * 1024);
|
|
109
|
+
if (raw === null) return null;
|
|
110
|
+
const value = DatasetWorkspaceOperationResultSchema.parse(raw);
|
|
111
|
+
this.readback(value.receipt, value.receipt.datasetId);
|
|
112
|
+
if (value.base) this.readback(value.base, value.receipt.datasetId);
|
|
113
|
+
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.");
|
|
114
|
+
return value;
|
|
115
|
+
}
|
|
92
116
|
async beginVersion(id, input, signal) {
|
|
93
117
|
const request = DatasetWorkspaceBeginVersionSchema.parse(input);
|
|
94
118
|
const result = this.readback(await this.request(`/${encodeURIComponent(id)}/begin-version`, "POST", request, signal), id);
|
|
@@ -133,7 +157,7 @@ var OpenPondDatasetWorkspaceClient = class {
|
|
|
133
157
|
if (result.datasetId !== id || result.teamId !== this.options.teamId) throw new Error("Dataset identity mismatch.");
|
|
134
158
|
return result;
|
|
135
159
|
}
|
|
136
|
-
async request(path, method, body, signal) {
|
|
160
|
+
async request(path, method, body, signal, maxResponseBytes) {
|
|
137
161
|
const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/dataset-workspaces${path}`, {
|
|
138
162
|
method,
|
|
139
163
|
signal,
|
|
@@ -142,37 +166,60 @@ var OpenPondDatasetWorkspaceClient = class {
|
|
|
142
166
|
...body === void 0 ? {} : { body: JSON.stringify(body) }
|
|
143
167
|
});
|
|
144
168
|
if (!response.ok) throw new Error(`Dataset request failed (${response.status}).`);
|
|
169
|
+
if (maxResponseBytes !== void 0) {
|
|
170
|
+
if (!response.body) throw new Error("Dataset response is empty.");
|
|
171
|
+
const reader = response.body.getReader(), chunks = [];
|
|
172
|
+
let length = 0;
|
|
173
|
+
try {
|
|
174
|
+
while (true) {
|
|
175
|
+
const part = await reader.read();
|
|
176
|
+
if (part.done) break;
|
|
177
|
+
length += part.value.byteLength;
|
|
178
|
+
if (length > maxResponseBytes) throw new Error("Dataset recovery exceeds its bounded response.");
|
|
179
|
+
chunks.push(part.value);
|
|
180
|
+
}
|
|
181
|
+
} finally {
|
|
182
|
+
await reader.cancel();
|
|
183
|
+
}
|
|
184
|
+
const bytes = new Uint8Array(length);
|
|
185
|
+
let offset = 0;
|
|
186
|
+
for (const chunk of chunks) {
|
|
187
|
+
bytes.set(chunk, offset);
|
|
188
|
+
offset += chunk.length;
|
|
189
|
+
}
|
|
190
|
+
return JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
|
|
191
|
+
}
|
|
145
192
|
return response.json();
|
|
146
193
|
}
|
|
147
194
|
};
|
|
148
195
|
|
|
149
196
|
// src/dataset-population.ts
|
|
150
197
|
import { TaskSplitSchema, TaskRecordSchema } from "@openpond/evals/tasksets";
|
|
151
|
-
import { z as
|
|
152
|
-
var Id2 =
|
|
153
|
-
var Hash2 =
|
|
154
|
-
var DatasetPopulationQuerySchema =
|
|
198
|
+
import { z as z3 } from "zod";
|
|
199
|
+
var Id2 = z3.string().trim().min(1).max(500);
|
|
200
|
+
var Hash2 = z3.string().regex(/^[a-f0-9]{64}$/);
|
|
201
|
+
var DatasetPopulationQuerySchema = z3.object({
|
|
155
202
|
release: TasksetCatalogReleaseRefSchema,
|
|
156
203
|
afterId: Id2.optional(),
|
|
157
|
-
limit:
|
|
158
|
-
view:
|
|
204
|
+
limit: z3.number().int().min(1).max(1e4).default(100),
|
|
205
|
+
view: z3.enum(["ids", "policy"]).default("ids")
|
|
159
206
|
}).strict().superRefine((query, context) => {
|
|
160
207
|
if (query.view === "policy" && query.limit > 100) context.addIssue({ code: "custom", path: ["limit"], message: "Policy previews are bounded to 100 tasks." });
|
|
161
208
|
});
|
|
162
|
-
var TaskIdentity =
|
|
209
|
+
var TaskIdentity = z3.object({ id: TaskRecordSchema.shape.id, split: TaskSplitSchema }).strict();
|
|
163
210
|
var PolicyTask = TaskIdentity.extend({
|
|
164
|
-
input:
|
|
165
|
-
policyVisibleContext:
|
|
166
|
-
artifacts:
|
|
211
|
+
input: z3.record(z3.string(), z3.unknown()),
|
|
212
|
+
policyVisibleContext: z3.record(z3.string(), z3.unknown()),
|
|
213
|
+
artifacts: z3.array(z3.object({ id: Id2, path: z3.string(), mediaType: z3.string(), sizeBytes: z3.number().int().nonnegative() }).strict()).max(1e3)
|
|
167
214
|
}).strict();
|
|
168
|
-
var DatasetPopulationPageSchema =
|
|
169
|
-
schemaVersion:
|
|
215
|
+
var DatasetPopulationPageSchema = z3.object({
|
|
216
|
+
schemaVersion: z3.literal("openpond.datasetPopulationPage.v1"),
|
|
170
217
|
teamId: Id2,
|
|
171
218
|
release: TasksetCatalogReleaseRefSchema,
|
|
172
219
|
view: DatasetPopulationQuerySchema.shape.view,
|
|
173
|
-
taskCount:
|
|
174
|
-
items:
|
|
175
|
-
graders:
|
|
220
|
+
taskCount: z3.number().int().nonnegative(),
|
|
221
|
+
items: z3.array(z3.union([TaskIdentity, PolicyTask])).max(1e4),
|
|
222
|
+
graders: z3.array(ExperimentGraderPinSchema).max(1e3),
|
|
176
223
|
nextCursor: Id2.nullable(),
|
|
177
224
|
contentHash: Hash2
|
|
178
225
|
}).strict().superRefine((page, context) => {
|
|
@@ -211,7 +258,7 @@ var OpenPondDatasetPopulationClient = class {
|
|
|
211
258
|
reader.releaseLock();
|
|
212
259
|
}
|
|
213
260
|
const raw = JSON.parse(source);
|
|
214
|
-
if (!response.ok) throw new Error(
|
|
261
|
+
if (!response.ok) throw new Error(z3.object({ message: z3.string() }).passthrough().parse(raw).message);
|
|
215
262
|
const page = DatasetPopulationPageSchema.parse(raw);
|
|
216
263
|
const { contentHash: hash, ...content } = page;
|
|
217
264
|
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 !== void 0 && 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.");
|
|
@@ -223,6 +270,8 @@ export {
|
|
|
223
270
|
DatasetPopulationQuerySchema,
|
|
224
271
|
DatasetWorkspaceBeginVersionSchema,
|
|
225
272
|
DatasetWorkspaceListSchema,
|
|
273
|
+
DatasetWorkspaceOperationKindSchema,
|
|
274
|
+
DatasetWorkspaceOperationResultSchema,
|
|
226
275
|
DatasetWorkspacePublishSchema,
|
|
227
276
|
DatasetWorkspaceReceiptSchema,
|
|
228
277
|
DatasetWorkspaceValidationSchema,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/dataset-workspace-contracts.ts", "../src/dataset-workspace-client.ts", "../src/dataset-population.ts"],
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\nimport { TasksetDraftWorkspaceSchema } from \"./taskset-draft-workspace.js\";\nimport { TasksetCatalogReleaseRefSchema } from \"./taskset-catalog.js\";\nexport { compileTasksetDraftWorkspace } from \"./taskset-draft-package-compiler.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const DatasetWorkspaceWriteSchema = z.object({\n operationId: Id, expectedRevision: z.number().int().nonnegative(), originProjectId: Id.optional(), workspace: TasksetDraftWorkspaceSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n}).strict().superRefine((value, ctx) => {\n if (value.workspace.draft.modelScope !== null) ctx.addIssue({ code: \"custom\", message: \"Independent datasets cannot carry Model-owned draft preparation.\" });\n if (value.workspace.draft.status !== \"draft\") ctx.addIssue({ code: \"custom\", message: \"Only draft workspaces can be saved.\" });\n});\nexport const DatasetWorkspaceReceiptSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetWorkspaceReceipt.v1\"), teamId: Id, datasetId: Id,\n revision: z.number().int().positive(), originProjectId: Id.optional(), workspace: TasksetDraftWorkspaceSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n publication: z.object({ tasksetId: Id, release: TasksetCatalogReleaseRefSchema, packageHash: Hash }).strict().nullable(),\n}).strict().superRefine((value, ctx) => {\n if (value.workspace.draft.id !== value.datasetId || value.workspace.draft.profileId !== value.teamId || value.workspace.draft.revision !== value.revision || value.workspace.draft.modelScope !== null) ctx.addIssue({ code: \"custom\", message: \"Dataset workspace scope/revision mismatch.\" });\n});\nexport const DatasetWorkspacePublishSchema = z.object({ operationId: Id, expectedRevision: z.number().int().positive(), workspaceHash: Hash, packageHash: Hash }).strict();\nexport const DatasetWorkspaceBeginVersionSchema = z.object({ operationId: Id, expectedRevision: z.number().int().positive() }).strict();\nexport const DatasetWorkspaceVersionsSchema = z.object({ teamId: Id, datasetId: Id, items: z.array(z.object({\n workspaceRevision: z.number().int().positive(), publication: DatasetWorkspaceReceiptSchema.shape.publication.unwrap(), publishedAt: z.iso.datetime(),\n}).strict()).max(25), nextBeforeRevision: z.number().int().positive().nullable() }).strict();\nexport type DatasetWorkspaceReceipt = z.infer<typeof DatasetWorkspaceReceiptSchema>;\n\nexport const DatasetWorkspaceListSchema = z.object({ teamId: Id, datasets: z.array(z.object({\n id: Id, revision: z.number().int().positive(), originProjectId: Id.optional(), name: z.string(), status: z.enum([\"draft\", \"published\"]),\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n publication: DatasetWorkspaceReceiptSchema.shape.publication, updatedAt: z.string().datetime(),\n}).strict()).max(100), nextCursor: Id.nullable() }).strict();\nexport const DatasetWorkspaceValidationSchema = z.object({ teamId: Id, datasetId: Id, revision: z.number().int().positive(), workspaceHash: Hash, packageHash: Hash, release: TasksetCatalogReleaseRefSchema }).strict();\n", "import { DatasetWorkspaceBeginVersionSchema, DatasetWorkspaceVersionsSchema, DatasetWorkspaceListSchema, DatasetWorkspacePublishSchema, DatasetWorkspaceReceiptSchema, DatasetWorkspaceValidationSchema, DatasetWorkspaceWriteSchema } from \"./dataset-workspace-contracts.js\";\nimport { validateTasksetDraftWorkspace } from \"./taskset-draft-workspace.js\";\nimport type { z } from \"zod\";\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 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 list(options: { cursor?: string; projectId?: string; signal?: AbortSignal } = {}) {\n const params = new URLSearchParams({ ...(options.cursor ? { cursor: options.cursor } : {}), ...(options.projectId ? { projectId: options.projectId } : {}) });\n const result = DatasetWorkspaceListSchema.parse(await this.request(`?${params}`, \"GET\", undefined, options.signal));\n if (result.teamId !== this.options.teamId) throw new Error(\"Dataset list workspace 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 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): 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 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"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["z", "Id", "z", "Hash"]
|
|
3
|
+
"sources": ["../src/dataset-workspace-contracts.ts", "../src/dataset-workspace-operations.ts", "../src/dataset-workspace-client.ts", "../src/dataset-population.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\nimport { TasksetDraftWorkspaceSchema } from \"./taskset-draft-workspace.js\";\nimport { TasksetCatalogReleaseRefSchema } from \"./taskset-catalog.js\";\nexport { compileTasksetDraftWorkspace } from \"./taskset-draft-package-compiler.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const DatasetWorkspaceWriteSchema = z.object({\n operationId: Id, expectedRevision: z.number().int().nonnegative(), originProjectId: Id.optional(), workspace: TasksetDraftWorkspaceSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n}).strict().superRefine((value, ctx) => {\n if (value.workspace.draft.modelScope !== null) ctx.addIssue({ code: \"custom\", message: \"Independent datasets cannot carry Model-owned draft preparation.\" });\n if (value.workspace.draft.status !== \"draft\") ctx.addIssue({ code: \"custom\", message: \"Only draft workspaces can be saved.\" });\n});\nexport const DatasetWorkspaceReceiptSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetWorkspaceReceipt.v1\"), teamId: Id, datasetId: Id,\n revision: z.number().int().positive(), originProjectId: Id.optional(), workspace: TasksetDraftWorkspaceSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n publication: z.object({ tasksetId: Id, release: TasksetCatalogReleaseRefSchema, packageHash: Hash }).strict().nullable(),\n}).strict().superRefine((value, ctx) => {\n if (value.workspace.draft.id !== value.datasetId || value.workspace.draft.profileId !== value.teamId || value.workspace.draft.revision !== value.revision || value.workspace.draft.modelScope !== null) ctx.addIssue({ code: \"custom\", message: \"Dataset workspace scope/revision mismatch.\" });\n});\nexport const DatasetWorkspacePublishSchema = z.object({ operationId: Id, expectedRevision: z.number().int().positive(), workspaceHash: Hash, packageHash: Hash }).strict();\nexport const DatasetWorkspaceBeginVersionSchema = z.object({ operationId: Id, expectedRevision: z.number().int().positive() }).strict();\nexport const DatasetWorkspaceVersionsSchema = z.object({ teamId: Id, datasetId: Id, items: z.array(z.object({\n workspaceRevision: z.number().int().positive(), publication: DatasetWorkspaceReceiptSchema.shape.publication.unwrap(), publishedAt: z.iso.datetime(),\n}).strict()).max(25), nextBeforeRevision: z.number().int().positive().nullable() }).strict();\nexport type DatasetWorkspaceReceipt = z.infer<typeof DatasetWorkspaceReceiptSchema>;\n\nexport const DatasetWorkspaceListSchema = z.object({ teamId: Id, datasets: z.array(z.object({\n id: Id, revision: z.number().int().positive(), originProjectId: Id.optional(), name: z.string(), status: z.enum([\"draft\", \"published\"]),\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n publication: DatasetWorkspaceReceiptSchema.shape.publication, updatedAt: z.string().datetime(),\n}).strict()).max(100), nextCursor: Id.nullable() }).strict();\nexport const DatasetWorkspaceValidationSchema = z.object({ teamId: Id, datasetId: Id, revision: z.number().int().positive(), workspaceHash: Hash, packageHash: Hash, release: TasksetCatalogReleaseRefSchema }).strict();\n", "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 { 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\";\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 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 list(options: { cursor?: string; projectId?: string; signal?: AbortSignal } = {}) {\n const params = new URLSearchParams({ ...(options.cursor ? { cursor: options.cursor } : {}), ...(options.projectId ? { projectId: options.projectId } : {}) });\n const result = DatasetWorkspaceListSchema.parse(await this.request(`?${params}`, \"GET\", undefined, options.signal));\n if (result.teamId !== this.options.teamId) throw new Error(\"Dataset list workspace 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"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["z", "z", "z", "Id", "z", "Hash"]
|
|
7
7
|
}
|