openpond 0.2.54 → 0.2.56

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 (432) hide show
  1. package/dist/app-server.d.ts +10823 -9118
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/actions-command-QU4H53OG.js +2 -0
  4. package/dist/chunks/{app-layer-I7MZYVLL.js → app-layer-NSTE5HIT.js} +1 -1
  5. package/dist/chunks/app-server-connected-apps-JHGWLBXT.js +2 -0
  6. package/dist/chunks/app-server-evaluations-GJPFWIDA.js +2 -0
  7. package/dist/chunks/app-server-harness-services-IH4G6POY.js +2 -0
  8. package/dist/chunks/app-server-runtime-DVKOZ5B6.js +2 -0
  9. package/dist/chunks/apps-BKTOR4F7.js +2 -0
  10. package/dist/chunks/chunk-25MBPJVY.js +2 -0
  11. package/dist/chunks/chunk-2D4Y3HNW.js +2 -0
  12. package/dist/chunks/chunk-2IHO4GDJ.js +2 -0
  13. package/dist/chunks/chunk-2QUCCP6Z.js +2 -0
  14. package/dist/chunks/chunk-3K4VVB7S.js +6 -0
  15. package/dist/chunks/chunk-3QIB5FXI.js +10 -0
  16. package/dist/chunks/chunk-3RCRSMWZ.js +17 -0
  17. package/dist/chunks/chunk-3VUATFZD.js +2 -0
  18. package/dist/chunks/chunk-3Z47M3YY.js +2 -0
  19. package/dist/chunks/{chunk-GXSTZBM6.js → chunk-4D7HWVWD.js} +1 -1
  20. package/dist/chunks/chunk-4EPSHPZL.js +2 -0
  21. package/dist/chunks/chunk-4NESNOK5.js +2 -0
  22. package/dist/chunks/chunk-523TE4BI.js +2 -0
  23. package/dist/chunks/chunk-5MCNZCVQ.js +2 -0
  24. package/dist/chunks/chunk-6QSSIT62.js +2 -0
  25. package/dist/chunks/chunk-6ZFPQYHG.js +2 -0
  26. package/dist/chunks/chunk-74IIXVAE.js +2 -0
  27. package/dist/chunks/chunk-74ZXXBGN.js +6 -0
  28. package/dist/chunks/chunk-773TH7FN.js +2 -0
  29. package/dist/chunks/chunk-7E6T7GP5.js +2 -0
  30. package/dist/chunks/chunk-7ED24PP6.js +2 -0
  31. package/dist/chunks/chunk-7HPDGZOR.js +86 -0
  32. package/dist/chunks/chunk-7KWD2I6W.js +2 -0
  33. package/dist/chunks/chunk-7PXZ4X4P.js +2 -0
  34. package/dist/chunks/chunk-A6USMRWK.js +2 -0
  35. package/dist/chunks/chunk-ABD5M2D2.js +2 -0
  36. package/dist/chunks/chunk-ACYFMLWG.js +10 -0
  37. package/dist/chunks/chunk-AN525SPP.js +6 -0
  38. package/dist/chunks/chunk-APB2STJK.js +2 -0
  39. package/dist/chunks/chunk-AY64VY4E.js +2 -0
  40. package/dist/chunks/{chunk-UJ5EFSEC.js → chunk-B7RFL4N2.js} +1 -1
  41. package/dist/chunks/chunk-BFKYRQMA.js +2 -0
  42. package/dist/chunks/chunk-BLXEAZCQ.js +12 -0
  43. package/dist/chunks/chunk-D74JEERO.js +5 -0
  44. package/dist/chunks/{chunk-PA7XP42P.js → chunk-DARVPBZ4.js} +1 -1
  45. package/dist/chunks/chunk-DBK66CJP.js +8 -0
  46. package/dist/chunks/chunk-DDMZSZFL.js +1 -0
  47. package/dist/chunks/chunk-DIO5CB6U.js +2 -0
  48. package/dist/chunks/chunk-DMFUEUAZ.js +5 -0
  49. package/dist/chunks/chunk-DMVD2RFZ.js +2 -0
  50. package/dist/chunks/chunk-DUURYZOI.js +2 -0
  51. package/dist/chunks/chunk-DZUAT3TP.js +1 -0
  52. package/dist/chunks/chunk-EIEZHFIW.js +6 -0
  53. package/dist/chunks/chunk-EIRYMSEG.js +19 -0
  54. package/dist/chunks/{chunk-JDLAHVAJ.js → chunk-EKM2D7JU.js} +1 -1
  55. package/dist/chunks/chunk-EQFGBL3O.js +2 -0
  56. package/dist/chunks/chunk-EYPCBBMS.js +2 -0
  57. package/dist/chunks/chunk-F4KOGISR.js +10 -0
  58. package/dist/chunks/chunk-F74GBN6K.js +2 -0
  59. package/dist/chunks/chunk-FEAKTSRS.js +2 -0
  60. package/dist/chunks/chunk-FFRFSDBM.js +2 -0
  61. package/dist/chunks/chunk-FTEOCCPB.js +23 -0
  62. package/dist/chunks/chunk-FUOEIDMA.js +8 -0
  63. package/dist/chunks/{chunk-AH22RHPS.js → chunk-FV2R5RUN.js} +2 -2
  64. package/dist/chunks/chunk-FWIPHEVA.js +12 -0
  65. package/dist/chunks/chunk-FY5KHLMW.js +2 -0
  66. package/dist/chunks/chunk-G3RXYI2L.js +6 -0
  67. package/dist/chunks/chunk-GJ2ZJFDD.js +2 -0
  68. package/dist/chunks/chunk-GLDYJM7O.js +1 -0
  69. package/dist/chunks/chunk-GPVCOEUH.js +2 -0
  70. package/dist/chunks/chunk-GW766ZSO.js +5 -0
  71. package/dist/chunks/chunk-GWCHDF2C.js +4 -0
  72. package/dist/chunks/chunk-GZ7M5XBP.js +2 -0
  73. package/dist/chunks/chunk-H6IW2R22.js +140 -0
  74. package/dist/chunks/chunk-HCYX6RHP.js +2 -0
  75. package/dist/chunks/chunk-HDL5YSAA.js +2 -0
  76. package/dist/chunks/chunk-HIOKCIL7.js +2 -0
  77. package/dist/chunks/chunk-HY3GOBFJ.js +58 -0
  78. package/dist/chunks/chunk-HZEIRHEB.js +2 -0
  79. package/dist/chunks/chunk-I2NXNMRZ.js +2 -0
  80. package/dist/chunks/chunk-I7AQMAQI.js +33 -0
  81. package/dist/chunks/chunk-IZ6DLEVY.js +2 -0
  82. package/dist/chunks/chunk-J2TWKFML.js +1871 -0
  83. package/dist/chunks/chunk-JDEEWOD7.js +2 -0
  84. package/dist/chunks/chunk-JFXWI3EN.js +6 -0
  85. package/dist/chunks/chunk-JYKRR7E5.js +5 -0
  86. package/dist/chunks/chunk-KCJVFLBB.js +2 -0
  87. package/dist/chunks/{chunk-5CMKGD43.js → chunk-KG325WTN.js} +1 -1
  88. package/dist/chunks/chunk-KGNCKIFP.js +3 -0
  89. package/dist/chunks/chunk-KUERKVEU.js +3 -0
  90. package/dist/chunks/chunk-KVTBX2UP.js +2 -0
  91. package/dist/chunks/chunk-L6K7ERG5.js +2 -0
  92. package/dist/chunks/{chunk-N5QNXMIS.js → chunk-LQQNBVEB.js} +1 -1
  93. package/dist/chunks/{chunk-YJ4PNAST.js → chunk-M4JWQSV7.js} +1 -1
  94. package/dist/chunks/chunk-MQULU465.js +2 -0
  95. package/dist/chunks/chunk-N4FFQPLR.js +2 -0
  96. package/dist/chunks/chunk-N73MU2C3.js +2 -0
  97. package/dist/chunks/chunk-NHQ36THU.js +3 -0
  98. package/dist/chunks/{chunk-4SHKI3BH.js → chunk-O6ULLQJ6.js} +1 -1
  99. package/dist/chunks/chunk-O72BSKSO.js +2 -0
  100. package/dist/chunks/chunk-OGDADQGH.js +143 -0
  101. package/dist/chunks/chunk-OIUTWU6K.js +2 -0
  102. package/dist/chunks/chunk-OLLLZVHF.js +2 -0
  103. package/dist/chunks/{chunk-XM26DGML.js → chunk-OPNRWESL.js} +1 -1
  104. package/dist/chunks/chunk-OQKJGTTO.js +4 -0
  105. package/dist/chunks/chunk-OQPJ7FJF.js +9 -0
  106. package/dist/chunks/{chunk-R3XFY7VL.js → chunk-OS3LO5J3.js} +1 -1
  107. package/dist/chunks/{chunk-T5LE6R5S.js → chunk-OSIO7PLX.js} +1 -1
  108. package/dist/chunks/chunk-OUVIWDL2.js +2 -0
  109. package/dist/chunks/chunk-PCSIOUHF.js +7 -0
  110. package/dist/chunks/chunk-PF5R6CMP.js +21 -0
  111. package/dist/chunks/chunk-PPAPVGJP.js +3 -0
  112. package/dist/chunks/chunk-PRGBLQVH.js +2 -0
  113. package/dist/chunks/chunk-PSGGOZFM.js +2 -0
  114. package/dist/chunks/chunk-PUZQU66L.js +2 -0
  115. package/dist/chunks/{chunk-WITSXYEW.js → chunk-Q2QL6UWN.js} +1 -1
  116. package/dist/chunks/chunk-Q4TBTRIG.js +2 -0
  117. package/dist/chunks/chunk-Q5LEXXJG.js +16 -0
  118. package/dist/chunks/{chunk-YL6VFJ4P.js → chunk-QDC4OW3S.js} +1 -1
  119. package/dist/chunks/chunk-QEFHOJFE.js +7 -0
  120. package/dist/chunks/chunk-QHWGQ3A4.js +5 -0
  121. package/dist/chunks/chunk-QIKWJ2AA.js +11 -0
  122. package/dist/chunks/chunk-QNG27G3T.js +6 -0
  123. package/dist/chunks/chunk-QOGJAQDO.js +3 -0
  124. package/dist/chunks/chunk-QOTVNQDI.js +4 -0
  125. package/dist/chunks/{chunk-N3DEA6PG.js → chunk-RAXOSUSW.js} +1 -1
  126. package/dist/chunks/chunk-RNIAFXMB.js +50 -0
  127. package/dist/chunks/chunk-S5ESN275.js +42 -0
  128. package/dist/chunks/chunk-SDAUS5PY.js +2 -0
  129. package/dist/chunks/chunk-SDXFLO7J.js +5 -0
  130. package/dist/chunks/chunk-SH5CBAFC.js +2 -0
  131. package/dist/chunks/chunk-SWUEFLOH.js +2 -0
  132. package/dist/chunks/chunk-SYUKES6H.js +3 -0
  133. package/dist/chunks/chunk-T5AACNJI.js +2 -0
  134. package/dist/chunks/chunk-TRQQNFMO.js +4 -0
  135. package/dist/chunks/chunk-TVQAPBLZ.js +2 -0
  136. package/dist/chunks/chunk-UCPGRPWY.js +2 -0
  137. package/dist/chunks/chunk-UGL7WF3W.js +2 -0
  138. package/dist/chunks/chunk-UHFZHBGW.js +2 -0
  139. package/dist/chunks/chunk-UKMA4R6X.js +6 -0
  140. package/dist/chunks/{chunk-7ZG3IT7C.js → chunk-VRIEKBBH.js} +6 -6
  141. package/dist/chunks/chunk-VYLGI3IH.js +13 -0
  142. package/dist/chunks/chunk-W45RKGM6.js +1 -0
  143. package/dist/chunks/chunk-WJ43MJ3F.js +2 -0
  144. package/dist/chunks/chunk-WMKYHXVM.js +3 -0
  145. package/dist/chunks/chunk-WN3V6KDN.js +3 -0
  146. package/dist/chunks/chunk-X4OSOOSU.js +3 -0
  147. package/dist/chunks/chunk-XDQMGUWL.js +2 -0
  148. package/dist/chunks/chunk-XTFPDQMH.js +3 -0
  149. package/dist/chunks/chunk-XVDFJ3ZF.js +2 -0
  150. package/dist/chunks/chunk-XW6HGSIT.js +8 -0
  151. package/dist/chunks/chunk-XXYGGNVM.js +2 -0
  152. package/dist/chunks/chunk-Y4OWBBDD.js +184 -0
  153. package/dist/chunks/chunk-YBT2NB32.js +2 -0
  154. package/dist/chunks/chunk-YCJO3YVD.js +10 -0
  155. package/dist/chunks/{chunk-YD55Z5H3.js → chunk-YOBN7KTF.js} +11 -11
  156. package/dist/chunks/chunk-YOQRYNLP.js +2 -0
  157. package/dist/chunks/chunk-YR5ID2SS.js +2 -0
  158. package/dist/chunks/chunk-YY7LEQGP.js +2 -0
  159. package/dist/chunks/chunk-Z4Z5UOZM.js +22 -0
  160. package/dist/chunks/chunk-Z54O534A.js +3 -0
  161. package/dist/chunks/chunk-ZCHXGRRU.js +2 -0
  162. package/dist/chunks/chunk-ZFSHBFG5.js +40 -0
  163. package/dist/chunks/chunk-ZGTOK7ZK.js +12 -0
  164. package/dist/chunks/{chunk-NAZ26IZL.js → chunk-ZRDGQDZL.js} +1 -1
  165. package/dist/chunks/chunk-ZUJ3XUCP.js +2 -0
  166. package/dist/chunks/chunk-ZZWAQBA2.js +2 -0
  167. package/dist/chunks/cli-X25RSO2X.js +2 -0
  168. package/dist/chunks/configuration-command-6C5UO7GE.js +2 -0
  169. package/dist/chunks/connected-app-executor-IVLGQP65.js +2 -0
  170. package/dist/chunks/connected-evidence-GH2ATNEX.js +2 -0
  171. package/dist/chunks/connection-HTF6CC7M.js +2 -0
  172. package/dist/chunks/{continual-PKK2BOTB.js → continual-6CQAMTTR.js} +3 -3
  173. package/dist/chunks/core-commands-A2DGGIPS.js +2 -0
  174. package/dist/chunks/datasets-7BNMVJOY.js +2 -0
  175. package/dist/chunks/desktop-test-3CUHVLXV.js +3 -0
  176. package/dist/chunks/dist-OMGUJYPD.js +2 -0
  177. package/dist/chunks/{chunk-6VF3Q6QJ.js → dist-SKYG5LZO.js} +2 -4
  178. package/dist/chunks/dist-VYC5VMQB.js +2 -0
  179. package/dist/chunks/dist-ZVJPJLXR.js +2 -0
  180. package/dist/chunks/enclave-QS4BUNDU.js +2 -0
  181. package/dist/chunks/evaluation-coordination-XEF5L7KZ.js +2 -0
  182. package/dist/chunks/experiment-improvements-KRX2DP27.js +2 -0
  183. package/dist/chunks/experiments-DFGQYA4O.js +2 -0
  184. package/dist/chunks/experiments-VFQGE4HC.js +2 -0
  185. package/dist/chunks/extension-XKXXOP5N.js +4 -0
  186. package/dist/chunks/{help-WLKSACLZ.js → help-S7THC6IE.js} +1 -1
  187. package/dist/chunks/host-profile-evaluation-tools-JJQWJUBT.js +2 -0
  188. package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +2 -0
  189. package/dist/chunks/hosted-app-server-composition-BCOO5ANF.js +2 -0
  190. package/dist/chunks/hosted-experiment-improvement-NFSVS5TU.js +3 -0
  191. package/dist/chunks/hosted-harness-runtime-723S5ZSH.js +2 -0
  192. package/dist/chunks/hosted-profile-candidate-2S5LFUWD.js +3 -0
  193. package/dist/chunks/hosted-profile-compiler-2DQIFSXW.js +2 -0
  194. package/dist/chunks/hosted-profile-evaluation-control-76BTRTYD.js +2 -0
  195. package/dist/chunks/hosted-profile-evaluation-inspection-V6Z3A5XJ.js +3 -0
  196. package/dist/chunks/hosted-profile-evaluation-preparation-IDJYREW3.js +3 -0
  197. package/dist/chunks/hosted-tasksets-ANAE2PIW.js +2 -0
  198. package/dist/chunks/human-review-WR777ODH.js +2 -0
  199. package/dist/chunks/import-MLZUHITH.js +4 -0
  200. package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +2 -0
  201. package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +2 -0
  202. package/dist/chunks/learning-ACEVFL5M.js +2 -0
  203. package/dist/chunks/local-harness-improvement-runtime-JIQ6ZVDW.js +2 -0
  204. package/dist/chunks/local-harness-taskset-review-XVYTGAGK.js +2 -0
  205. package/dist/chunks/local-scope-HVF2GZ5W.js +2 -0
  206. package/dist/chunks/model-projects-QPO22JPA.js +2 -0
  207. package/dist/chunks/opchat-T4QTNEIY.js +3 -0
  208. package/dist/chunks/organizations-75L5DZDV.js +2 -0
  209. package/dist/chunks/profile-TFZMUEDR.js +3 -0
  210. package/dist/chunks/profile-training-source-6GOT7AHM.js +2 -0
  211. package/dist/chunks/project-action-payload-7VGL7OER.js +2 -0
  212. package/dist/chunks/project-agent-6RRO233B.js +2 -0
  213. package/dist/chunks/published-experiment-source-DZFENAQA.js +2 -0
  214. package/dist/chunks/refiner-profile-service-UUIWFJVT.js +2 -0
  215. package/dist/chunks/runtime-A7OZXM43.js +6 -0
  216. package/dist/chunks/sandbox-command-IU5XFTJP.js +2 -0
  217. package/dist/chunks/{sandbox-template-BBGGPJMI.js → sandbox-template-C4V6T36U.js} +1 -1
  218. package/dist/chunks/saved-work-6BMBFP43.js +2 -0
  219. package/dist/chunks/send-turn-XTAIS2JN.js +2 -0
  220. package/dist/chunks/sql-execution-process-source-B4HQM6ZV.js +2 -0
  221. package/dist/chunks/src-CJM6HY5Y.js +326 -0
  222. package/dist/chunks/{src-CR6UZYTX.js → src-LMC3K6LH.js} +1 -1
  223. package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +2 -0
  224. package/dist/chunks/store-chat-workflows-S72HZXQR.js +18 -0
  225. package/dist/chunks/store-continual-support-reviews-HHA6NX7K.js +7 -0
  226. package/dist/chunks/store-conversation-serving-KPC62UEY.js +2 -0
  227. package/dist/chunks/store-create-improve-QV54XIZW.js +40 -0
  228. package/dist/chunks/store-datasets-RXJ33SUN.js +86 -0
  229. package/dist/chunks/store-evaluation-results-3F3P527G.js +7 -0
  230. package/dist/chunks/store-harness-evaluation-review-settings-I2R3HPO3.js +29 -0
  231. package/dist/chunks/store-harness-memory-VINCZ4GK.js +17 -0
  232. package/dist/chunks/store-harness-refinement-candidates-EA5KFQPH.js +21 -0
  233. package/dist/chunks/store-harness-workspaces-XUM4Z66X.js +2 -0
  234. package/dist/chunks/store-human-review-RAH7WMIP.js +7 -0
  235. package/dist/chunks/store-learned-preference-migration-validation-4CI2IRUF.js +2 -0
  236. package/dist/chunks/store-learning-WLG6KFIO.js +2 -0
  237. package/dist/chunks/store-learning-credentials-WZQJ4HPJ.js +2 -0
  238. package/dist/chunks/store-local-experiments-5LUJR7GI.js +97 -0
  239. package/dist/chunks/store-model-batch-review-YEGX327M.js +2 -0
  240. package/dist/chunks/store-model-configuration-5ZURQATB.js +3 -0
  241. package/dist/chunks/store-preference-comparison-LV32MHVL.js +6 -0
  242. package/dist/chunks/store-schedules-VGTEQVKH.js +53 -0
  243. package/dist/chunks/store-sidebar-file-bookmarks-VB5GTLFY.js +18 -0
  244. package/dist/chunks/store-sidebar-preferences-GWIOG2NH.js +16 -0
  245. package/dist/chunks/store-subagents-T7R2Z6TB.js +67 -0
  246. package/dist/chunks/store-task-inbox-JJTBW76C.js +33 -0
  247. package/dist/chunks/store-task-inventory-OB3F2APC.js +10 -0
  248. package/dist/chunks/store-taskset-drafts-EKQWWFYQ.js +9 -0
  249. package/dist/chunks/store-training-G6YLFSIR.js +70 -0
  250. package/dist/chunks/store-training-jobs-RC46YBF6.js +19 -0
  251. package/dist/chunks/store-training-models-6BA43IPP.js +49 -0
  252. package/dist/chunks/store-usage-IE2U2FD3.js +63 -0
  253. package/dist/chunks/store-work-evidence-QQDKM5AQ.js +8 -0
  254. package/dist/chunks/taskset-EQRFQBYM.js +2 -0
  255. package/dist/chunks/taskset-packages-XC6HEE3K.js +2 -0
  256. package/dist/chunks/{teams-bot-7I4BAUVO.js → teams-bot-EAPGPTHZ.js} +1 -1
  257. package/dist/chunks/training-UF6RPI4T.js +2 -0
  258. package/dist/chunks/web-search-CZ3NCLPY.js +2 -0
  259. package/dist/chunks/workspaces-EKKE5NAC.js +2 -0
  260. package/dist/cli.js +1 -1
  261. package/dist/index.js +1 -1
  262. package/dist/web/assets/App-CaRMZoxo.css +1 -0
  263. package/dist/web/assets/App-s-CJswyt.js +154 -0
  264. package/dist/web/assets/{AppDialog-BdusXgU0.js → AppDialog-t2Fx5tK3.js} +1 -1
  265. package/dist/web/assets/{AppTerminalPanel-C4uRpnBz.js → AppTerminalPanel-Dj1Y32oI.js} +2 -2
  266. package/dist/web/assets/AppsView-BYE5EBDJ.js +1 -0
  267. package/dist/web/assets/{BrowserSidebar-Bl7V6YO2.js → BrowserSidebar-jhWi4rVm.js} +1 -1
  268. package/dist/web/assets/{CartesianChart-BstFbsdn.js → CartesianChart-C1DIx0Ia.js} +1 -1
  269. package/dist/web/assets/{CollaborationTabs-B8YAf0c1.js → CollaborationTabs-Bdr-HmOL.js} +1 -1
  270. package/dist/web/assets/{CommandMenu-DZct7zUJ.js → CommandMenu-Ux2yOHAc.js} +1 -1
  271. package/dist/web/assets/{CommunityView-CR0-W-uG.js → CommunityView-DPEeVKFn.js} +1 -1
  272. package/dist/web/assets/{ComposerCreateImproveStrip-DR-Qo7b4.js → ComposerCreateImproveStrip-CEgh4OtN.js} +1 -1
  273. package/dist/web/assets/{GetStartedView-xqQoMMei.js → GetStartedView-CFHP0AaI.js} +1 -1
  274. package/dist/web/assets/HostedModelLearningReview-D8BGTPVN.js +1 -0
  275. package/dist/web/assets/{HostedModelLearningSettings-De3i9wF4.js → HostedModelLearningSettings-JS1S7vNO.js} +1 -1
  276. package/dist/web/assets/{LabModelVersionDetailPage-DAY1MmqP.js → LabModelVersionDetailPage-Dx5Q3xV2.js} +1 -1
  277. package/dist/web/assets/{LabSkillSidebar-DLnIgnry.js → LabSkillSidebar-BxffN-pN.js} +1 -1
  278. package/dist/web/assets/LabsRoute-CyYF8-dw.js +99 -0
  279. package/dist/web/assets/MainChatThread-DZpcFRFl.js +2 -0
  280. package/dist/web/assets/MainPane-5DTtwVCk.js +65 -0
  281. package/dist/web/assets/MainPane-BIM_UJ3q.css +1 -0
  282. package/dist/web/assets/{MarkdownText-gJMuefaJ.js → MarkdownText-BR4V6lNO.js} +24 -24
  283. package/dist/web/assets/{NativeSkillSidebar-Dlxb8iOC.js → NativeSkillSidebar-DU9IEgIO.js} +1 -1
  284. package/dist/web/assets/{NewExperienceSwitcher-DM-cqJ-K.js → NewExperienceSwitcher-mIy6FzCj.js} +1 -1
  285. package/dist/web/assets/{NewProjectDialog-Cu1q75gq.js → NewProjectDialog-RfTZTHxl.js} +1 -1
  286. package/dist/web/assets/{OutputsPage-DiXMkasl.js → OutputsPage-Cr1Spf7S.js} +1 -1
  287. package/dist/web/assets/{ProjectsPage-DqiBHiCB.js → ProjectsPage-CE6QUB-b.js} +1 -1
  288. package/dist/web/assets/RightChatPanelStack-T6VRWuHo.js +1 -0
  289. package/dist/web/assets/RightSidebarHomePanel-CK0rP3WT.js +1 -0
  290. package/dist/web/assets/ScheduledWorkPage-vOrYv8pp.js +1 -0
  291. package/dist/web/assets/SettingsView-DCKVrfjj.js +5 -0
  292. package/dist/web/assets/SettingsView-Dulr_xlq.css +1 -0
  293. package/dist/web/assets/{TeamChatView-DM0adMtj.js → TeamChatView-Bwrjr-vk.js} +2 -2
  294. package/dist/web/assets/{TerminalOverlay-CFlH51DD.js → TerminalOverlay-DhPoKZAq.js} +1 -1
  295. package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +1 -0
  296. package/dist/web/assets/{TrainingDraftPanel-Bbo3RRie.js → TrainingDraftPanel-C9cRX5qf.js} +1 -1
  297. package/dist/web/assets/{UsageSettingsSection-CSRjJUSa.js → UsageSettingsSection-CrdcSGeW.js} +1 -1
  298. package/dist/web/assets/{WorkSidebarPanel-DwlEMEoG.js → WorkSidebarPanel-DSSikNFQ.js} +1 -1
  299. package/dist/web/assets/WorkspaceDiffPanel-BAFo0CPN.js +14 -0
  300. package/dist/web/assets/WorkspaceEnvironmentMenu-BVHAhwnJ.js +63 -0
  301. package/dist/web/assets/WorkspaceGitDialogs-CwVoiDQ2.js +1 -0
  302. package/dist/web/assets/{WorkspaceMonacoEditor-BR4qxMgU.js → WorkspaceMonacoEditor-TxLyhzNp.js} +3 -3
  303. package/dist/web/assets/arrow-up-right-C9aE8Mfz.js +1 -0
  304. package/dist/web/assets/chunk-P3BRSSRD-DUGfuKA8.js +1 -0
  305. package/dist/web/assets/{clipboard-BZzZ82Bk.js → clipboard-Dk158Qp4.js} +1 -1
  306. package/dist/web/assets/{cloud-upload-CJPYPVl8.js → cloud-upload-k9eqBsHr.js} +1 -1
  307. package/dist/web/assets/{cssMode-WC4Rg1l-.js → cssMode-CO35ARZp.js} +1 -1
  308. package/dist/web/assets/{folder-open-sLZJxLQy.js → folder-open-sYgceW_f.js} +1 -1
  309. package/dist/web/assets/folder-plus-CS0R49m9.js +1 -0
  310. package/dist/web/assets/{git-commit-horizontal-Cotm7KEC.js → git-commit-horizontal-DrGxH2h4.js} +1 -1
  311. package/dist/web/assets/{htmlMode-C6oZGeaB.js → htmlMode-REMmzdfq.js} +1 -1
  312. package/dist/web/assets/index-3iPNbbER.css +1 -0
  313. package/dist/web/assets/{index-BxWTVKtn.js → index-C8aCGagb.js} +2 -2
  314. package/dist/web/assets/info-DLdbiUrh.js +1 -0
  315. package/dist/web/assets/{jsonMode-BET4LQIn.js → jsonMode-KEdMfkIf.js} +1 -1
  316. package/dist/web/assets/{lspLanguageFeatures-BPxA_-Kg.js → lspLanguageFeatures-5KZwEoxW.js} +1 -1
  317. package/dist/web/assets/minimize-2-CqcI4zcM.js +1 -0
  318. package/dist/web/assets/{monaco.contribution-DFzEyaHi.js → monaco.contribution-BJGj65F9.js} +2 -2
  319. package/dist/web/assets/{monaco.contribution-DXzyQfVi.js → monaco.contribution-Cly9Wt7L.js} +2 -2
  320. package/dist/web/assets/{monaco.contribution-BH6kkO4b.js → monaco.contribution-DO10L0zW.js} +2 -2
  321. package/dist/web/assets/{monaco.contribution-7AUuf2NS.js → monaco.contribution-omszXBEj.js} +2 -2
  322. package/dist/web/assets/monitor-BFVCcbxp.js +1 -0
  323. package/dist/web/assets/play-C469pVZq.js +1 -0
  324. package/dist/web/assets/{python-PzBkTjWx.js → python-Dw0YcVy9.js} +1 -1
  325. package/dist/web/assets/{save-DpezrtH2.js → save-CtSjPydi.js} +1 -1
  326. package/dist/web/assets/square-BuImvLhT.js +1 -0
  327. package/dist/web/assets/{toggleHighContrast-Cto-fOXm.js → toggleHighContrast-DjCO9lIP.js} +1 -1
  328. package/dist/web/assets/{tsMode-BYA4LNc6.js → tsMode-BAOnxKd6.js} +1 -1
  329. package/dist/web/assets/{upload-C5YFNgtS.js → upload-2JkFZo3h.js} +1 -1
  330. package/dist/web/assets/{useLocalAgentSchedules-CnyTsqlf.js → useLocalAgentSchedules-BNqAisfS.js} +1 -1
  331. package/dist/web/assets/useProviderSettings-C4L4wDoh.js +5 -0
  332. package/dist/web/assets/{useProviderSettings-Bw-csWbH.css → useProviderSettings-CmL_BaxP.css} +1 -1
  333. package/dist/web/assets/{useSessionTurnCache-DICuJSJW.js → useSessionTurnCache-BHU2-Jmz.js} +1 -1
  334. package/dist/web/assets/{wifi-off-nzHj7JXp.js → wifi-off-CpOAH62M.js} +1 -1
  335. package/dist/web/assets/{workers-Dboaw6f_.js → workers-0QvlA2T5.js} +1 -1
  336. package/dist/web/assets/{yaml-uuY5JmO8.js → yaml-BK3qxo7D.js} +1 -1
  337. package/dist/web/index.html +2 -2
  338. package/package.json +3 -3
  339. package/dist/chunks/actions-command-DSO6YOEE.js +0 -2
  340. package/dist/chunks/app-server-runtime-7AXV6JZI.js +0 -2
  341. package/dist/chunks/apps-TM74FFQB.js +0 -2
  342. package/dist/chunks/chunk-2JO2KWT3.js +0 -5
  343. package/dist/chunks/chunk-2SPZYBDN.js +0 -16
  344. package/dist/chunks/chunk-37DXASQL.js +0 -191
  345. package/dist/chunks/chunk-4EEH7MEC.js +0 -2
  346. package/dist/chunks/chunk-4TZHH5FC.js +0 -2409
  347. package/dist/chunks/chunk-5TNDPNS3.js +0 -2
  348. package/dist/chunks/chunk-6JAN4RMN.js +0 -42
  349. package/dist/chunks/chunk-7QEE4PBI.js +0 -8
  350. package/dist/chunks/chunk-BX4J2VDU.js +0 -2
  351. package/dist/chunks/chunk-DALJMSJG.js +0 -33
  352. package/dist/chunks/chunk-EMKZVP7Z.js +0 -2
  353. package/dist/chunks/chunk-FPUUZQUP.js +0 -6
  354. package/dist/chunks/chunk-GCOUYYHG.js +0 -5
  355. package/dist/chunks/chunk-GS2NKNKG.js +0 -4
  356. package/dist/chunks/chunk-H2VT22JK.js +0 -2
  357. package/dist/chunks/chunk-HA7EFTPF.js +0 -23
  358. package/dist/chunks/chunk-IKWDL3RB.js +0 -17
  359. package/dist/chunks/chunk-NHFGEVVH.js +0 -518
  360. package/dist/chunks/chunk-NNF6KCHD.js +0 -3
  361. package/dist/chunks/chunk-PJM2G7SG.js +0 -21
  362. package/dist/chunks/chunk-PQHTZ5CP.js +0 -2
  363. package/dist/chunks/chunk-PYABBF53.js +0 -53
  364. package/dist/chunks/chunk-QRWPEW3Z.js +0 -24
  365. package/dist/chunks/chunk-QXVIIM4T.js +0 -2
  366. package/dist/chunks/chunk-SDEDAHV6.js +0 -160
  367. package/dist/chunks/chunk-TGIB24K4.js +0 -22
  368. package/dist/chunks/chunk-UE3DMPGM.js +0 -3
  369. package/dist/chunks/chunk-USKE34VR.js +0 -9
  370. package/dist/chunks/chunk-USMZT5FZ.js +0 -18
  371. package/dist/chunks/chunk-WV2APYWG.js +0 -2
  372. package/dist/chunks/chunk-YIB3J4RC.js +0 -2
  373. package/dist/chunks/chunk-Z3D4C7BG.js +0 -12
  374. package/dist/chunks/cli-JVB345H2.js +0 -2
  375. package/dist/chunks/configuration-command-MATM4XR5.js +0 -2
  376. package/dist/chunks/connected-evidence-YDPGNHLP.js +0 -2
  377. package/dist/chunks/core-commands-MTV4EKXY.js +0 -2
  378. package/dist/chunks/datasets-CP3IT47T.js +0 -2
  379. package/dist/chunks/desktop-test-IAZC5MAH.js +0 -3
  380. package/dist/chunks/dist-4HV2W6V4.js +0 -2
  381. package/dist/chunks/dist-SAABJU5F.js +0 -2
  382. package/dist/chunks/evaluation-coordination-EPHLZXYM.js +0 -2
  383. package/dist/chunks/experiment-improvements-6JTOPA74.js +0 -2
  384. package/dist/chunks/experiments-XHPFGECH.js +0 -2
  385. package/dist/chunks/extension-GX7DLW2X.js +0 -4
  386. package/dist/chunks/hosted-experiment-improvement-HAB3UE6A.js +0 -3
  387. package/dist/chunks/hosted-harness-runtime-YM23QNDK.js +0 -2
  388. package/dist/chunks/hosted-profile-candidate-EOBGKQAS.js +0 -3
  389. package/dist/chunks/hosted-profile-compiler-SCVJI2CP.js +0 -2
  390. package/dist/chunks/hosted-profile-evaluation-control-RJ6XJZCS.js +0 -2
  391. package/dist/chunks/hosted-profile-evaluation-inspection-OC4XNGL2.js +0 -3
  392. package/dist/chunks/hosted-profile-evaluation-preparation-ZD4FM3FD.js +0 -3
  393. package/dist/chunks/human-review-AAVMISBF.js +0 -2
  394. package/dist/chunks/import-V3HUGRHR.js +0 -4
  395. package/dist/chunks/learning-FNBEIAY6.js +0 -2
  396. package/dist/chunks/opchat-QK43DXTY.js +0 -3
  397. package/dist/chunks/organizations-SRPAWKC7.js +0 -2
  398. package/dist/chunks/profile-C6CQNVYE.js +0 -3
  399. package/dist/chunks/project-agent-GZV5HNYI.js +0 -2
  400. package/dist/chunks/sandbox-command-4TJXQTKT.js +0 -2
  401. package/dist/chunks/src-NE6R4XC6.js +0 -329
  402. package/dist/chunks/taskset-LUG3ZU6J.js +0 -2
  403. package/dist/chunks/training-XHE6FVII.js +0 -2
  404. package/dist/chunks/workspaces-MFZ3OO6O.js +0 -2
  405. package/dist/web/assets/App-CO2F717V.css +0 -1
  406. package/dist/web/assets/App-CuhaCsfb.js +0 -235
  407. package/dist/web/assets/AppsView-BS1czXUP.js +0 -1
  408. package/dist/web/assets/HostedModelLearningReview-CHxxf_Lu.js +0 -1
  409. package/dist/web/assets/LabsRoute-CXJRJMhr.js +0 -99
  410. package/dist/web/assets/MainChatThread-BwAla81W.js +0 -2
  411. package/dist/web/assets/MainPane-CakOBCHw.js +0 -19
  412. package/dist/web/assets/MainPane-DOWsSew1.css +0 -1
  413. package/dist/web/assets/RightChatPanelStack-VaOOmxwd.js +0 -1
  414. package/dist/web/assets/RightSidebarHomePanel-CeSFJM5s.js +0 -1
  415. package/dist/web/assets/ScheduledWorkPage-D1jRQxFs.js +0 -1
  416. package/dist/web/assets/SettingsView-BnANbPLS.css +0 -1
  417. package/dist/web/assets/SettingsView-RA9OXgcu.js +0 -5
  418. package/dist/web/assets/TrainingCreationPanel-CgIBVGha.js +0 -1
  419. package/dist/web/assets/WorkspaceDiffPanel-pGVezNMw.js +0 -14
  420. package/dist/web/assets/WorkspaceEnvironmentMenu-Byjngd9V.js +0 -32
  421. package/dist/web/assets/WorkspaceGitDialogs-Dgmg-6XG.js +0 -1
  422. package/dist/web/assets/arrow-up-right-H0pvnH2s.js +0 -1
  423. package/dist/web/assets/chunk-UHVJOMWN-BqXRe639.js +0 -1
  424. package/dist/web/assets/folder-plus-C84wrpt_.js +0 -1
  425. package/dist/web/assets/index-dSmk3FLJ.css +0 -1
  426. package/dist/web/assets/info-Dc81lEfw.js +0 -1
  427. package/dist/web/assets/minimize-2-Bs7MVN3C.js +0 -1
  428. package/dist/web/assets/monitor-DXL019Wf.js +0 -1
  429. package/dist/web/assets/play-CXkxUZeU.js +0 -1
  430. package/dist/web/assets/square-oy7f5Ce6.js +0 -1
  431. package/dist/web/assets/useProviderSettings-B_KeQjE5.js +0 -5
  432. /package/dist/chunks/{chunk-OGPHXXCD.js → chunk-BT5YNE5U.js} +0 -0
@@ -0,0 +1,4 @@
1
+ import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
2
+ import{a as D,b as ce,c as de,d as le,e as M,f as X,g as J,h as L,i as Z,j as B,k as z,l as P,m as ee,n as te,o as ue,p as se,q as pe,r as G}from"./chunk-HY3GOBFJ.js";import{k as W}from"./chunk-RAXOSUSW.js";import{a as we}from"./chunk-DARVPBZ4.js";import"./chunk-M4JWQSV7.js";import"./chunk-FV2R5RUN.js";import{c as ve,f as ye}from"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{c as E,f as H}from"./chunk-3M53YXEI.js";import"./chunk-5MCNZCVQ.js";import"./chunk-BT5YNE5U.js";import{n as fe,o as me,p as F}from"./chunk-Q5LEXXJG.js";import"./chunk-FWIPHEVA.js";import{d as Y,g as he}from"./chunk-OS3LO5J3.js";import{b as ge}from"./chunk-GLUWATL5.js";import"./chunk-QDC4OW3S.js";import"./chunk-ZZWAQBA2.js";import"./chunk-YR5ID2SS.js";import"./chunk-YBT2NB32.js";import"./chunk-74ZXXBGN.js";import"./chunk-APB2STJK.js";import"./chunk-I7AQMAQI.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-Y4OWBBDD.js";import"./chunk-6ZFPQYHG.js";import"./chunk-JFXWI3EN.js";import"./chunk-FFRFSDBM.js";import"./chunk-VYLGI3IH.js";import"./chunk-ACYFMLWG.js";import"./chunk-TVQAPBLZ.js";import{l as ae,m as T}from"./chunk-KGNCKIFP.js";import{b as I}from"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import{a as p}from"./chunk-FTQLQJQV.js";import{createInterface as qe}from"node:readline/promises";import{resolve as Ue}from"node:path";import{watch as Pe}from"node:fs";import{randomUUID as je}from"node:crypto";var Me=["source","admission","control","heartbeat"],j=class{static{p(this,"CollectorErrors")}store;constructor(e){this.store=e}read(e){let o=this.store.setting(`errors:${e}`);if(o)return JSON.parse(o);let s=this.store.database.prepare("SELECT error FROM backfill_units WHERE connection_id=? AND state='error' AND error IS NOT NULL ORDER BY session_key LIMIT 1").get(e);return typeof s?.error=="string"?{source:s.error}:{}}message(e,o){let s=this.read(e);return Me.filter(r=>r!==o).map(r=>s[r]).find(Boolean)??null}source(e){return this.read(e).source??null}set(e,o,s){let r=this.read(e);s?r[o]=s.slice(0,500):delete r[o],this.store.set(`errors:${e}`,JSON.stringify(r)),this.store.error(e,this.message(e))}};var Le=I.object({leafId:I.string().min(1).max(200),chainHash:I.string().regex(/^[a-f0-9]{64}$/),sourceInstanceId:I.string().min(1)}).strict(),Se=p((t,e)=>`branch:${JSON.stringify([t,e])}`,"key");function be(t,e,o){let s=t.setting(Se(e,o));if(!s)return;let r=Le.parse(JSON.parse(s));return t.connections().find(g=>g.id===e)?.source.instanceId===r.sourceInstanceId?{leafId:r.leafId,chainHash:r.chainHash}:void 0}p(be,"collectorBranchAnchor");async function Ie(t,e){if(t.source!=="claude_code")throw new Error("Branch selection is currently supported for Claude Code.");let o,s=[];do{let r=await M(t,{cursor:o,limit:100});s.push(...r.items.filter(a=>a.nativeSessionId===e)),o=r.nextCursor??void 0}while(o);if(s.length!==1)throw new Error("Select exactly one native session in this connection's source location.");return s[0]}p(Ie,"findSession");async function Re(t,e,o){let s=await B.open(t);try{let r=s.connections().find(g=>g.id===e);if(!r)throw new Error("Select a connection from openpond import status.");let a=await Ie(r.source,o);return{session:a,...await X(r.source,a)}}finally{s.close()}}p(Re,"inspectCollectorBranches");async function Ce(t,e,o,s){let r=await B.open(t);try{let a=r.connections().find(u=>u.id===e);if(!a||a.state!=="paused")throw new Error(`Pause this connection first: openpond import pause ${e}`);let g=await Ie(a.source,o),c=await X(a.source,g),l=c.branches.find(u=>u.leafId===s.leafId);if(c.revision!==s.revision||!l)throw new Error("This conversation changed. Refresh its branches and choose again.");await J(a.source,g,{branchLeafId:s.leafId,expectedBranchRevision:s.revision}),r.database.exec("BEGIN IMMEDIATE");try{let u=r.connections().find(S=>S.id===e);if(!u||u.state!=="paused"||u.revision!==a.revision||u.source.instanceId!==a.source.instanceId)throw new Error("Connection changed during branch selection. Refresh and try again.");r.set(Se(e,o),JSON.stringify({leafId:l.leafId,chainHash:l.chainHash,sourceInstanceId:a.source.instanceId}));for(let S of["source_scans","checkpoints","pending"])r.database.prepare(`DELETE FROM ${S} WHERE connection_id=?`).run(e);let v=new j(r);v.set(e,"source",v.source(e)),r.progress.reset(e),v.set(e,"admission",null),r.database.exec("COMMIT")}catch(u){throw r.database.exec("ROLLBACK"),u}return{connectionId:e,nativeSessionId:o,leafId:l.leafId,state:"paused"}}finally{r.close()}}p(Ce,"selectCollectorBranch");var V=class{static{p(this,"CollectorSyncRequests")}store;acquisitions=new Map;constructor(e){this.store=e}observe(e,o){let s=o.requestedSyncRevision??e.requestedSyncRevision??0,r=o.completedSyncRevision??0;if(!Number.isSafeInteger(s)||s<0||s>o.revision||!Number.isSafeInteger(r)||r<0||r>s)throw new Error("Invalid remote sync acknowledgement.");let a=this.confirmed(e.id);return r>a&&this.store.set(`syncAcknowledged:${e.id}`,String(r)),{requestedSyncRevision:Math.max(e.requestedSyncRevision??0,s),completedSyncRevision:Math.max(e.completedSyncRevision??0,r)}}needsAcquisition(e){let o=e.requestedSyncRevision??0;if(o<=(e.completedSyncRevision??0))return!1;let s=this.acquisitions.get(e.id);return s?.controlRevision!==e.revision||s.requestedSyncRevision!==o}acquired(e,o){this.acquisitions.set(e,o)}complete(e,o){let s=this.acquisitions.get(e.id),r=e.requestedSyncRevision??0;if(e.state!=="active"||this.store.setting("desiredState")!=="running"||this.store.queued(e.id)||o||!s?.succeeded||s.controlRevision!==e.revision||s.requestedSyncRevision!==r||r<=(e.completedSyncRevision??0))return e;let a={...e,completedSyncRevision:r};return this.store.put(a),a}confirmed(e){return Number(this.store.setting(`syncAcknowledged:${e}`))||0}needsAcknowledgement(e){return(e.completedSyncRevision??0)>this.confirmed(e.id)}};async function Ee(t){let e=await B.open(t.directory),o=je();e.database.exec("BEGIN IMMEDIATE");try{let i=e.setting("owner");if(i){let f=JSON.parse(i),h=!0;try{process.kill(f.pid,0)}catch(n){h=n.code!=="ESRCH"}if(h)throw new Error("The collector already has a live owner.")}e.set("owner",JSON.stringify({pid:process.pid,nonce:o})),e.database.exec("COMMIT")}catch(i){throw e.database.exec("ROLLBACK"),e.close(),i}if(e.setting("desiredState")!=="running"){e.set("owner",""),e.close();return}e.set("pid",String(process.pid));let s=!0,r=0,a=0,g=new Map,c=new j(e),l=new V(e),u=new Map;function v(i){return e.connections().find(f=>f.id===i.id)??i}p(v,"retained");function S(i){let f=e.queued(i.id),h=c.message(i.id,"heartbeat");return{pendingOperations:f,error:h,completedSyncRevision:!f&&!h?i.completedSyncRevision??0:0}}p(S,"heartbeatInput");function d(i,f){let h=v(i);if(h.state==="disconnected"||f.revision<h.revision)return h;let n=l.observe(h,f);f.revision>h.revision&&c.set(h.id,"control",null);let m={...h,...n,...f.revision>h.revision?{revision:f.revision,state:f.state}:{},...f.destinations?{destinations:f.destinations}:{}};return e.put(m),m}p(d,"applyRemote");function R(i,f,h){let n=f instanceof Error?f.message:"Collection failed.";c.set(i.id,h,n);let m=f&&typeof f=="object"&&"status"in f?Number(f.status):0,C=v(i);C.state!=="disconnected"&&[400,401,403].includes(m)&&e.put({...C,state:m===400?"paused":"disconnected"})}p(R,"recordFailure");async function N(i){let f=i.revision,h=i.requestedSyncRevision??0,n,m=[];do{if(Date.now()-a>=L.heartbeatMs){a=Date.now(),e.set("heartbeatAt",new Date().toISOString());for(let w of e.connections())if(w.state!=="disconnected")try{let x=await t.transport.heartbeat(w,S(w));d(w,x),c.set(w.id,"heartbeat",null)}catch(x){R(w,x,"heartbeat")}}if(i=e.connections().find(w=>w.id===i.id)??i,i.state!=="active"||t.signal.aborted||e.setting("desiredState")!=="running")return;let C=await M(i.source,{since:i.since??void 0,cursor:n,limit:50});for(let w of C.items){let x=JSON.stringify([w.path,w.nativeSessionId]),O=w.storageRevision?T([w.storageRevision,de(i.source.source)]):null;if(e.progress.select(i.id,x),t.signal.aborted||e.setting("desiredState")!=="running"||e.connections().find(y=>y.id===i.id)?.state!=="active")return;try{if(O&&!e.sourceChanged(i.id,x,O)&&!e.progress.tracks(i.id,x))continue;let{files:y,preview:b,branchLeafId:k}=await J(i.source,w,{branchAnchor:be(e,i.id,w.nativeSessionId)}),$=!1;for(let q of b.sessions){let _=JSON.stringify([i.source.instanceId,q.sessionId,q.branchId]);e.progress.retained(i.id,x,_);let ne=q.boundaries.filter(A=>A.projection==="turn"&&A.terminal!=="unknown"&&(!i.since||Date.parse(q.events[A.start].occurredAt??w.updatedAt)>=Date.parse(i.since)));$||=ne.length>0;let ie=ne.filter(A=>e.changed(i.id,_,A.id,T([A.inputHash,A.revisionHash])));for(let A=0;A<ie.length;A+=L.batchCases){let Q=ie.slice(A,A+L.batchCases),De=`sync-${T([i.id,_,Q.map(U=>[U.id,U.inputHash,U.revisionHash])]).slice(0,48)}`;e.enqueue({operationId:De,connectionId:i.id,sessionKey:_,contentHash:q.contentHash,files:y,boundaryIds:Q.map(U=>U.id),...k?{branchLeafId:k}:{}},Q.map(U=>({id:U.id,revision:T([U.inputHash,U.revisionHash])})),x)}}e.progress.read(i.id,x,$),O&&e.scanned(i.id,x,O)}catch(y){if(y instanceof le){e.progress.read(i.id,x,!1),O&&e.scanned(i.id,x,O);continue}e.progress.failed(i.id,x,y instanceof Error?y.message:"Unable to read session"),m.push(`${w.nativeSessionId}: ${y instanceof Error?y.message:"Unable to read session"}`)}}n=C.nextCursor??void 0}while(n);e.progress.discovered(i.id),u.set(i.id,f),l.acquired(i.id,{controlRevision:f,requestedSyncRevision:h,succeeded:m.length===0}),c.set(i.id,"source",m.length?`${m.length} session(s) need attention. ${m[0]}`:null)}p(N,"acquire");try{for(;!t.signal.aborted&&e.setting("desiredState")==="running";){let i=e.connections();e.set("heartbeatAt",new Date().toISOString());for(let n of i)if(n.state!=="disconnected"&&!g.has(n.source.root))try{let m=Pe(n.source.root,{recursive:n.source.acquisition!=="sqlite"},()=>{s=!0});m.on("error",()=>{s=!0}),g.set(n.source.root,m)}catch{}let f=Date.now()-a>=L.heartbeatMs;f&&(a=Date.now());let h=s||Date.now()-r>=L.reconcileMs||e.setting("syncNow")==="yes";h&&(s=!1,r=Date.now(),e.set("syncNow","no"));for(let n of i){if(n=v(n),n.state==="disconnected")continue;let m="heartbeat";try{if(f){let w=await t.transport.heartbeat(n,S(n));n=d(n,w),c.set(n.id,"heartbeat",null)}if(n.state!=="active"){u.delete(n.id);continue}if(m="source",(h||u.get(n.id)!==n.revision||l.needsAcquisition(n))&&await N(n),n=e.connections().find(w=>w.id===n.id)??n,n.state!=="active"||t.signal.aborted||e.setting("desiredState")!=="running")continue;m="admission";let C=e.next(n.id);if(C)try{await t.transport.admit(n,C.entry),e.acknowledge(C.entry),c.set(n.id,"admission",null)}catch(w){throw e.retry(C.entry.operationId,C.attempts),w}if(n=v(n),t.signal.aborted||e.setting("desiredState")!=="running"||n.state!=="active")continue;if(n=l.complete(n,c.message(n.id,"heartbeat")),l.needsAcknowledgement(n)&&S(n).completedSyncRevision){m="heartbeat";let w=await t.transport.heartbeat(n,S(n));n=d(n,w),c.set(n.id,"heartbeat",null)}if(!t.signal.aborted&&e.setting("desiredState")==="running"&&n.state==="active"&&!n.keepSyncing&&u.get(n.id)===n.revision&&e.queued(n.id)===0&&e.progress.status(n.id).stage==="complete"&&!c.source(n.id)&&l.confirmed(n.id)>=(n.requestedSyncRevision??0)){if(m="control",!t.transport.pause)throw new Error("This transport cannot acknowledge completion of a one-time import.");let w=await t.transport.pause(n);d(n,w),c.set(n.id,"control",null)}}catch(C){R(n,C,m)}}await new Promise(n=>{let m=p(()=>{clearTimeout(C),t.signal.removeEventListener("abort",m),n()},"done"),C=setTimeout(m,1e3);t.signal.addEventListener("abort",m,{once:!0})})}}finally{for(let f of g.values())f.close();JSON.parse(e.setting("owner")||"{}").nonce===o&&(e.set("pid",""),e.set("heartbeatAt",""),e.set("owner","")),e.close()}}p(Ee,"runCollector");import{createHash as Ne,generateKeyPairSync as Ke,createPublicKey as _e,diffieHellman as Je,createDecipheriv as ze}from"node:crypto";import{spawn as Ge}from"node:child_process";var xe=p(t=>Ne("sha256").update(t).digest("hex"),"hash"),Fe=I.object({publicKey:I.string().max(200),iv:I.string().max(100),tag:I.string().max(100),ciphertext:I.string().max(1e4)}).strict();async function re(t,e,o){let s=await fetch(`${t}${e}`,{method:"POST",redirect:"error",signal:AbortSignal.timeout(15e3),headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}),r=await s.text();if(r.length>16384)throw new Error("Authorization response exceeded its limit.");if(!s.ok)throw Object.assign(new Error(`Browser sign-in failed (${s.status}).`),{status:s.status});return JSON.parse(r)}p(re,"post");function Ye(t){let e=process.platform==="darwin"?"open":process.platform==="win32"?"rundll32":"xdg-open",o=process.platform==="win32"?["url.dll,FileProtocolHandler",t]:[t],s=Ge(e,o,{stdio:"ignore",detached:!0});s.on("error",()=>{}),s.unref()}p(Ye,"openBrowser");async function Oe(t,e){let o=await Y(),s=ve(e)||o.apiBaseUrl||ge,r=E(e,"baseUrl")||(new URL(s).hostname==="staging-api.openpond.ai"?"https://staging.openpond.ai":ye(o)),a=new URL(r),g=new URL(s);for(let d of[a,g])if(d.protocol!=="https:"&&!(d.protocol==="http:"&&["localhost","127.0.0.1"].includes(d.hostname))||d.username||d.password||d.search||d.hash)throw new Error("Sign-in requires a clean HTTPS origin or local development origin.");let c=`import-${xe([a.origin,t.machineId,t.instanceId].join(":")).slice(0,24)}`,l=Ke("x25519"),u=l.publicKey.export({format:"der",type:"spki"}).toString("base64"),v=I.object({deviceCode:I.string(),userCode:I.string(),expiresAt:I.string().datetime(),intervalSeconds:I.number().min(2).max(10)}).strict().parse(await re(a.origin,"/api/cli/import/device",{publicKey:u,machineId:t.machineId,sourceInstanceId:t.instanceId,sourceLabel:D[t.source],sourceRoot:t.root,...E(e,"team")?{requestedTeamId:E(e,"team")}:{}})),S=`${a.origin}/console/connections/authorize?code=${encodeURIComponent(v.userCode)}`;for(console.log(`OpenPond sign-in code: ${v.userCode}
3
+ ${S}`),Ye(S);Date.now()<Date.parse(v.expiresAt);){await new Promise(m=>setTimeout(m,v.intervalSeconds*1e3));let d;try{d=await re(a.origin,"/api/cli/import/token",{deviceCode:v.deviceCode})}catch(m){if(Number(m.status)===429)continue;throw m}let R=I.object({state:I.enum(["pending","approved","denied","consumed"]),envelope:Fe.nullable().optional()}).strict().parse(d);if(R.state==="denied"||R.state==="consumed")throw new Error("Browser sign-in was declined or already consumed. Start the connection again.");if(R.state!=="approved"||!R.envelope)continue;let N=R.envelope,i=_e({key:Buffer.from(N.publicKey,"base64"),format:"der",type:"spki"});if(i.asymmetricKeyType!=="x25519")throw new Error("Invalid sign-in encryption key.");let f=Ne("sha256").update(Je({privateKey:l.privateKey,publicKey:i})).digest(),h=ze("aes-256-gcm",f,Buffer.from(N.iv,"base64"));h.setAAD(Buffer.from(xe(v.deviceCode))),h.setAuthTag(Buffer.from(N.tag,"base64"));let n=I.object({apiKey:I.string().min(1),teamId:I.string().min(1),expiresAt:I.string().datetime()}).strict().parse(JSON.parse(Buffer.concat([h.update(Buffer.from(N.ciphertext,"base64")),h.final()]).toString("utf8")));if(E(e,"team")&&n.teamId!==E(e,"team"))throw new Error("Browser approved a different workspace.");return await he({handle:c,apiKey:n.apiKey,baseUrl:a.origin,apiBaseUrl:g.origin,setActive:!1}),await re(a.origin,"/api/cli/import/token",{deviceCode:v.deviceCode,acknowledge:!0}),{apiKey:n.apiKey,teamId:n.teamId,baseUrl:g.origin,account:c,accountBaseUrl:a.origin}}throw new Error("Browser sign-in expired. Start the connection again.")}p(Oe,"authorizeImporter");async function K(t){let e=await Y({account:t.account,baseUrl:t.accountBaseUrl}),o=t.account?e.apiKey:we(e);if(!o)throw Object.assign(new Error("This source is disconnected. Reconnect it with OpenPond Importer to authorize collection."),{status:401});let s={apiKey:o,baseUrl:t.apiBaseUrl,teamId:t.teamId};return{evidence:new me(s),sync:new F(s)}}p(K,"collectorClients");var ke={async pause(t){let{sync:e}=await K(t),o=await e.control({id:t.id,expectedRevision:t.revision,action:"pause"});return{revision:o.revision,state:o.state,destinations:Z(t,o),requestedSyncRevision:o.requestedSyncRevision,completedSyncRevision:o.completedSyncRevision}},async heartbeat(t,e){let{sync:o}=await K(t),s=await o.heartbeat({id:t.id,expectedRevision:t.revision,...e});return{revision:s.revision,state:s.state,destinations:Z(t,s),requestedSyncRevision:s.requestedSyncRevision,completedSyncRevision:s.completedSyncRevision}},async admit(t,e){let{evidence:o,sync:s}=await K(t),r=AbortSignal.timeout(6e4),a=Buffer.from(JSON.stringify(e.files.map(d=>({path:d.path,encoding:"utf8",base64:Buffer.from(d.text).toString("base64")})))),g={hash:ae(a),parts:Math.ceil(a.length/2e5)};for(let d=0;d<g.parts;d++)await o.uploadPart({...g,index:d,base64:a.subarray(d*2e5,(d+1)*2e5).toString("base64")},r);let c={upload:g,source:t.source.source,...e.branchLeafId?{branchLeafId:e.branchLeafId}:{},destination:{kind:"existing",projectId:t.projectId},acquisition:{machineId:t.source.machineId,sourceInstanceId:t.source.instanceId}},l=await o.preview(c,r);if(l.issues.length)throw Object.assign(new Error("Source schema was rejected; inspect the connection before resuming."),{status:400});let u=l.sessions.find(d=>d.sessionHash===e.contentHash);if(!u||e.boundaryIds.some(d=>!u.boundaries.some(R=>R.id===d&&R.projection==="turn"&&R.terminal!=="unknown")))throw Object.assign(new Error("Server preview differs from the retained source boundaries."),{status:400});let v={...c,operationId:e.operationId,previewHash:l.previewHash,selection:[{sessionHash:u.sessionHash,boundaryIds:e.boundaryIds}]},S=fe.parse(await s.commit({connectionId:t.id,expectedRevision:t.revision,request:v},r));if(S.state!=="completed"||S.operationId!==e.operationId||S.requestHash!==T(v)||S.projectId!==t.projectId)throw new Error("Admission did not acknowledge this retained operation.")}};import{emitKeypressEvents as We}from"node:readline";async function Ae(t){console.log("Ctrl+C closes this view and keeps syncing. Ctrl+D pauses this connection.");let e=new AbortController,o=p(()=>e.abort(),"detach"),s=!1,r=process.stdin.isRaw,a=p((c,l)=>{l?.ctrl&&(l.name==="c"&&o(),l.name==="d"&&!s&&(s=!0,t.pause().then(o).catch(u=>{console.error(`
4
+ Unable to pause: ${u instanceof Error?u.message:"connection update failed"}`),s=!1})))},"keypress");We(process.stdin),process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("keypress",a),process.stdin.once("end",o),process.once("SIGINT",o);let g=0;try{for(;!e.signal.aborted;){let c=await P(t.directory),l=c.connections.find(f=>f.id===t.connectionId);if(!l)break;let u=l.backfill,v=u.admitted+u.skipped,S=u.total?v/u.total:u.stage==="complete"?1:0,d=Math.max(0,Math.min(20,Math.floor(S*20))),R=u.stage==="discovering"?`${["|","/","-","\\"][g++%4]} Discovering conversations (${u.total} found)`:`[${"=".repeat(d)}${" ".repeat(20-d)}] ${v}/${u.total} conversations`,N=c.running?l.state!=="active"?l.state:u.stage==="complete"?t.keepSyncing?"Watching for new conversations":"Import complete":u.stage:"Service offline",i=`${R} ${l.admitted} tasks admitted ${u.skipped} skipped ${u.failed} need attention ${l.queued} queued ${l.error||N}${l.lastAdmissionAt?` Last sync ${l.lastAdmissionAt}`:""}`;if(process.stdout.clearLine(0),process.stdout.cursorTo(0),process.stdout.write(i),!t.keepSyncing&&l.state==="paused"&&l.queued===0)break;await new Promise(f=>{let h=p(()=>{clearTimeout(n),e.signal.removeEventListener("abort",h),f()},"done"),n=setTimeout(h,1e3);e.signal.addEventListener("abort",h,{once:!0})})}}finally{process.stdin.off("keypress",a),process.stdin.off("end",o),process.off("SIGINT",o),process.stdin.setRawMode(r??!1),process.stdin.pause(),console.log()}}p(Ae,"monitorImport");async function oe(t,e){let o=await B.open(t),s;try{s=o.connections().find(r=>r.id===e)}finally{o.close()}if(!s)throw new Error("Select a retained connection from openpond import status.");if(s.source.machineId!==await G(t))throw new Error("This connection belongs to another machine. Use explicit Connect setup.");if(!s.accountBaseUrl)throw new Error("The original sign-in destination is unavailable. Use explicit Connect setup.");return s}p(oe,"retainedReconnect");function Te(t,e){if(!e?.available||!e.capabilities.history||e.source!==t.source.source||e.machineId!==t.source.machineId||e.instanceId!==t.source.instanceId||e.root!==t.source.root)throw new Error("The retained source is unavailable or its identity changed. Restore its original location or use explicit Connect setup.")}p(Te,"assertReconnectSource");async function $e(t,e){let o=await oe(t,e.id),s=p(r=>({...r,destinations:void 0,requestedSyncRevision:r.requestedSyncRevision??0,completedSyncRevision:r.completedSyncRevision??0}),"scope");if(T(s(o))!==T(s(e)))throw new Error("The connection changed during sign-in. Reconnect again after reviewing its current scope.")}p($e,"assertReconnectUnchanged");import{createInterface as Ve}from"node:readline/promises";async function Be(t,e,o,s){let r=E(s,"session");if(!o||!r)throw new Error("Use openpond import branches <connection-id> --session <native-session-id>.");let a=await Re(t,o,r);if(e==="branches"){console.log(JSON.stringify(a,null,2));return}let g=process.stdin.isTTY&&process.stdout.isTTY&&!H(s.json),c=E(s,"leaf"),l=E(s,"revision");if(!c&&g){a.branches.forEach((S,d)=>console.log(`${d+1}. ${S.title||S.leafId} (${S.messages} messages; ${S.updatedAt||"date unavailable"})`));let v=Ve({input:process.stdin,output:process.stdout});try{c=a.branches[Number(await v.question("Choose the branch to sync: "))-1]?.leafId??"",l=a.revision}finally{v.close()}}if(!c||!l)throw new Error("Supply --leaf and --revision from import branches, or choose interactively. No branch was selected.");if(!a.branches.some(v=>v.leafId===c)||l!==a.revision)throw new Error("Branch selection is stale or invalid. Run import branches again.");if(!H(s.yes)&&(!g||!await W("Sync only this branch and its unambiguous future continuation for this conversation? Other branches stay excluded.",!1)))throw new Error("Branch selection was not approved.");let u=await Ce(t,o,r,{leafId:c,revision:l});console.log(JSON.stringify({...u,next:`openpond import resume ${o}`},null,2))}p(Be,"runImporterBranchCommand");async function is(t,e){let[o="connect",s]=e,r=Ue(E(t,"collectorDir")||pe()),a=H(t.json),g=p(y=>console.log(JSON.stringify(y,null,2)),"print");if(o==="branches"||o==="branch"){await Be(r,o,s,t);return}if(o==="service"){if(s==="status"){g(await P(r));return}if(s==="stop"){g(await ee(r,"stop"));return}if(s==="uninstall"){g(await ue(r));return}if(s==="install"){g(await te({directory:r,executable:process.execPath,args:[process.argv[1]],environment:He()}));return}if(s==="start"){g(await se(r));return}if(s==="run"){let y=new AbortController,b=p(()=>y.abort(),"stop");process.once("SIGTERM",b),process.once("SIGINT",b);try{await Ee({directory:r,transport:ke,signal:y.signal})}finally{process.off("SIGTERM",b),process.off("SIGINT",b)}return}throw new Error("usage: openpond import service <install|start|stop|status|run|uninstall>")}if(o==="status"){g(await P(r));return}if(o==="sync"){g(await ee(r,"sync"));return}if(["pause","resume","disconnect"].includes(o)){let y=await B.open(r),b;try{b=y.connections().find(q=>q.id===s)}finally{y.close()}if(!b)throw new Error("Select a connection id from openpond import status.");let{sync:k}=await K(b),$=await k.control({id:b.id,expectedRevision:b.revision,action:o});await z(r,{...b,revision:$.revision,state:$.state}),g($);return}let c=o==="reconnect"?await oe(r,s):null;c&&(t={...t,source:c.source.source,sourcePath:c.source.root,project:c.projectId,connection:c.id,team:c.teamId,apiBaseUrl:c.apiBaseUrl,baseUrl:c.accountBaseUrl,once:!c.keepSyncing});let l=E(t,"source");if(l&&!(l in D))throw new Error("Choose a supported native source name.");let u=await G(r),v=await ce({machineId:u,...l&&E(t,"sourcePath")?{locations:{[l]:Ue(E(t,"sourcePath"))}}:{}});if(o==="discover"){g(v);return}if(o!=="connect"&&o!=="reconnect")throw new Error("usage: openpond import <connect|reconnect|discover|status|sync|pause|resume|disconnect|branches|branch|service>");let S=v.filter(y=>y.source===l),d=S.length===1?S[0]:void 0,R=process.stdin.isTTY&&process.stdout.isTTY&&!a;if(c&&Te(c,d),!d&&R){let y=S.length>1?S:v.filter(k=>k.available);y.forEach((k,$)=>console.log(`${$+1}. ${D[k.source]} ${k.root}${k.capabilities.history?"":` (${k.reason})`}`));let b=qe({input:process.stdin,output:process.stdout});try{d=y[Number(await b.question("Choose a source: "))-1]}finally{b.close()}}if(!d?.capabilities.history)throw new Error(d?.reason??(S.length>1?"Multiple source instances found. Select the exact --source-path or use interactive setup.":"Select --source and optionally --source-path."));let N=E(t,"range")||"week";if(!c&&R&&!t.range){let y=qe({input:process.stdin,output:process.stdout});try{N=(await y.question("History: day, week, or all [week]: ")).trim()||"week"}finally{y.close()}}if(!["day","week","all"].includes(N))throw new Error("--range must be day, week or all.");let i=c?c.since:N==="all"?null:new Date(Date.now()-(N==="day"?1:7)*864e5).toISOString(),f=await M(d,{since:i??void 0,limit:100});a||console.log(`Found ${f.items.length}${f.nextCursor?"+":""} sessions in ${d.root}. History: ${c?i?`since ${i}`:"all":N}.`);let h=!H(t.once),n=E(t,"project");if(!H(t.yes)&&(!R||!await W(`Sync this source to ${n||"your personal Imported conversations Project"} and ${h?"keep syncing":"import once"}?`,!0)))throw new Error("Connection was not approved. No history was uploaded.");let m=await Oe(d,t),C=new F(m),w=E(t,"connection")||`sync-${T([m.baseUrl,m.teamId,d.instanceId,n||"default"]).slice(0,40)}`;c&&await $e(r,c);let x=(await C.list()).items.find(y=>y.id===w),O=await C.register({id:w,source:d.source,machineId:u,sourceInstanceId:d.instanceId,sourceLabel:D[d.source],sourceRoot:d.root,destination:n?{kind:"existing",projectId:n}:{kind:"new",name:"Imported conversations"},since:i,keepSyncing:h,expectedRevision:x?.revision??0});await z(r,{id:O.id,teamId:m.teamId,apiBaseUrl:m.baseUrl,account:m.account,accountBaseUrl:m.accountBaseUrl,source:d,projectId:O.projectId,revision:O.revision,requestedSyncRevision:O.requestedSyncRevision,completedSyncRevision:O.completedSyncRevision,since:i,keepSyncing:h,state:O.state}),await te({directory:r,executable:process.execPath,args:[process.argv[1]],environment:He()}),await se(r),g({connection:O,service:await P(r)}),R&&!H(t.detach)&&await Ae({directory:r,connectionId:w,keepSyncing:h,async pause(){let y=await B.open(r),b;try{b=y.connections().find(q=>q.id===w)}finally{y.close()}if(!b)throw new Error("The connection is unavailable.");let{sync:k}=await K(b),$=await k.control({id:b.id,expectedRevision:b.revision,action:"pause"});await z(r,{...b,revision:$.revision,state:$.state})}})}p(is,"runImportCommand");function He(){return{...process.env.OPENPOND_HOME?{OPENPOND_HOME:process.env.OPENPOND_HOME}:{},...process.env.ELECTRON_RUN_AS_NODE==="1"?{ELECTRON_RUN_AS_NODE:"1"}:{}}}p(He,"collectorEnvironment");export{is as runImportCommand};