openpond-sdk 0.11.5 → 0.12.0

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 (208) hide show
  1. package/TASKSETS.md +13 -0
  2. package/dist/advanced-refiner-evaluations.js +6 -6
  3. package/dist/candidate-evaluations.js +5 -5
  4. package/dist/{chunk-2G4WBMYI.js → chunk-32GJS7FV.js} +6 -6
  5. package/dist/{chunk-Z4OLAEPL.js → chunk-644E3NM2.js} +10 -3
  6. package/dist/chunk-644E3NM2.js.map +7 -0
  7. package/dist/{chunk-YGLTO26A.js → chunk-7L4NIEW2.js} +2 -2
  8. package/dist/{chunk-VEU3IXAQ.js → chunk-7MISLCN2.js} +2 -2
  9. package/dist/{chunk-WTHJ3H4M.js → chunk-7WUJBFCH.js} +2 -2
  10. package/dist/{chunk-PHETIB6R.js → chunk-AV5JV26B.js} +2 -2
  11. package/dist/{chunk-Z4JJS6KE.js → chunk-B7VYE7YQ.js} +2 -2
  12. package/dist/{chunk-AQGFJLIV.js → chunk-BDDT6VN6.js} +5 -5
  13. package/dist/{chunk-DUJXF7YI.js → chunk-CK3ONRRC.js} +71 -59
  14. package/dist/chunk-CK3ONRRC.js.map +7 -0
  15. package/dist/{chunk-PMBBNQ2J.js → chunk-D4WTE6ZA.js} +2 -2
  16. package/dist/{chunk-ZOXHSJWU.js → chunk-DBRRQASP.js} +2 -2
  17. package/dist/{chunk-FZH2M4G6.js → chunk-DG5CRENU.js} +2 -2
  18. package/dist/{chunk-P3BRSSRD.js → chunk-FWX7SH7Y.js} +307 -258
  19. package/dist/chunk-FWX7SH7Y.js.map +7 -0
  20. package/dist/chunk-FZYLRL7H.js +100 -0
  21. package/dist/chunk-FZYLRL7H.js.map +7 -0
  22. package/dist/{chunk-JOKRT4CK.js → chunk-KV6JXPQH.js} +5 -2
  23. package/dist/{chunk-JOKRT4CK.js.map → chunk-KV6JXPQH.js.map} +2 -2
  24. package/dist/{chunk-HAOPRFYQ.js → chunk-L5PQPAU6.js} +2 -2
  25. package/dist/{chunk-DUPHBKVV.js → chunk-LHRHB5EJ.js} +2 -2
  26. package/dist/{chunk-5GMY4TTF.js → chunk-OEPYLZXK.js} +2 -2
  27. package/dist/chunk-SVBV2VEK.js +181 -0
  28. package/dist/chunk-SVBV2VEK.js.map +7 -0
  29. package/dist/{chunk-XYVPLV6Z.js → chunk-TTAFUUHZ.js} +3 -3
  30. package/dist/{chunk-2DLFHAGW.js → chunk-UK2KWJIQ.js} +12 -9
  31. package/dist/{chunk-2DLFHAGW.js.map → chunk-UK2KWJIQ.js.map} +3 -3
  32. package/dist/{chunk-K2OH56BH.js → chunk-UVREOAMH.js} +3 -3
  33. package/dist/{chunk-LQ5Q35IF.js → chunk-WYGBGCRO.js} +7 -5
  34. package/dist/chunk-WYGBGCRO.js.map +7 -0
  35. package/dist/{chunk-FDHIL2CV.js → chunk-X6J3VVYC.js} +9 -6
  36. package/dist/{chunk-FDHIL2CV.js.map → chunk-X6J3VVYC.js.map} +2 -2
  37. package/dist/{chunk-PXNHL3SH.js → chunk-YRTA3G6O.js} +11 -4
  38. package/dist/chunk-YRTA3G6O.js.map +7 -0
  39. package/dist/{chunk-35OVUYPI.js → chunk-YSKUXQ2N.js} +3 -3
  40. package/dist/connected-evidence.js +51 -26
  41. package/dist/dataset-workspaces.js +1136 -34
  42. package/dist/dataset-workspaces.js.map +4 -4
  43. package/dist/experiment-evaluation-schedules.js +18 -18
  44. package/dist/experiment-improvements.js +7 -7
  45. package/dist/experiments.js +19 -17
  46. package/dist/index.js +60 -35
  47. package/dist/index.js.map +1 -1
  48. package/dist/model-starter-attempts.js +1 -1
  49. package/dist/model-starter-catalog.js +9 -9
  50. package/dist/model-starters.js +9 -9
  51. package/dist/model-taskset-runs.js +2 -2
  52. package/dist/post-training.js +5 -5
  53. package/dist/taskset-drafts.js +117 -72
  54. package/dist/taskset-drafts.js.map +4 -4
  55. package/dist/taskset-packages.js +15 -15
  56. package/dist/training-bundle.js +17 -13
  57. package/dist/training-bundle.js.map +2 -2
  58. package/dist/training.js +7 -7
  59. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +3 -3
  60. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +24 -3
  61. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -1
  62. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +26 -2
  63. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -1
  64. package/dist/types/packages/sdk/src/codex-experiment-runtime.d.ts +17 -0
  65. package/dist/types/packages/sdk/src/codex-experiment-runtime.d.ts.map +1 -0
  66. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts +1 -0
  67. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts.map +1 -1
  68. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +80 -9
  69. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
  70. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts +3 -2
  71. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts.map +1 -1
  72. package/dist/types/packages/sdk/src/connected-evidence.d.ts +3 -0
  73. package/dist/types/packages/sdk/src/connected-evidence.d.ts.map +1 -1
  74. package/dist/types/packages/sdk/src/connected-starting-assets.d.ts +98 -0
  75. package/dist/types/packages/sdk/src/connected-starting-assets.d.ts.map +1 -0
  76. package/dist/types/packages/sdk/src/connected-sync.d.ts +138 -8
  77. package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -1
  78. package/dist/types/packages/sdk/src/dataset-preparation-assembly.d.ts +11 -0
  79. package/dist/types/packages/sdk/src/dataset-preparation-assembly.d.ts.map +1 -0
  80. package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts +1357 -0
  81. package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts.map +1 -0
  82. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +831 -0
  83. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -0
  84. package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts +860 -0
  85. package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts.map +1 -0
  86. package/dist/types/packages/sdk/src/dataset-preparation-qualification-contracts.d.ts +89 -0
  87. package/dist/types/packages/sdk/src/dataset-preparation-qualification-contracts.d.ts.map +1 -0
  88. package/dist/types/packages/sdk/src/dataset-preparation-research-contracts.d.ts +203 -0
  89. package/dist/types/packages/sdk/src/dataset-preparation-research-contracts.d.ts.map +1 -0
  90. package/dist/types/packages/sdk/src/dataset-preparation-starting-state.d.ts +76 -0
  91. package/dist/types/packages/sdk/src/dataset-preparation-starting-state.d.ts.map +1 -0
  92. package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts +630 -0
  93. package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts.map +1 -0
  94. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +58 -14
  95. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  96. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +12 -0
  97. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
  98. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +12 -0
  99. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
  100. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +7 -0
  101. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
  102. package/dist/types/packages/sdk/src/experiment-client.d.ts +88 -11
  103. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  104. package/dist/types/packages/sdk/src/experiment-contracts.d.ts +40 -4
  105. package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
  106. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +71 -7
  107. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -1
  108. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +13 -1
  109. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
  110. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +60 -5
  111. package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
  112. package/dist/types/packages/sdk/src/experiments.d.ts +1 -0
  113. package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
  114. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +1 -1
  115. package/dist/types/packages/sdk/src/learning-batch-assets.d.ts +1 -0
  116. package/dist/types/packages/sdk/src/learning-batch-assets.d.ts.map +1 -1
  117. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +5 -0
  118. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
  119. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +1 -0
  120. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
  121. package/dist/types/packages/sdk/src/model-batch-review.d.ts +7 -4
  122. package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
  123. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +102 -4
  124. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  125. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +9 -0
  126. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
  127. package/dist/types/packages/sdk/src/model-starter-execution.d.ts +4 -0
  128. package/dist/types/packages/sdk/src/model-starter-execution.d.ts.map +1 -1
  129. package/dist/types/packages/sdk/src/model-starters.d.ts +18 -0
  130. package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
  131. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +13 -0
  132. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
  133. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts +4 -0
  134. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts.map +1 -1
  135. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +52 -4
  136. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  137. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +32 -4
  138. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  139. package/dist/types/packages/sdk/src/post-training.d.ts +60 -5
  140. package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
  141. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +19 -4
  142. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -1
  143. package/dist/types/packages/sdk/src/task-design-contracts.d.ts +367 -0
  144. package/dist/types/packages/sdk/src/task-design-contracts.d.ts.map +1 -0
  145. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +6 -0
  146. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -1
  147. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +9 -3
  148. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
  149. package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts.map +1 -1
  150. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts +5 -0
  151. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts.map +1 -1
  152. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +12 -0
  153. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
  154. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +48 -12
  155. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
  156. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +11 -0
  157. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -1
  158. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +7 -0
  159. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
  160. package/dist/types/packages/sdk/src/taskset-draft-files.d.ts.map +1 -1
  161. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +38 -8
  162. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
  163. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +14 -2
  164. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
  165. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +12 -0
  166. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
  167. package/dist/types/packages/sdk/src/taskset-drafts.d.ts +2 -0
  168. package/dist/types/packages/sdk/src/taskset-drafts.d.ts.map +1 -1
  169. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +68 -0
  170. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  171. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +35 -0
  172. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
  173. package/dist/types/packages/sdk/src/taskset-package-files.d.ts.map +1 -1
  174. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +5 -1
  175. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts.map +1 -1
  176. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +10 -4
  177. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
  178. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +34 -12
  179. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
  180. package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
  181. package/dist/types/packages/sdk/src/training-learning-batch.d.ts +26 -6
  182. package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
  183. package/dist/types/packages/sdk/src/training.d.ts +8 -1
  184. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  185. package/package.json +3 -3
  186. package/dist/chunk-4IWDOYKR.js +0 -65
  187. package/dist/chunk-4IWDOYKR.js.map +0 -7
  188. package/dist/chunk-DUJXF7YI.js.map +0 -7
  189. package/dist/chunk-LQ5Q35IF.js.map +0 -7
  190. package/dist/chunk-P3BRSSRD.js.map +0 -7
  191. package/dist/chunk-PXNHL3SH.js.map +0 -7
  192. package/dist/chunk-Z4OLAEPL.js.map +0 -7
  193. /package/dist/{chunk-2G4WBMYI.js.map → chunk-32GJS7FV.js.map} +0 -0
  194. /package/dist/{chunk-YGLTO26A.js.map → chunk-7L4NIEW2.js.map} +0 -0
  195. /package/dist/{chunk-VEU3IXAQ.js.map → chunk-7MISLCN2.js.map} +0 -0
  196. /package/dist/{chunk-WTHJ3H4M.js.map → chunk-7WUJBFCH.js.map} +0 -0
  197. /package/dist/{chunk-PHETIB6R.js.map → chunk-AV5JV26B.js.map} +0 -0
  198. /package/dist/{chunk-Z4JJS6KE.js.map → chunk-B7VYE7YQ.js.map} +0 -0
  199. /package/dist/{chunk-AQGFJLIV.js.map → chunk-BDDT6VN6.js.map} +0 -0
  200. /package/dist/{chunk-PMBBNQ2J.js.map → chunk-D4WTE6ZA.js.map} +0 -0
  201. /package/dist/{chunk-ZOXHSJWU.js.map → chunk-DBRRQASP.js.map} +0 -0
  202. /package/dist/{chunk-FZH2M4G6.js.map → chunk-DG5CRENU.js.map} +0 -0
  203. /package/dist/{chunk-HAOPRFYQ.js.map → chunk-L5PQPAU6.js.map} +0 -0
  204. /package/dist/{chunk-DUPHBKVV.js.map → chunk-LHRHB5EJ.js.map} +0 -0
  205. /package/dist/{chunk-5GMY4TTF.js.map → chunk-OEPYLZXK.js.map} +0 -0
  206. /package/dist/{chunk-XYVPLV6Z.js.map → chunk-TTAFUUHZ.js.map} +0 -0
  207. /package/dist/{chunk-K2OH56BH.js.map → chunk-UVREOAMH.js.map} +0 -0
  208. /package/dist/{chunk-35OVUYPI.js.map → chunk-YSKUXQ2N.js.map} +0 -0
@@ -0,0 +1,181 @@
1
+ import {
2
+ TasksetDraftWorkspaceSchema
3
+ } from "./chunk-WYGBGCRO.js";
4
+ import {
5
+ TasksetCatalogReleaseRefSchema
6
+ } from "./chunk-K3JCP4FO.js";
7
+ import {
8
+ contentHash
9
+ } from "./chunk-COPVBJPL.js";
10
+
11
+ // src/connected-evidence-contracts.ts
12
+ import { z } from "zod";
13
+ import { ConnectedSourceKindSchema, ConnectedBoundarySchema, ConnectedUsageSummarySchema, CONNECTED_EVIDENCE_LIMITS } from "@openpond/evals/connected-evidence";
14
+ var Id = z.string().trim().min(1).max(500);
15
+ var Hash = z.string().regex(/^[a-f0-9]{64}$/);
16
+ var ConnectedScopeSchema = z.object({ teamId: Id, ownerUserId: Id }).strict();
17
+ var ConnectedCaseRefSchema = z.object({ id: Id, snapshotHash: Hash, boundaryId: Id, boundaryRevisionHash: Hash }).strict();
18
+ var ConnectedSourceSummarySchema = z.object({
19
+ sourceId: Id,
20
+ source: ConnectedSourceKindSchema,
21
+ sessionId: Id,
22
+ snapshotHash: Hash,
23
+ title: z.string().max(500),
24
+ projectId: Id.nullable(),
25
+ capturedAt: z.string().datetime(),
26
+ boundaries: z.array(ConnectedBoundarySchema.omit({ start: true, end: true })).max(CONNECTED_EVIDENCE_LIMITS.boundaries)
27
+ }).strict();
28
+ var ConnectedCaptureRequestSchema = z.object({
29
+ operationId: Id,
30
+ conversationId: Id.optional(),
31
+ cursor: Id.optional(),
32
+ limit: z.number().int().min(1).max(50).default(20)
33
+ }).strict();
34
+ var AgentImportUploadRefSchema = z.object({ hash: Hash, parts: z.number().int().min(1).max(1500) }).strict();
35
+ var AgentImportUploadPartSchema = AgentImportUploadRefSchema.extend({ index: z.number().int().nonnegative().max(1499), base64: z.string().max(35e4) }).strict();
36
+ var AgentImportFileSchema = z.object({ path: z.string().min(1).max(500), encoding: z.enum(["utf8", "zstd"]), base64: z.string() }).strict();
37
+ var AgentImportPreviewRequestSchema = z.object({
38
+ upload: AgentImportUploadRefSchema,
39
+ source: z.enum(["codex", "claude_code", "hermes", "openclaw", "opencode", "grok_build", "pi", "oh_my_pi"]),
40
+ branchLeafId: Id.optional(),
41
+ acquisition: z.object({ machineId: Id, sourceInstanceId: Id }).strict().optional(),
42
+ destination: z.discriminatedUnion("kind", [
43
+ z.object({ kind: z.literal("existing"), projectId: Id }).strict(),
44
+ z.object({ kind: z.literal("new"), name: z.string().trim().min(1).max(200) }).strict()
45
+ ])
46
+ }).strict();
47
+ var AgentImportCommitRequestSchema = AgentImportPreviewRequestSchema.extend({
48
+ operationId: Id,
49
+ previewHash: Hash,
50
+ selection: z.array(z.object({ sessionHash: Hash, boundaryIds: z.array(Id).min(1).max(CONNECTED_EVIDENCE_LIMITS.boundaries) }).strict()).min(1).max(CONNECTED_EVIDENCE_LIMITS.sessions)
51
+ }).strict();
52
+ var ConnectedHomeQuerySchema = z.object({ from: z.string().datetime(), to: z.string().datetime(), projectId: Id.optional() }).strict();
53
+ var ConnectedHomeSummarySchema = z.object({
54
+ teamId: Id,
55
+ range: ConnectedHomeQuerySchema,
56
+ activity: z.object({ conversations: z.number().int().nonnegative(), turns: z.number().int().nonnegative(), chatTurns: z.number().int().nonnegative(), workTurns: z.number().int().nonnegative() }).strict(),
57
+ accounting: z.object({ contextSnapshots: z.number().int().nonnegative() }).strict(),
58
+ usage: ConnectedUsageSummarySchema
59
+ }).strict();
60
+
61
+ // src/dataset-workspace-contracts.ts
62
+ import { z as z2 } from "zod";
63
+ var Id2 = z2.string().trim().min(1).max(240);
64
+ var Hash2 = z2.string().regex(/^[a-f0-9]{64}$/);
65
+ var DatasetWorkspaceListQuerySchema = z2.object({ cursor: z2.string().trim().min(1).max(2e3).optional(), projectId: Id2.optional(), search: z2.string().trim().max(100).optional(), sort: z2.enum(["id", "name", "updated"]).default("id"), limit: z2.number().int().min(1).max(100).default(100) }).strict();
66
+ var DatasetWorkspaceWriteSchema = z2.object({
67
+ operationId: Id2,
68
+ expectedRevision: z2.number().int().nonnegative(),
69
+ originProjectId: Id2.optional(),
70
+ workspace: TasksetDraftWorkspaceSchema,
71
+ ownerScope: z2.enum(["workspace", "personal"]).optional()
72
+ }).strict().superRefine((value, ctx) => {
73
+ if (value.workspace.draft.modelScope !== null) ctx.addIssue({ code: "custom", message: "Independent datasets cannot carry Model-owned draft preparation." });
74
+ if (value.workspace.draft.status !== "draft") ctx.addIssue({ code: "custom", message: "Only draft workspaces can be saved." });
75
+ });
76
+ var DatasetWorkspaceReceiptSchema = z2.object({
77
+ schemaVersion: z2.literal("openpond.datasetWorkspaceReceipt.v1"),
78
+ teamId: Id2,
79
+ datasetId: Id2,
80
+ revision: z2.number().int().positive(),
81
+ originProjectId: Id2.optional(),
82
+ workspace: TasksetDraftWorkspaceSchema,
83
+ ownerScope: z2.enum(["workspace", "personal"]).optional(),
84
+ publication: z2.object({ tasksetId: Id2, release: TasksetCatalogReleaseRefSchema, packageHash: Hash2 }).strict().nullable()
85
+ }).strict().superRefine((value, ctx) => {
86
+ if (value.workspace.draft.id !== value.datasetId || value.workspace.draft.profileId !== value.teamId || value.workspace.draft.revision !== value.revision || value.workspace.draft.modelScope !== null) ctx.addIssue({ code: "custom", message: "Dataset workspace scope/revision mismatch." });
87
+ });
88
+ var DatasetWorkspacePublishSchema = z2.object({ operationId: Id2, expectedRevision: z2.number().int().positive(), workspaceHash: Hash2, packageHash: Hash2 }).strict();
89
+ var DatasetWorkspaceBeginVersionSchema = z2.object({ operationId: Id2, expectedRevision: z2.number().int().positive() }).strict();
90
+ var DatasetWorkspaceVersionsSchema = z2.object({ teamId: Id2, datasetId: Id2, items: z2.array(z2.object({
91
+ workspaceRevision: z2.number().int().positive(),
92
+ publication: DatasetWorkspaceReceiptSchema.shape.publication.unwrap(),
93
+ publishedAt: z2.iso.datetime()
94
+ }).strict()).max(25), nextBeforeRevision: z2.number().int().positive().nullable() }).strict();
95
+ var DatasetWorkspaceListSchema = z2.object({ teamId: Id2, datasets: z2.array(z2.object({
96
+ id: Id2,
97
+ revision: z2.number().int().positive(),
98
+ originProjectId: Id2.optional(),
99
+ name: z2.string(),
100
+ status: z2.enum(["draft", "published"]),
101
+ ownerScope: z2.enum(["workspace", "personal"]).optional(),
102
+ taskCount: z2.number().int().nonnegative().optional(),
103
+ publication: DatasetWorkspaceReceiptSchema.shape.publication,
104
+ updatedAt: z2.string().datetime()
105
+ }).strict()).max(100), nextCursor: z2.string().trim().min(1).max(2e3).nullable() }).strict();
106
+ var DatasetWorkspaceValidationSchema = z2.object({ teamId: Id2, datasetId: Id2, revision: z2.number().int().positive(), workspaceHash: Hash2, packageHash: Hash2, release: TasksetCatalogReleaseRefSchema }).strict();
107
+
108
+ // src/connected-starting-assets.ts
109
+ import { z as z3 } from "zod";
110
+ import { ConnectedGitFileProofSchema } from "@openpond/evals/connected-evidence";
111
+ var Id3 = z3.string().trim().min(1).max(240);
112
+ var Hash3 = z3.string().regex(/^[a-f0-9]{64}$/);
113
+ var ConnectedStartingAssetsRequestSchema = z3.object({
114
+ operationId: Id3,
115
+ source: ConnectedCaseRefSchema,
116
+ proofs: z3.array(ConnectedGitFileProofSchema).min(1).max(100)
117
+ }).strict().superRefine((value, ctx) => {
118
+ if (new Set(value.proofs.map((proof) => proof.path)).size !== value.proofs.length)
119
+ ctx.addIssue({ code: "custom", message: "Select each starting path once." });
120
+ if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 15 * 1024 * 1024)
121
+ ctx.addIssue({ code: "custom", message: "Starting assets exceed the retained upload allowance." });
122
+ });
123
+ var ConnectedStartingAssetSchema = z3.object({
124
+ path: ConnectedGitFileProofSchema.shape.path,
125
+ commitHash: z3.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),
126
+ gitObjectHash: z3.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),
127
+ mode: z3.enum(["100644", "100755"]),
128
+ sizeBytes: z3.number().int().nonnegative().max(2 * 1024 * 1024),
129
+ sha256: Hash3
130
+ }).strict();
131
+ var ConnectedStartingAssetsReceiptSchema = z3.object({
132
+ schemaVersion: z3.literal("openpond.connectedStartingAssetsReceipt.v1"),
133
+ id: Id3,
134
+ operationId: Id3,
135
+ teamId: Id3,
136
+ ownerUserId: Id3,
137
+ projectId: Id3,
138
+ requestHash: Hash3,
139
+ source: ConnectedCaseRefSchema,
140
+ inputHash: Hash3,
141
+ observationHash: Hash3,
142
+ assets: z3.array(ConnectedStartingAssetSchema).min(1).max(100),
143
+ selectedPathsUnmodified: z3.literal(true),
144
+ dependencyClosureQualified: z3.literal(false),
145
+ createdAt: z3.iso.datetime(),
146
+ receiptHash: Hash3
147
+ }).strict();
148
+ function verifyConnectedStartingAssetsReceipt(raw) {
149
+ const value = ConnectedStartingAssetsReceiptSchema.parse(raw);
150
+ const { receiptHash, ...body } = value;
151
+ if (contentHash(body) !== receiptHash || value.id !== `starting-assets-${contentHash(value.operationId).slice(0, 40)}` || new Set(value.assets.map((asset) => asset.path)).size !== value.assets.length || value.assets.some((asset) => asset.commitHash !== value.assets[0].commitHash))
152
+ throw new Error("Connected starting assets receipt identity differs from its retained evidence.");
153
+ return value;
154
+ }
155
+
156
+ export {
157
+ ConnectedScopeSchema,
158
+ ConnectedCaseRefSchema,
159
+ ConnectedSourceSummarySchema,
160
+ ConnectedCaptureRequestSchema,
161
+ AgentImportUploadRefSchema,
162
+ AgentImportUploadPartSchema,
163
+ AgentImportFileSchema,
164
+ AgentImportPreviewRequestSchema,
165
+ AgentImportCommitRequestSchema,
166
+ ConnectedHomeQuerySchema,
167
+ ConnectedHomeSummarySchema,
168
+ DatasetWorkspaceListQuerySchema,
169
+ DatasetWorkspaceWriteSchema,
170
+ DatasetWorkspaceReceiptSchema,
171
+ DatasetWorkspacePublishSchema,
172
+ DatasetWorkspaceBeginVersionSchema,
173
+ DatasetWorkspaceVersionsSchema,
174
+ DatasetWorkspaceListSchema,
175
+ DatasetWorkspaceValidationSchema,
176
+ ConnectedStartingAssetsRequestSchema,
177
+ ConnectedStartingAssetSchema,
178
+ ConnectedStartingAssetsReceiptSchema,
179
+ verifyConnectedStartingAssetsReceipt
180
+ };
181
+ //# sourceMappingURL=chunk-SVBV2VEK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/connected-evidence-contracts.ts", "../src/dataset-workspace-contracts.ts", "../src/connected-starting-assets.ts"],
4
+ "sourcesContent": ["import { z } from \"zod\";\nimport { ConnectedSourceKindSchema, ConnectedBoundarySchema, ConnectedUsageSummarySchema, CONNECTED_EVIDENCE_LIMITS } from \"@openpond/evals/connected-evidence\";\n\nconst Id = z.string().trim().min(1).max(500), Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedScopeSchema = z.object({ teamId: Id, ownerUserId: Id }).strict();\nexport const ConnectedCaseRefSchema = z.object({ id: Id, snapshotHash: Hash, boundaryId: Id, boundaryRevisionHash: Hash }).strict();\nexport type ConnectedCaseRef = z.infer<typeof ConnectedCaseRefSchema>;\nexport const ConnectedSourceSummarySchema = z.object({ sourceId: Id, source: ConnectedSourceKindSchema, sessionId: Id,\n snapshotHash: Hash, title: z.string().max(500), projectId: Id.nullable(), capturedAt: z.string().datetime(),\n boundaries: z.array(ConnectedBoundarySchema.omit({ start: true, end: true })).max(CONNECTED_EVIDENCE_LIMITS.boundaries) }).strict();\nexport const ConnectedCaptureRequestSchema = z.object({ operationId: Id, conversationId: Id.optional(),\n cursor: Id.optional(), limit: z.number().int().min(1).max(50).default(20) }).strict();\nexport const AgentImportUploadRefSchema = z.object({ hash: Hash, parts: z.number().int().min(1).max(1_500) }).strict();\nexport const AgentImportUploadPartSchema = AgentImportUploadRefSchema.extend({ index: z.number().int().nonnegative().max(1_499), base64: z.string().max(350_000) }).strict();\nexport const AgentImportFileSchema = z.object({ path: z.string().min(1).max(500), encoding: z.enum([\"utf8\", \"zstd\"]), base64: z.string() }).strict();\nexport const AgentImportPreviewRequestSchema = z.object({ upload: AgentImportUploadRefSchema,\n source: z.enum([\"codex\", \"claude_code\", \"hermes\", \"openclaw\", \"opencode\", \"grok_build\", \"pi\", \"oh_my_pi\"]), branchLeafId: Id.optional(), acquisition: z.object({ machineId: Id, sourceInstanceId: Id }).strict().optional(),\n destination: z.discriminatedUnion(\"kind\", [z.object({ kind: z.literal(\"existing\"), projectId: Id }).strict(),\n z.object({ kind: z.literal(\"new\"), name: z.string().trim().min(1).max(200) }).strict()]) }).strict();\nexport const AgentImportCommitRequestSchema = AgentImportPreviewRequestSchema.extend({ operationId: Id, previewHash: Hash,\n selection: z.array(z.object({ sessionHash: Hash, boundaryIds: z.array(Id).min(1).max(CONNECTED_EVIDENCE_LIMITS.boundaries) }).strict()).min(1).max(CONNECTED_EVIDENCE_LIMITS.sessions) }).strict();\nexport const ConnectedHomeQuerySchema = z.object({ from: z.string().datetime(), to: z.string().datetime(), projectId: Id.optional() }).strict();\nexport const ConnectedHomeSummarySchema = z.object({ teamId: Id, range: ConnectedHomeQuerySchema,\n activity: z.object({ conversations: z.number().int().nonnegative(), turns: z.number().int().nonnegative(), chatTurns: z.number().int().nonnegative(), workTurns: z.number().int().nonnegative() }).strict(),\n accounting: z.object({ contextSnapshots: z.number().int().nonnegative() }).strict(), usage: ConnectedUsageSummarySchema }).strict();\n", "import { z } from \"zod\";\nimport { TasksetDraftWorkspaceSchema } from \"./taskset-draft-workspace.js\";\nimport { TasksetCatalogReleaseRefSchema } from \"./taskset-catalog.js\";\nexport { compileTasksetDraftWorkspace } from \"./taskset-draft-package-compiler.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const DatasetWorkspaceListQuerySchema = z.object({ cursor: z.string().trim().min(1).max(2_000).optional(), projectId: Id.optional(), search: z.string().trim().max(100).optional(), sort: z.enum([\"id\", \"name\", \"updated\"]).default(\"id\"), limit: z.number().int().min(1).max(100).default(100) }).strict();\nexport const DatasetWorkspaceWriteSchema = z.object({\n operationId: Id, expectedRevision: z.number().int().nonnegative(), originProjectId: Id.optional(), workspace: TasksetDraftWorkspaceSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n}).strict().superRefine((value, ctx) => {\n if (value.workspace.draft.modelScope !== null) ctx.addIssue({ code: \"custom\", message: \"Independent datasets cannot carry Model-owned draft preparation.\" });\n if (value.workspace.draft.status !== \"draft\") ctx.addIssue({ code: \"custom\", message: \"Only draft workspaces can be saved.\" });\n});\nexport const DatasetWorkspaceReceiptSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetWorkspaceReceipt.v1\"), teamId: Id, datasetId: Id,\n revision: z.number().int().positive(), originProjectId: Id.optional(), workspace: TasksetDraftWorkspaceSchema,\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n publication: z.object({ tasksetId: Id, release: TasksetCatalogReleaseRefSchema, packageHash: Hash }).strict().nullable(),\n}).strict().superRefine((value, ctx) => {\n if (value.workspace.draft.id !== value.datasetId || value.workspace.draft.profileId !== value.teamId || value.workspace.draft.revision !== value.revision || value.workspace.draft.modelScope !== null) ctx.addIssue({ code: \"custom\", message: \"Dataset workspace scope/revision mismatch.\" });\n});\nexport const DatasetWorkspacePublishSchema = z.object({ operationId: Id, expectedRevision: z.number().int().positive(), workspaceHash: Hash, packageHash: Hash }).strict();\nexport const DatasetWorkspaceBeginVersionSchema = z.object({ operationId: Id, expectedRevision: z.number().int().positive() }).strict();\nexport const DatasetWorkspaceVersionsSchema = z.object({ teamId: Id, datasetId: Id, items: z.array(z.object({\n workspaceRevision: z.number().int().positive(), publication: DatasetWorkspaceReceiptSchema.shape.publication.unwrap(), publishedAt: z.iso.datetime(),\n}).strict()).max(25), nextBeforeRevision: z.number().int().positive().nullable() }).strict();\nexport type DatasetWorkspaceReceipt = z.infer<typeof DatasetWorkspaceReceiptSchema>;\n\nexport const DatasetWorkspaceListSchema = z.object({ teamId: Id, datasets: z.array(z.object({\n id: Id, revision: z.number().int().positive(), originProjectId: Id.optional(), name: z.string(), status: z.enum([\"draft\", \"published\"]),\n ownerScope: z.enum([\"workspace\", \"personal\"]).optional(),\n taskCount: z.number().int().nonnegative().optional(),\n publication: DatasetWorkspaceReceiptSchema.shape.publication, updatedAt: z.string().datetime(),\n}).strict()).max(100), nextCursor: z.string().trim().min(1).max(2_000).nullable() }).strict();\nexport const DatasetWorkspaceValidationSchema = z.object({ teamId: Id, datasetId: Id, revision: z.number().int().positive(), workspaceHash: Hash, packageHash: Hash, release: TasksetCatalogReleaseRefSchema }).strict();\n", "import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { ConnectedGitFileProofSchema } from \"@openpond/evals/connected-evidence\";\nimport { ConnectedCaseRefSchema } from \"./connected-evidence-contracts.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ConnectedStartingAssetsRequestSchema = z.object({\n operationId: Id, source: ConnectedCaseRefSchema,\n proofs: z.array(ConnectedGitFileProofSchema).min(1).max(100),\n}).strict().superRefine((value, ctx) => {\n if (new Set(value.proofs.map(proof => proof.path)).size !== value.proofs.length)\n ctx.addIssue({ code: \"custom\", message: \"Select each starting path once.\" });\n if (new TextEncoder().encode(JSON.stringify(value)).byteLength > 15 * 1024 * 1024)\n ctx.addIssue({ code: \"custom\", message: \"Starting assets exceed the retained upload allowance.\" });\n});\nexport const ConnectedStartingAssetSchema = z.object({\n path: ConnectedGitFileProofSchema.shape.path, commitHash: z.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),\n gitObjectHash: z.string().regex(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/),\n mode: z.enum([\"100644\", \"100755\"]), sizeBytes: z.number().int().nonnegative().max(2 * 1024 * 1024), sha256: Hash,\n}).strict();\nexport const ConnectedStartingAssetsReceiptSchema = z.object({\n schemaVersion: z.literal(\"openpond.connectedStartingAssetsReceipt.v1\"),\n id: Id, operationId: Id, teamId: Id, ownerUserId: Id, projectId: Id,\n requestHash: Hash, source: ConnectedCaseRefSchema, inputHash: Hash, observationHash: Hash,\n assets: z.array(ConnectedStartingAssetSchema).min(1).max(100),\n selectedPathsUnmodified: z.literal(true), dependencyClosureQualified: z.literal(false),\n createdAt: z.iso.datetime(), receiptHash: Hash,\n}).strict();\nexport type ConnectedStartingAssetsRequest = z.infer<typeof ConnectedStartingAssetsRequestSchema>;\nexport type ConnectedStartingAssetsReceipt = z.infer<typeof ConnectedStartingAssetsReceiptSchema>;\nexport function verifyConnectedStartingAssetsReceipt(raw: unknown) {\n const value = ConnectedStartingAssetsReceiptSchema.parse(raw);\n const { receiptHash, ...body } = value;\n if (contentHash(body) !== receiptHash || value.id !== `starting-assets-${contentHash(value.operationId).slice(0, 40)}`\n || new Set(value.assets.map(asset => asset.path)).size !== value.assets.length\n || value.assets.some(asset => asset.commitHash !== value.assets[0]!.commitHash))\n throw new Error(\"Connected starting assets receipt identity differs from its retained evidence.\");\n return value;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["z", "Id", "z", "Hash", "z", "Id", "z", "Hash"]
7
+ }
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  TrainingHandoffOriginSchema,
3
3
  createPostTrainingClient
4
- } from "./chunk-5GMY4TTF.js";
4
+ } from "./chunk-OEPYLZXK.js";
5
5
  import {
6
6
  validateHarnessSourcePackage
7
- } from "./chunk-JOKRT4CK.js";
7
+ } from "./chunk-KV6JXPQH.js";
8
8
  import {
9
9
  ModelProjectBaseModelSchema,
10
10
  ModelProjectImmutableRefSchema,
@@ -1074,4 +1074,4 @@ export {
1074
1074
  TrainingCapabilitiesSchema,
1075
1075
  createTrainingClient
1076
1076
  };
1077
- //# sourceMappingURL=chunk-XYVPLV6Z.js.map
1077
+ //# sourceMappingURL=chunk-TTAFUUHZ.js.map
@@ -7,10 +7,10 @@ import {
7
7
  importedPackageGraders,
8
8
  learningVerifierModule,
9
9
  projectLearningBatchGraders
10
- } from "./chunk-VEU3IXAQ.js";
10
+ } from "./chunk-7MISLCN2.js";
11
11
  import {
12
12
  AuthoredTasksetFileInventorySchema
13
- } from "./chunk-AQGFJLIV.js";
13
+ } from "./chunk-BDDT6VN6.js";
14
14
  import {
15
15
  TasksetDraftSchema,
16
16
  configuredTasksetDraftFiles,
@@ -18,11 +18,11 @@ import {
18
18
  createTasksetDraftWorkspace,
19
19
  decodeTasksetDraftWorkspaceFile,
20
20
  isManagedTasksetDraftFilePath
21
- } from "./chunk-LQ5Q35IF.js";
21
+ } from "./chunk-WYGBGCRO.js";
22
22
  import {
23
23
  TasksetSchema,
24
24
  computeTasksetHash
25
- } from "./chunk-FDHIL2CV.js";
25
+ } from "./chunk-X6J3VVYC.js";
26
26
  import {
27
27
  GraderFixtureSchema,
28
28
  TasksetEnvironmentResourceSchema,
@@ -33,7 +33,7 @@ import {
33
33
  resolveTasksetPackageExecution,
34
34
  resolveTasksetPackageInstructions,
35
35
  validateTasksetPackage
36
- } from "./chunk-Z4OLAEPL.js";
36
+ } from "./chunk-644E3NM2.js";
37
37
  import {
38
38
  ModelTasksetDraftPreparationSchema,
39
39
  TasksetDraftFilePathSchema
@@ -346,6 +346,7 @@ async function readReceipt(transaction, request, pointers) {
346
346
  }
347
347
 
348
348
  // src/taskset-package-projection.ts
349
+ import { z } from "zod";
349
350
  import { learningRef as learningRef4, taskBatchPackageMetadata as taskBatchPackageMetadata3, verifyLearningTextAsset as verifyLearningTextAsset2 } from "@openpond/evals/learning";
350
351
  function prepareImportedTasksetPackage(input) {
351
352
  const value = validateTasksetPackage(input.package);
@@ -382,6 +383,7 @@ function prepareImportedTasksetPackage(input) {
382
383
  const authoring = release.metadata.ordinaryAuthoring ?? release.metadata.starterAuthoring;
383
384
  const fixtures = GraderFixtureSchema.array().max(1e5).parse(authoring?.graderFixtures ?? []);
384
385
  const kind = release.environment.kind === "text" ? "chat" : release.environment.kind === "custom_program" ? "program" : release.environment.kind;
386
+ const stagingPaths = z.record(z.string(), z.record(z.string(), z.string())).parse(release.metadata.workAssetStagingPaths ?? {});
385
387
  const projected = TasksetSchema.parse({
386
388
  schemaVersion: "openpond.taskset.v1",
387
389
  id: release.id,
@@ -429,6 +431,7 @@ function prepareImportedTasksetPackage(input) {
429
431
  sourceRefId: source.id,
430
432
  artifactRef: asset.path,
431
433
  fileName: asset.path.split("/").at(-1),
434
+ ...stagingPaths[task.id]?.[asset.id] ? { stagingPath: stagingPaths[task.id][asset.id] } : {},
432
435
  mediaType: asset.mediaType,
433
436
  sha256: asset.contentHash,
434
437
  sizeBytes: asset.sizeBytes,
@@ -486,11 +489,11 @@ function tasksetPackageSourceId(profileId, packageHash) {
486
489
  }
487
490
 
488
491
  // src/taskset-draft-source.ts
489
- import { z } from "zod";
492
+ import { z as z2 } from "zod";
490
493
  import { learningRef as learningRef5, sameLearningRef as sameLearningRef3 } from "@openpond/evals/learning";
491
- var TasksetDraftSourceInitializationSchema = z.object({
494
+ var TasksetDraftSourceInitializationSchema = z2.object({
492
495
  draft: TasksetDraftSchema,
493
- filePaths: z.array(z.object({ assetId: z.string().min(1), paths: z.array(TasksetDraftFilePathSchema).min(1).max(1e4) }).strict()).max(1e4)
496
+ filePaths: z2.array(z2.object({ assetId: z2.string().min(1), paths: z2.array(TasksetDraftFilePathSchema).min(1).max(1e4) }).strict()).max(1e4)
494
497
  }).strict();
495
498
  function prepareTasksetDraftSource(input) {
496
499
  const source = validateTasksetPackage(input.source);
@@ -585,4 +588,4 @@ export {
585
588
  prepareTasksetDraftSource,
586
589
  materializeTasksetDraftWorkspace
587
590
  };
588
- //# sourceMappingURL=chunk-2DLFHAGW.js.map
591
+ //# sourceMappingURL=chunk-UK2KWJIQ.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/model-ordinary-taskset-reward.ts", "../src/model-batch-review.ts", "../src/model-batch-review-preparation.ts", "../src/taskset-package-projection.ts", "../src/taskset-draft-source.ts"],
4
- "sourcesContent": ["import { LearningTextAssetSchema, TaskDefinitionSchema, learningRef, sealLearningContent, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport type { RewardBinding, RewardRelease } from \"@openpond/evals/rewards\";\nimport { compileModelTasksetReward } from \"./model-taskset-derivation.js\";\nimport { createTasksetPackage, resolveTasksetPackageInstructions, validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { decodeTasksetPackageFile } from \"./taskset-package-files.js\";\nimport { resolveTasksetPackageExecution } from \"./taskset-package-execution.js\";\n\n/** Bind a saved Reward without rewriting task envelopes, private context, tools\n * or arbitrary binary files. Compatibility is admission, not qualification. */\nexport function bindOrdinaryModelTasksetReward(input: {\n owner: { scopeId: string; modelId: string };\n source: TasksetPackage;\n rewardBinding: RewardBinding;\n rewards: RewardRelease[];\n assets: LearningTextAsset[];\n}): TasksetPackage {\n const source = validateTasksetPackage(input.source);\n if (source.modelResources || source.learningResources) throw new Error(\"Binding an ordinary Reward requires an ordinary source package.\");\n const instructions = resolveTasksetPackageInstructions(source);\n if (!instructions.trim()) throw new Error(\"Add collection instructions before selecting a saved Reward.\");\n const assets = new Map<string, LearningTextAsset>();\n const execution = resolveTasksetPackageExecution(source);\n for (const asset of execution?.assets ?? []) assets.set(asset.id, asset);\n const contextIds = new Set([\n ...source.taskset.tasks.flatMap(task => task.privilegedContextRef ? [task.privilegedContextRef] : []),\n ...[source.environment.actionSchemaRef, source.environment.observationSchemaRef, source.environment.stateSchemaRef].flatMap(ref => ref ? [ref.id] : []),\n ]);\n for (const id of contextIds) {\n if (assets.has(id)) continue;\n const file = source.files.find(file => file.asset.id === id);\n if (!file) throw new Error(`Source Taskset context is missing: ${id}.`);\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(decodeTasksetPackageFile(file));\n assets.set(id, LearningTextAssetSchema.parse(sealLearningContent({ schemaVersion: \"openpond.learningTextAsset.v1\", id, revision: 1, asset: file.asset, text })));\n }\n for (const asset of input.assets) {\n const original = source.files.find(file => file.asset.id === asset.id);\n if (original && sealLearningContent({ asset: original.asset }).contentHash !== sealLearningContent({ asset: asset.asset }).contentHash) throw new Error(`Selected Reward conflicts with a source asset: ${asset.id}.`);\n assets.set(asset.id, asset);\n }\n const { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease } = source.taskset;\n const taskDefinition = TaskDefinitionSchema.parse(sealLearningContent({\n schemaVersion: \"openpond.taskDefinition.v1\", id: `${source.taskset.id}-definition`, revision: 1,\n name: source.taskset.id, description: \"\", instructions, category: \"custom\", familyNamespace: source.taskset.id,\n inputSchema: { type: \"object\" }, outputSchema: { type: \"object\" },\n rewardBinding: learningRef(input.rewardBinding), harness: null,\n execution: { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease },\n }));\n const derived = compileModelTasksetReward({ ...input, assets: [...assets.values()], source: {\n taskset: source.taskset, taskDefinition, instructionMode: \"per_task\",\n executionResources: { environment: source.environment, verifierSet: source.verifierSet },\n ...(execution ? { execution: execution.execution } : {}),\n } });\n const files = new Map(source.files.map(file => [file.asset.id, file]));\n for (const asset of derived.assets) {\n let raw = \"\";\n for (const byte of new TextEncoder().encode(asset.text)) raw += String.fromCharCode(byte);\n files.set(asset.id, { asset: asset.asset, base64: btoa(raw) });\n }\n const { taskset, executionResources, ...modelResources } = derived;\n return createTasksetPackage({ schemaVersion: \"openpond.tasksetPackage.v1\", taskset, ...executionResources!, modelResources, files: [...files.values()] });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { LearningDomainError, learningRef, sameLearningRef, requireLearningRelease, requireLearningResource, taskBatchPackageMetadata,\n type LearningResourcePointer, type LearningTransaction } from \"@openpond/evals/learning\";\nimport { validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { ModelBatchReviewInspectionSchema, ModelBatchReviewReceiptSchema, ModelBatchReviewRequestSchema, type ModelBatchReviewRequest } from \"./model-batch-review-contracts.js\";\nimport { prepareModelBatchReview } from \"./model-batch-review-preparation.js\";\n\nexport * from \"./model-batch-review-contracts.js\";\nexport { LearningDomainError as ModelBatchReviewError } from \"@openpond/evals/learning\";\n\nconst operation = (request: ModelBatchReviewRequest) => `model-batch-review-${contentHash([request.modelId, request.operationId])}`;\n\nexport function inspectModelBatchPackage(raw: unknown) {\n const value = validateTasksetPackage(raw);\n if (!value.learningResources) throw new LearningDomainError(\"model_review_batch_required\", 422);\n const metadata = taskBatchPackageMetadata(value.taskset);\n return ModelBatchReviewInspectionSchema.parse({ schemaVersion: \"openpond.modelBatchReviewInspection.v1\", packageHash: value.contentHash,\n definition: metadata.definition, binding: metadata.binding, evidence: value.learningResources.evidence, decisions: value.learningResources.decisions });\n}\n\nexport async function findModelBatchReview(transaction: LearningTransaction, raw: ModelBatchReviewRequest) {\n const request = ModelBatchReviewRequestSchema.parse(raw);\n const prior = await transaction.operation(operation(request));\n if (!prior) return null;\n if (prior.requestHash !== contentHash(request)) throw new LearningDomainError(\"learning_idempotency_conflict\", 409);\n return readReceipt(transaction, request, prior.resources);\n}\n\n/** Run inside the host's scope/Model revision transaction after verifying the\n * selected source package. This publishes new editable evidence, never a Model\n * attachment, admission, source credential, grade, or training job. */\nexport async function beginModelBatchReview(transaction: LearningTransaction, input: {\n scope: string; request: ModelBatchReviewRequest; package: TasksetPackage; now: string;\n}) {\n const request = ModelBatchReviewRequestSchema.parse(input.request);\n const prior = await findModelBatchReview(transaction, request);\n if (prior) return prior;\n const value = validateTasksetPackage(input.package);\n if (!value.learningResources) throw new LearningDomainError(\"model_review_batch_required\", 422);\n const metadata = taskBatchPackageMetadata(value.taskset);\n const selected = request.rewardBindingRef;\n const retained = !selected || sameLearningRef(selected, learningRef(metadata.binding));\n const binding = retained ? metadata.binding : await requireLearningRelease(transaction, \"binding\", selected);\n const rewards = retained ? metadata.rewards : await Promise.all(binding.sources.map(source => requireLearningRelease(transaction, \"reward\", source.reward)));\n const assetIds = new Set(rewards.flatMap(reward => [...reward.assets,\n ...(\"verifierRef\" in reward.implementation ? [reward.implementation.verifierRef] : []),\n ...(\"rubricRef\" in reward.implementation ? [reward.implementation.rubricRef] : []),\n ...(\"inputContract\" in reward.implementation ? [reward.implementation.inputContract] : []),\n ]).map(asset => asset.id));\n const assets = retained ? value.learningResources.assets : await Promise.all([...assetIds].map(id => requireLearningResource(transaction, \"asset\", id, 1)));\n const prepared = prepareModelBatchReview({ ...input, request, package: value, binding, rewards, assets });\n const pointers: LearningResourcePointer[] = [];\n for (const asset of prepared.assets) {\n const existing = await transaction.get(\"asset\", asset.id, 1);\n if (existing && existing.contentHash !== asset.contentHash) throw new LearningDomainError(\"model_review_asset_conflict\", 409);\n if (!existing) await transaction.put(\"asset\", asset, 0);\n }\n for (const reward of prepared.rewards) await transaction.put(\"reward\", reward, 0);\n await transaction.put(\"binding\", prepared.binding, 0);\n await transaction.put(\"definition\", prepared.definition, 0);\n await transaction.put(\"source\", prepared.source, 0, { parentId: request.modelId });\n pointers.push({ kind: \"source\", id: prepared.source.id, revision: 1 });\n for (const evidence of prepared.evidence) {\n await transaction.put(\"evidence\", evidence, 0, { parentId: prepared.source.id });\n pointers.push({ kind: \"evidence\", id: evidence.id, revision: 1 });\n }\n for (const proposal of prepared.proposals) {\n await transaction.put(\"feedback\", proposal, 0, { parentId: proposal.evidence!.id, status: proposal.status });\n pointers.push({ kind: \"feedback\", id: proposal.id, revision: 1 });\n }\n await transaction.saveOperation(operation(request), { requestHash: contentHash(request), resources: pointers });\n return readReceipt(transaction, request, pointers);\n}\n\nasync function readReceipt(transaction: LearningTransaction, request: ModelBatchReviewRequest, pointers: LearningResourcePointer[]) {\n const resources = await Promise.all(pointers.map(pointer => requireLearningResource(transaction, pointer.kind, pointer.id, pointer.revision)));\n return ModelBatchReviewReceiptSchema.parse({ schemaVersion: \"openpond.modelBatchReviewReceipt.v1\", operationId: request.operationId,\n modelId: request.modelId, source: resources.find(resource => resource.schemaVersion === \"openpond.learningSource.v1\"),\n evidence: resources.filter(resource => resource.schemaVersion === \"openpond.taskEvidence.v1\"),\n proposals: resources.filter(resource => resource.schemaVersion === \"openpond.taskFeedbackRecord.v1\"),\n });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { LearningDomainError, LearningSourceSchema, TaskDefinitionSchema, TaskEvidenceSchema, TaskFeedbackSchema,\n assertLearningContentHash, learningEvidenceId, learningRef, sameLearningRef, sealLearningContent,\n taskBatchPackageMetadata, verifyLearningTextAsset, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport { compileBoundGraders, createRewardBinding, createRewardRelease, resolveBoundRewards, type RewardBinding, type RewardRelease } from \"@openpond/evals/rewards\";\nimport type { TasksetPackage } from \"./taskset-package-contracts.js\";\nimport type { ModelBatchReviewRequest } from \"./model-batch-review-contracts.js\";\n\n/** Hosts supply the authorized package and selected Reward graph. Only this\n * new namespace becomes editable; parent sources and decisions are not copied. */\nexport function prepareModelBatchReview(input: {\n scope: string; request: ModelBatchReviewRequest; package: TasksetPackage; now: string;\n binding: RewardBinding; rewards: RewardRelease[]; assets: LearningTextAsset[];\n}) {\n const { request, package: value } = input;\n const learning = value.learningResources;\n if (!learning) throw new LearningDomainError(\"model_review_batch_required\", 422);\n const metadata = taskBatchPackageMetadata(value.taskset);\n const id = `model-review-${contentHash([input.scope, request.modelId, request.operationId])}`;\n const edits = new Map(request.examples.map(edit => [contentHash(edit.evidence), edit]));\n const parentRefs = new Set(learning.evidence.map(evidence => contentHash(learningRef(evidence))));\n const decisions = new Map(learning.decisions.map(decision => [contentHash(decision.evidence), decision]));\n if (edits.size !== request.examples.length || request.examples.some(edit => !parentRefs.has(contentHash(edit.evidence)))) {\n throw new LearningDomainError(\"model_review_evidence_mismatch\", 409);\n }\n for (const resource of [input.binding, ...input.rewards, ...input.assets]) assertLearningContentHash(resource);\n resolveBoundRewards(input.binding, input.rewards);\n const rewardByHash = new Map<string, RewardRelease>();\n for (const source of input.binding.sources) {\n const original = input.rewards.find(reward => sameLearningRef(learningRef(reward), source.reward))!;\n const { contentHash: _hash, ...content } = original;\n rewardByHash.set(original.contentHash, createRewardRelease({ ...content, id: `${id}-reward-${original.contentHash}`, revision: 1 }));\n }\n const rewards = [...rewardByHash.values()];\n const { contentHash: _bindingHash, recipeRef: _recipe, ...bindingContent } = input.binding;\n const binding = createRewardBinding({ ...bindingContent, id: `${id}-binding`, revision: 1,\n sources: input.binding.sources.map(source => ({ ...source, reward: learningRef(rewardByHash.get(source.reward.contentHash)!) })),\n }, rewards);\n const assetRefs = rewards.flatMap(reward => [...reward.assets,\n ...(\"verifierRef\" in reward.implementation ? [reward.implementation.verifierRef] : []),\n ...(\"rubricRef\" in reward.implementation ? [reward.implementation.rubricRef] : []),\n ...(\"inputContract\" in reward.implementation ? [reward.implementation.inputContract] : []),\n ]);\n const assets = [...new Map(assetRefs.map(ref => {\n const asset = input.assets.find(asset => asset.id === ref.id);\n if (!asset) throw new LearningDomainError(\"model_review_reward_asset_missing\", 422);\n verifyLearningTextAsset(asset, ref);\n if (ref.visibility === \"policy\") throw new LearningDomainError(\"reward_asset_visibility_invalid\", 422);\n return [asset.id, asset] as const;\n })).values()];\n // New graders invalidate the parent's verifier-set identity. Preparation of\n // the newly sealed batch will bind its own exact execution releases.\n const { environmentRelease: _environment, verifierSetRelease: _verifiers, ...execution } = metadata.definition.execution;\n const { contentHash: _definitionHash, ...definitionContent } = metadata.definition;\n const definition = TaskDefinitionSchema.parse(sealLearningContent({ ...definitionContent, ...request.definition,\n id: `${id}-definition`, revision: 1, rewardBinding: learningRef(binding), execution: { ...execution,\n policy: { ...execution.policy, hiddenGraderRefs: compileBoundGraders(binding, rewards).filter(grader => grader.privileged).map(grader => grader.id) },\n },\n }));\n const source = LearningSourceSchema.parse(sealLearningContent({\n schemaVersion: \"openpond.learningSource.v1\", id, revision: 1, name: `${definition.name} review`, kind: \"direct\",\n taskDefinition: learningRef(definition), enabled: true, allowedSplits: [...new Set(learning.evidence.map(item => item.submission.split))],\n mapping: null, adapterVersion: null, reviewOrigin: { modelId: request.modelId, packageHash: value.contentHash,\n taskset: learningRef(value.taskset), batch: learningRef(learning.batch), rewardBinding: learningRef(input.binding) },\n }));\n const evidence = learning.evidence.map(parent => {\n const edit = edits.get(contentHash(learningRef(parent)));\n // Example/attempt IDs are unique within the original source, not across\n // all sources in a batch. Preserve both parents when merging namespaces.\n const attemptId = `review-${parent.contentHash}`;\n const policyChanged = contentHash({ instructions: definition.instructions, inputSchema: definition.inputSchema, outputSchema: definition.outputSchema, requiredOutputs: definition.requiredOutputs ?? [],\n input: edit?.input ?? parent.submission.input }) !== contentHash({ instructions: metadata.definition.instructions,\n inputSchema: metadata.definition.inputSchema, outputSchema: metadata.definition.outputSchema, requiredOutputs: metadata.definition.requiredOutputs ?? [], input: parent.submission.input });\n return TaskEvidenceSchema.parse(sealLearningContent({\n schemaVersion: \"openpond.taskEvidence.v1\", id: learningEvidenceId(source.id, parent.submission.exampleId, attemptId), revision: 1,\n source: learningRef(source), submission: { ...parent.submission, sourceId: source.id, taskDefinition: learningRef(definition),\n attemptId,\n // The old response was observed under the old policy-visible task. Its\n // parent snapshot remains available, but it is not a run of new inputs.\n observedOutput: policyChanged ? null : parent.submission.observedOutput,\n idempotencyKey: `${id}-${parent.contentHash}`, ...(edit?.input === undefined ? {} : { input: edit.input }),\n ...(edit?.expected === undefined ? {} : { expected: edit.expected }),\n ...(edit?.evaluatorContext === undefined ? {} : { evaluatorContext: edit.evaluatorContext }),\n }, supersedes: learningRef(parent), correctionFeedbackId: null, receivedAt: input.now,\n }));\n });\n const proposals = evidence.flatMap(item => {\n const edit = edits.get(contentHash(item.supersedes));\n const decision = decisions.get(contentHash(item.supersedes))!;\n const target = edit?.proposedTarget === undefined ? decision.approvedTarget : edit.proposedTarget;\n return target === null ? [] : [TaskFeedbackSchema.parse({\n schemaVersion: \"openpond.taskFeedbackRecord.v1\", id: `feedback-${contentHash([id, item.id])}`, revision: 1,\n submission: { schemaVersion: \"openpond.taskFeedback.v1\", sourceId: source.id, idempotencyKey: `${id}-${item.id}`,\n exampleId: item.submission.exampleId, attemptId: item.submission.attemptId, expectedEvidenceHash: item.contentHash,\n occurredAt: input.now, kind: \"target_correction\", value: target, note: \"Proposed target for the revised task. Grade and review before admission.\" },\n status: \"pending_review\", evidence: learningRef(item), createdAt: input.now, review: null,\n })];\n });\n return { source, definition, binding, rewards, assets, evidence, proposals };\n}\n", "import { GraderFixtureSchema, TasksetEnvironmentResourceSchema, TasksetSourceRefSchema } from \"./taskset-draft-core.js\";\nimport { TasksetSchema, type GeneratedTaskFile } from \"./taskset-authored-contracts.js\";\nimport { contentHash } from \"@openpond/harness\";\nimport { learningRef, taskBatchPackageMetadata, verifyLearningTextAsset } from \"@openpond/evals/learning\";\nimport { computeTasksetHash } from \"./taskset-authored-validation.js\";\nimport { createTasksetDraft } from \"./taskset-draft-authoring.js\";\nimport { learningVerifierModule, projectLearningBatchGraders, importedPackageGraders } from \"./taskset-package-grader-projection.js\";\nimport { decodeTasksetPackageFile, resolveTasksetPackageInstructions, validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\n\n/** Local identity includes Profile and provenance; portable identity stays in\n * the receipt. Downloading does not approve targets, privacy or licensing. */\nexport function prepareImportedTasksetPackage(input: {\n package: TasksetPackage; profileId: string; name: string; createdAt: string;\n}) {\n const value = validateTasksetPackage(input.package);\n const release = value.taskset;\n const resources = value.modelResources;\n const learning = value.learningResources ? taskBatchPackageMetadata(release) : undefined;\n const source = TasksetSourceRefSchema.parse({\n schemaVersion: \"openpond.uploadedFileDatasetSource.v1\", kind: \"uploaded_file\",\n id: `package-source-${contentHash({ profileId: input.profileId, packageHash: value.contentHash })}`,\n profileId: input.profileId, title: input.name, sourceHash: value.contentHash, occurredAt: input.createdAt,\n licensingStatus: \"pending\", secretScanStatus: \"pending\", piiScanStatus: \"pending\",\n originalFileNames: [\"taskset-package.json\"], mediaTypes: [\"application/json\"], sourceFileHashes: [value.contentHash],\n totalBytes: new TextEncoder().encode(JSON.stringify(value)).byteLength, parserVersion: \"openpond.tasksetPackage.v1\", metadata: {},\n });\n const draft = createTasksetDraft({ profileId: input.profileId, id: `${release.id}-import`, name: input.name, now: input.createdAt });\n const files: GeneratedTaskFile[] = [];\n for (const grader of release.graders) if (grader.kind === \"custom_verifier\") {\n const asset = resources?.assets.find(asset => asset.id === grader.verifierRef.id);\n const file = value.files.find(file => file.asset.id === grader.verifierRef.id);\n if (!file) throw new Error(`Imported verifier source is missing: ${grader.id}.`);\n const name = learningVerifierModule(grader.verifierRef.contentHash);\n if (!files.some(file => file.path === name)) files.push({ path: name, role: \"verifier\", content: asset ? verifyLearningTextAsset(asset, grader.verifierRef) : new TextDecoder(\"utf-8\", { fatal: true }).decode(decodeTasksetPackageFile(file)) });\n }\n const authoring = (release.metadata.ordinaryAuthoring ?? release.metadata.starterAuthoring) as { graderFixtures?: unknown } | undefined;\n const fixtures = GraderFixtureSchema.array().max(100_000).parse(authoring?.graderFixtures ?? []);\n const kind = release.environment.kind === \"text\" ? \"chat\" : release.environment.kind === \"custom_program\" ? \"program\" : release.environment.kind;\n const projected = TasksetSchema.parse({\n schemaVersion: \"openpond.taskset.v1\", id: release.id, revision: release.revision,\n profileId: input.profileId, profileRelease: null, createImproveRunId: null,\n name: input.name, objective: resolveTasksetPackageInstructions(value), status: \"needs_review\",\n sourceRefs: [source], datasetArtifact: null, policy: release.policy,\n environment: { ...draft.environment, kind, entrypoint: release.environment.entrypoint,\n resources: TasksetEnvironmentResourceSchema.array().max(10_000).parse(release.metadata.environmentResources ?? []),\n stateful: release.environment.stateful, deterministicSeeds: release.environment.deterministicSeeds,\n toolNames: release.tools.map(tool => tool.name), defaultTimeoutMs: release.environment.defaultTimeoutMs,\n networkPolicy: release.environment.networkPolicy, metadata: {\n runtimeSourceTasksetId: tasksetPackageSourceId(input.profileId, value.contentHash),\n portableEnvironment: release.environment, portableTools: release.tools,\n portableExecutionResources: { environment: value.environment, verifierSet: value.verifierSet },\n } },\n capabilities: { ...draft.capabilities, taskKind: kind === \"chat\" ? \"chat\" : kind === \"program\" ? \"custom_program\" : \"single_agent\",\n compatibleMethods: [\"none\"], requiresTools: release.tools.length > 0, requiresState: release.environment.stateful,\n rewardKinds: [...new Set(release.graders.map(grader => grader.kind === \"human\" ? \"human\" : grader.kind === \"model_judge\" ? \"model_judge\" : \"deterministic\"))],\n },\n tasks: release.tasks.map(task => ({ ...task, schemaVersion: \"openpond.taskData.v1\", sourceRefs: [source.id],\n assets: task.artifactRefs.map(asset => ({ id: asset.id, sourceRefId: source.id, artifactRef: asset.path,\n fileName: asset.path.split(\"/\").at(-1)!, mediaType: asset.mediaType, sha256: asset.contentHash,\n sizeBytes: asset.sizeBytes, split: task.split, metadata: { portableAsset: asset } })),\n ...(task.requiredOutputs ? { requiredOutputs: task.requiredOutputs.map(output => ({ ...output,\n schemaRef: output.schemaRef?.id ?? null, maxBytes: output.maxBytes ?? undefined })) } : {}),\n metadata: { portableTaskRecord: task, exampleOrigin: \"imported\" },\n })),\n graders: resources ? projectLearningBatchGraders(resources.rewardBinding, resources.rewards, resources.assets)\n : learning ? projectLearningBatchGraders(learning.binding, learning.rewards, value.learningResources!.assets) : importedPackageGraders(value),\n graderFixtures: fixtures, learningSignals: draft.learningSignals,\n ...(release.metrics ? { metrics: release.metrics } : {}),\n authoringProvenance: { schemaVersion: \"openpond.taskAuthoringProvenance.v1\", model: null, modelConfig: {},\n skillHash: contentHash(\"openpond-package-import-v1\"), promptTemplateVersion: \"package-import-v1\", buildIntent: \"discovery\",\n buildSpecification: null, evidenceHashes: [value.contentHash], tasksetSdkVersion: \"package-import-v1\",\n sourceCommit: null, repairHistory: [], createdAt: input.createdAt },\n readiness: null, contentHash: \"00000000\", createdAt: input.createdAt, updatedAt: input.createdAt,\n metadata: { importedPackageHash: value.contentHash,\n tasksetOutputContract: release.metadata.tasksetOutputContract ?? null,\n ...(learning ? { learning } : {}),\n portableFileInventory: value.files.map(file => ({ asset: file.asset, sourcePath: file.asset.path })),\n ...(resources ? { taskDefinition: learningRef(resources.taskDefinition),\n rewardBinding: learningRef(resources.rewardBinding), rewardExecution: { binding: resources.rewardBinding, rewards: resources.rewards } } : {}),\n portableCapabilities: release.capabilities, derivedPortableMetadata: release.metadata,\n ...(release.metadata.modelTasksetDerivation ? { modelTasksetDerivation: release.metadata.modelTasksetDerivation } : {}),\n },\n });\n return { package: value, taskset: TasksetSchema.parse({ ...projected, contentHash: computeTasksetHash(projected) }), generatedFiles: files };\n}\n\nexport type PreparedImportedTasksetPackage = ReturnType<typeof prepareImportedTasksetPackage> & { reuseExisting?: boolean };\n\n/** Stable source identity; it is never an authorization or object-store pointer. */\nexport function tasksetPackageSourceId(profileId: string, packageHash: string): string {\n return `package-${contentHash({ profileId, packageHash })}`;\n}\n", "import { z } from \"zod\";\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { learningRef, sameLearningRef } from \"@openpond/evals/learning\";\nimport { ModelTasksetDraftPreparationSchema, TasksetDraftFilePathSchema, type ModelTasksetDraftPreparation } from \"./model-taskset-authoring-contracts.js\";\nimport { TasksetDraftSchema, type TasksetDraft } from \"./taskset-draft-document.js\";\nimport { AuthoredTasksetFileInventorySchema } from \"./taskset-authored-files.js\";\nimport { validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { isManagedTasksetDraftFilePath } from \"./taskset-draft-files.js\";\nimport { configuredTasksetDraftFiles } from \"./taskset-draft-manifests.js\";\nimport { createTasksetDraftWorkspace, decodeTasksetDraftWorkspaceFile, type TasksetDraftWorkspaceFile } from \"./taskset-draft-workspace.js\";\n\nexport const TasksetDraftSourceInitializationSchema = z.object({\n draft: TasksetDraftSchema,\n filePaths: z.array(z.object({ assetId: z.string().min(1), paths: z.array(TasksetDraftFilePathSchema).min(1).max(10_000) }).strict()).max(10_000),\n}).strict();\nexport type TasksetDraftSourceInitialization = z.infer<typeof TasksetDraftSourceInitializationSchema>;\n\n/** Hosts authorize the source projection and retain this result before writes.\n * Ownership comes from preparation, never from editable projection metadata. */\nexport function prepareTasksetDraftSource(input: { sourceDraft: TasksetDraft; source: TasksetPackage; preparation: ModelTasksetDraftPreparation; expectedModelRevision: number }): TasksetDraftSourceInitialization {\n const source = validateTasksetPackage(input.source);\n const original = TasksetDraftSchema.parse(input.sourceDraft);\n const preparation = ModelTasksetDraftPreparationSchema.parse(input.preparation);\n if (source.contentHash !== preparation.sourcePackageHash || !sameLearningRef(learningRef(source.taskset), preparation.sourceTasksetRef)) throw new Error(\"Taskset draft preparation differs from its source package.\");\n if (source.learningResources) throw new Error(\"Reviewed Tasksets require their reviewed authoring workflow.\");\n if (Boolean(source.modelResources) !== (preparation.authoringGraph === \"bound\")) throw new Error(\"Taskset draft authoring graph differs from its source.\");\n const inventory = AuthoredTasksetFileInventorySchema.parse(original.metadata.portableFileInventory ?? []);\n const sourcePath = (relative: string) => isManagedTasksetDraftFilePath(relative)\n ? `source-artifacts/${source.contentHash}/${contentHash(relative)}/${relative.split(\"/\").at(-1)!}` : relative;\n const references = [...original.tasks.flatMap(task => (task.assets ?? []).map(asset => asset.artifactRef)),\n ...(original.environment.resources ?? []).map(resource => resource.path),\n ...source.taskset.tasks.flatMap(task => (task.requiredOutputs ?? []).flatMap(output => output.schemaRef ? [output.schemaRef.path] : [])),\n ...(original.metrics.customAggregator ? [original.metrics.customAggregator.module] : []),\n ...original.graders.flatMap(grader => grader.kind === \"custom_verifier\" ? [grader.module] : [])];\n if (references.some(isManagedTasksetDraftFilePath)) throw new Error(\"A referenced source asset occupies a reserved Taskset authoring path.\");\n const filePaths = source.files.map(file => {\n const paths = new Set([file.asset.path]);\n for (const entry of inventory) if (entry.asset.id === file.asset.id) paths.add(entry.sourcePath);\n for (const task of original.tasks) for (const asset of task.assets ?? []) if (asset.id === file.asset.id) paths.add(asset.artifactRef);\n for (const grader of source.taskset.graders) if (grader.kind === \"custom_verifier\" && grader.verifierRef.id === file.asset.id) {\n const projected = original.graders.find(candidate => candidate.id === grader.id);\n if (projected?.kind === \"custom_verifier\") paths.add(projected.module);\n }\n return { assetId: file.asset.id, paths: [...paths].map(sourcePath) };\n });\n const metadata = { ...original.metadata };\n if (source.modelResources) for (const key of [\"taskDefinition\", \"rewardBinding\", \"rewardExecution\", \"derivedPortableMetadata\", \"modelTasksetDerivation\", \"importedPackageHash\"]) delete metadata[key];\n const draft = TasksetDraftSchema.parse({ ...original, id: preparation.draftId, revision: 1, status: \"draft\",\n graders: original.graders.map(grader => ({ ...grader, metadata: { ...grader.metadata,\n portableGrader: source.taskset.graders.find(candidate => candidate.id === grader.id) } })),\n environment: { ...original.environment, metadata: { ...original.environment.metadata, portableExecutionResources: { environment: source.environment } } },\n modelScope: { modelId: preparation.lineage.owner.modelId, expectedModelRevision: input.expectedModelRevision, source: preparation },\n publishedTasksetRef: preparation.tasksetRevision > 1 ? preparation.sourceTasksetRef : null,\n metadata: { ...metadata, modelTasksetAuthoring: preparation.lineage,\n portableFileInventory: inventory.map(entry => ({ ...entry, sourcePath: sourcePath(entry.sourcePath), asset: { ...entry.asset,\n id: isManagedTasksetDraftFilePath(entry.sourcePath) ? `source-artifact-${contentHash({ packageHash: source.contentHash, assetId: entry.asset.id })}` : entry.asset.id,\n path: sourcePath(entry.asset.path) } })) },\n });\n return TasksetDraftSourceInitializationSchema.parse({ draft, filePaths });\n}\n\n/** Materialize the retained source into an immutable draft snapshot. Callers\n * must never replace a newer saved snapshot with this initial population. */\nexport function materializeTasksetDraftWorkspace(input: { initialized: TasksetDraftSourceInitialization; source: TasksetPackage }) {\n const initialized = TasksetDraftSourceInitializationSchema.parse(input.initialized);\n const source = validateTasksetPackage(input.source);\n if (initialized.draft.modelScope?.source?.sourcePackageHash !== source.contentHash) throw new Error(\"Taskset draft lost its source preparation.\");\n const files = new Map<string, TasksetDraftWorkspaceFile>();\n for (const mapping of initialized.filePaths) {\n const file = source.files.find(candidate => candidate.asset.id === mapping.assetId);\n if (!file) throw new Error(\"Taskset draft source asset is missing.\");\n for (const path of mapping.paths) {\n const previous = files.get(path);\n if (previous && previous.contentHash !== file.asset.contentHash) throw new Error(\"Taskset draft source paths conflict.\");\n files.set(path, { path, contentHash: file.asset.contentHash, sizeBytes: file.asset.sizeBytes, base64: file.base64 });\n }\n }\n for (const configured of configuredTasksetDraftFiles(initialized.draft)) if (!files.has(configured.relativePath)) {\n const bytes = new TextEncoder().encode(configured.source);\n files.set(configured.relativePath, { path: configured.relativePath, contentHash: sha256(bytes), sizeBytes: bytes.byteLength, base64: Buffer.from(bytes).toString(\"base64\") });\n }\n let draft = initialized.draft;\n if (draft.metrics.customAggregator) {\n const file = files.get(draft.metrics.customAggregator.module);\n if (!file) throw new Error(\"Declared Taskset metric module is missing.\");\n decodeTasksetDraftWorkspaceFile(file);\n draft = TasksetDraftSchema.parse({ ...draft, metrics: { ...draft.metrics, customAggregator: { ...draft.metrics.customAggregator, contentHash: file.contentHash } } });\n }\n return createTasksetDraftWorkspace({ schemaVersion: \"openpond.tasksetDraftWorkspace.v1\", draft, files: [...files.values()] });\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,yBAAyB,sBAAsB,aAAa,2BAAmD;AASjH,SAAS,+BAA+B,OAM5B;AACjB,QAAM,SAAS,uBAAuB,MAAM,MAAM;AAClD,MAAI,OAAO,kBAAkB,OAAO,kBAAmB,OAAM,IAAI,MAAM,iEAAiE;AACxI,QAAM,eAAe,kCAAkC,MAAM;AAC7D,MAAI,CAAC,aAAa,KAAK,EAAG,OAAM,IAAI,MAAM,8DAA8D;AACxG,QAAM,SAAS,oBAAI,IAA+B;AAClD,QAAM,YAAY,+BAA+B,MAAM;AACvD,aAAW,SAAS,WAAW,UAAU,CAAC,EAAG,QAAO,IAAI,MAAM,IAAI,KAAK;AACvE,QAAM,aAAa,oBAAI,IAAI;AAAA,IACzB,GAAG,OAAO,QAAQ,MAAM,QAAQ,UAAQ,KAAK,uBAAuB,CAAC,KAAK,oBAAoB,IAAI,CAAC,CAAC;AAAA,IACpG,GAAG,CAAC,OAAO,YAAY,iBAAiB,OAAO,YAAY,sBAAsB,OAAO,YAAY,cAAc,EAAE,QAAQ,SAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAAA,EACxJ,CAAC;AACD,aAAW,MAAM,YAAY;AAC3B,QAAI,OAAO,IAAI,EAAE,EAAG;AACpB,UAAM,OAAO,OAAO,MAAM,KAAK,CAAAA,UAAQA,MAAK,MAAM,OAAO,EAAE;AAC3D,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,sCAAsC,EAAE,GAAG;AACtE,UAAM,OAAO,IAAI,YAAY,SAAS,EAAE,OAAO,KAAK,CAAC,EAAE,OAAO,yBAAyB,IAAI,CAAC;AAC5F,WAAO,IAAI,IAAI,wBAAwB,MAAM,oBAAoB,EAAE,eAAe,iCAAiC,IAAI,UAAU,GAAG,OAAO,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;AAAA,EACjK;AACA,aAAW,SAAS,MAAM,QAAQ;AAChC,UAAM,WAAW,OAAO,MAAM,KAAK,UAAQ,KAAK,MAAM,OAAO,MAAM,EAAE;AACrE,QAAI,YAAY,oBAAoB,EAAE,OAAO,SAAS,MAAM,CAAC,EAAE,gBAAgB,oBAAoB,EAAE,OAAO,MAAM,MAAM,CAAC,EAAE,YAAa,OAAM,IAAI,MAAM,kDAAkD,MAAM,EAAE,GAAG;AACrN,WAAO,IAAI,MAAM,IAAI,KAAK;AAAA,EAC5B;AACA,QAAM,EAAE,QAAQ,aAAa,oBAAoB,OAAO,cAAc,mBAAmB,IAAI,OAAO;AACpG,QAAM,iBAAiB,qBAAqB,MAAM,oBAAoB;AAAA,IACpE,eAAe;AAAA,IAA8B,IAAI,GAAG,OAAO,QAAQ,EAAE;AAAA,IAAe,UAAU;AAAA,IAC9F,MAAM,OAAO,QAAQ;AAAA,IAAI,aAAa;AAAA,IAAI;AAAA,IAAc,UAAU;AAAA,IAAU,iBAAiB,OAAO,QAAQ;AAAA,IAC5G,aAAa,EAAE,MAAM,SAAS;AAAA,IAAG,cAAc,EAAE,MAAM,SAAS;AAAA,IAChE,eAAe,YAAY,MAAM,aAAa;AAAA,IAAG,SAAS;AAAA,IAC1D,WAAW,EAAE,QAAQ,aAAa,oBAAoB,OAAO,cAAc,mBAAmB;AAAA,EAChG,CAAC,CAAC;AACF,QAAM,UAAU,0BAA0B,EAAE,GAAG,OAAO,QAAQ,CAAC,GAAG,OAAO,OAAO,CAAC,GAAG,QAAQ;AAAA,IAC1F,SAAS,OAAO;AAAA,IAAS;AAAA,IAAgB,iBAAiB;AAAA,IAC1D,oBAAoB,EAAE,aAAa,OAAO,aAAa,aAAa,OAAO,YAAY;AAAA,IACvF,GAAI,YAAY,EAAE,WAAW,UAAU,UAAU,IAAI,CAAC;AAAA,EACxD,EAAE,CAAC;AACH,QAAM,QAAQ,IAAI,IAAI,OAAO,MAAM,IAAI,UAAQ,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC;AACrE,aAAW,SAAS,QAAQ,QAAQ;AAClC,QAAI,MAAM;AACV,eAAW,QAAQ,IAAI,YAAY,EAAE,OAAO,MAAM,IAAI,EAAG,QAAO,OAAO,aAAa,IAAI;AACxF,UAAM,IAAI,MAAM,IAAI,EAAE,OAAO,MAAM,OAAO,QAAQ,KAAK,GAAG,EAAE,CAAC;AAAA,EAC/D;AACA,QAAM,EAAE,SAAS,oBAAoB,GAAG,eAAe,IAAI;AAC3D,SAAO,qBAAqB,EAAE,eAAe,8BAA8B,SAAS,GAAG,oBAAqB,gBAAgB,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC;AAC1J;;;AC3DA;AAAA,EAAS,uBAAAC;AAAA,EAAqB,eAAAC;AAAA,EAAa,mBAAAC;AAAA,EAAiB;AAAA,EAAwB;AAAA,EAAyB,4BAAAC;AAAA,OAC7C;;;ACDhE;AAAA,EAAS;AAAA,EAAqB;AAAA,EAAsB,wBAAAC;AAAA,EAAsB;AAAA,EAAoB;AAAA,EAC5F;AAAA,EAA2B;AAAA,EAAoB,eAAAC;AAAA,EAAa;AAAA,EAAiB,uBAAAC;AAAA,EAC7E;AAAA,EAA0B;AAAA,OAAuD;AACnF,SAAS,qBAAqB,qBAAqB,qBAAqB,2BAAmE;AAMpI,SAAS,wBAAwB,OAGrC;AACD,QAAM,EAAE,SAAS,SAAS,MAAM,IAAI;AACpC,QAAM,WAAW,MAAM;AACvB,MAAI,CAAC,SAAU,OAAM,IAAI,oBAAoB,+BAA+B,GAAG;AAC/E,QAAM,WAAW,yBAAyB,MAAM,OAAO;AACvD,QAAM,KAAK,gBAAgB,YAAY,CAAC,MAAM,OAAO,QAAQ,SAAS,QAAQ,WAAW,CAAC,CAAC;AAC3F,QAAM,QAAQ,IAAI,IAAI,QAAQ,SAAS,IAAI,UAAQ,CAAC,YAAY,KAAK,QAAQ,GAAG,IAAI,CAAC,CAAC;AACtF,QAAM,aAAa,IAAI,IAAI,SAAS,SAAS,IAAI,CAAAC,cAAY,YAAYF,aAAYE,SAAQ,CAAC,CAAC,CAAC;AAChG,QAAM,YAAY,IAAI,IAAI,SAAS,UAAU,IAAI,cAAY,CAAC,YAAY,SAAS,QAAQ,GAAG,QAAQ,CAAC,CAAC;AACxG,MAAI,MAAM,SAAS,QAAQ,SAAS,UAAU,QAAQ,SAAS,KAAK,UAAQ,CAAC,WAAW,IAAI,YAAY,KAAK,QAAQ,CAAC,CAAC,GAAG;AACxH,UAAM,IAAI,oBAAoB,kCAAkC,GAAG;AAAA,EACrE;AACA,aAAW,YAAY,CAAC,MAAM,SAAS,GAAG,MAAM,SAAS,GAAG,MAAM,MAAM,EAAG,2BAA0B,QAAQ;AAC7G,sBAAoB,MAAM,SAAS,MAAM,OAAO;AAChD,QAAM,eAAe,oBAAI,IAA2B;AACpD,aAAWC,WAAU,MAAM,QAAQ,SAAS;AAC1C,UAAM,WAAW,MAAM,QAAQ,KAAK,YAAU,gBAAgBH,aAAY,MAAM,GAAGG,QAAO,MAAM,CAAC;AACjG,UAAM,EAAE,aAAa,OAAO,GAAG,QAAQ,IAAI;AAC3C,iBAAa,IAAI,SAAS,aAAa,oBAAoB,EAAE,GAAG,SAAS,IAAI,GAAG,EAAE,WAAW,SAAS,WAAW,IAAI,UAAU,EAAE,CAAC,CAAC;AAAA,EACrI;AACA,QAAM,UAAU,CAAC,GAAG,aAAa,OAAO,CAAC;AACzC,QAAM,EAAE,aAAa,cAAc,WAAW,SAAS,GAAG,eAAe,IAAI,MAAM;AACnF,QAAM,UAAU,oBAAoB;AAAA,IAAE,GAAG;AAAA,IAAgB,IAAI,GAAG,EAAE;AAAA,IAAY,UAAU;AAAA,IACtF,SAAS,MAAM,QAAQ,QAAQ,IAAI,CAAAA,aAAW,EAAE,GAAGA,SAAQ,QAAQH,aAAY,aAAa,IAAIG,QAAO,OAAO,WAAW,CAAE,EAAE,EAAE;AAAA,EACjI,GAAG,OAAO;AACV,QAAM,YAAY,QAAQ,QAAQ,YAAU;AAAA,IAAC,GAAG,OAAO;AAAA,IACrD,GAAI,iBAAiB,OAAO,iBAAiB,CAAC,OAAO,eAAe,WAAW,IAAI,CAAC;AAAA,IACpF,GAAI,eAAe,OAAO,iBAAiB,CAAC,OAAO,eAAe,SAAS,IAAI,CAAC;AAAA,IAChF,GAAI,mBAAmB,OAAO,iBAAiB,CAAC,OAAO,eAAe,aAAa,IAAI,CAAC;AAAA,EAC1F,CAAC;AACD,QAAM,SAAS,CAAC,GAAG,IAAI,IAAI,UAAU,IAAI,SAAO;AAC9C,UAAM,QAAQ,MAAM,OAAO,KAAK,CAAAC,WAASA,OAAM,OAAO,IAAI,EAAE;AAC5D,QAAI,CAAC,MAAO,OAAM,IAAI,oBAAoB,qCAAqC,GAAG;AAClF,4BAAwB,OAAO,GAAG;AAClC,QAAI,IAAI,eAAe,SAAU,OAAM,IAAI,oBAAoB,mCAAmC,GAAG;AACrG,WAAO,CAAC,MAAM,IAAI,KAAK;AAAA,EACzB,CAAC,CAAC,EAAE,OAAO,CAAC;AAGZ,QAAM,EAAE,oBAAoB,cAAc,oBAAoB,YAAY,GAAG,UAAU,IAAI,SAAS,WAAW;AAC/G,QAAM,EAAE,aAAa,iBAAiB,GAAG,kBAAkB,IAAI,SAAS;AACxE,QAAM,aAAaL,sBAAqB,MAAME,qBAAoB;AAAA,IAAE,GAAG;AAAA,IAAmB,GAAG,QAAQ;AAAA,IACnG,IAAI,GAAG,EAAE;AAAA,IAAe,UAAU;AAAA,IAAG,eAAeD,aAAY,OAAO;AAAA,IAAG,WAAW;AAAA,MAAE,GAAG;AAAA,MACxF,QAAQ,EAAE,GAAG,UAAU,QAAQ,kBAAkB,oBAAoB,SAAS,OAAO,EAAE,OAAO,YAAU,OAAO,UAAU,EAAE,IAAI,YAAU,OAAO,EAAE,EAAE;AAAA,IACtJ;AAAA,EACF,CAAC,CAAC;AACF,QAAM,SAAS,qBAAqB,MAAMC,qBAAoB;AAAA,IAC5D,eAAe;AAAA,IAA8B;AAAA,IAAI,UAAU;AAAA,IAAG,MAAM,GAAG,WAAW,IAAI;AAAA,IAAW,MAAM;AAAA,IACvG,gBAAgBD,aAAY,UAAU;AAAA,IAAG,SAAS;AAAA,IAAM,eAAe,CAAC,GAAG,IAAI,IAAI,SAAS,SAAS,IAAI,UAAQ,KAAK,WAAW,KAAK,CAAC,CAAC;AAAA,IACxI,SAAS;AAAA,IAAM,gBAAgB;AAAA,IAAM,cAAc;AAAA,MAAE,SAAS,QAAQ;AAAA,MAAS,aAAa,MAAM;AAAA,MAChG,SAASA,aAAY,MAAM,OAAO;AAAA,MAAG,OAAOA,aAAY,SAAS,KAAK;AAAA,MAAG,eAAeA,aAAY,MAAM,OAAO;AAAA,IAAE;AAAA,EACvH,CAAC,CAAC;AACF,QAAM,WAAW,SAAS,SAAS,IAAI,YAAU;AAC/C,UAAM,OAAO,MAAM,IAAI,YAAYA,aAAY,MAAM,CAAC,CAAC;AAGvD,UAAM,YAAY,UAAU,OAAO,WAAW;AAC9C,UAAM,gBAAgB,YAAY;AAAA,MAAE,cAAc,WAAW;AAAA,MAAc,aAAa,WAAW;AAAA,MAAa,cAAc,WAAW;AAAA,MAAc,iBAAiB,WAAW,mBAAmB,CAAC;AAAA,MACrM,OAAO,MAAM,SAAS,OAAO,WAAW;AAAA,IAAM,CAAC,MAAM,YAAY;AAAA,MAAE,cAAc,SAAS,WAAW;AAAA,MACrG,aAAa,SAAS,WAAW;AAAA,MAAa,cAAc,SAAS,WAAW;AAAA,MAAc,iBAAiB,SAAS,WAAW,mBAAmB,CAAC;AAAA,MAAG,OAAO,OAAO,WAAW;AAAA,IAAM,CAAC;AAC5L,WAAO,mBAAmB,MAAMC,qBAAoB;AAAA,MAClD,eAAe;AAAA,MAA4B,IAAI,mBAAmB,OAAO,IAAI,OAAO,WAAW,WAAW,SAAS;AAAA,MAAG,UAAU;AAAA,MAChI,QAAQD,aAAY,MAAM;AAAA,MAAG,YAAY;AAAA,QAAE,GAAG,OAAO;AAAA,QAAY,UAAU,OAAO;AAAA,QAAI,gBAAgBA,aAAY,UAAU;AAAA,QAC1H;AAAA;AAAA;AAAA,QAGA,gBAAgB,gBAAgB,OAAO,OAAO,WAAW;AAAA,QACzD,gBAAgB,GAAG,EAAE,IAAI,OAAO,WAAW;AAAA,QAAI,GAAI,MAAM,UAAU,SAAY,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM;AAAA,QACxG,GAAI,MAAM,aAAa,SAAY,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS;AAAA,QAClE,GAAI,MAAM,qBAAqB,SAAY,CAAC,IAAI,EAAE,kBAAkB,KAAK,iBAAiB;AAAA,MAC5F;AAAA,MAAG,YAAYA,aAAY,MAAM;AAAA,MAAG,sBAAsB;AAAA,MAAM,YAAY,MAAM;AAAA,IACpF,CAAC,CAAC;AAAA,EACJ,CAAC;AACD,QAAM,YAAY,SAAS,QAAQ,UAAQ;AACzC,UAAM,OAAO,MAAM,IAAI,YAAY,KAAK,UAAU,CAAC;AACnD,UAAM,WAAW,UAAU,IAAI,YAAY,KAAK,UAAU,CAAC;AAC3D,UAAM,SAAS,MAAM,mBAAmB,SAAY,SAAS,iBAAiB,KAAK;AACnF,WAAO,WAAW,OAAO,CAAC,IAAI,CAAC,mBAAmB,MAAM;AAAA,MACtD,eAAe;AAAA,MAAkC,IAAI,YAAY,YAAY,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AAAA,MAAI,UAAU;AAAA,MACzG,YAAY;AAAA,QAAE,eAAe;AAAA,QAA4B,UAAU,OAAO;AAAA,QAAI,gBAAgB,GAAG,EAAE,IAAI,KAAK,EAAE;AAAA,QAC5G,WAAW,KAAK,WAAW;AAAA,QAAW,WAAW,KAAK,WAAW;AAAA,QAAW,sBAAsB,KAAK;AAAA,QACvG,YAAY,MAAM;AAAA,QAAK,MAAM;AAAA,QAAqB,OAAO;AAAA,QAAQ,MAAM;AAAA,MAA2E;AAAA,MACpJ,QAAQ;AAAA,MAAkB,UAAUA,aAAY,IAAI;AAAA,MAAG,WAAW,MAAM;AAAA,MAAK,QAAQ;AAAA,IACvF,CAAC,CAAC;AAAA,EACJ,CAAC;AACD,SAAO,EAAE,QAAQ,YAAY,SAAS,SAAS,QAAQ,UAAU,UAAU;AAC7E;;;AD3FA,SAAgC,uBAAvBK,4BAAoD;AAE7D,IAAM,YAAY,CAAC,YAAqC,sBAAsB,YAAY,CAAC,QAAQ,SAAS,QAAQ,WAAW,CAAC,CAAC;AAE1H,SAAS,yBAAyB,KAAc;AACrD,QAAM,QAAQ,uBAAuB,GAAG;AACxC,MAAI,CAAC,MAAM,kBAAmB,OAAM,IAAIA,qBAAoB,+BAA+B,GAAG;AAC9F,QAAM,WAAWC,0BAAyB,MAAM,OAAO;AACvD,SAAO,iCAAiC,MAAM;AAAA,IAAE,eAAe;AAAA,IAA0C,aAAa,MAAM;AAAA,IAC1H,YAAY,SAAS;AAAA,IAAY,SAAS,SAAS;AAAA,IAAS,UAAU,MAAM,kBAAkB;AAAA,IAAU,WAAW,MAAM,kBAAkB;AAAA,EAAU,CAAC;AAC1J;AAEA,eAAsB,qBAAqB,aAAkC,KAA8B;AACzG,QAAM,UAAU,8BAA8B,MAAM,GAAG;AACvD,QAAM,QAAQ,MAAM,YAAY,UAAU,UAAU,OAAO,CAAC;AAC5D,MAAI,CAAC,MAAO,QAAO;AACnB,MAAI,MAAM,gBAAgB,YAAY,OAAO,EAAG,OAAM,IAAID,qBAAoB,iCAAiC,GAAG;AAClH,SAAO,YAAY,aAAa,SAAS,MAAM,SAAS;AAC1D;AAKA,eAAsB,sBAAsB,aAAkC,OAE3E;AACD,QAAM,UAAU,8BAA8B,MAAM,MAAM,OAAO;AACjE,QAAM,QAAQ,MAAM,qBAAqB,aAAa,OAAO;AAC7D,MAAI,MAAO,QAAO;AAClB,QAAM,QAAQ,uBAAuB,MAAM,OAAO;AAClD,MAAI,CAAC,MAAM,kBAAmB,OAAM,IAAIA,qBAAoB,+BAA+B,GAAG;AAC9F,QAAM,WAAWC,0BAAyB,MAAM,OAAO;AACvD,QAAM,WAAW,QAAQ;AACzB,QAAM,WAAW,CAAC,YAAYC,iBAAgB,UAAUC,aAAY,SAAS,OAAO,CAAC;AACrF,QAAM,UAAU,WAAW,SAAS,UAAU,MAAM,uBAAuB,aAAa,WAAW,QAAQ;AAC3G,QAAM,UAAU,WAAW,SAAS,UAAU,MAAM,QAAQ,IAAI,QAAQ,QAAQ,IAAI,YAAU,uBAAuB,aAAa,UAAU,OAAO,MAAM,CAAC,CAAC;AAC3J,QAAM,WAAW,IAAI,IAAI,QAAQ,QAAQ,YAAU;AAAA,IAAC,GAAG,OAAO;AAAA,IAC5D,GAAI,iBAAiB,OAAO,iBAAiB,CAAC,OAAO,eAAe,WAAW,IAAI,CAAC;AAAA,IACpF,GAAI,eAAe,OAAO,iBAAiB,CAAC,OAAO,eAAe,SAAS,IAAI,CAAC;AAAA,IAChF,GAAI,mBAAmB,OAAO,iBAAiB,CAAC,OAAO,eAAe,aAAa,IAAI,CAAC;AAAA,EAC1F,CAAC,EAAE,IAAI,WAAS,MAAM,EAAE,CAAC;AACzB,QAAM,SAAS,WAAW,MAAM,kBAAkB,SAAS,MAAM,QAAQ,IAAI,CAAC,GAAG,QAAQ,EAAE,IAAI,QAAM,wBAAwB,aAAa,SAAS,IAAI,CAAC,CAAC,CAAC;AAC1J,QAAM,WAAW,wBAAwB,EAAE,GAAG,OAAO,SAAS,SAAS,OAAO,SAAS,SAAS,OAAO,CAAC;AACxG,QAAM,WAAsC,CAAC;AAC7C,aAAW,SAAS,SAAS,QAAQ;AACnC,UAAM,WAAW,MAAM,YAAY,IAAI,SAAS,MAAM,IAAI,CAAC;AAC3D,QAAI,YAAY,SAAS,gBAAgB,MAAM,YAAa,OAAM,IAAIH,qBAAoB,+BAA+B,GAAG;AAC5H,QAAI,CAAC,SAAU,OAAM,YAAY,IAAI,SAAS,OAAO,CAAC;AAAA,EACxD;AACA,aAAW,UAAU,SAAS,QAAS,OAAM,YAAY,IAAI,UAAU,QAAQ,CAAC;AAChF,QAAM,YAAY,IAAI,WAAW,SAAS,SAAS,CAAC;AACpD,QAAM,YAAY,IAAI,cAAc,SAAS,YAAY,CAAC;AAC1D,QAAM,YAAY,IAAI,UAAU,SAAS,QAAQ,GAAG,EAAE,UAAU,QAAQ,QAAQ,CAAC;AACjF,WAAS,KAAK,EAAE,MAAM,UAAU,IAAI,SAAS,OAAO,IAAI,UAAU,EAAE,CAAC;AACrE,aAAW,YAAY,SAAS,UAAU;AACxC,UAAM,YAAY,IAAI,YAAY,UAAU,GAAG,EAAE,UAAU,SAAS,OAAO,GAAG,CAAC;AAC/E,aAAS,KAAK,EAAE,MAAM,YAAY,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;AAAA,EAClE;AACA,aAAW,YAAY,SAAS,WAAW;AACzC,UAAM,YAAY,IAAI,YAAY,UAAU,GAAG,EAAE,UAAU,SAAS,SAAU,IAAI,QAAQ,SAAS,OAAO,CAAC;AAC3G,aAAS,KAAK,EAAE,MAAM,YAAY,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;AAAA,EAClE;AACA,QAAM,YAAY,cAAc,UAAU,OAAO,GAAG,EAAE,aAAa,YAAY,OAAO,GAAG,WAAW,SAAS,CAAC;AAC9G,SAAO,YAAY,aAAa,SAAS,QAAQ;AACnD;AAEA,eAAe,YAAY,aAAkC,SAAkC,UAAqC;AAClI,QAAM,YAAY,MAAM,QAAQ,IAAI,SAAS,IAAI,aAAW,wBAAwB,aAAa,QAAQ,MAAM,QAAQ,IAAI,QAAQ,QAAQ,CAAC,CAAC;AAC7I,SAAO,8BAA8B,MAAM;AAAA,IAAE,eAAe;AAAA,IAAuC,aAAa,QAAQ;AAAA,IACtH,SAAS,QAAQ;AAAA,IAAS,QAAQ,UAAU,KAAK,cAAY,SAAS,kBAAkB,4BAA4B;AAAA,IACpH,UAAU,UAAU,OAAO,cAAY,SAAS,kBAAkB,0BAA0B;AAAA,IAC5F,WAAW,UAAU,OAAO,cAAY,SAAS,kBAAkB,gCAAgC;AAAA,EACrG,CAAC;AACH;;;AE9EA,SAAS,eAAAI,cAAa,4BAAAC,2BAA0B,2BAAAC,gCAA+B;AAQxE,SAAS,8BAA8B,OAE3C;AACD,QAAM,QAAQ,uBAAuB,MAAM,OAAO;AAClD,QAAM,UAAU,MAAM;AACtB,QAAM,YAAY,MAAM;AACxB,QAAM,WAAW,MAAM,oBAAoBC,0BAAyB,OAAO,IAAI;AAC/E,QAAM,SAAS,uBAAuB,MAAM;AAAA,IAC1C,eAAe;AAAA,IAAyC,MAAM;AAAA,IAC9D,IAAI,kBAAkB,YAAY,EAAE,WAAW,MAAM,WAAW,aAAa,MAAM,YAAY,CAAC,CAAC;AAAA,IACjG,WAAW,MAAM;AAAA,IAAW,OAAO,MAAM;AAAA,IAAM,YAAY,MAAM;AAAA,IAAa,YAAY,MAAM;AAAA,IAChG,iBAAiB;AAAA,IAAW,kBAAkB;AAAA,IAAW,eAAe;AAAA,IACxE,mBAAmB,CAAC,sBAAsB;AAAA,IAAG,YAAY,CAAC,kBAAkB;AAAA,IAAG,kBAAkB,CAAC,MAAM,WAAW;AAAA,IACnH,YAAY,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU,KAAK,CAAC,EAAE;AAAA,IAAY,eAAe;AAAA,IAA8B,UAAU,CAAC;AAAA,EAClI,CAAC;AACD,QAAM,QAAQ,mBAAmB,EAAE,WAAW,MAAM,WAAW,IAAI,GAAG,QAAQ,EAAE,WAAW,MAAM,MAAM,MAAM,KAAK,MAAM,UAAU,CAAC;AACnI,QAAM,QAA6B,CAAC;AACpC,aAAW,UAAU,QAAQ,QAAS,KAAI,OAAO,SAAS,mBAAmB;AAC3E,UAAM,QAAQ,WAAW,OAAO,KAAK,CAAAC,WAASA,OAAM,OAAO,OAAO,YAAY,EAAE;AAChF,UAAM,OAAO,MAAM,MAAM,KAAK,CAAAC,UAAQA,MAAK,MAAM,OAAO,OAAO,YAAY,EAAE;AAC7E,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,wCAAwC,OAAO,EAAE,GAAG;AAC/E,UAAM,OAAO,uBAAuB,OAAO,YAAY,WAAW;AAClE,QAAI,CAAC,MAAM,KAAK,CAAAA,UAAQA,MAAK,SAAS,IAAI,EAAG,OAAM,KAAK,EAAE,MAAM,MAAM,MAAM,YAAY,SAAS,QAAQC,yBAAwB,OAAO,OAAO,WAAW,IAAI,IAAI,YAAY,SAAS,EAAE,OAAO,KAAK,CAAC,EAAE,OAAO,yBAAyB,IAAI,CAAC,EAAE,CAAC;AAAA,EAClP;AACA,QAAM,YAAa,QAAQ,SAAS,qBAAqB,QAAQ,SAAS;AAC1E,QAAM,WAAW,oBAAoB,MAAM,EAAE,IAAI,GAAO,EAAE,MAAM,WAAW,kBAAkB,CAAC,CAAC;AAC/F,QAAM,OAAO,QAAQ,YAAY,SAAS,SAAS,SAAS,QAAQ,YAAY,SAAS,mBAAmB,YAAY,QAAQ,YAAY;AAC5I,QAAM,YAAY,cAAc,MAAM;AAAA,IACpC,eAAe;AAAA,IAAuB,IAAI,QAAQ;AAAA,IAAI,UAAU,QAAQ;AAAA,IACxE,WAAW,MAAM;AAAA,IAAW,gBAAgB;AAAA,IAAM,oBAAoB;AAAA,IACtE,MAAM,MAAM;AAAA,IAAM,WAAW,kCAAkC,KAAK;AAAA,IAAG,QAAQ;AAAA,IAC/E,YAAY,CAAC,MAAM;AAAA,IAAG,iBAAiB;AAAA,IAAM,QAAQ,QAAQ;AAAA,IAC7D,aAAa;AAAA,MAAE,GAAG,MAAM;AAAA,MAAa;AAAA,MAAM,YAAY,QAAQ,YAAY;AAAA,MACzE,WAAW,iCAAiC,MAAM,EAAE,IAAI,GAAM,EAAE,MAAM,QAAQ,SAAS,wBAAwB,CAAC,CAAC;AAAA,MACjH,UAAU,QAAQ,YAAY;AAAA,MAAU,oBAAoB,QAAQ,YAAY;AAAA,MAChF,WAAW,QAAQ,MAAM,IAAI,UAAQ,KAAK,IAAI;AAAA,MAAG,kBAAkB,QAAQ,YAAY;AAAA,MACvF,eAAe,QAAQ,YAAY;AAAA,MAAe,UAAU;AAAA,QAC1D,wBAAwB,uBAAuB,MAAM,WAAW,MAAM,WAAW;AAAA,QACjF,qBAAqB,QAAQ;AAAA,QAAa,eAAe,QAAQ;AAAA,QACjE,4BAA4B,EAAE,aAAa,MAAM,aAAa,aAAa,MAAM,YAAY;AAAA,MAC/F;AAAA,IAAE;AAAA,IACJ,cAAc;AAAA,MAAE,GAAG,MAAM;AAAA,MAAc,UAAU,SAAS,SAAS,SAAS,SAAS,YAAY,mBAAmB;AAAA,MAClH,mBAAmB,CAAC,MAAM;AAAA,MAAG,eAAe,QAAQ,MAAM,SAAS;AAAA,MAAG,eAAe,QAAQ,YAAY;AAAA,MACzG,aAAa,CAAC,GAAG,IAAI,IAAI,QAAQ,QAAQ,IAAI,YAAU,OAAO,SAAS,UAAU,UAAU,OAAO,SAAS,gBAAgB,gBAAgB,eAAe,CAAC,CAAC;AAAA,IAC9J;AAAA,IACA,OAAO,QAAQ,MAAM,IAAI,WAAS;AAAA,MAAE,GAAG;AAAA,MAAM,eAAe;AAAA,MAAwB,YAAY,CAAC,OAAO,EAAE;AAAA,MACxG,QAAQ,KAAK,aAAa,IAAI,YAAU;AAAA,QAAE,IAAI,MAAM;AAAA,QAAI,aAAa,OAAO;AAAA,QAAI,aAAa,MAAM;AAAA,QACjG,UAAU,MAAM,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE;AAAA,QAAI,WAAW,MAAM;AAAA,QAAW,QAAQ,MAAM;AAAA,QACnF,WAAW,MAAM;AAAA,QAAW,OAAO,KAAK;AAAA,QAAO,UAAU,EAAE,eAAe,MAAM;AAAA,MAAE,EAAE;AAAA,MACtF,GAAI,KAAK,kBAAkB,EAAE,iBAAiB,KAAK,gBAAgB,IAAI,aAAW;AAAA,QAAE,GAAG;AAAA,QACrF,WAAW,OAAO,WAAW,MAAM;AAAA,QAAM,UAAU,OAAO,YAAY;AAAA,MAAU,EAAE,EAAE,IAAI,CAAC;AAAA,MAC3F,UAAU,EAAE,oBAAoB,MAAM,eAAe,WAAW;AAAA,IAClE,EAAE;AAAA,IACF,SAAS,YAAY,4BAA4B,UAAU,eAAe,UAAU,SAAS,UAAU,MAAM,IACzG,WAAW,4BAA4B,SAAS,SAAS,SAAS,SAAS,MAAM,kBAAmB,MAAM,IAAI,uBAAuB,KAAK;AAAA,IAC9I,gBAAgB;AAAA,IAAU,iBAAiB,MAAM;AAAA,IACjD,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAQ,IAAI,CAAC;AAAA,IACtD,qBAAqB;AAAA,MAAE,eAAe;AAAA,MAAuC,OAAO;AAAA,MAAM,aAAa,CAAC;AAAA,MACtG,WAAW,YAAY,4BAA4B;AAAA,MAAG,uBAAuB;AAAA,MAAqB,aAAa;AAAA,MAC/G,oBAAoB;AAAA,MAAM,gBAAgB,CAAC,MAAM,WAAW;AAAA,MAAG,mBAAmB;AAAA,MAClF,cAAc;AAAA,MAAM,eAAe,CAAC;AAAA,MAAG,WAAW,MAAM;AAAA,IAAU;AAAA,IACpE,WAAW;AAAA,IAAM,aAAa;AAAA,IAAY,WAAW,MAAM;AAAA,IAAW,WAAW,MAAM;AAAA,IACvF,UAAU;AAAA,MAAE,qBAAqB,MAAM;AAAA,MACrC,uBAAuB,QAAQ,SAAS,yBAAyB;AAAA,MACjE,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,MAC/B,uBAAuB,MAAM,MAAM,IAAI,WAAS,EAAE,OAAO,KAAK,OAAO,YAAY,KAAK,MAAM,KAAK,EAAE;AAAA,MACnG,GAAI,YAAY;AAAA,QAAE,gBAAgBC,aAAY,UAAU,cAAc;AAAA,QACtE,eAAeA,aAAY,UAAU,aAAa;AAAA,QAAG,iBAAiB,EAAE,SAAS,UAAU,eAAe,SAAS,UAAU,QAAQ;AAAA,MAAE,IAAI,CAAC;AAAA,MAC5I,sBAAsB,QAAQ;AAAA,MAAc,yBAAyB,QAAQ;AAAA,MAC7E,GAAI,QAAQ,SAAS,yBAAyB,EAAE,wBAAwB,QAAQ,SAAS,uBAAuB,IAAI,CAAC;AAAA,IACvH;AAAA,EACF,CAAC;AACD,SAAO,EAAE,SAAS,OAAO,SAAS,cAAc,MAAM,EAAE,GAAG,WAAW,aAAa,mBAAmB,SAAS,EAAE,CAAC,GAAG,gBAAgB,MAAM;AAC7I;AAKO,SAAS,uBAAuB,WAAmB,aAA6B;AACrF,SAAO,WAAW,YAAY,EAAE,WAAW,YAAY,CAAC,CAAC;AAC3D;;;AC3FA,SAAS,SAAS;AAElB,SAAS,eAAAC,cAAa,mBAAAC,wBAAuB;AAStC,IAAM,yCAAyC,EAAE,OAAO;AAAA,EAC7D,OAAO;AAAA,EACP,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,EAAE,MAAM,0BAA0B,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAM;AACjJ,CAAC,EAAE,OAAO;AAKH,SAAS,0BAA0B,OAA0K;AAClN,QAAM,SAAS,uBAAuB,MAAM,MAAM;AAClD,QAAM,WAAW,mBAAmB,MAAM,MAAM,WAAW;AAC3D,QAAM,cAAc,mCAAmC,MAAM,MAAM,WAAW;AAC9E,MAAI,OAAO,gBAAgB,YAAY,qBAAqB,CAACC,iBAAgBC,aAAY,OAAO,OAAO,GAAG,YAAY,gBAAgB,EAAG,OAAM,IAAI,MAAM,4DAA4D;AACrN,MAAI,OAAO,kBAAmB,OAAM,IAAI,MAAM,8DAA8D;AAC5G,MAAI,QAAQ,OAAO,cAAc,OAAO,YAAY,mBAAmB,SAAU,OAAM,IAAI,MAAM,wDAAwD;AACzJ,QAAM,YAAY,mCAAmC,MAAM,SAAS,SAAS,yBAAyB,CAAC,CAAC;AACxG,QAAM,aAAa,CAAC,aAAqB,8BAA8B,QAAQ,IAC3E,oBAAoB,OAAO,WAAW,IAAI,YAAY,QAAQ,CAAC,IAAI,SAAS,MAAM,GAAG,EAAE,GAAG,EAAE,CAAE,KAAK;AACvG,QAAM,aAAa;AAAA,IAAC,GAAG,SAAS,MAAM,QAAQ,WAAS,KAAK,UAAU,CAAC,GAAG,IAAI,WAAS,MAAM,WAAW,CAAC;AAAA,IACvG,IAAI,SAAS,YAAY,aAAa,CAAC,GAAG,IAAI,cAAY,SAAS,IAAI;AAAA,IACvE,GAAG,OAAO,QAAQ,MAAM,QAAQ,WAAS,KAAK,mBAAmB,CAAC,GAAG,QAAQ,YAAU,OAAO,YAAY,CAAC,OAAO,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;AAAA,IACvI,GAAI,SAAS,QAAQ,mBAAmB,CAAC,SAAS,QAAQ,iBAAiB,MAAM,IAAI,CAAC;AAAA,IACtF,GAAG,SAAS,QAAQ,QAAQ,YAAU,OAAO,SAAS,oBAAoB,CAAC,OAAO,MAAM,IAAI,CAAC,CAAC;AAAA,EAAC;AACjG,MAAI,WAAW,KAAK,6BAA6B,EAAG,OAAM,IAAI,MAAM,uEAAuE;AAC3I,QAAM,YAAY,OAAO,MAAM,IAAI,UAAQ;AACzC,UAAM,QAAQ,oBAAI,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC;AACvC,eAAW,SAAS,UAAW,KAAI,MAAM,MAAM,OAAO,KAAK,MAAM,GAAI,OAAM,IAAI,MAAM,UAAU;AAC/F,eAAW,QAAQ,SAAS,MAAO,YAAW,SAAS,KAAK,UAAU,CAAC,EAAG,KAAI,MAAM,OAAO,KAAK,MAAM,GAAI,OAAM,IAAI,MAAM,WAAW;AACrI,eAAW,UAAU,OAAO,QAAQ,QAAS,KAAI,OAAO,SAAS,qBAAqB,OAAO,YAAY,OAAO,KAAK,MAAM,IAAI;AAC7H,YAAM,YAAY,SAAS,QAAQ,KAAK,eAAa,UAAU,OAAO,OAAO,EAAE;AAC/E,UAAI,WAAW,SAAS,kBAAmB,OAAM,IAAI,UAAU,MAAM;AAAA,IACvE;AACA,WAAO,EAAE,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,KAAK,EAAE,IAAI,UAAU,EAAE;AAAA,EACrE,CAAC;AACD,QAAM,WAAW,EAAE,GAAG,SAAS,SAAS;AACxC,MAAI,OAAO,eAAgB,YAAW,OAAO,CAAC,kBAAkB,iBAAiB,mBAAmB,2BAA2B,0BAA0B,qBAAqB,EAAG,QAAO,SAAS,GAAG;AACpM,QAAM,QAAQ,mBAAmB,MAAM;AAAA,IAAE,GAAG;AAAA,IAAU,IAAI,YAAY;AAAA,IAAS,UAAU;AAAA,IAAG,QAAQ;AAAA,IAClG,SAAS,SAAS,QAAQ,IAAI,aAAW,EAAE,GAAG,QAAQ,UAAU;AAAA,MAAE,GAAG,OAAO;AAAA,MAC1E,gBAAgB,OAAO,QAAQ,QAAQ,KAAK,eAAa,UAAU,OAAO,OAAO,EAAE;AAAA,IAAE,EAAE,EAAE;AAAA,IAC3F,aAAa,EAAE,GAAG,SAAS,aAAa,UAAU,EAAE,GAAG,SAAS,YAAY,UAAU,4BAA4B,EAAE,aAAa,OAAO,YAAY,EAAE,EAAE;AAAA,IACxJ,YAAY,EAAE,SAAS,YAAY,QAAQ,MAAM,SAAS,uBAAuB,MAAM,uBAAuB,QAAQ,YAAY;AAAA,IAClI,qBAAqB,YAAY,kBAAkB,IAAI,YAAY,mBAAmB;AAAA,IACtF,UAAU;AAAA,MAAE,GAAG;AAAA,MAAU,uBAAuB,YAAY;AAAA,MAC1D,uBAAuB,UAAU,IAAI,YAAU,EAAE,GAAG,OAAO,YAAY,WAAW,MAAM,UAAU,GAAG,OAAO;AAAA,QAAE,GAAG,MAAM;AAAA,QACrH,IAAI,8BAA8B,MAAM,UAAU,IAAI,mBAAmB,YAAY,EAAE,aAAa,OAAO,aAAa,SAAS,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,MAAM;AAAA,QACnK,MAAM,WAAW,MAAM,MAAM,IAAI;AAAA,MAAE,EAAE,EAAE;AAAA,IAAE;AAAA,EAC/C,CAAC;AACD,SAAO,uCAAuC,MAAM,EAAE,OAAO,UAAU,CAAC;AAC1E;AAIO,SAAS,iCAAiC,OAAkF;AACjI,QAAM,cAAc,uCAAuC,MAAM,MAAM,WAAW;AAClF,QAAM,SAAS,uBAAuB,MAAM,MAAM;AAClD,MAAI,YAAY,MAAM,YAAY,QAAQ,sBAAsB,OAAO,YAAa,OAAM,IAAI,MAAM,4CAA4C;AAChJ,QAAM,QAAQ,oBAAI,IAAuC;AACzD,aAAW,WAAW,YAAY,WAAW;AAC3C,UAAM,OAAO,OAAO,MAAM,KAAK,eAAa,UAAU,MAAM,OAAO,QAAQ,OAAO;AAClF,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,wCAAwC;AACnE,eAAW,QAAQ,QAAQ,OAAO;AAChC,YAAM,WAAW,MAAM,IAAI,IAAI;AAC/B,UAAI,YAAY,SAAS,gBAAgB,KAAK,MAAM,YAAa,OAAM,IAAI,MAAM,sCAAsC;AACvH,YAAM,IAAI,MAAM,EAAE,MAAM,aAAa,KAAK,MAAM,aAAa,WAAW,KAAK,MAAM,WAAW,QAAQ,KAAK,OAAO,CAAC;AAAA,IACrH;AAAA,EACF;AACA,aAAW,cAAc,4BAA4B,YAAY,KAAK,EAAG,KAAI,CAAC,MAAM,IAAI,WAAW,YAAY,GAAG;AAChH,UAAM,QAAQ,IAAI,YAAY,EAAE,OAAO,WAAW,MAAM;AACxD,UAAM,IAAI,WAAW,cAAc,EAAE,MAAM,WAAW,cAAc,aAAa,OAAO,KAAK,GAAG,WAAW,MAAM,YAAY,QAAQ,OAAO,KAAK,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;AAAA,EAC9K;AACA,MAAI,QAAQ,YAAY;AACxB,MAAI,MAAM,QAAQ,kBAAkB;AAClC,UAAM,OAAO,MAAM,IAAI,MAAM,QAAQ,iBAAiB,MAAM;AAC5D,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,4CAA4C;AACvE,oCAAgC,IAAI;AACpC,YAAQ,mBAAmB,MAAM,EAAE,GAAG,OAAO,SAAS,EAAE,GAAG,MAAM,SAAS,kBAAkB,EAAE,GAAG,MAAM,QAAQ,kBAAkB,aAAa,KAAK,YAAY,EAAE,EAAE,CAAC;AAAA,EACtK;AACA,SAAO,4BAA4B,EAAE,eAAe,qCAAqC,OAAO,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC;AAC9H;",
6
- "names": ["file", "LearningDomainError", "learningRef", "sameLearningRef", "taskBatchPackageMetadata", "TaskDefinitionSchema", "learningRef", "sealLearningContent", "evidence", "source", "asset", "LearningDomainError", "taskBatchPackageMetadata", "sameLearningRef", "learningRef", "learningRef", "taskBatchPackageMetadata", "verifyLearningTextAsset", "taskBatchPackageMetadata", "asset", "file", "verifyLearningTextAsset", "learningRef", "learningRef", "sameLearningRef", "sameLearningRef", "learningRef"]
4
+ "sourcesContent": ["import { LearningTextAssetSchema, TaskDefinitionSchema, learningRef, sealLearningContent, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport type { RewardBinding, RewardRelease } from \"@openpond/evals/rewards\";\nimport { compileModelTasksetReward } from \"./model-taskset-derivation.js\";\nimport { createTasksetPackage, resolveTasksetPackageInstructions, validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { decodeTasksetPackageFile } from \"./taskset-package-files.js\";\nimport { resolveTasksetPackageExecution } from \"./taskset-package-execution.js\";\n\n/** Bind a saved Reward without rewriting task envelopes, private context, tools\n * or arbitrary binary files. Compatibility is admission, not qualification. */\nexport function bindOrdinaryModelTasksetReward(input: {\n owner: { scopeId: string; modelId: string };\n source: TasksetPackage;\n rewardBinding: RewardBinding;\n rewards: RewardRelease[];\n assets: LearningTextAsset[];\n}): TasksetPackage {\n const source = validateTasksetPackage(input.source);\n if (source.modelResources || source.learningResources) throw new Error(\"Binding an ordinary Reward requires an ordinary source package.\");\n const instructions = resolveTasksetPackageInstructions(source);\n if (!instructions.trim()) throw new Error(\"Add collection instructions before selecting a saved Reward.\");\n const assets = new Map<string, LearningTextAsset>();\n const execution = resolveTasksetPackageExecution(source);\n for (const asset of execution?.assets ?? []) assets.set(asset.id, asset);\n const contextIds = new Set([\n ...source.taskset.tasks.flatMap(task => task.privilegedContextRef ? [task.privilegedContextRef] : []),\n ...[source.environment.actionSchemaRef, source.environment.observationSchemaRef, source.environment.stateSchemaRef].flatMap(ref => ref ? [ref.id] : []),\n ]);\n for (const id of contextIds) {\n if (assets.has(id)) continue;\n const file = source.files.find(file => file.asset.id === id);\n if (!file) throw new Error(`Source Taskset context is missing: ${id}.`);\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(decodeTasksetPackageFile(file));\n assets.set(id, LearningTextAssetSchema.parse(sealLearningContent({ schemaVersion: \"openpond.learningTextAsset.v1\", id, revision: 1, asset: file.asset, text })));\n }\n for (const asset of input.assets) {\n const original = source.files.find(file => file.asset.id === asset.id);\n if (original && sealLearningContent({ asset: original.asset }).contentHash !== sealLearningContent({ asset: asset.asset }).contentHash) throw new Error(`Selected Reward conflicts with a source asset: ${asset.id}.`);\n assets.set(asset.id, asset);\n }\n const { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease } = source.taskset;\n const taskDefinition = TaskDefinitionSchema.parse(sealLearningContent({\n schemaVersion: \"openpond.taskDefinition.v1\", id: `${source.taskset.id}-definition`, revision: 1,\n name: source.taskset.id, description: \"\", instructions, category: \"custom\", familyNamespace: source.taskset.id,\n inputSchema: { type: \"object\" }, outputSchema: { type: \"object\" },\n rewardBinding: learningRef(input.rewardBinding), harness: null,\n execution: { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease },\n }));\n const derived = compileModelTasksetReward({ ...input, assets: [...assets.values()], source: {\n taskset: source.taskset, taskDefinition, instructionMode: \"per_task\",\n executionResources: { environment: source.environment, verifierSet: source.verifierSet },\n ...(execution ? { execution: execution.execution } : {}),\n } });\n const files = new Map(source.files.map(file => [file.asset.id, file]));\n for (const asset of derived.assets) {\n let raw = \"\";\n for (const byte of new TextEncoder().encode(asset.text)) raw += String.fromCharCode(byte);\n files.set(asset.id, { asset: asset.asset, base64: btoa(raw) });\n }\n const { taskset, executionResources, ...modelResources } = derived;\n return createTasksetPackage({ schemaVersion: \"openpond.tasksetPackage.v1\", taskset, ...executionResources!, modelResources, files: [...files.values()] });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { LearningDomainError, learningRef, sameLearningRef, requireLearningRelease, requireLearningResource, taskBatchPackageMetadata,\n type LearningResourcePointer, type LearningTransaction } from \"@openpond/evals/learning\";\nimport { validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { ModelBatchReviewInspectionSchema, ModelBatchReviewReceiptSchema, ModelBatchReviewRequestSchema, type ModelBatchReviewRequest } from \"./model-batch-review-contracts.js\";\nimport { prepareModelBatchReview } from \"./model-batch-review-preparation.js\";\n\nexport * from \"./model-batch-review-contracts.js\";\nexport { LearningDomainError as ModelBatchReviewError } from \"@openpond/evals/learning\";\n\nconst operation = (request: ModelBatchReviewRequest) => `model-batch-review-${contentHash([request.modelId, request.operationId])}`;\n\nexport function inspectModelBatchPackage(raw: unknown) {\n const value = validateTasksetPackage(raw);\n if (!value.learningResources) throw new LearningDomainError(\"model_review_batch_required\", 422);\n const metadata = taskBatchPackageMetadata(value.taskset);\n return ModelBatchReviewInspectionSchema.parse({ schemaVersion: \"openpond.modelBatchReviewInspection.v1\", packageHash: value.contentHash,\n definition: metadata.definition, binding: metadata.binding, evidence: value.learningResources.evidence, decisions: value.learningResources.decisions });\n}\n\nexport async function findModelBatchReview(transaction: LearningTransaction, raw: ModelBatchReviewRequest) {\n const request = ModelBatchReviewRequestSchema.parse(raw);\n const prior = await transaction.operation(operation(request));\n if (!prior) return null;\n if (prior.requestHash !== contentHash(request)) throw new LearningDomainError(\"learning_idempotency_conflict\", 409);\n return readReceipt(transaction, request, prior.resources);\n}\n\n/** Run inside the host's scope/Model revision transaction after verifying the\n * selected source package. This publishes new editable evidence, never a Model\n * attachment, admission, source credential, grade, or training job. */\nexport async function beginModelBatchReview(transaction: LearningTransaction, input: {\n scope: string; request: ModelBatchReviewRequest; package: TasksetPackage; now: string;\n}) {\n const request = ModelBatchReviewRequestSchema.parse(input.request);\n const prior = await findModelBatchReview(transaction, request);\n if (prior) return prior;\n const value = validateTasksetPackage(input.package);\n if (!value.learningResources) throw new LearningDomainError(\"model_review_batch_required\", 422);\n const metadata = taskBatchPackageMetadata(value.taskset);\n const selected = request.rewardBindingRef;\n const retained = !selected || sameLearningRef(selected, learningRef(metadata.binding));\n const binding = retained ? metadata.binding : await requireLearningRelease(transaction, \"binding\", selected);\n const rewards = retained ? metadata.rewards : await Promise.all(binding.sources.map(source => requireLearningRelease(transaction, \"reward\", source.reward)));\n const assetIds = new Set(rewards.flatMap(reward => [...reward.assets,\n ...(\"verifierRef\" in reward.implementation ? [reward.implementation.verifierRef] : []),\n ...(\"rubricRef\" in reward.implementation ? [reward.implementation.rubricRef] : []),\n ...(\"inputContract\" in reward.implementation ? [reward.implementation.inputContract] : []),\n ]).map(asset => asset.id));\n const assets = retained ? value.learningResources.assets : await Promise.all([...assetIds].map(id => requireLearningResource(transaction, \"asset\", id, 1)));\n const prepared = prepareModelBatchReview({ ...input, request, package: value, binding, rewards, assets });\n const pointers: LearningResourcePointer[] = [];\n for (const asset of prepared.assets) {\n const existing = await transaction.get(\"asset\", asset.id, 1);\n if (existing && existing.contentHash !== asset.contentHash) throw new LearningDomainError(\"model_review_asset_conflict\", 409);\n if (!existing) await transaction.put(\"asset\", asset, 0);\n }\n for (const reward of prepared.rewards) await transaction.put(\"reward\", reward, 0);\n await transaction.put(\"binding\", prepared.binding, 0);\n await transaction.put(\"definition\", prepared.definition, 0);\n await transaction.put(\"source\", prepared.source, 0, { parentId: request.modelId });\n pointers.push({ kind: \"source\", id: prepared.source.id, revision: 1 });\n for (const evidence of prepared.evidence) {\n await transaction.put(\"evidence\", evidence, 0, { parentId: prepared.source.id });\n pointers.push({ kind: \"evidence\", id: evidence.id, revision: 1 });\n }\n for (const proposal of prepared.proposals) {\n await transaction.put(\"feedback\", proposal, 0, { parentId: proposal.evidence!.id, status: proposal.status });\n pointers.push({ kind: \"feedback\", id: proposal.id, revision: 1 });\n }\n await transaction.saveOperation(operation(request), { requestHash: contentHash(request), resources: pointers });\n return readReceipt(transaction, request, pointers);\n}\n\nasync function readReceipt(transaction: LearningTransaction, request: ModelBatchReviewRequest, pointers: LearningResourcePointer[]) {\n const resources = await Promise.all(pointers.map(pointer => requireLearningResource(transaction, pointer.kind, pointer.id, pointer.revision)));\n return ModelBatchReviewReceiptSchema.parse({ schemaVersion: \"openpond.modelBatchReviewReceipt.v1\", operationId: request.operationId,\n modelId: request.modelId, source: resources.find(resource => resource.schemaVersion === \"openpond.learningSource.v1\"),\n evidence: resources.filter(resource => resource.schemaVersion === \"openpond.taskEvidence.v1\"),\n proposals: resources.filter(resource => resource.schemaVersion === \"openpond.taskFeedbackRecord.v1\"),\n });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { LearningDomainError, LearningSourceSchema, TaskDefinitionSchema, TaskEvidenceSchema, TaskFeedbackSchema,\n assertLearningContentHash, learningEvidenceId, learningRef, sameLearningRef, sealLearningContent,\n taskBatchPackageMetadata, verifyLearningTextAsset, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport { compileBoundGraders, createRewardBinding, createRewardRelease, resolveBoundRewards, type RewardBinding, type RewardRelease } from \"@openpond/evals/rewards\";\nimport type { TasksetPackage } from \"./taskset-package-contracts.js\";\nimport type { ModelBatchReviewRequest } from \"./model-batch-review-contracts.js\";\n\n/** Hosts supply the authorized package and selected Reward graph. Only this\n * new namespace becomes editable; parent sources and decisions are not copied. */\nexport function prepareModelBatchReview(input: {\n scope: string; request: ModelBatchReviewRequest; package: TasksetPackage; now: string;\n binding: RewardBinding; rewards: RewardRelease[]; assets: LearningTextAsset[];\n}) {\n const { request, package: value } = input;\n const learning = value.learningResources;\n if (!learning) throw new LearningDomainError(\"model_review_batch_required\", 422);\n const metadata = taskBatchPackageMetadata(value.taskset);\n const id = `model-review-${contentHash([input.scope, request.modelId, request.operationId])}`;\n const edits = new Map(request.examples.map(edit => [contentHash(edit.evidence), edit]));\n const parentRefs = new Set(learning.evidence.map(evidence => contentHash(learningRef(evidence))));\n const decisions = new Map(learning.decisions.map(decision => [contentHash(decision.evidence), decision]));\n if (edits.size !== request.examples.length || request.examples.some(edit => !parentRefs.has(contentHash(edit.evidence)))) {\n throw new LearningDomainError(\"model_review_evidence_mismatch\", 409);\n }\n for (const resource of [input.binding, ...input.rewards, ...input.assets]) assertLearningContentHash(resource);\n resolveBoundRewards(input.binding, input.rewards);\n const rewardByHash = new Map<string, RewardRelease>();\n for (const source of input.binding.sources) {\n const original = input.rewards.find(reward => sameLearningRef(learningRef(reward), source.reward))!;\n const { contentHash: _hash, ...content } = original;\n rewardByHash.set(original.contentHash, createRewardRelease({ ...content, id: `${id}-reward-${original.contentHash}`, revision: 1 }));\n }\n const rewards = [...rewardByHash.values()];\n const { contentHash: _bindingHash, recipeRef: _recipe, ...bindingContent } = input.binding;\n const binding = createRewardBinding({ ...bindingContent, id: `${id}-binding`, revision: 1,\n sources: input.binding.sources.map(source => ({ ...source, reward: learningRef(rewardByHash.get(source.reward.contentHash)!) })),\n }, rewards);\n const assetRefs = rewards.flatMap(reward => [...reward.assets,\n ...(\"verifierRef\" in reward.implementation ? [reward.implementation.verifierRef] : []),\n ...(\"rubricRef\" in reward.implementation ? [reward.implementation.rubricRef] : []),\n ...(\"inputContract\" in reward.implementation ? [reward.implementation.inputContract] : []),\n ]);\n const assets = [...new Map(assetRefs.map(ref => {\n const asset = input.assets.find(asset => asset.id === ref.id);\n if (!asset) throw new LearningDomainError(\"model_review_reward_asset_missing\", 422);\n verifyLearningTextAsset(asset, ref);\n if (ref.visibility === \"policy\") throw new LearningDomainError(\"reward_asset_visibility_invalid\", 422);\n return [asset.id, asset] as const;\n })).values()];\n // New graders invalidate the parent's verifier-set identity. Preparation of\n // the newly sealed batch will bind its own exact execution releases.\n const { environmentRelease: _environment, verifierSetRelease: _verifiers, ...execution } = metadata.definition.execution;\n const { contentHash: _definitionHash, ...definitionContent } = metadata.definition;\n const definition = TaskDefinitionSchema.parse(sealLearningContent({ ...definitionContent, ...request.definition,\n id: `${id}-definition`, revision: 1, rewardBinding: learningRef(binding), execution: { ...execution,\n policy: { ...execution.policy, hiddenGraderRefs: compileBoundGraders(binding, rewards).filter(grader => grader.privileged).map(grader => grader.id) },\n },\n }));\n const source = LearningSourceSchema.parse(sealLearningContent({\n schemaVersion: \"openpond.learningSource.v1\", id, revision: 1, name: `${definition.name} review`, kind: \"direct\",\n taskDefinition: learningRef(definition), enabled: true, allowedSplits: [...new Set(learning.evidence.map(item => item.submission.split))],\n mapping: null, adapterVersion: null, reviewOrigin: { modelId: request.modelId, packageHash: value.contentHash,\n taskset: learningRef(value.taskset), batch: learningRef(learning.batch), rewardBinding: learningRef(input.binding) },\n }));\n const evidence = learning.evidence.map(parent => {\n const edit = edits.get(contentHash(learningRef(parent)));\n // Example/attempt IDs are unique within the original source, not across\n // all sources in a batch. Preserve both parents when merging namespaces.\n const attemptId = `review-${parent.contentHash}`;\n const policyChanged = contentHash({ instructions: definition.instructions, inputSchema: definition.inputSchema, outputSchema: definition.outputSchema, requiredOutputs: definition.requiredOutputs ?? [],\n input: edit?.input ?? parent.submission.input }) !== contentHash({ instructions: metadata.definition.instructions,\n inputSchema: metadata.definition.inputSchema, outputSchema: metadata.definition.outputSchema, requiredOutputs: metadata.definition.requiredOutputs ?? [], input: parent.submission.input });\n return TaskEvidenceSchema.parse(sealLearningContent({\n schemaVersion: \"openpond.taskEvidence.v1\", id: learningEvidenceId(source.id, parent.submission.exampleId, attemptId), revision: 1,\n source: learningRef(source), submission: { ...parent.submission, sourceId: source.id, taskDefinition: learningRef(definition),\n attemptId,\n // The old response was observed under the old policy-visible task. Its\n // parent snapshot remains available, but it is not a run of new inputs.\n observedOutput: policyChanged ? null : parent.submission.observedOutput,\n idempotencyKey: `${id}-${parent.contentHash}`, ...(edit?.input === undefined ? {} : { input: edit.input }),\n ...(edit?.expected === undefined ? {} : { expected: edit.expected }),\n ...(edit?.evaluatorContext === undefined ? {} : { evaluatorContext: edit.evaluatorContext }),\n }, supersedes: learningRef(parent), correctionFeedbackId: null, receivedAt: input.now,\n }));\n });\n const proposals = evidence.flatMap(item => {\n const edit = edits.get(contentHash(item.supersedes));\n const decision = decisions.get(contentHash(item.supersedes))!;\n const target = edit?.proposedTarget === undefined ? decision.approvedTarget : edit.proposedTarget;\n return target === null ? [] : [TaskFeedbackSchema.parse({\n schemaVersion: \"openpond.taskFeedbackRecord.v1\", id: `feedback-${contentHash([id, item.id])}`, revision: 1,\n submission: { schemaVersion: \"openpond.taskFeedback.v1\", sourceId: source.id, idempotencyKey: `${id}-${item.id}`,\n exampleId: item.submission.exampleId, attemptId: item.submission.attemptId, expectedEvidenceHash: item.contentHash,\n occurredAt: input.now, kind: \"target_correction\", value: target, note: \"Proposed target for the revised task. Grade and review before admission.\" },\n status: \"pending_review\", evidence: learningRef(item), createdAt: input.now, review: null,\n })];\n });\n return { source, definition, binding, rewards, assets, evidence, proposals };\n}\n", "import { GraderFixtureSchema, TasksetEnvironmentResourceSchema, TasksetSourceRefSchema } from \"./taskset-draft-core.js\";\nimport { TasksetSchema, type GeneratedTaskFile } from \"./taskset-authored-contracts.js\";\nimport { contentHash } from \"@openpond/harness\";\nimport { z } from \"zod\";\nimport { learningRef, taskBatchPackageMetadata, verifyLearningTextAsset } from \"@openpond/evals/learning\";\nimport { computeTasksetHash } from \"./taskset-authored-validation.js\";\nimport { createTasksetDraft } from \"./taskset-draft-authoring.js\";\nimport { learningVerifierModule, projectLearningBatchGraders, importedPackageGraders } from \"./taskset-package-grader-projection.js\";\nimport { decodeTasksetPackageFile, resolveTasksetPackageInstructions, validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\n\n/** Local identity includes Profile and provenance; portable identity stays in\n * the receipt. Downloading does not approve targets, privacy or licensing. */\nexport function prepareImportedTasksetPackage(input: {\n package: TasksetPackage; profileId: string; name: string; createdAt: string;\n}) {\n const value = validateTasksetPackage(input.package);\n const release = value.taskset;\n const resources = value.modelResources;\n const learning = value.learningResources ? taskBatchPackageMetadata(release) : undefined;\n const source = TasksetSourceRefSchema.parse({\n schemaVersion: \"openpond.uploadedFileDatasetSource.v1\", kind: \"uploaded_file\",\n id: `package-source-${contentHash({ profileId: input.profileId, packageHash: value.contentHash })}`,\n profileId: input.profileId, title: input.name, sourceHash: value.contentHash, occurredAt: input.createdAt,\n licensingStatus: \"pending\", secretScanStatus: \"pending\", piiScanStatus: \"pending\",\n originalFileNames: [\"taskset-package.json\"], mediaTypes: [\"application/json\"], sourceFileHashes: [value.contentHash],\n totalBytes: new TextEncoder().encode(JSON.stringify(value)).byteLength, parserVersion: \"openpond.tasksetPackage.v1\", metadata: {},\n });\n const draft = createTasksetDraft({ profileId: input.profileId, id: `${release.id}-import`, name: input.name, now: input.createdAt });\n const files: GeneratedTaskFile[] = [];\n for (const grader of release.graders) if (grader.kind === \"custom_verifier\") {\n const asset = resources?.assets.find(asset => asset.id === grader.verifierRef.id);\n const file = value.files.find(file => file.asset.id === grader.verifierRef.id);\n if (!file) throw new Error(`Imported verifier source is missing: ${grader.id}.`);\n const name = learningVerifierModule(grader.verifierRef.contentHash);\n if (!files.some(file => file.path === name)) files.push({ path: name, role: \"verifier\", content: asset ? verifyLearningTextAsset(asset, grader.verifierRef) : new TextDecoder(\"utf-8\", { fatal: true }).decode(decodeTasksetPackageFile(file)) });\n }\n const authoring = (release.metadata.ordinaryAuthoring ?? release.metadata.starterAuthoring) as { graderFixtures?: unknown } | undefined;\n const fixtures = GraderFixtureSchema.array().max(100_000).parse(authoring?.graderFixtures ?? []);\n const kind = release.environment.kind === \"text\" ? \"chat\" : release.environment.kind === \"custom_program\" ? \"program\" : release.environment.kind;\n const stagingPaths = z.record(z.string(), z.record(z.string(), z.string())).parse(release.metadata.workAssetStagingPaths ?? {});\n const projected = TasksetSchema.parse({\n schemaVersion: \"openpond.taskset.v1\", id: release.id, revision: release.revision,\n profileId: input.profileId, profileRelease: null, createImproveRunId: null,\n name: input.name, objective: resolveTasksetPackageInstructions(value), status: \"needs_review\",\n sourceRefs: [source], datasetArtifact: null, policy: release.policy,\n environment: { ...draft.environment, kind, entrypoint: release.environment.entrypoint,\n resources: TasksetEnvironmentResourceSchema.array().max(10_000).parse(release.metadata.environmentResources ?? []),\n stateful: release.environment.stateful, deterministicSeeds: release.environment.deterministicSeeds,\n toolNames: release.tools.map(tool => tool.name), defaultTimeoutMs: release.environment.defaultTimeoutMs,\n networkPolicy: release.environment.networkPolicy, metadata: {\n runtimeSourceTasksetId: tasksetPackageSourceId(input.profileId, value.contentHash),\n portableEnvironment: release.environment, portableTools: release.tools,\n portableExecutionResources: { environment: value.environment, verifierSet: value.verifierSet },\n } },\n capabilities: { ...draft.capabilities, taskKind: kind === \"chat\" ? \"chat\" : kind === \"program\" ? \"custom_program\" : \"single_agent\",\n compatibleMethods: [\"none\"], requiresTools: release.tools.length > 0, requiresState: release.environment.stateful,\n rewardKinds: [...new Set(release.graders.map(grader => grader.kind === \"human\" ? \"human\" : grader.kind === \"model_judge\" ? \"model_judge\" : \"deterministic\"))],\n },\n tasks: release.tasks.map(task => ({ ...task, schemaVersion: \"openpond.taskData.v1\", sourceRefs: [source.id],\n assets: task.artifactRefs.map(asset => ({ id: asset.id, sourceRefId: source.id, artifactRef: asset.path,\n fileName: asset.path.split(\"/\").at(-1)!, ...(stagingPaths[task.id]?.[asset.id] ? { stagingPath: stagingPaths[task.id]![asset.id] } : {}),\n mediaType: asset.mediaType, sha256: asset.contentHash,\n sizeBytes: asset.sizeBytes, split: task.split, metadata: { portableAsset: asset } })),\n ...(task.requiredOutputs ? { requiredOutputs: task.requiredOutputs.map(output => ({ ...output,\n schemaRef: output.schemaRef?.id ?? null, maxBytes: output.maxBytes ?? undefined })) } : {}),\n metadata: { portableTaskRecord: task, exampleOrigin: \"imported\" },\n })),\n graders: resources ? projectLearningBatchGraders(resources.rewardBinding, resources.rewards, resources.assets)\n : learning ? projectLearningBatchGraders(learning.binding, learning.rewards, value.learningResources!.assets) : importedPackageGraders(value),\n graderFixtures: fixtures, learningSignals: draft.learningSignals,\n ...(release.metrics ? { metrics: release.metrics } : {}),\n authoringProvenance: { schemaVersion: \"openpond.taskAuthoringProvenance.v1\", model: null, modelConfig: {},\n skillHash: contentHash(\"openpond-package-import-v1\"), promptTemplateVersion: \"package-import-v1\", buildIntent: \"discovery\",\n buildSpecification: null, evidenceHashes: [value.contentHash], tasksetSdkVersion: \"package-import-v1\",\n sourceCommit: null, repairHistory: [], createdAt: input.createdAt },\n readiness: null, contentHash: \"00000000\", createdAt: input.createdAt, updatedAt: input.createdAt,\n metadata: { importedPackageHash: value.contentHash,\n tasksetOutputContract: release.metadata.tasksetOutputContract ?? null,\n ...(learning ? { learning } : {}),\n portableFileInventory: value.files.map(file => ({ asset: file.asset, sourcePath: file.asset.path })),\n ...(resources ? { taskDefinition: learningRef(resources.taskDefinition),\n rewardBinding: learningRef(resources.rewardBinding), rewardExecution: { binding: resources.rewardBinding, rewards: resources.rewards } } : {}),\n portableCapabilities: release.capabilities, derivedPortableMetadata: release.metadata,\n ...(release.metadata.modelTasksetDerivation ? { modelTasksetDerivation: release.metadata.modelTasksetDerivation } : {}),\n },\n });\n return { package: value, taskset: TasksetSchema.parse({ ...projected, contentHash: computeTasksetHash(projected) }), generatedFiles: files };\n}\n\nexport type PreparedImportedTasksetPackage = ReturnType<typeof prepareImportedTasksetPackage> & { reuseExisting?: boolean };\n\n/** Stable source identity; it is never an authorization or object-store pointer. */\nexport function tasksetPackageSourceId(profileId: string, packageHash: string): string {\n return `package-${contentHash({ profileId, packageHash })}`;\n}\n", "import { z } from \"zod\";\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { learningRef, sameLearningRef } from \"@openpond/evals/learning\";\nimport { ModelTasksetDraftPreparationSchema, TasksetDraftFilePathSchema, type ModelTasksetDraftPreparation } from \"./model-taskset-authoring-contracts.js\";\nimport { TasksetDraftSchema, type TasksetDraft } from \"./taskset-draft-document.js\";\nimport { AuthoredTasksetFileInventorySchema } from \"./taskset-authored-files.js\";\nimport { validateTasksetPackage, type TasksetPackage } from \"./taskset-package-contracts.js\";\nimport { isManagedTasksetDraftFilePath } from \"./taskset-draft-files.js\";\nimport { configuredTasksetDraftFiles } from \"./taskset-draft-manifests.js\";\nimport { createTasksetDraftWorkspace, decodeTasksetDraftWorkspaceFile, type TasksetDraftWorkspaceFile } from \"./taskset-draft-workspace.js\";\n\nexport const TasksetDraftSourceInitializationSchema = z.object({\n draft: TasksetDraftSchema,\n filePaths: z.array(z.object({ assetId: z.string().min(1), paths: z.array(TasksetDraftFilePathSchema).min(1).max(10_000) }).strict()).max(10_000),\n}).strict();\nexport type TasksetDraftSourceInitialization = z.infer<typeof TasksetDraftSourceInitializationSchema>;\n\n/** Hosts authorize the source projection and retain this result before writes.\n * Ownership comes from preparation, never from editable projection metadata. */\nexport function prepareTasksetDraftSource(input: { sourceDraft: TasksetDraft; source: TasksetPackage; preparation: ModelTasksetDraftPreparation; expectedModelRevision: number }): TasksetDraftSourceInitialization {\n const source = validateTasksetPackage(input.source);\n const original = TasksetDraftSchema.parse(input.sourceDraft);\n const preparation = ModelTasksetDraftPreparationSchema.parse(input.preparation);\n if (source.contentHash !== preparation.sourcePackageHash || !sameLearningRef(learningRef(source.taskset), preparation.sourceTasksetRef)) throw new Error(\"Taskset draft preparation differs from its source package.\");\n if (source.learningResources) throw new Error(\"Reviewed Tasksets require their reviewed authoring workflow.\");\n if (Boolean(source.modelResources) !== (preparation.authoringGraph === \"bound\")) throw new Error(\"Taskset draft authoring graph differs from its source.\");\n const inventory = AuthoredTasksetFileInventorySchema.parse(original.metadata.portableFileInventory ?? []);\n const sourcePath = (relative: string) => isManagedTasksetDraftFilePath(relative)\n ? `source-artifacts/${source.contentHash}/${contentHash(relative)}/${relative.split(\"/\").at(-1)!}` : relative;\n const references = [...original.tasks.flatMap(task => (task.assets ?? []).map(asset => asset.artifactRef)),\n ...(original.environment.resources ?? []).map(resource => resource.path),\n ...source.taskset.tasks.flatMap(task => (task.requiredOutputs ?? []).flatMap(output => output.schemaRef ? [output.schemaRef.path] : [])),\n ...(original.metrics.customAggregator ? [original.metrics.customAggregator.module] : []),\n ...original.graders.flatMap(grader => grader.kind === \"custom_verifier\" ? [grader.module] : [])];\n if (references.some(isManagedTasksetDraftFilePath)) throw new Error(\"A referenced source asset occupies a reserved Taskset authoring path.\");\n const filePaths = source.files.map(file => {\n const paths = new Set([file.asset.path]);\n for (const entry of inventory) if (entry.asset.id === file.asset.id) paths.add(entry.sourcePath);\n for (const task of original.tasks) for (const asset of task.assets ?? []) if (asset.id === file.asset.id) paths.add(asset.artifactRef);\n for (const grader of source.taskset.graders) if (grader.kind === \"custom_verifier\" && grader.verifierRef.id === file.asset.id) {\n const projected = original.graders.find(candidate => candidate.id === grader.id);\n if (projected?.kind === \"custom_verifier\") paths.add(projected.module);\n }\n return { assetId: file.asset.id, paths: [...paths].map(sourcePath) };\n });\n const metadata = { ...original.metadata };\n if (source.modelResources) for (const key of [\"taskDefinition\", \"rewardBinding\", \"rewardExecution\", \"derivedPortableMetadata\", \"modelTasksetDerivation\", \"importedPackageHash\"]) delete metadata[key];\n const draft = TasksetDraftSchema.parse({ ...original, id: preparation.draftId, revision: 1, status: \"draft\",\n graders: original.graders.map(grader => ({ ...grader, metadata: { ...grader.metadata,\n portableGrader: source.taskset.graders.find(candidate => candidate.id === grader.id) } })),\n environment: { ...original.environment, metadata: { ...original.environment.metadata, portableExecutionResources: { environment: source.environment } } },\n modelScope: { modelId: preparation.lineage.owner.modelId, expectedModelRevision: input.expectedModelRevision, source: preparation },\n publishedTasksetRef: preparation.tasksetRevision > 1 ? preparation.sourceTasksetRef : null,\n metadata: { ...metadata, modelTasksetAuthoring: preparation.lineage,\n portableFileInventory: inventory.map(entry => ({ ...entry, sourcePath: sourcePath(entry.sourcePath), asset: { ...entry.asset,\n id: isManagedTasksetDraftFilePath(entry.sourcePath) ? `source-artifact-${contentHash({ packageHash: source.contentHash, assetId: entry.asset.id })}` : entry.asset.id,\n path: sourcePath(entry.asset.path) } })) },\n });\n return TasksetDraftSourceInitializationSchema.parse({ draft, filePaths });\n}\n\n/** Materialize the retained source into an immutable draft snapshot. Callers\n * must never replace a newer saved snapshot with this initial population. */\nexport function materializeTasksetDraftWorkspace(input: { initialized: TasksetDraftSourceInitialization; source: TasksetPackage }) {\n const initialized = TasksetDraftSourceInitializationSchema.parse(input.initialized);\n const source = validateTasksetPackage(input.source);\n if (initialized.draft.modelScope?.source?.sourcePackageHash !== source.contentHash) throw new Error(\"Taskset draft lost its source preparation.\");\n const files = new Map<string, TasksetDraftWorkspaceFile>();\n for (const mapping of initialized.filePaths) {\n const file = source.files.find(candidate => candidate.asset.id === mapping.assetId);\n if (!file) throw new Error(\"Taskset draft source asset is missing.\");\n for (const path of mapping.paths) {\n const previous = files.get(path);\n if (previous && previous.contentHash !== file.asset.contentHash) throw new Error(\"Taskset draft source paths conflict.\");\n files.set(path, { path, contentHash: file.asset.contentHash, sizeBytes: file.asset.sizeBytes, base64: file.base64 });\n }\n }\n for (const configured of configuredTasksetDraftFiles(initialized.draft)) if (!files.has(configured.relativePath)) {\n const bytes = new TextEncoder().encode(configured.source);\n files.set(configured.relativePath, { path: configured.relativePath, contentHash: sha256(bytes), sizeBytes: bytes.byteLength, base64: Buffer.from(bytes).toString(\"base64\") });\n }\n let draft = initialized.draft;\n if (draft.metrics.customAggregator) {\n const file = files.get(draft.metrics.customAggregator.module);\n if (!file) throw new Error(\"Declared Taskset metric module is missing.\");\n decodeTasksetDraftWorkspaceFile(file);\n draft = TasksetDraftSchema.parse({ ...draft, metrics: { ...draft.metrics, customAggregator: { ...draft.metrics.customAggregator, contentHash: file.contentHash } } });\n }\n return createTasksetDraftWorkspace({ schemaVersion: \"openpond.tasksetDraftWorkspace.v1\", draft, files: [...files.values()] });\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["file", "LearningDomainError", "learningRef", "sameLearningRef", "taskBatchPackageMetadata", "TaskDefinitionSchema", "learningRef", "sealLearningContent", "evidence", "source", "asset", "LearningDomainError", "taskBatchPackageMetadata", "sameLearningRef", "learningRef", "learningRef", "taskBatchPackageMetadata", "verifyLearningTextAsset", "taskBatchPackageMetadata", "asset", "file", "verifyLearningTextAsset", "learningRef", "z", "learningRef", "sameLearningRef", "z", "sameLearningRef", "learningRef"]
7
7
  }
@@ -6,11 +6,11 @@ import {
6
6
  ExperimentImprovementTestRecipeSchema,
7
7
  verifyExperimentImprovementHumanOptions,
8
8
  verifyExperimentImprovementState
9
- } from "./chunk-PMBBNQ2J.js";
9
+ } from "./chunk-D4WTE6ZA.js";
10
10
  import {
11
11
  HarnessPolicySourcePackageSchema,
12
12
  validateHarnessPolicySourcePackage
13
- } from "./chunk-JOKRT4CK.js";
13
+ } from "./chunk-KV6JXPQH.js";
14
14
  import {
15
15
  fetchConnectedJson
16
16
  } from "./chunk-T4APHDES.js";
@@ -157,4 +157,4 @@ export {
157
157
  HostedProfileCandidateCommandSchema,
158
158
  ExperimentImprovementClient
159
159
  };
160
- //# sourceMappingURL=chunk-K2OH56BH.js.map
160
+ //# sourceMappingURL=chunk-UVREOAMH.js.map