openpond-sdk 0.12.5 → 0.12.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/TASKSETS.md +13 -0
- package/TRAINING_PROTOCOL.md +25 -0
- package/dist/advanced-refiner-evaluations.js +7 -7
- package/dist/candidate-evaluations.js +6 -6
- package/dist/{chunk-EJZ7HOIS.js → chunk-2XLKMZH5.js} +485 -251
- package/dist/chunk-2XLKMZH5.js.map +1 -0
- package/dist/{chunk-CAMLCKSF.js → chunk-3SIGXGAE.js} +132 -87
- package/dist/chunk-3SIGXGAE.js.map +1 -0
- package/dist/{chunk-T3MFWGMX.js → chunk-3VGTVZHL.js} +3 -3
- package/dist/{chunk-O54KGALH.js → chunk-5T76GARR.js} +2 -2
- package/dist/{chunk-WQFU635Q.js → chunk-ATVQQCYN.js} +8 -4
- package/dist/chunk-ATVQQCYN.js.map +1 -0
- package/dist/{chunk-MJELLVQP.js → chunk-B2MKB7NB.js} +2 -2
- package/dist/{chunk-H4NTJFEE.js → chunk-D3WOJTUY.js} +3 -2
- package/dist/{chunk-H4NTJFEE.js.map → chunk-D3WOJTUY.js.map} +1 -1
- package/dist/{chunk-F4GITADW.js → chunk-ETFWUMEJ.js} +2 -2
- package/dist/{chunk-6KKM2XRR.js → chunk-FPA3AVCP.js} +35 -6
- package/dist/chunk-FPA3AVCP.js.map +1 -0
- package/dist/{chunk-QFBSNSUL.js → chunk-HRJKDHHG.js} +6 -4
- package/dist/chunk-HRJKDHHG.js.map +1 -0
- package/dist/{chunk-6GQ3GIAP.js → chunk-HRZLFJXX.js} +3 -3
- package/dist/{chunk-BJ5MKLWH.js → chunk-KD6MM67B.js} +6 -6
- package/dist/{chunk-RE426Q7Y.js → chunk-LIMTJR3A.js} +3 -3
- package/dist/{chunk-ZFYI4P6C.js → chunk-ONGOAEY6.js} +14 -2
- package/dist/chunk-ONGOAEY6.js.map +1 -0
- package/dist/{chunk-FLNWE5ZA.js → chunk-QDYHSJT5.js} +22 -8
- package/dist/chunk-QDYHSJT5.js.map +1 -0
- package/dist/{chunk-GWGDWZVN.js → chunk-RDL6QIQO.js} +2 -2
- package/dist/{chunk-BGNPKYBJ.js → chunk-S2IASCGW.js} +3 -3
- package/dist/{chunk-KKL6OICH.js → chunk-SER76PQ7.js} +2 -2
- package/dist/{chunk-6MFFKAU6.js → chunk-SMHZT6RM.js} +2 -2
- package/dist/{chunk-BYNVSWIQ.js → chunk-SQBYHWZU.js} +2 -2
- package/dist/{chunk-6Y67YHVH.js → chunk-VBVFE33M.js} +5 -5
- package/dist/{chunk-DBKCSQVH.js → chunk-VQGTYGZH.js} +2 -2
- package/dist/{chunk-25L5IXHA.js → chunk-VTAGUWXH.js} +2 -2
- package/dist/{chunk-HOOHJCE7.js → chunk-XF3JR72U.js} +3 -3
- package/dist/{chunk-VZPNRPXL.js → chunk-Y3I7SN5W.js} +61 -35
- package/dist/chunk-Y3I7SN5W.js.map +1 -0
- package/dist/{chunk-XACJ63U4.js → chunk-Z4XGSEKC.js} +577 -249
- package/dist/chunk-Z4XGSEKC.js.map +1 -0
- package/dist/{chunk-AUNNXJQE.js → chunk-ZGZLN4LH.js} +2 -2
- package/dist/connected-evidence.js +14 -14
- package/dist/dataset-workspaces.js +14 -14
- package/dist/experiment-evaluation-schedules.js +18 -18
- package/dist/experiment-improvements.js +7 -7
- package/dist/experiments.js +17 -17
- package/dist/index.js +34 -33
- package/dist/index.js.map +1 -1
- package/dist/learning.js +113 -9
- package/dist/learning.js.map +1 -1
- package/dist/model-projects.js +1 -1
- package/dist/model-starter-attempts.js +2 -2
- package/dist/model-starter-catalog.js +9 -9
- package/dist/model-starters.js +13 -9
- package/dist/model-taskset-runs.js +3 -3
- package/dist/post-training.js +6 -6
- package/dist/taskset-drafts.js +12 -12
- package/dist/taskset-packages.js +15 -15
- package/dist/training-bundle.js +81 -19
- package/dist/training-bundle.js.map +1 -1
- package/dist/training.js +39 -7
- package/dist/types/packages/cloud/src/sandbox/sandbox-instance-client.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/url.d.ts +3 -1
- package/dist/types/packages/cloud/src/sandbox/url.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +4 -0
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts +2 -0
- package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +14 -0
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +4 -0
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +4 -0
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-client.d.ts +1 -0
- package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts +358 -0
- package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/learning.d.ts +1 -0
- package/dist/types/packages/sdk/src/learning.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +24 -0
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts +16 -0
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-projects.d.ts +172 -0
- package/dist/types/packages/sdk/src/model-projects.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starters.d.ts +84 -1
- package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +28 -28
- package/dist/types/packages/sdk/src/model-training-defaults.d.ts +14 -0
- package/dist/types/packages/sdk/src/model-training-defaults.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/post-training.d.ts +46 -0
- package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +141 -120
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +51 -0
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-compute-selection.d.ts +52 -0
- package/dist/types/packages/sdk/src/training-compute-selection.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-estimates.d.ts +1069 -0
- package/dist/types/packages/sdk/src/training-estimates.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +40 -40
- package/dist/types/packages/sdk/src/training-physical-placement.d.ts +16 -0
- package/dist/types/packages/sdk/src/training-physical-placement.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-preparations.d.ts +248 -0
- package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +20 -0
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-queue.d.ts +24 -0
- package/dist/types/packages/sdk/src/training-queue.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-recipe-binding.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-recovery.d.ts +85 -0
- package/dist/types/packages/sdk/src/training-recovery.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-verifier-assets.d.ts +7 -0
- package/dist/types/packages/sdk/src/training-verifier-assets.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training.d.ts +599 -0
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-6KKM2XRR.js.map +0 -1
- package/dist/chunk-CAMLCKSF.js.map +0 -1
- package/dist/chunk-EJZ7HOIS.js.map +0 -1
- package/dist/chunk-FLNWE5ZA.js.map +0 -1
- package/dist/chunk-QFBSNSUL.js.map +0 -1
- package/dist/chunk-VZPNRPXL.js.map +0 -1
- package/dist/chunk-WQFU635Q.js.map +0 -1
- package/dist/chunk-XACJ63U4.js.map +0 -1
- package/dist/chunk-ZFYI4P6C.js.map +0 -1
- /package/dist/{chunk-T3MFWGMX.js.map → chunk-3VGTVZHL.js.map} +0 -0
- /package/dist/{chunk-O54KGALH.js.map → chunk-5T76GARR.js.map} +0 -0
- /package/dist/{chunk-MJELLVQP.js.map → chunk-B2MKB7NB.js.map} +0 -0
- /package/dist/{chunk-F4GITADW.js.map → chunk-ETFWUMEJ.js.map} +0 -0
- /package/dist/{chunk-6GQ3GIAP.js.map → chunk-HRZLFJXX.js.map} +0 -0
- /package/dist/{chunk-BJ5MKLWH.js.map → chunk-KD6MM67B.js.map} +0 -0
- /package/dist/{chunk-RE426Q7Y.js.map → chunk-LIMTJR3A.js.map} +0 -0
- /package/dist/{chunk-GWGDWZVN.js.map → chunk-RDL6QIQO.js.map} +0 -0
- /package/dist/{chunk-BGNPKYBJ.js.map → chunk-S2IASCGW.js.map} +0 -0
- /package/dist/{chunk-KKL6OICH.js.map → chunk-SER76PQ7.js.map} +0 -0
- /package/dist/{chunk-6MFFKAU6.js.map → chunk-SMHZT6RM.js.map} +0 -0
- /package/dist/{chunk-BYNVSWIQ.js.map → chunk-SQBYHWZU.js.map} +0 -0
- /package/dist/{chunk-6Y67YHVH.js.map → chunk-VBVFE33M.js.map} +0 -0
- /package/dist/{chunk-DBKCSQVH.js.map → chunk-VQGTYGZH.js.map} +0 -0
- /package/dist/{chunk-25L5IXHA.js.map → chunk-VTAGUWXH.js.map} +0 -0
- /package/dist/{chunk-HOOHJCE7.js.map → chunk-XF3JR72U.js.map} +0 -0
- /package/dist/{chunk-AUNNXJQE.js.map → chunk-ZGZLN4LH.js.map} +0 -0
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
ModelProjectVersionedRefSchema,
|
|
9
9
|
canonicalJson as canonicalJson2
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3SIGXGAE.js";
|
|
11
11
|
import {
|
|
12
12
|
ImmutableAssetRefSchema,
|
|
13
13
|
ImmutableReleaseRefSchema,
|
|
@@ -442,9 +442,9 @@ var require_codegen = __commonJS({
|
|
|
442
442
|
}
|
|
443
443
|
};
|
|
444
444
|
var Label = class extends Node {
|
|
445
|
-
constructor(
|
|
445
|
+
constructor(label2) {
|
|
446
446
|
super();
|
|
447
|
-
this.label =
|
|
447
|
+
this.label = label2;
|
|
448
448
|
this.names = {};
|
|
449
449
|
}
|
|
450
450
|
render({ _n }) {
|
|
@@ -452,14 +452,14 @@ var require_codegen = __commonJS({
|
|
|
452
452
|
}
|
|
453
453
|
};
|
|
454
454
|
var Break = class extends Node {
|
|
455
|
-
constructor(
|
|
455
|
+
constructor(label2) {
|
|
456
456
|
super();
|
|
457
|
-
this.label =
|
|
457
|
+
this.label = label2;
|
|
458
458
|
this.names = {};
|
|
459
459
|
}
|
|
460
460
|
render({ _n }) {
|
|
461
|
-
const
|
|
462
|
-
return `break${
|
|
461
|
+
const label2 = this.label ? ` ${this.label}` : "";
|
|
462
|
+
return `break${label2};` + _n;
|
|
463
463
|
}
|
|
464
464
|
};
|
|
465
465
|
var Throw = class extends Node {
|
|
@@ -871,12 +871,12 @@ var require_codegen = __commonJS({
|
|
|
871
871
|
return this._endBlockNode(For);
|
|
872
872
|
}
|
|
873
873
|
// `label` statement
|
|
874
|
-
label(
|
|
875
|
-
return this._leafNode(new Label(
|
|
874
|
+
label(label2) {
|
|
875
|
+
return this._leafNode(new Label(label2));
|
|
876
876
|
}
|
|
877
877
|
// `break` statement
|
|
878
|
-
break(
|
|
879
|
-
return this._leafNode(new Break(
|
|
878
|
+
break(label2) {
|
|
879
|
+
return this._leafNode(new Break(label2));
|
|
880
880
|
}
|
|
881
881
|
// `return` statement
|
|
882
882
|
return(value) {
|
|
@@ -2974,7 +2974,7 @@ var require_compile = __commonJS({
|
|
|
2974
2974
|
const schOrFunc = root.refs[ref];
|
|
2975
2975
|
if (schOrFunc)
|
|
2976
2976
|
return schOrFunc;
|
|
2977
|
-
let _sch =
|
|
2977
|
+
let _sch = resolve2.call(this, root, ref);
|
|
2978
2978
|
if (_sch === void 0) {
|
|
2979
2979
|
const schema = (_a = root.localRefs) === null || _a === void 0 ? void 0 : _a[ref];
|
|
2980
2980
|
const { schemaId } = this.opts;
|
|
@@ -3001,7 +3001,7 @@ var require_compile = __commonJS({
|
|
|
3001
3001
|
function sameSchemaEnv(s1, s2) {
|
|
3002
3002
|
return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;
|
|
3003
3003
|
}
|
|
3004
|
-
function
|
|
3004
|
+
function resolve2(root, ref) {
|
|
3005
3005
|
let sch;
|
|
3006
3006
|
while (typeof (sch = this.refs[ref]) == "string")
|
|
3007
3007
|
ref = sch;
|
|
@@ -3632,7 +3632,7 @@ var require_fast_uri = __commonJS({
|
|
|
3632
3632
|
}
|
|
3633
3633
|
return uri;
|
|
3634
3634
|
}
|
|
3635
|
-
function
|
|
3635
|
+
function resolve2(baseURI, relativeURI, options) {
|
|
3636
3636
|
const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
|
|
3637
3637
|
const resolved = resolveComponent(parse(baseURI, schemelessOptions), parse(relativeURI, schemelessOptions), schemelessOptions, true);
|
|
3638
3638
|
schemelessOptions.skipEscape = true;
|
|
@@ -3890,7 +3890,7 @@ var require_fast_uri = __commonJS({
|
|
|
3890
3890
|
var fastUri = {
|
|
3891
3891
|
SCHEMES,
|
|
3892
3892
|
normalize,
|
|
3893
|
-
resolve,
|
|
3893
|
+
resolve: resolve2,
|
|
3894
3894
|
resolveComponent,
|
|
3895
3895
|
equal: equal2,
|
|
3896
3896
|
serialize,
|
|
@@ -7408,13 +7408,218 @@ var ExternalDatasetSourceRefSchema = z3.discriminatedUnion("kind", [
|
|
|
7408
7408
|
]);
|
|
7409
7409
|
|
|
7410
7410
|
// src/taskset-draft-harness-actions.ts
|
|
7411
|
-
import { z as
|
|
7411
|
+
import { z as z5 } from "zod";
|
|
7412
7412
|
|
|
7413
7413
|
// ../harness/dist/structured-output.js
|
|
7414
7414
|
var import__ = __toESM(require__(), 1);
|
|
7415
|
+
|
|
7416
|
+
// ../harness/dist/structured-output-diagnostics.js
|
|
7417
|
+
var object = (value) => !!value && typeof value === "object" && !Array.isArray(value);
|
|
7418
|
+
var escape2 = (value) => value.replaceAll("~", "~0").replaceAll("/", "~1");
|
|
7419
|
+
var unescape2 = (value) => value.replaceAll("~1", "/").replaceAll("~0", "~");
|
|
7420
|
+
var label = (path) => path || "/";
|
|
7421
|
+
function literal(value) {
|
|
7422
|
+
const text = JSON.stringify(value);
|
|
7423
|
+
return text && text.length <= 160 ? text : "the value declared in the public schema";
|
|
7424
|
+
}
|
|
7425
|
+
function at(root, parts) {
|
|
7426
|
+
let value = root;
|
|
7427
|
+
for (const encoded of parts) {
|
|
7428
|
+
const key = unescape2(encoded);
|
|
7429
|
+
if (!object(value) && !Array.isArray(value) || !Object.hasOwn(value, key))
|
|
7430
|
+
return void 0;
|
|
7431
|
+
value = value[key];
|
|
7432
|
+
}
|
|
7433
|
+
return value;
|
|
7434
|
+
}
|
|
7435
|
+
function resolve(schema, root, depth = 0) {
|
|
7436
|
+
if (!object(schema) || depth > 20)
|
|
7437
|
+
return null;
|
|
7438
|
+
if (typeof schema.$ref === "string" && schema.$ref.startsWith("#/")) {
|
|
7439
|
+
return resolve(at(root, schema.$ref.slice(2).split("/")), root, depth + 1);
|
|
7440
|
+
}
|
|
7441
|
+
return schema;
|
|
7442
|
+
}
|
|
7443
|
+
function describe(schema, path, data, root, depth = 0) {
|
|
7444
|
+
const rule = resolve(schema, root);
|
|
7445
|
+
if (!rule || depth > 6)
|
|
7446
|
+
return null;
|
|
7447
|
+
const where = label(path);
|
|
7448
|
+
if (Object.hasOwn(rule, "const"))
|
|
7449
|
+
return `${where} must equal ${literal(rule.const)}`;
|
|
7450
|
+
if (Array.isArray(rule.enum) && rule.enum.length <= 12)
|
|
7451
|
+
return `${where} must be one of ${literal(rule.enum)}`;
|
|
7452
|
+
if (Array.isArray(data)) {
|
|
7453
|
+
if (rule.maxItems === 0)
|
|
7454
|
+
return `${where} must be an empty array`;
|
|
7455
|
+
const negated = object(rule.not) ? rule.not : null;
|
|
7456
|
+
const every = negated && object(negated.items) ? negated.items : null;
|
|
7457
|
+
const predicate = every && object(every.not) ? resolve(every.not, root) : null;
|
|
7458
|
+
const required = predicate?.required;
|
|
7459
|
+
if (predicate && object(predicate.properties) && Array.isArray(required)) {
|
|
7460
|
+
const fields = Object.entries(predicate.properties);
|
|
7461
|
+
if (fields.length && fields.every(([key, value]) => object(value) && Object.hasOwn(value, "const") && required.includes(key))) {
|
|
7462
|
+
const match = Object.fromEntries(fields.map(([key, value]) => [key, value.const]));
|
|
7463
|
+
return `${where} must contain at least one item matching ${literal(match)}`;
|
|
7464
|
+
}
|
|
7465
|
+
}
|
|
7466
|
+
if (typeof rule.maxItems === "number")
|
|
7467
|
+
return `${where} must contain at most ${rule.maxItems} items`;
|
|
7468
|
+
if (typeof rule.minItems === "number")
|
|
7469
|
+
return `${where} must contain at least ${rule.minItems} items`;
|
|
7470
|
+
}
|
|
7471
|
+
if (object(rule.properties) && object(data)) {
|
|
7472
|
+
const parts = Object.entries(rule.properties).flatMap(([key, child]) => {
|
|
7473
|
+
if (!Object.hasOwn(data, key))
|
|
7474
|
+
return [];
|
|
7475
|
+
const message = describe(child, path + "/" + escape2(key), data[key], root, depth + 1);
|
|
7476
|
+
return message ? [message] : [];
|
|
7477
|
+
});
|
|
7478
|
+
if (parts.length)
|
|
7479
|
+
return parts.slice(0, 4).join("; ");
|
|
7480
|
+
}
|
|
7481
|
+
if (Array.isArray(rule.required) && object(data)) {
|
|
7482
|
+
const missing = rule.required.filter((key) => typeof key === "string" && !Object.hasOwn(data, key));
|
|
7483
|
+
if (missing.length)
|
|
7484
|
+
return `${where} must include ${missing.slice(0, 4).map(literal).join(", ")}`;
|
|
7485
|
+
}
|
|
7486
|
+
return null;
|
|
7487
|
+
}
|
|
7488
|
+
function structuredOutputDiagnostic(schema, data, error) {
|
|
7489
|
+
const path = error.instancePath + (error.keyword === "required" ? "/" + escape2(String(error.params.missingProperty)) : "");
|
|
7490
|
+
const parts = error.schemaPath.startsWith("#/") ? error.schemaPath.slice(2).split("/") : [];
|
|
7491
|
+
let message = error.message ?? "Schema assertion failed";
|
|
7492
|
+
const owner = at(schema, parts.slice(0, -1));
|
|
7493
|
+
const requirement = describe(owner, error.instancePath, at(data, error.instancePath ? error.instancePath.slice(1).split("/") : []), schema);
|
|
7494
|
+
for (let index = parts.length - 1; index >= 0; index--) {
|
|
7495
|
+
if (parts[index] !== "then" && parts[index] !== "else")
|
|
7496
|
+
continue;
|
|
7497
|
+
const conditional = at(schema, parts.slice(0, index));
|
|
7498
|
+
if (!object(conditional) || !object(conditional.if))
|
|
7499
|
+
continue;
|
|
7500
|
+
const instance = error.instancePath ? error.instancePath.slice(1).split("/") : [];
|
|
7501
|
+
const suffix = parts.slice(index + 1);
|
|
7502
|
+
const descents = suffix.filter((part, offset) => offset > 0 && suffix[offset - 1] === "properties" || part === "items" && suffix[offset - 1] !== "properties").length;
|
|
7503
|
+
const parent = descents <= instance.length ? instance.slice(0, instance.length - descents) : [];
|
|
7504
|
+
const parentPath = parent.length ? "/" + parent.join("/") : "";
|
|
7505
|
+
const condition = describe(conditional.if, parentPath, at(data, parent), schema);
|
|
7506
|
+
if (condition && requirement) {
|
|
7507
|
+
const observed = condition.replaceAll(" must be ", " is ").replaceAll(" must equal ", " equals ").replaceAll(" must contain ", " contains ").replaceAll(" must include ", " includes ");
|
|
7508
|
+
message = `${parts[index] === "then" ? "When" : "When the following condition does not hold:"} ${observed}, ${requirement}.`;
|
|
7509
|
+
}
|
|
7510
|
+
break;
|
|
7511
|
+
}
|
|
7512
|
+
if (message === error.message && requirement && ["not", "enum", "const", "minItems", "maxItems"].includes(error.keyword)) {
|
|
7513
|
+
message = requirement + ".";
|
|
7514
|
+
}
|
|
7515
|
+
return { path, message, keyword: error.keyword, schemaPath: error.schemaPath };
|
|
7516
|
+
}
|
|
7517
|
+
|
|
7518
|
+
// ../harness/dist/structured-output-sampling.js
|
|
7519
|
+
import { z as z4 } from "zod";
|
|
7520
|
+
var StructuredSamplingSchemaDeclarationSchema = z4.object({
|
|
7521
|
+
schemaVersion: z4.literal("openpond.structuredSamplingSchema.v1"),
|
|
7522
|
+
validationSchemaHash: z4.string().regex(/^[a-f0-9]{64}$/),
|
|
7523
|
+
schemaRef: ImmutableAssetRefSchema.refine((ref) => ref.visibility === "policy" && ref.sizeBytes <= 128e3 && ["application/json", "application/schema+json"].includes(ref.mediaType), "Sampling schemas must be bounded policy-visible JSON assets."),
|
|
7524
|
+
postValidationOnly: z4.array(z4.object({
|
|
7525
|
+
schemaPath: z4.string().min(1).max(2e3),
|
|
7526
|
+
keyword: z4.literal("maxItems"),
|
|
7527
|
+
enforcement: z4.literal("full_validation_only")
|
|
7528
|
+
}).strict()).min(1).max(100)
|
|
7529
|
+
}).strict();
|
|
7530
|
+
var StructuredSamplingSchemaContractSchema = z4.object({
|
|
7531
|
+
declaration: StructuredSamplingSchemaDeclarationSchema,
|
|
7532
|
+
schema: z4.record(z4.string(), z4.unknown()),
|
|
7533
|
+
schemaHash: z4.string().regex(/^[a-f0-9]{64}$/),
|
|
7534
|
+
schemaSource: z4.string().max(128e3)
|
|
7535
|
+
}).strict();
|
|
7536
|
+
function structuredSamplingSchemaDeclaration(metadata) {
|
|
7537
|
+
const value = metadata?.structuredSamplingSchema;
|
|
7538
|
+
return value === void 0 ? void 0 : StructuredSamplingSchemaDeclarationSchema.parse(value);
|
|
7539
|
+
}
|
|
7540
|
+
var object2 = (value) => !!value && typeof value === "object" && !Array.isArray(value);
|
|
7541
|
+
var escape3 = (key) => key.replaceAll("~", "~0").replaceAll("/", "~1");
|
|
7542
|
+
function projectStructuredSamplingSchema(full, declarationInput) {
|
|
7543
|
+
const declaration = StructuredSamplingSchemaDeclarationSchema.parse(declarationInput);
|
|
7544
|
+
if (declaration.validationSchemaHash !== full.schemaHash)
|
|
7545
|
+
throw new Error("structured_sampling_validation_identity_changed");
|
|
7546
|
+
if (sha256Hex(full.schemaSource) !== full.schemaHash || canonicalJson(JSON.parse(full.schemaSource)) !== canonicalJson(full.schema))
|
|
7547
|
+
throw new Error("structured_sampling_validation_source_changed");
|
|
7548
|
+
const result = JSON.parse(full.schemaSource);
|
|
7549
|
+
const targets = /* @__PURE__ */ new Map();
|
|
7550
|
+
function visit(schema, path, positive = true) {
|
|
7551
|
+
if (!object2(schema))
|
|
7552
|
+
return;
|
|
7553
|
+
if (schema.$ref !== void 0)
|
|
7554
|
+
throw new Error("structured_sampling_reference_unsupported");
|
|
7555
|
+
const types = Array.isArray(schema.type) ? schema.type : [schema.type];
|
|
7556
|
+
if (positive && types.includes("array") && Number.isSafeInteger(schema.maxItems) && Number(schema.maxItems) >= 0) {
|
|
7557
|
+
targets.set(`${path}/maxItems`, schema);
|
|
7558
|
+
}
|
|
7559
|
+
for (const key of ["properties", "$defs"])
|
|
7560
|
+
if (object2(schema[key])) {
|
|
7561
|
+
for (const [name, child] of Object.entries(schema[key]))
|
|
7562
|
+
visit(child, `${path}/${key}/${escape3(name)}`, positive && key !== "$defs");
|
|
7563
|
+
}
|
|
7564
|
+
for (const key of ["items", "additionalProperties", "then", "else", "not", "if"]) {
|
|
7565
|
+
if (schema[key] !== void 0)
|
|
7566
|
+
visit(schema[key], `${path}/${key}`, positive && key !== "not" && key !== "if");
|
|
7567
|
+
}
|
|
7568
|
+
for (const key of ["allOf", "anyOf", "oneOf"])
|
|
7569
|
+
if (Array.isArray(schema[key])) {
|
|
7570
|
+
schema[key].forEach((child, index) => visit(child, `${path}/${key}/${index}`, positive && key !== "oneOf"));
|
|
7571
|
+
}
|
|
7572
|
+
}
|
|
7573
|
+
visit(result, "");
|
|
7574
|
+
const seen = /* @__PURE__ */ new Set();
|
|
7575
|
+
for (const assertion of declaration.postValidationOnly) {
|
|
7576
|
+
const target = targets.get(assertion.schemaPath);
|
|
7577
|
+
if (!target || seen.has(assertion.schemaPath))
|
|
7578
|
+
throw new Error("structured_sampling_assertion_path_invalid");
|
|
7579
|
+
seen.add(assertion.schemaPath);
|
|
7580
|
+
delete target.maxItems;
|
|
7581
|
+
}
|
|
7582
|
+
return result;
|
|
7583
|
+
}
|
|
7584
|
+
function assertStructuredSamplingSchema(full, input) {
|
|
7585
|
+
const sampling = StructuredSamplingSchemaContractSchema.parse(input);
|
|
7586
|
+
const derived = projectStructuredSamplingSchema(full, sampling.declaration);
|
|
7587
|
+
const expectedSource = JSON.stringify(derived);
|
|
7588
|
+
if (sampling.schemaSource !== expectedSource || canonicalJson(sampling.schema) !== canonicalJson(derived) || sha256Hex(expectedSource) !== sampling.schemaHash || sampling.schemaHash !== sampling.declaration.schemaRef.contentHash || new TextEncoder().encode(expectedSource).byteLength !== sampling.declaration.schemaRef.sizeBytes) {
|
|
7589
|
+
throw new Error("structured_sampling_schema_identity_changed");
|
|
7590
|
+
}
|
|
7591
|
+
}
|
|
7592
|
+
function resolveStructuredSamplingSchema(full, declarationInput, bytes) {
|
|
7593
|
+
const declaration = StructuredSamplingSchemaDeclarationSchema.parse(declarationInput);
|
|
7594
|
+
if (bytes.byteLength > 128e3 || bytes.byteLength !== declaration.schemaRef.sizeBytes || sha256Hex(bytes) !== declaration.schemaRef.contentHash)
|
|
7595
|
+
throw new Error("structured_sampling_asset_mismatch");
|
|
7596
|
+
const schemaSource = new TextDecoder("utf-8", { fatal: true }).decode(bytes);
|
|
7597
|
+
const sampling = {
|
|
7598
|
+
declaration,
|
|
7599
|
+
schema: JSON.parse(schemaSource),
|
|
7600
|
+
schemaHash: declaration.schemaRef.contentHash,
|
|
7601
|
+
schemaSource
|
|
7602
|
+
};
|
|
7603
|
+
assertStructuredSamplingSchema(full, sampling);
|
|
7604
|
+
return sampling;
|
|
7605
|
+
}
|
|
7606
|
+
function structuredSamplingSchemaAssertions(full, sampling) {
|
|
7607
|
+
assertStructuredSamplingSchema(full, sampling);
|
|
7608
|
+
const schema = JSON.parse(full.schemaSource);
|
|
7609
|
+
return sampling.declaration.postValidationOnly.map((assertion) => {
|
|
7610
|
+
let value = schema;
|
|
7611
|
+
for (const part of assertion.schemaPath.slice(1).split("/")) {
|
|
7612
|
+
const key = part.replaceAll("~1", "/").replaceAll("~0", "~");
|
|
7613
|
+
value = object2(value) || Array.isArray(value) ? Reflect.get(value, key) : void 0;
|
|
7614
|
+
}
|
|
7615
|
+
return { ...assertion, value };
|
|
7616
|
+
});
|
|
7617
|
+
}
|
|
7618
|
+
|
|
7619
|
+
// ../harness/dist/structured-output.js
|
|
7415
7620
|
var STRUCTURED_OUTPUT_CAPABILITY = "work.structured-output.v1";
|
|
7416
7621
|
var keywords = /* @__PURE__ */ new Set(["$schema", "$id", "$defs", "$ref", "title", "description", "type", "properties", "required", "additionalProperties", "items", "minItems", "maxItems", "minLength", "maxLength", "minimum", "maximum", "enum", "const", "allOf", "anyOf", "oneOf", "not", "if", "then", "else", "uniqueItems", "pattern", "multipleOf", "exclusiveMinimum", "exclusiveMaximum", "minProperties", "maxProperties"]);
|
|
7417
|
-
var
|
|
7622
|
+
var object3 = (value) => !!value && typeof value === "object" && !Array.isArray(value);
|
|
7418
7623
|
var validators = /* @__PURE__ */ new Map();
|
|
7419
7624
|
function compiled(schema) {
|
|
7420
7625
|
const key = sha256Hex(JSON.stringify(schema));
|
|
@@ -7428,14 +7633,14 @@ function compiled(schema) {
|
|
|
7428
7633
|
return validator;
|
|
7429
7634
|
}
|
|
7430
7635
|
function assertStructuredOutputSchema(schema) {
|
|
7431
|
-
if (!
|
|
7636
|
+
if (!object3(schema) || schema.type !== "object" || JSON.stringify(schema).length > 128e3)
|
|
7432
7637
|
throw new Error("structured_schema_tool_root_or_size_invalid");
|
|
7433
7638
|
const root = schema;
|
|
7434
7639
|
let nodes = 0;
|
|
7435
7640
|
function visit(value, depth, ancestors) {
|
|
7436
7641
|
if (typeof value === "boolean")
|
|
7437
7642
|
return;
|
|
7438
|
-
if (!
|
|
7643
|
+
if (!object3(value) || depth > 20 || ++nodes > 2e3 || ancestors.has(value))
|
|
7439
7644
|
throw new Error("structured_schema_complexity_or_shape");
|
|
7440
7645
|
const next = new Set(ancestors).add(value);
|
|
7441
7646
|
for (const key of Object.keys(value))
|
|
@@ -7448,7 +7653,7 @@ function assertStructuredOutputSchema(schema) {
|
|
|
7448
7653
|
throw new Error("structured_schema_external_or_recursive_ref");
|
|
7449
7654
|
let target = root;
|
|
7450
7655
|
for (const part of value.$ref.slice(2).split("/"))
|
|
7451
|
-
target =
|
|
7656
|
+
target = object3(target) && Object.hasOwn(target, part.replaceAll("~1", "/").replaceAll("~0", "~")) ? target[part.replaceAll("~1", "/").replaceAll("~0", "~")] : void 0;
|
|
7452
7657
|
visit(target, depth + 1, next);
|
|
7453
7658
|
}
|
|
7454
7659
|
if (value.pattern !== void 0) {
|
|
@@ -7460,7 +7665,7 @@ function assertStructuredOutputSchema(schema) {
|
|
|
7460
7665
|
}
|
|
7461
7666
|
for (const key of ["properties", "$defs"])
|
|
7462
7667
|
if (value[key] !== void 0) {
|
|
7463
|
-
if (!
|
|
7668
|
+
if (!object3(value[key]))
|
|
7464
7669
|
throw new Error("structured_schema_map_invalid");
|
|
7465
7670
|
for (const child of Object.values(value[key]))
|
|
7466
7671
|
visit(child, depth + 1, next);
|
|
@@ -7492,6 +7697,8 @@ function assertStructuredOutputContract(contract) {
|
|
|
7492
7697
|
throw new Error("structured_schema_contract_changed");
|
|
7493
7698
|
if (!/^[a-f0-9]{64}$/.test(contract.schemaHash))
|
|
7494
7699
|
throw new Error("structured_schema_hash_invalid");
|
|
7700
|
+
if (contract.sampling !== void 0)
|
|
7701
|
+
assertStructuredSamplingSchema(contract, contract.sampling);
|
|
7495
7702
|
}
|
|
7496
7703
|
function structuredOutputTools(outputs) {
|
|
7497
7704
|
const paths = /* @__PURE__ */ new Set();
|
|
@@ -7507,7 +7714,7 @@ function structuredOutputTools(outputs) {
|
|
|
7507
7714
|
if (output.mediaType !== "application/json" || !output.structuredOutput)
|
|
7508
7715
|
throw new Error("structured_output_contract_missing");
|
|
7509
7716
|
assertStructuredOutputContract(output.structuredOutput);
|
|
7510
|
-
return [{ type: "function", function: { name: `work_submit_output_${index + 1}`, description: `Validate and save ${output.path}. Supply the output fields directly; validation errors can be corrected and resubmitted
|
|
7717
|
+
return [{ type: "function", function: { name: `work_submit_output_${index + 1}`, description: `Validate and save ${output.path}. Supply the output fields directly; validation errors can be corrected and resubmitted.${output.structuredOutput.sampling ? " Full validation also enforces the postValidationOnly limits listed in requiredOutputs; a generated call can fail those submission limits." : ""}`, parameters: output.structuredOutput.sampling ? JSON.parse(output.structuredOutput.sampling.schemaSource) : output.structuredOutput.schema } }];
|
|
7511
7718
|
});
|
|
7512
7719
|
}
|
|
7513
7720
|
function structuredToolOutput(outputs, name) {
|
|
@@ -7518,7 +7725,7 @@ function validateStructuredOutput(schema, data) {
|
|
|
7518
7725
|
function bound(value, depth) {
|
|
7519
7726
|
if (depth > 30 || ++nodes > 1e4 || Array.isArray(value) && value.length > 1e3)
|
|
7520
7727
|
throw new Error("structured_output_payload_complexity");
|
|
7521
|
-
if (
|
|
7728
|
+
if (object3(value) || Array.isArray(value))
|
|
7522
7729
|
for (const child of Object.values(value))
|
|
7523
7730
|
bound(child, depth + 1);
|
|
7524
7731
|
}
|
|
@@ -7526,7 +7733,7 @@ function validateStructuredOutput(schema, data) {
|
|
|
7526
7733
|
const validator = compiled(schema);
|
|
7527
7734
|
if (validator(data))
|
|
7528
7735
|
return [];
|
|
7529
|
-
return (validator.errors ?? []).slice(0, 20).map((error) => (
|
|
7736
|
+
return (validator.errors ?? []).slice(0, 20).map((error) => structuredOutputDiagnostic(schema, data, error));
|
|
7530
7737
|
}
|
|
7531
7738
|
function validateOutputBytes(output, bytes) {
|
|
7532
7739
|
if (bytes.byteLength > (output.maxBytes ?? 1e7))
|
|
@@ -7545,7 +7752,17 @@ function validateOutputBytes(output, bytes) {
|
|
|
7545
7752
|
const errors = validateStructuredOutput(output.structuredOutput.schema, data);
|
|
7546
7753
|
if (errors.length)
|
|
7547
7754
|
throw new Error("structured_output_invalid:" + JSON.stringify(errors));
|
|
7548
|
-
return {
|
|
7755
|
+
return {
|
|
7756
|
+
status: "passed",
|
|
7757
|
+
schemaHash: output.structuredOutput.schemaHash,
|
|
7758
|
+
...output.structuredOutput.sampling ? {
|
|
7759
|
+
samplingSchemaHash: output.structuredOutput.sampling.schemaHash,
|
|
7760
|
+
samplingSchemaDeclaration: output.structuredOutput.sampling.declaration,
|
|
7761
|
+
postValidationOnly: structuredSamplingSchemaAssertions(output.structuredOutput, output.structuredOutput.sampling)
|
|
7762
|
+
} : {},
|
|
7763
|
+
artifactHash: sha256Hex(bytes),
|
|
7764
|
+
capability: STRUCTURED_OUTPUT_CAPABILITY
|
|
7765
|
+
};
|
|
7549
7766
|
}
|
|
7550
7767
|
function serializeStructuredOutput(output, data) {
|
|
7551
7768
|
const bytes = new TextEncoder().encode(JSON.stringify(data, null, 2) + "\n");
|
|
@@ -7554,38 +7771,38 @@ function serializeStructuredOutput(output, data) {
|
|
|
7554
7771
|
}
|
|
7555
7772
|
|
|
7556
7773
|
// src/taskset-draft-harness-actions.ts
|
|
7557
|
-
var HarnessActionBindingSchema =
|
|
7558
|
-
schemaVersion:
|
|
7774
|
+
var HarnessActionBindingSchema = z5.object({
|
|
7775
|
+
schemaVersion: z5.literal("openpond.harnessActionBinding.v1"),
|
|
7559
7776
|
actionId: ReleaseIdSchema,
|
|
7560
|
-
modelToolName:
|
|
7561
|
-
description:
|
|
7562
|
-
inputSchema:
|
|
7777
|
+
modelToolName: z5.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
|
|
7778
|
+
description: z5.string().trim().min(1).max(1e3),
|
|
7779
|
+
inputSchema: z5.record(z5.string(), z5.unknown()),
|
|
7563
7780
|
actionSchemaHash: ReleaseHashSchema,
|
|
7564
7781
|
agentRelease: ImmutableReleaseRefSchema,
|
|
7565
7782
|
implementationHash: ReleaseHashSchema,
|
|
7566
7783
|
runtimeBindingId: ReleaseIdSchema,
|
|
7567
7784
|
capabilityReceiptHash: ReleaseHashSchema,
|
|
7568
|
-
sideEffect:
|
|
7569
|
-
studentVisible:
|
|
7570
|
-
timeoutMs:
|
|
7571
|
-
episodeArgumentBindings:
|
|
7572
|
-
|
|
7785
|
+
sideEffect: z5.enum(["read", "write"]),
|
|
7786
|
+
studentVisible: z5.boolean(),
|
|
7787
|
+
timeoutMs: z5.number().int().positive().max(36e5),
|
|
7788
|
+
episodeArgumentBindings: z5.array(
|
|
7789
|
+
z5.object({
|
|
7573
7790
|
argument: ReleaseIdSchema,
|
|
7574
|
-
source:
|
|
7791
|
+
source: z5.literal("case_id")
|
|
7575
7792
|
}).strict()
|
|
7576
7793
|
).max(20).default([])
|
|
7577
7794
|
}).strict();
|
|
7578
7795
|
|
|
7579
7796
|
// src/taskset-draft-core.ts
|
|
7580
|
-
import { z as
|
|
7797
|
+
import { z as z6 } from "zod";
|
|
7581
7798
|
import { CustomVerifierRuntimeSchema } from "@openpond/evals/tasksets";
|
|
7582
7799
|
import { HumanFormSchema } from "@openpond/evals/human-review";
|
|
7583
|
-
var IdSchema3 =
|
|
7584
|
-
var TimestampSchema3 =
|
|
7585
|
-
var HashSchema3 =
|
|
7586
|
-
var Sha256Schema =
|
|
7587
|
-
var CodeIdentifierSchema =
|
|
7588
|
-
var MetadataSchema2 =
|
|
7800
|
+
var IdSchema3 = z6.string().trim().min(1).max(240);
|
|
7801
|
+
var TimestampSchema3 = z6.string().trim().min(1);
|
|
7802
|
+
var HashSchema3 = z6.string().trim().min(8).max(256);
|
|
7803
|
+
var Sha256Schema = z6.string().trim().regex(/^[a-f0-9]{64}$/);
|
|
7804
|
+
var CodeIdentifierSchema = z6.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/);
|
|
7805
|
+
var MetadataSchema2 = z6.record(z6.string(), z6.unknown()).default({});
|
|
7589
7806
|
var NullableIdSchema = IdSchema3.nullable();
|
|
7590
7807
|
function safeRelativeFilePath(value) {
|
|
7591
7808
|
const normalized = value.trim().replaceAll("\\", "/");
|
|
@@ -7601,175 +7818,175 @@ function safeFileName(value) {
|
|
|
7601
7818
|
return normalized.length > 0 && normalized !== "." && normalized !== ".." && !normalized.includes("/") && !normalized.includes("\\") && !normalized.includes("\0");
|
|
7602
7819
|
}
|
|
7603
7820
|
var TasksetSplitSchema = DatasetSplitSchema;
|
|
7604
|
-
var TasksetPurposeSchema =
|
|
7605
|
-
var TasksetBenchmarkBindingSchema =
|
|
7606
|
-
schemaVersion:
|
|
7821
|
+
var TasksetPurposeSchema = z6.enum(["general", "benchmark"]);
|
|
7822
|
+
var TasksetBenchmarkBindingSchema = z6.object({
|
|
7823
|
+
schemaVersion: z6.literal("openpond.tasksetBenchmark.v1"),
|
|
7607
7824
|
definitionId: IdSchema3,
|
|
7608
7825
|
releaseId: IdSchema3,
|
|
7609
7826
|
releaseHash: Sha256Schema,
|
|
7610
|
-
managedReleasePath:
|
|
7827
|
+
managedReleasePath: z6.string().trim().min(1).max(1e3).refine(safeRelativeFilePath, "Benchmark release paths must remain relative."),
|
|
7611
7828
|
adaptationSplit: TasksetSplitSchema,
|
|
7612
7829
|
evaluationSplit: TasksetSplitSchema,
|
|
7613
|
-
primaryMetric:
|
|
7830
|
+
primaryMetric: z6.enum([
|
|
7614
7831
|
"foreground_tokens",
|
|
7615
7832
|
"success_rate",
|
|
7616
7833
|
"latency_ms",
|
|
7617
7834
|
"cost_usd"
|
|
7618
7835
|
]),
|
|
7619
|
-
qualityGate:
|
|
7620
|
-
source:
|
|
7836
|
+
qualityGate: z6.enum(["none", "non_regression", "all_pass"]),
|
|
7837
|
+
source: z6.enum(["builtin", "imported"]),
|
|
7621
7838
|
metadata: MetadataSchema2
|
|
7622
7839
|
});
|
|
7623
|
-
var TasksetPreferenceComparisonBindingSchema =
|
|
7624
|
-
schemaVersion:
|
|
7840
|
+
var TasksetPreferenceComparisonBindingSchema = z6.object({
|
|
7841
|
+
schemaVersion: z6.literal("openpond.tasksetPreferenceComparisonBinding.v1"),
|
|
7625
7842
|
releaseId: IdSchema3,
|
|
7626
7843
|
releaseHash: Sha256Schema,
|
|
7627
7844
|
publishedAt: TimestampSchema3,
|
|
7628
7845
|
metadata: MetadataSchema2
|
|
7629
7846
|
});
|
|
7630
|
-
var TrainingSourceConsentSchema =
|
|
7631
|
-
status:
|
|
7632
|
-
scope:
|
|
7847
|
+
var TrainingSourceConsentSchema = z6.object({
|
|
7848
|
+
status: z6.enum(["pending", "granted", "denied", "revoked"]),
|
|
7849
|
+
scope: z6.enum(["metadata_only", "selected_turns", "full_session"]),
|
|
7633
7850
|
grantedBy: NullableIdSchema,
|
|
7634
7851
|
grantedAt: TimestampSchema3.nullable(),
|
|
7635
|
-
purpose:
|
|
7852
|
+
purpose: z6.literal("task_authoring_and_evaluation")
|
|
7636
7853
|
});
|
|
7637
|
-
var TrainingSourceRefSchema =
|
|
7638
|
-
schemaVersion:
|
|
7854
|
+
var TrainingSourceRefSchema = z6.object({
|
|
7855
|
+
schemaVersion: z6.literal("openpond.trainingSource.v1"),
|
|
7639
7856
|
id: IdSchema3,
|
|
7640
7857
|
profileId: IdSchema3,
|
|
7641
7858
|
sessionId: IdSchema3,
|
|
7642
|
-
turnIds:
|
|
7859
|
+
turnIds: z6.array(IdSchema3).max(1e3).default([]),
|
|
7643
7860
|
workspaceId: NullableIdSchema,
|
|
7644
7861
|
sourceHash: HashSchema3,
|
|
7645
7862
|
clusterKey: IdSchema3,
|
|
7646
|
-
title:
|
|
7863
|
+
title: z6.string().trim().min(1).max(500),
|
|
7647
7864
|
occurredAt: TimestampSchema3,
|
|
7648
7865
|
consent: TrainingSourceConsentSchema,
|
|
7649
|
-
connectedAppIds:
|
|
7650
|
-
secretScanStatus:
|
|
7651
|
-
piiScanStatus:
|
|
7652
|
-
licensingStatus:
|
|
7866
|
+
connectedAppIds: z6.array(IdSchema3).max(100).default([]),
|
|
7867
|
+
secretScanStatus: z6.enum(["pending", "passed", "blocked"]),
|
|
7868
|
+
piiScanStatus: z6.enum(["pending", "passed", "review", "blocked"]),
|
|
7869
|
+
licensingStatus: z6.enum(["pending", "approved", "review", "blocked"]),
|
|
7653
7870
|
metadata: MetadataSchema2
|
|
7654
7871
|
});
|
|
7655
|
-
var TasksetSourceRefSchema =
|
|
7872
|
+
var TasksetSourceRefSchema = z6.union([
|
|
7656
7873
|
TrainingSourceRefSchema,
|
|
7657
7874
|
ExternalDatasetSourceRefSchema,
|
|
7658
7875
|
ConnectedDatasetSourceRefSchema
|
|
7659
7876
|
]);
|
|
7660
|
-
var TaskPolicyBoundarySchema =
|
|
7661
|
-
policyVisibleFields:
|
|
7662
|
-
privilegedFields:
|
|
7663
|
-
hiddenGraderRefs:
|
|
7664
|
-
connectedAppScopes:
|
|
7877
|
+
var TaskPolicyBoundarySchema = z6.object({
|
|
7878
|
+
policyVisibleFields: z6.array(IdSchema3).max(1e3).default([]),
|
|
7879
|
+
privilegedFields: z6.array(IdSchema3).max(1e3).default([]),
|
|
7880
|
+
hiddenGraderRefs: z6.array(IdSchema3).max(100).default([]),
|
|
7881
|
+
connectedAppScopes: z6.array(IdSchema3).max(100).default([])
|
|
7665
7882
|
});
|
|
7666
|
-
var TaskAssetRefSchema =
|
|
7883
|
+
var TaskAssetRefSchema = z6.object({
|
|
7667
7884
|
id: IdSchema3,
|
|
7668
7885
|
sourceRefId: IdSchema3,
|
|
7669
|
-
artifactRef:
|
|
7670
|
-
fileName:
|
|
7671
|
-
stagingPath:
|
|
7672
|
-
mediaType:
|
|
7886
|
+
artifactRef: z6.string().trim().min(1).max(4e3).refine(safeRelativeFilePath, "Task asset references must be safe relative paths."),
|
|
7887
|
+
fileName: z6.string().trim().min(1).max(500).refine(safeFileName, "Task asset file names must not contain path separators."),
|
|
7888
|
+
stagingPath: z6.string().trim().min(1).max(1e3).refine(safeRelativeFilePath, "Task asset staging paths must stay inside Work inputs.").optional(),
|
|
7889
|
+
mediaType: z6.string().trim().min(1).max(200),
|
|
7673
7890
|
sha256: Sha256Schema,
|
|
7674
|
-
sizeBytes:
|
|
7891
|
+
sizeBytes: z6.number().int().nonnegative().max(25e7),
|
|
7675
7892
|
split: TasksetSplitSchema,
|
|
7676
7893
|
metadata: MetadataSchema2
|
|
7677
7894
|
}).superRefine((value, ctx) => {
|
|
7678
7895
|
if (value.stagingPath && value.stagingPath.split("/").at(-1) !== value.fileName)
|
|
7679
7896
|
ctx.addIssue({ code: "custom", message: "Staged task assets must preserve their source file name.", path: ["stagingPath"] });
|
|
7680
7897
|
});
|
|
7681
|
-
var TaskRequiredOutputSchema =
|
|
7682
|
-
path:
|
|
7683
|
-
mediaType:
|
|
7898
|
+
var TaskRequiredOutputSchema = z6.object({
|
|
7899
|
+
path: z6.string().trim().min(1).max(1e3).refine(safeRelativeFilePath, "Required output paths must stay inside the Work output directory."),
|
|
7900
|
+
mediaType: z6.string().trim().min(1).max(200),
|
|
7684
7901
|
schemaRef: IdSchema3.nullable().optional(),
|
|
7685
|
-
submissionMode:
|
|
7686
|
-
maxBytes:
|
|
7902
|
+
submissionMode: z6.literal("structured_json").optional(),
|
|
7903
|
+
maxBytes: z6.number().int().positive().max(1e7).optional(),
|
|
7687
7904
|
metadata: MetadataSchema2
|
|
7688
7905
|
});
|
|
7689
|
-
var TaskDataRecordSchema =
|
|
7690
|
-
schemaVersion:
|
|
7906
|
+
var TaskDataRecordSchema = z6.object({
|
|
7907
|
+
schemaVersion: z6.literal("openpond.taskData.v1"),
|
|
7691
7908
|
id: IdSchema3,
|
|
7692
7909
|
clusterKey: IdSchema3,
|
|
7693
7910
|
split: TasksetSplitSchema,
|
|
7694
|
-
input:
|
|
7695
|
-
expectedOutput:
|
|
7696
|
-
policyVisibleContext:
|
|
7911
|
+
input: z6.record(z6.string(), z6.unknown()),
|
|
7912
|
+
expectedOutput: z6.record(z6.string(), z6.unknown()).nullable(),
|
|
7913
|
+
policyVisibleContext: z6.record(z6.string(), z6.unknown()).default({}),
|
|
7697
7914
|
privilegedContextRef: NullableIdSchema,
|
|
7698
|
-
sourceRefs:
|
|
7699
|
-
assets:
|
|
7700
|
-
resourceRefs:
|
|
7701
|
-
requiredOutputs:
|
|
7702
|
-
tags:
|
|
7915
|
+
sourceRefs: z6.array(IdSchema3).min(1).max(100),
|
|
7916
|
+
assets: z6.array(TaskAssetRefSchema).max(1e3).optional(),
|
|
7917
|
+
resourceRefs: z6.array(IdSchema3).max(1e3).optional(),
|
|
7918
|
+
requiredOutputs: z6.array(TaskRequiredOutputSchema).max(100).optional(),
|
|
7919
|
+
tags: z6.array(IdSchema3).max(100).default([]),
|
|
7703
7920
|
metadata: MetadataSchema2
|
|
7704
7921
|
});
|
|
7705
|
-
var TasksetEnvironmentResourceSchema =
|
|
7922
|
+
var TasksetEnvironmentResourceSchema = z6.object({
|
|
7706
7923
|
id: IdSchema3,
|
|
7707
|
-
kind:
|
|
7708
|
-
path:
|
|
7709
|
-
mediaType:
|
|
7710
|
-
visibility:
|
|
7711
|
-
required:
|
|
7924
|
+
kind: z6.enum(["file", "catalog", "configuration", "code_module"]),
|
|
7925
|
+
path: z6.string().trim().min(1).max(1e3).refine(safeRelativeFilePath, "Environment resource paths must remain relative."),
|
|
7926
|
+
mediaType: z6.string().trim().min(1).max(200).nullable().optional(),
|
|
7927
|
+
visibility: z6.enum(["policy_visible", "policy_hidden", "privileged"]),
|
|
7928
|
+
required: z6.boolean(),
|
|
7712
7929
|
metadata: MetadataSchema2
|
|
7713
7930
|
});
|
|
7714
|
-
var LearningSignalBaseSchema =
|
|
7931
|
+
var LearningSignalBaseSchema = z6.object({
|
|
7715
7932
|
id: IdSchema3,
|
|
7716
7933
|
taskId: NullableIdSchema,
|
|
7717
|
-
sourceRefs:
|
|
7934
|
+
sourceRefs: z6.array(IdSchema3).min(1).max(100),
|
|
7718
7935
|
artifactRef: IdSchema3,
|
|
7719
|
-
approved:
|
|
7720
|
-
confidence:
|
|
7936
|
+
approved: z6.boolean(),
|
|
7937
|
+
confidence: z6.number().min(0).max(1),
|
|
7721
7938
|
metadata: MetadataSchema2
|
|
7722
7939
|
});
|
|
7723
7940
|
var DemonstrationSignalSchema = LearningSignalBaseSchema.extend({
|
|
7724
|
-
kind:
|
|
7725
|
-
prompt:
|
|
7726
|
-
response:
|
|
7941
|
+
kind: z6.literal("demonstration"),
|
|
7942
|
+
prompt: z6.string().max(1e5).nullable().default(null),
|
|
7943
|
+
response: z6.string().max(2e5).nullable().default(null)
|
|
7727
7944
|
});
|
|
7728
7945
|
var PreferenceSignalSchema = LearningSignalBaseSchema.extend({
|
|
7729
|
-
kind:
|
|
7730
|
-
prompt:
|
|
7731
|
-
chosen:
|
|
7732
|
-
rejected:
|
|
7733
|
-
rationale:
|
|
7946
|
+
kind: z6.literal("preference"),
|
|
7947
|
+
prompt: z6.string().max(1e5),
|
|
7948
|
+
chosen: z6.string().max(2e5),
|
|
7949
|
+
rejected: z6.string().max(2e5),
|
|
7950
|
+
rationale: z6.string().max(1e5).nullable().default(null)
|
|
7734
7951
|
});
|
|
7735
7952
|
var CorrectionSignalSchema = LearningSignalBaseSchema.extend({
|
|
7736
|
-
kind:
|
|
7737
|
-
original:
|
|
7738
|
-
corrected:
|
|
7739
|
-
rationale:
|
|
7953
|
+
kind: z6.literal("correction"),
|
|
7954
|
+
original: z6.string().max(2e5),
|
|
7955
|
+
corrected: z6.string().max(2e5),
|
|
7956
|
+
rationale: z6.string().max(1e5).nullable().default(null)
|
|
7740
7957
|
});
|
|
7741
7958
|
var FeedbackSignalSchema = LearningSignalBaseSchema.extend({
|
|
7742
|
-
kind:
|
|
7743
|
-
feedback:
|
|
7744
|
-
polarity:
|
|
7959
|
+
kind: z6.literal("feedback"),
|
|
7960
|
+
feedback: z6.string().max(1e5),
|
|
7961
|
+
polarity: z6.enum(["positive", "negative", "mixed", "neutral"])
|
|
7745
7962
|
});
|
|
7746
7963
|
var RewardSignalSchema = LearningSignalBaseSchema.extend({
|
|
7747
|
-
kind:
|
|
7748
|
-
task:
|
|
7749
|
-
rules:
|
|
7964
|
+
kind: z6.literal("reward"),
|
|
7965
|
+
task: z6.string().max(1e5),
|
|
7966
|
+
rules: z6.array(z6.object({
|
|
7750
7967
|
id: IdSchema3,
|
|
7751
|
-
points:
|
|
7752
|
-
condition:
|
|
7968
|
+
points: z6.number().finite(),
|
|
7969
|
+
condition: z6.string().trim().min(1).max(1e5)
|
|
7753
7970
|
})).min(1).max(1e3),
|
|
7754
|
-
otherwisePoints:
|
|
7755
|
-
executable:
|
|
7971
|
+
otherwisePoints: z6.number().finite(),
|
|
7972
|
+
executable: z6.boolean()
|
|
7756
7973
|
});
|
|
7757
7974
|
var LabelSignalSchema = LearningSignalBaseSchema.extend({
|
|
7758
|
-
kind:
|
|
7759
|
-
labelKind:
|
|
7760
|
-
task:
|
|
7761
|
-
criteria:
|
|
7975
|
+
kind: z6.literal("label"),
|
|
7976
|
+
labelKind: z6.literal("rubric"),
|
|
7977
|
+
task: z6.string().max(1e5),
|
|
7978
|
+
criteria: z6.array(z6.object({
|
|
7762
7979
|
id: IdSchema3,
|
|
7763
|
-
label:
|
|
7764
|
-
description:
|
|
7980
|
+
label: z6.string().trim().min(1).max(500),
|
|
7981
|
+
description: z6.string().trim().min(1).max(1e5)
|
|
7765
7982
|
})).min(1).max(1e3),
|
|
7766
|
-
calibrationExamples:
|
|
7767
|
-
positive:
|
|
7768
|
-
negative:
|
|
7769
|
-
boundary:
|
|
7983
|
+
calibrationExamples: z6.object({
|
|
7984
|
+
positive: z6.string().trim().min(1).max(2e5),
|
|
7985
|
+
negative: z6.string().trim().min(1).max(2e5),
|
|
7986
|
+
boundary: z6.string().trim().min(1).max(2e5)
|
|
7770
7987
|
})
|
|
7771
7988
|
});
|
|
7772
|
-
var LearningSignalRefSchema =
|
|
7989
|
+
var LearningSignalRefSchema = z6.discriminatedUnion("kind", [
|
|
7773
7990
|
DemonstrationSignalSchema,
|
|
7774
7991
|
PreferenceSignalSchema,
|
|
7775
7992
|
CorrectionSignalSchema,
|
|
@@ -7777,85 +7994,85 @@ var LearningSignalRefSchema = z5.discriminatedUnion("kind", [
|
|
|
7777
7994
|
RewardSignalSchema,
|
|
7778
7995
|
LabelSignalSchema
|
|
7779
7996
|
]);
|
|
7780
|
-
var LearningSignalInventorySchema =
|
|
7781
|
-
demonstrations:
|
|
7782
|
-
preferences:
|
|
7783
|
-
corrections:
|
|
7784
|
-
feedback:
|
|
7785
|
-
rewards:
|
|
7786
|
-
labels:
|
|
7787
|
-
});
|
|
7788
|
-
var TasksetEnvironmentContractSchema =
|
|
7789
|
-
protocolVersion:
|
|
7790
|
-
kind:
|
|
7791
|
-
entrypoint:
|
|
7792
|
-
stateful:
|
|
7793
|
-
deterministicSeeds:
|
|
7794
|
-
toolNames:
|
|
7795
|
-
actionBindings:
|
|
7796
|
-
lifecycle:
|
|
7797
|
-
defaultTimeoutMs:
|
|
7798
|
-
networkPolicy:
|
|
7799
|
-
resources:
|
|
7997
|
+
var LearningSignalInventorySchema = z6.object({
|
|
7998
|
+
demonstrations: z6.array(DemonstrationSignalSchema).max(1e5).default([]),
|
|
7999
|
+
preferences: z6.array(PreferenceSignalSchema).max(1e5).default([]),
|
|
8000
|
+
corrections: z6.array(CorrectionSignalSchema).max(1e5).default([]),
|
|
8001
|
+
feedback: z6.array(FeedbackSignalSchema).max(1e5).default([]),
|
|
8002
|
+
rewards: z6.array(RewardSignalSchema).max(1e5).default([]),
|
|
8003
|
+
labels: z6.array(LabelSignalSchema).max(1e5).default([])
|
|
8004
|
+
});
|
|
8005
|
+
var TasksetEnvironmentContractSchema = z6.object({
|
|
8006
|
+
protocolVersion: z6.literal("openpond.taskEnvironment.v1"),
|
|
8007
|
+
kind: z6.enum(["chat", "agent", "program", "stateful_harness", "work"]),
|
|
8008
|
+
entrypoint: z6.string().trim().min(1).max(1e3),
|
|
8009
|
+
stateful: z6.boolean(),
|
|
8010
|
+
deterministicSeeds: z6.boolean(),
|
|
8011
|
+
toolNames: z6.array(IdSchema3).max(200).default([]),
|
|
8012
|
+
actionBindings: z6.array(HarnessActionBindingSchema).max(200).optional(),
|
|
8013
|
+
lifecycle: z6.array(z6.enum(["create", "reset", "step", "grade", "cleanup"])).min(1),
|
|
8014
|
+
defaultTimeoutMs: z6.number().int().positive().max(36e5),
|
|
8015
|
+
networkPolicy: z6.enum(["none", "declared_read_only", "declared_scoped"]),
|
|
8016
|
+
resources: z6.array(TasksetEnvironmentResourceSchema).max(1e4).optional(),
|
|
7800
8017
|
metadata: MetadataSchema2
|
|
7801
8018
|
});
|
|
7802
|
-
var TasksetCapabilityManifestSchema =
|
|
7803
|
-
schemaVersion:
|
|
7804
|
-
taskKind:
|
|
7805
|
-
supportedSignals:
|
|
7806
|
-
compatibleMethods:
|
|
7807
|
-
rewardKinds:
|
|
7808
|
-
requiresTools:
|
|
7809
|
-
requiresState:
|
|
7810
|
-
requiresPrivilegedGrading:
|
|
7811
|
-
environmentPlacements:
|
|
7812
|
-
exportable:
|
|
7813
|
-
portabilityBlockers:
|
|
7814
|
-
});
|
|
7815
|
-
var GraderBaseSchema =
|
|
8019
|
+
var TasksetCapabilityManifestSchema = z6.object({
|
|
8020
|
+
schemaVersion: z6.literal("openpond.tasksetCapabilities.v1"),
|
|
8021
|
+
taskKind: z6.enum(["chat", "single_agent", "multi_agent", "custom_program"]),
|
|
8022
|
+
supportedSignals: z6.array(z6.enum(["demonstration", "preference", "correction", "feedback", "reward", "label"])),
|
|
8023
|
+
compatibleMethods: z6.array(z6.enum(["none", "retrieval", "sft", "dpo", "grpo", "ppo", "sdft", "opd", "opsd", "sdpo"])),
|
|
8024
|
+
rewardKinds: z6.array(z6.enum(["none", "exact", "deterministic", "model_judge", "human"])),
|
|
8025
|
+
requiresTools: z6.boolean(),
|
|
8026
|
+
requiresState: z6.boolean(),
|
|
8027
|
+
requiresPrivilegedGrading: z6.boolean(),
|
|
8028
|
+
environmentPlacements: z6.array(z6.enum(["local", "remote", "colocated", "provider_native"])),
|
|
8029
|
+
exportable: z6.boolean(),
|
|
8030
|
+
portabilityBlockers: z6.array(z6.string().trim().min(1).max(2e3)).default([])
|
|
8031
|
+
});
|
|
8032
|
+
var GraderBaseSchema = z6.object({
|
|
7816
8033
|
id: IdSchema3,
|
|
7817
|
-
taskIds:
|
|
7818
|
-
version:
|
|
7819
|
-
label:
|
|
7820
|
-
weight:
|
|
7821
|
-
hardGate:
|
|
7822
|
-
rewardEligible:
|
|
7823
|
-
privileged:
|
|
8034
|
+
taskIds: z6.array(IdSchema3).min(1).max(1e4).refine((ids) => new Set(ids).size === ids.length, "Grader task IDs must be unique.").optional(),
|
|
8035
|
+
version: z6.string().trim().min(1).max(100),
|
|
8036
|
+
label: z6.string().trim().min(1).max(500),
|
|
8037
|
+
weight: z6.number().min(0).max(1e3).default(1),
|
|
8038
|
+
hardGate: z6.boolean().default(false),
|
|
8039
|
+
rewardEligible: z6.boolean().default(false),
|
|
8040
|
+
privileged: z6.boolean().default(false),
|
|
7824
8041
|
metadata: MetadataSchema2
|
|
7825
8042
|
});
|
|
7826
8043
|
var DeterministicGraderSpecSchema = GraderBaseSchema.extend({
|
|
7827
|
-
kind:
|
|
7828
|
-
config:
|
|
8044
|
+
kind: z6.enum(["content", "schema", "file", "diff", "test", "runtime_event", "state"]),
|
|
8045
|
+
config: z6.record(z6.string(), z6.unknown())
|
|
7829
8046
|
});
|
|
7830
8047
|
var RubricGraderSpecSchema = GraderBaseSchema.extend({
|
|
7831
|
-
kind:
|
|
7832
|
-
rubric:
|
|
8048
|
+
kind: z6.literal("model_judge"),
|
|
8049
|
+
rubric: z6.string().trim().min(1).max(5e4),
|
|
7833
8050
|
judge: ChatModelRefSchema,
|
|
7834
|
-
calibrationFixtureRefs:
|
|
7835
|
-
calibrationStatus:
|
|
7836
|
-
temperature:
|
|
8051
|
+
calibrationFixtureRefs: z6.array(IdSchema3).min(1).max(500),
|
|
8052
|
+
calibrationStatus: z6.enum(["pending", "passed", "failed"]),
|
|
8053
|
+
temperature: z6.number().min(0).max(2).default(0)
|
|
7837
8054
|
});
|
|
7838
8055
|
var HumanGraderSpecSchema = GraderBaseSchema.extend({
|
|
7839
|
-
kind:
|
|
8056
|
+
kind: z6.literal("human"),
|
|
7840
8057
|
form: HumanFormSchema.optional(),
|
|
7841
|
-
rubric:
|
|
7842
|
-
reviewerRole:
|
|
8058
|
+
rubric: z6.string().trim().min(1).max(5e4),
|
|
8059
|
+
reviewerRole: z6.string().trim().min(1).max(500)
|
|
7843
8060
|
});
|
|
7844
8061
|
var CustomVerifierGraderSpecSchema = GraderBaseSchema.extend({
|
|
7845
|
-
kind:
|
|
8062
|
+
kind: z6.literal("custom_verifier"),
|
|
7846
8063
|
runtime: CustomVerifierRuntimeSchema.optional(),
|
|
7847
|
-
module:
|
|
8064
|
+
module: z6.string().trim().min(1).max(1e3).refine(safeRelativeFilePath, "Custom verifier modules must use a safe relative path."),
|
|
7848
8065
|
exportName: CodeIdentifierSchema,
|
|
7849
|
-
timeoutMs:
|
|
7850
|
-
networkPolicy:
|
|
8066
|
+
timeoutMs: z6.number().int().positive().max(3e5),
|
|
8067
|
+
networkPolicy: z6.literal("none")
|
|
7851
8068
|
});
|
|
7852
|
-
var GraderSpecSchema =
|
|
8069
|
+
var GraderSpecSchema = z6.union([
|
|
7853
8070
|
DeterministicGraderSpecSchema,
|
|
7854
8071
|
RubricGraderSpecSchema,
|
|
7855
8072
|
HumanGraderSpecSchema,
|
|
7856
8073
|
CustomVerifierGraderSpecSchema
|
|
7857
8074
|
]);
|
|
7858
|
-
var GraderFixtureLabelSchema =
|
|
8075
|
+
var GraderFixtureLabelSchema = z6.enum([
|
|
7859
8076
|
"positive",
|
|
7860
8077
|
"negative",
|
|
7861
8078
|
"boundary",
|
|
@@ -7863,19 +8080,19 @@ var GraderFixtureLabelSchema = z5.enum([
|
|
|
7863
8080
|
"prompt_injection",
|
|
7864
8081
|
"infrastructure_failure"
|
|
7865
8082
|
]);
|
|
7866
|
-
var GraderFixtureSchema =
|
|
8083
|
+
var GraderFixtureSchema = z6.object({
|
|
7867
8084
|
id: IdSchema3,
|
|
7868
8085
|
taskId: IdSchema3,
|
|
7869
8086
|
label: GraderFixtureLabelSchema,
|
|
7870
|
-
output:
|
|
7871
|
-
infrastructureError:
|
|
7872
|
-
expectedPassed:
|
|
7873
|
-
expectedRewardEligible:
|
|
8087
|
+
output: z6.record(z6.string(), z6.unknown()),
|
|
8088
|
+
infrastructureError: z6.string().trim().min(1).max(1e4).nullable(),
|
|
8089
|
+
expectedPassed: z6.boolean(),
|
|
8090
|
+
expectedRewardEligible: z6.boolean(),
|
|
7874
8091
|
metadata: MetadataSchema2
|
|
7875
8092
|
});
|
|
7876
8093
|
|
|
7877
8094
|
// src/model-starter-execution.ts
|
|
7878
|
-
import { z as
|
|
8095
|
+
import { z as z7 } from "zod";
|
|
7879
8096
|
import { EnvironmentReleaseSchema, VerifierSetReleaseSchema } from "@openpond/evals";
|
|
7880
8097
|
import { JavaScriptEnvironmentDefinitionSchema, assertJavaScriptEnvironmentDefinition } from "@openpond/evals/javascript-environment/contracts";
|
|
7881
8098
|
import { createLearningTextAsset, learningRef, sealLearningContent, verifyLearningTextAsset } from "@openpond/evals/learning";
|
|
@@ -7884,17 +8101,17 @@ import {
|
|
|
7884
8101
|
NativeHarnessExperimentAttemptSchema,
|
|
7885
8102
|
verifyNativeHarnessExperimentAttempt
|
|
7886
8103
|
} from "@openpond/evals/experiments";
|
|
7887
|
-
var HashSchema4 =
|
|
7888
|
-
var ModelStarterEnvironmentAttemptSchema = /* @__PURE__ */ (() =>
|
|
7889
|
-
schemaVersion:
|
|
7890
|
-
taskId:
|
|
7891
|
-
status:
|
|
7892
|
-
output:
|
|
7893
|
-
collected:
|
|
7894
|
-
environmentCleanupComplete:
|
|
7895
|
-
snapshot:
|
|
7896
|
-
messages:
|
|
7897
|
-
error:
|
|
8104
|
+
var HashSchema4 = z7.string().regex(/^[a-f0-9]{64}$/);
|
|
8105
|
+
var ModelStarterEnvironmentAttemptSchema = /* @__PURE__ */ (() => z7.object({
|
|
8106
|
+
schemaVersion: z7.literal("openpond.javascriptEnvironmentAttempt.v1"),
|
|
8107
|
+
taskId: z7.string(),
|
|
8108
|
+
status: z7.enum(["completed", "budget_exhausted", "cancelled", "timed_out", "policy_failure", "environment_failure"]),
|
|
8109
|
+
output: z7.string().nullable(),
|
|
8110
|
+
collected: z7.boolean(),
|
|
8111
|
+
environmentCleanupComplete: z7.boolean(),
|
|
8112
|
+
snapshot: z7.object({ definition: ModelProjectVersionedRefSchema, inputHash: HashSchema4, seed: z7.number().int(), initialStateHash: HashSchema4, finalStateHash: HashSchema4, state: z7.record(z7.string(), z7.unknown()), events: z7.array(z7.record(z7.string(), z7.unknown())) }).strict().nullable(),
|
|
8113
|
+
messages: z7.array(z7.unknown()),
|
|
8114
|
+
error: z7.string().nullable(),
|
|
7898
8115
|
contentHash: HashSchema4
|
|
7899
8116
|
}).strict())();
|
|
7900
8117
|
function verifyModelStarterEnvironmentAttempt(value, context) {
|
|
@@ -7904,13 +8121,13 @@ function verifyModelStarterEnvironmentAttempt(value, context) {
|
|
|
7904
8121
|
if (sealLearningContent(content).contentHash !== contentHash2 || result.taskId !== context.taskId || result.snapshot && (!equal(result.snapshot.definition, context.javascript) || result.snapshot.inputHash !== sealLearningContent(context.input).contentHash || result.snapshot.seed !== context.seed || result.snapshot.finalStateHash !== sealLearningContent(result.snapshot.state).contentHash)) throw new Error("Starter environment attempt differs from its admitted task or recorded bytes.");
|
|
7905
8122
|
return result;
|
|
7906
8123
|
}
|
|
7907
|
-
var ModelStarterExecutionSchema =
|
|
8124
|
+
var ModelStarterExecutionSchema = z7.object({
|
|
7908
8125
|
environment: EnvironmentReleaseSchema,
|
|
7909
8126
|
verifierSet: VerifierSetReleaseSchema,
|
|
7910
8127
|
javascript: JavaScriptEnvironmentDefinitionSchema
|
|
7911
8128
|
}).strict();
|
|
7912
|
-
var ModelStarterToolFixtureScriptSchema =
|
|
7913
|
-
actions:
|
|
8129
|
+
var ModelStarterToolFixtureScriptSchema = z7.object({
|
|
8130
|
+
actions: z7.array(z7.object({ name: z7.string().min(1).max(64), arguments: z7.record(z7.string(), z7.unknown()) }).strict()).max(1e3)
|
|
7914
8131
|
}).strict();
|
|
7915
8132
|
function modelStarterExecutionAssetId(context) {
|
|
7916
8133
|
if (!context.environmentRelease || !context.verifierSetRelease) throw new Error("Starter execution release references are missing.");
|
|
@@ -7973,10 +8190,10 @@ function validateModelStarterExecution(execution, taskset, assets) {
|
|
|
7973
8190
|
}
|
|
7974
8191
|
|
|
7975
8192
|
// src/model-taskset-resources.ts
|
|
7976
|
-
import { z as
|
|
8193
|
+
import { z as z8 } from "zod";
|
|
7977
8194
|
import { EnvironmentReleaseSchema as EnvironmentReleaseSchema2, VerifierSetReleaseSchema as VerifierSetReleaseSchema2, verifyEnvironmentRelease, verifyVerifierSetRelease } from "@openpond/evals";
|
|
7978
8195
|
import { createLearningTextAsset as createLearningTextAsset2, sealLearningContent as sealLearningContent2, verifyLearningTextAsset as verifyLearningTextAsset2 } from "@openpond/evals/learning";
|
|
7979
|
-
var ModelTasksetExecutionResourcesSchema =
|
|
8196
|
+
var ModelTasksetExecutionResourcesSchema = z8.object({ environment: EnvironmentReleaseSchema2, verifierSet: VerifierSetReleaseSchema2 }).strict();
|
|
7980
8197
|
function modelTasksetExecutionResourcesAssetId(context) {
|
|
7981
8198
|
if (!context.environmentRelease || !context.verifierSetRelease) throw new Error("Taskset execution references are missing.");
|
|
7982
8199
|
return `taskset-execution-${sealLearningContent2({ environment: context.environmentRelease, verifiers: context.verifierSetRelease }).contentHash}`;
|
|
@@ -8000,28 +8217,28 @@ function assertIntegrity(resources) {
|
|
|
8000
8217
|
}
|
|
8001
8218
|
|
|
8002
8219
|
// src/model-taskset-derivation.ts
|
|
8003
|
-
import { z as
|
|
8220
|
+
import { z as z9 } from "zod";
|
|
8004
8221
|
import { createEnvironmentRelease, createVerifierSetRelease, verifyEnvironmentRelease as verifyEnvironmentRelease2, verifyVerifierSetRelease as verifyVerifierSetRelease2 } from "@openpond/evals";
|
|
8005
8222
|
import { LearningTextAssetSchema, TaskDefinitionSchema, assertLearningContentHash, learningRef as learningRef2, sameLearningRef, sealLearningContent as sealLearningContent3, verifyLearningTextAsset as verifyLearningTextAsset3 } from "@openpond/evals/learning";
|
|
8006
8223
|
import { RewardBindingSchema, RewardReleaseSchema, compileBoundGraders } from "@openpond/evals/rewards";
|
|
8007
8224
|
import { TasksetReleaseSchema, assertTasksetRelease } from "@openpond/evals/tasksets";
|
|
8008
8225
|
import { validateTaskValue } from "@openpond/evals/task-schema";
|
|
8009
|
-
var OwnerSchema =
|
|
8010
|
-
var ModelTasksetDerivationSchema =
|
|
8011
|
-
schemaVersion:
|
|
8226
|
+
var OwnerSchema = z9.object({ scopeId: z9.string().trim().min(1).max(500), modelId: z9.string().trim().min(1).max(500) }).strict();
|
|
8227
|
+
var ModelTasksetDerivationSchema = z9.object({
|
|
8228
|
+
schemaVersion: z9.literal("openpond.modelTasksetDerivation.v1"),
|
|
8012
8229
|
owner: OwnerSchema,
|
|
8013
8230
|
root: ModelProjectVersionedRefSchema,
|
|
8014
8231
|
parent: ModelProjectVersionedRefSchema
|
|
8015
8232
|
}).strict();
|
|
8016
|
-
var ModelTasksetPackageSchema =
|
|
8233
|
+
var ModelTasksetPackageSchema = z9.object({
|
|
8017
8234
|
taskset: TasksetReleaseSchema,
|
|
8018
8235
|
taskDefinition: TaskDefinitionSchema,
|
|
8019
8236
|
rewardBinding: RewardBindingSchema,
|
|
8020
|
-
rewards:
|
|
8021
|
-
assets:
|
|
8237
|
+
rewards: z9.array(RewardReleaseSchema).min(1).max(100),
|
|
8238
|
+
assets: z9.array(LearningTextAssetSchema).max(1e3),
|
|
8022
8239
|
executionResources: ModelTasksetExecutionResourcesSchema.optional(),
|
|
8023
8240
|
execution: ModelStarterExecutionSchema.optional(),
|
|
8024
|
-
instructionMode:
|
|
8241
|
+
instructionMode: z9.literal("per_task").optional()
|
|
8025
8242
|
}).strict();
|
|
8026
8243
|
var same = (left, right) => sealLearningContent3({ value: left }).contentHash === sealLearningContent3({ value: right }).contentHash;
|
|
8027
8244
|
var identity = (owner, root) => `model-taskset-${sealLearningContent3({ owner, root }).contentHash}`;
|
|
@@ -8102,7 +8319,7 @@ function validateModelTasksetPackage(value) {
|
|
|
8102
8319
|
if (!same(taskDefinition.execution, { policy, environment, ...environmentRelease ? { environmentRelease } : {}, tools, capabilities, ...verifierSetRelease ? { verifierSetRelease } : {} })) throw new Error("Taskset definition differs from its execution resources.");
|
|
8103
8320
|
if (!same(taskset.graders, compileBoundGraders(rewardBinding, rewards))) throw new Error("Taskset graders differ from its Reward binding.");
|
|
8104
8321
|
if (taskset.metadata.starter !== void 0) {
|
|
8105
|
-
const metadata =
|
|
8322
|
+
const metadata = z9.object({ taskDefinition: ModelProjectVersionedRefSchema, rewardBinding: ModelProjectVersionedRefSchema }).passthrough().parse(taskset.metadata.starter);
|
|
8106
8323
|
if (!sameLearningRef(metadata.taskDefinition, learningRef2(taskDefinition)) || !sameLearningRef(metadata.rewardBinding, learningRef2(rewardBinding))) throw new Error("Taskset metadata differs from its immutable grading resources.");
|
|
8107
8324
|
}
|
|
8108
8325
|
if (taskset.metadata.rewardExecution !== void 0 && !same(taskset.metadata.rewardExecution, { binding: rewardBinding, rewards })) throw new Error("Taskset embedded Rewards differ from its immutable grading resources.");
|
|
@@ -8137,7 +8354,7 @@ function validateModelTasksetPackage(value) {
|
|
|
8137
8354
|
}
|
|
8138
8355
|
|
|
8139
8356
|
// src/taskset-package-learning.ts
|
|
8140
|
-
import { z as
|
|
8357
|
+
import { z as z10 } from "zod";
|
|
8141
8358
|
import {
|
|
8142
8359
|
TaskBatchSchema,
|
|
8143
8360
|
TaskEvidenceSchema,
|
|
@@ -8151,12 +8368,12 @@ import {
|
|
|
8151
8368
|
taskBatchPackageMetadata,
|
|
8152
8369
|
verifyLearningTextAsset as verifyLearningTextAsset4
|
|
8153
8370
|
} from "@openpond/evals/learning";
|
|
8154
|
-
var TasksetPackageLearningResourcesSchema =
|
|
8371
|
+
var TasksetPackageLearningResourcesSchema = z10.object({
|
|
8155
8372
|
batch: TaskBatchSchema,
|
|
8156
|
-
evidence:
|
|
8157
|
-
decisions:
|
|
8158
|
-
sources:
|
|
8159
|
-
assets:
|
|
8373
|
+
evidence: z10.array(TaskEvidenceSchema).min(1).max(1e4),
|
|
8374
|
+
decisions: z10.array(TaskAdmissionDecisionSchema).min(1).max(1e4),
|
|
8375
|
+
sources: z10.array(LearningSourceSchema).min(1).max(1e4),
|
|
8376
|
+
assets: z10.array(LearningTextAssetSchema2).max(1e3)
|
|
8160
8377
|
}).strict();
|
|
8161
8378
|
function learningPackageContextFiles(resources) {
|
|
8162
8379
|
return resources.evidence.filter((evidence) => evidence.submission.evaluatorContext !== null).map((evidence) => {
|
|
@@ -8234,11 +8451,11 @@ function validateTasksetLearningResources(taskset, input) {
|
|
|
8234
8451
|
}
|
|
8235
8452
|
|
|
8236
8453
|
// src/taskset-package-files.ts
|
|
8237
|
-
import { z as
|
|
8454
|
+
import { z as z11 } from "zod";
|
|
8238
8455
|
var MAX_TASKSET_PACKAGE_BYTES = 64 * 1024 * 1024;
|
|
8239
|
-
var TasksetPackageFileSchema =
|
|
8456
|
+
var TasksetPackageFileSchema = z11.object({
|
|
8240
8457
|
asset: ImmutableAssetRefSchema,
|
|
8241
|
-
base64:
|
|
8458
|
+
base64: z11.string()
|
|
8242
8459
|
}).strict();
|
|
8243
8460
|
function decodeTasksetPackageFile(value) {
|
|
8244
8461
|
const file = TasksetPackageFileSchema.parse(value);
|
|
@@ -8289,7 +8506,7 @@ function createTasksetPackageExecutionFile(execution) {
|
|
|
8289
8506
|
}
|
|
8290
8507
|
|
|
8291
8508
|
// src/taskset-calibration-fixtures.ts
|
|
8292
|
-
import { z as
|
|
8509
|
+
import { z as z12 } from "zod";
|
|
8293
8510
|
import { compileBoundGraders as compileBoundGraders2, createRewardBinding, RewardReleaseRefSchema } from "@openpond/evals/rewards";
|
|
8294
8511
|
import { TaskRecordSchema } from "@openpond/evals/tasksets";
|
|
8295
8512
|
import {
|
|
@@ -8300,21 +8517,21 @@ import {
|
|
|
8300
8517
|
rewardCalibrationClosureAsset,
|
|
8301
8518
|
MAX_REWARD_CALIBRATION_CLOSURE_BYTES
|
|
8302
8519
|
} from "@openpond/evals/learning/reward-calibration-closure";
|
|
8303
|
-
var ProjectionSchema =
|
|
8304
|
-
schemaVersion:
|
|
8520
|
+
var ProjectionSchema = z12.object({
|
|
8521
|
+
schemaVersion: z12.literal("openpond.connectedRewardCalibrationProjection.v1"),
|
|
8305
8522
|
sourceReward: RewardReleaseRefSchema,
|
|
8306
8523
|
fixtureSet: ImmutableAssetRefSchema,
|
|
8307
8524
|
calibrationCheck: LearningRevisionRefSchema,
|
|
8308
8525
|
fixture: RewardFixtureSchema,
|
|
8309
|
-
fixtureHash:
|
|
8310
|
-
checkResultHash:
|
|
8311
|
-
independentCalibrationTask:
|
|
8526
|
+
fixtureHash: z12.string().regex(/^[a-f0-9]{64}$/),
|
|
8527
|
+
checkResultHash: z12.string().regex(/^[a-f0-9]{64}$/),
|
|
8528
|
+
independentCalibrationTask: z12.literal(true),
|
|
8312
8529
|
closureRef: ImmutableAssetRefSchema,
|
|
8313
|
-
graderId:
|
|
8530
|
+
graderId: z12.string().min(1).max(240).optional()
|
|
8314
8531
|
}).strict();
|
|
8315
8532
|
function authoredFixtures(value) {
|
|
8316
8533
|
const authoring = value.taskset.metadata.ordinaryAuthoring ?? value.taskset.metadata.starterAuthoring;
|
|
8317
|
-
return
|
|
8534
|
+
return z12.object({ graderFixtures: GraderFixtureSchema.array().max(1e5).default([]) }).passthrough().parse(authoring ?? {}).graderFixtures;
|
|
8318
8535
|
}
|
|
8319
8536
|
function isIndependent(fixture) {
|
|
8320
8537
|
const projection = fixture.metadata.rewardCalibration;
|
|
@@ -8432,7 +8649,7 @@ function readPrivateClosure(value, reference) {
|
|
|
8432
8649
|
if (ref && isAlias(ref)) fail("calibration_closure_environment_schema_alias");
|
|
8433
8650
|
for (const metadata of [value.taskset.metadata.environmentResources, value.environment.metadata.resources]) {
|
|
8434
8651
|
if (metadata === void 0) continue;
|
|
8435
|
-
const resources =
|
|
8652
|
+
const resources = z12.array(z12.object({ id: z12.string().optional(), path: z12.string(), visibility: z12.string().optional() }).passthrough()).parse(metadata);
|
|
8436
8653
|
for (const resource of resources) {
|
|
8437
8654
|
const file = value.files.find((item) => item.asset.path === resource.path);
|
|
8438
8655
|
if (resource.id === reference.id || resource.path === reference.path || file && isAlias(file.asset))
|
|
@@ -8453,7 +8670,7 @@ function fail(code) {
|
|
|
8453
8670
|
function assertJudgeFixtureMembership(value, grader, selected, closure) {
|
|
8454
8671
|
const graderId = grader.id;
|
|
8455
8672
|
const authoring = value.taskset.metadata.ordinaryAuthoring ?? value.taskset.metadata.starterAuthoring;
|
|
8456
|
-
const mapping =
|
|
8673
|
+
const mapping = z12.object({ judgeCalibrationFixtures: z12.record(z12.string(), z12.array(z12.string().min(1)).max(500)) }).passthrough().parse(authoring);
|
|
8457
8674
|
const expected = closure.check.fixtureRefs.map((ref) => `calibration-${contentHash([selected.sourceReward, ref.id])}`);
|
|
8458
8675
|
if (contentHash(mapping.judgeCalibrationFixtures[graderId] ?? []) !== contentHash(expected)) fail("calibration_judge_membership_changed");
|
|
8459
8676
|
const fixtures = authoredFixtures(value);
|
|
@@ -8471,7 +8688,7 @@ function assertJudgeFixtureMembership(value, grader, selected, closure) {
|
|
|
8471
8688
|
}
|
|
8472
8689
|
|
|
8473
8690
|
// src/taskset-package-contracts.ts
|
|
8474
|
-
import { z as
|
|
8691
|
+
import { z as z13 } from "zod";
|
|
8475
8692
|
import { EnvironmentReleaseSchema as EnvironmentReleaseSchema3, VerifierSetReleaseSchema as VerifierSetReleaseSchema3, verifyEnvironmentRelease as verifyEnvironmentRelease3, verifyVerifierSetRelease as verifyVerifierSetRelease3 } from "@openpond/evals";
|
|
8476
8693
|
import { assertTasksetRelease as assertTasksetRelease2, TasksetReleaseSchema as TasksetReleaseSchema2 } from "@openpond/evals/tasksets";
|
|
8477
8694
|
import { assertBoundedTaskJson as assertBoundedTaskJson2 } from "@openpond/evals/task-schema";
|
|
@@ -8493,23 +8710,23 @@ function assertModelTasksetAuthoring(taskset) {
|
|
|
8493
8710
|
|
|
8494
8711
|
// src/taskset-package-contracts.ts
|
|
8495
8712
|
var BoundModelResourcesSchema = ModelTasksetPackageSchema.omit({ taskset: true, executionResources: true });
|
|
8496
|
-
var TasksetPackageContentSchema =
|
|
8497
|
-
schemaVersion:
|
|
8713
|
+
var TasksetPackageContentSchema = z13.object({
|
|
8714
|
+
schemaVersion: z13.literal("openpond.tasksetPackage.v1"),
|
|
8498
8715
|
taskset: TasksetReleaseSchema2,
|
|
8499
8716
|
environment: EnvironmentReleaseSchema3,
|
|
8500
8717
|
verifierSet: VerifierSetReleaseSchema3,
|
|
8501
|
-
files:
|
|
8718
|
+
files: z13.array(TasksetPackageFileSchema).max(1e4),
|
|
8502
8719
|
modelResources: BoundModelResourcesSchema.optional(),
|
|
8503
8720
|
learningResources: TasksetPackageLearningResourcesSchema.optional()
|
|
8504
8721
|
}).strict();
|
|
8505
|
-
var TasksetPackageSchema = TasksetPackageContentSchema.extend({ contentHash:
|
|
8722
|
+
var TasksetPackageSchema = TasksetPackageContentSchema.extend({ contentHash: z13.string().regex(/^[a-f0-9]{64}$/) }).strict();
|
|
8506
8723
|
function tasksetPackageRewardBinding(value) {
|
|
8507
8724
|
return value.learningResources ? taskBatchPackageMetadata2(value.taskset).binding : value.modelResources?.rewardBinding ?? null;
|
|
8508
8725
|
}
|
|
8509
8726
|
function resolveTasksetPackageInstructions(value) {
|
|
8510
8727
|
if (value.learningResources) return taskBatchPackageMetadata2(value.taskset).definition.instructions;
|
|
8511
8728
|
if (value.modelResources) return value.modelResources.taskDefinition.instructions;
|
|
8512
|
-
const authoring =
|
|
8729
|
+
const authoring = z13.object({ instructions: z13.string().max(2e4).optional() }).passthrough().parse(value.taskset.metadata.ordinaryAuthoring ?? {});
|
|
8513
8730
|
return authoring.instructions ?? "";
|
|
8514
8731
|
}
|
|
8515
8732
|
function validateTasksetPackage(value, maximumBytes = MAX_TASKSET_PACKAGE_BYTES) {
|
|
@@ -8537,10 +8754,17 @@ function validateTasksetPackage(value, maximumBytes = MAX_TASKSET_PACKAGE_BYTES)
|
|
|
8537
8754
|
for (const task of taskset.tasks) {
|
|
8538
8755
|
for (const asset of task.artifactRefs) requireAsset(asset);
|
|
8539
8756
|
for (const output of task.requiredOutputs ?? []) {
|
|
8757
|
+
const sampling = structuredSamplingSchemaDeclaration(output.metadata);
|
|
8758
|
+
if (sampling && output.submissionMode !== "structured_json") throw new Error("Sampling schema requires a structured output.");
|
|
8540
8759
|
if (output.schemaRef) requireAsset(output.schemaRef);
|
|
8541
8760
|
if (output.submissionMode === "structured_json") {
|
|
8542
8761
|
if (!output.schemaRef || output.schemaRef.visibility !== "policy" || output.mediaType !== "application/json" || environment.contract.kind !== "work") throw new Error("Structured output requires a policy-visible JSON schema in Work.");
|
|
8543
|
-
resolveStructuredOutput(decodeTasksetPackageFile(files.get(output.schemaRef.id)), output.schemaRef.contentHash);
|
|
8762
|
+
const full = resolveStructuredOutput(decodeTasksetPackageFile(files.get(output.schemaRef.id)), output.schemaRef.contentHash);
|
|
8763
|
+
if (sampling) {
|
|
8764
|
+
requireAsset(sampling.schemaRef);
|
|
8765
|
+
if (!task.artifactRefs.some((ref) => same2(ref, sampling.schemaRef))) throw new Error("Sampling schema must be an ordinary declared policy artifact.");
|
|
8766
|
+
resolveStructuredSamplingSchema(full, sampling, decodeTasksetPackageFile(files.get(sampling.schemaRef.id)));
|
|
8767
|
+
}
|
|
8544
8768
|
}
|
|
8545
8769
|
}
|
|
8546
8770
|
if (task.privilegedContextRef && files.get(task.privilegedContextRef)?.asset.visibility !== "host_private") {
|
|
@@ -8564,7 +8788,7 @@ function validateTasksetPackage(value, maximumBytes = MAX_TASKSET_PACKAGE_BYTES)
|
|
|
8564
8788
|
}
|
|
8565
8789
|
for (const declarations of [taskset.metadata.environmentResources, environment.metadata.resources]) {
|
|
8566
8790
|
if (declarations === void 0) continue;
|
|
8567
|
-
for (const resource of
|
|
8791
|
+
for (const resource of z13.array(z13.object({ path: z13.string().min(1) }).passthrough()).parse(declarations)) {
|
|
8568
8792
|
if (!result.files.some((file) => file.asset.path === resource.path)) throw new Error(`Taskset environment resource is missing: ${resource.path}.`);
|
|
8569
8793
|
}
|
|
8570
8794
|
}
|
|
@@ -8604,12 +8828,22 @@ function resolveTasksetWorkOutputs(input, taskId) {
|
|
|
8604
8828
|
maxBytes: output.maxBytes,
|
|
8605
8829
|
...output.submissionMode === "structured_json" ? {
|
|
8606
8830
|
submissionMode: "structured_json",
|
|
8607
|
-
structuredOutput:
|
|
8831
|
+
structuredOutput: (() => {
|
|
8832
|
+
const full = resolveStructuredOutput(decodeTasksetPackageFile(value.files.find((file) => file.asset.id === output.schemaRef.id)), output.schemaRef.contentHash);
|
|
8833
|
+
const sampling = structuredSamplingSchemaDeclaration(output.metadata);
|
|
8834
|
+
return sampling ? { ...full, sampling: resolveStructuredSamplingSchema(
|
|
8835
|
+
full,
|
|
8836
|
+
sampling,
|
|
8837
|
+
decodeTasksetPackageFile(value.files.find((file) => file.asset.id === sampling.schemaRef.id))
|
|
8838
|
+
) } : full;
|
|
8839
|
+
})()
|
|
8608
8840
|
} : {}
|
|
8609
8841
|
}));
|
|
8610
8842
|
}
|
|
8611
8843
|
|
|
8612
8844
|
export {
|
|
8845
|
+
structuredSamplingSchemaDeclaration,
|
|
8846
|
+
resolveStructuredSamplingSchema,
|
|
8613
8847
|
resolveStructuredOutput,
|
|
8614
8848
|
structuredOutputTools,
|
|
8615
8849
|
structuredToolOutput,
|
|
@@ -8706,4 +8940,4 @@ export {
|
|
|
8706
8940
|
createTasksetPackage,
|
|
8707
8941
|
resolveTasksetWorkOutputs
|
|
8708
8942
|
};
|
|
8709
|
-
//# sourceMappingURL=chunk-
|
|
8943
|
+
//# sourceMappingURL=chunk-2XLKMZH5.js.map
|