openpond-sdk 0.12.3 → 0.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/dist/actions-local.js +2 -1
  2. package/dist/actions-local.js.map +1 -7
  3. package/dist/actions.js +2 -1
  4. package/dist/actions.js.map +1 -7
  5. package/dist/advanced-refiner-evaluations.js +13 -12
  6. package/dist/advanced-refiner-evaluations.js.map +1 -7
  7. package/dist/candidate-evaluations.js +9 -8
  8. package/dist/candidate-evaluations.js.map +1 -7
  9. package/dist/{chunk-77N3QEIL.js → chunk-25L5IXHA.js} +5 -5
  10. package/dist/chunk-25L5IXHA.js.map +1 -0
  11. package/dist/{chunk-YCQVVFE5.js → chunk-3B5KSH3V.js} +2 -2
  12. package/dist/chunk-3B5KSH3V.js.map +1 -0
  13. package/dist/{chunk-2DMYAJLS.js → chunk-3DWPLYFJ.js} +2 -2
  14. package/dist/chunk-3DWPLYFJ.js.map +1 -0
  15. package/dist/{chunk-ZJ3H3VS7.js → chunk-6GQ3GIAP.js} +7 -5
  16. package/dist/chunk-6GQ3GIAP.js.map +1 -0
  17. package/dist/{chunk-36WJTS5V.js → chunk-6KKM2XRR.js} +75 -15
  18. package/dist/chunk-6KKM2XRR.js.map +1 -0
  19. package/dist/{chunk-BSK3VLM3.js → chunk-6MFFKAU6.js} +3 -3
  20. package/dist/chunk-6MFFKAU6.js.map +1 -0
  21. package/dist/{chunk-UPS52OPZ.js → chunk-6Y67YHVH.js} +8 -8
  22. package/dist/chunk-6Y67YHVH.js.map +1 -0
  23. package/dist/{chunk-G6Y6CQYV.js → chunk-AUNNXJQE.js} +4 -4
  24. package/dist/chunk-AUNNXJQE.js.map +1 -0
  25. package/dist/{chunk-XYQD4LDI.js → chunk-BGNPKYBJ.js} +3 -3
  26. package/dist/chunk-BGNPKYBJ.js.map +1 -0
  27. package/dist/{chunk-K5WRVSOL.js → chunk-BJ5MKLWH.js} +8 -8
  28. package/dist/chunk-BJ5MKLWH.js.map +1 -0
  29. package/dist/{chunk-VY5AFE7A.js → chunk-BYNVSWIQ.js} +4 -4
  30. package/dist/chunk-BYNVSWIQ.js.map +1 -0
  31. package/dist/{chunk-TCHAWJMB.js → chunk-CAMLCKSF.js} +3 -3
  32. package/dist/chunk-CAMLCKSF.js.map +1 -0
  33. package/dist/{chunk-3KXDH6OB.js → chunk-CL3IOOVL.js} +1 -1
  34. package/dist/chunk-CL3IOOVL.js.map +1 -0
  35. package/dist/{chunk-CTVKI3BV.js → chunk-DBKCSQVH.js} +3 -3
  36. package/dist/chunk-DBKCSQVH.js.map +1 -0
  37. package/dist/{chunk-AG5DDL7T.js → chunk-DH6O4JFB.js} +2 -2
  38. package/dist/chunk-DH6O4JFB.js.map +1 -0
  39. package/dist/chunk-EJZ7HOIS.js +8709 -0
  40. package/dist/chunk-EJZ7HOIS.js.map +1 -0
  41. package/dist/{chunk-QEIT5VXJ.js → chunk-F4GITADW.js} +4 -4
  42. package/dist/chunk-F4GITADW.js.map +1 -0
  43. package/dist/{chunk-MEKWESBF.js → chunk-FBZTDDRC.js} +2 -2
  44. package/dist/chunk-FBZTDDRC.js.map +1 -0
  45. package/dist/{chunk-FY7NHCEH.js → chunk-FLNWE5ZA.js} +5 -5
  46. package/dist/chunk-FLNWE5ZA.js.map +1 -0
  47. package/dist/{chunk-YVUIHH6Z.js → chunk-GPQLBVQC.js} +1 -1
  48. package/dist/chunk-GPQLBVQC.js.map +1 -0
  49. package/dist/{chunk-YUKV7RCD.js → chunk-GWGDWZVN.js} +5 -5
  50. package/dist/chunk-GWGDWZVN.js.map +1 -0
  51. package/dist/{chunk-KAE7AMYE.js → chunk-H3367ISL.js} +2 -2
  52. package/dist/chunk-H3367ISL.js.map +1 -0
  53. package/dist/{chunk-COPVBJPL.js → chunk-H3JZ3P5T.js} +2 -1
  54. package/dist/chunk-H3JZ3P5T.js.map +1 -0
  55. package/dist/{chunk-3LP7DNLQ.js → chunk-H4NTJFEE.js} +2 -2
  56. package/dist/chunk-H4NTJFEE.js.map +1 -0
  57. package/dist/{chunk-CEZEVILU.js → chunk-HJ2AIAKX.js} +1 -1
  58. package/dist/chunk-HJ2AIAKX.js.map +1 -0
  59. package/dist/{chunk-BFR3VC25.js → chunk-HOOHJCE7.js} +18 -18
  60. package/dist/chunk-HOOHJCE7.js.map +1 -0
  61. package/dist/{chunk-TSMGMA6R.js → chunk-KKL6OICH.js} +3 -3
  62. package/dist/chunk-KKL6OICH.js.map +1 -0
  63. package/dist/{chunk-IWT6JUZD.js → chunk-L6EJX2VQ.js} +2 -2
  64. package/dist/chunk-L6EJX2VQ.js.map +1 -0
  65. package/dist/{chunk-QTJQIHDZ.js → chunk-MJELLVQP.js} +4 -3
  66. package/dist/chunk-MJELLVQP.js.map +1 -0
  67. package/dist/{chunk-CK3ONRRC.js → chunk-O54KGALH.js} +3 -3
  68. package/dist/chunk-O54KGALH.js.map +1 -0
  69. package/dist/{chunk-T4APHDES.js → chunk-O6FKHAWN.js} +1 -1
  70. package/dist/chunk-O6FKHAWN.js.map +1 -0
  71. package/dist/{chunk-P27DQ65Z.js → chunk-OVGDDKO2.js} +1 -1
  72. package/dist/chunk-OVGDDKO2.js.map +1 -0
  73. package/dist/{chunk-O4GE6VTR.js → chunk-PWW5QKZS.js} +2 -2
  74. package/dist/chunk-PWW5QKZS.js.map +1 -0
  75. package/dist/{chunk-DUKW3R7O.js → chunk-Q4TKI2MV.js} +2 -2
  76. package/dist/chunk-Q4TKI2MV.js.map +1 -0
  77. package/dist/{chunk-HKWX624G.js → chunk-QFBSNSUL.js} +5 -5
  78. package/dist/chunk-QFBSNSUL.js.map +1 -0
  79. package/dist/{chunk-MLPPSCDQ.js → chunk-RE426Q7Y.js} +4 -4
  80. package/dist/chunk-RE426Q7Y.js.map +1 -0
  81. package/dist/{chunk-G53MA5XX.js → chunk-T3MFWGMX.js} +3 -3
  82. package/dist/chunk-T3MFWGMX.js.map +1 -0
  83. package/dist/{chunk-2U54EOXJ.js → chunk-TK3DXH7A.js} +1 -1
  84. package/dist/chunk-TK3DXH7A.js.map +1 -0
  85. package/dist/{chunk-6Q4I33CH.js → chunk-VZPNRPXL.js} +5 -5
  86. package/dist/chunk-VZPNRPXL.js.map +1 -0
  87. package/dist/{chunk-ROBAX5TN.js → chunk-WQFU635Q.js} +8 -6
  88. package/dist/chunk-WQFU635Q.js.map +1 -0
  89. package/dist/{chunk-TMUAKJWX.js → chunk-XACJ63U4.js} +14 -5
  90. package/dist/chunk-XACJ63U4.js.map +1 -0
  91. package/dist/chunk-YLJ4XMA6.js +35 -0
  92. package/dist/chunk-YLJ4XMA6.js.map +1 -0
  93. package/dist/{chunk-K3JCP4FO.js → chunk-Z252BNAZ.js} +1 -1
  94. package/dist/chunk-Z252BNAZ.js.map +1 -0
  95. package/dist/{chunk-CWXM57QR.js → chunk-ZFYI4P6C.js} +5 -5
  96. package/dist/chunk-ZFYI4P6C.js.map +1 -0
  97. package/dist/connected-evidence.js +22 -21
  98. package/dist/connected-evidence.js.map +1 -7
  99. package/dist/dataset-commerce.js +2 -0
  100. package/dist/dataset-commerce.js.map +1 -7
  101. package/dist/dataset-marketplace.js +2 -0
  102. package/dist/dataset-marketplace.js.map +1 -7
  103. package/dist/dataset-workspaces.js +22 -21
  104. package/dist/dataset-workspaces.js.map +1 -7
  105. package/dist/experiment-evaluation-schedules.js +28 -27
  106. package/dist/experiment-evaluation-schedules.js.map +1 -7
  107. package/dist/experiment-improvements.js +12 -11
  108. package/dist/experiment-improvements.js.map +1 -7
  109. package/dist/experiments.js +26 -25
  110. package/dist/experiments.js.map +1 -7
  111. package/dist/human-review.js +3 -2
  112. package/dist/human-review.js.map +1 -7
  113. package/dist/index.js +154 -62
  114. package/dist/index.js.map +1 -7
  115. package/dist/learning.js +4 -3
  116. package/dist/learning.js.map +1 -7
  117. package/dist/model-batch-review.js +2 -1
  118. package/dist/model-batch-review.js.map +1 -7
  119. package/dist/model-projects.js +3 -2
  120. package/dist/model-projects.js.map +1 -7
  121. package/dist/model-starter-attempts.js +5 -4
  122. package/dist/model-starter-attempts.js.map +1 -7
  123. package/dist/model-starter-catalog.js +15 -14
  124. package/dist/model-starter-catalog.js.map +1 -7
  125. package/dist/model-starters.js +15 -14
  126. package/dist/model-starters.js.map +1 -7
  127. package/dist/model-taskset-authoring.js +2 -1
  128. package/dist/model-taskset-authoring.js.map +1 -7
  129. package/dist/model-taskset-runs.js +6 -5
  130. package/dist/model-taskset-runs.js.map +1 -7
  131. package/dist/post-training.js +9 -8
  132. package/dist/post-training.js.map +1 -7
  133. package/dist/profile-actions.js +3 -2
  134. package/dist/profile-actions.js.map +1 -7
  135. package/dist/project-actions.js +3 -2
  136. package/dist/project-actions.js.map +1 -7
  137. package/dist/refiner.js +3 -2
  138. package/dist/refiner.js.map +1 -7
  139. package/dist/taskset-catalog.js +2 -1
  140. package/dist/taskset-catalog.js.map +1 -7
  141. package/dist/taskset-drafts.js +19 -18
  142. package/dist/taskset-drafts.js.map +1 -7
  143. package/dist/taskset-packages.js +25 -22
  144. package/dist/taskset-packages.js.map +1 -7
  145. package/dist/training-bundle.js +44 -19
  146. package/dist/training-bundle.js.map +1 -7
  147. package/dist/training-projects.js +2 -1
  148. package/dist/training-projects.js.map +1 -7
  149. package/dist/training.js +11 -10
  150. package/dist/training.js.map +1 -7
  151. package/dist/types/packages/cloud/src/api/core.d.ts.map +1 -1
  152. package/dist/types/packages/cloud/src/hosted-chat.d.ts +28 -0
  153. package/dist/types/packages/cloud/src/hosted-chat.d.ts.map +1 -1
  154. package/dist/types/packages/cloud/src/sandbox/client-handles.d.ts.map +1 -1
  155. package/dist/types/packages/cloud/src/sandbox/client.d.ts.map +1 -1
  156. package/dist/types/packages/cloud/src/sandbox/sandbox-instance-client.d.ts.map +1 -1
  157. package/dist/types/packages/cloud/src/sandbox/types/runtime-profiles.d.ts.map +1 -1
  158. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +487 -487
  159. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts.map +1 -1
  160. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +375 -351
  161. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -1
  162. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +80 -54
  163. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -1
  164. package/dist/types/packages/sdk/src/connected-collection-status.d.ts +5 -5
  165. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts +10 -10
  166. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +464 -460
  167. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
  168. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts +23 -23
  169. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts +77 -74
  170. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts.map +1 -1
  171. package/dist/types/packages/sdk/src/connected-sync.d.ts +30 -30
  172. package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -1
  173. package/dist/types/packages/sdk/src/dataset-commerce-contracts.d.ts +14 -14
  174. package/dist/types/packages/sdk/src/dataset-commerce-files.d.ts +5 -5
  175. package/dist/types/packages/sdk/src/dataset-commerce-files.d.ts.map +1 -1
  176. package/dist/types/packages/sdk/src/dataset-commerce-responses.d.ts +82 -82
  177. package/dist/types/packages/sdk/src/dataset-commerce.d.ts +58 -58
  178. package/dist/types/packages/sdk/src/dataset-commerce.d.ts.map +1 -1
  179. package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +4 -4
  180. package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -1
  181. package/dist/types/packages/sdk/src/dataset-population.d.ts +10 -10
  182. package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
  183. package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts +172 -172
  184. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +47 -47
  185. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -1
  186. package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts +90 -90
  187. package/dist/types/packages/sdk/src/dataset-preparation-qualification-contracts.d.ts +7 -7
  188. package/dist/types/packages/sdk/src/dataset-preparation-research-contracts.d.ts +26 -26
  189. package/dist/types/packages/sdk/src/dataset-preparation-starting-state.d.ts +8 -8
  190. package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts +111 -110
  191. package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts.map +1 -1
  192. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +896 -889
  193. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  194. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +225 -223
  195. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
  196. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +226 -224
  197. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
  198. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -1
  199. package/dist/types/packages/sdk/src/evaluation-project-context.d.ts +1 -1
  200. package/dist/types/packages/sdk/src/experiment-client.d.ts +2102 -2014
  201. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  202. package/dist/types/packages/sdk/src/experiment-contracts.d.ts +165 -113
  203. package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
  204. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +587 -516
  205. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -1
  206. package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts +5 -5
  207. package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts.map +1 -1
  208. package/dist/types/packages/sdk/src/experiment-field-mappings.d.ts +8 -8
  209. package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +16 -16
  210. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +2524 -2524
  211. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -1
  212. package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts +1557 -1557
  213. package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts +150 -150
  214. package/dist/types/packages/sdk/src/experiment-inspection.d.ts.map +1 -1
  215. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +38 -25
  216. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
  217. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +303 -243
  218. package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
  219. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +21 -21
  220. package/dist/types/packages/sdk/src/grader-inspection.d.ts +104 -104
  221. package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
  222. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +33 -20
  223. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -1
  224. package/dist/types/packages/sdk/src/human-review-client.d.ts +288 -288
  225. package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -1
  226. package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
  227. package/dist/types/packages/sdk/src/learning-batch-assets.d.ts +15 -13
  228. package/dist/types/packages/sdk/src/learning-batch-assets.d.ts.map +1 -1
  229. package/dist/types/packages/sdk/src/learning-client.d.ts +5 -5
  230. package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -1
  231. package/dist/types/packages/sdk/src/learning-credentials.d.ts +4 -4
  232. package/dist/types/packages/sdk/src/learning-credentials.d.ts.map +1 -1
  233. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +69 -69
  234. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
  235. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +65 -61
  236. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
  237. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +74 -72
  238. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
  239. package/dist/types/packages/sdk/src/model-batch-review.d.ts +96 -92
  240. package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
  241. package/dist/types/packages/sdk/src/model-bound-taskset-authoring.d.ts.map +1 -1
  242. package/dist/types/packages/sdk/src/model-learning-intent.d.ts +1 -1
  243. package/dist/types/packages/sdk/src/model-learning-policy.d.ts +247 -247
  244. package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
  245. package/dist/types/packages/sdk/src/model-projects.d.ts +342 -322
  246. package/dist/types/packages/sdk/src/model-projects.d.ts.map +1 -1
  247. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +187 -187
  248. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  249. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +181 -179
  250. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
  251. package/dist/types/packages/sdk/src/model-starter-execution.d.ts +40 -40
  252. package/dist/types/packages/sdk/src/model-starters.d.ts +291 -287
  253. package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
  254. package/dist/types/packages/sdk/src/model-taskset-authoring-contracts.d.ts +3 -3
  255. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +114 -112
  256. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
  257. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts +18 -18
  258. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +179 -127
  259. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  260. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +865 -833
  261. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  262. package/dist/types/packages/sdk/src/post-training.d.ts +444 -375
  263. package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
  264. package/dist/types/packages/sdk/src/profile-actions.d.ts.map +1 -1
  265. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +150 -150
  266. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -1
  267. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +254 -251
  268. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -1
  269. package/dist/types/packages/sdk/src/project-actions.d.ts.map +1 -1
  270. package/dist/types/packages/sdk/src/protocol.d.ts.map +1 -1
  271. package/dist/types/packages/sdk/src/run-diagnostics.d.ts +3 -3
  272. package/dist/types/packages/sdk/src/task-design-contracts.d.ts +50 -50
  273. package/dist/types/packages/sdk/src/task-inventory.d.ts +4 -4
  274. package/dist/types/packages/sdk/src/task-inventory.d.ts.map +1 -1
  275. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +190 -189
  276. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -1
  277. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +149 -148
  278. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
  279. package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts +15 -6
  280. package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts.map +1 -1
  281. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts +64 -63
  282. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts.map +1 -1
  283. package/dist/types/packages/sdk/src/taskset-catalog.d.ts.map +1 -1
  284. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +245 -243
  285. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
  286. package/dist/types/packages/sdk/src/taskset-draft-authoring.d.ts.map +1 -1
  287. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +745 -738
  288. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
  289. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +133 -131
  290. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -1
  291. package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +80 -80
  292. package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +34 -34
  293. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +119 -117
  294. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
  295. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +500 -492
  296. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
  297. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +236 -234
  298. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
  299. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +228 -224
  300. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
  301. package/dist/types/packages/sdk/src/taskset-intake.d.ts +1 -1
  302. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +4600 -4576
  303. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  304. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +2068 -2054
  305. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
  306. package/dist/types/packages/sdk/src/taskset-package-files.d.ts +1 -1
  307. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +21 -21
  308. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +88 -86
  309. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
  310. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +387 -383
  311. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
  312. package/dist/types/packages/sdk/src/training-acceptance.d.ts +26 -26
  313. package/dist/types/packages/sdk/src/training-acceptance.d.ts.map +1 -1
  314. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts +14 -10
  315. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts.map +1 -1
  316. package/dist/types/packages/sdk/src/training-bundle.d.ts +2 -0
  317. package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
  318. package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts +2 -2
  319. package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts.map +1 -1
  320. package/dist/types/packages/sdk/src/training-evaluation-results.d.ts +3 -3
  321. package/dist/types/packages/sdk/src/training-evaluation-source.d.ts +1 -1
  322. package/dist/types/packages/sdk/src/training-evaluation-source.d.ts.map +1 -1
  323. package/dist/types/packages/sdk/src/training-grading-plan.d.ts.map +1 -1
  324. package/dist/types/packages/sdk/src/training-harness-sources.d.ts +14 -14
  325. package/dist/types/packages/sdk/src/training-harness-sources.d.ts.map +1 -1
  326. package/dist/types/packages/sdk/src/training-learning-batch.d.ts +344 -340
  327. package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
  328. package/dist/types/packages/sdk/src/training-preparations.d.ts +700 -700
  329. package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
  330. package/dist/types/packages/sdk/src/training-project-client.d.ts +272 -272
  331. package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
  332. package/dist/types/packages/sdk/src/training-project-contracts.d.ts +161 -161
  333. package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +75 -71
  334. package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -1
  335. package/dist/types/packages/sdk/src/training.d.ts +1442 -1416
  336. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  337. package/dist/types/packages/sdk/src/work.d.ts +4 -0
  338. package/dist/types/packages/sdk/src/work.d.ts.map +1 -1
  339. package/dist/types/packages/sdk/src/workflows.d.ts.map +1 -1
  340. package/dist/workflows.js +3 -2
  341. package/dist/workflows.js.map +1 -7
  342. package/package.json +3 -3
  343. package/dist/chunk-2DMYAJLS.js.map +0 -7
  344. package/dist/chunk-2U54EOXJ.js.map +0 -7
  345. package/dist/chunk-36WJTS5V.js.map +0 -7
  346. package/dist/chunk-3KXDH6OB.js.map +0 -7
  347. package/dist/chunk-3LP7DNLQ.js.map +0 -7
  348. package/dist/chunk-6Q4I33CH.js.map +0 -7
  349. package/dist/chunk-77N3QEIL.js.map +0 -7
  350. package/dist/chunk-AG5DDL7T.js.map +0 -7
  351. package/dist/chunk-BFR3VC25.js.map +0 -7
  352. package/dist/chunk-BSK3VLM3.js.map +0 -7
  353. package/dist/chunk-CEZEVILU.js.map +0 -7
  354. package/dist/chunk-CK3ONRRC.js.map +0 -7
  355. package/dist/chunk-COPVBJPL.js.map +0 -7
  356. package/dist/chunk-CTVKI3BV.js.map +0 -7
  357. package/dist/chunk-CWXM57QR.js.map +0 -7
  358. package/dist/chunk-DUKW3R7O.js.map +0 -7
  359. package/dist/chunk-FHCSDXIA.js +0 -1417
  360. package/dist/chunk-FHCSDXIA.js.map +0 -7
  361. package/dist/chunk-FY7NHCEH.js.map +0 -7
  362. package/dist/chunk-G53MA5XX.js.map +0 -7
  363. package/dist/chunk-G6Y6CQYV.js.map +0 -7
  364. package/dist/chunk-HKWX624G.js.map +0 -7
  365. package/dist/chunk-IWT6JUZD.js.map +0 -7
  366. package/dist/chunk-K3JCP4FO.js.map +0 -7
  367. package/dist/chunk-K5WRVSOL.js.map +0 -7
  368. package/dist/chunk-KAE7AMYE.js.map +0 -7
  369. package/dist/chunk-MEKWESBF.js.map +0 -7
  370. package/dist/chunk-MLPPSCDQ.js.map +0 -7
  371. package/dist/chunk-O4GE6VTR.js.map +0 -7
  372. package/dist/chunk-P27DQ65Z.js.map +0 -7
  373. package/dist/chunk-QEIT5VXJ.js.map +0 -7
  374. package/dist/chunk-QTJQIHDZ.js.map +0 -7
  375. package/dist/chunk-ROBAX5TN.js.map +0 -7
  376. package/dist/chunk-T4APHDES.js.map +0 -7
  377. package/dist/chunk-TCHAWJMB.js.map +0 -7
  378. package/dist/chunk-TMUAKJWX.js.map +0 -7
  379. package/dist/chunk-TSMGMA6R.js.map +0 -7
  380. package/dist/chunk-UPS52OPZ.js.map +0 -7
  381. package/dist/chunk-VY5AFE7A.js.map +0 -7
  382. package/dist/chunk-XYQD4LDI.js.map +0 -7
  383. package/dist/chunk-YCQVVFE5.js.map +0 -7
  384. package/dist/chunk-YUKV7RCD.js.map +0 -7
  385. package/dist/chunk-YVUIHH6Z.js.map +0 -7
  386. package/dist/chunk-ZJ3H3VS7.js.map +0 -7
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  OpenPondLearningClient,
3
3
  OpenPondLearningError
4
- } from "./chunk-3LP7DNLQ.js";
4
+ } from "./chunk-H4NTJFEE.js";
5
5
  import {
6
6
  OpenPondProfileActionsClient
7
- } from "./chunk-2DMYAJLS.js";
7
+ } from "./chunk-3DWPLYFJ.js";
8
8
  import {
9
9
  OpenPondWorkflowsClient
10
- } from "./chunk-MEKWESBF.js";
10
+ } from "./chunk-FBZTDDRC.js";
11
11
  import {
12
12
  DEFAULT_REFINER_REVIEW_PROFILE,
13
13
  REFINER_CORE_VERSION,
@@ -20,19 +20,19 @@ import {
20
20
  defineReviewProfile,
21
21
  refinerProfilePrompt,
22
22
  serializeReviewProfile
23
- } from "./chunk-O4GE6VTR.js";
23
+ } from "./chunk-PWW5QKZS.js";
24
24
  import {
25
25
  OpenPondProjectActionsClient
26
- } from "./chunk-IWT6JUZD.js";
26
+ } from "./chunk-L6EJX2VQ.js";
27
27
  import {
28
28
  OpenPondApiError,
29
29
  apiFetch,
30
30
  readApiJson
31
- } from "./chunk-CEZEVILU.js";
31
+ } from "./chunk-HJ2AIAKX.js";
32
32
  import {
33
33
  HumanReviewClientError,
34
34
  OpenPondHumanReviewClient
35
- } from "./chunk-AG5DDL7T.js";
35
+ } from "./chunk-DH6O4JFB.js";
36
36
  import {
37
37
  AgentImportPreviewSchema,
38
38
  AgentImportReceiptSchema,
@@ -66,7 +66,7 @@ import {
66
66
  hashCollectorEligibleBoundaries,
67
67
  summarizeCollectorCoverage,
68
68
  verifyConnectedRecordedExecution
69
- } from "./chunk-VY5AFE7A.js";
69
+ } from "./chunk-BYNVSWIQ.js";
70
70
  import {
71
71
  AgentImportCommitRequestSchema,
72
72
  AgentImportFileSchema,
@@ -83,7 +83,7 @@ import {
83
83
  ConnectedStartingAssetsReceiptSchema,
84
84
  ConnectedStartingAssetsRequestSchema,
85
85
  verifyConnectedStartingAssetsReceipt
86
- } from "./chunk-QEIT5VXJ.js";
86
+ } from "./chunk-F4GITADW.js";
87
87
  import {
88
88
  CandidateEvaluationControlSchema,
89
89
  CandidateEvaluationOptionSchema,
@@ -91,7 +91,7 @@ import {
91
91
  CandidateEvaluationPreparationSchema,
92
92
  CandidateEvaluationRequestSchema,
93
93
  createCandidateEvaluationClient
94
- } from "./chunk-BSK3VLM3.js";
94
+ } from "./chunk-6MFFKAU6.js";
95
95
  import {
96
96
  ExperimentImprovementClient,
97
97
  HostedProfileCandidateCommandSchema,
@@ -99,7 +99,7 @@ import {
99
99
  HostedProfileCandidateReceiptSchema,
100
100
  verifyHostedProfileCandidateExport,
101
101
  verifyHostedProfileCandidateReceipt
102
- } from "./chunk-77N3QEIL.js";
102
+ } from "./chunk-25L5IXHA.js";
103
103
  import {
104
104
  ExperimentEvaluationFireSchema,
105
105
  ExperimentEvaluationScheduleCommandSchema,
@@ -110,7 +110,7 @@ import {
110
110
  scheduledExperimentHash,
111
111
  sealExperimentEvaluationSchedule,
112
112
  verifyExperimentEvaluationSchedule
113
- } from "./chunk-G6Y6CQYV.js";
113
+ } from "./chunk-AUNNXJQE.js";
114
114
  import {
115
115
  AdvancedRefinerEvaluationAccountingSchema,
116
116
  AdvancedRefinerEvaluationCommandSchema,
@@ -125,7 +125,7 @@ import {
125
125
  sealAdvancedRefinerEvaluationPin,
126
126
  sealAdvancedRefinerReviewReceipt,
127
127
  verifyAdvancedRefinerEvaluationPin
128
- } from "./chunk-YUKV7RCD.js";
128
+ } from "./chunk-GWGDWZVN.js";
129
129
  import {
130
130
  ExperimentImprovementCommandSchema,
131
131
  ExperimentImprovementHumanOptionsSchema,
@@ -139,37 +139,42 @@ import {
139
139
  sealExperimentImprovementState,
140
140
  verifyExperimentImprovementHumanOptions,
141
141
  verifyExperimentImprovementState
142
- } from "./chunk-TSMGMA6R.js";
143
- import "./chunk-YCQVVFE5.js";
142
+ } from "./chunk-KKL6OICH.js";
143
+ import "./chunk-3B5KSH3V.js";
144
144
  import {
145
145
  OpenPondExperimentsClient
146
- } from "./chunk-K5WRVSOL.js";
147
- import "./chunk-UPS52OPZ.js";
148
- import "./chunk-HKWX624G.js";
149
- import "./chunk-YVUIHH6Z.js";
150
- import "./chunk-FY7NHCEH.js";
151
- import "./chunk-36WJTS5V.js";
152
- import "./chunk-BFR3VC25.js";
153
- import "./chunk-K3JCP4FO.js";
154
- import "./chunk-ROBAX5TN.js";
155
- import "./chunk-CWXM57QR.js";
146
+ } from "./chunk-BJ5MKLWH.js";
147
+ import "./chunk-6Y67YHVH.js";
148
+ import "./chunk-QFBSNSUL.js";
149
+ import "./chunk-GPQLBVQC.js";
150
+ import "./chunk-FLNWE5ZA.js";
151
+ import "./chunk-6KKM2XRR.js";
152
+ import "./chunk-HOOHJCE7.js";
153
+ import "./chunk-Z252BNAZ.js";
154
+ import "./chunk-WQFU635Q.js";
155
+ import "./chunk-ZFYI4P6C.js";
156
156
  import {
157
- ConnectedDatasetSourceRefSchema
158
- } from "./chunk-FHCSDXIA.js";
159
- import "./chunk-2U54EOXJ.js";
160
- import "./chunk-TMUAKJWX.js";
161
- import "./chunk-MLPPSCDQ.js";
162
- import "./chunk-G53MA5XX.js";
163
- import "./chunk-DUKW3R7O.js";
164
- import "./chunk-KAE7AMYE.js";
165
- import "./chunk-CTVKI3BV.js";
166
- import "./chunk-T4APHDES.js";
167
- import "./chunk-QTJQIHDZ.js";
168
- import "./chunk-ZJ3H3VS7.js";
169
- import "./chunk-CK3ONRRC.js";
170
- import "./chunk-TCHAWJMB.js";
171
- import "./chunk-3KXDH6OB.js";
172
- import "./chunk-COPVBJPL.js";
157
+ ConnectedDatasetSourceRefSchema,
158
+ serializeStructuredOutput,
159
+ structuredOutputTools,
160
+ structuredToolOutput,
161
+ validateOutputBytes
162
+ } from "./chunk-EJZ7HOIS.js";
163
+ import "./chunk-TK3DXH7A.js";
164
+ import "./chunk-XACJ63U4.js";
165
+ import "./chunk-RE426Q7Y.js";
166
+ import "./chunk-T3MFWGMX.js";
167
+ import "./chunk-Q4TKI2MV.js";
168
+ import "./chunk-H3367ISL.js";
169
+ import "./chunk-DBKCSQVH.js";
170
+ import "./chunk-O6FKHAWN.js";
171
+ import "./chunk-MJELLVQP.js";
172
+ import "./chunk-6GQ3GIAP.js";
173
+ import "./chunk-O54KGALH.js";
174
+ import "./chunk-CAMLCKSF.js";
175
+ import "./chunk-CL3IOOVL.js";
176
+ import "./chunk-H3JZ3P5T.js";
177
+ import "./chunk-YLJ4XMA6.js";
173
178
 
174
179
  // ../cloud/dist/sandbox/client-handles.js
175
180
  function createSandboxRuntimeNamespace(client) {
@@ -1787,13 +1792,17 @@ function requireToken(value) {
1787
1792
  throw new Error("OpenPond API key is required");
1788
1793
  return trimmed;
1789
1794
  }
1790
- function hostedHeaders(token, accept, requestId) {
1795
+ function hostedHeaders(token, accept, requestId, teamId) {
1791
1796
  const headers = new Headers();
1792
1797
  headers.set("Authorization", `Bearer ${requireToken(token)}`);
1793
1798
  headers.set("Content-Type", "application/json");
1794
1799
  headers.set("Accept", accept);
1795
1800
  headers.set("x-openpond-client", "openpond-code");
1796
- headers.set("x-openpond-request-id", requestId || randomUUID());
1801
+ const operationId = requestId || randomUUID();
1802
+ headers.set("x-openpond-request-id", operationId);
1803
+ headers.set("x-request-id", operationId);
1804
+ if (teamId)
1805
+ headers.set("x-openpond-team-id", teamId);
1797
1806
  return headers;
1798
1807
  }
1799
1808
  async function readError(response) {
@@ -1845,7 +1854,8 @@ async function listOpChatModels(options) {
1845
1854
  const requestUrl = `${apiBaseUrl}/models`;
1846
1855
  const response = await fetch(requestUrl, {
1847
1856
  method: "GET",
1848
- headers: hostedHeaders(options.token, "application/json"),
1857
+ redirect: "error",
1858
+ headers: hostedHeaders(options.token, "application/json", void 0, options.teamId),
1849
1859
  signal: options.signal
1850
1860
  });
1851
1861
  if (!response.ok) {
@@ -1858,7 +1868,8 @@ async function getOpChatModel(options) {
1858
1868
  const requestUrl = `${apiBaseUrl}/models/${encodeURIComponent(options.model)}`;
1859
1869
  const response = await fetch(requestUrl, {
1860
1870
  method: "GET",
1861
- headers: hostedHeaders(options.token, "application/json"),
1871
+ redirect: "error",
1872
+ headers: hostedHeaders(options.token, "application/json", void 0, options.teamId),
1862
1873
  signal: options.signal
1863
1874
  });
1864
1875
  if (!response.ok) {
@@ -1871,7 +1882,8 @@ async function listOpChatProviders(options) {
1871
1882
  const requestUrl = `${apiBaseUrl}/providers`;
1872
1883
  const response = await fetch(requestUrl, {
1873
1884
  method: "GET",
1874
- headers: hostedHeaders(options.token, "application/json"),
1885
+ redirect: "error",
1886
+ headers: hostedHeaders(options.token, "application/json", void 0, options.teamId),
1875
1887
  signal: options.signal
1876
1888
  });
1877
1889
  if (!response.ok) {
@@ -1884,7 +1896,8 @@ async function getOpChatProvider(options) {
1884
1896
  const requestUrl = `${apiBaseUrl}/providers/${encodeURIComponent(options.provider)}`;
1885
1897
  const response = await fetch(requestUrl, {
1886
1898
  method: "GET",
1887
- headers: hostedHeaders(options.token, "application/json"),
1899
+ redirect: "error",
1900
+ headers: hostedHeaders(options.token, "application/json", void 0, options.teamId),
1888
1901
  signal: options.signal
1889
1902
  });
1890
1903
  if (!response.ok) {
@@ -1897,7 +1910,8 @@ async function sendHostedChatTurn(options) {
1897
1910
  const requestUrl = `${apiBaseUrl}/chat/completions`;
1898
1911
  const response = await fetch(requestUrl, {
1899
1912
  method: "POST",
1900
- headers: hostedHeaders(options.token, "application/json", options.requestId),
1913
+ redirect: "error",
1914
+ headers: hostedHeaders(options.token, "application/json", options.requestId, options.teamId),
1901
1915
  body: JSON.stringify(buildHostedChatBody(options, false)),
1902
1916
  signal: options.signal
1903
1917
  });
@@ -1906,10 +1920,11 @@ async function sendHostedChatTurn(options) {
1906
1920
  }
1907
1921
  return await response.json();
1908
1922
  }
1909
- async function* parseOpenAISSE(stream, signal) {
1923
+ async function* parseOpenAISSE(stream, signal, observe) {
1910
1924
  const reader = stream.getReader();
1911
1925
  const decoder = new TextDecoder();
1912
1926
  let buffer = "";
1927
+ let sawDone = false;
1913
1928
  const readAbortError = () => signal?.reason instanceof Error ? signal.reason : new Error("hosted_chat_aborted");
1914
1929
  try {
1915
1930
  while (true) {
@@ -1918,22 +1933,38 @@ async function* parseOpenAISSE(stream, signal) {
1918
1933
  const result = await reader.read();
1919
1934
  if (result.done)
1920
1935
  break;
1936
+ observe?.({ type: "bytes", byteLength: result.value.byteLength });
1921
1937
  buffer += decoder.decode(result.value, { stream: true });
1922
1938
  const lines = buffer.split("\n");
1923
1939
  buffer = lines.pop() || "";
1924
1940
  for (const line of lines) {
1925
1941
  const trimmed = line.trim();
1942
+ if (trimmed.startsWith(":"))
1943
+ observe?.({ type: "comment" });
1926
1944
  if (!trimmed.startsWith("data:"))
1927
1945
  continue;
1928
1946
  const data = trimmed.slice(5).trim();
1929
1947
  if (!data)
1930
1948
  continue;
1931
- if (data === "[DONE]")
1949
+ if (data === "[DONE]") {
1950
+ sawDone = true;
1951
+ observe?.({ type: "done" });
1932
1952
  return;
1933
- yield JSON.parse(data);
1953
+ }
1954
+ const parsed = JSON.parse(data);
1955
+ observe?.({
1956
+ type: "data",
1957
+ errorFrame: Boolean(parsed && typeof parsed === "object" && "error" in parsed)
1958
+ });
1959
+ yield parsed;
1934
1960
  }
1935
1961
  }
1962
+ throw new Error("Hosted chat stream ended before [DONE].");
1936
1963
  } finally {
1964
+ if (!sawDone) {
1965
+ await reader.cancel().catch(() => {
1966
+ });
1967
+ }
1937
1968
  try {
1938
1969
  reader.releaseLock();
1939
1970
  } catch {
@@ -1943,16 +1974,34 @@ async function* parseOpenAISSE(stream, signal) {
1943
1974
  async function* streamHostedChatTurn(options) {
1944
1975
  const apiBaseUrl = normalizeApiBaseUrl(options.apiBaseUrl);
1945
1976
  const requestUrl = `${apiBaseUrl}/chat/completions`;
1977
+ const started = performance.now();
1978
+ const observe = (event) => {
1979
+ try {
1980
+ options.onStreamDiagnostic?.({ ...event, elapsedMs: Math.round(performance.now() - started) });
1981
+ } catch {
1982
+ }
1983
+ };
1984
+ observe({ type: "request" });
1946
1985
  const response = await fetch(requestUrl, {
1947
1986
  method: "POST",
1948
- headers: hostedHeaders(options.token, "text/event-stream", options.requestId),
1987
+ redirect: "error",
1988
+ headers: hostedHeaders(options.token, "text/event-stream", options.requestId, options.teamId),
1949
1989
  body: JSON.stringify(buildHostedChatBody(options, true)),
1950
1990
  signal: options.signal
1951
1991
  });
1992
+ const cacheControl = response.headers.get("cache-control")?.toLowerCase().split(",").map((value) => value.trim()) ?? [];
1993
+ observe({
1994
+ type: "headers",
1995
+ status: response.status,
1996
+ eventStream: response.headers.get("content-type")?.split(";")[0]?.trim().toLowerCase() === "text/event-stream",
1997
+ noCache: cacheControl.includes("no-cache"),
1998
+ noTransform: cacheControl.includes("no-transform"),
1999
+ bufferingDisabled: response.headers.get("x-accel-buffering")?.toLowerCase() === "no"
2000
+ });
1952
2001
  if (!response.ok || !response.body) {
1953
2002
  throw new Error(`Hosted chat stream failed: ${response.status} ${await readError(response)}`);
1954
2003
  }
1955
- for await (const raw of parseOpenAISSE(response.body, options.signal)) {
2004
+ for await (const raw of parseOpenAISSE(response.body, options.signal, observe)) {
1956
2005
  const chunk = raw;
1957
2006
  if (chunk.error) {
1958
2007
  throw new Error(chunk.error.message || "Hosted chat stream error");
@@ -1981,6 +2030,9 @@ async function* streamHostedChatTurn(options) {
1981
2030
  }
1982
2031
  }
1983
2032
 
2033
+ // src/work.ts
2034
+ import { randomUUID as randomUUID2 } from "node:crypto";
2035
+
1984
2036
  // src/work-sandbox.ts
1985
2037
  function workSandbox(client, custom) {
1986
2038
  return {
@@ -2082,6 +2134,7 @@ var OpenPondWorkClient = class {
2082
2134
  const prompt = input.prompt.trim();
2083
2135
  if (!prompt) throw new Error("Work prompt is required");
2084
2136
  input.signal?.throwIfAborted();
2137
+ const submissionTools = structuredOutputTools(input.requiredOutputs ?? []);
2085
2138
  const emit = async (event) => input.onEvent?.(event);
2086
2139
  const cleanupPolicy = input.cleanup ?? "keep";
2087
2140
  const lifecycle = initialLifecycle(cleanupPolicy);
@@ -2106,7 +2159,7 @@ var OpenPondWorkClient = class {
2106
2159
  content: systemPrompt(sandbox.id, (input.inputs?.length ?? 0) > 0)
2107
2160
  },
2108
2161
  ...(input.history ?? []).map((message) => ({ ...message })),
2109
- { role: "user", content: prompt }
2162
+ { role: "user", content: prompt + (input.requiredOutputs?.length ? "\nRequired outputs under outputs/: " + JSON.stringify(input.requiredOutputs) : "") }
2110
2163
  ];
2111
2164
  for (let step = 1; step <= maxSteps; step += 1) {
2112
2165
  input.signal?.throwIfAborted();
@@ -2116,7 +2169,7 @@ var OpenPondWorkClient = class {
2116
2169
  token: this.#apiKey,
2117
2170
  model: input.model?.trim() || this.#defaultModel,
2118
2171
  messages,
2119
- tools: WORK_TOOLS,
2172
+ tools: [...WORK_TOOLS, ...submissionTools],
2120
2173
  toolChoice: "auto",
2121
2174
  signal: input.signal,
2122
2175
  metadata: {
@@ -2139,7 +2192,13 @@ var OpenPondWorkClient = class {
2139
2192
  await emit({ type: "assistant", text: assistantText });
2140
2193
  }
2141
2194
  if (toolCalls.length === 0) {
2142
- const outputs = await this.#collectOutputs(sandbox.id, outputBaseline);
2195
+ let outputs;
2196
+ try {
2197
+ outputs = await this.#collectOutputs(sandbox.id, outputBaseline, input.requiredOutputs);
2198
+ } catch (error) {
2199
+ messages.push({ role: "user", content: "Output acceptance failed. Correct the required outputs and submit again: " + errorMessage(error) });
2200
+ continue;
2201
+ }
2143
2202
  for (const output of outputs) await emit({ type: "output", output });
2144
2203
  finalizationAttempted = true;
2145
2204
  await this.#finalizeSandbox(sandbox.id, outputs, input, lifecycle, emit);
@@ -2160,7 +2219,8 @@ var OpenPondWorkClient = class {
2160
2219
  toolCall,
2161
2220
  index,
2162
2221
  input.timeoutSeconds,
2163
- emit
2222
+ emit,
2223
+ input.requiredOutputs
2164
2224
  );
2165
2225
  messages.push(result);
2166
2226
  }
@@ -2169,7 +2229,7 @@ var OpenPondWorkClient = class {
2169
2229
  } catch (error) {
2170
2230
  if (sandbox && outputBaseline && !finalizationAttempted) {
2171
2231
  try {
2172
- const outputs = await this.#collectOutputs(sandbox.id, outputBaseline);
2232
+ const outputs = await this.#collectOutputs(sandbox.id, outputBaseline, input.requiredOutputs);
2173
2233
  for (const output of outputs) await emit({ type: "output", output });
2174
2234
  await this.#finalizeSandbox(sandbox.id, outputs, input, lifecycle, emit);
2175
2235
  } catch (finalizationError) {
@@ -2241,7 +2301,16 @@ var OpenPondWorkClient = class {
2241
2301
  for (const output of outputs) {
2242
2302
  await emit({ type: "persistence", output, status: "started" });
2243
2303
  try {
2244
- const download = lazyOutputDownload(this.#sandboxes, sandboxId, output);
2304
+ const originalDownload = lazyOutputDownload(this.#sandboxes, sandboxId, output);
2305
+ const download = async () => {
2306
+ const result = await originalDownload();
2307
+ const required = input.requiredOutputs?.find((item) => normalizedOutputPath(output.path) === `${WORK_OUTPUT_DIRECTORY}/${item.path}`);
2308
+ if (required) {
2309
+ const validation = validateOutputBytes(required, Buffer.from(result.file.contentsBase64, "base64"));
2310
+ if (output.validation && validation?.artifactHash !== output.validation.artifactHash) throw new Error("work_saved_output_changed");
2311
+ }
2312
+ return result;
2313
+ };
2245
2314
  await input.persistOutput({ output, download });
2246
2315
  lifecycle.persistence.persistedCount += 1;
2247
2316
  await emit({ type: "persistence", output, status: "succeeded" });
@@ -2322,9 +2391,17 @@ var OpenPondWorkClient = class {
2322
2391
  });
2323
2392
  return outputSignatures(await this.#listOutputFiles(sandboxId));
2324
2393
  }
2325
- async #collectOutputs(sandboxId, baseline) {
2394
+ async #collectOutputs(sandboxId, baseline, requiredOutputs) {
2326
2395
  const files = await this.#listOutputFiles(sandboxId);
2327
- return files.filter((file) => baseline.get(file.path) !== outputSignature(file)).sort((left, right) => left.path.localeCompare(right.path)).slice(0, MAX_WORK_OUTPUTS).map(workOutputFromFile);
2396
+ const outputs = files.filter((file) => baseline.get(file.path) !== outputSignature(file)).sort((left, right) => left.path.localeCompare(right.path)).slice(0, MAX_WORK_OUTPUTS).map(workOutputFromFile);
2397
+ for (const required of requiredOutputs ?? []) {
2398
+ const output = outputs.find((item) => normalizedOutputPath(item.path) === `${WORK_OUTPUT_DIRECTORY}/${required.path}`);
2399
+ if (!output) throw new Error("work_required_output_missing:" + required.path);
2400
+ const downloaded = await this.#sandboxes.downloadFileResponse(sandboxId, output.path);
2401
+ if (downloaded.file.truncated) throw new Error("work_output_download_truncated");
2402
+ output.validation = validateOutputBytes(required, Buffer.from(downloaded.file.contentsBase64, "base64"));
2403
+ }
2404
+ return outputs;
2328
2405
  }
2329
2406
  async #listOutputFiles(sandboxId) {
2330
2407
  const listed = await this.#sandboxes.listFiles(sandboxId, {
@@ -2366,9 +2443,24 @@ var OpenPondWorkClient = class {
2366
2443
  }
2367
2444
  throw new Error(`Sandbox ${sandboxId} did not become ready before timeout`);
2368
2445
  }
2369
- async #executeTool(sandboxId, toolCall, index, timeoutSeconds, emit) {
2446
+ async #executeTool(sandboxId, toolCall, index, timeoutSeconds, emit, requiredOutputs) {
2370
2447
  const toolCallId = toolCall.id || `work_tool_${index}`;
2371
2448
  const name = toolCall.function?.name;
2449
+ const structured = structuredToolOutput(requiredOutputs ?? [], name ?? "");
2450
+ if (structured) {
2451
+ try {
2452
+ const bytes = serializeStructuredOutput(structured, JSON.parse(toolCall.function?.arguments || "{}"));
2453
+ const path = `${WORK_OUTPUT_DIRECTORY}/${structured.path}`;
2454
+ const temporary = `${WORK_OUTPUT_DIRECTORY}/.openpond-${randomUUID2()}`;
2455
+ await this.#sandboxes.uploadFileBase64(sandboxId, temporary, Buffer.from(bytes).toString("base64"));
2456
+ const quote = (value) => "'" + value.replaceAll("'", "'\\''") + "'";
2457
+ const moved = await this.#sandboxes.exec(sandboxId, { command: `mkdir -p -- ${quote(path.slice(0, path.lastIndexOf("/")))} && mv -f -- ${quote(temporary)} ${quote(path)}`, timeoutSeconds: 30 });
2458
+ if (moved.command.exitCode !== 0) throw new Error("work_output_registration_failed");
2459
+ return toolMessage(toolCallId, { ok: true, path, validation: validateOutputBytes(structured, bytes) });
2460
+ } catch (error) {
2461
+ return toolMessage(toolCallId, { ok: false, error: errorMessage(error) });
2462
+ }
2463
+ }
2372
2464
  if (name !== "run_command") {
2373
2465
  return toolMessage(toolCallId, { error: `Unknown tool: ${name ?? "missing"}` });
2374
2466
  }