openpond-sdk 0.9.6 → 0.9.7
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-EMANJDJR.js → chunk-CNGJF6AM.js} +61 -198
- package/dist/chunk-CNGJF6AM.js.map +7 -0
- package/dist/chunk-SR55WVPK.js +158 -0
- package/dist/chunk-SR55WVPK.js.map +7 -0
- package/dist/dataset-marketplace.js +216 -0
- package/dist/dataset-marketplace.js.map +7 -0
- package/dist/dataset-workspaces.js +86 -2
- package/dist/dataset-workspaces.js.map +4 -4
- package/dist/experiments.js +9 -7
- package/dist/experiments.js.map +1 -1
- package/dist/index.js +9 -8
- package/dist/index.js.map +1 -1
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +945 -0
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-population.d.ts +97 -0
- package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +146 -145
- 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 +84 -84
- 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/evaluation-project-context.d.ts +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts +23 -23
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts +3 -3
- package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +1 -1
- package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +3 -3
- package/dist/types/packages/sdk/src/grader-inspection.d.ts +8 -8
- 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/managed-training-preparation.d.ts +2 -2
- package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +7 -7
- package/dist/types/packages/sdk/src/model-batch-review.d.ts +23 -23
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts +3 -3
- package/dist/types/packages/sdk/src/model-projects.d.ts +27 -27
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +47 -47
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +15 -15
- package/dist/types/packages/sdk/src/model-starter-execution.d.ts +4 -4
- package/dist/types/packages/sdk/src/model-starters.d.ts +18 -18
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +16 -16
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +15 -15
- package/dist/types/packages/sdk/src/task-inventory.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +46 -46
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +30 -30
- 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 +84 -84
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +176 -176
- package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +46 -46
- package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +25 -25
- package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +41 -41
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +45 -45
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +56 -56
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +71 -71
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +84 -84
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +1733 -1733
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +1083 -1083
- package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +2 -2
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +18 -18
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +59 -59
- package/dist/types/packages/sdk/src/training-acceptance.d.ts +4 -4
- package/dist/types/packages/sdk/src/training-harness-sources.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +68 -68
- package/dist/types/packages/sdk/src/training-project-client.d.ts +12 -12
- package/dist/types/packages/sdk/src/training-project-contracts.d.ts +21 -21
- package/dist/types/packages/sdk/src/training.d.ts +24 -24
- package/package.json +5 -1
- package/dist/chunk-EMANJDJR.js.map +0 -7
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
// src/dataset-marketplace.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var CatalogId = z.string().trim().min(1).max(240);
|
|
4
|
+
var CatalogSlug = z.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/).max(100);
|
|
5
|
+
var CatalogReleaseRef = z.object({ id: CatalogId, revision: z.number().int().positive(), contentHash: z.string().regex(/^[a-f0-9]{64}$/) }).strict();
|
|
6
|
+
var CatalogMetadata = z.object({
|
|
7
|
+
slug: CatalogSlug,
|
|
8
|
+
title: z.string().trim().min(1).max(200),
|
|
9
|
+
description: z.string().trim().min(1).max(5e3),
|
|
10
|
+
license: z.string().trim().min(1).max(500),
|
|
11
|
+
sourceUrl: z.string().url().max(2e3).refine((value) => /^https?:\/\//i.test(value), "Use an HTTP or HTTPS source URL.").nullable(),
|
|
12
|
+
attribution: z.string().max(5e3),
|
|
13
|
+
category: z.string().trim().min(1).max(100)
|
|
14
|
+
}).strict();
|
|
15
|
+
var PublishCatalogDataset = z.object({
|
|
16
|
+
operationId: CatalogId,
|
|
17
|
+
tasksetId: CatalogId,
|
|
18
|
+
release: CatalogReleaseRef,
|
|
19
|
+
packageHash: z.string().regex(/^[a-f0-9]{64}$/),
|
|
20
|
+
expectedVisibilityRevision: z.number().int().nonnegative(),
|
|
21
|
+
metadata: CatalogMetadata,
|
|
22
|
+
distributionConsent: z.literal(true)
|
|
23
|
+
}).strict();
|
|
24
|
+
var CatalogVisibilityChange = z.object({
|
|
25
|
+
operationId: CatalogId,
|
|
26
|
+
releaseId: CatalogId,
|
|
27
|
+
expectedVisibilityRevision: z.number().int().positive(),
|
|
28
|
+
visibility: z.enum(["private", "public"])
|
|
29
|
+
}).strict();
|
|
30
|
+
var AdoptCatalogDataset = z.object({
|
|
31
|
+
operationId: CatalogId,
|
|
32
|
+
releaseId: CatalogId,
|
|
33
|
+
release: CatalogReleaseRef,
|
|
34
|
+
packageHash: z.string().regex(/^[a-f0-9]{64}$/),
|
|
35
|
+
projectId: CatalogId.optional()
|
|
36
|
+
}).strict();
|
|
37
|
+
var CatalogBrowse = z.object({
|
|
38
|
+
search: z.string().max(300).default(""),
|
|
39
|
+
category: z.string().max(100).default(""),
|
|
40
|
+
publisher: CatalogSlug.optional(),
|
|
41
|
+
after: z.string().max(3e3).optional(),
|
|
42
|
+
limit: z.coerce.number().int().min(1).max(100).default(30)
|
|
43
|
+
}).strict();
|
|
44
|
+
var CatalogHash = z.string().regex(/^[a-f0-9]{64}$/);
|
|
45
|
+
var 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();
|
|
46
|
+
var CatalogSummarySchema = z.object({
|
|
47
|
+
id: CatalogId,
|
|
48
|
+
namespace: CatalogSlug,
|
|
49
|
+
publisherName: z.string().min(1),
|
|
50
|
+
metadata: CatalogMetadata,
|
|
51
|
+
release: CatalogReleaseRef,
|
|
52
|
+
packageHash: CatalogHash,
|
|
53
|
+
snapshotHash: CatalogHash,
|
|
54
|
+
taskCount: z.number().int().nonnegative(),
|
|
55
|
+
sizeBytes: z.number().int().nonnegative(),
|
|
56
|
+
publishedAt: z.string().datetime({ offset: true }),
|
|
57
|
+
buildIntent: z.string().min(1),
|
|
58
|
+
methodHint: z.string().nullable(),
|
|
59
|
+
graders: z.array(CatalogGraderSchema)
|
|
60
|
+
}).strict();
|
|
61
|
+
var CatalogBrowsePageSchema = z.object({ items: z.array(CatalogSummarySchema).max(100), nextCursor: z.string().max(3e3).nullable() }).strict();
|
|
62
|
+
var CatalogDetailSchema = z.object({ summary: CatalogSummarySchema, versions: z.array(CatalogSummarySchema).max(100) }).strict();
|
|
63
|
+
var CatalogVisibilityReceiptSchema = z.object({ operationId: CatalogId, releaseId: CatalogId, visibility: z.enum(["private", "public"]), visibilityRevision: z.number().int().positive(), summary: CatalogSummarySchema }).strict();
|
|
64
|
+
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();
|
|
65
|
+
var CatalogPreviewQuerySchema = z.object({ after: z.number().int().nonnegative().default(0), limit: z.number().int().min(1).max(30).default(20) }).strict();
|
|
66
|
+
var 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();
|
|
67
|
+
var CatalogCheckRequestSchema = z.object({ operationId: CatalogId, tasksetId: CatalogId }).strict();
|
|
68
|
+
var 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();
|
|
69
|
+
var CatalogRetainedAdoptionSchema = z.object({ receipt: CatalogAdoptionReceiptSchema, check: CatalogCheckResultSchema.nullable() }).strict().nullable();
|
|
70
|
+
var 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();
|
|
71
|
+
var OpenPondDatasetMarketplaceError = class extends Error {
|
|
72
|
+
constructor(status, code, message) {
|
|
73
|
+
super(message);
|
|
74
|
+
this.status = status;
|
|
75
|
+
this.code = code;
|
|
76
|
+
this.name = "OpenPondDatasetMarketplaceError";
|
|
77
|
+
}
|
|
78
|
+
status;
|
|
79
|
+
code;
|
|
80
|
+
};
|
|
81
|
+
var sameRelease = (a, b) => a.id === b.id && a.revision === b.revision && a.contentHash === b.contentHash;
|
|
82
|
+
var OpenPondDatasetMarketplaceClient = class {
|
|
83
|
+
#options;
|
|
84
|
+
constructor(options) {
|
|
85
|
+
const url = new URL(options.baseUrl);
|
|
86
|
+
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.");
|
|
87
|
+
this.#options = { ...options, baseUrl: url.toString().replace(/\/+$/, "") };
|
|
88
|
+
}
|
|
89
|
+
async browse(query = {}, options = {}) {
|
|
90
|
+
const parsed = CatalogBrowse.parse(query), search = new URLSearchParams();
|
|
91
|
+
for (const [key, value] of Object.entries(parsed)) if (value !== void 0) search.set(key, String(value));
|
|
92
|
+
const result = CatalogBrowsePageSchema.parse(await this.#request(`?${search}`, options));
|
|
93
|
+
if (result.items.length > parsed.limit || parsed.publisher && result.items.some((item) => item.namespace !== parsed.publisher)) this.#mismatch();
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
async get(releaseId, options = {}) {
|
|
97
|
+
const id = CatalogId.parse(releaseId), result = CatalogDetailSchema.parse(await this.#request(`/releases/${encodeURIComponent(id)}`, options));
|
|
98
|
+
if (result.summary.id !== id) this.#mismatch();
|
|
99
|
+
this.#validateVersions(result);
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
102
|
+
async lookup(namespace, slug, revision, options = {}) {
|
|
103
|
+
const owner = CatalogSlug.parse(namespace), name = CatalogSlug.parse(slug);
|
|
104
|
+
if (revision !== void 0) z.number().int().positive().parse(revision);
|
|
105
|
+
const result = CatalogDetailSchema.parse(await this.#request(`/lookup/${encodeURIComponent(owner)}/${encodeURIComponent(name)}${revision === void 0 ? "" : `?revision=${revision}`}`, options));
|
|
106
|
+
if (result.summary.namespace !== owner || result.summary.metadata.slug !== name || revision !== void 0 && result.summary.release.revision !== revision) this.#mismatch();
|
|
107
|
+
this.#validateVersions(result);
|
|
108
|
+
return result;
|
|
109
|
+
}
|
|
110
|
+
async preview(releaseId, query = {}, options = {}) {
|
|
111
|
+
const id = CatalogId.parse(releaseId), parsed = CatalogPreviewQuerySchema.parse(query);
|
|
112
|
+
const result = CatalogPreviewSchema.parse(await this.#request(`/releases/${encodeURIComponent(id)}/tasks?after=${parsed.after}&limit=${parsed.limit}`, options));
|
|
113
|
+
if (result.items.length > parsed.limit) this.#mismatch();
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
async adopt(input, options = {}) {
|
|
117
|
+
const request = AdoptCatalogDataset.parse(input), result = CatalogAdoptionReceiptSchema.parse(await this.#request("/adopt", options, request));
|
|
118
|
+
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();
|
|
119
|
+
return result;
|
|
120
|
+
}
|
|
121
|
+
async publish(input, options = {}) {
|
|
122
|
+
const request = PublishCatalogDataset.parse(input), result = CatalogVisibilityReceiptSchema.parse(await this.#request("/publish", options, request));
|
|
123
|
+
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();
|
|
124
|
+
return result;
|
|
125
|
+
}
|
|
126
|
+
async changeVisibility(input, options = {}) {
|
|
127
|
+
const request = CatalogVisibilityChange.parse(input), result = CatalogVisibilityReceiptSchema.parse(await this.#request("/visibility", options, request));
|
|
128
|
+
if (result.operationId !== request.operationId || result.releaseId !== request.releaseId || result.summary.id !== request.releaseId || result.visibility !== request.visibility) this.#mismatch();
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
async visibility(tasksetId, options = {}) {
|
|
132
|
+
const result = CatalogVisibilityStateSchema.parse(await this.#request(`/visibility/${encodeURIComponent(CatalogId.parse(tasksetId))}`, options, void 0, true));
|
|
133
|
+
if (result.publisher.teamId !== this.#options.teamId) this.#mismatch();
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
async checks(operationId, tasksetId, options = {}) {
|
|
137
|
+
const request = CatalogCheckRequestSchema.parse({ operationId, tasksetId }), result = CatalogCheckResultSchema.parse(await this.#request("/checks", options, request));
|
|
138
|
+
if (result.operationId !== request.operationId || result.tasksetId !== request.tasksetId) this.#mismatch();
|
|
139
|
+
return result;
|
|
140
|
+
}
|
|
141
|
+
async retained(tasksetId, options = {}) {
|
|
142
|
+
const id = CatalogId.parse(tasksetId), result = CatalogRetainedAdoptionSchema.parse(await this.#request(`/adoptions/${encodeURIComponent(id)}`, options, void 0, true));
|
|
143
|
+
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();
|
|
144
|
+
return result;
|
|
145
|
+
}
|
|
146
|
+
#validateVersions(result) {
|
|
147
|
+
if (result.versions.some((item) => item.namespace !== result.summary.namespace || item.metadata.slug !== result.summary.metadata.slug)) this.#mismatch();
|
|
148
|
+
}
|
|
149
|
+
#mismatch() {
|
|
150
|
+
throw new OpenPondDatasetMarketplaceError(502, "dataset_catalog_identity_mismatch", "Dataset marketplace response did not match the requested identity or scope.");
|
|
151
|
+
}
|
|
152
|
+
async #request(path, options, body, authenticated = false) {
|
|
153
|
+
const auth = authenticated || body !== void 0;
|
|
154
|
+
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.");
|
|
155
|
+
const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/dataset-marketplace${path}`, {
|
|
156
|
+
method: body === void 0 ? "GET" : "POST",
|
|
157
|
+
signal: options.signal,
|
|
158
|
+
redirect: "error",
|
|
159
|
+
headers: { Accept: "application/json", ...auth ? { Authorization: `Bearer ${this.#options.apiKey}`, "X-OpenPond-Team-Id": this.#options.teamId } : {}, ...body === void 0 ? {} : { "Content-Type": "application/json" } },
|
|
160
|
+
...body === void 0 ? {} : { body: JSON.stringify(body) }
|
|
161
|
+
});
|
|
162
|
+
const reader = response.body?.getReader();
|
|
163
|
+
if (!reader) throw new OpenPondDatasetMarketplaceError(response.status, "empty_response", "Dataset marketplace response was empty.");
|
|
164
|
+
const decoder = new TextDecoder();
|
|
165
|
+
let bytes = 0, text = "";
|
|
166
|
+
try {
|
|
167
|
+
while (true) {
|
|
168
|
+
const chunk = await reader.read();
|
|
169
|
+
if (chunk.done) break;
|
|
170
|
+
bytes += chunk.value.byteLength;
|
|
171
|
+
if (bytes > 4194304) throw new OpenPondDatasetMarketplaceError(response.status, "response_too_large", "Dataset marketplace response exceeded 4 MiB.");
|
|
172
|
+
text += decoder.decode(chunk.value, { stream: true });
|
|
173
|
+
}
|
|
174
|
+
text += decoder.decode();
|
|
175
|
+
} finally {
|
|
176
|
+
await reader.cancel();
|
|
177
|
+
reader.releaseLock();
|
|
178
|
+
}
|
|
179
|
+
let payload;
|
|
180
|
+
try {
|
|
181
|
+
payload = JSON.parse(text);
|
|
182
|
+
} catch {
|
|
183
|
+
throw new OpenPondDatasetMarketplaceError(response.status, "invalid_response", "Dataset marketplace response was not valid JSON.");
|
|
184
|
+
}
|
|
185
|
+
if (!response.ok) {
|
|
186
|
+
const error = z.object({ code: z.string().min(1), message: z.string().min(1) }).strict().safeParse(payload);
|
|
187
|
+
throw new OpenPondDatasetMarketplaceError(response.status, error.success ? error.data.code : "invalid_error_response", error.success ? error.data.message : `Dataset marketplace request failed (${response.status}).`);
|
|
188
|
+
}
|
|
189
|
+
return payload;
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
export {
|
|
193
|
+
AdoptCatalogDataset,
|
|
194
|
+
CatalogAdoptionReceiptSchema,
|
|
195
|
+
CatalogBrowse,
|
|
196
|
+
CatalogBrowsePageSchema,
|
|
197
|
+
CatalogCheckRequestSchema,
|
|
198
|
+
CatalogCheckResultSchema,
|
|
199
|
+
CatalogDetailSchema,
|
|
200
|
+
CatalogGraderSchema,
|
|
201
|
+
CatalogId,
|
|
202
|
+
CatalogMetadata,
|
|
203
|
+
CatalogPreviewQuerySchema,
|
|
204
|
+
CatalogPreviewSchema,
|
|
205
|
+
CatalogReleaseRef,
|
|
206
|
+
CatalogRetainedAdoptionSchema,
|
|
207
|
+
CatalogSlug,
|
|
208
|
+
CatalogSummarySchema,
|
|
209
|
+
CatalogVisibilityChange,
|
|
210
|
+
CatalogVisibilityReceiptSchema,
|
|
211
|
+
CatalogVisibilityStateSchema,
|
|
212
|
+
OpenPondDatasetMarketplaceClient,
|
|
213
|
+
OpenPondDatasetMarketplaceError,
|
|
214
|
+
PublishCatalogDataset
|
|
215
|
+
};
|
|
216
|
+
//# sourceMappingURL=dataset-marketplace.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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": ";AAAA,SAAS,SAAS;AAEX,IAAM,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAClD,IAAM,cAAc,EAAE,OAAO,EAAE,MAAM,4BAA4B,EAAE,IAAI,GAAG;AAC1E,IAAM,oBAAoB,EAAE,OAAO,EAAE,IAAI,WAAW,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB,EAAE,CAAC,EAAE,OAAO;AACrJ,IAAM,kBAAkB,EAAE,OAAO;AAAA,EACtC,MAAM;AAAA,EACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACvC,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,EAC/C,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACzC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAI,EAAE,OAAO,WAAS,gBAAgB,KAAK,KAAK,GAAG,kCAAkC,EAAE,SAAS;AAAA,EAChI,aAAa,EAAE,OAAO,EAAE,IAAI,GAAI;AAAA,EAChC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC5C,CAAC,EAAE,OAAO;AACH,IAAM,wBAAwB,EAAE,OAAO;AAAA,EAC5C,aAAa;AAAA,EAAW,WAAW;AAAA,EAAW,SAAS;AAAA,EACvD,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB;AAAA,EAC9C,4BAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACzD,UAAU;AAAA,EAAiB,qBAAqB,EAAE,QAAQ,IAAI;AAChE,CAAC,EAAE,OAAO;AACH,IAAM,0BAA0B,EAAE,OAAO;AAAA,EAC9C,aAAa;AAAA,EAAW,WAAW;AAAA,EAAW,4BAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACpG,YAAY,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC;AAC1C,CAAC,EAAE,OAAO;AACH,IAAM,sBAAsB,EAAE,OAAO;AAAA,EAC1C,aAAa;AAAA,EAAW,WAAW;AAAA,EAAW,SAAS;AAAA,EACvD,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB;AAAA,EAAG,WAAW,UAAU,SAAS;AACjF,CAAC,EAAE,OAAO;AACH,IAAM,gBAAgB,EAAE,OAAO;AAAA,EACpC,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE;AAAA,EAAG,UAAU,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE;AAAA,EACjF,WAAW,YAAY,SAAS;AAAA,EAAG,OAAO,EAAE,OAAO,EAAE,IAAI,GAAI,EAAE,SAAS;AAAA,EAAG,OAAO,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE;AACtI,CAAC,EAAE,OAAO;AAEV,IAAM,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB;AAC9C,IAAM,sBAAsB,EAAE,OAAO,EAAE,IAAI,WAAW,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,QAAQ,mBAAmB,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO;AACrP,IAAM,uBAAuB,EAAE,OAAO;AAAA,EAC3C,IAAI;AAAA,EAAW,WAAW;AAAA,EAAa,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAAG,UAAU;AAAA,EACnF,SAAS;AAAA,EAAmB,aAAa;AAAA,EAAa,cAAc;AAAA,EACpE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAAG,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAAG,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAAA,EACvI,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EAAG,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAAG,SAAS,EAAE,MAAM,mBAAmB;AACzG,CAAC,EAAE,OAAO;AACH,IAAM,0BAA0B,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,EAAE,IAAI,GAAG,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI,GAAI,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO;AAChJ,IAAM,sBAAsB,EAAE,OAAO,EAAE,SAAS,sBAAsB,UAAU,EAAE,MAAM,oBAAoB,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,OAAO;AACjI,IAAM,iCAAiC,EAAE,OAAO,EAAE,aAAa,WAAW,WAAW,WAAW,YAAY,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,GAAG,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,qBAAqB,CAAC,EAAE,OAAO;AACpO,IAAM,+BAA+B,EAAE,OAAO,EAAE,aAAa,WAAW,WAAW,WAAW,QAAQ,WAAW,WAAW,WAAW,SAAS,mBAAmB,aAAa,aAAa,cAAc,aAAa,SAAS,EAAE,MAAM,mBAAmB,GAAG,WAAW,UAAU,SAAS,EAAE,CAAC,EAAE,OAAO;AACzS,IAAM,4BAA4B,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,OAAO;AAC5J,IAAM,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,WAAW,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,GAAG,sBAAsB,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,WAAW,MAAM,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO;AACjd,IAAM,4BAA4B,EAAE,OAAO,EAAE,aAAa,WAAW,WAAW,UAAU,CAAC,EAAE,OAAO;AACpG,IAAM,2BAA2B,EAAE,OAAO,EAAE,aAAa,WAAW,WAAW,WAAW,cAAc,aAAa,QAAQ,EAAE,KAAK,CAAC,UAAU,UAAU,aAAa,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,WAAW,QAAQ,WAAW,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG,QAAQ,EAAE,QAAQ,GAAG,oBAAoB,EAAE,QAAQ,GAAG,cAAc,YAAY,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,QAAQ,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO;AACjb,IAAM,gCAAgC,EAAE,OAAO,EAAE,SAAS,8BAA8B,OAAO,yBAAyB,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS;AACxJ,IAAM,+BAA+B,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,aAAa,QAAQ,WAAW,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS,qBAAqB,SAAS,GAAG,YAAY,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,GAAG,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,SAAS,mBAAmB,aAAa,aAAa,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO;AAMte,IAAM,kCAAN,cAA8C,MAAM;AAAA,EACzD,YAAqB,QAAyB,MAAc,SAAiB;AAAE,UAAM,OAAO;AAAvE;AAAyB;AAAiD,SAAK,OAAO;AAAA,EAAmC;AAAA,EAAzH;AAAA,EAAyB;AAChD;AAEA,IAAM,cAAc,CAAC,GAAsC,MAAyC,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE;AAE/J,IAAM,mCAAN,MAAuC;AAAA,EACnC;AAAA,EACT,YAAY,SAA0C;AACpD,UAAM,MAAM,IAAI,IAAI,QAAQ,OAAO;AACnC,QAAI,CAAC,CAAC,UAAU,OAAO,EAAE,SAAS,IAAI,QAAQ,KAAK,IAAI,YAAY,IAAI,YAAY,IAAI,UAAU,IAAI,KAAM,OAAM,IAAI,MAAM,mGAAmG;AAC9N,SAAK,WAAW,EAAE,GAAG,SAAS,SAAS,IAAI,SAAS,EAAE,QAAQ,QAAQ,EAAE,EAAE;AAAA,EAC5E;AAAA,EACA,MAAM,OAAO,QAAuC,CAAC,GAAG,UAA0B,CAAC,GAAG;AACpF,UAAM,SAAS,cAAc,MAAM,KAAK,GAAG,SAAS,IAAI,gBAAgB;AACxE,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,EAAG,KAAI,UAAU,OAAW,QAAO,IAAI,KAAK,OAAO,KAAK,CAAC;AACzG,UAAM,SAAS,wBAAwB,MAAM,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,OAAO,CAAC;AACvF,QAAI,OAAO,MAAM,SAAS,OAAO,SAAU,OAAO,aAAa,OAAO,MAAM,KAAK,UAAQ,KAAK,cAAc,OAAO,SAAS,EAAI,MAAK,UAAU;AAC/I,WAAO;AAAA,EACT;AAAA,EACA,MAAM,IAAI,WAAmB,UAA0B,CAAC,GAAG;AACzD,UAAM,KAAK,UAAU,MAAM,SAAS,GAAG,SAAS,oBAAoB,MAAM,MAAM,KAAK,SAAS,aAAa,mBAAmB,EAAE,CAAC,IAAI,OAAO,CAAC;AAC7I,QAAI,OAAO,QAAQ,OAAO,GAAI,MAAK,UAAU;AAC7C,SAAK,kBAAkB,MAAM;AAAG,WAAO;AAAA,EACzC;AAAA,EACA,MAAM,OAAO,WAAmB,MAAc,UAAmB,UAA0B,CAAC,GAAG;AAC7F,UAAM,QAAQ,YAAY,MAAM,SAAS,GAAG,OAAO,YAAY,MAAM,IAAI;AACzE,QAAI,aAAa,OAAW,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ;AACtE,UAAM,SAAS,oBAAoB,MAAM,MAAM,KAAK,SAAS,WAAW,mBAAmB,KAAK,CAAC,IAAI,mBAAmB,IAAI,CAAC,GAAG,aAAa,SAAY,KAAK,aAAa,QAAQ,EAAE,IAAI,OAAO,CAAC;AACjM,QAAI,OAAO,QAAQ,cAAc,SAAS,OAAO,QAAQ,SAAS,SAAS,QAAS,aAAa,UAAa,OAAO,QAAQ,QAAQ,aAAa,SAAW,MAAK,UAAU;AAC5K,SAAK,kBAAkB,MAAM;AAAG,WAAO;AAAA,EACzC;AAAA,EACA,MAAM,QAAQ,WAAmB,QAAmD,CAAC,GAAG,UAA0B,CAAC,GAAG;AACpH,UAAM,KAAK,UAAU,MAAM,SAAS,GAAG,SAAS,0BAA0B,MAAM,KAAK;AACrF,UAAM,SAAS,qBAAqB,MAAM,MAAM,KAAK,SAAS,aAAa,mBAAmB,EAAE,CAAC,gBAAgB,OAAO,KAAK,UAAU,OAAO,KAAK,IAAI,OAAO,CAAC;AAC/J,QAAI,OAAO,MAAM,SAAS,OAAO,MAAO,MAAK,UAAU;AAAG,WAAO;AAAA,EACnE;AAAA,EACA,MAAM,MAAM,OAA4C,UAA0B,CAAC,GAAG;AACpF,UAAM,UAAU,oBAAoB,MAAM,KAAK,GAAG,SAAS,6BAA6B,MAAM,MAAM,KAAK,SAAS,UAAU,SAAS,OAAO,CAAC;AAC7I,QAAI,OAAO,gBAAgB,QAAQ,eAAe,OAAO,cAAc,QAAQ,aAAa,OAAO,WAAW,KAAK,SAAS,UAAU,CAAC,YAAY,OAAO,SAAS,QAAQ,OAAO,KAAK,OAAO,gBAAgB,QAAQ,eAAe,OAAO,eAAe,QAAQ,aAAa,MAAO,MAAK,UAAU;AACtS,WAAO;AAAA,EACT;AAAA,EACA,MAAM,QAAQ,OAA8C,UAA0B,CAAC,GAAG;AACxF,UAAM,UAAU,sBAAsB,MAAM,KAAK,GAAG,SAAS,+BAA+B,MAAM,MAAM,KAAK,SAAS,YAAY,SAAS,OAAO,CAAC;AACnJ,QAAI,OAAO,gBAAgB,QAAQ,eAAe,OAAO,cAAc,OAAO,QAAQ,MAAM,CAAC,YAAY,OAAO,QAAQ,SAAS,QAAQ,OAAO,KAAK,OAAO,QAAQ,gBAAgB,QAAQ,eAAe,OAAO,eAAe,SAAU,MAAK,UAAU;AAAG,WAAO;AAAA,EACtQ;AAAA,EACA,MAAM,iBAAiB,OAAgD,UAA0B,CAAC,GAAG;AACnG,UAAM,UAAU,wBAAwB,MAAM,KAAK,GAAG,SAAS,+BAA+B,MAAM,MAAM,KAAK,SAAS,eAAe,SAAS,OAAO,CAAC;AACxJ,QAAI,OAAO,gBAAgB,QAAQ,eAAe,OAAO,cAAc,QAAQ,aAAa,OAAO,QAAQ,OAAO,QAAQ,aAAa,OAAO,eAAe,QAAQ,WAAY,MAAK,UAAU;AAAG,WAAO;AAAA,EAC5M;AAAA,EACA,MAAM,WAAW,WAAmB,UAA0B,CAAC,GAAG;AAChE,UAAM,SAAS,6BAA6B,MAAM,MAAM,KAAK,SAAS,eAAe,mBAAmB,UAAU,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,QAAW,IAAI,CAAC;AAChK,QAAI,OAAO,UAAU,WAAW,KAAK,SAAS,OAAQ,MAAK,UAAU;AAAG,WAAO;AAAA,EACjF;AAAA,EACA,MAAM,OAAO,aAAqB,WAAmB,UAA0B,CAAC,GAAG;AACjF,UAAM,UAAU,0BAA0B,MAAM,EAAE,aAAa,UAAU,CAAC,GAAG,SAAS,yBAAyB,MAAM,MAAM,KAAK,SAAS,WAAW,SAAS,OAAO,CAAC;AACrK,QAAI,OAAO,gBAAgB,QAAQ,eAAe,OAAO,cAAc,QAAQ,UAAW,MAAK,UAAU;AAAG,WAAO;AAAA,EACrH;AAAA,EACA,MAAM,SAAS,WAAmB,UAA0B,CAAC,GAAG;AAC9D,UAAM,KAAK,UAAU,MAAM,SAAS,GAAG,SAAS,8BAA8B,MAAM,MAAM,KAAK,SAAS,cAAc,mBAAmB,EAAE,CAAC,IAAI,SAAS,QAAW,IAAI,CAAC;AACzK,QAAI,WAAW,OAAO,QAAQ,cAAc,MAAM,OAAO,QAAQ,WAAW,KAAK,SAAS,UAAW,OAAO,UAAU,OAAO,MAAM,cAAc,MAAM,OAAO,MAAM,iBAAiB,OAAO,QAAQ,eAAiB,MAAK,UAAU;AAAG,WAAO;AAAA,EAChP;AAAA,EACA,kBAAkB,QAA6C;AAC7D,QAAI,OAAO,SAAS,KAAK,UAAQ,KAAK,cAAc,OAAO,QAAQ,aAAa,KAAK,SAAS,SAAS,OAAO,QAAQ,SAAS,IAAI,EAAG,MAAK,UAAU;AAAA,EACvJ;AAAA,EACA,YAAmB;AAAE,UAAM,IAAI,gCAAgC,KAAK,qCAAqC,6EAA6E;AAAA,EAAG;AAAA,EACzL,MAAM,SAAS,MAAc,SAAyB,MAAgB,gBAAgB,OAAyB;AAC7G,UAAM,OAAO,iBAAiB,SAAS;AACvC,QAAI,SAAS,CAAC,KAAK,SAAS,QAAQ,KAAK,KAAK,CAAC,KAAK,SAAS,QAAQ,KAAK,GAAI,OAAM,IAAI,MAAM,wFAAwF;AACtL,UAAM,WAAW,OAAO,KAAK,SAAS,SAAS,WAAW,OAAO,GAAG,KAAK,SAAS,OAAO,0BAA0B,IAAI,IAAI;AAAA,MACzH,QAAQ,SAAS,SAAY,QAAQ;AAAA,MAAQ,QAAQ,QAAQ;AAAA,MAAQ,UAAU;AAAA,MAC/E,SAAS,EAAE,QAAQ,oBAAoB,GAAI,OAAO,EAAE,eAAe,UAAU,KAAK,SAAS,MAAM,IAAI,sBAAsB,KAAK,SAAS,OAAQ,IAAI,CAAC,GAAI,GAAI,SAAS,SAAY,CAAC,IAAI,EAAE,gBAAgB,mBAAmB,EAAG;AAAA,MAChO,GAAI,SAAS,SAAY,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,IAAI,EAAE;AAAA,IAC7D,CAAC;AACD,UAAM,SAAS,SAAS,MAAM,UAAU;AACxC,QAAI,CAAC,OAAQ,OAAM,IAAI,gCAAgC,SAAS,QAAQ,kBAAkB,yCAAyC;AACnI,UAAM,UAAU,IAAI,YAAY;AAAG,QAAI,QAAQ,GAAG,OAAO;AACzD,QAAI;AAAE,aAAO,MAAM;AAAE,cAAM,QAAQ,MAAM,OAAO,KAAK;AAAG,YAAI,MAAM,KAAM;AAAO,iBAAS,MAAM,MAAM;AAAY,YAAI,QAAQ,QAAW,OAAM,IAAI,gCAAgC,SAAS,QAAQ,sBAAsB,8CAA8C;AAAG,gBAAQ,QAAQ,OAAO,MAAM,OAAO,EAAE,QAAQ,KAAK,CAAC;AAAA,MAAG;AAAE,cAAQ,QAAQ,OAAO;AAAA,IAAG,UAC5V;AAAU,YAAM,OAAO,OAAO;AAAG,aAAO,YAAY;AAAA,IAAG;AACvD,QAAI;AAAkB,QAAI;AAAE,gBAAU,KAAK,MAAM,IAAI;AAAA,IAAG,QAAQ;AAAE,YAAM,IAAI,gCAAgC,SAAS,QAAQ,oBAAoB,kDAAkD;AAAA,IAAG;AACtM,QAAI,CAAC,SAAS,IAAI;AAAE,YAAM,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,OAAO;AAAG,YAAM,IAAI,gCAAgC,SAAS,QAAQ,MAAM,UAAU,MAAM,KAAK,OAAO,0BAA0B,MAAM,UAAU,MAAM,KAAK,UAAU,uCAAuC,SAAS,MAAM,IAAI;AAAA,IAAG;AAC1V,WAAO;AAAA,EACT;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -13,10 +13,17 @@ import "./chunk-LGEF4S5I.js";
|
|
|
13
13
|
import "./chunk-WOPM32SE.js";
|
|
14
14
|
import "./chunk-2U54EOXJ.js";
|
|
15
15
|
import "./chunk-JCPLAIZL.js";
|
|
16
|
+
import {
|
|
17
|
+
ExperimentGraderPinSchema
|
|
18
|
+
} from "./chunk-SR55WVPK.js";
|
|
19
|
+
import "./chunk-62LWLACP.js";
|
|
20
|
+
import "./chunk-XR6CLSCS.js";
|
|
16
21
|
import "./chunk-TCHAWJMB.js";
|
|
17
22
|
import "./chunk-3KXDH6OB.js";
|
|
18
23
|
import "./chunk-Y4NGWGTA.js";
|
|
19
|
-
import
|
|
24
|
+
import {
|
|
25
|
+
contentHash
|
|
26
|
+
} from "./chunk-QUOW6URQ.js";
|
|
20
27
|
|
|
21
28
|
// src/dataset-workspace-contracts.ts
|
|
22
29
|
import { z } from "zod";
|
|
@@ -74,7 +81,8 @@ var OpenPondDatasetWorkspaceClient = class {
|
|
|
74
81
|
options;
|
|
75
82
|
baseUrl;
|
|
76
83
|
async list(options = {}) {
|
|
77
|
-
const
|
|
84
|
+
const params = new URLSearchParams({ ...options.cursor ? { cursor: options.cursor } : {}, ...options.projectId ? { projectId: options.projectId } : {} });
|
|
85
|
+
const result = DatasetWorkspaceListSchema.parse(await this.request(`?${params}`, "GET", void 0, options.signal));
|
|
78
86
|
if (result.teamId !== this.options.teamId) throw new Error("Dataset list workspace mismatch.");
|
|
79
87
|
return result;
|
|
80
88
|
}
|
|
@@ -137,7 +145,82 @@ var OpenPondDatasetWorkspaceClient = class {
|
|
|
137
145
|
return response.json();
|
|
138
146
|
}
|
|
139
147
|
};
|
|
148
|
+
|
|
149
|
+
// src/dataset-population.ts
|
|
150
|
+
import { TaskSplitSchema, TaskRecordSchema } from "@openpond/evals/tasksets";
|
|
151
|
+
import { z as z2 } from "zod";
|
|
152
|
+
var Id2 = z2.string().trim().min(1).max(500);
|
|
153
|
+
var Hash2 = z2.string().regex(/^[a-f0-9]{64}$/);
|
|
154
|
+
var DatasetPopulationQuerySchema = z2.object({
|
|
155
|
+
release: TasksetCatalogReleaseRefSchema,
|
|
156
|
+
afterId: Id2.optional(),
|
|
157
|
+
limit: z2.number().int().min(1).max(1e4).default(100),
|
|
158
|
+
view: z2.enum(["ids", "policy"]).default("ids")
|
|
159
|
+
}).strict().superRefine((query, context) => {
|
|
160
|
+
if (query.view === "policy" && query.limit > 100) context.addIssue({ code: "custom", path: ["limit"], message: "Policy previews are bounded to 100 tasks." });
|
|
161
|
+
});
|
|
162
|
+
var TaskIdentity = z2.object({ id: TaskRecordSchema.shape.id, split: TaskSplitSchema }).strict();
|
|
163
|
+
var PolicyTask = TaskIdentity.extend({
|
|
164
|
+
input: z2.record(z2.string(), z2.unknown()),
|
|
165
|
+
policyVisibleContext: z2.record(z2.string(), z2.unknown()),
|
|
166
|
+
artifacts: z2.array(z2.object({ id: Id2, path: z2.string(), mediaType: z2.string(), sizeBytes: z2.number().int().nonnegative() }).strict()).max(1e3)
|
|
167
|
+
}).strict();
|
|
168
|
+
var DatasetPopulationPageSchema = z2.object({
|
|
169
|
+
schemaVersion: z2.literal("openpond.datasetPopulationPage.v1"),
|
|
170
|
+
teamId: Id2,
|
|
171
|
+
release: TasksetCatalogReleaseRefSchema,
|
|
172
|
+
view: DatasetPopulationQuerySchema.shape.view,
|
|
173
|
+
taskCount: z2.number().int().nonnegative(),
|
|
174
|
+
items: z2.array(z2.union([TaskIdentity, PolicyTask])).max(1e4),
|
|
175
|
+
graders: z2.array(ExperimentGraderPinSchema).max(1e3),
|
|
176
|
+
nextCursor: Id2.nullable(),
|
|
177
|
+
contentHash: Hash2
|
|
178
|
+
}).strict().superRefine((page, context) => {
|
|
179
|
+
if (page.view === "policy" && page.items.length > 100) context.addIssue({ code: "custom", message: "Policy preview exceeded its task bound." });
|
|
180
|
+
if (page.items.some((item) => "input" in item !== (page.view === "policy"))) context.addIssue({ code: "custom", message: "Dataset task view differs from the requested projection." });
|
|
181
|
+
});
|
|
182
|
+
var OpenPondDatasetPopulationClient = class {
|
|
183
|
+
constructor(options) {
|
|
184
|
+
this.options = options;
|
|
185
|
+
const url = new URL(options.baseUrl);
|
|
186
|
+
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.");
|
|
187
|
+
this.baseUrl = url.toString().replace(/\/+$/, "");
|
|
188
|
+
}
|
|
189
|
+
options;
|
|
190
|
+
baseUrl;
|
|
191
|
+
async read(value, signal) {
|
|
192
|
+
const query = DatasetPopulationQuerySchema.parse(value);
|
|
193
|
+
const params = new URLSearchParams({ releaseId: query.release.id, revision: String(query.release.revision), contentHash: query.release.contentHash, limit: String(query.limit), view: query.view });
|
|
194
|
+
if (query.afterId) params.set("afterId", query.afterId);
|
|
195
|
+
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" } });
|
|
196
|
+
const reader = response.body?.getReader();
|
|
197
|
+
if (!reader) throw new Error("Dataset population response was empty.");
|
|
198
|
+
let bytes = 0, source = "";
|
|
199
|
+
const decoder = new TextDecoder();
|
|
200
|
+
try {
|
|
201
|
+
while (true) {
|
|
202
|
+
const chunk = await reader.read();
|
|
203
|
+
if (chunk.done) break;
|
|
204
|
+
bytes += chunk.value.byteLength;
|
|
205
|
+
if (bytes > 4194304) throw new Error("Dataset population response exceeded 4 MiB. Request fewer tasks.");
|
|
206
|
+
source += decoder.decode(chunk.value, { stream: true });
|
|
207
|
+
}
|
|
208
|
+
source += decoder.decode();
|
|
209
|
+
} finally {
|
|
210
|
+
await reader.cancel();
|
|
211
|
+
reader.releaseLock();
|
|
212
|
+
}
|
|
213
|
+
const raw = JSON.parse(source);
|
|
214
|
+
if (!response.ok) throw new Error(z2.object({ message: z2.string() }).passthrough().parse(raw).message);
|
|
215
|
+
const page = DatasetPopulationPageSchema.parse(raw);
|
|
216
|
+
const { contentHash: hash, ...content } = page;
|
|
217
|
+
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.");
|
|
218
|
+
return page;
|
|
219
|
+
}
|
|
220
|
+
};
|
|
140
221
|
export {
|
|
222
|
+
DatasetPopulationPageSchema,
|
|
223
|
+
DatasetPopulationQuerySchema,
|
|
141
224
|
DatasetWorkspaceBeginVersionSchema,
|
|
142
225
|
DatasetWorkspaceListSchema,
|
|
143
226
|
DatasetWorkspacePublishSchema,
|
|
@@ -145,6 +228,7 @@ export {
|
|
|
145
228
|
DatasetWorkspaceValidationSchema,
|
|
146
229
|
DatasetWorkspaceVersionsSchema,
|
|
147
230
|
DatasetWorkspaceWriteSchema,
|
|
231
|
+
OpenPondDatasetPopulationClient,
|
|
148
232
|
OpenPondDatasetWorkspaceClient,
|
|
149
233
|
compileTasksetDraftWorkspace
|
|
150
234
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/dataset-workspace-contracts.ts", "../src/dataset-workspace-client.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; signal?: AbortSignal } = {}) {\n const result = DatasetWorkspaceListSchema.parse(await this.request(`?${new URLSearchParams(options.cursor ? { cursor: options.cursor } : {})}`, \"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"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": []
|
|
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"]
|
|
7
7
|
}
|
package/dist/experiments.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ExperimentScoringPassSchema,
|
|
3
|
+
ExperimentScoringRequestSchema,
|
|
4
|
+
OpenPondExperimentError,
|
|
5
|
+
OpenPondExperimentsClient,
|
|
6
|
+
verifyExperimentScoringPass
|
|
7
|
+
} from "./chunk-CNGJF6AM.js";
|
|
1
8
|
import {
|
|
2
9
|
ExperimentDefinitionRefSchema,
|
|
3
10
|
ExperimentDefinitionSchema,
|
|
@@ -7,19 +14,14 @@ import {
|
|
|
7
14
|
ExperimentGraderPinSchema,
|
|
8
15
|
ExperimentGraderSelectionSchema,
|
|
9
16
|
ExperimentListQuerySchema,
|
|
10
|
-
ExperimentScoringPassSchema,
|
|
11
|
-
ExperimentScoringRequestSchema,
|
|
12
|
-
OpenPondExperimentError,
|
|
13
|
-
OpenPondExperimentsClient,
|
|
14
17
|
PrepareHarnessExperimentSchema,
|
|
15
18
|
PreparedHarnessExperimentSchema,
|
|
16
19
|
SaveExperimentSchema,
|
|
17
20
|
StartExperimentSchema,
|
|
18
21
|
experimentDefinitionRef,
|
|
19
22
|
mapExperimentGradingFields,
|
|
20
|
-
verifyExperimentDefinition
|
|
21
|
-
|
|
22
|
-
} from "./chunk-EMANJDJR.js";
|
|
23
|
+
verifyExperimentDefinition
|
|
24
|
+
} from "./chunk-SR55WVPK.js";
|
|
23
25
|
import {
|
|
24
26
|
HarnessExperimentPolicySchema
|
|
25
27
|
} from "./chunk-62LWLACP.js";
|
package/dist/experiments.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/experiment-inspection.ts"],
|
|
4
4
|
"sourcesContent": ["import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nconst Id = z.string().trim().min(1).max(500);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nconst Content = z.object({ schemaVersion: z.literal(\"openpond.experimentCaseInspection.v1\"), teamId: Id, executionId: Id, manifestHash: Hash, receiptId: Id, taskId: Id, seed: z.string().min(1), input: z.record(z.string(), z.unknown()).nullable(), output: z.unknown().nullable(), error: z.string().nullable(), events: z.array(z.record(z.string(), z.unknown())).max(25), nextEventCursor: Id.nullable(), eventCount: z.number().int().nonnegative() }).strict();\nexport const ExperimentCaseInspectionSchema = Content.extend({ contentHash: Hash }).strict();\nexport type ExperimentCaseInspection = z.infer<typeof ExperimentCaseInspectionSchema>;\nexport class OpenPondExperimentInspectionClient {\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 /** Retained, policy-facing evidence only. Reading a page never dispatches. */\n async case(executionId: string, receiptId: string, options: { manifestHash?: string; afterId?: string; signal?: AbortSignal } = {}) {\n const params = new URLSearchParams(options.afterId ? { afterId: Id.parse(options.afterId) } : {});\n const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/experiments/executions/${encodeURIComponent(Id.parse(executionId))}/cases/${encodeURIComponent(Id.parse(receiptId))}?${params}`, { signal: options.signal, redirect: \"error\", headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, Accept: \"application/json\" } });\n const value: unknown = await response.json();\n if (!response.ok) throw new Error(z.object({ message: z.string() }).parse(value).message);\n const result = ExperimentCaseInspectionSchema.parse(value);\n const { contentHash: actual, ...content } = result;\n if (contentHash(content) !== actual || result.teamId !== this.options.teamId || result.executionId !== executionId || result.receiptId !== receiptId || options.manifestHash && result.manifestHash !== options.manifestHash || result.events.length > result.eventCount) throw new Error(\"Case inspection differs from its requested workspace, execution or retained content.\");\n return result;\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,SAAS;AAElB,IAAM,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC3C,IAAM,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB;AAC9C,IAAM,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,sCAAsC,GAAG,QAAQ,IAAI,aAAa,IAAI,cAAc,MAAM,WAAW,IAAI,QAAQ,IAAI,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,iBAAiB,GAAG,SAAS,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO;AAC/b,IAAM,iCAAiC,QAAQ,OAAO,EAAE,aAAa,KAAK,CAAC,EAAE,OAAO;AAEpF,IAAM,qCAAN,MAAyC;AAAA,EAE9C,YAA6B,SAAoF;AAApF;AAC3B,UAAM,MAAM,IAAI,IAAI,QAAQ,OAAO;AACnC,QAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,QAAQ,KAAK,IAAI,YAAY,IAAI,YAAY,IAAI,UAAU,IAAI,QAAQ,CAAC,QAAQ,OAAO,KAAK,KAAK,CAAC,QAAQ,OAAO,KAAK,EAAG,OAAM,IAAI,MAAM,4DAA4D;AAC3O,SAAK,UAAU,IAAI,SAAS,EAAE,QAAQ,QAAQ,EAAE;AAAA,EAClD;AAAA,EAJ6B;AAAA,EADZ;AAAA;AAAA,EAOjB,MAAM,KAAK,aAAqB,WAAmB,UAA6E,CAAC,GAAG;AAClI,UAAM,SAAS,IAAI,gBAAgB,QAAQ,UAAU,EAAE,SAAS,GAAG,MAAM,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC;AAChG,UAAM,WAAW,OAAO,KAAK,QAAQ,SAAS,OAAO,GAAG,KAAK,OAAO,8BAA8B,mBAAmB,GAAG,MAAM,WAAW,CAAC,CAAC,UAAU,mBAAmB,GAAG,MAAM,SAAS,CAAC,CAAC,IAAI,MAAM,IAAI,EAAE,QAAQ,QAAQ,QAAQ,UAAU,SAAS,SAAS,EAAE,eAAe,UAAU,KAAK,QAAQ,MAAM,IAAI,sBAAsB,KAAK,QAAQ,QAAQ,QAAQ,mBAAmB,EAAE,CAAC;AAC3X,UAAM,QAAiB,MAAM,SAAS,KAAK;AAC3C,QAAI,CAAC,SAAS,GAAI,OAAM,IAAI,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,EAAE,OAAO;AACxF,UAAM,SAAS,+BAA+B,MAAM,KAAK;AACzD,UAAM,EAAE,aAAa,QAAQ,GAAG,QAAQ,IAAI;AAC5C,QAAI,YAAY,OAAO,MAAM,UAAU,OAAO,WAAW,KAAK,QAAQ,UAAU,OAAO,gBAAgB,eAAe,OAAO,cAAc,aAAa,QAAQ,gBAAgB,OAAO,iBAAiB,QAAQ,gBAAgB,OAAO,OAAO,SAAS,OAAO,WAAY,OAAM,IAAI,MAAM,sFAAsF;AAChX,WAAO;AAAA,EACT;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
OpenPondWorkflowsClient
|
|
3
|
-
} from "./chunk-MEKWESBF.js";
|
|
4
|
-
import "./chunk-LXXQVGQY.js";
|
|
5
1
|
import {
|
|
6
2
|
OpenPondLearningClient,
|
|
7
3
|
OpenPondLearningError
|
|
8
4
|
} from "./chunk-K4C5QOSV.js";
|
|
5
|
+
import {
|
|
6
|
+
OpenPondProfileActionsClient
|
|
7
|
+
} from "./chunk-2DMYAJLS.js";
|
|
8
|
+
import {
|
|
9
|
+
OpenPondWorkflowsClient
|
|
10
|
+
} from "./chunk-MEKWESBF.js";
|
|
11
|
+
import "./chunk-LXXQVGQY.js";
|
|
9
12
|
import {
|
|
10
13
|
OpenPondExperimentsClient
|
|
11
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-CNGJF6AM.js";
|
|
15
|
+
import "./chunk-SR55WVPK.js";
|
|
12
16
|
import "./chunk-62LWLACP.js";
|
|
13
17
|
import "./chunk-XR6CLSCS.js";
|
|
14
18
|
import "./chunk-TCHAWJMB.js";
|
|
@@ -30,9 +34,6 @@ import {
|
|
|
30
34
|
import {
|
|
31
35
|
OpenPondProjectActionsClient
|
|
32
36
|
} from "./chunk-IWT6JUZD.js";
|
|
33
|
-
import {
|
|
34
|
-
OpenPondProfileActionsClient
|
|
35
|
-
} from "./chunk-2DMYAJLS.js";
|
|
36
37
|
import {
|
|
37
38
|
OpenPondApiError,
|
|
38
39
|
apiFetch,
|