openpond 0.0.68 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/dist/chunks/{actions-command-DLOKFA34.js → actions-command-6N5XWMR6.js} +4 -4
  2. package/dist/chunks/{app-layer-K7NAOLDL.js → app-layer-XEYHFJHI.js} +7 -7
  3. package/dist/chunks/app-server-runtime-Y6MW4XCG.js +21 -0
  4. package/dist/chunks/{apps-5VSVJLM7.js → apps-GSXUDK6V.js} +7 -7
  5. package/dist/chunks/{chunk-HNY7OSDY.js → chunk-2JABRRNR.js} +1 -1
  6. package/dist/chunks/{chunk-N6FKRVAT.js → chunk-47EIAYI7.js} +2 -2
  7. package/dist/chunks/{chunk-7FW2CVYN.js → chunk-4L3ZJS2T.js} +426 -1
  8. package/dist/chunks/{chunk-OOJP442J.js → chunk-5TKZBMQM.js} +1 -1
  9. package/dist/chunks/{chunk-OQLYO7TA.js → chunk-6G6MDZLM.js} +1129 -200
  10. package/dist/chunks/{chunk-HFQHD35D.js → chunk-AN2EYCN3.js} +1 -1
  11. package/dist/chunks/{chunk-3KLQ52B2.js → chunk-BVY5JYM6.js} +4 -9
  12. package/dist/chunks/{chunk-KLD7NT5J.js → chunk-CNTM26OW.js} +3 -3
  13. package/dist/chunks/{chunk-DBHSOTYZ.js → chunk-D7BO5Y5J.js} +3 -24
  14. package/dist/chunks/chunk-DLQQIWN2.js +648 -0
  15. package/dist/chunks/{chunk-T55IL3GI.js → chunk-DNXBJZAU.js} +1 -1
  16. package/dist/chunks/{chunk-TSDVA7QP.js → chunk-EFET7LB7.js} +28 -13
  17. package/dist/chunks/{chunk-QETF6ILG.js → chunk-FQS2QL5F.js} +359 -841
  18. package/dist/chunks/{chunk-J2REM7LE.js → chunk-HFPUR4CQ.js} +5 -116
  19. package/dist/chunks/{chunk-JIEUB6OS.js → chunk-J3YDKJFD.js} +1 -1
  20. package/dist/chunks/{training-5CPTZRVC.js → chunk-J7PYGDRY.js} +251 -16
  21. package/dist/chunks/{chunk-JGOP4GCK.js → chunk-JTHL5XJ2.js} +5 -25
  22. package/dist/chunks/{chunk-NA4L2HQM.js → chunk-N3TGCM7J.js} +94 -36
  23. package/dist/chunks/{chunk-MUS7KPXK.js → chunk-NTK22KJD.js} +1979 -20
  24. package/dist/chunks/{chunk-PSGEH4FC.js → chunk-P6JLLWMI.js} +3 -3
  25. package/dist/chunks/chunk-R3C3MNSI.js +140 -0
  26. package/dist/chunks/{chunk-WEB37YVJ.js → chunk-TGM5IPYO.js} +31 -3
  27. package/dist/chunks/{chunk-IG72OKNB.js → chunk-TZWAUV2L.js} +3148 -16564
  28. package/dist/chunks/{chunk-TBEBLKCQ.js → chunk-WBAZFKC7.js} +3 -3
  29. package/dist/chunks/{chunk-Z2ZWHU7O.js → chunk-YVCYVDNP.js} +1 -1
  30. package/dist/chunks/{cli-6WFY2ULA.js → cli-L5VPOV6I.js} +9 -8
  31. package/dist/chunks/continual-FYDKLCO7.js +803 -0
  32. package/dist/chunks/{core-commands-HQ3HL34W.js → core-commands-MAN3CSJQ.js} +8 -8
  33. package/dist/chunks/{desktop-test-RU6SRARQ.js → desktop-test-OE5SST2W.js} +7 -7
  34. package/dist/chunks/{extension-4KFKWMC4.js → extension-J3CIEDP4.js} +1003 -105
  35. package/dist/chunks/{help-ZUCPOR22.js → help-JNGJJFU5.js} +1 -1
  36. package/dist/chunks/{opchat-AZX7SYM7.js → opchat-6HEQJFLL.js} +10 -18
  37. package/dist/chunks/{organizations-GV6Z7G4J.js → organizations-MWAPNOCK.js} +10 -9
  38. package/dist/chunks/{profile-TSLGZPUI.js → profile-P7HMONTZ.js} +11 -11
  39. package/dist/chunks/{project-agent-SHIQZWPY.js → project-agent-2RAK7GAZ.js} +10 -10
  40. package/dist/chunks/{sandbox-command-TRS66NUT.js → sandbox-command-G22CPFNK.js} +8 -8
  41. package/dist/chunks/{sandbox-template-RVWXD5O3.js → sandbox-template-S4WRUWJ6.js} +10 -10
  42. package/dist/chunks/{src-VUJ6EBOU.js → src-A6O6ZGIL.js} +18307 -10584
  43. package/dist/chunks/{src-Q3BOITLJ.js → src-BKBZ7WLO.js} +6 -5
  44. package/dist/chunks/taskset-BMI7KOWP.js +66 -0
  45. package/dist/chunks/{teams-bot-CLCMGBW5.js → teams-bot-5VBYEN7M.js} +7 -7
  46. package/dist/chunks/training-UPVSGDTB.js +17 -0
  47. package/dist/chunks/{workspaces-IIPITOCV.js → workspaces-XM5BY3MO.js} +4 -2
  48. package/dist/cli.js +13 -13
  49. package/dist/index.js +15 -56
  50. package/dist/web/assets/App-DfiCmBv6.js +173 -0
  51. package/dist/web/assets/{AppDialog-sLTPiFGX.js → AppDialog-CSXu5wRu.js} +1 -1
  52. package/dist/web/assets/{AppTerminalPanel-B0NCyY4L.js → AppTerminalPanel-y2bVL2RV.js} +2 -2
  53. package/dist/web/assets/{AppsView-DyDyktK2.js → AppsView-Bs9pwD2H.js} +1 -1
  54. package/dist/web/assets/{BrowserSidebar-C-PQxmQa.js → BrowserSidebar-CUgT5V1m.js} +1 -1
  55. package/dist/web/assets/{CartesianChart-CnerMhTr.js → CartesianChart-DA85hfrP.js} +1 -1
  56. package/dist/web/assets/{CollaborationTabs-DJEp6dux.js → CollaborationTabs-B8mlPhM3.js} +1 -1
  57. package/dist/web/assets/{CommandMenu-B5lGz8rG.js → CommandMenu-EwUGCeC_.js} +1 -1
  58. package/dist/web/assets/{CommunityView-DQJaHBa5.js → CommunityView-IHNq-YJz.js} +1 -1
  59. package/dist/web/assets/{ComposerCreateImproveStrip-7hBR2bdV.js → ComposerCreateImproveStrip-qOL2zA26.js} +1 -1
  60. package/dist/web/assets/{GetStartedView-l1Cz1e7g.js → GetStartedView-C2ypO0v7.js} +1 -1
  61. package/dist/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  62. package/dist/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  63. package/dist/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  64. package/dist/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  65. package/dist/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  66. package/dist/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  67. package/dist/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  68. package/dist/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  69. package/dist/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  70. package/dist/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  71. package/dist/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  72. package/dist/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  73. package/dist/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  74. package/dist/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  75. package/dist/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  76. package/dist/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  77. package/dist/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  78. package/dist/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  79. package/dist/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  80. package/dist/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  81. package/dist/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  82. package/dist/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  83. package/dist/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  84. package/dist/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  85. package/dist/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  86. package/dist/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  87. package/dist/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  88. package/dist/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  89. package/dist/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  90. package/dist/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  91. package/dist/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  92. package/dist/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  93. package/dist/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  94. package/dist/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  95. package/dist/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  96. package/dist/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  97. package/dist/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  98. package/dist/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  99. package/dist/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  100. package/dist/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  101. package/dist/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  102. package/dist/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  103. package/dist/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  104. package/dist/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  105. package/dist/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  106. package/dist/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  107. package/dist/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  108. package/dist/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  109. package/dist/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  110. package/dist/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  111. package/dist/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  112. package/dist/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  113. package/dist/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  114. package/dist/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  115. package/dist/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  116. package/dist/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  117. package/dist/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  118. package/dist/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  119. package/dist/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  120. package/dist/web/assets/LabModelVersionDetailPage-BK0eoUlW.js +1 -0
  121. package/dist/web/assets/{LabSkillSidebar-jlX5I_D5.js → LabSkillSidebar-CRPb4qBn.js} +1 -1
  122. package/dist/web/assets/LabsRoute-Bw-HD6QC.js +2 -0
  123. package/dist/web/assets/LabsRoute-CGFgymTX.css +1 -0
  124. package/dist/web/assets/MainChatThread-Cu6_UnNE.js +2 -0
  125. package/dist/web/assets/MainPane-k1iII9e9.js +8 -0
  126. package/dist/web/assets/MarkdownText-N60tvLug.js +268 -0
  127. package/dist/web/assets/Messages-CYQFLElK.js +10 -0
  128. package/dist/web/assets/{NativeSkillSidebar-DaD52aW1.js → NativeSkillSidebar-zbx7WmOk.js} +1 -1
  129. package/dist/web/assets/{NewExperienceSwitcher-C7X_K5Xl.js → NewExperienceSwitcher-B0zev5Sx.js} +1 -1
  130. package/dist/web/assets/{NewProjectDialog-NuPVF2Y7.js → NewProjectDialog-lZlzrp-R.js} +1 -1
  131. package/dist/web/assets/{OutputsPage-Bmof4Tdv.js → OutputsPage-B4zYYUT5.js} +1 -1
  132. package/dist/web/assets/{ProjectsPage-D7opg6ff.js → ProjectsPage-97wgc84s.js} +1 -1
  133. package/dist/web/assets/RightChatPanelStack-I2znDCc7.js +1 -0
  134. package/dist/web/assets/{RightSidebarHomePanel-D8dAMHcp.js → RightSidebarHomePanel-BUcWVJi-.js} +1 -1
  135. package/dist/web/assets/ScheduledWorkPage-Bp-t0eVj.js +1 -0
  136. package/dist/web/assets/SettingsView-C1xyn1Y4.js +6 -0
  137. package/dist/web/assets/{TeamChatView-DIxvrgai.js → TeamChatView-Fj5_yjVE.js} +2 -2
  138. package/dist/web/assets/{TerminalOverlay-Cd0Sp9LD.js → TerminalOverlay-D2WBeJvp.js} +1 -1
  139. package/dist/web/assets/{TrainingCreationPanel-DACYaOny.js → TrainingCreationPanel-dYW_dh3M.js} +1 -1
  140. package/dist/web/assets/{TrainingDraftPanel-DBWJW8ZD.js → TrainingDraftPanel-zeJWmmW6.js} +1 -1
  141. package/dist/web/assets/{UsageSettingsSection-B3sbqaUV.js → UsageSettingsSection-B6SBqYuB.js} +2 -2
  142. package/dist/web/assets/WorkSidebarPanel-BwbWKpOZ.js +1 -0
  143. package/dist/web/assets/{WorkspaceDiffPanel-CBgPVF1P.js → WorkspaceDiffPanel-D9Kp0vFw.js} +6 -6
  144. package/dist/web/assets/WorkspaceEnvironmentMenu-D-3YGp06.js +32 -0
  145. package/dist/web/assets/WorkspaceGitDialogs-BUbzUN4m.js +1 -0
  146. package/dist/web/assets/{WorkspaceMonacoEditor-Db_sWYFt.js → WorkspaceMonacoEditor-CXPY7bBI.js} +3 -3
  147. package/dist/web/assets/{arrow-up-right-DaIxkG4K.js → arrow-up-right-C7VWgGQP.js} +1 -1
  148. package/dist/web/assets/{chat-file-links-wORSEipQ.js → chat-file-links-CqfMdhHQ.js} +1 -1
  149. package/dist/web/assets/chevron-up-DD9Tei-Q.js +1 -0
  150. package/dist/web/assets/{clipboard-BTRsPPaK.js → clipboard-B-8k7mlT.js} +1 -1
  151. package/dist/web/assets/{cloud-upload-BYXHJoKd.js → cloud-upload-CUVFzURz.js} +1 -1
  152. package/dist/web/assets/{cssMode-Be446Wgi.js → cssMode-DYvfmqoL.js} +1 -1
  153. package/dist/web/assets/{folder-open-KtKTXn4w.js → folder-open-CnbcQIy8.js} +1 -1
  154. package/dist/web/assets/{folder-plus-9-Xcli22.js → folder-plus-BOaLAKy4.js} +1 -1
  155. package/dist/web/assets/{git-commit-horizontal-CmVYsUnh.js → git-commit-horizontal-DQeHsooT.js} +1 -1
  156. package/dist/web/assets/{htmlMode-DTjTyBB_.js → htmlMode-BXEI-BVY.js} +1 -1
  157. package/dist/web/assets/index-CGMb_VXm.css +1 -0
  158. package/dist/web/assets/{index-DqWw2ymf.js → index-D-VK8mST.js} +1 -1
  159. package/dist/web/assets/index-D-WCyNdJ.js +1 -0
  160. package/dist/web/assets/{info-BLmP4K0e.js → info-DtzDuGLn.js} +1 -1
  161. package/dist/web/assets/{jsonMode-Z-2iim-u.js → jsonMode-Dosjh_hK.js} +1 -1
  162. package/dist/web/assets/{lspLanguageFeatures-Cr2iCfG2.js → lspLanguageFeatures-BNe-6FJA.js} +1 -1
  163. package/dist/web/assets/{minimize-2-CWA6iO3r.js → minimize-2-DnxKN5oK.js} +1 -1
  164. package/dist/web/assets/{monaco.contribution-NtjNqMdv.js → monaco.contribution-CfF-ajhi.js} +2 -2
  165. package/dist/web/assets/{monaco.contribution-YhqlKmCp.js → monaco.contribution-CnkROzNv.js} +2 -2
  166. package/dist/web/assets/{monaco.contribution-Cac9eBUk.js → monaco.contribution-Dyns81H2.js} +2 -2
  167. package/dist/web/assets/{monaco.contribution-BtMcDmCM.js → monaco.contribution-ytyanGyj.js} +2 -2
  168. package/dist/web/assets/{play-DYSQH2rx.js → play-B3o6IAQd.js} +1 -1
  169. package/dist/web/assets/{python-CNqOWXNv.js → python-B7zZ_9Z_.js} +1 -1
  170. package/dist/web/assets/{refresh-cw-DMysDKOA.js → refresh-cw-DSJZXa8S.js} +1 -1
  171. package/dist/web/assets/{save-HPZ4ZiDi.js → save-iC-AXHN6.js} +1 -1
  172. package/dist/web/assets/square-B2roZTxf.js +1 -0
  173. package/dist/web/assets/{toggleHighContrast-Bccdn3Qi.js → toggleHighContrast-CjlV4YHK.js} +1 -1
  174. package/dist/web/assets/{training-daZlCtKV.css → training-eg6uFi3M.css} +1 -1
  175. package/dist/web/assets/{tsMode-BhcKJxhG.js → tsMode-XmKmSq0B.js} +1 -1
  176. package/dist/web/assets/{upload-DE7xaWVj.js → upload-BgHXNjfJ.js} +1 -1
  177. package/dist/web/assets/{useLocalAgentSchedules-C0J--_MD.js → useLocalAgentSchedules-CVJz0AMr.js} +1 -1
  178. package/dist/web/assets/{wifi-off-CrCfhll9.js → wifi-off-CneL8bDZ.js} +1 -1
  179. package/dist/web/assets/{workers-DCaGzukk.js → workers-CT7VYBR5.js} +1 -1
  180. package/dist/web/assets/{yaml-CCfH63KB.js → yaml-CF8jchCz.js} +1 -1
  181. package/dist/web/index.html +2 -2
  182. package/docs/command-reference.md +58 -2
  183. package/package.json +3 -1
  184. package/dist/api/vercel-protection.d.ts +0 -1
  185. package/dist/chunks/app-server-runtime-OFZZIWAB.js +0 -20
  186. package/dist/chunks/chunk-MLWNI3WG.js +0 -15395
  187. package/dist/web/assets/App-D7vhbyMO.js +0 -171
  188. package/dist/web/assets/LabModelVersionDetailPage-D2PfI3-r.js +0 -1
  189. package/dist/web/assets/LabsRoute-D3w6nPSa.css +0 -1
  190. package/dist/web/assets/LabsRoute-VOgPrf94.js +0 -2
  191. package/dist/web/assets/MainChatThread-B1nXTMAf.js +0 -2
  192. package/dist/web/assets/MainPane-DxVcMBFo.js +0 -6
  193. package/dist/web/assets/MarkdownText-B3njGyZS.js +0 -9
  194. package/dist/web/assets/Messages-yBS4UHWl.js +0 -10
  195. package/dist/web/assets/RightChatPanelStack-BzsNeSwx.js +0 -1
  196. package/dist/web/assets/ScheduledWorkPage-Dkjhof6t.js +0 -1
  197. package/dist/web/assets/SettingsView-CWTAUy2b.js +0 -6
  198. package/dist/web/assets/WorkSidebarPanel-D4yXQ64j.js +0 -1
  199. package/dist/web/assets/WorkspaceEnvironmentMenu-Bp-9V7Jq.js +0 -32
  200. package/dist/web/assets/WorkspaceGitDialogs-BxU5Uhpz.js +0 -1
  201. package/dist/web/assets/activity-BzKyRXbd.js +0 -1
  202. package/dist/web/assets/chevron-up-C8-qSzck.js +0 -1
  203. package/dist/web/assets/git-branch-CLGxzDjJ.js +0 -1
  204. package/dist/web/assets/index-AzqEDIEY.css +0 -1
  205. package/dist/web/assets/index-C5uP_Gug.js +0 -1
  206. package/dist/web/assets/square-D-mpY1a-.js +0 -1
@@ -1,38 +1,44 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import "./chunk-W5GKHH77.js";
2
3
  import {
3
4
  CONNECTED_APP_PROVIDER_TOOL_NAMES,
4
5
  CapabilityRequirementSchema,
5
6
  GraderInterfaceContractSchema,
6
7
  HarnessTurnSnapshotSchema,
8
+ ImmutableReleaseRefSchema,
7
9
  LifecycleContractSchema,
10
+ ModelProjectSchema,
8
11
  OptimizerTrainingSampleSchema,
12
+ RefinerBindingSchema,
13
+ RefinerReleaseSchema,
14
+ RefinerReviewProfileSchema,
15
+ RefinerTransitionReceiptSchema,
9
16
  SandboxTemplateManifestSchema,
10
17
  SandboxTemplateValidationDiagnosticSchema,
11
18
  ToolDeclarationSchema,
12
19
  validateConnectedAppToolCallRequest
13
- } from "./chunk-MUS7KPXK.js";
14
- import "./chunk-3KLQ52B2.js";
15
- import "./chunk-W5GKHH77.js";
20
+ } from "./chunk-NTK22KJD.js";
21
+ import {
22
+ ContinualBenchIssuePacketSchema,
23
+ ContinualBenchPanelRoleSchema,
24
+ ContinualBenchmarkProtocolReleaseSchema
25
+ } from "./chunk-R3C3MNSI.js";
26
+ import "./chunk-BVY5JYM6.js";
16
27
  import {
17
28
  loadOpenPondProfileState,
18
29
  parseProfileSkillMarkdown
19
- } from "./chunk-N6FKRVAT.js";
20
- import "./chunk-JIEUB6OS.js";
21
- import "./chunk-Z2ZWHU7O.js";
30
+ } from "./chunk-47EIAYI7.js";
31
+ import "./chunk-J3YDKJFD.js";
32
+ import "./chunk-YVCYVDNP.js";
22
33
  import "./chunk-X7ZG4TSW.js";
23
34
  import {
24
35
  openPondConfigDirectory,
25
36
  updatePrivateJsonFile
26
- } from "./chunk-DBHSOTYZ.js";
37
+ } from "./chunk-D7BO5Y5J.js";
27
38
  import "./chunk-KSRWKXRB.js";
28
39
  import {
29
- ImmutableReleaseRefSchema,
30
- RefinerBindingSchema,
31
- RefinerReleaseSchema,
32
- RefinerReviewProfileSchema,
33
- RefinerTransitionReceiptSchema,
34
40
  external_exports
35
- } from "./chunk-MLWNI3WG.js";
41
+ } from "./chunk-FQS2QL5F.js";
36
42
  import {
37
43
  parseBooleanOption
38
44
  } from "./chunk-MUMPWI4O.js";
@@ -2059,6 +2065,7 @@ var AppPreferencesSchema = external_exports.object({
2059
2065
  defaultNewProjectDirectory: external_exports.string().trim().max(4096).default(""),
2060
2066
  defaultTeamId: external_exports.string().trim().max(191).nullable().default(null),
2061
2067
  advancedWorkspaceControls: external_exports.boolean().default(false),
2068
+ steerActiveResponses: external_exports.boolean().default(true),
2062
2069
  contextCompaction: ContextCompactionPreferencesSchema.optional().default(
2063
2070
  () => ContextCompactionPreferencesSchema.parse({})
2064
2071
  ),
@@ -3437,6 +3444,9 @@ var UsageRecordsQuerySchema = UsageSummaryQuerySchema.extend({
3437
3444
  turnId: external_exports.string().trim().min(1).optional(),
3438
3445
  limit: external_exports.number().int().positive().max(500).default(100)
3439
3446
  });
3447
+ var UsageTurnCacheQuerySchema = external_exports.object({
3448
+ sessionId: external_exports.string().trim().min(1)
3449
+ });
3440
3450
  var UsageBreakdownBaseSchema = external_exports.object({
3441
3451
  requests: external_exports.number().int().nonnegative(),
3442
3452
  promptTokens: external_exports.number().int().nonnegative().nullable(),
@@ -3559,6 +3569,22 @@ var UsageRecordsResponseSchema = external_exports.object({
3559
3569
  hasMore: external_exports.boolean(),
3560
3570
  records: external_exports.array(ModelUsageRecordSchema)
3561
3571
  });
3572
+ var UsageTurnCacheSummarySchema = external_exports.object({
3573
+ turnId: external_exports.string().trim().min(1),
3574
+ requests: external_exports.number().int().nonnegative(),
3575
+ cacheTelemetryRequests: external_exports.number().int().nonnegative(),
3576
+ cachedPromptTokens: external_exports.number().int().nonnegative().nullable(),
3577
+ uncachedPromptTokens: external_exports.number().int().nonnegative().nullable(),
3578
+ cacheWritePromptTokens: external_exports.number().int().nonnegative().nullable(),
3579
+ cacheHitRate: external_exports.number().min(0).max(1).nullable(),
3580
+ cacheTelemetryCoverage: external_exports.number().min(0).max(1),
3581
+ providers: external_exports.array(UsageProviderSchema)
3582
+ });
3583
+ var UsageTurnCacheResponseSchema = external_exports.object({
3584
+ generatedAt: external_exports.string().trim().min(1),
3585
+ sessionId: external_exports.string().trim().min(1),
3586
+ turns: external_exports.array(UsageTurnCacheSummarySchema)
3587
+ });
3562
3588
  var UsageSignalTypeSchema = external_exports.enum([
3563
3589
  "usage_spike",
3564
3590
  "model_usage_spike",
@@ -3756,6 +3782,7 @@ var UpdateAppPreferencesRequestSchema = external_exports.object({
3756
3782
  defaultNewProjectDirectory: external_exports.string().trim().max(4096).optional(),
3757
3783
  defaultTeamId: external_exports.string().trim().max(191).nullable().optional(),
3758
3784
  advancedWorkspaceControls: external_exports.boolean().optional(),
3785
+ steerActiveResponses: external_exports.boolean().optional(),
3759
3786
  contextCompaction: ContextCompactionPreferencesSchema.optional(),
3760
3787
  training: TrainingPreferencesSchema.optional(),
3761
3788
  sidebarWidth: external_exports.number().int().min(244).max(560).optional(),
@@ -4398,6 +4425,7 @@ var HostedSavedWorkResponseSchema = external_exports.object({
4398
4425
  var CreateHostedSavedWorkRequestSchema = external_exports.object({
4399
4426
  clientRequestId: external_exports.string().trim().min(1).max(191),
4400
4427
  sourceTurnId: external_exports.string().trim().min(1).max(191).nullable().optional(),
4428
+ targetSessionId: external_exports.string().trim().min(1).max(191).nullable().optional(),
4401
4429
  name: external_exports.string().trim().min(1).max(180),
4402
4430
  prompt: external_exports.string().trim().min(1).max(2e4),
4403
4431
  recurrence: SavedWorkRecurrenceSchema,
@@ -4411,6 +4439,64 @@ var UpdateHostedSavedWorkRequestSchema = external_exports.union([
4411
4439
  recurrence: SavedWorkRecurrenceSchema
4412
4440
  })
4413
4441
  ]);
4442
+ var ChatWorkflowRunStatusSchema = external_exports.enum([
4443
+ "queued",
4444
+ "running",
4445
+ "succeeded",
4446
+ "failed"
4447
+ ]);
4448
+ var ChatWorkflowSchema = external_exports.object({
4449
+ id: external_exports.string(),
4450
+ sessionId: external_exports.string(),
4451
+ sessionTitle: external_exports.string(),
4452
+ sourceTurnId: external_exports.string().nullable(),
4453
+ name: external_exports.string(),
4454
+ prompt: external_exports.string(),
4455
+ recurrence: SavedWorkRecurrenceSchema,
4456
+ enabled: external_exports.boolean(),
4457
+ nextRunAt: external_exports.string().nullable(),
4458
+ lastRunAt: external_exports.string().nullable(),
4459
+ lastRunStatus: ChatWorkflowRunStatusSchema.nullable(),
4460
+ lastRunId: external_exports.string().nullable(),
4461
+ lastError: external_exports.string().nullable(),
4462
+ scheduledRunCount: external_exports.number().int().nonnegative(),
4463
+ createdAt: external_exports.string(),
4464
+ updatedAt: external_exports.string()
4465
+ });
4466
+ var ChatWorkflowRunSchema = external_exports.object({
4467
+ id: external_exports.string(),
4468
+ workflowId: external_exports.string(),
4469
+ sessionId: external_exports.string(),
4470
+ scheduledFor: external_exports.string(),
4471
+ trigger: external_exports.enum(["schedule", "manual"]),
4472
+ status: ChatWorkflowRunStatusSchema,
4473
+ turnId: external_exports.string().nullable(),
4474
+ error: external_exports.string().nullable(),
4475
+ createdAt: external_exports.string(),
4476
+ startedAt: external_exports.string().nullable(),
4477
+ completedAt: external_exports.string().nullable(),
4478
+ updatedAt: external_exports.string()
4479
+ });
4480
+ var CreateChatWorkflowRequestSchema = external_exports.object({
4481
+ sessionId: external_exports.string().trim().min(1).max(191),
4482
+ sourceTurnId: external_exports.string().trim().min(1).max(191).nullable().optional(),
4483
+ name: external_exports.string().trim().min(1).max(180),
4484
+ prompt: external_exports.string().trim().min(1).max(2e4),
4485
+ recurrence: SavedWorkRecurrenceSchema
4486
+ });
4487
+ var UpdateChatWorkflowRequestSchema = external_exports.union([
4488
+ external_exports.object({ enabled: external_exports.boolean() }),
4489
+ external_exports.object({
4490
+ name: external_exports.string().trim().min(1).max(180),
4491
+ prompt: external_exports.string().trim().min(1).max(2e4),
4492
+ recurrence: SavedWorkRecurrenceSchema
4493
+ })
4494
+ ]);
4495
+ var ChatWorkflowsResponseSchema = external_exports.object({
4496
+ workflows: external_exports.array(ChatWorkflowSchema),
4497
+ runs: external_exports.array(ChatWorkflowRunSchema),
4498
+ asOf: external_exports.string()
4499
+ });
4414
4500
 
4415
4501
  // ../../packages/contracts/src/team-chat.ts
4416
4502
  var MetadataSchema2 = external_exports.record(external_exports.string(), external_exports.unknown());
@@ -5630,6 +5716,32 @@ var GraderSpecSchema = external_exports.union([
5630
5716
  HumanGraderSpecSchema,
5631
5717
  CustomVerifierGraderSpecSchema
5632
5718
  ]);
5719
+ var TasksetGraderSourceSchema = external_exports.object({
5720
+ graderId: IdSchema4.nullable(),
5721
+ path: external_exports.string().trim().min(1).max(1e3),
5722
+ language: external_exports.enum(["javascript", "typescript", "python", "json", "text"]),
5723
+ content: external_exports.string().max(2e6),
5724
+ sha256: HashSchema3,
5725
+ declaredSha256: HashSchema3.nullable(),
5726
+ integrity: external_exports.enum(["verified", "unverified", "mismatch"])
5727
+ });
5728
+ var TasksetGraderRuntimeSchema = external_exports.object({
5729
+ protocolVersion: external_exports.string().trim().min(1).max(200),
5730
+ module: external_exports.string().trim().min(1).max(1e3),
5731
+ moduleSha256: HashSchema3,
5732
+ command: external_exports.array(external_exports.string().max(2e3)).max(100),
5733
+ cwd: external_exports.string().trim().min(1).max(4e3),
5734
+ maxTurns: external_exports.number().int().positive().max(100)
5735
+ });
5736
+ var TasksetGraderDetailsResponseSchema = external_exports.object({
5737
+ schemaVersion: external_exports.literal("openpond.tasksetGraderDetails.v1"),
5738
+ taskset: VersionedReleaseRefSchema,
5739
+ sourceTasksetId: IdSchema4,
5740
+ graders: external_exports.array(GraderSpecSchema).max(1e3),
5741
+ runtime: TasksetGraderRuntimeSchema.nullable(),
5742
+ sources: external_exports.array(TasksetGraderSourceSchema).max(1e3),
5743
+ unavailableReason: external_exports.string().max(2e3).nullable()
5744
+ });
5633
5745
  var GraderFixtureLabelSchema = external_exports.enum([
5634
5746
  "positive",
5635
5747
  "negative",
@@ -5773,6 +5885,11 @@ var TrainingMethodReadinessSchema = external_exports.object({
5773
5885
  reasonCodes: external_exports.array(TrainingMethodReadinessReasonCodeSchema).default([]),
5774
5886
  reasons: external_exports.array(external_exports.string().trim().min(1).max(5e3)).default([])
5775
5887
  });
5888
+ var TasksetReadinessFindingSchema = external_exports.object({
5889
+ code: IdSchema4,
5890
+ message: external_exports.string().trim().min(1).max(5e3),
5891
+ path: external_exports.string().trim().max(2e3).nullable()
5892
+ });
5776
5893
  var TasksetReadinessReportSchema = external_exports.object({
5777
5894
  schemaVersion: external_exports.literal("openpond.tasksetReadiness.v1"),
5778
5895
  tasksetId: IdSchema4,
@@ -5784,7 +5901,8 @@ var TasksetReadinessReportSchema = external_exports.object({
5784
5901
  compatibleDestinationClasses: external_exports.array(
5785
5902
  external_exports.enum(["export", "custom", "hosted_managed"])
5786
5903
  ),
5787
- blockers: external_exports.array(external_exports.object({ code: IdSchema4, message: external_exports.string().trim().min(1).max(5e3), path: external_exports.string().trim().max(2e3).nullable() })).default([]),
5904
+ blockers: external_exports.array(TasksetReadinessFindingSchema).default([]),
5905
+ advisories: external_exports.array(TasksetReadinessFindingSchema).default([]),
5788
5906
  warnings: external_exports.array(external_exports.string().trim().min(1).max(5e3)).default([]),
5789
5907
  generatedAt: TimestampSchema4
5790
5908
  });
@@ -6343,6 +6461,287 @@ var CorrelatedTelemetryReceiptSchema = external_exports.object({
6343
6461
  contentHash: ReleaseHashSchema
6344
6462
  }).strict();
6345
6463
 
6464
+ // ../../packages/contracts/src/model-comparisons.ts
6465
+ var ModelComparisonSeriesStatusSchema = external_exports.enum(["draft", "active", "completed", "archived"]);
6466
+ var ModelComparisonEntryStatusSchema = external_exports.enum([
6467
+ "draft",
6468
+ "ready",
6469
+ "queued",
6470
+ "running",
6471
+ "candidate",
6472
+ "accepted",
6473
+ "rejected",
6474
+ "no_signal",
6475
+ "failed",
6476
+ "cancelled"
6477
+ ]);
6478
+ var ModelComparisonEntryRoleSchema = external_exports.enum([
6479
+ "seed",
6480
+ "daily_residual",
6481
+ "rank_candidate",
6482
+ "weekly_rollup",
6483
+ "full_refresh"
6484
+ ]);
6485
+ var ModelComparisonParentRuleSchema = external_exports.enum([
6486
+ "base_model",
6487
+ "previous_release",
6488
+ "seed_release",
6489
+ "accepted_daily_head",
6490
+ "accepted_seed"
6491
+ ]);
6492
+ var ModelComparisonTaskSourceSchema = external_exports.enum([
6493
+ "seed_taskset",
6494
+ "nightly_selection",
6495
+ "daily_cohort_union",
6496
+ "eligible_task_pool"
6497
+ ]);
6498
+ var ModelComparisonEvidenceSourceSchema = external_exports.enum([
6499
+ "live_client",
6500
+ "evaluation_attempt",
6501
+ "replay_evidence",
6502
+ "manual"
6503
+ ]);
6504
+ var ModelComparisonScheduleEntrySchema = external_exports.object({
6505
+ id: ReleaseIdSchema,
6506
+ ordinal: external_exports.number().int().nonnegative(),
6507
+ label: external_exports.string().trim().min(1).max(100),
6508
+ role: ModelComparisonEntryRoleSchema,
6509
+ parentRule: ModelComparisonParentRuleSchema,
6510
+ taskSource: ModelComparisonTaskSourceSchema,
6511
+ trainableRank: external_exports.number().int().positive().max(1024),
6512
+ minimumTasks: external_exports.number().int().nonnegative().max(1e5),
6513
+ maximumTasks: external_exports.number().int().positive().max(1e5)
6514
+ }).strict().superRefine((entry, context) => {
6515
+ if (entry.minimumTasks > entry.maximumTasks) {
6516
+ context.addIssue({ code: "custom", path: ["minimumTasks"], message: "The minimum task count cannot exceed the maximum task count." });
6517
+ }
6518
+ const expected = {
6519
+ seed: { parentRules: ["base_model"], taskSource: "seed_taskset" },
6520
+ daily_residual: { parentRules: ["previous_release", "accepted_daily_head"], taskSource: "nightly_selection" },
6521
+ rank_candidate: { parentRules: ["seed_release"], taskSource: "eligible_task_pool" },
6522
+ weekly_rollup: { parentRules: ["seed_release", "accepted_seed"], taskSource: "daily_cohort_union" },
6523
+ full_refresh: { parentRules: ["base_model"], taskSource: "eligible_task_pool" }
6524
+ };
6525
+ const { parentRules, taskSource } = expected[entry.role];
6526
+ if (!parentRules.includes(entry.parentRule)) {
6527
+ context.addIssue({ code: "custom", path: ["parentRule"], message: `${entry.role} requires parent rule ${parentRules.join(" or ")}.` });
6528
+ }
6529
+ if (entry.taskSource !== taskSource) {
6530
+ context.addIssue({ code: "custom", path: ["taskSource"], message: `${entry.role} requires task source ${taskSource}.` });
6531
+ }
6532
+ if (entry.ordinal === 0 && entry.role !== "seed") {
6533
+ context.addIssue({ code: "custom", path: ["role"], message: "The first series entry must be the seed." });
6534
+ }
6535
+ });
6536
+ var ModelComparisonAdvancementPolicySchema = external_exports.object({
6537
+ id: ReleaseIdSchema,
6538
+ version: external_exports.number().int().positive(),
6539
+ requireCheckpoint: external_exports.boolean(),
6540
+ requireAppliedOptimizerUpdate: external_exports.boolean(),
6541
+ minimumCurrentCohortMeanImprovement: external_exports.number().finite(),
6542
+ maximumRetainedMeanRegression: external_exports.number().finite().nonnegative(),
6543
+ blockCriticalInvariantRegression: external_exports.boolean(),
6544
+ automaticDailyAdvancement: external_exports.boolean()
6545
+ }).strict();
6546
+ var ModelComparisonSeriesSchema = external_exports.object({
6547
+ schemaVersion: external_exports.literal("openpond.modelComparisonSeries.v1"),
6548
+ id: ReleaseIdSchema,
6549
+ profileId: ReleaseIdSchema,
6550
+ modelProjectId: ReleaseIdSchema,
6551
+ name: external_exports.string().trim().min(1).max(500),
6552
+ objective: external_exports.string().trim().min(1).max(2e4),
6553
+ status: ModelComparisonSeriesStatusSchema,
6554
+ revision: external_exports.number().int().positive(),
6555
+ productionBinding: external_exports.object({ role: external_exports.literal("chat_manual"), roleTargetId: ReleaseIdSchema }).strict(),
6556
+ baseModel: external_exports.object({ id: ReleaseIdSchema, revision: external_exports.string().trim().min(1).max(256) }).strict(),
6557
+ seedTaskset: VersionedReleaseRefSchema,
6558
+ eligibleTaskPool: VersionedReleaseRefSchema,
6559
+ evaluationTasksets: external_exports.object({
6560
+ development: VersionedReleaseRefSchema,
6561
+ retained: VersionedReleaseRefSchema,
6562
+ frozenFinal: VersionedReleaseRefSchema
6563
+ }).strict(),
6564
+ grader: ImmutableReleaseRefSchema2,
6565
+ benchmarkProtocol: ContinualBenchmarkProtocolReleaseSchema.nullable().default(null),
6566
+ automaticEvaluation: external_exports.object({ enabled: external_exports.boolean() }).strict().default({ enabled: false }),
6567
+ residualProfile: external_exports.object({
6568
+ profileId: ReleaseIdSchema,
6569
+ serializedEnvelopeRank: external_exports.number().int().positive().max(1024),
6570
+ maximumEnabledRank: external_exports.number().int().positive().max(1024),
6571
+ topology: external_exports.literal("uniform_block_masked")
6572
+ }).strict(),
6573
+ schedule: external_exports.array(ModelComparisonScheduleEntrySchema).min(1).max(1e3),
6574
+ scheduleSealedAt: ReleaseTimestampSchema.nullable(),
6575
+ advancementPolicy: ModelComparisonAdvancementPolicySchema,
6576
+ executionPolicy: external_exports.object({ startWhenReady: external_exports.literal(false) }).strict(),
6577
+ acceptedSeedEntryId: ReleaseIdSchema.nullable(),
6578
+ acceptedDailyHeadEntryId: ReleaseIdSchema.nullable(),
6579
+ promotedBindingId: ReleaseIdSchema.nullable(),
6580
+ createdBy: ReleaseIdSchema,
6581
+ createdAt: ReleaseTimestampSchema,
6582
+ updatedAt: ReleaseTimestampSchema
6583
+ }).strict().superRefine((series, context) => {
6584
+ const ordered = [...series.schedule].sort((left, right) => left.ordinal - right.ordinal);
6585
+ if (ordered.some((entry, index) => entry.ordinal !== index)) {
6586
+ context.addIssue({ code: "custom", path: ["schedule"], message: "Schedule ordinals must be unique and contiguous from zero." });
6587
+ }
6588
+ if (new Set(series.schedule.map((entry) => entry.id)).size !== series.schedule.length || new Set(series.schedule.map((entry) => entry.label)).size !== series.schedule.length) {
6589
+ context.addIssue({ code: "custom", path: ["schedule"], message: "Schedule ids and labels must be unique." });
6590
+ }
6591
+ if (series.residualProfile.maximumEnabledRank > series.residualProfile.serializedEnvelopeRank) {
6592
+ context.addIssue({ code: "custom", path: ["residualProfile"], message: "Maximum enabled rank cannot exceed the serialized envelope." });
6593
+ }
6594
+ const evaluationCohorts = Object.values(series.evaluationTasksets);
6595
+ if (new Set(evaluationCohorts.map((reference) => `${reference.id}:${reference.revision}:${reference.contentHash}`)).size !== evaluationCohorts.length) {
6596
+ context.addIssue({ code: "custom", path: ["evaluationTasksets"], message: "Development, retained, and frozen-final cohorts require distinct immutable Taskset releases." });
6597
+ }
6598
+ const seed = series.schedule.find((entry) => entry.role === "seed");
6599
+ if (!seed || series.schedule.filter((entry) => entry.role === "seed").length !== 1) {
6600
+ context.addIssue({ code: "custom", path: ["schedule"], message: "A series requires exactly one seed entry." });
6601
+ return;
6602
+ }
6603
+ const rankCandidates = series.schedule.filter((entry) => entry.role === "rank_candidate");
6604
+ if (rankCandidates.length === 1) {
6605
+ context.addIssue({ code: "custom", path: ["schedule"], message: "A causal rank comparison requires at least two rank candidates." });
6606
+ }
6607
+ if (new Set(rankCandidates.map((entry) => entry.trainableRank)).size !== rankCandidates.length) {
6608
+ context.addIssue({ code: "custom", path: ["schedule"], message: "Causal rank candidates must use distinct trainable ranks." });
6609
+ }
6610
+ const dailyRank = seed.trainableRank + series.schedule.filter((entry) => entry.role === "daily_residual").reduce((sum, entry) => sum + entry.trainableRank, 0);
6611
+ const branchRanks = [
6612
+ dailyRank,
6613
+ ...series.schedule.filter((entry) => entry.role === "weekly_rollup").map((entry) => seed.trainableRank + entry.trainableRank),
6614
+ ...series.schedule.filter((entry) => entry.role === "rank_candidate").map((entry) => seed.trainableRank + entry.trainableRank),
6615
+ ...series.schedule.filter((entry) => entry.role === "full_refresh").map((entry) => entry.trainableRank)
6616
+ ];
6617
+ if (branchRanks.some((rank) => rank > series.residualProfile.maximumEnabledRank)) {
6618
+ context.addIssue({ code: "custom", path: ["schedule"], message: "A declared branch exceeds the maximum enabled rank." });
6619
+ }
6620
+ });
6621
+ var ModelComparisonTaskSelectionInputSchema = external_exports.object({
6622
+ source: ModelComparisonEvidenceSourceSchema,
6623
+ taskIds: external_exports.array(ReleaseIdSchema).min(1).max(1e5),
6624
+ observedFrom: ReleaseTimestampSchema,
6625
+ observedTo: ReleaseTimestampSchema,
6626
+ reviewedAt: ReleaseTimestampSchema,
6627
+ reviewedBy: ReleaseIdSchema,
6628
+ sourceTaskset: VersionedReleaseRefSchema
6629
+ }).strict();
6630
+ var ModelComparisonTaskSelectionSchema = ModelComparisonTaskSelectionInputSchema.extend({
6631
+ derivedFamilyKeys: external_exports.array(ReleaseIdSchema).min(1).max(1e5),
6632
+ familyDerivation: external_exports.object({ algorithm: ReleaseIdSchema, sourceTasksetHash: ReleaseHashSchema }).strict(),
6633
+ selectionHash: ReleaseHashSchema
6634
+ }).strict();
6635
+ var ModelComparisonParentSchema = external_exports.discriminatedUnion("kind", [
6636
+ external_exports.object({ kind: external_exports.literal("base_model"), id: ReleaseIdSchema, revision: external_exports.string().trim().min(1).max(256) }).strict(),
6637
+ external_exports.object({ kind: external_exports.literal("model_version"), id: ReleaseIdSchema, contentHash: ReleaseHashSchema }).strict()
6638
+ ]);
6639
+ var ModelComparisonResidualBlockSchema = external_exports.object({
6640
+ id: ReleaseIdSchema,
6641
+ branchOrdinal: external_exports.number().int().nonnegative(),
6642
+ rank: external_exports.number().int().positive().max(1024),
6643
+ offsetStart: external_exports.number().int().nonnegative(),
6644
+ offsetEnd: external_exports.number().int().positive(),
6645
+ optimizationRole: external_exports.enum(["frozen", "trainable"]),
6646
+ artifactLineageId: ReleaseIdSchema.nullable()
6647
+ }).strict().superRefine((block, context) => {
6648
+ if (block.offsetEnd - block.offsetStart !== block.rank) {
6649
+ context.addIssue({ code: "custom", path: ["offsetEnd"], message: "Block offsets must span exactly the declared rank." });
6650
+ }
6651
+ });
6652
+ var ModelComparisonDecisionSchema = external_exports.object({
6653
+ disposition: external_exports.enum(["advance", "hold", "no_signal"]),
6654
+ policy: external_exports.object({ id: ReleaseIdSchema, version: external_exports.number().int().positive() }).strict(),
6655
+ reasonCodes: external_exports.array(ReleaseIdSchema).min(1).max(100),
6656
+ summary: external_exports.string().trim().min(1).max(5e3),
6657
+ decidedBy: ReleaseIdSchema,
6658
+ decidedAt: ReleaseTimestampSchema
6659
+ }).strict();
6660
+ var ModelComparisonEvaluationLinkSchema = external_exports.object({
6661
+ evaluationRunId: ReleaseIdSchema,
6662
+ modelVersionId: ReleaseIdSchema,
6663
+ taskset: VersionedReleaseRefSchema,
6664
+ grader: ImmutableReleaseRefSchema2,
6665
+ cohortRole: external_exports.enum(["current", "correction", "sibling_verification", "cumulative_known", "development", "retained", "prior_disclosed", "frozen_final"]),
6666
+ panelId: ReleaseIdSchema.nullable().default(null),
6667
+ protocol: external_exports.object({ id: ReleaseIdSchema, revision: external_exports.number().int().positive(), contentHash: ReleaseHashSchema }).strict().nullable().default(null)
6668
+ }).strict();
6669
+ var ModelComparisonRunAttemptSchema = external_exports.object({
6670
+ attemptOrdinal: external_exports.number().int().positive(),
6671
+ trainingPlanId: ReleaseIdSchema.nullable(),
6672
+ modelRunId: ReleaseIdSchema.nullable(),
6673
+ terminalStatus: external_exports.enum(["failed", "cancelled"]),
6674
+ queuedAt: ReleaseTimestampSchema.nullable(),
6675
+ startedAt: ReleaseTimestampSchema.nullable(),
6676
+ completedAt: ReleaseTimestampSchema
6677
+ }).strict();
6678
+ var ModelComparisonEntryRefSchema = external_exports.object({
6679
+ seriesId: ReleaseIdSchema,
6680
+ entryId: ReleaseIdSchema,
6681
+ scheduleEntryId: ReleaseIdSchema,
6682
+ ordinal: external_exports.number().int().nonnegative(),
6683
+ releaseHash: ReleaseHashSchema
6684
+ }).strict();
6685
+ var ModelComparisonSeriesEntrySchema = external_exports.object({
6686
+ schemaVersion: external_exports.literal("openpond.modelComparisonSeriesEntry.v1"),
6687
+ id: ReleaseIdSchema,
6688
+ seriesId: ReleaseIdSchema,
6689
+ profileId: ReleaseIdSchema,
6690
+ modelProjectId: ReleaseIdSchema,
6691
+ scheduleEntryId: ReleaseIdSchema,
6692
+ releaseHash: ReleaseHashSchema,
6693
+ ordinal: external_exports.number().int().nonnegative(),
6694
+ label: external_exports.string().trim().min(1).max(100),
6695
+ role: ModelComparisonEntryRoleSchema,
6696
+ branch: external_exports.enum(["daily", "rank_candidate", "weekly_rollup", "full_refresh"]),
6697
+ status: ModelComparisonEntryStatusSchema,
6698
+ parent: ModelComparisonParentSchema,
6699
+ taskset: VersionedReleaseRefSchema,
6700
+ sourceTasksets: external_exports.array(VersionedReleaseRefSchema).min(1).max(1e3),
6701
+ taskSelection: ModelComparisonTaskSelectionSchema.nullable(),
6702
+ trainableRank: external_exports.number().int().positive().max(1024),
6703
+ serializedEnvelopeRank: external_exports.number().int().positive().max(1024),
6704
+ enabledCumulativeRank: external_exports.number().int().positive().max(1024),
6705
+ trainableBlockId: ReleaseIdSchema,
6706
+ residualBlocks: external_exports.array(ModelComparisonResidualBlockSchema).min(1).max(1024),
6707
+ attemptOrdinal: external_exports.number().int().positive().default(1),
6708
+ priorRunAttempts: external_exports.array(ModelComparisonRunAttemptSchema).max(100).default([]),
6709
+ trainingPlanId: ReleaseIdSchema.nullable(),
6710
+ modelRunId: ReleaseIdSchema.nullable(),
6711
+ modelVersionId: ReleaseIdSchema.nullable(),
6712
+ evaluations: external_exports.array(ModelComparisonEvaluationLinkSchema).max(1e5),
6713
+ decision: ModelComparisonDecisionSchema.nullable(),
6714
+ promotionBindingId: ReleaseIdSchema.nullable(),
6715
+ queuedAt: ReleaseTimestampSchema.nullable(),
6716
+ startedAt: ReleaseTimestampSchema.nullable(),
6717
+ completedAt: ReleaseTimestampSchema.nullable(),
6718
+ createdAt: ReleaseTimestampSchema,
6719
+ updatedAt: ReleaseTimestampSchema
6720
+ }).strict().superRefine((entry, context) => {
6721
+ const ordered = [...entry.residualBlocks].sort((left, right) => left.offsetStart - right.offsetStart);
6722
+ if (ordered.some((block, index) => block.offsetStart !== (index === 0 ? 0 : ordered[index - 1].offsetEnd))) {
6723
+ context.addIssue({ code: "custom", path: ["residualBlocks"], message: "Residual block offsets must be contiguous from zero." });
6724
+ }
6725
+ const enabled = ordered.at(-1)?.offsetEnd ?? 0;
6726
+ if (enabled !== entry.enabledCumulativeRank || enabled > entry.serializedEnvelopeRank) {
6727
+ context.addIssue({ code: "custom", path: ["enabledCumulativeRank"], message: "Enabled rank must match the block inventory and fit the envelope." });
6728
+ }
6729
+ const trainable = entry.residualBlocks.filter((block) => block.optimizationRole === "trainable");
6730
+ if (trainable.length !== 1 || trainable[0]?.id !== entry.trainableBlockId || trainable[0]?.rank !== entry.trainableRank) {
6731
+ context.addIssue({ code: "custom", path: ["trainableBlockId"], message: "Exactly one block must be trainable during the Run and match trainableRank." });
6732
+ }
6733
+ const attemptOrdinals = entry.priorRunAttempts.map((attempt) => attempt.attemptOrdinal);
6734
+ if (entry.priorRunAttempts.length !== entry.attemptOrdinal - 1 || attemptOrdinals.some((ordinal, index) => ordinal !== index + 1)) {
6735
+ context.addIssue({ code: "custom", path: ["priorRunAttempts"], message: "Prior Run attempts must be a contiguous history before the active attempt." });
6736
+ }
6737
+ });
6738
+ var ModelComparisonQueueReleaseRequestSchema = external_exports.object({
6739
+ seriesId: ReleaseIdSchema,
6740
+ scheduleEntryId: ReleaseIdSchema,
6741
+ taskSelection: ModelComparisonTaskSelectionInputSchema.nullable(),
6742
+ expectedSeriesRevision: external_exports.number().int().positive()
6743
+ }).strict();
6744
+
6346
6745
  // ../../packages/contracts/src/model-lifecycle.ts
6347
6746
  var ModelVersionKindSchema = external_exports.enum([
6348
6747
  "base_reference",
@@ -6382,6 +6781,7 @@ var ModelVersionSchema = external_exports.object({
6382
6781
  status: external_exports.enum(["available", "failed"]),
6383
6782
  baseModel: BaseModelPreferenceSchema,
6384
6783
  taskset: VersionedReleaseRefSchema,
6784
+ comparisonSeriesEntry: ModelComparisonEntryRefSchema.nullable().optional(),
6385
6785
  releaseGraph: external_exports.object({
6386
6786
  resolvedBundleHash: ReleaseHashSchema,
6387
6787
  profileRelease: VersionedReleaseRefSchema,
@@ -6465,6 +6865,7 @@ var RewardModelRunReceiptSchema = external_exports.object({
6465
6865
  bucketHead: ImmutableReleaseRefSchema2.nullable(),
6466
6866
  processorRelease: ImmutableReleaseRefSchema2,
6467
6867
  optimizerEvidence: ImmutableReleaseRefSchema2,
6868
+ managedExecutionReceipt: ImmutableReleaseRefSchema2.nullable().default(null),
6468
6869
  parameterDeltaHash: ReleaseHashSchema,
6469
6870
  cleanup: external_exports.object({
6470
6871
  computeReleased: external_exports.boolean(),
@@ -6522,10 +6923,10 @@ var RewardModelRunSchema = external_exports.preprocess((value) => {
6522
6923
  completedAt: ReleaseTimestampSchema.nullable(),
6523
6924
  updatedAt: ReleaseTimestampSchema
6524
6925
  }).strict()).superRefine((run, context) => {
6525
- if (run.status === "succeeded" && (!run.receipt || !run.qualificationReport)) {
6926
+ if (run.status === "succeeded" && !run.receipt) {
6526
6927
  context.addIssue({
6527
6928
  code: "custom",
6528
- message: "A successful Reward Model Run requires a canonical receipt and qualification report."
6929
+ message: "A successful Reward Model Run requires a canonical receipt."
6529
6930
  });
6530
6931
  }
6531
6932
  if (run.status !== "succeeded" && run.rewardModelVersionId !== null) {
@@ -6723,8 +7124,121 @@ var ModelEvaluationStopReceiptSchema = external_exports.object({
6723
7124
  attempts: external_exports.array(ModelEvaluationAttemptSchema).max(1e4),
6724
7125
  contentHash: ReleaseHashSchema
6725
7126
  }).strict();
6726
- var ModelEvaluationConfigurationSchema = external_exports.object({
6727
- benchmarkId: ReleaseIdSchema,
7127
+ var ConfidenceIntervalSchema = external_exports.object({
7128
+ level: external_exports.literal(0.95),
7129
+ lower: external_exports.number().finite(),
7130
+ upper: external_exports.number().finite()
7131
+ }).strict().superRefine((interval, context) => {
7132
+ if (interval.lower > interval.upper) {
7133
+ context.addIssue({ code: "custom", message: "A confidence interval's lower bound cannot exceed its upper bound." });
7134
+ }
7135
+ });
7136
+ var ModelComparisonBenchmarkReceiptSchema = external_exports.object({
7137
+ schemaVersion: external_exports.literal("openpond.modelComparisonBenchmarkReceipt.v1"),
7138
+ benchmarkId: external_exports.literal("model-comparison"),
7139
+ target: external_exports.object({
7140
+ kind: external_exports.enum(["base_model", "model_version", "external_reference"]),
7141
+ label: external_exports.string().trim().min(1).max(300),
7142
+ modelVersionId: ReleaseIdSchema.nullable(),
7143
+ model: ChatModelRefSchema.nullable()
7144
+ }).strict(),
7145
+ taskset: VersionedReleaseRefSchema,
7146
+ grader: ImmutableReleaseRefSchema2,
7147
+ sampling: external_exports.object({
7148
+ seeds: external_exports.array(external_exports.number().int()).min(1).max(100),
7149
+ repetitions: external_exports.number().int().positive().max(20)
7150
+ }).strict(),
7151
+ deterministic: external_exports.object({
7152
+ attemptedTaskCount: external_exports.number().int().nonnegative(),
7153
+ completedTaskCount: external_exports.number().int().nonnegative(),
7154
+ passedTaskCount: external_exports.number().int().nonnegative(),
7155
+ failedTaskCount: external_exports.number().int().nonnegative(),
7156
+ meanScore: external_exports.number().finite().nullable(),
7157
+ passRate: external_exports.number().min(0).max(1).nullable(),
7158
+ passRateCi95: ConfidenceIntervalSchema.nullable()
7159
+ }).strict(),
7160
+ judge: external_exports.object({
7161
+ judgeModel: ChatModelRefSchema,
7162
+ judgeRelease: ImmutableReleaseRefSchema2,
7163
+ rubricRelease: ImmutableReleaseRefSchema2,
7164
+ calibrationRelease: ImmutableReleaseRefSchema2,
7165
+ score: external_exports.number().min(0).max(100),
7166
+ scoreCi95: ConfidenceIntervalSchema,
7167
+ comparisonCount: external_exports.number().int().positive(),
7168
+ wins: external_exports.number().int().nonnegative(),
7169
+ ties: external_exports.number().int().nonnegative(),
7170
+ losses: external_exports.number().int().nonnegative(),
7171
+ referenceLabel: external_exports.string().trim().min(1).max(300)
7172
+ }).strict().superRefine((judge, context) => {
7173
+ if (judge.wins + judge.ties + judge.losses !== judge.comparisonCount) {
7174
+ context.addIssue({ code: "custom", message: "Judge win, tie, and loss counts must equal comparisonCount." });
7175
+ }
7176
+ }).nullable(),
7177
+ attempts: external_exports.array(external_exports.object({
7178
+ attemptId: ReleaseIdSchema.nullable().default(null),
7179
+ taskId: ReleaseIdSchema,
7180
+ seed: external_exports.number().int(),
7181
+ repetition: external_exports.number().int().nonnegative(),
7182
+ status: external_exports.enum(["succeeded", "failed"]),
7183
+ deterministicScore: external_exports.number().finite().nullable(),
7184
+ passed: external_exports.boolean().nullable(),
7185
+ judgeScore: external_exports.number().min(0).max(100).nullable(),
7186
+ judgePreference: external_exports.enum(["win", "tie", "loss"]).nullable(),
7187
+ transcriptHash: ReleaseHashSchema.nullable(),
7188
+ traceHash: ReleaseHashSchema.nullable(),
7189
+ transcriptArtifact: external_exports.object({
7190
+ artifactPath: external_exports.string().trim().min(1).max(2e3),
7191
+ jsonPointer: external_exports.string().trim().min(1).max(1e3)
7192
+ }).strict().nullable().default(null),
7193
+ traceArtifact: external_exports.object({
7194
+ artifactPath: external_exports.string().trim().min(1).max(2e3),
7195
+ jsonPointer: external_exports.string().trim().min(1).max(1e3)
7196
+ }).strict().nullable().default(null),
7197
+ latencyMs: external_exports.number().int().nonnegative().nullable().default(null),
7198
+ failureClass: TaskFailureClassSchema.nullable()
7199
+ }).strict()).max(1e5),
7200
+ usage: external_exports.object({
7201
+ policy: EvaluationUsageCategorySchema.nullable(),
7202
+ judge: EvaluationUsageCategorySchema.nullable(),
7203
+ observedSpendUsd: external_exports.number().nonnegative().nullable(),
7204
+ evaluationGpuSeconds: external_exports.number().nonnegative().nullable().default(null)
7205
+ }).strict(),
7206
+ managedServing: external_exports.object({
7207
+ jobId: ReleaseIdSchema,
7208
+ terminalState: external_exports.enum(["completed", "cancelled", "failed", "budget_exhausted"]),
7209
+ sourcePolicyVersion: external_exports.number().int().nonnegative(),
7210
+ sourceAdapterSha256: ReleaseHashSchema.nullable(),
7211
+ servedPolicyVersion: external_exports.number().int().nonnegative().nullable(),
7212
+ servedAdapterSha256: ReleaseHashSchema.nullable(),
7213
+ accruedSpendUsd: external_exports.number().nonnegative(),
7214
+ cleanupAttestationHash: ReleaseHashSchema,
7215
+ resourceCount: external_exports.number().int().nonnegative(),
7216
+ activeResourceCount: external_exports.literal(0)
7217
+ }).strict().nullable().default(null),
7218
+ evidenceSnapshot: external_exports.object({
7219
+ id: ReleaseIdSchema,
7220
+ contentHash: ReleaseHashSchema,
7221
+ artifactPath: external_exports.string().trim().min(1).max(2e3)
7222
+ }).strict(),
7223
+ completedAt: ReleaseTimestampSchema,
7224
+ contentHash: ReleaseHashSchema
7225
+ }).strict().superRefine((receipt, context) => {
7226
+ const deterministic = receipt.deterministic;
7227
+ if (deterministic.completedTaskCount > deterministic.attemptedTaskCount) {
7228
+ context.addIssue({ code: "custom", message: "Completed task count cannot exceed attempted task count." });
7229
+ }
7230
+ if (deterministic.passedTaskCount + deterministic.failedTaskCount !== deterministic.completedTaskCount) {
7231
+ context.addIssue({ code: "custom", message: "Passed and failed task counts must equal completed task count." });
7232
+ }
7233
+ if (deterministic.completedTaskCount === 0 !== (deterministic.meanScore === null)) {
7234
+ context.addIssue({ code: "custom", message: "Deterministic mean score is available exactly when tasks completed." });
7235
+ }
7236
+ if (deterministic.completedTaskCount === 0 !== (deterministic.passRate === null)) {
7237
+ context.addIssue({ code: "custom", message: "Deterministic pass rate is available exactly when tasks completed." });
7238
+ }
7239
+ });
7240
+ var HarnessRefinerEvaluationConfigurationSchema = external_exports.object({
7241
+ benchmarkId: external_exports.literal("harness-refiner"),
6728
7242
  model: ChatModelRefSchema,
6729
7243
  upstreamModel: external_exports.object({
6730
7244
  providerId: ReleaseIdSchema,
@@ -6750,11 +7264,55 @@ var ModelEvaluationConfigurationSchema = external_exports.object({
6750
7264
  attemptCount: external_exports.number().int().positive()
6751
7265
  }).strict()).length(4)
6752
7266
  }).strict();
7267
+ var ModelComparisonEvaluationConfigurationSchema = external_exports.object({
7268
+ benchmarkId: external_exports.literal("model-comparison"),
7269
+ target: external_exports.object({
7270
+ kind: external_exports.enum(["base_model", "model_version", "external_reference"]),
7271
+ label: external_exports.string().trim().min(1).max(300),
7272
+ modelVersionId: ReleaseIdSchema.nullable(),
7273
+ model: ChatModelRefSchema.nullable()
7274
+ }).strict(),
7275
+ grader: ImmutableReleaseRefSchema2,
7276
+ judge: external_exports.object({
7277
+ model: ChatModelRefSchema,
7278
+ release: ImmutableReleaseRefSchema2,
7279
+ rubricRelease: ImmutableReleaseRefSchema2,
7280
+ calibrationRelease: ImmutableReleaseRefSchema2,
7281
+ referenceLabel: external_exports.string().trim().min(1).max(300)
7282
+ }).strict().nullable(),
7283
+ seeds: external_exports.array(external_exports.number().int()).min(1).max(100),
7284
+ repetitions: external_exports.number().int().positive().max(20),
7285
+ maximumSpendUsd: external_exports.number().nonnegative(),
7286
+ series: external_exports.object({
7287
+ id: ReleaseIdSchema,
7288
+ protocol: external_exports.object({ id: ReleaseIdSchema, revision: external_exports.number().int().positive(), contentHash: ReleaseHashSchema }).strict()
7289
+ }).strict().nullable().default(null),
7290
+ panel: external_exports.object({
7291
+ id: ReleaseIdSchema,
7292
+ role: external_exports.enum(["correction", "sibling_verification", "cumulative_known", "development", "retained", "frozen_final"]),
7293
+ passLabel: ReleaseIdSchema.nullable()
7294
+ }).strict().nullable().default(null),
7295
+ comparisonPair: external_exports.object({
7296
+ entryId: ReleaseIdSchema,
7297
+ parent: ModelComparisonParentSchema,
7298
+ candidateModelVersionId: ReleaseIdSchema
7299
+ }).strict().nullable().default(null),
7300
+ attemptPlan: external_exports.array(external_exports.object({
7301
+ stage: external_exports.literal("comparison"),
7302
+ split: external_exports.string().trim().min(1).max(100),
7303
+ taskIds: external_exports.array(ReleaseIdSchema).min(1).max(1e5),
7304
+ attemptCount: external_exports.number().int().positive()
7305
+ }).strict()).length(1)
7306
+ }).strict();
7307
+ var ModelEvaluationConfigurationSchema = external_exports.union([
7308
+ HarnessRefinerEvaluationConfigurationSchema,
7309
+ ModelComparisonEvaluationConfigurationSchema
7310
+ ]);
6753
7311
  var ModelRunSchema = external_exports.object({
6754
7312
  schemaVersion: external_exports.literal("openpond.modelRun.v1"),
6755
7313
  id: ReleaseIdSchema,
6756
7314
  modelId: ReleaseIdSchema,
6757
- modelVersionId: ReleaseIdSchema,
7315
+ modelVersionId: ReleaseIdSchema.nullable(),
6758
7316
  profileId: ReleaseIdSchema,
6759
7317
  kind: external_exports.enum(["rollout_smoke", "training", "evaluation"]),
6760
7318
  status: external_exports.enum([
@@ -6776,6 +7334,7 @@ var ModelRunSchema = external_exports.object({
6776
7334
  ]).nullable(),
6777
7335
  destinationId: ReleaseIdSchema.nullable(),
6778
7336
  taskset: VersionedReleaseRefSchema,
7337
+ comparisonSeriesEntry: ModelComparisonEntryRefSchema.nullable().optional(),
6779
7338
  harnessRelease: ImmutableReleaseRefSchema2.nullable().optional(),
6780
7339
  quote: external_exports.object({
6781
7340
  maximumSpendUsd: external_exports.number().nonnegative(),
@@ -6803,7 +7362,8 @@ var ModelRunSchema = external_exports.object({
6803
7362
  receipt: external_exports.union([
6804
7363
  ModelRunReceiptSchema,
6805
7364
  ModelEvaluationReceiptSchema,
6806
- ModelEvaluationStopReceiptSchema
7365
+ ModelEvaluationStopReceiptSchema,
7366
+ ModelComparisonBenchmarkReceiptSchema
6807
7367
  ]).nullable(),
6808
7368
  adapterArtifactLineageId: ReleaseIdSchema.nullable(),
6809
7369
  failure: external_exports.string().trim().min(1).max(5e3).nullable(),
@@ -6823,7 +7383,7 @@ var ModelRunSchema = external_exports.object({
6823
7383
  message: "An evaluation Model Run requires evaluation configuration and cannot claim training method, destination, or adapter lineage."
6824
7384
  });
6825
7385
  }
6826
- if (run.kind === "evaluation" && run.receipt && run.receipt.schemaVersion !== "openpond.modelEvaluationReceipt.v1" && run.receipt.schemaVersion !== "openpond.modelEvaluationStopReceipt.v1") {
7386
+ if (run.kind === "evaluation" && run.receipt && run.receipt.schemaVersion !== "openpond.modelEvaluationReceipt.v1" && run.receipt.schemaVersion !== "openpond.modelEvaluationStopReceipt.v1" && run.receipt.schemaVersion !== "openpond.modelComparisonBenchmarkReceipt.v1") {
6827
7387
  context.addIssue({
6828
7388
  code: "custom",
6829
7389
  message: "An evaluation Model Run requires an evaluation receipt."
@@ -6843,10 +7403,347 @@ var ModelRunSchema = external_exports.object({
6843
7403
  }
6844
7404
  });
6845
7405
 
7406
+ // ../../packages/contracts/src/model-currency.ts
7407
+ var ModelCurrencyEvidenceStateSchema = external_exports.enum(["measuring", "up_to_date", "needs_attention"]);
7408
+ var ModelCurrencyTaskClassificationSchema = external_exports.enum(["fixed", "retained", "regressed", "unresolved", "unavailable"]);
7409
+ var ModelCurrencyAttemptEvidenceRefSchema = external_exports.object({
7410
+ evaluationRunId: ReleaseIdSchema,
7411
+ attemptKey: ReleaseIdSchema,
7412
+ artifactPath: external_exports.string().trim().min(1).max(2e3),
7413
+ jsonPointer: external_exports.string().trim().min(1).max(1e3),
7414
+ transcriptHash: ReleaseHashSchema.nullable(),
7415
+ traceHash: ReleaseHashSchema.nullable()
7416
+ }).strict();
7417
+ var Interval = external_exports.object({ level: external_exports.literal(0.95), lower: external_exports.number().finite(), upper: external_exports.number().finite() }).strict();
7418
+ var ModelCurrencyPanelMetricSchema = external_exports.object({
7419
+ panelId: ReleaseIdSchema,
7420
+ panelRole: ContinualBenchPanelRoleSchema,
7421
+ passLabel: ReleaseIdSchema.nullable(),
7422
+ taskset: VersionedReleaseRefSchema,
7423
+ attempted: external_exports.number().int().nonnegative(),
7424
+ available: external_exports.number().int().nonnegative(),
7425
+ passed: external_exports.number().int().nonnegative(),
7426
+ strictSuccess: external_exports.number().min(0).max(1).nullable(),
7427
+ strictSuccessCi95: Interval.nullable(),
7428
+ judgeScore: external_exports.number().min(0).max(100).nullable(),
7429
+ judgeScoreCi95: Interval.nullable()
7430
+ }).strict();
7431
+ var ModelCurrencySnapshotSchema = external_exports.object({
7432
+ schemaVersion: external_exports.literal("openpond.modelCurrencySnapshot.v1"),
7433
+ id: ReleaseIdSchema,
7434
+ contentHash: ReleaseHashSchema,
7435
+ seriesId: ReleaseIdSchema,
7436
+ protocol: external_exports.object({ id: ReleaseIdSchema, revision: external_exports.number().int().positive(), contentHash: ReleaseHashSchema }).strict(),
7437
+ entryId: ReleaseIdSchema,
7438
+ passLabel: ReleaseIdSchema,
7439
+ parent: external_exports.discriminatedUnion("kind", [
7440
+ external_exports.object({ kind: external_exports.literal("base_model"), id: ReleaseIdSchema, revision: external_exports.string().trim().min(1).max(500) }).strict(),
7441
+ external_exports.object({ kind: external_exports.literal("model_version"), id: ReleaseIdSchema, contentHash: ReleaseHashSchema }).strict()
7442
+ ]),
7443
+ candidate: external_exports.object({ kind: external_exports.literal("model_version"), id: ReleaseIdSchema, contentHash: ReleaseHashSchema }).strict(),
7444
+ sources: external_exports.object({
7445
+ evaluationRunIds: external_exports.array(ReleaseIdSchema).max(1e5),
7446
+ attemptIds: external_exports.array(ReleaseIdSchema).max(1e6),
7447
+ tasksets: external_exports.array(VersionedReleaseRefSchema).max(1e4),
7448
+ grader: ImmutableReleaseRefSchema2,
7449
+ judge: ImmutableReleaseRefSchema2.nullable(),
7450
+ calibration: ImmutableReleaseRefSchema2.nullable()
7451
+ }).strict(),
7452
+ matches: external_exports.array(external_exports.object({
7453
+ key: ReleaseIdSchema,
7454
+ panelId: ReleaseIdSchema,
7455
+ panelRole: ContinualBenchPanelRoleSchema,
7456
+ taskId: ReleaseIdSchema,
7457
+ issueFamilyId: ReleaseIdSchema,
7458
+ seed: external_exports.number().int(),
7459
+ repetition: external_exports.number().int().nonnegative(),
7460
+ classification: ModelCurrencyTaskClassificationSchema,
7461
+ parentPassed: external_exports.boolean().nullable(),
7462
+ candidatePassed: external_exports.boolean().nullable(),
7463
+ parentAttempt: ModelCurrencyAttemptEvidenceRefSchema.nullable(),
7464
+ candidateAttempt: ModelCurrencyAttemptEvidenceRefSchema.nullable()
7465
+ }).strict()).max(1e6),
7466
+ taskIds: external_exports.object({
7467
+ fixed: external_exports.array(ReleaseIdSchema).max(1e6),
7468
+ retained: external_exports.array(ReleaseIdSchema).max(1e6),
7469
+ regressed: external_exports.array(ReleaseIdSchema).max(1e6),
7470
+ unresolved: external_exports.array(ReleaseIdSchema).max(1e6),
7471
+ unavailable: external_exports.array(ReleaseIdSchema).max(1e6)
7472
+ }).strict(),
7473
+ panels: external_exports.array(ModelCurrencyPanelMetricSchema).max(1e4),
7474
+ metrics: external_exports.object({
7475
+ knownIssueCoverage: external_exports.number().min(0).max(1).nullable(),
7476
+ issueFamilyGeneralization: external_exports.number().min(0).max(1).nullable(),
7477
+ behavioralRetention: external_exports.number().min(0).max(1).nullable(),
7478
+ currentAcquisitionDelta: external_exports.number().finite().nullable(),
7479
+ retainedDeltaPoints: external_exports.number().finite().nullable(),
7480
+ frontierStrictDelta: external_exports.number().finite().nullable(),
7481
+ pairedPValue: external_exports.number().min(0).max(1).nullable(),
7482
+ wins: external_exports.number().int().nonnegative(),
7483
+ ties: external_exports.number().int().nonnegative(),
7484
+ losses: external_exports.number().int().nonnegative()
7485
+ }).strict(),
7486
+ statistics: external_exports.object({
7487
+ matchedAttemptCount: external_exports.number().int().nonnegative(),
7488
+ strictDelta: external_exports.number().finite().nullable(),
7489
+ strictDeltaCi95: Interval.nullable(),
7490
+ exactPairedBinaryPValue: external_exports.number().min(0).max(1).nullable(),
7491
+ pairedBootstrapSamples: external_exports.number().int().positive()
7492
+ }).strict(),
7493
+ criteria: external_exports.object({
7494
+ allRequiredAttemptsTerminal: external_exports.boolean(),
7495
+ criticalCorrectionPassRate: external_exports.number().min(0).max(1).nullable(),
7496
+ siblingPassRate: external_exports.number().min(0).max(1).nullable(),
7497
+ behavioralRetentionRate: external_exports.number().min(0).max(1).nullable(),
7498
+ retainedRegressionPoints: external_exports.number().finite().nullable(),
7499
+ criticalPriorRegressionCount: external_exports.number().int().nonnegative(),
7500
+ thresholdRelease: ImmutableReleaseRefSchema2
7501
+ }).strict(),
7502
+ efficiency: external_exports.object({
7503
+ inputTokens: external_exports.number().int().nonnegative(),
7504
+ outputTokens: external_exports.number().int().nonnegative(),
7505
+ totalTokens: external_exports.number().int().nonnegative(),
7506
+ costUsd: external_exports.number().nonnegative().nullable(),
7507
+ latencyMs: external_exports.number().int().nonnegative(),
7508
+ tokensPerSuccess: external_exports.number().nonnegative().nullable(),
7509
+ throughputPerHour: external_exports.number().nonnegative().nullable(),
7510
+ gpuSeconds: external_exports.number().nonnegative().nullable()
7511
+ }).strict(),
7512
+ invariants: external_exports.object({
7513
+ systemPromptHash: ReleaseHashSchema,
7514
+ toolSchema: ImmutableReleaseRefSchema2,
7515
+ application: ImmutableReleaseRefSchema2,
7516
+ harness: ImmutableReleaseRefSchema2,
7517
+ runtime: ImmutableReleaseRefSchema2,
7518
+ grader: ImmutableReleaseRefSchema2,
7519
+ autoRefinerEnabled: external_exports.boolean()
7520
+ }).strict(),
7521
+ evidenceState: ModelCurrencyEvidenceStateSchema,
7522
+ evidenceReasons: external_exports.array(ReleaseIdSchema).max(100),
7523
+ projectedAt: ReleaseTimestampSchema
7524
+ }).strict();
7525
+
7526
+ // ../../packages/contracts/src/continual-support-review.ts
7527
+ var ContinualLearningResponseTargetSchema = external_exports.discriminatedUnion("kind", [
7528
+ external_exports.object({
7529
+ kind: external_exports.literal("base_model"),
7530
+ id: ReleaseIdSchema,
7531
+ revision: external_exports.string().trim().min(1).max(500),
7532
+ label: external_exports.string().trim().min(1).max(300)
7533
+ }).strict(),
7534
+ external_exports.object({
7535
+ kind: external_exports.literal("model_version"),
7536
+ id: ReleaseIdSchema,
7537
+ label: external_exports.string().trim().min(1).max(300)
7538
+ }).strict(),
7539
+ external_exports.object({
7540
+ kind: external_exports.literal("captured_model"),
7541
+ id: ReleaseIdSchema,
7542
+ label: external_exports.string().trim().min(1).max(300)
7543
+ }).strict()
7544
+ ]);
7545
+ var ContinualLearningCapturedAttemptSchema = external_exports.union([
7546
+ external_exports.object({
7547
+ source: external_exports.literal("evaluation_run").default("evaluation_run"),
7548
+ evaluationRunId: ReleaseIdSchema,
7549
+ attemptId: ReleaseIdSchema,
7550
+ modelLabel: external_exports.string().trim().min(1).max(300).nullable().default(null),
7551
+ modelVersionId: ReleaseIdSchema.nullable().default(null),
7552
+ reward: external_exports.number().finite().nullable(),
7553
+ components: external_exports.record(external_exports.string(), external_exports.number().finite()).default({})
7554
+ }).strict(),
7555
+ external_exports.object({
7556
+ source: external_exports.literal("imported_response"),
7557
+ modelLabel: external_exports.string().trim().min(1).max(300),
7558
+ modelVersionId: ReleaseIdSchema.nullable().default(null),
7559
+ response: external_exports.unknown().refine((value) => value !== void 0, "An imported model response is required."),
7560
+ reward: external_exports.number().finite().nullable().default(null),
7561
+ components: external_exports.record(external_exports.string(), external_exports.number().finite()).default({})
7562
+ }).strict()
7563
+ ]);
7564
+ var ContinualLearningObservedAttemptSchema = external_exports.union([
7565
+ external_exports.object({
7566
+ taskId: ReleaseIdSchema,
7567
+ target: ContinualLearningResponseTargetSchema,
7568
+ attempt: ContinualLearningCapturedAttemptSchema
7569
+ }).strict(),
7570
+ external_exports.object({
7571
+ taskId: ReleaseIdSchema,
7572
+ target: external_exports.enum(["base", "current"]).default("current"),
7573
+ attempt: ContinualLearningCapturedAttemptSchema
7574
+ }).strict(),
7575
+ external_exports.object({
7576
+ taskId: ReleaseIdSchema,
7577
+ target: external_exports.enum(["base", "current"]).default("current"),
7578
+ evaluationRunId: ReleaseIdSchema,
7579
+ attemptId: ReleaseIdSchema,
7580
+ reward: external_exports.number().finite().nullable(),
7581
+ components: external_exports.record(external_exports.string(), external_exports.number().finite()).default({})
7582
+ }).strict().transform(({ taskId, target, ...attempt }) => ({
7583
+ taskId,
7584
+ target,
7585
+ attempt: { source: "evaluation_run", modelLabel: null, modelVersionId: null, ...attempt }
7586
+ }))
7587
+ ]);
7588
+ var ContinualLearningDailyBatchManifestSchema = external_exports.object({
7589
+ schemaVersion: external_exports.literal("openpond.continualLearningDailyBatchManifest.v1"),
7590
+ id: ReleaseIdSchema,
7591
+ seriesId: ReleaseIdSchema,
7592
+ scheduleEntryId: ReleaseIdSchema,
7593
+ dayOrdinal: external_exports.number().int().positive().max(1e4),
7594
+ sourceTaskset: VersionedReleaseRefSchema,
7595
+ taskIds: external_exports.array(ReleaseIdSchema).min(1).max(1e3),
7596
+ observedAttempts: external_exports.array(ContinualLearningObservedAttemptSchema).max(1e3).default([]),
7597
+ sourceFileName: external_exports.string().trim().min(1).max(500).nullable().default(null),
7598
+ availableAt: ReleaseTimestampSchema
7599
+ }).strict().superRefine((batch, context) => {
7600
+ if (new Set(batch.taskIds).size !== batch.taskIds.length) {
7601
+ context.addIssue({ code: "custom", path: ["taskIds"], message: "A daily batch cannot repeat a task." });
7602
+ }
7603
+ if (new Set(batch.observedAttempts.map((attempt) => `${attempt.taskId}:${observedTargetKey(attempt.target)}`)).size !== batch.observedAttempts.length) {
7604
+ context.addIssue({ code: "custom", path: ["observedAttempts"], message: "An intake batch cannot repeat a task and Policy target pair." });
7605
+ }
7606
+ const taskIds = new Set(batch.taskIds);
7607
+ if (batch.observedAttempts.some((attempt) => !taskIds.has(attempt.taskId))) {
7608
+ context.addIssue({ code: "custom", path: ["observedAttempts"], message: "Observed attempts must belong to tasks in the daily batch." });
7609
+ }
7610
+ });
7611
+ var ContinualLearningDailyBatchSchema = external_exports.object({
7612
+ schemaVersion: external_exports.literal("openpond.continualLearningDailyBatch.v1"),
7613
+ id: ReleaseIdSchema,
7614
+ seriesId: ReleaseIdSchema,
7615
+ scheduleEntryId: ReleaseIdSchema,
7616
+ dayOrdinal: external_exports.number().int().positive().max(1e4),
7617
+ label: external_exports.string().trim().min(1).max(100),
7618
+ runMode: external_exports.enum(["automatic", "manual"]).optional(),
7619
+ source: external_exports.enum(["json_upload", "sealed_fixture"]),
7620
+ sourceFileName: external_exports.string().trim().min(1).max(500).nullable(),
7621
+ sourceTaskset: VersionedReleaseRefSchema,
7622
+ tasks: external_exports.array(external_exports.object({
7623
+ taskId: ReleaseIdSchema,
7624
+ taskContentHash: ReleaseHashSchema,
7625
+ familyKey: ReleaseIdSchema,
7626
+ disposition: external_exports.enum(["include", "defer", "exclude"]).nullable(),
7627
+ oracleReview: external_exports.enum(["pending", "confirmed", "needs_correction"]),
7628
+ note: external_exports.string().trim().max(2e3),
7629
+ observedAttempt: ContinualLearningCapturedAttemptSchema.nullable(),
7630
+ baselineAttempt: ContinualLearningCapturedAttemptSchema.nullable().default(null),
7631
+ responses: external_exports.array(external_exports.object({
7632
+ target: ContinualLearningResponseTargetSchema,
7633
+ attempt: ContinualLearningCapturedAttemptSchema
7634
+ }).strict()).max(100).default([]),
7635
+ stagedAt: ReleaseTimestampSchema.nullable().default(null),
7636
+ queuedEntry: ModelComparisonEntryRefSchema.nullable().default(null)
7637
+ }).strict()).min(1).max(1e3),
7638
+ intakeEvaluation: external_exports.object({
7639
+ status: external_exports.enum(["awaiting", "running", "ready", "failed"]),
7640
+ requestedTargets: external_exports.array(external_exports.enum(["base", "current"])).max(2).default(["base", "current"]),
7641
+ requestedPolicies: external_exports.array(ContinualLearningResponseTargetSchema).max(100).default([]),
7642
+ runs: external_exports.array(external_exports.object({
7643
+ target: ContinualLearningResponseTargetSchema,
7644
+ runId: ReleaseIdSchema
7645
+ }).strict()).max(100).default([]),
7646
+ baselineRunId: ReleaseIdSchema.nullable(),
7647
+ currentRunId: ReleaseIdSchema.nullable(),
7648
+ currentPolicy: external_exports.discriminatedUnion("kind", [
7649
+ external_exports.object({ kind: external_exports.literal("base_model"), id: ReleaseIdSchema }).strict(),
7650
+ external_exports.object({ kind: external_exports.literal("model_version"), id: ReleaseIdSchema }).strict()
7651
+ ]).nullable(),
7652
+ failure: external_exports.string().trim().min(1).max(2e3).nullable()
7653
+ }).strict().default({
7654
+ status: "awaiting",
7655
+ requestedTargets: ["base", "current"],
7656
+ requestedPolicies: [],
7657
+ runs: [],
7658
+ baselineRunId: null,
7659
+ currentRunId: null,
7660
+ currentPolicy: null,
7661
+ failure: null
7662
+ }),
7663
+ status: external_exports.enum(["pending", "reviewed", "queued"]),
7664
+ queuedEntry: ModelComparisonEntryRefSchema.nullable(),
7665
+ reviewedBy: ReleaseIdSchema.nullable(),
7666
+ reviewedAt: ReleaseTimestampSchema.nullable(),
7667
+ availableAt: ReleaseTimestampSchema,
7668
+ revision: external_exports.number().int().positive(),
7669
+ createdAt: ReleaseTimestampSchema,
7670
+ updatedAt: ReleaseTimestampSchema
7671
+ }).strict().superRefine((batch, context) => {
7672
+ if (new Set(batch.tasks.map((task) => task.taskId)).size !== batch.tasks.length) {
7673
+ context.addIssue({ code: "custom", path: ["tasks"], message: "A daily batch cannot repeat a task." });
7674
+ }
7675
+ for (const [taskIndex, task] of batch.tasks.entries()) {
7676
+ const keys = task.responses.map((response) => responseTargetKey(response.target));
7677
+ if (new Set(keys).size !== keys.length) {
7678
+ context.addIssue({ code: "custom", path: ["tasks", taskIndex, "responses"], message: "A task cannot repeat a model response target." });
7679
+ }
7680
+ }
7681
+ const complete = batch.tasks.every((task) => task.disposition !== null && task.oracleReview !== "pending" && (task.oracleReview !== "needs_correction" || task.note.length > 0));
7682
+ if (batch.status !== "pending" && !complete) {
7683
+ context.addIssue({ code: "custom", path: ["tasks"], message: "Every task requires a decision and oracle review before the day completes." });
7684
+ }
7685
+ if (batch.status === "queued" !== (batch.queuedEntry !== null)) {
7686
+ context.addIssue({ code: "custom", path: ["queuedEntry"], message: "Only a queued day carries an exact series-entry reference." });
7687
+ }
7688
+ if (batch.status === "pending" && (batch.reviewedAt !== null || batch.reviewedBy !== null)) {
7689
+ context.addIssue({ code: "custom", path: ["reviewedAt"], message: "A pending day cannot carry reviewer completion identity." });
7690
+ }
7691
+ if (batch.status !== "pending" && (batch.reviewedAt === null || batch.reviewedBy === null)) {
7692
+ context.addIssue({ code: "custom", path: ["reviewedAt"], message: "Reviewed identity is required after a day review completes." });
7693
+ }
7694
+ });
7695
+ var ContinualBenchIssueReviewSchema = external_exports.object({
7696
+ schemaVersion: external_exports.literal("openpond.continualBenchIssueReview.v1"),
7697
+ id: ReleaseIdSchema,
7698
+ seriesId: ReleaseIdSchema,
7699
+ scheduleEntryId: ReleaseIdSchema,
7700
+ passLabel: ReleaseIdSchema,
7701
+ packet: ContinualBenchIssuePacketSchema,
7702
+ splitManifest: external_exports.object({ id: ReleaseIdSchema, contentHash: ReleaseHashSchema }).strict(),
7703
+ decisions: external_exports.array(external_exports.object({
7704
+ taskId: ReleaseIdSchema,
7705
+ disposition: external_exports.enum(["include", "defer", "exclude"]).nullable(),
7706
+ note: external_exports.string().trim().max(2e3)
7707
+ }).strict()).min(2).max(1e4),
7708
+ status: external_exports.enum(["pending", "reviewed", "queued"]),
7709
+ queuedEntry: ModelComparisonEntryRefSchema.nullable(),
7710
+ reviewedBy: ReleaseIdSchema.nullable(),
7711
+ reviewedAt: ReleaseTimestampSchema.nullable(),
7712
+ revision: external_exports.number().int().positive(),
7713
+ createdAt: ReleaseTimestampSchema,
7714
+ updatedAt: ReleaseTimestampSchema
7715
+ }).strict().superRefine((review, context) => {
7716
+ const caseIds = [...review.packet.cases.map((item) => item.taskId)].sort();
7717
+ const decisionIds = [...review.decisions.map((item) => item.taskId)].sort();
7718
+ if (JSON.stringify(caseIds) !== JSON.stringify(decisionIds)) context.addIssue({ code: "custom", path: ["decisions"], message: "Review decisions must cover the exact issue-packet cases." });
7719
+ const complete = review.decisions.every((item) => item.disposition !== null && item.note.length > 0);
7720
+ if (review.status !== "pending" && !complete) context.addIssue({ code: "custom", path: ["decisions"], message: "Every case requires a disposition and note before review completes." });
7721
+ if (review.status === "queued" !== (review.queuedEntry !== null)) context.addIssue({ code: "custom", path: ["queuedEntry"], message: "Only a queued review carries an exact series-entry reference." });
7722
+ }).readonly();
7723
+ function responseTargetKey(target) {
7724
+ return `${target.kind}:${target.id}`;
7725
+ }
7726
+ function observedTargetKey(target) {
7727
+ return typeof target === "string" ? target : responseTargetKey(target);
7728
+ }
7729
+
6846
7730
  // ../../packages/contracts/src/training-policy-optimization.ts
6847
7731
  var IdSchema7 = external_exports.string().trim().min(1).max(240);
6848
7732
  var HashSchema6 = external_exports.string().trim().min(8).max(256);
6849
7733
  var RftLossMethodSchema = external_exports.enum(["grpo", "dapo", "gspo-token"]);
7734
+ var AdamwOptimizerConfigSchema = external_exports.object({
7735
+ name: external_exports.literal("adamw").default("adamw"),
7736
+ weightDecay: external_exports.number().nonnegative().max(1).default(0),
7737
+ beta1: external_exports.number().positive().lt(1).default(0.9),
7738
+ beta2: external_exports.number().positive().lt(1).default(0.999),
7739
+ epsilon: external_exports.number().positive().max(0.01).default(1e-8)
7740
+ }).strict().default({
7741
+ name: "adamw",
7742
+ weightDecay: 0,
7743
+ beta1: 0.9,
7744
+ beta2: 0.999,
7745
+ epsilon: 1e-8
7746
+ });
6850
7747
  var TrainingModelRefSchema = external_exports.object({
6851
7748
  id: IdSchema7,
6852
7749
  revision: external_exports.string().trim().min(1).max(256),
@@ -6866,7 +7763,13 @@ var GrpoOptimizerSchema = external_exports.object({
6866
7763
  method: external_exports.literal("grpo"),
6867
7764
  groupSize: external_exports.number().int().min(2).max(128),
6868
7765
  normalization: external_exports.literal("group_standardized"),
6869
- loss: RftLossMethodSchema
7766
+ advantageEpsilon: external_exports.number().positive().max(0.01).default(1e-8),
7767
+ loss: RftLossMethodSchema,
7768
+ clipRange: external_exports.number().positive().max(1).default(0.2),
7769
+ iterations: external_exports.number().int().min(2).max(16).default(2),
7770
+ microbatchSize: external_exports.number().int().positive().max(128).default(1),
7771
+ gradientAccumulationSteps: external_exports.number().int().positive().max(128).default(1),
7772
+ adamw: AdamwOptimizerConfigSchema
6870
7773
  });
6871
7774
  var PpoOptimizerSchema = external_exports.object({
6872
7775
  method: external_exports.literal("ppo"),
@@ -6885,7 +7788,8 @@ var PolicyOptimizerSchema = external_exports.discriminatedUnion("method", [
6885
7788
  ]);
6886
7789
  var LearnedPreferenceRewardBindingSchema = external_exports.object({
6887
7790
  rewardModelVersion: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict(),
6888
- qualificationReport: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict(),
7791
+ qualificationReport: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict().nullable().default(null),
7792
+ evaluationReferences: external_exports.array(external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict()).max(1e3).default([]),
6889
7793
  checkpoint: external_exports.object({
6890
7794
  id: IdSchema7,
6891
7795
  contentHash: HashSchema6,
@@ -6899,7 +7803,7 @@ var LearnedPreferenceRewardBindingSchema = external_exports.object({
6899
7803
  runtime: RewardModelRuntimeSchema,
6900
7804
  processorRelease: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict(),
6901
7805
  rewardComposerRelease: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict(),
6902
- qualificationKind: external_exports.enum(["synthetic_smoke", "human_heldout"])
7806
+ executionReceipt: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict()
6903
7807
  }).strict();
6904
7808
  var PolicyOptimizationContractSchema = external_exports.object({
6905
7809
  schemaVersion: external_exports.literal("openpond.policyOptimization.v1"),
@@ -7595,7 +8499,10 @@ var RewardModelRecipeSchema = external_exports.object({
7595
8499
  processorRelease: ImmutableReleaseRefSchema2,
7596
8500
  input: external_exports.object({
7597
8501
  kind: external_exports.literal("structured_text"),
7598
- serialization: external_exports.literal("scenario_input_and_candidate_json_v1"),
8502
+ serialization: external_exports.enum([
8503
+ "scenario_input_and_candidate_json_v1",
8504
+ "visible_agent_trajectory_v1"
8505
+ ]),
7599
8506
  maxCharacters: external_exports.number().int().positive().max(5e5)
7600
8507
  }).strict().default({
7601
8508
  kind: "structured_text",
@@ -7673,7 +8580,13 @@ var RftRecipeSchema = external_exports.object({
7673
8580
  }),
7674
8581
  optimizer: external_exports.object({
7675
8582
  learningRate: external_exports.number().positive(),
7676
- maxSteps: external_exports.number().int().positive().max(1e5)
8583
+ maxSteps: external_exports.number().int().positive().max(1e5),
8584
+ clipRange: external_exports.number().positive().max(1).default(0.2),
8585
+ iterations: external_exports.number().int().min(2).max(16).default(2),
8586
+ microbatchSize: external_exports.number().int().positive().max(64).default(1),
8587
+ gradientAccumulationSteps: external_exports.number().int().positive().max(64).default(1),
8588
+ advantageEpsilon: external_exports.number().positive().max(0.01).default(1e-8),
8589
+ adamw: AdamwOptimizerConfigSchema
7677
8590
  }),
7678
8591
  loss: external_exports.object({
7679
8592
  method: RftLossMethodSchema.default("grpo"),
@@ -7689,10 +8602,22 @@ var RftRecipeSchema = external_exports.object({
7689
8602
  }),
7690
8603
  resourceLimits: external_exports.object({
7691
8604
  wallTimeMs: external_exports.number().int().positive().max(24 * 60 * 60 * 1e3),
8605
+ maxGpuSeconds: external_exports.number().int().positive().max(10800).optional(),
7692
8606
  maxRollouts: external_exports.number().int().positive().max(1e5),
7693
8607
  maxPayloadBytes: external_exports.number().int().positive().max(10 * 1024 * 1024)
7694
8608
  }),
7695
- policyOptimization: PolicyOptimizationContractSchema.nullable().default(null)
8609
+ policyOptimization: PolicyOptimizationContractSchema.nullable().default(null),
8610
+ continuation: external_exports.object({
8611
+ schemaVersion: external_exports.literal("openpond.crossJobContinuationRequest.v1"),
8612
+ parentArtifact: ImmutableReleaseRefSchema2,
8613
+ sourceArtifact: external_exports.object({
8614
+ jobId: TrainingIdSchema,
8615
+ artifactId: TrainingIdSchema,
8616
+ checkpointId: TrainingIdSchema,
8617
+ contentHash: TrainingHashSchema
8618
+ }).strict(),
8619
+ optimizerMode: external_exports.enum(["continue", "reset"])
8620
+ }).strict().optional()
7696
8621
  });
7697
8622
  var DpoRecipeSchema = external_exports.object({
7698
8623
  schemaVersion: external_exports.literal("openpond.dpoRecipe.v1"),
@@ -7863,84 +8788,14 @@ var ModelRunPresetSchema = external_exports.enum([
7863
8788
  "custom",
7864
8789
  "small_experiment"
7865
8790
  ]);
7866
- var ModelProjectSchema = external_exports.object({
7867
- schemaVersion: external_exports.literal("openpond.modelProject.v1"),
7868
- id: TrainingIdSchema,
7869
- profileId: TrainingIdSchema,
7870
- revision: external_exports.number().int().positive().default(1),
7871
- name: external_exports.string().trim().min(1).max(200),
7872
- objective: external_exports.string().trim().max(5e3).nullable(),
7873
- defaultBaseModel: BaseModelPreferenceSchema.nullable(),
7874
- defaultDestinationId: TrainingDestinationIdSchema.nullable(),
7875
- hosted: external_exports.object({
7876
- schemaVersion: external_exports.literal("openpond.hostedModelProjectLink.v1"),
7877
- teamId: TrainingIdSchema,
7878
- projectId: TrainingIdSchema,
7879
- portableProjectId: TrainingIdSchema,
7880
- revision: external_exports.number().int().positive(),
7881
- etag: TrainingHashSchema,
7882
- syncedSourceRevision: external_exports.number().int().positive(),
7883
- syncedAt: TrainingTimestampSchema,
7884
- tasksets: external_exports.array(
7885
- external_exports.object({
7886
- localTasksetId: TrainingIdSchema,
7887
- releaseId: TrainingIdSchema,
7888
- releaseRevision: external_exports.number().int().positive(),
7889
- releaseHash: TrainingHashSchema,
7890
- hostedTasksetId: TrainingIdSchema,
7891
- syncedAt: TrainingTimestampSchema
7892
- }).strict()
7893
- ).max(1e4).default([])
7894
- }).strict().nullable().default(null),
7895
- tasksetSyncs: external_exports.array(
7896
- external_exports.object({
7897
- localTasksetId: TrainingIdSchema,
7898
- releaseId: TrainingIdSchema,
7899
- releaseRevision: external_exports.number().int().positive(),
7900
- releaseHash: TrainingHashSchema,
7901
- state: external_exports.enum(["syncing", "synced", "sync_failed"]),
7902
- hostedTasksetId: TrainingIdSchema.nullable().default(null),
7903
- lastAttemptAt: TrainingTimestampSchema,
7904
- syncedAt: TrainingTimestampSchema.nullable().default(null),
7905
- lastError: external_exports.string().trim().min(1).max(5e3).nullable().default(null)
7906
- }).strict()
7907
- ).max(1e4).default([]),
7908
- createdAt: TrainingTimestampSchema,
7909
- updatedAt: TrainingTimestampSchema
7910
- });
7911
- var ModelRunDraftSchema = external_exports.object({
7912
- schemaVersion: external_exports.literal("openpond.modelRunDraft.v1"),
7913
- id: TrainingIdSchema,
7914
- profileId: TrainingIdSchema,
7915
- modelId: TrainingIdSchema,
7916
- status: external_exports.enum(["draft", "ready_to_run", "launched", "cancelled"]),
7917
- title: external_exports.string().trim().min(1).max(200),
7918
- datasetMode: external_exports.enum(["existing", "build"]).nullable(),
7919
- tasksetRef: external_exports.object({
7920
- id: TrainingIdSchema,
7921
- revision: external_exports.number().int().positive(),
7922
- contentHash: TrainingHashSchema
7923
- }).nullable(),
7924
- harnessRelease: ImmutableReleaseRefSchema2.nullable().optional(),
7925
- tasksetRelease: ImmutableReleaseRefSchema2.nullable().optional(),
7926
- datasetCreationId: TrainingIdSchema.nullable(),
7927
- buildIntent: DatasetBuildIntentSchema.nullable(),
7928
- buildSpecification: DatasetBuildSpecificationSchema.nullable(),
7929
- baseModel: BaseModelPreferenceSchema.nullable(),
7930
- method: TrainingMethodSchema.nullable(),
7931
- destinationId: TrainingDestinationIdSchema.nullable(),
7932
- managedRolloutPlacement: external_exports.enum(["local", "remote"]).optional(),
7933
- runPreset: ModelRunPresetSchema.nullable(),
7934
- recipe: TrainingRecipeSchema.nullable(),
7935
- createdAt: TrainingTimestampSchema,
7936
- updatedAt: TrainingTimestampSchema
7937
- });
8791
+ var ModelProjectSchema2 = ModelProjectSchema;
7938
8792
  var TrainingPlanSchema = external_exports.object({
7939
8793
  schemaVersion: external_exports.literal("openpond.trainingPlan.v1"),
7940
8794
  id: TrainingIdSchema,
7941
8795
  modelId: TrainingIdSchema,
7942
8796
  tasksetId: TrainingIdSchema,
7943
8797
  tasksetHash: TrainingHashSchema,
8798
+ comparisonSeriesEntry: ModelComparisonEntryRefSchema.nullable().optional(),
7944
8799
  harnessRelease: ImmutableReleaseRefSchema2.nullable().optional(),
7945
8800
  modelImprovementQualification: ImmutableReleaseRefSchema2.nullable().optional(),
7946
8801
  destinationId: TrainingDestinationIdSchema,
@@ -8030,6 +8885,21 @@ var TrainingApprovalSchema = external_exports.object({
8030
8885
  approvedBy: TrainingIdSchema,
8031
8886
  approvedAt: TrainingTimestampSchema
8032
8887
  });
8888
+ var TrainingJobSourceSnapshotSchema = external_exports.object({
8889
+ schemaVersion: external_exports.literal("openpond.trainingJobSourceSnapshot.v1"),
8890
+ modelProjectId: TrainingIdSchema,
8891
+ sourceProjectRevision: external_exports.number().int().positive(),
8892
+ profileId: TrainingIdSchema,
8893
+ taskset: external_exports.object({
8894
+ id: TrainingIdSchema,
8895
+ revision: external_exports.number().int().positive(),
8896
+ contentHash: TrainingHashSchema
8897
+ }).strict(),
8898
+ tasksetRelease: ImmutableReleaseRefSchema2,
8899
+ harnessRelease: ImmutableReleaseRefSchema2,
8900
+ baseModel: BaseModelPreferenceSchema,
8901
+ method: TrainingMethodSchema
8902
+ }).strict();
8033
8903
  var TrainingJobStatusSchema = external_exports.enum([
8034
8904
  "queued",
8035
8905
  "starting",
@@ -8108,30 +8978,40 @@ var PolicyOptimizationMetricSchema = external_exports.object({
8108
8978
  learningRate: external_exports.number().nonnegative().nullable().default(null),
8109
8979
  policyLoss: external_exports.number().nullable(),
8110
8980
  valueLoss: external_exports.number().nullable(),
8981
+ gradientNorm: external_exports.number().nonnegative().nullable().default(null),
8111
8982
  meanReward: external_exports.number().nullable(),
8112
8983
  meanReturn: external_exports.number().nullable(),
8113
8984
  kl: external_exports.number().nullable(),
8985
+ behaviorPolicyKlPreUpdate: external_exports.number().nonnegative().nullable().default(null),
8114
8986
  entropy: external_exports.number().nullable(),
8115
8987
  policyClipFraction: external_exports.number().min(0).max(1).nullable(),
8988
+ behaviorPolicyClipFractionPreUpdate: external_exports.number().min(0).max(1).nullable().default(null),
8116
8989
  valueClipFraction: external_exports.number().min(0).max(1).nullable(),
8117
8990
  explainedVariance: external_exports.number().nullable(),
8118
8991
  rolloutLearnerLag: external_exports.number().int().nonnegative().nullable(),
8119
8992
  inputTokens: external_exports.number().int().nonnegative(),
8120
8993
  outputTokens: external_exports.number().int().nonnegative(),
8121
8994
  environmentExecutions: external_exports.number().int().nonnegative(),
8995
+ trajectoryCount: external_exports.number().int().nonnegative().nullable().default(null),
8122
8996
  costUsd: external_exports.number().nonnegative().nullable()
8123
8997
  });
8124
8998
  var ManagedTrainingRunEvidenceSchema = external_exports.object({
8125
- schemaVersion: external_exports.literal("openpond.managedTrainingRunEvidence.v1"),
8999
+ schemaVersion: external_exports.literal("openpond.managedTrainingRunEvidence.v2"),
8126
9000
  provider: TrainingIdSchema,
8127
9001
  providerRunId: TrainingIdSchema,
8128
9002
  state: TrainingIdSchema,
8129
9003
  progress: external_exports.object({
8130
9004
  targetOptimizerSteps: external_exports.number().int().nonnegative(),
8131
- committedOptimizerSteps: external_exports.number().int().nonnegative()
9005
+ committedOptimizerSteps: external_exports.number().int().nonnegative(),
9006
+ skippedOptimizerSteps: external_exports.number().int().nonnegative()
8132
9007
  }),
8133
9008
  reward: external_exports.object({
8134
9009
  finalMean: external_exports.number().nullable(),
9010
+ variance: external_exports.number().nonnegative().nullable(),
9011
+ minimum: external_exports.number().nullable(),
9012
+ maximum: external_exports.number().nullable(),
9013
+ distinctValueCount: external_exports.number().int().nonnegative(),
9014
+ noSignalGroupCount: external_exports.number().int().nonnegative(),
8135
9015
  trajectoryCount: external_exports.number().int().nonnegative(),
8136
9016
  eligibleTrajectoryCount: external_exports.number().int().nonnegative()
8137
9017
  }),
@@ -8144,7 +9024,9 @@ var ManagedTrainingRunEvidenceSchema = external_exports.object({
8144
9024
  provider: TrainingIdSchema,
8145
9025
  gpuType: external_exports.string().trim().min(1).max(300).nullable(),
8146
9026
  gpuCount: external_exports.number().int().nonnegative().nullable(),
8147
- hourlyCostUsd: external_exports.number().nonnegative().nullable()
9027
+ hourlyCostUsd: external_exports.number().nonnegative().nullable(),
9028
+ durationSeconds: external_exports.number().nonnegative().nullable(),
9029
+ gpuSeconds: external_exports.number().nonnegative().nullable()
8148
9030
  }),
8149
9031
  cost: external_exports.object({
8150
9032
  totalUsd: external_exports.number().nonnegative().nullable()
@@ -8155,6 +9037,9 @@ var ManagedTrainingRunEvidenceSchema = external_exports.object({
8155
9037
  sha256: TrainingHashSchema.nullable(),
8156
9038
  sizeBytes: external_exports.number().int().nonnegative().nullable()
8157
9039
  }).nullable(),
9040
+ movement: external_exports.object({
9041
+ adapterDeltaNorm: external_exports.number().nonnegative().nullable()
9042
+ }),
8158
9043
  evaluations: external_exports.array(
8159
9044
  external_exports.object({
8160
9045
  kind: external_exports.enum(["baseline", "candidate"]),
@@ -8336,10 +9221,14 @@ var TrainingStateResponseSchema = external_exports.object({
8336
9221
  candidates: external_exports.array(TaskCandidateSchema),
8337
9222
  minerConfig: TaskMinerConfigSchema,
8338
9223
  minerRuns: external_exports.array(TaskMinerRunSchema).default([]),
8339
- modelProjects: external_exports.array(ModelProjectSchema).default([]),
8340
- modelRunDrafts: external_exports.array(ModelRunDraftSchema).default([]),
9224
+ modelProjects: external_exports.array(ModelProjectSchema2).default([]),
8341
9225
  modelVersions: external_exports.array(ModelVersionSchema).default([]),
8342
9226
  modelRuns: external_exports.array(ModelRunSchema).default([]),
9227
+ comparisonSeries: external_exports.array(ModelComparisonSeriesSchema).default([]),
9228
+ comparisonSeriesEntries: external_exports.array(ModelComparisonSeriesEntrySchema).default([]),
9229
+ modelCurrencySnapshots: external_exports.array(ModelCurrencySnapshotSchema).default([]),
9230
+ continualBenchIssueReviews: external_exports.array(ContinualBenchIssueReviewSchema).default([]),
9231
+ continualLearningDailyBatches: external_exports.array(ContinualLearningDailyBatchSchema).default([]),
8343
9232
  rewardModelVersions: external_exports.array(RewardModelVersionSchema).default([]),
8344
9233
  rewardModelRuns: external_exports.array(RewardModelRunSchema).default([]),
8345
9234
  modelTasksets: external_exports.array(TasksetSchema).default([]),
@@ -8872,6 +9761,8 @@ var AdapterValidationReceiptSchema = external_exports.object({
8872
9761
  var TrainingExecutionRefSchema = external_exports.object({
8873
9762
  runId: ReleaseIdSchema,
8874
9763
  adapterId: ReleaseIdSchema,
9764
+ protocolVersion: external_exports.enum(["openpond.training.v2", "adapter.native.v1"]).default("adapter.native.v1"),
9765
+ routeFamily: external_exports.enum(["training_v2", "adapter_native"]).default("adapter_native"),
8875
9766
  routeId: ReleaseIdSchema.optional(),
8876
9767
  providerJobId: external_exports.string().trim().min(1).max(1e3).nullable(),
8877
9768
  tenantId: ReleaseIdSchema.optional(),
@@ -8893,6 +9784,12 @@ var TrainingExecutionStatusSchema = external_exports.object({
8893
9784
  ]),
8894
9785
  phase: external_exports.string().trim().min(1).max(200),
8895
9786
  progress: external_exports.number().min(0).max(1).nullable(),
9787
+ rolloutProgress: external_exports.object({
9788
+ groupsCompleted: external_exports.number().int().nonnegative(),
9789
+ groupsTarget: external_exports.number().int().nonnegative(),
9790
+ optimizerUpdatesApplied: external_exports.number().int().nonnegative(),
9791
+ optimizerUpdatesSkipped: external_exports.number().int().nonnegative()
9792
+ }).strict().optional(),
8896
9793
  updatedAt: ReleaseTimestampSchema,
8897
9794
  errorCode: ReleaseIdSchema.nullable()
8898
9795
  }).strict();
@@ -8911,7 +9808,8 @@ var TrainingArtifactsSchema = external_exports.object({
8911
9808
  ]),
8912
9809
  objectRef: external_exports.string().trim().min(1).max(2e3),
8913
9810
  sha256: ReleaseHashSchema,
8914
- sizeBytes: external_exports.number().int().nonnegative()
9811
+ sizeBytes: external_exports.number().int().nonnegative(),
9812
+ metadata: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
8915
9813
  }).strict()
8916
9814
  ),
8917
9815
  contentHash: ReleaseHashSchema