openpond 0.2.72 → 0.2.74
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.js +1 -1
- package/dist/chunks/{acp-7A2UPCG5.js → acp-TBDNUDTR.js} +1 -1
- package/dist/chunks/{acp-agent-AGALGR6V.js → acp-agent-4PKMX52I.js} +1 -1
- package/dist/chunks/{app-layer-DUCNCJ2X.js → app-layer-4YIA53WX.js} +1 -1
- package/dist/chunks/{app-server-evaluations-SNWXULKD.js → app-server-evaluations-5JVNCET7.js} +1 -1
- package/dist/chunks/{app-server-harness-services-YNMGMKPK.js → app-server-harness-services-4E236TXE.js} +1 -1
- package/dist/chunks/{app-server-runtime-BKJ7L6JZ.js → app-server-runtime-CI2NTKX7.js} +1 -1
- package/dist/chunks/{apps-2OWE23BH.js → apps-APEPLFYU.js} +1 -1
- package/dist/chunks/chunk-2IECLXB2.js +2 -0
- package/dist/chunks/{chunk-V4VM2R6D.js → chunk-2IIVBBF5.js} +1 -1
- package/dist/chunks/{chunk-ENY24ZBB.js → chunk-3BIB6KKL.js} +1 -1
- package/dist/chunks/{chunk-DFSQ5HZ7.js → chunk-3V2XAYYA.js} +1 -1
- package/dist/chunks/{chunk-CHRED2FK.js → chunk-3XNUG4FO.js} +1 -1
- package/dist/chunks/{chunk-BUMCJHQP.js → chunk-4KG7GJ5O.js} +1 -1
- package/dist/chunks/chunk-5AV2EWFX.js +2 -0
- package/dist/chunks/{chunk-KTQWWCP2.js → chunk-5SVBY7NP.js} +6 -6
- package/dist/chunks/{chunk-MLLMLXKG.js → chunk-5VQK3CCJ.js} +1 -1
- package/dist/chunks/{chunk-4JKWCLTQ.js → chunk-645T6LH7.js} +1 -1
- package/dist/chunks/{chunk-X7ZMUWJO.js → chunk-6IKIGVJF.js} +1 -1
- package/dist/chunks/{chunk-X2MJFTLS.js → chunk-6KKWSUEW.js} +1 -1
- package/dist/chunks/{chunk-MQMMJKOZ.js → chunk-A4HLKWQD.js} +1 -1
- package/dist/chunks/{chunk-ZSWATWK2.js → chunk-AWUSAHXG.js} +1 -1
- package/dist/chunks/{chunk-T6ML5SCD.js → chunk-E5HDJCKK.js} +1 -1
- package/dist/chunks/{chunk-WMJEQK4G.js → chunk-E7SQBMYW.js} +1 -1
- package/dist/chunks/{chunk-VXFGSFIE.js → chunk-EAW5FHU4.js} +2 -2
- package/dist/chunks/{chunk-GPGXBKXU.js → chunk-EZ435RGA.js} +1 -1
- package/dist/chunks/{chunk-AITV76GO.js → chunk-F64TR23C.js} +1 -1
- package/dist/chunks/{chunk-FOAM3YZQ.js → chunk-FA3GXQYA.js} +1 -1
- package/dist/chunks/{chunk-2THZ6GZY.js → chunk-FCC24XUI.js} +1 -1
- package/dist/chunks/{chunk-L5L3H6CI.js → chunk-FDYWGE2Y.js} +1 -1
- package/dist/chunks/{chunk-CAYKEJJY.js → chunk-FRQYH4QD.js} +1 -1
- package/dist/chunks/{chunk-TR5UC5AF.js → chunk-G2P2PYEO.js} +1 -1
- package/dist/chunks/{chunk-MPXOPL7R.js → chunk-H2YQ4AA2.js} +1 -1
- package/dist/chunks/{chunk-KRJZ5CW3.js → chunk-H5EHSILL.js} +1 -1
- package/dist/chunks/{chunk-N5FT6PTI.js → chunk-HIPKU57Y.js} +1 -1
- package/dist/chunks/{chunk-JSDGOQ5U.js → chunk-IXMY4EKS.js} +1 -1
- package/dist/chunks/{chunk-ATI52WMB.js → chunk-JAIFVT3D.js} +1 -1
- package/dist/chunks/{chunk-HBGTHOOB.js → chunk-JG6JA7YT.js} +1 -1
- package/dist/chunks/{chunk-F3IEAU7O.js → chunk-KE5PYRJ6.js} +1 -1
- package/dist/chunks/{chunk-UZE3C2SF.js → chunk-KH42V27F.js} +1 -1
- package/dist/chunks/{chunk-KUEVP7WM.js → chunk-KOC74O7R.js} +1 -1
- package/dist/chunks/{chunk-VMBWCIGG.js → chunk-KOLVSUOS.js} +1 -1
- package/dist/chunks/{chunk-5TPJ5ECJ.js → chunk-KQ7RFPG5.js} +1 -1
- package/dist/chunks/{chunk-EHMA5XS7.js → chunk-LWF5MQJ4.js} +1 -1
- package/dist/chunks/{chunk-CQRA5TXF.js → chunk-MHSSPMLB.js} +1 -1
- package/dist/chunks/{chunk-TD5YYA5Z.js → chunk-MXDSB2C5.js} +1 -1
- package/dist/chunks/{chunk-W4JBPYGW.js → chunk-O6L4NO3M.js} +1 -1
- package/dist/chunks/{chunk-QKBMXL4D.js → chunk-OBMMO5NC.js} +3 -3
- package/dist/chunks/{chunk-MWPMYCYB.js → chunk-ODH5XGE6.js} +1 -1
- package/dist/chunks/{chunk-CX4U32VO.js → chunk-ONR2AKRI.js} +4 -4
- package/dist/chunks/{chunk-RWBP2H4M.js → chunk-OUOOKEU3.js} +1 -1
- package/dist/chunks/{chunk-6OD2FKUS.js → chunk-OVEQAEKR.js} +1 -1
- package/dist/chunks/{chunk-RIFWD5XM.js → chunk-OXUS4QOT.js} +1 -1
- package/dist/chunks/{chunk-LHTRQAPZ.js → chunk-SUILNZQJ.js} +1 -1
- package/dist/chunks/{chunk-SRK4WX7D.js → chunk-TP222CV2.js} +1 -1
- package/dist/chunks/{chunk-5WFKBZCU.js → chunk-TRXOE7TT.js} +1 -1
- package/dist/chunks/{chunk-5TTQCT3G.js → chunk-U73T66FP.js} +1 -1
- package/dist/chunks/{chunk-IA6CTX7A.js → chunk-WAWVFSIQ.js} +1 -1
- package/dist/chunks/{chunk-KOIXRLZZ.js → chunk-WBV6A6NS.js} +1 -1
- package/dist/chunks/{chunk-UCPD526R.js → chunk-WOYBWRRV.js} +1 -1
- package/dist/chunks/{chunk-S5ACNR5Y.js → chunk-X4CN3FIN.js} +1 -1
- package/dist/chunks/{chunk-PYPXP5R3.js → chunk-XN5BXPAT.js} +1 -1
- package/dist/chunks/{chunk-JALL5NPH.js → chunk-XSDWRRZP.js} +1 -1
- package/dist/chunks/{chunk-HA762QYM.js → chunk-YIZE3M5S.js} +1 -1
- package/dist/chunks/{cli-KXU5DNVV.js → cli-NHRYN2G3.js} +1 -1
- package/dist/chunks/{command-X35I53H3.js → command-54MMVWS2.js} +3 -3
- package/dist/chunks/{configuration-command-VJUK34UQ.js → configuration-command-SAGJMI3I.js} +1 -1
- package/dist/chunks/{connected-app-executor-JBFJF2H5.js → connected-app-executor-WJEDXUA4.js} +1 -1
- package/dist/chunks/{connected-evidence-CQ533AML.js → connected-evidence-EVZTMVHV.js} +1 -1
- package/dist/chunks/{connected-starting-assets-RL5X6LZ7.js → connected-starting-assets-F2DBUHV5.js} +1 -1
- package/dist/chunks/{continual-PHGIZFF6.js → continual-C2YWPEJZ.js} +1 -1
- package/dist/chunks/{core-commands-5DYMDWXY.js → core-commands-Z27A5ZPQ.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-UDSX33YK.js → dataset-preparation-authoring-CH6Z4NE6.js} +1 -1
- package/dist/chunks/{datasets-BW4JFUUU.js → datasets-RZBRILIN.js} +1 -1
- package/dist/chunks/{desktop-test-RIG4CB2Z.js → desktop-test-UXOA4EON.js} +1 -1
- package/dist/chunks/{evaluation-coordination-6QJ6XTUX.js → evaluation-coordination-43DTVJFD.js} +1 -1
- package/dist/chunks/{experiment-improvements-2XF63AQ4.js → experiment-improvements-JBYCVRYR.js} +1 -1
- package/dist/chunks/{experiments-3S2BVNK6.js → experiments-5QAMBNB6.js} +1 -1
- package/dist/chunks/{experiments-signal-IRBHGGW5.js → experiments-signal-OIDQ5SNH.js} +1 -1
- package/dist/chunks/{help-Q2VMJVTR.js → help-ESZC6NHQ.js} +1 -1
- package/dist/chunks/{host-profile-evaluation-tools-5LZQHA32.js → host-profile-evaluation-tools-XMGGHVH3.js} +1 -1
- package/dist/chunks/{hosted-app-server-composition-AYZM2HY6.js → hosted-app-server-composition-U7WGMN5B.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-SMZJYRJ7.js → hosted-experiment-improvement-VQN6PJKR.js} +1 -1
- package/dist/chunks/{hosted-harness-runtime-QWIFAITG.js → hosted-harness-runtime-O6E5LCGN.js} +1 -1
- package/dist/chunks/{hosted-profile-candidate-WOMWAE5N.js → hosted-profile-candidate-HQ544PNP.js} +1 -1
- package/dist/chunks/{hosted-profile-compiler-NZ2BXN32.js → hosted-profile-compiler-K4OACT7S.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-control-3ECFFM7E.js → hosted-profile-evaluation-control-TKYM73YY.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-TM7RKONG.js → hosted-profile-evaluation-inspection-HFCFUYQ4.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-2MZIRT75.js → hosted-profile-evaluation-preparation-OJ6AR5P5.js} +1 -1
- package/dist/chunks/{human-review-PG4WWVWV.js → human-review-HTHWLUNA.js} +1 -1
- package/dist/chunks/{import-FAZAVZBF.js → import-IWDEDLM3.js} +1 -1
- package/dist/chunks/{local-harness-improvement-runtime-OYLTKMJU.js → local-harness-improvement-runtime-BWZBMOGL.js} +1 -1
- package/dist/chunks/{local-harness-taskset-review-I7YU4RZI.js → local-harness-taskset-review-JL2XNXML.js} +1 -1
- package/dist/chunks/{opchat-TCZA6373.js → opchat-RJINPBFB.js} +1 -1
- package/dist/chunks/{opchat-bounded-chat-GMYDXLWB.js → opchat-bounded-chat-WRXN7S52.js} +1 -1
- package/dist/chunks/{organizations-PYKGA2P2.js → organizations-AWMQ46PJ.js} +1 -1
- package/dist/chunks/{profile-GYYI555I.js → profile-VJDML6I7.js} +1 -1
- package/dist/chunks/{project-action-payload-FE6M2OXJ.js → project-action-payload-65MTQMQW.js} +1 -1
- package/dist/chunks/{project-agent-4ISJFMJD.js → project-agent-NI4EGNDI.js} +1 -1
- package/dist/chunks/{published-experiment-source-E2YAJCLM.js → published-experiment-source-L7BER6AE.js} +1 -1
- package/dist/chunks/{refiner-profile-service-LKGXD5WJ.js → refiner-profile-service-56776J7B.js} +1 -1
- package/dist/chunks/{runtime-UDLOZD4Y.js → runtime-GN2H2R7L.js} +2 -2
- package/dist/chunks/{sandbox-command-4J6DAY7T.js → sandbox-command-763SZPJ4.js} +1 -1
- package/dist/chunks/{sandbox-template-TSXWJMWG.js → sandbox-template-AVTZNKFZ.js} +1 -1
- package/dist/chunks/{saved-work-QTEBKVUB.js → saved-work-OMBDT3ZR.js} +1 -1
- package/dist/chunks/{send-turn-4MH4WMLW.js → send-turn-VQRLIHOE.js} +1 -1
- package/dist/chunks/{setup-IVT2FQSE.js → setup-C6673TJK.js} +1 -1
- package/dist/chunks/{src-TOSQX36I.js → src-HHFJIPL5.js} +1 -1
- package/dist/chunks/{src-DC7N2H7A.js → src-UHNSXT34.js} +2 -2
- package/dist/chunks/{store-chat-resources-QLXKKYYC.js → store-chat-resources-TYR7D2UP.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-4F2BOG3H.js → store-continual-support-reviews-63YCKG3P.js} +1 -1
- package/dist/chunks/{store-conversation-serving-EUD47W6X.js → store-conversation-serving-PDSBGL3E.js} +1 -1
- package/dist/chunks/{store-create-improve-QUOTNNIM.js → store-create-improve-RYASTT56.js} +1 -1
- package/dist/chunks/{store-datasets-ZUC7CNVO.js → store-datasets-PELTRO4A.js} +1 -1
- package/dist/chunks/{store-evaluation-results-LHHPHESK.js → store-evaluation-results-OUTNEMAY.js} +1 -1
- package/dist/chunks/{store-human-review-7WZWRJ6X.js → store-human-review-GIMAXCJQ.js} +1 -1
- package/dist/chunks/{store-learned-preference-migration-validation-MVNKBR4X.js → store-learned-preference-migration-validation-DHOSHA6C.js} +1 -1
- package/dist/chunks/{store-local-experiments-HB53QFLL.js → store-local-experiments-AH4Z6RWX.js} +1 -1
- package/dist/chunks/{store-model-batch-review-O3I6GIAA.js → store-model-batch-review-UUW6ZLDH.js} +1 -1
- package/dist/chunks/{store-model-configuration-CDIGNU6Q.js → store-model-configuration-4U5A6DU7.js} +1 -1
- package/dist/chunks/{store-model-project-preparation-QMQ2HMJV.js → store-model-project-preparation-MYHO43VH.js} +1 -1
- package/dist/chunks/{store-modification-recordings-W4VEZKKQ.js → store-modification-recordings-OZBLFYCT.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-KAEDHVVF.js → store-sidebar-file-bookmarks-NQ3ZLTGZ.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-QPBLTHY6.js → store-sidebar-preferences-L6J7J5WC.js} +1 -1
- package/dist/chunks/{store-subagents-ZELQP3MX.js → store-subagents-6FHGHQ6V.js} +1 -1
- package/dist/chunks/{store-task-inbox-4ZDQR2E7.js → store-task-inbox-M7YZNCRF.js} +1 -1
- package/dist/chunks/{store-task-inventory-CTIJDLYE.js → store-task-inventory-TTJQAM3T.js} +1 -1
- package/dist/chunks/{store-taskset-drafts-FRPBYLTW.js → store-taskset-drafts-4GVHDLJJ.js} +1 -1
- package/dist/chunks/{store-training-WQAYUT7B.js → store-training-MGGTGTV2.js} +1 -1
- package/dist/chunks/{store-training-jobs-O5EHGTH7.js → store-training-jobs-XKDUX4SV.js} +1 -1
- package/dist/chunks/{store-training-models-YSZMC66T.js → store-training-models-4S4ZT3BL.js} +1 -1
- package/dist/chunks/{taskset-OVYM4QMS.js → taskset-SLQSCYJI.js} +1 -1
- package/dist/chunks/{teams-bot-U2M3ORWR.js → teams-bot-PX7HUAQQ.js} +1 -1
- package/dist/chunks/{tool-learning-NXVR4YPA.js → tool-learning-25Z2JOBS.js} +1 -1
- package/dist/chunks/{training-EQ7G5FDY.js → training-2LUQ2IZM.js} +1 -1
- package/dist/chunks/{training-LQUAL4Y4.js → training-JA5ZQABE.js} +1 -1
- package/dist/chunks/{training-PEZYJ2SN.js → training-NL5GYZKU.js} +1 -1
- package/dist/chunks/training-hosted-NLXMISNL.js +2 -0
- package/dist/chunks/{training-hosted-alphaedit-VCOEYLKK.js → training-hosted-alphaedit-WGMJ3L2D.js} +1 -1
- package/dist/chunks/{training-hosted-decision-IKWWXA56.js → training-hosted-decision-66EUMUIW.js} +1 -1
- package/dist/chunks/{training-hosted-engram-3TOPPVSW.js → training-hosted-engram-QDXSJ77I.js} +1 -1
- package/dist/chunks/{training-hosted-modification-comparison-C6S4JFHW.js → training-hosted-modification-comparison-2MH5FZMZ.js} +1 -1
- package/dist/chunks/{training-hosted-neuron-training-EP2U4PHG.js → training-hosted-neuron-training-3QXKIEKT.js} +1 -1
- package/dist/chunks/{training-hosted-serving-report-KJMRZJLQ.js → training-hosted-serving-report-ZG75ACZK.js} +1 -1
- package/dist/chunks/{training-hosted-steering-I27DV6A2.js → training-hosted-steering-KFMTKCTX.js} +1 -1
- package/dist/chunks/{training-model-start-NWXNGRDC.js → training-model-start-NMQ55UHZ.js} +1 -1
- package/dist/chunks/{workspaces-FVQYJPOS.js → workspaces-ROFG76XK.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/skills/manifest.json +1 -1
- package/dist/web/assets/{App-QM6Y2Eod.js → App-CV1p0_Zy.js} +4 -4
- package/dist/web/assets/{AppDialog-C8um481a.js → AppDialog-DdGt7aU1.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-OwNr-bp6.js → AppTerminalPanel-B2p_tYh5.js} +2 -2
- package/dist/web/assets/{AppToastContext-BQ4iRFif.js → AppToastContext-D7z0w1PS.js} +1 -1
- package/dist/web/assets/{AppsView-mk8m_Cra.js → AppsView-B-Ts-M_V.js} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-SITPqTtF.js → AttachmentTypeIcon-BJ5i12im.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-BghdIKTB.js → BrowserSidebar-BVHthjXU.js} +1 -1
- package/dist/web/assets/{CartesianChart-BdRx7q_O.js → CartesianChart-BuJ1wFS7.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-BBOnAzJB.js → ChatTimelineEntry-CfiiTrK4.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-Beja-9s5.js → CollaborationTabs-1t9zAhDC.js} +1 -1
- package/dist/web/assets/{CommandMenu-CQtrSUpu.js → CommandMenu-DTB6xjGG.js} +1 -1
- package/dist/web/assets/{CommunityView-LPTAakS-.js → CommunityView-BjeZ56id.js} +1 -1
- package/dist/web/assets/{ComposerAttachments-DI-Gr7Zw.js → ComposerAttachments-C_K_05H9.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-CY5Uw1yc.js → ComposerCreateImproveStrip-A38jnNGd.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-DFwhKERw.js → ConversationImportsSettings-jwaoKQZt.js} +1 -1
- package/dist/web/assets/{DatasetReviewImport-C9xraQk7.js → DatasetReviewImport-DZA1s3XG.js} +1 -1
- package/dist/web/assets/{ExperimentTrainingDataWorkspace-Cx58S6R_.js → ExperimentTrainingDataWorkspace-DowPuAXk.js} +2 -2
- package/dist/web/assets/{FilePagePreview-dlbmR8s8.js → FilePagePreview-11ZNRtdT.js} +2 -2
- package/dist/web/assets/{GetStartedView-BkTV_shK.js → GetStartedView-bLVKmjqg.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-DulDLYnr.js → GettingStartedDialog-BeimFLZh.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview--fXJEOfI.js → HostedModelLearningReview-DiFVb3WK.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-BEb7B_PC.js → HostedModelLearningSettings-DtUF5ejq.js} +1 -1
- package/dist/web/assets/{HtmlVisual-BS61T2qR.js → HtmlVisual-CgVTWr64.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-CmzUIDbR.js → LabModelVersionDetailPage-BvinwnBN.js} +1 -1
- package/dist/web/assets/{LabModelWorkspace-DoAnQKWk.js → LabModelWorkspace-Q5DG2mLP.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-DJTm7ZQs.js → LabSkillSidebar-cmhZzr4f.js} +1 -1
- package/dist/web/assets/{LabsRoute-DNtBot4a.js → LabsRoute-DS_mlprv.js} +4 -4
- package/dist/web/assets/{LearningBatchesPage-C_oQjciE.js → LearningBatchesPage-Cm-btgWc.js} +1 -1
- package/dist/web/assets/{MainChatThread-D9e-to8e.js → MainChatThread-DbTn4Bag.js} +2 -2
- package/dist/web/assets/{MainPane-mWeD0M-f.js → MainPane-BtzUF6O_.js} +6 -6
- package/dist/web/assets/{ModelProjectPageHeader-BecKU_2p.js → ModelProjectPageHeader-C4mgVJGx.js} +1 -1
- package/dist/web/assets/{NativeSetupTerminal-DO0DN4fH.js → NativeSetupTerminal-bJpDkKk1.js} +2 -2
- package/dist/web/assets/{NativeSkillSidebar-jnxgQASC.js → NativeSkillSidebar-BuToZvK-.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-ByHR4vMf.js → NewProjectDialog-F0BPQy0S.js} +1 -1
- package/dist/web/assets/{OutputsPage-DZY4BUCy.js → OutputsPage-DC4g59_8.js} +1 -1
- package/dist/web/assets/{PageChrome-DjPuwWsn.js → PageChrome-ufq2jePD.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DKbwhIM4.js → ProjectsPage-7mbOvMfO.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-BARH0XuL.js → RightChatPanelStack-sR9xN3RP.js} +1 -1
- package/dist/web/assets/RightSidebarHomePanel-joZavyR9.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-CElrmRz9.js → ScheduledWorkPage-s9CN6nR_.js} +1 -1
- package/dist/web/assets/{SettingsView-CsFSjE9s.js → SettingsView-CZNWYK-D.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-DJoYkvWq.js → TasksetDraftEditorPrimitives-BnMqzE-T.js} +1 -1
- package/dist/web/assets/{TeamChatView-D9Y4e98Y.js → TeamChatView-XthM6n4S.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-CUO8yZjy.js → TerminalOverlay--HCFZaQW.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-_mnLQ1HA.js → TrainingCreationPanel-D2F6kPg_.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-CCqQTHo5.js → TrainingDraftPanel-BurWPp9F.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-CdWq5oYC.js → UsageSettingsSection-D7jdscDm.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-CmdXCmrZ.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-CdHr8bX6.js → WorkspaceDiffPanel-CPaCC1_p.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-BnUh4dg9.js → WorkspaceEnvironmentMenu-BZxu6mUS.js} +1 -1
- package/dist/web/assets/{WorkspaceFileLocation-VzrSq_Ki.js → WorkspaceFileLocation-C4K_D_yh.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-nwvQOm9r.js → WorkspaceGitDialogs-C0Yf29V0.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-m3bCIpZe.js → WorkspaceMonacoEditor-BRPLaFZS.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-u6Iv0qr0.js → WorkspacePdfPreview-9wypyV6H.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-CjvTjhUO.js → WorkspacePresentationPreview-C-Cn-9pj.js} +1 -1
- package/dist/web/assets/{bot-DiDSZBLn.js → bot-BuaAVlz6.js} +1 -1
- package/dist/web/assets/{chat-resources-CmBtWC5V.js → chat-resources-DMPHClhQ.js} +1 -1
- package/dist/web/assets/chevron-down-CkifKd_O.js +1 -0
- package/dist/web/assets/chevron-right-LsMXJ5SB.js +1 -0
- package/dist/web/assets/chevron-up-Dt5T2Sf5.js +1 -0
- package/dist/web/assets/{chunk-C3TS766N-DSA4vs-Y.js → chunk-C3TS766N-BXUEjt7d.js} +1 -1
- package/dist/web/assets/{client-_uDCFdg5.js → client-C-ZuakZR.js} +1 -1
- package/dist/web/assets/{client-choice-storage-CRKZpilL.js → client-choice-storage-DWIA0Vou.js} +1 -1
- package/dist/web/assets/{cloud-upload-CWamjPts.js → cloud-upload-B5LqiNCG.js} +1 -1
- package/dist/web/assets/{copy-B56YjDkW.js → copy-BYIypHbq.js} +1 -1
- package/dist/web/assets/{cssMode-BuC9qQvo.js → cssMode-ByypIqUN.js} +1 -1
- package/dist/web/assets/{external-link-BSn21e-y.js → external-link-Cv7TDVPT.js} +1 -1
- package/dist/web/assets/{folder-open-CaJGWSr2.js → folder-open-DlIP3g5o.js} +1 -1
- package/dist/web/assets/{folder-plus-eTUep-az.js → folder-plus-CXwFJqcY.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-Buk_hy6T.js → git-commit-horizontal-DMh_-WxU.js} +1 -1
- package/dist/web/assets/{htmlMode-D7kF2kDL.js → htmlMode-CQGeb-h5.js} +1 -1
- package/dist/web/assets/{icons-B4B5eUyR.js → icons-CYvTltSH.js} +1 -1
- package/dist/web/assets/{image--4h1aK2l.js → image-Ci1JxTQX.js} +1 -1
- package/dist/web/assets/{index-CCaTs7xt.js → index-CDtTBysF.js} +2 -2
- package/dist/web/assets/{info-DjMTH4sJ.js → info-EjyMkVzV.js} +1 -1
- package/dist/web/assets/{jsonMode-BVX_7KjE.js → jsonMode-Dm6YK6Dw.js} +1 -1
- package/dist/web/assets/loader-circle-AjP2mDJA.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-RBOb-3wX.js → lspLanguageFeatures-BjtOz-Ln.js} +1 -1
- package/dist/web/assets/{maximize-2-Cjg-f1xT.js → maximize-2-CvvoALtI.js} +1 -1
- package/dist/web/assets/{message-square-oIMQDMc3.js → message-square-CPtIPRtf.js} +1 -1
- package/dist/web/assets/{monaco.contribution-CIwt2mTE.js → monaco.contribution-ClH8Tmjq.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CIbGU5-C.js → monaco.contribution-VSFFgrfZ.js} +2 -2
- package/dist/web/assets/{monaco.contribution-KRLNg324.js → monaco.contribution-e5DNaEix.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Dd1cPdSS.js → monaco.contribution-wpC0-Kxw.js} +2 -2
- package/dist/web/assets/{monitor-BWaitd6I.js → monitor-BroZpIvk.js} +1 -1
- package/dist/web/assets/{paperclip-FYK6OySO.js → paperclip-DYZEL_Gi.js} +1 -1
- package/dist/web/assets/{pdf-DbwlsqZP.js → pdf-DkU37Bi0.js} +1 -1
- package/dist/web/assets/play-BrvX67t1.js +1 -0
- package/dist/web/assets/plus-DFjCZeRE.js +1 -0
- package/dist/web/assets/{presentation-B6MaAPC7.js → presentation-CddfsTzp.js} +1 -1
- package/dist/web/assets/{python-DRYJxjiM.js → python-CMdyfF2B.js} +1 -1
- package/dist/web/assets/{refresh-cw-DOVpqCfJ.js → refresh-cw-Cx_7Zlbl.js} +1 -1
- package/dist/web/assets/{save-BuyyyR4Q.js → save-BaeHeBBw.js} +1 -1
- package/dist/web/assets/{settings-lists-BeAdxSjx.js → settings-lists-CVg9h-5z.js} +1 -1
- package/dist/web/assets/square-Di5JBnVr.js +1 -0
- package/dist/web/assets/{square-terminal-DTOIZy6_.js → square-terminal-CBlQtWQw.js} +1 -1
- package/dist/web/assets/{submit-issue-command-V--K9lVQ.js → submit-issue-command-L5--gt9i.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-nNzCoE0h.js → toggleHighContrast-hftC_Rxs.js} +1 -1
- package/dist/web/assets/{training-DZgfVcI-.js → training-CGYukv2L.js} +1 -1
- package/dist/web/assets/{training-model-data-CWoTokkb.js → training-model-data-vvvphDlO.js} +1 -1
- package/dist/web/assets/{tsMode-BfVi5_FZ.js → tsMode-B0sZU1HD.js} +1 -1
- package/dist/web/assets/{upload-C2MnlWjj.js → upload-Bzt1ooBz.js} +1 -1
- package/dist/web/assets/{useAccountSettings-QwRbZIKu.js → useAccountSettings-BnxwetkP.js} +1 -1
- package/dist/web/assets/{useAgentInventory-B7xEgMCA.js → useAgentInventory-D_qS4ols.js} +1 -1
- package/dist/web/assets/{useChatContextSelection-O6wo4EqD.js → useChatContextSelection-D8aSVtCm.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-DpHnOGoV.js → useLocalAgentSchedules-CUQ1MW4l.js} +1 -1
- package/dist/web/assets/{useQuery-CvZ8bzdW.js → useQuery-9SCnxwmR.js} +1 -1
- package/dist/web/assets/{wifi-off-B8d12Alh.js → wifi-off-DWtVm7W7.js} +1 -1
- package/dist/web/assets/{workers-sIVKxb8c.js → workers-B3jA6AOv.js} +1 -1
- package/dist/web/assets/x-EG07vYCF.js +1 -0
- package/dist/web/assets/{yaml-8-aLM3zj.js → yaml-BEUL30-5.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +4 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-2Q2AWPP2.js +0 -2
- package/dist/chunks/chunk-AWD72O3G.js +0 -2
- package/dist/chunks/training-hosted-XKSUTMLQ.js +0 -2
- package/dist/web/assets/RightSidebarHomePanel-qKL8dZrN.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-DRXaK-E6.js +0 -1
- package/dist/web/assets/chevron-down-CqxKXYPf.js +0 -1
- package/dist/web/assets/chevron-right-ClP6ukIq.js +0 -1
- package/dist/web/assets/chevron-up-DY7wpdJ1.js +0 -1
- package/dist/web/assets/loader-circle-DNHvEoaP.js +0 -1
- package/dist/web/assets/play-DieChKfF.js +0 -1
- package/dist/web/assets/plus-DkfcQyma.js +0 -1
- package/dist/web/assets/square-D0YnIVh6.js +0 -1
- package/dist/web/assets/x-BvVvVB-j.js +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as x}from"./chunk-XRKFTPHD.js";import{f as C}from"./chunk-3M53YXEI.js";import{a as t}from"./chunk-FTQLQJQV.js";var S={name:"training",usage:"openpond training <projects|inspect-project|create-project|prepare-project|pull-project|estimate|start|status|watch|logs|cancel|resume|artifacts|benchmark> [identifier]",usages:["openpond training estimate <hosted-model-project-id> --team-id <id> [--batch-id <id>] [--gpu-type <type> --availability-id <id> | --gpu-placement-objective <objective>] [--gpu-count <1|2>] [--api-base-url <url>] [--json]","openpond training hosted-estimate <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-funding <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-funding-handoff <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training prepare-project <input.json> [--dry-run] [--output <receipt.json>] [--json]","openpond training prepare-project <reviewed-receipt.json> --apply [--output <saved.json>] [--json]","openpond training pull-project <hosted-model-project-id> --profile <local-profile-id> [--snapshot-file <verified-package-and-projection.json>] [--json]","openpond training projects [--profile <local-profile-id>] [--json]","openpond training inspect-project <local-model-project-id> [--profile <local-profile-id>] [--json]","openpond training create-project <taskset-id> --recipe <path> [--project-id <id>] [--profile <id>] [--name <name>] [--objective <text>] [--destination <id>] [--rollout-placement <local|remote>] [--gpu-placement-objective <fast|balanced|economical>] [--run-preset <preset>] [--max-spend <usd>] [--retention-days <days>] [--json]","openpond training start <hosted-model-project-id> --team-id <id> --batch-id <id> [--max-spend <usd>] [--gpu-type <type> --availability-id <id> | --gpu-placement-objective <objective>] [--gpu-count <1|2>] [--yes] [--detach] [--json]","openpond training start <model-project-id> [--comparison-series-entry <entry-id>] [--manifest <path>] [--yes] [--export-approved] [--max-spend <usd>] [--retention-days <days>] [--detach] [--json]","openpond training hosted-models|hosted-batches|hosted-preparations|hosted-jobs|hosted-capabilities|hosted-gpu-catalog|hosted-hardware-catalog --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-gpu-catalog [workload-query.json] --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-drafts --team-id <id> [--project-id <id>] [--search <text>] [--archived] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-modification-capabilities <input.json> --team-id <id> [--json]","openpond training hosted-draft <draft-id> --team-id <id> [--json]","openpond training hosted-save-draft <input.json> --team-id <id> [--json]","openpond training hosted-archive-draft <draft-id> --team-id <id> --operation-id <id> --expected-revision <n> [--json]","openpond training hosted-executions --team-id <id> [--project-id <id>] [--dataset-hash <sha256>] [--search <text>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-modification-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--method <neuron_steering|inspect_activations>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-modification-execution <execution-id> --team-id <id> [--json]","openpond training hosted-compare-modification <execution-id> --team-id <id> --baseline <variant-id> --candidate <variant-id> [--prompt <prompt-id>] [--json]","openpond training hosted-alphaedit-capability <query.json> --team-id <id> [--json]","openpond training hosted-compile-alphaedit <input.json> --team-id <id> [--json]","openpond training hosted-prepare-alphaedit <input.json> --team-id <id> [--json]","openpond training hosted-start-alphaedit <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-alphaedit <input.json> --team-id <id> [--json]","openpond training hosted-alphaedit-execution <execution-id> --team-id <id> [--json]","openpond training hosted-alphaedit-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-save-alphaedit-model <input.json> --team-id <id> [--json]","openpond training hosted-alphaedit-serving <selection.json> --team-id <id> [--json]","openpond training hosted-control-alphaedit-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-neuron-training-capability <query.json> --team-id <id> [--json]","openpond training hosted-compile-neuron-training <input.json> --team-id <id> [--json]","openpond training hosted-prepare-neuron-training <input.json> --team-id <id> [--json]","openpond training hosted-start-neuron-training <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-neuron-training <input.json> --team-id <id> [--json]","openpond training hosted-neuron-training-execution <execution-id> --team-id <id> [--json]","openpond training hosted-neuron-training-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-save-neuron-training-model <input.json> --team-id <id> [--json]","openpond training hosted-neuron-training-serving <selection.json> --team-id <id> [--json]","openpond training hosted-control-neuron-training-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-engram-capability <query.json> --team-id <id> [--json]","openpond training hosted-compile-engram <input.json> --team-id <id> [--json]","openpond training hosted-prepare-engram <input.json> --team-id <id> [--json]","openpond training hosted-start-engram <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-engram <input.json> --team-id <id> [--json]","openpond training hosted-engram-execution <execution-id> --team-id <id> [--json]","openpond training hosted-engram-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-save-engram-model <input.json> --team-id <id> [--json]","openpond training hosted-decision-capability <query.json> --team-id <id> [--json]","openpond training hosted-compile-decision <input.json> --team-id <id> [--json]","openpond training hosted-prepare-decision <input.json> --team-id <id> [--json]","openpond training hosted-start-decision <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-decision <input.json> --team-id <id> [--json]","openpond training hosted-decision-execution <execution-id> --team-id <id> [--json]","openpond training hosted-decision-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--mode <train|score>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-save-decision-model <input.json> --team-id <id> [--json]","openpond training hosted-score-decision <command.json> --team-id <id> --yes [--json]","openpond training hosted-decision-serving <selection.json> --team-id <id> [--json]","openpond training hosted-control-decision-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-compile-modification <input.json> --team-id <id> [--json]","openpond training hosted-prepare-modification <input.json> --team-id <id> [--json]","openpond training hosted-start-modification <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-modification <input.json> --team-id <id> [--json]","openpond training hosted-preparations --team-id <id> [--project-id <id>] [--cursor <id>] [--limit <1..100>] [--json]","openpond training hosted-preparation <preparation-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-cancel-preparation <receipt.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-learning-inspect <model-project-id> --team-id <id> [--cursor <id>] [--limit <1..100>] [--api-base-url <url>] [--json]","openpond training hosted-corrections <model-project-id> --team-id <id> [--run-id <id>] [--api-base-url <url>] [--json]","openpond training hosted-workers --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-hardware --team-id <id> [--worker-id <id>] [--job-id <id>] [--limit <1..50>] [--cursor <worker-id>] [--api-base-url <url>] [--watch --interval-ms <100..60000> --timeout-ms <1000..60000>] [--json]","openpond training hosted-serving-pools --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-base-serving-prepare <base-profile.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-serving-pool-retire <pool-and-reason.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-provider|hosted-quotes --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-worker <physical-worker-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-worker-adopt <reserved-pod-and-job.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-worker-rebind <worker-and-job.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-worker-enroll|hosted-worker-verify <physical-worker-id> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-worker-stop|hosted-worker-resume|hosted-worker-retire|hosted-worker-warm-idle|hosted-worker-retain-session <control.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-tasksets [taskset-id] --team-id <id> [--project-id <id>] [--cursor <cursor>] [--limit <1..100>] [--search <text>] [--api-base-url <url>] [--json]","openpond training hosted-model <model-project-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-sync-model <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-publish-taskset <publication.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-review-dataset <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-evaluate-checkpoint <request.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-prepare|hosted-prepare-experiment|hosted-start|hosted-stage|hosted-submit <input.json> --team-id <id> [--api-base-url <url>] [--yes] [--json]","openpond training hosted-save-experiment-learning <request.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-qualify <input.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-trajectory <job-id> --trajectory-id <receipt-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-feedback <job-id> --trajectory-id <receipt-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-feedback <job-id> --evaluation-id <id> --task-id <id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-save-steering-model <input.json> --team-id <id> [--json]","openpond training hosted-saved-model-serving <selection.json> --team-id <id> [--json]","openpond training hosted-control-steering-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-control-engram-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-import-calibration <input.json> --team-id <id> [--json]","openpond training hosted-calibration <calibration-id> --team-id <id> [--json]","openpond training hosted-calibrations --team-id <id> [--project-id <id>] [--model-hash <sha256>] [--archived] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-archive-calibration <command.json> --team-id <id> [--json]","openpond training hosted-steering-profiles --team-id <id> [--project-id <id>] [--model-project-id <id>] [--archived] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-steering-profile <profile-id> --team-id <id> [--json]","openpond training hosted-archive-steering-profile <input.json> --team-id <id> [--json]","openpond training hosted-model-version <model-project-id> --team-id <id> [--version-hash <sha256>] [--json]","openpond training hosted-save-model <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-saved-model <model-project-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-model-serving <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-control-model-serving <input.json> --team-id <id> [--yes] [--api-base-url <url>] [--json]","openpond training hosted-status|hosted-result|hosted-inspect|hosted-report|hosted-watch|hosted-cancel|hosted-artifacts|hosted-logs|hosted-events <job-id> --team-id <id> [--api-base-url <url>] [--interval-ms <ms>] [--json]","openpond training hosted-recover <input.json> --team-id <id> --yes [--api-base-url <url>] [--json]","openpond training hosted-stop-after-group <job-id> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-evaluation-tasks <job-id> --evaluation-id <id> --team-id <id> [--cursor <cursor>] [--limit <1..100>] [--api-base-url <url>] [--json]","openpond training hosted-watch <job-id> --team-id <id> [--deadline-at <ISO-time>] [--cleanup-reserve-ms <ms>] [--wait-for-cleanup] [--cancel-on-infrastructure-error] [--cleanup-timeout-ms <ms>] [--interval-ms <ms>] [--json]","openpond training status <run-id> [--json]","openpond training watch <run-id> [--interval-ms <ms>] [--json]","openpond training logs <run-id> [--json]","openpond training cancel <run-id> [--json]","openpond training resume <model-run-id> [--json]","openpond training artifacts <run-id> [--json]","openpond training benchmark <model-id> [--provider <id>] [--model <id>] [--reasoning-effort <level>] [--max-spend <usd>] [--json]"],optionSchema:{archived:"boolean",expectedRevision:"integer",datasetHash:"string",id:"string",mode:"string",phase:"string",versionHash:"string",search:"string",apiBaseUrl:"string",batchId:"string",operationId:"string",workerId:"string",jobId:"string",gpuType:"string",gpuCount:"string",availabilityId:"string",apply:"boolean",dryRun:"boolean",output:"string",comparisonSeriesEntry:"string",baseline:"string",candidate:"string",prompt:"string",snapshotFile:"string",teamId:"string",account:"string",detach:"boolean",destination:"string",exportApproved:"boolean",gpuPlacementObjective:"string",intervalMs:"integer",watch:"boolean",timeoutMs:"integer",deadlineAt:"string",cleanupReserveMs:"integer",waitForCleanup:"boolean",cleanupTimeoutMs:"integer",cancelOnInfrastructureError:"boolean",trajectoryId:"string",evaluationId:"string",taskId:"string",runId:"string",cursor:"string",limit:"integer",json:"boolean",manifest:"string",maxSpend:"number",model:"string",name:"string",objective:"string",profile:"string",projectId:"string",provider:"string",recipe:"string",reasoningEffort:"string",retentionDays:"integer",rolloutPlacement:"string",runPreset:"string",yes:"boolean"},handler:t(async({options:o,rest:n})=>n[0]==="hosted-hardware"?(await import("./training-hardware-MR4FUC4U.js")).runHardwareObservations(o,n):(await import("./training-EQ7G5FDY.js")).runTrainingCommand(o,n),"handler")};var i="boolean",p="integer",m="json",g="number",e="string",I={agent:e,approvalPolicy:e,cwd:e,json:i,maxOutputBytes:p,message:e,messageFile:e,model:e,noServerStart:i,nonInteractive:i,project:e,provider:e,resume:e,sandbox:e,server:e,stdin:i,timeoutSec:p,yes:i},k={access:e,agentId:e,all:i,artifactPaths:e,async:i,authHeader:e,authHeaderValue:e,authToken:e,autoStart:i,baseRef:e,branch:e,budget:g,budgetUsd:g,cleanup:i,cols:p,command:e,content:e,contentBase64:e,contents:e,contentsBase64:e,cpu:g,create:i,description:e,diskGb:g,checkpointCustodyId:e,expectedSourceUpdatedAt:e,replaceStoppedRoot:i,operationId:e,restoreIntentSha256:e,maximumUsd:e,executionUntil:e,retentionClass:e,retentionTtlSeconds:p,retentionTermsSha256:e,retentionMaxUsd:e,dockerBuildArgs:m,dockerRegistrySecretRefs:e,dockerfile:e,dockerfileContext:e,dockerfileTarget:e,domain:e,env:e,environment:e,envLiteral:e,envName:e,envRef:e,expectedMppMode:e,expectedVersion:p,failOnUnpreservedChanges:i,ffOnly:i,forceWithLease:i,fork:i,fromPath:e,idempotencyKey:e,idleTimeoutSeconds:p,image:e,imageDigest:e,input:e,inputBase64:e,integrationCapabilities:e,integrationConnection:e,integrationScopes:e,intervalMs:p,json:i,keep:i,label:e,leaseId:e,lifecycleHint:m,manifestPath:e,maxDurationSeconds:p,maxEntries:g,maxResults:g,offsetBytes:p,maxBytes:p,memoryGb:g,message:e,name:e,noPreview:i,overwrite:i,params:m,path:e,paths:e,payload:m,port:p,preview:i,projectId:e,publish:i,q:e,query:e,rebase:i,recursive:i,registrySecretRef:e,remote:e,replayState:e,repo:e,respondAsync:i,rows:p,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProfileId:e,runtimeProjectId:e,runtimePromotionPolicy:e,runtimeWorkspaceRoot:e,sandboxId:e,scope:e,since:p,snapshot:i,snapshotId:e,sourceProjectId:e,sourceRepoUrl:e,sourceSandboxId:e,startPoint:e,status:e,stdin:i,summary:i,tag:e,tags:e,targetId:e,targetType:e,teamId:e,templateName:e,templateVersion:e,templateVisibility:e,timeoutSeconds:p,toPath:e,type:e,useCase:e,validationCommand:e,value:e,version:e,volumeDeleteOnSandboxDelete:i,volumeMountPath:e,volumeName:e,volumeStorageGb:g,workflowMode:e},O={action:e,agentId:e,budget:g,budgetUsd:g,build:e,branch:e,commit:i,commitMessage:e,description:e,dir:e,disableSchedule:e,disableSchedules:e,enableSchedule:e,enableSchedules:e,entrypoint:e,env:m,envRef:e,file:e,force:i,idleTimeoutSeconds:p,inherit:i,input:m,inputFile:e,inputFiles:e,inputJson:m,inputs:m,json:i,keepTokenRemote:i,manifest:e,maxDurationSeconds:p,name:e,noPush:i,noWrite:i,out:e,outDir:e,output:e,outputDir:e,params:m,path:e,plan:e,projectId:e,repo:e,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProjectId:e,runtimePromotionPolicy:e,scheduleMode:e,scheduleOverride:m,scheduleOverrides:m,schedules:e,service:e,setRemoteToken:i,setupTimeoutSeconds:p,target:e,teamId:e,timeoutSeconds:p,token:e,workflowMode:e,yes:i},P={branch:e,commitMessage:e,defaultBranch:e,description:e,gitOwner:e,gitRepo:e,internalRepoPath:e,json:i,name:e,path:e,projectId:e,repo:e,sourceCheckDispatch:e,sourceType:e,teamId:e,templateRepoUrl:e},A={agentId:e,agentEdit:m,allowLatestSource:i,allowedActions:e,attachmentsJson:m,baseSha:e,chatMode:e,checkKind:e,conversationId:e,cwd:e,dispatch:e,entrypointName:e,entrypointScope:e,expectedManifestHash:e,evalStatus:e,expectedSourceCommitSha:e,idempotencyKey:e,input:m,inputFile:e,json:i,limit:p,message:e,metadata:m,name:e,path:e,payload:m,projectId:e,prompt:e,provider:e,publishedSnapshotId:e,ref:e,requirePublishedSnapshot:i,requiredEnv:e,requiredIntegrations:e,runtimePromotionPolicy:e,runtimeSourceMode:e,sourceCheckDispatch:e,sourceMode:e,sourceRef:e,status:e,targetProjectId:e,teamId:e,triggerType:e,workflowMode:e};var b={account:"string",apiBaseUrl:"string",apiBaseurl:"string",baseUrl:"string",baseurl:"string",chatApiBaseUrl:"string",chatApiBaseurl:"string",checkUpdate:"boolean",cwd:"string",help:"boolean",home:"string",json:"boolean",profile:"string",sandboxApiUrl:"string",sandboxApiurl:"string",tui:"boolean",version:"boolean"},Q={C:"cwd",f:"force",h:"help",j:"json",v:"version",y:"yes"},_={cwd:"string",input:"json",inputFile:"string",json:"boolean",path:"string"},y=[{name:"learning",usage:`openpond learning <get|list> <kind> [id] --team-id <id> [--revision <n>] [--after-id <id>]
|
|
3
|
-
openpond learning <command|publish-batch> --input-file <absolute-path> --team-id <id>`,optionSchema:{inputFile:"string",teamId:"string",revision:"integer",afterId:"string",parentId:"string",status:"string",limit:"integer"},handler:t(async({options:o,rest:n})=>(await import("./learning-OR4CYV4B.js")).runLearningCommand(o,n),"handler")},{name:"tool-learning",usage:"openpond tool-learning <setup|run|register|install|doctor|status|routing|configure|append|flush|episodes|episode|project|disable|enable|revoke|purge|uninstall> [installation-id] [episode-id] [--input-file <absolute-path>] [--team-id <id>] [--workspace <absolute-path>] [--client claude_code|opencode|codex|openpond] [--prompt <codex-task>] [--model <codex-model>] [--sandbox read-only|workspace-write]",optionSchema:{prompt:"string",model:"string",sandbox:"string",client:"string",tools:"string",allowUpload:"boolean",inputFile:"string",teamId:"string",projectId:"string",workspace:"string",environmentFile:"string",expiresAt:"string",after:"string",timeoutSec:"integer"},handler:t(async({options:o,rest:n})=>(await import("./command-
|
|
2
|
+
import{a as x}from"./chunk-XRKFTPHD.js";import{f as C}from"./chunk-3M53YXEI.js";import{a as t}from"./chunk-FTQLQJQV.js";var S={name:"training",usage:"openpond training <projects|inspect-project|create-project|prepare-project|pull-project|estimate|start|status|watch|logs|cancel|resume|artifacts|benchmark> [identifier]",usages:["openpond training estimate <hosted-model-project-id> --team-id <id> [--batch-id <id>] [--gpu-type <type> --availability-id <id> | --gpu-placement-objective <objective>] [--gpu-count <1|2>] [--api-base-url <url>] [--json]","openpond training hosted-estimate <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-funding <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-funding-handoff <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training prepare-project <input.json> [--dry-run] [--output <receipt.json>] [--json]","openpond training prepare-project <reviewed-receipt.json> --apply [--output <saved.json>] [--json]","openpond training pull-project <hosted-model-project-id> --profile <local-profile-id> [--snapshot-file <verified-package-and-projection.json>] [--json]","openpond training projects [--profile <local-profile-id>] [--json]","openpond training inspect-project <local-model-project-id> [--profile <local-profile-id>] [--json]","openpond training create-project <taskset-id> --recipe <path> [--project-id <id>] [--profile <id>] [--name <name>] [--objective <text>] [--destination <id>] [--rollout-placement <local|remote>] [--gpu-placement-objective <fast|balanced|economical>] [--run-preset <preset>] [--max-spend <usd>] [--retention-days <days>] [--json]","openpond training start <hosted-model-project-id> --team-id <id> --batch-id <id> [--max-spend <usd>] [--gpu-type <type> --availability-id <id> | --gpu-placement-objective <objective>] [--gpu-count <1|2>] [--yes] [--detach] [--json]","openpond training start <model-project-id> [--comparison-series-entry <entry-id>] [--manifest <path>] [--yes] [--export-approved] [--max-spend <usd>] [--retention-days <days>] [--detach] [--json]","openpond training hosted-models|hosted-batches|hosted-preparations|hosted-jobs|hosted-capabilities|hosted-gpu-catalog|hosted-hardware-catalog --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-gpu-catalog [workload-query.json] --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-drafts --team-id <id> [--project-id <id>] [--search <text>] [--archived] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-modification-capabilities <input.json> --team-id <id> [--json]","openpond training hosted-draft <draft-id> --team-id <id> [--json]","openpond training hosted-save-draft <input.json> --team-id <id> [--json]","openpond training hosted-archive-draft <draft-id> --team-id <id> --operation-id <id> --expected-revision <n> [--json]","openpond training hosted-executions --team-id <id> [--project-id <id>] [--dataset-hash <sha256>] [--search <text>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-modification-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--method <neuron_steering|inspect_activations>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-modification-execution <execution-id> --team-id <id> [--json]","openpond training hosted-compare-modification <execution-id> --team-id <id> --baseline <variant-id> --candidate <variant-id> [--prompt <prompt-id>] [--json]","openpond training hosted-alphaedit-capability <query.json> --team-id <id> [--json]","openpond training hosted-compile-alphaedit <input.json> --team-id <id> [--json]","openpond training hosted-prepare-alphaedit <input.json> --team-id <id> [--json]","openpond training hosted-start-alphaedit <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-alphaedit <input.json> --team-id <id> [--json]","openpond training hosted-alphaedit-execution <execution-id> --team-id <id> [--json]","openpond training hosted-alphaedit-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-save-alphaedit-model <input.json> --team-id <id> [--json]","openpond training hosted-alphaedit-serving <selection.json> --team-id <id> [--json]","openpond training hosted-control-alphaedit-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-neuron-training-capability <query.json> --team-id <id> [--json]","openpond training hosted-compile-neuron-training <input.json> --team-id <id> [--json]","openpond training hosted-prepare-neuron-training <input.json> --team-id <id> [--json]","openpond training hosted-start-neuron-training <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-neuron-training <input.json> --team-id <id> [--json]","openpond training hosted-neuron-training-execution <execution-id> --team-id <id> [--json]","openpond training hosted-neuron-training-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-save-neuron-training-model <input.json> --team-id <id> [--json]","openpond training hosted-neuron-training-serving <selection.json> --team-id <id> [--json]","openpond training hosted-control-neuron-training-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-engram-capability <query.json> --team-id <id> [--json]","openpond training hosted-compile-engram <input.json> --team-id <id> [--json]","openpond training hosted-prepare-engram <input.json> --team-id <id> [--json]","openpond training hosted-start-engram <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-engram <input.json> --team-id <id> [--json]","openpond training hosted-engram-execution <execution-id> --team-id <id> [--json]","openpond training hosted-engram-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-save-engram-model <input.json> --team-id <id> [--json]","openpond training hosted-decision-capability <query.json> --team-id <id> [--json]","openpond training hosted-compile-decision <input.json> --team-id <id> [--json]","openpond training hosted-prepare-decision <input.json> --team-id <id> [--json]","openpond training hosted-start-decision <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-decision <input.json> --team-id <id> [--json]","openpond training hosted-decision-execution <execution-id> --team-id <id> [--json]","openpond training hosted-decision-executions --team-id <id> [--id <execution-id>] [--project-id <id>] [--mode <train|score>] [--phase <phase>] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-save-decision-model <input.json> --team-id <id> [--json]","openpond training hosted-score-decision <command.json> --team-id <id> --yes [--json]","openpond training hosted-decision-serving <selection.json> --team-id <id> [--json]","openpond training hosted-control-decision-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-compile-modification <input.json> --team-id <id> [--json]","openpond training hosted-prepare-modification <input.json> --team-id <id> [--json]","openpond training hosted-start-modification <input.json> --team-id <id> --yes [--json]","openpond training hosted-cancel-modification <input.json> --team-id <id> [--json]","openpond training hosted-preparations --team-id <id> [--project-id <id>] [--cursor <id>] [--limit <1..100>] [--json]","openpond training hosted-preparation <preparation-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-cancel-preparation <receipt.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-learning-inspect <model-project-id> --team-id <id> [--cursor <id>] [--limit <1..100>] [--api-base-url <url>] [--json]","openpond training hosted-corrections <model-project-id> --team-id <id> [--run-id <id>] [--api-base-url <url>] [--json]","openpond training hosted-workers --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-hardware --team-id <id> [--worker-id <id>] [--job-id <id>] [--limit <1..50>] [--cursor <worker-id>] [--api-base-url <url>] [--watch --interval-ms <100..60000> --timeout-ms <1000..60000>] [--json]","openpond training hosted-serving-pools --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-base-serving-prepare <base-profile.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-serving-pool-retire <pool-and-reason.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-provider|hosted-quotes --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-worker <physical-worker-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-worker-adopt <reserved-pod-and-job.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-worker-rebind <worker-and-job.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-worker-enroll|hosted-worker-verify <physical-worker-id> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-worker-stop|hosted-worker-resume|hosted-worker-retire|hosted-worker-warm-idle|hosted-worker-retain-session <control.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-tasksets [taskset-id] --team-id <id> [--project-id <id>] [--cursor <cursor>] [--limit <1..100>] [--search <text>] [--api-base-url <url>] [--json]","openpond training hosted-model <model-project-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-sync-model <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-publish-taskset <publication.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-review-dataset <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-evaluate-checkpoint <request.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-prepare|hosted-prepare-experiment|hosted-stage|hosted-submit <input.json> --team-id <id> [--api-base-url <url>] [--yes] [--json]","openpond training hosted-start <preparation.json> --team-id <id> [--estimate-review-file <estimate-or-review.json>] --yes [--api-base-url <url>] [--json]","openpond training hosted-save-experiment-learning <request.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-qualify <input.json> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-trajectory <job-id> --trajectory-id <receipt-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-feedback <job-id> --trajectory-id <receipt-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-feedback <job-id> --evaluation-id <id> --task-id <id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-save-steering-model <input.json> --team-id <id> [--json]","openpond training hosted-saved-model-serving <selection.json> --team-id <id> [--json]","openpond training hosted-control-steering-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-control-engram-serving <command.json> --team-id <id> [--yes] [--json]","openpond training hosted-import-calibration <input.json> --team-id <id> [--json]","openpond training hosted-calibration <calibration-id> --team-id <id> [--json]","openpond training hosted-calibrations --team-id <id> [--project-id <id>] [--model-hash <sha256>] [--archived] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-archive-calibration <command.json> --team-id <id> [--json]","openpond training hosted-steering-profiles --team-id <id> [--project-id <id>] [--model-project-id <id>] [--archived] [--cursor <cursor>] [--limit <1..100>] [--json]","openpond training hosted-steering-profile <profile-id> --team-id <id> [--json]","openpond training hosted-archive-steering-profile <input.json> --team-id <id> [--json]","openpond training hosted-model-version <model-project-id> --team-id <id> [--version-hash <sha256>] [--json]","openpond training hosted-save-model <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-saved-model <model-project-id> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-model-serving <input.json> --team-id <id> [--api-base-url <url>] [--json]","openpond training hosted-control-model-serving <input.json> --team-id <id> [--yes] [--api-base-url <url>] [--json]","openpond training hosted-status|hosted-result|hosted-inspect|hosted-report|hosted-watch|hosted-cancel|hosted-artifacts|hosted-logs|hosted-events <job-id> --team-id <id> [--api-base-url <url>] [--interval-ms <ms>] [--json]","openpond training hosted-recover <input.json> --team-id <id> --yes [--api-base-url <url>] [--json]","openpond training hosted-stop-after-group <job-id> --team-id <id> [--api-base-url <url>] --yes [--json]","openpond training hosted-evaluation-tasks <job-id> --evaluation-id <id> --team-id <id> [--cursor <cursor>] [--limit <1..100>] [--api-base-url <url>] [--json]","openpond training hosted-watch <job-id> --team-id <id> [--deadline-at <ISO-time>] [--cleanup-reserve-ms <ms>] [--wait-for-cleanup] [--cancel-on-infrastructure-error] [--cleanup-timeout-ms <ms>] [--interval-ms <ms>] [--json]","openpond training status <run-id> [--json]","openpond training watch <run-id> [--interval-ms <ms>] [--json]","openpond training logs <run-id> [--json]","openpond training cancel <run-id> [--json]","openpond training resume <model-run-id> [--json]","openpond training artifacts <run-id> [--json]","openpond training benchmark <model-id> [--provider <id>] [--model <id>] [--reasoning-effort <level>] [--max-spend <usd>] [--json]"],optionSchema:{archived:"boolean",expectedRevision:"integer",datasetHash:"string",id:"string",mode:"string",phase:"string",versionHash:"string",search:"string",apiBaseUrl:"string",batchId:"string",operationId:"string",workerId:"string",jobId:"string",gpuType:"string",gpuCount:"string",availabilityId:"string",apply:"boolean",dryRun:"boolean",output:"string",comparisonSeriesEntry:"string",baseline:"string",candidate:"string",prompt:"string",snapshotFile:"string",estimateReviewFile:"string",teamId:"string",account:"string",detach:"boolean",destination:"string",exportApproved:"boolean",gpuPlacementObjective:"string",intervalMs:"integer",watch:"boolean",timeoutMs:"integer",deadlineAt:"string",cleanupReserveMs:"integer",waitForCleanup:"boolean",cleanupTimeoutMs:"integer",cancelOnInfrastructureError:"boolean",trajectoryId:"string",evaluationId:"string",taskId:"string",runId:"string",cursor:"string",limit:"integer",json:"boolean",manifest:"string",maxSpend:"number",model:"string",modelProjectId:"string",name:"string",objective:"string",profile:"string",projectId:"string",provider:"string",recipe:"string",reasoningEffort:"string",retentionDays:"integer",rolloutPlacement:"string",runPreset:"string",yes:"boolean"},handler:t(async({options:o,rest:n})=>n[0]==="hosted-hardware"?(await import("./training-hardware-MR4FUC4U.js")).runHardwareObservations(o,n):(await import("./training-2LUQ2IZM.js")).runTrainingCommand(o,n),"handler")};var i="boolean",p="integer",m="json",g="number",e="string",I={agent:e,approvalPolicy:e,cwd:e,json:i,maxOutputBytes:p,message:e,messageFile:e,model:e,noServerStart:i,nonInteractive:i,project:e,provider:e,resume:e,sandbox:e,server:e,stdin:i,timeoutSec:p,yes:i},k={access:e,agentId:e,all:i,artifactPaths:e,async:i,authHeader:e,authHeaderValue:e,authToken:e,autoStart:i,baseRef:e,branch:e,budget:g,budgetUsd:g,cleanup:i,cols:p,command:e,content:e,contentBase64:e,contents:e,contentsBase64:e,cpu:g,create:i,description:e,diskGb:g,checkpointCustodyId:e,expectedSourceUpdatedAt:e,replaceStoppedRoot:i,operationId:e,restoreIntentSha256:e,maximumUsd:e,executionUntil:e,retentionClass:e,retentionTtlSeconds:p,retentionTermsSha256:e,retentionMaxUsd:e,dockerBuildArgs:m,dockerRegistrySecretRefs:e,dockerfile:e,dockerfileContext:e,dockerfileTarget:e,domain:e,env:e,environment:e,envLiteral:e,envName:e,envRef:e,expectedMppMode:e,expectedVersion:p,failOnUnpreservedChanges:i,ffOnly:i,forceWithLease:i,fork:i,fromPath:e,idempotencyKey:e,idleTimeoutSeconds:p,image:e,imageDigest:e,input:e,inputBase64:e,integrationCapabilities:e,integrationConnection:e,integrationScopes:e,intervalMs:p,json:i,keep:i,label:e,leaseId:e,lifecycleHint:m,manifestPath:e,maxDurationSeconds:p,maxEntries:g,maxResults:g,offsetBytes:p,maxBytes:p,memoryGb:g,message:e,name:e,noPreview:i,overwrite:i,params:m,path:e,paths:e,payload:m,port:p,preview:i,projectId:e,publish:i,q:e,query:e,rebase:i,recursive:i,registrySecretRef:e,remote:e,replayState:e,repo:e,respondAsync:i,rows:p,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProfileId:e,runtimeProjectId:e,runtimePromotionPolicy:e,runtimeWorkspaceRoot:e,sandboxId:e,scope:e,since:p,snapshot:i,snapshotId:e,sourceProjectId:e,sourceRepoUrl:e,sourceSandboxId:e,startPoint:e,status:e,stdin:i,summary:i,tag:e,tags:e,targetId:e,targetType:e,teamId:e,templateName:e,templateVersion:e,templateVisibility:e,timeoutSeconds:p,toPath:e,type:e,useCase:e,validationCommand:e,value:e,version:e,volumeDeleteOnSandboxDelete:i,volumeMountPath:e,volumeName:e,volumeStorageGb:g,workflowMode:e},O={action:e,agentId:e,budget:g,budgetUsd:g,build:e,branch:e,commit:i,commitMessage:e,description:e,dir:e,disableSchedule:e,disableSchedules:e,enableSchedule:e,enableSchedules:e,entrypoint:e,env:m,envRef:e,file:e,force:i,idleTimeoutSeconds:p,inherit:i,input:m,inputFile:e,inputFiles:e,inputJson:m,inputs:m,json:i,keepTokenRemote:i,manifest:e,maxDurationSeconds:p,name:e,noPush:i,noWrite:i,out:e,outDir:e,output:e,outputDir:e,params:m,path:e,plan:e,projectId:e,repo:e,runtimeAgentId:e,runtimeBaseBranch:e,runtimeBaseSha:e,runtimeId:e,runtimeProjectId:e,runtimePromotionPolicy:e,scheduleMode:e,scheduleOverride:m,scheduleOverrides:m,schedules:e,service:e,setRemoteToken:i,setupTimeoutSeconds:p,target:e,teamId:e,timeoutSeconds:p,token:e,workflowMode:e,yes:i},P={branch:e,commitMessage:e,defaultBranch:e,description:e,gitOwner:e,gitRepo:e,internalRepoPath:e,json:i,name:e,path:e,projectId:e,repo:e,sourceCheckDispatch:e,sourceType:e,teamId:e,templateRepoUrl:e},A={agentId:e,agentEdit:m,allowLatestSource:i,allowedActions:e,attachmentsJson:m,baseSha:e,chatMode:e,checkKind:e,conversationId:e,cwd:e,dispatch:e,entrypointName:e,entrypointScope:e,expectedManifestHash:e,evalStatus:e,expectedSourceCommitSha:e,idempotencyKey:e,input:m,inputFile:e,json:i,limit:p,message:e,metadata:m,name:e,path:e,payload:m,projectId:e,prompt:e,provider:e,publishedSnapshotId:e,ref:e,requirePublishedSnapshot:i,requiredEnv:e,requiredIntegrations:e,runtimePromotionPolicy:e,runtimeSourceMode:e,sourceCheckDispatch:e,sourceMode:e,sourceRef:e,status:e,targetProjectId:e,teamId:e,triggerType:e,workflowMode:e};var b={account:"string",apiBaseUrl:"string",apiBaseurl:"string",baseUrl:"string",baseurl:"string",chatApiBaseUrl:"string",chatApiBaseurl:"string",checkUpdate:"boolean",cwd:"string",help:"boolean",home:"string",json:"boolean",profile:"string",sandboxApiUrl:"string",sandboxApiurl:"string",tui:"boolean",version:"boolean"},Q={C:"cwd",f:"force",h:"help",j:"json",v:"version",y:"yes"},_={cwd:"string",input:"json",inputFile:"string",json:"boolean",path:"string"},y=[{name:"learning",usage:`openpond learning <get|list> <kind> [id] --team-id <id> [--revision <n>] [--after-id <id>]
|
|
3
|
+
openpond learning <command|publish-batch> --input-file <absolute-path> --team-id <id>`,optionSchema:{inputFile:"string",teamId:"string",revision:"integer",afterId:"string",parentId:"string",status:"string",limit:"integer"},handler:t(async({options:o,rest:n})=>(await import("./learning-OR4CYV4B.js")).runLearningCommand(o,n),"handler")},{name:"tool-learning",usage:"openpond tool-learning <setup|run|register|install|doctor|status|routing|configure|append|flush|episodes|episode|project|disable|enable|revoke|purge|uninstall> [installation-id] [episode-id] [--input-file <absolute-path>] [--team-id <id>] [--workspace <absolute-path>] [--client claude_code|opencode|codex|openpond] [--prompt <codex-task>] [--model <codex-model>] [--sandbox read-only|workspace-write]",optionSchema:{prompt:"string",model:"string",sandbox:"string",client:"string",tools:"string",allowUpload:"boolean",inputFile:"string",teamId:"string",projectId:"string",workspace:"string",environmentFile:"string",expiresAt:"string",after:"string",timeoutSec:"integer"},handler:t(async({options:o,rest:n})=>(await import("./command-54MMVWS2.js")).runToolLearningCommand(o,n),"handler")},{name:"import",usage:"openpond import <connect|reconnect|discover|status|conversations|coverage|sync|schedule|cancel|pause|resume|disconnect|branches|branch|service> [id] [--source <name>] [--source-path <path>] [--range day|week|all] [--upload] [--selection-file <path>] [--query <text>] [--offset <number>] [--until <ISO-cutoff>] [--team <id>] [--project <id>] [--session <native-id>] [--leaf <uuid>] [--revision <hash>] [--continual [--daily|--weekly|--hourly|--cron <expression>] [--at HH:MM] [--on sun|mon|tue|wed|thu|fri|sat]] [--off] [--yes]",optionSchema:{source:"string",sourcePath:"string",range:"string",upload:"boolean",selectionFile:"string",query:"string",offset:"string",until:"string",team:"string",project:"string",session:"string",leaf:"string",revision:"string",continual:"boolean",daily:"boolean",weekly:"boolean",hourly:"boolean",cron:"string",at:"string",on:"string",off:"boolean",scheduled:"boolean",yes:"boolean",connection:"string",collectorDir:"string",json:"boolean"},handler:t(async({options:o,rest:n})=>(await import("./import-IWDEDLM3.js")).runImportCommand(o,n),"handler")},{name:"datasets",usage:`openpond datasets <context|select|select-model|select-destination|new-experiment|select-experiment|rename-experiment|schema|list|read|create|save|file|validate|check-graders|check-sources|package|import|inspect-source|import-source|list-graders|read-grader|save-grader|test-grader|upload|publish|sync|pause-sync|disconnect-sync|related-chats> [id] --local [--server-url <loopback-origin>] [--input-file <path>] [--operation-id <id>] [--expected-revision <n>] [--json]
|
|
4
4
|
openpond datasets <upload|save|read|list|validate|publish|preparation> [folder|id] --team <id> --api-base-url <origin> [--operation-id <id>] [--expected-revision <n>] [--publish] [--project <id>] [--dataset-id <id>] [--input-file <path>]
|
|
5
|
-
openpond datasets preparation <grant-create|grant-read|create|read|list|candidates|operation|start|pause|resume|cancel|resolve|release> <dataset-id> [run-or-grant-id] --team <id> --api-base-url <origin> [--input-file <path>] [--operation-id <id>] [--expected-revision <n>] [--cursor <id>]`,optionSchema:{team:"string",operationId:"string",expectedRevision:"integer",publish:"boolean",project:"string",datasetId:"string",graderId:"string",limit:"integer",offset:"integer",cursor:"string",workspaceHash:"string",packageHash:"string",inputFile:"string",json:"boolean",local:"boolean",serverUrl:"string"},handler:t(async({options:o,rest:n})=>(await import("./datasets-
|
|
5
|
+
openpond datasets preparation <grant-create|grant-read|create|read|list|candidates|operation|start|pause|resume|cancel|resolve|release> <dataset-id> [run-or-grant-id] --team <id> --api-base-url <origin> [--input-file <path>] [--operation-id <id>] [--expected-revision <n>] [--cursor <id>]`,optionSchema:{team:"string",operationId:"string",expectedRevision:"integer",publish:"boolean",project:"string",datasetId:"string",graderId:"string",limit:"integer",offset:"integer",cursor:"string",workspaceHash:"string",packageHash:"string",inputFile:"string",json:"boolean",local:"boolean",serverUrl:"string"},handler:t(async({options:o,rest:n})=>(await import("./datasets-RZBRILIN.js")).runDatasetsCommand(o,n),"handler")},{name:"connected-evidence",usage:"openpond connected-evidence <list|collection|recorded-list|recorded|import-receipt|capture-assets|retain-assets|starting-assets|summary|case|unmapped|capture|selection|publish|prepare-recorded|upload-part|preview|commit|set-collection> [id] --team <id> [--input-file <path>] [--project <id>] [--cursor <id>] [--limit <n>]",optionSchema:{team:"string",inputFile:"string",project:"string",cursor:"string",limit:"integer"},handler:t(async({options:o,rest:n})=>(await import("./connected-evidence-EVZTMVHV.js")).runConnectedEvidenceCommand(o,n),"handler")},{name:"improve",usage:"openpond improve <list|read|instructions|request> [id] --team <id> --actor <owner-id> [--input-file <path>] [--cursor <id>] [--limit <n>] [--local --server-url <loopback-origin>]",optionSchema:{team:"string",actor:"string",inputFile:"string",cursor:"string",limit:"integer",local:"boolean",serverUrl:"string"},handler:t(async({options:o,rest:n})=>(await import("./experiment-improvements-JBYCVRYR.js")).runExperimentImprovementsCommand(o,n),"handler")},{name:"evaluation-schedules",usage:"openpond evaluation-schedules <list|read|request> [id] --team <id> --actor <id> --local [--server-url <loopback-origin>] [--project <id>] [--input-file <path>] [--cursor <id>] [--limit <n>]",optionSchema:{team:"string",actor:"string",local:"boolean",serverUrl:"string",project:"string",inputFile:"string",cursor:"string",limit:"integer"},handler:t(async({options:o,rest:n})=>(await import("./evaluation-coordination-43DTVJFD.js")).runEvaluationCoordinationCommand("schedule",o,n),"handler")},{name:"evaluate-refiner",usage:"openpond evaluate-refiner <list|read|cancel|resume|request> [id] --team <id> --actor <id> --local [--server-url <loopback-origin>] [--project <id>] [--input-file <path>]",optionSchema:{team:"string",actor:"string",local:"boolean",serverUrl:"string",project:"string",inputFile:"string"},handler:t(async({options:o,rest:n})=>(await import("./evaluation-coordination-43DTVJFD.js")).runEvaluationCoordinationCommand("refiner",o,n),"handler")},{name:"human-review",usage:"openpond human-review <read|inbox|inspect|results|request> [id] --team <id> [--input-file <path>] [--view <mine|team|approval>] [--status <active|history>] [--project <id>] [--revision <n>] [--slot <0|1>] [--after-id <id>] [--limit <n>] [--local --server-url <loopback-origin>]",optionSchema:{team:"string",inputFile:"string",view:"string",status:"string",project:"string",revision:"integer",slot:"integer",afterId:"string",limit:"integer",local:"boolean",serverUrl:"string"},handler:t(async({options:o,rest:n})=>(await import("./human-review-HTHWLUNA.js")).runHumanReviewCommand(o,n),"handler")},{name:"experiments",usage:`openpond experiments <signal-plan|signal-report> --input-file <path> [--json]
|
|
6
6
|
openpond experiments <models|run|run-cloud|list|read|status|cancel|result|compare|case> [id] [candidate-id] --local [--server-url <loopback-origin>] [--input-file <path>] [--receipt-id <id>] [--json]
|
|
7
7
|
openpond experiments <record-modification|modification|modifications> [id] --local --team <id> [--input-file <command.json>] [--project <id>] [--search <text>] [--cursor <opaque>] [--limit <1..100>] [--json]
|
|
8
8
|
openpond experiments <profile-catalog|prepare-profile|run-profile|inspect-profile> --local [--server-url <loopback-origin>] [--input-file <path>] [--json]
|
|
9
|
-
openpond experiments <prepare-harness|run|read|list|status|diagnostics|cancel|duplicate|score|passes|pass|cancel-pass|pass-result|result|compare|case> [id] [candidate-id] --team <id> [--input-file <path>] [--operation-id <id>] [--local --server-url <loopback-origin>] [--receipt-id <id>] [--json]`,usages:["Local activation observations: record-modification retains a verified {schemaVersion: openpond.modificationRecordingRequest.v1, teamId, operationId, name, projectId, method, request, result} command of at most 8 MiB. Reuse the exact command/operationId after a lost reply. modification reads one immutable record; modifications lists owner-scoped metadata. Measurements remain externally supplied, ungraded and on this device; these commands never start hosted execution.","Case inspection: experiments case <run-id> --local --receipt-id <retained-receipt-id> [--after-sequence <nonnegative-integer>] [--limit <1..500>] --json. Only compare accepts a second positional run id; a task id is not a receipt id.","Find retained receipt IDs with experiments result <run-id> --local --json (independent saved Dataset runs: evidence.cases[].receiptId; workspace runs: cases[].receiptId). Case inspection reads retained output/grading/trace and never executes inference or grading.",'Independent saved Dataset input (use --local without --team): {"datasetId":"<saved-id>","revision":3,"operationId":"reviewed-evaluation-1","maximumCostUsd":1,"taskLimit":10,"seed":0,"maxOutputTokens":1024,"models":[{"providerId":"openpond","modelId":"<exact catalog id>"}]}',"Resolve models with experiments models --local --json; use each entry's providerId and id as modelId. Supported providers: openpond, custom-openai-compatible, claude-code, codex. Select 1\u20138 distinct models.","Input bounds: positive saved revision; operationId 1\u2013120 characters; taskLimit 1\u2013100 (default 10, first saved tasks); seed 0\u20132147483647 (default 0); maxOutputTokens 1\u2013262144 (default 1024, capped by the selected model). Dataset revision pins its graders; no configuration/request wrapper is accepted here.","maximumCostUsd is a positive total ceiling up to 10000, divided across selected models and covering metered inference/grading. Use the authorized ceiling; the example is illustrative. It may be omitted only when every model is codex and the Dataset has no model-judge grader; subscription dollar cost remains unknown.","Prepare only: read datasets context/read/check-graders and experiments models, then write and review the input file. There is no independent Dataset prepare/dry-run command. experiments run --local --input-file <path> executes; reuse operationId only for the exact same input after reconciling status.","--team uses the workspace configuration contract instead. prepare-harness and prepare-profile prepare their released Harness/Profile workflows, not independent saved Dataset inputs."],optionSchema:{cursor:"string",team:"string",inputFile:"string",operationId:"string",project:"string",datasetHash:"string",search:"string",status:"string",afterId:"string",afterCallId:"string",limit:"integer",json:"boolean",local:"boolean",serverUrl:"string",receiptId:"string",afterSequence:"integer",revision:"integer",contentHash:"string"},handler:t(async({options:o,rest:n})=>(await import("./experiments-3S2BVNK6.js")).runExperimentsCommand(o,n),"handler")},{name:"home",usage:"openpond home [--home <directory>]",optionSchema:{},handler:t(async()=>console.log((await import("./dist-DKE7RJZN.js")).resolveOpenPondHome()),"handler")},{name:"config",usage:"openpond config <get|set|unset|path|validate|schema|doctor|migrate|recover|restart-migration|revisions|replace|effective|trust|untrust|export|backup|restore|collect-orphans|clear-cache> [key] [value] [--home <directory>] [--json]",optionSchema:{keyPath:"json",value:"string",file:"string",project:"boolean",revision:"string",expectedRevision:"string",sourceAppHome:"string",sourceConfig:"string",sourceBrowserState:"string",dryRun:"boolean"},handler:t(async({options:o,rest:n})=>(await import("./configuration-command-VJUK34UQ.js")).runConfigurationCommand(o,n),"handler")},{name:"help",usage:"openpond help",optionSchema:{},handler:t(async()=>(await import("./help-Q2VMJVTR.js")).printHelp(),"handler")},{name:"version",usage:"openpond version",optionSchema:{},handler:t(()=>console.log(x()),"handler")},{name:"check-update",usage:"openpond check-update",optionSchema:{},handler:t(async()=>(await import("./core-commands-5DYMDWXY.js")).runCheckUpdate(),"handler")},{name:"login",usage:"openpond login [--base-url <url>]",optionSchema:b,handler:t(async({options:o})=>(await import("./core-commands-5DYMDWXY.js")).runLogin(o),"handler")},{name:"init",usage:"openpond init [--path <dir>] [--profile <name>] [--template <name>] [--force] [--json]",optionSchema:{...b,force:"boolean",path:"string",template:"string"},handler:t(async({options:o})=>(await import("./profile-GYYI555I.js")).runOpenPondInitCommand(o),"handler")},{name:"profile",usage:"openpond profile <current|init|load|check|push|commit|diff|catalog>",optionSchema:{checkKind:"string",conversationId:"string",ensureHosted:"boolean",expectedManifestHash:"string",force:"boolean",hostedCheckKind:"string",hostedRunAgentId:"string",hostedRunConversationId:"string",hostedRunIdempotencyKey:"string",hostedRunInput:"json",hostedRunRetry:"boolean",hostedRunTargetProjectId:"string",hostedSourceDispatch:"string",hostedSourceAgentId:"string",hostedSourceChecks:"boolean",hostedSourceProjectId:"string",json:"boolean",kind:"string",path:"string",publishHostedSource:"boolean",teamId:"string"},handler:t(async({options:o,rest:n})=>(await import("./profile-GYYI555I.js")).runOpenPondProfileCommand(o,n),"handler")},{name:"agents",usage:"openpond agents [--json]",optionSchema:{json:"boolean"},handler:t(async({options:o,rest:n})=>(await import("./profile-GYYI555I.js")).runOpenPondAgentsCommand(o,n),"handler")},{name:"actions",usage:"openpond actions <check|build|run|dev|publish> [action-id] [--cwd DIR] [--input JSON|--input-file PATH]",optionSchema:{apiKey:"string",baseUrl:"string",cwd:"string",input:"string",inputFile:"string",json:"boolean",outputDirectory:"string",sourceDirectory:"string",sourceCommitSha:"string",sourceRef:"string",projectId:"string",teamId:"string",timeoutMs:"integer"},handler:t(async({options:o,rest:n})=>(await import("./actions-command-AXGXBU75.js")).runProjectActionsCommand(o,n),"handler")},...U(),{name:"extension",usage:"openpond extension <add|preview|list|inspect|update|remove> [owner/repo]",usages:["openpond extension add <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update --all [--json]","openpond extension remove <owner/repo> [--json]"],optionSchema:{all:"boolean",json:"boolean",ref:"string"},handler:t(async({options:o,rest:n})=>(await import("./extension-3EKIT6BB.js")).runOpenPondExtensionCommand(o,n),"handler")},{name:"profiles",usage:"openpond profiles [args]",optionSchema:{json:"boolean"},handler:t(async({options:o,rest:n})=>(await import("./core-commands-5DYMDWXY.js")).runProfiles(o,n),"handler")},{name:"account",usage:"openpond account",usages:["openpond account context [--account <handle>] [--base-url <url>] [--api-base-url <url>] [--json]"],optionSchema:{json:"boolean"},handler:t(async({options:o,rest:n})=>{if(n[0]==="context"&&n.length===1)return(await import("./account-context-LEZDNYMR.js")).runAccountContext(o);if(n.length)throw new Error("usage: account [context]");return(await import("./core-commands-5DYMDWXY.js")).runAccount()},"handler")},{name:"health",usage:"openpond health",optionSchema:{json:"boolean"},handler:t(async({options:o})=>(await import("./core-commands-5DYMDWXY.js")).runHealth(o),"handler")},{name:"acp",usage:"openpond acp [--home DIR] [--model ID] [--login]",optionSchema:{home:"string",model:"string",login:"boolean",apiKey:"string"},handler:t(async({options:o,rest:n})=>(await import("./acp-7A2UPCG5.js")).runAcpCommand(o,n),"handler")},{name:"app-server",usage:"openpond app-server [--home DIR]",optionSchema:{home:"string"},handler:t(async({options:o,rest:n})=>(await import("./app-layer-DUCNCJ2X.js")).runOpenPondServerCommand("app-server",o,n),"handler")},{name:"serve",usage:"openpond serve [args]",optionSchema:{host:"string",hostname:"string",listen:"string",port:"integer"},handler:t(async({options:o,rest:n})=>(await import("./app-layer-DUCNCJ2X.js")).runOpenPondServerCommand("serve",o,n),"handler")},{name:"ui",usage:"openpond ui [--no-open] [--hostname HOST] [--port PORT]",optionSchema:{host:"string",hostname:"string",listen:"string",noOpen:"boolean",port:"integer",webRoot:"string"},handler:t(async({options:o,rest:n})=>(await import("./app-layer-DUCNCJ2X.js")).runOpenPondServerCommand("web",o,n),"handler")},{name:"tui",aliases:["interactive"],usage:"openpond tui [--provider <id>] [--model <id>] [--project <id>]",optionSchema:{cwd:"string",model:"string",noServerStart:"boolean",project:"string",provider:"string",server:"string"},handler:t(async({options:o,rest:n})=>(await import("./app-layer-DUCNCJ2X.js")).runOpenPondTerminalCommand(o,n),"handler")},{name:"chat",usage:"openpond chat (--message-file <path>|--message <text>|--stdin) --non-interactive [--provider <id>] [--model <id>] [--agent <id>] [--project <id>] [--resume <session-id>] [--yes] [--approval-policy <policy>] [--json] [--timeout-sec <n>] [--max-output-bytes <n>] [--sandbox <mode>]",optionSchema:I,handler:t(async({options:o,rest:n})=>(await import("./app-layer-DUCNCJ2X.js")).runOpenPondTerminalCommand(o,n),"handler")},{name:"tool",usage:"openpond tool <list|run> <handle>/<repo> [args]",optionSchema:{body:"json",json:"boolean"},handler:q},{name:"backtest",usage:"openpond backtest <run|events|get> <handle>/<repo> [args]",optionSchema:{body:"json",branch:"string",deploymentId:"string",limit:"integer",runId:"string"},handler:L},{name:"deploy",usage:"openpond deploy watch <handle>/<repo> [--branch <branch>]",optionSchema:{branch:"string"},handler:F},{name:"template",usage:"openpond template <status|branches|update> <handle>/<repo> [--env preview|production]",optionSchema:{env:"string"},handler:K},{name:"sandbox-template",usage:"openpond sandbox-template <command> [args]",optionSchema:O,handler:t(async({options:o,rest:n})=>(await import("./sandbox-template-TSXWJMWG.js")).runSandboxTemplateCommand(o,n),"handler")},{name:"repo",usage:"openpond repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]",optionSchema:{branch:"string",name:"string",path:"string"},handler:G},{name:"organizations",aliases:["organization"],usage:"openpond organizations <login|list|use|logout|whoami> [args]",optionSchema:{accessToken:"string",arguments:"json",callbackPort:"integer",clientId:"string",customDomain:"string",displayName:"string",email:"string",env:"string",environment:"string",json:"boolean",name:"string",open:"boolean",origin:"string",primaryContactEmail:"string",printToken:"boolean",resourceUrl:"string",role:"string",scope:"string",scopes:"string",slug:"string",status:"string",timeout:"integer",timeoutSeconds:"integer",tool:"string",toolName:"string",toolset:"string",url:"string"},handler:t(async({options:o,rest:n})=>(await import("./organizations-PYKGA2P2.js")).runOrganizationsCommand(o,n),"handler")},{name:"project",usage:"openpond project <list|create|upsert|get|update|sync|source-upload|archive> [args]",optionSchema:P,handler:t(async({options:o,rest:n})=>(await import("./project-agent-4ISJFMJD.js")).runProjectCommand(o,n),"handler")},{name:"agent",usage:"openpond agent <inspect|build|validate|eval|traces|list|create|upsert|get|update|run|run-test|bind-source|source|archive> [args]",usages:["openpond agent run <action> [--cwd <project>] [--input <json>]","openpond agent run <agentId> --team-id <id> [--conversation-id <id>] [--target-project-id <projectId>] [--input <json>]","openpond agent source checks <agentId> --team-id <id> [--check-kind <kind>]","openpond agent source publish <agentId> --team-id <id> [--expected-manifest-hash <hash>]"],optionSchema:A,handler:t(async({options:o,rest:n})=>(await import("./project-agent-4ISJFMJD.js")).runAgentCommand(o,n),"handler")},{name:"desktop-test",usage:"openpond desktop-test <run|attach> <scenario...> [--isolated|--attach|--packaged|--none] [--app <path>] [--artifacts-dir <path>] [--json <path>]",optionSchema:{artifactsDir:"string",attach:"boolean",cwd:"string",devtoolsPort:"integer",grep:"string",isolated:"boolean",json:"string",jsonPath:"string",keepHome:"boolean",none:"boolean",server:"string",timeoutMs:"integer",token:"string",tokenFile:"string"},handler:t(async({options:o,rest:n})=>(await import("./desktop-test-RIG4CB2Z.js")).runDesktopTestCommand(o,n),"handler")},{name:"sandbox",usage:"openpond sandbox <command> [args]",optionSchema:k,handler:t(async({options:o,rest:n})=>(await import("./sandbox-command-4J6DAY7T.js")).runSandboxCommand(o,n),"handler")},{name:"continual",usage:"openpond continual <init|validate|run|report> [manifest-or-series-id]",usages:["openpond continual init --from <tasks.jsonl> [--output <continual-support.yaml>] [--non-interactive]","openpond continual validate <continual-support.yaml> [--json]","openpond continual run <continual-support.yaml> [--api-base-url <url>] [--json]","openpond continual report <comparison-series-id> [--output <report.json>] [--json]"],optionSchema:{apiBaseUrl:"string",commit:"string",correctionCasesPerFamily:"integer",correctionSelection:"string",description:"string",from:"string",grader:"string",id:"string",json:"boolean",license:"string",name:"string",nonInteractive:"boolean",output:"string",repository:"string",seed:"string",semanticSimilarityThreshold:"number"},handler:t(async({options:o,rest:n})=>(await import("./continual-PHGIZFF6.js")).runContinualCommand(o,n),"handler")},S,{name:"taskset",usage:"openpond taskset <import|publish|readiness|delete-draft> <package-path|draft-id|taskset-id> [--profile <id>] [--model <id>] [--json]",usages:["openpond taskset import <package-directory|taskset.json> [--profile <id>] [--json]","openpond taskset publish <draft-id> [--model <id>] [--json]","openpond taskset readiness <taskset-id> [--json]","openpond taskset delete-draft <draft-id> [--json]"],optionSchema:{apiBaseUrl:"string",json:"boolean",model:"string",profile:"string"},handler:t(async({options:o,rest:n})=>(await import("./taskset-OVYM4QMS.js")).runTasksetCommand(o,n),"handler")},{name:"opchat",usage:`openpond opchat <provider-catalog|models|model|smoke> [args]
|
|
10
|
-
openpond opchat chat --model <id> --message <text> --team-id <id> --max-output-tokens <n> --request-id <id> --timeout-sec <1..600> --max-spend <usd> [--stream] (one bounded request; JSON receipt after completion)`,optionSchema:{compatModel:"string",compatibilityModel:"string",env:"string",environment:"string",effort:"string",json:"boolean",message:"string",teamId:"string",maxOutputTokens:"integer",maxSpend:"number",requestId:"string",timeoutSec:"integer",model:"string",opchatApiBaseUrl:"string",opchatApiUrl:"string",prompt:"string",skipStream:"boolean",skipTool:"boolean",stream:"boolean"},handler:t(async({options:o,rest:n})=>(await import("./opchat-
|
|
11
|
-
`)}t(N,"formatCliCommandUsage");function H(o){console.log(N(o))}t(H,"printCliCommandUsage");function B(o){return o.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`)}t(B,"cliOptionName");function U(){return["inspect","build","validate","eval","run"].map(n=>({name:n,usage:`openpond ${n} [args]`,optionSchema:_,handler:t(async({options:s,rest:a})=>(await import("./profile-
|
|
9
|
+
openpond experiments <prepare-harness|run|read|list|status|diagnostics|cancel|duplicate|score|passes|pass|cancel-pass|pass-result|result|compare|case> [id] [candidate-id] --team <id> [--input-file <path>] [--operation-id <id>] [--local --server-url <loopback-origin>] [--receipt-id <id>] [--json]`,usages:["Local activation observations: record-modification retains a verified {schemaVersion: openpond.modificationRecordingRequest.v1, teamId, operationId, name, projectId, method, request, result} command of at most 8 MiB. Reuse the exact command/operationId after a lost reply. modification reads one immutable record; modifications lists owner-scoped metadata. Measurements remain externally supplied, ungraded and on this device; these commands never start hosted execution.","Case inspection: experiments case <run-id> --local --receipt-id <retained-receipt-id> [--after-sequence <nonnegative-integer>] [--limit <1..500>] --json. Only compare accepts a second positional run id; a task id is not a receipt id.","Find retained receipt IDs with experiments result <run-id> --local --json (independent saved Dataset runs: evidence.cases[].receiptId; workspace runs: cases[].receiptId). Case inspection reads retained output/grading/trace and never executes inference or grading.",'Independent saved Dataset input (use --local without --team): {"datasetId":"<saved-id>","revision":3,"operationId":"reviewed-evaluation-1","maximumCostUsd":1,"taskLimit":10,"seed":0,"maxOutputTokens":1024,"models":[{"providerId":"openpond","modelId":"<exact catalog id>"}]}',"Resolve models with experiments models --local --json; use each entry's providerId and id as modelId. Supported providers: openpond, custom-openai-compatible, claude-code, codex. Select 1\u20138 distinct models.","Input bounds: positive saved revision; operationId 1\u2013120 characters; taskLimit 1\u2013100 (default 10, first saved tasks); seed 0\u20132147483647 (default 0); maxOutputTokens 1\u2013262144 (default 1024, capped by the selected model). Dataset revision pins its graders; no configuration/request wrapper is accepted here.","maximumCostUsd is a positive total ceiling up to 10000, divided across selected models and covering metered inference/grading. Use the authorized ceiling; the example is illustrative. It may be omitted only when every model is codex and the Dataset has no model-judge grader; subscription dollar cost remains unknown.","Prepare only: read datasets context/read/check-graders and experiments models, then write and review the input file. There is no independent Dataset prepare/dry-run command. experiments run --local --input-file <path> executes; reuse operationId only for the exact same input after reconciling status.","--team uses the workspace configuration contract instead. prepare-harness and prepare-profile prepare their released Harness/Profile workflows, not independent saved Dataset inputs."],optionSchema:{cursor:"string",team:"string",inputFile:"string",operationId:"string",project:"string",datasetHash:"string",search:"string",status:"string",afterId:"string",afterCallId:"string",limit:"integer",json:"boolean",local:"boolean",serverUrl:"string",receiptId:"string",afterSequence:"integer",revision:"integer",contentHash:"string"},handler:t(async({options:o,rest:n})=>(await import("./experiments-5QAMBNB6.js")).runExperimentsCommand(o,n),"handler")},{name:"home",usage:"openpond home [--home <directory>]",optionSchema:{},handler:t(async()=>console.log((await import("./dist-DKE7RJZN.js")).resolveOpenPondHome()),"handler")},{name:"config",usage:"openpond config <get|set|unset|path|validate|schema|doctor|migrate|recover|restart-migration|revisions|replace|effective|trust|untrust|export|backup|restore|collect-orphans|clear-cache> [key] [value] [--home <directory>] [--json]",optionSchema:{keyPath:"json",value:"string",file:"string",project:"boolean",revision:"string",expectedRevision:"string",sourceAppHome:"string",sourceConfig:"string",sourceBrowserState:"string",dryRun:"boolean"},handler:t(async({options:o,rest:n})=>(await import("./configuration-command-SAGJMI3I.js")).runConfigurationCommand(o,n),"handler")},{name:"help",usage:"openpond help",optionSchema:{},handler:t(async()=>(await import("./help-ESZC6NHQ.js")).printHelp(),"handler")},{name:"version",usage:"openpond version",optionSchema:{},handler:t(()=>console.log(x()),"handler")},{name:"check-update",usage:"openpond check-update",optionSchema:{},handler:t(async()=>(await import("./core-commands-Z27A5ZPQ.js")).runCheckUpdate(),"handler")},{name:"login",usage:"openpond login [--base-url <url>]",optionSchema:b,handler:t(async({options:o})=>(await import("./core-commands-Z27A5ZPQ.js")).runLogin(o),"handler")},{name:"init",usage:"openpond init [--path <dir>] [--profile <name>] [--template <name>] [--force] [--json]",optionSchema:{...b,force:"boolean",path:"string",template:"string"},handler:t(async({options:o})=>(await import("./profile-VJDML6I7.js")).runOpenPondInitCommand(o),"handler")},{name:"profile",usage:"openpond profile <current|init|load|check|push|commit|diff|catalog>",optionSchema:{checkKind:"string",conversationId:"string",ensureHosted:"boolean",expectedManifestHash:"string",force:"boolean",hostedCheckKind:"string",hostedRunAgentId:"string",hostedRunConversationId:"string",hostedRunIdempotencyKey:"string",hostedRunInput:"json",hostedRunRetry:"boolean",hostedRunTargetProjectId:"string",hostedSourceDispatch:"string",hostedSourceAgentId:"string",hostedSourceChecks:"boolean",hostedSourceProjectId:"string",json:"boolean",kind:"string",path:"string",publishHostedSource:"boolean",teamId:"string"},handler:t(async({options:o,rest:n})=>(await import("./profile-VJDML6I7.js")).runOpenPondProfileCommand(o,n),"handler")},{name:"agents",usage:"openpond agents [--json]",optionSchema:{json:"boolean"},handler:t(async({options:o,rest:n})=>(await import("./profile-VJDML6I7.js")).runOpenPondAgentsCommand(o,n),"handler")},{name:"actions",usage:"openpond actions <check|build|run|dev|publish> [action-id] [--cwd DIR] [--input JSON|--input-file PATH]",optionSchema:{apiKey:"string",baseUrl:"string",cwd:"string",input:"string",inputFile:"string",json:"boolean",outputDirectory:"string",sourceDirectory:"string",sourceCommitSha:"string",sourceRef:"string",projectId:"string",teamId:"string",timeoutMs:"integer"},handler:t(async({options:o,rest:n})=>(await import("./actions-command-AXGXBU75.js")).runProjectActionsCommand(o,n),"handler")},...U(),{name:"extension",usage:"openpond extension <add|preview|list|inspect|update|remove> [owner/repo]",usages:["openpond extension add <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update <owner/repo> [--ref <branch|tag|sha>] [--json]","openpond extension update --all [--json]","openpond extension remove <owner/repo> [--json]"],optionSchema:{all:"boolean",json:"boolean",ref:"string"},handler:t(async({options:o,rest:n})=>(await import("./extension-3EKIT6BB.js")).runOpenPondExtensionCommand(o,n),"handler")},{name:"profiles",usage:"openpond profiles [args]",optionSchema:{json:"boolean"},handler:t(async({options:o,rest:n})=>(await import("./core-commands-Z27A5ZPQ.js")).runProfiles(o,n),"handler")},{name:"account",usage:"openpond account",usages:["openpond account context [--account <handle>] [--base-url <url>] [--api-base-url <url>] [--json]"],optionSchema:{json:"boolean"},handler:t(async({options:o,rest:n})=>{if(n[0]==="context"&&n.length===1)return(await import("./account-context-LEZDNYMR.js")).runAccountContext(o);if(n.length)throw new Error("usage: account [context]");return(await import("./core-commands-Z27A5ZPQ.js")).runAccount()},"handler")},{name:"health",usage:"openpond health",optionSchema:{json:"boolean"},handler:t(async({options:o})=>(await import("./core-commands-Z27A5ZPQ.js")).runHealth(o),"handler")},{name:"acp",usage:"openpond acp [--home DIR] [--model ID] [--login]",optionSchema:{home:"string",model:"string",login:"boolean",apiKey:"string"},handler:t(async({options:o,rest:n})=>(await import("./acp-TBDNUDTR.js")).runAcpCommand(o,n),"handler")},{name:"app-server",usage:"openpond app-server [--home DIR]",optionSchema:{home:"string"},handler:t(async({options:o,rest:n})=>(await import("./app-layer-4YIA53WX.js")).runOpenPondServerCommand("app-server",o,n),"handler")},{name:"serve",usage:"openpond serve [args]",optionSchema:{host:"string",hostname:"string",listen:"string",port:"integer"},handler:t(async({options:o,rest:n})=>(await import("./app-layer-4YIA53WX.js")).runOpenPondServerCommand("serve",o,n),"handler")},{name:"ui",usage:"openpond ui [--no-open] [--hostname HOST] [--port PORT]",optionSchema:{host:"string",hostname:"string",listen:"string",noOpen:"boolean",port:"integer",webRoot:"string"},handler:t(async({options:o,rest:n})=>(await import("./app-layer-4YIA53WX.js")).runOpenPondServerCommand("web",o,n),"handler")},{name:"tui",aliases:["interactive"],usage:"openpond tui [--provider <id>] [--model <id>] [--project <id>]",optionSchema:{cwd:"string",model:"string",noServerStart:"boolean",project:"string",provider:"string",server:"string"},handler:t(async({options:o,rest:n})=>(await import("./app-layer-4YIA53WX.js")).runOpenPondTerminalCommand(o,n),"handler")},{name:"chat",usage:"openpond chat (--message-file <path>|--message <text>|--stdin) --non-interactive [--provider <id>] [--model <id>] [--agent <id>] [--project <id>] [--resume <session-id>] [--yes] [--approval-policy <policy>] [--json] [--timeout-sec <n>] [--max-output-bytes <n>] [--sandbox <mode>]",optionSchema:I,handler:t(async({options:o,rest:n})=>(await import("./app-layer-4YIA53WX.js")).runOpenPondTerminalCommand(o,n),"handler")},{name:"tool",usage:"openpond tool <list|run> <handle>/<repo> [args]",optionSchema:{body:"json",json:"boolean"},handler:q},{name:"backtest",usage:"openpond backtest <run|events|get> <handle>/<repo> [args]",optionSchema:{body:"json",branch:"string",deploymentId:"string",limit:"integer",runId:"string"},handler:L},{name:"deploy",usage:"openpond deploy watch <handle>/<repo> [--branch <branch>]",optionSchema:{branch:"string"},handler:F},{name:"template",usage:"openpond template <status|branches|update> <handle>/<repo> [--env preview|production]",optionSchema:{env:"string"},handler:K},{name:"sandbox-template",usage:"openpond sandbox-template <command> [args]",optionSchema:O,handler:t(async({options:o,rest:n})=>(await import("./sandbox-template-AVTZNKFZ.js")).runSandboxTemplateCommand(o,n),"handler")},{name:"repo",usage:"openpond repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]",optionSchema:{branch:"string",name:"string",path:"string"},handler:G},{name:"organizations",aliases:["organization"],usage:"openpond organizations <login|list|use|logout|whoami> [args]",optionSchema:{accessToken:"string",arguments:"json",callbackPort:"integer",clientId:"string",customDomain:"string",displayName:"string",email:"string",env:"string",environment:"string",json:"boolean",name:"string",open:"boolean",origin:"string",primaryContactEmail:"string",printToken:"boolean",resourceUrl:"string",role:"string",scope:"string",scopes:"string",slug:"string",status:"string",timeout:"integer",timeoutSeconds:"integer",tool:"string",toolName:"string",toolset:"string",url:"string"},handler:t(async({options:o,rest:n})=>(await import("./organizations-AWMQ46PJ.js")).runOrganizationsCommand(o,n),"handler")},{name:"project",usage:"openpond project <list|create|upsert|get|update|sync|source-upload|archive> [args]",optionSchema:P,handler:t(async({options:o,rest:n})=>(await import("./project-agent-NI4EGNDI.js")).runProjectCommand(o,n),"handler")},{name:"agent",usage:"openpond agent <inspect|build|validate|eval|traces|list|create|upsert|get|update|run|run-test|bind-source|source|archive> [args]",usages:["openpond agent run <action> [--cwd <project>] [--input <json>]","openpond agent run <agentId> --team-id <id> [--conversation-id <id>] [--target-project-id <projectId>] [--input <json>]","openpond agent source checks <agentId> --team-id <id> [--check-kind <kind>]","openpond agent source publish <agentId> --team-id <id> [--expected-manifest-hash <hash>]"],optionSchema:A,handler:t(async({options:o,rest:n})=>(await import("./project-agent-NI4EGNDI.js")).runAgentCommand(o,n),"handler")},{name:"desktop-test",usage:"openpond desktop-test <run|attach> <scenario...> [--isolated|--attach|--packaged|--none] [--app <path>] [--artifacts-dir <path>] [--json <path>]",optionSchema:{artifactsDir:"string",attach:"boolean",cwd:"string",devtoolsPort:"integer",grep:"string",isolated:"boolean",json:"string",jsonPath:"string",keepHome:"boolean",none:"boolean",server:"string",timeoutMs:"integer",token:"string",tokenFile:"string"},handler:t(async({options:o,rest:n})=>(await import("./desktop-test-UXOA4EON.js")).runDesktopTestCommand(o,n),"handler")},{name:"sandbox",usage:"openpond sandbox <command> [args]",optionSchema:k,handler:t(async({options:o,rest:n})=>(await import("./sandbox-command-763SZPJ4.js")).runSandboxCommand(o,n),"handler")},{name:"continual",usage:"openpond continual <init|validate|run|report> [manifest-or-series-id]",usages:["openpond continual init --from <tasks.jsonl> [--output <continual-support.yaml>] [--non-interactive]","openpond continual validate <continual-support.yaml> [--json]","openpond continual run <continual-support.yaml> [--api-base-url <url>] [--json]","openpond continual report <comparison-series-id> [--output <report.json>] [--json]"],optionSchema:{apiBaseUrl:"string",commit:"string",correctionCasesPerFamily:"integer",correctionSelection:"string",description:"string",from:"string",grader:"string",id:"string",json:"boolean",license:"string",name:"string",nonInteractive:"boolean",output:"string",repository:"string",seed:"string",semanticSimilarityThreshold:"number"},handler:t(async({options:o,rest:n})=>(await import("./continual-C2YWPEJZ.js")).runContinualCommand(o,n),"handler")},S,{name:"taskset",usage:"openpond taskset <import|publish|readiness|delete-draft> <package-path|draft-id|taskset-id> [--profile <id>] [--model <id>] [--json]",usages:["openpond taskset import <package-directory|taskset.json> [--profile <id>] [--json]","openpond taskset publish <draft-id> [--model <id>] [--json]","openpond taskset readiness <taskset-id> [--json]","openpond taskset delete-draft <draft-id> [--json]"],optionSchema:{apiBaseUrl:"string",json:"boolean",model:"string",profile:"string"},handler:t(async({options:o,rest:n})=>(await import("./taskset-SLQSCYJI.js")).runTasksetCommand(o,n),"handler")},{name:"opchat",usage:`openpond opchat <provider-catalog|models|model|smoke> [args]
|
|
10
|
+
openpond opchat chat --model <id> --message <text> --team-id <id> --max-output-tokens <n> --request-id <id> --timeout-sec <1..600> --max-spend <usd> [--stream] (one bounded request; JSON receipt after completion)`,optionSchema:{compatModel:"string",compatibilityModel:"string",env:"string",environment:"string",effort:"string",json:"boolean",message:"string",teamId:"string",maxOutputTokens:"integer",maxSpend:"number",requestId:"string",timeoutSec:"integer",model:"string",opchatApiBaseUrl:"string",opchatApiUrl:"string",prompt:"string",skipStream:"boolean",skipTool:"boolean",stream:"boolean"},handler:t(async({options:o,rest:n})=>(await import("./opchat-RJINPBFB.js")).runOpChatCommand(o,n),"handler")},{name:"teams-bot",usage:"openpond teams-bot <command> [args]",optionSchema:{json:"boolean",teamId:"string"},handler:t(async({options:o,rest:n})=>(await import("./teams-bot-PX7HUAQQ.js")).runTeamsBotCommand(o,n),"handler")},{name:"apps",usage:"openpond apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]",optionSchema:{appId:"string",body:"json",env:"json",json:"boolean",limit:"integer",refresh:"boolean",teamId:"string",watch:"boolean"},handler:$},{name:"opentool",usage:"openpond opentool <init|validate|build> [args]",optionSchema:{},handler:t(async({rest:o})=>(await import("./core-commands-Z27A5ZPQ.js")).runOpentool(o),"handler")}],f=new Map;for(let o of y){f.set(o.name,o);for(let n of o.aliases??[])f.set(n,o)}function ee(){return y}t(ee,"listCliCommandDefinitions");function v(o){return f.get(o)??null}t(v,"getCliCommandDefinition");function ne(o,n){return v(o||"ui")?.optionSchema[n]??b[n]}t(ne,"getCliOptionKind");function oe(o){let n=b[o];if(n)return n;for(let s of y){let a=s.optionSchema[o];if(a)return a}}t(oe,"getAnyCliOptionKind");async function te(o){let n=v(o.command);return n?C(o.options.help)?(H(n),!0):(await n.handler(o),!0):!1}t(te,"runCliCommand");function N(o){let n=["Usage:",` ${o.usage}`,...(o.usages??[]).map(a=>` ${a}`)];o.aliases?.length&&n.push("","Aliases:",` ${o.aliases.join(", ")}`);let s=Object.entries(o.optionSchema).sort(([a],[d])=>a.localeCompare(d));if(s.length>0){n.push("","Options:");for(let[a,d]of s){let c=B(a);n.push(d==="boolean"?` --${c}`:` --${c} <${d}>`)}}return n.join(`
|
|
11
|
+
`)}t(N,"formatCliCommandUsage");function H(o){console.log(N(o))}t(H,"printCliCommandUsage");function B(o){return o.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`)}t(B,"cliOptionName");function U(){return["inspect","build","validate","eval","run"].map(n=>({name:n,usage:`openpond ${n} [args]`,optionSchema:_,handler:t(async({options:s,rest:a})=>(await import("./profile-VJDML6I7.js")).runOpenPondProfileSdkAlias(n,s,a),"handler")}))}t(U,"profileSdkAliasDefinitions");async function q({options:o,rest:n}){let{runToolList:s,runToolRun:a}=await import("./core-commands-Z27A5ZPQ.js"),d=n[0];if(d==="list"){let c=n[1];if(!c)throw new Error("usage: tool list <handle>/<repo>");await s(o,c);return}if(d==="run"){let c=n[1],l=n[2];if(!c||!l)throw new Error("usage: tool run <handle>/<repo> <tool> [--body <json>]");await a(o,c,l);return}throw new Error("usage: tool <list|run> <handle>/<repo> [args]")}t(q,"runToolCommand");async function L({options:o,rest:n}){let{runBacktestRun:s}=await import("./core-commands-Z27A5ZPQ.js"),{runBacktestEvents:a,runBacktestGet:d}=await import("./apps-APEPLFYU.js"),c=n[0]||"run";if(c==="run"){let l=n[1],j=n[2];if(!l||!j)throw new Error("usage: backtest run <handle>/<repo> <tool> [--body <json>] [--branch <branch>] [--deployment-id <id>]");await s(o,l,j);return}if(c==="events"){let l=n[1];if(!l)throw new Error("usage: backtest events <handle>/<repo> [--run-id <id>] [--limit <n>]");await a(o,l);return}if(c==="get"){let l=n[1];if(!l)throw new Error("usage: backtest get <handle>/<repo> --run-id <id>");await d(o,l);return}throw new Error("usage: backtest <run|events|get> <handle>/<repo> [args]")}t(L,"runBacktestCommand");async function F({options:o,rest:n}){let{runDeployWatch:s}=await import("./core-commands-Z27A5ZPQ.js");if((n[0]||"watch")!=="watch")throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");let d=n[1];if(!d)throw new Error("usage: deploy watch <handle>/<repo> [--branch <branch>]");await s(o,d)}t(F,"runDeployCommand");async function K({options:o,rest:n}){let{runTemplateBranches:s,runTemplateStatus:a,runTemplateUpdate:d}=await import("./core-commands-Z27A5ZPQ.js"),c=n[0]||"status",l=n[1];if(!l)throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]");if(c==="status"){await a(o,l);return}if(c==="branches"){await s(o,l);return}if(c==="update"){await d(o,l);return}throw new Error("usage: template <status|branches|update> <handle>/<repo> [--env preview|production]")}t(K,"runTemplateCommand");async function G({options:o,rest:n}){let{runRepoCreate:s,runRepoPush:a}=await import("./core-commands-Z27A5ZPQ.js"),d=n[0]||"create";if(d==="create"){await s(o,n.slice(1));return}if(d==="push"){await a(o);return}throw new Error("usage: repo <create|push> [--name <name>] [--path <dir>] [--branch <branch>]")}t(G,"runRepoCommand");async function $({options:o,rest:n}){let{runAppsAgentCreate:s,runAppsAssistant:a,runAppsCodeVisibility:d,runAppsDeploy:c,runAppsEnvGet:l,runAppsEnvSet:j,runAppsList:T,runAppsPerformance:E,runAppsSummary:R,runAppsTools:D,runAppsToolsExecute:M}=await import("./apps-APEPLFYU.js"),u=n[0];if(u==="list"){await T(o);return}if(u==="code-visibility"){let r=n[1];if(!r)throw new Error("usage: apps code-visibility <handle>/<repo> --visibility public|private");await d(o,r);return}if(u==="tools"){if(n[1]==="execute"){let r=n[2],h=n[3],w=n[4];if(!r||!h||!w)throw new Error("usage: apps tools execute <appId> <deploymentId> <tool> [--body <json>]");await M(o,r,h,w);return}await D();return}if(u==="deploy"){let r=n[1];if(!r)throw new Error("usage: apps deploy <handle>/<repo> [--env preview|production] [--watch]");await c(o,r);return}if(u==="env"&&n[1]==="get"){let r=n[2];if(!r)throw new Error("usage: apps env get <handle>/<repo>");await l(o,r);return}if(u==="env"&&n[1]==="set"){let r=n[2];if(!r)throw new Error("usage: apps env set <handle>/<repo> --env <json>");await j(o,r);return}if(u==="performance"){await E(o);return}if(u==="summary"){let r=n[1];if(!r)throw new Error("usage: apps summary <handle>/<repo>");await R(o,r);return}if(u==="assistant"){let r=n[1],h=n[2];if(r!=="plan"&&r!=="performance"||!h)throw new Error("usage: apps assistant <plan|performance> <handle>/<repo> --prompt <text>");await a(o,r,h,n.slice(3));return}if(u==="agent"&&n[1]==="create"){await s(o,n.slice(2));return}throw new Error("usage: apps <list|code-visibility|tools|deploy|env get|env set|performance|summary|assistant|agent create> [args]")}t($,"runAppsCommand");export{b as a,Q as b,ee as c,v as d,ne as e,oe as f,te as g,N as h};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as E,b as _}from"./chunk-
|
|
2
|
+
import{a as E,b as _}from"./chunk-OUOOKEU3.js";import{a as p}from"./chunk-FTQLQJQV.js";var g=`CREATE TABLE IF NOT EXISTS local_ponder_state (id INTEGER PRIMARY KEY CHECK(id=1),payload TEXT NOT NULL);
|
|
3
3
|
CREATE TABLE IF NOT EXISTS local_ponder_agents (session_id TEXT PRIMARY KEY,coordinator_id TEXT NOT NULL,creation_key TEXT NOT NULL UNIQUE,payload TEXT NOT NULL);`;function u(o,n){if(!o.get("SELECT name FROM sqlite_master WHERE type='table' AND name='local_ponder_agents'"))return null;let e=o.get("SELECT payload FROM local_ponder_agents WHERE session_id=?",[n]);return e?_.parse(JSON.parse(e.payload)):null}p(u,"readLocalPonderRelationship");function y(o,n){let e=u(o,n.sessionId);if(!e||e.coordinatorSessionId!==n.senderSessionId)return;let s=n.payload.localPonderControlRevision;if(e.owner!=="ponder"||s!==e.revision)throw new Error("local_ponder_control_changed")}p(y,"assertLocalPonderAdmission");function O(o,n,e,s){let t=u(o,n);if(!t)throw new Error("local_ponder_agent_not_found");if(t.revision!==s)throw new Error("local_ponder_control_changed");let i=o.get("SELECT payload FROM sessions WHERE id=?",[n]);if(!i)throw new Error("local_ponder_agent_not_found");let d=JSON.parse(i.payload),r={...t,owner:e,revision:t.revision+(t.owner===e?0:1),updatedAt:new Date().toISOString()},a={...d,hiddenFromDefaultSidebar:e!=="user",updatedAt:r.updatedAt};if(o.run("UPDATE local_ponder_agents SET payload=? WHERE session_id=?",[JSON.stringify(r),n]),o.run("UPDATE sessions SET payload=?,updated_at=? WHERE id=?",[JSON.stringify(a),a.updatedAt,n]),t.owner!==e){let S=o.all("SELECT id,payload FROM task_inputs WHERE session_id=? AND state='pending'",[n]);for(let l of S){let c=JSON.parse(l.payload);c.senderSessionId===t.coordinatorSessionId&&o.run("UPDATE task_inputs SET state='rejected',payload=? WHERE id=?",[JSON.stringify({...c,state:"rejected",error:"local_ponder_control_changed",updatedAt:r.updatedAt}),l.id])}}return{relationship:r,session:a}}p(O,"changeLocalPonderControl");function R(o,n,e){let s=o.get("SELECT payload FROM local_ponder_state WHERE id=1");if(!s)throw new Error("local_ponder_unavailable");let t=E.parse(JSON.parse(s.payload));if(t.revision!==e||!t.sessionId)throw new Error("local_ponder_configuration_changed");let i=o.get("SELECT payload FROM sessions WHERE id=?",[t.sessionId]);if(!i)throw new Error("local_ponder_unavailable");let d=JSON.parse(i.payload);if(d.status==="active"||o.get("SELECT id FROM turns WHERE session_id=? AND status='in_progress' LIMIT 1",[d.id]))throw new Error("local_ponder_model_change_requires_idle");let r={...d,provider:n.providerId,modelRef:n,updatedAt:new Date().toISOString()},a={...t,modelRef:n,revision:t.revision+1};return o.run("UPDATE sessions SET payload=?,updated_at=? WHERE id=?",[JSON.stringify(r),r.updatedAt,r.id]),o.run("UPDATE local_ponder_state SET payload=? WHERE id=1",[JSON.stringify(a)]),{coordinator:a,session:r}}p(R,"changeLocalPonderModel");export{g as a,y as b,O as c,R as d};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{b as oe}from"./chunk-YG3HITOU.js";import{b as be}from"./chunk-AITV76GO.js";import{f as J}from"./chunk-64EDQ7UV.js";import{m as L}from"./chunk-HIQPGYVH.js";import{o as ye}from"./chunk-3VT2PPKW.js";import{l as W}from"./chunk-ZEOYNUHL.js";import{v as B}from"./chunk-ZY32SZ2P.js";import{I as Ee,K as Te}from"./chunk-SV7ZBEK2.js";import{c as M,d as z,e as Ie,n as y}from"./chunk-RCT3O3HQ.js";import{f as ve}from"./chunk-UGOK7VTC.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as u}from"./chunk-FTQLQJQV.js";var c=Object.freeze({eventBytes:65536,actionBytes:16384,resultBytes:8192,stateBytes:8192,eventsPerAppend:32,eventsPerEpisode:256,episodeBytes:2097152,assetBytes:1048576,assetsPerEpisode:16,queueBytes:52428800,queueEvents:5e3,queueAgeSeconds:86400,capabilities:32,consultationRounds:3,consultationBytes:65536,manifestSeconds:300}),s=M,g=z,w=Ie,K=e.enum(["codex","claude_code","opencode","openpond"]),h=e.object({id:M,contentHash:z}).strict(),C=e.object({teamId:M,projectId:M}).strict();function T(n,t){return e.preprocess((o,i)=>{try{B(o,t)}catch{return i.addIssue({code:"custom",message:"Tool learning data exceeds its JSON boundary."}),e.NEVER}return o},n)}u(T,"boundedToolLearningSchema");function x(n){return e.string().max(n).refine(t=>new TextEncoder().encode(t).byteLength<=n,"Tool learning text exceeds its UTF-8 byte limit.")}u(x,"toolLearningText");var ze=T(e.record(e.string().min(1).max(120),e.union([x(2e3),e.number().finite(),e.boolean(),e.null()])).refine(n=>Object.keys(n).length<=32,"Use at most 32 explicit state fields."),c.stateBytes),j=e.object({application:e.string().trim().min(1).max(200),version:e.string().trim().min(1).max(200),state:ze,fingerprint:z}).strict(),Y=e.object({id:M,contentHash:z,mediaType:e.enum(["text/plain","application/json","text/x-python","text/x-diff"]),sizeBytes:e.number().int().nonnegative().max(c.assetBytes),purpose:e.enum(["action","result","state","verification"])}).strict(),Le=e.object({policyRevision:e.number().int().positive(),policyHash:z,redactedFields:e.number().int().nonnegative().max(1e4),omittedFields:e.number().int().nonnegative().max(1e4),truncated:e.boolean()}).strict();function E(n,t=c.eventBytes){return B(n,t),y(n)}u(E,"toolLearningContentHash");var Q=x(c.actionBytes),xe=e.string().min(1).max(1e3).refine(n=>!n.startsWith("/")&&!n.includes("\\")&&!/^[A-Za-z]:/u.test(n)&&n.split("/").every(t=>t!==""&&t!=="."&&t!==".."),"Use a workspace-relative artifact path."),P=T(e.discriminatedUnion("kind",[e.object({kind:e.literal("python"),code:Q}).strict(),e.object({kind:e.literal("shell"),command:Q,shell:e.string().min(1).max(120)}).strict(),e.object({kind:e.literal("tool_arguments"),arguments:e.record(e.string().min(1).max(200),e.json())}).strict(),e.object({kind:e.literal("edit"),patch:Q,baseFiles:e.array(e.object({path:xe,contentHash:g.nullable()}).strict()).min(1).max(32)}).strict()]),c.actionBytes),yt=e.discriminatedUnion("kind",[e.object({kind:e.literal("replacement"),expectedActionHash:g,environmentFingerprint:g,action:P}).strict(),e.object({kind:e.literal("patch"),expectedActionHash:g,environmentFingerprint:g,files:e.array(e.object({path:xe,expectedContentHash:g,patch:Q}).strict()).min(1).max(16)}).strict()]);var Ve=e.object({intent:x(2e3),tool:e.object({name:e.string().min(1).max(200),version:e.string().max(200).nullable(),server:e.string().max(200).nullable()}).strict(),action:P,actionHash:g,environment:j,contextAssets:e.array(Y).max(c.assetsPerEpisode),selection:e.discriminatedUnion("kind",[e.object({kind:e.literal("eligible_attempt")}).strict(),e.object({kind:e.literal("unchanged_control"),numerator:e.number().int().positive(),denominator:e.number().int().positive(),policyHash:g}).strict()])}).strict().superRefine((n,t)=>{E(n.action)!==n.actionHash&&t.addIssue({code:"custom",path:["actionHash"],message:"Action bytes differ from their hash."}),n.selection.kind==="unchanged_control"&&n.selection.numerator>n.selection.denominator&&t.addIssue({code:"custom",path:["selection"],message:"Sampling probability cannot exceed one."})}),Ke=e.enum(["validation_failure","execution_failure","process_failure","timeout","cancelled","infrastructure_failure","authorization_denied","outcome_failure","unknown_failure"]),ie={attempt:h,actionHash:g,execution:e.enum(["not_executed","executed","unknown"]),sideEffects:e.enum(["none","possible","observed","unknown"]),resultExcerpt:x(c.resultBytes),resultHash:g.nullable(),assets:e.array(Y).max(c.assetsPerEpisode)},$e=e.discriminatedUnion("outcome",[e.object({...ie,outcome:e.literal("succeeded"),exitCode:e.literal(0).nullable()}).strict(),e.object({...ie,outcome:e.literal("failed"),classification:Ke,errorCode:e.string().min(1).max(200),message:x(2e3),exitCode:e.number().int().min(-255).max(255).nullable()}).strict(),e.object({...ie,outcome:e.literal("incomplete"),reason:e.enum(["completion_not_observed","observer_restarted","transport_interrupted","coverage_gap"])}).strict()]).superRefine((n,t)=>{n.execution==="not_executed"&&n.sideEffects!=="none"&&t.addIssue({code:"custom",path:["sideEffects"],message:"An unexecuted action cannot claim tool effects."}),n.outcome==="succeeded"&&n.execution!=="executed"&&t.addIssue({code:"custom",path:["execution"],message:"Successful execution requires an observed execution."}),n.outcome==="failed"&&(n.classification==="validation_failure"&&n.execution!=="not_executed"&&t.addIssue({code:"custom",path:["execution"],message:"Pre-execution validation failure must be unexecuted."}),n.classification==="process_failure"&&(n.execution!=="executed"||n.exitCode===null||n.exitCode===0)&&t.addIssue({code:"custom",path:["exitCode"],message:"Process failure requires a nonzero observed exit."}))}),Xe=e.object({failedAttempt:h,failedObservation:h,replacementAttempt:h,goalId:s,basis:e.enum(["explicit_relation","artifact_lineage","unverified"]),attributionEvidence:e.array(h).max(16)}).strict().superRefine((n,t)=>{n.failedAttempt.id===n.replacementAttempt.id&&t.addIssue({code:"custom",message:"A recovery must reference a different attempt."}),n.basis!=="unverified"&&n.attributionEvidence.length===0&&t.addIssue({code:"custom",path:["attributionEvidence"],message:"Recovery attribution needs retained evidence."})}),Ge=e.object({attempt:h,actionHash:g,outcome:e.enum(["passed","failed","unknown"]),verifierRelease:h.nullable(),verifierReceipt:h.nullable(),environmentFingerprint:g,resetStateHash:g.nullable(),outputArtifacts:e.array(Y).max(c.assetsPerEpisode),reason:x(2e3)}).strict().superRefine((n,t)=>{n.outcome!=="unknown"&&(!n.verifierRelease||!n.verifierReceipt)&&t.addIssue({code:"custom",message:"A verification outcome requires an exact verifier and execution receipt."})}),$=e.object({schemaVersion:e.literal("openpond.toolEpisodeEvent.v1"),operationId:s,installationId:s,episodeId:s,eventId:s,sessionId:s,parentSessionId:s.nullable(),turnId:s.nullable(),callId:s,occurredAt:w,sequence:e.number().int().nonnegative(),adapterVersion:e.string().min(1).max(200),sanitization:Le,contentHash:g}).strict(),R=T(e.discriminatedUnion("eventKind",[$.extend({eventKind:e.literal("attempt"),payload:Ve}).strict(),$.extend({eventKind:e.literal("observation"),payload:$e}).strict(),$.extend({eventKind:e.literal("recovery_link"),payload:Xe}).strict(),$.extend({eventKind:e.literal("verification"),payload:Ge}).strict(),$.extend({eventKind:e.literal("lineage"),payload:e.object({relation:e.enum(["fork","split","reopen"]),parentEpisode:h,parentSessionId:s,reason:x(1e3)}).strict()}).strict()]).superRefine((n,t)=>{let{contentHash:o,...i}=n;E(i)!==o&&t.addIssue({code:"custom",path:["contentHash"],message:"Episode event content hash mismatch."})}),c.eventBytes);function ae(n){let t=E(n);if(!n||typeof n!="object"||Array.isArray(n)||Object.hasOwn(n,"contentHash"))throw new Error("tool_episode_unsigned_envelope_required");return R.parse({...n,contentHash:t})}u(ae,"sealToolEpisodeEvent");var Se=T(e.object({schemaVersion:e.literal("openpond.toolEpisodeAppend.v1"),operationId:s,installationId:s,events:e.array(R).min(1).max(c.eventsPerAppend)}).strict().superRefine((n,t)=>{n.events.some(o=>o.installationId!==n.installationId)&&t.addIssue({code:"custom",path:["events"],message:"Append events must belong to the exact installation."}),new Set(n.events.map(o=>o.eventId)).size!==n.events.length&&t.addIssue({code:"custom",path:["events"],message:"Append event IDs must be unique."})}),c.eventBytes*c.eventsPerAppend),Re=e.object({schemaVersion:e.literal("openpond.toolEpisodeAppendReceipt.v1"),operationId:s,requestHash:g,installationId:s,teamId:s,projectId:s,receivedAt:w,events:e.array(e.object({eventId:s,contentHash:g,state:e.enum(["retained","already_retained","privacy_rejected"]),receiptId:s,reason:e.string().max(200).nullable()}).strict()).min(1).max(c.eventsPerAppend),learningEnrollment:e.literal(!1)}).strict();var V=e.object({revision:e.number().int().positive(),permittedTools:e.array(e.string().min(1).max(200)).min(1).max(100),workspaceRootHashes:e.array(g).min(1).max(32),permittedFields:e.array(e.enum(["action","intent","state","result_excerpt","artifact_reference"])).min(1).max(5),unchangedControls:e.object({numerator:e.number().int().nonnegative(),denominator:e.number().int().positive()}).strict(),maximumEventBytes:e.number().int().positive().max(c.eventBytes),maximumEpisodeBytes:e.number().int().positive().max(c.episodeBytes),maximumEpisodeEvents:e.number().int().positive().max(c.eventsPerEpisode),maximumQueueBytes:e.number().int().positive().max(c.queueBytes),maximumQueueEvents:e.number().int().positive().max(c.queueEvents),maximumQueueAgeSeconds:e.number().int().positive().max(c.queueAgeSeconds),rawRetentionDays:e.number().int().min(1).max(30),purposes:e.array(e.enum(["capture","consultation"])).min(1).max(2),modelUpdates:e.literal("requires_separate_review"),variantGeneration:e.literal("disabled")}).strict().superRefine((n,t)=>{n.unchangedControls.numerator>n.unchangedControls.denominator&&t.addIssue({code:"custom",path:["unchangedControls"],message:"Sampling probability cannot exceed one."});for(let o of["permittedTools","workspaceRootHashes","permittedFields","purposes"])new Set(n[o]).size!==n[o].length&&t.addIssue({code:"custom",path:[o],message:"Policy entries must be unique."});(n.maximumEpisodeBytes<n.maximumEventBytes||n.maximumQueueBytes<n.maximumEventBytes)&&t.addIssue({code:"custom",message:"Episode and queue capacities must fit one permitted event."})}),We=e.object({receipt:h.nullable(),start:e.enum(["observed","documented","unsupported","unqualified"]),resume:e.enum(["observed","documented","unsupported","unqualified"]),compaction:e.enum(["observed","documented","unsupported","unqualified"]),executionFailure:e.enum(["observed","documented","unsupported","unqualified"]),processFailure:e.enum(["observed","documented","unsupported","unqualified"]),validationFailure:e.enum(["observed","documented","unsupported","unqualified"]),nestedCalls:e.enum(["observed","documented","unsupported","unqualified"]),contextRefresh:e.enum(["session_start","start_resume","start_resume_compaction","revision_aware_turn","unqualified"]),gaps:e.array(e.string().min(1).max(500)).max(32)}).strict().superRefine((n,t)=>{Object.values(n).includes("observed")&&!n.receipt&&t.addIssue({code:"custom",path:["receipt"],message:"Observed coverage requires a qualification receipt."})}),we=T(e.object({schemaVersion:e.literal("openpond.toolLearningRegistration.v1"),operationId:s,installationId:s,projectId:s,machineSourceId:s,client:K,clientVersion:e.string().min(1).max(200),adapterRelease:h,collectionPolicy:V}).strict(),c.eventBytes),H=e.object({schemaVersion:e.literal("openpond.toolLearningInstallation.v1"),id:s,revision:e.number().int().positive(),scope:C,ownerUserId:s,machineSourceId:s,client:K,clientVersion:e.string().min(1).max(200),adapterRelease:h,state:e.enum(["pending_client_trust","enabled","disabled","revoked"]),collectionPolicy:V,collectionPolicyHash:g,coverage:We,credential:e.object({id:s,expiresAt:w,revokedAt:w.nullable(),capabilities:e.array(e.enum(["episode_append","manifest_read","consultation_submit","consultation_read"])).min(1).max(4)}).strict().nullable(),createdAt:w,updatedAt:w}).strict(),Ne=e.object({operationId:s,expectedRevision:e.number().int().positive(),state:e.enum(["enabled","disabled","revoked"])}).strict(),Ct=e.object({schemaVersion:e.literal("openpond.toolEpisodeOrigin.v1"),installationId:s,projectId:s,ownerUserId:s,episode:h,event:h,appendReceipt:h,purpose:e.literal("private_dataset_evidence"),trainingConsent:e.literal("not_granted")}).strict();import{DatabaseSync as Qe}from"node:sqlite";import{chmodSync as Ce,closeSync as Ze,existsSync as je,lstatSync as ce,mkdirSync as et,openSync as tt}from"node:fs";import{join as He}from"node:path";var Z=e.object({id:s,application:e.string().min(1).max(200),versions:e.array(e.string().min(1).max(200)).min(1).max(32),tools:e.array(e.string().min(1).max(200)).min(1).max(32),mode:e.literal("recovery"),routingInstruction:x(2e3),qualification:e.discriminatedUnion("kind",[e.object({kind:e.literal("integration"),receipt:h}).strict(),e.object({kind:e.literal("learned"),receipt:h,trainingRun:h,adapter:h,evaluation:h,activation:h}).strict()])}).strict(),Je=e.object({schemaVersion:e.literal("openpond.toolLearningManifest.v1"),installationId:s,scope:C,revision:e.number().int().positive(),contentHash:g,issuedAt:w,expiresAt:w,modelRelease:h,responseSchema:e.literal("openpond.toolLearningDecision.v1"),capabilities:e.array(Z).max(c.capabilities)}).strict().superRefine((n,t)=>{let{contentHash:o,...i}=n;E(i)!==o&&t.addIssue({code:"custom",path:["contentHash"],message:"Manifest content hash mismatch."});let a=Date.parse(n.expiresAt)-Date.parse(n.issuedAt);(a<=0||a>c.manifestSeconds*1e3)&&t.addIssue({code:"custom",path:["expiresAt"],message:"Manifest expiry exceeds the supported lifetime."}),new Set(n.capabilities.map(l=>l.id)).size!==n.capabilities.length&&t.addIssue({code:"custom",path:["capabilities"],message:"Capability IDs must be unique."})}),Oe=T(Je,c.consultationBytes),O=T(e.object({schemaVersion:e.literal("openpond.toolLearningConsultation.v1"),operationId:s,installationId:s,scope:C,sessionId:s,callId:s,capabilityId:s,manifestHash:g,modelRelease:h,mode:e.literal("recovery"),intent:x(2e3),action:P,actionHash:g,environment:j,contextHash:g,failure:e.object({message:x(c.resultBytes),observation:h}).strict(),round:e.number().int().min(1).max(c.consultationRounds)}).strict().superRefine((n,t)=>{E(n.action)!==n.actionHash&&t.addIssue({code:"custom",path:["actionHash"],message:"Consultation action hash mismatch."}),E({intent:n.intent,environment:n.environment,failure:n.failure})!==n.contextHash&&t.addIssue({code:"custom",path:["contextHash"],message:"Consultation context hash mismatch."})}),c.consultationBytes),se=e.discriminatedUnion("decision",[e.object({decision:e.literal("proceed")}).strict(),e.object({decision:e.literal("revise"),issues:e.array(e.object({category:e.string().min(1).max(120),feedback:x(2e3)}).strict()).min(1).max(8)}).strict(),e.object({decision:e.literal("needs_context"),missing:e.array(e.object({field:e.string().min(1).max(120),reason:x(500)}).strict()).min(1).max(8)}).strict()]),Ae={operationId:s,installationId:s,capabilityId:s,manifestHash:g,modelRelease:h,actionHash:g,contextHash:g},Ye=T(e.discriminatedUnion("state",[e.object({schemaVersion:e.literal("openpond.toolLearningDecision.v1"),...Ae,state:e.literal("completed"),decision:se,usageReceipt:h,completedAt:w}).strict(),e.object({schemaVersion:e.literal("openpond.toolLearningDecision.v1"),...Ae,state:e.literal("unavailable"),reason:e.enum(["disabled","revoked","expired_manifest","unsupported_scope","budget_exhausted","timeout","invalid_output","cancelled","dispatch_uncertain"]),usageReceipt:h.nullable()}).strict()]),c.consultationBytes);function re(n,t){let o=O.parse(n),i=Ye.parse(t);for(let a of["operationId","installationId","capabilityId","manifestHash","actionHash","contextHash"])if(o[a]!==i[a])throw new Error(`tool_learning_consultation_${a}_mismatch`);if(o.modelRelease.id!==i.modelRelease.id||o.modelRelease.contentHash!==i.modelRelease.contentHash)throw new Error("tool_learning_consultation_model_mismatch");return i}u(re,"assertToolLearningConsultationResponse");function le(n,t){let o=R.parse(n),i=V.parse(t);if(!i.purposes.includes("capture"))throw new Error("tool_learning_capture_not_enabled");if(o.sanitization.policyRevision!==i.revision||o.sanitization.policyHash!==E(i))throw new Error("tool_learning_capture_policy_changed");if(new TextEncoder().encode(JSON.stringify(o)).byteLength>i.maximumEventBytes)throw new Error("tool_learning_event_policy_limit");let a=u(l=>i.permittedFields.includes(l),"permits");if(o.eventKind==="attempt"){if(!i.permittedTools.includes(o.payload.tool.name))throw new Error("tool_learning_tool_outside_collection_policy");if(!a("action")||!a("intent")&&o.payload.intent!==""||!a("state")&&Object.keys(o.payload.environment.state).length>0||!a("artifact_reference")&&o.payload.contextAssets.length>0)throw new Error("tool_learning_attempt_field_outside_collection_policy")}if(o.eventKind==="observation"&&(!a("result_excerpt")&&(o.payload.resultExcerpt!==""||o.payload.outcome==="failed"&&o.payload.message!=="")||!a("artifact_reference")&&o.payload.assets.length>0))throw new Error("tool_learning_result_field_outside_collection_policy");if(o.eventKind==="verification"&&(!a("result_excerpt")&&o.payload.reason!==""||!a("artifact_reference")&&o.payload.outputArtifacts.length>0))throw new Error("tool_learning_verification_field_outside_collection_policy");if(o.eventKind==="lineage"&&!a("intent")&&o.payload.reason!=="")throw new Error("tool_learning_lineage_field_outside_collection_policy")}u(le,"assertToolEpisodeCapturePolicy");var de=e.object({schemaVersion:e.literal("openpond.localToolLearningInstallation.v1"),id:s,teamId:s,projectId:s,client:K,workspaceRoot:e.string().min(1).max(4e3),enabled:e.boolean(),policy:V,createdAt:e.iso.datetime({offset:!0})}).strict(),X=class{static{u(this,"ToolLearningLocalStore")}db;constructor(n){let t=He(n,"tool-learning");if(je(t)&&ce(t).isSymbolicLink())throw new Error("tool_learning_directory_symlink_forbidden");et(t,{recursive:!0,mode:448}),Ce(t,448);let o=He(t,"queue.sqlite");if(je(o)){if(!ce(o).isFile()||ce(o).isSymbolicLink())throw new Error("tool_learning_queue_file_invalid")}else Ze(tt(o,"wx",384));Ce(o,384),this.db=new Qe(o),this.db.exec("PRAGMA busy_timeout = 3000; PRAGMA journal_mode = WAL; PRAGMA synchronous = FULL;"),this.db.exec(`
|
|
2
|
+
import{b as oe}from"./chunk-YG3HITOU.js";import{b as be}from"./chunk-F64TR23C.js";import{f as J}from"./chunk-64EDQ7UV.js";import{m as L}from"./chunk-HIQPGYVH.js";import{o as ye}from"./chunk-3VT2PPKW.js";import{l as W}from"./chunk-ZEOYNUHL.js";import{v as B}from"./chunk-ZY32SZ2P.js";import{I as Ee,K as Te}from"./chunk-SV7ZBEK2.js";import{c as M,d as z,e as Ie,n as y}from"./chunk-RCT3O3HQ.js";import{f as ve}from"./chunk-UGOK7VTC.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as u}from"./chunk-FTQLQJQV.js";var c=Object.freeze({eventBytes:65536,actionBytes:16384,resultBytes:8192,stateBytes:8192,eventsPerAppend:32,eventsPerEpisode:256,episodeBytes:2097152,assetBytes:1048576,assetsPerEpisode:16,queueBytes:52428800,queueEvents:5e3,queueAgeSeconds:86400,capabilities:32,consultationRounds:3,consultationBytes:65536,manifestSeconds:300}),s=M,g=z,w=Ie,K=e.enum(["codex","claude_code","opencode","openpond"]),h=e.object({id:M,contentHash:z}).strict(),C=e.object({teamId:M,projectId:M}).strict();function T(n,t){return e.preprocess((o,i)=>{try{B(o,t)}catch{return i.addIssue({code:"custom",message:"Tool learning data exceeds its JSON boundary."}),e.NEVER}return o},n)}u(T,"boundedToolLearningSchema");function x(n){return e.string().max(n).refine(t=>new TextEncoder().encode(t).byteLength<=n,"Tool learning text exceeds its UTF-8 byte limit.")}u(x,"toolLearningText");var ze=T(e.record(e.string().min(1).max(120),e.union([x(2e3),e.number().finite(),e.boolean(),e.null()])).refine(n=>Object.keys(n).length<=32,"Use at most 32 explicit state fields."),c.stateBytes),j=e.object({application:e.string().trim().min(1).max(200),version:e.string().trim().min(1).max(200),state:ze,fingerprint:z}).strict(),Y=e.object({id:M,contentHash:z,mediaType:e.enum(["text/plain","application/json","text/x-python","text/x-diff"]),sizeBytes:e.number().int().nonnegative().max(c.assetBytes),purpose:e.enum(["action","result","state","verification"])}).strict(),Le=e.object({policyRevision:e.number().int().positive(),policyHash:z,redactedFields:e.number().int().nonnegative().max(1e4),omittedFields:e.number().int().nonnegative().max(1e4),truncated:e.boolean()}).strict();function E(n,t=c.eventBytes){return B(n,t),y(n)}u(E,"toolLearningContentHash");var Q=x(c.actionBytes),xe=e.string().min(1).max(1e3).refine(n=>!n.startsWith("/")&&!n.includes("\\")&&!/^[A-Za-z]:/u.test(n)&&n.split("/").every(t=>t!==""&&t!=="."&&t!==".."),"Use a workspace-relative artifact path."),P=T(e.discriminatedUnion("kind",[e.object({kind:e.literal("python"),code:Q}).strict(),e.object({kind:e.literal("shell"),command:Q,shell:e.string().min(1).max(120)}).strict(),e.object({kind:e.literal("tool_arguments"),arguments:e.record(e.string().min(1).max(200),e.json())}).strict(),e.object({kind:e.literal("edit"),patch:Q,baseFiles:e.array(e.object({path:xe,contentHash:g.nullable()}).strict()).min(1).max(32)}).strict()]),c.actionBytes),yt=e.discriminatedUnion("kind",[e.object({kind:e.literal("replacement"),expectedActionHash:g,environmentFingerprint:g,action:P}).strict(),e.object({kind:e.literal("patch"),expectedActionHash:g,environmentFingerprint:g,files:e.array(e.object({path:xe,expectedContentHash:g,patch:Q}).strict()).min(1).max(16)}).strict()]);var Ve=e.object({intent:x(2e3),tool:e.object({name:e.string().min(1).max(200),version:e.string().max(200).nullable(),server:e.string().max(200).nullable()}).strict(),action:P,actionHash:g,environment:j,contextAssets:e.array(Y).max(c.assetsPerEpisode),selection:e.discriminatedUnion("kind",[e.object({kind:e.literal("eligible_attempt")}).strict(),e.object({kind:e.literal("unchanged_control"),numerator:e.number().int().positive(),denominator:e.number().int().positive(),policyHash:g}).strict()])}).strict().superRefine((n,t)=>{E(n.action)!==n.actionHash&&t.addIssue({code:"custom",path:["actionHash"],message:"Action bytes differ from their hash."}),n.selection.kind==="unchanged_control"&&n.selection.numerator>n.selection.denominator&&t.addIssue({code:"custom",path:["selection"],message:"Sampling probability cannot exceed one."})}),Ke=e.enum(["validation_failure","execution_failure","process_failure","timeout","cancelled","infrastructure_failure","authorization_denied","outcome_failure","unknown_failure"]),ie={attempt:h,actionHash:g,execution:e.enum(["not_executed","executed","unknown"]),sideEffects:e.enum(["none","possible","observed","unknown"]),resultExcerpt:x(c.resultBytes),resultHash:g.nullable(),assets:e.array(Y).max(c.assetsPerEpisode)},$e=e.discriminatedUnion("outcome",[e.object({...ie,outcome:e.literal("succeeded"),exitCode:e.literal(0).nullable()}).strict(),e.object({...ie,outcome:e.literal("failed"),classification:Ke,errorCode:e.string().min(1).max(200),message:x(2e3),exitCode:e.number().int().min(-255).max(255).nullable()}).strict(),e.object({...ie,outcome:e.literal("incomplete"),reason:e.enum(["completion_not_observed","observer_restarted","transport_interrupted","coverage_gap"])}).strict()]).superRefine((n,t)=>{n.execution==="not_executed"&&n.sideEffects!=="none"&&t.addIssue({code:"custom",path:["sideEffects"],message:"An unexecuted action cannot claim tool effects."}),n.outcome==="succeeded"&&n.execution!=="executed"&&t.addIssue({code:"custom",path:["execution"],message:"Successful execution requires an observed execution."}),n.outcome==="failed"&&(n.classification==="validation_failure"&&n.execution!=="not_executed"&&t.addIssue({code:"custom",path:["execution"],message:"Pre-execution validation failure must be unexecuted."}),n.classification==="process_failure"&&(n.execution!=="executed"||n.exitCode===null||n.exitCode===0)&&t.addIssue({code:"custom",path:["exitCode"],message:"Process failure requires a nonzero observed exit."}))}),Xe=e.object({failedAttempt:h,failedObservation:h,replacementAttempt:h,goalId:s,basis:e.enum(["explicit_relation","artifact_lineage","unverified"]),attributionEvidence:e.array(h).max(16)}).strict().superRefine((n,t)=>{n.failedAttempt.id===n.replacementAttempt.id&&t.addIssue({code:"custom",message:"A recovery must reference a different attempt."}),n.basis!=="unverified"&&n.attributionEvidence.length===0&&t.addIssue({code:"custom",path:["attributionEvidence"],message:"Recovery attribution needs retained evidence."})}),Ge=e.object({attempt:h,actionHash:g,outcome:e.enum(["passed","failed","unknown"]),verifierRelease:h.nullable(),verifierReceipt:h.nullable(),environmentFingerprint:g,resetStateHash:g.nullable(),outputArtifacts:e.array(Y).max(c.assetsPerEpisode),reason:x(2e3)}).strict().superRefine((n,t)=>{n.outcome!=="unknown"&&(!n.verifierRelease||!n.verifierReceipt)&&t.addIssue({code:"custom",message:"A verification outcome requires an exact verifier and execution receipt."})}),$=e.object({schemaVersion:e.literal("openpond.toolEpisodeEvent.v1"),operationId:s,installationId:s,episodeId:s,eventId:s,sessionId:s,parentSessionId:s.nullable(),turnId:s.nullable(),callId:s,occurredAt:w,sequence:e.number().int().nonnegative(),adapterVersion:e.string().min(1).max(200),sanitization:Le,contentHash:g}).strict(),R=T(e.discriminatedUnion("eventKind",[$.extend({eventKind:e.literal("attempt"),payload:Ve}).strict(),$.extend({eventKind:e.literal("observation"),payload:$e}).strict(),$.extend({eventKind:e.literal("recovery_link"),payload:Xe}).strict(),$.extend({eventKind:e.literal("verification"),payload:Ge}).strict(),$.extend({eventKind:e.literal("lineage"),payload:e.object({relation:e.enum(["fork","split","reopen"]),parentEpisode:h,parentSessionId:s,reason:x(1e3)}).strict()}).strict()]).superRefine((n,t)=>{let{contentHash:o,...i}=n;E(i)!==o&&t.addIssue({code:"custom",path:["contentHash"],message:"Episode event content hash mismatch."})}),c.eventBytes);function ae(n){let t=E(n);if(!n||typeof n!="object"||Array.isArray(n)||Object.hasOwn(n,"contentHash"))throw new Error("tool_episode_unsigned_envelope_required");return R.parse({...n,contentHash:t})}u(ae,"sealToolEpisodeEvent");var Se=T(e.object({schemaVersion:e.literal("openpond.toolEpisodeAppend.v1"),operationId:s,installationId:s,events:e.array(R).min(1).max(c.eventsPerAppend)}).strict().superRefine((n,t)=>{n.events.some(o=>o.installationId!==n.installationId)&&t.addIssue({code:"custom",path:["events"],message:"Append events must belong to the exact installation."}),new Set(n.events.map(o=>o.eventId)).size!==n.events.length&&t.addIssue({code:"custom",path:["events"],message:"Append event IDs must be unique."})}),c.eventBytes*c.eventsPerAppend),Re=e.object({schemaVersion:e.literal("openpond.toolEpisodeAppendReceipt.v1"),operationId:s,requestHash:g,installationId:s,teamId:s,projectId:s,receivedAt:w,events:e.array(e.object({eventId:s,contentHash:g,state:e.enum(["retained","already_retained","privacy_rejected"]),receiptId:s,reason:e.string().max(200).nullable()}).strict()).min(1).max(c.eventsPerAppend),learningEnrollment:e.literal(!1)}).strict();var V=e.object({revision:e.number().int().positive(),permittedTools:e.array(e.string().min(1).max(200)).min(1).max(100),workspaceRootHashes:e.array(g).min(1).max(32),permittedFields:e.array(e.enum(["action","intent","state","result_excerpt","artifact_reference"])).min(1).max(5),unchangedControls:e.object({numerator:e.number().int().nonnegative(),denominator:e.number().int().positive()}).strict(),maximumEventBytes:e.number().int().positive().max(c.eventBytes),maximumEpisodeBytes:e.number().int().positive().max(c.episodeBytes),maximumEpisodeEvents:e.number().int().positive().max(c.eventsPerEpisode),maximumQueueBytes:e.number().int().positive().max(c.queueBytes),maximumQueueEvents:e.number().int().positive().max(c.queueEvents),maximumQueueAgeSeconds:e.number().int().positive().max(c.queueAgeSeconds),rawRetentionDays:e.number().int().min(1).max(30),purposes:e.array(e.enum(["capture","consultation"])).min(1).max(2),modelUpdates:e.literal("requires_separate_review"),variantGeneration:e.literal("disabled")}).strict().superRefine((n,t)=>{n.unchangedControls.numerator>n.unchangedControls.denominator&&t.addIssue({code:"custom",path:["unchangedControls"],message:"Sampling probability cannot exceed one."});for(let o of["permittedTools","workspaceRootHashes","permittedFields","purposes"])new Set(n[o]).size!==n[o].length&&t.addIssue({code:"custom",path:[o],message:"Policy entries must be unique."});(n.maximumEpisodeBytes<n.maximumEventBytes||n.maximumQueueBytes<n.maximumEventBytes)&&t.addIssue({code:"custom",message:"Episode and queue capacities must fit one permitted event."})}),We=e.object({receipt:h.nullable(),start:e.enum(["observed","documented","unsupported","unqualified"]),resume:e.enum(["observed","documented","unsupported","unqualified"]),compaction:e.enum(["observed","documented","unsupported","unqualified"]),executionFailure:e.enum(["observed","documented","unsupported","unqualified"]),processFailure:e.enum(["observed","documented","unsupported","unqualified"]),validationFailure:e.enum(["observed","documented","unsupported","unqualified"]),nestedCalls:e.enum(["observed","documented","unsupported","unqualified"]),contextRefresh:e.enum(["session_start","start_resume","start_resume_compaction","revision_aware_turn","unqualified"]),gaps:e.array(e.string().min(1).max(500)).max(32)}).strict().superRefine((n,t)=>{Object.values(n).includes("observed")&&!n.receipt&&t.addIssue({code:"custom",path:["receipt"],message:"Observed coverage requires a qualification receipt."})}),we=T(e.object({schemaVersion:e.literal("openpond.toolLearningRegistration.v1"),operationId:s,installationId:s,projectId:s,machineSourceId:s,client:K,clientVersion:e.string().min(1).max(200),adapterRelease:h,collectionPolicy:V}).strict(),c.eventBytes),H=e.object({schemaVersion:e.literal("openpond.toolLearningInstallation.v1"),id:s,revision:e.number().int().positive(),scope:C,ownerUserId:s,machineSourceId:s,client:K,clientVersion:e.string().min(1).max(200),adapterRelease:h,state:e.enum(["pending_client_trust","enabled","disabled","revoked"]),collectionPolicy:V,collectionPolicyHash:g,coverage:We,credential:e.object({id:s,expiresAt:w,revokedAt:w.nullable(),capabilities:e.array(e.enum(["episode_append","manifest_read","consultation_submit","consultation_read"])).min(1).max(4)}).strict().nullable(),createdAt:w,updatedAt:w}).strict(),Ne=e.object({operationId:s,expectedRevision:e.number().int().positive(),state:e.enum(["enabled","disabled","revoked"])}).strict(),Ct=e.object({schemaVersion:e.literal("openpond.toolEpisodeOrigin.v1"),installationId:s,projectId:s,ownerUserId:s,episode:h,event:h,appendReceipt:h,purpose:e.literal("private_dataset_evidence"),trainingConsent:e.literal("not_granted")}).strict();import{DatabaseSync as Qe}from"node:sqlite";import{chmodSync as Ce,closeSync as Ze,existsSync as je,lstatSync as ce,mkdirSync as et,openSync as tt}from"node:fs";import{join as He}from"node:path";var Z=e.object({id:s,application:e.string().min(1).max(200),versions:e.array(e.string().min(1).max(200)).min(1).max(32),tools:e.array(e.string().min(1).max(200)).min(1).max(32),mode:e.literal("recovery"),routingInstruction:x(2e3),qualification:e.discriminatedUnion("kind",[e.object({kind:e.literal("integration"),receipt:h}).strict(),e.object({kind:e.literal("learned"),receipt:h,trainingRun:h,adapter:h,evaluation:h,activation:h}).strict()])}).strict(),Je=e.object({schemaVersion:e.literal("openpond.toolLearningManifest.v1"),installationId:s,scope:C,revision:e.number().int().positive(),contentHash:g,issuedAt:w,expiresAt:w,modelRelease:h,responseSchema:e.literal("openpond.toolLearningDecision.v1"),capabilities:e.array(Z).max(c.capabilities)}).strict().superRefine((n,t)=>{let{contentHash:o,...i}=n;E(i)!==o&&t.addIssue({code:"custom",path:["contentHash"],message:"Manifest content hash mismatch."});let a=Date.parse(n.expiresAt)-Date.parse(n.issuedAt);(a<=0||a>c.manifestSeconds*1e3)&&t.addIssue({code:"custom",path:["expiresAt"],message:"Manifest expiry exceeds the supported lifetime."}),new Set(n.capabilities.map(l=>l.id)).size!==n.capabilities.length&&t.addIssue({code:"custom",path:["capabilities"],message:"Capability IDs must be unique."})}),Oe=T(Je,c.consultationBytes),O=T(e.object({schemaVersion:e.literal("openpond.toolLearningConsultation.v1"),operationId:s,installationId:s,scope:C,sessionId:s,callId:s,capabilityId:s,manifestHash:g,modelRelease:h,mode:e.literal("recovery"),intent:x(2e3),action:P,actionHash:g,environment:j,contextHash:g,failure:e.object({message:x(c.resultBytes),observation:h}).strict(),round:e.number().int().min(1).max(c.consultationRounds)}).strict().superRefine((n,t)=>{E(n.action)!==n.actionHash&&t.addIssue({code:"custom",path:["actionHash"],message:"Consultation action hash mismatch."}),E({intent:n.intent,environment:n.environment,failure:n.failure})!==n.contextHash&&t.addIssue({code:"custom",path:["contextHash"],message:"Consultation context hash mismatch."})}),c.consultationBytes),se=e.discriminatedUnion("decision",[e.object({decision:e.literal("proceed")}).strict(),e.object({decision:e.literal("revise"),issues:e.array(e.object({category:e.string().min(1).max(120),feedback:x(2e3)}).strict()).min(1).max(8)}).strict(),e.object({decision:e.literal("needs_context"),missing:e.array(e.object({field:e.string().min(1).max(120),reason:x(500)}).strict()).min(1).max(8)}).strict()]),Ae={operationId:s,installationId:s,capabilityId:s,manifestHash:g,modelRelease:h,actionHash:g,contextHash:g},Ye=T(e.discriminatedUnion("state",[e.object({schemaVersion:e.literal("openpond.toolLearningDecision.v1"),...Ae,state:e.literal("completed"),decision:se,usageReceipt:h,completedAt:w}).strict(),e.object({schemaVersion:e.literal("openpond.toolLearningDecision.v1"),...Ae,state:e.literal("unavailable"),reason:e.enum(["disabled","revoked","expired_manifest","unsupported_scope","budget_exhausted","timeout","invalid_output","cancelled","dispatch_uncertain"]),usageReceipt:h.nullable()}).strict()]),c.consultationBytes);function re(n,t){let o=O.parse(n),i=Ye.parse(t);for(let a of["operationId","installationId","capabilityId","manifestHash","actionHash","contextHash"])if(o[a]!==i[a])throw new Error(`tool_learning_consultation_${a}_mismatch`);if(o.modelRelease.id!==i.modelRelease.id||o.modelRelease.contentHash!==i.modelRelease.contentHash)throw new Error("tool_learning_consultation_model_mismatch");return i}u(re,"assertToolLearningConsultationResponse");function le(n,t){let o=R.parse(n),i=V.parse(t);if(!i.purposes.includes("capture"))throw new Error("tool_learning_capture_not_enabled");if(o.sanitization.policyRevision!==i.revision||o.sanitization.policyHash!==E(i))throw new Error("tool_learning_capture_policy_changed");if(new TextEncoder().encode(JSON.stringify(o)).byteLength>i.maximumEventBytes)throw new Error("tool_learning_event_policy_limit");let a=u(l=>i.permittedFields.includes(l),"permits");if(o.eventKind==="attempt"){if(!i.permittedTools.includes(o.payload.tool.name))throw new Error("tool_learning_tool_outside_collection_policy");if(!a("action")||!a("intent")&&o.payload.intent!==""||!a("state")&&Object.keys(o.payload.environment.state).length>0||!a("artifact_reference")&&o.payload.contextAssets.length>0)throw new Error("tool_learning_attempt_field_outside_collection_policy")}if(o.eventKind==="observation"&&(!a("result_excerpt")&&(o.payload.resultExcerpt!==""||o.payload.outcome==="failed"&&o.payload.message!=="")||!a("artifact_reference")&&o.payload.assets.length>0))throw new Error("tool_learning_result_field_outside_collection_policy");if(o.eventKind==="verification"&&(!a("result_excerpt")&&o.payload.reason!==""||!a("artifact_reference")&&o.payload.outputArtifacts.length>0))throw new Error("tool_learning_verification_field_outside_collection_policy");if(o.eventKind==="lineage"&&!a("intent")&&o.payload.reason!=="")throw new Error("tool_learning_lineage_field_outside_collection_policy")}u(le,"assertToolEpisodeCapturePolicy");var de=e.object({schemaVersion:e.literal("openpond.localToolLearningInstallation.v1"),id:s,teamId:s,projectId:s,client:K,workspaceRoot:e.string().min(1).max(4e3),enabled:e.boolean(),policy:V,createdAt:e.iso.datetime({offset:!0})}).strict(),X=class{static{u(this,"ToolLearningLocalStore")}db;constructor(n){let t=He(n,"tool-learning");if(je(t)&&ce(t).isSymbolicLink())throw new Error("tool_learning_directory_symlink_forbidden");et(t,{recursive:!0,mode:448}),Ce(t,448);let o=He(t,"queue.sqlite");if(je(o)){if(!ce(o).isFile()||ce(o).isSymbolicLink())throw new Error("tool_learning_queue_file_invalid")}else Ze(tt(o,"wx",384));Ce(o,384),this.db=new Qe(o),this.db.exec("PRAGMA busy_timeout = 3000; PRAGMA journal_mode = WAL; PRAGMA synchronous = FULL;"),this.db.exec(`
|
|
3
3
|
CREATE TABLE IF NOT EXISTS installations (id TEXT PRIMARY KEY, payload TEXT NOT NULL);
|
|
4
4
|
CREATE TABLE IF NOT EXISTS events (
|
|
5
5
|
id TEXT PRIMARY KEY, installation_id TEXT NOT NULL, episode_id TEXT NOT NULL,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{k as H,o as O,q as U}from"./chunk-C7NQPICU.js";import{c as N}from"./chunk-BSHAIAXY.js";import{c as u,f as E,g as M,h as S}from"./chunk-3M53YXEI.js";import{f as L,h as _}from"./chunk-UGOK7VTC.js";import{a as l}from"./chunk-FTQLQJQV.js";import{readFile as x}from"node:fs/promises";import{request as J}from"node:http";import{randomUUID as V}from"node:crypto";import{createInterface as z}from"node:readline/promises";var F="http://127.0.0.1:17874",Y=128*1024*1024,W=new Set(["cancelled","completed","failed","succeeded"]);async function we(e,n,r={}){let t=n[0];if(t==="estimate"){await(await import("./training-hosted-XKSUTMLQ.js")).runHostedTrainingCommand(e,["hosted-estimate-model",...n.slice(1)]);return}if(t==="start"&&u(e,"teamId")){await(await import("./training-hosted-XKSUTMLQ.js")).runHostedTrainingCommand(e,["hosted-start-model",...n.slice(1)]);return}if(t?.startsWith("hosted-")){await(await import("./training-hosted-XKSUTMLQ.js")).runHostedTrainingCommand(e,n);return}let o=n[1];if(!t||!["start","status","watch","logs","cancel","resume","artifacts","benchmark","create-project","prepare-project","pull-project","projects","inspect-project"].includes(t)||!o&&t!=="projects")throw new Error("usage: training <projects|inspect-project|create-project|prepare-project|pull-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> [identifier]");if(n.length>2)throw new Error(`training ${t} accepts exactly one identifier`);if(t==="projects"&&o)throw new Error("training projects does not accept an identifier; use inspect-project <id>.");let s=t==="pull-project"?u(e,"profile"):null;if(t==="pull-project"&&!s)throw new Error("training pull-project requires --profile <local-profile-id>.");let a=N(e)??process.env.OPENPOND_LOCAL_API_URL?.replace(/\/$/,"")??F;if(["pull-project","projects","inspect-project","prepare-project"].includes(t)){let c=new URL(a);if(c.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(c.hostname)||c.username||c.password||c.search||c.hash||c.pathname!=="/")throw new Error(`training ${t} uses the local app's HTTP loopback API; the app resolves its signed-in hosted account.`)}let i=new q({baseUrl:a,request:r.request??await K(a,{maximumResponseBytes:Y,timeoutMs:t==="pull-project"?3e5:6e4})}),d=E(e.json);if(t==="projects"||t==="inspect-project"){b(await i.inspectProjects(t==="inspect-project"?o:void 0,u(e,"profile")??void 0),d);return}if(!o)throw new Error(`training ${t} requires an identifier.`);if(t==="pull-project"){let c=u(e,"snapshotFile"),g=c?await x(c):null;if(g&&g.byteLength>64*1024*1024)throw new Error("Model pull snapshot exceeds 64 MiB.");let P=g?JSON.parse(g.toString("utf8")):void 0;b(await i.pullHostedProject(o,s,P),d);return}if(t==="create-project"){let c=await Z({client:i,options:e,tasksetId:o});b(c,d);return}if(t==="prepare-project"){await(await import("./training-project-preparation-XWGRY5ME.js")).runProjectPreparation(i,o,e);return}if(t==="benchmark"){await Q({client:i,modelId:o,options:e,json:d,sleep:r.sleep});return}if(t==="resume"){let c=await i.modelRun(o,"resume","POST");b(c,d),await A({client:i,runId:o,json:d,intervalMs:S(e.intervalMs,"interval-ms")??2e3,sleep:r.sleep});return}if(t==="start"){await re({client:i,dependencies:r,json:d,modelRunId:o,options:e});return}if(t==="watch"){await A({client:i,runId:o,json:d,intervalMs:S(e.intervalMs,"interval-ms")??2e3,sleep:r.sleep});return}let w=t==="status"?"status":t==="logs"?"logs":t==="artifacts"?"artifacts":"cancel",y=await i.modelRun(o,w,t==="cancel"?"POST":"GET");b(y,d)}l(we,"runTrainingCommand");async function K(e,n={}){let r=new URL(e);if(r.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(r.hostname))return fetch;let t=(await x(_(L()).token,"utf8")).trim();if(!t)throw new Error("OpenPond local capability token is empty.");let o=n.maximumResponseBytes??8388608,s=n.timeoutMs??6e4;if(!Number.isSafeInteger(s)||s<1||s>864e5)throw new Error("Local request timeout must be between one millisecond and one day.");return(async(a,i={})=>{let d=a instanceof Request?new URL(a.url):new URL(String(a));if(d.origin!==r.origin||d.username||d.password)throw new Error("Local capability requests must remain on the selected server origin.");let w=new Headers(i.headers);w.set("authorization",`Bearer ${t}`);let y={};w.forEach((g,P)=>{y[P]=g});let c=i.signal?AbortSignal.any([i.signal,AbortSignal.timeout(s)]):AbortSignal.timeout(s);return new Promise((g,P)=>{let R=!1,h=J(d,{method:i.method??"GET",headers:y},m=>{let T=[],v=0;m.on("data",f=>{if(v+=f.byteLength,v>o){m.destroy(new Error(`Local response exceeds ${o} bytes.`));return}T.push(f)}),m.once("error",k),m.once("end",()=>{if(R)return;R=!0;let f=new Headers;for(let[j,I]of Object.entries(m.headers))if(Array.isArray(I))for(let G of I)f.append(j,G);else I!==void 0&&f.set(j,I);g(new Response(new Uint8Array(Buffer.concat(T)),{status:m.statusCode??500,statusText:m.statusMessage,headers:f}))})}),k=l(m=>{R||(R=!0,P(m))},"rejectOnce");if(h.once("error",k),c){let m=l(()=>h.destroy(c.reason instanceof Error?c.reason:new Error("Training API request aborted.")),"abort");c.aborted?m():c.addEventListener("abort",m,{once:!0})}if(i.body!==void 0&&i.body!==null){if(typeof i.body!="string"&&!(i.body instanceof Uint8Array)){h.destroy(new Error("Local Training API supports string or byte request bodies."));return}h.write(i.body)}h.end()})})}l(K,"createLocalAuthenticatedRequest");var q=class{static{l(this,"TrainingApiClient")}baseUrl;request;constructor(n){this.baseUrl=n.baseUrl.replace(/\/$/,""),this.request=n.request??fetch}async modelRun(n,r,t,o){let s=await this.json(`/v1/training/model-runs/${encodeURIComponent(n)}/${r}`,t,o);return await this.attachTraining({modelRunId:n}),s}prepareModelProject(n,r){return this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/prepare`,"POST",r)}async startModelProject(n,r){let t=await this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/start`,"POST",r),o=t&&typeof t=="object"&&"job"in t?t.job:null;return o&&typeof o=="object"&&"id"in o&&typeof o.id=="string"&&await this.attachTraining({jobId:o.id}),t}async attachTraining(n){let r=process.env.OPENPOND_CHAT_INVOCATION;if(r)try{await this.json("/v1/chat-experiments","POST",{action:"attach_training",payload:n,invocationToken:r})}catch(t){console.error(`Training operation succeeded, but chat attachment failed: ${t instanceof Error?t.message:String(t)}. Inspect the saved job to retry attachment; do not submit it again.`)}}trainingState(n){let r=n?`?profileId=${encodeURIComponent(n)}`:"";return this.json(`/v1/training${r}`,"GET")}inspectProjects(n,r){let t=r?`?profileId=${encodeURIComponent(r)}`:"";return this.json(`/v1/training/model-projects${n?`/${encodeURIComponent(n)}`:""}${t}`,"GET")}pullHostedProject(n,r,t){return this.json(`/v1/training/hosted-model-projects/${encodeURIComponent(n)}/pull`,"POST",{profileId:r,...t!==void 0?{snapshot:t}:{}})}startHarnessRefinerBenchmark(n,r){return this.json(`/v1/training/models/${encodeURIComponent(n)}/harness-refiner-benchmark`,"POST",r)}importTasksetDraftPackage(n){return this.json("/v1/training/taskset-drafts/import","POST",n)}publishTasksetDraft(n,r){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}/publish`,"POST",r?{modelId:r}:{})}tasksetReadiness(n){return this.json("/v1/training/readiness","POST",{tasksetId:n})}deleteTasksetDraft(n){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}`,"DELETE")}saveModelProject(n){return this.json("/v1/training/models","PUT",n)}prepareLocalModelProject(n,r){return this.json(`/v1/training/model-project-preparations/${r?"apply":"prepare"}`,"POST",n)}async json(n,r,t){let o=await this.request(`${this.baseUrl}${n}`,{method:r,headers:t===void 0?{Accept:"application/json"}:{Accept:"application/json","Content-Type":"application/json"},body:t===void 0?void 0:JSON.stringify(t)}),s=await o.text(),a=null;if(s)try{a=JSON.parse(s)}catch{a=s}if(!o.ok){let i=a&&typeof a=="object"&&"error"in a&&typeof a.error=="string"?a.error:`${o.status} ${o.statusText}`.trim();throw new Error(`Training API request failed: ${i}`)}return a}};async function Q(e){let n=await e.client.trainingState(u(e.options,"profile")),r=X(n,e.modelId),t=u(e.options,"provider")||"openpond",o=u(e.options,"model")||"openpond-chat",s=u(e.options,"reasoningEffort")||"high",a=M(e.options.maxSpend,"max-spend")??10;if(a<=0)throw new Error("max-spend must be greater than zero");if(E(e.options.detach))throw new Error("Harness Refiner benchmark runs must be watched to terminal state.");let i=await e.client.startHarnessRefinerBenchmark(e.modelId,{profileId:r.profileId,model:{providerId:t,modelId:o},reasoningEffort:s==="none"?"none":s,maximumSpendUsd:a});b(i,e.json);let d=p(i,"id");if(!d)throw new Error("Benchmark start did not return a Model Run id.");await A({client:e.client,runId:d,json:e.json,intervalMs:S(e.options.intervalMs,"interval-ms")??2e3,sleep:e.sleep})}l(Q,"startHarnessRefinerBenchmark");function X(e,n){if(!e||typeof e!="object"||!("modelProjects"in e))throw new Error("Training state did not include Models.");let t=(Array.isArray(e.modelProjects)?e.modelProjects:[]).find(s=>s&&typeof s=="object"&&"id"in s&&s.id===n),o=t&&typeof t=="object"?p(t,"profileId"):null;if(!o)throw new Error(`Model ${n} was not found.`);return{profileId:o}}l(X,"modelProject");function p(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return typeof r=="string"&&r?r:null}l(p,"objectString");async function Z(e){let n=u(e.options,"recipe");if(!n)throw new Error("training create-project requires --recipe <versioned-recipe.json>");let r=await te(n,"Training recipe"),t=u(e.options,"profile"),o=await e.client.trainingState(t),s=ne(o,"tasksets",e.tasksetId,"Taskset"),a=t||p(s,"profileId");if(!a)throw new Error(`The Taskset has no Profile id (received ${typeof s.profileId}: ${String(s.profileId)}).`);let i=p(s,"profileId");if(i!==a)throw new Error(`Taskset ${e.tasksetId} belongs to Profile ${i??"unknown"}, not ${a}.`);let d=u(e.options,"projectId")||`model_${V()}`,w=t?o:await e.client.trainingState(a),c=D(w,"modelProjects").find(j=>p(j,"id")===d),g=C(e.options,"rolloutPlacement",["local","remote"],"local"),P=C(e.options,"gpuPlacementObjective",["fast","balanced","economical"],"balanced"),R=C(e.options,"runPreset",["small","standard","custom","small_experiment"],"custom"),h=M(e.options.maxSpend,"max-spend")??null;if(h!==null&&h<0)throw new Error("max-spend must be non-negative");let k=S(e.options.retentionDays,"retention-days")??null;if(k!==null&&k<0)throw new Error("retention-days must be non-negative");let m=p(s,"contentHash"),T=B(s,"revision");if(!m||!T||T<1)throw new Error("The Taskset does not have an immutable published revision.");let v=p(r,"method");if(!v)throw new Error("Training recipe must declare its method.");let f=ee(r);if(c){let j=$(c,"trainingSetup"),I=$(j,"tasksetRef");if(p(I,"id")!==e.tasksetId||p(c,"profileId")!==a)throw new Error(`Model Project ${d} already exists for a different Profile or Taskset.`);if($(j,"baseModel"))throw new Error(`Model Project ${d} already exists.`);return e.client.saveModelProject(await U(O.parse({...O.strip().parse(c),defaultBaseModel:f,trainingSetup:{...j,baseModel:f,recipe:r}}),B(c,"revision")??1))}return e.client.saveModelProject(await U(O.parse({id:d,profileId:a,name:u(e.options,"name")||p(s,"name")||"Managed Model",objective:u(e.options,"objective")||p(s,"objective"),defaultBaseModel:f,defaultDestinationId:u(e.options,"destination")||"openpond_managed",trainingSetup:{tasksetRef:{id:e.tasksetId,revision:T,contentHash:m},tasksetRelease:null,harnessRelease:null,baseModel:f,method:v,destinationId:u(e.options,"destination")||"openpond_managed",managedRolloutPlacement:g,managedGpuPlacementObjective:P,managedGpuRequirement:"any",runPreset:R,recipe:r,preferredMaximumSpendUsd:h,preferredRetentionDays:k}}),0))}l(Z,"createManagedModelProject");function ee(e){let n=$(e,"baseModel"),r=p(n,"id"),t=p(n,"revision"),o=p(n,"tokenizerRevision"),s=p(n,"chatTemplateHash");if(!r||!t||!o||!s)throw new Error("Managed GRPO recipe must pin baseModel id, revision, tokenizerRevision, and chatTemplateHash.");return H.parse({schemaVersion:"openpond.baseModelPreference.v1",modelId:r,revision:t,tokenizerRevision:o,chatTemplateHash:s,modelAssetId:null,source:"managed"})}l(ee,"managedBasePreferenceFromRecipe");function ne(e,n,r,t){let o=D(e,n).find(s=>p(s,"id")===r);if(!o)throw new Error(`${t} ${r} was not found.`);return o}l(ne,"trainingStateRecord");function D(e,n){if(!e||typeof e!="object"||!(n in e))return[];let r=e[n];return Array.isArray(r)?r.filter(t=>!!t&&typeof t=="object"&&!Array.isArray(t)):[]}l(D,"trainingStateRecords");function B(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return typeof r=="number"&&Number.isFinite(r)?r:null}l(B,"objectNumber");function $(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return r&&typeof r=="object"&&!Array.isArray(r)?r:null}l($,"objectRecord");function C(e,n,r,t){let o=u(e,n)||t;if(!r.includes(o))throw new Error(`${n} must be one of ${r.join(", ")}`);return o}l(C,"enumOption");async function te(e,n){let r;try{r=JSON.parse(await x(e,"utf8"))}catch(t){throw new Error(`Could not read ${n} ${e}: ${t instanceof Error?t.message:String(t)}`)}if(!r||typeof r!="object"||Array.isArray(r))throw new Error(`${n} must be a JSON object.`);return r}l(te,"readJsonObject");async function re(e){let n=M(e.options.maxSpend,"max-spend")??null;if(n!==null&&n<0)throw new Error("max-spend must be non-negative");let r=S(e.options.retentionDays,"retention-days")??null;if(r!==null&&r<=0)throw new Error("retention-days must be a positive integer");let t=u(e.options,"manifest"),o=t?await oe(t):void 0,s=u(e.options,"comparisonSeriesEntry")||null,a={maximumSpendUsd:n,retentionDays:r},i=await e.client.prepareModelProject(e.modelRunId,a);if(e.json||(console.log("Preparation:"),console.log(JSON.stringify(i,null,2))),!(E(e.options.yes)||await se(e.dependencies.confirm)))throw new Error("Training start cancelled.");let w=await e.client.startModelProject(e.modelRunId,{...a,exportApproved:E(e.options.exportApproved),manifest:o,comparisonSeriesEntryId:s});if(b(w,e.json),E(e.options.detach))return;let y=ie(w)??e.modelRunId;await A({client:e.client,runId:y,json:e.json,intervalMs:2e3,sleep:e.dependencies.sleep})}l(re,"startTraining");async function A(e){if(e.intervalMs<250)throw new Error("interval-ms must be at least 250");let n=e.sleep??(t=>new Promise(o=>setTimeout(o,t))),r="";for(;;){let t=await e.client.modelRun(e.runId,"status","GET"),o=JSON.stringify(t);if((e.json||o!==r)&&(b(t,e.json),r=o),W.has(ae(t)))return;await n(e.intervalMs)}}l(A,"watchTraining");async function oe(e){let n;try{n=JSON.parse(await x(e,"utf8"))}catch(r){throw new Error(`Could not read Harness Run Manifest ${e}: ${r instanceof Error?r.message:String(r)}`)}if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Harness Run Manifest must be a JSON object.");return n}l(oe,"readManifest");async function se(e){let n="Start this exact prepared training run? Downloads, provisioning, or spend may begin.";if(e)return e(n);if(!process.stdin.isTTY||!process.stdout.isTTY)throw new Error("training start requires --yes when standard input is not interactive");let r=z({input:process.stdin,output:process.stdout});try{let t=await r.question(`${n} [y/N] `);return t.trim().toLowerCase()==="y"||t.trim().toLowerCase()==="yes"}finally{r.close()}}l(se,"confirmStart");function ie(e){if(!e||typeof e!="object")return null;let n="job"in e?e.job:null;return!n||typeof n!="object"||!("id"in n)?null:typeof n.id=="string"?n.id:null}l(ie,"readRunId");function ae(e){return!e||typeof e!="object"?"":"state"in e&&typeof e.state=="string"?e.state:"status"in e&&typeof e.status=="string"?e.status:""}l(ae,"readStatus");function b(e,n){if(n){console.log(JSON.stringify(e));return}console.log(JSON.stringify(e,null,2))}l(b,"printResult");export{F as a,Y as b,we as c,K as d,q as e};
|
|
2
|
+
import{k as H,o as O,q as U}from"./chunk-C7NQPICU.js";import{c as N}from"./chunk-BSHAIAXY.js";import{c as u,f as E,g as M,h as S}from"./chunk-3M53YXEI.js";import{f as L,h as _}from"./chunk-UGOK7VTC.js";import{a as l}from"./chunk-FTQLQJQV.js";import{readFile as x}from"node:fs/promises";import{request as J}from"node:http";import{randomUUID as V}from"node:crypto";import{createInterface as z}from"node:readline/promises";var F="http://127.0.0.1:17874",Y=128*1024*1024,W=new Set(["cancelled","completed","failed","succeeded"]);async function we(e,n,r={}){let t=n[0];if(t==="estimate"){await(await import("./training-hosted-NLXMISNL.js")).runHostedTrainingCommand(e,["hosted-estimate-model",...n.slice(1)]);return}if(t==="start"&&u(e,"teamId")){await(await import("./training-hosted-NLXMISNL.js")).runHostedTrainingCommand(e,["hosted-start-model",...n.slice(1)]);return}if(t?.startsWith("hosted-")){await(await import("./training-hosted-NLXMISNL.js")).runHostedTrainingCommand(e,n);return}let o=n[1];if(!t||!["start","status","watch","logs","cancel","resume","artifacts","benchmark","create-project","prepare-project","pull-project","projects","inspect-project"].includes(t)||!o&&t!=="projects")throw new Error("usage: training <projects|inspect-project|create-project|prepare-project|pull-project|start|status|watch|logs|cancel|resume|artifacts|benchmark> [identifier]");if(n.length>2)throw new Error(`training ${t} accepts exactly one identifier`);if(t==="projects"&&o)throw new Error("training projects does not accept an identifier; use inspect-project <id>.");let s=t==="pull-project"?u(e,"profile"):null;if(t==="pull-project"&&!s)throw new Error("training pull-project requires --profile <local-profile-id>.");let a=N(e)??process.env.OPENPOND_LOCAL_API_URL?.replace(/\/$/,"")??F;if(["pull-project","projects","inspect-project","prepare-project"].includes(t)){let c=new URL(a);if(c.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(c.hostname)||c.username||c.password||c.search||c.hash||c.pathname!=="/")throw new Error(`training ${t} uses the local app's HTTP loopback API; the app resolves its signed-in hosted account.`)}let i=new q({baseUrl:a,request:r.request??await K(a,{maximumResponseBytes:Y,timeoutMs:t==="pull-project"?3e5:6e4})}),d=E(e.json);if(t==="projects"||t==="inspect-project"){b(await i.inspectProjects(t==="inspect-project"?o:void 0,u(e,"profile")??void 0),d);return}if(!o)throw new Error(`training ${t} requires an identifier.`);if(t==="pull-project"){let c=u(e,"snapshotFile"),g=c?await x(c):null;if(g&&g.byteLength>64*1024*1024)throw new Error("Model pull snapshot exceeds 64 MiB.");let P=g?JSON.parse(g.toString("utf8")):void 0;b(await i.pullHostedProject(o,s,P),d);return}if(t==="create-project"){let c=await Z({client:i,options:e,tasksetId:o});b(c,d);return}if(t==="prepare-project"){await(await import("./training-project-preparation-XWGRY5ME.js")).runProjectPreparation(i,o,e);return}if(t==="benchmark"){await Q({client:i,modelId:o,options:e,json:d,sleep:r.sleep});return}if(t==="resume"){let c=await i.modelRun(o,"resume","POST");b(c,d),await A({client:i,runId:o,json:d,intervalMs:S(e.intervalMs,"interval-ms")??2e3,sleep:r.sleep});return}if(t==="start"){await re({client:i,dependencies:r,json:d,modelRunId:o,options:e});return}if(t==="watch"){await A({client:i,runId:o,json:d,intervalMs:S(e.intervalMs,"interval-ms")??2e3,sleep:r.sleep});return}let w=t==="status"?"status":t==="logs"?"logs":t==="artifacts"?"artifacts":"cancel",y=await i.modelRun(o,w,t==="cancel"?"POST":"GET");b(y,d)}l(we,"runTrainingCommand");async function K(e,n={}){let r=new URL(e);if(r.protocol!=="http:"||!["127.0.0.1","localhost","[::1]"].includes(r.hostname))return fetch;let t=(await x(_(L()).token,"utf8")).trim();if(!t)throw new Error("OpenPond local capability token is empty.");let o=n.maximumResponseBytes??8388608,s=n.timeoutMs??6e4;if(!Number.isSafeInteger(s)||s<1||s>864e5)throw new Error("Local request timeout must be between one millisecond and one day.");return(async(a,i={})=>{let d=a instanceof Request?new URL(a.url):new URL(String(a));if(d.origin!==r.origin||d.username||d.password)throw new Error("Local capability requests must remain on the selected server origin.");let w=new Headers(i.headers);w.set("authorization",`Bearer ${t}`);let y={};w.forEach((g,P)=>{y[P]=g});let c=i.signal?AbortSignal.any([i.signal,AbortSignal.timeout(s)]):AbortSignal.timeout(s);return new Promise((g,P)=>{let R=!1,h=J(d,{method:i.method??"GET",headers:y},m=>{let T=[],v=0;m.on("data",f=>{if(v+=f.byteLength,v>o){m.destroy(new Error(`Local response exceeds ${o} bytes.`));return}T.push(f)}),m.once("error",k),m.once("end",()=>{if(R)return;R=!0;let f=new Headers;for(let[j,I]of Object.entries(m.headers))if(Array.isArray(I))for(let G of I)f.append(j,G);else I!==void 0&&f.set(j,I);g(new Response(new Uint8Array(Buffer.concat(T)),{status:m.statusCode??500,statusText:m.statusMessage,headers:f}))})}),k=l(m=>{R||(R=!0,P(m))},"rejectOnce");if(h.once("error",k),c){let m=l(()=>h.destroy(c.reason instanceof Error?c.reason:new Error("Training API request aborted.")),"abort");c.aborted?m():c.addEventListener("abort",m,{once:!0})}if(i.body!==void 0&&i.body!==null){if(typeof i.body!="string"&&!(i.body instanceof Uint8Array)){h.destroy(new Error("Local Training API supports string or byte request bodies."));return}h.write(i.body)}h.end()})})}l(K,"createLocalAuthenticatedRequest");var q=class{static{l(this,"TrainingApiClient")}baseUrl;request;constructor(n){this.baseUrl=n.baseUrl.replace(/\/$/,""),this.request=n.request??fetch}async modelRun(n,r,t,o){let s=await this.json(`/v1/training/model-runs/${encodeURIComponent(n)}/${r}`,t,o);return await this.attachTraining({modelRunId:n}),s}prepareModelProject(n,r){return this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/prepare`,"POST",r)}async startModelProject(n,r){let t=await this.json(`/v1/training/model-projects/${encodeURIComponent(n)}/training/start`,"POST",r),o=t&&typeof t=="object"&&"job"in t?t.job:null;return o&&typeof o=="object"&&"id"in o&&typeof o.id=="string"&&await this.attachTraining({jobId:o.id}),t}async attachTraining(n){let r=process.env.OPENPOND_CHAT_INVOCATION;if(r)try{await this.json("/v1/chat-experiments","POST",{action:"attach_training",payload:n,invocationToken:r})}catch(t){console.error(`Training operation succeeded, but chat attachment failed: ${t instanceof Error?t.message:String(t)}. Inspect the saved job to retry attachment; do not submit it again.`)}}trainingState(n){let r=n?`?profileId=${encodeURIComponent(n)}`:"";return this.json(`/v1/training${r}`,"GET")}inspectProjects(n,r){let t=r?`?profileId=${encodeURIComponent(r)}`:"";return this.json(`/v1/training/model-projects${n?`/${encodeURIComponent(n)}`:""}${t}`,"GET")}pullHostedProject(n,r,t){return this.json(`/v1/training/hosted-model-projects/${encodeURIComponent(n)}/pull`,"POST",{profileId:r,...t!==void 0?{snapshot:t}:{}})}startHarnessRefinerBenchmark(n,r){return this.json(`/v1/training/models/${encodeURIComponent(n)}/harness-refiner-benchmark`,"POST",r)}importTasksetDraftPackage(n){return this.json("/v1/training/taskset-drafts/import","POST",n)}publishTasksetDraft(n,r){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}/publish`,"POST",r?{modelId:r}:{})}tasksetReadiness(n){return this.json("/v1/training/readiness","POST",{tasksetId:n})}deleteTasksetDraft(n){return this.json(`/v1/training/taskset-drafts/${encodeURIComponent(n)}`,"DELETE")}saveModelProject(n){return this.json("/v1/training/models","PUT",n)}prepareLocalModelProject(n,r){return this.json(`/v1/training/model-project-preparations/${r?"apply":"prepare"}`,"POST",n)}async json(n,r,t){let o=await this.request(`${this.baseUrl}${n}`,{method:r,headers:t===void 0?{Accept:"application/json"}:{Accept:"application/json","Content-Type":"application/json"},body:t===void 0?void 0:JSON.stringify(t)}),s=await o.text(),a=null;if(s)try{a=JSON.parse(s)}catch{a=s}if(!o.ok){let i=a&&typeof a=="object"&&"error"in a&&typeof a.error=="string"?a.error:`${o.status} ${o.statusText}`.trim();throw new Error(`Training API request failed: ${i}`)}return a}};async function Q(e){let n=await e.client.trainingState(u(e.options,"profile")),r=X(n,e.modelId),t=u(e.options,"provider")||"openpond",o=u(e.options,"model")||"openpond-chat",s=u(e.options,"reasoningEffort")||"high",a=M(e.options.maxSpend,"max-spend")??10;if(a<=0)throw new Error("max-spend must be greater than zero");if(E(e.options.detach))throw new Error("Harness Refiner benchmark runs must be watched to terminal state.");let i=await e.client.startHarnessRefinerBenchmark(e.modelId,{profileId:r.profileId,model:{providerId:t,modelId:o},reasoningEffort:s==="none"?"none":s,maximumSpendUsd:a});b(i,e.json);let d=p(i,"id");if(!d)throw new Error("Benchmark start did not return a Model Run id.");await A({client:e.client,runId:d,json:e.json,intervalMs:S(e.options.intervalMs,"interval-ms")??2e3,sleep:e.sleep})}l(Q,"startHarnessRefinerBenchmark");function X(e,n){if(!e||typeof e!="object"||!("modelProjects"in e))throw new Error("Training state did not include Models.");let t=(Array.isArray(e.modelProjects)?e.modelProjects:[]).find(s=>s&&typeof s=="object"&&"id"in s&&s.id===n),o=t&&typeof t=="object"?p(t,"profileId"):null;if(!o)throw new Error(`Model ${n} was not found.`);return{profileId:o}}l(X,"modelProject");function p(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return typeof r=="string"&&r?r:null}l(p,"objectString");async function Z(e){let n=u(e.options,"recipe");if(!n)throw new Error("training create-project requires --recipe <versioned-recipe.json>");let r=await te(n,"Training recipe"),t=u(e.options,"profile"),o=await e.client.trainingState(t),s=ne(o,"tasksets",e.tasksetId,"Taskset"),a=t||p(s,"profileId");if(!a)throw new Error(`The Taskset has no Profile id (received ${typeof s.profileId}: ${String(s.profileId)}).`);let i=p(s,"profileId");if(i!==a)throw new Error(`Taskset ${e.tasksetId} belongs to Profile ${i??"unknown"}, not ${a}.`);let d=u(e.options,"projectId")||`model_${V()}`,w=t?o:await e.client.trainingState(a),c=D(w,"modelProjects").find(j=>p(j,"id")===d),g=C(e.options,"rolloutPlacement",["local","remote"],"local"),P=C(e.options,"gpuPlacementObjective",["fast","balanced","economical"],"balanced"),R=C(e.options,"runPreset",["small","standard","custom","small_experiment"],"custom"),h=M(e.options.maxSpend,"max-spend")??null;if(h!==null&&h<0)throw new Error("max-spend must be non-negative");let k=S(e.options.retentionDays,"retention-days")??null;if(k!==null&&k<0)throw new Error("retention-days must be non-negative");let m=p(s,"contentHash"),T=B(s,"revision");if(!m||!T||T<1)throw new Error("The Taskset does not have an immutable published revision.");let v=p(r,"method");if(!v)throw new Error("Training recipe must declare its method.");let f=ee(r);if(c){let j=$(c,"trainingSetup"),I=$(j,"tasksetRef");if(p(I,"id")!==e.tasksetId||p(c,"profileId")!==a)throw new Error(`Model Project ${d} already exists for a different Profile or Taskset.`);if($(j,"baseModel"))throw new Error(`Model Project ${d} already exists.`);return e.client.saveModelProject(await U(O.parse({...O.strip().parse(c),defaultBaseModel:f,trainingSetup:{...j,baseModel:f,recipe:r}}),B(c,"revision")??1))}return e.client.saveModelProject(await U(O.parse({id:d,profileId:a,name:u(e.options,"name")||p(s,"name")||"Managed Model",objective:u(e.options,"objective")||p(s,"objective"),defaultBaseModel:f,defaultDestinationId:u(e.options,"destination")||"openpond_managed",trainingSetup:{tasksetRef:{id:e.tasksetId,revision:T,contentHash:m},tasksetRelease:null,harnessRelease:null,baseModel:f,method:v,destinationId:u(e.options,"destination")||"openpond_managed",managedRolloutPlacement:g,managedGpuPlacementObjective:P,managedGpuRequirement:"any",runPreset:R,recipe:r,preferredMaximumSpendUsd:h,preferredRetentionDays:k}}),0))}l(Z,"createManagedModelProject");function ee(e){let n=$(e,"baseModel"),r=p(n,"id"),t=p(n,"revision"),o=p(n,"tokenizerRevision"),s=p(n,"chatTemplateHash");if(!r||!t||!o||!s)throw new Error("Managed GRPO recipe must pin baseModel id, revision, tokenizerRevision, and chatTemplateHash.");return H.parse({schemaVersion:"openpond.baseModelPreference.v1",modelId:r,revision:t,tokenizerRevision:o,chatTemplateHash:s,modelAssetId:null,source:"managed"})}l(ee,"managedBasePreferenceFromRecipe");function ne(e,n,r,t){let o=D(e,n).find(s=>p(s,"id")===r);if(!o)throw new Error(`${t} ${r} was not found.`);return o}l(ne,"trainingStateRecord");function D(e,n){if(!e||typeof e!="object"||!(n in e))return[];let r=e[n];return Array.isArray(r)?r.filter(t=>!!t&&typeof t=="object"&&!Array.isArray(t)):[]}l(D,"trainingStateRecords");function B(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return typeof r=="number"&&Number.isFinite(r)?r:null}l(B,"objectNumber");function $(e,n){if(!e||typeof e!="object"||!(n in e))return null;let r=e[n];return r&&typeof r=="object"&&!Array.isArray(r)?r:null}l($,"objectRecord");function C(e,n,r,t){let o=u(e,n)||t;if(!r.includes(o))throw new Error(`${n} must be one of ${r.join(", ")}`);return o}l(C,"enumOption");async function te(e,n){let r;try{r=JSON.parse(await x(e,"utf8"))}catch(t){throw new Error(`Could not read ${n} ${e}: ${t instanceof Error?t.message:String(t)}`)}if(!r||typeof r!="object"||Array.isArray(r))throw new Error(`${n} must be a JSON object.`);return r}l(te,"readJsonObject");async function re(e){let n=M(e.options.maxSpend,"max-spend")??null;if(n!==null&&n<0)throw new Error("max-spend must be non-negative");let r=S(e.options.retentionDays,"retention-days")??null;if(r!==null&&r<=0)throw new Error("retention-days must be a positive integer");let t=u(e.options,"manifest"),o=t?await oe(t):void 0,s=u(e.options,"comparisonSeriesEntry")||null,a={maximumSpendUsd:n,retentionDays:r},i=await e.client.prepareModelProject(e.modelRunId,a);if(e.json||(console.log("Preparation:"),console.log(JSON.stringify(i,null,2))),!(E(e.options.yes)||await se(e.dependencies.confirm)))throw new Error("Training start cancelled.");let w=await e.client.startModelProject(e.modelRunId,{...a,exportApproved:E(e.options.exportApproved),manifest:o,comparisonSeriesEntryId:s});if(b(w,e.json),E(e.options.detach))return;let y=ie(w)??e.modelRunId;await A({client:e.client,runId:y,json:e.json,intervalMs:2e3,sleep:e.dependencies.sleep})}l(re,"startTraining");async function A(e){if(e.intervalMs<250)throw new Error("interval-ms must be at least 250");let n=e.sleep??(t=>new Promise(o=>setTimeout(o,t))),r="";for(;;){let t=await e.client.modelRun(e.runId,"status","GET"),o=JSON.stringify(t);if((e.json||o!==r)&&(b(t,e.json),r=o),W.has(ae(t)))return;await n(e.intervalMs)}}l(A,"watchTraining");async function oe(e){let n;try{n=JSON.parse(await x(e,"utf8"))}catch(r){throw new Error(`Could not read Harness Run Manifest ${e}: ${r instanceof Error?r.message:String(r)}`)}if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Harness Run Manifest must be a JSON object.");return n}l(oe,"readManifest");async function se(e){let n="Start this exact prepared training run? Downloads, provisioning, or spend may begin.";if(e)return e(n);if(!process.stdin.isTTY||!process.stdout.isTTY)throw new Error("training start requires --yes when standard input is not interactive");let r=z({input:process.stdin,output:process.stdout});try{let t=await r.question(`${n} [y/N] `);return t.trim().toLowerCase()==="y"||t.trim().toLowerCase()==="yes"}finally{r.close()}}l(se,"confirmStart");function ie(e){if(!e||typeof e!="object")return null;let n="job"in e?e.job:null;return!n||typeof n!="object"||!("id"in n)?null:typeof n.id=="string"?n.id:null}l(ie,"readRunId");function ae(e){return!e||typeof e!="object"?"":"state"in e&&typeof e.state=="string"?e.state:"status"in e&&typeof e.status=="string"?e.status:""}l(ae,"readStatus");function b(e,n){if(n){console.log(JSON.stringify(e));return}console.log(JSON.stringify(e,null,2))}l(b,"printResult");export{F as a,Y as b,we as c,K as d,q as e};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as E,c as g}from"./chunk-
|
|
2
|
+
import{a as E,c as g}from"./chunk-MXDSB2C5.js";import{g as v}from"./chunk-U73T66FP.js";import{v as C}from"./chunk-ZY32SZ2P.js";import{n as h}from"./chunk-RCT3O3HQ.js";import{A as p}from"./chunk-X2J2P5ZT.js";import{a as d}from"./chunk-FTQLQJQV.js";function _(n){let i=new Map;async function f(e){C(e,8388608);let o=v.parse(e);if(o.kind==="profile")return n.executeProfile(o.request);let s=h(o),l=i.get(o.id);if(l){if(l.hash!==s)throw new Error("Experiment case operation already owns different admitted inputs.");return l.result}if(i.size>=100)throw new Error("Experiment case execution capacity reached.");let c=new AbortController,a=x(o,c.signal);i.set(o.id,{hash:s,controller:c,result:a});try{return await a}finally{i.delete(o.id)}}d(f,"execute");async function x(e,o){let s=AbortSignal.any([o,AbortSignal.timeout(e.timeoutMs)]);if(s.throwIfAborted(),e.harness){if(!n.executeHarness||e.environment.kind!=="text")throw new Error("The selected standalone Harness has no compatible native Experiment adapter.");return n.executeHarness(e,s)}let l=await n.resolvePolicy(e);if(s.throwIfAborted(),e.environment.kind==="javascript"){let r=n.resolveEnvironment?await n.resolveEnvironment(e):g;return E({taskId:e.taskId,instructions:`${e.instructions}
|
|
3
3
|
${JSON.stringify({policyVisibleContext:e.policyVisibleContext})}`,input:e.input,definition:e.environment.definition,asset:e.environment.asset,initialState:e.environment.initialState,seed:e.environment.seed,timeoutMs:e.timeoutMs,execute:r,policy:l,signal:s})}let c=[{role:"system",text:e.instructions},{role:"user",text:JSON.stringify({input:e.input,policyVisibleContext:e.policyVisibleContext})}],a=null,u=null,m="completed";try{let r=await l({messages:c,tools:[],signal:s});if(s.throwIfAborted(),r.toolCalls.length)throw new Error("Text cases do not support tool calls.");a=r.text,c.push({role:"assistant",text:r.text,toolCalls:[]})}catch(r){u=r instanceof Error?r.message:"Experiment policy failed.",m=o.aborted?"cancelled":s.aborted?"timed_out":"policy_failure"}let t={schemaVersion:"openpond.javascriptEnvironmentAttempt.v1",taskId:e.taskId,status:m,output:a,error:u,messages:c,collected:m==="completed",environmentCleanupComplete:!0,snapshot:null};return{...t,contentHash:h(t)}}return d(x,"run"),{execute:f,cancel(e){let o=i.get(e);return o?.controller.abort(new Error("experiment_case_cancelled")),{id:e,cancelled:!!o}},async close(){for(let e of i.values())e.controller.abort(new Error("experiment_runtime_closed"));await Promise.allSettled([...i.values()].map(e=>e.result))}}}d(_,"createExperimentCaseService");function A(n){let i=0,f=new Map;return async({messages:x,tools:e,signal:o})=>{let s=`experiment:${n.request.id}:${i++}`,l=0,c=x.map(t=>{if(t.role==="tool")return{role:"tool",tool_call_id:t.callId,name:t.name,content:JSON.stringify(t.observation)};if(t.role==="assistant"){let r=f.get(l++);return{role:"assistant",content:t.text,...r?{continuation:r}:{},...t.toolCalls.length?{tool_calls:t.toolCalls.map(y=>({id:y.id,type:"function",function:{name:y.name,arguments:JSON.stringify(y.arguments)}}))}:{}}}return{role:t.role,content:t.text}}),a="",u=[],m;for await(let t of n.stream({model:n.request.model.modelId,messages:[...n.request.model.messages,...c],tools:e.map(r=>({type:"function",function:{name:r.name,description:r.description,parameters:r.inputSchema}})),requestId:s,maxTokens:n.request.model.maxOutputTokens,temperature:n.request.model.temperature,topP:n.request.model.topP,signal:o})){if(o.throwIfAborted(),t.type==="text_delta"&&(a+=t.text,a.length>262144))throw new Error("Experiment policy response exceeded its retained-output limit.");if(t.type==="tool_call_delta"&&(u=t.toolCalls,u.length>200))throw new Error("Experiment policy response exceeded its tool-call limit.");t.type==="continuation"&&(m=t.continuation),t.type==="usage"&&await n.onUsage?.({requestId:s,usage:t.usage})}return m&&f.set(i-1,m),{text:a,toolCalls:u.map(t=>({id:p.string().min(1).parse(t.id),name:p.string().min(1).parse(t.function?.name),arguments:p.record(p.string(),p.unknown()).parse(JSON.parse(p.string().parse(t.function?.arguments)))}))}}}d(A,"createLocalExperimentPolicy");export{_ as a,A as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as v}from"./chunk-KVTBX2UP.js";import{a as c}from"./chunk-
|
|
2
|
+
import{a as v}from"./chunk-KVTBX2UP.js";import{a as c}from"./chunk-FDYWGE2Y.js";import{h as m,j as d}from"./chunk-6ESBAHWK.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
3
|
|
|
4
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};
|