openpond-sdk 0.11.4 → 0.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/dist/advanced-refiner-evaluations.js +8 -8
- package/dist/candidate-evaluations.js +6 -7
- package/dist/{chunk-X64BSFXJ.js → chunk-2DLFHAGW.js} +7 -7
- package/dist/{chunk-SX767BS2.js → chunk-2G4WBMYI.js} +270 -60
- package/dist/chunk-2G4WBMYI.js.map +7 -0
- package/dist/{chunk-KJ5VENYN.js → chunk-35OVUYPI.js} +3 -3
- package/dist/{chunk-K4C5QOSV.js → chunk-3LP7DNLQ.js} +2 -2
- package/dist/{chunk-HKAR3VPB.js → chunk-4IWDOYKR.js} +2 -2
- package/dist/{chunk-HWLO3V7R.js → chunk-5GMY4TTF.js} +3 -3
- package/dist/{chunk-SLS3GFPG.js → chunk-AG5DDL7T.js} +2 -2
- package/dist/{chunk-QVCMFQKA.js → chunk-AQGFJLIV.js} +6 -6
- package/dist/chunk-COPVBJPL.js +272 -0
- package/dist/chunk-COPVBJPL.js.map +7 -0
- package/dist/{chunk-Z3PPZRK2.js → chunk-DUJXF7YI.js} +2 -2
- package/dist/{chunk-SGRYMU4C.js → chunk-DUPHBKVV.js} +3 -3
- package/dist/{chunk-CPEOFPPF.js → chunk-FDHIL2CV.js} +9 -6
- package/dist/chunk-FDHIL2CV.js.map +7 -0
- package/dist/{chunk-WPPHGWFA.js → chunk-FZH2M4G6.js} +4 -4
- package/dist/{chunk-GMVYYRMR.js → chunk-HAOPRFYQ.js} +3 -3
- package/dist/chunk-JOKRT4CK.js +296 -0
- package/dist/chunk-JOKRT4CK.js.map +7 -0
- package/dist/{chunk-6O3UMEJL.js → chunk-K2OH56BH.js} +7 -7
- package/dist/chunk-KAE7AMYE.js +44 -0
- package/dist/chunk-KAE7AMYE.js.map +7 -0
- package/dist/{chunk-JEUHIQWF.js → chunk-LQ5Q35IF.js} +6 -8
- package/dist/{chunk-JEUHIQWF.js.map → chunk-LQ5Q35IF.js.map} +2 -2
- package/dist/chunk-O4GE6VTR.js +378 -0
- package/dist/chunk-O4GE6VTR.js.map +7 -0
- package/dist/{chunk-YTGRET2L.js → chunk-P3BRSSRD.js} +3 -3
- package/dist/{chunk-MPAEWI5T.js → chunk-PHETIB6R.js} +3 -3
- package/dist/{chunk-5LFLXFPT.js → chunk-PMBBNQ2J.js} +3 -3
- package/dist/{chunk-MW2N3BX5.js → chunk-PXNHL3SH.js} +3 -3
- package/dist/{chunk-RIX56CJL.js → chunk-VEU3IXAQ.js} +2 -2
- package/dist/{chunk-RGGI5O4R.js → chunk-WTHJ3H4M.js} +4 -4
- package/dist/{chunk-RGGI5O4R.js.map → chunk-WTHJ3H4M.js.map} +2 -2
- package/dist/{chunk-55E4THHN.js → chunk-XYVPLV6Z.js} +6 -6
- package/dist/{chunk-4SZKRRTO.js → chunk-YGLTO26A.js} +3 -3
- package/dist/{chunk-6ZDQ7HSA.js → chunk-Z4JJS6KE.js} +3 -3
- package/dist/{chunk-LFH4EKWH.js → chunk-Z4OLAEPL.js} +5 -5
- package/dist/{chunk-OWWDSG27.js → chunk-ZOXHSJWU.js} +3 -3
- package/dist/connected-evidence.js +16 -15
- package/dist/dataset-workspaces.js +15 -14
- package/dist/dataset-workspaces.js.map +1 -1
- package/dist/experiment-evaluation-schedules.js +20 -19
- package/dist/experiment-improvements.js +8 -8
- package/dist/experiments.js +41 -20
- package/dist/human-review.js +2 -3
- package/dist/index.js +41 -40
- package/dist/index.js.map +1 -1
- package/dist/learning.js +2 -3
- package/dist/learning.js.map +1 -1
- package/dist/model-starter-attempts.js +2 -3
- package/dist/model-starter-catalog.js +11 -10
- package/dist/model-starter-catalog.js.map +1 -1
- package/dist/model-starters.js +11 -10
- package/dist/model-taskset-runs.js +3 -4
- package/dist/model-taskset-runs.js.map +1 -1
- package/dist/post-training.js +6 -7
- package/dist/refiner.js +2 -2
- package/dist/taskset-drafts.js +13 -12
- package/dist/taskset-drafts.js.map +1 -1
- package/dist/taskset-packages.js +17 -16
- package/dist/training-bundle.js +15 -14
- package/dist/training-bundle.js.map +1 -1
- package/dist/training-projects.js +1 -2
- package/dist/training-projects.js.map +1 -1
- package/dist/training.js +8 -8
- package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +6 -6
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +2 -2
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +7 -7
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +4 -4
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +4 -4
- package/dist/types/packages/sdk/src/experiment-client.d.ts +107 -2
- package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiments.d.ts +1 -0
- package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +4 -4
- package/dist/types/packages/sdk/src/model-starters.d.ts +5 -5
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/run-diagnostics.d.ts +281 -0
- package/dist/types/packages/sdk/src/run-diagnostics.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +6 -6
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +2 -2
- package/dist/types/packages/sdk/src/taskset-authored-validation.d.ts +1 -0
- package/dist/types/packages/sdk/src/taskset-authored-validation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-draft-authoring.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +6 -6
- package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +2 -2
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +3 -3
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +4 -4
- package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +1 -1
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +2 -2
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +4 -4
- package/package.json +3 -2
- package/dist/chunk-4NZW4LFB.js +0 -1635
- package/dist/chunk-4NZW4LFB.js.map +0 -7
- package/dist/chunk-CPEOFPPF.js.map +0 -7
- package/dist/chunk-LXXQVGQY.js +0 -1
- package/dist/chunk-LXXQVGQY.js.map +0 -7
- package/dist/chunk-QUOW6URQ.js +0 -591
- package/dist/chunk-QUOW6URQ.js.map +0 -7
- package/dist/chunk-SX767BS2.js.map +0 -7
- /package/dist/{chunk-X64BSFXJ.js.map → chunk-2DLFHAGW.js.map} +0 -0
- /package/dist/{chunk-KJ5VENYN.js.map → chunk-35OVUYPI.js.map} +0 -0
- /package/dist/{chunk-K4C5QOSV.js.map → chunk-3LP7DNLQ.js.map} +0 -0
- /package/dist/{chunk-HKAR3VPB.js.map → chunk-4IWDOYKR.js.map} +0 -0
- /package/dist/{chunk-HWLO3V7R.js.map → chunk-5GMY4TTF.js.map} +0 -0
- /package/dist/{chunk-SLS3GFPG.js.map → chunk-AG5DDL7T.js.map} +0 -0
- /package/dist/{chunk-QVCMFQKA.js.map → chunk-AQGFJLIV.js.map} +0 -0
- /package/dist/{chunk-Z3PPZRK2.js.map → chunk-DUJXF7YI.js.map} +0 -0
- /package/dist/{chunk-SGRYMU4C.js.map → chunk-DUPHBKVV.js.map} +0 -0
- /package/dist/{chunk-WPPHGWFA.js.map → chunk-FZH2M4G6.js.map} +0 -0
- /package/dist/{chunk-GMVYYRMR.js.map → chunk-HAOPRFYQ.js.map} +0 -0
- /package/dist/{chunk-6O3UMEJL.js.map → chunk-K2OH56BH.js.map} +0 -0
- /package/dist/{chunk-YTGRET2L.js.map → chunk-P3BRSSRD.js.map} +0 -0
- /package/dist/{chunk-MPAEWI5T.js.map → chunk-PHETIB6R.js.map} +0 -0
- /package/dist/{chunk-5LFLXFPT.js.map → chunk-PMBBNQ2J.js.map} +0 -0
- /package/dist/{chunk-MW2N3BX5.js.map → chunk-PXNHL3SH.js.map} +0 -0
- /package/dist/{chunk-RIX56CJL.js.map → chunk-VEU3IXAQ.js.map} +0 -0
- /package/dist/{chunk-55E4THHN.js.map → chunk-XYVPLV6Z.js.map} +0 -0
- /package/dist/{chunk-4SZKRRTO.js.map → chunk-YGLTO26A.js.map} +0 -0
- /package/dist/{chunk-6ZDQ7HSA.js.map → chunk-Z4JJS6KE.js.map} +0 -0
- /package/dist/{chunk-LFH4EKWH.js.map → chunk-Z4OLAEPL.js.map} +0 -0
- /package/dist/{chunk-OWWDSG27.js.map → chunk-ZOXHSJWU.js.map} +0 -0
|
@@ -11,14 +11,14 @@ import {
|
|
|
11
11
|
TasksetPreferenceComparisonBindingSchema,
|
|
12
12
|
TasksetPurposeSchema,
|
|
13
13
|
TasksetSourceRefSchema
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-Z4OLAEPL.js";
|
|
15
15
|
import {
|
|
16
16
|
ChatModelRefSchema
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-KAE7AMYE.js";
|
|
18
18
|
import {
|
|
19
19
|
VersionedReleaseRefSchema,
|
|
20
20
|
contentHash
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-COPVBJPL.js";
|
|
22
22
|
|
|
23
23
|
// src/taskset-authored-contracts.ts
|
|
24
24
|
import { z } from "zod";
|
|
@@ -196,7 +196,7 @@ var TasksetSchema = z.object({
|
|
|
196
196
|
capabilities: TasksetCapabilityManifestSchema,
|
|
197
197
|
metrics: TasksetMetricPolicySchema.optional(),
|
|
198
198
|
tasks: z.array(TaskDataRecordSchema).max(1e6),
|
|
199
|
-
graders: z.array(GraderSpecSchema).
|
|
199
|
+
graders: z.array(GraderSpecSchema).max(1e3),
|
|
200
200
|
// Imported releases are inspectable before local calibration. Admission
|
|
201
201
|
// requires real fixtures separately in validateTaskset.
|
|
202
202
|
graderFixtures: z.array(GraderFixtureSchema).max(1e5),
|
|
@@ -264,7 +264,10 @@ function validateTaskset(input, options = {}) {
|
|
|
264
264
|
validateSplitIsolation(taskset, issues);
|
|
265
265
|
validatePolicyBoundary(taskset, issues);
|
|
266
266
|
validateGraders(taskset, issues);
|
|
267
|
-
|
|
267
|
+
if (options.purpose !== "publication") {
|
|
268
|
+
if (!taskset.graders.length) issues.push({ code: "graders_required", severity: "error", message: "Scored execution requires at least one grader.", path: "graders" });
|
|
269
|
+
validateGraderFixtures(taskset, issues, options);
|
|
270
|
+
}
|
|
268
271
|
validateLearningSignals(taskset, issues);
|
|
269
272
|
validateCapabilities(taskset.capabilities, issues, taskset);
|
|
270
273
|
validateWorkExecution(taskset, issues);
|
|
@@ -629,4 +632,4 @@ export {
|
|
|
629
632
|
computeTasksetHash,
|
|
630
633
|
validatePortability
|
|
631
634
|
};
|
|
632
|
-
//# sourceMappingURL=chunk-
|
|
635
|
+
//# sourceMappingURL=chunk-FDHIL2CV.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/taskset-authored-contracts.ts", "../src/taskset-authored-validation.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\nimport { VersionedReleaseRefSchema } from \"@openpond/harness\";\nimport { ChatModelRefSchema } from \"@openpond/harness/models\";\nimport { TasksetMetricPolicySchema } from \"@openpond/evals/metrics\";\nimport { DatasetArtifactManifestSchema } from \"./taskset-draft-dataset-artifacts.js\";\nimport {\n TasksetPurposeSchema,\n TasksetBenchmarkBindingSchema,\n TasksetPreferenceComparisonBindingSchema,\n TasksetSourceRefSchema,\n TaskPolicyBoundarySchema,\n TasksetEnvironmentContractSchema,\n TasksetCapabilityManifestSchema,\n TaskDataRecordSchema,\n GraderSpecSchema,\n GraderFixtureSchema,\n LearningSignalInventorySchema,\n type TasksetSourceRef, type TrainingSourceRef,\n} from \"./taskset-draft-core.js\";\n\nconst IdSchema = z.string().trim().min(1).max(240);\nconst TimestampSchema = z.string().trim().min(1);\nconst HashSchema = z.string().trim().min(8).max(256);\nconst MetadataSchema = z.record(z.string(), z.unknown()).default({});\nconst NullableIdSchema = IdSchema.nullable();\n\nexport const TASKSET_WORK_TOOL_NAMES = [\n \"work_capabilities\",\n \"work_environment\",\n \"work_list_files\",\n \"work_read_file\",\n \"work_read_document\",\n \"work_write_file\",\n \"work_write_docx\",\n \"work_edit_file\",\n \"work_delete_file\",\n \"work_exec\",\n \"work_save_output\",\n \"work_stop\",\n] as const;\n\nexport const TasksetStatusSchema = z.enum([\n \"draft\",\n \"awaiting_disclosure_approval\",\n \"awaiting_materialization_approval\",\n \"materializing\",\n \"validating\",\n \"needs_review\",\n \"baselining\",\n \"ready\",\n \"blocked\",\n \"failed\",\n \"archived\",\n]);\n\nexport const DatasetBuildIntentSchema = z.enum([\n \"demonstrations\",\n \"preferences\",\n \"verifiable_reward\",\n \"rubric\",\n \"discovery\",\n]);\n\nconst DatasetEvidenceTextSchema = z.string().trim().max(100_000);\n\nexport const DatasetBuildSpecificationSchema = z.discriminatedUnion(\"kind\", [\n z.object({\n kind: z.literal(\"demonstrations\"),\n behavior: DatasetEvidenceTextSchema,\n examples: z.array(z.object({\n id: IdSchema,\n prompt: DatasetEvidenceTextSchema,\n response: DatasetEvidenceTextSchema,\n })).max(1_000).default([]),\n }),\n z.object({\n kind: z.literal(\"preferences\"),\n preference: DatasetEvidenceTextSchema,\n pairs: z.array(z.object({\n id: IdSchema,\n prompt: DatasetEvidenceTextSchema,\n chosen: DatasetEvidenceTextSchema,\n rejected: DatasetEvidenceTextSchema,\n rationale: DatasetEvidenceTextSchema,\n })).max(1_000).default([]),\n }),\n z.object({\n kind: z.literal(\"verifiable_reward\"),\n task: DatasetEvidenceTextSchema,\n rules: z.array(z.object({\n id: IdSchema,\n points: z.number().finite(),\n condition: DatasetEvidenceTextSchema,\n })).max(1_000).default([]),\n otherwisePoints: z.number().finite().default(0),\n }),\n z.object({\n kind: z.literal(\"rubric\"),\n task: DatasetEvidenceTextSchema,\n criteria: z.array(z.object({\n id: IdSchema,\n label: z.string().trim().max(500),\n description: DatasetEvidenceTextSchema,\n })).max(1_000).default([]),\n positiveExample: DatasetEvidenceTextSchema,\n negativeExample: DatasetEvidenceTextSchema,\n boundaryExample: DatasetEvidenceTextSchema,\n }),\n]);\n\nexport const GeneratedTaskFileSchema = z.object({\n path: z.string().trim().min(1).max(1_000),\n role: z.enum([\"environment\", \"verifier\", \"fixture\"]),\n content: z.string().max(250_000),\n});\n\nexport const TrainingPathRecommendationSchema = z.object({\n primaryMethod: z.enum([\"sft\", \"dpo\", \"grpo\", \"ppo\", \"sdft\", \"opsd\", \"sdpo\"]),\n bootstrap: z.object({\n method: z.literal(\"sft\"),\n purpose: z.literal(\"trajectory_bootstrap\"),\n demonstrationRefs: z.array(IdSchema).min(1).max(100_000),\n limitations: z.array(z.string().trim().min(1).max(5_000)).min(1).max(100),\n }).nullable(),\n});\n\nexport const TrainingMethodReadinessReasonCodeSchema = z.enum([\n \"taskset_not_ready\",\n \"demonstrations_missing\",\n \"preference_pairs_missing\",\n \"preference_pairs_invalid\",\n \"executable_reward_missing\",\n \"reward_not_calibrated\",\n \"reward_model_missing\",\n \"value_model_required\",\n \"frozen_eval_missing\",\n]);\n\nexport const TrainingMethodReadinessSchema = z.object({\n method: z.enum([\"sft\", \"dpo\", \"grpo\", \"ppo\"]),\n status: z.enum([\"recommended\", \"compatible\", \"needs_dataset_work\"]),\n reasonCodes: z.array(TrainingMethodReadinessReasonCodeSchema).default([]),\n reasons: z.array(z.string().trim().min(1).max(5_000)).default([]),\n});\n\nexport const TasksetReadinessFindingSchema = z.object({\n code: IdSchema,\n message: z.string().trim().min(1).max(5_000),\n path: z.string().trim().max(2_000).nullable(),\n});\n\nexport const TasksetReadinessReportSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetReadiness.v1\"),\n tasksetId: IdSchema,\n tasksetHash: HashSchema,\n ready: z.boolean(),\n recommendedMethod: z.enum([\"none\", \"retrieval\", \"sft\", \"dpo\", \"grpo\", \"ppo\", \"sdft\", \"opd\", \"opsd\", \"sdpo\"]),\n trainingPath: TrainingPathRecommendationSchema.nullable().default(null),\n methodReadiness: z.array(TrainingMethodReadinessSchema).default([]),\n compatibleDestinationClasses: z.array(\n z.enum([\"export\", \"custom\", \"hosted_managed\"]),\n ),\n blockers: z.array(TasksetReadinessFindingSchema).default([]),\n advisories: z.array(TasksetReadinessFindingSchema).default([]),\n warnings: z.array(z.string().trim().min(1).max(5_000)).default([]),\n generatedAt: TimestampSchema,\n});\n\nexport const AuthoringRepairSchema = z.object({ attempt: z.number().int().positive(), summary: z.string().trim().min(1).max(5_000), createdAt: TimestampSchema });\n\nexport const AuthoringProvenanceSchema = z.object({\n schemaVersion: z.literal(\"openpond.taskAuthoringProvenance.v1\"),\n model: ChatModelRefSchema.nullable(),\n modelConfig: MetadataSchema,\n skillHash: HashSchema,\n promptTemplateVersion: z.string().trim().min(1).max(200),\n buildIntent: DatasetBuildIntentSchema.default(\"demonstrations\"),\n buildSpecification: DatasetBuildSpecificationSchema.nullable().default(null),\n evidenceHashes: z.array(HashSchema).max(100_000),\n tasksetSdkVersion: z.string().trim().min(1).max(100),\n sourceCommit: z.string().trim().min(1).max(256).nullable(),\n repairHistory: z.array(AuthoringRepairSchema).max(1_000),\n createdAt: TimestampSchema,\n});\n\nexport const TasksetSchema = z.object({\n schemaVersion: z.literal(\"openpond.taskset.v1\"),\n id: IdSchema,\n revision: z.number().int().positive().default(1),\n profileId: IdSchema,\n profileRelease: VersionedReleaseRefSchema.nullable().optional(),\n createImproveRunId: NullableIdSchema.default(null),\n name: z.string().trim().min(1).max(500),\n // Portable tasks may carry all instructions in their individual inputs.\n // Preserve an absent package prompt; draft publication validates its objective.\n objective: z.string().trim().max(20_000),\n purpose: TasksetPurposeSchema.default(\"general\"),\n benchmark: TasksetBenchmarkBindingSchema.nullable().default(null),\n preferenceComparison: TasksetPreferenceComparisonBindingSchema.nullable().default(null),\n status: TasksetStatusSchema,\n sourceRefs: z.array(TasksetSourceRefSchema).min(1).max(100_000),\n datasetArtifact: DatasetArtifactManifestSchema.nullable().optional(),\n policy: TaskPolicyBoundarySchema,\n environment: TasksetEnvironmentContractSchema,\n capabilities: TasksetCapabilityManifestSchema,\n metrics: TasksetMetricPolicySchema.optional(),\n tasks: z.array(TaskDataRecordSchema).max(1_000_000),\n graders: z.array(GraderSpecSchema).max(1_000),\n // Imported releases are inspectable before local calibration. Admission\n // requires real fixtures separately in validateTaskset.\n graderFixtures: z.array(GraderFixtureSchema).max(100_000),\n learningSignals: LearningSignalInventorySchema,\n authoringProvenance: AuthoringProvenanceSchema,\n readiness: TasksetReadinessReportSchema.nullable(),\n contentHash: HashSchema,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n metadata: MetadataSchema,\n}).superRefine((taskset, context) => {\n if (taskset.purpose === \"benchmark\" && !taskset.benchmark) {\n context.addIssue({\n code: \"custom\",\n message: \"Benchmark Tasksets require an immutable benchmark binding.\",\n path: [\"benchmark\"],\n });\n }\n if (taskset.purpose !== \"benchmark\" && taskset.benchmark) {\n context.addIssue({\n code: \"custom\",\n message: \"Only benchmark Tasksets may carry a benchmark binding.\",\n path: [\"benchmark\"],\n });\n }\n if (taskset.datasetArtifact && taskset.tasks.length > 0) {\n context.addIssue({\n code: \"custom\",\n message:\n \"Artifact-backed Tasksets may not duplicate canonical rows inline.\",\n path: [\"tasks\"],\n });\n }\n if (!taskset.datasetArtifact && taskset.tasks.length === 0) {\n context.addIssue({\n code: \"custom\",\n message: \"A Taskset requires inline tasks or a Dataset artifact manifest.\",\n path: [\"tasks\"],\n });\n }\n});\n\nexport type DatasetBuildIntent = z.infer<typeof DatasetBuildIntentSchema>;\nexport type DatasetBuildSpecification = z.infer<typeof DatasetBuildSpecificationSchema>;\nexport type GeneratedTaskFile = z.infer<typeof GeneratedTaskFileSchema>;\nexport type TrainingPathRecommendation = z.infer<typeof TrainingPathRecommendationSchema>;\nexport type TrainingMethodReadinessReasonCode = z.infer<typeof TrainingMethodReadinessReasonCodeSchema>;\nexport type TrainingMethodReadiness = z.infer<typeof TrainingMethodReadinessSchema>;\nexport type TasksetReadinessReport = z.infer<typeof TasksetReadinessReportSchema>;\nexport type AuthoringProvenance = z.infer<typeof AuthoringProvenanceSchema>;\nexport type AuthoringRepair = z.infer<typeof AuthoringRepairSchema>;\nexport type Taskset = z.infer<typeof TasksetSchema>;\n\nexport function isTrainingSourceRef(\n source: TasksetSourceRef,\n): source is TrainingSourceRef {\n return source.schemaVersion === \"openpond.trainingSource.v1\";\n}\n", "import type { TasksetCapabilityManifest } from \"./taskset-draft-core.js\";\nimport {\n isTrainingSourceRef,\n TASKSET_WORK_TOOL_NAMES,\n TasksetSchema,\n type Taskset,\n} from \"./taskset-authored-contracts.js\";\nimport { contentHash } from \"@openpond/harness\";\n\nexport type TasksetValidationIssue = {\n code: string;\n severity: \"warning\" | \"error\";\n message: string;\n path: string | null;\n};\n\nexport type TasksetValidationReport = {\n valid: boolean;\n taskset: Taskset | null;\n computedHash: string | null;\n issues: TasksetValidationIssue[];\n};\n\nexport function validateTaskset(input: unknown, options: { allowUnscoredOnlineRewardBatch?: boolean; purpose?: \"publication\" | \"execution\" } = {}): TasksetValidationReport {\n const parsed = TasksetSchema.safeParse(input);\n if (!parsed.success) {\n return {\n valid: false,\n taskset: null,\n computedHash: null,\n issues: parsed.error.issues.map((issue) => ({\n code: \"schema_invalid\",\n severity: \"error\",\n message: issue.message,\n path: issue.path.join(\".\"),\n })),\n };\n }\n\n const taskset = parsed.data;\n const issues: TasksetValidationIssue[] = [];\n validateSourceConsent(taskset, issues);\n validateDatasetArtifact(taskset, issues);\n validateSplitIsolation(taskset, issues);\n validatePolicyBoundary(taskset, issues);\n validateGraders(taskset, issues);\n if (options.purpose !== \"publication\") {\n if (!taskset.graders.length) issues.push({ code: \"graders_required\", severity: \"error\", message: \"Scored execution requires at least one grader.\", path: \"graders\" });\n validateGraderFixtures(taskset, issues, options);\n }\n validateLearningSignals(taskset, issues);\n validateCapabilities(taskset.capabilities, issues, taskset);\n validateWorkExecution(taskset, issues);\n\n const computedHash = tasksetContentHash(taskset);\n if (taskset.contentHash !== computedHash) {\n issues.push({\n code: \"content_hash_mismatch\",\n severity: \"error\",\n message: `Taskset contentHash is ${taskset.contentHash}, expected ${computedHash}.`,\n path: \"contentHash\",\n });\n }\n\n return {\n valid: !issues.some((issue) => issue.severity === \"error\"),\n taskset,\n computedHash,\n issues,\n };\n}\n\nfunction validateGraderFixtures(taskset: Taskset, issues: TasksetValidationIssue[], options: { allowUnscoredOnlineRewardBatch?: boolean }): void {\n // The hosted learning boundary checks the sealed batch and executable Reward\n // before opting into fresh-rollout GRPO. Human-only review has no automated\n // grader to calibrate; every mixed/automated taskset retains fixture gates.\n const humanReviewOnly = taskset.graders.length > 0 && taskset.graders.every(grader => grader.kind === \"human\");\n if (!humanReviewOnly && !taskset.graderFixtures.length && !(options.allowUnscoredOnlineRewardBatch && taskset.metadata.trainingMethod === \"grpo\" && taskset.metadata.learning)) {\n issues.push({ code: \"grader_fixtures_required\", severity: \"error\", message: \"Taskset admission requires authored grader fixtures.\", path: \"graderFixtures\" });\n }\n const taskIds = new Set(taskset.tasks.map((task) => task.id));\n const required = new Set([\"positive\", \"negative\", \"boundary\", \"adversarial\", \"prompt_injection\", \"infrastructure_failure\"]);\n for (const fixture of taskset.graderFixtures) {\n if (!taskset.datasetArtifact && !taskIds.has(fixture.taskId)) issues.push({ code: \"grader_fixture_task_missing\", severity: \"warning\", message: `Fixture ${fixture.id} references a task outside this Taskset revision (${fixture.taskId}).`, path: `graderFixtures.${fixture.id}.taskId` });\n required.delete(fixture.label);\n if (fixture.label === \"infrastructure_failure\" && !fixture.infrastructureError) issues.push({ code: \"infrastructure_fixture_error_missing\", severity: \"error\", message: `Infrastructure fixture ${fixture.id} must declare an infrastructure error.`, path: `graderFixtures.${fixture.id}.infrastructureError` });\n }\n for (const label of humanReviewOnly ? [] : required) issues.push({ code: \"grader_fixture_missing\", severity: \"warning\", message: `Taskset does not include the optional ${label} grader calibration fixture.`, path: \"graderFixtures\" });\n}\n\nfunction validateDatasetArtifact(\n taskset: Taskset,\n issues: TasksetValidationIssue[],\n): void {\n const artifact = taskset.datasetArtifact;\n if (!artifact) return;\n if (\n artifact.tasksetId !== taskset.id\n || artifact.tasksetRevision !== taskset.revision\n ) {\n issues.push({\n code: \"dataset_artifact_taskset_mismatch\",\n severity: \"error\",\n message: \"Dataset artifact identity does not match its Taskset revision.\",\n path: \"datasetArtifact\",\n });\n }\n const splitTotal = Object.values(artifact.splitCounts)\n .reduce((total, count) => total + count, 0);\n const shardTotal = artifact.shards\n .reduce((total, shard) => total + shard.rowCount, 0);\n if (splitTotal !== artifact.rowCount || shardTotal !== artifact.rowCount) {\n issues.push({\n code: \"dataset_artifact_row_count_mismatch\",\n severity: \"error\",\n message: \"Dataset artifact row, split, and shard counts do not agree.\",\n path: \"datasetArtifact.rowCount\",\n });\n }\n const shardSplitCounts = new Map<string, number>();\n for (const shard of artifact.shards) {\n shardSplitCounts.set(\n shard.split,\n (shardSplitCounts.get(shard.split) ?? 0) + shard.rowCount,\n );\n }\n for (const [split, count] of Object.entries(artifact.splitCounts)) {\n if ((shardSplitCounts.get(split) ?? 0) !== count) {\n issues.push({\n code: \"dataset_artifact_split_count_mismatch\",\n severity: \"error\",\n message: `Dataset artifact ${split} shard counts do not match its manifest.`,\n path: `datasetArtifact.splitCounts.${split}`,\n });\n }\n }\n const { contentHash: _contentHash, ...hashable } = artifact;\n if (contentHash(hashable) !== artifact.contentHash) {\n issues.push({\n code: \"dataset_artifact_hash_mismatch\",\n severity: \"error\",\n message: \"Dataset artifact manifest content hash is invalid.\",\n path: \"datasetArtifact.contentHash\",\n });\n }\n}\n\nexport function computeTasksetHash(taskset: Omit<Taskset, \"contentHash\"> | Taskset): string {\n return tasksetContentHash(taskset);\n}\n\nfunction tasksetContentHash(taskset: Omit<Taskset, \"contentHash\"> | Taskset): string {\n const { contentHash: _contentHash, status: _status, readiness: _readiness, updatedAt: _updatedAt, ...source } = taskset as Taskset;\n return contentHash(source);\n}\n\nexport function validatePortability(capabilities: TasksetCapabilityManifest): TasksetValidationIssue[] {\n const issues: TasksetValidationIssue[] = [];\n validateCapabilities(capabilities, issues, null);\n return issues;\n}\n\nfunction validateSourceConsent(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n for (const [index, source] of taskset.sourceRefs.entries()) {\n if (isTrainingSourceRef(source) && source.consent.status !== \"granted\") {\n issues.push({ code: \"source_consent_missing\", severity: \"error\", message: `Source ${source.id} is not consented.`, path: `sourceRefs.${index}.consent.status` });\n }\n if (source.secretScanStatus !== \"passed\") {\n issues.push({ code: \"source_secret_scan\", severity: \"error\", message: `Source ${source.id} did not pass secret scanning.`, path: `sourceRefs.${index}.secretScanStatus` });\n }\n if (source.piiScanStatus !== \"passed\") {\n issues.push({ code: \"source_pii_scan\", severity: \"error\", message: `Source ${source.id} has unresolved PII policy.`, path: `sourceRefs.${index}.piiScanStatus` });\n }\n if (source.licensingStatus !== \"approved\") {\n issues.push({ code: \"source_license\", severity: \"error\", message: `Source ${source.id} has unresolved licensing policy.`, path: `sourceRefs.${index}.licensingStatus` });\n }\n }\n}\n\nfunction validateSplitIsolation(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n const clusterSplits = new Map<string, Set<string>>();\n for (const task of taskset.tasks) {\n const splits = clusterSplits.get(task.clusterKey) ?? new Set<string>();\n splits.add(task.split);\n clusterSplits.set(task.clusterKey, splits);\n }\n for (const [cluster, splits] of clusterSplits) {\n if (splits.size > 1) {\n issues.push({ code: \"split_cluster_contamination\", severity: \"error\", message: `Source cluster ${cluster} appears in multiple splits: ${[...splits].join(\", \")}.`, path: \"tasks\" });\n }\n }\n const frozenCount = taskset.datasetArtifact\n ? taskset.datasetArtifact.splitCounts.frozen_eval ?? 0\n : taskset.tasks.filter((task) => task.split === \"frozen_eval\").length;\n if (frozenCount === 0) issues.push({ code: \"frozen_eval_missing\", severity: \"warning\", message: \"Add an independent test example before training.\", path: \"tasks\" });\n}\n\nfunction validateWorkExecution(\n taskset: Taskset,\n issues: TasksetValidationIssue[],\n): void {\n if (taskset.environment.kind !== \"work\") return;\n if (taskset.environment.entrypoint !== \"openpond-work-v1\") {\n issues.push({\n code: \"work_entrypoint_invalid\",\n severity: \"error\",\n message: \"Work Tasksets must use the openpond-work-v1 entrypoint.\",\n path: \"environment.entrypoint\",\n });\n }\n if (!taskset.environment.lifecycle.includes(\"reset\") || !taskset.environment.lifecycle.includes(\"cleanup\")) {\n issues.push({\n code: \"work_reset_lifecycle_missing\",\n severity: \"error\",\n message: \"Work attempts require reset and cleanup; filesystem state belongs to one attempt.\",\n path: \"environment.lifecycle\",\n });\n }\n const allowedTools = new Set<string>(TASKSET_WORK_TOOL_NAMES);\n const unknownTools = taskset.environment.toolNames.filter(\n (name) => !allowedTools.has(name),\n );\n if (unknownTools.length) {\n issues.push({\n code: \"work_tool_unknown\",\n severity: \"error\",\n message: `Work Taskset declares unknown tools: ${unknownTools.join(\", \")}.`,\n path: \"environment.toolNames\",\n });\n }\n if (!taskset.environment.toolNames.includes(\"work_save_output\")) {\n issues.push({\n code: \"work_output_tool_missing\",\n severity: \"error\",\n message: \"Work Tasksets must declare work_save_output.\",\n path: \"environment.toolNames\",\n });\n }\n for (const lifecycle of [\"create\", \"reset\", \"step\", \"grade\", \"cleanup\"] as const) {\n if (!taskset.environment.lifecycle.includes(lifecycle)) {\n issues.push({\n code: \"work_lifecycle_incomplete\",\n severity: \"error\",\n message: `Work Tasksets require the ${lifecycle} lifecycle stage.`,\n path: \"environment.lifecycle\",\n });\n }\n }\n\n const sourceById = new Map(\n taskset.sourceRefs.map((source) => [source.id, source]),\n );\n for (const [taskIndex, task] of taskset.tasks.entries()) {\n const assetIds = new Set<string>();\n const fileNames = new Set<string>();\n for (const [assetIndex, asset] of (task.assets ?? []).entries()) {\n const path = `tasks.${taskIndex}.assets.${assetIndex}`;\n if (assetIds.has(asset.id)) {\n issues.push({\n code: \"work_asset_duplicate_id\",\n severity: \"error\",\n message: `Task ${task.id} repeats asset id ${asset.id}.`,\n path: `${path}.id`,\n });\n }\n if (fileNames.has(asset.fileName)) {\n issues.push({\n code: \"work_asset_duplicate_name\",\n severity: \"error\",\n message: `Task ${task.id} repeats staged file name ${asset.fileName}.`,\n path: `${path}.fileName`,\n });\n }\n assetIds.add(asset.id);\n fileNames.add(asset.fileName);\n if (!task.sourceRefs.includes(asset.sourceRefId)) {\n issues.push({\n code: \"work_asset_task_source_missing\",\n severity: \"error\",\n message: `Asset ${asset.id} references source ${asset.sourceRefId} outside task ${task.id}.`,\n path: `${path}.sourceRefId`,\n });\n }\n const source = sourceById.get(asset.sourceRefId);\n if (!source) {\n issues.push({\n code: \"work_asset_source_missing\",\n severity: \"error\",\n message: `Asset ${asset.id} references missing source ${asset.sourceRefId}.`,\n path: `${path}.sourceRefId`,\n });\n } else if (\n \"sourceFileHashes\" in source\n && !source.sourceFileHashes.includes(asset.sha256)\n ) {\n issues.push({\n code: \"work_asset_hash_unregistered\",\n severity: \"error\",\n message: `Asset ${asset.id} hash is not registered by source ${asset.sourceRefId}.`,\n path: `${path}.sha256`,\n });\n }\n if (\n source\n && \"kind\" in source\n && source.kind === \"uploaded_file\"\n && !source.originalFileNames.includes(asset.fileName)\n ) {\n issues.push({\n code: \"work_asset_name_unregistered\",\n severity: \"error\",\n message: `Asset ${asset.id} file name is not registered by source ${asset.sourceRefId}.`,\n path: `${path}.fileName`,\n });\n }\n if (\n source\n && \"kind\" in source\n && source.kind === \"uploaded_file\"\n && !source.mediaTypes.includes(asset.mediaType)\n ) {\n issues.push({\n code: \"work_asset_media_type_unregistered\",\n severity: \"error\",\n message: `Asset ${asset.id} media type is not registered by source ${asset.sourceRefId}.`,\n path: `${path}.mediaType`,\n });\n }\n if (asset.split !== task.split) {\n issues.push({\n code: \"work_asset_split_mismatch\",\n severity: \"error\",\n message: `Asset ${asset.id} is assigned to ${asset.split}, not task split ${task.split}.`,\n path: `${path}.split`,\n });\n }\n }\n\n const outputPaths = new Set<string>();\n for (const [outputIndex, output] of (task.requiredOutputs ?? []).entries()) {\n const normalized = output.path.replaceAll(\"\\\\\", \"/\");\n const path = `tasks.${taskIndex}.requiredOutputs.${outputIndex}.path`;\n if (outputPaths.has(normalized)) {\n issues.push({\n code: \"work_output_duplicate_path\",\n severity: \"error\",\n message: `Task ${task.id} repeats required output path ${normalized}.`,\n path,\n });\n }\n outputPaths.add(normalized);\n }\n if ((task.requiredOutputs ?? []).length === 0) {\n issues.push({\n code: \"work_output_missing\",\n severity: \"error\",\n message: `Work task ${task.id} must declare at least one required output.`,\n path: `tasks.${taskIndex}.requiredOutputs`,\n });\n }\n }\n}\n\nfunction validatePolicyBoundary(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n const visible = new Set(taskset.policy.policyVisibleFields);\n for (const field of taskset.policy.privilegedFields) {\n if (visible.has(field)) issues.push({ code: \"privileged_field_visible\", severity: \"error\", message: `Field ${field} is both policy-visible and privileged.`, path: \"policy\" });\n }\n for (const task of taskset.tasks) {\n if (task.privilegedContextRef && Object.keys(task.policyVisibleContext).includes(task.privilegedContextRef)) {\n issues.push({ code: \"privileged_context_leak\", severity: \"error\", message: `Task ${task.id} exposes its privileged context reference.`, path: `tasks.${task.id}.policyVisibleContext` });\n }\n }\n}\n\nfunction validateGraders(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n const ids = new Set<string>();\n for (const grader of taskset.graders) {\n if (ids.has(grader.id)) issues.push({ code: \"grader_duplicate\", severity: \"error\", message: `Duplicate grader id ${grader.id}.`, path: \"graders\" });\n ids.add(grader.id);\n if (grader.kind === \"model_judge\" && grader.rewardEligible && grader.calibrationStatus !== \"passed\") {\n issues.push({ code: \"judge_calibration_pending\", severity: \"warning\", message: `Model judge ${grader.id} is selected for reward without a passing advisory calibration report.`, path: `graders.${grader.id}` });\n }\n if (grader.kind === \"model_judge\" && grader.calibrationStatus === \"passed\" && typeof grader.metadata.calibrationEvidenceHash !== \"string\") {\n issues.push({ code: \"judge_calibration_evidence_missing\", severity: \"warning\", message: `Model judge ${grader.id} declares calibration without an OpenPond fixture evidence hash.`, path: `graders.${grader.id}.metadata.calibrationEvidenceHash` });\n }\n if (grader.kind === \"human\" && grader.rewardEligible) {\n issues.push({ code: \"human_online_reward\", severity: \"error\", message: `Human grader ${grader.id} cannot be an online optimizer reward.`, path: `graders.${grader.id}` });\n }\n }\n}\n\nfunction validateLearningSignals(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n const taskIds = new Set(taskset.tasks.map((task) => task.id));\n const sourceIds = new Set(taskset.sourceRefs.map((source) => source.id));\n for (const signal of [\n ...taskset.learningSignals.demonstrations,\n ...taskset.learningSignals.preferences,\n ...taskset.learningSignals.corrections,\n ...taskset.learningSignals.feedback,\n ...taskset.learningSignals.rewards,\n ...taskset.learningSignals.labels,\n ]) {\n if (signal.taskId && !taskset.datasetArtifact && !taskIds.has(signal.taskId)) {\n issues.push({ code: \"learning_signal_task_missing\", severity: \"error\", message: `Signal ${signal.id} references missing task ${signal.taskId}.`, path: `learningSignals.${signal.kind}.${signal.id}.taskId` });\n }\n if (signal.sourceRefs.some((sourceId) => !sourceIds.has(sourceId))) {\n issues.push({ code: \"learning_signal_source_missing\", severity: \"error\", message: `Signal ${signal.id} references a source outside the Dataset.`, path: `learningSignals.${signal.kind}.${signal.id}.sourceRefs` });\n }\n }\n for (const preference of taskset.learningSignals.preferences) {\n if (preference.chosen.trim() === preference.rejected.trim()) {\n issues.push({ code: \"preference_pair_identical\", severity: \"error\", message: `Preference ${preference.id} has identical chosen and rejected responses.`, path: `learningSignals.preferences.${preference.id}` });\n }\n }\n for (const reward of taskset.learningSignals.rewards) {\n if (!reward.executable) {\n issues.push({ code: \"reward_not_executable\", severity: \"warning\", message: `Reward ${reward.id} is a reviewed specification but has no executable verifier yet.`, path: `learningSignals.rewards.${reward.id}.executable` });\n }\n }\n}\n\nfunction validateCapabilities(\n capabilities: TasksetCapabilityManifest,\n issues: TasksetValidationIssue[],\n taskset: Taskset | null,\n): void {\n if (!capabilities.exportable && capabilities.portabilityBlockers.length === 0) {\n issues.push({ code: \"portability_reason_missing\", severity: \"error\", message: \"Non-exportable Tasksets must declare a portability blocker.\", path: \"capabilities.portabilityBlockers\" });\n }\n if (capabilities.compatibleMethods.includes(\"grpo\") && !capabilities.rewardKinds.some((kind) => kind === \"exact\" || kind === \"deterministic\" || kind === \"model_judge\")) {\n issues.push({ code: \"grpo_reward_missing\", severity: \"error\", message: \"GRPO compatibility requires a scalar reward kind.\", path: \"capabilities.rewardKinds\" });\n }\n if (taskset?.capabilities.compatibleMethods.includes(\"sft\") && taskset.learningSignals.demonstrations.length === 0) {\n issues.push({ code: \"sft_demonstrations_missing\", severity: \"error\", message: \"SFT compatibility requires approved demonstrations.\", path: \"learningSignals.demonstrations\" });\n }\n if (taskset?.capabilities.compatibleMethods.includes(\"dpo\") && taskset.learningSignals.preferences.length === 0) {\n issues.push({ code: \"dpo_preferences_missing\", severity: \"error\", message: \"DPO compatibility requires chosen and rejected response pairs.\", path: \"learningSignals.preferences\" });\n }\n if (\n taskset\n && (taskset.capabilities.compatibleMethods.includes(\"grpo\") || taskset.capabilities.compatibleMethods.includes(\"ppo\"))\n && !taskset.learningSignals.rewards.some((reward) => reward.executable)\n && !taskset.graders.some(grader => grader.rewardEligible && grader.weight > 0 && grader.kind !== \"human\")\n ) {\n issues.push({ code: \"online_reward_not_executable\", severity: \"error\", message: \"GRPO/PPO compatibility requires an executable scalar reward.\", path: \"learningSignals.rewards\" });\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ExperimentImprovementOptionsSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PMBBNQ2J.js";
|
|
4
4
|
import {
|
|
5
5
|
EvaluationCoordinationTransport
|
|
6
6
|
} from "./chunk-YCQVVFE5.js";
|
|
7
7
|
import {
|
|
8
8
|
ChatModelRefSchema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KAE7AMYE.js";
|
|
10
10
|
import {
|
|
11
11
|
ImmutableReleaseRefSchema,
|
|
12
12
|
contentHash
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-COPVBJPL.js";
|
|
14
14
|
|
|
15
15
|
// src/advanced-refiner-evaluations.ts
|
|
16
16
|
import { z } from "zod";
|
|
@@ -264,4 +264,4 @@ export {
|
|
|
264
264
|
AdvancedRefinerEvaluationAccountingSchema,
|
|
265
265
|
OpenPondAdvancedRefinerEvaluationClient
|
|
266
266
|
};
|
|
267
|
-
//# sourceMappingURL=chunk-
|
|
267
|
+
//# sourceMappingURL=chunk-FZH2M4G6.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
HarnessExperimentPolicySchema,
|
|
3
3
|
ModelTasksetRunRequestSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WTHJ3H4M.js";
|
|
5
5
|
import {
|
|
6
6
|
contentHash
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-COPVBJPL.js";
|
|
8
8
|
|
|
9
9
|
// src/experiment-field-mappings.ts
|
|
10
10
|
import { z } from "zod";
|
|
@@ -168,4 +168,4 @@ export {
|
|
|
168
168
|
verifyExperimentDefinition,
|
|
169
169
|
experimentDefinitionRef
|
|
170
170
|
};
|
|
171
|
-
//# sourceMappingURL=chunk-
|
|
171
|
+
//# sourceMappingURL=chunk-HAOPRFYQ.js.map
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FailureClassSchema,
|
|
3
|
+
ImmutableArtifactRefSchema,
|
|
4
|
+
ImmutableAssetRefSchema,
|
|
5
|
+
ImmutableReleaseRefSchema,
|
|
6
|
+
MetadataSchema,
|
|
7
|
+
ReleaseHashSchema,
|
|
8
|
+
ReleaseIdSchema,
|
|
9
|
+
assertContentHash,
|
|
10
|
+
contentHash,
|
|
11
|
+
sha256
|
|
12
|
+
} from "./chunk-COPVBJPL.js";
|
|
13
|
+
|
|
14
|
+
// ../harness/dist/source-package.js
|
|
15
|
+
import { z as z3 } from "zod";
|
|
16
|
+
|
|
17
|
+
// ../harness/dist/harness.js
|
|
18
|
+
import { z as z2 } from "zod";
|
|
19
|
+
|
|
20
|
+
// ../harness/dist/tools.js
|
|
21
|
+
import { z } from "zod";
|
|
22
|
+
var ToolDeclarationSchema = z.object({
|
|
23
|
+
name: z.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
|
|
24
|
+
description: z.string().trim().min(1).max(2e3),
|
|
25
|
+
inputSchema: z.record(z.string(), z.unknown()),
|
|
26
|
+
inputSchemaHash: ReleaseHashSchema,
|
|
27
|
+
sideEffect: z.enum(["read", "write"]),
|
|
28
|
+
timeoutMs: z.number().int().positive().max(36e5)
|
|
29
|
+
}).strict();
|
|
30
|
+
var CapabilityRequirementSchema = z.object({
|
|
31
|
+
id: ReleaseIdSchema,
|
|
32
|
+
required: z.boolean(),
|
|
33
|
+
scopes: z.array(z.string().trim().min(1).max(500)).max(100).default([]),
|
|
34
|
+
portability: z.enum(["portable", "host_adapter", "local_only", "hosted_only"])
|
|
35
|
+
}).strict();
|
|
36
|
+
|
|
37
|
+
// ../harness/dist/harness.js
|
|
38
|
+
var PortabilityReportSchema = z2.object({
|
|
39
|
+
portable: z2.boolean(),
|
|
40
|
+
blockers: z2.array(z2.string().trim().min(1).max(2e3)).max(1e3),
|
|
41
|
+
localOnlyAssetRefs: z2.array(ReleaseIdSchema).max(1e4),
|
|
42
|
+
hostPrivateAssetRefs: z2.array(ReleaseIdSchema).max(1e4)
|
|
43
|
+
}).strict();
|
|
44
|
+
var AgentSnapshotContentSchema = z2.object({
|
|
45
|
+
schemaVersion: z2.literal("openpond.agentSnapshot.v2"),
|
|
46
|
+
id: ReleaseIdSchema,
|
|
47
|
+
sourceRelease: ImmutableReleaseRefSchema.nullable(),
|
|
48
|
+
instructions: z2.array(ImmutableAssetRefSchema).max(1e4),
|
|
49
|
+
skills: z2.array(ImmutableAssetRefSchema).max(1e4),
|
|
50
|
+
agents: z2.array(ImmutableAssetRefSchema).max(1e4),
|
|
51
|
+
toolDeclarations: z2.array(ToolDeclarationSchema).max(200),
|
|
52
|
+
capabilityRequirements: z2.array(CapabilityRequirementSchema).max(200),
|
|
53
|
+
dependencyLock: ImmutableAssetRefSchema,
|
|
54
|
+
portability: PortabilityReportSchema,
|
|
55
|
+
metadata: MetadataSchema
|
|
56
|
+
}).strict();
|
|
57
|
+
var AgentSnapshotSchema = AgentSnapshotContentSchema.extend({ contentHash: ReleaseHashSchema }).strict();
|
|
58
|
+
var LifecycleContractSchema = z2.object({
|
|
59
|
+
create: z2.literal(true),
|
|
60
|
+
reset: z2.literal(true),
|
|
61
|
+
step: z2.literal(true),
|
|
62
|
+
collect: z2.literal(true),
|
|
63
|
+
destroy: z2.literal(true),
|
|
64
|
+
resetScope: z2.enum(["task", "attempt"])
|
|
65
|
+
}).strict();
|
|
66
|
+
var GraderInterfaceContractSchema = z2.object({
|
|
67
|
+
visibleEvidence: z2.array(ReleaseIdSchema).max(1e3),
|
|
68
|
+
privilegedEvidence: z2.array(ReleaseIdSchema).max(1e3),
|
|
69
|
+
privateVerifierIsolation: z2.boolean()
|
|
70
|
+
}).strict();
|
|
71
|
+
var HarnessReleaseContentSchema = z2.object({
|
|
72
|
+
schemaVersion: z2.literal("openpond.harnessRelease.v2"),
|
|
73
|
+
id: ReleaseIdSchema,
|
|
74
|
+
agentSnapshot: ImmutableReleaseRefSchema,
|
|
75
|
+
program: ImmutableAssetRefSchema,
|
|
76
|
+
tools: z2.array(ToolDeclarationSchema).max(200),
|
|
77
|
+
lifecycle: LifecycleContractSchema,
|
|
78
|
+
graderInterface: GraderInterfaceContractSchema,
|
|
79
|
+
files: z2.array(ImmutableAssetRefSchema).max(1e5),
|
|
80
|
+
metadata: MetadataSchema
|
|
81
|
+
}).strict();
|
|
82
|
+
var HarnessReleaseSchema = HarnessReleaseContentSchema.extend({ contentHash: ReleaseHashSchema }).strict();
|
|
83
|
+
var ModelActionSchema = z2.object({
|
|
84
|
+
id: ReleaseIdSchema,
|
|
85
|
+
turn: z2.number().int().nonnegative(),
|
|
86
|
+
kind: z2.enum(["message", "tool_call", "terminal"]),
|
|
87
|
+
name: ReleaseIdSchema.nullable(),
|
|
88
|
+
arguments: z2.record(z2.string(), z2.unknown()),
|
|
89
|
+
content: z2.string().max(1e6).nullable()
|
|
90
|
+
}).strict();
|
|
91
|
+
var ToolObservationSchema = z2.object({
|
|
92
|
+
actionId: ReleaseIdSchema,
|
|
93
|
+
turn: z2.number().int().nonnegative(),
|
|
94
|
+
terminal: z2.boolean(),
|
|
95
|
+
output: z2.record(z2.string(), z2.unknown()),
|
|
96
|
+
artifactRefs: z2.array(ImmutableArtifactRefSchema).max(1e5)
|
|
97
|
+
}).strict();
|
|
98
|
+
function createAgentSnapshot(input) {
|
|
99
|
+
const content = AgentSnapshotContentSchema.parse(input);
|
|
100
|
+
return AgentSnapshotSchema.parse({ ...content, contentHash: contentHash(content) });
|
|
101
|
+
}
|
|
102
|
+
function createHarnessRelease(input) {
|
|
103
|
+
const content = HarnessReleaseContentSchema.parse(input);
|
|
104
|
+
return HarnessReleaseSchema.parse({ ...content, contentHash: contentHash(content) });
|
|
105
|
+
}
|
|
106
|
+
var HarnessLifecycleEventSchema = z2.object({
|
|
107
|
+
sequence: z2.number().int().nonnegative(),
|
|
108
|
+
type: z2.enum(["created", "reset", "action", "observation", "terminal", "failure", "collected", "destroyed"]),
|
|
109
|
+
payloadHash: ReleaseHashSchema,
|
|
110
|
+
metadata: MetadataSchema
|
|
111
|
+
}).strict();
|
|
112
|
+
var HarnessTraceSchema = z2.object({
|
|
113
|
+
schemaVersion: z2.literal("openpond.harnessTrace.v1"),
|
|
114
|
+
manifest: ImmutableReleaseRefSchema,
|
|
115
|
+
taskId: ReleaseIdSchema,
|
|
116
|
+
seed: z2.string().trim().min(1).max(500),
|
|
117
|
+
events: z2.array(HarnessLifecycleEventSchema).max(1e6),
|
|
118
|
+
actions: z2.array(ModelActionSchema).max(1e5),
|
|
119
|
+
observations: z2.array(ToolObservationSchema).max(1e5),
|
|
120
|
+
terminal: z2.boolean(),
|
|
121
|
+
failureClass: FailureClassSchema.nullable(),
|
|
122
|
+
output: z2.record(z2.string(), z2.unknown()),
|
|
123
|
+
contentHash: ReleaseHashSchema
|
|
124
|
+
}).strict();
|
|
125
|
+
|
|
126
|
+
// ../harness/dist/source-package.js
|
|
127
|
+
var MAX_HARNESS_SOURCE_PACKAGE_BYTES = 25 * 1024 * 1024;
|
|
128
|
+
var HarnessSourceFileSchema = z3.object({
|
|
129
|
+
path: ImmutableAssetRefSchema.shape.path,
|
|
130
|
+
base64: z3.string().max(Math.ceil(MAX_HARNESS_SOURCE_PACKAGE_BYTES / 3) * 4)
|
|
131
|
+
}).strict();
|
|
132
|
+
var HarnessSourcePackageContentSchema = z3.object({
|
|
133
|
+
schemaVersion: z3.literal("openpond.harnessSourcePackage.v1"),
|
|
134
|
+
agentSnapshot: AgentSnapshotSchema,
|
|
135
|
+
harnessRelease: HarnessReleaseSchema,
|
|
136
|
+
files: z3.array(HarnessSourceFileSchema).max(1e4)
|
|
137
|
+
}).strict();
|
|
138
|
+
var HarnessSourcePackageSchema = HarnessSourcePackageContentSchema.extend({
|
|
139
|
+
contentHash: ReleaseHashSchema
|
|
140
|
+
}).strict();
|
|
141
|
+
var HarnessPolicySourcePackageSchema = HarnessSourcePackageContentSchema.extend({
|
|
142
|
+
schemaVersion: z3.literal("openpond.harnessPolicySourcePackage.v1"),
|
|
143
|
+
contentHash: ReleaseHashSchema
|
|
144
|
+
}).strict();
|
|
145
|
+
var HarnessSourceSelectionSchema = z3.object({
|
|
146
|
+
schemaVersion: z3.literal("openpond.harnessSourceSelection.v1"),
|
|
147
|
+
mode: z3.enum(["taskset_owned", "selected_release"]),
|
|
148
|
+
harnessRelease: ImmutableReleaseRefSchema,
|
|
149
|
+
sourcePackageHash: ReleaseHashSchema.nullable()
|
|
150
|
+
}).strict().superRefine((selection, context) => {
|
|
151
|
+
if (selection.mode === "selected_release" !== (selection.sourcePackageHash !== null)) {
|
|
152
|
+
context.addIssue({ code: "custom", path: ["sourcePackageHash"], message: "Only a selected release binds a source package." });
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
function validateHarnessPolicySourcePackage(value, expected) {
|
|
156
|
+
const source = HarnessPolicySourcePackageSchema.parse(value);
|
|
157
|
+
assertContentHash(source, "Harness policy source package");
|
|
158
|
+
assertContentHash(source.agentSnapshot, "Harness policy source Agent snapshot");
|
|
159
|
+
assertContentHash(source.harnessRelease, "Harness policy source release");
|
|
160
|
+
const { agentSnapshot, harnessRelease } = source;
|
|
161
|
+
if (expected && (expected.id !== harnessRelease.id || expected.contentHash !== harnessRelease.contentHash)) {
|
|
162
|
+
throw new Error("Harness policy source package differs from the selected release.");
|
|
163
|
+
}
|
|
164
|
+
if (harnessRelease.agentSnapshot.id !== agentSnapshot.id || harnessRelease.agentSnapshot.contentHash !== agentSnapshot.contentHash) {
|
|
165
|
+
throw new Error("Harness policy source release does not bind its Agent snapshot.");
|
|
166
|
+
}
|
|
167
|
+
const assets = /* @__PURE__ */ new Map();
|
|
168
|
+
for (const asset of harnessRelease.files) {
|
|
169
|
+
if (assets.has(asset.path))
|
|
170
|
+
throw new Error("Harness policy source contains duplicate asset paths.");
|
|
171
|
+
assets.set(asset.path, asset);
|
|
172
|
+
}
|
|
173
|
+
for (const asset of [
|
|
174
|
+
harnessRelease.program,
|
|
175
|
+
agentSnapshot.dependencyLock,
|
|
176
|
+
...agentSnapshot.instructions,
|
|
177
|
+
...agentSnapshot.skills,
|
|
178
|
+
...agentSnapshot.agents
|
|
179
|
+
]) {
|
|
180
|
+
if (contentHash(assets.get(asset.path) ?? null) !== contentHash(asset)) {
|
|
181
|
+
throw new Error(`Harness policy source dependency ${asset.path} is absent or differs from its release inventory.`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
for (const asset of [
|
|
185
|
+
harnessRelease.program,
|
|
186
|
+
agentSnapshot.dependencyLock,
|
|
187
|
+
...agentSnapshot.instructions,
|
|
188
|
+
...agentSnapshot.skills
|
|
189
|
+
]) {
|
|
190
|
+
if (asset.visibility !== "policy")
|
|
191
|
+
throw new Error(`Harness policy source dependency ${asset.path} is private.`);
|
|
192
|
+
}
|
|
193
|
+
const expectedPaths = new Set(harnessRelease.files.filter((asset) => asset.visibility === "policy").map((asset) => asset.path));
|
|
194
|
+
const paths = /* @__PURE__ */ new Set();
|
|
195
|
+
let totalBytes = 0;
|
|
196
|
+
for (const file of source.files) {
|
|
197
|
+
if (paths.has(file.path))
|
|
198
|
+
throw new Error("Harness policy source contains duplicate files.");
|
|
199
|
+
paths.add(file.path);
|
|
200
|
+
const asset = assets.get(file.path);
|
|
201
|
+
if (!asset || asset.visibility !== "policy")
|
|
202
|
+
throw new Error(`Harness policy source file ${file.path} is not policy-visible.`);
|
|
203
|
+
const bytes = decode(file.base64);
|
|
204
|
+
totalBytes += bytes.byteLength;
|
|
205
|
+
if (totalBytes > MAX_HARNESS_SOURCE_PACKAGE_BYTES)
|
|
206
|
+
throw new Error("Harness policy source exceeds its byte limit.");
|
|
207
|
+
if (bytes.byteLength !== asset.sizeBytes || sha256(bytes) !== asset.contentHash) {
|
|
208
|
+
throw new Error(`Harness policy source file ${file.path} differs from its immutable bytes.`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (paths.size !== expectedPaths.size || [...expectedPaths].some((path) => !paths.has(path))) {
|
|
212
|
+
throw new Error("Harness policy source is missing released policy files.");
|
|
213
|
+
}
|
|
214
|
+
return source;
|
|
215
|
+
}
|
|
216
|
+
function validateHarnessSourcePackage(value, expected) {
|
|
217
|
+
const source = HarnessSourcePackageSchema.parse(value);
|
|
218
|
+
assertContentHash(source, "Harness source package");
|
|
219
|
+
assertContentHash(source.agentSnapshot, "Harness source Agent snapshot");
|
|
220
|
+
assertContentHash(source.harnessRelease, "Harness source release");
|
|
221
|
+
const { agentSnapshot, harnessRelease } = source;
|
|
222
|
+
if (expected && (expected.id !== harnessRelease.id || expected.contentHash !== harnessRelease.contentHash)) {
|
|
223
|
+
throw new Error("Harness source package differs from the selected release.");
|
|
224
|
+
}
|
|
225
|
+
if (harnessRelease.agentSnapshot.id !== agentSnapshot.id || harnessRelease.agentSnapshot.contentHash !== agentSnapshot.contentHash) {
|
|
226
|
+
throw new Error("Harness source release does not bind its Agent snapshot.");
|
|
227
|
+
}
|
|
228
|
+
const assets = /* @__PURE__ */ new Map();
|
|
229
|
+
const ids = /* @__PURE__ */ new Set();
|
|
230
|
+
for (const asset of harnessRelease.files) {
|
|
231
|
+
if (asset.path.includes("\\") || asset.path.includes(":"))
|
|
232
|
+
throw new Error("Harness source requires portable relative file paths.");
|
|
233
|
+
if (assets.has(asset.path) || ids.has(asset.id))
|
|
234
|
+
throw new Error("Harness source contains duplicate asset paths or identities.");
|
|
235
|
+
assets.set(asset.path, asset);
|
|
236
|
+
ids.add(asset.id);
|
|
237
|
+
}
|
|
238
|
+
for (const asset of [
|
|
239
|
+
harnessRelease.program,
|
|
240
|
+
agentSnapshot.dependencyLock,
|
|
241
|
+
...agentSnapshot.instructions,
|
|
242
|
+
...agentSnapshot.skills,
|
|
243
|
+
...agentSnapshot.agents
|
|
244
|
+
]) {
|
|
245
|
+
if (contentHash(assets.get(asset.path) ?? null) !== contentHash(asset)) {
|
|
246
|
+
throw new Error(`Harness source dependency ${asset.path} is absent or differs from its release inventory.`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
for (const asset of [...agentSnapshot.instructions, ...agentSnapshot.skills]) {
|
|
250
|
+
if (asset.visibility !== "policy")
|
|
251
|
+
throw new Error(`Harness policy source ${asset.path} is private.`);
|
|
252
|
+
}
|
|
253
|
+
const paths = /* @__PURE__ */ new Set();
|
|
254
|
+
let totalBytes = 0;
|
|
255
|
+
for (const file of source.files) {
|
|
256
|
+
if (paths.has(file.path))
|
|
257
|
+
throw new Error("Harness source package contains duplicate files.");
|
|
258
|
+
paths.add(file.path);
|
|
259
|
+
const asset = assets.get(file.path);
|
|
260
|
+
if (!asset)
|
|
261
|
+
throw new Error(`Harness source file ${file.path} is not declared by its release.`);
|
|
262
|
+
const bytes = decode(file.base64);
|
|
263
|
+
totalBytes += bytes.byteLength;
|
|
264
|
+
if (totalBytes > MAX_HARNESS_SOURCE_PACKAGE_BYTES)
|
|
265
|
+
throw new Error("Harness source package exceeds its byte limit.");
|
|
266
|
+
if (bytes.byteLength !== asset.sizeBytes || sha256(bytes) !== asset.contentHash) {
|
|
267
|
+
throw new Error(`Harness source file ${file.path} differs from its immutable bytes.`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
if (paths.size !== assets.size)
|
|
271
|
+
throw new Error("Harness source package is missing released files.");
|
|
272
|
+
return source;
|
|
273
|
+
}
|
|
274
|
+
function decode(base64) {
|
|
275
|
+
let binary;
|
|
276
|
+
try {
|
|
277
|
+
binary = atob(base64);
|
|
278
|
+
} catch {
|
|
279
|
+
throw new Error("Harness source file is not valid base64.");
|
|
280
|
+
}
|
|
281
|
+
if (btoa(binary) !== base64)
|
|
282
|
+
throw new Error("Harness source file is not canonical base64.");
|
|
283
|
+
return Uint8Array.from(binary, (character) => character.charCodeAt(0));
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
export {
|
|
287
|
+
ToolDeclarationSchema,
|
|
288
|
+
CapabilityRequirementSchema,
|
|
289
|
+
createAgentSnapshot,
|
|
290
|
+
createHarnessRelease,
|
|
291
|
+
HarnessPolicySourcePackageSchema,
|
|
292
|
+
HarnessSourceSelectionSchema,
|
|
293
|
+
validateHarnessPolicySourcePackage,
|
|
294
|
+
validateHarnessSourcePackage
|
|
295
|
+
};
|
|
296
|
+
//# sourceMappingURL=chunk-JOKRT4CK.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../harness/dist/source-package.js", "../../harness/dist/harness.js", "../../harness/dist/tools.js"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\nimport { assertContentHash, contentHash, ImmutableAssetRefSchema, ImmutableReleaseRefSchema, ReleaseHashSchema, sha256, } from \"./common.js\";\nimport { AgentSnapshotSchema, HarnessReleaseSchema } from \"./harness.js\";\nexport const MAX_HARNESS_SOURCE_PACKAGE_BYTES = 25 * 1024 * 1024;\nconst HarnessSourceFileSchema = z.object({\n path: ImmutableAssetRefSchema.shape.path,\n base64: z.string().max(Math.ceil(MAX_HARNESS_SOURCE_PACKAGE_BYTES / 3) * 4),\n}).strict();\nconst HarnessSourcePackageContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.harnessSourcePackage.v1\"),\n agentSnapshot: AgentSnapshotSchema,\n harnessRelease: HarnessReleaseSchema,\n files: z.array(HarnessSourceFileSchema).max(10_000),\n}).strict();\nexport const HarnessSourcePackageSchema = HarnessSourcePackageContentSchema.extend({\n contentHash: ReleaseHashSchema,\n}).strict();\n/** The guest receives only policy bytes while retaining the complete release\n * manifest and identity. Verifier and host-private source remains on the host. */\nexport const HarnessPolicySourcePackageSchema = HarnessSourcePackageContentSchema.extend({\n schemaVersion: z.literal(\"openpond.harnessPolicySourcePackage.v1\"),\n contentHash: ReleaseHashSchema,\n}).strict();\nexport const HarnessSourceSelectionSchema = z.object({\n schemaVersion: z.literal(\"openpond.harnessSourceSelection.v1\"),\n mode: z.enum([\"taskset_owned\", \"selected_release\"]),\n harnessRelease: ImmutableReleaseRefSchema,\n sourcePackageHash: ReleaseHashSchema.nullable(),\n}).strict().superRefine((selection, context) => {\n if ((selection.mode === \"selected_release\") !== (selection.sourcePackageHash !== null)) {\n context.addIssue({ code: \"custom\", path: [\"sourcePackageHash\"], message: \"Only a selected release binds a source package.\" });\n }\n});\n/** Resolve the source selected by a captured bundle; missing source cannot be\n * interpreted as Taskset-owned execution when the bundle selected a release. */\nexport function resolveHarnessSourceSelection(input) {\n const selection = HarnessSourceSelectionSchema.parse(input.selection);\n if (selection.harnessRelease.id !== input.expectedRelease.id\n || selection.harnessRelease.contentHash !== input.expectedRelease.contentHash) {\n throw new Error(\"Harness source selection differs from its run manifest.\");\n }\n if (selection.mode === \"taskset_owned\") {\n if (input.sourcePackage !== undefined && input.sourcePackage !== null)\n throw new Error(\"Taskset-owned execution cannot include a selected Harness source package.\");\n return { selection, sourcePackage: null };\n }\n const sourcePackage = validateHarnessSourcePackage(input.sourcePackage, selection.harnessRelease);\n if (sourcePackage.contentHash !== selection.sourcePackageHash)\n throw new Error(\"Harness source selection differs from its captured package.\");\n return { selection, sourcePackage };\n}\n/** Capture the full released source. Runtime admission separately authorizes\n * export and capabilities; a source package never makes private files visible\n * to a policy merely by transporting them. */\nexport function createHarnessSourcePackage(input) {\n if ([...input.files.values()].reduce((total, bytes) => total + bytes.byteLength, 0) > MAX_HARNESS_SOURCE_PACKAGE_BYTES) {\n throw new Error(\"Harness source package exceeds its byte limit.\");\n }\n const content = HarnessSourcePackageContentSchema.parse({\n schemaVersion: \"openpond.harnessSourcePackage.v1\",\n agentSnapshot: input.agentSnapshot,\n harnessRelease: input.harnessRelease,\n files: [...input.files].sort(([a], [b]) => a.localeCompare(b)).map(([path, bytes]) => ({\n path,\n base64: encode(bytes),\n })),\n });\n return validateHarnessSourcePackage({ ...content, contentHash: contentHash(content) });\n}\nexport function createHarnessPolicySourcePackage(value, expected) {\n const source = validateHarnessSourcePackage(value, expected);\n const assets = new Map(source.harnessRelease.files.map((asset) => [asset.path, asset]));\n const content = {\n schemaVersion: \"openpond.harnessPolicySourcePackage.v1\",\n agentSnapshot: source.agentSnapshot,\n harnessRelease: source.harnessRelease,\n files: source.files.filter((file) => assets.get(file.path)?.visibility === \"policy\"),\n };\n return validateHarnessPolicySourcePackage({ ...content, contentHash: contentHash(content) }, expected);\n}\nexport function validateHarnessPolicySourcePackage(value, expected) {\n const source = HarnessPolicySourcePackageSchema.parse(value);\n assertContentHash(source, \"Harness policy source package\");\n assertContentHash(source.agentSnapshot, \"Harness policy source Agent snapshot\");\n assertContentHash(source.harnessRelease, \"Harness policy source release\");\n const { agentSnapshot, harnessRelease } = source;\n if (expected && (expected.id !== harnessRelease.id || expected.contentHash !== harnessRelease.contentHash)) {\n throw new Error(\"Harness policy source package differs from the selected release.\");\n }\n if (harnessRelease.agentSnapshot.id !== agentSnapshot.id\n || harnessRelease.agentSnapshot.contentHash !== agentSnapshot.contentHash) {\n throw new Error(\"Harness policy source release does not bind its Agent snapshot.\");\n }\n const assets = new Map();\n for (const asset of harnessRelease.files) {\n if (assets.has(asset.path))\n throw new Error(\"Harness policy source contains duplicate asset paths.\");\n assets.set(asset.path, asset);\n }\n for (const asset of [harnessRelease.program, agentSnapshot.dependencyLock,\n ...agentSnapshot.instructions, ...agentSnapshot.skills, ...agentSnapshot.agents]) {\n if (contentHash(assets.get(asset.path) ?? null) !== contentHash(asset)) {\n throw new Error(`Harness policy source dependency ${asset.path} is absent or differs from its release inventory.`);\n }\n }\n for (const asset of [harnessRelease.program, agentSnapshot.dependencyLock,\n ...agentSnapshot.instructions, ...agentSnapshot.skills]) {\n if (asset.visibility !== \"policy\")\n throw new Error(`Harness policy source dependency ${asset.path} is private.`);\n }\n const expectedPaths = new Set(harnessRelease.files.filter((asset) => asset.visibility === \"policy\").map((asset) => asset.path));\n const paths = new Set();\n let totalBytes = 0;\n for (const file of source.files) {\n if (paths.has(file.path))\n throw new Error(\"Harness policy source contains duplicate files.\");\n paths.add(file.path);\n const asset = assets.get(file.path);\n if (!asset || asset.visibility !== \"policy\")\n throw new Error(`Harness policy source file ${file.path} is not policy-visible.`);\n const bytes = decode(file.base64);\n totalBytes += bytes.byteLength;\n if (totalBytes > MAX_HARNESS_SOURCE_PACKAGE_BYTES)\n throw new Error(\"Harness policy source exceeds its byte limit.\");\n if (bytes.byteLength !== asset.sizeBytes || sha256(bytes) !== asset.contentHash) {\n throw new Error(`Harness policy source file ${file.path} differs from its immutable bytes.`);\n }\n }\n if (paths.size !== expectedPaths.size || [...expectedPaths].some((path) => !paths.has(path))) {\n throw new Error(\"Harness policy source is missing released policy files.\");\n }\n return source;\n}\nexport function harnessPolicySourcePackageFiles(value, expected) {\n const source = validateHarnessPolicySourcePackage(value, expected);\n return new Map(source.files.map((file) => [file.path, decode(file.base64)]));\n}\n/** Validate both release objects, their complete asset closure and exact bytes.\n * Rehashing the outer package cannot bless a substituted instruction or file. */\nexport function validateHarnessSourcePackage(value, expected) {\n const source = HarnessSourcePackageSchema.parse(value);\n assertContentHash(source, \"Harness source package\");\n assertContentHash(source.agentSnapshot, \"Harness source Agent snapshot\");\n assertContentHash(source.harnessRelease, \"Harness source release\");\n const { agentSnapshot, harnessRelease } = source;\n if (expected && (expected.id !== harnessRelease.id || expected.contentHash !== harnessRelease.contentHash)) {\n throw new Error(\"Harness source package differs from the selected release.\");\n }\n if (harnessRelease.agentSnapshot.id !== agentSnapshot.id\n || harnessRelease.agentSnapshot.contentHash !== agentSnapshot.contentHash) {\n throw new Error(\"Harness source release does not bind its Agent snapshot.\");\n }\n const assets = new Map();\n const ids = new Set();\n for (const asset of harnessRelease.files) {\n if (asset.path.includes(\"\\\\\") || asset.path.includes(\":\"))\n throw new Error(\"Harness source requires portable relative file paths.\");\n if (assets.has(asset.path) || ids.has(asset.id))\n throw new Error(\"Harness source contains duplicate asset paths or identities.\");\n assets.set(asset.path, asset);\n ids.add(asset.id);\n }\n for (const asset of [harnessRelease.program, agentSnapshot.dependencyLock,\n ...agentSnapshot.instructions, ...agentSnapshot.skills, ...agentSnapshot.agents]) {\n if (contentHash(assets.get(asset.path) ?? null) !== contentHash(asset)) {\n throw new Error(`Harness source dependency ${asset.path} is absent or differs from its release inventory.`);\n }\n }\n for (const asset of [...agentSnapshot.instructions, ...agentSnapshot.skills]) {\n if (asset.visibility !== \"policy\")\n throw new Error(`Harness policy source ${asset.path} is private.`);\n }\n const paths = new Set();\n let totalBytes = 0;\n for (const file of source.files) {\n if (paths.has(file.path))\n throw new Error(\"Harness source package contains duplicate files.\");\n paths.add(file.path);\n const asset = assets.get(file.path);\n if (!asset)\n throw new Error(`Harness source file ${file.path} is not declared by its release.`);\n const bytes = decode(file.base64);\n totalBytes += bytes.byteLength;\n if (totalBytes > MAX_HARNESS_SOURCE_PACKAGE_BYTES)\n throw new Error(\"Harness source package exceeds its byte limit.\");\n if (bytes.byteLength !== asset.sizeBytes || sha256(bytes) !== asset.contentHash) {\n throw new Error(`Harness source file ${file.path} differs from its immutable bytes.`);\n }\n }\n if (paths.size !== assets.size)\n throw new Error(\"Harness source package is missing released files.\");\n return source;\n}\n/** Return an owned byte snapshot, including visibility in the release inventory.\n * A runtime must select policy assets explicitly rather than expose this map. */\nexport function harnessSourcePackageFiles(value, expected) {\n const source = validateHarnessSourcePackage(value, expected);\n return new Map(source.files.map(file => [file.path, decode(file.base64)]));\n}\nfunction encode(bytes) {\n let binary = \"\";\n for (let offset = 0; offset < bytes.length; offset += 8_192) {\n binary += String.fromCharCode(...bytes.subarray(offset, offset + 8_192));\n }\n return btoa(binary);\n}\nfunction decode(base64) {\n let binary;\n try {\n binary = atob(base64);\n }\n catch {\n throw new Error(\"Harness source file is not valid base64.\");\n }\n if (btoa(binary) !== base64)\n throw new Error(\"Harness source file is not canonical base64.\");\n return Uint8Array.from(binary, character => character.charCodeAt(0));\n}\n", "import { z } from \"zod\";\nimport { FailureClassSchema, ImmutableArtifactRefSchema, ImmutableAssetRefSchema, ImmutableReleaseRefSchema, MetadataSchema, ReleaseHashSchema, ReleaseIdSchema, contentHash, } from \"./common.js\";\nimport { CapabilityRequirementSchema, ToolDeclarationSchema, } from \"./tools.js\";\nexport const PortabilityReportSchema = z.object({\n portable: z.boolean(),\n blockers: z.array(z.string().trim().min(1).max(2_000)).max(1_000),\n localOnlyAssetRefs: z.array(ReleaseIdSchema).max(10_000),\n hostPrivateAssetRefs: z.array(ReleaseIdSchema).max(10_000),\n}).strict();\nexport const AgentSnapshotContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.agentSnapshot.v2\"),\n id: ReleaseIdSchema,\n sourceRelease: ImmutableReleaseRefSchema.nullable(),\n instructions: z.array(ImmutableAssetRefSchema).max(10_000),\n skills: z.array(ImmutableAssetRefSchema).max(10_000),\n agents: z.array(ImmutableAssetRefSchema).max(10_000),\n toolDeclarations: z.array(ToolDeclarationSchema).max(200),\n capabilityRequirements: z.array(CapabilityRequirementSchema).max(200),\n dependencyLock: ImmutableAssetRefSchema,\n portability: PortabilityReportSchema,\n metadata: MetadataSchema,\n}).strict();\nexport const AgentSnapshotSchema = AgentSnapshotContentSchema.extend({ contentHash: ReleaseHashSchema }).strict();\nexport const LifecycleContractSchema = z.object({\n create: z.literal(true),\n reset: z.literal(true),\n step: z.literal(true),\n collect: z.literal(true),\n destroy: z.literal(true),\n resetScope: z.enum([\"task\", \"attempt\"]),\n}).strict();\nexport const GraderInterfaceContractSchema = z.object({\n visibleEvidence: z.array(ReleaseIdSchema).max(1_000),\n privilegedEvidence: z.array(ReleaseIdSchema).max(1_000),\n privateVerifierIsolation: z.boolean(),\n}).strict();\nexport const HarnessReleaseContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.harnessRelease.v2\"),\n id: ReleaseIdSchema,\n agentSnapshot: ImmutableReleaseRefSchema,\n program: ImmutableAssetRefSchema,\n tools: z.array(ToolDeclarationSchema).max(200),\n lifecycle: LifecycleContractSchema,\n graderInterface: GraderInterfaceContractSchema,\n files: z.array(ImmutableAssetRefSchema).max(100_000),\n metadata: MetadataSchema,\n}).strict();\nexport const HarnessReleaseSchema = HarnessReleaseContentSchema.extend({ contentHash: ReleaseHashSchema }).strict();\nexport const ModelActionSchema = z.object({\n id: ReleaseIdSchema,\n turn: z.number().int().nonnegative(),\n kind: z.enum([\"message\", \"tool_call\", \"terminal\"]),\n name: ReleaseIdSchema.nullable(),\n arguments: z.record(z.string(), z.unknown()),\n content: z.string().max(1_000_000).nullable(),\n}).strict();\nexport const ToolObservationSchema = z.object({\n actionId: ReleaseIdSchema,\n turn: z.number().int().nonnegative(),\n terminal: z.boolean(),\n output: z.record(z.string(), z.unknown()),\n artifactRefs: z.array(ImmutableArtifactRefSchema).max(100_000),\n}).strict();\nexport function createAgentSnapshot(input) {\n const content = AgentSnapshotContentSchema.parse(input);\n return AgentSnapshotSchema.parse({ ...content, contentHash: contentHash(content) });\n}\nexport function createHarnessRelease(input) {\n const content = HarnessReleaseContentSchema.parse(input);\n return HarnessReleaseSchema.parse({ ...content, contentHash: contentHash(content) });\n}\nexport const HarnessLifecycleEventSchema = z.object({\n sequence: z.number().int().nonnegative(),\n type: z.enum([\"created\", \"reset\", \"action\", \"observation\", \"terminal\", \"failure\", \"collected\", \"destroyed\"]),\n payloadHash: ReleaseHashSchema,\n metadata: MetadataSchema,\n}).strict();\nexport const HarnessTraceSchema = z.object({\n schemaVersion: z.literal(\"openpond.harnessTrace.v1\"),\n manifest: ImmutableReleaseRefSchema,\n taskId: ReleaseIdSchema,\n seed: z.string().trim().min(1).max(500),\n events: z.array(HarnessLifecycleEventSchema).max(1_000_000),\n actions: z.array(ModelActionSchema).max(100_000),\n observations: z.array(ToolObservationSchema).max(100_000),\n terminal: z.boolean(),\n failureClass: FailureClassSchema.nullable(),\n output: z.record(z.string(), z.unknown()),\n contentHash: ReleaseHashSchema,\n}).strict();\n", "import { z } from \"zod\";\nimport { ReleaseHashSchema, ReleaseIdSchema } from \"./common.js\";\nexport const ToolDeclarationSchema = z.object({\n name: z.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),\n description: z.string().trim().min(1).max(2_000),\n inputSchema: z.record(z.string(), z.unknown()),\n inputSchemaHash: ReleaseHashSchema,\n sideEffect: z.enum([\"read\", \"write\"]),\n timeoutMs: z.number().int().positive().max(3_600_000),\n}).strict();\nexport const CapabilityRequirementSchema = z.object({\n id: ReleaseIdSchema,\n required: z.boolean(),\n scopes: z.array(z.string().trim().min(1).max(500)).max(100).default([]),\n portability: z.enum([\"portable\", \"host_adapter\", \"local_only\", \"hosted_only\"]),\n}).strict();\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["z", "z", "z", "z"]
|
|
7
|
+
}
|
|
@@ -6,19 +6,19 @@ import {
|
|
|
6
6
|
ExperimentImprovementTestRecipeSchema,
|
|
7
7
|
verifyExperimentImprovementHumanOptions,
|
|
8
8
|
verifyExperimentImprovementState
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
fetchConnectedJson
|
|
12
|
-
} from "./chunk-T4APHDES.js";
|
|
9
|
+
} from "./chunk-PMBBNQ2J.js";
|
|
13
10
|
import {
|
|
14
11
|
HarnessPolicySourcePackageSchema,
|
|
15
12
|
validateHarnessPolicySourcePackage
|
|
16
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-JOKRT4CK.js";
|
|
14
|
+
import {
|
|
15
|
+
fetchConnectedJson
|
|
16
|
+
} from "./chunk-T4APHDES.js";
|
|
17
17
|
import {
|
|
18
18
|
ImmutableReleaseRefSchema,
|
|
19
19
|
contentHash,
|
|
20
20
|
sha256
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-COPVBJPL.js";
|
|
22
22
|
|
|
23
23
|
// src/experiment-improvement-client.ts
|
|
24
24
|
import { z as z2 } from "zod";
|
|
@@ -157,4 +157,4 @@ export {
|
|
|
157
157
|
HostedProfileCandidateCommandSchema,
|
|
158
158
|
ExperimentImprovementClient
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
160
|
+
//# sourceMappingURL=chunk-K2OH56BH.js.map
|