openpond 0.2.55 → 0.2.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-server.d.ts +10545 -10254
- package/dist/app-server.js +1 -1
- package/dist/chunks/actions-command-QU4H53OG.js +2 -0
- package/dist/chunks/{app-layer-Y2UERCPY.js → app-layer-NSTE5HIT.js} +1 -1
- package/dist/chunks/app-server-connected-apps-JHGWLBXT.js +2 -0
- package/dist/chunks/app-server-evaluations-GJPFWIDA.js +2 -0
- package/dist/chunks/app-server-harness-services-IH4G6POY.js +2 -0
- package/dist/chunks/app-server-runtime-VCRNCNX2.js +2 -0
- package/dist/chunks/apps-BKTOR4F7.js +2 -0
- package/dist/chunks/chunk-25MBPJVY.js +2 -0
- package/dist/chunks/chunk-2D4Y3HNW.js +2 -0
- package/dist/chunks/chunk-2IHO4GDJ.js +2 -0
- package/dist/chunks/chunk-2QUCCP6Z.js +2 -0
- package/dist/chunks/chunk-3K4VVB7S.js +6 -0
- package/dist/chunks/chunk-3QIB5FXI.js +10 -0
- package/dist/chunks/chunk-3RCRSMWZ.js +17 -0
- package/dist/chunks/chunk-3VUATFZD.js +2 -0
- package/dist/chunks/chunk-3Z47M3YY.js +2 -0
- package/dist/chunks/{chunk-UA5DA5I2.js → chunk-4D7HWVWD.js} +1 -1
- package/dist/chunks/chunk-4EPSHPZL.js +2 -0
- package/dist/chunks/chunk-4NESNOK5.js +2 -0
- package/dist/chunks/chunk-523TE4BI.js +2 -0
- package/dist/chunks/{chunk-B7QDZPNX.js → chunk-5MCNZCVQ.js} +1 -1
- package/dist/chunks/chunk-6FDWRG55.js +2 -0
- package/dist/chunks/{chunk-DLVPSCTB.js → chunk-6QSSIT62.js} +1 -1
- package/dist/chunks/chunk-6ZFPQYHG.js +2 -0
- package/dist/chunks/chunk-74IIXVAE.js +2 -0
- package/dist/chunks/chunk-74ZXXBGN.js +6 -0
- package/dist/chunks/chunk-773TH7FN.js +2 -0
- package/dist/chunks/chunk-7E6T7GP5.js +2 -0
- package/dist/chunks/chunk-7ED24PP6.js +2 -0
- package/dist/chunks/chunk-7HPDGZOR.js +86 -0
- package/dist/chunks/chunk-7KWD2I6W.js +2 -0
- package/dist/chunks/chunk-7PXZ4X4P.js +2 -0
- package/dist/chunks/chunk-A6USMRWK.js +2 -0
- package/dist/chunks/chunk-ABD5M2D2.js +2 -0
- package/dist/chunks/chunk-ACYFMLWG.js +10 -0
- package/dist/chunks/chunk-AN525SPP.js +6 -0
- package/dist/chunks/chunk-APB2STJK.js +2 -0
- package/dist/chunks/chunk-AY64VY4E.js +2 -0
- package/dist/chunks/{chunk-G6JMQGX7.js → chunk-B7RFL4N2.js} +1 -1
- package/dist/chunks/chunk-BLXEAZCQ.js +12 -0
- package/dist/chunks/chunk-D74JEERO.js +5 -0
- package/dist/chunks/{chunk-U2YMBCX7.js → chunk-DARVPBZ4.js} +1 -1
- package/dist/chunks/chunk-DBK66CJP.js +8 -0
- package/dist/chunks/chunk-DDMZSZFL.js +1 -0
- package/dist/chunks/chunk-DIO5CB6U.js +2 -0
- package/dist/chunks/chunk-DMFUEUAZ.js +5 -0
- package/dist/chunks/chunk-DMVD2RFZ.js +2 -0
- package/dist/chunks/chunk-DUURYZOI.js +2 -0
- package/dist/chunks/chunk-DZUAT3TP.js +1 -0
- package/dist/chunks/chunk-EIEZHFIW.js +6 -0
- package/dist/chunks/chunk-EIRYMSEG.js +19 -0
- package/dist/chunks/{chunk-R27YGT77.js → chunk-EKM2D7JU.js} +1 -1
- package/dist/chunks/chunk-EQFGBL3O.js +2 -0
- package/dist/chunks/chunk-EYPCBBMS.js +2 -0
- package/dist/chunks/chunk-F4KOGISR.js +10 -0
- package/dist/chunks/chunk-F74GBN6K.js +2 -0
- package/dist/chunks/chunk-FEAKTSRS.js +2 -0
- package/dist/chunks/chunk-FFRFSDBM.js +2 -0
- package/dist/chunks/chunk-FTEOCCPB.js +23 -0
- package/dist/chunks/chunk-FUOEIDMA.js +8 -0
- package/dist/chunks/{chunk-BQAF5P7K.js → chunk-FV2R5RUN.js} +2 -2
- package/dist/chunks/chunk-FWIPHEVA.js +12 -0
- package/dist/chunks/chunk-FY5KHLMW.js +2 -0
- package/dist/chunks/chunk-G3RXYI2L.js +6 -0
- package/dist/chunks/chunk-GJ2ZJFDD.js +2 -0
- package/dist/chunks/chunk-GLDYJM7O.js +1 -0
- package/dist/chunks/chunk-GPVCOEUH.js +2 -0
- package/dist/chunks/chunk-GW766ZSO.js +5 -0
- package/dist/chunks/chunk-GWCHDF2C.js +4 -0
- package/dist/chunks/chunk-GZ7M5XBP.js +2 -0
- package/dist/chunks/chunk-H6IW2R22.js +140 -0
- package/dist/chunks/chunk-HCYX6RHP.js +2 -0
- package/dist/chunks/chunk-HDL5YSAA.js +2 -0
- package/dist/chunks/chunk-HIOKCIL7.js +2 -0
- package/dist/chunks/{chunk-IODUCRBA.js → chunk-HY3GOBFJ.js} +1 -1
- package/dist/chunks/chunk-HZEIRHEB.js +2 -0
- package/dist/chunks/chunk-I2NXNMRZ.js +2 -0
- package/dist/chunks/chunk-I7AQMAQI.js +33 -0
- package/dist/chunks/chunk-IZ6DLEVY.js +2 -0
- package/dist/chunks/chunk-J2TWKFML.js +1871 -0
- package/dist/chunks/chunk-JDEEWOD7.js +2 -0
- package/dist/chunks/chunk-JFXWI3EN.js +6 -0
- package/dist/chunks/chunk-JYKRR7E5.js +5 -0
- package/dist/chunks/chunk-KCJVFLBB.js +2 -0
- package/dist/chunks/{chunk-5CMKGD43.js → chunk-KG325WTN.js} +1 -1
- package/dist/chunks/chunk-KUERKVEU.js +3 -0
- package/dist/chunks/chunk-KVTBX2UP.js +2 -0
- package/dist/chunks/chunk-L3KS6MOV.js +2 -0
- package/dist/chunks/chunk-L6K7ERG5.js +2 -0
- package/dist/chunks/{chunk-MH3LHSGX.js → chunk-LQQNBVEB.js} +1 -1
- package/dist/chunks/{chunk-BTI4N7YO.js → chunk-M4JWQSV7.js} +1 -1
- package/dist/chunks/chunk-MQULU465.js +2 -0
- package/dist/chunks/chunk-MULXCKG7.js +10 -0
- package/dist/chunks/chunk-N4FFQPLR.js +2 -0
- package/dist/chunks/chunk-N73MU2C3.js +2 -0
- package/dist/chunks/chunk-NHQ36THU.js +3 -0
- package/dist/chunks/chunk-O6ULLQJ6.js +2 -0
- package/dist/chunks/chunk-O72BSKSO.js +2 -0
- package/dist/chunks/chunk-OGDADQGH.js +143 -0
- package/dist/chunks/chunk-OIUTWU6K.js +2 -0
- package/dist/chunks/chunk-OLLLZVHF.js +2 -0
- package/dist/chunks/chunk-OPNRWESL.js +3 -0
- package/dist/chunks/chunk-OQKJGTTO.js +4 -0
- package/dist/chunks/chunk-OQPJ7FJF.js +9 -0
- package/dist/chunks/{chunk-TERVLCRG.js → chunk-OS3LO5J3.js} +1 -1
- package/dist/chunks/chunk-OUVIWDL2.js +2 -0
- package/dist/chunks/chunk-PCSIOUHF.js +7 -0
- package/dist/chunks/chunk-PF5R6CMP.js +21 -0
- package/dist/chunks/chunk-PPAPVGJP.js +3 -0
- package/dist/chunks/chunk-PRGBLQVH.js +2 -0
- package/dist/chunks/chunk-PSGGOZFM.js +2 -0
- package/dist/chunks/chunk-PUZQU66L.js +2 -0
- package/dist/chunks/{chunk-NOTXPD2T.js → chunk-Q2QL6UWN.js} +1 -1
- package/dist/chunks/chunk-Q4TBTRIG.js +2 -0
- package/dist/chunks/chunk-Q5LEXXJG.js +16 -0
- package/dist/chunks/chunk-QDC4OW3S.js +2 -0
- package/dist/chunks/chunk-QEFHOJFE.js +7 -0
- package/dist/chunks/chunk-QHWGQ3A4.js +5 -0
- package/dist/chunks/chunk-QIKWJ2AA.js +11 -0
- package/dist/chunks/chunk-QNG27G3T.js +6 -0
- package/dist/chunks/chunk-QOGJAQDO.js +3 -0
- package/dist/chunks/chunk-QOTVNQDI.js +4 -0
- package/dist/chunks/{chunk-NNIRIUSY.js → chunk-RAXOSUSW.js} +1 -1
- package/dist/chunks/chunk-RNIAFXMB.js +50 -0
- package/dist/chunks/{chunk-SHQOIROR.js → chunk-S5ESN275.js} +3 -3
- package/dist/chunks/chunk-SDAUS5PY.js +2 -0
- package/dist/chunks/chunk-SDXFLO7J.js +5 -0
- package/dist/chunks/chunk-SH5CBAFC.js +2 -0
- package/dist/chunks/chunk-SWUEFLOH.js +2 -0
- package/dist/chunks/chunk-SYUKES6H.js +3 -0
- package/dist/chunks/chunk-T5AACNJI.js +2 -0
- package/dist/chunks/chunk-TRQQNFMO.js +4 -0
- package/dist/chunks/chunk-TVQAPBLZ.js +2 -0
- package/dist/chunks/chunk-UCPGRPWY.js +2 -0
- package/dist/chunks/chunk-UGL7WF3W.js +2 -0
- package/dist/chunks/{chunk-C6D4WAYN.js → chunk-UKMA4R6X.js} +2 -2
- package/dist/chunks/{chunk-4WEUCGJ3.js → chunk-VRIEKBBH.js} +1 -1
- package/dist/chunks/chunk-VYLGI3IH.js +13 -0
- package/dist/chunks/chunk-W45RKGM6.js +1 -0
- package/dist/chunks/chunk-WJ43MJ3F.js +2 -0
- package/dist/chunks/chunk-WMKYHXVM.js +3 -0
- package/dist/chunks/chunk-WN3V6KDN.js +3 -0
- package/dist/chunks/chunk-X4OSOOSU.js +3 -0
- package/dist/chunks/chunk-XDQMGUWL.js +2 -0
- package/dist/chunks/chunk-XTFPDQMH.js +3 -0
- package/dist/chunks/chunk-XVDFJ3ZF.js +2 -0
- package/dist/chunks/chunk-XW6HGSIT.js +8 -0
- package/dist/chunks/chunk-XXYGGNVM.js +2 -0
- package/dist/chunks/chunk-Y4OWBBDD.js +184 -0
- package/dist/chunks/chunk-YBT2NB32.js +2 -0
- package/dist/chunks/{chunk-QRAKXZOC.js → chunk-YOBN7KTF.js} +6 -6
- package/dist/chunks/chunk-YOQRYNLP.js +2 -0
- package/dist/chunks/chunk-YY7LEQGP.js +2 -0
- package/dist/chunks/chunk-Z4Z5UOZM.js +22 -0
- package/dist/chunks/chunk-Z54O534A.js +3 -0
- package/dist/chunks/chunk-ZCHXGRRU.js +2 -0
- package/dist/chunks/chunk-ZFSHBFG5.js +40 -0
- package/dist/chunks/chunk-ZGTOK7ZK.js +12 -0
- package/dist/chunks/{chunk-Q7AXHFZV.js → chunk-ZRDGQDZL.js} +1 -1
- package/dist/chunks/chunk-ZUJ3XUCP.js +2 -0
- package/dist/chunks/chunk-ZZWAQBA2.js +2 -0
- package/dist/chunks/cli-X25RSO2X.js +2 -0
- package/dist/chunks/configuration-command-6C5UO7GE.js +2 -0
- package/dist/chunks/connected-app-executor-IVLGQP65.js +2 -0
- package/dist/chunks/connected-evidence-GH2ATNEX.js +2 -0
- package/dist/chunks/connection-HTF6CC7M.js +2 -0
- package/dist/chunks/{continual-TTGJ6YTR.js → continual-6CQAMTTR.js} +3 -3
- package/dist/chunks/core-commands-A2DGGIPS.js +2 -0
- package/dist/chunks/datasets-7BNMVJOY.js +2 -0
- package/dist/chunks/desktop-test-3CUHVLXV.js +3 -0
- package/dist/chunks/dist-OMGUJYPD.js +2 -0
- package/dist/chunks/dist-VYC5VMQB.js +2 -0
- package/dist/chunks/{dist-FAJX2UBW.js → dist-ZVJPJLXR.js} +1 -1
- package/dist/chunks/enclave-QS4BUNDU.js +2 -0
- package/dist/chunks/evaluation-coordination-XEF5L7KZ.js +2 -0
- package/dist/chunks/experiment-improvements-KRX2DP27.js +2 -0
- package/dist/chunks/experiments-DFGQYA4O.js +2 -0
- package/dist/chunks/experiments-VFQGE4HC.js +2 -0
- package/dist/chunks/{extension-DWMY6D2R.js → extension-XKXXOP5N.js} +1 -1
- package/dist/chunks/{help-A72QDRNG.js → help-S7THC6IE.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-NRLXL2S5.js +2 -0
- package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +2 -0
- package/dist/chunks/hosted-app-server-composition-HPL3CRXN.js +2 -0
- package/dist/chunks/hosted-experiment-improvement-NFSVS5TU.js +3 -0
- package/dist/chunks/hosted-harness-runtime-723S5ZSH.js +2 -0
- package/dist/chunks/hosted-profile-candidate-2S5LFUWD.js +3 -0
- package/dist/chunks/hosted-profile-compiler-2DQIFSXW.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-control-76BTRTYD.js +2 -0
- package/dist/chunks/hosted-profile-evaluation-inspection-V6Z3A5XJ.js +3 -0
- package/dist/chunks/hosted-profile-evaluation-preparation-IDJYREW3.js +3 -0
- package/dist/chunks/hosted-tasksets-ANAE2PIW.js +2 -0
- package/dist/chunks/human-review-WR777ODH.js +2 -0
- package/dist/chunks/import-MLZUHITH.js +4 -0
- package/dist/chunks/learning-ACEVFL5M.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-JIQ6ZVDW.js +2 -0
- package/dist/chunks/local-harness-taskset-review-XVYTGAGK.js +2 -0
- package/dist/chunks/local-scope-HVF2GZ5W.js +2 -0
- package/dist/chunks/model-projects-QPO22JPA.js +2 -0
- package/dist/chunks/opchat-T4QTNEIY.js +3 -0
- package/dist/chunks/organizations-75L5DZDV.js +2 -0
- package/dist/chunks/{profile-NOZ6TVXL.js → profile-TFZMUEDR.js} +1 -1
- package/dist/chunks/profile-training-source-6GOT7AHM.js +2 -0
- package/dist/chunks/project-action-payload-7VGL7OER.js +2 -0
- package/dist/chunks/project-agent-6RRO233B.js +2 -0
- package/dist/chunks/published-experiment-source-DZFENAQA.js +2 -0
- package/dist/chunks/refiner-profile-service-UUIWFJVT.js +2 -0
- package/dist/chunks/runtime-A7OZXM43.js +6 -0
- package/dist/chunks/sandbox-command-IU5XFTJP.js +2 -0
- package/dist/chunks/{sandbox-template-LKGBDVJ4.js → sandbox-template-C4V6T36U.js} +1 -1
- package/dist/chunks/saved-work-6BMBFP43.js +2 -0
- package/dist/chunks/send-turn-XTAIS2JN.js +2 -0
- package/dist/chunks/src-INHPJ63Z.js +326 -0
- package/dist/chunks/{src-ZWJ5IO7A.js → src-LMC3K6LH.js} +1 -1
- package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +2 -0
- package/dist/chunks/store-chat-workflows-S72HZXQR.js +18 -0
- package/dist/chunks/store-continual-support-reviews-HHA6NX7K.js +7 -0
- package/dist/chunks/store-conversation-serving-KPC62UEY.js +2 -0
- package/dist/chunks/store-create-improve-QV54XIZW.js +40 -0
- package/dist/chunks/store-datasets-RXJ33SUN.js +86 -0
- package/dist/chunks/store-evaluation-results-3F3P527G.js +7 -0
- package/dist/chunks/store-harness-evaluation-review-settings-I2R3HPO3.js +29 -0
- package/dist/chunks/store-harness-memory-VINCZ4GK.js +17 -0
- package/dist/chunks/store-harness-refinement-candidates-EA5KFQPH.js +21 -0
- package/dist/chunks/store-harness-workspaces-XUM4Z66X.js +2 -0
- package/dist/chunks/store-human-review-RAH7WMIP.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-4CI2IRUF.js +2 -0
- package/dist/chunks/store-learning-WLG6KFIO.js +2 -0
- package/dist/chunks/store-learning-credentials-WZQJ4HPJ.js +2 -0
- package/dist/chunks/store-local-experiments-5LUJR7GI.js +97 -0
- package/dist/chunks/store-model-batch-review-YEGX327M.js +2 -0
- package/dist/chunks/store-model-configuration-5ZURQATB.js +3 -0
- package/dist/chunks/store-preference-comparison-LV32MHVL.js +6 -0
- package/dist/chunks/store-schedules-VGTEQVKH.js +53 -0
- package/dist/chunks/store-sidebar-file-bookmarks-VB5GTLFY.js +18 -0
- package/dist/chunks/store-sidebar-preferences-GWIOG2NH.js +16 -0
- package/dist/chunks/store-subagents-T7R2Z6TB.js +67 -0
- package/dist/chunks/store-task-inbox-JJTBW76C.js +33 -0
- package/dist/chunks/store-task-inventory-OB3F2APC.js +10 -0
- package/dist/chunks/store-taskset-drafts-EKQWWFYQ.js +9 -0
- package/dist/chunks/store-training-G6YLFSIR.js +70 -0
- package/dist/chunks/store-training-jobs-RC46YBF6.js +19 -0
- package/dist/chunks/store-training-models-6BA43IPP.js +49 -0
- package/dist/chunks/store-usage-IE2U2FD3.js +63 -0
- package/dist/chunks/store-work-evidence-QQDKM5AQ.js +8 -0
- package/dist/chunks/taskset-EQRFQBYM.js +2 -0
- package/dist/chunks/taskset-packages-XC6HEE3K.js +2 -0
- package/dist/chunks/{teams-bot-H7XT23XB.js → teams-bot-EAPGPTHZ.js} +1 -1
- package/dist/chunks/training-UF6RPI4T.js +2 -0
- package/dist/chunks/web-search-CZ3NCLPY.js +2 -0
- package/dist/chunks/workspaces-EKKE5NAC.js +2 -0
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/web/assets/{App-CTlAPuCY.css → App-CaRMZoxo.css} +1 -1
- package/dist/web/assets/App-s-CJswyt.js +154 -0
- package/dist/web/assets/{AppDialog-CPHTPqrx.js → AppDialog-t2Fx5tK3.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-BVj5Tj93.js → AppTerminalPanel-Dj1Y32oI.js} +2 -2
- package/dist/web/assets/{AppsView-O69zEBY3.js → AppsView-BYE5EBDJ.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-Pr_Kpe8p.js → BrowserSidebar-jhWi4rVm.js} +1 -1
- package/dist/web/assets/{CartesianChart-JPqo6YOf.js → CartesianChart-C1DIx0Ia.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-CAJcQFn2.js → CollaborationTabs-Bdr-HmOL.js} +1 -1
- package/dist/web/assets/{CommandMenu-B-w53n9A.js → CommandMenu-Ux2yOHAc.js} +1 -1
- package/dist/web/assets/{CommunityView-DbZKK8_P.js → CommunityView-DPEeVKFn.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-3_083PF4.js → ComposerCreateImproveStrip-CEgh4OtN.js} +1 -1
- package/dist/web/assets/{GetStartedView-D7JGm_6c.js → GetStartedView-CFHP0AaI.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-DwgMfZ7_.js → HostedModelLearningReview-D8BGTPVN.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-JRfQadRl.js → HostedModelLearningSettings-JS1S7vNO.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-BUYflJY_.js → LabModelVersionDetailPage-Dx5Q3xV2.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-BBiqk7Rf.js → LabSkillSidebar-BxffN-pN.js} +1 -1
- package/dist/web/assets/{LabsRoute-Ci6vUnSd.js → LabsRoute-CyYF8-dw.js} +4 -4
- package/dist/web/assets/{MainChatThread-BQK3oI2N.js → MainChatThread-DZpcFRFl.js} +2 -2
- package/dist/web/assets/MainPane-5DTtwVCk.js +65 -0
- package/dist/web/assets/MainPane-BIM_UJ3q.css +1 -0
- package/dist/web/assets/{MarkdownText-DOdOVFXL.js → MarkdownText-BR4V6lNO.js} +21 -21
- package/dist/web/assets/{NativeSkillSidebar-CRI_ri8z.js → NativeSkillSidebar-DU9IEgIO.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-DhYtfE68.js → NewExperienceSwitcher-mIy6FzCj.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-D8sy1gOz.js → NewProjectDialog-RfTZTHxl.js} +1 -1
- package/dist/web/assets/{OutputsPage-CbWgrhXA.js → OutputsPage-Cr1Spf7S.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DLB67lyA.js → ProjectsPage-CE6QUB-b.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-ozSKnDyX.js → RightChatPanelStack-T6VRWuHo.js} +1 -1
- package/dist/web/assets/RightSidebarHomePanel-CK0rP3WT.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-Cafv_QnR.js → ScheduledWorkPage-vOrYv8pp.js} +1 -1
- package/dist/web/assets/SettingsView-DCKVrfjj.js +5 -0
- package/dist/web/assets/SettingsView-Dulr_xlq.css +1 -0
- package/dist/web/assets/{TeamChatView-vIrmXOY_.js → TeamChatView-Bwrjr-vk.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-CAmF__Dq.js → TerminalOverlay-DhPoKZAq.js} +1 -1
- package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-D7XZePAk.js → TrainingDraftPanel-C9cRX5qf.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CYTmp7PG.js → UsageSettingsSection-CrdcSGeW.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-DSSikNFQ.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-DQGoIjH9.js → WorkspaceDiffPanel-BAFo0CPN.js} +6 -6
- package/dist/web/assets/{WorkspaceEnvironmentMenu-c1pHDskn.js → WorkspaceEnvironmentMenu-BVHAhwnJ.js} +1 -1
- package/dist/web/assets/WorkspaceGitDialogs-CwVoiDQ2.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-BCKzvSj2.js → WorkspaceMonacoEditor-TxLyhzNp.js} +3 -3
- package/dist/web/assets/{arrow-up-right-CP4hZdrJ.js → arrow-up-right-C9aE8Mfz.js} +1 -1
- package/dist/web/assets/{chunk-NOJECMB7-Bhcms-w5.js → chunk-P3BRSSRD-DUGfuKA8.js} +1 -1
- package/dist/web/assets/{clipboard-BgrXorn-.js → clipboard-Dk158Qp4.js} +1 -1
- package/dist/web/assets/{cloud-upload-B_zYztb6.js → cloud-upload-k9eqBsHr.js} +1 -1
- package/dist/web/assets/{cssMode-DanjGgA8.js → cssMode-CO35ARZp.js} +1 -1
- package/dist/web/assets/{folder-open-CdVKbtGq.js → folder-open-sYgceW_f.js} +1 -1
- package/dist/web/assets/{folder-plus-Cc5KElB6.js → folder-plus-CS0R49m9.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-CjGIIgRi.js → git-commit-horizontal-DrGxH2h4.js} +1 -1
- package/dist/web/assets/{htmlMode-DRGDF_UL.js → htmlMode-REMmzdfq.js} +1 -1
- package/dist/web/assets/index-3iPNbbER.css +1 -0
- package/dist/web/assets/{index-BE-wXZ5R.js → index-C8aCGagb.js} +2 -2
- package/dist/web/assets/{info-BLj0RvhA.js → info-DLdbiUrh.js} +1 -1
- package/dist/web/assets/{jsonMode-CCu0j2GD.js → jsonMode-KEdMfkIf.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-s_Lhm7P6.js → lspLanguageFeatures-5KZwEoxW.js} +1 -1
- package/dist/web/assets/{minimize-2-Cyg_zD9z.js → minimize-2-CqcI4zcM.js} +1 -1
- package/dist/web/assets/{monaco.contribution-CY7mRgOB.js → monaco.contribution-BJGj65F9.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CAzXvYkn.js → monaco.contribution-Cly9Wt7L.js} +2 -2
- package/dist/web/assets/{monaco.contribution-mUPNK9ra.js → monaco.contribution-DO10L0zW.js} +2 -2
- package/dist/web/assets/{monaco.contribution-aUeLcBEg.js → monaco.contribution-omszXBEj.js} +2 -2
- package/dist/web/assets/{monitor-DZvOs_wC.js → monitor-BFVCcbxp.js} +1 -1
- package/dist/web/assets/{play-BJPzemuY.js → play-C469pVZq.js} +1 -1
- package/dist/web/assets/{python-B_qnnVaG.js → python-Dw0YcVy9.js} +1 -1
- package/dist/web/assets/{save-BDy9tA3E.js → save-CtSjPydi.js} +1 -1
- package/dist/web/assets/{square-Cb2c5td4.js → square-BuImvLhT.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-MhO1JLyR.js → toggleHighContrast-DjCO9lIP.js} +1 -1
- package/dist/web/assets/{tsMode-DfBXJb9V.js → tsMode-BAOnxKd6.js} +1 -1
- package/dist/web/assets/{upload-D56kThRh.js → upload-2JkFZo3h.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-DMnGfswi.js → useLocalAgentSchedules-BNqAisfS.js} +1 -1
- package/dist/web/assets/useProviderSettings-C4L4wDoh.js +5 -0
- package/dist/web/assets/{useProviderSettings-Bw-csWbH.css → useProviderSettings-CmL_BaxP.css} +1 -1
- package/dist/web/assets/{useSessionTurnCache-ClAY8gze.js → useSessionTurnCache-BHU2-Jmz.js} +1 -1
- package/dist/web/assets/{wifi-off-C9lWJmVm.js → wifi-off-CpOAH62M.js} +1 -1
- package/dist/web/assets/{workers-BYzrH8by.js → workers-0QvlA2T5.js} +1 -1
- package/dist/web/assets/{yaml-D3T8UkT3.js → yaml-BK3qxo7D.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/chunks/actions-command-WTFZA7LF.js +0 -2
- package/dist/chunks/app-server-runtime-2RM3N4I6.js +0 -2
- package/dist/chunks/apps-KDNWYO3G.js +0 -2
- package/dist/chunks/chunk-2DFR7PJ4.js +0 -2460
- package/dist/chunks/chunk-4CRM2ADK.js +0 -2
- package/dist/chunks/chunk-55G6B54U.js +0 -6
- package/dist/chunks/chunk-73G5UYBB.js +0 -12
- package/dist/chunks/chunk-ARQEJOEK.js +0 -33
- package/dist/chunks/chunk-CGBI2VYJ.js +0 -2
- package/dist/chunks/chunk-GGIG3XU7.js +0 -3
- package/dist/chunks/chunk-JIMU3KDA.js +0 -24
- package/dist/chunks/chunk-JUJSA7KI.js +0 -22
- package/dist/chunks/chunk-K5SBVO3B.js +0 -195
- package/dist/chunks/chunk-KD3QVRIJ.js +0 -21
- package/dist/chunks/chunk-L4235TRQ.js +0 -140
- package/dist/chunks/chunk-MVF3F5QS.js +0 -2
- package/dist/chunks/chunk-OULAKUIN.js +0 -2
- package/dist/chunks/chunk-OWNLDB2O.js +0 -2
- package/dist/chunks/chunk-QDHMP5FS.js +0 -2
- package/dist/chunks/chunk-QKD5OMDI.js +0 -2
- package/dist/chunks/chunk-R2BSIRYL.js +0 -3
- package/dist/chunks/chunk-STDMBJOQ.js +0 -9
- package/dist/chunks/chunk-T4QGDQHP.js +0 -4
- package/dist/chunks/chunk-USMZT5FZ.js +0 -18
- package/dist/chunks/chunk-VJEZPDBS.js +0 -5
- package/dist/chunks/chunk-WDFLCNRC.js +0 -8
- package/dist/chunks/chunk-WZYRAR7X.js +0 -16
- package/dist/chunks/chunk-YDT7L3VZ.js +0 -24
- package/dist/chunks/chunk-YUPBAWBJ.js +0 -554
- package/dist/chunks/cli-465VC2WP.js +0 -2
- package/dist/chunks/configuration-command-LAAP2EXT.js +0 -2
- package/dist/chunks/connected-evidence-XM626247.js +0 -2
- package/dist/chunks/core-commands-W7EK552V.js +0 -2
- package/dist/chunks/datasets-QJWYTTQL.js +0 -2
- package/dist/chunks/desktop-test-3B2D34NF.js +0 -3
- package/dist/chunks/dist-HUAE2KFZ.js +0 -2
- package/dist/chunks/evaluation-coordination-2MONR4AX.js +0 -2
- package/dist/chunks/experiment-improvements-WVQ5FK46.js +0 -2
- package/dist/chunks/experiments-S5UQ32QB.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-2OWOQLHC.js +0 -3
- package/dist/chunks/hosted-harness-runtime-TGFMAV7W.js +0 -2
- package/dist/chunks/hosted-profile-candidate-WQSI6HZO.js +0 -3
- package/dist/chunks/hosted-profile-compiler-Z2A4TEA6.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-FKGARUEE.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-QOY2JKV4.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-WVP6CALP.js +0 -3
- package/dist/chunks/human-review-TGHQKXFZ.js +0 -2
- package/dist/chunks/import-4UE5XNSG.js +0 -4
- package/dist/chunks/learning-R2XBMMEM.js +0 -2
- package/dist/chunks/opchat-WULL6CUP.js +0 -3
- package/dist/chunks/organizations-I37HISVX.js +0 -2
- package/dist/chunks/project-agent-T6XKC54C.js +0 -2
- package/dist/chunks/sandbox-command-STB47FRY.js +0 -2
- package/dist/chunks/src-T3KWWCAH.js +0 -322
- package/dist/chunks/taskset-RNYDR4GS.js +0 -2
- package/dist/chunks/training-M6FAPRSJ.js +0 -2
- package/dist/chunks/workspaces-MFZ3OO6O.js +0 -2
- package/dist/web/assets/App-CLFfy_Av.js +0 -154
- package/dist/web/assets/MainPane-D3ojiN-p.js +0 -18
- package/dist/web/assets/MainPane-DOWsSew1.css +0 -1
- package/dist/web/assets/RightSidebarHomePanel-CKs3OwhD.js +0 -1
- package/dist/web/assets/SettingsView-BnANbPLS.css +0 -1
- package/dist/web/assets/SettingsView-T1vYDPjh.js +0 -5
- package/dist/web/assets/TrainingCreationPanel-D75K0yk5.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-CODMjVHY.js +0 -1
- package/dist/web/assets/WorkspaceGitDialogs-DrVtapQQ.js +0 -1
- package/dist/web/assets/index-B5re-RJy.css +0 -1
- package/dist/web/assets/useProviderSettings-Bv5B9eNk.js +0 -5
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import"./chunk-QOTVNQDI.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WJ43MJ3F.js";import"./chunk-Q4TBTRIG.js";import"./chunk-T5AACNJI.js";import{$ as m}from"./chunk-QOGJAQDO.js";import"./chunk-EYPCBBMS.js";import"./chunk-DIO5CB6U.js";import"./chunk-7ED24PP6.js";import{a as O}from"./chunk-KCJVFLBB.js";import"./chunk-N4FFQPLR.js";import"./chunk-AY64VY4E.js";import"./chunk-GJ2ZJFDD.js";import"./chunk-3QIB5FXI.js";import"./chunk-6MI4KKWF.js";import"./chunk-DDMZSZFL.js";import"./chunk-W45RKGM6.js";import"./chunk-3VUATFZD.js";import"./chunk-4EPSHPZL.js";import"./chunk-MQULU465.js";import{a as R,b as S,c as k,d as L}from"./chunk-PRGBLQVH.js";import"./chunk-7E6T7GP5.js";import"./chunk-DZUAT3TP.js";import"./chunk-XDQMGUWL.js";import"./chunk-FTEOCCPB.js";import{E as I}from"./chunk-25MBPJVY.js";import"./chunk-WN3V6KDN.js";import"./chunk-523TE4BI.js";import"./chunk-ZCHXGRRU.js";import"./chunk-YBT2NB32.js";import"./chunk-74ZXXBGN.js";import"./chunk-APB2STJK.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-6FA3GG5B.js";import"./chunk-Y4OWBBDD.js";import"./chunk-6ZFPQYHG.js";import"./chunk-JFXWI3EN.js";import"./chunk-FFRFSDBM.js";import"./chunk-VYLGI3IH.js";import"./chunk-ACYFMLWG.js";import"./chunk-TVQAPBLZ.js";import{m as f}from"./chunk-KGNCKIFP.js";import{b as h}from"./chunk-ES2ISFJC.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
|
+
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
|
+
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
|
+
CREATE UNIQUE INDEX IF NOT EXISTS task_inventory_task_identity ON task_inventory_rows(profile_id, source_key, source_hash, task_id);
|
|
6
|
+
CREATE INDEX IF NOT EXISTS task_inventory_list ON task_inventory_rows(profile_id, source_key, source_hash, split, ordinal);
|
|
7
|
+
`,v=class extends O{static{y(this,"SqliteTaskInventoryStore")}async inventoryReady(){await this.ready,await this.writeQueue,this.database.exec(g)}async taskInventorySources(e,i){await this.inventoryReady();let r=null;if(i){let t=this.database.get("SELECT payload FROM model_projects WHERE id = ? AND profile_id = ?",[i,e]);if(!t)throw new Error("Model not found in this Profile.");let n=m.parse(JSON.parse(t.payload));r=new Set(n.tasksetSyncs.map(c=>c.localTasksetId)),n.trainingSetup.tasksetRef&&r.add(n.trainingSetup.tasksetRef.id)}let s=this.database.all("SELECT id, json_extract(payload, '$.contentHash') AS hash, json_extract(payload, '$.revision') AS revision FROM tasksets WHERE profile_id = ? ORDER BY id",[e]),d=this.database.all("SELECT id, json_extract(payload, '$.packageHash') AS hash, revision, json_extract(payload, '$.modelScope.modelId') AS modelId FROM taskset_drafts WHERE profile_id = ? AND status != 'published' ORDER BY id",[e]);return this.database.run("DELETE FROM task_inventory_rows WHERE profile_id=? AND source_key NOT IN (SELECT 'release:' || id FROM tasksets WHERE profile_id=? UNION SELECT 'draft:' || id FROM taskset_drafts WHERE profile_id=? AND status != 'published')",[e,e,e]),this.database.run("DELETE FROM task_inventory_sources WHERE profile_id=? AND source_key NOT IN (SELECT 'release:' || id FROM tasksets WHERE profile_id=? UNION SELECT 'draft:' || id FROM taskset_drafts WHERE profile_id=? AND status != 'published')",[e,e,e]),[...s.filter(t=>!r||r.has(t.id)).map(t=>({...t,profileId:e,draft:!1,modelId:i??null})),...d.filter(t=>!i||t.modelId===i).map(t=>({...t,profileId:e,draft:!0}))].sort((t,n)=>o(t).localeCompare(o(n)))}async taskInventorySourceIndexed(e){return await this.inventoryReady(),this.database.get("SELECT source_hash FROM task_inventory_sources WHERE profile_id = ? AND source_key = ?",[e.profileId,o(e)])?.source_hash===e.hash}async appendTaskInventoryRows(e,i,r){await this.inventoryReady();let s=this.writeQueue.then(()=>{this.database.exec("BEGIN IMMEDIATE");try{for(let[d,t]of i.entries()){let n=L(t.input,t.id);this.database.run("INSERT INTO task_inventory_rows (profile_id, source_key, source_hash, task_id, ordinal, title, description, split, payload) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(profile_id, source_key, source_hash, ordinal) DO UPDATE SET task_id=excluded.task_id, title=excluded.title, description=excluded.description, split=excluded.split, payload=excluded.payload",[e.profileId,o(e),e.hash,t.id,r+d,n.title,n.description,t.split,JSON.stringify(t)])}this.database.exec("COMMIT")}catch(d){throw this.database.exec("ROLLBACK"),d}});return this.writeQueue=s.then(()=>{},()=>{}),s}async finishTaskInventorySource(e,i){await this.inventoryReady();let r=this.writeQueue.then(()=>{this.database.exec("BEGIN IMMEDIATE");try{if(this.database.get(e.draft?"SELECT json_extract(payload, '$.packageHash') AS hash FROM taskset_drafts WHERE id = ? AND profile_id = ? AND status != 'published'":"SELECT json_extract(payload, '$.contentHash') AS hash FROM tasksets WHERE id = ? AND profile_id = ?",[e.id,e.profileId])?.hash!==e.hash)throw new Error("Tasks changed while indexing. Reload the task list.");this.database.run("INSERT INTO task_inventory_sources (profile_id, source_key, source_hash, metadata) VALUES (?, ?, ?, ?) ON CONFLICT(profile_id, source_key) DO UPDATE SET source_hash=excluded.source_hash, metadata=excluded.metadata",[e.profileId,o(e),e.hash,JSON.stringify(i)]),this.database.run("DELETE FROM task_inventory_rows WHERE profile_id = ? AND source_key = ? AND source_hash != ?",[e.profileId,o(e),e.hash]),this.database.exec("COMMIT")}catch(s){throw this.database.exec("ROLLBACK"),s}});return this.writeQueue=r.then(()=>{},()=>{}),r}async readTaskInventoryPage(e,i,r){await this.inventoryReady();let s=R.parse(i),d=f({profileId:e,...s,after:void 0,limit:void 0,sources:r.map(a=>[o(a),a.hash])}),t=s.after?A.parse(JSON.parse(Buffer.from(s.after,"base64url").toString("utf8"))):null;if(t&&t.scope!==d)throw new Error("Task cursor is stale or belongs to another view.");let n=r.filter(a=>(!s.tasksetId||a.id===s.tasksetId)&&(!s.draftId||a.draft&&a.id===s.draftId)),c=new Map(n.map(a=>[o(a),a]));if(!c.size)return k.parse({items:[],nextCursor:null});let p=[...c.keys()],_=`%${s.query.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}%`,T=this.database.all(`SELECT r.source_key, r.source_hash, r.task_id, r.ordinal, r.title, r.description, r.split, s.metadata FROM task_inventory_rows r JOIN task_inventory_sources s ON s.profile_id=r.profile_id AND s.source_key=r.source_key AND s.source_hash=r.source_hash
|
|
8
|
+
WHERE r.profile_id=? AND r.source_key IN (${p.map(()=>"?").join(",")})
|
|
9
|
+
AND (? IS NULL OR r.split=?) AND (? IS NULL OR r.task_id=?) AND (r.title LIKE ? ESCAPE '\\' OR r.description LIKE ? ESCAPE '\\' OR r.task_id LIKE ? ESCAPE '\\')
|
|
10
|
+
AND (? IS NULL OR r.source_key > ? OR (r.source_key = ? AND r.ordinal > ?)) ORDER BY r.source_key, r.ordinal LIMIT ?`,[e,...p,s.split??null,s.split??null,s.taskId??null,s.taskId??null,_,_,_,t?.key??null,t?.key??null,t?.key??null,t?.ordinal??-1,s.limit+1]),N=T.slice(0,s.limit),E=N.at(-1);return k.parse({items:N.map(a=>{let l=c.get(a.source_key);if(l.hash!==a.source_hash)throw new Error("Task inventory changed. Reload the task list.");return S.parse({...JSON.parse(a.metadata),tasksetId:l.id,tasksetRevision:l.revision,tasksetHash:l.hash,taskId:a.task_id,ordinal:a.ordinal,title:a.title,description:a.description,split:a.split,draftId:l.draft?l.id:null,modelId:l.modelId})}),nextCursor:T.length>s.limit&&E?Buffer.from(JSON.stringify({scope:d,key:E.source_key,ordinal:E.ordinal})).toString("base64url"):null})}async readTaskInventoryTask(e,i){await this.inventoryReady();let r=this.database.get("SELECT r.payload FROM task_inventory_rows r JOIN task_inventory_sources s ON s.profile_id=r.profile_id AND s.source_key=r.source_key AND s.source_hash=r.source_hash WHERE r.profile_id=? AND r.source_key=? AND r.source_hash=? AND r.task_id=?",[e.profileId,o(e),e.hash,i]);if(!r)throw new Error("Task not found in this collection.");return I.parse(JSON.parse(r.payload))}};function o(u){return`${u.draft?"draft":"release"}:${u.id}`}y(o,"sourceKey");export{v as SqliteTaskInventoryStore};
|
|
@@ -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 we}from"./chunk-EIEZHFIW.js";import{e as Te,f as ge}from"./chunk-SDXFLO7J.js";import"./chunk-GLDYJM7O.js";import{h as x,j as L}from"./chunk-HCYX6RHP.js";import{d as F,f as me,g as ke,i as N,j as D,k as ue}from"./chunk-O72BSKSO.js";import{a as H,b as g,c as $}from"./chunk-DBK66CJP.js";import"./chunk-QOTVNQDI.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WJ43MJ3F.js";import"./chunk-Q4TBTRIG.js";import"./chunk-T5AACNJI.js";import"./chunk-QOGJAQDO.js";import"./chunk-EYPCBBMS.js";import"./chunk-DIO5CB6U.js";import"./chunk-7ED24PP6.js";import{a as he}from"./chunk-KCJVFLBB.js";import"./chunk-N4FFQPLR.js";import"./chunk-AY64VY4E.js";import"./chunk-GJ2ZJFDD.js";import"./chunk-3QIB5FXI.js";import"./chunk-6MI4KKWF.js";import"./chunk-DDMZSZFL.js";import"./chunk-W45RKGM6.js";import"./chunk-3VUATFZD.js";import"./chunk-4EPSHPZL.js";import"./chunk-MQULU465.js";import"./chunk-PRGBLQVH.js";import"./chunk-7E6T7GP5.js";import"./chunk-DZUAT3TP.js";import{d as de,e as ce,f as q,n as fe,p as le,q as pe}from"./chunk-XDQMGUWL.js";import{C as ne,k as y,l as se,m as re,o as ie,p as oe}from"./chunk-FTEOCCPB.js";import{Ib as A,U as ae,b as Y,c as X,ca as O,e as B,i as Z,ua as T,xa as _}from"./chunk-25MBPJVY.js";import"./chunk-WN3V6KDN.js";import{n as ee,x as S,y as te}from"./chunk-523TE4BI.js";import"./chunk-ZCHXGRRU.js";import"./chunk-YBT2NB32.js";import"./chunk-74ZXXBGN.js";import"./chunk-APB2STJK.js";import{e as J,f as K}from"./chunk-I7AQMAQI.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-6FA3GG5B.js";import"./chunk-Y4OWBBDD.js";import"./chunk-6ZFPQYHG.js";import"./chunk-JFXWI3EN.js";import"./chunk-FFRFSDBM.js";import{N as j,O as M}from"./chunk-VYLGI3IH.js";import"./chunk-ACYFMLWG.js";import"./chunk-TVQAPBLZ.js";import{m}from"./chunk-KGNCKIFP.js";import{b as u}from"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import{a as h}from"./chunk-FTQLQJQV.js";import{randomUUID as Ze}from"node:crypto";import{cp as et,mkdir as tt,readdir as at,rename as Q,rm as Ae,stat as st}from"node:fs/promises";import I from"node:path";function Ee(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};return Te(o,{schemaVersion:"openpond.modelProjectSave.v1",operationId:`draft-publication:${m({draftId:t.id,revision:t.revision,scope:s,tasksetRef:n})}`,expectedRevision:s.expectedModelRevision,project:te.strip().parse({...r,trainingSetup:{...r.trainingSetup,tasksetRef:n,rewardBindingRef:e.metadata.rewardBinding===void 0?null:ee.parse(e.metadata.rewardBinding),tasksetRelease:null,recipe:null,...r.trainingSetup.evaluationTasksetRef&&r.trainingSetup.tasksetRef&&M(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(Ee,"selectTasksetDraftModel");import{createHash as We,randomUUID as je}from"node:crypto";import{lstat as ve,mkdir as ye,readdir as Je,readFile as Be,rename as $e,rm as qe,writeFile as Ue}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 Pe(o){let{db:t,profileId:e}=o,a=X.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:!M(j(A({taskset:d,adapterId:F(d)}).tasksetRelease),j(l.taskset)))throw new Error("Taskset draft package differs from its selected source.");let v=l.modelResources?ae.safeParse(l.taskset.metadata.modelTasksetDerivation):Y.safeParse(l.taskset.metadata.modelTasksetAuthoring),xe=c&&v.success&&v.data.owner.modelId===i.id?v.data.owner:{scopeId:e,modelId:i.id},Le=de({request:a,owner:xe,source:l}),Ce=pe({sourceDraft:ne(d),source:l,preparation:Le,expectedModelRevision:a.expectedModelRevision});await N(o.home,l);let G=b.parse({...Ce,workspaceHash:null}),ze=G.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,ze.id,JSON.stringify(G)]),t.exec("COMMIT")}catch(w){throw t.exec("ROLLBACK"),w}let W=t.get("SELECT request_hash, payload 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.");return b.parse(JSON.parse(W.payload))}h(Pe,"prepareDraftInitialization");async function Se(o){let{initialized:t,workspacePath:e}=o;if(o.completed())return;if(t.workspaceHash)try{if(await ve(e),o.completed())return;if(await U(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 ye(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 ye(R.dirname(c),{recursive:!0}),await Ue(c,O(p),{flag:"wx"}),r.set(d,p.asset.contentHash)}}await H(t.draft,a);for(let[f,p]of r)if(We("sha256").update(await Be(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 $e(a,e)}catch(f){if(!["EEXIST","ENOTEMPTY"].includes(f.code??""))throw f;if(o.completed())return;if(await U(e),await g(e)!==n)throw new Error("Prepared Taskset draft files changed before initialization completed.")}}finally{await qe(a,{recursive:!0,force:!0})}}h(Se,"materializeDraftInitialization");async function U(o){let t=await ve(o);if(!t.isDirectory()||t.isSymbolicLink())throw new Error("Taskset draft source must be a regular directory.");for(let e of await Je(o,{withFileTypes:!0})){if(e.name.startsWith(".env")||e.isSymbolicLink())throw new Error("Taskset draft source contains a prohibited file.");if(e.isDirectory())await U(R.join(o,e.name));else if(!e.isFile())throw new Error("Taskset draft source must contain regular files.")}}h(U,"assertRegularTree");import Ve from"node:path";async function De(o){let t=A({taskset:o.taskset,adapterId:F(o.taskset)}),e=await me({root:o.directory,content:{schemaVersion:"openpond.tasksetPackage.v1",taskset:t.tasksetRelease,environment:t.environmentRelease,verifierSet:t.verifierSetRelease},sources:q.parse(o.taskset.metadata.portableFileInventory??[])}),a=o.preparation.authoringGraph==="bound"?await D(o.home,o.preparation.sourcePackageHash):void 0,s=ce({preparation:o.preparation,edited:e,source:a});if(s.modelResources){let c=fe({package:s,profileId:o.taskset.profileId,name:o.taskset.name,createdAt:o.taskset.createdAt}),k=T.parse({...c.taskset,authoringProvenance:o.taskset.authoringProvenance,metadata:{...c.taskset.metadata,sourcePackageHash:o.taskset.metadata.sourcePackageHash}}),v=T.parse({...k,contentHash:_(k)});return await ue({home:o.home,...c,taskset:v}),{taskset:v,directory:Ve.join(o.home,"training","tasksets",String(v.environment.metadata.runtimeSourceTasksetId))}}let i=q.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:_(p)}),l=await x(o.home,{taskset:d,generatedFiles:n?[{path:n.asset.path,role:"environment",content:new TextDecoder("utf-8",{fatal:!0}).decode(O(n))}]:[]},f,{source:{directory:o.directory,packageHash:await g(o.directory)},verify:h(c=>L(c,d),"verify")});return await N(o.home,s),{directory:l,taskset:d}}h(De,"materializeModelTasksetDraftPublication");import{constants as V}from"node:fs";import{createHash as Qe}from"node:crypto";import{lstat as be,mkdir as Ge,open as Ke,readdir as Ye,rm as Re}from"node:fs/promises";import C from"node:path";var P=h((o,t)=>K(C.join(o,"state","taskset-draft-writes"),t),"withTasksetDraftLock"),_e=re,Xe=h(o=>Qe("sha256").update(o).digest("hex"),"digest");async function z(o,t,e=!1){B.parse(t);let a=o;for(let s of["",...t.split("/").slice(0,-1)]){s&&(a=C.join(a,s)),e&&await Ge(a,{recursive:!1}).catch(r=>{if(r.code!=="EEXIST")throw r});let i=await be(a);if(!i.isDirectory()||i.isSymbolicLink())throw new Error("Taskset draft paths must use regular directories.")}return C.join(o,t)}h(z,"regularPath");async function He(o,t){let e=await z(o,t),a=await Ke(e,V.O_RDONLY|V.O_NOFOLLOW|V.O_NONBLOCK);try{let s=await a.stat();if(!s.isFile()||s.size>se)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(He,"readBytes");async function Ie(o,t){let e=await He(o,t);return ie(t,e)}h(Ie,"readTasksetDraftFile");async function Me(o){let t=[];async function e(a=""){for(let s of await Ye(C.join(o,a),{withFileTypes:!0})){let i=a?`${a}/${s.name}`:s.name;if(B.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 be(await z(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:_e(i)})}}return h(e,"visit"),await z(o,"taskset.json"),await e(),t.sort((a,s)=>a.path.localeCompare(s.path))}h(Me,"listTasksetDraftFiles");async function Oe(o,t,e){if(!_e(t.path))throw new Error("This file is managed by the Taskset forms or retained source history.");let a=null;try{a=await He(o,t.path)}catch(r){if(r.code!=="ENOENT")throw r}if((a?Xe(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?oe(t.content):null,i=await z(o,t.path,!0);s?await J(i,s):await Re(i);try{return await e()}catch(r){throw a?await J(i,a):await Re(i,{force:!0}),r}}h(Oe,"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)}),Fe=class extends he{static{h(this,"SqliteTasksetDraftStore")}async initializeModelTasksetDraft(t,e,a){await this.ready;let s=this.writeQueue.then(()=>P(this.home,async()=>{let i=this.database,r=await Pe({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 Se({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(()=>P(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 H(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=I.resolve(t.packagePath),s=(await st(e)).isDirectory()?e:I.dirname(e);await Ne(s);let i=await g(s),r=await $(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 tt(I.dirname(p),{recursive:!0});try{await et(s,d,{recursive:!0,errorOnExist:!0,force:!1,preserveTimestamps:!0}),await H(f,d),await Q(d,p)}catch(c){throw await Ae(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 ke(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:_(i)}),n=await x(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?De({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(()=>P(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 we(this.database,a,()=>{if(s&&ge(this.database,{package:s,taskset:a,generatedFiles:[]}),Ee(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(()=>P(this.home,async()=>{let a=this.workspacePath(t),s=`${a}.delete-${Ze()}`,i=!1;try{await Q(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 Q(s,a).catch(()=>{}),r}i&&await Ae(s,{recursive:!0,force:!0})}));this.writeQueue=e.catch(()=>{}),await e}async tasksetDraftFiles(t,e,a){return await this.ready,P(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 Ie(i.workspacePath,a);return{draftRevision:i.revision,file:{...n,writable:n.writable&&i.status!=="published"}}}let r=await Me(i.workspacePath);return{draftRevision:i.revision,files:r.map(n=>({...n,writable:n.writable&&i.status!=="published"}))}})}async saveTasksetDraftFile(t,e){let a=Z.parse(e);await this.ready;let s=this.writeQueue.then(()=>P(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 Oe(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 I.join(this.home,"workspaces","tasksets",`taskset-${e}`)}async draftFromStoredPayload(t){let e=await this.pointerFromStoredPayload(t),a=await $(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 Ne(o){let t=await at(o,{withFileTypes:!0});for(let e of t){let a=I.join(o,e.name);if(e.isSymbolicLink())throw new Error(`Taskset packages cannot contain symbolic links: ${a}`);if(e.isDirectory()){await Ne(a);continue}if(!e.isFile())throw new Error(`Taskset packages may contain only files and directories: ${a}`)}}h(Ne,"assertRegularPackageTree");export{Fe as SqliteTasksetDraftStore};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as A}from"./chunk-EIEZHFIW.js";import{a as M}from"./chunk-OLLLZVHF.js";import{d as N}from"./chunk-KG325WTN.js";import"./chunk-DMFUEUAZ.js";import"./chunk-QOTVNQDI.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WJ43MJ3F.js";import"./chunk-Q4TBTRIG.js";import"./chunk-T5AACNJI.js";import"./chunk-QOGJAQDO.js";import"./chunk-EYPCBBMS.js";import"./chunk-DIO5CB6U.js";import"./chunk-7ED24PP6.js";import{a as L}from"./chunk-KCJVFLBB.js";import"./chunk-N4FFQPLR.js";import"./chunk-AY64VY4E.js";import"./chunk-GJ2ZJFDD.js";import"./chunk-3QIB5FXI.js";import"./chunk-6MI4KKWF.js";import"./chunk-DDMZSZFL.js";import"./chunk-W45RKGM6.js";import"./chunk-3VUATFZD.js";import"./chunk-4EPSHPZL.js";import"./chunk-MQULU465.js";import{A as g,B as C,h as l,i as k,l as _,r as O,s as T,t as w,u as f,v as I}from"./chunk-PRGBLQVH.js";import"./chunk-7E6T7GP5.js";import"./chunk-DZUAT3TP.js";import"./chunk-XDQMGUWL.js";import"./chunk-FTEOCCPB.js";import{B as p,sa as S,ua as m}from"./chunk-25MBPJVY.js";import"./chunk-WN3V6KDN.js";import"./chunk-523TE4BI.js";import"./chunk-ZCHXGRRU.js";import"./chunk-YBT2NB32.js";import"./chunk-74ZXXBGN.js";import"./chunk-APB2STJK.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-6FA3GG5B.js";import"./chunk-Y4OWBBDD.js";import"./chunk-6ZFPQYHG.js";import"./chunk-JFXWI3EN.js";import"./chunk-FFRFSDBM.js";import"./chunk-VYLGI3IH.js";import"./chunk-ACYFMLWG.js";import"./chunk-TVQAPBLZ.js";import"./chunk-KGNCKIFP.js";import"./chunk-ES2ISFJC.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
|
+
WHERE name = 'assistant.delta' AND session_id IN (${e})
|
|
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
|
+
`)??""}})}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)
|
|
6
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
7
|
+
ON CONFLICT(session_id) DO UPDATE SET
|
|
8
|
+
source = excluded.source,
|
|
9
|
+
signature = excluded.signature,
|
|
10
|
+
title = excluded.title,
|
|
11
|
+
updated_at = excluded.updated_at,
|
|
12
|
+
eligible = excluded.eligible,
|
|
13
|
+
body_indexed = excluded.body_indexed`,[i.sessionId,i.source,i.signature,i.title,i.updatedAt,i.eligible?1:0,i.bodyIndexed?1:0]),await this.run("INSERT INTO training_chat_search_fts (session_id, title, body) VALUES (?, ?, ?)",[i.sessionId,i.title,i.body]));await this.exec("COMMIT")}catch(i){throw await this.exec("ROLLBACK").catch(()=>{}),i}});this.writeQueue=e.catch(()=>{}),await e}async upsertTrainingChatSearchDocument(t){await this.ready;let a=this.writeQueue.then(async()=>{await this.exec("BEGIN IMMEDIATE");try{await this.run("DELETE FROM training_chat_search_fts WHERE session_id = ?",[t.sessionId]),await this.run(`INSERT INTO training_chat_search_documents (session_id, source, signature, title, updated_at, eligible, body_indexed)
|
|
14
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
15
|
+
ON CONFLICT(session_id) DO UPDATE SET
|
|
16
|
+
source = excluded.source,
|
|
17
|
+
signature = excluded.signature,
|
|
18
|
+
title = excluded.title,
|
|
19
|
+
updated_at = excluded.updated_at,
|
|
20
|
+
eligible = excluded.eligible,
|
|
21
|
+
body_indexed = excluded.body_indexed`,[t.sessionId,t.source,t.signature,t.title,t.updatedAt,t.eligible?1:0,t.bodyIndexed?1:0]),await this.run("INSERT INTO training_chat_search_fts (session_id, title, body) VALUES (?, ?, ?)",[t.sessionId,t.title,t.body]),await this.exec("COMMIT")}catch(e){throw await this.exec("ROLLBACK").catch(()=>{}),e}});this.writeQueue=a.catch(()=>{}),await a}async searchTrainingChats(t){await this.ready,await this.writeQueue;let a=t.query.trim(),e=Math.max(0,Math.trunc(t.offset)),n=Math.max(1,Math.min(100,Math.trunc(t.limit))),r=[...new Set(t.candidateIds)].slice(0,500);if(!r.length)return h(a,e,n,0,[],0,0);let d=r.map(()=>"?").join(", "),i=await this.get(`SELECT SUM(CASE WHEN body_indexed = 1 THEN 1 ELSE 0 END) AS indexed, COUNT(*) AS total
|
|
22
|
+
FROM training_chat_search_documents
|
|
23
|
+
WHERE eligible = 1 AND session_id IN (${d})`,r),u=i?.indexed??0,c=i?.total??0;if(!a){let B=await this.get(`SELECT COUNT(*) AS count FROM training_chat_search_documents
|
|
24
|
+
WHERE eligible = 1 AND session_id IN (${d})`,r),v=await this.all(`SELECT session_id, title, updated_at, NULL AS snippet
|
|
25
|
+
FROM training_chat_search_documents
|
|
26
|
+
WHERE eligible = 1 AND session_id IN (${d})
|
|
27
|
+
ORDER BY updated_at DESC, session_id ASC
|
|
28
|
+
LIMIT ? OFFSET ?`,[...r,n,e]);return h(a,e,n,B?.count??0,v,u,c)}let y=P(a);if(!y)return h(a,e,n,0,[],u,c);let b=await this.get(`SELECT COUNT(*) AS count
|
|
29
|
+
FROM training_chat_search_fts
|
|
30
|
+
JOIN training_chat_search_documents AS documents
|
|
31
|
+
ON documents.session_id = training_chat_search_fts.session_id
|
|
32
|
+
WHERE training_chat_search_fts MATCH ? AND documents.eligible = 1
|
|
33
|
+
AND documents.session_id IN (${d})`,[y,...r]),U=await this.all(`SELECT documents.session_id, documents.title, documents.updated_at,
|
|
34
|
+
snippet(training_chat_search_fts, 2, '', '', ' \u2026 ', 22) AS snippet
|
|
35
|
+
FROM training_chat_search_fts
|
|
36
|
+
JOIN training_chat_search_documents AS documents
|
|
37
|
+
ON documents.session_id = training_chat_search_fts.session_id
|
|
38
|
+
WHERE training_chat_search_fts MATCH ? AND documents.eligible = 1
|
|
39
|
+
AND documents.session_id IN (${d})
|
|
40
|
+
ORDER BY bm25(training_chat_search_fts, 0.0, 8.0, 1.0), documents.updated_at DESC
|
|
41
|
+
LIMIT ? OFFSET ?`,[y,...r,n,e]);return h(a,e,n,b?.count??0,U,u,c)}async listTrainingSources(t){return await this.ready,await this.writeQueue,(await this.all("SELECT payload FROM training_sources WHERE profile_id = ? AND source_kind = 'conversation' ORDER BY updated_at DESC",[t])).map(e=>p.parse(JSON.parse(e.payload)))}async getTrainingSource(t){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM training_sources WHERE id = ? AND source_kind = 'conversation'",[t]);return a?p.parse(JSON.parse(a.payload)):null}async getTrainingSourceForSession(t){await this.ready,await this.writeQueue;let a=await this.get(`SELECT payload FROM training_sources
|
|
42
|
+
WHERE profile_id = ? AND session_id = ?
|
|
43
|
+
AND source_kind = 'conversation'
|
|
44
|
+
AND json_extract(payload, '$.sourceHash') = ?
|
|
45
|
+
AND json_extract(payload, '$.consent.status') = 'granted'
|
|
46
|
+
ORDER BY CASE
|
|
47
|
+
WHEN json_type(payload, '$.metadata.crossSystemOperations') IS NOT NULL THEN 0
|
|
48
|
+
ELSE 1
|
|
49
|
+
END, updated_at DESC
|
|
50
|
+
LIMIT 1`,[t.profileId,t.sessionId,t.sourceHash]);return a?p.parse(JSON.parse(a.payload)):null}async upsertTrainingSource(t){let a=p.parse(t);await this.ready;let e=N(),n=this.writeQueue.then(()=>this.run(`INSERT INTO training_sources (
|
|
51
|
+
id, profile_id, source_kind, session_id, source_hash,
|
|
52
|
+
repository_id, revision, payload, created_at, updated_at
|
|
53
|
+
)
|
|
54
|
+
VALUES (?, ?, 'conversation', ?, ?, NULL, NULL, ?, ?, ?)
|
|
55
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
56
|
+
profile_id = excluded.profile_id,
|
|
57
|
+
source_kind = excluded.source_kind,
|
|
58
|
+
session_id = excluded.session_id,
|
|
59
|
+
source_hash = excluded.source_hash,
|
|
60
|
+
repository_id = NULL,
|
|
61
|
+
revision = NULL,
|
|
62
|
+
payload = excluded.payload,
|
|
63
|
+
updated_at = excluded.updated_at`,[a.id,a.profileId,a.sessionId,a.sourceHash,JSON.stringify(a),e,e]));return this.writeQueue=n.catch(()=>{}),await n,a}async deleteTrainingSource(t){await this.ready;let a=this.writeQueue.then(()=>this.run("DELETE FROM training_sources WHERE id = ?",[t]));this.writeQueue=a.catch(()=>{}),await a}async listTaskCreationSnapshots(t){await this.ready,await this.writeQueue;let a=await this.all("SELECT payload FROM task_creation_snapshots WHERE profile_id = ? ORDER BY updated_at DESC",[t]),e=[];for(let n of a){let r=JSON.parse(n.payload),d=g.safeParse(r);if(d.success){e.push(d.data);continue}let i=x(r);if(i){this.logger?.warn("retired task creation snapshot ignored",{snapshotId:H(r),specificationKind:i});continue}throw d.error}return e}async getTaskCreationSnapshot(t){await this.ready,await this.writeQueue;let a=await this.get("SELECT payload FROM task_creation_snapshots WHERE id = ?",[t]);if(!a)return null;let e=JSON.parse(a.payload),n=g.safeParse(e);if(n.success)return n.data;let r=x(e);if(r)return this.logger?.warn("retired task creation snapshot ignored",{snapshotId:H(e),specificationKind:r}),null;throw n.error}async upsertTaskCreationSnapshot(t){let a=g.parse(t),e=C.parse({schemaVersion:"openpond.taskCreationTranscript.v1",creationId:a.id,profileId:a.request.profileId,messages:a.transcript,updatedAt:a.updatedAt});await this.ready;let n=this.writeQueue.then(async()=>{await this.exec("BEGIN IMMEDIATE");try{await this.run("INSERT INTO task_creation_snapshots (id, profile_id, state, payload, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET profile_id = excluded.profile_id, state = excluded.state, payload = excluded.payload, updated_at = excluded.updated_at",[a.id,a.request.profileId,a.state,JSON.stringify(a),a.createdAt,a.updatedAt]),await this.run("INSERT INTO task_creation_transcripts (creation_id, profile_id, payload, updated_at) VALUES (?, ?, ?, ?) ON CONFLICT(creation_id) DO UPDATE SET profile_id = excluded.profile_id, payload = excluded.payload, updated_at = excluded.updated_at",[a.id,a.request.profileId,JSON.stringify(e),a.updatedAt]),a.proposal?await this.run("INSERT INTO task_design_proposals (creation_id, proposal_id, profile_id, state, payload, updated_at) VALUES (?, ?, ?, ?, ?, ?) ON CONFLICT(creation_id) DO UPDATE SET proposal_id = excluded.proposal_id, profile_id = excluded.profile_id, state = excluded.state, payload = excluded.payload, updated_at = excluded.updated_at",[a.id,a.proposal.id,a.request.profileId,a.state,JSON.stringify(a.proposal),a.updatedAt]):await this.run("DELETE FROM task_design_proposals WHERE creation_id = ?",[a.id]),await this.exec("COMMIT")}catch(r){throw await this.exec("ROLLBACK").catch(()=>{}),r}});return this.writeQueue=n.catch(()=>{}),await n,a}async getTaskCreationTranscript(t){return this.getParsedPayload("SELECT payload FROM task_creation_transcripts WHERE creation_id = ?",[t],C.parse)}async getTaskDesignProposal(t){return this.getParsedPayload("SELECT payload FROM task_design_proposals WHERE creation_id = ?",[t],I.parse)}async listTasksets(t){return this.listParsedPayloads(t?"SELECT payload FROM tasksets WHERE profile_id = ? ORDER BY updated_at DESC":"SELECT payload FROM tasksets ORDER BY updated_at DESC",t?[t]:[],R)}async listTasksetRevisions(t){return this.listParsedPayloads("SELECT payload FROM taskset_revisions WHERE json_extract(payload, '$.profileId') = ? ORDER BY taskset_id, revision DESC",[t],R)}async getTaskset(t){return this.getParsedPayload("SELECT payload FROM tasksets WHERE id = ?",[t],R)}async getTasksetRevision(t,a,e){let n=await this.getParsedPayload("SELECT payload FROM taskset_revisions WHERE taskset_id = ? AND revision = ?",[t,a],R);if(n&&e&&n.contentHash!==e)throw new Error(`Taskset ${t}@${a} does not match the requested immutable content hash.`);return n}async getTasksetByHash(t,a){return this.getParsedPayload("SELECT payload FROM taskset_revisions WHERE taskset_id = ? AND content_hash = ?",[t,a],R)}async upsertTaskset(t){let a=m.parse(t);await this.ready;let e=this.writeQueue.then(()=>A(this.database,a));return this.writeQueue=e.catch(()=>{}),await e,a}async deleteTasksetData(t){await this.ready;let a=this.writeQueue.then(async()=>{await this.exec("BEGIN IMMEDIATE");try{await this.run("DELETE FROM grade_results WHERE attempt_id IN (SELECT id FROM task_attempts WHERE taskset_id = ?)",[t]),await this.run("DELETE FROM evaluation_results WHERE taskset_id = ?",[t]),await this.run("DELETE FROM benchmark_runs WHERE taskset_id = ?",[t]),await this.run("DELETE FROM benchmark_comparisons WHERE taskset_id = ?",[t]),await this.run("DELETE FROM task_attempt_artifacts WHERE taskset_id = ?",[t]),await this.run("DELETE FROM preference_comparison_submissions WHERE taskset_id = ?",[t]),await this.run("DELETE FROM preference_comparison_assignments WHERE taskset_id = ?",[t]),await this.run("DELETE FROM preference_comparison_calibrations WHERE taskset_id = ?",[t]),await this.run("DELETE FROM preference_comparison_releases WHERE taskset_id = ?",[t]),await this.run("DELETE FROM task_attempts WHERE taskset_id = ?",[t]),await this.run("DELETE FROM grader_audit_reports WHERE taskset_id = ?",[t]),await this.run("DELETE FROM readiness_reports WHERE taskset_id = ?",[t]),await this.run("DELETE FROM training_artifacts WHERE job_id IN (SELECT id FROM training_jobs WHERE plan_id IN (SELECT id FROM training_plans WHERE taskset_id = ?))",[t]),await this.run("DELETE FROM training_rollout_receipts WHERE taskset_id = ?",[t]),await this.run("DELETE FROM model_bindings WHERE model_artifact_lineage_id IN (SELECT id FROM model_artifact_lineage WHERE taskset_id = ?)",[t]),await this.run("DELETE FROM training_job_events WHERE job_id IN (SELECT id FROM training_jobs WHERE plan_id IN (SELECT id FROM training_plans WHERE taskset_id = ?))",[t]),await this.run("DELETE FROM training_jobs WHERE plan_id IN (SELECT id FROM training_plans WHERE taskset_id = ?)",[t]),await this.run("DELETE FROM training_approvals WHERE plan_id IN (SELECT id FROM training_plans WHERE taskset_id = ?)",[t]),await this.run("DELETE FROM training_bundles WHERE plan_id IN (SELECT id FROM training_plans WHERE taskset_id = ?)",[t]),await this.run("DELETE FROM model_artifact_lineage WHERE taskset_id = ?",[t]),await this.run("DELETE FROM training_plans WHERE taskset_id = ?",[t]),await this.run("DELETE FROM task_design_proposals WHERE creation_id IN (SELECT id FROM task_creation_snapshots WHERE json_extract(payload, '$.materializedTasksetId') = ?)",[t]),await this.run("DELETE FROM task_creation_transcripts WHERE creation_id IN (SELECT id FROM task_creation_snapshots WHERE json_extract(payload, '$.materializedTasksetId') = ?)",[t]),await this.run("DELETE FROM task_creation_snapshots WHERE json_extract(payload, '$.materializedTasksetId') = ?",[t]),await this.run("DELETE FROM dataset_artifacts WHERE taskset_id = ?",[t]),await this.run("DELETE FROM tasksets WHERE id = ?",[t]),await this.run("DELETE FROM taskset_revisions WHERE taskset_id = ?",[t]),await this.exec("COMMIT")}catch(e){throw await this.exec("ROLLBACK").catch(()=>{}),e}});this.writeQueue=a.catch(()=>{}),await a}async listTaskCandidates(t,a){let e=a&&a!=="all"?"SELECT payload FROM task_candidates WHERE profile_id = ? AND status = ? ORDER BY updated_at DESC":"SELECT payload FROM task_candidates WHERE profile_id = ? ORDER BY updated_at DESC";return this.listParsedPayloads(e,a&&a!=="all"?[t,a]:[t],l.parse)}async getTaskCandidate(t){return this.getParsedPayload("SELECT payload FROM task_candidates WHERE id = ?",[t],l.parse)}async findTaskCandidateByFingerprint(t,a){return this.getParsedPayload("SELECT payload FROM task_candidates WHERE profile_id = ? AND fingerprint = ?",[t,a],l.parse)}async upsertTaskCandidate(t){let a=l.parse(t);return await this.upsertPayload(`INSERT INTO task_candidates (id, profile_id, status, fingerprint, payload, created_at, updated_at)
|
|
64
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
65
|
+
ON CONFLICT(id) DO UPDATE SET profile_id = excluded.profile_id, status = excluded.status, fingerprint = excluded.fingerprint, payload = excluded.payload, updated_at = excluded.updated_at`,[a.id,a.profileId,a.status,a.fingerprint,JSON.stringify(a),a.createdAt,a.updatedAt]),a}async saveTaskAttempt(t){let a=O.parse(t);return await this.upsertPayload(`INSERT INTO task_attempts (id, taskset_id, split, payload, created_at) VALUES (?, ?, ?, ?, ?)
|
|
66
|
+
ON CONFLICT(id) DO UPDATE SET taskset_id = excluded.taskset_id, split = excluded.split, payload = excluded.payload`,[a.id,a.tasksetId,a.split,JSON.stringify(a),a.completedAt]),a}async listTaskAttempts(t){return this.listParsedPayloads("SELECT payload FROM task_attempts WHERE taskset_id = ? ORDER BY created_at ASC",[t],O.parse)}async saveTaskAttemptArtifact(t){let a=T.parse(t);return await this.upsertPayload("INSERT INTO task_attempt_artifacts (id, taskset_id, attempt_id, kind, payload, created_at) VALUES (?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET taskset_id = excluded.taskset_id, attempt_id = excluded.attempt_id, kind = excluded.kind, payload = excluded.payload",[a.id,a.tasksetId,a.attemptId,a.kind,JSON.stringify(a),a.createdAt]),a}async listTaskAttemptArtifacts(t){return t.attemptId?this.listParsedPayloads("SELECT payload FROM task_attempt_artifacts WHERE attempt_id = ? ORDER BY created_at",[t.attemptId],T.parse):t.tasksetId?this.listParsedPayloads("SELECT payload FROM task_attempt_artifacts WHERE taskset_id = ? ORDER BY created_at",[t.tasksetId],T.parse):[]}async saveGradeResult(t){let a=w.parse(t);return await this.upsertPayload(`INSERT INTO grade_results (id, attempt_id, payload, created_at) VALUES (?, ?, ?, ?)
|
|
67
|
+
ON CONFLICT(id) DO UPDATE SET attempt_id = excluded.attempt_id, payload = excluded.payload`,[a.id,a.attemptId,JSON.stringify(a),a.createdAt]),a}async deleteGradeResultsForAttempt(t){await this.run("DELETE FROM grade_results WHERE attempt_id = ?",[t])}async listGradeResultsForTaskset(t){return this.listParsedPayloads("SELECT grades.payload FROM grade_results grades JOIN task_attempts attempts ON attempts.id = grades.attempt_id WHERE attempts.taskset_id = ? ORDER BY grades.created_at ASC",[t],w.parse)}async saveGraderAuditReport(t){let a=f.parse(t);return await this.upsertPayload("INSERT INTO grader_audit_reports (id, taskset_id, payload, created_at) VALUES (?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET taskset_id = excluded.taskset_id, payload = excluded.payload",[a.id,a.tasksetId,JSON.stringify(a),a.createdAt]),a}async listGraderAuditReports(t){return this.listParsedPayloads("SELECT payload FROM grader_audit_reports WHERE taskset_id = ? ORDER BY created_at DESC",[t],f.parse)}async saveReadinessReport(t){let a=S.parse(t);return await this.upsertPayload(`INSERT INTO readiness_reports (taskset_id, payload, updated_at) VALUES (?, ?, ?)
|
|
68
|
+
ON CONFLICT(taskset_id) DO UPDATE SET payload = excluded.payload, updated_at = excluded.updated_at`,[a.tasksetId,JSON.stringify(a),a.generatedAt]),a}async getReadinessReport(t){return this.getParsedPayload("SELECT payload FROM readiness_reports WHERE taskset_id = ?",[t],Q)}async saveTaskMinerConfig(t,a){let e=k.parse(a);return await this.upsertPayload(`INSERT INTO task_miner_configs (profile_id, payload, updated_at) VALUES (?, ?, ?)
|
|
69
|
+
ON CONFLICT(profile_id) DO UPDATE SET payload = excluded.payload, updated_at = excluded.updated_at`,[t,JSON.stringify(e),N()]),e}async getTaskMinerConfig(t){return this.getParsedPayload("SELECT payload FROM task_miner_configs WHERE profile_id = ?",[t],k.parse)}async saveTaskMinerRun(t){let a=_.parse(t);return await this.upsertPayload(`INSERT INTO task_miner_runs (id, profile_id, status, payload, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)
|
|
70
|
+
ON CONFLICT(id) DO UPDATE SET profile_id = excluded.profile_id, status = excluded.status, payload = excluded.payload, updated_at = excluded.updated_at`,[a.id,a.profileId,a.status,JSON.stringify(a),a.createdAt,a.updatedAt]),a}async getTaskMinerRun(t){return this.getParsedPayload("SELECT payload FROM task_miner_runs WHERE id = ?",[t],_.parse)}async listTaskMinerRuns(t){return t?this.listParsedPayloads("SELECT payload FROM task_miner_runs WHERE profile_id = ? ORDER BY updated_at DESC",[t],_.parse):this.listParsedPayloads("SELECT payload FROM task_miner_runs ORDER BY updated_at DESC",[],_.parse)}};function x(s){return!E(s)||!E(s.request)||!E(s.request.buildSpecification)?null:s.request.buildSpecification.kind==="agent_benchmark"?"agent_benchmark":null}o(x,"retiredTaskCreationSpecificationKind");function R(s){return m.parse(J(W(s)))}o(R,"parseStoredTaskset");function Q(s){return S.parse(W(s))}o(Q,"parseStoredReadinessReport");function W(s){if(!E(s))return s;let t=E(s.readiness)?s.readiness:s;if(!Array.isArray(t.compatibleDestinationClasses))return s;let a=new Set(["export","custom","hosted_managed"]),e=t.compatibleDestinationClasses.filter(r=>typeof r=="string"&&a.has(r));if(e.length===t.compatibleDestinationClasses.length)return s;let n={...t,compatibleDestinationClasses:e};return t===s?n:{...s,readiness:n}}o(W,"normalizeStoredReadinessDestinationClasses");function J(s){if(!E(s)||!E(s.authoringProvenance))return s;let t=s.authoringProvenance.buildSpecification;return!E(t)||t.kind!=="agent_benchmark"?s:{...s,authoringProvenance:{...s.authoringProvenance,buildSpecification:null}}}o(J,"normalizeStoredTasksetAuthoringProvenance");function H(s){return E(s)&&typeof s.id=="string"?s.id:null}o(H,"storedPayloadId");function E(s){return!!s&&typeof s=="object"&&!Array.isArray(s)}o(E,"isRecord");export{F as SqliteTrainingStore};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as u}from"./chunk-OUVIWDL2.js";import"./chunk-QOTVNQDI.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WJ43MJ3F.js";import"./chunk-Q4TBTRIG.js";import"./chunk-T5AACNJI.js";import{$ as E,D as S,aa as c,ba as o,ea as _,ga as s,ha as T,na as p,oa as g}from"./chunk-QOGJAQDO.js";import"./chunk-EYPCBBMS.js";import"./chunk-DIO5CB6U.js";import"./chunk-7ED24PP6.js";import{a as f}from"./chunk-KCJVFLBB.js";import"./chunk-N4FFQPLR.js";import"./chunk-AY64VY4E.js";import"./chunk-GJ2ZJFDD.js";import"./chunk-3QIB5FXI.js";import"./chunk-6MI4KKWF.js";import"./chunk-DDMZSZFL.js";import"./chunk-W45RKGM6.js";import"./chunk-3VUATFZD.js";import"./chunk-4EPSHPZL.js";import"./chunk-MQULU465.js";import"./chunk-PRGBLQVH.js";import"./chunk-7E6T7GP5.js";import"./chunk-DZUAT3TP.js";import"./chunk-XDQMGUWL.js";import"./chunk-FTEOCCPB.js";import"./chunk-25MBPJVY.js";import"./chunk-WN3V6KDN.js";import"./chunk-523TE4BI.js";import"./chunk-ZCHXGRRU.js";import"./chunk-YBT2NB32.js";import"./chunk-74ZXXBGN.js";import"./chunk-APB2STJK.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-6FA3GG5B.js";import"./chunk-Y4OWBBDD.js";import"./chunk-6ZFPQYHG.js";import"./chunk-JFXWI3EN.js";import"./chunk-FFRFSDBM.js";import"./chunk-VYLGI3IH.js";import"./chunk-ACYFMLWG.js";import"./chunk-TVQAPBLZ.js";import"./chunk-KGNCKIFP.js";import"./chunk-ES2ISFJC.js";import{a as d}from"./chunk-FTQLQJQV.js";var l="('openpond_managed')",P=class extends f{static{d(this,"SqliteTrainingJobsStore")}async saveModelProject(t){let a=E.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=c.parse(t),e=await this.getTrainingPlan(a.id);if(e&&e.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 ${l} ORDER BY created_at DESC`:`SELECT payload FROM training_plans WHERE destination_id IN ${l} ORDER BY created_at DESC`,t?[t]:[],c.parse)}async getTrainingPlan(t){return this.getParsedPayload(`SELECT payload FROM training_plans WHERE id = ? AND destination_id IN ${l}`,[t],c.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),e=await this.getTrainingJob(a.id),n=e?.metadata.activityAuthority,r=a.metadata.activityAuthority;if(n!==void 0){let A=u.parse(n);if(r!==void 0&&JSON.stringify(u.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(e)throw new Error("Historical training activity cannot be assigned a guessed owner.");a={...a,metadata:{...a.metadata,activityAuthority:u.parse(r)}}}await this.upsertPayload(`INSERT INTO training_jobs (id, plan_id, destination_id, status, payload, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
6
|
+
ON CONFLICT(id) DO UPDATE SET plan_id = excluded.plan_id, destination_id = excluded.destination_id, status = excluded.status,
|
|
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
|
+
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=_.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],_.parse)}async getTrainingJob(t){return this.getParsedPayload(`SELECT payload FROM training_jobs WHERE id = ? AND destination_id IN ${l}`,[t],s.parse)}async readTrainingExecutionActivity(t){let a=await this.all(`SELECT id,payload,count(*) OVER () AS total FROM training_jobs
|
|
11
|
+
WHERE json_extract(payload,'$.metadata.activityAuthority.schemaVersion')='openpond.trainingActivityAuthority.v1'
|
|
12
|
+
AND json_extract(payload,'$.metadata.activityAuthority.teamId')=? AND json_extract(payload,'$.metadata.activityAuthority.actorId')=?
|
|
13
|
+
AND status IN ('queued','starting','running','cancelling','reconciling')
|
|
14
|
+
AND destination_id != 'openpond_managed'
|
|
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(e=>{let n=s.parse(JSON.parse(e.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 ${l} ORDER BY updated_at DESC`,[],s.parse)}async saveTrainingJobEvent(t){let a=T.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 listTrainingJobEvents(t){return this.listParsedPayloads("SELECT payload FROM training_job_events WHERE job_id = ? ORDER BY sequence ASC",[t],T.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 (?, ?, ?, ?, ?)
|
|
18
|
+
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=g.parse(t);return await this.upsertPayload(`INSERT INTO model_artifact_lineage (id, artifact_id, taskset_id, payload, created_at) VALUES (?, ?, ?, ?, ?)
|
|
19
|
+
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 e=a===null?null:S.parse(a);await this.upsertPayload("UPDATE model_artifact_lineage SET payload = json_set(payload, '$.managedServing', json(?)) WHERE id = ?",[JSON.stringify(e),t])}async updateModelArtifactLineageReview(t,a){let e=g.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 = ?",[e.status,e.rejectedAt,e.rejectionReason,e.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]:[],R)}async getModelArtifactLineage(t){return this.getParsedPayload("SELECT payload FROM model_artifact_lineage WHERE id = ?",[t],R)}};function h(i){return E.parse(O(i))}d(h,"parseStoredModelProject");function O(i){return!m(i)||typeof i.defaultDestinationId!="string"||i.defaultDestinationId==="openpond_managed"?i:{...i,defaultDestinationId:null}}d(O,"normalizeStoredModelProjectDestination");function R(i){return g.parse(N(i))}d(R,"parseStoredModelArtifactLineage");function N(i){if(!m(i)||!m(i.managedServing))return i;let t=i.managedServing.source;return t!=="openpond_fireworks"&&t!=="openpond_training"?i:{...i,managedServing:null}}d(N,"normalizeStoredManagedServingProjection");function m(i){return!!i&&typeof i=="object"&&!Array.isArray(i)}d(m,"isRecord");export{P as SqliteTrainingJobsStore};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as O}from"./chunk-YOQRYNLP.js";import{Na as P}from"./chunk-QOTVNQDI.js";import"./chunk-OQPJ7FJF.js";import"./chunk-WJ43MJ3F.js";import"./chunk-Q4TBTRIG.js";import"./chunk-T5AACNJI.js";import{U as S,ga as C,h as c,m as p,o as E,p as y,qa as u,r as R,u as m,w as _}from"./chunk-QOGJAQDO.js";import"./chunk-EYPCBBMS.js";import"./chunk-DIO5CB6U.js";import"./chunk-7ED24PP6.js";import{a as M}from"./chunk-KCJVFLBB.js";import"./chunk-N4FFQPLR.js";import"./chunk-AY64VY4E.js";import"./chunk-GJ2ZJFDD.js";import"./chunk-3QIB5FXI.js";import"./chunk-6MI4KKWF.js";import"./chunk-DDMZSZFL.js";import"./chunk-W45RKGM6.js";import"./chunk-3VUATFZD.js";import"./chunk-4EPSHPZL.js";import"./chunk-MQULU465.js";import"./chunk-PRGBLQVH.js";import"./chunk-7E6T7GP5.js";import"./chunk-DZUAT3TP.js";import"./chunk-XDQMGUWL.js";import"./chunk-FTEOCCPB.js";import"./chunk-25MBPJVY.js";import"./chunk-WN3V6KDN.js";import"./chunk-523TE4BI.js";import"./chunk-ZCHXGRRU.js";import"./chunk-YBT2NB32.js";import"./chunk-74ZXXBGN.js";import"./chunk-APB2STJK.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-6FA3GG5B.js";import"./chunk-Y4OWBBDD.js";import"./chunk-6ZFPQYHG.js";import"./chunk-JFXWI3EN.js";import"./chunk-FFRFSDBM.js";import"./chunk-VYLGI3IH.js";import"./chunk-ACYFMLWG.js";import"./chunk-TVQAPBLZ.js";import"./chunk-KGNCKIFP.js";import"./chunk-ES2ISFJC.js";import{a as l}from"./chunk-FTQLQJQV.js";function w(r,t,e){let a=P.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 M{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
|
+
(id, series_id, entry_id, evidence_state, content_hash, payload, created_at)
|
|
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
|
+
(id, profile_id, model_project_id, status, payload, created_at, updated_at)
|
|
6
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
7
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
8
|
+
status = excluded.status,
|
|
9
|
+
payload = excluded.payload,
|
|
10
|
+
updated_at = excluded.updated_at`,[e.id,e.profileId,e.modelProjectId,e.status,JSON.stringify(e),e.createdAt,e.updatedAt]),e}async getModelComparisonSeries(t){return this.getParsedPayload("SELECT payload FROM model_comparison_series WHERE id = ?",[t],c.parse)}async listModelComparisonSeries(t={}){return t.modelProjectId?this.listParsedPayloads("SELECT payload FROM model_comparison_series WHERE model_project_id = ? ORDER BY updated_at DESC",[t.modelProjectId],c.parse):t.profileId?this.listParsedPayloads("SELECT payload FROM model_comparison_series WHERE profile_id = ? ORDER BY updated_at DESC",[t.profileId],c.parse):this.listParsedPayloads("SELECT payload FROM model_comparison_series ORDER BY updated_at DESC",[],c.parse)}async saveModelComparisonSeriesEntry(t){let e=p.parse(t),a=await this.getModelComparisonSeriesEntry(e.id);if(a&&!h(a,e))throw new Error("A Model Comparison Series Entry cannot change its immutable release lineage.");if(a&&!I(a,e))throw new Error("A Model Comparison Series Entry cannot replace linked evidence or artifact lineage.");return await this.upsertPayload(`INSERT INTO model_comparison_series_entries
|
|
11
|
+
(id, series_id, profile_id, model_project_id, ordinal, status, payload, created_at, updated_at)
|
|
12
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
13
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
14
|
+
status = excluded.status,
|
|
15
|
+
payload = excluded.payload,
|
|
16
|
+
updated_at = excluded.updated_at`,[e.id,e.seriesId,e.profileId,e.modelProjectId,e.ordinal,e.status,JSON.stringify(e),e.createdAt,e.updatedAt]),e}async getModelComparisonSeriesEntry(t){return this.getParsedPayload("SELECT payload FROM model_comparison_series_entries WHERE id = ?",[t],p.parse)}async listModelComparisonSeriesEntries(t={}){return t.seriesId?this.listParsedPayloads("SELECT payload FROM model_comparison_series_entries WHERE series_id = ? ORDER BY ordinal ASC",[t.seriesId],p.parse):t.modelProjectId?this.listParsedPayloads("SELECT payload FROM model_comparison_series_entries WHERE model_project_id = ? ORDER BY updated_at DESC",[t.modelProjectId],p.parse):this.listParsedPayloads("SELECT payload FROM model_comparison_series_entries ORDER BY updated_at DESC",[],p.parse)}async commitModelComparisonSeriesMutation(t){let e=c.parse(t.series),a=p.parse(t.entry);await this.ready;let i={series:e,entry:a},o=this.writeQueue.then(async()=>{await this.exec("BEGIN IMMEDIATE");try{let s=await this.get("SELECT payload FROM model_comparison_series WHERE id = ?",[e.id]);if(!s)throw new Error("Model Comparison Series not found.");let d=c.parse(JSON.parse(s.payload));if(d.revision!==t.expectedSeriesRevision)throw new Error(`Comparison Series revision changed; expected ${t.expectedSeriesRevision} and found ${d.revision}.`);if(e.revision!==d.revision+1)throw new Error("A Comparison Series mutation must advance exactly one revision.");if(d.scheduleSealedAt&&!v(d,e))throw new Error("A sealed Model Comparison Series definition is immutable.");let n=await this.get("SELECT payload FROM model_comparison_series_entries WHERE id = ?",[a.id]),f=n?p.parse(JSON.parse(n.payload)):null;if((f?.status??null)!==t.expectedEntryStatus)throw new Error("The Comparison Series Entry changed before the mutation could be applied.");if(f&&!h(f,a))throw new Error("A Model Comparison Series Entry cannot change its immutable release lineage.");if(f&&!I(f,a))throw new Error("A Model Comparison Series Entry cannot replace linked evidence or artifact lineage.");await this.run(`INSERT INTO model_comparison_series_entries
|
|
17
|
+
(id, series_id, profile_id, model_project_id, ordinal, status, payload, created_at, updated_at)
|
|
18
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
19
|
+
ON CONFLICT(id) DO UPDATE SET status = excluded.status, payload = excluded.payload, updated_at = excluded.updated_at`,[a.id,a.seriesId,a.profileId,a.modelProjectId,a.ordinal,a.status,JSON.stringify(a),a.createdAt,a.updatedAt]),await this.run("UPDATE model_comparison_series SET status = ?, payload = ?, updated_at = ? WHERE id = ?",[e.status,JSON.stringify(e),e.updatedAt,e.id]),await this.exec("COMMIT"),i={series:e,entry:a}}catch(s){throw await this.exec("ROLLBACK").catch(()=>{}),s}});return this.writeQueue=o.catch(()=>{}),await o,i}async compareAndSwapModelComparisonSeriesEntry(t){let e=p.parse(t.entry);await this.ready;let a=this.writeQueue.then(async()=>{await this.exec("BEGIN IMMEDIATE");try{let i=await this.get("SELECT payload FROM model_comparison_series_entries WHERE id = ?",[e.id]);if(!i)throw new Error("Model Comparison Series Entry not found.");let o=p.parse(JSON.parse(i.payload));if(o.status!==t.expectedStatus)throw new Error(`Comparison entry state changed; expected ${t.expectedStatus} and found ${o.status}.`);if(!h(o,e))throw new Error("A Model Comparison Series Entry cannot change its immutable release lineage.");if(!I(o,e))throw new Error("A Model Comparison Series Entry cannot replace linked evidence or artifact lineage.");await this.run("UPDATE model_comparison_series_entries SET status = ?, payload = ?, updated_at = ? WHERE id = ?",[e.status,JSON.stringify(e),e.updatedAt,e.id]),await this.exec("COMMIT")}catch(i){throw await this.exec("ROLLBACK").catch(()=>{}),i}});return this.writeQueue=a.catch(()=>{}),await a,e}async saveRewardModelVersion(t){let e=y.parse(t),a=await this.getRewardModelVersion(e.id);if(a&&a.contentHash!==e.contentHash)throw new Error(`Reward Model Version ${e.id} is immutable and already has different content.`);return await this.upsertPayload(`INSERT INTO reward_model_versions
|
|
20
|
+
(id, model_id, profile_id, version_number, taskset_id, status, payload, created_at)
|
|
21
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
22
|
+
ON CONFLICT(id) DO UPDATE SET payload = excluded.payload`,[e.id,e.modelId,e.profileId,e.version,e.taskset.id,e.status,JSON.stringify(e),e.createdAt]),e}async getRewardModelVersion(t){return this.getParsedPayload("SELECT payload FROM reward_model_versions WHERE id = ?",[t],y.parse)}async listRewardModelVersions(t={}){return t.tasksetId?this.listParsedPayloads("SELECT payload FROM reward_model_versions WHERE taskset_id = ? ORDER BY created_at DESC",[t.tasksetId],y.parse):t.profileId?this.listParsedPayloads("SELECT payload FROM reward_model_versions WHERE profile_id = ? ORDER BY created_at DESC",[t.profileId],y.parse):this.listParsedPayloads("SELECT payload FROM reward_model_versions ORDER BY created_at DESC",[],y.parse)}async saveRewardModelRun(t){let e=R.parse(t),a=await this.getRewardModelRun(e.id);if(a&&(a.rewardModelId!==e.rewardModelId||a.profileId!==e.profileId||a.taskset.id!==e.taskset.id||a.preferenceDatasetRelease.contentHash!==e.preferenceDatasetRelease.contentHash))throw new Error("A Reward Model Run cannot change its immutable lineage.");if(a&&["succeeded","failed","cancelled"].includes(a.status)&&JSON.stringify(a)!==JSON.stringify(e))throw new Error(`Terminal Reward Model Run ${e.id} is immutable.`);return await this.upsertPayload(`INSERT INTO reward_model_runs
|
|
23
|
+
(id, reward_model_id, profile_id, taskset_id, status, payload, created_at, updated_at)
|
|
24
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
25
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
26
|
+
status = excluded.status,
|
|
27
|
+
payload = excluded.payload,
|
|
28
|
+
updated_at = excluded.updated_at`,[e.id,e.rewardModelId,e.profileId,e.taskset.id,e.status,JSON.stringify(e),e.startedAt,e.updatedAt]),e}async getRewardModelRun(t){return this.getParsedPayload("SELECT payload FROM reward_model_runs WHERE id = ?",[t],R.parse)}async listRewardModelRuns(t={}){return t.tasksetId?this.listParsedPayloads("SELECT payload FROM reward_model_runs WHERE taskset_id = ? ORDER BY updated_at DESC",[t.tasksetId],R.parse):t.profileId?this.listParsedPayloads("SELECT payload FROM reward_model_runs WHERE profile_id = ? ORDER BY updated_at DESC",[t.profileId],R.parse):this.listParsedPayloads("SELECT payload FROM reward_model_runs ORDER BY updated_at DESC",[],R.parse)}async saveModelVersion(t){let e=E.parse(t),a=await this.getModelVersion(e.id);if(a&&a.contentHash!==e.contentHash)throw new Error(`Model Version ${e.id} is immutable and already has different content.`);let i=(await this.listModelVersions({modelId:e.modelId})).find(o=>o.version===e.version);if(i&&i.id!==e.id)throw new Error(`Model ${e.modelId} already has version ${e.version}.`);return await this.upsertPayload(`INSERT INTO model_versions
|
|
29
|
+
(id, model_id, profile_id, version_number, kind, payload, created_at)
|
|
30
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
31
|
+
ON CONFLICT(id) DO UPDATE SET payload = excluded.payload`,[e.id,e.modelId,e.profileId,e.version,e.kind,JSON.stringify(e),e.createdAt]),e}async getModelVersion(t){return this.getParsedPayload("SELECT payload FROM model_versions WHERE id = ?",[t],E.parse)}async listModelVersions(t={}){return t.modelId?this.listParsedPayloads("SELECT payload FROM model_versions WHERE model_id = ? ORDER BY version_number DESC",[t.modelId],E.parse):t.profileId?this.listParsedPayloads("SELECT payload FROM model_versions WHERE profile_id = ? ORDER BY created_at DESC",[t.profileId],E.parse):this.listParsedPayloads("SELECT payload FROM model_versions ORDER BY created_at DESC",[],E.parse)}async saveModelRun(t,e={}){let a=m.parse(t),i=await this.getModelRun(a.id);if(i&&JSON.stringify(i)===JSON.stringify(a))return i;let o=!1;if(e.recoverCollectionForJobId){let s=await this.getParsedPayload("SELECT payload FROM training_jobs WHERE id = ?",[e.recoverCollectionForJobId],C.parse);if(o=!!(i&&s&&w(i,a,s)),!o)throw new Error("Model Run collection recovery must preserve the failed Job's execution and lineage.")}if(i&&(i.modelId!==a.modelId||i.modelVersionId!==a.modelVersionId||i.profileId!==a.profileId||i.taskset.id!==a.taskset.id||JSON.stringify(i.comparisonSeriesEntry??null)!==JSON.stringify(a.comparisonSeriesEntry??null)))throw new Error("A Model Run cannot change its immutable lineage.");if(i&&["succeeded","failed","cancelled"].includes(i.status)&&JSON.stringify(i)!==JSON.stringify(a)&&!g(i,a)&&!o)throw new Error(`Terminal Model Run ${a.id} is immutable.`);return await this.upsertPayload(`INSERT INTO model_runs
|
|
32
|
+
(id, model_id, model_version_id, profile_id, taskset_id, status, payload, created_at, updated_at)
|
|
33
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
34
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
35
|
+
status = excluded.status,
|
|
36
|
+
payload = excluded.payload,
|
|
37
|
+
updated_at = excluded.updated_at`,[a.id,a.modelId,a.modelVersionId,a.profileId,a.taskset.id,a.status,JSON.stringify(a),a.startedAt,a.updatedAt]),a}async getModelRun(t){return this.getParsedPayload("SELECT payload FROM model_runs WHERE id = ?",[t],m.parse)}async listModelRuns(t={}){return t.modelId?this.listParsedPayloads("SELECT payload FROM model_runs WHERE model_id = ? ORDER BY updated_at DESC",[t.modelId],m.parse):t.tasksetId?this.listParsedPayloads("SELECT payload FROM model_runs WHERE taskset_id = ? ORDER BY updated_at DESC",[t.tasksetId],m.parse):t.profileId?this.listParsedPayloads("SELECT payload FROM model_runs WHERE profile_id = ? ORDER BY updated_at DESC",[t.profileId],m.parse):this.listParsedPayloads("SELECT payload FROM model_runs ORDER BY updated_at DESC",[],m.parse)}async saveRolloutTrajectoryReceipt(t){let e=S.parse(t);return await this.upsertPayload(`INSERT INTO training_rollout_receipts (id, job_id, taskset_id, provider_rollout_id, status, payload, created_at, updated_at)
|
|
38
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
39
|
+
ON CONFLICT(id) DO UPDATE SET job_id = excluded.job_id, taskset_id = excluded.taskset_id,
|
|
40
|
+
provider_rollout_id = excluded.provider_rollout_id, status = excluded.status,
|
|
41
|
+
payload = excluded.payload, updated_at = excluded.updated_at`,[e.id,e.jobId,e.tasksetId,e.providerTrace.rolloutId,e.status,JSON.stringify(e),e.receivedAt,e.updatedAt]),e}async getRolloutTrajectoryReceiptByProviderId(t){return this.getParsedPayload("SELECT payload FROM training_rollout_receipts WHERE provider_rollout_id = ?",[t],S.parse)}async listRolloutTrajectoryReceipts(t={}){return t.jobId?this.listParsedPayloads("SELECT payload FROM training_rollout_receipts WHERE job_id = ? ORDER BY updated_at DESC",[t.jobId],S.parse):t.tasksetId?this.listParsedPayloads("SELECT payload FROM training_rollout_receipts WHERE taskset_id = ? ORDER BY updated_at DESC",[t.tasksetId],S.parse):this.listParsedPayloads("SELECT payload FROM training_rollout_receipts ORDER BY updated_at DESC",[],S.parse)}async saveModelBinding(t){let e=u.parse(t);return await this.upsertPayload(`INSERT INTO model_bindings (id, profile_id, role, role_target_id, model_artifact_lineage_id, status, payload, created_at, updated_at)
|
|
42
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
43
|
+
ON CONFLICT(id) DO UPDATE SET profile_id = excluded.profile_id, role = excluded.role,
|
|
44
|
+
role_target_id = excluded.role_target_id, model_artifact_lineage_id = excluded.model_artifact_lineage_id,
|
|
45
|
+
status = excluded.status, payload = excluded.payload, updated_at = excluded.updated_at`,[e.id,e.profileId,e.role,e.roleTargetId,e.modelArtifactLineageId,e.status,JSON.stringify(e),e.promotedAt,e.rolledBackAt??e.promotedAt]),e}async replaceActiveModelBinding(t){let e=t.next?u.parse(t.next):null;if(e&&(e.status!=="active"||e.profileId!==t.profileId||e.role!==t.role||e.roleTargetId!==t.roleTargetId))throw new Error("Replacement Model binding does not match the requested active role.");await this.ready;let a={previous:null,active:null},i=this.writeQueue.then(async()=>{await this.exec("BEGIN IMMEDIATE");try{if(t.servingGrant){let d=await this.get("SELECT payload FROM conversation_serving_grants WHERE id = ?",[t.servingGrant.id]),n=d?O.parse(JSON.parse(d.payload)):null;if(!n?.enabled||n.revision!==t.servingGrant.expectedRevision||n.authorizedConfigurationHash!==t.servingGrant.authorizationHash||n.profileId!==t.profileId||n.role!==t.role||n.roleTargetId!==t.roleTargetId||n.expectedBindingId!==t.expectedActiveBindingId)throw new Error("The native serving authorization changed before the binding commit.")}let o=await this.get("SELECT payload FROM model_bindings WHERE profile_id = ? AND role = ? AND role_target_id = ? AND status = 'active' LIMIT 1",[t.profileId,t.role,t.roleTargetId]),s=o?u.parse(JSON.parse(o.payload)):null;if((s?.id??null)!==t.expectedActiveBindingId)throw new Error("The active Model binding changed before this promotion could be applied.");if(s){let d=u.parse({...s,status:"rolled_back",rolledBackAt:t.timestamp});await this.run(`UPDATE model_bindings
|
|
46
|
+
SET status = 'rolled_back', payload = ?, updated_at = ?
|
|
47
|
+
WHERE id = ? AND status = 'active'`,[JSON.stringify(d),t.timestamp,s.id])}e&&await this.run(`INSERT INTO model_bindings
|
|
48
|
+
(id, profile_id, role, role_target_id, model_artifact_lineage_id, status, payload, created_at, updated_at)
|
|
49
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[e.id,e.profileId,e.role,e.roleTargetId,e.modelArtifactLineageId,e.status,JSON.stringify(e),e.promotedAt,e.promotedAt]),await this.exec("COMMIT"),a={previous:s,active:e}}catch(o){throw await this.exec("ROLLBACK").catch(()=>{}),o}});return this.writeQueue=i.catch(()=>{}),await i,a}async getModelBinding(t){return this.getParsedPayload("SELECT payload FROM model_bindings WHERE id = ?",[t],u.parse)}async getActiveModelBinding(t){return this.getParsedPayload("SELECT payload FROM model_bindings WHERE profile_id = ? AND role = ? AND role_target_id = ? AND status = 'active' LIMIT 1",[t.profileId,t.role,t.roleTargetId],u.parse)}async listModelBindings(t){return this.listParsedPayloads(t?"SELECT payload FROM model_bindings WHERE profile_id = ? ORDER BY updated_at DESC":"SELECT payload FROM model_bindings ORDER BY updated_at DESC",t?[t]:[],u.parse)}};function v(r,t){let e=l(a=>({id:a.id,profileId:a.profileId,modelProjectId:a.modelProjectId,name:a.name,objective:a.objective,productionBinding:a.productionBinding,baseModel:a.baseModel,seedTaskset:a.seedTaskset,eligibleTaskPool:a.eligibleTaskPool,evaluationTasksets:a.evaluationTasksets,grader:a.grader,benchmarkProtocol:a.benchmarkProtocol,automaticEvaluation:a.automaticEvaluation,residualProfile:a.residualProfile,schedule:a.schedule,scheduleSealedAt:a.scheduleSealedAt,advancementPolicy:a.advancementPolicy,executionPolicy:a.executionPolicy,createdBy:a.createdBy,createdAt:a.createdAt}),"definition");return JSON.stringify(e(r))===JSON.stringify(e(t))}l(v,"sameSealedSeriesDefinition");function h(r,t){let e=l(a=>({seriesId:a.seriesId,profileId:a.profileId,modelProjectId:a.modelProjectId,scheduleEntryId:a.scheduleEntryId,releaseHash:a.releaseHash,ordinal:a.ordinal,label:a.label,role:a.role,branch:a.branch,parent:a.parent,taskset:a.taskset,sourceTasksets:a.sourceTasksets,taskSelection:a.taskSelection,trainableRank:a.trainableRank,serializedEnvelopeRank:a.serializedEnvelopeRank,enabledCumulativeRank:a.enabledCumulativeRank,trainableBlockId:a.trainableBlockId,residualBlocks:a.residualBlocks.map(({artifactLineageId:i,...o})=>o),createdAt:a.createdAt}),"lineage");return JSON.stringify(e(r))===JSON.stringify(e(t))}l(h,"sameEntryLineage");function I(r,t){if(A(r,t))return!0;let e=l((o,s)=>o===null||o===s,"appendOnlyId");if(r.attemptOrdinal!==t.attemptOrdinal||JSON.stringify(r.priorRunAttempts)!==JSON.stringify(t.priorRunAttempts)||!e(r.trainingPlanId,t.trainingPlanId)||!e(r.modelRunId,t.modelRunId)||!e(r.modelVersionId,t.modelVersionId)||!e(r.promotionBindingId,t.promotionBindingId)||r.decision!==null&&JSON.stringify(r.decision)!==JSON.stringify(t.decision))return!1;let a=new Map(t.evaluations.map(o=>[o.evaluationRunId,o]));if(r.evaluations.some(o=>JSON.stringify(a.get(o.evaluationRunId))!==JSON.stringify(o)))return!1;let i=new Map(t.residualBlocks.map(o=>[o.id,o]));return r.residualBlocks.every(o=>o.artifactLineageId?i.get(o.id)?.artifactLineageId===o.artifactLineageId:!0)}l(I,"validEntryEvidenceEvolution");function A(r,t){if(r.status!=="failed"&&r.status!=="cancelled"||t.status!=="ready"||r.modelVersionId!==null||r.evaluations.length!==0||r.decision!==null||r.promotionBindingId!==null||r.residualBlocks.some(i=>i.id===r.trainableBlockId&&i.artifactLineageId!==null)||t.trainingPlanId!==null||t.modelRunId!==null||t.modelVersionId!==null||t.evaluations.length!==0||t.decision!==null||t.promotionBindingId!==null||t.queuedAt!==null||t.startedAt!==null||t.completedAt!==null||JSON.stringify(r.residualBlocks)!==JSON.stringify(t.residualBlocks))return!1;let e=!!(r.trainingPlanId||r.modelRunId),a=e?[...r.priorRunAttempts,{attemptOrdinal:r.attemptOrdinal,trainingPlanId:r.trainingPlanId,modelRunId:r.modelRunId,terminalStatus:r.status,queuedAt:r.queuedAt,startedAt:r.startedAt,completedAt:r.completedAt??t.updatedAt}]:r.priorRunAttempts;return t.attemptOrdinal===r.attemptOrdinal+(e?1:0)&&JSON.stringify(t.priorRunAttempts)===JSON.stringify(a)}l(A,"validEntryRetryEvolution");export{T as SqliteTrainingModelStore,g as isCheckpointResumeTransition};
|
|
@@ -0,0 +1,63 @@
|
|
|
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-UGL7WF3W.js";import"./chunk-DMFUEUAZ.js";import{b as u}from"./chunk-DIO5CB6U.js";import{a as l}from"./chunk-KCJVFLBB.js";import{O as a}from"./chunk-Z4Z5UOZM.js";import"./chunk-FFRFSDBM.js";import"./chunk-KGNCKIFP.js";import"./chunk-ES2ISFJC.js";import{a as d}from"./chunk-FTQLQJQV.js";var m=class extends l{static{d(this,"SqliteUsageStore")}async upsertModelUsageRecord(e){await this.ready;let t=u.parse(e),s=this.writeQueue.then(async()=>{await this.run(`INSERT INTO model_usage_records (
|
|
3
|
+
id,
|
|
4
|
+
request_id,
|
|
5
|
+
request_ordinal,
|
|
6
|
+
session_id,
|
|
7
|
+
turn_id,
|
|
8
|
+
provider,
|
|
9
|
+
model,
|
|
10
|
+
route,
|
|
11
|
+
source,
|
|
12
|
+
request_kind,
|
|
13
|
+
visibility,
|
|
14
|
+
status,
|
|
15
|
+
started_at,
|
|
16
|
+
completed_at,
|
|
17
|
+
duration_ms,
|
|
18
|
+
first_token_ms,
|
|
19
|
+
prompt_tokens,
|
|
20
|
+
cached_prompt_tokens,
|
|
21
|
+
uncached_prompt_tokens,
|
|
22
|
+
cache_write_prompt_tokens,
|
|
23
|
+
cache_telemetry_source,
|
|
24
|
+
completion_tokens,
|
|
25
|
+
total_tokens,
|
|
26
|
+
error_type,
|
|
27
|
+
error_message,
|
|
28
|
+
attribution_json
|
|
29
|
+
)
|
|
30
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
31
|
+
ON CONFLICT(request_id)
|
|
32
|
+
DO UPDATE SET
|
|
33
|
+
id = excluded.id,
|
|
34
|
+
request_ordinal = excluded.request_ordinal,
|
|
35
|
+
session_id = excluded.session_id,
|
|
36
|
+
turn_id = excluded.turn_id,
|
|
37
|
+
provider = excluded.provider,
|
|
38
|
+
model = excluded.model,
|
|
39
|
+
route = excluded.route,
|
|
40
|
+
source = excluded.source,
|
|
41
|
+
request_kind = excluded.request_kind,
|
|
42
|
+
visibility = excluded.visibility,
|
|
43
|
+
status = excluded.status,
|
|
44
|
+
started_at = excluded.started_at,
|
|
45
|
+
completed_at = excluded.completed_at,
|
|
46
|
+
duration_ms = excluded.duration_ms,
|
|
47
|
+
first_token_ms = excluded.first_token_ms,
|
|
48
|
+
prompt_tokens = excluded.prompt_tokens,
|
|
49
|
+
cached_prompt_tokens = excluded.cached_prompt_tokens,
|
|
50
|
+
uncached_prompt_tokens = excluded.uncached_prompt_tokens,
|
|
51
|
+
cache_write_prompt_tokens = excluded.cache_write_prompt_tokens,
|
|
52
|
+
cache_telemetry_source = excluded.cache_telemetry_source,
|
|
53
|
+
completion_tokens = excluded.completion_tokens,
|
|
54
|
+
total_tokens = excluded.total_tokens,
|
|
55
|
+
error_type = excluded.error_type,
|
|
56
|
+
error_message = excluded.error_message,
|
|
57
|
+
attribution_json = excluded.attribution_json`,c(t))});return this.writeQueue=s.catch(()=>{}),await s,await this.getModelUsageRecordByRequestId(t.requestId)??t}async getModelUsageRecordByRequestId(e){await this.ready,await this.writeQueue;let t=await this.get("SELECT * FROM model_usage_records WHERE request_id = ?",[e]);return t?r(t):null}async listModelUsageRecords(e={}){await this.ready,await this.writeQueue;let t=[],s=[];e.sessionId&&(t.push("session_id = ?"),s.push(e.sessionId)),e.turnId&&(t.push("turn_id = ?"),s.push(e.turnId)),e.provider&&(t.push("provider = ?"),s.push(e.provider)),e.model&&(t.push("model = ?"),s.push(e.model)),e.startedAtFrom&&(t.push("started_at >= ?"),s.push(e.startedAtFrom)),e.startedAtTo&&(t.push("started_at <= ?"),s.push(e.startedAtTo)),e.visibility&&e.visibility!=="all"&&(t.push("visibility = ?"),s.push(e.visibility)),e.status&&e.status!=="all"&&(e.status==="missing"?(t.push("source = ?"),s.push("missing")):(t.push("status = ?"),s.push(e.status)));let o=e.limit===void 0?"":"LIMIT ?";return e.limit!==void 0&&s.push(Math.max(1,Math.min(1e4,Math.trunc(e.limit)))),(await this.all(`SELECT * FROM model_usage_records
|
|
58
|
+
${t.length?`WHERE ${t.join(" AND ")}`:""}
|
|
59
|
+
ORDER BY started_at DESC, request_ordinal DESC
|
|
60
|
+
${o}`,s)).map(r)}async latestContextUsageForTurn(e,t){await this.ready,await this.writeQueue;let s=await this.all(`SELECT sequence, payload FROM events
|
|
61
|
+
WHERE session_id = ? AND turn_id = ? AND name = ?
|
|
62
|
+
ORDER BY sequence DESC
|
|
63
|
+
LIMIT 10`,[e,t,"session.context.updated"]);for(let o of s){let i=_(o.payload,o.sequence),n=a.safeParse(i.data);if(n.success)return n.data}return null}};export{m as SqliteUsageStore};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as u}from"./chunk-KCJVFLBB.js";import{C as k,h as n,u as d,y as p}from"./chunk-6ZFPQYHG.js";import"./chunk-FFRFSDBM.js";import"./chunk-KGNCKIFP.js";import{b as t}from"./chunk-ES2ISFJC.js";import{a as s}from"./chunk-FTQLQJQV.js";var w=t.object({kind:t.enum(["private_trace","sanitized_trace","evidence_receipt","consent_receipt","output_revision","output_content","validation_evidence","correction","feedback_receipt"]),visibility:t.enum(["private","portable"]),ref:n.nullable(),contentHash:t.string().regex(/^[a-f0-9]{64}$/),path:t.string().trim().min(1).max(8192),sizeBytes:t.number().int().nonnegative()}).strict(),a=t.object({schemaVersion:t.literal("openpond.storedWorkEvidenceProjection.v1"),sourceSessionId:t.string().trim().min(1),sourceTurnId:t.string().trim().min(1),sourceRevisionHash:t.string().regex(/^[a-f0-9]{64}$/),receipt:p,trace:d,artifacts:t.array(w).min(3).max(10100),createdAt:t.string().datetime({offset:!0})}).strict(),c=t.object({schemaVersion:t.literal("openpond.storedWorkFeedback.v1"),receipt:k,artifacts:t.array(w).min(1).max(4),createdAt:t.string().datetime({offset:!0})}).strict(),h=class extends u{static{s(this,"SqliteWorkEvidenceStore")}async saveWorkEvidenceProjection(r){let e=a.parse(r);await this.ready;let o=this.writeQueue.then(async()=>{await this.run(`INSERT OR IGNORE INTO work_evidence_receipts (
|
|
3
|
+
id, source_revision_hash, source_session_id, source_turn_id, payload, created_at
|
|
4
|
+
) VALUES (?, ?, ?, ?, ?, ?)`,[e.receipt.id,e.sourceRevisionHash,e.sourceSessionId,e.sourceTurnId,JSON.stringify(e),e.createdAt]);let i=await this.get("SELECT payload FROM work_evidence_receipts WHERE source_revision_hash = ?",[e.sourceRevisionHash]);if(!i)throw new Error("Work evidence projection was not persisted.");if(a.parse(JSON.parse(i.payload)).receipt.contentHash!==e.receipt.contentHash)throw new Error("An immutable Work source revision already has different evidence.")});return this.writeQueue=o.catch(()=>{}),await o,await this.getWorkEvidenceProjectionBySourceRevision(e.sourceRevisionHash)}async getWorkEvidenceProjectionBySourceRevision(r){await this.ready,await this.writeQueue;let e=await this.get("SELECT payload FROM work_evidence_receipts WHERE source_revision_hash = ?",[r]);return e?a.parse(JSON.parse(e.payload)):null}async getWorkEvidenceProjection(r){await this.ready,await this.writeQueue;let e=await this.get("SELECT payload FROM work_evidence_receipts WHERE id = ?",[r]);return e?a.parse(JSON.parse(e.payload)):null}async listWorkEvidenceProjections(r=100){await this.ready,await this.writeQueue;let e=Math.min(Math.max(Math.trunc(r),1),1e3);return(await this.all(`SELECT payload FROM work_evidence_receipts
|
|
5
|
+
ORDER BY created_at DESC, id DESC LIMIT ?`,[e])).map(i=>a.parse(JSON.parse(i.payload)))}async saveWorkFeedback(r){let e=c.parse(r);await this.ready;let o=this.writeQueue.then(async()=>{await this.run(`INSERT OR IGNORE INTO work_feedback_receipts (
|
|
6
|
+
id, evidence_receipt_id, output_revision_hash, payload, created_at
|
|
7
|
+
) VALUES (?, ?, ?, ?, ?)`,[e.receipt.id,e.receipt.evidenceReceiptRef.id,e.receipt.outputRevisionRef?.contentHash??null,JSON.stringify(e),e.createdAt]);let i=await this.get("SELECT payload FROM work_feedback_receipts WHERE id = ?",[e.receipt.id]);if(!i)throw new Error("Work feedback receipt was not persisted.");if(c.parse(JSON.parse(i.payload)).receipt.contentHash!==e.receipt.contentHash)throw new Error("An immutable Work feedback id already has different content.")});return this.writeQueue=o.catch(()=>{}),await o,await this.getWorkFeedback(e.receipt.id)}async getWorkFeedback(r){await this.ready,await this.writeQueue;let e=await this.get("SELECT payload FROM work_feedback_receipts WHERE id = ?",[r]);return e?c.parse(JSON.parse(e.payload)):null}async listWorkFeedbackForEvidence(r){await this.ready,await this.writeQueue;let e=`urn:openpond:artifact:${r.contentHash}`;return(await this.all(`SELECT payload FROM work_feedback_receipts
|
|
8
|
+
WHERE evidence_receipt_id = ? ORDER BY created_at ASC, id ASC`,[e])).map(i=>c.parse(JSON.parse(i.payload)))}};export{h as SqliteWorkEvidenceStore,a as StoredWorkEvidenceProjectionSchema,c as StoredWorkFeedbackSchema};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as g,c as h,d as m}from"./chunk-NPOHW5OU.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-GLUWATL5.js";import"./chunk-I7AQMAQI.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-FFRFSDBM.js";import"./chunk-KGNCKIFP.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import{a as c}from"./chunk-FTQLQJQV.js";import w from"node:path";async function A(r,l,k={}){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(/\/$/,"")??g,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 m({baseUrl:i,request:k.request??await h(i)}),s=t==="import"?await a.importTasksetDraftPackage({packagePath:w.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(A,"runTasksetCommand");export{A as runTasksetCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import"./chunk-DZUAT3TP.js";import{a as F,b as G,c as H,d as Q,e as R,f as S,g as T,h as U,i as V,j as W,k as X,l as Y,m as Z,n as _,o as $,p as aa,q as ba,r as ca}from"./chunk-XDQMGUWL.js";import{c as y,d as z,e as A,f as B,g as C,h as D,i as E}from"./chunk-FTEOCCPB.js";import{$ as m,Fb as I,Gb as J,Hb as K,Ib as L,Jb as M,Kb as N,Lb as O,Mb as P,Z as k,_ as l,a as b,aa as n,b as c,ba as o,c as d,ca as p,d as e,da as q,e as f,ea as r,f as g,g as h,h as i,ha as s,i as j,ia as t,ja as u,ka as v,la as w,ma as x}from"./chunk-25MBPJVY.js";import"./chunk-WN3V6KDN.js";import"./chunk-523TE4BI.js";import"./chunk-ZCHXGRRU.js";import"./chunk-APB2STJK.js";import"./chunk-Y4OWBBDD.js";import"./chunk-6ZFPQYHG.js";import"./chunk-JFXWI3EN.js";import"./chunk-FFRFSDBM.js";import"./chunk-VYLGI3IH.js";import{h as a}from"./chunk-ACYFMLWG.js";import"./chunk-TVQAPBLZ.js";import"./chunk-KGNCKIFP.js";import"./chunk-ES2ISFJC.js";import"./chunk-FTQLQJQV.js";export{S as AuthoredTasksetFileInventorySchema,n as MAX_TASKSET_PACKAGE_BYTES,a as ModelBatchReviewError,F as ModelBatchReviewInspectionSchema,H as ModelBatchReviewReceiptSchema,G as ModelBatchReviewRequestSchema,b as ModelTasksetAuthoringOwnerSchema,c as ModelTasksetAuthoringSchema,e as ModelTasksetDraftPreparationSchema,d as ModelTasksetDraftRequestSchema,E as OpenPondTasksetPackageClient,D as OpenPondTasksetPackageError,h as TasksetDraftFileContentSchema,g as TasksetDraftFileInfoSchema,j as TasksetDraftFileMutationSchema,f as TasksetDraftFilePathSchema,i as TasksetDraftFileSchema,aa as TasksetDraftSourceInitializationSchema,s as TasksetPackageContentSchema,o as TasksetPackageFileSchema,k as TasksetPackageLearningResourcesSchema,y as TasksetPackageModelConfigurationSchema,z as TasksetPackagePublicationSchema,B as TasksetPackageReadbackSchema,A as TasksetPackageReceiptSchema,t as TasksetPackageSchema,C as TasksetReleasePackageReadbackSchema,Z as beginModelBatchReview,W as bindOrdinaryModelTasksetReward,V as compileModelTasksetDraftWorkspace,x as createTasksetPackage,r as createTasksetPackageExecutionFile,p as decodeTasksetPackageFile,Y as findModelBatchReview,X as inspectModelBatchPackage,T as isGeneratedTasksetPublicationFilePath,l as learningPackageContextFiles,J as learningVerifierModule,L as materializePortableTasksetRelease,ca as materializeTasksetDraftWorkspace,N as portableTasksetEnvironment,O as portableTasksetTools,U as prepareAuthoredTasksetSource,_ as prepareImportedTasksetPackage,Q as prepareModelTasksetDraft,ba as prepareTasksetDraftSource,I as projectLearningBatchGraders,P as projectPortableTaskRecord,M as projectPreferenceComparisonRelease,R as publishModelTasksetDraftPackage,K as resolvePortableTasksetRewardExecution,q as resolveTasksetPackageExecution,v as resolveTasksetPackageInstructions,u as tasksetPackageRewardBinding,$ 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-RAXOSUSW.js";import"./chunk-DARVPBZ4.js";import"./chunk-M4JWQSV7.js";import"./chunk-FV2R5RUN.js";import"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import{a as g,c as a,d}from"./chunk-3M53YXEI.js";import"./chunk-5MCNZCVQ.js";import"./chunk-BT5YNE5U.js";import"./chunk-Q5LEXXJG.js";import"./chunk-FWIPHEVA.js";import"./chunk-OS3LO5J3.js";import"./chunk-GLUWATL5.js";import"./chunk-QDC4OW3S.js";import"./chunk-ZZWAQBA2.js";import"./chunk-YR5ID2SS.js";import"./chunk-YBT2NB32.js";import"./chunk-74ZXXBGN.js";import"./chunk-APB2STJK.js";import"./chunk-I7AQMAQI.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-Y4OWBBDD.js";import"./chunk-6ZFPQYHG.js";import"./chunk-JFXWI3EN.js";import"./chunk-FFRFSDBM.js";import"./chunk-VYLGI3IH.js";import"./chunk-ACYFMLWG.js";import"./chunk-TVQAPBLZ.js";import"./chunk-KGNCKIFP.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.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{a,b,c,d}from"./chunk-NPOHW5OU.js";import"./chunk-BSHAIAXY.js";import"./chunk-XWPC3AN4.js";import"./chunk-3M53YXEI.js";import"./chunk-GLUWATL5.js";import"./chunk-I7AQMAQI.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-FFRFSDBM.js";import"./chunk-KGNCKIFP.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-FTQLQJQV.js";export{a as DEFAULT_LOCAL_TRAINING_API_URL,d as TrainingApiClient,c as createLocalAuthenticatedRequest,b as runTrainingCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a,b,c,d,e}from"./chunk-SWUEFLOH.js";import"./chunk-UKMA4R6X.js";import"./chunk-BFKYRQMA.js";import"./chunk-6QSSIT62.js";import"./chunk-3QIB5FXI.js";import"./chunk-YR5ID2SS.js";import"./chunk-I7AQMAQI.js";import"./chunk-Z4Z5UOZM.js";import"./chunk-6FA3GG5B.js";import"./chunk-FFRFSDBM.js";import"./chunk-KGNCKIFP.js";import"./chunk-ES2ISFJC.js";import"./chunk-H7IWJN7L.js";import"./chunk-FTQLQJQV.js";export{a as createHostedWebSearchExecutor,b as createWebSearchExecutorFromEnv,d as normalizeSearchApiUrl,e as normalizeWebSearchRequest,c as resolveWebSearchEndpoint};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as F,b as G,c as H,d as I,e as J,f as K,g as L,h as M,i as N,j as O,k as P,l as Q,m as R,n as S,o as T}from"./chunk-ZGTOK7ZK.js";import{A,B,C,D,E,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-XW6HGSIT.js";import"./chunk-KG325WTN.js";import"./chunk-FTQLQJQV.js";export{a as MACOS_GIT_MISSING_DEVELOPER_TOOLS_ERROR,C as appWorkspacePaths,B as assertSafeBranchName,d as checkWorkspaceGitAvailability,J as checkoutBranch,K as checkoutBranchAtPath,M as clearWorkspaceDiffCacheForTests,D as cloneWorkspace,H as createAndCheckoutBranch,I as createAndCheckoutBranchAtPath,A as expectedRemoteUrl,t as isGeneratedWorkspacePath,i as isGitRepo,c as isMacOSGitDeveloperToolsMissing,u as isVisibleGitWorkspaceFile,r as isWorkspaceDirectory,E as lastFetchAt,z as listPlainWorkspaceFiles,P as loadGitCommitDiffAtPath,N as loadWorkspaceDiff,O as loadWorkspaceDiffAtPath,Q as loadWorkspaceFile,T as loadWorkspaceFileAtPath,R as loadWorkspaceImageFile,S as loadWorkspaceImageFileAtPath,F as loadWorkspaceState,G as loadWorkspaceStateAtPath,n as localVideoContentType,L as mapWorkspaceDiffEntriesWithConcurrency,s as normalizeWorkspaceFilePath,w as parseBranchStatusLine,x as parseNumstat,v as parseStatusLine,h as pathExists,p as readLocalImageFile,q as readLocalVideoFile,l as readWorkspaceDocumentPreview,k as readWorkspaceFile,o as readWorkspaceImageFile,g as redactRemoteUrl,b as runWorkspaceCommand,f as sourceFromRemote,e as startMacOSCommandLineToolsInstall,j as truncatePatch,y as uniqueSortedPaths,m as workspaceImageContentType};
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
3
|
-
import{
|
|
3
|
+
import{b as u}from"./chunks/chunk-M4JWQSV7.js";import{a as c,j as d}from"./chunks/chunk-FV2R5RUN.js";import{a as m,b as l}from"./chunks/chunk-BSHAIAXY.js";import"./chunks/chunk-XWPC3AN4.js";import{f as s}from"./chunks/chunk-3M53YXEI.js";import"./chunks/chunk-GLUWATL5.js";import{a as n}from"./chunks/chunk-FTQLQJQV.js";function f(e){return!e.command&&s(e.options.version)?"version":s(e.options.checkUpdate)?"check-update":!e.command&&s(e.options.help)?"help":!e.command&&s(e.options.tui)?"tui":e.command?"command":"ui"}n(f,"resolveCliTopLevelAction");async function C(e=process.argv.slice(2)){if(await w(e))return;let{command:t,options:o,rest:r}=u(e);typeof o.home=="string"&&(process.env.OPENPOND_HOME=(await import("./chunks/dist-VYC5VMQB.js")).resolveOpenPondHome({home:o.home}));let i=f({command:t,options:o});if(i==="version"){console.log(c());return}if(i==="check-update"){await(await import("./chunks/core-commands-A2DGGIPS.js")).runCheckUpdate();return}if(i==="help"){(await import("./chunks/help-S7THC6IE.js")).printHelp();return}let a=m(o),p=l(o);if(a&&(process.env.OPENPOND_ACCOUNT=a),p&&(process.env.OPENPOND_BASE_URL=p),i==="tui"){await(await import("./chunks/app-layer-NSTE5HIT.js")).runOpenPondTerminalCommand(o,r);return}if(i==="ui"){await(await import("./chunks/app-layer-NSTE5HIT.js")).runOpenPondServerCommand("web",o,r);return}await d({command:t,options:o,rest:r})||((await import("./chunks/help-S7THC6IE.js")).printHelp(),process.exit(1))}n(C,"runOpenPondCli");async function w(e){if(e[0]==="__inspect-hosted-profile-evaluation")return await(await import("./chunks/hosted-profile-compiler-2DQIFSXW.js")).runHostedProfileInspectionCli(e.slice(1)),!0;if(e[0]==="__prepare-hosted-profile-evaluation")return await(await import("./chunks/hosted-profile-compiler-2DQIFSXW.js")).runHostedProfileEvaluationCli(e.slice(1)),!0;if(e[0]==="__hosted-experiment-improvement")return await(await import("./chunks/hosted-experiment-improvement-NFSVS5TU.js")).runHostedExperimentImprovementCli(e.slice(1)),!0;if(e[0]==="__compile-hosted-profile-candidate")return await(await import("./chunks/hosted-profile-candidate-2S5LFUWD.js")).runHostedProfileCandidateCli(e.slice(1)),!0;if(e[0]==="__compile-hosted-profile")return await(await import("./chunks/hosted-profile-compiler-2DQIFSXW.js")).runHostedProfileCompilerCli(e.slice(1)),!0;if(e[0]==="__app-server"){process.argv=[process.execPath,"openpond-app-server",...e.slice(1)];let[{createOpenPondAppServer:t},{runOpenPondAppServerCli:o}]=await Promise.all([import("./chunks/app-server-runtime-VCRNCNX2.js"),import("./chunks/cli-X25RSO2X.js")]);return await o(t),!0}if(e[0]==="__server"){process.argv=[process.execPath,"openpond-server",...e.slice(1)];let[{createOpenPondServer:t},{runOpenPondServerCli:o}]=await Promise.all([import("./chunks/src-INHPJ63Z.js"),import("./chunks/cli-X25RSO2X.js")]),{createOpenPondAppServer:r}=await import("./chunks/app-server-runtime-VCRNCNX2.js");return await o({createOpenPondServer:t,createOpenPondAppServer:r}),!0}return e[0]==="__terminal"?(await(await import("./chunks/src-LMC3K6LH.js")).runOpenPondTerminalCli(e.slice(1)),!0):!1}n(w,"runEmbeddedCompanion");C().catch(e=>{let t=e instanceof Error?e.message:String(e),o=e.issue;if(process.argv.includes("--json")&&!(e instanceof Error&&e.name==="OpenPondChildProcessExitError"))console.log(JSON.stringify({error:o??{code:"CLI_ERROR",message:t}}));else if(o&&typeof o=="object"){let i=o;console.error(`${i.code}: ${i.message}
|
|
4
4
|
${i.path}
|
|
5
5
|
${i.action}`)}else console.error(t);let r=typeof e.exitCode=="number"?e.exitCode:1;process.exit(r)});export{C as runOpenPondCli};
|