openpond-sdk 0.12.2 → 0.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/advanced-refiner-evaluations.js +5 -5
- package/dist/candidate-evaluations.js +4 -4
- package/dist/{chunk-VSRTJDVB.js → chunk-36WJTS5V.js} +3 -3
- package/dist/{chunk-O5ARJVT5.js → chunk-77N3QEIL.js} +2 -2
- package/dist/{chunk-WNH4DOEC.js → chunk-BFR3VC25.js} +16 -285
- package/dist/chunk-BFR3VC25.js.map +7 -0
- package/dist/{chunk-DBRRQASP.js → chunk-BSK3VLM3.js} +2 -2
- package/dist/{chunk-B7VYE7YQ.js → chunk-CTVKI3BV.js} +2 -2
- package/dist/{chunk-7AZDNZP6.js → chunk-CWXM57QR.js} +350 -87
- package/dist/chunk-CWXM57QR.js.map +7 -0
- package/dist/chunk-FY7NHCEH.js +255 -0
- package/dist/chunk-FY7NHCEH.js.map +7 -0
- package/dist/{chunk-YSKUXQ2N.js → chunk-G53MA5XX.js} +3 -3
- package/dist/{chunk-AV5JV26B.js → chunk-G6Y6CQYV.js} +2 -2
- package/dist/{chunk-ENLQCKY6.js → chunk-K5WRVSOL.js} +5 -5
- package/dist/{chunk-OEPYLZXK.js → chunk-MLPPSCDQ.js} +2 -2
- package/dist/{chunk-7GYXC2AI.js → chunk-QEIT5VXJ.js} +2 -2
- package/dist/{chunk-L5PQPAU6.js → chunk-QTJQIHDZ.js} +5 -2
- package/dist/{chunk-L5PQPAU6.js.map → chunk-QTJQIHDZ.js.map} +2 -2
- package/dist/{chunk-YVFERCUC.js → chunk-TMUAKJWX.js} +71 -2
- package/dist/chunk-TMUAKJWX.js.map +7 -0
- package/dist/{chunk-D4WTE6ZA.js → chunk-TSMGMA6R.js} +2 -2
- package/dist/{chunk-VOL3WES2.js → chunk-UPS52OPZ.js} +10 -165
- package/dist/chunk-UPS52OPZ.js.map +7 -0
- package/dist/{chunk-MLFKQ7E7.js → chunk-VY5AFE7A.js} +2 -2
- package/dist/{chunk-WVISXXIL.js → chunk-XYQD4LDI.js} +2 -2
- package/dist/{chunk-DG5CRENU.js → chunk-YUKV7RCD.js} +2 -2
- package/dist/{chunk-7WUJBFCH.js → chunk-ZJ3H3VS7.js} +18 -1
- package/dist/chunk-ZJ3H3VS7.js.map +7 -0
- package/dist/connected-evidence.js +10 -10
- package/dist/dataset-workspaces.js +13 -12
- package/dist/dataset-workspaces.js.map +1 -1
- package/dist/experiment-evaluation-schedules.js +13 -13
- package/dist/experiment-improvements.js +5 -5
- package/dist/experiments.js +17 -13
- package/dist/index.js +19 -19
- package/dist/model-starter-catalog.js +5 -5
- package/dist/model-starters.js +5 -5
- package/dist/model-taskset-runs.js +1 -1
- package/dist/post-training.js +4 -4
- package/dist/taskset-drafts.js +16 -16
- package/dist/taskset-packages.js +14 -14
- package/dist/training-bundle.js +161 -25
- package/dist/training-bundle.js.map +4 -4
- package/dist/training.js +11 -5
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +9 -0
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +6 -0
- package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts +33 -0
- package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts +12 -0
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +21 -0
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +3 -0
- package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts +15 -0
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +17 -0
- package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +3 -1
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +12 -0
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +12 -0
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/post-training.d.ts +15 -0
- package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts +4 -0
- package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-bundle.d.ts +4 -0
- package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +364 -0
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training.d.ts +161 -0
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-7AZDNZP6.js.map +0 -7
- package/dist/chunk-7WUJBFCH.js.map +0 -7
- package/dist/chunk-PGBFI5HC.js +0 -98
- package/dist/chunk-PGBFI5HC.js.map +0 -7
- package/dist/chunk-VOL3WES2.js.map +0 -7
- package/dist/chunk-WNH4DOEC.js.map +0 -7
- package/dist/chunk-YVFERCUC.js.map +0 -7
- /package/dist/{chunk-VSRTJDVB.js.map → chunk-36WJTS5V.js.map} +0 -0
- /package/dist/{chunk-O5ARJVT5.js.map → chunk-77N3QEIL.js.map} +0 -0
- /package/dist/{chunk-DBRRQASP.js.map → chunk-BSK3VLM3.js.map} +0 -0
- /package/dist/{chunk-B7VYE7YQ.js.map → chunk-CTVKI3BV.js.map} +0 -0
- /package/dist/{chunk-YSKUXQ2N.js.map → chunk-G53MA5XX.js.map} +0 -0
- /package/dist/{chunk-AV5JV26B.js.map → chunk-G6Y6CQYV.js.map} +0 -0
- /package/dist/{chunk-ENLQCKY6.js.map → chunk-K5WRVSOL.js.map} +0 -0
- /package/dist/{chunk-OEPYLZXK.js.map → chunk-MLPPSCDQ.js.map} +0 -0
- /package/dist/{chunk-7GYXC2AI.js.map → chunk-QEIT5VXJ.js.map} +0 -0
- /package/dist/{chunk-D4WTE6ZA.js.map → chunk-TSMGMA6R.js.map} +0 -0
- /package/dist/{chunk-MLFKQ7E7.js.map → chunk-VY5AFE7A.js.map} +0 -0
- /package/dist/{chunk-WVISXXIL.js.map → chunk-XYQD4LDI.js.map} +0 -0
- /package/dist/{chunk-DG5CRENU.js.map → chunk-YUKV7RCD.js.map} +0 -0
|
@@ -3,29 +3,19 @@ import {
|
|
|
3
3
|
ModelBatchReviewReceiptSchema,
|
|
4
4
|
ModelBatchReviewRequestSchema
|
|
5
5
|
} from "./chunk-YVUIHH6Z.js";
|
|
6
|
-
import {
|
|
7
|
-
importedPackageGraders,
|
|
8
|
-
projectLearningBatchGraders
|
|
9
|
-
} from "./chunk-PGBFI5HC.js";
|
|
10
6
|
import {
|
|
11
7
|
AuthoredTasksetFileInventorySchema
|
|
12
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-36WJTS5V.js";
|
|
13
9
|
import {
|
|
14
|
-
TasksetDraftSchema,
|
|
15
10
|
configuredTasksetDraftFiles,
|
|
16
|
-
createTasksetDraft,
|
|
17
11
|
createTasksetDraftWorkspace,
|
|
18
12
|
decodeTasksetDraftWorkspaceFile,
|
|
19
13
|
isManagedTasksetDraftFilePath
|
|
20
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-BFR3VC25.js";
|
|
21
15
|
import {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} from "./chunk-7AZDNZP6.js";
|
|
16
|
+
TasksetDraftSchema
|
|
17
|
+
} from "./chunk-CWXM57QR.js";
|
|
25
18
|
import {
|
|
26
|
-
GraderFixtureSchema,
|
|
27
|
-
TasksetEnvironmentResourceSchema,
|
|
28
|
-
TasksetSourceRefSchema,
|
|
29
19
|
compileModelTasksetReward,
|
|
30
20
|
createTasksetPackage,
|
|
31
21
|
decodeTasksetPackageFile,
|
|
@@ -344,161 +334,18 @@ async function readReceipt(transaction, request, pointers) {
|
|
|
344
334
|
});
|
|
345
335
|
}
|
|
346
336
|
|
|
347
|
-
// src/taskset-package-projection.ts
|
|
348
|
-
import { z } from "zod";
|
|
349
|
-
import { learningRef as learningRef4, taskBatchPackageMetadata as taskBatchPackageMetadata3, verifyLearningTextAsset as verifyLearningTextAsset2 } from "@openpond/evals/learning";
|
|
350
|
-
function prepareImportedTasksetPackage(input) {
|
|
351
|
-
const value = validateTasksetPackage(input.package);
|
|
352
|
-
const release = value.taskset;
|
|
353
|
-
const resources = value.modelResources;
|
|
354
|
-
const learning = value.learningResources ? taskBatchPackageMetadata3(release) : void 0;
|
|
355
|
-
const source = TasksetSourceRefSchema.parse({
|
|
356
|
-
schemaVersion: "openpond.uploadedFileDatasetSource.v1",
|
|
357
|
-
kind: "uploaded_file",
|
|
358
|
-
id: `package-source-${contentHash({ profileId: input.profileId, packageHash: value.contentHash })}`,
|
|
359
|
-
profileId: input.profileId,
|
|
360
|
-
title: input.name,
|
|
361
|
-
sourceHash: value.contentHash,
|
|
362
|
-
occurredAt: input.createdAt,
|
|
363
|
-
licensingStatus: "pending",
|
|
364
|
-
secretScanStatus: "pending",
|
|
365
|
-
piiScanStatus: "pending",
|
|
366
|
-
originalFileNames: ["taskset-package.json"],
|
|
367
|
-
mediaTypes: ["application/json"],
|
|
368
|
-
sourceFileHashes: [value.contentHash],
|
|
369
|
-
totalBytes: new TextEncoder().encode(JSON.stringify(value)).byteLength,
|
|
370
|
-
parserVersion: "openpond.tasksetPackage.v1",
|
|
371
|
-
metadata: {}
|
|
372
|
-
});
|
|
373
|
-
const draft = createTasksetDraft({ profileId: input.profileId, id: `${release.id}-import`, name: input.name, now: input.createdAt });
|
|
374
|
-
const files = [];
|
|
375
|
-
for (const grader of release.graders) if (grader.kind === "custom_verifier") {
|
|
376
|
-
const asset = resources?.assets.find((asset2) => asset2.id === grader.verifierRef.id);
|
|
377
|
-
const file = value.files.find((file2) => file2.asset.id === grader.verifierRef.id);
|
|
378
|
-
if (!file) throw new Error(`Imported verifier source is missing: ${grader.id}.`);
|
|
379
|
-
const name = grader.verifierRef.path;
|
|
380
|
-
if (!files.some((file2) => file2.path === name)) files.push({ path: name, role: "verifier", content: asset ? verifyLearningTextAsset2(asset, grader.verifierRef) : new TextDecoder("utf-8", { fatal: true }).decode(decodeTasksetPackageFile(file)) });
|
|
381
|
-
}
|
|
382
|
-
const authoring = release.metadata.ordinaryAuthoring ?? release.metadata.starterAuthoring;
|
|
383
|
-
const fixtures = GraderFixtureSchema.array().max(1e5).parse(authoring?.graderFixtures ?? []);
|
|
384
|
-
const kind = release.environment.kind === "text" ? "chat" : release.environment.kind === "custom_program" ? "program" : release.environment.kind;
|
|
385
|
-
const stagingPaths = z.record(z.string(), z.record(z.string(), z.string())).parse(release.metadata.workAssetStagingPaths ?? {});
|
|
386
|
-
const projected = TasksetSchema.parse({
|
|
387
|
-
schemaVersion: "openpond.taskset.v1",
|
|
388
|
-
id: release.id,
|
|
389
|
-
revision: release.revision,
|
|
390
|
-
profileId: input.profileId,
|
|
391
|
-
profileRelease: null,
|
|
392
|
-
createImproveRunId: null,
|
|
393
|
-
name: input.name,
|
|
394
|
-
objective: resolveTasksetPackageInstructions(value),
|
|
395
|
-
status: "needs_review",
|
|
396
|
-
sourceRefs: [source],
|
|
397
|
-
datasetArtifact: null,
|
|
398
|
-
policy: release.policy,
|
|
399
|
-
environment: {
|
|
400
|
-
...draft.environment,
|
|
401
|
-
kind,
|
|
402
|
-
entrypoint: release.environment.entrypoint,
|
|
403
|
-
resources: TasksetEnvironmentResourceSchema.array().max(1e4).parse(release.metadata.environmentResources ?? []),
|
|
404
|
-
stateful: release.environment.stateful,
|
|
405
|
-
deterministicSeeds: release.environment.deterministicSeeds,
|
|
406
|
-
toolNames: release.tools.map((tool) => tool.name),
|
|
407
|
-
defaultTimeoutMs: release.environment.defaultTimeoutMs,
|
|
408
|
-
networkPolicy: release.environment.networkPolicy,
|
|
409
|
-
metadata: {
|
|
410
|
-
runtimeSourceTasksetId: tasksetPackageSourceId(input.profileId, value.contentHash),
|
|
411
|
-
portableEnvironment: release.environment,
|
|
412
|
-
portableTools: release.tools,
|
|
413
|
-
portableExecutionResources: { environment: value.environment, verifierSet: value.verifierSet }
|
|
414
|
-
}
|
|
415
|
-
},
|
|
416
|
-
capabilities: {
|
|
417
|
-
...draft.capabilities,
|
|
418
|
-
taskKind: kind === "chat" ? "chat" : kind === "program" ? "custom_program" : "single_agent",
|
|
419
|
-
compatibleMethods: ["none"],
|
|
420
|
-
requiresTools: release.tools.length > 0,
|
|
421
|
-
requiresState: release.environment.stateful,
|
|
422
|
-
rewardKinds: [...new Set(release.graders.map((grader) => grader.kind === "human" ? "human" : grader.kind === "model_judge" ? "model_judge" : "deterministic"))]
|
|
423
|
-
},
|
|
424
|
-
tasks: release.tasks.map((task) => ({
|
|
425
|
-
...task,
|
|
426
|
-
schemaVersion: "openpond.taskData.v1",
|
|
427
|
-
sourceRefs: [source.id],
|
|
428
|
-
assets: task.artifactRefs.map((asset) => ({
|
|
429
|
-
id: asset.id,
|
|
430
|
-
sourceRefId: source.id,
|
|
431
|
-
artifactRef: asset.path,
|
|
432
|
-
fileName: asset.path.split("/").at(-1),
|
|
433
|
-
...stagingPaths[task.id]?.[asset.id] ? { stagingPath: stagingPaths[task.id][asset.id] } : {},
|
|
434
|
-
mediaType: asset.mediaType,
|
|
435
|
-
sha256: asset.contentHash,
|
|
436
|
-
sizeBytes: asset.sizeBytes,
|
|
437
|
-
split: task.split,
|
|
438
|
-
metadata: { portableAsset: asset }
|
|
439
|
-
})),
|
|
440
|
-
...task.requiredOutputs ? { requiredOutputs: task.requiredOutputs.map((output) => ({
|
|
441
|
-
...output,
|
|
442
|
-
schemaRef: output.schemaRef?.id ?? null,
|
|
443
|
-
maxBytes: output.maxBytes ?? void 0
|
|
444
|
-
})) } : {},
|
|
445
|
-
metadata: { portableTaskRecord: task, exampleOrigin: "imported" }
|
|
446
|
-
})),
|
|
447
|
-
graders: resources ? projectLearningBatchGraders(resources.rewardBinding, resources.rewards, resources.assets) : learning ? projectLearningBatchGraders(learning.binding, learning.rewards, value.learningResources.assets) : importedPackageGraders(value),
|
|
448
|
-
graderFixtures: fixtures,
|
|
449
|
-
learningSignals: draft.learningSignals,
|
|
450
|
-
...release.metrics ? { metrics: release.metrics } : {},
|
|
451
|
-
authoringProvenance: {
|
|
452
|
-
schemaVersion: "openpond.taskAuthoringProvenance.v1",
|
|
453
|
-
model: null,
|
|
454
|
-
modelConfig: {},
|
|
455
|
-
skillHash: contentHash("openpond-package-import-v1"),
|
|
456
|
-
promptTemplateVersion: "package-import-v1",
|
|
457
|
-
buildIntent: "discovery",
|
|
458
|
-
buildSpecification: null,
|
|
459
|
-
evidenceHashes: [value.contentHash],
|
|
460
|
-
tasksetSdkVersion: "package-import-v1",
|
|
461
|
-
sourceCommit: null,
|
|
462
|
-
repairHistory: [],
|
|
463
|
-
createdAt: input.createdAt
|
|
464
|
-
},
|
|
465
|
-
readiness: null,
|
|
466
|
-
contentHash: "00000000",
|
|
467
|
-
createdAt: input.createdAt,
|
|
468
|
-
updatedAt: input.createdAt,
|
|
469
|
-
metadata: {
|
|
470
|
-
importedPackageHash: value.contentHash,
|
|
471
|
-
tasksetOutputContract: release.metadata.tasksetOutputContract ?? null,
|
|
472
|
-
...learning ? { learning } : {},
|
|
473
|
-
portableFileInventory: value.files.map((file) => ({ asset: file.asset, sourcePath: file.asset.path })),
|
|
474
|
-
...resources ? {
|
|
475
|
-
taskDefinition: learningRef4(resources.taskDefinition),
|
|
476
|
-
rewardBinding: learningRef4(resources.rewardBinding),
|
|
477
|
-
rewardExecution: { binding: resources.rewardBinding, rewards: resources.rewards }
|
|
478
|
-
} : {},
|
|
479
|
-
portableCapabilities: release.capabilities,
|
|
480
|
-
derivedPortableMetadata: release.metadata,
|
|
481
|
-
...release.metadata.modelTasksetDerivation ? { modelTasksetDerivation: release.metadata.modelTasksetDerivation } : {}
|
|
482
|
-
}
|
|
483
|
-
});
|
|
484
|
-
return { package: value, taskset: TasksetSchema.parse({ ...projected, contentHash: computeTasksetHash(projected) }), generatedFiles: files };
|
|
485
|
-
}
|
|
486
|
-
function tasksetPackageSourceId(profileId, packageHash) {
|
|
487
|
-
return `package-${contentHash({ profileId, packageHash })}`;
|
|
488
|
-
}
|
|
489
|
-
|
|
490
337
|
// src/taskset-draft-source.ts
|
|
491
|
-
import { z
|
|
492
|
-
import { learningRef as
|
|
493
|
-
var TasksetDraftSourceInitializationSchema =
|
|
338
|
+
import { z } from "zod";
|
|
339
|
+
import { learningRef as learningRef4, sameLearningRef as sameLearningRef3 } from "@openpond/evals/learning";
|
|
340
|
+
var TasksetDraftSourceInitializationSchema = z.object({
|
|
494
341
|
draft: TasksetDraftSchema,
|
|
495
|
-
filePaths:
|
|
342
|
+
filePaths: z.array(z.object({ assetId: z.string().min(1), paths: z.array(TasksetDraftFilePathSchema).min(1).max(1e4) }).strict()).max(1e4)
|
|
496
343
|
}).strict();
|
|
497
344
|
function prepareTasksetDraftSource(input) {
|
|
498
345
|
const source = validateTasksetPackage(input.source);
|
|
499
346
|
const original = TasksetDraftSchema.parse(input.sourceDraft);
|
|
500
347
|
const preparation = ModelTasksetDraftPreparationSchema.parse(input.preparation);
|
|
501
|
-
if (source.contentHash !== preparation.sourcePackageHash || !sameLearningRef3(
|
|
348
|
+
if (source.contentHash !== preparation.sourcePackageHash || !sameLearningRef3(learningRef4(source.taskset), preparation.sourceTasksetRef)) throw new Error("Taskset draft preparation differs from its source package.");
|
|
502
349
|
if (source.learningResources) throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");
|
|
503
350
|
if (Boolean(source.modelResources) !== (preparation.authoringGraph === "bound")) throw new Error("Taskset draft authoring graph differs from its source.");
|
|
504
351
|
const inventory = AuthoredTasksetFileInventorySchema.parse(original.metadata.portableFileInventory ?? []);
|
|
@@ -581,10 +428,8 @@ export {
|
|
|
581
428
|
findModelBatchReview,
|
|
582
429
|
beginModelBatchReview,
|
|
583
430
|
LearningDomainError3 as LearningDomainError,
|
|
584
|
-
prepareImportedTasksetPackage,
|
|
585
|
-
tasksetPackageSourceId,
|
|
586
431
|
TasksetDraftSourceInitializationSchema,
|
|
587
432
|
prepareTasksetDraftSource,
|
|
588
433
|
materializeTasksetDraftWorkspace
|
|
589
434
|
};
|
|
590
|
-
//# sourceMappingURL=chunk-
|
|
435
|
+
//# sourceMappingURL=chunk-UPS52OPZ.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/model-ordinary-taskset-reward.ts", "../src/model-batch-review.ts", "../src/model-batch-review-preparation.ts", "../src/taskset-draft-source.ts"],
|
|
4
|
+
"sourcesContent": ["import { LearningTextAssetSchema, TaskDefinitionSchema, learningRef, sealLearningContent, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport type { RewardBinding, RewardRelease } from \"@openpond/evals/rewards\";\nimport { compileModelTasksetReward } from \"./model-taskset-derivation.js\";\nimport { createTasksetPackage, resolveTasksetPackageInstructions, validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { decodeTasksetPackageFile } from \"./taskset-package-files.js\";\nimport { resolveTasksetPackageExecution } from \"./taskset-package-execution.js\";\n\n/** Bind a saved Reward without rewriting task envelopes, private context, tools\n * or arbitrary binary files. Compatibility is admission, not qualification. */\nexport function bindOrdinaryModelTasksetReward(input: {\n owner: { scopeId: string; modelId: string };\n source: TasksetPackage;\n rewardBinding: RewardBinding;\n rewards: RewardRelease[];\n assets: LearningTextAsset[];\n}): TasksetPackage {\n const source = validateTasksetPackage(input.source);\n if (source.modelResources || source.learningResources) throw new Error(\"Binding an ordinary Reward requires an ordinary source package.\");\n const instructions = resolveTasksetPackageInstructions(source);\n if (!instructions.trim()) throw new Error(\"Add collection instructions before selecting a saved Reward.\");\n const assets = new Map<string, LearningTextAsset>();\n const execution = resolveTasksetPackageExecution(source);\n for (const asset of execution?.assets ?? []) assets.set(asset.id, asset);\n const contextIds = new Set([\n ...source.taskset.tasks.flatMap(task => task.privilegedContextRef ? [task.privilegedContextRef] : []),\n ...[source.environment.actionSchemaRef, source.environment.observationSchemaRef, source.environment.stateSchemaRef].flatMap(ref => ref ? [ref.id] : []),\n ]);\n for (const id of contextIds) {\n if (assets.has(id)) continue;\n const file = source.files.find(file => file.asset.id === id);\n if (!file) throw new Error(`Source Taskset context is missing: ${id}.`);\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(decodeTasksetPackageFile(file));\n assets.set(id, LearningTextAssetSchema.parse(sealLearningContent({ schemaVersion: \"openpond.learningTextAsset.v1\", id, revision: 1, asset: file.asset, text })));\n }\n for (const asset of input.assets) {\n const original = source.files.find(file => file.asset.id === asset.id);\n if (original && sealLearningContent({ asset: original.asset }).contentHash !== sealLearningContent({ asset: asset.asset }).contentHash) throw new Error(`Selected Reward conflicts with a source asset: ${asset.id}.`);\n assets.set(asset.id, asset);\n }\n const { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease } = source.taskset;\n const taskDefinition = TaskDefinitionSchema.parse(sealLearningContent({\n schemaVersion: \"openpond.taskDefinition.v1\", id: `${source.taskset.id}-definition`, revision: 1,\n name: source.taskset.id, description: \"\", instructions, category: \"custom\", familyNamespace: source.taskset.id,\n inputSchema: { type: \"object\" }, outputSchema: { type: \"object\" },\n rewardBinding: learningRef(input.rewardBinding), harness: null,\n execution: { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease },\n }));\n const derived = compileModelTasksetReward({ ...input, assets: [...assets.values()], source: {\n taskset: source.taskset, taskDefinition, instructionMode: \"per_task\",\n executionResources: { environment: source.environment, verifierSet: source.verifierSet },\n ...(execution ? { execution: execution.execution } : {}),\n } });\n const files = new Map(source.files.map(file => [file.asset.id, file]));\n for (const asset of derived.assets) {\n let raw = \"\";\n for (const byte of new TextEncoder().encode(asset.text)) raw += String.fromCharCode(byte);\n files.set(asset.id, { asset: asset.asset, base64: btoa(raw) });\n }\n const { taskset, executionResources, ...modelResources } = derived;\n return createTasksetPackage({ schemaVersion: \"openpond.tasksetPackage.v1\", taskset, ...executionResources!, modelResources, files: [...files.values()] });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { LearningDomainError, learningRef, sameLearningRef, requireLearningRelease, requireLearningResource, taskBatchPackageMetadata,\n type LearningResourcePointer, type LearningTransaction } from \"@openpond/evals/learning\";\nimport { validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { ModelBatchReviewInspectionSchema, ModelBatchReviewReceiptSchema, ModelBatchReviewRequestSchema, type ModelBatchReviewRequest } from \"./model-batch-review-contracts.js\";\nimport { prepareModelBatchReview } from \"./model-batch-review-preparation.js\";\n\nexport * from \"./model-batch-review-contracts.js\";\nexport { LearningDomainError as ModelBatchReviewError } from \"@openpond/evals/learning\";\n\nconst operation = (request: ModelBatchReviewRequest) => `model-batch-review-${contentHash([request.modelId, request.operationId])}`;\n\nexport function inspectModelBatchPackage(raw: unknown) {\n const value = validateTasksetPackage(raw);\n if (!value.learningResources) throw new LearningDomainError(\"model_review_batch_required\", 422);\n const metadata = taskBatchPackageMetadata(value.taskset);\n return ModelBatchReviewInspectionSchema.parse({ schemaVersion: \"openpond.modelBatchReviewInspection.v1\", packageHash: value.contentHash,\n definition: metadata.definition, binding: metadata.binding, evidence: value.learningResources.evidence, decisions: value.learningResources.decisions });\n}\n\nexport async function findModelBatchReview(transaction: LearningTransaction, raw: ModelBatchReviewRequest) {\n const request = ModelBatchReviewRequestSchema.parse(raw);\n const prior = await transaction.operation(operation(request));\n if (!prior) return null;\n if (prior.requestHash !== contentHash(request)) throw new LearningDomainError(\"learning_idempotency_conflict\", 409);\n return readReceipt(transaction, request, prior.resources);\n}\n\n/** Run inside the host's scope/Model revision transaction after verifying the\n * selected source package. This publishes new editable evidence, never a Model\n * attachment, admission, source credential, grade, or training job. */\nexport async function beginModelBatchReview(transaction: LearningTransaction, input: {\n scope: string; request: ModelBatchReviewRequest; package: TasksetPackage; now: string;\n}) {\n const request = ModelBatchReviewRequestSchema.parse(input.request);\n const prior = await findModelBatchReview(transaction, request);\n if (prior) return prior;\n const value = validateTasksetPackage(input.package);\n if (!value.learningResources) throw new LearningDomainError(\"model_review_batch_required\", 422);\n const metadata = taskBatchPackageMetadata(value.taskset);\n const selected = request.rewardBindingRef;\n const retained = !selected || sameLearningRef(selected, learningRef(metadata.binding));\n const binding = retained ? metadata.binding : await requireLearningRelease(transaction, \"binding\", selected);\n const rewards = retained ? metadata.rewards : await Promise.all(binding.sources.map(source => requireLearningRelease(transaction, \"reward\", source.reward)));\n const assetIds = new Set(rewards.flatMap(reward => [...reward.assets,\n ...(\"verifierRef\" in reward.implementation ? [reward.implementation.verifierRef] : []),\n ...(\"rubricRef\" in reward.implementation ? [reward.implementation.rubricRef] : []),\n ...(\"inputContract\" in reward.implementation ? [reward.implementation.inputContract] : []),\n ]).map(asset => asset.id));\n const assets = retained ? value.learningResources.assets : await Promise.all([...assetIds].map(id => requireLearningResource(transaction, \"asset\", id, 1)));\n const prepared = prepareModelBatchReview({ ...input, request, package: value, binding, rewards, assets });\n const pointers: LearningResourcePointer[] = [];\n for (const asset of prepared.assets) {\n const existing = await transaction.get(\"asset\", asset.id, 1);\n if (existing && existing.contentHash !== asset.contentHash) throw new LearningDomainError(\"model_review_asset_conflict\", 409);\n if (!existing) await transaction.put(\"asset\", asset, 0);\n }\n for (const reward of prepared.rewards) await transaction.put(\"reward\", reward, 0);\n await transaction.put(\"binding\", prepared.binding, 0);\n await transaction.put(\"definition\", prepared.definition, 0);\n await transaction.put(\"source\", prepared.source, 0, { parentId: request.modelId });\n pointers.push({ kind: \"source\", id: prepared.source.id, revision: 1 });\n for (const evidence of prepared.evidence) {\n await transaction.put(\"evidence\", evidence, 0, { parentId: prepared.source.id });\n pointers.push({ kind: \"evidence\", id: evidence.id, revision: 1 });\n }\n for (const proposal of prepared.proposals) {\n await transaction.put(\"feedback\", proposal, 0, { parentId: proposal.evidence!.id, status: proposal.status });\n pointers.push({ kind: \"feedback\", id: proposal.id, revision: 1 });\n }\n await transaction.saveOperation(operation(request), { requestHash: contentHash(request), resources: pointers });\n return readReceipt(transaction, request, pointers);\n}\n\nasync function readReceipt(transaction: LearningTransaction, request: ModelBatchReviewRequest, pointers: LearningResourcePointer[]) {\n const resources = await Promise.all(pointers.map(pointer => requireLearningResource(transaction, pointer.kind, pointer.id, pointer.revision)));\n return ModelBatchReviewReceiptSchema.parse({ schemaVersion: \"openpond.modelBatchReviewReceipt.v1\", operationId: request.operationId,\n modelId: request.modelId, source: resources.find(resource => resource.schemaVersion === \"openpond.learningSource.v1\"),\n evidence: resources.filter(resource => resource.schemaVersion === \"openpond.taskEvidence.v1\"),\n proposals: resources.filter(resource => resource.schemaVersion === \"openpond.taskFeedbackRecord.v1\"),\n });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { LearningDomainError, LearningSourceSchema, TaskDefinitionSchema, TaskEvidenceSchema, TaskFeedbackSchema,\n assertLearningContentHash, learningEvidenceId, learningRef, sameLearningRef, sealLearningContent,\n taskBatchPackageMetadata, verifyLearningTextAsset, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport { compileBoundGraders, createRewardBinding, createRewardRelease, resolveBoundRewards, type RewardBinding, type RewardRelease } from \"@openpond/evals/rewards\";\nimport type { TasksetPackage } from \"./taskset-package-contracts.js\";\nimport type { ModelBatchReviewRequest } from \"./model-batch-review-contracts.js\";\n\n/** Hosts supply the authorized package and selected Reward graph. Only this\n * new namespace becomes editable; parent sources and decisions are not copied. */\nexport function prepareModelBatchReview(input: {\n scope: string; request: ModelBatchReviewRequest; package: TasksetPackage; now: string;\n binding: RewardBinding; rewards: RewardRelease[]; assets: LearningTextAsset[];\n}) {\n const { request, package: value } = input;\n const learning = value.learningResources;\n if (!learning) throw new LearningDomainError(\"model_review_batch_required\", 422);\n const metadata = taskBatchPackageMetadata(value.taskset);\n const id = `model-review-${contentHash([input.scope, request.modelId, request.operationId])}`;\n const edits = new Map(request.examples.map(edit => [contentHash(edit.evidence), edit]));\n const parentRefs = new Set(learning.evidence.map(evidence => contentHash(learningRef(evidence))));\n const decisions = new Map(learning.decisions.map(decision => [contentHash(decision.evidence), decision]));\n if (edits.size !== request.examples.length || request.examples.some(edit => !parentRefs.has(contentHash(edit.evidence)))) {\n throw new LearningDomainError(\"model_review_evidence_mismatch\", 409);\n }\n for (const resource of [input.binding, ...input.rewards, ...input.assets]) assertLearningContentHash(resource);\n resolveBoundRewards(input.binding, input.rewards);\n const rewardByHash = new Map<string, RewardRelease>();\n for (const source of input.binding.sources) {\n const original = input.rewards.find(reward => sameLearningRef(learningRef(reward), source.reward))!;\n const { contentHash: _hash, ...content } = original;\n rewardByHash.set(original.contentHash, createRewardRelease({ ...content, id: `${id}-reward-${original.contentHash}`, revision: 1 }));\n }\n const rewards = [...rewardByHash.values()];\n const { contentHash: _bindingHash, recipeRef: _recipe, ...bindingContent } = input.binding;\n const binding = createRewardBinding({ ...bindingContent, id: `${id}-binding`, revision: 1,\n sources: input.binding.sources.map(source => ({ ...source, reward: learningRef(rewardByHash.get(source.reward.contentHash)!) })),\n }, rewards);\n const assetRefs = rewards.flatMap(reward => [...reward.assets,\n ...(\"verifierRef\" in reward.implementation ? [reward.implementation.verifierRef] : []),\n ...(\"rubricRef\" in reward.implementation ? [reward.implementation.rubricRef] : []),\n ...(\"inputContract\" in reward.implementation ? [reward.implementation.inputContract] : []),\n ]);\n const assets = [...new Map(assetRefs.map(ref => {\n const asset = input.assets.find(asset => asset.id === ref.id);\n if (!asset) throw new LearningDomainError(\"model_review_reward_asset_missing\", 422);\n verifyLearningTextAsset(asset, ref);\n if (ref.visibility === \"policy\") throw new LearningDomainError(\"reward_asset_visibility_invalid\", 422);\n return [asset.id, asset] as const;\n })).values()];\n // New graders invalidate the parent's verifier-set identity. Preparation of\n // the newly sealed batch will bind its own exact execution releases.\n const { environmentRelease: _environment, verifierSetRelease: _verifiers, ...execution } = metadata.definition.execution;\n const { contentHash: _definitionHash, ...definitionContent } = metadata.definition;\n const definition = TaskDefinitionSchema.parse(sealLearningContent({ ...definitionContent, ...request.definition,\n id: `${id}-definition`, revision: 1, rewardBinding: learningRef(binding), execution: { ...execution,\n policy: { ...execution.policy, hiddenGraderRefs: compileBoundGraders(binding, rewards).filter(grader => grader.privileged).map(grader => grader.id) },\n },\n }));\n const source = LearningSourceSchema.parse(sealLearningContent({\n schemaVersion: \"openpond.learningSource.v1\", id, revision: 1, name: `${definition.name} review`, kind: \"direct\",\n taskDefinition: learningRef(definition), enabled: true, allowedSplits: [...new Set(learning.evidence.map(item => item.submission.split))],\n mapping: null, adapterVersion: null, reviewOrigin: { modelId: request.modelId, packageHash: value.contentHash,\n taskset: learningRef(value.taskset), batch: learningRef(learning.batch), rewardBinding: learningRef(input.binding) },\n }));\n const evidence = learning.evidence.map(parent => {\n const edit = edits.get(contentHash(learningRef(parent)));\n // Example/attempt IDs are unique within the original source, not across\n // all sources in a batch. Preserve both parents when merging namespaces.\n const attemptId = `review-${parent.contentHash}`;\n const policyChanged = contentHash({ instructions: definition.instructions, inputSchema: definition.inputSchema, outputSchema: definition.outputSchema, requiredOutputs: definition.requiredOutputs ?? [],\n input: edit?.input ?? parent.submission.input }) !== contentHash({ instructions: metadata.definition.instructions,\n inputSchema: metadata.definition.inputSchema, outputSchema: metadata.definition.outputSchema, requiredOutputs: metadata.definition.requiredOutputs ?? [], input: parent.submission.input });\n return TaskEvidenceSchema.parse(sealLearningContent({\n schemaVersion: \"openpond.taskEvidence.v1\", id: learningEvidenceId(source.id, parent.submission.exampleId, attemptId), revision: 1,\n source: learningRef(source), submission: { ...parent.submission, sourceId: source.id, taskDefinition: learningRef(definition),\n attemptId,\n // The old response was observed under the old policy-visible task. Its\n // parent snapshot remains available, but it is not a run of new inputs.\n observedOutput: policyChanged ? null : parent.submission.observedOutput,\n idempotencyKey: `${id}-${parent.contentHash}`, ...(edit?.input === undefined ? {} : { input: edit.input }),\n ...(edit?.expected === undefined ? {} : { expected: edit.expected }),\n ...(edit?.evaluatorContext === undefined ? {} : { evaluatorContext: edit.evaluatorContext }),\n }, supersedes: learningRef(parent), correctionFeedbackId: null, receivedAt: input.now,\n }));\n });\n const proposals = evidence.flatMap(item => {\n const edit = edits.get(contentHash(item.supersedes));\n const decision = decisions.get(contentHash(item.supersedes))!;\n const target = edit?.proposedTarget === undefined ? decision.approvedTarget : edit.proposedTarget;\n return target === null ? [] : [TaskFeedbackSchema.parse({\n schemaVersion: \"openpond.taskFeedbackRecord.v1\", id: `feedback-${contentHash([id, item.id])}`, revision: 1,\n submission: { schemaVersion: \"openpond.taskFeedback.v1\", sourceId: source.id, idempotencyKey: `${id}-${item.id}`,\n exampleId: item.submission.exampleId, attemptId: item.submission.attemptId, expectedEvidenceHash: item.contentHash,\n occurredAt: input.now, kind: \"target_correction\", value: target, note: \"Proposed target for the revised task. Grade and review before admission.\" },\n status: \"pending_review\", evidence: learningRef(item), createdAt: input.now, review: null,\n })];\n });\n return { source, definition, binding, rewards, assets, evidence, proposals };\n}\n", "import { z } from \"zod\";\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { learningRef, sameLearningRef } from \"@openpond/evals/learning\";\nimport { ModelTasksetDraftPreparationSchema, TasksetDraftFilePathSchema, type ModelTasksetDraftPreparation } from \"./model-taskset-authoring-contracts.js\";\nimport { TasksetDraftSchema, type TasksetDraft } from \"./taskset-draft-document.js\";\nimport { AuthoredTasksetFileInventorySchema } from \"./taskset-authored-files.js\";\nimport { validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { isManagedTasksetDraftFilePath } from \"./taskset-draft-files.js\";\nimport { configuredTasksetDraftFiles } from \"./taskset-draft-manifests.js\";\nimport { createTasksetDraftWorkspace, decodeTasksetDraftWorkspaceFile, type TasksetDraftWorkspaceFile } from \"./taskset-draft-workspace.js\";\n\nexport const TasksetDraftSourceInitializationSchema = z.object({\n draft: TasksetDraftSchema,\n filePaths: z.array(z.object({ assetId: z.string().min(1), paths: z.array(TasksetDraftFilePathSchema).min(1).max(10_000) }).strict()).max(10_000),\n}).strict();\nexport type TasksetDraftSourceInitialization = z.infer<typeof TasksetDraftSourceInitializationSchema>;\n\n/** Hosts authorize the source projection and retain this result before writes.\n * Ownership comes from preparation, never from editable projection metadata. */\nexport function prepareTasksetDraftSource(input: { sourceDraft: TasksetDraft; source: TasksetPackage; preparation: ModelTasksetDraftPreparation; expectedModelRevision: number }): TasksetDraftSourceInitialization {\n const source = validateTasksetPackage(input.source);\n const original = TasksetDraftSchema.parse(input.sourceDraft);\n const preparation = ModelTasksetDraftPreparationSchema.parse(input.preparation);\n if (source.contentHash !== preparation.sourcePackageHash || !sameLearningRef(learningRef(source.taskset), preparation.sourceTasksetRef)) throw new Error(\"Taskset draft preparation differs from its source package.\");\n if (source.learningResources) throw new Error(\"Reviewed Tasksets require their reviewed authoring workflow.\");\n if (Boolean(source.modelResources) !== (preparation.authoringGraph === \"bound\")) throw new Error(\"Taskset draft authoring graph differs from its source.\");\n const inventory = AuthoredTasksetFileInventorySchema.parse(original.metadata.portableFileInventory ?? []);\n const sourcePath = (relative: string) => isManagedTasksetDraftFilePath(relative)\n ? `source-artifacts/${source.contentHash}/${contentHash(relative)}/${relative.split(\"/\").at(-1)!}` : relative;\n const references = [...original.tasks.flatMap(task => (task.assets ?? []).map(asset => asset.artifactRef)),\n ...(original.environment.resources ?? []).map(resource => resource.path),\n ...source.taskset.tasks.flatMap(task => (task.requiredOutputs ?? []).flatMap(output => output.schemaRef ? [output.schemaRef.path] : [])),\n ...(original.metrics.customAggregator ? [original.metrics.customAggregator.module] : []),\n ...original.graders.flatMap(grader => grader.kind === \"custom_verifier\" ? [grader.module] : [])];\n if (references.some(isManagedTasksetDraftFilePath)) throw new Error(\"A referenced source asset occupies a reserved Taskset authoring path.\");\n const filePaths = source.files.map(file => {\n const paths = new Set([file.asset.path]);\n for (const entry of inventory) if (entry.asset.id === file.asset.id) paths.add(entry.sourcePath);\n for (const task of original.tasks) for (const asset of task.assets ?? []) if (asset.id === file.asset.id) paths.add(asset.artifactRef);\n for (const grader of source.taskset.graders) if (grader.kind === \"custom_verifier\" && grader.verifierRef.id === file.asset.id) {\n const projected = original.graders.find(candidate => candidate.id === grader.id);\n if (projected?.kind === \"custom_verifier\") paths.add(projected.module);\n }\n return { assetId: file.asset.id, paths: [...paths].map(sourcePath) };\n });\n const metadata = { ...original.metadata };\n if (source.modelResources) for (const key of [\"taskDefinition\", \"rewardBinding\", \"rewardExecution\", \"derivedPortableMetadata\", \"modelTasksetDerivation\", \"importedPackageHash\"]) delete metadata[key];\n const draft = TasksetDraftSchema.parse({ ...original, id: preparation.draftId, revision: 1, status: \"draft\",\n graders: original.graders.map(grader => ({ ...grader, metadata: { ...grader.metadata,\n portableGrader: source.taskset.graders.find(candidate => candidate.id === grader.id) } })),\n environment: { ...original.environment, metadata: { ...original.environment.metadata, portableExecutionResources: { environment: source.environment } } },\n modelScope: { modelId: preparation.lineage.owner.modelId, expectedModelRevision: input.expectedModelRevision, source: preparation },\n publishedTasksetRef: preparation.tasksetRevision > 1 ? preparation.sourceTasksetRef : null,\n metadata: { ...metadata, modelTasksetAuthoring: preparation.lineage,\n portableFileInventory: inventory.map(entry => ({ ...entry, sourcePath: sourcePath(entry.sourcePath), asset: { ...entry.asset,\n id: isManagedTasksetDraftFilePath(entry.sourcePath) ? `source-artifact-${contentHash({ packageHash: source.contentHash, assetId: entry.asset.id })}` : entry.asset.id,\n path: sourcePath(entry.asset.path) } })) },\n });\n return TasksetDraftSourceInitializationSchema.parse({ draft, filePaths });\n}\n\n/** Materialize the retained source into an immutable draft snapshot. Callers\n * must never replace a newer saved snapshot with this initial population. */\nexport function materializeTasksetDraftWorkspace(input: { initialized: TasksetDraftSourceInitialization; source: TasksetPackage }) {\n const initialized = TasksetDraftSourceInitializationSchema.parse(input.initialized);\n const source = validateTasksetPackage(input.source);\n if (initialized.draft.modelScope?.source?.sourcePackageHash !== source.contentHash) throw new Error(\"Taskset draft lost its source preparation.\");\n const files = new Map<string, TasksetDraftWorkspaceFile>();\n for (const mapping of initialized.filePaths) {\n const file = source.files.find(candidate => candidate.asset.id === mapping.assetId);\n if (!file) throw new Error(\"Taskset draft source asset is missing.\");\n for (const path of mapping.paths) {\n const previous = files.get(path);\n if (previous && previous.contentHash !== file.asset.contentHash) throw new Error(\"Taskset draft source paths conflict.\");\n files.set(path, { path, contentHash: file.asset.contentHash, sizeBytes: file.asset.sizeBytes, base64: file.base64 });\n }\n }\n for (const configured of configuredTasksetDraftFiles(initialized.draft)) if (!files.has(configured.relativePath)) {\n const bytes = new TextEncoder().encode(configured.source);\n files.set(configured.relativePath, { path: configured.relativePath, contentHash: sha256(bytes), sizeBytes: bytes.byteLength, base64: Buffer.from(bytes).toString(\"base64\") });\n }\n let draft = initialized.draft;\n if (draft.metrics.customAggregator) {\n const file = files.get(draft.metrics.customAggregator.module);\n if (!file) throw new Error(\"Declared Taskset metric module is missing.\");\n decodeTasksetDraftWorkspaceFile(file);\n draft = TasksetDraftSchema.parse({ ...draft, metrics: { ...draft.metrics, customAggregator: { ...draft.metrics.customAggregator, contentHash: file.contentHash } } });\n }\n return createTasksetDraftWorkspace({ schemaVersion: \"openpond.tasksetDraftWorkspace.v1\", draft, files: [...files.values()] });\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["file", "LearningDomainError", "learningRef", "sameLearningRef", "taskBatchPackageMetadata", "TaskDefinitionSchema", "learningRef", "sealLearningContent", "evidence", "source", "asset", "LearningDomainError", "taskBatchPackageMetadata", "sameLearningRef", "learningRef", "learningRef", "sameLearningRef", "sameLearningRef", "learningRef"]
|
|
7
|
+
}
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
ConnectedStartingAssetsRequestSchema,
|
|
9
9
|
DatasetWorkspaceReceiptSchema,
|
|
10
10
|
verifyConnectedStartingAssetsReceipt
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-QEIT5VXJ.js";
|
|
12
12
|
import {
|
|
13
13
|
fetchConnectedJson
|
|
14
14
|
} from "./chunk-T4APHDES.js";
|
|
@@ -650,4 +650,4 @@ export {
|
|
|
650
650
|
summarizeCollectorCoverage2 as summarizeCollectorCoverage,
|
|
651
651
|
hashCollectorEligibleBoundaries
|
|
652
652
|
};
|
|
653
|
-
//# sourceMappingURL=chunk-
|
|
653
|
+
//# sourceMappingURL=chunk-VY5AFE7A.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
GeneratedTaskFileSchema,
|
|
3
3
|
TasksetReadinessReportSchema,
|
|
4
4
|
TrainingPathRecommendationSchema
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-CWXM57QR.js";
|
|
6
6
|
import {
|
|
7
7
|
GraderFixtureLabelSchema,
|
|
8
8
|
GraderSpecSchema,
|
|
@@ -97,4 +97,4 @@ export {
|
|
|
97
97
|
TaskExampleProposalSchema,
|
|
98
98
|
TaskDesignProposalSchema
|
|
99
99
|
};
|
|
100
|
-
//# sourceMappingURL=chunk-
|
|
100
|
+
//# sourceMappingURL=chunk-XYQD4LDI.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ExperimentImprovementOptionsSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TSMGMA6R.js";
|
|
4
4
|
import {
|
|
5
5
|
EvaluationCoordinationTransport
|
|
6
6
|
} from "./chunk-YCQVVFE5.js";
|
|
@@ -264,4 +264,4 @@ export {
|
|
|
264
264
|
AdvancedRefinerEvaluationAccountingSchema,
|
|
265
265
|
OpenPondAdvancedRefinerEvaluationClient
|
|
266
266
|
};
|
|
267
|
-
//# sourceMappingURL=chunk-
|
|
267
|
+
//# sourceMappingURL=chunk-YUKV7RCD.js.map
|
|
@@ -18,9 +18,24 @@ import { z } from "zod";
|
|
|
18
18
|
import { ProfileEvaluationRunSourceSchema, ProfileExternalDatasetBindingSchema } from "@openpond/evals";
|
|
19
19
|
var Id = z.string().trim().min(1).max(240);
|
|
20
20
|
var Hash = z.string().regex(/^[a-f0-9]{64}$/);
|
|
21
|
+
var HarnessExperimentSamplingSchema = z.object({
|
|
22
|
+
maxOutputTokens: z.number().int().min(1).max(1e6).default(4096),
|
|
23
|
+
temperature: z.number().min(0).max(2).default(0),
|
|
24
|
+
topP: z.number().gt(0).max(1).default(1)
|
|
25
|
+
}).strict();
|
|
26
|
+
function resolveHarnessExperimentSampling(input) {
|
|
27
|
+
return HarnessExperimentSamplingSchema.parse({
|
|
28
|
+
maxOutputTokens: input.maxOutputTokens,
|
|
29
|
+
temperature: input.temperature,
|
|
30
|
+
topP: input.topP
|
|
31
|
+
});
|
|
32
|
+
}
|
|
21
33
|
var HarnessExperimentPolicySchema = z.object({
|
|
22
34
|
kind: z.literal("hosted_harness"),
|
|
23
35
|
modelId: Id,
|
|
36
|
+
maxOutputTokens: HarnessExperimentSamplingSchema.shape.maxOutputTokens.removeDefault().optional(),
|
|
37
|
+
temperature: HarnessExperimentSamplingSchema.shape.temperature.removeDefault().optional(),
|
|
38
|
+
topP: HarnessExperimentSamplingSchema.shape.topP.removeDefault().optional(),
|
|
24
39
|
candidate: z.object({ artifactId: Id, contentHash: Hash, preparationId: Id, dispatchId: Id, baseProfileId: Id, workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/) }).strict().optional(),
|
|
25
40
|
sourceCandidate: ProfileEvaluationRunSourceSchema.shape.sourceCandidate,
|
|
26
41
|
reasoningEffort: z.enum(["off", "low", "medium", "high", "xhigh", "max"]).optional(),
|
|
@@ -146,6 +161,8 @@ async function verifyModelTasksetRunResult(value) {
|
|
|
146
161
|
}
|
|
147
162
|
|
|
148
163
|
export {
|
|
164
|
+
HarnessExperimentSamplingSchema,
|
|
165
|
+
resolveHarnessExperimentSampling,
|
|
149
166
|
HarnessExperimentPolicySchema,
|
|
150
167
|
ModelTasksetRunPolicySchema,
|
|
151
168
|
ModelTasksetRunRequestSchema,
|
|
@@ -158,4 +175,4 @@ export {
|
|
|
158
175
|
verifyModelTasksetRunDetails,
|
|
159
176
|
verifyModelTasksetRunResult
|
|
160
177
|
};
|
|
161
|
-
//# sourceMappingURL=chunk-
|
|
178
|
+
//# sourceMappingURL=chunk-ZJ3H3VS7.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/harness-experiment-policy.ts", "../src/model-taskset-runs-contracts.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\nimport { ProfileEvaluationRunSourceSchema, ProfileExternalDatasetBindingSchema } from \"@openpond/evals\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\n\nexport const HarnessExperimentSamplingSchema = z.object({\n maxOutputTokens: z.number().int().min(1).max(1_000_000).default(4096),\n temperature: z.number().min(0).max(2).default(0),\n topP: z.number().gt(0).max(1).default(1),\n}).strict();\n\nexport function resolveHarnessExperimentSampling(input: {\n maxOutputTokens?: number; temperature?: number; topP?: number;\n}) {\n return HarnessExperimentSamplingSchema.parse({\n maxOutputTokens: input.maxOutputTokens, temperature: input.temperature, topP: input.topP,\n });\n}\n\n/** The host admits this released component through its native Harness engine.\n * Chat prompt/settings are owned by the released source, not replaced here. */\nexport const HarnessExperimentPolicySchema = z.object({\n kind: z.literal(\"hosted_harness\"),\n modelId: Id,\n maxOutputTokens: HarnessExperimentSamplingSchema.shape.maxOutputTokens.removeDefault().optional(),\n temperature: HarnessExperimentSamplingSchema.shape.temperature.removeDefault().optional(),\n topP: HarnessExperimentSamplingSchema.shape.topP.removeDefault().optional(),\n candidate:z.object({artifactId:Id,contentHash:Hash,preparationId:Id,dispatchId:Id,baseProfileId:Id,workerImageDigest:z.string().regex(/^sha256:[a-f0-9]{64}$/)}).strict().optional(),\n sourceCandidate:ProfileEvaluationRunSourceSchema.shape.sourceCandidate,\n reasoningEffort: z.enum([\"off\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"]).optional(),\n profileRepositoryId: Id,\n source: ProfileEvaluationRunSourceSchema,\n modelConfigurationHash: Hash,\n packageHash: Hash,\n externalDatasetBinding: ProfileExternalDatasetBindingSchema.optional(),\n}).strict().superRefine((value,context)=>{if(JSON.stringify(value.externalDatasetBinding??null)!==JSON.stringify(value.source.externalDatasetBinding??null))context.addIssue({code:\"custom\",message:\"The policy and source must bind the same external Dataset recipe.\"});if(JSON.stringify(value.sourceCandidate??null)!==JSON.stringify(value.source.sourceCandidate??null))context.addIssue({code:\"custom\",message:\"The policy and prepared source must bind the same actual source candidate.\"});});\nexport type HarnessExperimentPolicy = z.infer<typeof HarnessExperimentPolicySchema>;\n", "import { z } from \"zod\";\nimport { EvaluationProjectContextSchema } from \"./evaluation-project-context.js\";\nimport { assertContentHash, contentHash } from \"@openpond/harness\";\nimport { TasksetRunManifestSchema, TasksetRunMemberSchema, TasksetMetricResultSchema, assertTasksetMetricResult, orderTasksetRunReceipts } from \"@openpond/evals/metrics\";\nimport { AttemptReceiptSchema } from \"@openpond/evals/runs\";\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { ModelStarterAttemptPolicySchema, ModelStarterAttemptSummarySchema } from \"./model-starter-attempts.js\";\nimport { canonicalJson, canonicalSha256 } from \"./protocol.js\";\nimport { HarnessExperimentPolicySchema } from \"./harness-experiment-policy.js\";\nexport { HarnessExperimentPolicySchema, type HarnessExperimentPolicy } from \"./harness-experiment-policy.js\";\n\nconst IdSchema = z.string().trim().min(1).max(200);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ModelTasksetRunPolicySchema = z.discriminatedUnion(\"kind\", [\n ModelStarterAttemptPolicySchema.options[0],\n z.object({ kind: z.literal(\"fixture\") }).strict(),\n HarnessExperimentPolicySchema,\n]);\nexport const ModelTasksetRunRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelTasksetRunRequest.v1\"),\n operationId: IdSchema, teamId: IdSchema, modelProjectId: IdSchema.nullable(),\n name: z.string().trim().min(1).max(200).optional(),\n project: EvaluationProjectContextSchema.optional(),\n taskset: ModelProjectVersionedRefSchema, policy: ModelTasksetRunPolicySchema,\n population: z.array(TasksetRunMemberSchema).min(1).max(10_000),\n}).strict().superRefine((value, context) => {\n if (new Set(value.population.map(member => member.receiptId)).size !== value.population.length) context.addIssue({ code: \"custom\", path: [\"population\"], message: \"Run receipt identities must be unique.\" });\n if (value.population.some(member => (member.fixtureId !== null) !== (value.policy.kind === \"fixture\"))) context.addIssue({ code: \"custom\", path: [\"population\"], message: \"Only fixture runs require a fixture identity for every member.\" });\n if (value.population.some(member => !/^(0|[1-9][0-9]*)$/.test(member.seed) || Number(member.seed) > 2_147_483_647)) context.addIssue({ code: \"custom\", path: [\"population\"], message: \"Hosted environment seeds must be integers from 0 to 2147483647.\" });\n if (value.policy.kind === \"hosted_harness\" && value.modelProjectId !== null)\n context.addIssue({ code: \"custom\", path: [\"modelProjectId\"], message: \"A Harness target retains its released Profile binding separately from Model artifacts.\" });\n if (value.policy.kind === \"hosted_harness\"\n && new Set(value.population.map(member => canonicalJson([member.taskId, member.seed]))).size !== value.population.length)\n context.addIssue({ code: \"custom\", path: [\"population\"], message: \"Harness case identities must be unique for each task and seed.\" });\n});\nexport type ModelTasksetRunRequest = z.infer<typeof ModelTasksetRunRequestSchema>;\nexport const ModelTasksetRunSummarySchema = z.object({\n schemaVersion: z.literal(\"openpond.modelTasksetRunSummary.v1\"),\n id: IdSchema, revision: z.number().int().positive(), teamId: IdSchema, modelProjectId: IdSchema.nullable(),\n name: z.string().trim().min(1).max(200).optional(),\n project: EvaluationProjectContextSchema.optional(),\n operationId: IdSchema, taskset: ModelProjectVersionedRefSchema, policyKind: z.enum([\"hosted_chat\", \"fixture\", \"hosted_harness\"]),\n manifestHash: HashSchema,\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]),\n totalCount: z.number().int().min(1).max(10_000),\n counts: z.object({ pending: z.number().int().nonnegative(), running: z.number().int().nonnegative(), completed: z.number().int().nonnegative(), failed: z.number().int().nonnegative(), cancelled: z.number().int().nonnegative() }).strict(),\n createdAt: z.iso.datetime(), startedAt: z.iso.datetime().nullable(), completedAt: z.iso.datetime().nullable(),\n cleanupComplete: z.boolean(), resultAvailable: z.boolean(), score: z.number().min(0).max(1).nullable(),\n metricName: z.string().min(1).max(240),\n error: z.object({ code: IdSchema, message: z.string().max(2_000) }).strict().nullable(),\n}).strict().superRefine((value, context) => {\n if (Object.values(value.counts).reduce((sum, count) => sum + count, 0) !== value.totalCount) context.addIssue({ code: \"custom\", path: [\"counts\"], message: \"Run counts must account for the complete population.\" });\n if (value.status !== \"completed\" && value.score !== null) context.addIssue({ code: \"custom\", path: [\"score\"], message: \"Only completed evaluations publish a metric value.\" });\n if ([\"completed\", \"failed\", \"cancelled\"].includes(value.status) && (!value.completedAt || value.counts.pending || value.counts.running)) context.addIssue({ code: \"custom\", message: \"Terminal runs require complete population accounting.\" });\n if (value.status === \"cancelled\" && !value.cleanupComplete) context.addIssue({ code: \"custom\", message: \"Cancelled runs require confirmed cleanup.\" });\n if (value.resultAvailable && ![\"completed\", \"failed\", \"cancelled\"].includes(value.status)) context.addIssue({ code: \"custom\", message: \"Run results require terminal population accounting.\" });\n if (value.status === \"completed\" && (!value.cleanupComplete || !value.resultAvailable)) context.addIssue({ code: \"custom\", message: \"Completed evaluations require retained results and confirmed cleanup.\" });\n});\nexport type ModelTasksetRunSummary = z.infer<typeof ModelTasksetRunSummarySchema>;\nexport const ModelTasksetRunDetailsSchema = z.object({\n summary: ModelTasksetRunSummarySchema,\n request: ModelTasksetRunRequestSchema,\n manifest: TasksetRunManifestSchema,\n policySnapshot: ModelStarterAttemptSummarySchema.shape.policySnapshot,\n}).strict();\nexport type ModelTasksetRunDetails = z.infer<typeof ModelTasksetRunDetailsSchema>;\nexport const ModelTasksetRunListQuerySchema = z.object({ modelProjectId: IdSchema.optional(), projectId: EvaluationProjectContextSchema.shape.id.optional(), afterId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();\nexport const ModelTasksetRunPageSchema = z.object({ items: z.array(ModelTasksetRunSummarySchema).max(100), nextCursor: IdSchema.nullable() }).strict();\nexport const ModelTasksetRunResultSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelTasksetRunResult.v1\"),\n run: ModelTasksetRunDetailsSchema,\n receipts: z.array(AttemptReceiptSchema).min(1).max(10_000),\n metric: TasksetMetricResultSchema.nullable(),\n contentHash: HashSchema,\n}).strict();\nexport type ModelTasksetRunResult = z.infer<typeof ModelTasksetRunResultSchema>;\n\nexport function verifyHarnessExperimentManifest(request: ModelTasksetRunRequest, manifest: z.infer<typeof TasksetRunManifestSchema>) {\n assertContentHash(manifest, \"Taskset run manifest\");\n const policy = request.policy;\n if (policy.kind !== \"hosted_harness\" || manifest.execution.kind !== \"harness\"\n || canonicalJson(manifest.profileEvaluation) !== canonicalJson(policy.source)\n || canonicalJson(manifest.execution.harnessRelease) !== canonicalJson(policy.source.harnessRelease)\n || manifest.metadata.profileRepositoryId !== policy.profileRepositoryId\n || manifest.packageHash !== policy.packageHash || manifest.policy.kind !== \"model\"\n || manifest.policy.model.provider !== \"openpond\" || manifest.policy.model.model !== policy.modelId\n || manifest.policy.model.revision !== null || manifest.policy.model.artifactHash !== (policy.candidate?.contentHash??null)\n || manifest.policy.model.tokenizerRevision !== null || manifest.policy.model.chatTemplateHash !== null\n || manifest.policy.configurationHash !== policy.modelConfigurationHash\n || manifest.tasksetRelease.id !== request.taskset.id || manifest.tasksetRelease.contentHash !== request.taskset.contentHash\n || canonicalJson(manifest.population) !== canonicalJson(request.population)\n || manifest.population.some(member => member.receiptId !== `evaluation-${contentHash(manifest.profileEvaluation?.externalDatasetBinding\n ? [manifest.id, member.taskId, member.seed, member.fixtureId]\n : [manifest.id, member.taskId, member.seed]).slice(0, 32)}`))\n throw new Error(\"Harness evaluation differs from its admitted source, package or model configuration.\");\n}\n\n/** Server artifact ownership authenticates the producer. These checks bind all\n * portable projections to the admitted request, population and policy. */\nexport async function verifyModelTasksetRunDetails(value: unknown): Promise<ModelTasksetRunDetails> {\n const result = ModelTasksetRunDetailsSchema.parse(value);\n const { summary, request, manifest, policySnapshot } = result;\n assertContentHash(manifest, \"Taskset run manifest\");\n if (manifest.contentHash !== summary.manifestHash\n || manifest.id !== summary.id || manifest.createdAt !== summary.createdAt || summary.teamId !== request.teamId || summary.modelProjectId !== request.modelProjectId\n || canonicalJson(summary.project ?? null) !== canonicalJson(request.project ?? null)\n || canonicalJson(manifest.metadata.project ?? null) !== canonicalJson(request.project ?? null)\n || (summary.name ?? null) !== (request.name ?? null)\n || summary.operationId !== request.operationId || summary.policyKind !== request.policy.kind\n || summary.totalCount !== request.population.length || summary.metricName !== manifest.metricPolicy.primaryMetric\n || canonicalJson(summary.taskset) !== canonicalJson(request.taskset)\n || manifest.tasksetRelease.id !== request.taskset.id || manifest.tasksetRelease.contentHash !== request.taskset.contentHash\n || canonicalJson(manifest.population) !== canonicalJson(request.population)) throw new Error(\"Evaluation run differs from its admitted request or manifest.\");\n if (request.policy.kind === \"fixture\") {\n if (manifest.policy.kind !== \"fixture\" || policySnapshot !== null) throw new Error(\"Fixture checks cannot claim a model identity.\");\n } else if (request.policy.kind === \"hosted_harness\") {\n verifyHarnessExperimentManifest(request, manifest);\n if (policySnapshot !== null) throw new Error(\"Harness evaluations retain the native host model configuration.\");\n } else if (manifest.policy.kind !== \"model\" || !policySnapshot || policySnapshot.modelId !== request.policy.modelId\n || manifest.policy.model.provider !== policySnapshot.provider || manifest.policy.model.model !== policySnapshot.upstreamModelId\n || manifest.policy.model.revision !== null || manifest.policy.model.artifactHash !== (request.policy.candidate?.contentHash ?? null) || manifest.policy.model.tokenizerRevision !== null || manifest.policy.model.chatTemplateHash !== null\n || manifest.policy.configurationHash !== await canonicalSha256({ policy: request.policy, snapshot: policySnapshot })) throw new Error(\"Evaluation model differs from its admitted policy.\");\n return result;\n}\n\nexport async function verifyModelTasksetRunResult(value: unknown): Promise<ModelTasksetRunResult> {\n const result = ModelTasksetRunResultSchema.parse(value);\n const { contentHash: actual, ...content } = result;\n if (await canonicalSha256(content) !== actual) throw new Error(\"Evaluation result integrity failed.\");\n const { summary, manifest } = await verifyModelTasksetRunDetails(result.run);\n if (!summary.resultAvailable || ![\"completed\", \"failed\", \"cancelled\"].includes(summary.status)) throw new Error(\"Evaluation result is not terminal.\");\n const ordered = orderTasksetRunReceipts(manifest, result.receipts);\n if (canonicalJson(ordered) !== canonicalJson(result.receipts)) throw new Error(\"Evaluation receipts differ from the admitted order.\");\n if ((summary.status === \"completed\") !== (result.metric !== null)) throw new Error(\"Only completed evaluations retain a metric.\");\n if (result.metric) {\n assertTasksetMetricResult(result.metric);\n if (result.metric.runManifest.id !== manifest.id || result.metric.runManifest.contentHash !== manifest.contentHash\n || canonicalJson(result.metric.tasksetRelease) !== canonicalJson(manifest.tasksetRelease)\n || canonicalJson(result.metric.policy) !== canonicalJson(manifest.metricPolicy)\n || canonicalJson(result.metric.receiptRefs) !== canonicalJson(result.receipts.map(({ id, contentHash }) => ({ id, contentHash })))\n || result.metric.value !== summary.score) throw new Error(\"Evaluation metric differs from its admitted run or receipt population.\");\n }\n return result;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["z", "z", "contentHash"]
|
|
7
|
+
}
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
hashCollectorEligibleBoundaries,
|
|
32
32
|
summarizeCollectorCoverage,
|
|
33
33
|
verifyConnectedRecordedExecution
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-VY5AFE7A.js";
|
|
35
35
|
import {
|
|
36
36
|
AgentImportCommitRequestSchema,
|
|
37
37
|
AgentImportFileSchema,
|
|
@@ -48,24 +48,24 @@ import {
|
|
|
48
48
|
ConnectedStartingAssetsReceiptSchema,
|
|
49
49
|
ConnectedStartingAssetsRequestSchema,
|
|
50
50
|
verifyConnectedStartingAssetsReceipt
|
|
51
|
-
} from "./chunk-
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
51
|
+
} from "./chunk-QEIT5VXJ.js";
|
|
52
|
+
import "./chunk-36WJTS5V.js";
|
|
53
|
+
import "./chunk-BFR3VC25.js";
|
|
54
54
|
import "./chunk-K3JCP4FO.js";
|
|
55
55
|
import "./chunk-ROBAX5TN.js";
|
|
56
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-CWXM57QR.js";
|
|
57
57
|
import {
|
|
58
58
|
ConnectedDatasetSourceRefSchema
|
|
59
59
|
} from "./chunk-FHCSDXIA.js";
|
|
60
60
|
import "./chunk-2U54EOXJ.js";
|
|
61
|
-
import "./chunk-
|
|
62
|
-
import "./chunk-
|
|
63
|
-
import "./chunk-
|
|
61
|
+
import "./chunk-TMUAKJWX.js";
|
|
62
|
+
import "./chunk-MLPPSCDQ.js";
|
|
63
|
+
import "./chunk-G53MA5XX.js";
|
|
64
64
|
import "./chunk-DUKW3R7O.js";
|
|
65
65
|
import "./chunk-KAE7AMYE.js";
|
|
66
66
|
import "./chunk-T4APHDES.js";
|
|
67
|
-
import "./chunk-
|
|
68
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-QTJQIHDZ.js";
|
|
68
|
+
import "./chunk-ZJ3H3VS7.js";
|
|
69
69
|
import "./chunk-CK3ONRRC.js";
|
|
70
70
|
import "./chunk-TCHAWJMB.js";
|
|
71
71
|
import "./chunk-3KXDH6OB.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TaskDesignProposalSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XYQD4LDI.js";
|
|
4
4
|
import {
|
|
5
5
|
ConnectedCaseRefSchema,
|
|
6
6
|
ConnectedStartingAssetSchema,
|
|
@@ -12,24 +12,25 @@ import {
|
|
|
12
12
|
DatasetWorkspaceValidationSchema,
|
|
13
13
|
DatasetWorkspaceVersionsSchema,
|
|
14
14
|
DatasetWorkspaceWriteSchema
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-QEIT5VXJ.js";
|
|
16
16
|
import {
|
|
17
17
|
compileTasksetDraftWorkspace
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-36WJTS5V.js";
|
|
19
19
|
import {
|
|
20
|
-
TasksetDraftSchema,
|
|
21
|
-
createTasksetDraft,
|
|
22
20
|
createTasksetDraftFile,
|
|
23
21
|
createTasksetDraftWorkspace,
|
|
24
22
|
decodeTasksetDraftFileContent,
|
|
25
23
|
decodeTasksetDraftWorkspaceFile,
|
|
26
24
|
validateTasksetDraftWorkspace
|
|
27
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-BFR3VC25.js";
|
|
28
26
|
import {
|
|
29
27
|
TasksetCatalogReleaseRefSchema
|
|
30
28
|
} from "./chunk-K3JCP4FO.js";
|
|
31
29
|
import "./chunk-ROBAX5TN.js";
|
|
32
|
-
import
|
|
30
|
+
import {
|
|
31
|
+
TasksetDraftSchema,
|
|
32
|
+
createTasksetDraft
|
|
33
|
+
} from "./chunk-CWXM57QR.js";
|
|
33
34
|
import {
|
|
34
35
|
TaskDataRecordSchema,
|
|
35
36
|
TaskRequiredOutputSchema,
|
|
@@ -37,15 +38,15 @@ import {
|
|
|
37
38
|
TasksetSourceRefSchema
|
|
38
39
|
} from "./chunk-FHCSDXIA.js";
|
|
39
40
|
import "./chunk-2U54EOXJ.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-TMUAKJWX.js";
|
|
42
|
+
import "./chunk-MLPPSCDQ.js";
|
|
43
|
+
import "./chunk-G53MA5XX.js";
|
|
43
44
|
import "./chunk-DUKW3R7O.js";
|
|
44
45
|
import "./chunk-KAE7AMYE.js";
|
|
45
46
|
import {
|
|
46
47
|
ExperimentGraderPinSchema
|
|
47
|
-
} from "./chunk-
|
|
48
|
-
import "./chunk-
|
|
48
|
+
} from "./chunk-QTJQIHDZ.js";
|
|
49
|
+
import "./chunk-ZJ3H3VS7.js";
|
|
49
50
|
import "./chunk-CK3ONRRC.js";
|
|
50
51
|
import "./chunk-TCHAWJMB.js";
|
|
51
52
|
import "./chunk-3KXDH6OB.js";
|