openpond-sdk 0.12.2 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/advanced-refiner-evaluations.js +5 -5
  2. package/dist/candidate-evaluations.js +4 -4
  3. package/dist/{chunk-VSRTJDVB.js → chunk-36WJTS5V.js} +3 -3
  4. package/dist/{chunk-O5ARJVT5.js → chunk-77N3QEIL.js} +2 -2
  5. package/dist/{chunk-WNH4DOEC.js → chunk-BFR3VC25.js} +16 -285
  6. package/dist/chunk-BFR3VC25.js.map +7 -0
  7. package/dist/{chunk-DBRRQASP.js → chunk-BSK3VLM3.js} +2 -2
  8. package/dist/{chunk-B7VYE7YQ.js → chunk-CTVKI3BV.js} +2 -2
  9. package/dist/{chunk-7AZDNZP6.js → chunk-CWXM57QR.js} +350 -87
  10. package/dist/chunk-CWXM57QR.js.map +7 -0
  11. package/dist/chunk-FY7NHCEH.js +255 -0
  12. package/dist/chunk-FY7NHCEH.js.map +7 -0
  13. package/dist/{chunk-YSKUXQ2N.js → chunk-G53MA5XX.js} +3 -3
  14. package/dist/{chunk-AV5JV26B.js → chunk-G6Y6CQYV.js} +2 -2
  15. package/dist/{chunk-ENLQCKY6.js → chunk-K5WRVSOL.js} +5 -5
  16. package/dist/{chunk-OEPYLZXK.js → chunk-MLPPSCDQ.js} +2 -2
  17. package/dist/{chunk-7GYXC2AI.js → chunk-QEIT5VXJ.js} +2 -2
  18. package/dist/{chunk-L5PQPAU6.js → chunk-QTJQIHDZ.js} +5 -2
  19. package/dist/{chunk-L5PQPAU6.js.map → chunk-QTJQIHDZ.js.map} +2 -2
  20. package/dist/{chunk-YVFERCUC.js → chunk-TMUAKJWX.js} +71 -2
  21. package/dist/chunk-TMUAKJWX.js.map +7 -0
  22. package/dist/{chunk-D4WTE6ZA.js → chunk-TSMGMA6R.js} +2 -2
  23. package/dist/{chunk-VOL3WES2.js → chunk-UPS52OPZ.js} +10 -165
  24. package/dist/chunk-UPS52OPZ.js.map +7 -0
  25. package/dist/{chunk-MLFKQ7E7.js → chunk-VY5AFE7A.js} +2 -2
  26. package/dist/{chunk-WVISXXIL.js → chunk-XYQD4LDI.js} +2 -2
  27. package/dist/{chunk-DG5CRENU.js → chunk-YUKV7RCD.js} +2 -2
  28. package/dist/{chunk-7WUJBFCH.js → chunk-ZJ3H3VS7.js} +18 -1
  29. package/dist/chunk-ZJ3H3VS7.js.map +7 -0
  30. package/dist/connected-evidence.js +10 -10
  31. package/dist/dataset-workspaces.js +13 -12
  32. package/dist/dataset-workspaces.js.map +1 -1
  33. package/dist/experiment-evaluation-schedules.js +13 -13
  34. package/dist/experiment-improvements.js +5 -5
  35. package/dist/experiments.js +17 -13
  36. package/dist/index.js +19 -19
  37. package/dist/model-starter-catalog.js +5 -5
  38. package/dist/model-starters.js +5 -5
  39. package/dist/model-taskset-runs.js +1 -1
  40. package/dist/post-training.js +4 -4
  41. package/dist/taskset-drafts.js +16 -16
  42. package/dist/taskset-packages.js +14 -14
  43. package/dist/training-bundle.js +161 -25
  44. package/dist/training-bundle.js.map +4 -4
  45. package/dist/training.js +11 -5
  46. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +9 -0
  47. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -1
  48. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +6 -0
  49. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -1
  50. package/dist/types/packages/sdk/src/experiment-client.d.ts +33 -0
  51. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  52. package/dist/types/packages/sdk/src/experiment-contracts.d.ts +12 -0
  53. package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
  54. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +21 -0
  55. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -1
  56. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +3 -0
  57. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
  58. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +15 -0
  59. package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
  60. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +17 -0
  61. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -1
  62. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +3 -1
  63. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
  64. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +12 -0
  65. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  66. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +12 -0
  67. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  68. package/dist/types/packages/sdk/src/post-training.d.ts +15 -0
  69. package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
  70. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts +4 -0
  71. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts.map +1 -1
  72. package/dist/types/packages/sdk/src/training-bundle.d.ts +4 -0
  73. package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
  74. package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +364 -0
  75. package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -0
  76. package/dist/types/packages/sdk/src/training.d.ts +161 -0
  77. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  78. package/package.json +1 -1
  79. package/dist/chunk-7AZDNZP6.js.map +0 -7
  80. package/dist/chunk-7WUJBFCH.js.map +0 -7
  81. package/dist/chunk-PGBFI5HC.js +0 -98
  82. package/dist/chunk-PGBFI5HC.js.map +0 -7
  83. package/dist/chunk-VOL3WES2.js.map +0 -7
  84. package/dist/chunk-WNH4DOEC.js.map +0 -7
  85. package/dist/chunk-YVFERCUC.js.map +0 -7
  86. /package/dist/{chunk-VSRTJDVB.js.map → chunk-36WJTS5V.js.map} +0 -0
  87. /package/dist/{chunk-O5ARJVT5.js.map → chunk-77N3QEIL.js.map} +0 -0
  88. /package/dist/{chunk-DBRRQASP.js.map → chunk-BSK3VLM3.js.map} +0 -0
  89. /package/dist/{chunk-B7VYE7YQ.js.map → chunk-CTVKI3BV.js.map} +0 -0
  90. /package/dist/{chunk-YSKUXQ2N.js.map → chunk-G53MA5XX.js.map} +0 -0
  91. /package/dist/{chunk-AV5JV26B.js.map → chunk-G6Y6CQYV.js.map} +0 -0
  92. /package/dist/{chunk-ENLQCKY6.js.map → chunk-K5WRVSOL.js.map} +0 -0
  93. /package/dist/{chunk-OEPYLZXK.js.map → chunk-MLPPSCDQ.js.map} +0 -0
  94. /package/dist/{chunk-7GYXC2AI.js.map → chunk-QEIT5VXJ.js.map} +0 -0
  95. /package/dist/{chunk-D4WTE6ZA.js.map → chunk-TSMGMA6R.js.map} +0 -0
  96. /package/dist/{chunk-MLFKQ7E7.js.map → chunk-VY5AFE7A.js.map} +0 -0
  97. /package/dist/{chunk-WVISXXIL.js.map → chunk-XYQD4LDI.js.map} +0 -0
  98. /package/dist/{chunk-DG5CRENU.js.map → chunk-YUKV7RCD.js.map} +0 -0
@@ -12,14 +12,14 @@ import {
12
12
  sealAdvancedRefinerEvaluationPin,
13
13
  sealAdvancedRefinerReviewReceipt,
14
14
  verifyAdvancedRefinerEvaluationPin
15
- } from "./chunk-DG5CRENU.js";
16
- import "./chunk-D4WTE6ZA.js";
15
+ } from "./chunk-YUKV7RCD.js";
16
+ import "./chunk-TSMGMA6R.js";
17
17
  import "./chunk-YCQVVFE5.js";
18
18
  import "./chunk-KAE7AMYE.js";
19
- import "./chunk-B7VYE7YQ.js";
19
+ import "./chunk-CTVKI3BV.js";
20
20
  import "./chunk-T4APHDES.js";
21
- import "./chunk-L5PQPAU6.js";
22
- import "./chunk-7WUJBFCH.js";
21
+ import "./chunk-QTJQIHDZ.js";
22
+ import "./chunk-ZJ3H3VS7.js";
23
23
  import "./chunk-CK3ONRRC.js";
24
24
  import "./chunk-TCHAWJMB.js";
25
25
  import "./chunk-3KXDH6OB.js";
@@ -5,10 +5,10 @@ import {
5
5
  CandidateEvaluationPreparationSchema,
6
6
  CandidateEvaluationRequestSchema,
7
7
  createCandidateEvaluationClient
8
- } from "./chunk-DBRRQASP.js";
9
- import "./chunk-YSKUXQ2N.js";
10
- import "./chunk-L5PQPAU6.js";
11
- import "./chunk-7WUJBFCH.js";
8
+ } from "./chunk-BSK3VLM3.js";
9
+ import "./chunk-G53MA5XX.js";
10
+ import "./chunk-QTJQIHDZ.js";
11
+ import "./chunk-ZJ3H3VS7.js";
12
12
  import "./chunk-CK3ONRRC.js";
13
13
  import "./chunk-TCHAWJMB.js";
14
14
  import "./chunk-3KXDH6OB.js";
@@ -3,7 +3,7 @@ import {
3
3
  publishTasksetDraft,
4
4
  renderTasksetDraftManifests,
5
5
  validateTasksetDraftWorkspace
6
- } from "./chunk-WNH4DOEC.js";
6
+ } from "./chunk-BFR3VC25.js";
7
7
  import {
8
8
  materializePortableTasksetRelease,
9
9
  portableTasksetEnvironment,
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  TasksetSchema,
14
14
  computeTasksetHash
15
- } from "./chunk-7AZDNZP6.js";
15
+ } from "./chunk-CWXM57QR.js";
16
16
  import {
17
17
  MAX_TASKSET_PACKAGE_BYTES,
18
18
  ModelStarterExecutionSchema,
@@ -382,4 +382,4 @@ export {
382
382
  compileTasksetDraftWorkspace,
383
383
  compileModelTasksetDraftWorkspace
384
384
  };
385
- //# sourceMappingURL=chunk-VSRTJDVB.js.map
385
+ //# sourceMappingURL=chunk-36WJTS5V.js.map
@@ -6,7 +6,7 @@ import {
6
6
  ExperimentImprovementTestRecipeSchema,
7
7
  verifyExperimentImprovementHumanOptions,
8
8
  verifyExperimentImprovementState
9
- } from "./chunk-D4WTE6ZA.js";
9
+ } from "./chunk-TSMGMA6R.js";
10
10
  import {
11
11
  HarnessPolicySourcePackageSchema,
12
12
  validateHarnessPolicySourcePackage
@@ -157,4 +157,4 @@ export {
157
157
  HostedProfileCandidateCommandSchema,
158
158
  ExperimentImprovementClient
159
159
  };
160
- //# sourceMappingURL=chunk-O5ARJVT5.js.map
160
+ //# sourceMappingURL=chunk-77N3QEIL.js.map
@@ -1,24 +1,15 @@
1
1
  import {
2
+ TasksetDraftPublishError,
3
+ TasksetDraftSchema,
2
4
  TasksetSchema,
3
5
  computeTasksetHash,
6
+ draftPublishIssues,
4
7
  validateTaskset
5
- } from "./chunk-7AZDNZP6.js";
8
+ } from "./chunk-CWXM57QR.js";
6
9
  import {
7
- DatasetArtifactManifestSchema,
8
- GraderFixtureSchema,
9
- GraderSpecSchema,
10
- LearningSignalInventorySchema,
11
- TaskDataRecordSchema,
12
- TaskPolicyBoundarySchema,
13
- TasksetBenchmarkBindingSchema,
14
- TasksetCapabilityManifestSchema,
15
- TasksetEnvironmentContractSchema,
16
- TasksetPreferenceComparisonBindingSchema,
17
- TasksetPurposeSchema,
18
- TasksetSourceRefSchema
10
+ TaskDataRecordSchema
19
11
  } from "./chunk-FHCSDXIA.js";
20
12
  import {
21
- ModelTasksetDraftPreparationSchema,
22
13
  TasksetDraftFileContentSchema,
23
14
  TasksetDraftFileMutationSchema,
24
15
  TasksetDraftFilePathSchema
@@ -29,141 +20,6 @@ import {
29
20
  sha256
30
21
  } from "./chunk-COPVBJPL.js";
31
22
 
32
- // src/taskset-draft-document.ts
33
- import { z } from "zod";
34
- import { TasksetMetricPolicySchema } from "@openpond/evals/metrics";
35
- var IdSchema = z.string().trim().min(1).max(240);
36
- var TimestampSchema = z.string().trim().min(1);
37
- var HashSchema = z.string().trim().min(8).max(256);
38
- var CodeIdentifierSchema = z.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/);
39
- var MetadataSchema = z.record(z.string(), z.unknown()).default({});
40
- function safeRelativeFilePath(value) {
41
- const normalized = value.trim().replaceAll("\\", "/");
42
- if (!normalized || normalized.startsWith("/") || normalized === "." || normalized === "..") {
43
- return false;
44
- }
45
- return !normalized.split("/").some(
46
- (segment) => !segment || segment === "." || segment === ".."
47
- );
48
- }
49
- var TaskDataDraftSchema = TaskDataRecordSchema.extend({
50
- sourceRefs: z.array(IdSchema).max(100).default([])
51
- });
52
- var TasksetDraftStatusSchema = z.enum([
53
- "draft",
54
- "validating",
55
- "needs_review",
56
- "published"
57
- ]);
58
- var TasksetDraftReviewPolicySchema = z.object({
59
- enabled: z.boolean(),
60
- candidateCount: z.number().int().min(2).max(4),
61
- minimumSamples: z.number().int().min(1).max(1e4).default(100),
62
- allowTies: z.boolean(),
63
- allowRejectAll: z.boolean(),
64
- rubric: z.string().trim().max(5e4),
65
- criteria: z.array(z.object({
66
- id: IdSchema,
67
- label: z.string().trim().min(1).max(500),
68
- description: z.string().trim().max(1e4),
69
- weight: z.number().nonnegative().max(1e3)
70
- })).max(100)
71
- });
72
- var TasksetDraftOutputContractSchema = z.object({
73
- mode: z.enum(["text", "structured_json", "artifacts"]),
74
- jsonSchema: z.record(z.string(), z.unknown()).nullable(),
75
- renderer: z.object({
76
- module: z.string().trim().min(1).max(1e3).refine(safeRelativeFilePath, "Renderer modules must use a safe relative path."),
77
- exportName: CodeIdentifierSchema,
78
- configRef: z.string().trim().min(1).max(1e3).refine(safeRelativeFilePath, "Renderer configuration must use a safe relative path.").nullable().default(null)
79
- }).nullable()
80
- }).superRefine((output, context) => {
81
- if (output.mode === "structured_json" && !output.jsonSchema) {
82
- context.addIssue({
83
- code: "custom",
84
- message: "Structured JSON output requires a JSON Schema.",
85
- path: ["jsonSchema"]
86
- });
87
- }
88
- if (output.mode === "text" && output.renderer) {
89
- context.addIssue({
90
- code: "custom",
91
- message: "Text output cannot configure an artifact renderer.",
92
- path: ["renderer"]
93
- });
94
- }
95
- });
96
- var TasksetDraftSchema = z.object({
97
- schemaVersion: z.literal("openpond.tasksetDraft.v1"),
98
- id: IdSchema,
99
- revision: z.number().int().positive(),
100
- profileId: IdSchema,
101
- modelScope: z.object({
102
- modelId: IdSchema,
103
- expectedModelRevision: z.number().int().positive(),
104
- source: ModelTasksetDraftPreparationSchema.optional()
105
- }).strict().nullable().default(null),
106
- name: z.string().trim().max(500),
107
- objective: z.string().trim().max(2e4),
108
- purpose: TasksetPurposeSchema.default("general"),
109
- benchmark: TasksetBenchmarkBindingSchema.nullable().default(null),
110
- preferenceComparison: TasksetPreferenceComparisonBindingSchema.nullable().default(null),
111
- status: TasksetDraftStatusSchema,
112
- sourceRefs: z.array(TasksetSourceRefSchema).max(1e5).default([]),
113
- datasetArtifact: DatasetArtifactManifestSchema.nullable().optional(),
114
- policy: TaskPolicyBoundarySchema,
115
- environment: TasksetEnvironmentContractSchema,
116
- output: TasksetDraftOutputContractSchema.default({
117
- mode: "text",
118
- jsonSchema: null,
119
- renderer: null
120
- }),
121
- capabilities: TasksetCapabilityManifestSchema,
122
- metrics: TasksetMetricPolicySchema,
123
- review: TasksetDraftReviewPolicySchema,
124
- tasks: z.array(TaskDataDraftSchema).max(1e6).default([]),
125
- graders: z.array(GraderSpecSchema).max(1e3).default([]),
126
- graderFixtures: z.array(GraderFixtureSchema).max(1e5).default([]),
127
- learningSignals: LearningSignalInventorySchema,
128
- publishedTasksetRef: z.object({
129
- id: IdSchema,
130
- revision: z.number().int().positive(),
131
- contentHash: HashSchema
132
- }).nullable(),
133
- createdAt: TimestampSchema,
134
- updatedAt: TimestampSchema,
135
- metadata: MetadataSchema
136
- }).superRefine((draft, context) => {
137
- if (draft.purpose === "benchmark" && !draft.benchmark) {
138
- context.addIssue({
139
- code: "custom",
140
- message: "Benchmark drafts require an immutable benchmark binding.",
141
- path: ["benchmark"]
142
- });
143
- }
144
- if (draft.purpose !== "benchmark" && draft.benchmark) {
145
- context.addIssue({
146
- code: "custom",
147
- message: "Only benchmark drafts may carry a benchmark binding.",
148
- path: ["benchmark"]
149
- });
150
- }
151
- if (draft.datasetArtifact && draft.tasks.length > 0) {
152
- context.addIssue({
153
- code: "custom",
154
- message: "Artifact-backed drafts may not duplicate canonical rows inline.",
155
- path: ["tasks"]
156
- });
157
- }
158
- if (draft.status === "published" && !draft.publishedTasksetRef) {
159
- context.addIssue({
160
- code: "custom",
161
- message: "Published drafts require an immutable Taskset reference.",
162
- path: ["publishedTasksetRef"]
163
- });
164
- }
165
- });
166
-
167
23
  // src/taskset-draft-files.ts
168
24
  var MAX_TASKSET_DRAFT_EDIT_FILE_BYTES = 6e6;
169
25
  var MANAGED_FILES = /* @__PURE__ */ 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"]);
@@ -277,22 +133,22 @@ function jsonLines(values) {
277
133
  }
278
134
 
279
135
  // src/taskset-draft-workspace.ts
280
- import { z as z2 } from "zod";
136
+ import { z } from "zod";
281
137
  import { assertBoundedTaskJson } from "@openpond/evals/task-schema";
282
138
  var MAX_TASKSET_DRAFT_WORKSPACE_BYTES = 64 * 1024 * 1024;
283
- var HashSchema2 = z2.string().regex(/^[a-f0-9]{64}$/);
284
- var TasksetDraftWorkspaceFileSchema = z2.object({
139
+ var HashSchema = z.string().regex(/^[a-f0-9]{64}$/);
140
+ var TasksetDraftWorkspaceFileSchema = z.object({
285
141
  path: TasksetDraftFilePathSchema,
286
- contentHash: HashSchema2,
287
- sizeBytes: z2.number().int().nonnegative().max(MAX_TASKSET_DRAFT_WORKSPACE_BYTES),
288
- base64: z2.string().max(MAX_TASKSET_DRAFT_WORKSPACE_BYTES)
142
+ contentHash: HashSchema,
143
+ sizeBytes: z.number().int().nonnegative().max(MAX_TASKSET_DRAFT_WORKSPACE_BYTES),
144
+ base64: z.string().max(MAX_TASKSET_DRAFT_WORKSPACE_BYTES)
289
145
  }).strict();
290
- var WorkspaceContentSchema = z2.object({
291
- schemaVersion: z2.literal("openpond.tasksetDraftWorkspace.v1"),
146
+ var WorkspaceContentSchema = z.object({
147
+ schemaVersion: z.literal("openpond.tasksetDraftWorkspace.v1"),
292
148
  draft: TasksetDraftSchema,
293
- files: z2.array(TasksetDraftWorkspaceFileSchema).max(1e4)
149
+ files: z.array(TasksetDraftWorkspaceFileSchema).max(1e4)
294
150
  }).strict();
295
- var TasksetDraftWorkspaceSchema = WorkspaceContentSchema.extend({ contentHash: HashSchema2 }).strict();
151
+ var TasksetDraftWorkspaceSchema = WorkspaceContentSchema.extend({ contentHash: HashSchema }).strict();
296
152
  function createTasksetDraftWorkspace(input) {
297
153
  assertBoundedTaskJson(input, MAX_TASKSET_DRAFT_WORKSPACE_BYTES);
298
154
  const content = WorkspaceContentSchema.parse(input);
@@ -406,123 +262,6 @@ function base64(bytes) {
406
262
  return btoa(raw);
407
263
  }
408
264
 
409
- // src/taskset-draft-authoring.ts
410
- var TasksetDraftPublishError = class extends Error {
411
- issues;
412
- constructor(issues) {
413
- super(issues.map((issue) => issue.message).join("\n"));
414
- this.name = "TasksetDraftPublishError";
415
- this.issues = issues;
416
- }
417
- };
418
- function createTasksetDraft(input) {
419
- const timestamp = input.now ?? (/* @__PURE__ */ new Date()).toISOString();
420
- const id = input.id?.trim() || `taskset-draft-${globalThis.crypto.randomUUID()}`;
421
- return TasksetDraftSchema.parse({
422
- schemaVersion: "openpond.tasksetDraft.v1",
423
- id,
424
- revision: 1,
425
- profileId: input.profileId,
426
- modelScope: input.modelScope ?? null,
427
- name: input.name?.trim() ?? "",
428
- objective: "",
429
- purpose: "general",
430
- benchmark: null,
431
- preferenceComparison: null,
432
- status: "draft",
433
- sourceRefs: [],
434
- datasetArtifact: null,
435
- policy: {
436
- policyVisibleFields: ["input"],
437
- privilegedFields: ["expectedOutput"],
438
- hiddenGraderRefs: [],
439
- connectedAppScopes: []
440
- },
441
- environment: {
442
- protocolVersion: "openpond.taskEnvironment.v1",
443
- kind: "chat",
444
- entrypoint: "openpond-chat-v1",
445
- stateful: false,
446
- deterministicSeeds: true,
447
- toolNames: [],
448
- lifecycle: ["create", "reset", "step", "grade", "cleanup"],
449
- defaultTimeoutMs: 12e4,
450
- networkPolicy: "none",
451
- resources: [],
452
- metadata: {}
453
- },
454
- output: {
455
- mode: "text",
456
- jsonSchema: null,
457
- renderer: null
458
- },
459
- capabilities: {
460
- schemaVersion: "openpond.tasksetCapabilities.v1",
461
- taskKind: "chat",
462
- supportedSignals: [
463
- "demonstration",
464
- "preference",
465
- "correction",
466
- "feedback",
467
- "reward",
468
- "label"
469
- ],
470
- compatibleMethods: ["none"],
471
- rewardKinds: ["none"],
472
- requiresTools: false,
473
- requiresState: false,
474
- requiresPrivilegedGrading: true,
475
- environmentPlacements: ["local", "remote", "colocated"],
476
- exportable: true,
477
- portabilityBlockers: []
478
- },
479
- metrics: {
480
- schemaVersion: "openpond.tasksetMetricPolicy.v1",
481
- primaryMetric: "score",
482
- aggregation: "mean_score",
483
- missingReward: "zero",
484
- customAggregator: null
485
- },
486
- review: {
487
- enabled: false,
488
- candidateCount: 2,
489
- minimumSamples: 100,
490
- allowTies: true,
491
- allowRejectAll: true,
492
- rubric: "",
493
- criteria: []
494
- },
495
- tasks: [],
496
- graders: [],
497
- graderFixtures: [],
498
- learningSignals: {
499
- demonstrations: [],
500
- preferences: [],
501
- corrections: [],
502
- feedback: [],
503
- rewards: [],
504
- labels: []
505
- },
506
- publishedTasksetRef: null,
507
- createdAt: timestamp,
508
- updatedAt: timestamp,
509
- metadata: {}
510
- });
511
- }
512
- function draftPublishIssues(draft) {
513
- const issues = [];
514
- if (!draft.name.trim()) issues.push({ code: "name_missing", message: "Name is required.", path: "name" });
515
- if (!draft.objective.trim()) issues.push({ code: "objective_missing", message: "Objective is required.", path: "objective" });
516
- if (!draft.datasetArtifact && draft.tasks.length === 0) issues.push({ code: "tasks_missing", message: "Add at least one task or Dataset artifact.", path: "tasks" });
517
- const sourceIds = new Set(draft.sourceRefs.map((source) => source.id));
518
- for (const task of draft.tasks) {
519
- for (const sourceId of task.sourceRefs) {
520
- if (!sourceIds.has(sourceId)) issues.push({ code: "task_source_missing", message: `Task ${task.id} references missing source ${sourceId}.`, path: `tasks.${task.id}.sourceRefs` });
521
- }
522
- }
523
- return issues;
524
- }
525
-
526
265
  // src/taskset-draft-publication.ts
527
266
  function tasksetDraftFromTaskset(tasksetInput, now = (/* @__PURE__ */ new Date()).toISOString()) {
528
267
  const taskset = TasksetSchema.parse(tasksetInput);
@@ -728,11 +467,6 @@ function tasksetOutputContract(metadata) {
728
467
  }
729
468
 
730
469
  export {
731
- TaskDataDraftSchema,
732
- TasksetDraftStatusSchema,
733
- TasksetDraftReviewPolicySchema,
734
- TasksetDraftOutputContractSchema,
735
- TasksetDraftSchema,
736
470
  MAX_TASKSET_DRAFT_EDIT_FILE_BYTES,
737
471
  isWritableTasksetDraftFilePath,
738
472
  isManagedTasksetDraftFilePath,
@@ -750,10 +484,7 @@ export {
750
484
  saveTasksetDraftWorkspaceDocument,
751
485
  saveTasksetDraftWorkspaceFile,
752
486
  decodeTasksetDraftWorkspaceFile,
753
- TasksetDraftPublishError,
754
- createTasksetDraft,
755
- draftPublishIssues,
756
487
  tasksetDraftFromTaskset,
757
488
  publishTasksetDraft
758
489
  };
759
- //# sourceMappingURL=chunk-WNH4DOEC.js.map
490
+ //# sourceMappingURL=chunk-BFR3VC25.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/taskset-draft-files.ts", "../src/taskset-draft-manifests.ts", "../src/taskset-draft-workspace.ts", "../src/taskset-draft-publication.ts"],
4
+ "sourcesContent": ["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 = new Uint8Array(raw.length);\n for (let index = 0; index < raw.length; index++) bytes[index] = raw.charCodeAt(index);\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 = new Uint8Array(raw.length);\n for (let index = 0; index < raw.length; index++) bytes[index] = raw.charCodeAt(index);\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", "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, { purpose: \"publication\" });\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.metadata.buildIntent === \"discovery\" || (!draft.graders.length && !draft.learningSignals.preferences.length && !draft.learningSignals.rewards.length && !draft.learningSignals.labels.length)) return \"discovery\";\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"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RunExperimentSchema
3
- } from "./chunk-YSKUXQ2N.js";
3
+ } from "./chunk-G53MA5XX.js";
4
4
  import {
5
5
  contentHash
6
6
  } from "./chunk-COPVBJPL.js";
@@ -136,4 +136,4 @@ export {
136
136
  CandidateEvaluationPreparationSchema,
137
137
  CandidateEvaluationControlSchema
138
138
  };
139
- //# sourceMappingURL=chunk-DBRRQASP.js.map
139
+ //# sourceMappingURL=chunk-BSK3VLM3.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ExperimentFieldMappingsSchema,
3
3
  ExperimentGraderPinSchema
4
- } from "./chunk-L5PQPAU6.js";
4
+ } from "./chunk-QTJQIHDZ.js";
5
5
  import {
6
6
  ImmutableReleaseRefSchema,
7
7
  contentHash
@@ -67,4 +67,4 @@ export {
67
67
  ExperimentScoringPassSchema,
68
68
  verifyExperimentScoringPass
69
69
  };
70
- //# sourceMappingURL=chunk-B7VYE7YQ.js.map
70
+ //# sourceMappingURL=chunk-CTVKI3BV.js.map