openpond-sdk 0.12.25 → 0.12.27

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 (297) hide show
  1. package/LEARNING.md +5 -7
  2. package/OPENTELEMETRY.md +1 -1
  3. package/PRODUCT_INTEGRATION.md +18 -16
  4. package/README.md +5 -14
  5. package/SERVERLESS_SERVING.md +54 -0
  6. package/TASKSETS.md +1 -2
  7. package/TASK_INGESTION.md +3 -8
  8. package/TRAINING_PROTOCOL.md +1 -1
  9. package/TRAINING_WORKFLOWS.md +11 -6
  10. package/dist/advanced-refiner-evaluations.js +9 -8
  11. package/dist/ai-sdk.js +21 -83
  12. package/dist/ai-sdk.js.map +1 -1
  13. package/dist/candidate-evaluations.js +7 -6
  14. package/dist/{chunk-IXFUYPGV.js → chunk-3HOGOWKU.js} +10 -8
  15. package/dist/chunk-3HOGOWKU.js.map +1 -0
  16. package/dist/{chunk-YV6PPDXZ.js → chunk-3Z5IK2UK.js} +27 -2
  17. package/dist/chunk-3Z5IK2UK.js.map +1 -0
  18. package/dist/{chunk-3B5KSH3V.js → chunk-456F3BXD.js} +5 -2
  19. package/dist/chunk-456F3BXD.js.map +1 -0
  20. package/dist/{chunk-GS5HEE4M.js → chunk-4D4QSQC3.js} +2 -2
  21. package/dist/{chunk-3VUF5H3B.js → chunk-534W2O2S.js} +2 -2
  22. package/dist/{chunk-47THZRUM.js → chunk-54BJJL7G.js} +8 -5
  23. package/dist/chunk-54BJJL7G.js.map +1 -0
  24. package/dist/{chunk-ZRTNR4U7.js → chunk-5KJY44FB.js} +3 -3
  25. package/dist/{chunk-GX6KMHW2.js → chunk-7MLFWVDI.js} +33 -11
  26. package/dist/chunk-7MLFWVDI.js.map +1 -0
  27. package/dist/{chunk-RTLJV4OS.js → chunk-7ZV626YS.js} +2 -2
  28. package/dist/{chunk-YS7DF76T.js → chunk-ABOZV47D.js} +3 -3
  29. package/dist/{chunk-DDCR4KB5.js → chunk-BIQ5TG3T.js} +4 -4
  30. package/dist/{chunk-JOMZJXGC.js → chunk-BT6CC6QB.js} +3 -3
  31. package/dist/{chunk-QOX57Y27.js → chunk-CNFN6GHY.js} +6 -3
  32. package/dist/chunk-CNFN6GHY.js.map +1 -0
  33. package/dist/{chunk-RN5MK7NH.js → chunk-CVYGJUWM.js} +3 -3
  34. package/dist/{chunk-QNOCM5JX.js → chunk-CX7ETU2F.js} +2 -2
  35. package/dist/{chunk-EZME7DV4.js → chunk-D7LV3USE.js} +2 -2
  36. package/dist/{chunk-7F43U2NC.js → chunk-GA7OSSEA.js} +3 -3
  37. package/dist/{chunk-T67LNKAK.js → chunk-GFWXDWEE.js} +3 -3
  38. package/dist/{chunk-Z5APNTZE.js → chunk-JYWIKBGD.js} +122 -112
  39. package/dist/chunk-JYWIKBGD.js.map +1 -0
  40. package/dist/{chunk-GV6DEDBU.js → chunk-K4WU4JOP.js} +2 -2
  41. package/dist/{chunk-DH6O4JFB.js → chunk-KJTX4A27.js} +5 -2
  42. package/dist/chunk-KJTX4A27.js.map +1 -0
  43. package/dist/{chunk-JMFYNIYZ.js → chunk-L7MVGGBH.js} +6 -3
  44. package/dist/chunk-L7MVGGBH.js.map +1 -0
  45. package/dist/{chunk-3G3HUA32.js → chunk-LRFVISLA.js} +3 -3
  46. package/dist/{chunk-ZQFROKKS.js → chunk-MJHQMQEW.js} +3 -3
  47. package/dist/{chunk-2OVNKPBZ.js → chunk-MUG4OQKL.js} +5 -2
  48. package/dist/chunk-MUG4OQKL.js.map +1 -0
  49. package/dist/{chunk-C3TS766N.js → chunk-N6LGT7NT.js} +5 -2
  50. package/dist/chunk-N6LGT7NT.js.map +1 -0
  51. package/dist/chunk-ON3KSXWR.js +639 -0
  52. package/dist/chunk-ON3KSXWR.js.map +1 -0
  53. package/dist/chunk-QYWPNNP3.js +9 -0
  54. package/dist/chunk-QYWPNNP3.js.map +1 -0
  55. package/dist/{chunk-PMVSO23F.js → chunk-RMXZISHK.js} +10 -1
  56. package/dist/chunk-RMXZISHK.js.map +1 -0
  57. package/dist/{chunk-626JLH4D.js → chunk-TMNEDWA7.js} +10 -3
  58. package/dist/chunk-TMNEDWA7.js.map +1 -0
  59. package/dist/{chunk-BJMENXR4.js → chunk-TX552FQG.js} +3 -3
  60. package/dist/{chunk-Z252BNAZ.js → chunk-VE5JD5FN.js} +6 -2
  61. package/dist/chunk-VE5JD5FN.js.map +1 -0
  62. package/dist/{chunk-XBFOFTK3.js → chunk-VIDRZCPQ.js} +6 -6
  63. package/dist/{chunk-QRYEXPG7.js → chunk-VRUAIMM3.js} +14 -11
  64. package/dist/chunk-VRUAIMM3.js.map +1 -0
  65. package/dist/{chunk-MVAEE5EI.js → chunk-WJZHSIGD.js} +10 -9
  66. package/dist/chunk-WJZHSIGD.js.map +1 -0
  67. package/dist/{chunk-3MWFN7BA.js → chunk-WPTFJZ4L.js} +8 -5
  68. package/dist/chunk-WPTFJZ4L.js.map +1 -0
  69. package/dist/connected-evidence.js +9 -8
  70. package/dist/dataset-commerce.js +4 -1
  71. package/dist/dataset-commerce.js.map +1 -1
  72. package/dist/dataset-marketplace.js +4 -1
  73. package/dist/dataset-marketplace.js.map +1 -1
  74. package/dist/dataset-workspaces.js +18 -15
  75. package/dist/dataset-workspaces.js.map +1 -1
  76. package/dist/errors.js +2 -1
  77. package/dist/experiment-evaluation-schedules.js +19 -18
  78. package/dist/experiment-improvements.js +8 -7
  79. package/dist/experiments.js +17 -16
  80. package/dist/human-review.js +2 -1
  81. package/dist/index.js +33 -29
  82. package/dist/index.js.map +1 -1
  83. package/dist/learning.js +21 -7
  84. package/dist/learning.js.map +1 -1
  85. package/dist/model-projects.js +2 -1
  86. package/dist/model-starter-attempts.js +3 -2
  87. package/dist/model-starter-catalog.js +8 -5
  88. package/dist/model-starter-catalog.js.map +1 -1
  89. package/dist/model-starters.js +5 -4
  90. package/dist/model-taskset-runs.js +7 -4
  91. package/dist/model-taskset-runs.js.map +1 -1
  92. package/dist/post-training.js +7 -6
  93. package/dist/taskset-catalog.js +2 -1
  94. package/dist/taskset-drafts.js +11 -8
  95. package/dist/taskset-drafts.js.map +1 -1
  96. package/dist/taskset-packages.js +14 -11
  97. package/dist/tool-learning.js +4 -1
  98. package/dist/tool-learning.js.map +1 -1
  99. package/dist/training-bundle.js +47 -20
  100. package/dist/training-bundle.js.map +1 -1
  101. package/dist/training-hardware.js +3 -2
  102. package/dist/training-projects.js +4 -1
  103. package/dist/training-projects.js.map +1 -1
  104. package/dist/training.js +5718 -4337
  105. package/dist/training.js.map +1 -1
  106. package/dist/types/packages/sdk/src/ai-sdk.d.ts.map +1 -1
  107. package/dist/types/packages/sdk/src/alphaedit-model-serving.d.ts +8 -4
  108. package/dist/types/packages/sdk/src/alphaedit-model-serving.d.ts.map +1 -1
  109. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +162 -162
  110. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +1 -1
  111. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
  112. package/dist/types/packages/sdk/src/connected-sync.d.ts +1 -1
  113. package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -1
  114. package/dist/types/packages/sdk/src/dataset-commerce.d.ts +1 -1
  115. package/dist/types/packages/sdk/src/dataset-commerce.d.ts.map +1 -1
  116. package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +1 -1
  117. package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -1
  118. package/dist/types/packages/sdk/src/dataset-population.d.ts +1 -1
  119. package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
  120. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +1 -1
  121. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -1
  122. package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts +1 -1
  123. package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts.map +1 -1
  124. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +1 -1
  125. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  126. package/dist/types/packages/sdk/src/decision-model-serving.d.ts +4 -2
  127. package/dist/types/packages/sdk/src/decision-model-serving.d.ts.map +1 -1
  128. package/dist/types/packages/sdk/src/endpoints.d.ts +4 -0
  129. package/dist/types/packages/sdk/src/endpoints.d.ts.map +1 -0
  130. package/dist/types/packages/sdk/src/engram-model-serving.d.ts +3 -1
  131. package/dist/types/packages/sdk/src/engram-model-serving.d.ts.map +1 -1
  132. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts +1 -1
  133. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -1
  134. package/dist/types/packages/sdk/src/experiment-client.d.ts +700 -692
  135. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  136. package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts +34 -28
  137. package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts.map +1 -1
  138. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +1890 -1890
  139. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -1
  140. package/dist/types/packages/sdk/src/experiment-inspection.d.ts +1 -1
  141. package/dist/types/packages/sdk/src/experiment-inspection.d.ts.map +1 -1
  142. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +7 -7
  143. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +21 -3
  144. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts.map +1 -1
  145. package/dist/types/packages/sdk/src/grader-inspection.d.ts +1 -1
  146. package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
  147. package/dist/types/packages/sdk/src/human-review-client.d.ts +1 -1
  148. package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -1
  149. package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
  150. package/dist/types/packages/sdk/src/learning-client.d.ts +1 -1
  151. package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -1
  152. package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts +1 -1
  153. package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts.map +1 -1
  154. package/dist/types/packages/sdk/src/learning.d.ts +1 -0
  155. package/dist/types/packages/sdk/src/learning.d.ts.map +1 -1
  156. package/dist/types/packages/sdk/src/managed-alphaedit-executions.d.ts +272 -16
  157. package/dist/types/packages/sdk/src/managed-alphaedit-executions.d.ts.map +1 -1
  158. package/dist/types/packages/sdk/src/managed-compute-price.d.ts +53 -1
  159. package/dist/types/packages/sdk/src/managed-compute-price.d.ts.map +1 -1
  160. package/dist/types/packages/sdk/src/managed-decision-executions.d.ts +612 -356
  161. package/dist/types/packages/sdk/src/managed-decision-executions.d.ts.map +1 -1
  162. package/dist/types/packages/sdk/src/managed-engram-executions.d.ts +272 -16
  163. package/dist/types/packages/sdk/src/managed-engram-executions.d.ts.map +1 -1
  164. package/dist/types/packages/sdk/src/managed-modification-executions.d.ts +208 -16
  165. package/dist/types/packages/sdk/src/managed-modification-executions.d.ts.map +1 -1
  166. package/dist/types/packages/sdk/src/managed-neuron-training-executions.d.ts +272 -16
  167. package/dist/types/packages/sdk/src/managed-neuron-training-executions.d.ts.map +1 -1
  168. package/dist/types/packages/sdk/src/managed-serving-usage.d.ts +3 -0
  169. package/dist/types/packages/sdk/src/managed-serving-usage.d.ts.map +1 -1
  170. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +25 -25
  171. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
  172. package/dist/types/packages/sdk/src/model-learning-capabilities.d.ts +4 -0
  173. package/dist/types/packages/sdk/src/model-learning-capabilities.d.ts.map +1 -0
  174. package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
  175. package/dist/types/packages/sdk/src/model-projects.d.ts +1 -1
  176. package/dist/types/packages/sdk/src/model-projects.d.ts.map +1 -1
  177. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +1 -1
  178. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  179. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +1 -1
  180. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
  181. package/dist/types/packages/sdk/src/model-supervised-training-defaults.d.ts.map +1 -1
  182. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +1 -1
  183. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  184. package/dist/types/packages/sdk/src/model-training-defaults.d.ts +5 -2
  185. package/dist/types/packages/sdk/src/model-training-defaults.d.ts.map +1 -1
  186. package/dist/types/packages/sdk/src/neuron-training-model-serving.d.ts +8 -4
  187. package/dist/types/packages/sdk/src/neuron-training-model-serving.d.ts.map +1 -1
  188. package/dist/types/packages/sdk/src/post-training.d.ts +7 -7
  189. package/dist/types/packages/sdk/src/product-model-response.d.ts +6 -2
  190. package/dist/types/packages/sdk/src/product-model-response.d.ts.map +1 -1
  191. package/dist/types/packages/sdk/src/product-model-transport.d.ts +99 -0
  192. package/dist/types/packages/sdk/src/product-model-transport.d.ts.map +1 -0
  193. package/dist/types/packages/sdk/src/product-model-wire.d.ts +104 -0
  194. package/dist/types/packages/sdk/src/product-model-wire.d.ts.map +1 -0
  195. package/dist/types/packages/sdk/src/product-models.d.ts +18 -15
  196. package/dist/types/packages/sdk/src/product-models.d.ts.map +1 -1
  197. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +1 -1
  198. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -1
  199. package/dist/types/packages/sdk/src/serverless-serving.d.ts +564 -0
  200. package/dist/types/packages/sdk/src/serverless-serving.d.ts.map +1 -0
  201. package/dist/types/packages/sdk/src/steering-model-serving.d.ts +2211 -494
  202. package/dist/types/packages/sdk/src/steering-model-serving.d.ts.map +1 -1
  203. package/dist/types/packages/sdk/src/steering-profile-publication.d.ts +631 -0
  204. package/dist/types/packages/sdk/src/steering-profile-publication.d.ts.map +1 -1
  205. package/dist/types/packages/sdk/src/taskset-catalog.d.ts +1 -1
  206. package/dist/types/packages/sdk/src/taskset-catalog.d.ts.map +1 -1
  207. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +1 -1
  208. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
  209. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +1 -1
  210. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  211. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +20 -20
  212. package/dist/types/packages/sdk/src/taskset-packages.d.ts +1 -0
  213. package/dist/types/packages/sdk/src/taskset-packages.d.ts.map +1 -1
  214. package/dist/types/packages/sdk/src/taskset-text-policy.d.ts +11 -0
  215. package/dist/types/packages/sdk/src/taskset-text-policy.d.ts.map +1 -0
  216. package/dist/types/packages/sdk/src/tool-learning-client.d.ts +1 -1
  217. package/dist/types/packages/sdk/src/tool-learning-client.d.ts.map +1 -1
  218. package/dist/types/packages/sdk/src/training-compute-selection.d.ts +6 -19
  219. package/dist/types/packages/sdk/src/training-compute-selection.d.ts.map +1 -1
  220. package/dist/types/packages/sdk/src/training-estimates.d.ts +1 -1
  221. package/dist/types/packages/sdk/src/training-experiment-setup.d.ts +4 -1
  222. package/dist/types/packages/sdk/src/training-experiment-setup.d.ts.map +1 -1
  223. package/dist/types/packages/sdk/src/training-harness-sources.d.ts +2 -2
  224. package/dist/types/packages/sdk/src/training-model-serving-control.d.ts +630 -0
  225. package/dist/types/packages/sdk/src/training-model-serving-control.d.ts.map +1 -1
  226. package/dist/types/packages/sdk/src/training-model-serving.d.ts +1665 -7
  227. package/dist/types/packages/sdk/src/training-model-serving.d.ts.map +1 -1
  228. package/dist/types/packages/sdk/src/training-operations.d.ts +11197 -0
  229. package/dist/types/packages/sdk/src/training-operations.d.ts.map +1 -0
  230. package/dist/types/packages/sdk/src/training-project-client.d.ts +1 -1
  231. package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
  232. package/dist/types/packages/sdk/src/training-supervised.d.ts +13 -0
  233. package/dist/types/packages/sdk/src/training-supervised.d.ts.map +1 -1
  234. package/dist/types/packages/sdk/src/training-transport.d.ts +5 -2
  235. package/dist/types/packages/sdk/src/training-transport.d.ts.map +1 -1
  236. package/dist/types/packages/sdk/src/training.d.ts +16869 -5331
  237. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  238. package/dist/types/packages/sdk/src/types.d.ts +2 -2
  239. package/dist/types/packages/sdk/src/types.d.ts.map +1 -1
  240. package/dist/types/packages/sdk/src/weight-inference.d.ts +8 -5
  241. package/dist/types/packages/sdk/src/weight-inference.d.ts.map +1 -1
  242. package/dist/types/packages/sdk/src/weight-model-versions.d.ts +2089 -398
  243. package/dist/types/packages/sdk/src/weight-model-versions.d.ts.map +1 -1
  244. package/dist/types/packages/sdk/src/weight-space-artifact.d.ts +433 -0
  245. package/dist/types/packages/sdk/src/weight-space-artifact.d.ts.map +1 -0
  246. package/dist/types/packages/sdk/src/weight-space-evaluation.d.ts +1437 -0
  247. package/dist/types/packages/sdk/src/weight-space-evaluation.d.ts.map +1 -0
  248. package/dist/types/packages/sdk/src/weight-space-model-serving.d.ts +2910 -0
  249. package/dist/types/packages/sdk/src/weight-space-model-serving.d.ts.map +1 -0
  250. package/dist/types/packages/sdk/src/weight-space-programming.d.ts +845 -0
  251. package/dist/types/packages/sdk/src/weight-space-programming.d.ts.map +1 -0
  252. package/dist/types/packages/sdk/src/weight-space-sessions.d.ts +4600 -0
  253. package/dist/types/packages/sdk/src/weight-space-sessions.d.ts.map +1 -0
  254. package/examples/learning/submit.py +1 -1
  255. package/examples/learning/submit.ts +2 -2
  256. package/examples/training/continual.ts +4 -4
  257. package/examples/training/manual.ts +1 -3
  258. package/fixtures/python-foundation/operation-matrix.json +369 -0
  259. package/fixtures/python-foundation/schemas.json +37612 -30866
  260. package/fixtures/python-foundation/training-estimate-http-workflow.json +1 -1
  261. package/package.json +3 -2
  262. package/dist/chunk-2OVNKPBZ.js.map +0 -1
  263. package/dist/chunk-3B5KSH3V.js.map +0 -1
  264. package/dist/chunk-3MWFN7BA.js.map +0 -1
  265. package/dist/chunk-47THZRUM.js.map +0 -1
  266. package/dist/chunk-626JLH4D.js.map +0 -1
  267. package/dist/chunk-BRP3EBCR.js +0 -245
  268. package/dist/chunk-BRP3EBCR.js.map +0 -1
  269. package/dist/chunk-C3TS766N.js.map +0 -1
  270. package/dist/chunk-DH6O4JFB.js.map +0 -1
  271. package/dist/chunk-GX6KMHW2.js.map +0 -1
  272. package/dist/chunk-IXFUYPGV.js.map +0 -1
  273. package/dist/chunk-JMFYNIYZ.js.map +0 -1
  274. package/dist/chunk-MVAEE5EI.js.map +0 -1
  275. package/dist/chunk-PMVSO23F.js.map +0 -1
  276. package/dist/chunk-QOX57Y27.js.map +0 -1
  277. package/dist/chunk-QRYEXPG7.js.map +0 -1
  278. package/dist/chunk-YV6PPDXZ.js.map +0 -1
  279. package/dist/chunk-Z252BNAZ.js.map +0 -1
  280. package/dist/chunk-Z5APNTZE.js.map +0 -1
  281. /package/dist/{chunk-GS5HEE4M.js.map → chunk-4D4QSQC3.js.map} +0 -0
  282. /package/dist/{chunk-3VUF5H3B.js.map → chunk-534W2O2S.js.map} +0 -0
  283. /package/dist/{chunk-ZRTNR4U7.js.map → chunk-5KJY44FB.js.map} +0 -0
  284. /package/dist/{chunk-RTLJV4OS.js.map → chunk-7ZV626YS.js.map} +0 -0
  285. /package/dist/{chunk-YS7DF76T.js.map → chunk-ABOZV47D.js.map} +0 -0
  286. /package/dist/{chunk-DDCR4KB5.js.map → chunk-BIQ5TG3T.js.map} +0 -0
  287. /package/dist/{chunk-JOMZJXGC.js.map → chunk-BT6CC6QB.js.map} +0 -0
  288. /package/dist/{chunk-RN5MK7NH.js.map → chunk-CVYGJUWM.js.map} +0 -0
  289. /package/dist/{chunk-QNOCM5JX.js.map → chunk-CX7ETU2F.js.map} +0 -0
  290. /package/dist/{chunk-EZME7DV4.js.map → chunk-D7LV3USE.js.map} +0 -0
  291. /package/dist/{chunk-7F43U2NC.js.map → chunk-GA7OSSEA.js.map} +0 -0
  292. /package/dist/{chunk-T67LNKAK.js.map → chunk-GFWXDWEE.js.map} +0 -0
  293. /package/dist/{chunk-GV6DEDBU.js.map → chunk-K4WU4JOP.js.map} +0 -0
  294. /package/dist/{chunk-3G3HUA32.js.map → chunk-LRFVISLA.js.map} +0 -0
  295. /package/dist/{chunk-ZQFROKKS.js.map → chunk-MJHQMQEW.js.map} +0 -0
  296. /package/dist/{chunk-BJMENXR4.js.map → chunk-TX552FQG.js.map} +0 -0
  297. /package/dist/{chunk-XBFOFTK3.js.map → chunk-VIDRZCPQ.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/product-model-wire.ts","../src/product-model-transport.ts","../src/product-model-response.ts","../src/product-models.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport type ProductModelConnection = {\n baseUrl?: string;\n teamId?: string;\n apiKey: string;\n timeoutMs?: number;\n fetch?: typeof fetch;\n};\n\nexport class ProductModelError extends Error {\n constructor(\n readonly code: string,\n readonly status: number,\n readonly outcomeUnknown: boolean,\n readonly requestId?: string,\n readonly clientRequestId?: string,\n ) {\n super(`OpenPond model request failed (${code}).`);\n this.name = \"ProductModelError\";\n }\n}\n\n/** Retained function arguments stay JSON text; recovery never executes tools. */\nexport const ProductModelToolCallSchema = z.object({\n id: z.string(),\n type: z.literal(\"function\").default(\"function\"),\n function: z.object({ name: z.string(), arguments: z.string() }),\n}).passthrough();\nexport type ProductModelToolCall = z.infer<typeof ProductModelToolCallSchema>;\n\nexport const ProductModelUsageSchema = z.object({\n prompt_tokens: z.number().int().nonnegative(),\n completion_tokens: z.number().int().nonnegative(),\n total_tokens: z.number().int().nonnegative(),\n});\nexport const ProductModelChunkSchema = z.object({\n id: z.string(),\n model: z.string(),\n system_fingerprint: z.string().nullable().optional(),\n openpond: z.record(z.string(), z.json()).optional(),\n usage: ProductModelUsageSchema.nullable().optional(),\n choices: z\n .array(\n z.object({\n index: z.number().int(),\n finish_reason: z.string().nullable().optional(),\n delta: z\n .object({\n content: z.string().nullable().optional(),\n tool_calls: z.unknown().optional(),\n })\n .passthrough()\n .optional(),\n message: z\n .object({\n content: z.string().nullable(),\n tool_calls: z.unknown().optional(),\n })\n .passthrough()\n .optional(),\n }),\n )\n .max(1),\n}).passthrough();\n\nexport const ProductModelRequestStatusSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.modelRequestStatus.v1\"),\n requestId: z.string().regex(/^pinf_[A-Za-z0-9-]{8,191}$/),\n clientRequestId: z.uuid().nullable(),\n modelId: z.string(),\n state: z.enum([\n \"pending\",\n \"running\",\n \"stopping\",\n \"completed\",\n \"failed\",\n \"cancelled\",\n ]),\n deadlineAt: z.iso.datetime(),\n retryAt: z.iso.datetime().nullable(),\n result: ProductModelChunkSchema.nullable(),\n failureCode: z.string().nullable(),\n })\n .strict();\n\nexport type ProductModelWireStatus = z.infer<typeof ProductModelRequestStatusSchema>;\nexport type ProductModelRequestIdentity = { requestId?: string; clientRequestId?: string };\n\n/** The serving API resolves exactly one valid hosted-model prefix. Keep the\n * caller's named binding in results while checking the canonical wire name. */\nexport function canonicalResponseModelId(modelId: string) {\n const name = modelId.startsWith(\"personalized:\")\n ? modelId.slice(\"personalized:\".length)\n : null;\n return name && /^[a-z0-9][a-z0-9._:-]{2,127}$/.test(name) ? name : modelId;\n}\n\nexport function productModelEndpoint(value: string): string {\n const url = new URL(value);\n if (\n ![\"http:\", \"https:\"].includes(url.protocol) ||\n url.username ||\n url.password ||\n url.search ||\n url.hash\n )\n throw new Error(\"A clean serving base URL is required.\");\n return url.href.replace(/\\/$/, \"\");\n}\n\n","import { z } from \"zod\";\nimport { readBoundedJsonResponse } from \"./protocol.js\";\nimport { boundProductModelResponse } from \"./product-model-response.js\";\nimport {\n ProductModelError, ProductModelRequestStatusSchema, ProductModelToolCallSchema, canonicalResponseModelId,\n productModelEndpoint, type ProductModelConnection, type ProductModelRequestIdentity,\n type ProductModelWireStatus,\n} from \"./product-model-wire.js\";\n\nconst MAX_BODY_BYTES = 8 * 1024 * 1024;\nconst RequestId = ProductModelRequestStatusSchema.shape.requestId;\ntype Budget = { signal: AbortSignal; until: number };\nconst unknown = (identity: ProductModelRequestIdentity, status = 0) =>\n new ProductModelError(\"model_outcome_unknown\", status, true, identity.requestId, identity.clientRequestId);\n\n/** One paid submission, followed only by authenticated reads of that operation.\n * The text API and optional AI SDK adapter share this transport without sharing\n * mutable per-call identity or converting tool calls into a text projection. */\nexport class ProductModelTransport {\n private readonly identities = new WeakMap<Response, ProductModelRequestIdentity>();\n private readonly endpoint: string;\n constructor(private readonly modelId: string, private readonly connection: ProductModelConnection) {\n this.endpoint = `${productModelEndpoint(connection.baseUrl!)}/chat/completions`;\n }\n identity(response: Response): ProductModelRequestIdentity {\n return this.identities.get(response) ?? {};\n }\n private budget(timeoutMs: number, signal?: AbortSignal | null): Budget {\n const timeout = AbortSignal.timeout(timeoutMs);\n return { until: Date.now() + timeoutMs, signal: signal ? AbortSignal.any([signal, timeout]) : timeout };\n }\n private headers(extra?: HeadersInit) {\n const headers = new Headers(extra);\n headers.delete(\"openpond-api-key\");\n headers.set(\"Authorization\", `Bearer ${this.connection.apiKey}`);\n // An optional provider's per-call headers cannot change its workspace.\n headers.delete(\"X-OpenPond-Team-Id\");\n if (this.connection.teamId) headers.set(\"X-OpenPond-Team-Id\", this.connection.teamId);\n return headers;\n }\n private async fetchResponse(url: string, init: RequestInit, budget: Budget, identity: ProductModelRequestIdentity) {\n if (budget.signal.aborted || Date.now() >= budget.until) throw unknown(identity);\n let response: Response;\n try {\n response = await (this.connection.fetch ?? fetch)(url, {\n ...init, redirect: \"error\", signal: budget.signal,\n });\n } catch {\n throw unknown(identity);\n }\n const observedId = response.headers.get(\"x-openpond-request-id\") ?? response.headers.get(\"x-request-id\");\n // A generic HTTP trace header is not the retained operation identity.\n // Pending/status bodies bind their own validated ID to the submitted UUID.\n if (!identity.requestId && observedId && (init.method !== \"GET\" && response.status !== 202\n || RequestId.safeParse(observedId).success)) identity.requestId = observedId;\n if (!response.ok) {\n await response.body?.cancel().catch(() => {});\n throw new ProductModelError(init.method === \"GET\" ? \"model_status_unavailable\" : \"model_request_rejected\",\n response.status, response.status === 408 || response.status >= 500,\n identity.requestId, identity.clientRequestId);\n }\n const bounded = boundProductModelResponse(response, { signal: budget.signal, ...identity });\n this.identities.set(bounded, { ...identity });\n return bounded;\n }\n async request(body: string, options: {\n stream: boolean; signal?: AbortSignal | null; clientRequestId?: string; headers?: HeadersInit;\n }): Promise<Response> {\n if (new TextEncoder().encode(body).length > 1024 * 1024)\n throw new ProductModelError(\"payload_too_large\", 0, false);\n const headers = this.headers(options.headers);\n const parsedId = z.uuid().safeParse(options.clientRequestId ?? headers.get(\"X-OpenPond-Client-Request-Id\") ?? crypto.randomUUID());\n if (!parsedId.success) throw new ProductModelError(\"client_request_id_invalid\", 0, false);\n const identity: ProductModelRequestIdentity = { clientRequestId: parsedId.data };\n headers.set(\"X-OpenPond-Client-Request-Id\", parsedId.data);\n headers.delete(\"idempotency-key\");\n headers.delete(\"x-request-id\");\n headers.set(\"Content-Type\", \"application/json\");\n headers.set(\"Accept\", options.stream ? \"text/event-stream\" : \"application/json\");\n const budget = this.budget(this.connection.timeoutMs ?? 630_000, options.signal);\n const response = await this.fetchResponse(this.endpoint, { method: \"POST\", headers, body }, budget, identity);\n if (response.status !== 202) return response;\n const completion = await this.observePending(response, identity, budget);\n let terminal: Response;\n try { terminal = terminalResponse(completion, options.stream); }\n catch { throw new ProductModelError(\"model_response_invalid\", 200, true, identity.requestId, identity.clientRequestId); }\n const bounded = boundProductModelResponse(terminal, { signal: budget.signal, ...identity });\n this.identities.set(bounded, { ...identity });\n return bounded;\n }\n private async parseStatus(response: Response, expected: ProductModelRequestIdentity, deadlineAt?: string) {\n let status: ProductModelWireStatus;\n try {\n status = ProductModelRequestStatusSchema.parse(await readBoundedJsonResponse(response, MAX_BODY_BYTES, \"Model status\"));\n } catch {\n throw new ProductModelError(\"model_response_invalid\", response.status, true, expected.requestId, expected.clientRequestId);\n }\n if (status.modelId !== canonicalResponseModelId(this.modelId)\n || expected.requestId !== undefined && status.requestId !== expected.requestId\n || expected.clientRequestId !== undefined && status.clientRequestId !== expected.clientRequestId\n || deadlineAt !== undefined && status.deadlineAt !== deadlineAt)\n throw new ProductModelError(\"model_recovery_identity_changed\", 409, true, expected.requestId, expected.clientRequestId);\n if (status.result && (status.state !== \"completed\" || status.failureCode !== null\n || status.result.id !== status.requestId || status.result.model !== status.modelId\n || status.result.choices.length !== 1 || status.result.choices[0]?.index !== 0\n || !status.result.choices[0]?.message || !status.result.choices[0]?.finish_reason))\n throw new ProductModelError(\"model_response_invalid\", response.status, true, status.requestId, expected.clientRequestId);\n return status;\n }\n private async readStatus(suffix: string, expected: ProductModelRequestIdentity, budget: Budget, deadlineAt?: string) {\n const headers = this.headers();\n headers.set(\"Accept\", \"application/json\");\n const response = await this.fetchResponse(`${this.endpoint}${suffix}`, { method: \"GET\", headers }, budget, expected);\n return this.parseStatus(response, expected, deadlineAt);\n }\n async inspectRequest(requestId: string) {\n const id = RequestId.parse(requestId);\n return this.readStatus(`/${encodeURIComponent(id)}`, { requestId: id }, this.budget(30_000));\n }\n async recover(clientRequestId: string) {\n const id = z.uuid().parse(clientRequestId);\n return this.readStatus(`?clientRequestId=${encodeURIComponent(id)}`, { clientRequestId: id }, this.budget(30_000));\n }\n private async observePending(response: Response, identity: ProductModelRequestIdentity, budget: Budget) {\n let status = await this.parseStatus(response, identity);\n identity.requestId = status.requestId;\n const deadlineAt = status.deadlineAt;\n const remaining = Math.min(budget.until, Date.parse(deadlineAt) + 30_000) - Date.now();\n if (remaining <= 0) throw unknown(identity, 202);\n const observation = this.budget(remaining, budget.signal);\n budget.until = observation.until;\n budget.signal = observation.signal;\n for (;;) {\n if (observation.signal.aborted) throw unknown(identity, 202);\n if (status.state === \"completed\" && status.result) return status.result;\n if (status.state === \"completed\" || status.state === \"failed\" || status.state === \"cancelled\")\n throw new ProductModelError(status.state === \"completed\" ? \"model_result_not_retained\" : \"model_request_failed\",\n 200, false, identity.requestId, identity.clientRequestId);\n const delay = Math.min(observation.until - Date.now(), Math.max(500,\n Math.min(15_000, status.retryAt ? Date.parse(status.retryAt) - Date.now() : 2_000)));\n await waitForObservation(delay, observation.signal, identity);\n try {\n status = await this.readStatus(`/${encodeURIComponent(identity.requestId!)}`, identity,\n this.budget(Math.max(1, Math.min(30_000, observation.until - Date.now())), observation.signal), deadlineAt);\n } catch (error) {\n if (error instanceof ProductModelError && [\"model_recovery_identity_changed\", \"model_response_invalid\"].includes(error.code)) throw error;\n throw unknown(identity, 202);\n }\n }\n }\n async cancelRequest(requestId: string) {\n const id = RequestId.parse(requestId);\n try {\n const response = await this.fetchResponse(`${this.endpoint}/${encodeURIComponent(id)}/cancel`,\n { method: \"POST\", headers: this.headers() }, this.budget(30_000), { requestId: id });\n await response.body?.cancel();\n } catch {\n throw new ProductModelError(\"model_cancel_pending\", 0, true, id);\n }\n }\n}\n\nasync function waitForObservation(delay: number, signal: AbortSignal, identity: ProductModelRequestIdentity) {\n if (signal.aborted || delay <= 0) throw unknown(identity, 202);\n await new Promise<void>((resolve, reject) => {\n const abort = () => { clearTimeout(timer); signal.removeEventListener(\"abort\", abort); reject(unknown(identity, 202)); };\n const timer = setTimeout(() => { signal.removeEventListener(\"abort\", abort); resolve(); }, delay);\n signal.addEventListener(\"abort\", abort, { once: true });\n if (signal.aborted) abort();\n });\n}\n\nconst ToolCalls = z.array(ProductModelToolCallSchema);\n/** A retained result is complete, not a resumed native token stream. Emit its\n * exact payload as bounded deltas and one terminal marker without another POST. */\nfunction terminalResponse(completion: NonNullable<ProductModelWireStatus[\"result\"]>, stream: boolean) {\n const headers = { \"x-openpond-request-id\": completion.id, \"cache-control\": \"private, no-store\" };\n if (!stream) return Response.json(completion, { headers });\n const choice = completion.choices[0]!, message = choice.message!;\n const identity = { id: completion.id, model: completion.model, created: completion.created,\n system_fingerprint: completion.system_fingerprint };\n const frames: string[] = [];\n const emit = (delta: Record<string, unknown>) => frames.push(`data: ${JSON.stringify({ ...identity,\n choices: [{ index: 0, delta, finish_reason: null }] })}\\n\\n`);\n emit({ role: \"assistant\" });\n if (message.content) for (let offset = 0; offset < message.content.length; offset += 16_384)\n emit({ content: message.content.slice(offset, offset + 16_384) });\n if (message.tool_calls !== undefined && message.tool_calls !== null) {\n const tools = ToolCalls.parse(message.tool_calls);\n for (const [index, tool] of tools.entries()) {\n emit({ tool_calls: [{ ...tool, index, type: \"function\", function: { name: tool.function.name, arguments: \"\" } }] });\n for (let offset = 0; offset < tool.function.arguments.length; offset += 16_384)\n emit({ tool_calls: [{ index, function: { arguments: tool.function.arguments.slice(offset, offset + 16_384) } }] });\n }\n }\n frames.push(`data: ${JSON.stringify({ ...identity, openpond: completion.openpond, usage: completion.usage,\n choices: [{ index: 0, delta: {}, finish_reason: choice.finish_reason }] })}\\n\\n`, \"data: [DONE]\\n\\n\");\n return new Response(frames.join(\"\"), { headers: { ...headers, \"content-type\": \"text/event-stream\" } });\n}\n","import { ProductModelError } from \"./product-model-wire.js\";\n\n/** Bound response bodies for both model consumers and require the\n * personalized gateway's terminal marker before treating EOF as completion. */\nexport function boundProductModelResponse(response: Response, context: {\n signal?: AbortSignal; requestId?: string; clientRequestId?: string;\n} = {}): Response {\n const headers = new Headers(response.headers);\n if (context.clientRequestId) headers.set(\"x-openpond-client-request-id\", context.clientRequestId);\n if (!response.body) return new Response(null, { status: response.status, statusText: response.statusText, headers });\n const streaming = response.headers.get(\"content-type\")?.includes(\"text/event-stream\") ?? false;\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n let total = 0,\n pending = \"\",\n terminal = false;\n let identity: { id: string; model: string } | undefined;\n const fail = () =>\n new ProductModelError(\n streaming ? \"model_stream_interrupted\" : \"model_response_invalid\",\n response.status,\n true,\n context.requestId ?? response.headers.get(\"x-openpond-request-id\") ??\n response.headers.get(\"x-request-id\") ??\n undefined,\n context.clientRequestId,\n );\n let closed = false;\n let cancellation: Promise<void> | undefined;\n // Abort, parser failure and consumer cancellation may converge. One owner\n // cancels the source and releases its reader only after pending reads settle.\n const cancelReader = (reason?: unknown) => cancellation ??= reader.cancel(reason)\n .finally(() => reader.releaseLock());\n let abort: (() => void) | undefined;\n const cleanup = () => { if (abort) context.signal?.removeEventListener(\"abort\", abort); };\n const body = new ReadableStream<Uint8Array>({\n start(controller) {\n abort = () => {\n if (closed) return;\n closed = true;\n cleanup();\n void cancelReader().catch(() => {});\n controller.error(fail());\n };\n context.signal?.addEventListener(\"abort\", abort, { once: true });\n if (context.signal?.aborted) abort();\n },\n async pull(controller) {\n if (closed) return;\n try {\n const { done, value } = await reader.read();\n if (closed) return;\n if (done) {\n if (streaming && !terminal) throw fail();\n closed = true;\n cleanup();\n controller.close();\n reader.releaseLock();\n return;\n }\n total += value.byteLength;\n if (total > 8 * 1024 * 1024) throw fail();\n if (streaming) {\n pending = (pending + decoder.decode(value, { stream: true })).replace(/\\r\\n/g, \"\\n\");\n let boundary: number;\n while ((boundary = pending.indexOf(\"\\n\\n\")) >= 0) {\n const frame = pending.slice(0, boundary);\n pending = pending.slice(boundary + 2);\n if (new TextEncoder().encode(frame).length > 1024 * 1024) throw fail();\n const data = frame\n .split(\"\\n\")\n .filter((line) => line.startsWith(\"data:\"))\n .map((line) => line.slice(5).trimStart())\n .join(\"\\n\");\n if (data === \"[DONE]\") terminal = true;\n else if (data) {\n const chunk = JSON.parse(data);\n if (typeof chunk.id === \"string\" && typeof chunk.model === \"string\") {\n if (identity && (chunk.id !== identity.id || chunk.model !== identity.model))\n throw fail();\n identity = { id: chunk.id, model: chunk.model };\n }\n }\n }\n if (new TextEncoder().encode(pending).length > 1024 * 1024) throw fail();\n }\n controller.enqueue(value);\n } catch {\n if (closed) return;\n closed = true;\n cleanup();\n await cancelReader().catch(() => {});\n controller.error(fail());\n }\n },\n async cancel(reason) {\n closed = true;\n cleanup();\n await cancelReader(reason);\n },\n });\n return new Response(body, {\n status: response.status,\n statusText: response.statusText,\n headers,\n });\n}\n","import { DEFAULT_MODEL_BASE_URL } from \"./endpoints.js\";\nimport { z } from \"zod\";\nimport { readBoundedJsonResponse } from \"./protocol.js\";\nimport { ProductModelTransport } from \"./product-model-transport.js\";\nimport { ProductModelError, productModelEndpoint, ProductModelChunkSchema as Chunk,\n ProductModelUsageSchema as Usage, ProductModelToolCallSchema, type ProductModelToolCall, type ProductModelConnection,\n type ProductModelWireStatus } from \"./product-model-wire.js\";\nexport { ProductModelError, productModelEndpoint, type ProductModelConnection, type ProductModelToolCall } from \"./product-model-wire.js\";\n\nexport type ProductModelBinding = {\n id: string;\n capabilities?: {\n streaming?: boolean;\n tools?: boolean;\n structuredOutput?: false;\n };\n};\nexport type ProductModelMessage = {\n role: \"system\" | \"user\" | \"assistant\";\n content: string;\n};\nexport type ProductModelInput = {\n prompt?: string;\n messages?: ProductModelMessage[];\n temperature?: number;\n maxTokens?: number;\n signal?: AbortSignal;\n /** Stable original operation identity for inspect/recover; never authorizes a replay. */\n clientRequestId?: string;\n};\nexport type ProductModelUsage = {\n inputTokens: number;\n outputTokens: number;\n totalTokens: number;\n};\nexport type ProductModelResult = {\n text: string;\n requestId: string;\n modelId: string;\n resolvedModelId: string;\n finishReason: string | null;\n usage: ProductModelUsage | null;\n systemFingerprint: string | null;\n /** Retained server evidence; presence alone is not client-side verification. */\n evidence: Record<string, unknown> | null;\n};\nexport type ProductModelEvent =\n | { type: \"text\"; text: string }\n | { type: \"finish\"; result: ProductModelResult };\nexport type ProductModels<Models> = {\n readonly [Name in keyof Models]: ProductModel;\n};\n\nconst Message = z\n .object({\n role: z.enum([\"system\", \"user\", \"assistant\"]),\n content: z.string().max(200_000),\n })\n .strict();\nconst Input = z\n .object({\n prompt: z.string().max(200_000).optional(),\n messages: z.array(Message).min(1).max(128).optional(),\n temperature: z.number().min(0).max(2).optional(),\n maxTokens: z.number().int().min(1).max(4096).optional(),\n })\n .strict()\n .refine(\n (v) => (v.prompt !== undefined) !== (v.messages !== undefined),\n \"Supply prompt or messages, exclusively.\",\n );\nexport type ProductModelRecoveredResult = ProductModelResult & {\n /** Available only for explicitly tool-capable bindings; arguments remain JSON text. */\n toolCalls?: ProductModelToolCall[];\n};\nexport type ProductModelRequestStatus = Omit<ProductModelWireStatus, \"result\"> & {\n result: ProductModelRecoveredResult | null;\n};\n\n/** A named text model. This never resolves a catalogue default or activates serving. */\nexport class ProductModel {\n readonly id: string;\n readonly capabilities: Required<\n NonNullable<ProductModelBinding[\"capabilities\"]>\n >;\n private readonly transport: ProductModelTransport;\n constructor(\n binding: string | ProductModelBinding,\n private readonly connection: ProductModelConnection,\n ) {\n this.id = z\n .string()\n .trim()\n .regex(/^[a-z0-9][a-z0-9._:-]{2,127}$/)\n .parse(typeof binding === \"string\" ? binding : binding.id);\n this.capabilities = {\n streaming: true,\n tools: false,\n structuredOutput: false,\n ...(typeof binding === \"string\" ? {} : binding.capabilities),\n };\n if (!connection.apiKey.trim())\n throw new Error(\"Named models require an API key.\");\n this.connection = {\n ...connection,\n baseUrl: productModelEndpoint(\n connection.baseUrl ?? DEFAULT_MODEL_BASE_URL,\n ),\n };\n if (\n connection.timeoutMs !== undefined &&\n (!Number.isFinite(connection.timeoutMs) ||\n connection.timeoutMs <= 0 ||\n connection.timeoutMs > 630_000)\n )\n throw new Error(\n \"Serving timeoutMs must be greater than zero and at most 630000.\",\n );\n this.transport = new ProductModelTransport(this.id, this.connection);\n }\n /** Provider integrations use the same exact destination and transport. */\n providerConnection(): Readonly<ProductModelConnection> {\n return { ...this.connection };\n }\n private async request(\n input: ProductModelInput,\n stream: boolean,\n ): Promise<Response> {\n if (stream && !this.capabilities.streaming)\n throw new ProductModelError(\"streaming_unsupported\", 0, false);\n const { signal, clientRequestId: suppliedClientId, ...raw } = input;\n const parsed = Input.parse(raw);\n const body = JSON.stringify({\n model: this.id,\n messages: parsed.messages ?? [{ role: \"user\", content: parsed.prompt }],\n ...(parsed.temperature === undefined\n ? {}\n : { temperature: parsed.temperature }),\n ...(parsed.maxTokens === undefined\n ? {}\n : { max_tokens: parsed.maxTokens }),\n stream,\n });\n return this.transport.request(body, { stream, signal, clientRequestId: suppliedClientId });\n }\n async generate(input: ProductModelInput): Promise<ProductModelResult> {\n const response = await this.request(input, false);\n try {\n const chunk = Chunk.parse(\n await readBoundedJsonResponse(\n response,\n 8 * 1024 * 1024,\n \"Model result\",\n ),\n );\n if (\n chunk.choices.length !== 1 ||\n !chunk.choices[0].message ||\n chunk.choices[0].message.tool_calls\n )\n throw new Error(\"Unsupported response\");\n return this.result(\n chunk,\n chunk.choices[0].message.content ?? \"\",\n chunk.choices[0].finish_reason ?? null,\n response,\n );\n } catch {\n throw new ProductModelError(\n \"model_response_invalid\",\n response.status,\n true,\n response.headers.get(\"x-openpond-request-id\") ??\n response.headers.get(\"x-request-id\") ??\n undefined,\n this.transport.identity(response).clientRequestId,\n );\n }\n }\n /** Read only: a timeout never submits another paid operation. */\n async inspectRequest(requestId: string): Promise<ProductModelRequestStatus> {\n return this.projectStatus(await this.transport.inspectRequest(requestId));\n }\n async recover(clientRequestId: string): Promise<ProductModelRequestStatus> {\n return this.projectStatus(await this.transport.recover(clientRequestId));\n }\n private projectStatus(status: ProductModelWireStatus): ProductModelRequestStatus {\n if (!status.result) return { ...status, result: null };\n const message = status.result.choices[0]!.message!;\n let toolCalls: ProductModelToolCall[] | undefined;\n if (message.tool_calls !== undefined && message.tool_calls !== null) {\n const parsed = z.array(ProductModelToolCallSchema).safeParse(message.tool_calls);\n if (!this.capabilities.tools || !parsed.success)\n throw new ProductModelError(\"model_response_invalid\", 200, true, status.requestId,\n status.clientRequestId ?? undefined);\n toolCalls = parsed.data;\n }\n return { ...status, result: {\n ...this.result(status.result, message.content ?? \"\",\n status.result.choices[0]!.finish_reason ?? null, new Response(null)),\n ...(toolCalls === undefined ? {} : { toolCalls }),\n } };\n }\n /** Explicit cancellation retains the original request's cleanup owner. */\n async cancelRequest(requestId: string): Promise<void> {\n await this.transport.cancelRequest(requestId);\n }\n private result(\n chunk: z.infer<typeof Chunk>,\n text: string,\n finishReason: string | null,\n response: Response,\n ): ProductModelResult {\n return {\n text,\n requestId:\n response.headers.get(\"x-openpond-request-id\") ??\n response.headers.get(\"x-request-id\") ??\n chunk.id,\n modelId: this.id,\n resolvedModelId: chunk.model,\n finishReason,\n usage: chunk.usage\n ? {\n inputTokens: chunk.usage.prompt_tokens,\n outputTokens: chunk.usage.completion_tokens,\n totalTokens: chunk.usage.total_tokens,\n }\n : null,\n systemFingerprint: chunk.system_fingerprint ?? null,\n evidence: chunk.openpond ?? null,\n };\n }\n /** Breaking iteration cancels the HTTP body. A truncated stream never produces finish. */\n async *stream(input: ProductModelInput): AsyncGenerator<ProductModelEvent> {\n const response = await this.request(input, true);\n if (\n !response.headers.get(\"content-type\")?.includes(\"text/event-stream\") ||\n !response.body\n ) {\n await response.body?.cancel();\n throw new ProductModelError(\n \"model_stream_invalid\",\n response.status,\n true,\n response.headers.get(\"x-openpond-request-id\") ?? undefined,\n this.transport.identity(response).clientRequestId,\n );\n }\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n let buffer = \"\",\n text = \"\",\n finish: string | null = null,\n last: z.infer<typeof Chunk> | undefined;\n let usage: z.infer<typeof Usage> | null = null;\n let outputBytes = 0;\n try {\n for (;;) {\n const { done, value } = await reader.read();\n buffer = (buffer + decoder.decode(value, { stream: !done })).replace(\n /\\r\\n/g,\n \"\\n\",\n );\n if (new TextEncoder().encode(buffer).length > 1024 * 1024)\n throw new Error(\"Stream frame too large\");\n let boundary: number;\n while ((boundary = buffer.indexOf(\"\\n\\n\")) >= 0) {\n const frame = buffer.slice(0, boundary);\n buffer = buffer.slice(boundary + 2);\n const data = frame\n .split(\"\\n\")\n .filter((line) => line.startsWith(\"data:\"))\n .map((line) => line.slice(5).trimStart())\n .join(\"\\n\");\n if (!data) continue;\n if (data === \"[DONE]\") {\n if (!last || !finish) throw new Error(\"Incomplete stream\");\n yield {\n type: \"finish\",\n result: this.result({ ...last, usage }, text, finish, response),\n };\n return;\n }\n const chunk = Chunk.parse(JSON.parse(data));\n if (last && (last.id !== chunk.id || last.model !== chunk.model))\n throw new Error(\"Stream identity changed\");\n last = chunk;\n if (chunk.usage) usage = chunk.usage;\n const choice = chunk.choices[0];\n if (choice?.delta?.tool_calls)\n throw new Error(\"Tool output unsupported by text API\");\n if (choice?.finish_reason) finish = choice.finish_reason;\n const delta = choice?.delta?.content;\n if (delta) {\n text += delta;\n outputBytes += new TextEncoder().encode(delta).length;\n if (outputBytes > 8 * 1024 * 1024)\n throw new Error(\"Model output too large\");\n yield { type: \"text\", text: delta };\n }\n }\n if (done) throw new Error(\"Stream ended before DONE\");\n }\n } catch (error) {\n if (error instanceof ProductModelError) throw error;\n throw new ProductModelError(\n \"model_stream_interrupted\",\n response.status,\n true,\n response.headers.get(\"x-openpond-request-id\") ??\n response.headers.get(\"x-request-id\") ??\n undefined,\n this.transport.identity(response).clientRequestId,\n );\n } finally {\n await reader.cancel().catch(() => {});\n reader.releaseLock();\n }\n }\n}\nexport function createProductModels<\n const Models extends Record<string, string | ProductModelBinding>,\n>(bindings: Models, connection: ProductModelConnection): ProductModels<Models> {\n return Object.fromEntries(\n Object.entries(bindings).map(([name, binding]) => [\n name,\n new ProductModel(binding, connection),\n ]),\n ) as ProductModels<Models>;\n}\n"],"mappings":"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","names":["z","z","z","z"]}
@@ -0,0 +1,9 @@
1
+ // src/endpoints.ts
2
+ var DEFAULT_API_BASE_URL = "https://api.openpond.ai";
3
+ var DEFAULT_MODEL_BASE_URL = `${DEFAULT_API_BASE_URL}/v1`;
4
+
5
+ export {
6
+ DEFAULT_API_BASE_URL,
7
+ DEFAULT_MODEL_BASE_URL
8
+ };
9
+ //# sourceMappingURL=chunk-QYWPNNP3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/endpoints.ts"],"sourcesContent":["/** Hosted defaults; controlled integrations can supply explicit overrides. */\nexport const DEFAULT_API_BASE_URL = \"https://api.openpond.ai\";\nexport const DEFAULT_MODEL_BASE_URL = `${DEFAULT_API_BASE_URL}/v1`;\n"],"mappings":";AACO,IAAM,uBAAuB;AAC7B,IAAM,yBAAyB,GAAG,oBAAoB;","names":[]}
@@ -2,6 +2,14 @@ import {
2
2
  ModelBatchReviewRequestSchema
3
3
  } from "./chunk-GPQLBVQC.js";
4
4
 
5
+ // src/taskset-text-policy.ts
6
+ function textTaskPolicyMessages(task, instructions) {
7
+ return [
8
+ { role: "system", text: instructions },
9
+ { role: "user", text: JSON.stringify({ input: task.input, policyVisibleContext: task.policyVisibleContext }) }
10
+ ];
11
+ }
12
+
5
13
  // src/dataset-training-review-contracts.ts
6
14
  import { z } from "zod";
7
15
  import { LearningRevisionRefSchema } from "@openpond/evals/learning";
@@ -57,9 +65,10 @@ var DatasetTrainingReviewReceiptContentSchema = z.object({
57
65
  var DatasetTrainingReviewReceiptSchema = DatasetTrainingReviewReceiptContentSchema.extend({ contentHash: Hash }).strict();
58
66
 
59
67
  export {
68
+ textTaskPolicyMessages,
60
69
  DatasetTrainingReviewRequestSchema,
61
70
  DatasetTrainingReviewSourceSchema,
62
71
  DatasetTrainingReviewReceiptContentSchema,
63
72
  DatasetTrainingReviewReceiptSchema
64
73
  };
65
- //# sourceMappingURL=chunk-PMVSO23F.js.map
74
+ //# sourceMappingURL=chunk-RMXZISHK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/taskset-text-policy.ts","../src/dataset-training-review-contracts.ts"],"sourcesContent":["import type { TaskRecord } from \"@openpond/evals/tasksets\";\n\n/** The shared text-task boundary exposes only authored instructions and public\n * task input/context. Expected output and privileged assets are never messages. */\nexport function textTaskPolicyMessages(task: Pick<TaskRecord, \"input\" | \"policyVisibleContext\">, instructions: string) {\n return [\n { role: \"system\" as const, text: instructions },\n { role: \"user\" as const, text: JSON.stringify({ input: task.input, policyVisibleContext: task.policyVisibleContext }) },\n ] as const;\n}\n","import { z } from \"zod\";\nimport { LearningRevisionRefSchema } from \"@openpond/evals/learning\";\nimport { ModelBatchReviewRequestSchema } from \"./model-batch-review-contracts.js\";\n\nconst Id = LearningRevisionRefSchema.shape.id;\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const DatasetTrainingReviewRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetTrainingReviewRequest.v1\"),\n teamId: Id,\n operationId: Id,\n dataset: LearningRevisionRefSchema,\n packageHash: Hash,\n taskIds: z.array(Id).min(1).max(10_000).nullable().default(null),\n purpose: z.enum([\"supervised_training\", \"reward_training\"]),\n rewardBindingRef: LearningRevisionRefSchema.nullable().default(null),\n definition: ModelBatchReviewRequestSchema.shape.definition.default({}),\n targetSource: z.enum([\"none\", \"expected_output\", \"approved_parent\"]).default(\"none\"),\n /** Learning examples use workspace scope. Import is an explicit copy, not a\n * silent widening of the source Dataset's visibility. */\n shareWithWorkspace: z.literal(true),\n}).strict().superRefine((value, context) => {\n if (value.taskIds && new Set(value.taskIds).size !== value.taskIds.length)\n context.addIssue({ code: \"custom\", path: [\"taskIds\"], message: \"Select each Dataset task once.\" });\n if (value.purpose !== \"supervised_training\" && value.targetSource !== \"none\")\n context.addIssue({ code: \"custom\", path: [\"targetSource\"], message: \"Target proposals require a supervised review.\" });\n});\nexport type DatasetTrainingReviewRequest = z.input<typeof DatasetTrainingReviewRequestSchema>;\n\n/** Policy/task-format metadata only; original example answers, private context,\n * grader code and package files are deliberately absent from this projection. */\nexport const DatasetTrainingReviewSourceSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetTrainingReviewSource.v1\"),\n dataset: LearningRevisionRefSchema,\n packageHash: Hash,\n taskCount: z.number().int().nonnegative(),\n definition: ModelBatchReviewRequestSchema.shape.definition,\n rewardBinding: LearningRevisionRefSchema.nullable(),\n hasParentTargets: z.boolean(),\n}).strict();\nexport type DatasetTrainingReviewSource = z.infer<typeof DatasetTrainingReviewSourceSchema>;\n\n/** Metadata only; read the newly created evidence through the learning owner.\n * The host retains the exact package before returning this committed receipt. */\nexport const DatasetTrainingReviewReceiptContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetTrainingReviewReceipt.v1\"),\n id: Id, teamId: Id, actorId: Id, operationId: Id, requestHash: Hash,\n dataset: LearningRevisionRefSchema, packageHash: Hash,\n purpose: z.enum([\"supervised_training\", \"reward_training\"]),\n shareWithWorkspace: z.literal(true),\n source: LearningRevisionRefSchema, definition: LearningRevisionRefSchema,\n evidence: z.array(LearningRevisionRefSchema).min(1).max(10_000),\n // Feedback is a revisioned review record, not a content-addressed release.\n proposals: z.array(LearningRevisionRefSchema.pick({ id: true, revision: true })).max(10_000),\n createdAt: z.string().datetime({ offset: true }),\n}).strict();\nexport const DatasetTrainingReviewReceiptSchema = DatasetTrainingReviewReceiptContentSchema.extend({ contentHash: Hash }).strict();\nexport type DatasetTrainingReviewReceipt = z.infer<typeof DatasetTrainingReviewReceiptSchema>;\n"],"mappings":";;;;;AAIO,SAAS,uBAAuB,MAA0D,cAAsB;AACrH,SAAO;AAAA,IACL,EAAE,MAAM,UAAmB,MAAM,aAAa;AAAA,IAC9C,EAAE,MAAM,QAAiB,MAAM,KAAK,UAAU,EAAE,OAAO,KAAK,OAAO,sBAAsB,KAAK,qBAAqB,CAAC,EAAE;AAAA,EACxH;AACF;;;ACTA,SAAS,SAAS;AAClB,SAAS,iCAAiC;AAG1C,IAAM,KAAK,0BAA0B,MAAM;AAC3C,IAAM,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB;AACvC,IAAM,qCAAqC,EAAE,OAAO;AAAA,EACzD,eAAe,EAAE,QAAQ,0CAA0C;AAAA,EACnE,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,SAAS;AAAA,EACT,aAAa;AAAA,EACb,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM,EAAE,SAAS,EAAE,QAAQ,IAAI;AAAA,EAC/D,SAAS,EAAE,KAAK,CAAC,uBAAuB,iBAAiB,CAAC;AAAA,EAC1D,kBAAkB,0BAA0B,SAAS,EAAE,QAAQ,IAAI;AAAA,EACnE,YAAY,8BAA8B,MAAM,WAAW,QAAQ,CAAC,CAAC;AAAA,EACrE,cAAc,EAAE,KAAK,CAAC,QAAQ,mBAAmB,iBAAiB,CAAC,EAAE,QAAQ,MAAM;AAAA;AAAA;AAAA,EAGnF,oBAAoB,EAAE,QAAQ,IAAI;AACpC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,YAAY;AAC1C,MAAI,MAAM,WAAW,IAAI,IAAI,MAAM,OAAO,EAAE,SAAS,MAAM,QAAQ;AACjE,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,SAAS,GAAG,SAAS,iCAAiC,CAAC;AACnG,MAAI,MAAM,YAAY,yBAAyB,MAAM,iBAAiB;AACpE,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,cAAc,GAAG,SAAS,gDAAgD,CAAC;AACzH,CAAC;AAKM,IAAM,oCAAoC,EAAE,OAAO;AAAA,EACxD,eAAe,EAAE,QAAQ,yCAAyC;AAAA,EAClE,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACxC,YAAY,8BAA8B,MAAM;AAAA,EAChD,eAAe,0BAA0B,SAAS;AAAA,EAClD,kBAAkB,EAAE,QAAQ;AAC9B,CAAC,EAAE,OAAO;AAKH,IAAM,4CAA4C,EAAE,OAAO;AAAA,EAChE,eAAe,EAAE,QAAQ,0CAA0C;AAAA,EACnE,IAAI;AAAA,EAAI,QAAQ;AAAA,EAAI,SAAS;AAAA,EAAI,aAAa;AAAA,EAAI,aAAa;AAAA,EAC/D,SAAS;AAAA,EAA2B,aAAa;AAAA,EACjD,SAAS,EAAE,KAAK,CAAC,uBAAuB,iBAAiB,CAAC;AAAA,EAC1D,oBAAoB,EAAE,QAAQ,IAAI;AAAA,EAClC,QAAQ;AAAA,EAA2B,YAAY;AAAA,EAC/C,UAAU,EAAE,MAAM,yBAAyB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM;AAAA;AAAA,EAE9D,WAAW,EAAE,MAAM,0BAA0B,KAAK,EAAE,IAAI,MAAM,UAAU,KAAK,CAAC,CAAC,EAAE,IAAI,GAAM;AAAA,EAC3F,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AACjD,CAAC,EAAE,OAAO;AACH,IAAM,qCAAqC,0CAA0C,OAAO,EAAE,aAAa,KAAK,CAAC,EAAE,OAAO;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ExperimentFieldMappingsSchema,
3
3
  ExperimentGraderPinSchema
4
- } from "./chunk-GS5HEE4M.js";
4
+ } from "./chunk-4D4QSQC3.js";
5
5
  import {
6
6
  ImmutableReleaseRefSchema,
7
7
  contentHash
@@ -15,11 +15,18 @@ var ExperimentScoringRequestSchema = z.object({
15
15
  operationId: Id,
16
16
  execution: ImmutableReleaseRefSchema,
17
17
  /** Recorded executions retain observed evidence and never invoke a target. */
18
- executionKind: z.literal("recorded_evidence").optional(),
18
+ executionKind: z.enum(["recorded_evidence", "weight_space"]).optional(),
19
+ /** Pins a retained candidate-forward receipt; scoring never reruns the model. */
20
+ weightSpaceOperationId: Id.optional(),
21
+ weightSpaceTarget: z.enum(["candidate", "baseline"]).optional(),
19
22
  graders: z.array(RewardReleaseRefSchema).min(1).max(100),
20
23
  maximumCostUsd: z.number().finite().min(1e-6).max(1e4),
21
24
  mappings: z.array(z.object({ graderId: Id, fields: ExperimentFieldMappingsSchema }).strict()).max(100).optional()
22
25
  }).strict().superRefine((value, context) => {
26
+ if (value.executionKind === "weight_space" !== (value.weightSpaceOperationId !== void 0))
27
+ context.addIssue({ code: "custom", path: ["weightSpaceOperationId"], message: "Weight-space scoring requires its exact retained evaluation operation." });
28
+ if (value.executionKind === "weight_space" !== (value.weightSpaceTarget !== void 0))
29
+ context.addIssue({ code: "custom", path: ["weightSpaceTarget"], message: "Select the evaluated candidate or its sealed held-out baseline explicitly." });
23
30
  if (new Set(value.graders.map((grader) => grader.id)).size !== value.graders.length)
24
31
  context.addIssue({ code: "custom", path: ["graders"], message: "Select each grader once." });
25
32
  if (value.mappings && (new Set(value.mappings.map((mapping) => mapping.graderId)).size !== value.mappings.length || value.mappings.some((mapping) => !value.graders.some((grader) => grader.id === mapping.graderId))))
@@ -67,4 +74,4 @@ export {
67
74
  ExperimentScoringPassSchema,
68
75
  verifyExperimentScoringPass
69
76
  };
70
- //# sourceMappingURL=chunk-626JLH4D.js.map
77
+ //# sourceMappingURL=chunk-TMNEDWA7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/experiment-scoring-contracts.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { contentHash, ImmutableReleaseRefSchema } from \"@openpond/harness\";\nimport { RewardReleaseRefSchema } from \"@openpond/evals/rewards\";\nimport { ExperimentGraderPinSchema } from \"./experiment-contracts.js\";\nimport { ExperimentFieldMappingsSchema } from \"./experiment-field-mappings.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nexport const ExperimentScoringRequestSchema = z.object({\n operationId: Id,\n execution: ImmutableReleaseRefSchema,\n /** Recorded executions retain observed evidence and never invoke a target. */\n executionKind: z.enum([\"recorded_evidence\", \"weight_space\"]).optional(),\n /** Pins a retained candidate-forward receipt; scoring never reruns the model. */\n weightSpaceOperationId: Id.optional(),\n weightSpaceTarget: z.enum([\"candidate\",\"baseline\"]).optional(),\n graders: z.array(RewardReleaseRefSchema).min(1).max(100),\n maximumCostUsd: z.number().finite().min(0.000001).max(10_000),\n mappings: z.array(z.object({ graderId: Id, fields: ExperimentFieldMappingsSchema }).strict()).max(100).optional(),\n}).strict().superRefine((value, context) => {\n if ((value.executionKind === \"weight_space\") !== (value.weightSpaceOperationId !== undefined))\n context.addIssue({ code: \"custom\", path: [\"weightSpaceOperationId\"], message: \"Weight-space scoring requires its exact retained evaluation operation.\" });\n if ((value.executionKind === \"weight_space\") !== (value.weightSpaceTarget !== undefined))\n context.addIssue({ code: \"custom\", path: [\"weightSpaceTarget\"], message: \"Select the evaluated candidate or its sealed held-out baseline explicitly.\" });\n if (new Set(value.graders.map(grader => grader.id)).size !== value.graders.length)\n context.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Select each grader once.\" });\n if (value.mappings && (new Set(value.mappings.map(mapping => mapping.graderId)).size !== value.mappings.length\n || value.mappings.some(mapping => !value.graders.some(grader => grader.id === mapping.graderId))))\n context.addIssue({ code: \"custom\", path: [\"mappings\"], message: \"Map each selected grader at most once.\" });\n});\nexport type ExperimentScoringRequest = z.infer<typeof ExperimentScoringRequestSchema>;\n\nconst ScoringPassContent = z.object({\n schemaVersion: z.literal(\"openpond.experimentScoringPass.v1\"),\n id: Id, teamId: Id, revision: z.number().int().positive(),\n request: ExperimentScoringRequestSchema,\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]),\n totalCount: z.number().int().min(1).max(10_000),\n counts: z.object({ pending: z.number().int().nonnegative(), running: z.number().int().nonnegative(),\n scored: z.number().int().nonnegative(), unavailable: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(), cancelled: z.number().int().nonnegative() }).strict(),\n resultAvailable: z.boolean(), createdAt: z.iso.datetime(), startedAt: z.iso.datetime().nullable(),\n completedAt: z.iso.datetime().nullable(),\n error: z.object({ code: Id, message: z.string().max(2_000) }).strict().nullable(),\n}).strict();\nexport const ExperimentScoringPassSchema = ScoringPassContent.extend({ contentHash: z.string().regex(/^[a-f0-9]{64}$/) });\nexport type ExperimentScoringPass = z.infer<typeof ExperimentScoringPassSchema>;\n\n/** A pass grades owned output and carries no model-execution authority. */\nexport function verifyExperimentScoringPass(value: unknown) {\n const pass = ExperimentScoringPassSchema.parse(value);\n const { contentHash: actual, ...content } = pass;\n if (contentHash(content) !== actual || Object.values(pass.counts).reduce((sum, count) => sum + count, 0) !== pass.totalCount)\n throw new Error(\"Scoring pass integrity or population accounting failed.\");\n const terminal = [\"completed\", \"failed\", \"cancelled\"].includes(pass.status);\n if (terminal && (!pass.completedAt || pass.counts.pending || pass.counts.running)\n || !terminal && (pass.completedAt !== null || pass.resultAvailable)\n || pass.status === \"completed\" && !pass.resultAvailable)\n throw new Error(\"Scoring pass lifecycle differs from its retained result.\");\n if (pass.graders.length !== pass.request.graders.length || new Set(pass.graders.map(grader => grader.feedbackKey)).size !== pass.graders.length\n || pass.graders.some((grader, index) => contentHash(grader.release) !== contentHash(pass.request.graders[index]!)\n || contentHash(grader.mappings ?? []) !== contentHash(pass.request.mappings?.find(mapping => mapping.graderId === grader.release?.id)?.fields ?? [])))\n throw new Error(\"Scoring pass graders differ from their exact admission.\");\n return pass;\n}\n"],"mappings":"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","names":[]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  RunExperimentSchema
3
- } from "./chunk-ZQFROKKS.js";
3
+ } from "./chunk-MJHQMQEW.js";
4
4
  import {
5
5
  HostedModelProjectSummarySchema
6
- } from "./chunk-MVAEE5EI.js";
6
+ } from "./chunk-WJZHSIGD.js";
7
7
  import {
8
8
  OpenPondProtocolError,
9
9
  canonicalSha256
@@ -308,4 +308,4 @@ export {
308
308
  HostedTrainingPolicyControlSchema,
309
309
  TrainingHandoffOriginSchema2 as TrainingHandoffOriginSchema
310
310
  };
311
- //# sourceMappingURL=chunk-BJMENXR4.js.map
311
+ //# sourceMappingURL=chunk-TX552FQG.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ DEFAULT_API_BASE_URL
3
+ } from "./chunk-QYWPNNP3.js";
4
+
1
5
  // src/taskset-catalog.ts
2
6
  import { z } from "zod";
3
7
  var IdSchema = z.string().trim().min(1).max(500);
@@ -47,7 +51,7 @@ var OpenPondTasksetCatalogClient = class {
47
51
  #options;
48
52
  constructor(options) {
49
53
  if (!options.apiKey.trim() || !options.teamId.trim()) throw new Error("Taskset API key and workspace are required.");
50
- const url = new URL(options.baseUrl);
54
+ const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
51
55
  if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new Error("Taskset base URL must be an HTTP(S) endpoint without credentials, query, or fragment.");
52
56
  this.#options = { ...options, baseUrl: url.toString().replace(/\/+$/, "") };
53
57
  }
@@ -118,4 +122,4 @@ export {
118
122
  OpenPondTasksetCatalogError,
119
123
  OpenPondTasksetCatalogClient
120
124
  };
121
- //# sourceMappingURL=chunk-Z252BNAZ.js.map
125
+ //# sourceMappingURL=chunk-VE5JD5FN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/taskset-catalog.ts"],"sourcesContent":["import { DEFAULT_API_BASE_URL } from \"./endpoints.js\";\nimport { z } from \"zod\";\n\nconst IdSchema = z.string().trim().min(1).max(500);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const TasksetCatalogReleaseRefSchema = z.object({ id: IdSchema, revision: z.number().int().positive(), contentHash: HashSchema }).strict();\n\n/** Inventory metadata only. Task rows, evaluator source, and object locations\n * are resolved separately by an authorized package operation. */\nexport const HostedTasksetSummarySchema = z.object({\n schemaVersion: z.literal(\"openpond.hostedTasksetSummary.v1\"),\n id: IdSchema,\n teamId: IdSchema,\n release: TasksetCatalogReleaseRefSchema,\n name: z.string().min(1).max(500),\n description: z.string().max(20_000),\n taskCount: z.number().int().nonnegative(),\n buildIntent: z.string().min(1).max(100),\n methodHint: z.string().min(1).max(100).nullable(),\n packageBytes: z.number().int().nonnegative().nullable(),\n storedBytes: z.number().int().nonnegative().nullable(),\n createdAt: z.string().datetime({ offset: true }),\n}).strict();\nexport const TasksetCatalogQuerySchema = z.object({\n afterId: z.string().trim().min(1).max(2_000).optional(),\n limit: z.number().int().min(1).max(100).default(30),\n modelProjectId: IdSchema.optional(),\n projectId: IdSchema.optional(),\n search: z.string().trim().max(100).optional(),\n sort: z.enum([\"id\", \"name\", \"updated\"]).default(\"id\"),\n}).strict();\nexport const TasksetCatalogPageSchema = z.object({\n items: z.array(HostedTasksetSummarySchema).max(100),\n nextCursor: z.string().trim().min(1).max(2_000).nullable(),\n}).strict();\nexport const TasksetCatalogErrorSchema = z.object({\n code: z.string().min(1),\n message: z.string().min(1),\n}).strict();\nexport type HostedTasksetSummary = z.infer<typeof HostedTasksetSummarySchema>;\nexport type TasksetCatalogPage = z.infer<typeof TasksetCatalogPageSchema>;\n\nexport class OpenPondTasksetCatalogError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) {\n super(message);\n this.name = \"OpenPondTasksetCatalogError\";\n }\n}\n\nexport interface TasksetCatalogClientOptions {\n baseUrl?: string;\n apiKey: string;\n teamId: string;\n fetch?: typeof globalThis.fetch;\n}\n\nexport class OpenPondTasksetCatalogClient {\n readonly #options: TasksetCatalogClientOptions;\n constructor(options: TasksetCatalogClientOptions) {\n if (!options.apiKey.trim() || !options.teamId.trim()) throw new Error(\"Taskset API key and workspace are required.\");\n const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new Error(\"Taskset base URL must be an HTTP(S) endpoint without credentials, query, or fragment.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n\n async list(query: z.input<typeof TasksetCatalogQuerySchema> = {}, options: { signal?: AbortSignal } = {}): Promise<TasksetCatalogPage> {\n const parsed = TasksetCatalogQuerySchema.parse(query);\n const search = new URLSearchParams({ limit: String(parsed.limit) });\n if (parsed.afterId) search.set(\"afterId\", parsed.afterId);\n if (parsed.modelProjectId) search.set(\"modelProjectId\", parsed.modelProjectId);\n if (parsed.projectId) search.set(\"projectId\", parsed.projectId);\n if (parsed.search !== undefined) search.set(\"search\", parsed.search);\n search.set(\"sort\", parsed.sort);\n const page = TasksetCatalogPageSchema.parse(await this.#request(`?${search}`, options.signal));\n if (page.items.length > parsed.limit || new Set(page.items.map(item => item.id)).size !== page.items.length || page.items.some((item) => item.teamId !== this.#options.teamId)) throw new OpenPondTasksetCatalogError(502, \"catalog_scope_mismatch\", \"Taskset inventory did not match the requested workspace or page size.\");\n return page;\n }\n\n async get(id: string, options: { signal?: AbortSignal } = {}): Promise<HostedTasksetSummary> {\n const parsed = IdSchema.parse(id);\n const item = HostedTasksetSummarySchema.parse(await this.#request(`/${encodeURIComponent(parsed)}`, options.signal));\n if (item.id !== parsed || item.teamId !== this.#options.teamId) throw new OpenPondTasksetCatalogError(502, \"catalog_identity_mismatch\", \"Taskset metadata did not match the requested identity.\");\n return item;\n }\n\n /** Resolve a saved portable reference without scanning inventory pages. */\n async resolve(release: z.infer<typeof TasksetCatalogReleaseRefSchema>, options: { signal?: AbortSignal } = {}): Promise<HostedTasksetSummary> {\n const parsed = TasksetCatalogReleaseRefSchema.parse(release);\n const item = HostedTasksetSummarySchema.parse(await this.#request(`/releases/${encodeURIComponent(parsed.id)}/${parsed.revision}/${parsed.contentHash}`, options.signal));\n if (item.teamId !== this.#options.teamId || item.release.id !== parsed.id || item.release.revision !== parsed.revision || item.release.contentHash !== parsed.contentHash) throw new OpenPondTasksetCatalogError(502, \"catalog_release_mismatch\", \"Taskset metadata did not match the requested immutable release.\");\n return item;\n }\n\n async #request(path: string, signal?: AbortSignal): Promise<unknown> {\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/taskset-catalog${path}`, {\n headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, Accept: \"application/json\" },\n signal, redirect: \"error\",\n });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondTasksetCatalogError(response.status, \"empty_response\", \"Taskset catalog response was empty.\");\n const decoder = new TextDecoder();\n let bytes = 0;\n let text = \"\";\n try {\n while (true) {\n const chunk = await reader.read();\n if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > 4_194_304) throw new OpenPondTasksetCatalogError(response.status, \"response_too_large\", \"Taskset catalog response exceeded 4 MiB.\");\n text += decoder.decode(chunk.value, { stream: true });\n }\n text += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const payload: unknown = JSON.parse(text);\n if (!response.ok) {\n const error = TasksetCatalogErrorSchema.safeParse(payload);\n throw new OpenPondTasksetCatalogError(response.status, error.success ? error.data.code : \"invalid_error_response\", error.success ? error.data.message : `Taskset catalog request failed (${response.status}).`);\n }\n return payload;\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DatasetTrainingReviewRequestSchema,
3
3
  DatasetTrainingReviewSourceSchema
4
- } from "./chunk-PMVSO23F.js";
4
+ } from "./chunk-RMXZISHK.js";
5
5
  import {
6
6
  ModelBatchReviewInspectionSchema,
7
7
  ModelBatchReviewReceiptSchema,
@@ -9,16 +9,16 @@ import {
9
9
  } from "./chunk-GPQLBVQC.js";
10
10
  import {
11
11
  AuthoredTasksetFileInventorySchema
12
- } from "./chunk-DDCR4KB5.js";
12
+ } from "./chunk-BIQ5TG3T.js";
13
13
  import {
14
14
  configuredTasksetDraftFiles,
15
15
  createTasksetDraftWorkspace,
16
16
  decodeTasksetDraftWorkspaceFile,
17
17
  isManagedTasksetDraftFilePath
18
- } from "./chunk-JOMZJXGC.js";
18
+ } from "./chunk-BT6CC6QB.js";
19
19
  import {
20
20
  TasksetDraftSchema
21
- } from "./chunk-RTLJV4OS.js";
21
+ } from "./chunk-7ZV626YS.js";
22
22
  import {
23
23
  compileModelTasksetReward,
24
24
  createTasksetPackage,
@@ -26,7 +26,7 @@ import {
26
26
  resolveTasksetPackageExecution,
27
27
  resolveTasksetPackageInstructions,
28
28
  validateTasksetPackage
29
- } from "./chunk-GV6DEDBU.js";
29
+ } from "./chunk-K4WU4JOP.js";
30
30
  import {
31
31
  ModelTasksetDraftPreparationSchema,
32
32
  TasksetDraftFilePathSchema
@@ -698,4 +698,4 @@ export {
698
698
  prepareTasksetDraftSource,
699
699
  materializeTasksetDraftWorkspace
700
700
  };
701
- //# sourceMappingURL=chunk-XBFOFTK3.js.map
701
+ //# sourceMappingURL=chunk-VIDRZCPQ.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  ExperimentScoringRequestSchema,
3
3
  verifyExperimentScoringPass
4
- } from "./chunk-626JLH4D.js";
4
+ } from "./chunk-TMNEDWA7.js";
5
5
  import {
6
6
  fetchConnectedJson
7
7
  } from "./chunk-O6FKHAWN.js";
8
8
  import {
9
9
  validateTasksetPackage
10
- } from "./chunk-GV6DEDBU.js";
10
+ } from "./chunk-K4WU4JOP.js";
11
11
  import {
12
12
  RunExperimentSchema
13
- } from "./chunk-ZQFROKKS.js";
13
+ } from "./chunk-MJHQMQEW.js";
14
14
  import {
15
15
  ExperimentExecutionContextSchema,
16
16
  ExperimentFieldMappingsSchema,
@@ -18,17 +18,20 @@ import {
18
18
  ExperimentListQuerySchema,
19
19
  PrepareHarnessExperimentSchema,
20
20
  PreparedHarnessExperimentSchema
21
- } from "./chunk-GS5HEE4M.js";
21
+ } from "./chunk-4D4QSQC3.js";
22
22
  import {
23
23
  ModelTasksetRunDetailsSchema,
24
24
  ModelTasksetRunRequestSchema,
25
25
  verifyHarnessExperimentManifest,
26
26
  verifyModelTasksetRunDetails
27
- } from "./chunk-ZRTNR4U7.js";
27
+ } from "./chunk-5KJY44FB.js";
28
28
  import {
29
29
  ImmutableReleaseRefSchema,
30
30
  contentHash
31
31
  } from "./chunk-H3JZ3P5T.js";
32
+ import {
33
+ DEFAULT_API_BASE_URL
34
+ } from "./chunk-QYWPNNP3.js";
32
35
 
33
36
  // src/experiment-client.ts
34
37
  import { z as z4 } from "zod";
@@ -282,7 +285,7 @@ var OpenPondExperimentError = class extends Error {
282
285
  var OpenPondExperimentsClient = class {
283
286
  constructor(options) {
284
287
  this.options = options;
285
- const url = new URL(options.baseUrl);
288
+ const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
286
289
  if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())
287
290
  throw new Error("A clean API origin and workspace credentials are required.");
288
291
  this.baseUrl = url.toString().replace(/\/+$/, "");
@@ -385,7 +388,7 @@ var OpenPondExperimentsClient = class {
385
388
  }
386
389
  async scoringPasses(executionId, options = {}) {
387
390
  const params = new URLSearchParams(options.afterId ? { afterId: Id2.parse(options.afterId) } : {});
388
- if (options.executionKind) params.set("executionKind", z4.literal("recorded_evidence").parse(options.executionKind));
391
+ if (options.executionKind) params.set("executionKind", z4.enum(["recorded_evidence", "weight_space"]).parse(options.executionKind));
389
392
  const page = z4.object({ items: z4.array(z4.unknown()).max(30), nextCursor: Id2.nullable() }).strict().parse(
390
393
  await this.request(`/${encodeURIComponent(Id2.parse(executionId))}/scoring-passes?${params}`, "GET", void 0, options.signal)
391
394
  );
@@ -448,7 +451,7 @@ var ExperimentCaseInspectionSchema = Content2.extend({ contentHash: Hash3 }).str
448
451
  var OpenPondExperimentInspectionClient = class {
449
452
  constructor(options) {
450
453
  this.options = options;
451
- const url = new URL(options.baseUrl);
454
+ const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
452
455
  if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error("A clean API origin and workspace credentials are required.");
453
456
  this.baseUrl = url.toString().replace(/\/+$/, "");
454
457
  }
@@ -602,7 +605,7 @@ var ProfileEvaluationDiscoveryRequestSchema = z7.object({
602
605
  var OpenPondProfileEvaluationDiscoveryClient = class {
603
606
  constructor(options) {
604
607
  this.options = options;
605
- const url = new URL(options.baseUrl);
608
+ const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
606
609
  if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())
607
610
  throw new Error("Profile discovery requires a scoped HTTP endpoint and owner credential.");
608
611
  }
@@ -611,7 +614,7 @@ var OpenPondProfileEvaluationDiscoveryClient = class {
611
614
  const body = ProfileEvaluationDiscoveryRequestSchema.parse({ ...input, teamId: this.options.teamId });
612
615
  const { response, value } = await fetchConnectedJson(
613
616
  this.options.fetch ?? fetch,
614
- `${this.options.baseUrl.replace(/\/$/, "")}/v1/profile-evaluation-discovery`,
617
+ `${(this.options.baseUrl ?? DEFAULT_API_BASE_URL).replace(/\/$/, "")}/v1/profile-evaluation-discovery`,
615
618
  { method: "POST", redirect: "error", headers: { Authorization: `Bearer ${this.options.apiKey}`, "X-OpenPond-Team-Id": this.options.teamId, "Content-Type": "application/json" }, body: JSON.stringify(body), signal },
616
619
  (_status, _code, message) => new Error(message)
617
620
  );
@@ -652,4 +655,4 @@ export {
652
655
  ProfileEvaluationDiscoveryRequestSchema,
653
656
  OpenPondProfileEvaluationDiscoveryClient
654
657
  };
655
- //# sourceMappingURL=chunk-QRYEXPG7.js.map
658
+ //# sourceMappingURL=chunk-VRUAIMM3.js.map