openpond-sdk 0.12.25 → 0.12.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LEARNING.md +5 -7
- package/OPENTELEMETRY.md +1 -1
- package/PRODUCT_INTEGRATION.md +5 -10
- package/README.md +3 -4
- package/SERVERLESS_SERVING.md +37 -0
- package/TASKSETS.md +1 -2
- package/TASK_INGESTION.md +3 -4
- package/TRAINING_PROTOCOL.md +1 -1
- package/TRAINING_WORKFLOWS.md +11 -6
- package/dist/advanced-refiner-evaluations.js +9 -8
- package/dist/ai-sdk.js +2 -1
- package/dist/ai-sdk.js.map +1 -1
- package/dist/candidate-evaluations.js +7 -6
- package/dist/{chunk-ZQFROKKS.js → chunk-2U6BQ5C4.js} +3 -3
- package/dist/{chunk-DDCR4KB5.js → chunk-3BILL33A.js} +4 -4
- package/dist/{chunk-3B5KSH3V.js → chunk-456F3BXD.js} +5 -2
- package/dist/chunk-456F3BXD.js.map +1 -0
- package/dist/{chunk-RTLJV4OS.js → chunk-4A4FNG4R.js} +2 -2
- package/dist/{chunk-EZME7DV4.js → chunk-4CDLPMJK.js} +2 -2
- package/dist/{chunk-XBFOFTK3.js → chunk-4CRLQMJ2.js} +5 -5
- package/dist/{chunk-QOX57Y27.js → chunk-4PEK3YOW.js} +6 -3
- package/dist/chunk-4PEK3YOW.js.map +1 -0
- package/dist/{chunk-GS5HEE4M.js → chunk-4REK5TTE.js} +2 -2
- package/dist/{chunk-YS7DF76T.js → chunk-57ROW3XF.js} +3 -3
- package/dist/{chunk-47THZRUM.js → chunk-6LVLWRBJ.js} +8 -5
- package/dist/chunk-6LVLWRBJ.js.map +1 -0
- package/dist/{chunk-3VUF5H3B.js → chunk-AMZ2SWHR.js} +2 -2
- package/dist/{chunk-GV6DEDBU.js → chunk-AQV7RQZH.js} +2 -2
- package/dist/{chunk-BJMENXR4.js → chunk-C7I4ZG6Q.js} +3 -3
- package/dist/{chunk-JMFYNIYZ.js → chunk-CAOMKM55.js} +6 -3
- package/dist/chunk-CAOMKM55.js.map +1 -0
- package/dist/{chunk-QNOCM5JX.js → chunk-D26RJQU7.js} +2 -2
- package/dist/{chunk-T67LNKAK.js → chunk-EL6KZO43.js} +3 -3
- package/dist/{chunk-MVAEE5EI.js → chunk-H5KHLBC5.js} +5 -2
- package/dist/chunk-H5KHLBC5.js.map +1 -0
- package/dist/{chunk-3MWFN7BA.js → chunk-HCUZYGUK.js} +8 -5
- package/dist/chunk-HCUZYGUK.js.map +1 -0
- package/dist/{chunk-JOMZJXGC.js → chunk-JINWKUKR.js} +3 -3
- package/dist/{chunk-626JLH4D.js → chunk-JWEIAEQ6.js} +2 -2
- package/dist/{chunk-DH6O4JFB.js → chunk-KJTX4A27.js} +5 -2
- package/dist/chunk-KJTX4A27.js.map +1 -0
- package/dist/{chunk-QRYEXPG7.js → chunk-MN4FE52A.js} +13 -10
- package/dist/chunk-MN4FE52A.js.map +1 -0
- package/dist/{chunk-2OVNKPBZ.js → chunk-MUG4OQKL.js} +5 -2
- package/dist/chunk-MUG4OQKL.js.map +1 -0
- package/dist/{chunk-C3TS766N.js → chunk-N6LGT7NT.js} +5 -2
- package/dist/chunk-N6LGT7NT.js.map +1 -0
- package/dist/{chunk-3G3HUA32.js → chunk-P56JWQYV.js} +3 -3
- package/dist/{chunk-GX6KMHW2.js → chunk-QKLZZOZD.js} +5 -2
- package/dist/chunk-QKLZZOZD.js.map +1 -0
- package/dist/chunk-QYWPNNP3.js +9 -0
- package/dist/chunk-QYWPNNP3.js.map +1 -0
- package/dist/{chunk-IXFUYPGV.js → chunk-UZAVG2WK.js} +5 -5
- package/dist/chunk-UZAVG2WK.js.map +1 -0
- package/dist/{chunk-Z252BNAZ.js → chunk-VE5JD5FN.js} +6 -2
- package/dist/chunk-VE5JD5FN.js.map +1 -0
- package/dist/{chunk-7F43U2NC.js → chunk-WZKKQNYY.js} +3 -3
- package/dist/{chunk-RN5MK7NH.js → chunk-X5AT253K.js} +3 -3
- package/dist/{chunk-ZRTNR4U7.js → chunk-XWUTYFOU.js} +3 -3
- package/dist/{chunk-Z5APNTZE.js → chunk-XYK3MAIC.js} +2 -2
- package/dist/{chunk-BRP3EBCR.js → chunk-ZG4HVCJB.js} +7 -4
- package/dist/chunk-ZG4HVCJB.js.map +1 -0
- package/dist/connected-evidence.js +9 -8
- package/dist/dataset-commerce.js +4 -1
- package/dist/dataset-commerce.js.map +1 -1
- package/dist/dataset-marketplace.js +4 -1
- package/dist/dataset-marketplace.js.map +1 -1
- package/dist/dataset-workspaces.js +18 -15
- package/dist/dataset-workspaces.js.map +1 -1
- package/dist/errors.js +2 -1
- package/dist/experiment-evaluation-schedules.js +18 -17
- package/dist/experiment-improvements.js +8 -7
- package/dist/experiments.js +16 -15
- package/dist/human-review.js +2 -1
- package/dist/index.js +32 -28
- package/dist/index.js.map +1 -1
- package/dist/learning.js +6 -3
- package/dist/learning.js.map +1 -1
- package/dist/model-projects.js +2 -1
- package/dist/model-starter-attempts.js +3 -2
- package/dist/model-starter-catalog.js +7 -4
- package/dist/model-starter-catalog.js.map +1 -1
- package/dist/model-starters.js +4 -3
- package/dist/model-taskset-runs.js +7 -4
- package/dist/model-taskset-runs.js.map +1 -1
- package/dist/post-training.js +7 -6
- package/dist/taskset-catalog.js +2 -1
- package/dist/taskset-drafts.js +11 -8
- package/dist/taskset-drafts.js.map +1 -1
- package/dist/taskset-packages.js +10 -9
- package/dist/tool-learning.js +4 -1
- package/dist/tool-learning.js.map +1 -1
- package/dist/training-bundle.js +11 -10
- package/dist/training-bundle.js.map +1 -1
- package/dist/training-hardware.js +3 -2
- package/dist/training-projects.js +4 -1
- package/dist/training-projects.js.map +1 -1
- package/dist/training.js +2677 -2574
- package/dist/training.js.map +1 -1
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-sync.d.ts +1 -1
- package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-commerce.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-commerce.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-population.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/endpoints.d.ts +4 -0
- package/dist/types/packages/sdk/src/endpoints.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts +1 -1
- package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-inspection.d.ts +1 -1
- package/dist/types/packages/sdk/src/experiment-inspection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/grader-inspection.d.ts +1 -1
- package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/human-review-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts +1 -1
- package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-projects.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-projects.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/product-models.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +1 -1
- package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/serverless-serving.d.ts +157 -0
- package/dist/types/packages/sdk/src/serverless-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts +276 -0
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-catalog.d.ts +1 -1
- package/dist/types/packages/sdk/src/taskset-catalog.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +121 -121
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/tool-learning-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/tool-learning-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +40 -40
- package/dist/types/packages/sdk/src/training-model-serving-control.d.ts +232 -0
- package/dist/types/packages/sdk/src/training-model-serving-control.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-model-serving.d.ts +552 -0
- package/dist/types/packages/sdk/src/training-model-serving.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-project-client.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +25 -25
- package/dist/types/packages/sdk/src/training-transport.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-transport.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training.d.ts +1336 -1021
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/types.d.ts +2 -2
- package/dist/types/packages/sdk/src/types.d.ts.map +1 -1
- package/examples/learning/submit.py +1 -1
- package/examples/learning/submit.ts +2 -2
- package/examples/training/continual.ts +4 -4
- package/examples/training/manual.ts +1 -3
- package/fixtures/python-foundation/schemas.json +4830 -4483
- package/package.json +2 -1
- package/dist/chunk-2OVNKPBZ.js.map +0 -1
- package/dist/chunk-3B5KSH3V.js.map +0 -1
- package/dist/chunk-3MWFN7BA.js.map +0 -1
- package/dist/chunk-47THZRUM.js.map +0 -1
- package/dist/chunk-BRP3EBCR.js.map +0 -1
- package/dist/chunk-C3TS766N.js.map +0 -1
- package/dist/chunk-DH6O4JFB.js.map +0 -1
- package/dist/chunk-GX6KMHW2.js.map +0 -1
- package/dist/chunk-IXFUYPGV.js.map +0 -1
- package/dist/chunk-JMFYNIYZ.js.map +0 -1
- package/dist/chunk-MVAEE5EI.js.map +0 -1
- package/dist/chunk-QOX57Y27.js.map +0 -1
- package/dist/chunk-QRYEXPG7.js.map +0 -1
- package/dist/chunk-Z252BNAZ.js.map +0 -1
- /package/dist/{chunk-ZQFROKKS.js.map → chunk-2U6BQ5C4.js.map} +0 -0
- /package/dist/{chunk-DDCR4KB5.js.map → chunk-3BILL33A.js.map} +0 -0
- /package/dist/{chunk-RTLJV4OS.js.map → chunk-4A4FNG4R.js.map} +0 -0
- /package/dist/{chunk-EZME7DV4.js.map → chunk-4CDLPMJK.js.map} +0 -0
- /package/dist/{chunk-XBFOFTK3.js.map → chunk-4CRLQMJ2.js.map} +0 -0
- /package/dist/{chunk-GS5HEE4M.js.map → chunk-4REK5TTE.js.map} +0 -0
- /package/dist/{chunk-YS7DF76T.js.map → chunk-57ROW3XF.js.map} +0 -0
- /package/dist/{chunk-3VUF5H3B.js.map → chunk-AMZ2SWHR.js.map} +0 -0
- /package/dist/{chunk-GV6DEDBU.js.map → chunk-AQV7RQZH.js.map} +0 -0
- /package/dist/{chunk-BJMENXR4.js.map → chunk-C7I4ZG6Q.js.map} +0 -0
- /package/dist/{chunk-QNOCM5JX.js.map → chunk-D26RJQU7.js.map} +0 -0
- /package/dist/{chunk-T67LNKAK.js.map → chunk-EL6KZO43.js.map} +0 -0
- /package/dist/{chunk-JOMZJXGC.js.map → chunk-JINWKUKR.js.map} +0 -0
- /package/dist/{chunk-626JLH4D.js.map → chunk-JWEIAEQ6.js.map} +0 -0
- /package/dist/{chunk-3G3HUA32.js.map → chunk-P56JWQYV.js.map} +0 -0
- /package/dist/{chunk-7F43U2NC.js.map → chunk-WZKKQNYY.js.map} +0 -0
- /package/dist/{chunk-RN5MK7NH.js.map → chunk-X5AT253K.js.map} +0 -0
- /package/dist/{chunk-ZRTNR4U7.js.map → chunk-XWUTYFOU.js.map} +0 -0
- /package/dist/{chunk-Z5APNTZE.js.map → chunk-XYK3MAIC.js.map} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TasksetDraftWorkspaceSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JINWKUKR.js";
|
|
4
4
|
import {
|
|
5
5
|
TasksetCatalogReleaseRefSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VE5JD5FN.js";
|
|
7
7
|
import {
|
|
8
8
|
contentHash
|
|
9
9
|
} from "./chunk-H3JZ3P5T.js";
|
|
@@ -178,4 +178,4 @@ export {
|
|
|
178
178
|
ConnectedStartingAssetsReceiptSchema,
|
|
179
179
|
verifyConnectedStartingAssetsReceipt
|
|
180
180
|
};
|
|
181
|
-
//# sourceMappingURL=chunk-
|
|
181
|
+
//# sourceMappingURL=chunk-57ROW3XF.js.map
|
|
@@ -11,11 +11,14 @@ import {
|
|
|
11
11
|
ConnectedStartingAssetsRequestSchema,
|
|
12
12
|
DatasetWorkspaceReceiptSchema,
|
|
13
13
|
verifyConnectedStartingAssetsReceipt
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-57ROW3XF.js";
|
|
15
15
|
import {
|
|
16
16
|
ImmutableReleaseRefSchema,
|
|
17
17
|
contentHash
|
|
18
18
|
} from "./chunk-H3JZ3P5T.js";
|
|
19
|
+
import {
|
|
20
|
+
DEFAULT_API_BASE_URL
|
|
21
|
+
} from "./chunk-QYWPNNP3.js";
|
|
19
22
|
|
|
20
23
|
// src/connected-recorded-execution.ts
|
|
21
24
|
import { z } from "zod";
|
|
@@ -211,7 +214,7 @@ var ConnectedEvidenceError = class extends Error {
|
|
|
211
214
|
var ConnectedEvidenceClient = class {
|
|
212
215
|
constructor(options) {
|
|
213
216
|
this.options = options;
|
|
214
|
-
const url = new URL(options.baseUrl);
|
|
217
|
+
const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
|
|
215
218
|
if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())
|
|
216
219
|
throw new Error("A clean API origin and workspace credentials are required.");
|
|
217
220
|
this.baseUrl = url.toString().replace(/\/+$/, "");
|
|
@@ -469,7 +472,7 @@ var ConnectedSyncCommitSchema = z5.object({
|
|
|
469
472
|
var ConnectedSyncClient = class {
|
|
470
473
|
constructor(options) {
|
|
471
474
|
this.options = options;
|
|
472
|
-
const url = new URL(options.baseUrl);
|
|
475
|
+
const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
|
|
473
476
|
if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash)
|
|
474
477
|
throw new Error("Invalid connected-sync API origin.");
|
|
475
478
|
}
|
|
@@ -583,7 +586,7 @@ var ConnectedSyncClient = class {
|
|
|
583
586
|
async request(path, method, body, signal) {
|
|
584
587
|
const { response, value } = await fetchConnectedJson(
|
|
585
588
|
this.options.fetch ?? fetch,
|
|
586
|
-
`${this.options.baseUrl.replace(/\/+$/u, "")}/v1/connected-evidence/sync/connections${path}`,
|
|
589
|
+
`${(this.options.baseUrl ?? DEFAULT_API_BASE_URL).replace(/\/+$/u, "")}/v1/connected-evidence/sync/connections${path}`,
|
|
587
590
|
{
|
|
588
591
|
method,
|
|
589
592
|
signal,
|
|
@@ -650,4 +653,4 @@ export {
|
|
|
650
653
|
summarizeCollectorCoverage2 as summarizeCollectorCoverage,
|
|
651
654
|
hashCollectorEligibleBoundaries
|
|
652
655
|
};
|
|
653
|
-
//# sourceMappingURL=chunk-
|
|
656
|
+
//# sourceMappingURL=chunk-6LVLWRBJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/connected-recorded-execution.ts","../src/connected-evidence-client.ts","../src/connected-dataset-publication.ts","../src/connected-collection-status.ts","../src/connected-sync.ts","../src/connected-evidence.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { ImmutableReleaseRefSchema, contentHash } from \"@openpond/harness\";\nimport { ExperimentManifestSchema } from \"@openpond/evals/experiments\";\nimport { TaskRecordSchema } from \"@openpond/evals/tasksets\";\nimport { ConnectedCaseRefSchema } from \"./connected-evidence-contracts.js\";\n\nconst Id = z.string().min(1).max(200), Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedRecordedExecutionRequestSchema = z.object({ operationId: Id, name: z.string().trim().min(1).max(500),\n projectId: Id, dataset: ImmutableReleaseRefSchema.extend({ revision: z.number().int().positive() }).strict(),\n caseIds: z.array(Id).min(1).max(10_000) }).strict().superRefine((value, ctx) => {\n if (new Set(value.caseIds).size !== value.caseIds.length) ctx.addIssue({ code: \"custom\", message: \"Select each case once.\" });\n});\nexport const ConnectedRecordedSourceSchema = ConnectedCaseRefSchema.extend({ inputHash: Hash, outputHash: Hash.nullable(),\n task: TaskRecordSchema, taskHash: Hash }).strict();\nexport const ConnectedRecordedExecutionSchema = z.object({ schemaVersion: z.literal(\"openpond.connectedRecordedExecution.v1\"),\n id: Id, teamId: Id, ownerUserId: Id, request: ConnectedRecordedExecutionRequestSchema,\n manifest: ExperimentManifestSchema, sources: z.array(ConnectedRecordedSourceSchema).min(1).max(10_000), contentHash: Hash }).strict();\nexport type ConnectedRecordedExecution = z.infer<typeof ConnectedRecordedExecutionSchema>;\nexport function verifyConnectedRecordedExecution(raw: unknown) {\n const value = ConnectedRecordedExecutionSchema.parse(raw), { contentHash: actual, ...body } = value;\n const { contentHash: manifestHash, ...manifest } = value.manifest;\n if (contentHash(body) !== actual || contentHash(manifest) !== manifestHash || value.manifest.teamId !== value.teamId\n || value.manifest.id !== value.id || value.manifest.operationId !== value.request.operationId\n || contentHash(value.manifest.dataset) !== contentHash(value.request.dataset)\n || value.sources.length !== value.request.caseIds.length || value.sources.length !== value.manifest.population.length\n || value.sources.some((source, index) => source.taskHash !== contentHash(source.task) || source.task.id !== value.request.caseIds[index]\n || source.boundaryId !== source.task.id || value.manifest.population[index]?.caseId !== source.boundaryId))\n throw new Error(\"Recorded execution identity or population integrity failed.\");\n return value;\n}\n\nexport const ConnectedRecordedListRequestSchema = z.object({ projectId: Id.optional(), cursor: Id.optional(), limit: z.number().int().min(1).max(50).default(20) }).strict();\nexport const ConnectedRecordedSummarySchema = z.object({ id: Id, teamId: Id, ownerUserId: Id, projectId: Id,\n name: z.string().min(1).max(500), dataset: ConnectedRecordedExecutionRequestSchema.shape.dataset,\n manifestHash: Hash, contentHash: Hash, caseCount: z.number().int().min(1).max(10_000), createdAt: z.string().datetime() }).strict();\nexport const ConnectedRecordedListSchema = z.object({ teamId: Id, items: z.array(ConnectedRecordedSummarySchema).max(50), nextCursor: Id.nullable() }).strict();\n","import { DEFAULT_API_BASE_URL } from \"./endpoints.js\";\nimport { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { ConnectedBoundarySchema, ConnectedEventSchema, ConnectedUsageSummarySchema } from \"@openpond/evals/connected-evidence\";\nimport { ConnectedCaptureRequestSchema, ConnectedCaseRefSchema, ConnectedSourceSummarySchema,\n AgentImportUploadPartSchema, AgentImportPreviewRequestSchema, AgentImportCommitRequestSchema } from \"./connected-evidence-contracts.js\";\nimport { ConnectedRecordedExecutionRequestSchema, ConnectedRecordedListSchema, ConnectedRecordedListRequestSchema, verifyConnectedRecordedExecution } from \"./connected-recorded-execution.js\";\nimport { ConnectedDatasetPublicationSchema, type ConnectedDatasetPublication } from \"./connected-dataset-publication.js\";\nimport { DatasetWorkspaceReceiptSchema } from \"./dataset-workspace-contracts.js\";\nimport { fetchConnectedJson } from \"./connected-evidence-http.js\";\nimport { ConnectedCollectionStatusSchema } from \"./connected-collection-status.js\";\nimport { ConnectedStartingAssetsRequestSchema, verifyConnectedStartingAssetsReceipt } from \"./connected-starting-assets.js\";\n\nconst Id = z.string().min(1).max(500), Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedCollectionSchema = z.object({ teamId: Id, projectId: Id.nullable(), status: z.enum([\"active\", \"paused\", \"archived\"]), revision: z.number().int().nonnegative() }).strict();\nexport const ConnectedCaptureReceiptSchema = z.object({ teamId: Id, operationId: Id, projectId: Id.nullable(),\n outcomes: z.array(z.object({ conversationId: Id, state: z.enum([\"captured\", \"unchanged\", \"pending\", \"paused\", \"excluded\", \"failed\"]),\n sourceId: Id.optional(), snapshotHash: Hash.optional(), reason: z.string().optional() }).strict()).max(50), nextCursor: Id.nullable() }).strict();\nexport const ConnectedCaseReadbackSchema = z.object({ teamId: Id, ref: ConnectedCaseRefSchema, origin: ConnectedSourceSummarySchema.shape.source,\n sessionId: Id, projectId: Id, capturedAt: z.string().datetime(), unmappedEvidence: z.object({ count: z.number().int().nonnegative().max(100_000), contentHash: Hash }).strict(),\n evidence: z.object({ input: z.array(ConnectedEventSchema), observed: z.array(ConnectedEventSchema), answer: z.json(), boundary: ConnectedBoundarySchema }).strict() }).strict();\nexport const ConnectedUnmappedEventsSchema = z.object({ teamId: Id, sourceId: Id, snapshotHash: Hash, contentHash: Hash,\n count: z.number().int().nonnegative(), offset: z.number().int().nonnegative(), events: z.array(ConnectedEventSchema).max(50), nextOffset: z.number().int().nonnegative().nullable() }).strict();\nexport const AgentImportPreviewSchema = z.object({ teamId: Id, source: AgentImportPreviewRequestSchema.shape.source, sourceHash: Hash, previewHash: Hash,\n destination: AgentImportPreviewRequestSchema.shape.destination, issues: z.array(z.object({ file: z.string(), message: z.string() }).strict()).max(100),\n sessions: z.array(z.object({ sessionHash: Hash, sessionId: Id, origin: ConnectedSourceSummarySchema.shape.source, exporterVersion: z.string().nullable(),\n eventCount: z.number().int().nonnegative(), boundaries: z.array(z.object({ id: Id, projection: z.enum([\"turn\", \"conversation\"]), answer: z.boolean(),\n process: z.enum([\"retained\", \"partial\", \"absent\"]), terminal: z.enum([\"completed\", \"failed\", \"cancelled\", \"unknown\"]) }).strict()).max(5_001),\n warnings: z.array(z.string()).max(100), sample: z.array(z.object({ role: z.enum([\"user\", \"assistant\", \"system\", \"tool\"]).nullable(), text: z.string().max(4_000) }).strict()).max(3),\n }).strict()).max(1_000) }).strict();\nexport const AgentImportReceiptSchema = z.object({ teamId: Id, operationId: Id, requestHash: Hash, previewHash: Hash, projectId: Id.optional(),\n state: z.enum([\"admitting\", \"publishing\", \"completed\", \"failed\"]), outcomes: z.array(z.object({ sessionHash: Hash, sourceId: Id,\n status: z.enum([\"imported\", \"already_present\"]), datasets: z.array(z.object({ datasetId: Id, revision: z.number().int().positive(), changed: z.boolean() }).strict()).max(2) }).strict()).max(1_000),\n error: z.string().optional() }).strict();\n\nexport class ConnectedEvidenceError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"ConnectedEvidenceError\"; }\n}\nexport class ConnectedEvidenceClient {\n private readonly baseUrl: string;\n constructor(private readonly options: { apiKey: string; baseUrl?: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())\n throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n async capture(raw: z.input<typeof ConnectedCaptureRequestSchema>, signal?: AbortSignal) {\n const request = ConnectedCaptureRequestSchema.parse(raw), result = ConnectedCaptureReceiptSchema.parse(await this.request(\"/capture\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.operationId !== request.operationId || result.outcomes.length > request.limit || request.conversationId && result.outcomes.some(item => item.conversationId !== request.conversationId))\n throw new Error(\"Capture receipt differs from its requested source or operation.\");\n return result;\n }\n async retainStartingAssets(raw: z.input<typeof ConnectedStartingAssetsRequestSchema>, signal?: AbortSignal) {\n const request = ConnectedStartingAssetsRequestSchema.parse(raw);\n const result = verifyConnectedStartingAssetsReceipt(await this.request(\"/starting-assets\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.operationId !== request.operationId || result.requestHash !== contentHash(request)\n || contentHash(result.source) !== contentHash(request.source)\n || result.assets.length !== request.proofs.length\n || result.assets.some((asset, index) => asset.path !== request.proofs[index]!.path))\n throw new Error(\"Starting assets differ from the exact source, operation or selected paths.\");\n return result;\n }\n async startingAssets(id: string, signal?: AbortSignal) {\n const result = verifyConnectedStartingAssetsReceipt(await this.request(`/starting-assets/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (result.id !== id) throw new Error(\"Starting assets identity mismatch.\");\n return result;\n }\n async list(input: { projectId?: string; cursor?: string; limit?: number } = {}, signal?: AbortSignal) {\n const query = z.object({ projectId: Id.optional(), cursor: Id.optional(), limit: z.number().int().min(1).max(50).default(20) }).strict().parse(input);\n const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => [key, String(value)]));\n const page = z.object({ teamId: Id, items: z.array(ConnectedSourceSummarySchema).max(50), nextCursor: Id.nullable() }).strict().parse(await this.request(`?${params}`, \"GET\", undefined, signal));\n this.scope(page.teamId);\n if (page.items.length > query.limit || new Set(page.items.map(item => item.sourceId)).size !== page.items.length || page.nextCursor !== null && page.nextCursor === query.cursor\n || query.projectId && page.items.some(item => item.projectId !== query.projectId)) throw new Error(\"Connected source page differs from its requested scope.\");\n return page;\n }\n async read(raw: z.input<typeof ConnectedCaseRefSchema>, signal?: AbortSignal) {\n const ref = ConnectedCaseRefSchema.parse(raw);\n const result = ConnectedCaseReadbackSchema.parse(await this.request(`/${encodeURIComponent(ref.id)}/cases/${encodeURIComponent(ref.boundaryId)}?snapshotHash=${ref.snapshotHash}&revisionHash=${ref.boundaryRevisionHash}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (contentHash(result.ref) !== contentHash(ref) || result.evidence.boundary.id !== ref.boundaryId || result.evidence.boundary.revisionHash !== ref.boundaryRevisionHash\n || contentHash(result.evidence.input) !== result.evidence.boundary.inputHash || contentHash(result.evidence.observed) !== ref.boundaryRevisionHash\n || result.evidence.boundary.outputHash !== null && contentHash(result.evidence.answer) !== result.evidence.boundary.outputHash)\n throw new Error(\"Connected case readback differs from its exact snapshot or cutoff.\");\n return result;\n }\n async setCollection(paused: boolean, signal?: AbortSignal) {\n const result = ConnectedCollectionSchema.parse(await this.request(\"/collection\", \"PUT\", z.object({ paused: z.boolean() }).strict().parse({ paused }), signal));\n this.scope(result.teamId); return result;\n }\n async collection(signal?: AbortSignal) { const result = ConnectedCollectionSchema.parse(await this.request(\"/collection\", \"GET\", undefined, signal)); this.scope(result.teamId); return result; }\n async collectionStatus(signal?: AbortSignal) {\n const result = ConnectedCollectionStatusSchema.parse(await this.request(\"/collection/status\", \"GET\", undefined, signal));\n this.scope(result.teamId);\n return result;\n }\n async unmappedEvents(input: { id: string; snapshotHash: string; contentHash: string; offset?: number; limit?: number }, signal?: AbortSignal) {\n const request = z.object({ id: Id, snapshotHash: Hash, contentHash: Hash, offset: z.number().int().nonnegative().default(0), limit: z.number().int().min(1).max(50).default(20) }).strict().parse(input);\n const result = ConnectedUnmappedEventsSchema.parse(await this.request(`/${encodeURIComponent(request.id)}/unmapped-events?snapshotHash=${request.snapshotHash}&offset=${request.offset}&limit=${request.limit}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (result.sourceId !== request.id || result.snapshotHash !== request.snapshotHash || result.contentHash !== request.contentHash || result.offset !== request.offset\n || result.events.length > request.limit || result.events.some((event, index) => event.sequence !== request.offset + index)\n || result.nextOffset !== null && result.nextOffset !== request.offset + result.events.length) throw new Error(\"Unmapped source event page differs from its pinned snapshot.\");\n return result;\n }\n async homeSummary(raw: { from: string; to: string; projectId?: string }, signal?: AbortSignal) {\n const querySchema = z.object({ from: z.string().datetime(), to: z.string().datetime(), projectId: Id.optional() }).strict(), query = querySchema.parse(raw);\n const params = new URLSearchParams(Object.entries(query));\n const result = z.object({ teamId: Id, range: querySchema, activity: z.object({ conversations: z.number().int().nonnegative(), turns: z.number().int().nonnegative(),\n chatTurns: z.number().int().nonnegative(), workTurns: z.number().int().nonnegative() }).strict(), accounting: z.object({ contextSnapshots: z.number().int().nonnegative() }).strict(), usage: ConnectedUsageSummarySchema }).strict()\n .parse(await this.request(`/summary?${params}`, \"GET\", undefined, signal));\n this.scope(result.teamId);\n if (contentHash(result.range) !== contentHash(query) || result.activity.chatTurns + result.activity.workTurns !== result.activity.turns) throw new Error(\"Activity summary differs from its requested range.\");\n for (const groups of [result.usage.days, result.usage.modes, result.usage.models]) {\n if (new Set(groups.map(row => row.key)).size !== groups.length) throw new Error(\"Duplicate usage summary group.\");\n for (const key of Object.keys(result.usage.total) as (keyof typeof result.usage.total)[])\n if (groups.reduce((sum, row) => sum + row[key], 0) !== result.usage.total[key]) throw new Error(\"Usage totals differ from their displayed groups.\");\n }\n return result;\n }\n async uploadPart(raw: z.input<typeof AgentImportUploadPartSchema>, signal?: AbortSignal) {\n const body = AgentImportUploadPartSchema.parse(raw), result = z.object({ teamId: Id, hash: Hash, parts: z.number().int(), index: z.number().int() }).strict().parse(await this.request(\"/imports/upload\", \"POST\", body, signal));\n this.scope(result.teamId);\n if (result.hash !== body.hash || result.parts !== body.parts || result.index !== body.index) throw new Error(\"Upload receipt differs from its part identity.\");\n return result;\n }\n async preview(raw: z.input<typeof AgentImportPreviewRequestSchema>, signal?: AbortSignal) {\n const request = AgentImportPreviewRequestSchema.parse(raw), result = AgentImportPreviewSchema.parse(await this.request(\"/imports/preview\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.source !== request.source || contentHash(result.destination) !== contentHash(request.destination) || result.sessions.some(session => session.origin !== request.source)\n || new Set(result.sessions.map(session => session.sessionHash)).size !== result.sessions.length) throw new Error(\"Import preview differs from its source or destination.\");\n return result;\n }\n async commit(raw: z.input<typeof AgentImportCommitRequestSchema>, signal?: AbortSignal) {\n const request = AgentImportCommitRequestSchema.parse(raw), result = AgentImportReceiptSchema.parse(await this.request(\"/imports/commit\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.operationId !== request.operationId || result.previewHash !== request.previewHash || result.requestHash !== contentHash(request)\n || result.outcomes.some(item => !request.selection.some(selection => selection.sessionHash === item.sessionHash))\n || result.state === \"completed\" && result.outcomes.length !== request.selection.length) throw new Error(\"Import receipt differs from its exact selection or operation.\");\n return result;\n }\n async readImport(operationId: string, signal?: AbortSignal) {\n const id = Id.parse(operationId), result = AgentImportReceiptSchema.parse(await this.request(`/imports/${encodeURIComponent(id)}`, \"GET\", undefined, signal));\n this.scope(result.teamId); if (result.operationId !== id) throw new Error(\"Import identity mismatch.\"); return result;\n }\n async prepareRecorded(raw: z.input<typeof ConnectedRecordedExecutionRequestSchema>, signal?: AbortSignal) {\n const request = ConnectedRecordedExecutionRequestSchema.parse(raw), result = verifyConnectedRecordedExecution(await this.request(\"/recorded-executions\", \"POST\", request, signal));\n this.scope(result.teamId); if (contentHash(result.request) !== contentHash(request)) throw new Error(\"Recorded admission differs from its selected Dataset/cases.\"); return result;\n }\n async listRecordedExecutions(input: z.input<typeof ConnectedRecordedListRequestSchema> = {}, signal?: AbortSignal) {\n const query = ConnectedRecordedListRequestSchema.parse(input);\n const params = new URLSearchParams(Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => [key, String(value)]));\n const page = ConnectedRecordedListSchema.parse(await this.request(`/recorded-executions?${params}`, \"GET\", undefined, signal));\n this.scope(page.teamId);\n if (page.items.length > query.limit || page.items.some((row, index) => row.teamId !== page.teamId || query.projectId && row.projectId !== query.projectId\n || query.cursor && row.id <= query.cursor || index > 0 && row.id <= page.items[index - 1]!.id)\n || page.items.some(row => row.ownerUserId !== page.items[0]?.ownerUserId)\n || page.nextCursor !== null && (query.cursor !== undefined && page.nextCursor <= query.cursor || page.items.length > 0 && page.nextCursor < page.items.at(-1)!.id))\n throw new Error(\"Recorded execution page differs from its requested scope or cursor.\");\n return page;\n }\n async recordedExecution(id: string, signal?: AbortSignal) {\n const result = verifyConnectedRecordedExecution(await this.request(`/recorded-executions/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal));\n this.scope(result.teamId); if (result.id !== id) throw new Error(\"Recorded execution identity mismatch.\"); return result;\n }\n async publishDataset(input: ConnectedDatasetPublication, signal?: AbortSignal) {\n const request = ConnectedDatasetPublicationSchema.parse(input);\n const result = DatasetWorkspaceReceiptSchema.parse(await this.request(\"/datasets/publish\", \"POST\", request, signal));\n this.scope(result.teamId);\n const frozen = result.workspace.draft.metadata.connectedPublication;\n if (result.datasetId !== request.datasetId || !result.publication || !frozen || typeof frozen !== \"object\" || !(\"requestHash\" in frozen) || frozen.requestHash !== contentHash(request)) throw new Error(\"Published Dataset identity or original selection mismatch.\"); return result;\n }\n async createSelection(input: { operationId: string; projectId: string; name: string; cases: z.input<typeof ConnectedCaseRefSchema>[] }, signal?: AbortSignal) {\n const request = z.object({ operationId: Id.max(240), projectId: Id.max(240), name: z.string().trim().min(1).max(200), cases: z.array(ConnectedCaseRefSchema).min(1).max(500) }).strict().parse(input);\n const result = DatasetWorkspaceReceiptSchema.parse(await this.request(\"/datasets/selection\", \"POST\", request, signal));\n this.scope(result.teamId);\n if (result.originProjectId !== request.projectId || result.workspace.draft.tasks.length !== request.cases.length\n || result.workspace.draft.tasks.some((task, index) => contentHash(task.input && typeof task.input === \"object\" && !Array.isArray(task.input) ? task.input.connectedEvidenceRef : null) !== contentHash(request.cases[index])))\n throw new Error(\"Selected Dataset differs from its exact source population.\");\n return result;\n }\n private scope(teamId: string) { if (teamId !== this.options.teamId) throw new Error(\"Connected evidence workspace mismatch.\"); }\n private async request(path: string, method: string, body?: unknown, signal?: AbortSignal) {\n const { response, value } = await fetchConnectedJson(this.options.fetch ?? fetch, `${this.baseUrl}/v1/connected-evidence${path}`, { method, signal, redirect: \"error\",\n 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) }) }, (status, code, message) => new ConnectedEvidenceError(status, code, message));\n if (!response.ok) { const error = z.object({ code: z.string(), message: z.string() }).safeParse(value);\n throw new ConnectedEvidenceError(response.status, error.success ? error.data.code : \"connected_request_failed\", error.success ? error.data.message : \"Connected evidence request failed.\"); }\n return value;\n }\n}\n","import { z } from \"zod\";\nimport { RewardReleaseRefSchema } from \"@openpond/evals/rewards\";\n\n/** Publication freezes the owner-selected Dataset revision and exact grader\n * releases. Capture never infers a correctness reference from an answer. */\nexport const ConnectedDatasetPublicationSchema = z.object({\n datasetId: z.string().trim().min(1).max(240),\n expectedRevision: z.number().int().positive(),\n operationId: z.string().trim().min(1).max(240),\n graders: z.array(RewardReleaseRefSchema).min(1).max(100).optional(),\n}).strict().superRefine((request, context) => {\n if (request.graders && new Set(request.graders.map(ref => ref.id)).size !== request.graders.length)\n context.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Choose one exact revision of each grader.\" });\n});\nexport type ConnectedDatasetPublication = z.infer<typeof ConnectedDatasetPublicationSchema>;\n","import { z } from \"zod\";\n\nconst Id = z.string().min(1).max(500);\nconst Count = z.number().int().nonnegative();\n\n/** Hosted collection health is server reconciliation, never a local heartbeat. */\nexport const ConnectedCollectionStatusSchema = z.object({\n teamId: Id,\n ownerUserId: Id,\n projectId: Id.nullable(),\n status: z.enum([\"active\", \"paused\", \"archived\"]),\n revision: Count,\n state: z.enum([\"collecting\", \"pending\", \"attention\", \"paused\", \"archived\"]),\n lastReconciledAt: z.string().datetime().nullable(),\n lastCapturedAt: z.string().datetime().nullable(),\n historyDays: z.number().int().positive(),\n sources: Count,\n tasks: Count,\n datasets: z.array(z.object({\n datasetId: Id,\n projection: z.enum([\"turn\", \"conversation\"]),\n revision: Count,\n }).strict()).max(2),\n latestBatch: z.object({\n operationId: Id,\n updatedAt: z.string().datetime(),\n scanned: Count,\n captured: Count,\n unchanged: Count,\n pending: Count,\n failed: Count,\n excluded: Count,\n paused: Count,\n hasMore: z.boolean(),\n }).strict().nullable(),\n}).strict();\n\nexport type ConnectedCollectionStatus = z.infer<typeof ConnectedCollectionStatusSchema>;\n","import { DEFAULT_API_BASE_URL } from \"./endpoints.js\";\nimport { z } from \"zod\";\nimport {\n AgentImportCommitRequestSchema,\n AgentImportPreviewRequestSchema,\n} from \"./connected-evidence-contracts.js\";\nimport { fetchConnectedJson } from \"./connected-evidence-http.js\";\nimport {\n CollectorCoverageManifestSchema,\n CollectorCoverageSummarySchema,\n summarizeCollectorCoverage,\n} from \"@openpond/evals/connected-evidence\";\nconst Id = z.string().trim().min(1).max(240);\nexport const ConnectedSyncCoveragePublishSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n manifest: CollectorCoverageManifestSchema,\n })\n .strict()\n .refine(\n (value) =>\n value.id === value.manifest.connectionId &&\n value.expectedRevision === value.manifest.connectionRevision,\n \"Collector coverage scope differs from its connection.\",\n );\nexport const ConnectedSyncCoverageReadSchema = z\n .object({ id: Id, cutoff: z.iso.datetime().optional() })\n .strict();\nexport const ConnectedSyncCoverageReceiptSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.connectedSyncCoverageReceipt.v1\"),\n id: Id,\n teamId: Id,\n ownerUserId: Id,\n connectionId: Id,\n connectionRevision: z.number().int().positive(),\n receivedAt: z.iso.datetime(),\n summary: CollectorCoverageSummarySchema,\n })\n .strict();\nexport const ConnectedSyncRegistrationSchema = z\n .object({\n id: Id,\n source: AgentImportPreviewRequestSchema.shape.source,\n machineId: Id,\n sourceInstanceId: Id,\n sourceLabel: z.string().trim().min(1).max(200),\n sourceRoot: z.string().min(1).max(2000),\n destination: AgentImportPreviewRequestSchema.shape.destination,\n since: z.string().datetime().nullable(),\n keepSyncing: z.boolean(),\n expectedRevision: z.number().int().nonnegative(),\n })\n .strict();\nexport const ConnectedSyncControlSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n action: z.enum([\"pause\", \"resume\", \"disconnect\"]),\n })\n .strict();\nexport const ConnectedSyncRequestSchema = z\n .object({\n id: Id,\n operationId: Id,\n expectedRevision: z.number().int().positive(),\n })\n .strict();\nexport const ConnectedSyncHeartbeatSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n pendingOperations: z.number().int().min(0).max(10000),\n error: z.string().max(500).nullable(),\n completedSyncRevision: z.number().int().nonnegative().default(0),\n })\n .strict();\nexport const ConnectedSyncConnectionSchema = z\n .object({\n teamId: Id,\n id: Id,\n revision: z.number().int().positive(),\n source: AgentImportPreviewRequestSchema.shape.source,\n sourceLabel: z.string(),\n sourceRoot: z.string(),\n taskDatasetId: Id.nullable(),\n conversationDatasetId: Id.nullable(),\n machineId: Id,\n sourceInstanceId: Id,\n projectId: Id,\n datasetIds: z.array(Id).max(2),\n since: z.string().datetime().nullable(),\n keepSyncing: z.boolean(),\n state: z.enum([\"active\", \"paused\", \"disconnected\"]),\n health: z.enum([\"online\", \"offline\"]),\n lastHeartbeatAt: z.string().datetime().nullable(),\n lastAdmissionAt: z.string().datetime().nullable(),\n pendingOperations: z.number().int().nonnegative(),\n admittedTasks: z.number().int().nonnegative(),\n error: z.string().nullable(),\n requestedSyncRevision: z.number().int().nonnegative().default(0),\n completedSyncRevision: z.number().int().nonnegative().default(0),\n syncRequestedAt: z.string().datetime().nullable().default(null),\n syncCompletedAt: z.string().datetime().nullable().default(null),\n })\n .strict()\n .refine(\n (value) =>\n value.completedSyncRevision <= value.requestedSyncRevision &&\n value.requestedSyncRevision <= value.revision,\n \"Invalid sync acknowledgement generation.\",\n );\nexport const ConnectedSyncCommitSchema = z\n .object({\n connectionId: Id,\n expectedRevision: z.number().int().positive(),\n request: AgentImportCommitRequestSchema,\n })\n .strict();\nexport type ConnectedSyncConnection = z.infer<\n typeof ConnectedSyncConnectionSchema\n>;\nexport class ConnectedSyncClient {\n constructor(\n private readonly options: {\n apiKey: string;\n baseUrl?: string;\n teamId: string;\n fetch?: typeof fetch;\n },\n ) {\n const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);\n if (\n ![\"http:\", \"https:\"].includes(url.protocol) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash\n )\n throw new Error(\"Invalid connected-sync API origin.\");\n }\n async list(signal?: AbortSignal) {\n const result = z\n .object({\n teamId: Id,\n items: z.array(ConnectedSyncConnectionSchema).max(100),\n })\n .strict()\n .parse(await this.request(\"\", \"GET\", undefined, signal));\n if (\n result.teamId !== this.options.teamId ||\n result.items.some((item) => item.teamId !== result.teamId)\n )\n throw new Error(\"Sync workspace mismatch.\");\n return result;\n }\n async register(\n raw: z.input<typeof ConnectedSyncRegistrationSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"\",\n \"POST\",\n ConnectedSyncRegistrationSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async control(\n raw: z.input<typeof ConnectedSyncControlSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"/control\",\n \"POST\",\n ConnectedSyncControlSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async heartbeat(\n raw: z.input<typeof ConnectedSyncHeartbeatSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"/heartbeat\",\n \"POST\",\n ConnectedSyncHeartbeatSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async requestSync(\n raw: z.input<typeof ConnectedSyncRequestSchema>,\n signal?: AbortSignal,\n ) {\n return this.connection(\n await this.request(\n \"/sync-now\",\n \"POST\",\n ConnectedSyncRequestSchema.parse(raw),\n signal,\n ),\n raw.id,\n );\n }\n async commit(\n raw: z.input<typeof ConnectedSyncCommitSchema>,\n signal?: AbortSignal,\n ) {\n return this.request(\n \"/commit\",\n \"POST\",\n ConnectedSyncCommitSchema.parse(raw),\n signal,\n );\n }\n async publishCoverage(\n raw: z.input<typeof ConnectedSyncCoveragePublishSchema>,\n signal?: AbortSignal,\n ) {\n const request = ConnectedSyncCoveragePublishSchema.parse(raw);\n const receipt = this.coverageReceipt(\n await this.request(\n \"/coverage\",\n \"POST\",\n { action: \"publish\", ...request },\n signal,\n ),\n request.id,\n );\n if (\n !receipt ||\n receipt.connectionRevision !== request.expectedRevision ||\n receipt.summary.manifestHash !==\n summarizeCollectorCoverage(request.manifest).manifestHash\n )\n throw new Error(\n \"Collector coverage acknowledgement differs from the retained manifest.\",\n );\n return receipt;\n }\n async readCoverage(\n raw: z.input<typeof ConnectedSyncCoverageReadSchema>,\n signal?: AbortSignal,\n ) {\n const request = ConnectedSyncCoverageReadSchema.parse(raw);\n const query = new URLSearchParams(\n request.cutoff ? { cutoff: request.cutoff } : {},\n );\n return this.coverageReceipt(\n await this.request(\n `/${encodeURIComponent(request.id)}/coverage?${query}`,\n \"GET\",\n undefined,\n signal,\n ),\n request.id,\n );\n }\n private coverageReceipt(value: unknown, connectionId: string) {\n if (value === null) return null;\n const receipt = ConnectedSyncCoverageReceiptSchema.parse(value);\n if (\n receipt.teamId !== this.options.teamId ||\n receipt.connectionId !== connectionId\n )\n throw new Error(\"Collector coverage workspace mismatch.\");\n return receipt;\n }\n private connection(raw: unknown, id: string) {\n const result = ConnectedSyncConnectionSchema.parse(raw);\n if (result.teamId !== this.options.teamId || result.id !== id)\n throw new Error(\"Sync connection identity mismatch.\");\n return result;\n }\n private async request(\n path: string,\n method: string,\n body?: unknown,\n signal?: AbortSignal,\n ) {\n const { response, value } = await fetchConnectedJson(\n this.options.fetch ?? fetch,\n `${(this.options.baseUrl ?? DEFAULT_API_BASE_URL).replace(/\\/+$/u, \"\")}/v1/connected-evidence/sync/connections${path}`,\n {\n method,\n signal,\n redirect: \"error\",\n headers: {\n Authorization: `Bearer ${this.options.apiKey}`,\n \"X-OpenPond-Team-Id\": this.options.teamId,\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n },\n (_status, _code, message) => new Error(message),\n );\n if (!response.ok)\n throw Object.assign(\n new Error(`Sync request failed (${response.status}).`),\n { status: response.status },\n );\n return value;\n }\n}\n","export * from \"./connected-evidence-contracts.js\";\nexport * from \"./connected-dataset-source.js\";\nexport * from \"./connected-recorded-execution.js\";\nexport * from \"./connected-evidence-client.js\";\nexport * from \"./connected-dataset-publication.js\";\nexport * from \"./connected-collection-status.js\";\nexport * from \"./connected-starting-assets.js\";\n\nexport * from \"./connected-sync.js\";\nexport { CollectorCoverageManifestSchema, CollectorCoverageSessionSchema, CollectorCoverageSummarySchema,\n summarizeCollectorCoverage, hashCollectorEligibleBoundaries } from \"@openpond/evals/connected-evidence\";\nexport type { CollectorCoverageManifest, CollectorCoverageSession, CollectorCoverageSummary } from \"@openpond/evals/connected-evidence\";\n"],"mappings":"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","names":["z","z","z","Id","Id","z","Hash","z","Id","z","CollectorCoverageManifestSchema","CollectorCoverageSummarySchema","summarizeCollectorCoverage"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RunExperimentSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2U6BQ5C4.js";
|
|
4
4
|
import {
|
|
5
5
|
contentHash
|
|
6
6
|
} from "./chunk-H3JZ3P5T.js";
|
|
@@ -136,4 +136,4 @@ export {
|
|
|
136
136
|
CandidateEvaluationPreparationSchema,
|
|
137
137
|
CandidateEvaluationControlSchema
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=chunk-
|
|
139
|
+
//# sourceMappingURL=chunk-AMZ2SWHR.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-H3367ISL.js";
|
|
7
7
|
import {
|
|
8
8
|
ModelProjectVersionedRefSchema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-H5KHLBC5.js";
|
|
10
10
|
import {
|
|
11
11
|
canonicalJson
|
|
12
12
|
} from "./chunk-B3ZHJ2KK.js";
|
|
@@ -8942,4 +8942,4 @@ export {
|
|
|
8942
8942
|
createTasksetPackage,
|
|
8943
8943
|
resolveTasksetWorkOutputs
|
|
8944
8944
|
};
|
|
8945
|
-
//# sourceMappingURL=chunk-
|
|
8945
|
+
//# sourceMappingURL=chunk-AQV7RQZH.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RunExperimentSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2U6BQ5C4.js";
|
|
4
4
|
import {
|
|
5
5
|
HostedModelProjectSummarySchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-H5KHLBC5.js";
|
|
7
7
|
import {
|
|
8
8
|
OpenPondProtocolError,
|
|
9
9
|
canonicalSha256
|
|
@@ -308,4 +308,4 @@ export {
|
|
|
308
308
|
HostedTrainingPolicyControlSchema,
|
|
309
309
|
TrainingHandoffOriginSchema2 as TrainingHandoffOriginSchema
|
|
310
310
|
};
|
|
311
|
-
//# sourceMappingURL=chunk-
|
|
311
|
+
//# sourceMappingURL=chunk-C7I4ZG6Q.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ModelProjectBaseModelSchema,
|
|
3
3
|
ModelProjectVersionedRefSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-H5KHLBC5.js";
|
|
5
5
|
import {
|
|
6
6
|
canonicalJson,
|
|
7
7
|
canonicalSha256
|
|
@@ -10,6 +10,9 @@ import {
|
|
|
10
10
|
FailureClassSchema,
|
|
11
11
|
contentHash
|
|
12
12
|
} from "./chunk-H3JZ3P5T.js";
|
|
13
|
+
import {
|
|
14
|
+
DEFAULT_API_BASE_URL
|
|
15
|
+
} from "./chunk-QYWPNNP3.js";
|
|
13
16
|
|
|
14
17
|
// src/claude-code-runtime.ts
|
|
15
18
|
import { z } from "zod";
|
|
@@ -196,7 +199,7 @@ var OpenPondModelStarterAttemptError = class extends Error {
|
|
|
196
199
|
var OpenPondModelStarterAttemptsClient = class {
|
|
197
200
|
#options;
|
|
198
201
|
constructor(options) {
|
|
199
|
-
const url = new URL(options.baseUrl);
|
|
202
|
+
const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
|
|
200
203
|
if (!options.apiKey.trim() || !options.teamId.trim() || !["https:", "http:"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new Error("Starter attempts require an HTTP(S) endpoint and workspace credentials.");
|
|
201
204
|
this.#options = { ...options, baseUrl: url.toString().replace(/\/+$/, "") };
|
|
202
205
|
}
|
|
@@ -289,4 +292,4 @@ export {
|
|
|
289
292
|
OpenPondModelStarterAttemptError,
|
|
290
293
|
OpenPondModelStarterAttemptsClient
|
|
291
294
|
};
|
|
292
|
-
//# sourceMappingURL=chunk-
|
|
295
|
+
//# sourceMappingURL=chunk-CAOMKM55.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/claude-code-runtime.ts","../src/codex-experiment-runtime.ts","../src/model-starter-attempts.ts","../src/evaluation-project-context.ts","../src/experiment-grading-contracts.ts"],"sourcesContent":["import {z} from \"zod\";\nconst Hash=z.string().regex(/^[a-f0-9]{64}$/);\nexport const ClaudeCodeRuntimeSchema=z.object({providerId:z.literal(\"claude-code\"),configurationHash:Hash,executableHash:Hash,version:z.string().regex(/^2\\.\\d+\\.\\d+$/),capabilityHash:Hash,maximumRequestCostUsd:z.number().finite().positive().max(10000),requestTimeoutMs:z.number().int().min(1000).max(300000),maximumTurns:z.number().int().min(1).max(100),holdOpen:z.boolean()}).strict();\nexport type ClaudeCodeRuntime=z.infer<typeof ClaudeCodeRuntimeSchema>;\nexport const ClaudeCodeControlSchema=z.object({id:z.string().min(1).max(200),receiptId:z.string().min(1).max(200),sessionId:z.uuid(),operationId:z.string().min(1).max(200),action:z.enum([\"message\",\"seal\"]),text:z.string().max(262144).optional()}).strict().superRefine((value,context)=>{if(value.action===\"message\"&&!value.text?.trim())context.addIssue({code:\"custom\",message:\"A human intervention requires a message.\"});if(value.action===\"seal\"&&value.text!==undefined)context.addIssue({code:\"custom\",message:\"Sealing does not add a prompt.\"});});\nexport const ClaudeProcessEvidenceSchema=z.object({\n provider:z.literal(\"claude-code\"),sessionId:z.uuid(),requestId:z.string().min(1).max(200),modelId:z.string().min(1).max(500),\n runtime:ClaudeCodeRuntimeSchema,sourceHash:Hash,outputHash:Hash,traceHash:Hash,\n runtimeEventRefs:z.array(z.string().min(1).max(200)).min(1).max(20000),eventCount:z.number().int().positive().max(20000),\n startedAt:z.iso.datetime(),completedAt:z.iso.datetime(),cleanupComplete:z.literal(true),\n}).strict().superRefine((value,context)=>{if(value.runtimeEventRefs.length!==value.eventCount||new Set(value.runtimeEventRefs).size!==value.eventCount)context.addIssue({code:\"custom\",message:\"Process event references must match the exact retained trace population.\"});});\nexport type ClaudeProcessEvidence=z.infer<typeof ClaudeProcessEvidenceSchema>;\n","import {z} from \"zod\";\n\n/** Installation-local subscription execution; this pin is never a hosted target. */\nexport const CodexExperimentRuntimeSchema=z.object({\n providerId:z.literal(\"codex\"),\n configurationHash:z.string().regex(/^[a-f0-9]{64}$/),\n accountHash:z.string().regex(/^[a-f0-9]{64}$/),\n reasoningEffort:z.enum([\"low\",\"medium\",\"high\",\"xhigh\"]),\n maximumRequestCostUsd:z.number().finite().positive().max(10000),\n requestTimeoutMs:z.number().int().min(1000).max(300000),\n}).strict();\nexport type CodexExperimentRuntime=z.infer<typeof CodexExperimentRuntimeSchema>;\n","import { DEFAULT_API_BASE_URL } from \"./endpoints.js\";\nimport {ClaudeCodeRuntimeSchema} from \"./claude-code-runtime.js\";\nimport {CodexExperimentRuntimeSchema} from \"./codex-experiment-runtime.js\";\nimport { z } from \"zod\";\nimport { EvaluationProjectContextSchema, EvaluationMessagesSchema } from \"./evaluation-project-context.js\";\nexport { EvaluationProjectContextSchema, EvaluationMessagesSchema, type EvaluationProjectContext } from \"./evaluation-project-context.js\";\nimport { RewardCompositionSchema } from \"@openpond/evals/rewards\";\nimport { TaskGradeSchema } from \"@openpond/evals/graders\";\nimport { TaskSplitSchema } from \"@openpond/evals/tasksets\";\nimport { ExperimentAttemptGradeSchema } from \"./experiment-grading-contracts.js\";\nimport { ModelProjectVersionedRefSchema, ModelProjectBaseModelSchema } from \"./model-projects.js\";\nimport { canonicalJson, canonicalSha256 } from \"./protocol.js\";\nimport { StandaloneHarnessExperimentSourceSchema, NativeHarnessExperimentEvidenceSchema } from \"@openpond/evals/experiments\";\nimport { contentHash } from \"@openpond/harness\";\n\nconst IdSchema = z.string().trim().min(1).max(200);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ModelStarterAttemptPolicySchema = z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"hosted_chat\"), modelId: IdSchema, localRuntime:z.union([z.object({providerId:z.literal(\"custom-openai-compatible\"),configurationHash:HashSchema,maximumRequestCostUsd:z.number().finite().positive().max(10000),requestTimeoutMs:z.number().int().min(1000).max(300000)}).strict(),ClaudeCodeRuntimeSchema,CodexExperimentRuntimeSchema]).optional(), candidate: z.object({ artifactId: IdSchema, contentHash: HashSchema, preparationId: IdSchema, dispatchId: IdSchema, baseProfileId: IdSchema, workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/) }).strict().optional(), harness: StandaloneHarnessExperimentSourceSchema.optional(), messages: EvaluationMessagesSchema.optional(), maxOutputTokens: z.number().int().min(1).max(1_000_000).default(100_000), temperature: z.number().min(0).max(2).default(0), topP: z.number().gt(0).max(1).default(1) }).strict(),\n z.object({ kind: z.literal(\"fixture\"), fixtureId: IdSchema }).strict(),\n]);\n/** The server resolves task input, private state, verifier and fixture script.\n * A caller can select releases, but cannot submit replacement execution bytes. */\nexport const ModelStarterAttemptRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptRequest.v1\"),\n operationId: IdSchema, teamId: IdSchema, modelProjectId: IdSchema.nullable(),\n project: EvaluationProjectContextSchema.optional(),\n taskset: ModelProjectVersionedRefSchema, taskId: IdSchema,\n environmentSeed: z.number().int().min(0).max(2_147_483_647).default(0),\n policy: ModelStarterAttemptPolicySchema,\n}).strict();\nexport type ModelStarterAttemptRequest = z.infer<typeof ModelStarterAttemptRequestSchema>;\nexport const ModelStarterAttemptChoicesQuerySchema = z.object({ modelProjectId: IdSchema.nullable(), taskset: ModelProjectVersionedRefSchema, afterTaskId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();\nexport const ModelStarterAttemptChoicesSchema = z.object({\n modelProjectId: IdSchema.nullable(), taskset: ModelProjectVersionedRefSchema, available: z.boolean(), unavailableReason: z.string().max(1_000).nullable(),\n models: z.array(z.object({ id: IdSchema, name: z.string().max(500), maximumOutputTokens: z.number().int().min(1).max(1_000_000).optional(), baseModel: ModelProjectBaseModelSchema.nullable().optional() }).strict()).max(200),\n tasks: z.array(z.object({ id: IdSchema, split: TaskSplitSchema, inputPreview: z.string().max(500), fixtures: z.array(z.object({ id: IdSchema, label: z.string().max(200) }).strict()).max(1_000) }).strict()).max(100),\n nextCursor: IdSchema.nullable(),\n}).strict();\nexport const ModelStarterAttemptSummarySchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptSummary.v1\"),\n id: IdSchema, revision: z.number().int().positive(), request: ModelStarterAttemptRequestSchema,\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]),\n policySnapshot: z.object({ modelId: IdSchema, provider: IdSchema, upstreamModelId: z.string().min(1).max(500), configurationHash: HashSchema }).strict().nullable(),\n createdAt: z.iso.datetime(), startedAt: z.iso.datetime().nullable(), completedAt: z.iso.datetime().nullable(),\n cleanupComplete: z.boolean(), resultAvailable: z.boolean(), score: z.number().min(0).max(1).nullable(),\n gradingStatus: z.enum([\"not_started\", \"pending\", \"scored\", \"unscorable\", \"not_configured\"]).default(\"not_started\"),\n passed: z.boolean().nullable(), outputPreview: z.string().max(500).nullable(),\n error: z.object({ code: IdSchema, message: z.string().max(2_000) }).strict().nullable(),\n}).strict().superRefine((value, context) => {\n if ((value.request.policy.kind === \"fixture\") !== (value.policySnapshot === null)) context.addIssue({ code: \"custom\", path: [\"policySnapshot\"], message: \"Fixture execution must not claim a model identity.\" });\n if (value.status === \"completed\" && (!value.cleanupComplete || !value.resultAvailable || !value.completedAt)) context.addIssue({ code: \"custom\", message: \"Completed attempts require retained results and confirmed cleanup.\" });\n});\nexport type ModelStarterAttemptSummary = z.infer<typeof ModelStarterAttemptSummarySchema>;\nexport const ModelStarterAttemptListQuerySchema = z.object({ modelProjectId: IdSchema, afterId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();\nexport const ModelStarterAttemptPageSchema = z.object({ items: z.array(ModelStarterAttemptSummarySchema).max(100), nextCursor: IdSchema.nullable() }).strict();\nexport const ModelStarterAttemptResultSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptResult.v1\"),\n attempt: ModelStarterAttemptSummarySchema,\n output: z.string().max(1_048_576).nullable(),\n // Only model-facing messages, never the private environment snapshot.\n messages: z.array(z.record(z.string(), z.unknown())).max(4_002),\n composition: RewardCompositionSchema.nullable(),\n // Ordinary Tasksets have no Reward binding. Absence preserves the hash of\n // already retained v1 results; new producers explicitly return null or a grade.\n grade: TaskGradeSchema.nullable().optional(),\n experimentGrade: ExperimentAttemptGradeSchema.nullable().optional(),\n environment: z.object({ status: z.enum([\"completed\", \"budget_exhausted\", \"cancelled\", \"timed_out\", \"policy_failure\", \"environment_failure\"]), collected: z.boolean(), definition: ModelProjectVersionedRefSchema, initialStateHash: HashSchema.nullable(), finalStateHash: HashSchema.nullable(), attemptHash: HashSchema }).strict(),\n native: NativeHarnessExperimentEvidenceSchema.optional(),\n providerRequestIds: z.array(IdSchema).max(1_001),\n contentHash: HashSchema,\n}).strict().superRefine((value, context) => {\n const source = value.attempt.request.policy.kind === \"hosted_chat\" ? value.attempt.request.policy.harness : undefined;\n if (Boolean(source) !== Boolean(value.native))\n context.addIssue({ code: \"custom\", path: [\"native\"], message: \"Standalone Harness results require their exact native evidence.\" });\n if (value.native && (!source || contentHash(source) !== contentHash(value.native.source)\n || value.native.modelConfigurationHash !== value.attempt.policySnapshot?.configurationHash\n || value.environment.initialStateHash !== null || value.environment.finalStateHash !== null\n || (value.environment.status === \"completed\" && (!value.environment.collected || value.output === null\n || value.native.partialOutputAvailable || value.native.outputHash !== contentHash(value.output)))))\n context.addIssue({ code: \"custom\", path: [\"native\"], message: \"Native evidence differs from the admitted source, model or output.\" });\n if (value.experimentGrade) {\n if (value.grade || value.composition) context.addIssue({ code: \"custom\", message: \"Selected Experiment grading cannot claim another grade population.\" });\n if (![\"completed\", \"failed\"].includes(value.attempt.status) || !value.attempt.resultAvailable || value.attempt.score !== value.experimentGrade.score\n || value.attempt.gradingStatus !== value.experimentGrade.gradingStatus || value.attempt.passed !== (value.experimentGrade.score === null ? null : value.experimentGrade.passed))\n context.addIssue({ code: \"custom\", message: \"Experiment grading differs from its retained attempt summary.\" });\n }\n if (!value.grade) return;\n if (value.composition) context.addIssue({ code: \"custom\", path: [\"grade\"], message: \"An ordinary grade cannot also claim a Reward composition.\" });\n if (![\"completed\", \"failed\"].includes(value.attempt.status) || !value.attempt.resultAvailable || value.attempt.score !== value.grade.score || value.attempt.gradingStatus !== value.grade.gradingStatus || value.attempt.passed !== (value.grade.score === null ? null : value.grade.passed)) context.addIssue({ code: \"custom\", path: [\"grade\"], message: \"Ordinary grade differs from its terminal attempt summary.\" });\n});\nexport type ModelStarterAttemptResult = z.infer<typeof ModelStarterAttemptResultSchema>;\n\nexport class OpenPondModelStarterAttemptError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondModelStarterAttemptError\"; }\n}\n\nexport class OpenPondModelStarterAttemptsClient {\n readonly #options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch };\n constructor(options: { baseUrl?: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch }) {\n const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);\n if (!options.apiKey.trim() || !options.teamId.trim() || ![\"https:\", \"http:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new Error(\"Starter attempts require an HTTP(S) endpoint and workspace credentials.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n async create(value: z.input<typeof ModelStarterAttemptRequestSchema>, options: { signal?: AbortSignal } = {}) {\n const request = ModelStarterAttemptRequestSchema.parse(value);\n if (request.teamId !== this.#options.teamId) throw new Error(\"Attempt belongs to another workspace.\");\n const result = this.#summary(await this.#request(\"\", \"POST\", request, options.signal));\n if (canonicalJson(result.request) !== canonicalJson(request)) throw new OpenPondModelStarterAttemptError(502, \"attempt_request_mismatch\", \"Attempt receipt differs from the submitted request.\");\n return result;\n }\n async get(id: string, options: { signal?: AbortSignal } = {}) { return this.#summary(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}`, \"GET\", undefined, options.signal), id); }\n async choices(value: z.input<typeof ModelStarterAttemptChoicesQuerySchema>, options: { signal?: AbortSignal } = {}) {\n const query = ModelStarterAttemptChoicesQuerySchema.parse(value);\n const params = new URLSearchParams({ ...(query.modelProjectId ? { modelProjectId: query.modelProjectId } : {}), tasksetId: query.taskset.id, revision: String(query.taskset.revision), contentHash: query.taskset.contentHash, limit: String(query.limit) });\n if (query.afterTaskId) params.set(\"afterTaskId\", query.afterTaskId);\n const result = ModelStarterAttemptChoicesSchema.parse(await this.#request(`/choices?${params}`, \"GET\", undefined, options.signal));\n if (result.modelProjectId !== query.modelProjectId || canonicalJson(result.taskset) !== canonicalJson(query.taskset) || result.tasks.length > query.limit || new Set(result.tasks.map(task => task.id)).size !== result.tasks.length) throw new OpenPondModelStarterAttemptError(502, \"attempt_choices_mismatch\", \"Attempt choices differ from the selected model or Taskset.\");\n return result;\n }\n async cancel(id: string, options: { signal?: AbortSignal } = {}) { return this.#summary(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/cancel`, \"POST\", undefined, options.signal), id); }\n async result(id: string, options: { signal?: AbortSignal } = {}) {\n const value = ModelStarterAttemptResultSchema.parse(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/result`, \"GET\", undefined, options.signal));\n this.#summary(value.attempt, id);\n const { contentHash, ...content } = value;\n if (!value.attempt.resultAvailable || await canonicalSha256(content) !== contentHash) throw new OpenPondModelStarterAttemptError(502, \"attempt_result_integrity\", \"Attempt result integrity failed.\");\n return value;\n }\n async list(value: z.input<typeof ModelStarterAttemptListQuerySchema>, options: { signal?: AbortSignal } = {}) {\n const query = ModelStarterAttemptListQuerySchema.parse(value);\n const params = new URLSearchParams({ modelProjectId: query.modelProjectId, limit: String(query.limit) });\n if (query.afterId) params.set(\"afterId\", query.afterId);\n const page = ModelStarterAttemptPageSchema.parse(await this.#request(`?${params}`, \"GET\", undefined, options.signal));\n if (page.items.length > query.limit || new Set(page.items.map(item => item.id)).size !== page.items.length || page.items.some(item => this.#summary(item).request.modelProjectId !== query.modelProjectId)) throw new OpenPondModelStarterAttemptError(502, \"attempt_page_mismatch\", \"Attempt page differs from the selected model.\");\n return page;\n }\n #summary(value: unknown, id?: string): ModelStarterAttemptSummary {\n const result = ModelStarterAttemptSummarySchema.parse(value);\n if (result.request.teamId !== this.#options.teamId || (id && result.id !== id)) throw new OpenPondModelStarterAttemptError(502, \"attempt_identity_mismatch\", \"Attempt receipt belongs to another identity or workspace.\");\n return result;\n }\n async #request(path: string, method: string, body: unknown, signal?: AbortSignal): Promise<unknown> {\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/model-starter-attempts${path}`, { method, headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, \"Content-Type\": \"application/json\", Accept: \"application/json\" }, ...(body === undefined ? {} : { body: JSON.stringify(body) }), signal, redirect: \"error\" });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondModelStarterAttemptError(response.status, \"attempt_empty_response\", \"Attempt response was empty.\");\n let bytes = 0; let text = \"\"; const decoder = new TextDecoder();\n try {\n while (true) {\n const chunk = await reader.read(); if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > 16_777_216) throw new OpenPondModelStarterAttemptError(502, \"attempt_response_too_large\", \"Attempt response exceeded its byte limit.\");\n text += decoder.decode(chunk.value, { stream: true });\n }\n text += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const value: unknown = JSON.parse(text);\n if (!response.ok) {\n const error = z.object({ code: IdSchema, message: z.string().max(2_000) }).safeParse(value);\n throw new OpenPondModelStarterAttemptError(response.status, error.success ? error.data.code : \"attempt_request_failed\", error.success ? error.data.message : \"Attempt request failed.\");\n }\n return value;\n }\n}\n","import { z } from \"zod\";\n\n/** The selected Project revision is retained independently of model artifacts.\n * Hosts resolve and authorize this reference before admitting execution. */\nexport const EvaluationProjectContextSchema = z.object({\n id: z.string().trim().min(1).max(240),\n revision: z.number().int().positive(),\n contentHash: z.string().regex(/^[a-f0-9]{64}$/),\n targetId: z.string().trim().min(1).max(240).nullable(),\n}).strict();\nexport type EvaluationProjectContext = z.infer<typeof EvaluationProjectContextSchema>;\n\nexport const EvaluationMessagesSchema = z.array(z.object({\n role: z.enum([\"system\", \"user\", \"assistant\"]),\n content: z.string().max(100_000),\n}).strict()).max(100).superRefine((messages, context) => {\n if (messages.reduce((total, message) => total + message.content.length, 0) > 100_000)\n context.addIssue({ code: \"custom\", message: \"Evaluation prompt exceeds 100,000 characters.\" });\n});\n","import { z } from \"zod\";\nimport { FailureClassSchema, contentHash } from \"@openpond/harness\";\nimport { TaskGradeSchema } from \"@openpond/evals/graders\";\n\nexport const ExperimentAttemptGradeSchema = z.object({\n schemaVersion: z.literal(\"openpond.experimentAttemptGrade.v1\"), selectionHash: z.string().regex(/^[a-f0-9]{64}$/),\n grades: z.array(TaskGradeSchema).min(1).max(100), score: z.number().min(0).max(1).nullable(),\n passed: z.boolean(), rewardEligible: z.boolean(), gradingStatus: z.enum([\"scored\", \"pending\", \"unscorable\", \"not_configured\"]),\n failureClass: FailureClassSchema.nullable(), contentHash: z.string().regex(/^[a-f0-9]{64}$/),\n}).strict().superRefine((grade, context) => {\n const { contentHash: actual, ...body } = grade;\n if (contentHash(body) !== actual) context.addIssue({ code: \"custom\", message: \"Experiment grading integrity failed.\" });\n const components = grade.grades.flatMap(value => value.components);\n if (components.length !== grade.grades.length || new Set(components.map(component => component.graderId)).size !== components.length)\n context.addIssue({ code: \"custom\", message: \"Each selected criterion requires exactly one distinct grader result.\" });\n for (const item of grade.grades) {\n const { contentHash: itemHash, ...itemBody } = item;\n if (contentHash(itemBody) !== itemHash) context.addIssue({ code: \"custom\", message: \"A retained criterion changed.\" });\n for (const component of item.components) {\n const { contentHash: componentHash, ...componentBody } = component;\n if (contentHash(componentBody) !== componentHash) context.addIssue({ code: \"custom\", message: \"A retained grader result changed.\" });\n }\n }\n});\nexport type ExperimentAttemptGrade = z.infer<typeof ExperimentAttemptGradeSchema>;\n"],"mappings":"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","names":["z","z","z","TaskGradeSchema","z","z","z","TaskGradeSchema","contentHash"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ExperimentScoringRequestSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JWEIAEQ6.js";
|
|
4
4
|
import {
|
|
5
5
|
ImmutableReleaseRefSchema,
|
|
6
6
|
contentHash
|
|
@@ -141,4 +141,4 @@ export {
|
|
|
141
141
|
verifyExperimentImprovementHumanOptions,
|
|
142
142
|
sealExperimentImprovementHumanOptions
|
|
143
143
|
};
|
|
144
|
-
//# sourceMappingURL=chunk-
|
|
144
|
+
//# sourceMappingURL=chunk-D26RJQU7.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
TasksetSchema,
|
|
3
3
|
computeTasksetHash,
|
|
4
4
|
createTasksetDraft
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4A4FNG4R.js";
|
|
6
6
|
import {
|
|
7
7
|
GraderFixtureSchema,
|
|
8
8
|
GraderSpecSchema,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
decodeTasksetPackageFile,
|
|
12
12
|
resolveTasksetPackageInstructions,
|
|
13
13
|
validateTasksetPackage
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-AQV7RQZH.js";
|
|
15
15
|
import {
|
|
16
16
|
contentHash
|
|
17
17
|
} from "./chunk-H3JZ3P5T.js";
|
|
@@ -266,4 +266,4 @@ export {
|
|
|
266
266
|
prepareImportedTasksetPackage,
|
|
267
267
|
tasksetPackageSourceId
|
|
268
268
|
};
|
|
269
|
-
//# sourceMappingURL=chunk-
|
|
269
|
+
//# sourceMappingURL=chunk-EL6KZO43.js.map
|
|
@@ -11,6 +11,9 @@ import {
|
|
|
11
11
|
canonicalSha256,
|
|
12
12
|
readBoundedJsonResponse
|
|
13
13
|
} from "./chunk-B3ZHJ2KK.js";
|
|
14
|
+
import {
|
|
15
|
+
DEFAULT_API_BASE_URL
|
|
16
|
+
} from "./chunk-QYWPNNP3.js";
|
|
14
17
|
|
|
15
18
|
// src/model-projects.ts
|
|
16
19
|
import { z as z2 } from "zod";
|
|
@@ -378,7 +381,7 @@ function headersRecord(headers) {
|
|
|
378
381
|
}
|
|
379
382
|
function createModelProjectsClient(input) {
|
|
380
383
|
const fetchImpl = input.fetch ?? fetch;
|
|
381
|
-
const baseUrl = input.baseUrl.replace(/\/$/, "");
|
|
384
|
+
const baseUrl = (input.baseUrl ?? DEFAULT_API_BASE_URL).replace(/\/$/, "");
|
|
382
385
|
async function request(pathname, init) {
|
|
383
386
|
const configuredHeaders = typeof input.headers === "function" ? await input.headers() : input.headers ?? {};
|
|
384
387
|
const response = await fetchImpl(`${baseUrl}${pathname}`, {
|
|
@@ -496,4 +499,4 @@ export {
|
|
|
496
499
|
OpenPondModelProjectApiError,
|
|
497
500
|
createModelProjectsClient
|
|
498
501
|
};
|
|
499
|
-
//# sourceMappingURL=chunk-
|
|
502
|
+
//# sourceMappingURL=chunk-H5KHLBC5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/model-projects.ts","../src/training-compute-selection.ts"],"sourcesContent":["import { DEFAULT_API_BASE_URL } from \"./endpoints.js\";\nimport { z } from \"zod\";\nimport { TrainingGpuSelectionSchema } from \"./training-compute-selection.js\";\nimport { ModelInitialLearningSchema, type ModelInitialLearning } from \"./model-learning-intent.js\";\nexport { ModelInitialLearningSchema, type ModelInitialLearning } from \"./model-learning-intent.js\";\nimport { assertBoundedTaskJson } from \"@openpond/evals/task-schema\";\n\nimport {\n MODEL_PROJECT_API_RESPONSE_MAX_BYTES,\n MODEL_PROJECT_SYNC_MAX_BYTES,\n OPENPOND_MODEL_PROJECT_MEDIA_TYPE,\n OpenPondProtocolError,\n assertCanonicalPayloadSize,\n canonicalSha256,\n readBoundedJsonResponse,\n} from \"./protocol.js\";\n\nexport {\n MODEL_PROJECT_API_RESPONSE_MAX_BYTES,\n MODEL_PROJECT_SYNC_MAX_BYTES,\n OPENPOND_MODEL_PROJECT_MEDIA_TYPE,\n} from \"./protocol.js\";\n\nconst IdSchema = z.string().trim().min(1).max(500);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nconst TimestampSchema = z.string().datetime({ offset: true });\n\nexport const ModelProjectImmutableRefSchema = z\n .object({\n id: IdSchema,\n contentHash: HashSchema,\n })\n .strict();\n\nexport const ModelProjectVersionedRefSchema =\n ModelProjectImmutableRefSchema.extend({\n revision: z.number().int().positive(),\n }).strict();\n\nexport const ModelProjectBaseModelSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.baseModelPreference.v1\"),\n modelId: IdSchema,\n revision: z.string().trim().min(1).max(256).nullable(),\n tokenizerRevision: z.string().trim().min(1).max(256).nullable(),\n chatTemplateHash: z.string().trim().min(8).max(256).nullable(),\n modelAssetId: IdSchema.nullable(),\n source: z.enum([\"managed\", \"local\", \"builtin\"]),\n })\n .strict();\n\nexport const ModelProjectTrainingMethodSchema = z.enum([\n \"sft\",\n \"dpo\",\n \"grpo\",\n \"ppo\",\n \"sdft\",\n \"opd\",\n \"opsd\",\n \"sdpo\",\n]);\n\n/**\n * A versioned recipe document stored while a Project is still mutable.\n * The training endpoint validates the selected recipe version in full before\n * accepting an immutable Job; Project sync preserves newer recipe fields.\n */\nexport const ModelProjectRecipeDocumentSchema = z\n .object({\n schemaVersion: z.string().regex(/^openpond\\.[A-Za-z0-9]+Recipe\\.v\\d+$/),\n method: ModelProjectTrainingMethodSchema,\n parameterization: z.enum([\"lora\", \"full\"]),\n })\n .catchall(z.unknown());\n\n/** The published Profile source selected for this Model's Harness. */\nexport const ModelProfileSourceSelectionSchema = z.object({\n profileProjectId: IdSchema,\n sourceRevision: z.string().regex(/^[a-f0-9]{40,64}$/),\n harnessRelease: ModelProjectImmutableRefSchema,\n}).strict();\n\n/** A held-out check selected from an exact released Profile catalog. Its\n * Taskset and grader stay in the evaluation runtime, outside training input. */\nexport const ModelProfileEvaluationSelectionSchema = z.object({\n profileProjectId: IdSchema,\n sourceRevision: z.string().regex(/^[a-f0-9]{40,64}$/),\n catalogHash: HashSchema,\n definitionId: IdSchema,\n harnessRelease: ModelProjectImmutableRefSchema,\n tasksetRelease: ModelProjectImmutableRefSchema,\n}).strict();\n\nexport const ModelProjectTrainingSetupSchema = z\n .object({\n tasksetRef: ModelProjectVersionedRefSchema.nullable().default(null),\n evaluationTasksetRef: ModelProjectVersionedRefSchema.nullable().optional(),\n profileSource: ModelProfileSourceSelectionSchema.nullable().optional(),\n profileEvaluation: ModelProfileEvaluationSelectionSchema.nullable().optional(),\n rewardBindingRef: ModelProjectVersionedRefSchema.nullable().optional(),\n tasksetRelease: ModelProjectImmutableRefSchema.nullable().default(null),\n harnessRelease: ModelProjectImmutableRefSchema.nullable().default(null),\n baseModel: ModelProjectBaseModelSchema.nullable().default(null),\n method: ModelProjectTrainingMethodSchema.nullable().default(null),\n destinationId: IdSchema.nullable().default(null),\n managedRolloutPlacement: z\n .enum([\"local\", \"remote\"])\n .default(\"remote\"),\n managedGpuPlacementObjective: z\n .enum([\"fast\", \"balanced\", \"economical\"])\n .default(\"balanced\"),\n managedGpuSelection: TrainingGpuSelectionSchema.optional(),\n continuationAdapterMode: z.enum([\"residual_append\", \"shared\", \"sequential_merge\"]).optional(),\n managedGpuRequirement: z\n .enum([\"any\", \"h100_hbm3\"])\n .default(\"any\"),\n runPreset: z\n .enum([\"small\", \"standard\", \"custom\", \"small_experiment\"])\n .nullable()\n .default(null),\n recipe: ModelProjectRecipeDocumentSchema.nullable().default(null),\n preferredMaximumSpendUsd: z.number().nonnegative().nullable().default(null),\n preferredRetentionDays: z\n .number()\n .int()\n .nonnegative()\n .nullable()\n .default(null),\n })\n .strict();\n\nexport const HostedModelProjectTrainingSetupSchema =\n ModelProjectTrainingSetupSchema;\n\nexport const HostedModelProjectLinkSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.hostedModelProjectLink.v1\"),\n apiOrigin: z.string().url().refine(value => new URL(value).origin === value, \"Use a canonical API origin.\").nullable().default(null),\n teamId: IdSchema,\n projectId: IdSchema,\n portableProjectId: IdSchema,\n revision: z.number().int().positive(),\n etag: HashSchema,\n syncedSourceRevision: z.number().int().positive(),\n syncedAt: TimestampSchema,\n tasksets: z\n .array(\n z\n .object({\n localTasksetId: IdSchema,\n localTasksetHash: HashSchema.nullable().default(null),\n releaseId: IdSchema,\n releaseRevision: z.number().int().positive(),\n releaseHash: HashSchema,\n packageHash: HashSchema.nullable().default(null),\n hostedTasksetId: IdSchema,\n syncedAt: TimestampSchema,\n })\n .strict(),\n )\n .max(10_000)\n .default([]),\n })\n .strict();\n\nexport const ModelProjectTasksetSyncSchema = z\n .object({\n localTasksetId: IdSchema,\n releaseId: IdSchema,\n releaseRevision: z.number().int().positive(),\n releaseHash: HashSchema,\n state: z.enum([\"syncing\", \"synced\", \"sync_failed\"]),\n hostedTasksetId: IdSchema.nullable().default(null),\n lastAttemptAt: TimestampSchema,\n syncedAt: TimestampSchema.nullable().default(null),\n lastError: z.string().trim().min(1).max(5_000).nullable().default(null),\n })\n .strict();\n\nexport const ModelProjectSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.modelProject.v2\"),\n id: IdSchema,\n profileId: IdSchema,\n revision: z.number().int().positive().default(1),\n name: z.string().trim().min(1).max(200),\n objective: z.string().trim().max(5_000).nullable(),\n defaultBaseModel: ModelProjectBaseModelSchema.nullable(),\n defaultDestinationId: IdSchema.nullable(),\n trainingSetup: ModelProjectTrainingSetupSchema,\n hosted: HostedModelProjectLinkSchema.nullable().default(null),\n tasksetSyncs: z\n .array(ModelProjectTasksetSyncSchema)\n .max(10_000)\n .default([]),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n })\n .strict();\n\n/** User-editable configuration. Execution and hosting receipts are server-owned. */\nexport const ModelProjectEditableSchema = ModelProjectSchema.pick({\n id: true,\n profileId: true,\n name: true,\n objective: true,\n defaultBaseModel: true,\n defaultDestinationId: true,\n trainingSetup: true,\n});\n\n/** Zero creates a new Model; a positive revision updates that exact revision. */\nexport const ModelProjectSaveRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelProjectSave.v1\"),\n operationId: IdSchema,\n expectedRevision: z.number().int().nonnegative(),\n project: ModelProjectEditableSchema,\n learning: ModelInitialLearningSchema.optional(),\n}).strict().superRefine((value, context) => {\n if (value.learning && value.expectedRevision !== 0) context.addIssue({ code: \"custom\", path: [\"learning\"], message: \"Use learning settings to edit an existing Model's policy.\" });\n});\n\nexport type ModelProjectSaveRequest = z.infer<typeof ModelProjectSaveRequestSchema>;\n\n/** A read-only configuration check; it does not establish training or grader quality. */\nexport const ModelProjectConfigurationCheckSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelProjectConfigurationCheck.v1\"),\n configurationHash: HashSchema,\n projectId: IdSchema,\n expectedRevision: z.number().int().nonnegative(),\n checkedAt: TimestampSchema,\n canSave: z.boolean(),\n deferred: z.array(z.enum([\"base_model\", \"taskset\"])).max(2),\n findings: z.array(z.object({\n code: IdSchema,\n severity: z.enum([\"error\", \"warning\"]),\n message: z.string().min(1).max(5000),\n field: z.string().min(1).max(500).nullable(),\n }).strict()).max(100),\n}).strict();\n\nexport type ModelProjectConfigurationCheck = z.infer<typeof ModelProjectConfigurationCheckSchema>;\n\nexport const ModelProjectBaseModelCandidateSchema = z.object({\n id: IdSchema, name: z.string().min(1).max(500), available: z.boolean(), preference: ModelProjectBaseModelSchema,\n}).strict();\n\nexport async function modelProjectConfigurationHash(request: ModelProjectSaveRequest): Promise<string> {\n const parsed = parseModelProjectSaveRequest(request);\n return canonicalSha256({ project: parsed.project, expectedRevision: parsed.expectedRevision, ...(parsed.learning ? { learning: parsed.learning } : {}) });\n}\n\nexport function parseModelProjectSaveRequest(value: unknown): ModelProjectSaveRequest {\n try {\n assertBoundedTaskJson(value, MODEL_PROJECT_SYNC_MAX_BYTES);\n } catch {\n throw new OpenPondModelProjectApiError(400, {\n schemaVersion: \"openpond.modelProjectApiError.v2\", code: \"model_configuration_json_invalid\",\n message: \"Model configuration must be bounded JSON data.\", retryable: false, requestId: null, details: {},\n });\n }\n return ModelProjectSaveRequestSchema.parse(value);\n}\n\n/** Stable across transport retries; excludes server-owned revision/timestamps. */\nexport async function createModelProjectSaveRequest(\n project: z.input<typeof ModelProjectEditableSchema>,\n expectedRevision: number,\n learning?: ModelInitialLearning,\n): Promise<ModelProjectSaveRequest> {\n assertBoundedTaskJson(project, MODEL_PROJECT_SYNC_MAX_BYTES);\n const editable = ModelProjectEditableSchema.parse(project);\n assertCanonicalPayloadSize(editable, MODEL_PROJECT_SYNC_MAX_BYTES, \"Model configuration\");\n const initialLearning = learning ? ModelInitialLearningSchema.parse(learning) : undefined;\n const hash = await canonicalSha256({ project: editable, expectedRevision, ...(initialLearning ? { learning: initialLearning } : {}) });\n return parseModelProjectSaveRequest({\n schemaVersion: \"openpond.modelProjectSave.v1\",\n operationId: `model-save:${hash}`,\n expectedRevision,\n project: editable,\n ...(initialLearning ? { learning: initialLearning } : {}),\n });\n}\n\nexport const HostedModelProjectSyncSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.hostedModelProjectSync.v2\"),\n portableProjectId: IdSchema,\n name: z.string().trim().min(1).max(200),\n objective: z.string().trim().max(5_000).nullable(),\n defaultBaseModel: ModelProjectBaseModelSchema.nullable(),\n defaultDestinationId: IdSchema.nullable(),\n trainingSetup: HostedModelProjectTrainingSetupSchema,\n sourceRevision: z.number().int().positive(),\n sourceUpdatedAt: TimestampSchema,\n expectedEtag: HashSchema.nullable().default(null),\n })\n .strict();\n\nexport const HostedModelProjectSummarySchema = z\n .object({\n id: IdSchema,\n teamId: IdSchema,\n portableProjectId: IdSchema,\n name: z.string().trim().min(1).max(200),\n objective: z.string().trim().max(5_000).nullable(),\n defaultBaseModel: ModelProjectBaseModelSchema.nullable(),\n defaultDestinationId: IdSchema.nullable(),\n trainingSetup: HostedModelProjectTrainingSetupSchema,\n sourceRevision: z.number().int().positive(),\n sourceUpdatedAt: TimestampSchema,\n revision: z.number().int().positive(),\n etag: HashSchema,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n })\n .strict();\n\nexport const ModelProjectResourceSummarySchema = z\n .object({\n kind: z.enum([\n \"taskset_release\",\n \"harness_release\",\n \"dataset_release\",\n \"evidence_set\",\n \"model_version\",\n \"reward_model_version\",\n \"evaluation_receipt\",\n ]),\n ref: ModelProjectImmutableRefSchema,\n role: z.string().trim().min(1).max(200).nullable().default(null),\n updatedAt: TimestampSchema,\n })\n .strict();\n\nexport const HostedModelProjectDetailSchema = z\n .object({\n project: HostedModelProjectSummarySchema,\n resources: z.array(ModelProjectResourceSummarySchema).max(10_000),\n jobCount: z.number().int().nonnegative(),\n latestJobIds: z.array(IdSchema).max(100),\n })\n .strict();\n\nexport const ModelProjectApiErrorSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.modelProjectApiError.v2\"),\n code: z.string().trim().min(1).max(200),\n message: z.string().trim().min(1).max(5_000),\n retryable: z.boolean().default(false),\n requestId: z.string().trim().min(1).max(500).nullable().default(null),\n details: z.record(z.string(), z.unknown()).default({}),\n })\n .strict();\n\nexport class OpenPondModelProjectApiError extends Error {\n readonly status: number;\n readonly code: string;\n readonly retryable: boolean;\n readonly requestId: string | null;\n readonly details: Record<string, unknown>;\n\n constructor(status: number, error: z.infer<typeof ModelProjectApiErrorSchema>) {\n super(error.message);\n this.name = \"OpenPondModelProjectApiError\";\n this.status = status;\n this.code = error.code;\n this.retryable = error.retryable;\n this.requestId = error.requestId;\n this.details = error.details;\n }\n}\n\nexport type ModelProject = z.infer<typeof ModelProjectSchema>;\nexport type ModelProjectTrainingSetup = z.infer<\n typeof ModelProjectTrainingSetupSchema\n>;\nexport type HostedModelProjectSync = z.infer<\n typeof HostedModelProjectSyncSchema\n>;\nexport type HostedModelProjectSummary = z.infer<\n typeof HostedModelProjectSummarySchema\n>;\nexport type HostedModelProjectDetail = z.infer<\n typeof HostedModelProjectDetailSchema\n>;\n\ntype ModelProjectsFetch = typeof fetch;\n\nfunction headersRecord(headers: HeadersInit | undefined): Record<string, string> {\n const result: Record<string, string> = {};\n new Headers(headers).forEach((value, key) => {\n result[key] = value;\n });\n return result;\n}\n\nexport function createModelProjectsClient(input: {\n baseUrl?: string;\n fetch?: ModelProjectsFetch;\n headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n}) {\n const fetchImpl = input.fetch ?? fetch;\n const baseUrl = (input.baseUrl ?? DEFAULT_API_BASE_URL).replace(/\\/$/, \"\");\n\n async function request(pathname: string, init?: RequestInit): Promise<unknown> {\n const configuredHeaders =\n typeof input.headers === \"function\"\n ? await input.headers()\n : (input.headers ?? {});\n const response = await fetchImpl(`${baseUrl}${pathname}`, {\n ...init,\n headers: {\n accept: OPENPOND_MODEL_PROJECT_MEDIA_TYPE,\n ...(init?.body\n ? { \"content-type\": OPENPOND_MODEL_PROJECT_MEDIA_TYPE }\n : {}),\n ...headersRecord(configuredHeaders),\n ...headersRecord(init?.headers),\n },\n });\n const body = await readBoundedJsonResponse(\n response,\n MODEL_PROJECT_API_RESPONSE_MAX_BYTES,\n \"Model Project API response\",\n );\n if (!response.ok) {\n const parsed = ModelProjectApiErrorSchema.safeParse(body);\n if (parsed.success) {\n throw new OpenPondModelProjectApiError(response.status, parsed.data);\n }\n throw new OpenPondProtocolError(\n \"invalid_error_response\",\n `Model Project request failed with HTTP ${response.status} and an invalid error envelope.`,\n );\n }\n return body;\n }\n\n return {\n async configurationCandidates() {\n return z.object({ candidates: z.array(ModelProjectBaseModelCandidateSchema).max(1000) }).strict().parse(\n await request(\"/v1/model-projects/configuration/candidates\", { headers: { accept: \"application/json\" } }),\n ).candidates;\n },\n async checkConfiguration(value: ModelProjectSaveRequest) {\n const parsed = parseModelProjectSaveRequest(value);\n return ModelProjectConfigurationCheckSchema.parse(await request(\"/v1/model-projects/configuration/check\", {\n method: \"POST\", headers: { accept: \"application/json\", \"content-type\": \"application/json\" }, body: JSON.stringify(parsed),\n }));\n },\n async saveConfiguration(value: ModelProjectSaveRequest) {\n const parsed = parseModelProjectSaveRequest(value);\n return HostedModelProjectSummarySchema.parse(await request(\"/v1/model-projects/configuration/save\", {\n method: \"POST\", headers: { accept: \"application/json\", \"content-type\": \"application/json\" }, body: JSON.stringify(parsed),\n }));\n },\n async upsert(project: HostedModelProjectSync) {\n assertCanonicalPayloadSize(\n project,\n MODEL_PROJECT_SYNC_MAX_BYTES,\n \"Model Project sync\",\n );\n const parsed = HostedModelProjectSyncSchema.parse(project);\n const body = await request(\n `/v1/model-projects/${encodeURIComponent(parsed.portableProjectId)}`,\n { method: \"PUT\", body: JSON.stringify(parsed) },\n );\n return HostedModelProjectSummarySchema.parse(\n unwrapObject(body, \"project\"),\n );\n },\n async list() {\n const body = await request(\"/v1/model-projects\");\n return z\n .array(HostedModelProjectSummarySchema)\n .parse(unwrapObject(body, \"projects\"));\n },\n async get(projectId: string) {\n const body = await request(\n `/v1/model-projects/${encodeURIComponent(IdSchema.parse(projectId))}`,\n );\n return HostedModelProjectDetailSchema.parse(body);\n },\n };\n}\n\nfunction unwrapObject(value: unknown, key: string): unknown {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return value;\n return key in value ? (value as Record<string, unknown>)[key] : value;\n}\n","import { z } from \"zod\";\nimport { canonicalJson, canonicalSha256, OpenPondProtocolError } from \"./protocol.js\";\n\nconst Id = z.string().trim().min(1).max(191);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nconst OpaqueProvider = z.string().min(1).max(191).regex(/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/);\n\nexport const TrainingGpuSelectionSchema = z.discriminatedUnion(\"mode\", [\n z.object({ mode: z.literal(\"automatic\"), objective: z.enum([\"balanced\", \"fast\", \"economical\"]), gpuCount: z.union([z.literal(1), z.literal(2)]).optional() }).strict(),\n z.object({ mode: z.literal(\"manual\"), availabilityId: Id, gpuType: z.string().trim().min(1).max(256), gpuCount: z.union([z.literal(1), z.literal(2)]).optional() }).strict(),\n]);\n\n/** This token binds a reviewed workload and price, without reserving resources\n * or approving the estimate's recommended budget. */\nexport const TrainingEstimateReviewSchema = z.object({\n estimateId: Id,\n inputHash: Hash,\n requestHash: Hash,\n pricingVersion: Id,\n expiresAt: z.string().datetime({ offset: true }),\n token: z.string().min(1).max(8192),\n}).strict();\n\nexport type TrainingGpuSelection = z.infer<typeof TrainingGpuSelectionSchema>;\nexport type TrainingEstimateReview = z.infer<typeof TrainingEstimateReviewSchema>;\n\n/** A live catalog query is an eligibility read, never a training approval. */\nexport const TrainingGpuCatalogQuerySchema = z.object({\n teamId: Id,\n modelId: z.string().trim().min(1).max(256),\n modelRevision: z.string().trim().min(1).max(256),\n tokenizerRevision: z.string().trim().min(1).max(256),\n chatTemplateHash: Hash,\n method: z.enum([\"sft\", \"grpo\"]),\n loraRank: z.number().int().min(1).max(256),\n gpuCount: z.union([z.literal(1), z.literal(2)]),\n}).strict();\nexport type TrainingGpuCatalogQuery = z.infer<typeof TrainingGpuCatalogQuerySchema>;\n\nexport const TrainingGpuCatalogScopeSchema = z.object({\n query: TrainingGpuCatalogQuerySchema,\n requestHash: Hash,\n qualification: z.enum([\"requires_preparation\", \"unsupported\"]),\n reason: z.enum([\"model_not_supported\", \"lora_rank_not_supported\", \"gpu_count_not_qualified\", \"provider_not_supported\"]).nullable(),\n provider: z.object({\n accountScopeId: Id,\n product: z.literal(\"POD\"), cloud: z.literal(\"SECURE\"),\n countryCodes: z.array(z.string().regex(/^[A-Z]{2}$/)).min(1).max(300),\n cudaVersions: z.array(z.string().regex(/^\\d+\\.\\d+$/)).min(1).max(100),\n dataCenterId: Id.nullable(),\n minimumDiskGb: z.number().int().positive(),\n priceBasis: z.literal(\"provider_catalog_per_gpu_rate_times_count\"),\n }).strict().nullable(),\n}).strict();\nexport type TrainingGpuCatalogScope = z.infer<typeof TrainingGpuCatalogScopeSchema>;\n\nexport const TrainingGpuCatalogSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingGpuCatalog.v1\"),\n observedAt: z.string().datetime({ offset: true }),\n expiresAt: z.string().datetime({ offset: true }),\n workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/),\n supportedLoraRanks: z.array(z.number().int().positive()),\n pricingBasis: z.enum([\"accepted_compute_and_disk_hourly_before_credits\", \"provider_catalog_compute_and_disk_before_credits\"]),\n scope: TrainingGpuCatalogScopeSchema.optional(),\n offerings: z.array(z.object({\n availabilityId: Id, gpuType: z.string().min(1).max(256), provider: OpaqueProvider,\n region: z.string().min(1), dataCenterId: z.string().nullable(),\n gpuCount: z.number().int().positive(), gpuMemoryGb: z.number().positive(),\n stockStatus: z.enum([\"High\", \"Medium\", \"Low\"]),\n computeHourlyUsd: z.number().nonnegative(), diskHourlyUsd: z.number().nonnegative(), totalHourlyUsd: z.number().nonnegative(),\n }).strict()).max(1000),\n}).strict();\nexport type TrainingGpuCatalog = z.infer<typeof TrainingGpuCatalogSchema>;\n\nexport async function parseAndVerifyTrainingGpuCatalog(raw: unknown, query?: TrainingGpuCatalogQuery) {\n const catalog = TrainingGpuCatalogSchema.parse(raw);\n if (Date.parse(catalog.expiresAt) <= Date.parse(catalog.observedAt) ||\n Date.parse(catalog.expiresAt) <= Date.now())\n throw new OpenPondProtocolError(\"training_gpu_catalog_expired\", \"Refresh GPU availability before reviewing this run.\");\n if (!query) {\n if (catalog.scope) throw new OpenPondProtocolError(\"training_gpu_catalog_scope_mismatch\", \"An overview read returned an unrequested workload.\");\n return catalog;\n }\n const scope = catalog.scope;\n if (!scope || catalog.pricingBasis !== \"provider_catalog_compute_and_disk_before_credits\" ||\n canonicalJson(scope.query) !== canonicalJson(query) ||\n scope.requestHash !== await canonicalSha256(query) ||\n (scope.qualification === \"unsupported\") !== (scope.reason !== null) ||\n (scope.qualification === \"unsupported\" ? scope.provider !== null || catalog.offerings.length > 0 : !scope.provider) ||\n new Set(catalog.offerings.map(item => item.provider)).size > 1 ||\n catalog.offerings.some(item => item.gpuCount !== query.gpuCount ||\n item.dataCenterId !== scope.provider?.dataCenterId) ||\n new Set(catalog.offerings.map(item => item.availabilityId)).size !== catalog.offerings.length)\n throw new OpenPondProtocolError(\"training_gpu_catalog_scope_mismatch\", \"The GPU offers do not match this workspace and workload.\");\n return catalog;\n}\n\nexport function createTrainingGpuCatalogClient(request: (path: string, init?: RequestInit) => Promise<unknown>) {\n return {\n async gpuCatalog(raw?: TrainingGpuCatalogQuery) {\n const query = raw === undefined ? undefined : TrainingGpuCatalogQuerySchema.parse(raw);\n const params = query ? new URLSearchParams(Object.entries(query).map(([key, value]) => [key, String(value)])) : null;\n const response = await request(`/v1/training/gpu-catalog${params ? `?${params}` : \"\"}`);\n const value = response && typeof response === \"object\" && \"catalog\" in response ? response.catalog : response;\n return parseAndVerifyTrainingGpuCatalog(value, query);\n },\n };\n}\n"],"mappings":"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","names":["z","value","z"]}
|
|
@@ -3,18 +3,21 @@ import {
|
|
|
3
3
|
TasksetPackageSchema,
|
|
4
4
|
tasksetPackageRewardBinding,
|
|
5
5
|
validateTasksetPackage
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-AQV7RQZH.js";
|
|
7
7
|
import {
|
|
8
8
|
TasksetCatalogReleaseRefSchema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VE5JD5FN.js";
|
|
10
10
|
import {
|
|
11
11
|
HostedModelProjectSummarySchema,
|
|
12
12
|
HostedModelProjectSyncSchema,
|
|
13
13
|
HostedModelProjectTrainingSetupSchema
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-H5KHLBC5.js";
|
|
15
15
|
import {
|
|
16
16
|
contentHash
|
|
17
17
|
} from "./chunk-H3JZ3P5T.js";
|
|
18
|
+
import {
|
|
19
|
+
DEFAULT_API_BASE_URL
|
|
20
|
+
} from "./chunk-QYWPNNP3.js";
|
|
18
21
|
|
|
19
22
|
// src/taskset-package-client.ts
|
|
20
23
|
import { z } from "zod";
|
|
@@ -85,7 +88,7 @@ var OpenPondTasksetPackageError = class extends Error {
|
|
|
85
88
|
var OpenPondTasksetPackageClient = class {
|
|
86
89
|
#options;
|
|
87
90
|
constructor(options) {
|
|
88
|
-
const url = new URL(options.baseUrl);
|
|
91
|
+
const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
|
|
89
92
|
if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error("Taskset package client requires a clean HTTP(S) endpoint and workspace credentials.");
|
|
90
93
|
this.#options = { ...options, baseUrl: url.toString().replace(/\/+$/, "") };
|
|
91
94
|
}
|
|
@@ -188,4 +191,4 @@ export {
|
|
|
188
191
|
OpenPondTasksetPackageError,
|
|
189
192
|
OpenPondTasksetPackageClient
|
|
190
193
|
};
|
|
191
|
-
//# sourceMappingURL=chunk-
|
|
194
|
+
//# sourceMappingURL=chunk-HCUZYGUK.js.map
|