openpond 0.0.69 → 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 (188) hide show
  1. package/dist/chunks/{app-layer-EXXOWJ5H.js → app-layer-XEYHFJHI.js} +2 -2
  2. package/dist/chunks/{app-server-runtime-7FBQBE3C.js → app-server-runtime-Y6MW4XCG.js} +7 -6
  3. package/dist/chunks/{apps-RZSDOFAG.js → apps-GSXUDK6V.js} +2 -2
  4. package/dist/chunks/{chunk-SFMNGWNO.js → chunk-2JABRRNR.js} +1 -1
  5. package/dist/chunks/{chunk-MMRJNSWY.js → chunk-6G6MDZLM.js} +1096 -120
  6. package/dist/chunks/{chunk-NPNIL6SQ.js → chunk-AN2EYCN3.js} +1 -1
  7. package/dist/chunks/{chunk-F36ZVO6U.js → chunk-CNTM26OW.js} +1 -1
  8. package/dist/chunks/{chunk-FEOLMLYU.js → chunk-EFET7LB7.js} +21 -2
  9. package/dist/chunks/{training-5CPTZRVC.js → chunk-J7PYGDRY.js} +251 -16
  10. package/dist/chunks/{chunk-Y57RTLVV.js → chunk-N3TGCM7J.js} +93 -35
  11. package/dist/chunks/{chunk-BLFIIAWZ.js → chunk-NTK22KJD.js} +68 -21
  12. package/dist/chunks/{chunk-QTN6HXOR.js → chunk-P6JLLWMI.js} +2 -2
  13. package/dist/chunks/chunk-R3C3MNSI.js +140 -0
  14. package/dist/chunks/{chunk-7C4OIFOC.js → chunk-TGM5IPYO.js} +31 -3
  15. package/dist/chunks/{chunk-OOM2PHBE.js → chunk-TZWAUV2L.js} +1130 -226
  16. package/dist/chunks/{cli-HIXVXM72.js → cli-L5VPOV6I.js} +6 -5
  17. package/dist/chunks/continual-FYDKLCO7.js +803 -0
  18. package/dist/chunks/{core-commands-34SVH6ZQ.js → core-commands-MAN3CSJQ.js} +3 -3
  19. package/dist/chunks/{desktop-test-66DPBNJX.js → desktop-test-OE5SST2W.js} +2 -2
  20. package/dist/chunks/{extension-ZMRHCDO3.js → extension-J3CIEDP4.js} +968 -19
  21. package/dist/chunks/{help-COHCZEP2.js → help-JNGJJFU5.js} +1 -1
  22. package/dist/chunks/{opchat-2PGW2GNN.js → opchat-6HEQJFLL.js} +2 -2
  23. package/dist/chunks/{organizations-NZ4OY56V.js → organizations-MWAPNOCK.js} +5 -4
  24. package/dist/chunks/{profile-GEMTRPUG.js → profile-P7HMONTZ.js} +2 -2
  25. package/dist/chunks/{project-agent-NX6YBGWC.js → project-agent-2RAK7GAZ.js} +2 -2
  26. package/dist/chunks/{sandbox-command-UEY53OJO.js → sandbox-command-G22CPFNK.js} +2 -2
  27. package/dist/chunks/{sandbox-template-YKYRB645.js → sandbox-template-S4WRUWJ6.js} +3 -3
  28. package/dist/chunks/{src-IXYDKOBI.js → src-A6O6ZGIL.js} +15899 -8010
  29. package/dist/chunks/{src-LKJBD5AM.js → src-BKBZ7WLO.js} +4 -3
  30. package/dist/chunks/taskset-BMI7KOWP.js +66 -0
  31. package/dist/chunks/{teams-bot-K6KZHZJV.js → teams-bot-5VBYEN7M.js} +2 -2
  32. package/dist/chunks/training-UPVSGDTB.js +17 -0
  33. package/dist/chunks/{workspaces-WXM72UZF.js → workspaces-XM5BY3MO.js} +4 -2
  34. package/dist/cli.js +13 -13
  35. package/dist/web/assets/App-DfiCmBv6.js +173 -0
  36. package/dist/web/assets/{AppDialog-DX-xs3KA.js → AppDialog-CSXu5wRu.js} +1 -1
  37. package/dist/web/assets/{AppTerminalPanel-CYVj_ITT.js → AppTerminalPanel-y2bVL2RV.js} +2 -2
  38. package/dist/web/assets/{AppsView-ByjyGog7.js → AppsView-Bs9pwD2H.js} +1 -1
  39. package/dist/web/assets/{BrowserSidebar-BDwtMAZl.js → BrowserSidebar-CUgT5V1m.js} +1 -1
  40. package/dist/web/assets/{CartesianChart-Dv6jJfPR.js → CartesianChart-DA85hfrP.js} +1 -1
  41. package/dist/web/assets/{CollaborationTabs-CC5AIhMh.js → CollaborationTabs-B8mlPhM3.js} +1 -1
  42. package/dist/web/assets/{CommandMenu-Ct0Sx7yP.js → CommandMenu-EwUGCeC_.js} +1 -1
  43. package/dist/web/assets/{CommunityView-C_zVE0jg.js → CommunityView-IHNq-YJz.js} +1 -1
  44. package/dist/web/assets/{ComposerCreateImproveStrip-CNn4OywM.js → ComposerCreateImproveStrip-qOL2zA26.js} +1 -1
  45. package/dist/web/assets/{GetStartedView-DRFpHDLd.js → GetStartedView-C2ypO0v7.js} +1 -1
  46. package/dist/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  47. package/dist/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  48. package/dist/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  49. package/dist/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  50. package/dist/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  51. package/dist/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  52. package/dist/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  53. package/dist/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  54. package/dist/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  55. package/dist/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  56. package/dist/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  57. package/dist/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  58. package/dist/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  59. package/dist/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  60. package/dist/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  61. package/dist/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  62. package/dist/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  63. package/dist/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  64. package/dist/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  65. package/dist/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  66. package/dist/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  67. package/dist/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  68. package/dist/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  69. package/dist/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  70. package/dist/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  71. package/dist/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  72. package/dist/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  73. package/dist/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  74. package/dist/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  75. package/dist/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  76. package/dist/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  77. package/dist/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  78. package/dist/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  79. package/dist/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  80. package/dist/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  81. package/dist/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  82. package/dist/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  83. package/dist/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  84. package/dist/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  85. package/dist/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  86. package/dist/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  87. package/dist/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  88. package/dist/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  89. package/dist/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  90. package/dist/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  91. package/dist/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  92. package/dist/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  93. package/dist/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  94. package/dist/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  95. package/dist/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  96. package/dist/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  97. package/dist/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  98. package/dist/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  99. package/dist/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  100. package/dist/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  101. package/dist/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  102. package/dist/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  103. package/dist/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  104. package/dist/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  105. package/dist/web/assets/LabModelVersionDetailPage-BK0eoUlW.js +1 -0
  106. package/dist/web/assets/{LabSkillSidebar-B9jY4AgE.js → LabSkillSidebar-CRPb4qBn.js} +1 -1
  107. package/dist/web/assets/LabsRoute-Bw-HD6QC.js +2 -0
  108. package/dist/web/assets/LabsRoute-CGFgymTX.css +1 -0
  109. package/dist/web/assets/MainChatThread-Cu6_UnNE.js +2 -0
  110. package/dist/web/assets/MainPane-k1iII9e9.js +8 -0
  111. package/dist/web/assets/MarkdownText-N60tvLug.js +268 -0
  112. package/dist/web/assets/Messages-CYQFLElK.js +10 -0
  113. package/dist/web/assets/{NativeSkillSidebar-DjebFRoi.js → NativeSkillSidebar-zbx7WmOk.js} +1 -1
  114. package/dist/web/assets/{NewExperienceSwitcher-C-bJxHxY.js → NewExperienceSwitcher-B0zev5Sx.js} +1 -1
  115. package/dist/web/assets/{NewProjectDialog-Cx8QcZm7.js → NewProjectDialog-lZlzrp-R.js} +1 -1
  116. package/dist/web/assets/{OutputsPage-Y9HM-SHX.js → OutputsPage-B4zYYUT5.js} +1 -1
  117. package/dist/web/assets/{ProjectsPage-BBr58yKT.js → ProjectsPage-97wgc84s.js} +1 -1
  118. package/dist/web/assets/RightChatPanelStack-I2znDCc7.js +1 -0
  119. package/dist/web/assets/{RightSidebarHomePanel-Dx-1elSI.js → RightSidebarHomePanel-BUcWVJi-.js} +1 -1
  120. package/dist/web/assets/ScheduledWorkPage-Bp-t0eVj.js +1 -0
  121. package/dist/web/assets/SettingsView-C1xyn1Y4.js +6 -0
  122. package/dist/web/assets/{TeamChatView-Bkyhu40R.js → TeamChatView-Fj5_yjVE.js} +2 -2
  123. package/dist/web/assets/{TerminalOverlay-CaCkZDzO.js → TerminalOverlay-D2WBeJvp.js} +1 -1
  124. package/dist/web/assets/{TrainingCreationPanel-Vvi41WNT.js → TrainingCreationPanel-dYW_dh3M.js} +1 -1
  125. package/dist/web/assets/{TrainingDraftPanel-C2C3hffI.js → TrainingDraftPanel-zeJWmmW6.js} +1 -1
  126. package/dist/web/assets/{UsageSettingsSection-DpPBd-ra.js → UsageSettingsSection-B6SBqYuB.js} +2 -2
  127. package/dist/web/assets/WorkSidebarPanel-BwbWKpOZ.js +1 -0
  128. package/dist/web/assets/{WorkspaceDiffPanel-D_zKOW4K.js → WorkspaceDiffPanel-D9Kp0vFw.js} +6 -6
  129. package/dist/web/assets/WorkspaceEnvironmentMenu-D-3YGp06.js +32 -0
  130. package/dist/web/assets/WorkspaceGitDialogs-BUbzUN4m.js +1 -0
  131. package/dist/web/assets/{WorkspaceMonacoEditor--GOVrHFp.js → WorkspaceMonacoEditor-CXPY7bBI.js} +3 -3
  132. package/dist/web/assets/{arrow-up-right-BRZWXpqJ.js → arrow-up-right-C7VWgGQP.js} +1 -1
  133. package/dist/web/assets/{chat-file-links-CgFHK89C.js → chat-file-links-CqfMdhHQ.js} +1 -1
  134. package/dist/web/assets/chevron-up-DD9Tei-Q.js +1 -0
  135. package/dist/web/assets/{clipboard-dPd_3lpG.js → clipboard-B-8k7mlT.js} +1 -1
  136. package/dist/web/assets/{cloud-upload-DOwvN4hp.js → cloud-upload-CUVFzURz.js} +1 -1
  137. package/dist/web/assets/{cssMode-BM4j9M0D.js → cssMode-DYvfmqoL.js} +1 -1
  138. package/dist/web/assets/{folder-open-DavjPCw4.js → folder-open-CnbcQIy8.js} +1 -1
  139. package/dist/web/assets/{folder-plus-Dyqast6G.js → folder-plus-BOaLAKy4.js} +1 -1
  140. package/dist/web/assets/{git-commit-horizontal-s3X0cQlz.js → git-commit-horizontal-DQeHsooT.js} +1 -1
  141. package/dist/web/assets/{htmlMode-Nlx7ckXa.js → htmlMode-BXEI-BVY.js} +1 -1
  142. package/dist/web/assets/index-CGMb_VXm.css +1 -0
  143. package/dist/web/assets/{index-5-B6FIuE.js → index-D-VK8mST.js} +1 -1
  144. package/dist/web/assets/index-D-WCyNdJ.js +1 -0
  145. package/dist/web/assets/{info-CVvrNOHr.js → info-DtzDuGLn.js} +1 -1
  146. package/dist/web/assets/{jsonMode-B7monA6g.js → jsonMode-Dosjh_hK.js} +1 -1
  147. package/dist/web/assets/{lspLanguageFeatures-CcJ9GDtK.js → lspLanguageFeatures-BNe-6FJA.js} +1 -1
  148. package/dist/web/assets/{minimize-2-O1DnznGK.js → minimize-2-DnxKN5oK.js} +1 -1
  149. package/dist/web/assets/{monaco.contribution-QOOCizYq.js → monaco.contribution-CfF-ajhi.js} +2 -2
  150. package/dist/web/assets/{monaco.contribution-2PozfA9g.js → monaco.contribution-CnkROzNv.js} +2 -2
  151. package/dist/web/assets/{monaco.contribution-BSJ2jQTi.js → monaco.contribution-Dyns81H2.js} +2 -2
  152. package/dist/web/assets/{monaco.contribution-BMAF2bmO.js → monaco.contribution-ytyanGyj.js} +2 -2
  153. package/dist/web/assets/{play-BpCc5ZbR.js → play-B3o6IAQd.js} +1 -1
  154. package/dist/web/assets/{python-BK41iew-.js → python-B7zZ_9Z_.js} +1 -1
  155. package/dist/web/assets/{refresh-cw-Csoy1ev1.js → refresh-cw-DSJZXa8S.js} +1 -1
  156. package/dist/web/assets/{save-Dbztj0W7.js → save-iC-AXHN6.js} +1 -1
  157. package/dist/web/assets/square-B2roZTxf.js +1 -0
  158. package/dist/web/assets/{toggleHighContrast-DrmwDpyz.js → toggleHighContrast-CjlV4YHK.js} +1 -1
  159. package/dist/web/assets/{training-daZlCtKV.css → training-eg6uFi3M.css} +1 -1
  160. package/dist/web/assets/{tsMode-CFgCMr7d.js → tsMode-XmKmSq0B.js} +1 -1
  161. package/dist/web/assets/{upload-C5nhiSMq.js → upload-BgHXNjfJ.js} +1 -1
  162. package/dist/web/assets/{useLocalAgentSchedules-LAsobERb.js → useLocalAgentSchedules-CVJz0AMr.js} +1 -1
  163. package/dist/web/assets/{wifi-off-BHxh2UbA.js → wifi-off-CneL8bDZ.js} +1 -1
  164. package/dist/web/assets/{workers-FKb-NyBI.js → workers-CT7VYBR5.js} +1 -1
  165. package/dist/web/assets/{yaml-C5DbF9S6.js → yaml-CF8jchCz.js} +1 -1
  166. package/dist/web/index.html +2 -2
  167. package/docs/command-reference.md +58 -2
  168. package/package.json +3 -1
  169. package/dist/web/assets/App-BF9L0JUv.js +0 -171
  170. package/dist/web/assets/LabModelVersionDetailPage-BzF-IVXQ.js +0 -1
  171. package/dist/web/assets/LabsRoute-CS_orT9s.css +0 -1
  172. package/dist/web/assets/LabsRoute-Di1Zs4gZ.js +0 -2
  173. package/dist/web/assets/MainChatThread-8VzlD8Hi.js +0 -2
  174. package/dist/web/assets/MainPane-StAOFINE.js +0 -6
  175. package/dist/web/assets/MarkdownText-B8D_ftSJ.js +0 -9
  176. package/dist/web/assets/Messages-TY62tiDp.js +0 -10
  177. package/dist/web/assets/RightChatPanelStack-DzUbDKwp.js +0 -1
  178. package/dist/web/assets/ScheduledWorkPage-BuXw_W8b.js +0 -1
  179. package/dist/web/assets/SettingsView-DB_zPHYY.js +0 -6
  180. package/dist/web/assets/WorkSidebarPanel-CeWGboTh.js +0 -1
  181. package/dist/web/assets/WorkspaceEnvironmentMenu-BTz9FISP.js +0 -32
  182. package/dist/web/assets/WorkspaceGitDialogs-BnBRUYpS.js +0 -1
  183. package/dist/web/assets/activity-DA5DNQwD.js +0 -1
  184. package/dist/web/assets/chevron-up-DSv2auz_.js +0 -1
  185. package/dist/web/assets/git-branch-zKnZdQiX.js +0 -1
  186. package/dist/web/assets/index-CQ3CPVHZ.css +0 -1
  187. package/dist/web/assets/index-CuoGlf-W.js +0 -1
  188. package/dist/web/assets/square-ju7fWa0W.js +0 -1
@@ -21,7 +21,12 @@ import {
21
21
  ToolDeclarationSchema,
22
22
  createHarnessAdvanceReceipt,
23
23
  validateConnectedAppToolCallRequest
24
- } from "./chunk-BLFIIAWZ.js";
24
+ } from "./chunk-NTK22KJD.js";
25
+ import {
26
+ ContinualBenchIssuePacketSchema,
27
+ ContinualBenchPanelRoleSchema,
28
+ ContinualBenchmarkProtocolReleaseSchema
29
+ } from "./chunk-R3C3MNSI.js";
25
30
  import {
26
31
  yaml
27
32
  } from "./chunk-X7ZG4TSW.js";
@@ -5092,6 +5097,7 @@ var AppPreferencesSchema = external_exports.object({
5092
5097
  defaultNewProjectDirectory: external_exports.string().trim().max(4096).default(""),
5093
5098
  defaultTeamId: external_exports.string().trim().max(191).nullable().default(null),
5094
5099
  advancedWorkspaceControls: external_exports.boolean().default(false),
5100
+ steerActiveResponses: external_exports.boolean().default(true),
5095
5101
  contextCompaction: ContextCompactionPreferencesSchema.optional().default(() => ContextCompactionPreferencesSchema.parse({})),
5096
5102
  training: TrainingPreferencesSchema.optional().default(() => TrainingPreferencesSchema.parse({})),
5097
5103
  sidebarWidth: external_exports.number().int().min(244).max(560).default(332),
@@ -5997,6 +6003,9 @@ var UsageRecordsQuerySchema = UsageSummaryQuerySchema.extend({
5997
6003
  turnId: external_exports.string().trim().min(1).optional(),
5998
6004
  limit: external_exports.number().int().positive().max(500).default(100)
5999
6005
  });
6006
+ var UsageTurnCacheQuerySchema = external_exports.object({
6007
+ sessionId: external_exports.string().trim().min(1)
6008
+ });
6000
6009
  var UsageBreakdownBaseSchema = external_exports.object({
6001
6010
  requests: external_exports.number().int().nonnegative(),
6002
6011
  promptTokens: external_exports.number().int().nonnegative().nullable(),
@@ -6119,6 +6128,22 @@ var UsageRecordsResponseSchema = external_exports.object({
6119
6128
  hasMore: external_exports.boolean(),
6120
6129
  records: external_exports.array(ModelUsageRecordSchema)
6121
6130
  });
6131
+ var UsageTurnCacheSummarySchema = external_exports.object({
6132
+ turnId: external_exports.string().trim().min(1),
6133
+ requests: external_exports.number().int().nonnegative(),
6134
+ cacheTelemetryRequests: external_exports.number().int().nonnegative(),
6135
+ cachedPromptTokens: external_exports.number().int().nonnegative().nullable(),
6136
+ uncachedPromptTokens: external_exports.number().int().nonnegative().nullable(),
6137
+ cacheWritePromptTokens: external_exports.number().int().nonnegative().nullable(),
6138
+ cacheHitRate: external_exports.number().min(0).max(1).nullable(),
6139
+ cacheTelemetryCoverage: external_exports.number().min(0).max(1),
6140
+ providers: external_exports.array(UsageProviderSchema)
6141
+ });
6142
+ var UsageTurnCacheResponseSchema = external_exports.object({
6143
+ generatedAt: external_exports.string().trim().min(1),
6144
+ sessionId: external_exports.string().trim().min(1),
6145
+ turns: external_exports.array(UsageTurnCacheSummarySchema)
6146
+ });
6122
6147
  var UsageSignalTypeSchema = external_exports.enum([
6123
6148
  "usage_spike",
6124
6149
  "model_usage_spike",
@@ -6340,6 +6365,7 @@ var UpdateAppPreferencesRequestSchema = external_exports.object({
6340
6365
  defaultNewProjectDirectory: external_exports.string().trim().max(4096).optional(),
6341
6366
  defaultTeamId: external_exports.string().trim().max(191).nullable().optional(),
6342
6367
  advancedWorkspaceControls: external_exports.boolean().optional(),
6368
+ steerActiveResponses: external_exports.boolean().optional(),
6343
6369
  contextCompaction: ContextCompactionPreferencesSchema.optional(),
6344
6370
  training: TrainingPreferencesSchema.optional(),
6345
6371
  sidebarWidth: external_exports.number().int().min(244).max(560).optional(),
@@ -6394,108 +6420,6 @@ var UpdateOpenPondAccountConfigRequestSchema = external_exports.object({
6394
6420
  setActive: external_exports.boolean().optional()
6395
6421
  });
6396
6422
 
6397
- // ../../packages/contracts/dist/saved-work.js
6398
- var SavedWorkWeekdaySchema = external_exports.enum([
6399
- "sunday",
6400
- "monday",
6401
- "tuesday",
6402
- "wednesday",
6403
- "thursday",
6404
- "friday",
6405
- "saturday"
6406
- ]);
6407
- var SavedWorkRecurrenceSchema = external_exports.object({
6408
- version: external_exports.literal(1),
6409
- kind: external_exports.enum(["once", "daily", "weekdays", "weekly", "monthly"]),
6410
- timeZone: external_exports.string().trim().min(1).max(100),
6411
- startDate: external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/),
6412
- localTime: external_exports.string().regex(/^([01]\d|2[0-3]):([0-5]\d)$/),
6413
- weekdays: external_exports.array(SavedWorkWeekdaySchema).min(1).max(7).optional(),
6414
- dayOfMonth: external_exports.number().int().min(1).max(31).optional(),
6415
- end: external_exports.discriminatedUnion("kind", [
6416
- external_exports.object({ kind: external_exports.literal("never") }),
6417
- external_exports.object({
6418
- kind: external_exports.literal("on_date"),
6419
- date: external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/)
6420
- }),
6421
- external_exports.object({
6422
- kind: external_exports.literal("after_occurrences"),
6423
- occurrences: external_exports.number().int().min(1).max(1e5)
6424
- })
6425
- ])
6426
- }).superRefine((value, context) => {
6427
- if (value.kind === "weekly" && !value.weekdays?.length) {
6428
- context.addIssue({
6429
- code: "custom",
6430
- message: "Weekly recurrence requires at least one weekday.",
6431
- path: ["weekdays"]
6432
- });
6433
- }
6434
- if (value.kind === "monthly" && value.dayOfMonth === void 0) {
6435
- context.addIssue({
6436
- code: "custom",
6437
- message: "Monthly recurrence requires a day of month.",
6438
- path: ["dayOfMonth"]
6439
- });
6440
- }
6441
- });
6442
- var HostedSavedWorkScheduleSchema = external_exports.object({
6443
- id: external_exports.string(),
6444
- expression: external_exports.string().nullable(),
6445
- timeZone: external_exports.string(),
6446
- recurrence: SavedWorkRecurrenceSchema.nullable(),
6447
- configurationVersion: external_exports.number().int(),
6448
- enabled: external_exports.boolean(),
6449
- nextRunAt: external_exports.string().nullable(),
6450
- lastTriggeredAt: external_exports.string().nullable(),
6451
- delivery: external_exports.record(external_exports.string(), external_exports.unknown()).default({})
6452
- });
6453
- var HostedSavedWorkDefinitionSchema = external_exports.object({
6454
- id: external_exports.string(),
6455
- definitionKey: external_exports.string(),
6456
- version: external_exports.number().int(),
6457
- name: external_exports.string(),
6458
- prompt: external_exports.string(),
6459
- modelId: external_exports.string(),
6460
- schedules: external_exports.array(HostedSavedWorkScheduleSchema)
6461
- });
6462
- var HostedSavedWorkRunSchema = external_exports.object({
6463
- id: external_exports.string(),
6464
- definitionId: external_exports.string(),
6465
- scheduleId: external_exports.string().nullable(),
6466
- definitionName: external_exports.string(),
6467
- definitionVersion: external_exports.number().int(),
6468
- conversationId: external_exports.string(),
6469
- triggerKind: external_exports.enum(["manual", "schedule", "webhook", "retry"]),
6470
- status: external_exports.string(),
6471
- notificationStatus: external_exports.string(),
6472
- deliveryStatus: external_exports.string(),
6473
- deliveryError: external_exports.string().nullable(),
6474
- createdAt: external_exports.string()
6475
- });
6476
- var HostedSavedWorkResponseSchema = external_exports.object({
6477
- definitions: external_exports.array(HostedSavedWorkDefinitionSchema),
6478
- runs: external_exports.array(HostedSavedWorkRunSchema),
6479
- asOf: external_exports.string(),
6480
- webBaseUrl: external_exports.string().url().optional()
6481
- });
6482
- var CreateHostedSavedWorkRequestSchema = external_exports.object({
6483
- clientRequestId: external_exports.string().trim().min(1).max(191),
6484
- sourceTurnId: external_exports.string().trim().min(1).max(191).nullable().optional(),
6485
- name: external_exports.string().trim().min(1).max(180),
6486
- prompt: external_exports.string().trim().min(1).max(2e4),
6487
- recurrence: SavedWorkRecurrenceSchema,
6488
- modelId: external_exports.string().trim().min(1).max(191).default("openpond-chat")
6489
- });
6490
- var UpdateHostedSavedWorkRequestSchema = external_exports.union([
6491
- external_exports.object({ enabled: external_exports.boolean() }),
6492
- external_exports.object({
6493
- name: external_exports.string().trim().min(1).max(180),
6494
- prompt: external_exports.string().trim().min(1).max(2e4),
6495
- recurrence: SavedWorkRecurrenceSchema
6496
- })
6497
- ]);
6498
-
6499
6423
  // ../../packages/contracts/dist/runtime.js
6500
6424
  var RuntimeEventNameSchema = external_exports.enum([
6501
6425
  "session.started",
@@ -8131,6 +8055,167 @@ var LocalAgentScheduleRunResponseSchema = external_exports.object({
8131
8055
  run: LocalAgentScheduleRunSchema
8132
8056
  });
8133
8057
 
8058
+ // ../../packages/contracts/dist/saved-work.js
8059
+ var SavedWorkWeekdaySchema = external_exports.enum([
8060
+ "sunday",
8061
+ "monday",
8062
+ "tuesday",
8063
+ "wednesday",
8064
+ "thursday",
8065
+ "friday",
8066
+ "saturday"
8067
+ ]);
8068
+ var SavedWorkRecurrenceSchema = external_exports.object({
8069
+ version: external_exports.literal(1),
8070
+ kind: external_exports.enum(["once", "daily", "weekdays", "weekly", "monthly"]),
8071
+ timeZone: external_exports.string().trim().min(1).max(100),
8072
+ startDate: external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/),
8073
+ localTime: external_exports.string().regex(/^([01]\d|2[0-3]):([0-5]\d)$/),
8074
+ weekdays: external_exports.array(SavedWorkWeekdaySchema).min(1).max(7).optional(),
8075
+ dayOfMonth: external_exports.number().int().min(1).max(31).optional(),
8076
+ end: external_exports.discriminatedUnion("kind", [
8077
+ external_exports.object({ kind: external_exports.literal("never") }),
8078
+ external_exports.object({
8079
+ kind: external_exports.literal("on_date"),
8080
+ date: external_exports.string().regex(/^\d{4}-\d{2}-\d{2}$/)
8081
+ }),
8082
+ external_exports.object({
8083
+ kind: external_exports.literal("after_occurrences"),
8084
+ occurrences: external_exports.number().int().min(1).max(1e5)
8085
+ })
8086
+ ])
8087
+ }).superRefine((value, context) => {
8088
+ if (value.kind === "weekly" && !value.weekdays?.length) {
8089
+ context.addIssue({
8090
+ code: "custom",
8091
+ message: "Weekly recurrence requires at least one weekday.",
8092
+ path: ["weekdays"]
8093
+ });
8094
+ }
8095
+ if (value.kind === "monthly" && value.dayOfMonth === void 0) {
8096
+ context.addIssue({
8097
+ code: "custom",
8098
+ message: "Monthly recurrence requires a day of month.",
8099
+ path: ["dayOfMonth"]
8100
+ });
8101
+ }
8102
+ });
8103
+ var HostedSavedWorkScheduleSchema = external_exports.object({
8104
+ id: external_exports.string(),
8105
+ expression: external_exports.string().nullable(),
8106
+ timeZone: external_exports.string(),
8107
+ recurrence: SavedWorkRecurrenceSchema.nullable(),
8108
+ configurationVersion: external_exports.number().int(),
8109
+ enabled: external_exports.boolean(),
8110
+ nextRunAt: external_exports.string().nullable(),
8111
+ lastTriggeredAt: external_exports.string().nullable(),
8112
+ delivery: external_exports.record(external_exports.string(), external_exports.unknown()).default({})
8113
+ });
8114
+ var HostedSavedWorkDefinitionSchema = external_exports.object({
8115
+ id: external_exports.string(),
8116
+ definitionKey: external_exports.string(),
8117
+ version: external_exports.number().int(),
8118
+ name: external_exports.string(),
8119
+ prompt: external_exports.string(),
8120
+ modelId: external_exports.string(),
8121
+ schedules: external_exports.array(HostedSavedWorkScheduleSchema)
8122
+ });
8123
+ var HostedSavedWorkRunSchema = external_exports.object({
8124
+ id: external_exports.string(),
8125
+ definitionId: external_exports.string(),
8126
+ scheduleId: external_exports.string().nullable(),
8127
+ definitionName: external_exports.string(),
8128
+ definitionVersion: external_exports.number().int(),
8129
+ conversationId: external_exports.string(),
8130
+ triggerKind: external_exports.enum(["manual", "schedule", "webhook", "retry"]),
8131
+ status: external_exports.string(),
8132
+ notificationStatus: external_exports.string(),
8133
+ deliveryStatus: external_exports.string(),
8134
+ deliveryError: external_exports.string().nullable(),
8135
+ createdAt: external_exports.string()
8136
+ });
8137
+ var HostedSavedWorkResponseSchema = external_exports.object({
8138
+ definitions: external_exports.array(HostedSavedWorkDefinitionSchema),
8139
+ runs: external_exports.array(HostedSavedWorkRunSchema),
8140
+ asOf: external_exports.string(),
8141
+ webBaseUrl: external_exports.string().url().optional()
8142
+ });
8143
+ var CreateHostedSavedWorkRequestSchema = external_exports.object({
8144
+ clientRequestId: external_exports.string().trim().min(1).max(191),
8145
+ sourceTurnId: external_exports.string().trim().min(1).max(191).nullable().optional(),
8146
+ targetSessionId: external_exports.string().trim().min(1).max(191).nullable().optional(),
8147
+ name: external_exports.string().trim().min(1).max(180),
8148
+ prompt: external_exports.string().trim().min(1).max(2e4),
8149
+ recurrence: SavedWorkRecurrenceSchema,
8150
+ modelId: external_exports.string().trim().min(1).max(191).default("openpond-chat")
8151
+ });
8152
+ var UpdateHostedSavedWorkRequestSchema = external_exports.union([
8153
+ external_exports.object({ enabled: external_exports.boolean() }),
8154
+ external_exports.object({
8155
+ name: external_exports.string().trim().min(1).max(180),
8156
+ prompt: external_exports.string().trim().min(1).max(2e4),
8157
+ recurrence: SavedWorkRecurrenceSchema
8158
+ })
8159
+ ]);
8160
+ var ChatWorkflowRunStatusSchema = external_exports.enum([
8161
+ "queued",
8162
+ "running",
8163
+ "succeeded",
8164
+ "failed"
8165
+ ]);
8166
+ var ChatWorkflowSchema = external_exports.object({
8167
+ id: external_exports.string(),
8168
+ sessionId: external_exports.string(),
8169
+ sessionTitle: external_exports.string(),
8170
+ sourceTurnId: external_exports.string().nullable(),
8171
+ name: external_exports.string(),
8172
+ prompt: external_exports.string(),
8173
+ recurrence: SavedWorkRecurrenceSchema,
8174
+ enabled: external_exports.boolean(),
8175
+ nextRunAt: external_exports.string().nullable(),
8176
+ lastRunAt: external_exports.string().nullable(),
8177
+ lastRunStatus: ChatWorkflowRunStatusSchema.nullable(),
8178
+ lastRunId: external_exports.string().nullable(),
8179
+ lastError: external_exports.string().nullable(),
8180
+ scheduledRunCount: external_exports.number().int().nonnegative(),
8181
+ createdAt: external_exports.string(),
8182
+ updatedAt: external_exports.string()
8183
+ });
8184
+ var ChatWorkflowRunSchema = external_exports.object({
8185
+ id: external_exports.string(),
8186
+ workflowId: external_exports.string(),
8187
+ sessionId: external_exports.string(),
8188
+ scheduledFor: external_exports.string(),
8189
+ trigger: external_exports.enum(["schedule", "manual"]),
8190
+ status: ChatWorkflowRunStatusSchema,
8191
+ turnId: external_exports.string().nullable(),
8192
+ error: external_exports.string().nullable(),
8193
+ createdAt: external_exports.string(),
8194
+ startedAt: external_exports.string().nullable(),
8195
+ completedAt: external_exports.string().nullable(),
8196
+ updatedAt: external_exports.string()
8197
+ });
8198
+ var CreateChatWorkflowRequestSchema = external_exports.object({
8199
+ sessionId: external_exports.string().trim().min(1).max(191),
8200
+ sourceTurnId: external_exports.string().trim().min(1).max(191).nullable().optional(),
8201
+ name: external_exports.string().trim().min(1).max(180),
8202
+ prompt: external_exports.string().trim().min(1).max(2e4),
8203
+ recurrence: SavedWorkRecurrenceSchema
8204
+ });
8205
+ var UpdateChatWorkflowRequestSchema = external_exports.union([
8206
+ external_exports.object({ enabled: external_exports.boolean() }),
8207
+ external_exports.object({
8208
+ name: external_exports.string().trim().min(1).max(180),
8209
+ prompt: external_exports.string().trim().min(1).max(2e4),
8210
+ recurrence: SavedWorkRecurrenceSchema
8211
+ })
8212
+ ]);
8213
+ var ChatWorkflowsResponseSchema = external_exports.object({
8214
+ workflows: external_exports.array(ChatWorkflowSchema),
8215
+ runs: external_exports.array(ChatWorkflowRunSchema),
8216
+ asOf: external_exports.string()
8217
+ });
8218
+
8134
8219
  // ../../packages/contracts/dist/team-chat.js
8135
8220
  var MetadataSchema2 = external_exports.record(external_exports.string(), external_exports.unknown());
8136
8221
  var TeamChatMemberSchema = external_exports.object({
@@ -8957,7 +9042,9 @@ var TASKSET_WORK_TOOL_NAMES = [
8957
9042
  "work_environment",
8958
9043
  "work_list_files",
8959
9044
  "work_read_file",
9045
+ "work_read_document",
8960
9046
  "work_write_file",
9047
+ "work_write_docx",
8961
9048
  "work_edit_file",
8962
9049
  "work_delete_file",
8963
9050
  "work_exec",
@@ -9354,6 +9441,32 @@ var GraderSpecSchema = external_exports.union([
9354
9441
  HumanGraderSpecSchema,
9355
9442
  CustomVerifierGraderSpecSchema
9356
9443
  ]);
9444
+ var TasksetGraderSourceSchema = external_exports.object({
9445
+ graderId: IdSchema4.nullable(),
9446
+ path: external_exports.string().trim().min(1).max(1e3),
9447
+ language: external_exports.enum(["javascript", "typescript", "python", "json", "text"]),
9448
+ content: external_exports.string().max(2e6),
9449
+ sha256: HashSchema3,
9450
+ declaredSha256: HashSchema3.nullable(),
9451
+ integrity: external_exports.enum(["verified", "unverified", "mismatch"])
9452
+ });
9453
+ var TasksetGraderRuntimeSchema = external_exports.object({
9454
+ protocolVersion: external_exports.string().trim().min(1).max(200),
9455
+ module: external_exports.string().trim().min(1).max(1e3),
9456
+ moduleSha256: HashSchema3,
9457
+ command: external_exports.array(external_exports.string().max(2e3)).max(100),
9458
+ cwd: external_exports.string().trim().min(1).max(4e3),
9459
+ maxTurns: external_exports.number().int().positive().max(100)
9460
+ });
9461
+ var TasksetGraderDetailsResponseSchema = external_exports.object({
9462
+ schemaVersion: external_exports.literal("openpond.tasksetGraderDetails.v1"),
9463
+ taskset: VersionedReleaseRefSchema,
9464
+ sourceTasksetId: IdSchema4,
9465
+ graders: external_exports.array(GraderSpecSchema).max(1e3),
9466
+ runtime: TasksetGraderRuntimeSchema.nullable(),
9467
+ sources: external_exports.array(TasksetGraderSourceSchema).max(1e3),
9468
+ unavailableReason: external_exports.string().max(2e3).nullable()
9469
+ });
9357
9470
  var GraderFixtureLabelSchema = external_exports.enum([
9358
9471
  "positive",
9359
9472
  "negative",
@@ -9497,6 +9610,11 @@ var TrainingMethodReadinessSchema = external_exports.object({
9497
9610
  reasonCodes: external_exports.array(TrainingMethodReadinessReasonCodeSchema).default([]),
9498
9611
  reasons: external_exports.array(external_exports.string().trim().min(1).max(5e3)).default([])
9499
9612
  });
9613
+ var TasksetReadinessFindingSchema = external_exports.object({
9614
+ code: IdSchema4,
9615
+ message: external_exports.string().trim().min(1).max(5e3),
9616
+ path: external_exports.string().trim().max(2e3).nullable()
9617
+ });
9500
9618
  var TasksetReadinessReportSchema = external_exports.object({
9501
9619
  schemaVersion: external_exports.literal("openpond.tasksetReadiness.v1"),
9502
9620
  tasksetId: IdSchema4,
@@ -9506,7 +9624,8 @@ var TasksetReadinessReportSchema = external_exports.object({
9506
9624
  trainingPath: TrainingPathRecommendationSchema.nullable().default(null),
9507
9625
  methodReadiness: external_exports.array(TrainingMethodReadinessSchema).default([]),
9508
9626
  compatibleDestinationClasses: external_exports.array(external_exports.enum(["export", "custom", "hosted_managed"])),
9509
- 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([]),
9627
+ blockers: external_exports.array(TasksetReadinessFindingSchema).default([]),
9628
+ advisories: external_exports.array(TasksetReadinessFindingSchema).default([]),
9510
9629
  warnings: external_exports.array(external_exports.string().trim().min(1).max(5e3)).default([]),
9511
9630
  generatedAt: TimestampSchema4
9512
9631
  });
@@ -10068,6 +10187,287 @@ var CorrelatedTelemetryReceiptSchema = external_exports.object({
10068
10187
  contentHash: ReleaseHashSchema
10069
10188
  }).strict();
10070
10189
 
10190
+ // ../../packages/contracts/dist/model-comparisons.js
10191
+ var ModelComparisonSeriesStatusSchema = external_exports.enum(["draft", "active", "completed", "archived"]);
10192
+ var ModelComparisonEntryStatusSchema = external_exports.enum([
10193
+ "draft",
10194
+ "ready",
10195
+ "queued",
10196
+ "running",
10197
+ "candidate",
10198
+ "accepted",
10199
+ "rejected",
10200
+ "no_signal",
10201
+ "failed",
10202
+ "cancelled"
10203
+ ]);
10204
+ var ModelComparisonEntryRoleSchema = external_exports.enum([
10205
+ "seed",
10206
+ "daily_residual",
10207
+ "rank_candidate",
10208
+ "weekly_rollup",
10209
+ "full_refresh"
10210
+ ]);
10211
+ var ModelComparisonParentRuleSchema = external_exports.enum([
10212
+ "base_model",
10213
+ "previous_release",
10214
+ "seed_release",
10215
+ "accepted_daily_head",
10216
+ "accepted_seed"
10217
+ ]);
10218
+ var ModelComparisonTaskSourceSchema = external_exports.enum([
10219
+ "seed_taskset",
10220
+ "nightly_selection",
10221
+ "daily_cohort_union",
10222
+ "eligible_task_pool"
10223
+ ]);
10224
+ var ModelComparisonEvidenceSourceSchema = external_exports.enum([
10225
+ "live_client",
10226
+ "evaluation_attempt",
10227
+ "replay_evidence",
10228
+ "manual"
10229
+ ]);
10230
+ var ModelComparisonScheduleEntrySchema = external_exports.object({
10231
+ id: ReleaseIdSchema,
10232
+ ordinal: external_exports.number().int().nonnegative(),
10233
+ label: external_exports.string().trim().min(1).max(100),
10234
+ role: ModelComparisonEntryRoleSchema,
10235
+ parentRule: ModelComparisonParentRuleSchema,
10236
+ taskSource: ModelComparisonTaskSourceSchema,
10237
+ trainableRank: external_exports.number().int().positive().max(1024),
10238
+ minimumTasks: external_exports.number().int().nonnegative().max(1e5),
10239
+ maximumTasks: external_exports.number().int().positive().max(1e5)
10240
+ }).strict().superRefine((entry, context) => {
10241
+ if (entry.minimumTasks > entry.maximumTasks) {
10242
+ context.addIssue({ code: "custom", path: ["minimumTasks"], message: "The minimum task count cannot exceed the maximum task count." });
10243
+ }
10244
+ const expected = {
10245
+ seed: { parentRules: ["base_model"], taskSource: "seed_taskset" },
10246
+ daily_residual: { parentRules: ["previous_release", "accepted_daily_head"], taskSource: "nightly_selection" },
10247
+ rank_candidate: { parentRules: ["seed_release"], taskSource: "eligible_task_pool" },
10248
+ weekly_rollup: { parentRules: ["seed_release", "accepted_seed"], taskSource: "daily_cohort_union" },
10249
+ full_refresh: { parentRules: ["base_model"], taskSource: "eligible_task_pool" }
10250
+ };
10251
+ const { parentRules, taskSource } = expected[entry.role];
10252
+ if (!parentRules.includes(entry.parentRule)) {
10253
+ context.addIssue({ code: "custom", path: ["parentRule"], message: `${entry.role} requires parent rule ${parentRules.join(" or ")}.` });
10254
+ }
10255
+ if (entry.taskSource !== taskSource) {
10256
+ context.addIssue({ code: "custom", path: ["taskSource"], message: `${entry.role} requires task source ${taskSource}.` });
10257
+ }
10258
+ if (entry.ordinal === 0 && entry.role !== "seed") {
10259
+ context.addIssue({ code: "custom", path: ["role"], message: "The first series entry must be the seed." });
10260
+ }
10261
+ });
10262
+ var ModelComparisonAdvancementPolicySchema = external_exports.object({
10263
+ id: ReleaseIdSchema,
10264
+ version: external_exports.number().int().positive(),
10265
+ requireCheckpoint: external_exports.boolean(),
10266
+ requireAppliedOptimizerUpdate: external_exports.boolean(),
10267
+ minimumCurrentCohortMeanImprovement: external_exports.number().finite(),
10268
+ maximumRetainedMeanRegression: external_exports.number().finite().nonnegative(),
10269
+ blockCriticalInvariantRegression: external_exports.boolean(),
10270
+ automaticDailyAdvancement: external_exports.boolean()
10271
+ }).strict();
10272
+ var ModelComparisonSeriesSchema = external_exports.object({
10273
+ schemaVersion: external_exports.literal("openpond.modelComparisonSeries.v1"),
10274
+ id: ReleaseIdSchema,
10275
+ profileId: ReleaseIdSchema,
10276
+ modelProjectId: ReleaseIdSchema,
10277
+ name: external_exports.string().trim().min(1).max(500),
10278
+ objective: external_exports.string().trim().min(1).max(2e4),
10279
+ status: ModelComparisonSeriesStatusSchema,
10280
+ revision: external_exports.number().int().positive(),
10281
+ productionBinding: external_exports.object({ role: external_exports.literal("chat_manual"), roleTargetId: ReleaseIdSchema }).strict(),
10282
+ baseModel: external_exports.object({ id: ReleaseIdSchema, revision: external_exports.string().trim().min(1).max(256) }).strict(),
10283
+ seedTaskset: VersionedReleaseRefSchema,
10284
+ eligibleTaskPool: VersionedReleaseRefSchema,
10285
+ evaluationTasksets: external_exports.object({
10286
+ development: VersionedReleaseRefSchema,
10287
+ retained: VersionedReleaseRefSchema,
10288
+ frozenFinal: VersionedReleaseRefSchema
10289
+ }).strict(),
10290
+ grader: ImmutableReleaseRefSchema2,
10291
+ benchmarkProtocol: ContinualBenchmarkProtocolReleaseSchema.nullable().default(null),
10292
+ automaticEvaluation: external_exports.object({ enabled: external_exports.boolean() }).strict().default({ enabled: false }),
10293
+ residualProfile: external_exports.object({
10294
+ profileId: ReleaseIdSchema,
10295
+ serializedEnvelopeRank: external_exports.number().int().positive().max(1024),
10296
+ maximumEnabledRank: external_exports.number().int().positive().max(1024),
10297
+ topology: external_exports.literal("uniform_block_masked")
10298
+ }).strict(),
10299
+ schedule: external_exports.array(ModelComparisonScheduleEntrySchema).min(1).max(1e3),
10300
+ scheduleSealedAt: ReleaseTimestampSchema.nullable(),
10301
+ advancementPolicy: ModelComparisonAdvancementPolicySchema,
10302
+ executionPolicy: external_exports.object({ startWhenReady: external_exports.literal(false) }).strict(),
10303
+ acceptedSeedEntryId: ReleaseIdSchema.nullable(),
10304
+ acceptedDailyHeadEntryId: ReleaseIdSchema.nullable(),
10305
+ promotedBindingId: ReleaseIdSchema.nullable(),
10306
+ createdBy: ReleaseIdSchema,
10307
+ createdAt: ReleaseTimestampSchema,
10308
+ updatedAt: ReleaseTimestampSchema
10309
+ }).strict().superRefine((series, context) => {
10310
+ const ordered = [...series.schedule].sort((left, right) => left.ordinal - right.ordinal);
10311
+ if (ordered.some((entry, index) => entry.ordinal !== index)) {
10312
+ context.addIssue({ code: "custom", path: ["schedule"], message: "Schedule ordinals must be unique and contiguous from zero." });
10313
+ }
10314
+ 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) {
10315
+ context.addIssue({ code: "custom", path: ["schedule"], message: "Schedule ids and labels must be unique." });
10316
+ }
10317
+ if (series.residualProfile.maximumEnabledRank > series.residualProfile.serializedEnvelopeRank) {
10318
+ context.addIssue({ code: "custom", path: ["residualProfile"], message: "Maximum enabled rank cannot exceed the serialized envelope." });
10319
+ }
10320
+ const evaluationCohorts = Object.values(series.evaluationTasksets);
10321
+ if (new Set(evaluationCohorts.map((reference) => `${reference.id}:${reference.revision}:${reference.contentHash}`)).size !== evaluationCohorts.length) {
10322
+ context.addIssue({ code: "custom", path: ["evaluationTasksets"], message: "Development, retained, and frozen-final cohorts require distinct immutable Taskset releases." });
10323
+ }
10324
+ const seed = series.schedule.find((entry) => entry.role === "seed");
10325
+ if (!seed || series.schedule.filter((entry) => entry.role === "seed").length !== 1) {
10326
+ context.addIssue({ code: "custom", path: ["schedule"], message: "A series requires exactly one seed entry." });
10327
+ return;
10328
+ }
10329
+ const rankCandidates = series.schedule.filter((entry) => entry.role === "rank_candidate");
10330
+ if (rankCandidates.length === 1) {
10331
+ context.addIssue({ code: "custom", path: ["schedule"], message: "A causal rank comparison requires at least two rank candidates." });
10332
+ }
10333
+ if (new Set(rankCandidates.map((entry) => entry.trainableRank)).size !== rankCandidates.length) {
10334
+ context.addIssue({ code: "custom", path: ["schedule"], message: "Causal rank candidates must use distinct trainable ranks." });
10335
+ }
10336
+ const dailyRank = seed.trainableRank + series.schedule.filter((entry) => entry.role === "daily_residual").reduce((sum, entry) => sum + entry.trainableRank, 0);
10337
+ const branchRanks = [
10338
+ dailyRank,
10339
+ ...series.schedule.filter((entry) => entry.role === "weekly_rollup").map((entry) => seed.trainableRank + entry.trainableRank),
10340
+ ...series.schedule.filter((entry) => entry.role === "rank_candidate").map((entry) => seed.trainableRank + entry.trainableRank),
10341
+ ...series.schedule.filter((entry) => entry.role === "full_refresh").map((entry) => entry.trainableRank)
10342
+ ];
10343
+ if (branchRanks.some((rank) => rank > series.residualProfile.maximumEnabledRank)) {
10344
+ context.addIssue({ code: "custom", path: ["schedule"], message: "A declared branch exceeds the maximum enabled rank." });
10345
+ }
10346
+ });
10347
+ var ModelComparisonTaskSelectionInputSchema = external_exports.object({
10348
+ source: ModelComparisonEvidenceSourceSchema,
10349
+ taskIds: external_exports.array(ReleaseIdSchema).min(1).max(1e5),
10350
+ observedFrom: ReleaseTimestampSchema,
10351
+ observedTo: ReleaseTimestampSchema,
10352
+ reviewedAt: ReleaseTimestampSchema,
10353
+ reviewedBy: ReleaseIdSchema,
10354
+ sourceTaskset: VersionedReleaseRefSchema
10355
+ }).strict();
10356
+ var ModelComparisonTaskSelectionSchema = ModelComparisonTaskSelectionInputSchema.extend({
10357
+ derivedFamilyKeys: external_exports.array(ReleaseIdSchema).min(1).max(1e5),
10358
+ familyDerivation: external_exports.object({ algorithm: ReleaseIdSchema, sourceTasksetHash: ReleaseHashSchema }).strict(),
10359
+ selectionHash: ReleaseHashSchema
10360
+ }).strict();
10361
+ var ModelComparisonParentSchema = external_exports.discriminatedUnion("kind", [
10362
+ external_exports.object({ kind: external_exports.literal("base_model"), id: ReleaseIdSchema, revision: external_exports.string().trim().min(1).max(256) }).strict(),
10363
+ external_exports.object({ kind: external_exports.literal("model_version"), id: ReleaseIdSchema, contentHash: ReleaseHashSchema }).strict()
10364
+ ]);
10365
+ var ModelComparisonResidualBlockSchema = external_exports.object({
10366
+ id: ReleaseIdSchema,
10367
+ branchOrdinal: external_exports.number().int().nonnegative(),
10368
+ rank: external_exports.number().int().positive().max(1024),
10369
+ offsetStart: external_exports.number().int().nonnegative(),
10370
+ offsetEnd: external_exports.number().int().positive(),
10371
+ optimizationRole: external_exports.enum(["frozen", "trainable"]),
10372
+ artifactLineageId: ReleaseIdSchema.nullable()
10373
+ }).strict().superRefine((block, context) => {
10374
+ if (block.offsetEnd - block.offsetStart !== block.rank) {
10375
+ context.addIssue({ code: "custom", path: ["offsetEnd"], message: "Block offsets must span exactly the declared rank." });
10376
+ }
10377
+ });
10378
+ var ModelComparisonDecisionSchema = external_exports.object({
10379
+ disposition: external_exports.enum(["advance", "hold", "no_signal"]),
10380
+ policy: external_exports.object({ id: ReleaseIdSchema, version: external_exports.number().int().positive() }).strict(),
10381
+ reasonCodes: external_exports.array(ReleaseIdSchema).min(1).max(100),
10382
+ summary: external_exports.string().trim().min(1).max(5e3),
10383
+ decidedBy: ReleaseIdSchema,
10384
+ decidedAt: ReleaseTimestampSchema
10385
+ }).strict();
10386
+ var ModelComparisonEvaluationLinkSchema = external_exports.object({
10387
+ evaluationRunId: ReleaseIdSchema,
10388
+ modelVersionId: ReleaseIdSchema,
10389
+ taskset: VersionedReleaseRefSchema,
10390
+ grader: ImmutableReleaseRefSchema2,
10391
+ cohortRole: external_exports.enum(["current", "correction", "sibling_verification", "cumulative_known", "development", "retained", "prior_disclosed", "frozen_final"]),
10392
+ panelId: ReleaseIdSchema.nullable().default(null),
10393
+ protocol: external_exports.object({ id: ReleaseIdSchema, revision: external_exports.number().int().positive(), contentHash: ReleaseHashSchema }).strict().nullable().default(null)
10394
+ }).strict();
10395
+ var ModelComparisonRunAttemptSchema = external_exports.object({
10396
+ attemptOrdinal: external_exports.number().int().positive(),
10397
+ trainingPlanId: ReleaseIdSchema.nullable(),
10398
+ modelRunId: ReleaseIdSchema.nullable(),
10399
+ terminalStatus: external_exports.enum(["failed", "cancelled"]),
10400
+ queuedAt: ReleaseTimestampSchema.nullable(),
10401
+ startedAt: ReleaseTimestampSchema.nullable(),
10402
+ completedAt: ReleaseTimestampSchema
10403
+ }).strict();
10404
+ var ModelComparisonEntryRefSchema = external_exports.object({
10405
+ seriesId: ReleaseIdSchema,
10406
+ entryId: ReleaseIdSchema,
10407
+ scheduleEntryId: ReleaseIdSchema,
10408
+ ordinal: external_exports.number().int().nonnegative(),
10409
+ releaseHash: ReleaseHashSchema
10410
+ }).strict();
10411
+ var ModelComparisonSeriesEntrySchema = external_exports.object({
10412
+ schemaVersion: external_exports.literal("openpond.modelComparisonSeriesEntry.v1"),
10413
+ id: ReleaseIdSchema,
10414
+ seriesId: ReleaseIdSchema,
10415
+ profileId: ReleaseIdSchema,
10416
+ modelProjectId: ReleaseIdSchema,
10417
+ scheduleEntryId: ReleaseIdSchema,
10418
+ releaseHash: ReleaseHashSchema,
10419
+ ordinal: external_exports.number().int().nonnegative(),
10420
+ label: external_exports.string().trim().min(1).max(100),
10421
+ role: ModelComparisonEntryRoleSchema,
10422
+ branch: external_exports.enum(["daily", "rank_candidate", "weekly_rollup", "full_refresh"]),
10423
+ status: ModelComparisonEntryStatusSchema,
10424
+ parent: ModelComparisonParentSchema,
10425
+ taskset: VersionedReleaseRefSchema,
10426
+ sourceTasksets: external_exports.array(VersionedReleaseRefSchema).min(1).max(1e3),
10427
+ taskSelection: ModelComparisonTaskSelectionSchema.nullable(),
10428
+ trainableRank: external_exports.number().int().positive().max(1024),
10429
+ serializedEnvelopeRank: external_exports.number().int().positive().max(1024),
10430
+ enabledCumulativeRank: external_exports.number().int().positive().max(1024),
10431
+ trainableBlockId: ReleaseIdSchema,
10432
+ residualBlocks: external_exports.array(ModelComparisonResidualBlockSchema).min(1).max(1024),
10433
+ attemptOrdinal: external_exports.number().int().positive().default(1),
10434
+ priorRunAttempts: external_exports.array(ModelComparisonRunAttemptSchema).max(100).default([]),
10435
+ trainingPlanId: ReleaseIdSchema.nullable(),
10436
+ modelRunId: ReleaseIdSchema.nullable(),
10437
+ modelVersionId: ReleaseIdSchema.nullable(),
10438
+ evaluations: external_exports.array(ModelComparisonEvaluationLinkSchema).max(1e5),
10439
+ decision: ModelComparisonDecisionSchema.nullable(),
10440
+ promotionBindingId: ReleaseIdSchema.nullable(),
10441
+ queuedAt: ReleaseTimestampSchema.nullable(),
10442
+ startedAt: ReleaseTimestampSchema.nullable(),
10443
+ completedAt: ReleaseTimestampSchema.nullable(),
10444
+ createdAt: ReleaseTimestampSchema,
10445
+ updatedAt: ReleaseTimestampSchema
10446
+ }).strict().superRefine((entry, context) => {
10447
+ const ordered = [...entry.residualBlocks].sort((left, right) => left.offsetStart - right.offsetStart);
10448
+ if (ordered.some((block, index) => block.offsetStart !== (index === 0 ? 0 : ordered[index - 1].offsetEnd))) {
10449
+ context.addIssue({ code: "custom", path: ["residualBlocks"], message: "Residual block offsets must be contiguous from zero." });
10450
+ }
10451
+ const enabled = ordered.at(-1)?.offsetEnd ?? 0;
10452
+ if (enabled !== entry.enabledCumulativeRank || enabled > entry.serializedEnvelopeRank) {
10453
+ context.addIssue({ code: "custom", path: ["enabledCumulativeRank"], message: "Enabled rank must match the block inventory and fit the envelope." });
10454
+ }
10455
+ const trainable = entry.residualBlocks.filter((block) => block.optimizationRole === "trainable");
10456
+ if (trainable.length !== 1 || trainable[0]?.id !== entry.trainableBlockId || trainable[0]?.rank !== entry.trainableRank) {
10457
+ context.addIssue({ code: "custom", path: ["trainableBlockId"], message: "Exactly one block must be trainable during the Run and match trainableRank." });
10458
+ }
10459
+ const attemptOrdinals = entry.priorRunAttempts.map((attempt) => attempt.attemptOrdinal);
10460
+ if (entry.priorRunAttempts.length !== entry.attemptOrdinal - 1 || attemptOrdinals.some((ordinal, index) => ordinal !== index + 1)) {
10461
+ context.addIssue({ code: "custom", path: ["priorRunAttempts"], message: "Prior Run attempts must be a contiguous history before the active attempt." });
10462
+ }
10463
+ });
10464
+ var ModelComparisonQueueReleaseRequestSchema = external_exports.object({
10465
+ seriesId: ReleaseIdSchema,
10466
+ scheduleEntryId: ReleaseIdSchema,
10467
+ taskSelection: ModelComparisonTaskSelectionInputSchema.nullable(),
10468
+ expectedSeriesRevision: external_exports.number().int().positive()
10469
+ }).strict();
10470
+
10071
10471
  // ../../packages/contracts/dist/model-lifecycle.js
10072
10472
  var ModelVersionKindSchema = external_exports.enum([
10073
10473
  "base_reference",
@@ -10107,6 +10507,7 @@ var ModelVersionSchema = external_exports.object({
10107
10507
  status: external_exports.enum(["available", "failed"]),
10108
10508
  baseModel: BaseModelPreferenceSchema,
10109
10509
  taskset: VersionedReleaseRefSchema,
10510
+ comparisonSeriesEntry: ModelComparisonEntryRefSchema.nullable().optional(),
10110
10511
  releaseGraph: external_exports.object({
10111
10512
  resolvedBundleHash: ReleaseHashSchema,
10112
10513
  profileRelease: VersionedReleaseRefSchema,
@@ -10251,10 +10652,10 @@ var RewardModelRunSchema = external_exports.preprocess((value) => {
10251
10652
  completedAt: ReleaseTimestampSchema.nullable(),
10252
10653
  updatedAt: ReleaseTimestampSchema
10253
10654
  }).strict()).superRefine((run, context) => {
10254
- if (run.status === "succeeded" && (!run.receipt || !run.qualificationReport)) {
10655
+ if (run.status === "succeeded" && !run.receipt) {
10255
10656
  context.addIssue({
10256
10657
  code: "custom",
10257
- message: "A successful Reward Model Run requires a canonical receipt and qualification report."
10658
+ message: "A successful Reward Model Run requires a canonical receipt."
10258
10659
  });
10259
10660
  }
10260
10661
  if (run.status !== "succeeded" && run.rewardModelVersionId !== null) {
@@ -10452,8 +10853,121 @@ var ModelEvaluationStopReceiptSchema = external_exports.object({
10452
10853
  attempts: external_exports.array(ModelEvaluationAttemptSchema).max(1e4),
10453
10854
  contentHash: ReleaseHashSchema
10454
10855
  }).strict();
10455
- var ModelEvaluationConfigurationSchema = external_exports.object({
10456
- benchmarkId: ReleaseIdSchema,
10856
+ var ConfidenceIntervalSchema = external_exports.object({
10857
+ level: external_exports.literal(0.95),
10858
+ lower: external_exports.number().finite(),
10859
+ upper: external_exports.number().finite()
10860
+ }).strict().superRefine((interval, context) => {
10861
+ if (interval.lower > interval.upper) {
10862
+ context.addIssue({ code: "custom", message: "A confidence interval's lower bound cannot exceed its upper bound." });
10863
+ }
10864
+ });
10865
+ var ModelComparisonBenchmarkReceiptSchema = external_exports.object({
10866
+ schemaVersion: external_exports.literal("openpond.modelComparisonBenchmarkReceipt.v1"),
10867
+ benchmarkId: external_exports.literal("model-comparison"),
10868
+ target: external_exports.object({
10869
+ kind: external_exports.enum(["base_model", "model_version", "external_reference"]),
10870
+ label: external_exports.string().trim().min(1).max(300),
10871
+ modelVersionId: ReleaseIdSchema.nullable(),
10872
+ model: ChatModelRefSchema.nullable()
10873
+ }).strict(),
10874
+ taskset: VersionedReleaseRefSchema,
10875
+ grader: ImmutableReleaseRefSchema2,
10876
+ sampling: external_exports.object({
10877
+ seeds: external_exports.array(external_exports.number().int()).min(1).max(100),
10878
+ repetitions: external_exports.number().int().positive().max(20)
10879
+ }).strict(),
10880
+ deterministic: external_exports.object({
10881
+ attemptedTaskCount: external_exports.number().int().nonnegative(),
10882
+ completedTaskCount: external_exports.number().int().nonnegative(),
10883
+ passedTaskCount: external_exports.number().int().nonnegative(),
10884
+ failedTaskCount: external_exports.number().int().nonnegative(),
10885
+ meanScore: external_exports.number().finite().nullable(),
10886
+ passRate: external_exports.number().min(0).max(1).nullable(),
10887
+ passRateCi95: ConfidenceIntervalSchema.nullable()
10888
+ }).strict(),
10889
+ judge: external_exports.object({
10890
+ judgeModel: ChatModelRefSchema,
10891
+ judgeRelease: ImmutableReleaseRefSchema2,
10892
+ rubricRelease: ImmutableReleaseRefSchema2,
10893
+ calibrationRelease: ImmutableReleaseRefSchema2,
10894
+ score: external_exports.number().min(0).max(100),
10895
+ scoreCi95: ConfidenceIntervalSchema,
10896
+ comparisonCount: external_exports.number().int().positive(),
10897
+ wins: external_exports.number().int().nonnegative(),
10898
+ ties: external_exports.number().int().nonnegative(),
10899
+ losses: external_exports.number().int().nonnegative(),
10900
+ referenceLabel: external_exports.string().trim().min(1).max(300)
10901
+ }).strict().superRefine((judge, context) => {
10902
+ if (judge.wins + judge.ties + judge.losses !== judge.comparisonCount) {
10903
+ context.addIssue({ code: "custom", message: "Judge win, tie, and loss counts must equal comparisonCount." });
10904
+ }
10905
+ }).nullable(),
10906
+ attempts: external_exports.array(external_exports.object({
10907
+ attemptId: ReleaseIdSchema.nullable().default(null),
10908
+ taskId: ReleaseIdSchema,
10909
+ seed: external_exports.number().int(),
10910
+ repetition: external_exports.number().int().nonnegative(),
10911
+ status: external_exports.enum(["succeeded", "failed"]),
10912
+ deterministicScore: external_exports.number().finite().nullable(),
10913
+ passed: external_exports.boolean().nullable(),
10914
+ judgeScore: external_exports.number().min(0).max(100).nullable(),
10915
+ judgePreference: external_exports.enum(["win", "tie", "loss"]).nullable(),
10916
+ transcriptHash: ReleaseHashSchema.nullable(),
10917
+ traceHash: ReleaseHashSchema.nullable(),
10918
+ transcriptArtifact: external_exports.object({
10919
+ artifactPath: external_exports.string().trim().min(1).max(2e3),
10920
+ jsonPointer: external_exports.string().trim().min(1).max(1e3)
10921
+ }).strict().nullable().default(null),
10922
+ traceArtifact: external_exports.object({
10923
+ artifactPath: external_exports.string().trim().min(1).max(2e3),
10924
+ jsonPointer: external_exports.string().trim().min(1).max(1e3)
10925
+ }).strict().nullable().default(null),
10926
+ latencyMs: external_exports.number().int().nonnegative().nullable().default(null),
10927
+ failureClass: TaskFailureClassSchema.nullable()
10928
+ }).strict()).max(1e5),
10929
+ usage: external_exports.object({
10930
+ policy: EvaluationUsageCategorySchema.nullable(),
10931
+ judge: EvaluationUsageCategorySchema.nullable(),
10932
+ observedSpendUsd: external_exports.number().nonnegative().nullable(),
10933
+ evaluationGpuSeconds: external_exports.number().nonnegative().nullable().default(null)
10934
+ }).strict(),
10935
+ managedServing: external_exports.object({
10936
+ jobId: ReleaseIdSchema,
10937
+ terminalState: external_exports.enum(["completed", "cancelled", "failed", "budget_exhausted"]),
10938
+ sourcePolicyVersion: external_exports.number().int().nonnegative(),
10939
+ sourceAdapterSha256: ReleaseHashSchema.nullable(),
10940
+ servedPolicyVersion: external_exports.number().int().nonnegative().nullable(),
10941
+ servedAdapterSha256: ReleaseHashSchema.nullable(),
10942
+ accruedSpendUsd: external_exports.number().nonnegative(),
10943
+ cleanupAttestationHash: ReleaseHashSchema,
10944
+ resourceCount: external_exports.number().int().nonnegative(),
10945
+ activeResourceCount: external_exports.literal(0)
10946
+ }).strict().nullable().default(null),
10947
+ evidenceSnapshot: external_exports.object({
10948
+ id: ReleaseIdSchema,
10949
+ contentHash: ReleaseHashSchema,
10950
+ artifactPath: external_exports.string().trim().min(1).max(2e3)
10951
+ }).strict(),
10952
+ completedAt: ReleaseTimestampSchema,
10953
+ contentHash: ReleaseHashSchema
10954
+ }).strict().superRefine((receipt, context) => {
10955
+ const deterministic = receipt.deterministic;
10956
+ if (deterministic.completedTaskCount > deterministic.attemptedTaskCount) {
10957
+ context.addIssue({ code: "custom", message: "Completed task count cannot exceed attempted task count." });
10958
+ }
10959
+ if (deterministic.passedTaskCount + deterministic.failedTaskCount !== deterministic.completedTaskCount) {
10960
+ context.addIssue({ code: "custom", message: "Passed and failed task counts must equal completed task count." });
10961
+ }
10962
+ if (deterministic.completedTaskCount === 0 !== (deterministic.meanScore === null)) {
10963
+ context.addIssue({ code: "custom", message: "Deterministic mean score is available exactly when tasks completed." });
10964
+ }
10965
+ if (deterministic.completedTaskCount === 0 !== (deterministic.passRate === null)) {
10966
+ context.addIssue({ code: "custom", message: "Deterministic pass rate is available exactly when tasks completed." });
10967
+ }
10968
+ });
10969
+ var HarnessRefinerEvaluationConfigurationSchema = external_exports.object({
10970
+ benchmarkId: external_exports.literal("harness-refiner"),
10457
10971
  model: ChatModelRefSchema,
10458
10972
  upstreamModel: external_exports.object({
10459
10973
  providerId: ReleaseIdSchema,
@@ -10479,11 +10993,55 @@ var ModelEvaluationConfigurationSchema = external_exports.object({
10479
10993
  attemptCount: external_exports.number().int().positive()
10480
10994
  }).strict()).length(4)
10481
10995
  }).strict();
10996
+ var ModelComparisonEvaluationConfigurationSchema = external_exports.object({
10997
+ benchmarkId: external_exports.literal("model-comparison"),
10998
+ target: external_exports.object({
10999
+ kind: external_exports.enum(["base_model", "model_version", "external_reference"]),
11000
+ label: external_exports.string().trim().min(1).max(300),
11001
+ modelVersionId: ReleaseIdSchema.nullable(),
11002
+ model: ChatModelRefSchema.nullable()
11003
+ }).strict(),
11004
+ grader: ImmutableReleaseRefSchema2,
11005
+ judge: external_exports.object({
11006
+ model: ChatModelRefSchema,
11007
+ release: ImmutableReleaseRefSchema2,
11008
+ rubricRelease: ImmutableReleaseRefSchema2,
11009
+ calibrationRelease: ImmutableReleaseRefSchema2,
11010
+ referenceLabel: external_exports.string().trim().min(1).max(300)
11011
+ }).strict().nullable(),
11012
+ seeds: external_exports.array(external_exports.number().int()).min(1).max(100),
11013
+ repetitions: external_exports.number().int().positive().max(20),
11014
+ maximumSpendUsd: external_exports.number().nonnegative(),
11015
+ series: external_exports.object({
11016
+ id: ReleaseIdSchema,
11017
+ protocol: external_exports.object({ id: ReleaseIdSchema, revision: external_exports.number().int().positive(), contentHash: ReleaseHashSchema }).strict()
11018
+ }).strict().nullable().default(null),
11019
+ panel: external_exports.object({
11020
+ id: ReleaseIdSchema,
11021
+ role: external_exports.enum(["correction", "sibling_verification", "cumulative_known", "development", "retained", "frozen_final"]),
11022
+ passLabel: ReleaseIdSchema.nullable()
11023
+ }).strict().nullable().default(null),
11024
+ comparisonPair: external_exports.object({
11025
+ entryId: ReleaseIdSchema,
11026
+ parent: ModelComparisonParentSchema,
11027
+ candidateModelVersionId: ReleaseIdSchema
11028
+ }).strict().nullable().default(null),
11029
+ attemptPlan: external_exports.array(external_exports.object({
11030
+ stage: external_exports.literal("comparison"),
11031
+ split: external_exports.string().trim().min(1).max(100),
11032
+ taskIds: external_exports.array(ReleaseIdSchema).min(1).max(1e5),
11033
+ attemptCount: external_exports.number().int().positive()
11034
+ }).strict()).length(1)
11035
+ }).strict();
11036
+ var ModelEvaluationConfigurationSchema = external_exports.union([
11037
+ HarnessRefinerEvaluationConfigurationSchema,
11038
+ ModelComparisonEvaluationConfigurationSchema
11039
+ ]);
10482
11040
  var ModelRunSchema = external_exports.object({
10483
11041
  schemaVersion: external_exports.literal("openpond.modelRun.v1"),
10484
11042
  id: ReleaseIdSchema,
10485
11043
  modelId: ReleaseIdSchema,
10486
- modelVersionId: ReleaseIdSchema,
11044
+ modelVersionId: ReleaseIdSchema.nullable(),
10487
11045
  profileId: ReleaseIdSchema,
10488
11046
  kind: external_exports.enum(["rollout_smoke", "training", "evaluation"]),
10489
11047
  status: external_exports.enum([
@@ -10505,6 +11063,7 @@ var ModelRunSchema = external_exports.object({
10505
11063
  ]).nullable(),
10506
11064
  destinationId: ReleaseIdSchema.nullable(),
10507
11065
  taskset: VersionedReleaseRefSchema,
11066
+ comparisonSeriesEntry: ModelComparisonEntryRefSchema.nullable().optional(),
10508
11067
  harnessRelease: ImmutableReleaseRefSchema2.nullable().optional(),
10509
11068
  quote: external_exports.object({
10510
11069
  maximumSpendUsd: external_exports.number().nonnegative(),
@@ -10532,7 +11091,8 @@ var ModelRunSchema = external_exports.object({
10532
11091
  receipt: external_exports.union([
10533
11092
  ModelRunReceiptSchema,
10534
11093
  ModelEvaluationReceiptSchema,
10535
- ModelEvaluationStopReceiptSchema
11094
+ ModelEvaluationStopReceiptSchema,
11095
+ ModelComparisonBenchmarkReceiptSchema
10536
11096
  ]).nullable(),
10537
11097
  adapterArtifactLineageId: ReleaseIdSchema.nullable(),
10538
11098
  failure: external_exports.string().trim().min(1).max(5e3).nullable(),
@@ -10552,7 +11112,7 @@ var ModelRunSchema = external_exports.object({
10552
11112
  message: "An evaluation Model Run requires evaluation configuration and cannot claim training method, destination, or adapter lineage."
10553
11113
  });
10554
11114
  }
10555
- if (run.kind === "evaluation" && run.receipt && run.receipt.schemaVersion !== "openpond.modelEvaluationReceipt.v1" && run.receipt.schemaVersion !== "openpond.modelEvaluationStopReceipt.v1") {
11115
+ if (run.kind === "evaluation" && run.receipt && run.receipt.schemaVersion !== "openpond.modelEvaluationReceipt.v1" && run.receipt.schemaVersion !== "openpond.modelEvaluationStopReceipt.v1" && run.receipt.schemaVersion !== "openpond.modelComparisonBenchmarkReceipt.v1") {
10556
11116
  context.addIssue({
10557
11117
  code: "custom",
10558
11118
  message: "An evaluation Model Run requires an evaluation receipt."
@@ -10637,10 +11197,350 @@ function summarizeModelEvaluationTaskEfficiency(input) {
10637
11197
  return { summary, pairs };
10638
11198
  }
10639
11199
 
11200
+ // ../../packages/contracts/dist/model-currency.js
11201
+ var ModelCurrencyEvidenceStateSchema = external_exports.enum(["measuring", "up_to_date", "needs_attention"]);
11202
+ var ModelCurrencyTaskClassificationSchema = external_exports.enum(["fixed", "retained", "regressed", "unresolved", "unavailable"]);
11203
+ var ModelCurrencyAttemptEvidenceRefSchema = external_exports.object({
11204
+ evaluationRunId: ReleaseIdSchema,
11205
+ attemptKey: ReleaseIdSchema,
11206
+ artifactPath: external_exports.string().trim().min(1).max(2e3),
11207
+ jsonPointer: external_exports.string().trim().min(1).max(1e3),
11208
+ transcriptHash: ReleaseHashSchema.nullable(),
11209
+ traceHash: ReleaseHashSchema.nullable()
11210
+ }).strict();
11211
+ var Interval = external_exports.object({ level: external_exports.literal(0.95), lower: external_exports.number().finite(), upper: external_exports.number().finite() }).strict();
11212
+ var ModelCurrencyPanelMetricSchema = external_exports.object({
11213
+ panelId: ReleaseIdSchema,
11214
+ panelRole: ContinualBenchPanelRoleSchema,
11215
+ passLabel: ReleaseIdSchema.nullable(),
11216
+ taskset: VersionedReleaseRefSchema,
11217
+ attempted: external_exports.number().int().nonnegative(),
11218
+ available: external_exports.number().int().nonnegative(),
11219
+ passed: external_exports.number().int().nonnegative(),
11220
+ strictSuccess: external_exports.number().min(0).max(1).nullable(),
11221
+ strictSuccessCi95: Interval.nullable(),
11222
+ judgeScore: external_exports.number().min(0).max(100).nullable(),
11223
+ judgeScoreCi95: Interval.nullable()
11224
+ }).strict();
11225
+ var ModelCurrencySnapshotSchema = external_exports.object({
11226
+ schemaVersion: external_exports.literal("openpond.modelCurrencySnapshot.v1"),
11227
+ id: ReleaseIdSchema,
11228
+ contentHash: ReleaseHashSchema,
11229
+ seriesId: ReleaseIdSchema,
11230
+ protocol: external_exports.object({ id: ReleaseIdSchema, revision: external_exports.number().int().positive(), contentHash: ReleaseHashSchema }).strict(),
11231
+ entryId: ReleaseIdSchema,
11232
+ passLabel: ReleaseIdSchema,
11233
+ parent: external_exports.discriminatedUnion("kind", [
11234
+ external_exports.object({ kind: external_exports.literal("base_model"), id: ReleaseIdSchema, revision: external_exports.string().trim().min(1).max(500) }).strict(),
11235
+ external_exports.object({ kind: external_exports.literal("model_version"), id: ReleaseIdSchema, contentHash: ReleaseHashSchema }).strict()
11236
+ ]),
11237
+ candidate: external_exports.object({ kind: external_exports.literal("model_version"), id: ReleaseIdSchema, contentHash: ReleaseHashSchema }).strict(),
11238
+ sources: external_exports.object({
11239
+ evaluationRunIds: external_exports.array(ReleaseIdSchema).max(1e5),
11240
+ attemptIds: external_exports.array(ReleaseIdSchema).max(1e6),
11241
+ tasksets: external_exports.array(VersionedReleaseRefSchema).max(1e4),
11242
+ grader: ImmutableReleaseRefSchema2,
11243
+ judge: ImmutableReleaseRefSchema2.nullable(),
11244
+ calibration: ImmutableReleaseRefSchema2.nullable()
11245
+ }).strict(),
11246
+ matches: external_exports.array(external_exports.object({
11247
+ key: ReleaseIdSchema,
11248
+ panelId: ReleaseIdSchema,
11249
+ panelRole: ContinualBenchPanelRoleSchema,
11250
+ taskId: ReleaseIdSchema,
11251
+ issueFamilyId: ReleaseIdSchema,
11252
+ seed: external_exports.number().int(),
11253
+ repetition: external_exports.number().int().nonnegative(),
11254
+ classification: ModelCurrencyTaskClassificationSchema,
11255
+ parentPassed: external_exports.boolean().nullable(),
11256
+ candidatePassed: external_exports.boolean().nullable(),
11257
+ parentAttempt: ModelCurrencyAttemptEvidenceRefSchema.nullable(),
11258
+ candidateAttempt: ModelCurrencyAttemptEvidenceRefSchema.nullable()
11259
+ }).strict()).max(1e6),
11260
+ taskIds: external_exports.object({
11261
+ fixed: external_exports.array(ReleaseIdSchema).max(1e6),
11262
+ retained: external_exports.array(ReleaseIdSchema).max(1e6),
11263
+ regressed: external_exports.array(ReleaseIdSchema).max(1e6),
11264
+ unresolved: external_exports.array(ReleaseIdSchema).max(1e6),
11265
+ unavailable: external_exports.array(ReleaseIdSchema).max(1e6)
11266
+ }).strict(),
11267
+ panels: external_exports.array(ModelCurrencyPanelMetricSchema).max(1e4),
11268
+ metrics: external_exports.object({
11269
+ knownIssueCoverage: external_exports.number().min(0).max(1).nullable(),
11270
+ issueFamilyGeneralization: external_exports.number().min(0).max(1).nullable(),
11271
+ behavioralRetention: external_exports.number().min(0).max(1).nullable(),
11272
+ currentAcquisitionDelta: external_exports.number().finite().nullable(),
11273
+ retainedDeltaPoints: external_exports.number().finite().nullable(),
11274
+ frontierStrictDelta: external_exports.number().finite().nullable(),
11275
+ pairedPValue: external_exports.number().min(0).max(1).nullable(),
11276
+ wins: external_exports.number().int().nonnegative(),
11277
+ ties: external_exports.number().int().nonnegative(),
11278
+ losses: external_exports.number().int().nonnegative()
11279
+ }).strict(),
11280
+ statistics: external_exports.object({
11281
+ matchedAttemptCount: external_exports.number().int().nonnegative(),
11282
+ strictDelta: external_exports.number().finite().nullable(),
11283
+ strictDeltaCi95: Interval.nullable(),
11284
+ exactPairedBinaryPValue: external_exports.number().min(0).max(1).nullable(),
11285
+ pairedBootstrapSamples: external_exports.number().int().positive()
11286
+ }).strict(),
11287
+ criteria: external_exports.object({
11288
+ allRequiredAttemptsTerminal: external_exports.boolean(),
11289
+ criticalCorrectionPassRate: external_exports.number().min(0).max(1).nullable(),
11290
+ siblingPassRate: external_exports.number().min(0).max(1).nullable(),
11291
+ behavioralRetentionRate: external_exports.number().min(0).max(1).nullable(),
11292
+ retainedRegressionPoints: external_exports.number().finite().nullable(),
11293
+ criticalPriorRegressionCount: external_exports.number().int().nonnegative(),
11294
+ thresholdRelease: ImmutableReleaseRefSchema2
11295
+ }).strict(),
11296
+ efficiency: external_exports.object({
11297
+ inputTokens: external_exports.number().int().nonnegative(),
11298
+ outputTokens: external_exports.number().int().nonnegative(),
11299
+ totalTokens: external_exports.number().int().nonnegative(),
11300
+ costUsd: external_exports.number().nonnegative().nullable(),
11301
+ latencyMs: external_exports.number().int().nonnegative(),
11302
+ tokensPerSuccess: external_exports.number().nonnegative().nullable(),
11303
+ throughputPerHour: external_exports.number().nonnegative().nullable(),
11304
+ gpuSeconds: external_exports.number().nonnegative().nullable()
11305
+ }).strict(),
11306
+ invariants: external_exports.object({
11307
+ systemPromptHash: ReleaseHashSchema,
11308
+ toolSchema: ImmutableReleaseRefSchema2,
11309
+ application: ImmutableReleaseRefSchema2,
11310
+ harness: ImmutableReleaseRefSchema2,
11311
+ runtime: ImmutableReleaseRefSchema2,
11312
+ grader: ImmutableReleaseRefSchema2,
11313
+ autoRefinerEnabled: external_exports.boolean()
11314
+ }).strict(),
11315
+ evidenceState: ModelCurrencyEvidenceStateSchema,
11316
+ evidenceReasons: external_exports.array(ReleaseIdSchema).max(100),
11317
+ projectedAt: ReleaseTimestampSchema
11318
+ }).strict();
11319
+
11320
+ // ../../packages/contracts/dist/continual-support-review.js
11321
+ var ContinualLearningResponseTargetSchema = external_exports.discriminatedUnion("kind", [
11322
+ external_exports.object({
11323
+ kind: external_exports.literal("base_model"),
11324
+ id: ReleaseIdSchema,
11325
+ revision: external_exports.string().trim().min(1).max(500),
11326
+ label: external_exports.string().trim().min(1).max(300)
11327
+ }).strict(),
11328
+ external_exports.object({
11329
+ kind: external_exports.literal("model_version"),
11330
+ id: ReleaseIdSchema,
11331
+ label: external_exports.string().trim().min(1).max(300)
11332
+ }).strict(),
11333
+ external_exports.object({
11334
+ kind: external_exports.literal("captured_model"),
11335
+ id: ReleaseIdSchema,
11336
+ label: external_exports.string().trim().min(1).max(300)
11337
+ }).strict()
11338
+ ]);
11339
+ var ContinualLearningCapturedAttemptSchema = external_exports.union([
11340
+ external_exports.object({
11341
+ source: external_exports.literal("evaluation_run").default("evaluation_run"),
11342
+ evaluationRunId: ReleaseIdSchema,
11343
+ attemptId: ReleaseIdSchema,
11344
+ modelLabel: external_exports.string().trim().min(1).max(300).nullable().default(null),
11345
+ modelVersionId: ReleaseIdSchema.nullable().default(null),
11346
+ reward: external_exports.number().finite().nullable(),
11347
+ components: external_exports.record(external_exports.string(), external_exports.number().finite()).default({})
11348
+ }).strict(),
11349
+ external_exports.object({
11350
+ source: external_exports.literal("imported_response"),
11351
+ modelLabel: external_exports.string().trim().min(1).max(300),
11352
+ modelVersionId: ReleaseIdSchema.nullable().default(null),
11353
+ response: external_exports.unknown().refine((value) => value !== void 0, "An imported model response is required."),
11354
+ reward: external_exports.number().finite().nullable().default(null),
11355
+ components: external_exports.record(external_exports.string(), external_exports.number().finite()).default({})
11356
+ }).strict()
11357
+ ]);
11358
+ var ContinualLearningObservedAttemptSchema = external_exports.union([
11359
+ external_exports.object({
11360
+ taskId: ReleaseIdSchema,
11361
+ target: ContinualLearningResponseTargetSchema,
11362
+ attempt: ContinualLearningCapturedAttemptSchema
11363
+ }).strict(),
11364
+ external_exports.object({
11365
+ taskId: ReleaseIdSchema,
11366
+ target: external_exports.enum(["base", "current"]).default("current"),
11367
+ attempt: ContinualLearningCapturedAttemptSchema
11368
+ }).strict(),
11369
+ external_exports.object({
11370
+ taskId: ReleaseIdSchema,
11371
+ target: external_exports.enum(["base", "current"]).default("current"),
11372
+ evaluationRunId: ReleaseIdSchema,
11373
+ attemptId: ReleaseIdSchema,
11374
+ reward: external_exports.number().finite().nullable(),
11375
+ components: external_exports.record(external_exports.string(), external_exports.number().finite()).default({})
11376
+ }).strict().transform(({ taskId, target, ...attempt }) => ({
11377
+ taskId,
11378
+ target,
11379
+ attempt: { source: "evaluation_run", modelLabel: null, modelVersionId: null, ...attempt }
11380
+ }))
11381
+ ]);
11382
+ var ContinualLearningDailyBatchManifestSchema = external_exports.object({
11383
+ schemaVersion: external_exports.literal("openpond.continualLearningDailyBatchManifest.v1"),
11384
+ id: ReleaseIdSchema,
11385
+ seriesId: ReleaseIdSchema,
11386
+ scheduleEntryId: ReleaseIdSchema,
11387
+ dayOrdinal: external_exports.number().int().positive().max(1e4),
11388
+ sourceTaskset: VersionedReleaseRefSchema,
11389
+ taskIds: external_exports.array(ReleaseIdSchema).min(1).max(1e3),
11390
+ observedAttempts: external_exports.array(ContinualLearningObservedAttemptSchema).max(1e3).default([]),
11391
+ sourceFileName: external_exports.string().trim().min(1).max(500).nullable().default(null),
11392
+ availableAt: ReleaseTimestampSchema
11393
+ }).strict().superRefine((batch, context) => {
11394
+ if (new Set(batch.taskIds).size !== batch.taskIds.length) {
11395
+ context.addIssue({ code: "custom", path: ["taskIds"], message: "A daily batch cannot repeat a task." });
11396
+ }
11397
+ if (new Set(batch.observedAttempts.map((attempt) => `${attempt.taskId}:${observedTargetKey(attempt.target)}`)).size !== batch.observedAttempts.length) {
11398
+ context.addIssue({ code: "custom", path: ["observedAttempts"], message: "An intake batch cannot repeat a task and Policy target pair." });
11399
+ }
11400
+ const taskIds = new Set(batch.taskIds);
11401
+ if (batch.observedAttempts.some((attempt) => !taskIds.has(attempt.taskId))) {
11402
+ context.addIssue({ code: "custom", path: ["observedAttempts"], message: "Observed attempts must belong to tasks in the daily batch." });
11403
+ }
11404
+ });
11405
+ var ContinualLearningDailyBatchSchema = external_exports.object({
11406
+ schemaVersion: external_exports.literal("openpond.continualLearningDailyBatch.v1"),
11407
+ id: ReleaseIdSchema,
11408
+ seriesId: ReleaseIdSchema,
11409
+ scheduleEntryId: ReleaseIdSchema,
11410
+ dayOrdinal: external_exports.number().int().positive().max(1e4),
11411
+ label: external_exports.string().trim().min(1).max(100),
11412
+ runMode: external_exports.enum(["automatic", "manual"]).optional(),
11413
+ source: external_exports.enum(["json_upload", "sealed_fixture"]),
11414
+ sourceFileName: external_exports.string().trim().min(1).max(500).nullable(),
11415
+ sourceTaskset: VersionedReleaseRefSchema,
11416
+ tasks: external_exports.array(external_exports.object({
11417
+ taskId: ReleaseIdSchema,
11418
+ taskContentHash: ReleaseHashSchema,
11419
+ familyKey: ReleaseIdSchema,
11420
+ disposition: external_exports.enum(["include", "defer", "exclude"]).nullable(),
11421
+ oracleReview: external_exports.enum(["pending", "confirmed", "needs_correction"]),
11422
+ note: external_exports.string().trim().max(2e3),
11423
+ observedAttempt: ContinualLearningCapturedAttemptSchema.nullable(),
11424
+ baselineAttempt: ContinualLearningCapturedAttemptSchema.nullable().default(null),
11425
+ responses: external_exports.array(external_exports.object({
11426
+ target: ContinualLearningResponseTargetSchema,
11427
+ attempt: ContinualLearningCapturedAttemptSchema
11428
+ }).strict()).max(100).default([]),
11429
+ stagedAt: ReleaseTimestampSchema.nullable().default(null),
11430
+ queuedEntry: ModelComparisonEntryRefSchema.nullable().default(null)
11431
+ }).strict()).min(1).max(1e3),
11432
+ intakeEvaluation: external_exports.object({
11433
+ status: external_exports.enum(["awaiting", "running", "ready", "failed"]),
11434
+ requestedTargets: external_exports.array(external_exports.enum(["base", "current"])).max(2).default(["base", "current"]),
11435
+ requestedPolicies: external_exports.array(ContinualLearningResponseTargetSchema).max(100).default([]),
11436
+ runs: external_exports.array(external_exports.object({
11437
+ target: ContinualLearningResponseTargetSchema,
11438
+ runId: ReleaseIdSchema
11439
+ }).strict()).max(100).default([]),
11440
+ baselineRunId: ReleaseIdSchema.nullable(),
11441
+ currentRunId: ReleaseIdSchema.nullable(),
11442
+ currentPolicy: external_exports.discriminatedUnion("kind", [
11443
+ external_exports.object({ kind: external_exports.literal("base_model"), id: ReleaseIdSchema }).strict(),
11444
+ external_exports.object({ kind: external_exports.literal("model_version"), id: ReleaseIdSchema }).strict()
11445
+ ]).nullable(),
11446
+ failure: external_exports.string().trim().min(1).max(2e3).nullable()
11447
+ }).strict().default({
11448
+ status: "awaiting",
11449
+ requestedTargets: ["base", "current"],
11450
+ requestedPolicies: [],
11451
+ runs: [],
11452
+ baselineRunId: null,
11453
+ currentRunId: null,
11454
+ currentPolicy: null,
11455
+ failure: null
11456
+ }),
11457
+ status: external_exports.enum(["pending", "reviewed", "queued"]),
11458
+ queuedEntry: ModelComparisonEntryRefSchema.nullable(),
11459
+ reviewedBy: ReleaseIdSchema.nullable(),
11460
+ reviewedAt: ReleaseTimestampSchema.nullable(),
11461
+ availableAt: ReleaseTimestampSchema,
11462
+ revision: external_exports.number().int().positive(),
11463
+ createdAt: ReleaseTimestampSchema,
11464
+ updatedAt: ReleaseTimestampSchema
11465
+ }).strict().superRefine((batch, context) => {
11466
+ if (new Set(batch.tasks.map((task) => task.taskId)).size !== batch.tasks.length) {
11467
+ context.addIssue({ code: "custom", path: ["tasks"], message: "A daily batch cannot repeat a task." });
11468
+ }
11469
+ for (const [taskIndex, task] of batch.tasks.entries()) {
11470
+ const keys = task.responses.map((response) => responseTargetKey(response.target));
11471
+ if (new Set(keys).size !== keys.length) {
11472
+ context.addIssue({ code: "custom", path: ["tasks", taskIndex, "responses"], message: "A task cannot repeat a model response target." });
11473
+ }
11474
+ }
11475
+ const complete = batch.tasks.every((task) => task.disposition !== null && task.oracleReview !== "pending" && (task.oracleReview !== "needs_correction" || task.note.length > 0));
11476
+ if (batch.status !== "pending" && !complete) {
11477
+ context.addIssue({ code: "custom", path: ["tasks"], message: "Every task requires a decision and oracle review before the day completes." });
11478
+ }
11479
+ if (batch.status === "queued" !== (batch.queuedEntry !== null)) {
11480
+ context.addIssue({ code: "custom", path: ["queuedEntry"], message: "Only a queued day carries an exact series-entry reference." });
11481
+ }
11482
+ if (batch.status === "pending" && (batch.reviewedAt !== null || batch.reviewedBy !== null)) {
11483
+ context.addIssue({ code: "custom", path: ["reviewedAt"], message: "A pending day cannot carry reviewer completion identity." });
11484
+ }
11485
+ if (batch.status !== "pending" && (batch.reviewedAt === null || batch.reviewedBy === null)) {
11486
+ context.addIssue({ code: "custom", path: ["reviewedAt"], message: "Reviewed identity is required after a day review completes." });
11487
+ }
11488
+ });
11489
+ var ContinualBenchIssueReviewSchema = external_exports.object({
11490
+ schemaVersion: external_exports.literal("openpond.continualBenchIssueReview.v1"),
11491
+ id: ReleaseIdSchema,
11492
+ seriesId: ReleaseIdSchema,
11493
+ scheduleEntryId: ReleaseIdSchema,
11494
+ passLabel: ReleaseIdSchema,
11495
+ packet: ContinualBenchIssuePacketSchema,
11496
+ splitManifest: external_exports.object({ id: ReleaseIdSchema, contentHash: ReleaseHashSchema }).strict(),
11497
+ decisions: external_exports.array(external_exports.object({
11498
+ taskId: ReleaseIdSchema,
11499
+ disposition: external_exports.enum(["include", "defer", "exclude"]).nullable(),
11500
+ note: external_exports.string().trim().max(2e3)
11501
+ }).strict()).min(2).max(1e4),
11502
+ status: external_exports.enum(["pending", "reviewed", "queued"]),
11503
+ queuedEntry: ModelComparisonEntryRefSchema.nullable(),
11504
+ reviewedBy: ReleaseIdSchema.nullable(),
11505
+ reviewedAt: ReleaseTimestampSchema.nullable(),
11506
+ revision: external_exports.number().int().positive(),
11507
+ createdAt: ReleaseTimestampSchema,
11508
+ updatedAt: ReleaseTimestampSchema
11509
+ }).strict().superRefine((review, context) => {
11510
+ const caseIds = [...review.packet.cases.map((item) => item.taskId)].sort();
11511
+ const decisionIds = [...review.decisions.map((item) => item.taskId)].sort();
11512
+ if (JSON.stringify(caseIds) !== JSON.stringify(decisionIds))
11513
+ context.addIssue({ code: "custom", path: ["decisions"], message: "Review decisions must cover the exact issue-packet cases." });
11514
+ const complete = review.decisions.every((item) => item.disposition !== null && item.note.length > 0);
11515
+ if (review.status !== "pending" && !complete)
11516
+ context.addIssue({ code: "custom", path: ["decisions"], message: "Every case requires a disposition and note before review completes." });
11517
+ if (review.status === "queued" !== (review.queuedEntry !== null))
11518
+ context.addIssue({ code: "custom", path: ["queuedEntry"], message: "Only a queued review carries an exact series-entry reference." });
11519
+ }).readonly();
11520
+ function responseTargetKey(target) {
11521
+ return `${target.kind}:${target.id}`;
11522
+ }
11523
+ function observedTargetKey(target) {
11524
+ return typeof target === "string" ? target : responseTargetKey(target);
11525
+ }
11526
+
10640
11527
  // ../../packages/contracts/dist/training-policy-optimization.js
10641
11528
  var IdSchema7 = external_exports.string().trim().min(1).max(240);
10642
11529
  var HashSchema6 = external_exports.string().trim().min(8).max(256);
10643
11530
  var RftLossMethodSchema = external_exports.enum(["grpo", "dapo", "gspo-token"]);
11531
+ var AdamwOptimizerConfigSchema = external_exports.object({
11532
+ name: external_exports.literal("adamw").default("adamw"),
11533
+ weightDecay: external_exports.number().nonnegative().max(1).default(0),
11534
+ beta1: external_exports.number().positive().lt(1).default(0.9),
11535
+ beta2: external_exports.number().positive().lt(1).default(0.999),
11536
+ epsilon: external_exports.number().positive().max(0.01).default(1e-8)
11537
+ }).strict().default({
11538
+ name: "adamw",
11539
+ weightDecay: 0,
11540
+ beta1: 0.9,
11541
+ beta2: 0.999,
11542
+ epsilon: 1e-8
11543
+ });
10644
11544
  var TrainingModelRefSchema = external_exports.object({
10645
11545
  id: IdSchema7,
10646
11546
  revision: external_exports.string().trim().min(1).max(256),
@@ -10660,7 +11560,13 @@ var GrpoOptimizerSchema = external_exports.object({
10660
11560
  method: external_exports.literal("grpo"),
10661
11561
  groupSize: external_exports.number().int().min(2).max(128),
10662
11562
  normalization: external_exports.literal("group_standardized"),
10663
- loss: RftLossMethodSchema
11563
+ advantageEpsilon: external_exports.number().positive().max(0.01).default(1e-8),
11564
+ loss: RftLossMethodSchema,
11565
+ clipRange: external_exports.number().positive().max(1).default(0.2),
11566
+ iterations: external_exports.number().int().min(2).max(16).default(2),
11567
+ microbatchSize: external_exports.number().int().positive().max(128).default(1),
11568
+ gradientAccumulationSteps: external_exports.number().int().positive().max(128).default(1),
11569
+ adamw: AdamwOptimizerConfigSchema
10664
11570
  });
10665
11571
  var PpoOptimizerSchema = external_exports.object({
10666
11572
  method: external_exports.literal("ppo"),
@@ -10679,7 +11585,8 @@ var PolicyOptimizerSchema = external_exports.discriminatedUnion("method", [
10679
11585
  ]);
10680
11586
  var LearnedPreferenceRewardBindingSchema = external_exports.object({
10681
11587
  rewardModelVersion: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict(),
10682
- qualificationReport: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict(),
11588
+ qualificationReport: external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict().nullable().default(null),
11589
+ evaluationReferences: external_exports.array(external_exports.object({ id: IdSchema7, contentHash: HashSchema6 }).strict()).max(1e3).default([]),
10683
11590
  checkpoint: external_exports.object({
10684
11591
  id: IdSchema7,
10685
11592
  contentHash: HashSchema6,
@@ -11413,7 +12320,10 @@ var RewardModelRecipeSchema = external_exports.object({
11413
12320
  processorRelease: ImmutableReleaseRefSchema2,
11414
12321
  input: external_exports.object({
11415
12322
  kind: external_exports.literal("structured_text"),
11416
- serialization: external_exports.literal("scenario_input_and_candidate_json_v1"),
12323
+ serialization: external_exports.enum([
12324
+ "scenario_input_and_candidate_json_v1",
12325
+ "visible_agent_trajectory_v1"
12326
+ ]),
11417
12327
  maxCharacters: external_exports.number().int().positive().max(5e5)
11418
12328
  }).strict().default({
11419
12329
  kind: "structured_text",
@@ -11491,7 +12401,13 @@ var RftRecipeSchema = external_exports.object({
11491
12401
  }),
11492
12402
  optimizer: external_exports.object({
11493
12403
  learningRate: external_exports.number().positive(),
11494
- maxSteps: external_exports.number().int().positive().max(1e5)
12404
+ maxSteps: external_exports.number().int().positive().max(1e5),
12405
+ clipRange: external_exports.number().positive().max(1).default(0.2),
12406
+ iterations: external_exports.number().int().min(2).max(16).default(2),
12407
+ microbatchSize: external_exports.number().int().positive().max(64).default(1),
12408
+ gradientAccumulationSteps: external_exports.number().int().positive().max(64).default(1),
12409
+ advantageEpsilon: external_exports.number().positive().max(0.01).default(1e-8),
12410
+ adamw: AdamwOptimizerConfigSchema
11495
12411
  }),
11496
12412
  loss: external_exports.object({
11497
12413
  method: RftLossMethodSchema.default("grpo"),
@@ -11507,10 +12423,22 @@ var RftRecipeSchema = external_exports.object({
11507
12423
  }),
11508
12424
  resourceLimits: external_exports.object({
11509
12425
  wallTimeMs: external_exports.number().int().positive().max(24 * 60 * 60 * 1e3),
12426
+ maxGpuSeconds: external_exports.number().int().positive().max(10800).optional(),
11510
12427
  maxRollouts: external_exports.number().int().positive().max(1e5),
11511
12428
  maxPayloadBytes: external_exports.number().int().positive().max(10 * 1024 * 1024)
11512
12429
  }),
11513
- policyOptimization: PolicyOptimizationContractSchema.nullable().default(null)
12430
+ policyOptimization: PolicyOptimizationContractSchema.nullable().default(null),
12431
+ continuation: external_exports.object({
12432
+ schemaVersion: external_exports.literal("openpond.crossJobContinuationRequest.v1"),
12433
+ parentArtifact: ImmutableReleaseRefSchema2,
12434
+ sourceArtifact: external_exports.object({
12435
+ jobId: TrainingIdSchema,
12436
+ artifactId: TrainingIdSchema,
12437
+ checkpointId: TrainingIdSchema,
12438
+ contentHash: TrainingHashSchema
12439
+ }).strict(),
12440
+ optimizerMode: external_exports.enum(["continue", "reset"])
12441
+ }).strict().optional()
11514
12442
  });
11515
12443
  var DpoRecipeSchema = external_exports.object({
11516
12444
  schemaVersion: external_exports.literal("openpond.dpoRecipe.v1"),
@@ -11686,6 +12614,7 @@ var TrainingPlanSchema = external_exports.object({
11686
12614
  modelId: TrainingIdSchema,
11687
12615
  tasksetId: TrainingIdSchema,
11688
12616
  tasksetHash: TrainingHashSchema,
12617
+ comparisonSeriesEntry: ModelComparisonEntryRefSchema.nullable().optional(),
11689
12618
  harnessRelease: ImmutableReleaseRefSchema2.nullable().optional(),
11690
12619
  modelImprovementQualification: ImmutableReleaseRefSchema2.nullable().optional(),
11691
12620
  destinationId: TrainingDestinationIdSchema,
@@ -11870,8 +12799,10 @@ var PolicyOptimizationMetricSchema = external_exports.object({
11870
12799
  meanReward: external_exports.number().nullable(),
11871
12800
  meanReturn: external_exports.number().nullable(),
11872
12801
  kl: external_exports.number().nullable(),
12802
+ behaviorPolicyKlPreUpdate: external_exports.number().nonnegative().nullable().default(null),
11873
12803
  entropy: external_exports.number().nullable(),
11874
12804
  policyClipFraction: external_exports.number().min(0).max(1).nullable(),
12805
+ behaviorPolicyClipFractionPreUpdate: external_exports.number().min(0).max(1).nullable().default(null),
11875
12806
  valueClipFraction: external_exports.number().min(0).max(1).nullable(),
11876
12807
  explainedVariance: external_exports.number().nullable(),
11877
12808
  rolloutLearnerLag: external_exports.number().int().nonnegative().nullable(),
@@ -11882,16 +12813,22 @@ var PolicyOptimizationMetricSchema = external_exports.object({
11882
12813
  costUsd: external_exports.number().nonnegative().nullable()
11883
12814
  });
11884
12815
  var ManagedTrainingRunEvidenceSchema = external_exports.object({
11885
- schemaVersion: external_exports.literal("openpond.managedTrainingRunEvidence.v1"),
12816
+ schemaVersion: external_exports.literal("openpond.managedTrainingRunEvidence.v2"),
11886
12817
  provider: TrainingIdSchema,
11887
12818
  providerRunId: TrainingIdSchema,
11888
12819
  state: TrainingIdSchema,
11889
12820
  progress: external_exports.object({
11890
12821
  targetOptimizerSteps: external_exports.number().int().nonnegative(),
11891
- committedOptimizerSteps: external_exports.number().int().nonnegative()
12822
+ committedOptimizerSteps: external_exports.number().int().nonnegative(),
12823
+ skippedOptimizerSteps: external_exports.number().int().nonnegative()
11892
12824
  }),
11893
12825
  reward: external_exports.object({
11894
12826
  finalMean: external_exports.number().nullable(),
12827
+ variance: external_exports.number().nonnegative().nullable(),
12828
+ minimum: external_exports.number().nullable(),
12829
+ maximum: external_exports.number().nullable(),
12830
+ distinctValueCount: external_exports.number().int().nonnegative(),
12831
+ noSignalGroupCount: external_exports.number().int().nonnegative(),
11895
12832
  trajectoryCount: external_exports.number().int().nonnegative(),
11896
12833
  eligibleTrajectoryCount: external_exports.number().int().nonnegative()
11897
12834
  }),
@@ -11904,7 +12841,9 @@ var ManagedTrainingRunEvidenceSchema = external_exports.object({
11904
12841
  provider: TrainingIdSchema,
11905
12842
  gpuType: external_exports.string().trim().min(1).max(300).nullable(),
11906
12843
  gpuCount: external_exports.number().int().nonnegative().nullable(),
11907
- hourlyCostUsd: external_exports.number().nonnegative().nullable()
12844
+ hourlyCostUsd: external_exports.number().nonnegative().nullable(),
12845
+ durationSeconds: external_exports.number().nonnegative().nullable(),
12846
+ gpuSeconds: external_exports.number().nonnegative().nullable()
11908
12847
  }),
11909
12848
  cost: external_exports.object({
11910
12849
  totalUsd: external_exports.number().nonnegative().nullable()
@@ -11915,6 +12854,9 @@ var ManagedTrainingRunEvidenceSchema = external_exports.object({
11915
12854
  sha256: TrainingHashSchema.nullable(),
11916
12855
  sizeBytes: external_exports.number().int().nonnegative().nullable()
11917
12856
  }).nullable(),
12857
+ movement: external_exports.object({
12858
+ adapterDeltaNorm: external_exports.number().nonnegative().nullable()
12859
+ }),
11918
12860
  evaluations: external_exports.array(external_exports.object({
11919
12861
  kind: external_exports.enum(["baseline", "candidate"]),
11920
12862
  policyVersion: external_exports.number().int().nonnegative(),
@@ -12093,6 +13035,11 @@ var TrainingStateResponseSchema = external_exports.object({
12093
13035
  modelProjects: external_exports.array(ModelProjectSchema2).default([]),
12094
13036
  modelVersions: external_exports.array(ModelVersionSchema).default([]),
12095
13037
  modelRuns: external_exports.array(ModelRunSchema).default([]),
13038
+ comparisonSeries: external_exports.array(ModelComparisonSeriesSchema).default([]),
13039
+ comparisonSeriesEntries: external_exports.array(ModelComparisonSeriesEntrySchema).default([]),
13040
+ modelCurrencySnapshots: external_exports.array(ModelCurrencySnapshotSchema).default([]),
13041
+ continualBenchIssueReviews: external_exports.array(ContinualBenchIssueReviewSchema).default([]),
13042
+ continualLearningDailyBatches: external_exports.array(ContinualLearningDailyBatchSchema).default([]),
12096
13043
  rewardModelVersions: external_exports.array(RewardModelVersionSchema).default([]),
12097
13044
  rewardModelRuns: external_exports.array(RewardModelRunSchema).default([]),
12098
13045
  modelTasksets: external_exports.array(TasksetSchema).default([]),
@@ -13062,6 +14009,12 @@ var TrainingExecutionStatusSchema = external_exports.object({
13062
14009
  ]),
13063
14010
  phase: external_exports.string().trim().min(1).max(200),
13064
14011
  progress: external_exports.number().min(0).max(1).nullable(),
14012
+ rolloutProgress: external_exports.object({
14013
+ groupsCompleted: external_exports.number().int().nonnegative(),
14014
+ groupsTarget: external_exports.number().int().nonnegative(),
14015
+ optimizerUpdatesApplied: external_exports.number().int().nonnegative(),
14016
+ optimizerUpdatesSkipped: external_exports.number().int().nonnegative()
14017
+ }).strict().optional(),
13065
14018
  updatedAt: ReleaseTimestampSchema,
13066
14019
  errorCode: ReleaseIdSchema.nullable()
13067
14020
  }).strict();
@@ -13079,7 +14032,8 @@ var TrainingArtifactsSchema = external_exports.object({
13079
14032
  ]),
13080
14033
  objectRef: external_exports.string().trim().min(1).max(2e3),
13081
14034
  sha256: ReleaseHashSchema,
13082
- sizeBytes: external_exports.number().int().nonnegative()
14035
+ sizeBytes: external_exports.number().int().nonnegative(),
14036
+ metadata: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
13083
14037
  }).strict()),
13084
14038
  contentHash: ReleaseHashSchema
13085
14039
  }).strict();
@@ -13340,8 +14294,10 @@ export {
13340
14294
  ModelUsageRecordSchema,
13341
14295
  UsageSummaryQuerySchema,
13342
14296
  UsageRecordsQuerySchema,
14297
+ UsageTurnCacheQuerySchema,
13343
14298
  UsageSummaryResponseSchema,
13344
14299
  UsageRecordsResponseSchema,
14300
+ UsageTurnCacheResponseSchema,
13345
14301
  CHAT_ATTACHMENT_LIMITS,
13346
14302
  ChatAttachmentFilePreviewSchema,
13347
14303
  ChatAttachmentSchema,
@@ -13386,6 +14342,8 @@ export {
13386
14342
  HostedSavedWorkResponseSchema,
13387
14343
  CreateHostedSavedWorkRequestSchema,
13388
14344
  UpdateHostedSavedWorkRequestSchema,
14345
+ CreateChatWorkflowRequestSchema,
14346
+ UpdateChatWorkflowRequestSchema,
13389
14347
  TeamChatMemberSchema,
13390
14348
  TeamChatAttachmentSchema,
13391
14349
  TeamChatAttachmentUploadSchema,
@@ -13431,6 +14389,7 @@ export {
13431
14389
  HuggingFaceDatasetSourceRefSchema,
13432
14390
  ExternalDatasetSourceRefSchema,
13433
14391
  ImmutableReleaseRefSchema2 as ImmutableReleaseRefSchema,
14392
+ VersionedReleaseRefSchema,
13434
14393
  TASKSET_WORK_TOOL_NAMES,
13435
14394
  TrainingSourceRefSchema,
13436
14395
  TrainingSourceEstimateSchema,
@@ -13438,6 +14397,8 @@ export {
13438
14397
  TrainingChatSearchResultSchema,
13439
14398
  TaskDataRecordSchema,
13440
14399
  TaskFailureClassSchema,
14400
+ GraderSpecSchema,
14401
+ TasksetGraderDetailsResponseSchema,
13441
14402
  TaskAttemptResultSchema,
13442
14403
  TaskAttemptArtifactSchema,
13443
14404
  GradeResultSchema,
@@ -13459,13 +14420,28 @@ export {
13459
14420
  DatasetImportJobSchema,
13460
14421
  CreateHuggingFaceDatasetImportRequestSchema,
13461
14422
  ApproveDatasetImportMappingRequestSchema,
14423
+ ModelComparisonEntryStatusSchema,
14424
+ ModelComparisonSeriesSchema,
14425
+ ModelComparisonTaskSelectionSchema,
14426
+ ModelComparisonDecisionSchema,
14427
+ ModelComparisonEvaluationLinkSchema,
14428
+ ModelComparisonEntryRefSchema,
14429
+ ModelComparisonSeriesEntrySchema,
14430
+ ModelComparisonQueueReleaseRequestSchema,
13462
14431
  ModelVersionSchema,
13463
14432
  RewardModelVersionSchema,
13464
14433
  RewardModelRunReceiptSchema,
13465
14434
  RewardModelRunSchema,
13466
14435
  ModelEvaluationReceiptSchema,
14436
+ ModelComparisonBenchmarkReceiptSchema,
13467
14437
  ModelRunSchema,
13468
14438
  summarizeModelEvaluationTaskEfficiency,
14439
+ ModelCurrencySnapshotSchema,
14440
+ ContinualLearningResponseTargetSchema,
14441
+ ContinualLearningDailyBatchManifestSchema,
14442
+ ContinualLearningDailyBatchSchema,
14443
+ ContinualBenchIssueReviewSchema,
14444
+ AdamwOptimizerConfigSchema,
13469
14445
  LearnedPreferenceRewardBindingSchema,
13470
14446
  LocalModelChatConfigurationSchema,
13471
14447
  managedAdapterProjectionReady,