openpond-sdk 0.5.26 → 0.5.28
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 +20 -4
- package/dist/{chunk-S7I45WJQ.js → chunk-2U54EOXJ.js} +3 -2
- package/dist/chunk-2U54EOXJ.js.map +7 -0
- package/dist/{chunk-GFVMIDP5.js → chunk-B3CH4V35.js} +318 -18
- package/dist/chunk-B3CH4V35.js.map +7 -0
- package/dist/{chunk-YVOKMF45.js → chunk-FFRYTXGF.js} +18 -8
- package/dist/chunk-FFRYTXGF.js.map +7 -0
- package/dist/{chunk-7PCER4VL.js → chunk-O27OEXXB.js} +5 -3
- package/dist/{chunk-7PCER4VL.js.map → chunk-O27OEXXB.js.map} +1 -1
- package/dist/{chunk-S5UZTXXB.js → chunk-WT7JU2CT.js} +4 -305
- package/dist/chunk-WT7JU2CT.js.map +7 -0
- package/dist/{chunk-AMBW4UHN.js → chunk-ZIMHPYXL.js} +13 -8
- package/dist/{chunk-AMBW4UHN.js.map → chunk-ZIMHPYXL.js.map} +2 -2
- package/dist/model-starter-catalog.js +4 -2
- package/dist/model-starter-catalog.js.map +1 -1
- package/dist/model-starters.js +4 -2
- package/dist/model-taskset-authoring.js +1 -1
- package/dist/taskset-drafts.js +4 -4
- package/dist/taskset-packages.js +214 -52
- package/dist/taskset-packages.js.map +4 -4
- package/dist/training-bundle.js +6 -5
- package/dist/training-bundle.js.map +1 -1
- package/dist/types/packages/sdk/src/model-bound-taskset-authoring.d.ts +10 -0
- package/dist/types/packages/sdk/src/model-bound-taskset-authoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/model-ordinary-taskset-reward.d.ts +16 -0
- package/dist/types/packages/sdk/src/model-ordinary-taskset-reward.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/model-taskset-authoring-contracts.d.ts +1 -0
- package/dist/types/packages/sdk/src/model-taskset-authoring-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-authoring.d.ts +1 -0
- package/dist/types/packages/sdk/src/model-taskset-authoring.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +11 -0
- package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-training-defaults.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +2 -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 +6 -0
- 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 +1 -0
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +3 -0
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-publication.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +2 -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 +2 -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 +3 -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 +2 -0
- 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 +1 -0
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-packages.d.ts +1 -0
- package/dist/types/packages/sdk/src/taskset-packages.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-GFVMIDP5.js.map +0 -7
- package/dist/chunk-S5UZTXXB.js.map +0 -7
- package/dist/chunk-S7I45WJQ.js.map +0 -7
- package/dist/chunk-YVOKMF45.js.map +0 -7
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/model-starter-execution.ts", "../src/model-taskset-resources.ts", "../src/model-taskset-derivation.ts", "../src/taskset-package-learning.ts", "../src/taskset-package-files.ts", "../src/taskset-package-execution.ts", "../src/taskset-package-contracts.ts", "../src/model-taskset-authoring-lineage.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\nimport { EnvironmentReleaseSchema, VerifierSetReleaseSchema } from \"@openpond/evals\";\nimport { JavaScriptEnvironmentDefinitionSchema, assertJavaScriptEnvironmentDefinition } from \"@openpond/evals/javascript-environment\";\nimport { createLearningTextAsset, learningRef, sealLearningContent, verifyLearningTextAsset, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport { assertBoundedTaskJson } from \"@openpond/evals/task-schema\";\nimport type { TasksetRelease } from \"@openpond/evals/tasksets\";\nimport { canonicalJson } from \"./protocol.js\";\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\n\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ModelStarterEnvironmentAttemptSchema = /* @__PURE__ */ (() => z.object({\n schemaVersion: z.literal(\"openpond.javascriptEnvironmentAttempt.v1\"), taskId: z.string(),\n status: z.enum([\"completed\", \"budget_exhausted\", \"cancelled\", \"timed_out\", \"policy_failure\", \"environment_failure\"]),\n output: z.string().nullable(), collected: z.boolean(), environmentCleanupComplete: z.boolean(),\n snapshot: z.object({ definition: ModelProjectVersionedRefSchema, inputHash: HashSchema, seed: z.number().int(), initialStateHash: HashSchema, finalStateHash: HashSchema, state: z.record(z.string(), z.unknown()), events: z.array(z.record(z.string(), z.unknown())) }).strict().nullable(),\n messages: z.array(z.unknown()), error: z.string().nullable(), contentHash: HashSchema,\n}).strict())();\n\n/** Validate an owner-recorded runtime artifact against the admitted task.\n * Provenance/ownership of the artifact remains the execution host's concern. */\nexport function verifyModelStarterEnvironmentAttempt(value: unknown, context: { taskId: string; input: Record<string, unknown>; seed: number; javascript: z.infer<typeof ModelProjectVersionedRefSchema> }) {\n assertBoundedTaskJson(value, 16_777_216);\n const result = ModelStarterEnvironmentAttemptSchema.parse(value);\n const { contentHash, ...content } = result;\n if (sealLearningContent(content).contentHash !== contentHash || result.taskId !== context.taskId || (result.snapshot && (\n !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\n ))) throw new Error(\"Starter environment attempt differs from its admitted task or recorded bytes.\");\n return result;\n}\n\nexport const ModelStarterExecutionSchema = z.object({\n environment: EnvironmentReleaseSchema,\n verifierSet: VerifierSetReleaseSchema,\n javascript: JavaScriptEnvironmentDefinitionSchema,\n}).strict();\nexport type ModelStarterExecution = z.infer<typeof ModelStarterExecutionSchema>;\nexport const ModelStarterToolFixtureScriptSchema = z.object({\n actions: z.array(z.object({ name: z.string().min(1).max(64), arguments: z.record(z.string(), z.unknown()) }).strict()).max(1_000),\n}).strict();\nexport type ModelStarterExecutionContext = Pick<TasksetRelease, \"environment\" | \"environmentRelease\" | \"verifierSetRelease\" | \"tools\" | \"capabilities\" | \"policy\" | \"graders\" | \"tasks\">;\n\n/** Derivable from immutable Taskset refs, without putting private code in its metadata. */\nexport function modelStarterExecutionAssetId(context: Pick<ModelStarterExecutionContext, \"environmentRelease\" | \"verifierSetRelease\">): string {\n if (!context.environmentRelease || !context.verifierSetRelease) throw new Error(\"Starter execution release references are missing.\");\n return `starter-execution-${sealLearningContent({ environment: context.environmentRelease, verifiers: context.verifierSetRelease }).contentHash}`;\n}\n\n/** Persist alongside the package's private assets in the same creation transaction.\n * The existing authored-text resource bound also applies to this small closure. */\nexport function createModelStarterExecutionAsset(value: ModelStarterExecution): LearningTextAsset {\n const execution = ModelStarterExecutionSchema.parse(value);\n assertExecutionIntegrity(execution);\n const id = modelStarterExecutionAssetId({ environmentRelease: { id: execution.environment.id, contentHash: execution.environment.contentHash }, verifierSetRelease: { id: execution.verifierSet.id, contentHash: execution.verifierSet.contentHash } });\n const generated = createLearningTextAsset({ text: canonicalJson(execution), path: \"environment/execution.json\", mediaType: \"application/json\", visibility: \"host_private\" });\n const { contentHash: _hash, ...content } = generated;\n return sealLearningContent({ ...content, id, asset: { ...content.asset, id } });\n}\n\n/** The caller owns and verifies the Taskset manifest; this verifies its private\n * resource graph. Passing selected immutable task rows permits bounded hydration. */\nexport function resolveModelStarterExecutionAsset(context: ModelStarterExecutionContext, asset: LearningTextAsset, assets: LearningTextAsset[]): ModelStarterExecution {\n if (asset.id !== modelStarterExecutionAssetId(context) || asset.asset.visibility !== \"host_private\" || asset.asset.mediaType !== \"application/json\") throw new Error(\"Starter execution asset differs from its Taskset references.\");\n const execution = ModelStarterExecutionSchema.parse(JSON.parse(verifyLearningTextAsset(asset, asset.asset)));\n validateModelStarterExecution(execution, context, assets);\n return execution;\n}\n\nfunction equal(left: unknown, right: unknown): boolean {\n return sealLearningContent({ value: left }).contentHash === sealLearningContent({ value: right }).contentHash;\n}\n\nfunction assertExecutionIntegrity(execution: ModelStarterExecution): void {\n assertJavaScriptEnvironmentDefinition(execution.javascript);\n for (const resource of [execution.environment, execution.verifierSet]) {\n const { contentHash, ...content } = resource;\n if (sealLearningContent(content).contentHash !== contentHash) throw new Error(`Starter execution resource integrity failed: ${resource.id}.`);\n }\n if (!equal(execution.environment.metadata.javascriptEnvironment, learningRef(execution.javascript))) throw new Error(\"Starter execution resources differ from its declared task context.\");\n}\n\n/** Close executable dependencies before a host persists or runs a package. */\nexport function validateModelStarterExecution(\n execution: ModelStarterExecution | undefined,\n taskset: ModelStarterExecutionContext,\n assets: LearningTextAsset[],\n): void {\n if (!execution) {\n if (taskset.environment.entrypoint === \"openpond.javascript-environment.v1\") throw new Error(\"Starter JavaScript execution resources are missing.\");\n return;\n }\n const { environment, verifierSet, javascript } = execution;\n assertExecutionIntegrity(execution);\n if (!equal(taskset.environmentRelease, { id: environment.id, contentHash: environment.contentHash }) ||\n !equal(taskset.verifierSetRelease, { id: verifierSet.id, contentHash: verifierSet.contentHash }) ||\n !equal(environment.contract, taskset.environment) || !equal(verifierSet.graders, taskset.graders) ||\n !equal(taskset.tools, javascript.tools) || !equal(environment.metadata.javascriptEnvironment, learningRef(javascript))) {\n throw new Error(\"Starter execution resources differ from its declared task context.\");\n }\n const contract = environment.contract;\n if (contract.entrypoint !== \"openpond.javascript-environment.v1\" || contract.kind !== \"agent\" ||\n !contract.stateful || !contract.deterministicSeeds || contract.networkPolicy !== \"none\" ||\n new Set(contract.lifecycle).size !== 5 || taskset.capabilities.length || taskset.policy.connectedAppScopes.length) {\n throw new Error(\"Starter JavaScript environment declares unsupported host capabilities.\");\n }\n for (const reference of [javascript.module, environment.actionSchemaRef, environment.observationSchemaRef, environment.stateSchemaRef]) {\n if (!reference) continue;\n const asset = assets.find(asset => asset.id === reference.id);\n if (!asset) throw new Error(`Starter environment asset is missing: ${reference.id}.`);\n verifyLearningTextAsset(asset, reference);\n }\n for (const task of taskset.tasks) {\n const asset = assets.find(asset => asset.id === task.privilegedContextRef);\n if (!asset || asset.asset.visibility !== \"host_private\" || asset.asset.mediaType !== \"application/json\") {\n throw new Error(`Starter private initial state is missing: ${task.id}.`);\n }\n const state: unknown = JSON.parse(verifyLearningTextAsset(asset, asset.asset));\n if (!state || typeof state !== \"object\" || Array.isArray(state)) throw new Error(`Starter initial state must be a JSON object: ${task.id}.`);\n assertBoundedTaskJson(state, javascript.maxStateBytes);\n }\n}\n", "import { z } from \"zod\";\nimport { EnvironmentReleaseSchema, VerifierSetReleaseSchema, verifyEnvironmentRelease, verifyVerifierSetRelease } from \"@openpond/evals\";\nimport { createLearningTextAsset, sealLearningContent, verifyLearningTextAsset, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport type { TasksetRelease } from \"@openpond/evals/tasksets\";\nimport { canonicalJson } from \"./protocol.js\";\n\nexport const ModelTasksetExecutionResourcesSchema = z.object({ environment: EnvironmentReleaseSchema, verifierSet: VerifierSetReleaseSchema }).strict();\ntype Resources = z.infer<typeof ModelTasksetExecutionResourcesSchema>;\ntype Context = Pick<TasksetRelease, \"environmentRelease\" | \"verifierSetRelease\" | \"environment\" | \"graders\">;\n\n/** Private resource identity follows the exact published execution references. */\nexport function modelTasksetExecutionResourcesAssetId(context: Pick<Context, \"environmentRelease\" | \"verifierSetRelease\">): string {\n if (!context.environmentRelease || !context.verifierSetRelease) throw new Error(\"Taskset execution references are missing.\");\n return `taskset-execution-${sealLearningContent({ environment: context.environmentRelease, verifiers: context.verifierSetRelease }).contentHash}`;\n}\n\nexport function createModelTasksetExecutionResourcesAsset(value: Resources): LearningTextAsset {\n const resources = ModelTasksetExecutionResourcesSchema.parse({ environment: value.environment, verifierSet: value.verifierSet });\n assertIntegrity(resources);\n const id = modelTasksetExecutionResourcesAssetId({ environmentRelease: { id: resources.environment.id, contentHash: resources.environment.contentHash }, verifierSetRelease: { id: resources.verifierSet.id, contentHash: resources.verifierSet.contentHash } });\n const { contentHash: _hash, ...asset } = createLearningTextAsset({ text: canonicalJson(resources), path: \"environment/resources.json\", mediaType: \"application/json\", visibility: \"host_private\" });\n return sealLearningContent({ ...asset, id, asset: { ...asset.asset, id } });\n}\n\n/** Resolve text or tool execution resources without trusting an asset's ID alone. */\nexport function resolveModelTasksetExecutionResourcesAsset(context: Context, asset: LearningTextAsset): Resources {\n if (asset.id !== modelTasksetExecutionResourcesAssetId(context) || asset.asset.visibility !== \"host_private\" || asset.asset.mediaType !== \"application/json\") throw new Error(\"Taskset execution asset differs from its published references.\");\n const resources = ModelTasksetExecutionResourcesSchema.parse(JSON.parse(verifyLearningTextAsset(asset, asset.asset)));\n assertIntegrity(resources);\n if (asset.id !== createModelTasksetExecutionResourcesAsset(resources).id || canonicalJson(context.environment) !== canonicalJson(resources.environment.contract) || canonicalJson(context.graders) !== canonicalJson(resources.verifierSet.graders)) throw new Error(\"Taskset differs from its execution resources.\");\n return resources;\n}\n\nfunction assertIntegrity(resources: Resources): void {\n if (!verifyEnvironmentRelease(resources.environment) || !verifyVerifierSetRelease(resources.verifierSet)) throw new Error(\"Taskset execution resource integrity failed.\");\n}\n", "import { z } from \"zod\";\nimport { createEnvironmentRelease, createVerifierSetRelease, verifyEnvironmentRelease, verifyVerifierSetRelease } from \"@openpond/evals\";\nimport { LearningTextAssetSchema, TaskDefinitionSchema, assertLearningContentHash, learningRef, sameLearningRef, sealLearningContent, verifyLearningTextAsset } from \"@openpond/evals/learning\";\nimport { RewardBindingSchema, RewardReleaseSchema, compileBoundGraders } from \"@openpond/evals/rewards\";\nimport { TasksetReleaseSchema, assertTasksetRelease } from \"@openpond/evals/tasksets\";\nimport { validateTaskValue } from \"@openpond/evals/task-schema\";\n\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { ModelStarterExecutionSchema, validateModelStarterExecution } from \"./model-starter-execution.js\";\nimport { ModelTasksetExecutionResourcesSchema } from \"./model-taskset-resources.js\";\n\nconst OwnerSchema = z.object({ scopeId: z.string().trim().min(1).max(500), modelId: z.string().trim().min(1).max(500) }).strict();\nexport const ModelTasksetDerivationSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelTasksetDerivation.v1\"),\n owner: OwnerSchema,\n root: ModelProjectVersionedRefSchema,\n parent: ModelProjectVersionedRefSchema,\n}).strict();\n\n/** Immutable executable resources, independent of a catalog listing. */\nexport const ModelTasksetPackageSchema = z.object({\n taskset: TasksetReleaseSchema,\n taskDefinition: TaskDefinitionSchema,\n rewardBinding: RewardBindingSchema,\n rewards: z.array(RewardReleaseSchema).min(1).max(100),\n assets: z.array(LearningTextAssetSchema).max(1_000),\n executionResources: ModelTasksetExecutionResourcesSchema.optional(),\n execution: ModelStarterExecutionSchema.optional(),\n instructionMode: z.literal(\"per_task\").optional(),\n}).strict();\nexport type ModelTasksetPackage = z.infer<typeof ModelTasksetPackageSchema>;\n\nconst same = (left: unknown, right: unknown) => sealLearningContent({ value: left }).contentHash === sealLearningContent({ value: right }).contentHash;\nconst identity = (owner: z.infer<typeof OwnerSchema>, root: z.infer<typeof ModelProjectVersionedRefSchema>) => `model-taskset-${sealLearningContent({ owner, root }).contentHash}`;\n\n/** Hosts authorize the source and owner, upload immutable files, then commit\n * this result together with the model CAS and operation receipt. This pure\n * compiler neither allocates a new identity on retry nor changes a consumer. */\nexport function deriveModelTaskset(input: {\n owner: z.input<typeof OwnerSchema>;\n source: ModelTasksetPackage;\n rewardBinding: z.infer<typeof RewardBindingSchema>;\n rewards: z.infer<typeof RewardReleaseSchema>[];\n assets: z.infer<typeof LearningTextAssetSchema>[];\n}): ModelTasksetPackage {\n return compileModelTasksetReward({ ...input, source: validateModelTasksetPackage(input.source) });\n}\n\n/** Internal compiler shared by validated bound and ordinary source admission.\n * The source Taskset is always the real parent, never a synthetic bound copy. */\nexport function compileModelTasksetReward(input: {\n owner: z.input<typeof OwnerSchema>;\n source: Pick<ModelTasksetPackage, \"taskset\" | \"taskDefinition\" | \"executionResources\" | \"execution\" | \"instructionMode\">;\n rewardBinding: z.infer<typeof RewardBindingSchema>;\n rewards: z.infer<typeof RewardReleaseSchema>[];\n assets: z.infer<typeof LearningTextAssetSchema>[];\n edits?: Pick<ModelTasksetPackage, \"taskset\" | \"taskDefinition\" | \"executionResources\" | \"execution\">;\n}): ModelTasksetPackage {\n const owner = OwnerSchema.parse(input.owner);\n const source = input.source;\n const edited = input.edits ?? source;\n const previous = source.taskset.metadata.modelTasksetDerivation === undefined ? null : ModelTasksetDerivationSchema.parse(source.taskset.metadata.modelTasksetDerivation);\n if (previous && source.taskset.id !== identity(previous.owner, previous.root)) throw new Error(\"Derived Taskset identity differs from its ownership lineage.\");\n const owned = previous && same(previous.owner, owner);\n const root = owned ? previous.root : learningRef(source.taskset);\n const id = owned ? source.taskset.id : identity(owner, root);\n const revision = owned ? source.taskset.revision + 1 : 1;\n const rewardBinding = RewardBindingSchema.parse(input.rewardBinding);\n const rewards = input.rewards.map(reward => RewardReleaseSchema.parse(reward));\n const graders = compileBoundGraders(rewardBinding, rewards);\n if (rewardBinding.recipeRef) throw new Error(\"Resolve the Reward recipe into one standalone binding before deriving a Taskset.\");\n const policy = { ...edited.taskset.policy, hiddenGraderRefs: graders.filter(grader => grader.privileged).map(grader => grader.id) };\n const previousResources = edited.executionResources ?? edited.execution;\n const environment = previousResources?.environment ?? createEnvironmentRelease({\n schemaVersion: \"openpond.environmentRelease.v1\", id: `${id}-environment`, revision: 1,\n contract: edited.taskset.environment, actionSchemaRef: null, observationSchemaRef: null, stateSchemaRef: null,\n artifactCollection: { maxArtifacts: 100_000, maxTotalBytes: 250_000_000 }, adapterConformanceHashes: {}, metadata: {},\n });\n const verifierSet = createVerifierSetRelease({\n schemaVersion: \"openpond.verifierSetRelease.v1\", id: `${id}-verifiers`, revision, graders,\n isolation: previousResources?.verifierSet.isolation ?? { processBoundary: \"isolated_process\", networkPolicy: \"none\", defaultTimeoutMs: Math.min(edited.taskset.environment.defaultTimeoutMs, 300_000) },\n calibrationReceiptRefs: [], metadata: previousResources ? { sourceVerifierSet: learningRef(previousResources.verifierSet) } : {},\n });\n const executionResources = { environment, verifierSet };\n const execution = edited.execution ? { ...edited.execution, verifierSet } : undefined;\n const { contentHash: _taskHash, ...taskContent } = edited.taskset;\n const { contentHash: _definitionHash, ...definitionContent } = edited.taskDefinition;\n const taskExecution = { ...definitionContent.execution, policy, environmentRelease: { id: environment.id, contentHash: environment.contentHash }, verifierSetRelease: { id: verifierSet.id, contentHash: verifierSet.contentHash } };\n const taskDefinition = TaskDefinitionSchema.parse(sealLearningContent({ ...definitionContent, id: `${id}-definition`, revision, rewardBinding: learningRef(rewardBinding), execution: taskExecution }));\n const authoring = source.taskset.metadata.starterAuthoring ?? source.taskset.metadata.ordinaryAuthoring;\n const graderFixtures = authoring && typeof authoring === \"object\" && !Array.isArray(authoring) && \"graderFixtures\" in authoring ? authoring.graderFixtures : undefined;\n // Keep provenance through exact lineage. Source package qualifications and\n // privacy attestations describe different bytes and must not be copied.\n const taskset = TasksetReleaseSchema.parse(sealLearningContent({\n ...taskContent, ...taskExecution, id, revision, graders,\n metadata: {\n starter: { taskDefinition: learningRef(taskDefinition), rewardBinding: learningRef(rewardBinding) },\n rewardExecution: { binding: rewardBinding, rewards },\n ...(graderFixtures === undefined ? {} : { starterAuthoring: { graderFixtures } }),\n ...(edited.taskset.metadata.environmentResources === undefined ? {} : { environmentResources: edited.taskset.metadata.environmentResources }),\n modelTasksetDerivation: { schemaVersion: \"openpond.modelTasksetDerivation.v1\", owner, root, parent: learningRef(source.taskset) },\n },\n }));\n return validateModelTasksetPackage({ taskset, taskDefinition, rewardBinding, rewards, assets: input.assets, executionResources, ...(execution ? { execution } : {}), ...(source.instructionMode ? { instructionMode: source.instructionMode } : {}) });\n}\n\nexport function validateModelTasksetPackage(value: unknown): ModelTasksetPackage {\n const result = ModelTasksetPackageSchema.parse(value);\n const { taskset, taskDefinition, rewardBinding, rewards, assets, execution } = result;\n for (const resource of [taskset, taskDefinition, rewardBinding, ...rewards, ...assets]) assertLearningContentHash(resource);\n assertTasksetRelease(taskset);\n if (rewardBinding.recipeRef) throw new Error(\"Resolve the Reward recipe into one standalone binding before deriving a Taskset.\");\n if (!sameLearningRef(taskDefinition.rewardBinding, learningRef(rewardBinding))) throw new Error(\"Taskset definition differs from its Reward binding.\");\n const { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease } = taskset;\n if (!same(taskDefinition.execution, { policy, environment, ...(environmentRelease ? { environmentRelease } : {}), tools, capabilities, ...(verifierSetRelease ? { verifierSetRelease } : {}) })) throw new Error(\"Taskset definition differs from its execution resources.\");\n if (!same(taskset.graders, compileBoundGraders(rewardBinding, rewards))) throw new Error(\"Taskset graders differ from its Reward binding.\");\n if (taskset.metadata.starter !== undefined) {\n const metadata = z.object({ taskDefinition: ModelProjectVersionedRefSchema, rewardBinding: ModelProjectVersionedRefSchema }).passthrough().parse(taskset.metadata.starter);\n if (!sameLearningRef(metadata.taskDefinition, learningRef(taskDefinition)) || !sameLearningRef(metadata.rewardBinding, learningRef(rewardBinding))) throw new Error(\"Taskset metadata differs from its immutable grading resources.\");\n }\n if (taskset.metadata.rewardExecution !== undefined && !same(taskset.metadata.rewardExecution, { binding: rewardBinding, rewards })) throw new Error(\"Taskset embedded Rewards differ from its immutable grading resources.\");\n if (taskset.metadata.rewardBinding !== undefined && !sameLearningRef(ModelProjectVersionedRefSchema.parse(taskset.metadata.rewardBinding), learningRef(rewardBinding))) throw new Error(\"Taskset Reward reference differs from its immutable grading resources.\");\n const resources = result.executionResources ?? execution;\n if (taskset.environmentRelease && !resources) throw new Error(\"Deriving a Taskset requires its pinned execution resources.\");\n if (resources && (!verifyEnvironmentRelease(resources.environment) || !verifyVerifierSetRelease(resources.verifierSet) ||\n !same(taskset.environmentRelease, { id: resources.environment.id, contentHash: resources.environment.contentHash }) ||\n !same(taskset.verifierSetRelease, { id: resources.verifierSet.id, contentHash: resources.verifierSet.contentHash }) ||\n !same(taskset.environment, resources.environment.contract) || !same(taskset.graders, resources.verifierSet.graders))) throw new Error(\"Taskset differs from its pinned execution resources.\");\n validateModelStarterExecution(execution, taskset, assets);\n if (new Set(assets.map(asset => asset.id)).size !== assets.length) throw new Error(\"Taskset asset identities must be unique.\");\n for (const asset of assets) verifyLearningTextAsset(asset, asset.asset);\n for (const reference of resources ? [resources.environment.actionSchemaRef, resources.environment.observationSchemaRef, resources.environment.stateSchemaRef] : []) {\n if (!reference) continue;\n const asset = assets.find(asset => asset.id === reference.id);\n if (!asset) throw new Error(`Taskset environment asset is missing: ${reference.id}.`);\n verifyLearningTextAsset(asset, reference);\n }\n for (const task of taskset.tasks) {\n if (taskDefinition.requiredOutputs && !same(task.requiredOutputs, taskDefinition.requiredOutputs)) throw new Error(`Taskset outputs differ from its reviewed definition: ${task.id}.`);\n if ((result.instructionMode !== \"per_task\" && task.policyVisibleContext.instructions !== taskDefinition.instructions) || !validateTaskValue(taskDefinition.inputSchema, task.input).valid ||\n (task.expectedOutput !== null && !validateTaskValue(taskDefinition.outputSchema, task.expectedOutput).valid)) throw new Error(`Taskset task differs from its declared format: ${task.id}.`);\n if (task.privilegedContextRef && !assets.some(asset => asset.id === task.privilegedContextRef && asset.asset.visibility === \"host_private\")) throw new Error(`Taskset private context is missing: ${task.id}.`);\n }\n for (const reward of rewards) {\n const implementation = reward.implementation;\n const references = [...reward.assets, ...(\"verifierRef\" in implementation ? [implementation.verifierRef] : []), ...(\"rubricRef\" in implementation ? [implementation.rubricRef] : []), ...(\"inputContract\" in implementation ? [implementation.inputContract] : [])];\n for (const reference of references) {\n const asset = assets.find(asset => asset.id === reference.id);\n if (!asset || reference.visibility === \"policy\") throw new Error(`Taskset Reward requires its private asset: ${reference.id}.`);\n verifyLearningTextAsset(asset, reference);\n }\n }\n return result;\n}\n", "import { z } from \"zod\";\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { TaskBatchSchema, TaskEvidenceSchema, TaskAdmissionDecisionSchema, LearningSourceSchema, LearningTextAssetSchema,\n assertLearningContentHash, compileTaskBatch, learningRef, sameLearningRef, taskBatchPackageMetadata, verifyLearningTextAsset } from \"@openpond/evals/learning\";\nimport type { TasksetRelease } from \"@openpond/evals/tasksets\";\nimport { canonicalJson } from \"./training.js\";\n\n/** Review snapshots travel with their exact batch; importing them is not a\n * new local admission or permission to train. */\nexport const TasksetPackageLearningResourcesSchema = z.object({\n batch: TaskBatchSchema,\n evidence: z.array(TaskEvidenceSchema).min(1).max(10_000),\n decisions: z.array(TaskAdmissionDecisionSchema).min(1).max(10_000),\n sources: z.array(LearningSourceSchema).min(1).max(10_000),\n assets: z.array(LearningTextAssetSchema).max(1_000),\n}).strict();\nexport type TasksetPackageLearningResources = z.infer<typeof TasksetPackageLearningResourcesSchema>;\n\nexport function learningPackageContextFiles(resources: TasksetPackageLearningResources) {\n return resources.evidence.filter(evidence => evidence.submission.evaluatorContext !== null).map(evidence => {\n const text = canonicalJson(evidence.submission.evaluatorContext);\n const bytes = new TextEncoder().encode(text);\n return { asset: { id: `task-evidence:${evidence.contentHash}`, path: `learning/context/${evidence.contentHash}.json`,\n contentHash: sha256(bytes), sizeBytes: bytes.byteLength, mediaType: \"application/json\", visibility: \"host_private\" as const },\n base64: btoa(Array.from(bytes, byte => String.fromCharCode(byte)).join(\"\")) };\n });\n}\n\nexport function validateTasksetLearningResources(taskset: TasksetRelease, input: unknown) {\n const resources = TasksetPackageLearningResourcesSchema.parse(input);\n const metadata = taskBatchPackageMetadata(taskset);\n if (!sameLearningRef(learningRef(resources.batch), metadata.batch)) throw new Error(\"Taskset learning batch differs from its admission metadata.\");\n for (const collection of [resources.evidence, resources.decisions, resources.sources, resources.assets]) {\n const identities = new Set<string>();\n for (const resource of collection) {\n assertLearningContentHash(resource);\n const key = `${resource.id}:${resource.revision}`;\n if (identities.has(key)) throw new Error(\"Taskset learning resource identities must be unique.\");\n identities.add(key);\n }\n }\n if (resources.evidence.length !== resources.batch.examples.length || resources.decisions.length !== resources.batch.examples.length) throw new Error(\"Taskset learning snapshots must match the admitted batch inventory.\");\n for (const evidence of resources.evidence) {\n const source = resources.sources.find(source => sameLearningRef(learningRef(source), evidence.source));\n if (!source || !sameLearningRef(source.taskDefinition, learningRef(metadata.definition))) throw new Error(\"Taskset evidence source differs from its task definition.\");\n }\n if (resources.sources.some(source => !resources.evidence.some(evidence => sameLearningRef(evidence.source, learningRef(source))))) throw new Error(\"Taskset package includes an unrelated learning source.\");\n const rewardAssets = metadata.rewards.flatMap(reward => [...reward.assets,\n ...(reward.implementation.kind === \"custom_verifier\" ? [reward.implementation.verifierRef]\n : reward.implementation.kind === \"model_judge\" || reward.implementation.kind === \"human\" ? [reward.implementation.rubricRef] : []),\n ...(\"inputContract\" in reward.implementation ? [reward.implementation.inputContract] : []),\n ]);\n for (const ref of rewardAssets) {\n const asset = resources.assets.find(asset => asset.id === ref.id);\n if (!asset) throw new Error(\"Taskset learning Reward asset is missing.\");\n verifyLearningTextAsset(asset, ref);\n }\n if (resources.assets.some(asset => !rewardAssets.some(ref => ref.id === asset.id))) throw new Error(\"Taskset package includes an unrelated learning asset.\");\n const compiled = compileTaskBatch({ batch: resources.batch, definition: metadata.definition, binding: metadata.binding,\n rewards: metadata.rewards, evidence: resources.evidence, decisions: resources.decisions });\n const compiledMetadata = taskBatchPackageMetadata(compiled);\n if (contentHash(compiledMetadata) !== contentHash(metadata)) throw new Error(\"Taskset admission metadata differs from its reviewed snapshots.\");\n const execution = (release: TasksetRelease) => ({ policy: release.policy, environment: release.environment, tools: release.tools });\n if (contentHash(execution(compiled)) !== contentHash(execution(taskset))) throw new Error(\"Taskset execution differs from its reviewed task definition.\");\n const taskContent = (task: TasksetRelease[\"tasks\"][number]) => ({ id: task.id, clusterKey: task.clusterKey, split: task.split,\n input: task.input, expectedOutput: task.expectedOutput, policyVisibleContext: task.policyVisibleContext,\n privilegedContextRef: task.privilegedContextRef, artifactRefs: task.artifactRefs, requiredOutputs: task.requiredOutputs ?? [], tags: task.tags });\n if (contentHash(compiled.tasks.map(taskContent)) !== contentHash(taskset.tasks.map(taskContent))) throw new Error(\"Taskset rows differ from their reviewed evidence.\");\n return resources;\n}\n", "import { z } from \"zod\";\nimport { ImmutableAssetRefSchema, sha256 } from \"@openpond/harness\";\n\n/** The limit covers the entire decoded JSON envelope, including base64. */\nexport const MAX_TASKSET_PACKAGE_BYTES = 64 * 1024 * 1024;\nexport const TasksetPackageFileSchema = z.object({\n asset: ImmutableAssetRefSchema,\n base64: z.string().max(Math.ceil(MAX_TASKSET_PACKAGE_BYTES / 3) * 4),\n}).strict();\nexport type TasksetPackageFile = z.infer<typeof TasksetPackageFileSchema>;\n\nexport function decodeTasksetPackageFile(value: TasksetPackageFile): Uint8Array {\n const file = TasksetPackageFileSchema.parse(value);\n const raw = atob(file.base64);\n if (btoa(raw) !== file.base64) throw new Error(`Taskset asset ${file.asset.id} has noncanonical base64.`);\n const bytes = Uint8Array.from(raw, character => character.charCodeAt(0));\n if (bytes.byteLength !== file.asset.sizeBytes || sha256(bytes) !== file.asset.contentHash) throw new Error(`Taskset asset ${file.asset.id} differs from its immutable bytes.`);\n return bytes;\n}\n", "import type { TasksetRelease } from \"@openpond/evals/tasksets\";\nimport { LearningTextAssetSchema, sealLearningContent, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport { createModelStarterExecutionAsset, modelStarterExecutionAssetId, ModelStarterExecutionSchema, validateModelStarterExecution, type ModelStarterExecution } from \"./model-starter-execution.js\";\nimport { decodeTasksetPackageFile, type TasksetPackageFile } from \"./taskset-package-files.js\";\n\n/** Resolve the same private execution graph for bound and ordinary packages.\n * Package admission separately validates the enclosing release and file graph. */\nexport function resolveTasksetPackageExecution(input: {\n taskset: TasksetRelease;\n files: TasksetPackageFile[];\n modelResources?: { execution?: ModelStarterExecution };\n}): { execution: ModelStarterExecution; assets: LearningTextAsset[] } | null {\n if (input.taskset.environment.entrypoint !== \"openpond.javascript-environment.v1\") return null;\n const byId = new Map(input.files.map(file => [file.asset.id, file]));\n const read = (id: string): LearningTextAsset => {\n const file = byId.get(id);\n if (!file) throw new Error(`Taskset environment asset is missing: ${id}.`);\n if (file.asset.sizeBytes > 524_288) throw new Error(\"Taskset environment source exceeds the authored asset limit.\");\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(decodeTasksetPackageFile(file));\n return LearningTextAssetSchema.parse(sealLearningContent({ schemaVersion: \"openpond.learningTextAsset.v1\", id, revision: 1, asset: file.asset, text }));\n };\n let execution: ModelStarterExecution;\n if (input.modelResources) {\n if (!input.modelResources.execution) throw new Error(\"Bound Taskset JavaScript execution resources are missing.\");\n execution = ModelStarterExecutionSchema.parse(input.modelResources.execution);\n } else {\n const declaration = read(modelStarterExecutionAssetId(input.taskset));\n if (declaration.asset.visibility !== \"host_private\" || declaration.asset.mediaType !== \"application/json\" || declaration.asset.path !== \"environment/execution.json\") throw new Error(\"Taskset execution declaration must be private JSON at environment/execution.json.\");\n execution = ModelStarterExecutionSchema.parse(JSON.parse(declaration.text));\n }\n const ids = new Set([execution.javascript.module.id,\n ...[execution.environment.actionSchemaRef, execution.environment.observationSchemaRef, execution.environment.stateSchemaRef].flatMap(ref => ref ? [ref.id] : []),\n ...input.taskset.tasks.flatMap(task => task.privilegedContextRef ? [task.privilegedContextRef] : []),\n ]);\n const assets = [...ids].map(read);\n validateModelStarterExecution(execution, input.taskset, assets);\n return { execution, assets };\n}\n\n/** Regenerate the declaration when publication reseals its execution releases. */\nexport function createTasksetPackageExecutionFile(execution: ModelStarterExecution): TasksetPackageFile {\n const asset = createModelStarterExecutionAsset(execution);\n const bytes = new TextEncoder().encode(asset.text);\n let raw = \"\";\n for (const byte of bytes) raw += String.fromCharCode(byte);\n return { asset: asset.asset, base64: btoa(raw) };\n}\n", "import { z } from \"zod\";\nimport { contentHash, type ImmutableAssetRef } from \"@openpond/harness\";\nimport { EnvironmentReleaseSchema, VerifierSetReleaseSchema, verifyEnvironmentRelease, verifyVerifierSetRelease } from \"@openpond/evals\";\nimport { assertTasksetRelease, TasksetReleaseSchema } from \"@openpond/evals/tasksets\";\nimport { assertBoundedTaskJson } from \"@openpond/evals/task-schema\";\nimport { ModelTasksetPackageSchema, validateModelTasksetPackage } from \"./model-taskset-derivation.js\";\nimport { taskBatchPackageMetadata } from \"@openpond/evals/learning\";\nimport { TasksetPackageLearningResourcesSchema, learningPackageContextFiles, validateTasksetLearningResources } from \"./taskset-package-learning.js\";\nimport { assertModelTasksetAuthoring } from \"./model-taskset-authoring-lineage.js\";\nimport { resolveTasksetPackageExecution } from \"./taskset-package-execution.js\";\nimport { MAX_TASKSET_PACKAGE_BYTES, TasksetPackageFileSchema, decodeTasksetPackageFile } from \"./taskset-package-files.js\";\nexport { MAX_TASKSET_PACKAGE_BYTES, TasksetPackageFileSchema, decodeTasksetPackageFile } from \"./taskset-package-files.js\";\nexport { resolveTasksetPackageExecution, createTasksetPackageExecutionFile } from \"./taskset-package-execution.js\";\n\nconst BoundModelResourcesSchema = ModelTasksetPackageSchema.omit({ taskset: true, executionResources: true });\nexport const TasksetPackageContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetPackage.v1\"),\n taskset: TasksetReleaseSchema,\n environment: EnvironmentReleaseSchema,\n verifierSet: VerifierSetReleaseSchema,\n files: z.array(TasksetPackageFileSchema).max(10_000),\n modelResources: BoundModelResourcesSchema.optional(),\n learningResources: TasksetPackageLearningResourcesSchema.optional(),\n}).strict();\nexport const TasksetPackageSchema = TasksetPackageContentSchema.extend({ contentHash: z.string().regex(/^[a-f0-9]{64}$/) }).strict();\nexport type TasksetPackage = z.infer<typeof TasksetPackageSchema>;\n\n/** The selected binding belongs to the package's declared authoring graph. */\nexport function tasksetPackageRewardBinding(value: TasksetPackage) {\n return value.learningResources ? taskBatchPackageMetadata(value.taskset).binding : value.modelResources?.rewardBinding ?? null;\n}\n\n/** Instructions follow the admitted authoring graph. An ordinary package with\n * no instructions declares an empty prompt, never its display name. */\nexport function resolveTasksetPackageInstructions(value: Pick<TasksetPackage, \"taskset\" | \"modelResources\" | \"learningResources\">): string {\n if (value.learningResources) return taskBatchPackageMetadata(value.taskset).definition.instructions;\n if (value.modelResources) return value.modelResources.taskDefinition.instructions;\n const authoring = z.object({ instructions: z.string().max(20_000).optional() }).passthrough()\n .parse(value.taskset.metadata.ordinaryAuthoring ?? {});\n return authoring.instructions ?? \"\";\n}\n\n/** Admission verifies the complete declared dependency graph, not readiness or\n * permission to execute it. Hosts separately authorize the workspace/project. */\nexport function validateTasksetPackage(value: unknown): TasksetPackage {\n assertBoundedTaskJson(value, MAX_TASKSET_PACKAGE_BYTES);\n const result = TasksetPackageSchema.parse(value);\n const { contentHash: hash, ...content } = result;\n if (contentHash(content) !== hash) throw new Error(\"Taskset package content hash differs from its bytes.\");\n const { taskset, environment, verifierSet } = result;\n assertTasksetRelease(taskset);\n const authoring = assertModelTasksetAuthoring(taskset);\n if (authoring && (result.modelResources || result.learningResources)) throw new Error(\"Taskset package cannot declare competing authoring graphs.\");\n if (!verifyEnvironmentRelease(environment) || !verifyVerifierSetRelease(verifierSet)\n || !same(taskset.environmentRelease, { id: environment.id, contentHash: environment.contentHash })\n || !same(taskset.verifierSetRelease, { id: verifierSet.id, contentHash: verifierSet.contentHash })\n || !same(taskset.environment, environment.contract) || !same(taskset.graders, verifierSet.graders)) {\n throw new Error(\"Taskset package execution releases do not match its Taskset.\");\n }\n const files = new Map<string, z.infer<typeof TasksetPackageFileSchema>>();\n for (const file of result.files) {\n if (files.has(file.asset.id)) throw new Error(`Duplicate Taskset asset identity: ${file.asset.id}.`);\n decodeTasksetPackageFile(file);\n files.set(file.asset.id, file);\n }\n function requireAsset(ref: ImmutableAssetRef) {\n const file = files.get(ref.id);\n if (!file || !same(file.asset, ref)) throw new Error(`Taskset package asset is missing or mismatched: ${ref.id}.`);\n }\n for (const task of taskset.tasks) {\n for (const asset of task.artifactRefs) requireAsset(asset);\n for (const output of task.requiredOutputs ?? []) if (output.schemaRef) requireAsset(output.schemaRef);\n if (task.privilegedContextRef && files.get(task.privilegedContextRef)?.asset.visibility !== \"host_private\") {\n throw new Error(`Taskset package private context is missing: ${task.id}.`);\n }\n }\n for (const ref of [environment.actionSchemaRef, environment.observationSchemaRef, environment.stateSchemaRef]) if (ref) requireAsset(ref);\n for (const grader of taskset.graders) {\n const ref = \"verifierRef\" in grader ? grader.verifierRef : \"rubricRef\" in grader ? grader.rubricRef : null;\n if (ref) {\n requireAsset(ref);\n if (ref.visibility === \"policy\") throw new Error(`Taskset grader asset must be private: ${ref.id}.`);\n }\n }\n if (taskset.metrics?.customAggregator) {\n const aggregator = taskset.metrics.customAggregator;\n const modules = result.files.filter(file => file.asset.path === aggregator.module);\n if (modules.length !== 1 || modules[0]!.asset.contentHash !== aggregator.contentHash || modules[0]!.asset.sizeBytes > 524_288 || modules[0]!.asset.visibility === \"policy\") {\n throw new Error(\"Taskset metric module is missing or mismatched, public, or exceeds the source limit.\");\n }\n }\n for (const declarations of [taskset.metadata.environmentResources, environment.metadata.resources]) {\n if (declarations === undefined) continue;\n for (const resource of z.array(z.object({ path: z.string().min(1) }).passthrough()).parse(declarations)) {\n if (!result.files.some(file => file.asset.path === resource.path)) throw new Error(`Taskset environment resource is missing: ${resource.path}.`);\n }\n }\n if (result.learningResources) {\n if (result.modelResources) throw new Error(\"Taskset package cannot declare competing authoring graphs.\");\n const learning = validateTasksetLearningResources(taskset, result.learningResources);\n for (const expected of learningPackageContextFiles(learning)) {\n if (!same(files.get(expected.asset.id), expected)) throw new Error(\"Taskset private context differs from its reviewed evidence.\");\n }\n for (const asset of learning.assets) requireAsset(asset.asset);\n } else if (result.modelResources) {\n const model = validateModelTasksetPackage({ ...result.modelResources, taskset, executionResources: { environment, verifierSet } });\n for (const asset of model.assets) requireAsset(asset.asset);\n } else if ([\"starter\", \"rewardBinding\", \"rewardExecution\", \"modelTasksetDerivation\", \"learning\"].some(key => taskset.metadata[key] !== undefined)) {\n throw new Error(\"Bound Taskset publication requires its complete model resources.\");\n }\n resolveTasksetPackageExecution(result);\n resolveTasksetPackageInstructions(result);\n return result;\n}\n\nexport function createTasksetPackage(value: z.input<typeof TasksetPackageContentSchema>): TasksetPackage {\n assertBoundedTaskJson(value, MAX_TASKSET_PACKAGE_BYTES);\n const content = TasksetPackageContentSchema.parse(value);\n return validateTasksetPackage({ ...content, contentHash: contentHash(content) });\n}\n\nfunction same(left: unknown, right: unknown): boolean {\n return contentHash({ value: left }) === contentHash({ value: right });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { sameLearningRef } from \"@openpond/evals/learning\";\nimport { ModelTasksetAuthoringSchema } from \"./model-taskset-authoring-contracts.js\";\n\nexport function modelAuthoredTasksetId(lineage: { owner: unknown; root: unknown }) {\n return `model-authored-taskset-${contentHash({ owner: lineage.owner, root: lineage.root })}`;\n}\n\n/** Ownership metadata must describe this exact immutable revision. */\nexport function assertModelTasksetAuthoring(taskset: { id: string; revision: number; metadata: Record<string, unknown> }) {\n if (taskset.metadata.modelTasksetAuthoring === undefined) return null;\n const lineage = ModelTasksetAuthoringSchema.parse(taskset.metadata.modelTasksetAuthoring);\n if (taskset.id !== modelAuthoredTasksetId(lineage)\n || (taskset.revision === 1 ? !sameLearningRef(lineage.parent, lineage.root)\n : lineage.parent.id !== taskset.id || lineage.parent.revision !== taskset.revision - 1)) {\n throw new Error(\"Authored Taskset revision differs from its ownership lineage.\");\n }\n return lineage;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["contentHash", "asset", "z", "EnvironmentReleaseSchema", "VerifierSetReleaseSchema", "createLearningTextAsset", "sealLearningContent", "verifyLearningTextAsset", "z", "EnvironmentReleaseSchema", "VerifierSetReleaseSchema", "sealLearningContent", "createLearningTextAsset", "verifyLearningTextAsset", "z", "verifyEnvironmentRelease", "verifyVerifierSetRelease", "learningRef", "sealLearningContent", "verifyLearningTextAsset", "z", "sealLearningContent", "learningRef", "verifyEnvironmentRelease", "verifyVerifierSetRelease", "verifyLearningTextAsset", "asset", "z", "LearningTextAssetSchema", "assertLearningContentHash", "learningRef", "sameLearningRef", "verifyLearningTextAsset", "z", "LearningTextAssetSchema", "sameLearningRef", "learningRef", "assertLearningContentHash", "source", "asset", "verifyLearningTextAsset", "z", "z", "LearningTextAssetSchema", "sealLearningContent", "LearningTextAssetSchema", "sealLearningContent", "z", "EnvironmentReleaseSchema", "VerifierSetReleaseSchema", "verifyEnvironmentRelease", "verifyVerifierSetRelease", "assertTasksetRelease", "TasksetReleaseSchema", "assertBoundedTaskJson", "taskBatchPackageMetadata", "sameLearningRef", "sameLearningRef", "z", "TasksetReleaseSchema", "EnvironmentReleaseSchema", "VerifierSetReleaseSchema", "taskBatchPackageMetadata", "assertBoundedTaskJson", "assertTasksetRelease", "verifyEnvironmentRelease", "verifyVerifierSetRelease", "same"]
|
|
7
|
+
}
|
|
@@ -3,28 +3,30 @@ import {
|
|
|
3
3
|
GraderFixtureSchema,
|
|
4
4
|
GraderSpecSchema,
|
|
5
5
|
LearningSignalInventorySchema,
|
|
6
|
-
MAX_TASKSET_PACKAGE_BYTES,
|
|
7
6
|
TaskDataRecordSchema,
|
|
8
7
|
TaskPolicyBoundarySchema,
|
|
9
8
|
TasksetBenchmarkBindingSchema,
|
|
10
9
|
TasksetCapabilityManifestSchema,
|
|
11
10
|
TasksetEnvironmentContractSchema,
|
|
12
|
-
TasksetPackageSchema,
|
|
13
11
|
TasksetPreferenceComparisonBindingSchema,
|
|
14
12
|
TasksetPurposeSchema,
|
|
15
13
|
TasksetSchema,
|
|
16
14
|
TasksetSourceRefSchema,
|
|
17
15
|
computeTasksetHash,
|
|
16
|
+
validateTaskset
|
|
17
|
+
} from "./chunk-WT7JU2CT.js";
|
|
18
|
+
import {
|
|
19
|
+
MAX_TASKSET_PACKAGE_BYTES,
|
|
20
|
+
TasksetPackageSchema,
|
|
18
21
|
tasksetPackageRewardBinding,
|
|
19
|
-
validateTaskset,
|
|
20
22
|
validateTasksetPackage
|
|
21
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-B3CH4V35.js";
|
|
22
24
|
import {
|
|
23
25
|
ModelTasksetDraftPreparationSchema,
|
|
24
26
|
TasksetDraftFileContentSchema,
|
|
25
27
|
TasksetDraftFileMutationSchema,
|
|
26
28
|
TasksetDraftFilePathSchema
|
|
27
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-2U54EOXJ.js";
|
|
28
30
|
import {
|
|
29
31
|
TasksetCatalogReleaseRefSchema
|
|
30
32
|
} from "./chunk-A4ZDOZKP.js";
|
|
@@ -513,10 +515,13 @@ function publishTasksetDraft(input) {
|
|
|
513
515
|
...task.metadata
|
|
514
516
|
}
|
|
515
517
|
}));
|
|
516
|
-
const
|
|
518
|
+
const explicitMethod = draft.capabilities.compatibleMethods.find(
|
|
517
519
|
(method) => method !== "none" && method !== "retrieval"
|
|
518
520
|
) ?? null;
|
|
519
521
|
const buildIntent = buildIntentForDraft(draft);
|
|
522
|
+
const rewardGraders = draft.graders.filter((grader) => grader.rewardEligible && grader.weight > 0 && grader.kind !== "human");
|
|
523
|
+
const inferRewardMethod = explicitMethod === null && buildIntent === "verifiable_reward" && rewardGraders.length > 0;
|
|
524
|
+
const authoredMethod = explicitMethod ?? (inferRewardMethod ? "grpo" : null);
|
|
520
525
|
const taskset = TasksetSchema.parse({
|
|
521
526
|
schemaVersion: "openpond.taskset.v1",
|
|
522
527
|
id: tasksetId,
|
|
@@ -534,7 +539,11 @@ function publishTasksetDraft(input) {
|
|
|
534
539
|
datasetArtifact: draft.datasetArtifact ?? null,
|
|
535
540
|
policy: draft.policy,
|
|
536
541
|
environment: draft.environment,
|
|
537
|
-
capabilities:
|
|
542
|
+
capabilities: inferRewardMethod ? {
|
|
543
|
+
...draft.capabilities,
|
|
544
|
+
compatibleMethods: ["grpo"],
|
|
545
|
+
rewardKinds: [...new Set(rewardGraders.map((grader) => grader.kind === "model_judge" ? "model_judge" : "deterministic"))]
|
|
546
|
+
} : draft.capabilities,
|
|
538
547
|
metrics: draft.metrics,
|
|
539
548
|
tasks,
|
|
540
549
|
graders: draft.graders,
|
|
@@ -622,6 +631,7 @@ function buildIntentForDraft(draft) {
|
|
|
622
631
|
if (draft.learningSignals.preferences.length) return "preferences";
|
|
623
632
|
if (draft.learningSignals.rewards.length) return "verifiable_reward";
|
|
624
633
|
if (draft.learningSignals.labels.length) return "rubric";
|
|
634
|
+
if (!draft.capabilities.compatibleMethods.some((method) => method !== "none" && method !== "retrieval") && draft.graders.some((grader) => grader.rewardEligible && grader.weight > 0 && grader.kind !== "human")) return "verifiable_reward";
|
|
625
635
|
return "demonstrations";
|
|
626
636
|
}
|
|
627
637
|
function tasksetOutputContract(metadata) {
|
|
@@ -907,4 +917,4 @@ export {
|
|
|
907
917
|
saveTasksetDraftWorkspaceFile,
|
|
908
918
|
decodeTasksetDraftWorkspaceFile
|
|
909
919
|
};
|
|
910
|
-
//# sourceMappingURL=chunk-
|
|
920
|
+
//# sourceMappingURL=chunk-FFRYTXGF.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/taskset-package-client.ts", "../src/taskset-draft-document.ts", "../src/taskset-draft-authoring.ts", "../src/taskset-draft-publication.ts", "../src/taskset-draft-files.ts", "../src/taskset-draft-manifests.ts", "../src/taskset-draft-workspace.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\nimport { TasksetCatalogReleaseRefSchema } from \"./taskset-catalog.js\";\nimport { MAX_TASKSET_PACKAGE_BYTES, TasksetPackageSchema, tasksetPackageRewardBinding, validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { HostedModelProjectSummarySchema, HostedModelProjectSyncSchema, HostedModelProjectTrainingSetupSchema } from \"./model-projects.js\";\nimport { contentHash } from \"@openpond/harness\";\nimport { learningRef } from \"@openpond/evals/learning\";\n\nconst IdSchema = z.string().trim().min(1).max(500);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\n/** Configuration and package selection share one hosted commit. Package-owned\n * references cannot accidentally contain a Desktop-local content hash. */\nexport const TasksetPackageModelConfigurationSchema = HostedModelProjectSyncSchema.pick({\n portableProjectId: true, name: true, objective: true, defaultBaseModel: true, defaultDestinationId: true,\n sourceRevision: true, sourceUpdatedAt: true,\n}).extend({ trainingSetup: HostedModelProjectTrainingSetupSchema.omit({ tasksetRef: true, rewardBindingRef: true, tasksetRelease: true }) }).strict();\nexport const TasksetPackagePublicationSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetPackagePublication.v1\"),\n operationId: IdSchema, modelProjectId: IdSchema, expectedProjectEtag: HashSchema.nullable(),\n name: z.string().trim().min(1).max(200), description: z.string().max(5_000),\n buildIntent: z.enum([\"demonstrations\", \"preferences\", \"verifiable_reward\", \"rubric\", \"discovery\"]),\n methodHint: z.enum([\"sft\", \"dpo\", \"grpo\", \"ppo\"]).nullable(), package: TasksetPackageSchema,\n modelConfiguration: TasksetPackageModelConfigurationSchema.optional(),\n evaluationPackage: TasksetPackageSchema.optional(),\n selection: z.enum([\"select\", \"attach\"]).optional(),\n}).strict().refine(value => value.selection !== \"attach\" || value.modelConfiguration === undefined, \"Attachment-only publication cannot replace Model configuration.\")\n .refine(value => !value.evaluationPackage || (value.modelConfiguration !== undefined\n && value.modelConfiguration.trainingSetup.evaluationTasksetRef != null\n && contentHash(value.modelConfiguration.trainingSetup.evaluationTasksetRef) === contentHash(learningRef(value.evaluationPackage.taskset))),\n \"Evaluation package must match the selected immutable evaluation in Model configuration.\");\nexport const TasksetPackageReceiptSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetPackageReceipt.v1\"),\n teamId: IdSchema, modelProjectId: IdSchema, operationId: IdSchema,\n taskset: TasksetCatalogReleaseRefSchema, packageHash: HashSchema,\n hostedTasksetId: IdSchema, projectEtag: HashSchema,\n project: HostedModelProjectSummarySchema.optional(),\n selection: z.enum([\"select\", \"attach\"]).optional(),\n evaluation: z.object({ taskset: TasksetCatalogReleaseRefSchema, packageHash: HashSchema, hostedTasksetId: IdSchema }).strict().optional(),\n}).strict();\nexport const TasksetPackageReadbackSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetPackageReadback.v1\"),\n teamId: IdSchema, modelProjectId: IdSchema, package: TasksetPackageSchema,\n}).strict();\nexport type TasksetPackagePublication = z.infer<typeof TasksetPackagePublicationSchema>;\nexport type TasksetPackageReceipt = z.infer<typeof TasksetPackageReceiptSchema>;\nexport type TasksetPackageModelConfiguration = z.infer<typeof TasksetPackageModelConfigurationSchema>;\n\nexport class OpenPondTasksetPackageError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondTasksetPackageError\"; }\n}\n\n/** Private package operations are explicitly scoped to an authorized Model.\n * Catalog inventory remains metadata-only and never calls this client itself. */\nexport class OpenPondTasksetPackageClient {\n readonly #options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch };\n constructor(options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch }) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error(\"Taskset package client requires a clean HTTP(S) endpoint and workspace credentials.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n\n async publish(input: TasksetPackagePublication, options: { signal?: AbortSignal } = {}): Promise<TasksetPackageReceipt> {\n const request = TasksetPackagePublicationSchema.parse(input);\n validateTasksetPackage(request.package);\n if (request.evaluationPackage) validateTasksetPackage(request.evaluationPackage);\n const receipt = TasksetPackageReceiptSchema.parse(await this.#request(\"\", \"POST\", request, options.signal));\n const release = request.package.taskset;\n if (receipt.teamId !== this.#options.teamId || receipt.modelProjectId !== request.modelProjectId || receipt.operationId !== request.operationId\n || receipt.packageHash !== request.package.contentHash || receipt.taskset.id !== release.id || receipt.taskset.revision !== release.revision || receipt.taskset.contentHash !== release.contentHash) {\n throw new OpenPondTasksetPackageError(502, \"package_receipt_mismatch\", \"Taskset publication receipt did not match the requested package and owner.\");\n }\n if (request.selection !== undefined && receipt.selection !== request.selection) throw new OpenPondTasksetPackageError(502, \"package_receipt_mismatch\", \"Taskset publication did not retain its selection mode.\");\n if (request.evaluationPackage && (!receipt.evaluation\n || receipt.evaluation.packageHash !== request.evaluationPackage.contentHash\n || contentHash(receipt.evaluation.taskset) !== contentHash(learningRef(request.evaluationPackage.taskset)))) {\n throw new OpenPondTasksetPackageError(502, \"package_receipt_mismatch\", \"Taskset publication did not retain the complete selected evaluation package.\");\n }\n if (request.selection === \"attach\" && receipt.projectEtag !== request.expectedProjectEtag) throw new OpenPondTasksetPackageError(502, \"package_receipt_mismatch\", \"Attaching a historical Taskset changed the Model configuration.\");\n if (request.modelConfiguration) {\n const expected = request.modelConfiguration;\n const project = receipt.project;\n const binding = tasksetPackageRewardBinding(request.package);\n const setup = HostedModelProjectTrainingSetupSchema.parse({ ...expected.trainingSetup, tasksetRef: learningRef(release),\n rewardBindingRef: binding ? learningRef(binding) : null,\n tasksetRelease: null });\n if (!project || project.teamId !== this.#options.teamId || project.etag !== receipt.projectEtag\n || ![project.id, project.portableProjectId].includes(request.modelProjectId)\n || project.portableProjectId !== expected.portableProjectId || project.name !== expected.name || project.objective !== expected.objective\n || project.sourceRevision !== expected.sourceRevision || Date.parse(project.sourceUpdatedAt) !== Date.parse(expected.sourceUpdatedAt)\n || contentHash(project.defaultBaseModel) !== contentHash(expected.defaultBaseModel) || project.defaultDestinationId !== expected.defaultDestinationId\n || contentHash(project.trainingSetup) !== contentHash(setup)) {\n throw new OpenPondTasksetPackageError(502, \"package_receipt_mismatch\", \"Taskset publication did not retain the requested Model configuration.\");\n }\n }\n return receipt;\n }\n\n async get(modelProjectId: string, reference: z.infer<typeof TasksetCatalogReleaseRefSchema>, options: { signal?: AbortSignal; expectedPackageHash?: string } = {}): Promise<TasksetPackage> {\n const project = IdSchema.parse(modelProjectId);\n const ref = TasksetCatalogReleaseRefSchema.parse(reference);\n const expectedPackageHash = options.expectedPackageHash === undefined ? undefined : HashSchema.parse(options.expectedPackageHash);\n const response = TasksetPackageReadbackSchema.parse(await this.#request(`/${encodeURIComponent(project)}/${encodeURIComponent(ref.id)}/${ref.revision}/${ref.contentHash}`, \"GET\", undefined, options.signal));\n const taskset = response.package.taskset;\n if (response.teamId !== this.#options.teamId || response.modelProjectId !== project || taskset.id !== ref.id || taskset.revision !== ref.revision || taskset.contentHash !== ref.contentHash) throw new OpenPondTasksetPackageError(502, \"package_readback_mismatch\", \"Taskset package did not match the requested release and owner.\");\n if (expectedPackageHash !== undefined && response.package.contentHash !== expectedPackageHash) throw new OpenPondTasksetPackageError(502, \"package_readback_mismatch\", \"Taskset package did not match the saved publication receipt.\");\n return validateTasksetPackage(response.package);\n }\n\n async #request(path: string, method: string, body: unknown, signal?: AbortSignal): Promise<unknown> {\n const serialized = body === undefined ? undefined : JSON.stringify(body);\n if (serialized && new TextEncoder().encode(serialized).byteLength > MAX_TASKSET_PACKAGE_BYTES) throw new OpenPondTasksetPackageError(413, \"package_too_large\", \"Taskset publication exceeds the 64 MiB envelope.\");\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/taskset-packages${path}`, {\n method, headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, Accept: \"application/json\", ...(serialized ? { \"Content-Type\": \"application/json\" } : {}) },\n body: serialized, signal, redirect: \"error\",\n });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondTasksetPackageError(response.status, \"empty_response\", \"Taskset package response was empty.\");\n const decoder = new TextDecoder(\"utf-8\", { fatal: true });\n let bytes = 0;\n let text = \"\";\n try {\n while (true) {\n const chunk = await reader.read();\n if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > MAX_TASKSET_PACKAGE_BYTES) throw new OpenPondTasksetPackageError(413, \"package_too_large\", \"Taskset response exceeds the 64 MiB envelope.\");\n text += decoder.decode(chunk.value, { stream: true });\n }\n text += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const payload: unknown = JSON.parse(text);\n if (!response.ok) {\n const error = z.object({ code: z.string(), message: z.string() }).safeParse(payload);\n throw new OpenPondTasksetPackageError(response.status, error.success ? error.data.code : \"package_request_failed\", error.success ? error.data.message : `Taskset package request failed (${response.status}).`);\n }\n return payload;\n }\n}\n", "import { z } from \"zod\";\nimport { TasksetMetricPolicySchema } from \"@openpond/evals/metrics\";\nimport { ModelTasksetDraftPreparationSchema } from \"./model-taskset-authoring-contracts.js\";\n\nimport { DatasetArtifactManifestSchema } from \"./taskset-draft-dataset-artifacts.js\";\nimport {\n GraderFixtureSchema,\n GraderSpecSchema,\n LearningSignalInventorySchema,\n TaskDataRecordSchema,\n TaskPolicyBoundarySchema,\n TasksetBenchmarkBindingSchema,\n TasksetCapabilityManifestSchema,\n TasksetEnvironmentContractSchema,\n TasksetPreferenceComparisonBindingSchema,\n TasksetPurposeSchema,\n TasksetSourceRefSchema,\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 CodeIdentifierSchema = z.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/);\nconst MetadataSchema = z.record(z.string(), z.unknown()).default({});\n\nfunction safeRelativeFilePath(value: string): boolean {\n const normalized = value.trim().replaceAll(\"\\\\\", \"/\");\n if (\n !normalized\n || normalized.startsWith(\"/\")\n || normalized === \".\"\n || normalized === \"..\"\n ) {\n return false;\n }\n return !normalized.split(\"/\").some((segment) =>\n !segment || segment === \".\" || segment === \"..\"\n );\n}\n\nexport const TaskDataDraftSchema = TaskDataRecordSchema.extend({\n sourceRefs: z.array(IdSchema).max(100).default([]),\n});\n\nexport const TasksetDraftStatusSchema = z.enum([\n \"draft\",\n \"validating\",\n \"needs_review\",\n \"published\",\n]);\n\nexport const TasksetDraftReviewPolicySchema = z.object({\n enabled: z.boolean(),\n candidateCount: z.number().int().min(2).max(4),\n minimumSamples: z.number().int().min(1).max(10_000).default(100),\n allowTies: z.boolean(),\n allowRejectAll: z.boolean(),\n rubric: z.string().trim().max(50_000),\n criteria: z.array(z.object({\n id: IdSchema,\n label: z.string().trim().min(1).max(500),\n description: z.string().trim().max(10_000),\n weight: z.number().nonnegative().max(1_000),\n })).max(100),\n});\n\nexport const TasksetDraftOutputContractSchema = z.object({\n mode: z.enum([\"text\", \"structured_json\", \"artifacts\"]),\n jsonSchema: z.record(z.string(), z.unknown()).nullable(),\n renderer: z.object({\n module: z.string().trim().min(1).max(1_000)\n .refine(safeRelativeFilePath, \"Renderer modules must use a safe relative path.\"),\n exportName: CodeIdentifierSchema,\n configRef: z.string().trim().min(1).max(1_000)\n .refine(safeRelativeFilePath, \"Renderer configuration must use a safe relative path.\")\n .nullable()\n .default(null),\n }).nullable(),\n}).superRefine((output, context) => {\n if (output.mode === \"structured_json\" && !output.jsonSchema) {\n context.addIssue({\n code: \"custom\",\n message: \"Structured JSON output requires a JSON Schema.\",\n path: [\"jsonSchema\"],\n });\n }\n if (output.mode === \"text\" && output.renderer) {\n context.addIssue({\n code: \"custom\",\n message: \"Text output cannot configure an artifact renderer.\",\n path: [\"renderer\"],\n });\n }\n});\n\nexport const TasksetDraftSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraft.v1\"),\n id: IdSchema,\n revision: z.number().int().positive(),\n profileId: IdSchema,\n modelScope: z.object({\n modelId: IdSchema,\n expectedModelRevision: z.number().int().positive(),\n source: ModelTasksetDraftPreparationSchema.optional(),\n }).strict().nullable().default(null),\n name: z.string().trim().max(500),\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: TasksetDraftStatusSchema,\n sourceRefs: z.array(TasksetSourceRefSchema).max(100_000).default([]),\n datasetArtifact: DatasetArtifactManifestSchema.nullable().optional(),\n policy: TaskPolicyBoundarySchema,\n environment: TasksetEnvironmentContractSchema,\n output: TasksetDraftOutputContractSchema.default({\n mode: \"text\",\n jsonSchema: null,\n renderer: null,\n }),\n capabilities: TasksetCapabilityManifestSchema,\n metrics: TasksetMetricPolicySchema,\n review: TasksetDraftReviewPolicySchema,\n tasks: z.array(TaskDataDraftSchema).max(1_000_000).default([]),\n graders: z.array(GraderSpecSchema).max(1_000).default([]),\n graderFixtures: z.array(GraderFixtureSchema).max(100_000).default([]),\n learningSignals: LearningSignalInventorySchema,\n publishedTasksetRef: z.object({\n id: IdSchema,\n revision: z.number().int().positive(),\n contentHash: HashSchema,\n }).nullable(),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n metadata: MetadataSchema,\n}).superRefine((draft, context) => {\n if (draft.purpose === \"benchmark\" && !draft.benchmark) {\n context.addIssue({\n code: \"custom\",\n message: \"Benchmark drafts require an immutable benchmark binding.\",\n path: [\"benchmark\"],\n });\n }\n if (draft.purpose !== \"benchmark\" && draft.benchmark) {\n context.addIssue({\n code: \"custom\",\n message: \"Only benchmark drafts may carry a benchmark binding.\",\n path: [\"benchmark\"],\n });\n }\n if (draft.datasetArtifact && draft.tasks.length > 0) {\n context.addIssue({\n code: \"custom\",\n message: \"Artifact-backed drafts may not duplicate canonical rows inline.\",\n path: [\"tasks\"],\n });\n }\n if (draft.status === \"published\" && !draft.publishedTasksetRef) {\n context.addIssue({\n code: \"custom\",\n message: \"Published drafts require an immutable Taskset reference.\",\n path: [\"publishedTasksetRef\"],\n });\n }\n});\n\nexport type TaskDataDraft = z.infer<typeof TaskDataDraftSchema>;\nexport type TasksetDraftStatus = z.infer<typeof TasksetDraftStatusSchema>;\nexport type TasksetDraftReviewPolicy = z.infer<typeof TasksetDraftReviewPolicySchema>;\nexport type TasksetDraftOutputContract = z.infer<typeof TasksetDraftOutputContractSchema>;\nexport type TasksetDraft = z.infer<typeof TasksetDraftSchema>;\n", "import { TasksetDraftSchema, type TasksetDraft } from \"./taskset-draft-document.js\";\n\nexport type TasksetDraftPublishIssue = {\n code: string;\n message: string;\n path: string | null;\n};\n\nexport class TasksetDraftPublishError extends Error {\n readonly issues: TasksetDraftPublishIssue[];\n\n constructor(issues: TasksetDraftPublishIssue[]) {\n super(issues.map((issue) => issue.message).join(\"\\n\"));\n this.name = \"TasksetDraftPublishError\";\n this.issues = issues;\n }\n}\n\nexport function createTasksetDraft(input: {\n profileId: string;\n modelScope?: TasksetDraft[\"modelScope\"];\n id?: string;\n name?: string;\n now?: string;\n}): TasksetDraft {\n const timestamp = input.now ?? new Date().toISOString();\n const id = input.id?.trim() || `taskset-draft-${globalThis.crypto.randomUUID()}`;\n return TasksetDraftSchema.parse({\n schemaVersion: \"openpond.tasksetDraft.v1\",\n id,\n revision: 1,\n profileId: input.profileId,\n modelScope: input.modelScope ?? null,\n name: input.name?.trim() ?? \"\",\n objective: \"\",\n purpose: \"general\",\n benchmark: null,\n preferenceComparison: null,\n status: \"draft\",\n sourceRefs: [],\n datasetArtifact: null,\n policy: {\n policyVisibleFields: [\"input\"],\n privilegedFields: [\"expectedOutput\"],\n hiddenGraderRefs: [],\n connectedAppScopes: [],\n },\n environment: {\n protocolVersion: \"openpond.taskEnvironment.v1\",\n kind: \"chat\",\n entrypoint: \"openpond-chat-v1\",\n stateful: false,\n deterministicSeeds: true,\n toolNames: [],\n lifecycle: [\"create\", \"reset\", \"step\", \"grade\", \"cleanup\"],\n defaultTimeoutMs: 120_000,\n networkPolicy: \"none\",\n resources: [],\n metadata: {},\n },\n output: {\n mode: \"text\",\n jsonSchema: null,\n renderer: null,\n },\n capabilities: {\n schemaVersion: \"openpond.tasksetCapabilities.v1\",\n taskKind: \"chat\",\n supportedSignals: [\n \"demonstration\",\n \"preference\",\n \"correction\",\n \"feedback\",\n \"reward\",\n \"label\",\n ],\n compatibleMethods: [\"none\"],\n rewardKinds: [\"none\"],\n requiresTools: false,\n requiresState: false,\n requiresPrivilegedGrading: true,\n environmentPlacements: [\"local\", \"remote\", \"colocated\"],\n exportable: true,\n portabilityBlockers: [],\n },\n metrics: {\n schemaVersion: \"openpond.tasksetMetricPolicy.v1\",\n primaryMetric: \"score\",\n aggregation: \"mean_score\",\n missingReward: \"zero\",\n customAggregator: null,\n },\n review: {\n enabled: false,\n candidateCount: 2,\n minimumSamples: 100,\n allowTies: true,\n allowRejectAll: true,\n rubric: \"\",\n criteria: [],\n },\n tasks: [],\n graders: [],\n graderFixtures: [],\n learningSignals: {\n demonstrations: [],\n preferences: [],\n corrections: [],\n feedback: [],\n rewards: [],\n labels: [],\n },\n publishedTasksetRef: null,\n createdAt: timestamp,\n updatedAt: timestamp,\n metadata: {},\n });\n}\n\nexport function draftPublishIssues(draft: TasksetDraft): TasksetDraftPublishIssue[] {\n const issues: TasksetDraftPublishIssue[] = [];\n if (!draft.name.trim()) issues.push({ code: \"name_missing\", message: \"Name is required.\", path: \"name\" });\n if (!draft.objective.trim()) issues.push({ code: \"objective_missing\", message: \"Objective is required.\", path: \"objective\" });\n if (!draft.datasetArtifact && draft.tasks.length === 0) issues.push({ code: \"tasks_missing\", message: \"Add at least one task or Dataset artifact.\", path: \"tasks\" });\n if (draft.graders.length === 0) issues.push({ code: \"graders_missing\", message: \"Add at least one grader.\", path: \"graders\" });\n if (draft.graderFixtures.length === 0) issues.push({ code: \"grader_fixtures_missing\", message: \"Add grader fixtures before publishing.\", path: \"graderFixtures\" });\n const sourceIds = new Set(draft.sourceRefs.map((source) => source.id));\n for (const task of draft.tasks) {\n for (const sourceId of task.sourceRefs) {\n if (!sourceIds.has(sourceId)) issues.push({ code: \"task_source_missing\", message: `Task ${task.id} references missing source ${sourceId}.`, path: `tasks.${task.id}.sourceRefs` });\n }\n }\n return issues;\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { TasksetSchema, type Taskset, type DatasetBuildIntent } from \"./taskset-authored-contracts.js\";\nimport { TaskDataRecordSchema, type TasksetSourceRef } from \"./taskset-draft-core.js\";\nimport { TasksetDraftSchema, type TasksetDraft } from \"./taskset-draft-document.js\";\nimport { draftPublishIssues, TasksetDraftPublishError } from \"./taskset-draft-authoring.js\";\nimport { computeTasksetHash, validateTaskset } from \"./taskset-authored-validation.js\";\n\nexport function tasksetDraftFromTaskset(\n tasksetInput: unknown,\n now = new Date().toISOString(),\n): TasksetDraft {\n const taskset = TasksetSchema.parse(tasksetInput);\n return TasksetDraftSchema.parse({\n schemaVersion: \"openpond.tasksetDraft.v1\",\n id: `${taskset.id}-draft`,\n revision: 1,\n profileId: taskset.profileId,\n name: taskset.name,\n objective: taskset.objective,\n purpose: taskset.purpose,\n benchmark: taskset.benchmark,\n preferenceComparison: taskset.preferenceComparison,\n status: \"draft\",\n sourceRefs: taskset.sourceRefs,\n datasetArtifact: taskset.datasetArtifact ?? null,\n policy: taskset.policy,\n environment: taskset.environment,\n output: tasksetOutputContract(taskset.metadata),\n capabilities: taskset.capabilities,\n metrics: taskset.metrics ?? {\n schemaVersion: \"openpond.tasksetMetricPolicy.v1\",\n primaryMetric: \"score\",\n aggregation: \"mean_score\",\n missingReward: \"zero\",\n customAggregator: null,\n },\n review: {\n enabled: Boolean(taskset.preferenceComparison),\n candidateCount: 2,\n minimumSamples: 100,\n allowTies: true,\n allowRejectAll: true,\n rubric: \"\",\n criteria: [],\n },\n tasks: taskset.tasks,\n graders: taskset.graders,\n graderFixtures: taskset.graderFixtures,\n learningSignals: taskset.learningSignals,\n publishedTasksetRef: {\n id: taskset.id,\n revision: taskset.revision,\n contentHash: taskset.contentHash,\n },\n createdAt: now,\n updatedAt: now,\n metadata: {\n ...taskset.metadata,\n importedFromTaskset: {\n id: taskset.id,\n revision: taskset.revision,\n contentHash: taskset.contentHash,\n },\n },\n });\n}\n\nexport function publishTasksetDraft(input: {\n draft: unknown;\n now?: string;\n tasksetId?: string;\n sourcePackageHash?: string;\n}): Taskset {\n const draft = TasksetDraftSchema.parse(input.draft);\n const timestamp = input.now ?? new Date().toISOString();\n const issues = draftPublishIssues(draft);\n if (issues.length) throw new TasksetDraftPublishError(issues);\n\n const preparedSource = draft.modelScope?.source;\n if (preparedSource && input.tasksetId && input.tasksetId !== preparedSource.tasksetId) throw new Error(\"Taskset draft publication differs from its prepared identity.\");\n const tasksetId = preparedSource?.tasksetId || input.tasksetId?.trim()\n || draft.publishedTasksetRef?.id\n || draft.id.replace(/-draft$/, \"\");\n const revision = preparedSource?.tasksetRevision ?? (draft.publishedTasksetRef?.id === tasksetId\n ? draft.publishedTasksetRef.revision + 1\n : 1);\n const sourceRefs = draft.sourceRefs.length\n ? draft.sourceRefs\n : [generatedDraftSource(draft, tasksetId, timestamp)];\n const defaultSourceId = sourceRefs[0]!.id;\n const tasks = draft.tasks.map((task) => TaskDataRecordSchema.parse({\n ...task,\n sourceRefs: task.sourceRefs.length ? task.sourceRefs : [defaultSourceId],\n metadata: {\n exampleOrigin: \"expert_authored\",\n ...task.metadata,\n },\n }));\n const explicitMethod = draft.capabilities.compatibleMethods.find(\n (method) => method !== \"none\" && method !== \"retrieval\",\n ) ?? null;\n const buildIntent = buildIntentForDraft(draft);\n const rewardGraders = draft.graders.filter(grader => grader.rewardEligible && grader.weight > 0 && grader.kind !== \"human\");\n const inferRewardMethod = explicitMethod === null && buildIntent === \"verifiable_reward\" && rewardGraders.length > 0;\n const authoredMethod = explicitMethod ?? (inferRewardMethod ? \"grpo\" : null);\n const taskset = TasksetSchema.parse({\n schemaVersion: \"openpond.taskset.v1\",\n id: tasksetId,\n revision,\n profileId: draft.profileId,\n profileRelease: null,\n createImproveRunId: null,\n name: draft.name,\n objective: draft.objective,\n purpose: draft.purpose,\n benchmark: draft.benchmark,\n preferenceComparison: draft.preferenceComparison,\n status: \"needs_review\",\n sourceRefs,\n datasetArtifact: draft.datasetArtifact ?? null,\n policy: draft.policy,\n environment: draft.environment,\n capabilities: inferRewardMethod ? { ...draft.capabilities, compatibleMethods: [\"grpo\"],\n rewardKinds: [...new Set(rewardGraders.map(grader => grader.kind === \"model_judge\" ? \"model_judge\" : \"deterministic\"))] } : draft.capabilities,\n metrics: draft.metrics,\n tasks,\n graders: draft.graders,\n graderFixtures: draft.graderFixtures,\n learningSignals: draft.learningSignals,\n authoringProvenance: {\n schemaVersion: \"openpond.taskAuthoringProvenance.v1\",\n model: null,\n modelConfig: {},\n skillHash: contentHash(\"openpond-taskset-draft-authoring-v1\"),\n promptTemplateVersion: \"taskset-draft-v1\",\n buildIntent,\n buildSpecification: null,\n evidenceHashes: sourceRefs.map((source) => source.sourceHash),\n tasksetSdkVersion: \"draft-v1\",\n sourceCommit: null,\n repairHistory: [],\n createdAt: timestamp,\n },\n readiness: null,\n contentHash: \"00000000\",\n createdAt: revision === 1 ? draft.createdAt : timestamp,\n updatedAt: timestamp,\n metadata: {\n ...draft.metadata,\n ...(preparedSource ? { modelTasksetAuthoring: preparedSource.lineage } : {}),\n tasksetReviewPolicy: draft.review,\n tasksetOutputContract: draft.output,\n ...(input.sourcePackageHash\n ? { sourcePackageHash: input.sourcePackageHash }\n : {}),\n ...(authoredMethod ? { trainingMethod: authoredMethod } : {}),\n diagnosis: {\n schemaVersion: \"openpond.capabilityDiagnosis.v1\",\n summary: draft.objective,\n stableBehavior: [draft.objective],\n changingKnowledge: [],\n requiredContext: [],\n requiredTools: draft.environment.toolNames,\n intervention: authoredMethod === \"dpo\"\n ? \"preference\"\n : authoredMethod === \"grpo\" || authoredMethod === \"ppo\"\n ? \"grpo_rft\"\n : authoredMethod === \"sft\" ? \"sft\" : \"no_training\",\n trainingEligible: authoredMethod !== null,\n rationale: authoredMethod\n ? [`The author selected ${authoredMethod.toUpperCase()} compatibility.`]\n : [\"The Taskset is currently configured for evaluation only.\"],\n confidence: 1,\n },\n },\n });\n const hashed = TasksetSchema.parse({\n ...taskset,\n contentHash: computeTasksetHash(taskset),\n });\n const report = validateTaskset(hashed);\n const validationErrors = report.issues.filter((issue) => issue.severity === \"error\");\n if (validationErrors.length) {\n throw new TasksetDraftPublishError(validationErrors.map((issue) => ({\n code: issue.code,\n message: issue.message,\n path: issue.path,\n })));\n }\n return hashed;\n}\n\nfunction generatedDraftSource(\n draft: TasksetDraft,\n tasksetId: string,\n timestamp: string,\n): TasksetSourceRef {\n const generatorHash = contentHash({\n draftId: draft.id,\n draftRevision: draft.revision,\n tasks: draft.tasks,\n });\n return {\n schemaVersion: \"openpond.generatedDatasetSource.v1\",\n kind: \"generated\",\n id: `source-${tasksetId}`,\n profileId: draft.profileId,\n title: `${draft.name} manual authoring`,\n sourceHash: generatorHash,\n occurredAt: timestamp,\n licensingStatus: \"approved\",\n secretScanStatus: \"passed\",\n piiScanStatus: \"passed\",\n generatorId: \"openpond-taskset-draft\",\n generatorVersion: \"1\",\n seed: 0,\n generatorHash,\n metadata: { draftId: draft.id, draftRevision: draft.revision },\n };\n}\n\nfunction buildIntentForDraft(draft: TasksetDraft): DatasetBuildIntent {\n if (draft.learningSignals.preferences.length) return \"preferences\";\n if (draft.learningSignals.rewards.length) return \"verifiable_reward\";\n if (draft.learningSignals.labels.length) return \"rubric\";\n if (!draft.capabilities.compatibleMethods.some(method => method !== \"none\" && method !== \"retrieval\")\n && draft.graders.some(grader => grader.rewardEligible && grader.weight > 0 && grader.kind !== \"human\")) return \"verifiable_reward\";\n return \"demonstrations\";\n}\n\nfunction tasksetOutputContract(metadata: Record<string, unknown>): TasksetDraft[\"output\"] {\n const value = metadata.tasksetOutputContract;\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\n return value as TasksetDraft[\"output\"];\n }\n return { mode: \"text\", jsonSchema: null, renderer: null };\n}\n", "import { sha256 } from \"@openpond/harness\";\nimport { TasksetDraftFileContentSchema, TasksetDraftFilePathSchema, type TasksetDraftFile } from \"./model-taskset-authoring-contracts.js\";\n\nexport const MAX_TASKSET_DRAFT_EDIT_FILE_BYTES = 6_000_000;\nconst MANAGED_FILES = new Set([\"taskset.json\", \"capabilities.json\", \"data/tasks.jsonl\", \"tasks/tasks.jsonl\", \"graders/graders.json\", \"fixtures/grader-fixtures.json\", \"metrics/policy.json\", \"assets/manifest.json\", \"environment/contract.json\", \"environment/taskset.ts\", \"rubrics/preference-review.md\", \"comparisons/policy.json\"]);\n\nexport function isWritableTasksetDraftFilePath(value: string): boolean {\n const path = TasksetDraftFilePathSchema.parse(value);\n return !MANAGED_FILES.has(path) && !path.startsWith(\"source-artifacts/\");\n}\n\nexport function isManagedTasksetDraftFilePath(value: string): boolean {\n return MANAGED_FILES.has(TasksetDraftFilePathSchema.parse(value));\n}\n\n/** Editor transport retains exact bytes, including a UTF-8 byte-order mark. */\nexport function createTasksetDraftFile(path: string, bytes: Uint8Array): TasksetDraftFile {\n const writable = isWritableTasksetDraftFilePath(path);\n if (bytes.byteLength > MAX_TASKSET_DRAFT_EDIT_FILE_BYTES) throw new Error(\"Taskset draft file content is invalid or exceeds 6 MB.\");\n let content: TasksetDraftFile[\"content\"];\n try {\n const text = new TextDecoder(\"utf-8\", { fatal: true, ignoreBOM: true }).decode(bytes);\n content = /[\\u0000-\\u0008\\u000e-\\u001f]/.test(text) ? base64Content(bytes) : { encoding: \"utf8\", data: text };\n } catch { content = base64Content(bytes); }\n return { path, writable, content, sizeBytes: bytes.byteLength, contentHash: sha256(bytes) };\n}\n\nexport function decodeTasksetDraftFileContent(input: unknown): Uint8Array {\n const content = TasksetDraftFileContentSchema.parse(input);\n let bytes: Uint8Array;\n try {\n if (content.encoding === \"utf8\") bytes = new TextEncoder().encode(content.data);\n else {\n const raw = atob(content.data);\n if (btoa(raw) !== content.data) throw new Error(\"Noncanonical base64\");\n bytes = Uint8Array.from(raw, character => character.charCodeAt(0));\n }\n } catch { throw new Error(\"Taskset draft file content is invalid or exceeds 6 MB.\"); }\n if (bytes.byteLength > MAX_TASKSET_DRAFT_EDIT_FILE_BYTES) throw new Error(\"Taskset draft file content is invalid or exceeds 6 MB.\");\n return bytes;\n}\n\nfunction base64Content(bytes: Uint8Array): TasksetDraftFile[\"content\"] {\n // Avoid spreading a multi-megabyte file onto the JavaScript call stack.\n let raw = \"\";\n for (let offset = 0; offset < bytes.length; offset += 8192) raw += String.fromCharCode(...bytes.subarray(offset, offset + 8192));\n return { encoding: \"base64\", data: btoa(raw) };\n}\n", "import { canonicalJson } from \"@openpond/harness\";\nimport { TasksetDraftSchema, type TasksetDraft } from \"./taskset-draft-document.js\";\nimport { TasksetDraftFilePathSchema } from \"./model-taskset-authoring-contracts.js\";\n\nexport function configuredTasksetDraftFiles(draft: TasksetDraft): Array<{ relativePath: string; source: string }> {\n const configured: Array<{ relativePath: string; source: string }> = [];\n if (draft.output.renderer) {\n configured.push({\n relativePath: draft.output.renderer.module,\n source: `export async function ${draft.output.renderer.exportName}(output: unknown) {\\n // Return artifact paths or bytes derived from the model's structured output.\\n return output;\\n}\\n`,\n });\n }\n for (const grader of draft.graders) {\n if (grader.kind !== \"custom_verifier\") continue;\n configured.push({\n relativePath: grader.module,\n source: `export async function ${grader.exportName}(input: { output: unknown; task: unknown }) {\\n return { passed: false, score: 0, feedback: \"Implement this verifier.\" };\\n}\\n`,\n });\n }\n if (draft.metrics.customAggregator) {\n configured.push({\n relativePath: draft.metrics.customAggregator.module,\n source: `export function ${draft.metrics.customAggregator.exportName}(scores: number[]) {\\n return scores.length ? scores.reduce((sum, score) => sum + score, 0) / scores.length : 0;\\n}\\n`,\n });\n }\n for (const file of configured) TasksetDraftFilePathSchema.parse(file.relativePath);\n return configured;\n}\n\n/** Canonical form-owned files have one structured document as their source. */\nexport function renderTasksetDraftManifests(input: unknown): Map<string, string> {\n const draft = TasksetDraftSchema.parse(input);\n return new Map([\n [\"taskset.json\", canonicalJson(draft)],\n [\"tasks/tasks.jsonl\", jsonLines(draft.tasks)],\n [\"graders/graders.json\", canonicalJson(draft.graders)],\n [\"fixtures/grader-fixtures.json\", canonicalJson(draft.graderFixtures)],\n [\"metrics/policy.json\", canonicalJson(draft.metrics)],\n [\"assets/manifest.json\", canonicalJson(draft.tasks.flatMap(task => task.assets ?? []))],\n [\"environment/contract.json\", canonicalJson(draft.environment)],\n [\"rubrics/preference-review.md\", rubricMarkdown(draft)],\n [\"comparisons/policy.json\", canonicalJson(draft.review)],\n ]);\n}\n\nfunction rubricMarkdown(draft: TasksetDraft): string {\n const criteria = draft.review.criteria.length\n ? `\\n\\n## Criteria\\n\\n${draft.review.criteria.map((criterion) =>\n `- **${criterion.label}** (${criterion.weight}): ${criterion.description}`\n ).join(\"\\n\")}`\n : \"\";\n return `# Preference review rubric\\n\\n${draft.review.rubric}${criteria}\\n`;\n}\n\nfunction jsonLines(values: unknown[]): string {\n return values.length ? `${values.map((value) => JSON.stringify(value)).join(\"\\n\")}\\n` : \"\";\n}\n", "import { z } from \"zod\";\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { assertBoundedTaskJson } from \"@openpond/evals/task-schema\";\nimport { TasksetDraftSchema } from \"./taskset-draft-document.js\";\nimport { TasksetDraftFileMutationSchema, TasksetDraftFilePathSchema, type TasksetDraftFileMutation } from \"./model-taskset-authoring-contracts.js\";\nimport { createTasksetDraftFile, decodeTasksetDraftFileContent, isManagedTasksetDraftFilePath, isWritableTasksetDraftFilePath } from \"./taskset-draft-files.js\";\nimport { configuredTasksetDraftFiles, renderTasksetDraftManifests } from \"./taskset-draft-manifests.js\";\n\nexport const MAX_TASKSET_DRAFT_WORKSPACE_BYTES = 64 * 1024 * 1024;\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const TasksetDraftWorkspaceFileSchema = z.object({\n path: TasksetDraftFilePathSchema,\n contentHash: HashSchema,\n sizeBytes: z.number().int().nonnegative().max(MAX_TASKSET_DRAFT_WORKSPACE_BYTES),\n base64: z.string().max(MAX_TASKSET_DRAFT_WORKSPACE_BYTES),\n}).strict();\nconst WorkspaceContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetDraftWorkspace.v1\"),\n draft: TasksetDraftSchema,\n files: z.array(TasksetDraftWorkspaceFileSchema).max(10_000),\n}).strict();\nexport const TasksetDraftWorkspaceSchema = WorkspaceContentSchema.extend({ contentHash: HashSchema }).strict();\nexport type TasksetDraftWorkspace = z.infer<typeof TasksetDraftWorkspaceSchema>;\nexport type TasksetDraftWorkspaceFile = z.infer<typeof TasksetDraftWorkspaceFileSchema>;\n\n/** Files are retained separately from the structured document, including bytes\n * too large for the code editor. Publication remains a separate validation step. */\nexport function createTasksetDraftWorkspace(input: z.input<typeof WorkspaceContentSchema>): TasksetDraftWorkspace {\n assertBoundedTaskJson(input, MAX_TASKSET_DRAFT_WORKSPACE_BYTES);\n const content = WorkspaceContentSchema.parse(input);\n content.files.sort((left, right) => left.path < right.path ? -1 : left.path > right.path ? 1 : 0);\n return validateTasksetDraftWorkspace({ ...content, contentHash: contentHash(content) });\n}\n\nexport function validateTasksetDraftWorkspace(input: unknown): TasksetDraftWorkspace {\n assertBoundedTaskJson(input, MAX_TASKSET_DRAFT_WORKSPACE_BYTES);\n const workspace = TasksetDraftWorkspaceSchema.parse(input);\n const { contentHash: expectedHash, ...content } = workspace;\n if (contentHash(content) !== expectedHash) throw new Error(\"Taskset draft workspace differs from its retained bytes.\");\n let previousPath: string | null = null;\n const paths = new Set<string>();\n for (const file of workspace.files) {\n if (isManagedTasksetDraftFilePath(file.path)) throw new Error(\"Managed Taskset files are represented by the draft document.\");\n if (previousPath !== null && previousPath >= file.path) throw new Error(\"Taskset draft file paths must be unique and sorted.\");\n const segments = file.path.split(\"/\");\n for (let end = 1; end < segments.length; end++) if (paths.has(segments.slice(0, end).join(\"/\"))) throw new Error(\"A Taskset draft file occupies another file's directory.\");\n decodeTasksetDraftWorkspaceFile(file);\n paths.add(file.path);\n previousPath = file.path;\n }\n return workspace;\n}\n\nexport function readTasksetDraftWorkspaceFile(input: TasksetDraftWorkspace, path: string) {\n const workspace = validateTasksetDraftWorkspace(input);\n TasksetDraftFilePathSchema.parse(path);\n const file = workspace.files.find(candidate => candidate.path === path);\n const manifest = isManagedTasksetDraftFilePath(path) ? renderTasksetDraftManifests(workspace.draft).get(path) : undefined;\n if (!file && manifest === undefined) throw new Error(\"Taskset draft file does not exist.\");\n const result = createTasksetDraftFile(path, file ? decodeTasksetDraftWorkspaceFile(file) : new TextEncoder().encode(manifest!));\n return { draftRevision: workspace.draft.revision, file: { ...result, writable: result.writable && workspace.draft.status !== \"published\" } };\n}\n\nexport function listTasksetDraftWorkspaceFiles(input: TasksetDraftWorkspace) {\n const workspace = validateTasksetDraftWorkspace(input);\n const files = workspace.files.map(file => ({ path: file.path, sizeBytes: file.sizeBytes,\n writable: workspace.draft.status !== \"published\" && isWritableTasksetDraftFilePath(file.path) }));\n for (const [path, content] of renderTasksetDraftManifests(workspace.draft)) files.push({ path, sizeBytes: new TextEncoder().encode(content).byteLength, writable: false });\n return { draftRevision: workspace.draft.revision, files: files.sort((left, right) => left.path < right.path ? -1 : left.path > right.path ? 1 : 0) };\n}\n\nexport function saveTasksetDraftWorkspaceDocument(input: { workspace: TasksetDraftWorkspace; expectedDraftRevision: number; draft: unknown; now: string }): TasksetDraftWorkspace {\n const workspace = editableWorkspace(input.workspace, input.expectedDraftRevision);\n const draft = TasksetDraftSchema.parse(input.draft);\n const current = workspace.draft;\n if (draft.id !== current.id || draft.profileId !== current.profileId || contentHash(draft.modelScope) !== contentHash(current.modelScope)) throw new Error(\"Taskset draft Model ownership cannot change.\");\n if (draft.revision !== current.revision || draft.status !== current.status || draft.createdAt !== current.createdAt || contentHash(draft.publishedTasksetRef) !== contentHash(current.publishedTasksetRef)) throw new Error(\"Taskset draft lifecycle fields cannot change through form edits.\");\n const files = [...workspace.files];\n for (const configured of configuredTasksetDraftFiles(draft)) if (!files.some(file => file.path === configured.relativePath)) {\n const bytes = new TextEncoder().encode(configured.source);\n files.push({ path: configured.relativePath, contentHash: sha256(bytes), sizeBytes: bytes.byteLength, base64: base64(bytes) });\n }\n const aggregator = draft.metrics.customAggregator;\n const module = aggregator ? files.find(file => file.path === aggregator.module) : undefined;\n return createTasksetDraftWorkspace({ schemaVersion: workspace.schemaVersion, files,\n draft: { ...draft, revision: current.revision + 1, status: \"draft\", updatedAt: input.now,\n ...(aggregator && module ? { metrics: { ...draft.metrics, customAggregator: { ...aggregator, contentHash: module.contentHash } } } : {}) } });\n}\n\nexport function saveTasksetDraftWorkspaceFile(input: { workspace: TasksetDraftWorkspace; mutation: TasksetDraftFileMutation; now: string }): TasksetDraftWorkspace {\n const mutation = TasksetDraftFileMutationSchema.parse(input.mutation);\n const workspace = editableWorkspace(input.workspace, mutation.expectedDraftRevision);\n if (workspace.draft.id !== mutation.draftId) throw new Error(\"Taskset draft file belongs to another draft.\");\n if (!isWritableTasksetDraftFilePath(mutation.path)) throw new Error(\"This file is managed by the Taskset forms or retained source history.\");\n const previous = workspace.files.find(file => file.path === mutation.path);\n if ((previous?.contentHash ?? null) !== mutation.expectedFileHash) throw new Error(\"Taskset draft file changed. Reload it before saving.\");\n if (!previous && mutation.content === null) throw new Error(\"Taskset draft file does not exist.\");\n const files = workspace.files.filter(file => file.path !== mutation.path);\n if (mutation.content !== null) {\n const bytes = decodeTasksetDraftFileContent(mutation.content);\n files.push({ path: mutation.path, contentHash: sha256(bytes), sizeBytes: bytes.byteLength, base64: base64(bytes) });\n }\n return createTasksetDraftWorkspace({ schemaVersion: workspace.schemaVersion, files,\n draft: { ...workspace.draft, revision: workspace.draft.revision + 1, status: \"draft\", updatedAt: input.now } });\n}\n\nfunction editableWorkspace(input: unknown, expectedRevision: number): TasksetDraftWorkspace {\n const workspace = validateTasksetDraftWorkspace(input);\n if (workspace.draft.status === \"published\") throw new Error(\"Published Taskset drafts are immutable.\");\n if (workspace.draft.revision !== expectedRevision) throw new Error(\"Taskset draft changed. Reload before saving.\");\n return workspace;\n}\n\nexport function decodeTasksetDraftWorkspaceFile(input: TasksetDraftWorkspaceFile): Uint8Array {\n const file = TasksetDraftWorkspaceFileSchema.parse(input);\n let raw: string;\n try { raw = atob(file.base64); }\n catch { throw new Error(\"Taskset draft file contains invalid base64.\"); }\n if (btoa(raw) !== file.base64) throw new Error(\"Taskset draft file contains noncanonical base64.\");\n const bytes = Uint8Array.from(raw, character => character.charCodeAt(0));\n if (bytes.byteLength !== file.sizeBytes || sha256(bytes) !== file.contentHash) throw new Error(\"Taskset draft file differs from its retained bytes.\");\n return bytes;\n}\n\nfunction base64(bytes: Uint8Array): string {\n let raw = \"\";\n for (let offset = 0; offset < bytes.length; offset += 8192) raw += String.fromCharCode(...bytes.subarray(offset, offset + 8192));\n return btoa(raw);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["z", "IdSchema", "z", "HashSchema", "z", "HashSchema", "z"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
|
-
GraderSpecSchema
|
|
2
|
+
GraderSpecSchema
|
|
3
|
+
} from "./chunk-WT7JU2CT.js";
|
|
4
|
+
import {
|
|
3
5
|
decodeTasksetPackageFile
|
|
4
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-B3CH4V35.js";
|
|
5
7
|
import {
|
|
6
8
|
CapabilityRequirementSchema,
|
|
7
9
|
ToolDeclarationSchema
|
|
@@ -463,4 +465,4 @@ export {
|
|
|
463
465
|
projectLearningBatchGraders,
|
|
464
466
|
learningVerifierModule
|
|
465
467
|
};
|
|
466
|
-
//# sourceMappingURL=chunk-
|
|
468
|
+
//# sourceMappingURL=chunk-O27OEXXB.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/taskset-authored-portable-release.ts", "../src/taskset-package-grader-projection.ts"],
|
|
4
4
|
"sourcesContent": ["import type { Taskset } from \"./taskset-authored-contracts.js\";\nimport type {\n GraderSpec,\n TaskDataRecord,\n} from \"./taskset-draft-core.js\";\nimport {\n TaskRecordSchema,\n GraderSpecSchema as PortableGraderSpecSchema,\n TasksetReleaseContentSchema,\n TasksetReleaseSchema,\n bindTasksetExecutionReleases,\n createEnvironmentRelease,\n createVerifierSetRelease,\n EnvironmentReleaseSchema,\n VerifierSetReleaseSchema,\n verifyEnvironmentRelease,\n verifyVerifierSetRelease,\n verifyPreferenceComparisonRelease,\n type EnvironmentContract,\n type GraderSpec as PortableGraderSpec,\n type PreferenceComparisonRelease,\n type TasksetRelease,\n} from \"@openpond/evals\";\nimport type {\n ImmutableAssetRef,\n ToolDeclaration,\n} from \"@openpond/harness\";\nimport {\n CapabilityRequirementSchema,\n ImmutableAssetRefSchema,\n ToolDeclarationSchema,\n} from \"@openpond/harness\";\n\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { TaskBatchPackageMetadataSchema } from \"@openpond/evals/learning\";\nimport { compileBoundGraders, RewardBindingSchema, RewardReleaseSchema, type RewardBinding, type RewardRelease } from \"@openpond/evals/rewards\";\nimport { portableDeterministicCheck } from \"@openpond/evals/graders\";\n\nexport type TasksetRewardExecution = { binding: RewardBinding; rewards: RewardRelease[] };\n\nexport function resolvePortableTasksetRewardExecution(taskset: Taskset, supplied?: TasksetRewardExecution): TasksetRewardExecution | null {\n const learning = taskset.metadata.learning === undefined ? null : TaskBatchPackageMetadataSchema.parse(taskset.metadata.learning);\n const embedded = taskset.metadata.rewardExecution as { binding?: unknown; rewards?: unknown } | undefined;\n const execution = supplied ?? (embedded ? {\n binding: RewardBindingSchema.parse(embedded.binding),\n rewards: RewardReleaseSchema.array().parse(embedded.rewards),\n } : learning);\n if (taskset.metadata.rewardBinding !== undefined) {\n const reference = taskset.metadata.rewardBinding as Partial<RewardBinding> | null;\n if (!execution || !reference || reference.id !== execution.binding.id\n || reference.revision !== execution.binding.revision || reference.contentHash !== execution.binding.contentHash) {\n throw new Error(\"Portable Taskset requires its exact published Reward binding.\");\n }\n }\n if (execution) compileBoundGraders(execution.binding, execution.rewards);\n return execution ? { binding: execution.binding, rewards: execution.rewards } : null;\n}\n\nexport function materializePortableTasksetRelease(input: {\n taskset: Taskset;\n selectedTasks?: TaskDataRecord[];\n adapterId: string;\n admittedTasksetRelease?: TasksetRelease | null;\n rewardExecution?: TasksetRewardExecution;\n}): {\n environmentRelease: ReturnType<typeof createEnvironmentRelease>;\n verifierSetRelease: ReturnType<typeof createVerifierSetRelease>;\n tasksetRelease: TasksetRelease;\n} {\n const environment = portableEnvironment(input.taskset);\n const tools = portableTools(input.taskset);\n const learning = input.taskset.metadata.learning === undefined ? null : TaskBatchPackageMetadataSchema.parse(input.taskset.metadata.learning);\n const embedded = input.taskset.metadata.rewardExecution;\n const rewardExecution = resolvePortableTasksetRewardExecution(input.taskset, input.rewardExecution);\n const graders = rewardExecution ? compileBoundGraders(rewardExecution.binding, rewardExecution.rewards) : input.taskset.graders.map(portableGrader);\n const tasks = input.selectedTasks?.length\n ? input.selectedTasks\n : input.taskset.tasks;\n if (!tasks.length) throw new Error(\"A portable Taskset release requires at least one task.\");\n const pinned = input.taskset.environment.metadata.portableExecutionResources as { environment?: unknown; verifierSet?: unknown } | undefined;\n if (environment.entrypoint === \"openpond.javascript-environment.v1\" && !pinned) throw new Error(\"Tool Taskset publication requires its pinned execution resources.\");\n const environmentRelease = pinned ? EnvironmentReleaseSchema.parse(pinned.environment) : createEnvironmentRelease({\n schemaVersion: \"openpond.environmentRelease.v1\",\n id: `environment-release-${input.taskset.id}-r${input.taskset.revision}`,\n revision: input.taskset.revision,\n contract: environment,\n actionSchemaRef: null,\n observationSchemaRef: null,\n stateSchemaRef: null,\n artifactCollection: {\n maxArtifacts: 100_000,\n maxTotalBytes: 250_000_000,\n },\n adapterConformanceHashes: {\n [input.adapterId]: contentHash({ adapterId: input.adapterId, environment, tools }),\n },\n metadata: {\n sourceTasksetId: input.taskset.id,\n sourcePackageHash: input.taskset.metadata.sourcePackageHash ?? null,\n resources: input.taskset.environment.resources ?? [],\n },\n });\n const verifierSetRelease = pinned?.verifierSet !== undefined ? VerifierSetReleaseSchema.parse(pinned.verifierSet) : createVerifierSetRelease({\n schemaVersion: \"openpond.verifierSetRelease.v1\",\n id: `verifier-set-release-${input.taskset.id}-r${input.taskset.revision}`,\n revision: input.taskset.revision,\n graders,\n isolation: {\n processBoundary: \"isolated_process\",\n networkPolicy: \"none\",\n defaultTimeoutMs: Math.min(input.taskset.environment.defaultTimeoutMs, 300_000),\n },\n calibrationReceiptRefs: [],\n metadata: { sourceTasksetId: input.taskset.id },\n });\n if (!verifyEnvironmentRelease(environmentRelease) || !verifyVerifierSetRelease(verifierSetRelease) ||\n contentHash(environmentRelease.contract) !== contentHash(environment) || contentHash(verifierSetRelease.graders) !== contentHash(graders)) {\n throw new Error(\"Taskset execution resources differ from its declared environment or graders.\");\n }\n const tasksetContent = TasksetReleaseContentSchema.parse({\n schemaVersion: \"openpond.tasksetRelease.v2\",\n id: input.taskset.metadata.derivedPortableMetadata === undefined ? `taskset-release-${input.taskset.id}-r${input.taskset.revision}` : input.taskset.id,\n revision: input.taskset.revision,\n policy: {\n policyVisibleFields: input.taskset.policy.policyVisibleFields,\n privilegedFields: input.taskset.policy.privilegedFields,\n hiddenGraderRefs: input.taskset.policy.hiddenGraderRefs,\n connectedAppScopes: input.taskset.policy.connectedAppScopes,\n },\n environment,\n tools,\n capabilities: portableCapabilities(input.taskset),\n tasks: tasks.map(projectPortableTaskRecord),\n graders,\n ...(input.taskset.metrics ? { metrics: input.taskset.metrics } : {}),\n metadata: input.taskset.metadata.derivedPortableMetadata ?? {\n sourceTasksetId: input.taskset.id,\n sourceTasksetHash: input.taskset.contentHash,\n sourcePackageHash: input.taskset.metadata.sourcePackageHash ?? null,\n environmentResources: input.taskset.environment.resources ?? [],\n ordinaryAuthoring: {\n instructions: input.taskset.objective,\n graderFixtures: input.taskset.graderFixtures,\n judgeCalibrationFixtures: Object.fromEntries(input.taskset.graders\n .filter(grader => grader.kind === \"model_judge\")\n .map(grader => [grader.id, grader.calibrationFixtureRefs])),\n },\n ...(learning ? { learning } : {}),\n // A sealed batch already pins these resources in learning metadata.\n // Resolving that same binding at admission must not change its release.\n ...(rewardExecution && !learning && (input.rewardExecution || embedded) ? { rewardExecution: { binding: rewardExecution.binding, rewards: rewardExecution.rewards } } : {}),\n },\n });\n const draft = input.admittedTasksetRelease\n ? TasksetReleaseSchema.parse(input.admittedTasksetRelease)\n : TasksetReleaseSchema.parse({\n ...tasksetContent,\n contentHash: contentHash(tasksetContent),\n });\n const tasksetRelease = draft.environmentRelease\n ? assertReleaseBindings({ draft, environmentRelease, verifierSetRelease })\n : bindTasksetExecutionReleases({\n taskset: draft,\n environment: environmentRelease,\n verifierSet: verifierSetRelease,\n });\n return { environmentRelease, verifierSetRelease, tasksetRelease };\n}\n\n/**\n * Admits a published comparison policy against the exact portable Taskset\n * release it names. A comparison is deliberately not embedded in that release:\n * doing so would create a content-hash cycle between Taskset and comparison.\n */\nexport function projectPreferenceComparisonRelease(input: {\n tasksetRelease: TasksetRelease;\n preferenceComparison: PreferenceComparisonRelease;\n}): PreferenceComparisonRelease {\n if (!verifyPreferenceComparisonRelease(input.preferenceComparison)) {\n throw new Error(\"Preference comparison release failed immutable content verification.\");\n }\n const release = input.preferenceComparison;\n if (\n release.tasksetRelease.id !== input.tasksetRelease.id\n || release.tasksetRelease.contentHash !== input.tasksetRelease.contentHash\n ) {\n throw new Error(\"Preference comparison release must reference the admitted portable Taskset release.\");\n }\n return release;\n}\n\nexport function portableTasksetEnvironment(taskset: Taskset): EnvironmentContract {\n return portableEnvironment(taskset);\n}\n\nexport function portableTasksetTools(taskset: Taskset): ToolDeclaration[] {\n return portableTools(taskset);\n}\n\n/** Preserve immutable file/schema references while overlaying current edits. */\nexport function projectPortableTaskRecord(task: TaskDataRecord) {\n const admitted = task.metadata.portableTaskRecord;\n if (admitted !== undefined) {\n const original = TaskRecordSchema.parse(admitted);\n const projected = TaskRecordSchema.parse({\n ...original,\n id: task.id,\n clusterKey: task.clusterKey,\n split: task.split,\n input: task.input,\n expectedOutput: portableExpectedOutput(task),\n policyVisibleContext: task.policyVisibleContext,\n privilegedContextRef: task.privilegedContextRef,\n tags: task.tags,\n artifactRefs: task.assets === undefined ? original.artifactRefs : task.assets.map((asset) => {\n const previous = original.artifactRefs.find(item => item.id === asset.id);\n return {\n id: asset.id,\n path: previous?.path ?? `tasks/${segment(task.id)}/${segment(asset.fileName)}`,\n contentHash: hash(asset.sha256),\n sizeBytes: asset.sizeBytes,\n mediaType: asset.mediaType,\n visibility: previous?.visibility ?? \"policy\",\n };\n }),\n requiredOutputs: task.requiredOutputs === undefined ? original.requiredOutputs : task.requiredOutputs.map((output) => {\n const previous = original.requiredOutputs?.find(item => item.path === output.path);\n return {\n path: output.path,\n mediaType: output.mediaType,\n schemaRef: previous?.schemaRef && previous.schemaRef.id === output.schemaRef ? previous.schemaRef : null,\n maxBytes: output.maxBytes ?? null,\n metadata: {\n ...output.metadata,\n ...(output.schemaRef && previous?.schemaRef?.id !== output.schemaRef\n ? { legacySchemaRef: output.schemaRef }\n : {}),\n },\n };\n }),\n });\n if (projected.requiredOutputs === undefined) delete projected.requiredOutputs;\n return projected;\n }\n return {\n id: task.id,\n clusterKey: task.clusterKey,\n split: task.split,\n input: task.input,\n expectedOutput: portableExpectedOutput(task),\n policyVisibleContext: task.policyVisibleContext,\n privilegedContextRef: task.privilegedContextRef,\n artifactRefs: (task.assets ?? []).map((item) => ({\n id: item.id,\n path: `tasks/${segment(task.id)}/${segment(item.fileName)}`,\n contentHash: hash(item.sha256),\n sizeBytes: item.sizeBytes,\n mediaType: item.mediaType,\n visibility: \"policy\" as const,\n })),\n requiredOutputs: (task.requiredOutputs ?? []).map((output) => ({\n path: output.path,\n mediaType: output.mediaType,\n schemaRef: null,\n maxBytes: output.maxBytes ?? null,\n metadata: {\n ...output.metadata,\n legacySchemaRef: output.schemaRef ?? null,\n },\n })),\n tags: task.tags,\n };\n}\n\nfunction portableExpectedOutput(\n task: TaskDataRecord,\n): Record<string, unknown> | null {\n if (!task.expectedOutput) return null;\n if (\"artifactRenderer\" in task.expectedOutput) {\n throw new Error(\n `Task ${task.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`,\n );\n }\n return task.expectedOutput;\n}\n\nfunction portableEnvironment(taskset: Taskset): EnvironmentContract {\n const kind: EnvironmentContract[\"kind\"] = taskset.environment.kind === \"chat\"\n ? \"text\"\n : taskset.environment.kind === \"work\" ? \"work\"\n : taskset.environment.kind === \"program\" ? \"custom_program\" : \"agent\";\n return {\n protocolVersion: \"openpond.environment.v1\",\n kind,\n entrypoint: taskset.environment.entrypoint,\n stateful: taskset.environment.stateful,\n deterministicSeeds: taskset.environment.deterministicSeeds,\n lifecycle: [\"create\", \"reset\", \"step\", \"collect\", \"destroy\"],\n networkPolicy: taskset.environment.networkPolicy,\n defaultTimeoutMs: taskset.environment.defaultTimeoutMs,\n };\n}\n\nfunction portableTools(taskset: Taskset): ToolDeclaration[] {\n const admitted = taskset.environment.metadata.portableTools;\n if (admitted !== undefined) {\n return ToolDeclarationSchema.array().max(200).parse(admitted);\n }\n const bindings = taskset.environment.actionBindings ?? [];\n if (bindings.length) return bindings.map((binding) => ({\n name: binding.modelToolName,\n description: binding.description,\n inputSchema: binding.inputSchema,\n inputSchemaHash: hash(binding.actionSchemaHash),\n sideEffect: binding.sideEffect,\n timeoutMs: binding.timeoutMs,\n }));\n return taskset.environment.toolNames.map((name) => ({\n name,\n description: `Host-provided ${name} tool.`,\n inputSchema: {},\n inputSchemaHash: contentHash({}),\n sideEffect: \"write\" as const,\n timeoutMs: taskset.environment.defaultTimeoutMs,\n }));\n}\n\nfunction portableGrader(grader: GraderSpec): PortableGraderSpec {\n const base = {\n id: grader.id,\n version: grader.version,\n weight: grader.weight,\n hardGate: grader.hardGate,\n rewardEligible: grader.rewardEligible,\n privileged: grader.privileged,\n };\n if (grader.kind === \"model_judge\") return {\n ...base,\n kind: \"model_judge\",\n rubricRef: rubricAsset(grader),\n model: modelJudgeRef(grader),\n temperature: grader.temperature,\n calibrationStatus: grader.calibrationStatus,\n };\n if (grader.kind === \"custom_verifier\") {\n if (grader.metadata.portableVerifierRef === undefined) {\n throw new Error(`Custom verifier ${grader.id} requires its immutable executable asset before publication.`);\n }\n const imported = PortableGraderSpecSchema.safeParse(grader.metadata.portableGrader);\n // An omitted portable export means \"verify\". Preserve that encoding on an\n // unchanged import so executing it does not silently replace its release.\n const preserveDefault = imported.success && imported.data.kind === \"custom_verifier\"\n && imported.data.exportName === undefined && grader.exportName === \"verify\";\n return {\n ...base,\n kind: \"custom_verifier\",\n verifierRef: ImmutableAssetRefSchema.parse(grader.metadata.portableVerifierRef),\n timeoutMs: grader.timeoutMs,\n ...(preserveDefault ? {} : { exportName: grader.exportName }),\n networkPolicy: \"none\",\n };\n }\n if (grader.kind === \"human\") return {\n ...base,\n kind: \"human\",\n rubricRef: rubricAsset(grader),\n reviewerRole: grader.reviewerRole,\n };\n return {\n ...base,\n ...portableDeterministicCheck(grader),\n };\n}\n\nfunction portableCapabilities(taskset: Taskset) {\n const admitted = taskset.metadata.portableCapabilities;\n if (admitted !== undefined) {\n return CapabilityRequirementSchema.array().max(200).parse(admitted);\n }\n return [\n ...(taskset.capabilities.requiresTools\n ? [{ id: \"tools\", required: true, scopes: taskset.environment.toolNames }]\n : []),\n ...(taskset.capabilities.requiresState\n ? [{ id: \"local-state\", required: true, scopes: [] }]\n : []),\n ...(taskset.capabilities.requiresPrivilegedGrading\n ? [{ id: \"private-verifier\", required: true, scopes: taskset.policy.hiddenGraderRefs }]\n : []),\n ...taskset.policy.connectedAppScopes.map((scope) => ({\n id: `connected-app-${segment(scope)}`,\n required: true,\n scopes: [scope],\n })),\n ].map((requirement) => ({\n ...requirement,\n portability: requirement.id === \"local-state\" ? \"host_adapter\" as const : \"portable\" as const,\n }));\n}\n\nfunction assertReleaseBindings(input: {\n draft: TasksetRelease;\n environmentRelease: ReturnType<typeof createEnvironmentRelease>;\n verifierSetRelease: ReturnType<typeof createVerifierSetRelease>;\n}): TasksetRelease {\n if (\n input.draft.environmentRelease?.id !== input.environmentRelease.id\n || input.draft.environmentRelease.contentHash !== input.environmentRelease.contentHash\n ) {\n throw new Error(\"Admitted Taskset Release binds a different Environment Release.\");\n }\n if (\n input.draft.verifierSetRelease?.id !== input.verifierSetRelease.id\n || input.draft.verifierSetRelease.contentHash !== input.verifierSetRelease.contentHash\n ) {\n throw new Error(\"Admitted Taskset Release binds a different Verifier Set Release.\");\n }\n if (contentHash(input.draft.environment) !== contentHash(input.environmentRelease.contract)) {\n throw new Error(\"Admitted Taskset Environment differs from its bound Environment Release.\");\n }\n if (contentHash(input.draft.graders) !== contentHash(input.verifierSetRelease.graders)) {\n throw new Error(\"Admitted Taskset graders differ from its bound Verifier Set Release.\");\n }\n return input.draft;\n}\n\nfunction modelJudgeRef(grader: Extract<GraderSpec, { kind: \"model_judge\" }>) {\n const previous = grader.metadata.portableGrader === undefined ? null : PortableGraderSpecSchema.parse(grader.metadata.portableGrader);\n const revision = previous?.kind === \"model_judge\" && previous.model?.providerId === grader.judge.providerId && previous.model.modelId === grader.judge.modelId ? previous.model.revision : null;\n return { ...grader.judge, revision };\n}\n\nfunction rubricAsset(grader: Extract<GraderSpec, { kind: \"human\" | \"model_judge\" }>): ImmutableAssetRef {\n const contentHash = sha256(grader.rubric);\n const sizeBytes = new TextEncoder().encode(grader.rubric).byteLength;\n const reference = grader.metadata.portableRubricRef;\n if (reference !== undefined) {\n const asset = ImmutableAssetRefSchema.parse(reference);\n if (asset.contentHash !== contentHash || asset.sizeBytes !== sizeBytes || asset.visibility === \"policy\") throw new Error(\"Taskset rubric differs from its published private source.\");\n return asset;\n }\n return { id: `rubric-${grader.id}`, path: `graders/${segment(grader.id)}/rubric.md`, contentHash, sizeBytes, mediaType: \"text/markdown\", visibility: \"verifier\" };\n}\n\nfunction hash(value: string): string {\n return /^[a-f0-9]{64}$/.test(value) ? value : contentHash(value);\n}\n\nfunction segment(value: string): string {\n const normalized = value.trim().replace(/[^a-zA-Z0-9._-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n return normalized || \"asset\";\n}\n", "import { compileBoundGraders, resolveBoundRewards, type RewardBinding, type RewardRelease } from \"@openpond/evals/rewards\";\nimport { learningRef, verifyLearningTextAsset, RewardFixtureAuthoringFieldsSchema, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport type { GraderSpec } from \"./taskset-draft-core.js\";\nimport { GraderSpecSchema } from \"./taskset-draft-core.js\";\nimport { decodeTasksetPackageFile, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { z } from \"zod\";\n\n/** Project an ordinary portable package without inventing a Reward binding. */\nexport function importedPackageGraders(value: TasksetPackage) {\n const authoring = value.taskset.metadata.ordinaryAuthoring as { judgeCalibrationFixtures?: unknown } | undefined;\n const calibrationFixtures = z.record(z.string(), z.array(z.string().min(1)).max(100_000)).parse(authoring?.judgeCalibrationFixtures ?? {});\n return value.taskset.graders.map(grader => {\n const base = { ...grader, label: grader.id, metadata: { portableGrader: grader } };\n if (grader.kind === \"custom_verifier\") return GraderSpecSchema.parse({ ...base,\n module: learningVerifierModule(grader.verifierRef.contentHash), exportName: grader.exportName ?? \"verify\",\n metadata: { ...base.metadata, portableVerifierRef: grader.verifierRef } });\n if (grader.kind === \"human\" || grader.kind === \"model_judge\") {\n const file = value.files.find(file => file.asset.id === grader.rubricRef.id);\n if (!file) throw new Error(`Imported rubric is missing: ${grader.id}.`);\n const rubric = new TextDecoder(\"utf-8\", { fatal: true }).decode(decodeTasksetPackageFile(file));\n const metadata = { ...base.metadata, portableRubricRef: grader.rubricRef };\n if (grader.kind === \"human\") return GraderSpecSchema.parse({ ...base, rubric, metadata });\n if (!grader.model) throw new Error(`Imported judge ${grader.id} requires its declared model before local preparation.`);\n return GraderSpecSchema.parse({ ...base, rubric, metadata, judge: grader.model, temperature: grader.temperature ?? 0,\n calibrationStatus: \"pending\", calibrationFixtureRefs: calibrationFixtures[grader.id] ?? [] });\n }\n return GraderSpecSchema.parse({ ...base, kind: grader.kind === \"artifact\" ? \"file\" : grader.kind,\n config: grader.kind === \"artifact\" ? { ...grader.config, ...(grader.config.refIncludes === undefined ? {} : { pathIncludes: grader.config.refIncludes }) } : grader.config });\n });\n}\n\nexport function projectLearningBatchGraders(binding: RewardBinding, rewards: RewardRelease[], assets: LearningTextAsset[] = []): GraderSpec[] {\n const resolved = resolveBoundRewards(binding, rewards);\n return compileBoundGraders(binding, rewards).map((grader) => {\n const reward = resolved.find(({ source }) => source.graderId === grader.id)!.reward;\n const base = { ...grader, label: reward.name, metadata: { rewardBinding: learningRef(binding) } };\n if (grader.kind === \"model_judge\") {\n if (!grader.model || grader.calibrationStatus !== \"passed\" || !reward.calibrationCheckRef || !reward.fixtureSetRef) throw new Error(`Reward ${grader.id} needs a retained passing calibration check before preparation.`);\n const rubric = assets.find(asset => asset.id === grader.rubricRef.id);\n const fixtures = assets.find(asset => asset.id === reward.fixtureSetRef!.id);\n if (!rubric || !fixtures) throw new Error(`Reward ${grader.id} is missing its immutable rubric or calibration fixtures.`);\n const fields = RewardFixtureAuthoringFieldsSchema.array().min(1).max(50).parse(JSON.parse(verifyLearningTextAsset(fixtures, reward.fixtureSetRef)));\n return GraderSpecSchema.parse({ ...base, rubric: verifyLearningTextAsset(rubric, grader.rubricRef), judge: grader.model,\n temperature: grader.temperature ?? 0, calibrationFixtureRefs: fields.map(fixture => fixture.id),\n metadata: { ...base.metadata, portableRubricRef: grader.rubricRef,\n calibrationEvidenceHash: reward.calibrationCheckRef.contentHash, calibrationCheckRef: reward.calibrationCheckRef },\n });\n }\n if (grader.kind === \"custom_verifier\") return GraderSpecSchema.parse({ ...base,\n module: learningVerifierModule(grader.verifierRef.contentHash), exportName: grader.exportName ?? \"verify\",\n metadata: { ...base.metadata, portableVerifierRef: grader.verifierRef },\n });\n if (grader.kind === \"human\") {\n const asset = assets.find((asset) => asset.id === grader.rubricRef.id);\n if (!asset) throw new Error(`Reward ${grader.id} is missing its immutable rubric.`);\n return GraderSpecSchema.parse({ ...base, rubric: verifyLearningTextAsset(asset, grader.rubricRef) });\n }\n return GraderSpecSchema.parse({ ...base, kind: grader.kind === \"artifact\" ? \"file\" : grader.kind });\n });\n}\n\nexport function learningVerifierModule(hash: string) { return `graders/reward-${hash}.js`; }\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["contentHash", "compileBoundGraders", "file", "compileBoundGraders", "asset", "hash"]
|
|
7
7
|
}
|