openpond-sdk 0.9.2 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/dist/chunk-62LWLACP.js +155 -0
- package/dist/chunk-62LWLACP.js.map +7 -0
- package/dist/chunk-EMANJDJR.js +393 -0
- package/dist/chunk-EMANJDJR.js.map +7 -0
- package/dist/{chunk-QABCKPW6.js → chunk-TQ5ASK7D.js} +4 -4
- package/dist/{chunk-IKTZ2CD4.js → chunk-XR6CLSCS.js} +85 -43
- package/dist/chunk-XR6CLSCS.js.map +7 -0
- package/dist/dataset-workspaces.js +3 -3
- package/dist/experiments.js +57 -0
- package/dist/experiments.js.map +7 -0
- package/dist/index.js +12 -3
- package/dist/index.js.map +2 -2
- package/dist/learning.js +3 -3
- package/dist/model-starter-attempts.js +3 -1
- package/dist/model-taskset-runs.js +21 -113
- package/dist/model-taskset-runs.js.map +4 -4
- package/dist/taskset-drafts.js +2 -2
- package/dist/taskset-packages.js +2 -2
- package/dist/types/packages/sdk/src/experiment-client.d.ts +2441 -0
- package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts +570 -0
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-field-mappings.d.ts +43 -0
- package/dist/types/packages/sdk/src/experiment-field-mappings.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +79 -0
- package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +192 -0
- package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiments.d.ts +7 -0
- package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +44 -0
- package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/index.d.ts +2 -0
- package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +123 -0
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +159 -0
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +129 -5
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
- package/package.json +6 -2
- package/dist/chunk-IKTZ2CD4.js.map +0 -7
- /package/dist/{chunk-QABCKPW6.js.map → chunk-TQ5ASK7D.js.map} +0 -0
package/dist/learning.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ModelInitialLearningSchema
|
|
3
|
-
} from "./chunk-3KXDH6OB.js";
|
|
4
1
|
import {
|
|
5
2
|
LearningBatchPublicationResultSchema,
|
|
6
3
|
LearningBatchPublicationSchema,
|
|
@@ -16,6 +13,9 @@ import {
|
|
|
16
13
|
assertLearningCredentialExpiry,
|
|
17
14
|
createSourceCredentialRequest
|
|
18
15
|
} from "./chunk-K4C5QOSV.js";
|
|
16
|
+
import {
|
|
17
|
+
ModelInitialLearningSchema
|
|
18
|
+
} from "./chunk-3KXDH6OB.js";
|
|
19
19
|
import "./chunk-Y4NGWGTA.js";
|
|
20
20
|
import {
|
|
21
21
|
contentHash
|
|
@@ -11,9 +11,11 @@ import {
|
|
|
11
11
|
ModelStarterAttemptSummarySchema,
|
|
12
12
|
OpenPondModelStarterAttemptError,
|
|
13
13
|
OpenPondModelStarterAttemptsClient
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-XR6CLSCS.js";
|
|
15
15
|
import "./chunk-TCHAWJMB.js";
|
|
16
16
|
import "./chunk-3KXDH6OB.js";
|
|
17
|
+
import "./chunk-Y4NGWGTA.js";
|
|
18
|
+
import "./chunk-QUOW6URQ.js";
|
|
17
19
|
export {
|
|
18
20
|
EvaluationMessagesSchema,
|
|
19
21
|
EvaluationProjectContextSchema,
|
|
@@ -1,121 +1,27 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
HarnessExperimentPolicySchema,
|
|
3
|
+
ModelTasksetRunDetailsSchema,
|
|
4
|
+
ModelTasksetRunListQuerySchema,
|
|
5
|
+
ModelTasksetRunPageSchema,
|
|
6
|
+
ModelTasksetRunPolicySchema,
|
|
7
|
+
ModelTasksetRunRequestSchema,
|
|
8
|
+
ModelTasksetRunResultSchema,
|
|
9
|
+
ModelTasksetRunSummarySchema,
|
|
10
|
+
verifyHarnessExperimentManifest,
|
|
11
|
+
verifyModelTasksetRunDetails,
|
|
12
|
+
verifyModelTasksetRunResult
|
|
13
|
+
} from "./chunk-62LWLACP.js";
|
|
14
|
+
import "./chunk-XR6CLSCS.js";
|
|
6
15
|
import {
|
|
7
|
-
|
|
8
|
-
canonicalJson,
|
|
9
|
-
canonicalSha256
|
|
16
|
+
canonicalJson
|
|
10
17
|
} from "./chunk-TCHAWJMB.js";
|
|
11
18
|
import "./chunk-3KXDH6OB.js";
|
|
12
19
|
import "./chunk-Y4NGWGTA.js";
|
|
13
|
-
import
|
|
14
|
-
assertContentHash
|
|
15
|
-
} from "./chunk-QUOW6URQ.js";
|
|
20
|
+
import "./chunk-QUOW6URQ.js";
|
|
16
21
|
|
|
17
22
|
// src/model-taskset-runs.ts
|
|
18
|
-
import { z as z2 } from "zod";
|
|
19
|
-
|
|
20
|
-
// src/model-taskset-runs-contracts.ts
|
|
21
23
|
import { z } from "zod";
|
|
22
|
-
import { TasksetRunManifestSchema, TasksetRunMemberSchema, TasksetMetricResultSchema, assertTasksetMetricResult, orderTasksetRunReceipts } from "@openpond/evals/metrics";
|
|
23
|
-
import { AttemptReceiptSchema } from "@openpond/evals/runs";
|
|
24
24
|
var IdSchema = z.string().trim().min(1).max(200);
|
|
25
|
-
var HashSchema = z.string().regex(/^[a-f0-9]{64}$/);
|
|
26
|
-
var ModelTasksetRunPolicySchema = z.discriminatedUnion("kind", [
|
|
27
|
-
ModelStarterAttemptPolicySchema.options[0],
|
|
28
|
-
z.object({ kind: z.literal("fixture") }).strict()
|
|
29
|
-
]);
|
|
30
|
-
var ModelTasksetRunRequestSchema = z.object({
|
|
31
|
-
schemaVersion: z.literal("openpond.modelTasksetRunRequest.v1"),
|
|
32
|
-
operationId: IdSchema,
|
|
33
|
-
teamId: IdSchema,
|
|
34
|
-
modelProjectId: IdSchema.nullable(),
|
|
35
|
-
name: z.string().trim().min(1).max(200).optional(),
|
|
36
|
-
project: EvaluationProjectContextSchema.optional(),
|
|
37
|
-
taskset: ModelProjectVersionedRefSchema,
|
|
38
|
-
policy: ModelTasksetRunPolicySchema,
|
|
39
|
-
population: z.array(TasksetRunMemberSchema).min(1).max(1e4)
|
|
40
|
-
}).strict().superRefine((value, context) => {
|
|
41
|
-
if (new Set(value.population.map((member) => member.receiptId)).size !== value.population.length) context.addIssue({ code: "custom", path: ["population"], message: "Run receipt identities must be unique." });
|
|
42
|
-
if (value.population.some((member) => member.fixtureId !== null !== (value.policy.kind === "fixture"))) context.addIssue({ code: "custom", path: ["population"], message: "Only fixture runs require a fixture identity for every member." });
|
|
43
|
-
if (value.population.some((member) => !/^(0|[1-9][0-9]*)$/.test(member.seed) || Number(member.seed) > 2147483647)) context.addIssue({ code: "custom", path: ["population"], message: "Hosted environment seeds must be integers from 0 to 2147483647." });
|
|
44
|
-
});
|
|
45
|
-
var ModelTasksetRunSummarySchema = z.object({
|
|
46
|
-
schemaVersion: z.literal("openpond.modelTasksetRunSummary.v1"),
|
|
47
|
-
id: IdSchema,
|
|
48
|
-
revision: z.number().int().positive(),
|
|
49
|
-
teamId: IdSchema,
|
|
50
|
-
modelProjectId: IdSchema.nullable(),
|
|
51
|
-
name: z.string().trim().min(1).max(200).optional(),
|
|
52
|
-
project: EvaluationProjectContextSchema.optional(),
|
|
53
|
-
operationId: IdSchema,
|
|
54
|
-
taskset: ModelProjectVersionedRefSchema,
|
|
55
|
-
policyKind: z.enum(["hosted_chat", "fixture"]),
|
|
56
|
-
manifestHash: HashSchema,
|
|
57
|
-
status: z.enum(["queued", "running", "cancelling", "completed", "failed", "cancelled"]),
|
|
58
|
-
totalCount: z.number().int().min(1).max(1e4),
|
|
59
|
-
counts: z.object({ pending: z.number().int().nonnegative(), running: z.number().int().nonnegative(), completed: z.number().int().nonnegative(), failed: z.number().int().nonnegative(), cancelled: z.number().int().nonnegative() }).strict(),
|
|
60
|
-
createdAt: z.iso.datetime(),
|
|
61
|
-
startedAt: z.iso.datetime().nullable(),
|
|
62
|
-
completedAt: z.iso.datetime().nullable(),
|
|
63
|
-
cleanupComplete: z.boolean(),
|
|
64
|
-
resultAvailable: z.boolean(),
|
|
65
|
-
score: z.number().min(0).max(1).nullable(),
|
|
66
|
-
metricName: z.string().min(1).max(240),
|
|
67
|
-
error: z.object({ code: IdSchema, message: z.string().max(2e3) }).strict().nullable()
|
|
68
|
-
}).strict().superRefine((value, context) => {
|
|
69
|
-
if (Object.values(value.counts).reduce((sum, count) => sum + count, 0) !== value.totalCount) context.addIssue({ code: "custom", path: ["counts"], message: "Run counts must account for the complete population." });
|
|
70
|
-
if (value.status !== "completed" && value.score !== null) context.addIssue({ code: "custom", path: ["score"], message: "Only completed evaluations publish a metric value." });
|
|
71
|
-
if (["completed", "failed", "cancelled"].includes(value.status) && (!value.completedAt || value.counts.pending || value.counts.running)) context.addIssue({ code: "custom", message: "Terminal runs require complete population accounting." });
|
|
72
|
-
if (value.status === "cancelled" && !value.cleanupComplete) context.addIssue({ code: "custom", message: "Cancelled runs require confirmed cleanup." });
|
|
73
|
-
if (value.resultAvailable && !["completed", "failed", "cancelled"].includes(value.status)) context.addIssue({ code: "custom", message: "Run results require terminal population accounting." });
|
|
74
|
-
if (value.status === "completed" && (!value.cleanupComplete || !value.resultAvailable)) context.addIssue({ code: "custom", message: "Completed evaluations require retained results and confirmed cleanup." });
|
|
75
|
-
});
|
|
76
|
-
var ModelTasksetRunDetailsSchema = z.object({
|
|
77
|
-
summary: ModelTasksetRunSummarySchema,
|
|
78
|
-
request: ModelTasksetRunRequestSchema,
|
|
79
|
-
manifest: TasksetRunManifestSchema,
|
|
80
|
-
policySnapshot: ModelStarterAttemptSummarySchema.shape.policySnapshot
|
|
81
|
-
}).strict();
|
|
82
|
-
var ModelTasksetRunListQuerySchema = z.object({ modelProjectId: IdSchema.optional(), projectId: EvaluationProjectContextSchema.shape.id.optional(), afterId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();
|
|
83
|
-
var ModelTasksetRunPageSchema = z.object({ items: z.array(ModelTasksetRunSummarySchema).max(100), nextCursor: IdSchema.nullable() }).strict();
|
|
84
|
-
var ModelTasksetRunResultSchema = z.object({
|
|
85
|
-
schemaVersion: z.literal("openpond.modelTasksetRunResult.v1"),
|
|
86
|
-
run: ModelTasksetRunDetailsSchema,
|
|
87
|
-
receipts: z.array(AttemptReceiptSchema).min(1).max(1e4),
|
|
88
|
-
metric: TasksetMetricResultSchema.nullable(),
|
|
89
|
-
contentHash: HashSchema
|
|
90
|
-
}).strict();
|
|
91
|
-
async function verifyModelTasksetRunDetails(value) {
|
|
92
|
-
const result = ModelTasksetRunDetailsSchema.parse(value);
|
|
93
|
-
const { summary, request, manifest, policySnapshot } = result;
|
|
94
|
-
assertContentHash(manifest, "Taskset run manifest");
|
|
95
|
-
if (manifest.contentHash !== summary.manifestHash || manifest.id !== summary.id || manifest.createdAt !== summary.createdAt || summary.teamId !== request.teamId || summary.modelProjectId !== request.modelProjectId || canonicalJson(summary.project ?? null) !== canonicalJson(request.project ?? null) || canonicalJson(manifest.metadata.project ?? null) !== canonicalJson(request.project ?? null) || (summary.name ?? null) !== (request.name ?? null) || summary.operationId !== request.operationId || summary.policyKind !== request.policy.kind || summary.totalCount !== request.population.length || summary.metricName !== manifest.metricPolicy.primaryMetric || canonicalJson(summary.taskset) !== canonicalJson(request.taskset) || manifest.tasksetRelease.id !== request.taskset.id || manifest.tasksetRelease.contentHash !== request.taskset.contentHash || canonicalJson(manifest.population) !== canonicalJson(request.population)) throw new Error("Evaluation run differs from its admitted request or manifest.");
|
|
96
|
-
if (request.policy.kind === "fixture") {
|
|
97
|
-
if (manifest.policy.kind !== "fixture" || policySnapshot !== null) throw new Error("Fixture checks cannot claim a model identity.");
|
|
98
|
-
} else if (manifest.policy.kind !== "model" || !policySnapshot || policySnapshot.modelId !== request.policy.modelId || manifest.policy.model.provider !== policySnapshot.provider || manifest.policy.model.model !== policySnapshot.upstreamModelId || manifest.policy.model.revision !== null || manifest.policy.model.artifactHash !== null || manifest.policy.model.tokenizerRevision !== null || manifest.policy.model.chatTemplateHash !== null || manifest.policy.configurationHash !== await canonicalSha256({ policy: request.policy, snapshot: policySnapshot })) throw new Error("Evaluation model differs from its admitted policy.");
|
|
99
|
-
return result;
|
|
100
|
-
}
|
|
101
|
-
async function verifyModelTasksetRunResult(value) {
|
|
102
|
-
const result = ModelTasksetRunResultSchema.parse(value);
|
|
103
|
-
const { contentHash: actual, ...content } = result;
|
|
104
|
-
if (await canonicalSha256(content) !== actual) throw new Error("Evaluation result integrity failed.");
|
|
105
|
-
const { summary, manifest } = await verifyModelTasksetRunDetails(result.run);
|
|
106
|
-
if (!summary.resultAvailable || !["completed", "failed", "cancelled"].includes(summary.status)) throw new Error("Evaluation result is not terminal.");
|
|
107
|
-
const ordered = orderTasksetRunReceipts(manifest, result.receipts);
|
|
108
|
-
if (canonicalJson(ordered) !== canonicalJson(result.receipts)) throw new Error("Evaluation receipts differ from the admitted order.");
|
|
109
|
-
if (summary.status === "completed" !== (result.metric !== null)) throw new Error("Only completed evaluations retain a metric.");
|
|
110
|
-
if (result.metric) {
|
|
111
|
-
assertTasksetMetricResult(result.metric);
|
|
112
|
-
if (result.metric.runManifest.id !== manifest.id || result.metric.runManifest.contentHash !== manifest.contentHash || canonicalJson(result.metric.tasksetRelease) !== canonicalJson(manifest.tasksetRelease) || canonicalJson(result.metric.policy) !== canonicalJson(manifest.metricPolicy) || canonicalJson(result.metric.receiptRefs) !== canonicalJson(result.receipts.map(({ id, contentHash }) => ({ id, contentHash }))) || result.metric.value !== summary.score) throw new Error("Evaluation metric differs from its admitted run or receipt population.");
|
|
113
|
-
}
|
|
114
|
-
return result;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// src/model-taskset-runs.ts
|
|
118
|
-
var IdSchema2 = z2.string().trim().min(1).max(200);
|
|
119
25
|
var OpenPondModelTasksetRunError = class extends Error {
|
|
120
26
|
constructor(status, code, message) {
|
|
121
27
|
super(message);
|
|
@@ -142,17 +48,17 @@ var OpenPondModelTasksetRunsClient = class {
|
|
|
142
48
|
return result;
|
|
143
49
|
}
|
|
144
50
|
async get(id, options = {}) {
|
|
145
|
-
const result = await verifyModelTasksetRunDetails(await this.#request(`/${encodeURIComponent(
|
|
51
|
+
const result = await verifyModelTasksetRunDetails(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}`, "GET", void 0, options.signal));
|
|
146
52
|
this.#scope(result.summary, id);
|
|
147
53
|
return result;
|
|
148
54
|
}
|
|
149
55
|
async cancel(id, options = {}) {
|
|
150
|
-
const result = await verifyModelTasksetRunDetails(await this.#request(`/${encodeURIComponent(
|
|
56
|
+
const result = await verifyModelTasksetRunDetails(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/cancel`, "POST", void 0, options.signal));
|
|
151
57
|
this.#scope(result.summary, id);
|
|
152
58
|
return result;
|
|
153
59
|
}
|
|
154
60
|
async result(id, options = {}) {
|
|
155
|
-
const result = await verifyModelTasksetRunResult(await this.#request(`/${encodeURIComponent(
|
|
61
|
+
const result = await verifyModelTasksetRunResult(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/result`, "GET", void 0, options.signal));
|
|
156
62
|
this.#scope(result.run.summary, id);
|
|
157
63
|
return result;
|
|
158
64
|
}
|
|
@@ -180,13 +86,14 @@ var OpenPondModelTasksetRunsClient = class {
|
|
|
180
86
|
});
|
|
181
87
|
const value = await response.json();
|
|
182
88
|
if (!response.ok) {
|
|
183
|
-
const error =
|
|
89
|
+
const error = z.object({ code: z.string(), message: z.string() }).safeParse(value);
|
|
184
90
|
throw new OpenPondModelTasksetRunError(response.status, error.success ? error.data.code : "evaluation_request_failed", error.success ? error.data.message : "Evaluation request failed.");
|
|
185
91
|
}
|
|
186
92
|
return value;
|
|
187
93
|
}
|
|
188
94
|
};
|
|
189
95
|
export {
|
|
96
|
+
HarnessExperimentPolicySchema,
|
|
190
97
|
ModelTasksetRunDetailsSchema,
|
|
191
98
|
ModelTasksetRunListQuerySchema,
|
|
192
99
|
ModelTasksetRunPageSchema,
|
|
@@ -196,6 +103,7 @@ export {
|
|
|
196
103
|
ModelTasksetRunSummarySchema,
|
|
197
104
|
OpenPondModelTasksetRunError,
|
|
198
105
|
OpenPondModelTasksetRunsClient,
|
|
106
|
+
verifyHarnessExperimentManifest,
|
|
199
107
|
verifyModelTasksetRunDetails,
|
|
200
108
|
verifyModelTasksetRunResult
|
|
201
109
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/model-taskset-runs.ts"
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\nimport { canonicalJson } from \"./protocol.js\";\nimport { ModelTasksetRunRequestSchema, ModelTasksetRunListQuerySchema, ModelTasksetRunPageSchema, verifyModelTasksetRunDetails, verifyModelTasksetRunResult, type ModelTasksetRunSummary } from \"./model-taskset-runs-contracts.js\";\nexport * from \"./model-taskset-runs-contracts.js\";\n\nconst IdSchema = z.string().trim().min(1).max(200);\nexport class OpenPondModelTasksetRunError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondModelTasksetRunError\"; }\n}\n\nexport class OpenPondModelTasksetRunsClient {\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(\"Evaluation runs require an HTTP(S) endpoint and workspace credentials.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n async create(value: z.input<typeof ModelTasksetRunRequestSchema>, options: { signal?: AbortSignal } = {}) {\n const request = ModelTasksetRunRequestSchema.parse(value);\n if (request.teamId !== this.#options.teamId) throw new Error(\"Evaluation belongs to another workspace.\");\n const result = await verifyModelTasksetRunDetails(await this.#request(\"\", \"POST\", request, options.signal));\n this.#scope(result.summary);\n if (canonicalJson(result.request) !== canonicalJson(request)) throw new OpenPondModelTasksetRunError(502, \"evaluation_request_mismatch\", \"Evaluation differs from the submitted request.\");\n return result;\n }\n async get(id: string, options: { signal?: AbortSignal } = {}) {\n const result = await verifyModelTasksetRunDetails(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}`, \"GET\", undefined, options.signal));\n this.#scope(result.summary, id);\n return result;\n }\n async cancel(id: string, options: { signal?: AbortSignal } = {}) {\n const result = await verifyModelTasksetRunDetails(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/cancel`, \"POST\", undefined, options.signal));\n this.#scope(result.summary, id);\n return result;\n }\n async result(id: string, options: { signal?: AbortSignal } = {}) {\n const result = await verifyModelTasksetRunResult(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/result`, \"GET\", undefined, options.signal));\n this.#scope(result.run.summary, id);\n return result;\n }\n async list(value: z.input<typeof ModelTasksetRunListQuerySchema>, options: { signal?: AbortSignal } = {}) {\n const query = ModelTasksetRunListQuerySchema.parse(value);\n const params = new URLSearchParams({ ...(query.modelProjectId ? { modelProjectId: query.modelProjectId } : {}), ...(query.projectId ? { projectId: query.projectId } : {}), limit: String(query.limit) });\n if (query.afterId) params.set(\"afterId\", query.afterId);\n const result = ModelTasksetRunPageSchema.parse(await this.#request(`?${params}`, \"GET\", undefined, options.signal));\n // Project membership may be an explicit run link or a linked model\n // configuration. Only the host can verify those associations; the SDK\n // still enforces workspace identity and an exact model filter here.\n if (result.items.length > query.limit || new Set(result.items.map(item => item.id)).size !== result.items.length || result.items.some(item => { this.#scope(item); return query.modelProjectId !== undefined && item.modelProjectId !== query.modelProjectId; })) throw new OpenPondModelTasksetRunError(502, \"evaluation_page_mismatch\", \"Evaluation page differs from the selected scope.\");\n return result;\n }\n #scope(summary: ModelTasksetRunSummary, id?: string) {\n if (summary.teamId !== this.#options.teamId || (id && summary.id !== id)) throw new OpenPondModelTasksetRunError(502, \"evaluation_identity_mismatch\", \"Evaluation belongs to another identity or workspace.\");\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-taskset-runs${path}`, {\n method, headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, \"Content-Type\": \"application/json\", Accept: \"application/json\" },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }), signal, redirect: \"error\",\n });\n const value = await response.json();\n if (!response.ok) {\n const error = z.object({ code: z.string(), message: z.string() }).safeParse(value);\n throw new OpenPondModelTasksetRunError(response.status, error.success ? error.data.code : \"evaluation_request_failed\", error.success ? error.data.message : \"Evaluation request failed.\");\n }\n return value;\n }\n}\n", "import { z } from \"zod\";\nimport { EvaluationProjectContextSchema } from \"./evaluation-project-context.js\";\nimport { assertContentHash } from \"@openpond/harness\";\nimport { TasksetRunManifestSchema, TasksetRunMemberSchema, TasksetMetricResultSchema, assertTasksetMetricResult, orderTasksetRunReceipts } from \"@openpond/evals/metrics\";\nimport { AttemptReceiptSchema } from \"@openpond/evals/runs\";\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { ModelStarterAttemptPolicySchema, ModelStarterAttemptSummarySchema } from \"./model-starter-attempts.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 ModelTasksetRunPolicySchema = z.discriminatedUnion(\"kind\", [\n ModelStarterAttemptPolicySchema.options[0],\n z.object({ kind: z.literal(\"fixture\") }).strict(),\n]);\nexport const ModelTasksetRunRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelTasksetRunRequest.v1\"),\n operationId: IdSchema, teamId: IdSchema, modelProjectId: IdSchema.nullable(),\n name: z.string().trim().min(1).max(200).optional(),\n project: EvaluationProjectContextSchema.optional(),\n taskset: ModelProjectVersionedRefSchema, policy: ModelTasksetRunPolicySchema,\n population: z.array(TasksetRunMemberSchema).min(1).max(10_000),\n}).strict().superRefine((value, context) => {\n if (new Set(value.population.map(member => member.receiptId)).size !== value.population.length) context.addIssue({ code: \"custom\", path: [\"population\"], message: \"Run receipt identities must be unique.\" });\n if (value.population.some(member => (member.fixtureId !== null) !== (value.policy.kind === \"fixture\"))) context.addIssue({ code: \"custom\", path: [\"population\"], message: \"Only fixture runs require a fixture identity for every member.\" });\n if (value.population.some(member => !/^(0|[1-9][0-9]*)$/.test(member.seed) || Number(member.seed) > 2_147_483_647)) context.addIssue({ code: \"custom\", path: [\"population\"], message: \"Hosted environment seeds must be integers from 0 to 2147483647.\" });\n});\nexport type ModelTasksetRunRequest = z.infer<typeof ModelTasksetRunRequestSchema>;\nexport const ModelTasksetRunSummarySchema = z.object({\n schemaVersion: z.literal(\"openpond.modelTasksetRunSummary.v1\"),\n id: IdSchema, revision: z.number().int().positive(), teamId: IdSchema, modelProjectId: IdSchema.nullable(),\n name: z.string().trim().min(1).max(200).optional(),\n project: EvaluationProjectContextSchema.optional(),\n operationId: IdSchema, taskset: ModelProjectVersionedRefSchema, policyKind: z.enum([\"hosted_chat\", \"fixture\"]),\n manifestHash: HashSchema,\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]),\n totalCount: z.number().int().min(1).max(10_000),\n counts: z.object({ pending: z.number().int().nonnegative(), running: z.number().int().nonnegative(), completed: z.number().int().nonnegative(), failed: z.number().int().nonnegative(), cancelled: z.number().int().nonnegative() }).strict(),\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 metricName: z.string().min(1).max(240),\n error: z.object({ code: IdSchema, message: z.string().max(2_000) }).strict().nullable(),\n}).strict().superRefine((value, context) => {\n if (Object.values(value.counts).reduce((sum, count) => sum + count, 0) !== value.totalCount) context.addIssue({ code: \"custom\", path: [\"counts\"], message: \"Run counts must account for the complete population.\" });\n if (value.status !== \"completed\" && value.score !== null) context.addIssue({ code: \"custom\", path: [\"score\"], message: \"Only completed evaluations publish a metric value.\" });\n if ([\"completed\", \"failed\", \"cancelled\"].includes(value.status) && (!value.completedAt || value.counts.pending || value.counts.running)) context.addIssue({ code: \"custom\", message: \"Terminal runs require complete population accounting.\" });\n if (value.status === \"cancelled\" && !value.cleanupComplete) context.addIssue({ code: \"custom\", message: \"Cancelled runs require confirmed cleanup.\" });\n if (value.resultAvailable && ![\"completed\", \"failed\", \"cancelled\"].includes(value.status)) context.addIssue({ code: \"custom\", message: \"Run results require terminal population accounting.\" });\n if (value.status === \"completed\" && (!value.cleanupComplete || !value.resultAvailable)) context.addIssue({ code: \"custom\", message: \"Completed evaluations require retained results and confirmed cleanup.\" });\n});\nexport type ModelTasksetRunSummary = z.infer<typeof ModelTasksetRunSummarySchema>;\nexport const ModelTasksetRunDetailsSchema = z.object({\n summary: ModelTasksetRunSummarySchema,\n request: ModelTasksetRunRequestSchema,\n manifest: TasksetRunManifestSchema,\n policySnapshot: ModelStarterAttemptSummarySchema.shape.policySnapshot,\n}).strict();\nexport type ModelTasksetRunDetails = z.infer<typeof ModelTasksetRunDetailsSchema>;\nexport const ModelTasksetRunListQuerySchema = z.object({ modelProjectId: IdSchema.optional(), projectId: EvaluationProjectContextSchema.shape.id.optional(), afterId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();\nexport const ModelTasksetRunPageSchema = z.object({ items: z.array(ModelTasksetRunSummarySchema).max(100), nextCursor: IdSchema.nullable() }).strict();\nexport const ModelTasksetRunResultSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelTasksetRunResult.v1\"),\n run: ModelTasksetRunDetailsSchema,\n receipts: z.array(AttemptReceiptSchema).min(1).max(10_000),\n metric: TasksetMetricResultSchema.nullable(),\n contentHash: HashSchema,\n}).strict();\nexport type ModelTasksetRunResult = z.infer<typeof ModelTasksetRunResultSchema>;\n\n/** Server artifact ownership authenticates the producer. These checks bind all\n * portable projections to the admitted request, population and policy. */\nexport async function verifyModelTasksetRunDetails(value: unknown): Promise<ModelTasksetRunDetails> {\n const result = ModelTasksetRunDetailsSchema.parse(value);\n const { summary, request, manifest, policySnapshot } = result;\n assertContentHash(manifest, \"Taskset run manifest\");\n if (manifest.contentHash !== summary.manifestHash\n || manifest.id !== summary.id || manifest.createdAt !== summary.createdAt || summary.teamId !== request.teamId || summary.modelProjectId !== request.modelProjectId\n || canonicalJson(summary.project ?? null) !== canonicalJson(request.project ?? null)\n || canonicalJson(manifest.metadata.project ?? null) !== canonicalJson(request.project ?? null)\n || (summary.name ?? null) !== (request.name ?? null)\n || summary.operationId !== request.operationId || summary.policyKind !== request.policy.kind\n || summary.totalCount !== request.population.length || summary.metricName !== manifest.metricPolicy.primaryMetric\n || canonicalJson(summary.taskset) !== canonicalJson(request.taskset)\n || manifest.tasksetRelease.id !== request.taskset.id || manifest.tasksetRelease.contentHash !== request.taskset.contentHash\n || canonicalJson(manifest.population) !== canonicalJson(request.population)) throw new Error(\"Evaluation run differs from its admitted request or manifest.\");\n if (request.policy.kind === \"fixture\") {\n if (manifest.policy.kind !== \"fixture\" || policySnapshot !== null) throw new Error(\"Fixture checks cannot claim a model identity.\");\n } else if (manifest.policy.kind !== \"model\" || !policySnapshot || policySnapshot.modelId !== request.policy.modelId\n || manifest.policy.model.provider !== policySnapshot.provider || manifest.policy.model.model !== policySnapshot.upstreamModelId\n || manifest.policy.model.revision !== null || manifest.policy.model.artifactHash !== null || manifest.policy.model.tokenizerRevision !== null || manifest.policy.model.chatTemplateHash !== null\n || manifest.policy.configurationHash !== await canonicalSha256({ policy: request.policy, snapshot: policySnapshot })) throw new Error(\"Evaluation model differs from its admitted policy.\");\n return result;\n}\n\nexport async function verifyModelTasksetRunResult(value: unknown): Promise<ModelTasksetRunResult> {\n const result = ModelTasksetRunResultSchema.parse(value);\n const { contentHash: actual, ...content } = result;\n if (await canonicalSha256(content) !== actual) throw new Error(\"Evaluation result integrity failed.\");\n const { summary, manifest } = await verifyModelTasksetRunDetails(result.run);\n if (!summary.resultAvailable || ![\"completed\", \"failed\", \"cancelled\"].includes(summary.status)) throw new Error(\"Evaluation result is not terminal.\");\n const ordered = orderTasksetRunReceipts(manifest, result.receipts);\n if (canonicalJson(ordered) !== canonicalJson(result.receipts)) throw new Error(\"Evaluation receipts differ from the admitted order.\");\n if ((summary.status === \"completed\") !== (result.metric !== null)) throw new Error(\"Only completed evaluations retain a metric.\");\n if (result.metric) {\n assertTasksetMetricResult(result.metric);\n if (result.metric.runManifest.id !== manifest.id || result.metric.runManifest.contentHash !== manifest.contentHash\n || canonicalJson(result.metric.tasksetRelease) !== canonicalJson(manifest.tasksetRelease)\n || canonicalJson(result.metric.policy) !== canonicalJson(manifest.metricPolicy)\n || canonicalJson(result.metric.receiptRefs) !== canonicalJson(result.receipts.map(({ id, contentHash }) => ({ id, contentHash })))\n || result.metric.value !== summary.score) throw new Error(\"Evaluation metric differs from its admitted run or receipt population.\");\n }\n return result;\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": [
|
|
3
|
+
"sources": ["../src/model-taskset-runs.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\nimport { canonicalJson } from \"./protocol.js\";\nimport { ModelTasksetRunRequestSchema, ModelTasksetRunListQuerySchema, ModelTasksetRunPageSchema, verifyModelTasksetRunDetails, verifyModelTasksetRunResult, type ModelTasksetRunSummary } from \"./model-taskset-runs-contracts.js\";\nexport * from \"./model-taskset-runs-contracts.js\";\n\nconst IdSchema = z.string().trim().min(1).max(200);\nexport class OpenPondModelTasksetRunError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondModelTasksetRunError\"; }\n}\n\nexport class OpenPondModelTasksetRunsClient {\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(\"Evaluation runs require an HTTP(S) endpoint and workspace credentials.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n async create(value: z.input<typeof ModelTasksetRunRequestSchema>, options: { signal?: AbortSignal } = {}) {\n const request = ModelTasksetRunRequestSchema.parse(value);\n if (request.teamId !== this.#options.teamId) throw new Error(\"Evaluation belongs to another workspace.\");\n const result = await verifyModelTasksetRunDetails(await this.#request(\"\", \"POST\", request, options.signal));\n this.#scope(result.summary);\n if (canonicalJson(result.request) !== canonicalJson(request)) throw new OpenPondModelTasksetRunError(502, \"evaluation_request_mismatch\", \"Evaluation differs from the submitted request.\");\n return result;\n }\n async get(id: string, options: { signal?: AbortSignal } = {}) {\n const result = await verifyModelTasksetRunDetails(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}`, \"GET\", undefined, options.signal));\n this.#scope(result.summary, id);\n return result;\n }\n async cancel(id: string, options: { signal?: AbortSignal } = {}) {\n const result = await verifyModelTasksetRunDetails(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/cancel`, \"POST\", undefined, options.signal));\n this.#scope(result.summary, id);\n return result;\n }\n async result(id: string, options: { signal?: AbortSignal } = {}) {\n const result = await verifyModelTasksetRunResult(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/result`, \"GET\", undefined, options.signal));\n this.#scope(result.run.summary, id);\n return result;\n }\n async list(value: z.input<typeof ModelTasksetRunListQuerySchema>, options: { signal?: AbortSignal } = {}) {\n const query = ModelTasksetRunListQuerySchema.parse(value);\n const params = new URLSearchParams({ ...(query.modelProjectId ? { modelProjectId: query.modelProjectId } : {}), ...(query.projectId ? { projectId: query.projectId } : {}), limit: String(query.limit) });\n if (query.afterId) params.set(\"afterId\", query.afterId);\n const result = ModelTasksetRunPageSchema.parse(await this.#request(`?${params}`, \"GET\", undefined, options.signal));\n // Project membership may be an explicit run link or a linked model\n // configuration. Only the host can verify those associations; the SDK\n // still enforces workspace identity and an exact model filter here.\n if (result.items.length > query.limit || new Set(result.items.map(item => item.id)).size !== result.items.length || result.items.some(item => { this.#scope(item); return query.modelProjectId !== undefined && item.modelProjectId !== query.modelProjectId; })) throw new OpenPondModelTasksetRunError(502, \"evaluation_page_mismatch\", \"Evaluation page differs from the selected scope.\");\n return result;\n }\n #scope(summary: ModelTasksetRunSummary, id?: string) {\n if (summary.teamId !== this.#options.teamId || (id && summary.id !== id)) throw new OpenPondModelTasksetRunError(502, \"evaluation_identity_mismatch\", \"Evaluation belongs to another identity or workspace.\");\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-taskset-runs${path}`, {\n method, headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, \"Content-Type\": \"application/json\", Accept: \"application/json\" },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }), signal, redirect: \"error\",\n });\n const value = await response.json();\n if (!response.ok) {\n const error = z.object({ code: z.string(), message: z.string() }).safeParse(value);\n throw new OpenPondModelTasksetRunError(response.status, error.success ? error.data.code : \"evaluation_request_failed\", error.success ? error.data.message : \"Evaluation request failed.\");\n }\n return value;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/dist/taskset-drafts.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TasksetPackageReceiptSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TQ5ASK7D.js";
|
|
4
4
|
import {
|
|
5
5
|
MAX_TASKSET_DRAFT_EDIT_FILE_BYTES,
|
|
6
6
|
MAX_TASKSET_DRAFT_WORKSPACE_BYTES,
|
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
tasksetDraftFromTaskset,
|
|
31
31
|
validateTasksetDraftWorkspace
|
|
32
32
|
} from "./chunk-32H2EJRA.js";
|
|
33
|
+
import "./chunk-A4ZDOZKP.js";
|
|
33
34
|
import {
|
|
34
35
|
AuthoringProvenanceSchema,
|
|
35
36
|
AuthoringRepairSchema,
|
|
@@ -111,7 +112,6 @@ import {
|
|
|
111
112
|
import "./chunk-JCPLAIZL.js";
|
|
112
113
|
import "./chunk-TCHAWJMB.js";
|
|
113
114
|
import "./chunk-3KXDH6OB.js";
|
|
114
|
-
import "./chunk-A4ZDOZKP.js";
|
|
115
115
|
import "./chunk-Y4NGWGTA.js";
|
|
116
116
|
import {
|
|
117
117
|
contentHash,
|
package/dist/taskset-packages.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
TasksetPackagePublicationSchema,
|
|
6
6
|
TasksetPackageReadbackSchema,
|
|
7
7
|
TasksetPackageReceiptSchema
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TQ5ASK7D.js";
|
|
9
9
|
import {
|
|
10
10
|
ModelBatchReviewInspectionSchema,
|
|
11
11
|
ModelBatchReviewReceiptSchema,
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
decodeTasksetDraftWorkspaceFile,
|
|
33
33
|
isManagedTasksetDraftFilePath
|
|
34
34
|
} from "./chunk-32H2EJRA.js";
|
|
35
|
+
import "./chunk-A4ZDOZKP.js";
|
|
35
36
|
import {
|
|
36
37
|
materializePortableTasksetRelease,
|
|
37
38
|
portableTasksetEnvironment,
|
|
@@ -78,7 +79,6 @@ import {
|
|
|
78
79
|
import "./chunk-JCPLAIZL.js";
|
|
79
80
|
import "./chunk-TCHAWJMB.js";
|
|
80
81
|
import "./chunk-3KXDH6OB.js";
|
|
81
|
-
import "./chunk-A4ZDOZKP.js";
|
|
82
82
|
import "./chunk-Y4NGWGTA.js";
|
|
83
83
|
import {
|
|
84
84
|
contentHash,
|