openpond 0.2.71 → 0.2.72
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-VWPJ2EL4.js → acp-7A2UPCG5.js} +1 -1
- package/dist/chunks/{acp-agent-OZHZMQ6R.js → acp-agent-AGALGR6V.js} +1 -1
- package/dist/chunks/{app-layer-OHPIYEOJ.js → app-layer-DUCNCJ2X.js} +1 -1
- package/dist/chunks/{app-server-evaluations-Y5UEF2Y7.js → app-server-evaluations-SNWXULKD.js} +1 -1
- package/dist/chunks/{app-server-harness-services-GUHAIIPS.js → app-server-harness-services-YNMGMKPK.js} +1 -1
- package/dist/chunks/{app-server-runtime-CH5STRJP.js → app-server-runtime-BKJ7L6JZ.js} +1 -1
- package/dist/chunks/{apps-DNLT6P4J.js → apps-2OWE23BH.js} +1 -1
- package/dist/chunks/chunk-2Q2AWPP2.js +2 -0
- package/dist/chunks/{chunk-WXG3G2O6.js → chunk-2THZ6GZY.js} +1 -1
- package/dist/chunks/{chunk-3JYPUOK4.js → chunk-4JKWCLTQ.js} +1 -1
- package/dist/chunks/{chunk-D2V2Y3FB.js → chunk-5TPJ5ECJ.js} +1 -1
- package/dist/chunks/{chunk-O5ZOW474.js → chunk-5TTQCT3G.js} +1 -1
- package/dist/chunks/{chunk-AVEHWUML.js → chunk-5WFKBZCU.js} +1 -1
- package/dist/chunks/{chunk-VJYOKU3C.js → chunk-6OD2FKUS.js} +1 -1
- package/dist/chunks/{chunk-SSHE6B7Z.js → chunk-AITV76GO.js} +1 -1
- package/dist/chunks/{chunk-PLROXHG2.js → chunk-ATI52WMB.js} +1 -1
- package/dist/chunks/{chunk-XJU47QS2.js → chunk-AWD72O3G.js} +1 -1
- package/dist/chunks/{chunk-HUMNLSCV.js → chunk-BUMCJHQP.js} +1 -1
- package/dist/chunks/{chunk-OTG77H7U.js → chunk-CAYKEJJY.js} +1 -1
- package/dist/chunks/{chunk-WAUFXZ5B.js → chunk-CHRED2FK.js} +1 -1
- package/dist/chunks/{chunk-USTDWGR4.js → chunk-CQRA5TXF.js} +1 -1
- package/dist/chunks/{chunk-ESOIZG2G.js → chunk-CX4U32VO.js} +4 -4
- package/dist/chunks/{chunk-PXQZOVSV.js → chunk-DFSQ5HZ7.js} +1 -1
- package/dist/chunks/{chunk-GUWNSMGH.js → chunk-EHMA5XS7.js} +1 -1
- package/dist/chunks/{chunk-5LKEVB2P.js → chunk-ENY24ZBB.js} +1 -1
- package/dist/chunks/{chunk-PJJSQ4ZI.js → chunk-F3IEAU7O.js} +1 -1
- package/dist/chunks/{chunk-B7SCVTE6.js → chunk-FOAM3YZQ.js} +1 -1
- package/dist/chunks/{chunk-VV4K5YPD.js → chunk-GPGXBKXU.js} +1 -1
- package/dist/chunks/{chunk-LMLGEOKV.js → chunk-HA762QYM.js} +1 -1
- package/dist/chunks/{chunk-XNPTLJ5Z.js → chunk-HBGTHOOB.js} +1 -1
- package/dist/chunks/{chunk-ER2VONWQ.js → chunk-IA6CTX7A.js} +1 -1
- package/dist/chunks/{chunk-23YW5PAQ.js → chunk-JALL5NPH.js} +1 -1
- package/dist/chunks/{chunk-OQ4RWCYI.js → chunk-JSDGOQ5U.js} +1 -1
- package/dist/chunks/{chunk-F2EUZG2W.js → chunk-KOIXRLZZ.js} +1 -1
- package/dist/chunks/{chunk-ZG3DBXQG.js → chunk-KRJZ5CW3.js} +1 -1
- package/dist/chunks/{chunk-OKPV6MBX.js → chunk-KTQWWCP2.js} +6 -6
- package/dist/chunks/{chunk-VND53FAU.js → chunk-KUEVP7WM.js} +1 -1
- package/dist/chunks/{chunk-U7D6Q744.js → chunk-L5L3H6CI.js} +1 -1
- package/dist/chunks/{chunk-TWLPZHH7.js → chunk-LHTRQAPZ.js} +1 -1
- package/dist/chunks/{chunk-SNBFWBJI.js → chunk-MLLMLXKG.js} +1 -1
- package/dist/chunks/{chunk-KASHK2U5.js → chunk-MPXOPL7R.js} +1 -1
- package/dist/chunks/{chunk-PHZZBXDO.js → chunk-MQMMJKOZ.js} +1 -1
- package/dist/chunks/{chunk-USKCFST5.js → chunk-MWPMYCYB.js} +1 -1
- package/dist/chunks/{chunk-DNNWMOMG.js → chunk-N5FT6PTI.js} +1 -1
- package/dist/chunks/{chunk-RJY4EI46.js → chunk-PYPXP5R3.js} +1 -1
- package/dist/chunks/{chunk-SRJTQS2D.js → chunk-QKBMXL4D.js} +3 -3
- package/dist/chunks/{chunk-7PDF2UX2.js → chunk-RIFWD5XM.js} +1 -1
- package/dist/chunks/{chunk-IFMWAOBR.js → chunk-RWBP2H4M.js} +1 -1
- package/dist/chunks/{chunk-7SOHV5BH.js → chunk-S5ACNR5Y.js} +1 -1
- package/dist/chunks/{chunk-3JVZ7OCQ.js → chunk-SRK4WX7D.js} +1 -1
- package/dist/chunks/{chunk-33UVQ7DU.js → chunk-T6ML5SCD.js} +1 -1
- package/dist/chunks/{chunk-UMRQKE3W.js → chunk-TD5YYA5Z.js} +1 -1
- package/dist/chunks/{chunk-OEAKX5TS.js → chunk-TR5UC5AF.js} +1 -1
- package/dist/chunks/{chunk-UKTPX2EE.js → chunk-UCPD526R.js} +1 -1
- package/dist/chunks/{chunk-RP4DPUN2.js → chunk-UZE3C2SF.js} +1 -1
- package/dist/chunks/{chunk-XBAB3HMA.js → chunk-V4VM2R6D.js} +1 -1
- package/dist/chunks/{chunk-ASMQTMQB.js → chunk-VMBWCIGG.js} +1 -1
- package/dist/chunks/{chunk-OFV26C2U.js → chunk-VXFGSFIE.js} +2 -2
- package/dist/chunks/{chunk-IJJ7FYZE.js → chunk-W4JBPYGW.js} +1 -1
- package/dist/chunks/{chunk-E57PUTV2.js → chunk-WMJEQK4G.js} +1 -1
- package/dist/chunks/{chunk-AT3ZYNX4.js → chunk-X2MJFTLS.js} +1 -1
- package/dist/chunks/{chunk-QN4CFJQC.js → chunk-X7ZMUWJO.js} +1 -1
- package/dist/chunks/{chunk-6BTX66SV.js → chunk-ZSWATWK2.js} +1 -1
- package/dist/chunks/{cli-5JARGJOD.js → cli-KXU5DNVV.js} +1 -1
- package/dist/chunks/{command-AI3SMEAH.js → command-X35I53H3.js} +3 -3
- package/dist/chunks/{configuration-command-NPA46ZOT.js → configuration-command-VJUK34UQ.js} +1 -1
- package/dist/chunks/{connected-app-executor-DLC23O43.js → connected-app-executor-JBFJF2H5.js} +1 -1
- package/dist/chunks/{connected-evidence-TVORI55Q.js → connected-evidence-CQ533AML.js} +1 -1
- package/dist/chunks/{connected-starting-assets-WGGBWH4K.js → connected-starting-assets-RL5X6LZ7.js} +1 -1
- package/dist/chunks/{continual-UHQI2EQD.js → continual-PHGIZFF6.js} +1 -1
- package/dist/chunks/{core-commands-QNZUBKOC.js → core-commands-5DYMDWXY.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-OBMJLGA4.js → dataset-preparation-authoring-UDSX33YK.js} +1 -1
- package/dist/chunks/{datasets-USJLJOEQ.js → datasets-BW4JFUUU.js} +1 -1
- package/dist/chunks/{desktop-test-IYHAOR47.js → desktop-test-RIG4CB2Z.js} +1 -1
- package/dist/chunks/{evaluation-coordination-UJENK4WQ.js → evaluation-coordination-6QJ6XTUX.js} +1 -1
- package/dist/chunks/{experiment-improvements-6GJMKIER.js → experiment-improvements-2XF63AQ4.js} +1 -1
- package/dist/chunks/{experiments-FZHILSC6.js → experiments-3S2BVNK6.js} +1 -1
- package/dist/chunks/{experiments-signal-E32CWBS4.js → experiments-signal-IRBHGGW5.js} +1 -1
- package/dist/chunks/{help-32DLAPJR.js → help-Q2VMJVTR.js} +1 -1
- package/dist/chunks/{host-profile-evaluation-tools-QAV2UGSB.js → host-profile-evaluation-tools-5LZQHA32.js} +1 -1
- package/dist/chunks/{hosted-app-server-composition-5DVBKNV3.js → hosted-app-server-composition-AYZM2HY6.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-YQ24C54D.js → hosted-experiment-improvement-SMZJYRJ7.js} +1 -1
- package/dist/chunks/{hosted-harness-runtime-KLIORGWV.js → hosted-harness-runtime-QWIFAITG.js} +1 -1
- package/dist/chunks/{hosted-profile-candidate-RCWFLOVJ.js → hosted-profile-candidate-WOMWAE5N.js} +1 -1
- package/dist/chunks/{hosted-profile-compiler-UDG4BCEW.js → hosted-profile-compiler-NZ2BXN32.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-control-4R3L4FTK.js → hosted-profile-evaluation-control-3ECFFM7E.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-NA4SSY7N.js → hosted-profile-evaluation-inspection-TM7RKONG.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-B4BW6JTB.js → hosted-profile-evaluation-preparation-2MZIRT75.js} +1 -1
- package/dist/chunks/{human-review-D6QCZLYN.js → human-review-PG4WWVWV.js} +1 -1
- package/dist/chunks/{import-UCG75PN5.js → import-FAZAVZBF.js} +1 -1
- package/dist/chunks/{local-harness-improvement-runtime-GZBMBZB2.js → local-harness-improvement-runtime-OYLTKMJU.js} +1 -1
- package/dist/chunks/{local-harness-taskset-review-YVP2ZQJG.js → local-harness-taskset-review-I7YU4RZI.js} +1 -1
- package/dist/chunks/{opchat-APJUUTT7.js → opchat-TCZA6373.js} +1 -1
- package/dist/chunks/{opchat-bounded-chat-PBUSUAY2.js → opchat-bounded-chat-GMYDXLWB.js} +1 -1
- package/dist/chunks/{organizations-WK6EZ6L3.js → organizations-PYKGA2P2.js} +1 -1
- package/dist/chunks/{profile-BQMS7ALQ.js → profile-GYYI555I.js} +1 -1
- package/dist/chunks/{project-action-payload-CGV77JSA.js → project-action-payload-FE6M2OXJ.js} +1 -1
- package/dist/chunks/{project-agent-XVFYTEUQ.js → project-agent-4ISJFMJD.js} +1 -1
- package/dist/chunks/{published-experiment-source-2CYFIRBL.js → published-experiment-source-E2YAJCLM.js} +1 -1
- package/dist/chunks/{refiner-profile-service-OLJHA4DI.js → refiner-profile-service-LKGXD5WJ.js} +1 -1
- package/dist/chunks/{runtime-32KYSVZR.js → runtime-UDLOZD4Y.js} +2 -2
- package/dist/chunks/{sandbox-command-OY3VZXGG.js → sandbox-command-4J6DAY7T.js} +1 -1
- package/dist/chunks/{sandbox-template-YOOSJ4FK.js → sandbox-template-TSXWJMWG.js} +1 -1
- package/dist/chunks/{saved-work-L4KNWLZB.js → saved-work-QTEBKVUB.js} +1 -1
- package/dist/chunks/{send-turn-YLY3YNEQ.js → send-turn-4MH4WMLW.js} +1 -1
- package/dist/chunks/{setup-EU6CMRXQ.js → setup-IVT2FQSE.js} +1 -1
- package/dist/chunks/{src-HYOTHMRX.js → src-DC7N2H7A.js} +2 -2
- package/dist/chunks/{src-3DJR7OAH.js → src-TOSQX36I.js} +1 -1
- package/dist/chunks/{store-chat-resources-HISLEZZM.js → store-chat-resources-QLXKKYYC.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-ORWHS57V.js → store-continual-support-reviews-4F2BOG3H.js} +1 -1
- package/dist/chunks/{store-conversation-serving-5UGYKEGJ.js → store-conversation-serving-EUD47W6X.js} +1 -1
- package/dist/chunks/{store-create-improve-APLPTVYQ.js → store-create-improve-QUOTNNIM.js} +1 -1
- package/dist/chunks/{store-datasets-HDW6IYBL.js → store-datasets-ZUC7CNVO.js} +1 -1
- package/dist/chunks/{store-evaluation-results-KB2UDCF3.js → store-evaluation-results-LHHPHESK.js} +1 -1
- package/dist/chunks/{store-human-review-IURNTX3C.js → store-human-review-7WZWRJ6X.js} +1 -1
- package/dist/chunks/{store-learned-preference-migration-validation-TH2LKQWV.js → store-learned-preference-migration-validation-MVNKBR4X.js} +1 -1
- package/dist/chunks/{store-local-experiments-M4V5RLHJ.js → store-local-experiments-HB53QFLL.js} +1 -1
- package/dist/chunks/{store-model-batch-review-DDZLWVTG.js → store-model-batch-review-O3I6GIAA.js} +1 -1
- package/dist/chunks/{store-model-configuration-ATOFA5OH.js → store-model-configuration-CDIGNU6Q.js} +1 -1
- package/dist/chunks/{store-model-project-preparation-ZRSCQEQR.js → store-model-project-preparation-QMQ2HMJV.js} +1 -1
- package/dist/chunks/{store-modification-recordings-YJIDUPVJ.js → store-modification-recordings-W4VEZKKQ.js} +1 -1
- package/dist/chunks/{store-sidebar-file-bookmarks-WLMYDA4E.js → store-sidebar-file-bookmarks-KAEDHVVF.js} +1 -1
- package/dist/chunks/{store-sidebar-preferences-AFMYIDWT.js → store-sidebar-preferences-QPBLTHY6.js} +1 -1
- package/dist/chunks/{store-subagents-KFPVSTRO.js → store-subagents-ZELQP3MX.js} +1 -1
- package/dist/chunks/{store-task-inbox-L53OT6ZC.js → store-task-inbox-4ZDQR2E7.js} +1 -1
- package/dist/chunks/{store-task-inventory-R2JJGAHW.js → store-task-inventory-CTIJDLYE.js} +1 -1
- package/dist/chunks/{store-taskset-drafts-FPNJPFPO.js → store-taskset-drafts-FRPBYLTW.js} +1 -1
- package/dist/chunks/{store-training-DIBW7OMP.js → store-training-WQAYUT7B.js} +1 -1
- package/dist/chunks/{store-training-jobs-K7I4SXWW.js → store-training-jobs-O5EHGTH7.js} +1 -1
- package/dist/chunks/{store-training-models-LCSB37YY.js → store-training-models-YSZMC66T.js} +1 -1
- package/dist/chunks/{taskset-XI5SJBJL.js → taskset-OVYM4QMS.js} +1 -1
- package/dist/chunks/{teams-bot-CYC5TR64.js → teams-bot-U2M3ORWR.js} +1 -1
- package/dist/chunks/{tool-learning-52QZIJIR.js → tool-learning-NXVR4YPA.js} +1 -1
- package/dist/chunks/{training-GDLLLXSV.js → training-EQ7G5FDY.js} +1 -1
- package/dist/chunks/{training-RL7UUBER.js → training-LQUAL4Y4.js} +1 -1
- package/dist/chunks/{training-UJ62NOJJ.js → training-PEZYJ2SN.js} +1 -1
- package/dist/chunks/{training-hosted-V5CHG3M3.js → training-hosted-XKSUTMLQ.js} +1 -1
- package/dist/chunks/{training-hosted-alphaedit-R5PVATV4.js → training-hosted-alphaedit-VCOEYLKK.js} +1 -1
- package/dist/chunks/{training-hosted-decision-WNK5DE3M.js → training-hosted-decision-IKWWXA56.js} +1 -1
- package/dist/chunks/{training-hosted-engram-ZQDOKXAV.js → training-hosted-engram-3TOPPVSW.js} +1 -1
- package/dist/chunks/{training-hosted-modification-comparison-KKI5CKOH.js → training-hosted-modification-comparison-C6S4JFHW.js} +1 -1
- package/dist/chunks/{training-hosted-neuron-training-CFWEDRSR.js → training-hosted-neuron-training-EP2U4PHG.js} +1 -1
- package/dist/chunks/{training-hosted-serving-report-N4NF5AVW.js → training-hosted-serving-report-KJMRZJLQ.js} +1 -1
- package/dist/chunks/{training-hosted-steering-4MDUQ2YV.js → training-hosted-steering-I27DV6A2.js} +1 -1
- package/dist/chunks/{training-model-start-NOA6TYQK.js → training-model-start-NWXNGRDC.js} +1 -1
- package/dist/chunks/{workspaces-EK62ANTB.js → workspaces-FVQYJPOS.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/skills/manifest.json +1 -1
- package/dist/web/assets/{App-L7RV4D0A.js → App-QM6Y2Eod.js} +4 -4
- package/dist/web/assets/{AppDialog-B2V84J7f.js → AppDialog-C8um481a.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-DfYpUDKT.js → AppTerminalPanel-OwNr-bp6.js} +2 -2
- package/dist/web/assets/{AppToastContext-DuiPouLz.js → AppToastContext-BQ4iRFif.js} +1 -1
- package/dist/web/assets/{AppsView-B20RHDCy.js → AppsView-mk8m_Cra.js} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-l-GRNxaz.js → AttachmentTypeIcon-SITPqTtF.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-Ce0ToS2O.js → BrowserSidebar-BghdIKTB.js} +1 -1
- package/dist/web/assets/{CartesianChart-CtfMRAfp.js → CartesianChart-BdRx7q_O.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-DzcucW20.js → ChatTimelineEntry-BBOnAzJB.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-BpmKjNAC.js → CollaborationTabs-Beja-9s5.js} +1 -1
- package/dist/web/assets/{CommandMenu-JXsoxijv.js → CommandMenu-CQtrSUpu.js} +1 -1
- package/dist/web/assets/{CommunityView-ggdn8pcH.js → CommunityView-LPTAakS-.js} +1 -1
- package/dist/web/assets/{ComposerAttachments-BMmALUs_.js → ComposerAttachments-DI-Gr7Zw.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-DcM1bkfu.js → ComposerCreateImproveStrip-CY5Uw1yc.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-BKNeARHI.js → ConversationImportsSettings-DFwhKERw.js} +1 -1
- package/dist/web/assets/{DatasetReviewImport-DyFOE0Q0.js → DatasetReviewImport-C9xraQk7.js} +1 -1
- package/dist/web/assets/{ExperimentTrainingDataWorkspace-CfOyoMrq.js → ExperimentTrainingDataWorkspace-Cx58S6R_.js} +2 -2
- package/dist/web/assets/{FilePagePreview-B7bWObJN.js → FilePagePreview-dlbmR8s8.js} +2 -2
- package/dist/web/assets/{GetStartedView-BYbFl93M.js → GetStartedView-BkTV_shK.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-UgreDozV.js → GettingStartedDialog-DulDLYnr.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-C_kng2U_.js → HostedModelLearningReview--fXJEOfI.js} +1 -1
- package/dist/web/assets/{HostedModelLearningSettings-aesD_ifF.js → HostedModelLearningSettings-BEb7B_PC.js} +1 -1
- package/dist/web/assets/{HtmlVisual-nvl1x-jh.js → HtmlVisual-BS61T2qR.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-DrdoNvI-.js → LabModelVersionDetailPage-CmzUIDbR.js} +1 -1
- package/dist/web/assets/{LabModelWorkspace-CHlhzG3q.js → LabModelWorkspace-DoAnQKWk.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-CqHeZzoj.js → LabSkillSidebar-DJTm7ZQs.js} +1 -1
- package/dist/web/assets/{LabsRoute-DzEbPpMK.js → LabsRoute-DNtBot4a.js} +4 -4
- package/dist/web/assets/{LearningBatchesPage-A2dFQW2j.js → LearningBatchesPage-C_oQjciE.js} +1 -1
- package/dist/web/assets/{MainChatThread-BSvKu4e5.js → MainChatThread-D9e-to8e.js} +2 -2
- package/dist/web/assets/{MainPane-DiWIAxMj.js → MainPane-mWeD0M-f.js} +6 -6
- package/dist/web/assets/{ModelProjectPageHeader-lu6iRXHK.js → ModelProjectPageHeader-BecKU_2p.js} +1 -1
- package/dist/web/assets/{NativeSetupTerminal-kZ-nFPE8.js → NativeSetupTerminal-DO0DN4fH.js} +2 -2
- package/dist/web/assets/{NativeSkillSidebar-DkkD1uH2.js → NativeSkillSidebar-jnxgQASC.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-Dg8dMEpc.js → NewProjectDialog-ByHR4vMf.js} +1 -1
- package/dist/web/assets/{OutputsPage-Dz190U9t.js → OutputsPage-DZY4BUCy.js} +1 -1
- package/dist/web/assets/{PageChrome-Bncv-ps0.js → PageChrome-DjPuwWsn.js} +1 -1
- package/dist/web/assets/{ProjectsPage-DVkYvLtd.js → ProjectsPage-DKbwhIM4.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-CP4leenI.js → RightChatPanelStack-BARH0XuL.js} +1 -1
- package/dist/web/assets/RightSidebarHomePanel-qKL8dZrN.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-DI0mgt82.js → ScheduledWorkPage-CElrmRz9.js} +1 -1
- package/dist/web/assets/{SettingsView-cCtkr089.js → SettingsView-CsFSjE9s.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-DCQTuswJ.js → TasksetDraftEditorPrimitives-DJoYkvWq.js} +1 -1
- package/dist/web/assets/{TeamChatView-BBEomfQ7.js → TeamChatView-D9Y4e98Y.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-Dj5NUDMp.js → TerminalOverlay-CUO8yZjy.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-Ds4PLfsd.js → TrainingCreationPanel-_mnLQ1HA.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-BAuh_BF3.js → TrainingDraftPanel-CCqQTHo5.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-DbzeatcW.js → UsageSettingsSection-CdWq5oYC.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-DRXaK-E6.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-xk-ve1MO.js → WorkspaceDiffPanel-CdHr8bX6.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-D8GSuoYz.js → WorkspaceEnvironmentMenu-BnUh4dg9.js} +1 -1
- package/dist/web/assets/{WorkspaceFileLocation-Dl8M2ZKN.js → WorkspaceFileLocation-VzrSq_Ki.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-9BhLjYx4.js → WorkspaceGitDialogs-nwvQOm9r.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-DYPuC7pj.js → WorkspaceMonacoEditor-m3bCIpZe.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-B7BI9tLR.js → WorkspacePdfPreview-u6Iv0qr0.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-sP7JUT7m.js → WorkspacePresentationPreview-CjvTjhUO.js} +1 -1
- package/dist/web/assets/{bot-D7M8ZtE6.js → bot-DiDSZBLn.js} +1 -1
- package/dist/web/assets/{chat-resources-DhKAnljP.js → chat-resources-CmBtWC5V.js} +1 -1
- package/dist/web/assets/chevron-down-CqxKXYPf.js +1 -0
- package/dist/web/assets/chevron-right-ClP6ukIq.js +1 -0
- package/dist/web/assets/chevron-up-DY7wpdJ1.js +1 -0
- package/dist/web/assets/{chunk-C3TS766N-DENE60SE.js → chunk-C3TS766N-DSA4vs-Y.js} +1 -1
- package/dist/web/assets/{client-gy7zrd7a.js → client-_uDCFdg5.js} +1 -1
- package/dist/web/assets/{client-choice-storage-DYZsrVr9.js → client-choice-storage-CRKZpilL.js} +1 -1
- package/dist/web/assets/{cloud-upload-De-XSMUr.js → cloud-upload-CWamjPts.js} +1 -1
- package/dist/web/assets/{copy-DEK20zbZ.js → copy-B56YjDkW.js} +1 -1
- package/dist/web/assets/{cssMode-Dau-Fhqf.js → cssMode-BuC9qQvo.js} +1 -1
- package/dist/web/assets/{external-link-DwDry0Fb.js → external-link-BSn21e-y.js} +1 -1
- package/dist/web/assets/{folder-open-DOb4AjV6.js → folder-open-CaJGWSr2.js} +1 -1
- package/dist/web/assets/{folder-plus-BAouDaXv.js → folder-plus-eTUep-az.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-DZbHXcai.js → git-commit-horizontal-Buk_hy6T.js} +1 -1
- package/dist/web/assets/{htmlMode-DlNEe6hu.js → htmlMode-D7kF2kDL.js} +1 -1
- package/dist/web/assets/{icons-OQhKVrDc.js → icons-B4B5eUyR.js} +1 -1
- package/dist/web/assets/{image-BkYJDChH.js → image--4h1aK2l.js} +1 -1
- package/dist/web/assets/{index-M_h2Ok4V.js → index-CCaTs7xt.js} +2 -2
- package/dist/web/assets/{info-Mj5lp4Ic.js → info-DjMTH4sJ.js} +1 -1
- package/dist/web/assets/{jsonMode-CyOEyonV.js → jsonMode-BVX_7KjE.js} +1 -1
- package/dist/web/assets/loader-circle-DNHvEoaP.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-DAYPzatg.js → lspLanguageFeatures-RBOb-3wX.js} +1 -1
- package/dist/web/assets/{maximize-2-BwFXSX6b.js → maximize-2-Cjg-f1xT.js} +1 -1
- package/dist/web/assets/{message-square-C2nqfNLn.js → message-square-oIMQDMc3.js} +1 -1
- package/dist/web/assets/{monaco.contribution-BZcNCJER.js → monaco.contribution-CIbGU5-C.js} +2 -2
- package/dist/web/assets/{monaco.contribution-KyLdVay7.js → monaco.contribution-CIwt2mTE.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BZkfRhss.js → monaco.contribution-Dd1cPdSS.js} +2 -2
- package/dist/web/assets/{monaco.contribution-D7_X8TXe.js → monaco.contribution-KRLNg324.js} +2 -2
- package/dist/web/assets/{monitor-B0Qj5Wea.js → monitor-BWaitd6I.js} +1 -1
- package/dist/web/assets/{paperclip-CmrRruxi.js → paperclip-FYK6OySO.js} +1 -1
- package/dist/web/assets/{pdf-BM-9_48p.js → pdf-DbwlsqZP.js} +1 -1
- package/dist/web/assets/play-DieChKfF.js +1 -0
- package/dist/web/assets/plus-DkfcQyma.js +1 -0
- package/dist/web/assets/{presentation-BYxhoSIo.js → presentation-B6MaAPC7.js} +1 -1
- package/dist/web/assets/{python-B3Mj03I5.js → python-DRYJxjiM.js} +1 -1
- package/dist/web/assets/{refresh-cw-CwEmO71D.js → refresh-cw-DOVpqCfJ.js} +1 -1
- package/dist/web/assets/{save-S--FOuce.js → save-BuyyyR4Q.js} +1 -1
- package/dist/web/assets/{settings-lists-ChqDppMP.js → settings-lists-BeAdxSjx.js} +1 -1
- package/dist/web/assets/square-D0YnIVh6.js +1 -0
- package/dist/web/assets/{square-terminal-CawpQtCi.js → square-terminal-DTOIZy6_.js} +1 -1
- package/dist/web/assets/{submit-issue-command-CFitxxmO.js → submit-issue-command-V--K9lVQ.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-D-cMCvXx.js → toggleHighContrast-nNzCoE0h.js} +1 -1
- package/dist/web/assets/training-DZgfVcI-.js +1 -0
- package/dist/web/assets/{training-model-data-G-D64935.js → training-model-data-CWoTokkb.js} +1 -1
- package/dist/web/assets/{tsMode-9kzS1ijG.js → tsMode-BfVi5_FZ.js} +1 -1
- package/dist/web/assets/{upload-CtYsSYrM.js → upload-C2MnlWjj.js} +1 -1
- package/dist/web/assets/{useAccountSettings-DYYa6puz.js → useAccountSettings-QwRbZIKu.js} +1 -1
- package/dist/web/assets/{useAgentInventory-c5B_Tszj.js → useAgentInventory-B7xEgMCA.js} +1 -1
- package/dist/web/assets/{useChatContextSelection-DOISZpTz.js → useChatContextSelection-O6wo4EqD.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-QJ8RsMKm.js → useLocalAgentSchedules-DpHnOGoV.js} +1 -1
- package/dist/web/assets/{useQuery-DuTGOe2b.js → useQuery-CvZ8bzdW.js} +1 -1
- package/dist/web/assets/{wifi-off-BOfP4Vmg.js → wifi-off-B8d12Alh.js} +1 -1
- package/dist/web/assets/{workers-BwGpyrdj.js → workers-sIVKxb8c.js} +1 -1
- package/dist/web/assets/x-BvVvVB-j.js +1 -0
- package/dist/web/assets/{yaml-BU4IWV_7.js → yaml-8-aLM3zj.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-NK2L5HA2.js +0 -2
- package/dist/web/assets/RightSidebarHomePanel-C0etQXpt.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-BaNuXoZc.js +0 -1
- package/dist/web/assets/chevron-down-BAEcJitl.js +0 -1
- package/dist/web/assets/chevron-right-3G9s2cQ9.js +0 -1
- package/dist/web/assets/chevron-up-DTYF52H1.js +0 -1
- package/dist/web/assets/loader-circle-DXVtGvuV.js +0 -1
- package/dist/web/assets/play-CkACZ6Zo.js +0 -1
- package/dist/web/assets/plus-CB258e62.js +0 -1
- package/dist/web/assets/square-BmPfHjGU.js +0 -1
- package/dist/web/assets/training-CzbWtx75.js +0 -1
- package/dist/web/assets/x-5_iy6IDd.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{b}from"./chunk-
|
|
2
|
+
import{b}from"./chunk-UCPD526R.js";import{ja as M}from"./chunk-2THZ6GZY.js";import{Qb as x,m as T,v as A}from"./chunk-D6L6UNUQ.js";import{n as c,o as S}from"./chunk-RCT3O3HQ.js";import{A as I}from"./chunk-X2J2P5ZT.js";import{a as R}from"./chunk-FTQLQJQV.js";function j(e,a,i){if(a==="agent_action"){let n=e.find(u=>u.name==="workspace_action_result"&&u.action==="profile_workflow_action")?.output;if(typeof n!="string")throw new Error("Profile Agent action evaluation did not produce a released action result.");return n}if(i==="completed"){let n=[...e].reverse().find(s=>s.name==="turn.completed"),r=n?.data?.providerResponse,o=n?.data;if(!r&&o?.turn?.status==="completed"){let s=[...e].reverse().find(t=>P(t)!==null);if(!s)throw new Error("Native Profile evaluation has no retained final answer.");let d=P(s);return e.filter(t=>P(t)===d).map(t=>t.output??"").join("")}if(typeof r?.requestId!="string"||!r.requestId||typeof r.contentHash!="string")throw new Error("Profile evaluation has no retained final provider response.");let p=e.filter(s=>s.name==="assistant.delta"&&s.data?.providerRequestId===r.requestId).map(s=>s.output??"").join("");if(c(p)!==r.contentHash)throw new Error("Profile evaluation final provider response differs from its retained trace.");return b(e)??p}return e.filter(n=>n.name==="assistant.delta"&&typeof n.output=="string").map(n=>n.output??"").join("")}R(j,"profileEvaluationOutput");function P(e){let a=e.data;return e.name==="assistant.delta"&&a?.provider==="codex"&&a.phase==="final_answer"&&typeof a.itemId=="string"?a.itemId:null}R(P,"nativeFinalAnswerItemId");async function _(e){let{store:a,manifest:i,receipt:n}=e;if(!n.metadata.retainedEvidenceRef)return null;let u=x.parse(n.metadata.retainedEvidenceRef),[r,o]=await Promise.all([a.getSession(u.sessionId),a.getTurn(u.turnId)]),p=r?.metadata?.profileEvaluationRun,s=i.profileEvaluation;if(!r||!o||o.sessionId!==r.id||!s||!r.currentProfile||c(r.currentProfile)!==c(e.profileRef)||c(p)!==c({id:i.id,contentHash:i.contentHash})||r.metadata?.taskId!==n.taskId||r.metadata?.seed!==n.seed||!o.completedAt||o.completedAt!==n.completedAt||o.startedAt!==n.startedAt||!o.harnessSnapshot||o.harnessSnapshot.harnessRelease.id!==s.harnessRelease.id||o.harnessSnapshot.harnessRelease.contentHash!==s.harnessRelease.contentHash||i.policy.kind!=="model"||!o.modelRef||o.modelRef.providerId!==i.policy.model.provider||o.modelRef.modelId!==i.policy.model.model)throw new Error("Retained Profile policy turn differs from its admitted case.");let d=await a.runtimeEventsForTurn(o.id);if(d.some(v=>v.turnId!==o.id)||c(d)!==n.traceHash)throw new Error("Retained Profile policy trace differs from its immutable receipt.");let t=j(d,s.target.kind,o.status);if(n.outputHash!==null&&c({text:t})!==n.outputHash)throw new Error("Retained Profile output differs from its immutable receipt.");let m=n.artifactRefs.flatMap(v=>{let y=d.filter(l=>(l.action==="work_output_save"||l.action==="sandbox_save_output")&&l.status==="completed").flatMap(l=>{let C=l.data&&typeof l.data=="object"?l.data:{},k=M.safeParse(C.outputRef);return k.success?[k.data]:[]}).filter(l=>l.sourceTaskId===r.id&&l.sourceTurnId===o.id&&`${r.id}/${l.id}/${l.revision}/${l.title}`===v.id&&l.sha256===v.contentHash&&l.sizeBytes===v.sizeBytes&&l.contentType===v.mediaType);if(y.length!==1)throw new Error("The case output has no unique sealed saved-file identity.");let h=y[0];if(h.location.kind!=="managed")return[];let H=`/api/work/outputs/${encodeURIComponent(h.location.fileId)}`;if(h.location.downloadPath!==H)throw new Error("The saved output has no canonical managed download route.");return[{id:h.id,title:h.title,revision:h.revision,contentType:h.contentType,sizeBytes:h.sizeBytes,sha256:h.sha256,downloadPath:H}]}),f=await a.listModelUsageRecords({sessionId:r.id,turnId:o.id,limit:1e4}),E=e.eventAfterId?d.findIndex(v=>v.id===e.eventAfterId):-1;if(e.eventAfterId&&E<0)throw new Error("Profile trace cursor is unavailable in this case.");let g=E+1,q=Math.max(1,Math.min(250,e.eventLimit??100)),w=d.slice(g,g+q);return{ref:u,prompt:o.prompt,output:n.outputHash===null?null:{text:t},partialOutput:n.outputHash===null&&t?{text:t}:null,error:o.error,events:w,eventCount:d.length,nextEventCursor:g+w.length<d.length?w.at(-1).id:null,files:m,usage:f,usageCoverage:f.length===1e4?"partial":"complete"}}R(_,"readProfileEvaluationPolicyEvidence");var W=I.object({runId:I.string().trim().min(1).max(240),receiptId:I.string().trim().min(1).max(500).optional(),eventAfterId:I.string().trim().min(1).max(500).optional(),eventLimit:I.number().int().min(1).max(250).optional(),manifest:A.optional()}).strict().refine(e=>e.receiptId||!e.eventAfterId&&!e.eventLimit,"Select a case before requesting its trace page.").refine(e=>!e.manifest||e.receiptId,"Interrupted-run inspection requires one exact case.");async function D(e){let a=await e.store.getProfileEvaluationRun(e.runId);if(a&&c(a.profileRef)!==c(e.profileRef))throw new Error("Profile evaluation run is unavailable in the selected Profile.");let i=a?.manifest??e.manifest;if(!i||!a&&!e.receiptId)throw new Error("Profile evaluation run is unavailable in the selected Profile.");if(a){if(e.manifest&&e.manifest.contentHash!==a.manifest.contentHash)throw new Error("Profile evaluation run differs from its pinned manifest.")}else if(S(i,"Interrupted Profile evaluation manifest"),i.id!==e.runId||i.profileEvaluation?.profileId!==e.profileRef.profileId||e.profileRef.source==="openpond_git"&&i.metadata.profileRepositoryId!==e.profileRef.repositoryId)throw new Error("Profile evaluation run is unavailable in the selected Profile.");let n=i.population.map((r,o)=>({member:r,index:o})).filter(({member:r})=>!e.receiptId||r.receiptId===e.receiptId);if(e.receiptId&&n.length!==1)throw new Error("Profile evaluation case is unavailable in the selected run.");let u=await Promise.all(n.map(async({member:r,index:o})=>{let p=a?null:await e.store.getProfileEvaluationReceipt(r.receiptId),s=a?.receiptRefs[o]??(p?{id:p.id,contentHash:p.contentHash}:null),d=a?.gradeRefs[o]??p?.graderEvidenceRefs[0];if(!s||!d)throw new Error("Profile evaluation run has incomplete case evidence.");let[t,m]=await Promise.all([e.store.getProfileEvaluationReceipt(s.id),e.store.getProfileEvaluationGrade(d.contentHash)]);if(!t||!a&&!T(t)||t.contentHash!==s.contentHash||t.id!==r.receiptId||t.taskId!==r.taskId||t.seed!==r.seed||t.runManifest.id!==i.id||t.runManifest.contentHash!==i.contentHash||!m||m.contentHash!==d.contentHash||!t.graderEvidenceRefs.some(f=>f.id===d.id&&f.contentHash===d.contentHash))throw new Error("Profile evaluation case evidence differs from its retained run.");return{taskId:r.taskId,seed:r.seed,receiptId:t.id,receiptHash:t.contentHash,traceHash:t.traceHash,outputHash:t.outputHash,score:m.score,passed:m.passed,gradingStatus:m.gradingStatus,failureClass:m.failureClass,artifactCount:t.artifactRefs.length,latencyMs:t.latencyMs,costUsd:t.costUsd,terminal:t.terminal,feedback:m.components.map(f=>({graderId:f.graderId,graderVersion:f.graderVersion,score:f.score,passed:f.passed,feedback:f.feedback})),...e.receiptId?{receipt:t,evidence:await _({store:e.store,profileRef:e.profileRef,manifest:i,receipt:t,eventAfterId:e.eventAfterId,eventLimit:e.eventLimit})}:{}}}));return{runId:i.id,sourceRevision:i.profileEvaluation?.sourceRevision??null,cases:u}}R(D,"inspectProfileEvaluationRun");export{j as a,W as b,D as c};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{Hg as l,Kg as h,Lg as E,Mg as w,Sg as f,aa as d,fe as u,ra as p}from"./chunk-
|
|
2
|
+
import{Hg as l,Kg as h,Lg as E,Mg as w,Sg as f,aa as d,fe as u,ra as p}from"./chunk-AWD72O3G.js";import{c as i,f as m,h as g}from"./chunk-3M53YXEI.js";import{a as c}from"./chunk-FTQLQJQV.js";var M=new Set(["hosted-engram-capability","hosted-compile-engram","hosted-prepare-engram","hosted-start-engram","hosted-cancel-engram","hosted-engram-execution","hosted-engram-executions","hosted-save-engram-model","hosted-control-engram-serving"]);async function k(x){let{action:r,target:s,teamId:n,options:o,client:t,readInput:y}=x;if(r==="hosted-engram-execution"){if(!s)throw new Error("Supply the original Engram execution ID.");return t.getEngramExecution(n,s)}if(r==="hosted-engram-executions"){if(s)throw new Error("List Engram executions using filters.");let e=f.parse(Object.fromEntries(Object.entries({id:i(o,"id")||void 0,projectId:i(o,"projectId")||void 0,phase:i(o,"phase")||void 0,cursor:i(o,"cursor")||void 0,limit:g(o.limit,"--limit")}).filter(([,I])=>I!==void 0)));return t.listEngramExecutions(n,e)}let a=await y();if(r==="hosted-control-engram-serving"){let e=p.parse(a);if(e.request.teamId!==n)throw new Error("Use the Model's original workspace.");if(e.request.action==="activate"&&!m(o.yes))throw new Error("Activating billed serving capacity requires --yes.");return t.controlEngramModelServing(e.modelProjectId,e.request)}if(r==="hosted-engram-capability"){let e=u.parse(a);if(e.teamId!==n)throw new Error("Use this input's original workspace.");return t.engramExecutionCapability(e)}if(r==="hosted-compile-engram"){let e=l.parse(a);if(e.teamId!==n)throw new Error("Use this input's original workspace.");return t.compileEngramExecution(e)}if(r==="hosted-prepare-engram"){let e=h.parse(a);if(e.teamId!==n)throw new Error("Use this input's original workspace.");return t.prepareEngramExecution(e)}if(r==="hosted-start-engram"){let e=E.parse(a);if(e.teamId!==n)throw new Error("Use this execution's original workspace.");if(!m(o.yes))throw new Error("Starting paid Engram training requires --yes.");return t.startEngramExecution(e)}if(r==="hosted-cancel-engram"){let e=w.parse(a);if(e.teamId!==n)throw new Error("Use this execution's original workspace.");return t.cancelEngramExecution(e)}if(r==="hosted-save-engram-model"){let e=d.parse(a);if(e.teamId!==n)throw new Error("Use this result's original workspace.");return t.saveEngramResultModel(e)}throw new Error("Unsupported Engram command.")}c(k,"runHostedEngramCommand");export{M as a,k as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as gc,b as hc,c as gi,d as hi}from"./chunk-USKCFST5.js";import{A as Kd,B as Vd,C as po,D as Jd,E as di,F as Gd,G as Xd,H as Qd,I as Yd,J as Zd,K as ec,L as ci,N as bc,d as vd,e as yd,f as kd,g as Sd,h as Id,i as Rd,j as xd,k as Sr,l as ii,m as ai,n as Nd,o as jd,p as Fd,q as li,r as qd,s as $d,t as Hd,u as Dd,w as Tr,y as zd,z as uo}from"./chunk-23YW5PAQ.js";import{a as kc,b as yt,c as Sc,d as ln}from"./chunk-RHMULF56.js";import{b as wc}from"./chunk-UOFDKMRU.js";import{b as pt,c as Md,d as si}from"./chunk-AN525SPP.js";import{k as yr}from"./chunk-DNRC6TPJ.js";import{A as mi,C as lc,F as mc,G as fc,I as Lt,K as Gn,b as Ul,c as zl,e as kr,f as md,p as Tn,r as gd,t as hd,u as wd,w as Td,x as Pd,y as Bd,z as Vn}from"./chunk-6I5AUTVO.js";import{f as fd}from"./chunk-BQNU4HZW.js";import{a as yc}from"./chunk-N73MU2C3.js";import{E as sc,F as ic,I as pi,N as an,O as ac,c as Wd,d as Ir,e as Rr,f as xr,g as Jn,h as Ud,j as tc,k as ui,l as nc,q as rc}from"./chunk-IFMWAOBR.js";import{a as Ld}from"./chunk-DMFUEUAZ.js";import{a as Pr,d as oc,e as Cr}from"./chunk-GF55VEMR.js";import{a as cc,b as uc,d as pc}from"./chunk-FAKDGLZQ.js";import{c as vc}from"./chunk-GW766ZSO.js";import{c as mo,e as dc,f as fo}from"./chunk-VJYOKU3C.js";import{a as bd}from"./chunk-7KWD2I6W.js";import{a as oi,c as pd,i as Kn}from"./chunk-2ACX7IW5.js";import{B as Ll}from"./chunk-OFJPOTES.js";import{d as ri,k as Od}from"./chunk-PLROXHG2.js";import{B as Ed,b as Z,j as Cd,s as _d,t as Ad}from"./chunk-YU3C6U5V.js";import{h as fi}from"./chunk-PHZZBXDO.js";import{a as co}from"./chunk-KVTBX2UP.js";import{a as Y,b as se,d as L}from"./chunk-U7D6Q744.js";import{$ as wr,Ec as vr,Gc as ni,Hc as ud,Jb as br,K as td,M as Xs,Mb as id,Nb as Zs,Ob as ad,P as Dt,Pb as ld,Sb as zn,T as nd,Tb as vt,Ub as dd,c as Yl,d as Zl,g as ed,ha as od,ia as ge,ib as Ys,ja as sn,jc as ei,kc as lo,lc as cd,ma as rd,na as ct,oc as ti,pc as ut,qa as Qs,ra as sd,u as rn}from"./chunk-WXG3G2O6.js";import{a as Fl,c as ql,g as $l,h as Hl,k as Bs,m as Dl,n as Ws}from"./chunk-OQPJ7FJF.js";import{ef as Ql}from"./chunk-NK2L5HA2.js";import{A as Vl,D as Gs,E as Jl,F as Gl,G as Xl,s as Ks,y as Js}from"./chunk-3JYPUOK4.js";import{b as hr,c as Vs}from"./chunk-SSHE6B7Z.js";import{j as Ht}from"./chunk-3VT2PPKW.js";import{G as zs}from"./chunk-OKKNDQJF.js";import{X as Kl,x as gr}from"./chunk-ZY32SZ2P.js";import{c as fr,e as jl,m as Us,n as Bl,o as Wl}from"./chunk-KUE46HTH.js";import{C as Tl,E as Al,F as El,c as io,e as ml,f as ar,fa as Ol,ha as Ml,ia as Nl,v as ur,x as pr}from"./chunk-SV7ZBEK2.js";import{A as kl,B as Rn,C as xn,E as lr,I as Ls,J as Sl,L as Il,O as dr,V as Rl,W as cr,X as ao,Z as xl,c as hl,f as wl,h as bl,j as vl,w as yl,y as et,z as ye}from"./chunk-2MEOUS24.js";import{e as fl,f as gl}from"./chunk-HNQPEOJD.js";import{l as Ds,m as In,n as Ue}from"./chunk-RCT3O3HQ.js";import{b as ul,c as Un,e as pl,f as on,h as Sn,i as Hs,r as Pl,s as Cl,t as mr,u as _l}from"./chunk-UGOK7VTC.js";import{A as P}from"./chunk-X2J2P5ZT.js";import{a as r}from"./chunk-FTQLQJQV.js";function Ic(e){let t,n,o=new Set;function s(i){if(n)return Promise.reject(new Error("Runtime service is closing"));t??=Promise.resolve().then(e);let a=t.then(l=>{if(n)throw new Error("Runtime service is closing");return i(l)});return o.add(a),a.then(()=>o.delete(a),()=>o.delete(a)),a}return r(s,"use"),{use:s,methods(i){return Object.fromEntries(i.map(a=>[a,(...l)=>s(u=>u[a].apply(u,l))]))},close(){return n??=Promise.resolve().then(async()=>{try{await(await t?.catch(()=>{}))?.close()}finally{await Promise.allSettled([...o])}})}}}r(Ic,"lazyRuntimeService");function xc(e){let t=Hg();for(let n of e)t.accept(n);return t.values()}r(xc,"activeFileOutputRefs");function Hg(e=Number.POSITIVE_INFINITY){let t=new Map,n=new Set;function o(s){let i=Pn(s.data);if(t.size+n.size+i.length>e)throw new Error("remote_output_reference_limit");if(s.action==="work_output_delete"&&s.status==="completed"){for(let a of i){let l=Rc(a);n.add(l),t.delete(l)}return}if(s.action!=="work_output_read")for(let a of i){let l=Rc(a);n.has(l)||t.set(l,a)}}return r(o,"accept"),{accept:o,values:r(()=>[...t.values()],"values")}}r(Hg,"createOutputReferenceAccumulator");function Rc(e){return`${e.sourceTaskId}:${e.id}:${e.revision}`}r(Rc,"fileOutputRevisionKey");function Pn(e,t=0){if(t>8||e==null)return[];let n=sn.safeParse(e);if(n.success)return[n.data];if(Array.isArray(e))return e.flatMap(s=>Pn(s,t+1));let o=Dg(e);return Object.values(o).flatMap(s=>Pn(s,t+1))}r(Pn,"fileOutputRefs");function Dg(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}r(Dg,"asRecord");import{createHash as ho,randomUUID as Cc}from"node:crypto";import{promises as nt}from"node:fs";import Ie from"node:path";function go(e){return!!(e.experience==="work"&&!e.workspaceKind&&!e.localProjectId&&!e.cloudProjectId&&e.metadata?.workspaceTarget==="local"&&e.cwd)}r(go,"isManagedLocalWorkSession");function pS(e){let t=Ie.join(e.storeDir,"work","outputs"),n=e.sandboxRequest??yr;async function o(m){let w=_r(m.suggestedName);if(m.bytes.byteLength>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let C=Qs[Ie.extname(w).toLowerCase()];if(!C)throw new Error(`${w} is not an advertised Work output format. Save it as a supported file type or keep it in scratch space.`);let S=Ug({bytes:m.bytes,contentType:C,title:w,supplied:m.validation,policy:m.validationPolicy}),R=await Tc({runtimeEventsForSession:e.runtimeEventsForSession,sessionId:m.session.id,title:w,...e.managedPersistence?{firstId:`hosted-${ho("sha256").update(`${m.session.id}\0${w}`).digest("hex")}`}:{}});if(e.managedPersistence){let b=await e.managedPersistence.sourceTurnStartedAt(m.session.id,m.sourceTurnId),f={id:R.id,title:w,contentType:C,sizeBytes:m.bytes.byteLength,sha256:ho("sha256").update(m.bytes).digest("hex"),sourceTaskId:m.session.id,sourceTurnId:m.sourceTurnId,revision:R.revision,createdAt:new Date(b).toISOString(),validation:S};return e.managedPersistence.save({sessionId:m.session.id,turnId:m.sourceTurnId,identity:f,bytes:m.bytes})}let g=Ie.join(t,Ar(m.session.id));await nt.mkdir(g,{recursive:!0,mode:448});let d=Ie.join(g,`${String(R.revision).padStart(3,"0")}-${Ar(R.id)}-${w}`),k=Ie.join(g,`.${Ie.basename(d)}.${Cc()}.tmp`);await nt.writeFile(k,m.bytes,{mode:384,flag:"wx"});try{await nt.rename(k,d)}catch(b){throw await nt.rm(k,{force:!0}),b}return{outputRef:sn.parse({kind:"file",id:R.id,title:w,contentType:C,sizeBytes:m.bytes.byteLength,sha256:ho("sha256").update(m.bytes).digest("hex"),sourceTaskId:m.session.id,sourceTurnId:m.sourceTurnId,revision:R.revision,createdAt:new Date().toISOString(),location:{kind:"local",path:d,deviceId:e.deviceId},validation:S}),artifact:{artifactRef:d,path:d,title:w,contentType:C,sizeBytes:m.bytes.byteLength}}}r(o,"persistWorkOutputBytes");async function s(m){if(m.session.experience!=="work")throw new Error("Only Work tasks can save Work outputs.");if(m.session.workspaceKind!=="sandbox"||!m.session.workspaceId)throw new Error("A running Work sandbox is required to save an output.");let w=Jg(m.sandboxPath),C=Xn(await n({type:"download_file",sandboxId:m.session.workspaceId,payload:{path:w,maxBytes:ct}})),S=Xn(C.file);if(S.truncated===!0)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let R=typeof S.contentsBase64=="string"?S.contentsBase64:"";if(!R)throw new Error("Sandbox output download did not return file contents.");let g=Buffer.from(R,"base64"),d=Pc(S.totalSizeBytes)??Pc(S.sizeBytes);if(g.byteLength>ct||d!==null&&d>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);if(d!==null&&g.byteLength!==d)throw new Error("Sandbox output download was incomplete.");return o({session:m.session,sourceTurnId:m.sourceTurnId,suggestedName:m.suggestedName||Ie.posix.basename(w),bytes:g,validation:m.validation??[],validationPolicy:m.validationPolicy??"strict"})}r(s,"saveWorkOutput");async function i(m){if(!go(m.session)||!m.session.cwd)throw new Error("A managed local Work task is required to save a local output.");let w=await nt.realpath(m.session.cwd),C=Ie.isAbsolute(m.localPath)?Ie.resolve(m.localPath):Ie.resolve(w,m.localPath),S=await nt.realpath(C);if(!_c(w,S))throw new Error("Local Work outputs must stay inside the managed task workspace.");let R=await nt.stat(S);if(!R.isFile())throw new Error("A local Work output must be a file.");if(R.size>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let g=await nt.readFile(S);return o({session:m.session,sourceTurnId:m.sourceTurnId,suggestedName:m.suggestedName??Ie.basename(S),bytes:g,validation:[],validationPolicy:"preserve"})}r(i,"saveLocalWorkOutput");async function a(m){if(go(m.session))return l(m);if(m.session.experience!=="work"||m.session.workspaceKind!=="sandbox"||!m.session.workspaceId)return[];let w=Xn(await n({type:"list_files",sandboxId:m.session.workspaceId,payload:{path:"outputs",recursive:!0,maxEntries:500}})),C=Array.isArray(w.files)?w.files:[],S=await e.runtimeEventsForSession(m.session.id),R=new Set(Pn(S).filter(d=>d.sourceTurnId===m.sourceTurnId).map(d=>d.title)),g=[];for(let d of C){let k=Xn(d);if(k.type!=="file"||typeof k.path!="string")continue;let v=k.path.replace(/^\/workspace\//,""),b=_r(Ie.posix.basename(v));if(!R.has(b)){if(e.managedPersistence){let f=await Tc({runtimeEventsForSession:e.runtimeEventsForSession,sessionId:m.session.id,title:b,firstId:`hosted-${ho("sha256").update(`${m.session.id}\0${b}`).digest("hex")}`}),_=await e.managedPersistence.sourceTurnStartedAt(m.session.id,m.sourceTurnId);g.push(await e.managedPersistence.saveSandboxFile({sessionId:m.session.id,turnId:m.sourceTurnId,identity:{id:f.id,title:b,sourceTaskId:m.session.id,sourceTurnId:m.sourceTurnId,revision:f.revision,createdAt:new Date(_).toISOString(),validation:[]},sandboxPath:v}))}else g.push(await s({session:m.session,sourceTurnId:m.sourceTurnId,sandboxPath:v,suggestedName:b,validationPolicy:"preserve"}));R.add(b)}}return g}r(a,"saveAllWorkOutputs");async function l(m){if(!m.session.cwd)return[];let w=await e.runtimeEventsForSession(m.session.id),C=w.filter(d=>d.turnId===m.sourceTurnId&&d.name==="assistant.delta"&&typeof d.output=="string").map(d=>d.output??"").join(""),S=await Lg({assistantText:C,workspaceRoot:m.session.cwd,declaredPaths:m.session.metadata?.profileEvaluationRun!==void 0?P.array(Kl).max(1e3).parse(m.session.metadata.profileEvaluationOutputs??[]).map(d=>d.path):[]}),R=new Set(Pn(w).filter(d=>d.sourceTurnId===m.sourceTurnId).map(d=>d.title)),g=[];for(let d of S){let k=_r(Ie.basename(d));R.has(k)||(g.push(await i({session:m.session,sourceTurnId:m.sourceTurnId,localPath:d,suggestedName:k})),R.add(k))}return g}r(l,"saveReferencedLocalWorkOutputs");async function u(m){if(m.experience!=="work")return[];let w=await e.runtimeEventsForSession(m.id),C=new Map;for(let S of Pn(w)){if(S.location.kind!=="local")continue;let R=C.get(S.title);(!R||S.revision>R.revision)&&C.set(S.title,S)}return[...C.values()].map(S=>({localPath:S.location.kind==="local"?S.location.path:"",storageName:`${Ar(S.id)}-${_r(S.title)}`,sha256:S.sha256,sizeBytes:S.sizeBytes}))}r(u,"workInputsForSession");async function c(m){let w=await Promise.all(m.filter(C=>C.experience==="work").map(async C=>xc(await e.runtimeEventsForSession(C.id))));return rd.parse({outputs:w.flat().sort((C,S)=>S.createdAt.localeCompare(C.createdAt))})}r(c,"listWorkOutputs");async function h(m){if(m.session.experience!=="work")throw new Error("Only Work tasks can access Work outputs.");let w=m.outputId.trim();if(!w)throw new Error("A Work output id is required.");let C=await e.runtimeEventsForSession(m.session.id),S=bi(C,w,m.revision);if(!S)throw new Error("Work output not found.");return p(m.session,S)}r(h,"resolveLocalOutput");function p(m,w){if(m.experience!=="work"||w.sourceTaskId!==m.id||w.location.kind!=="local")throw new Error("This Work output is not stored on this device.");let C=Ie.resolve(t,Ar(m.id)),S=Ie.resolve(w.location.path);if(S===C||!S.startsWith(`${C}${Ie.sep}`))throw new Error("Work output path is outside managed local storage.");return{outputRef:w,target:S}}r(p,"localOutputTarget");async function y(m){let{outputRef:w,target:C}=await h(m),S=await nt.rm(C).then(()=>!0).catch(R=>{if(R.code==="ENOENT")return!1;throw R});return{outputRef:w,deleted:S}}r(y,"deleteWorkOutput");async function x(m){let{outputRef:w}=await h(m);return T(m.session,w)}r(x,"readWorkOutput");async function T(m,w){let{target:C}=p(m,w),S=await nt.stat(C);if(S.size>ct||S.size!==w.sizeBytes)throw new Error("The saved Work output no longer matches its OutputRef.");let R=await nt.readFile(C);if(R.byteLength>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let g=ho("sha256").update(R).digest("hex");if(R.byteLength!==w.sizeBytes||g!==w.sha256)throw new Error("The saved Work output no longer matches its OutputRef.");return{outputRef:w,contentsBase64:R.toString("base64")}}return r(T,"readQualifiedWorkOutput"),{outputRoot:t,deleteWorkOutput:y,listWorkOutputs:c,readWorkOutput:x,readQualifiedWorkOutput:T,saveAllWorkOutputs:a,saveLocalWorkOutput:i,saveOwnedOutputBytes:o,saveWorkOutput:s,workInputsForSession:u}}r(pS,"createWorkOutputService");async function Lg(e){let t=await nt.realpath(e.workspaceRoot),n=new Set;for(let o of[...e.declaredPaths??[],...Bg(e.assistantText)]){let s=Wg(o);if(!s)continue;let i=Ie.isAbsolute(s)?Ie.resolve(s):Ie.resolve(t,s),a;try{if(a=await nt.realpath(i),!(await nt.stat(a)).isFile())continue}catch{continue}if(_c(t,a)&&Qs[Ie.extname(a).toLowerCase()]&&(n.add(a),n.size>=100))break}return[...n]}r(Lg,"resolveReferencedLocalFiles");function Bg(e){let t=[];for(let n=0;n<e.length;n+=1){let o=e[n]==="!"?n+1:n;if(e[o]!=="[")continue;let s=e.indexOf("]",o+1);if(s<0||e[s+1]!=="(")continue;let i=s+2;if(e[i]==="<"){let l=e.indexOf(">",i+1);l>=0&&e[l+1]===")"&&(t.push(e.slice(i+1,l)),n=l+1);continue}let a=0;for(let l=i;l<e.length;l+=1){let u=e[l];if(u==="\\"){l+=1;continue}if(u==="("){a+=1;continue}if(u!==")")continue;if(a>0){a-=1;continue}let c=e.slice(i,l).trim();c&&t.push(c),n=l;break}}return t}r(Bg,"markdownLinkTargets");function Wg(e){let t=e.trim().replace(/^['"`]+|['"`]+$/g,"");if(!t||/^(?:https?|data|mailto):/i.test(t))return null;if(t=t.replace(/^(?:workspace|sandbox):file:/i,""),/^file:\/\//i.test(t))try{t=decodeURIComponent(new URL(t).pathname)}catch{t=t.replace(/^file:\/\//i,"")}else try{t=decodeURIComponent(t)}catch{}return t.replace(/:\d+(?::\d+)?$/,"")}r(Wg,"normalizeLocalFileReference");function _c(e,t){let n=Ie.relative(e,t);return n!==""&&n!==".."&&!n.startsWith(`..${Ie.sep}`)&&!Ie.isAbsolute(n)}r(_c,"isPathInside");function Ug(e){let t=sd(e.contentType);if(!t)return e.supplied;let n=zg(e);if(n.status!=="passed")throw new Error(`Work output failed structural validation: ${n.detail}`);let o=[n,...e.supplied],s=t.validation.flatMap(i=>i==="visual"?["visual"]:i==="playback"||i==="browser"?["test"]:[]);for(let i of s)if(!o.some(a=>a.kind===i&&a.status==="passed")){if(e.policy==="strict")throw new Error(`${e.title} requires passed ${i} validation evidence before it can be saved as a completed Work output.`);o.push({kind:i,status:"not_run",label:`${e.title} ${i} validation was not run before automatic preservation`,detail:"The file was preserved automatically at turn completion; review this revision before relying on presentation or playback quality."})}return o}r(Ug,"validateWorkOutput");function zg(e){let t=Kg(e.bytes,e.contentType);return{kind:"structural",status:t?"passed":"failed",label:`Validated ${e.title} structure`,detail:t?`Content matches ${e.contentType}.`:`Content does not match ${e.contentType}.`}}r(zg,"structuralValidation");function Kg(e,t){if(e.byteLength===0)return!1;if(t.startsWith("text/")||t==="application/json"||t==="image/svg+xml"){let n;try{n=new TextDecoder("utf-8",{fatal:!0}).decode(e)}catch{return!1}if(t==="application/json")try{JSON.parse(n)}catch{return!1}return t==="text/html"?/<(?:!doctype\s+html|html|body)\b/i.test(n):t==="image/svg+xml"?/<svg\b/i.test(n):n.trim().length>0}if(t==="application/pdf")return e.subarray(0,5).toString("ascii")==="%PDF-"&&e.subarray(Math.max(0,e.byteLength-1024)).toString("ascii").includes("%%EOF");if(t.includes("wordprocessingml")||t.includes("spreadsheetml")||t.includes("presentationml")){let n=Vg(e),o=t.includes("wordprocessingml")?"word/document.xml":t.includes("spreadsheetml")?"xl/workbook.xml":"ppt/presentation.xml";return n.has("[Content_Types].xml")&&n.has("_rels/.rels")&&n.has(o)}return t==="image/png"?e.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])):t==="image/jpeg"?e[0]===255&&e[1]===216:t==="image/gif"?e.subarray(0,4).toString("ascii")==="GIF8":t==="image/webp"?e.subarray(0,4).toString("ascii")==="RIFF"&&e.subarray(8,12).toString("ascii")==="WEBP":t==="image/avif"?e.subarray(4,12).toString("ascii").includes("ftyp"):t==="audio/wav"?e.subarray(0,4).toString("ascii")==="RIFF"&&e.subarray(8,12).toString("ascii")==="WAVE":t==="audio/mpeg"?e.subarray(0,3).toString("ascii")==="ID3"||e[0]===255&&(e[1]&224)===224:t==="audio/mp4"||t==="video/mp4"||t==="video/quicktime"?e.subarray(4,12).toString("ascii").includes("ftyp"):t==="video/webm"?e.subarray(0,4).equals(Buffer.from([26,69,223,163])):!0}r(Kg,"structuralContentMatches");function Vg(e){let t=new Set;for(let n=0;n+46<=e.byteLength;){if(e.readUInt32LE(n)!==33639248){n+=1;continue}let o=e.readUInt16LE(n+28),s=e.readUInt16LE(n+30),i=e.readUInt16LE(n+32),a=n+46+o+s+i;if(a>e.byteLength)return new Set;let l=e.subarray(n+46,n+46+o).toString("utf8").replaceAll("\\","/").replace(/^\/+/,"");l&&t.add(l),n=a}return t}r(Vg,"zipCentralDirectoryEntries");function Jg(e){let t=e.trim().replaceAll("\\","/");if(!t||t.startsWith("/"))throw new Error("Work output path must be relative to /workspace.");let n=Ie.posix.normalize(t);if(n==="."||n===".."||n.startsWith("../")||!n.startsWith("outputs/")||n==="outputs/")throw new Error("Completed Work outputs must be inside /workspace/outputs.");return n}r(Jg,"normalizeOutputCandidatePath");async function Tc(e){let t=await e.runtimeEventsForSession(e.sessionId),n=null;for(let o of t){let s=wi(o.data);s?.kind!=="file"||s.title!==e.title||(!n||s.revision>n.revision)&&(n=s)}return{id:n?.id??e.firstId??Cc(),revision:(n?.revision??0)+1}}r(Tc,"nextOutputIdentity");function wi(e,t=0){if(t>6||e==null)return null;let n=sn.safeParse(e);if(n.success)return n.data;if(Array.isArray(e)){for(let s of e){let i=wi(s,t+1);if(i)return i}return null}let o=Xn(e);for(let s of Object.values(o)){let i=wi(s,t+1);if(i)return i}return null}r(wi,"findOutputRef");function bi(e,t,n,o=0){if(o>8||e==null)return null;let s=sn.safeParse(e);if(s.success&&s.data.id===t&&(n==null||s.data.revision===n))return s.data;if(Array.isArray(e)){let l=null;for(let u of e){let c=bi(u,t,n,o+1);c&&(!l||c.revision>l.revision)&&(l=c)}return l}let i=Xn(e),a=null;for(let l of Object.values(i)){let u=bi(l,t,n,o+1);u&&(!a||u.revision>a.revision)&&(a=u)}return a}r(bi,"findOutputRefById");function _r(e){let n=Ie.basename(e.trim()).replace(/[^a-zA-Z0-9._ -]+/g,"-").replace(/\s+/g," ").trim().slice(0,180);if(!n||n==="."||n==="..")throw new Error("A valid output file name is required.");return n}r(_r,"safeOutputName");function Ar(e){return e.replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,100)||"item"}r(Ar,"safePathSegment");function Xn(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}r(Xn,"asRecord");function Pc(e){return typeof e=="number"&&Number.isFinite(e)?e:null}r(Pc,"numberValue");import{promises as Er}from"node:fs";import Gg from"node:path";async function Ac(e,t,n=Date.now()){let o=[];for(let i of await Er.readdir(e,{withFileTypes:!0})){if(!i.isFile()||!/\.log(?:\.\d+)?$/.test(i.name))continue;let a=Gg.join(e,i.name),l=await Er.lstat(a).catch(u=>{if(u.code==="ENOENT")return null;throw u});l?.isFile()&&o.push({file:a,size:l.size,modified:l.mtimeMs})}let s=o.reduce((i,a)=>i+a.size,0);for(let i of o.sort((a,l)=>a.modified-l.modified)){if(i.file===t||i.modified>=n-14*864e5&&s<=256*1024*1024)continue;let a=await Er.lstat(i.file).catch(()=>null);a?.isFile()&&a.size===i.size&&a.mtimeMs===i.modified&&(await Er.rm(i.file,{force:!0}),s-=i.size)}}r(Ac,"pruneLogs");import{promises as wo}from"node:fs";import Xg from"node:path";var Ec=1024*1024,Qg=5,vi=/authorization|api[_-]?key|token|session[_-]?token|secret|password/i,Yg=/Bearer\s+[A-Za-z0-9._~+/-]+=*/gi,Zg=/\b(?:https?|wss?):\/\/[^\s"'<>]+/gi;function eh(e){return{name:e.name,message:e.message,stack:e.stack}}r(eh,"serializeError");function Or(e){if(e instanceof Error)return Or(eh(e));if(typeof e=="string")return th(e);if(Array.isArray(e))return e.map(n=>Or(n));if(!e||typeof e!="object")return e;let t={};for(let[n,o]of Object.entries(e))t[n]=vi.test(n)?"[REDACTED]":Or(o);return t}r(Or,"redact");async function Oc(e,t){try{await wo.rm(t,{force:!0}),await wo.rename(e,t)}catch(n){if(n.code!=="ENOENT")throw n}}r(Oc,"renameIfExists");function th(e){return e.replace(Yg,"Bearer [REDACTED]").replace(Zg,t=>nh(t))}r(th,"redactString");function nh(e){let{url:t,suffix:n}=oh(e);try{let o=new URL(t);return(o.username||o.password)&&(o.username="[REDACTED]",o.password="[REDACTED]"),Mc(o.searchParams),o.hash&&(o.hash=rh(o.hash.slice(1))),`${o.toString()}${n}`}catch{return e}}r(nh,"redactUrl");function oh(e){let t=e,n="";for(;/[),.;!?]$/.test(t);)n=`${t.slice(-1)}${n}`,t=t.slice(0,-1);return{url:t,suffix:n}}r(oh,"splitUrlSuffix");function Mc(e){for(let t of Array.from(e.keys()))vi.test(t)&&e.set(t,"[REDACTED]")}r(Mc,"redactSearchParams");function rh(e){if(!e.includes("="))return vi.test(e)?"[REDACTED]":e;let t=new URLSearchParams(e.startsWith("?")?e.slice(1):e);return Mc(t),t.toString()}r(rh,"redactHash");function SS(e){let t=e.maxBytes??Ec,n=e.maxFiles??Qg,o=Xg.join(e.logDir,e.filename??`${e.channel}.log`),s=Promise.resolve(),i=0;async function a(u){let c=0;try{c=(await wo.stat(o)).size}catch(h){if(h.code!=="ENOENT")throw h}if(!(c+u<=t)){for(let h=n-1;h>=1;h-=1)await Oc(`${o}.${h}`,`${o}.${h+1}`);await Oc(o,`${o}.1`)}}r(a,"rotateIfNeeded");function l(u,c,h={}){let p={ts:new Date().toISOString(),level:u,channel:e.channel,message:c,pid:process.pid,platform:process.platform,...e.metadata??{},...h},y=`${JSON.stringify(Or(p))}
|
|
2
|
+
import{a as gc,b as hc,c as gi,d as hi}from"./chunk-MWPMYCYB.js";import{A as Kd,B as Vd,C as po,D as Jd,E as di,F as Gd,G as Xd,H as Qd,I as Yd,J as Zd,K as ec,L as ci,N as bc,d as vd,e as yd,f as kd,g as Sd,h as Id,i as Rd,j as xd,k as Sr,l as ii,m as ai,n as Nd,o as jd,p as Fd,q as li,r as qd,s as $d,t as Hd,u as Dd,w as Tr,y as zd,z as uo}from"./chunk-JALL5NPH.js";import{a as kc,b as yt,c as Sc,d as ln}from"./chunk-RHMULF56.js";import{b as wc}from"./chunk-UOFDKMRU.js";import{b as pt,c as Md,d as si}from"./chunk-AN525SPP.js";import{k as yr}from"./chunk-DNRC6TPJ.js";import{A as mi,C as lc,F as mc,G as fc,I as Lt,K as Gn,b as Ul,c as zl,e as kr,f as md,p as Tn,r as gd,t as hd,u as wd,w as Td,x as Pd,y as Bd,z as Vn}from"./chunk-6I5AUTVO.js";import{f as fd}from"./chunk-BQNU4HZW.js";import{a as yc}from"./chunk-N73MU2C3.js";import{E as sc,F as ic,I as pi,N as an,O as ac,c as Wd,d as Ir,e as Rr,f as xr,g as Jn,h as Ud,j as tc,k as ui,l as nc,q as rc}from"./chunk-RWBP2H4M.js";import{a as Ld}from"./chunk-DMFUEUAZ.js";import{a as Pr,d as oc,e as Cr}from"./chunk-GF55VEMR.js";import{a as cc,b as uc,d as pc}from"./chunk-FAKDGLZQ.js";import{c as vc}from"./chunk-GW766ZSO.js";import{c as mo,e as dc,f as fo}from"./chunk-6OD2FKUS.js";import{a as bd}from"./chunk-7KWD2I6W.js";import{a as oi,c as pd,i as Kn}from"./chunk-2ACX7IW5.js";import{B as Ll}from"./chunk-OFJPOTES.js";import{d as ri,k as Od}from"./chunk-ATI52WMB.js";import{B as Ed,b as Z,j as Cd,s as _d,t as Ad}from"./chunk-YU3C6U5V.js";import{h as fi}from"./chunk-MQMMJKOZ.js";import{a as co}from"./chunk-KVTBX2UP.js";import{a as Y,b as se,d as L}from"./chunk-L5L3H6CI.js";import{$ as wr,Ec as vr,Gc as ni,Hc as ud,Jb as br,K as td,M as Xs,Mb as id,Nb as Zs,Ob as ad,P as Dt,Pb as ld,Sb as zn,T as nd,Tb as vt,Ub as dd,c as Yl,d as Zl,g as ed,ha as od,ia as ge,ib as Ys,ja as sn,jc as ei,kc as lo,lc as cd,ma as rd,na as ct,oc as ti,pc as ut,qa as Qs,ra as sd,u as rn}from"./chunk-2THZ6GZY.js";import{a as Fl,c as ql,g as $l,h as Hl,k as Bs,m as Dl,n as Ws}from"./chunk-OQPJ7FJF.js";import{ef as Ql}from"./chunk-2Q2AWPP2.js";import{A as Vl,D as Gs,E as Jl,F as Gl,G as Xl,s as Ks,y as Js}from"./chunk-4JKWCLTQ.js";import{b as hr,c as Vs}from"./chunk-AITV76GO.js";import{j as Ht}from"./chunk-3VT2PPKW.js";import{G as zs}from"./chunk-OKKNDQJF.js";import{X as Kl,x as gr}from"./chunk-ZY32SZ2P.js";import{c as fr,e as jl,m as Us,n as Bl,o as Wl}from"./chunk-KUE46HTH.js";import{C as Tl,E as Al,F as El,c as io,e as ml,f as ar,fa as Ol,ha as Ml,ia as Nl,v as ur,x as pr}from"./chunk-SV7ZBEK2.js";import{A as kl,B as Rn,C as xn,E as lr,I as Ls,J as Sl,L as Il,O as dr,V as Rl,W as cr,X as ao,Z as xl,c as hl,f as wl,h as bl,j as vl,w as yl,y as et,z as ye}from"./chunk-2MEOUS24.js";import{e as fl,f as gl}from"./chunk-HNQPEOJD.js";import{l as Ds,m as In,n as Ue}from"./chunk-RCT3O3HQ.js";import{b as ul,c as Un,e as pl,f as on,h as Sn,i as Hs,r as Pl,s as Cl,t as mr,u as _l}from"./chunk-UGOK7VTC.js";import{A as P}from"./chunk-X2J2P5ZT.js";import{a as r}from"./chunk-FTQLQJQV.js";function Ic(e){let t,n,o=new Set;function s(i){if(n)return Promise.reject(new Error("Runtime service is closing"));t??=Promise.resolve().then(e);let a=t.then(l=>{if(n)throw new Error("Runtime service is closing");return i(l)});return o.add(a),a.then(()=>o.delete(a),()=>o.delete(a)),a}return r(s,"use"),{use:s,methods(i){return Object.fromEntries(i.map(a=>[a,(...l)=>s(u=>u[a].apply(u,l))]))},close(){return n??=Promise.resolve().then(async()=>{try{await(await t?.catch(()=>{}))?.close()}finally{await Promise.allSettled([...o])}})}}}r(Ic,"lazyRuntimeService");function xc(e){let t=Hg();for(let n of e)t.accept(n);return t.values()}r(xc,"activeFileOutputRefs");function Hg(e=Number.POSITIVE_INFINITY){let t=new Map,n=new Set;function o(s){let i=Pn(s.data);if(t.size+n.size+i.length>e)throw new Error("remote_output_reference_limit");if(s.action==="work_output_delete"&&s.status==="completed"){for(let a of i){let l=Rc(a);n.add(l),t.delete(l)}return}if(s.action!=="work_output_read")for(let a of i){let l=Rc(a);n.has(l)||t.set(l,a)}}return r(o,"accept"),{accept:o,values:r(()=>[...t.values()],"values")}}r(Hg,"createOutputReferenceAccumulator");function Rc(e){return`${e.sourceTaskId}:${e.id}:${e.revision}`}r(Rc,"fileOutputRevisionKey");function Pn(e,t=0){if(t>8||e==null)return[];let n=sn.safeParse(e);if(n.success)return[n.data];if(Array.isArray(e))return e.flatMap(s=>Pn(s,t+1));let o=Dg(e);return Object.values(o).flatMap(s=>Pn(s,t+1))}r(Pn,"fileOutputRefs");function Dg(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}r(Dg,"asRecord");import{createHash as ho,randomUUID as Cc}from"node:crypto";import{promises as nt}from"node:fs";import Ie from"node:path";function go(e){return!!(e.experience==="work"&&!e.workspaceKind&&!e.localProjectId&&!e.cloudProjectId&&e.metadata?.workspaceTarget==="local"&&e.cwd)}r(go,"isManagedLocalWorkSession");function pS(e){let t=Ie.join(e.storeDir,"work","outputs"),n=e.sandboxRequest??yr;async function o(m){let w=_r(m.suggestedName);if(m.bytes.byteLength>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let C=Qs[Ie.extname(w).toLowerCase()];if(!C)throw new Error(`${w} is not an advertised Work output format. Save it as a supported file type or keep it in scratch space.`);let S=Ug({bytes:m.bytes,contentType:C,title:w,supplied:m.validation,policy:m.validationPolicy}),R=await Tc({runtimeEventsForSession:e.runtimeEventsForSession,sessionId:m.session.id,title:w,...e.managedPersistence?{firstId:`hosted-${ho("sha256").update(`${m.session.id}\0${w}`).digest("hex")}`}:{}});if(e.managedPersistence){let b=await e.managedPersistence.sourceTurnStartedAt(m.session.id,m.sourceTurnId),f={id:R.id,title:w,contentType:C,sizeBytes:m.bytes.byteLength,sha256:ho("sha256").update(m.bytes).digest("hex"),sourceTaskId:m.session.id,sourceTurnId:m.sourceTurnId,revision:R.revision,createdAt:new Date(b).toISOString(),validation:S};return e.managedPersistence.save({sessionId:m.session.id,turnId:m.sourceTurnId,identity:f,bytes:m.bytes})}let g=Ie.join(t,Ar(m.session.id));await nt.mkdir(g,{recursive:!0,mode:448});let d=Ie.join(g,`${String(R.revision).padStart(3,"0")}-${Ar(R.id)}-${w}`),k=Ie.join(g,`.${Ie.basename(d)}.${Cc()}.tmp`);await nt.writeFile(k,m.bytes,{mode:384,flag:"wx"});try{await nt.rename(k,d)}catch(b){throw await nt.rm(k,{force:!0}),b}return{outputRef:sn.parse({kind:"file",id:R.id,title:w,contentType:C,sizeBytes:m.bytes.byteLength,sha256:ho("sha256").update(m.bytes).digest("hex"),sourceTaskId:m.session.id,sourceTurnId:m.sourceTurnId,revision:R.revision,createdAt:new Date().toISOString(),location:{kind:"local",path:d,deviceId:e.deviceId},validation:S}),artifact:{artifactRef:d,path:d,title:w,contentType:C,sizeBytes:m.bytes.byteLength}}}r(o,"persistWorkOutputBytes");async function s(m){if(m.session.experience!=="work")throw new Error("Only Work tasks can save Work outputs.");if(m.session.workspaceKind!=="sandbox"||!m.session.workspaceId)throw new Error("A running Work sandbox is required to save an output.");let w=Jg(m.sandboxPath),C=Xn(await n({type:"download_file",sandboxId:m.session.workspaceId,payload:{path:w,maxBytes:ct}})),S=Xn(C.file);if(S.truncated===!0)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let R=typeof S.contentsBase64=="string"?S.contentsBase64:"";if(!R)throw new Error("Sandbox output download did not return file contents.");let g=Buffer.from(R,"base64"),d=Pc(S.totalSizeBytes)??Pc(S.sizeBytes);if(g.byteLength>ct||d!==null&&d>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);if(d!==null&&g.byteLength!==d)throw new Error("Sandbox output download was incomplete.");return o({session:m.session,sourceTurnId:m.sourceTurnId,suggestedName:m.suggestedName||Ie.posix.basename(w),bytes:g,validation:m.validation??[],validationPolicy:m.validationPolicy??"strict"})}r(s,"saveWorkOutput");async function i(m){if(!go(m.session)||!m.session.cwd)throw new Error("A managed local Work task is required to save a local output.");let w=await nt.realpath(m.session.cwd),C=Ie.isAbsolute(m.localPath)?Ie.resolve(m.localPath):Ie.resolve(w,m.localPath),S=await nt.realpath(C);if(!_c(w,S))throw new Error("Local Work outputs must stay inside the managed task workspace.");let R=await nt.stat(S);if(!R.isFile())throw new Error("A local Work output must be a file.");if(R.size>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let g=await nt.readFile(S);return o({session:m.session,sourceTurnId:m.sourceTurnId,suggestedName:m.suggestedName??Ie.basename(S),bytes:g,validation:[],validationPolicy:"preserve"})}r(i,"saveLocalWorkOutput");async function a(m){if(go(m.session))return l(m);if(m.session.experience!=="work"||m.session.workspaceKind!=="sandbox"||!m.session.workspaceId)return[];let w=Xn(await n({type:"list_files",sandboxId:m.session.workspaceId,payload:{path:"outputs",recursive:!0,maxEntries:500}})),C=Array.isArray(w.files)?w.files:[],S=await e.runtimeEventsForSession(m.session.id),R=new Set(Pn(S).filter(d=>d.sourceTurnId===m.sourceTurnId).map(d=>d.title)),g=[];for(let d of C){let k=Xn(d);if(k.type!=="file"||typeof k.path!="string")continue;let v=k.path.replace(/^\/workspace\//,""),b=_r(Ie.posix.basename(v));if(!R.has(b)){if(e.managedPersistence){let f=await Tc({runtimeEventsForSession:e.runtimeEventsForSession,sessionId:m.session.id,title:b,firstId:`hosted-${ho("sha256").update(`${m.session.id}\0${b}`).digest("hex")}`}),_=await e.managedPersistence.sourceTurnStartedAt(m.session.id,m.sourceTurnId);g.push(await e.managedPersistence.saveSandboxFile({sessionId:m.session.id,turnId:m.sourceTurnId,identity:{id:f.id,title:b,sourceTaskId:m.session.id,sourceTurnId:m.sourceTurnId,revision:f.revision,createdAt:new Date(_).toISOString(),validation:[]},sandboxPath:v}))}else g.push(await s({session:m.session,sourceTurnId:m.sourceTurnId,sandboxPath:v,suggestedName:b,validationPolicy:"preserve"}));R.add(b)}}return g}r(a,"saveAllWorkOutputs");async function l(m){if(!m.session.cwd)return[];let w=await e.runtimeEventsForSession(m.session.id),C=w.filter(d=>d.turnId===m.sourceTurnId&&d.name==="assistant.delta"&&typeof d.output=="string").map(d=>d.output??"").join(""),S=await Lg({assistantText:C,workspaceRoot:m.session.cwd,declaredPaths:m.session.metadata?.profileEvaluationRun!==void 0?P.array(Kl).max(1e3).parse(m.session.metadata.profileEvaluationOutputs??[]).map(d=>d.path):[]}),R=new Set(Pn(w).filter(d=>d.sourceTurnId===m.sourceTurnId).map(d=>d.title)),g=[];for(let d of S){let k=_r(Ie.basename(d));R.has(k)||(g.push(await i({session:m.session,sourceTurnId:m.sourceTurnId,localPath:d,suggestedName:k})),R.add(k))}return g}r(l,"saveReferencedLocalWorkOutputs");async function u(m){if(m.experience!=="work")return[];let w=await e.runtimeEventsForSession(m.id),C=new Map;for(let S of Pn(w)){if(S.location.kind!=="local")continue;let R=C.get(S.title);(!R||S.revision>R.revision)&&C.set(S.title,S)}return[...C.values()].map(S=>({localPath:S.location.kind==="local"?S.location.path:"",storageName:`${Ar(S.id)}-${_r(S.title)}`,sha256:S.sha256,sizeBytes:S.sizeBytes}))}r(u,"workInputsForSession");async function c(m){let w=await Promise.all(m.filter(C=>C.experience==="work").map(async C=>xc(await e.runtimeEventsForSession(C.id))));return rd.parse({outputs:w.flat().sort((C,S)=>S.createdAt.localeCompare(C.createdAt))})}r(c,"listWorkOutputs");async function h(m){if(m.session.experience!=="work")throw new Error("Only Work tasks can access Work outputs.");let w=m.outputId.trim();if(!w)throw new Error("A Work output id is required.");let C=await e.runtimeEventsForSession(m.session.id),S=bi(C,w,m.revision);if(!S)throw new Error("Work output not found.");return p(m.session,S)}r(h,"resolveLocalOutput");function p(m,w){if(m.experience!=="work"||w.sourceTaskId!==m.id||w.location.kind!=="local")throw new Error("This Work output is not stored on this device.");let C=Ie.resolve(t,Ar(m.id)),S=Ie.resolve(w.location.path);if(S===C||!S.startsWith(`${C}${Ie.sep}`))throw new Error("Work output path is outside managed local storage.");return{outputRef:w,target:S}}r(p,"localOutputTarget");async function y(m){let{outputRef:w,target:C}=await h(m),S=await nt.rm(C).then(()=>!0).catch(R=>{if(R.code==="ENOENT")return!1;throw R});return{outputRef:w,deleted:S}}r(y,"deleteWorkOutput");async function x(m){let{outputRef:w}=await h(m);return T(m.session,w)}r(x,"readWorkOutput");async function T(m,w){let{target:C}=p(m,w),S=await nt.stat(C);if(S.size>ct||S.size!==w.sizeBytes)throw new Error("The saved Work output no longer matches its OutputRef.");let R=await nt.readFile(C);if(R.byteLength>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let g=ho("sha256").update(R).digest("hex");if(R.byteLength!==w.sizeBytes||g!==w.sha256)throw new Error("The saved Work output no longer matches its OutputRef.");return{outputRef:w,contentsBase64:R.toString("base64")}}return r(T,"readQualifiedWorkOutput"),{outputRoot:t,deleteWorkOutput:y,listWorkOutputs:c,readWorkOutput:x,readQualifiedWorkOutput:T,saveAllWorkOutputs:a,saveLocalWorkOutput:i,saveOwnedOutputBytes:o,saveWorkOutput:s,workInputsForSession:u}}r(pS,"createWorkOutputService");async function Lg(e){let t=await nt.realpath(e.workspaceRoot),n=new Set;for(let o of[...e.declaredPaths??[],...Bg(e.assistantText)]){let s=Wg(o);if(!s)continue;let i=Ie.isAbsolute(s)?Ie.resolve(s):Ie.resolve(t,s),a;try{if(a=await nt.realpath(i),!(await nt.stat(a)).isFile())continue}catch{continue}if(_c(t,a)&&Qs[Ie.extname(a).toLowerCase()]&&(n.add(a),n.size>=100))break}return[...n]}r(Lg,"resolveReferencedLocalFiles");function Bg(e){let t=[];for(let n=0;n<e.length;n+=1){let o=e[n]==="!"?n+1:n;if(e[o]!=="[")continue;let s=e.indexOf("]",o+1);if(s<0||e[s+1]!=="(")continue;let i=s+2;if(e[i]==="<"){let l=e.indexOf(">",i+1);l>=0&&e[l+1]===")"&&(t.push(e.slice(i+1,l)),n=l+1);continue}let a=0;for(let l=i;l<e.length;l+=1){let u=e[l];if(u==="\\"){l+=1;continue}if(u==="("){a+=1;continue}if(u!==")")continue;if(a>0){a-=1;continue}let c=e.slice(i,l).trim();c&&t.push(c),n=l;break}}return t}r(Bg,"markdownLinkTargets");function Wg(e){let t=e.trim().replace(/^['"`]+|['"`]+$/g,"");if(!t||/^(?:https?|data|mailto):/i.test(t))return null;if(t=t.replace(/^(?:workspace|sandbox):file:/i,""),/^file:\/\//i.test(t))try{t=decodeURIComponent(new URL(t).pathname)}catch{t=t.replace(/^file:\/\//i,"")}else try{t=decodeURIComponent(t)}catch{}return t.replace(/:\d+(?::\d+)?$/,"")}r(Wg,"normalizeLocalFileReference");function _c(e,t){let n=Ie.relative(e,t);return n!==""&&n!==".."&&!n.startsWith(`..${Ie.sep}`)&&!Ie.isAbsolute(n)}r(_c,"isPathInside");function Ug(e){let t=sd(e.contentType);if(!t)return e.supplied;let n=zg(e);if(n.status!=="passed")throw new Error(`Work output failed structural validation: ${n.detail}`);let o=[n,...e.supplied],s=t.validation.flatMap(i=>i==="visual"?["visual"]:i==="playback"||i==="browser"?["test"]:[]);for(let i of s)if(!o.some(a=>a.kind===i&&a.status==="passed")){if(e.policy==="strict")throw new Error(`${e.title} requires passed ${i} validation evidence before it can be saved as a completed Work output.`);o.push({kind:i,status:"not_run",label:`${e.title} ${i} validation was not run before automatic preservation`,detail:"The file was preserved automatically at turn completion; review this revision before relying on presentation or playback quality."})}return o}r(Ug,"validateWorkOutput");function zg(e){let t=Kg(e.bytes,e.contentType);return{kind:"structural",status:t?"passed":"failed",label:`Validated ${e.title} structure`,detail:t?`Content matches ${e.contentType}.`:`Content does not match ${e.contentType}.`}}r(zg,"structuralValidation");function Kg(e,t){if(e.byteLength===0)return!1;if(t.startsWith("text/")||t==="application/json"||t==="image/svg+xml"){let n;try{n=new TextDecoder("utf-8",{fatal:!0}).decode(e)}catch{return!1}if(t==="application/json")try{JSON.parse(n)}catch{return!1}return t==="text/html"?/<(?:!doctype\s+html|html|body)\b/i.test(n):t==="image/svg+xml"?/<svg\b/i.test(n):n.trim().length>0}if(t==="application/pdf")return e.subarray(0,5).toString("ascii")==="%PDF-"&&e.subarray(Math.max(0,e.byteLength-1024)).toString("ascii").includes("%%EOF");if(t.includes("wordprocessingml")||t.includes("spreadsheetml")||t.includes("presentationml")){let n=Vg(e),o=t.includes("wordprocessingml")?"word/document.xml":t.includes("spreadsheetml")?"xl/workbook.xml":"ppt/presentation.xml";return n.has("[Content_Types].xml")&&n.has("_rels/.rels")&&n.has(o)}return t==="image/png"?e.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])):t==="image/jpeg"?e[0]===255&&e[1]===216:t==="image/gif"?e.subarray(0,4).toString("ascii")==="GIF8":t==="image/webp"?e.subarray(0,4).toString("ascii")==="RIFF"&&e.subarray(8,12).toString("ascii")==="WEBP":t==="image/avif"?e.subarray(4,12).toString("ascii").includes("ftyp"):t==="audio/wav"?e.subarray(0,4).toString("ascii")==="RIFF"&&e.subarray(8,12).toString("ascii")==="WAVE":t==="audio/mpeg"?e.subarray(0,3).toString("ascii")==="ID3"||e[0]===255&&(e[1]&224)===224:t==="audio/mp4"||t==="video/mp4"||t==="video/quicktime"?e.subarray(4,12).toString("ascii").includes("ftyp"):t==="video/webm"?e.subarray(0,4).equals(Buffer.from([26,69,223,163])):!0}r(Kg,"structuralContentMatches");function Vg(e){let t=new Set;for(let n=0;n+46<=e.byteLength;){if(e.readUInt32LE(n)!==33639248){n+=1;continue}let o=e.readUInt16LE(n+28),s=e.readUInt16LE(n+30),i=e.readUInt16LE(n+32),a=n+46+o+s+i;if(a>e.byteLength)return new Set;let l=e.subarray(n+46,n+46+o).toString("utf8").replaceAll("\\","/").replace(/^\/+/,"");l&&t.add(l),n=a}return t}r(Vg,"zipCentralDirectoryEntries");function Jg(e){let t=e.trim().replaceAll("\\","/");if(!t||t.startsWith("/"))throw new Error("Work output path must be relative to /workspace.");let n=Ie.posix.normalize(t);if(n==="."||n===".."||n.startsWith("../")||!n.startsWith("outputs/")||n==="outputs/")throw new Error("Completed Work outputs must be inside /workspace/outputs.");return n}r(Jg,"normalizeOutputCandidatePath");async function Tc(e){let t=await e.runtimeEventsForSession(e.sessionId),n=null;for(let o of t){let s=wi(o.data);s?.kind!=="file"||s.title!==e.title||(!n||s.revision>n.revision)&&(n=s)}return{id:n?.id??e.firstId??Cc(),revision:(n?.revision??0)+1}}r(Tc,"nextOutputIdentity");function wi(e,t=0){if(t>6||e==null)return null;let n=sn.safeParse(e);if(n.success)return n.data;if(Array.isArray(e)){for(let s of e){let i=wi(s,t+1);if(i)return i}return null}let o=Xn(e);for(let s of Object.values(o)){let i=wi(s,t+1);if(i)return i}return null}r(wi,"findOutputRef");function bi(e,t,n,o=0){if(o>8||e==null)return null;let s=sn.safeParse(e);if(s.success&&s.data.id===t&&(n==null||s.data.revision===n))return s.data;if(Array.isArray(e)){let l=null;for(let u of e){let c=bi(u,t,n,o+1);c&&(!l||c.revision>l.revision)&&(l=c)}return l}let i=Xn(e),a=null;for(let l of Object.values(i)){let u=bi(l,t,n,o+1);u&&(!a||u.revision>a.revision)&&(a=u)}return a}r(bi,"findOutputRefById");function _r(e){let n=Ie.basename(e.trim()).replace(/[^a-zA-Z0-9._ -]+/g,"-").replace(/\s+/g," ").trim().slice(0,180);if(!n||n==="."||n==="..")throw new Error("A valid output file name is required.");return n}r(_r,"safeOutputName");function Ar(e){return e.replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,100)||"item"}r(Ar,"safePathSegment");function Xn(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}r(Xn,"asRecord");function Pc(e){return typeof e=="number"&&Number.isFinite(e)?e:null}r(Pc,"numberValue");import{promises as Er}from"node:fs";import Gg from"node:path";async function Ac(e,t,n=Date.now()){let o=[];for(let i of await Er.readdir(e,{withFileTypes:!0})){if(!i.isFile()||!/\.log(?:\.\d+)?$/.test(i.name))continue;let a=Gg.join(e,i.name),l=await Er.lstat(a).catch(u=>{if(u.code==="ENOENT")return null;throw u});l?.isFile()&&o.push({file:a,size:l.size,modified:l.mtimeMs})}let s=o.reduce((i,a)=>i+a.size,0);for(let i of o.sort((a,l)=>a.modified-l.modified)){if(i.file===t||i.modified>=n-14*864e5&&s<=256*1024*1024)continue;let a=await Er.lstat(i.file).catch(()=>null);a?.isFile()&&a.size===i.size&&a.mtimeMs===i.modified&&(await Er.rm(i.file,{force:!0}),s-=i.size)}}r(Ac,"pruneLogs");import{promises as wo}from"node:fs";import Xg from"node:path";var Ec=1024*1024,Qg=5,vi=/authorization|api[_-]?key|token|session[_-]?token|secret|password/i,Yg=/Bearer\s+[A-Za-z0-9._~+/-]+=*/gi,Zg=/\b(?:https?|wss?):\/\/[^\s"'<>]+/gi;function eh(e){return{name:e.name,message:e.message,stack:e.stack}}r(eh,"serializeError");function Or(e){if(e instanceof Error)return Or(eh(e));if(typeof e=="string")return th(e);if(Array.isArray(e))return e.map(n=>Or(n));if(!e||typeof e!="object")return e;let t={};for(let[n,o]of Object.entries(e))t[n]=vi.test(n)?"[REDACTED]":Or(o);return t}r(Or,"redact");async function Oc(e,t){try{await wo.rm(t,{force:!0}),await wo.rename(e,t)}catch(n){if(n.code!=="ENOENT")throw n}}r(Oc,"renameIfExists");function th(e){return e.replace(Yg,"Bearer [REDACTED]").replace(Zg,t=>nh(t))}r(th,"redactString");function nh(e){let{url:t,suffix:n}=oh(e);try{let o=new URL(t);return(o.username||o.password)&&(o.username="[REDACTED]",o.password="[REDACTED]"),Mc(o.searchParams),o.hash&&(o.hash=rh(o.hash.slice(1))),`${o.toString()}${n}`}catch{return e}}r(nh,"redactUrl");function oh(e){let t=e,n="";for(;/[),.;!?]$/.test(t);)n=`${t.slice(-1)}${n}`,t=t.slice(0,-1);return{url:t,suffix:n}}r(oh,"splitUrlSuffix");function Mc(e){for(let t of Array.from(e.keys()))vi.test(t)&&e.set(t,"[REDACTED]")}r(Mc,"redactSearchParams");function rh(e){if(!e.includes("="))return vi.test(e)?"[REDACTED]":e;let t=new URLSearchParams(e.startsWith("?")?e.slice(1):e);return Mc(t),t.toString()}r(rh,"redactHash");function SS(e){let t=e.maxBytes??Ec,n=e.maxFiles??Qg,o=Xg.join(e.logDir,e.filename??`${e.channel}.log`),s=Promise.resolve(),i=0;async function a(u){let c=0;try{c=(await wo.stat(o)).size}catch(h){if(h.code!=="ENOENT")throw h}if(!(c+u<=t)){for(let h=n-1;h>=1;h-=1)await Oc(`${o}.${h}`,`${o}.${h+1}`);await Oc(o,`${o}.1`)}}r(a,"rotateIfNeeded");function l(u,c,h={}){let p={ts:new Date().toISOString(),level:u,channel:e.channel,message:c,pid:process.pid,platform:process.platform,...e.metadata??{},...h},y=`${JSON.stringify(Or(p))}
|
|
3
3
|
`;Buffer.byteLength(y)>Math.max(Ec,t)&&(y=`${JSON.stringify({ts:p.ts,level:u,channel:e.channel,message:"Oversized log record omitted",originalBytes:Buffer.byteLength(y)})}
|
|
4
4
|
`),s=s.then(async()=>{await wo.mkdir(e.logDir,{recursive:!0}),await a(Buffer.byteLength(y,"utf8")),await wo.appendFile(o,y,{encoding:"utf8",mode:384}),Date.now()-i>=6e4&&(await Ac(e.logDir,o),i=Date.now())}).catch(x=>{console.error("OpenPond logger failed",x)})}return r(l,"write"),{debug:r((u,c)=>l("debug",u,c),"debug"),info:r((u,c)=>l("info",u,c),"info"),warn:r((u,c)=>l("warn",u,c),"warn"),error:r((u,c)=>l("error",u,c),"error"),flush:r(()=>s,"flush"),filePath:o}}r(SS,"createLogger");function yi(e){let t=e.environment??process.env;if(e.provider!=="openpond"||e.model!==t.OPENPOND_HOSTED_MODEL_ID?.trim())return null;let n=t.OPENPOND_HOSTED_MODEL_CONTEXT_WINDOW,o=t.OPENPOND_HOSTED_MODEL_OUTPUT_LIMIT;if(n===void 0&&o===void 0)return null;let s=r(i=>{if(i===void 0)return null;let a=Number(i);if(!/^\d+$/.test(i)||!Number.isSafeInteger(a)||a<=0)throw new Error("Hosted admitted model limit is invalid.");return a},"parse");return{contextWindow:s(n),outputLimit:s(o)}}r(yi,"admittedHostedModelLimits");var qc=4,sh=128e3,ih=8e3,Nc=8192,jc=1024;function Mr(e){return e==="openpond"?e:null}r(Mr,"hostedContextProvider");function Nr(e,t){let o=t.trim().toLowerCase().match(/(?:^|[-_])(\d+)\s*k(?:[-_]|$)/);return o?.[1]?Number.parseInt(o[1],10)*1e3:sh}r(Nr,"hostedContextLimit");function bo(e){let t=Math.min(ih,Math.ceil(e*.25)),n=Math.min(e-1,Math.max(t,Math.ceil(e*.08)));return Math.max(1,e-n)}r(bo,"usableHostedContextLimit");function dn(e){let t=e.model?.trim();if(!t)return null;let n=yi({provider:e.provider,model:t});if(n?.contextWindow)return n.contextWindow;let s=e.settings?.modelCaches[e.provider]?.models.find(a=>a.id===t);if(s?.contextWindow)return s.contextWindow;let i=Mr(e.provider);return i?Nr(i,t):null}r(dn,"trustedProviderContextLimit");function Si(e){let t=e.model?.trim();if(!t)return null;let n=yi({provider:e.provider,model:t});return n?.outputLimit?n.outputLimit:e.settings?.modelCaches[e.provider]?.models.find(s=>s.id===t)?.outputLimit??null}r(Si,"trustedProviderOutputLimit");function jr(e){let t=e.reduce((n,o)=>n+o.role.length+(o.name?.length??0)+(o.content?.length??0)+8,0);return Math.max(1,Math.ceil(t/qc)+e.length*4)}r(jr,"estimateHostedMessageTokens");function Fr(e){let t=ch(e.provider,e.model);if(!t)return{tokens:jr(e.messages),source:"heuristic",modelFamily:null};let n=e.messages.reduce((o,s)=>o+4+ki(s.role,t)+ki(s.name??"",t)+ki(s.content??"",t),1);return{tokens:Math.max(1,n),source:"model_family",modelFamily:t}}r(Fr,"estimateHostedMessageTokensForProvider");function Qn(e){let t=e.maxContextTokens?Math.max(256,Math.floor(e.maxContextTokens/8)):Nc,n=e.modelOutputLimit&&e.modelOutputLimit>0?Math.floor(e.modelOutputLimit):Number.MAX_SAFE_INTEGER;return Math.max(1,Math.min(e.requestedOutputTokens??Nc,t,n))}r(Qn,"hostedRequestedOutputTokens");function Cn(e){let t=e.maxContextTokens??null,n=Fr({provider:e.provider,model:e.model,messages:e.messages}),o=n.tokens,s=Fc(e.tools??[]),i=Fc(e.messages.flatMap(u=>{let c={};return u.continuation!==void 0&&(c.continuation=u.continuation),u.tool_calls!==void 0&&(c.tool_calls=u.tool_calls),u.tool_call_id!==void 0&&(c.tool_call_id=u.tool_call_id),Object.keys(c).length>0?[c]:[]})),a=Math.max(1,Math.floor(e.maxOutputTokens)),l=ah(e.provider,t);return{messageTokens:o,toolDefinitionTokens:s,continuationTokens:i,outputAllowanceTokens:a,safetyReserveTokens:l,projectedTokens:o+s+i+a+l,maxContextTokens:t,tokenSource:n.source,tokenModelFamily:n.modelFamily}}r(Cn,"estimateHostedRequestBudget");function Fc(e){if(Array.isArray(e)&&e.length===0)return 0;let t=JSON.stringify(e);return!t||t==="[]"||t==="{}"?0:Math.max(1,Math.ceil(t.length/qc))}r(Fc,"estimatedSerializedTokens");function ah(e,t){return t?Math.min(Math.max(1,Math.floor(t/8)),Math.max(jc,Math.ceil(t*.02))):jc*2}r(ah,"requestSafetyReserveTokens");function lh(e,t){if(!e||typeof e!="object")return null;let n=e;for(let o of t){let s=n[o];if(typeof s=="number"&&Number.isFinite(s)&&s>=0)return Math.round(s)}return null}r(lh,"numericUsageValue");function dh(e,t){let n=bd(e),o=n.promptTokens,s=n.completionTokens,i=lh(e,["total_tokens","totalTokens"]);return t?i!==null?i:o!==null&&s!==null?o+s:null:o??i}r(dh,"tokenCountFromUsage");function $c(e){let t=e.usage===void 0?null:dh(e.usage,!!e.includeCompletion),n=Fr({provider:e.provider,model:e.model,messages:e.messages}),o=t??n.tokens,s=e.maxContextTokens??dn({provider:e.provider,model:e.model});if(!s)throw new Error(`Cannot create context usage snapshot without a trusted context limit for ${e.provider}.`);let i=Math.min(100,Math.round(o/s*100));return dr.parse({provider:e.provider,model:e.model,usedTokens:o,maxContextTokens:s,usableContextTokens:bo(s),percentFull:i,source:t===null?n.source:"provider_usage",updatedAtEventId:e.updatedAtEventId})}r($c,"createContextUsageSnapshot");function ch(e,t){let n=`${e}/${t??""}`.toLowerCase();return/\b(?:gpt|o[1-9]|codex)\b/.test(n)?"openai_cl100k":n.includes("claude")||e==="anthropic"?"anthropic_claude":n.includes("deepseek")||n.includes("kimi")||n.includes("glm")?"multilingual_code":null}r(ch,"modelTokenFamily");function ki(e,t){if(!e)return 0;let n=[...e].filter(i=>/[\u3000-\u9fff\uf900-\ufaff]/u.test(i)).length,o=Math.max(0,e.length-n);return Math.max(1,n+Math.ceil(o/(t==="anthropic_claude"?3.85:t==="multilingual_code"?3.65:3.75)))}r(ki,"estimateModelFamilyTextTokens");import{randomUUID as uh}from"node:crypto";import{promises as Dc}from"node:fs";import qr from"node:path";var Hc=8e3;function Ii(e,t){if(!/^custom:[a-zA-Z0-9_-]+$/.test(t))throw new Error("Invalid custom personality identifier.");return qr.join(Sn(e).instructions,"personalities",`${t.slice(7)}.md`)}r(Ii,"personalityPath");function Ri(e,t){if(e.trim().length>Hc)throw new Un({code:"INVALID_INSTRUCTIONS",path:t??"personalization",message:`Personality text exceeds ${Hc} characters.`,action:"Shorten the personality text before using it."});return e.trim()}r(Ri,"validateText");async function ph(e){let t=qr.join(Sn(e).instructions,"personalities"),n=await Dc.readdir(t,{withFileTypes:!0}).catch(s=>{if(pl(s))return[];throw s}),o=[...ao];for(let s of n.sort((i,a)=>i.name.localeCompare(a.name))){if(!s.isFile()||!/^[a-zA-Z0-9_-]+\.md$/.test(s.name))continue;let i=qr.join(t,s.name),a=await io(i);a!==null&&o.push({id:`custom:${s.name.slice(0,-3)}`,name:s.name.slice(0,-3).replace(/[-_]+/g," "),source:"custom",description:"",content:Ri(a,i)})}return o}r(ph,"templatesWithFiles");async function mh(e,t){let{document:n}=await ur(t),o=await ph(t),s=n.personalization?.active??`builtin:${cr}`,i=s.startsWith("builtin:")?s.slice(8):s,a=o.find(u=>u.id===i);if(!a)throw new Un({code:"MISSING_PERSONALITY",path:s.startsWith("custom:")?Ii(t,s):Sn(t).config,message:`Selected personality ${s} is unavailable.`,action:"Restore its Markdown file or select an available personality in Settings."});let l=s.startsWith("custom:")?Ii(t,s):null;return xl.parse({activeTemplateId:i,customized:a.source==="custom",soul:n.personalization?.mode==="disabled"?"":a.content,soulPath:l,updatedAt:l?(await Dc.stat(l)).mtime.toISOString():null,templates:o})}r(mh,"loadPersonalizationSettings");async function qS(e,t,n){return await ar(qr.join(Sn(t).runtime,"personalization"),async()=>{let o=Ri(n.soul),s=ao.find(a=>a.id===n.activeTemplateId),i;if(!n.saveAsNew&&s&&o===s.content.trim())i=`builtin:${s.id}`;else{let a=n.templateName.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,56)||"custom";i=!n.saveAsNew&&n.activeTemplateId.startsWith("custom:")?n.activeTemplateId:`custom:${a}-${uh().slice(0,8)}`,await ml(Ii(t,i),`${o}
|
|
5
5
|
`)}await pr(t,a=>({...a,personalization:{...a.personalization,active:i}}))}),mh(e,t)}r(qS,"savePersonalizationSettings");function Lc(e,t){return[Ri(e),t.trim()].filter(Boolean).join(`
|
|
@@ -132,7 +132,7 @@ ${i}`,kind:"followup",reportingOnly:!0,idempotencyKey:`review:${o.turnId}:${o.ca
|
|
|
132
132
|
|
|
133
133
|
`)}r(Ss,"completionBody");var qk=2e4;function Ef(e){let t=e.requireSubagentDeps,n=e.sendTurn,o=e.getTurn,s=e.getPersistedRun,i=e.upsertPersistedRun,a=e.notifyRunStateChanged,l=e.latestTurnForSession,u=e.appendSubagentReceipt,c=e.subagentRuntimeDerivedProgress,h=e.subagentUsageAttribution,p=e.subagentUsageTotalsForRun,y=e.captureSubagentWorkspaceHandoff,x=e.applySubagentPatch,T=e.appendWorkspaceDiffEvent,m=e.uniqueSubagentRefs,w=e.notifyParentOfSubagentCompletion,C=e.commitCompletion,S={latestAssistantTextForSession:e.latestAssistantTextForSession},R=r(v=>new Promise(b=>setTimeout(b,v)),"delay");async function g(v){let b=t(),f=await b.getRun(v.run.id);if(f&&f.status!=="queued")return;let _=Y(),I=ye.parse({...f??v.run,status:"running",startedAt:_,progress:et.parse({...(f??v.run).progress??{},phase:"orient",latestMeaningfulActivity:"Child subagent turn started.",currentBlocker:null,updatedAt:_})});await b.upsertRun(I),await u({parentSession:v.parentSession,parentTurnId:v.parentTurnId,run:I,eventName:"subagent.started",status:"started",output:`${I.roleId} subagent is running.`}),await u({parentSession:v.parentSession,parentTurnId:v.parentTurnId,run:I,eventName:"subagent.progress",status:"pending",output:`${I.roleId} subagent is working in child conversation ${I.childSessionId??"unknown"}.`});let M=`failed_${I.id}`;try{let j=v.initialPrompt?.trim()||df({objective:v.run.objective,contextPack:v.contextPack});for(;;){let $=await d(v.childSession.id,v.run.id,{prompt:j,modelRef:v.run.modelRef??void 0,metadata:{subagentRunId:v.run.id,parentSessionId:v.parentSession.id,parentTurnId:v.parentTurnId,subagentRoleId:v.run.roleId,subagentPermissions:v.childTurnPermissions,usageAttribution:h(v.run)},usageAttribution:h(v.run),approvalPolicy:v.childTurnPermissions.approvalPolicy,sandbox:v.childTurnPermissions.sandbox,codexPermissionMode:v.childTurnPermissions.codexPermissionMode,codexReasoningEffort:v.childTurnPermissions.codexReasoningEffort},v.reservedTurnId),W=await k($);M=W.id;let U=await s(I.id);if(U?.status==="cancelled")return;if(I=U??I,W.status!=="completed")throw new Error(W.error||`Child turn ended with status ${W.status}.`);break}let N=Y(),q=await S.latestAssistantTextForSession(v.childSession.id),V=await p(v.run.id),B=await c({run:I,childSessionId:v.childSession.id,phase:"report",latestMeaningfulActivity:"Child conversation completed."}),z=await y(I),E=ve([...B.changedFiles,...z?.changedFiles??[]]),F=null;if(I=ye.parse({...I,status:"completed",completedAt:N,error:null,report:{summary:tt(q||"Child conversation completed.",qk),findings:[],artifacts:z?.artifacts??[],patchRef:z?.patchRef??null,diffRef:z?.diffRef??null,testsRun:B.validationAttempts.map($=>$.command),blockers:[],confidence:null,followUpNeeded:!1},progress:et.parse({...B,phase:"report",changedFiles:E,patchRefs:m([...B.patchRefs,z?.patchRef??null,z?.diffRef??null]),latestMeaningfulActivity:"Child conversation completed.",currentBlocker:null,updatedAt:N}),metadata:{...I.metadata,usage:V,...z?{workspaceHandoff:z.metadata}:{}}}),await i(I),z?.changed&&z.metadata.patchPath)try{let $=await x(I);$&&(I=ye.parse({...I,metadata:{...I.metadata,workspaceHandoff:{...z.metadata,applyResult:$}}}),await T(v.parentSession,v.parentTurnId).catch(()=>{}))}catch($){F=se($)||"Unable to apply the isolated child patch.",I=ye.parse({...I,status:"failed",error:F,report:{...I.report,blockers:[F],followUpNeeded:!0},progress:et.parse({...I.progress,latestMeaningfulActivity:"Child completed, but its isolated patch could not be integrated.",currentBlocker:F,updatedAt:Y()})})}await C(I,M),await u({parentSession:v.parentSession,parentTurnId:v.parentTurnId,run:I,eventName:F?"subagent.failed":"subagent.completed",status:F?"failed":"completed",output:F?`${I.roleId} child completed but integration failed: ${F}`:`${I.roleId} child completed.`}),await w({run:I,parentSession:v.parentSession,childSession:v.childSession,childTurnId:M,body:Ss(I),refs:m([...I.report?.artifacts??[],I.report?.patchRef??null,I.report?.diffRef??null])}),a?.(I)}catch(j){let N=await s(I.id).catch(()=>null);if(N&&N.status!=="running")return;let q=se(j)||"Subagent failed.",V=Y(),B=await y(I).catch(()=>null),z=!!(B?.changed||B?.artifacts.length),E=await c({run:I,childSessionId:v.childSession.id,phase:"report",latestMeaningfulActivity:z?"Child failed after producing recoverable artifacts.":"Child failed before producing a final report.",currentBlocker:q}),F=E.validationAttempts??[],$=ve([q,...E.currentBlocker?[E.currentBlocker]:[]]),W=ve([...E.changedFiles??[],...B?.changedFiles??[]]),U={summary:z?"Child conversation failed after producing recoverable artifacts.":"Child conversation failed before producing a final report.",findings:[],artifacts:B?.artifacts??[],patchRef:B?.patchRef??null,diffRef:B?.diffRef??null,testsRun:ve(F.map(te=>te.command)),blockers:$,confidence:"low",followUpNeeded:!0},J=et.parse({...E,phase:"report",changedFiles:W,patchRefs:m([...E.patchRefs??[],B?.patchRef??null,B?.diffRef??null]),latestMeaningfulActivity:z?"Child failed after producing recoverable artifacts.":"Child failed before producing a final report.",currentBlocker:q,updatedAt:V});I=ye.parse({...I,status:"failed",completedAt:V,error:q,report:U,progress:J,metadata:{...I.metadata??{},...B?{workspaceHandoff:B.metadata}:{}}}),await C(I,M),await u({parentSession:v.parentSession,parentTurnId:v.parentTurnId,run:I,eventName:"subagent.failed",status:"failed",output:z?`${I.roleId} subagent failed after producing recoverable artifacts: ${q}`:`${I.roleId} subagent failed: ${q}`}),await w({run:I,parentSession:v.parentSession,childSession:v.childSession,childTurnId:M,body:Ss(I),refs:m([...U.artifacts,U.patchRef,U.diffRef])}),a?.(I)}}r(g,"runSubagentChildTurn");async function d(v,b,f,_){let I=await l(v);return await new Promise((M,j)=>{let N=!1,q=null,V=r(E=>N||E.status==="in_progress"?!1:(N=!0,M(E),!0),"settleWithTurn"),B=r(E=>{N||(N=!0,j(E))},"fail");n(v,f,_).then(E=>{q=E.id,V(E)},B),r(async()=>{for(;!N;){let E=await l(v);if(N)return;let F=!!(E&&E.metadata?.subagentRunId===b&&(E.id!==I?.id||E.id===q));if(E&&F&&V(E))return;await R(250)}},"pollDurableTurn")().catch(B)})}r(d,"sendManagedSubagentTurn");async function k(v){let b=await Promise.race([l(v.sessionId),R(25).then(()=>null)]);if(b?.id===v.id&&b.status!=="in_progress")return b;if(v.status!=="in_progress")return v;let f=await o(v.id)??v;if(f.status!=="in_progress")return f;for(let _=0;_<200;_+=1)if(await R(250),f=await o(v.id)??f,f.status!=="in_progress")return f;return f}return r(k,"finalizedSubagentChildTurn"),{runSubagentChildTurn:g}}r(Ef,"createSubagentChildTurnRuntime");import{randomUUID as $k}from"node:crypto";function Of(e){let t=e.inbox,n=6e4,o=new Set,s=e.requireSubagentDeps,i=e.loadAppPreferences,a=e.getSession,l=e.appendSubagentReceipt,u=e.subagentWorkspaceTargetKeyForSession,c=e.subagentWorkspaceTargetKeyFromRun,h=e.subagentChildTurnPermissions,p=e.prepareSubagentWorkspaceIsolation,y=e.runSubagentChildTurn,x=e.subagentToolResultFromRun,T=e.subagentRoleLabel,m=e.interruptSessionTurn,w=e.cleanupSubagentRun,C=e.queueSubagentFollowupMessage,S=e.archiveSubagentChildSession,R=e.subagentLifecycleActionNextStep;async function g(I,M){if(I.session.subagentRunId)throw new Error("Child subagents cannot start additional subagents in this version.");let j=s(),N=await i();if(!N.subagents.enabled)throw new Error("Subagents are disabled in settings.");let q=N.subagents.roles.find(F=>F.id===M.roleId);if(!q?.enabled)throw new Error(`Subagent role ${M.roleId} is not enabled.`);let V=I.model?{providerId:I.provider,modelId:I.model}:null,B=q.modelRef??N.subagents.defaultModelRef??V??N.defaultChatModelRef??{providerId:N.defaultChatProvider,modelId:N.defaultChatModel},z=await u(I.session),E=q.toolPolicy!=="read_only";if(E&&o.has(z))throw new Error(`Another write-capable subagent is starting for ${z}.`);E&&o.add(z);try{let F=await j.listRuns({parentSessionId:I.session.id,status:["queued","running","needs_resume"],limit:1e3});if(F.length>=N.subagents.maxConcurrentRuns)throw new Error(`Subagent concurrency limit reached: ${F.length}/${N.subagents.maxConcurrentRuns} active child runs.`);let $=F.filter(Xe=>Xe.roleId===q.id);if($.length>=q.maxConcurrentRuns)throw new Error(`Subagent role ${q.id} concurrency limit reached: ${$.length}/${q.maxConcurrentRuns} active runs.`);let W=N.subagents.maxConcurrentRunsPerProvider;if(W!==null){let Xe=F.filter(_e=>_e.modelRef?.providerId===B.providerId);if(Xe.length>=W)throw new Error(`Subagent provider ${B.providerId} concurrency limit reached: ${Xe.length}/${W} active runs.`)}let U=N.subagents.maxConcurrentRunsPerWorkspaceTarget;if(U!==null&&E){let _e=(await j.listRuns({status:["queued","running","needs_resume"],limit:1e3})).filter(ke=>ke.toolPolicy!=="read_only"&&c(ke)===z);if(_e.length>=U)throw new Error(`Subagent workspace target concurrency limit reached: ${_e.length}/${U} active runs for ${z}.`)}let J=$k(),te=Y(),de=h(I.turnPermissions,q),ie=await p({parentSession:I.session,role:q,runId:J}),me=ie.sessionWorkspace??{},fe=M.context??null,we=lf({role:q,objective:M.objective,parentSession:I.session,contextPack:fe}),X={...G(me.metadata)??{},subagent:{runId:J,roleId:q.id,parentSessionId:I.session.id,parentTurnId:I.turnId,toolPolicy:q.toolPolicy,requestedIsolationMode:q.isolationMode,effectiveIsolationMode:ie.effectiveIsolationMode,workspace:ie.workspace,systemContext:we}},Ce=await j.createSession({experience:I.session.experience,provider:B.providerId,modelRef:B,openPondCommandAccessMode:I.session.openPondCommandAccessMode,hiddenFromDefaultSidebar:!0,parentSessionId:I.session.id,parentTurnId:I.turnId,subagentRunId:J,subagentRoleId:q.id,appId:I.session.appId,appName:I.session.appName,workspaceKind:me.workspaceKind??I.session.workspaceKind,workspaceId:me.workspaceId??I.session.workspaceId,workspaceName:me.workspaceName??I.session.workspaceName,localProjectId:me.localProjectId??I.session.localProjectId,cloudProjectId:me.cloudProjectId??I.session.cloudProjectId,cloudTeamId:me.cloudTeamId??I.session.cloudTeamId,currentProfile:I.session.currentProfile??null,cwd:ie.cwd??I.session.cwd,title:`${T(q)}: ${M.objective.slice(0,72)}`,metadata:X}),ae=ie.blocker,Fe=ye.parse({id:J,parentSessionId:I.session.id,parentTurnId:I.turnId,childSessionId:Ce.id,roleId:q.id,objective:M.objective,modelRef:B,isolationMode:q.isolationMode,toolPolicy:q.toolPolicy,background:q.background,peerMessages:q.peerMessages,status:ae?"failed":"queued",progress:et.parse({phase:ae?"report":"orient",currentBlocker:ae,latestMeaningfulActivity:ae?"Child failed before execution because isolation is unavailable.":"Child run created.",updatedAt:te}),createdAt:te,startedAt:null,completedAt:ae?te:null,error:ae,report:ae?{summary:"Child could not start because write-capable isolation is unavailable.",blockers:[ae],followUpNeeded:!0}:null,metadata:{context:fe,childTurnPermissions:de,concurrency:{providerId:B.providerId,providerMaxConcurrentRuns:W,workspaceTargetKey:z,workspaceTargetMaxConcurrentRuns:U},subagentWorkspace:ie.workspace}});return await j.upsertRun(Fe),await l({parentSession:I.session,parentTurnId:I.turnId,run:Fe,childSession:Ce,eventName:ae?"subagent.failed":"subagent.started",status:ae?"failed":"pending",output:ae?`Child ${q.id} failed to start: ${ae}`:`Started ${q.id} subagent.`}),!ae&&q.background&&j.queue.enqueue({label:`${q.id}: ${M.objective.slice(0,80)}`,metadata:{runId:J,childSessionId:Ce.id,parentSessionId:I.session.id}},()=>y({run:Fe,role:q,childSession:Ce,parentSession:I.session,parentTurnId:I.turnId,contextPack:fe,childTurnPermissions:de})),x(Fe,ae?"Open the child conversation or wait for workspace isolation support before retrying write-capable work.":"Subagent queued in its own child conversation. Continue useful parent work or wait for its completion notification.")}finally{E&&o.delete(z)}}r(g,"startSubagentFromModelTool");async function d(I,M){let j=s(),N=M.runId?[await j.getRun(M.runId)].filter(q=>!!q):await j.listRuns({parentSessionId:I.session.id,limit:50});for(let q of N)qo(I.session,q);return{runs:N.map(q=>x(q,"Subagent status loaded.")),nextStep:N.length===0?"No matching subagent runs.":`Loaded ${N.length} subagent run${N.length===1?"":"s"}.`}}r(d,"statusSubagentsFromModelTool");async function k(I,M){let j=s(),N=await j.getRun(M.runId);if(!N)throw new Error(`Subagent run ${M.runId} was not found.`);return qo(I.session,N),(M.inputId||N.status==="queued"||N.status==="running")&&N.childSessionId&&(await t.wait({sessionId:I.session.id,turnId:I.turnId,callId:I.callId,targetSessionId:N.childSessionId,targetInputId:M.inputId??void 0,timeoutMs:n,signal:I.signal}),N=await j.getRun(M.runId)??N),N.status!=="queued"&&N.status!=="running"&&(N=ye.parse({...N,metadata:{...N.metadata??{},completionConsumedByParent:{at:Y(),parentSessionId:I.session.id,parentTurnId:I.turnId,childCompletedAt:N.completedAt}}}),await j.upsertRun(N)),x(N,N.status==="completed"?"Child completed; use its final result or inspect the child conversation.":N.status==="queued"||N.status==="running"?"Child is still running. Do independent work, or wait again when blocked. Its completion report will arrive in the task inbox.":`Child ended with status ${N.status}; inspect its result before deciding the next action.`)}r(k,"joinSubagentFromModelTool");async function v(I,M){let j=s(),N=await j.getRun(M.runId);if(!N)throw new Error(`Subagent run ${M.runId} was not found.`);if(qo(I.session,N),N.status==="completed")return x(N,"Subagent already completed; no cancellation was applied.");if(N.status==="cancelled")return x(N,"Subagent was already cancelled.");let q=M.reason?.trim()||"Subagent cancelled by request.",V=Y(),B=ye.parse({...N,status:"cancelled",completedAt:V,error:q,report:{...N.report??{},summary:N.report?.summary||"Subagent cancelled before completion.",blockers:ve([...N.report?.blockers??[],q]),followUpNeeded:!1},metadata:{...N.metadata??{},cancellation:{reason:q,cancelledAt:V,requestedBySessionId:I.session.id,requestedByTurnId:I.turnId}}});await j.upsertRun(B);let z=null;if(N.childSessionId)try{let $=await m(N.childSessionId);z={status:$.status,turnId:$.id}}catch($){z={status:"not_active",error:se($)||"No active child turn to interrupt."}}let E=M.cleanupWorkspace===!1?{status:"skipped",reason:"cleanupWorkspace was false"}:null;if(M.cleanupWorkspace!==!1){let $=await w({run:B,parentSession:I.session,parentTurnId:I.turnId,reason:"cancel_requested",policy:"cancel_requested"});B=$.run,E=$.workspaceCleanup}B=ye.parse({...B,metadata:{...B.metadata??{},cancellation:{...G(B.metadata?.cancellation)??{},interruptResult:z,workspaceCleanup:E}}}),await j.upsertRun(B);let F=N.parentSessionId===I.session.id?I.session:await a(N.parentSessionId).catch(()=>I.session);return await l({parentSession:F,parentTurnId:N.parentTurnId??I.turnId,run:B,eventName:"subagent.cancelled",status:"failed",output:`${N.roleId} subagent cancelled: ${q}`}),x(B,E?.status==="removed"?"Subagent cancelled and isolated workspace cleanup completed.":"Subagent cancelled.")}r(v,"cancelSubagentFromModelTool");async function b(I,M){let N=await s().getRun(M.runId);if(!N)throw new Error(`Subagent run ${M.runId} was not found.`);if(qo(I.session,N),!N.childSessionId)throw new Error(`Subagent run ${N.id} has no child conversation.`);if(N.status==="cancelled")throw new Error(`Subagent run ${N.id} is ${N.status} and cannot receive a follow-up.`);let q=await C({context:I,run:N,body:M.message});return{...x(N,"Follow-up saved in the task inbox. Pass taskInputId as inputId when joining this assignment."),taskInputId:q.id}}r(b,"followupSubagentFromModelTool");async function f(I,M){let j=kl.parse(M),q=await s().getRun(I);if(!q)throw new Error(`Subagent run ${I} was not found.`);let V=await a(q.parentSessionId),B=j.reason??`Manual subagent ${j.action} requested.`,z=q,E=null,F=null;if(j.action==="cleanup"||j.action==="cleanup_and_archive"){let $=await w({run:z,parentSession:V,parentTurnId:z.parentTurnId??null,reason:B,policy:"manual_cleanup"});z=$.run,E=$.workspaceCleanup}if(j.action==="archive"||j.action==="cleanup_and_archive"){let $=await S({parentSession:V,parentTurnId:z.parentTurnId??null,run:z,reason:B,policy:"manual_archive"});z=$.run,F=$.sessionArchive}return{action:j.action,run:z,workspaceCleanup:E,sessionArchive:F,nextStep:R(j.action,E,F)}}r(f,"runSubagentLifecycleAction");async function _(I,M={}){let j=G(M)??{},q=await s().getRun(I);if(!q)throw new Error(`Subagent run ${I} was not found.`);let V=await a(q.parentSessionId),B=H(j,"checkedAt")??Y(),z=H(j,"reason")??`Retained subagent workspace retention expired at ${B}.`,E=await w({run:q,parentSession:V,parentTurnId:q.parentTurnId??null,reason:z,policy:"retention_expired"});return{action:"cleanup",run:E.run,workspaceCleanup:E.workspaceCleanup,sessionArchive:null,nextStep:R("cleanup",E.workspaceCleanup,null)}}return r(_,"cleanupExpiredRetainedSubagentWorkspace"),{cancelSubagentFromModelTool:v,cleanupExpiredRetainedSubagentWorkspace:_,followupSubagentFromModelTool:b,joinSubagentFromModelTool:k,runSubagentLifecycleAction:f,startSubagentFromModelTool:g,statusSubagentsFromModelTool:d}}r(Of,"createSubagentToolRuntime");function Mf(e){async function t(o){if(!o.run.childSessionId)return{run:o.run,sessionArchive:{status:"missing_child_session"}};let s;try{let l=await e.getSession(o.run.childSessionId);l.archived||await e.updateSession(l.id,{archived:!0}),s={status:l.archived?"already_archived":"archived",archivedAt:Y()}}catch(l){s={status:"failed",error:se(l)||"Failed to archive child conversation."}}let i=await e.getRun(o.run.id)??o.run,a=ye.parse({...i,metadata:{...i.metadata??{},childSessionArchive:{...s,reason:o.reason,policy:o.policy}}});return await e.upsertRun(a),await e.appendSubagentReceipt({parentSession:o.parentSession,parentTurnId:o.parentTurnId,run:a,eventName:"subagent.archived",status:s.status==="failed"?"failed":"completed",output:s.status==="failed"?`Failed to archive ${a.roleId} child conversation.`:`Archived ${a.roleId} child conversation.`}),{run:a,sessionArchive:s}}r(t,"archiveSubagentChildSession");function n(o,s,i){return o==="cleanup"?s?"Child workspace cleanup finished.":"No child workspace cleanup was needed.":o==="archive"?i?"Child conversation archive finished.":"No child conversation was available to archive.":"Child workspace cleanup and conversation archive finished."}return r(n,"subagentLifecycleActionNextStep"),{archiveSubagentChildSession:t,subagentLifecycleActionNextStep:n}}r(Mf,"createSubagentLifecycleRuntime");function Nf(e){function t(){return!!(e.createSession&&e.queue&&e.upsertRun&&e.getRun&&e.listRuns&&e.appendMessage&&e.listUsageRecords)}r(t,"available");async function n(i){if(!e.upsertRun)throw new Error("Subagent runtime dependencies are not available.");let a=await e.upsertRun(i);return e.notifyRunStateChanged?.(a),a}r(n,"upsertRunAndNotify");function o(){if(!e.createSession||!e.queue||!e.upsertRun||!e.getRun||!e.listRuns||!e.appendMessage||!e.listUsageRecords)throw new Error("Subagent runtime dependencies are not available.");return{createSession:e.createSession,queue:e.queue,upsertRun:n,getRun:e.getRun,listRuns:e.listRuns,appendMessage:e.appendMessage,listUsageRecords:e.listUsageRecords}}r(o,"requireDependencies");async function s(i){await e.appendRuntimeEvent(L({sessionId:i.parentSession.id,turnId:i.parentTurnId??void 0,name:i.eventName,source:"server",appId:i.parentSession.appId,status:i.status,output:i.output,data:{run:i.run,childSessionId:i.run.childSessionId,...i.childSession?{childSession:Hk(i.childSession)}:{}}}))}return r(s,"appendReceipt"),{appendReceipt:s,available:t,requireDependencies:o,upsertRunAndNotify:n}}r(Nf,"createSubagentRepositoryRuntime");function Hk(e){let{metadata:t,...n}=e;return n}r(Hk,"sessionShell");function jf(e,t){return{runId:e.id,childSessionId:e.childSessionId,roleId:e.roleId,status:e.status,modelRef:e.modelRef,isolationMode:e.isolationMode,toolPolicy:e.toolPolicy,background:e.background,peerMessages:e.peerMessages,progress:e.progress,report:e.report,nextStep:t}}r(jf,"subagentToolResultFromRun");function Ff(e){return e.id.slice(0,1).toUpperCase()+e.id.slice(1).replace(/[-_]+/g," ")}r(Ff,"subagentRoleLabel");function qf(e){let t=new Set,n=[];for(let o of e){if(!o)continue;let s=`${o.kind}:${o.id}`;t.has(s)||(t.add(s),n.push(o))}return n}r(qf,"uniqueSubagentRefs");function $f(e){return Dk(e)??Lk(e)}r($f,"authoringCommandRoute");function Hf(e){if(e.target.kind!=="agent"||e.operation!=="create"&&e.operation!=="improve")return null;let t=e.operation==="improve"?Lo(e.target.id??""):null;if(e.operation==="improve"&&!t)throw new Error("Agent improve requires an exact target Agent ID.");return{skillName:"openpond-agent-authoring",intent:{artifact:"agent",operation:e.operation,objective:e.objective.trim()||(e.operation==="create"?"Create a source-backed Profile Agent.":`Improve the Profile Agent ${t}.`),targetAgentId:t,source:"authoring_entry"}}}r(Hf,"authoringCommandRouteFromLegacyAgentRun");function Dk(e){let t=/^\/skill(?:\s+([\s\S]*))?$/i.exec(e.trim());if(!t)return null;let n=t[1]?.trim()??"";if(!n)return null;let[o="",...s]=n.split(/\s+/),i=o.toLowerCase();if(i==="list"||i==="help")return null;if(i==="edit"){let[u="",...c]=s,h=Lo(u.replace(/^\$/,""));if(!h)throw new Error("/skill edit requires an exact lowercase kebab-case Skill name.");return{skillName:"openpond-skill-authoring",intent:{artifact:"skill",operation:"edit",objective:c.join(" ").trim()||`Improve the Profile skill ${u||"selected by the user"}.`,targetSkillName:h,source:"slash_command"}}}let a=i==="create"?s.join(" ").trim():n,l=Bk(a);return{skillName:"openpond-skill-authoring",intent:{artifact:"skill",operation:"create",objective:l.objective||"Create a reusable Profile skill from the current conversation.",targetSkillName:l.name,source:"slash_command"}}}r(Dk,"skillAuthoringRoute");function Lk(e){let t=/^\/agent(?:\s+([\s\S]*))?$/i.exec(e.trim());if(!t)return null;let n=t[1]?.trim()??"",[o="",...s]=n.split(/\s+/),i=o.toLowerCase();if(i==="help"||i==="list")return null;if(i==="improve"||i==="edit"){let[l="",...u]=s,c=Lo(l);if(!c)throw new Error("/agent improve requires an exact lowercase kebab-case Agent ID.");return{skillName:"openpond-agent-authoring",intent:{artifact:"agent",operation:"improve",objective:u.join(" ").trim()||`Improve the Profile Agent ${l||"selected by the user"}.`,targetAgentId:c,source:"slash_command"}}}return{skillName:"openpond-agent-authoring",intent:{artifact:"agent",operation:"create",objective:(i==="create"?s.join(" ").trim():n)||"Create a source-backed Profile Agent from the current conversation.",targetAgentId:null,source:"slash_command"}}}r(Lk,"agentAuthoringRoute");function Bk(e){let t=e.trim(),n=/^--name\s+([a-z][a-z0-9-]*)\s+([\s\S]+)$/i.exec(t);if(n)return{name:Lo(n[1]??""),objective:n[2]?.trim()??""};let o=/^([a-z][a-z0-9-]*):\s*([\s\S]+)$/.exec(t);return o?{name:Lo(o[1]??""),objective:o[2]?.trim()??""}:{name:null,objective:t}}r(Bk,"splitOptionalSkillName");function Lo(e){let t=e.trim().toLowerCase();return/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(t)?t:null}r(Lo,"normalizePackageId");function zk(e,t){return t?.interactionKind!=="steer"?e:["[Steering instruction for an interrupted response]","Change the response direction immediately. Treat the instruction below as a correction to the response that was in progress, not as an unrelated new request.",e].join(`
|
|
134
134
|
|
|
135
|
-
`)}r(zk,"promptWithSteeringContext");function gj(e){let{attachmentRootDir:t,store:n,resolveCreateImproveTaskset:o,gradeCreateImproveTaskAttempt:s,upsertApproval:i,createSession:a,getSession:l,updateSession:u,completeTurn:c,failTurn:h,interruptTurn:p,defaultSessionCwd:y,findOpenPondApp:x,resolveSessionWorkspaceCwd:T,ensureCodexRuntime:m,appendWorkspaceDiffEvent:w,workspaceDiffBaseline:C,appendRuntimeEvent:S,processHarnessImprovementBoundary:R,executeWorkspaceTool:g,forkSandboxForSubagent:d,cleanupSandboxForSubagent:k,finalizeWorkTurn:v,workInputsForSession:b,executeOpenPondCommand:f,executeProfileAction:_,executeProjectAction:I,executeChatResourceAction:M,executeDatasetBuilderAction:j,loadOpenPondProfileState:N,loadOpenPondProfileStateForRef:q,readOpenPondProfileSkill:V,loadSelectedHarnessRuntime:B,ensureHarnessRunOverlay:z,loadOpenPondExtensionCatalog:E,readOpenPondExtensionSkill:F,executeProfileSkillCommand:$,executeWebSearch:W,createScheduledWork:U,executeConnectedAppTool:J,htmlVisuals:te,browserToolExecutor:de,manageSidebarFile:ie,listIntegrationConnections:me,loadPersonalizationSoul:fe,loadAppPreferences:we=r(async()=>Rl.parse({}),"loadAppPreferences"),loadProviderSettings:X,maybeCreateScaffoldForTurn:Ce,hostedSystemPrompt:ae,appendAssistantText:Fe,appendHostedContextUsage:Xe,streamLocalByokChatTurn:_e,streamOpenPondHostedChatTurn:ke=Kn,runLocalCreatePipelineChecks:Bo,planCreateImprove:Gt,turnFollowUpQueue:hn,subagentQueue:Le,notifySubagentRunStateChanged:to,maxHostedWorkspaceToolRounds:Xt,maxRepeatedInvalidToolRequests:Qt}=e,Me=e.inboxStore??n,Dn=Bm(e.storageHome??t),rt=ma(e.hostedToolFlags),Qe=new bs,pe=Nm({prepareInputAttachments:ap({storageHome:e.storageHome??t,attachmentRootDir:t}),store:Me,getSession:l,listSessions:r(()=>n.sessionShells(),"listSessions"),getTurn:r(A=>n.getTurn(A),"getTurn"),latestTurn:r(A=>n.latestTurnForSession(A),"latestTurn"),recoverInterruptedTurn:r(async(A,Q)=>{(await n.getTurn(Q))?.status==="in_progress"&&await p(await l(A),Q,"The local app server restarted before this turn finished. Pending inputs are preserved. Review completed tool activity, then resume this chat to continue.")},"recoverInterruptedTurn"),getSubagentRun:r(A=>n.getSubagentRun?n.getSubagentRun(A):Promise.resolve(null),"getSubagentRun"),getActiveTurn:r(A=>Qe.get(A),"getActiveTurn"),appendRuntimeEvent:S,startFollowup:r(async(A,Q,oe,re)=>{let be=await l(A),D=Dt.parse(Q);if(!be.subagentRunId){if(re.senderKind==="user")return Vo(A,D,oe,re.payload.remoteDevice?{beforeExecute:r(async jt=>{pi(re,jt)},"beforeExecute")}:void 0);let Ct=await n.latestTurnForSession(A),lt=re.payload.localPonderExecutionPermissions??Ct?.metadata.taskExecutionPermissions??{approvalPolicy:"on-request",sandbox:"read-only",codexPermissionMode:"default"};return Vo(A,{...D,...lt,...gn(re)||re.payload.taskReportingOnly===!0?{sandbox:"read-only",approvalPolicy:"never",codexPermissionMode:"default"}:{}},oe,re.senderKind==="ponder"?{beforeExecute:r(async jt=>{ac(re,jt),await Oa(an.parse(re.payload.ponderDesktop).operation,jt,n,Dn),pi(re,jt)},"beforeExecute")}:re.payload.localPonderHostedResult?{beforeExecute:r(async()=>{if(!e.localPonderHosted)throw new Error("local_ponder_hosted_unavailable");await e.localPonderHosted.assertCompletionScope(re.payload.localPonderHostedResult)},"beforeExecute")}:re.payload.localPonderControlRevision!==void 0?{beforeExecute:r(async()=>{await Me.assertLocalPonderInput?.(re)},"beforeExecute")}:void 0)}let ee=await Ga({session:be,request:D,requestedTurnPermissions:Ko(D)});if(!ee||ee.run.status==="cancelled")throw new Error("Child follow-up is unavailable.");let at={...ee.run,status:"queued",completedAt:null,error:null,report:null,metadata:{...ee.run.metadata,completionConsumedByParent:null}};await Pt().upsertRun(at),await Xa({run:at,role:ee.role,childSession:be,parentSession:await l(at.parentSessionId),parentTurnId:at.parentTurnId??oe,contextPack:typeof at.metadata.context=="string"?at.metadata.context:null,childTurnPermissions:ee.turnPermissions,initialPrompt:D.prompt,reservedTurnId:oe});let O=await n.getTurn(oe);if(!O)throw new Error("Child follow-up did not start.");return O},"startFollowup"),dispatchFollowup:r(async(A,Q)=>{let oe=await hn.enqueue({label:"Task inbox follow-up",metadata:{sessionId:A}},Q).done;if(oe.status==="failed")throw new Error(oe.error??"Task follow-up failed.")},"dispatchFollowup"),yieldWhileWaiting:r(A=>hn.yieldWhileWaiting(()=>Le?Le.yieldWhileWaiting(A):A()),"yieldWhileWaiting")}),xt=Km(pe,{input:r(A=>Me.getTaskInput(A),"input"),readSource:r(async(A,Q,oe,re)=>{if(await Oa(A,Q,n,Dn),!A.workflow?.source)throw new Error("The verified workflow source is not available yet.");return Dn.inspect(A.workflow.source,oe,re)},"readSource")}),ue=[...e.localPonderHosted?ep(e.localPonderHosted):[],...tp(n),...op({store:Me,inbox:pe,createSession:a,createReservedSession:e.createReservedSession,projects:e.localPonderProjects,settings:e.localPonderProviderSettings??X,getSession:l,sessions:r(()=>n.sessionShells(),"sessions"),transcript:r(async(A,Q)=>{if(!n.runtimeEventPageRows)throw new Error("local_ponder_history_unavailable");let oe=await n.runtimeEventPageRows({sessionId:A,afterSequence:0,beforeSequence:Q??Number.MAX_SAFE_INTEGER,limit:100});return{turn:await n.latestTurnForSession(A),latestAssistantText:await n.latestAssistantTextForSession(A),events:oe.entries.map(re=>re.event),nextBeforeSequence:oe.remainingMatchingEvents>oe.entries.length?oe.entries[0]?.sequence??null:null}},"transcript"),stop:r(A=>xs(A),"stop")})],Ee=Kp({listIntegrationConnections:me,appendRuntimeEvent:S}),Ae=vs({upsert:n.upsertModelUsageRecord?A=>n.upsertModelUsageRecord(A):null,appendRuntimeEvent:S});async function Ne(A){if(!(!R||!A.turn.harnessSnapshot||A.session.metadata?.standaloneExperiment!==void 0||A.session.metadata?.localProfileExperiment!==void 0||A.session.metadata?.profileEvaluationRun!==void 0))try{await R(A)}catch(Q){await S(L({sessionId:A.session.id,turnId:A.turn.id,name:"diagnostic",source:"server",appId:A.session.appId,status:"failed",output:Q instanceof Error?Q.message:String(Q),data:{phase:"harness_improvement_boundary"}})).catch(()=>{})}}r(Ne,"processHarnessImprovementBoundarySafely");async function Tt(A){return n.getTurn(A)}r(Tt,"getStoredTurn");function Yt(A){return os(rt,A)}r(Yt,"nativeToolsEnabledForProvider");function st(A){return de?.available({sessionId:A.id,conversationId:A.id})??!1}r(st,"browserControlAvailable");function wn(A){return Yt(A)&&rt.dynamicActionTools?"native_tool":Vt(rt,A)==="full_text_fallback"?"text_fallback":"none"}r(wn,"actionCatalogInstructionModeForProvider");async function it(A){await n.insertTurn(A)}r(it,"insertStoredTurn");async function Nt(A,Q){return n.updateTurn(A,Q)}r(Nt,"updateStoredTurn");let{activeInProgressTurn:Ke,findInProgressTurn:Wo,interruptActiveTurn:Rs,interruptedError:Bf,interruptSessionTurn:xs,throwIfInterrupted:Zt,turnWasInterrupted:Wf}=rf({activeTurns:Qe,getSession:l,getTurn:Tt,latestTurnForSession:r((A,Q)=>n.latestTurnForSession(A,Q),"latestTurnForSession"),interruptTurn:p}),Uo=af({activeTurns:Qe,interruptActiveTurn:Rs,jobRegistries:[],queues:[hn,...Le?[Le]:[]]}),zo=Nf({createSession:a,queue:Le,upsertRun:n.upsertSubagentRun?A=>n.upsertSubagentRun(A):void 0,getRun:n.getSubagentRun?A=>n.getSubagentRun(A):void 0,listRuns:n.listSubagentRuns?A=>n.listSubagentRuns(A):void 0,appendMessage:n.appendSubagentMessage?A=>n.appendSubagentMessage(A):void 0,listUsageRecords:n.listModelUsageRecords?A=>n.listModelUsageRecords(A):void 0,notifyRunStateChanged:r(A=>{to?.(A),A.childSessionId&&pe.wake(A.childSessionId)},"notifyRunStateChanged"),appendRuntimeEvent:S}),za=zo.available,Pt=zo.requireDependencies,Uf=zo.upsertRunAndNotify,Ln=zo.appendReceipt,Ts=nf(e),Ka=Ic(async()=>{let[{createCreateImproveRuntime:A},{createCreateImproveTurnHandler:Q}]=await Promise.all([import("./runtime-32KYSVZR.js"),import("./send-turn-YLY3YNEQ.js")]),oe=A({getSession:l,getTurn:Tt,updateTurn:Nt,getCreateImproveRun:r(re=>n.getCreateImproveRun(re),"getCreateImproveRun"),listCreateImproveRuns:r(re=>n.listCreateImproveRuns(re),"listCreateImproveRuns"),upsertCreateImproveRun:r(re=>n.upsertCreateImproveRun(re),"upsertCreateImproveRun"),mutateCreateImproveRun:r((re,be)=>n.mutateCreateImproveRun(re,be),"mutateCreateImproveRun"),getApproval:r(re=>n.getApproval(re),"getApproval"),upsertApproval:i,appendRuntimeEvent:S,ensureCodexRuntime:m,runLocalCreatePipelineChecks:Bo,planCreateImprove:Gt,turnFollowUpQueue:hn,streamLocalByokChatTurn:_e,streamOpenPondHostedChatTurn:ke,upsertModelUsageRecord:Ae,resolveTaskset:o,gradeTaskAttempt:s});return{...oe,handleCreateImproveTurn:Q({appendRuntimeEvent:S,completeTurn:c,planCreateImproveForTurn:oe.planCreateImproveForTurn,persistCreateImproveRun:oe.persistCreateImproveRun}),async close(){}}}),{applyCreateImproveActionPayload:zf,getCreateImproveRun:Kf,listCreateImproveRuns:Vf,persistCreateImprovePlanningFailure:Jf,resolveCreateImproveApproval:Gf,handleCreateImproveTurn:Xf}=Ka.methods(["applyCreateImproveActionPayload","getCreateImproveRun","listCreateImproveRuns","persistCreateImprovePlanningFailure","resolveCreateImproveApproval","handleCreateImproveTurn"]),Qf=of({appendRuntimeEvent:S,completeTurn:c}),{prepareHostedProviderRequest:Yf,closePonderHistory:Zf}=vm({ponderHistoryStore:n,sessionForPonderHistory:l,getPonderHistoryCredential:e.getPonderHistoryCredential,streamPonderHistorySummary:r(async function*(A){if(A.provider==="openpond"){let Q=await e.resolveSessionModelStream?.(A.session,A.turn)??ke;for await(let oe of Q({model:A.model,messages:A.messages,requestId:A.requestId,maxTokens:700,reasoningEffort:Oo({provider:A.provider,model:A.model,selected:void 0,settings:await(e.localPonderProviderSettings??X)?.()}),signal:A.signal}))oe.type==="text_delta"&&(yield{text:oe.text,raw:oe.raw}),oe.type==="usage"&&(yield{usage:oe.usage,raw:oe.raw}),oe.type==="finish"&&(yield{finishReason:oe.finishReason,raw:oe.raw})}else{if(!_e)throw new Error("ponder_history_provider_unavailable");for await(let Q of _e({providerId:A.provider,modelId:A.model,messages:A.messages,requestId:A.requestId,maxOutputTokens:700,expectedPonderHistoryCredential:A.expectedCredential,signal:A.signal??new AbortController().signal}))yield Q}},"streamPonderHistorySummary"),loadAppPreferences:we,appendRuntimeEvent:S,runtimeEventsForSession:r((A,Q)=>n.runtimeEventsForSession(A,Q),"runtimeEventsForSession"),streamOpenPondHostedChatTurn:ke,resolveSessionModelStream:e.resolveSessionModelStream,upsertModelUsageRecord:Ae,throwIfInterrupted:Zt,interruptedError:Bf}),{appendProfileSkillEvent:eg,executeNativeToolCalls:tg,explicitProfileSkillNames:ng,profileSkillBodyFromReadResult:og,readProfileSkillForModel:rg}=km({authorizeCandidateTool:e.authorizeCandidateTool,hasPendingSteering:r(async(A,Q)=>(await Me.pendingTaskInputs(A,Q)).some(oe=>oe.kind==="steer"),"hasPendingSteering"),maxRepeatedInvalidToolRequests:Qt,appendRuntimeEvent:S,throwIfInterrupted:Zt}),{loadProfileSkillRuntime:sg,preloadExplicitProfileSkills:ig,profileSkillInstructionModeForProvider:Ps}=Vm({loadProfileState:q?A=>q(A.currentProfile):N?()=>N():void 0,readProfileSkill:V,loadBuiltInSkills:e.loadBuiltInOpenPondSkills,readBuiltInSkill:e.readBuiltInOpenPondSkill,loadExtensionCatalog:E,readExtensionSkill:F,appendRuntimeEvent:S,nativeToolsEnabledForProvider:Yt,hostedToolFlags:rt,appendProfileSkillEvent:eg,explicitProfileSkillNames:ng,profileSkillBodyFromReadResult:og,throwIfInterrupted:Zt}),{runHostedToolLoop:Va}=Om({candidateAuthoringForTurn:e.candidateAuthoringForTurn,isolatedProfileEvaluationForTurn:e.isolatedProfileEvaluationForTurn,authorizeCandidateTool:e.authorizeCandidateTool,taskInbox:pe,inboxStore:Me,resolveModelTools:e.resolveModelTools,assertExecutionAllowed:r(A=>es(e.storageHome,A),"assertExecutionAllowed"),hostedToolFlags:rt,nativeToolsEnabledForProvider:Yt,createNativeModelToolDefinitions:Og,profileSkillInstructionModeForProvider:Ps,subagentToolsAvailable:za,runtimeEventsForSession:r((A,Q)=>n.runtimeEventsForSession(A,Q),"runtimeEventsForSession"),getSession:l,recordTurnToolCatalog:r(async({turnId:A,hash:Q,capabilities:oe})=>{let re=await Tt(A),be=re?(await n.runtimeEventsForSession(re.sessionId,{names:["session.compaction.completed"],limit:1e3,excludeReasoningDeltas:!0})).filter(ee=>ee.turnId===A).at(-1)??null:null,D=be?.data&&typeof be.data=="object"&&!Array.isArray(be.data)?be.data:null;await n.updateTurn(A,ee=>{let at=gd.parse({protocolVersion:kr,threadId:ee.sessionId,turnId:ee.id,harnessReleaseHash:ee.harnessSnapshot?.harnessRelease.contentHash??Tn({harnessRelease:null}),toolCatalogHash:Q,context:{stage:"tool_catalog_ready",provider:ee.modelRef?.providerId??null,model:ee.modelRef?.modelId??null,compaction:D?{eventId:be?.id??null,compactedThroughEventId:D.compactedThroughEventId??null,compactedThroughTurnId:D.compactedThroughTurnId??null,summaryHash:typeof D.summary=="string"?Tn(D.summary):null}:null},pendingInteraction:null,usage:{}});return{...ee,metadata:{...ee.metadata,toolCatalogHash:Q,toolCapabilities:oe,agentCheckpoint:at,agentCheckpointHash:hd(at)},harnessSnapshot:ee.harnessSnapshot?{...ee.harnessSnapshot,toolCatalogHash:Q}:ee.harnessSnapshot}})},"recordTurnToolCatalog"),getTaskset:n.getTaskset?A=>n.getTaskset(A):void 0,appendHostedContextUsage:Xe,maxHostedWorkspaceToolRounds:Xt,maxRepeatedInvalidToolRequests:Qt,appendRuntimeEvent:S,upsertModelUsageRecord:Ae,executeNativeToolCalls:tg,readProfileSkillForModel:rg,executeWorkspaceTool:g,appendAssistantText:Fe,prepareHostedProviderRequest:Yf,throwIfInterrupted:Zt}),{captureSubagentWorkspaceHandoff:ag,cleanupSubagentRun:Ja,prepareSubagentWorkspaceIsolation:lg,subagentWorkspaceTargetKeyForSession:dg,subagentWorkspaceTargetKeyFromRun:cg}=vf({attachmentRootDir:t,resolveSessionWorkspaceCwd:T,forkSandboxForSubagent:d,cleanupSandboxForSubagent:k,appendSubagentReceipt:Ln,requireSubagentPersistence:r(()=>({upsertRun:Pt().upsertRun}),"requireSubagentPersistence")}),{finalizeSubagentContinuationTurn:ug,markSubagentContinuationRunning:pg,prepareSubagentContinuationTurn:Ga,subagentChildTurnPermissions:mg,subagentRuntimeDerivedProgress:fg,subagentUsageAttribution:gg,subagentUsageTotalsForRun:hg,turnPermissionsFromSendTurnInput:Ko}=Cf({requireSubagentDeps:Pt,runtimeEventsForSession:n.persistedRuntimeEventsForSession?(A,Q)=>n.persistedRuntimeEventsForSession(A,Q):(A,Q)=>n.runtimeEventsForSession(A,Q),latestAssistantTextForSession:r(A=>n.latestAssistantTextForSession(A),"latestAssistantTextForSession"),loadAppPreferences:we,getTurn:Tt,getSession:l,appendSubagentReceipt:Ln}),{queueSubagentFollowupMessage:wg,sendSubagentMessageFromModelTool:bg}=_f({inbox:pe,requireSubagentDeps:Pt,appendRuntimeEvent:S}),{notifyParentOfSubagentCompletion:vg,recoverPendingCompletions:yg,close:kg}=Af({inbox:pe,store:Me,appendMessage:r(A=>Pt().appendMessage(A),"appendMessage"),getSession:l,appendRuntimeEvent:S}),{resolveSubagentPatchApplyApproval:Sg}=bf({getApproval:r(A=>n.getApproval(A),"getApproval"),getSubagentRun:n.getSubagentRun?A=>n.getSubagentRun(A):null,canPersistSubagentRun:!!n.upsertSubagentRun,getSession:l,upsertSubagentRunAndNotify:Uf,upsertApproval:i,appendRuntimeEvent:S,appendSubagentReceipt:Ln,appendWorkspaceDiffEvent:w,cleanupSubagentRun:Ja}),{runSubagentChildTurn:Xa}=Ef({requireSubagentDeps:Pt,sendTurn:Vo,getTurn:Tt,getPersistedRun:n.getPersistedSubagentRun?A=>n.getPersistedSubagentRun(A):A=>Pt().getRun(A),upsertPersistedRun:n.upsertPersistedSubagentRun?A=>n.upsertPersistedSubagentRun(A):A=>n.upsertSubagentRun(A),notifyRunStateChanged:r(A=>{to?.(A),A.childSessionId&&pe.wake(A.childSessionId)},"notifyRunStateChanged"),latestTurnForSession:r(A=>n.latestPersistedTurnForSession(A),"latestTurnForSession"),latestAssistantTextForSession:r(A=>n.latestAssistantTextForSession(A),"latestAssistantTextForSession"),appendSubagentReceipt:Ln,subagentRuntimeDerivedProgress:fg,subagentUsageAttribution:gg,subagentUsageTotalsForRun:hg,captureSubagentWorkspaceHandoff:ag,applySubagentPatch:qa,appendWorkspaceDiffEvent:w,uniqueSubagentRefs:qf,commitCompletion:r((A,Q)=>Me.commitSubagentCompletion(A,Q),"commitCompletion"),notifyParentOfSubagentCompletion:vg}),{archiveSubagentChildSession:Ig,subagentLifecycleActionNextStep:Rg}=Mf({getRun:r(A=>Pt().getRun(A),"getRun"),upsertRun:r(A=>Pt().upsertRun(A),"upsertRun"),getSession:l,updateSession:u,appendSubagentReceipt:Ln}),{cancelSubagentFromModelTool:xg,cleanupExpiredRetainedSubagentWorkspace:Tg,joinSubagentFromModelTool:Pg,followupSubagentFromModelTool:Cg,runSubagentLifecycleAction:_g,startSubagentFromModelTool:Ag,statusSubagentsFromModelTool:Eg}=Of({inbox:pe,requireSubagentDeps:Pt,loadAppPreferences:we,getSession:l,appendSubagentReceipt:Ln,subagentWorkspaceTargetKeyForSession:dg,subagentWorkspaceTargetKeyFromRun:cg,subagentChildTurnPermissions:mg,prepareSubagentWorkspaceIsolation:lg,runSubagentChildTurn:Xa,subagentToolResultFromRun:jf,subagentRoleLabel:Ff,interruptSessionTurn:xs,cleanupSubagentRun:Ja,queueSubagentFollowupMessage:wg,archiveSubagentChildSession:Ig,subagentLifecycleActionNextStep:Rg}),Qa=Qm({handlers:{startSubagent:Ag,statusSubagents:Eg,joinSubagent:Pg,cancelSubagent:xg,followupSubagent:Cg,sendSubagentMessage:bg,...ie?{manageSidebarFile:r((A,Q)=>ie({session:A.session,action:Q.action,path:Q.path}),"manageSidebarFile")}:{},...j?{runDatasetBuilder:r((A,Q,oe)=>j({session:A.session,turnId:A.turnId,callId:A.callId,signal:A.signal,provider:A.provider,model:A.model,action:Q,payload:oe}),"runDatasetBuilder")}:{}},subagentToolsAvailable:za,hostedToolFlags:rt,executeConnectedAppTool:J,htmlVisuals:te,browserToolExecutor:de,executeOpenPondCommand:f,executeWorkspaceTool:g,executeWebSearch:W,createScheduledWork:U,executeProfileAction:_,executeProjectAction:I,loadOpenPondProfileStateForRef:q,resolveCandidateProfile:e.resolveCandidateProfile,executeCandidateAgentCommand:e.executeCandidateAgentCommand,executeCandidateCommand:e.executeCandidateCommand,executeCandidateImage:e.executeCandidateImage}),Ya=Qu({resolveCwd:r(A=>T(A,{ensureOpenPond:!1}),"resolveCwd"),appendEvent:S});function Og(A,Q,oe,re,be={}){return be.candidateAuthoring?Qa(A,Q,oe,re,be):[...Qa(A,Q,oe,re,be),...ue,...be.trainingHarness?[]:Gu(),...xt,...be.trainingHarness?[]:[Ya],...!be.trainingHarness&&M?[ra(M)]:[],...e.harnessModelTools??[]].map(D=>({...D,enabled:r(ee=>(ee.session.systemKind!=="openpond.ponder"||ue.includes(D)||xt.includes(D))&&(D.enabled?.(ee)??!0),"enabled")}))}r(Og,"createNativeModelToolDefinitions");async function Vo(A,Q,oe,re,be){if(be&&(!Number.isSafeInteger(be.nativeTimeoutMs)||be.nativeTimeoutMs<1||be.nativeTimeoutMs>2147483647))throw new Error("Native execution timeout is invalid.");let D=Uo.beginSendTurn(),ee=oe??Df(),at=!1,O,Ct="failed";try{await Me.openTaskInboxTurn(A,ee,pe.ownerId),at=!0,O=setInterval(()=>{Me.renewTaskInboxTurn(A,ee,pe.ownerId).catch(jt=>{Qe.get(A)?.controller.abort(jt)})},2e4),O.unref();let lt=await Mg(A,Q,ee,re,be);return Ct=lt.status==="in_progress"?"failed":lt.status,lt}finally{O&&clearInterval(O),at&&await pe.settled(A,ee,Ct),D()}}r(Vo,"sendTurn");async function Mg(A,Q,oe,re,be){let D=Dt.parse(Q),ee=Ko(D);if(await Ke(A)??await Wo(A))throw new Error("A turn is already running for this chat.");let O=await l(A),Ct=await e.isRemoteAgentModel?.(D.modelRef?.providerId??O.modelRef?.providerId??O.provider,D.modelRef?.modelId??D.model??O.modelRef?.modelId??"")??!1;if(Ct&&(D.attachments?.length||D.mentionedConnectedApps?.length||D.mentionedAppIds?.length||D.createImproveRun||O.profileWorkflowBinding||O.profileComponentBinding||D.workflowInput!==void 0))throw new Error("This model accepts text messages only; attachments, connected apps, and local workflows are unavailable.");let lt=O.metadata?.source==="experiment-improvement"||O.metadata?.refinementCandidate!==void 0;if(lt&&(!re||O.experience!=="work"||O.profileWorkflowBinding||O.profileComponentBinding||D.createImproveRun||D.mentionedAppIds?.length||D.mentionedConnectedApps?.length||D.openPondActionCatalog?.length||D.attachments?.length||D.cwd))throw new Error("Candidate Work requires its private owner admission and isolated source context.");let jt=!!(D.modelRef||D.model),qe=!lt&&e.storageHome?await Ap(e.storageHome,O,D,Q):null;qe&&(ee.codexPermissionMode=qe.preferences.codexPermissionMode,ee.codexReasoningEffort=qe.preferences.codexReasoningEffort,ee.codexPermissionMode==="default"&&(ee.approvalPolicy="on-request",ee.sandbox==="danger-full-access"&&(ee.sandbox="workspace-write")));let Cs=!1;O={...O,experience:O.experience??rn};async function no(Se,wt){Cs||O.experience!=="work"||!v||(Cs=!0,O=await v({session:await l(A),turnId:Se,outcome:wt}))}r(no,"finalizeAttachedWorkSandbox");let _s=D.modelRef?.providerId??O.modelRef?.providerId??O.provider;if(e.executionHost==="embedded"&&(_s!=="openpond"||D.createImproveRun))throw new Error("Embedded Work requires the configured model adapter and native tool loop.");let Fg=(O.experience==="chat"||O.experience==="work")&&!O.systemKind&&M&&!["sandbox","sandbox_template","sandbox_app"].includes(O.workspaceKind??"");if(_s==="codex"&&!ze(O)&&!Fg)throw new Error("The Codex provider requires repository-aware Work or a local resource chat.");if(/^\/goal(?:\s|$)/i.test(D.prompt.trimStart())&&(_s!=="codex"||!ze(O)))throw new Error("/goal is only available in repository-aware Work with the Codex provider.");let en=Ct?null:O.currentProfile??null,gt=lt||!en||O.profileWorkflowBinding||O.profileComponentBinding?null:q?await q(en):N?await N():null,ce=!Ct&&!lt&&B?await B(O):null,Za=null;if(O.profileWorkflowBinding){let Se=ce?.workflow;if(!Se)throw new Error("Bound Profile workflow is unavailable for this turn.");let wt=jp({workflow:Se,value:D.workflowInput??(Se.invocation.kind==="instructions"?{}:void 0),prompt:D.prompt});ce.instructionContext=[ce.instructionContext,wt.instruction].join(`
|
|
135
|
+
`)}r(zk,"promptWithSteeringContext");function gj(e){let{attachmentRootDir:t,store:n,resolveCreateImproveTaskset:o,gradeCreateImproveTaskAttempt:s,upsertApproval:i,createSession:a,getSession:l,updateSession:u,completeTurn:c,failTurn:h,interruptTurn:p,defaultSessionCwd:y,findOpenPondApp:x,resolveSessionWorkspaceCwd:T,ensureCodexRuntime:m,appendWorkspaceDiffEvent:w,workspaceDiffBaseline:C,appendRuntimeEvent:S,processHarnessImprovementBoundary:R,executeWorkspaceTool:g,forkSandboxForSubagent:d,cleanupSandboxForSubagent:k,finalizeWorkTurn:v,workInputsForSession:b,executeOpenPondCommand:f,executeProfileAction:_,executeProjectAction:I,executeChatResourceAction:M,executeDatasetBuilderAction:j,loadOpenPondProfileState:N,loadOpenPondProfileStateForRef:q,readOpenPondProfileSkill:V,loadSelectedHarnessRuntime:B,ensureHarnessRunOverlay:z,loadOpenPondExtensionCatalog:E,readOpenPondExtensionSkill:F,executeProfileSkillCommand:$,executeWebSearch:W,createScheduledWork:U,executeConnectedAppTool:J,htmlVisuals:te,browserToolExecutor:de,manageSidebarFile:ie,listIntegrationConnections:me,loadPersonalizationSoul:fe,loadAppPreferences:we=r(async()=>Rl.parse({}),"loadAppPreferences"),loadProviderSettings:X,maybeCreateScaffoldForTurn:Ce,hostedSystemPrompt:ae,appendAssistantText:Fe,appendHostedContextUsage:Xe,streamLocalByokChatTurn:_e,streamOpenPondHostedChatTurn:ke=Kn,runLocalCreatePipelineChecks:Bo,planCreateImprove:Gt,turnFollowUpQueue:hn,subagentQueue:Le,notifySubagentRunStateChanged:to,maxHostedWorkspaceToolRounds:Xt,maxRepeatedInvalidToolRequests:Qt}=e,Me=e.inboxStore??n,Dn=Bm(e.storageHome??t),rt=ma(e.hostedToolFlags),Qe=new bs,pe=Nm({prepareInputAttachments:ap({storageHome:e.storageHome??t,attachmentRootDir:t}),store:Me,getSession:l,listSessions:r(()=>n.sessionShells(),"listSessions"),getTurn:r(A=>n.getTurn(A),"getTurn"),latestTurn:r(A=>n.latestTurnForSession(A),"latestTurn"),recoverInterruptedTurn:r(async(A,Q)=>{(await n.getTurn(Q))?.status==="in_progress"&&await p(await l(A),Q,"The local app server restarted before this turn finished. Pending inputs are preserved. Review completed tool activity, then resume this chat to continue.")},"recoverInterruptedTurn"),getSubagentRun:r(A=>n.getSubagentRun?n.getSubagentRun(A):Promise.resolve(null),"getSubagentRun"),getActiveTurn:r(A=>Qe.get(A),"getActiveTurn"),appendRuntimeEvent:S,startFollowup:r(async(A,Q,oe,re)=>{let be=await l(A),D=Dt.parse(Q);if(!be.subagentRunId){if(re.senderKind==="user")return Vo(A,D,oe,re.payload.remoteDevice?{beforeExecute:r(async jt=>{pi(re,jt)},"beforeExecute")}:void 0);let Ct=await n.latestTurnForSession(A),lt=re.payload.localPonderExecutionPermissions??Ct?.metadata.taskExecutionPermissions??{approvalPolicy:"on-request",sandbox:"read-only",codexPermissionMode:"default"};return Vo(A,{...D,...lt,...gn(re)||re.payload.taskReportingOnly===!0?{sandbox:"read-only",approvalPolicy:"never",codexPermissionMode:"default"}:{}},oe,re.senderKind==="ponder"?{beforeExecute:r(async jt=>{ac(re,jt),await Oa(an.parse(re.payload.ponderDesktop).operation,jt,n,Dn),pi(re,jt)},"beforeExecute")}:re.payload.localPonderHostedResult?{beforeExecute:r(async()=>{if(!e.localPonderHosted)throw new Error("local_ponder_hosted_unavailable");await e.localPonderHosted.assertCompletionScope(re.payload.localPonderHostedResult)},"beforeExecute")}:re.payload.localPonderControlRevision!==void 0?{beforeExecute:r(async()=>{await Me.assertLocalPonderInput?.(re)},"beforeExecute")}:void 0)}let ee=await Ga({session:be,request:D,requestedTurnPermissions:Ko(D)});if(!ee||ee.run.status==="cancelled")throw new Error("Child follow-up is unavailable.");let at={...ee.run,status:"queued",completedAt:null,error:null,report:null,metadata:{...ee.run.metadata,completionConsumedByParent:null}};await Pt().upsertRun(at),await Xa({run:at,role:ee.role,childSession:be,parentSession:await l(at.parentSessionId),parentTurnId:at.parentTurnId??oe,contextPack:typeof at.metadata.context=="string"?at.metadata.context:null,childTurnPermissions:ee.turnPermissions,initialPrompt:D.prompt,reservedTurnId:oe});let O=await n.getTurn(oe);if(!O)throw new Error("Child follow-up did not start.");return O},"startFollowup"),dispatchFollowup:r(async(A,Q)=>{let oe=await hn.enqueue({label:"Task inbox follow-up",metadata:{sessionId:A}},Q).done;if(oe.status==="failed")throw new Error(oe.error??"Task follow-up failed.")},"dispatchFollowup"),yieldWhileWaiting:r(A=>hn.yieldWhileWaiting(()=>Le?Le.yieldWhileWaiting(A):A()),"yieldWhileWaiting")}),xt=Km(pe,{input:r(A=>Me.getTaskInput(A),"input"),readSource:r(async(A,Q,oe,re)=>{if(await Oa(A,Q,n,Dn),!A.workflow?.source)throw new Error("The verified workflow source is not available yet.");return Dn.inspect(A.workflow.source,oe,re)},"readSource")}),ue=[...e.localPonderHosted?ep(e.localPonderHosted):[],...tp(n),...op({store:Me,inbox:pe,createSession:a,createReservedSession:e.createReservedSession,projects:e.localPonderProjects,settings:e.localPonderProviderSettings??X,getSession:l,sessions:r(()=>n.sessionShells(),"sessions"),transcript:r(async(A,Q)=>{if(!n.runtimeEventPageRows)throw new Error("local_ponder_history_unavailable");let oe=await n.runtimeEventPageRows({sessionId:A,afterSequence:0,beforeSequence:Q??Number.MAX_SAFE_INTEGER,limit:100});return{turn:await n.latestTurnForSession(A),latestAssistantText:await n.latestAssistantTextForSession(A),events:oe.entries.map(re=>re.event),nextBeforeSequence:oe.remainingMatchingEvents>oe.entries.length?oe.entries[0]?.sequence??null:null}},"transcript"),stop:r(A=>xs(A),"stop")})],Ee=Kp({listIntegrationConnections:me,appendRuntimeEvent:S}),Ae=vs({upsert:n.upsertModelUsageRecord?A=>n.upsertModelUsageRecord(A):null,appendRuntimeEvent:S});async function Ne(A){if(!(!R||!A.turn.harnessSnapshot||A.session.metadata?.standaloneExperiment!==void 0||A.session.metadata?.localProfileExperiment!==void 0||A.session.metadata?.profileEvaluationRun!==void 0))try{await R(A)}catch(Q){await S(L({sessionId:A.session.id,turnId:A.turn.id,name:"diagnostic",source:"server",appId:A.session.appId,status:"failed",output:Q instanceof Error?Q.message:String(Q),data:{phase:"harness_improvement_boundary"}})).catch(()=>{})}}r(Ne,"processHarnessImprovementBoundarySafely");async function Tt(A){return n.getTurn(A)}r(Tt,"getStoredTurn");function Yt(A){return os(rt,A)}r(Yt,"nativeToolsEnabledForProvider");function st(A){return de?.available({sessionId:A.id,conversationId:A.id})??!1}r(st,"browserControlAvailable");function wn(A){return Yt(A)&&rt.dynamicActionTools?"native_tool":Vt(rt,A)==="full_text_fallback"?"text_fallback":"none"}r(wn,"actionCatalogInstructionModeForProvider");async function it(A){await n.insertTurn(A)}r(it,"insertStoredTurn");async function Nt(A,Q){return n.updateTurn(A,Q)}r(Nt,"updateStoredTurn");let{activeInProgressTurn:Ke,findInProgressTurn:Wo,interruptActiveTurn:Rs,interruptedError:Bf,interruptSessionTurn:xs,throwIfInterrupted:Zt,turnWasInterrupted:Wf}=rf({activeTurns:Qe,getSession:l,getTurn:Tt,latestTurnForSession:r((A,Q)=>n.latestTurnForSession(A,Q),"latestTurnForSession"),interruptTurn:p}),Uo=af({activeTurns:Qe,interruptActiveTurn:Rs,jobRegistries:[],queues:[hn,...Le?[Le]:[]]}),zo=Nf({createSession:a,queue:Le,upsertRun:n.upsertSubagentRun?A=>n.upsertSubagentRun(A):void 0,getRun:n.getSubagentRun?A=>n.getSubagentRun(A):void 0,listRuns:n.listSubagentRuns?A=>n.listSubagentRuns(A):void 0,appendMessage:n.appendSubagentMessage?A=>n.appendSubagentMessage(A):void 0,listUsageRecords:n.listModelUsageRecords?A=>n.listModelUsageRecords(A):void 0,notifyRunStateChanged:r(A=>{to?.(A),A.childSessionId&&pe.wake(A.childSessionId)},"notifyRunStateChanged"),appendRuntimeEvent:S}),za=zo.available,Pt=zo.requireDependencies,Uf=zo.upsertRunAndNotify,Ln=zo.appendReceipt,Ts=nf(e),Ka=Ic(async()=>{let[{createCreateImproveRuntime:A},{createCreateImproveTurnHandler:Q}]=await Promise.all([import("./runtime-UDLOZD4Y.js"),import("./send-turn-4MH4WMLW.js")]),oe=A({getSession:l,getTurn:Tt,updateTurn:Nt,getCreateImproveRun:r(re=>n.getCreateImproveRun(re),"getCreateImproveRun"),listCreateImproveRuns:r(re=>n.listCreateImproveRuns(re),"listCreateImproveRuns"),upsertCreateImproveRun:r(re=>n.upsertCreateImproveRun(re),"upsertCreateImproveRun"),mutateCreateImproveRun:r((re,be)=>n.mutateCreateImproveRun(re,be),"mutateCreateImproveRun"),getApproval:r(re=>n.getApproval(re),"getApproval"),upsertApproval:i,appendRuntimeEvent:S,ensureCodexRuntime:m,runLocalCreatePipelineChecks:Bo,planCreateImprove:Gt,turnFollowUpQueue:hn,streamLocalByokChatTurn:_e,streamOpenPondHostedChatTurn:ke,upsertModelUsageRecord:Ae,resolveTaskset:o,gradeTaskAttempt:s});return{...oe,handleCreateImproveTurn:Q({appendRuntimeEvent:S,completeTurn:c,planCreateImproveForTurn:oe.planCreateImproveForTurn,persistCreateImproveRun:oe.persistCreateImproveRun}),async close(){}}}),{applyCreateImproveActionPayload:zf,getCreateImproveRun:Kf,listCreateImproveRuns:Vf,persistCreateImprovePlanningFailure:Jf,resolveCreateImproveApproval:Gf,handleCreateImproveTurn:Xf}=Ka.methods(["applyCreateImproveActionPayload","getCreateImproveRun","listCreateImproveRuns","persistCreateImprovePlanningFailure","resolveCreateImproveApproval","handleCreateImproveTurn"]),Qf=of({appendRuntimeEvent:S,completeTurn:c}),{prepareHostedProviderRequest:Yf,closePonderHistory:Zf}=vm({ponderHistoryStore:n,sessionForPonderHistory:l,getPonderHistoryCredential:e.getPonderHistoryCredential,streamPonderHistorySummary:r(async function*(A){if(A.provider==="openpond"){let Q=await e.resolveSessionModelStream?.(A.session,A.turn)??ke;for await(let oe of Q({model:A.model,messages:A.messages,requestId:A.requestId,maxTokens:700,reasoningEffort:Oo({provider:A.provider,model:A.model,selected:void 0,settings:await(e.localPonderProviderSettings??X)?.()}),signal:A.signal}))oe.type==="text_delta"&&(yield{text:oe.text,raw:oe.raw}),oe.type==="usage"&&(yield{usage:oe.usage,raw:oe.raw}),oe.type==="finish"&&(yield{finishReason:oe.finishReason,raw:oe.raw})}else{if(!_e)throw new Error("ponder_history_provider_unavailable");for await(let Q of _e({providerId:A.provider,modelId:A.model,messages:A.messages,requestId:A.requestId,maxOutputTokens:700,expectedPonderHistoryCredential:A.expectedCredential,signal:A.signal??new AbortController().signal}))yield Q}},"streamPonderHistorySummary"),loadAppPreferences:we,appendRuntimeEvent:S,runtimeEventsForSession:r((A,Q)=>n.runtimeEventsForSession(A,Q),"runtimeEventsForSession"),streamOpenPondHostedChatTurn:ke,resolveSessionModelStream:e.resolveSessionModelStream,upsertModelUsageRecord:Ae,throwIfInterrupted:Zt,interruptedError:Bf}),{appendProfileSkillEvent:eg,executeNativeToolCalls:tg,explicitProfileSkillNames:ng,profileSkillBodyFromReadResult:og,readProfileSkillForModel:rg}=km({authorizeCandidateTool:e.authorizeCandidateTool,hasPendingSteering:r(async(A,Q)=>(await Me.pendingTaskInputs(A,Q)).some(oe=>oe.kind==="steer"),"hasPendingSteering"),maxRepeatedInvalidToolRequests:Qt,appendRuntimeEvent:S,throwIfInterrupted:Zt}),{loadProfileSkillRuntime:sg,preloadExplicitProfileSkills:ig,profileSkillInstructionModeForProvider:Ps}=Vm({loadProfileState:q?A=>q(A.currentProfile):N?()=>N():void 0,readProfileSkill:V,loadBuiltInSkills:e.loadBuiltInOpenPondSkills,readBuiltInSkill:e.readBuiltInOpenPondSkill,loadExtensionCatalog:E,readExtensionSkill:F,appendRuntimeEvent:S,nativeToolsEnabledForProvider:Yt,hostedToolFlags:rt,appendProfileSkillEvent:eg,explicitProfileSkillNames:ng,profileSkillBodyFromReadResult:og,throwIfInterrupted:Zt}),{runHostedToolLoop:Va}=Om({candidateAuthoringForTurn:e.candidateAuthoringForTurn,isolatedProfileEvaluationForTurn:e.isolatedProfileEvaluationForTurn,authorizeCandidateTool:e.authorizeCandidateTool,taskInbox:pe,inboxStore:Me,resolveModelTools:e.resolveModelTools,assertExecutionAllowed:r(A=>es(e.storageHome,A),"assertExecutionAllowed"),hostedToolFlags:rt,nativeToolsEnabledForProvider:Yt,createNativeModelToolDefinitions:Og,profileSkillInstructionModeForProvider:Ps,subagentToolsAvailable:za,runtimeEventsForSession:r((A,Q)=>n.runtimeEventsForSession(A,Q),"runtimeEventsForSession"),getSession:l,recordTurnToolCatalog:r(async({turnId:A,hash:Q,capabilities:oe})=>{let re=await Tt(A),be=re?(await n.runtimeEventsForSession(re.sessionId,{names:["session.compaction.completed"],limit:1e3,excludeReasoningDeltas:!0})).filter(ee=>ee.turnId===A).at(-1)??null:null,D=be?.data&&typeof be.data=="object"&&!Array.isArray(be.data)?be.data:null;await n.updateTurn(A,ee=>{let at=gd.parse({protocolVersion:kr,threadId:ee.sessionId,turnId:ee.id,harnessReleaseHash:ee.harnessSnapshot?.harnessRelease.contentHash??Tn({harnessRelease:null}),toolCatalogHash:Q,context:{stage:"tool_catalog_ready",provider:ee.modelRef?.providerId??null,model:ee.modelRef?.modelId??null,compaction:D?{eventId:be?.id??null,compactedThroughEventId:D.compactedThroughEventId??null,compactedThroughTurnId:D.compactedThroughTurnId??null,summaryHash:typeof D.summary=="string"?Tn(D.summary):null}:null},pendingInteraction:null,usage:{}});return{...ee,metadata:{...ee.metadata,toolCatalogHash:Q,toolCapabilities:oe,agentCheckpoint:at,agentCheckpointHash:hd(at)},harnessSnapshot:ee.harnessSnapshot?{...ee.harnessSnapshot,toolCatalogHash:Q}:ee.harnessSnapshot}})},"recordTurnToolCatalog"),getTaskset:n.getTaskset?A=>n.getTaskset(A):void 0,appendHostedContextUsage:Xe,maxHostedWorkspaceToolRounds:Xt,maxRepeatedInvalidToolRequests:Qt,appendRuntimeEvent:S,upsertModelUsageRecord:Ae,executeNativeToolCalls:tg,readProfileSkillForModel:rg,executeWorkspaceTool:g,appendAssistantText:Fe,prepareHostedProviderRequest:Yf,throwIfInterrupted:Zt}),{captureSubagentWorkspaceHandoff:ag,cleanupSubagentRun:Ja,prepareSubagentWorkspaceIsolation:lg,subagentWorkspaceTargetKeyForSession:dg,subagentWorkspaceTargetKeyFromRun:cg}=vf({attachmentRootDir:t,resolveSessionWorkspaceCwd:T,forkSandboxForSubagent:d,cleanupSandboxForSubagent:k,appendSubagentReceipt:Ln,requireSubagentPersistence:r(()=>({upsertRun:Pt().upsertRun}),"requireSubagentPersistence")}),{finalizeSubagentContinuationTurn:ug,markSubagentContinuationRunning:pg,prepareSubagentContinuationTurn:Ga,subagentChildTurnPermissions:mg,subagentRuntimeDerivedProgress:fg,subagentUsageAttribution:gg,subagentUsageTotalsForRun:hg,turnPermissionsFromSendTurnInput:Ko}=Cf({requireSubagentDeps:Pt,runtimeEventsForSession:n.persistedRuntimeEventsForSession?(A,Q)=>n.persistedRuntimeEventsForSession(A,Q):(A,Q)=>n.runtimeEventsForSession(A,Q),latestAssistantTextForSession:r(A=>n.latestAssistantTextForSession(A),"latestAssistantTextForSession"),loadAppPreferences:we,getTurn:Tt,getSession:l,appendSubagentReceipt:Ln}),{queueSubagentFollowupMessage:wg,sendSubagentMessageFromModelTool:bg}=_f({inbox:pe,requireSubagentDeps:Pt,appendRuntimeEvent:S}),{notifyParentOfSubagentCompletion:vg,recoverPendingCompletions:yg,close:kg}=Af({inbox:pe,store:Me,appendMessage:r(A=>Pt().appendMessage(A),"appendMessage"),getSession:l,appendRuntimeEvent:S}),{resolveSubagentPatchApplyApproval:Sg}=bf({getApproval:r(A=>n.getApproval(A),"getApproval"),getSubagentRun:n.getSubagentRun?A=>n.getSubagentRun(A):null,canPersistSubagentRun:!!n.upsertSubagentRun,getSession:l,upsertSubagentRunAndNotify:Uf,upsertApproval:i,appendRuntimeEvent:S,appendSubagentReceipt:Ln,appendWorkspaceDiffEvent:w,cleanupSubagentRun:Ja}),{runSubagentChildTurn:Xa}=Ef({requireSubagentDeps:Pt,sendTurn:Vo,getTurn:Tt,getPersistedRun:n.getPersistedSubagentRun?A=>n.getPersistedSubagentRun(A):A=>Pt().getRun(A),upsertPersistedRun:n.upsertPersistedSubagentRun?A=>n.upsertPersistedSubagentRun(A):A=>n.upsertSubagentRun(A),notifyRunStateChanged:r(A=>{to?.(A),A.childSessionId&&pe.wake(A.childSessionId)},"notifyRunStateChanged"),latestTurnForSession:r(A=>n.latestPersistedTurnForSession(A),"latestTurnForSession"),latestAssistantTextForSession:r(A=>n.latestAssistantTextForSession(A),"latestAssistantTextForSession"),appendSubagentReceipt:Ln,subagentRuntimeDerivedProgress:fg,subagentUsageAttribution:gg,subagentUsageTotalsForRun:hg,captureSubagentWorkspaceHandoff:ag,applySubagentPatch:qa,appendWorkspaceDiffEvent:w,uniqueSubagentRefs:qf,commitCompletion:r((A,Q)=>Me.commitSubagentCompletion(A,Q),"commitCompletion"),notifyParentOfSubagentCompletion:vg}),{archiveSubagentChildSession:Ig,subagentLifecycleActionNextStep:Rg}=Mf({getRun:r(A=>Pt().getRun(A),"getRun"),upsertRun:r(A=>Pt().upsertRun(A),"upsertRun"),getSession:l,updateSession:u,appendSubagentReceipt:Ln}),{cancelSubagentFromModelTool:xg,cleanupExpiredRetainedSubagentWorkspace:Tg,joinSubagentFromModelTool:Pg,followupSubagentFromModelTool:Cg,runSubagentLifecycleAction:_g,startSubagentFromModelTool:Ag,statusSubagentsFromModelTool:Eg}=Of({inbox:pe,requireSubagentDeps:Pt,loadAppPreferences:we,getSession:l,appendSubagentReceipt:Ln,subagentWorkspaceTargetKeyForSession:dg,subagentWorkspaceTargetKeyFromRun:cg,subagentChildTurnPermissions:mg,prepareSubagentWorkspaceIsolation:lg,runSubagentChildTurn:Xa,subagentToolResultFromRun:jf,subagentRoleLabel:Ff,interruptSessionTurn:xs,cleanupSubagentRun:Ja,queueSubagentFollowupMessage:wg,archiveSubagentChildSession:Ig,subagentLifecycleActionNextStep:Rg}),Qa=Qm({handlers:{startSubagent:Ag,statusSubagents:Eg,joinSubagent:Pg,cancelSubagent:xg,followupSubagent:Cg,sendSubagentMessage:bg,...ie?{manageSidebarFile:r((A,Q)=>ie({session:A.session,action:Q.action,path:Q.path}),"manageSidebarFile")}:{},...j?{runDatasetBuilder:r((A,Q,oe)=>j({session:A.session,turnId:A.turnId,callId:A.callId,signal:A.signal,provider:A.provider,model:A.model,action:Q,payload:oe}),"runDatasetBuilder")}:{}},subagentToolsAvailable:za,hostedToolFlags:rt,executeConnectedAppTool:J,htmlVisuals:te,browserToolExecutor:de,executeOpenPondCommand:f,executeWorkspaceTool:g,executeWebSearch:W,createScheduledWork:U,executeProfileAction:_,executeProjectAction:I,loadOpenPondProfileStateForRef:q,resolveCandidateProfile:e.resolveCandidateProfile,executeCandidateAgentCommand:e.executeCandidateAgentCommand,executeCandidateCommand:e.executeCandidateCommand,executeCandidateImage:e.executeCandidateImage}),Ya=Qu({resolveCwd:r(A=>T(A,{ensureOpenPond:!1}),"resolveCwd"),appendEvent:S});function Og(A,Q,oe,re,be={}){return be.candidateAuthoring?Qa(A,Q,oe,re,be):[...Qa(A,Q,oe,re,be),...ue,...be.trainingHarness?[]:Gu(),...xt,...be.trainingHarness?[]:[Ya],...!be.trainingHarness&&M?[ra(M)]:[],...e.harnessModelTools??[]].map(D=>({...D,enabled:r(ee=>(ee.session.systemKind!=="openpond.ponder"||ue.includes(D)||xt.includes(D))&&(D.enabled?.(ee)??!0),"enabled")}))}r(Og,"createNativeModelToolDefinitions");async function Vo(A,Q,oe,re,be){if(be&&(!Number.isSafeInteger(be.nativeTimeoutMs)||be.nativeTimeoutMs<1||be.nativeTimeoutMs>2147483647))throw new Error("Native execution timeout is invalid.");let D=Uo.beginSendTurn(),ee=oe??Df(),at=!1,O,Ct="failed";try{await Me.openTaskInboxTurn(A,ee,pe.ownerId),at=!0,O=setInterval(()=>{Me.renewTaskInboxTurn(A,ee,pe.ownerId).catch(jt=>{Qe.get(A)?.controller.abort(jt)})},2e4),O.unref();let lt=await Mg(A,Q,ee,re,be);return Ct=lt.status==="in_progress"?"failed":lt.status,lt}finally{O&&clearInterval(O),at&&await pe.settled(A,ee,Ct),D()}}r(Vo,"sendTurn");async function Mg(A,Q,oe,re,be){let D=Dt.parse(Q),ee=Ko(D);if(await Ke(A)??await Wo(A))throw new Error("A turn is already running for this chat.");let O=await l(A),Ct=await e.isRemoteAgentModel?.(D.modelRef?.providerId??O.modelRef?.providerId??O.provider,D.modelRef?.modelId??D.model??O.modelRef?.modelId??"")??!1;if(Ct&&(D.attachments?.length||D.mentionedConnectedApps?.length||D.mentionedAppIds?.length||D.createImproveRun||O.profileWorkflowBinding||O.profileComponentBinding||D.workflowInput!==void 0))throw new Error("This model accepts text messages only; attachments, connected apps, and local workflows are unavailable.");let lt=O.metadata?.source==="experiment-improvement"||O.metadata?.refinementCandidate!==void 0;if(lt&&(!re||O.experience!=="work"||O.profileWorkflowBinding||O.profileComponentBinding||D.createImproveRun||D.mentionedAppIds?.length||D.mentionedConnectedApps?.length||D.openPondActionCatalog?.length||D.attachments?.length||D.cwd))throw new Error("Candidate Work requires its private owner admission and isolated source context.");let jt=!!(D.modelRef||D.model),qe=!lt&&e.storageHome?await Ap(e.storageHome,O,D,Q):null;qe&&(ee.codexPermissionMode=qe.preferences.codexPermissionMode,ee.codexReasoningEffort=qe.preferences.codexReasoningEffort,ee.codexPermissionMode==="default"&&(ee.approvalPolicy="on-request",ee.sandbox==="danger-full-access"&&(ee.sandbox="workspace-write")));let Cs=!1;O={...O,experience:O.experience??rn};async function no(Se,wt){Cs||O.experience!=="work"||!v||(Cs=!0,O=await v({session:await l(A),turnId:Se,outcome:wt}))}r(no,"finalizeAttachedWorkSandbox");let _s=D.modelRef?.providerId??O.modelRef?.providerId??O.provider;if(e.executionHost==="embedded"&&(_s!=="openpond"||D.createImproveRun))throw new Error("Embedded Work requires the configured model adapter and native tool loop.");let Fg=(O.experience==="chat"||O.experience==="work")&&!O.systemKind&&M&&!["sandbox","sandbox_template","sandbox_app"].includes(O.workspaceKind??"");if(_s==="codex"&&!ze(O)&&!Fg)throw new Error("The Codex provider requires repository-aware Work or a local resource chat.");if(/^\/goal(?:\s|$)/i.test(D.prompt.trimStart())&&(_s!=="codex"||!ze(O)))throw new Error("/goal is only available in repository-aware Work with the Codex provider.");let en=Ct?null:O.currentProfile??null,gt=lt||!en||O.profileWorkflowBinding||O.profileComponentBinding?null:q?await q(en):N?await N():null,ce=!Ct&&!lt&&B?await B(O):null,Za=null;if(O.profileWorkflowBinding){let Se=ce?.workflow;if(!Se)throw new Error("Bound Profile workflow is unavailable for this turn.");let wt=jp({workflow:Se,value:D.workflowInput??(Se.invocation.kind==="instructions"?{}:void 0),prompt:D.prompt});ce.instructionContext=[ce.instructionContext,wt.instruction].join(`
|
|
136
136
|
|
|
137
137
|
`),D.prompt=wt.prompt,Za=wt.inputHash}else if(D.workflowInput!==void 0&&O.profileComponentBinding?.target.kind!=="agent_action")throw new Error("Workflow input requires a bound Profile workflow or Agent action session.");let Jo=ce&&z?await z({runId:O.id,workspace:ce.workspace,harnessRelease:{id:ce.release.harnessRelease.id,contentHash:ce.release.harnessRelease.contentHash},admittedAt:Y()}):null,oo=lt?null:await Ga({session:O,request:D,requestedTurnPermissions:ee});oo&&(ee=oo.turnPermissions);let Go=D.modelRef?.providerId??O.modelRef?.providerId??O.provider,el=D.modelRef?.modelId??D.model??O.modelRef?.modelId??null,As=qe?.preferences??await we(),Es=lt?null:cf(O,As),Ft=el?{providerId:Go,modelId:el}:D.modelRef??O.modelRef??null,tl=D.createImproveRun?Hf(D.createImproveRun):null,qt=$f(D.prompt)??tl;if(qt&&!Zc(O))throw new Error("Agent and Skill authoring are available in repository-aware Work.");let bn=tl?null:D.createImproveRun,nl=!Ct&&!re&&!qt&&Oi(O.experience)&&$?await $({prompt:D.prompt,profileRef:en}):null,Os=await n.runtimeEventsForSession(A,{excludeReasoningDeltas:!0}),Bn=Mp(D.metadata?.userQuestionResolution,Os),qg=Y(),ol=D.usageAttribution??oo?.usageAttribution??null,rl={...D.metadata?D.metadata:{},...O.profileWorkflowBinding?{profileWorkflowBinding:O.profileWorkflowBinding,profileWorkflowInputHash:Za}:{},...O.profileComponentBinding?{profileComponentBinding:O.profileComponentBinding}:{},taskExecutionPermissions:{...ee},...Es?{subagentDelegation:Es}:{},...ol?{usageAttribution:ol}:{},...bn?{createImproveRun:bn}:{},...qt?{authoringIntent:qt.intent,selectedProfileRef:en}:{}},K={id:oe,sessionId:A,providerTurnId:null,modelRef:Ft,prompt:D.prompt,startedAt:qg,completedAt:null,status:"in_progress",error:null,metadata:rl,createImproveRun:bn??null,profileSnapshot:(O.profileWorkflowBinding||O.profileComponentBinding)&&en?{ref:en,revision:(O.profileWorkflowBinding??O.profileComponentBinding).sourceRevision,sourceHash:(O.profileWorkflowBinding??O.profileComponentBinding).harnessRelease.contentHash}:en&>&>.mode!=="none"&&!gt.error?{ref:en,revision:gt.git?.head??null,sourceHash:Wk("sha256").update(JSON.stringify({profile:gt.activeProfile,revision:gt.git?.head??null,agents:gt.agents,skills:gt.skills.map(Se=>[Se.name,Se.sourceHash]),actions:gt.actionCatalog.map(Se=>Se.id)})).digest("hex")}:null,harnessSnapshot:ce?{schemaVersion:"openpond.harnessTurnSnapshot.v1",workspaceId:ce.workspace.id,workspaceRevision:ce.workspace.revision,sourceRevision:ce.workspace.sourceRevision,channelName:ce.workspace.currentChannel.name,channelRevision:ce.workspace.currentChannel.revision,harnessRelease:{id:ce.release.harnessRelease.id,contentHash:ce.release.harnessRelease.contentHash},overlay:Jo?{id:Jo.id,revision:Jo.revision,contentHash:Jo.contentHash}:null}:null};qe&&e.storageHome&&(Ep(e.storageHome,K.id,qe),K.metadata={...K.metadata,configuration:{effectiveRevision:qe.snapshot.effectiveRevision,sources:qe.snapshot.sources,instructionSources:qe.instructions.sources,diagnostics:qe.snapshot.diagnostics}}),await it(K),await Tp({session:O,turn:K,admission:re,failTurn:h});let xe=await e.isolatedProfileEvaluationForTurn?.(O,K)??!1,Te=await e.candidateAuthoringForTurn?.(O.id,K.id)??!1;if(lt&&!Te)throw await h(O,K.id,"The candidate Work owner did not admit this stored turn."),new Error("Candidate Work has no trusted authoring authority.");let sl=Te?O.cwd:(qt&>?.mode==="local"?gt.repoPath:null)??D.cwd??await T(O,{ensureOpenPond:!1})??O.cwd??(O.appId||Go==="codex"?y(O.appId):null);O=await u(A,{experience:O.experience,provider:Go,modelRef:jt?Ft:O.modelRef,status:"active",title:O.title==="New chat"?D.prompt.slice(0,64):O.title,cwd:sl});let $e=new AbortController,Ve={session:O,turn:K,controller:$e,...sf()};Uo.registerActiveTurn(A,Ve);let $g=Op(e.storageHome,K.id,qe?.snapshot.projectRoot??null,Se=>{Ve.interruptionReason=Se,$e.abort(),Ve.codexRuntime&&Ve.codexTurnId&&Ve.codexRuntime.client.interruptTurn({threadId:Ve.codexRuntime.threadId,turnId:Ve.codexTurnId}).catch(()=>{})});try{O.experience!=="chat"&&await pe.announcePresence(A,K.id).catch(async ne=>{await S(L({sessionId:A,turnId:K.id,name:"diagnostic",source:"server",status:"failed",output:`Peer presence notice unavailable: ${String(ne)}`}))}),await pg({context:oo,childTurnId:K.id});let Se=await Ir({storageHome:e.storageHome??t,attachmentRootDir:t,sessionId:A,turnId:K.id,attachments:D.attachments}),wt=O.experience==="work"?[...b?await b(O):[],...Se]:void 0,ro=xr(xe?Se.map(ne=>({...ne,localPath:`/workspace/work/inputs/${Uk.basename(ne.name)}`})):Se),Ye=Jn(zk(Np(D.prompt,Bn),D.metadata),ro),Re=typeof D.metadata?.taskInputId=="string"?await Me.getTaskInput(D.metadata.taskInputId):null;Ye+=Wm(Re),Re?.payload.taskReportingOnly===!0&&(Ye+=`
|
|
138
138
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{Bl as g,Ea as p,el as m,zl as u}from"./chunk-
|
|
2
|
+
import{Bl as g,Ea as p,el as m,zl as u}from"./chunk-AWD72O3G.js";import{c as a,f as c,h}from"./chunk-3M53YXEI.js";import{a as l}from"./chunk-FTQLQJQV.js";var b=new Set(["hosted-saved-model-serving","hosted-control-steering-serving","hosted-import-calibration","hosted-calibration","hosted-calibrations","hosted-archive-calibration"]);async function S(w){let{action:r,target:s,teamId:t,options:i,client:o,readInput:n}=w;if(r==="hosted-calibration"){if(!s)throw new Error("Supply the original calibration ID.");return o.getNeuronCalibration(t,s)}if(r==="hosted-calibrations"){if(s)throw new Error("Use filters to list calibration history.");return o.listNeuronCalibrations(t,{projectId:a(i,"projectId")||void 0,modelHash:a(i,"modelHash")||void 0,archived:c(i.archived),cursor:a(i,"cursor")||void 0,limit:h(i.limit,"--limit")})}if(r==="hosted-saved-model-serving"){let e=p.parse(await n());return o.savedModelServing(e.modelProjectId,{teamId:t,versionHash:e.versionHash})}if(r==="hosted-control-steering-serving"){let e=m.parse(await n());if(e.request.teamId!==t)throw new Error("Use the Model's original workspace.");if(e.request.action==="activate"&&!c(i.yes))throw new Error("Activating billed serving capacity requires --yes.");return o.controlSteeringModelServing(e.modelProjectId,e.request)}if(r==="hosted-import-calibration"){let e=u.parse(await n());if(e.teamId!==t)throw new Error("Use the calibration's original workspace.");return o.importNeuronCalibration(e)}if(r==="hosted-archive-calibration"){let e=await n();if(!e||typeof e!="object"||!("id"in e)||typeof e.id!="string"||!("request"in e))throw new Error("Supply the calibration ID and original archive request.");let d=g.parse(e.request);if(d.teamId!==t)throw new Error("Use the calibration's original workspace.");return o.archiveNeuronCalibration(e.id,d)}throw new Error("Unsupported steering command.")}l(S,"runHostedSteeringCommand");export{b as a,S as b};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{c as h}from"./chunk-RFQD6B44.js";import{a as u,d as f}from"./chunk-
|
|
2
|
+
import{c as h}from"./chunk-RFQD6B44.js";import{a as u,d as f}from"./chunk-X7ZMUWJO.js";import{d as w}from"./chunk-RPM4FDRX.js";import{c as l,f as c}from"./chunk-BSHAIAXY.js";import{c as a}from"./chunk-3M53YXEI.js";import{b as s}from"./chunk-GLUWATL5.js";import{a as i}from"./chunk-FTQLQJQV.js";import{readFile as p,stat as m}from"node:fs/promises";async function v(r,t=1048576){let o=a(r,"inputFile");if(!o)throw new Error("Provide --input-file with the exact reviewed request.");let e=await m(o);if(!e.isFile()||e.size>t)throw new Error(`The request must be a regular JSON file of at most ${t} bytes.`);let n=await p(o);if(n.byteLength>t)throw new Error("The request file grew beyond its byte allowance.");return JSON.parse(n.toString("utf8"))}i(v,"readEvaluationCommandInput");async function E(r){let t=a(r,"team");if(!t)throw new Error("Select --team for the evaluation owner.");if(r.local===!0||r.local==="true"){let e=new URL(a(r,"serverUrl")||u);if(e.protocol!=="http:"||!["localhost","127.0.0.1","[::1]"].includes(e.hostname)||e.username||e.password||e.search||e.hash||e.pathname!=="/")throw new Error("Local evaluation commands require an HTTP loopback server origin.");return{teamId:t,baseUrl:e.origin,apiKey:"local-capability",fetch:await f(e.origin)}}let o=await w();return{teamId:t,apiKey:await h(o,c(o)),baseUrl:l(r)??o.apiBaseUrl??s}}i(E,"evaluationCommandAccess");export{v as a,E as b};
|
|
@@ -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-TD5YYA5Z.js";import{g as v}from"./chunk-5TTQCT3G.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,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-V5CHG3M3.js")).runHostedTrainingCommand(e,["hosted-estimate-model",...n.slice(1)]);return}if(t==="start"&&u(e,"teamId")){await(await import("./training-hosted-V5CHG3M3.js")).runHostedTrainingCommand(e,["hosted-start-model",...n.slice(1)]);return}if(t?.startsWith("hosted-")){await(await import("./training-hosted-V5CHG3M3.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-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};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{j as sr,v as Bt}from"./chunk-
|
|
2
|
+
import{j as sr,v as Bt}from"./chunk-TR5UC5AF.js";import{a as tt}from"./chunk-WLQEONBF.js";import{b as at}from"./chunk-CQRA5TXF.js";import{a as or}from"./chunk-Q3WXB465.js";import{a as nr}from"./chunk-FEAKTSRS.js";import{a as et}from"./chunk-TPOAAJKA.js";import{d as Ze}from"./chunk-5TPJ5ECJ.js";import{b as Ye}from"./chunk-JVEIK4RH.js";import{a as tr,e as ar,f as rr}from"./chunk-MWPMYCYB.js";import{a as Mt}from"./chunk-IZ6DLEVY.js";import{a as Ga}from"./chunk-6YR5IYHH.js";import{c as Za,e as He}from"./chunk-XLZMSD5K.js";import{a as Ka,b as _e,c as Xa,d as Oe,g as Xe,l as Qe,m as se,n as Ya}from"./chunk-BQNU4HZW.js";import{a as Qa}from"./chunk-G4747MOW.js";import{a as er}from"./chunk-7KWD2I6W.js";import{c as la,y as ma}from"./chunk-OFJPOTES.js";import{d as he}from"./chunk-L5L3H6CI.js";import{x as Be}from"./chunk-2THZ6GZY.js";import{a as Ct}from"./chunk-BL3CZWWD.js";import{A as F,B as Ke,u as Ja,y as Ge}from"./chunk-OXRN2257.js";import{a as za,c as Se,d as Je,f as Ua,l as La,p as Va,r as Wa}from"./chunk-TOWY6Y23.js";import{b as ga,d as wa,e as va}from"./chunk-4V73I4OL.js";import{a as Le,e as ua,f as pa,g as fa,h as ha}from"./chunk-LE75SVEL.js";import{e as Ia}from"./chunk-LZPCA6DH.js";import{b as ca}from"./chunk-L3KS6MOV.js";import{f as $a}from"./chunk-Z6HWSTEP.js";import{Ca as Tt,Fa,aa as Na,ja as Da,wa as Me}from"./chunk-BYVE4TMU.js";import{f as qa}from"./chunk-LK77GI6M.js";import{k as ka}from"./chunk-HVM2GUM3.js";import{G as We,H as xa,L as Pa,R as Ta,S as Ca,T as Ma,ba as Ba,e as Ea,f as Ve,ga as _a,n as Aa,pa as Oa,ra as ja}from"./chunk-D6L6UNUQ.js";import{Eb as Ie,Fb as Ha,b as ya,ga as Sa}from"./chunk-ZY32SZ2P.js";import{r as Ra,s as ba}from"./chunk-OTDDXEQ6.js";import{Z as da}from"./chunk-SV7ZBEK2.js";import{M as sa}from"./chunk-2MEOUS24.js";import{i as oa,l as re,m as fe,n as v}from"./chunk-RCT3O3HQ.js";import{m as ia}from"./chunk-UGOK7VTC.js";import{A as M}from"./chunk-X2J2P5ZT.js";import{a as h}from"./chunk-FTQLQJQV.js";import{execFile as Wr}from"node:child_process";import{readFile as Jr}from"node:fs/promises";import{promisify as Gr}from"node:util";var Kr=5,Xr=20*1024*1024,ir=4e4,Ot=Gr(Wr);function Zn(e){return async({grader:t,task:a,attempt:n})=>{let s=[],o=0,i=await Qr({store:e.store,attempt:n}),d=n.modelRef?.providerId===t.judge.providerId&&n.modelRef.modelId===t.judge.modelId?sr(n.metadata.hostedTokenPricing)??void 0:void 0,g=await e.modelText({model:t.judge,hostedTokenPricing:d,signal:new AbortController().signal,requestId:`task-judge:${n.id}:${t.id}`,onUsage:h((m,r)=>{s.push(m),typeof r=="number"&&Number.isFinite(r)&&r>=0&&(o+=r)},"onUsage"),messages:[{role:"system",content:`Apply this rubric and return JSON only with score (0..1), passed, and feedback.
|
|
3
3
|
|
|
4
4
|
${t.rubric}`},{role:"user",content:JSON.stringify({input:a.input,expectedOutput:a.expectedOutput,output:n.output,artifactEvidence:i})}]}),f=rr(g);if(!f)throw new Error("Model judge returned invalid structured output.");return{...f,usage:s,...o>0?{costUsd:o}:{}}}}h(Zn,"createTaskAttemptModelJudge");async function Qr(e){let t=(await e.store.listTaskAttemptArtifacts({attemptId:e.attempt.id})).filter(a=>a.kind==="output_artifact").slice(0,Kr);return Promise.all(t.map(async a=>{let n={artifactId:a.id,mediaType:a.mediaType??null,sha256:a.sha256,sizeBytes:a.sizeBytes,requiredOutputPath:typeof a.metadata.requiredOutputPath=="string"?a.metadata.requiredOutputPath:null};if(a.sizeBytes>Xr)return{...n,extraction:"omitted",reason:"artifact exceeds inspection bound"};try{if(a.mediaType==="application/pdf"){let{stdout:s}=await Ot("pdftotext",[a.path,"-"],{env:{...process.env,PATH:Mt()},maxBuffer:8388608,timeout:15e3});return{...n,extraction:"pdf_text",content:_t(s)}}if(Zr(a.mediaType)){let s=await en(a.path,a.mediaType);return{...n,extraction:"open_xml_text",content:_t(s.content),structure:s.structure}}return Yr(a.mediaType)?{...n,extraction:"text",content:_t(await Jr(a.path,"utf8"))}:{...n,extraction:"metadata_only"}}catch(s){return{...n,extraction:"unavailable",reason:s instanceof Error?s.message.slice(0,500):String(s).slice(0,500)}}}))}h(Qr,"loadTaskAttemptGraderEvidence");function Yr(e){return!!(e?.startsWith("text/")||e==="application/json"||e==="application/javascript"||e==="application/sql"||e==="application/xml"||e==="application/yaml")}h(Yr,"isTextArtifact");function Zr(e){return e==="application/vnd.openxmlformats-officedocument.wordprocessingml.document"||e==="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"||e==="application/vnd.openxmlformats-officedocument.presentationml.presentation"}h(Zr,"isOpenXmlArtifact");async function en(e,t){let a={env:{...process.env,PATH:Mt()},maxBuffer:16777216,timeout:15e3},{stdout:n}=await Ot("unzip",["-Z1",e],a),s=n.split(/\r?\n/).filter(Boolean),o=tn(s,t).slice(0,250),i=[];for(let d of o){let{stdout:g}=await Ot("unzip",["-p",e,d],a),f=rn(g);f&&i.push(`[${d}]
|
|
5
5
|
${f}`)}return{content:i.join(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{i as a,j as b,k as c}from"./chunk-
|
|
2
|
+
import{i as a,j as b,k as c}from"./chunk-DFSQ5HZ7.js";import"./chunk-T6ML5SCD.js";import"./chunk-OIIE5GUK.js";import"./chunk-TPOAAJKA.js";import"./chunk-CX4T7I47.js";import"./chunk-PKJHN666.js";import"./chunk-PYNW5OFA.js";import"./chunk-XLZMSD5K.js";import"./chunk-SVLVIYH2.js";import"./chunk-6I5AUTVO.js";import"./chunk-BQNU4HZW.js";import"./chunk-AFKFN25T.js";import"./chunk-G4747MOW.js";import"./chunk-KCJVFLBB.js";import"./chunk-2ACX7IW5.js";import"./chunk-OFJPOTES.js";import"./chunk-L5L3H6CI.js";import"./chunk-2THZ6GZY.js";import"./chunk-OQPJ7FJF.js";import"./chunk-BL3CZWWD.js";import"./chunk-FYWQWKVS.js";import"./chunk-GD3RCUDH.js";import"./chunk-OXRN2257.js";import"./chunk-UTIELP6F.js";import"./chunk-TOWY6Y23.js";import"./chunk-4V73I4OL.js";import"./chunk-LE75SVEL.js";import"./chunk-6ESBAHWK.js";import"./chunk-LZPCA6DH.js";import"./chunk-L3KS6MOV.js";import"./chunk-7J2NMUTK.js";import"./chunk-2Q2AWPP2.js";import"./chunk-W45RKGM6.js";import"./chunk-73COPJ32.js";import"./chunk-UGDBMRCT.js";import"./chunk-AITV76GO.js";import"./chunk-EDYCSW22.js";import"./chunk-Z6HWSTEP.js";import"./chunk-XGY4OQLC.js";import"./chunk-2PVW2XFF.js";import"./chunk-64EDQ7UV.js";import"./chunk-DLOJG7LP.js";import"./chunk-ULTV6INR.js";import"./chunk-XKDOPNQ5.js";import"./chunk-JXLDEYRW.js";import"./chunk-GR4MJJCE.js";import"./chunk-GG6PM7TB.js";import"./chunk-2GEZ3ZY7.js";import"./chunk-BYVE4TMU.js";import"./chunk-LVXL7T5O.js";import"./chunk-HIQPGYVH.js";import"./chunk-3VT2PPKW.js";import"./chunk-5ZBDHIIE.js";import"./chunk-MTP3B2SU.js";import"./chunk-LK77GI6M.js";import"./chunk-HVM2GUM3.js";import"./chunk-I6VMRQF4.js";import"./chunk-D6L6UNUQ.js";import"./chunk-AJXWJLZA.js";import"./chunk-OKKNDQJF.js";import"./chunk-ZEOYNUHL.js";import"./chunk-ZY32SZ2P.js";import"./chunk-OTDDXEQ6.js";import"./chunk-ECOH24MC.js";import"./chunk-EJOV6Z6F.js";import"./chunk-GY7YSD6J.js";import"./chunk-KUE46HTH.js";import"./chunk-MZKCW6CB.js";import"./chunk-6FA3GG5B.js";import"./chunk-SV7ZBEK2.js";import"./chunk-2MEOUS24.js";import"./chunk-HNQPEOJD.js";import"./chunk-RCT3O3HQ.js";import"./chunk-UGOK7VTC.js";import"./chunk-ZFJWA4JK.js";import"./chunk-X2J2P5ZT.js";import"./chunk-FTQLQJQV.js";export{a as resolveWebLaunchMessages,c as runOpenPondAppServerCli,b as runOpenPondServerCli};
|