openpond 0.2.61 → 0.2.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/app-server.d.ts +4713 -477
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-FUAWCKBH.js → acp-H3MJCPHX.js} +1 -1
- package/dist/chunks/{acp-agent-XBSJ27KI.js → acp-agent-DWA7272M.js} +1 -1
- package/dist/chunks/actions-command-IIYOO4LL.js +2 -0
- package/dist/chunks/{app-layer-4BFMOMKM.js → app-layer-K7H2WJ56.js} +1 -1
- package/dist/chunks/app-server-connected-apps-RM5E2VWF.js +2 -0
- package/dist/chunks/{app-server-evaluations-HAAYVEXB.js → app-server-evaluations-XGMGS67X.js} +1 -1
- package/dist/chunks/app-server-harness-services-BHD6S5II.js +2 -0
- package/dist/chunks/app-server-runtime-LFIL6F7D.js +2 -0
- package/dist/chunks/apps-QKAHJGQ4.js +2 -0
- package/dist/chunks/chunk-25XXZS3E.js +2 -0
- package/dist/chunks/chunk-27JGS3KB.js +12 -0
- package/dist/chunks/{chunk-KK626T3Z.js → chunk-2EPR4HLF.js} +1 -1
- package/dist/chunks/{chunk-HN2ZK6EV.js → chunk-2HAWOMZK.js} +1 -1
- package/dist/chunks/chunk-2LJCJOJ7.js +2 -0
- package/dist/chunks/{chunk-BDCTN4PU.js → chunk-2V4LPUBH.js} +1 -1
- package/dist/chunks/{chunk-CN5OXQ7A.js → chunk-3YXYBYWK.js} +1 -1
- package/dist/chunks/{chunk-LHENAWLH.js → chunk-42V4NV2F.js} +1 -1
- package/dist/chunks/{chunk-DW3GJRY3.js → chunk-4FNCBA3Y.js} +1 -1
- package/dist/chunks/{chunk-TXBIZDXG.js → chunk-4L6DU6Z2.js} +1 -1
- package/dist/chunks/{chunk-BFKYRQMA.js → chunk-4N4EH3RJ.js} +1 -1
- package/dist/chunks/{chunk-MLTKB5G3.js → chunk-4SZ3HKHU.js} +1 -1
- package/dist/chunks/{chunk-SCCYSPQ5.js → chunk-4ZBOYWQ3.js} +1 -1
- package/dist/chunks/chunk-5EP2DZLJ.js +2 -0
- package/dist/chunks/chunk-5FU5RLML.js +2 -0
- package/dist/chunks/{chunk-TH6Y4K5Z.js → chunk-5MHYGMJG.js} +1 -1
- package/dist/chunks/chunk-6EBCS57F.js +2 -0
- package/dist/chunks/chunk-6RS4NAOY.js +2 -0
- package/dist/chunks/chunk-6XSSM4WT.js +3 -0
- package/dist/chunks/{chunk-NVHZRKXB.js → chunk-7HRLWPPZ.js} +1 -1
- package/dist/chunks/chunk-7O6Z3VOZ.js +2 -0
- package/dist/chunks/{chunk-BQUWZRWU.js → chunk-7WYL2IDD.js} +1 -1
- package/dist/chunks/chunk-7YLXGILH.js +2 -0
- package/dist/chunks/chunk-7ZLXFKRI.js +2 -0
- package/dist/chunks/{chunk-M6JRS5PA.js → chunk-ABF3W2MO.js} +1 -1
- package/dist/chunks/{chunk-TTN63EAM.js → chunk-AH26AQN7.js} +1 -1
- package/dist/chunks/chunk-AHOBCBVZ.js +2 -0
- package/dist/chunks/chunk-AZ7BL5FL.js +2 -0
- package/dist/chunks/{chunk-3DVWJCOA.js → chunk-B4RKHHF7.js} +1 -1
- package/dist/chunks/chunk-B5R53U74.js +2 -0
- package/dist/chunks/chunk-BKEDG3A4.js +22 -0
- package/dist/chunks/{chunk-CO3OJFPU.js → chunk-BPZOABMC.js} +1 -1
- package/dist/chunks/{chunk-5VPU7OS7.js → chunk-BSPFY3Y5.js} +1 -1
- package/dist/chunks/{chunk-U4HZD2GM.js → chunk-BU27SLZP.js} +2 -2
- package/dist/chunks/chunk-C2AXMKK4.js +2 -0
- package/dist/chunks/{chunk-SIV5P6JO.js → chunk-C2LAEGOW.js} +2 -2
- package/dist/chunks/{chunk-ORLJJGZZ.js → chunk-CZ5R4JXZ.js} +1 -1
- package/dist/chunks/{chunk-D4JZALZ4.js → chunk-DABBHWSF.js} +1 -1
- package/dist/chunks/{chunk-ROE24PN5.js → chunk-DLANLLKH.js} +1 -1
- package/dist/chunks/{chunk-57RY3LSR.js → chunk-DQI5TE6A.js} +2 -2
- package/dist/chunks/chunk-DTTFUANI.js +12 -0
- package/dist/chunks/{chunk-VBW2X42G.js → chunk-DUL6DXOI.js} +1 -1
- package/dist/chunks/{chunk-OQUKSRU3.js → chunk-ELX7VRSU.js} +1 -1
- package/dist/chunks/chunk-ERL2M773.js +3 -0
- package/dist/chunks/chunk-ERT32RZA.js +86 -0
- package/dist/chunks/{chunk-RPOD6I64.js → chunk-EZRUWIP6.js} +1 -1
- package/dist/chunks/{chunk-MCIIGQT7.js → chunk-F6UQ6PPK.js} +1 -1
- package/dist/chunks/chunk-F7QTIHXX.js +2 -0
- package/dist/chunks/chunk-FAKDGLZQ.js +8 -0
- package/dist/chunks/{chunk-BWY4D3BN.js → chunk-FVRII5XO.js} +1 -1
- package/dist/chunks/{chunk-GEXKTGLY.js → chunk-FYYYECHE.js} +50 -48
- package/dist/chunks/chunk-G32BO6M5.js +4 -0
- package/dist/chunks/{chunk-TSAW2QVU.js → chunk-G6OR5NB6.js} +1 -1
- package/dist/chunks/{chunk-65SM7Y2G.js → chunk-GGJUWIGR.js} +1 -1
- package/dist/chunks/{chunk-Q66LWQGF.js → chunk-GPL2Z65R.js} +1 -1
- package/dist/chunks/{chunk-LNRFRAV5.js → chunk-GS6ZUSIN.js} +2 -2
- package/dist/chunks/{chunk-OFVUN4KI.js → chunk-GVARQXYI.js} +1 -1
- package/dist/chunks/chunk-GXCUH2VV.js +17 -0
- package/dist/chunks/{chunk-IUGK6BBY.js → chunk-GXZCMO6S.js} +1 -1
- package/dist/chunks/{chunk-CLFYRN46.js → chunk-H6C4MAUN.js} +1 -1
- package/dist/chunks/{chunk-SGK4GR44.js → chunk-HFJUXKT5.js} +1 -1
- package/dist/chunks/{chunk-I3W27VK4.js → chunk-HUCBKXTU.js} +1 -1
- package/dist/chunks/{chunk-P4XM7LUT.js → chunk-IHB5GTOJ.js} +2 -2
- package/dist/chunks/{chunk-U447MS3Y.js → chunk-IWWXIUAQ.js} +1 -1
- package/dist/chunks/chunk-J572ANHX.js +13 -0
- package/dist/chunks/{chunk-CGAL7IHZ.js → chunk-J7ZTPXRQ.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-ELYRVTTG.js → chunk-JORRZ4BB.js} +1 -1
- package/dist/chunks/{chunk-H2AUR7OT.js → chunk-JQRMDFF3.js} +1 -1
- package/dist/chunks/chunk-JSQRLLN6.js +2 -0
- package/dist/chunks/chunk-KCOTDUGW.js +2 -0
- package/dist/chunks/{chunk-NK4JKB7C.js → chunk-KHTAAVC2.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-MHYI7ATG.js → chunk-LK2K3SPM.js} +2 -2
- package/dist/chunks/{chunk-FJ3HMHT6.js → chunk-LKKMLBOH.js} +1 -1
- package/dist/chunks/{chunk-BNZTJPK7.js → chunk-LSZJ5M3X.js} +1 -1
- package/dist/chunks/chunk-M3FLEZ4E.js +4 -0
- package/dist/chunks/{chunk-4LZLO4OW.js → chunk-M3SCON53.js} +1 -1
- package/dist/chunks/{chunk-VPDG2V2R.js → chunk-MEGKXGW3.js} +1 -1
- package/dist/chunks/{chunk-TYHCBVQT.js → chunk-MILEWROZ.js} +1 -1
- package/dist/chunks/chunk-MPNJ2BB4.js +2 -0
- package/dist/chunks/{chunk-VFLSBDNZ.js → chunk-N33D7KCW.js} +1 -1
- package/dist/chunks/chunk-N42HT64M.js +2 -0
- package/dist/chunks/{chunk-L3GA2CQI.js → chunk-N4VHLJBZ.js} +1 -1
- package/dist/chunks/chunk-NEJLJ2XY.js +2 -0
- package/dist/chunks/chunk-NG2L6D7G.js +2 -0
- package/dist/chunks/{chunk-7EAWLYYB.js → chunk-NLYZ5K7U.js} +2 -2
- package/dist/chunks/{chunk-B47JMAVW.js → chunk-NT7N6KLE.js} +1 -1
- package/dist/chunks/{chunk-6MWT6BVU.js → chunk-NWQL6FNF.js} +1 -1
- package/dist/chunks/{chunk-PAZDQRYU.js → chunk-NZTCH6K5.js} +1 -1
- package/dist/chunks/{chunk-CQF6QZEL.js → chunk-OG33QAG6.js} +1 -1
- package/dist/chunks/chunk-OTUBJV6C.js +6 -0
- package/dist/chunks/{chunk-TMMFF6DO.js → chunk-PBTXLQAU.js} +1 -1
- package/dist/chunks/chunk-Q34IF4PW.js +2 -0
- package/dist/chunks/{chunk-I3X6M6ZO.js → chunk-QJ6KUVAR.js} +1 -1
- package/dist/chunks/{chunk-SID4X3YN.js → chunk-QU4UE73E.js} +1 -1
- package/dist/chunks/{chunk-I7JCARVH.js → chunk-R6VJDOQM.js} +3 -3
- package/dist/chunks/{chunk-6RVF2J47.js → chunk-R6WMY6AH.js} +1 -1
- package/dist/chunks/{chunk-ZUNG6YDO.js → chunk-RDSVU6F6.js} +1 -1
- package/dist/chunks/{chunk-R4PDSOB4.js → chunk-RFMME46Z.js} +1 -1
- package/dist/chunks/{chunk-GQUS7MCH.js → chunk-RZUCVF2Q.js} +1 -1
- package/dist/chunks/chunk-SFKZITAG.js +9 -0
- package/dist/chunks/{chunk-MF35MALN.js → chunk-SHJY5RLU.js} +1 -1
- package/dist/chunks/chunk-SI5W5LBV.js +2 -0
- package/dist/chunks/chunk-SO42ZB5K.js +2 -0
- package/dist/chunks/{chunk-TNHDD3LO.js → chunk-SXMR6E2W.js} +1 -1
- package/dist/chunks/{chunk-OMICIPPY.js → chunk-T6JN4PND.js} +1 -1
- package/dist/chunks/{chunk-ZISYLRH6.js → chunk-TCOTXCV6.js} +1 -1
- package/dist/chunks/{chunk-QCSLEMZF.js → chunk-U2K7QJCG.js} +1 -1
- package/dist/chunks/{chunk-ISIXFK6U.js → chunk-UH4JSSRL.js} +28 -28
- package/dist/chunks/chunk-UPWJSNL5.js +2 -0
- package/dist/chunks/chunk-URNMC46H.js +157 -0
- package/dist/chunks/{chunk-OJFDI7VM.js → chunk-UTNGEMW5.js} +1 -1
- package/dist/chunks/{chunk-WFVOG5PU.js → chunk-V7KR74NO.js} +1 -1
- package/dist/chunks/{chunk-QDBYLJGH.js → chunk-VHXDWAEH.js} +1 -1
- package/dist/chunks/{chunk-VZXZ6CHS.js → chunk-W2TICQ62.js} +1 -1
- package/dist/chunks/{chunk-QRJPLZF7.js → chunk-W5W4IODW.js} +1 -1
- package/dist/chunks/chunk-WP2L2NY2.js +2 -0
- package/dist/chunks/chunk-WSOUMXH3.js +24 -0
- package/dist/chunks/chunk-WWQNMC7C.js +6 -0
- package/dist/chunks/chunk-XMHIQ3SK.js +5 -0
- package/dist/chunks/{chunk-5MTN6KXV.js → chunk-XNOMIWEY.js} +1 -1
- package/dist/chunks/{chunk-T4LLJC5N.js → chunk-XOB6FKQV.js} +1 -1
- package/dist/chunks/chunk-Y766IN7Y.js +2 -0
- package/dist/chunks/chunk-YCZZ62C2.js +2 -0
- package/dist/chunks/chunk-YM4PSVFW.js +4 -0
- package/dist/chunks/chunk-YNQWJWIC.js +10 -0
- package/dist/chunks/{chunk-LBBXVOVR.js → chunk-Z3BWCFLV.js} +1 -1
- package/dist/chunks/{chunk-WRQEYW3V.js → chunk-ZG6353RM.js} +1 -1
- package/dist/chunks/{chunk-PE7UKJXK.js → chunk-ZPTKR3GB.js} +1 -1
- package/dist/chunks/{chunk-2VXL6AU3.js → chunk-ZYVHOVKL.js} +1 -1
- package/dist/chunks/chunk-ZZHXQCNB.js +22 -0
- package/dist/chunks/cli-PSXMIJTF.js +2 -0
- package/dist/chunks/{configuration-command-ONGI2BJD.js → configuration-command-XYKMXIWF.js} +1 -1
- package/dist/chunks/connected-app-executor-6G2LA3PQ.js +2 -0
- package/dist/chunks/connected-evidence-IRXYN6YD.js +2 -0
- package/dist/chunks/{connected-starting-assets-OXLT7S4O.js → connected-starting-assets-JONPTII6.js} +1 -1
- package/dist/chunks/{connection-HJWE6SEW.js → connection-XMAAGMXJ.js} +1 -1
- package/dist/chunks/{continual-CJUZM5ZQ.js → continual-Z7MO2PF6.js} +1 -1
- package/dist/chunks/core-commands-WWN7X3XC.js +2 -0
- package/dist/chunks/dataset-preparation-authoring-F3OZIQSP.js +4 -0
- package/dist/chunks/datasets-2PC2HP7N.js +2 -0
- package/dist/chunks/desktop-test-VU6AFAMO.js +3 -0
- package/dist/chunks/dist-47AYOIH6.js +2 -0
- package/dist/chunks/{dist-X64FC6NA.js → dist-HSC43RG4.js} +1 -1
- package/dist/chunks/{dist-DCSLPBO2.js → dist-MXBEBM4D.js} +1 -1
- package/dist/chunks/evaluation-coordination-UOWZHHC5.js +2 -0
- package/dist/chunks/experiment-improvements-EB2CV5RA.js +2 -0
- package/dist/chunks/experiments-SZQYR6MH.js +2 -0
- package/dist/chunks/experiments-signal-2KJCP25D.js +2 -0
- package/dist/chunks/{extension-C33NUFDL.js → extension-ZM6NI5O5.js} +1 -1
- package/dist/chunks/{help-M2VQGPVC.js → help-7HXFWIKS.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-Y2LQ4WQN.js +2 -0
- package/dist/chunks/host-profile-external-dataset-FRIGXOO7.js +2 -0
- package/dist/chunks/hosted-app-server-composition-PGKQNDW6.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-UXC542SZ.js +3 -0
- package/dist/chunks/hosted-harness-runtime-6PEI7F2U.js +2 -0
- package/dist/chunks/hosted-profile-candidate-HM44BIUX.js +3 -0
- package/dist/chunks/hosted-profile-compiler-UAZ4PHYE.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-EUL57FAB.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-7USY75Z4.js +3 -0
- package/dist/chunks/{hosted-profile-evaluation-preparation-ZAOGDQXO.js → hosted-profile-evaluation-preparation-2LSMZQNA.js} +1 -1
- package/dist/chunks/{hosted-tasksets-CVUP7MS6.js → hosted-tasksets-WGXGXJ7E.js} +1 -1
- package/dist/chunks/human-review-M26UKGJL.js +2 -0
- package/dist/chunks/{import-WLLUIDS6.js → import-6SI4BEKS.js} +2 -2
- package/dist/chunks/learning-HM3NWOV5.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-QGWFWNSR.js +2 -0
- package/dist/chunks/local-harness-taskset-review-KS4WPMN6.js +2 -0
- package/dist/chunks/model-projects-YUAMBQTO.js +2 -0
- package/dist/chunks/opchat-AG4CWVY4.js +3 -0
- package/dist/chunks/opchat-bounded-chat-IQMP5IIO.js +2 -0
- package/dist/chunks/organizations-KDKX77XZ.js +2 -0
- package/dist/chunks/{profile-JRS3JNRC.js → profile-O5HL5DTQ.js} +1 -1
- package/dist/chunks/project-action-payload-QA24HYGF.js +2 -0
- package/dist/chunks/project-agent-XBOOM5TS.js +2 -0
- package/dist/chunks/published-experiment-source-GZGN354O.js +2 -0
- package/dist/chunks/refiner-profile-service-BJMOYKTC.js +2 -0
- package/dist/chunks/{runtime-CBJF5GMB.js → runtime-XBA744HJ.js} +2 -2
- package/dist/chunks/sandbox-command-5ECGS7DG.js +2 -0
- package/dist/chunks/{sandbox-template-FTANKQIA.js → sandbox-template-27U3FQN7.js} +1 -1
- package/dist/chunks/saved-work-KUNVTJ7O.js +2 -0
- package/dist/chunks/{send-turn-5UB7ZBJV.js → send-turn-FIPWOXWV.js} +1 -1
- package/dist/chunks/src-BLWX6DRG.js +424 -0
- package/dist/chunks/{src-4YZF6L6H.js → src-PU7QTFO5.js} +1 -1
- package/dist/chunks/standalone-experiment-turn-owner-XIE46VNH.js +2 -0
- package/dist/chunks/store-chat-resources-YOEJ2BI6.js +2 -0
- package/dist/chunks/{store-continual-support-reviews-GWI2FRII.js → store-continual-support-reviews-FOMYYS25.js} +1 -1
- package/dist/chunks/{store-conversation-serving-637AHKBP.js → store-conversation-serving-K324SQTO.js} +1 -1
- package/dist/chunks/{store-create-improve-ZG653Z63.js → store-create-improve-3LQMIYAP.js} +1 -1
- package/dist/chunks/{store-datasets-IW6F2QZM.js → store-datasets-3KSX7RSO.js} +1 -1
- package/dist/chunks/store-evaluation-results-LHCCNNE6.js +7 -0
- package/dist/chunks/{store-harness-evaluation-review-settings-I2R3HPO3.js → store-harness-evaluation-review-settings-AAN7KKJ5.js} +1 -1
- package/dist/chunks/{store-harness-refinement-candidates-SUT45FQX.js → store-harness-refinement-candidates-3PHL3BUY.js} +1 -1
- package/dist/chunks/store-harness-workspaces-ZHNCNWVI.js +2 -0
- package/dist/chunks/store-human-review-QJY3ZPPF.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-X32SRBOM.js +2 -0
- package/dist/chunks/{store-learning-MFS4DGQR.js → store-learning-DW3QLQXU.js} +1 -1
- package/dist/chunks/{store-learning-credentials-BECWEG2Y.js → store-learning-credentials-67QNTPA7.js} +1 -1
- package/dist/chunks/{store-local-experiments-A2UWYPVQ.js → store-local-experiments-QTVHJAEP.js} +1 -1
- package/dist/chunks/store-model-batch-review-PBYQZJJJ.js +2 -0
- package/dist/chunks/store-model-configuration-3SU73CMS.js +3 -0
- package/dist/chunks/store-model-project-preparation-TFCG2F2F.js +2 -0
- package/dist/chunks/store-ponder-history-WDLMXBIJ.js +2 -0
- package/dist/chunks/store-ponder-hosted-DX6E2BVW.js +4 -0
- package/dist/chunks/{store-preference-comparison-HTOXLWKF.js → store-preference-comparison-DWV5XSMY.js} +1 -1
- package/dist/chunks/{store-schedules-QVWT7AEB.js → store-schedules-2KUY4T6M.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-G5Z6NZWL.js → store-sidebar-file-bookmarks-A4XCS7RM.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-27FFMUWU.js → store-sidebar-preferences-V2PKRXUZ.js} +1 -1
- package/dist/chunks/{store-subagents-PK7ZWLPR.js → store-subagents-UGVEFA6M.js} +1 -1
- package/dist/chunks/store-task-inbox-QABI4ZAH.js +33 -0
- package/dist/chunks/{store-task-inventory-IG6HGWSQ.js → store-task-inventory-GEQIZELY.js} +1 -1
- package/dist/chunks/store-taskset-drafts-GXABQR5G.js +9 -0
- package/dist/chunks/{store-training-NQRRPKEZ.js → store-training-CQV7PL3V.js} +1 -1
- package/dist/chunks/{store-training-jobs-F6Y2ZTXP.js → store-training-jobs-XKN6K66J.js} +18 -10
- package/dist/chunks/{store-training-models-NRSLSBEW.js → store-training-models-Q7DTTR4S.js} +1 -1
- package/dist/chunks/{store-usage-GFHQYT34.js → store-usage-XGAX7NLB.js} +1 -1
- package/dist/chunks/{taskset-NYLUYX6K.js → taskset-ARKJQKYQ.js} +1 -1
- package/dist/chunks/taskset-packages-X4K65DTW.js +2 -0
- package/dist/chunks/taskset-packages-XK7FSD45.js +2 -0
- package/dist/chunks/{teams-bot-FMAEDGSD.js → teams-bot-UTQAJA6H.js} +1 -1
- package/dist/chunks/training-3IWW4256.js +2 -0
- package/dist/chunks/{training-UBX6E7SK.js → training-RVIESURJ.js} +1 -1
- package/dist/chunks/training-error-2EWDOQ4G.js +2 -0
- package/dist/chunks/training-hosted-PFJHYTEU.js +2 -0
- package/dist/chunks/training-hosted-checkpoint-evaluation-JJPP7KFW.js +2 -0
- package/dist/chunks/training-hosted-feedback-5B2KJGOT.js +2 -0
- package/dist/chunks/training-hosted-learning-Y7NHRY4V.js +2 -0
- package/dist/chunks/training-hosted-report-UVGTPDOK.js +2 -0
- package/dist/chunks/training-hosted-serving-QAV7ZGGV.js +2 -0
- package/dist/chunks/training-hosted-serving-report-OX4A5OKB.js +2 -0
- package/dist/chunks/training-hosted-workers-LST4ZUXN.js +2 -0
- package/dist/chunks/training-model-start-ROLS3E4V.js +2 -0
- package/dist/chunks/training-project-preparation-XWGRY5ME.js +3 -0
- package/dist/chunks/{web-search-Q4OQVUNH.js → web-search-7FBUBZ66.js} +1 -1
- package/dist/chunks/{workspaces-XREEVSTS.js → workspaces-G3CMY7ZA.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/sandbox/url.d.ts +3 -1
- package/dist/skills/LICENSE +21 -0
- package/dist/skills/manifest.json +168 -0
- package/dist/skills/openpond-agent-authoring/SKILL.md +9 -3
- package/dist/skills/openpond-agent-authoring/references/profile-layout.md +1 -1
- package/dist/skills/openpond-agent-authoring/references/validation-and-repair.md +2 -2
- package/dist/skills/openpond-cli/SKILL.md +24 -7
- 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 +156 -11
- package/dist/skills/openpond-refiner-authoring/SKILL.md +4 -0
- package/dist/skills/openpond-skill-authoring/SKILL.md +5 -1
- 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-DY2R8Z6r.js +53 -0
- package/dist/web/assets/App-DpFKLxuA.css +1 -0
- package/dist/web/assets/AppDialog-8Y0FYalT.js +1 -0
- package/dist/web/assets/AppTerminalPanel-YcnBD5DF.js +2 -0
- package/dist/web/assets/{AppToastContext-BB_2hRfw.js → AppToastContext-BiQbbVxq.js} +1 -1
- package/dist/web/assets/AppsView-Dtte4h6e.js +1 -0
- package/dist/web/assets/{AttachmentTypeIcon-DOAsVQjt.js → AttachmentTypeIcon-DgADV7dn.js} +1 -1
- package/dist/web/assets/BrowserSidebar-BUqDvEv9.js +1 -0
- package/dist/web/assets/{CartesianChart-DO76yfJb.js → CartesianChart-J4ChOjvG.js} +1 -1
- package/dist/web/assets/ChatTimelineEntry-DC93wlDa.js +8 -0
- package/dist/web/assets/ChatTimelineEntry-DztFb85D.css +1 -0
- package/dist/web/assets/{CollaborationTabs-DNoknVMD.js → CollaborationTabs-CFCpk2Ck.js} +1 -1
- package/dist/web/assets/CommandMenu-EPPjB14H.js +1 -0
- package/dist/web/assets/CommunityView-Okydjpqm.js +1 -0
- package/dist/web/assets/ComposerAttachments-RXCiE88M.js +2 -0
- package/dist/web/assets/ComposerCreateImproveStrip-CSngc8-V.js +1 -0
- package/dist/web/assets/ConversationImportsSettings-DS73kyfj.js +1 -0
- package/dist/web/assets/FilePagePreview-Qc4B0vue.js +2 -0
- package/dist/web/assets/GetStartedView-DGFPQ1We.js +1 -0
- package/dist/web/assets/GettingStartedDialog-DFBYQdHz.js +1 -0
- package/dist/web/assets/GettingStartedDialog-EsH-8Diz.css +1 -0
- package/dist/web/assets/{HostedModelLearningReview-B0rbIVvn.js → HostedModelLearningReview-BDu3FlcU.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-CHaTHwC8.js +1 -0
- package/dist/web/assets/HtmlVisual-C7GlEVfH.css +1 -0
- package/dist/web/assets/HtmlVisual-D9Mh7xds.js +81 -0
- package/dist/web/assets/LabModelVersionDetailPage-DgY7lAu5.js +1 -0
- package/dist/web/assets/LabSkillSidebar-BwtlThO7.js +1 -0
- package/dist/web/assets/LabsRoute-BV7ZJGEw.js +101 -0
- package/dist/web/assets/MainChatThread-pzHKd_YN.js +2 -0
- package/dist/web/assets/MainPane-6OlLiKKb.js +10 -0
- package/dist/web/assets/MainPane-Dje-hfUM.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-3eR9D_R3.css +1 -0
- package/dist/web/assets/NativeSetupTerminal-CPDChcMi.js +2 -0
- package/dist/web/assets/NativeSkillSidebar-BEJvt5_H.js +1 -0
- package/dist/web/assets/NewProjectDialog-CjrjgkTN.js +1 -0
- package/dist/web/assets/OutputsPage-jzx93QQ3.js +1 -0
- package/dist/web/assets/{PageChrome-BBnWAENV.js → PageChrome-C1M13qG2.js} +1 -1
- package/dist/web/assets/ProjectsPage-DZrjlMp2.js +1 -0
- package/dist/web/assets/RightChatPanelStack-BsxJg9sy.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CCVQ9LMB.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-Cw1ja2GF.js +1 -0
- package/dist/web/assets/{SettingsView-Y8f98GSE.css → SettingsView-Cc0376pY.css} +1 -1
- package/dist/web/assets/SettingsView-CckoIki3.js +5 -0
- package/dist/web/assets/TasksetDraftEditorPrimitives-ByC8bDjp.js +1 -0
- package/dist/web/assets/TeamChatView-OprnSKLF.js +1 -0
- package/dist/web/assets/TerminalOverlay-d7A2F9Lx.js +16 -0
- package/dist/web/assets/TrainingCreationPanel-Cyn6R6I6.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-HznyNCJ4.js → TrainingDraftPanel-Mpb5e7t5.js} +1 -1
- package/dist/web/assets/TrainingRunLineage-PXzWR65d.css +1 -0
- package/dist/web/assets/TrainingRunLineage-VcKz7dIR.js +1 -0
- package/dist/web/assets/{UsageSettingsSection-C3oZ1UEP.js → UsageSettingsSection-FhYymrfc.js} +2 -2
- package/dist/web/assets/WorkSidebarPanel-u87uptH0.js +1 -0
- package/dist/web/assets/WorkspaceDiffPanel-B5rlW7bA.js +11 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-C8y3537a.js +35 -0
- package/dist/web/assets/WorkspaceFileLocation-LrEWj4UK.js +1 -0
- package/dist/web/assets/WorkspaceGitDialogs-NRIMXnkS.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-DfsL1WIi.js → WorkspaceMonacoEditor-CvDGjKAL.js} +3 -3
- package/dist/web/assets/WorkspacePdfPreview-BZ0BbnHv.js +2 -0
- package/dist/web/assets/{WorkspacePresentationPreview-WuS_B45u.js → WorkspacePresentationPreview-DJrjrvT0.js} +1 -1
- package/dist/web/assets/app-models-CUA9XB9U.js +1 -0
- package/dist/web/assets/bot-6OhUEmkE.js +1 -0
- package/dist/web/assets/browser-sidebar-links-ZyYiYBBd.js +1 -0
- package/dist/web/assets/chat-resources-CI8KFVO5.js +1 -0
- package/dist/web/assets/{chevron-down-Bnma8EMP.js → chevron-down-jmVA1BIf.js} +1 -1
- package/dist/web/assets/chevron-right-BYmDQ7ti.js +1 -0
- package/dist/web/assets/chevron-up-CstyLXH3.js +1 -0
- package/dist/web/assets/{chunk-GAIDBPFY-BLuHpurI.js → chunk-ONGOAEY6-C__DQmRT.js} +5 -5
- package/dist/web/assets/{chunk-24N6A6SF-BUjzKvRC.js → chunk-SQBYHWZU-DumrB9SB.js} +1 -1
- package/dist/web/assets/{client-choice-storage-BuNdhYSV.js → client-choice-storage-BdQ_YDuk.js} +1 -1
- package/dist/web/assets/{cloud-upload-DOftANif.js → cloud-upload-Ck1ufAr8.js} +1 -1
- package/dist/web/assets/connected-app-mentions-D3wRZLwI.js +1 -0
- package/dist/web/assets/contracts-BLiqJxBv.js +1 -0
- package/dist/web/assets/copy-CPkbMfXt.js +1 -0
- package/dist/web/assets/{createLucideIcon-C4b2afqG.js → createLucideIcon-CXQny8HU.js} +1 -1
- package/dist/web/assets/{cssMode-0Hn7tCrE.js → cssMode-CYxYl_om.js} +1 -1
- package/dist/web/assets/external-link-CDKOLG_v.js +1 -0
- package/dist/web/assets/{folder-open-wJwCoIDs.js → folder-open-CEtOb_lK.js} +1 -1
- package/dist/web/assets/{folder-plus-DnTN6mcP.js → folder-plus-CVMYZs3e.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-98y7PP6G.js → git-commit-horizontal-DDyhPjxS.js} +1 -1
- package/dist/web/assets/{htmlMode-JO_QluNH.js → htmlMode-DoY4V_j0.js} +1 -1
- package/dist/web/assets/icons-D7jkCa2d.js +1 -0
- package/dist/web/assets/{image-C7HVlg3X.js → image-B-PjDSwU.js} +1 -1
- package/dist/web/assets/{index-BsPUniZy.js → index-D9WbJMSq.js} +2 -2
- package/dist/web/assets/index-g7UqJhnX.css +1 -0
- package/dist/web/assets/{info-BLWDShaz.js → info-CCnw-K3b.js} +1 -1
- package/dist/web/assets/intake-contracts-BW0Y0C2R.js +1 -0
- package/dist/web/assets/{jsonMode-BfTXJted.js → jsonMode-CeOpZdPj.js} +1 -1
- package/dist/web/assets/loader-circle-CPaJeTDy.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-68cAgnuv.js → lspLanguageFeatures-DAbgLCqZ.js} +1 -1
- package/dist/web/assets/{maximize-2-DUWvLap6.js → maximize-2-BZX38cpr.js} +1 -1
- package/dist/web/assets/message-square-CvgSecgD.js +1 -0
- package/dist/web/assets/{monaco.contribution-_3aU1TTb.js → monaco.contribution-CF2JDhi4.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CWeY6ia1.js → monaco.contribution-cbDqt48m.js} +2 -2
- package/dist/web/assets/{monaco.contribution-h8U8HXFT.js → monaco.contribution-m2ze2EsL.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DOiiDDen.js → monaco.contribution-yeyow_-Q.js} +2 -2
- package/dist/web/assets/{monitor-B6OuAu13.js → monitor-By0s4hxb.js} +1 -1
- package/dist/web/assets/{paperclip-DSHxP9CY.js → paperclip-BJ2QgJLa.js} +1 -1
- package/dist/web/assets/{pdf-RXlFwNte.js → pdf-C4x-1jjP.js} +1 -1
- package/dist/web/assets/pdf.worker.min-BrEVksTu.js +1 -0
- package/dist/web/assets/play-D_SuGDBM.js +1 -0
- package/dist/web/assets/plus-yw95Iaj8.js +1 -0
- package/dist/web/assets/{presentation-C9WnPDVr.js → presentation-I86G1Gd9.js} +1 -1
- package/dist/web/assets/profile-agent-labels-Duh96b8x.js +1 -0
- package/dist/web/assets/{python-BQXo7wMt.js → python-CqFTPj8r.js} +1 -1
- package/dist/web/assets/{refresh-cw-NXOER_CD.js → refresh-cw-Dga35Eay.js} +1 -1
- package/dist/web/assets/requests-BCbaFiqV.js +1 -0
- package/dist/web/assets/{reward-checks-5AOStF27.js → reward-checks-Bcq9ETCA.js} +1 -1
- package/dist/web/assets/{save-BxXc21N6.js → save-BLKjYtzR.js} +1 -1
- package/dist/web/assets/settings-D7C-Auyi.js +21 -0
- package/dist/web/assets/settings-lists-DMKA1lCN.js +5 -0
- package/dist/web/assets/square-BY5lG2Ol.js +1 -0
- package/dist/web/assets/square-terminal-B-n7vUex.js +1 -0
- package/dist/web/assets/submit-issue-command-B7Hrt2tU.js +3 -0
- package/dist/web/assets/{toggleHighContrast-Di1cRuQ4.js → toggleHighContrast-BhmBE5XE.js} +1 -1
- package/dist/web/assets/training-QrdkRQZQ.js +2 -0
- package/dist/web/assets/{training-model-data-CmVo80ZR.js → training-model-data-DB-jg6L_.js} +12 -12
- package/dist/web/assets/{tsMode-PxisJRYB.js → tsMode-BSWEII2p.js} +1 -1
- package/dist/web/assets/ui-theme.generated-D-mc26qt.js +144 -0
- package/dist/web/assets/{upload-NXasN1wU.js → upload-C4MPhQn8.js} +1 -1
- package/dist/web/assets/{useAccountSettings-Dqqt1vUY.js → useAccountSettings-9oqWdRLs.js} +1 -1
- package/dist/web/assets/useAgentInventory-isO79ui9.js +1 -0
- package/dist/web/assets/{useLocalAgentSchedules-Cc0M_qax.js → useLocalAgentSchedules-CZX6PxoK.js} +1 -1
- package/dist/web/assets/{useQuery-ByaRC9SK.js → useQuery-BD0Uexmh.js} +1 -1
- package/dist/web/assets/{wifi-off-aVJ3AvT_.js → wifi-off-Cloe0WuQ.js} +1 -1
- package/dist/web/assets/{workers-u92Boudu.js → workers-BXagz5eg.js} +1 -1
- package/dist/web/assets/x-Dqpel42h.js +1 -0
- package/dist/web/assets/{yaml-BxQUS0ew.js → yaml-sBdvVbCc.js} +1 -1
- package/dist/web/index.html +12 -3
- package/docs/command-reference.md +49 -5
- package/package.json +6 -2
- package/dist/chunks/actions-command-LOHNQUWP.js +0 -2
- package/dist/chunks/app-server-connected-apps-Q2VWWJNX.js +0 -2
- package/dist/chunks/app-server-harness-services-2PSZBT7U.js +0 -2
- package/dist/chunks/app-server-runtime-B6BAJA6L.js +0 -2
- package/dist/chunks/apps-7PIBF32Q.js +0 -2
- package/dist/chunks/chunk-3TYCIYW6.js +0 -17
- package/dist/chunks/chunk-4GZ2FPB5.js +0 -2
- package/dist/chunks/chunk-4M3YW3EQ.js +0 -13
- package/dist/chunks/chunk-4N3UF3U5.js +0 -2
- package/dist/chunks/chunk-4P3X2RXA.js +0 -2
- package/dist/chunks/chunk-4RHM4WN2.js +0 -2
- package/dist/chunks/chunk-6DCXAXVD.js +0 -22
- package/dist/chunks/chunk-AWPYTDH4.js +0 -4
- package/dist/chunks/chunk-BLKTUFGB.js +0 -2
- package/dist/chunks/chunk-BN5AVRUG.js +0 -2
- package/dist/chunks/chunk-D5ADDBS5.js +0 -2
- package/dist/chunks/chunk-DGPGOBYZ.js +0 -5
- package/dist/chunks/chunk-E3EKBPCB.js +0 -2
- package/dist/chunks/chunk-E67M5WGY.js +0 -2
- package/dist/chunks/chunk-EIIGTADO.js +0 -2
- package/dist/chunks/chunk-F5JDBDYL.js +0 -2
- package/dist/chunks/chunk-FWIPHEVA.js +0 -12
- package/dist/chunks/chunk-GLVR74PX.js +0 -2
- package/dist/chunks/chunk-HZLV773Y.js +0 -22
- package/dist/chunks/chunk-JEVA7YQL.js +0 -3
- package/dist/chunks/chunk-KC7I6E6W.js +0 -2
- package/dist/chunks/chunk-M4ZRCRJM.js +0 -10
- package/dist/chunks/chunk-N663LL27.js +0 -2
- package/dist/chunks/chunk-NR5VASQB.js +0 -2
- package/dist/chunks/chunk-OJSK4NSW.js +0 -151
- package/dist/chunks/chunk-OZ6LRNRE.js +0 -2
- package/dist/chunks/chunk-Q324ZA5M.js +0 -2
- 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-VWJ5IYQP.js +0 -2
- package/dist/chunks/chunk-X3WEQL3O.js +0 -2
- package/dist/chunks/chunk-XK7SPL63.js +0 -2
- package/dist/chunks/chunk-XLULTQLZ.js +0 -12
- package/dist/chunks/chunk-YR5ID2SS.js +0 -2
- package/dist/chunks/chunk-ZBBVRYU3.js +0 -6
- package/dist/chunks/chunk-ZHFH2TZN.js +0 -2
- package/dist/chunks/chunk-ZZWAQBA2.js +0 -2
- package/dist/chunks/cli-WC45SI7E.js +0 -2
- package/dist/chunks/connected-app-executor-TZJB25UZ.js +0 -2
- package/dist/chunks/connected-evidence-4J3YXU4O.js +0 -2
- package/dist/chunks/core-commands-JGXU6B4C.js +0 -2
- package/dist/chunks/dataset-preparation-authoring-DFGJBMVF.js +0 -4
- package/dist/chunks/datasets-MNHZAZIB.js +0 -2
- package/dist/chunks/desktop-test-P23MHAIG.js +0 -3
- package/dist/chunks/dist-IIFTZWNR.js +0 -2
- package/dist/chunks/evaluation-coordination-6NQEH5WU.js +0 -2
- package/dist/chunks/experiment-improvements-M27Z5OF4.js +0 -2
- package/dist/chunks/experiments-IWSCFDBB.js +0 -2
- package/dist/chunks/experiments-signal-R3NNH7WR.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-candidate-37ZFY2LH.js +0 -3
- package/dist/chunks/hosted-profile-compiler-SW2RWTDZ.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-UQBMML6K.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-YASS4T6L.js +0 -3
- package/dist/chunks/human-review-IJETDOWB.js +0 -2
- package/dist/chunks/learning-KVLTMRLD.js +0 -2
- 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/model-projects-AVBQDNYG.js +0 -2
- package/dist/chunks/opchat-KSOJEL4W.js +0 -3
- package/dist/chunks/organizations-DJRJWC5I.js +0 -2
- package/dist/chunks/project-action-payload-SQ5BSQHY.js +0 -2
- package/dist/chunks/project-agent-2KNJFNZI.js +0 -2
- package/dist/chunks/published-experiment-source-LFYHKFAO.js +0 -2
- package/dist/chunks/refiner-profile-service-UWI4NAZ3.js +0 -2
- package/dist/chunks/sandbox-command-IIGTPYN3.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-chat-resources-CGW7PDCG.js +0 -2
- package/dist/chunks/store-evaluation-results-V5J6L4NV.js +0 -7
- package/dist/chunks/store-harness-workspaces-HHMM6GNK.js +0 -2
- package/dist/chunks/store-human-review-V5H4QDHR.js +0 -7
- package/dist/chunks/store-learned-preference-migration-validation-KOCW5NOZ.js +0 -2
- package/dist/chunks/store-model-batch-review-KMYPYWJR.js +0 -2
- package/dist/chunks/store-model-configuration-UXNC4PGY.js +0 -3
- package/dist/chunks/store-task-inbox-LNDCZOYE.js +0 -33
- package/dist/chunks/store-taskset-drafts-TA6X245D.js +0 -9
- package/dist/chunks/taskset-packages-I7I5KBFP.js +0 -2
- package/dist/chunks/training-error-AYOGHHL2.js +0 -2
- package/dist/chunks/training-hosted-4R4QTSAN.js +0 -2
- package/dist/chunks/training-hosted-report-UQVK6FTG.js +0 -2
- package/dist/chunks/training-hosted-workers-KI767T4Y.js +0 -2
- package/dist/skills/openpond-desktop-harness/SKILL.md +0 -113
- package/dist/skills/openpond-desktop-harness/agents/openai.yaml +0 -4
- 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/ChatTimelineEntry-IKzZsHoI.js +0 -1
- package/dist/web/assets/CommandMenu-CBY2AJxV.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/LabsRoute-DOnw39du.js +0 -101
- package/dist/web/assets/MainChatThread-BUKup-JB.js +0 -2
- package/dist/web/assets/MainPane-BpE7AKXu.js +0 -92
- package/dist/web/assets/MainPane-CuBUBA9F.css +0 -1
- 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/TrainingMetricWorkbench-BmzHLwIP.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/app-models-BviS9b7U.js +0 -1
- package/dist/web/assets/browser-sidebar-links-ujSvTf5h.js +0 -1
- package/dist/web/assets/chat-resources-CItQ4mZD.js +0 -1
- package/dist/web/assets/chevron-right-Cxv_xBz5.js +0 -1
- package/dist/web/assets/contracts-BHTOD1nd.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-BKmRueaw.js +0 -21
- package/dist/web/assets/settings-lists-DMNPkGYk.js +0 -5
- package/dist/web/assets/square-Da8RuqW4.js +0 -1
- package/dist/web/assets/training-managed-adapter-81RrdT1k.js +0 -1
- package/dist/web/assets/ui-theme.generated-R0MY_Jy0.js +0 -136
- package/dist/web/assets/useAgentInventory-BV4CUWzJ.js +0 -1
- /package/dist/chunks/{chunk-GLDYJM7O.js → chunk-T4QXKU5Y.js} +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as me,b as Se,c as Te,e as K,h as Re,i as Ie,l as we,m as Oe}from"./chunk-25XXZS3E.js";import{a as L,b as k}from"./chunk-ERL2M773.js";import{E as ue,F as ce,H as le,I as _e,L as m,M as Ee,O as ge,P as f,Q as ye,a as B,b as M,k as q,o as pe}from"./chunk-GXCUH2VV.js";import{c as he}from"./chunk-4ZBOYWQ3.js";import"./chunk-DMFUEUAZ.js";import{a as de,c as P}from"./chunk-JHR3LF2F.js";import{Jb as ie,Kb as se,Lb as H,Ob as oe,Pb as O,b as A,ib as re,tb as W,ub as y,va as J,vb as U,vc as j,w as g,wa as ne,x as te}from"./chunk-M3FLEZ4E.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WBUK73ST.js";import"./chunk-P7HRF4FM.js";import"./chunk-GS6ZUSIN.js";import"./chunk-2ITZW2CN.js";import"./chunk-OG33QAG6.js";import"./chunk-W5W4IODW.js";import"./chunk-PWK5Z5S3.js";import"./chunk-W45RKGM6.js";import{a as ae}from"./chunk-KCJVFLBB.js";import"./chunk-3YXYBYWK.js";import"./chunk-MPNJ2BB4.js";import"./chunk-KOKX7PBS.js";import"./chunk-V7KR74NO.js";import"./chunk-XGY4OQLC.js";import"./chunk-7O6Z3VOZ.js";import"./chunk-5EP2DZLJ.js";import"./chunk-IDOGNIMV.js";import"./chunk-W45RKGM6.js";import"./chunk-PBTXLQAU.js";import"./chunk-7WYL2IDD.js";import"./chunk-5ZBLCWEJ.js";import"./chunk-PCB65K4G.js";import"./chunk-6RS4NAOY.js";import"./chunk-ZZHXQCNB.js";import"./chunk-YNQWJWIC.js";import"./chunk-VNJAAYNQ.js";import"./chunk-7ZLXFKRI.js";import"./chunk-7HRLWPPZ.js";import"./chunk-MTP3B2SU.js";import"./chunk-LAOLJDVB.js";import"./chunk-UWHIU24L.js";import"./chunk-LV3CQ72P.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-6FA3GG5B.js";import"./chunk-2EPR4HLF.js";import{z as b}from"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-UGOK7VTC.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import{A as v}from"./chunk-PF56N7ZY.js";import{a as u}from"./chunk-FTQLQJQV.js";import{createPublicKey as Fe,verify as be}from"node:crypto";var fe=`CREATE TABLE IF NOT EXISTS remote_device_authority (id INTEGER PRIMARY KEY CHECK(id=1), payload TEXT NOT NULL);
|
|
3
|
+
CREATE TABLE IF NOT EXISTS remote_device_receipts (id TEXT PRIMARY KEY, payload_hash TEXT NOT NULL, command TEXT NOT NULL, receipt TEXT NOT NULL);
|
|
4
|
+
CREATE TABLE IF NOT EXISTS remote_device_approval_claims (approval_id TEXT PRIMARY KEY, command_id TEXT NOT NULL UNIQUE);
|
|
5
|
+
CREATE TABLE IF NOT EXISTS remote_device_cancellations (id TEXT PRIMARY KEY,payload_hash TEXT NOT NULL,device_id TEXT NOT NULL);`;function C(s,e,t){if(e.payload.resume===!0&&e.action!=="follow_up")throw new Error("remote_resume_action_invalid");let n=s.get("SELECT payload_hash FROM remote_device_cancellations WHERE id=?",[e.id]);if(n)throw new Error(n.payload_hash===e.payloadHash?"remote_command_cancelled":"remote_command_identity_changed");let r=s.get("SELECT payload FROM remote_device_authority WHERE id=1");if(!r)throw new Error("remote_authority_unavailable");let i=JSON.parse(r.payload),o=Date.now();if(e.actor!=="remote-human"||i.deviceId!==e.deviceId||i.fence!==e.fence||i.grantRevision!==e.grantRevision||!(Date.parse(i.leaseExpiresAt)>o)||!(Date.parse(e.deadline)>o)||!(Date.parse(e.permit.expiresAt)>o))throw new Error("remote_authority_expired_or_changed");let a=de.parse(i.owner);if(J(e.scope)!==J({installationId:a.installationId,profileId:a.profileId,ownerUserId:a.ownerUserId,teamId:a.teamId})||!P(t,a))throw new Error("remote_task_not_owned");let p=i.publicKeys.find(I=>I.keyId===e.permit.keyId),{permit:d,...c}=e;if(!p||!be(null,Buffer.from(ne(c,d.expiresAt,d.keyId)),Fe(p.publicKey),Buffer.from(d.signature,"base64")))throw new Error("remote_permit_invalid");if(e.action==="start"){let I=t.metadata?.remoteStarterSourceSessionId,T=typeof I=="string"?s.get("SELECT payload FROM sessions WHERE id=?",[I]):null,_=T?JSON.parse(T.payload):null,x=q(t);if(!_||!P(_,a)||_.archived||_.status==="closed"||e.payload.projectId!==_.localProjectId||e.payload.starterRevision!==K(_)||e.expectedRevision!==K(_)||x?.operationId!==e.id||x.payloadHash!==e.payloadHash)throw new Error("remote_starter_changed");return}let l=s.get("SELECT id FROM turns WHERE session_id=? ORDER BY sort_index DESC LIMIT 1",[t.id]),w=me(t,l?.id??null,Se(s,t.id));if(e.localSessionId!==t.id||w!==e.expectedRevision)throw new Error("remote_target_changed")}u(C,"assertRemoteAdmission");import{isDeepStrictEqual as Je}from"node:util";function S(s){return H.parse({...JSON.parse(s.payload),sequence:s.sequence})}u(S,"inputFromRow");function R(s,e){let t=s.get("SELECT sequence, payload FROM task_inputs WHERE id = ?",[e]);return t?S(t):null}u(R,"readTaskInput");function E(s,e){let t=H.parse(e);return s.run("UPDATE task_inputs SET kind = ?, state = ?, turn_id = ?, payload = ? WHERE id = ?",[t.kind,t.state,t.turnId,JSON.stringify(t),t.id]),t}u(E,"writeTaskInput");function h(s,e){return s.get("SELECT * FROM task_inbox_turns WHERE session_id = ?",[e])}u(h,"readInboxOwner");function D(s,e,t,n){let r=h(s,e);if(!r||r.turn_id!==t||r.owner_id!==n||r.lease_until<=Date.now())throw new Error("Task execution ownership was lost. Stop before dispatching more work.");return r}u(D,"requireInboxOwner");function Y(s,e,t){let n=h(s,e),r=t?s.get("SELECT status FROM turns WHERE id = ? AND session_id = ?",[t,e]):null;if(!t||!n||n.turn_id!==t||!n.accepting||n.paused||n.lease_until<=Date.now()||r?.status!=="in_progress")throw new Error("The expected turn is no longer accepting input. Your text was not sent to a different turn; send it as a follow-up instead.")}u(Y,"assertSteerTarget");function Q(s,e){let t=`${e.senderKind}:${e.senderSessionId??"user"}`,n=s.get("SELECT sequence, payload, admission FROM task_inputs WHERE session_id = ? AND sender_key = ? AND idempotency_key = ?",[e.sessionId,t,e.idempotencyKey]);if(n){let l=S(n),w=JSON.parse(n.admission);if(["kind","body","payload","replyTo","expectedTurnId"].some(T=>!Je(w[T],e[T])))throw new Error("This input identity was already used with different content.");return l}let r=s.get("SELECT payload FROM sessions WHERE id = ?",[e.sessionId]),i=r?JSON.parse(r.payload):null;if(!i||i.status==="closed"||i.archived)throw new Error("The recipient task is unavailable.");if(e.payload.remoteDevice!==void 0){if(e.senderKind!=="user"||e.senderSessionId!==null)throw new Error("remote_human_input_required");C(s,e.payload.remoteDevice,i)}if(e.senderKind==="ponder"||e.payload.ponderDesktop!==void 0){let l=s.get("SELECT id FROM turns WHERE session_id = ? ORDER BY sort_index DESC LIMIT 1",[e.sessionId]);ye(s,e,i,l?.id??null)}let o=e.payload.localManagedMessage;if(o&&typeof o=="object"){let l=o.targetRevision,w=s.get("SELECT id FROM turns WHERE session_id = ? ORDER BY sort_index DESC LIMIT 1",[e.sessionId]);if(typeof l!="string"||l!==pe(i,w?.id??null))throw new Ie("The managed target changed before message admission. Refresh and review the message before sending.")}k(s,e);let a=h(s,e.sessionId);if(e.kind==="steer"&&Y(s,e.sessionId,e.expectedTurnId),e.kind==="steer"&&V(s,e.expectedTurnId,e.body),s.get("SELECT count(*) AS count FROM task_inputs WHERE session_id = ? AND state = 'pending'",[e.sessionId]).count>=ie)throw new Error("The task inbox is full. Wait for delivery before sending more input.");let d=new Date().toISOString(),c=H.parse({...e,sequence:0,revision:1,state:"pending",requestIds:[],error:null,payload:{...e.payload,...e.payload.remoteDevice?{remoteDeviceExecution:le(i)}:{}},turnId:e.kind!=="queued"&&e.kind!=="followup"&&a?.accepting&&!a.paused&&a.lease_until>Date.now()?a.turn_id:null,createdAt:d,updatedAt:d});if(e.payload.remoteDevice!==void 0){let l=e.payload.remoteDevice;if(l.payload.resume===!0&&(e.kind!=="queued"||e.expectedTurnId!==l.expectedTurnId))throw new Error("remote_resume_input_invalid");Te(s,l)}return s.run("INSERT INTO task_inputs (id, session_id, sender_key, idempotency_key, kind, state, turn_id, payload, admission) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",[c.id,c.sessionId,t,c.idempotencyKey,c.kind,c.state,c.turnId,JSON.stringify(c),JSON.stringify(e)]),R(s,c.id)}u(Q,"admitTaskInput");function N(s,e,t){return s.all(`SELECT sequence, payload FROM task_inputs WHERE session_id = ? AND state = 'pending'
|
|
6
|
+
AND ((turn_id = ?) OR (turn_id IS NULL AND kind NOT IN ('queued', 'followup', 'steer')))
|
|
7
|
+
ORDER BY sequence`,[e,t]).map(S)}u(N,"pendingTaskInputs");function V(s,e,t){if(s.get(`SELECT COALESCE(SUM(length(json_extract(payload, '$.body'))), 0) AS size
|
|
8
|
+
FROM task_inputs WHERE turn_id = ? AND kind = 'steer' AND state NOT IN ('rejected', 'cancelled')`,[e]).size+t.length>64e3)throw new Error("This turn's correction history is full. Finish it or send the additional instructions in a new turn.")}u(V,"assertCorrectionBudget");function ke(s,e){let t=s.all("SELECT session_id, turn_id FROM task_inbox_turns WHERE owner_id <> ? AND lease_until > 0",[e]),n=new Date().toISOString();for(let r of t){let i=s.get("SELECT status FROM turns WHERE id = ?",[r.turn_id]);s.run("UPDATE task_inbox_turns SET accepting = 0, paused = ?, lease_until = 0 WHERE session_id = ?",[i?1:0,r.session_id]);let o=s.all("SELECT sequence, payload FROM task_inputs WHERE turn_id = ? AND state IN ('pending', 'included')",[r.turn_id]);for(let a of o){let p=S(a);E(s,{...p,updatedAt:n,...p.state==="included"?{error:"Execution owner stopped after inclusion. The provider outcome is uncertain; review before retrying."}:p.kind==="steer"?{state:"rejected",error:"The interrupted execution did not include this correction. Send it as a follow-up."}:{turnId:null}})}s.run("UPDATE task_input_requests SET state = 'failed' WHERE turn_id = ? AND state = 'included'",[r.turn_id]);for(let a of s.all("SELECT id, payload FROM task_waits WHERE turn_id = ? AND state = 'waiting'",[r.turn_id])){let p=O.parse(JSON.parse(a.payload));s.run("UPDATE task_waits SET state = 'unavailable', payload = ? WHERE id = ?",[JSON.stringify({...p,state:"unavailable",updatedAt:n}),a.id])}}return t.map(r=>({sessionId:r.session_id,turnId:r.turn_id}))}u(ke,"recoverTaskInboxOwners");function De(s,e,t){if(m(e),e.intent.action!=="create"||!e.claimId||e.receipt||!["dispatching","attention"].includes(e.state))return null;let n=Ee(e.id),r=s.get("SELECT payload FROM sessions WHERE id = ?",[n]);if(!r||s.get("SELECT id FROM task_inputs WHERE session_id = ? LIMIT 1",[n])||s.get("SELECT id FROM turns WHERE session_id = ? LIMIT 1",[n]))return null;let i=g.parse(JSON.parse(r.payload)),o=q(i),a=s.get("SELECT payload FROM ponder_desktop_authority WHERE id = 1");if(!a||!o||!P(i,t)||i.archived||i.status!=="idle")return null;let p=W.parse(JSON.parse(a.payload));return p.state!=="attached"||Date.parse(p.leaseExpiresAt)<=Date.now()||p.authorizationRevision!==e.origin.authorizationRevision||!Object.entries(e.origin.scope).every(([d,c])=>p.scope[d]===c)||o.operationId!==e.id||o.payloadHash!==e.payloadHash||o.sessionRevision!==ue(i,null)||o.executionRevision!==ce(i)?null:re.parse({sessionId:n,creationHash:o.creationHash,sessionRevision:o.sessionRevision,executionRevision:o.executionRevision})}u(De,"readPonderDesktopReservationResume");var ve=v.object({operation:y,receipt:y.shape.receipt.unwrap()}).strict();function F(s,e){let t=s.get("SELECT payload FROM ponder_desktop_stops WHERE operation_id = ?",[e]);return t?ve.parse(JSON.parse(t.payload)):null}u(F,"readPonderDesktopStop");function Ne(s,e){if(e=y.parse(e),m(e),e.intent.action!=="stop")throw new Error("ponder_desktop_stop_intent_invalid");let t=F(s,e.id);if(t){if(t.operation.payloadHash!==e.payloadHash)throw new Error("ponder_desktop_stop_identity_reused");return t}let n=s.get("SELECT payload FROM sessions WHERE id = ?",[e.intent.targetId]);if(!n)throw new Error("ponder_desktop_stop_target_unavailable");let r=g.parse(JSON.parse(n.payload)),i=s.get("SELECT id FROM turns WHERE session_id = ? ORDER BY sort_index DESC LIMIT 1",[r.id]);f(s,e,r,i?.id??null,e.intent.targetRevision);let o=h(s,r.id),a=s.get("SELECT status FROM turns WHERE id = ? AND session_id = ?",[e.intent.expectedTurnId,r.id]);if(!o||o.turn_id!==e.intent.expectedTurnId||o.lease_until<=Date.now()||a?.status!=="in_progress")throw new Error("ponder_desktop_stop_target_changed");let p=ve.parse({operation:e,receipt:{sessionId:r.id,sessionTitle:r.title,inputId:null,turnId:e.intent.expectedTurnId,state:"stop_requested"}});return s.run("INSERT INTO ponder_desktop_stops (operation_id, payload_hash, payload) VALUES (?, ?, ?)",[e.id,e.payloadHash,JSON.stringify(p)]),p}u(Ne,"admitPonderDesktopStop");function xe(s,e,t){let n=F(s,e);if(!n)throw new Error("ponder_desktop_stop_not_found");if(n.receipt.state!=="stop_requested")return n;let r={...n,receipt:{...n.receipt,state:t}};return s.run("UPDATE ponder_desktop_stops SET payload = ? WHERE operation_id = ?",[JSON.stringify(r),e]),r}u(xe,"settlePonderDesktopStop");import{createHash as Ue}from"node:crypto";function Pe(s){return Ue("sha256").update(A("POST","/ponder/desktop/result",s)).digest("hex")}u(Pe,"hash");function X(s,e,t){let n=s.get("SELECT payload, payload_hash FROM ponder_desktop_results WHERE operation_id = ? AND turn_id = ?",[e,t]);if(!n)return null;let r=U.parse(JSON.parse(n.payload));if(r.operationId!==e||r.turnId!==t||Pe(r)!==n.payload_hash)throw new Error("ponder_desktop_committed_result_invalid");return r}u(X,"readPonderDesktopResult");function Le(s,e){let t=U.parse(e),n=X(s,t.operationId,t.turnId);return n||(s.run("INSERT INTO ponder_desktop_results (operation_id, turn_id, payload_hash, payload) VALUES (?, ?, ?, ?)",[t.operationId,t.turnId,Pe(t),JSON.stringify(t)]),t)}u(Le,"commitPonderDesktopResult");var Ce=v.object({operation:y,receipt:y.shape.receipt.unwrap()}).strict();function $(s,e){let t=s.get("SELECT payload, payload_hash FROM ponder_desktop_observations WHERE operation_id = ?",[e]);if(!t)return null;let n=Ce.parse(JSON.parse(t.payload));if(m(n.operation),n.operation.id!==e||n.operation.payloadHash!==t.payload_hash||n.operation.intent.action!=="observe"||n.receipt.turnId!==n.operation.intent.expectedTurnId||n.receipt.sessionId!==n.operation.intent.targetId||n.receipt.inputId!==null)throw new Error("ponder_desktop_observation_record_invalid");return n}u($,"readPonderDesktopObservation");function Ae(s,e){let t=y.parse(e);if(m(t),t.intent.action!=="observe")throw new Error("ponder_desktop_observation_intent_invalid");let n=$(s,t.id);if(n){if(n.operation.payloadHash!==t.payloadHash)throw new Error("ponder_desktop_observation_identity_reused");return n}let r=s.get("SELECT payload FROM sessions WHERE id = ?",[t.intent.targetId]);if(!r)throw new Error("ponder_desktop_observation_target_unavailable");let i=g.parse(JSON.parse(r.payload)),o=s.get("SELECT id FROM turns WHERE session_id = ? ORDER BY sort_index DESC LIMIT 1",[i.id]);f(s,t,i,o?.id??null,t.intent.targetRevision);let a=s.get("SELECT id FROM turns WHERE id = ? AND session_id = ?",[t.intent.expectedTurnId,i.id]);if(!a||o?.id!==a.id)throw new Error("ponder_desktop_observation_target_changed");let p=Ce.parse({operation:t,receipt:{sessionId:i.id,sessionTitle:i.title,inputId:null,turnId:a.id,state:"observing"}});return s.run("INSERT INTO ponder_desktop_observations (operation_id, payload_hash, payload) VALUES (?, ?, ?)",[t.id,t.payloadHash,JSON.stringify(p)]),p}u(Ae,"admitPonderDesktopObservation");import{createHash as je}from"node:crypto";var We=v.object({operation:y,receipt:y.shape.receipt.unwrap(),inspection:j}).strict();function He(s){return je("sha256").update(A("POST","/ponder/desktop/inspection",s)).digest("hex")}u(He,"snapshotHash");function z(s,e){let t=s.get("SELECT payload, payload_hash, snapshot_hash FROM ponder_desktop_inspections WHERE operation_id = ?",[e]);if(!t)return null;let n=We.parse(JSON.parse(t.payload));m(n.operation);let{operation:r,receipt:i,inspection:o}=n;if(r.intent.action!=="inspect"||r.id!==e||r.payloadHash!==t.payload_hash||He(n)!==t.snapshot_hash||o.operationId!==e||o.payloadHash!==r.payloadHash||o.sessionId!==r.intent.targetId||o.turnId!==r.intent.expectedTurnId||i.sessionId!==o.sessionId||i.turnId!==o.turnId||i.inputId!==null||i.state!=="inspected")throw new Error("ponder_desktop_inspection_record_invalid");return n}u(z,"readPonderDesktopInspection");function Me(s,e){let t=y.parse(e);if(m(t),t.intent.action!=="inspect")throw new Error("ponder_desktop_inspection_intent_invalid");let n=z(s,t.id);if(n){if(n.operation.payloadHash!==t.payloadHash)throw new Error("ponder_desktop_inspection_identity_reused");return n}let r=s.get("SELECT payload FROM sessions WHERE id = ?",[t.intent.targetId]);if(!r)throw new Error("ponder_desktop_inspection_target_unavailable");let i=g.parse(JSON.parse(r.payload)),o=i.localProjectId??i.workspaceId??i.cwd;if(i.archived||i.systemKind||i.hiddenFromDefaultSidebar||i.status==="closed"||i.experience==="development"||["sandbox","sandbox_template","sandbox_app"].includes(i.workspaceKind??"")||t.target.kind!=="session"||t.target.id!==i.id||t.target.revision!==t.intent.targetRevision||t.target.workspaceId!==o||t.target.providerId!==i.provider||t.target.modelId!==(i.modelRef?.modelId??null))throw new Error("ponder_desktop_inspection_target_changed");let a=s.get("SELECT id, payload FROM turns WHERE session_id = ? ORDER BY sort_index DESC LIMIT 1",[i.id]);if(f(s,t,i,a?.id??null,t.intent.targetRevision),!a||a.id!==t.intent.expectedTurnId)throw new Error("ponder_desktop_inspection_target_changed");let p=te.parse(JSON.parse(a.payload));if(p.sessionId!==i.id||p.id!==a.id)throw new Error("ponder_desktop_inspection_turn_invalid");let d=s.all(`
|
|
9
|
+
SELECT sequence, substr(json_extract(payload, '$.id'), 1, 201) AS id,
|
|
10
|
+
substr(json_extract(payload, '$.timestamp'), 1, 101) AS timestamp, name AS kind,
|
|
11
|
+
substr(json_extract(payload, '$.output'), 1, 4001) AS text,
|
|
12
|
+
substr(json_extract(payload, '$.action'), 1, 300) AS action,
|
|
13
|
+
json_extract(payload, '$.status') AS status,
|
|
14
|
+
substr(coalesce(json_extract(payload, '$.data.nativeMessageId'), json_extract(payload, '$.data.itemId')), 1, 300) AS message_id,
|
|
15
|
+
json_extract(payload, '$.data.nativeMessageSnapshot') AS message_snapshot
|
|
16
|
+
FROM events WHERE turn_id = ? AND session_id = ?
|
|
17
|
+
AND name IN ('assistant.delta', 'tool.started', 'tool.completed')
|
|
18
|
+
AND coalesce(json_extract(payload, '$.data.retainedHistory'), 0) <> 1
|
|
19
|
+
AND coalesce(json_extract(payload, '$.data.phase'), '') NOT IN ('reasoning', 'analysis')
|
|
20
|
+
ORDER BY sequence DESC LIMIT 101`,[p.id,i.id]),c=16e3,l=!1,w=d.slice(0,100).map(_=>{let x=_.text??"",Z=Math.min(4e3,c),ee=x.slice(0,Z);return c-=ee.length,l||=x.length>Z,{id:_.id,sequence:_.sequence,timestamp:_.timestamp,kind:_.kind,text:ee,action:_.action,status:_.status,messageId:_.message_id,messageSnapshot:_.message_snapshot===1}}).reverse(),I=j.parse({operationId:t.id,payloadHash:t.payloadHash,sessionId:i.id,sessionTitle:i.title.slice(0,300),turnId:p.id,workspaceId:o,providerId:p.modelRef?.providerId??t.target.providerId,modelId:p.modelRef?.modelId??t.target.modelId,capturedAt:new Date().toISOString(),taskStatus:p.status,taskCompletedAt:p.completedAt?new Date(p.completedAt).toISOString():null,error:p.error?.slice(0,2e3)??null,events:w,coverage:{olderEventsOmitted:d.length>100,textTruncated:l,textLimit:16e3,eventLimit:100}}),T=We.parse({operation:t,inspection:I,receipt:{sessionId:i.id,sessionTitle:I.sessionTitle,inputId:null,turnId:p.id,state:"inspected"}});return f(s,t,i,a.id,t.intent.targetRevision),s.run("INSERT INTO ponder_desktop_inspections (operation_id, payload_hash, snapshot_hash, payload) VALUES (?, ?, ?, ?)",[t.id,t.payloadHash,He(T),JSON.stringify(T)]),T}u(Me,"admitPonderDesktopInspection");var G=9e4,qe=class extends ae{static{u(this,"SqliteTaskInboxStore")}async localPonderState(){return this.inboxWrite(e=>{e.exec(L);let t=e.get("SELECT payload FROM local_ponder_state WHERE id=1");return t?B.parse(JSON.parse(t.payload)):null})}async saveLocalPonderState(e){return this.inboxWrite(t=>{t.exec(L);let n=B.parse(e);return t.run("INSERT INTO local_ponder_state(id,payload) VALUES(1,?) ON CONFLICT(id) DO UPDATE SET payload=excluded.payload",[JSON.stringify(n)]),n})}async localPonderAgents(){return this.inboxWrite(e=>(e.exec(L),e.all("SELECT payload FROM local_ponder_agents ORDER BY rowid").map(t=>M.parse(JSON.parse(t.payload)))))}async registerLocalPonderAgent(e){return this.inboxWrite(t=>{t.exec(L);let n=t.get("SELECT payload FROM local_ponder_agents WHERE creation_key=?",[e.creationKey]);if(n)return M.parse(JSON.parse(n.payload));let r=M.parse(e);return t.run("INSERT INTO local_ponder_agents(session_id,coordinator_id,creation_key,payload) VALUES(?,?,?,?)",[r.sessionId,r.coordinatorId,r.creationKey,JSON.stringify(r)]),r})}async assertLocalPonderInput(e){return this.inboxWrite(t=>k(t,e))}async initializeRemoteDeviceStore(){return this.inboxWrite(e=>{e.exec(fe),e.run("DELETE FROM remote_device_authority")})}async setRemoteDeviceAuthority(e){return this.inboxWrite(t=>{e?t.run("INSERT INTO remote_device_authority(id,payload) VALUES(1,?) ON CONFLICT(id) DO UPDATE SET payload=excluded.payload",[JSON.stringify(e)]):t.run("DELETE FROM remote_device_authority")})}async getRemoteDeviceReceipt(e){await this.ready,await this.writeQueue;let t=this.database.get("SELECT receipt FROM remote_device_receipts WHERE id=?",[e]);return t?JSON.parse(t.receipt):null}async getRemoteDeviceCancellation(e){return await this.ready,await this.writeQueue,this.database.get("SELECT payload_hash,device_id FROM remote_device_cancellations WHERE id=?",[e])}async cancelRemoteDeviceCommand(e,t){return this.inboxWrite(n=>{let r=n.get("SELECT payload_hash,receipt FROM remote_device_receipts WHERE id=?",[e]);if(r){if(r.payload_hash!==t)throw new Error("remote_command_identity_changed");return{receipt:JSON.parse(r.receipt),cancelled:!1}}let i=R(n,`remote-input:${e}`);if(i){let d=i.payload.remoteDevice;if(d.payloadHash!==t)throw new Error("remote_command_identity_changed");return{receipt:{id:e,deviceId:d.deviceId,payloadHash:t,action:d.action,targetId:d.targetId,localSessionId:i.sessionId,inputId:i.id,state:"admitted",revision:2,createdAt:i.createdAt,expiresAt:d.deadline},cancelled:!1}}let o=n.get("SELECT payload FROM remote_device_authority WHERE id=1");if(!o)throw new Error("remote_authority_unavailable");let a=JSON.parse(o.payload);if(!(Date.parse(a.leaseExpiresAt)>Date.now()))throw new Error("remote_authority_unavailable");let p=n.get("SELECT payload_hash FROM remote_device_cancellations WHERE id=?",[e]);if(p&&p.payload_hash!==t)throw new Error("remote_command_identity_changed");return n.run("INSERT INTO remote_device_cancellations(id,payload_hash,device_id) VALUES(?,?,?) ON CONFLICT(id) DO NOTHING",[e,t,a.deviceId]),{receipt:null,cancelled:!0}})}async saveRemoteDeviceReceipt(e,t){return this.inboxWrite(n=>{let r=n.get("SELECT payload_hash FROM remote_device_receipts WHERE id=?",[e.id]);if(r&&r.payload_hash!==e.payloadHash)throw new Error("remote_command_identity_changed");n.run("INSERT INTO remote_device_receipts(id,payload_hash,command,receipt) VALUES(?,?,?,?) ON CONFLICT(id) DO UPDATE SET receipt=excluded.receipt",[e.id,e.payloadHash,JSON.stringify(e),JSON.stringify(t)])})}async admitRemoteDeviceStop(e){return this.inboxWrite(t=>{let n=t.get("SELECT payload_hash,receipt FROM remote_device_receipts WHERE id=?",[e.id]);if(n){if(n.payload_hash!==e.payloadHash)throw new Error("remote_command_identity_changed");return JSON.parse(n.receipt)}let r=t.get("SELECT payload FROM sessions WHERE id=?",[e.localSessionId]);if(!r)throw new Error("remote_task_unavailable");let i=g.parse(JSON.parse(r.payload));C(t,e,i);let o=t.get("SELECT id,status FROM turns WHERE session_id=? ORDER BY sort_index DESC LIMIT 1",[e.localSessionId]);if(!e.expectedTurnId||o?.id!==e.expectedTurnId||o.status!=="in_progress")throw new Error("remote_turn_changed");let a={id:e.id,deviceId:e.deviceId,payloadHash:e.payloadHash,action:e.action,targetId:e.targetId,localSessionId:i.id,turnId:o.id,state:"admitted",revision:2,createdAt:new Date().toISOString(),expiresAt:e.deadline};return t.run("INSERT INTO remote_device_receipts(id,payload_hash,command,receipt) VALUES(?,?,?,?)",[e.id,e.payloadHash,JSON.stringify(e),JSON.stringify(a)]),a})}async admitRemoteDeviceApproval(e){return this.inboxWrite(t=>{let n=t.get("SELECT payload_hash,receipt FROM remote_device_receipts WHERE id=?",[e.id]);if(n){if(n.payload_hash!==e.payloadHash)throw new Error("remote_command_identity_changed");return JSON.parse(n.receipt)}let r=t.get("SELECT payload FROM sessions WHERE id=?",[e.localSessionId]);if(!r)throw new Error("remote_task_unavailable");let i=g.parse(JSON.parse(r.payload));C(t,e,i);let o=t.get("SELECT id,payload FROM turns WHERE session_id=? ORDER BY sort_index DESC LIMIT 1",[i.id]),a=o?JSON.parse(o.payload):null;if(!a||a.id!==e.expectedTurnId||a.status!=="in_progress")throw new Error("remote_turn_changed");let p=t.get("SELECT payload FROM approvals WHERE id=?",[e.expectedApprovalId]),d=p?JSON.parse(p.payload):null;if(!d||d.status!=="pending"||d.sessionId!==i.id||!d.turnId||d.turnId!==a.id&&d.turnId!==a.providerTurnId||!Re(d))throw new Error("remote_approval_changed_or_unsupported");if(t.get("SELECT command_id FROM remote_device_approval_claims WHERE approval_id=?",[d.id]))throw new Error("remote_approval_already_claimed");t.run("INSERT INTO remote_device_approval_claims(approval_id,command_id) VALUES(?,?)",[d.id,e.id]);let l={id:e.id,deviceId:e.deviceId,payloadHash:e.payloadHash,action:e.action,targetId:e.targetId,localSessionId:i.id,approvalId:d.id,turnId:a.id,state:"admitted",revision:2,createdAt:new Date().toISOString(),expiresAt:e.deadline};return t.run("INSERT INTO remote_device_receipts(id,payload_hash,command,receipt) VALUES(?,?,?,?)",[e.id,e.payloadHash,JSON.stringify(e),JSON.stringify(l)]),l})}async admitPonderDesktopInspection(e){return this.inboxWrite(t=>Me(t,e))}async getPonderDesktopInspection(e){return await this.ready,await this.writeQueue,z(this.database,e)}async setPonderProjectSharing(e){return this.inboxWrite(t=>we(t,e))}async readPonderProjectSharing(e){return await this.ready,await this.writeQueue,Oe(this.database,e)}async getPonderDesktopReservationResume(e,t){return this.inboxWrite(n=>De(n,e,t))}async admitPonderDesktopObservation(e){return this.inboxWrite(t=>Ae(t,e))}async getPonderDesktopObservation(e){return await this.ready,await this.writeQueue,$(this.database,e)}async getPonderDesktopResult(e,t){return await this.ready,await this.writeQueue,X(this.database,e,t)}async commitPonderDesktopResult(e){return this.inboxWrite(t=>Le(t,e))}async inboxWrite(e){await this.ready;let t=this.writeQueue.then(()=>{let n=this.database;n.exec("BEGIN IMMEDIATE");try{let r=e(n);return n.exec("COMMIT"),r}catch(r){throw n.exec("ROLLBACK"),r}});return this.writeQueue=t.then(()=>{},()=>{}),t}async setPonderDesktopAuthority(e){let t=W.parse(e);if(t.state!=="attached"||Date.parse(t.leaseExpiresAt)<=Date.now())throw new Error("ponder_desktop_local_authority_invalid");return this.inboxWrite(n=>{n.run("INSERT INTO ponder_desktop_authority (id, runtime_id, payload) VALUES (1, ?, ?) ON CONFLICT(id) DO UPDATE SET runtime_id = excluded.runtime_id, payload = excluded.payload",[t.runtimeId,JSON.stringify(t)])})}async clearPonderDesktopAuthority(e){return this.inboxWrite(t=>{e?t.run("DELETE FROM ponder_desktop_authority WHERE runtime_id = ?",[e]):t.run("DELETE FROM ponder_desktop_authority")})}async admitPonderDesktopStop(e){return this.inboxWrite(t=>Ne(t,e))}async getPonderDesktopStop(e){return await this.ready,await this.writeQueue,F(this.database,e)}async settlePonderDesktopStop(e,t){return this.inboxWrite(n=>xe(n,e,t))}async recoverTaskInboxOwners(e){return this.inboxWrite(t=>ke(t,e))}async hasTaskCompletion(e){return await this.ready,await this.writeQueue,!!this.database.get("SELECT turn_id FROM task_completion_outbox WHERE turn_id = ?",[e])}async taskInboxSnapshot(e){await this.ready,await this.writeQueue;let t=h(this.database,e),n=t&&t.lease_until>Date.now()&&this.database.get("SELECT status FROM turns WHERE id = ?",[t.turn_id])?.status==="in_progress",r=this.database.all(`SELECT sequence, payload FROM task_inputs WHERE session_id = ? AND (state IN ('pending', 'included')
|
|
21
|
+
OR sequence IN (SELECT sequence FROM task_inputs WHERE session_id = ? ORDER BY sequence DESC LIMIT 30)) ORDER BY sequence`,[e,e]);return{sessionId:e,activeTurnId:n?t.turn_id:null,acceptingInput:!!(n&&t.accepting&&!t.paused),paused:!!t?.paused,inputs:r.map(S),waits:await this.taskWaitsForSession(e)}}async declareTaskWork(e,t,n,r){return this.inboxWrite(i=>{D(i,e,t,n),i.run("INSERT INTO task_work_claims (session_id, turn_id, work_areas) VALUES (?, ?, ?) ON CONFLICT(session_id) DO UPDATE SET turn_id = excluded.turn_id, work_areas = excluded.work_areas",[e,t,JSON.stringify(r)])})}async taskWorkAreas(e){await this.ready,await this.writeQueue;let t=this.database.get("SELECT c.work_areas FROM task_work_claims c JOIN task_inbox_turns t ON c.session_id = t.session_id AND c.turn_id = t.turn_id WHERE c.session_id = ? AND t.lease_until > ?",[e,Date.now()]);return t?JSON.parse(t.work_areas):[]}async admitTaskInput(e){return this.inboxWrite(t=>Q(t,e))}async admitTaskInputs(e){return this.inboxWrite(t=>e.map(n=>Q(t,n)))}async rejectTaskInput(e,t,n){return this.inboxWrite(r=>{let i=R(r,e);if(i?.state==="pending"){let o=n&&i.senderKind==="ponder"?r.get("SELECT id FROM turns WHERE id = ? AND session_id = ? AND json_extract(payload, '$.metadata.taskInputId') = ?",[n,i.sessionId,i.id]):null;E(r,{...i,state:"rejected",error:t,...o?{turnId:o.id}:{},updatedAt:new Date().toISOString()})}})}async getTaskInput(e){return await this.ready,await this.writeQueue,R(this.database,e)}async taskInputsForSession(e,t={}){return await this.ready,await this.writeQueue,this.database.all(`SELECT sequence, payload FROM task_inputs WHERE session_id = ? AND sequence > ?
|
|
22
|
+
${t.pendingOnly?"AND state = 'pending'":""} ORDER BY sequence LIMIT ?`,[e,t.afterSequence??0,Math.max(1,Math.min(500,t.limit??128))]).map(S)}async mutateTaskInput(e,t,n){let r=oe.parse(n);return this.inboxWrite(i=>{let o=R(i,t);if(!o||o.sessionId!==e||o.senderKind!=="user")throw new Error("Queued user input not found.");if(o.state!=="pending"||o.revision!==r.expectedRevision||o.turnId)throw new Error("This input changed or has already been admitted. Refresh the queue before editing it.");if(r.action==="resume"){if(o.kind!=="queued")throw new Error("Only the user queue can be resumed here.");let a=h(i,e);if(a&&a.lease_until>Date.now())throw new Error("This task is already running.");i.run("UPDATE task_inbox_turns SET paused = 0 WHERE session_id = ?",[e])}return r.action==="steer"&&(Y(i,e,r.expectedTurnId),V(i,r.expectedTurnId,o.body)),E(i,{...o,revision:o.revision+1,updatedAt:new Date().toISOString(),...r.action==="cancel"?{state:"cancelled"}:{},...r.action==="edit"?{body:r.body,payload:{...o.payload,prompt:r.body}}:{},...r.action==="steer"?{kind:"steer",expectedTurnId:r.expectedTurnId,turnId:r.expectedTurnId}:{}})})}async openTaskInboxTurn(e,t,n){return this.inboxWrite(r=>{let i=h(r,e);if(i&&i.lease_until>Date.now()&&(i.turn_id!==t||i.owner_id!==n))throw new Error("A turn is already running for this task.");r.run(`INSERT INTO task_inbox_turns (session_id, turn_id, owner_id, generation, accepting, paused, lease_until)
|
|
23
|
+
VALUES (?, ?, ?, ?, 1, 0, ?) ON CONFLICT(session_id) DO UPDATE SET turn_id = excluded.turn_id,
|
|
24
|
+
owner_id = excluded.owner_id, generation = excluded.generation, accepting = 1, paused = 0, lease_until = excluded.lease_until`,[e,t,n,(i?.generation??0)+1,Date.now()+G])})}async renewTaskInboxTurn(e,t,n){return this.inboxWrite(r=>{D(r,e,t,n),r.run("UPDATE task_inbox_turns SET lease_until = ? WHERE session_id = ?",[Date.now()+G,e])})}async pendingTaskInputs(e,t){return await this.ready,await this.writeQueue,N(this.database,e,t)}async taskAssignmentInputs(e){return await this.ready,await this.writeQueue,this.database.all("SELECT sequence, payload FROM task_inputs WHERE turn_id = ? AND kind = 'steer' AND state IN ('included', 'resolved') ORDER BY sequence",[e]).map(S)}async pauseTaskInboxTurn(e,t,n){return this.inboxWrite(r=>{D(r,e,t,n),r.run("UPDATE task_inbox_turns SET accepting = 0, paused = 1 WHERE session_id = ?",[e])})}async includeTaskInputs(e,t,n,r){return this.inboxWrite(i=>{D(i,e,t,n);let o=i.get("SELECT input_ids FROM task_input_requests WHERE request_id = ?",[r]);if(o)return JSON.parse(o.input_ids).map(d=>R(i,d));let a=se,p=[];for(let d of N(i,e,t)){try{k(i,d)}catch{E(i,{...d,state:"rejected",error:"local_ponder_control_changed",updatedAt:new Date().toISOString()});continue}if(d.body.length>a||p.length>=32)break;a-=d.body.length,p.push(E(i,{...d,state:"included",turnId:t,requestIds:[...d.requestIds,r],updatedAt:new Date().toISOString()}))}return i.run("INSERT INTO task_input_requests (request_id, session_id, turn_id, input_ids, state, created_at) VALUES (?, ?, ?, ?, 'included', ?)",[r,e,t,JSON.stringify(p.map(d=>d.id)),new Date().toISOString()]),p})}async settleTaskInputRequest(e,t){return this.inboxWrite(n=>{let r=n.get("SELECT input_ids FROM task_input_requests WHERE request_id = ?",[e]);if(r){n.run("UPDATE task_input_requests SET state = ? WHERE request_id = ?",[t,e]);for(let i of JSON.parse(r.input_ids)){let o=R(n,i);!o||o.state!=="included"||E(n,{...o,state:t==="resolved"?"resolved":t==="replaced"?"pending":"included",error:t==="failed"?"Provider request failed after input inclusion; receipt is not evidence of a reply.":null,updatedAt:new Date().toISOString()})}}})}async sealTaskInboxTurn(e,t,n){return this.inboxWrite(r=>(D(r,e,t,n),N(r,e,t).length?!1:(r.run("UPDATE task_inbox_turns SET accepting = 0 WHERE session_id = ?",[e]),!0)))}async sealNativeTaskInboxTurn(e,t,n){return this.inboxWrite(r=>(D(r,e,t,n),r.run("UPDATE task_inbox_turns SET accepting = 0 WHERE session_id = ?",[e]),N(r,e,t).map(i=>E(r,{...i,updatedAt:new Date().toISOString(),...i.kind==="steer"?{state:"rejected",error:"The agent finished before this correction could be dispatched. Send it as a follow-up."}:{turnId:null}}))))}async closeTaskInboxTurn(e,t,n,r){return this.inboxWrite(i=>{let o=h(i,e);if(!(!o||o.turn_id!==t||o.owner_id!==n)){i.run("UPDATE task_inbox_turns SET accepting = 0, paused = CASE WHEN ? = 1 THEN 1 ELSE paused END, lease_until = 0 WHERE session_id = ?",[r==="completed"?0:1,e]);for(let a of N(i,e,t)){try{k(i,a)}catch{E(i,{...a,state:"rejected",error:"local_ponder_control_changed",updatedAt:new Date().toISOString()});continue}a.kind==="steer"?E(i,{...a,state:"rejected",error:`Turn ${r} before this correction was included. Send it as a follow-up.`,updatedAt:new Date().toISOString()}):a.turnId===t&&E(i,{...a,turnId:null,updatedAt:new Date().toISOString()})}}})}async taskInboxPaused(e){return await this.ready,await this.writeQueue,!!h(this.database,e)?.paused}async reserveTaskFollowup(e,t,n){return this.inboxWrite(r=>{let i=h(r,e);if(i?.paused||i&&i.lease_until>Date.now())return null;let o=r.all("SELECT sequence, payload FROM task_inputs WHERE session_id = ? AND state = 'pending' AND turn_id IS NULL AND kind IN ('queued', 'followup') ORDER BY sequence",[e]),a=null;for(let p of o){let d=S(p);try{k(r,d)}catch{return E(r,{...d,state:"rejected",error:"local_ponder_control_changed",updatedAt:new Date().toISOString()})}if(d.senderKind==="ponder"||d.payload.remoteDevice!==void 0){let c=r.get("SELECT payload FROM sessions WHERE id = ?",[e]);try{if(!c)throw new Error("The original local task no longer exists.");ge(d,g.parse(JSON.parse(c.payload))),_e(d,g.parse(JSON.parse(c.payload)))}catch(l){return E(r,{...d,state:"rejected",error:String(l),updatedAt:new Date().toISOString()})}}a=d;break}return a?(r.run(`INSERT INTO task_inbox_turns (session_id, turn_id, owner_id, generation, accepting, paused, lease_until)
|
|
25
|
+
VALUES (?, ?, ?, ?, 1, 0, ?) ON CONFLICT(session_id) DO UPDATE SET turn_id = excluded.turn_id,
|
|
26
|
+
owner_id = excluded.owner_id, generation = excluded.generation, accepting = 1, paused = 0, lease_until = excluded.lease_until`,[e,t,n,(i?.generation??0)+1,Date.now()+G]),E(r,{...a,turnId:t,updatedAt:new Date().toISOString()})):null})}async taskInboxWakeTargets(){return await this.ready,await this.writeQueue,this.database.all(`SELECT DISTINCT i.session_id FROM task_inputs i LEFT JOIN task_inbox_turns t ON t.session_id = i.session_id
|
|
27
|
+
WHERE i.state = 'pending' AND i.turn_id IS NULL AND i.kind IN ('queued', 'followup')
|
|
28
|
+
AND COALESCE(t.paused, 0) = 0 AND COALESCE(t.lease_until, 0) <= ?`,[Date.now()]).map(e=>e.session_id)}async createTaskWait(e){let t=O.parse(e);return this.inboxWrite(n=>{let r=n.get("SELECT payload FROM task_waits WHERE id = ?",[t.id]);if(r)return O.parse(JSON.parse(r.payload));if(t.targetSessionId===t.sessionId)throw new Error("A task cannot wait for itself.");if(t.targetSessionId&&n.get(`WITH RECURSIVE dependencies(session_id) AS (
|
|
29
|
+
SELECT target_session_id FROM task_waits WHERE session_id = ? AND state = 'waiting'
|
|
30
|
+
UNION SELECT w.target_session_id FROM task_waits w JOIN dependencies d ON w.session_id = d.session_id WHERE w.state = 'waiting'
|
|
31
|
+
) SELECT session_id FROM dependencies WHERE session_id = ? LIMIT 1`,[t.targetSessionId,t.sessionId]))throw new Error("This dependency would create a task wait cycle. Coordinate a different order.");return n.run("INSERT INTO task_waits (id, session_id, turn_id, target_session_id, target_turn_id, state, deadline, payload) VALUES (?, ?, ?, ?, ?, ?, ?, ?)",[t.id,t.sessionId,t.turnId,t.targetSessionId,t.targetTurnId,t.state,t.deadline,JSON.stringify(t)]),t})}async settleTaskWait(e,t){return this.inboxWrite(n=>{let r=n.get("SELECT payload FROM task_waits WHERE id = ?",[e]);if(!r)throw new Error("Task wait not found.");let i=O.parse(JSON.parse(r.payload));if(i.state!=="waiting")return i;let o={...i,state:t,updatedAt:new Date().toISOString()};return n.run("UPDATE task_waits SET state = ?, payload = ? WHERE id = ?",[t,JSON.stringify(o),e]),o})}async taskWaitsForSession(e){return await this.ready,await this.writeQueue,this.database.all("SELECT payload FROM task_waits WHERE session_id = ? AND state = 'waiting'",[e]).map(t=>O.parse(JSON.parse(t.payload)))}async commitSubagentCompletion(e,t){let n=b.parse(e);return this.inboxWrite(r=>{let i=new Date().toISOString();r.run(`INSERT INTO subagent_runs (id, parent_session_id, parent_turn_id, child_session_id, role_id, status, payload, created_at, updated_at)
|
|
32
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET status = excluded.status,
|
|
33
|
+
payload = excluded.payload, updated_at = excluded.updated_at`,he(n,i)),r.run("INSERT INTO task_completion_outbox (turn_id, run_id, payload, created_at) VALUES (?, ?, ?, ?) ON CONFLICT(turn_id) DO NOTHING",[t,n.id,JSON.stringify(n),i])})}async pendingTaskCompletions(e=""){return await this.ready,await this.writeQueue,this.database.all("SELECT turn_id, payload FROM task_completion_outbox WHERE input_id IS NULL AND turn_id > ? ORDER BY turn_id LIMIT 100",[e]).map(t=>({turnId:t.turn_id,run:b.parse(JSON.parse(t.payload))}))}async settleTaskCompletion(e,t){return this.inboxWrite(n=>{if(!R(n,t))throw new Error("Completion delivery has no durable input receipt.");n.run("UPDATE task_completion_outbox SET input_id = ? WHERE turn_id = ? AND input_id IS NULL",[t,e])})}};export{qe as SqliteTaskInboxStore};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import
|
|
2
|
+
import"./chunk-M3FLEZ4E.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WBUK73ST.js";import"./chunk-P7HRF4FM.js";import{fa as O}from"./chunk-GS6ZUSIN.js";import"./chunk-2ITZW2CN.js";import"./chunk-OG33QAG6.js";import"./chunk-W5W4IODW.js";import"./chunk-PWK5Z5S3.js";import"./chunk-W45RKGM6.js";import{a as m}from"./chunk-KCJVFLBB.js";import"./chunk-3YXYBYWK.js";import"./chunk-MPNJ2BB4.js";import"./chunk-KOKX7PBS.js";import"./chunk-V7KR74NO.js";import"./chunk-XGY4OQLC.js";import{d as R,e as S,f as k,g as L}from"./chunk-7O6Z3VOZ.js";import"./chunk-5EP2DZLJ.js";import"./chunk-IDOGNIMV.js";import"./chunk-W45RKGM6.js";import"./chunk-PBTXLQAU.js";import"./chunk-7WYL2IDD.js";import"./chunk-5ZBLCWEJ.js";import"./chunk-PCB65K4G.js";import"./chunk-6RS4NAOY.js";import"./chunk-ZZHXQCNB.js";import{F as I}from"./chunk-YNQWJWIC.js";import"./chunk-VNJAAYNQ.js";import"./chunk-7ZLXFKRI.js";import"./chunk-7HRLWPPZ.js";import"./chunk-MTP3B2SU.js";import"./chunk-LAOLJDVB.js";import"./chunk-UWHIU24L.js";import"./chunk-LV3CQ72P.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-6FA3GG5B.js";import"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import{n as f}from"./chunk-VVNV4NNW.js";import{A as h}from"./chunk-PF56N7ZY.js";import{a as y}from"./chunk-FTQLQJQV.js";var A=h.object({scope:h.string(),key:h.string(),ordinal:h.number().int().nonnegative()}).strict(),g=`
|
|
3
3
|
CREATE TABLE IF NOT EXISTS task_inventory_sources (source_key TEXT NOT NULL, profile_id TEXT NOT NULL, source_hash TEXT NOT NULL, metadata TEXT NOT NULL, PRIMARY KEY(profile_id, source_key));
|
|
4
4
|
CREATE TABLE IF NOT EXISTS task_inventory_rows (profile_id TEXT NOT NULL, source_key TEXT NOT NULL, source_hash TEXT NOT NULL, task_id TEXT NOT NULL, ordinal INTEGER NOT NULL, title TEXT NOT NULL, description TEXT NOT NULL, split TEXT NOT NULL, payload TEXT NOT NULL, PRIMARY KEY(profile_id, source_key, source_hash, ordinal));
|
|
5
5
|
CREATE UNIQUE INDEX IF NOT EXISTS task_inventory_task_identity ON task_inventory_rows(profile_id, source_key, source_hash, task_id);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import"./chunk-W45RKGM6.js";import{a as N,d as L}from"./chunk-UPWJSNL5.js";import{d as x,e as Te,g as ye}from"./chunk-6EBCS57F.js";import{e as we,f as Ee}from"./chunk-XMHIQ3SK.js";import{a as ue}from"./chunk-YCZZ62C2.js";import"./chunk-WP2L2NY2.js";import{b as C,c as D,d as ge}from"./chunk-KCOTDUGW.js";import{a as ke}from"./chunk-4L6DU6Z2.js";import{a as M,b as g,c as q}from"./chunk-RZUCVF2Q.js";import"./chunk-M3FLEZ4E.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WBUK73ST.js";import"./chunk-P7HRF4FM.js";import"./chunk-GS6ZUSIN.js";import"./chunk-2ITZW2CN.js";import"./chunk-OG33QAG6.js";import"./chunk-W5W4IODW.js";import"./chunk-PWK5Z5S3.js";import"./chunk-W45RKGM6.js";import{a as me}from"./chunk-KCJVFLBB.js";import"./chunk-3YXYBYWK.js";import"./chunk-MPNJ2BB4.js";import"./chunk-KOKX7PBS.js";import"./chunk-V7KR74NO.js";import"./chunk-XGY4OQLC.js";import"./chunk-7O6Z3VOZ.js";import"./chunk-5EP2DZLJ.js";import"./chunk-IDOGNIMV.js";import"./chunk-W45RKGM6.js";import"./chunk-PBTXLQAU.js";import"./chunk-7WYL2IDD.js";import"./chunk-5ZBLCWEJ.js";import"./chunk-PCB65K4G.js";import{d as ce,e as fe,f as U,o as le,p as pe}from"./chunk-6RS4NAOY.js";import{A as de,j as re,k as ie,m as oe,n as ne}from"./chunk-ZZHXQCNB.js";import{Ca as H,Nb as F,S as se,Ub as he,aa as A,b as X,c as Z,e as $,i as ee,oa as y,wa as T}from"./chunk-YNQWJWIC.js";import"./chunk-VNJAAYNQ.js";import{A as S,B as ae,q as te}from"./chunk-7ZLXFKRI.js";import"./chunk-7HRLWPPZ.js";import"./chunk-MTP3B2SU.js";import"./chunk-LAOLJDVB.js";import"./chunk-UWHIU24L.js";import"./chunk-LV3CQ72P.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-6FA3GG5B.js";import{e as J,f as Y}from"./chunk-2EPR4HLF.js";import"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-UGOK7VTC.js";import{O as B,P as I}from"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import{n as m}from"./chunk-VVNV4NNW.js";import{A as u}from"./chunk-PF56N7ZY.js";import{a as h}from"./chunk-FTQLQJQV.js";import{randomUUID as et}from"node:crypto";import{cp as tt,mkdir as at,readdir as st,rename as G,rm as Ne,stat as rt}from"node:fs/promises";import O from"node:path";function ve(o,t,e,a){let s=t.modelScope;if(!s)return;let i=o.get("SELECT payload FROM model_projects WHERE id = ? AND profile_id = ?",[s.modelId,t.profileId]);if(!i)throw new Error("Taskset draft Model was not found in this Profile.");let r=S.parse(JSON.parse(i.payload)),n={id:e.id,revision:e.revision,contentHash:e.contentHash},f=e.metadata.rewardBinding===void 0?null:te.parse(e.metadata.rewardBinding),p=s.source?.authoringGraph==="bound"&&f&&r.trainingSetup.rewardBindingRef&&I(f,r.trainingSetup.rewardBindingRef);return we(o,{schemaVersion:"openpond.modelProjectSave.v1",operationId:`draft-publication:${m({draftId:t.id,revision:t.revision,scope:s,tasksetRef:n})}`,expectedRevision:s.expectedModelRevision,project:ae.strip().parse({...r,trainingSetup:{...r.trainingSetup,tasksetRef:n,rewardBindingRef:f,tasksetRelease:null,recipe:p?r.trainingSetup.recipe:null,...r.trainingSetup.evaluationTasksetRef&&r.trainingSetup.tasksetRef&&I(r.trainingSetup.evaluationTasksetRef,r.trainingSetup.tasksetRef)?{evaluationTasksetRef:n}:{}}})},null,a?.modelResources?{...a.modelResources,taskset:a.taskset,executionResources:{environment:a.environment,verifierSet:a.verifierSet}}:a??void 0)}h(ve,"selectTasksetDraftModel");import{createHash as je,randomUUID as Je}from"node:crypto";import{lstat as Se,mkdir as Pe,readdir as Be,readFile as $e,rename as qe,rm as Ue,writeFile as Ve}from"node:fs/promises";import R from"node:path";var b=le.extend({workspaceHash:u.string().regex(/^[a-f0-9]{64}$/).nullable()}).strict();async function De(o){let{db:t,profileId:e}=o,a=Z.parse(o.request),s=h(()=>{let w=t.get("SELECT payload FROM model_projects WHERE id = ? AND profile_id = ?",[a.modelId,e]);if(!w)throw new Error("Taskset draft Model was not found in this Profile.");return S.parse(JSON.parse(w.payload))},"requireModel"),i=s(),r=m(a),n=t.get("SELECT request_hash, state, payload FROM model_taskset_draft_operations WHERE profile_id = ? AND operation_id = ?",[e,a.operationId]);if(n){if(n.request_hash!==r)throw new Error("Taskset draft operation was reused with different input.");if(n.state==="deleted")throw new Error("This Taskset draft was deleted.");return b.parse(JSON.parse(n.payload))}if(!o.source)return null;if(i.revision!==a.expectedModelRevision)throw new Error("Model changed before draft initialization. Refresh before editing.");let f=i.trainingSetup.tasksetRef,p=f?t.get("SELECT payload FROM taskset_revisions WHERE taskset_id = ? AND revision = ? AND profile_id = ?",[f.id,f.revision,e]):null,d=p?T.parse(JSON.parse(p.payload)):null;if(!d||!f||d.contentHash!==f.contentHash)throw new Error("The selected source Taskset is unavailable.");let l=o.source,c=i.hosted?.apiOrigin?i.hosted.tasksets.find(w=>w.localTasksetId===d.id&&w.localTasksetHash===d.contentHash&&w.packageHash===l.contentHash&&w.releaseId===l.taskset.id&&w.releaseRevision===l.taskset.revision&&w.releaseHash===l.taskset.contentHash):null,k=typeof d.metadata.importedPackageHash=="string"?d.metadata.importedPackageHash:c?.packageHash;if(k?k!==l.contentHash:!I(B(F({taskset:d,adapterId:x(d)}).tasksetRelease),B(l.taskset)))throw new Error("Taskset draft package differs from its selected source.");let P=l.modelResources?se.safeParse(l.taskset.metadata.modelTasksetDerivation):X.safeParse(l.taskset.metadata.modelTasksetAuthoring),_=c&&P.success&&P.data.owner.modelId===i.id?P.data.owner:{scopeId:e,modelId:i.id},Ce=ce({request:a,owner:_,source:l}),ze=pe({sourceDraft:de(d),source:l,preparation:Ce,expectedModelRevision:a.expectedModelRevision});await C(o.home,l);let K=b.parse({...ze,workspaceHash:null}),We=K.draft;t.exec("BEGIN IMMEDIATE");try{let w=t.get("SELECT request_hash FROM model_taskset_draft_operations WHERE profile_id = ? AND operation_id = ?",[e,a.operationId]);if(w&&w.request_hash!==r)throw new Error("Taskset draft operation was reused with different input.");if(!w&&s().revision!==a.expectedModelRevision)throw new Error("Model changed during draft initialization. Refresh before editing.");t.run("INSERT INTO model_taskset_draft_operations (profile_id, operation_id, request_hash, draft_id, state, payload) VALUES (?, ?, ?, ?, 'prepared', ?) ON CONFLICT(profile_id, operation_id) DO NOTHING",[e,a.operationId,r,We.id,JSON.stringify(K)]),t.exec("COMMIT")}catch(w){throw t.exec("ROLLBACK"),w}let j=t.get("SELECT request_hash, payload FROM model_taskset_draft_operations WHERE profile_id = ? AND operation_id = ?",[e,a.operationId]);if(!j||j.request_hash!==r)throw new Error("Taskset draft operation was reused with different input.");return b.parse(JSON.parse(j.payload))}h(De,"prepareDraftInitialization");async function Re(o){let{initialized:t,workspacePath:e}=o;if(o.completed())return;if(t.workspaceHash)try{if(await Se(e),o.completed())return;if(await V(e),await g(e)!==t.workspaceHash)throw new Error("Prepared Taskset draft files changed before initialization completed.");return}catch(s){if(s.code!=="ENOENT")throw s}let a=`${e}.initializing-${Je()}`;await Pe(R.dirname(e),{recursive:!0});try{let s=t.draft.modelScope?.source;if(!s)throw new Error("Taskset draft lost its source preparation.");let i=await D(o.home,s.sourcePackageHash),r=new Map;for(let f of t.filePaths){let p=i.files.find(d=>d.asset.id===f.assetId);if(!p)throw new Error("Taskset draft source asset is missing.");for(let d of f.paths){if(d.includes("\\")||R.posix.isAbsolute(d)||d.split("/").some(k=>!k||k==="."||k===".."||k.startsWith(".env")))throw new Error("Taskset draft source path is invalid.");let l=r.get(d);if(l&&l!==p.asset.contentHash)throw new Error("Taskset draft source paths conflict.");if(l)continue;let c=R.join(a,d);await Pe(R.dirname(c),{recursive:!0}),await Ve(c,A(p),{flag:"wx"}),r.set(d,p.asset.contentHash)}}await M(t.draft,a);for(let[f,p]of r)if(je("sha256").update(await $e(R.join(a,f))).digest("hex")!==p)throw new Error(`Taskset draft source asset conflicts with authoring file ${f}.`);let n=await g(a);if(o.retainHash({...t,workspaceHash:n}),o.completed())return;try{await qe(a,e)}catch(f){if(!["EEXIST","ENOTEMPTY"].includes(f.code??""))throw f;if(o.completed())return;if(await V(e),await g(e)!==n)throw new Error("Prepared Taskset draft files changed before initialization completed.")}}finally{await Ue(a,{recursive:!0,force:!0})}}h(Re,"materializeDraftInitialization");async function V(o){let t=await Se(o);if(!t.isDirectory()||t.isSymbolicLink())throw new Error("Taskset draft source must be a regular directory.");for(let e of await Be(o,{withFileTypes:!0})){if(e.name.startsWith(".env")||e.isSymbolicLink())throw new Error("Taskset draft source contains a prohibited file.");if(e.isDirectory())await V(R.join(o,e.name));else if(!e.isFile())throw new Error("Taskset draft source must contain regular files.")}}h(V,"assertRegularTree");import Qe from"node:path";async function be(o){let t=F({taskset:o.taskset,adapterId:x(o.taskset)}),e=await ye({root:o.directory,content:{schemaVersion:"openpond.tasksetPackage.v1",taskset:t.tasksetRelease,environment:t.environmentRelease,verifierSet:t.verifierSetRelease},sources:U.parse(o.taskset.metadata.portableFileInventory??[])}),a=o.preparation.authoringGraph==="bound"?await D(o.home,o.preparation.sourcePackageHash):void 0,s=fe({preparation:o.preparation,edited:e,source:a});if(s.modelResources){let c=he({package:s,profileId:o.taskset.profileId,name:o.taskset.name,createdAt:o.taskset.createdAt}),k=ue(c.taskset,o.taskset),P=T.parse({...k,authoringProvenance:o.taskset.authoringProvenance,metadata:{...k.metadata,sourcePackageHash:o.taskset.metadata.sourcePackageHash}}),_=T.parse({...P,contentHash:H(P)});return await ge({home:o.home,...c,taskset:_}),{taskset:_,directory:Qe.join(o.home,"training","tasksets",String(_.environment.metadata.runtimeSourceTasksetId))}}let i=U.parse(o.taskset.metadata.portableFileInventory??[]),r=s.files.map(c=>({asset:c.asset,sourcePath:i.find(k=>k.asset.id===c.asset.id)?.sourcePath??c.asset.path})),n=s.taskset.environment.entrypoint==="openpond.javascript-environment.v1"?s.files.find(c=>c.asset.path==="environment/execution.json"):void 0,f=`model-draft-${m({packageHash:s.contentHash,taskset:o.taskset})}`,p=T.parse({...o.taskset,id:s.taskset.id,revision:s.taskset.revision,metadata:{...o.taskset.metadata,portableFileInventory:r,importedPackageHash:s.contentHash,derivedPortableMetadata:s.taskset.metadata},environment:{...o.taskset.environment,metadata:{...o.taskset.environment.metadata,runtimeSourceTasksetId:f,portableExecutionResources:{environment:s.environment,verifierSet:s.verifierSet}}}}),d=T.parse({...p,contentHash:H(p)}),l=await N(o.home,{taskset:d,generatedFiles:n?[{path:n.asset.path,role:"environment",content:new TextDecoder("utf-8",{fatal:!0}).decode(A(n))}]:[]},f,{source:{directory:o.directory,packageHash:await g(o.directory)},verify:h(c=>L(c,d),"verify")});return await C(o.home,s),{directory:l,taskset:d}}h(be,"materializeModelTasksetDraftPublication");import{constants as Q}from"node:fs";import{createHash as Ge}from"node:crypto";import{lstat as Ie,mkdir as Ke,open as Ye,readdir as Xe,rm as _e}from"node:fs/promises";import z from"node:path";var v=h((o,t)=>Y(z.join(o,"state","taskset-draft-writes"),t),"withTasksetDraftLock"),He=ie,Ze=h(o=>Ge("sha256").update(o).digest("hex"),"digest");async function W(o,t,e=!1){$.parse(t);let a=o;for(let s of["",...t.split("/").slice(0,-1)]){s&&(a=z.join(a,s)),e&&await Ke(a,{recursive:!1}).catch(r=>{if(r.code!=="EEXIST")throw r});let i=await Ie(a);if(!i.isDirectory()||i.isSymbolicLink())throw new Error("Taskset draft paths must use regular directories.")}return z.join(o,t)}h(W,"regularPath");async function Me(o,t){let e=await W(o,t),a=await Ye(e,Q.O_RDONLY|Q.O_NOFOLLOW|Q.O_NONBLOCK);try{let s=await a.stat();if(!s.isFile()||s.size>re)throw new Error("Taskset draft file must be a regular file within the 6 MB editing limit.");let i=Buffer.alloc(s.size),r=0;for(;r<i.length;){let n=await a.read(i,r,i.length-r,r);if(!n.bytesRead)throw new Error("Taskset draft file changed during reading.");r+=n.bytesRead}if((await a.read(Buffer.alloc(1),0,1,r)).bytesRead)throw new Error("Taskset draft file changed during reading.");return i}finally{await a.close()}}h(Me,"readBytes");async function Oe(o,t){let e=await Me(o,t);return oe(t,e)}h(Oe,"readTasksetDraftFile");async function Ae(o){let t=[];async function e(a=""){for(let s of await Xe(z.join(o,a),{withFileTypes:!0})){let i=a?`${a}/${s.name}`:s.name;if($.parse(i),s.isSymbolicLink())throw new Error("Taskset draft files cannot contain symbolic links.");if(s.isDirectory()){await e(i);continue}if(!s.isFile())throw new Error("Taskset draft files must be regular files.");if(t.length>=1e4)throw new Error("Taskset draft file inventory exceeds its limit.");let r=await Ie(await W(o,i));if(!r.isFile()||r.isSymbolicLink())throw new Error("Taskset draft files must be regular files.");t.push({path:i,sizeBytes:r.size,writable:He(i)})}}return h(e,"visit"),await W(o,"taskset.json"),await e(),t.sort((a,s)=>a.path.localeCompare(s.path))}h(Ae,"listTasksetDraftFiles");async function Fe(o,t,e){if(!He(t.path))throw new Error("This file is managed by the Taskset forms or retained source history.");let a=null;try{a=await Me(o,t.path)}catch(r){if(r.code!=="ENOENT")throw r}if((a?Ze(a):null)!==t.expectedFileHash)throw new Error("Taskset draft file changed. Reload it before saving.");if(!a&&t.content===null)throw new Error("Taskset draft file does not exist.");let s=t.content?ne(t.content):null,i=await W(o,t.path,!0);s?await J(i,s):await _e(i);try{return await e()}catch(r){throw a?await J(i,a):await _e(i,{force:!0}),r}}h(Fe,"mutateTasksetDraftFile");var E=u.object({schemaVersion:u.literal("openpond.tasksetDraftPointer.v1"),id:u.string().trim().min(1),profileId:u.string().trim().min(1),modelScope:y.shape.modelScope,status:u.enum(["draft","validating","needs_review","published"]),revision:u.number().int().positive(),workspacePath:u.string().trim().min(1),packageHash:u.string().regex(/^[a-f0-9]{64}$/),publishedTasksetRef:u.object({id:u.string().trim().min(1),revision:u.number().int().positive(),contentHash:u.string().trim().min(8)}).nullable(),createdAt:u.string().trim().min(1),updatedAt:u.string().trim().min(1)}),xe=class extends me{static{h(this,"SqliteTasksetDraftStore")}async initializeModelTasksetDraft(t,e,a){await this.ready;let s=this.writeQueue.then(()=>v(this.home,async()=>{let i=this.database,r=await De({db:i,home:this.home,profileId:t,request:e,source:a});if(!r)return null;let n=h(()=>{let d=i.get("SELECT state FROM model_taskset_draft_operations WHERE profile_id = ? AND operation_id = ?",[t,e.operationId]);if(d?.state==="deleted")throw new Error("This Taskset draft was deleted.");let l=i.get("SELECT payload FROM taskset_drafts WHERE id = ?",[r.draft.id]);if(!l){if(d?.state==="ready")throw new Error("The initialized Taskset draft is unavailable.");return!1}let c=E.parse(JSON.parse(l.payload));if(c.profileId!==t||c.modelScope?.source?.requestHash!==r.draft.modelScope?.source?.requestHash)throw new Error("Taskset draft identity conflicts with its initialization.");return!0},"completed"),f=this.workspacePath(r.draft.id);await Re({home:this.home,initialized:r,workspacePath:f,completed:n,retainHash:h(d=>{let l=i.get("SELECT payload FROM model_taskset_draft_operations WHERE profile_id = ? AND operation_id = ?",[t,e.operationId]),c=b.parse(JSON.parse(l.payload));if(c.workspaceHash&&c.workspaceHash!==d.workspaceHash)throw new Error("Taskset draft initialization produced different files on retry.");i.run("UPDATE model_taskset_draft_operations SET payload = ? WHERE profile_id = ? AND operation_id = ? AND state = 'prepared'",[JSON.stringify(d),t,e.operationId])},"retainHash")}),i.exec("BEGIN IMMEDIATE");try{if(!n()){let d=i.get("SELECT payload FROM model_taskset_draft_operations WHERE profile_id = ? AND operation_id = ?",[t,e.operationId]),l=b.parse(JSON.parse(d.payload)),c=l.draft,k=E.parse({schemaVersion:"openpond.tasksetDraftPointer.v1",id:c.id,profileId:t,modelScope:c.modelScope,status:c.status,revision:c.revision,workspacePath:f,packageHash:l.workspaceHash,publishedTasksetRef:c.publishedTasksetRef,createdAt:c.createdAt,updatedAt:c.updatedAt});i.run("INSERT INTO taskset_drafts (id, profile_id, status, revision, payload, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)",[c.id,t,c.status,c.revision,JSON.stringify(k),c.createdAt,c.updatedAt]),i.run("UPDATE model_taskset_draft_operations SET state = 'ready' WHERE profile_id = ? AND operation_id = ?",[t,e.operationId])}i.exec("COMMIT")}catch(d){throw i.exec("ROLLBACK"),d}let p=i.get("SELECT payload FROM taskset_drafts WHERE id = ?",[r.draft.id]);return this.draftFromStoredPayload(JSON.parse(p.payload))}));return this.writeQueue=s.then(()=>{},()=>{}),s}async saveTasksetDraft(t,e,a={}){let s=y.parse(t);await this.ready;let i=this.writeQueue.then(()=>v(this.home,async()=>{let r=this.database.get("SELECT payload FROM taskset_drafts WHERE id = ?",[s.id]),n=r?E.safeParse(JSON.parse(r.payload)):null;if(n?.success){if(n.data.profileId!==s.profileId)throw new Error("Taskset draft profile cannot change.");if(m(n.data.modelScope?{...n.data.modelScope,expectedModelRevision:0}:null)!==m(s.modelScope?{...s.modelScope,expectedModelRevision:0}:null)||!a.refreshModelRevision&&m(n.data.modelScope)!==m(s.modelScope))throw new Error("Taskset draft Model ownership cannot change.");if(n.data.status==="published")throw new Error("Published Taskset drafts are immutable. Initialize a new draft to revise the Taskset.");if(s.revision<n.data.revision||e!==void 0&&n.data.revision!==e)throw new Error("Taskset draft changed before saving. Refresh before saving.")}else if(e!==void 0)throw new Error("Taskset draft is unavailable for saving.");if((!n?.success||a.refreshModelRevision)&&s.modelScope){let c=this.database.get("SELECT payload FROM model_projects WHERE id = ? AND profile_id = ?",[s.modelScope.modelId,s.profileId]);if(!c)throw new Error("Taskset draft Model was not found in this Profile.");if(S.parse(JSON.parse(c.payload)).revision!==s.modelScope.expectedModelRevision)throw new Error("Taskset draft Model changed. Refresh before editing.")}let f=this.workspacePath(s.id),d=(await M(s,f)).draft,l=E.parse({schemaVersion:"openpond.tasksetDraftPointer.v1",id:d.id,profileId:d.profileId,modelScope:d.modelScope,status:d.status,revision:d.revision,workspacePath:f,packageHash:await g(f),publishedTasksetRef:d.publishedTasksetRef,createdAt:d.createdAt,updatedAt:d.updatedAt});return await this.savePointer(l,!0),d}));return this.writeQueue=i.then(()=>{},()=>{}),i}async importTasksetDraftPackage(t){let e=O.resolve(t.packagePath),s=(await rt(e)).isDirectory()?e:O.dirname(e);await Le(s);let i=await g(s),r=await q(s),n=await this.getTasksetDraft(r.id);if(n){let c=n.metadata.importedTasksetPackage;if(c&&typeof c=="object"&&!Array.isArray(c)&&c.packageHash===i&&n.profileId===t.profileId)return n;throw new Error(`Taskset draft ${r.id} already exists. Import a package with a distinct Taskset id.`)}let f=y.parse({...r,profileId:t.profileId,modelScope:null,status:"draft",revision:1,publishedTasksetRef:null,metadata:{...r.metadata,importedTasksetPackage:{packageHash:i,importedAt:new Date().toISOString()}},updatedAt:new Date().toISOString()}),p=this.workspacePath(f.id),d=`${p}.import-${process.pid}-${Date.now()}`;await at(O.dirname(p),{recursive:!0});try{await tt(s,d,{recursive:!0,errorOnExist:!0,force:!1,preserveTimestamps:!0}),await M(f,d),await G(d,p)}catch(c){throw await Ne(d,{recursive:!0,force:!0}),c}let l=E.parse({schemaVersion:"openpond.tasksetDraftPointer.v1",id:f.id,profileId:f.profileId,status:f.status,revision:f.revision,workspacePath:p,packageHash:await g(p),publishedTasksetRef:f.publishedTasksetRef,createdAt:f.createdAt,updatedAt:f.updatedAt});return await this.savePointer(l),this.draftFromStoredPayload(l)}async materializePublishedTasksetPackage(t){let e=await this.getTasksetDraftWorkspace(t.draftId);if(!e)throw new Error(`Taskset draft ${t.draftId} workspace was not found.`);if(t.taskset.metadata.sourcePackageHash!==void 0&&t.taskset.metadata.sourcePackageHash!==e.packageHash)throw new Error("Taskset draft files changed before publication. Refresh before publishing.");let a=`draft-${m({taskset:t.taskset,packageHash:e.packageHash})}`,s=await Te(t.taskset,e.workspacePath),i=T.parse({...s.taskset,metadata:{...s.taskset.metadata,sourcePackageHash:e.packageHash},environment:{...s.taskset.environment,metadata:{...s.taskset.environment.metadata,runtimeSourceTasksetId:a}}}),r=T.parse({...i,contentHash:H(i)}),n=await N(this.home,{taskset:r,generatedFiles:s.generatedFiles},a,{source:{directory:e.workspacePath,packageHash:e.packageHash},verify:h(p=>L(p,r),"verify")}),f=await this.getTasksetDraft(t.draftId);return f?.modelScope?.source?be({home:this.home,directory:n,taskset:r,preparation:f.modelScope.source}):{directory:n,taskset:r}}async finalizeTasksetDraftPublication(t){await this.ready;let e=y.parse(t.draft),a=T.parse(t.taskset),s=e.modelScope?.source?.authoringGraph==="bound"&&typeof a.metadata.importedPackageHash=="string"?await D(this.home,a.metadata.importedPackageHash):null,i=this.writeQueue.then(()=>v(this.home,async()=>{let r=this.database.get("SELECT payload FROM taskset_drafts WHERE id = ?",[e.id]);if(!r)throw new Error("Taskset draft was deleted before publication.");let n=E.parse(JSON.parse(r.payload));if(n.profileId!==e.profileId||a.profileId!==e.profileId)throw new Error("Taskset publication belongs to another Profile.");if(m(n.modelScope)!==m(e.modelScope))throw new Error("Taskset draft Model ownership cannot change.");if(n.status==="published"&&n.publishedTasksetRef){let c=n.publishedTasksetRef,k=this.database.get("SELECT payload FROM taskset_revisions WHERE taskset_id = ? AND revision = ? AND content_hash = ?",[c.id,c.revision,c.contentHash]);if(!k)throw new Error("Published draft lost its immutable Taskset revision.");return{draft:y.parse({...e,status:n.status,revision:n.revision,publishedTasksetRef:c,updatedAt:n.updatedAt}),taskset:T.parse(JSON.parse(k.payload))}}if(n.revision!==e.revision||a.metadata.sourcePackageHash!==t.packageHash)throw new Error("Taskset draft changed before publication. Refresh before publishing.");let f=n.modelScope?.source,p=f?.authoringGraph==="bound"&&a.metadata.modelTasksetDerivation&&typeof a.metadata.modelTasksetDerivation=="object"?{...a.metadata.modelTasksetDerivation,schemaVersion:f.lineage.schemaVersion}:a.metadata.modelTasksetAuthoring;if(f&&(a.id!==f.tasksetId||a.revision!==f.tasksetRevision||m(p)!==m(f.lineage)))throw new Error("Taskset publication differs from its retained source preparation.");let d=y.parse({...e,status:"published",revision:e.revision+1,publishedTasksetRef:{id:a.id,revision:a.revision,contentHash:a.contentHash},updatedAt:new Date().toISOString()}),l=E.parse({...n,status:d.status,revision:d.revision,publishedTasksetRef:d.publishedTasksetRef,updatedAt:d.updatedAt});return ke(this.database,a,()=>{if(s&&Ee(this.database,{package:s,taskset:a,generatedFiles:[]}),ve(this.database,e,a,s),this.database.get("SELECT revision FROM taskset_drafts WHERE id = ?",[e.id])?.revision!==e.revision)throw new Error("Taskset draft changed during publication.");this.database.run("UPDATE taskset_drafts SET status = ?, revision = ?, payload = ?, updated_at = ? WHERE id = ?",[l.status,l.revision,JSON.stringify(l),l.updatedAt,e.id])}),{draft:d,taskset:a}}));return this.writeQueue=i.then(()=>{},()=>{}),i}async getTasksetDraft(t){let e=await this.getParsedPayload("SELECT payload FROM taskset_drafts WHERE id = ?",[t],a=>a);return e===null?null:this.draftFromStoredPayload(e)}async listTasksetDrafts(t){await this.ready,await this.writeQueue;let e=await this.all(t?"SELECT payload FROM taskset_drafts WHERE profile_id = ? ORDER BY updated_at DESC":"SELECT payload FROM taskset_drafts ORDER BY updated_at DESC",t?[t]:[]);return Promise.all(e.map(a=>this.draftFromStoredPayload(JSON.parse(a.payload))))}async readHumanPublishedTasksetDraft(t,e){let a=(await this.listTasksetDrafts(t)).filter(r=>r.status==="published"&&r.modelScope===null&&m(r.publishedTasksetRef)===m(e));if(a.length!==1)return null;let s=a[0],i=await this.getTasksetDraftWorkspace(s.id);return i?{draft:s,workspace:i}:null}async getTasksetDraftWorkspace(t){let e=await this.getParsedPayload("SELECT payload FROM taskset_drafts WHERE id = ?",[t],s=>s);if(e===null)return null;let a=await this.pointerFromStoredPayload(e);return{draftId:a.id,workspacePath:a.workspacePath,packageHash:await g(a.workspacePath)}}async deleteTasksetDraft(t){await this.ready;let e=this.writeQueue.then(()=>v(this.home,async()=>{let a=this.workspacePath(t),s=`${a}.delete-${et()}`,i=!1;try{await G(a,s),i=!0}catch(r){if(r.code!=="ENOENT")throw r}try{this.database.exec("BEGIN IMMEDIATE");try{this.database.run("DELETE FROM taskset_drafts WHERE id = ?",[t]),this.database.run("UPDATE model_taskset_draft_operations SET state = 'deleted' WHERE draft_id = ?",[t]),this.database.exec("COMMIT")}catch(r){throw this.database.exec("ROLLBACK"),r}}catch(r){throw i&&await G(s,a).catch(()=>{}),r}i&&await Ne(s,{recursive:!0,force:!0})}));this.writeQueue=e.catch(()=>{}),await e}async tasksetDraftFiles(t,e,a){return await this.ready,v(this.home,async()=>{let s=this.database.get("SELECT payload FROM taskset_drafts WHERE id = ? AND profile_id = ?",[e,t]);if(!s)throw new Error("Taskset draft was not found in this Profile.");let i=E.parse(JSON.parse(s.payload));if(a!==void 0){let n=await Oe(i.workspacePath,a);return{draftRevision:i.revision,file:{...n,writable:n.writable&&i.status!=="published"}}}let r=await Ae(i.workspacePath);return{draftRevision:i.revision,files:r.map(n=>({...n,writable:n.writable&&i.status!=="published"}))}})}async saveTasksetDraftFile(t,e){let a=ee.parse(e);await this.ready;let s=this.writeQueue.then(()=>v(this.home,async()=>{let i=this.database.get("SELECT payload FROM taskset_drafts WHERE id = ? AND profile_id = ?",[a.draftId,t]);if(!i)throw new Error("Taskset draft was not found in this Profile.");let r=E.parse(JSON.parse(i.payload));if(r.status==="published")throw new Error("Published Taskset drafts are immutable.");if(r.revision!==a.expectedDraftRevision)throw new Error("Taskset draft changed. Reload before saving a file.");return Fe(r.workspacePath,a,async()=>{let n=E.parse({...r,revision:r.revision+1,packageHash:await g(r.workspacePath),updatedAt:new Date().toISOString()}),f=await this.draftFromStoredPayload(n);this.database.exec("BEGIN IMMEDIATE");try{if(this.database.get("SELECT revision FROM taskset_drafts WHERE id = ? AND profile_id = ?",[a.draftId,t])?.revision!==r.revision)throw new Error("Taskset draft changed during file saving.");this.database.run("UPDATE taskset_drafts SET revision = ?, payload = ?, updated_at = ? WHERE id = ?",[n.revision,JSON.stringify(n),n.updatedAt,n.id]),this.database.exec("COMMIT")}catch(p){throw this.database.exec("ROLLBACK"),p}return f})}));return this.writeQueue=s.then(()=>{},()=>{}),s}workspacePath(t){let e=m(t).slice(0,24);return O.join(this.home,"workspaces","tasksets",`taskset-${e}`)}async draftFromStoredPayload(t){let e=await this.pointerFromStoredPayload(t),a=await q(e.workspacePath);return y.parse({...a,id:e.id,profileId:e.profileId,modelScope:e.modelScope,status:e.status,revision:e.revision,publishedTasksetRef:e.publishedTasksetRef,createdAt:e.createdAt,updatedAt:e.updatedAt})}async pointerFromStoredPayload(t){let e=E.safeParse(t);if(e.success)return e.data;let a=y.parse(t);await this.saveTasksetDraft(a);let s=await this.getParsedPayload("SELECT payload FROM taskset_drafts WHERE id = ?",[a.id],E.parse);if(!s)throw new Error(`Taskset draft ${a.id} migration failed.`);return s}async savePointer(t,e=!1){await(e?this.run.bind(this):this.upsertPayload.bind(this))(`INSERT INTO taskset_drafts (id, profile_id, status, revision, payload, created_at, updated_at)
|
|
3
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
4
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
5
|
+
profile_id = excluded.profile_id,
|
|
6
|
+
status = excluded.status,
|
|
7
|
+
revision = excluded.revision,
|
|
8
|
+
payload = excluded.payload,
|
|
9
|
+
updated_at = excluded.updated_at`,[t.id,t.profileId,t.status,t.revision,JSON.stringify(t),t.createdAt,t.updatedAt])}};async function Le(o){let t=await st(o,{withFileTypes:!0});for(let e of t){let a=O.join(o,e.name);if(e.isSymbolicLink())throw new Error(`Taskset packages cannot contain symbolic links: ${a}`);if(e.isDirectory()){await Le(a);continue}if(!e.isFile())throw new Error(`Taskset packages may contain only files and directories: ${a}`)}}h(Le,"assertRegularPackageTree");export{xe as SqliteTasksetDraftStore};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as A}from"./chunk-
|
|
2
|
+
import{a as A}from"./chunk-4L6DU6Z2.js";import{a as M}from"./chunk-CZ5R4JXZ.js";import{d as N}from"./chunk-LKKMLBOH.js";import"./chunk-DMFUEUAZ.js";import"./chunk-M3FLEZ4E.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WBUK73ST.js";import"./chunk-P7HRF4FM.js";import{h as l,i as C,l as _}from"./chunk-GS6ZUSIN.js";import"./chunk-2ITZW2CN.js";import"./chunk-OG33QAG6.js";import"./chunk-W5W4IODW.js";import"./chunk-PWK5Z5S3.js";import"./chunk-W45RKGM6.js";import{a as L}from"./chunk-KCJVFLBB.js";import"./chunk-3YXYBYWK.js";import"./chunk-MPNJ2BB4.js";import"./chunk-KOKX7PBS.js";import{f as k,g as T,h as O,i as w,n as g,o as f}from"./chunk-V7KR74NO.js";import"./chunk-XGY4OQLC.js";import{b as I}from"./chunk-7O6Z3VOZ.js";import"./chunk-5EP2DZLJ.js";import"./chunk-IDOGNIMV.js";import"./chunk-W45RKGM6.js";import"./chunk-PBTXLQAU.js";import"./chunk-7WYL2IDD.js";import"./chunk-5ZBLCWEJ.js";import"./chunk-PCB65K4G.js";import"./chunk-6RS4NAOY.js";import"./chunk-ZZHXQCNB.js";import{B as p,ua as S,wa as m}from"./chunk-YNQWJWIC.js";import"./chunk-VNJAAYNQ.js";import"./chunk-7ZLXFKRI.js";import"./chunk-7HRLWPPZ.js";import"./chunk-MTP3B2SU.js";import"./chunk-LAOLJDVB.js";import"./chunk-UWHIU24L.js";import"./chunk-LV3CQ72P.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-6FA3GG5B.js";import"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import{a as o}from"./chunk-FTQLQJQV.js";function h(s,t,a,e,n,r,d){return{schemaVersion:"openpond.trainingChatSearchResult.v1",query:s,offset:t,limit:a,total:e,hasMore:t+n.length<e,indexedChats:r,totalChats:d,indexing:r<d,entries:n.map(i=>({sessionId:i.session_id,title:i.title,updatedAt:i.updated_at,snippet:i.snippet?.trim()||null}))}}o(h,"trainingChatSearchResult");function P(s){let t=s.normalize("NFKC").match(/[\p{L}\p{N}_]+/gu)?.slice(0,24)??[];return t.length?t.map(a=>`"${a.replaceAll('"','""')}"*`).join(" AND "):null}o(P,"trainingChatFtsQuery");function D(s,t,a){let e=s.get(t)??[];e.push(a),s.set(t,e)}o(D,"appendTrainingChatSearchText");var F=class extends L{static{o(this,"SqliteTrainingStore")}async trainingChatSearchSignatures(t){await this.ready,await this.writeQueue;let a=await this.all("SELECT session_id, signature FROM training_chat_search_documents WHERE source = ?",[t]);return new Map(a.map(e=>[e.session_id,e.signature]))}async openPondTrainingChatSearchEvidence(t){await this.ready,await this.writeQueue;let a=[...new Set(t)].slice(0,500);if(!a.length)return[];let e=a.map(()=>"?").join(", "),[n,r,d]=await Promise.all([this.all(`SELECT payload FROM projection_session_shells WHERE id IN (${e})`,a),this.all(`SELECT session_id, payload FROM turns WHERE session_id IN (${e}) ORDER BY sort_index ASC`,a),this.all(`SELECT session_id, payload FROM events
|
|
3
3
|
WHERE name = 'assistant.delta' AND session_id IN (${e})
|
|
4
4
|
ORDER BY sequence ASC`,a)]),i=new Map;for(let u of r){let c=JSON.parse(u.payload);c.prompt.trim()&&D(i,u.session_id,c.prompt)}for(let u of d){let c=JSON.parse(u.payload);c.output?.trim()&&D(i,u.session_id,c.output)}return n.map(u=>{let c=M(JSON.parse(u.payload));return{session:c,body:i.get(c.id)?.join(`
|
|
5
5
|
`)??""}})}async syncTrainingChatSearchDocuments(t,a){await this.ready;let e=this.writeQueue.then(async()=>{let n=await this.all("SELECT session_id, signature FROM training_chat_search_documents WHERE source = ?",[t]),r=new Map(n.map(i=>[i.session_id,i.signature])),d=new Set(a.map(i=>i.sessionId));await this.exec("BEGIN IMMEDIATE");try{for(let i of r.keys())d.has(i)||(await this.run("DELETE FROM training_chat_search_fts WHERE session_id = ?",[i]),await this.run("DELETE FROM training_chat_search_documents WHERE session_id = ?",[i]));for(let i of a)r.get(i.sessionId)!==i.signature&&(await this.run("DELETE FROM training_chat_search_fts WHERE session_id = ?",[i.sessionId]),await this.run(`INSERT INTO training_chat_search_documents (session_id, source, signature, title, updated_at, eligible, body_indexed)
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as
|
|
3
|
-
ON CONFLICT(id) DO UPDATE SET profile_id = excluded.profile_id, payload = excluded.payload, updated_at = excluded.updated_at`,[a.id,a.profileId,JSON.stringify(a),a.createdAt,a.updatedAt]),a}async getModelProject(t){return this.getParsedPayload("SELECT payload FROM model_projects WHERE id = ?",[t],h)}async listModelProjects(t){return this.listParsedPayloads(t?"SELECT payload FROM model_projects WHERE profile_id = ? ORDER BY updated_at DESC":"SELECT payload FROM model_projects ORDER BY updated_at DESC",t?[t]:[],h)}async saveTrainingPlan(t){let a=
|
|
4
|
-
ON CONFLICT(id) DO UPDATE SET taskset_id = excluded.taskset_id, destination_id = excluded.destination_id, payload = excluded.payload`,[a.id,a.tasksetId,a.destinationId,JSON.stringify(a),a.createdAt]),a}async listTrainingPlans(t){return this.listParsedPayloads(t?`SELECT payload FROM training_plans WHERE taskset_id = ? AND destination_id IN ${
|
|
5
|
-
ON CONFLICT(id) DO UPDATE SET plan_id = excluded.plan_id, content_hash = excluded.content_hash, payload = excluded.payload`,[a.id,a.planId,a.contentHash,JSON.stringify(a),a.createdAt]),a}async getTrainingBundle(t){return this.getParsedPayload("SELECT payload FROM training_bundles WHERE id = ?",[t],o.parse)}async listTrainingBundles(t){return this.listParsedPayloads(t?"SELECT payload FROM training_bundles WHERE plan_id = ? ORDER BY created_at DESC":"SELECT payload FROM training_bundles ORDER BY created_at DESC",t?[t]:[],o.parse)}async findTrainingBundleByPlanAndHash(t,a){return this.getParsedPayload("SELECT payload FROM training_bundles WHERE plan_id = ? AND content_hash = ?",[t,a],o.parse)}async saveTrainingJob(t){let a=s.parse(t),
|
|
2
|
+
import{a as E}from"./chunk-AGVOGPAZ.js";import"./chunk-M3FLEZ4E.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WBUK73ST.js";import"./chunk-P7HRF4FM.js";import{J as S,fa as _,ga as g,ha as o,ka as T,ma as s,na as l,ta as p,ua as u}from"./chunk-GS6ZUSIN.js";import"./chunk-2ITZW2CN.js";import"./chunk-OG33QAG6.js";import"./chunk-W5W4IODW.js";import"./chunk-PWK5Z5S3.js";import"./chunk-W45RKGM6.js";import{a as f}from"./chunk-KCJVFLBB.js";import"./chunk-3YXYBYWK.js";import"./chunk-MPNJ2BB4.js";import"./chunk-KOKX7PBS.js";import"./chunk-V7KR74NO.js";import"./chunk-XGY4OQLC.js";import"./chunk-7O6Z3VOZ.js";import"./chunk-5EP2DZLJ.js";import"./chunk-IDOGNIMV.js";import"./chunk-W45RKGM6.js";import"./chunk-PBTXLQAU.js";import"./chunk-7WYL2IDD.js";import"./chunk-5ZBLCWEJ.js";import"./chunk-PCB65K4G.js";import"./chunk-6RS4NAOY.js";import"./chunk-ZZHXQCNB.js";import"./chunk-YNQWJWIC.js";import"./chunk-VNJAAYNQ.js";import"./chunk-7ZLXFKRI.js";import"./chunk-7HRLWPPZ.js";import"./chunk-MTP3B2SU.js";import"./chunk-LAOLJDVB.js";import"./chunk-UWHIU24L.js";import"./chunk-LV3CQ72P.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-6FA3GG5B.js";import"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import{a as d}from"./chunk-FTQLQJQV.js";var c="('openpond_managed')",P=class extends f{static{d(this,"SqliteTrainingJobsStore")}async saveModelProject(t){let a=_.parse(t);return await this.upsertPayload(`INSERT INTO model_projects (id, profile_id, payload, created_at, updated_at) VALUES (?, ?, ?, ?, ?)
|
|
3
|
+
ON CONFLICT(id) DO UPDATE SET profile_id = excluded.profile_id, payload = excluded.payload, updated_at = excluded.updated_at`,[a.id,a.profileId,JSON.stringify(a),a.createdAt,a.updatedAt]),a}async getModelProject(t){return this.getParsedPayload("SELECT payload FROM model_projects WHERE id = ?",[t],h)}async listModelProjects(t){return this.listParsedPayloads(t?"SELECT payload FROM model_projects WHERE profile_id = ? ORDER BY updated_at DESC":"SELECT payload FROM model_projects ORDER BY updated_at DESC",t?[t]:[],h)}async saveTrainingPlan(t){let a=g.parse(t),i=await this.getTrainingPlan(a.id);if(i&&i.contentHash!==a.contentHash)throw new Error(`Training Plan ${a.id} is immutable and already has different content.`);return await this.upsertPayload(`INSERT INTO training_plans (id, taskset_id, destination_id, payload, created_at) VALUES (?, ?, ?, ?, ?)
|
|
4
|
+
ON CONFLICT(id) DO UPDATE SET taskset_id = excluded.taskset_id, destination_id = excluded.destination_id, payload = excluded.payload`,[a.id,a.tasksetId,a.destinationId,JSON.stringify(a),a.createdAt]),a}async listTrainingPlans(t){return this.listParsedPayloads(t?`SELECT payload FROM training_plans WHERE taskset_id = ? AND destination_id IN ${c} ORDER BY created_at DESC`:`SELECT payload FROM training_plans WHERE destination_id IN ${c} ORDER BY created_at DESC`,t?[t]:[],g.parse)}async getTrainingPlan(t){return this.getParsedPayload(`SELECT payload FROM training_plans WHERE id = ? AND destination_id IN ${c}`,[t],g.parse)}async saveTrainingBundle(t){let a=o.parse(t);return await this.upsertPayload(`INSERT INTO training_bundles (id, plan_id, content_hash, payload, created_at) VALUES (?, ?, ?, ?, ?)
|
|
5
|
+
ON CONFLICT(id) DO UPDATE SET plan_id = excluded.plan_id, content_hash = excluded.content_hash, payload = excluded.payload`,[a.id,a.planId,a.contentHash,JSON.stringify(a),a.createdAt]),a}async getTrainingBundle(t){return this.getParsedPayload("SELECT payload FROM training_bundles WHERE id = ?",[t],o.parse)}async listTrainingBundles(t){return this.listParsedPayloads(t?"SELECT payload FROM training_bundles WHERE plan_id = ? ORDER BY created_at DESC":"SELECT payload FROM training_bundles ORDER BY created_at DESC",t?[t]:[],o.parse)}async findTrainingBundleByPlanAndHash(t,a){return this.getParsedPayload("SELECT payload FROM training_bundles WHERE plan_id = ? AND content_hash = ?",[t,a],o.parse)}async saveTrainingJob(t){let a=s.parse(t),i=await this.getTrainingJob(a.id),n=i?.metadata.activityAuthority,r=a.metadata.activityAuthority;if(n!==void 0){let A=E.parse(n);if(r!==void 0&&JSON.stringify(E.parse(r))!==JSON.stringify(A))throw new Error("Training activity ownership cannot change during reconciliation.");a={...a,metadata:{...a.metadata,activityAuthority:A}}}else if(r!==void 0){if(i)throw new Error("Historical training activity cannot be assigned a guessed owner.");a={...a,metadata:{...a.metadata,activityAuthority:E.parse(r)}}}await this.upsertPayload(`INSERT INTO training_jobs (id, plan_id, destination_id, status, payload, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
6
6
|
ON CONFLICT(id) DO UPDATE SET plan_id = excluded.plan_id, destination_id = excluded.destination_id, status = excluded.status,
|
|
7
7
|
payload = CASE WHEN json_extract(training_jobs.payload,'$.metadata.activityAuthority') IS NOT NULL THEN json_set(excluded.payload,'$.metadata.activityAuthority',json_extract(training_jobs.payload,'$.metadata.activityAuthority')) ELSE excluded.payload END,
|
|
8
8
|
updated_at = excluded.updated_at
|
|
9
|
-
WHERE json_extract(excluded.payload,'$.metadata.activityAuthority') IS NULL OR json_extract(training_jobs.payload,'$.metadata.activityAuthority') = json_extract(excluded.payload,'$.metadata.activityAuthority')`,[a.id,a.planId,a.destinationId,a.status,JSON.stringify(a),a.createdAt,a.updatedAt]);let y=await this.getTrainingJob(a.id);if(!y)throw new Error("Training job was not retained.");if(a.metadata.activityAuthority!==void 0&&JSON.stringify(y.metadata.activityAuthority)!==JSON.stringify(a.metadata.activityAuthority))throw new Error("Training activity ownership changed during admission.");return y}async saveTrainingApproval(t){let a=
|
|
10
|
-
ON CONFLICT(id) DO UPDATE SET plan_id = excluded.plan_id, bundle_hash = excluded.bundle_hash, payload = excluded.payload`,[a.id,a.planId,a.bundleHash,JSON.stringify(a),a.approvedAt]),a}async getTrainingApproval(t){return this.getParsedPayload("SELECT payload FROM training_approvals WHERE id = ?",[t],
|
|
9
|
+
WHERE json_extract(excluded.payload,'$.metadata.activityAuthority') IS NULL OR json_extract(training_jobs.payload,'$.metadata.activityAuthority') = json_extract(excluded.payload,'$.metadata.activityAuthority')`,[a.id,a.planId,a.destinationId,a.status,JSON.stringify(a),a.createdAt,a.updatedAt]);let y=await this.getTrainingJob(a.id);if(!y)throw new Error("Training job was not retained.");if(a.metadata.activityAuthority!==void 0&&JSON.stringify(y.metadata.activityAuthority)!==JSON.stringify(a.metadata.activityAuthority))throw new Error("Training activity ownership changed during admission.");return y}async saveTrainingApproval(t){let a=T.parse(t);return await this.upsertPayload(`INSERT INTO training_approvals (id, plan_id, bundle_hash, payload, created_at) VALUES (?, ?, ?, ?, ?)
|
|
10
|
+
ON CONFLICT(id) DO UPDATE SET plan_id = excluded.plan_id, bundle_hash = excluded.bundle_hash, payload = excluded.payload`,[a.id,a.planId,a.bundleHash,JSON.stringify(a),a.approvedAt]),a}async getTrainingApproval(t){return this.getParsedPayload("SELECT payload FROM training_approvals WHERE id = ?",[t],T.parse)}async getTrainingJob(t){return this.getParsedPayload(`SELECT payload FROM training_jobs WHERE id = ? AND destination_id IN ${c}`,[t],s.parse)}async readTrainingExecutionActivity(t){let a=await this.all(`SELECT id,payload,count(*) OVER () AS total FROM training_jobs
|
|
11
11
|
WHERE json_extract(payload,'$.metadata.activityAuthority.schemaVersion')='openpond.trainingActivityAuthority.v1'
|
|
12
12
|
AND json_extract(payload,'$.metadata.activityAuthority.teamId')=? AND json_extract(payload,'$.metadata.activityAuthority.actorId')=?
|
|
13
13
|
AND status IN ('queued','starting','running','cancelling','reconciling')
|
|
14
14
|
AND destination_id != 'openpond_managed'
|
|
15
15
|
${t.projectId?"AND json_extract(payload,'$.metadata.activityAuthority.projectId')=?":""}
|
|
16
|
-
ORDER BY updated_at DESC,id DESC LIMIT ?`,[t.teamId,t.actorId,...t.projectId?[t.projectId]:[],Math.min(100,Math.max(1,t.limit??100))]);return{count:Number(a[0]?.total??0),items:a.map(
|
|
17
|
-
ON CONFLICT(id) DO UPDATE SET job_id = excluded.job_id, sequence = excluded.sequence, payload = excluded.payload`,[a.id,a.jobId,a.sequence,JSON.stringify(a),a.timestamp]),a}async
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
ORDER BY updated_at DESC,id DESC LIMIT ?`,[t.teamId,t.actorId,...t.projectId?[t.projectId]:[],Math.min(100,Math.max(1,t.limit??100))]);return{count:Number(a[0]?.total??0),items:a.map(i=>{let n=s.parse(JSON.parse(i.payload)),r=typeof n.metadata.modelProjectId=="string"?n.metadata.modelProjectId:null;if(!r)throw new Error("This qualified local training job has no retained model route.");return{kind:"training",location:"local",id:n.id,name:n.id,phase:typeof n.metadata.phase=="string"?n.metadata.phase:n.status,updatedAt:n.updatedAt,href:`/models/${encodeURIComponent(r)}/runs/${encodeURIComponent(`job:${n.id}`)}`}})}}async listTrainingJobs(){return this.listParsedPayloads(`SELECT payload FROM training_jobs WHERE destination_id IN ${c} ORDER BY updated_at DESC`,[],s.parse)}async saveTrainingJobEvent(t){let a=l.parse(t);return await this.upsertPayload(`INSERT INTO training_job_events (id, job_id, sequence, payload, created_at) VALUES (?, ?, ?, ?, ?)
|
|
17
|
+
ON CONFLICT(id) DO UPDATE SET job_id = excluded.job_id, sequence = excluded.sequence, payload = excluded.payload`,[a.id,a.jobId,a.sequence,JSON.stringify(a),a.timestamp]),a}async saveHostedTrainingJobEvent(t){let a=l.parse(t);await this.upsertPayload(`INSERT INTO training_job_events (id, job_id, sequence, payload, created_at)
|
|
18
|
+
SELECT ?, ?, COALESCE(MAX(sequence), -1) + 1,
|
|
19
|
+
json_set(?, '$.sequence', COALESCE(MAX(sequence), -1) + 1), ?
|
|
20
|
+
FROM training_job_events WHERE job_id = ?
|
|
21
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
22
|
+
payload = json_set(excluded.payload, '$.sequence', training_job_events.sequence),
|
|
23
|
+
created_at = excluded.created_at
|
|
24
|
+
WHERE training_job_events.job_id = excluded.job_id
|
|
25
|
+
AND julianday(excluded.created_at) >= julianday(training_job_events.created_at)`,[a.id,a.jobId,JSON.stringify(a),a.timestamp,a.jobId]);let i=await this.getParsedPayload("SELECT payload FROM training_job_events WHERE id = ?",[a.id],l.parse);if(!i||i.jobId!==a.jobId)throw new Error("Hosted event belongs to a different training job.");return i}async listTrainingJobEvents(t){return this.listParsedPayloads("SELECT payload FROM training_job_events WHERE job_id = ? ORDER BY sequence ASC",[t],l.parse)}async saveTrainingArtifact(t){let a=p.parse(t);return await this.upsertPayload(`INSERT INTO training_artifacts (id, job_id, kind, payload, created_at) VALUES (?, ?, ?, ?, ?)
|
|
26
|
+
ON CONFLICT(id) DO UPDATE SET job_id = excluded.job_id, kind = excluded.kind, payload = excluded.payload`,[a.id,a.jobId,a.kind,JSON.stringify(a),a.createdAt]),a}async listTrainingArtifacts(t){return this.listParsedPayloads(t?"SELECT payload FROM training_artifacts WHERE job_id = ? ORDER BY created_at DESC":"SELECT payload FROM training_artifacts ORDER BY created_at DESC",t?[t]:[],p.parse)}async getTrainingArtifact(t){return this.getParsedPayload("SELECT payload FROM training_artifacts WHERE id = ?",[t],p.parse)}async saveModelArtifactLineage(t){let a=u.parse(t);return await this.upsertPayload(`INSERT INTO model_artifact_lineage (id, artifact_id, taskset_id, payload, created_at) VALUES (?, ?, ?, ?, ?)
|
|
27
|
+
ON CONFLICT(id) DO UPDATE SET artifact_id = excluded.artifact_id, taskset_id = excluded.taskset_id, payload = excluded.payload`,[a.id,a.artifactId,a.tasksetId,JSON.stringify(a),a.importedAt]),a}async updateModelArtifactLineageServing(t,a){let i=a===null?null:S.parse(a);await this.upsertPayload("UPDATE model_artifact_lineage SET payload = json_set(payload, '$.managedServing', json(?)) WHERE id = ?",[JSON.stringify(i),t])}async updateModelArtifactLineageReview(t,a){let i=u.pick({status:!0,rejectedAt:!0,rejectionReason:!0,frozenEvaluationArtifactId:!0}).parse(a);await this.upsertPayload("UPDATE model_artifact_lineage SET payload = json_set(payload, '$.status', ?, '$.rejectedAt', ?, '$.rejectionReason', ?, '$.frozenEvaluationArtifactId', ?) WHERE id = ?",[i.status,i.rejectedAt,i.rejectionReason,i.frozenEvaluationArtifactId,t])}async listModelArtifactLineage(t){return this.listParsedPayloads(t?"SELECT payload FROM model_artifact_lineage WHERE taskset_id = ? ORDER BY created_at DESC":"SELECT payload FROM model_artifact_lineage ORDER BY created_at DESC",t?[t]:[],O)}async getModelArtifactLineage(t){return this.getParsedPayload("SELECT payload FROM model_artifact_lineage WHERE id = ?",[t],O)}};function h(e){return _.parse(R(e))}d(h,"parseStoredModelProject");function R(e){return!m(e)||typeof e.defaultDestinationId!="string"||e.defaultDestinationId==="openpond_managed"?e:{...e,defaultDestinationId:null}}d(R,"normalizeStoredModelProjectDestination");function O(e){return u.parse(j(e))}d(O,"parseStoredModelArtifactLineage");function j(e){if(!m(e)||!m(e.managedServing))return e;let t=e.managedServing.source;return t!=="openpond_fireworks"&&t!=="openpond_training"?e:{...e,managedServing:null}}d(j,"normalizeStoredManagedServingProjection");function m(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}d(m,"isRecord");export{P as SqliteTrainingJobsStore};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as O}from"./chunk-
|
|
2
|
+
import{a as O}from"./chunk-RDSVU6F6.js";import{Eb as C}from"./chunk-M3FLEZ4E.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WBUK73ST.js";import"./chunk-P7HRF4FM.js";import{A as m,C as _,_ as S,ma as M,n as c,s as p,u as E,v as y,wa as u,x as R}from"./chunk-GS6ZUSIN.js";import"./chunk-2ITZW2CN.js";import"./chunk-OG33QAG6.js";import"./chunk-W5W4IODW.js";import"./chunk-PWK5Z5S3.js";import"./chunk-W45RKGM6.js";import{a as P}from"./chunk-KCJVFLBB.js";import"./chunk-3YXYBYWK.js";import"./chunk-MPNJ2BB4.js";import"./chunk-KOKX7PBS.js";import"./chunk-V7KR74NO.js";import"./chunk-XGY4OQLC.js";import"./chunk-7O6Z3VOZ.js";import"./chunk-5EP2DZLJ.js";import"./chunk-IDOGNIMV.js";import"./chunk-W45RKGM6.js";import"./chunk-PBTXLQAU.js";import"./chunk-7WYL2IDD.js";import"./chunk-5ZBLCWEJ.js";import"./chunk-PCB65K4G.js";import"./chunk-6RS4NAOY.js";import"./chunk-ZZHXQCNB.js";import"./chunk-YNQWJWIC.js";import"./chunk-VNJAAYNQ.js";import"./chunk-7ZLXFKRI.js";import"./chunk-7HRLWPPZ.js";import"./chunk-MTP3B2SU.js";import"./chunk-LAOLJDVB.js";import"./chunk-UWHIU24L.js";import"./chunk-LV3CQ72P.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-6FA3GG5B.js";import"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import{a as l}from"./chunk-FTQLQJQV.js";function w(r,t,e){let a=C.safeParse(e.metadata.portableExecutionRef);return r.kind!=="training"||r.status!=="failed"||r.receipt!==null||t.status!=="succeeded"||t.receipt?.schemaVersion!=="openpond.modelRunReceipt.v1"||t.failure!==null||e.status!=="failed"||e.metadata.phase!=="artifact_collection_failed"||e.metadata.modelRunId!==r.id||!a.success||t.receipt.providerRunId!==(a.data.providerJobId??a.data.runId)||t.receipt.assignmentHash!==e.metadata.harnessRunManifestHash?!1:JSON.stringify({...r,status:t.status,receipt:t.receipt,adapterArtifactLineageId:t.adapterArtifactLineageId,failure:null,completedAt:t.completedAt,updatedAt:t.updatedAt})===JSON.stringify(t)}l(w,"isArtifactCollectionRecoveryTransition");function g(r,t){if(r.kind!=="evaluation"||!["failed","cancelled"].includes(r.status)||t.status!=="running"||t.receipt!==null||t.failure!==null||t.completedAt!==null||!r.evaluation)return!1;let e=r.evaluation.attemptPlan.filter(d=>d.stage==="baseline"||d.stage==="adaptation").reduce((d,n)=>d+n.attemptCount,0),a=r.evaluation.attemptPlan.reduce((d,n)=>d+n.attemptCount,0),i=r.evaluation.attemptPlan.find(d=>d.stage==="candidate_adaptation"),o=e+(i?.attemptCount??0);return!(r.evaluationProgress?.stage==="refiner"&&r.evaluationProgress.completedAttempts===e||r.evaluationProgress?.stage==="candidate_adaptation"&&r.evaluationProgress.completedAttempts>=e&&r.evaluationProgress.completedAttempts<=o||["candidate_adaptation","candidate","comparison"].includes(r.evaluationProgress?.stage??"")&&r.evaluationProgress?.completedAttempts===a)||!r.evaluationProgress?.accounting?!1:JSON.stringify({...r,status:"running",receipt:null,failure:null,completedAt:null,updatedAt:t.updatedAt})===JSON.stringify(t)}l(g,"isCheckpointResumeTransition");var T=class extends P{static{l(this,"SqliteTrainingModelStore")}async saveModelCurrencySnapshot(t){let e=_.parse(t),a=await this.getModelCurrencySnapshot(e.id);if(a){if(a.contentHash===e.contentHash&&JSON.stringify(a)===JSON.stringify(e))return a;throw new Error("An immutable Model Currency Snapshot cannot be replaced.")}return await this.upsertPayload(`INSERT INTO model_currency_snapshots
|
|
3
3
|
(id, series_id, entry_id, evidence_state, content_hash, payload, created_at)
|
|
4
4
|
VALUES (?, ?, ?, ?, ?, ?, ?)`,[e.id,e.seriesId,e.entryId,e.evidenceState,e.contentHash,JSON.stringify(e),e.projectedAt]),e}async getModelCurrencySnapshot(t){return this.getParsedPayload("SELECT payload FROM model_currency_snapshots WHERE id = ?",[t],_.parse)}async listModelCurrencySnapshots(t={}){return t.entryId?this.listParsedPayloads("SELECT payload FROM model_currency_snapshots WHERE entry_id = ? ORDER BY created_at DESC",[t.entryId],_.parse):t.seriesId?this.listParsedPayloads("SELECT payload FROM model_currency_snapshots WHERE series_id = ? ORDER BY created_at DESC",[t.seriesId],_.parse):this.listParsedPayloads("SELECT payload FROM model_currency_snapshots ORDER BY created_at DESC",[],_.parse)}async saveModelComparisonSeries(t){let e=c.parse(t),a=await this.getModelComparisonSeries(e.id);if(a&&(a.profileId!==e.profileId||a.modelProjectId!==e.modelProjectId||a.createdAt!==e.createdAt))throw new Error("A Model Comparison Series cannot change its immutable ownership.");if(a&&e.revision!==a.revision+1){if(JSON.stringify(a)===JSON.stringify(e))return a;throw new Error("A Model Comparison Series update requires the next revision.")}if(a?.scheduleSealedAt&&!v(a,e))throw new Error("A sealed Model Comparison Series definition is immutable.");return await this.upsertPayload(`INSERT INTO model_comparison_series
|
|
5
5
|
(id, profile_id, model_project_id, status, payload, created_at, updated_at)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{i as r,j as c,l as _}from"./chunk-
|
|
2
|
+
import{i as r,j as c,l as _}from"./chunk-4ZBOYWQ3.js";import"./chunk-DMFUEUAZ.js";import{b as l}from"./chunk-W5W4IODW.js";import{a as u}from"./chunk-KCJVFLBB.js";import{O as a}from"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import{a as d}from"./chunk-FTQLQJQV.js";var m=class extends u{static{d(this,"SqliteUsageStore")}async upsertModelUsageRecord(e){await this.ready;let t=l.parse(e),s=this.writeQueue.then(async()=>{await this.run(`INSERT INTO model_usage_records (
|
|
3
3
|
id,
|
|
4
4
|
request_id,
|
|
5
5
|
request_ordinal,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as m,b as g,d as h,e as k}from"./chunk-
|
|
2
|
+
import{a as m,b as g,d as h,e as k}from"./chunk-AHOBCBVZ.js";import{c as f}from"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{c as n,f as u}from"./chunk-3M53YXEI.js";import"./chunk-NG2L6D7G.js";import"./chunk-GLUWATL5.js";import"./chunk-2EPR4HLF.js";import"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-UGOK7VTC.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import{a as c}from"./chunk-FTQLQJQV.js";import T from"node:path";async function I(r,l,w={}){let[t,e]=l;if(!t||!e||l.length!==2||!["import","publish","readiness","delete-draft"].includes(t))throw new Error("usage: taskset <import|publish|readiness|delete-draft> <package-path|draft-id|taskset-id> [--profile <id>] [--model <id>] [--json]");let i=f(r)??process.env.OPENPOND_LOCAL_API_URL?.replace(/\/$/,"")??m,d=new URL(i);if(d.protocol!=="http:"||!["127.0.0.1","localhost","::1"].includes(d.hostname))throw new Error("Taskset package import is available only through the local OpenPond app API.");let a=new k({baseUrl:i,request:w.request??await h(i,{maximumResponseBytes:g})}),s=t==="import"?await a.importTasksetDraftPackage({packagePath:T.resolve(e),profileId:n(r,"profile")||"default"}):t==="publish"?await a.publishTasksetDraft(e,n(r,"model")||null):t==="readiness"?await a.tasksetReadiness(e):await a.deleteTasksetDraft(e);if(u(r.json)){console.log(JSON.stringify(s,null,2));return}let o=s&&typeof s=="object"?s:{};if(t==="import"){console.log(`Imported Taskset draft ${String(o.name??o.id??e)}.`),console.log("Open it in Models \u2192 Tasksets to review it, or publish it with the OpenPond CLI.");return}if(t==="publish"){let p=o.taskset&&typeof o.taskset=="object"?o.taskset:{};console.log(`Published Taskset ${String(p.name??p.id??e)}.`);return}if(t==="readiness"){console.log(`Checked Taskset ${e} readiness.`),console.log(JSON.stringify(s,null,2));return}console.log(`Deleted unpublished Taskset draft ${e}.`)}c(I,"runTasksetCommand");export{I as runTasksetCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as L,b as M,c as N,d as O,e as P,f as Q,g as R,h as S,i as T,j as U,k as V,l as W,m as X,n as Y,o as Z,p as _,q as $,r as aa,s as ba,t as ca,u as da}from"./chunk-JSQRLLN6.js";import{$ as I,A as k,B as l,C as m,D as n,E as o,F as p,G as q,H as r,I as s,J as t,K as u,L as v,M as w,N as x,O as y,P as z,Q as A,U as B,V as C,W as D,X as E,Y as F,Z as G,_ as H,aa as J,ca as K,e as b,f as c,g as d,h as e,i as f,j as g,k as h,l as i,m as j}from"./chunk-WSOUMXH3.js";import"./chunk-N42HT64M.js";import"./chunk-NG2L6D7G.js";import"./chunk-LV3CQ72P.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-OE22TAXP.js";import"./chunk-J572ANHX.js";import{t as a}from"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import"./chunk-FTQLQJQV.js";export{H as AuthoredTasksetFileInventorySchema,n as MAX_TASKSET_PACKAGE_BYTES,a as ModelBatchReviewError,T as ModelBatchReviewInspectionSchema,V as ModelBatchReviewReceiptSchema,U as ModelBatchReviewRequestSchema,b as ModelTasksetAuthoringOwnerSchema,c as ModelTasksetAuthoringSchema,e as ModelTasksetDraftPreparationSchema,d as ModelTasksetDraftRequestSchema,S as OpenPondTasksetPackageClient,R as OpenPondTasksetPackageError,h as TasksetDraftFileContentSchema,g as TasksetDraftFileInfoSchema,j as TasksetDraftFileMutationSchema,f as TasksetDraftFilePathSchema,i as TasksetDraftFileSchema,ba as TasksetDraftSourceInitializationSchema,s as TasksetPackageContentSchema,o as TasksetPackageFileSchema,k as TasksetPackageLearningResourcesSchema,M as TasksetPackageModelConfigurationSchema,N as TasksetPackagePublicationSchema,P as TasksetPackageReadbackSchema,O as TasksetPackageReceiptSchema,t as TasksetPackageSchema,Q as TasksetReleasePackageReadbackSchema,Y as beginModelBatchReview,L as bindOrdinaryModelTasksetReward,K as compileModelTasksetDraftWorkspace,x as createTasksetPackage,r as createTasksetPackageExecutionFile,p as decodeTasksetPackageFile,X as findModelBatchReview,W as inspectModelBatchPackage,I as isGeneratedTasksetPublicationFilePath,l as learningPackageContextFiles,_ as learningVerifierModule,C as materializePortableTasksetRelease,da as materializeTasksetDraftWorkspace,E as portableTasksetEnvironment,F as portableTasksetTools,J as prepareAuthoredTasksetSource,$ as prepareImportedTasksetPackage,z as prepareModelTasksetDraft,ca as prepareTasksetDraftSource,Z as projectLearningBatchGraders,G as projectPortableTaskRecord,D as projectPreferenceComparisonRelease,A as publishModelTasksetDraftPackage,B as resolvePortableTasksetRewardExecution,q as resolveTasksetPackageExecution,v as resolveTasksetPackageInstructions,y as resolveTasksetWorkOutputs,u as tasksetPackageRewardBinding,aa as tasksetPackageSourceId,m as validateTasksetLearningResources,w as validateTasksetPackage};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import"./chunk-PCB65K4G.js";import{a as G,b as H,c as I,d as P,e as Q,f as R,g as S,h as T,j as U,k as V,l as W,m as X,n as Y,o as Z,p as _,q as $}from"./chunk-6RS4NAOY.js";import{c as z,d as A,e as B,f as C,g as D,h as E,i as F}from"./chunk-ZZHXQCNB.js";import{$ as o,Mb as J,Nb as K,Ob as L,Pb as M,Qb as N,Rb as O,Sb as aa,Tb as ba,Ub as ca,Vb as da,X as k,Y as l,Z as m,_ as n,a as b,aa as p,b as c,ba as q,c as d,ca as r,d as e,e as f,f as g,fa as s,g as h,ga as t,h as i,ha as u,i as j,ia as v,ja as w,ka as x,la as y}from"./chunk-YNQWJWIC.js";import"./chunk-VNJAAYNQ.js";import"./chunk-7ZLXFKRI.js";import"./chunk-7HRLWPPZ.js";import"./chunk-MTP3B2SU.js";import"./chunk-LV3CQ72P.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-OE22TAXP.js";import"./chunk-J572ANHX.js";import{t as a}from"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import"./chunk-FTQLQJQV.js";export{R as AuthoredTasksetFileInventorySchema,n as MAX_TASKSET_PACKAGE_BYTES,a as ModelBatchReviewError,G as ModelBatchReviewInspectionSchema,I as ModelBatchReviewReceiptSchema,H as ModelBatchReviewRequestSchema,b as ModelTasksetAuthoringOwnerSchema,c as ModelTasksetAuthoringSchema,e as ModelTasksetDraftPreparationSchema,d as ModelTasksetDraftRequestSchema,F as OpenPondTasksetPackageClient,E as OpenPondTasksetPackageError,h as TasksetDraftFileContentSchema,g as TasksetDraftFileInfoSchema,j as TasksetDraftFileMutationSchema,f as TasksetDraftFilePathSchema,i as TasksetDraftFileSchema,Z as TasksetDraftSourceInitializationSchema,s as TasksetPackageContentSchema,o as TasksetPackageFileSchema,k as TasksetPackageLearningResourcesSchema,z as TasksetPackageModelConfigurationSchema,A as TasksetPackagePublicationSchema,C as TasksetPackageReadbackSchema,B as TasksetPackageReceiptSchema,t as TasksetPackageSchema,D as TasksetReleasePackageReadbackSchema,Y as beginModelBatchReview,V as bindOrdinaryModelTasksetReward,U as compileModelTasksetDraftWorkspace,x as createTasksetPackage,r as createTasksetPackageExecutionFile,p as decodeTasksetPackageFile,X as findModelBatchReview,W as inspectModelBatchPackage,S as isGeneratedTasksetPublicationFilePath,l as learningPackageContextFiles,ba as learningVerifierModule,K as materializePortableTasksetRelease,$ as materializeTasksetDraftWorkspace,M as portableTasksetEnvironment,N as portableTasksetTools,T as prepareAuthoredTasksetSource,ca as prepareImportedTasksetPackage,P as prepareModelTasksetDraft,_ as prepareTasksetDraftSource,aa as projectLearningBatchGraders,O as projectPortableTaskRecord,L as projectPreferenceComparisonRelease,Q as publishModelTasksetDraftPackage,J as resolvePortableTasksetRewardExecution,q as resolveTasksetPackageExecution,v as resolveTasksetPackageInstructions,y as resolveTasksetWorkOutputs,u as tasksetPackageRewardBinding,da as tasksetPackageSourceId,m as validateTasksetLearningResources,w as validateTasksetPackage};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{m as f}from"./chunk-
|
|
2
|
+
import{m as f}from"./chunk-GPL2Z65R.js";import"./chunk-SXMR6E2W.js";import"./chunk-2HAWOMZK.js";import"./chunk-SFKZITAG.js";import"./chunk-XRKFTPHD.js";import"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{a as g,c as a,d}from"./chunk-3M53YXEI.js";import"./chunk-MILEWROZ.js";import"./chunk-OTUBJV6C.js";import"./chunk-27JGS3KB.js";import"./chunk-BT5YNE5U.js";import"./chunk-UTNGEMW5.js";import"./chunk-U2K7QJCG.js";import"./chunk-WSOUMXH3.js";import"./chunk-N42HT64M.js";import"./chunk-NG2L6D7G.js";import"./chunk-GLUWATL5.js";import"./chunk-OSVGNONV.js";import"./chunk-2LJCJOJ7.js";import"./chunk-YBNKGA5C.js";import"./chunk-LAOLJDVB.js";import"./chunk-UWHIU24L.js";import"./chunk-JCLTFDVW.js";import"./chunk-LV3CQ72P.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-2EPR4HLF.js";import"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-UGOK7VTC.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import{a as s}from"./chunk-FTQLQJQV.js";function c(){return["usage: teams-bot <overview|bind|rebind|diagnostics|diagnostic-run>"," teams-bot overview --team-id <id>"," teams-bot bind --team-id <id> --token <token> [--project-id <id>] [--agent-id <id>] [--microsoft-connection-id <id>]"," teams-bot rebind <bindingId> --team-id <id> [--project-id <id>] [--agent-id <id>] [--microsoft-connection-id <id>]"," teams-bot diagnostics <bindingId> --team-id <id>"," teams-bot diagnostic-run <bindingId> --team-id <id> --prompt <text> [--attachments-json <json-array>] [--action-input-json <json-object>]"].join(`
|
|
3
3
|
`)}s(c,"usage");function u(n,o){if(!(o in n))return;let t=a(n,o);return!t||t==="null"||t==="none"?null:t}s(u,"nullableOption");function b(n){let o=d(n,"usage: teams-bot rebind <bindingId>"),t=u(n,"sandboxId"),r=u(n,"projectId"),i=u(n,"agentId"),e=u(n,"microsoftConnectionId");return{teamId:o,...t!==void 0?{sandboxId:t}:{},...r!==void 0?{projectId:r}:{},...i!==void 0?{agentId:i}:{},...e!==void 0?{microsoftConnectionId:e}:{}}}s(b,"bindingTargetInput");function l(n){let o=a(n,"attachmentsJson");if(!o)return;let t=g(o,"attachments-json");if(!Array.isArray(t))throw new Error("attachments-json must be a JSON array");for(let r of t)if(!r||typeof r!="object"||Array.isArray(r))throw new Error("attachments-json entries must be JSON objects");return t}s(l,"attachmentsInput");function w(n){let o=a(n,"actionInputJson");if(!o)return;let t=g(o,"action-input-json");if(!t||typeof t!="object"||Array.isArray(t))throw new Error("action-input-json must be a JSON object");return t}s(w,"actionInput");async function j(n,o){let t=o[0]||"overview",r=await f(n);if(t==="overview"){let i=d(n,"usage: teams-bot overview");console.log(JSON.stringify(await r.getMicrosoftTeamsBotOverview({teamId:i}),null,2));return}if(t==="bind"){let i=a(n,"token");if(!i)throw new Error(c());let e=await r.bindMicrosoftTeamsBotConversation({...b(n),token:i});console.log(JSON.stringify(e,null,2));return}if(t==="rebind"){let i=o[1]?.trim();if(!i)throw new Error(c());let e=await r.rebindMicrosoftTeamsBotConversation(i,b(n));console.log(JSON.stringify(e,null,2));return}if(t==="diagnostics"){let i=o[1]?.trim(),e=d(n,"usage: teams-bot diagnostics <bindingId>");if(!i)throw new Error(c());console.log(JSON.stringify(await r.sendMicrosoftTeamsBotDiagnostic({teamId:e,bindingId:i}),null,2));return}if(t==="diagnostic-run"){let i=o[1]?.trim(),e=d(n,"usage: teams-bot diagnostic-run <bindingId>"),m=a(n,"prompt");if(!i||!m)throw new Error(c());console.log(JSON.stringify(await r.sendMicrosoftTeamsBotDiagnosticRun({teamId:e,bindingId:i,prompt:m,attachments:l(n),actionInput:w(n)}),null,2));return}throw new Error(c())}s(j,"runTeamsBotCommand");export{j as runTeamsBotCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{$ as ca,A as D,Aa as Da,B as E,Ba as Ea,C as F,D as G,E as H,F as I,G as J,H as K,I as L,J as M,K as N,L as O,M as P,N as Q,O as R,P as S,Q as T,R as U,S as V,T as W,U as X,V as Y,W as Z,X as _,Y as $,Z as aa,_ as ba,a as o,aa as da,b as p,ba as ea,c as q,ca as fa,d as r,da as ga,ea as ha,fa as ia,ga as ja,ha as ka,ia as la,ja as ma,ka as na,la as oa,ma as pa,na as qa,oa as ra,p as s,pa as sa,q as t,qa as ta,r as u,ra as ua,s as v,sa as va,t as w,ta as wa,u as x,ua as xa,v as y,va as ya,w as z,wa as za,x as A,xa as Aa,y as B,ya as Ba,z as C,za as Ca}from"./chunk-N42HT64M.js";import{a,b,c,d,e,f,g,h,i,j,k,l,m,n}from"./chunk-NG2L6D7G.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-OE22TAXP.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import"./chunk-FTQLQJQV.js";export{e as OPENPOND_TRAINING_MEDIA_TYPE,d as OPENPOND_TRAINING_PROTOCOL_MAJOR,i as OpenPondProtocolError,Aa as OpenPondTrainingApiError,ga as PolicyOptimizationRequestSchema,ea as RewardModelTrainingRequestSchema,h as TRAINING_API_RESPONSE_MAX_BYTES,U as TRAINING_EVALUATION_SOURCE_PATH,g as TRAINING_INPUT_ARTIFACT_MAX_BYTES,f as TRAINING_JOB_SUBMISSION_MAX_BYTES,q as TrainingAcceptanceGroupPageSchema,r as TrainingAcceptanceGroupQuerySchema,o as TrainingAcceptanceGroupReferenceSchema,p as TrainingAcceptanceGroupSummarySchema,za as TrainingApiErrorSchema,L as TrainingCandidateDecisionRequestSchema,M as TrainingCandidateDecisionSchema,Da as TrainingCapabilitiesSchema,ca as TrainingCapabilityRequirementSchema,u as TrainingCheckpointRecoveryRequestSchema,s as TrainingCheckpointRecoveryResourceApprovalSchema,G as TrainingEstimateComponentSchema,F as TrainingEstimateRequestSchema,b as TrainingEstimateReviewSchema,I as TrainingEstimateSchema,E as TrainingEstimateSourceSchema,V as TrainingEvaluationSourceSchema,Q as TrainingEvaluationTaskPageSchema,P as TrainingEvaluationTaskResultSchema,ua as TrainingExecutionReceiptSchema,c as TrainingGpuCatalogSchema,a as TrainingGpuSelectionSchema,K as TrainingHarnessSourcePublicationSchema,Z as TrainingInputArtifactSchema,Y as TrainingInputArtifactUploadSchema,ia as TrainingJobApprovalSchema,ra as TrainingJobControlRequestSchema,pa as TrainingJobEventSchema,aa as TrainingJobKindSchema,qa as TrainingJobLogSchema,sa as TrainingJobOutputSchema,ya as TrainingJobOutputsSchema,oa as TrainingJobPageSchema,ma as TrainingJobRecoverySchema,ha as TrainingJobRequestSchema,na as TrainingJobSchema,da as TrainingJobSourceSchema,ba as TrainingJobStateSchema,ja as TrainingJobSubmissionSchema,v as TrainingPhysicalPlacementSchema,Ba as TrainingPolicyLoraCapabilitiesSchema,A as TrainingPreparationControlSchema,B as TrainingPreparationListQuerySchema,C as TrainingPreparationPageSchema,x as TrainingPreparationPlanContentSchema,y as TrainingPreparationPlanSchema,z as TrainingPreparationReceiptSchema,w as TrainingPreparationRequestSchema,fa as TrainingQualificationBaseModelSchema,ta as TrainingQualificationEvidenceSchema,J as TrainingQueueStatusSchema,m as assertCanonicalPayloadSize,W as assertTrainingEvaluationIsolation,xa as assertTrainingQualificationReceipt,j as canonicalJson,k as canonicalJsonByteLength,l as canonicalSha256,t as createTrainingCheckpointRecoveryResourceApproval,Ea as createTrainingClient,T as deterministicTrainingRewardSource,O as parseAndVerifyTrainingCandidateDecision,S as parseAndVerifyTrainingEvaluationTaskPage,wa as parseAndVerifyTrainingExecutionReceipt,$ as parseAndVerifyTrainingInputArtifactUpload,la as parseAndVerifyTrainingJobSubmission,D as parseAndVerifyTrainingPreparationReceipt,n as parseBoundedJson,Ca as supportsTrainingPolicyLoraRank,N as trainingCandidateDecisionHash,H as trainingEstimateSourceIdentity,X as trainingEvaluationSourceRef,R as trainingEvaluationTaskPageHash,va as trainingExecutionReceiptHash,_ as trainingInputArtifactUploadHash,ka as trainingJobSubmissionHash};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a,b,c,d,e}from"./chunk-
|
|
2
|
+
import{a,b,c,d,e}from"./chunk-AHOBCBVZ.js";import"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import"./chunk-3M53YXEI.js";import"./chunk-NG2L6D7G.js";import"./chunk-GLUWATL5.js";import"./chunk-2EPR4HLF.js";import"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-UGOK7VTC.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import"./chunk-FTQLQJQV.js";export{a as DEFAULT_LOCAL_TRAINING_API_URL,b as LOCAL_TRAINING_RESPONSE_LIMIT,e as TrainingApiClient,d as createLocalAuthenticatedRequest,c as runTrainingCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as e}from"./chunk-U2K7QJCG.js";import{xa as n}from"./chunk-N42HT64M.js";import"./chunk-NG2L6D7G.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-OE22TAXP.js";import"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import{a as s}from"./chunk-FTQLQJQV.js";function i(t){return t instanceof e?{code:t.code,message:t.message,status:t.status,retryable:t.status===429||t.status>=500,requestId:null}:t instanceof n?{code:t.code,message:t.message,status:t.status,retryable:t.retryable,requestId:t.requestId}:null}s(i,"trainingCliError");export{i as trainingCliError};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as ne}from"./chunk-NWQL6FNF.js";import{a as oe}from"./chunk-SO42ZB5K.js";import{c as te}from"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{c as q,f as I,h as O}from"./chunk-3M53YXEI.js";import"./chunk-4N4EH3RJ.js";import"./chunk-HFJUXKT5.js";import"./chunk-5ZBLCWEJ.js";import{a as j,b as R,c as ee}from"./chunk-U2K7QJCG.js";import{A as Q,Ba as Z,ia as X,t as G,ua as Y,xa as S}from"./chunk-N42HT64M.js";import{i as K,v as W,x as T}from"./chunk-NG2L6D7G.js";import"./chunk-GLUWATL5.js";import"./chunk-JCLTFDVW.js";import"./chunk-ABF3W2MO.js";import"./chunk-RV7PUSI2.js";import"./chunk-KCV5VN4X.js";import"./chunk-6FA3GG5B.js";import"./chunk-2EPR4HLF.js";import"./chunk-BKEDG3A4.js";import"./chunk-OE22TAXP.js";import"./chunk-UGOK7VTC.js";import{pc as k,qc as B,rc as F,sc as V,tc as z,zb as D}from"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import{A as g}from"./chunk-PF56N7ZY.js";import{a as h}from"./chunk-FTQLQJQV.js";async function re(n,s={}){let t=process.env.OPENPOND_CHAT_INVOCATION;if(t)try{let e=process.env.OPENPOND_LOCAL_API_URL;if(!e)throw new Error("The chat executor did not supply its local API URL.");let r=new URL(e);if(r.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(r.hostname)||r.username||r.password)throw new Error("Chat attachment requires the app's loopback API origin.");let d=await(s.request??await(await import("./training-RVIESURJ.js")).createLocalAuthenticatedRequest(e,{timeoutMs:15e3}))(new URL("/v1/chat-experiments",r),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"attach_training",invocationToken:t,payload:{location:"cloud",...n}}),signal:AbortSignal.timeout(15e3),redirect:"error"});if(!d.ok)throw new Error(`Chat attachment returned HTTP ${d.status}.`)}catch(e){(s.warn??console.error)(`Hosted operation succeeded, but chat attachment failed: ${e instanceof Error?e.message:String(e)}. Inspect the saved job to retry attachment; do not submit it again.`)}}h(re,"attachHostedTrainingToChat");import{readFile as he}from"node:fs/promises";var C=g.string().trim().min(1).max(500),de=g.object({id:C,contentHash:g.string().regex(/^[a-f0-9]{64}$/)}).strict(),le=g.object({teamId:C,modelId:C,runId:C.optional(),from:g.string().datetime().optional(),to:g.string().datetime().optional()}).strict(),ue=g.discriminatedUnion("action",[g.object({action:g.literal("declare_verification"),teamId:C,operationId:C,plan:g.object({modelId:k.shape.modelId,classification:k.shape.classification,feedback:k.shape.feedback,evidence:k.shape.evidence,trainingJobId:k.shape.trainingJobId,checkpoint:k.shape.checkpoint,artifact:k.shape.artifact,taskset:k.shape.taskset,checks:k.shape.checks,baselineOperationId:k.shape.baselineOperationId,candidateOperationId:k.shape.candidateOperationId,criterion:k.shape.criterion}).strict()}).strict(),g.object({action:g.literal("link_live_opportunity"),teamId:C,operationId:C,correction:de,inferenceRequestId:C,grade:g.object({id:C,revision:g.number().int().positive()}).strict(),checkIds:g.array(C).min(1).max(1e3)}).strict()]),pe=g.object({summary:z.nullable(),observations:g.array(V).max(1e3)}).strict(),P=class{static{h(this,"OpenPondCorrectionMetricsClient")}options;constructor(s){if(!s.apiKey.trim())throw new Error("Learning API key is required.");let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash)throw new Error("Learning base URL must be an HTTP(S) endpoint without credentials, query, or fragment.");this.options={...s,baseUrl:t.toString().replace(/\/+$/,"")}}async request(s,t,e){let r=await(this.options.fetch??globalThis.fetch)(`${this.options.baseUrl}${s}`,{...e,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"Content-Type":"application/json",Accept:"application/json","X-OpenPond-Team-Id":t}}),i;try{i=await ee(r)}catch(d){throw d instanceof j?d:new j(r.ok?502:r.status,"invalid_response","Correction metrics returned an invalid response.",null)}if(!r.ok){let d=g.object({code:g.string().optional(),error:g.string().optional()}).passthrough().safeParse(i);throw new j(r.status,d.success?d.data.code??"correction_request_failed":"correction_request_failed",d.success?d.data.error??`Correction metrics request failed (${r.status}).`:`Correction metrics request failed (${r.status}).`,i)}return i}async read(s,t={}){let e=le.parse(s),r=pe.parse(await this.request(`/v1/learning/corrections?query=${encodeURIComponent(JSON.stringify(e))}`,e.teamId,{method:"GET",signal:t.signal}));if(r.summary&&(r.summary.scope.teamId!==e.teamId||r.summary.scope.modelId!==e.modelId||e.runId&&r.summary.scope.runId!==e.runId)||r.observations.some(i=>i.modelId!==e.modelId||e.runId&&i.trainingJobId!==e.runId))throw new j(502,"correction_scope_mismatch","Correction metrics did not match the requested workspace, Model or run.",null);return r}async command(s,t={}){let e=ue.parse(s);D(e);let r=await this.request("/v1/learning/corrections",e.teamId,{method:"POST",body:JSON.stringify(e),signal:t.signal});if(e.action==="declare_verification"){let d=B.parse(r);if(d.teamId!==e.teamId||d.modelId!==e.plan.modelId||d.trainingJobId!==e.plan.trainingJobId)throw new j(502,"correction_scope_mismatch","Correction declaration did not match the requested workspace, Model or run.",null);return d}let i=F.parse(r);if(i.correction.id!==e.correction.id||i.correction.contentHash!==e.correction.contentHash||i.attempt.id!==e.inferenceRequestId)throw new j(502,"correction_scope_mismatch","Correction opportunity did not match the declared correction and serving request.",null);return i}};var $=new Set(["succeeded","failed","cancelled"]);function L(n){let s=O(n.intervalMs,"interval-ms")??1e4,t=O(n.cleanupTimeoutMs,"cleanup-timeout-ms")??18e4,e=O(n.cleanupReserveMs,"cleanup-reserve-ms")??18e4;if([s,t,e].some(d=>!Number.isSafeInteger(d)||d>2147483647))throw new Error("Watch intervals and cleanup bounds must fit a positive 32-bit millisecond timer.");if(s<250)throw new Error("--interval-ms must be at least 250.");if(t<1e3||e<1e3)throw new Error("Cleanup timeout and reserve must be at least 1000 ms.");let r=q(n,"deadlineAt");if(!r&&n.cleanupReserveMs!==void 0)throw new Error("--cleanup-reserve-ms requires --deadline-at.");let i=r?Date.parse(r):null;if(r&&(!/T.*(?:Z|[+-]\d{2}:\d{2})$/.test(r)||!Number.isFinite(i)))throw new Error("--deadline-at requires an ISO timestamp with an explicit timezone.");if(i!==null&&i-e<=Date.now())throw new Error("--deadline-at must leave time for execution and the cleanup reserve.");return{intervalMs:s,deadlineAt:i,cancelAt:i===null?null:i-e,waitForCleanup:i!==null||I(n.waitForCleanup)||I(n.cancelOnInfrastructureError),cleanupTimeoutMs:t,cancelOnInfrastructureError:I(n.cancelOnInfrastructureError)}}h(L,"parseHostedWatchOptions");async function _(n,s,t){for(let e=0;e<4;e++){let r=await n.getJob(s);if(A(r,s,t),$.has(r.state)||r.state==="cancelling")return r;try{let i=await n.cancelJob(s,r.version);return A(i,s,t,r.submissionHash),i}catch(i){if(!(i instanceof S)||i.status!==409||i.code!=="stale_version"||e===3)throw i}}throw new Error("Hosted cancellation could not reconcile the current Job version.")}h(_,"cancelHostedTrainingJob");async function ae(n,s,t){for(let e=0;e<4;e++){let r=await n.getJob(s);if(A(r,s,t),$.has(r.state)||r.state==="cancelling")return r;try{let i=await n.stopAfterGroup(s,r.version);return A(i,s,t,r.submissionHash),i}catch(i){if(!(i instanceof S)||i.status!==409||i.code!=="stale_version"||e===3)throw i}}throw new Error("Hosted graceful stop could not reconcile the current Job version.")}h(ae,"stopHostedTrainingJobAfterGroup");async function N(n){let{client:s,options:t,jobId:e,teamId:r}=n,i=null,d,m=!1;for(;;){let p=Math.min(t.deadlineAt??1/0,i??1/0);if(n.requestBound.deadlineAt=Number.isFinite(p)?p:null,Date.now()>=p)throw ie(e);try{let c=t.cancelAt!==null&&Date.now()>=t.cancelAt&&!m?await _(s,e,r):await s.getJob(e);if(A(c,e,r,d),d=c.submissionHash,t.cancelOnInfrastructureError&&!m&&!$.has(c.state)&&c.state!=="cancelling"){let l=await s.events(e);if(l.some(v=>v.jobId!==e))throw new Error("Hosted event does not match the watched Job.");let y=l.find(v=>v.type==="rollout_metric"&&v.data.terminalClass==="infrastructure"&&v.data.rewardEligible===!1);y&&(n.print({jobId:e,event:"hosted_watch_infrastructure_failure",trajectoryEventId:y.id,data:y.data}),c=await _(s,e,r),A(c,e,r,d),i??=Date.now()+t.cleanupTimeoutMs)}if(m||=c.state==="cancelling"||$.has(c.state),n.print(c),$.has(c.state)){let l=c.executionMode==="qualification"&&c.state==="succeeded";if(!t.waitForCleanup&&!l)return;i??=Date.now()+t.cleanupTimeoutMs,n.requestBound.deadlineAt=Math.min(t.deadlineAt??1/0,i);let{receipt:y,outputs:v}=await s.outputs(e);if(y){if(y.jobId!==e||y.teamId!==r||y.submissionHash!==d)throw new Error("Hosted cleanup receipt does not match the watched Job and submission.");if(y.cleanupComplete){l&&await Y(y,{submissionHash:d,outputs:v}),n.print({jobId:e,cleanup:{scope:"job",complete:!0,receipt:y}});return}}else if(c.rolloutProgress.groupsTarget===0&&n.readNativeInspection){let E=oe(await n.readNativeInspection(e),c);if(E.cleanupComplete){n.print({jobId:e,cleanup:{scope:"job",complete:!0,evidence:"native_read_only_attestation",nativeJobVersion:E.nativeJobVersion,attestation:E.cleanupAttestation}});return}}}}catch(c){if(n.requestBound.deadlineAt!==null&&Date.now()>=n.requestBound.deadlineAt)throw ie(e);if(t.deadlineAt===null&&i===null||!me(c))throw c;console.error(JSON.stringify({jobId:e,event:"hosted_watch_retry",code:c instanceof S?c.code:"transport_unavailable"}))}let b=Math.min(n.requestBound.deadlineAt??1/0,!m&&t.cancelAt!==null&&Date.now()<t.cancelAt?t.cancelAt:1/0);await new Promise(c=>setTimeout(c,Math.max(0,Math.min(t.intervalMs,b-Date.now()))))}}h(N,"watchHostedTrainingJob");function A(n,s,t,e){if(n.id!==s||n.teamId!==t||e!==void 0&&n.submissionHash!==e)throw new Error("Hosted response does not match the requested Job, workspace, and submission.")}h(A,"assertJobIdentity");function me(n){return n instanceof S?n.status===429||n.status>=500:n instanceof K?n.code==="invalid_error_response"||n.code==="invalid_json":n instanceof TypeError||n instanceof Error&&["TimeoutError","AbortError"].includes(n.name)}h(me,"isTransient");function ie(n){return new Error(`Hosted watch deadline reached for ${n}; completed job cleanup is unverified. Inspect hosted-status, hosted-artifacts, and provider retirement before treating resources as released.`)}h(ie,"cleanupDeadlineError");var M=h(n=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:2,maximumFractionDigits:4}).format(n),"money"),se=h(n=>n>=3600?`${(n/3600).toFixed(1)} hours`:`${Math.max(1,Math.ceil(n/60))} minutes`,"duration");function U(n,s){if(s){console.log(JSON.stringify(n,null,2));return}console.log(`Estimate ${n.id} (${n.status.replaceAll("_"," ")})`),console.log(`Model: ${n.configuration.modelId}@${n.configuration.modelRevision}`);let t=n.configuration;console.log(`Configuration: ${t.method}${t.loraRank===null?"":`, rank ${t.loraRank}`}${t.groups===null?"":`, ${t.groups} groups`}${t.rolloutConcurrency===null?"":`, ${t.rolloutConcurrency} rollout lanes`}${t.adapterMode===null?"":`, ${t.adapterMode}`}`),console.log(`GPU: ${n.gpu.resolved?.gpuType??"Awaiting a supported offering"} (${n.gpu.requested.mode}, ${n.gpu.availability})`);let e=n.cost;console.log(`Expected cost: ${e.expectedUsd===null?"Not yet calibrated":M(e.expectedUsd)}`),e.planningRangeUsd&&console.log(`Planning range: ${M(e.planningRangeUsd.low)}\u2013${M(e.planningRangeUsd.high)}`),console.log(`Execution time: ${n.executionSeconds.expected===null?"Not yet calibrated":se(n.executionSeconds.expected)}`),console.log(`Queue wait: ${n.queueWaitSeconds===null?"Start time not yet known":`about ${se(n.queueWaitSeconds.expected)}`}`),console.log(`Recommended maximum budget: ${e.recommendedMaximumUsd===null?"Unavailable with current evidence":M(e.recommendedMaximumUsd)}`),console.log(`Approved hard cap: ${t.approvedMaximumUsd===null?"Not approved":M(t.approvedMaximumUsd)}`),t.approvedMaximumUsd!==null&&e.expectedUsd!==null&&e.expectedUsd>t.approvedMaximumUsd&&console.log("Expected cost exceeds the approved cap. Change the run or explicitly approve a different budget before submission.");for(let r of e.components)r.expectedUsd!==null&&console.log(` ${r.phase.replaceAll("_"," ")} / ${r.resource}: ${M(r.expectedUsd)}`);for(let r of n.assumptions)console.log(`Assumption: ${r}`);for(let r of n.unknowns)console.log(`Unknown: ${r}`);console.log(`Evidence: ${n.calibration.completedSamples} completed, ${n.calibration.partialSamples} partial samples; expires ${n.expiresAt}`),console.log("This estimate reserves no resources and approves no spending.")}h(U,"printTrainingEstimate");var f=h(n=>console.log(JSON.stringify(n,null,2)),"print");async function Le(n,s){let t=s[0],e=s[1],r=t==="hosted-watch"?L(n):null,i={deadlineAt:r?.deadlineAt??null},d=await fe(n);if(!d.token)throw new Error("Sign in to an OpenPond account before using hosted training.");let m=te(n)??d.apiBaseUrl;if(new URL(m).origin!==new URL(d.apiBaseUrl).origin)throw new Error("The hosted API URL must match the signed-in account\u2019s API origin.");let p=q(n,"teamId");if(!p)throw new Error("Hosted training requires --team-id <workspace-id>.");let b=new Headers({"x-openpond-team-id":p});d.token.startsWith("opk_")?(b.set("Authorization",`ApiKey ${d.token}`),b.set("openpond-api-key",d.token)):b.set("Authorization",`Bearer ${d.token}`);let c=h((o,a)=>{let u=i.deadlineAt===null?1/0:i.deadlineAt-Date.now();if(u<=0)throw new DOMException("Hosted watch deadline reached","TimeoutError");let w=AbortSignal.timeout(Math.max(1,Math.min(r?1e4:18e4,u)));return fetch(o,{...a,redirect:"error",signal:a?.signal?AbortSignal.any([a.signal,w]):w})},"request"),l=Z({baseUrl:m,headers:b,fetch:c}),y=h(o=>re({jobId:o,teamId:p,apiOrigin:new URL(m).origin}),"attach"),v=h(async(o,a)=>{f(o),await y(a)},"printAttached"),E=h(async()=>{if(!e)throw new Error(`${t} requires an input JSON file.`);let o=await he(e);if(o.byteLength>64*1024*1024)throw new Error("Hosted training input exceeds 64 MiB.");return JSON.parse(o.toString("utf8"))},"readInput"),H=h(async o=>{let a=await c(new URL(`/v1/managed-rl/jobs/${encodeURIComponent(o)}`,m),{headers:b});if(!a.ok)throw new S(a.status,{schemaVersion:"openpond.trainingApiError.v2",code:"inspection_failed",message:`Hosted job inspection failed (${a.status}).`,retryable:a.status===429||a.status>=500,requestId:null,details:{}});return a.json()},"readNativeInspection");if(s.length>2)throw new Error(`${t} accepts at most one identifier or input file.`);if(["hosted-serving-pools","hosted-base-serving-prepare","hosted-serving-pool-retire"].includes(t??"")){f(await(await import("./training-hosted-serving-QAV7ZGGV.js")).runHostedServingCommand({action:t,target:e,baseUrl:m,headers:b,request:c,readInput:E,confirmed:I(n.yes)}));return}if(t==="hosted-evaluate-checkpoint"){if(!I(n.yes))throw new Error("Paid checkpoint evaluation requires --yes.");let o=(await import("./training-hosted-checkpoint-evaluation-JJPP7KFW.js")).parseCheckpointEvaluationRequest(await E()),a=new Headers(b);a.set("content-type","application/json");let u=await c(new URL("/v1/managed-rl/serving-soaks",m),{method:"POST",headers:a,body:JSON.stringify(o)}),w=await u.json();if(!u.ok){let J=w&&typeof w=="object"&&"error"in w?String(w.error):"checkpoint_evaluation_failed";throw new Error(`Checkpoint evaluation failed (${u.status}): ${J}. Reconcile hosted-jobs before retrying the same immutable request.`)}let x=(await import("./training-hosted-checkpoint-evaluation-JJPP7KFW.js")).parseCheckpointEvaluationResponse(w,o);await v(x,x.job.id);return}if(t==="hosted-provider"||t==="hosted-quotes"){if(e)throw new Error(`${t} does not accept an identifier.`);let o=t==="hosted-provider"?"/v1/managed-rl/provider-inventory":"/v1/managed-rl/quotes",a=await c(new URL(o,m),{headers:b}),u=await a.json();if(!a.ok)throw new Error(`Hosted capacity read failed (${a.status}).`);f(u);return}if(t==="hosted-workers"||t==="hosted-worker"||t?.startsWith("hosted-worker-")){f(await(await import("./training-hosted-workers-LST4ZUXN.js")).runHostedWorkerCommand({action:t,target:e,baseUrl:m,headers:b,request:c,readInput:E,confirmed:I(n.yes)}));return}if(t==="hosted-models"){f(await T({baseUrl:m,headers:b,fetch:c}).list());return}if(t==="hosted-model"){if(!e)throw new Error("hosted-model requires a Model Project ID.");f(await T({baseUrl:m,headers:b,fetch:c}).get(e));return}if(t==="hosted-corrections"||t==="hosted-learning-inspect"){if(!e)throw new Error(`${t} requires a hosted Model Project ID.`);let{project:o}=await T({baseUrl:m,headers:b,fetch:c}).get(e);f(await(await import("./training-hosted-learning-Y7NHRY4V.js")).inspectHostedLearning({action:t,options:n,teamId:p,model:o,learning:new R({baseUrl:m,apiKey:d.token,scope:p,fetch:c}),corrections:new P({baseUrl:m,apiKey:d.token,fetch:c})}));return}if(t==="hosted-sync-model"){let o=W.parse(await E());f(await T({baseUrl:m,headers:b,fetch:c}).upsert(o));return}if(t==="hosted-publish-taskset"){let{OpenPondTasksetPackageClient:o,TasksetPackagePublicationSchema:a}=await import("./taskset-packages-X4K65DTW.js"),u=a.parse(await E());f(await new o({baseUrl:m,apiKey:d.token,teamId:p,fetch:c}).publish(u));return}if(t==="hosted-capabilities"){f(await l.capabilities());return}if(t==="hosted-gpu-catalog"){f(await l.gpuCatalog());return}if(t==="hosted-start-model"){if(!e)throw new Error("training start requires a saved hosted Model Project ID.");let o=await(await import("./training-model-start-ROLS3E4V.js")).startHostedModel({options:n,modelId:e,teamId:p,client:l,models:T({baseUrl:m,headers:b,fetch:c}),learning:new R({baseUrl:m,apiKey:d.token,scope:p,fetch:c})});f(o),o.preparation.jobId&&await y(o.preparation.jobId),o.preparation.jobId&&!I(n.detach)&&await N({client:l,jobId:o.preparation.jobId,teamId:p,options:L(n),print:f,requestBound:i,readNativeInspection:H});return}if(t==="hosted-estimate-model"){if(!e)throw new Error("training estimate requires a hosted Model Project ID.");let{project:o}=await T({baseUrl:m,headers:b,fetch:c}).get(e),a=q(n,"batchId"),u=a?await new R({baseUrl:m,apiKey:d.token,scope:p,fetch:c}).get("batch",a):null,{trainingGpuChoice:w}=await import("./training-model-start-ROLS3E4V.js"),x=w(n)??o.trainingSetup.managedGpuSelection;U(await l.estimate({schemaVersion:"openpond.trainingEstimateRequest.v1",teamId:p,source:{kind:"configuration",id:o.id,expectedRevision:o.revision,expectedEtag:o.etag,batch:u?{id:u.id,revision:u.revision,contentHash:u.contentHash}:null},...x?{gpuSelection:x}:{}}),I(n.json));return}if(t==="hosted-estimate"){let{TrainingEstimateRequestSchema:o}=await import("./training-3IWW4256.js"),a=o.parse(await E());if(a.teamId!==p)throw new Error("Estimate input belongs to a different workspace.");U(await l.estimate(a),I(n.json));return}if(t==="hosted-batches"){let o=new R({baseUrl:m,apiKey:d.token,scope:p,fetch:c});f(await o.list("batch",{limit:100}));return}if(t==="hosted-preparations"){f(await l.listPreparations(p));return}if(t==="hosted-jobs"){f(await l.listJobs({limit:100}));return}if(t==="hosted-prepare"){let o=G.parse(await E());if(o.teamId!==p)throw new Error("Preparation input belongs to a different workspace.");f(await l.prepareRun(o));return}if(t==="hosted-start"){let o=await Q(await E());if(o.plan.request.teamId!==p)throw new Error("Preparation belongs to a different workspace.");let a=await l.estimate({schemaVersion:"openpond.trainingEstimateRequest.v1",teamId:p,source:{kind:"preparation",id:o.plan.id,planHash:o.plan.contentHash,expectedRevision:o.revision}});if(I(n.json)||U(a,!1),!I(n.yes))throw new Error("Starting paid hosted training requires --yes.");let u=await l.startPreparation(o.plan.id,{teamId:p,planHash:o.plan.contentHash,expectedRevision:o.revision,estimateReview:a.review});f(u),u.jobId&&await y(u.jobId);return}if(t==="hosted-stage"){f(await l.stageArtifact(await E()));return}if(t==="hosted-submit"||t==="hosted-qualify"){let o=await X(await E());if(t==="hosted-qualify"&&(o.job.kind!=="policy_optimize"||o.job.executionMode!=="qualification"))throw new Error("hosted-qualify requires an immutable policy_optimize submission with executionMode=qualification.");if(!I(n.yes))throw new Error("Submitting paid hosted training requires --yes.");if(o.job.kind==="policy_optimize"&&o.job.executionMode==="qualification"&&!(await l.capabilities()).executionModes?.includes("qualification"))throw new Error("This hosted runtime does not advertise original-learner qualification support.");let a=await l.createJob(o);if(a.teamId!==p||a.submissionHash!==o.contentHash||a.kind!==o.job.kind||o.job.kind==="policy_optimize"&&a.executionMode!==o.job.executionMode)throw new Error(`Hosted submission response identity or execution mode mismatch; inspect hosted-status ${a.id} before attempting another submission.`);await v(a,a.id);return}if(!e)throw new Error(`${t} requires a hosted job ID.`);if(t==="hosted-status"){await v(await l.getJob(e),e);return}if(t==="hosted-report"){let o=await l.getJob(e),[a,u]=await Promise.all([l.events(e),l.outputs(e)]),w=await l.getJob(e);if(w.id!==e||w.teamId!==p||o.id!==e||o.teamId!==p)throw new Error("Hosted report status identity mismatch.");let x=w.recovery?await l.getJob(w.recovery.sourceJobId):void 0,J=w.rolloutProgress.groupsTarget===0?(await import("./training-hosted-serving-report-OX4A5OKB.js")).parseHostedServingReportEvidence(await H(e),w):void 0,{buildHostedTrainingReport:ce}=await import("./training-hosted-report-UVGTPDOK.js");await v(ce({job:w,events:a,outputs:u,recoverySourceJob:x,servingEvidence:J,versionBeforeRead:o.version,generatedAt:new Date().toISOString()}),e);return}if(t==="hosted-evaluation-tasks"){let o=q(n,"evaluationId");if(!o)throw new Error("hosted-evaluation-tasks requires --evaluation-id from hosted-artifacts.");let u=(await l.outputs(e)).outputs.find(w=>w.kind==="evaluation"&&w.id===o);if(!u)throw new Error("Evaluation does not belong to this job's retained outputs.");f(await l.evaluationTasks(e,{id:u.id,contentHash:u.contentHash},{cursor:q(n,"cursor")||void 0,limit:O(n.limit,"--limit")}));return}if(t==="hosted-trajectory"){let o=q(n,"trajectoryId");if(!o)throw new Error("hosted-trajectory requires --trajectory-id <receipt-id> from hosted-inspect.");let a=await c(new URL(`/v1/managed-rl/jobs/${encodeURIComponent(e)}/trajectories/${encodeURIComponent(o)}`,m),{headers:b});if(!a.ok)throw new Error(`Hosted trajectory read failed (${a.status}).`);f(await a.json());return}if(t==="hosted-feedback"){let{readHostedGraderFeedback:o}=await import("./training-hosted-feedback-5B2KJGOT.js");f(await o({jobId:e,baseUrl:m,headers:b,request:c,trajectoryId:q(n,"trajectoryId")||void 0,evaluationId:q(n,"evaluationId")||void 0,taskId:q(n,"taskId")||void 0}));return}if(t==="hosted-inspect"){f(await H(e));return}if(t==="hosted-recover"){if(!I(n.yes))throw new Error("hosted-recover requires --yes for its explicit funded execution request.");let{jobId:o,...a}=await E();if(typeof o!="string"||!o)throw new Error("hosted-recover requires jobId in its input JSON.");let u=await l.recoverCheckpoint(o,a);await v(u,u.id);return}if(t==="hosted-cancel"){await v(await _(l,e,p),e);return}if(t==="hosted-stop-after-group"){if(!I(n.yes))throw new Error("hosted-stop-after-group requires --yes to shorten the admitted training schedule.");await v(await ae(l,e,p),e);return}if(t==="hosted-artifacts"){await v(await l.outputs(e),e);return}if(t==="hosted-logs"){await v(await l.logs(e),e);return}if(t==="hosted-events"){await v(await l.events(e),e);return}if(t==="hosted-watch"&&r){await y(e),await N({client:l,jobId:e,teamId:p,options:r,print:f,requestBound:i,readNativeInspection:H});return}throw new Error(`Unknown hosted training command: ${t}`)}h(Le,"runHostedTrainingCommand");async function fe(n){for(let s=0;;s++)try{return await ne(q(n,"account"))}catch(t){if(t.issue?.code!=="STORAGE_BUSY"||s>=29)throw t;await new Promise(r=>setTimeout(r,1e3))}}h(fe,"accountContext");export{Le as runHostedTrainingCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{A as e}from"./chunk-PF56N7ZY.js";import{a as n}from"./chunk-FTQLQJQV.js";var r=e.object({mode:e.literal("frozen_evaluation"),evaluationPanel:e.object({sourceManifest:e.object({id:e.string().trim().min(1).max(2e3),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict(),populationSha256:e.string().regex(/^[a-f0-9]{64}$/),shardSize:e.number().int().min(1).max(128),shardIndex:e.number().int().nonnegative()}).strict().optional(),target:e.enum(["checkpoint","base_model"]),representation:e.enum(["adapter","merged_backbone"]).optional(),checkpointId:e.string().min(8).max(191),artifact:e.object({id:e.string().min(8),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict(),idempotencyKey:e.string().min(16).max(191),quote:e.record(e.string(),e.unknown()),quoteSignature:e.string().min(32),maximumSpendUsd:e.number().positive().max(10),maxGpuSeconds:e.number().int().positive().max(7200)}).strict(),s=n(t=>r.parse(t),"parseCheckpointEvaluationRequest");function c(t,o){let i=e.object({job:e.object({id:e.string().min(1),idempotencyKey:e.string(),targetGroups:e.literal(0),canonicalPublishState:e.literal("skipped"),publicSubmission:e.null()}).passthrough()}).parse(t);if(i.job.idempotencyKey!==o.idempotencyKey)throw new Error("Checkpoint evaluation response identity mismatch.");return i}n(c,"parseCheckpointEvaluationResponse");export{s as parseCheckpointEvaluationRequest,c as parseCheckpointEvaluationResponse};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as c}from"./chunk-FTQLQJQV.js";async function i(e){let r=!!e.trajectoryId;if(r===!!e.evaluationId||r&&e.taskId||!r&&!e.taskId)throw new Error("hosted-feedback requires either --trajectory-id, or --evaluation-id with --task-id.");let d=r?"trajectory":"evaluation",o=r?e.trajectoryId:e.evaluationId,t=new URL(`/v1/managed-rl/jobs/${encodeURIComponent(e.jobId)}/feedback`,e.baseUrl);t.searchParams.set("kind",d),t.searchParams.set("id",o),e.taskId&&t.searchParams.set("taskId",e.taskId);let s=await e.request(t,{headers:e.headers});if(!s.ok)throw new Error(`Hosted grader feedback read failed (${s.status}).`);let n=new Uint8Array(await s.arrayBuffer());if(n.byteLength>262144)throw new Error("Hosted grader feedback exceeds its response limit.");let a=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(n));if(a?.jobId!==e.jobId||a.kind!==d||a.id!==o||e.taskId&&a.taskId!==e.taskId)throw new Error("Hosted grader feedback does not match the requested execution evidence.");return a}c(i,"readHostedGraderFeedback");export{i as readHostedGraderFeedback};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{c as o,h as a}from"./chunk-3M53YXEI.js";import{a as m}from"./chunk-U2K7QJCG.js";import{O as l}from"./chunk-J572ANHX.js";import"./chunk-PBZCXPPC.js";import"./chunk-NJLULBTM.js";import"./chunk-VVNV4NNW.js";import"./chunk-PF56N7ZY.js";import{a as c}from"./chunk-FTQLQJQV.js";async function h(e){if(e.model.teamId!==e.teamId)throw new m(502,"model_scope_mismatch","The Model did not match the requested workspace.",null);let r=o(e.options,"runId");if(e.action==="hosted-corrections"){if(o(e.options,"cursor")||e.options.limit!==void 0)throw new Error("hosted-corrections reads one Model/run metric snapshot; use hosted-learning-inspect for paged policies.");return e.corrections.read({teamId:e.teamId,modelId:e.model.id,...r?{runId:r}:{}})}if(r)throw new Error("--run-id is only supported by hosted-corrections.");let t=a(e.options.limit,"--limit")??25;if(t<1||t>100)throw new Error("--limit must be between 1 and 100.");let n=o(e.options,"cursor"),i=await e.learning.list("policy",{parentId:e.model.portableProjectId,limit:t,...n?{afterId:n}:{}}),s=[];for(let d of i.items)s.push({policy:d,inspection:await e.learning.inspectPolicy(l(d))});return{model:{id:e.model.id,portableProjectId:e.model.portableProjectId,revision:e.model.revision,etag:e.model.etag},taskQueue:await e.learning.inspectTaskQueue(e.model.portableProjectId),policies:{items:s,nextCursor:i.nextCursor}}}c(h,"inspectHostedLearning");export{h as inspectHostedLearning};
|