openpond 0.2.54 → 0.2.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-server.d.ts +10823 -9118
- package/dist/app-server.js +1 -1
- package/dist/chunks/actions-command-QU4H53OG.js +2 -0
- package/dist/chunks/{app-layer-I7MZYVLL.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-DVKOZ5B6.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-GXSTZBM6.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-5MCNZCVQ.js +2 -0
- package/dist/chunks/chunk-6QSSIT62.js +2 -0
- 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-UJ5EFSEC.js → chunk-B7RFL4N2.js} +1 -1
- package/dist/chunks/chunk-BFKYRQMA.js +2 -0
- package/dist/chunks/chunk-BLXEAZCQ.js +12 -0
- package/dist/chunks/chunk-D74JEERO.js +5 -0
- package/dist/chunks/{chunk-PA7XP42P.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-JDLAHVAJ.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-AH22RHPS.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-HY3GOBFJ.js +58 -0
- 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-KGNCKIFP.js +3 -0
- package/dist/chunks/chunk-KUERKVEU.js +3 -0
- package/dist/chunks/chunk-KVTBX2UP.js +2 -0
- package/dist/chunks/chunk-L6K7ERG5.js +2 -0
- package/dist/chunks/{chunk-N5QNXMIS.js → chunk-LQQNBVEB.js} +1 -1
- package/dist/chunks/{chunk-YJ4PNAST.js → chunk-M4JWQSV7.js} +1 -1
- package/dist/chunks/chunk-MQULU465.js +2 -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-4SHKI3BH.js → chunk-O6ULLQJ6.js} +1 -1
- 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-XM26DGML.js → chunk-OPNRWESL.js} +1 -1
- package/dist/chunks/chunk-OQKJGTTO.js +4 -0
- package/dist/chunks/chunk-OQPJ7FJF.js +9 -0
- package/dist/chunks/{chunk-R3XFY7VL.js → chunk-OS3LO5J3.js} +1 -1
- package/dist/chunks/{chunk-T5LE6R5S.js → chunk-OSIO7PLX.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-WITSXYEW.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-YL6VFJ4P.js → chunk-QDC4OW3S.js} +1 -1
- 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-N3DEA6PG.js → chunk-RAXOSUSW.js} +1 -1
- package/dist/chunks/chunk-RNIAFXMB.js +50 -0
- package/dist/chunks/chunk-S5ESN275.js +42 -0
- 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-UHFZHBGW.js +2 -0
- package/dist/chunks/chunk-UKMA4R6X.js +6 -0
- package/dist/chunks/{chunk-7ZG3IT7C.js → chunk-VRIEKBBH.js} +6 -6
- 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-YCJO3YVD.js +10 -0
- package/dist/chunks/{chunk-YD55Z5H3.js → chunk-YOBN7KTF.js} +11 -11
- package/dist/chunks/chunk-YOQRYNLP.js +2 -0
- package/dist/chunks/chunk-YR5ID2SS.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-NAZ26IZL.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-PKK2BOTB.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/{chunk-6VF3Q6QJ.js → dist-SKYG5LZO.js} +2 -4
- package/dist/chunks/dist-VYC5VMQB.js +2 -0
- package/dist/chunks/dist-ZVJPJLXR.js +2 -0
- 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-XKXXOP5N.js +4 -0
- package/dist/chunks/{help-WLKSACLZ.js → help-S7THC6IE.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-JJQWJUBT.js +2 -0
- package/dist/chunks/host-profile-external-dataset-K3ICDHIP.js +2 -0
- package/dist/chunks/hosted-app-server-composition-BCOO5ANF.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/javascript-isolate-process-source-ZPQKKLR4.js +2 -0
- package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +2 -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-TFZMUEDR.js +3 -0
- 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-BBGGPJMI.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/sql-execution-process-source-B4HQM6ZV.js +2 -0
- package/dist/chunks/src-CJM6HY5Y.js +326 -0
- package/dist/chunks/{src-CR6UZYTX.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-7I4BAUVO.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-CaRMZoxo.css +1 -0
- package/dist/web/assets/App-s-CJswyt.js +154 -0
- package/dist/web/assets/{AppDialog-BdusXgU0.js → AppDialog-t2Fx5tK3.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-C4uRpnBz.js → AppTerminalPanel-Dj1Y32oI.js} +2 -2
- package/dist/web/assets/AppsView-BYE5EBDJ.js +1 -0
- package/dist/web/assets/{BrowserSidebar-Bl7V6YO2.js → BrowserSidebar-jhWi4rVm.js} +1 -1
- package/dist/web/assets/{CartesianChart-BstFbsdn.js → CartesianChart-C1DIx0Ia.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-B8YAf0c1.js → CollaborationTabs-Bdr-HmOL.js} +1 -1
- package/dist/web/assets/{CommandMenu-DZct7zUJ.js → CommandMenu-Ux2yOHAc.js} +1 -1
- package/dist/web/assets/{CommunityView-CR0-W-uG.js → CommunityView-DPEeVKFn.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-DR-Qo7b4.js → ComposerCreateImproveStrip-CEgh4OtN.js} +1 -1
- package/dist/web/assets/{GetStartedView-xqQoMMei.js → GetStartedView-CFHP0AaI.js} +1 -1
- package/dist/web/assets/HostedModelLearningReview-D8BGTPVN.js +1 -0
- package/dist/web/assets/{HostedModelLearningSettings-De3i9wF4.js → HostedModelLearningSettings-JS1S7vNO.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-DAY1MmqP.js → LabModelVersionDetailPage-Dx5Q3xV2.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-DLnIgnry.js → LabSkillSidebar-BxffN-pN.js} +1 -1
- package/dist/web/assets/LabsRoute-CyYF8-dw.js +99 -0
- package/dist/web/assets/MainChatThread-DZpcFRFl.js +2 -0
- package/dist/web/assets/MainPane-5DTtwVCk.js +65 -0
- package/dist/web/assets/MainPane-BIM_UJ3q.css +1 -0
- package/dist/web/assets/{MarkdownText-gJMuefaJ.js → MarkdownText-BR4V6lNO.js} +24 -24
- package/dist/web/assets/{NativeSkillSidebar-Dlxb8iOC.js → NativeSkillSidebar-DU9IEgIO.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-DM-cqJ-K.js → NewExperienceSwitcher-mIy6FzCj.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-Cu1q75gq.js → NewProjectDialog-RfTZTHxl.js} +1 -1
- package/dist/web/assets/{OutputsPage-DiXMkasl.js → OutputsPage-Cr1Spf7S.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DqiBHiCB.js → ProjectsPage-CE6QUB-b.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-T6VRWuHo.js +1 -0
- package/dist/web/assets/RightSidebarHomePanel-CK0rP3WT.js +1 -0
- package/dist/web/assets/ScheduledWorkPage-vOrYv8pp.js +1 -0
- package/dist/web/assets/SettingsView-DCKVrfjj.js +5 -0
- package/dist/web/assets/SettingsView-Dulr_xlq.css +1 -0
- package/dist/web/assets/{TeamChatView-DM0adMtj.js → TeamChatView-Bwrjr-vk.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-CFlH51DD.js → TerminalOverlay-DhPoKZAq.js} +1 -1
- package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-Bbo3RRie.js → TrainingDraftPanel-C9cRX5qf.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CSRjJUSa.js → UsageSettingsSection-CrdcSGeW.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-DwlEMEoG.js → WorkSidebarPanel-DSSikNFQ.js} +1 -1
- package/dist/web/assets/WorkspaceDiffPanel-BAFo0CPN.js +14 -0
- package/dist/web/assets/WorkspaceEnvironmentMenu-BVHAhwnJ.js +63 -0
- package/dist/web/assets/WorkspaceGitDialogs-CwVoiDQ2.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-BR4qxMgU.js → WorkspaceMonacoEditor-TxLyhzNp.js} +3 -3
- package/dist/web/assets/arrow-up-right-C9aE8Mfz.js +1 -0
- package/dist/web/assets/chunk-P3BRSSRD-DUGfuKA8.js +1 -0
- package/dist/web/assets/{clipboard-BZzZ82Bk.js → clipboard-Dk158Qp4.js} +1 -1
- package/dist/web/assets/{cloud-upload-CJPYPVl8.js → cloud-upload-k9eqBsHr.js} +1 -1
- package/dist/web/assets/{cssMode-WC4Rg1l-.js → cssMode-CO35ARZp.js} +1 -1
- package/dist/web/assets/{folder-open-sLZJxLQy.js → folder-open-sYgceW_f.js} +1 -1
- package/dist/web/assets/folder-plus-CS0R49m9.js +1 -0
- package/dist/web/assets/{git-commit-horizontal-Cotm7KEC.js → git-commit-horizontal-DrGxH2h4.js} +1 -1
- package/dist/web/assets/{htmlMode-C6oZGeaB.js → htmlMode-REMmzdfq.js} +1 -1
- package/dist/web/assets/index-3iPNbbER.css +1 -0
- package/dist/web/assets/{index-BxWTVKtn.js → index-C8aCGagb.js} +2 -2
- package/dist/web/assets/info-DLdbiUrh.js +1 -0
- package/dist/web/assets/{jsonMode-BET4LQIn.js → jsonMode-KEdMfkIf.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-BPxA_-Kg.js → lspLanguageFeatures-5KZwEoxW.js} +1 -1
- package/dist/web/assets/minimize-2-CqcI4zcM.js +1 -0
- package/dist/web/assets/{monaco.contribution-DFzEyaHi.js → monaco.contribution-BJGj65F9.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DXzyQfVi.js → monaco.contribution-Cly9Wt7L.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BH6kkO4b.js → monaco.contribution-DO10L0zW.js} +2 -2
- package/dist/web/assets/{monaco.contribution-7AUuf2NS.js → monaco.contribution-omszXBEj.js} +2 -2
- package/dist/web/assets/monitor-BFVCcbxp.js +1 -0
- package/dist/web/assets/play-C469pVZq.js +1 -0
- package/dist/web/assets/{python-PzBkTjWx.js → python-Dw0YcVy9.js} +1 -1
- package/dist/web/assets/{save-DpezrtH2.js → save-CtSjPydi.js} +1 -1
- package/dist/web/assets/square-BuImvLhT.js +1 -0
- package/dist/web/assets/{toggleHighContrast-Cto-fOXm.js → toggleHighContrast-DjCO9lIP.js} +1 -1
- package/dist/web/assets/{tsMode-BYA4LNc6.js → tsMode-BAOnxKd6.js} +1 -1
- package/dist/web/assets/{upload-C5YFNgtS.js → upload-2JkFZo3h.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-CnyTsqlf.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-DICuJSJW.js → useSessionTurnCache-BHU2-Jmz.js} +1 -1
- package/dist/web/assets/{wifi-off-nzHj7JXp.js → wifi-off-CpOAH62M.js} +1 -1
- package/dist/web/assets/{workers-Dboaw6f_.js → workers-0QvlA2T5.js} +1 -1
- package/dist/web/assets/{yaml-uuY5JmO8.js → yaml-BK3qxo7D.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +3 -3
- package/dist/chunks/actions-command-DSO6YOEE.js +0 -2
- package/dist/chunks/app-server-runtime-7AXV6JZI.js +0 -2
- package/dist/chunks/apps-TM74FFQB.js +0 -2
- package/dist/chunks/chunk-2JO2KWT3.js +0 -5
- package/dist/chunks/chunk-2SPZYBDN.js +0 -16
- package/dist/chunks/chunk-37DXASQL.js +0 -191
- package/dist/chunks/chunk-4EEH7MEC.js +0 -2
- package/dist/chunks/chunk-4TZHH5FC.js +0 -2409
- package/dist/chunks/chunk-5TNDPNS3.js +0 -2
- package/dist/chunks/chunk-6JAN4RMN.js +0 -42
- package/dist/chunks/chunk-7QEE4PBI.js +0 -8
- package/dist/chunks/chunk-BX4J2VDU.js +0 -2
- package/dist/chunks/chunk-DALJMSJG.js +0 -33
- package/dist/chunks/chunk-EMKZVP7Z.js +0 -2
- package/dist/chunks/chunk-FPUUZQUP.js +0 -6
- package/dist/chunks/chunk-GCOUYYHG.js +0 -5
- package/dist/chunks/chunk-GS2NKNKG.js +0 -4
- package/dist/chunks/chunk-H2VT22JK.js +0 -2
- package/dist/chunks/chunk-HA7EFTPF.js +0 -23
- package/dist/chunks/chunk-IKWDL3RB.js +0 -17
- package/dist/chunks/chunk-NHFGEVVH.js +0 -518
- package/dist/chunks/chunk-NNF6KCHD.js +0 -3
- package/dist/chunks/chunk-PJM2G7SG.js +0 -21
- package/dist/chunks/chunk-PQHTZ5CP.js +0 -2
- package/dist/chunks/chunk-PYABBF53.js +0 -53
- package/dist/chunks/chunk-QRWPEW3Z.js +0 -24
- package/dist/chunks/chunk-QXVIIM4T.js +0 -2
- package/dist/chunks/chunk-SDEDAHV6.js +0 -160
- package/dist/chunks/chunk-TGIB24K4.js +0 -22
- package/dist/chunks/chunk-UE3DMPGM.js +0 -3
- package/dist/chunks/chunk-USKE34VR.js +0 -9
- package/dist/chunks/chunk-USMZT5FZ.js +0 -18
- package/dist/chunks/chunk-WV2APYWG.js +0 -2
- package/dist/chunks/chunk-YIB3J4RC.js +0 -2
- package/dist/chunks/chunk-Z3D4C7BG.js +0 -12
- package/dist/chunks/cli-JVB345H2.js +0 -2
- package/dist/chunks/configuration-command-MATM4XR5.js +0 -2
- package/dist/chunks/connected-evidence-YDPGNHLP.js +0 -2
- package/dist/chunks/core-commands-MTV4EKXY.js +0 -2
- package/dist/chunks/datasets-CP3IT47T.js +0 -2
- package/dist/chunks/desktop-test-IAZC5MAH.js +0 -3
- package/dist/chunks/dist-4HV2W6V4.js +0 -2
- package/dist/chunks/dist-SAABJU5F.js +0 -2
- package/dist/chunks/evaluation-coordination-EPHLZXYM.js +0 -2
- package/dist/chunks/experiment-improvements-6JTOPA74.js +0 -2
- package/dist/chunks/experiments-XHPFGECH.js +0 -2
- package/dist/chunks/extension-GX7DLW2X.js +0 -4
- package/dist/chunks/hosted-experiment-improvement-HAB3UE6A.js +0 -3
- package/dist/chunks/hosted-harness-runtime-YM23QNDK.js +0 -2
- package/dist/chunks/hosted-profile-candidate-EOBGKQAS.js +0 -3
- package/dist/chunks/hosted-profile-compiler-SCVJI2CP.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-RJ6XJZCS.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-OC4XNGL2.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-ZD4FM3FD.js +0 -3
- package/dist/chunks/human-review-AAVMISBF.js +0 -2
- package/dist/chunks/import-V3HUGRHR.js +0 -4
- package/dist/chunks/learning-FNBEIAY6.js +0 -2
- package/dist/chunks/opchat-QK43DXTY.js +0 -3
- package/dist/chunks/organizations-SRPAWKC7.js +0 -2
- package/dist/chunks/profile-C6CQNVYE.js +0 -3
- package/dist/chunks/project-agent-GZV5HNYI.js +0 -2
- package/dist/chunks/sandbox-command-4TJXQTKT.js +0 -2
- package/dist/chunks/src-NE6R4XC6.js +0 -329
- package/dist/chunks/taskset-LUG3ZU6J.js +0 -2
- package/dist/chunks/training-XHE6FVII.js +0 -2
- package/dist/chunks/workspaces-MFZ3OO6O.js +0 -2
- package/dist/web/assets/App-CO2F717V.css +0 -1
- package/dist/web/assets/App-CuhaCsfb.js +0 -235
- package/dist/web/assets/AppsView-BS1czXUP.js +0 -1
- package/dist/web/assets/HostedModelLearningReview-CHxxf_Lu.js +0 -1
- package/dist/web/assets/LabsRoute-CXJRJMhr.js +0 -99
- package/dist/web/assets/MainChatThread-BwAla81W.js +0 -2
- package/dist/web/assets/MainPane-CakOBCHw.js +0 -19
- package/dist/web/assets/MainPane-DOWsSew1.css +0 -1
- package/dist/web/assets/RightChatPanelStack-VaOOmxwd.js +0 -1
- package/dist/web/assets/RightSidebarHomePanel-CeSFJM5s.js +0 -1
- package/dist/web/assets/ScheduledWorkPage-D1jRQxFs.js +0 -1
- package/dist/web/assets/SettingsView-BnANbPLS.css +0 -1
- package/dist/web/assets/SettingsView-RA9OXgcu.js +0 -5
- package/dist/web/assets/TrainingCreationPanel-CgIBVGha.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-pGVezNMw.js +0 -14
- package/dist/web/assets/WorkspaceEnvironmentMenu-Byjngd9V.js +0 -32
- package/dist/web/assets/WorkspaceGitDialogs-Dgmg-6XG.js +0 -1
- package/dist/web/assets/arrow-up-right-H0pvnH2s.js +0 -1
- package/dist/web/assets/chunk-UHVJOMWN-BqXRe639.js +0 -1
- package/dist/web/assets/folder-plus-C84wrpt_.js +0 -1
- package/dist/web/assets/index-dSmk3FLJ.css +0 -1
- package/dist/web/assets/info-Dc81lEfw.js +0 -1
- package/dist/web/assets/minimize-2-Bs7MVN3C.js +0 -1
- package/dist/web/assets/monitor-DXL019Wf.js +0 -1
- package/dist/web/assets/play-CXkxUZeU.js +0 -1
- package/dist/web/assets/square-oy7f5Ce6.js +0 -1
- package/dist/web/assets/useProviderSettings-B_KeQjE5.js +0 -5
- /package/dist/chunks/{chunk-OGPHXXCD.js → chunk-BT5YNE5U.js} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as e}from"./chunk-FTQLQJQV.js";function s(t){return t.length<=6e4?t:`${t.slice(0,6e4)}
|
|
3
|
+
|
|
4
|
+
[output truncated]`}e(s,"trimOutput");function o(t){return t.replace(/x-access-token:[^@]+@/g,"x-access-token:***@").replace(/Authorization:\s*Basic\s+[A-Za-z0-9+/=]+/gi,"Authorization: Basic ***")}e(o,"redactRemoteUrl");function a(t){return t.length<=24e3?t:`${t.slice(0,24e3)}
|
|
5
|
+
|
|
6
|
+
[diff truncated]`}e(a,"truncatePatch");function r(t){try{let n=new URL(t).hostname.toLowerCase();return n==="openpond.ai"||n.endsWith(".openpond.ai")}catch{return!1}}e(r,"isOpenPondRemote");function u(t,n){return!n||!r(t)?{}:{GIT_CONFIG_COUNT:"1",GIT_CONFIG_KEY_0:"http.extraHeader",GIT_CONFIG_VALUE_0:`Authorization: Basic ${Buffer.from(`x-access-token:${n}`,"utf8").toString("base64")}`}}e(u,"gitBasicAuthEnv");export{s as a,o as b,a as c,u as d};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{l,m as _}from"./chunk-ACYFMLWG.js";import{a as g}from"./chunk-TVQAPBLZ.js";import{h as b,m as f}from"./chunk-KGNCKIFP.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as c}from"./chunk-FTQLQJQV.js";var I="openpond.connectedEvidence.v1",q="connected-evidence-1",d={files:100,sourceBytes:32*1024*1024,decodedBytes:64*1024*1024,lineBytes:64*1024*1024,events:1e5,sessions:1e3,boundaries:5e3,evaluatorBytes:2*1024*1024},s=e.string().min(1).max(500),u=e.string().regex(/^[a-f0-9]{64}$/),j=e.string().datetime().nullable(),p=e.number().int().nonnegative().nullable(),C=e.enum(["native_chat","native_work","codex","claude_code","hermes","openclaw","opencode","grok_build","pi","oh_my_pi"]),R=e.object({invocationId:s,inputTokens:p,outputTokens:p,cachedInputTokens:p,totalTokens:p,provenance:e.enum(["billed_invocation","reported_invocation","reported_cumulative"])}).strict(),S=e.object({id:s,sequence:e.number().int().nonnegative(),occurredAt:j,kind:e.enum(["message","tool_call","tool_result","compaction","artifact","terminal","usage","unknown"]),role:e.enum(["user","assistant","system","tool"]).nullable(),callId:s.nullable(),parentId:s.nullable(),content:e.json(),usage:R.nullable()}).strict(),T=e.object({id:s,familyKey:s,projection:e.enum(["turn","conversation"]),requestEventId:s,start:e.number().int().nonnegative(),end:e.number().int().positive(),inputHash:u,outputHash:u.nullable(),revisionHash:u,terminal:e.enum(["completed","failed","cancelled","unknown"]),coverage:e.object({answer:e.boolean(),context:e.enum(["retained","compacted","unknown"]),process:e.enum(["retained","partial","absent"]),artifacts:e.enum(["retained","references_only","absent"]),replay:e.literal("unavailable"),gaps:e.array(e.string().max(500)).max(100)}).strict()}).strict(),A=e.object({schemaVersion:e.literal(I),normalizerVersion:e.literal(q),origin:C,sessionId:s,branchId:s.nullable(),parentSessionId:s.nullable(),exporterVersion:e.string().max(200).nullable(),acquisition:e.object({machineId:s,sourceInstanceId:s}).strict().optional(),sourceFiles:e.array(e.object({path:s,contentHash:u,sizeBytes:e.number().int().nonnegative()}).strict()).max(d.files),events:e.array(S).max(d.events),unmappedEvents:e.array(S).max(d.events),boundaries:e.array(T).max(d.boundaries),warnings:e.array(e.string().max(500)).max(100),contentHash:u}).strict();function O(t){return t.kind!=="message"||t.role!=="assistant"||t.content===null?!1:typeof t.content=="string"?t.content.trim().length>0:Array.isArray(t.content)?t.content.length>0:typeof t.content!="object"||!("text"in t.content)||typeof t.content.text=="string"&&t.content.text.trim().length>0}c(O,"hasRecordedConnectedAnswer");var B=e.string().regex(/^(0|-?[1-9][0-9]*)$/).max(20).refine(t=>{if(t.length>20||!/^(0|-?[1-9][0-9]*)$/.test(t))return!1;let n=BigInt(t);return n>=-(1n<<63n)&&n<1n<<63n},"SQL integers must fit signed 64-bit storage."),y=e.union([e.null(),e.string().max(262144),e.number().finite(),e.object({integer:B}).strict(),e.object({blobBase64:e.string().max(349528).regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/)}).strict()]),v=e.string().min(1).max(128).refine(t=>!t.includes("\0")),k=e.object({tables:e.array(e.object({name:v,columns:e.array(e.object({name:v,type:e.enum(["INTEGER","REAL","TEXT","BLOB"])}).strict()).min(1).max(128),rows:e.array(e.array(y).max(128)).max(4096)}).strict()).max(64)}).strict().superRefine((t,n)=>{let r=new Set;for(let[o,a]of t.tables.entries()){let i=a.name.toLowerCase();(r.has(i)||i.startsWith("sqlite_"))&&n.addIssue({code:"custom",path:["tables",o,"name"],message:"Table names must be unique and outside SQLite's reserved namespace."}),r.add(i),new Set(a.columns.map(m=>m.name.toLowerCase())).size!==a.columns.length&&n.addIssue({code:"custom",path:["tables",o,"columns"],message:"Column names must be unique."}),a.rows.some(m=>m.length!==a.columns.length)&&n.addIssue({code:"custom",path:["tables",o,"rows"],message:"Each row must match the declared columns."})}}),h=e.object({schemaVersion:e.literal("openpond.sqlExecution.v1"),snapshot:k,sql:e.string().min(1).max(65536).refine(t=>!t.includes("\0")),maxRows:e.number().int().min(1).max(4096),maxResultBytes:e.number().int().min(256).max(262144)}).strict(),L=e.discriminatedUnion("status",[e.object({status:e.literal("completed"),columns:e.array(e.string()).max(128),rows:e.array(e.array(y).max(128)).max(4096)}).strict(),e.object({status:e.literal("rejected"),code:e.enum(["invalid_query","multiple_statements","result_too_large","memory_limit"])}).strict()]);function $(t){l(t,1048576);let n=h.parse(t);if(new TextEncoder().encode(n.sql).byteLength>65536)throw new Error("sql_source_too_large");return n}c($,"assertSqlExecutionRequest");var x=e.object({scope:e.enum(["input","initialState","state","arguments"]),path:e.array(e.string().min(1).max(256)).max(16)}).strict(),E={id:e.string().min(1).max(128),operation:e.enum(["step","collect"]),toolName:e.string().min(1).max(500).optional(),timeoutMs:e.number().int().min(1).max(2e4)},w=e.discriminatedUnion("kind",[e.object({...E,kind:e.literal("sqlite.v1"),sql:x,snapshot:x,maxRows:h.shape.maxRows,maxResultBytes:h.shape.maxResultBytes}).strict(),e.object({...E,kind:e.literal("javascript.v1"),source:x,cases:x,exportName:e.string().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/).max(128),maxCases:e.number().int().min(1).max(32),maxResultBytes:e.number().int().min(256).max(262144)}).strict()]).superRefine((t,n)=>{t.operation==="step"!=(t.toolName!==void 0)&&n.addIssue({code:"custom",path:["toolName"],message:"Only step services require a declared tool name."}),t.operation==="collect"&&(t.kind==="sqlite.v1"?[t.sql,t.snapshot]:[t.source,t.cases]).some(o=>o.scope==="arguments")&&n.addIssue({code:"custom",message:"Collection has no tool arguments."})});var N=e.object({schemaVersion:e.literal("openpond.javascriptEnvironment.v1"),id:e.string().trim().min(1).max(500),revision:e.number().int().positive(),module:b.refine(t=>t.visibility==="host_private","Environment code belongs to the execution owner."),tools:e.array(g).min(1).max(200),maxSteps:e.number().int().min(1).max(1e3),maxStateBytes:e.number().int().min(1).max(1048576),maxObservationBytes:e.number().int().min(1).max(262144),operationTimeoutMs:e.number().int().min(1).max(3e4),executionServices:e.array(w).min(1).max(16).optional()}).strict().superRefine((t,n)=>{new Set(t.tools.map(o=>o.name)).size!==t.tools.length&&n.addIssue({code:"custom",path:["tools"],message:"Environment tool names must be unique."}),t.tools.forEach((o,a)=>{_(o.inputSchema).valid||n.addIssue({code:"custom",path:["tools",a,"inputSchema"],message:"Environment tools require a supported JSON schema."}),o.inputSchemaHash!==f(o.inputSchema)&&n.addIssue({code:"custom",path:["tools",a,"inputSchemaHash"],message:"Tool schema identity differs from its declared schema."})});let r=t.executionServices??[];new Set(r.map(o=>o.id)).size!==r.length&&n.addIssue({code:"custom",path:["executionServices"],message:"Execution service identities must be unique."}),r.forEach((o,a)=>{let i=t.tools.find(m=>m.name===o.toolName);o.operation==="step"&&!i&&n.addIssue({code:"custom",path:["executionServices",a,"toolName"],message:"Execution services must target a declared tool."}),o.timeoutMs>=Math.min(t.operationTimeoutMs,i?.timeoutMs??t.operationTimeoutMs)&&n.addIssue({code:"custom",path:["executionServices",a,"timeoutMs"],message:"Service budgets must leave time for the authored controller."})})}),H=N.safeExtend({contentHash:e.string().regex(/^[a-f0-9]{64}$/)}),Y=e.enum(["create","reset","step","collect","destroy"]),ee=e.object({state:e.record(e.string(),e.unknown()),observation:e.record(e.string(),e.unknown())}).strict();function te(t){l(t,4194304);let n=H.parse(t),{contentHash:r,...o}=n;if(f(o)!==r)throw new Error("environment_definition_hash_mismatch");return structuredClone(n)}c(te,"assertJavaScriptEnvironmentDefinition");export{I as a,q as b,d as c,C as d,S as e,T as f,A as g,O as h,L as i,$ as j,w as k,H as l,Y as m,ee as n,te as o};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{b as g}from"./chunk-GJ2ZJFDD.js";import{h as H,i as S}from"./chunk-74ZXXBGN.js";import{a as v,c as m}from"./chunk-JFXWI3EN.js";import{b as c,c as u,d as o,f as r,m as f}from"./chunk-KGNCKIFP.js";import{b as n}from"./chunk-ES2ISFJC.js";import{a as d}from"./chunk-FTQLQJQV.js";var x=n.string().trim().min(1).max(2e3),R=n.string().trim().min(1).max(1e5),_=n.enum(["create","update","delete"]),q=n.enum(["memory","prompt","skill","agent"]),w=n.enum(["runtime","product","taskset","training"]),j=n.enum(["no_action","routed","applied","retained","failed"]),k=n.enum(["not_applicable","pending","passed","rejected","failed"]),E=n.enum(["not_applicable","pending","passed","failed"]),K=n.object({schemaVersion:n.literal("openpond.harnessRefinerActivityReceipt.v1"),id:c,runRef:c,turnId:c,result:j,decision:n.enum(["no_action","route","propose"]).nullable(),route:g.nullable(),operation:_.nullable(),target:n.string().trim().min(1).max(2e3).nullable(),summary:x,evidenceBasis:H.nullable(),critiqueStatus:k,validationStatus:E,trigger:r,outcome:r.nullable(),proposal:r.nullable(),applyReceipt:r.nullable(),inputHarness:r,outputHarness:r.nullable(),createdAt:o}).strict().superRefine((e,s)=>{let a=e.result==="applied"||e.result==="retained";e.result==="no_action"?b(s,e,{decision:"no_action",route:null,operation:null,target:null,evidenceBasis:null,proposal:null,applyReceipt:null,outputHarness:null,critiqueStatus:"not_applicable",validationStatus:"not_applicable"}):e.result==="routed"?((e.decision!=="route"||!w.safeParse(e.route).success||e.operation!==null||e.target!==null||e.evidenceBasis===null||e.proposal!==null||e.applyReceipt!==null||e.outputHarness!==null)&&s.addIssue({code:"custom",message:"routed activity requires an external route and evidence basis without proposal state"}),b(s,e,{critiqueStatus:"not_applicable",validationStatus:"not_applicable"})):a?((e.decision!=="propose"||!q.safeParse(e.route).success||e.operation===null||e.target===null||e.evidenceBasis===null||e.proposal===null||e.applyReceipt===null)&&s.addIssue({code:"custom",message:"applied and retained activity requires complete proposal state"}),e.result==="applied"&&e.outputHarness===null&&s.addIssue({code:"custom",message:"applied activity requires the advanced Harness release",path:["outputHarness"]}),e.result==="applied"&&(e.critiqueStatus!=="passed"||e.validationStatus!=="passed")&&s.addIssue({code:"custom",message:"applied activity requires passed critique and validation"}),e.result==="retained"&&e.outputHarness!==null&&s.addIssue({code:"custom",message:"retained activity cannot report a new Harness release",path:["outputHarness"]})):(e.decision!==null||e.route!==null||e.operation!==null||e.target!==null||e.evidenceBasis!==null||e.outcome!==null||e.proposal!==null||e.applyReceipt!==null||e.outputHarness!==null)&&s.addIssue({code:"custom",message:"failed activity cannot claim a decision, route, proposal, or release transition"}),e.result!=="failed"&&e.outcome===null&&s.addIssue({code:"custom",message:"terminal Refiner decisions require an outcome reference",path:["outcome"]})}),M=K.extend({contentHash:u}).strict(),$=n.enum(["unresolved","confirmed","resolved","rejected","expired"]),z=n.object({kind:n.enum(["applied_change","later_success","manual_rejection","source_revoked","expired"]),reason:R,evidenceRefs:n.array(r).max(1e3),resolvedAt:o}).strict(),C=n.object({schemaVersion:n.literal("openpond.harnessRefinementCandidate.v1"),id:c,ownerScope:v,workspaceRef:c,fingerprint:u,recurrenceFamily:n.string().trim().min(1).max(1e3),statement:R,status:$,occurrences:n.array(m).max(1e3),counterevidence:n.array(m).max(1e3),sourceReviews:n.array(r).min(1).max(100),relatedHarnessReleases:n.array(r).max(100),firstSeenAt:o,lastSeenAt:o,lastReviewedAt:o,expiresAt:o,resolution:z.nullable(),createdAt:o,updatedAt:o}).strict().superRefine((e,s)=>{l(s,e.occurrences,"occurrences"),l(s,e.counterevidence,"counterevidence"),l(s,e.sourceReviews,"sourceReviews"),l(s,e.relatedHarnessReleases,"relatedHarnessReleases");let a=new Set(e.occurrences.map(i=>i.occurrenceKey));e.counterevidence.some(i=>a.has(i.occurrenceKey))&&s.addIssue({code:"custom",message:"supporting occurrences and counterevidence must be disjoint",path:["counterevidence"]});let t=e.status==="unresolved"||e.status==="confirmed";t&&e.occurrences.length===0&&s.addIssue({code:"custom",message:"actionable candidates require at least one supporting occurrence",path:["occurrences"]}),t&&[...e.occurrences,...e.counterevidence].some(i=>i.sourcePolicy.state!=="authorized")&&s.addIssue({code:"custom",message:"actionable candidates may contain only currently authorized evidence",path:["occurrences"]}),t!==(e.resolution===null)&&s.addIssue({code:"custom",message:"only resolved, rejected, or expired candidates require a resolution",path:["resolution"]}),e.status==="expired"&&e.resolution?.kind!=="expired"&&s.addIssue({code:"custom",message:"expired candidates require an expired resolution",path:["resolution","kind"]}),e.status==="rejected"&&e.resolution&&!["manual_rejection","source_revoked"].includes(e.resolution.kind)&&s.addIssue({code:"custom",message:"rejected candidates require a rejection or revocation resolution",path:["resolution","kind"]}),e.status==="resolved"&&e.resolution&&!["applied_change","later_success"].includes(e.resolution.kind)&&s.addIssue({code:"custom",message:"resolved candidates require applied-change or later-success evidence",path:["resolution","kind"]}),F(s,e)}),B=C.extend({contentHash:u}).strict(),V=n.enum(["created","merged","rejected","expired","reopened","resolved"]),A=n.object({schemaVersion:n.literal("openpond.harnessRefinementCandidateLifecycleReceipt.v1"),id:c,candidateId:c,decision:V,beforeCandidate:r.nullable(),afterCandidate:r,review:r,addedEvidence:n.array(m).max(1e3),removedEvidence:n.array(r).max(1e3),reason:R,createdAt:o}).strict().superRefine((e,s)=>{e.decision==="created"!=(e.beforeCandidate===null)&&s.addIssue({code:"custom",message:"only candidate creation omits the previous candidate reference",path:["beforeCandidate"]}),e.beforeCandidate&&e.beforeCandidate.contentHash===e.afterCandidate.contentHash&&s.addIssue({code:"custom",message:"candidate lifecycle transitions must change candidate content",path:["afterCandidate"]}),["created","reopened"].includes(e.decision)&&e.addedEvidence.length===0&&s.addIssue({code:"custom",message:`${e.decision} candidate transitions require added evidence`,path:["addedEvidence"]}),e.addedEvidence.some(t=>t.sourcePolicy.state!=="authorized")&&s.addIssue({code:"custom",message:"candidate transitions may add only authorized evidence",path:["addedEvidence"]}),l(s,e.addedEvidence,"addedEvidence"),l(s,e.removedEvidence,"removedEvidence");let a=new Set(e.removedEvidence.map(t=>h(t)));e.addedEvidence.some(t=>a.has(h(t.evidence)))&&s.addIssue({code:"custom",message:"candidate lifecycle evidence cannot be added and removed together",path:["removedEvidence"]})}),D=A.extend({contentHash:u}).strict(),I=n.object({schemaVersion:n.literal("openpond.harnessCrossRunRefinementRequest.v1"),id:c,ownerScope:v,workspaceRef:c,candidate:r,candidateFingerprint:u,review:r,admittedHarness:r,evidence:n.array(m).min(1).max(1e3),capabilities:S,deduplicationKey:u,createdAt:o}).strict().superRefine((e,s)=>{e.evidence.some(t=>t.sourcePolicy.state!=="authorized")&&s.addIssue({code:"custom",message:"cross-run refinement requires currently authorized evidence",path:["evidence"]}),l(s,e.evidence,"evidence"),Object.values(e.capabilities).some(Boolean)||s.addIssue({code:"custom",message:"cross-run refinement requires at least one available Harness capability",path:["capabilities"]});let a=P(e);e.deduplicationKey!==a&&s.addIssue({code:"custom",message:`cross-run refinement deduplicationKey is ${e.deduplicationKey}; expected ${a}`,path:["deduplicationKey"]})}),L=I.extend({contentHash:u}).strict();function N(e){return y(e,C,B)}d(N,"createHarnessRefinementCandidate");function Q(e){return y(e,A,D)}d(Q,"createHarnessRefinementCandidateLifecycleReceipt");function P(e){return f({schemaVersion:"openpond.harnessCrossRunRefinementIdentity.v1",workspaceRef:e.workspaceRef,candidateFingerprint:e.candidateFingerprint,admittedHarness:e.admittedHarness})}d(P,"harnessCrossRunRefinementDeduplicationKey");function W(e){return y(e,I,L)}d(W,"createHarnessCrossRunRefinementRequest");function y(e,s,a){let t=s.parse(e);return a.parse({...t,contentHash:f(t)})}d(y,"createHashedContract");function b(e,s,a){for(let[t,i]of Object.entries(a))s[t]!==i&&e.addIssue({code:"custom",message:`${t} must be ${String(i)}`,path:[t]})}d(b,"requireFields");function l(e,s,a){let t=s.map(i=>h(i));new Set(t).size!==t.length&&e.addIssue({code:"custom",message:`${a} references must be unique`,path:[a]})}d(l,"requireUniqueRefs");function h(e){if(!e||typeof e!="object"||Array.isArray(e))return String(e);let s=e;if(typeof s.occurrenceKey=="string")return s.occurrenceKey;let a=s.evidence;if(a&&typeof a=="object"&&!Array.isArray(a)){let t=a;return`${String(t.id)}:${String(t.contentHash)}`}return`${String(s.id)}:${String(s.contentHash)}`}d(h,"refKey");function F(e,s){let a=[["firstSeenAt",s.firstSeenAt],["lastSeenAt",s.lastSeenAt],["lastReviewedAt",s.lastReviewedAt],["updatedAt",s.updatedAt],["expiresAt",s.expiresAt]];for(let t=1;t<a.length;t+=1){let i=a[t-1],p=a[t];Date.parse(i[1])<=Date.parse(p[1])||e.addIssue({code:"custom",message:`${p[0]} must not precede ${i[0]}`,path:[p[0]]})}Date.parse(s.createdAt)>Date.parse(s.updatedAt)&&e.addIssue({code:"custom",message:"updatedAt must not precede createdAt",path:["updatedAt"]})}d(F,"requireChronology");export{B as a,D as b,L as c,N as d,Q as e,P as f,W as g};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{
|
|
2
|
+
import{c as l}from"./chunk-DARVPBZ4.js";import{a as m,c as f}from"./chunk-NPOHW5OU.js";import{c,f as u}from"./chunk-BSHAIAXY.js";import{c as a}from"./chunk-3M53YXEI.js";import{d as n}from"./chunk-OS3LO5J3.js";import{b as s}from"./chunk-GLUWATL5.js";import{a as i}from"./chunk-FTQLQJQV.js";import{readFile as w,stat as h}from"node:fs/promises";async function U(r){let t=a(r,"inputFile");if(!t)throw new Error("Provide --input-file with the exact reviewed request.");let o=await h(t);if(!o.isFile()||o.size>1048576)throw new Error("The request must be a regular JSON file of at most 1 MiB.");let e=await w(t);if(e.byteLength>1048576)throw new Error("The request file grew beyond 1 MiB.");return JSON.parse(e.toString("utf8"))}i(U,"readEvaluationCommandInput");async function b(r){let t=a(r,"team");if(!t)throw new Error("Select --team for the evaluation owner.");if(r.local===!0||r.local==="true"){let e=new URL(a(r,"serverUrl")||m);if(e.protocol!=="http:"||!["localhost","127.0.0.1","[::1]"].includes(e.hostname)||e.username||e.password||e.search||e.hash||e.pathname!=="/")throw new Error("Local evaluation commands require an HTTP loopback server origin.");return{teamId:t,baseUrl:e.origin,apiKey:"local-capability",fetch:await f(e.origin)}}let o=await n();return{teamId:t,apiKey:await l(o,u(o)),baseUrl:c(r)??o.apiBaseUrl??s}}i(b,"evaluationCommandAccess");export{U as a,b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{b as r,d as i,e as p}from"./chunk-YR5ID2SS.js";import{a}from"./chunk-FTQLQJQV.js";var T=new URL(p).hostname,A=new URL(i).hostname;async function d(n,s,e){let t=new URLSearchParams;e?.handle&&t.set("handle",e.handle),typeof e?.limit=="number"&&Number.isFinite(e.limit)&&t.set("limit",String(Math.max(1,Math.floor(e.limit)))),typeof e?.offset=="number"&&Number.isFinite(e.offset)&&t.set("offset",String(Math.max(0,Math.floor(e.offset)))),typeof e?.includeScheduled=="boolean"&&t.set("includeScheduled",e.includeScheduled?"true":"false");let o=t.toString(),c=await r(n,s,`/apps/list${o?`?${o}`:""}`,{method:"GET"});if(!c.ok){let u=await c.text().catch(()=>"");throw new Error(`Apps list failed: ${c.status} ${u}`)}let l=await c.json().catch(()=>({}));return Array.isArray(l.apps)?l.apps:[]}a(d,"listApps");async function h(n,s,e){let t=await r(n,s,"/apps/repo/create",{method:"POST",body:JSON.stringify(e)});if(!t.ok){let o=await t.text().catch(()=>"");throw new Error(`Repo create failed: ${t.status} ${o}`)}return await t.json()}a(h,"createRepo");async function x(n,s,e,t){let o=await r(n,s,`/apps/${encodeURIComponent(e)}/code-visibility`,{method:"PATCH",body:JSON.stringify({codeVisibility:t})});if(!o.ok){let c=await o.text().catch(()=>"");throw new Error(`Code visibility update failed: ${o.status} ${c}`)}return await o.json()}a(x,"updateAppCodeVisibility");async function f(n,s,e){let t=await r(n,s,`/v4/apps/${e}/environment`,{method:"GET"});if(!t.ok){let o=await t.text().catch(()=>"");throw new Error(`Environment get failed: ${t.status} ${o}`)}return await t.json()}a(f,"getAppEnvironment");async function m(n,s){let e=await r(n,s,"/v1/account",{method:"GET"});if(!e.ok){let t=await e.text().catch(()=>"");throw new Error(`Account lookup failed: ${e.status} ${t}`)}return await e.json()}a(m,"getOpenPondAccount");export{d as a,h as b,x as c,f as d,m as e};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{b as Be}from"./chunk-SYUKES6H.js";import{a as ye}from"./chunk-UKMA4R6X.js";import{k as he,m as fe,n as Le}from"./chunk-OQPJ7FJF.js";import{a as me,b as le}from"./chunk-3QIB5FXI.js";import{c as Ne}from"./chunk-4EPSHPZL.js";import{a as ue,t as pe}from"./chunk-FTEOCCPB.js";import{Va as H}from"./chunk-25MBPJVY.js";import{e as ee,l as f,m as ze}from"./chunk-WN3V6KDN.js";import{a as Z}from"./chunk-QDC4OW3S.js";import{a as Te}from"./chunk-ZZWAQBA2.js";import{b as B}from"./chunk-YR5ID2SS.js";import{c as V,d as qe,e as Y,f as Q}from"./chunk-APB2STJK.js";import{k as _e}from"./chunk-VYLGI3IH.js";import{Aa as je,oa as Oe,ub as $e}from"./chunk-ACYFMLWG.js";import{b as o}from"./chunk-ES2ISFJC.js";import{a as d}from"./chunk-FTQLQJQV.js";var zt=3e4,Lt=8*1024*1024,Kn={timeoutMs:900*1e3,maxResponseBytes:64*1024*1024},He=class extends Error{static{d(this,"ApiTimeoutError")}timeoutMs;requestUrl;code="OPENPOND_API_TIMEOUT";constructor(t,e){super(`API request timed out after ${t}ms: ${e}`),this.timeoutMs=t,this.requestUrl=e,this.name="ApiTimeoutError"}},ge=class extends Error{static{d(this,"ApiResponseTooLargeError")}maximumBytes;requestUrl;code="OPENPOND_API_RESPONSE_TOO_LARGE";constructor(t,e){super(`API response exceeded ${t} bytes: ${e}`),this.maximumBytes=t,this.requestUrl=e,this.name="ApiResponseTooLargeError"}},Fe=class extends Error{static{d(this,"OpenPondApiError")}status;apiMessage;code;constructor(t,e,n,r=null){let a=r||e;super(`${n} failed: ${t}${a?` ${a}`:""}`),this.status=t,this.apiMessage=r,this.name="OpenPondApiError",this.code=e||"OPENPOND_API_ERROR"}};async function te(t,e,n,r={}){let{timeoutMs:a=zt,maxResponseBytes:s=Lt,explicitBearerAuth:i=!1,...u}=r,c=`${t}${n}`,p=new Headers(u.headers);p.set("Content-Type","application/json");let b=i?void 0:process.env.OPENPOND_API_KEY,l=e?.trim()||"",g=!i&&l.startsWith("opk_"),E=b||(g?l:null);E&&!p.has("openpond-api-key")&&p.set("openpond-api-key",E),e?p.set("Authorization",g?`ApiKey ${l}`:`Bearer ${e}`):b&&!p.has("Authorization")&&p.set("Authorization",`ApiKey ${b}`);let N=new AbortController,O=new He(a,c),T=a>0?setTimeout(()=>N.abort(O),a):null;T?.unref?.();let ce=Bt(u.signal,N.signal,a),X=d(()=>{T&&clearTimeout(T)},"cleanup");try{let C=await fetch(c,{...u,headers:p,signal:ce});return Nt(C,{cleanup:X,maximumBytes:s,requestUrl:c,timeoutController:N,timeoutError:O})}catch(C){throw X(),N.signal.aborted?O:C}}d(te,"apiFetch");async function be(t,e){let n;try{let r=await t.text();n=r?JSON.parse(r):{}}catch(r){if(r instanceof He||r instanceof ge)throw r;n={}}if(!t.ok){let r=typeof n.error=="string"?n.error:null,a=typeof n.message=="string"?n.message:null;throw new Fe(t.status,r,e,a)}return n}d(be,"readApiJson");function Nt(t,e){if(!t.body)return e.cleanup(),t;let n=Number(t.headers.get("content-length"));if(e.maximumBytes>0&&Number.isFinite(n)&&n>e.maximumBytes)throw e.cleanup(),t.body.cancel(),new ge(e.maximumBytes,e.requestUrl);let r=t.body.getReader(),a=0,s=new ReadableStream({async pull(i){try{let u=await r.read();if(u.done){e.cleanup(),i.close();return}if(a+=u.value.byteLength,e.maximumBytes>0&&a>e.maximumBytes){e.cleanup(),await r.cancel(),i.error(new ge(e.maximumBytes,e.requestUrl));return}i.enqueue(u.value)}catch(u){e.cleanup(),i.error(e.timeoutController.signal.aborted?e.timeoutError:u)}},async cancel(i){e.cleanup(),await r.cancel(i)}});return new Response(s,{headers:t.headers,status:t.status,statusText:t.statusText})}d(Nt,"boundedResponse");function Bt(t,e,n){return n<=0?t??void 0:t?AbortSignal.any([t,e]):e}d(Bt,"composedSignal");var R=o.string().trim().min(1).max(240),F=o.string().regex(/^[a-f0-9]{64}$/),tr=o.object({cursor:o.string().trim().min(1).max(2e3).optional(),projectId:R.optional(),search:o.string().trim().max(100).optional(),sort:o.enum(["id","name","updated"]).default("id"),limit:o.number().int().min(1).max(100).default(100)}).strict(),nr=o.object({operationId:R,expectedRevision:o.number().int().nonnegative(),originProjectId:R.optional(),workspace:pe,ownerScope:o.enum(["workspace","personal"]).optional()}).strict().superRefine((t,e)=>{t.workspace.draft.modelScope!==null&&e.addIssue({code:"custom",message:"Independent datasets cannot carry Model-owned draft preparation."}),t.workspace.draft.status!=="draft"&&e.addIssue({code:"custom",message:"Only draft workspaces can be saved."})}),M=o.object({schemaVersion:o.literal("openpond.datasetWorkspaceReceipt.v1"),teamId:R,datasetId:R,revision:o.number().int().positive(),originProjectId:R.optional(),workspace:pe,ownerScope:o.enum(["workspace","personal"]).optional(),publication:o.object({tasksetId:R,release:ue,packageHash:F}).strict().nullable()}).strict().superRefine((t,e)=>{(t.workspace.draft.id!==t.datasetId||t.workspace.draft.profileId!==t.teamId||t.workspace.draft.revision!==t.revision||t.workspace.draft.modelScope!==null)&&e.addIssue({code:"custom",message:"Dataset workspace scope/revision mismatch."})}),rr=o.object({operationId:R,expectedRevision:o.number().int().positive(),workspaceHash:F,packageHash:F}).strict(),or=o.object({operationId:R,expectedRevision:o.number().int().positive()}).strict(),ar=o.object({teamId:R,datasetId:R,items:o.array(o.object({workspaceRevision:o.number().int().positive(),publication:M.shape.publication.unwrap(),publishedAt:o.iso.datetime()}).strict()).max(25),nextBeforeRevision:o.number().int().positive().nullable()}).strict(),sr=o.object({teamId:R,datasets:o.array(o.object({id:R,revision:o.number().int().positive(),originProjectId:R.optional(),name:o.string(),status:o.enum(["draft","published"]),ownerScope:o.enum(["workspace","personal"]).optional(),taskCount:o.number().int().nonnegative().optional(),publication:M.shape.publication,updatedAt:o.string().datetime()}).strict()).max(100),nextCursor:o.string().trim().min(1).max(2e3).nullable()}).strict(),ir=o.object({teamId:R,datasetId:R,revision:o.number().int().positive(),workspaceHash:F,packageHash:F,release:ue}).strict();var S=o.string().trim().min(1).max(500),L=o.string().regex(/^[a-f0-9]{64}$/),hr=o.object({teamId:S,ownerUserId:S}).strict(),ne=o.object({id:S,snapshotHash:L,boundaryId:S,boundaryRevisionHash:L}).strict(),Ie=o.object({sourceId:S,source:qe,sessionId:S,snapshotHash:L,title:o.string().max(500),projectId:S.nullable(),capturedAt:o.string().datetime(),boundaries:o.array(Q.omit({start:!0,end:!0})).max(V.boundaries)}).strict(),Ht=o.object({operationId:S,conversationId:S.optional(),cursor:S.optional(),limit:o.number().int().min(1).max(50).default(20)}).strict(),We=o.object({hash:L,parts:o.number().int().min(1).max(1500)}).strict(),Ft=We.extend({index:o.number().int().nonnegative().max(1499),base64:o.string().max(35e4)}).strict(),fr=o.object({path:o.string().min(1).max(500),encoding:o.enum(["utf8","zstd"]),base64:o.string()}).strict(),j=o.object({upload:We,source:o.enum(["codex","claude_code","hermes","openclaw","opencode","grok_build","pi","oh_my_pi"]),branchLeafId:S.optional(),acquisition:o.object({machineId:S,sourceInstanceId:S}).strict().optional(),destination:o.discriminatedUnion("kind",[o.object({kind:o.literal("existing"),projectId:S}).strict(),o.object({kind:o.literal("new"),name:o.string().trim().min(1).max(200)}).strict()])}).strict(),Ge=j.extend({operationId:S,previewHash:L,selection:o.array(o.object({sessionHash:L,boundaryIds:o.array(S).min(1).max(V.boundaries)}).strict()).min(1).max(V.sessions)}).strict(),Mt=o.object({from:o.string().datetime(),to:o.string().datetime(),projectId:S.optional()}).strict(),yr=o.object({teamId:S,range:Mt,activity:o.object({conversations:o.number().int().nonnegative(),turns:o.number().int().nonnegative(),chatTurns:o.number().int().nonnegative(),workTurns:o.number().int().nonnegative()}).strict(),accounting:o.object({contextSnapshots:o.number().int().nonnegative()}).strict(),usage:Z}).strict(),k=o.string().min(1).max(200),z=o.string().regex(/^[a-f0-9]{64}$/),Se=o.object({operationId:k,name:o.string().trim().min(1).max(500),projectId:k,dataset:ee.extend({revision:o.number().int().positive()}).strict(),caseIds:o.array(k).min(1).max(1e4)}).strict().superRefine((t,e)=>{new Set(t.caseIds).size!==t.caseIds.length&&e.addIssue({code:"custom",message:"Select each case once."})}),Dt=ne.extend({inputHash:z,outputHash:z.nullable(),task:Oe,taskHash:z}).strict(),Jt=o.object({schemaVersion:o.literal("openpond.connectedRecordedExecution.v1"),id:k,teamId:k,ownerUserId:k,request:Se,manifest:$e,sources:o.array(Dt).min(1).max(1e4),contentHash:z}).strict();function Me(t){let e=Jt.parse(t),{contentHash:n,...r}=e,{contentHash:a,...s}=e.manifest;if(f(r)!==n||f(s)!==a||e.manifest.teamId!==e.teamId||e.manifest.id!==e.id||e.manifest.operationId!==e.request.operationId||f(e.manifest.dataset)!==f(e.request.dataset)||e.sources.length!==e.request.caseIds.length||e.sources.length!==e.manifest.population.length||e.sources.some((i,u)=>i.taskHash!==f(i.task)||i.task.id!==e.request.caseIds[u]||i.boundaryId!==i.task.id||e.manifest.population[u]?.caseId!==i.boundaryId))throw new Error("Recorded execution identity or population integrity failed.");return e}d(Me,"verifyConnectedRecordedExecution");var Kt=o.object({projectId:k.optional(),cursor:k.optional(),limit:o.number().int().min(1).max(50).default(20)}).strict(),Wt=o.object({id:k,teamId:k,ownerUserId:k,projectId:k,name:o.string().min(1).max(500),dataset:Se.shape.dataset,manifestHash:z,contentHash:z,caseCount:o.number().int().min(1).max(1e4),createdAt:o.string().datetime()}).strict(),Gt=o.object({teamId:k,items:o.array(Wt).max(50),nextCursor:k.nullable()}).strict(),Xt=o.object({datasetId:o.string().trim().min(1).max(240),expectedRevision:o.number().int().positive(),operationId:o.string().trim().min(1).max(240),graders:o.array(je).min(1).max(100).optional()}).strict().superRefine((t,e)=>{t.graders&&new Set(t.graders.map(n=>n.id)).size!==t.graders.length&&e.addIssue({code:"custom",path:["graders"],message:"Choose one exact revision of each grader."})}),D=o.string().min(1).max(500),q=o.number().int().nonnegative(),Vt=o.object({teamId:D,ownerUserId:D,projectId:D.nullable(),status:o.enum(["active","paused","archived"]),revision:q,state:o.enum(["collecting","pending","attention","paused","archived"]),lastReconciledAt:o.string().datetime().nullable(),lastCapturedAt:o.string().datetime().nullable(),historyDays:o.number().int().positive(),sources:q,tasks:q,datasets:o.array(o.object({datasetId:D,projection:o.enum(["turn","conversation"]),revision:q}).strict()).max(2),latestBatch:o.object({operationId:D,updatedAt:o.string().datetime(),scanned:q,captured:q,unchanged:q,pending:q,failed:q,excluded:q,paused:q,hasMore:o.boolean()}).strict().nullable()}).strict(),h=o.string().min(1).max(500),A=o.string().regex(/^[a-f0-9]{64}$/),De=o.object({teamId:h,projectId:h.nullable(),status:o.enum(["active","paused","archived"]),revision:o.number().int().nonnegative()}).strict(),Yt=o.object({teamId:h,operationId:h,projectId:h.nullable(),outcomes:o.array(o.object({conversationId:h,state:o.enum(["captured","unchanged","pending","paused","excluded","failed"]),sourceId:h.optional(),snapshotHash:A.optional(),reason:o.string().optional()}).strict()).max(50),nextCursor:h.nullable()}).strict(),Qt=o.object({teamId:h,ref:ne,origin:Ie.shape.source,sessionId:h,projectId:h,capturedAt:o.string().datetime(),unmappedEvidence:o.object({count:o.number().int().nonnegative().max(1e5),contentHash:A}).strict(),evidence:o.object({input:o.array(Y),observed:o.array(Y),answer:o.json(),boundary:Q}).strict()}).strict(),Zt=o.object({teamId:h,sourceId:h,snapshotHash:A,contentHash:A,count:o.number().int().nonnegative(),offset:o.number().int().nonnegative(),events:o.array(Y).max(50),nextOffset:o.number().int().nonnegative().nullable()}).strict(),en=o.object({teamId:h,source:j.shape.source,sourceHash:A,previewHash:A,destination:j.shape.destination,issues:o.array(o.object({file:o.string(),message:o.string()}).strict()).max(100),sessions:o.array(o.object({sessionHash:A,sessionId:h,origin:Ie.shape.source,exporterVersion:o.string().nullable(),eventCount:o.number().int().nonnegative(),boundaries:o.array(o.object({id:h,projection:o.enum(["turn","conversation"]),answer:o.boolean(),process:o.enum(["retained","partial","absent"]),terminal:o.enum(["completed","failed","cancelled","unknown"])}).strict()).max(5001),warnings:o.array(o.string()).max(100),sample:o.array(o.object({role:o.enum(["user","assistant","system","tool"]).nullable(),text:o.string().max(4e3)}).strict()).max(3)}).strict()).max(1e3)}).strict(),Je=o.object({teamId:h,operationId:h,requestHash:A,previewHash:A,projectId:h.optional(),state:o.enum(["admitting","publishing","completed","failed"]),outcomes:o.array(o.object({sessionHash:A,sourceId:h,status:o.enum(["imported","already_present"]),datasets:o.array(o.object({datasetId:h,revision:o.number().int().positive(),changed:o.boolean()}).strict()).max(2)}).strict()).max(1e3),error:o.string().optional()}).strict(),Ke=class extends Error{static{d(this,"ConnectedEvidenceError")}constructor(t,e,n){super(n),this.status=t,this.code=e,this.name="ConnectedEvidenceError"}status;code},Pr=class{static{d(this,"ConnectedEvidenceClient")}constructor(t){this.options=t;let e=new URL(t.baseUrl);if(!["http:","https:"].includes(e.protocol)||e.username||e.password||e.search||e.hash||!t.apiKey.trim()||!t.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=e.toString().replace(/\/+$/,"")}options;baseUrl;async capture(t,e){let n=Ht.parse(t),r=Yt.parse(await this.request("/capture","POST",n,e));if(this.scope(r.teamId),r.operationId!==n.operationId||r.outcomes.length>n.limit||n.conversationId&&r.outcomes.some(a=>a.conversationId!==n.conversationId))throw new Error("Capture receipt differs from its requested source or operation.");return r}async list(t={},e){let n=o.object({projectId:h.optional(),cursor:h.optional(),limit:o.number().int().min(1).max(50).default(20)}).strict().parse(t),r=new URLSearchParams(Object.entries(n).filter(([,s])=>s!==void 0).map(([s,i])=>[s,String(i)])),a=o.object({teamId:h,items:o.array(Ie).max(50),nextCursor:h.nullable()}).strict().parse(await this.request(`?${r}`,"GET",void 0,e));if(this.scope(a.teamId),a.items.length>n.limit||new Set(a.items.map(s=>s.sourceId)).size!==a.items.length||a.nextCursor!==null&&a.nextCursor===n.cursor||n.projectId&&a.items.some(s=>s.projectId!==n.projectId))throw new Error("Connected source page differs from its requested scope.");return a}async read(t,e){let n=ne.parse(t),r=Qt.parse(await this.request(`/${encodeURIComponent(n.id)}/cases/${encodeURIComponent(n.boundaryId)}?snapshotHash=${n.snapshotHash}&revisionHash=${n.boundaryRevisionHash}`,"GET",void 0,e));if(this.scope(r.teamId),f(r.ref)!==f(n)||r.evidence.boundary.id!==n.boundaryId||r.evidence.boundary.revisionHash!==n.boundaryRevisionHash||f(r.evidence.input)!==r.evidence.boundary.inputHash||f(r.evidence.observed)!==n.boundaryRevisionHash||r.evidence.boundary.outputHash!==null&&f(r.evidence.answer)!==r.evidence.boundary.outputHash)throw new Error("Connected case readback differs from its exact snapshot or cutoff.");return r}async setCollection(t,e){let n=De.parse(await this.request("/collection","PUT",o.object({paused:o.boolean()}).strict().parse({paused:t}),e));return this.scope(n.teamId),n}async collection(t){let e=De.parse(await this.request("/collection","GET",void 0,t));return this.scope(e.teamId),e}async collectionStatus(t){let e=Vt.parse(await this.request("/collection/status","GET",void 0,t));return this.scope(e.teamId),e}async unmappedEvents(t,e){let n=o.object({id:h,snapshotHash:A,contentHash:A,offset:o.number().int().nonnegative().default(0),limit:o.number().int().min(1).max(50).default(20)}).strict().parse(t),r=Zt.parse(await this.request(`/${encodeURIComponent(n.id)}/unmapped-events?snapshotHash=${n.snapshotHash}&offset=${n.offset}&limit=${n.limit}`,"GET",void 0,e));if(this.scope(r.teamId),r.sourceId!==n.id||r.snapshotHash!==n.snapshotHash||r.contentHash!==n.contentHash||r.offset!==n.offset||r.events.length>n.limit||r.events.some((a,s)=>a.sequence!==n.offset+s)||r.nextOffset!==null&&r.nextOffset!==n.offset+r.events.length)throw new Error("Unmapped source event page differs from its pinned snapshot.");return r}async homeSummary(t,e){let n=o.object({from:o.string().datetime(),to:o.string().datetime(),projectId:h.optional()}).strict(),r=n.parse(t),a=new URLSearchParams(Object.entries(r)),s=o.object({teamId:h,range:n,activity:o.object({conversations:o.number().int().nonnegative(),turns:o.number().int().nonnegative(),chatTurns:o.number().int().nonnegative(),workTurns:o.number().int().nonnegative()}).strict(),accounting:o.object({contextSnapshots:o.number().int().nonnegative()}).strict(),usage:Z}).strict().parse(await this.request(`/summary?${a}`,"GET",void 0,e));if(this.scope(s.teamId),f(s.range)!==f(r)||s.activity.chatTurns+s.activity.workTurns!==s.activity.turns)throw new Error("Activity summary differs from its requested range.");for(let i of[s.usage.days,s.usage.modes,s.usage.models]){if(new Set(i.map(u=>u.key)).size!==i.length)throw new Error("Duplicate usage summary group.");for(let u of Object.keys(s.usage.total))if(i.reduce((c,p)=>c+p[u],0)!==s.usage.total[u])throw new Error("Usage totals differ from their displayed groups.")}return s}async uploadPart(t,e){let n=Ft.parse(t),r=o.object({teamId:h,hash:A,parts:o.number().int(),index:o.number().int()}).strict().parse(await this.request("/imports/upload","POST",n,e));if(this.scope(r.teamId),r.hash!==n.hash||r.parts!==n.parts||r.index!==n.index)throw new Error("Upload receipt differs from its part identity.");return r}async preview(t,e){let n=j.parse(t),r=en.parse(await this.request("/imports/preview","POST",n,e));if(this.scope(r.teamId),r.source!==n.source||f(r.destination)!==f(n.destination)||r.sessions.some(a=>a.origin!==n.source)||new Set(r.sessions.map(a=>a.sessionHash)).size!==r.sessions.length)throw new Error("Import preview differs from its source or destination.");return r}async commit(t,e){let n=Ge.parse(t),r=Je.parse(await this.request("/imports/commit","POST",n,e));if(this.scope(r.teamId),r.operationId!==n.operationId||r.previewHash!==n.previewHash||r.requestHash!==f(n)||r.outcomes.some(a=>!n.selection.some(s=>s.sessionHash===a.sessionHash))||r.state==="completed"&&r.outcomes.length!==n.selection.length)throw new Error("Import receipt differs from its exact selection or operation.");return r}async readImport(t,e){let n=h.parse(t),r=Je.parse(await this.request(`/imports/${encodeURIComponent(n)}`,"GET",void 0,e));if(this.scope(r.teamId),r.operationId!==n)throw new Error("Import identity mismatch.");return r}async prepareRecorded(t,e){let n=Se.parse(t),r=Me(await this.request("/recorded-executions","POST",n,e));if(this.scope(r.teamId),f(r.request)!==f(n))throw new Error("Recorded admission differs from its selected Dataset/cases.");return r}async listRecordedExecutions(t={},e){let n=Kt.parse(t),r=new URLSearchParams(Object.entries(n).filter(([,s])=>s!==void 0).map(([s,i])=>[s,String(i)])),a=Gt.parse(await this.request(`/recorded-executions?${r}`,"GET",void 0,e));if(this.scope(a.teamId),a.items.length>n.limit||a.items.some((s,i)=>s.teamId!==a.teamId||n.projectId&&s.projectId!==n.projectId||n.cursor&&s.id<=n.cursor||i>0&&s.id<=a.items[i-1].id)||a.items.some(s=>s.ownerUserId!==a.items[0]?.ownerUserId)||a.nextCursor!==null&&(n.cursor!==void 0&&a.nextCursor<=n.cursor||a.items.length>0&&a.nextCursor<a.items.at(-1).id))throw new Error("Recorded execution page differs from its requested scope or cursor.");return a}async recordedExecution(t,e){let n=Me(await this.request(`/recorded-executions/${encodeURIComponent(h.parse(t))}`,"GET",void 0,e));if(this.scope(n.teamId),n.id!==t)throw new Error("Recorded execution identity mismatch.");return n}async publishDataset(t,e){let n=Xt.parse(t),r=M.parse(await this.request("/datasets/publish","POST",n,e));this.scope(r.teamId);let a=r.workspace.draft.metadata.connectedPublication;if(r.datasetId!==n.datasetId||!r.publication||!a||typeof a!="object"||!("requestHash"in a)||a.requestHash!==f(n))throw new Error("Published Dataset identity or original selection mismatch.");return r}async createSelection(t,e){let n=o.object({operationId:h.max(240),projectId:h.max(240),name:o.string().trim().min(1).max(200),cases:o.array(ne).min(1).max(500)}).strict().parse(t),r=M.parse(await this.request("/datasets/selection","POST",n,e));if(this.scope(r.teamId),r.originProjectId!==n.projectId||r.workspace.draft.tasks.length!==n.cases.length||r.workspace.draft.tasks.some((a,s)=>f(a.input&&typeof a.input=="object"&&!Array.isArray(a.input)?a.input.connectedEvidenceRef:null)!==f(n.cases[s])))throw new Error("Selected Dataset differs from its exact source population.");return r}scope(t){if(t!==this.options.teamId)throw new Error("Connected evidence workspace mismatch.")}async request(t,e,n,r){let{response:a,value:s}=await Ne(this.options.fetch??fetch,`${this.baseUrl}/v1/connected-evidence${t}`,{method:e,signal:r,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json",Accept:"application/json"},...n===void 0?{}:{body:JSON.stringify(n)}},(i,u,c)=>new Ke(i,u,c));if(!a.ok){let i=o.object({code:o.string(),message:o.string()}).safeParse(s);throw new Ke(a.status,i.success?i.data.code:"connected_request_failed",i.success?i.data.message:"Connected evidence request failed.")}return s}},P=o.string().trim().min(1).max(240),kr=o.object({id:P,source:j.shape.source,machineId:P,sourceInstanceId:P,sourceLabel:o.string().trim().min(1).max(200),sourceRoot:o.string().min(1).max(2e3),destination:j.shape.destination,since:o.string().datetime().nullable(),keepSyncing:o.boolean(),expectedRevision:o.number().int().nonnegative()}).strict(),Er=o.object({id:P,expectedRevision:o.number().int().positive(),action:o.enum(["pause","resume","disconnect"])}).strict(),Ar=o.object({id:P,operationId:P,expectedRevision:o.number().int().positive()}).strict(),Ur=o.object({id:P,expectedRevision:o.number().int().positive(),pendingOperations:o.number().int().min(0).max(1e4),error:o.string().max(500).nullable(),completedSyncRevision:o.number().int().nonnegative().default(0)}).strict(),qr=o.object({teamId:P,id:P,revision:o.number().int().positive(),source:j.shape.source,sourceLabel:o.string(),sourceRoot:o.string(),taskDatasetId:P.nullable(),conversationDatasetId:P.nullable(),machineId:P,sourceInstanceId:P,projectId:P,datasetIds:o.array(P).max(2),since:o.string().datetime().nullable(),keepSyncing:o.boolean(),state:o.enum(["active","paused","disconnected"]),health:o.enum(["online","offline"]),lastHeartbeatAt:o.string().datetime().nullable(),lastAdmissionAt:o.string().datetime().nullable(),pendingOperations:o.number().int().nonnegative(),admittedTasks:o.number().int().nonnegative(),error:o.string().nullable(),requestedSyncRevision:o.number().int().nonnegative().default(0),completedSyncRevision:o.number().int().nonnegative().default(0),syncRequestedAt:o.string().datetime().nullable().default(null),syncCompletedAt:o.string().datetime().nullable().default(null)}).strict().refine(t=>t.completedSyncRevision<=t.requestedSyncRevision&&t.requestedSyncRevision<=t.revision,"Invalid sync acknowledgement generation."),Or=o.object({connectionId:P,expectedRevision:o.number().int().positive(),request:Ge}).strict();function Br(t){let e=d(r=>`/v1/training/candidate-evaluations/${encodeURIComponent(r)}`,"path");function n(r,a,s){let i=rn.parse(r);if(i.teamId!==a||s&&i.id!==s)throw new Error("The preparation belongs to another workspace or candidate operation.");return i}return d(n,"read"),{async options(r,a={}){let s=new URLSearchParams({teamId:r,...a}),i=nn.parse(await t(`/v1/training/candidates?${s}`));if(i.teamId!==r)throw new Error("The candidate catalog belongs to another workspace.");return i},async save(r){let a=Ve.parse(r),s=n(await t(`/v1/training/candidate-evaluations?teamId=${encodeURIComponent(a.teamId)}`,{method:"POST",body:JSON.stringify(a)}),a.teamId);if(s.requestHash!==f(a))throw new Error("The saved preparation differs from the selected candidate or frozen evaluation.");return s},async get(r,a){return n(await t(`${e(a)}?teamId=${encodeURIComponent(r)}`),r,a)},async control(r,a,s,i){let u=on.parse(i),c=n(await t(`${e(a)}/${s}?teamId=${encodeURIComponent(r)}`,{method:"POST",body:JSON.stringify(u)}),r,a);if(c.requestHash!==u.requestHash)throw new Error("The command returned a different frozen evaluation.");return c}}}d(Br,"createCandidateEvaluationClient");var I=o.string().trim().min(1).max(200),we=o.string().regex(/^[a-f0-9]{64}$/),Xe=o.object({id:I,contentHash:we}).strict(),tn=o.object({artifact:Xe,trainingJobId:I,configurationId:I,baseProfileId:I,ready:o.boolean(),reason:o.string().max(1e3).nullable()}).strict(),nn=o.object({teamId:I,ownerUserId:I,items:o.array(tn).max(100),nextCursor:I.nullable()}).strict(),Ve=o.object({teamId:I,operationId:I,artifact:Xe,configuration:H}).strict().superRefine((t,e)=>{(t.configuration.request.teamId!==t.teamId||t.configuration.request.policy.kind==="fixture"||t.configuration.request.policy.candidate)&&e.addIssue({code:"custom",message:"Choose one exact model-backed evaluation before preparing the trained version."})}),rn=o.object({schemaVersion:o.literal("openpond.candidateEvaluationPreparation.v1"),teamId:I,ownerUserId:I,id:I,revision:o.number().int().positive(),requestHash:we,request:Ve,trainingJobId:I,dispatchId:I,lastOperationId:I.nullable(),runtime:o.object({poolId:I,endpointId:I.nullable(),baseProfileId:I,workerImageDigest:o.string().regex(/^sha256:[a-f0-9]{64}$/),modelId:I.nullable()}).strict().nullable(),state:o.enum(["configured","preparing","ready","dispatching","submitted","cleaning","completed","failed","cancelled"]),experimentId:I.nullable(),authorizedAt:o.iso.datetime().nullable(),cancelledAt:o.iso.datetime().nullable(),reason:o.string().max(1e3).nullable(),createdAt:o.iso.datetime(),updatedAt:o.iso.datetime()}).strict().superRefine((t,e)=>{(t.requestHash!==f(t.request)||!t.runtime&&["ready","dispatching","submitted","completed"].includes(t.state))&&e.addIssue({code:"custom",message:"The exact candidate preparation request or runtime changed."})}),on=o.object({operationId:I,expectedRevision:o.number().int().positive(),requestHash:we}).strict();var x=o.string().trim().min(1).max(200),J=o.string().regex(/^[a-f0-9]{64}$/),K=o.string().datetime(),Ye=o.object({operationId:x,id:x.optional(),expectedRevision:o.number().int().nonnegative(),teamId:x,projectId:x.nullable(),enabled:o.boolean(),configuration:H,cadence:o.discriminatedUnion("kind",[o.object({kind:o.literal("interval"),seconds:o.number().int().min(60).max(31536e3)}).strict(),o.object({kind:o.literal("nightly"),calendar:_e}).strict()]),maximumTotalSpendUsd:o.number().finite().positive().max(1e4),maximumAttempts:o.number().int().min(1).max(20)}).strict().superRefine((t,e)=>{(t.configuration.request.teamId!==t.teamId||(t.configuration.request.project?.id??null)!==t.projectId)&&e.addIssue({code:"custom",message:"The scheduled Experiment must retain its actual workspace and Project."}),t.configuration.maximumCostUsd>t.maximumTotalSpendUsd&&e.addIssue({code:"custom",message:"The run ceiling exceeds the approved cumulative schedule ceiling."})}),an=o.object({id:x,scheduledAt:K,coalescedThroughAt:K,coalescedCount:o.number().int().nonnegative(),configurationHash:J,operationId:x,state:o.enum(["reserved","dispatching","running","cleaning","completed","failed","cancelled","uncertain"]),executionId:x.nullable(),attempt:o.number().int().positive(),maximumCostUsd:o.number().finite().positive(),actualSpendUsd:o.number().finite().nonnegative().nullable(),cleanupComplete:o.boolean(),error:o.string().max(4e3).nullable()}).strict(),sn=o.object({schemaVersion:o.literal("openpond.experimentEvaluationSchedule.v1"),id:x,revision:o.number().int().positive(),actorId:x,teamId:x,projectId:x.nullable(),operationId:x,requestHash:J,configuration:H,configurationHash:J,cadence:Ye.shape.cadence,state:o.enum(["scheduled","disabled","blocked"]),nextRunAt:K.nullable(),maximumTotalSpendUsd:o.number().finite().positive(),maximumAttempts:o.number().int().positive(),lastEvaluatedConfigurationHash:J.nullable(),newerUnevaluatedRelease:ee.nullable(),fires:o.array(an).max(1e4),reason:o.string().max(4e3).nullable(),createdAt:K,updatedAt:K,contentHash:J}).strict();function dn(t){let{operationId:e,request:n,...r}=t,{operationId:a,...s}=n;return f({...r,request:s})}d(dn,"scheduledExperimentHash");function cn(t){let e=sn.parse(t);if(ze(e,"Scheduled Experiment"),e.configurationHash!==dn(e.configuration)||e.configuration.request.teamId!==e.teamId||(e.configuration.request.project?.id??null)!==e.projectId)throw new Error("Scheduled Experiment immutable authority differs from its recipe.");return e}d(cn,"verifyExperimentEvaluationSchedule");function Wr(t){return cn({...t,contentHash:f(t)})}d(Wr,"sealExperimentEvaluationSchedule");var un=o.object({teamId:x,id:x,operationId:x,expectedRevision:o.number().int().positive(),action:o.enum(["cancel_active","retry_active","pause"])}).strict(),Gr=o.discriminatedUnion("operation",[o.object({operation:o.literal("publish"),request:Ye}).strict(),o.object({operation:o.literal("control"),request:un}).strict(),o.object({operation:o.literal("read"),id:x}).strict(),o.object({operation:o.literal("list"),cursor:x.optional(),limit:o.number().int().min(1).max(100).default(50)}).strict()]);function pn(t){return{list:d((e={})=>t.listSandboxRuntimes(e),"list"),create:d(e=>t.createSandboxRuntime(e),"create"),handle:d((e,n=null)=>t.sandboxRuntime(e,n),"handle"),get:d(e=>t.getSandboxRuntime(e),"get"),createSandbox:d((e,n={},r={})=>t.createSandboxRuntimeSandbox(e,n,r),"createSandbox"),updateStatus:d((e,n)=>t.updateSandboxRuntimeStatus(e,n),"updateStatus"),events:d(e=>t.listSandboxRuntimeEvents(e),"events"),event:d((e,n)=>t.emitSandboxRuntimeEvent(e,n),"event"),checkpoint:d((e,n={})=>t.checkpointSandboxRuntime(e,n),"checkpoint"),promote:d((e,n,r={})=>t.promoteSandboxRuntime(e,n,r),"promote"),preserveSource:d((e,n={},r={})=>t.preserveSandboxRuntimeSource(e,n,r),"preserveSource")}}d(pn,"createSandboxRuntimeNamespace");function mn(t){return{list:d((e={})=>t.list(e),"list"),create:d(e=>t.create(e),"create"),get:d(e=>t.get(e),"get"),pricing:d(()=>t.pricing(),"pricing"),costs:d((e={})=>t.costs(e),"costs")}}d(mn,"createSandboxNamespace");function ln(t){return{list:d(e=>t.listProjects(e),"list"),upsert:d(e=>t.upsertProject(e),"upsert"),upsertGitRemote:d(e=>t.upsertProjectGitRemote(e),"upsertGitRemote"),get:d((e,n)=>t.getProject(e,n),"get"),update:d((e,n)=>t.updateProject(e,n),"update"),sync:d((e,n)=>t.syncProject(e,n),"sync"),ensureGitRemote:d((e,n)=>t.ensureProjectGitRemote(e,n),"ensureGitRemote"),getGitRemote:d((e,n)=>t.ensureProjectGitRemote(e,n),"getGitRemote"),git:d((e,n)=>t.ensureProjectGitRemote(e,n),"git"),uploadSource:d((e,n)=>t.uploadProjectSource(e,n),"uploadSource"),archive:d((e,n)=>t.archiveProject(e,n),"archive")}}d(ln,"createSandboxProjectNamespace");function hn(t){return{get:d(e=>t.getHostedProfile(e),"get"),status:d(e=>t.getHostedProfile(e),"status"),ensureHosted:d(e=>t.ensureHostedProfile(e),"ensureHosted"),push:d(e=>t.pushHostedProfile(e),"push")}}d(hn,"createSandboxProfileNamespace");function fn(t){return{list:d(e=>t.listAgents(e),"list"),upsert:d(e=>t.upsertAgent(e),"upsert"),get:d((e,n)=>t.getAgent(e,n),"get"),update:d((e,n)=>t.updateAgent(e,n),"update"),archive:d((e,n)=>t.archiveAgent(e,n),"archive"),run:d((e,n)=>t.runAgent(e,n),"run"),sourceDeployPlan:d((e,n)=>t.getAgentSourceDeployPlan(e,n),"sourceDeployPlan"),manifestSnapshots:d((e,n)=>t.listAgentManifestSnapshots(e,n),"manifestSnapshots"),requestSourceChecks:d((e,n)=>t.requestAgentSourceChecks(e,n),"requestSourceChecks"),configureSourceSetup:d((e,n)=>t.configureAgentSourceSetup(e,n),"configureSourceSetup"),publishSource:d((e,n)=>t.publishAgentSource(e,n),"publishSource")}}d(fn,"createSandboxAgentNamespace");function yn(t,e,n=null){let r=d(async(c={},p={})=>{let b=await t.getSandboxRuntime(e);return b.sandboxId?t.get(b.sandboxId):t.createSandboxRuntimeSandbox(e,c,p).then(l=>l.sandbox)},"currentSandbox"),a=d(async(c={},p={})=>{let b=await t.getSandboxRuntime(e);if(!b.sandboxId)return t.createSandboxRuntimeSandbox(e,c,p).then(g=>g.sandbox);let l=await t.get(b.sandboxId);return l.state==="stopped"?t.start(l.id,p).then(g=>g.sandbox):l.state==="archived"?t.restore(l.id).then(g=>g.sandbox):l.state==="deleted"||l.state==="error"?t.createSandboxRuntimeSandbox(e,c,p).then(g=>g.sandbox):l},"resume");return{id:e,initial:n,get:d(()=>t.getSandboxRuntime(e),"get"),sandbox:r,resume:a,createSandbox:d((c={},p={})=>t.createSandboxRuntimeSandbox(e,c,p),"createSandbox"),status:d(async c=>{if(typeof c!="string")return t.updateSandboxRuntimeStatus(e,c);let p=await t.getSandboxRuntime(e);return t.updateSandboxRuntimeStatus(e,{status:c,expectedVersion:p.version})},"status"),events:d(()=>t.listSandboxRuntimeEvents(e),"events"),event:d(c=>t.emitSandboxRuntimeEvent(e,c),"event"),recordCommit:d((c,p={})=>t.emitSandboxRuntimeEvent(e,{...p,type:p.type??"git.commit",commitSha:c}),"recordCommit"),checkpointHint:d((c={})=>t.emitSandboxRuntimeEvent(e,{type:"workflow.checkpoint_hint",summary:c.summary??c.reason??"Workflow checkpoint hint",payload:{...c.payload,reason:c.reason??null},artifactRefs:c.artifactRefs,lifecycleHint:{kind:"checkpoint",reason:c.reason??null}}),"checkpointHint"),waitForUser:d(async(c={})=>{await t.emitSandboxRuntimeEvent(e,{type:"workflow.waiting_for_user",summary:c.summary??c.reason??"Waiting for user",payload:{...c.payload,reason:c.reason??null},lifecycleHint:{kind:"waiting_for_user",reason:c.reason??null}});let p=await t.getSandboxRuntime(e);return p.status==="waiting_for_user"?p:t.updateSandboxRuntimeStatus(e,{status:"waiting_for_user",expectedVersion:p.version,summary:c.summary??c.reason,metadata:{workflowWaitForUserReason:c.reason??null}})},"waitForUser"),keepAlive:d((c={})=>{let p=gn(c);return t.emitSandboxRuntimeEvent(e,{type:"workflow.keepalive",summary:c.summary??c.reason??"Workflow keepalive",payload:{...c.payload,reason:c.reason??null,keepaliveUntil:p},lifecycleHint:{kind:"keepalive",reason:c.reason??null,keepaliveUntil:p}})},"keepAlive"),checkpoint:d(c=>t.checkpointSandboxRuntime(e,c),"checkpoint"),files:{write:d(async(c,p)=>t.uploadFile((await a()).id,c,p),"write"),read:d(async c=>t.downloadFile((await a()).id,c),"read"),readResponse:d(async c=>t.downloadFileResponse((await a()).id,c),"readResponse"),list:d(async(c={})=>t.listFiles((await a()).id,c),"list"),delete:d(async(c,p={})=>t.deleteFile((await a()).id,c,p),"delete"),search:d(async c=>t.searchFiles((await a()).id,c),"search"),stat:d(async c=>t.statFile((await a()).id,c),"stat"),mkdir:d(async c=>t.mkdir((await a()).id,c),"mkdir"),move:d(async c=>t.moveFile((await a()).id,c),"move")},commands:{run:d(async c=>t.exec((await a()).id,typeof c=="string"?{command:c}:c),"run")},ports:{expose:d(async c=>t.openPort((await a()).id,typeof c=="number"?{port:c}:c),"expose")},promote:d((c,p={})=>t.promoteSandboxRuntime(e,c,p),"promote"),preserveSource:d((c={},p={})=>t.preserveSandboxRuntimeSource(e,c,p),"preserveSource"),archive:d(async c=>{let p=c??(await t.getSandboxRuntime(e)).version;return t.updateSandboxRuntimeStatus(e,{status:"archived",expectedVersion:p})},"archive")}}d(yn,"createSandboxRuntimeHandle");function gn(t){if(t?.until instanceof Date)return t.until.toISOString();if(typeof t?.until=="string"&&t.until.trim())return new Date(t.until).toISOString();let e=typeof t?.seconds=="number"&&Number.isFinite(t.seconds)?Math.max(1,Math.trunc(t.seconds)):60;return new Date(Date.now()+e*1e3).toISOString()}d(gn,"runtimeKeepaliveUntilIso");async function bn(t,e={}){let n=`openpond-code-smoke-${Date.now()}`,r=`openpond-code-exec-ok:${n}`,a=`openpond-code-preview-ok:${n}`,s=`openpond-code-file-ok:${n}`,i=4173,u=null,c=null,p=!1,b=!1;try{let l=await Ze(t,await t.create({repo:e.repo??"https://github.com/octocat/Hello-World",resources:{cpu:e.cpu??1,memoryGb:e.memoryGb??1,diskGb:e.diskGb??8},budget:{maxUsd:e.budgetUsd??"0.05"},quotas:{maxSpendUsd:e.budgetUsd??"0.05",maxDurationSeconds:600,idleTimeoutSeconds:600,maxOpenPorts:2},metadata:{runId:n,source:"openpond-code-sandbox-smoke"}},{async:!0}));u=l.id;let g=e.expectedMppMode;if(g&&l.reservation.mpp?.mode!==g)throw new Error(`expected ${g} reservation, got ${l.reservation.mpp?.mode??"none"}`);if(!g&&!l.reservation.mpp?.mode)throw new Error("expected sandbox reservation MPP metadata");let E=await t.exec(l.id,{command:[`printf '${r}\\n'`,"test -f README && printf 'repo-clone-ok\\n'","cat > server.cjs <<'EOF'","const { createServer } = require('node:http');",`createServer((_request, response) => response.end('${a}')).listen(${i}, '0.0.0.0');`,"EOF","nohup node server.cjs > server.log 2>&1 & sleep 1"].join(`
|
|
3
|
+
`),timeoutSeconds:120});if(E.command.status!=="succeeded")throw new Error(`expected command success, got ${E.command.status}`);if(!E.command.output.includes(r))throw new Error("expected exec marker");if(await t.uploadFile(l.id,"openpond-code-smoke.txt",s),await t.downloadFile(l.id,"openpond-code-smoke.txt")!==s)throw new Error("expected file roundtrip marker");let O=null;if(e.snapshot||e.fork){let C=await t.createSnapshot(l.id,{async:!0,name:`openpond-code-smoke-${n}`,replay:{entrypoints:[{command:"cat openpond-code-smoke.txt",name:"default"}],retention:{class:"pinned"},safety:{cleanup:"delete",idleTimeoutSeconds:600,internetEgress:"block",maxDurationSeconds:600,maxSpendUsd:e.budgetUsd??"0.05",publicPreview:!1},validation:{commands:[{command:"test -f openpond-code-smoke.txt"}]}}}),U=C.snapshot??(await wn(t,l.id,C.snapshotJob?.snapshotId)).snapshot;if(O=U.id,U.state!=="ready")throw new Error(`expected ready snapshot, got ${U.state}`)}if(e.fork){if(!O)throw new Error("expected snapshot id before fork");let C=await Ze(t,(await t.forkSnapshot(O,{budget:{maxUsd:e.budgetUsd??"0.05"},metadata:{source:"openpond-code-sandbox-smoke-fork",templateSnapshotId:O}},{async:!0})).sandbox);c=C.id;let U=await t.exec(C.id,{command:"cat openpond-code-smoke.txt",timeoutSeconds:120});if(U.command.status!=="succeeded")throw new Error(`expected fork command success, got ${U.command.status}`);if(!U.command.output.includes(s))throw new Error("expected fork snapshot marker");e.keep||(await xe(t,C.id),b=!0)}let T=null;if(e.preview!==!1){let C=await t.openPort(l.id,{label:"openpond-code-smoke",port:i}),U=await fetch(C.preview.url);T=U.status;let Tt=await U.text();if(U.status!==200)throw new Error(`expected preview HTTP 200, got ${U.status}`);if(!Tt.includes(a))throw new Error("expected preview marker")}let{sandbox:ce,receipts:X}=await In(t,l.id);return e.keep||(await xe(t,l.id),p=!0),{deleted:p,execOutput:E.command.output.trim(),fileRoundtrip:!0,forkSandboxId:c,previewStatus:T,receiptRefs:X.map(C=>C.mpp.receiptRef??null),reservationRef:l.reservation.mpp?.reservationRef??null,runId:n,sandboxId:l.id,snapshotId:O,state:ce.state}}finally{c&&!e.keep&&!b&&await Qe(t,c),u&&!e.keep&&!p&&await Qe(t,u)}}d(bn,"runSandboxSmoke");async function In(t,e){try{await t.stop(e)}catch{await t.stop(e,{async:!0})}let n=await tt(t,e,new Set(["stopped","deleted"]),"stop"),r=await Sn(t,e);if(r.length===0)throw new Error("expected receipt readback");return{sandbox:n,receipts:r}}d(In,"stopSandboxForSmoke");async function xe(t,e){try{let n=await t.delete(e);if(n.state==="deleted")return n;await t.delete(e,{async:!0})}catch{await t.delete(e,{async:!0})}return tt(t,e,new Set(["deleted"]),"delete")}d(xe,"deleteSandboxForSmoke");async function Qe(t,e){try{await xe(t,e)}catch{await t.delete(e,{async:!0}).catch(()=>{})}}d(Qe,"cleanupSandboxBestEffort");async function tt(t,e,n,r){let i=Date.now()+3e5,u=await t.get(e);for(;Date.now()<i;){if(n.has(u.state))return u;if(u.state==="error")throw new Error(`sandbox ${r} failed: ${e}`);await re(3e3),u=await t.get(e)}throw new Error(`sandbox ${r} did not reach ${[...n].join("/")} before timeout: ${e} (${u.state})`)}d(tt,"waitForSandboxState");async function Sn(t,e){let a=Date.now()+12e4,s=await t.receipts(e);for(;Date.now()<a;){if(s.length>0)return s;await re(3e3),s=await t.receipts(e)}return s}d(Sn,"waitForReceipts");async function Ze(t,e){if(e.state==="running"||e.state==="stopped")return e;if(e.state==="error")throw new Error(`sandbox create failed: ${e.id}
|
|
4
|
+
${e.logs.join(`
|
|
5
|
+
`)}`);let n=12*6e4,r=3e3,a=Date.now()+n,s=e;for(;Date.now()<a;){if(await re(r),s=await t.get(e.id),s.state==="running"||s.state==="stopped")return s;if(s.state==="error")throw new Error(`sandbox create failed: ${s.id}
|
|
6
|
+
${s.logs.join(`
|
|
7
|
+
`)}`)}throw new Error(`sandbox create did not reach running state before timeout: ${s.id} (${s.state})`)}d(Ze,"waitForCreateReady");async function wn(t,e,n){if(!n)throw new Error("snapshot job did not return snapshot id");let r=12*6e4,a=3e3,s=Date.now()+r,i=await t.get(e);for(;Date.now()<s;){let u=i.snapshots?.find(p=>p.id===n);if(u?.state==="ready")return{sandbox:i,snapshot:u};let c=i.snapshotJobs?.find(p=>p.snapshotId===n);if(c?.status==="failed")throw new Error(`snapshot job failed: ${c.error??n}`);await re(a),i=await t.get(e)}throw new Error(`snapshot did not reach ready state before timeout: ${n}`)}d(wn,"waitForSnapshotReady");function re(t){return new Promise(e=>setTimeout(e,t))}d(re,"sleep");function W(t={}){return t.async||t.respondAsync?{Prefer:"respond-async"}:void 0}d(W,"asyncRequestHeaders");var xn="https://openpond.ai",nt="https://api.openpond.ai";async function et(t){let e=await te(t.sandboxApiUrl,t.apiKey,t.path,{timeoutMs:0,maxResponseBytes:0});if(!e.body)return;let n=e.body.getReader(),r=new TextDecoder,a="";try{for(;;){let{done:s,value:i}=await n.read();if(s)break;a+=r.decode(i,{stream:!0});let u=a.indexOf(`
|
|
8
|
+
|
|
9
|
+
`);for(;u!==-1;){let c=a.slice(0,u);a=a.slice(u+2);let p=Rn(c);p&&process.stdout.write(p),u=a.indexOf(`
|
|
10
|
+
|
|
11
|
+
`)}}}finally{n.releaseLock()}}d(et,"streamSandboxEventOutput");function vn(t){return typeof t=="string"?{dataBase64:Buffer.from(t,"utf-8").toString("base64")}:t instanceof Uint8Array?{dataBase64:Buffer.from(t).toString("base64")}:t}d(vn,"normalizePtyInput");function Rn(t){if(!t.includes("event: output"))return null;let e=t.split(/\r?\n/).filter(n=>n.startsWith("data: ")).map(n=>n.slice(6));if(e.length===0)return null;try{let n=JSON.parse(e.join(`
|
|
12
|
+
`));return typeof n.output=="string"?n.output:null}catch{return null}}d(Rn,"parseProcessOutputEvent");function $(t){let e=t.trim().replace(/\/$/,"");if(!e)throw new Error("sandbox API URL must be non-empty");let n=new URL(e),r=n.pathname.replace(/\/$/,"");return r.endsWith("/v1/sandboxes")||r.endsWith("/api/sandboxes")?`${n.origin}${r}`:r.endsWith("/v1")?`${n.origin}${r}/sandboxes`:Cn(n.hostname)?`${n.origin}${r}/v1/sandboxes`:n.origin===xn?`${nt}/v1/sandboxes`:`${n.origin}${r}/api/sandboxes`}d($,"normalizeSandboxApiUrl");function Pn(t){let e="/sandboxes";if(!t.endsWith(e))throw new Error("sandbox API URL must end with /sandboxes");return t.slice(0,-e.length)}d(Pn,"apiRootUrlFromSandboxApiUrl");function Cn(t){return t==="api.openpond.ai"||t==="staging-api.openpond.ai"||t.startsWith("api")&&t.endsWith(".openpond.ai")}d(Cn,"isOpenPondHostedApiHost");var kn=class{static{d(this,"OpenPondSandboxInstanceClient")}apiKey;apiRootUrl;sandboxApiUrl;customEndpoint;constructor(t){this.apiKey=t.apiKey,this.customEndpoint=t.customEndpoint??!1,this.sandboxApiUrl=$(t.sandboxApiUrl??t.baseUrl??nt),this.apiRootUrl=Pn(this.sandboxApiUrl)}create(t,e={}){return this.request("",{method:"POST",...this.customEndpoint?{timeoutMs:18e4}:{},headers:W(e),body:JSON.stringify(t)}).then(n=>n.sandbox)}get(t){return this.request(`/${encodeURIComponent(t)}`).then(e=>e.sandbox)}exec(t,e){return this.request(`/${encodeURIComponent(t)}/exec`,{method:"POST",body:JSON.stringify(e)})}startProcess(t,e){return this.request(`/${encodeURIComponent(t)}/processes`,{method:"POST",body:JSON.stringify(e)})}listProcesses(t){return this.request(`/${encodeURIComponent(t)}/processes`)}getProcess(t,e,n={}){let r=new URLSearchParams;return n.since!==void 0&&r.set("since",String(Math.max(0,n.since))),this.request(`/${encodeURIComponent(t)}/processes/${encodeURIComponent(e)}${r.size>0?`?${r.toString()}`:""}`)}stopProcess(t,e){return this.request(`/${encodeURIComponent(t)}/processes/${encodeURIComponent(e)}`,{method:"DELETE"})}async streamProcessOutput(t,e,n={}){let r=new URLSearchParams;n.since!==void 0&&r.set("since",String(Math.max(0,n.since))),await et({sandboxApiUrl:this.sandboxApiUrl,apiKey:this.apiKey,path:`/${encodeURIComponent(t)}/processes/${encodeURIComponent(e)}/stream${r.size>0?`?${r.toString()}`:""}`})}startPty(t,e={}){return this.request(`/${encodeURIComponent(t)}/pty`,{method:"POST",body:JSON.stringify(e)})}listPtys(t){return this.request(`/${encodeURIComponent(t)}/pty`)}getPty(t,e,n={}){let r=new URLSearchParams;return n.since!==void 0&&r.set("since",String(Math.max(0,n.since))),this.request(`/${encodeURIComponent(t)}/pty/${encodeURIComponent(e)}${r.size>0?`?${r.toString()}`:""}`)}writePtyInput(t,e,n){return this.request(`/${encodeURIComponent(t)}/pty/${encodeURIComponent(e)}/input`,{method:"POST",body:JSON.stringify(vn(n))})}stopPty(t,e){return this.request(`/${encodeURIComponent(t)}/pty/${encodeURIComponent(e)}`,{method:"DELETE"})}async streamPtyOutput(t,e,n={}){let r=new URLSearchParams;n.since!==void 0&&r.set("since",String(Math.max(0,n.since))),await et({sandboxApiUrl:this.sandboxApiUrl,apiKey:this.apiKey,path:`/${encodeURIComponent(t)}/pty/${encodeURIComponent(e)}/stream${r.size>0?`?${r.toString()}`:""}`})}uploadFile(t,e,n){return this.uploadFileBase64(t,e,Buffer.from(n,"utf-8").toString("base64"))}uploadFileBase64(t,e,n){return this.request(`/${encodeURIComponent(t)}/files`,{method:"POST",body:JSON.stringify({path:e,contentsBase64:n})})}async downloadFile(t,e){let n=await this.downloadFileResponse(t,e);return Buffer.from(n.file.contentsBase64,"base64").toString("utf-8")}downloadFileResponse(t,e){let n=typeof e=="string"?{path:e}:e,r=new URLSearchParams({path:n.path});return n.offsetBytes!==void 0&&r.set("offsetBytes",String(n.offsetBytes)),n.maxBytes!==void 0&&r.set("maxBytes",String(n.maxBytes)),this.request(`/${encodeURIComponent(t)}/files?${r.toString()}`)}listFiles(t,e={}){let n=new URLSearchParams({list:"1"});return e.path&&n.set("path",e.path),e.recursive!==void 0&&n.set("recursive",String(e.recursive)),e.maxEntries!==void 0&&n.set("maxEntries",String(e.maxEntries)),this.request(`/${encodeURIComponent(t)}/files?${n.toString()}`)}deleteFile(t,e,n={}){let r=new URLSearchParams({path:e});return n.recursive!==void 0&&r.set("recursive",String(n.recursive)),this.request(`/${encodeURIComponent(t)}/files?${r.toString()}`,{method:"DELETE"})}statFile(t,e){let n=new URLSearchParams({stat:"1",path:e});return this.request(`/${encodeURIComponent(t)}/files?${n.toString()}`)}mkdir(t,e){let n=typeof e=="string"?{path:e}:e,r=new URLSearchParams({path:n.path});return n.recursive!==void 0&&r.set("recursive",String(n.recursive)),this.request(`/${encodeURIComponent(t)}/files?${r.toString()}`,{method:"PUT"})}moveFile(t,e){let n=new URLSearchParams({fromPath:e.fromPath,toPath:e.toPath});return e.overwrite!==void 0&&n.set("overwrite",String(e.overwrite)),this.request(`/${encodeURIComponent(t)}/files?${n.toString()}`,{method:"PATCH"})}searchFiles(t,e){let n=new URLSearchParams({search:"1",query:e.query});return e.path&&n.set("path",e.path),e.maxResults!==void 0&&n.set("maxResults",String(e.maxResults)),this.request(`/${encodeURIComponent(t)}/files?${n.toString()}`)}openPort(t,e){return this.request(`/${encodeURIComponent(t)}/ports`,{method:"POST",body:JSON.stringify(e)})}createSnapshot(t,e){return this.request(`/${encodeURIComponent(t)}/snapshots`,{method:"POST",body:JSON.stringify(e)})}updateSnapshot(t,e,n){return this.request(`/${encodeURIComponent(t)}/snapshots/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(n)})}validateSnapshot(t,e,n={}){return this.request(`/${encodeURIComponent(t)}/snapshots/${encodeURIComponent(e)}/validate`,{method:"POST",body:JSON.stringify(n)})}publishSnapshot(t,e){return this.request(`/${encodeURIComponent(t)}/snapshots/${encodeURIComponent(e)}/publish`,{method:"POST"})}fork(t,e={}){return this.request(`/${encodeURIComponent(t)}/fork`,{method:"POST",body:JSON.stringify(e)})}stop(t,e={}){let n=new URLSearchParams;return e.failOnUnpreservedChanges&&n.set("failOnUnpreservedChanges","true"),this.request(`/${encodeURIComponent(t)}/stop${n.size>0?`?${n.toString()}`:""}`,{method:"POST",headers:W(e)})}start(t,e={}){return this.request(`/${encodeURIComponent(t)}/start`,{method:"POST",headers:W(e)})}restore(t){return this.request(`/${encodeURIComponent(t)}/restore`,{method:"POST"})}delete(t,e={}){let n=new URLSearchParams;return e.failOnUnpreservedChanges&&n.set("failOnUnpreservedChanges","true"),this.request(`/${encodeURIComponent(t)}${n.size>0?`?${n.toString()}`:""}`,{method:"DELETE",headers:W(e)}).then(r=>r.sandbox)}receipts(t){return this.request(`/${encodeURIComponent(t)}/receipts`).then(e=>e.receipts)}logs(t){return this.request(`/${encodeURIComponent(t)}/logs`).then(e=>e.logs)}gitStatus(t){return this.request(`/${encodeURIComponent(t)}/git/status`)}gitDiff(t,e={}){return this.request(`/${encodeURIComponent(t)}/git/diff`,{method:"POST",body:JSON.stringify(e)})}gitExportPatch(t,e={}){return this.request(`/${encodeURIComponent(t)}/git/export-patch`,{method:"POST",body:JSON.stringify(e)})}gitBranch(t,e){return this.request(`/${encodeURIComponent(t)}/git/branch`,{method:"POST",body:JSON.stringify(e)})}gitCommit(t,e){return this.request(`/${encodeURIComponent(t)}/git/commit`,{method:"POST",body:JSON.stringify(e)})}gitPull(t,e={}){return this.request(`/${encodeURIComponent(t)}/git/pull`,{method:"POST",body:JSON.stringify(e)})}gitPush(t,e={}){return this.request(`/${encodeURIComponent(t)}/git/push`,{method:"POST",body:JSON.stringify(e)})}billing(t){return this.request(`/${encodeURIComponent(t)}/billing`)}pricing(){return this.request("/pricing")}costs(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId),t.agentId&&e.set("agentId",t.agentId),this.request(`/costs${e.size>0?`?${e.toString()}`:""}`)}integrationLeases(t){return this.request(`/${encodeURIComponent(t)}/integrations`)}attachIntegrationConnection(t,e){return this.request(`/${encodeURIComponent(t)}/integrations`,{method:"POST",body:JSON.stringify(e)})}removeIntegrationLease(t,e){return this.request(`/${encodeURIComponent(t)}/integrations`,{method:"DELETE",body:JSON.stringify({leaseId:e})})}async request(t,e={}){let n=await te(this.sandboxApiUrl,this.apiKey,t,this.customEndpoint?{...e,explicitBearerAuth:!0,redirect:"error"}:e);return be(n,"Sandbox request")}async requestApiRoot(t,e={}){let n=await te(this.apiRootUrl,this.apiKey,t,this.customEndpoint?{...e,explicitBearerAuth:!0,redirect:"error"}:e);return be(n,"OpenPond API request")}},En=class extends kn{static{d(this,"OpenPondSandboxClient")}runtimes=pn(this);sandboxes=mn(this);profile=hn(this);projects=ln(this);agents=fn(this);list(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId),t.agentId&&e.set("agentId",t.agentId),this.request(e.size>0?`?${e.toString()}`:"").then(n=>n.sandboxes)}listSecrets(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),this.requestApiRoot(`/sandbox-secrets${e.size>0?`?${e.toString()}`:""}`).then(n=>n.secrets)}getSecret(t,e={}){let n=new URLSearchParams;return e.teamId&&n.set("teamId",e.teamId),this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(t)}${n.size>0?`?${n.toString()}`:""}`).then(r=>r.secret)}createSecret(t){return this.requestApiRoot("/sandbox-secrets",{method:"POST",body:JSON.stringify(t)}).then(e=>e.secret)}rotateSecret(t,e){let n=new URLSearchParams;e.teamId&&n.set("teamId",e.teamId);let{teamId:r,...a}=e;return this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(t)}/rotate${n.size>0?`?${n.toString()}`:""}`,{method:"POST",body:JSON.stringify(a)}).then(s=>s.secret)}attachSecret(t,e){let n=new URLSearchParams;e.teamId&&n.set("teamId",e.teamId);let{teamId:r,...a}=e;return this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(t)}/attach${n.size>0?`?${n.toString()}`:""}`,{method:"POST",body:JSON.stringify(a)}).then(s=>s.secret)}revokeSecret(t,e={}){let n=new URLSearchParams;return e.teamId&&n.set("teamId",e.teamId),this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(t)}/revoke${n.size>0?`?${n.toString()}`:""}`,{method:"POST"}).then(r=>r.secret)}deleteSecret(t,e={}){let n=new URLSearchParams;return e.teamId&&n.set("teamId",e.teamId),this.requestApiRoot(`/sandbox-secrets/${encodeURIComponent(t)}${n.size>0?`?${n.toString()}`:""}`,{method:"DELETE"}).then(r=>r.secret)}snapshotCatalog(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId),t.agentId&&e.set("agentId",t.agentId),t.q&&e.set("q",t.q),t.kind&&e.set("kind",t.kind),t.replayState&&e.set("replayState",t.replayState),t.visibility&&e.set("visibility",t.visibility),t.tag&&e.set("tag",t.tag),t.useCase&&e.set("useCase",t.useCase),t.limit&&e.set("limit",String(t.limit)),this.request(`/catalog/snapshots${e.size>0?`?${e.toString()}`:""}`)}listSandboxRuntimes(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId),t.agentId&&e.set("agentId",t.agentId),this.requestApiRoot(`/runtimes${e.size>0?`?${e.toString()}`:""}`).then(n=>n.runtimes)}listProjects(t){let e=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/projects?${e.toString()}`).then(n=>n.projects)}upsertProject(t){let e=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/projects?${e.toString()}`,{method:"POST",body:JSON.stringify(t)}).then(n=>n.project)}getHostedProfile(t){let e=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/profile?${e.toString()}`).then(n=>n.profile)}ensureHostedProfile(t){let e=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/profile/ensure?${e.toString()}`,{method:"POST"}).then(n=>{if(!n.profile)throw new Error("hosted_profile_missing");return n.profile})}pushHostedProfile(t){let e=new URLSearchParams({teamId:t.teamId}),{teamId:n,...r}=t;return this.requestApiRoot(`/profile/push?${e.toString()}`,{method:"POST",body:JSON.stringify(r)})}async upsertProjectGitRemote(t){let e=await this.upsertProject(t);return this.ensureProjectGitRemote(e.id,{teamId:t.teamId})}getProject(t,e){let n=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/projects/${encodeURIComponent(t)}?${n.toString()}`).then(r=>r.project)}syncProject(t,e){let n=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/projects/${encodeURIComponent(t)}/sync?${n.toString()}`,{method:"POST"}).then(r=>r.project)}ensureProjectGitRemote(t,e){let n=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/projects/${encodeURIComponent(t)}/git?${n.toString()}`,{method:"POST"})}uploadProjectSource(t,e){let n=new URLSearchParams({teamId:e.teamId}),{teamId:r,...a}=e;return this.requestApiRoot(`/projects/${encodeURIComponent(t)}/source?${n.toString()}`,{method:"POST",body:JSON.stringify(a)}).then(s=>s.project)}updateProject(t,e){let n=new URLSearchParams({teamId:e.teamId}),{teamId:r,...a}=e;return this.requestApiRoot(`/projects/${encodeURIComponent(t)}?${n.toString()}`,{method:"PATCH",body:JSON.stringify(a)}).then(s=>s.project)}archiveProject(t,e){let n=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/projects/${encodeURIComponent(t)}?${n.toString()}`,{method:"DELETE"}).then(r=>r.project)}listAgents(t){let e=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/agents?${e.toString()}`).then(n=>n.agents)}upsertAgent(t){let e=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/agents?${e.toString()}`,{method:"POST",body:JSON.stringify(t)}).then(n=>n.agent)}getAgent(t,e){let n=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/agents/${encodeURIComponent(t)}?${n.toString()}`).then(r=>r.agent)}archiveAgent(t,e){let n=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/agents/${encodeURIComponent(t)}?${n.toString()}`,{method:"DELETE"}).then(r=>r.agent)}updateAgent(t,e){let n=new URLSearchParams({teamId:e.teamId}),{teamId:r,...a}=e;return this.requestApiRoot(`/agents/${encodeURIComponent(t)}?${n.toString()}`,{method:"PATCH",body:JSON.stringify(a)}).then(s=>s.agent)}runAgent(t,e){let n=new URLSearchParams({teamId:e.teamId}),{teamId:r,...a}=e;return this.requestApiRoot(`/agents/${encodeURIComponent(t)}/run?${n.toString()}`,{method:"POST",headers:{Prefer:"respond-async"},body:JSON.stringify(a)})}getAgentSourceDeployPlan(t,e){let n=new URLSearchParams({teamId:e.teamId});return this.requestApiRoot(`/agents/${encodeURIComponent(t)}/source/deploy-plan?${n.toString()}`).then(r=>r.deployPlan)}listAgentManifestSnapshots(t,e){let n=new URLSearchParams({teamId:e.teamId});return e.limit!==void 0&&n.set("limit",String(e.limit)),this.requestApiRoot(`/agents/${encodeURIComponent(t)}/source/manifest-snapshots?${n.toString()}`).then(r=>r.manifestSnapshots)}requestAgentSourceChecks(t,e){let n=new URLSearchParams({teamId:e.teamId}),{teamId:r,...a}=e;return this.requestApiRoot(`/agents/${encodeURIComponent(t)}/source/checks?${n.toString()}`,{method:"POST",body:JSON.stringify(a),timeoutMs:900*1e3})}configureAgentSourceSetup(t,e){let n=new URLSearchParams({teamId:e.teamId}),{teamId:r,...a}=e;return this.requestApiRoot(`/agents/${encodeURIComponent(t)}/source/setup?${n.toString()}`,{method:"POST",body:JSON.stringify(a)})}publishAgentSource(t,e){let n=new URLSearchParams({teamId:e.teamId}),{teamId:r,...a}=e;return this.requestApiRoot(`/agents/${encodeURIComponent(t)}/source/publish?${n.toString()}`,{method:"POST",body:JSON.stringify(a)})}getMicrosoftTeamsBotOverview(t){let e=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/teams/bot/overview?${e.toString()}`)}bindMicrosoftTeamsBotConversation(t){return this.requestApiRoot("/teams/bot/bindings",{method:"POST",body:JSON.stringify(t)})}rebindMicrosoftTeamsBotConversation(t,e){return this.requestApiRoot(`/teams/bot/bindings/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(e)})}unlinkMicrosoftTeamsBotConversation(t){return this.requestApiRoot(`/teams/bot/bindings/${encodeURIComponent(t.bindingId)}`,{method:"DELETE",body:JSON.stringify({teamId:t.teamId})})}sendMicrosoftTeamsBotDiagnostic(t){return this.requestApiRoot("/teams/bot/diagnostics",{method:"POST",body:JSON.stringify(t)})}sendMicrosoftTeamsBotDiagnosticRun(t){return this.requestApiRoot("/teams/bot/diagnostics/run",{method:"POST",body:JSON.stringify(t)})}createSandboxRuntime(t){return this.requestApiRoot("/runtimes",{method:"POST",body:JSON.stringify(t)}).then(e=>e.runtime)}sandboxRuntime(t,e=null){return yn(this,t,e)}getSandboxRuntime(t){return this.requestApiRoot(`/runtimes/${encodeURIComponent(t)}`).then(e=>e.runtime)}createSandboxRuntimeSandbox(t,e={},n={}){return this.requestApiRoot(`/runtimes/${encodeURIComponent(t)}/sandbox`,{method:"POST",headers:W(n),body:JSON.stringify(e)})}updateSandboxRuntimeStatus(t,e){return this.requestApiRoot(`/runtimes/${encodeURIComponent(t)}/status`,{method:"PATCH",body:JSON.stringify(e)}).then(n=>n.runtime)}listSandboxRuntimeEvents(t){return this.requestApiRoot(`/runtimes/${encodeURIComponent(t)}/events`)}emitSandboxRuntimeEvent(t,e){return this.requestApiRoot(`/runtimes/${encodeURIComponent(t)}/events`,{method:"POST",body:JSON.stringify(e)})}checkpointSandboxRuntime(t,e){return this.requestApiRoot(`/runtimes/${encodeURIComponent(t)}/checkpoints`,{method:"POST",body:JSON.stringify(e)}).then(n=>n.runtime)}promoteSandboxRuntime(t,e,n={}){let r=new URLSearchParams;return n.teamId&&r.set("teamId",n.teamId),this.requestApiRoot(`/runtimes/${encodeURIComponent(t)}/promote${r.size>0?`?${r.toString()}`:""}`,{method:"POST",body:JSON.stringify(e)})}preserveSandboxRuntimeSource(t,e={},n={}){let r=new URLSearchParams;return n.teamId&&r.set("teamId",n.teamId),this.requestApiRoot(`/runtimes/${encodeURIComponent(t)}/preserve-source${r.size>0?`?${r.toString()}`:""}`,{method:"POST",body:JSON.stringify(e)})}forkSnapshot(t,e={},n={}){let r=new URLSearchParams;e.teamId&&r.set("teamId",e.teamId),e.projectId&&r.set("projectId",e.projectId),n.async&&r.set("async","1");let{teamId:a,projectId:s,...i}=e;return this.request(`/catalog/snapshots/${encodeURIComponent(t)}/fork${r.size>0?`?${r.toString()}`:""}`,{method:"POST",headers:n.async?{Prefer:"respond-async"}:void 0,body:JSON.stringify({...i,snapshotId:t})})}templates(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId),t.q&&e.set("q",t.q),t.name&&e.set("name",t.name),t.version&&e.set("version",t.version),t.visibility&&e.set("visibility",t.visibility),t.tag&&e.set("tag",t.tag),t.useCase&&e.set("useCase",t.useCase),t.limit&&e.set("limit",String(t.limit)),this.request(`/templates${e.size>0?`?${e.toString()}`:""}`)}publishedSnapshots(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId),t.q&&e.set("q",t.q),t.name&&e.set("name",t.name),t.version&&e.set("version",t.version),t.visibility&&e.set("visibility",t.visibility),t.tag&&e.set("tag",t.tag),t.useCase&&e.set("useCase",t.useCase),t.limit&&e.set("limit",String(t.limit)),this.request(`/published-snapshots${e.size>0?`?${e.toString()}`:""}`).then(n=>{let r=n.publishedSnapshots??n.templates;return{...n,templates:r,publishedSnapshots:r}})}launchTemplate(t){let e=new URLSearchParams;t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId);let{teamId:n,projectId:r,...a}=t;return this.request(`/templates/launch${e.size>0?`?${e.toString()}`:""}`,{method:"POST",body:JSON.stringify(a)})}runPublishedSnapshot(t){let e=new URLSearchParams;t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId);let{teamId:n,projectId:r,...a}=t;return this.request(`/published-snapshots/launch${e.size>0?`?${e.toString()}`:""}`,{method:"POST",body:JSON.stringify(a)}).then(s=>{let i=s.publishedSnapshot??s.template;return{...s,template:i,publishedSnapshot:i}})}listSchedules(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId),t.sourceSandboxId&&e.set("sourceSandboxId",t.sourceSandboxId),this.request(`/schedules${e.size>0?`?${e.toString()}`:""}`)}createSchedule(t){let e=new URLSearchParams;t.projectId&&e.set("projectId",t.projectId);let{projectId:n,...r}=t;return this.request(`/schedules${e.size>0?`?${e.toString()}`:""}`,{method:"POST",body:JSON.stringify(r)})}getSchedule(t){return this.request(`/schedules/${encodeURIComponent(t)}`)}updateSchedule(t,e){return this.request(`/schedules/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(e)})}deleteSchedule(t){return this.request(`/schedules/${encodeURIComponent(t)}`,{method:"DELETE"})}listScheduleRuns(t,e={}){let n=new URLSearchParams;return e.limit!==void 0&&n.set("limit",String(e.limit)),this.request(`/schedules/${encodeURIComponent(t)}/runs${n.size>0?`?${n.toString()}`:""}`)}runScheduleNow(t,e={}){return this.request(`/schedules/${encodeURIComponent(t)}/run`,{method:"POST",body:JSON.stringify(e)})}listTemplateBuilds(t){let e=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/sandbox-template-builds?${e.toString()}`).then(n=>n.builds)}createTemplateBuild(t){return this.requestApiRoot("/sandbox-template-builds",{method:"POST",body:JSON.stringify(t)}).then(e=>e.build)}getTemplateBuild(t){return this.requestApiRoot(`/sandbox-template-builds/${encodeURIComponent(t)}`).then(e=>e.build)}getTemplateBuildLogs(t){return this.requestApiRoot(`/sandbox-template-builds/${encodeURIComponent(t)}/logs`)}cancelTemplateBuild(t){return this.requestApiRoot(`/sandbox-template-builds/${encodeURIComponent(t)}/cancel`,{method:"POST"}).then(e=>e.build)}listPublishedSnapshotBuilds(t){let e=new URLSearchParams({teamId:t.teamId});return this.requestApiRoot(`/published-snapshot-builds?${e.toString()}`).then(n=>n.builds)}createPublishedSnapshotBuild(t){return this.requestApiRoot("/published-snapshot-builds",{method:"POST",body:JSON.stringify(t)}).then(e=>e.build)}getPublishedSnapshotBuild(t){return this.requestApiRoot(`/published-snapshot-builds/${encodeURIComponent(t)}`).then(e=>e.build)}getPublishedSnapshotBuildLogs(t){return this.requestApiRoot(`/published-snapshot-builds/${encodeURIComponent(t)}/logs`)}cancelPublishedSnapshotBuild(t){return this.requestApiRoot(`/published-snapshot-builds/${encodeURIComponent(t)}/cancel`,{method:"POST"}).then(e=>e.build)}listOrganizations(){return this.requestApiRoot("/organizations").then(t=>t.organizations??t.teams??[])}createOrganization(t){return this.requestApiRoot("/organizations",{method:"POST",body:JSON.stringify(t)}).then(e=>e.organization)}getOrganization(t){return this.requestApiRoot(`/organizations/${encodeURIComponent(t)}`).then(e=>e.organization)}updateOrganization(t,e){return this.requestApiRoot(`/organizations/${encodeURIComponent(t)}`,{method:"PATCH",body:JSON.stringify(e)}).then(n=>n.organization)}listOrganizationMembers(t){return this.requestApiRoot(`/organizations/${encodeURIComponent(t)}/members`).then(e=>e.members)}upsertOrganizationMember(t,e){return this.requestApiRoot(`/organizations/${encodeURIComponent(t)}/members`,{method:"POST",body:JSON.stringify(e)}).then(n=>n.member)}getOrganizationMcpServer(t){return this.requestApiRoot(`/organizations/${encodeURIComponent(t)}/mcp-server`).then(e=>e.mcpServer)}generateOrganizationMcpServer(t,e={}){return this.requestApiRoot(`/organizations/${encodeURIComponent(t)}/mcp-server`,{method:"POST",body:JSON.stringify(e)}).then(n=>n.mcpServer)}rotateOrganizationMcpServer(t){return this.requestApiRoot(`/organizations/${encodeURIComponent(t)}/mcp-server/rotate`,{method:"POST"}).then(e=>e.mcpServer)}disableOrganizationMcpServer(t){return this.requestApiRoot(`/organizations/${encodeURIComponent(t)}/mcp-server/disable`,{method:"POST"}).then(e=>e.mcpServer)}enableOrganizationMcpServer(t){return this.requestApiRoot(`/organizations/${encodeURIComponent(t)}/mcp-server/enable`,{method:"POST"}).then(e=>e.mcpServer)}startReplay(t){let e=new URLSearchParams;t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId);let{teamId:n,projectId:r,...a}=t;return this.requestApiRoot(`/sandbox-replays${e.size>0?`?${e.toString()}`:""}`,{method:"POST",body:JSON.stringify(a)})}listReplays(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId),this.requestApiRoot(`/sandbox-replays${e.size>0?`?${e.toString()}`:""}`)}getReplay(t,e={}){let n=new URLSearchParams;return e.teamId&&n.set("teamId",e.teamId),e.projectId&&n.set("projectId",e.projectId),this.requestApiRoot(`/sandbox-replays/${encodeURIComponent(t)}${n.size>0?`?${n.toString()}`:""}`)}getReplayLogs(t,e={}){let n=new URLSearchParams;return e.teamId&&n.set("teamId",e.teamId),e.projectId&&n.set("projectId",e.projectId),this.requestApiRoot(`/sandbox-replays/${encodeURIComponent(t)}/logs${n.size>0?`?${n.toString()}`:""}`)}getReplayArtifacts(t,e={}){let n=new URLSearchParams;return e.teamId&&n.set("teamId",e.teamId),e.projectId&&n.set("projectId",e.projectId),this.requestApiRoot(`/sandbox-replays/${encodeURIComponent(t)}/artifacts${n.size>0?`?${n.toString()}`:""}`)}cancelReplay(t,e={}){let n=new URLSearchParams;return e.teamId&&n.set("teamId",e.teamId),e.projectId&&n.set("projectId",e.projectId),this.requestApiRoot(`/sandbox-replays/${encodeURIComponent(t)}/cancel${n.size>0?`?${n.toString()}`:""}`,{method:"POST"})}integrationConnections(t={}){let e=new URLSearchParams;return t.teamId&&e.set("teamId",t.teamId),t.projectId&&e.set("projectId",t.projectId),t.agentId&&e.set("agentId",t.agentId),t.status&&e.set("status",t.status),this.requestApiRoot(`/integrations/connections${e.size>0?`?${e.toString()}`:""}`)}mcpServerConfig(){return{name:"openpond-sandboxes",transport:"streamable-http",url:`${this.sandboxApiUrl}/mcp`,headers:{"openpond-api-key":this.apiKey}}}smoke(t={}){return bn(this,t)}};function oe(t){return new En(t)}d(oe,"createOpenPondSandboxClient");var Zr=o.object({choices:o.array(o.object({message:o.object({content:o.string().nullable().optional(),tool_calls:o.array(o.object({id:o.string().min(1),type:o.literal("function"),function:o.object({name:o.string().min(1),arguments:o.string()})})).optional()})})).min(1)});var eo=100*1024*1024;var to=Object.freeze({".avif":"image/avif",".csv":"text/csv",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".gif":"image/gif",".html":"text/html",".jpeg":"image/jpeg",".jpg":"image/jpeg",".json":"application/json",".m4a":"audio/mp4",".md":"text/markdown",".mov":"video/quicktime",".mp3":"audio/mpeg",".mp4":"video/mp4",".pdf":"application/pdf",".png":"image/png",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".svg":"image/svg+xml",".tsv":"text/tab-separated-values",".txt":"text/plain",".wav":"audio/wav",".webm":"video/webm",".webp":"image/webp",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});function _(t){let e=t?.trim();return e?e.replace(/\/$/,""):null}d(_,"normalizeOptionalUrl");function m(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}d(m,"asRecord");var rt=["workspacePurpose","purpose"];function ot(t){if(!t||typeof t!="object"||Array.isArray(t))return;let e={...t};for(let n of rt)delete e[n];return e}d(ot,"sanitizeCreateMetadata");function An(t){if(!t||typeof t!="object"||Array.isArray(t))return;let e={...t};for(let r of rt)delete e[r];let n=ot(e.metadata);return n?e.metadata=n:delete e.metadata,e}d(An,"sanitizeSandboxRuntimeInput");function ae(t){let e=m(t);if(e.sandboxRuntime)throw new Error("Sandbox runtime settings must use /v1/runtimes before materializing a sandbox.");let n={};typeof e.repo=="string"&&e.repo.trim()&&(n.repo=e.repo.trim()),typeof e.teamId=="string"&&e.teamId.trim()&&(n.teamId=e.teamId.trim()),typeof e.projectId=="string"&&e.projectId.trim()&&(n.projectId=e.projectId.trim()),typeof e.agentId=="string"&&e.agentId.trim()&&(n.agentId=e.agentId.trim()),typeof e.command=="string"&&e.command.trim()&&(n.command=e.command.trim()),typeof e.runtimeProfileId=="string"&&e.runtimeProfileId.trim()&&(n.runtimeProfileId=e.runtimeProfileId.trim()),e.workloadSource&&typeof e.workloadSource=="object"&&!Array.isArray(e.workloadSource)&&(n.workloadSource=e.workloadSource),e.sourceArchive&&typeof e.sourceArchive=="object"&&!Array.isArray(e.sourceArchive)&&(n.sourceArchive=e.sourceArchive),(e.visibility==="private"||e.visibility==="team")&&(n.visibility=e.visibility),e.resources&&typeof e.resources=="object"&&!Array.isArray(e.resources)&&(n.resources=e.resources),e.budget&&typeof e.budget=="object"&&!Array.isArray(e.budget)&&(n.budget=e.budget),"env"in e&&(n.env=Ae(e.env)),e.networkPolicy&&typeof e.networkPolicy=="object"&&!Array.isArray(e.networkPolicy)&&(n.networkPolicy=e.networkPolicy),e.quotas&&typeof e.quotas=="object"&&!Array.isArray(e.quotas)&&(n.quotas=e.quotas),Array.isArray(e.volumes)&&(n.volumes=e.volumes),"integrationLeases"in e&&(n.integrationLeases=it(e.integrationLeases)),Array.isArray(e.integrationConnectionLeases)&&(n.integrationConnectionLeases=e.integrationConnectionLeases);let r=ot(e.metadata);return r&&(n.metadata=r),n}d(ae,"normalizeCreateInput");function Re(t){let e=m(t),n=An(e)??{},r={};return typeof n.teamId=="string"&&n.teamId.trim()&&(r.teamId=n.teamId.trim()),typeof n.projectId=="string"&&n.projectId.trim()&&(r.projectId=n.projectId.trim()),typeof n.agentId=="string"&&n.agentId.trim()&&(r.agentId=n.agentId.trim()),typeof n.workflowMode=="string"&&n.workflowMode.trim()?r.workflowMode=n.workflowMode.trim():typeof n.mode=="string"&&n.mode.trim()&&(r.workflowMode=n.mode.trim()),typeof n.baseBranch=="string"&&n.baseBranch.trim()&&(r.baseBranch=n.baseBranch.trim()),typeof n.baseSha=="string"&&n.baseSha.trim()&&(r.baseSha=n.baseSha.trim()),typeof n.sandboxId=="string"&&n.sandboxId.trim()&&(r.sandboxId=n.sandboxId.trim()),typeof n.rootfsSnapshotId=="string"&&n.rootfsSnapshotId.trim()&&(r.rootfsSnapshotId=n.rootfsSnapshotId.trim()),typeof n.dependencySnapshotId=="string"&&n.dependencySnapshotId.trim()&&(r.dependencySnapshotId=n.dependencySnapshotId.trim()),typeof n.runtimeProfileId=="string"&&n.runtimeProfileId.trim()&&(r.runtimeProfileId=n.runtimeProfileId.trim()),typeof n.promotionPolicy=="string"&&n.promotionPolicy.trim()&&(r.promotionPolicy=n.promotionPolicy.trim()),n.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)&&(r.metadata=n.metadata),r}d(Re,"normalizeSandboxRuntimeCreateInput");function se(t){return ae(t)}d(se,"normalizeSandboxRuntimeSandboxCreateInput");function at(t){return m(t)}d(at,"normalizeSnapshotCreateInput");function y(t){let e=m(t),n=typeof e.teamId=="string"?e.teamId.trim():"",r=typeof e.projectId=="string"?e.projectId.trim():"",a=typeof e.agentId=="string"?e.agentId.trim():"";return{...n?{teamId:n}:{},...r?{projectId:r}:{},...a?{agentId:a}:{}}}d(y,"normalizeSandboxListInput");function st(t){let e=m(t),n=typeof e.teamId=="string"?e.teamId.trim():"",r=typeof e.projectId=="string"?e.projectId.trim():"",{teamId:a,projectId:s,appId:i,...u}=e,c=u;return n&&(c.teamId=n),r&&(c.projectId=r),c}d(st,"normalizeReplayStartInput");function Pe(t){if(t==="active"||t==="revoked"||t==="error"||t==="all")return t}d(Pe,"normalizeIntegrationStatusFilter");function Ce(t){let e=m(t),n=typeof e.connectionId=="string"?e.connectionId.trim():"";if(!n)throw new Error("Sandbox integration connection is required.");let r=ct(e.capabilities);if(r.length===0)throw new Error("Sandbox integration capabilities are required.");dt(e.provider,r);let a=ut(e.scopes,"Sandbox integration scopes"),s=pt(e.expiresAt),i=jn(e.ttlSeconds),u=mt(e.resourcePolicy);return{connectionId:n,capabilities:r,...a.length>0?{scopes:a}:{},...u?{resourcePolicy:u}:{},...s?{expiresAt:s}:{},...i!==void 0?{ttlSeconds:i}:{},...typeof e.required=="boolean"?{required:e.required}:{}}}d(Ce,"normalizeIntegrationAttachInput");function it(t){if(t==null)return[];if(!Array.isArray(t))throw new Error("Sandbox integration leases must be an array.");return t.map(e=>Un(e))}d(it,"normalizeIntegrationLeaseRefsForRuntime");function Un(t){let e=m(t),n=typeof e.leaseId=="string"?e.leaseId.trim():"";if(!n)throw new Error("Sandbox integration leaseId is required.");if("connectionId"in e)throw new Error("Sandbox integration leases must use leaseId/proxy refs, not connection ids.");On(e);let r=qn(e.provider),a=ct(e.capabilities);if(a.length===0)throw new Error("Sandbox integration lease capabilities are required.");dt(r,a);let s=ut(e.scopes,"Sandbox integration lease scopes"),i=mt(e.resourcePolicy),u=pt(e.expiresAt),c=typeof e.proxyUrl=="string"?e.proxyUrl.trim():"";return{leaseId:n,provider:r,capabilities:a,...s.length>0?{scopes:s}:{},...i?{resourcePolicy:i}:{},...u?{expiresAt:u}:{},...c?{proxyUrl:c}:{},...typeof e.required=="boolean"?{required:e.required}:{}}}d(Un,"normalizeIntegrationLeaseRefForRuntime");function qn(t){if(typeof t!="string")throw new Error("Sandbox integration lease provider is required.");let e=fe(t);if(!e)throw new Error(`Sandbox integration provider is not supported: ${t}`);if(!he(e)?.leasePolicy.leaseable)throw new Error(`Sandbox integration provider is not leaseable: ${e}`);return e}d(qn,"normalizeLeaseableIntegrationProvider");function On(t){for(let e of Object.keys(t))if(lt(e))throw new Error("Sandbox integration leases must not include secrets or credentials.")}d(On,"assertNoSensitiveIntegrationLeaseKeys");function dt(t,e){if(t==null||t==="")return;if(typeof t!="string")throw new Error("Sandbox integration provider must be a string.");let n=fe(t);if(!n)throw new Error(`Sandbox integration provider is not supported: ${t}`);let r=he(n);if(!r?.leasePolicy.leaseable)throw new Error(`Sandbox integration provider is not leaseable: ${n}`);let a=new Set(r.leasePolicy.allowedCapabilityIds),s=e.filter(i=>!a.has(i));if(s.length>0)throw new Error(`Sandbox integration capabilities are not allowed for ${n}: ${s.join(", ")}`)}d(dt,"validateIntegrationCapabilitiesForProvider");function ke(t){let e=m(t),n=typeof e.leaseId=="string"?e.leaseId.trim():"";if(!n)throw new Error("Sandbox integration lease is required.");return n}d(ke,"normalizeIntegrationLeaseId");function ct(t){return Array.isArray(t)?t.map(e=>typeof e=="string"?e.trim():"").filter(Boolean):[]}d(ct,"normalizeStringArray");function ut(t,e){if(t==null)return[];if(!Array.isArray(t))throw new Error(`${e} must be an array of strings.`);return t.map(n=>{if(typeof n!="string")throw new Error(`${e} must contain only strings.`);let r=n.trim();if(!r)throw new Error(`${e} must not contain empty values.`);return r})}d(ut,"normalizeOptionalStringArray");function jn(t){if(t==null||t==="")return;let e=Number(t);if(!Number.isFinite(e)||e<=0)throw new Error("Sandbox integration ttlSeconds must be a positive number.");return Math.max(1,Math.floor(e))}d(jn,"normalizeIntegrationTtlSeconds");function pt(t){if(t==null||t==="")return;if(typeof t!="string")throw new Error("Sandbox integration expiresAt must be an ISO timestamp string.");let e=t.trim();if(!e)return;let n=Date.parse(e);if(!Number.isFinite(n))throw new Error("Sandbox integration expiresAt must be a valid ISO timestamp.");return e}d(pt,"normalizeIntegrationExpiresAt");function mt(t){if(t==null)return;if(typeof t!="object"||Array.isArray(t))throw new Error("Sandbox integration resourcePolicy must be an object.");if(ve(t,[]),JSON.stringify(t).length>16*1024)throw new Error("Sandbox integration resourcePolicy is too large.");return t}d(mt,"normalizeIntegrationResourcePolicy");function ve(t,e){if(!(!t||typeof t!="object")){if(e.length>8)throw new Error("Sandbox integration resourcePolicy is too deeply nested.");if(Array.isArray(t)){for(let n of t)ve(n,e);return}for(let[n,r]of Object.entries(t)){if(lt(n))throw new Error("Sandbox integration resourcePolicy must not include secrets or credentials.");ve(r,[...e,n])}}}d(ve,"assertNoSensitiveResourcePolicyKeys");function lt(t){let e=t.toLowerCase().replace(/[^a-z0-9]/g,"");return e.includes("accesstoken")||e.includes("refreshtoken")||e.includes("idtoken")||e.includes("oauth")||e.includes("bearer")||e.includes("authorization")||e.includes("cookie")||e.includes("secret")||e.includes("password")||e.includes("credential")}d(lt,"isSensitivePolicyKey");function ht(t){let e=m(t),n=typeof e.command=="string"?e.command.trim():"";if(!n)throw new Error("Sandbox command is required.");let r=typeof e.timeoutSeconds=="number"&&Number.isFinite(e.timeoutSeconds)?Math.max(1,Math.floor(e.timeoutSeconds)):void 0,a=Be(n);return r?{command:a,timeoutSeconds:r}:{command:a}}d(ht,"normalizeExecInput");function ft(t){let e=m(t),n=typeof e.command=="string"?e.command.trim():"";if(!n)throw new Error("Sandbox process command is required.");let r=typeof e.timeoutSeconds=="number"&&Number.isFinite(e.timeoutSeconds)?Math.max(1,Math.floor(e.timeoutSeconds)):void 0;return r?{command:n,timeoutSeconds:r}:{command:n}}d(ft,"normalizeProcessStartInput");function yt(t){let e=m(t),n=Number(e.since);return Number.isFinite(n)?{since:Math.max(0,Math.floor(n))}:{}}d(yt,"normalizeProcessCursorInput");function gt(t){let e=m(t),n=typeof e.port=="number"?e.port:Number(e.port);if(!Number.isInteger(n)||n<me||n>le)throw new Error(`Sandbox preview port must be between ${me} and ${le}.`);let r=typeof e.label=="string"&&e.label.trim()?e.label.trim():void 0,a=e.access==="public"||e.access==="private"?e.access:void 0,s=e.autoStart===!0,i=typeof e.customDomain=="string"&&e.customDomain.trim()?e.customDomain.trim():void 0,u={port:n,...r?{label:r}:{},...a?{access:a}:{},...s?{autoStart:s}:{},...i?{customDomain:i}:{}};return e.cors&&typeof e.cors=="object"&&!Array.isArray(e.cors)&&(u.cors=e.cors),e.headerPolicy&&typeof e.headerPolicy=="object"&&!Array.isArray(e.headerPolicy)&&(u.headerPolicy=e.headerPolicy),e.authPolicy&&typeof e.authPolicy=="object"&&!Array.isArray(e.authPolicy)&&(u.authPolicy=e.authPolicy),u}d(gt,"normalizeOpenPortInput");function bt(t){let e=m(t),n={};if(e.template&&typeof e.template=="object"&&!Array.isArray(e.template)){let r=m(e.template),a={};typeof r.description=="string"?a.description=r.description.trim():r.description===null&&(a.description=null),Array.isArray(r.tags)&&(a.tags=r.tags.map(s=>typeof s=="string"?s.trim():"").filter(Boolean).slice(0,20)),(r.visibility==="private"||r.visibility==="team")&&(a.visibility=r.visibility),typeof r.useCase=="string"?a.useCase=r.useCase.trim():r.useCase===null&&(a.useCase=null),Object.keys(a).length>0&&(n.template=a)}if(e.retention&&typeof e.retention=="object"&&!Array.isArray(e.retention)){let r=m(e.retention),a={};(r.class==="ephemeral"||r.class==="cached"||r.class==="pinned")&&(a.class=r.class),r.ttlSeconds===null?a.ttlSeconds=null:typeof r.ttlSeconds=="number"&&Number.isFinite(r.ttlSeconds)&&(a.ttlSeconds=Math.max(1,Math.floor(r.ttlSeconds))),Object.keys(a).length>0&&(n.retention=a)}if(!n.template&&!n.retention)throw new Error("Snapshot update requires template or retention changes.");return n}d(bt,"normalizeSnapshotUpdateInput");function It(t){let e=m(t),n=typeof e.cleanup=="string"?e.cleanup.trim():"";return n==="delete"||n==="stop"||n==="archive"?{cleanup:n}:{}}d(It,"normalizeSnapshotValidateInput");function Ee(t){let e=m(t),n={};return typeof e.snapshotId=="string"&&e.snapshotId.trim()&&(n.snapshotId=e.snapshotId.trim()),(e.visibility==="private"||e.visibility==="team")&&(n.visibility=e.visibility),e.resources&&typeof e.resources=="object"&&!Array.isArray(e.resources)&&(n.resources=e.resources),e.budget&&typeof e.budget=="object"&&!Array.isArray(e.budget)&&(n.budget=e.budget),e.networkPolicy&&typeof e.networkPolicy=="object"&&!Array.isArray(e.networkPolicy)&&(n.networkPolicy=e.networkPolicy),e.quotas&&typeof e.quotas=="object"&&!Array.isArray(e.quotas)&&(n.quotas=e.quotas),Array.isArray(e.volumes)&&(n.volumes=e.volumes),"integrationLeases"in e&&(n.integrationLeases=it(e.integrationLeases)),"env"in e&&(n.env=Ae(e.env)),e.metadata&&typeof e.metadata=="object"&&!Array.isArray(e.metadata)&&(n.metadata=e.metadata),n}d(Ee,"normalizeForkInput");function Ae(t){if(t==null)return[];if(!Array.isArray(t))throw new Error("Sandbox env must be an array.");return t.map(e=>{if(!e||typeof e!="object"||Array.isArray(e))throw new Error("Sandbox env entries must be objects.");let n=e;if("value"in n)throw new Error("Sandbox env entries must use secretRef, not inline values.");let r=typeof n.name=="string"?n.name.trim():"",a=typeof n.secretRef=="string"?n.secretRef.trim():"";if(!r||!a)throw new Error("Sandbox env entries require name and secretRef.");return{name:r,secretRef:a}})}d(Ae,"normalizeSandboxEnvRefsForApp");function St(t){let e=m(t),n=typeof e.teamId=="string"?e.teamId.trim():"",r=typeof e.projectId=="string"?e.projectId.trim():"",a=typeof e.snapshotId=="string"?e.snapshotId.trim():"",s=typeof e.templateName=="string"?e.templateName.trim():"",i=typeof e.version=="string"?e.version.trim():"",u=typeof e.useCase=="string"?e.useCase.trim():"";if(!a&&!s&&!u)throw new Error("Sandbox template launch requires snapshotId, templateName, or useCase.");return{...Ee(t),...n?{teamId:n}:{},...r?{projectId:r}:{},...a?{snapshotId:a}:{},...s?{templateName:s}:{},...i?{version:i}:{},...u?{useCase:u}:{}}}d(St,"normalizeTemplateLaunchInput");function wt(t){let e=m(t),n=typeof e.path=="string"?e.path.trim():"",r=Number(e.maxEntries);return{...n?{path:n}:{},...typeof e.recursive=="boolean"?{recursive:e.recursive}:{},...Number.isFinite(r)?{maxEntries:r}:{}}}d(wt,"normalizeListFilesInput");function xt(t){let e=m(t),n=typeof e.query=="string"?e.query.trim():"";if(!n)throw new Error("Sandbox file search query is required.");let r=typeof e.path=="string"?e.path.trim():"",a=Number(e.maxResults);return{query:n,...r?{path:r}:{},...Number.isFinite(a)?{maxResults:a}:{}}}d(xt,"normalizeSearchFilesInput");function G(t){let e=m(t),n=typeof e.path=="string"?e.path.trim():"";if(!n)throw new Error("Sandbox file path is required.");return{path:n,recursive:typeof e.recursive=="boolean"?e.recursive:void 0}}d(G,"normalizeDeleteFileInput");function vt(t){let e=G(t),n=m(t),r=Number(n.offsetBytes),a=Number(n.maxBytes);return{path:e.path,...Number.isFinite(r)?{offsetBytes:r}:{},...Number.isFinite(a)?{maxBytes:a}:{}}}d(vt,"normalizeDownloadFileInput");function Rt(t){let e=m(t),n=typeof e.path=="string"?e.path.trim():"",r=typeof e.contents=="string"?e.contents:"",a=typeof e.contentsBase64=="string"?e.contentsBase64.trim():"";if(!n)throw new Error("Sandbox file path is required.");if(!r&&!a)throw new Error("Sandbox file contents are required.");return{path:n,contents:r,contentsBase64:a}}d(Rt,"normalizeUploadFileInput");function Pt(t){let e=m(t),n=typeof e.fromPath=="string"?e.fromPath.trim():"",r=typeof e.toPath=="string"?e.toPath.trim():"";if(!n||!r)throw new Error("Sandbox file source and target paths are required.");return{fromPath:n,toPath:r,overwrite:typeof e.overwrite=="boolean"?e.overwrite:void 0}}d(Pt,"normalizeMoveFileInput");function Ct(t){let e=m(t),n=typeof e.branch=="string"?e.branch.trim():"",r=typeof e.startPoint=="string"?e.startPoint.trim():"";if(!n)throw new Error("Sandbox git branch name is required.");return{branch:n,create:e.create===!0,...r?{startPoint:r}:{}}}d(Ct,"normalizeGitBranchInput");function kt(t){let e=m(t),n=typeof e.message=="string"?e.message.trim():"",r=e.all===!0,a=Array.isArray(e.paths)?e.paths.filter(s=>typeof s=="string"&&s.trim()!==""):[];if(!n)throw new Error("Sandbox git commit message is required.");if(!r&&a.length===0)throw new Error("Sandbox git commit requires all=true or at least one path.");return{message:n,...r?{all:!0}:{paths:a.map(s=>s.trim())}}}d(kt,"normalizeGitCommitInput");function Et(t){let e=m(t),n=typeof e.remote=="string"?e.remote.trim():"",r=typeof e.branch=="string"?e.branch.trim():"",a=e.rebase===!0,s=typeof e.ffOnly=="boolean"?e.ffOnly:void 0;if(a&&s)throw new Error("Sandbox git pull cannot use rebase and ff-only together.");return{...n?{remote:n}:{},...r?{branch:r}:{},...a?{rebase:a}:{},...typeof s=="boolean"?{ffOnly:s}:{}}}d(Et,"normalizeGitPullInput");function At(t){let e=m(t),n=typeof e.remote=="string"?e.remote.trim():"",r=typeof e.branch=="string"?e.branch.trim():"";return{...n?{remote:n}:{},...r?{branch:r}:{},...e.setUpstream===!0?{setUpstream:!0}:{},...e.forceWithLease===!0?{forceWithLease:!0}:{}}}d(At,"normalizeGitPushInput");function $n(t,e){let n=t.token?.trim();if(!n||t.accountState.state!=="signed_in"||!t.accountState.activeProfile)throw new Error("A signed-in OpenPond account is required.");let r=Te(t.apiBaseUrl),a=/\/api\/sandboxes\/?$/.test(r)?r.replace(/\/api\/sandboxes\/?$/,"/v1"):r.replace(/\/sandboxes\/?$/,"");return{audience:new URL(a).origin,async request(s){let i=n.startsWith("opk_"),u=await B(a,n,s.path,{method:s.method??"GET",signal:s.signal,explicitBearerAuth:!i,headers:{...i?{"openpond-api-key":n}:{},...s.idempotencyKey?{"idempotency-key":s.idempotencyKey}:{},...e?{"X-OpenPond-Team-Id":e}:{}},...s.body?{body:JSON.stringify(s.body)}:{},...s.timeoutMs!==void 0?{timeoutMs:s.timeoutMs}:{}}),c=await u.json().catch(()=>({}));if(!u.ok)throw new Error(typeof c.error=="string"?c.error:`OpenPond API request failed with status ${u.status}`);return c}}}d($n,"createCapturedOpenPondPublicApiClient");async function xo(){return(await de()).client}d(xo,"resolveOpenPondSandboxClient");var _n="https://api.openpond.ai";async function vo(t){let{client:e,context:n,apiKey:r,sandboxApiUrl:a}=await de(),s=Dn(n,a);if(t.type==="list")return{sandboxes:await e.list(y(t.payload)),account:s};if(t.type==="snapshot_catalog"){let i=m(t.payload),u=typeof i.teamId=="string"?i.teamId.trim():"",c=typeof i.projectId=="string"?i.projectId.trim():"",p=typeof i.agentId=="string"?i.agentId.trim():"",b=typeof i.q=="string"?i.q.trim():"",l=typeof i.tag=="string"?i.tag.trim():"",g=typeof i.useCase=="string"?i.useCase.trim():"",E=i.replayState==="draft"||i.replayState==="validated"||i.replayState==="published"?i.replayState:void 0;return{...await e.snapshotCatalog({...u?{teamId:u}:{},...c?{projectId:c}:{},...p?{agentId:p}:{},...b?{q:b}:{},...l?{tag:l}:{},...g?{useCase:g}:{},...E?{replayState:E}:{}}),account:s}}if(t.type==="snapshot_create")return{...await e.createSnapshot(t.sandboxId,at(t.payload)),account:s};if(t.type==="template_catalog"){let i=m(t.payload),u=typeof i.teamId=="string"?i.teamId.trim():"",c=typeof i.projectId=="string"?i.projectId.trim():"",p=typeof i.q=="string"?i.q.trim():"",b=typeof i.name=="string"?i.name.trim():"",l=typeof i.version=="string"?i.version.trim():"",g=typeof i.tag=="string"?i.tag.trim():"",E=typeof i.useCase=="string"?i.useCase.trim():"";return{...await e.templates({...u?{teamId:u}:{},...c?{projectId:c}:{},...p?{q:p}:{},...b?{name:b}:{},...l?{version:l}:{},...g?{tag:g}:{},...E?{useCase:E}:{}}),account:s}}if(t.type==="integration_connections"){let i=m(t.payload),u=typeof i.teamId=="string"?i.teamId.trim():"",c=typeof i.projectId=="string"?i.projectId.trim():"",p=typeof i.agentId=="string"?i.agentId.trim():"",b=Pe(i.status),l={...c?{projectId:c}:{},...p?{agentId:p}:{},status:b??"all"};return{...u?await e.integrationConnections({teamId:u,...l}):await Ue(e,l),account:s}}if(t.type==="connected_app_status"){let i=m(t.payload),u=typeof i.teamId=="string"?i.teamId.trim():"",c=typeof i.projectId=="string"?i.projectId.trim():"",p=typeof i.agentId=="string"?i.agentId.trim():"",b=Pe(i.status)??"all",l={...c?{projectId:c}:{},...p?{agentId:p}:{},status:b},g=u?await e.integrationConnections({teamId:u,...l}):await Ue(e,l);return{teamId:g.teamId,apps:Le({connections:g.connections}),account:s}}if(t.type==="sandbox_runtime_list")return{runtimes:await e.listSandboxRuntimes(y(t.payload)),account:s};if(t.type==="sandbox_runtime_get")return{runtime:await e.getSandboxRuntime(t.runtimeId),account:s};if(t.type==="sandbox_runtime_create")return{runtime:await e.createSandboxRuntime(Re(t.payload)),account:s};if(t.type==="sandbox_runtime_sandbox_create")return{...await e.createSandboxRuntimeSandbox(t.runtimeId,se(t.payload),{respondAsync:!0}),account:s};if(t.type==="sandbox_runtime_resume"){let i=await e.sandboxRuntime(t.runtimeId).resume(se(t.payload),{respondAsync:!0});return{runtime:await e.getSandboxRuntime(t.runtimeId),sandbox:i,account:s}}if(t.type==="sandbox_runtime_preserve_source"){let i=m(t.payload);return{...await e.preserveSandboxRuntimeSource(t.runtimeId,{...typeof i.sandboxId=="string"&&i.sandboxId.trim()?{sandboxId:i.sandboxId.trim()}:{},...typeof i.message=="string"&&i.message.trim()?{message:i.message.trim()}:{},...i.source==="profile"?{source:"profile"}:{}},y(t.payload)),account:s}}if(t.type==="sandbox_runtime_promote"){let i=m(t.payload);return{...await e.promoteSandboxRuntime(t.runtimeId,{expectedTargetSha:typeof i.expectedTargetSha=="string"?i.expectedTargetSha.trim():"",...i.validationState==="pending"||i.validationState==="passed"?{validationState:i.validationState}:{},...typeof i.summary=="string"&&i.summary.trim()?{summary:i.summary.trim()}:{}},y(t.payload)),account:s}}if(t.type==="project_list")return{...await w({apiKey:r,sandboxApiUrl:a,path:v("/projects",y(t.payload))}),account:s};if(t.type==="profile_get")return{...await w({apiKey:r,sandboxApiUrl:a,path:v("/profile",y(t.payload))}),account:s};if(t.type==="profile_ensure")return{...await w({apiKey:r,sandboxApiUrl:a,path:v("/profile/ensure",y(t.payload)),method:"POST"}),account:s};if(t.type==="profile_push"){let i=m(t.payload),{teamId:u,...c}=i;return{...await w({apiKey:r,sandboxApiUrl:a,path:v("/profile/push",y(i)),method:"POST",body:c}),account:s}}if(t.type==="project_upsert")return{...await w({apiKey:r,sandboxApiUrl:a,path:v("/projects",y(t.payload)),method:"POST",body:m(t.payload)}),account:s};if(t.type==="project_get")return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/projects/${encodeURIComponent(t.projectId)}`,y(t.payload))}),account:s};if(t.type==="project_workspace")return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/projects/${encodeURIComponent(t.projectId)}/workspace`,y(t.payload))}),account:s};if(t.type==="project_git")return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/projects/${encodeURIComponent(t.projectId)}/git`,y(t.payload)),method:"POST"}),account:s};if(t.type==="project_sync")return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/projects/${encodeURIComponent(t.projectId)}/sync`,y(t.payload)),method:"POST"}),account:s};if(t.type==="project_source_upload"){let i=m(t.payload),{teamId:u,...c}=i;return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/projects/${encodeURIComponent(t.projectId)}/source`,y(i)),method:"POST",body:c}),account:s}}if(t.type==="project_archive")return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/projects/${encodeURIComponent(t.projectId)}`,y(t.payload)),method:"DELETE"}),account:s};if(t.type==="agent_list")return{...await w({apiKey:r,sandboxApiUrl:a,path:v("/agents",y(t.payload))}),account:s};if(t.type==="agent_upsert")return{...await w({apiKey:r,sandboxApiUrl:a,path:v("/agents",y(t.payload)),method:"POST",body:m(t.payload)}),account:s};if(t.type==="agent_run")return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/agents/${encodeURIComponent(t.agentId)}/run`,y(t.payload)),method:"POST",body:m(t.payload)}),account:s};if(t.type==="agent_source_deploy_plan")return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/agents/${encodeURIComponent(t.agentId)}/source/deploy-plan`,y(t.payload))}),account:s};if(t.type==="agent_source_checks"){let i=m(t.payload),{teamId:u,...c}=i;return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/agents/${encodeURIComponent(t.agentId)}/source/checks`,y(i)),method:"POST",body:c,timeoutMs:900*1e3}),account:s}}if(t.type==="agent_source_publish"){let i=m(t.payload),{teamId:u,...c}=i;return{...await w({apiKey:r,sandboxApiUrl:a,path:v(`/agents/${encodeURIComponent(t.agentId)}/source/publish`,y(i)),method:"POST",body:c}),account:s}}if(t.type==="create")return{sandbox:await e.create(ae(t.payload)),account:s};if(t.type==="get")return{sandbox:await e.get(t.sandboxId),account:s};if(t.type==="start")return{...await e.start(t.sandboxId,{respondAsync:!0}),account:s};if(t.type==="delete"){let i=await Ut(e,t.sandboxId,{failOnUnpreservedChanges:t.failOnUnpreservedChanges}),u=await e.delete(t.sandboxId,i).catch(c=>Ot("delete",e,t.sandboxId,c));return qt("delete",u),{sandbox:u,account:s}}if(t.type==="exec")return{...await e.exec(t.sandboxId,ht(t.payload)),account:s};if(t.type==="action_run")return{...await Mn({apiKey:r,sandboxApiUrl:a,path:`/sandboxes/${encodeURIComponent(t.sandboxId)}/actions/${encodeURIComponent(t.actionName)}/run`,method:"POST",body:m(t.payload)}),account:s};if(t.type==="open_port")return{...await e.openPort(t.sandboxId,gt(t.payload)),account:s};if(t.type==="snapshot_update")return{...await e.updateSnapshot(t.sandboxId,t.snapshotId,bt(t.payload)),account:s};if(t.type==="snapshot_validate")return{...await e.validateSnapshot(t.sandboxId,t.snapshotId,It(t.payload)),account:s};if(t.type==="snapshot_publish")return{...await e.publishSnapshot(t.sandboxId,t.snapshotId),account:s};if(t.type==="replays")return{...await e.listReplays(y(t.payload)),account:s};if(t.type==="replay_start")return{...await e.startReplay(st(t.payload)),account:s};if(t.type==="replay_get")return{...await e.getReplay(t.replayId,y(t.payload)),account:s};if(t.type==="replay_logs")return{...await e.getReplayLogs(t.replayId,y(t.payload)),account:s};if(t.type==="replay_artifacts")return{...await e.getReplayArtifacts(t.replayId,y(t.payload)),account:s};if(t.type==="replay_cancel")return{...await e.cancelReplay(t.replayId,y(t.payload)),account:s};if(t.type==="schedule_create")return{...await e.createSchedule(m(t.payload)),account:s};if(t.type==="template_launch")return{...await e.launchTemplate(St(t.payload)),account:s};if(t.type==="fork")return{...await e.fork(t.sandboxId,Ee(t.payload)),account:s};if(t.type==="stop"){let i=await Ut(e,t.sandboxId,{failOnUnpreservedChanges:t.failOnUnpreservedChanges}),u=await e.stop(t.sandboxId,i).catch(c=>Ot("stop",e,t.sandboxId,c));return qt("stop",u.sandbox),{...u,account:s}}if(t.type==="receipts")return{receipts:await e.receipts(t.sandboxId),account:s};if(t.type==="logs")return{logs:await e.logs(t.sandboxId),account:s};if(t.type==="integration_leases")return{...await e.integrationLeases(t.sandboxId),account:s};if(t.type==="integration_attach")return{...await e.attachIntegrationConnection(t.sandboxId,Ce(t.payload)),account:s};if(t.type==="integration_remove")return{...await e.removeIntegrationLease(t.sandboxId,ke(t.payload)),account:s};if(t.type==="process_start")return{...await e.startProcess(t.sandboxId,ft(t.payload)),account:s};if(t.type==="process_get")return{...await e.getProcess(t.sandboxId,t.processId,yt(t.payload)),account:s};if(t.type==="upload_file"){let i=Rt(t.payload);return{...i.contentsBase64?await e.uploadFileBase64(t.sandboxId,i.path,i.contentsBase64):await e.uploadFile(t.sandboxId,i.path,i.contents),account:s}}if(t.type==="download_file"){let i=vt(t.payload);return{...await e.downloadFileResponse(t.sandboxId,i),account:s}}if(t.type==="list_files")return{...await e.listFiles(t.sandboxId,wt(t.payload)),account:s};if(t.type==="search_files")return{...await e.searchFiles(t.sandboxId,xt(t.payload)),account:s};if(t.type==="delete_file"){let i=G(t.payload);return{...await e.deleteFile(t.sandboxId,i.path,{recursive:i.recursive}),account:s}}if(t.type==="stat_file"){let i=G(t.payload);return{...await e.statFile(t.sandboxId,i.path),account:s}}if(t.type==="mkdir"){let i=G(t.payload);return{...await e.mkdir(t.sandboxId,{path:i.path,recursive:i.recursive}),account:s}}if(t.type==="move_file"){let i=Pt(t.payload);return{...await e.moveFile(t.sandboxId,i),account:s}}if(t.type==="git_status")return{...await e.gitStatus(t.sandboxId),account:s};if(t.type==="git_diff"){let i=m(t.payload),u=typeof i.baseRef=="string"?i.baseRef.trim():"";return{...await e.gitDiff(t.sandboxId,{...u?{baseRef:u}:{}}),account:s}}if(t.type==="git_export_patch"){let i=m(t.payload),u=typeof i.baseRef=="string"?i.baseRef.trim():"";return{...await e.gitExportPatch(t.sandboxId,{...u?{baseRef:u}:{}}),account:s}}if(t.type==="git_branch")return{...await e.gitBranch(t.sandboxId,Ct(t.payload)),account:s};if(t.type==="git_commit")return{...await e.gitCommit(t.sandboxId,kt(t.payload)),account:s};if(t.type==="git_pull")return{...await e.gitPull(t.sandboxId,Et(t.payload)),account:s};if(t.type==="git_push")return{...await e.gitPush(t.sandboxId,At(t.payload)),account:s};throw new Error(`Unsupported sandbox action: ${t.type}`)}d(vo,"sandboxRequestPayload");async function Ro(t={}){let{client:e}=await de();return t.teamId?e.integrationConnections(t):Ue(e,{...t.projectId?{projectId:t.projectId}:{},...t.agentId?{agentId:t.agentId}:{},status:t.status??"all"})}d(Ro,"listSandboxIntegrationConnections");async function Ut(t,e,n={}){let r=await t.get(e).then(a=>!jt(a)).catch(()=>!0);return{failOnUnpreservedChanges:n.failOnUnpreservedChanges,...r?{respondAsync:!0}:{}}}d(Ut,"sandboxLifecycleRequestOptions");function jt(t){return t.reservation.status==="reserved"&&(t.state==="creating"||$t.has(t.state))}d(jt,"sandboxLifecycleRequiresSynchronousAccounting");function qt(t,e){if($t.has(e.state)&&e.reservation.status==="reserved")throw new Error(`Sandbox ${t} reached ${e.state}, but reservation ${e.reservation.id} is still reserved. Cleanup accounting has not settled; retry status before treating cleanup as complete.`)}d(qt,"assertTerminalSandboxLifecycleSettled");async function Ot(t,e,n,r){let a=await e.get(n).catch(()=>null);if(a&&jt(a)){let s=r instanceof Error?r.message:String(r);throw new Error(`Sandbox ${t} failed while sandbox ${n} is still creating with active reservation ${a.reservation.id}. Cleanup accounting has not settled; retry status before treating cleanup as complete. Original error: ${s}`)}throw r instanceof Error?r:new Error(String(r))}d(Ot,"throwSandboxLifecycleRequestFailure");var $t=new Set(["stopped","archived","deleted","error"]);async function Ue(t,e){let n=await t.listOrganizations().catch(()=>{throw new Error("Connected app status is unavailable because organizations could not be loaded.")}),r=Bn(n),a=Nn(n)||null;if(r.length===0)return{teamId:a,connections:[]};let s=await Promise.all(r.map(u=>t.integrationConnections({teamId:u,...e.projectId?{projectId:e.projectId}:{},...e.agentId?{agentId:e.agentId}:{},status:e.status}).catch(()=>null))),i=Ln(s);return{teamId:Tn(i)??a??i.find(u=>u.teamId.trim())?.teamId.trim()??null,connections:zn(i)}}d(Ue,"resolveImplicitConnectedAppStatusConnections");function Tn(t){for(let e of t){if((e.connections?.length??0)===0)continue;let n=e.teamId?.trim();if(n)return n}return null}d(Tn,"connectedAppStatusTeamIdWithConnections");function zn(t){let e=[],n=new Set;for(let r of t)for(let a of r.connections??[]){let s=a.id.trim()||[a.teamId,a.provider,a.providerAccountId].join(":");n.has(s)||(n.add(s),e.push(a))}return e}d(zn,"mergeConnectedAppStatusConnectionResults");function Ln(t){let e=t.filter(a=>a!==null),n=t.length-e.length,r=e.reduce((a,s)=>a+(s.connections?.length??0),0);if(n>0&&r===0)throw new Error("Connected app status is unavailable because one or more team integration connection lookups could not be loaded.");return e}d(Ln,"successfulConnectedAppStatusConnectionResults");function Nn(t){let e=t.filter(n=>_t(n)==="active");return ie(e.find(n=>n.role==="owner"))??ie(e.find(n=>n.role==="admin"))??ie(e[0])??""}d(Nn,"selectImplicitConnectedAppStatusTeamId");function Bn(t){let e=[],n=new Set;for(let r of t){if(_t(r)!=="active")continue;let a=ie(r);!a||n.has(a)||(n.add(a),e.push(a))}return e}d(Bn,"implicitConnectedAppStatusTeamIds");function ie(t){if(!t)return null;let e=t.id;return(typeof t.teamId=="string"?t.teamId:typeof e=="string"?e:"").trim()||null}d(ie,"organizationTeamId");function _t(t){return typeof t.status=="string"?t.status:"active"}d(_t,"organizationStatus");async function de(){let t=_(process.env.OPENPOND_SANDBOX_API_URL),e=process.env.OPENPOND_SANDBOX_API_KEY?.trim();if(e&&t)return{client:oe({apiKey:e,sandboxApiUrl:t}),context:await ye().catch(()=>null),apiKey:e,sandboxApiUrl:$(t)};let n=await ye(),r=n.token?.trim();if(!r)throw new Error("OpenPond account API key is required to manage sandboxes.");if(t)return{client:oe({apiKey:r,sandboxApiUrl:t}),context:n,apiKey:r,sandboxApiUrl:$(t)};let a=Jn(n);return{client:oe({apiKey:r,baseUrl:a}),context:n,apiKey:r,sandboxApiUrl:$(a)}}d(de,"resolveSandboxClient");function Hn(t){return $(t).replace(/\/sandboxes\/?$/,"")}d(Hn,"sandboxApiRootUrl");function Fn(t){let e=$(t);return/\/api\/sandboxes\/?$/.test(e)?e.replace(/\/api\/sandboxes\/?$/,"/v1"):e.replace(/\/sandboxes\/?$/,"")}d(Fn,"sandboxPublicApiRootUrl");function v(t,e){let n=new URLSearchParams;return e.teamId&&n.set("teamId",e.teamId),e.projectId&&n.set("projectId",e.projectId),e.agentId&&n.set("agentId",e.agentId),`${t}${n.size>0?`?${n.toString()}`:""}`}d(v,"sandboxScopedCollectionPath");async function Mn(t){let e=await B(Hn(t.sandboxApiUrl),t.apiKey,t.path,{method:t.method??"GET",...t.body?{body:JSON.stringify(t.body)}:{}}),n=await e.json().catch(()=>({}));if(!e.ok){let r=typeof n.error=="string"?n.error:`Sandbox API request failed with status ${e.status}`;throw new Error(r)}return n}d(Mn,"requestSandboxApiRoot");async function w(t){let e=await B(Fn(t.sandboxApiUrl),t.apiKey,t.path,{method:t.method??"GET",signal:t.signal,headers:{...t.idempotencyKey?{"idempotency-key":t.idempotencyKey}:{},...t.teamId?{"X-OpenPond-Team-Id":t.teamId}:{}},...t.body?{body:JSON.stringify(t.body)}:{},...t.timeoutMs!==void 0?{timeoutMs:t.timeoutMs}:{}}),n=await e.json().catch(()=>({}));if(!e.ok){let r=typeof n.error=="string"?n.error:`Sandbox API request failed with status ${e.status}`;throw new Error(r)}return n}d(w,"requestSandboxPublicApiRoot");async function Po(t){let{apiKey:e,sandboxApiUrl:n}=await de();return w({apiKey:e,sandboxApiUrl:n,...t})}d(Po,"requestOpenPondPublicApi");function Dn(t,e){if(!t)return{label:"Sandbox API",handle:null,baseUrl:null,sandboxApiUrl:e,state:"signed_out"};let n=t.accountState;return{label:n.label,handle:n.activeProfile?.handle??t.account?.handle??null,baseUrl:n.baseUrl??t.account?.baseUrl??null,sandboxApiUrl:e,state:n.state}}d(Dn,"sandboxAccountSummary");function Jn(t){return _(process.env.OPENPOND_SANDBOX_BASE_URL)??_(process.env.OPENPOND_API_URL)??_(t.apiBaseUrl)??_(t.account?.baseUrl)??_(t.config.baseUrl)??_n}d(Jn,"resolveSandboxBaseUrl");export{tr as a,nr as b,M as c,rr as d,or as e,ar as f,sr as g,ir as h,ne as i,Pr as j,Br as k,Ye as l,dn as m,cn as n,Wr as o,un as p,Gr as q,$n as r,xo as s,vo as t,Ro as u,Po as v};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as k}from"./chunk-773TH7FN.js";import{a as u,d}from"./chunk-FUOEIDMA.js";import{i as R,j as h}from"./chunk-QNG27G3T.js";import{f as m,g}from"./chunk-ACYFMLWG.js";import{m as P}from"./chunk-KGNCKIFP.js";import{a}from"./chunk-FTQLQJQV.js";async function S(e){if(!e.repositoryId.trim())throw new Error("Explicit Profile source requires a repository ID.");let o=await h(e),n=await e.store.getHarnessWorkspace(e.workspaceId);if(n){let s=n.currentChannel.release;if(n.ownerScope.kind!=="personal"||n.ownerScope.id!==e.ownerId||n.sourceRevision!==o.sourceRevision||s?.id!==o.harnessRelease.id||s.contentHash!==o.harnessRelease.contentHash)throw new Error("Explicit Profile source changed under its accepted revision.");let i=await e.store.getHarnessReleaseRecord(s.contentHash);if(!i)throw new Error("Explicit Profile source release is missing after restore.");return i}let r=await R({...e,id:e.workspaceId,selectionEligible:!1});if(r.release.harnessRelease.contentHash!==o.harnessRelease.contentHash||r.workspace.sourceRevision!==o.sourceRevision)throw new Error("Explicit Profile source changed during import.");return r.release}a(S,"ensureExplicitProfileHarnessSource");var H="profile-v3-";import{promises as w}from"node:fs";import c from"node:path";var y=new WeakMap;async function T(e){let{profile:o,ref:n}=e;if(o.mode!=="local"||!o.sourcePath||o.error||o.activeProfile!==n.profileId||!o.git?.head||o.git.dirty)throw new Error("Select a clean, committed Profile before loading its workflows.");let r=`${H}${P({ref:n,sourceRevision:o.git.head}).slice(0,24)}`,s=y.get(e.store);s||(s=new Map,y.set(e.store,s));let i=s.get(r);if(i)return i;let t=I({...e,workspaceId:r});s.set(r,t);try{return await t}finally{s.delete(r)}}a(T,"ensureLocalProfileWorkflows");async function I(e){let o=e.profile.git.head,n=await S({store:e.store,storeDir:e.storeDir,workspaceId:e.workspaceId,ownerId:u,name:e.profile.activeProfile,profile:e.profile,sourceRevision:o,repositoryId:e.ref.repositoryId}),r=await v({store:e.store,release:n,ref:e.ref,sourceRevision:o});if(e.reloadProfile){let s=await e.reloadProfile();if(s.git?.head!==o||s.git.dirty)throw new Error("Profile source changed during workflow loading; retry from its committed revision.")}return r}a(I,"loadProfileWorkflows");async function v(e){let o={id:e.release.harnessRelease.id,contentHash:e.release.harnessRelease.contentHash};if(!e.release.harnessRelease.files.some(t=>t.path==="workflows/catalog.json"))return{profileRef:e.ref,sourceRevision:e.sourceRevision,harnessRelease:o,workflows:[]};let{runtime:n,catalog:r,catalogHash:s}=await p(e.store,o),i=n.release.harnessRelease.metadata.profile;if(!i||typeof i!="object"||i.id!==e.ref.profileId||i.sourceRevision!==e.sourceRevision)throw new Error("Selected Profile workflow release differs from its accepted source.");return{profileRef:e.ref,sourceRevision:e.sourceRevision,harnessRelease:o,workflows:r.workflows.map(t=>({workflow:t,binding:{schemaVersion:"openpond.profileWorkflowBinding.v1",profileId:e.ref.profileId,sourceRevision:e.sourceRevision,harnessRelease:o,catalogHash:s,workflowId:t.id}}))}}a(v,"profileWorkflowsForRelease");async function K(e,o){if(o.profileComponentBinding){if(o.profileWorkflowBinding||o.currentProfile?.profileId!==o.profileComponentBinding.profileId)throw new Error("Profile component binding differs from the session Profile reference.");return W({store:e,binding:o.profileComponentBinding})}if(!o.profileWorkflowBinding)return k(e,o.id);if(o.currentProfile?.profileId!==o.profileWorkflowBinding.profileId)throw new Error("Profile workflow binding differs from the session Profile reference.");let{runtime:n,workflow:r,action:s}=await b({store:e,binding:o.profileWorkflowBinding});return{...n,workflow:r,...s?{workflowAction:s}:{}}}a(K,"loadLocalHarnessRuntimeForSession");async function W(e){let{binding:o,store:n}=e,r=await d(n,o.harnessRelease);if(!r)throw new Error("The bound Profile component Harness release is unavailable.");let s=r.release.harnessRelease.metadata.profile;if(!s||typeof s!="object"||s.id!==o.profileId||s.sourceRevision!==o.sourceRevision)throw new Error("Profile component binding differs from its released source.");let i=o.target;if(i.kind==="profile")return r;if(i.kind==="skill"){if(!r.release.agentSnapshot?.skills.some(E=>E.path===i.skillPath)||!r.release.bundlePath)throw new Error("Bound Profile Skill is unavailable in its released source.");let f=await w.readFile(c.join(r.release.bundlePath,"source",i.skillPath),"utf8");return{...r,instructionContext:[r.instructionContext,`Released Profile Skill (${i.skillPath}):
|
|
3
|
+
${f}`].join(`
|
|
4
|
+
|
|
5
|
+
`)}}let l=(await p(n,o.harnessRelease)).actions.find(f=>f.id===i.actionId);if(!l)throw new Error("Bound Profile Agent action is unavailable in its released source.");return{...r,workflowAction:l}}a(W,"loadLocalProfileComponentRuntime");async function b(e){let{runtime:o,catalog:n,catalogHash:r,actions:s}=await p(e.store,e.binding.harnessRelease),i=g({binding:e.binding,harnessRelease:o.release.harnessRelease,catalog:n,catalogHash:r}),t=i.invocation.kind==="agent_action"?i.invocation.actionId:null,l=t?s.find(f=>f.id===t):void 0;if(t&&!l)throw new Error(`Bound Profile action ${t} is missing from its release.`);return{runtime:o,workflow:i,...l?{action:l}:{}}}a(b,"loadLocalProfileWorkflowRuntime");async function p(e,o){let n=await d(e,o);if(!n)throw new Error("The bound Profile workflow Harness release is unavailable.");let r=c.join(n.release.bundlePath,"source"),[s,i]=await Promise.all([w.readFile(c.join(r,"workflows","catalog.json")),w.readFile(c.join(r,"workflows","actions.json"))]),{catalog:t,catalogHash:l,actions:f}=m({agentSnapshot:n.release.agentSnapshot,harnessRelease:n.release.harnessRelease,catalogBytes:s,actionBytes:i});return{runtime:n,catalog:t,catalogHash:l,actions:f}}a(p,"loadLocalProfileWorkflowCatalog");export{S as a,H as b,T as c,v as d,K as e};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{i}from"./chunk-
|
|
2
|
+
import{i}from"./chunk-OS3LO5J3.js";import{a as s}from"./chunk-GLUWATL5.js";import{a as n}from"./chunk-FTQLQJQV.js";import{stdin as a,stdout as c}from"node:process";import{createInterface as l}from"node:readline/promises";var p=`${s}/console/services/identity-access/api-keys`;function u(e){let t=process.env.OPENPOND_API_KEY?.trim();if(t)return t;let r=e.apiKey?.trim();if(r)return r;let o=e.token?.trim();return o&&o.startsWith("opk_")?o:null}n(u,"resolveApiKey");async function P(){if(!a.isTTY||!c.isTTY)throw new Error("OpenPond API key is required in non-interactive mode. Set OPENPOND_API_KEY or run `openpond login` in a terminal.");console.log("Open the OpenPond UI to create an API key:"),console.log(p);let e=l({input:a,output:c});try{let t=(await e.question("Paste your OpenPond API key: ")).trim();if(!t)throw new Error("API key is required");return t.startsWith("opk_")||console.log("warning: API keys usually start with opk_."),t}finally{e.close()}}n(P,"promptForApiKey");async function A(e,t){let r=u(e);if(r)return r;let o=await P();return await i({apiKey:o,baseUrl:t,activeProfile:e.activeProfile}),console.log("Saved account credentials to the encrypted OpenPond credential store."),o}n(A,"ensureApiKey");export{u as a,P as b,A as c};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{C as $,k as x,n as G,q as N,r as J,s as U,u as W}from"./chunk-FTEOCCPB.js";import{ua as z,wa as P}from"./chunk-25MBPJVY.js";import{N as L}from"./chunk-VYLGI3IH.js";import{Ka as M,Ma as B,o as C,oa as V,p as O,v as F}from"./chunk-ACYFMLWG.js";import{k as E,l as H,m as h}from"./chunk-KGNCKIFP.js";import{a as l}from"./chunk-FTQLQJQV.js";import{createHash as q}from"node:crypto";import{mkdir as K,readdir as ae,readFile as I,writeFile as X}from"node:fs/promises";import d from"node:path";async function je(e,t){let a=x.parse(e),r=["tasks","assets","environment","graders","rubrics","comparisons","metrics","fixtures"];await Promise.all(r.map(g=>K(d.join(t,g),{recursive:!0})));let o=await re(a,t);if(a.metrics.customAggregator){let g=d.join(t,a.metrics.customAggregator.module),k=q("sha256").update(await I(g)).digest("hex");a=x.parse({...a,metrics:{...a.metrics,customAggregator:{...a.metrics.customAggregator,contentHash:k}}})}let n=d.join(t,"taskset.json"),s=d.join(t,"tasks","tasks.jsonl"),f=d.join(t,"graders","graders.json"),i=d.join(t,"fixtures","grader-fixtures.json"),u=d.join(t,"metrics","policy.json"),c=d.join(t,"assets","manifest.json"),m=d.join(t,"environment","contract.json"),w=d.join(t,"rubrics","preference-review.md"),v=d.join(t,"comparisons","policy.json");return await Promise.all([...J(a)].map(([g,k])=>X(d.join(t,g),k,"utf8"))),{directory:t,files:[n,s,c,m,f,w,v,u,i,...o],draft:a}}l(je,"writeTasksetDraftPackage");async function Re(e){let t=await se(e),a=q("sha256");for(let r of t)a.update(d.relative(e,r).replaceAll(d.sep,"/")),a.update("\0"),a.update(await I(r)),a.update("\0");return a.digest("hex")}l(Re,"hashTasksetDraftPackage");async function Y(e,t){let a=d.basename(e)==="taskset.json"?e:d.join(e,"taskset.json"),r=d.dirname(a),o=l(async f=>{if(!t)return I(f,"utf8");let i=t.get(d.relative(r,f).replaceAll(d.sep,"/"));if(!i)throw Object.assign(new Error("Authored file is absent."),{code:"ENOENT"});return new TextDecoder("utf-8",{fatal:!0}).decode(i)},"read"),n=JSON.parse(await o(a)),s=x.safeParse(n);if(s.success){let[f,i,u,c,m,w]=await Promise.all([ne(d.join(r,"tasks","tasks.jsonl"),o),S(d.join(r,"graders","graders.json"),o),S(d.join(r,"fixtures","grader-fixtures.json"),o),S(d.join(r,"metrics","policy.json"),o),S(d.join(r,"environment","contract.json"),o),S(d.join(r,"comparisons","policy.json"),o)]);return x.parse({...s.data,...f===null?{}:{tasks:f},...i===null?{}:{graders:i},...u===null?{}:{graderFixtures:u},...c===null?{}:{metrics:c},...m===null?{}:{environment:m},...w===null?{}:{review:w}})}return $(n)}l(Y,"readTasksetDraftPackage");async function re(e,t){let a=N(e),r=[];for(let o of a){let n=d.join(t,o.relativePath);await K(d.dirname(n),{recursive:!0});try{await X(n,o.source,{encoding:"utf8",flag:"wx"})}catch(s){if(!oe(s))throw s}r.push(n)}return r}l(re,"writeConfiguredStarterCode");async function se(e){let t=[];async function a(r){let o=await ae(r,{withFileTypes:!0});o.sort((n,s)=>n.name.localeCompare(s.name));for(let n of o){let s=d.join(r,n.name);if(n.isSymbolicLink())throw new Error(`Taskset workspaces cannot contain symbolic links: ${s}`);n.isDirectory()?await a(s):n.isFile()&&t.push(s)}}return l(a,"visit"),await a(e),t}l(se,"packageFiles");async function S(e,t=a=>I(a,"utf8")){try{return JSON.parse(await t(e))}catch(a){if(Z(a))return null;throw a}}l(S,"readOptionalJson");async function ne(e,t=a=>I(a,"utf8")){try{return(await t(e)).split(/\r?\n/).map(r=>r.trim()).filter(Boolean).map(r=>JSON.parse(r))}catch(a){if(Z(a))return null;throw a}}l(ne,"readOptionalJsonLines");function Z(e){return e instanceof Error&&"code"in e&&e.code==="ENOENT"}l(Z,"isMissingFile");function oe(e){return e instanceof Error&&"code"in e&&e.code==="EEXIST"}l(oe,"isFileExists");import{constants as Q}from"node:fs";import{lstat as ie,open as ce,readdir as le}from"node:fs/promises";import A from"node:path";async function Oe(e){let t=A.resolve(e.directory);if(!(await ie(t)).isDirectory())throw new Error("Dataset upload requires a regular authored folder.");let a=new Map,r=0;async function o(c,m){if(m>30)throw new Error("Dataset folder nesting exceeds 30 levels.");for(let w of(await le(c,{withFileTypes:!0})).sort((v,g)=>v.name<g.name?-1:v.name>g.name?1:0)){if(w.name.startsWith("."))throw new Error("Dataset folders cannot include hidden files or directories.");if(w.isSymbolicLink()||!w.isDirectory()&&!w.isFile())throw new Error("Dataset folders can contain only regular files and directories.");let v=A.join(c,w.name);if(w.isDirectory()){await o(v,m+1);continue}if(a.size>=1e4)throw new Error("Dataset folder exceeds 10,000 files.");let g=await ce(v,Q.O_RDONLY|Q.O_NOFOLLOW);try{let k=await g.stat();if(!k.isFile()||k.size>U-r)throw new Error("Dataset folder exceeds the 64 MiB capture limit.");let j=new Uint8Array(k.size),R=0;for(;R<j.length;){let D=await g.read(j,R,j.length-R,R);if(!D.bytesRead)throw new Error("Dataset file changed during capture.");R+=D.bytesRead}let _=await g.stat();if(_.size!==k.size||_.mtimeMs!==k.mtimeMs||_.ctimeMs!==k.ctimeMs)throw new Error("Dataset file changed during capture.");r+=j.length,a.set(A.relative(t,v).replaceAll(A.sep,"/"),j)}finally{await g.close()}}}l(o,"visit"),await o(t,0);let n=await Y(t,a),s=[...a].map(([c,m])=>({path:c,contentHash:H(m),sizeBytes:m.byteLength})),f=h(s),i=x.parse({...n,id:e.datasetId??n.id,profileId:e.teamId,revision:e.expectedRevision+1,modelScope:null,status:"draft",publishedTasksetRef:null,metadata:{...n.metadata,importedTasksetPackage:{packageHash:f}}});return{workspace:W({schemaVersion:"openpond.tasksetDraftWorkspace.v1",draft:i,files:[...a].filter(([c])=>!G(c)).map(([c,m])=>({path:c,base64:Buffer.from(m).toString("base64"),contentHash:H(m),sizeBytes:m.byteLength}))}),sourceHash:f,sourceFiles:s,capturedBytes:r}}l(Oe,"captureTasksetDraftWorkspace");async function ee(e){let{binding:t,rewards:a}=e.learning,r=M(t,a);if(e.graders.length!==r.length||r.some(({source:i,reward:u})=>!e.graders.some(c=>c.id===i.graderId&&c.version===String(u.revision)&&h(c.metadata.rewardBinding)===h(L(t)))))throw new Error("Prepared Taskset graders do not match their immutable Reward binding.");let o=V.parse({id:e.task.id,clusterKey:e.task.clusterKey,split:e.task.split,input:e.task.input,expectedOutput:e.task.expectedOutput,policyVisibleContext:e.task.policyVisibleContext,privilegedContextRef:e.task.privilegedContextRef,artifactRefs:[],tags:e.task.tags}),n=await B({binding:t,rewards:a,task:o,signal:e.signal,evidence:{output:e.attempt.output,artifactRefs:e.attempt.artifactRefs,runtimeEventRefs:e.attempt.runtimeEventRefs,infrastructureError:e.attempt.infrastructureError},customVerifier:e.customVerifier?async({grader:i})=>{let u=e.graders.find(m=>m.id===i.id);if(u?.kind!=="custom_verifier")throw new Error("Bound verifier projection is missing.");let c=await e.customVerifier({grader:u,task:e.task,attempt:e.attempt,signal:e.signal});return{score:c.score,passed:c.passed,rewardEligible:i.rewardEligible,failureClass:null,feedback:[c.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:c.evidenceRefs??[]}}:void 0,modelJudge:e.modelJudge?async({grader:i})=>{let u=e.graders.find(m=>m.id===i.id);if(u?.kind!=="model_judge")throw new Error("Bound judge projection is missing.");let c=await e.modelJudge({grader:u,task:e.task,attempt:e.attempt});return{score:c.score,passed:c.passed,rewardEligible:i.rewardEligible,failureClass:null,feedback:[c.feedback],visibleEvidenceRefs:[],privilegedEvidenceRefs:c.evidenceRefs??[]}}:void 0}),s=n.training.status==="not_configured"?n.evaluation:n.training,f=h(e.graders);return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,n.contentHash]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:f,score:s.score,passed:s.passed===!0,components:n.results.map(i=>{let u=t.sources.find(m=>m.graderId===i.graderId),c=e.graders.find(m=>m.id===i.graderId);return{graderId:i.graderId,graderVersion:c.version,score:i.normalizedScore,passed:i.passed===!0,hardGate:u.hardGate,rewardEligible:u.role==="training"&&i.status==="scored",feedback:i.message?.trim()||null,evidenceRefs:i.evidenceHashes,judge:c.kind==="model_judge"?c.judge:null,calibrationStatus:c.kind==="model_judge"?c.calibrationStatus:"not_applicable"}}),failureClass:e.attempt.infrastructureError?"infrastructure_failure":s.status!=="scored"?"grader_failure":s.passed?null:"policy_failure",feedback:n.results.flatMap(i=>i.message?.trim()?[i.message.trim()]:[]),rewardEligible:n.training.status==="scored",rewardComposition:n,createdAt:e.now?.()??new Date().toISOString()}}l(ee,"gradeLearningBatchAttempt");async function st(e){if(e.learning)return ee({...e,learning:e.learning});if(e.graders.some(o=>o.metadata.rewardBinding!==void 0))throw new Error("This Taskset requires its immutable public Reward binding to grade an attempt.");let t=h(e.graders),a=[];for(let o of e.graders)e.signal?.throwIfAborted(),a.push(e.attempt.infrastructureError?b(o,null,!1,"Infrastructure failure; no reward was produced.",[],!1):await me(o,e.task,e.attempt,e.modelJudge,e.customVerifier,e.signal));let r=F({graders:e.graders,infrastructureError:e.attempt.infrastructureError,components:a.map(o=>({...o,failureClass:o.score===null?"grader_failure":o.passed?null:"policy_failure"}))});return{schemaVersion:"openpond.gradeResult.v1",id:`grade_${h([e.attempt.id,t,a]).slice(0,24)}`,attemptId:e.attempt.id,graderSetHash:t,score:r.score,passed:r.passed,components:a,failureClass:r.failureClass,feedback:e.attempt.infrastructureError?[e.attempt.infrastructureError]:a.flatMap(o=>o.feedback?[o.feedback]:[]),rewardEligible:r.rewardEligible,createdAt:e.now?.()??new Date().toISOString()}}l(st,"gradeAttempt");async function me(e,t,a,r,o,n){if(e.kind==="model_judge"){if(!r)return b(e,null,!1,"Model judge runner is unavailable.",[],!1);if(e.calibrationStatus!=="passed")return b(e,null,!1,"Model judge calibration has not passed.",[],!1);let f=await r({grader:e,task:t,attempt:a});return b(e,f.score,f.passed,f.feedback,f.evidenceRefs??[])}if(e.kind==="human")return b(e,null,!1,"Human review is pending.",[],!1);if(e.kind==="custom_verifier"){if(!o)return b(e,null,!1,"Sandboxed verifier runner is unavailable.",[],!1);let f=await o({grader:e,task:t,attempt:a,signal:n});return b(e,f.score,f.passed,f.feedback,f.evidenceRefs??[])}let s=C({grader:O(e),task:t,evidence:a});return b(e,s.score,s.passed,s.feedback,[...a.artifactRefs,...a.runtimeEventRefs])}l(me,"runGrader");function b(e,t,a,r,o,n=e.rewardEligible){let s=t!==null&&Number.isFinite(t)?Math.max(0,Math.min(1,t)):null;return{graderId:e.id,graderVersion:e.version,score:s,passed:s!==null&&a,hardGate:e.hardGate,rewardEligible:s!==null&&n,feedback:r,evidenceRefs:o,judge:e.kind==="model_judge"?e.judge:null,calibrationStatus:e.kind==="model_judge"?e.calibrationStatus:"not_applicable"}}l(b,"component");import{access as ue,mkdir as T,readFile as Tt,writeFile as y}from"node:fs/promises";import p from"node:path";async function $t(e,t,a={}){let r=z.parse(e),o=P(r);if(!o.valid)throw new Error(o.issues.map(s=>`${s.code}: ${s.message}`).join(`
|
|
3
|
+
`));await T(p.join(t,"data"),{recursive:!0}),await T(p.join(t,"graders"),{recursive:!0}),await T(p.join(t,"environment"),{recursive:!0}),await T(p.join(t,"fixtures"),{recursive:!0});let n=[p.join(t,"taskset.json"),p.join(t,"capabilities.json"),p.join(t,"data","tasks.jsonl"),p.join(t,"graders","graders.json"),p.join(t,"fixtures","grader-fixtures.json"),p.join(t,"environment","taskset.ts")];await y(n[0],E(r),"utf8"),await y(n[1],E(r.capabilities),"utf8"),await y(n[2],r.tasks.map(s=>JSON.stringify(s)).join(`
|
|
4
|
+
`)+`
|
|
5
|
+
`,"utf8"),await y(n[3],E(r.graders),"utf8"),await y(n[4],E(r.graderFixtures),"utf8"),await y(n[5],pe(r),"utf8");for(let s of a.generatedFiles??[]){let f=te(s.path,s.role),i=p.join(t,f);await T(p.dirname(i),{recursive:!0}),await y(i,s.content,"utf8"),n.push(i)}for(let s of r.graders){if(s.kind!=="custom_verifier")continue;let f=te(s.module,"verifier");try{await ue(p.join(t,f))}catch{throw new Error(`Custom verifier ${s.id} is missing generated source ${f}.`)}}return{directory:t,files:n,taskset:r}}l($t,"buildTaskset");function te(e,t){let a=e.replaceAll("\\","/");if(p.posix.isAbsolute(a)||a.split("/").includes(".."))throw new Error(`Generated ${t} path must stay inside the Taskset: ${e}.`);let r=t==="verifier"?"graders/":t==="environment"?"environment/":"fixtures/";if(!a.startsWith(r))throw new Error(`Generated ${t} path must start with ${r}.`);return a}l(te,"safeGeneratedPath");function pe(e){return`// Generated by @openpond/taskset-sdk.
|
|
6
|
+
export const environment = ${JSON.stringify(e.environment,null,2)} as const;
|
|
7
|
+
export const tasks = ${JSON.stringify(e.tasks.map(t=>({id:t.id,input:t.input,split:t.split})),null,2)} as const;
|
|
8
|
+
`}l(pe,"generatedEnvironmentSource");export{je as a,Re as b,Y as c,Oe as d,st as e,$t as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{N as a}from"./chunk-Z4Z5UOZM.js";import{b as e}from"./chunk-ES2ISFJC.js";var r=e.enum(["openpond_hosted","local_byok","codex_app_server","unknown"]),s=e.enum(["provider_usage","codex_context_usage","missing"]),d=e.enum(["provider_usage_body","provider_response_headers"]),p=e.enum(["chat_turn","tool_loop","slash_command","create_improve_planner","harness_refiner","context_compaction","subagent","codex_context","other"]),v=e.enum(["foreground","tool_loop","compaction","subagent","refiner","other"]),m=e.enum(["user_facing","background","system"]),u=e.enum(["started","completed","failed","interrupted"]),i=e.enum(["composer_selection","prompt_parse","server_parser","model_tool","api"]),c=e.enum(["chat","settings","goal","create_improve","compaction","system"]),g=e.enum(["direct_chat","tool_loop","slash_command","planner","summary","scan","subagent","other"]),h=e.object({surface:c,workflowKind:g,sessionId:e.string().trim().min(1).nullable().default(null),turnId:e.string().trim().min(1).nullable().default(null),goalId:e.string().trim().min(1).nullable().default(null),subagentRunId:e.string().trim().min(1).nullable().default(null),subagentRoleId:e.string().trim().min(1).nullable().default(null),createImproveRunId:e.string().trim().min(1).nullable().default(null),commandName:e.string().trim().min(1).max(160).nullable().default(null),commandSource:i.nullable().default(null),appId:e.string().trim().min(1).nullable().default(null),workspaceKind:a.nullable().default(null),workspaceId:e.string().trim().min(1).nullable().default(null),localProjectId:e.string().trim().min(1).nullable().default(null),cloudProjectId:e.string().trim().min(1).nullable().default(null),sourceEventSequence:e.number().int().nonnegative().nullable().default(null)}),C=e.object({surface:c.optional(),workflowKind:g.optional(),goalId:e.string().trim().min(1).nullable().optional(),subagentRunId:e.string().trim().min(1).nullable().optional(),subagentRoleId:e.string().trim().min(1).nullable().optional(),createImproveRunId:e.string().trim().min(1).nullable().optional(),commandName:e.string().trim().min(1).max(160).nullable().optional(),commandSource:i.nullable().optional()}).strict(),n=e.string().trim().min(1).max(160),x=e.object({id:e.string().trim().min(1),requestId:e.string().trim().min(1),requestOrdinal:e.number().int().nonnegative(),sessionId:e.string().trim().min(1).nullable(),turnId:e.string().trim().min(1).nullable(),provider:n,model:e.string().trim().min(1),route:r,source:s,requestKind:p,visibility:m,status:u,startedAt:e.string().trim().min(1),completedAt:e.string().trim().min(1).nullable(),durationMs:e.number().int().nonnegative().nullable(),firstTokenMs:e.number().int().nonnegative().nullable(),promptTokens:e.number().int().nonnegative().nullable(),cachedPromptTokens:e.number().int().nonnegative().nullable(),uncachedPromptTokens:e.number().int().nonnegative().nullable(),cacheWritePromptTokens:e.number().int().nonnegative().nullable(),cacheTelemetrySource:d.nullable(),completionTokens:e.number().int().nonnegative().nullable(),totalTokens:e.number().int().nonnegative().nullable(),errorType:e.string().trim().min(1).max(160).nullable(),errorMessage:e.string().trim().min(1).max(2e3).nullable(),attribution:h}),b=e.object({from:e.string().trim().min(1),to:e.string().trim().min(1),bucket:e.enum(["day","all_time"])}),o=e.union([e.literal("all"),m]),l=e.enum(["all","started","completed","failed","interrupted","missing"]),S=e.object({range:e.enum(["7d","30d","90d","all"]).default("30d"),visibility:o.default("all"),status:l.default("all"),provider:n.optional(),model:e.string().trim().min(1).optional()}),B=S.extend({sessionId:e.string().trim().min(1).optional(),turnId:e.string().trim().min(1).optional(),limit:e.number().int().positive().max(500).default(100)}),A=e.object({sessionId:e.string().trim().min(1)}),t=e.object({requests:e.number().int().nonnegative(),promptTokens:e.number().int().nonnegative().nullable(),cacheTelemetryRequests:e.number().int().nonnegative(),cacheHitRequests:e.number().int().nonnegative(),cachedPromptTokens:e.number().int().nonnegative().nullable(),uncachedPromptTokens:e.number().int().nonnegative().nullable(),cacheWritePromptTokens:e.number().int().nonnegative().nullable(),cacheHitRate:e.number().min(0).max(1).nullable(),cacheRequestHitRate:e.number().min(0).max(1).nullable(),cacheTelemetryCoverage:e.number().min(0).max(1),completionTokens:e.number().int().nonnegative().nullable(),totalTokens:e.number().int().nonnegative().nullable(),averageLatencyMs:e.number().nonnegative().nullable(),p95LatencyMs:e.number().nonnegative().nullable(),averageFirstTokenMs:e.number().nonnegative().nullable(),p95FirstTokenMs:e.number().nonnegative().nullable(),failures:e.number().int().nonnegative(),failureRate:e.number().nonnegative(),firstSeenAt:e.string().trim().min(1),lastSeenAt:e.string().trim().min(1)}),k=t.extend({provider:n,model:e.string().trim().min(1),route:r}),y=t.extend({sessionId:e.string().trim().min(1),title:e.string().trim().min(1).nullable(),workspaceKind:a.nullable(),workspaceId:e.string().trim().min(1).nullable()}),f=t.extend({commandName:e.string().trim().min(1),commandSource:i.nullable()}),T=t.extend({route:r}),U=t.extend({status:u}),_=t.extend({source:s}),R=t.extend({cohort:v}),I=e.object({date:e.string().trim().min(1),totalTokens:e.number().int().nonnegative(),requests:e.number().int().nonnegative(),models:e.array(e.object({provider:n,model:e.string().trim().min(1),totalTokens:e.number().int().nonnegative(),requests:e.number().int().nonnegative()}))}),M=e.object({requests:e.number().int().nonnegative(),completedRequests:e.number().int().nonnegative(),failedRequests:e.number().int().nonnegative(),missingUsageRequests:e.number().int().nonnegative(),promptTokens:e.number().int().nonnegative().nullable(),cacheTelemetryRequests:e.number().int().nonnegative(),cacheHitRequests:e.number().int().nonnegative(),cachedPromptTokens:e.number().int().nonnegative().nullable(),uncachedPromptTokens:e.number().int().nonnegative().nullable(),cacheWritePromptTokens:e.number().int().nonnegative().nullable(),cacheHitRate:e.number().min(0).max(1).nullable(),cacheRequestHitRate:e.number().min(0).max(1).nullable(),cacheTelemetryCoverage:e.number().min(0).max(1),completionTokens:e.number().int().nonnegative().nullable(),totalTokens:e.number().int().nonnegative().nullable(),averageLatencyMs:e.number().nonnegative().nullable(),p95LatencyMs:e.number().nonnegative().nullable(),averageFirstTokenMs:e.number().nonnegative().nullable(),p95FirstTokenMs:e.number().nonnegative().nullable(),failureRate:e.number().nonnegative(),activeModelCount:e.number().int().nonnegative(),peakDailyTokens:e.number().int().nonnegative(),longestRequestMs:e.number().int().nonnegative().nullable(),activeDays:e.number().int().nonnegative(),currentStreakDays:e.number().int().nonnegative(),longestStreakDays:e.number().int().nonnegative()}),K=e.object({generatedAt:e.string().trim().min(1),range:b,filters:e.object({visibility:o,status:l,provider:n.nullable(),model:e.string().trim().min(1).nullable()}),totals:M,daily:e.array(I),models:e.array(k),threads:e.array(y),commands:e.array(f),routes:e.array(T),statuses:e.array(U),sources:e.array(_),cohorts:e.array(R)}),H=e.object({generatedAt:e.string().trim().min(1),range:b,filters:e.object({visibility:o,status:l,provider:n.nullable(),model:e.string().trim().min(1).nullable(),sessionId:e.string().trim().min(1).nullable(),turnId:e.string().trim().min(1).nullable()}),limit:e.number().int().positive(),hasMore:e.boolean(),records:e.array(x)}),q=e.object({turnId:e.string().trim().min(1),requests:e.number().int().nonnegative(),cacheTelemetryRequests:e.number().int().nonnegative(),cachedPromptTokens:e.number().int().nonnegative().nullable(),uncachedPromptTokens:e.number().int().nonnegative().nullable(),cacheWritePromptTokens:e.number().int().nonnegative().nullable(),cacheHitRate:e.number().min(0).max(1).nullable(),cacheTelemetryCoverage:e.number().min(0).max(1),providers:e.array(n)}),F=e.object({generatedAt:e.string().trim().min(1),sessionId:e.string().trim().min(1),turns:e.array(q)}),j=e.enum(["usage_spike","model_usage_spike","latency_regression","failure_cluster","missing_usage_frames"]),W=e.object({type:j,title:e.string().trim().min(1),summary:e.string().trim().min(1),severity:e.enum(["nit","concern","blocker"]),payload:e.record(e.string(),e.unknown()).default({})});export{C as a,x as b,S as c,B as d,A as e,K as f,H as g,F as h};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as o}from"./chunk-FTQLQJQV.js";var E=new Set(["contentsBase64","contentBase64","fileBase64","bodyBase64"]),A=new Set(["command.output","tool.completed","workspace_action_result"]);function C(t){return s(p(t),0,"")}o(C,"sanitizeRuntimeEvent");function p(t){if(!A.has(t.name)||typeof t.output!="string"||h(t.data)||t.output.length<=32e3)return t;let n=t.output.length,r=t.output.slice(0,2e4),e=t.output.slice(-12e3),i=n-r.length-e.length,c=`
|
|
3
|
+
[openpond event output compacted: ${i} chars omitted from ${n} chars]
|
|
4
|
+
`,u=`${r}${c}${e}`,_={schemaVersion:"openpond.runtimeEventOutputCompaction.v1",reason:"large_output",originalChars:n,retainedChars:u.length,omittedChars:i,headChars:r.length,tailChars:e.length};return{...t,output:u,data:R(t.data,_)}}o(p,"compactLargeRuntimeEventOutput");function R(t,n){return t===void 0?{outputCompaction:n}:a(t)?{...t,outputCompaction:n}:t}o(R,"compactedEventData");function s(t,n,r){if(typeof t=="string")return m(t,r);if(!t||typeof t!="object")return t;if(n>=8)return Array.isArray(t)?`[array:${t.length}]`:"[object]";if(Array.isArray(t)){let e=t.slice(0,100).map(i=>s(i,n+1,r));return t.length>100&&e.push(`[${t.length-100} items truncated]`),e}return Object.fromEntries(Object.entries(t).slice(0,120).map(([e,i])=>[e,s(i,n+1,e)]))}o(s,"sanitizeEventValue");function m(t,n){return E.has(n)?`[redacted base64 content: ${T(t)} bytes]`:t.length<=12e4?t:`${t.slice(0,12e4)}
|
|
5
|
+
[event string truncated: ${t.length-12e4} chars omitted]`}o(m,"sanitizeEventString");function T(t){let n=t.endsWith("==")?2:t.endsWith("=")?1:0;return Math.max(0,Math.floor(t.length*3/4)-n)}o(T,"estimatedBase64Bytes");function a(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}o(a,"isPlainRecord");function h(t){if(!a(t))return!1;let n=t.outputCompaction;return a(n)&&n.schemaVersion==="openpond.runtimeEventOutputCompaction.v1"}o(h,"hasOutputCompaction");export{C as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as x}from"./chunk-OSIO7PLX.js";import{m as w}from"./chunk-QNG27G3T.js";import{e as u}from"./chunk-3VUATFZD.js";import{la as f}from"./chunk-25MBPJVY.js";import{Pa as h,Ta as m,Ua as p}from"./chunk-ACYFMLWG.js";import{m as s}from"./chunk-KGNCKIFP.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as c}from"./chunk-FTQLQJQV.js";import g from"node:path";import{lstat as k,readFile as v,realpath as b}from"node:fs/promises";import{randomUUID as D}from"node:crypto";var y=e.object({id:e.string(),version:e.string(),contentHash:e.string().regex(/^[a-f0-9]{64}$/),feedbackKey:e.string(),release:e.object({id:e.string(),revision:e.union([e.string(),e.number()]),contentHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().nullable()}).strict(),H=e.object({binding:m,packageValue:e.unknown(),graders:e.array(y).max(100),actualGrading:e.object({pass:e.unknown(),evidence:e.unknown()}).strict().optional(),sourceCandidate:h.optional()}).strict();async function q(i,o){let n=await b(o),a=g.resolve(i);if(g.dirname(a)!==n||await b(a)!==a)throw new Error("External Dataset package escaped its private owner home.");let l=await k(a);if(!l.isFile()||l.isSymbolicLink()||l.size>32*1024*1024)throw new Error("External Dataset package is not a bounded regular file.");let r=H.parse(JSON.parse(new TextDecoder("utf8",{fatal:!0}).decode(await v(a))));return r.binding=p(r.binding),r.packageValue=u({...r,packageValue:f(r.packageValue)}),r}c(q,"readHostProfileExternalDataset");async function A(i){let o=H.parse(i.value),n=p(o.binding),a=i.release,l={id:a.harnessRelease.id,contentHash:a.harnessRelease.contentHash};if(n.protectedProfileClosureHash!==s(a.harnessRelease.files.filter(t=>t.visibility!=="policy").map(t=>({path:t.path,asset:t}))))throw new Error("The external Dataset protected Profile closure changed.");if(o.sourceCandidate){let t=await w({workspaceId:typeof a.agentSnapshot.metadata.workspaceId=="string"?a.agentSnapshot.metadata.workspaceId:a.workspaceId,sourceDir:g.join(a.bundlePath,"source")});if(s(o.sourceCandidate.harnessRelease)!==s(l)||x(t).protectedClosureHash!==o.sourceCandidate.protectedClosureHash)throw new Error("The external Dataset candidate differs from its retained frozen compiled source.")}let r=c(async t=>{if(e.object({authorized:e.literal(!0),bindingHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().parse(await i.client.request({contractVersion:1,requestId:D(),operation:"profile.externalDataset.authorize",params:{...t,bindingHash:n.contentHash}})).bindingHash!==n.contentHash)throw new Error("The host authorized another external Dataset binding.")},"authorize");return{authorize:r,resolveExternalDataset:c(async(t,d)=>{if(await r(),s(t)!==s(n)||d.profileRef.profileId!==n.profileId||d.sourceRevision!==i.sourceRevision||s(d.harnessRelease)!==s(l))throw new Error("External Dataset requested another actual Profile source or recipe.");let E=u({...o,binding:t,packageValue:f(o.packageValue)});return{binding:n,packageValue:E,authorize:r}},"resolveExternalDataset"),sourceCandidate:o.sourceCandidate}}c(A,"createHostProfileExternalDataset");export{q as a,A as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{b as e}from"./chunk-ES2ISFJC.js";var r=e.object({status:e.literal("healthy"),runtime:e.literal("openpond-app-server"),inference:e.literal("embedded"),model:e.string(),contextTokens:e.number().int().positive(),persistentHistory:e.literal(!1)}),o=e.object({requestId:e.string(),answer:e.string().max(65536),threadId:e.string(),turnId:e.string(),tools:e.array(e.unknown()).max(0)}),s=e.object({prompt:e.string().trim().min(1).refine(t=>new TextEncoder().encode(t).length<=1024,"Use at most 1,024 bytes per message.")}).strict(),i=e.object({id:e.string(),name:e.string(),providerName:e.string(),endpoint:e.string(),model:e.string(),protocol:e.enum(["openai","tvc"]),hasToken:e.boolean()});export{r as a,o as b,s as c,i as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{ua as n}from"./chunk-25MBPJVY.js";import{a}from"./chunk-FTQLQJQV.js";function l(i,e,s){i.exec("BEGIN IMMEDIATE");try{let o=i.get("SELECT content_hash, profile_id FROM taskset_revisions WHERE taskset_id = ? AND revision = ?",[e.id,e.revision]);if(o&&o.content_hash!==e.contentHash)throw new Error(`Taskset ${e.id}@${e.revision} is immutable and already has another content hash.`);let t=i.get("SELECT payload FROM tasksets WHERE id = ?",[e.id]),d=t?n.parse(JSON.parse(t.payload)):null;if(o&&o.profile_id!==e.profileId||d&&d.profileId!==e.profileId)throw new Error(`Taskset ${e.id} belongs to another Profile.`);let r=JSON.stringify(e);i.run(`INSERT INTO taskset_revisions (taskset_id, revision, content_hash, profile_id, status, payload, created_at, updated_at)
|
|
3
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
4
|
+
ON CONFLICT(taskset_id, revision) DO UPDATE SET status = excluded.status, payload = excluded.payload, updated_at = excluded.updated_at`,[e.id,e.revision,e.contentHash,e.profileId,e.status,r,e.createdAt,e.updatedAt]),(!d||d.revision<=e.revision)&&i.run(`INSERT INTO tasksets (id, profile_id, status, payload, created_at, updated_at)
|
|
5
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
6
|
+
ON CONFLICT(id) DO UPDATE SET status = excluded.status, payload = excluded.payload, updated_at = excluded.updated_at`,[e.id,e.profileId,e.status,r,e.createdAt,e.updatedAt]),s?.(),i.exec("COMMIT")}catch(o){throw i.exec("ROLLBACK"),o}}a(l,"saveTasksetRevision");export{l as a};
|