openpond 0.2.61 → 0.2.63

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 (549) hide show
  1. package/README.md +2 -0
  2. package/dist/app-server.d.ts +4713 -477
  3. package/dist/app-server.js +1 -1
  4. package/dist/chunks/{acp-FUAWCKBH.js → acp-H3MJCPHX.js} +1 -1
  5. package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-DWA7272M.js} +1 -1
  6. package/dist/chunks/actions-command-IIYOO4LL.js +2 -0
  7. package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-K7H2WJ56.js} +1 -1
  8. package/dist/chunks/app-server-connected-apps-RM5E2VWF.js +2 -0
  9. package/dist/chunks/{app-server-evaluations-HAAYVEXB.js → app-server-evaluations-XGMGS67X.js} +1 -1
  10. package/dist/chunks/app-server-harness-services-BHD6S5II.js +2 -0
  11. package/dist/chunks/app-server-runtime-LFIL6F7D.js +2 -0
  12. package/dist/chunks/apps-QKAHJGQ4.js +2 -0
  13. package/dist/chunks/chunk-25XXZS3E.js +2 -0
  14. package/dist/chunks/chunk-27JGS3KB.js +12 -0
  15. package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
  16. package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-2HAWOMZK.js} +1 -1
  17. package/dist/chunks/chunk-2LJCJOJ7.js +2 -0
  18. package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
  19. package/dist/chunks/{chunk-CN5OXQ7A.js → chunk-3YXYBYWK.js} +1 -1
  20. package/dist/chunks/{chunk-LHENAWLH.js → chunk-42V4NV2F.js} +1 -1
  21. package/dist/chunks/{chunk-DW3GJRY3.js → chunk-4FNCBA3Y.js} +1 -1
  22. package/dist/chunks/{chunk-TXBIZDXG.js → chunk-4L6DU6Z2.js} +1 -1
  23. package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
  24. package/dist/chunks/{chunk-MLTKB5G3.js → chunk-4SZ3HKHU.js} +1 -1
  25. package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
  26. package/dist/chunks/chunk-5EP2DZLJ.js +2 -0
  27. package/dist/chunks/chunk-5FU5RLML.js +2 -0
  28. package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-5MHYGMJG.js} +1 -1
  29. package/dist/chunks/chunk-6EBCS57F.js +2 -0
  30. package/dist/chunks/chunk-6RS4NAOY.js +2 -0
  31. package/dist/chunks/chunk-6XSSM4WT.js +3 -0
  32. package/dist/chunks/{chunk-NVHZRKXB.js → chunk-7HRLWPPZ.js} +1 -1
  33. package/dist/chunks/chunk-7O6Z3VOZ.js +2 -0
  34. package/dist/chunks/{chunk-BQUWZRWU.js → chunk-7WYL2IDD.js} +1 -1
  35. package/dist/chunks/chunk-7YLXGILH.js +2 -0
  36. package/dist/chunks/chunk-7ZLXFKRI.js +2 -0
  37. package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
  38. package/dist/chunks/{chunk-TTN63EAM.js → chunk-AH26AQN7.js} +1 -1
  39. package/dist/chunks/chunk-AHOBCBVZ.js +2 -0
  40. package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
  41. package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
  42. package/dist/chunks/chunk-B5R53U74.js +2 -0
  43. package/dist/chunks/chunk-BKEDG3A4.js +22 -0
  44. package/dist/chunks/{chunk-CO3OJFPU.js → chunk-BPZOABMC.js} +1 -1
  45. package/dist/chunks/{chunk-5VPU7OS7.js → chunk-BSPFY3Y5.js} +1 -1
  46. package/dist/chunks/{chunk-U4HZD2GM.js → chunk-BU27SLZP.js} +2 -2
  47. package/dist/chunks/chunk-C2AXMKK4.js +2 -0
  48. package/dist/chunks/{chunk-SIV5P6JO.js → chunk-C2LAEGOW.js} +2 -2
  49. package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-CZ5R4JXZ.js} +1 -1
  50. package/dist/chunks/{chunk-D4JZALZ4.js → chunk-DABBHWSF.js} +1 -1
  51. package/dist/chunks/{chunk-ROE24PN5.js → chunk-DLANLLKH.js} +1 -1
  52. package/dist/chunks/{chunk-57RY3LSR.js → chunk-DQI5TE6A.js} +2 -2
  53. package/dist/chunks/chunk-DTTFUANI.js +12 -0
  54. package/dist/chunks/{chunk-VBW2X42G.js → chunk-DUL6DXOI.js} +1 -1
  55. package/dist/chunks/{chunk-OQUKSRU3.js → chunk-ELX7VRSU.js} +1 -1
  56. package/dist/chunks/chunk-ERL2M773.js +3 -0
  57. package/dist/chunks/chunk-ERT32RZA.js +86 -0
  58. package/dist/chunks/{chunk-RPOD6I64.js → chunk-EZRUWIP6.js} +1 -1
  59. package/dist/chunks/{chunk-MCIIGQT7.js → chunk-F6UQ6PPK.js} +1 -1
  60. package/dist/chunks/chunk-F7QTIHXX.js +2 -0
  61. package/dist/chunks/chunk-FAKDGLZQ.js +8 -0
  62. package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FVRII5XO.js} +1 -1
  63. package/dist/chunks/{chunk-GEXKTGLY.js → chunk-FYYYECHE.js} +50 -48
  64. package/dist/chunks/chunk-G32BO6M5.js +4 -0
  65. package/dist/chunks/{chunk-TSAW2QVU.js → chunk-G6OR5NB6.js} +1 -1
  66. package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GGJUWIGR.js} +1 -1
  67. package/dist/chunks/{chunk-Q66LWQGF.js → chunk-GPL2Z65R.js} +1 -1
  68. package/dist/chunks/{chunk-LNRFRAV5.js → chunk-GS6ZUSIN.js} +2 -2
  69. package/dist/chunks/{chunk-OFVUN4KI.js → chunk-GVARQXYI.js} +1 -1
  70. package/dist/chunks/chunk-GXCUH2VV.js +17 -0
  71. package/dist/chunks/{chunk-IUGK6BBY.js → chunk-GXZCMO6S.js} +1 -1
  72. package/dist/chunks/{chunk-CLFYRN46.js → chunk-H6C4MAUN.js} +1 -1
  73. package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
  74. package/dist/chunks/{chunk-I3W27VK4.js → chunk-HUCBKXTU.js} +1 -1
  75. package/dist/chunks/{chunk-P4XM7LUT.js → chunk-IHB5GTOJ.js} +2 -2
  76. package/dist/chunks/{chunk-U447MS3Y.js → chunk-IWWXIUAQ.js} +1 -1
  77. package/dist/chunks/chunk-J572ANHX.js +13 -0
  78. package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-J7ZTPXRQ.js} +1 -1
  79. package/dist/chunks/chunk-JCLTFDVW.js +2 -0
  80. package/dist/chunks/{chunk-25RDE7DV.js → chunk-JEISPWWM.js} +1 -1
  81. package/dist/chunks/{chunk-ELYRVTTG.js → chunk-JORRZ4BB.js} +1 -1
  82. package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
  83. package/dist/chunks/chunk-JSQRLLN6.js +2 -0
  84. package/dist/chunks/chunk-KCOTDUGW.js +2 -0
  85. package/dist/chunks/{chunk-NK4JKB7C.js → chunk-KHTAAVC2.js} +1 -1
  86. package/dist/chunks/{chunk-CM5USMXN.js → chunk-KOKX7PBS.js} +1 -1
  87. package/dist/chunks/{chunk-3ZWLRBYZ.js → chunk-KUPJNBWG.js} +1 -1
  88. package/dist/chunks/{chunk-MHYI7ATG.js → chunk-LK2K3SPM.js} +2 -2
  89. package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-LKKMLBOH.js} +1 -1
  90. package/dist/chunks/{chunk-BNZTJPK7.js → chunk-LSZJ5M3X.js} +1 -1
  91. package/dist/chunks/chunk-M3FLEZ4E.js +4 -0
  92. package/dist/chunks/{chunk-4LZLO4OW.js → chunk-M3SCON53.js} +1 -1
  93. package/dist/chunks/{chunk-VPDG2V2R.js → chunk-MEGKXGW3.js} +1 -1
  94. package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
  95. package/dist/chunks/chunk-MPNJ2BB4.js +2 -0
  96. package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-N33D7KCW.js} +1 -1
  97. package/dist/chunks/chunk-N42HT64M.js +2 -0
  98. package/dist/chunks/{chunk-L3GA2CQI.js → chunk-N4VHLJBZ.js} +1 -1
  99. package/dist/chunks/chunk-NEJLJ2XY.js +2 -0
  100. package/dist/chunks/chunk-NG2L6D7G.js +2 -0
  101. package/dist/chunks/{chunk-7EAWLYYB.js → chunk-NLYZ5K7U.js} +2 -2
  102. package/dist/chunks/{chunk-B47JMAVW.js → chunk-NT7N6KLE.js} +1 -1
  103. package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
  104. package/dist/chunks/{chunk-PAZDQRYU.js → chunk-NZTCH6K5.js} +1 -1
  105. package/dist/chunks/{chunk-CQF6QZEL.js → chunk-OG33QAG6.js} +1 -1
  106. package/dist/chunks/chunk-OTUBJV6C.js +6 -0
  107. package/dist/chunks/{chunk-TMMFF6DO.js → chunk-PBTXLQAU.js} +1 -1
  108. package/dist/chunks/chunk-Q34IF4PW.js +2 -0
  109. package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-QJ6KUVAR.js} +1 -1
  110. package/dist/chunks/{chunk-SID4X3YN.js → chunk-QU4UE73E.js} +1 -1
  111. package/dist/chunks/{chunk-I7JCARVH.js → chunk-R6VJDOQM.js} +3 -3
  112. package/dist/chunks/{chunk-6RVF2J47.js → chunk-R6WMY6AH.js} +1 -1
  113. package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-RDSVU6F6.js} +1 -1
  114. package/dist/chunks/{chunk-R4PDSOB4.js → chunk-RFMME46Z.js} +1 -1
  115. package/dist/chunks/{chunk-GQUS7MCH.js → chunk-RZUCVF2Q.js} +1 -1
  116. package/dist/chunks/chunk-SFKZITAG.js +9 -0
  117. package/dist/chunks/{chunk-MF35MALN.js → chunk-SHJY5RLU.js} +1 -1
  118. package/dist/chunks/chunk-SI5W5LBV.js +2 -0
  119. package/dist/chunks/chunk-SO42ZB5K.js +2 -0
  120. package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
  121. package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
  122. package/dist/chunks/{chunk-ZISYLRH6.js → chunk-TCOTXCV6.js} +1 -1
  123. package/dist/chunks/{chunk-QCSLEMZF.js → chunk-U2K7QJCG.js} +1 -1
  124. package/dist/chunks/{chunk-ISIXFK6U.js → chunk-UH4JSSRL.js} +28 -28
  125. package/dist/chunks/chunk-UPWJSNL5.js +2 -0
  126. package/dist/chunks/chunk-URNMC46H.js +157 -0
  127. package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
  128. package/dist/chunks/{chunk-WFVOG5PU.js → chunk-V7KR74NO.js} +1 -1
  129. package/dist/chunks/{chunk-QDBYLJGH.js → chunk-VHXDWAEH.js} +1 -1
  130. package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-W2TICQ62.js} +1 -1
  131. package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
  132. package/dist/chunks/chunk-WP2L2NY2.js +2 -0
  133. package/dist/chunks/chunk-WSOUMXH3.js +24 -0
  134. package/dist/chunks/chunk-WWQNMC7C.js +6 -0
  135. package/dist/chunks/chunk-XMHIQ3SK.js +5 -0
  136. package/dist/chunks/{chunk-5MTN6KXV.js → chunk-XNOMIWEY.js} +1 -1
  137. package/dist/chunks/{chunk-T4LLJC5N.js → chunk-XOB6FKQV.js} +1 -1
  138. package/dist/chunks/chunk-Y766IN7Y.js +2 -0
  139. package/dist/chunks/chunk-YCZZ62C2.js +2 -0
  140. package/dist/chunks/chunk-YM4PSVFW.js +4 -0
  141. package/dist/chunks/chunk-YNQWJWIC.js +10 -0
  142. package/dist/chunks/{chunk-LBBXVOVR.js → chunk-Z3BWCFLV.js} +1 -1
  143. package/dist/chunks/{chunk-WRQEYW3V.js → chunk-ZG6353RM.js} +1 -1
  144. package/dist/chunks/{chunk-PE7UKJXK.js → chunk-ZPTKR3GB.js} +1 -1
  145. package/dist/chunks/{chunk-2VXL6AU3.js → chunk-ZYVHOVKL.js} +1 -1
  146. package/dist/chunks/chunk-ZZHXQCNB.js +22 -0
  147. package/dist/chunks/cli-PSXMIJTF.js +2 -0
  148. package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-XYKMXIWF.js} +1 -1
  149. package/dist/chunks/connected-app-executor-6G2LA3PQ.js +2 -0
  150. package/dist/chunks/connected-evidence-IRXYN6YD.js +2 -0
  151. package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-JONPTII6.js} +1 -1
  152. package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
  153. package/dist/chunks/{continual-CJUZM5ZQ.js → continual-Z7MO2PF6.js} +1 -1
  154. package/dist/chunks/core-commands-WWN7X3XC.js +2 -0
  155. package/dist/chunks/dataset-preparation-authoring-F3OZIQSP.js +4 -0
  156. package/dist/chunks/datasets-2PC2HP7N.js +2 -0
  157. package/dist/chunks/desktop-test-VU6AFAMO.js +3 -0
  158. package/dist/chunks/dist-47AYOIH6.js +2 -0
  159. package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
  160. package/dist/chunks/{dist-DCSLPBO2.js → dist-MXBEBM4D.js} +1 -1
  161. package/dist/chunks/evaluation-coordination-UOWZHHC5.js +2 -0
  162. package/dist/chunks/experiment-improvements-EB2CV5RA.js +2 -0
  163. package/dist/chunks/experiments-SZQYR6MH.js +2 -0
  164. package/dist/chunks/experiments-signal-2KJCP25D.js +2 -0
  165. package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
  166. package/dist/chunks/{help-M2VQGPVC.js → help-7HXFWIKS.js} +1 -1
  167. package/dist/chunks/host-profile-evaluation-tools-Y2LQ4WQN.js +2 -0
  168. package/dist/chunks/host-profile-external-dataset-FRIGXOO7.js +2 -0
  169. package/dist/chunks/hosted-app-server-composition-PGKQNDW6.js +2 -0
  170. package/dist/chunks/hosted-experiment-improvement-UXC542SZ.js +3 -0
  171. package/dist/chunks/hosted-harness-runtime-6PEI7F2U.js +2 -0
  172. package/dist/chunks/hosted-profile-candidate-HM44BIUX.js +3 -0
  173. package/dist/chunks/hosted-profile-compiler-UAZ4PHYE.js +2 -0
  174. package/dist/chunks/hosted-profile-evaluation-control-EUL57FAB.js +2 -0
  175. package/dist/chunks/hosted-profile-evaluation-inspection-7USY75Z4.js +3 -0
  176. package/dist/chunks/{hosted-profile-evaluation-preparation-ZAOGDQXO.js → hosted-profile-evaluation-preparation-2LSMZQNA.js} +1 -1
  177. package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-WGXGXJ7E.js} +1 -1
  178. package/dist/chunks/human-review-M26UKGJL.js +2 -0
  179. package/dist/chunks/{import-WLLUIDS6.js → import-6SI4BEKS.js} +2 -2
  180. package/dist/chunks/learning-HM3NWOV5.js +2 -0
  181. package/dist/chunks/local-harness-improvement-runtime-QGWFWNSR.js +2 -0
  182. package/dist/chunks/local-harness-taskset-review-KS4WPMN6.js +2 -0
  183. package/dist/chunks/model-projects-YUAMBQTO.js +2 -0
  184. package/dist/chunks/opchat-AG4CWVY4.js +3 -0
  185. package/dist/chunks/opchat-bounded-chat-IQMP5IIO.js +2 -0
  186. package/dist/chunks/organizations-KDKX77XZ.js +2 -0
  187. package/dist/chunks/{profile-JRS3JNRC.js → profile-O5HL5DTQ.js} +1 -1
  188. package/dist/chunks/project-action-payload-QA24HYGF.js +2 -0
  189. package/dist/chunks/project-agent-XBOOM5TS.js +2 -0
  190. package/dist/chunks/published-experiment-source-GZGN354O.js +2 -0
  191. package/dist/chunks/refiner-profile-service-BJMOYKTC.js +2 -0
  192. package/dist/chunks/{runtime-CBJF5GMB.js → runtime-XBA744HJ.js} +2 -2
  193. package/dist/chunks/sandbox-command-5ECGS7DG.js +2 -0
  194. package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-27U3FQN7.js} +1 -1
  195. package/dist/chunks/saved-work-KUNVTJ7O.js +2 -0
  196. package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-FIPWOXWV.js} +1 -1
  197. package/dist/chunks/src-BLWX6DRG.js +424 -0
  198. package/dist/chunks/{src-4YZF6L6H.js → src-PU7QTFO5.js} +1 -1
  199. package/dist/chunks/standalone-experiment-turn-owner-XIE46VNH.js +2 -0
  200. package/dist/chunks/store-chat-resources-YOEJ2BI6.js +2 -0
  201. package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-FOMYYS25.js} +1 -1
  202. package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-K324SQTO.js} +1 -1
  203. package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-3LQMIYAP.js} +1 -1
  204. package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-3KSX7RSO.js} +1 -1
  205. package/dist/chunks/store-evaluation-results-LHCCNNE6.js +7 -0
  206. package/dist/chunks/{store-harness-evaluation-review-settings-I2R3HPO3.js → store-harness-evaluation-review-settings-AAN7KKJ5.js} +1 -1
  207. package/dist/chunks/{store-harness-refinement-candidates-SUT45FQX.js → store-harness-refinement-candidates-3PHL3BUY.js} +1 -1
  208. package/dist/chunks/store-harness-workspaces-ZHNCNWVI.js +2 -0
  209. package/dist/chunks/store-human-review-QJY3ZPPF.js +7 -0
  210. package/dist/chunks/store-learned-preference-migration-validation-X32SRBOM.js +2 -0
  211. package/dist/chunks/{store-learning-MFS4DGQR.js → store-learning-DW3QLQXU.js} +1 -1
  212. package/dist/chunks/{store-learning-credentials-BECWEG2Y.js → store-learning-credentials-67QNTPA7.js} +1 -1
  213. package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-QTVHJAEP.js} +1 -1
  214. package/dist/chunks/store-model-batch-review-PBYQZJJJ.js +2 -0
  215. package/dist/chunks/store-model-configuration-3SU73CMS.js +3 -0
  216. package/dist/chunks/store-model-project-preparation-TFCG2F2F.js +2 -0
  217. package/dist/chunks/store-ponder-history-WDLMXBIJ.js +2 -0
  218. package/dist/chunks/store-ponder-hosted-DX6E2BVW.js +4 -0
  219. package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-DWV5XSMY.js} +1 -1
  220. package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-2KUY4T6M.js} +1 -1
  221. package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-A4XCS7RM.js} +1 -1
  222. package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-V2PKRXUZ.js} +1 -1
  223. package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-UGVEFA6M.js} +1 -1
  224. package/dist/chunks/store-task-inbox-QABI4ZAH.js +33 -0
  225. package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-GEQIZELY.js} +1 -1
  226. package/dist/chunks/store-taskset-drafts-GXABQR5G.js +9 -0
  227. package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-CQV7PL3V.js} +1 -1
  228. package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-XKN6K66J.js} +18 -10
  229. package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-Q7DTTR4S.js} +1 -1
  230. package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-XGAX7NLB.js} +1 -1
  231. package/dist/chunks/{taskset-NYLUYX6K.js → taskset-ARKJQKYQ.js} +1 -1
  232. package/dist/chunks/taskset-packages-X4K65DTW.js +2 -0
  233. package/dist/chunks/taskset-packages-XK7FSD45.js +2 -0
  234. package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-UTQAJA6H.js} +1 -1
  235. package/dist/chunks/training-3IWW4256.js +2 -0
  236. package/dist/chunks/{training-UBX6E7SK.js → training-RVIESURJ.js} +1 -1
  237. package/dist/chunks/training-error-2EWDOQ4G.js +2 -0
  238. package/dist/chunks/training-hosted-PFJHYTEU.js +2 -0
  239. package/dist/chunks/training-hosted-checkpoint-evaluation-JJPP7KFW.js +2 -0
  240. package/dist/chunks/training-hosted-feedback-5B2KJGOT.js +2 -0
  241. package/dist/chunks/training-hosted-learning-Y7NHRY4V.js +2 -0
  242. package/dist/chunks/training-hosted-report-UVGTPDOK.js +2 -0
  243. package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
  244. package/dist/chunks/training-hosted-serving-report-OX4A5OKB.js +2 -0
  245. package/dist/chunks/training-hosted-workers-LST4ZUXN.js +2 -0
  246. package/dist/chunks/training-model-start-ROLS3E4V.js +2 -0
  247. package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
  248. package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-7FBUBZ66.js} +1 -1
  249. package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-G3CMY7ZA.js} +1 -1
  250. package/dist/cli.js +2 -2
  251. package/dist/hosted-chat.d.ts +28 -0
  252. package/dist/index.js +1 -1
  253. package/dist/sandbox/url.d.ts +3 -1
  254. package/dist/skills/LICENSE +21 -0
  255. package/dist/skills/manifest.json +168 -0
  256. package/dist/skills/openpond-agent-authoring/SKILL.md +9 -3
  257. package/dist/skills/openpond-agent-authoring/references/profile-layout.md +1 -1
  258. package/dist/skills/openpond-agent-authoring/references/validation-and-repair.md +2 -2
  259. package/dist/skills/openpond-cli/SKILL.md +24 -7
  260. package/dist/skills/openpond-cli/references/compact-resource-tables.md +3 -3
  261. package/dist/skills/openpond-cli/references/diagnose-and-improve.md +4 -2
  262. package/dist/skills/openpond-cli/references/experiments-and-training.md +156 -11
  263. package/dist/skills/openpond-refiner-authoring/SKILL.md +4 -0
  264. package/dist/skills/openpond-skill-authoring/SKILL.md +5 -1
  265. package/dist/skills/openpond-taskset-authoring/SKILL.md +5 -4
  266. package/dist/skills/openpond-taskset-authoring/artifact.json +7 -7
  267. package/dist/skills/openpond-taskset-authoring/references/failure-diagnosis.md +52 -1
  268. package/dist/web/assets/App-DY2R8Z6r.js +53 -0
  269. package/dist/web/assets/App-DpFKLxuA.css +1 -0
  270. package/dist/web/assets/AppDialog-8Y0FYalT.js +1 -0
  271. package/dist/web/assets/AppTerminalPanel-YcnBD5DF.js +2 -0
  272. package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-BiQbbVxq.js} +1 -1
  273. package/dist/web/assets/AppsView-Dtte4h6e.js +1 -0
  274. package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-DgADV7dn.js} +1 -1
  275. package/dist/web/assets/BrowserSidebar-BUqDvEv9.js +1 -0
  276. package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-J4ChOjvG.js} +1 -1
  277. package/dist/web/assets/ChatTimelineEntry-DC93wlDa.js +8 -0
  278. package/dist/web/assets/ChatTimelineEntry-DztFb85D.css +1 -0
  279. package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-CFCpk2Ck.js} +1 -1
  280. package/dist/web/assets/CommandMenu-EPPjB14H.js +1 -0
  281. package/dist/web/assets/CommunityView-Okydjpqm.js +1 -0
  282. package/dist/web/assets/ComposerAttachments-RXCiE88M.js +2 -0
  283. package/dist/web/assets/ComposerCreateImproveStrip-CSngc8-V.js +1 -0
  284. package/dist/web/assets/ConversationImportsSettings-DS73kyfj.js +1 -0
  285. package/dist/web/assets/FilePagePreview-Qc4B0vue.js +2 -0
  286. package/dist/web/assets/GetStartedView-DGFPQ1We.js +1 -0
  287. package/dist/web/assets/GettingStartedDialog-DFBYQdHz.js +1 -0
  288. package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
  289. package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-BDu3FlcU.js} +1 -1
  290. package/dist/web/assets/HostedModelLearningSettings-CHaTHwC8.js +1 -0
  291. package/dist/web/assets/HtmlVisual-C7GlEVfH.css +1 -0
  292. package/dist/web/assets/HtmlVisual-D9Mh7xds.js +81 -0
  293. package/dist/web/assets/LabModelVersionDetailPage-DgY7lAu5.js +1 -0
  294. package/dist/web/assets/LabSkillSidebar-BwtlThO7.js +1 -0
  295. package/dist/web/assets/LabsRoute-BV7ZJGEw.js +101 -0
  296. package/dist/web/assets/MainChatThread-pzHKd_YN.js +2 -0
  297. package/dist/web/assets/MainPane-6OlLiKKb.js +10 -0
  298. package/dist/web/assets/MainPane-Dje-hfUM.css +1 -0
  299. package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
  300. package/dist/web/assets/NativeSetupTerminal-CPDChcMi.js +2 -0
  301. package/dist/web/assets/NativeSkillSidebar-BEJvt5_H.js +1 -0
  302. package/dist/web/assets/NewProjectDialog-CjrjgkTN.js +1 -0
  303. package/dist/web/assets/OutputsPage-jzx93QQ3.js +1 -0
  304. package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-C1M13qG2.js} +1 -1
  305. package/dist/web/assets/ProjectsPage-DZrjlMp2.js +1 -0
  306. package/dist/web/assets/RightChatPanelStack-BsxJg9sy.js +1 -0
  307. package/dist/web/assets/RightSidebarHomePanel-CCVQ9LMB.js +1 -0
  308. package/dist/web/assets/ScheduledWorkPage-Cw1ja2GF.js +1 -0
  309. package/dist/web/assets/{SettingsView-Y8f98GSE.css → SettingsView-Cc0376pY.css} +1 -1
  310. package/dist/web/assets/SettingsView-CckoIki3.js +5 -0
  311. package/dist/web/assets/TasksetDraftEditorPrimitives-ByC8bDjp.js +1 -0
  312. package/dist/web/assets/TeamChatView-OprnSKLF.js +1 -0
  313. package/dist/web/assets/TerminalOverlay-d7A2F9Lx.js +16 -0
  314. package/dist/web/assets/TrainingCreationPanel-Cyn6R6I6.js +1 -0
  315. package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-Mpb5e7t5.js} +1 -1
  316. package/dist/web/assets/TrainingRunLineage-PXzWR65d.css +1 -0
  317. package/dist/web/assets/TrainingRunLineage-VcKz7dIR.js +1 -0
  318. package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-FhYymrfc.js} +2 -2
  319. package/dist/web/assets/WorkSidebarPanel-u87uptH0.js +1 -0
  320. package/dist/web/assets/WorkspaceDiffPanel-B5rlW7bA.js +11 -0
  321. package/dist/web/assets/WorkspaceEnvironmentMenu-C8y3537a.js +35 -0
  322. package/dist/web/assets/WorkspaceFileLocation-LrEWj4UK.js +1 -0
  323. package/dist/web/assets/WorkspaceGitDialogs-NRIMXnkS.js +1 -0
  324. package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-CvDGjKAL.js} +3 -3
  325. package/dist/web/assets/WorkspacePdfPreview-BZ0BbnHv.js +2 -0
  326. package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-DJrjrvT0.js} +1 -1
  327. package/dist/web/assets/app-models-CUA9XB9U.js +1 -0
  328. package/dist/web/assets/bot-6OhUEmkE.js +1 -0
  329. package/dist/web/assets/browser-sidebar-links-ZyYiYBBd.js +1 -0
  330. package/dist/web/assets/chat-resources-CI8KFVO5.js +1 -0
  331. package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-jmVA1BIf.js} +1 -1
  332. package/dist/web/assets/chevron-right-BYmDQ7ti.js +1 -0
  333. package/dist/web/assets/chevron-up-CstyLXH3.js +1 -0
  334. package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ONGOAEY6-C__DQmRT.js} +5 -5
  335. package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-SQBYHWZU-DumrB9SB.js} +1 -1
  336. package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-BdQ_YDuk.js} +1 -1
  337. package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-Ck1ufAr8.js} +1 -1
  338. package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
  339. package/dist/web/assets/contracts-BLiqJxBv.js +1 -0
  340. package/dist/web/assets/copy-CPkbMfXt.js +1 -0
  341. package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-CXQny8HU.js} +1 -1
  342. package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-CYxYl_om.js} +1 -1
  343. package/dist/web/assets/external-link-CDKOLG_v.js +1 -0
  344. package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-CEtOb_lK.js} +1 -1
  345. package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-CVMYZs3e.js} +1 -1
  346. package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-DDyhPjxS.js} +1 -1
  347. package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-DoY4V_j0.js} +1 -1
  348. package/dist/web/assets/icons-D7jkCa2d.js +1 -0
  349. package/dist/web/assets/{image-C7HVlg3X.js → image-B-PjDSwU.js} +1 -1
  350. package/dist/web/assets/{index-BsPUniZy.js → index-D9WbJMSq.js} +2 -2
  351. package/dist/web/assets/index-g7UqJhnX.css +1 -0
  352. package/dist/web/assets/{info-BLWDShaz.js → info-CCnw-K3b.js} +1 -1
  353. package/dist/web/assets/intake-contracts-BW0Y0C2R.js +1 -0
  354. package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-CeOpZdPj.js} +1 -1
  355. package/dist/web/assets/loader-circle-CPaJeTDy.js +1 -0
  356. package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-DAbgLCqZ.js} +1 -1
  357. package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-BZX38cpr.js} +1 -1
  358. package/dist/web/assets/message-square-CvgSecgD.js +1 -0
  359. package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-CF2JDhi4.js} +2 -2
  360. package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-cbDqt48m.js} +2 -2
  361. package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-m2ze2EsL.js} +2 -2
  362. package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-yeyow_-Q.js} +2 -2
  363. package/dist/web/assets/{monitor-B6OuAu13.js → monitor-By0s4hxb.js} +1 -1
  364. package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-BJ2QgJLa.js} +1 -1
  365. package/dist/web/assets/{pdf-RXlFwNte.js → pdf-C4x-1jjP.js} +1 -1
  366. package/dist/web/assets/pdf.worker.min-BrEVksTu.js +1 -0
  367. package/dist/web/assets/play-D_SuGDBM.js +1 -0
  368. package/dist/web/assets/plus-yw95Iaj8.js +1 -0
  369. package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-I86G1Gd9.js} +1 -1
  370. package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
  371. package/dist/web/assets/{python-BQXo7wMt.js → python-CqFTPj8r.js} +1 -1
  372. package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-Dga35Eay.js} +1 -1
  373. package/dist/web/assets/requests-BCbaFiqV.js +1 -0
  374. package/dist/web/assets/{reward-checks-5AOStF27.js → reward-checks-Bcq9ETCA.js} +1 -1
  375. package/dist/web/assets/{save-BxXc21N6.js → save-BLKjYtzR.js} +1 -1
  376. package/dist/web/assets/settings-D7C-Auyi.js +21 -0
  377. package/dist/web/assets/settings-lists-DMKA1lCN.js +5 -0
  378. package/dist/web/assets/square-BY5lG2Ol.js +1 -0
  379. package/dist/web/assets/square-terminal-B-n7vUex.js +1 -0
  380. package/dist/web/assets/submit-issue-command-B7Hrt2tU.js +3 -0
  381. package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-BhmBE5XE.js} +1 -1
  382. package/dist/web/assets/training-QrdkRQZQ.js +2 -0
  383. package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-DB-jg6L_.js} +12 -12
  384. package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-BSWEII2p.js} +1 -1
  385. package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
  386. package/dist/web/assets/{upload-NXasN1wU.js → upload-C4MPhQn8.js} +1 -1
  387. package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-9oqWdRLs.js} +1 -1
  388. package/dist/web/assets/useAgentInventory-isO79ui9.js +1 -0
  389. package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CZX6PxoK.js} +1 -1
  390. package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-BD0Uexmh.js} +1 -1
  391. package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-Cloe0WuQ.js} +1 -1
  392. package/dist/web/assets/{workers-u92Boudu.js → workers-BXagz5eg.js} +1 -1
  393. package/dist/web/assets/x-Dqpel42h.js +1 -0
  394. package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-sBdvVbCc.js} +1 -1
  395. package/dist/web/index.html +12 -3
  396. package/docs/command-reference.md +49 -5
  397. package/package.json +6 -2
  398. package/dist/chunks/actions-command-LOHNQUWP.js +0 -2
  399. package/dist/chunks/app-server-connected-apps-Q2VWWJNX.js +0 -2
  400. package/dist/chunks/app-server-harness-services-2PSZBT7U.js +0 -2
  401. package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
  402. package/dist/chunks/apps-7PIBF32Q.js +0 -2
  403. package/dist/chunks/chunk-3TYCIYW6.js +0 -17
  404. package/dist/chunks/chunk-4GZ2FPB5.js +0 -2
  405. package/dist/chunks/chunk-4M3YW3EQ.js +0 -13
  406. package/dist/chunks/chunk-4N3UF3U5.js +0 -2
  407. package/dist/chunks/chunk-4P3X2RXA.js +0 -2
  408. package/dist/chunks/chunk-4RHM4WN2.js +0 -2
  409. package/dist/chunks/chunk-6DCXAXVD.js +0 -22
  410. package/dist/chunks/chunk-AWPYTDH4.js +0 -4
  411. package/dist/chunks/chunk-BLKTUFGB.js +0 -2
  412. package/dist/chunks/chunk-BN5AVRUG.js +0 -2
  413. package/dist/chunks/chunk-D5ADDBS5.js +0 -2
  414. package/dist/chunks/chunk-DGPGOBYZ.js +0 -5
  415. package/dist/chunks/chunk-E3EKBPCB.js +0 -2
  416. package/dist/chunks/chunk-E67M5WGY.js +0 -2
  417. package/dist/chunks/chunk-EIIGTADO.js +0 -2
  418. package/dist/chunks/chunk-F5JDBDYL.js +0 -2
  419. package/dist/chunks/chunk-FWIPHEVA.js +0 -12
  420. package/dist/chunks/chunk-GLVR74PX.js +0 -2
  421. package/dist/chunks/chunk-HZLV773Y.js +0 -22
  422. package/dist/chunks/chunk-JEVA7YQL.js +0 -3
  423. package/dist/chunks/chunk-KC7I6E6W.js +0 -2
  424. package/dist/chunks/chunk-M4ZRCRJM.js +0 -10
  425. package/dist/chunks/chunk-N663LL27.js +0 -2
  426. package/dist/chunks/chunk-NR5VASQB.js +0 -2
  427. package/dist/chunks/chunk-OJSK4NSW.js +0 -151
  428. package/dist/chunks/chunk-OZ6LRNRE.js +0 -2
  429. package/dist/chunks/chunk-Q324ZA5M.js +0 -2
  430. package/dist/chunks/chunk-UBCLPZSQ.js +0 -4
  431. package/dist/chunks/chunk-UJBEWIR3.js +0 -8
  432. package/dist/chunks/chunk-V67IFV26.js +0 -86
  433. package/dist/chunks/chunk-VSUHJ46L.js +0 -18
  434. package/dist/chunks/chunk-VWJ5IYQP.js +0 -2
  435. package/dist/chunks/chunk-X3WEQL3O.js +0 -2
  436. package/dist/chunks/chunk-XK7SPL63.js +0 -2
  437. package/dist/chunks/chunk-XLULTQLZ.js +0 -12
  438. package/dist/chunks/chunk-YR5ID2SS.js +0 -2
  439. package/dist/chunks/chunk-ZBBVRYU3.js +0 -6
  440. package/dist/chunks/chunk-ZHFH2TZN.js +0 -2
  441. package/dist/chunks/chunk-ZZWAQBA2.js +0 -2
  442. package/dist/chunks/cli-WC45SI7E.js +0 -2
  443. package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
  444. package/dist/chunks/connected-evidence-4J3YXU4O.js +0 -2
  445. package/dist/chunks/core-commands-JGXU6B4C.js +0 -2
  446. package/dist/chunks/dataset-preparation-authoring-DFGJBMVF.js +0 -4
  447. package/dist/chunks/datasets-MNHZAZIB.js +0 -2
  448. package/dist/chunks/desktop-test-P23MHAIG.js +0 -3
  449. package/dist/chunks/dist-IIFTZWNR.js +0 -2
  450. package/dist/chunks/evaluation-coordination-6NQEH5WU.js +0 -2
  451. package/dist/chunks/experiment-improvements-M27Z5OF4.js +0 -2
  452. package/dist/chunks/experiments-IWSCFDBB.js +0 -2
  453. package/dist/chunks/experiments-signal-R3NNH7WR.js +0 -2
  454. package/dist/chunks/host-profile-evaluation-tools-EFB2YIK2.js +0 -2
  455. package/dist/chunks/host-profile-external-dataset-KSNREH3Q.js +0 -2
  456. package/dist/chunks/hosted-app-server-composition-VV545TYL.js +0 -2
  457. package/dist/chunks/hosted-experiment-improvement-NYLADI7S.js +0 -3
  458. package/dist/chunks/hosted-harness-runtime-Z54E5MD7.js +0 -2
  459. package/dist/chunks/hosted-profile-candidate-37ZFY2LH.js +0 -3
  460. package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
  461. package/dist/chunks/hosted-profile-evaluation-control-UQBMML6K.js +0 -2
  462. package/dist/chunks/hosted-profile-evaluation-inspection-YASS4T6L.js +0 -3
  463. package/dist/chunks/human-review-IJETDOWB.js +0 -2
  464. package/dist/chunks/learning-KVLTMRLD.js +0 -2
  465. package/dist/chunks/local-harness-improvement-runtime-KB4OP3SM.js +0 -2
  466. package/dist/chunks/local-harness-taskset-review-SUDEUGUU.js +0 -2
  467. package/dist/chunks/model-projects-AVBQDNYG.js +0 -2
  468. package/dist/chunks/opchat-KSOJEL4W.js +0 -3
  469. package/dist/chunks/organizations-DJRJWC5I.js +0 -2
  470. package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
  471. package/dist/chunks/project-agent-2KNJFNZI.js +0 -2
  472. package/dist/chunks/published-experiment-source-LFYHKFAO.js +0 -2
  473. package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
  474. package/dist/chunks/sandbox-command-IIGTPYN3.js +0 -2
  475. package/dist/chunks/saved-work-QA46KCME.js +0 -2
  476. package/dist/chunks/src-E7NWAN5B.js +0 -420
  477. package/dist/chunks/standalone-experiment-turn-owner-SQJ5HXDZ.js +0 -2
  478. package/dist/chunks/store-chat-resources-CGW7PDCG.js +0 -2
  479. package/dist/chunks/store-evaluation-results-V5J6L4NV.js +0 -7
  480. package/dist/chunks/store-harness-workspaces-HHMM6GNK.js +0 -2
  481. package/dist/chunks/store-human-review-V5H4QDHR.js +0 -7
  482. package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
  483. package/dist/chunks/store-model-batch-review-KMYPYWJR.js +0 -2
  484. package/dist/chunks/store-model-configuration-UXNC4PGY.js +0 -3
  485. package/dist/chunks/store-task-inbox-LNDCZOYE.js +0 -33
  486. package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
  487. package/dist/chunks/taskset-packages-I7I5KBFP.js +0 -2
  488. package/dist/chunks/training-error-AYOGHHL2.js +0 -2
  489. package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
  490. package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
  491. package/dist/chunks/training-hosted-workers-KI767T4Y.js +0 -2
  492. package/dist/skills/openpond-desktop-harness/SKILL.md +0 -113
  493. package/dist/skills/openpond-desktop-harness/agents/openai.yaml +0 -4
  494. package/dist/web/assets/App-Df7uYQGj.css +0 -1
  495. package/dist/web/assets/App-Yy3l2sdD.js +0 -56
  496. package/dist/web/assets/AppTerminalPanel-Dqr6VS3I.js +0 -2
  497. package/dist/web/assets/AppsView-27Fl_-49.js +0 -1
  498. package/dist/web/assets/BrowserSidebar-bnI3sSZO.js +0 -1
  499. package/dist/web/assets/ChatTimelineEntry-IKzZsHoI.js +0 -1
  500. package/dist/web/assets/CommandMenu-CBY2AJxV.js +0 -1
  501. package/dist/web/assets/CommunityView-CFKM7FTY.js +0 -1
  502. package/dist/web/assets/ComposerAttachments-BdjBddKf.js +0 -2
  503. package/dist/web/assets/ComposerCreateImproveStrip-ViJ5E0We.js +0 -1
  504. package/dist/web/assets/ConversationImportsSettings-xLl-7G9R.js +0 -1
  505. package/dist/web/assets/FilePagePreview-CTHuPzJt.js +0 -2
  506. package/dist/web/assets/GetStartedView-DvV_RMgM.js +0 -1
  507. package/dist/web/assets/GettingStartedDialog-B1jFmfgd.js +0 -1
  508. package/dist/web/assets/GettingStartedDialog-C73Bdcz2.css +0 -1
  509. package/dist/web/assets/HostedModelLearningSettings-DzAiutjq.js +0 -1
  510. package/dist/web/assets/LabModelVersionDetailPage-CF8FkRUY.js +0 -1
  511. package/dist/web/assets/LabSkillSidebar-gjbl9Nlv.js +0 -1
  512. package/dist/web/assets/LabsRoute-DOnw39du.js +0 -101
  513. package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
  514. package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
  515. package/dist/web/assets/MainPane-CuBUBA9F.css +0 -1
  516. package/dist/web/assets/NativeSkillSidebar-Br5Lk6iU.js +0 -1
  517. package/dist/web/assets/NewProjectDialog-DyuKPOvF.js +0 -1
  518. package/dist/web/assets/OutputsPage-Dl63CVrw.js +0 -1
  519. package/dist/web/assets/ProjectsPage-BNF1TiyR.js +0 -1
  520. package/dist/web/assets/RightChatPanelStack-CxVAAbp-.js +0 -1
  521. package/dist/web/assets/RightSidebarHomePanel-D46ktZg-.js +0 -1
  522. package/dist/web/assets/ScheduledWorkPage-Cp0Hf-hs.js +0 -1
  523. package/dist/web/assets/SettingsView-BT57Q5Wx.js +0 -5
  524. package/dist/web/assets/TeamChatView-BmxTJ9E5.js +0 -1
  525. package/dist/web/assets/TerminalOverlay-D-Yq8av_.js +0 -16
  526. package/dist/web/assets/TrainingCreationPanel-CwfNPj_G.js +0 -1
  527. package/dist/web/assets/TrainingMetricWorkbench-BmzHLwIP.js +0 -1
  528. package/dist/web/assets/WorkSidebarPanel-myTA9tsh.js +0 -1
  529. package/dist/web/assets/WorkspaceDiffPanel-D0dzFgzW.js +0 -11
  530. package/dist/web/assets/WorkspaceEnvironmentMenu-AUzME1eX.js +0 -35
  531. package/dist/web/assets/WorkspaceFileLocation-Ai8Tz2Mz.js +0 -1
  532. package/dist/web/assets/WorkspaceGitDialogs-D-UCCckC.js +0 -1
  533. package/dist/web/assets/app-models-BviS9b7U.js +0 -1
  534. package/dist/web/assets/browser-sidebar-links-ujSvTf5h.js +0 -1
  535. package/dist/web/assets/chat-resources-CItQ4mZD.js +0 -1
  536. package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
  537. package/dist/web/assets/contracts-BHTOD1nd.js +0 -1
  538. package/dist/web/assets/git-dialogs-C631EFyO.css +0 -1
  539. package/dist/web/assets/icons-kaq6k88m.js +0 -1
  540. package/dist/web/assets/index-DUMDOdB2.css +0 -1
  541. package/dist/web/assets/play-BPPQoqMl.js +0 -1
  542. package/dist/web/assets/plus-D18vYzHF.js +0 -1
  543. package/dist/web/assets/settings-BKmRueaw.js +0 -21
  544. package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
  545. package/dist/web/assets/square-Da8RuqW4.js +0 -1
  546. package/dist/web/assets/training-managed-adapter-81RrdT1k.js +0 -1
  547. package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
  548. package/dist/web/assets/useAgentInventory-BV4CUWzJ.js +0 -1
  549. /package/dist/chunks/{chunk-GLDYJM7O.js → chunk-T4QXKU5Y.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
- import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d as oe}from"./chunk-ORLJJGZZ.js";import{a as U}from"./chunk-7PXZ4X4P.js";import{d as h}from"./chunk-FJ3HMHT6.js";import{E as ie,t as k,v as se}from"./chunk-3TYCIYW6.js";import{k as re,l as S,m as D,n as j}from"./chunk-SCCYSPQ5.js";import{a as ee}from"./chunk-DMFUEUAZ.js";import{a as te,c as ae}from"./chunk-JHR3LF2F.js";import{q as Z}from"./chunk-D5ADDBS5.js";import{E as V,F as $,G as z,c as W,d as Y,e as Q,f as J}from"./chunk-KK626T3Z.js";import{c as G,m as B}from"./chunk-UGOK7VTC.js";import{a as r}from"./chunk-FTQLQJQV.js";function Ee(t,e){e.assertCurrent?.();let a=te.parse(e.owner),s=t.get("SELECT payload FROM sessions WHERE id = ?",[e.sessionId]);if(!s)throw new Error("ponder_desktop_attach_session_unavailable");let i=Z.parse(JSON.parse(s.payload));if(ae(i,a))return i;if(!se(i))throw new Error("ponder_desktop_attach_session_not_eligible");let n=t.get("SELECT id FROM turns WHERE session_id = ? ORDER BY sort_index DESC LIMIT 1",[i.id]);if(k(i,n?.id??null)!==e.expectedRevision)throw new Error("ponder_desktop_attach_session_changed");let T={...i,updatedAt:new Date().toISOString(),metadata:{...i.metadata,ponderLocalOwner:a}};return t.run("UPDATE sessions SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(T),T.updatedAt,i.id]),T}r(Ee,"attachLocalSessionOwner");function _e(t){let e=new Map;for(let a of t){let s=Date.parse(a.startedAt);if(!Number.isFinite(s))continue;let i=e.get(a.sessionId)??{completedRuntimeMs:0,runningSinceMs:null},n=a.completedAt?Date.parse(a.completedAt):Number.NaN;Number.isFinite(n)?i.completedRuntimeMs+=Math.max(0,n-s):a.status==="in_progress"&&(i.runningSinceMs===null||s<i.runningSinceMs)&&(i.runningSinceMs=s),e.set(a.sessionId,i)}return new Map([...e].map(([a,s])=>[a,{runtimeSeconds:Math.max(0,Math.floor(s.completedRuntimeMs/1e3)),runtimeRunningSince:s.runningSinceMs===null?null:new Date(s.runningSinceMs).toISOString()}]))}r(_e,"sessionRuntimeSummaries");function f(t,e){return{...t,runtimeSeconds:e?.runtimeSeconds??0,runtimeRunningSince:e?.runtimeRunningSince??null}}r(f,"sessionWithRuntimeSummary");var ze=new Set(["turn.started","turn.completed","turn.failed","turn.interrupted","approval.requested","approval.resolved","task.input","task.wait"]);function Ne(t,e){if(!ze.has(e.name)||e.sessionId!==t.id)return t;let a=Date.parse(e.timestamp),s=Date.parse(typeof t.metadata?.sidebarActivityAt=="string"?t.metadata.sidebarActivityAt:t.createdAt);return!Number.isFinite(a)||a<=(Number.isFinite(s)?s:0)?t:{...t,metadata:{...t.metadata,sidebarActivityAt:e.timestamp}}}r(Ne,"sessionWithSidebarActivity");import{promises as Ge}from"node:fs";import b from"node:path";var le=`
2
+ import{a as U}from"./chunk-7PXZ4X4P.js";import{a as _e,f as le}from"./chunk-ELX7VRSU.js";import{a as v,b as de,c as K,d as Ee}from"./chunk-CZ5R4JXZ.js";import{d as h}from"./chunk-LKKMLBOH.js";import{a as j,c as ne,d as oe}from"./chunk-ERL2M773.js";import{E as k,G as ie,P as re}from"./chunk-GXCUH2VV.js";import{k as Te,l as S,m as P,n as q}from"./chunk-4ZBOYWQ3.js";import{a as te}from"./chunk-DMFUEUAZ.js";import{a as ae,c as se}from"./chunk-JHR3LF2F.js";import{w as ee}from"./chunk-M3FLEZ4E.js";import{E as $,F as z,G as Z,c as Q,d as Y,e as J,f as V}from"./chunk-2EPR4HLF.js";import{c as W,m as B}from"./chunk-UGOK7VTC.js";import{a as r}from"./chunk-FTQLQJQV.js";function Ne(t,e){e.assertCurrent?.();let a=ae.parse(e.owner),s=t.get("SELECT payload FROM sessions WHERE id = ?",[e.sessionId]);if(!s)throw new Error("ponder_desktop_attach_session_unavailable");let i=ee.parse(JSON.parse(s.payload));if(se(i,a))return i;if(!ie(i))throw new Error("ponder_desktop_attach_session_not_eligible");let n=t.get("SELECT id FROM turns WHERE session_id = ? ORDER BY sort_index DESC LIMIT 1",[i.id]);if(k(i,n?.id??null)!==e.expectedRevision)throw new Error("ponder_desktop_attach_session_changed");let o={...i,updatedAt:new Date().toISOString(),metadata:{...i.metadata,ponderLocalOwner:a}};return t.run("UPDATE sessions SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(o),o.updatedAt,i.id]),o}r(Ne,"attachLocalSessionOwner");function ce(t){let e=new Map;for(let a of t){let s=Date.parse(a.startedAt);if(!Number.isFinite(s))continue;let i=e.get(a.sessionId)??{completedRuntimeMs:0,runningSinceMs:null},n=a.completedAt?Date.parse(a.completedAt):Number.NaN;Number.isFinite(n)?i.completedRuntimeMs+=Math.max(0,n-s):a.status==="in_progress"&&(i.runningSinceMs===null||s<i.runningSinceMs)&&(i.runningSinceMs=s),e.set(a.sessionId,i)}return new Map([...e].map(([a,s])=>[a,{runtimeSeconds:Math.max(0,Math.floor(s.completedRuntimeMs/1e3)),runtimeRunningSince:s.runningSinceMs===null?null:new Date(s.runningSinceMs).toISOString()}]))}r(ce,"sessionRuntimeSummaries");function y(t,e){return{...t,runtimeSeconds:e?.runtimeSeconds??0,runtimeRunningSince:e?.runtimeRunningSince??null}}r(y,"sessionWithRuntimeSummary");var tt=new Set(["turn.started","turn.completed","turn.failed","turn.interrupted","approval.requested","approval.resolved","task.input","task.wait"]);function ue(t,e){if(!tt.has(e.name)||e.sessionId!==t.id)return t;let a=Date.parse(e.timestamp),s=Date.parse(typeof t.metadata?.sidebarActivityAt=="string"?t.metadata.sidebarActivityAt:t.createdAt);return!Number.isFinite(a)||a<=(Number.isFinite(s)?s:0)?t:{...t,metadata:{...t.metadata,sidebarActivityAt:e.timestamp}}}r(ue,"sessionWithSidebarActivity");import{promises as Je}from"node:fs";import b from"node:path";var pe=`
3
3
  CREATE TABLE IF NOT EXISTS sessions (
4
4
  id TEXT PRIMARY KEY,
5
5
  sort_index INTEGER NOT NULL,
@@ -694,7 +694,7 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
694
694
  CREATE INDEX IF NOT EXISTS model_bindings_model_idx
695
695
  ON model_bindings(model_artifact_lineage_id, updated_at DESC);
696
696
 
697
- `;async function ce(t){await t(`
697
+ `;async function Le(t){await t(`
698
698
  CREATE TABLE IF NOT EXISTS create_improve_runs (
699
699
  id TEXT PRIMARY KEY,
700
700
  profile_id TEXT NOT NULL,
@@ -725,7 +725,7 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
725
725
  );
726
726
  CREATE INDEX IF NOT EXISTS create_improve_run_actions_run_revision_idx
727
727
  ON create_improve_run_actions(run_id, resulting_revision);
728
- `)}r(ce,"createCreateImproveRunTables");async function ue(t){await t(`
728
+ `)}r(Le,"createCreateImproveRunTables");async function Oe(t){await t(`
729
729
  CREATE TABLE IF NOT EXISTS taskset_revisions (
730
730
  taskset_id TEXT NOT NULL,
731
731
  revision INTEGER NOT NULL,
@@ -739,19 +739,19 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
739
739
  );
740
740
  CREATE UNIQUE INDEX IF NOT EXISTS taskset_revisions_hash_idx
741
741
  ON taskset_revisions(taskset_id, content_hash);
742
- `)}r(ue,"createTasksetRevisionTables");async function pe(t){await t(`
742
+ `)}r(Oe,"createTasksetRevisionTables");async function Se(t){await t(`
743
743
  CREATE TABLE IF NOT EXISTS task_creation_transcripts (creation_id TEXT PRIMARY KEY, profile_id TEXT NOT NULL, payload TEXT NOT NULL, updated_at TEXT NOT NULL);
744
744
  CREATE INDEX IF NOT EXISTS task_creation_transcript_profile_idx ON task_creation_transcripts(profile_id, updated_at DESC);
745
745
  CREATE TABLE IF NOT EXISTS task_design_proposals (creation_id TEXT PRIMARY KEY, proposal_id TEXT NOT NULL, profile_id TEXT NOT NULL, state TEXT NOT NULL, payload TEXT NOT NULL, updated_at TEXT NOT NULL);
746
746
  CREATE UNIQUE INDEX IF NOT EXISTS task_design_proposal_id_idx ON task_design_proposals(proposal_id);
747
- `)}r(pe,"createTaskCreationProjectionTables");async function Le(t){await t(`
747
+ `)}r(Se,"createTaskCreationProjectionTables");async function me(t){await t(`
748
748
  CREATE TABLE IF NOT EXISTS grader_audit_reports (id TEXT PRIMARY KEY, taskset_id TEXT NOT NULL, payload TEXT NOT NULL, created_at TEXT NOT NULL);
749
749
  CREATE INDEX IF NOT EXISTS grader_audit_taskset_idx ON grader_audit_reports(taskset_id, created_at DESC);
750
- `)}r(Le,"createGraderAuditTables");async function Oe(t){await t(`
750
+ `)}r(me,"createGraderAuditTables");async function Ie(t){await t(`
751
751
  CREATE TABLE IF NOT EXISTS task_attempt_artifacts (id TEXT PRIMARY KEY, taskset_id TEXT NOT NULL, attempt_id TEXT NOT NULL, kind TEXT NOT NULL, payload TEXT NOT NULL, created_at TEXT NOT NULL);
752
752
  CREATE INDEX IF NOT EXISTS task_attempt_artifacts_attempt_idx ON task_attempt_artifacts(attempt_id, created_at);
753
753
  CREATE INDEX IF NOT EXISTS task_attempt_artifacts_taskset_idx ON task_attempt_artifacts(taskset_id, created_at);
754
- `)}r(Oe,"createTaskAttemptArtifactTables");async function Se(t){await t(`
754
+ `)}r(Ie,"createTaskAttemptArtifactTables");async function Xe(t){await t(`
755
755
  CREATE TABLE IF NOT EXISTS training_rollout_receipts (
756
756
  id TEXT PRIMARY KEY,
757
757
  job_id TEXT NOT NULL,
@@ -782,7 +782,7 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
782
782
  WHERE status = 'active';
783
783
  CREATE INDEX IF NOT EXISTS model_bindings_model_idx
784
784
  ON model_bindings(model_artifact_lineage_id, updated_at DESC);
785
- `)}r(Se,"createTrainingReceiptAndModelBindingTables");async function me(t){await t(`
785
+ `)}r(Xe,"createTrainingReceiptAndModelBindingTables");async function Re(t){await t(`
786
786
  CREATE TABLE IF NOT EXISTS preference_comparison_releases (
787
787
  id TEXT PRIMARY KEY,
788
788
  taskset_id TEXT NOT NULL,
@@ -838,7 +838,7 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
838
838
  ON preference_comparison_calibrations(release_id, report_hash);
839
839
  CREATE INDEX IF NOT EXISTS preference_comparison_calibration_taskset_idx
840
840
  ON preference_comparison_calibrations(taskset_id, created_at DESC);
841
- `)}r(me,"createPreferenceComparisonTables");async function Ie(t){(await t.all("PRAGMA table_info(training_sources)",[])).some(a=>a.name==="source_kind")||await t.exec(`
841
+ `)}r(Re,"createPreferenceComparisonTables");async function he(t){(await t.all("PRAGMA table_info(training_sources)",[])).some(a=>a.name==="source_kind")||await t.exec(`
842
842
  DROP INDEX IF EXISTS training_sources_profile_updated_idx;
843
843
  DROP INDEX IF EXISTS training_sources_session_idx;
844
844
  ALTER TABLE training_sources RENAME TO training_sources_legacy;
@@ -910,7 +910,7 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
910
910
  CREATE UNIQUE INDEX IF NOT EXISTS dataset_artifacts_taskset_revision_idx ON dataset_artifacts(taskset_id, taskset_revision);
911
911
  CREATE UNIQUE INDEX IF NOT EXISTS dataset_artifacts_content_hash_idx ON dataset_artifacts(content_hash);
912
912
  CREATE INDEX IF NOT EXISTS dataset_artifacts_profile_updated_idx ON dataset_artifacts(profile_id, updated_at DESC);
913
- `)}r(Ie,"createDatasetImportTables");async function Xe(t){await t(`
913
+ `)}r(he,"createDatasetImportTables");async function ge(t){await t(`
914
914
  CREATE TABLE IF NOT EXISTS sidebar_file_bookmarks (
915
915
  scope TEXT NOT NULL,
916
916
  workspace_kind TEXT NOT NULL,
@@ -927,7 +927,7 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
927
927
 
928
928
  CREATE INDEX IF NOT EXISTS sidebar_file_bookmarks_scope_status_order_idx
929
929
  ON sidebar_file_bookmarks(scope, status, sort_order, updated_at);
930
- `)}r(Xe,"createSidebarFileBookmarkTables");async function Re(t){await t(`
930
+ `)}r(ge,"createSidebarFileBookmarkTables");async function Ae(t){await t(`
931
931
  CREATE TABLE IF NOT EXISTS chat_workflows (
932
932
  id TEXT PRIMARY KEY,
933
933
  session_id TEXT NOT NULL,
@@ -959,7 +959,7 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
959
959
  ON chat_workflow_runs(workflow_id, scheduled_for, trigger);
960
960
  CREATE INDEX IF NOT EXISTS chat_workflow_runs_workflow_idx
961
961
  ON chat_workflow_runs(workflow_id, created_at DESC);
962
- `)}r(Re,"createChatWorkflowTables");async function he(t){await t(`
962
+ `)}r(Ae,"createChatWorkflowTables");async function Ue(t){await t(`
963
963
  CREATE TABLE IF NOT EXISTS harness_workspaces (
964
964
  id TEXT PRIMARY KEY,
965
965
  owner_kind TEXT NOT NULL,
@@ -991,7 +991,7 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
991
991
 
992
992
  CREATE TABLE IF NOT EXISTS harness_workspace_settings (
993
993
  workspace_id TEXT PRIMARY KEY,
994
- background_review_enabled INTEGER NOT NULL DEFAULT 1,
994
+ background_review_enabled INTEGER NOT NULL DEFAULT 0,
995
995
  updated_at TEXT NOT NULL,
996
996
  FOREIGN KEY(workspace_id) REFERENCES harness_workspaces(id) ON DELETE RESTRICT
997
997
  );
@@ -1120,10 +1120,10 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
1120
1120
 
1121
1121
  CREATE INDEX IF NOT EXISTS harness_memory_revisions_workspace_created_idx
1122
1122
  ON harness_memory_revisions(workspace_id, created_at DESC);
1123
- `)}r(he,"createHarnessWorkspaceTables");var Ze=[50,100,200,400,800],y=class extends Error{static{r(this,"SqliteIntegrityError")}constructor(e){super(e),this.name="SqliteIntegrityError"}};function ge(t){if(t instanceof y)return!0;let e=Ue(t);if(e==="SQLITE_CORRUPT"||e==="SQLITE_NOTADB")return!0;let a=ve(t);return a.includes("database disk image is malformed")||a.includes("file is not a database")||a.includes("file is encrypted or is not a database")}r(ge,"isConfirmedSqliteCorruption");async function Ae(t){for(let e=0;;e+=1)try{await t.check();return}catch(a){let s=Ze[e];if(!et(a)||s===void 0)throw a;t.onRetry?.({attempt:e+1,retryDelayMs:s,error:a}),await new Promise(i=>setTimeout(i,s))}}r(Ae,"retrySqliteHealthCheck");function Ue(t){return!t||typeof t!="object"||!("code"in t)?null:typeof t.code=="string"?t.code.toUpperCase():null}r(Ue,"sqliteErrorCode");function ve(t){return t instanceof Error?t.message.toLowerCase():String(t).toLowerCase()}r(ve,"sqliteErrorMessage");function et(t){let e=Ue(t);if(e==="SQLITE_BUSY"||e==="SQLITE_LOCKED")return!0;let a=ve(t);return a.includes("database is locked")||a.includes("database is busy")}r(et,"isTransientSqliteAvailabilityError");var fe=[{version:1,run:r(t=>t.createSchema(),"run")},{version:2,run:r(t=>t.createHotQueryIndexes(),"run")},{version:3,run:r(t=>t.createReadModelTables(),"run")},{version:4,run:r(async()=>{},"run")},{version:5,run:r(async()=>{},"run")},{version:6,run:r(async()=>{},"run")},{version:7,run:r(t=>t.createModelUsageTables(),"run")},{version:8,run:r(t=>t.createLocalAgentScheduleTables(),"run")},{version:9,run:r(t=>t.createSubagentTables(),"run")},{version:10,run:r(async()=>{},"run")},{version:11,run:r(t=>t.createTrainingTables(),"run")},{version:12,run:r(t=>t.createTaskCreationProjectionTables(),"run")},{version:13,run:r(t=>t.createGraderAuditTables(),"run")},{version:14,run:r(t=>t.createTaskAttemptArtifactTables(),"run")},{version:15,run:r(t=>t.createTrainingChatSearchTables(),"run")},{version:16,run:r(t=>t.resetTrainingChatSearchForProgressiveIndexing(),"run")},{version:17,run:r(t=>t.createTaskMinerRunTables(),"run")},{version:19,run:r(t=>t.createCreateImproveRunTables(),"run")},{version:20,run:r(t=>t.createTrainingReceiptAndModelBindingTables(),"run")},{version:21,run:r(t=>t.createTasksetRevisionTables(),"run")},{version:24,run:r(t=>t.resetLegacySubagentTransportState(),"run")},{version:25,run:r(t=>t.resetLegacySubagentRuntimeEvents(),"run")},{version:26,run:r(t=>t.createDatasetImportTables(),"run")},{version:28,run:r(t=>t.createSidebarFileBookmarkTables(),"run")},{version:29,run:r(t=>t.createModelBuildDraftTables(),"run")},{version:30,run:r(t=>t.createModelProjectTables(),"run")},{version:31,run:r(t=>t.createModelLifecycleTables(),"run")},{version:32,run:r(t=>t.createTrainingTables(),"run")},{version:33,run:r(t=>t.retireGoalAndInsightsStorage(),"run")},{version:34,run:r(async()=>{},"run")},{version:35,run:r(t=>t.createWorkEvidenceTables(),"run")},{version:36,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:37,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:38,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:39,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:40,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:41,run:r(t=>t.createTrainingTables(),"run")},{version:43,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:44,run:r(t=>t.createModelUsageTables(),"run")},{version:45,run:r(t=>t.createPreferenceComparisonTables(),"run")},{version:46,run:r(t=>t.createTasksetDraftTables(),"run")},{version:47,run:r(t=>t.createTrainingTables(),"run")},{version:48,run:r(t=>t.createTrainingTables(),"run")},{version:49,run:r(t=>t.consolidateModelProjectTrainingSetup(),"run")},{version:50,run:r(t=>t.repairUnverifiableLearnedPreferenceBindings(),"run")},{version:51,run:r(t=>t.createTrainingTables(),"run")},{version:52,run:r(t=>t.allowModelRunsWithoutVersion(),"run")},{version:53,run:r(t=>t.createTrainingTables(),"run")},{version:54,run:r(t=>t.createTrainingTables(),"run")},{version:55,run:r(t=>t.createTrainingTables(),"run")},{version:56,run:r(t=>t.createChatWorkflowTables(),"run")},{version:57,run:r(t=>t.createLearningTables(),"run")},{version:58,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:59,run:r(t=>t.createLearningTables(),"run")},{version:60,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:61,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:62,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:63,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:64,run:r(t=>t.createTaskInboxTables(),"run")},{version:65,run:r(t=>t.createTrainingTables(),"run")},{version:66,run:r(t=>t.createTrainingTables(),"run")},{version:67,run:r(t=>t.createTaskInboxTables(),"run")},{version:68,run:r(t=>t.createChatResourceTables(),"run")},{version:69,run:r(t=>t.createChatResourceTables(),"run")},{version:70,run:r(t=>t.createChatResourceTables(),"run")},{version:71,run:r(t=>t.createEventTurnIndex(),"run")},{version:72,run:r(t=>t.deduplicateLocalDatasetStorage(),"run")}];async function ye(t){await t(`
1123
+ `)}r(Ue,"createHarnessWorkspaceTables");var at=[50,100,200,400,800],f=class extends Error{static{r(this,"SqliteIntegrityError")}constructor(e){super(e),this.name="SqliteIntegrityError"}};function ve(t){if(t instanceof f)return!0;let e=fe(t);if(e==="SQLITE_CORRUPT"||e==="SQLITE_NOTADB")return!0;let a=we(t);return a.includes("database disk image is malformed")||a.includes("file is not a database")||a.includes("file is encrypted or is not a database")}r(ve,"isConfirmedSqliteCorruption");async function ye(t){for(let e=0;;e+=1)try{await t.check();return}catch(a){let s=at[e];if(!st(a)||s===void 0)throw a;t.onRetry?.({attempt:e+1,retryDelayMs:s,error:a}),await new Promise(i=>setTimeout(i,s))}}r(ye,"retrySqliteHealthCheck");function fe(t){return!t||typeof t!="object"||!("code"in t)?null:typeof t.code=="string"?t.code.toUpperCase():null}r(fe,"sqliteErrorCode");function we(t){return t instanceof Error?t.message.toLowerCase():String(t).toLowerCase()}r(we,"sqliteErrorMessage");function st(t){let e=fe(t);if(e==="SQLITE_BUSY"||e==="SQLITE_LOCKED")return!0;let a=we(t);return a.includes("database is locked")||a.includes("database is busy")}r(st,"isTransientSqliteAvailabilityError");var Ce=[{version:1,run:r(t=>t.createSchema(),"run")},{version:2,run:r(t=>t.createHotQueryIndexes(),"run")},{version:3,run:r(t=>t.createReadModelTables(),"run")},{version:4,run:r(async()=>{},"run")},{version:5,run:r(async()=>{},"run")},{version:6,run:r(async()=>{},"run")},{version:7,run:r(t=>t.createModelUsageTables(),"run")},{version:8,run:r(t=>t.createLocalAgentScheduleTables(),"run")},{version:9,run:r(t=>t.createSubagentTables(),"run")},{version:10,run:r(async()=>{},"run")},{version:11,run:r(t=>t.createTrainingTables(),"run")},{version:12,run:r(t=>t.createTaskCreationProjectionTables(),"run")},{version:13,run:r(t=>t.createGraderAuditTables(),"run")},{version:14,run:r(t=>t.createTaskAttemptArtifactTables(),"run")},{version:15,run:r(t=>t.createTrainingChatSearchTables(),"run")},{version:16,run:r(t=>t.resetTrainingChatSearchForProgressiveIndexing(),"run")},{version:17,run:r(t=>t.createTaskMinerRunTables(),"run")},{version:19,run:r(t=>t.createCreateImproveRunTables(),"run")},{version:20,run:r(t=>t.createTrainingReceiptAndModelBindingTables(),"run")},{version:21,run:r(t=>t.createTasksetRevisionTables(),"run")},{version:24,run:r(t=>t.resetLegacySubagentTransportState(),"run")},{version:25,run:r(t=>t.resetLegacySubagentRuntimeEvents(),"run")},{version:26,run:r(t=>t.createDatasetImportTables(),"run")},{version:28,run:r(t=>t.createSidebarFileBookmarkTables(),"run")},{version:29,run:r(t=>t.createModelBuildDraftTables(),"run")},{version:30,run:r(t=>t.createModelProjectTables(),"run")},{version:31,run:r(t=>t.createModelLifecycleTables(),"run")},{version:32,run:r(t=>t.createTrainingTables(),"run")},{version:33,run:r(t=>t.retireGoalAndInsightsStorage(),"run")},{version:34,run:r(async()=>{},"run")},{version:35,run:r(t=>t.createWorkEvidenceTables(),"run")},{version:36,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:37,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:38,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:39,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:40,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:41,run:r(t=>t.createTrainingTables(),"run")},{version:43,run:r(t=>t.createHarnessWorkspaceTables(),"run")},{version:44,run:r(t=>t.createModelUsageTables(),"run")},{version:45,run:r(t=>t.createPreferenceComparisonTables(),"run")},{version:46,run:r(t=>t.createTasksetDraftTables(),"run")},{version:47,run:r(t=>t.createTrainingTables(),"run")},{version:48,run:r(t=>t.createTrainingTables(),"run")},{version:49,run:r(t=>t.consolidateModelProjectTrainingSetup(),"run")},{version:50,run:r(t=>t.repairUnverifiableLearnedPreferenceBindings(),"run")},{version:51,run:r(t=>t.createTrainingTables(),"run")},{version:52,run:r(t=>t.allowModelRunsWithoutVersion(),"run")},{version:53,run:r(t=>t.createTrainingTables(),"run")},{version:54,run:r(t=>t.createTrainingTables(),"run")},{version:55,run:r(t=>t.createTrainingTables(),"run")},{version:56,run:r(t=>t.createChatWorkflowTables(),"run")},{version:57,run:r(t=>t.createLearningTables(),"run")},{version:58,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:59,run:r(t=>t.createLearningTables(),"run")},{version:60,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:61,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:62,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:63,run:r(t=>t.createModelProjectAuthoringTables(),"run")},{version:64,run:r(t=>t.createTaskInboxTables(),"run")},{version:65,run:r(t=>t.createTrainingTables(),"run")},{version:66,run:r(t=>t.createTrainingTables(),"run")},{version:67,run:r(t=>t.createTaskInboxTables(),"run")},{version:68,run:r(t=>t.createChatResourceTables(),"run")},{version:69,run:r(t=>t.createChatResourceTables(),"run")},{version:70,run:r(t=>t.createChatResourceTables(),"run")},{version:71,run:r(t=>t.createEventTurnIndex(),"run")},{version:72,run:r(t=>t.deduplicateLocalDatasetStorage(),"run")}];async function ke(t){await t(`
1124
1124
  DELETE FROM subagent_messages;
1125
1125
  DELETE FROM subagent_runs;
1126
- `)}r(ye,"resetLegacySubagentTransportState");async function Ce(t,e){await t("DELETE FROM events WHERE name LIKE 'subagent.%'",[]),await e()}r(Ce,"resetLegacySubagentRuntimeEvents");async function we(t){await t.exec(`
1126
+ `)}r(ke,"resetLegacySubagentTransportState");async function Pe(t,e){await t("DELETE FROM events WHERE name LIKE 'subagent.%'",[]),await e()}r(Pe,"resetLegacySubagentRuntimeEvents");async function De(t){await t.exec(`
1127
1127
  CREATE TABLE IF NOT EXISTS model_projects (
1128
1128
  id TEXT PRIMARY KEY,
1129
1129
  profile_id TEXT NOT NULL,
@@ -1133,13 +1133,13 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
1133
1133
  );
1134
1134
  CREATE INDEX IF NOT EXISTS model_projects_profile_updated_idx
1135
1135
  ON model_projects(profile_id, updated_at DESC);
1136
- `);let e=await t.all("SELECT payload FROM model_build_drafts ORDER BY updated_at ASC");for(let a of e){let s=JSON.parse(a.payload),i=String(s.createdAt),n=String(s.updatedAt),T=String(s.modelId),d=String(s.profileId),o={schemaVersion:"openpond.modelProject.v2",id:T,profileId:d,revision:1,name:String(s.name??"Untitled Model"),objective:typeof s.objective=="string"?s.objective:null,defaultBaseModel:s.baseModel??null,defaultDestinationId:s.destinationId??null,trainingSetup:{tasksetRef:s.tasksetRef??null,harnessRelease:null,tasksetRelease:null,baseModel:s.baseModel??null,method:s.method??null,destinationId:s.destinationId??null,managedRolloutPlacement:s.managedRolloutPlacement??"remote",runPreset:s.runPreset??null,recipe:s.recipe??null,preferredMaximumSpendUsd:null,preferredRetentionDays:null},hosted:null,tasksetSyncs:[],createdAt:i,updatedAt:n};await t.run(`INSERT INTO model_projects (id, profile_id, payload, created_at, updated_at)
1136
+ `);let e=await t.all("SELECT payload FROM model_build_drafts ORDER BY updated_at ASC");for(let a of e){let s=JSON.parse(a.payload),i=String(s.createdAt),n=String(s.updatedAt),o=String(s.modelId),d=String(s.profileId),T={schemaVersion:"openpond.modelProject.v2",id:o,profileId:d,revision:1,name:String(s.name??"Untitled Model"),objective:typeof s.objective=="string"?s.objective:null,defaultBaseModel:s.baseModel??null,defaultDestinationId:s.destinationId??null,trainingSetup:{tasksetRef:s.tasksetRef??null,harnessRelease:null,tasksetRelease:null,baseModel:s.baseModel??null,method:s.method??null,destinationId:s.destinationId??null,managedRolloutPlacement:s.managedRolloutPlacement??"remote",runPreset:s.runPreset??null,recipe:s.recipe??null,preferredMaximumSpendUsd:null,preferredRetentionDays:null},hosted:null,tasksetSyncs:[],createdAt:i,updatedAt:n};await t.run(`INSERT INTO model_projects (id, profile_id, payload, created_at, updated_at)
1137
1137
  VALUES (?, ?, ?, ?, ?)
1138
- ON CONFLICT(id) DO UPDATE SET payload = excluded.payload, updated_at = excluded.updated_at`,[T,d,JSON.stringify(o),i,n])}await t.exec(`
1138
+ ON CONFLICT(id) DO UPDATE SET payload = excluded.payload, updated_at = excluded.updated_at`,[o,d,JSON.stringify(T),i,n])}await t.exec(`
1139
1139
  DROP INDEX IF EXISTS model_build_drafts_profile_updated_idx;
1140
1140
  DROP INDEX IF EXISTS model_build_drafts_model_idx;
1141
1141
  DROP TABLE IF EXISTS model_build_drafts;
1142
- `)}r(we,"createModelProjectTables");async function ke(t){await t.exec(`
1142
+ `)}r(De,"createModelProjectTables");async function be(t){await t.exec(`
1143
1143
  ALTER TABLE model_runs RENAME TO model_runs_before_nullable_version;
1144
1144
  CREATE TABLE model_runs (
1145
1145
  id TEXT PRIMARY KEY,
@@ -1163,11 +1163,11 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
1163
1163
  CREATE INDEX model_runs_profile_updated_idx ON model_runs(profile_id, updated_at DESC);
1164
1164
  CREATE INDEX model_runs_model_updated_idx ON model_runs(model_id, updated_at DESC);
1165
1165
  CREATE INDEX model_runs_taskset_updated_idx ON model_runs(taskset_id, updated_at DESC);
1166
- `)}r(ke,"allowModelRunsWithoutVersion");var K={tasksetRef:null,harnessRelease:null,tasksetRelease:null,baseModel:null,method:null,destinationId:null,managedRolloutPlacement:"remote",runPreset:null,recipe:null,preferredMaximumSpendUsd:null,preferredRetentionDays:null};async function De(t){let e="model_run_drafts",a=await t.all("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",[e]),s=new Map;if(a.length>0){let n=await t.all(`SELECT payload, updated_at FROM ${e} ORDER BY updated_at DESC`);for(let T of n){let d=JSON.parse(T.payload),o=typeof d.modelId=="string"?d.modelId:null;o&&!s.has(o)&&s.set(o,d)}}let i=await t.all("SELECT payload, updated_at FROM model_projects ORDER BY updated_at ASC");for(let n of i){let{ModelProjectSchema:T}=await import("./model-projects-AVBQDNYG.js"),{sanitizeUnverifiableLearnedPreferenceBindings:d}=await import("./store-learned-preference-migration-validation-KOCW5NOZ.js"),o=JSON.parse(n.payload),E=String(o.id),_=s.get(E),u=tt(o.trainingSetup)?o.trainingSetup:K,p=_&&typeof _.updatedAt=="string"?_.updatedAt:null,L=!!(_&&p&&p>=n.updated_at),c=L&&_?{...K,...u,tasksetRef:_.tasksetRef??u.tasksetRef??null,harnessRelease:_.harnessRelease??u.harnessRelease??null,tasksetRelease:_.tasksetRelease??u.tasksetRelease??null,baseModel:_.baseModel??u.baseModel??null,method:_.method??u.method??null,destinationId:_.destinationId??u.destinationId??null,managedRolloutPlacement:_.managedRolloutPlacement??u.managedRolloutPlacement??"remote",runPreset:_.runPreset??u.runPreset??null,recipe:_.recipe??u.recipe??null}:{...K,...u},N=d(c).value,X=typeof o.revision=="number"&&Number.isInteger(o.revision)?o.revision:1,O=L&&p?p:String(o.updatedAt??n.updated_at),A=T.parse({...o,schemaVersion:"openpond.modelProject.v2",revision:X+1,trainingSetup:N,hosted:o.hosted??null,tasksetSyncs:o.tasksetSyncs??[],updatedAt:O});await t.run("UPDATE model_projects SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(A),A.updatedAt,A.id])}await t.exec(`
1166
+ `)}r(be,"allowModelRunsWithoutVersion");var H={tasksetRef:null,harnessRelease:null,tasksetRelease:null,baseModel:null,method:null,destinationId:null,managedRolloutPlacement:"remote",runPreset:null,recipe:null,preferredMaximumSpendUsd:null,preferredRetentionDays:null};async function xe(t){let e="model_run_drafts",a=await t.all("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",[e]),s=new Map;if(a.length>0){let n=await t.all(`SELECT payload, updated_at FROM ${e} ORDER BY updated_at DESC`);for(let o of n){let d=JSON.parse(o.payload),T=typeof d.modelId=="string"?d.modelId:null;T&&!s.has(T)&&s.set(T,d)}}let i=await t.all("SELECT payload, updated_at FROM model_projects ORDER BY updated_at ASC");for(let n of i){let{ModelProjectSchema:o}=await import("./model-projects-YUAMBQTO.js"),{sanitizeUnverifiableLearnedPreferenceBindings:d}=await import("./store-learned-preference-migration-validation-X32SRBOM.js"),T=JSON.parse(n.payload),E=String(T.id),_=s.get(E),u=it(T.trainingSetup)?T.trainingSetup:H,p=_&&typeof _.updatedAt=="string"?_.updatedAt:null,L=!!(_&&p&&p>=n.updated_at),O=L&&_?{...H,...u,tasksetRef:_.tasksetRef??u.tasksetRef??null,harnessRelease:_.harnessRelease??u.harnessRelease??null,tasksetRelease:_.tasksetRelease??u.tasksetRelease??null,baseModel:_.baseModel??u.baseModel??null,method:_.method??u.method??null,destinationId:_.destinationId??u.destinationId??null,managedRolloutPlacement:_.managedRolloutPlacement??u.managedRolloutPlacement??"remote",runPreset:_.runPreset??u.runPreset??null,recipe:_.recipe??u.recipe??null}:{...H,...u},N=d(O).value,m=typeof T.revision=="number"&&Number.isInteger(T.revision)?T.revision:1,l=L&&p?p:String(T.updatedAt??n.updated_at),A=o.parse({...T,schemaVersion:"openpond.modelProject.v2",revision:m+1,trainingSetup:N,hosted:T.hosted??null,tasksetSyncs:T.tasksetSyncs??[],updatedAt:l});await t.run("UPDATE model_projects SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(A),A.updatedAt,A.id])}await t.exec(`
1167
1167
  DROP INDEX IF EXISTS model_run_drafts_profile_updated_idx;
1168
1168
  DROP INDEX IF EXISTS model_run_drafts_model_idx;
1169
1169
  DROP TABLE IF EXISTS model_run_drafts;
1170
- `)}r(De,"consolidateModelProjectTrainingSetup");async function Pe(t){for(let e of["model_projects","model_runs","training_plans"]){if((await t.all("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",[e])).length===0)continue;let s=await t.all(`SELECT id, payload FROM ${e} WHERE payload LIKE '%learnedPreference%'`);for(let i of s){let{sanitizeUnverifiableLearnedPreferenceBindings:n}=await import("./store-learned-preference-migration-validation-KOCW5NOZ.js"),T=n(JSON.parse(i.payload));T.changed&&await t.run(`UPDATE ${e} SET payload = ? WHERE id = ?`,[JSON.stringify(T.value),i.id])}}}r(Pe,"repairUnverifiableLearnedPreferenceBindings");function tt(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}r(tt,"isRecord");async function be(t){await t.exec(`
1170
+ `)}r(xe,"consolidateModelProjectTrainingSetup");async function Fe(t){for(let e of["model_projects","model_runs","training_plans"]){if((await t.all("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",[e])).length===0)continue;let s=await t.all(`SELECT id, payload FROM ${e} WHERE payload LIKE '%learnedPreference%'`);for(let i of s){let{sanitizeUnverifiableLearnedPreferenceBindings:n}=await import("./store-learned-preference-migration-validation-X32SRBOM.js"),o=n(JSON.parse(i.payload));o.changed&&await t.run(`UPDATE ${e} SET payload = ? WHERE id = ?`,[JSON.stringify(o.value),i.id])}}}r(Fe,"repairUnverifiableLearnedPreferenceBindings");function it(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}r(it,"isRecord");async function Me(t){await t.exec(`
1171
1171
  CREATE TABLE IF NOT EXISTS model_versions (
1172
1172
  id TEXT PRIMARY KEY,
1173
1173
  model_id TEXT NOT NULL,
@@ -1200,22 +1200,22 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
1200
1200
  ON model_runs(model_id, updated_at DESC);
1201
1201
  CREATE INDEX IF NOT EXISTS model_runs_taskset_updated_idx
1202
1202
  ON model_runs(taskset_id, updated_at DESC);
1203
- `)}r(be,"createModelLifecycleTables");async function xe(t){let a=(await t.all("SELECT id, payload FROM sessions")).flatMap(o=>JSON.parse(o.payload).systemKind==="openpond.insights"?[o.id]:[]),s=new Set(a),i=(await t.all("SELECT * FROM subagent_runs")).filter(o=>!s.has(o.parent_session_id)&&(!o.child_session_id||!s.has(o.child_session_id))),n=new Set(i.map(o=>o.id)),T=(await t.all("SELECT * FROM subagent_messages")).filter(o=>n.has(o.from_run_id)&&(!o.to_run_id||n.has(o.to_run_id)));for(let o of a)await t.run("DELETE FROM model_usage_records WHERE session_id = ?",[o]),await t.run("DELETE FROM projection_thread_details WHERE session_id = ?",[o]),await t.run("DELETE FROM projection_session_shells WHERE id = ?",[o]),await t.run("DELETE FROM projection_approvals WHERE session_id = ?",[o]),await t.run("DELETE FROM projection_latest_turns WHERE session_id = ?",[o]),await t.run("DELETE FROM approvals WHERE session_id = ?",[o]),await t.run("DELETE FROM events WHERE session_id = ?",[o]),await t.run("DELETE FROM turns WHERE session_id = ?",[o]),await t.run("DELETE FROM sessions WHERE id = ?",[o]);await t.run(`DELETE FROM model_usage_records
1203
+ `)}r(Me,"createModelLifecycleTables");async function Ye(t){let a=(await t.all("SELECT id, payload FROM sessions")).flatMap(T=>JSON.parse(T.payload).systemKind==="openpond.insights"?[T.id]:[]),s=new Set(a),i=(await t.all("SELECT * FROM subagent_runs")).filter(T=>!s.has(T.parent_session_id)&&(!T.child_session_id||!s.has(T.child_session_id))),n=new Set(i.map(T=>T.id)),o=(await t.all("SELECT * FROM subagent_messages")).filter(T=>n.has(T.from_run_id)&&(!T.to_run_id||n.has(T.to_run_id)));for(let T of a)await t.run("DELETE FROM model_usage_records WHERE session_id = ?",[T]),await t.run("DELETE FROM projection_thread_details WHERE session_id = ?",[T]),await t.run("DELETE FROM projection_session_shells WHERE id = ?",[T]),await t.run("DELETE FROM projection_approvals WHERE session_id = ?",[T]),await t.run("DELETE FROM projection_latest_turns WHERE session_id = ?",[T]),await t.run("DELETE FROM approvals WHERE session_id = ?",[T]),await t.run("DELETE FROM events WHERE session_id = ?",[T]),await t.run("DELETE FROM turns WHERE session_id = ?",[T]),await t.run("DELETE FROM sessions WHERE id = ?",[T]);await t.run(`DELETE FROM model_usage_records
1204
1204
  WHERE request_kind IN ('insights_scan', 'insights_question', 'goal_control')`,[]);let d=await t.get(`SELECT payload FROM cache_entries
1205
- WHERE type = 'local.projects' AND cache_key = 'v1'`,[]);if(d){let o=JSON.parse(d.payload);if(Array.isArray(o)){let E=o.filter(_=>{if(!_||typeof _!="object"||Array.isArray(_))return!0;let u=_;return u.id!=="system_openpond_insights"&&u.systemKind!=="openpond.insights"});await t.run(`UPDATE cache_entries SET payload = ?
1205
+ WHERE type = 'local.projects' AND cache_key = 'v1'`,[]);if(d){let T=JSON.parse(d.payload);if(Array.isArray(T)){let E=T.filter(_=>{if(!_||typeof _!="object"||Array.isArray(_))return!0;let u=_;return u.id!=="system_openpond_insights"&&u.systemKind!=="openpond.insights"});await t.run(`UPDATE cache_entries SET payload = ?
1206
1206
  WHERE type = 'local.projects' AND cache_key = 'v1'`,[JSON.stringify(E)])}}await t.exec(`
1207
1207
  DROP TABLE IF EXISTS insight_items;
1208
1208
  DROP TABLE IF EXISTS openpond_thread_goals;
1209
1209
  DROP TABLE IF EXISTS subagent_messages;
1210
1210
  DROP TABLE IF EXISTS subagent_runs;
1211
- `),await t.createSubagentTables();for(let o of i){let E=JSON.parse(o.payload);delete E.parentGoalId,E.peerMessages==="goal_scoped"&&(E.peerMessages="parent_scoped"),await t.run(`INSERT INTO subagent_runs (
1211
+ `),await t.createSubagentTables();for(let T of i){let E=JSON.parse(T.payload);delete E.parentGoalId,E.peerMessages==="goal_scoped"&&(E.peerMessages="parent_scoped"),await t.run(`INSERT INTO subagent_runs (
1212
1212
  id, parent_session_id, parent_turn_id, child_session_id, role_id,
1213
1213
  status, payload, created_at, updated_at
1214
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[o.id,o.parent_session_id,o.parent_turn_id,o.child_session_id,o.role_id,o.status,JSON.stringify(E),o.created_at,o.updated_at])}for(let o of T){let E=JSON.parse(o.payload);delete E.parentGoalId,await t.run(`INSERT INTO subagent_messages (
1214
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[T.id,T.parent_session_id,T.parent_turn_id,T.child_session_id,T.role_id,T.status,JSON.stringify(E),T.created_at,T.updated_at])}for(let T of o){let E=JSON.parse(T.payload);delete E.parentGoalId,await t.run(`INSERT INTO subagent_messages (
1215
1215
  id, from_run_id, to_run_id, to_role, kind, payload, created_at
1216
- ) VALUES (?, ?, ?, ?, ?, ?, ?)`,[o.id,o.from_run_id,o.to_run_id,o.to_role,o.kind,JSON.stringify(E),o.created_at])}await t.run(`UPDATE cache_entries
1216
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)`,[T.id,T.from_run_id,T.to_run_id,T.to_role,T.kind,JSON.stringify(E),T.created_at])}await t.run(`UPDATE cache_entries
1217
1217
  SET payload = replace(payload, '"goal_scoped"', '"parent_scoped"')
1218
- WHERE instr(payload, '"goal_scoped"') > 0`,[])}r(xe,"retireGoalAndInsightsStorageState");var Fe=`
1218
+ WHERE instr(payload, '"goal_scoped"') > 0`,[])}r(Ye,"retireGoalAndInsightsStorageState");var Be=`
1219
1219
  CREATE TABLE IF NOT EXISTS training_sources (id TEXT PRIMARY KEY, profile_id TEXT NOT NULL, source_kind TEXT NOT NULL, session_id TEXT, source_hash TEXT NOT NULL, repository_id TEXT, revision TEXT, payload TEXT NOT NULL, created_at TEXT NOT NULL, updated_at TEXT NOT NULL);
1220
1220
  CREATE INDEX IF NOT EXISTS training_sources_profile_updated_idx ON training_sources(profile_id, updated_at DESC);
1221
1221
  CREATE INDEX IF NOT EXISTS training_sources_session_idx ON training_sources(session_id);
@@ -1310,7 +1310,7 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
1310
1310
  CREATE TABLE IF NOT EXISTS model_artifact_lineage (id TEXT PRIMARY KEY, artifact_id TEXT NOT NULL, taskset_id TEXT NOT NULL, payload TEXT NOT NULL, created_at TEXT NOT NULL);
1311
1311
  CREATE UNIQUE INDEX IF NOT EXISTS model_lineage_artifact_idx ON model_artifact_lineage(artifact_id);
1312
1312
  CREATE INDEX IF NOT EXISTS model_lineage_taskset_idx ON model_artifact_lineage(taskset_id, created_at DESC);
1313
- `;var Me=`
1313
+ `;var je=`
1314
1314
  CREATE TABLE IF NOT EXISTS learning_revisions (
1315
1315
  scope TEXT NOT NULL,
1316
1316
  kind TEXT NOT NULL,
@@ -1354,7 +1354,7 @@ CREATE TABLE IF NOT EXISTS learning_source_credentials (
1354
1354
  payload TEXT NOT NULL
1355
1355
  );
1356
1356
  CREATE INDEX IF NOT EXISTS learning_source_credentials_scope_idx ON learning_source_credentials (scope, source_id, id);
1357
- `;var Ye=`
1357
+ `;var qe=`
1358
1358
  CREATE TABLE IF NOT EXISTS model_taskset_draft_operations (
1359
1359
  profile_id TEXT NOT NULL,
1360
1360
  operation_id TEXT NOT NULL,
@@ -1400,7 +1400,7 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1400
1400
  state TEXT NOT NULL CHECK (state IN ('preparing', 'materialized', 'committed')),
1401
1401
  PRIMARY KEY (profile_id, operation_id)
1402
1402
  );
1403
- `;import{promises as C}from"node:fs";import R from"node:path";var at=2,st=2*1024**3,it=/^state-(\d{14})-before-v(\d+)(?:-[a-f0-9]{8})?$/;async function H(t){let e=await C.readdir(R.join(t,"backups"),{withFileTypes:!0}).catch(s=>{if(s.code==="ENOENT")return[];throw s});return(await Promise.all(e.filter(s=>s.isDirectory()&&it.test(s.name)).map(async s=>({name:s.name,modified:(await C.stat(R.join(t,"backups",s.name))).mtimeMs})))).sort((s,i)=>i.name.slice(6,20).localeCompare(s.name.slice(6,20))||i.modified-s.modified||i.name.localeCompare(s.name)).map(s=>s.name)}r(H,"migrationBackupDirectories");async function Be(t,e={}){let a=R.join(t,"backups"),s=await H(t);if(e.protectedBackup){let E=R.basename(e.protectedBackup),_=s.indexOf(E);_>=0&&s.unshift(...s.splice(_,1))}let i=Math.max(1,e.maxCount??at),n=Math.max(0,e.maxBytes??st),T=[],d=[],o=0;for(let E of s){let _=await je(R.join(a,E));!T.length||T.length<i&&o+_<=n?(T.push(E),o+=_):d.push(E)}for(let E of d)await C.rm(R.join(a,E),{recursive:!0,force:!0});return{removed:d,retained:T}}r(Be,"pruneMigrationBackups");async function je(t){let e=0;for(let a of await C.readdir(t,{withFileTypes:!0})){let s=R.join(t,a.name);e+=a.isDirectory()?await je(s):(await C.lstat(s)).size}return e}r(je,"directoryBytes");import{createHash as rt,randomUUID as nt}from"node:crypto";import{createReadStream as ot,promises as m}from"node:fs";import I from"node:path";import{backup as Tt}from"node:sqlite";async function P(t){let e=rt("sha256");for await(let a of ot(t))e.update(a);return e.digest("hex")}r(P,"digest");async function Ke(t){let{storeDir:e,storePath:a,sourceVersion:s,logger:i,onProgress:n}=t,T=I.join(e,"backups");await Y(T);for(let p of await m.readdir(T,{withFileTypes:!0}))p.isDirectory()&&/^\.state-\d{14}-before-v\d+-[a-f0-9]{8}\.preparing$/.test(p.name)&&await m.rm(I.join(T,p.name),{recursive:!0,force:!0});let d=await m.stat(`${a}-wal`).then(p=>p.size).catch(p=>{if(p.code==="ENOENT")return 0;throw p});n?.({phase:"verify",message:"Checking your recovery snapshot"}),i?.info("sqlite migration backup checking",{sourceVersion:s,storePath:a});let o=`${await P(a)}:${d?await P(`${a}-wal`):"empty"}`;for(let p of await H(e)){let L=I.join(T,p),c=await W(I.join(L,"receipt.json"));if(!c)continue;let N;try{N=JSON.parse(c)}catch{continue}if(!N||N.version!==1||N.sourceVersion!==s||N.sourceFingerprint!==o)continue;let X=I.join(L,"state.sqlite");try{if((await m.lstat(X)).isSymbolicLink()||await P(X)!==N.backupDigest)continue;return qe(X,s),i?.info("sqlite migration backup reused",{backupDir:L,sourceVersion:s}),L}catch(O){i?.warn("sqlite migration backup cannot be reused",{backupDir:L,error:O})}}let E=`state-${re()}-before-v${s+1}-${nt().slice(0,8)}`,_=I.join(T,`.${E}.preparing`),u=I.join(T,E);await Y(_);try{let p=I.join(_,"state.sqlite"),L=B(a,!0),c=-1;n?.({phase:"backup",message:"Saving a recovery copy of your data",percent:0}),i?.info("sqlite migration backup started",{sourceVersion:s,backupDir:u});try{await Tt(L,p,{progress:r(({totalPages:O,remainingPages:A})=>{let w=O?Math.floor((O-A)*10/O)*10:100;w>c&&(c=w,n?.({phase:"backup",message:"Saving a recovery copy of your data",percent:w}),i?.info("sqlite migration backup progress",{progress:w,backupDir:u}))},"progress")})}finally{L.close()}await m.chmod(p,384),n?.({phase:"verify",message:"Verifying your recovery copy"}),qe(p,s);let N={version:1,sourceVersion:s,sourceFingerprint:o,backupDigest:await P(p)},X=await m.open(p,"r");try{await X.sync()}finally{await X.close()}if(await Q(I.join(_,"receipt.json"),JSON.stringify(N)),await m.rename(_,u),process.platform!=="win32"){let O=await m.open(T,"r");try{await O.sync()}finally{await O.close()}}return i?.info("sqlite backup created",{backupDir:u,copied:1}),u}finally{await m.rm(_,{recursive:!0,force:!0})}}r(Ke,"ensureMigrationBackup");function qe(t,e){let a=B(t,!0);try{let s=a.prepare("PRAGMA user_version").get(),i=a.prepare("PRAGMA quick_check").all();if(s.user_version!==e||i.some(n=>n.quick_check!=="ok"))throw new Error("Migration backup failed verification")}finally{a.close()}}r(qe,"verifyBackup");var He=`
1403
+ `;import{promises as w}from"node:fs";import R from"node:path";var rt=2,nt=2*1024**3,ot=/^state-(\d{14})-before-v(\d+)(?:-[a-f0-9]{8})?$/;async function G(t){let e=await w.readdir(R.join(t,"backups"),{withFileTypes:!0}).catch(s=>{if(s.code==="ENOENT")return[];throw s});return(await Promise.all(e.filter(s=>s.isDirectory()&&ot.test(s.name)).map(async s=>({name:s.name,modified:(await w.stat(R.join(t,"backups",s.name))).mtimeMs})))).sort((s,i)=>i.name.slice(6,20).localeCompare(s.name.slice(6,20))||i.modified-s.modified||i.name.localeCompare(s.name)).map(s=>s.name)}r(G,"migrationBackupDirectories");async function Ke(t,e={}){let a=R.join(t,"backups"),s=await G(t);if(e.protectedBackup){let E=R.basename(e.protectedBackup),_=s.indexOf(E);_>=0&&s.unshift(...s.splice(_,1))}let i=Math.max(1,e.maxCount??rt),n=Math.max(0,e.maxBytes??nt),o=[],d=[],T=0;for(let E of s){let _=await He(R.join(a,E));!o.length||o.length<i&&T+_<=n?(o.push(E),T+=_):d.push(E)}for(let E of d)await w.rm(R.join(a,E),{recursive:!0,force:!0});return{removed:d,retained:o}}r(Ke,"pruneMigrationBackups");async function He(t){let e=0;for(let a of await w.readdir(t,{withFileTypes:!0})){let s=R.join(t,a.name);e+=a.isDirectory()?await He(s):(await w.lstat(s)).size}return e}r(He,"directoryBytes");import{createHash as Tt,randomUUID as dt}from"node:crypto";import{createReadStream as Et,promises as I}from"node:fs";import X from"node:path";import{backup as _t}from"node:sqlite";async function D(t){let e=Tt("sha256");for await(let a of Et(t))e.update(a);return e.digest("hex")}r(D,"digest");async function We(t){let{storeDir:e,storePath:a,sourceVersion:s,logger:i,onProgress:n}=t,o=X.join(e,"backups");await Y(o);for(let p of await I.readdir(o,{withFileTypes:!0}))p.isDirectory()&&/^\.state-\d{14}-before-v\d+-[a-f0-9]{8}\.preparing$/.test(p.name)&&await I.rm(X.join(o,p.name),{recursive:!0,force:!0});let d=await I.stat(`${a}-wal`).then(p=>p.size).catch(p=>{if(p.code==="ENOENT")return 0;throw p});n?.({phase:"verify",message:"Checking your recovery snapshot"}),i?.info("sqlite migration backup checking",{sourceVersion:s,storePath:a});let T=`${await D(a)}:${d?await D(`${a}-wal`):"empty"}`;for(let p of await G(e)){let L=X.join(o,p),O=await Q(X.join(L,"receipt.json"));if(!O)continue;let N;try{N=JSON.parse(O)}catch{continue}if(!N||N.version!==1||N.sourceVersion!==s||N.sourceFingerprint!==T)continue;let m=X.join(L,"state.sqlite");try{if((await I.lstat(m)).isSymbolicLink()||await D(m)!==N.backupDigest)continue;return Ge(m,s),i?.info("sqlite migration backup reused",{backupDir:L,sourceVersion:s}),L}catch(l){i?.warn("sqlite migration backup cannot be reused",{backupDir:L,error:l})}}let E=`state-${Te()}-before-v${s+1}-${dt().slice(0,8)}`,_=X.join(o,`.${E}.preparing`),u=X.join(o,E);await Y(_);try{let p=X.join(_,"state.sqlite"),L=B(a,!0),O=-1;n?.({phase:"backup",message:"Saving a recovery copy of your data",percent:0}),i?.info("sqlite migration backup started",{sourceVersion:s,backupDir:u});try{await _t(L,p,{progress:r(({totalPages:l,remainingPages:A})=>{let C=l?Math.floor((l-A)*10/l)*10:100;C>O&&(O=C,n?.({phase:"backup",message:"Saving a recovery copy of your data",percent:C}),i?.info("sqlite migration backup progress",{progress:C,backupDir:u}))},"progress")})}finally{L.close()}await I.chmod(p,384),n?.({phase:"verify",message:"Verifying your recovery copy"}),Ge(p,s);let N={version:1,sourceVersion:s,sourceFingerprint:T,backupDigest:await D(p)},m=await I.open(p,"r");try{await m.sync()}finally{await m.close()}if(await J(X.join(_,"receipt.json"),JSON.stringify(N)),await I.rename(_,u),process.platform!=="win32"){let l=await I.open(o,"r");try{await l.sync()}finally{await l.close()}}return i?.info("sqlite backup created",{backupDir:u,copied:1}),u}finally{await I.rm(_,{recursive:!0,force:!0})}}r(We,"ensureMigrationBackup");function Ge(t,e){let a=B(t,!0);try{let s=a.prepare("PRAGMA user_version").get(),i=a.prepare("PRAGMA quick_check").all();if(s.user_version!==e||i.some(n=>n.quick_check!=="ok"))throw new Error("Migration backup failed verification")}finally{a.close()}}r(Ge,"verifyBackup");var Qe=`
1404
1404
  CREATE TABLE IF NOT EXISTS ponder_desktop_inspections (
1405
1405
  operation_id TEXT PRIMARY KEY,
1406
1406
  payload_hash TEXT NOT NULL,
@@ -1498,11 +1498,11 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1498
1498
  created_at TEXT NOT NULL
1499
1499
  );
1500
1500
  CREATE INDEX IF NOT EXISTS task_completion_pending_idx ON task_completion_outbox(created_at) WHERE input_id IS NULL;
1501
- `;var We=[0,100,250,500],x=class{static{r(this,"SqliteStoreCore")}async createChatResourceTables(){await this.exec(Te)}async deduplicateLocalDatasetStorage(){this.compactDatasetMigration=de(this.database)}async createTaskInboxTables(){await this.exec(He)}async createLearningTables(){await this.exec(Me)}async createModelProjectAuthoringTables(){await this.exec(Ye)}storePath;home;data={sessions:[],turns:[],approvals:[]};ready;db=null;writeQueue=Promise.resolve();compactDatasetMigration=!1;logger;onMigrationProgress;constructor(e,a={}){this.home=b.resolve(e),this.storePath=b.join(this.home,"state","state.sqlite"),this.logger=a.logger,this.onMigrationProgress=a.onMigrationProgress,this.ready=this.load(e)}domainContext(){let e=this;return{get home(){return e.home},get storePath(){return e.storePath},get logger(){return e.logger},get ready(){return e.ready},get db(){return e.db},get database(){return e.database},get writeQueue(){return e.writeQueue},set writeQueue(a){e.writeQueue=a}}}async recentTurns(e=2e3){await this.ready,await this.writeQueue;let a=Math.max(1,Math.min(1e4,Math.trunc(e)));return(await this.all("SELECT payload FROM turns ORDER BY sort_index DESC LIMIT ?",[a])).map(i=>JSON.parse(i.payload)).reverse()}async load(e){await Ge.mkdir(b.dirname(this.storePath),{recursive:!0,mode:448}),await J(b.join(e,"runtime","schema-migration"),async()=>{let a=await this.fileExists(this.storePath);await this.openDatabaseWithRecovery();let s=await this.runMigrations(e,a);if(this.data=await ne({allPayloadRows:r((i,n)=>this.all(i,n),"allPayloadRows")}),await Be(e,{protectedBackup:s}).then(({removed:i,retained:n})=>{i.length&&this.logger?.info("sqlite migration backups pruned",{removed:i,retained:n,storePath:this.storePath})}).catch(i=>this.logger?.warn("sqlite migration backup pruning failed",{error:i,storePath:this.storePath})),this.compactDatasetMigration)try{await this.exec("VACUUM")}catch(i){this.logger?.warn("sqlite dataset compaction deferred",{error:i,storePath:this.storePath})}},3e5).catch(async a=>{throw await this.closeDatabaseHandle(),a})}async configureDatabase(){await this.exec(`
1501
+ `;var Ve=[0,100,250,500],x=class{static{r(this,"SqliteStoreCore")}async createChatResourceTables(){await this.exec(_e)}async deduplicateLocalDatasetStorage(){this.compactDatasetMigration=le(this.database)}async createTaskInboxTables(){await this.exec(Qe),await this.exec(j)}async createLearningTables(){await this.exec(je)}async createModelProjectAuthoringTables(){await this.exec(qe)}storePath;home;data={sessions:[],turns:[],approvals:[]};ready;db=null;writeQueue=Promise.resolve();compactDatasetMigration=!1;logger;onMigrationProgress;constructor(e,a={}){this.home=b.resolve(e),this.storePath=b.join(this.home,"state","state.sqlite"),this.logger=a.logger,this.onMigrationProgress=a.onMigrationProgress,this.ready=this.load(e)}domainContext(){let e=this;return{get home(){return e.home},get storePath(){return e.storePath},get logger(){return e.logger},get ready(){return e.ready},get db(){return e.db},get database(){return e.database},get writeQueue(){return e.writeQueue},set writeQueue(a){e.writeQueue=a}}}async recentTurns(e=2e3){await this.ready,await this.writeQueue;let a=Math.max(1,Math.min(1e4,Math.trunc(e)));return(await this.all("SELECT payload FROM turns ORDER BY sort_index DESC LIMIT ?",[a])).map(i=>JSON.parse(i.payload)).reverse()}async load(e){await Je.mkdir(b.dirname(this.storePath),{recursive:!0,mode:448}),await V(b.join(e,"runtime","schema-migration"),async()=>{let a=await this.fileExists(this.storePath);await this.openDatabaseWithRecovery();let s=await this.runMigrations(e,a);if(this.data=await de({allPayloadRows:r((i,n)=>this.all(i,n),"allPayloadRows")}),await Ke(e,{protectedBackup:s}).then(({removed:i,retained:n})=>{i.length&&this.logger?.info("sqlite migration backups pruned",{removed:i,retained:n,storePath:this.storePath})}).catch(i=>this.logger?.warn("sqlite migration backup pruning failed",{error:i,storePath:this.storePath})),this.compactDatasetMigration)try{await this.exec("VACUUM")}catch(i){this.logger?.warn("sqlite dataset compaction deferred",{error:i,storePath:this.storePath})}},3e5).catch(async a=>{throw await this.closeDatabaseHandle(),a})}async configureDatabase(){await this.exec(`
1502
1502
  PRAGMA journal_mode = WAL;
1503
1503
  PRAGMA foreign_keys = ON;
1504
1504
  PRAGMA synchronous = FULL;
1505
- `)}async assertHealthyDatabase(){let a=(await this.all("PRAGMA quick_check")).map(s=>s.quick_check).filter(s=>s!=="ok");if(a.length>0)throw new y(`SQLite quick_check failed: ${a.join("; ")}`)}async assertHealthyDatabaseWithRetry(){await Ae({check:r(()=>this.assertHealthyDatabase(),"check"),onRetry:r(({attempt:e,retryDelayMs:a,error:s})=>{this.logger?.warn("sqlite health check temporarily unavailable; retrying",{storePath:this.storePath,attempt:e,retryDelayMs:a,error:s})},"onRetry")})}async runMigrations(e,a){let s=await this.userVersion();if(s>72)throw new Error(`SQLite schema version ${s} is newer than this app supports (${72})`);if(s===72)return;if(this.onMigrationProgress?.({phase:"backup",message:"Preparing your data upgrade"}),(await this.get("PRAGMA wal_checkpoint(TRUNCATE)",[]))?.busy)throw new Error("Database is busy; close other OpenPond processes before upgrading its schema.");await this.exec("BEGIN IMMEDIATE");try{if(await this.userVersion()!==s)throw new Error("Database schema changed while preparing migration; retry startup.");let n=a?await Ke({storeDir:e,storePath:this.storePath,sourceVersion:s,logger:this.logger,onProgress:this.onMigrationProgress}):void 0;for(let T of fe.filter(d=>d.version>s))this.onMigrationProgress?.({phase:"migrate",message:"Updating your local data"}),this.logger?.info("sqlite migration applying",{version:T.version,storePath:this.storePath}),await T.run(this),await this.exec(`PRAGMA user_version = ${T.version}`);return this.onMigrationProgress?.({phase:"verify",message:"Verifying your updated data"}),await this.assertHealthyDatabaseWithRetry(),await this.exec("COMMIT"),this.onMigrationProgress?.({phase:"complete",message:"Data upgrade complete. Starting OpenPond"}),this.logger?.info("sqlite migration completed",{fromVersion:s,version:72,storePath:this.storePath}),n}catch(n){throw await this.exec("ROLLBACK").catch(()=>{}),this.logger?.error("sqlite migration failed; upgrade rolled back",{fromVersion:s,error:n}),n}}async userVersion(){return(await this.get("PRAGMA user_version",[]))?.user_version??0}async openDatabaseWithRecovery(){try{this.db=await this.openDatabaseWithRetry(),await this.configureDatabase(),await this.userVersion()<72&&this.onMigrationProgress?.({phase:"verify",message:"Checking your data before the upgrade"}),await this.assertHealthyDatabaseWithRetry()}catch(e){throw await this.closeDatabaseHandle(),ge(e)?new G({code:"DATABASE_RECOVERY_REQUIRED",path:this.storePath,message:"The authoritative database failed its integrity check.",action:"Restore a verified backup into a separate home. Existing history has been preserved."},{cause:e}):e}}async openDatabaseWithRetry(){let e=null;for(let a of We){a>0&&await new Promise(s=>setTimeout(s,a));try{return await this.openDatabase(this.storePath)}catch(s){e=s}}throw this.logger?.error("sqlite open failed; preserving database files",{storePath:this.storePath,attempts:We.length,error:e}),e}databaseFiles(){return[this.storePath,`${this.storePath}-wal`,`${this.storePath}-shm`]}async fileExists(e){try{return await Ge.access(e),!0}catch{return!1}}async createSchema(){await this.exec(le)}async createWorkEvidenceTables(){await this.exec(`
1505
+ `)}async assertHealthyDatabase(){let a=(await this.all("PRAGMA quick_check")).map(s=>s.quick_check).filter(s=>s!=="ok");if(a.length>0)throw new f(`SQLite quick_check failed: ${a.join("; ")}`)}async assertHealthyDatabaseWithRetry(){await ye({check:r(()=>this.assertHealthyDatabase(),"check"),onRetry:r(({attempt:e,retryDelayMs:a,error:s})=>{this.logger?.warn("sqlite health check temporarily unavailable; retrying",{storePath:this.storePath,attempt:e,retryDelayMs:a,error:s})},"onRetry")})}async runMigrations(e,a){let s=await this.userVersion();if(s>72)throw new Error(`SQLite schema version ${s} is newer than this app supports (${72})`);if(s===72)return;if(this.onMigrationProgress?.({phase:"backup",message:"Preparing your data upgrade"}),(await this.get("PRAGMA wal_checkpoint(TRUNCATE)",[]))?.busy)throw new Error("Database is busy; close other OpenPond processes before upgrading its schema.");await this.exec("BEGIN IMMEDIATE");try{if(await this.userVersion()!==s)throw new Error("Database schema changed while preparing migration; retry startup.");let n=a?await We({storeDir:e,storePath:this.storePath,sourceVersion:s,logger:this.logger,onProgress:this.onMigrationProgress}):void 0;for(let o of Ce.filter(d=>d.version>s))this.onMigrationProgress?.({phase:"migrate",message:"Updating your local data"}),this.logger?.info("sqlite migration applying",{version:o.version,storePath:this.storePath}),await o.run(this),await this.exec(`PRAGMA user_version = ${o.version}`);return this.onMigrationProgress?.({phase:"verify",message:"Verifying your updated data"}),await this.assertHealthyDatabaseWithRetry(),await this.exec("COMMIT"),this.onMigrationProgress?.({phase:"complete",message:"Data upgrade complete. Starting OpenPond"}),this.logger?.info("sqlite migration completed",{fromVersion:s,version:72,storePath:this.storePath}),n}catch(n){throw await this.exec("ROLLBACK").catch(()=>{}),this.logger?.error("sqlite migration failed; upgrade rolled back",{fromVersion:s,error:n}),n}}async userVersion(){return(await this.get("PRAGMA user_version",[]))?.user_version??0}async openDatabaseWithRecovery(){try{this.db=await this.openDatabaseWithRetry(),await this.configureDatabase(),await this.userVersion()<72&&this.onMigrationProgress?.({phase:"verify",message:"Checking your data before the upgrade"}),await this.assertHealthyDatabaseWithRetry()}catch(e){throw await this.closeDatabaseHandle(),ve(e)?new W({code:"DATABASE_RECOVERY_REQUIRED",path:this.storePath,message:"The authoritative database failed its integrity check.",action:"Restore a verified backup into a separate home. Existing history has been preserved."},{cause:e}):e}}async openDatabaseWithRetry(){let e=null;for(let a of Ve){a>0&&await new Promise(s=>setTimeout(s,a));try{return await this.openDatabase(this.storePath)}catch(s){e=s}}throw this.logger?.error("sqlite open failed; preserving database files",{storePath:this.storePath,attempts:Ve.length,error:e}),e}databaseFiles(){return[this.storePath,`${this.storePath}-wal`,`${this.storePath}-shm`]}async fileExists(e){try{return await Je.access(e),!0}catch{return!1}}async createSchema(){await this.exec(pe),await this.exec(j)}async createWorkEvidenceTables(){await this.exec(`
1506
1506
  CREATE TABLE IF NOT EXISTS work_evidence_receipts (
1507
1507
  id TEXT PRIMARY KEY,
1508
1508
  source_revision_hash TEXT NOT NULL UNIQUE,
@@ -1525,7 +1525,7 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1525
1525
  ON work_feedback_receipts(evidence_receipt_id, created_at ASC);
1526
1526
  CREATE INDEX IF NOT EXISTS work_feedback_output_idx
1527
1527
  ON work_feedback_receipts(output_revision_hash, created_at ASC);
1528
- `)}async createHarnessWorkspaceTables(){await he(e=>this.exec(e)),await this.addColumnIfMissing("harness_evaluation_review_settings","activity_enabled","INTEGER NOT NULL DEFAULT 0"),await this.addColumnIfMissing("harness_evaluation_review_settings","activity_batch_size","INTEGER NOT NULL DEFAULT 10")}async createSidebarFileBookmarkTables(){await Xe(e=>this.exec(e))}async createEventTurnIndex(){await this.exec("CREATE INDEX IF NOT EXISTS events_turn_sequence_idx ON events(turn_id, sequence)")}async createHotQueryIndexes(){await this.addColumnIfMissing("turns","provider_turn_id","TEXT"),await this.addColumnIfMissing("turns","status","TEXT"),await this.backfillTurnQueryColumns(),await this.exec(`
1528
+ `)}async createHarnessWorkspaceTables(){await Ue(e=>this.exec(e)),await this.addColumnIfMissing("harness_evaluation_review_settings","activity_enabled","INTEGER NOT NULL DEFAULT 0"),await this.addColumnIfMissing("harness_evaluation_review_settings","activity_batch_size","INTEGER NOT NULL DEFAULT 10")}async createSidebarFileBookmarkTables(){await ge(e=>this.exec(e))}async createEventTurnIndex(){await this.exec("CREATE INDEX IF NOT EXISTS events_turn_sequence_idx ON events(turn_id, sequence)")}async createHotQueryIndexes(){await this.addColumnIfMissing("turns","provider_turn_id","TEXT"),await this.addColumnIfMissing("turns","status","TEXT"),await this.backfillTurnQueryColumns(),await this.exec(`
1529
1529
  CREATE INDEX IF NOT EXISTS turns_session_sort_idx ON turns(session_id, sort_index DESC);
1530
1530
  CREATE INDEX IF NOT EXISTS turns_session_status_sort_idx ON turns(session_id, status, sort_index DESC);
1531
1531
  CREATE INDEX IF NOT EXISTS turns_provider_turn_id_idx ON turns(provider_turn_id);
@@ -1657,7 +1657,7 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1657
1657
 
1658
1658
  CREATE INDEX IF NOT EXISTS local_agent_schedule_runs_schedule_idx
1659
1659
  ON local_agent_schedule_runs(schedule_id, created_at DESC);
1660
- `)}async createChatWorkflowTables(){return Re(e=>this.exec(e))}async createSubagentTables(){await this.exec(`
1660
+ `)}async createChatWorkflowTables(){return Ae(e=>this.exec(e))}async createSubagentTables(){await this.exec(`
1661
1661
  CREATE TABLE IF NOT EXISTS subagent_runs (
1662
1662
  id TEXT PRIMARY KEY,
1663
1663
  parent_session_id TEXT NOT NULL,
@@ -1688,7 +1688,7 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1688
1688
 
1689
1689
  CREATE INDEX IF NOT EXISTS subagent_messages_receiver_created_idx
1690
1690
  ON subagent_messages(to_run_id, to_role, created_at);
1691
- `)}async retireGoalAndInsightsStorage(){await xe({all:r((e,a)=>this.all(e,a),"all"),get:r((e,a=[])=>this.get(e,a),"get"),run:r((e,a=[])=>this.run(e,a),"run"),exec:r(e=>this.exec(e),"exec"),createSubagentTables:r(()=>this.createSubagentTables(),"createSubagentTables")})}async resetLegacySubagentTransportState(){await ye(e=>this.exec(e))}async resetLegacySubagentRuntimeEvents(){await Ce((e,a)=>this.run(e,a),()=>this.rebuildReadModels())}async createCreateImproveRunTables(){await ce(e=>this.exec(e))}async createTrainingTables(){await this.exec(Fe)}async createTasksetDraftTables(){await this.exec(`
1691
+ `)}async retireGoalAndInsightsStorage(){await Ye({all:r((e,a)=>this.all(e,a),"all"),get:r((e,a=[])=>this.get(e,a),"get"),run:r((e,a=[])=>this.run(e,a),"run"),exec:r(e=>this.exec(e),"exec"),createSubagentTables:r(()=>this.createSubagentTables(),"createSubagentTables")})}async resetLegacySubagentTransportState(){await ke(e=>this.exec(e))}async resetLegacySubagentRuntimeEvents(){await Pe((e,a)=>this.run(e,a),()=>this.rebuildReadModels())}async createCreateImproveRunTables(){await Le(e=>this.exec(e))}async createTrainingTables(){await this.exec(Be)}async createTasksetDraftTables(){await this.exec(`
1692
1692
  CREATE TABLE IF NOT EXISTS taskset_drafts (
1693
1693
  id TEXT PRIMARY KEY,
1694
1694
  profile_id TEXT NOT NULL,
@@ -1714,7 +1714,7 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1714
1714
  ON model_build_drafts(profile_id, updated_at DESC);
1715
1715
  CREATE INDEX IF NOT EXISTS model_build_drafts_model_idx
1716
1716
  ON model_build_drafts(model_id, updated_at DESC);
1717
- `)}async createModelProjectTables(){await we(this.modelProjectMigrationStore())}async allowModelRunsWithoutVersion(){await ke(this.modelProjectMigrationStore())}async consolidateModelProjectTrainingSetup(){await De(this.modelProjectMigrationStore())}modelProjectMigrationStore(){return{all:r((e,a=[])=>this.all(e,a),"all"),exec:r(e=>this.exec(e),"exec"),run:r((e,a=[])=>this.run(e,a),"run")}}async repairUnverifiableLearnedPreferenceBindings(){await Pe({all:r((e,a)=>this.all(e,a??[]),"all"),exec:r(e=>this.exec(e),"exec"),run:r((e,a)=>this.run(e,a??[]),"run")})}async createModelLifecycleTables(){await be({exec:r(e=>this.exec(e),"exec")})}async createDatasetImportTables(){await Ie({all:r((e,a=[])=>this.all(e,a),"all"),exec:r(e=>this.exec(e),"exec")})}async createTasksetRevisionTables(){await ue(e=>this.exec(e))}async createTrainingReceiptAndModelBindingTables(){await Se(e=>this.exec(e))}async createPreferenceComparisonTables(){await me(e=>this.exec(e))}async createTaskCreationProjectionTables(){await pe(e=>this.exec(e))}async createGraderAuditTables(){await Le(e=>this.exec(e))}async createTaskAttemptArtifactTables(){await Oe(e=>this.exec(e))}async createTrainingChatSearchTables(){await this.exec(`
1717
+ `)}async createModelProjectTables(){await De(this.modelProjectMigrationStore())}async allowModelRunsWithoutVersion(){await be(this.modelProjectMigrationStore())}async consolidateModelProjectTrainingSetup(){await xe(this.modelProjectMigrationStore())}modelProjectMigrationStore(){return{all:r((e,a=[])=>this.all(e,a),"all"),exec:r(e=>this.exec(e),"exec"),run:r((e,a=[])=>this.run(e,a),"run")}}async repairUnverifiableLearnedPreferenceBindings(){await Fe({all:r((e,a)=>this.all(e,a??[]),"all"),exec:r(e=>this.exec(e),"exec"),run:r((e,a)=>this.run(e,a??[]),"run")})}async createModelLifecycleTables(){await Me({exec:r(e=>this.exec(e),"exec")})}async createDatasetImportTables(){await he({all:r((e,a=[])=>this.all(e,a),"all"),exec:r(e=>this.exec(e),"exec")})}async createTasksetRevisionTables(){await Oe(e=>this.exec(e))}async createTrainingReceiptAndModelBindingTables(){await Xe(e=>this.exec(e))}async createPreferenceComparisonTables(){await Re(e=>this.exec(e))}async createTaskCreationProjectionTables(){await Se(e=>this.exec(e))}async createGraderAuditTables(){await me(e=>this.exec(e))}async createTaskAttemptArtifactTables(){await Ie(e=>this.exec(e))}async createTrainingChatSearchTables(){await this.exec(`
1718
1718
  CREATE TABLE IF NOT EXISTS training_chat_search_documents (
1719
1719
  session_id TEXT PRIMARY KEY,
1720
1720
  source TEXT NOT NULL,
@@ -1782,7 +1782,7 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1782
1782
  MAX(sequence) AS latest_event_sequence,
1783
1783
  MAX(timestamp) AS latest_event_at
1784
1784
  FROM events
1785
- WHERE session_id = ?`,[e]),s=await this.get("SELECT turn_id, status FROM projection_latest_turns WHERE session_id = ?",[e]),i=await this.get("SELECT COUNT(*) AS count FROM projection_approvals WHERE session_id = ? AND status = ?",[e,"pending"]),n=j({sessionId:e,eventCount:a?.event_count??0,latestEventSequence:a?.latest_event_sequence??0,latestEventAt:a?.latest_event_at??null,latestTurnId:s?.turn_id??null,latestTurnStatus:s?.status??null,pendingApprovalCount:i?.count??0,updatedAt:h()});await this.run(`INSERT INTO projection_thread_details (
1785
+ WHERE session_id = ?`,[e]),s=await this.get("SELECT turn_id, status FROM projection_latest_turns WHERE session_id = ?",[e]),i=await this.get("SELECT COUNT(*) AS count FROM projection_approvals WHERE session_id = ? AND status = ?",[e,"pending"]),n=q({sessionId:e,eventCount:a?.event_count??0,latestEventSequence:a?.latest_event_sequence??0,latestEventAt:a?.latest_event_at??null,latestTurnId:s?.turn_id??null,latestTurnStatus:s?.status??null,pendingApprovalCount:i?.count??0,updatedAt:h()});await this.run(`INSERT INTO projection_thread_details (
1786
1786
  session_id,
1787
1787
  event_count,
1788
1788
  latest_event_sequence,
@@ -1803,7 +1803,7 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1803
1803
  latest_turn_status = excluded.latest_turn_status,
1804
1804
  pending_approval_count = excluded.pending_approval_count,
1805
1805
  payload = excluded.payload,
1806
- updated_at = excluded.updated_at`,[n.sessionId,n.eventCount,n.latestEventSequence,n.latestEventAt,n.latestTurnId,n.latestTurnStatus,n.pendingApprovalCount,JSON.stringify(n),n.updatedAt])}async updateThreadDetailProjectionForEvent(e,a){if(!e.sessionId)return;let s=await this.threadDetailProjectionFromDb(e.sessionId),i=j({sessionId:e.sessionId,eventCount:(s?.eventCount??0)+1,latestEventSequence:a,latestEventAt:e.timestamp,latestTurnId:s?.latestTurnId??null,latestTurnStatus:s?.latestTurnStatus??null,pendingApprovalCount:s?.pendingApprovalCount??0,updatedAt:e.timestamp});await this.run(`INSERT INTO projection_thread_details (
1806
+ updated_at = excluded.updated_at`,[n.sessionId,n.eventCount,n.latestEventSequence,n.latestEventAt,n.latestTurnId,n.latestTurnStatus,n.pendingApprovalCount,JSON.stringify(n),n.updatedAt])}async updateThreadDetailProjectionForEvent(e,a){if(!e.sessionId)return;let s=await this.threadDetailProjectionFromDb(e.sessionId),i=q({sessionId:e.sessionId,eventCount:(s?.eventCount??0)+1,latestEventSequence:a,latestEventAt:e.timestamp,latestTurnId:s?.latestTurnId??null,latestTurnStatus:s?.latestTurnStatus??null,pendingApprovalCount:s?.pendingApprovalCount??0,updatedAt:e.timestamp});await this.run(`INSERT INTO projection_thread_details (
1807
1807
  session_id,
1808
1808
  event_count,
1809
1809
  latest_event_sequence,
@@ -1821,27 +1821,29 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1821
1821
  latest_event_sequence = excluded.latest_event_sequence,
1822
1822
  latest_event_at = excluded.latest_event_at,
1823
1823
  payload = excluded.payload,
1824
- updated_at = excluded.updated_at`,[i.sessionId,i.eventCount,i.latestEventSequence,i.latestEventAt,i.latestTurnId,i.latestTurnStatus,i.pendingApprovalCount,JSON.stringify(i),i.updatedAt])}async threadDetailProjectionFromDb(e){let a=await this.get("SELECT * FROM projection_thread_details WHERE session_id = ?",[e]);return a?D(a):null}async rebuildReadModels(){await this.exec(`
1824
+ updated_at = excluded.updated_at`,[i.sessionId,i.eventCount,i.latestEventSequence,i.latestEventAt,i.latestTurnId,i.latestTurnStatus,i.pendingApprovalCount,JSON.stringify(i),i.updatedAt])}async threadDetailProjectionFromDb(e){let a=await this.get("SELECT * FROM projection_thread_details WHERE session_id = ?",[e]);return a?P(a):null}async rebuildReadModels(){await this.exec(`
1825
1825
  DELETE FROM projection_latest_turns;
1826
1826
  DELETE FROM projection_approvals;
1827
1827
  DELETE FROM projection_thread_details;
1828
1828
  DELETE FROM projection_session_shells;
1829
- `);let e=await this.all("SELECT sort_index, payload FROM sessions ORDER BY sort_index ASC"),a=new Set;for(let T of e){let d=v(JSON.parse(T.payload));a.add(d.id),await this.upsertSessionShellProjection(d,T.sort_index)}let s=await this.all("SELECT sort_index, payload FROM approvals ORDER BY sort_index ASC");for(let T of s){let d=JSON.parse(T.payload);a.add(d.sessionId),await this.upsertApprovalProjection(d,T.sort_index)}let i=await this.all("SELECT DISTINCT session_id FROM turns",[]),n=await this.all("SELECT DISTINCT session_id FROM events WHERE session_id IS NOT NULL",[]);for(let T of i)a.add(T.session_id);for(let T of n)T.session_id&&a.add(T.session_id);for(let T of a)await this.rebuildLatestTurnProjectionForSession(T),await this.rebuildThreadDetailProjectionForSession(T)}async close(){await this.ready.catch(()=>{}),await this.writeQueue,await this.closeDatabaseHandle()}async closeDatabaseHandle(){let e=this.db;this.db=null,e&&e.close()}async openDatabase(e){return U(e)}async exec(e){this.database.exec(e)}async run(e,a){this.database.run(e,a)}async all(e,a=[]){return this.database.all(e,a)}async get(e,a){return this.database.get(e,a)}get database(){if(!this.db)throw new Error("SQLite store is not ready");return this.db}};var F=class extends x{static{r(this,"SqliteChatStore")}runtimeSummaryCache=null;sessionRuntimeSummaries(){return this.runtimeSummaryCache??=_e(this.data.turns)}async attachLocalSessionOwner(e){await this.ready;let a=this.writeQueue.then(()=>{let s=this.database;s.exec("BEGIN IMMEDIATE");try{let i=Ee(s,e);s.run("UPDATE projection_session_shells SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(i),i.updatedAt,i.id]),s.exec("COMMIT");let n=this.data.sessions.findIndex(T=>T.id===i.id);return n>=0&&(this.data.sessions[n]=i),i}catch(i){throw s.exec("ROLLBACK"),i}});return this.writeQueue=a.then(()=>{},()=>{}),a}harnessStoragePlacement="local";async snapshot(){return await this.ready,await this.writeQueue,q({allPayloadRows:r((e,a)=>this.all(e,a),"allPayloadRows")})}async sessionShells(){await this.ready,await this.writeQueue;let e=await this.all("SELECT payload FROM projection_session_shells ORDER BY sort_index ASC"),a=this.sessionRuntimeSummaries();return e.map(s=>{let i=v(JSON.parse(s.payload));return f(i,a.get(i.id))})}async getSession(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM projection_session_shells WHERE id = ?",[e]);if(!a)return null;let s=v(JSON.parse(a.payload));return f(s,this.sessionRuntimeSummaries().get(e))}async pendingApprovals(){return await this.ready,await this.writeQueue,(await this.all("SELECT payload FROM projection_approvals WHERE status = ? ORDER BY sort_index ASC",["pending"])).map(a=>JSON.parse(a.payload))}async turnByProviderTurnId(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM turns WHERE provider_turn_id = ? ORDER BY sort_index DESC LIMIT 1",[e]);return a?JSON.parse(a.payload):null}async latestTurnForSession(e,a){if(await this.ready,await this.writeQueue,!a){let i=await this.get("SELECT payload FROM projection_latest_turns WHERE session_id = ?",[e]);return i?JSON.parse(i.payload):null}let s=a?await this.get("SELECT payload FROM turns WHERE session_id = ? AND status = ? ORDER BY sort_index DESC LIMIT 1",[e,a]):null;return s?JSON.parse(s.payload):null}async latestPersistedTurnForSession(e,a){await this.ready;let s=a?"SELECT payload FROM turns WHERE session_id = ? AND status = ? ORDER BY sort_index DESC LIMIT 1":"SELECT payload FROM turns WHERE session_id = ? ORDER BY sort_index DESC LIMIT 1",i=await this.persistedLifecycleRow(s,a?[e,a]:[e]);return i?JSON.parse(i.payload):null}async persistedLifecycleRow(e,a){let s=U(this.storePath);try{return s.get(e,a)}finally{s.close()}}async persistedLifecycleRows(e,a){let s=U(this.storePath);try{return s.all(e,a)}finally{s.close()}}async turnsForSession(e,a=50){await this.ready,await this.writeQueue;let s=Math.max(1,Math.min(500,Math.trunc(a)));return(await this.all(`SELECT payload FROM turns
1829
+ `);let e=await this.all("SELECT sort_index, payload FROM sessions ORDER BY sort_index ASC"),a=new Set;for(let o of e){let d=v(JSON.parse(o.payload));a.add(d.id),await this.upsertSessionShellProjection(d,o.sort_index)}let s=await this.all("SELECT sort_index, payload FROM approvals ORDER BY sort_index ASC");for(let o of s){let d=JSON.parse(o.payload);a.add(d.sessionId),await this.upsertApprovalProjection(d,o.sort_index)}let i=await this.all("SELECT DISTINCT session_id FROM turns",[]),n=await this.all("SELECT DISTINCT session_id FROM events WHERE session_id IS NOT NULL",[]);for(let o of i)a.add(o.session_id);for(let o of n)o.session_id&&a.add(o.session_id);for(let o of a)await this.rebuildLatestTurnProjectionForSession(o),await this.rebuildThreadDetailProjectionForSession(o)}async close(){await this.ready.catch(()=>{}),await this.writeQueue,await this.closeDatabaseHandle()}async closeDatabaseHandle(){let e=this.db;this.db=null,e&&e.close()}async openDatabase(e){return U(e)}async exec(e){this.database.exec(e)}async run(e,a){this.database.run(e,a)}async all(e,a=[]){return this.database.all(e,a)}async get(e,a){return this.database.get(e,a)}get database(){if(!this.db)throw new Error("SQLite store is not ready");return this.db}};var F=class extends x{static{r(this,"SqliteChatStore")}async configureLocalPonderModel(e,a){await this.ready;let s=this.writeQueue.then(async()=>{this.database.exec("BEGIN IMMEDIATE");let i;try{i=oe(this.database,e,a),this.database.exec("COMMIT")}catch(o){throw this.database.exec("ROLLBACK"),o}let n=this.data.sessions.findIndex(o=>o.id===i.session.id);return n>=0&&(this.data.sessions[n]=i.session),await this.upsertSessionShellProjection(i.session,n),await this.rebuildThreadDetailProjectionForSession(i.session.id),i});return this.writeQueue=s.then(()=>{},()=>{}),s}async controlLocalPonderAgent(e,a,s){await this.ready;let i=this.writeQueue.then(async()=>{this.database.exec("BEGIN IMMEDIATE");let n;try{n=ne(this.database,e,a,s),this.database.exec("COMMIT")}catch(d){throw this.database.exec("ROLLBACK"),d}let o=this.data.sessions.findIndex(d=>d.id===e);return o>=0&&(this.data.sessions[o]=n.session),await this.upsertSessionShellProjection(n.session,o),await this.rebuildThreadDetailProjectionForSession(e),n});return this.writeQueue=i.then(()=>{},()=>{}),i}runtimeSummaryCache=null;sessionRuntimeSummaries(){return this.runtimeSummaryCache??=ce(this.data.turns)}async attachLocalSessionOwner(e){await this.ready;let a=this.writeQueue.then(()=>{let s=this.database;s.exec("BEGIN IMMEDIATE");try{let i=Ne(s,e);s.run("UPDATE projection_session_shells SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(i),i.updatedAt,i.id]),s.exec("COMMIT");let n=this.data.sessions.findIndex(o=>o.id===i.id);return n>=0&&(this.data.sessions[n]=i),i}catch(i){throw s.exec("ROLLBACK"),i}});return this.writeQueue=a.then(()=>{},()=>{}),a}harnessStoragePlacement="local";async snapshot(){return await this.ready,await this.writeQueue,K({allPayloadRows:r((e,a)=>this.all(e,a),"allPayloadRows")})}async sessionShells(){await this.ready,await this.writeQueue;let e=await this.all("SELECT payload FROM projection_session_shells ORDER BY sort_index ASC"),a=this.sessionRuntimeSummaries();return e.map(s=>{let i=v(JSON.parse(s.payload));return y(i,a.get(i.id))})}async getSession(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM projection_session_shells WHERE id = ?",[e]);if(!a)return null;let s=v(JSON.parse(a.payload));return y(s,this.sessionRuntimeSummaries().get(e))}async pendingApprovals(){return await this.ready,await this.writeQueue,(await this.all("SELECT payload FROM projection_approvals WHERE status = ? ORDER BY sort_index ASC",["pending"])).map(a=>JSON.parse(a.payload))}async turnByProviderTurnId(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM turns WHERE provider_turn_id = ? ORDER BY sort_index DESC LIMIT 1",[e]);return a?JSON.parse(a.payload):null}async latestTurnForSession(e,a){if(await this.ready,await this.writeQueue,!a){let i=await this.get("SELECT payload FROM projection_latest_turns WHERE session_id = ?",[e]);return i?JSON.parse(i.payload):null}let s=a?await this.get("SELECT payload FROM turns WHERE session_id = ? AND status = ? ORDER BY sort_index DESC LIMIT 1",[e,a]):null;return s?JSON.parse(s.payload):null}async latestPersistedTurnForSession(e,a){await this.ready;let s=a?"SELECT payload FROM turns WHERE session_id = ? AND status = ? ORDER BY sort_index DESC LIMIT 1":"SELECT payload FROM turns WHERE session_id = ? ORDER BY sort_index DESC LIMIT 1",i=await this.persistedLifecycleRow(s,a?[e,a]:[e]);return i?JSON.parse(i.payload):null}async persistedLifecycleRow(e,a){let s=U(this.storePath);try{return s.get(e,a)}finally{s.close()}}async persistedLifecycleRows(e,a){let s=U(this.storePath);try{return s.all(e,a)}finally{s.close()}}async turnsForSession(e,a=50){await this.ready,await this.writeQueue;let s=Math.max(1,Math.min(500,Math.trunc(a)));return(await this.all(`SELECT payload FROM turns
1830
1830
  WHERE session_id = ?
1831
1831
  ORDER BY sort_index DESC
1832
1832
  LIMIT ?`,[e,s])).map(n=>JSON.parse(n.payload))}async turnPageForSession(e){await this.ready,await this.writeQueue;let a=Math.max(1,Math.min(200,Math.trunc(e.limit??50))),s=e.beforeSortIndex,i=await this.all(`SELECT sort_index, payload FROM turns
1833
1833
  WHERE session_id = ? ${s==null?"":"AND sort_index < ?"}
1834
- ORDER BY sort_index DESC LIMIT ?`,s==null?[e.sessionId,a+1]:[e.sessionId,Math.max(0,Math.trunc(s)),a+1]),n=i.length>a,T=i.slice(0,a);return{turns:T.map(d=>JSON.parse(d.payload)),nextBeforeSortIndex:n?T[T.length-1].sort_index:null}}async countTurnsForSession(e){return await this.ready,await this.writeQueue,(await this.get("SELECT COUNT(*) AS count FROM turns WHERE session_id = ?",[e]))?.count??0}async hasSubagentParentWakeTurn(e,a){return await this.ready,await this.writeQueue,((await this.get(`SELECT COUNT(*) AS count FROM turns
1834
+ ORDER BY sort_index DESC LIMIT ?`,s==null?[e.sessionId,a+1]:[e.sessionId,Math.max(0,Math.trunc(s)),a+1]),n=i.length>a,o=i.slice(0,a);return{turns:o.map(d=>JSON.parse(d.payload)),nextBeforeSortIndex:n?o[o.length-1].sort_index:null}}async countTurnsForSession(e){return await this.ready,await this.writeQueue,(await this.get("SELECT COUNT(*) AS count FROM turns WHERE session_id = ?",[e]))?.count??0}async hasSubagentParentWakeTurn(e,a){return await this.ready,await this.writeQueue,((await this.get(`SELECT COUNT(*) AS count FROM turns
1835
1835
  WHERE session_id = ?
1836
1836
  AND json_extract(payload, '$.metadata.subagentParentWake.messageId') = ?`,[e,a]))?.count??0)>0}async countSubagentParentWakeTurns(e,a){return await this.ready,await this.writeQueue,(await this.get(`SELECT COUNT(*) AS count FROM turns
1837
1837
  WHERE session_id = ?
1838
- AND json_extract(payload, '$.metadata.subagentParentWake.fromRunId') = ?`,[e,a]))?.count??0}async latestEventSequence(){return await this.ready,await this.writeQueue,(await this.get("SELECT MAX(sequence) AS sequence FROM events",[]))?.sequence??0}async threadDetailProjection(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT * FROM projection_thread_details WHERE session_id = ?",[e]);return a?D(a):null}async runtimeEventPageRows(e){await this.ready,await this.writeQueue;let a=e.sessionId?"session_id = ?":"1 = 1",s=e.sessionId?[e.sessionId]:[],i=await this.get(`SELECT COUNT(*) AS count FROM events WHERE ${a}`,s);if(e.beforeSequence!==null){let o=[...s,e.beforeSequence],E=await this.get(`SELECT COUNT(*) AS count FROM events WHERE ${a} AND sequence < ?`,o);return{entries:(await this.all(`SELECT sequence, payload FROM events
1838
+ AND json_extract(payload, '$.metadata.subagentParentWake.fromRunId') = ?`,[e,a]))?.count??0}async latestEventSequence(){return await this.ready,await this.writeQueue,(await this.get("SELECT MAX(sequence) AS sequence FROM events",[]))?.sequence??0}async threadDetailProjection(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT * FROM projection_thread_details WHERE session_id = ?",[e]);return a?P(a):null}async runtimeEventPageRows(e){await this.ready,await this.writeQueue;let a=e.sessionId?"session_id = ?":"1 = 1",s=e.sessionId?[e.sessionId]:[],i=await this.get(`SELECT COUNT(*) AS count FROM events WHERE ${a}`,s);if(e.beforeSequence!==null){let T=[...s,e.beforeSequence],E=await this.get(`SELECT COUNT(*) AS count FROM events WHERE ${a} AND sequence < ?`,T);return{entries:(await this.all(`SELECT sequence, payload FROM events
1839
1839
  WHERE ${a} AND sequence < ?
1840
1840
  ORDER BY sequence DESC
1841
- LIMIT ?`,[...o,e.limit])).map(u=>({sequence:u.sequence,event:S(u.payload,u.sequence)})).reverse(),totalMatchingEvents:i?.count??0,remainingMatchingEvents:E?.count??0}}let n=[...s,e.afterSequence],T=await this.get(`SELECT COUNT(*) AS count FROM events WHERE ${a} AND sequence > ?`,n);return{entries:(await this.all(`SELECT sequence, payload FROM events
1841
+ LIMIT ?`,[...T,e.limit])).map(u=>({sequence:u.sequence,event:S(u.payload,u.sequence)})).reverse(),totalMatchingEvents:i?.count??0,remainingMatchingEvents:E?.count??0}}let n=[...s,e.afterSequence],o=await this.get(`SELECT COUNT(*) AS count FROM events WHERE ${a} AND sequence > ?`,n);return{entries:(await this.all(`SELECT sequence, payload FROM events
1842
1842
  WHERE ${a} AND sequence > ?
1843
1843
  ORDER BY sequence ASC
1844
- LIMIT ?`,[...n,e.limit])).map(o=>({sequence:o.sequence,event:S(o.payload,o.sequence)})),totalMatchingEvents:i?.count??0,remainingMatchingEvents:T?.count??0}}async runtimeEventsForSession(e,a={}){await this.ready,await this.writeQueue;let s=["session_id = ?"],i=[e];a.afterSequence!==void 0&&a.afterSequence!==null&&(s.push("sequence > ?"),i.push(Math.max(0,Math.trunc(a.afterSequence)))),a.names&&a.names.length>0&&(s.push(`name IN (${a.names.map(()=>"?").join(", ")})`),i.push(...a.names)),a.excludeReasoningDeltas&&s.push("name <> 'assistant.reasoning.delta'");let n=a.limit===void 0||a.limit===null?null:Math.max(1,Math.min(1e5,Math.trunc(a.limit)));return n!==null&&i.push(n),(await this.all(`SELECT sequence, payload FROM events
1844
+ LIMIT ?`,[...n,e.limit])).map(T=>({sequence:T.sequence,event:S(T.payload,T.sequence)})),totalMatchingEvents:i?.count??0,remainingMatchingEvents:o?.count??0}}async latestLocalPonderActivity(e){await this.ready,await this.writeQueue;let a=await this.get(`SELECT sequence,payload FROM events WHERE session_id=?
1845
+ AND name IN ('tool.started','tool.completed','turn.completed','turn.failed','turn.interrupted','task.wait','approval.requested','user_question.asked')
1846
+ ORDER BY sequence DESC LIMIT 1`,[e]);return a?S(a.payload,a.sequence):null}async runtimeEventsForSession(e,a={}){await this.ready,await this.writeQueue;let s=["session_id = ?"],i=[e];a.afterSequence!==void 0&&a.afterSequence!==null&&(s.push("sequence > ?"),i.push(Math.max(0,Math.trunc(a.afterSequence)))),a.names&&a.names.length>0&&(s.push(`name IN (${a.names.map(()=>"?").join(", ")})`),i.push(...a.names)),a.excludeReasoningDeltas&&s.push("name <> 'assistant.reasoning.delta'");let n=a.limit===void 0||a.limit===null?null:Math.max(1,Math.min(1e5,Math.trunc(a.limit)));return n!==null&&i.push(n),(await this.all(`SELECT sequence, payload FROM events
1845
1847
  WHERE ${s.join(" AND ")}
1846
1848
  ORDER BY sequence ASC
1847
1849
  ${n===null?"":"LIMIT ?"}`,i)).map(d=>S(d.payload,d.sequence))}async runtimeEventsForTurn(e,a={}){await this.ready,await this.writeQueue;let s=["turn_id = ?"],i=[e];a.names&&a.names.length>0&&(s.push(`name IN (${a.names.map(()=>"?").join(", ")})`),i.push(...a.names));let n=a.limit===void 0||a.limit===null?null:Math.max(1,Math.min(1e5,Math.trunc(a.limit)));return n!==null&&i.push(n),(await this.all(`SELECT sequence, payload FROM events
@@ -1853,19 +1855,19 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
1853
1855
  ${n===null?"":"LIMIT ?"}`,i)).map(d=>S(d.payload,d.sequence))}async latestAssistantTextForSession(e){await this.ready,await this.writeQueue;let a=await this.all(`SELECT sequence, payload FROM events
1854
1856
  WHERE session_id = ? AND name = ?
1855
1857
  ORDER BY sequence DESC
1856
- LIMIT 25`,[e,"assistant.delta"]);for(let s of a){let i=S(s.payload,s.sequence).output?.trim();if(i)return i}return null}async recentRuntimeEventWindow(e){await this.ready,await this.writeQueue;let a=Math.max(0,Math.trunc(e)),s=await this.get("SELECT COUNT(*) AS count FROM events",[]),i=await this.latestEventSequence();if(a===0)return{entries:[],latestSequence:i,oldestSequence:i,totalEvents:s?.count??0,hasMoreBefore:(s?.count??0)>0,limit:a};let T=(await this.all(`SELECT sequence, payload FROM events
1858
+ LIMIT 25`,[e,"assistant.delta"]);for(let s of a){let i=S(s.payload,s.sequence).output?.trim();if(i)return i}return null}async recentRuntimeEventWindow(e){await this.ready,await this.writeQueue;let a=Math.max(0,Math.trunc(e)),s=await this.get("SELECT COUNT(*) AS count FROM events",[]),i=await this.latestEventSequence();if(a===0)return{entries:[],latestSequence:i,oldestSequence:i,totalEvents:s?.count??0,hasMoreBefore:(s?.count??0)>0,limit:a};let o=(await this.all(`SELECT sequence, payload FROM events
1857
1859
  ORDER BY sequence DESC
1858
- LIMIT ?`,[a])).map(o=>({sequence:o.sequence,event:S(o.payload,o.sequence)})).reverse(),d=T[0]?.sequence??i;return{entries:T,latestSequence:i,oldestSequence:d,totalEvents:s?.count??0,hasMoreBefore:d>1,limit:a}}async recentDiagnostics(e){return await this.ready,await this.writeQueue,(await this.all(`SELECT sequence, payload FROM events
1860
+ LIMIT ?`,[a])).map(T=>({sequence:T.sequence,event:S(T.payload,T.sequence)})).reverse(),d=o[0]?.sequence??i;return{entries:o,latestSequence:i,oldestSequence:d,totalEvents:s?.count??0,hasMoreBefore:d>1,limit:a}}async recentDiagnostics(e){return await this.ready,await this.writeQueue,(await this.all(`SELECT sequence, payload FROM events
1859
1861
  WHERE name = ?
1860
1862
  ORDER BY sequence DESC
1861
1863
  LIMIT ?`,["diagnostic",Math.max(0,Math.trunc(e))])).map(s=>S(s.payload,s.sequence)).reverse()}async latestRuntimeEventSequenceByName(e){return await this.ready,await this.writeQueue,(await this.get("SELECT MAX(sequence) AS sequence FROM events WHERE name = ?",[e]))?.sequence??0}async runtimeEventRowsByNameAfter(e,a){return await this.ready,await this.writeQueue,(await this.all(`SELECT sequence, payload FROM events
1862
1864
  WHERE name = ? AND sequence > ?
1863
- ORDER BY sequence ASC`,[e,Math.max(0,Math.trunc(a))])).map(i=>({sequence:i.sequence,event:S(i.payload,i.sequence)}))}async sessionCount(){return await this.ready,await this.writeQueue,(await this.get("SELECT COUNT(*) AS count FROM sessions",[]))?.count??0}async insertSessionAtFront(e,a){await this.ready;let s=this.writeQueue.then(()=>{let i=this.database;i.exec("BEGIN IMMEDIATE");try{a&&ie(i,a,e,null,k(e,null)),i.run("UPDATE sessions SET sort_index = sort_index + 1",[]),i.run("UPDATE projection_session_shells SET sort_index = sort_index + 1",[]),i.run("INSERT INTO sessions (id, sort_index, payload, updated_at) VALUES (?, ?, ?, ?)",[e.id,0,JSON.stringify(e),e.updatedAt]),i.run("INSERT INTO projection_session_shells (id, sort_index, payload, updated_at) VALUES (?, 0, ?, ?)",[e.id,JSON.stringify(e),e.updatedAt]);let n={sessionId:e.id,eventCount:0,latestEventSequence:0,latestEventAt:null,latestTurnId:null,latestTurnStatus:null,pendingApprovalCount:0,updatedAt:e.updatedAt};i.run(`INSERT INTO projection_thread_details (session_id, event_count, latest_event_sequence, latest_event_at,
1864
- latest_turn_id, latest_turn_status, pending_approval_count, payload, updated_at) VALUES (?, 0, 0, NULL, NULL, NULL, 0, ?, ?)`,[e.id,JSON.stringify(n),e.updatedAt]),i.exec("COMMIT")}catch(n){throw i.exec("ROLLBACK"),n}this.data.sessions.unshift(e)});this.writeQueue=s.catch(()=>{}),await s}async updateSession(e,a){await this.ready;let s=null,i=this.writeQueue.then(async()=>{let n=this.data.sessions.findIndex(d=>d.id===e);if(n===-1)return;let T=this.sessionRuntimeSummaries().get(e);s=f(a(f(this.data.sessions[n],T)),T),await this.run("UPDATE sessions SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(s),s.updatedAt,e]),await this.upsertSessionShellProjection(s,n),await this.rebuildThreadDetailProjectionForSession(e),this.data.sessions[n]=s});return this.writeQueue=i.catch(()=>{}),await i,s}async updateSessionsWhere(e,a){await this.ready;let s=[],i=this.writeQueue.then(async()=>{let n=this.data.sessions.map((T,d)=>({session:T,index:d})).filter(({session:T})=>e(T)).map(({session:T,index:d})=>({index:d,session:a(T)}));if(n.length!==0){await this.exec("BEGIN IMMEDIATE");try{for(let T of n)await this.run("UPDATE sessions SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(T.session),T.session.updatedAt,T.session.id]),await this.upsertSessionShellProjection(T.session,T.index),await this.rebuildThreadDetailProjectionForSession(T.session.id);await this.exec("COMMIT")}catch(T){throw await this.exec("ROLLBACK").catch(()=>{}),T}for(let T of n)this.data.sessions[T.index]=T.session,s.push(T.session)}});return this.writeQueue=i.catch(()=>{}),await i,s}async getTurn(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM turns WHERE id = ?",[e]);return a?JSON.parse(a.payload):null}async insertTurn(e){await this.ready;let a=this.writeQueue.then(async()=>{let s=this.data.turns.length;await this.run("INSERT INTO turns (id, session_id, provider_turn_id, status, sort_index, payload, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)",[e.id,e.sessionId,e.providerTurnId,e.status,s,JSON.stringify(e),e.completedAt??e.startedAt]),this.data.turns.push(e),this.runtimeSummaryCache=null,await this.rebuildLatestTurnProjectionForSession(e.sessionId),await this.rebuildThreadDetailProjectionForSession(e.sessionId)});this.writeQueue=a.catch(()=>{}),await a}async updateTurn(e,a){await this.ready;let s=null,i=this.writeQueue.then(async()=>{let n=this.data.turns.findIndex(d=>d.id===e);if(n===-1)return;let T=this.data.turns[n].sessionId;if(s=a(this.data.turns[n]),await this.run("UPDATE turns SET session_id = ?, provider_turn_id = ?, status = ?, payload = ?, updated_at = ? WHERE id = ?",[s.sessionId,s.providerTurnId,s.status,JSON.stringify(s),s.completedAt??s.startedAt,e]),this.data.turns[n]=s,this.runtimeSummaryCache=null,s.status!=="in_progress")for(let d=0;d<this.data.approvals.length;d++){let o=this.data.approvals[d];if(o.status!=="pending"||o.sessionId!==s.sessionId||!o.turnId||o.turnId!==s.id&&o.turnId!==s.providerTurnId)continue;let E={...o,status:"cancelled"};await this.run("UPDATE approvals SET status=?,payload=?,updated_at=? WHERE id=?",[E.status,JSON.stringify(E),h(),E.id]),await this.upsertApprovalProjection(E,d),this.data.approvals[d]=E}await this.rebuildLatestTurnProjectionForSession(T),s.sessionId!==T&&await this.rebuildLatestTurnProjectionForSession(s.sessionId),await this.rebuildThreadDetailProjectionForSession(T),s.sessionId!==T&&await this.rebuildThreadDetailProjectionForSession(s.sessionId)});return this.writeQueue=i.catch(()=>{}),await i,s}async getApproval(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM approvals WHERE id = ?",[e]);return a?JSON.parse(a.payload):null}async upsertApproval(e){await this.ready;let a=this.writeQueue.then(async()=>{if(e.status==="pending"&&e.turnId){let T=this.data.turns.find(d=>d.sessionId===e.sessionId&&(d.id===e.turnId||d.providerTurnId===e.turnId));T&&T.status!=="in_progress"&&(e={...e,status:"cancelled"})}let s=this.data.approvals.findIndex(T=>T.id===e.id),i=s===-1?null:this.data.approvals[s].sessionId,n=s===-1?this.data.approvals.length:s;await this.run(`INSERT INTO approvals (id, session_id, status, sort_index, payload, updated_at)
1865
+ ORDER BY sequence ASC`,[e,Math.max(0,Math.trunc(a))])).map(i=>({sequence:i.sequence,event:S(i.payload,i.sequence)}))}async sessionCount(){return await this.ready,await this.writeQueue,(await this.get("SELECT COUNT(*) AS count FROM sessions",[]))?.count??0}async insertSessionAtFront(e,a){await this.ready;let s=this.writeQueue.then(()=>{let i=this.database;i.exec("BEGIN IMMEDIATE");try{a&&re(i,a,e,null,k(e,null)),i.run("UPDATE sessions SET sort_index = sort_index + 1",[]),i.run("UPDATE projection_session_shells SET sort_index = sort_index + 1",[]),i.run("INSERT INTO sessions (id, sort_index, payload, updated_at) VALUES (?, ?, ?, ?)",[e.id,0,JSON.stringify(e),e.updatedAt]),i.run("INSERT INTO projection_session_shells (id, sort_index, payload, updated_at) VALUES (?, 0, ?, ?)",[e.id,JSON.stringify(e),e.updatedAt]);let n={sessionId:e.id,eventCount:0,latestEventSequence:0,latestEventAt:null,latestTurnId:null,latestTurnStatus:null,pendingApprovalCount:0,updatedAt:e.updatedAt};i.run(`INSERT INTO projection_thread_details (session_id, event_count, latest_event_sequence, latest_event_at,
1866
+ latest_turn_id, latest_turn_status, pending_approval_count, payload, updated_at) VALUES (?, 0, 0, NULL, NULL, NULL, 0, ?, ?)`,[e.id,JSON.stringify(n),e.updatedAt]),i.exec("COMMIT")}catch(n){throw i.exec("ROLLBACK"),n}this.data.sessions.unshift(e)});this.writeQueue=s.catch(()=>{}),await s}async updateSession(e,a){await this.ready;let s=null,i=this.writeQueue.then(async()=>{let n=this.data.sessions.findIndex(d=>d.id===e);if(n===-1)return;let o=this.sessionRuntimeSummaries().get(e);s=y(a(y(this.data.sessions[n],o)),o),await this.run("UPDATE sessions SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(s),s.updatedAt,e]),await this.upsertSessionShellProjection(s,n),await this.rebuildThreadDetailProjectionForSession(e),this.data.sessions[n]=s});return this.writeQueue=i.catch(()=>{}),await i,s}async updateSessionsWhere(e,a){await this.ready;let s=[],i=this.writeQueue.then(async()=>{let n=this.data.sessions.map((o,d)=>({session:o,index:d})).filter(({session:o})=>e(o)).map(({session:o,index:d})=>({index:d,session:a(o)}));if(n.length!==0){await this.exec("BEGIN IMMEDIATE");try{for(let o of n)await this.run("UPDATE sessions SET payload = ?, updated_at = ? WHERE id = ?",[JSON.stringify(o.session),o.session.updatedAt,o.session.id]),await this.upsertSessionShellProjection(o.session,o.index),await this.rebuildThreadDetailProjectionForSession(o.session.id);await this.exec("COMMIT")}catch(o){throw await this.exec("ROLLBACK").catch(()=>{}),o}for(let o of n)this.data.sessions[o.index]=o.session,s.push(o.session)}});return this.writeQueue=i.catch(()=>{}),await i,s}async getTurn(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM turns WHERE id = ?",[e]);return a?JSON.parse(a.payload):null}async insertTurn(e){await this.ready;let a=this.writeQueue.then(async()=>{let s=this.data.turns.length;await this.run("INSERT INTO turns (id, session_id, provider_turn_id, status, sort_index, payload, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)",[e.id,e.sessionId,e.providerTurnId,e.status,s,JSON.stringify(e),e.completedAt??e.startedAt]),this.data.turns.push(e),this.runtimeSummaryCache=null,await this.rebuildLatestTurnProjectionForSession(e.sessionId),await this.rebuildThreadDetailProjectionForSession(e.sessionId)});this.writeQueue=a.catch(()=>{}),await a}async updateTurn(e,a){await this.ready;let s=null,i=this.writeQueue.then(async()=>{let n=this.data.turns.findIndex(d=>d.id===e);if(n===-1)return;let o=this.data.turns[n].sessionId;if(s=a(this.data.turns[n]),await this.run("UPDATE turns SET session_id = ?, provider_turn_id = ?, status = ?, payload = ?, updated_at = ? WHERE id = ?",[s.sessionId,s.providerTurnId,s.status,JSON.stringify(s),s.completedAt??s.startedAt,e]),this.data.turns[n]=s,this.runtimeSummaryCache=null,s.status!=="in_progress")for(let d=0;d<this.data.approvals.length;d++){let T=this.data.approvals[d];if(T.status!=="pending"||T.sessionId!==s.sessionId||!T.turnId||T.turnId!==s.id&&T.turnId!==s.providerTurnId)continue;let E={...T,status:"cancelled"};await this.run("UPDATE approvals SET status=?,payload=?,updated_at=? WHERE id=?",[E.status,JSON.stringify(E),h(),E.id]),await this.upsertApprovalProjection(E,d),this.data.approvals[d]=E}await this.rebuildLatestTurnProjectionForSession(o),s.sessionId!==o&&await this.rebuildLatestTurnProjectionForSession(s.sessionId),await this.rebuildThreadDetailProjectionForSession(o),s.sessionId!==o&&await this.rebuildThreadDetailProjectionForSession(s.sessionId)});return this.writeQueue=i.catch(()=>{}),await i,s}async getApproval(e){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM approvals WHERE id = ?",[e]);return a?JSON.parse(a.payload):null}async upsertApproval(e){await this.ready;let a=this.writeQueue.then(async()=>{if(e.status==="pending"&&e.turnId){let o=this.data.turns.find(d=>d.sessionId===e.sessionId&&(d.id===e.turnId||d.providerTurnId===e.turnId));o&&o.status!=="in_progress"&&(e={...e,status:"cancelled"})}let s=this.data.approvals.findIndex(o=>o.id===e.id),i=s===-1?null:this.data.approvals[s].sessionId,n=s===-1?this.data.approvals.length:s;await this.run(`INSERT INTO approvals (id, session_id, status, sort_index, payload, updated_at)
1865
1867
  VALUES (?, ?, ?, ?, ?, ?)
1866
1868
  ON CONFLICT(id)
1867
1869
  DO UPDATE SET
1868
1870
  session_id = excluded.session_id,
1869
1871
  status = excluded.status,
1870
1872
  payload = excluded.payload,
1871
- updated_at = excluded.updated_at`,[e.id,e.sessionId,e.status,n,JSON.stringify(e),h()]),await this.upsertApprovalProjection(e,n),await this.rebuildThreadDetailProjectionForSession(e.sessionId),i&&i!==e.sessionId&&await this.rebuildThreadDetailProjectionForSession(i),s===-1?this.data.approvals.push(e):this.data.approvals[s]=e});this.writeQueue=a.catch(()=>{}),await a}async getCacheEntry(e,a){return await this.ready,V(this.home,e,a,{allowStale:!0})}async getCacheEntriesByType(e){return await this.ready,z(this.home,e)}async setCacheEntry(e,a,s,i=null){return await this.ready,$(this.home,e,a,s,{error:i})}async setCacheError(e,a,s,i){let n=await this.getCacheEntry(e,a);await this.setCacheEntry(e,a,n?.payload??s,i)}async mutate(e){await this.ready;let a={sessions:[],turns:[],events:[],approvals:[]},s=this.writeQueue.then(async()=>{let i=await q({allPayloadRows:r((n,T)=>this.all(n,T),"allPayloadRows")});e(i),await oe(i,{exec:r(n=>this.exec(n),"exec"),run:r((n,T)=>this.run(n,T),"run")}),this.data={sessions:i.sessions,turns:i.turns,approvals:i.approvals},this.runtimeSummaryCache=null,await this.rebuildReadModels(),a=structuredClone(i)});return this.writeQueue=s.catch(()=>{}),await s,a}async appendRuntimeEvent(e){await this.ready;let a=this.writeQueue.then(async()=>{let s=ee(e);await this.exec("BEGIN IMMEDIATE");try{let i=await this.insertRuntimeEventRecord(s),n=this.data.sessions.findIndex(o=>o.id===i.sessionId),T=this.data.sessions[n],d=T?Ne(T,i):null;return d&&d!==T&&(await this.run("UPDATE sessions SET payload = ? WHERE id = ?",[JSON.stringify(d),d.id]),await this.upsertSessionShellProjection(d,n)),await this.exec("COMMIT"),d&&d!==T&&(this.data.sessions[n]=d),i}catch(i){throw await this.exec("ROLLBACK").catch(()=>{}),i}});return this.writeQueue=a.then(()=>{},()=>{}),await a}async insertRuntimeEventRecord(e){let a=await this.nextEventSequence(),s=a-1,i={...e,sequence:a};return await this.run("INSERT INTO events (id, session_id, turn_id, name, timestamp, sequence, sort_index, payload) VALUES (?, ?, ?, ?, ?, ?, ?, ?)",[e.id,e.sessionId??null,e.turnId??null,e.name,e.timestamp,a,s,JSON.stringify(i)]),e.sessionId&&await this.updateThreadDetailProjectionForEvent(i,a),i}async runtimeEventContext(e,a){await this.ready,await this.writeQueue;let s=a?await this.turnByProviderTurnId(a):await this.latestTurnForSession(e,"in_progress");return{appId:(await this.getSession(e))?.appId,turnId:s?.id}}};import{AsyncLocalStorage as dt}from"node:async_hooks";var M=class{static{r(this,"StoreDomainLifecycle")}closing=!1;admission=new dt;pending=new Set;run(e){let a=this.admission.getStore();if(this.closing&&!a?.active)return Promise.reject(new Error("SQLite store is closing"));let s={active:!0},i=Promise.resolve().then(()=>this.admission.run(s,e)).finally(()=>{s.active=!1});return this.pending.add(i),i.then(()=>this.pending.delete(i),()=>this.pending.delete(i)),i}async close(){for(this.closing=!0;this.pending.size;)await Promise.allSettled([...this.pending])}};function l(t,e){let a,s=r(()=>a??=e(),"get"),i=r(n=>t.run(async()=>n(await s())),"call");return{call:i,methods(n,...T){return Object.fromEntries(n.map(d=>[d,(...o)=>i(E=>E[d].apply(E,o))]))}}}r(l,"lazyStoreDomain");function Qe(t,e){let a=l(e,()=>import("./store-task-inbox-LNDCZOYE.js").then(N=>new N.SqliteTaskInboxStore(t))),s=l(e,()=>import("./store-harness-workspaces-HHMM6GNK.js").then(N=>new N.SqliteHarnessWorkspaceStore(t))),i=l(e,()=>import("./store-harness-refinement-candidates-SUT45FQX.js").then(N=>new N.SqliteHarnessRefinementCandidateStore(t))),n=l(e,()=>import("./store-harness-evaluation-review-settings-I2R3HPO3.js").then(N=>new N.SqliteHarnessEvaluationReviewSettingsStore(t))),T=l(e,()=>import("./store-harness-memory-2L7ARBR4.js").then(N=>new N.SqliteHarnessMemoryStore(t))),d=l(e,()=>import("./store-sidebar-file-bookmarks-G5Z6NZWL.js").then(N=>new N.SqliteSidebarFileBookmarkStore(t))),o=l(e,()=>import("./store-work-evidence-VSLLZ6UF.js").then(N=>new N.SqliteWorkEvidenceStore(t))),E=l(e,()=>import("./store-chat-workflows-S72HZXQR.js").then(N=>new N.SqliteChatWorkflowStore(t))),_=l(e,()=>import("./store-conversation-serving-637AHKBP.js").then(N=>new N.SqliteConversationServingStore(t))),u=l(e,()=>import("./store-schedules-QVWT7AEB.js").then(N=>new N.SqliteScheduleStore(t))),p=l(e,()=>import("./store-subagents-PK7ZWLPR.js").then(N=>new N.SqliteSubagentStore(t))),L=l(e,()=>import("./store-usage-GFHQYT34.js").then(N=>new N.SqliteUsageStore(t))),c=l(e,()=>import("./store-sidebar-preferences-27FFMUWU.js").then(N=>new N.SqliteSidebarPreferenceStore(t)));return{...u.methods(["listLocalAgentSchedules","listDueLocalAgentSchedules","getLocalAgentSchedule","upsertLocalAgentSchedule","deleteLocalAgentSchedulesNotIn","patchLocalAgentSchedule","insertLocalAgentScheduleRun","getLocalAgentScheduleRun","listLocalAgentScheduleRuns","patchLocalAgentScheduleRun"]),...p.methods(["getPersistedSubagentRun","upsertPersistedSubagentRun","upsertSubagentRun","recordRetainedWorkspaceExpiryWarning","getSubagentRun","listSubagentRuns","listActiveSubagentRuns","listSubagentRunScopes","listStaleSubagentRuns","appendSubagentMessage","listSubagentMessages"]),...L.methods(["upsertModelUsageRecord","getModelUsageRecordByRequestId","listModelUsageRecords","latestContextUsageForTurn"]),...c.methods(["getSidebarAppPreferences","patchSidebarAppPreference","reorderSidebarApps"]),...a.methods(["initializeRemoteDeviceStore","setRemoteDeviceAuthority","getRemoteDeviceReceipt","getRemoteDeviceCancellation","cancelRemoteDeviceCommand","saveRemoteDeviceReceipt","admitRemoteDeviceStop","admitRemoteDeviceApproval","admitPonderDesktopInspection","getPonderDesktopInspection","setPonderProjectSharing","readPonderProjectSharing","getPonderDesktopReservationResume","admitPonderDesktopObservation","getPonderDesktopObservation","getPonderDesktopResult","commitPonderDesktopResult","setPonderDesktopAuthority","clearPonderDesktopAuthority","admitPonderDesktopStop","getPonderDesktopStop","settlePonderDesktopStop","recoverTaskInboxOwners","hasTaskCompletion","taskInboxSnapshot","declareTaskWork","taskWorkAreas","admitTaskInput","admitTaskInputs","rejectTaskInput","getTaskInput","taskInputsForSession","mutateTaskInput","openTaskInboxTurn","renewTaskInboxTurn","pendingTaskInputs","taskAssignmentInputs","pauseTaskInboxTurn","includeTaskInputs","settleTaskInputRequest","sealTaskInboxTurn","sealNativeTaskInboxTurn","closeTaskInboxTurn","taskInboxPaused","reserveTaskFollowup","taskInboxWakeTargets","createTaskWait","settleTaskWait","taskWaitsForSession","commitSubagentCompletion","pendingTaskCompletions","settleTaskCompletion"]),...s.methods(["createHarnessWorkspace","createHarnessWorkspaceWithRelease","getHarnessWorkspace","listHarnessWorkspaces","selectHarnessWorkspace","getSelectedHarnessWorkspace","updateHarnessWorkspaceSourceRevisionAtomically","saveHarnessReleaseRecord","getHarnessReleaseRecord","listHarnessReleaseRecords","saveHarnessImprovementArtifact","listHarnessImprovementArtifacts","listPendingHarnessRefinerTriggers","createHarnessRunOverlay","getHarnessRunOverlay","appendHarnessRunOverlayEditsAtomically","freezeHarnessRunOverlayAtomically","abandonHarnessRunOverlayAtomically","restoreHarnessRunOverlayAtomically","freezeHarnessRunOverlayWithProposalAtomically","advanceHarnessWorkspaceAtomically","rollbackHarnessWorkspaceAtomically","advanceReviewedHarnessWorkspaceAtomically","listHarnessAdvanceReceipts"]),...i.methods(["listHarnessRefinementCandidates","getHarnessRefinementCandidateByFingerprint","saveHarnessRefinementCandidateTransition","saveHarnessCrossRunRefinementRequestIfAbsent"]),...n.methods(["getHarnessBackgroundReviewSettings","setHarnessBackgroundReviewSettings","getHarnessEvaluationReviewSettings","setHarnessEvaluationReviewSettings"]),...T.methods(["listHarnessMemories","getHarnessMemory","writeHarnessMemory"]),...d.methods(["listSidebarFileBookmarks","patchSidebarFileBookmark"]),...o.methods(["saveWorkEvidenceProjection","getWorkEvidenceProjectionBySourceRevision","getWorkEvidenceProjection","listWorkEvidenceProjections","saveWorkFeedback","getWorkFeedback","listWorkFeedbackForEvidence"]),...E.methods(["listChatWorkflows","listDueChatWorkflows","getChatWorkflow","upsertChatWorkflow","patchChatWorkflow","deleteChatWorkflow","insertChatWorkflowRun","listChatWorkflowRuns","patchChatWorkflowRun"]),..._.methods(["listConversationServingGrants","listConversationServingExecutions","saveConversationServingGrant","saveConversationServingExecution"])}}r(Qe,"runtimeStoreMethods");function Je(t,e){let a=l(e,()=>import("./store-chat-resources-CGW7PDCG.js").then(c=>new c.SqliteChatResourceStore(t))),s=l(e,()=>import("./store-training-NQRRPKEZ.js").then(c=>new c.SqliteTrainingStore(t))),i=l(e,()=>import("./store-training-jobs-F6Y2ZTXP.js").then(c=>new c.SqliteTrainingJobsStore(t))),n=l(e,()=>import("./store-training-models-NRSLSBEW.js").then(c=>new c.SqliteTrainingModelStore(t))),T=l(e,()=>import("./store-model-configuration-UXNC4PGY.js").then(c=>new c.SqliteModelConfigurationStore(t))),d=l(e,()=>import("./store-model-batch-review-KMYPYWJR.js").then(c=>new c.SqliteModelBatchReviewStore(t))),o=l(e,()=>import("./store-task-inventory-IG6HGWSQ.js").then(c=>new c.SqliteTaskInventoryStore(t))),E=l(e,()=>import("./store-taskset-drafts-TA6X245D.js").then(c=>new c.SqliteTasksetDraftStore(t))),_=l(e,()=>import("./store-datasets-IW6F2QZM.js").then(c=>new c.SqliteDatasetStore(t))),u=l(e,()=>import("./store-continual-support-reviews-GWI2FRII.js").then(c=>new c.SqliteContinualBenchReviewStore(t))),p=l(e,()=>import("./store-create-improve-ZG653Z63.js").then(c=>new c.SqliteCreateImproveStore(t)));return{...l(e,()=>import("./store-training-overview-KTWOOLJS.js").then(c=>new c.SqliteTrainingOverviewStore(t))).methods(["readTrainingActivityState","readTrainingNavigation"]),...a.methods(["listChatHostedExperiments","readChatHostedExperiment","retainChatHostedExperiment","localResourceOwnerId","readLocalDataset","readLocalDatasetByWorkspaceHash","readLocalDatasetListing","readLocalDatasetProjection","listLocalDatasets","listLocalDatasetListings","recoverLocalDatasetOperation","saveLocalDataset","updateLocalDatasetMetadata","linkChatResource","chatResourceLinks","readChatExperimentGroup","prepareChatExperimentGroup"]),...s.methods(["trainingChatSearchSignatures","openPondTrainingChatSearchEvidence","syncTrainingChatSearchDocuments","upsertTrainingChatSearchDocument","searchTrainingChats","listTrainingSources","getTrainingSource","getTrainingSourceForSession","upsertTrainingSource","deleteTrainingSource","listTaskCreationSnapshots","getTaskCreationSnapshot","upsertTaskCreationSnapshot","getTaskCreationTranscript","getTaskDesignProposal","listTasksets","listTasksetRevisions","getTaskset","getTasksetRevision","getTasksetByHash","upsertTaskset","deleteTasksetData","listTaskCandidates","getTaskCandidate","findTaskCandidateByFingerprint","upsertTaskCandidate","saveTaskAttempt","listTaskAttempts","saveTaskAttemptArtifact","listTaskAttemptArtifacts","saveGradeResult","deleteGradeResultsForAttempt","listGradeResultsForTaskset","saveGraderAuditReport","listGraderAuditReports","saveReadinessReport","getReadinessReport","saveTaskMinerConfig","getTaskMinerConfig","saveTaskMinerRun","getTaskMinerRun","listTaskMinerRuns"]),...i.methods(["saveModelProject","getModelProject","listModelProjects","saveTrainingPlan","listTrainingPlans","getTrainingPlan","saveTrainingBundle","getTrainingBundle","listTrainingBundles","findTrainingBundleByPlanAndHash","saveTrainingJob","saveTrainingApproval","getTrainingApproval","getTrainingJob","readTrainingExecutionActivity","listTrainingJobs","saveTrainingJobEvent","listTrainingJobEvents","saveTrainingArtifact","listTrainingArtifacts","getTrainingArtifact","saveModelArtifactLineage","updateModelArtifactLineageServing","updateModelArtifactLineageReview","listModelArtifactLineage","getModelArtifactLineage"]),...n.methods(["saveModelCurrencySnapshot","getModelCurrencySnapshot","listModelCurrencySnapshots","saveModelComparisonSeries","getModelComparisonSeries","listModelComparisonSeries","saveModelComparisonSeriesEntry","getModelComparisonSeriesEntry","listModelComparisonSeriesEntries","commitModelComparisonSeriesMutation","compareAndSwapModelComparisonSeriesEntry","saveRewardModelVersion","getRewardModelVersion","listRewardModelVersions","saveRewardModelRun","getRewardModelRun","listRewardModelRuns","saveModelVersion","getModelVersion","listModelVersions","saveModelRun","getModelRun","listModelRuns","saveRolloutTrajectoryReceipt","getRolloutTrajectoryReceiptByProviderId","listRolloutTrajectoryReceipts","saveModelBinding","replaceActiveModelBinding","getModelBinding","getActiveModelBinding","listModelBindings"]),...T.methods(["pendingModelPackagePush","prepareModelPackagePush","completeModelPackagePush","rejectModelPackagePush","findModelProjectConfigurationSave","saveModelProjectConfiguration","previewModelProjectTasksetSave","findModelStarterCreation","saveModelStarterCreation","prepareModelStarterCreation","saveModelProjectHosting"]),...d.methods(["findModelBatchReview","beginModelBatchReview"]),...o.methods(["taskInventorySources","taskInventorySourceIndexed","appendTaskInventoryRows","finishTaskInventorySource","readTaskInventoryPage","readTaskInventoryTask"]),...E.methods(["initializeModelTasksetDraft","saveTasksetDraft","importTasksetDraftPackage","materializePublishedTasksetPackage","finalizeTasksetDraftPublication","getTasksetDraft","listTasksetDrafts","readHumanPublishedTasksetDraft","getTasksetDraftWorkspace","deleteTasksetDraft","tasksetDraftFiles","saveTasksetDraftFile"]),..._.methods(["listDatasetCatalogTasksets","listExternalDatasetSources","getExternalDatasetSource","upsertExternalDatasetSource","listDatasetImportJobs","listAllDatasetImportJobs","getDatasetImportJob","upsertDatasetImportJob","listDatasetArtifactRegistryEntries","getDatasetArtifactRegistryEntry","getDatasetArtifactForTaskset","upsertDatasetArtifactRegistryEntry"]),...u.methods(["saveContinualLearningDailyBatch","getContinualLearningDailyBatch","listContinualLearningDailyBatches","saveContinualBenchIssueReview","getContinualBenchIssueReview","listContinualBenchIssueReviews"]),...p.methods(["getCreateImproveRun","listCreateImproveRuns","upsertCreateImproveRun","mutateCreateImproveRun"])}}r(Je,"trainingStoreMethods");function Ve(t,e){let a=l(e,()=>import("./store-learning-MFS4DGQR.js").then(o=>new o.SqliteLearningStore(t))),s=l(e,()=>import("./store-learning-credentials-BECWEG2Y.js").then(o=>new o.SqliteLearningCredentialStore(t))),i=l(e,()=>import("./store-human-review-V5H4QDHR.js").then(o=>new o.SqliteHumanReviewStore(t))),n=l(e,()=>import("./store-local-experiments-A2UWYPVQ.js").then(o=>new o.SqliteLocalExperimentStore(t))),T=l(e,()=>import("./store-evaluation-results-V5J6L4NV.js").then(o=>new o.SqliteEvaluationResultStore(t))),d=l(e,()=>import("./store-preference-comparison-HTOXLWKF.js").then(o=>new o.SqlitePreferenceComparisonStore(t)));return{...a.methods(["listLearningScopes"]),...s.methods(["createLearningSourceCredential","findLearningSourceCredential","listLearningSourceCredentials","revokeLearningSourceCredential"]),...i.methods(["humanLiveControl","humanLiveControlReceipt","rememberHumanLocalPublication","forgetHumanLocalPublication","humanLocalPublications"]),...n.methods(["prepareEvaluationOperation","retainEvaluationOperation","readPendingEvaluationOperation","pendingEvaluationOperations","acknowledgeEvaluationOperation","claimLocalExperimentOwner","renewLocalExperimentOwner","releaseLocalExperimentOwner","saveLocalExperiment","readLocalExperiment","recoverLocalExperimentOperation","listLocalExperiments","listLocalExecutionHistory","startLocalExperiment","admitLocalExperimentRun","findLocalExperimentRunOperation","readLocalExperimentRecord","readLocalExperimentSnapshot","readExecutionActivity","listLocalExperimentRecords","readLocalExecution","readLocalExecutionCharges","appendLocalExperimentEvent","localExperimentTrace","localExperimentDiagnosticTrace","startLocalScoringPass","readLocalScoringSelection","localJudgeBudgetTransaction","listLocalExecutions","listLocalScoringPasses","admitLocalCase","settleLocalCase","cancelLocalExecution","finishLocalExecution","recoverLocalExperiments","reserveLocalCharge","markLocalChargeDispatched","settleLocalCharge"]),...T.methods(["saveProfileEvaluationGrade","getProfileEvaluationGrade","saveProfileEvaluationReceipt","getProfileEvaluationReceipt","saveProfileEvaluationRun","getProfileEvaluationRun","listProfileEvaluationRuns","saveProfileEvaluationComparison","getProfileEvaluationComparison","listProfileEvaluationComparisons","saveProfileEvaluationSuiteRun","getProfileEvaluationSuiteRun","listProfileEvaluationSuiteRuns","saveBenchmarkRun","listBenchmarkRuns","saveBenchmarkComparison","listBenchmarkComparisons","saveEvaluationResult","getEvaluationResult","listEvaluationResults"]),...d.methods(["savePreferenceComparisonRelease","getPreferenceComparisonRelease","listPreferenceComparisonReleases","revokePreferenceComparisonRelease","savePreferenceComparisonAssignment","getPreferenceComparisonAssignment","listPreferenceComparisonAssignments","claimPreferenceComparisonAssignment","claimNextPreferenceComparisonAssignment","markPreferenceComparisonUnreviewable","savePreferenceComparisonSubmission","getPreferenceComparisonSubmission","listPreferenceComparisonSubmissions","savePreferenceComparisonCalibration","listPreferenceComparisonCalibrations"]),learningRepository(){return{transaction:r((o,E)=>a.call(_=>_.learningRepository().transaction(o,E)),"transaction")}},humanReviewRepository(){return{transaction:r((o,E)=>i.call(_=>_.humanReviewRepository().transaction(o,E)),"transaction")}},humanReviewLocalEvidence(...o){return i.call(E=>Promise.resolve(E.humanReviewLocalEvidence(...o)))}}}r(Ve,"evaluationStoreMethods");var $e=class extends F{static{r(this,"SqliteStore")}domains=new M;closing;constructor(e,a={}){super(e,a);let s=this.domainContext();Object.assign(this,Qe(s,this.domains),Je(s,this.domains),Ve(s,this.domains))}close(){return this.closing??=this.domains.close().then(()=>super.close())}};export{$e as a};
1873
+ updated_at = excluded.updated_at`,[e.id,e.sessionId,e.status,n,JSON.stringify(e),h()]),await this.upsertApprovalProjection(e,n),await this.rebuildThreadDetailProjectionForSession(e.sessionId),i&&i!==e.sessionId&&await this.rebuildThreadDetailProjectionForSession(i),s===-1?this.data.approvals.push(e):this.data.approvals[s]=e});this.writeQueue=a.catch(()=>{}),await a}async getCacheEntry(e,a){return await this.ready,$(this.home,e,a,{allowStale:!0})}async getCacheEntriesByType(e){return await this.ready,Z(this.home,e)}async setCacheEntry(e,a,s,i=null){return await this.ready,z(this.home,e,a,s,{error:i})}async setCacheError(e,a,s,i){let n=await this.getCacheEntry(e,a);await this.setCacheEntry(e,a,n?.payload??s,i)}async mutate(e){await this.ready;let a={sessions:[],turns:[],events:[],approvals:[]},s=this.writeQueue.then(async()=>{let i=await K({allPayloadRows:r((n,o)=>this.all(n,o),"allPayloadRows")});e(i),await Ee(i,{exec:r(n=>this.exec(n),"exec"),run:r((n,o)=>this.run(n,o),"run")}),this.data={sessions:i.sessions,turns:i.turns,approvals:i.approvals},this.runtimeSummaryCache=null,await this.rebuildReadModels(),a=structuredClone(i)});return this.writeQueue=s.catch(()=>{}),await s,a}async appendRuntimeEvent(e){await this.ready;let a=this.writeQueue.then(async()=>{let s=te(e);await this.exec("BEGIN IMMEDIATE");try{let i=await this.insertRuntimeEventRecord(s),n=this.data.sessions.findIndex(T=>T.id===i.sessionId),o=this.data.sessions[n],d=o?ue(o,i):null;return d&&d!==o&&(await this.run("UPDATE sessions SET payload = ? WHERE id = ?",[JSON.stringify(d),d.id]),await this.upsertSessionShellProjection(d,n)),await this.exec("COMMIT"),d&&d!==o&&(this.data.sessions[n]=d),i}catch(i){throw await this.exec("ROLLBACK").catch(()=>{}),i}});return this.writeQueue=a.then(()=>{},()=>{}),await a}async insertRuntimeEventRecord(e){let a=await this.nextEventSequence(),s=a-1,i={...e,sequence:a};return await this.run("INSERT INTO events (id, session_id, turn_id, name, timestamp, sequence, sort_index, payload) VALUES (?, ?, ?, ?, ?, ?, ?, ?)",[e.id,e.sessionId??null,e.turnId??null,e.name,e.timestamp,a,s,JSON.stringify(i)]),e.sessionId&&await this.updateThreadDetailProjectionForEvent(i,a),i}async runtimeEventContext(e,a){await this.ready,await this.writeQueue;let s=a?await this.turnByProviderTurnId(a):await this.latestTurnForSession(e,"in_progress");return{appId:(await this.getSession(e))?.appId,turnId:s?.id}}};import{AsyncLocalStorage as lt}from"node:async_hooks";var M=class{static{r(this,"StoreDomainLifecycle")}closing=!1;admission=new lt;pending=new Set;run(e){let a=this.admission.getStore();if(this.closing&&!a?.active)return Promise.reject(new Error("SQLite store is closing"));let s={active:!0},i=Promise.resolve().then(()=>this.admission.run(s,e)).finally(()=>{s.active=!1});return this.pending.add(i),i.then(()=>this.pending.delete(i),()=>this.pending.delete(i)),i}async close(){for(this.closing=!0;this.pending.size;)await Promise.allSettled([...this.pending])}};function c(t,e){let a,s=r(()=>a??=e(),"get"),i=r(n=>t.run(async()=>n(await s())),"call");return{call:i,methods(n,...o){return Object.fromEntries(n.map(d=>[d,(...T)=>i(E=>E[d].apply(E,T))]))}}}r(c,"lazyStoreDomain");function $e(t,e){let a=c(e,()=>import("./store-task-inbox-QABI4ZAH.js").then(l=>new l.SqliteTaskInboxStore(t))),s=c(e,()=>import("./store-harness-workspaces-ZHNCNWVI.js").then(l=>new l.SqliteHarnessWorkspaceStore(t))),i=c(e,()=>import("./store-harness-refinement-candidates-3PHL3BUY.js").then(l=>new l.SqliteHarnessRefinementCandidateStore(t))),n=c(e,()=>import("./store-harness-evaluation-review-settings-AAN7KKJ5.js").then(l=>new l.SqliteHarnessEvaluationReviewSettingsStore(t))),o=c(e,()=>import("./store-harness-memory-2L7ARBR4.js").then(l=>new l.SqliteHarnessMemoryStore(t))),d=c(e,()=>import("./store-sidebar-file-bookmarks-A4XCS7RM.js").then(l=>new l.SqliteSidebarFileBookmarkStore(t))),T=c(e,()=>import("./store-work-evidence-VSLLZ6UF.js").then(l=>new l.SqliteWorkEvidenceStore(t))),E=c(e,()=>import("./store-chat-workflows-S72HZXQR.js").then(l=>new l.SqliteChatWorkflowStore(t))),_=c(e,()=>import("./store-conversation-serving-K324SQTO.js").then(l=>new l.SqliteConversationServingStore(t))),u=c(e,()=>import("./store-schedules-2KUY4T6M.js").then(l=>new l.SqliteScheduleStore(t))),p=c(e,()=>import("./store-subagents-UGVEFA6M.js").then(l=>new l.SqliteSubagentStore(t))),L=c(e,()=>import("./store-usage-XGAX7NLB.js").then(l=>new l.SqliteUsageStore(t))),O=c(e,()=>import("./store-sidebar-preferences-V2PKRXUZ.js").then(l=>new l.SqliteSidebarPreferenceStore(t))),N=c(e,()=>import("./store-ponder-hosted-DX6E2BVW.js").then(l=>new l.SqlitePonderHostedStore(t))),m=c(e,()=>import("./store-ponder-history-WDLMXBIJ.js").then(l=>new l.SqlitePonderHistoryStore(t)));return{...N.methods(["reserveHostedPonderInput","saveHostedPonderInput","hostedPonderConnection","configureHostedPonderConnection","hostedPonderJobs","reserveHostedPonderJob","saveHostedPonderJob"]),...m.methods(["readPonderHistory","savePonderHistory","admitPonderHistoryRequest","getPonderHistoryRequest","pendingPonderHistorySessions","latestPonderHistoryRequest"]),...u.methods(["listLocalAgentSchedules","listDueLocalAgentSchedules","getLocalAgentSchedule","upsertLocalAgentSchedule","deleteLocalAgentSchedulesNotIn","patchLocalAgentSchedule","insertLocalAgentScheduleRun","getLocalAgentScheduleRun","listLocalAgentScheduleRuns","patchLocalAgentScheduleRun"]),...p.methods(["getPersistedSubagentRun","upsertPersistedSubagentRun","upsertSubagentRun","recordRetainedWorkspaceExpiryWarning","getSubagentRun","listSubagentRuns","listActiveSubagentRuns","listSubagentRunScopes","listStaleSubagentRuns","appendSubagentMessage","listSubagentMessages"]),...L.methods(["upsertModelUsageRecord","getModelUsageRecordByRequestId","listModelUsageRecords","latestContextUsageForTurn"]),...O.methods(["getSidebarAppPreferences","patchSidebarAppPreference","reorderSidebarApps"]),...a.methods(["assertLocalPonderInput","localPonderState","saveLocalPonderState","localPonderAgents","registerLocalPonderAgent","initializeRemoteDeviceStore","setRemoteDeviceAuthority","getRemoteDeviceReceipt","getRemoteDeviceCancellation","cancelRemoteDeviceCommand","saveRemoteDeviceReceipt","admitRemoteDeviceStop","admitRemoteDeviceApproval","admitPonderDesktopInspection","getPonderDesktopInspection","setPonderProjectSharing","readPonderProjectSharing","getPonderDesktopReservationResume","admitPonderDesktopObservation","getPonderDesktopObservation","getPonderDesktopResult","commitPonderDesktopResult","setPonderDesktopAuthority","clearPonderDesktopAuthority","admitPonderDesktopStop","getPonderDesktopStop","settlePonderDesktopStop","recoverTaskInboxOwners","hasTaskCompletion","taskInboxSnapshot","declareTaskWork","taskWorkAreas","admitTaskInput","admitTaskInputs","rejectTaskInput","getTaskInput","taskInputsForSession","mutateTaskInput","openTaskInboxTurn","renewTaskInboxTurn","pendingTaskInputs","taskAssignmentInputs","pauseTaskInboxTurn","includeTaskInputs","settleTaskInputRequest","sealTaskInboxTurn","sealNativeTaskInboxTurn","closeTaskInboxTurn","taskInboxPaused","reserveTaskFollowup","taskInboxWakeTargets","createTaskWait","settleTaskWait","taskWaitsForSession","commitSubagentCompletion","pendingTaskCompletions","settleTaskCompletion"]),...s.methods(["createHarnessWorkspace","createHarnessWorkspaceWithRelease","getHarnessWorkspace","listHarnessWorkspaces","selectHarnessWorkspace","getSelectedHarnessWorkspace","updateHarnessWorkspaceSourceRevisionAtomically","saveHarnessReleaseRecord","getHarnessReleaseRecord","listHarnessReleaseRecords","saveHarnessImprovementArtifact","listHarnessImprovementArtifacts","listPendingHarnessRefinerTriggers","createHarnessRunOverlay","getHarnessRunOverlay","appendHarnessRunOverlayEditsAtomically","freezeHarnessRunOverlayAtomically","abandonHarnessRunOverlayAtomically","restoreHarnessRunOverlayAtomically","freezeHarnessRunOverlayWithProposalAtomically","advanceHarnessWorkspaceAtomically","rollbackHarnessWorkspaceAtomically","advanceReviewedHarnessWorkspaceAtomically","listHarnessAdvanceReceipts"]),...i.methods(["listHarnessRefinementCandidates","getHarnessRefinementCandidateByFingerprint","saveHarnessRefinementCandidateTransition","saveHarnessCrossRunRefinementRequestIfAbsent"]),...n.methods(["getHarnessBackgroundReviewSettings","setHarnessBackgroundReviewSettings","getHarnessEvaluationReviewSettings","setHarnessEvaluationReviewSettings"]),...o.methods(["listHarnessMemories","getHarnessMemory","writeHarnessMemory"]),...d.methods(["listSidebarFileBookmarks","patchSidebarFileBookmark"]),...T.methods(["saveWorkEvidenceProjection","getWorkEvidenceProjectionBySourceRevision","getWorkEvidenceProjection","listWorkEvidenceProjections","saveWorkFeedback","getWorkFeedback","listWorkFeedbackForEvidence"]),...E.methods(["listChatWorkflows","listDueChatWorkflows","getChatWorkflow","upsertChatWorkflow","patchChatWorkflow","deleteChatWorkflow","insertChatWorkflowRun","listChatWorkflowRuns","patchChatWorkflowRun"]),..._.methods(["listConversationServingGrants","listConversationServingExecutions","saveConversationServingGrant","saveConversationServingExecution"])}}r($e,"runtimeStoreMethods");function ze(t,e){let a=c(e,()=>import("./store-chat-resources-YOEJ2BI6.js").then(N=>new N.SqliteChatResourceStore(t))),s=c(e,()=>import("./store-training-CQV7PL3V.js").then(N=>new N.SqliteTrainingStore(t))),i=c(e,()=>import("./store-training-jobs-XKN6K66J.js").then(N=>new N.SqliteTrainingJobsStore(t))),n=c(e,()=>import("./store-training-models-Q7DTTR4S.js").then(N=>new N.SqliteTrainingModelStore(t))),o=c(e,()=>import("./store-model-configuration-3SU73CMS.js").then(N=>new N.SqliteModelConfigurationStore(t))),d=c(e,()=>import("./store-model-project-preparation-TFCG2F2F.js").then(N=>new N.SqliteModelProjectPreparationStore(t))),T=c(e,()=>import("./store-model-batch-review-PBYQZJJJ.js").then(N=>new N.SqliteModelBatchReviewStore(t))),E=c(e,()=>import("./store-task-inventory-GEQIZELY.js").then(N=>new N.SqliteTaskInventoryStore(t))),_=c(e,()=>import("./store-taskset-drafts-GXABQR5G.js").then(N=>new N.SqliteTasksetDraftStore(t))),u=c(e,()=>import("./store-datasets-3KSX7RSO.js").then(N=>new N.SqliteDatasetStore(t))),p=c(e,()=>import("./store-continual-support-reviews-FOMYYS25.js").then(N=>new N.SqliteContinualBenchReviewStore(t))),L=c(e,()=>import("./store-create-improve-3LQMIYAP.js").then(N=>new N.SqliteCreateImproveStore(t))),O=c(e,()=>import("./store-training-overview-KTWOOLJS.js").then(N=>new N.SqliteTrainingOverviewStore(t)));return{...d.methods(["prepareLocalModelProject","applyLocalModelProjectPreparation"]),...O.methods(["readTrainingActivityState","readTrainingNavigation"]),...a.methods(["listChatHostedExperiments","readChatHostedExperiment","retainChatHostedExperiment","localResourceOwnerId","readLocalDataset","readLocalDatasetByWorkspaceHash","readLocalDatasetListing","readLocalDatasetProjection","listLocalDatasets","listLocalDatasetListings","recoverLocalDatasetOperation","saveLocalDataset","updateLocalDatasetMetadata","linkChatResource","chatResourceLinks","readChatExperimentGroup","prepareChatExperimentGroup"]),...s.methods(["trainingChatSearchSignatures","openPondTrainingChatSearchEvidence","syncTrainingChatSearchDocuments","upsertTrainingChatSearchDocument","searchTrainingChats","listTrainingSources","getTrainingSource","getTrainingSourceForSession","upsertTrainingSource","deleteTrainingSource","listTaskCreationSnapshots","getTaskCreationSnapshot","upsertTaskCreationSnapshot","getTaskCreationTranscript","getTaskDesignProposal","listTasksets","listTasksetRevisions","getTaskset","getTasksetRevision","getTasksetByHash","upsertTaskset","deleteTasksetData","listTaskCandidates","getTaskCandidate","findTaskCandidateByFingerprint","upsertTaskCandidate","saveTaskAttempt","listTaskAttempts","saveTaskAttemptArtifact","listTaskAttemptArtifacts","saveGradeResult","deleteGradeResultsForAttempt","listGradeResultsForTaskset","saveGraderAuditReport","listGraderAuditReports","saveReadinessReport","getReadinessReport","saveTaskMinerConfig","getTaskMinerConfig","saveTaskMinerRun","getTaskMinerRun","listTaskMinerRuns"]),...i.methods(["saveModelProject","getModelProject","listModelProjects","saveTrainingPlan","listTrainingPlans","getTrainingPlan","saveTrainingBundle","getTrainingBundle","listTrainingBundles","findTrainingBundleByPlanAndHash","saveTrainingJob","saveTrainingApproval","getTrainingApproval","getTrainingJob","readTrainingExecutionActivity","listTrainingJobs","saveTrainingJobEvent","saveHostedTrainingJobEvent","listTrainingJobEvents","saveTrainingArtifact","listTrainingArtifacts","getTrainingArtifact","saveModelArtifactLineage","updateModelArtifactLineageServing","updateModelArtifactLineageReview","listModelArtifactLineage","getModelArtifactLineage"]),...n.methods(["saveModelCurrencySnapshot","getModelCurrencySnapshot","listModelCurrencySnapshots","saveModelComparisonSeries","getModelComparisonSeries","listModelComparisonSeries","saveModelComparisonSeriesEntry","getModelComparisonSeriesEntry","listModelComparisonSeriesEntries","commitModelComparisonSeriesMutation","compareAndSwapModelComparisonSeriesEntry","saveRewardModelVersion","getRewardModelVersion","listRewardModelVersions","saveRewardModelRun","getRewardModelRun","listRewardModelRuns","saveModelVersion","getModelVersion","listModelVersions","saveModelRun","getModelRun","listModelRuns","saveRolloutTrajectoryReceipt","getRolloutTrajectoryReceiptByProviderId","listRolloutTrajectoryReceipts","saveModelBinding","replaceActiveModelBinding","getModelBinding","getActiveModelBinding","listModelBindings"]),...o.methods(["pendingModelPackagePush","prepareModelPackagePush","completeModelPackagePush","rejectModelPackagePush","findModelProjectConfigurationSave","saveModelProjectConfiguration","previewModelProjectTasksetSave","findModelStarterCreation","saveModelStarterCreation","prepareModelStarterCreation","saveModelProjectHosting"]),...T.methods(["findModelBatchReview","beginModelBatchReview"]),...E.methods(["taskInventorySources","taskInventorySourceIndexed","appendTaskInventoryRows","finishTaskInventorySource","readTaskInventoryPage","readTaskInventoryTask"]),..._.methods(["initializeModelTasksetDraft","saveTasksetDraft","importTasksetDraftPackage","materializePublishedTasksetPackage","finalizeTasksetDraftPublication","getTasksetDraft","listTasksetDrafts","readHumanPublishedTasksetDraft","getTasksetDraftWorkspace","deleteTasksetDraft","tasksetDraftFiles","saveTasksetDraftFile"]),...u.methods(["listDatasetCatalogTasksets","listExternalDatasetSources","getExternalDatasetSource","upsertExternalDatasetSource","listDatasetImportJobs","listAllDatasetImportJobs","getDatasetImportJob","upsertDatasetImportJob","listDatasetArtifactRegistryEntries","getDatasetArtifactRegistryEntry","getDatasetArtifactForTaskset","upsertDatasetArtifactRegistryEntry"]),...p.methods(["saveContinualLearningDailyBatch","getContinualLearningDailyBatch","listContinualLearningDailyBatches","saveContinualBenchIssueReview","getContinualBenchIssueReview","listContinualBenchIssueReviews"]),...L.methods(["getCreateImproveRun","listCreateImproveRuns","upsertCreateImproveRun","mutateCreateImproveRun"])}}r(ze,"trainingStoreMethods");function Ze(t,e){let a=c(e,()=>import("./store-learning-DW3QLQXU.js").then(T=>new T.SqliteLearningStore(t))),s=c(e,()=>import("./store-learning-credentials-67QNTPA7.js").then(T=>new T.SqliteLearningCredentialStore(t))),i=c(e,()=>import("./store-human-review-QJY3ZPPF.js").then(T=>new T.SqliteHumanReviewStore(t))),n=c(e,()=>import("./store-local-experiments-QTVHJAEP.js").then(T=>new T.SqliteLocalExperimentStore(t))),o=c(e,()=>import("./store-evaluation-results-LHCCNNE6.js").then(T=>new T.SqliteEvaluationResultStore(t))),d=c(e,()=>import("./store-preference-comparison-DWV5XSMY.js").then(T=>new T.SqlitePreferenceComparisonStore(t)));return{...a.methods(["listLearningScopes"]),...s.methods(["createLearningSourceCredential","findLearningSourceCredential","listLearningSourceCredentials","revokeLearningSourceCredential"]),...i.methods(["humanLiveControl","humanLiveControlReceipt","rememberHumanLocalPublication","forgetHumanLocalPublication","humanLocalPublications"]),...n.methods(["prepareEvaluationOperation","retainEvaluationOperation","readPendingEvaluationOperation","pendingEvaluationOperations","acknowledgeEvaluationOperation","claimLocalExperimentOwner","renewLocalExperimentOwner","releaseLocalExperimentOwner","saveLocalExperiment","readLocalExperiment","recoverLocalExperimentOperation","listLocalExperiments","listLocalExecutionHistory","startLocalExperiment","admitLocalExperimentRun","findLocalExperimentRunOperation","readLocalExperimentRecord","readLocalExperimentSnapshot","readExecutionActivity","listLocalExperimentRecords","readLocalExecution","readLocalExecutionCharges","appendLocalExperimentEvent","localExperimentTrace","localExperimentDiagnosticTrace","startLocalScoringPass","readLocalScoringSelection","localJudgeBudgetTransaction","listLocalExecutions","listLocalScoringPasses","admitLocalCase","settleLocalCase","cancelLocalExecution","finishLocalExecution","recoverLocalExperiments","reserveLocalCharge","markLocalChargeDispatched","settleLocalCharge"]),...o.methods(["saveProfileEvaluationGrade","getProfileEvaluationGrade","saveProfileEvaluationReceipt","getProfileEvaluationReceipt","saveProfileEvaluationRun","getProfileEvaluationRun","listProfileEvaluationRuns","saveProfileEvaluationComparison","getProfileEvaluationComparison","listProfileEvaluationComparisons","saveProfileEvaluationSuiteRun","getProfileEvaluationSuiteRun","listProfileEvaluationSuiteRuns","saveBenchmarkRun","listBenchmarkRuns","saveBenchmarkComparison","listBenchmarkComparisons","saveEvaluationResult","getEvaluationResult","listEvaluationResults"]),...d.methods(["savePreferenceComparisonRelease","getPreferenceComparisonRelease","listPreferenceComparisonReleases","revokePreferenceComparisonRelease","savePreferenceComparisonAssignment","getPreferenceComparisonAssignment","listPreferenceComparisonAssignments","claimPreferenceComparisonAssignment","claimNextPreferenceComparisonAssignment","markPreferenceComparisonUnreviewable","savePreferenceComparisonSubmission","getPreferenceComparisonSubmission","listPreferenceComparisonSubmissions","savePreferenceComparisonCalibration","listPreferenceComparisonCalibrations"]),learningRepository(){return{transaction:r((T,E)=>a.call(_=>_.learningRepository().transaction(T,E)),"transaction")}},humanReviewRepository(){return{transaction:r((T,E)=>i.call(_=>_.humanReviewRepository().transaction(T,E)),"transaction")}},humanReviewLocalEvidence(...T){return i.call(E=>Promise.resolve(E.humanReviewLocalEvidence(...T)))}}}r(Ze,"evaluationStoreMethods");var et=class extends F{static{r(this,"SqliteStore")}domains=new M;closing;constructor(e,a={}){super(e,a);let s=this.domainContext();Object.assign(this,$e(s,this.domains),ze(s,this.domains),Ze(s,this.domains))}close(){return this.closing??=this.domains.close().then(()=>super.close())}};export{et as a};