openpond 0.2.55 → 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 +10545 -10254
- package/dist/app-server.js +1 -1
- package/dist/chunks/actions-command-QU4H53OG.js +2 -0
- package/dist/chunks/{app-layer-Y2UERCPY.js → app-layer-NSTE5HIT.js} +1 -1
- package/dist/chunks/app-server-connected-apps-JHGWLBXT.js +2 -0
- package/dist/chunks/app-server-evaluations-GJPFWIDA.js +2 -0
- package/dist/chunks/app-server-harness-services-IH4G6POY.js +2 -0
- package/dist/chunks/app-server-runtime-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-UA5DA5I2.js → chunk-4D7HWVWD.js} +1 -1
- package/dist/chunks/chunk-4EPSHPZL.js +2 -0
- package/dist/chunks/chunk-4NESNOK5.js +2 -0
- package/dist/chunks/chunk-523TE4BI.js +2 -0
- package/dist/chunks/{chunk-B7QDZPNX.js → chunk-5MCNZCVQ.js} +1 -1
- package/dist/chunks/{chunk-DLVPSCTB.js → chunk-6QSSIT62.js} +1 -1
- package/dist/chunks/chunk-6ZFPQYHG.js +2 -0
- package/dist/chunks/chunk-74IIXVAE.js +2 -0
- package/dist/chunks/chunk-74ZXXBGN.js +6 -0
- package/dist/chunks/chunk-773TH7FN.js +2 -0
- package/dist/chunks/chunk-7E6T7GP5.js +2 -0
- package/dist/chunks/chunk-7ED24PP6.js +2 -0
- package/dist/chunks/chunk-7HPDGZOR.js +86 -0
- package/dist/chunks/chunk-7KWD2I6W.js +2 -0
- package/dist/chunks/chunk-7PXZ4X4P.js +2 -0
- package/dist/chunks/chunk-A6USMRWK.js +2 -0
- package/dist/chunks/chunk-ABD5M2D2.js +2 -0
- package/dist/chunks/chunk-ACYFMLWG.js +10 -0
- package/dist/chunks/chunk-AN525SPP.js +6 -0
- package/dist/chunks/chunk-APB2STJK.js +2 -0
- package/dist/chunks/chunk-AY64VY4E.js +2 -0
- package/dist/chunks/{chunk-G6JMQGX7.js → chunk-B7RFL4N2.js} +1 -1
- package/dist/chunks/chunk-BLXEAZCQ.js +12 -0
- package/dist/chunks/chunk-D74JEERO.js +5 -0
- package/dist/chunks/{chunk-U2YMBCX7.js → chunk-DARVPBZ4.js} +1 -1
- package/dist/chunks/chunk-DBK66CJP.js +8 -0
- package/dist/chunks/chunk-DDMZSZFL.js +1 -0
- package/dist/chunks/chunk-DIO5CB6U.js +2 -0
- package/dist/chunks/chunk-DMFUEUAZ.js +5 -0
- package/dist/chunks/chunk-DMVD2RFZ.js +2 -0
- package/dist/chunks/chunk-DUURYZOI.js +2 -0
- package/dist/chunks/chunk-DZUAT3TP.js +1 -0
- package/dist/chunks/chunk-EIEZHFIW.js +6 -0
- package/dist/chunks/chunk-EIRYMSEG.js +19 -0
- package/dist/chunks/{chunk-R27YGT77.js → chunk-EKM2D7JU.js} +1 -1
- package/dist/chunks/chunk-EQFGBL3O.js +2 -0
- package/dist/chunks/chunk-EYPCBBMS.js +2 -0
- package/dist/chunks/chunk-F4KOGISR.js +10 -0
- package/dist/chunks/chunk-F74GBN6K.js +2 -0
- package/dist/chunks/chunk-FEAKTSRS.js +2 -0
- package/dist/chunks/chunk-FFRFSDBM.js +2 -0
- package/dist/chunks/chunk-FTEOCCPB.js +23 -0
- package/dist/chunks/chunk-FUOEIDMA.js +8 -0
- package/dist/chunks/{chunk-BQAF5P7K.js → chunk-FV2R5RUN.js} +2 -2
- package/dist/chunks/chunk-FWIPHEVA.js +12 -0
- package/dist/chunks/chunk-FY5KHLMW.js +2 -0
- package/dist/chunks/chunk-G3RXYI2L.js +6 -0
- package/dist/chunks/chunk-GJ2ZJFDD.js +2 -0
- package/dist/chunks/chunk-GLDYJM7O.js +1 -0
- package/dist/chunks/chunk-GPVCOEUH.js +2 -0
- package/dist/chunks/chunk-GW766ZSO.js +5 -0
- package/dist/chunks/chunk-GWCHDF2C.js +4 -0
- package/dist/chunks/chunk-GZ7M5XBP.js +2 -0
- package/dist/chunks/chunk-H6IW2R22.js +140 -0
- package/dist/chunks/chunk-HCYX6RHP.js +2 -0
- package/dist/chunks/chunk-HDL5YSAA.js +2 -0
- package/dist/chunks/chunk-HIOKCIL7.js +2 -0
- package/dist/chunks/{chunk-IODUCRBA.js → chunk-HY3GOBFJ.js} +1 -1
- package/dist/chunks/chunk-HZEIRHEB.js +2 -0
- package/dist/chunks/chunk-I2NXNMRZ.js +2 -0
- package/dist/chunks/chunk-I7AQMAQI.js +33 -0
- package/dist/chunks/chunk-IZ6DLEVY.js +2 -0
- package/dist/chunks/chunk-J2TWKFML.js +1871 -0
- package/dist/chunks/chunk-JDEEWOD7.js +2 -0
- package/dist/chunks/chunk-JFXWI3EN.js +6 -0
- package/dist/chunks/chunk-JYKRR7E5.js +5 -0
- package/dist/chunks/chunk-KCJVFLBB.js +2 -0
- package/dist/chunks/{chunk-5CMKGD43.js → chunk-KG325WTN.js} +1 -1
- package/dist/chunks/chunk-KUERKVEU.js +3 -0
- package/dist/chunks/chunk-KVTBX2UP.js +2 -0
- package/dist/chunks/chunk-L3KS6MOV.js +2 -0
- package/dist/chunks/chunk-L6K7ERG5.js +2 -0
- package/dist/chunks/{chunk-MH3LHSGX.js → chunk-LQQNBVEB.js} +1 -1
- package/dist/chunks/{chunk-BTI4N7YO.js → chunk-M4JWQSV7.js} +1 -1
- package/dist/chunks/chunk-MQULU465.js +2 -0
- package/dist/chunks/chunk-N4FFQPLR.js +2 -0
- package/dist/chunks/chunk-N73MU2C3.js +2 -0
- package/dist/chunks/chunk-NHQ36THU.js +3 -0
- package/dist/chunks/chunk-O6ULLQJ6.js +2 -0
- package/dist/chunks/chunk-O72BSKSO.js +2 -0
- package/dist/chunks/chunk-OGDADQGH.js +143 -0
- package/dist/chunks/chunk-OIUTWU6K.js +2 -0
- package/dist/chunks/chunk-OLLLZVHF.js +2 -0
- package/dist/chunks/chunk-OPNRWESL.js +3 -0
- package/dist/chunks/chunk-OQKJGTTO.js +4 -0
- package/dist/chunks/chunk-OQPJ7FJF.js +9 -0
- package/dist/chunks/{chunk-TERVLCRG.js → chunk-OS3LO5J3.js} +1 -1
- package/dist/chunks/chunk-OUVIWDL2.js +2 -0
- package/dist/chunks/chunk-PCSIOUHF.js +7 -0
- package/dist/chunks/chunk-PF5R6CMP.js +21 -0
- package/dist/chunks/chunk-PPAPVGJP.js +3 -0
- package/dist/chunks/chunk-PRGBLQVH.js +2 -0
- package/dist/chunks/chunk-PSGGOZFM.js +2 -0
- package/dist/chunks/chunk-PUZQU66L.js +2 -0
- package/dist/chunks/{chunk-NOTXPD2T.js → chunk-Q2QL6UWN.js} +1 -1
- package/dist/chunks/chunk-Q4TBTRIG.js +2 -0
- package/dist/chunks/chunk-Q5LEXXJG.js +16 -0
- package/dist/chunks/chunk-QDC4OW3S.js +2 -0
- package/dist/chunks/chunk-QEFHOJFE.js +7 -0
- package/dist/chunks/chunk-QHWGQ3A4.js +5 -0
- package/dist/chunks/chunk-QIKWJ2AA.js +11 -0
- package/dist/chunks/chunk-QNG27G3T.js +6 -0
- package/dist/chunks/chunk-QOGJAQDO.js +3 -0
- package/dist/chunks/chunk-QOTVNQDI.js +4 -0
- package/dist/chunks/{chunk-NNIRIUSY.js → chunk-RAXOSUSW.js} +1 -1
- package/dist/chunks/chunk-RNIAFXMB.js +50 -0
- package/dist/chunks/{chunk-SHQOIROR.js → chunk-S5ESN275.js} +3 -3
- package/dist/chunks/chunk-SDAUS5PY.js +2 -0
- package/dist/chunks/chunk-SDXFLO7J.js +5 -0
- package/dist/chunks/chunk-SH5CBAFC.js +2 -0
- package/dist/chunks/chunk-SWUEFLOH.js +2 -0
- package/dist/chunks/chunk-SYUKES6H.js +3 -0
- package/dist/chunks/chunk-T5AACNJI.js +2 -0
- package/dist/chunks/chunk-TRQQNFMO.js +4 -0
- package/dist/chunks/chunk-TVQAPBLZ.js +2 -0
- package/dist/chunks/chunk-UCPGRPWY.js +2 -0
- package/dist/chunks/chunk-UGL7WF3W.js +2 -0
- package/dist/chunks/chunk-UHFZHBGW.js +2 -0
- package/dist/chunks/{chunk-C6D4WAYN.js → chunk-UKMA4R6X.js} +2 -2
- package/dist/chunks/{chunk-4WEUCGJ3.js → chunk-VRIEKBBH.js} +1 -1
- package/dist/chunks/chunk-VYLGI3IH.js +13 -0
- package/dist/chunks/chunk-W45RKGM6.js +1 -0
- package/dist/chunks/chunk-WJ43MJ3F.js +2 -0
- package/dist/chunks/chunk-WMKYHXVM.js +3 -0
- package/dist/chunks/chunk-WN3V6KDN.js +3 -0
- package/dist/chunks/chunk-X4OSOOSU.js +3 -0
- package/dist/chunks/chunk-XDQMGUWL.js +2 -0
- package/dist/chunks/chunk-XTFPDQMH.js +3 -0
- package/dist/chunks/chunk-XVDFJ3ZF.js +2 -0
- package/dist/chunks/chunk-XW6HGSIT.js +8 -0
- package/dist/chunks/chunk-XXYGGNVM.js +2 -0
- package/dist/chunks/chunk-Y4OWBBDD.js +184 -0
- package/dist/chunks/chunk-YBT2NB32.js +2 -0
- package/dist/chunks/chunk-YCJO3YVD.js +10 -0
- package/dist/chunks/{chunk-QRAKXZOC.js → chunk-YOBN7KTF.js} +6 -6
- package/dist/chunks/chunk-YOQRYNLP.js +2 -0
- package/dist/chunks/chunk-YY7LEQGP.js +2 -0
- package/dist/chunks/chunk-Z4Z5UOZM.js +22 -0
- package/dist/chunks/chunk-Z54O534A.js +3 -0
- package/dist/chunks/chunk-ZCHXGRRU.js +2 -0
- package/dist/chunks/chunk-ZFSHBFG5.js +40 -0
- package/dist/chunks/chunk-ZGTOK7ZK.js +12 -0
- package/dist/chunks/{chunk-Q7AXHFZV.js → chunk-ZRDGQDZL.js} +1 -1
- package/dist/chunks/chunk-ZUJ3XUCP.js +2 -0
- package/dist/chunks/chunk-ZZWAQBA2.js +2 -0
- package/dist/chunks/cli-X25RSO2X.js +2 -0
- package/dist/chunks/configuration-command-6C5UO7GE.js +2 -0
- package/dist/chunks/connected-app-executor-IVLGQP65.js +2 -0
- package/dist/chunks/connected-evidence-GH2ATNEX.js +2 -0
- package/dist/chunks/connection-HTF6CC7M.js +2 -0
- package/dist/chunks/{continual-TTGJ6YTR.js → continual-6CQAMTTR.js} +3 -3
- package/dist/chunks/core-commands-A2DGGIPS.js +2 -0
- package/dist/chunks/datasets-7BNMVJOY.js +2 -0
- package/dist/chunks/desktop-test-3CUHVLXV.js +3 -0
- package/dist/chunks/dist-OMGUJYPD.js +2 -0
- package/dist/chunks/dist-VYC5VMQB.js +2 -0
- package/dist/chunks/{dist-FAJX2UBW.js → dist-ZVJPJLXR.js} +1 -1
- package/dist/chunks/enclave-QS4BUNDU.js +2 -0
- package/dist/chunks/evaluation-coordination-XEF5L7KZ.js +2 -0
- package/dist/chunks/experiment-improvements-KRX2DP27.js +2 -0
- package/dist/chunks/experiments-DFGQYA4O.js +2 -0
- package/dist/chunks/experiments-VFQGE4HC.js +2 -0
- package/dist/chunks/{extension-DWMY6D2R.js → extension-XKXXOP5N.js} +1 -1
- package/dist/chunks/{help-A72QDRNG.js → help-S7THC6IE.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-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/learning-ACEVFL5M.js +2 -0
- package/dist/chunks/local-harness-improvement-runtime-JIQ6ZVDW.js +2 -0
- package/dist/chunks/local-harness-taskset-review-XVYTGAGK.js +2 -0
- package/dist/chunks/local-scope-HVF2GZ5W.js +2 -0
- package/dist/chunks/model-projects-QPO22JPA.js +2 -0
- package/dist/chunks/opchat-T4QTNEIY.js +3 -0
- package/dist/chunks/organizations-75L5DZDV.js +2 -0
- package/dist/chunks/{profile-NOZ6TVXL.js → profile-TFZMUEDR.js} +1 -1
- package/dist/chunks/profile-training-source-6GOT7AHM.js +2 -0
- package/dist/chunks/project-action-payload-7VGL7OER.js +2 -0
- package/dist/chunks/project-agent-6RRO233B.js +2 -0
- package/dist/chunks/published-experiment-source-DZFENAQA.js +2 -0
- package/dist/chunks/refiner-profile-service-UUIWFJVT.js +2 -0
- package/dist/chunks/runtime-A7OZXM43.js +6 -0
- package/dist/chunks/sandbox-command-IU5XFTJP.js +2 -0
- package/dist/chunks/{sandbox-template-LKGBDVJ4.js → sandbox-template-C4V6T36U.js} +1 -1
- package/dist/chunks/saved-work-6BMBFP43.js +2 -0
- package/dist/chunks/send-turn-XTAIS2JN.js +2 -0
- package/dist/chunks/src-CJM6HY5Y.js +326 -0
- package/dist/chunks/{src-ZWJ5IO7A.js → src-LMC3K6LH.js} +1 -1
- package/dist/chunks/standalone-experiment-turn-owner-JCY5LL5R.js +2 -0
- package/dist/chunks/store-chat-workflows-S72HZXQR.js +18 -0
- package/dist/chunks/store-continual-support-reviews-HHA6NX7K.js +7 -0
- package/dist/chunks/store-conversation-serving-KPC62UEY.js +2 -0
- package/dist/chunks/store-create-improve-QV54XIZW.js +40 -0
- package/dist/chunks/store-datasets-RXJ33SUN.js +86 -0
- package/dist/chunks/store-evaluation-results-3F3P527G.js +7 -0
- package/dist/chunks/store-harness-evaluation-review-settings-I2R3HPO3.js +29 -0
- package/dist/chunks/store-harness-memory-VINCZ4GK.js +17 -0
- package/dist/chunks/store-harness-refinement-candidates-EA5KFQPH.js +21 -0
- package/dist/chunks/store-harness-workspaces-XUM4Z66X.js +2 -0
- package/dist/chunks/store-human-review-RAH7WMIP.js +7 -0
- package/dist/chunks/store-learned-preference-migration-validation-4CI2IRUF.js +2 -0
- package/dist/chunks/store-learning-WLG6KFIO.js +2 -0
- package/dist/chunks/store-learning-credentials-WZQJ4HPJ.js +2 -0
- package/dist/chunks/store-local-experiments-5LUJR7GI.js +97 -0
- package/dist/chunks/store-model-batch-review-YEGX327M.js +2 -0
- package/dist/chunks/store-model-configuration-5ZURQATB.js +3 -0
- package/dist/chunks/store-preference-comparison-LV32MHVL.js +6 -0
- package/dist/chunks/store-schedules-VGTEQVKH.js +53 -0
- package/dist/chunks/store-sidebar-file-bookmarks-VB5GTLFY.js +18 -0
- package/dist/chunks/store-sidebar-preferences-GWIOG2NH.js +16 -0
- package/dist/chunks/store-subagents-T7R2Z6TB.js +67 -0
- package/dist/chunks/store-task-inbox-JJTBW76C.js +33 -0
- package/dist/chunks/store-task-inventory-OB3F2APC.js +10 -0
- package/dist/chunks/store-taskset-drafts-EKQWWFYQ.js +9 -0
- package/dist/chunks/store-training-G6YLFSIR.js +70 -0
- package/dist/chunks/store-training-jobs-RC46YBF6.js +19 -0
- package/dist/chunks/store-training-models-6BA43IPP.js +49 -0
- package/dist/chunks/store-usage-IE2U2FD3.js +63 -0
- package/dist/chunks/store-work-evidence-QQDKM5AQ.js +8 -0
- package/dist/chunks/taskset-EQRFQBYM.js +2 -0
- package/dist/chunks/taskset-packages-XC6HEE3K.js +2 -0
- package/dist/chunks/{teams-bot-H7XT23XB.js → teams-bot-EAPGPTHZ.js} +1 -1
- package/dist/chunks/training-UF6RPI4T.js +2 -0
- package/dist/chunks/web-search-CZ3NCLPY.js +2 -0
- package/dist/chunks/workspaces-EKKE5NAC.js +2 -0
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/web/assets/{App-CTlAPuCY.css → App-CaRMZoxo.css} +1 -1
- package/dist/web/assets/App-s-CJswyt.js +154 -0
- package/dist/web/assets/{AppDialog-CPHTPqrx.js → AppDialog-t2Fx5tK3.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-BVj5Tj93.js → AppTerminalPanel-Dj1Y32oI.js} +2 -2
- package/dist/web/assets/{AppsView-O69zEBY3.js → AppsView-BYE5EBDJ.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-Pr_Kpe8p.js → BrowserSidebar-jhWi4rVm.js} +1 -1
- package/dist/web/assets/{CartesianChart-JPqo6YOf.js → CartesianChart-C1DIx0Ia.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-CAJcQFn2.js → CollaborationTabs-Bdr-HmOL.js} +1 -1
- package/dist/web/assets/{CommandMenu-B-w53n9A.js → CommandMenu-Ux2yOHAc.js} +1 -1
- package/dist/web/assets/{CommunityView-DbZKK8_P.js → CommunityView-DPEeVKFn.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-3_083PF4.js → ComposerCreateImproveStrip-CEgh4OtN.js} +1 -1
- package/dist/web/assets/{GetStartedView-D7JGm_6c.js → GetStartedView-CFHP0AaI.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-DwgMfZ7_.js → HostedModelLearningReview-D8BGTPVN.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-JRfQadRl.js → HostedModelLearningSettings-JS1S7vNO.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-BUYflJY_.js → LabModelVersionDetailPage-Dx5Q3xV2.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-BBiqk7Rf.js → LabSkillSidebar-BxffN-pN.js} +1 -1
- package/dist/web/assets/{LabsRoute-Ci6vUnSd.js → LabsRoute-CyYF8-dw.js} +4 -4
- package/dist/web/assets/{MainChatThread-BQK3oI2N.js → MainChatThread-DZpcFRFl.js} +2 -2
- package/dist/web/assets/MainPane-5DTtwVCk.js +65 -0
- package/dist/web/assets/MainPane-BIM_UJ3q.css +1 -0
- package/dist/web/assets/{MarkdownText-DOdOVFXL.js → MarkdownText-BR4V6lNO.js} +21 -21
- package/dist/web/assets/{NativeSkillSidebar-CRI_ri8z.js → NativeSkillSidebar-DU9IEgIO.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-DhYtfE68.js → NewExperienceSwitcher-mIy6FzCj.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-D8sy1gOz.js → NewProjectDialog-RfTZTHxl.js} +1 -1
- package/dist/web/assets/{OutputsPage-CbWgrhXA.js → OutputsPage-Cr1Spf7S.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DLB67lyA.js → ProjectsPage-CE6QUB-b.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-ozSKnDyX.js → RightChatPanelStack-T6VRWuHo.js} +1 -1
- package/dist/web/assets/RightSidebarHomePanel-CK0rP3WT.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-Cafv_QnR.js → ScheduledWorkPage-vOrYv8pp.js} +1 -1
- package/dist/web/assets/SettingsView-DCKVrfjj.js +5 -0
- package/dist/web/assets/SettingsView-Dulr_xlq.css +1 -0
- package/dist/web/assets/{TeamChatView-vIrmXOY_.js → TeamChatView-Bwrjr-vk.js} +2 -2
- package/dist/web/assets/{TerminalOverlay-CAmF__Dq.js → TerminalOverlay-DhPoKZAq.js} +1 -1
- package/dist/web/assets/TrainingCreationPanel-BXHfohNm.js +1 -0
- package/dist/web/assets/{TrainingDraftPanel-D7XZePAk.js → TrainingDraftPanel-C9cRX5qf.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CYTmp7PG.js → UsageSettingsSection-CrdcSGeW.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-DSSikNFQ.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-DQGoIjH9.js → WorkspaceDiffPanel-BAFo0CPN.js} +6 -6
- package/dist/web/assets/{WorkspaceEnvironmentMenu-c1pHDskn.js → WorkspaceEnvironmentMenu-BVHAhwnJ.js} +1 -1
- package/dist/web/assets/WorkspaceGitDialogs-CwVoiDQ2.js +1 -0
- package/dist/web/assets/{WorkspaceMonacoEditor-BCKzvSj2.js → WorkspaceMonacoEditor-TxLyhzNp.js} +3 -3
- package/dist/web/assets/{arrow-up-right-CP4hZdrJ.js → arrow-up-right-C9aE8Mfz.js} +1 -1
- package/dist/web/assets/{chunk-NOJECMB7-Bhcms-w5.js → chunk-P3BRSSRD-DUGfuKA8.js} +1 -1
- package/dist/web/assets/{clipboard-BgrXorn-.js → clipboard-Dk158Qp4.js} +1 -1
- package/dist/web/assets/{cloud-upload-B_zYztb6.js → cloud-upload-k9eqBsHr.js} +1 -1
- package/dist/web/assets/{cssMode-DanjGgA8.js → cssMode-CO35ARZp.js} +1 -1
- package/dist/web/assets/{folder-open-CdVKbtGq.js → folder-open-sYgceW_f.js} +1 -1
- package/dist/web/assets/{folder-plus-Cc5KElB6.js → folder-plus-CS0R49m9.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-CjGIIgRi.js → git-commit-horizontal-DrGxH2h4.js} +1 -1
- package/dist/web/assets/{htmlMode-DRGDF_UL.js → htmlMode-REMmzdfq.js} +1 -1
- package/dist/web/assets/index-3iPNbbER.css +1 -0
- package/dist/web/assets/{index-BE-wXZ5R.js → index-C8aCGagb.js} +2 -2
- package/dist/web/assets/{info-BLj0RvhA.js → info-DLdbiUrh.js} +1 -1
- package/dist/web/assets/{jsonMode-CCu0j2GD.js → jsonMode-KEdMfkIf.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-s_Lhm7P6.js → lspLanguageFeatures-5KZwEoxW.js} +1 -1
- package/dist/web/assets/{minimize-2-Cyg_zD9z.js → minimize-2-CqcI4zcM.js} +1 -1
- package/dist/web/assets/{monaco.contribution-CY7mRgOB.js → monaco.contribution-BJGj65F9.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CAzXvYkn.js → monaco.contribution-Cly9Wt7L.js} +2 -2
- package/dist/web/assets/{monaco.contribution-mUPNK9ra.js → monaco.contribution-DO10L0zW.js} +2 -2
- package/dist/web/assets/{monaco.contribution-aUeLcBEg.js → monaco.contribution-omszXBEj.js} +2 -2
- package/dist/web/assets/{monitor-DZvOs_wC.js → monitor-BFVCcbxp.js} +1 -1
- package/dist/web/assets/{play-BJPzemuY.js → play-C469pVZq.js} +1 -1
- package/dist/web/assets/{python-B_qnnVaG.js → python-Dw0YcVy9.js} +1 -1
- package/dist/web/assets/{save-BDy9tA3E.js → save-CtSjPydi.js} +1 -1
- package/dist/web/assets/{square-Cb2c5td4.js → square-BuImvLhT.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-MhO1JLyR.js → toggleHighContrast-DjCO9lIP.js} +1 -1
- package/dist/web/assets/{tsMode-DfBXJb9V.js → tsMode-BAOnxKd6.js} +1 -1
- package/dist/web/assets/{upload-D56kThRh.js → upload-2JkFZo3h.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-DMnGfswi.js → useLocalAgentSchedules-BNqAisfS.js} +1 -1
- package/dist/web/assets/useProviderSettings-C4L4wDoh.js +5 -0
- package/dist/web/assets/{useProviderSettings-Bw-csWbH.css → useProviderSettings-CmL_BaxP.css} +1 -1
- package/dist/web/assets/{useSessionTurnCache-ClAY8gze.js → useSessionTurnCache-BHU2-Jmz.js} +1 -1
- package/dist/web/assets/{wifi-off-C9lWJmVm.js → wifi-off-CpOAH62M.js} +1 -1
- package/dist/web/assets/{workers-BYzrH8by.js → workers-0QvlA2T5.js} +1 -1
- package/dist/web/assets/{yaml-D3T8UkT3.js → yaml-BK3qxo7D.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/chunks/actions-command-WTFZA7LF.js +0 -2
- package/dist/chunks/app-server-runtime-2RM3N4I6.js +0 -2
- package/dist/chunks/apps-KDNWYO3G.js +0 -2
- package/dist/chunks/chunk-2DFR7PJ4.js +0 -2460
- package/dist/chunks/chunk-4CRM2ADK.js +0 -2
- package/dist/chunks/chunk-55G6B54U.js +0 -6
- package/dist/chunks/chunk-73G5UYBB.js +0 -12
- package/dist/chunks/chunk-ARQEJOEK.js +0 -33
- package/dist/chunks/chunk-CGBI2VYJ.js +0 -2
- package/dist/chunks/chunk-GGIG3XU7.js +0 -3
- package/dist/chunks/chunk-JIMU3KDA.js +0 -24
- package/dist/chunks/chunk-JUJSA7KI.js +0 -22
- package/dist/chunks/chunk-K5SBVO3B.js +0 -195
- package/dist/chunks/chunk-KD3QVRIJ.js +0 -21
- package/dist/chunks/chunk-L4235TRQ.js +0 -140
- package/dist/chunks/chunk-MVF3F5QS.js +0 -2
- package/dist/chunks/chunk-OULAKUIN.js +0 -2
- package/dist/chunks/chunk-OWNLDB2O.js +0 -2
- package/dist/chunks/chunk-QDHMP5FS.js +0 -2
- package/dist/chunks/chunk-QKD5OMDI.js +0 -2
- package/dist/chunks/chunk-R2BSIRYL.js +0 -3
- package/dist/chunks/chunk-STDMBJOQ.js +0 -9
- package/dist/chunks/chunk-T4QGDQHP.js +0 -4
- package/dist/chunks/chunk-USMZT5FZ.js +0 -18
- package/dist/chunks/chunk-VJEZPDBS.js +0 -5
- package/dist/chunks/chunk-WDFLCNRC.js +0 -8
- package/dist/chunks/chunk-WZYRAR7X.js +0 -16
- package/dist/chunks/chunk-YDT7L3VZ.js +0 -24
- package/dist/chunks/chunk-YUPBAWBJ.js +0 -554
- package/dist/chunks/cli-465VC2WP.js +0 -2
- package/dist/chunks/configuration-command-LAAP2EXT.js +0 -2
- package/dist/chunks/connected-evidence-XM626247.js +0 -2
- package/dist/chunks/core-commands-W7EK552V.js +0 -2
- package/dist/chunks/datasets-QJWYTTQL.js +0 -2
- package/dist/chunks/desktop-test-3B2D34NF.js +0 -3
- package/dist/chunks/dist-HUAE2KFZ.js +0 -2
- package/dist/chunks/evaluation-coordination-2MONR4AX.js +0 -2
- package/dist/chunks/experiment-improvements-WVQ5FK46.js +0 -2
- package/dist/chunks/experiments-S5UQ32QB.js +0 -2
- package/dist/chunks/hosted-experiment-improvement-2OWOQLHC.js +0 -3
- package/dist/chunks/hosted-harness-runtime-TGFMAV7W.js +0 -2
- package/dist/chunks/hosted-profile-candidate-WQSI6HZO.js +0 -3
- package/dist/chunks/hosted-profile-compiler-Z2A4TEA6.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-control-FKGARUEE.js +0 -2
- package/dist/chunks/hosted-profile-evaluation-inspection-QOY2JKV4.js +0 -3
- package/dist/chunks/hosted-profile-evaluation-preparation-WVP6CALP.js +0 -3
- package/dist/chunks/human-review-TGHQKXFZ.js +0 -2
- package/dist/chunks/import-4UE5XNSG.js +0 -4
- package/dist/chunks/learning-R2XBMMEM.js +0 -2
- package/dist/chunks/opchat-WULL6CUP.js +0 -3
- package/dist/chunks/organizations-I37HISVX.js +0 -2
- package/dist/chunks/project-agent-T6XKC54C.js +0 -2
- package/dist/chunks/sandbox-command-STB47FRY.js +0 -2
- package/dist/chunks/src-T3KWWCAH.js +0 -322
- package/dist/chunks/taskset-RNYDR4GS.js +0 -2
- package/dist/chunks/training-M6FAPRSJ.js +0 -2
- package/dist/chunks/workspaces-MFZ3OO6O.js +0 -2
- package/dist/web/assets/App-CLFfy_Av.js +0 -154
- package/dist/web/assets/MainPane-D3ojiN-p.js +0 -18
- package/dist/web/assets/MainPane-DOWsSew1.css +0 -1
- package/dist/web/assets/RightSidebarHomePanel-CKs3OwhD.js +0 -1
- package/dist/web/assets/SettingsView-BnANbPLS.css +0 -1
- package/dist/web/assets/SettingsView-T1vYDPjh.js +0 -5
- package/dist/web/assets/TrainingCreationPanel-D75K0yk5.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-CODMjVHY.js +0 -1
- package/dist/web/assets/WorkspaceGitDialogs-DrVtapQQ.js +0 -1
- package/dist/web/assets/index-B5re-RJy.css +0 -1
- package/dist/web/assets/useProviderSettings-Bv5B9eNk.js +0 -5
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as _}from"./chunk-X4OSOOSU.js";import{b}from"./chunk-3K4VVB7S.js";import{b as P}from"./chunk-A6USMRWK.js";import{g as h}from"./chunk-KG325WTN.js";import{q as x}from"./chunk-WJ43MJ3F.js";import{h as T}from"./chunk-N4FFQPLR.js";import{h as E,j as w,k as y}from"./chunk-74ZXXBGN.js";import{F as I}from"./chunk-Z4Z5UOZM.js";import{a as l}from"./chunk-FTQLQJQV.js";function L(e){let a=e.result.proposal,d=a?.edits.find(t=>t.target!=="harness.json")??a?.edits[0]??null,c=e.result.outcome.metadata.routed===!0,n=a?e.result.applyReceipt?.decision==="applied"?"applied":"retained":c?"routed":"no_action",r=a?.baseHarnessRelease??e.trigger.harnessRelease,o=n==="applied"?e.result.advanceReceipt?.nextRelease??r:null;return{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:C(e.session)?"always":"material_only",state:"completed",workspaceId:e.result.workspace.id,result:n,decision:a?"propose":c?"route":"no_action",route:a?.route??g(e.result.outcome.metadata.route),operation:d?.operation??null,target:d?.target??null,summary:d?.summary??g(e.result.outcome.metadata.summary)??U(n,a?.route??g(e.result.outcome.metadata.route)),expectedOutcome:a?.expectedOutcome??g(e.result.outcome.metadata.expectedOutcome),reason:e.result.outcome.reason,evidenceBasis:B(e.result),critiqueStatus:a?"passed":"not_applicable",validationStatus:W(e.result),validationReceipts:e.result.validations.map(t=>({id:t.id,contentHash:t.contentHash,status:t.status,summary:t.summary})),edits:a?.edits.map(t=>({id:t.id,operation:t.operation,target:t.target,summary:t.summary,content:t.content}))??[],trigger:{id:e.trigger.id,contentHash:e.trigger.contentHash},outcome:{id:e.result.outcome.id,contentHash:e.result.outcome.contentHash},proposal:a?{id:a.id,contentHash:a.contentHash}:null,applyReceipt:e.result.applyReceipt?{id:e.result.applyReceipt.id,contentHash:e.result.applyReceipt.contentHash}:null,advanceReceipt:e.result.advanceReceipt?{id:e.result.advanceReceipt.id,contentHash:e.result.advanceReceipt.contentHash}:null,inputHarness:r,outputHarness:o}}l(L,"localHarnessRefinerActivityDisplay");function B(e){let a=e.proposal?.metadata.evidenceBasis??e.outcome.metadata.evidenceBasis,d=E.safeParse(a);return d.success?d.data:null}l(B,"evidenceBasisFromResult");function W(e){if(!e.proposal)return"not_applicable";let a=new Map(e.validations.map(c=>[c.validationId,c])),d=e.proposal.validationPlan.filter(c=>c.required);return d.some(c=>!a.has(c.id))?"pending":d.every(c=>a.get(c.id)?.status==="passed")?"passed":"failed"}l(W,"proposalValidationStatus");function C(e){return e.metadata?.automatedTasksetWorkAttempt===!0||typeof e.metadata?.tasksetId=="string"||typeof e.metadata?.benchmarkRuntime=="string"}l(C,"isEvaluationSession");function g(e){return typeof e=="string"&&e.trim()?e.trim():null}l(g,"stringMetadata");function U(e,a){return e==="no_action"?"No reusable change":e==="routed"?a?`${k(a)} issue routed`:"Issue routed":e==="applied"?a?`${k(a)} change`:"Harness change":a?`${k(a)} change`:"Harness change"}l(U,"resultSummary");function k(e){return e.length>0?`${e[0].toUpperCase()}${e.slice(1)}`:e}l(k,"titleCase");function G(e){let a=new Set,d=l((async function(n){if(q(n.session))return;let r=await _({store:e.store,...n});if(!r)return;let o=r.trigger;if(o.decision==="route_deterministically"&&o.deterministicRoute){let t=T({schemaVersion:"openpond.improvementRouteDecision.v1",id:`route-${o.contentHash.slice(0,24)}`,trigger:{id:o.id,contentHash:o.contentHash},route:o.deterministicRoute,authority:"runtime_service",automatic:!0,reason:o.reason,createdAt:o.createdAt,metadata:{}});await e.store.saveHarnessImprovementArtifact(n.turn.harnessSnapshot.workspaceId,"route_decision",t);return}o.decision==="queue_refiner"&&await c(n,o,!1)}),"processLocalHarnessImprovementBoundary");async function c(n,r,o){if(r.decision!=="queue_refiner")throw new Error("Only queued Harness Refiner triggers can be enqueued.");if(a.has(r.contentHash))return;a.add(r.contentHash);let t=Date.now();try{await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.queued",source:"server",appId:n.session.appId,status:"pending",output:r.reason,data:{triggerId:r.id,timeoutMs:w,maxOutputTokens:y,execution:"public_package",recoveredAfterRestart:o,activity:{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:D(n.session),state:"running",summary:"Reviewing this Work for a reusable improvement"}}}))}catch(f){throw a.delete(r.contentHash),f}e.queue.enqueue({label:"Refine the Local Harness from a recovered execution detour",metadata:{key:r.contentHash,sessionId:n.session.id,turnId:n.turn.id,triggerId:r.id,recoveredAfterRestart:o}},async()=>{let f=0,p=Date.now(),u=null,i=null;try{await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.started",source:"server",appId:n.session.appId,status:"started",data:{triggerId:r.id,queueWaitMs:Math.max(0,p-t),timeoutMs:w,maxOutputTokens:y,execution:"public_package",recoveredAfterRestart:o,activity:{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:D(n.session),state:"running",summary:"Reviewing this Work for a reusable improvement"}}})),await e.prepareReview?.(r);let s=await b({store:e.store,storeDir:e.storeDir,loadActiveRefinerRelease:e.loadActiveRefinerRelease,trigger:r,signal:new AbortController().signal,stream:l(async function*({messages:O,signal:S}){u===null&&(u=Date.now());let M=f++,A=`harness-refiner:${r.id}:${M}`,v=await P({session:n.session,turn:n.turn,provider:"openpond",model:I,requestId:A,requestOrdinal:M,requestKind:"harness_refiner",upsert:e.upsertModelUsageRecord});try{for await(let m of e.streamOpenPondHostedChatTurn({model:I,messages:O,requestId:A,reasoningEffort:"low",maxTokens:y,signal:S}))m.type==="text_delta"&&m.text?(v.observeDelta({text:m.text}),yield{text:m.text}):m.type==="reasoning_delta"&&m.text?v.observeDelta({reasoningText:m.text}):m.type==="usage"&&v.observeDelta({usage:m.usage});await v.complete(),i=Date.now()}catch(m){throw i=Date.now(),await v.fail(m,S.aborted?"interrupted":"failed"),m}},"stream")}),R=Date.now(),H=L({session:n.session,trigger:r,result:s});await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.completed",source:"server",appId:n.session.appId,status:"completed",output:s.outcome.reason,data:{recoveredAfterRestart:o,trigger:{id:r.id,contentHash:r.contentHash},outcome:{id:s.outcome.id,contentHash:s.outcome.contentHash,decision:s.outcome.decision,routed:s.outcome.metadata.routed===!0,route:typeof s.outcome.metadata.route=="string"?s.outcome.metadata.route:null},proposal:s.proposal?{id:s.proposal.id,contentHash:s.proposal.contentHash}:null,workspaceAdvance:s.advanceReceipt?.decision??null,activity:H,timing:{queueWaitMs:Math.max(0,p-t),modelDurationMs:u===null||i===null?null:Math.max(0,i-u),materializationDurationMs:i===null?null:Math.max(0,R-i),totalJobDurationMs:Math.max(0,R-p)}}}))}catch(s){let R=Date.now();throw await e.appendRuntimeEvent(h({sessionId:n.session.id,turnId:n.turn.id,name:"harness.refiner.failed",source:"server",appId:n.session.appId,status:"failed",output:s instanceof Error?s.message:String(s),data:{triggerId:r.id,recoveredAfterRestart:o,activity:{schemaVersion:"openpond.localHarnessRefinerActivityDisplay.v1",visibility:D(n.session),state:"failed",summary:"Refiner review failed",reason:s instanceof Error?s.message:String(s)},timing:{queueWaitMs:Math.max(0,p-t),modelDurationMs:u===null||i===null?null:Math.max(0,i-u),totalJobDurationMs:Math.max(0,R-p)}}})).catch(()=>{}),s}finally{a.delete(r.contentHash)}})}return l(c,"enqueueTrigger"),d.reconcilePending=async()=>{let n=await e.store.listPendingHarnessRefinerTriggers(),r=0;for(let{workspaceId:o,trigger:t}of n){let[f,p]=await Promise.all([e.store.getSession(t.runRef),e.store.getTurn(t.turnId)]);if(!f||!p||p.sessionId!==f.id)throw new Error(`Pending Harness Refiner trigger ${t.id} references an unavailable session or turn.`);if(q(f))continue;let u=p;if(!u.harnessSnapshot){let[i,s]=await Promise.all([e.store.getHarnessWorkspace(o),e.store.getHarnessRunOverlay(t.runRef)]),R=!!(i&&s&&t.overlay&&s.id===t.overlay.id&&s.revision===t.overlay.revision&&s.contentHash===t.overlay.contentHash&&s.workspace.workspaceId===o&&s.workspace.revision===i.revision&&s.workspace.sourceRevision===i.sourceRevision&&s.workspace.channelRevision===i.currentChannel.revision&&s.baseHarnessRelease.id===t.harnessRelease.id&&s.baseHarnessRelease.contentHash===t.harnessRelease.contentHash);if(!i||!s||!t.overlay||!R)throw new Error(`Pending Harness Refiner trigger ${t.id} cannot reconstruct its missing Harness snapshot.`);u=await e.store.updateTurn(u.id,H=>x.parse({...H,harnessSnapshot:{schemaVersion:"openpond.harnessTurnSnapshot.v1",workspaceId:o,workspaceRevision:s.workspace.revision,sourceRevision:s.workspace.sourceRevision,channelName:i.currentChannel.name,channelRevision:s.workspace.channelRevision,harnessRelease:t.harnessRelease,overlay:t.overlay}}))??u}if(u.harnessSnapshot?.workspaceId!==o)throw new Error(`Pending Harness Refiner trigger ${t.id} no longer matches its Harness workspace.`);await c({session:f,turn:u},t,!0),r+=1}return r},d}l(G,"createLocalHarnessImprovementRuntime");function q(e){return e.metadata?.source==="experiment-improvement"&&typeof e.metadata.refinementCandidate=="object"?!0:e.metadata?.automatedTasksetWorkAttempt===!0&&typeof e.metadata.parentModelRunId=="string"&&e.metadata.parentModelRunId.trim().length>0}l(q,"parentModelRunOwnsRefinement");function D(e){return e.metadata?.automatedTasksetWorkAttempt===!0||typeof e.metadata?.tasksetId=="string"||typeof e.metadata?.benchmarkRuntime=="string"?"always":"material_only"}l(D,"refinerActivityVisibility");export{G as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{d as c}from"./chunk-KG325WTN.js";import{a as m}from"./chunk-DMFUEUAZ.js";import{m as p}from"./chunk-WJ43MJ3F.js";import{I as i,L as d}from"./chunk-Z4Z5UOZM.js";import{a}from"./chunk-FTQLQJQV.js";async function r(e,o){return(await e.allPayloadRows(`SELECT payload FROM ${o} ORDER BY sort_index ASC`)).map(n=>JSON.parse(n.payload))}a(r,"readStorePayloads");function l(e){let o=e,t=d.safeParse(o.openPondCommandAccessMode);return{...o,experience:S(o),openPondCommandAccessMode:t.success?t.data:i,currentProfile:o.currentProfile??null}}a(l,"normalizeSessionPayload");function S(e){let o=p.safeParse(e.experience);return o.success?o.data:!!(e.provider==="codex"||e.codexThreadId||e.systemKind||e.parentSessionId||e.subagentRunId||e.appId||e.workspaceKind||e.workspaceId||e.localProjectId||e.cloudProjectId)?"development":"chat"}a(S,"storedSessionExperience");async function P(e){return{sessions:(await r(e,"sessions")).map(l),turns:await r(e,"turns"),events:(await r(e,"events")).map(m),approvals:await r(e,"approvals")}}a(P,"readStoreData");async function T(e,o){let t=c();await o.exec("BEGIN IMMEDIATE");try{await o.exec("DELETE FROM approvals; DELETE FROM events; DELETE FROM turns; DELETE FROM sessions;");for(let[n,s]of e.sessions.entries())await o.run("INSERT INTO sessions (id, sort_index, payload, updated_at) VALUES (?, ?, ?, ?)",[s.id,n,JSON.stringify(s),s.updatedAt]);for(let[n,s]of e.turns.entries())await o.run("INSERT INTO turns (id, session_id, provider_turn_id, status, sort_index, payload, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)",[s.id,s.sessionId,s.providerTurnId,s.status,n,JSON.stringify(s),s.completedAt??s.startedAt]);for(let[n,s]of e.events.entries()){let u=n+1;await o.run("INSERT INTO events (id, session_id, turn_id, name, timestamp, sequence, sort_index, payload) VALUES (?, ?, ?, ?, ?, ?, ?, ?)",[s.id,s.sessionId??null,s.turnId??null,s.name,s.timestamp,u,n,JSON.stringify(s)])}for(let[n,s]of e.approvals.entries())await o.run("INSERT INTO approvals (id, session_id, status, sort_index, payload, updated_at) VALUES (?, ?, ?, ?, ?, ?)",[s.id,s.sessionId,s.status,n,JSON.stringify(s),t]);await o.exec("COMMIT")}catch(n){throw await o.exec("ROLLBACK"),n}}a(T,"persistStoreData");export{l as a,P as b,T as c};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{Ib as P,Lb as h,Mb as E}from"./chunk-Y4OWBBDD.js";import{b as u,m as f}from"./chunk-KGNCKIFP.js";import{b as d}from"./chunk-ES2ISFJC.js";import{a as c}from"./chunk-FTQLQJQV.js";var S=d.object({id:u,runIds:d.array(u).min(2).max(100)}).strict();function j(r){return async s=>{let i=S.parse(s),l=await r.selectedProfile();if(!l)throw new Error("Select a Profile before comparing its evaluation runs.");let a=[];for(let e of i.runIds){let t=await r.store.getProfileEvaluationRun(e);if(!t||f(t.profileRef)!==f(l.ref))throw new Error(`Profile evaluation run ${e} is unavailable in the selected Profile.`);a.push({manifest:t.manifest,result:t.metric})}let o=await r.store.getProfileEvaluationComparison(i.id),n=P({id:i.id,members:a,createdAt:o?.createdAt??new Date().toISOString()});return r.store.saveProfileEvaluationComparison(l.ref,n)}}c(j,"createProfileEvaluationComparisonService");import{promises as m}from"node:fs";import v from"node:path";var y=d.object({id:u,evidenceKind:d.enum(["run","suite","comparison"]),evidenceId:u}).strict();function w(r){return v.join(r,"evals","reports")}c(w,"reportDirectory");async function R(r){let s=await m.lstat(r).catch(i=>{if(i.code==="ENOENT")return null;throw i});if(s&&(!s.isDirectory()||s.isSymbolicLink()))throw new Error("Profile evaluation report directory must be a regular directory.");s||await m.mkdir(r)}c(R,"ensureRegularDirectory");async function k(r){let s,i;if(r.evidenceKind==="run")s=[r.evidenceId],i="";else if(r.evidenceKind==="suite"){let o=await r.store.getProfileEvaluationSuiteRun(r.evidenceId);if(!o||o.profileId!==r.profileRef.profileId)throw new Error("Profile evaluation suite is unavailable.");s=o.members.map(n=>n.runManifest.id),i=o.contentHash}else{let o=await r.store.getProfileEvaluationComparison(r.evidenceId);if(!o)throw new Error("Profile evaluation comparison is unavailable.");s=o.members.map(n=>n.runManifest.id),i=o.contentHash}let l=await Promise.all(s.map(o=>r.store.getProfileEvaluationRun(o)));if(l.some(o=>!o||f(o.profileRef)!==f(r.profileRef)))throw new Error("Profile evaluation report is missing authorized run evidence.");let a=l;if(r.evidenceKind==="run"&&(i=a[0].contentHash),r.evidenceKind!=="run"){let o=r.evidenceKind==="suite"?(await r.store.getProfileEvaluationSuiteRun(r.evidenceId)).members.map(n=>n.runHash):(await r.store.getProfileEvaluationComparison(r.evidenceId)).members.map(n=>n.metricResultHash);for(let[n,e]of a.entries())if(r.evidenceKind==="suite"&&o[n]!==e.contentHash||r.evidenceKind==="comparison"&&o[n]!==e.metric.contentHash)throw new Error("Profile evaluation report evidence differs from retained member runs.")}return{runs:a,primary:{kind:r.evidenceKind,id:r.evidenceId,contentHash:i}}}c(k,"loadRuns");async function H(r){let s=y.parse(r.request),{runs:i,primary:l}=await k({store:r.store,profileRef:r.profileRef,evidenceKind:s.evidenceKind,evidenceId:s.evidenceId}),a=c(e=>[...new Map(e.map(t=>[f(t),t])).values()],"unique"),o=a(i.map(e=>f(e.manifest.metricPolicy))),n=i.map(e=>e.metric.value).filter(e=>e!==null);return h({schemaVersion:"openpond.profileEvaluationReport.v1",id:s.id,createdAt:new Date().toISOString(),testedSources:a(i.map(e=>({profileId:e.manifest.profileEvaluation.profileId,sourceRevision:e.manifest.profileEvaluation.sourceRevision,harnessRelease:e.manifest.profileEvaluation.harnessRelease}))),tasksetReleases:a(i.map(e=>e.manifest.tasksetRelease)),metricPolicyHashes:o,modelConfigurationHashes:a(i.map(e=>e.manifest.policy.kind==="model"?e.manifest.policy.configurationHash:f(e.manifest.policy))),evidence:[l,...i.filter(e=>l.kind!=="run"||e.manifest.id!==l.id).map(e=>({kind:"run",id:e.manifest.id,contentHash:e.contentHash}))],summary:{totalChecks:i.length,passedChecks:i.filter(e=>e.passed).length,failedChecks:i.filter(e=>!e.passed&&e.metric.value!==null).length,unscoredChecks:i.filter(e=>!e.passed&&e.metric.value===null).length,meanScore:o.length===1&&n.length===i.length?n.reduce((e,t)=>e+t,0)/n.length:null}})}c(H,"buildProfileEvaluationReport");function q(r){return{list:c(async()=>{let l=await r.selectedProfile();if(!l)return[];let a=w(l.sourcePath),o=await m.lstat(a).catch(t=>{if(t.code==="ENOENT")return null;throw t});if(!o)return[];if(!o.isDirectory()||o.isSymbolicLink())throw new Error("Profile evaluation report directory is unsafe.");let n=await m.readdir(a,{withFileTypes:!0});return(await Promise.all(n.filter(t=>t.name.endsWith(".json")).map(async t=>{if(!t.isFile()||t.isSymbolicLink())throw new Error("Profile evaluation report must be a regular file.");let p=E(JSON.parse(await m.readFile(v.join(a,t.name),"utf8")));if(`${p.id}.json`!==t.name||p.testedSources.some(g=>g.profileId!==l.ref.profileId))throw new Error("Profile evaluation report differs from its source location.");return p}))).sort((t,p)=>p.createdAt.localeCompare(t.createdAt))},"list"),save:c(async l=>{let a=await r.selectedProfile();if(!a?.gitBacked)throw new Error("Select a Git-backed Profile before saving an evaluation report.");let o=await H({store:r.store,profileRef:a.ref,request:l}),n=v.join(a.sourcePath,"evals");await R(n);let e=w(a.sourcePath);return await R(e),await m.writeFile(v.join(e,`${o.id}.json`),`${JSON.stringify(o,null,2)}
|
|
3
|
+
`,{flag:"wx"}),o},"save")}}c(q,"createProfileEvaluationReportService");export{j as a,H as b,q as c};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as v}from"./chunk-KVTBX2UP.js";import{d as c}from"./chunk-KG325WTN.js";import{h as m,j as d}from"./chunk-Q4TBTRIG.js";import{a as n}from"./chunk-FTQLQJQV.js";function k(e){return e.state==="planning"&&!e.plan}n(k,"shouldRunCreateImprovePlanner");function y(e){return e==="approved"?"accepted":e==="rejected"?"declined":e==="cancelled"?"cancelled":"pending"}n(y,"approvalStatusForPlan");function g(e){let t=e.run.plan;return{id:t?.approvalId??`approval_${e.run.id}`,sessionId:e.session.id,turnId:e.turn.id,providerRequestId:e.run.id,kind:"create_plan",title:`${e.run.operation==="improve"?"Approve improvement plan":"Approve creation plan"}: ${e.run.objective}`,detail:JSON.stringify({runId:e.run.id,revision:e.run.revision,planId:t?.id??null,target:e.run.target,objective:e.run.objective,summary:t?.summary??null,sourcePlan:t?.sourcePlan??[],requirements:t?.requirements??[],checks:t?.checks??[],workflowCaptureId:e.run.workflowCapture?.id??null},null,2),status:e.status,createdAt:e.existing?.createdAt??e.run.createdAt}}n(g,"createImprovePlanApproval");function h(e,t){if(e.id!==t.runId)throw new Error("Create/Improve action targets another run.");if(e.appliedActionIds.includes(t.actionId))return e;let a=c();if(t.type==="approve_plan"){if(e.state!=="awaiting_plan_approval"||!e.plan)throw new Error("Create/Improve plan is not ready for approval.");return d(e,{state:e.target.kind==="model"?"evaluating":"applying_source",plan:{...e.plan,status:"approved",approvedAt:e.plan.approvedAt??a,updatedAt:a},blockedReason:null,updatedAt:a},t.actionId)}if(t.type==="cancel"){if(!e.executionPolicy.cancellationAllowed)throw new Error("This Create/Improve run cannot be cancelled.");let r=t.reason?.trim()||"Cancelled before completion.";return d(e,{state:"cancelled",plan:e.plan?{...e.plan,status:"cancelled",approvedAt:null,metadata:{...e.plan.metadata,cancellationReason:r},updatedAt:a}:null,blockedReason:r,metadata:{...e.metadata,cancellationReason:r},updatedAt:a},t.actionId)}if(t.type==="revise_plan"){if(e.state!=="awaiting_plan_approval"||!e.plan)throw new Error("Create/Improve plan is not ready for revision.");let r=e.plan;return d(e,{state:"awaiting_plan_approval",plan:{...r,id:`create_improve_plan_${crypto.randomUUID()}`,status:"pending_approval",summary:`${r.summary}
|
|
3
|
+
|
|
4
|
+
Revision requested: ${t.revision}`,sourcePlan:r.sourcePlan.map(o=>({...o,reason:`${o.reason} Revision requested: ${t.revision}`})),approvedAt:null,editedFromPlanId:r.id,metadata:{...r.metadata,revision:t.revision,supersedesPlanId:r.id},createdAt:a,updatedAt:a},metadata:{...e.metadata,previousPlanId:r.id},updatedAt:a},t.actionId)}if(t.type==="answer_question"){if(e.state!=="awaiting_questions")throw new Error("Create/Improve run is not waiting for questions.");let r=e.questions.find(p=>p.id===t.questionId);if(!r||r.status!=="pending")throw new Error("Create/Improve question is no longer pending.");let o=r.options.find(p=>p.value===t.value),i=e.questions.map(p=>p.id===t.questionId?{...p,status:"answered",answer:{value:t.value,label:o?.label??null,detail:null,answeredAt:a,metadata:{}}}:p),s=i.some(p=>p.required&&p.status==="pending");return d(e,{state:s?"awaiting_questions":"planning",questions:i,plan:null,blockedReason:null,updatedAt:a},t.actionId)}if(t.type==="open_pull_request"||t.type==="apply_candidate"){let r=t.type==="apply_candidate"&&e.state==="blocked"&&!!e.localProfileCommit;if(e.state!=="awaiting_promotion"&&!r)throw new Error("Create/Improve candidate is not awaiting promotion.");let o=u(e,t.candidateId);if(o.status!=="evaluated"||!o.git?.headCommit)throw new Error("Create/Improve candidate must be committed and evaluated before it can be applied.");if(e.tasksetRef&&(o.tasksetRef?.id!==e.tasksetRef.id||o.tasksetRef.revision!==e.tasksetRef.revision||o.tasksetRef.contentHash!==e.tasksetRef.contentHash))throw new Error("Create/Improve candidate is not linked to the exact approved Taskset revision.");let i=e.evaluationReceipts.filter(s=>s.candidateId===o.id&&s.subject==="candidate");if(i.length===0||i.some(s=>s.status!=="passed"||s.publishGate==="failed"))throw new Error("Create/Improve candidate requires passing Eval receipts before it can be applied.");if(e.tasksetRef&&i.some(s=>s.tasksetId!==e.tasksetRef.id||s.tasksetHash!==e.tasksetRef.contentHash||s.metadata.trustedTasksetExecution!==!0||typeof s.metadata.executionContractHash!="string"))throw new Error("Create/Improve candidate requires a trusted receipt for the exact approved Taskset revision.");return d(e,{state:t.type==="apply_candidate"?"reconciling_release":"opening_pull_request",releaseOutcome:{...e.releaseOutcome,status:"pending",updatedAt:a},blockedReason:null,metadata:{...e.metadata,releaseAction:{type:t.type,candidateId:o.id,requestedAt:a}},updatedAt:a},t.actionId)}if(t.type==="reconcile_pull_request"){if(!["pull_request_open","blocked"].includes(e.state))throw new Error("Create/Improve run has no open PR to reconcile.");let r=u(e,t.candidateId);if(!r.git?.pullRequest)throw new Error("Create/Improve candidate has no PR to reconcile.");if(e.state==="blocked"&&r.git.pullRequest.state!=="merged")throw new Error("Only a merged PR with failed verification can be reconciled from a blocked run.");return d(e,{state:"reconciling_release",blockedReason:null,metadata:{...e.metadata,releaseAction:{type:t.type,candidateId:r.id,requestedAt:a}},updatedAt:a},t.actionId)}if(t.type==="reject_candidate"){if(!["awaiting_promotion","pull_request_open"].includes(e.state))throw new Error("Create/Improve candidate is not available for rejection.");let r=u(e,t.candidateId),o=t.reason?.trim()||"Candidate rejected.";return r.git?.pullRequest?d(e,{state:"reconciling_release",blockedReason:null,metadata:{...e.metadata,releaseAction:{type:t.type,candidateId:r.id,reason:o,requestedAt:a}},updatedAt:a},t.actionId):d(e,{state:"rejected",candidates:e.candidates.map(i=>i.id===r.id?{...i,status:"rejected",updatedAt:a}:i),releaseOutcome:{...e.releaseOutcome,status:"rejected",updatedAt:a},blockedReason:o,metadata:{...e.metadata,releaseAction:{type:t.type,candidateId:r.id,reason:o,completedAt:a}},updatedAt:a},t.actionId)}if(t.type==="pause"){if(!e.executionPolicy.pauseAllowed)throw new Error("This Create/Improve run cannot be paused.");if(["ready","ready_local","published_hosted","cancelled"].includes(e.state))throw new Error("Completed Create/Improve runs cannot be paused.");return d(e,{state:"paused",metadata:{...e.metadata,pausedFromState:e.state,pausedAt:a},updatedAt:a},t.actionId)}let l=I(e);return d(e,{state:l,metadata:{...e.metadata,resumedAt:a},updatedAt:a},t.actionId)}n(h,"applyCreateImproveRunAction");function u(e,t){let a=e.candidates.find(l=>l.id===t);if(!a)throw new Error(`Create/Improve candidate not found: ${t}`);return a}n(u,"requireRunCandidate");function A(e,t){if(e.state!=="applying_source"||e.plan?.status!=="approved"||e.adapter.kind==="local")return e;let a=v({session:t}),l=e.adapter.kind;return d(e,{state:"blocked",blockedReason:l==="hosted"?"Approved hosted Create/Improve plans from this chat require the Cloud work item background flow. No local source mutation was performed.":"Approved Profile promotion requires an explicit Cloud promotion flow. No local source mutation was performed.",metadata:{...e.metadata,createImproveApproval:{status:"blocked",reason:l==="hosted"?"hosted_create_improve_apply_not_configured":"promote_local_to_hosted_apply_not_configured",adapterKind:l,workspaceExecutionTarget:f(a)}},updatedAt:c()})}n(A,"createPlanExecutionRunForApprovedAdapter");function f(e){return e.target==="sandbox"?{target:e.target,ready:e.ready,workspaceKind:e.workspaceKind,workspaceId:e.workspaceId,sandboxId:e.sandboxId,cloudProjectId:e.cloudProjectId,localProjectId:e.localProjectId,hybrid:e.hybrid,reason:e.reason}:e.target==="local"?{target:e.target,ready:e.ready,workspaceKind:e.workspaceKind,workspaceId:e.workspaceId,localProjectId:e.localProjectId,cwd:e.cwd,reason:e.reason}:{target:e.target,ready:e.ready,workspaceKind:e.workspaceKind,workspaceId:e.workspaceId,reason:e.reason}}n(f,"createImproveExecutionTargetMetadata");function C(e){return["awaiting_questions","awaiting_plan_approval","awaiting_promotion","pull_request_open","paused"].includes(e.state)?"pending":["applying_source","running_checks","evaluating","opening_pull_request","reconciling_release","pushing_hosted","running_hosted_checks"].includes(e.state)?"started":["rejected","blocked","failed","cancelled"].includes(e.state)?"failed":"completed"}n(C,"createImproveRuntimeEventStatus");function b(e,t){return d(e,{state:"blocked",blockedReason:t,metadata:{...e.metadata,localCreateImprove:{status:"blocked",reason:"local_create_improve_background_apply_failed"}},updatedAt:c()})}n(b,"createImproveBackgroundFailureRun");function q(e){return e.mentionedApps,e.userPrompt,e.request}n(q,"normalizeMentionedSandboxToolRequest");function P(e,t){return{...e,metadata:{...e.metadata??{},createImproveRun:t},createImproveRun:t}}n(P,"withCreateImproveRun");function I(e){if(e.state!=="paused")throw new Error("Create/Improve run cannot be resumed.");let t=m.shape.state.safeParse(e.metadata.pausedFromState);return!t.success||t.data==="paused"?"planning":t.data}n(I,"resumeStateFromMetadata");export{k as a,y as b,g as c,h as d,A as e,C as f,b as g,q as h,P as i};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as n}from"./chunk-FTQLQJQV.js";var O=["connected_app_search","connected_app_read","connected_app_write"],S="/v1/integrations/tool-calls",m="https://openpond.ai",g=["slack","google","github","turnkey","x","microsoft_teams","mcp"],h={slack:[s("slack.channel.bind","Bind channels","Bind Slack channels or threads to OpenPond profiles.","setup",!1),s("slack.message.ingest","Ingest messages","Ingest Slack channel or thread activity into OpenPond context.","setup",!1)],microsoft_teams:[s("microsoft_teams.channel.bind","Bind channels","Bind Teams channels or chats to OpenPond profiles.","setup",!1),s("microsoft_teams.message.ingest","Ingest messages","Ingest Teams channel or chat activity into OpenPond context.","setup",!1)],google:[s("google.drive.file.read","Read Drive files","Find and read Google Drive files.","read",!0),s("google.drive.file.write","Write Drive files","Create or update approved Google Drive files.","write",!0),s("google.docs.read","Read Docs","Read Google Docs content and structure.","read",!0),s("google.docs.write","Edit Docs","Apply approved Google Docs edits.","write",!0),s("google.comments.read","Read comments","Read Google file comments.","read",!0),s("google.comments.write","Write comments","Create or resolve approved Google comments.","write",!0)],github:[s("github.repo.read","Read repositories","Read repository metadata and file context.","read",!0),s("github.issue.read","Read issues","Read GitHub issues and comments.","read",!0),s("github.issue.write","Update issues","Create or update approved GitHub issue content.","write",!0),s("github.pull_request.read","Read pull requests","Read pull request metadata, diffs, checks, and reviews.","read",!0),s("github.pull_request.write","Update pull requests","Create approved comments or pull request updates.","write",!0)],turnkey:[s("turnkey.wallets.read","Read Agent Wallet","Read the connected OpenPond Agent Wallet address and metadata.","read",!0),s("turnkey.balances.read","Read wallet balances","Read balances for the connected OpenPond Agent Wallet.","read",!0),s("turnkey.activities.read","Read wallet activity","Read recent Turnkey activity for the connected OpenPond Agent Wallet.","read",!0)],x:[s("x.profile.read","Read profile","Read the connected X profile.","read",!0),s("x.search.read","Search X","Search public X posts when granted.","read",!0),s("x.mentions.read","Read mentions","Read mentions for the connected X account.","read",!0),s("x.post.write","Post","Create approved X posts.","write",!0),s("x.reply.write","Reply","Create approved X replies.","write",!0)],mcp:[s("mcp.tool.discover","Discover tools","Discover team-scoped MCP tools.","tooling",!1),s("mcp.tool.call","Call tools","Call approved MCP tools through the team endpoint.","tooling",!1)]},b={slack:[],microsoft_teams:[],google:[i("google.drive.search","search","Search Drive","Search Google Drive files by grounded query.",["google.drive.file.read"]),i("google.drive.read_file","read","Read Drive file","Read Drive file metadata or exported content by stable ref.",["google.drive.file.read"],{requiredKeys:["ref"]}),i("google.docs.read","read","Read Google Doc","Read Google Docs content and structure by stable ref.",["google.docs.read"],{requiredKeys:["ref"]}),i("google.comments.read","read","Read comments","Read comments for a grounded Google file ref.",["google.comments.read"],{requiredKeys:["ref"]}),i("google.docs.update","write","Update Google Doc","Apply an explicitly approved Google Docs edit and return readback verification.",["google.docs.write"],{requiredKeys:["ref","patch"]}),i("google.comments.create","write","Create comment","Create an explicitly approved Google file comment and return readback verification.",["google.comments.write"],{requiredKeys:["ref","body"]}),i("google.comments.resolve","write","Resolve comment","Resolve an explicitly approved Google comment and return readback verification.",["google.comments.write"],{requiredKeys:["ref","commentId"]})],github:[i("github.repo.search","search","Search repositories","Search accessible repositories by owner, name, or topic.",["github.repo.read"]),i("github.issue.search","search","Search issues","Search accessible GitHub issues.",["github.issue.read"]),i("github.pull_request.search","search","Search pull requests","Search accessible GitHub pull requests.",["github.pull_request.read"]),i("github.repo.read","read","Read repository","Read grounded repository metadata or file context.",["github.repo.read"],{requiredKeys:["ref"]}),i("github.issue.read","read","Read issue","Read a grounded GitHub issue and comments.",["github.issue.read"],{requiredKeys:["ref"]}),i("github.pull_request.read","read","Read pull request","Read a grounded pull request, checks, reviews, or diff summary.",["github.pull_request.read"],{requiredKeys:["ref"]}),i("github.issue.create","write","Create issue","Create an explicitly approved GitHub issue and return readback verification.",["github.issue.write"],{requiredKeys:["repo","title","body"]}),i("github.issue.comment","write","Comment on issue","Create an explicitly approved GitHub issue comment and return readback verification.",["github.issue.write"],{requiredKeys:["ref","body"]}),i("github.issue.update","write","Update issue","Apply an explicitly approved issue metadata/content update and return readback verification.",["github.issue.write"],{requiredKeys:["ref"]}),i("github.pull_request.comment","write","Comment on pull request","Create an explicitly approved pull request comment and return readback verification.",["github.pull_request.write"],{requiredKeys:["ref","body"]}),i("github.pull_request.update","write","Update pull request","Apply an explicitly approved pull request metadata update and return readback verification.",["github.pull_request.write"],{requiredKeys:["ref"]})],turnkey:[i("turnkey.wallets.read","read","Read Agent Wallet","Read the address and metadata for the connected OpenPond Agent Wallet.",["turnkey.wallets.read"]),i("turnkey.balances.read","read","Read wallet balances","Read supported-network balances for the connected OpenPond Agent Wallet.",["turnkey.balances.read"]),i("turnkey.activities.read","read","Read wallet activity","Read recent Turnkey activity for the connected OpenPond Agent Wallet.",["turnkey.activities.read"])],x:[i("x.profile.read","read","Read profile","Read the connected X account profile.",["x.profile.read"]),i("x.post.read","read","Read post","Read a public X post by stable ref, status URL, or post id.",["x.search.read"],{requiredKeys:["ref"]}),i("x.search.posts","search","Search recent posts","Search public X posts from the X recent-search window by grounded query.",["x.search.read"]),i("x.mentions.search","search","Search mentions","Search mentions for the connected X account.",["x.mentions.read"]),i("x.mention.read","read","Read mention","Read a grounded mention or post ref.",["x.mentions.read"],{requiredKeys:["ref"]}),i("x.post.create","write","Create post","Create an explicitly approved X post and return readback verification.",["x.post.write"],{requiredKeys:["text"]}),i("x.reply.create","write","Create reply","Create an explicitly approved X reply and return readback verification.",["x.reply.write"],{requiredKeys:["inReplyToRef","text"]})],mcp:[]},I={google:["# Google Connected App","","Use Google only through server-provided connected app tools. Never ask for or infer OAuth tokens.","Before reading or editing, identify the exact Drive file, Doc, Sheet, Slide, or comment thread. If the target is ambiguous, ask a short clarification or search first.","Use only declared Google operation ids: google.drive.search, google.drive.read_file, google.docs.read, google.comments.read, google.docs.update, google.comments.create, google.comments.resolve.","For writes, require explicit user intent, summarize the planned change, and verify the target identity before applying updates.","After a write, read back the changed object or relevant range and report the result with the provider file name or stable reference.","Prefer narrow reads over broad Drive scans. Do not expose private file ids unless the tool result already presents them as stable refs."].join(`
|
|
3
|
+
`),github:["# GitHub Connected App","","Use GitHub only through server-provided connected app tools. Repository, issue, and pull request identity must be grounded before action.","Use only declared GitHub operation ids: github.repo.search, github.issue.search, github.pull_request.search, github.repo.read, github.issue.read, github.pull_request.read, github.issue.create, github.issue.comment, github.issue.update, github.pull_request.comment, github.pull_request.update.","For reads, name the owner/repo and issue or pull request number when available. If several targets match, ask or inspect before proceeding.","For writes, require explicit user intent and avoid destructive repository changes. Create issues only when the user clearly asks to submit or file a new issue. Prefer comments, labels, or metadata updates unless a stronger operation is clearly requested.","Do not claim CI, review, branch, or PR state changed until a tool result confirms it.","Keep local workspace git operations separate from connected GitHub operations unless the user explicitly asks to bridge them."].join(`
|
|
4
|
+
`),turnkey:["# Turnkey Agent Wallet Connected App","","Use Turnkey only through server-provided connected app tools. Never ask for, expose, or infer API keys, P-256 credentials, wallet private keys, or lease material.","Use only declared Turnkey read operation ids: turnkey.wallets.read, turnkey.balances.read, and turnkey.activities.read.","Turnkey connected-app access is read-only. Do not claim that a transaction was created, signed, approved, rejected, or sent.","Use turnkey.wallets.read for the Agent Wallet address and metadata, turnkey.balances.read for supported-network balances, and turnkey.activities.read for recent Turnkey activity.","Report the wallet address and network with balance results, and distinguish an empty balance from a failed provider read."].join(`
|
|
5
|
+
`),x:["# X Connected App","","Use X only through server-provided connected app tools. Distinguish profile, recent search, mention, post, and reply operations.","Use only declared X operation ids: x.profile.read, x.post.read, x.search.posts, x.mentions.search, x.mention.read, x.post.create, x.reply.create.","For x.com, twitter.com, or stable status URLs, first parse the status/post id and read the post with connected_app_read using operation x.post.read and ref set to the original URL, stable ref, or id. Do not open a browser before trying the X connector.","Use x.search.posts for discovery, related public posts, replies, quote-post searches, and conversation scans. It uses X API recent search, so report zero-result searches as zero recent public posts returned by X.","For conversation or reply collection, dedupe by returned post id/ref. Do not repeat the same search call unless the result exposes a usable cursor or next token; if pagination is unavailable, state that coverage is limited to returned recent-search results.","Reads can summarize recent public posts, connected-account profile details, and mentions when the capability is available.","Writes require explicit user intent for the exact post or reply. Do not publish drafts, jokes, endorsements, or replies unless the user clearly approves the content.","Before posting or replying, preserve account identity, quote the proposed content in summary form, and respect provider limits and policy boundaries.","After a write, verify the returned post or reply ref before reporting success."].join(`
|
|
6
|
+
`),microsoft_teams:["# Microsoft Teams Connected App","","Microsoft Teams is currently an ingestion/native binding surface only. Do not expose Teams OAuth reads, replies, file operations, or sandbox leases.","Native Teams setup can bind chats or channels to OpenPond profiles and ingest activity into OpenPond context.","If the user asks for Teams actions beyond ingestion or binding status, explain that the connector is not available yet rather than inventing tool access."].join(`
|
|
7
|
+
`),slack:["# Slack Connected App","","Slack is currently an ingestion/native binding surface only. Do not expose Slack OAuth reads, replies, file operations, or sandbox leases.","Native Slack setup can bind channels or threads to OpenPond profiles and ingest activity into OpenPond context.","If the user asks for Slack actions beyond ingestion or binding status, explain that the connector is not available yet rather than inventing tool access."].join(`
|
|
8
|
+
`),mcp:["# OpenPond MCP Connected App","","Use OpenPond MCP only through server-provided tool discovery and call paths. Do not invent MCP tools or endpoints.","Treat MCP as team-scoped tooling, not an OAuth connector. Tool availability must come from server-confirmed discovery results.","Before calling an MCP tool, match the requested operation to the tool name, description, input schema, and allowed team context.","For writes or side effects, require explicit user intent and report only confirmed tool results."].join(`
|
|
9
|
+
`)},_=g.map(e=>{let t=R(e),r=I[e];return{...t,provider:e,body:r,sourceHash:`connected-app-skill:${e}:${V(r)}`,charCount:r.length}});function D(e){let t=f(e);return t?_.find(r=>r.provider===t)??null:null}n(D,"connectedAppIntegrationSkillByProvider");function T(e){let t=k(e.provider);if(!t)return{ok:!1,error:`Connected app provider is not supported: ${e.provider}`};if(!t.leasePolicy.leaseable)return{ok:!1,error:`Connected app provider ${e.provider} is not leaseable for cloud connector execution.`};let r=W(e.operation);if(e.toolName!==r)return{ok:!1,error:`Connected app tool ${e.toolName} does not match ${e.operation} operation.`};let o=e.operation==="write"?"write":"read",c=new Set(t.capabilities.filter(d=>d.access===o&&d.leaseable).map(d=>d.id)),l=e.capabilityIds.filter(d=>!c.has(d));if(l.length>0)return{ok:!1,error:`Connected app capability ${l[0]} is not allowed for ${e.provider} ${e.operation}.`};let a=w(e);return a.ok?{ok:!0,request:e}:a}n(T,"validateConnectedAppToolCallRequest");function y(e){let t=f(e);return t?b[t]:[]}n(y,"connectedAppProviderOperations");function L(e,t){let r=A(t);return r?y(e).find(o=>o.id===r)??null:null}n(L,"connectedAppProviderOperationById");function w(e){let t=G(e.args),r=y(e.provider).filter(a=>a.operation===e.operation);if(r.length===0)return{ok:!1,error:`Connected app provider ${e.provider} does not declare ${e.operation} operations.`};if(!t)return e.operation==="write"?{ok:!1,error:`Connected app ${e.provider} write calls require a provider operation id.`}:{ok:!0,request:e};let o=r.find(a=>a.id===t);if(!o)return{ok:!1,error:`Connected app operation ${t} is not allowed for ${e.provider} ${e.operation}.`};let c=e.capabilityIds.filter(a=>!o.capabilityIds.includes(a));if(c.length>0)return{ok:!1,error:`Connected app operation ${o.id} does not allow capability ${c[0]}.`};let l=U(e.args,e.operation);for(let a of o.input?.requiredKeys??[]){let d=l[a];if(d==null||typeof d=="string"&&!d.trim())return{ok:!1,error:`Connected app operation ${o.id} requires input.${a}.`}}return{ok:!0,request:e}}n(w,"validateConnectedAppProviderOperationRequest");var N=[{id:"slack",providerFamily:"slack",setupSurface:"native_bot",statusSource:"native_binding",label:"Slack",shortLabel:"Slack",kind:"native",category:"Chat",description:"Bind Slack channels or threads for ingestion into OpenPond profiles.",icon:"/connected-apps/slack.svg",installLabel:"Continue to Slack details"},{id:"google",providerFamily:"google",setupSurface:"oauth_connector",statusSource:"integration_connection",label:"Google",shortLabel:"Google",kind:"oauth",category:"Productivity",description:"Docs, Drive files, and comments for sandbox workflows.",icon:"/connected-apps/google.svg",installLabel:"Continue to Google details"},{id:"github",providerFamily:"github",setupSurface:"oauth_connector",statusSource:"integration_connection",label:"GitHub",shortLabel:"GitHub",kind:"oauth",category:"Developer tools",description:"Access repositories, issues, and pull requests.",icon:"/connected-apps/github.svg",installLabel:"Continue to GitHub details"},{id:"x",providerFamily:"x",setupSurface:"oauth_connector",statusSource:"integration_connection",label:"X",shortLabel:"X",kind:"oauth",category:"Productivity",description:"User profile, mentions, and approved reply access.",icon:"/connected-apps/x.svg",installLabel:"Continue to X details"},{id:"turnkey",providerFamily:"turnkey",setupSurface:"wallet_connector",statusSource:"integration_connection",label:"Turnkey Agent Wallet",shortLabel:"Turnkey",kind:"wallet",category:"Wallet",description:"Read your OpenPond Agent Wallet address, balances, and activity through policy-bound Turnkey access.",icon:"/connected-apps/turnkey.svg",installLabel:"Manage OpenPond wallet"},{id:"microsoft_teams",providerFamily:"microsoft_teams",setupSurface:"native_bot",statusSource:"native_binding",label:"Teams",shortLabel:"Teams",kind:"native",category:"Chat",description:"Bind Teams chats or channels for ingestion into OpenPond profiles.",icon:"/connected-apps/microsoft.svg",installLabel:"Continue to Teams details"},{id:"mcp",providerFamily:"mcp",setupSurface:"mcp_endpoint",statusSource:"mcp_endpoint",label:"OpenPond MCP",shortLabel:"MCP",kind:"mcp",category:"Tools",description:"Expose workspace tools through a team-scoped MCP endpoint.",icon:"/connected-apps/openpond-mcp.svg",installLabel:"Open MCP settings"}],u=N,x=g.map(e=>{let t=u.filter(o=>o.providerFamily===e),r=t[0];return{id:e,label:p(e),shortLabel:r.shortLabel,category:r.category,icon:r.icon,description:r.description,setupSurfaces:t,capabilities:h[e],skills:K(e),tools:X(e),operations:b[e],leasePolicy:z(e)}});function v(e){let t=P(e);return t?u.find(r=>r.id===t)??null:null}n(v,"connectedAppById");function k(e){let t=f(e);return t?x.find(r=>r.id===t)??null:null}n(k,"connectedAppBundleByProvider");function E(e){let t=v(e.appId),r=$(e.baseUrl),o=t?.kind==="mcp"?"/sandboxes/mcp":"/sandboxes/apps",c=new URL(o,r);t?.kind!=="mcp"&&c.searchParams.set("app",t?.deepLinkAppId??e.appId);let l=e.teamId?.trim();return l&&c.searchParams.set("teamId",l),c.toString()}n(E,"buildConnectedAppInstallUrl");function P(e){let t=e?.trim().toLowerCase().replace(/[-\s]+/g,"_");return t?t==="teams"||t==="microsoft"?"microsoft_teams":u.some(r=>r.id===t)?t:null:null}n(P,"normalizeConnectedAppId");function f(e){let t=e?.trim().toLowerCase().replace(/[-\s]+/g,"_");return t?t==="teams"||t==="microsoft"?"microsoft_teams":g.includes(t)?t:v(t)?.providerFamily??null:null}n(f,"normalizeConnectedAppProviderFamilyId");function q(e={}){let t=M(e.connections??[]);return u.map(r=>{let o=k(r.providerFamily),c=r.statusSource==="integration_connection"?t.filter(d=>d.provider===r.providerFamily):[],l=c.some(d=>d.status==="active"),a=H(r,l);return{...r,providerLabel:o.label,setupSurfaceLabel:F(r.setupSurface),status:a,statusLabel:j(r,a,c),connections:c,connected:l,capabilities:C(r,o.capabilities),capabilityLabels:C(r,o.capabilities).map(d=>d.label),leasePolicy:o.leasePolicy}})}n(q,"buildConnectedAppStatusRows");function s(e,t,r,o,c){return{id:e,label:t,description:r,access:o,leaseable:c}}n(s,"capability");function i(e,t,r,o,c,l){return{id:e,operation:t,label:r,description:o,capabilityIds:c,...l?{input:l}:{},requiresReadback:t==="write",requiresRuntimeLease:!1}}n(i,"providerOperation");function G(e){return A(e.operation)}n(G,"providerOperationIdFromArgs");function A(e){return typeof e=="string"&&e.trim()?e.trim():null}n(A,"normalizeProviderOperationId");function U(e,t){return t==="write"?B(e.input)?e.input:{}:e}n(U,"providerOperationInputFromArgs");function B(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}n(B,"isRecord");function $(e){let t=e?.trim();if(!t)return m;try{let r=new URL(t);return r.protocol!=="http:"&&r.protocol!=="https:"?m:(r.pathname="/",r.search="",r.hash="",r.toString())}catch{return m}}n($,"normalizeOpenPondWebBaseUrl");function p(e){return e==="microsoft_teams"?"Microsoft Teams":e==="mcp"?"OpenPond MCP":e==="x"?"X":e[0].toUpperCase()+e.slice(1)}n(p,"providerFamilyLabel");function F(e){return e==="native_bot"?"Native app":e==="oauth_connector"?"OAuth connector":e==="wallet_connector"?"Wallet connector":"MCP endpoint"}n(F,"setupSurfaceLabel");function K(e){return[R(e)]}n(K,"providerSkills");function R(e){return{name:`${e}-connected-app`,description:`Use ${p(e)} safely through connected app tools.`,path:`integration_skills/${e}.md`}}n(R,"integrationSkillDescriptor");function X(e){if(e==="mcp")return[];let t=h[e],r=b[e],o=t.filter(a=>a.access==="read").map(a=>a.id),c=t.filter(a=>a.access==="write").map(a=>a.id),l=[];return r.some(a=>a.operation==="search")&&l.push({name:"connected_app_search",description:`Search ${p(e)} through a server-owned connected app connector.`,capabilityIds:o,write:!1}),r.some(a=>a.operation==="read")&&l.push({name:"connected_app_read",description:`Read a grounded ${p(e)} object through a server-owned connected app connector.`,capabilityIds:o,write:!1}),c.length>0&&r.some(a=>a.operation==="write")&&l.push({name:"connected_app_write",description:`Perform an explicitly approved ${p(e)} write through a server-owned connected app connector.`,capabilityIds:c,write:!0}),l}n(X,"providerTools");function W(e){return e==="search"?"connected_app_search":e==="read"?"connected_app_read":"connected_app_write"}n(W,"toolNameForOperation");function z(e){let t=h[e].filter(o=>o.leaseable).map(o=>o.id),r=e!=="mcp"&&t.length>0;return{leaseable:r,defaultTtlSeconds:r?e==="turnkey"?300:3600:null,allowedCapabilityIds:t,requiresProxy:r}}n(z,"leasePolicy");function C(e,t){return e.setupSurface==="native_bot"?t.filter(r=>r.access==="setup"):e.setupSurface==="mcp_endpoint"?t:t.filter(r=>r.access!=="setup")}n(C,"capabilitiesForSurface");function M(e){return e.flatMap(t=>{let r=f(t.provider);return r?[{id:t.id??null,teamId:t.teamId?.trim()||null,provider:r,accountLabel:t.providerAccountName??null,workspaceLabel:t.providerWorkspaceName??null,scopes:Array.isArray(t.scopes)?t.scopes:[],capabilities:Array.isArray(t.capabilities)?t.capabilities:[],status:t.status?.trim().toLowerCase()||"active"}]:[]})}n(M,"normalizeConnections");function H(e,t){return e.statusSource==="integration_connection"?t?"connected":"disconnected":"setup_available"}n(H,"surfaceStatus");function j(e,t,r){if(t==="connected"){let o=r.filter(c=>c.status==="active").length;return o>1?`${o} connected`:"Connected"}return t==="disconnected"?"Not connected":e.statusSource==="native_binding"?"Bot setup":"Configure"}n(j,"statusLabel");function V(e){let t=5381;for(let r=0;r<e.length;r+=1)t=(t<<5)+t^e.charCodeAt(r);return(t>>>0).toString(36)}n(V,"hashString");export{O as a,S as b,g as c,_ as d,D as e,T as f,L as g,w as h,u as i,v as j,k,E as l,f as m,q as n};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{P as H,Q as L,_ as S}from"./chunk-ARQEJOEK.js";import{f as A,h as O}from"./chunk-H7IWJN7L.js";import{a as l}from"./chunk-FTQLQJQV.js";import Q from"node:path";var U="default",z=["apiKey","baseUrl","apiBaseUrl","chatApiBaseUrl","token","appId","conversationId"];function re(){return V()}l(re,"getConfigPath");function V(){return O(A()).config}l(V,"getGlobalConfigPath");function m(n,e){return Object.prototype.hasOwnProperty.call(n,e)}l(m,"hasOwn");function h(n){if(typeof n!="string")return null;let e=n.trim();return e.length>0?e:null}l(h,"normalizeHandle");function d(n){if(typeof n!="string")return null;let e=n.trim();return e?e.replace(/\/$/,""):null}l(d,"normalizeBaseUrl");function q(n){let e=h(n);if(!e)throw new Error("profile handle must be non-empty");return e}l(q,"requireHandle");function W(n){if(typeof n!="string")throw new Error("apiKey must be a non-empty string");let e=n.trim();if(!e)throw new Error("apiKey must be a non-empty string");return e}l(W,"requireApiKey");function b(n,e){let t=h(n),s=h(e);return!!(t&&s&&t.toLowerCase()===s.toLowerCase())}l(b,"handleEquals");function v(n,e,t){let s=d(t);return n.findIndex(i=>b(i.handle,e)?s?d(i.baseUrl)===s:!0:!1)}l(v,"findAccountIndex");function P(n){let e=h(n.handle)??U,t=d(n.baseUrl);return t?{handle:e,baseUrl:t}:{handle:e}}l(P,"selectorFromAccount");function y(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=h(typeof e.handle=="string"?e.handle:void 0);if(!t)return null;let s=d(typeof e.baseUrl=="string"?e.baseUrl:void 0);return s?{handle:t,baseUrl:s}:{handle:t}}l(y,"sanitizeActiveProfile");function B(n){if(!n||typeof n!="object"||Array.isArray(n))return;let e=n,t=typeof e.repoPath=="string"?e.repoPath.trim():"",s=typeof e.profile=="string"&&e.profile.trim()?e.profile.trim():"default";if(!t)return;let i={repoPath:t,profile:s,mode:"local"};if(e.lastCheck&&typeof e.lastCheck=="object"&&!Array.isArray(e.lastCheck)){let o=e.lastCheck,a=o.command,u=o.status,c=o.checkedAt;(a==="inspect"||a==="build"||a==="validate"||a==="eval"||a==="run")&&(u==="passed"||u==="failed")&&typeof c=="string"&&(i.lastCheck={command:a,status:u,checkedAt:c,...typeof o.exitCode=="number"||o.exitCode===null?{exitCode:o.exitCode}:{},...typeof o.sourceHead=="string"||o.sourceHead===null?{sourceHead:o.sourceHead}:{}})}if(e.lastPush&&typeof e.lastPush=="object"&&!Array.isArray(e.lastPush)){let o=e.lastPush,a=o.status,u=o.pushedAt;(a==="pushed"||a==="failed")&&typeof u=="string"&&(i.lastPush={status:a,pushedAt:u,...typeof o.teamId=="string"||o.teamId===null?{teamId:o.teamId}:{},...typeof o.projectId=="string"||o.projectId===null?{projectId:o.projectId}:{},...typeof o.localHead=="string"||o.localHead===null?{localHead:o.localHead}:{},...typeof o.hostedHead=="string"||o.hostedHead===null?{hostedHead:o.hostedHead}:{},...typeof o.sourceRef=="string"||o.sourceRef===null?{sourceRef:o.sourceRef}:{},...o.promotionStatus==="uploaded"||o.promotionStatus==="hosted_source_materialized"||o.promotionStatus==="hosted_source_materialize_failed"||o.promotionStatus==="hosted_source_check_pending"||o.promotionStatus==="hosted_source_check_failed"||o.promotionStatus==="hosted_source_published"||o.promotionStatus==="hosted_source_publish_failed"||o.promotionStatus==="hosted_run_pending"||o.promotionStatus==="hosted_run_passed"||o.promotionStatus==="hosted_run_failed"||o.promotionStatus===null?{promotionStatus:o.promotionStatus}:{},...o.hostedRunStatus==="not_started"||o.hostedRunStatus==="running"||o.hostedRunStatus==="passed"||o.hostedRunStatus==="failed"||o.hostedRunStatus===null?{hostedRunStatus:o.hostedRunStatus}:{},...typeof o.hostedRunAgentId=="string"||o.hostedRunAgentId===null?{hostedRunAgentId:o.hostedRunAgentId}:{},...typeof o.hostedRunId=="string"||o.hostedRunId===null?{hostedRunId:o.hostedRunId}:{},...typeof o.hostedRunAt=="string"||o.hostedRunAt===null?{hostedRunAt:o.hostedRunAt}:{},...w(o.hostedSourceMaterialization)?{hostedSourceMaterialization:w(o.hostedSourceMaterialization)}:{},...E(o.hostedSourceCheck)?{hostedSourceCheck:E(o.hostedSourceCheck)}:{},...K(o.hostedPublish)?{hostedPublish:K(o.hostedPublish)}:{},...M(o.hostedRun)?{hostedRun:M(o.hostedRun)}:{},...typeof o.error=="string"||o.error===null?{error:o.error}:{}})}if(Array.isArray(e.profiles)){let o=e.profiles.flatMap(a=>{let u=B(a);if(!u)return[];let c=a,p=c.source==="github"||c.source==="openpond_git"?c.source:"local",C=typeof c.repositoryId=="string"&&c.repositoryId.trim()?c.repositoryId.trim():Q.resolve(u.repoPath);return[{source:p,repositoryId:C,repoPath:u.repoPath,profile:u.profile,...u.lastCheck?{lastCheck:u.lastCheck}:{},...u.lastPush?{lastPush:u.lastPush}:{}}]});o.length>0&&(i.profiles=o)}return i}l(B,"sanitizeLocalOpenPondProfile");function w(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=R(e.status);return t?{status:t,...r(e,"agentId"),...r(e,"runtimeAgentId"),...r(e,"projectId"),...r(e,"sourceRoot"),...r(e,"sourceRef"),...r(e,"sourceCommitSha"),...r(e,"manifestHash"),...r(e,"manifestPath"),...r(e,"manifestSyncedAt"),...T(e,"fileCount"),...T(e,"totalBytes"),...r(e,"generatedManifestPath"),...k(e,"synthesizedOpenPondYaml"),...r(e,"uploadMetadataPath"),...f(e,"setupCommands"),...f(e,"validationCommands"),...r(e,"materializedAt"),...r(e,"error")}:null}l(w,"sanitizeHostedMaterializationStatus");function E(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=R(e.status);return t?{status:t,...r(e,"agentId"),...r(e,"deployPlanStatus"),...k(e,"canRun"),...k(e,"canDeploy"),...r(e,"sourceRef"),...r(e,"sourceCommitSha"),...r(e,"manifestHash"),...r(e,"manifestPath"),...f(e,"setupCommands"),...f(e,"validationCommands"),...f(e,"requiredChecks"),...f(e,"evalNames"),...f(e,"blockedReasons"),...f(e,"staleReasons"),...r(e,"runtimeId"),...r(e,"sandboxId"),...f(e,"traceArtifactRefs"),...f(e,"evalResultArtifactRefs"),...f(e,"validatorArtifactRefs"),...r(e,"checkedAt"),...r(e,"error")}:null}l(E,"sanitizeHostedSourceCheckStatus");function K(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=R(e.status);return t?{status:t,...r(e,"agentId"),...r(e,"snapshotId"),...r(e,"sourceRef"),...r(e,"sourceCommitSha"),...r(e,"manifestHash"),...r(e,"manifestPath"),...r(e,"buildStatus"),...r(e,"validationStatus"),...r(e,"evalStatus"),...r(e,"publishedAt"),...r(e,"error")}:null}l(K,"sanitizeHostedPublishStatus");function M(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=R(e.status);return t?{status:t,...r(e,"agentId"),...r(e,"runId"),...r(e,"runtimeId"),...r(e,"sandboxId"),...r(e,"sourceRef"),...r(e,"sourceCommitSha"),...r(e,"manifestHash"),...r(e,"setupGateStatus"),...f(e,"setupRequirementRefs"),...f(e,"artifactRefs"),...f(e,"traceArtifactRefs"),...f(e,"evalArtifactRefs"),...r(e,"startedAt"),...r(e,"completedAt"),...r(e,"error")}:null}l(M,"sanitizeHostedRunSummary");function r(n,e){let t=n[e];return typeof t=="string"||t===null?{[e]:t}:{}}l(r,"nullableStringProp");function k(n,e){let t=n[e];return typeof t=="boolean"||t===null?{[e]:t}:{}}l(k,"nullableBooleanProp");function T(n,e){let t=n[e];return typeof t=="number"||t===null?{[e]:t}:{}}l(T,"nullableNumberProp");function f(n,e){let t=n[e];if(!Array.isArray(t))return{};let s=t.filter(i=>typeof i=="string");return{[e]:s}}l(f,"stringArrayProp");function R(n){return typeof n=="string"&&n.trim()?n.trim():null}l(R,"stringField");function D(n,e){if(!b(n.handle,e.handle))return!1;let t=d(e.baseUrl);return t?d(n.baseUrl)===t:!d(n.baseUrl)}l(D,"accountMatchesSelector");function I(n,e,t={}){let s=d(e.baseUrl);if(s)return v(n,e.handle,s);let i=n.findIndex(a=>D(a,e));if(i!==-1)return i;let o=n.map((a,u)=>({account:a,index:u})).filter(({account:a})=>b(a.handle,e.handle));if(o.length>1&&t.requireUnambiguous)throw new Error(`multiple profiles found for ${e.handle}; pass --base-url to select one`);return o[0]?.index??-1}l(I,"findAccountIndexForSelector");function X(n){if(!n||typeof n!="object"||Array.isArray(n))return;let e=n,t={};return typeof e.token=="string"&&(t.token=e.token),(typeof e.appId=="string"||e.appId===null)&&(t.appId=e.appId),(typeof e.conversationId=="string"||e.conversationId===null)&&(t.conversationId=e.conversationId),Object.keys(t).length>0?t:void 0}l(X,"sanitizeSession");function Z(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=h(typeof e.handle=="string"?e.handle:void 0);if(!t)return null;let s={handle:t};typeof e.apiKey=="string"&&(s.apiKey=e.apiKey),typeof e.baseUrl=="string"&&(s.baseUrl=e.baseUrl),typeof e.apiBaseUrl=="string"&&(s.apiBaseUrl=e.apiBaseUrl),typeof e.chatApiBaseUrl=="string"&&(s.chatApiBaseUrl=e.chatApiBaseUrl),typeof e.environment=="string"&&(s.environment=e.environment);let i=X(e.session);return i&&(s.session=i),s}l(Z,"sanitizeAccount");function ee(n){let e={};return typeof n.token=="string"&&(e.token=n.token),(typeof n.appId=="string"||n.appId===null)&&(e.appId=n.appId),(typeof n.conversationId=="string"||n.conversationId===null)&&(e.conversationId=n.conversationId),Object.keys(e).length>0?e:void 0}l(ee,"extractLegacySession");function ne(n,e){let t={handle:e};typeof n.apiKey=="string"&&(t.apiKey=n.apiKey),typeof n.baseUrl=="string"&&(t.baseUrl=n.baseUrl),typeof n.apiBaseUrl=="string"&&(t.apiBaseUrl=n.apiBaseUrl),typeof n.chatApiBaseUrl=="string"&&(t.chatApiBaseUrl=n.chatApiBaseUrl);let s=ee(n);return s&&(t.session=s),t}l(ne,"extractLegacyAccount");function x(n){let e={};typeof n.lspEnabled=="boolean"&&(e.lspEnabled=n.lspEnabled),(n.executionMode==="local"||n.executionMode==="hosted")&&(e.executionMode=n.executionMode),(n.mode==="general"||n.mode==="builder")&&(e.mode=n.mode);let t=B(n.openpondProfile);t&&(e.openpondProfile=t);let s=[],i=Array.isArray(n.accounts)?n.accounts:[];for(let c of i){let p=Z(c);p&&v(s,p.handle,p.baseUrl)===-1&&s.push(p)}if(s.length===0){let c=y(n.activeProfile)?.handle||U;s.push(ne(n,c))}let o=y(n.activeProfile),a=o?I(s,o):-1,u=s[a===-1?0:a];return e.accounts=s,e.activeProfile=P(u),e}l(x,"normalizeGlobalConfig");function N(n,e,t){let s=n.accounts??[],i=d(t??process.env.OPENPOND_BASE_URL),o=h(e);if(o)return i?{handle:o,baseUrl:i}:{handle:o};let a=h(process.env.OPENPOND_ACCOUNT);if(a)return i?{handle:a,baseUrl:i}:{handle:a};let u=y(n.activeProfile);return u?i?{handle:u.handle,baseUrl:i}:u:s[0]?P(s[0]):{handle:U}}l(N,"resolveRequestedProfile");function G(n,e,t){let s=d(t);if(s){let o=v(n,e,s);if(o!==-1)return n[o]}else{let o=n.filter(a=>b(a.handle,e));if(o.length>1)throw new Error(`multiple profiles found for ${e}; pass --base-url to select one`);if(o.length===1)return o[0]}let i={handle:e};return s&&(i.baseUrl=s),n.push(i),i}l(G,"ensureAccount");function j(n){n.session&&Object.keys(n.session).length===0&&delete n.session}l(j,"cleanupAccount");function te(n,e,t,s){let i=t===null||t===void 0&&s.undefinedDeletes;switch(e){case"apiKey":{if(i){delete n.apiKey;return}typeof t=="string"&&(n.apiKey=t);return}case"baseUrl":{if(i){delete n.baseUrl;return}typeof t=="string"&&(n.baseUrl=t);return}case"apiBaseUrl":{if(i){delete n.apiBaseUrl;return}typeof t=="string"&&(n.apiBaseUrl=t);return}case"chatApiBaseUrl":{if(i){delete n.chatApiBaseUrl;return}typeof t=="string"&&(n.chatApiBaseUrl=t);return}case"token":case"appId":case"conversationId":{if(n.session||(n.session={}),i){delete n.session[e],j(n);return}(typeof t=="string"||t===null)&&(n.session[e]=t),j(n);return}}}l(te,"applyScopedKey");function $(n,e,t){if(!z.some(c=>m(e,c)))return!1;let i=n.accounts??[],o=y(e.activeProfile)??N(n),a=d(m(e,"baseUrl")?e.baseUrl??null:o.baseUrl??process.env.OPENPOND_BASE_URL),u=G(i,o.handle,a);for(let c of z)m(e,c)&&te(u,c,e[c],t);return n.accounts=i,n.activeProfile=P(u),!0}l($,"applyAccountPatch");function F(n,e){if(m(e,"lspEnabled")&&(typeof e.lspEnabled=="boolean"?n.lspEnabled=e.lspEnabled:e.lspEnabled===null&&delete n.lspEnabled),m(e,"executionMode")&&(e.executionMode==="local"||e.executionMode==="hosted"?n.executionMode=e.executionMode:e.executionMode===null&&delete n.executionMode),m(e,"mode")&&(e.mode==="general"||e.mode==="builder"?n.mode=e.mode:e.mode===null&&delete n.mode),m(e,"activeProfile")){let t=y(e.activeProfile);if(t){let s=I(n.accounts??[],t);n.activeProfile=s===-1?t:P((n.accounts??[])[s])}else e.activeProfile===null&&delete n.activeProfile}if(m(e,"openpondProfile")){let t=B(e.openpondProfile);t?n.openpondProfile=t:e.openpondProfile===null&&delete n.openpondProfile}}l(F,"applyTopLevelPatch");async function oe(n){let e=A();await S(e),await L(e,()=>n)}l(oe,"writeGlobalConfig");async function _(n){let e=A();return await S(e),await L(e,t=>{let s=x(t);return n(s),s})}l(_,"updateGlobalConfig");async function Y(){let n=A();return await S(n),x(await H(n))}l(Y,"loadGlobalConfig");async function le(n={}){let e=await Y(),t=e.accounts??[],s=N(e,n.account,n.baseUrl),i=I(t,s,{requireUnambiguous:!0}),o=i===-1?null:t[i],a=o?.session;return{...e,activeProfile:o?P(o):s,apiKey:o?.apiKey,baseUrl:o?.baseUrl,apiBaseUrl:o?.apiBaseUrl,chatApiBaseUrl:o?.chatApiBaseUrl,token:a?.token,appId:a?.appId,conversationId:a?.conversationId}}l(le,"loadConfig");async function J(){let n=await Y(),e=y(n.activeProfile);return(n.accounts??[]).map(t=>{let s=h(t.handle)??U;return{handle:s,baseUrl:d(t.baseUrl),apiBaseUrl:d(t.apiBaseUrl),chatApiBaseUrl:d(t.chatApiBaseUrl),environment:t.environment?.trim()||null,isActive:!!(e&&D({...t,handle:s},e)),hasApiKey:!!t.apiKey?.trim(),hasSessionToken:!!t.session?.token?.trim(),sessionAppId:t.session?.appId??null,sessionConversationId:t.session?.conversationId??null}})}l(J,"listConfiguredProfiles");async function ae(n,e={}){let t=q(n),s=d(e.baseUrl),i=-1;await _(a=>{let u=a.accounts??[];if(i=I(u,s?{handle:t,baseUrl:s}:{handle:t},{requireUnambiguous:!0}),i===-1)throw new Error(`profile not found: ${t}`);a.activeProfile=P(u[i])});let o=await J();return o.find(a=>a.isActive)??o[i]}l(ae,"setActiveProfile");async function ue(n){let e=q(n.handle),t=W(n.apiKey),s=d(n.baseUrl),i=d(n.apiBaseUrl),o=d(n.chatApiBaseUrl),a={handle:e};await _(p=>{let C=p.accounts??[],g=G(C,e,s);g.apiKey=t,s&&(g.baseUrl=s),i?g.apiBaseUrl=i:n.apiBaseUrl===null&&delete g.apiBaseUrl,o?g.chatApiBaseUrl=o:n.chatApiBaseUrl===null&&delete g.chatApiBaseUrl,n.environment===null?delete g.environment:typeof n.environment=="string"&&n.environment.trim()&&(g.environment=n.environment.trim()),p.accounts=C,a=P(g),n.setActive!==!1&&(p.activeProfile=a)});let c=(await J()).find(p=>b(p.handle,a.handle)?s?d(p.baseUrl)===s:!0:!1);if(!c)throw new Error(`failed to save profile: ${e}`);return c}l(ue,"saveProfileApiKey");async function ce(n){let e=x(n);F(e,n),$(e,n,{undefinedDeletes:!0}),await oe(e)}l(ce,"saveConfig");async function de(n){await _(e=>{F(e,n),$(e,n,{undefinedDeletes:!1})})}l(de,"saveGlobalConfig");export{re as a,_ as b,Y as c,le as d,J as e,ae as f,ue as g,ce as h,de as i};
|
|
2
|
+
import{P as H,Q as L,_ as S}from"./chunk-I7AQMAQI.js";import{f as A,h as O}from"./chunk-H7IWJN7L.js";import{a as l}from"./chunk-FTQLQJQV.js";import Q from"node:path";var U="default",z=["apiKey","baseUrl","apiBaseUrl","chatApiBaseUrl","token","appId","conversationId"];function re(){return V()}l(re,"getConfigPath");function V(){return O(A()).config}l(V,"getGlobalConfigPath");function m(n,e){return Object.prototype.hasOwnProperty.call(n,e)}l(m,"hasOwn");function h(n){if(typeof n!="string")return null;let e=n.trim();return e.length>0?e:null}l(h,"normalizeHandle");function d(n){if(typeof n!="string")return null;let e=n.trim();return e?e.replace(/\/$/,""):null}l(d,"normalizeBaseUrl");function q(n){let e=h(n);if(!e)throw new Error("profile handle must be non-empty");return e}l(q,"requireHandle");function W(n){if(typeof n!="string")throw new Error("apiKey must be a non-empty string");let e=n.trim();if(!e)throw new Error("apiKey must be a non-empty string");return e}l(W,"requireApiKey");function b(n,e){let t=h(n),s=h(e);return!!(t&&s&&t.toLowerCase()===s.toLowerCase())}l(b,"handleEquals");function v(n,e,t){let s=d(t);return n.findIndex(i=>b(i.handle,e)?s?d(i.baseUrl)===s:!0:!1)}l(v,"findAccountIndex");function P(n){let e=h(n.handle)??U,t=d(n.baseUrl);return t?{handle:e,baseUrl:t}:{handle:e}}l(P,"selectorFromAccount");function y(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=h(typeof e.handle=="string"?e.handle:void 0);if(!t)return null;let s=d(typeof e.baseUrl=="string"?e.baseUrl:void 0);return s?{handle:t,baseUrl:s}:{handle:t}}l(y,"sanitizeActiveProfile");function B(n){if(!n||typeof n!="object"||Array.isArray(n))return;let e=n,t=typeof e.repoPath=="string"?e.repoPath.trim():"",s=typeof e.profile=="string"&&e.profile.trim()?e.profile.trim():"default";if(!t)return;let i={repoPath:t,profile:s,mode:"local"};if(e.lastCheck&&typeof e.lastCheck=="object"&&!Array.isArray(e.lastCheck)){let o=e.lastCheck,a=o.command,u=o.status,c=o.checkedAt;(a==="inspect"||a==="build"||a==="validate"||a==="eval"||a==="run")&&(u==="passed"||u==="failed")&&typeof c=="string"&&(i.lastCheck={command:a,status:u,checkedAt:c,...typeof o.exitCode=="number"||o.exitCode===null?{exitCode:o.exitCode}:{},...typeof o.sourceHead=="string"||o.sourceHead===null?{sourceHead:o.sourceHead}:{}})}if(e.lastPush&&typeof e.lastPush=="object"&&!Array.isArray(e.lastPush)){let o=e.lastPush,a=o.status,u=o.pushedAt;(a==="pushed"||a==="failed")&&typeof u=="string"&&(i.lastPush={status:a,pushedAt:u,...typeof o.teamId=="string"||o.teamId===null?{teamId:o.teamId}:{},...typeof o.projectId=="string"||o.projectId===null?{projectId:o.projectId}:{},...typeof o.localHead=="string"||o.localHead===null?{localHead:o.localHead}:{},...typeof o.hostedHead=="string"||o.hostedHead===null?{hostedHead:o.hostedHead}:{},...typeof o.sourceRef=="string"||o.sourceRef===null?{sourceRef:o.sourceRef}:{},...o.promotionStatus==="uploaded"||o.promotionStatus==="hosted_source_materialized"||o.promotionStatus==="hosted_source_materialize_failed"||o.promotionStatus==="hosted_source_check_pending"||o.promotionStatus==="hosted_source_check_failed"||o.promotionStatus==="hosted_source_published"||o.promotionStatus==="hosted_source_publish_failed"||o.promotionStatus==="hosted_run_pending"||o.promotionStatus==="hosted_run_passed"||o.promotionStatus==="hosted_run_failed"||o.promotionStatus===null?{promotionStatus:o.promotionStatus}:{},...o.hostedRunStatus==="not_started"||o.hostedRunStatus==="running"||o.hostedRunStatus==="passed"||o.hostedRunStatus==="failed"||o.hostedRunStatus===null?{hostedRunStatus:o.hostedRunStatus}:{},...typeof o.hostedRunAgentId=="string"||o.hostedRunAgentId===null?{hostedRunAgentId:o.hostedRunAgentId}:{},...typeof o.hostedRunId=="string"||o.hostedRunId===null?{hostedRunId:o.hostedRunId}:{},...typeof o.hostedRunAt=="string"||o.hostedRunAt===null?{hostedRunAt:o.hostedRunAt}:{},...w(o.hostedSourceMaterialization)?{hostedSourceMaterialization:w(o.hostedSourceMaterialization)}:{},...E(o.hostedSourceCheck)?{hostedSourceCheck:E(o.hostedSourceCheck)}:{},...K(o.hostedPublish)?{hostedPublish:K(o.hostedPublish)}:{},...M(o.hostedRun)?{hostedRun:M(o.hostedRun)}:{},...typeof o.error=="string"||o.error===null?{error:o.error}:{}})}if(Array.isArray(e.profiles)){let o=e.profiles.flatMap(a=>{let u=B(a);if(!u)return[];let c=a,p=c.source==="github"||c.source==="openpond_git"?c.source:"local",C=typeof c.repositoryId=="string"&&c.repositoryId.trim()?c.repositoryId.trim():Q.resolve(u.repoPath);return[{source:p,repositoryId:C,repoPath:u.repoPath,profile:u.profile,...u.lastCheck?{lastCheck:u.lastCheck}:{},...u.lastPush?{lastPush:u.lastPush}:{}}]});o.length>0&&(i.profiles=o)}return i}l(B,"sanitizeLocalOpenPondProfile");function w(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=R(e.status);return t?{status:t,...r(e,"agentId"),...r(e,"runtimeAgentId"),...r(e,"projectId"),...r(e,"sourceRoot"),...r(e,"sourceRef"),...r(e,"sourceCommitSha"),...r(e,"manifestHash"),...r(e,"manifestPath"),...r(e,"manifestSyncedAt"),...T(e,"fileCount"),...T(e,"totalBytes"),...r(e,"generatedManifestPath"),...k(e,"synthesizedOpenPondYaml"),...r(e,"uploadMetadataPath"),...f(e,"setupCommands"),...f(e,"validationCommands"),...r(e,"materializedAt"),...r(e,"error")}:null}l(w,"sanitizeHostedMaterializationStatus");function E(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=R(e.status);return t?{status:t,...r(e,"agentId"),...r(e,"deployPlanStatus"),...k(e,"canRun"),...k(e,"canDeploy"),...r(e,"sourceRef"),...r(e,"sourceCommitSha"),...r(e,"manifestHash"),...r(e,"manifestPath"),...f(e,"setupCommands"),...f(e,"validationCommands"),...f(e,"requiredChecks"),...f(e,"evalNames"),...f(e,"blockedReasons"),...f(e,"staleReasons"),...r(e,"runtimeId"),...r(e,"sandboxId"),...f(e,"traceArtifactRefs"),...f(e,"evalResultArtifactRefs"),...f(e,"validatorArtifactRefs"),...r(e,"checkedAt"),...r(e,"error")}:null}l(E,"sanitizeHostedSourceCheckStatus");function K(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=R(e.status);return t?{status:t,...r(e,"agentId"),...r(e,"snapshotId"),...r(e,"sourceRef"),...r(e,"sourceCommitSha"),...r(e,"manifestHash"),...r(e,"manifestPath"),...r(e,"buildStatus"),...r(e,"validationStatus"),...r(e,"evalStatus"),...r(e,"publishedAt"),...r(e,"error")}:null}l(K,"sanitizeHostedPublishStatus");function M(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=R(e.status);return t?{status:t,...r(e,"agentId"),...r(e,"runId"),...r(e,"runtimeId"),...r(e,"sandboxId"),...r(e,"sourceRef"),...r(e,"sourceCommitSha"),...r(e,"manifestHash"),...r(e,"setupGateStatus"),...f(e,"setupRequirementRefs"),...f(e,"artifactRefs"),...f(e,"traceArtifactRefs"),...f(e,"evalArtifactRefs"),...r(e,"startedAt"),...r(e,"completedAt"),...r(e,"error")}:null}l(M,"sanitizeHostedRunSummary");function r(n,e){let t=n[e];return typeof t=="string"||t===null?{[e]:t}:{}}l(r,"nullableStringProp");function k(n,e){let t=n[e];return typeof t=="boolean"||t===null?{[e]:t}:{}}l(k,"nullableBooleanProp");function T(n,e){let t=n[e];return typeof t=="number"||t===null?{[e]:t}:{}}l(T,"nullableNumberProp");function f(n,e){let t=n[e];if(!Array.isArray(t))return{};let s=t.filter(i=>typeof i=="string");return{[e]:s}}l(f,"stringArrayProp");function R(n){return typeof n=="string"&&n.trim()?n.trim():null}l(R,"stringField");function D(n,e){if(!b(n.handle,e.handle))return!1;let t=d(e.baseUrl);return t?d(n.baseUrl)===t:!d(n.baseUrl)}l(D,"accountMatchesSelector");function I(n,e,t={}){let s=d(e.baseUrl);if(s)return v(n,e.handle,s);let i=n.findIndex(a=>D(a,e));if(i!==-1)return i;let o=n.map((a,u)=>({account:a,index:u})).filter(({account:a})=>b(a.handle,e.handle));if(o.length>1&&t.requireUnambiguous)throw new Error(`multiple profiles found for ${e.handle}; pass --base-url to select one`);return o[0]?.index??-1}l(I,"findAccountIndexForSelector");function X(n){if(!n||typeof n!="object"||Array.isArray(n))return;let e=n,t={};return typeof e.token=="string"&&(t.token=e.token),(typeof e.appId=="string"||e.appId===null)&&(t.appId=e.appId),(typeof e.conversationId=="string"||e.conversationId===null)&&(t.conversationId=e.conversationId),Object.keys(t).length>0?t:void 0}l(X,"sanitizeSession");function Z(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n,t=h(typeof e.handle=="string"?e.handle:void 0);if(!t)return null;let s={handle:t};typeof e.apiKey=="string"&&(s.apiKey=e.apiKey),typeof e.baseUrl=="string"&&(s.baseUrl=e.baseUrl),typeof e.apiBaseUrl=="string"&&(s.apiBaseUrl=e.apiBaseUrl),typeof e.chatApiBaseUrl=="string"&&(s.chatApiBaseUrl=e.chatApiBaseUrl),typeof e.environment=="string"&&(s.environment=e.environment);let i=X(e.session);return i&&(s.session=i),s}l(Z,"sanitizeAccount");function ee(n){let e={};return typeof n.token=="string"&&(e.token=n.token),(typeof n.appId=="string"||n.appId===null)&&(e.appId=n.appId),(typeof n.conversationId=="string"||n.conversationId===null)&&(e.conversationId=n.conversationId),Object.keys(e).length>0?e:void 0}l(ee,"extractLegacySession");function ne(n,e){let t={handle:e};typeof n.apiKey=="string"&&(t.apiKey=n.apiKey),typeof n.baseUrl=="string"&&(t.baseUrl=n.baseUrl),typeof n.apiBaseUrl=="string"&&(t.apiBaseUrl=n.apiBaseUrl),typeof n.chatApiBaseUrl=="string"&&(t.chatApiBaseUrl=n.chatApiBaseUrl);let s=ee(n);return s&&(t.session=s),t}l(ne,"extractLegacyAccount");function x(n){let e={};typeof n.lspEnabled=="boolean"&&(e.lspEnabled=n.lspEnabled),(n.executionMode==="local"||n.executionMode==="hosted")&&(e.executionMode=n.executionMode),(n.mode==="general"||n.mode==="builder")&&(e.mode=n.mode);let t=B(n.openpondProfile);t&&(e.openpondProfile=t);let s=[],i=Array.isArray(n.accounts)?n.accounts:[];for(let c of i){let p=Z(c);p&&v(s,p.handle,p.baseUrl)===-1&&s.push(p)}if(s.length===0){let c=y(n.activeProfile)?.handle||U;s.push(ne(n,c))}let o=y(n.activeProfile),a=o?I(s,o):-1,u=s[a===-1?0:a];return e.accounts=s,e.activeProfile=P(u),e}l(x,"normalizeGlobalConfig");function N(n,e,t){let s=n.accounts??[],i=d(t??process.env.OPENPOND_BASE_URL),o=h(e);if(o)return i?{handle:o,baseUrl:i}:{handle:o};let a=h(process.env.OPENPOND_ACCOUNT);if(a)return i?{handle:a,baseUrl:i}:{handle:a};let u=y(n.activeProfile);return u?i?{handle:u.handle,baseUrl:i}:u:s[0]?P(s[0]):{handle:U}}l(N,"resolveRequestedProfile");function G(n,e,t){let s=d(t);if(s){let o=v(n,e,s);if(o!==-1)return n[o]}else{let o=n.filter(a=>b(a.handle,e));if(o.length>1)throw new Error(`multiple profiles found for ${e}; pass --base-url to select one`);if(o.length===1)return o[0]}let i={handle:e};return s&&(i.baseUrl=s),n.push(i),i}l(G,"ensureAccount");function j(n){n.session&&Object.keys(n.session).length===0&&delete n.session}l(j,"cleanupAccount");function te(n,e,t,s){let i=t===null||t===void 0&&s.undefinedDeletes;switch(e){case"apiKey":{if(i){delete n.apiKey;return}typeof t=="string"&&(n.apiKey=t);return}case"baseUrl":{if(i){delete n.baseUrl;return}typeof t=="string"&&(n.baseUrl=t);return}case"apiBaseUrl":{if(i){delete n.apiBaseUrl;return}typeof t=="string"&&(n.apiBaseUrl=t);return}case"chatApiBaseUrl":{if(i){delete n.chatApiBaseUrl;return}typeof t=="string"&&(n.chatApiBaseUrl=t);return}case"token":case"appId":case"conversationId":{if(n.session||(n.session={}),i){delete n.session[e],j(n);return}(typeof t=="string"||t===null)&&(n.session[e]=t),j(n);return}}}l(te,"applyScopedKey");function $(n,e,t){if(!z.some(c=>m(e,c)))return!1;let i=n.accounts??[],o=y(e.activeProfile)??N(n),a=d(m(e,"baseUrl")?e.baseUrl??null:o.baseUrl??process.env.OPENPOND_BASE_URL),u=G(i,o.handle,a);for(let c of z)m(e,c)&&te(u,c,e[c],t);return n.accounts=i,n.activeProfile=P(u),!0}l($,"applyAccountPatch");function F(n,e){if(m(e,"lspEnabled")&&(typeof e.lspEnabled=="boolean"?n.lspEnabled=e.lspEnabled:e.lspEnabled===null&&delete n.lspEnabled),m(e,"executionMode")&&(e.executionMode==="local"||e.executionMode==="hosted"?n.executionMode=e.executionMode:e.executionMode===null&&delete n.executionMode),m(e,"mode")&&(e.mode==="general"||e.mode==="builder"?n.mode=e.mode:e.mode===null&&delete n.mode),m(e,"activeProfile")){let t=y(e.activeProfile);if(t){let s=I(n.accounts??[],t);n.activeProfile=s===-1?t:P((n.accounts??[])[s])}else e.activeProfile===null&&delete n.activeProfile}if(m(e,"openpondProfile")){let t=B(e.openpondProfile);t?n.openpondProfile=t:e.openpondProfile===null&&delete n.openpondProfile}}l(F,"applyTopLevelPatch");async function oe(n){let e=A();await S(e),await L(e,()=>n)}l(oe,"writeGlobalConfig");async function _(n){let e=A();return await S(e),await L(e,t=>{let s=x(t);return n(s),s})}l(_,"updateGlobalConfig");async function Y(){let n=A();return await S(n),x(await H(n))}l(Y,"loadGlobalConfig");async function le(n={}){let e=await Y(),t=e.accounts??[],s=N(e,n.account,n.baseUrl),i=I(t,s,{requireUnambiguous:!0}),o=i===-1?null:t[i],a=o?.session;return{...e,activeProfile:o?P(o):s,apiKey:o?.apiKey,baseUrl:o?.baseUrl,apiBaseUrl:o?.apiBaseUrl,chatApiBaseUrl:o?.chatApiBaseUrl,token:a?.token,appId:a?.appId,conversationId:a?.conversationId}}l(le,"loadConfig");async function J(){let n=await Y(),e=y(n.activeProfile);return(n.accounts??[]).map(t=>{let s=h(t.handle)??U;return{handle:s,baseUrl:d(t.baseUrl),apiBaseUrl:d(t.apiBaseUrl),chatApiBaseUrl:d(t.chatApiBaseUrl),environment:t.environment?.trim()||null,isActive:!!(e&&D({...t,handle:s},e)),hasApiKey:!!t.apiKey?.trim(),hasSessionToken:!!t.session?.token?.trim(),sessionAppId:t.session?.appId??null,sessionConversationId:t.session?.conversationId??null}})}l(J,"listConfiguredProfiles");async function ae(n,e={}){let t=q(n),s=d(e.baseUrl),i=-1;await _(a=>{let u=a.accounts??[];if(i=I(u,s?{handle:t,baseUrl:s}:{handle:t},{requireUnambiguous:!0}),i===-1)throw new Error(`profile not found: ${t}`);a.activeProfile=P(u[i])});let o=await J();return o.find(a=>a.isActive)??o[i]}l(ae,"setActiveProfile");async function ue(n){let e=q(n.handle),t=W(n.apiKey),s=d(n.baseUrl),i=d(n.apiBaseUrl),o=d(n.chatApiBaseUrl),a={handle:e};await _(p=>{let C=p.accounts??[],g=G(C,e,s);g.apiKey=t,s&&(g.baseUrl=s),i?g.apiBaseUrl=i:n.apiBaseUrl===null&&delete g.apiBaseUrl,o?g.chatApiBaseUrl=o:n.chatApiBaseUrl===null&&delete g.chatApiBaseUrl,n.environment===null?delete g.environment:typeof n.environment=="string"&&n.environment.trim()&&(g.environment=n.environment.trim()),p.accounts=C,a=P(g),n.setActive!==!1&&(p.activeProfile=a)});let c=(await J()).find(p=>b(p.handle,a.handle)?s?d(p.baseUrl)===s:!0:!1);if(!c)throw new Error(`failed to save profile: ${e}`);return c}l(ue,"saveProfileApiKey");async function ce(n){let e=x(n);F(e,n),$(e,n,{undefinedDeletes:!0}),await oe(e)}l(ce,"saveConfig");async function de(n){await _(e=>{F(e,n),$(e,n,{undefinedDeletes:!1})})}l(de,"saveGlobalConfig");export{re as a,_ as b,Y as c,le as d,J as e,ae as f,ue as g,ce as h,de as i};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{b as t}from"./chunk-ES2ISFJC.js";import{a as n}from"./chunk-FTQLQJQV.js";var e=t.object({schemaVersion:t.literal("openpond.trainingActivityAuthority.v1"),teamId:t.string().min(1),actorId:t.string().min(1),projectId:t.string().min(1).nullable()}).strict(),r=new WeakMap;function y(i,o){r.set(i,e.parse(o))}n(y,"bindTrainingActivityAuthority");function a(i){return r.get(i)??null}n(a,"boundTrainingActivityAuthority");export{e as a,y as b,a as c};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{c as O}from"./chunk-Z4Z5UOZM.js";import{a as i}from"./chunk-FTQLQJQV.js";import{createHash as K}from"node:crypto";import{createHash as oe,randomBytes as L}from"node:crypto";import{createServer as ne}from"node:http";var k="app_EMoamEEZ73f0CkXaXp7hrann",y="https://auth.openai.com",C=1455,T=300*1e3,re=5e3,ie=3e3;function Ge(e){let t=null,o=null;async function n(){let{redirectUri:d}=await c(),a=ae(),l=R(L(32));o&&(o.reject(new Error("A previous OpenAI ChatGPT login was replaced.")),clearTimeout(o.timeout),o=null);let g=Date.now()+T;return new Promise((v,_)=>{o={pkce:a,state:l,resolve:v,reject:_,timeout:setTimeout(()=>{o=null,_(new Error("OpenAI ChatGPT login timed out."))},T)}}).then(v=>f(v)).catch(()=>{}).finally(()=>m()),{url:se(d,a,l),redirectUri:d,expiresAt:g}}i(n,"startBrowserLogin");async function r(){let d=await fetch(`${y}/api/accounts/deviceauth/usercode`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":"openpond-app"},body:JSON.stringify({client_id:k})});if(!d.ok)throw new Error(`OpenAI device authorization failed: ${d.status}`);let a=await d.json();if(!a.device_auth_id||!a.user_code)throw new Error("OpenAI device authorization returned an incomplete response.");let l=Math.max(Number.parseInt(a.interval??"",10)||re/1e3,1)*1e3,g=Date.now()+T;return s({deviceAuthId:a.device_auth_id,userCode:a.user_code,intervalMs:l,expiresAt:g}).catch(()=>{}),{url:`${y}/codex/device`,userCode:a.user_code,expiresAt:g}}i(r,"startDeviceLogin");async function s(d){for(;Date.now()<d.expiresAt;){let a=await fetch(`${y}/api/accounts/deviceauth/token`,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":"openpond-app"},body:JSON.stringify({device_auth_id:d.deviceAuthId,user_code:d.userCode})});if(a.ok){let l=await a.json();if(!l.authorization_code||!l.code_verifier)throw new Error("OpenAI device login returned an incomplete authorization response.");await f(await H(l.authorization_code,`${y}/deviceauth/callback`,{verifier:l.code_verifier}));return}if(a.status!==403&&a.status!==404)throw new Error(`OpenAI device login failed: ${a.status}`);await ce(d.intervalMs+ie)}throw new Error("OpenAI device login timed out.")}i(s,"pollDeviceLogin");async function c(){return t?{redirectUri:`http://localhost:${C}/auth/callback`}:(t=ne((d,a)=>{let l=new URL(d.url||"/",`http://localhost:${C}`);if(l.pathname!=="/auth/callback"){a.writeHead(404),a.end("Not found");return}let g=o,w=l.searchParams.get("error"),v=l.searchParams.get("error_description");if(w){u(v||w),a.writeHead(200,{"Content-Type":"text/html"}),a.end(P("Authorization Failed",v||w));return}let _=l.searchParams.get("code"),te=l.searchParams.get("state");if(!_){u("Missing authorization code."),a.writeHead(400,{"Content-Type":"text/html"}),a.end(P("Authorization Failed","Missing authorization code."));return}if(!g||te!==g.state){u("Invalid OAuth state."),a.writeHead(400,{"Content-Type":"text/html"}),a.end(P("Authorization Failed","Invalid OAuth state."));return}o=null,clearTimeout(g.timeout),H(_,`http://localhost:${C}/auth/callback`,g.pkce).then(g.resolve).catch(g.reject),a.writeHead(200,{"Content-Type":"text/html"}),a.end(P("Authorization Successful","You can close this window and return to OpenPond."))}),await new Promise((d,a)=>{t.once("error",a),t.listen(C,()=>{t.off("error",a),d()})}),{redirectUri:`http://localhost:${C}/auth/callback`})}i(c,"ensureOAuthServer");function u(d){let a=o;o=null,a&&(clearTimeout(a.timeout),a.reject(new Error(d)))}i(u,"failBrowserOAuth");function m(){let d=t;t=null,d&&d.close()}i(m,"stopOAuthServer");async function f(d){let a=d.access_token?.trim()||null,l=d.refresh_token?.trim();if(!l)throw new Error("OpenAI login did not return a refresh token.");await e.saveCredential({accessToken:a,refreshToken:l,expiresAt:Date.now()+(d.expires_in??3600)*1e3,accountId:B(d)})}return i(f,"saveTokens"),{startBrowserLogin:n,startDeviceLogin:r}}i(Ge,"createOpenAiSubscriptionAuthService");function se(e,t,o){let n=new URLSearchParams({response_type:"code",client_id:k,redirect_uri:e,scope:"openid profile email offline_access",code_challenge:t.challenge,code_challenge_method:"S256",id_token_add_organizations:"true",codex_cli_simplified_flow:"true",state:o,originator:"openpond"});return`${y}/oauth/authorize?${n.toString()}`}i(se,"buildAuthorizeUrl");async function H(e,t,o){let n=await fetch(`${y}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"authorization_code",code:e,redirect_uri:t,client_id:k,code_verifier:o.verifier}).toString()});if(!n.ok)throw new Error(`OpenAI token exchange failed: ${n.status}`);return await n.json()}i(H,"exchangeCodeForTokens");async function j(e){let t=await fetch(`${y}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e,client_id:k}).toString()});if(t.status===401)throw new Error("Your OpenAI ChatGPT sign-in has expired or was invalidated. Reconnect it in Settings > Providers > OpenAI > Subscription by selecting Connect ChatGPT. This is an authentication issue, not a billing or model-access error.");if(!t.ok)throw new Error(`OpenAI token refresh failed: ${t.status}`);return await t.json()}i(j,"refreshOpenAiSubscriptionToken");function D(e,t){return{accessToken:e.access_token?.trim()||t.accessToken,refreshToken:e.refresh_token?.trim()||t.refreshToken,expiresAt:Date.now()+(e.expires_in??3600)*1e3,accountId:B(e)??t.accountId}}i(D,"credentialFromRefreshResponse");function ae(){let e=R(L(32)),t=R(oe("sha256").update(e).digest());return{verifier:e,challenge:t}}i(ae,"generatePkce");function B(e){for(let t of[e.id_token,e.access_token]){let o=de(t),n=S(o?.chatgpt_account_id);if(n)return n;let r=o?.["https://api.openai.com/auth"];if(r&&typeof r=="object"){let c=S(r.chatgpt_account_id);if(c)return c}let s=o?.organizations;if(Array.isArray(s)){for(let c of s)if(c&&typeof c=="object"){let u=S(c.id);if(u)return u}}}return null}i(B,"extractAccountId");function de(e){if(!e)return null;let t=e.split(".");if(t.length!==3)return null;try{return JSON.parse(Buffer.from(t[1],"base64url").toString("utf8"))}catch{return null}}i(de,"parseJwtClaims");function P(e,t){return`<!doctype html><html><head><meta charset="utf-8"><title>OpenPond - ${I(e)}</title></head><body><h1>${I(e)}</h1><p>${I(t)}</p></body></html>`}i(P,"htmlPage");function I(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}i(I,"escapeHtml");function R(e){return e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}i(R,"base64Url");function S(e){return typeof e=="string"&&e.trim()?e.trim():null}i(S,"stringValue");function ce(e){return new Promise(t=>setTimeout(t,e))}i(ce,"sleep");function x(e){let t=e.model?.trim().toLowerCase()??"";return e.provider==="zai"&&/(?:^|[/_-])glm-(?:4\.(?:[5-9]|\d{2,})|[5-9](?:\.\d+)?)(?:$|[/_-])/.test(t)?{kind:"chat_completions_reasoning",requestThinking:"zai_clear_thinking",supportsToolChoice:!0}:e.provider==="deepseek"&&/(?:^|[/_-])deepseek-v(?:3\.2|[4-9](?:\.\d+)?)(?:$|[/_-])/.test(t)?{kind:"chat_completions_reasoning",requestThinking:"deepseek_enabled",supportsToolChoice:!1}:null}i(x,"chatCompletionsReasoningPolicy");function N(e){return!e.hasToolCalls||e.reasoningText.length===0||!x(e)?null:{kind:"chat_completions_reasoning",reasoningContent:e.reasoningText}}i(N,"chatCompletionsContinuation");function z(e){return e.some(t=>t.continuation?.kind==="chat_completions_reasoning"&&t.continuation.reasoningContent.length>0)}i(z,"hasChatCompletionsReasoningContinuation");var le=["openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"],ue=9e4,q=5*6e4,pe=5*1024*1024,me=64*1024,fe="https://chatgpt.com/backend-api/codex/responses",he=6e4;function ge(e){return le.includes(e)}i(ge,"isOpenAiCompatibleProviderId");function E(e){if(!ge(e.providerId))throw new Error(`Provider ${e.providerId} is not OpenAI-compatible.`);let t=e.settings.providers[e.providerId],o=e.settings.modelCaches[e.providerId],n=J(e.baseUrl??t?.baseUrl??"");if(!n)throw new Error(`Provider ${e.providerId} requires a base URL.`);let r=e.secrets.providers[e.providerId],s=ye(e.providerId,r);if(!s)throw new Error(ve(e.providerId,e.settings));let c=e.modelId?.trim()||t?.defaultModel?.trim()||o?.models.find(u=>u.id.trim())?.id.trim()||"";if(!c&&e.requireModel!==!1)throw new Error(`Provider ${e.providerId} requires a model.`);return{providerId:e.providerId,baseUrl:n,auth:s,model:c}}i(E,"resolveOpenAiCompatibleProvider");function ye(e,t){if(e==="openai"&&t?.source==="chatgpt_subscription"&&t.oauth?.refreshToken)return{type:"chatgpt_subscription",credential:t.oauth};let o=t?.source==="local_secret"?t.value?.trim()??"":t?.source==="env"&&t.envVar?process.env[t.envVar]?.trim()??"":"";return o?{type:"api_key",apiKey:o}:null}i(ye,"resolveProviderAuth");function ve(e,t){let o=t.statuses[e]?.displayName?.trim()||e,n="Add an API key in Settings > Providers.";return e==="openai"?`${o} has no connected API key. The raw OpenAI provider uses Platform API credentials. ${n}`:`${o} has no connected API key. ${n}`}i(ve,"missingApiKeyMessage");async function be(e){let t=E({...e,requireModel:!1});if(t.auth.type==="chatgpt_subscription")return Ee(e.settings,t.providerId);let o=$(e.signal,e.requestTimeoutMs);try{let n=V(t.baseUrl,"models"),r=await fetch(n,{method:"GET",headers:Y(t.auth.apiKey,"application/json"),signal:o.signal});if(!r.ok){o.touch();let u=await M(r,e.errorBodyLimitBytes,o.signal,o.touch);throw new Error(`Provider ${t.providerId} model list failed: ${r.status} ${X(t,u)}`)}let s=await Le(r,`Provider ${t.providerId} model list`,e.responseBodyLimitBytes,o.signal,o.touch),c=Me(t.providerId,s);if(c.length===0)throw new Error(`Provider ${t.providerId} returned no models.`);return c}finally{o.cleanup()}}i(be,"listOpenAiCompatibleProviderModels");async function Ze(e){let t=E(e),o=await be({...e,providerId:t.providerId,baseUrl:t.baseUrl,modelId:t.model}),n=o.some(s=>s.id===t.model),r=n?[]:[`Model ${t.model} was not returned by provider model discovery.`];return{providerId:t.providerId,ok:r.length===0,live:!0,baseUrl:t.baseUrl,modelId:t.model,modelFound:n,modelCount:o.length,errors:r}}i(Ze,"validateOpenAiCompatibleProvider");async function*et(e){let t=e.resolvedProvider??E(e);if(t.auth.type==="chatgpt_subscription"){let n={...t,auth:t.auth};yield*_e({...e,provider:n});return}let o=$(e.signal,e.requestTimeoutMs);try{let n=V(t.baseUrl,"chat/completions"),r=await fetch(n,{method:"POST",redirect:"error",headers:Y(t.auth.apiKey,"text/event-stream",e.allowAnonymous),body:JSON.stringify(we({providerId:t.providerId,model:t.model,messages:e.messages,tools:e.tools,toolChoice:e.toolChoice,reasoningEffort:e.reasoningEffort,maxOutputTokens:e.maxOutputTokens,temperature:e.temperature,topP:e.topP,seed:e.seed})),signal:o.signal});if(!r.ok||!r.body){o.touch();let d=await M(r,e.errorBodyLimitBytes,o.signal,o.touch);throw new Error(`Provider ${t.providerId} stream failed: ${r.status} ${X(t,d)}`)}let s="",c=!1,u=null,m=null;o.touch();for await(let d of ee(r.body,o.signal,o.touch)){if(m=d,d&&typeof d=="object"&&"error"in d)throw new Error(`Provider ${t.providerId} stream failed: ${U(d)}`);let a=Ne(d);a&&(yield{type:"usage",usage:a,raw:d});for(let l of je(d))l.type==="reasoning_delta"&&(s+=l.text),l.type==="tool_call_delta"&&(c=!0),l.type==="finish"?u=l:yield l}let f=N({provider:t.providerId,model:t.model,reasoningText:s,hasToolCalls:c});f&&(yield{type:"continuation",continuation:f,raw:m}),u&&(yield u)}finally{o.cleanup()}}i(et,"streamOpenAiCompatibleChatCompletion");async function*_e(e){let t=await Ce({providerId:e.provider.providerId,credential:e.provider.auth.credential,saveChatGptSubscriptionCredential:e.saveChatGptSubscriptionCredential});if(!t.accessToken)throw new Error("OpenAI ChatGPT subscription credential has no access token.");let o=Ae(e.promptCacheKey),n=$(e.signal,e.requestTimeoutMs);try{let r=await fetch(fe,{method:"POST",headers:xe(t,o??e.requestId),body:JSON.stringify(ke({model:e.provider.model,messages:e.messages,tools:e.tools,toolChoice:e.toolChoice,reasoningEffort:e.reasoningEffort,promptCacheKey:o})),signal:n.signal});if(!r.ok||!r.body){n.touch();let d=await M(r,e.errorBodyLimitBytes,n.signal,n.touch);throw new Error(`Provider ${e.provider.providerId} subscription stream failed: ${r.status} ${d}`)}let s=new Set,c=new Map,u=!1,m=null,f=null;n.touch();for await(let d of ee(r.body,n.signal,n.touch)){if(f=d,d&&typeof d=="object"&&"error"in d)throw new Error(`Provider ${e.provider.providerId} subscription stream failed: ${U(d)}`);for(let a of Te(d)){let l=p(a.id)??JSON.stringify(a);c.set(l,a)}for(let a of De(d,s))a.type==="tool_call_delta"&&(u=!0),a.type==="finish"?m=a:yield a}u&&c.size>0&&(yield{type:"continuation",continuation:{kind:"responses_reasoning_items",items:[...c.values()]},raw:f}),m&&(yield m)}finally{n.cleanup()}}i(_e,"streamOpenAiSubscriptionResponses");async function Ce(e){if(e.credential.accessToken&&e.credential.expiresAt>Date.now()+he)return e.credential;let t=D(await j(e.credential.refreshToken),e.credential);return await e.saveChatGptSubscriptionCredential?.(e.providerId,t),t}i(Ce,"usableSubscriptionCredential");function we(e){let t={model:e.model,messages:Pe(Re(e.messages)),stream:!0};e.tools&&(t.tools=e.tools),e.providerId==="openai"&&e.reasoningEffort&&(t.reasoning_effort=e.reasoningEffort),e.maxOutputTokens!=null&&(t.max_tokens=e.maxOutputTokens),e.temperature!=null&&(t.temperature=e.temperature),e.topP!=null&&(t.top_p=e.topP),e.seed!=null&&(t.seed=e.seed),e.providerId==="zai"&&e.tools&&e.tools.length>0&&(t.tool_stream=!0);let o=x({provider:e.providerId,model:e.model});return e.tools&&e.tools.length>0&&o?.requestThinking==="zai_clear_thinking"&&(t.thinking={type:"enabled",clear_thinking:!z(e.messages)}),e.tools&&e.tools.length>0&&o?.requestThinking==="deepseek_enabled"&&(t.thinking={type:"enabled"}),e.toolChoice!==void 0&&o?.supportsToolChoice!==!1&&(t.tool_choice=e.toolChoice),t}i(we,"buildChatCompletionBody");function Pe(e){return e.map(t=>{let{continuation:o,images:n,...r}=t,s=n?.length?[...typeof t.content=="string"&&t.content.trim()?[{type:"text",text:t.content}]:[],...n.map(c=>({type:"image_url",image_url:{url:c.url,...c.detail?{detail:c.detail}:{}}}))]:t.content;return o?.kind==="chat_completions_reasoning"?{...r,...s!==void 0?{content:s}:{},reasoning_content:o.reasoningContent}:{...r,...s!==void 0?{content:s}:{}}})}i(Pe,"chatCompletionMessages");function ke(e){let t=Oe(e.messages),o={model:e.model,input:t.input,stream:!0,store:!1};t.instructions&&(o.instructions=t.instructions),e.promptCacheKey&&(o.prompt_cache_key=e.promptCacheKey),o.reasoning={...e.reasoningEffort?{effort:e.reasoningEffort}:{},summary:"auto"},e.maxOutputTokens!=null&&(o.max_output_tokens=e.maxOutputTokens),e.temperature!=null&&(o.temperature=e.temperature),e.topP!=null&&(o.top_p=e.topP);let n=Ie(e.tools);n.length>0&&(o.tools=n);let r=Se(e.toolChoice);return r!==void 0&&(o.tool_choice=r),o}i(ke,"buildResponsesBody");function Ae(e){let t=e?.trim();if(t)return t.length<=64?t:K("sha256").update(t).digest("hex")}i(Ae,"normalizedPromptCacheKey");function Oe(e){let t=[],o=[];for(let n of e){let r=typeof n.content=="string"?n.content:"";if(n.role==="system"){r.trim()&&t.push(r.trim());continue}if(n.role==="tool"){o.push({type:"function_call_output",call_id:n.tool_call_id,output:r});continue}n.continuation?.kind==="responses_reasoning_items"&&o.push(...n.continuation.items),(r.trim()||n.images?.length)&&o.push({type:"message",role:n.role,content:[...r.trim()?[{type:n.role==="assistant"?"output_text":"input_text",text:r}]:[],...(n.images??[]).map(s=>({type:"input_image",image_url:s.url,...s.detail?{detail:s.detail}:{}}))]});for(let s of n.tool_calls??[]){let c=s.function&&typeof s.function=="object"?s.function:{};o.push({type:"function_call",call_id:s.id,name:c.name,arguments:typeof c.arguments=="string"?c.arguments:""})}}return{instructions:t.join(`
|
|
3
|
+
|
|
4
|
+
`)||null,input:o}}i(Oe,"responsesInputFromMessages");function Te(e){if(!e||typeof e!="object")return[];let t=e,o=p(t.type);if(o==="response.output_item.done"){let r=t.item&&typeof t.item=="object"?t.item:null;return r?.type==="reasoning"?[r]:[]}if(o!=="response.completed")return[];let n=t.response&&typeof t.response=="object"?t.response:null;return Array.isArray(n?.output)?n.output.filter(r=>!!r&&typeof r=="object"&&r.type==="reasoning"):[]}i(Te,"responsesReasoningItemsFromEvent");function Ie(e){return(e??[]).filter(t=>t.type==="function"&&t.function?.name).map(t=>({type:"function",name:t.function.name,description:t.function.description,parameters:t.function.parameters??{}}))}i(Ie,"responsesTools");function Se(e){if(e!==void 0)return typeof e=="string"?e:{type:"function",name:e.function.name}}i(Se,"responsesToolChoice");function Re(e){let t=[],o=[];for(let n of e){if(n.role==="system"){let r=typeof n.content=="string"?n.content.trim():"";r&&t.push(r);continue}o.push(n)}return t.length===0?e:[{role:"system",content:t.join(`
|
|
5
|
+
|
|
6
|
+
`)},...o]}i(Re,"mergeSystemMessages");function V(e,t){let o=J(e);if(!o)throw new Error("Provider base URL is required.");return`${o}/${t}`}i(V,"providerEndpointUrl");function J(e){let t=(e??"").trim();if(!t)return"";let o;try{o=new URL(t)}catch{throw new Error("Provider base URL must be a valid http(s) URL.")}if(o.protocol!=="http:"&&o.protocol!=="https:")throw new Error("Provider base URL must use http or https.");o.search="",o.hash="";let n=o.pathname.replace(/\/+$/,"");return/\/chat\/completions$/i.test(n)?o.pathname=n.replace(/\/chat\/completions$/i,"")||"/":/\/models$/i.test(n)?o.pathname=n.replace(/\/models$/i,"")||"/":o.pathname=n||"/",o.toString().replace(/\/+$/,"")}i(J,"normalizeOpenAiCompatibleBaseUrl");function Y(e,t,o=!1){let n=e.trim();if(!n&&!o)throw new Error("Provider API key is required.");let r=new Headers;return n&&r.set("Authorization",`Bearer ${n}`),r.set("Content-Type","application/json"),r.set("Accept",t),r}i(Y,"providerHeaders");function xe(e,t){let o=new Headers;return o.set("Authorization",`Bearer ${e.accessToken}`),o.set("Content-Type","application/json"),o.set("Accept","text/event-stream"),o.set("originator","openpond"),o.set("User-Agent","openpond-app"),t&&o.set("session-id",t.length<=64?t:K("sha256").update(t).digest("hex")),e.accountId&&o.set("ChatGPT-Account-Id",e.accountId),o}i(xe,"subscriptionHeaders");function Ee(e,t){let o=e.modelCaches[t]?.models??[];return o.length>0?o:[O.parse({id:"gpt-5.6-sol",providerId:t,displayName:"GPT-5.6 Sol",contextWindow:4e5,outputLimit:128e3,source:"curated",capabilities:W("gpt-5.6-sol")})]}i(Ee,"subscriptionModelsFromSettings");function Me(e,t){let o=t&&typeof t=="object"?t:{},n=Array.isArray(o.data)?o.data:Array.isArray(t)?t:[],r=[];for(let s of n){let c=$e(e,s);c&&r.push(c)}return Ue(r)}i(Me,"modelsFromPayload");function $e(e,t){if(!t||typeof t!="object")return null;let o=t,n=p(o.id);if(!n)return null;let r=p(o.name)??p(o.display_name)??n;return O.parse({id:n,providerId:e,displayName:r,contextWindow:h(o.context_window)??h(o.context_length)??h(o.max_context_length)??F(o.top_provider,"context_length")??null,outputLimit:h(o.max_completion_tokens)??h(o.max_output_tokens)??F(o.top_provider,"max_completion_tokens")??null,lifecycleStatus:"active",source:"provider",capabilities:W(n),raw:He(o)})}i($e,"providerModelFromUnknown");function Ue(e){let t=new Set,o=[];for(let n of e)t.has(n.id)||(t.add(n.id),o.push(n));return o}i(Ue,"uniqueProviderModels");function W(e){let t=e.toLowerCase();return{streaming:!0,toolCalling:!0,structuredOutput:!0,reasoningEfforts:[],vision:/vision|gpt-4\.1|gpt-5|gemini|claude|pixtral|vl/.test(t),reasoning:/reason|r1|o1|o3|o4|gpt-5|grok|glm-(?:4\.[5-9]|5(?:\.\d+)?)|kimi-k2/.test(t)}}i(W,"capabilitiesForModelId");function He(e){return Object.fromEntries(["id","object","owned_by","created","name","display_name","description","context_window","context_length","max_context_length","max_completion_tokens","max_output_tokens","pricing","architecture","top_provider"].map(o=>[o,e[o]]).filter(([,o])=>o!==void 0))}i(He,"rawProviderModel");async function M(e,t=me,o,n){let r=await Q(e,t,{truncate:!0},o,n).catch(()=>{if(o?.aborted)throw b(o);return{text:"",truncated:!1}}),s=r.text;if(!s)return e.statusText||`HTTP ${e.status}`;try{return`${U(JSON.parse(s))}${r.truncated?" (truncated)":""}`}catch{return`${s}${r.truncated?" (truncated)":""}`}}i(M,"readProviderError");function X(e,t){return e.providerId==="zai"&&/\b1113\b|insufficient balance|resource package/i.test(t)?[t,"Z.ai Coding Plan subscriptions use https://api.z.ai/api/coding/paas/v4; the general API endpoint uses separate API balance/resource packages.","If this base URL is already configured, check the Coding Plan quota/reset window and that the selected model is included in the plan."].join(" "):t}i(X,"providerErrorDetail");async function Le(e,t,o=pe,n,r){let s=await Q(e,o,{truncate:!1},n,r);try{return JSON.parse(s.text)}catch{throw new Error(`${t} returned invalid JSON.`)}}i(Le,"readProviderJson");async function Q(e,t,o,n,r){if(!e.body)return{text:"",truncated:!1};let s=e.body.getReader(),c=new TextDecoder,u=0,m="",f=!1;try{for(;;){let{done:d,value:a}=await Z(s,n,r);if(d)break;if(u+=a.byteLength,u>t){if(f=!0,!o.truncate)throw new Error(`Provider response body exceeds ${t} bytes.`);let l=Math.max(0,a.byteLength-(u-t));l>0&&(m+=c.decode(a.slice(0,l),{stream:!0})),await s.cancel().catch(()=>{});break}m+=c.decode(a,{stream:!0})}}finally{s.releaseLock()}return m+=c.decode(),{text:m,truncated:f}}i(Q,"readLimitedResponseText");function $(e,t=ue){if(e?.aborted)throw b(e);let o=new AbortController,n=i(()=>o.abort(b(e)),"onAbort");e?.addEventListener("abort",n,{once:!0});let r=null,s=i(()=>{o.signal.aborted||(r&&clearTimeout(r),r=setTimeout(()=>o.abort(new Error(`Provider request timed out after ${t}ms without progress.`)),t))},"touch");s();let c=setTimeout(()=>o.abort(new Error(`Provider request exceeded ${q}ms.`)),q);return{signal:o.signal,touch:s,cleanup:i(()=>{r&&clearTimeout(r),clearTimeout(c),e?.removeEventListener("abort",n)},"cleanup")}}i($,"createProviderRequestSignal");function b(e){return e?.reason instanceof Error?e.reason:new Error("provider_request_aborted")}i(b,"abortReason");async function Z(e,t,o){if(!t){let r=await e.read();return r.done||o?.(),r}if(t.aborted)throw b(t);let n=i(()=>{e.cancel(b(t)).catch(()=>{})},"onAbort");t.addEventListener("abort",n,{once:!0});try{let r=await e.read();if(t.aborted)throw b(t);return r.done||o?.(),r}finally{t.removeEventListener("abort",n)}}i(Z,"readResponseChunk");function U(e){if(!e||typeof e!="object")return String(e||"unknown_error");let t=e,o=t.error;if(o&&typeof o=="object"){let n=o;return[p(n.code),p(n.type),p(n.message)].filter(Boolean).join(": ")}return[p(t.error),p(t.message)].filter(Boolean).join(": ")||JSON.stringify(e)}i(U,"errorMessageFromPayload");async function*ee(e,t,o){let n=e.getReader(),r=new TextDecoder,s="";try{for(;;){let c=await Z(n,t,o);if(c.done)break;s+=r.decode(c.value,{stream:!0});let u=s.split(/\r?\n\r?\n/);s=u.pop()??"";for(let m of u)for(let f of G(m))yield f}}finally{n.releaseLock()}if(s+=r.decode(),s.trim())for(let c of G(s))yield c}i(ee,"parseSse");function G(e){let t=e.split(/\r?\n/).filter(o=>o.startsWith("data:")).map(o=>o.slice(5).trim()).join(`
|
|
7
|
+
`).trim();return!t||t==="[DONE]"?[]:[JSON.parse(t)]}i(G,"parseSseBlock");function je(e){if(!e||typeof e!="object")return[];let t=e,o=Array.isArray(t.choices)?t.choices:[],n=[];for(let r of o){if(!r||typeof r!="object")continue;let s=r,c=s.delta&&typeof s.delta=="object"?s.delta:{};for(let f of["content","reasoning_content"]){let d=A(c[f]);d&&n.push({type:f==="content"?"text_delta":"reasoning_delta",text:d,raw:e})}let u=Be(c.tool_calls);u.length>0&&n.push({type:"tool_call_delta",toolCalls:u,raw:e});let m=p(s.finish_reason);m&&n.push({type:"finish",finishReason:m,raw:e})}return n}i(je,"streamDeltasFromChunk");function De(e,t){if(!e||typeof e!="object")return[];let o=e,n=p(o.type);if(n==="response.output_text.delta"){let r=A(o.delta);return r?[{type:"text_delta",text:r,raw:e}]:[]}if(n==="response.reasoning_text.delta"||n==="response.reasoning_summary_text.delta"){let r=A(o.delta);return r?[{type:"reasoning_delta",text:r,raw:e}]:[]}if(n==="response.output_item.added"){let r=o.item&&typeof o.item=="object"?o.item:null;return r?.type!=="function_call"?[]:[{type:"tool_call_delta",toolCalls:[{id:p(r.call_id)??p(r.id)??void 0,type:"function",function:{name:p(r.name)??void 0,arguments:typeof r.arguments=="string"?r.arguments:""},index:h(o.output_index)??h(r.output_index)??0}],raw:e}]}if(n==="response.function_call_arguments.delta"){let r=p(o.item_id)??String(h(o.output_index)??0);return t.add(r),[{type:"tool_call_delta",toolCalls:[{id:p(o.call_id)??p(o.item_id)??void 0,type:"function",function:{arguments:A(o.delta)??""},index:h(o.output_index)??0}],raw:e}]}if(n==="response.function_call_arguments.done"){let r=p(o.item_id)??String(h(o.output_index)??0);return t.has(r)?[]:[{type:"tool_call_delta",toolCalls:[{id:p(o.call_id)??p(o.item_id)??void 0,type:"function",function:{arguments:typeof o.arguments=="string"?o.arguments:""},index:h(o.output_index)??0}],raw:e}]}if(n==="response.completed"){let r=o.response&&typeof o.response=="object"?o.response:{},s=[],c=r.usage&&typeof r.usage=="object"?r.usage:null;return c&&s.push({type:"usage",usage:c,raw:e}),s.push({type:"finish",finishReason:"stop",raw:e}),s}return[]}i(De,"responseDeltasFromChunk");function Be(e){return Array.isArray(e)?e.filter(t=>!!t&&typeof t=="object"):[]}i(Be,"parseToolCalls");function Ne(e){if(!e||typeof e!="object")return null;let t=e.usage;return t&&typeof t=="object"?t:null}i(Ne,"parseUsage");function p(e){return typeof e=="string"&&e.trim()?e.trim():null}i(p,"stringValue");function A(e){return typeof e=="string"&&e.length>0?e:null}i(A,"streamTextValue");function h(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.round(e):null}i(h,"numberValue");function F(e,t){return!e||typeof e!="object"?null:h(e[t])}i(F,"nestedNumberValue");export{Ge as a,ge as b,E as c,be as d,Ze as e,et as f};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{l as k}from"./chunk-KGNCKIFP.js";import{a as s}from"./chunk-FTQLQJQV.js";var N=String.raw`
|
|
3
|
+
const fs=require('node:fs'),p=require('node:path'),crypto=require('node:crypto');
|
|
4
|
+
const q=JSON.parse(fs.readFileSync(0,'utf8')),root='/workspace/work',action=q.action,args=q.args||{};
|
|
5
|
+
function file(value,write=false){if(typeof value!=='string'||!value||p.isAbsolute(value)||value.includes('\\')||value.split('/').some(x=>!x||x==='.'||x==='..'))throw Error('Use a contained candidate relative path.');const target=p.resolve(root,value);if(write&&!q.writablePaths.some(x=>value===x||value.startsWith(x+'/')))throw Error('The file is outside the selected component.');let nearest=target;while(!fs.existsSync(nearest))nearest=p.dirname(nearest);const real=fs.realpathSync(nearest);if(real!==root&&!real.startsWith(root+'/'))throw Error('Candidate symlink escapes the public source tree.');if(fs.existsSync(target)&&!fs.lstatSync(target).isFile())throw Error('Select a regular source file.');return target;}
|
|
6
|
+
function read(value){const target=file(value),stat=fs.statSync(target);if(stat.size>250000)throw Error('Read a smaller component file.');return fs.readFileSync(target,'utf8');}
|
|
7
|
+
function paths(dir=root){const out=[];for(const e of fs.readdirSync(dir,{withFileTypes:true})){if(e.isSymbolicLink())throw Error('Candidate source contains an inadmissible symlink.');if(e.isDirectory())out.push(...paths(p.join(dir,e.name)));else if(e.isFile())out.push(p.relative(root,p.join(dir,e.name)));if(out.length>10000)throw Error('Candidate source inventory is too large.');}return out.sort();}
|
|
8
|
+
const previews=action.startsWith('preview_'),plain=action.replace(/^preview_/,'');let result;
|
|
9
|
+
if(action==='list_files'||action==='workspace_status')result={files:paths(),selectedComponent:q.writablePaths};
|
|
10
|
+
else if(action==='read_files') {if(!Array.isArray(args.paths)||args.paths.length>30)throw Error('Select at most 30 files.');result={files:args.paths.map(path=>({path,content:read(path)}))};}
|
|
11
|
+
else if(action==='search_files'){if(typeof args.query!=='string'||!args.query||args.query.length>2000)throw Error('Supply a bounded search query.');const matches=[];for(const path of paths()){let text;try{text=read(path);}catch{continue;}for(const [i,line] of text.split(/\r?\n/).entries()){if(line.includes(args.query))matches.push({path,line:i+1,text:line.slice(0,2000)});if(matches.length>=100)break;}if(matches.length>=100)break;}result={matches};}
|
|
12
|
+
else if(['write_file','write_files','edit_file','delete_file'].includes(plain)){let values;
|
|
13
|
+
if(plain==='write_files'){if(!args.files||typeof args.files!=='object'||Array.isArray(args.files)||Object.keys(args.files).length>30)throw Error('Supply at most 30 component files.');values=Object.entries(args.files).map(([path,content])=>({path,content}));}
|
|
14
|
+
else if(plain==='edit_file'){const old=read(args.path);if(typeof args.oldText!=='string'||!args.oldText||typeof args.newText!=='string')throw Error('Supply exact old and new source text.');const count=old.split(args.oldText).length-1;if(!count||!args.replaceAll&&count!==1)throw Error('The edit does not match one exact current source span.');values=[{path:args.path,content:args.replaceAll?old.split(args.oldText).join(args.newText):old.replace(args.oldText,args.newText)}];}
|
|
15
|
+
else values=[{path:args.path,content:plain==='delete_file'?null:args.content}];
|
|
16
|
+
for(const value of values){file(value.path,true);if(value.content!==null&&(typeof value.content!=='string'||Buffer.byteLength(value.content)>250000))throw Error('Supply bounded UTF-8 component source.');}
|
|
17
|
+
result={preview:previews,files:values.map(value=>({path:value.path,before:fs.existsSync(file(value.path))?crypto.createHash('sha256').update(read(value.path)).digest('hex'):null,after:value.content===null?null:crypto.createHash('sha256').update(value.content).digest('hex')}))};
|
|
18
|
+
if(!previews)for(const value of values){const target=file(value.path,true);if(value.content===null)fs.rmSync(target);else {fs.mkdirSync(p.dirname(target),{recursive:true});const temporary=target+'.candidate-write-'+crypto.randomUUID();fs.writeFileSync(temporary,value.content,{mode:0o600});fs.renameSync(temporary,target);}}
|
|
19
|
+
}else throw Error('This tool needs its admitted candidate-specific operation.');
|
|
20
|
+
const output=JSON.stringify(result);if(Buffer.byteLength(output)>750000)throw Error('The source response is too large; select fewer files.');process.stdout.write(output);
|
|
21
|
+
`;import{spawn as E}from"node:child_process";import{promises as n}from"node:fs";import o from"node:path";var y="node_modules/openpond-agent-sdk/dist/cli.js";function I(e){let t=null;return async()=>{t??=r();try{return await t}catch(a){throw t=null,a}};async function r(){let a=await e.loadArchive(),l=k(a),f=o.join(e.storeDir,"library","harnesses","candidate-agent-runtime"),c=o.join(f,l);await n.mkdir(f,{recursive:!0,mode:448});let u=await S(c,l);if(u)return u;let i=await n.mkdtemp(o.join(f,`.install-${l.slice(0,12)}-`));try{await n.chmod(i,448);let d=o.join(i,"sdk.tgz");await n.writeFile(d,a,{mode:384}),await n.writeFile(o.join(i,"package.json"),JSON.stringify({name:"openpond-candidate-agent-runtime",private:!0,type:"module"}),{mode:384}),await x(i),await A(i),await n.rm(d),await n.rm(o.join(i,".npm-cache"),{recursive:!0,force:!0}),await n.rm(o.join(i,".installation-home"),{recursive:!0,force:!0}),await n.writeFile(o.join(i,"ready.json"),JSON.stringify({archiveHash:l,cliRelativePath:y}),{mode:256});try{await n.rename(i,c)}catch(h){let w=await S(c,l);if(!w)throw h;return w}return{source:c,cliRelativePath:y}}finally{await n.rm(i,{recursive:!0,force:!0})}}}s(I,"createCandidateAgentRuntimeLoader");async function S(e,t){let r=await n.readFile(o.join(e,"ready.json"),"utf8").catch(l=>{if(l.code==="ENOENT")return null;throw l});if(r===null)return null;let a=JSON.parse(r);if(a.archiveHash!==t||a.cliRelativePath!==y)throw new Error("The confined Agent runtime archive changed.");return await A(e),{source:e,cliRelativePath:y}}s(S,"readReady");async function A(e){let t=await n.realpath(e),r=await n.realpath(o.join(e,y));if(!r.startsWith(`${t}${o.sep}`)||(await n.stat(r)).isFile()!==!0)throw new Error("The public Agent runtime CLI escapes its installed package.");let a=JSON.parse(await n.readFile(o.join(e,"node_modules","openpond-agent-sdk","package.json"),"utf8"));if(a.name!=="openpond-agent-sdk"||a.bin?.["openpond-agent"]!=="dist/cli.js")throw new Error("The installed package is not the server's public Agent SDK.")}s(A,"validateCli");async function x(e){let t=o.join(e,".installation-home");await n.mkdir(t,{mode:448});let r=o.join(t,"user.npmrc"),a=o.join(t,"global.npmrc");return await Promise.all([n.writeFile(r,"",{mode:384}),n.writeFile(a,"",{mode:384})]),new Promise((l,f)=>{let c=process.platform==="win32",u=E(c?"npm.cmd":"npm",["install","--ignore-scripts","--no-audit","--no-fund","--no-package-lock","--save-exact","./sdk.tgz"],{cwd:e,detached:!c,stdio:["ignore","pipe","pipe"],env:{PATH:process.env.PATH??"/usr/bin:/bin",HOME:t,TMPDIR:t,npm_config_cache:o.join(e,".npm-cache"),npm_config_userconfig:r,npm_config_globalconfig:a,npm_config_registry:"https://registry.npmjs.org",npm_config_ignore_scripts:"true",...c&&process.env.SystemRoot?{SystemRoot:process.env.SystemRoot}:{}}}),i="",d=!1,h=s(g=>{i.length<8e3&&(i+=g.toString("utf8").slice(0,8e3-i.length))},"capture");u.stdout.on("data",h),u.stderr.on("data",h);let w=setTimeout(()=>{try{u.pid&&!c?process.kill(-u.pid,"SIGKILL"):u.kill("SIGKILL")}catch{u.kill("SIGKILL")}},12e4);u.once("error",g=>{clearTimeout(w),d||(d=!0,f(g))}),u.once("close",g=>{clearTimeout(w),!d&&(d=!0,g===0?l():f(new Error(`The dependency-complete public Agent runtime could not be installed (${g??"timeout"}): ${i}`)))})})}s(x,"installPublicArchive");import{execFile as T}from"node:child_process";import{promises as m}from"node:fs";import p from"node:path";import{fileURLToPath as b}from"node:url";import{promisify as R}from"node:util";var _=R(T),F=2e7;function M(e){let t=null;return async()=>{t??=O(e);try{return await t}catch(r){throw t=null,r}}}s(M,"createWorkAgentSdkArchiveLoader");async function O(e){let t=e.packagePath?.trim()||process.env.OPENPOND_AGENT_SDK_PACKAGE?.trim()||p.join(p.dirname(b(import.meta.url)),"work-assets","openpond-agent-sdk.tgz"),r=await j(t);if(r)return r;let a=await D(e.sourceRoot),l=p.join(a,"dist","cli.js");if(await v(l)||await _(P("pnpm"),["--dir",a,"run","build"]),!await v(l))throw new Error("OpenPond Agent SDK build did not produce dist/cli.js.");let f=p.join(e.storeDir,"work","assets");await m.mkdir(f,{recursive:!0,mode:448});let c=await m.mkdtemp(p.join(f,"agent-sdk-pack-"));try{let{stdout:u}=await _(P("npm"),["pack",a,"--json","--pack-destination",c]),d=JSON.parse(u)[0]?.filename;if(!d)throw new Error("npm pack did not return an SDK archive.");let h=await j(p.join(c,d));if(!h)throw new Error("Packed OpenPond Agent SDK archive is empty.");return h}finally{await m.rm(c,{recursive:!0,force:!0})}}s(O,"loadWorkAgentSdkArchive");async function D(e){let t=[e?.trim(),process.env.OPENPOND_AGENT_SDK_ROOT?.trim(),p.join(process.cwd(),"packages","agent-sdk"),p.resolve(p.dirname(b(import.meta.url)),"../../../../packages/agent-sdk")].filter(r=>!!r);for(let r of t)if(await v(p.join(r,"package.json")))return p.resolve(r);throw new Error("OpenPond Agent SDK assets are unavailable. Rebuild the desktop runtime.")}s(D,"resolveAgentSdkSourceRoot");async function j(e){let t=await m.stat(e).catch(()=>null);if(!t?.isFile())return null;if(t.size<=0||t.size>F)throw new Error("OpenPond Agent SDK archive has an invalid size.");return m.readFile(e)}s(j,"readBoundedArchive");async function v(e){return m.stat(e).then(t=>t.isFile()).catch(()=>!1)}s(v,"isFile");function P(e){return process.platform==="win32"?`${e}.cmd`:e}s(P,"packageManagerCommand");export{N as a,I as b,M as c};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as T,b as R,c as H}from"./chunk-GZ7M5XBP.js";import{b as L,c as q}from"./chunk-TRQQNFMO.js";import{i as M,j as O,m as k,n as C}from"./chunk-APB2STJK.js";import{l as S}from"./chunk-ACYFMLWG.js";import{m as N}from"./chunk-KGNCKIFP.js";import{b as c}from"./chunk-ES2ISFJC.js";import{a}from"./chunk-FTQLQJQV.js";var j=c.object({id:c.string().min(1).max(200),name:c.string().min(1).max(64),arguments:c.record(c.string(),c.unknown())}).strict(),W=c.object({text:c.string().max(262144),toolCalls:c.array(j).max(200)}).strict();async function D(e){if(!e.taskId||e.taskId.length>500)throw new Error("environment_task_identity_invalid");if(!Number.isInteger(e.timeoutMs)||e.timeoutMs<1||e.timeoutMs>36e5)throw new Error("environment_attempt_timeout_invalid");S(e.instructions,262144);let m=e.taskId,f=e.instructions,d=structuredClone(e.input),J=e.policy,x=new AbortController,u=e.signal?AbortSignal.any([x.signal,e.signal]):x.signal,i=!1,_=setTimeout(()=>{i=!0,x.abort(new Error("environment_attempt_timeout"))},e.timeoutMs);_.unref?.();let t=null,h=null,o="environment_failure",p=null,v=null,b=!1,r=!1,n=[],y=0,E=a(s=>{if(y+=new TextEncoder().encode(JSON.stringify(s)).byteLength,y>4194304)throw o="budget_exhausted",new Error("environment_transcript_budget_exhausted");n.push(s)},"append"),P=new Set;try{t=await H({...e,input:d,signal:u}),E({role:"system",text:f}),E({role:"user",text:JSON.stringify({input:d,observation:t.observation})});for(let s=0;s<=t.definition.maxSteps;s++){u.throwIfAborted();let w;try{let l=await J({messages:structuredClone(n),tools:structuredClone(t.definition.tools),signal:u});S(l,1048576),w=structuredClone(W.parse(l));for(let g of w.toolCalls){if(P.has(g.id))throw new Error("environment_duplicate_tool_call_identity");P.add(g.id)}}catch(l){throw u.aborted||(o="policy_failure"),l}if(u.throwIfAborted(),E({role:"assistant",...w}),!w.toolCalls.length){p=w.text,await t.collect(),h=t.snapshot(),b=!0,o="completed";break}for(let l of w.toolCalls){let g;try{g=await t.step({name:l.name,arguments:l.arguments})}catch(I){if(!(I instanceof R))throw I;if(I.code==="step_budget_exhausted"){o="budget_exhausted";break}g={error:I.code}}E({role:"tool",callId:l.id,name:l.name,observation:g})}if(o==="budget_exhausted")break;s===t.definition.maxSteps&&(o="budget_exhausted")}h??=t.snapshot()}catch(s){u.aborted&&(o=i?"timed_out":"cancelled"),v=s instanceof Error?s.message:"environment_attempt_failed",h??=t?.snapshot()??null}finally{if(clearTimeout(_),t)try{await t.destroy(),r=!0}catch(s){o="environment_failure",v=s instanceof Error?s.message:"environment_cleanup_failed"}}let B={schemaVersion:"openpond.javascriptEnvironmentAttempt.v1",taskId:m,status:o,output:p,snapshot:h,collected:b,environmentCleanupComplete:r,messages:n,error:v};return{...B,contentHash:N(B)}}a(D,"runJavaScriptEnvironmentAttempt");import{spawn as z}from"node:child_process";async function A(e){if(e.signal?.throwIfAborted(),!Number.isSafeInteger(e.timeoutMs)||e.timeoutMs<1||e.timeoutMs>3e4)throw new Error("sql_timeout_invalid");let m=O(e.request),{sqlExecutionProcessSource:f}=await import("./sql-execution-process-source-B4HQM6ZV.js");e.signal?.throwIfAborted();let{signal:d}=e,J=`globalThis.__openpondSqlInput = JSON.parse(${JSON.stringify(JSON.stringify(m))});
|
|
3
|
+
${f}`;return new Promise((x,u)=>{let i=z("node",["--max-old-space-size=64","--input-type=module","-"],{stdio:["pipe","pipe","pipe"],env:{PATH:process.env.PATH},windowsHide:!0}),_,t="",h=0,o=0,p=a(r=>{_??=r,i.kill("SIGKILL")},"stop"),v=a(()=>p(d?.reason instanceof Error?d.reason:new Error("sql_cancelled")),"cancel"),b=setTimeout(()=>p(new Error("sql_timeout")),e.timeoutMs);d?.addEventListener("abort",v,{once:!0}),i.stdout.setEncoding("utf8"),i.stdout.on("data",r=>{h+=Buffer.byteLength(r),h>m.maxResultBytes+65536?p(new Error("sql_process_response_too_large")):t+=r}),i.stderr.on("data",r=>{o+=r.byteLength,o>65536&&p(new Error("sql_process_stderr_too_large"))}),i.once("error",r=>{_??=r}),i.stdin.on("error",r=>p(r)),i.once("close",r=>{if(clearTimeout(b),d?.removeEventListener("abort",v),_){u(_);return}try{if(r!==0)throw new Error("sql_process_exited_without_result");let n=JSON.parse(t);if(!n||typeof n!="object"||!("ok"in n)||n.ok!==!0||!("result"in n))throw new Error("sql_environment_failed");let y=M.parse(n.result);S(y,m.maxResultBytes),x(y)}catch(n){u(n)}}),i.stdin.end(J),d?.aborted&&v()})}a(A,"executeSqlInProcess");async function ie(e){let m=k.parse(e.operation);return T(e,{sql:A,candidate:q,controller:a(async f=>C.parse(await L({...f,exportName:m,maxResultBytes:1572864,deterministic:!0,errorPrefix:"environment"})),"controller")})}a(ie,"executeJavaScriptEnvironmentInWorker");async function le(e){let m=k.parse(e.operation);return T(e,{sql:A,candidate:q,controller:a(async f=>C.parse(await q({...f,exportName:m,maxResultBytes:1572864,deterministic:!0,errorPrefix:"environment"})),"controller")})}a(le,"executeJavaScriptEnvironmentInProcess");export{D as a,ie as b,le as c};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{j,k as m}from"./chunk-FTEOCCPB.js";import{D as v,I as _,J as x,K as T,f as G,h as O,na as R,oa as y,pa as I,qa as D,sa as w,ta as C,x as b}from"./chunk-25MBPJVY.js";import{M as V}from"./chunk-Z4Z5UOZM.js";import{f as S}from"./chunk-FFRFSDBM.js";import{o as k}from"./chunk-VYLGI3IH.js";import{Ha as H}from"./chunk-ACYFMLWG.js";import{g as F}from"./chunk-KGNCKIFP.js";import{b as e}from"./chunk-ES2ISFJC.js";import{a as h}from"./chunk-FTQLQJQV.js";var o=m.shape.id,i=e.number().int().positive(),u=e.string().regex(/^[a-f0-9]{64}$/),p={teamId:o,modelId:o},et=e.object({schemaVersion:e.literal("openpond.tasksetDraftCreate.v1"),operationId:o,modelId:o,expectedModelRevision:i,name:m.shape.name}).strict(),at=e.object({schemaVersion:e.literal("openpond.tasksetDraftSourceDescriptor.v1"),...p,expectedModelRevision:i,sourcePackageHash:u}).strict(),tt=e.object({schemaVersion:e.literal("openpond.tasksetDraftReadback.v1"),...p,draft:m,workspaceHash:u,projectEtag:u}).strict().refine(t=>t.draft.profileId===t.teamId&&t.draft.modelScope?.modelId===t.modelId,"The hosted draft must belong to its declared workspace and Model."),ye=e.object({id:o,revision:i,name:m.shape.name,status:j,updatedAt:m.shape.updatedAt,sourceTasksetRef:k.nullable()}).strict(),rt=e.object({schemaVersion:e.literal("openpond.tasksetDraftList.v1"),...p,drafts:e.array(ye).max(100),nextCursor:e.string().min(1).max(2e3).nullable()}).strict(),nt=e.object({expectedDraftRevision:i,draft:m}).strict(),st=e.object({expectedDraftRevision:i,expectedModelRevision:i}).strict(),Ie=e.object({expectedDraftRevision:i,expectedWorkspaceHash:u}).strict(),it=e.object({schemaVersion:e.literal("openpond.tasksetDraftValidation.v1"),...p,draftId:o,draftRevision:i,workspaceHash:u,valid:e.boolean(),issues:e.array(e.object({code:e.string().min(1),severity:e.enum(["warning","error"]),message:e.string(),path:e.string().nullable()}).strict()),packageHash:u.nullable(),tasksetRef:k.nullable()}).strict().refine(t=>t.valid?t.packageHash!==null&&t.tasksetRef!==null&&t.issues.every(r=>r.severity!=="error"):t.packageHash===null&&t.tasksetRef===null&&t.issues.some(r=>r.severity==="error"),"Validation must retain either a compiled package or publication errors."),ot=Ie.extend({operationId:o,expectedPackageHash:u,expectedTasksetRef:k}).strict(),ct=e.object({schemaVersion:e.literal("openpond.tasksetDraftFileList.v1"),...p,draftId:o,draftRevision:i,files:e.array(G).max(10020)}).strict(),mt=e.object({schemaVersion:e.literal("openpond.tasksetDraftFileReadback.v1"),...p,draftId:o,draftRevision:i,file:O}).strict(),dt=e.object({schemaVersion:e.literal("openpond.tasksetDraftDeletion.v1"),...p,draftId:o,revision:i,deleted:e.literal(!0)}).strict(),ut=m.shape.id,pt=e.number().int().positive();var d=e.string().trim().min(1).max(500),ft=e.object({projectId:d.optional(),tasksetId:d.optional(),draftId:d.optional(),taskId:d.optional(),query:e.string().trim().max(1e3).default(""),split:e.enum(["train","validation","test","frozen_eval"]).optional(),after:e.string().min(1).max(2e3).optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),De=e.object({id:d,method:e.enum(["code","judge","human"]),required:e.boolean()}),we=e.object({tasksetId:d,tasksetName:e.string(),tasksetRevision:e.number().int().positive(),tasksetHash:e.string(),taskId:d,ordinal:e.number().int().nonnegative(),title:e.string(),description:e.string(),split:e.string(),scoring:e.array(De),configuration:e.enum(["configured","needs_reward","needs_checks"]),draftId:d.nullable().default(null),modelId:d.nullable().default(null)}),St=e.object({items:e.array(we).max(100),nextCursor:e.string().nullable()});function gt(t,r){let g=[t.instruction,t.prompt,t.request,t.question,t.message].find(q=>typeof q=="string"&&q.trim().length>0),$=typeof t.title=="string"?t.title.trim():"",M=g?.trim()??"";return{title:($||M||r).slice(0,180),description:M.slice(0,2e3)}}h(gt,"describeTaskInput");function kt(t){return t.map(r=>({id:r.id,method:r.kind==="model_judge"?"judge":r.kind==="human"?"human":"code",required:r.hardGate}))}h(kt,"summarizeTaskScoring");function bt(t){return t.some(r=>r.kind!=="human")?t.some(r=>r.kind==="model_judge"&&r.calibrationStatus!=="passed")?"needs_checks":"configured":"needs_reward"}h(bt,"taskConfiguration");var n=e.string().trim().min(1).max(240),l=e.string().trim().min(1),B=e.record(e.string(),e.unknown()).default({}),L=e.enum(["nominated","needs_review","approved_for_creation","creating","needs_task_review","baselining","ready_for_export","rejected","dismissed","retired","blocked"]),A=e.enum(["no_training","prompting","retrieval","sft","preference","grpo_rft","sdft_opsd","sdpo","agentic_rl"]),Ce=e.object({id:n,kind:e.enum(["repeated_success","accepted_correction","agent_action_recurrence","outcome_linked_change","frontier_cost","expert_label","runtime_feedback"]),sourceRefIds:e.array(n).min(1).max(1e4),occurredAt:l,signature:e.string().trim().min(1).max(2e3),summary:e.string().trim().min(1).max(5e3),confidence:e.number().min(0).max(1),consented:e.boolean(),metadata:B}),je=e.object({frequency:e.number().min(0).max(1),businessValue:e.number().min(0).max(1),frontierCost:e.number().min(0).max(1),signalQuality:e.number().min(0).max(1),verifiability:e.number().min(0).max(1),repeatability:e.number().min(0).max(1),privacyRisk:e.number().min(0).max(1),overall:e.number().min(0).max(1)}),Ae=e.object({tactic:A,eligible:e.boolean(),reasons:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100),blockers:e.array(e.string().trim().min(1).max(5e3)).max(100).default([]),requiredSignals:e.array(e.string().trim().min(1).max(500)).max(100).default([]),generatedBy:e.enum(["decision_table","baseline_reassessment"])}),Pe=e.object({schemaVersion:e.literal("openpond.taskCandidate.v1"),id:n,profileId:n,status:L,fingerprint:e.string().trim().min(1).max(512),title:e.string().trim().min(1).max(500),summary:e.string().trim().min(1).max(1e4),workflowSignature:e.string().trim().min(1).max(2e3),evidence:e.array(Ce).min(1).max(1e5),scorecard:je,recommendation:Ae,mergedIntoId:n.nullable(),createdAt:l,updatedAt:l,metadata:B}),P=e.object({schemaVersion:e.literal("openpond.taskMinerConfig.v1"),enabled:e.boolean().default(!1),localOnly:e.boolean().default(!0),observationWindowDays:e.number().int().min(1).max(365).default(30),minimumRecurrence:e.number().int().min(2).max(100).default(3),clustering:e.literal("hybrid_deterministic_first").default("hybrid_deterministic_first"),consentRequired:e.boolean().default(!0)}),yt=e.object({items:e.array(Pe),generatedAt:l,config:P}),It=e.object({status:L.optional(),mergeIntoId:n.nullable().optional()}),Dt=e.object({profileId:n,sourceIds:e.array(n).max(1e5).default([]),sessionIds:e.array(n).max(1e5).default([]),config:P.optional()}),wt=e.object({schemaVersion:e.literal("openpond.taskMinerRun.v1"),id:n,profileId:n,status:e.enum(["queued","running","cancelling","cancelled","succeeded","failed"]),config:P,sourceIds:e.array(n).max(1e5),sessionIds:e.array(n).max(1e5).default([]),progress:e.object({stage:e.enum(["queued","ingesting","preparing","clustering","persisting","complete"]),processedSources:e.number().int().nonnegative(),totalSources:e.number().int().nonnegative(),candidatesFound:e.number().int().nonnegative(),skippedSources:e.number().int().nonnegative().default(0)}),candidateIds:e.array(n).max(1e5),cancelRequested:e.boolean(),error:e.string().trim().min(1).max(2e4).nullable(),createdAt:l,startedAt:l.nullable(),completedAt:l.nullable(),updatedAt:l});var a=e.string().trim().min(1).max(240),s=e.string().trim().min(1),f=e.string().trim().min(8).max(256),E=e.record(e.string(),e.unknown()).default({}),c=a.nullable(),Ee=e.enum(["slash_train","session_menu","bulk_selection","training_page","task_candidate"]),Me=e.enum(["defaults","customize"]),qe=e.enum(["automated","manual"]),Vt=e.object({schemaVersion:e.literal("openpond.trainingSourceEstimate.v1"),sessionId:a,messageCount:e.number().int().nonnegative(),estimatedTokens:e.number().int().nonnegative(),textBytes:e.number().int().nonnegative()}),Gt=e.object({query:e.string().max(500).default(""),offset:e.number().int().nonnegative().default(0),limit:e.number().int().min(1).max(100).default(20),candidates:e.array(e.object({sessionId:a,title:e.string().trim().min(1).max(500),updatedAt:s})).max(500).default([])}),Fe=e.object({sessionId:a,title:e.string().trim().min(1).max(500),updatedAt:s,snippet:e.string().max(2e3).nullable()}),Ot=e.object({schemaVersion:e.literal("openpond.trainingChatSearchResult.v1"),query:e.string(),offset:e.number().int().nonnegative(),limit:e.number().int().positive(),total:e.number().int().nonnegative(),hasMore:e.boolean(),indexedChats:e.number().int().nonnegative(),totalChats:e.number().int().nonnegative(),indexing:e.boolean(),entries:e.array(Fe)}),He=e.enum(["policy_failure","grader_failure","environment_failure","infrastructure_failure","timeout","cancelled"]),Ve=e.object({graderId:a.nullable(),path:e.string().trim().min(1).max(1e3),language:e.enum(["javascript","typescript","python","json","text"]),content:e.string().max(2e6),sha256:f,declaredSha256:f.nullable(),integrity:e.enum(["verified","unverified","mismatch"])}),Ge=e.object({protocolVersion:e.string().trim().min(1).max(200),module:e.string().trim().min(1).max(1e3),moduleSha256:f,command:e.array(e.string().max(2e3)).max(100),cwd:e.string().trim().min(1).max(4e3),maxTurns:e.number().int().positive().max(100)}),Bt=e.object({schemaVersion:e.literal("openpond.tasksetGraderDetails.v1"),taskset:F,sourceTasksetId:a,graders:e.array(x).max(1e3),runtime:Ge.nullable(),sources:e.array(Ve).max(1e3),unavailableReason:e.string().max(2e3).nullable()}),Oe=e.object({id:a,taskIndex:e.number().int().nonnegative(),label:T,output:e.record(e.string(),e.unknown()),infrastructureError:e.string().trim().min(1).max(1e4).nullable(),expectedPassed:e.boolean(),expectedRewardEligible:e.boolean(),metadata:E}),Lt=e.object({schemaVersion:e.literal("openpond.taskAttempt.v1"),id:a,tasksetId:a,taskId:a,split:b,attempt:e.number().int().nonnegative(),seed:e.number().int(),modelRef:S.nullable(),startedAt:s,completedAt:s,output:e.record(e.string(),e.unknown()),runtimeEventRefs:e.array(a).max(1e4).default([]),artifactRefs:e.array(a).max(1e4).default([]),privilegedOutcomeRef:c,infrastructureError:e.string().trim().min(1).max(1e4).nullable(),costUsd:e.number().nonnegative().nullable(),latencyMs:e.number().int().nonnegative(),userInterventions:e.number().int().nonnegative().default(0),metadata:E}),$t=e.object({schemaVersion:e.literal("openpond.taskAttemptArtifact.v1"),id:a,tasksetId:a,taskId:a,attemptId:a,kind:e.enum(["raw_model_response","runtime_trace","environment_state","grader_evidence","output_artifact"]),path:e.string().trim().min(1).max(4e3),mediaType:e.string().trim().min(1).max(200).nullable().optional(),sha256:f,sizeBytes:e.number().int().nonnegative(),createdAt:s,metadata:E}),Be=e.object({graderId:a,graderVersion:e.string().trim().min(1).max(100),score:e.number().min(0).max(1).nullable(),passed:e.boolean(),hardGate:e.boolean(),rewardEligible:e.boolean(),feedback:e.string().trim().max(2e4).nullable(),evidenceRefs:e.array(a).max(1e4).default([]),judge:S.nullable().optional().default(null),calibrationStatus:e.enum(["not_applicable","pending","passed","failed"])}),Ut=e.object({schemaVersion:e.literal("openpond.gradeResult.v1"),id:a,attemptId:a,graderSetHash:f,score:e.number().min(0).max(1).nullable(),passed:e.boolean(),components:e.array(Be).min(1).max(1e3),failureClass:He.nullable(),feedback:e.array(e.string().trim().min(1).max(2e4)).max(1e3).default([]),rewardEligible:e.boolean(),rewardComposition:H.optional(),createdAt:s}),zt=e.enum(["stable_hash_top_n","rft_easy_curriculum_v1"]),Kt=e.object({schemaVersion:e.literal("openpond.graderAuditReport.v1"),id:a,tasksetId:a,tasksetHash:f,fixtureRefs:e.array(a).min(1).max(1e5),gradeRefs:e.array(a).min(1).max(1e5),passed:e.boolean(),hackingChecksPassed:e.boolean(),leakageChecksPassed:e.boolean(),infrastructureSafetyPassed:e.boolean(),failures:e.array(e.object({fixtureId:a,label:T,gradeId:a,reason:e.string().trim().min(1).max(5e3)})).max(1e5),createdAt:s}),Le=e.object({schemaVersion:e.literal("openpond.capabilityDiagnosis.v1"),summary:e.string().trim().min(1).max(1e4),stableBehavior:e.array(e.string().trim().min(1).max(5e3)).max(100).default([]),changingKnowledge:e.array(e.string().trim().min(1).max(5e3)).max(100).default([]),requiredContext:e.array(e.string().trim().min(1).max(5e3)).max(100).default([]),requiredTools:e.array(a).max(100).default([]),intervention:A,trainingEligible:e.boolean(),rationale:e.array(e.string().trim().min(1).max(5e3)).min(1).max(100),confidence:e.number().min(0).max(1)}),$e=e.object({id:a,sourceId:a,sourceTurnId:c,split:b,origin:e.enum(["extracted","corrected","synthetic","expert_authored"]),inputPrompt:e.string().trim().min(1).max(1e5),expectedOutputText:e.string().trim().min(1).max(2e5).nullable(),rationale:e.string().trim().min(1).max(5e3)}),Ue=e.object({schemaVersion:e.literal("openpond.taskDesignProposal.v1"),id:a,name:e.string().trim().min(1).max(500),objective:e.string().trim().min(1).max(2e4),diagnosis:Le.default({schemaVersion:"openpond.capabilityDiagnosis.v1",summary:"Reproduce the selected approved behavior.",stableBehavior:[],changingKnowledge:[],requiredContext:[],requiredTools:[],intervention:"sft",trainingEligible:!0,rationale:["The selected examples were supplied as demonstrations."],confidence:.5}),taskKind:_.shape.taskKind,sourceIds:e.array(a).min(1).max(1e5),assumptions:e.array(e.string().trim().min(1).max(5e3)).max(1e3),successCriteria:e.array(e.string().trim().min(1).max(5e3)).min(1).max(1e3),proposedGraders:e.array(x).max(1e3).default([]),graderFixtures:e.array(Oe).max(1e5).default([]),generatedFiles:e.array(I).max(1e3).default([]),proposedExamples:e.array($e).max(1e5).default([]),proposedMethod:w.shape.recommendedMethod,trainingPath:D.nullable().default(null),policy:v,warnings:e.array(e.string().trim().min(1).max(5e3)).default([]),createdAt:s}),Wt=48e3,ze=5;function Nt(t,r="New model"){let g=t?.trim().split(/\s+/).filter(Boolean)??[];return g.length===0?r:g.slice(0,ze).join(" ")}h(Nt,"conciseWorkproductName");var Ke=e.object({schemaVersion:e.literal("openpond.baseModelPreference.v1"),modelId:a,revision:e.string().trim().min(1).max(256).nullable(),tokenizerRevision:e.string().trim().min(1).max(256).nullable(),chatTemplateHash:e.string().trim().min(8).max(256).nullable(),modelAssetId:c,source:e.enum(["managed","local","builtin"])}),We=e.object({schemaVersion:e.literal("openpond.taskCreationRequest.v1"),id:a,profileId:a,surface:Ee,mode:Me,entryMode:qe.default("manual"),resourceIntent:e.enum(["workproduct","dataset"]).default("workproduct"),buildIntent:R.default("demonstrations"),buildSpecification:y.nullable().default(null),objective:e.string().trim().min(1).max(2e4).nullable(),methodHint:e.enum(["sft","dpo","grpo","ppo"]).nullable().default(null),preferredBaseModelId:a.nullable().default(null),preferredBaseModel:Ke.nullable().default(null),sourceIds:e.array(a).max(1e5),candidateId:c,analysisModel:S.nullable(),analysisReasoningEffort:V.nullable().default(null),createImproveRunId:c.default(null),targetIntent:e.object({kind:e.enum(["agent","skill","extension","model","configuration"]).nullable(),id:c,displayName:e.string().trim().min(1).max(500).nullable(),operation:e.enum(["create","improve"])}).default({kind:"model",id:null,displayName:null,operation:"create"}),disclosure:e.object({status:e.enum(["not_required","pending","approved","declined"]),content:e.literal("raw_excerpts"),sourceIds:e.array(a).max(1e5),providerModel:S.nullable(),approvalId:c,approvedAt:s.nullable()}).default({status:"not_required",content:"raw_excerpts",sourceIds:[],providerModel:null,approvalId:null,approvedAt:null}),createdAt:s}),Ne=e.object({schemaVersion:e.literal("openpond.taskCreationSnapshot.v1"),id:a,request:We,state:e.enum(["planning","awaiting_disclosure_approval","awaiting_questions","recommendation_ready","awaiting_materialization_approval","materializing","validating","ready","blocked","failed","cancelled"]),proposal:Ue.nullable(),materializedTasksetId:c,disclosureApprovalId:c,materializationApprovalId:c,blockingQuestions:e.array(e.object({id:a,kind:e.enum(["objective","consent","success_signal","privacy_licensing","interpretation"]),prompt:e.string().trim().min(1).max(5e3),answer:e.string().trim().min(1).max(2e4).nullable()})).default([]),transcript:e.array(e.object({id:a,role:e.enum(["user","assistant","system","tool"]),text:e.string().max(1e5),createdAt:s})).max(1e4).default([]),repairHistory:e.array(C).max(1e3).default([]),blockedReason:e.string().trim().min(1).max(1e4).nullable(),createdAt:s,updatedAt:s}),Xt=e.object({schemaVersion:e.literal("openpond.taskCreationTranscript.v1"),creationId:a,profileId:a,messages:Ne.shape.transcript,updatedAt:s});export{ft as a,we as b,St as c,gt as d,kt as e,bt as f,Ae as g,Pe as h,P as i,It as j,Dt as k,wt as l,Vt as m,Gt as n,Ot as o,He as p,Bt as q,Lt as r,$t as s,Ut as t,Kt as u,Ue as v,Wt as w,Nt as x,Ke as y,We as z,Ne as A,Xt as B};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{b as t}from"./chunk-ES2ISFJC.js";import{a as i}from"./chunk-FTQLQJQV.js";import{createHash as c}from"node:crypto";var s=t.object({version:t.literal(1),installationId:t.string().uuid(),profileId:t.string().min(1).max(200),ownerUserId:t.string().min(1).max(200),teamId:t.string().min(1).max(200).nullable(),audience:t.string().url()}).strict();function f(e,n,r,a){let o=e.accountState;return o.state!=="signed_in"||!o.activeProfile||!o.profile?.id||!e.token?null:s.parse({version:1,installationId:n,profileId:c("sha256").update(JSON.stringify([o.activeProfile.handle,o.activeProfile.baseUrl??o.baseUrl,a])).digest("hex"),ownerUserId:o.profile.id,teamId:r,audience:a})}i(f,"deviceLocalOwner");function m(e,n){let r=s.safeParse(e.metadata?.ponderLocalOwner);return r.success?r.data.installationId===n.installationId&&r.data.profileId===n.profileId&&r.data.ownerUserId===n.ownerUserId&&r.data.teamId===n.teamId&&r.data.audience===n.audience:!1}i(m,"deviceOwnsLocalSession");function p(e){let{ponderLocalOwner:n,ponderDesktopReservation:r,ponderWorkspaceRevision:a,remoteStarterSourceSessionId:o,...d}=e??{};return d}i(p,"publicSessionMetadata");function v(e,n){return{...p(n),...e?.ponderLocalOwner!==void 0?{ponderLocalOwner:e.ponderLocalOwner}:{},...e?.ponderDesktopReservation!==void 0?{ponderDesktopReservation:e.ponderDesktopReservation}:{},...e?.ponderWorkspaceRevision!==void 0?{ponderWorkspaceRevision:e.ponderWorkspaceRevision}:{},...e?.remoteStarterSourceSessionId!==void 0?{remoteStarterSourceSessionId:e.remoteStarterSourceSessionId}:{}}}i(v,"preserveDeviceSessionIdentity");export{s as a,f as b,m as c,p as d,v as e};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
+
import{a as P}from"./chunk-UKMA4R6X.js";import{f as O}from"./chunk-QOTVNQDI.js";import{b as A}from"./chunk-OQPJ7FJF.js";import{a as m}from"./chunk-ZZWAQBA2.js";import{b as d,e as f}from"./chunk-YR5ID2SS.js";import{a as n}from"./chunk-FTQLQJQV.js";async function N(t,e,r,s={}){let o=await(s.apiFetch??d)(t,e,s.path??A,{method:"POST",signal:s.signal,body:JSON.stringify(r)}),i=await o.json().catch(()=>({})),c=o.status!==404&&o.status!==405&&o.status!==501;return o.ok?{ok:typeof i.ok=="boolean"?i.ok:!0,status:o.status,endpointAvailable:c,output:g(i),data:E(i)}:{ok:!1,status:o.status,endpointAvailable:c,output:g(i)??(c?`Connected app tool call failed with status ${o.status}.`:`Connected app tool-call endpoint is not available (${o.status}).`),data:E(i)}}n(N,"executeConnectedAppToolCall");function g(t){return typeof t.output=="string"&&t.output.trim()?t.output.trim():typeof t.message=="string"&&t.message.trim()?t.message.trim():typeof t.error=="string"&&t.error.trim()?t.error.trim():null}n(g,"responsePayloadMessage");function E(t){return"data"in t?t.data:"result"in t?t.result:null}n(E,"responsePayloadData");var h=A;function z(t={}){let e=t.env??process.env,r=t.apiFetch??d,s=t.loadAccountContext??P;return async(o,i)=>{if(U(e.OPENPOND_CONNECTED_APP_TOOL_EXECUTOR))return l(o.provider,"Cloud connected app execution is disabled.");let c=D(o),C=O.safeParse(c);if(!C.success)return l(o.provider,L(C.error));let u;try{u=await v({env:e,loadAccountContext:s})}catch(a){return l(o.provider,T(a))}try{let a=await N(u.apiBaseUrl,u.apiKey,C.data,{path:u.path,signal:i?.signal,apiFetch:r});return a.endpointAvailable?{ok:a.ok,output:a.output,data:a.data}:l(o.provider,`Cloud connected app connector endpoint is not available (${a.status}).`)}catch(a){if(a instanceof Error&&a.name==="AbortError")throw a;return l(o.provider,`Cloud connected app connector request failed: ${T(a)}`)}}}n(z,"createCloudConnectedAppToolExecutor");async function v(t={}){let e=t.env??process.env,r=I(e.OPENPOND_CONNECTED_APP_TOOL_PATH),s=e.OPENPOND_CONNECTED_APP_API_KEY?.trim()||e.OPENPOND_SANDBOX_API_KEY?.trim()||e.OPENPOND_API_KEY?.trim();if(s)return{apiBaseUrl:_(e,null),apiKey:s,path:r};let i=await(t.loadAccountContext??P)(),c=i.token?.trim();if(!c)throw new Error("OpenPond account API key is required for connected app connector execution.");return{apiBaseUrl:_(e,i.apiBaseUrl),apiKey:c,path:r}}n(v,"resolveCloudConnectedAppToolTarget");function _(t,e){return p(t.OPENPOND_CONNECTED_APP_API_URL)??b(t.OPENPOND_SANDBOX_API_URL)??p(t.OPENPOND_SANDBOX_BASE_URL)??p(t.OPENPOND_API_URL)??p(e)??f}n(_,"resolveCloudConnectedAppApiBaseUrl");function D(t){return{provider:t.provider,operation:t.operation,toolName:t.toolName,sessionId:t.sessionId,turnId:t.turnId,toolCallId:t.toolCallId,userPrompt:t.userPrompt,connectionIds:t.connectionIds,capabilityIds:t.capabilityIds,args:t.args}}n(D,"cloudConnectedAppToolPayload");function b(t){let e=x(t);return e?p(m(e)):null}n(b,"apiBaseUrlFromSandboxApiUrl");function p(t){let e=x(t);if(!e)return null;try{let r=new URL(e);return r.pathname=y(r.pathname),r.search="",r.hash="",r.toString().replace(/\/$/,"")}catch{return e.replace(/\/v1\/sandboxes\/?$/i,"").replace(/\/api\/sandboxes\/?$/i,"").replace(/\/sandboxes\/?$/i,"").replace(/\/v1\/?$/i,"").replace(/\/+$/,"")}}n(p,"normalizeApiBaseUrl");function y(t){let e=t.replace(/\/+$/,"");return e=e.replace(/\/v1\/sandboxes$/i,"").replace(/\/api\/sandboxes$/i,"").replace(/\/sandboxes$/i,"").replace(/\/v1$/i,""),e||"/"}n(y,"normalizeApiBasePath");function x(t){let e=t?.trim();return e?e.replace(/\/+$/,""):null}n(x,"normalizeOptionalUrl");function I(t){let e=t?.trim()||h;return e.startsWith("/")?e:`/${e}`}n(I,"normalizeToolPath");function l(t,e){return{ok:!1,output:`${e} No ${t} provider API call was made.`}}n(l,"connectorUnavailable");function U(t){let e=t?.trim().toLowerCase();return e==="0"||e==="false"||e==="off"||e==="disabled"}n(U,"isDisabled");function L(t){return t.issues?.[0]?.message??"Connected app tool call request is invalid."}n(L,"connectedAppToolCallValidationMessage");function T(t){return t instanceof Error?t.message:"Unknown error"}n(T,"errorMessage");export{h as a,z as b,v as c};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{n as z,o as V,p as G,q}from"./chunk-
|
|
2
|
+
import{n as z,o as V,p as G,q}from"./chunk-RAXOSUSW.js";import{a as A,f as v,g as k,h as p,i as f}from"./chunk-3M53YXEI.js";import{a}from"./chunk-FTQLQJQV.js";import{Buffer as Y}from"node:buffer";import{readdirSync as H,readFileSync as Q,statSync as F}from"node:fs";import b from"node:path";var K=500,Z=8*1024*1024,W=8*1024*1024;async function me(e,t){if(!t.sandboxRuntime&&!t.runtimeId)return{sandbox:await X(e,await e.create(t.sandbox,{async:!0}))};let n=t.runtimeId?void 0:await e.createSandboxRuntime(t.sandboxRuntime),r=t.runtimeId??n.id,o=await e.createSandboxRuntimeSandbox(r,t.sandbox);return{sandbox:await X(e,o.sandbox),runtime:o.runtime??n}}a(me,"createSandboxFromPlan");async function X(e,t){if(t.state==="running"||t.state==="stopped")return t;if(t.state==="error")throw new Error(`sandbox create failed: ${t.id}
|
|
3
3
|
${t.logs.join(`
|
|
4
4
|
`)}`);let n=12*6e4,r=3e3,o=Date.now()+n,i=t;for(;Date.now()<o;){if(await new Promise(s=>setTimeout(s,r)),i=await e.get(t.id),i.state==="running"||i.state==="stopped")return i;if(i.state==="error")throw new Error(`sandbox create failed: ${i.id}
|
|
5
5
|
${i.logs.join(`
|
|
@@ -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";import{a as d}from"./chunk-FTQLQJQV.js";var t=e.string().trim().min(1).nullable(),a=e.record(e.string(),e.unknown()).default({}),y=e.enum(["direct_prompt_create","context_backed_create","create_as_agent","workflow_suggestion","local_extend","hosted_create","local_import","direct_prompt_improve","context_backed_improve","hosted_improve","lab_create","lab_improve","training"]),p=e.enum(["/create","/edit","openpond extend","create_as_agent","suggest_workflow","local_import","lab_create","lab_improve","training"]),k=e.enum(["create","improve","import","promote"]),I=e.enum(["planning","awaiting_questions","awaiting_plan_approval","paused","applying_source","running_checks","evaluating","awaiting_promotion","opening_pull_request","pull_request_open","reconciling_release","released","rejected","ready","ready_local","pushing_hosted","running_hosted_checks","published_hosted","blocked","failed","cancelled"]),s=e.enum(["always_require_plan_approval","approval_already_granted"]),G=e.enum(["local_profile","hosted_profile","promote_local_to_hosted","managed_artifact"]),S=e.discriminatedUnion("kind",[e.object({kind:e.literal("local"),sourceAuthority:e.literal("local_profile"),activeProfile:e.string().trim().min(1).nullable(),repoPath:t,sourcePath:t,localHead:t,confirmationPolicy:s.default("always_require_plan_approval")}),e.object({kind:e.literal("hosted"),sourceAuthority:e.literal("hosted_profile"),teamId:t,projectId:t,activeProfile:e.string().trim().min(1).nullable(),sourceRef:t,baseSha:t,confirmationPolicy:s.default("always_require_plan_approval")}),e.object({kind:e.literal("promote_local_to_hosted"),sourceAuthority:e.literal("promote_local_to_hosted"),teamId:t,projectId:t,activeProfile:e.string().trim().min(1).nullable(),repoPath:t,sourcePath:t,localHead:t,hostedHead:t,sourceRef:t,confirmationPolicy:s.default("always_require_plan_approval")}),e.object({kind:e.literal("managed_artifact"),sourceAuthority:e.literal("managed_artifact"),activeProfile:e.string().trim().min(1).nullable(),confirmationPolicy:s.default("always_require_plan_approval")})]),j=e.object({id:t,kind:e.enum(["user","system","automation"]).default("user"),label:t}),x=e.object({profileId:e.string().trim().min(1),conversationId:t,originTurnId:t,projectId:t,targetProject:e.object({id:t,name:t,workspacePath:t,sourceRef:t,baseSha:t}).nullable()}),l=e.object({messageIds:e.array(e.string().trim().min(1)).default([]),conversationExcerpts:e.array(e.object({messageId:t,role:e.string().trim().min(1).nullable(),excerpt:e.string().trim().min(1),reason:e.string().trim().min(1).nullable()})).default([]),attachments:e.array(e.object({id:t,name:e.string().trim().min(1),mediaType:t,ref:t})).default([]),apps:e.array(e.object({id:e.string().trim().min(1),name:e.string().trim().min(1),connectionId:t,required:e.boolean().default(!1)})).default([]),tools:e.array(e.object({name:e.string().trim().min(1),inputSummary:t,outputSummary:t,artifactRefs:e.array(e.string().trim().min(1)).default([]),sideEffects:e.array(e.string().trim().min(1)).default([])})).default([]),signalRefs:e.array(e.string().trim().min(1)).default([]),evalRefs:e.array(e.string().trim().min(1)).default([]),targetRepoAssumptions:e.array(e.string().trim().min(1)).default([])}),o={id:t,displayName:t},u=e.discriminatedUnion("kind",[e.object({kind:e.literal("unselected"),...o}),e.object({kind:e.literal("agent"),...o,defaultActionKey:t}),e.object({kind:e.literal("skill"),...o,skillName:t}),e.object({kind:e.literal("extension"),...o,slot:t}),e.object({kind:e.literal("model"),...o,trainingPlanId:t,trainingJobId:t,artifactId:t}),e.object({kind:e.literal("configuration"),...o,key:t})]),m=e.enum(["agent","skill","extension","model","configuration"]),w=e.object({schemaVersion:e.literal("openpond.createImprove.evidenceSnapshot.v1"),id:e.string().trim().min(1),contentHash:e.string().trim().min(8),consent:e.object({status:e.enum(["granted","denied","revoked"]),scope:e.enum(["metadata_only","selected_turns","full_session","direct_intent"]),reviewedBy:t,reviewedAt:e.string().trim().min(1)}),sources:e.array(e.object({kind:e.enum(["signal","conversation","direct_correction","manual_intent","artifact"]),id:e.string().trim().min(1),sourceHash:e.string().trim().min(8),excerptRef:t})).min(1),reviewerIntent:e.string().trim().min(1),createdAt:e.string().trim().min(1),metadata:a}),g=e.object({schemaVersion:e.literal("openpond.createImprove.tasksetRef.v1"),id:e.string().trim().min(1),revision:e.number().int().positive(),contentHash:e.string().trim().min(8),evidenceSnapshotIds:e.array(e.string().trim().min(1)).min(1),policyBoundary:e.object({policyVisibleFields:e.array(e.string().trim().min(1)).default([]),privilegedFields:e.array(e.string().trim().min(1)).default([]),hiddenGraderRefs:e.array(e.string().trim().min(1)).default([]),connectedAppScopes:e.array(e.string().trim().min(1)).default([])}),targetRecommendation:e.object({kind:m,rationale:e.array(e.string().trim().min(1)).min(1),confidence:e.number().min(0).max(1)}),authoringSplitRefs:e.array(e.string().trim().min(1)).default([]),privateSplitRefs:e.array(e.string().trim().min(1)).default([]),approvedBy:t,approvedAt:e.string().trim().min(1),metadata:a}),C=e.object({kind:e.enum(["npm_package","runtime_tool","setup_command","secret","integration","volume","target_project","external_service"]),name:e.string().trim().min(1),status:e.enum(["declared","required","blocked","satisfied"]).default("declared"),detail:t,metadata:a}),Q=e.object({mode:e.enum(["chat","direct_action","chat_and_direct_actions"]),label:e.string().trim().min(1),detail:e.string().trim().min(1),defaultActionKey:t,directActionHint:t,artifactPolicy:e.string().trim().min(1)}),A=e.object({schemaVersion:e.literal("openpond.createImprove.plan.v1"),id:e.string().trim().min(1),runId:e.string().trim().min(1),status:e.enum(["draft","pending_approval","approved","rejected","cancelled","superseded"]).default("pending_approval"),objective:e.string().trim().min(1),summary:e.string().trim().min(1),capturedContextSummary:e.string().trim().min(1),defaultChatAction:e.object({key:t,label:t,required:e.boolean().default(!0)}),sourcePlan:e.array(e.object({path:e.string().trim().min(1),operation:e.enum(["create","update","delete","inspect"]),reason:e.string().trim().min(1)})).default([]),requirements:e.array(C).default([]),checks:e.array(e.object({name:e.string().trim().min(1),command:e.string().trim().min(1),required:e.boolean().default(!0)})).default([]),approvalId:t,approvedAt:t,editedFromPlanId:t,metadata:a,createdAt:e.string().trim().min(1),updatedAt:e.string().trim().min(1)}),R=e.object({id:e.string().trim().min(1),label:e.string().trim().min(1),value:e.string().trim().min(1),description:t,metadata:a}),q=e.object({value:e.string().trim().min(1),label:t,detail:t,answeredAt:e.string().trim().min(1),metadata:a}),P=e.object({id:e.string().trim().min(1),kind:e.enum(["single_choice","free_text"]).default("single_choice"),title:e.string().trim().min(1),prompt:e.string().trim().min(1),required:e.boolean().default(!0),status:e.enum(["pending","answered","skipped"]).default("pending"),options:e.array(R).default([]),answer:q.nullable().default(null),metadata:a}),E=e.object({schemaVersion:e.literal("openpond.createImprove.workflowCapture.v1"),id:e.string().trim().min(1),runId:e.string().trim().min(1),command:p,objective:e.string().trim().min(1),conversationExcerpts:l.shape.conversationExcerpts,attachments:l.shape.attachments,apps:l.shape.apps,tools:l.shape.tools,sideEffects:e.array(e.string().trim().min(1)).default([]),profileActions:e.array(e.string().trim().min(1)).default([]),externalProviders:e.array(e.string().trim().min(1)).default([]),environmentVariables:e.array(e.string().trim().min(1)).default([]),files:e.array(e.string().trim().min(1)).default([]),schedules:e.array(e.string().trim().min(1)).default([]),webhooks:e.array(e.string().trim().min(1)).default([]),channelTargets:e.array(e.string().trim().min(1)).default([]),outputArtifacts:e.array(e.string().trim().min(1)).default([]),targetRepoAssumptions:e.array(e.string().trim().min(1)).default([]),traceRefs:e.array(e.string().trim().min(1)).default([]),metadata:a,createdAt:e.string().trim().min(1)}),f=e.object({provider:e.literal("github"),number:e.number().int().positive(),url:e.string().url(),state:e.enum(["open","merged","closed"]),baseBranch:e.string().trim().min(1),headBranch:e.string().trim().min(1),mergeCommit:t,openedAt:e.string().trim().min(1),updatedAt:e.string().trim().min(1)}),T=e.object({baseBranch:e.string().trim().min(1),baseCommit:e.string().trim().min(1),branch:e.string().trim().min(1),headCommit:t,remoteName:e.string().trim().min(1).default("origin"),remoteUrl:t,worktreePath:t,changedPaths:e.array(e.string().trim().min(1)).default([]),diffStat:t,pullRequest:f.nullable().default(null)}),B=e.object({id:e.string().trim().min(1),target:u,status:e.enum(["draft","authored","checking","evaluated","accepted","rejected","failed"]),git:T.nullable().default(null),parentCandidateId:t.default(null),tasksetRef:g.nullable().default(null),authoringModelRef:t.default(null),allowedPaths:e.array(e.string().trim().min(1)).default([]),sourceRefs:e.array(e.string().trim().min(1)).default([]),artifactRefs:e.array(e.string().trim().min(1)).default([]),checkRefs:e.array(e.string().trim().min(1)).default([]),evaluationReceiptRefs:e.array(e.string().trim().min(1)).default([]),createdAt:e.string().trim().min(1),updatedAt:e.string().trim().min(1),metadata:a}),H=e.object({id:e.string().trim().min(1),candidateId:t,target:u,evaluatorKind:e.enum(["agent_sdk","taskset","extension","skill","configuration","checks"]).default("checks"),subject:e.enum(["active","candidate","post_release","standalone"]).default("standalone"),sourceCommit:t.default(null),sourceBranch:t.default(null),tasksetId:t.default(null),tasksetHash:t.default(null),taskAttemptRefs:e.array(e.string().trim().min(1)).default([]),status:e.enum(["pending","passed","failed","blocked"]),publishGate:e.enum(["passed","failed","not_applicable"]).default("not_applicable"),summaryCounts:e.object({total:e.number().int().nonnegative(),passed:e.number().int().nonnegative(),failed:e.number().int().nonnegative()}).nullable().default(null),evalRefs:e.array(e.string().trim().min(1)).default([]),artifactRefs:e.array(e.string().trim().min(1)).default([]),summary:t,createdAt:e.string().trim().min(1),metadata:a}),V=e.object({mode:e.enum(["foreground","background"]).default("background"),pauseAllowed:e.boolean().default(!0),cancellationAllowed:e.boolean().default(!0)}),K=e.object({mode:e.enum(["single","bounded","until_evals_pass"]).default("single"),maximumAttempts:e.number().int().min(1).max(20).default(1),currentAttempt:e.number().int().min(0).max(20).default(0)}),O=e.object({kind:e.enum(["candidate_authoring","local_apply","hosted_turn","training_job","evaluation","pull_request","release"]),id:e.string().trim().min(1),status:t,metadata:a}),N=e.object({status:e.enum(["not_requested","pending","released","rejected","rolled_back"]),profileCommit:t,profileTag:t,releaseReceiptRef:t,pullRequest:f.nullable().default(null),updatedAt:t}),_=e.object({schemaVersion:e.literal("openpond.createImprove.run.v1"),id:e.string().trim().min(1),revision:e.number().int().nonnegative(),operation:k,surface:y,command:p,objective:e.string().trim().min(1),state:I,adapter:S,actor:j,scope:x,context:l,target:u,evidenceSnapshots:e.array(w).default([]),tasksetRef:g.nullable().default(null),targetSelection:e.object({status:e.enum(["open","recommended","confirmed"]),preselectedKind:m.nullable(),confirmedKind:m.nullable()}).nullable().default(null),plan:A.nullable(),workflowCapture:E.nullable(),executionPolicy:V.default({mode:"background",pauseAllowed:!0,cancellationAllowed:!0}),iterationPolicy:K.default({mode:"single",maximumAttempts:1,currentAttempt:0}),approvalIds:e.array(e.string().trim().min(1)).default([]),questionIds:e.array(e.string().trim().min(1)).default([]),questions:e.array(P).default([]),candidates:e.array(B).default([]),evaluationReceipts:e.array(H).default([]),checkRefs:e.array(e.string().trim().min(1)).default([]),sourceRefs:e.array(e.string().trim().min(1)).default([]),externalExecutionRefs:e.array(O).default([]),localProfileCommit:t,hostedSourceCommit:t,hostedSourceRef:t,releaseOutcome:N.default({status:"not_requested",profileCommit:null,profileTag:null,releaseReceiptRef:null,pullRequest:null,updatedAt:null}),blockedReason:t,appliedActionIds:e.array(e.string().trim().min(1)).max(200).default([]),metadata:a,createdAt:e.string().trim().min(1),updatedAt:e.string().trim().min(1)}),n={runId:e.string().trim().min(1),expectedRevision:e.number().int().nonnegative(),actionId:e.string().trim().min(1)},L=e.discriminatedUnion("type",[e.object({...n,type:e.literal("answer_question"),questionId:e.string().trim().min(1),value:e.string().trim().min(1)}),e.object({...n,type:e.literal("approve_plan")}),e.object({...n,type:e.literal("revise_plan"),revision:e.string().trim().min(1)}),e.object({...n,type:e.literal("cancel"),reason:t.optional().default(null)}),e.object({...n,type:e.literal("pause")}),e.object({...n,type:e.literal("resume")}),e.object({...n,type:e.literal("open_pull_request"),candidateId:e.string().trim().min(1)}),e.object({...n,type:e.literal("apply_candidate"),candidateId:e.string().trim().min(1)}),e.object({...n,type:e.literal("reject_candidate"),candidateId:e.string().trim().min(1),reason:t.optional().default(null)}),e.object({...n,type:e.literal("reconcile_pull_request"),candidateId:e.string().trim().min(1)})]),$=e.object({schemaVersion:e.literal("openpond.createImprove.runList.v1"),runs:e.array(_),generatedAt:e.string().trim().min(1)}),F={planning:new Set(["awaiting_questions","awaiting_plan_approval","blocked","failed","cancelled"]),awaiting_questions:new Set(["planning","awaiting_plan_approval","paused","blocked","failed","cancelled"]),awaiting_plan_approval:new Set(["planning","paused","applying_source","evaluating","blocked","failed","cancelled"]),paused:new Set(["planning","awaiting_questions","awaiting_plan_approval","applying_source","running_checks","evaluating","blocked","cancelled"]),applying_source:new Set(["running_checks","ready_local","blocked","failed","cancelled","paused"]),running_checks:new Set(["evaluating","ready","ready_local","blocked","failed","cancelled","paused"]),evaluating:new Set(["awaiting_promotion","ready","ready_local","blocked","failed","cancelled","paused"]),awaiting_promotion:new Set(["opening_pull_request","reconciling_release","rejected","blocked","cancelled"]),opening_pull_request:new Set(["pull_request_open","blocked","failed","cancelled"]),pull_request_open:new Set(["reconciling_release","rejected","blocked","cancelled"]),reconciling_release:new Set(["pull_request_open","released","rejected","blocked","failed"]),released:new Set(["ready"]),rejected:new Set([]),ready:new Set(["planning","evaluating","awaiting_promotion","pushing_hosted","published_hosted","blocked","cancelled"]),ready_local:new Set(["pushing_hosted","published_hosted","blocked","cancelled"]),pushing_hosted:new Set(["running_hosted_checks","published_hosted","blocked","failed","cancelled","paused"]),running_hosted_checks:new Set(["published_hosted","blocked","failed","cancelled","paused"]),published_hosted:new Set([]),blocked:new Set(["planning","awaiting_plan_approval","applying_source","evaluating","reconciling_release","cancelled"]),failed:new Set(["planning","evaluating","cancelled"]),cancelled:new Set(["evaluating"])};function M(r,i){if(r!==i&&!F[r].has(i))throw new Error(`Invalid Create/Improve transition: ${r} -> ${i}`)}d(M,"assertCreateImproveTransition");function z(r,i,c){let h=i.state??r.state;M(r.state,h);let b=c?[...r.appliedActionIds.filter(v=>v!==c),c].slice(-200):r.appliedActionIds;return _.parse({...r,...i,revision:r.revision+1,appliedActionIds:b})}d(z,"nextCreateImproveRunRevision");export{w as a,g as b,C as c,Q as d,A as e,P as f,E as g,_ as h,L as i,z as j};
|