openpond 0.2.61 → 0.2.62
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.
- package/dist/app-server.d.ts +3264 -18
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-FUAWCKBH.js → acp-DYRBDJRU.js} +1 -1
- package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-UTLP7C3I.js} +1 -1
- package/dist/chunks/{actions-command-LOHNQUWP.js → actions-command-6LF4Z4WK.js} +1 -1
- package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-N2H3RBEN.js} +1 -1
- package/dist/chunks/{app-server-connected-apps-Q2VWWJNX.js → app-server-connected-apps-3T546FE7.js} +1 -1
- package/dist/chunks/app-server-evaluations-TXD747QA.js +2 -0
- package/dist/chunks/{app-server-harness-services-2PSZBT7U.js → app-server-harness-services-BBCDV5P3.js} +1 -1
- package/dist/chunks/app-server-runtime-VEJPDAFP.js +2 -0
- package/dist/chunks/{apps-7PIBF32Q.js → apps-CTT2XYRR.js} +1 -1
- package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
- package/dist/chunks/{chunk-5VPU7OS7.js → chunk-2IIBCCOK.js} +1 -1
- package/dist/chunks/{chunk-ZISYLRH6.js → chunk-2UDAKLJ4.js} +1 -1
- package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
- package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-3R4MSE2S.js} +1 -1
- package/dist/chunks/{chunk-OFVUN4KI.js → chunk-47AXSBPV.js} +1 -1
- package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
- package/dist/chunks/chunk-4PZWGNX4.js +86 -0
- package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-4RZBGKT7.js} +1 -1
- package/dist/chunks/{chunk-VBW2X42G.js → chunk-4TM75R7V.js} +1 -1
- package/dist/chunks/chunk-4U2FNXQW.js +2 -0
- package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
- package/dist/chunks/{chunk-VWJ5IYQP.js → chunk-547AUVKN.js} +1 -1
- package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-557XSPVS.js} +1 -1
- package/dist/chunks/{chunk-ZHFH2TZN.js → chunk-557YG77L.js} +1 -1
- package/dist/chunks/{chunk-MF35MALN.js → chunk-5A6ER3M2.js} +1 -1
- package/dist/chunks/{chunk-U4HZD2GM.js → chunk-5OSM75X5.js} +1 -1
- package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-6SH4B7DV.js} +1 -1
- package/dist/chunks/chunk-6XSSM4WT.js +3 -0
- package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-7JBB4PXS.js} +1 -1
- package/dist/chunks/{chunk-SID4X3YN.js → chunk-7JXZNCBC.js} +1 -1
- package/dist/chunks/chunk-7KTARW23.js +2 -0
- package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
- package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-AKZPMKWP.js} +1 -1
- package/dist/chunks/{chunk-SIV5P6JO.js → chunk-AMO5DVKM.js} +2 -2
- package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
- package/dist/chunks/{chunk-4RHM4WN2.js → chunk-B42QQUZY.js} +1 -1
- package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
- package/dist/chunks/{chunk-CQF6QZEL.js → chunk-BEI4YULC.js} +1 -1
- package/dist/chunks/chunk-BKEDG3A4.js +22 -0
- package/dist/chunks/{chunk-GEXKTGLY.js → chunk-C7M2WBWZ.js} +14 -14
- package/dist/chunks/{chunk-ELYRVTTG.js → chunk-CJUVHE4U.js} +1 -1
- package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-EIX2V2KU.js} +1 -1
- package/dist/chunks/{chunk-AWPYTDH4.js → chunk-EWOTDVDJ.js} +1 -1
- package/dist/chunks/{chunk-B47JMAVW.js → chunk-F4TJ7WQV.js} +1 -1
- package/dist/chunks/{chunk-TXBIZDXG.js → chunk-F7D4BMTO.js} +1 -1
- package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FFWOTZQM.js} +1 -1
- package/dist/chunks/{chunk-6RVF2J47.js → chunk-FUSCTBJI.js} +1 -1
- package/dist/chunks/{chunk-BN5AVRUG.js → chunk-GAQLXFOT.js} +1 -1
- package/dist/chunks/{chunk-LHENAWLH.js → chunk-GEKORCMN.js} +1 -1
- package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-GNCEZ3UP.js} +1 -1
- package/dist/chunks/{chunk-WRQEYW3V.js → chunk-GOIKLFXK.js} +1 -1
- package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GQGLPKU4.js} +1 -1
- package/dist/chunks/{chunk-LBBXVOVR.js → chunk-GSWBNJGZ.js} +1 -1
- package/dist/chunks/{chunk-7EAWLYYB.js → chunk-GV3LFSMI.js} +1 -1
- package/dist/chunks/{chunk-GQUS7MCH.js → chunk-GW5SE3FM.js} +1 -1
- package/dist/chunks/{chunk-I3W27VK4.js → chunk-HBLN4OLY.js} +1 -1
- package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
- package/dist/chunks/{chunk-4P3X2RXA.js → chunk-HKV7RX5E.js} +1 -1
- package/dist/chunks/{chunk-QDBYLJGH.js → chunk-HXZXDDKW.js} +1 -1
- package/dist/chunks/{chunk-LNRFRAV5.js → chunk-INO67SEN.js} +1 -1
- package/dist/chunks/{chunk-E67M5WGY.js → chunk-IWK3RTLR.js} +1 -1
- package/dist/chunks/{chunk-U447MS3Y.js → chunk-J3B2GM4A.js} +1 -1
- package/dist/chunks/chunk-JCLTFDVW.js +2 -0
- package/dist/chunks/{chunk-25RDE7DV.js → chunk-JEISPWWM.js} +1 -1
- package/dist/chunks/{chunk-D4JZALZ4.js → chunk-JIFUGA3U.js} +1 -1
- package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
- package/dist/chunks/{chunk-FWIPHEVA.js → chunk-JX6OX6XE.js} +1 -1
- package/dist/chunks/{chunk-D5ADDBS5.js → chunk-JY3YSI54.js} +1 -1
- package/dist/chunks/{chunk-CM5USMXN.js → chunk-KOKX7PBS.js} +1 -1
- package/dist/chunks/{chunk-3ZWLRBYZ.js → chunk-KUPJNBWG.js} +1 -1
- package/dist/chunks/chunk-LILXHGIA.js +2 -0
- package/dist/chunks/{chunk-MCIIGQT7.js → chunk-LJDBR3RN.js} +1 -1
- package/dist/chunks/{chunk-3TYCIYW6.js → chunk-LJPO3TEL.js} +1 -1
- package/dist/chunks/{chunk-MHYI7ATG.js → chunk-LRRBYIGH.js} +2 -2
- package/dist/chunks/{chunk-P4XM7LUT.js → chunk-M5IX6VUA.js} +1 -1
- package/dist/chunks/chunk-MEK7DLX3.js +2 -0
- package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
- package/dist/chunks/{chunk-ZBBVRYU3.js → chunk-MNFW5WLD.js} +1 -1
- package/dist/chunks/{chunk-2VXL6AU3.js → chunk-MNXNZDDW.js} +1 -1
- package/dist/chunks/chunk-N5GPINVP.js +2 -0
- package/dist/chunks/{chunk-TSAW2QVU.js → chunk-NBE74GLF.js} +1 -1
- package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-NE4ESZPT.js} +1 -1
- package/dist/chunks/{chunk-CO3OJFPU.js → chunk-NKZNPTLA.js} +1 -1
- package/dist/chunks/{chunk-WFVOG5PU.js → chunk-NLQ2UPN2.js} +1 -1
- package/dist/chunks/chunk-NOSBNHGC.js +18 -0
- package/dist/chunks/{chunk-TTN63EAM.js → chunk-NWOK6NLE.js} +1 -1
- package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
- package/dist/chunks/chunk-O3MHHGC5.js +151 -0
- package/dist/chunks/{chunk-IUGK6BBY.js → chunk-OCC43RSJ.js} +1 -1
- package/dist/chunks/{chunk-BQUWZRWU.js → chunk-P74RR2GB.js} +1 -1
- package/dist/chunks/{chunk-PAZDQRYU.js → chunk-PAE3PQEC.js} +1 -1
- package/dist/chunks/{chunk-M4ZRCRJM.js → chunk-PGO4FRHU.js} +2 -2
- package/dist/chunks/chunk-Q34IF4PW.js +2 -0
- package/dist/chunks/{chunk-Q324ZA5M.js → chunk-QAVQJZCM.js} +1 -1
- package/dist/chunks/{chunk-EIIGTADO.js → chunk-RBDUMASL.js} +1 -1
- package/dist/chunks/{chunk-TMMFF6DO.js → chunk-RH43WLBX.js} +1 -1
- package/dist/chunks/{chunk-RPOD6I64.js → chunk-RTJCELRR.js} +1 -1
- package/dist/chunks/{chunk-L3GA2CQI.js → chunk-SD64CLJX.js} +1 -1
- package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
- package/dist/chunks/{chunk-MLTKB5G3.js → chunk-SZKFNKWO.js} +1 -1
- package/dist/chunks/chunk-T4QXKU5Y.js +1 -0
- package/dist/chunks/{chunk-PE7UKJXK.js → chunk-T6C5BNXK.js} +1 -1
- package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
- package/dist/chunks/{chunk-OQUKSRU3.js → chunk-TGEGXTPR.js} +1 -1
- package/dist/chunks/chunk-TM4VEMNN.js +2 -0
- package/dist/chunks/chunk-TUCKED4T.js +4 -0
- package/dist/chunks/chunk-TVTFEGTU.js +2 -0
- package/dist/chunks/{chunk-HZLV773Y.js → chunk-TW3SRBLU.js} +1 -1
- package/dist/chunks/{chunk-BNZTJPK7.js → chunk-U456UP3N.js} +1 -1
- package/dist/chunks/chunk-UC3FXTDL.js +9 -0
- package/dist/chunks/{chunk-XLULTQLZ.js → chunk-UT6F6AIB.js} +1 -1
- package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
- package/dist/chunks/{chunk-DW3GJRY3.js → chunk-VAJSRUAB.js} +1 -1
- package/dist/chunks/chunk-VE6ZIGUQ.js +2 -0
- package/dist/chunks/{chunk-GLVR74PX.js → chunk-VI32G77S.js} +1 -1
- package/dist/chunks/{chunk-ROE24PN5.js → chunk-VK4TPZTA.js} +1 -1
- package/dist/chunks/{chunk-Q66LWQGF.js → chunk-VSQXDS6H.js} +1 -1
- package/dist/chunks/{chunk-4GZ2FPB5.js → chunk-VWRTE64Y.js} +1 -1
- package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
- package/dist/chunks/{chunk-57RY3LSR.js → chunk-WGLVSGFA.js} +1 -1
- package/dist/chunks/{chunk-I7JCARVH.js → chunk-WQMXEZVE.js} +3 -3
- package/dist/chunks/chunk-X4ZT22SG.js +2 -0
- package/dist/chunks/{chunk-DGPGOBYZ.js → chunk-XSB3T4JZ.js} +1 -1
- package/dist/chunks/{chunk-ZZWAQBA2.js → chunk-XWDFXM3S.js} +1 -1
- package/dist/chunks/{chunk-4LZLO4OW.js → chunk-Y2KPHVZK.js} +1 -1
- package/dist/chunks/chunk-ZQHPGEYT.js +2 -0
- package/dist/chunks/{chunk-T4LLJC5N.js → chunk-ZXT7V64X.js} +1 -1
- package/dist/chunks/cli-GCSO2OAI.js +2 -0
- package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-BU2RPG33.js} +1 -1
- package/dist/chunks/connected-app-executor-UDE7U4KG.js +2 -0
- package/dist/chunks/{connected-evidence-4J3YXU4O.js → connected-evidence-GXIY2L7C.js} +1 -1
- package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-V5QXRK5Q.js} +1 -1
- package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
- package/dist/chunks/{continual-CJUZM5ZQ.js → continual-FLW6DAJK.js} +1 -1
- package/dist/chunks/{core-commands-JGXU6B4C.js → core-commands-NJ6TGND4.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-DFGJBMVF.js → dataset-preparation-authoring-IUXUQK3L.js} +1 -1
- package/dist/chunks/{datasets-MNHZAZIB.js → datasets-AH56DKLZ.js} +1 -1
- package/dist/chunks/{desktop-test-P23MHAIG.js → desktop-test-PYUTEOWO.js} +1 -1
- package/dist/chunks/{dist-IIFTZWNR.js → dist-5267UT3V.js} +1 -1
- package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
- package/dist/chunks/{evaluation-coordination-6NQEH5WU.js → evaluation-coordination-3AUICOC5.js} +1 -1
- package/dist/chunks/{experiment-improvements-M27Z5OF4.js → experiment-improvements-YS7GGPDW.js} +1 -1
- package/dist/chunks/experiments-EJZK7FPT.js +2 -0
- package/dist/chunks/{experiments-signal-R3NNH7WR.js → experiments-signal-NKUIJCIY.js} +1 -1
- package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
- package/dist/chunks/{help-M2VQGPVC.js → help-PXUUREHZ.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-CTC5JQPD.js +2 -0
- package/dist/chunks/host-profile-external-dataset-GJWDY3YT.js +2 -0
- package/dist/chunks/hosted-app-server-composition-TLJSKMJT.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-TIVXXRPG.js +3 -0
- package/dist/chunks/hosted-harness-runtime-SFLJEZFI.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-37ZFY2LH.js → hosted-profile-candidate-DKEMVIYG.js} +1 -1
- package/dist/chunks/hosted-profile-compiler-V6YR6EHO.js +2 -0
- package/dist/chunks/{hosted-profile-evaluation-control-UQBMML6K.js → hosted-profile-evaluation-control-ERCXAPZD.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-YASS4T6L.js → hosted-profile-evaluation-inspection-Q3AIIIB6.js} +1 -1
- package/dist/chunks/hosted-profile-evaluation-preparation-ELLGH44Z.js +3 -0
- package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-X2YCFYEJ.js} +1 -1
- package/dist/chunks/{human-review-IJETDOWB.js → human-review-5WM6MSON.js} +1 -1
- package/dist/chunks/{import-WLLUIDS6.js → import-JWZSZCE4.js} +1 -1
- package/dist/chunks/local-harness-improvement-runtime-IGIKM6GJ.js +2 -0
- package/dist/chunks/local-harness-taskset-review-DR2ZIDOH.js +2 -0
- package/dist/chunks/{model-projects-AVBQDNYG.js → model-projects-H22KENI4.js} +1 -1
- package/dist/chunks/opchat-3S6TSDZO.js +3 -0
- package/dist/chunks/opchat-bounded-chat-B7LPCD4U.js +2 -0
- package/dist/chunks/{organizations-DJRJWC5I.js → organizations-62YNTZTO.js} +1 -1
- package/dist/chunks/{profile-JRS3JNRC.js → profile-ELE2D7HU.js} +1 -1
- package/dist/chunks/project-action-payload-32F4X2BB.js +2 -0
- package/dist/chunks/{project-agent-2KNJFNZI.js → project-agent-O4REKO6T.js} +1 -1
- package/dist/chunks/{published-experiment-source-LFYHKFAO.js → published-experiment-source-DAOTJLIN.js} +1 -1
- package/dist/chunks/refiner-profile-service-DYMZ7J3X.js +2 -0
- package/dist/chunks/{runtime-CBJF5GMB.js → runtime-776NUSE7.js} +2 -2
- package/dist/chunks/{sandbox-command-IIGTPYN3.js → sandbox-command-UQ26NDIX.js} +1 -1
- package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-WP6YCGBK.js} +1 -1
- package/dist/chunks/saved-work-PG52WCRQ.js +2 -0
- package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-RPB65PME.js} +1 -1
- package/dist/chunks/{src-4YZF6L6H.js → src-2R4CMCJ5.js} +1 -1
- package/dist/chunks/src-AU6LG7E6.js +421 -0
- package/dist/chunks/standalone-experiment-turn-owner-SD3SUTKX.js +2 -0
- package/dist/chunks/{store-chat-resources-CGW7PDCG.js → store-chat-resources-T4LR7K25.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-R62D2HD6.js} +1 -1
- package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-25O7BAR2.js} +1 -1
- package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-T5E2GUKK.js} +1 -1
- package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-5Y4U5L3R.js} +1 -1
- package/dist/chunks/{store-evaluation-results-V5J6L4NV.js → store-evaluation-results-WUVJWCFU.js} +1 -1
- package/dist/chunks/{store-harness-workspaces-HHMM6GNK.js → store-harness-workspaces-IFEFY5CK.js} +1 -1
- package/dist/chunks/{store-human-review-V5H4QDHR.js → store-human-review-ZQNLZRGG.js} +1 -1
- package/dist/chunks/store-learned-preference-migration-validation-UH6MJQSH.js +2 -0
- package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-LOH4F4TF.js} +1 -1
- package/dist/chunks/{store-model-batch-review-KMYPYWJR.js → store-model-batch-review-QO4VVKWC.js} +1 -1
- package/dist/chunks/{store-model-configuration-UXNC4PGY.js → store-model-configuration-C3HSOFD5.js} +1 -1
- package/dist/chunks/store-model-project-preparation-RQ2YTC2Y.js +2 -0
- package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-RNIFLJRW.js} +1 -1
- package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-DVQ2PP4F.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-LXWFFYCZ.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-4HH7LX6N.js} +1 -1
- package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-JLW4GD4Q.js} +1 -1
- package/dist/chunks/{store-task-inbox-LNDCZOYE.js → store-task-inbox-DL5RYFPO.js} +1 -1
- package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-NJXRXFLC.js} +1 -1
- package/dist/chunks/store-taskset-drafts-UFGN4SGF.js +9 -0
- package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-VRLU6NFX.js} +1 -1
- package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-3ZHG4LGI.js} +1 -1
- package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-KWQD5PRP.js} +1 -1
- package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-ZRS3ILF2.js} +1 -1
- package/dist/chunks/{taskset-NYLUYX6K.js → taskset-QDMCQQDJ.js} +1 -1
- package/dist/chunks/{taskset-packages-I7I5KBFP.js → taskset-packages-CBLJFWDQ.js} +1 -1
- package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-GF272RGC.js} +1 -1
- package/dist/chunks/{training-UBX6E7SK.js → training-DF5UEPY3.js} +1 -1
- package/dist/chunks/{training-error-AYOGHHL2.js → training-error-L5V5IBX3.js} +1 -1
- package/dist/chunks/training-hosted-I2NDBYGS.js +2 -0
- package/dist/chunks/training-hosted-report-4F25RZZ4.js +2 -0
- package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
- package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
- package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-5RUXYIOF.js} +1 -1
- package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-JRY2IE7H.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/hosted-chat.d.ts +28 -0
- package/dist/index.js +1 -1
- package/dist/skills/openpond-cli/SKILL.md +15 -2
- package/dist/skills/openpond-cli/references/compact-resource-tables.md +3 -3
- package/dist/skills/openpond-cli/references/diagnose-and-improve.md +4 -2
- package/dist/skills/openpond-cli/references/experiments-and-training.md +155 -10
- package/dist/skills/openpond-taskset-authoring/SKILL.md +5 -4
- package/dist/skills/openpond-taskset-authoring/artifact.json +7 -7
- package/dist/skills/openpond-taskset-authoring/references/failure-diagnosis.md +52 -1
- package/dist/web/assets/App-DHJVXTI2.js +54 -0
- package/dist/web/assets/App-DpFKLxuA.css +1 -0
- package/dist/web/assets/AppDialog-BurL61qE.js +1 -0
- package/dist/web/assets/AppTerminalPanel-RjFlF-a4.js +2 -0
- package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-DZLErwj0.js} +1 -1
- package/dist/web/assets/AppsView-ttlr9ckQ.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-CpMSfHCK.js} +1 -1
- package/dist/web/assets/BrowserSidebar-Cp2l0kg0.js +1 -0
- package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-CEbM980A.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-IKzZsHoI.js → ChatTimelineEntry-BITv20Ze.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-DrKJmJZK.js} +1 -1
- package/dist/web/assets/{CommandMenu-CBY2AJxV.js → CommandMenu-6oj8FUr6.js} +1 -1
- package/dist/web/assets/CommunityView-BzpIq1lD.js +1 -0
- package/dist/web/assets/ComposerAttachments-6en7m_ov.js +2 -0
- package/dist/web/assets/ComposerCreateImproveStrip-ChplO9YP.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-DRHgc7j_.js +1 -0
- package/dist/web/assets/FilePagePreview-CW4J_1u7.js +2 -0
- package/dist/web/assets/GetStartedView-CaBk_mX6.js +1 -0
- package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
- package/dist/web/assets/GettingStartedDialog-JtFLyU3F.js +1 -0
- package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-hhcjDifK.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-CY8198Y1.js +1 -0
- package/dist/web/assets/LabModelVersionDetailPage-f0tHT-Sn.js +1 -0
- package/dist/web/assets/LabSkillSidebar-HibUEEko.js +1 -0
- package/dist/web/assets/{LabsRoute-DOnw39du.js → LabsRoute-B61l1b8P.js} +8 -8
- package/dist/web/assets/MainChatThread-egKi0gLk.js +2 -0
- package/dist/web/assets/MainPane-2dj6Dg4l.js +95 -0
- package/dist/web/assets/{MainPane-CuBUBA9F.css → MainPane-BwHw3UYp.css} +1 -1
- package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-CNHTByLo.js +2 -0
- package/dist/web/assets/NativeSkillSidebar-DCdMbSfe.js +1 -0
- package/dist/web/assets/NewProjectDialog-t9Imnb__.js +1 -0
- package/dist/web/assets/OutputsPage-CeGq_F1S.js +1 -0
- package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-VHME5V8j.js} +1 -1
- package/dist/web/assets/ProjectsPage-2TMZoEPB.js +1 -0
- package/dist/web/assets/RightChatPanelStack-B3mBViGC.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CxDYSyyx.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-Dh47iH11.js +1 -0
- package/dist/web/assets/SettingsView-D2bu3tK_.js +5 -0
- package/dist/web/assets/TeamChatView-CN17AsgA.js +1 -0
- package/dist/web/assets/TerminalOverlay-DlhRpi-X.js +16 -0
- package/dist/web/assets/TrainingCreationPanel-DJKzaNFj.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-BhhZPPuY.js} +1 -1
- package/dist/web/assets/{TrainingMetricWorkbench-BmzHLwIP.js → TrainingMetricWorkbench-DBy8F1xp.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-DTZslBeW.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-Ds-eTQLs.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-D_iyg2D4.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-Fn-NlfMQ.js +35 -0
- package/dist/web/assets/WorkspaceFileLocation-ChEeZffU.js +1 -0
- package/dist/web/assets/WorkspaceGitDialogs-D_RUXhTi.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-BJxaiDrj.js} +3 -3
- package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-A28Poeca.js} +1 -1
- package/dist/web/assets/{chat-resources-CItQ4mZD.js → chat-resources-3SvnVeKv.js} +1 -1
- package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-dYn0pd4Q.js} +1 -1
- package/dist/web/assets/chevron-right-sFx2xRvT.js +1 -0
- package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-BYNVSWIQ-DWh9SmdB.js} +1 -1
- package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ZFYI4P6C-BmsNtSkR.js} +1 -1
- package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-DTTLbrYt.js} +1 -1
- package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-CRMPCFnq.js} +1 -1
- package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
- package/dist/web/assets/copy-DR4ielPn.js +1 -0
- package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-DmttVQ_a.js} +1 -1
- package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-d-2GuNvW.js} +1 -1
- package/dist/web/assets/external-link-B4rPiZEp.js +1 -0
- package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-BrIUcUk_.js} +1 -1
- package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-DwImGEt-.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-Ds1mkrlW.js} +1 -1
- package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-s15GR0Fn.js} +1 -1
- package/dist/web/assets/icons-CK5-nxVC.js +1 -0
- package/dist/web/assets/{image-C7HVlg3X.js → image-CY-sHbfQ.js} +1 -1
- package/dist/web/assets/{index-BsPUniZy.js → index-DYrLeSyY.js} +2 -2
- package/dist/web/assets/index-Dezj4Z2p.css +1 -0
- package/dist/web/assets/{info-BLWDShaz.js → info-aSvM8YlJ.js} +1 -1
- package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-vos9H2hz.js} +1 -1
- package/dist/web/assets/loader-circle-cyf35w3i.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-pQmEaoMt.js} +1 -1
- package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-DgF6ZVOM.js} +1 -1
- package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-BPwsKvRB.js} +2 -2
- package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-BbMpa0_-.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-CJlccVX3.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-pWurLXbm.js} +2 -2
- package/dist/web/assets/{monitor-B6OuAu13.js → monitor-DlEV241C.js} +1 -1
- package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-fnRZSIRc.js} +1 -1
- package/dist/web/assets/{pdf-RXlFwNte.js → pdf-CT3zVKCE.js} +1 -1
- package/dist/web/assets/play-wI_3FLr4.js +1 -0
- package/dist/web/assets/plus-DoJe4fLj.js +1 -0
- package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-Bb8ecExR.js} +1 -1
- package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
- package/dist/web/assets/{python-BQXo7wMt.js → python-DXA1xp0A.js} +1 -1
- package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-B53QjxMO.js} +1 -1
- package/dist/web/assets/{save-BxXc21N6.js → save-V1Q4Fcqa.js} +1 -1
- package/dist/web/assets/settings-lists-CtH1A57b.js +5 -0
- package/dist/web/assets/square-BqSK-hv9.js +1 -0
- package/dist/web/assets/square-terminal-Dmgkm5zY.js +1 -0
- package/dist/web/assets/submit-issue-command-DRgUboVW.js +3 -0
- package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-B-BD2K2Q.js} +1 -1
- package/dist/web/assets/{training-managed-adapter-81RrdT1k.js → training-managed-adapter-BXNwgd3P.js} +1 -1
- package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-14942K_Z.js} +5 -5
- package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-DdgIcxK3.js} +1 -1
- package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
- package/dist/web/assets/{upload-NXasN1wU.js → upload-82Y6RjLi.js} +1 -1
- package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-BgHXNpq_.js} +1 -1
- package/dist/web/assets/{useAgentInventory-BV4CUWzJ.js → useAgentInventory-B-LNn3up.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CsKv22Hs.js} +1 -1
- package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-CPC2wsWm.js} +1 -1
- package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-DXOoDN9l.js} +1 -1
- package/dist/web/assets/{workers-u92Boudu.js → workers-Clf4hKt5.js} +1 -1
- package/dist/web/assets/x-IPhrr4ju.js +1 -0
- package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-I1tf8Uxx.js} +1 -1
- package/dist/web/index.html +12 -3
- package/docs/command-reference.md +28 -2
- package/package.json +2 -1
- package/dist/chunks/app-server-evaluations-HAAYVEXB.js +0 -2
- package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
- package/dist/chunks/chunk-4N3UF3U5.js +0 -2
- package/dist/chunks/chunk-6DCXAXVD.js +0 -22
- package/dist/chunks/chunk-BLKTUFGB.js +0 -2
- package/dist/chunks/chunk-E3EKBPCB.js +0 -2
- package/dist/chunks/chunk-F5JDBDYL.js +0 -2
- package/dist/chunks/chunk-JEVA7YQL.js +0 -3
- package/dist/chunks/chunk-KC7I6E6W.js +0 -2
- package/dist/chunks/chunk-OJSK4NSW.js +0 -151
- package/dist/chunks/chunk-UBCLPZSQ.js +0 -4
- package/dist/chunks/chunk-UJBEWIR3.js +0 -8
- package/dist/chunks/chunk-V67IFV26.js +0 -86
- package/dist/chunks/chunk-VSUHJ46L.js +0 -18
- package/dist/chunks/chunk-X3WEQL3O.js +0 -2
- package/dist/chunks/chunk-XK7SPL63.js +0 -2
- package/dist/chunks/chunk-YR5ID2SS.js +0 -2
- package/dist/chunks/cli-WC45SI7E.js +0 -2
- package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
- package/dist/chunks/experiments-IWSCFDBB.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-EFB2YIK2.js +0 -2
- package/dist/chunks/host-profile-external-dataset-KSNREH3Q.js +0 -2
- package/dist/chunks/hosted-app-server-composition-VV545TYL.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-NYLADI7S.js +0 -3
- package/dist/chunks/hosted-harness-runtime-Z54E5MD7.js +0 -2
- package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-preparation-ZAOGDQXO.js +0 -3
- package/dist/chunks/local-harness-improvement-runtime-KB4OP3SM.js +0 -2
- package/dist/chunks/local-harness-taskset-review-SUDEUGUU.js +0 -2
- package/dist/chunks/opchat-KSOJEL4W.js +0 -3
- package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
- package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
- package/dist/chunks/saved-work-QA46KCME.js +0 -2
- package/dist/chunks/src-E7NWAN5B.js +0 -420
- package/dist/chunks/standalone-experiment-turn-owner-SQJ5HXDZ.js +0 -2
- package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
- package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
- package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
- package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
- package/dist/web/assets/App-Df7uYQGj.css +0 -1
- package/dist/web/assets/App-Yy3l2sdD.js +0 -56
- package/dist/web/assets/AppTerminalPanel-Dqr6VS3I.js +0 -2
- package/dist/web/assets/AppsView-27Fl_-49.js +0 -1
- package/dist/web/assets/BrowserSidebar-bnI3sSZO.js +0 -1
- package/dist/web/assets/CommunityView-CFKM7FTY.js +0 -1
- package/dist/web/assets/ComposerAttachments-BdjBddKf.js +0 -2
- package/dist/web/assets/ComposerCreateImproveStrip-ViJ5E0We.js +0 -1
- package/dist/web/assets/ConversationImportsSettings-xLl-7G9R.js +0 -1
- package/dist/web/assets/FilePagePreview-CTHuPzJt.js +0 -2
- package/dist/web/assets/GetStartedView-DvV_RMgM.js +0 -1
- package/dist/web/assets/GettingStartedDialog-B1jFmfgd.js +0 -1
- package/dist/web/assets/GettingStartedDialog-C73Bdcz2.css +0 -1
- package/dist/web/assets/HostedModelLearningSettings-DzAiutjq.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-CF8FkRUY.js +0 -1
- package/dist/web/assets/LabSkillSidebar-gjbl9Nlv.js +0 -1
- package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
- package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
- package/dist/web/assets/NativeSkillSidebar-Br5Lk6iU.js +0 -1
- package/dist/web/assets/NewProjectDialog-DyuKPOvF.js +0 -1
- package/dist/web/assets/OutputsPage-Dl63CVrw.js +0 -1
- package/dist/web/assets/ProjectsPage-BNF1TiyR.js +0 -1
- package/dist/web/assets/RightChatPanelStack-CxVAAbp-.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-D46ktZg-.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-Cp0Hf-hs.js +0 -1
- package/dist/web/assets/SettingsView-BT57Q5Wx.js +0 -5
- package/dist/web/assets/TeamChatView-BmxTJ9E5.js +0 -1
- package/dist/web/assets/TerminalOverlay-D-Yq8av_.js +0 -16
- package/dist/web/assets/TrainingCreationPanel-CwfNPj_G.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-myTA9tsh.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-D0dzFgzW.js +0 -11
- package/dist/web/assets/WorkspaceEnvironmentMenu-AUzME1eX.js +0 -35
- package/dist/web/assets/WorkspaceFileLocation-Ai8Tz2Mz.js +0 -1
- package/dist/web/assets/WorkspaceGitDialogs-D-UCCckC.js +0 -1
- package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
- package/dist/web/assets/git-dialogs-C631EFyO.css +0 -1
- package/dist/web/assets/icons-kaq6k88m.js +0 -1
- package/dist/web/assets/index-DUMDOdB2.css +0 -1
- package/dist/web/assets/play-BPPQoqMl.js +0 -1
- package/dist/web/assets/plus-D18vYzHF.js +0 -1
- package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
- package/dist/web/assets/square-Da8RuqW4.js +0 -1
- package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
|
@@ -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-
|
|
2
|
+
import{a as U}from"./chunk-7PXZ4X4P.js";import{a as Te,f as de}from"./chunk-TGEGXTPR.js";import{a as v,b as ne,c as q,d as oe}from"./chunk-GNCEZ3UP.js";import{d as h}from"./chunk-557XSPVS.js";import{E as ie,t as k,v as se}from"./chunk-LJPO3TEL.js";import{k as re,l as S,m as D,n as j}from"./chunk-4ZBOYWQ3.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-JY3YSI54.js";import{E as V,F as $,G as z,c as W,d as Y,e as Q,f as J}from"./chunk-2EPR4HLF.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 le(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(le,"sessionWithSidebarActivity");import{promises as Ge}from"node:fs";import b from"node:path";var Ne=`
|
|
3
3
|
CREATE TABLE IF NOT EXISTS sessions (
|
|
4
4
|
id TEXT PRIMARY KEY,
|
|
5
5
|
sort_index INTEGER NOT NULL,
|
|
@@ -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-
|
|
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-H22KENI4.js"),{sanitizeUnverifiableLearnedPreferenceBindings:d}=await import("./store-learned-preference-migration-validation-UH6MJQSH.js"),o=JSON.parse(n.payload),_=String(o.id),l=s.get(_),c=tt(o.trainingSetup)?o.trainingSetup:K,u=l&&typeof l.updatedAt=="string"?l.updatedAt:null,p=!!(l&&u&&u>=n.updated_at),L=p&&l?{...K,...c,tasksetRef:l.tasksetRef??c.tasksetRef??null,harnessRelease:l.harnessRelease??c.harnessRelease??null,tasksetRelease:l.tasksetRelease??c.tasksetRelease??null,baseModel:l.baseModel??c.baseModel??null,method:l.method??c.method??null,destinationId:l.destinationId??c.destinationId??null,managedRolloutPlacement:l.managedRolloutPlacement??c.managedRolloutPlacement??"remote",runPreset:l.runPreset??c.runPreset??null,recipe:l.recipe??c.recipe??null}:{...K,...c},E=d(L).value,X=typeof o.revision=="number"&&Number.isInteger(o.revision)?o.revision:1,O=p&&u?u:String(o.updatedAt??n.updated_at),A=T.parse({...o,schemaVersion:"openpond.modelProject.v2",revision:X+1,trainingSetup:E,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(`
|
|
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-
|
|
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-UH6MJQSH.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(`
|
|
1171
1171
|
CREATE TABLE IF NOT EXISTS model_versions (
|
|
1172
1172
|
id TEXT PRIMARY KEY,
|
|
1173
1173
|
model_id TEXT NOT NULL,
|
|
@@ -1202,18 +1202,18 @@ import{a as Te,f as de}from"./chunk-OQUKSRU3.js";import{a as v,b as ne,c as q,d
|
|
|
1202
1202
|
ON model_runs(taskset_id, updated_at DESC);
|
|
1203
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
|
|
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
|
|
1206
|
-
WHERE type = 'local.projects' AND cache_key = 'v1'`,[JSON.stringify(
|
|
1205
|
+
WHERE type = 'local.projects' AND cache_key = 'v1'`,[]);if(d){let o=JSON.parse(d.payload);if(Array.isArray(o)){let _=o.filter(l=>{if(!l||typeof l!="object"||Array.isArray(l))return!0;let c=l;return c.id!=="system_openpond_insights"&&c.systemKind!=="openpond.insights"});await t.run(`UPDATE cache_entries SET payload = ?
|
|
1206
|
+
WHERE type = 'local.projects' AND cache_key = 'v1'`,[JSON.stringify(_)])}}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
|
|
1211
|
+
`),await t.createSubagentTables();for(let o of i){let _=JSON.parse(o.payload);delete _.parentGoalId,_.peerMessages==="goal_scoped"&&(_.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(
|
|
1214
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[o.id,o.parent_session_id,o.parent_turn_id,o.child_session_id,o.role_id,o.status,JSON.stringify(_),o.created_at,o.updated_at])}for(let o of T){let _=JSON.parse(o.payload);delete _.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(
|
|
1216
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?)`,[o.id,o.from_run_id,o.to_run_id,o.to_role,o.kind,JSON.stringify(_),o.created_at])}await t.run(`UPDATE cache_entries
|
|
1217
1217
|
SET payload = replace(payload, '"goal_scoped"', '"parent_scoped"')
|
|
1218
1218
|
WHERE instr(payload, '"goal_scoped"') > 0`,[])}r(xe,"retireGoalAndInsightsStorageState");var Fe=`
|
|
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);
|
|
@@ -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
|
|
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 _=R.basename(e.protectedBackup),l=s.indexOf(_);l>=0&&s.unshift(...s.splice(l,1))}let i=Math.max(1,e.maxCount??at),n=Math.max(0,e.maxBytes??st),T=[],d=[],o=0;for(let _ of s){let l=await je(R.join(a,_));!T.length||T.length<i&&o+l<=n?(T.push(_),o+=l):d.push(_)}for(let _ of d)await C.rm(R.join(a,_),{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 u of await m.readdir(T,{withFileTypes:!0}))u.isDirectory()&&/^\.state-\d{14}-before-v\d+-[a-f0-9]{8}\.preparing$/.test(u.name)&&await m.rm(I.join(T,u.name),{recursive:!0,force:!0});let d=await m.stat(`${a}-wal`).then(u=>u.size).catch(u=>{if(u.code==="ENOENT")return 0;throw u});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 u of await H(e)){let p=I.join(T,u),L=await W(I.join(p,"receipt.json"));if(!L)continue;let E;try{E=JSON.parse(L)}catch{continue}if(!E||E.version!==1||E.sourceVersion!==s||E.sourceFingerprint!==o)continue;let X=I.join(p,"state.sqlite");try{if((await m.lstat(X)).isSymbolicLink()||await P(X)!==E.backupDigest)continue;return qe(X,s),i?.info("sqlite migration backup reused",{backupDir:p,sourceVersion:s}),p}catch(O){i?.warn("sqlite migration backup cannot be reused",{backupDir:p,error:O})}}let _=`state-${re()}-before-v${s+1}-${nt().slice(0,8)}`,l=I.join(T,`.${_}.preparing`),c=I.join(T,_);await Y(l);try{let u=I.join(l,"state.sqlite"),p=B(a,!0),L=-1;n?.({phase:"backup",message:"Saving a recovery copy of your data",percent:0}),i?.info("sqlite migration backup started",{sourceVersion:s,backupDir:c});try{await Tt(p,u,{progress:r(({totalPages:O,remainingPages:A})=>{let w=O?Math.floor((O-A)*10/O)*10:100;w>L&&(L=w,n?.({phase:"backup",message:"Saving a recovery copy of your data",percent:w}),i?.info("sqlite migration backup progress",{progress:w,backupDir:c}))},"progress")})}finally{p.close()}await m.chmod(u,384),n?.({phase:"verify",message:"Verifying your recovery copy"}),qe(u,s);let E={version:1,sourceVersion:s,sourceFingerprint:o,backupDigest:await P(u)},X=await m.open(u,"r");try{await X.sync()}finally{await X.close()}if(await Q(I.join(l,"receipt.json"),JSON.stringify(E)),await m.rename(l,c),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:c,copied:1}),c}finally{await m.rm(l,{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=`
|
|
1404
1404
|
CREATE TABLE IF NOT EXISTS ponder_desktop_inspections (
|
|
1405
1405
|
operation_id TEXT PRIMARY KEY,
|
|
1406
1406
|
payload_hash TEXT NOT NULL,
|
|
@@ -1502,7 +1502,7 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
|
|
|
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(
|
|
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(Ne)}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,
|
|
@@ -1835,10 +1835,10 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
|
|
|
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],
|
|
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],_=await this.get(`SELECT COUNT(*) AS count FROM events WHERE ${a} AND sequence < ?`,o);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(
|
|
1841
|
+
LIMIT ?`,[...o,e.limit])).map(c=>({sequence:c.sequence,event:S(c.payload,c.sequence)})).reverse(),totalMatchingEvents:i?.count??0,remainingMatchingEvents:_?.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
|
|
1842
1842
|
WHERE ${a} AND sequence > ?
|
|
1843
1843
|
ORDER BY sequence ASC
|
|
1844
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
|
|
@@ -1861,11 +1861,11 @@ CREATE TABLE IF NOT EXISTS model_project_taskset_preparations (
|
|
|
1861
1861
|
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
1862
|
WHERE name = ? AND sequence > ?
|
|
1863
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
|
|
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 _={...o,status:"cancelled"};await this.run("UPDATE approvals SET status=?,payload=?,updated_at=? WHERE id=?",[_.status,JSON.stringify(_),h(),_.id]),await this.upsertApprovalProjection(_,d),this.data.approvals[d]=_}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
1865
|
VALUES (?, ?, ?, ?, ?, ?)
|
|
1866
1866
|
ON CONFLICT(id)
|
|
1867
1867
|
DO UPDATE SET
|
|
1868
1868
|
session_id = excluded.session_id,
|
|
1869
1869
|
status = excluded.status,
|
|
1870
1870
|
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};
|
|
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?le(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 N(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(_=>_[d].apply(_,o))]))}}}r(N,"lazyStoreDomain");function Qe(t,e){let a=N(e,()=>import("./store-task-inbox-DL5RYFPO.js").then(E=>new E.SqliteTaskInboxStore(t))),s=N(e,()=>import("./store-harness-workspaces-IFEFY5CK.js").then(E=>new E.SqliteHarnessWorkspaceStore(t))),i=N(e,()=>import("./store-harness-refinement-candidates-SUT45FQX.js").then(E=>new E.SqliteHarnessRefinementCandidateStore(t))),n=N(e,()=>import("./store-harness-evaluation-review-settings-I2R3HPO3.js").then(E=>new E.SqliteHarnessEvaluationReviewSettingsStore(t))),T=N(e,()=>import("./store-harness-memory-2L7ARBR4.js").then(E=>new E.SqliteHarnessMemoryStore(t))),d=N(e,()=>import("./store-sidebar-file-bookmarks-LXWFFYCZ.js").then(E=>new E.SqliteSidebarFileBookmarkStore(t))),o=N(e,()=>import("./store-work-evidence-VSLLZ6UF.js").then(E=>new E.SqliteWorkEvidenceStore(t))),_=N(e,()=>import("./store-chat-workflows-S72HZXQR.js").then(E=>new E.SqliteChatWorkflowStore(t))),l=N(e,()=>import("./store-conversation-serving-25O7BAR2.js").then(E=>new E.SqliteConversationServingStore(t))),c=N(e,()=>import("./store-schedules-DVQ2PP4F.js").then(E=>new E.SqliteScheduleStore(t))),u=N(e,()=>import("./store-subagents-JLW4GD4Q.js").then(E=>new E.SqliteSubagentStore(t))),p=N(e,()=>import("./store-usage-ZRS3ILF2.js").then(E=>new E.SqliteUsageStore(t))),L=N(e,()=>import("./store-sidebar-preferences-4HH7LX6N.js").then(E=>new E.SqliteSidebarPreferenceStore(t)));return{...c.methods(["listLocalAgentSchedules","listDueLocalAgentSchedules","getLocalAgentSchedule","upsertLocalAgentSchedule","deleteLocalAgentSchedulesNotIn","patchLocalAgentSchedule","insertLocalAgentScheduleRun","getLocalAgentScheduleRun","listLocalAgentScheduleRuns","patchLocalAgentScheduleRun"]),...u.methods(["getPersistedSubagentRun","upsertPersistedSubagentRun","upsertSubagentRun","recordRetainedWorkspaceExpiryWarning","getSubagentRun","listSubagentRuns","listActiveSubagentRuns","listSubagentRunScopes","listStaleSubagentRuns","appendSubagentMessage","listSubagentMessages"]),...p.methods(["upsertModelUsageRecord","getModelUsageRecordByRequestId","listModelUsageRecords","latestContextUsageForTurn"]),...L.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"]),..._.methods(["listChatWorkflows","listDueChatWorkflows","getChatWorkflow","upsertChatWorkflow","patchChatWorkflow","deleteChatWorkflow","insertChatWorkflowRun","listChatWorkflowRuns","patchChatWorkflowRun"]),...l.methods(["listConversationServingGrants","listConversationServingExecutions","saveConversationServingGrant","saveConversationServingExecution"])}}r(Qe,"runtimeStoreMethods");function Je(t,e){let a=N(e,()=>import("./store-chat-resources-T4LR7K25.js").then(E=>new E.SqliteChatResourceStore(t))),s=N(e,()=>import("./store-training-VRLU6NFX.js").then(E=>new E.SqliteTrainingStore(t))),i=N(e,()=>import("./store-training-jobs-3ZHG4LGI.js").then(E=>new E.SqliteTrainingJobsStore(t))),n=N(e,()=>import("./store-training-models-KWQD5PRP.js").then(E=>new E.SqliteTrainingModelStore(t))),T=N(e,()=>import("./store-model-configuration-C3HSOFD5.js").then(E=>new E.SqliteModelConfigurationStore(t))),d=N(e,()=>import("./store-model-project-preparation-RQ2YTC2Y.js").then(E=>new E.SqliteModelProjectPreparationStore(t))),o=N(e,()=>import("./store-model-batch-review-QO4VVKWC.js").then(E=>new E.SqliteModelBatchReviewStore(t))),_=N(e,()=>import("./store-task-inventory-NJXRXFLC.js").then(E=>new E.SqliteTaskInventoryStore(t))),l=N(e,()=>import("./store-taskset-drafts-UFGN4SGF.js").then(E=>new E.SqliteTasksetDraftStore(t))),c=N(e,()=>import("./store-datasets-5Y4U5L3R.js").then(E=>new E.SqliteDatasetStore(t))),u=N(e,()=>import("./store-continual-support-reviews-R62D2HD6.js").then(E=>new E.SqliteContinualBenchReviewStore(t))),p=N(e,()=>import("./store-create-improve-T5E2GUKK.js").then(E=>new E.SqliteCreateImproveStore(t))),L=N(e,()=>import("./store-training-overview-KTWOOLJS.js").then(E=>new E.SqliteTrainingOverviewStore(t)));return{...d.methods(["prepareLocalModelProject","applyLocalModelProjectPreparation"]),...L.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"]),...o.methods(["findModelBatchReview","beginModelBatchReview"]),..._.methods(["taskInventorySources","taskInventorySourceIndexed","appendTaskInventoryRows","finishTaskInventorySource","readTaskInventoryPage","readTaskInventoryTask"]),...l.methods(["initializeModelTasksetDraft","saveTasksetDraft","importTasksetDraftPackage","materializePublishedTasksetPackage","finalizeTasksetDraftPublication","getTasksetDraft","listTasksetDrafts","readHumanPublishedTasksetDraft","getTasksetDraftWorkspace","deleteTasksetDraft","tasksetDraftFiles","saveTasksetDraftFile"]),...c.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=N(e,()=>import("./store-learning-MFS4DGQR.js").then(o=>new o.SqliteLearningStore(t))),s=N(e,()=>import("./store-learning-credentials-BECWEG2Y.js").then(o=>new o.SqliteLearningCredentialStore(t))),i=N(e,()=>import("./store-human-review-ZQNLZRGG.js").then(o=>new o.SqliteHumanReviewStore(t))),n=N(e,()=>import("./store-local-experiments-LOH4F4TF.js").then(o=>new o.SqliteLocalExperimentStore(t))),T=N(e,()=>import("./store-evaluation-results-WUVJWCFU.js").then(o=>new o.SqliteEvaluationResultStore(t))),d=N(e,()=>import("./store-preference-comparison-RNIFLJRW.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,_)=>a.call(l=>l.learningRepository().transaction(o,_)),"transaction")}},humanReviewRepository(){return{transaction:r((o,_)=>i.call(l=>l.humanReviewRepository().transaction(o,_)),"transaction")}},humanReviewLocalEvidence(...o){return i.call(_=>Promise.resolve(_.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};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{e as ye}from"./chunk-VZXZ6CHS.js";import{a as we}from"./chunk-IZ6DLEVY.js";import{a as Re,c as he}from"./chunk-TH6Y4K5Z.js";import{t as ve}from"./chunk-UBCLPZSQ.js";import{a as B}from"./chunk-WBUK73ST.js";import{a as de,b as G,h as V,i as z,j as Y}from"./chunk-CN5OXQ7A.js";import{k as le}from"./chunk-OZ6LRNRE.js";import{m as ue,n as me,o as pe,p as fe,q as ge}from"./chunk-UWHIU24L.js";import{n as E}from"./chunk-VVNV4NNW.js";import{a as i}from"./chunk-FTQLQJQV.js";function q(e){let t=/^memory\/([a-z0-9][a-z0-9-]{0,119})$/.exec(e.replaceAll("\\","/"));if(!t)throw new Error(`Invalid Harness memory target: ${e}.`);return t[1]}i(q,"memoryKeyFromTarget");function Z(e,t){let r=e.metadata.expectedMemory;if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Memory proposal is missing its expected revision snapshot.");let n=r;if(n.key!==q(t))throw new Error("Memory proposal expected revision targets a different key.");if(n.revision!==null&&(!Number.isInteger(n.revision)||Number(n.revision)<1))throw new Error("Memory proposal expected revision is invalid.");if(n.contentHash!==null&&typeof n.contentHash!="string")throw new Error("Memory proposal expected content hash is invalid.");if(n.status!==null&&n.status!=="active"&&n.status!=="deleted")throw new Error("Memory proposal expected status is invalid.");return{revision:n.revision,contentHash:n.contentHash,status:n.status}}i(Z,"expectedMemoryRevision");function ee(e){return{id:e.id,runRef:e.runRef,turnId:e.turnId,reason:e.reason,suggestedRoutes:e.suggestedRoutes,boundary:e.boundary}}i(ee,"boundedTriggerEvidence");function te(e){return{id:e.id,kind:e.kind,state:e.state,tool:e.tool?.name??null,deterministicClass:e.deterministicClass,summary:e.summary}}i(te,"boundedObservationEvidence");function re(e){let t=new Map;for(let r of e)for(let n of r.eventRefs){let o=Ne(r,n);t.set(`${o.kind}:${o.id}`,o)}return[...t.values()]}i(re,"proposalEvidence");function Ne(e,t){return{kind:e.kind==="recovery"?"recovery":e.kind==="validation"?"validation":e.kind==="user_turn"?"user_turn":"tool_event",id:t.id,contentHash:t.contentHash}}i(Ne,"observationEvidence");function j(e){let t=new Map;for(let r of e)for(let n of r.eventRefs)t.set(n.id,n);return[...t.values()]}i(j,"uniqueEventRefs");function U(e,t){return e.id===t.id&&e.revision===t.revision&&e.contentHash===t.contentHash}i(U,"sameOverlayRef");function D(e){return{id:e.id,revision:e.revision,contentHash:e.contentHash}}i(D,"overlayRef");function ne(e,t){return e.revision===t.workspace.revision&&e.sourceRevision===t.workspace.sourceRevision&&e.currentChannel.revision===t.workspace.channelRevision&&e.currentChannel.release?.id===t.baseHarnessRelease.id&&e.currentChannel.release.contentHash===t.baseHarnessRelease.contentHash}i(ne,"sameWorkspaceRevision");function R(e,t){return`${e}-${E(t).slice(0,24)}`}i(R,"stableId");import{execFile as Fe}from"node:child_process";import{promises as N}from"node:fs";import x from"node:path";import{promisify as We}from"node:util";var Ve=36e3,ke=10,He=20*1024*1024,X=40,ze=24e3,Be=3,je=3,be=6,Te=["turn.started","assistant.delta","tool.started","tool.completed","skill.loaded","workspace_action_result","diagnostic","turn.completed","turn.failed","turn.interrupted"],Ue=We(Fe);async function Ee(e,t,r,n,o){let[a,s,l,g,m]=await Promise.all([e.getSession(t.runRef),e.getTurn(t.turnId),e.runtimeEventsForTurn(t.turnId,{names:Te}),e.turnsForSession(t.runRef,1e3),e.listModelUsageRecords({turnId:t.turnId,limit:1e4})]),d=[...g].sort((c,h)=>c.startedAt.localeCompare(h.startedAt)),y=d.findIndex(c=>c.id===t.turnId),u=y>0?d[y-1]:null,p=d.slice(Math.max(0,y-Be),Math.max(0,y)),b=new Map(await Promise.all(p.map(async c=>[c.id,await e.runtimeEventsForTurn(c.id,{names:["assistant.delta"]})]))),k=new Map(r.flatMap(c=>c.eventRefs.map(h=>[h.id,h]))),H=l.filter(c=>k.has(c.id));if(!o?.allowMissingRuntimeEvents)for(let[c,h]of k){let I=H.find(Le=>Le.id===c);if(!I||E(I)!==h.contentHash)throw new Error(`Refiner runtime event ${c} is unavailable or hash-mismatched.`)}let f=rt({events:l,exactEvents:H,turnId:t.turnId,boundarySequence:t.boundary.eventSequence,limit:t.policy.maxEvidenceEvents}),O=J(l,t.turnId),_=r.map(c=>c.kind),C=Ye(l,t.turnId),S={modelRequestCount:m.length||C.modelRequestCount,promptTokens:m.reduce((c,h)=>c+(h.promptTokens??0),0)||C.promptTokens,completionTokens:m.reduce((c,h)=>c+(h.completionTokens??0),0)||C.completionTokens,totalTokens:m.reduce((c,h)=>c+(h.totalTokens??0),0)||C.totalTokens},M={modelRequestCount:S.modelRequestCount,failedModelRequestCount:m.filter(c=>c.status==="failed"||c.status==="interrupted").length,promptTokens:S.promptTokens,completionTokens:S.completionTokens,totalTokens:S.totalTokens,toolFailureCount:_.filter(c=>c==="tool_failure").length,retryCount:_.filter(c=>c==="retry").length,recoveryCount:_.filter(c=>c==="recovery").length},F=await Ze(a?.cwd),L=l.filter(c=>c.turnId===t.turnId&&ot(c)&&(c.sequence===void 0||c.sequence<=t.boundary.eventSequence)).sort($),P=Ke(L),W=p.map(c=>Xe(c,b.get(c.id)??[])),v=n?await Je({store:e,workspaceId:n,trigger:t,observations:r}):[];return{task:{prompt:s?.prompt?T(s.prompt,8e3):null,assistantOutput:O,assistantOutputLinkCount:Se(O),previousAssistantOutput:u?J(b.get(u.id)??[],u.id):null},artifactDiagnostics:F,executionProfile:M,eventExcerpts:f.map(c=>{let h=A(c.data),I=A(h.result);return{id:c.id,name:c.name,action:c.action??(typeof h.tool=="string"?h.tool:null),status:c.status??null,command:w(I.command,3e3),error:w(c.error,2e3),output:w(I.output,2e3)??w(c.output,2e3),exitCode:typeof I.exitCode=="number"?I.exitCode:null,timedOut:I.timedOut===!0,stderr:w(I.stderr,3e3),stdout:w(I.stdout,3e3)}}),reviewPacket:{currentTurn:{id:t.turnId,status:s?.status??null,error:s?.error?T(s.error,2e3):null,prompt:s?.prompt?T(s.prompt,8e3):null,assistantOutput:O,assistantOutputLinkCount:Se(O)},priorConversation:W,timeline:P,artifacts:Ce(l,t.turnId),artifactDiagnostics:F,executionProfile:M,priorIncidents:v,truncation:{timelineEventCount:L.length,includedTimelineEventCount:P.length,timelineTruncated:P.length<L.length}}}}i(Ee,"loadBoundedRefinerContext");function Xe(e,t){return{turnId:e.id,status:e.status,prompt:e.prompt?T(e.prompt,3e3):null,assistantOutput:J(t,e.id,3e3)}}i(Xe,"conversationTurn");function Ke(e){let t=e.map(_e);if(t.length<=X)return Ie(t);let r=t.filter(a=>a.status==="failed"||a.name==="turn.completed"||a.name==="turn.failed"||a.name==="turn.interrupted"||a.name==="skill.loaded"||a.name==="validation.completed"||a.name==="diagnostic"),n=new Set(r.map(xe)),o=t.filter(a=>!n.has(xe(a))).slice(-(X-Math.min(r.length,X)));return Ie([...r.slice(-X),...o].sort((a,s)=>Number(a.sequence??0)-Number(s.sequence??0)))}i(Ke,"boundedReviewTimeline");function Ie(e){let t=[],r=0;for(let n of e){let o=JSON.stringify(n).length;r+o>ze||(t.push(n),r+=o)}return t}i(Ie,"fitTimelineToCharacterBudget");function _e(e){let t=A(e.data),r=A(t.result);return{sequence:e.sequence??null,timestamp:e.timestamp,name:e.name,action:e.action??(typeof t.tool=="string"?t.tool:null),status:e.status??null,args:Ge(e.args,1500),command:w(r.command,2e3),error:w(e.error,2e3),output:w(r.output,2e3)??w(e.output,2e3),exitCode:typeof r.exitCode=="number"?r.exitCode:null,timedOut:r.timedOut===!0,stderr:w(r.stderr,2e3),stdout:w(r.stdout,2e3)}}i(_e,"reviewTimelineEntry");function xe(e){return`${e.sequence??"none"}:${e.name??"unknown"}:${e.action??"none"}`}i(xe,"timelineEntryKey");function Ce(e,t){let r=new Map;for(let n of e)if(n.turnId===t)for(let o of oe(n.data))r.set(`${o.id}:${o.revision}`,o);return[...r.values()].sort((n,o)=>n.title.localeCompare(o.title)||n.revision-o.revision).slice(0,30).map(n=>({id:n.id,title:n.title,revision:n.revision,contentType:n.contentType,sizeBytes:n.sizeBytes,sha256:n.sha256,locationKind:n.location.kind,validation:n.validation.map(o=>({kind:o.kind,status:o.status,label:o.label,detail:o.detail??null}))}))}i(Ce,"fileOutputInventory");function oe(e,t=0){if(t>8)return[];let r=ve.safeParse(e);return r.success?[r.data]:Array.isArray(e)?e.flatMap(n=>oe(n,t+1)):!e||typeof e!="object"?[]:Object.values(e).flatMap(n=>oe(n,t+1))}i(oe,"findFileOutputRefs");async function Je(e){let t=new Set(e.observations.flatMap(s=>s.deterministicClass?[s.deterministicClass]:[])),r=new Set(e.observations.flatMap(s=>s.tool?[s.tool.name]:[]));if(t.size===0&&r.size===0)return[];let n=(await e.store.listHarnessImprovementArtifacts(e.workspaceId,"observation",200)).filter(s=>s.runRef!==e.trigger.runRef&&s.turnId!==e.trigger.turnId&&(s.deterministicClass!==null&&t.has(s.deterministicClass)||s.tool!==null&&r.has(s.tool.name))).sort((s,l)=>l.createdAt.localeCompare(s.createdAt)),o=new Map;for(let s of n){let l=`${s.runRef}:${s.turnId}`,g=o.get(l)??[];g.push(s),o.set(l,g)}let a=[];for(let s of o.values()){if(a.length>=je)break;let l=s[0],[g,m]=await Promise.all([e.store.getTurn(l.turnId),e.store.runtimeEventsForTurn(l.turnId,{names:Te})]);if(!g)continue;let d=[...new Set(s.flatMap(p=>p.deterministicClass&&t.has(p.deterministicClass)?[p.deterministicClass]:[]))],y=[...new Set(s.flatMap(p=>p.tool&&r.has(p.tool.name)?[p.tool.name]:[]))],u=Qe(m.filter(p=>p.turnId===g.id));a.push({runRef:l.runRef,turnId:l.turnId,createdAt:l.createdAt,matchedBy:{deterministicClasses:d,tools:y},observations:s.slice(0,4).map(p=>({kind:p.kind,state:p.state,deterministicClass:p.deterministicClass,summary:p.summary})),prompt:g.prompt?T(g.prompt,1200):null,assistantOutput:J(m,g.id,1200),timeline:u,artifacts:Ce(m,g.id).slice(0,5)})}return a}i(Je,"loadRelevantPriorIncidentPackets");function Qe(e){let t=new Set(["turn.completed","turn.failed","turn.interrupted"]),r=e.filter(a=>{if(t.has(a.name))return!0;let s=JSON.stringify({error:a.error,output:a.output,data:a.data});return a.status==="failed"||/"ok"\s*:\s*false|failed|denied|unavailable|timed?\s*out|exception|traceback/i.test(s)}).sort($).map(a=>{let s=_e(a);return{sequence:s.sequence,name:s.name,action:s.action,status:s.status,error:w(s.error,800),output:w(s.output,800),exitCode:s.exitCode,timedOut:s.timedOut}}),n=new Map;for(let a of r){let s=JSON.stringify({name:a.name,action:a.action,status:a.status,error:a.error,output:a.output,exitCode:a.exitCode,timedOut:a.timedOut}),l=n.get(s);if(l){l.occurrenceCount+=1;continue}n.set(s,{...a,occurrenceCount:1})}let o=[...n.values()];return o.length<=be?o:[...o.slice(0,be-2),...o.slice(-2)]}i(Qe,"priorIncidentTimeline");function Ge(e,t){if(e===void 0)return null;try{let r=T(JSON.stringify(e),t);return JSON.parse(r.endsWith(`
|
|
2
|
+
import{e as ye}from"./chunk-NE4ESZPT.js";import{a as we}from"./chunk-IZ6DLEVY.js";import{a as Re,c as he}from"./chunk-6SH4B7DV.js";import{t as ve}from"./chunk-TUCKED4T.js";import{a as B}from"./chunk-WBUK73ST.js";import{a as de,b as G,h as V,i as z,j as Y}from"./chunk-CN5OXQ7A.js";import{k as le}from"./chunk-OZ6LRNRE.js";import{m as ue,n as me,o as pe,p as fe,q as ge}from"./chunk-UWHIU24L.js";import{n as E}from"./chunk-VVNV4NNW.js";import{a as i}from"./chunk-FTQLQJQV.js";function q(e){let t=/^memory\/([a-z0-9][a-z0-9-]{0,119})$/.exec(e.replaceAll("\\","/"));if(!t)throw new Error(`Invalid Harness memory target: ${e}.`);return t[1]}i(q,"memoryKeyFromTarget");function Z(e,t){let r=e.metadata.expectedMemory;if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Memory proposal is missing its expected revision snapshot.");let n=r;if(n.key!==q(t))throw new Error("Memory proposal expected revision targets a different key.");if(n.revision!==null&&(!Number.isInteger(n.revision)||Number(n.revision)<1))throw new Error("Memory proposal expected revision is invalid.");if(n.contentHash!==null&&typeof n.contentHash!="string")throw new Error("Memory proposal expected content hash is invalid.");if(n.status!==null&&n.status!=="active"&&n.status!=="deleted")throw new Error("Memory proposal expected status is invalid.");return{revision:n.revision,contentHash:n.contentHash,status:n.status}}i(Z,"expectedMemoryRevision");function ee(e){return{id:e.id,runRef:e.runRef,turnId:e.turnId,reason:e.reason,suggestedRoutes:e.suggestedRoutes,boundary:e.boundary}}i(ee,"boundedTriggerEvidence");function te(e){return{id:e.id,kind:e.kind,state:e.state,tool:e.tool?.name??null,deterministicClass:e.deterministicClass,summary:e.summary}}i(te,"boundedObservationEvidence");function re(e){let t=new Map;for(let r of e)for(let n of r.eventRefs){let o=Ne(r,n);t.set(`${o.kind}:${o.id}`,o)}return[...t.values()]}i(re,"proposalEvidence");function Ne(e,t){return{kind:e.kind==="recovery"?"recovery":e.kind==="validation"?"validation":e.kind==="user_turn"?"user_turn":"tool_event",id:t.id,contentHash:t.contentHash}}i(Ne,"observationEvidence");function j(e){let t=new Map;for(let r of e)for(let n of r.eventRefs)t.set(n.id,n);return[...t.values()]}i(j,"uniqueEventRefs");function U(e,t){return e.id===t.id&&e.revision===t.revision&&e.contentHash===t.contentHash}i(U,"sameOverlayRef");function D(e){return{id:e.id,revision:e.revision,contentHash:e.contentHash}}i(D,"overlayRef");function ne(e,t){return e.revision===t.workspace.revision&&e.sourceRevision===t.workspace.sourceRevision&&e.currentChannel.revision===t.workspace.channelRevision&&e.currentChannel.release?.id===t.baseHarnessRelease.id&&e.currentChannel.release.contentHash===t.baseHarnessRelease.contentHash}i(ne,"sameWorkspaceRevision");function R(e,t){return`${e}-${E(t).slice(0,24)}`}i(R,"stableId");import{execFile as Fe}from"node:child_process";import{promises as N}from"node:fs";import x from"node:path";import{promisify as We}from"node:util";var Ve=36e3,ke=10,He=20*1024*1024,X=40,ze=24e3,Be=3,je=3,be=6,Te=["turn.started","assistant.delta","tool.started","tool.completed","skill.loaded","workspace_action_result","diagnostic","turn.completed","turn.failed","turn.interrupted"],Ue=We(Fe);async function Ee(e,t,r,n,o){let[a,s,l,g,m]=await Promise.all([e.getSession(t.runRef),e.getTurn(t.turnId),e.runtimeEventsForTurn(t.turnId,{names:Te}),e.turnsForSession(t.runRef,1e3),e.listModelUsageRecords({turnId:t.turnId,limit:1e4})]),d=[...g].sort((c,h)=>c.startedAt.localeCompare(h.startedAt)),y=d.findIndex(c=>c.id===t.turnId),u=y>0?d[y-1]:null,p=d.slice(Math.max(0,y-Be),Math.max(0,y)),b=new Map(await Promise.all(p.map(async c=>[c.id,await e.runtimeEventsForTurn(c.id,{names:["assistant.delta"]})]))),k=new Map(r.flatMap(c=>c.eventRefs.map(h=>[h.id,h]))),H=l.filter(c=>k.has(c.id));if(!o?.allowMissingRuntimeEvents)for(let[c,h]of k){let I=H.find(Le=>Le.id===c);if(!I||E(I)!==h.contentHash)throw new Error(`Refiner runtime event ${c} is unavailable or hash-mismatched.`)}let f=rt({events:l,exactEvents:H,turnId:t.turnId,boundarySequence:t.boundary.eventSequence,limit:t.policy.maxEvidenceEvents}),O=J(l,t.turnId),_=r.map(c=>c.kind),C=Ye(l,t.turnId),S={modelRequestCount:m.length||C.modelRequestCount,promptTokens:m.reduce((c,h)=>c+(h.promptTokens??0),0)||C.promptTokens,completionTokens:m.reduce((c,h)=>c+(h.completionTokens??0),0)||C.completionTokens,totalTokens:m.reduce((c,h)=>c+(h.totalTokens??0),0)||C.totalTokens},M={modelRequestCount:S.modelRequestCount,failedModelRequestCount:m.filter(c=>c.status==="failed"||c.status==="interrupted").length,promptTokens:S.promptTokens,completionTokens:S.completionTokens,totalTokens:S.totalTokens,toolFailureCount:_.filter(c=>c==="tool_failure").length,retryCount:_.filter(c=>c==="retry").length,recoveryCount:_.filter(c=>c==="recovery").length},F=await Ze(a?.cwd),L=l.filter(c=>c.turnId===t.turnId&&ot(c)&&(c.sequence===void 0||c.sequence<=t.boundary.eventSequence)).sort($),P=Ke(L),W=p.map(c=>Xe(c,b.get(c.id)??[])),v=n?await Je({store:e,workspaceId:n,trigger:t,observations:r}):[];return{task:{prompt:s?.prompt?T(s.prompt,8e3):null,assistantOutput:O,assistantOutputLinkCount:Se(O),previousAssistantOutput:u?J(b.get(u.id)??[],u.id):null},artifactDiagnostics:F,executionProfile:M,eventExcerpts:f.map(c=>{let h=A(c.data),I=A(h.result);return{id:c.id,name:c.name,action:c.action??(typeof h.tool=="string"?h.tool:null),status:c.status??null,command:w(I.command,3e3),error:w(c.error,2e3),output:w(I.output,2e3)??w(c.output,2e3),exitCode:typeof I.exitCode=="number"?I.exitCode:null,timedOut:I.timedOut===!0,stderr:w(I.stderr,3e3),stdout:w(I.stdout,3e3)}}),reviewPacket:{currentTurn:{id:t.turnId,status:s?.status??null,error:s?.error?T(s.error,2e3):null,prompt:s?.prompt?T(s.prompt,8e3):null,assistantOutput:O,assistantOutputLinkCount:Se(O)},priorConversation:W,timeline:P,artifacts:Ce(l,t.turnId),artifactDiagnostics:F,executionProfile:M,priorIncidents:v,truncation:{timelineEventCount:L.length,includedTimelineEventCount:P.length,timelineTruncated:P.length<L.length}}}}i(Ee,"loadBoundedRefinerContext");function Xe(e,t){return{turnId:e.id,status:e.status,prompt:e.prompt?T(e.prompt,3e3):null,assistantOutput:J(t,e.id,3e3)}}i(Xe,"conversationTurn");function Ke(e){let t=e.map(_e);if(t.length<=X)return Ie(t);let r=t.filter(a=>a.status==="failed"||a.name==="turn.completed"||a.name==="turn.failed"||a.name==="turn.interrupted"||a.name==="skill.loaded"||a.name==="validation.completed"||a.name==="diagnostic"),n=new Set(r.map(xe)),o=t.filter(a=>!n.has(xe(a))).slice(-(X-Math.min(r.length,X)));return Ie([...r.slice(-X),...o].sort((a,s)=>Number(a.sequence??0)-Number(s.sequence??0)))}i(Ke,"boundedReviewTimeline");function Ie(e){let t=[],r=0;for(let n of e){let o=JSON.stringify(n).length;r+o>ze||(t.push(n),r+=o)}return t}i(Ie,"fitTimelineToCharacterBudget");function _e(e){let t=A(e.data),r=A(t.result);return{sequence:e.sequence??null,timestamp:e.timestamp,name:e.name,action:e.action??(typeof t.tool=="string"?t.tool:null),status:e.status??null,args:Ge(e.args,1500),command:w(r.command,2e3),error:w(e.error,2e3),output:w(r.output,2e3)??w(e.output,2e3),exitCode:typeof r.exitCode=="number"?r.exitCode:null,timedOut:r.timedOut===!0,stderr:w(r.stderr,2e3),stdout:w(r.stdout,2e3)}}i(_e,"reviewTimelineEntry");function xe(e){return`${e.sequence??"none"}:${e.name??"unknown"}:${e.action??"none"}`}i(xe,"timelineEntryKey");function Ce(e,t){let r=new Map;for(let n of e)if(n.turnId===t)for(let o of oe(n.data))r.set(`${o.id}:${o.revision}`,o);return[...r.values()].sort((n,o)=>n.title.localeCompare(o.title)||n.revision-o.revision).slice(0,30).map(n=>({id:n.id,title:n.title,revision:n.revision,contentType:n.contentType,sizeBytes:n.sizeBytes,sha256:n.sha256,locationKind:n.location.kind,validation:n.validation.map(o=>({kind:o.kind,status:o.status,label:o.label,detail:o.detail??null}))}))}i(Ce,"fileOutputInventory");function oe(e,t=0){if(t>8)return[];let r=ve.safeParse(e);return r.success?[r.data]:Array.isArray(e)?e.flatMap(n=>oe(n,t+1)):!e||typeof e!="object"?[]:Object.values(e).flatMap(n=>oe(n,t+1))}i(oe,"findFileOutputRefs");async function Je(e){let t=new Set(e.observations.flatMap(s=>s.deterministicClass?[s.deterministicClass]:[])),r=new Set(e.observations.flatMap(s=>s.tool?[s.tool.name]:[]));if(t.size===0&&r.size===0)return[];let n=(await e.store.listHarnessImprovementArtifacts(e.workspaceId,"observation",200)).filter(s=>s.runRef!==e.trigger.runRef&&s.turnId!==e.trigger.turnId&&(s.deterministicClass!==null&&t.has(s.deterministicClass)||s.tool!==null&&r.has(s.tool.name))).sort((s,l)=>l.createdAt.localeCompare(s.createdAt)),o=new Map;for(let s of n){let l=`${s.runRef}:${s.turnId}`,g=o.get(l)??[];g.push(s),o.set(l,g)}let a=[];for(let s of o.values()){if(a.length>=je)break;let l=s[0],[g,m]=await Promise.all([e.store.getTurn(l.turnId),e.store.runtimeEventsForTurn(l.turnId,{names:Te})]);if(!g)continue;let d=[...new Set(s.flatMap(p=>p.deterministicClass&&t.has(p.deterministicClass)?[p.deterministicClass]:[]))],y=[...new Set(s.flatMap(p=>p.tool&&r.has(p.tool.name)?[p.tool.name]:[]))],u=Qe(m.filter(p=>p.turnId===g.id));a.push({runRef:l.runRef,turnId:l.turnId,createdAt:l.createdAt,matchedBy:{deterministicClasses:d,tools:y},observations:s.slice(0,4).map(p=>({kind:p.kind,state:p.state,deterministicClass:p.deterministicClass,summary:p.summary})),prompt:g.prompt?T(g.prompt,1200):null,assistantOutput:J(m,g.id,1200),timeline:u,artifacts:Ce(m,g.id).slice(0,5)})}return a}i(Je,"loadRelevantPriorIncidentPackets");function Qe(e){let t=new Set(["turn.completed","turn.failed","turn.interrupted"]),r=e.filter(a=>{if(t.has(a.name))return!0;let s=JSON.stringify({error:a.error,output:a.output,data:a.data});return a.status==="failed"||/"ok"\s*:\s*false|failed|denied|unavailable|timed?\s*out|exception|traceback/i.test(s)}).sort($).map(a=>{let s=_e(a);return{sequence:s.sequence,name:s.name,action:s.action,status:s.status,error:w(s.error,800),output:w(s.output,800),exitCode:s.exitCode,timedOut:s.timedOut}}),n=new Map;for(let a of r){let s=JSON.stringify({name:a.name,action:a.action,status:a.status,error:a.error,output:a.output,exitCode:a.exitCode,timedOut:a.timedOut}),l=n.get(s);if(l){l.occurrenceCount+=1;continue}n.set(s,{...a,occurrenceCount:1})}let o=[...n.values()];return o.length<=be?o:[...o.slice(0,be-2),...o.slice(-2)]}i(Qe,"priorIncidentTimeline");function Ge(e,t){if(e===void 0)return null;try{let r=T(JSON.stringify(e),t);return JSON.parse(r.endsWith(`
|
|
3
3
|
[truncated]`)?JSON.stringify(r):r)}catch{return T(String(e),t)}}i(Ge,"boundedUnknown");function Ye(e,t){let r={modelRequestCount:0,promptTokens:0,completionTokens:0,totalTokens:0},n=[...e].reverse().find(o=>o.turnId===t&&o.name==="diagnostic"&&o.action==="taskset_grade"&&typeof o.output=="string");if(!n?.output)return r;try{let o=A(JSON.parse(n.output)),a=A(o.attempt),s=A(a.usage);return{modelRequestCount:K(a.modelRequestCount),promptTokens:K(s.promptTokens),completionTokens:K(s.completionTokens),totalTokens:K(s.totalTokens)}}catch{return r}}i(Ye,"tasksetGradeExecutionProfile");function K(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.trunc(e):0}i(K,"nonnegativeInteger");async function Ze(e){if(!e)return[];let t=[];for(let r of[e,x.join(e,"outputs")]){let n=await N.readdir(r,{withFileTypes:!0}).catch(()=>[]);for(let o of n)if(!(!o.isFile()||!o.name.toLowerCase().endsWith(".pdf"))&&(t.push({filename:x.join(r,o.name),displayPath:x.relative(e,x.join(r,o.name)).replaceAll(x.sep,"/")}),t.length>=ke))break;if(t.length>=ke)break}return Promise.all(t.map(async({filename:r,displayPath:n})=>{try{if((await N.stat(r)).size>He)return{path:n,mediaType:"application/pdf",check:"pdf_text_bounds",status:"unavailable",reason:`artifact exceeds ${He} byte inspection bound`};let{stdout:a}=await Ue("pdftotext",["-bbox",r,"-"],{env:{...process.env,PATH:we()},maxBuffer:8*1024*1024,timeout:15e3});return et(n,a)}catch(o){return{path:n,mediaType:"application/pdf",check:"pdf_text_bounds",status:"unavailable",reason:o instanceof Error?o.message.slice(0,500):String(o).slice(0,500)}}}))}i(Ze,"inspectBoundedPdfArtifactDiagnostics");function et(e,t){let r=[],n=0;for(let o of t.matchAll(/<page\s+width="([^"]+)"\s+height="([^"]+)"[^>]*>([\s\S]*?)<\/page>/g)){n+=1;let a=Number(o[1]),s=Number(o[2]);for(let l of o[3].matchAll(/<word\s+xMin="([^"]+)"\s+yMin="([^"]+)"\s+xMax="([^"]+)"\s+yMax="([^"]+)"[^>]*>([\s\S]*?)<\/word>/g)){let[g,m,d,y]=l.slice(1,5).map(Number);g>=0&&m>=0&&d<=a&&y<=s||r.push({page:n,text:tt(l[5]).slice(0,120),xMin:g,yMin:m,xMax:d,yMax:y,pageWidth:a,pageHeight:s})}}return{path:e,mediaType:"application/pdf",check:"pdf_text_bounds",status:r.length>0?"failed":"passed",pages:n,clippedTextCount:r.length,examples:r.slice(0,10)}}i(et,"pdfTextBoundsDiagnostic");function tt(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'|'/g,"'")}i(tt,"decodeXmlText");function Se(e){return e?e.match(/https?:\/\/[^\s<>)\]}"']+/gi)?.length??0:0}i(Se,"countAbsoluteLinks");function J(e,t,r=8e3){let n=e.filter(o=>o.turnId===t&&o.name==="assistant.delta"&&typeof o.output=="string").sort($).map(o=>o.output).join("");return n?T(n,r):null}i(J,"assistantOutputForTurn");async function Ae(e,t,r){let n=await e.listHarnessImprovementArtifacts(t,"observation",1e3),o=new Map(n.map(a=>{let s=de.parse(a);return[s.contentHash,s]}));return r.observations.map(a=>{let s=o.get(a.contentHash);if(!s||s.id!==a.id)throw new Error(`Refiner observation ${a.id} is unavailable or hash-mismatched.`);return s})}i(Ae,"loadExactObservations");async function se(e,t,r={}){let n=st(t),o=r.forceUnloaded!==!0,a=i((u,p)=>o&&(u==="instruction"||u==="skill"&&n.has(at(p))),"wasLoaded"),s=x.resolve(e,"source"),l=B.parse(JSON.parse(await N.readFile(x.join(s,"harness.json"),"utf8"))),g=Ve,m=[],d=l.files.filter(u=>["instruction","skill","agent"].includes(u.kind)&&u.visibility==="policy").map(u=>({path:u.path,kind:u.kind,loaded:a(u.kind,u.path)})),y=l.files.slice().sort((u,p)=>{let b=["instruction","skill","agent"].includes(u.kind)&&a(u.kind,u.path),k=["instruction","skill","agent"].includes(p.kind)&&a(p.kind,p.path);if(b!==k)return b?-1:1;let H=i(f=>f==="instruction"?0:f==="skill"?1:2,"rank");return H(u.kind)-H(p.kind)||u.path.localeCompare(p.path)});for(let u of y){if(!["instruction","skill","agent"].includes(u.kind)||u.visibility!=="policy"||!["text/markdown","text/plain","text/javascript"].includes(u.mediaType))continue;let p=it(s,u.path),b=await N.lstat(p);if(!b.isFile()||b.isSymbolicLink())continue;let k=await N.readFile(p);k.byteLength>g||(m.push({path:u.path,kind:u.kind,content:k.toString("utf8"),loaded:a(u.kind,u.path)}),g-=k.byteLength)}return{manifest:l,files:m,catalog:d}}i(se,"readBoundedRefinerSource");function rt(e){let t=[...e.exactEvents].sort($),r=e.events.filter(l=>l.turnId===e.turnId&&nt(l)&&(l.sequence===void 0||l.sequence<=e.boundarySequence)).sort($);if(r.length<=e.limit)return r;let n=new Set(t.map(l=>l.id)),o=t.slice(0,e.limit),a=e.limit-o.length;if(a<=0)return o;let s=r.filter(l=>!n.has(l.id)).slice(-a);return[...o,...s].sort($)}i(rt,"selectRefinerEvidenceWindow");function nt(e){return["tool.completed","workspace_action_result","skill.loaded","validation.completed","diagnostic"].includes(e.name)}i(nt,"isRefinerEvidenceEvent");function ot(e){return["turn.completed","turn.failed","turn.interrupted","tool.completed","workspace_action_result","skill.loaded","validation.completed","diagnostic"].includes(e.name)}i(ot,"isRefinerReviewTimelineEvent");function $(e,t){return(e.sequence??Number.MAX_SAFE_INTEGER)-(t.sequence??Number.MAX_SAFE_INTEGER)}i($,"compareRuntimeEvents");function w(e,t){return typeof e=="string"?T(e,t):null}i(w,"textField");function T(e,t){let r=e.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]+/gi,"Bearer [redacted]").replace(/\b(api[_-]?key|access[_-]?token|auth(?:orization)?|password|secret)(\s*[:=]\s*)([^\s,;]+)/gi,"$1$2[redacted]");return r.length<=t?r:`${r.slice(0,t)}
|
|
4
4
|
[truncated]`}i(T,"redactAndBoundRefinerText");function st(e){let t=e.metadata.loadedSkillNames;return Array.isArray(t)?new Set(t.filter(r=>typeof r=="string"&&r.trim().length>0)):new Set}i(st,"loadedSkillNamesFromTrigger");function at(e){return/^skills\/([^/]+)\/SKILL\.md$/.exec(e.replaceAll("\\","/"))?.[1]??""}i(at,"skillNameFromPath");function it(e,t){let r=x.resolve(e,...t.replaceAll("\\","/").split("/")),n=x.relative(e,r);if(!n||n.startsWith("..")||x.isAbsolute(n))throw new Error(`Harness source path escapes its immutable bundle: ${t}`);return r}i(it,"containedSourcePath");function A(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}i(A,"asRecord");async function Oe(e){let t=e.rebasedOntoCurrent?e.workspace.currentChannel.release:e.overlay.baseHarnessRelease;if(!t)throw new Error("Queued Refiner trigger references a Harness workspace without a current release.");let r=await e.store.getHarnessReleaseRecord(t.contentHash);if(!r||r.harnessRelease.id!==t.id||r.workspaceId!==e.workspace.id)throw new Error("Queued Refiner trigger references an unavailable effective Harness release.");let n=await se(r.bundlePath,e.trigger,{forceUnloaded:e.rebasedOntoCurrent}),o=e.rebasedOntoCurrent?await e.store.getHarnessReleaseRecord(e.overlay.baseHarnessRelease.contentHash):r;if(!o||o.harnessRelease.id!==e.overlay.baseHarnessRelease.id||o.workspaceId!==e.workspace.id)throw new Error("Queued Refiner trigger references an unavailable admitted Harness release.");return{admittedSource:e.rebasedOntoCurrent?await se(o.bundlePath,e.trigger):n,effectiveReleaseRef:t,release:r,source:n}}i(Oe,"loadRefinerReleaseContext");function Me(e,t){if(t.requestId!==e.requestId||t.evidenceHash!==e.evidenceHash||t.admittedRelease.id!==e.harness.admittedRelease.id||t.admittedRelease.contentHash!==e.harness.admittedRelease.contentHash||t.currentRelease.id!==e.harness.currentRelease.id||t.currentRelease.contentHash!==e.harness.currentRelease.contentHash)throw new Error("Managed Harness Refiner response binding does not match the request.")}i(Me,"assertHostedResponseBinding");function Q(e){return{id:e.id,contentHash:e.contentHash,coreHash:e.coreHash,profileHash:e.profileHash}}i(Q,"refinerReleaseMetadata");async function Pe(e,t,r){return(await e.listHarnessImprovementArtifacts(t,"refiner_outcome",1e3)).find(o=>o.trigger.id===r.id&&o.trigger.contentHash===r.contentHash)??null}i(Pe,"findRefinerOutcome");async function ae(e,t,r){return(await e.listHarnessImprovementArtifacts(t,"proposal",1e3)).find(o=>o.id===r)??null}i(ae,"findProposal");async function qe(e,t,r){let n=await ae(e,t,R("proposal",r.contentHash)),o=n?.metadata.trigger;return o?.id===r.id&&o.contentHash===r.contentHash?n:null}i(qe,"findProposalByTrigger");async function ie(e,t,r){return(await e.listHarnessImprovementArtifacts(t,"targeted_validation",1e3)).filter(o=>o.proposal.id===r.id&&o.proposal.contentHash===r.contentHash)}i(ie,"findProposalValidations");var De=new WeakMap;async function zt(e){let t=G.parse(e.trigger).contentHash,r=De.get(e.store);r||(r=new Map,De.set(e.store,r));let n=r.get(t);if(n)return n;let o=ct(e);r.set(t,o);try{return await o}finally{r.get(t)===o&&r.delete(t)}}i(zt,"runLocalHarnessRefinerWorker");async function ct(e){let t=G.parse(e.trigger);if(t.decision!=="queue_refiner")throw new Error("The model-backed Refiner only accepts queue_refiner decisions.");if(!t.overlay)throw new Error("A queued Local Harness Refiner decision requires a run overlay.");let r=await e.store.getHarnessRunOverlay(t.runRef);if(!r||!U(r,t.overlay))throw new Error("Queued Refiner trigger does not match the durable run overlay.");let n=await e.store.getHarnessWorkspace(r.workspace.workspaceId);if(!n||n.location!==e.store.harnessStoragePlacement)throw new Error("Harness Refiner workspace does not match the admitted storage placement.");let o=await Pe(e.store,n.id,t);if(o){let v=o.proposal?await ae(e.store,n.id,o.proposal.id):null;return{outcome:o,overlay:await e.store.getHarnessRunOverlay(t.runRef)??r,proposal:v,validations:v?await ie(e.store,n.id,v):[],workspace:await e.store.getHarnessWorkspace(n.id)??n,advanceReceipt:null,applyReceipt:null}}let a=await Ae(e.store,n.id,t),s=!ne(n,r);if(r.status!=="active"){let v=await qe(e.store,n.id,t);return v&&U(r,v.overlay)?$e({...e,trigger:t,workspace:n,overlay:r,proposal:v,observations:a}):ce({store:e.store,workspace:n,overlay:r,trigger:t,observations:a,reason:`The run overlay is ${r.status} and has no recoverable proposal for this trigger.`,now:e.now})}let{admittedSource:l,effectiveReleaseRef:g,release:m,source:d}=await Oe({store:e.store,workspace:n,overlay:r,trigger:t,rebasedOntoCurrent:s}),y=(await e.store.listHarnessMemories(n.id)).slice(0,100).map(v=>({path:`memory/${v.key}`,kind:"memory",content:v.content,loaded:!0}));d.catalog.push(...y.map(({path:v,kind:c,loaded:h})=>({path:v,kind:c,loaded:h}))),d.files.push(...y);let u=await Ee(e.store,t,a,n.id,{allowMissingRuntimeEvents:e.reviewScope==="cross_run_candidate"}),p={memory:!0,prompt:!0,skill:!0,agent:!1},b=[...a.map(v=>v.id),...u.reviewPacket.priorIncidents.flatMap(v=>typeof v.id=="string"&&v.id.trim()?[v.id.trim()]:[])],k={capabilities:p,trigger:ee(t),observations:a.map(te),admissibleEvidenceIds:b,reviewPacket:u.reviewPacket,runtimeActivation:{admittedRelease:r.baseHarnessRelease,currentRelease:g,rebasedOntoCurrent:s,admittedSourceFiles:l.files,admittedSourceCatalog:l.catalog},sourceFiles:d.files,sourceCatalog:d.catalog,additionalEvidence:e.additionalEvidence??null},H=await(e.loadActiveRefinerRelease?e.loadActiveRefinerRelease():ye(e.storeDir)),f;if(e.stream)f=await ue({evidence:k,stream:e.stream,signal:e.signal,timeoutMs:e.timeoutMs,reviewProfile:H.profile});else if(e.refine){let v=fe.parse({schemaVersion:"openpond.hostedHarnessRefinerRequest.v2",requestId:t.id,idempotencyKey:t.contentHash,evidenceHash:E(k),harness:{admittedRelease:r.baseHarnessRelease,currentRelease:g,overlay:D(r),workspace:{id:n.id,revision:n.revision,sourceRevision:n.sourceRevision,channelRevision:n.currentChannel.revision},capabilities:p},evidence:k}),c=ge.parse(await e.refine({request:v,signal:e.signal}));Me(v,c),f=c.decision}else throw new Error("Harness Refiner requires a public model stream or managed adapter.");if(f=pe({decision:f,evidence:k}),f=me(f,H.profile),f.decision==="no_action")return ce({store:e.store,workspace:n,overlay:r,trigger:t,observations:a,reason:f.reason,metadata:{refinerRelease:Q(H)},now:e.now});if(f.decision==="route")return dt({store:e.store,workspace:n,overlay:r,trigger:t,observations:a,decision:f,refinerRelease:Q(H),now:e.now});ut(f,d.catalog,d.files);let O=mt(f,d.files),_=f.route==="memory"?await e.store.getHarnessMemory(n.id,q(f.target)):null,C=(e.now??(()=>new Date().toISOString()))(),S=gt(f),M=ft({trigger:t,decision:f,materializedContent:O,manifest:d.manifest,effects:S}),F=R("proposal",t.contentHash),L=R("targeted-check",{trigger:t.contentHash,route:f.route,target:f.target}),P=re(a),W=await e.store.freezeHarnessRunOverlayWithProposalAtomically({runId:t.runRef,expectedRevision:r.revision,edits:M,updatedAt:C,buildProposal:i(v=>le({schemaVersion:"openpond.harnessImprovementProposal.v1",id:F,overlay:D(v),baseHarnessRelease:{id:m.harnessRelease.id,contentHash:m.harnessRelease.contentHash},expectedWorkspace:{workspaceId:n.id,revision:n.revision,sourceRevision:n.sourceRevision,channelRevision:n.currentChannel.revision},requestedScope:"personal",route:f.route,risk:f.operation==="delete"||S.some(c=>!["text_instruction","memory","dependency_selection"].includes(c))?"review":"low",effects:S,evidence:P,edits:M,validationPlan:vt({decision:f,evidence:P,validationId:L,effects:S}),expectedOutcome:f.expectedOutcome,createdAt:C,metadata:{refinerRelease:Q(H),trigger:{id:t.id,contentHash:t.contentHash},reason:f.reason,evidenceBasis:f.evidenceBasis,generatedManifestEditId:M.find(c=>c.target==="harness.json")?.id??null,rebasedFromHarnessRelease:s?r.baseHarnessRelease:null,expectedMemory:f.route==="memory"?{key:q(f.target),revision:_?.revision??null,contentHash:_?.contentHash??null,status:_?.status??null}:null}}),"buildProposal")});return $e({...e,trigger:t,workspace:n,overlay:W.overlay,proposal:W.proposal,observations:a})}i(ct,"executeLocalHarnessRefinerWorker");async function $e(e){let t=(e.now??(()=>new Date().toISOString()))(),r=await ie(e.store,e.workspace.id,e.proposal);if(r.length===0){r=await he({storeDir:e.storeDir,workspace:e.workspace,proposal:e.proposal,now:i(()=>t,"now")});for(let l of r)await e.store.saveHarnessImprovementArtifact(e.workspace.id,"targeted_validation",l)}if(e.proposal.route==="memory")return lt({...e,validations:r,timestamp:t});let n=await Re({store:e.store,storeDir:e.storeDir,overlay:e.overlay,proposal:e.proposal,validations:r,receiptId:R("harness-advance",e.proposal.contentHash),now:i(()=>t,"now")}),o=V({schemaVersion:"openpond.improvementRouteDecision.v1",id:R("route",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},route:e.proposal.route,authority:"refiner_model",automatic:n.receipt.decision==="advanced",reason:n.receipt.reason,createdAt:t,metadata:{proposalId:e.proposal.id}});await e.store.saveHarnessImprovementArtifact(e.workspace.id,"route_decision",o);let a=Y({schemaVersion:"openpond.improvementApplyReceipt.v1",id:R("apply",e.proposal.contentHash),proposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},beforeOverlay:e.trigger.overlay,afterOverlay:n.receipt.decision==="advanced"?D(e.overlay):null,decision:n.receipt.decision==="advanced"?"applied":"retained",boundary:e.trigger.boundary,validationRefs:r.map(l=>({id:l.id,contentHash:l.contentHash})),outcomeEvidenceRefs:j(e.observations),rollbackOf:null,createdAt:t,metadata:{workspaceAdvanceDecision:n.receipt.decision}});await e.store.saveHarnessImprovementArtifact(e.workspace.id,"apply_receipt",a);let s=z({schemaVersion:"openpond.harnessRefinerOutcome.v1",id:R("refiner-outcome",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},decision:"proposed",proposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},reason:n.receipt.reason,evidenceRefs:e.trigger.observations,estimatedCostUsd:e.trigger.estimatedMaxCostUsd,createdAt:t,metadata:{refinerRelease:e.proposal.metadata.refinerRelease??null,validationStatuses:r.map(l=>l.status),workspaceAdvanceReceipt:{id:n.receipt.id,contentHash:n.receipt.contentHash}}});return await e.store.saveHarnessImprovementArtifact(e.workspace.id,"refiner_outcome",s),{outcome:s,overlay:e.overlay,proposal:e.proposal,validations:r,workspace:n.workspace,advanceReceipt:n.receipt,applyReceipt:a}}i($e,"finishPersistedProposal");async function lt(e){let t=e.proposal.validationPlan.filter(m=>m.required).every(m=>e.validations.some(d=>d.validationId===m.id&&d.status==="passed")),r=e.proposal.edits.find(m=>m.route==="memory");if(!r)throw new Error("Memory proposal has no memory edit.");let n=Z(e.proposal,r.target),o=t&&r.operation!=="delete";o&&await e.store.writeHarnessMemory({workspaceId:e.workspace.id,key:q(r.target),content:r.content,expectedRevision:n.revision,sourceRunId:e.trigger.runRef,sourceProposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},createdAt:e.timestamp});let a=o?"Validated low-risk Personal memory applied at the safe turn boundary.":r.operation==="delete"?"Memory deletion requires explicit review.":"Required memory validation did not pass.",s=V({schemaVersion:"openpond.improvementRouteDecision.v1",id:R("route",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},route:"memory",authority:"refiner_model",automatic:o,reason:a,createdAt:e.timestamp,metadata:{proposalId:e.proposal.id}});await e.store.saveHarnessImprovementArtifact(e.workspace.id,"route_decision",s);let l=Y({schemaVersion:"openpond.improvementApplyReceipt.v1",id:R("apply",e.proposal.contentHash),proposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},beforeOverlay:e.trigger.overlay,afterOverlay:o?D(e.overlay):null,decision:o?"applied":"retained",boundary:e.trigger.boundary,validationRefs:e.validations.map(m=>({id:m.id,contentHash:m.contentHash})),outcomeEvidenceRefs:j(e.observations),rollbackOf:null,createdAt:e.timestamp,metadata:{externalState:"harness_memory"}});await e.store.saveHarnessImprovementArtifact(e.workspace.id,"apply_receipt",l);let g=z({schemaVersion:"openpond.harnessRefinerOutcome.v1",id:R("refiner-outcome",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},decision:"proposed",proposal:{id:e.proposal.id,contentHash:e.proposal.contentHash},reason:a,evidenceRefs:e.trigger.observations,estimatedCostUsd:e.trigger.estimatedMaxCostUsd,createdAt:e.timestamp,metadata:{refinerRelease:e.proposal.metadata.refinerRelease??null,validationStatuses:e.validations.map(m=>m.status)}});return await e.store.saveHarnessImprovementArtifact(e.workspace.id,"refiner_outcome",g),{outcome:g,overlay:e.overlay,proposal:e.proposal,validations:e.validations,workspace:e.workspace,advanceReceipt:null,applyReceipt:l}}i(lt,"finishMemoryProposal");async function ce(e){let t=(e.now??(()=>new Date().toISOString()))(),r=z({schemaVersion:"openpond.harnessRefinerOutcome.v1",id:R("refiner-outcome",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},decision:"no_action",proposal:null,reason:e.reason,evidenceRefs:e.trigger.observations,estimatedCostUsd:e.trigger.estimatedMaxCostUsd,createdAt:t,metadata:e.metadata??{}});return await e.store.saveHarnessImprovementArtifact(e.workspace.id,"refiner_outcome",r),{outcome:r,overlay:e.overlay,proposal:null,validations:[],workspace:e.workspace,advanceReceipt:null,applyReceipt:null}}i(ce,"persistNoAction");async function dt(e){let t=(e.now??(()=>new Date().toISOString()))(),r=V({schemaVersion:"openpond.improvementRouteDecision.v1",id:R("route",e.trigger.contentHash),trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},route:e.decision.route,authority:"refiner_model",automatic:!1,reason:e.decision.reason,createdAt:t,metadata:{summary:e.decision.summary,expectedOutcome:e.decision.expectedOutcome,evidenceBasis:e.decision.evidenceBasis,refinerRelease:e.refinerRelease}});return await e.store.saveHarnessImprovementArtifact(e.workspace.id,"route_decision",r),ce({store:e.store,workspace:e.workspace,overlay:e.overlay,trigger:e.trigger,observations:e.observations,reason:`Routed to ${e.decision.route}: ${e.decision.summary}`,metadata:{routed:!0,route:e.decision.route,routeDecision:{id:r.id,contentHash:r.contentHash},expectedOutcome:e.decision.expectedOutcome,evidenceBasis:e.decision.evidenceBasis,refinerRelease:e.refinerRelease},now:i(()=>t,"now")})}i(dt,"persistExternalRoute");function ut(e,t,r){let n=e.route==="memory"?"memory":e.route==="skill"?"skill":e.route==="agent"?"agent":"instruction",o=t.find(s=>s.path===e.target);if(e.operation==="create"){if(o)throw new Error(`Refiner create target already exists: ${e.target}.`);if(!pt(e.route,e.target))throw new Error(`Refiner create target is not a safe ${e.route} component path: ${e.target}.`);return}if(!o)throw new Error(`Refiner targeted an unlisted source file: ${e.target}.`);if(o.kind!==n)throw new Error(`Refiner route ${e.route} cannot ${e.operation} ${o.kind} file ${o.path}.`);let a=r.find(s=>s.path===e.target);if(e.operation==="update"&&!a)throw new Error(`Refiner update target ${e.target} exceeded the bounded source budget.`)}i(ut,"assertSafeDecision");function mt(e,t){if(e.operation==="delete")return null;if(e.operation==="create"){if(e.createContent===null)throw new Error("Refiner create proposal is missing bounded component content.");return e.createContent}let r=t.find(a=>a.path===e.target);if(!r)throw new Error(`Refiner update target ${e.target} exceeded the bounded source budget.`);if(e.find===null||e.replace===null)throw new Error("Refiner update proposal is missing its exact find/replace edit.");let n=r.content.split(e.find).length-1;if(n!==1)throw new Error(`Refiner update find text must occur exactly once in ${e.target}; found ${n}.`);let o=r.content.replace(e.find,e.replace);if(o===r.content)throw new Error("Refiner proposal does not change the selected source file.");return o}i(mt,"materializeDecisionContent");function pt(e,t){let r=t.replaceAll("\\","/");return e==="memory"?/^memory\/[a-z0-9][a-z0-9-]{0,119}$/.test(r):e==="prompt"?/^instructions\/refinements\/[a-z0-9][a-z0-9-]*\.md$/.test(r):e==="skill"?/^skills\/[a-z0-9][a-z0-9-]*\/SKILL\.md$/.test(r):/^agents\/[a-z0-9][a-z0-9-]*\/agent\.ts$/.test(r)}i(pt,"safeCreatedComponentPath");function ft(e){let{decision:t}=e,r={id:R("overlay-edit",{trigger:e.trigger.contentHash,operation:t.operation,target:t.target,content:e.materializedContent}),route:t.route,operation:t.operation,target:t.target,summary:t.summary,content:e.materializedContent,contentHash:e.materializedContent===null?null:E(e.materializedContent),effects:e.effects};if(t.route==="memory")return[r];if(t.operation==="update")return[r];let n=e.manifest.files.find(d=>d.path===t.target),o=new Set,a=[],s=e.manifest.files;if(t.operation==="create"){let d=t.route==="skill"?"skill":t.route==="agent"?"agent":"instruction";s=[...s,{id:R(d,t.target),kind:d,path:t.target,parentId:null,mediaType:t.route==="agent"?"text/javascript":"text/markdown",visibility:"policy",portability:"portable"}]}else{if(!n)throw new Error(`Refiner delete target is not declared: ${t.target}.`);o.add(n.id);for(let d of e.manifest.files)d.parentId===n.id&&(o.add(d.id),a.push({id:R("overlay-edit",{trigger:e.trigger.contentHash,operation:"delete",target:d.path}),route:t.route,operation:"delete",target:d.path,summary:`Remove resource ${d.path} with ${t.target}.`,content:null,contentHash:null,effects:e.effects}));s=s.filter(d=>!o.has(d.id))}let l=B.parse({...e.manifest,files:s}),g=`${JSON.stringify(l,null,2)}
|
|
5
5
|
`,m={id:R("overlay-edit",{trigger:e.trigger.contentHash,operation:"update",target:"harness.json",content:g}),route:t.route,operation:"update",target:"harness.json",summary:`${t.operation==="create"?"Register":"Remove"} Harness component ${t.target}.`,content:g,contentHash:E(g),effects:e.effects};return[r,...a,m]}i(ft,"buildProposalEdits");function gt(e){if(e.route==="agent")return["executable_code"];if(e.route==="memory")return["memory"];let t=[e.summary,e.expectedOutcome,e.createContent??"",e.find??"",e.replace??""].join(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{va as t}from"./chunk-
|
|
2
|
+
import{va as t}from"./chunk-INO67SEN.js";import{A as e}from"./chunk-PF56N7ZY.js";var n=e.string().trim().min(1).max(240),a=e.object({id:n,revision:e.number().int().positive(),ownerInstanceId:n,teamId:n,profileId:n,projectId:n,hostedModelId:n,role:t,roleTargetId:n,expectedBindingId:n,policyId:n.nullable(),authorizedConfigurationHash:e.string().length(64).nullable(),enabled:e.boolean(),updatedAt:e.string().datetime()}).strict(),o=e.object({id:n,grantId:n,revision:e.number().int().positive(),jobId:n,artifactHash:e.string().length(64),priorBindingId:n,bindingId:n.nullable(),restoredBindingId:n.nullable(),status:e.enum(["prepared","binding","canary","active","superseded","rolling_back","rolled_back","failed"]),leaseId:n,canarySeconds:e.number().int().min(30).max(600),activatedAt:e.string().datetime().nullable(),failure:e.string().max(2e3).nullable(),createdAt:e.string().datetime(),updatedAt:e.string().datetime()}).strict();export{a,o as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as
|
|
2
|
+
import{a as z}from"./chunk-FEAKTSRS.js";import{a as P,b as _}from"./chunk-LJDBR3RN.js";import{$ as V,Z as B}from"./chunk-5MTN6KXV.js";import{_ as S,ha as O}from"./chunk-PGO4FRHU.js";import{D as A}from"./chunk-ABF3W2MO.js";import{x as I}from"./chunk-PBZCXPPC.js";import{n as k}from"./chunk-VVNV4NNW.js";import{A as g}from"./chunk-PF56N7ZY.js";import{a as i}from"./chunk-FTQLQJQV.js";import{randomUUID as E,createHash as $}from"node:crypto";import{mkdtemp as j,mkdir as q,writeFile as R,rm as L}from"node:fs/promises";import C from"node:os";import v from"node:path";var w=g.object({score:g.number().finite().min(0).max(1).nullable(),passed:g.boolean(),feedback:g.string().max(2e4),evidenceRefs:g.array(g.string().max(240)).max(1e3).default([])}).strict().refine(e=>e.score!==null||!e.passed,{message:"Unscorable verifiers cannot pass.",path:["passed"]});function N(e){if(e==="sandbox_process")throw new Error("verifier_sandbox_process_required")}i(N,"assertIsolatedVerifierRuntime");var ce=i(async e=>{let r=O(e.packageValue);if(e.grader.runtime!=="sandbox_process")throw new Error("Select the sandbox process runtime for a local file grader.");if(!r.taskset.graders.some(o=>k(o)===k(e.grader)))throw new Error("The private grader differs from its package.");if(!r.taskset.tasks.some(o=>k(o)===k(e.task)))throw new Error("The private case differs from its package.");await e.authorize(),e.signal?.throwIfAborted();let s=await j(v.join(C.tmpdir(),"profile-private-grade-")),d=E();try{let o=new Map;for(let a of r.files.filter(t=>t.asset.visibility!=="policy")){let t=a.asset.path;if(v.isAbsolute(t)||t.split(/[\\/]/).some(n=>!n||n==="."||n===".."))throw new Error("Private grader asset path invalid.");let u=o.get(t);if(u){if(u.contentHash!==a.asset.contentHash||u.sizeBytes!==a.asset.sizeBytes)throw new Error("Private grader assets declare conflicting bytes at the same path.");continue}o.set(t,{contentHash:a.asset.contentHash,sizeBytes:a.asset.sizeBytes});let x=v.join(s,"package",t);await q(v.dirname(x),{recursive:!0,mode:448}),await R(x,S(a),{mode:256})}await R(v.join(s,"request.json"),JSON.stringify({task:e.task,attempt:e.evidence,input:e.task.input,output:e.evidence.output,artifacts:"artifacts"in e.evidence?e.evidence.artifacts:[],expectedOutput:e.task.expectedOutput}),{mode:256});let c=`import fs from 'node:fs/promises'; const module=await import(${JSON.stringify("./package/"+e.grader.verifierRef.path)}); const result=await module[${JSON.stringify(e.grader.exportName??"verify")}](JSON.parse(await fs.readFile('request.json','utf8'))); console.log(JSON.stringify(result));`;await R(v.join(s,"runner.mjs"),c,{mode:256});let m=await z({authorize:i(async()=>(await e.authorize(),e.signal?.throwIfAborted(),{candidateId:d,candidateRevision:1,ownerId:d,sessionId:d,turnId:d,sourceRoot:s,writablePaths:[]}),"authorize")})({candidateId:d,sessionId:d,turnId:d,expectedRevision:1,command:"/runtime/node --max-old-space-size=512 runner.mjs",timeoutMs:e.grader.timeoutMs,maxOutputBytes:7e4,signal:e.signal});if(await e.authorize(),e.signal?.throwIfAborted(),m.code!==0||m.timedOut||m.stdoutTruncated||m.stderrTruncated)throw new Error("Private grading sandbox did not complete.");return w.parse(JSON.parse(m.stdout))}finally{await L(s,{recursive:!0,force:!0})}},"executeLocalProfileVerifier");function de(e){return async r=>{if(!r.manifest)throw new Error("The hosted grader requires its admitted manifest.");await r.authorize(),r.signal?.throwIfAborted();let s="artifacts"in r.evidence&&Array.isArray(r.evidence.artifacts)?r.evidence.artifacts.map(({reference:a,title:t,contentType:u})=>({reference:a,title:t,contentType:u})):[],d="caseOwner"in r.evidence?r.evidence.caseOwner:null;if(!d?.sessionId||!d.turnId)throw new Error("The private grader has no sealed case owner.");let o=Buffer.from(JSON.stringify({manifest:r.manifest,packageValue:r.packageValue,graderId:r.grader.id,taskId:r.task.id,evidence:{...r.evidence,artifacts:s}}));if(o.length>2e7)throw new Error("The private grading package exceeds its transport limit.");let c={callId:E(),sessionId:d.sessionId,turnId:d.turnId,sha256:$("sha256").update(o).digest("hex"),sizeBytes:o.length,timeoutMs:r.grader.timeoutMs},f=i((a,t=12e4)=>e.request(V.parse({contractVersion:B,requestId:E(),operation:"profile-evaluations/grade",params:a}),t),"request");for(let a=0;a<o.length;a+=98304)await r.authorize(),r.signal?.throwIfAborted(),await f({...c,action:"upload",offset:a,contentsBase64:o.subarray(a,a+98304).toString("base64")});let m=await f({...c,action:"execute"},r.grader.timeoutMs+12e4);return await r.authorize(),r.signal?.throwIfAborted(),w.parse(m)}}i(de,"createHostedProfileVerifier");import{Worker as W}from"node:worker_threads";async function b(e){e.signal?.throwIfAborted(),_(e);let{javascriptVerifierWorkerSource:r}=await import("./javascript-verifier-worker-source-F3LSGPOY.js");e.signal?.throwIfAborted();let s=e.signal,d={source:e.source,exportName:e.exportName,value:e.value,timeoutMs:e.timeoutMs,maxResultBytes:e.maxResultBytes,deterministic:e.deterministic===!0,errorPrefix:e.errorPrefix},o=i(c=>new Error(`${e.errorPrefix}_${c}`),"error");return new Promise((c,f)=>{let m=new W(r,{eval:!0,workerData:d,execArgv:[],env:{},resourceLimits:{maxOldGenerationSizeMb:64,maxYoungGenerationSizeMb:16,stackSizeMb:4}}),a=!1,t=i(n=>{a||(a=!0,clearTimeout(x),s?.removeEventListener("abort",u),m.terminate().then(()=>{"error"in n?f(n.error):c(n.result)},f))},"finish"),u=i(()=>t({error:s?.reason instanceof Error?s.reason:o("cancelled")}),"cancel"),x=setTimeout(()=>t({error:o("timeout")}),e.timeoutMs);s?.addEventListener("abort",u,{once:!0}),m.once("error",n=>t({error:n})),m.once("exit",()=>{a||t({error:o("worker_exited_without_result")})}),m.once("message",n=>{try{if(!n||typeof n!="object"||!("ok"in n))throw o("worker_invalid_response");if(n.ok!==!0)throw new Error("error"in n&&typeof n.error=="string"?n.error:`${e.errorPrefix}_execution_failed`);if(!("result"in n))throw o("worker_invalid_response");I(n.result,e.maxResultBytes),t({result:n.result})}catch(h){t({error:h instanceof Error?h:o("worker_invalid_response")})}}),s?.aborted&&u()})}i(b,"executeJavaScriptIsolateInWorker");import{spawn as F}from"node:child_process";async function ye(e){e.signal?.throwIfAborted(),_(e);let{javascriptIsolateProcessSource:r}=await import("./javascript-isolate-process-source-ZPQKKLR4.js");e.signal?.throwIfAborted();let{signal:s,stripTypeScript:d,...o}=e,c=i(m=>new Error(`${e.errorPrefix}_${m}`),"error"),f=`globalThis.__openpondIsolateInput = JSON.parse(${JSON.stringify(JSON.stringify(o))});
|
|
3
3
|
${d?`globalThis.__openpondIsolateInput.source = require("node:module").stripTypeScriptTypes(globalThis.__openpondIsolateInput.source, { mode: "strip" });
|
|
4
4
|
`:""}${r}`;return new Promise((m,a)=>{let t=F("node",["--max-old-space-size=64","--input-type=commonjs","-"],{stdio:["pipe","pipe","pipe"],env:{PATH:process.env.PATH},windowsHide:!0}),u,x="",n=0,h=0,y=i(p=>{u??=p,t.kill("SIGKILL")},"stop"),T=i(()=>y(s?.reason instanceof Error?s.reason:c("cancelled")),"cancel"),H=setTimeout(()=>y(e.errorPrefix==="candidate"?new P("candidate_timeout"):c("timeout")),e.timeoutMs);s?.addEventListener("abort",T,{once:!0}),t.stdout.setEncoding("utf8"),t.stdout.on("data",p=>{n+=Buffer.byteLength(p),n>e.maxResultBytes+65536?y(c("process_response_too_large")):x+=p}),t.stderr.on("data",p=>{h+=p.byteLength,h>65536&&y(c("process_stderr_too_large"))}),t.once("error",p=>{u??=p}),t.stdin.on("error",p=>y(p)),t.once("close",p=>{if(clearTimeout(H),s?.removeEventListener("abort",T),u){a(u);return}try{if(p!==0)throw c("process_exited_without_result");let l=JSON.parse(x);if(!l||typeof l!="object"||!("ok"in l))throw c("process_invalid_response");if(l.ok!==!0){let J="error"in l&&typeof l.error=="string"?l.error:`${e.errorPrefix}_execution_failed`;throw"executionError"in l&&l.executionError===!0?new P(J):new Error(J)}if(!("result"in l))throw c("process_invalid_response");I(l.result,e.maxResultBytes),m(l.result)}catch(l){a(l instanceof Error?l:c("process_invalid_response"))}}),t.stdin.end(f),s?.aborted&&T()})}i(ye,"executeJavaScriptIsolateInProcess");async function be(e){return N(e.runtime),w.parse(await b({...e,exportName:e.exportName??"verify",maxResultBytes:65536,errorPrefix:"verifier"}))}i(be,"executeJavaScriptVerifierInWorker");function Oe(e){return A(e,M)}i(Oe,"aggregateTasksetEvaluationInWorker");var M=i(async({source:e,module:r,exportName:s,scores:d,timeoutMs:o,signal:c})=>{let f=/\.[cm]?ts$/.test(r)?(await import("node:module")).stripTypeScriptTypes(e,{mode:"strip"}):e;return b({source:f,exportName:s,value:d,timeoutMs:o,signal:c,maxResultBytes:1024,deterministic:!0,errorPrefix:"metric"})},"executeMetric");var Be=M;import G from"node:path";function $e(e,r){let s=g.array(g.string().min(1).max(240)).max(16).parse(r.metadata.artifactAssetIds??[]);if(new Set(s).size!==s.length)throw new Error("An artifact fixture contains duplicate assets.");let d=0;return s.map(o=>{let c=e.files.filter(a=>a.asset.id===o),f=c[0];if(c.length!==1||!f||f.asset.visibility!=="host_private")throw new Error("Artifact fixtures require a unique private package asset.");let m=S(f);if((d+=m.length)>2e7)throw new Error("Artifact fixtures exceed their aggregate byte limit.");return{reference:{id:`fixture/${r.id}/${f.asset.path}`,contentHash:f.asset.contentHash,mediaType:f.asset.mediaType,sizeBytes:f.asset.sizeBytes},title:G.posix.basename(f.asset.path),contentType:f.asset.mediaType,base64:Buffer.from(m).toString("base64")}})}i($e,"localGraderFixtureArtifacts");export{ce as a,de as b,b as c,ye as d,be as e,$e as f,Oe as g,Be as h};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{
|
|
2
|
+
import{g as m}from"./chunk-MEK7DLX3.js";import{f as d}from"./chunk-N5GPINVP.js";import{n as f}from"./chunk-VVNV4NNW.js";import{a as n}from"./chunk-FTQLQJQV.js";import h from"node:path";function p(r){let o=r.environment.metadata.runtimeSourceTasksetId,s=o===void 0?r.id:o;if(typeof s!="string"||!s||s==="."||s===".."||h.basename(s)!==s||s.includes("\\"))throw new Error(`Taskset ${r.id} has an invalid package directory identity.`);return s}n(p,"tasksetPackageDirectoryId");import R from"node:path";async function D(r){let{taskset:o}=r,{taskset:s,modelResources:k,learningResources:u}=r.content,l=new Set([...k?.assets??[],...u?.assets??[]].map(e=>e.id)),c=new Map,i=n((e,a=e.path)=>{if(l.has(e.id))return;let t=c.get(e.id);if(t&&(f(t.asset)!==f(e)||t.sourcePath!==a))throw new Error(`Conflicting local Taskset file reference: ${e.id}.`);c.set(e.id,{asset:e,sourcePath:a})},"add");for(let e of d.parse(o.metadata.portableFileInventory??[]))i(e.asset,e.sourcePath);for(let e of s.tasks){let a=o.tasks.find(t=>t.id===e.id);for(let t of e.artifactRefs)i(t,a?.assets?.find(g=>g.id===t.id)?.artifactRef??t.path);for(let t of e.requiredOutputs??[])t.schemaRef&&i(t.schemaRef)}for(let e of s.graders){let a=o.graders.find(t=>t.id===e.id);"verifierRef"in e&&i(e.verifierRef,a?.kind==="custom_verifier"?a.module:e.verifierRef.path),"rubricRef"in e&&i(e.rubricRef)}return m({root:R.join(r.storeDir,"training","tasksets",p(o)),content:r.content,sources:[...c.values()]})}n(D,"captureAuthoredModelTasksetPackage");export{p as a,D as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{ta as n}from"./chunk-
|
|
2
|
+
import{ta as n}from"./chunk-PGO4FRHU.js";import{a}from"./chunk-FTQLQJQV.js";function l(i,e,s){i.exec("BEGIN IMMEDIATE");try{let o=i.get("SELECT content_hash, profile_id FROM taskset_revisions WHERE taskset_id = ? AND revision = ?",[e.id,e.revision]);if(o&&o.content_hash!==e.contentHash)throw new Error(`Taskset ${e.id}@${e.revision} is immutable and already has another content hash.`);let t=i.get("SELECT payload FROM tasksets WHERE id = ?",[e.id]),d=t?n.parse(JSON.parse(t.payload)):null;if(o&&o.profile_id!==e.profileId||d&&d.profileId!==e.profileId)throw new Error(`Taskset ${e.id} belongs to another Profile.`);let r=JSON.stringify(e);i.run(`INSERT INTO taskset_revisions (taskset_id, revision, content_hash, profile_id, status, payload, created_at, updated_at)
|
|
3
3
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
4
4
|
ON CONFLICT(taskset_id, revision) DO UPDATE SET status = excluded.status, payload = excluded.payload, updated_at = excluded.updated_at`,[e.id,e.revision,e.contentHash,e.profileId,e.status,r,e.createdAt,e.updatedAt]),(!d||d.revision<=e.revision)&&i.run(`INSERT INTO tasksets (id, profile_id, status, payload, created_at, updated_at)
|
|
5
5
|
VALUES (?, ?, ?, ?, ?, ?)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{b as f}from"./chunk-
|
|
2
|
+
import{b as f}from"./chunk-HBLN4OLY.js";import{Z as c}from"./chunk-5MTN6KXV.js";import{h as g,j as w,k as I}from"./chunk-TUCKED4T.js";import{b as m}from"./chunk-W5W4IODW.js";import{f as R}from"./chunk-PBZCXPPC.js";import{A as r}from"./chunk-PF56N7ZY.js";import{a as d}from"./chunk-FTQLQJQV.js";import n from"node:path";import{readFile as y}from"node:fs/promises";var A=r.object({profileId:r.string().min(1),sourceRevision:r.string().min(1),repositoryId:r.string().min(1),harnessRelease:r.object({id:r.string().min(1),contentHash:r.string().regex(/^[a-f0-9]{64}$/)}).strict(),hostExecution:r.object({conversationId:r.string().min(1),turnId:r.string().min(1)}).strict().optional(),workspaceId:r.string().min(1),assetsPath:r.string().min(1).refine(n.isAbsolute)}).strict();async function _(p,e){let t=A.parse(e),s=await f(p,t.harnessRelease);if(!s||n.resolve(s.release.bundlePath)!==n.resolve(t.assetsPath))throw new Error("Hosted Profile release changed after admission.");let o=s.release.harnessRelease.metadata.profile;if(!o||typeof o!="object"||o.id!==t.profileId||o.sourceRevision!==t.sourceRevision||o.repositoryId!==void 0&&o.repositoryId!==t.repositoryId)throw new Error("Hosted Profile provenance differs from admitted release.");return{profile:I(),profileLibrary:w()}}d(_,"loadHostedProfileStateAndLibrary");async function B(p,e){let t=A.parse(e),s=await f(p,t.harnessRelease);if(!s||n.resolve(s.release.bundlePath)!==n.resolve(t.assetsPath))throw new Error("Hosted Profile workflow release is unavailable.");let o=s.release.harnessRelease.metadata.profile;if(o?.id!==t.profileId||o.sourceRevision!==t.sourceRevision||o.repositoryId!==void 0&&o.repositoryId!==t.repositoryId)throw new Error("Hosted Profile workflow provenance changed.");let a=t.harnessRelease,l={source:"openpond_git",repositoryId:t.repositoryId,profileId:t.profileId};if(!s.release.harnessRelease.files.some(u=>u.path==="workflows/catalog.json"))return{profileRef:l,sourceRevision:t.sourceRevision,harnessRelease:a,workflows:[]};let i=n.join(s.release.bundlePath,"source","workflows"),v=R({agentSnapshot:s.release.agentSnapshot,harnessRelease:s.release.harnessRelease,catalogBytes:await y(n.join(i,"catalog.json")),actionBytes:await y(n.join(i,"actions.json"))});return{profileRef:l,sourceRevision:t.sourceRevision,harnessRelease:a,workflows:v.catalog.workflows.map(u=>({workflow:u,binding:{schemaVersion:"openpond.profileWorkflowBinding.v1",profileId:t.profileId,sourceRevision:t.sourceRevision,harnessRelease:a,catalogHash:v.catalogHash,workflowId:u.id}}))}}d(B,"listHostedProfileWorkflows");import{createHash as U,randomUUID as h}from"node:crypto";var b=r.object({approval:g,revision:r.number().int().positive()}).strict(),P=r.object({record:m}).strict(),x=r.object({startedAt:r.string().min(1),requestOrdinal:r.number().int().nonnegative(),id:r.string().min(1)}).strict(),k=r.object({records:r.array(m).max(200),nextBefore:x.nullable()}).strict(),H=1e4,S=class{constructor(e){this.client=e}client;static{d(this,"HostedApprovalStorage")}async readApproval(e){let t=await this.client.request({contractVersion:c,requestId:h(),operation:"approval/get",params:{approvalId:e}});return t===null?null:b.parse(t)}async getApproval(e){return(await this.readApproval(e))?.approval??null}async putApproval(e){let t=g.parse(e.approval);if(!e.requestId.trim())throw new Error("Approval mutation requires a stable request ID.");return b.parse(await this.client.request({contractVersion:c,requestId:e.requestId,operation:"approval/upsert",params:{approval:t,expectedRevision:e.expectedRevision}}))}},M=class{constructor(e){this.client=e}client;static{d(this,"HostedModelUsageStorage")}async upsertModelUsageRecord(e){let t=m.parse(e),s=U("sha256").update(JSON.stringify(t)).digest("hex"),o=await this.client.request({contractVersion:c,requestId:`usage:${s}`,operation:"usage/upsert",params:{record:t}}),a=P.parse(o).record;if(a.requestId!==t.requestId)throw new Error("Host usage upsert changed request identity.");return a}async getModelUsageRecordByRequestId(e){let t=await this.client.request({contractVersion:c,requestId:h(),operation:"usage/getByRequestId",params:{requestId:e}});return t===null?null:P.parse(t).record}async listModelUsageRecords(e={}){let t=e.limit===void 0||e.limit>=H,s=e.limit===void 0?H:Math.max(1,Math.min(1e4,Math.trunc(e.limit))),o={...e.sessionId?{sessionId:e.sessionId}:{},...e.turnId?{turnId:e.turnId}:{},...e.provider?{provider:e.provider}:{},...e.model?{model:e.model}:{},...e.startedAtFrom?{startedAtFrom:e.startedAtFrom}:{},...e.startedAtTo?{startedAtTo:e.startedAtTo}:{},...e.visibility&&e.visibility!=="all"?{visibility:e.visibility}:{},...e.status&&e.status!=="all"?{status:e.status}:{}},a=[],l=null;for(;a.length<s+(t?1:0);){let i=k.parse(await this.client.request({contractVersion:c,requestId:h(),operation:"usage/page",params:{query:o,before:l,limit:Math.min(200,s+(t?1:0)-a.length)}}));if(a.push(...i.records),a.length>s)throw new Error(`Hosted usage query exceeds ${s} rows; narrow its filters or use a streamed aggregation.`);if(i.nextBefore===null)break;if(i.records.length===0||JSON.stringify(i.nextBefore)===JSON.stringify(l))throw new Error("Host usage cursor did not advance.");l=i.nextBefore}return a}async listModelUsageRecordsComplete(e={}){return this.listModelUsageRecords(e)}};export{A as a,_ as b,B as c,S as d,M as e};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as k}from"./chunk-
|
|
2
|
+
import{a as k}from"./chunk-PAE3PQEC.js";import{a as S}from"./chunk-VFH5C6D2.js";import{a as u,d}from"./chunk-NWOK6NLE.js";import{i as R,j as h}from"./chunk-LRRBYIGH.js";import{f as m,g}from"./chunk-PBZCXPPC.js";import{n as P}from"./chunk-VVNV4NNW.js";import{a}from"./chunk-FTQLQJQV.js";async function H(e){if(!e.repositoryId.trim())throw new Error("Explicit Profile source requires a repository ID.");let o=await h(e),n=await e.store.getHarnessWorkspace(e.workspaceId);if(n){let s=n.currentChannel.release;if(n.ownerScope.kind!=="personal"||n.ownerScope.id!==e.ownerId||n.sourceRevision!==o.sourceRevision||s?.id!==o.harnessRelease.id||s.contentHash!==o.harnessRelease.contentHash)throw new Error("Explicit Profile source changed under its accepted revision.");let i=await e.store.getHarnessReleaseRecord(s.contentHash);if(!i)throw new Error("Explicit Profile source release is missing after restore.");return i}let r=await R({...e,id:e.workspaceId,selectionEligible:!1});if(r.release.harnessRelease.contentHash!==o.harnessRelease.contentHash||r.workspace.sourceRevision!==o.sourceRevision)throw new Error("Explicit Profile source changed during import.");return r.release}a(H,"ensureExplicitProfileHarnessSource");import{promises as w}from"node:fs";import c from"node:path";var y=new WeakMap;async function N(e){let{profile:o,ref:n}=e;if(o.mode!=="local"||!o.sourcePath||o.error||o.activeProfile!==n.profileId||!o.git?.head||o.git.dirty)throw new Error("Select a clean, committed Profile before loading its workflows.");let r=`${S}${P({ref:n,sourceRevision:o.git.head}).slice(0,24)}`,s=y.get(e.store);s||(s=new Map,y.set(e.store,s));let i=s.get(r);if(i)return i;let t=I({...e,workspaceId:r});s.set(r,t);try{return await t}finally{s.delete(r)}}a(N,"ensureLocalProfileWorkflows");async function I(e){let o=e.profile.git.head,n=await H({store:e.store,storeDir:e.storeDir,workspaceId:e.workspaceId,ownerId:u,name:e.profile.activeProfile,profile:e.profile,sourceRevision:o,repositoryId:e.ref.repositoryId}),r=await W({store:e.store,release:n,ref:e.ref,sourceRevision:o});if(e.reloadProfile){let s=await e.reloadProfile();if(s.git?.head!==o||s.git.dirty)throw new Error("Profile source changed during workflow loading; retry from its committed revision.")}return r}a(I,"loadProfileWorkflows");async function W(e){let o={id:e.release.harnessRelease.id,contentHash:e.release.harnessRelease.contentHash};if(!e.release.harnessRelease.files.some(t=>t.path==="workflows/catalog.json"))return{profileRef:e.ref,sourceRevision:e.sourceRevision,harnessRelease:o,workflows:[]};let{runtime:n,catalog:r,catalogHash:s}=await p(e.store,o),i=n.release.harnessRelease.metadata.profile;if(!i||typeof i!="object"||i.id!==e.ref.profileId||i.sourceRevision!==e.sourceRevision)throw new Error("Selected Profile workflow release differs from its accepted source.");return{profileRef:e.ref,sourceRevision:e.sourceRevision,harnessRelease:o,workflows:r.workflows.map(t=>({workflow:t,binding:{schemaVersion:"openpond.profileWorkflowBinding.v1",profileId:e.ref.profileId,sourceRevision:e.sourceRevision,harnessRelease:o,catalogHash:s,workflowId:t.id}}))}}a(W,"profileWorkflowsForRelease");async function T(e,o){if(o.profileComponentBinding){if(o.profileWorkflowBinding||o.currentProfile?.profileId!==o.profileComponentBinding.profileId)throw new Error("Profile component binding differs from the session Profile reference.");return E({store:e,binding:o.profileComponentBinding})}if(!o.profileWorkflowBinding)return k(e,o.id);if(o.currentProfile?.profileId!==o.profileWorkflowBinding.profileId)throw new Error("Profile workflow binding differs from the session Profile reference.");let{runtime:n,workflow:r,action:s}=await b({store:e,binding:o.profileWorkflowBinding});return{...n,workflow:r,...s?{workflowAction:s}:{}}}a(T,"loadLocalHarnessRuntimeForSession");async function E(e){let{binding:o,store:n}=e,r=await d(n,o.harnessRelease);if(!r)throw new Error("The bound Profile component Harness release is unavailable.");let s=r.release.harnessRelease.metadata.profile;if(!s||typeof s!="object"||s.id!==o.profileId||s.sourceRevision!==o.sourceRevision)throw new Error("Profile component binding differs from its released source.");let i=o.target;if(i.kind==="profile")return r;if(i.kind==="skill"){if(!r.release.agentSnapshot?.skills.some(v=>v.path===i.skillPath)||!r.release.bundlePath)throw new Error("Bound Profile Skill is unavailable in its released source.");let f=await w.readFile(c.join(r.release.bundlePath,"source",i.skillPath),"utf8");return{...r,instructionContext:[r.instructionContext,`Released Profile Skill (${i.skillPath}):
|
|
3
3
|
${f}`].join(`
|
|
4
4
|
|
|
5
5
|
`)}}let l=(await p(n,o.harnessRelease)).actions.find(f=>f.id===i.actionId);if(!l)throw new Error("Bound Profile Agent action is unavailable in its released source.");return{...r,workflowAction:l}}a(E,"loadLocalProfileComponentRuntime");async function b(e){let{runtime:o,catalog:n,catalogHash:r,actions:s}=await p(e.store,e.binding.harnessRelease),i=g({binding:e.binding,harnessRelease:o.release.harnessRelease,catalog:n,catalogHash:r}),t=i.invocation.kind==="agent_action"?i.invocation.actionId:null,l=t?s.find(f=>f.id===t):void 0;if(t&&!l)throw new Error(`Bound Profile action ${t} is missing from its release.`);return{runtime:o,workflow:i,...l?{action:l}:{}}}a(b,"loadLocalProfileWorkflowRuntime");async function p(e,o){let n=await d(e,o);if(!n)throw new Error("The bound Profile workflow Harness release is unavailable.");let r=c.join(n.release.bundlePath,"source"),[s,i]=await Promise.all([w.readFile(c.join(r,"workflows","catalog.json")),w.readFile(c.join(r,"workflows","actions.json"))]),{catalog:t,catalogHash:l,actions:f}=m({agentSnapshot:n.release.agentSnapshot,harnessRelease:n.release.harnessRelease,catalogBytes:s,actionBytes:i});return{runtime:n,catalog:t,catalogHash:l,actions:f}}a(p,"loadLocalProfileWorkflowCatalog");export{H as a,N as b,W as c,T as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{t as h}from"./chunk-
|
|
2
|
+
import{t as h}from"./chunk-TUCKED4T.js";import{m as f}from"./chunk-VVNV4NNW.js";import{A as e}from"./chunk-PF56N7ZY.js";import{a as m}from"./chunk-FTQLQJQV.js";var g=e.object({schemaVersion:e.literal("openpond.profileWorkCompletion.v1"),sessionId:e.string().min(1),turnId:e.string().min(1),responsePath:e.string().min(1),responseSha256:e.string().regex(/^[a-f0-9]{64}$/),responseBytes:e.number().int().min(1).max(1048576),responseChunks:e.array(e.string().max(65536)).min(1).max(32),outputs:e.array(e.object({id:e.string(),revision:e.number().int(),sha256:e.string(),sizeBytes:e.number().int(),contentType:e.string(),sourceTaskId:e.string(),sourceTurnId:e.string(),title:e.string()}).strict()).min(1).max(100)}).strict();function W(s){let u=new TextDecoder("utf-8",{fatal:!0}).decode(s.response),i=[];for(let r=0;r<u.length;r+=65536)i.push(u.slice(r,r+65536));return g.parse({schemaVersion:"openpond.profileWorkCompletion.v1",sessionId:s.sessionId,turnId:s.turnId,responsePath:s.responsePath,responseSha256:f(s.response),responseBytes:s.response.length,responseChunks:i,outputs:s.outputs.map(({id:r,revision:t,sha256:a,sizeBytes:p,contentType:c,sourceTaskId:o,sourceTurnId:d,title:n})=>({id:r,revision:t,sha256:a,sizeBytes:p,contentType:c,sourceTaskId:o,sourceTurnId:d,title:n}))})}m(W,"createProfileWorkCompletion");function _(s){let u=s.filter(o=>o.name==="tool.completed"&&o.action==="work_finish"&&o.status==="completed");if(!u.length)return null;if(u.length!==1)throw new Error("The case has multiple Work completion receipts.");let i=u[0],r=i.data,t=g.parse(r?.result);if(t.sessionId!==i.sessionId||t.turnId!==i.turnId)throw new Error("Work completion belongs to another case or turn.");let a=t.responseChunks.join(""),p=Buffer.from(a,"utf8");if(p.length!==t.responseBytes||f(p)!==t.responseSha256)throw new Error("Work completion response differs from its sealed content.");if(new Set(t.outputs.map(o=>`${o.id}/${o.revision}`)).size!==t.outputs.length)throw new Error("Work completion repeats a saved output.");let c=s.slice(0,s.indexOf(i));for(let o of t.outputs){if(o.sourceTaskId!==t.sessionId||o.sourceTurnId!==t.turnId)throw new Error("Work completion output belongs to another case or turn.");if(c.filter(n=>n.name==="workspace_action_result"&&n.action==="work_output_save"&&n.status==="completed"&&n.sessionId===t.sessionId&&n.turnId===t.turnId).flatMap(n=>{let l=h.safeParse(n.data?.outputRef);return l.success&&Object.entries(o).every(([k,I])=>l.data[k]===I)?[l.data]:[]}).length!==1)throw new Error("Work completion lacks an exact prior saved-output receipt.")}return a}m(_,"completedProfileWorkResponse");export{W as a,_ as b};
|