openpond 0.2.66 → 0.2.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-server.d.ts +23 -0
- package/dist/app-server.js +1 -1
- package/dist/chunks/{acp-YYZ3ZO3Q.js → acp-NASAJV5E.js} +1 -1
- package/dist/chunks/{acp-agent-T26S7TU2.js → acp-agent-C3CRF6DT.js} +1 -1
- package/dist/chunks/{actions-command-VLKMHCMI.js → actions-command-BYPLSGZL.js} +1 -1
- package/dist/chunks/{app-layer-5XUMNHDO.js → app-layer-XIEZ6ALX.js} +1 -1
- package/dist/chunks/{app-server-evaluations-V6LRWDUF.js → app-server-evaluations-5YZUFXQ2.js} +1 -1
- package/dist/chunks/{app-server-harness-services-6ZRLA3YD.js → app-server-harness-services-N5F5QVZI.js} +1 -1
- package/dist/chunks/{app-server-runtime-TH56EG2Z.js → app-server-runtime-HJ2N57DL.js} +1 -1
- package/dist/chunks/{apps-MNT3KXIY.js → apps-WJTW64NW.js} +1 -1
- package/dist/chunks/{chunk-ZWW227M3.js → chunk-263WS3TB.js} +1 -1
- package/dist/chunks/{chunk-HX6GXMDK.js → chunk-26ID6A5C.js} +1 -1
- package/dist/chunks/{chunk-DSJZS77R.js → chunk-2RSGVLZT.js} +4 -4
- package/dist/chunks/{chunk-L4EJ5R3B.js → chunk-2UZHLO2V.js} +1 -1
- package/dist/chunks/{chunk-QYQZQVVN.js → chunk-375PADDM.js} +1 -1
- package/dist/chunks/{chunk-FUFI4THX.js → chunk-43QYVOYA.js} +1 -1
- package/dist/chunks/{chunk-H5ML7735.js → chunk-46RMTR2Z.js} +1 -1
- package/dist/chunks/{chunk-Z2TOBS3P.js → chunk-4B7EGNYX.js} +1 -1
- package/dist/chunks/{chunk-2GJD23CM.js → chunk-4EZI4KCT.js} +1 -1
- package/dist/chunks/{chunk-DMO3UIS7.js → chunk-4JJ4RYIB.js} +1 -1
- package/dist/chunks/{chunk-JKI53ED7.js → chunk-4NN5OLKW.js} +2 -2
- package/dist/chunks/{chunk-66HFW4OU.js → chunk-4VZJQRQI.js} +1 -1
- package/dist/chunks/{chunk-7PKTCMZ6.js → chunk-543QHE3D.js} +1 -1
- package/dist/chunks/{chunk-TVDZXDQW.js → chunk-5QOFUGYQ.js} +1 -1
- package/dist/chunks/{chunk-6S2MWJVD.js → chunk-5TPYBXWM.js} +1 -1
- package/dist/chunks/{chunk-WLZJOCLA.js → chunk-5ZNE43XC.js} +1 -1
- package/dist/chunks/{chunk-KOKBDIGR.js → chunk-6HQUIKC5.js} +1 -1
- package/dist/chunks/{chunk-3BJ7LPE3.js → chunk-6IS5OLI5.js} +1 -1
- package/dist/chunks/{chunk-VS3AMJEK.js → chunk-6LFTQBXP.js} +1 -1
- package/dist/chunks/{chunk-VD2TQCMH.js → chunk-7HAGSE7L.js} +1 -1
- package/dist/chunks/{chunk-NTM3KQ25.js → chunk-ADOCQA4D.js} +1 -1
- package/dist/chunks/{chunk-4D3CICBG.js → chunk-ATFV2NA4.js} +1 -1
- package/dist/chunks/{chunk-YU4JYWCA.js → chunk-AXO6OHJB.js} +1 -1
- package/dist/chunks/{chunk-5KJMFK65.js → chunk-AXYAEWWA.js} +1 -1
- package/dist/chunks/{chunk-Q4AXZY2P.js → chunk-B2K5WQZE.js} +1 -1
- package/dist/chunks/{chunk-ANG2YMMD.js → chunk-B7XJBP4U.js} +1 -1
- package/dist/chunks/{chunk-BQVB2SPF.js → chunk-BBIA24GD.js} +6 -6
- package/dist/chunks/{chunk-CYQLXS2U.js → chunk-BUZ7CBJC.js} +1 -1
- package/dist/chunks/{chunk-MVPKU72J.js → chunk-CJDGLPNX.js} +1 -1
- package/dist/chunks/{chunk-ZU3YBRXS.js → chunk-CSU7RDA5.js} +1 -1
- package/dist/chunks/{chunk-JLW5BQVO.js → chunk-CWAQOFLP.js} +1 -1
- package/dist/chunks/{chunk-WKHGXLJD.js → chunk-CX7HKSQ4.js} +2 -2
- package/dist/chunks/{chunk-M5QPL5NO.js → chunk-D5OFN47Z.js} +1 -1
- package/dist/chunks/{chunk-QCJY6FTC.js → chunk-FCXDPVGJ.js} +1 -1
- package/dist/chunks/{chunk-FEQ7HNJR.js → chunk-FE2ENE3U.js} +1 -1
- package/dist/chunks/{chunk-6TRVEA3T.js → chunk-FVK4W27G.js} +1 -1
- package/dist/chunks/{chunk-7FBWUVX7.js → chunk-GC6RJBRZ.js} +1 -1
- package/dist/chunks/{chunk-5Z3AU5CL.js → chunk-H2XG5N7D.js} +1 -1
- package/dist/chunks/chunk-H6EUFJJK.js +2 -0
- package/dist/chunks/{chunk-V3S2B6WU.js → chunk-IDILAYCW.js} +1 -1
- package/dist/chunks/{chunk-PLVWARB7.js → chunk-IF5A3XWP.js} +1 -1
- package/dist/chunks/chunk-IHAEZ73V.js +2 -0
- package/dist/chunks/{chunk-GDJ4X2ZN.js → chunk-IR2Y2VQY.js} +1 -1
- package/dist/chunks/{chunk-WBO6FQHR.js → chunk-IXZ5ZGIL.js} +1 -1
- package/dist/chunks/{chunk-67HXM6AL.js → chunk-K3LS5SK7.js} +1 -1
- package/dist/chunks/{chunk-4MQHIFZL.js → chunk-K6DB5QWG.js} +1 -1
- package/dist/chunks/{chunk-QJJNHKLT.js → chunk-KQD36SBJ.js} +1 -1
- package/dist/chunks/{chunk-LXZLLTYQ.js → chunk-LI56PPCN.js} +1 -1
- package/dist/chunks/{chunk-KAWXVMHI.js → chunk-MX7KV5DA.js} +1 -1
- package/dist/chunks/{chunk-LARJARMS.js → chunk-N54CPLVD.js} +1 -1
- package/dist/chunks/{chunk-JRGECNP3.js → chunk-OE2OOWEQ.js} +1 -1
- package/dist/chunks/{chunk-B32CW3NT.js → chunk-OY4B7Y3T.js} +1 -1
- package/dist/chunks/chunk-OYIFH2OM.js +2 -0
- package/dist/chunks/{chunk-C5B3FMV3.js → chunk-P6NQYXN6.js} +1 -1
- package/dist/chunks/{chunk-D7R2AAX2.js → chunk-QFL2VQKX.js} +1 -1
- package/dist/chunks/{chunk-Y3B6ZUE6.js → chunk-QOUOU7FE.js} +1 -1
- package/dist/chunks/{chunk-GIU3Z45P.js → chunk-QQLS5FB7.js} +1 -1
- package/dist/chunks/chunk-R5GRESW3.js +2 -0
- package/dist/chunks/{chunk-6ZTP6CUJ.js → chunk-R6MMWEH4.js} +1 -1
- package/dist/chunks/{chunk-XHBMK6LC.js → chunk-R6VI7MX5.js} +1 -1
- package/dist/chunks/{chunk-GFAI2MCJ.js → chunk-RS526BG7.js} +1 -1
- package/dist/chunks/{chunk-EVQISX7M.js → chunk-RWRKUO5D.js} +1 -1
- package/dist/chunks/{chunk-DXA2UHBE.js → chunk-SD2XDZQW.js} +1 -1
- package/dist/chunks/{chunk-S6UCVXBC.js → chunk-SODAOLAP.js} +1 -1
- package/dist/chunks/{chunk-UK5LGSGT.js → chunk-SVNEPXU3.js} +1 -1
- package/dist/chunks/{chunk-5WPMI6QX.js → chunk-TERKCK4I.js} +1 -1
- package/dist/chunks/{chunk-OKEC2EIE.js → chunk-TS5HNRZB.js} +1 -1
- package/dist/chunks/{chunk-5KWKSR4P.js → chunk-TSQ2I6XV.js} +1 -1
- package/dist/chunks/{chunk-YRDPVTEI.js → chunk-TV2LE2BD.js} +1 -1
- package/dist/chunks/chunk-U3MVH2YT.js +2 -0
- package/dist/chunks/{chunk-FS2VKOT7.js → chunk-UBTP3QWI.js} +1 -1
- package/dist/chunks/{chunk-7XOUM6RK.js → chunk-UKSSFB4Q.js} +1 -1
- package/dist/chunks/{chunk-W7NXFRHN.js → chunk-UNE52L3Y.js} +1 -1
- package/dist/chunks/{chunk-ZUT4EM64.js → chunk-UXO33ST5.js} +1 -1
- package/dist/chunks/{chunk-FHLSLOKH.js → chunk-V3ILZQER.js} +1 -1
- package/dist/chunks/chunk-V3T2OJBZ.js +33 -0
- package/dist/chunks/{chunk-QAEZNFAM.js → chunk-V5AOM5MZ.js} +1 -1
- package/dist/chunks/{chunk-LI3FTPAH.js → chunk-VEXJV5H5.js} +1 -1
- package/dist/chunks/{chunk-AF3AVDPP.js → chunk-VPAEFG7X.js} +1 -1
- package/dist/chunks/{chunk-NABPZ7AK.js → chunk-W3ZILZUL.js} +1 -1
- package/dist/chunks/{chunk-U2BD545L.js → chunk-WD6ANOLL.js} +1 -1
- package/dist/chunks/{chunk-OTUS7NTQ.js → chunk-WDKZMXIU.js} +1 -1
- package/dist/chunks/chunk-WGISITX6.js +4 -0
- package/dist/chunks/{chunk-55Q64WWF.js → chunk-XD4ZIQZ2.js} +1 -1
- package/dist/chunks/{chunk-W22KWKF6.js → chunk-XDFXKRTI.js} +1 -1
- package/dist/chunks/{chunk-GRLQHYAU.js → chunk-XEU4J4GJ.js} +1 -1
- package/dist/chunks/{chunk-IEVJLG3V.js → chunk-XGJG2ZKE.js} +1 -1
- package/dist/chunks/chunk-XHU4BZQY.js +13 -0
- package/dist/chunks/{chunk-DIDQHTAX.js → chunk-XKZ4PFMQ.js} +1 -1
- package/dist/chunks/{chunk-B666Z2NS.js → chunk-XT5WUQGT.js} +1 -1
- package/dist/chunks/{chunk-UXPO3ZV7.js → chunk-YKTJPCYZ.js} +3 -3
- package/dist/chunks/{chunk-5AU5Y6KS.js → chunk-YMCF5GR2.js} +1 -1
- package/dist/chunks/{chunk-LYVHYT3L.js → chunk-YONDU5TN.js} +1 -1
- package/dist/chunks/{chunk-BTJACFU3.js → chunk-YQBL5P6R.js} +1 -1
- package/dist/chunks/{chunk-SAZTOGX6.js → chunk-YR5URT73.js} +1 -1
- package/dist/chunks/{chunk-OXRVILDW.js → chunk-ZVMQLIRA.js} +1 -1
- package/dist/chunks/{chunk-MHPCVQOE.js → chunk-ZWEY66RT.js} +1 -1
- package/dist/chunks/cli-HV32F7HD.js +2 -0
- package/dist/chunks/command-NWOZXU57.js +58 -0
- package/dist/chunks/{configuration-command-4WTS2MZS.js → configuration-command-ZEIBQKB3.js} +1 -1
- package/dist/chunks/{connected-app-executor-7DYMZCD7.js → connected-app-executor-DFHWNMRM.js} +1 -1
- package/dist/chunks/{connected-evidence-D7C45HYD.js → connected-evidence-WOM6N5HO.js} +1 -1
- package/dist/chunks/{connected-starting-assets-4LDXQVLN.js → connected-starting-assets-66Y46ZPM.js} +1 -1
- package/dist/chunks/{continual-HQCFY7GN.js → continual-TNPTWTKK.js} +1 -1
- package/dist/chunks/{core-commands-RXPXOYOP.js → core-commands-GWRHH53F.js} +1 -1
- package/dist/chunks/{dataset-preparation-authoring-KWRTMKN6.js → dataset-preparation-authoring-WJ2XEUO7.js} +1 -1
- package/dist/chunks/{datasets-LBLEKLCS.js → datasets-XIMF54QN.js} +1 -1
- package/dist/chunks/{desktop-test-INJPZ5VP.js → desktop-test-HF42V2EP.js} +1 -1
- package/dist/chunks/dist-T6ES2TSM.js +2 -0
- package/dist/chunks/{evaluation-coordination-3ARLJAFH.js → evaluation-coordination-WZT6FDMS.js} +1 -1
- package/dist/chunks/{experiment-improvements-UB4C5CSP.js → experiment-improvements-H35VS6XZ.js} +1 -1
- package/dist/chunks/{experiments-AHHKFJD6.js → experiments-F54C32EE.js} +1 -1
- package/dist/chunks/{experiments-signal-MTR475QV.js → experiments-signal-ONIGTGYR.js} +1 -1
- package/dist/chunks/{help-JQA3YMCX.js → help-O53DTZGN.js} +1 -1
- package/dist/chunks/host-profile-evaluation-tools-LMCJ3MDJ.js +2 -0
- package/dist/chunks/{host-profile-external-dataset-YRKG2GL5.js → host-profile-external-dataset-4HOXANWK.js} +1 -1
- package/dist/chunks/{hosted-app-server-composition-GPXH3BOG.js → hosted-app-server-composition-Y64A2A2B.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-NZTPZTDH.js → hosted-experiment-improvement-B2V2WIUI.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-C7I4KSDK.js +2 -0
- package/dist/chunks/{hosted-profile-candidate-3CAT3XBI.js → hosted-profile-candidate-CXPVEEYQ.js} +1 -1
- package/dist/chunks/{hosted-profile-compiler-RXU626Q6.js → hosted-profile-compiler-FGCI2VRW.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-control-CBDRKJ5J.js → hosted-profile-evaluation-control-INNUYMBD.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-CHYKDYUQ.js → hosted-profile-evaluation-inspection-UPTBRYMS.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-H5S7JZMD.js → hosted-profile-evaluation-preparation-TIQSVKLQ.js} +1 -1
- package/dist/chunks/{hosted-tasksets-AMGDDB2R.js → hosted-tasksets-7VMYOTIO.js} +1 -1
- package/dist/chunks/{human-review-DVHVJXBA.js → human-review-7XC77NQP.js} +1 -1
- package/dist/chunks/{import-CLWTKDG6.js → import-OBAKUJPM.js} +1 -1
- package/dist/chunks/javascript-isolate-process-source-YAT3GPW4.js +2 -0
- package/dist/chunks/javascript-verifier-worker-source-LGRP74W4.js +2 -0
- package/dist/chunks/learning-3XDGIYUL.js +2 -0
- package/dist/chunks/{learning-XTY5VOTK.js → learning-CRR6NRPN.js} +1 -1
- package/dist/chunks/{local-harness-improvement-runtime-XEA73RGS.js → local-harness-improvement-runtime-UIKQSAMM.js} +1 -1
- package/dist/chunks/{local-harness-taskset-review-SW35G4DM.js → local-harness-taskset-review-6KJN3EQL.js} +1 -1
- package/dist/chunks/{model-projects-GHWCKDON.js → model-projects-HP4DELCP.js} +1 -1
- package/dist/chunks/{opchat-LMKH3OWR.js → opchat-NWYWWIA7.js} +1 -1
- package/dist/chunks/{opchat-bounded-chat-PPOWO7H4.js → opchat-bounded-chat-ICURZM6R.js} +1 -1
- package/dist/chunks/{organizations-T6ZUSHNJ.js → organizations-7DBQGCCV.js} +1 -1
- package/dist/chunks/{profile-RIDNU2I5.js → profile-3WZJ65CT.js} +1 -1
- package/dist/chunks/{project-action-payload-2G57RL74.js → project-action-payload-7DRABTHY.js} +1 -1
- package/dist/chunks/{project-agent-GBMVDJY3.js → project-agent-AXJOWXRU.js} +1 -1
- package/dist/chunks/{published-experiment-source-D3C2AWQD.js → published-experiment-source-YBBPLNF2.js} +1 -1
- package/dist/chunks/{refiner-profile-service-PPGGNVOV.js → refiner-profile-service-ATEFPF5O.js} +1 -1
- package/dist/chunks/{runtime-VSOOPNYN.js → runtime-XP4DEGR3.js} +1 -1
- package/dist/chunks/{sandbox-command-L5VQ2T6C.js → sandbox-command-CF2PJCFX.js} +1 -1
- package/dist/chunks/{sandbox-template-NN3XQI7M.js → sandbox-template-YFMHEMUQ.js} +1 -1
- package/dist/chunks/{saved-work-LAVTNKPT.js → saved-work-3OAVRBH3.js} +1 -1
- package/dist/chunks/setup-RHIMFI2Y.js +2 -0
- package/dist/chunks/{src-662QOKNP.js → src-GQPWOPYA.js} +1 -1
- package/dist/chunks/{src-HJHIBDFX.js → src-V236S6MV.js} +112 -112
- package/dist/chunks/{standalone-experiment-turn-owner-KKYIGGPF.js → standalone-experiment-turn-owner-CDRMGLWW.js} +1 -1
- package/dist/chunks/{store-chat-resources-ZWDYMDJF.js → store-chat-resources-P4EKCLSY.js} +1 -1
- package/dist/chunks/{store-continual-support-reviews-7PDLGRWF.js → store-continual-support-reviews-VVRQO2JK.js} +1 -1
- package/dist/chunks/{store-conversation-serving-WRT4N7N2.js → store-conversation-serving-YFEZYQD3.js} +1 -1
- package/dist/chunks/{store-create-improve-G46KIUVT.js → store-create-improve-2XI36AET.js} +1 -1
- package/dist/chunks/{store-datasets-O67F75BL.js → store-datasets-UFY422NG.js} +1 -1
- package/dist/chunks/{store-evaluation-results-BEPR4LVD.js → store-evaluation-results-VBH4R2U7.js} +1 -1
- package/dist/chunks/{store-harness-workspaces-PJJQ74G6.js → store-harness-workspaces-SGUEYDO2.js} +1 -1
- package/dist/chunks/{store-human-review-HJ3D7ZFA.js → store-human-review-RFCVZ3HP.js} +1 -1
- package/dist/chunks/{store-learned-preference-migration-validation-EXNRDHCO.js → store-learned-preference-migration-validation-FNBGGZU6.js} +1 -1
- package/dist/chunks/{store-learning-6P6IS7GH.js → store-learning-BFOT4QVT.js} +1 -1
- package/dist/chunks/{store-learning-credentials-EGJ2WTZI.js → store-learning-credentials-DYTMWQTC.js} +1 -1
- package/dist/chunks/{store-local-experiments-CBJA56X2.js → store-local-experiments-XPXGYXNM.js} +1 -1
- package/dist/chunks/{store-model-batch-review-YIVD7T2T.js → store-model-batch-review-J2L5JQV2.js} +1 -1
- package/dist/chunks/{store-model-configuration-T6XJJDAB.js → store-model-configuration-NJFWSYSA.js} +1 -1
- package/dist/chunks/{store-model-project-preparation-WWU5CJTV.js → store-model-project-preparation-OCLIFKI2.js} +1 -1
- package/dist/chunks/{store-preference-comparison-XQFTLMGH.js → store-preference-comparison-MZAYONCK.js} +1 -1
- package/dist/chunks/{store-task-inbox-VVXZUJIO.js → store-task-inbox-3BREANOX.js} +1 -1
- package/dist/chunks/{store-task-inventory-MQX44AI6.js → store-task-inventory-5HRZCDUT.js} +1 -1
- package/dist/chunks/{store-taskset-drafts-G3WFVN4M.js → store-taskset-drafts-BNKUVHPA.js} +1 -1
- package/dist/chunks/{store-training-DUVIDYK5.js → store-training-S3FXWLT6.js} +1 -1
- package/dist/chunks/{store-training-jobs-HHFH3V5O.js → store-training-jobs-2LCXPA7G.js} +1 -1
- package/dist/chunks/{store-training-models-C7UUZDTO.js → store-training-models-7AMKS7ZW.js} +1 -1
- package/dist/chunks/{taskset-7FQCJ55X.js → taskset-PLKWRT4X.js} +1 -1
- package/dist/chunks/{taskset-packages-NRRPON7B.js → taskset-packages-SXBLYHSP.js} +1 -1
- package/dist/chunks/{taskset-packages-RW4SFGDU.js → taskset-packages-V5T4V7YN.js} +1 -1
- package/dist/chunks/{teams-bot-FXMCOCPP.js → teams-bot-VQXUA7U4.js} +1 -1
- package/dist/chunks/{tool-learning-O7QTTEDB.js → tool-learning-47XQKELE.js} +1 -1
- package/dist/chunks/{training-XFM3OOPN.js → training-7VQNCOGH.js} +1 -1
- package/dist/chunks/{training-XILDD5RG.js → training-VKLPNCMC.js} +1 -1
- package/dist/chunks/{training-hosted-6BX2IASC.js → training-hosted-NNE6BP6S.js} +1 -1
- package/dist/chunks/training-hosted-checkpoint-evaluation-2X7RSOLC.js +2 -0
- package/dist/chunks/{training-hosted-learning-YN5VD3PW.js → training-hosted-learning-WQ2IP5FP.js} +1 -1
- package/dist/chunks/training-hosted-report-T633TNJG.js +2 -0
- package/dist/chunks/training-hosted-serving-report-VZ4SMLMG.js +2 -0
- package/dist/chunks/training-hosted-workers-Y2PO5IOA.js +2 -0
- package/dist/chunks/{training-model-start-E5MP3URL.js → training-model-start-G7YDZ7ZG.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/skills/manifest.json +1 -1
- package/dist/web/assets/App-DmEA-Lia.js +53 -0
- package/dist/web/assets/{AppDialog-DuSd0wk6.js → AppDialog-BvskhHE9.js} +1 -1
- package/dist/web/assets/AppTerminalPanel-ScQKJV4z.js +2 -0
- package/dist/web/assets/{AppToastContext-Dklk6CaG.js → AppToastContext-D2788RqX.js} +1 -1
- package/dist/web/assets/AppsView-B1uNg9IQ.js +1 -0
- package/dist/web/assets/{AppsView-DNHWzJb2.css → AppsView-D3vVesNd.css} +1 -1
- package/dist/web/assets/{AttachmentTypeIcon-DipNT6Tj.js → AttachmentTypeIcon-DVluUHuc.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-BBaaanMS.js → BrowserSidebar-DfVQoJHn.js} +1 -1
- package/dist/web/assets/{CartesianChart-UU1sdoUO.js → CartesianChart-DdBZ69lI.js} +1 -1
- package/dist/web/assets/{ChatTimelineEntry-Ct59FKw1.js → ChatTimelineEntry-Bbc6HRks.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-BWYRQ1PE.js → CollaborationTabs-ba6WupeJ.js} +1 -1
- package/dist/web/assets/{CommandMenu-B08F9x5g.js → CommandMenu-D7wTaEgl.js} +1 -1
- package/dist/web/assets/{CommunityView-BLTlSxyb.js → CommunityView-mO58f2B0.js} +1 -1
- package/dist/web/assets/{ComposerAttachments-srWBKvCv.js → ComposerAttachments-aO90qXYz.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-DqTpU5cO.js → ComposerCreateImproveStrip-BPUJBSyS.js} +1 -1
- package/dist/web/assets/{ConversationImportsSettings-2KC-KQvu.js → ConversationImportsSettings-Bo836wKJ.js} +1 -1
- package/dist/web/assets/{FilePagePreview-B-iUVPhh.js → FilePagePreview-C6wIp6uX.js} +2 -2
- package/dist/web/assets/{GetStartedView-5v0vBWXy.js → GetStartedView-CxMv8q-h.js} +1 -1
- package/dist/web/assets/{GettingStartedDialog-Bn4072K-.js → GettingStartedDialog-CEb0cS-o.js} +1 -1
- package/dist/web/assets/{HostedModelLearningReview-DWF6WPao.js → HostedModelLearningReview-BQIS7hkd.js} +1 -1
- package/dist/web/assets/HostedModelLearningSettings-BQ-YeFMT.js +1 -0
- package/dist/web/assets/{HtmlVisual-C2WsMj90.js → HtmlVisual-CCuUkYT8.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-CQz29DwD.js → LabModelVersionDetailPage-BkHeVbAx.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-C50P74LI.js → LabSkillSidebar-CFROlATQ.js} +1 -1
- package/dist/web/assets/LabsRoute-YA9YckKj.js +101 -0
- package/dist/web/assets/MainChatThread-DpyPgGKW.js +2 -0
- package/dist/web/assets/{MainPane-Dje-hfUM.css → MainPane-BOWkynGB.css} +1 -1
- package/dist/web/assets/MainPane-WOeodByM.js +10 -0
- package/dist/web/assets/NativeSetupTerminal-fmG2c65K.js +2 -0
- package/dist/web/assets/{NativeSkillSidebar-Clv0IWyn.js → NativeSkillSidebar-MAJWS4mL.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-Cw_F5Eaa.js → NewProjectDialog-MQiUBVx3.js} +1 -1
- package/dist/web/assets/{OutputsPage-Btyiie4B.js → OutputsPage-DpF-aRTu.js} +1 -1
- package/dist/web/assets/{PageChrome-BLLw_cEA.js → PageChrome-8gH2hyDb.js} +1 -1
- package/dist/web/assets/{ProjectsPage-BpSHWQgj.js → ProjectsPage-BQ98oGyu.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-xW5rKbp0.js → RightChatPanelStack-Bs7A4dLs.js} +1 -1
- package/dist/web/assets/RightSidebarHomePanel-C-D4kba2.js +1 -0
- package/dist/web/assets/{ScheduledWorkPage-WytWGQgw.js → ScheduledWorkPage-CGCqZz_H.js} +1 -1
- package/dist/web/assets/{SettingsView-BJq5zNkv.js → SettingsView-CqpMFLxy.js} +3 -3
- package/dist/web/assets/{TasksetDraftEditorPrimitives-BxFEWI9W.js → TasksetDraftEditorPrimitives-DJvIvzBb.js} +1 -1
- package/dist/web/assets/{TeamChatView-BisSMAXy.js → TeamChatView-DjmIaLO1.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-C7OM2F0-.js → TerminalOverlay-D--M876l.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-KH5GFacT.js → TrainingCreationPanel-DDUoHQHU.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-DzOw13Md.js → TrainingDraftPanel-CwLXn3Z7.js} +1 -1
- package/dist/web/assets/{TrainingRunLineage-B2WBOchk.js → TrainingRunLineage-CtYe1KGX.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-nZHno_4P.js → UsageSettingsSection-CGwPregx.js} +1 -1
- package/dist/web/assets/WorkSidebarPanel-C6wWuo7U.js +1 -0
- package/dist/web/assets/{WorkspaceDiffPanel-CyTa8Cjs.js → WorkspaceDiffPanel-JDOUmrC-.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-CtZzxQ1e.js → WorkspaceEnvironmentMenu-sfL5LZeB.js} +1 -1
- package/dist/web/assets/{WorkspaceFileLocation-1U8DDj1J.js → WorkspaceFileLocation-D-ctFM4d.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-BO1EUA3G.js → WorkspaceGitDialogs-CQ28j3R7.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-Rqq_sKW_.js → WorkspaceMonacoEditor-BrZs6-EW.js} +3 -3
- package/dist/web/assets/{WorkspacePdfPreview-zmmMp09R.js → WorkspacePdfPreview-CU6PSjjN.js} +2 -2
- package/dist/web/assets/{WorkspacePresentationPreview-DNbhGjkE.js → WorkspacePresentationPreview-IjXVXpIy.js} +1 -1
- package/dist/web/assets/{app-models-Cz3yxq4x.js → app-models-CKXrDTEU.js} +1 -1
- package/dist/web/assets/{bot-D-eTQib6.js → bot-Cd761lRF.js} +1 -1
- package/dist/web/assets/{browser-sidebar-links-ZyYiYBBd.js → browser-sidebar-links-D9v2cyJa.js} +1 -1
- package/dist/web/assets/chat-resources-BUDXdoG0.js +1 -0
- package/dist/web/assets/{chevron-down-75im8nFF.js → chevron-down-DEbd6Ek-.js} +1 -1
- package/dist/web/assets/chevron-right-DLYNg_Oq.js +1 -0
- package/dist/web/assets/{chevron-up-BD8jg0bQ.js → chevron-up-DFJJccDl.js} +1 -1
- package/dist/web/assets/chunk-GHPCQXG5-DKDBSd8H.js +9 -0
- package/dist/web/assets/chunk-GJRXJL6G-luaxRTYI.js +1 -0
- package/dist/web/assets/chunk-H3JZ3P5T-CzpTARDY.js +2 -0
- package/dist/web/assets/chunk-JDQVAG3R-C0-rh1aR.js +1 -0
- package/dist/web/assets/chunk-TLSP5JKG-BrrVo5rJ.js +1 -0
- package/dist/web/assets/chunk-XMVSQIK4-BBU7r_NH.js +1 -0
- package/dist/web/assets/client-BNjO4Xi8.js +1 -0
- package/dist/web/assets/{client-choice-storage-CXlWJW5g.js → client-choice-storage-DUWsS4X0.js} +1 -1
- package/dist/web/assets/{cloud-upload-4lP-5zmp.js → cloud-upload-CoM1FGeB.js} +1 -1
- package/dist/web/assets/{common-BMjyKlX-.js → common-CFsO2ppZ.js} +1 -1
- package/dist/web/assets/{copy-DRnATDDY.js → copy-BGOhV6Pk.js} +1 -1
- package/dist/web/assets/{create-pipeline-CyUZrbbO.js → create-pipeline-DRR0Qeec.js} +1 -1
- package/dist/web/assets/{createLucideIcon-CmkSm39S.js → createLucideIcon-Bv-_eGcE.js} +1 -1
- package/dist/web/assets/{cssMode-Cps-05f3.js → cssMode-SclUkqPt.js} +1 -1
- package/dist/web/assets/{external-link-D_nBEDFO.js → external-link-CVXsNeO3.js} +1 -1
- package/dist/web/assets/{folder-open-tD5Lle1M.js → folder-open-MnOmh19D.js} +1 -1
- package/dist/web/assets/{folder-plus-DlZ4hM48.js → folder-plus-BRddLBtO.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-g8KBhvfr.js → git-commit-horizontal-Bm4rkXug.js} +1 -1
- package/dist/web/assets/{htmlMode-Do72TyNy.js → htmlMode-X3mQtOeh.js} +1 -1
- package/dist/web/assets/icons-CZxmQtZs.js +1 -0
- package/dist/web/assets/{image-CUZMnZYi.js → image-BViGUAiq.js} +1 -1
- package/dist/web/assets/{index-D7igQSAg.js → index-LXNhSUEL.js} +2 -2
- package/dist/web/assets/{info-SmuBZiE5.js → info-DYPIbKKD.js} +1 -1
- package/dist/web/assets/intake-contracts-wCkD2ErR.js +1 -0
- package/dist/web/assets/{jsonMode-B2N7W15Y.js → jsonMode-BoKiIdHd.js} +1 -1
- package/dist/web/assets/loader-circle-JFgFNsP5.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-DPmyOFVA.js → lspLanguageFeatures-CO2mzpy1.js} +1 -1
- package/dist/web/assets/{maximize-2-B8HN3jsA.js → maximize-2-DXZCQO0b.js} +1 -1
- package/dist/web/assets/{message-square-CrDvzn66.js → message-square-cOCAL8J1.js} +1 -1
- package/dist/web/assets/{monaco.contribution-CRdTg0FH.js → monaco.contribution-C7CAQIKF.js} +2 -2
- package/dist/web/assets/{monaco.contribution-BfOxF9PJ.js → monaco.contribution-CVe3mWSY.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DNONXznc.js → monaco.contribution-hrusiaZi.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DqqJBDzF.js → monaco.contribution-wacA5FjV.js} +2 -2
- package/dist/web/assets/{monitor-CW-M_aaj.js → monitor-B35XSAvn.js} +1 -1
- package/dist/web/assets/{paperclip-DL449Io5.js → paperclip-CKgDxioG.js} +1 -1
- package/dist/web/assets/{pdf-BCq2Oosd.js → pdf-Ct3M2mVw.js} +1 -1
- package/dist/web/assets/play-DzqLr7fM.js +1 -0
- package/dist/web/assets/plus-Ddp1vXnw.js +1 -0
- package/dist/web/assets/{ponder-desktop-Dm7tOkKo.js → ponder-desktop-D-zB6X4L.js} +1 -1
- package/dist/web/assets/{presentation-CupIXaYv.js → presentation-B0S9v7ib.js} +1 -1
- package/dist/web/assets/{profile-ref-DSNkG6Ol.js → profile-ref-CCxrOCio.js} +1 -1
- package/dist/web/assets/{python-DuGMr666.js → python-C0-pUUAU.js} +1 -1
- package/dist/web/assets/{refresh-cw-CzVf5_oo.js → refresh-cw-D45mW-vs.js} +1 -1
- package/dist/web/assets/{requests-BCbaFiqV.js → requests-DjSt-duM.js} +1 -1
- package/dist/web/assets/{reward-checks-Bcq9ETCA.js → reward-checks-D139zwha.js} +2 -2
- package/dist/web/assets/{save-DatjrYPV.js → save-Gu4R_82E.js} +1 -1
- package/dist/web/assets/schemas-C9IwV7NS.js +64 -0
- package/dist/web/assets/{settings-D7C-Auyi.js → settings-DdonLCIN.js} +1 -1
- package/dist/web/assets/settings-lists-CFHFtO0D.js +5 -0
- package/dist/web/assets/square-Dqduqyyu.js +1 -0
- package/dist/web/assets/{square-terminal-Buj-s-fz.js → square-terminal-DS3zwi6X.js} +1 -1
- package/dist/web/assets/{submit-issue-command-wfngGS6Y.js → submit-issue-command-Gk3RKrY-.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-cl0cw2QK.js → toggleHighContrast-BnYUBgZB.js} +1 -1
- package/dist/web/assets/training-QBuGBGJd.js +2 -0
- package/dist/web/assets/{training-model-data-CWnu1bz9.js → training-model-data-CxR3xpmK.js} +1 -1
- package/dist/web/assets/{tsMode-DLEc0PYL.js → tsMode-BVNyOY8h.js} +1 -1
- package/dist/web/assets/{upload-DaFVH6R1.js → upload-ABSJxuUM.js} +1 -1
- package/dist/web/assets/{useAccountSettings-ByxjI9BG.js → useAccountSettings-4_XfwJQi.js} +1 -1
- package/dist/web/assets/{useAgentInventory-Df64T07n.js → useAgentInventory-CVuamyT3.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-DNh_x9gQ.js → useLocalAgentSchedules-CmwN4ohy.js} +1 -1
- package/dist/web/assets/{useQuery-yUz7Ui8g.js → useQuery-CCjwL8VI.js} +1 -1
- package/dist/web/assets/{wifi-off-CtNwnIJc.js → wifi-off-DGJH7Pke.js} +1 -1
- package/dist/web/assets/{work-outputs-CK0nHe4g.js → work-outputs-CnbRtTLg.js} +1 -1
- package/dist/web/assets/{workers-CnqrOtic.js → workers-CjtQ2aBD.js} +1 -1
- package/dist/web/assets/x-B-_zJVOZ.js +1 -0
- package/dist/web/assets/{yaml-C9vtYV4w.js → yaml-N1KUjBZ8.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +7 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-2ZNW6GUU.js +0 -2
- package/dist/chunks/chunk-3MVKXAH7.js +0 -2
- package/dist/chunks/chunk-G4E3WGLM.js +0 -13
- package/dist/chunks/chunk-I3NYYOSS.js +0 -2
- package/dist/chunks/chunk-JBFPTEVE.js +0 -2
- package/dist/chunks/chunk-OW3EOC5Q.js +0 -4
- package/dist/chunks/chunk-SBQ6KLXB.js +0 -33
- package/dist/chunks/chunk-YBKDEEEH.js +0 -2
- package/dist/chunks/cli-TE7RP5H7.js +0 -2
- package/dist/chunks/command-NW6BGKOM.js +0 -13
- package/dist/chunks/dist-J4KHAVO3.js +0 -2
- package/dist/chunks/host-profile-evaluation-tools-75EPCRSZ.js +0 -2
- package/dist/chunks/hosted-harness-runtime-3AJGEIFD.js +0 -2
- package/dist/chunks/javascript-isolate-process-source-ZPQKKLR4.js +0 -2
- package/dist/chunks/javascript-verifier-worker-source-F3LSGPOY.js +0 -2
- package/dist/chunks/learning-NJLTGZFQ.js +0 -2
- package/dist/chunks/setup-TXEM2QSG.js +0 -2
- package/dist/chunks/training-hosted-checkpoint-evaluation-UXFW33QL.js +0 -2
- package/dist/chunks/training-hosted-report-UVGTPDOK.js +0 -2
- package/dist/chunks/training-hosted-serving-report-J4YOZLRP.js +0 -2
- package/dist/chunks/training-hosted-workers-6JTDCCWA.js +0 -2
- package/dist/web/assets/App-CNQi3RlI.js +0 -53
- package/dist/web/assets/AppTerminalPanel-DLz34eSs.js +0 -2
- package/dist/web/assets/AppsView-DkCMr67-.js +0 -1
- package/dist/web/assets/HostedModelLearningSettings-BYl-2j7B.js +0 -1
- package/dist/web/assets/LabsRoute-DJRgF1kQ.js +0 -101
- package/dist/web/assets/MainChatThread-gwmhe1Nw.js +0 -2
- package/dist/web/assets/MainPane-CqtgV9rU.js +0 -10
- package/dist/web/assets/NativeSetupTerminal-DrQldDsG.js +0 -2
- package/dist/web/assets/RightSidebarHomePanel-BDmIxvIm.js +0 -1
- package/dist/web/assets/WorkSidebarPanel-D3Ub_jVj.js +0 -1
- package/dist/web/assets/chat-resources-CTN4f6KC.js +0 -1
- package/dist/web/assets/chevron-right-CpbCIUFo.js +0 -1
- package/dist/web/assets/chunk-GJRXJL6G-pJp1DyJd.js +0 -9
- package/dist/web/assets/chunk-H3JZ3P5T-B0SCoPw4.js +0 -2
- package/dist/web/assets/chunk-TLSP5JKG-DZmxtX-4.js +0 -1
- package/dist/web/assets/contracts-BLiqJxBv.js +0 -1
- package/dist/web/assets/icons-B8_Rkg-l.js +0 -1
- package/dist/web/assets/intake-contracts-BW0Y0C2R.js +0 -1
- package/dist/web/assets/loader-circle-D_KVxLLz.js +0 -1
- package/dist/web/assets/play-DYLqBrwg.js +0 -1
- package/dist/web/assets/plus-DXZIpQuY.js +0 -1
- package/dist/web/assets/schemas-lO3MoWQr.js +0 -64
- package/dist/web/assets/settings-lists-D2ol3uNK.js +0 -5
- package/dist/web/assets/square-BWB1nbZF.js +0 -1
- package/dist/web/assets/training-DCdoHJ0Y.js +0 -2
- package/dist/web/assets/x-Bhl-4Zlt.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as pc,b as mc,c as pi,d as mi}from"./chunk-EVQISX7M.js";import{A as Wd,B as Ud,C as co,D as zd,E as ii,F as Kd,G as Vd,H as Jd,I as Gd,J as Xd,K as Qd,L as ai,N as gc,d as hd,e as wd,f as bd,g as vd,h as yd,i as kd,j as Sd,k as vr,l as oi,m as ri,n as Ed,o as Od,p as Md,q as si,r as Nd,s as jd,t as Fd,u as qd,w as Ir,y as Bd,z as lo}from"./chunk-66HFW4OU.js";import{a as bc,b as yt,c as vc,d as an}from"./chunk-RHMULF56.js";import{b as pt,c as Ad,d as ni}from"./chunk-AN525SPP.js";import{k as wr}from"./chunk-WBO6FQHR.js";import{b as fc}from"./chunk-UOFDKMRU.js";import{A as ci,C as sc,F as cc,G as uc,I as Dt,K as Jn,b as dl,c as cl,e as br,f as cd,p as xn,r as pd,t as md,u as fd,w as Id,x as Rd,y as Hd,z as Kn}from"./chunk-6I5AUTVO.js";import{f as ud}from"./chunk-ZU3YBRXS.js";import{a as wc}from"./chunk-N73MU2C3.js";import{a as ac,b as lc,d as dc}from"./chunk-FAKDGLZQ.js";import{c as hc}from"./chunk-GW766ZSO.js";import{a as ei,c as dd,i as zn}from"./chunk-MCBRB5D6.js";import{c as uo,e as ic,f as po}from"./chunk-JD76ANPN.js";import{a as gd}from"./chunk-7KWD2I6W.js";import{B as Dl}from"./chunk-4TTXNVCE.js";import{d as ti,k as _d}from"./chunk-HNDAGZCF.js";import{B as Cd,b as Z,j as xd,s as Td,t as Pd}from"./chunk-YU3C6U5V.js";import{h as ui}from"./chunk-OPTJYDZN.js";import{a as ao}from"./chunk-KVTBX2UP.js";import{a as Y,b as se,d as L}from"./chunk-BJXPQIVD.js";import{E as nc,F as oc,I as di,N as sn,O as rc,c as Dd,d as yr,e as kr,f as Sr,g as Vn,h as Ld,j as Yd,k as li,l as Zd,q as tc}from"./chunk-GFAI2MCJ.js";import{a as $d}from"./chunk-DMFUEUAZ.js";import{a as Rr,d as ec,e as xr}from"./chunk-GF55VEMR.js";import{$ as gr,Ac as ad,Bc as Zs,Cc as ld,Jb as hr,K as Xl,M as Vs,Mb as td,Nb as Xs,Ob as nd,P as Ht,Pb as od,Sb as Un,T as Ql,Tb as vt,Ub as rd,c as Vl,d as Jl,g as Gl,ha as Yl,ia as ge,ib as Gs,ja as rn,jc as sd,kc as Qs,lc as id,ma as Zl,na as ct,oc as Ys,pc as ut,qa as Js,ra as ed,u as on}from"./chunk-MVPKU72J.js";import{a as jl,c as Fl,g as ql,h as $l,k as Hs,m as Hl,n as Ds}from"./chunk-OQPJ7FJF.js";import{c as mr,e as Nl,m as Ls,n as Ll,o as Bl}from"./chunk-WJSJXK2N.js";import{B as Ks,C as Ul,D as zl,E as Kl,r as Bs,w as zs,y as Wl}from"./chunk-SBQ6KLXB.js";import{b as fr,c as Us}from"./chunk-O6ZYDHEJ.js";import{G as Ws}from"./chunk-OKKNDQJF.js";import{X as ul,x as sr}from"./chunk-ZY32SZ2P.js";import{C as xl,E as _l,F as Al,c as so,e as fl,f as ir,fa as El,ha as Ol,ia as Ml,v as cr,x as ur}from"./chunk-SH7POUVX.js";import{A as yl,B as In,C as Rn,E as ar,I as $s,J as kl,L as Sl,O as lr,V as Il,W as dr,X as io,Z as Rl,c as gl,f as hl,h as wl,j as bl,w as vl,y as et,z as ye}from"./chunk-2MEOUS24.js";import{e as al,f as ll}from"./chunk-HNQPEOJD.js";import{l as Fs,m as kn,n as Ue}from"./chunk-RCT3O3HQ.js";import{A as P}from"./chunk-X2J2P5ZT.js";import{b as pl,c as Wn,e as ml,f as nn,h as Sn,i as qs,r as Tl,s as Pl,t as pr,u as Cl}from"./chunk-UGOK7VTC.js";import{a as r}from"./chunk-FTQLQJQV.js";function yc(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(yc,"lazyRuntimeService");function Sc(e){let t=Fg();for(let n of e)t.accept(n);return t.values()}r(Sc,"activeFileOutputRefs");function Fg(e=Number.POSITIVE_INFINITY){let t=new Map,n=new Set;function o(s){let i=Tn(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=kc(a);n.add(l),t.delete(l)}return}if(s.action!=="work_output_read")for(let a of i){let l=kc(a);n.has(l)||t.set(l,a)}}return r(o,"accept"),{accept:o,values:r(()=>[...t.values()],"values")}}r(Fg,"createOutputReferenceAccumulator");function kc(e){return`${e.sourceTaskId}:${e.id}:${e.revision}`}r(kc,"fileOutputRevisionKey");function Tn(e,t=0){if(t>8||e==null)return[];let n=rn.safeParse(e);if(n.success)return[n.data];if(Array.isArray(e))return e.flatMap(s=>Tn(s,t+1));let o=qg(e);return Object.values(o).flatMap(s=>Tn(s,t+1))}r(Tn,"fileOutputRefs");function qg(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}r(qg,"asRecord");import{createHash as fo,randomUUID as xc}from"node:crypto";import{promises as nt}from"node:fs";import Ie from"node:path";function mo(e){return!!(e.experience==="work"&&!e.workspaceKind&&!e.localProjectId&&!e.cloudProjectId&&e.metadata?.workspaceTarget==="local"&&e.cwd)}r(mo,"isManagedLocalWorkSession");function cS(e){let t=Ie.join(e.storeDir,"work","outputs"),n=e.sandboxRequest??wr;async function o(w){let S=Tr(w.suggestedName);if(w.bytes.byteLength>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let E=Js[Ie.extname(S).toLowerCase()];if(!E)throw new Error(`${S} is not an advertised Work output format. Save it as a supported file type or keep it in scratch space.`);let k=Lg({bytes:w.bytes,contentType:E,title:S,supplied:w.validation,policy:w.validationPolicy}),T=await Ic({runtimeEventsForSession:e.runtimeEventsForSession,sessionId:w.session.id,title:S,...e.managedPersistence?{firstId:`hosted-${fo("sha256").update(`${w.session.id}\0${S}`).digest("hex")}`}:{}});if(e.managedPersistence){let y=await e.managedPersistence.sourceTurnStartedAt(w.session.id,w.sourceTurnId),f={id:T.id,title:S,contentType:E,sizeBytes:w.bytes.byteLength,sha256:fo("sha256").update(w.bytes).digest("hex"),sourceTaskId:w.session.id,sourceTurnId:w.sourceTurnId,revision:T.revision,createdAt:new Date(y).toISOString(),validation:k};return e.managedPersistence.save({sessionId:w.session.id,turnId:w.sourceTurnId,identity:f,bytes:w.bytes})}let g=Ie.join(t,Pr(w.session.id));await nt.mkdir(g,{recursive:!0,mode:448});let p=Ie.join(g,`${String(T.revision).padStart(3,"0")}-${Pr(T.id)}-${S}`),I=Ie.join(g,`.${Ie.basename(p)}.${xc()}.tmp`);await nt.writeFile(I,w.bytes,{mode:384,flag:"wx"});try{await nt.rename(I,p)}catch(y){throw await nt.rm(I,{force:!0}),y}return{outputRef:rn.parse({kind:"file",id:T.id,title:S,contentType:E,sizeBytes:w.bytes.byteLength,sha256:fo("sha256").update(w.bytes).digest("hex"),sourceTaskId:w.session.id,sourceTurnId:w.sourceTurnId,revision:T.revision,createdAt:new Date().toISOString(),location:{kind:"local",path:p,deviceId:e.deviceId},validation:k}),artifact:{artifactRef:p,path:p,title:S,contentType:E,sizeBytes:w.bytes.byteLength}}}r(o,"persistWorkOutputBytes");async function s(w){if(w.session.experience!=="work")throw new Error("Only Work tasks can save Work outputs.");if(w.session.workspaceKind!=="sandbox"||!w.session.workspaceId)throw new Error("A running Work sandbox is required to save an output.");let S=zg(w.sandboxPath),E=Gn(await n({type:"download_file",sandboxId:w.session.workspaceId,payload:{path:S,maxBytes:ct}})),k=Gn(E.file);if(k.truncated===!0)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let T=typeof k.contentsBase64=="string"?k.contentsBase64:"";if(!T)throw new Error("Sandbox output download did not return file contents.");let g=Buffer.from(T,"base64"),p=Rc(k.totalSizeBytes)??Rc(k.sizeBytes);if(g.byteLength>ct||p!==null&&p>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);if(p!==null&&g.byteLength!==p)throw new Error("Sandbox output download was incomplete.");return o({session:w.session,sourceTurnId:w.sourceTurnId,suggestedName:w.suggestedName||Ie.posix.basename(S),bytes:g,validation:w.validation??[],validationPolicy:w.validationPolicy??"strict"})}r(s,"saveWorkOutput");async function i(w){if(!mo(w.session)||!w.session.cwd)throw new Error("A managed local Work task is required to save a local output.");let S=await nt.realpath(w.session.cwd),E=Ie.isAbsolute(w.localPath)?Ie.resolve(w.localPath):Ie.resolve(S,w.localPath),k=await nt.realpath(E);if(!Tc(S,k))throw new Error("Local Work outputs must stay inside the managed task workspace.");let T=await nt.stat(k);if(!T.isFile())throw new Error("A local Work output must be a file.");if(T.size>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let g=await nt.readFile(k);return o({session:w.session,sourceTurnId:w.sourceTurnId,suggestedName:w.suggestedName??Ie.basename(k),bytes:g,validation:[],validationPolicy:"preserve"})}r(i,"saveLocalWorkOutput");async function a(w){if(mo(w.session))return l(w);if(w.session.experience!=="work"||w.session.workspaceKind!=="sandbox"||!w.session.workspaceId)return[];let S=Gn(await n({type:"list_files",sandboxId:w.session.workspaceId,payload:{path:"outputs",recursive:!0,maxEntries:500}})),E=Array.isArray(S.files)?S.files:[],k=await e.runtimeEventsForSession(w.session.id),T=new Set(Tn(k).filter(p=>p.sourceTurnId===w.sourceTurnId).map(p=>p.title)),g=[];for(let p of E){let I=Gn(p);if(I.type!=="file"||typeof I.path!="string")continue;let v=I.path.replace(/^\/workspace\//,""),y=Tr(Ie.posix.basename(v));if(!T.has(y)){if(e.managedPersistence){let f=await Ic({runtimeEventsForSession:e.runtimeEventsForSession,sessionId:w.session.id,title:y,firstId:`hosted-${fo("sha256").update(`${w.session.id}\0${y}`).digest("hex")}`}),A=await e.managedPersistence.sourceTurnStartedAt(w.session.id,w.sourceTurnId);g.push(await e.managedPersistence.saveSandboxFile({sessionId:w.session.id,turnId:w.sourceTurnId,identity:{id:f.id,title:y,sourceTaskId:w.session.id,sourceTurnId:w.sourceTurnId,revision:f.revision,createdAt:new Date(A).toISOString(),validation:[]},sandboxPath:v}))}else g.push(await s({session:w.session,sourceTurnId:w.sourceTurnId,sandboxPath:v,suggestedName:y,validationPolicy:"preserve"}));T.add(y)}}return g}r(a,"saveAllWorkOutputs");async function l(w){if(!w.session.cwd)return[];let S=await e.runtimeEventsForSession(w.session.id),E=S.filter(p=>p.turnId===w.sourceTurnId&&p.name==="assistant.delta"&&typeof p.output=="string").map(p=>p.output??"").join(""),k=await $g({assistantText:E,workspaceRoot:w.session.cwd,declaredPaths:w.session.metadata?.profileEvaluationRun!==void 0?P.array(ul).max(1e3).parse(w.session.metadata.profileEvaluationOutputs??[]).map(p=>p.path):[]}),T=new Set(Tn(S).filter(p=>p.sourceTurnId===w.sourceTurnId).map(p=>p.title)),g=[];for(let p of k){let I=Tr(Ie.basename(p));T.has(I)||(g.push(await i({session:w.session,sourceTurnId:w.sourceTurnId,localPath:p,suggestedName:I})),T.add(I))}return g}r(l,"saveReferencedLocalWorkOutputs");async function u(w){if(w.experience!=="work")return[];let S=await e.runtimeEventsForSession(w.id),E=new Map;for(let k of Tn(S)){if(k.location.kind!=="local")continue;let T=E.get(k.title);(!T||k.revision>T.revision)&&E.set(k.title,k)}return[...E.values()].map(k=>({localPath:k.location.kind==="local"?k.location.path:"",storageName:`${Pr(k.id)}-${Tr(k.title)}`,sha256:k.sha256,sizeBytes:k.sizeBytes}))}r(u,"workInputsForSession");async function c(w){let S=await Promise.all(w.filter(E=>E.experience==="work").map(async E=>Sc(await e.runtimeEventsForSession(E.id))));return Zl.parse({outputs:S.flat().sort((E,k)=>k.createdAt.localeCompare(E.createdAt))})}r(c,"listWorkOutputs");async function h(w){if(w.session.experience!=="work")throw new Error("Only Work tasks can access Work outputs.");let S=w.outputId.trim();if(!S)throw new Error("A Work output id is required.");let E=await e.runtimeEventsForSession(w.session.id),k=gi(E,S,w.revision);if(!k)throw new Error("Work output not found.");return d(w.session,k)}r(h,"resolveLocalOutput");function d(w,S){if(w.experience!=="work"||S.sourceTaskId!==w.id||S.location.kind!=="local")throw new Error("This Work output is not stored on this device.");let E=Ie.resolve(t,Pr(w.id)),k=Ie.resolve(S.location.path);if(k===E||!k.startsWith(`${E}${Ie.sep}`))throw new Error("Work output path is outside managed local storage.");return{outputRef:S,target:k}}r(d,"localOutputTarget");async function m(w){let{outputRef:S,target:E}=await h(w),k=await nt.rm(E).then(()=>!0).catch(T=>{if(T.code==="ENOENT")return!1;throw T});return{outputRef:S,deleted:k}}r(m,"deleteWorkOutput");async function b(w){let{outputRef:S}=await h(w);return x(w.session,S)}r(b,"readWorkOutput");async function x(w,S){let{target:E}=d(w,S),k=await nt.stat(E);if(k.size>ct||k.size!==S.sizeBytes)throw new Error("The saved Work output no longer matches its OutputRef.");let T=await nt.readFile(E);if(T.byteLength>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let g=fo("sha256").update(T).digest("hex");if(T.byteLength!==S.sizeBytes||g!==S.sha256)throw new Error("The saved Work output no longer matches its OutputRef.");return{outputRef:S,contentsBase64:T.toString("base64")}}return r(x,"readQualifiedWorkOutput"),{outputRoot:t,deleteWorkOutput:m,listWorkOutputs:c,readWorkOutput:b,readQualifiedWorkOutput:x,saveAllWorkOutputs:a,saveLocalWorkOutput:i,saveOwnedOutputBytes:o,saveWorkOutput:s,workInputsForSession:u}}r(cS,"createWorkOutputService");async function $g(e){let t=await nt.realpath(e.workspaceRoot),n=new Set;for(let o of[...e.declaredPaths??[],...Hg(e.assistantText)]){let s=Dg(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(Tc(t,a)&&Js[Ie.extname(a).toLowerCase()]&&(n.add(a),n.size>=100))break}return[...n]}r($g,"resolveReferencedLocalFiles");function Hg(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(Hg,"markdownLinkTargets");function Dg(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(Dg,"normalizeLocalFileReference");function Tc(e,t){let n=Ie.relative(e,t);return n!==""&&n!==".."&&!n.startsWith(`..${Ie.sep}`)&&!Ie.isAbsolute(n)}r(Tc,"isPathInside");function Lg(e){let t=ed(e.contentType);if(!t)return e.supplied;let n=Bg(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(Lg,"validateWorkOutput");function Bg(e){let t=Wg(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(Bg,"structuralValidation");function Wg(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=Ug(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(Wg,"structuralContentMatches");function Ug(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(Ug,"zipCentralDirectoryEntries");function zg(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(zg,"normalizeOutputCandidatePath");async function Ic(e){let t=await e.runtimeEventsForSession(e.sessionId),n=null;for(let o of t){let s=fi(o.data);s?.kind!=="file"||s.title!==e.title||(!n||s.revision>n.revision)&&(n=s)}return{id:n?.id??e.firstId??xc(),revision:(n?.revision??0)+1}}r(Ic,"nextOutputIdentity");function fi(e,t=0){if(t>6||e==null)return null;let n=rn.safeParse(e);if(n.success)return n.data;if(Array.isArray(e)){for(let s of e){let i=fi(s,t+1);if(i)return i}return null}let o=Gn(e);for(let s of Object.values(o)){let i=fi(s,t+1);if(i)return i}return null}r(fi,"findOutputRef");function gi(e,t,n,o=0){if(o>8||e==null)return null;let s=rn.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=gi(u,t,n,o+1);c&&(!l||c.revision>l.revision)&&(l=c)}return l}let i=Gn(e),a=null;for(let l of Object.values(i)){let u=gi(l,t,n,o+1);u&&(!a||u.revision>a.revision)&&(a=u)}return a}r(gi,"findOutputRefById");function Tr(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(Tr,"safeOutputName");function Pr(e){return e.replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,100)||"item"}r(Pr,"safePathSegment");function Gn(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}r(Gn,"asRecord");function Rc(e){return typeof e=="number"&&Number.isFinite(e)?e:null}r(Rc,"numberValue");import{promises as Cr}from"node:fs";import Kg from"node:path";async function Pc(e,t,n=Date.now()){let o=[];for(let i of await Cr.readdir(e,{withFileTypes:!0})){if(!i.isFile()||!/\.log(?:\.\d+)?$/.test(i.name))continue;let a=Kg.join(e,i.name),l=await Cr.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 Cr.lstat(i.file).catch(()=>null);a?.isFile()&&a.size===i.size&&a.mtimeMs===i.modified&&(await Cr.rm(i.file,{force:!0}),s-=i.size)}}r(Pc,"pruneLogs");import{promises as go}from"node:fs";import Vg from"node:path";var Cc=1024*1024,Jg=5,hi=/authorization|api[_-]?key|token|session[_-]?token|secret|password/i,Gg=/Bearer\s+[A-Za-z0-9._~+/-]+=*/gi,Xg=/\b(?:https?|wss?):\/\/[^\s"'<>]+/gi;function Qg(e){return{name:e.name,message:e.message,stack:e.stack}}r(Qg,"serializeError");function _r(e){if(e instanceof Error)return _r(Qg(e));if(typeof e=="string")return Yg(e);if(Array.isArray(e))return e.map(n=>_r(n));if(!e||typeof e!="object")return e;let t={};for(let[n,o]of Object.entries(e))t[n]=hi.test(n)?"[REDACTED]":_r(o);return t}r(_r,"redact");async function _c(e,t){try{await go.rm(t,{force:!0}),await go.rename(e,t)}catch(n){if(n.code!=="ENOENT")throw n}}r(_c,"renameIfExists");function Yg(e){return e.replace(Gg,"Bearer [REDACTED]").replace(Xg,t=>Zg(t))}r(Yg,"redactString");function Zg(e){let{url:t,suffix:n}=eh(e);try{let o=new URL(t);return(o.username||o.password)&&(o.username="[REDACTED]",o.password="[REDACTED]"),Ac(o.searchParams),o.hash&&(o.hash=th(o.hash.slice(1))),`${o.toString()}${n}`}catch{return e}}r(Zg,"redactUrl");function eh(e){let t=e,n="";for(;/[),.;!?]$/.test(t);)n=`${t.slice(-1)}${n}`,t=t.slice(0,-1);return{url:t,suffix:n}}r(eh,"splitUrlSuffix");function Ac(e){for(let t of Array.from(e.keys()))hi.test(t)&&e.set(t,"[REDACTED]")}r(Ac,"redactSearchParams");function th(e){if(!e.includes("="))return hi.test(e)?"[REDACTED]":e;let t=new URLSearchParams(e.startsWith("?")?e.slice(1):e);return Ac(t),t.toString()}r(th,"redactHash");function yS(e){let t=e.maxBytes??Cc,n=e.maxFiles??Jg,o=Vg.join(e.logDir,e.filename??`${e.channel}.log`),s=Promise.resolve(),i=0;async function a(u){let c=0;try{c=(await go.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 _c(`${o}.${h}`,`${o}.${h+1}`);await _c(o,`${o}.1`)}}r(a,"rotateIfNeeded");function l(u,c,h={}){let d={ts:new Date().toISOString(),level:u,channel:e.channel,message:c,pid:process.pid,platform:process.platform,...e.metadata??{},...h},m=`${JSON.stringify(_r(d))}
|
|
2
|
+
import{a as pc,b as mc,c as pi,d as mi}from"./chunk-RWRKUO5D.js";import{A as Wd,B as Ud,C as co,D as zd,E as ii,F as Kd,G as Vd,H as Jd,I as Gd,J as Xd,K as Qd,L as ai,N as gc,d as hd,e as wd,f as bd,g as vd,h as yd,i as kd,j as Sd,k as vr,l as oi,m as ri,n as Ed,o as Od,p as Md,q as si,r as Nd,s as jd,t as Fd,u as qd,w as Ir,y as Bd,z as lo}from"./chunk-4VZJQRQI.js";import{a as bc,b as yt,c as vc,d as an}from"./chunk-RHMULF56.js";import{b as pt,c as Ad,d as ni}from"./chunk-AN525SPP.js";import{k as wr}from"./chunk-IXZ5ZGIL.js";import{b as fc}from"./chunk-UOFDKMRU.js";import{A as ci,C as sc,F as cc,G as uc,I as Dt,K as Jn,b as dl,c as cl,e as br,f as cd,p as xn,r as pd,t as md,u as fd,w as Id,x as Rd,y as Hd,z as Kn}from"./chunk-6I5AUTVO.js";import{f as ud}from"./chunk-CSU7RDA5.js";import{a as wc}from"./chunk-N73MU2C3.js";import{a as ac,b as lc,d as dc}from"./chunk-FAKDGLZQ.js";import{c as hc}from"./chunk-GW766ZSO.js";import{a as ei,c as dd,i as zn}from"./chunk-MCBRB5D6.js";import{c as uo,e as ic,f as po}from"./chunk-JD76ANPN.js";import{a as gd}from"./chunk-7KWD2I6W.js";import{B as Dl}from"./chunk-4TTXNVCE.js";import{d as ti,k as _d}from"./chunk-HNDAGZCF.js";import{B as Cd,b as Z,j as xd,s as Td,t as Pd}from"./chunk-YU3C6U5V.js";import{h as ui}from"./chunk-OPTJYDZN.js";import{a as ao}from"./chunk-KVTBX2UP.js";import{a as Y,b as se,d as L}from"./chunk-BJXPQIVD.js";import{E as nc,F as oc,I as di,N as sn,O as rc,c as Dd,d as yr,e as kr,f as Sr,g as Vn,h as Ld,j as Yd,k as li,l as Zd,q as tc}from"./chunk-RS526BG7.js";import{a as $d}from"./chunk-DMFUEUAZ.js";import{a as Rr,d as ec,e as xr}from"./chunk-GF55VEMR.js";import{$ as gr,Ac as ad,Bc as Zs,Cc as ld,Jb as hr,K as Xl,M as Vs,Mb as td,Nb as Xs,Ob as nd,P as Ht,Pb as od,Sb as Un,T as Ql,Tb as vt,Ub as rd,c as Vl,d as Jl,g as Gl,ha as Yl,ia as ge,ib as Gs,ja as rn,jc as sd,kc as Qs,lc as id,ma as Zl,na as ct,oc as Ys,pc as ut,qa as Js,ra as ed,u as on}from"./chunk-CJDGLPNX.js";import{a as jl,c as Fl,g as ql,h as $l,k as Hs,m as Hl,n as Ds}from"./chunk-OQPJ7FJF.js";import{c as mr,e as Nl,m as Ls,n as Ll,o as Bl}from"./chunk-WJSJXK2N.js";import{A as Wl,D as Ks,E as Ul,F as zl,G as Kl,s as Bs,y as zs}from"./chunk-V3T2OJBZ.js";import{b as fr,c as Us}from"./chunk-O6ZYDHEJ.js";import{G as Ws}from"./chunk-OKKNDQJF.js";import{X as ul,x as sr}from"./chunk-ZY32SZ2P.js";import{C as xl,E as _l,F as Al,c as so,e as fl,f as ir,fa as El,ha as Ol,ia as Ml,v as cr,x as ur}from"./chunk-SH7POUVX.js";import{A as yl,B as In,C as Rn,E as ar,I as $s,J as kl,L as Sl,O as lr,V as Il,W as dr,X as io,Z as Rl,c as gl,f as hl,h as wl,j as bl,w as vl,y as et,z as ye}from"./chunk-2MEOUS24.js";import{e as al,f as ll}from"./chunk-HNQPEOJD.js";import{l as Fs,m as kn,n as Ue}from"./chunk-RCT3O3HQ.js";import{A as P}from"./chunk-X2J2P5ZT.js";import{b as pl,c as Wn,e as ml,f as nn,h as Sn,i as qs,r as Tl,s as Pl,t as pr,u as Cl}from"./chunk-UGOK7VTC.js";import{a as r}from"./chunk-FTQLQJQV.js";function yc(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(yc,"lazyRuntimeService");function Sc(e){let t=Fg();for(let n of e)t.accept(n);return t.values()}r(Sc,"activeFileOutputRefs");function Fg(e=Number.POSITIVE_INFINITY){let t=new Map,n=new Set;function o(s){let i=Tn(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=kc(a);n.add(l),t.delete(l)}return}if(s.action!=="work_output_read")for(let a of i){let l=kc(a);n.has(l)||t.set(l,a)}}return r(o,"accept"),{accept:o,values:r(()=>[...t.values()],"values")}}r(Fg,"createOutputReferenceAccumulator");function kc(e){return`${e.sourceTaskId}:${e.id}:${e.revision}`}r(kc,"fileOutputRevisionKey");function Tn(e,t=0){if(t>8||e==null)return[];let n=rn.safeParse(e);if(n.success)return[n.data];if(Array.isArray(e))return e.flatMap(s=>Tn(s,t+1));let o=qg(e);return Object.values(o).flatMap(s=>Tn(s,t+1))}r(Tn,"fileOutputRefs");function qg(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}r(qg,"asRecord");import{createHash as fo,randomUUID as xc}from"node:crypto";import{promises as nt}from"node:fs";import Ie from"node:path";function mo(e){return!!(e.experience==="work"&&!e.workspaceKind&&!e.localProjectId&&!e.cloudProjectId&&e.metadata?.workspaceTarget==="local"&&e.cwd)}r(mo,"isManagedLocalWorkSession");function cS(e){let t=Ie.join(e.storeDir,"work","outputs"),n=e.sandboxRequest??wr;async function o(w){let S=Tr(w.suggestedName);if(w.bytes.byteLength>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let E=Js[Ie.extname(S).toLowerCase()];if(!E)throw new Error(`${S} is not an advertised Work output format. Save it as a supported file type or keep it in scratch space.`);let k=Lg({bytes:w.bytes,contentType:E,title:S,supplied:w.validation,policy:w.validationPolicy}),T=await Ic({runtimeEventsForSession:e.runtimeEventsForSession,sessionId:w.session.id,title:S,...e.managedPersistence?{firstId:`hosted-${fo("sha256").update(`${w.session.id}\0${S}`).digest("hex")}`}:{}});if(e.managedPersistence){let y=await e.managedPersistence.sourceTurnStartedAt(w.session.id,w.sourceTurnId),f={id:T.id,title:S,contentType:E,sizeBytes:w.bytes.byteLength,sha256:fo("sha256").update(w.bytes).digest("hex"),sourceTaskId:w.session.id,sourceTurnId:w.sourceTurnId,revision:T.revision,createdAt:new Date(y).toISOString(),validation:k};return e.managedPersistence.save({sessionId:w.session.id,turnId:w.sourceTurnId,identity:f,bytes:w.bytes})}let g=Ie.join(t,Pr(w.session.id));await nt.mkdir(g,{recursive:!0,mode:448});let p=Ie.join(g,`${String(T.revision).padStart(3,"0")}-${Pr(T.id)}-${S}`),I=Ie.join(g,`.${Ie.basename(p)}.${xc()}.tmp`);await nt.writeFile(I,w.bytes,{mode:384,flag:"wx"});try{await nt.rename(I,p)}catch(y){throw await nt.rm(I,{force:!0}),y}return{outputRef:rn.parse({kind:"file",id:T.id,title:S,contentType:E,sizeBytes:w.bytes.byteLength,sha256:fo("sha256").update(w.bytes).digest("hex"),sourceTaskId:w.session.id,sourceTurnId:w.sourceTurnId,revision:T.revision,createdAt:new Date().toISOString(),location:{kind:"local",path:p,deviceId:e.deviceId},validation:k}),artifact:{artifactRef:p,path:p,title:S,contentType:E,sizeBytes:w.bytes.byteLength}}}r(o,"persistWorkOutputBytes");async function s(w){if(w.session.experience!=="work")throw new Error("Only Work tasks can save Work outputs.");if(w.session.workspaceKind!=="sandbox"||!w.session.workspaceId)throw new Error("A running Work sandbox is required to save an output.");let S=zg(w.sandboxPath),E=Gn(await n({type:"download_file",sandboxId:w.session.workspaceId,payload:{path:S,maxBytes:ct}})),k=Gn(E.file);if(k.truncated===!0)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let T=typeof k.contentsBase64=="string"?k.contentsBase64:"";if(!T)throw new Error("Sandbox output download did not return file contents.");let g=Buffer.from(T,"base64"),p=Rc(k.totalSizeBytes)??Rc(k.sizeBytes);if(g.byteLength>ct||p!==null&&p>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);if(p!==null&&g.byteLength!==p)throw new Error("Sandbox output download was incomplete.");return o({session:w.session,sourceTurnId:w.sourceTurnId,suggestedName:w.suggestedName||Ie.posix.basename(S),bytes:g,validation:w.validation??[],validationPolicy:w.validationPolicy??"strict"})}r(s,"saveWorkOutput");async function i(w){if(!mo(w.session)||!w.session.cwd)throw new Error("A managed local Work task is required to save a local output.");let S=await nt.realpath(w.session.cwd),E=Ie.isAbsolute(w.localPath)?Ie.resolve(w.localPath):Ie.resolve(S,w.localPath),k=await nt.realpath(E);if(!Tc(S,k))throw new Error("Local Work outputs must stay inside the managed task workspace.");let T=await nt.stat(k);if(!T.isFile())throw new Error("A local Work output must be a file.");if(T.size>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let g=await nt.readFile(k);return o({session:w.session,sourceTurnId:w.sourceTurnId,suggestedName:w.suggestedName??Ie.basename(k),bytes:g,validation:[],validationPolicy:"preserve"})}r(i,"saveLocalWorkOutput");async function a(w){if(mo(w.session))return l(w);if(w.session.experience!=="work"||w.session.workspaceKind!=="sandbox"||!w.session.workspaceId)return[];let S=Gn(await n({type:"list_files",sandboxId:w.session.workspaceId,payload:{path:"outputs",recursive:!0,maxEntries:500}})),E=Array.isArray(S.files)?S.files:[],k=await e.runtimeEventsForSession(w.session.id),T=new Set(Tn(k).filter(p=>p.sourceTurnId===w.sourceTurnId).map(p=>p.title)),g=[];for(let p of E){let I=Gn(p);if(I.type!=="file"||typeof I.path!="string")continue;let v=I.path.replace(/^\/workspace\//,""),y=Tr(Ie.posix.basename(v));if(!T.has(y)){if(e.managedPersistence){let f=await Ic({runtimeEventsForSession:e.runtimeEventsForSession,sessionId:w.session.id,title:y,firstId:`hosted-${fo("sha256").update(`${w.session.id}\0${y}`).digest("hex")}`}),A=await e.managedPersistence.sourceTurnStartedAt(w.session.id,w.sourceTurnId);g.push(await e.managedPersistence.saveSandboxFile({sessionId:w.session.id,turnId:w.sourceTurnId,identity:{id:f.id,title:y,sourceTaskId:w.session.id,sourceTurnId:w.sourceTurnId,revision:f.revision,createdAt:new Date(A).toISOString(),validation:[]},sandboxPath:v}))}else g.push(await s({session:w.session,sourceTurnId:w.sourceTurnId,sandboxPath:v,suggestedName:y,validationPolicy:"preserve"}));T.add(y)}}return g}r(a,"saveAllWorkOutputs");async function l(w){if(!w.session.cwd)return[];let S=await e.runtimeEventsForSession(w.session.id),E=S.filter(p=>p.turnId===w.sourceTurnId&&p.name==="assistant.delta"&&typeof p.output=="string").map(p=>p.output??"").join(""),k=await $g({assistantText:E,workspaceRoot:w.session.cwd,declaredPaths:w.session.metadata?.profileEvaluationRun!==void 0?P.array(ul).max(1e3).parse(w.session.metadata.profileEvaluationOutputs??[]).map(p=>p.path):[]}),T=new Set(Tn(S).filter(p=>p.sourceTurnId===w.sourceTurnId).map(p=>p.title)),g=[];for(let p of k){let I=Tr(Ie.basename(p));T.has(I)||(g.push(await i({session:w.session,sourceTurnId:w.sourceTurnId,localPath:p,suggestedName:I})),T.add(I))}return g}r(l,"saveReferencedLocalWorkOutputs");async function u(w){if(w.experience!=="work")return[];let S=await e.runtimeEventsForSession(w.id),E=new Map;for(let k of Tn(S)){if(k.location.kind!=="local")continue;let T=E.get(k.title);(!T||k.revision>T.revision)&&E.set(k.title,k)}return[...E.values()].map(k=>({localPath:k.location.kind==="local"?k.location.path:"",storageName:`${Pr(k.id)}-${Tr(k.title)}`,sha256:k.sha256,sizeBytes:k.sizeBytes}))}r(u,"workInputsForSession");async function c(w){let S=await Promise.all(w.filter(E=>E.experience==="work").map(async E=>Sc(await e.runtimeEventsForSession(E.id))));return Zl.parse({outputs:S.flat().sort((E,k)=>k.createdAt.localeCompare(E.createdAt))})}r(c,"listWorkOutputs");async function h(w){if(w.session.experience!=="work")throw new Error("Only Work tasks can access Work outputs.");let S=w.outputId.trim();if(!S)throw new Error("A Work output id is required.");let E=await e.runtimeEventsForSession(w.session.id),k=gi(E,S,w.revision);if(!k)throw new Error("Work output not found.");return d(w.session,k)}r(h,"resolveLocalOutput");function d(w,S){if(w.experience!=="work"||S.sourceTaskId!==w.id||S.location.kind!=="local")throw new Error("This Work output is not stored on this device.");let E=Ie.resolve(t,Pr(w.id)),k=Ie.resolve(S.location.path);if(k===E||!k.startsWith(`${E}${Ie.sep}`))throw new Error("Work output path is outside managed local storage.");return{outputRef:S,target:k}}r(d,"localOutputTarget");async function m(w){let{outputRef:S,target:E}=await h(w),k=await nt.rm(E).then(()=>!0).catch(T=>{if(T.code==="ENOENT")return!1;throw T});return{outputRef:S,deleted:k}}r(m,"deleteWorkOutput");async function b(w){let{outputRef:S}=await h(w);return x(w.session,S)}r(b,"readWorkOutput");async function x(w,S){let{target:E}=d(w,S),k=await nt.stat(E);if(k.size>ct||k.size!==S.sizeBytes)throw new Error("The saved Work output no longer matches its OutputRef.");let T=await nt.readFile(E);if(T.byteLength>ct)throw new Error(`Work output exceeds the ${ct.toLocaleString()} byte limit.`);let g=fo("sha256").update(T).digest("hex");if(T.byteLength!==S.sizeBytes||g!==S.sha256)throw new Error("The saved Work output no longer matches its OutputRef.");return{outputRef:S,contentsBase64:T.toString("base64")}}return r(x,"readQualifiedWorkOutput"),{outputRoot:t,deleteWorkOutput:m,listWorkOutputs:c,readWorkOutput:b,readQualifiedWorkOutput:x,saveAllWorkOutputs:a,saveLocalWorkOutput:i,saveOwnedOutputBytes:o,saveWorkOutput:s,workInputsForSession:u}}r(cS,"createWorkOutputService");async function $g(e){let t=await nt.realpath(e.workspaceRoot),n=new Set;for(let o of[...e.declaredPaths??[],...Hg(e.assistantText)]){let s=Dg(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(Tc(t,a)&&Js[Ie.extname(a).toLowerCase()]&&(n.add(a),n.size>=100))break}return[...n]}r($g,"resolveReferencedLocalFiles");function Hg(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(Hg,"markdownLinkTargets");function Dg(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(Dg,"normalizeLocalFileReference");function Tc(e,t){let n=Ie.relative(e,t);return n!==""&&n!==".."&&!n.startsWith(`..${Ie.sep}`)&&!Ie.isAbsolute(n)}r(Tc,"isPathInside");function Lg(e){let t=ed(e.contentType);if(!t)return e.supplied;let n=Bg(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(Lg,"validateWorkOutput");function Bg(e){let t=Wg(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(Bg,"structuralValidation");function Wg(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=Ug(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(Wg,"structuralContentMatches");function Ug(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(Ug,"zipCentralDirectoryEntries");function zg(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(zg,"normalizeOutputCandidatePath");async function Ic(e){let t=await e.runtimeEventsForSession(e.sessionId),n=null;for(let o of t){let s=fi(o.data);s?.kind!=="file"||s.title!==e.title||(!n||s.revision>n.revision)&&(n=s)}return{id:n?.id??e.firstId??xc(),revision:(n?.revision??0)+1}}r(Ic,"nextOutputIdentity");function fi(e,t=0){if(t>6||e==null)return null;let n=rn.safeParse(e);if(n.success)return n.data;if(Array.isArray(e)){for(let s of e){let i=fi(s,t+1);if(i)return i}return null}let o=Gn(e);for(let s of Object.values(o)){let i=fi(s,t+1);if(i)return i}return null}r(fi,"findOutputRef");function gi(e,t,n,o=0){if(o>8||e==null)return null;let s=rn.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=gi(u,t,n,o+1);c&&(!l||c.revision>l.revision)&&(l=c)}return l}let i=Gn(e),a=null;for(let l of Object.values(i)){let u=gi(l,t,n,o+1);u&&(!a||u.revision>a.revision)&&(a=u)}return a}r(gi,"findOutputRefById");function Tr(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(Tr,"safeOutputName");function Pr(e){return e.replace(/[^a-zA-Z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,100)||"item"}r(Pr,"safePathSegment");function Gn(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}r(Gn,"asRecord");function Rc(e){return typeof e=="number"&&Number.isFinite(e)?e:null}r(Rc,"numberValue");import{promises as Cr}from"node:fs";import Kg from"node:path";async function Pc(e,t,n=Date.now()){let o=[];for(let i of await Cr.readdir(e,{withFileTypes:!0})){if(!i.isFile()||!/\.log(?:\.\d+)?$/.test(i.name))continue;let a=Kg.join(e,i.name),l=await Cr.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 Cr.lstat(i.file).catch(()=>null);a?.isFile()&&a.size===i.size&&a.mtimeMs===i.modified&&(await Cr.rm(i.file,{force:!0}),s-=i.size)}}r(Pc,"pruneLogs");import{promises as go}from"node:fs";import Vg from"node:path";var Cc=1024*1024,Jg=5,hi=/authorization|api[_-]?key|token|session[_-]?token|secret|password/i,Gg=/Bearer\s+[A-Za-z0-9._~+/-]+=*/gi,Xg=/\b(?:https?|wss?):\/\/[^\s"'<>]+/gi;function Qg(e){return{name:e.name,message:e.message,stack:e.stack}}r(Qg,"serializeError");function _r(e){if(e instanceof Error)return _r(Qg(e));if(typeof e=="string")return Yg(e);if(Array.isArray(e))return e.map(n=>_r(n));if(!e||typeof e!="object")return e;let t={};for(let[n,o]of Object.entries(e))t[n]=hi.test(n)?"[REDACTED]":_r(o);return t}r(_r,"redact");async function _c(e,t){try{await go.rm(t,{force:!0}),await go.rename(e,t)}catch(n){if(n.code!=="ENOENT")throw n}}r(_c,"renameIfExists");function Yg(e){return e.replace(Gg,"Bearer [REDACTED]").replace(Xg,t=>Zg(t))}r(Yg,"redactString");function Zg(e){let{url:t,suffix:n}=eh(e);try{let o=new URL(t);return(o.username||o.password)&&(o.username="[REDACTED]",o.password="[REDACTED]"),Ac(o.searchParams),o.hash&&(o.hash=th(o.hash.slice(1))),`${o.toString()}${n}`}catch{return e}}r(Zg,"redactUrl");function eh(e){let t=e,n="";for(;/[),.;!?]$/.test(t);)n=`${t.slice(-1)}${n}`,t=t.slice(0,-1);return{url:t,suffix:n}}r(eh,"splitUrlSuffix");function Ac(e){for(let t of Array.from(e.keys()))hi.test(t)&&e.set(t,"[REDACTED]")}r(Ac,"redactSearchParams");function th(e){if(!e.includes("="))return hi.test(e)?"[REDACTED]":e;let t=new URLSearchParams(e.startsWith("?")?e.slice(1):e);return Ac(t),t.toString()}r(th,"redactHash");function yS(e){let t=e.maxBytes??Cc,n=e.maxFiles??Jg,o=Vg.join(e.logDir,e.filename??`${e.channel}.log`),s=Promise.resolve(),i=0;async function a(u){let c=0;try{c=(await go.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 _c(`${o}.${h}`,`${o}.${h+1}`);await _c(o,`${o}.1`)}}r(a,"rotateIfNeeded");function l(u,c,h={}){let d={ts:new Date().toISOString(),level:u,channel:e.channel,message:c,pid:process.pid,platform:process.platform,...e.metadata??{},...h},m=`${JSON.stringify(_r(d))}
|
|
3
3
|
`;Buffer.byteLength(m)>Math.max(Cc,t)&&(m=`${JSON.stringify({ts:d.ts,level:u,channel:e.channel,message:"Oversized log record omitted",originalBytes:Buffer.byteLength(m)})}
|
|
4
4
|
`),s=s.then(async()=>{await go.mkdir(e.logDir,{recursive:!0}),await a(Buffer.byteLength(m,"utf8")),await go.appendFile(o,m,{encoding:"utf8",mode:384}),Date.now()-i>=6e4&&(await Pc(e.logDir,o),i=Date.now())}).catch(b=>{console.error("OpenPond logger failed",b)})}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(yS,"createLogger");function wi(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(wi,"admittedHostedModelLimits");var Nc=4,nh=128e3,oh=8e3,Ec=8192,Oc=1024;function Ar(e){return e==="openpond"?e:null}r(Ar,"hostedContextProvider");function Er(e,t){let o=t.trim().toLowerCase().match(/(?:^|[-_])(\d+)\s*k(?:[-_]|$)/);return o?.[1]?Number.parseInt(o[1],10)*1e3:nh}r(Er,"hostedContextLimit");function ho(e){let t=Math.min(oh,Math.ceil(e*.25)),n=Math.min(e-1,Math.max(t,Math.ceil(e*.08)));return Math.max(1,e-n)}r(ho,"usableHostedContextLimit");function ln(e){let t=e.model?.trim();if(!t)return null;let n=wi({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=Ar(e.provider);return i?Er(i,t):null}r(ln,"trustedProviderContextLimit");function vi(e){let t=e.model?.trim();if(!t)return null;let n=wi({provider:e.provider,model:t});return n?.outputLimit?n.outputLimit:e.settings?.modelCaches[e.provider]?.models.find(s=>s.id===t)?.outputLimit??null}r(vi,"trustedProviderOutputLimit");function Or(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/Nc)+e.length*4)}r(Or,"estimateHostedMessageTokens");function Mr(e){let t=ah(e.provider,e.model);if(!t)return{tokens:Or(e.messages),source:"heuristic",modelFamily:null};let n=e.messages.reduce((o,s)=>o+4+bi(s.role,t)+bi(s.name??"",t)+bi(s.content??"",t),1);return{tokens:Math.max(1,n),source:"model_family",modelFamily:t}}r(Mr,"estimateHostedMessageTokensForProvider");function Xn(e){let t=e.maxContextTokens?Math.max(256,Math.floor(e.maxContextTokens/8)):Ec,n=e.modelOutputLimit&&e.modelOutputLimit>0?Math.floor(e.modelOutputLimit):Number.MAX_SAFE_INTEGER;return Math.max(1,Math.min(e.requestedOutputTokens??Ec,t,n))}r(Xn,"hostedRequestedOutputTokens");function Pn(e){let t=e.maxContextTokens??null,n=Mr({provider:e.provider,model:e.model,messages:e.messages}),o=n.tokens,s=Mc(e.tools??[]),i=Mc(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=rh(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(Pn,"estimateHostedRequestBudget");function Mc(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/Nc))}r(Mc,"estimatedSerializedTokens");function rh(e,t){return t?Math.min(Math.max(1,Math.floor(t/8)),Math.max(Oc,Math.ceil(t*.02))):Oc*2}r(rh,"requestSafetyReserveTokens");function sh(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(sh,"numericUsageValue");function ih(e,t){let n=gd(e),o=n.promptTokens,s=n.completionTokens,i=sh(e,["total_tokens","totalTokens"]);return t?i!==null?i:o!==null&&s!==null?o+s:null:o??i}r(ih,"tokenCountFromUsage");function jc(e){let t=e.usage===void 0?null:ih(e.usage,!!e.includeCompletion),n=Mr({provider:e.provider,model:e.model,messages:e.messages}),o=t??n.tokens,s=e.maxContextTokens??ln({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 lr.parse({provider:e.provider,model:e.model,usedTokens:o,maxContextTokens:s,usableContextTokens:ho(s),percentFull:i,source:t===null?n.source:"provider_usage",updatedAtEventId:e.updatedAtEventId})}r(jc,"createContextUsageSnapshot");function ah(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(ah,"modelTokenFamily");function bi(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(bi,"estimateModelFamilyTextTokens");import{randomUUID as lh}from"node:crypto";import{promises as qc}from"node:fs";import Nr from"node:path";var Fc=8e3;function yi(e,t){if(!/^custom:[a-zA-Z0-9_-]+$/.test(t))throw new Error("Invalid custom personality identifier.");return Nr.join(Sn(e).instructions,"personalities",`${t.slice(7)}.md`)}r(yi,"personalityPath");function ki(e,t){if(e.trim().length>Fc)throw new Wn({code:"INVALID_INSTRUCTIONS",path:t??"personalization",message:`Personality text exceeds ${Fc} characters.`,action:"Shorten the personality text before using it."});return e.trim()}r(ki,"validateText");async function dh(e){let t=Nr.join(Sn(e).instructions,"personalities"),n=await qc.readdir(t,{withFileTypes:!0}).catch(s=>{if(ml(s))return[];throw s}),o=[...io];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=Nr.join(t,s.name),a=await so(i);a!==null&&o.push({id:`custom:${s.name.slice(0,-3)}`,name:s.name.slice(0,-3).replace(/[-_]+/g," "),source:"custom",description:"",content:ki(a,i)})}return o}r(dh,"templatesWithFiles");async function ch(e,t){let{document:n}=await cr(t),o=await dh(t),s=n.personalization?.active??`builtin:${dr}`,i=s.startsWith("builtin:")?s.slice(8):s,a=o.find(u=>u.id===i);if(!a)throw new Wn({code:"MISSING_PERSONALITY",path:s.startsWith("custom:")?yi(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:")?yi(t,s):null;return Rl.parse({activeTemplateId:i,customized:a.source==="custom",soul:n.personalization?.mode==="disabled"?"":a.content,soulPath:l,updatedAt:l?(await qc.stat(l)).mtime.toISOString():null,templates:o})}r(ch,"loadPersonalizationSettings");async function jS(e,t,n){return await ir(Nr.join(Sn(t).runtime,"personalization"),async()=>{let o=ki(n.soul),s=io.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}-${lh().slice(0,8)}`,await fl(yi(t,i),`${o}
|
|
5
5
|
`)}await ur(t,a=>({...a,personalization:{...a.personalization,active:i}}))}),ch(e,t)}r(jS,"savePersonalizationSettings");function $c(e,t){return[ki(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(vs,"completionBody");var jk=2e4;function Cf(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,d=e.subagentUsageTotalsForRun,m=e.captureSubagentWorkspaceHandoff,b=e.applySubagentPatch,x=e.appendWorkspaceDiffEvent,w=e.uniqueSubagentRefs,S=e.notifyParentOfSubagentCompletion,E=e.commitCompletion,k={latestAssistantTextForSession:e.latestAssistantTextForSession},T=r(v=>new Promise(y=>setTimeout(y,v)),"delay");async function g(v){let y=t(),f=await y.getRun(v.run.id);if(f&&f.status!=="queued")return;let A=Y(),R=ye.parse({...f??v.run,status:"running",startedAt:A,progress:et.parse({...(f??v.run).progress??{},phase:"orient",latestMeaningfulActivity:"Child subagent turn started.",currentBlocker:null,updatedAt:A})});await y.upsertRun(R),await u({parentSession:v.parentSession,parentTurnId:v.parentTurnId,run:R,eventName:"subagent.started",status:"started",output:`${R.roleId} subagent is running.`}),await u({parentSession:v.parentSession,parentTurnId:v.parentTurnId,run:R,eventName:"subagent.progress",status:"pending",output:`${R.roleId} subagent is working in child conversation ${R.childSessionId??"unknown"}.`});let N=`failed_${R.id}`;try{let j=v.initialPrompt?.trim()||sf({objective:v.run.objective,contextPack:v.contextPack});for(;;){let q=await p(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 I(q);N=W.id;let U=await s(R.id);if(U?.status==="cancelled")return;if(R=U??R,W.status!=="completed")throw new Error(W.error||`Child turn ended with status ${W.status}.`);break}let M=Y(),$=await k.latestAssistantTextForSession(v.childSession.id),V=await d(v.run.id),B=await c({run:R,childSessionId:v.childSession.id,phase:"report",latestMeaningfulActivity:"Child conversation completed."}),z=await m(R),_=ve([...B.changedFiles,...z?.changedFiles??[]]),F=null;if(R=ye.parse({...R,status:"completed",completedAt:M,error:null,report:{summary:tt($||"Child conversation completed.",jk),findings:[],artifacts:z?.artifacts??[],patchRef:z?.patchRef??null,diffRef:z?.diffRef??null,testsRun:B.validationAttempts.map(q=>q.command),blockers:[],confidence:null,followUpNeeded:!1},progress:et.parse({...B,phase:"report",changedFiles:_,patchRefs:w([...B.patchRefs,z?.patchRef??null,z?.diffRef??null]),latestMeaningfulActivity:"Child conversation completed.",currentBlocker:null,updatedAt:M}),metadata:{...R.metadata,usage:V,...z?{workspaceHandoff:z.metadata}:{}}}),await i(R),z?.changed&&z.metadata.patchPath)try{let q=await b(R);q&&(R=ye.parse({...R,metadata:{...R.metadata,workspaceHandoff:{...z.metadata,applyResult:q}}}),await x(v.parentSession,v.parentTurnId).catch(()=>{}))}catch(q){F=se(q)||"Unable to apply the isolated child patch.",R=ye.parse({...R,status:"failed",error:F,report:{...R.report,blockers:[F],followUpNeeded:!0},progress:et.parse({...R.progress,latestMeaningfulActivity:"Child completed, but its isolated patch could not be integrated.",currentBlocker:F,updatedAt:Y()})})}await E(R,N),await u({parentSession:v.parentSession,parentTurnId:v.parentTurnId,run:R,eventName:F?"subagent.failed":"subagent.completed",status:F?"failed":"completed",output:F?`${R.roleId} child completed but integration failed: ${F}`:`${R.roleId} child completed.`}),await S({run:R,parentSession:v.parentSession,childSession:v.childSession,childTurnId:N,body:vs(R),refs:w([...R.report?.artifacts??[],R.report?.patchRef??null,R.report?.diffRef??null])}),a?.(R)}catch(j){let M=await s(R.id).catch(()=>null);if(M&&M.status!=="running")return;let $=se(j)||"Subagent failed.",V=Y(),B=await m(R).catch(()=>null),z=!!(B?.changed||B?.artifacts.length),_=await c({run:R,childSessionId:v.childSession.id,phase:"report",latestMeaningfulActivity:z?"Child failed after producing recoverable artifacts.":"Child failed before producing a final report.",currentBlocker:$}),F=_.validationAttempts??[],q=ve([$,..._.currentBlocker?[_.currentBlocker]:[]]),W=ve([..._.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:q,confidence:"low",followUpNeeded:!0},J=et.parse({..._,phase:"report",changedFiles:W,patchRefs:w([..._.patchRefs??[],B?.patchRef??null,B?.diffRef??null]),latestMeaningfulActivity:z?"Child failed after producing recoverable artifacts.":"Child failed before producing a final report.",currentBlocker:$,updatedAt:V});R=ye.parse({...R,status:"failed",completedAt:V,error:$,report:U,progress:J,metadata:{...R.metadata??{},...B?{workspaceHandoff:B.metadata}:{}}}),await E(R,N),await u({parentSession:v.parentSession,parentTurnId:v.parentTurnId,run:R,eventName:"subagent.failed",status:"failed",output:z?`${R.roleId} subagent failed after producing recoverable artifacts: ${$}`:`${R.roleId} subagent failed: ${$}`}),await S({run:R,parentSession:v.parentSession,childSession:v.childSession,childTurnId:N,body:vs(R),refs:w([...U.artifacts,U.patchRef,U.diffRef])}),a?.(R)}}r(g,"runSubagentChildTurn");async function p(v,y,f,A){let R=await l(v);return await new Promise((N,j)=>{let M=!1,$=null,V=r(_=>M||_.status==="in_progress"?!1:(M=!0,N(_),!0),"settleWithTurn"),B=r(_=>{M||(M=!0,j(_))},"fail");n(v,f,A).then(_=>{$=_.id,V(_)},B),r(async()=>{for(;!M;){let _=await l(v);if(M)return;let F=!!(_&&_.metadata?.subagentRunId===y&&(_.id!==R?.id||_.id===$));if(_&&F&&V(_))return;await T(250)}},"pollDurableTurn")().catch(B)})}r(p,"sendManagedSubagentTurn");async function I(v){let y=await Promise.race([l(v.sessionId),T(25).then(()=>null)]);if(y?.id===v.id&&y.status!=="in_progress")return y;if(v.status!=="in_progress")return v;let f=await o(v.id)??v;if(f.status!=="in_progress")return f;for(let A=0;A<200;A+=1)if(await T(250),f=await o(v.id)??f,f.status!=="in_progress")return f;return f}return r(I,"finalizedSubagentChildTurn"),{runSubagentChildTurn:g}}r(Cf,"createSubagentChildTurnRuntime");import{randomUUID as Fk}from"node:crypto";function _f(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,d=e.prepareSubagentWorkspaceIsolation,m=e.runSubagentChildTurn,b=e.subagentToolResultFromRun,x=e.subagentRoleLabel,w=e.interruptSessionTurn,S=e.cleanupSubagentRun,E=e.queueSubagentFollowupMessage,k=e.archiveSubagentChildSession,T=e.subagentLifecycleActionNextStep;async function g(R,N){if(R.session.subagentRunId)throw new Error("Child subagents cannot start additional subagents in this version.");let j=s(),M=await i();if(!M.subagents.enabled)throw new Error("Subagents are disabled in settings.");let $=M.subagents.roles.find(F=>F.id===N.roleId);if(!$?.enabled)throw new Error(`Subagent role ${N.roleId} is not enabled.`);let V=R.model?{providerId:R.provider,modelId:R.model}:null,B=$.modelRef??M.subagents.defaultModelRef??V??M.defaultChatModelRef??{providerId:M.defaultChatProvider,modelId:M.defaultChatModel},z=await u(R.session),_=$.toolPolicy!=="read_only";if(_&&o.has(z))throw new Error(`Another write-capable subagent is starting for ${z}.`);_&&o.add(z);try{let F=await j.listRuns({parentSessionId:R.session.id,status:["queued","running","needs_resume"],limit:1e3});if(F.length>=M.subagents.maxConcurrentRuns)throw new Error(`Subagent concurrency limit reached: ${F.length}/${M.subagents.maxConcurrentRuns} active child runs.`);let q=F.filter(Xe=>Xe.roleId===$.id);if(q.length>=$.maxConcurrentRuns)throw new Error(`Subagent role ${$.id} concurrency limit reached: ${q.length}/${$.maxConcurrentRuns} active runs.`);let W=M.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=M.subagents.maxConcurrentRunsPerWorkspaceTarget;if(U!==null&&_){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=Fk(),te=Y(),de=h(R.turnPermissions,$),ie=await d({parentSession:R.session,role:$,runId:J}),me=ie.sessionWorkspace??{},fe=N.context??null,we=rf({role:$,objective:N.objective,parentSession:R.session,contextPack:fe}),X={...G(me.metadata)??{},subagent:{runId:J,roleId:$.id,parentSessionId:R.session.id,parentTurnId:R.turnId,toolPolicy:$.toolPolicy,requestedIsolationMode:$.isolationMode,effectiveIsolationMode:ie.effectiveIsolationMode,workspace:ie.workspace,systemContext:we}},Ce=await j.createSession({experience:R.session.experience,provider:B.providerId,modelRef:B,openPondCommandAccessMode:R.session.openPondCommandAccessMode,hiddenFromDefaultSidebar:!0,parentSessionId:R.session.id,parentTurnId:R.turnId,subagentRunId:J,subagentRoleId:$.id,appId:R.session.appId,appName:R.session.appName,workspaceKind:me.workspaceKind??R.session.workspaceKind,workspaceId:me.workspaceId??R.session.workspaceId,workspaceName:me.workspaceName??R.session.workspaceName,localProjectId:me.localProjectId??R.session.localProjectId,cloudProjectId:me.cloudProjectId??R.session.cloudProjectId,cloudTeamId:me.cloudTeamId??R.session.cloudTeamId,currentProfile:R.session.currentProfile??null,cwd:ie.cwd??R.session.cwd,title:`${x($)}: ${N.objective.slice(0,72)}`,metadata:X}),ae=ie.blocker,Fe=ye.parse({id:J,parentSessionId:R.session.id,parentTurnId:R.turnId,childSessionId:Ce.id,roleId:$.id,objective:N.objective,modelRef:B,isolationMode:$.isolationMode,toolPolicy:$.toolPolicy,background:$.background,peerMessages:$.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:R.session,parentTurnId:R.turnId,run:Fe,childSession:Ce,eventName:ae?"subagent.failed":"subagent.started",status:ae?"failed":"pending",output:ae?`Child ${$.id} failed to start: ${ae}`:`Started ${$.id} subagent.`}),!ae&&$.background&&j.queue.enqueue({label:`${$.id}: ${N.objective.slice(0,80)}`,metadata:{runId:J,childSessionId:Ce.id,parentSessionId:R.session.id}},()=>m({run:Fe,role:$,childSession:Ce,parentSession:R.session,parentTurnId:R.turnId,contextPack:fe,childTurnPermissions:de})),b(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{_&&o.delete(z)}}r(g,"startSubagentFromModelTool");async function p(R,N){let j=s(),M=N.runId?[await j.getRun(N.runId)].filter($=>!!$):await j.listRuns({parentSessionId:R.session.id,limit:50});for(let $ of M)jo(R.session,$);return{runs:M.map($=>b($,"Subagent status loaded.")),nextStep:M.length===0?"No matching subagent runs.":`Loaded ${M.length} subagent run${M.length===1?"":"s"}.`}}r(p,"statusSubagentsFromModelTool");async function I(R,N){let j=s(),M=await j.getRun(N.runId);if(!M)throw new Error(`Subagent run ${N.runId} was not found.`);return jo(R.session,M),(N.inputId||M.status==="queued"||M.status==="running")&&M.childSessionId&&(await t.wait({sessionId:R.session.id,turnId:R.turnId,callId:R.callId,targetSessionId:M.childSessionId,targetInputId:N.inputId??void 0,timeoutMs:n,signal:R.signal}),M=await j.getRun(N.runId)??M),M.status!=="queued"&&M.status!=="running"&&(M=ye.parse({...M,metadata:{...M.metadata??{},completionConsumedByParent:{at:Y(),parentSessionId:R.session.id,parentTurnId:R.turnId,childCompletedAt:M.completedAt}}}),await j.upsertRun(M)),b(M,M.status==="completed"?"Child completed; use its final result or inspect the child conversation.":M.status==="queued"||M.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 ${M.status}; inspect its result before deciding the next action.`)}r(I,"joinSubagentFromModelTool");async function v(R,N){let j=s(),M=await j.getRun(N.runId);if(!M)throw new Error(`Subagent run ${N.runId} was not found.`);if(jo(R.session,M),M.status==="completed")return b(M,"Subagent already completed; no cancellation was applied.");if(M.status==="cancelled")return b(M,"Subagent was already cancelled.");let $=N.reason?.trim()||"Subagent cancelled by request.",V=Y(),B=ye.parse({...M,status:"cancelled",completedAt:V,error:$,report:{...M.report??{},summary:M.report?.summary||"Subagent cancelled before completion.",blockers:ve([...M.report?.blockers??[],$]),followUpNeeded:!1},metadata:{...M.metadata??{},cancellation:{reason:$,cancelledAt:V,requestedBySessionId:R.session.id,requestedByTurnId:R.turnId}}});await j.upsertRun(B);let z=null;if(M.childSessionId)try{let q=await w(M.childSessionId);z={status:q.status,turnId:q.id}}catch(q){z={status:"not_active",error:se(q)||"No active child turn to interrupt."}}let _=N.cleanupWorkspace===!1?{status:"skipped",reason:"cleanupWorkspace was false"}:null;if(N.cleanupWorkspace!==!1){let q=await S({run:B,parentSession:R.session,parentTurnId:R.turnId,reason:"cancel_requested",policy:"cancel_requested"});B=q.run,_=q.workspaceCleanup}B=ye.parse({...B,metadata:{...B.metadata??{},cancellation:{...G(B.metadata?.cancellation)??{},interruptResult:z,workspaceCleanup:_}}}),await j.upsertRun(B);let F=M.parentSessionId===R.session.id?R.session:await a(M.parentSessionId).catch(()=>R.session);return await l({parentSession:F,parentTurnId:M.parentTurnId??R.turnId,run:B,eventName:"subagent.cancelled",status:"failed",output:`${M.roleId} subagent cancelled: ${$}`}),b(B,_?.status==="removed"?"Subagent cancelled and isolated workspace cleanup completed.":"Subagent cancelled.")}r(v,"cancelSubagentFromModelTool");async function y(R,N){let M=await s().getRun(N.runId);if(!M)throw new Error(`Subagent run ${N.runId} was not found.`);if(jo(R.session,M),!M.childSessionId)throw new Error(`Subagent run ${M.id} has no child conversation.`);if(M.status==="cancelled")throw new Error(`Subagent run ${M.id} is ${M.status} and cannot receive a follow-up.`);let $=await E({context:R,run:M,body:N.message});return{...b(M,"Follow-up saved in the task inbox. Pass taskInputId as inputId when joining this assignment."),taskInputId:$.id}}r(y,"followupSubagentFromModelTool");async function f(R,N){let j=yl.parse(N),$=await s().getRun(R);if(!$)throw new Error(`Subagent run ${R} was not found.`);let V=await a($.parentSessionId),B=j.reason??`Manual subagent ${j.action} requested.`,z=$,_=null,F=null;if(j.action==="cleanup"||j.action==="cleanup_and_archive"){let q=await S({run:z,parentSession:V,parentTurnId:z.parentTurnId??null,reason:B,policy:"manual_cleanup"});z=q.run,_=q.workspaceCleanup}if(j.action==="archive"||j.action==="cleanup_and_archive"){let q=await k({parentSession:V,parentTurnId:z.parentTurnId??null,run:z,reason:B,policy:"manual_archive"});z=q.run,F=q.sessionArchive}return{action:j.action,run:z,workspaceCleanup:_,sessionArchive:F,nextStep:T(j.action,_,F)}}r(f,"runSubagentLifecycleAction");async function A(R,N={}){let j=G(N)??{},$=await s().getRun(R);if(!$)throw new Error(`Subagent run ${R} was not found.`);let V=await a($.parentSessionId),B=H(j,"checkedAt")??Y(),z=H(j,"reason")??`Retained subagent workspace retention expired at ${B}.`,_=await S({run:$,parentSession:V,parentTurnId:$.parentTurnId??null,reason:z,policy:"retention_expired"});return{action:"cleanup",run:_.run,workspaceCleanup:_.workspaceCleanup,sessionArchive:null,nextStep:T("cleanup",_.workspaceCleanup,null)}}return r(A,"cleanupExpiredRetainedSubagentWorkspace"),{cancelSubagentFromModelTool:v,cleanupExpiredRetainedSubagentWorkspace:A,followupSubagentFromModelTool:y,joinSubagentFromModelTool:I,runSubagentLifecycleAction:f,startSubagentFromModelTool:g,statusSubagentsFromModelTool:p}}r(_f,"createSubagentToolRuntime");function Af(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(Af,"createSubagentLifecycleRuntime");function Ef(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:qk(i.childSession)}:{}}}))}return r(s,"appendReceipt"),{appendReceipt:s,available:t,requireDependencies:o,upsertRunAndNotify:n}}r(Ef,"createSubagentRepositoryRuntime");function qk(e){let{metadata:t,...n}=e;return n}r(qk,"sessionShell");function Of(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(Of,"subagentToolResultFromRun");function Mf(e){return e.id.slice(0,1).toUpperCase()+e.id.slice(1).replace(/[-_]+/g," ")}r(Mf,"subagentRoleLabel");function Nf(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(Nf,"uniqueSubagentRefs");function jf(e){return $k(e)??Hk(e)}r(jf,"authoringCommandRoute");function Ff(e){if(e.target.kind!=="agent"||e.operation!=="create"&&e.operation!=="improve")return null;let t=e.operation==="improve"?Ho(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(Ff,"authoringCommandRouteFromLegacyAgentRun");function $k(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=Ho(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=Dk(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($k,"skillAuthoringRoute");function Hk(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=Ho(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(Hk,"agentAuthoringRoute");function Dk(e){let t=e.trim(),n=/^--name\s+([a-z][a-z0-9-]*)\s+([\s\S]+)$/i.exec(t);if(n)return{name:Ho(n[1]??""),objective:n[2]?.trim()??""};let o=/^([a-z][a-z0-9-]*):\s*([\s\S]+)$/.exec(t);return o?{name:Ho(o[1]??""),objective:o[2]?.trim()??""}:{name:null,objective:t}}r(Dk,"splitOptionalSkillName");function Ho(e){let t=e.trim().toLowerCase();return/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/.test(t)?t:null}r(Ho,"normalizePackageId");function Wk(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(Wk,"promptWithSteeringContext");function pj(e){let{attachmentRootDir:t,store:n,resolveCreateImproveTaskset:o,gradeCreateImproveTaskAttempt:s,upsertApproval:i,createSession:a,getSession:l,updateSession:u,completeTurn:c,failTurn:h,interruptTurn:d,defaultSessionCwd:m,findOpenPondApp:b,resolveSessionWorkspaceCwd:x,ensureCodexRuntime:w,appendWorkspaceDiffEvent:S,workspaceDiffBaseline:E,appendRuntimeEvent:k,processHarnessImprovementBoundary:T,executeWorkspaceTool:g,forkSandboxForSubagent:p,cleanupSandboxForSubagent:I,finalizeWorkTurn:v,workInputsForSession:y,executeOpenPondCommand:f,executeProfileAction:A,executeProjectAction:R,executeChatResourceAction:N,executeDatasetBuilderAction:j,loadOpenPondProfileState:M,loadOpenPondProfileStateForRef:$,readOpenPondProfileSkill:V,loadSelectedHarnessRuntime:B,ensureHarnessRunOverlay:z,loadOpenPondExtensionCatalog:_,readOpenPondExtensionSkill:F,executeProfileSkillCommand:q,executeWebSearch:W,createScheduledWork:U,executeConnectedAppTool:J,htmlVisuals:te,browserToolExecutor:de,manageSidebarFile:ie,listIntegrationConnections:me,loadPersonalizationSoul:fe,loadAppPreferences:we=r(async()=>Il.parse({}),"loadAppPreferences"),loadProviderSettings:X,maybeCreateScaffoldForTurn:Ce,hostedSystemPrompt:ae,appendAssistantText:Fe,appendHostedContextUsage:Xe,streamLocalByokChatTurn:_e,streamOpenPondHostedChatTurn:ke=zn,runLocalCreatePipelineChecks:Do,planCreateImprove:Jt,turnFollowUpQueue:gn,subagentQueue:Le,notifySubagentRunStateChanged:eo,maxHostedWorkspaceToolRounds:Gt,maxRepeatedInvalidToolRequests:Xt}=e,Me=e.inboxStore??n,Hn=Hm(e.storageHome??t),rt=da(e.hostedToolFlags),Qe=new gs,pe=Em({prepareInputAttachments:rp({storageHome:e.storageHome??t,attachmentRootDir:t}),store:Me,getSession:l,listSessions:r(()=>n.sessionShells(),"listSessions"),getTurn:r(C=>n.getTurn(C),"getTurn"),latestTurn:r(C=>n.latestTurnForSession(C),"latestTurn"),recoverInterruptedTurn:r(async(C,Q)=>{(await n.getTurn(Q))?.status==="in_progress"&&await d(await l(C),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(C=>n.getSubagentRun?n.getSubagentRun(C):Promise.resolve(null),"getSubagentRun"),getActiveTurn:r(C=>Qe.get(C),"getActiveTurn"),appendRuntimeEvent:k,startFollowup:r(async(C,Q,oe,re)=>{let be=await l(C),D=Ht.parse(Q);if(!be.subagentRunId){if(re.senderKind==="user")return zo(C,D,oe,re.payload.remoteDevice?{beforeExecute:r(async jt=>{di(re,jt)},"beforeExecute")}:void 0);let Ct=await n.latestTurnForSession(C),lt=re.payload.localPonderExecutionPermissions??Ct?.metadata.taskExecutionPermissions??{approvalPolicy:"on-request",sandbox:"read-only",codexPermissionMode:"default"};return zo(C,{...D,...lt,...fn(re)||re.payload.taskReportingOnly===!0?{sandbox:"read-only",approvalPolicy:"never",codexPermissionMode:"default"}:{}},oe,re.senderKind==="ponder"?{beforeExecute:r(async jt=>{rc(re,jt),await Ca(sn.parse(re.payload.ponderDesktop).operation,jt,n,Hn),di(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 za({session:be,request:D,requestedTurnPermissions:Uo(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 Ka({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(C,Q)=>{let oe=await gn.enqueue({label:"Task inbox follow-up",metadata:{sessionId:C}},Q).done;if(oe.status==="failed")throw new Error(oe.error??"Task follow-up failed.")},"dispatchFollowup"),yieldWhileWaiting:r(C=>gn.yieldWhileWaiting(()=>Le?Le.yieldWhileWaiting(C):C()),"yieldWhileWaiting")}),xt=Wm(pe,{input:r(C=>Me.getTaskInput(C),"input"),readSource:r(async(C,Q,oe,re)=>{if(await Ca(C,Q,n,Hn),!C.workflow?.source)throw new Error("The verified workflow source is not available yet.");return Hn.inspect(C.workflow.source,oe,re)},"readSource")}),ue=[...e.localPonderHosted?Qu(e.localPonderHosted):[],...Yu(n),...ep({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(C,Q)=>{if(!n.runtimeEventPageRows)throw new Error("local_ponder_history_unavailable");let oe=await n.runtimeEventPageRows({sessionId:C,afterSequence:0,beforeSequence:Q??Number.MAX_SAFE_INTEGER,limit:100});return{turn:await n.latestTurnForSession(C),latestAssistantText:await n.latestAssistantTextForSession(C),events:oe.entries.map(re=>re.event),nextBeforeSequence:oe.remainingMatchingEvents>oe.entries.length?oe.entries[0]?.sequence??null:null}},"transcript"),stop:r(C=>Ss(C),"stop")})],Ee=Wp({listIntegrationConnections:me,appendRuntimeEvent:k}),Ae=hs({upsert:n.upsertModelUsageRecord?C=>n.upsertModelUsageRecord(C):null,appendRuntimeEvent:k});async function Ne(C){if(!(!T||!C.turn.harnessSnapshot||C.session.metadata?.standaloneExperiment!==void 0||C.session.metadata?.localProfileExperiment!==void 0||C.session.metadata?.profileEvaluationRun!==void 0))try{await T(C)}catch(Q){await k(L({sessionId:C.session.id,turnId:C.turn.id,name:"diagnostic",source:"server",appId:C.session.appId,status:"failed",output:Q instanceof Error?Q.message:String(Q),data:{phase:"harness_improvement_boundary"}})).catch(()=>{})}}r(Ne,"processHarnessImprovementBoundarySafely");async function Tt(C){return n.getTurn(C)}r(Tt,"getStoredTurn");function Qt(C){return es(rt,C)}r(Qt,"nativeToolsEnabledForProvider");function st(C){return de?.available({sessionId:C.id,conversationId:C.id})??!1}r(st,"browserControlAvailable");function hn(C){return Qt(C)&&rt.dynamicActionTools?"native_tool":Kt(rt,C)==="full_text_fallback"?"text_fallback":"none"}r(hn,"actionCatalogInstructionModeForProvider");async function it(C){await n.insertTurn(C)}r(it,"insertStoredTurn");async function Nt(C,Q){return n.updateTurn(C,Q)}r(Nt,"updateStoredTurn");let{activeInProgressTurn:Ke,findInProgressTurn:Lo,interruptActiveTurn:ks,interruptedError:Hf,interruptSessionTurn:Ss,throwIfInterrupted:Yt,turnWasInterrupted:Df}=tf({activeTurns:Qe,getSession:l,getTurn:Tt,latestTurnForSession:r((C,Q)=>n.latestTurnForSession(C,Q),"latestTurnForSession"),interruptTurn:d}),Bo=of({activeTurns:Qe,interruptActiveTurn:ks,jobRegistries:[],queues:[gn,...Le?[Le]:[]]}),Wo=Ef({createSession:a,queue:Le,upsertRun:n.upsertSubagentRun?C=>n.upsertSubagentRun(C):void 0,getRun:n.getSubagentRun?C=>n.getSubagentRun(C):void 0,listRuns:n.listSubagentRuns?C=>n.listSubagentRuns(C):void 0,appendMessage:n.appendSubagentMessage?C=>n.appendSubagentMessage(C):void 0,listUsageRecords:n.listModelUsageRecords?C=>n.listModelUsageRecords(C):void 0,notifyRunStateChanged:r(C=>{eo?.(C),C.childSessionId&&pe.wake(C.childSessionId)},"notifyRunStateChanged"),appendRuntimeEvent:k}),La=Wo.available,Pt=Wo.requireDependencies,Lf=Wo.upsertRunAndNotify,Dn=Wo.appendReceipt,Is=Zm(e),Ba=yc(async()=>{let[{createCreateImproveRuntime:C},{createCreateImproveTurnHandler:Q}]=await Promise.all([import("./runtime-VSOOPNYN.js"),import("./send-turn-D3GTSSHI.js")]),oe=C({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:k,ensureCodexRuntime:w,runLocalCreatePipelineChecks:Do,planCreateImprove:Jt,turnFollowUpQueue:gn,streamLocalByokChatTurn:_e,streamOpenPondHostedChatTurn:ke,upsertModelUsageRecord:Ae,resolveTaskset:o,gradeTaskAttempt:s});return{...oe,handleCreateImproveTurn:Q({appendRuntimeEvent:k,completeTurn:c,planCreateImproveForTurn:oe.planCreateImproveForTurn,persistCreateImproveRun:oe.persistCreateImproveRun}),async close(){}}}),{applyCreateImproveActionPayload:Bf,getCreateImproveRun:Wf,listCreateImproveRuns:Uf,persistCreateImprovePlanningFailure:zf,resolveCreateImproveApproval:Kf,handleCreateImproveTurn:Vf}=Ba.methods(["applyCreateImproveActionPayload","getCreateImproveRun","listCreateImproveRuns","persistCreateImprovePlanningFailure","resolveCreateImproveApproval","handleCreateImproveTurn"]),Jf=ef({appendRuntimeEvent:k,completeTurn:c}),{prepareHostedProviderRequest:Gf,closePonderHistory:Xf}=hm({ponderHistoryStore:n,sessionForPonderHistory:l,getPonderHistoryCredential:e.getPonderHistoryCredential,streamPonderHistorySummary:r(async function*(C){if(C.provider==="openpond"){let Q=await e.resolveSessionModelStream?.(C.session,C.turn)??ke;for await(let oe of Q({model:C.model,messages:C.messages,requestId:C.requestId,maxTokens:700,reasoningEffort:Ao({provider:C.provider,model:C.model,selected:void 0,settings:await(e.localPonderProviderSettings??X)?.()}),signal:C.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:C.provider,modelId:C.model,messages:C.messages,requestId:C.requestId,maxOutputTokens:700,expectedPonderHistoryCredential:C.expectedCredential,signal:C.signal??new AbortController().signal}))yield Q}},"streamPonderHistorySummary"),loadAppPreferences:we,appendRuntimeEvent:k,runtimeEventsForSession:r((C,Q)=>n.runtimeEventsForSession(C,Q),"runtimeEventsForSession"),streamOpenPondHostedChatTurn:ke,resolveSessionModelStream:e.resolveSessionModelStream,upsertModelUsageRecord:Ae,throwIfInterrupted:Yt,interruptedError:Hf}),{appendProfileSkillEvent:Qf,executeNativeToolCalls:Yf,explicitProfileSkillNames:Zf,profileSkillBodyFromReadResult:eg,readProfileSkillForModel:tg}=bm({authorizeCandidateTool:e.authorizeCandidateTool,hasPendingSteering:r(async(C,Q)=>(await Me.pendingTaskInputs(C,Q)).some(oe=>oe.kind==="steer"),"hasPendingSteering"),maxRepeatedInvalidToolRequests:Xt,appendRuntimeEvent:k,throwIfInterrupted:Yt}),{loadProfileSkillRuntime:ng,preloadExplicitProfileSkills:og,profileSkillInstructionModeForProvider:Rs}=Um({loadProfileState:$?C=>$(C.currentProfile):M?()=>M():void 0,readProfileSkill:V,loadBuiltInSkills:e.loadBuiltInOpenPondSkills,readBuiltInSkill:e.readBuiltInOpenPondSkill,loadExtensionCatalog:_,readExtensionSkill:F,appendRuntimeEvent:k,nativeToolsEnabledForProvider:Qt,hostedToolFlags:rt,appendProfileSkillEvent:Qf,explicitProfileSkillNames:Zf,profileSkillBodyFromReadResult:eg,throwIfInterrupted:Yt}),{runHostedToolLoop:Wa}=_m({candidateAuthoringForTurn:e.candidateAuthoringForTurn,isolatedProfileEvaluationForTurn:e.isolatedProfileEvaluationForTurn,authorizeCandidateTool:e.authorizeCandidateTool,taskInbox:pe,inboxStore:Me,resolveModelTools:e.resolveModelTools,assertExecutionAllowed:r(C=>Qr(e.storageHome,C),"assertExecutionAllowed"),hostedToolFlags:rt,nativeToolsEnabledForProvider:Qt,createNativeModelToolDefinitions:_g,profileSkillInstructionModeForProvider:Rs,subagentToolsAvailable:La,runtimeEventsForSession:r((C,Q)=>n.runtimeEventsForSession(C,Q),"runtimeEventsForSession"),getSession:l,recordTurnToolCatalog:r(async({turnId:C,hash:Q,capabilities:oe})=>{let re=await Tt(C),be=re?(await n.runtimeEventsForSession(re.sessionId,{names:["session.compaction.completed"],limit:1e3,excludeReasoningDeltas:!0})).filter(ee=>ee.turnId===C).at(-1)??null:null,D=be?.data&&typeof be.data=="object"&&!Array.isArray(be.data)?be.data:null;await n.updateTurn(C,ee=>{let at=pd.parse({protocolVersion:br,threadId:ee.sessionId,turnId:ee.id,harnessReleaseHash:ee.harnessSnapshot?.harnessRelease.contentHash??xn({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"?xn(D.summary):null}:null},pendingInteraction:null,usage:{}});return{...ee,metadata:{...ee.metadata,toolCatalogHash:Q,toolCapabilities:oe,agentCheckpoint:at,agentCheckpointHash:md(at)},harnessSnapshot:ee.harnessSnapshot?{...ee.harnessSnapshot,toolCatalogHash:Q}:ee.harnessSnapshot}})},"recordTurnToolCatalog"),getTaskset:n.getTaskset?C=>n.getTaskset(C):void 0,appendHostedContextUsage:Xe,maxHostedWorkspaceToolRounds:Gt,maxRepeatedInvalidToolRequests:Xt,appendRuntimeEvent:k,upsertModelUsageRecord:Ae,executeNativeToolCalls:Yf,readProfileSkillForModel:tg,executeWorkspaceTool:g,appendAssistantText:Fe,prepareHostedProviderRequest:Gf,throwIfInterrupted:Yt}),{captureSubagentWorkspaceHandoff:rg,cleanupSubagentRun:Ua,prepareSubagentWorkspaceIsolation:sg,subagentWorkspaceTargetKeyForSession:ig,subagentWorkspaceTargetKeyFromRun:ag}=hf({attachmentRootDir:t,resolveSessionWorkspaceCwd:x,forkSandboxForSubagent:p,cleanupSandboxForSubagent:I,appendSubagentReceipt:Dn,requireSubagentPersistence:r(()=>({upsertRun:Pt().upsertRun}),"requireSubagentPersistence")}),{finalizeSubagentContinuationTurn:lg,markSubagentContinuationRunning:dg,prepareSubagentContinuationTurn:za,subagentChildTurnPermissions:cg,subagentRuntimeDerivedProgress:ug,subagentUsageAttribution:pg,subagentUsageTotalsForRun:mg,turnPermissionsFromSendTurnInput:Uo}=xf({requireSubagentDeps:Pt,runtimeEventsForSession:n.persistedRuntimeEventsForSession?(C,Q)=>n.persistedRuntimeEventsForSession(C,Q):(C,Q)=>n.runtimeEventsForSession(C,Q),latestAssistantTextForSession:r(C=>n.latestAssistantTextForSession(C),"latestAssistantTextForSession"),loadAppPreferences:we,getTurn:Tt,getSession:l,appendSubagentReceipt:Dn}),{queueSubagentFollowupMessage:fg,sendSubagentMessageFromModelTool:gg}=Tf({inbox:pe,requireSubagentDeps:Pt,appendRuntimeEvent:k}),{notifyParentOfSubagentCompletion:hg,recoverPendingCompletions:wg,close:bg}=Pf({inbox:pe,store:Me,appendMessage:r(C=>Pt().appendMessage(C),"appendMessage"),getSession:l,appendRuntimeEvent:k}),{resolveSubagentPatchApplyApproval:vg}=gf({getApproval:r(C=>n.getApproval(C),"getApproval"),getSubagentRun:n.getSubagentRun?C=>n.getSubagentRun(C):null,canPersistSubagentRun:!!n.upsertSubagentRun,getSession:l,upsertSubagentRunAndNotify:Lf,upsertApproval:i,appendRuntimeEvent:k,appendSubagentReceipt:Dn,appendWorkspaceDiffEvent:S,cleanupSubagentRun:Ua}),{runSubagentChildTurn:Ka}=Cf({requireSubagentDeps:Pt,sendTurn:zo,getTurn:Tt,getPersistedRun:n.getPersistedSubagentRun?C=>n.getPersistedSubagentRun(C):C=>Pt().getRun(C),upsertPersistedRun:n.upsertPersistedSubagentRun?C=>n.upsertPersistedSubagentRun(C):C=>n.upsertSubagentRun(C),notifyRunStateChanged:r(C=>{eo?.(C),C.childSessionId&&pe.wake(C.childSessionId)},"notifyRunStateChanged"),latestTurnForSession:r(C=>n.latestPersistedTurnForSession(C),"latestTurnForSession"),latestAssistantTextForSession:r(C=>n.latestAssistantTextForSession(C),"latestAssistantTextForSession"),appendSubagentReceipt:Dn,subagentRuntimeDerivedProgress:ug,subagentUsageAttribution:pg,subagentUsageTotalsForRun:mg,captureSubagentWorkspaceHandoff:rg,applySubagentPatch:Ma,appendWorkspaceDiffEvent:S,uniqueSubagentRefs:Nf,commitCompletion:r((C,Q)=>Me.commitSubagentCompletion(C,Q),"commitCompletion"),notifyParentOfSubagentCompletion:hg}),{archiveSubagentChildSession:yg,subagentLifecycleActionNextStep:kg}=Af({getRun:r(C=>Pt().getRun(C),"getRun"),upsertRun:r(C=>Pt().upsertRun(C),"upsertRun"),getSession:l,updateSession:u,appendSubagentReceipt:Dn}),{cancelSubagentFromModelTool:Sg,cleanupExpiredRetainedSubagentWorkspace:Ig,joinSubagentFromModelTool:Rg,followupSubagentFromModelTool:xg,runSubagentLifecycleAction:Tg,startSubagentFromModelTool:Pg,statusSubagentsFromModelTool:Cg}=_f({inbox:pe,requireSubagentDeps:Pt,loadAppPreferences:we,getSession:l,appendSubagentReceipt:Dn,subagentWorkspaceTargetKeyForSession:ig,subagentWorkspaceTargetKeyFromRun:ag,subagentChildTurnPermissions:cg,prepareSubagentWorkspaceIsolation:sg,runSubagentChildTurn:Ka,subagentToolResultFromRun:Of,subagentRoleLabel:Mf,interruptSessionTurn:Ss,cleanupSubagentRun:Ua,queueSubagentFollowupMessage:fg,archiveSubagentChildSession:yg,subagentLifecycleActionNextStep:kg}),Va=Jm({handlers:{startSubagent:Pg,statusSubagents:Cg,joinSubagent:Rg,cancelSubagent:Sg,followupSubagent:xg,sendSubagentMessage:gg,...ie?{manageSidebarFile:r((C,Q)=>ie({session:C.session,action:Q.action,path:Q.path}),"manageSidebarFile")}:{},...j?{runDatasetBuilder:r((C,Q,oe)=>j({session:C.session,turnId:C.turnId,callId:C.callId,signal:C.signal,provider:C.provider,model:C.model,action:Q,payload:oe}),"runDatasetBuilder")}:{}},subagentToolsAvailable:La,hostedToolFlags:rt,executeConnectedAppTool:J,htmlVisuals:te,browserToolExecutor:de,executeOpenPondCommand:f,executeWorkspaceTool:g,executeWebSearch:W,createScheduledWork:U,executeProfileAction:A,executeProjectAction:R,loadOpenPondProfileStateForRef:$,resolveCandidateProfile:e.resolveCandidateProfile,executeCandidateAgentCommand:e.executeCandidateAgentCommand,executeCandidateCommand:e.executeCandidateCommand,executeCandidateImage:e.executeCandidateImage}),Ja=Ju({resolveCwd:r(C=>x(C,{ensureOpenPond:!1}),"resolveCwd"),appendEvent:k});function _g(C,Q,oe,re,be={}){return be.candidateAuthoring?Va(C,Q,oe,re,be):[...Va(C,Q,oe,re,be),...ue,...be.trainingHarness?[]:Ku(),...xt,...be.trainingHarness?[]:[Ja],...!be.trainingHarness&&N?[ea(N)]:[],...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(_g,"createNativeModelToolDefinitions");async function zo(C,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=Bo.beginSendTurn(),ee=oe??qf(),at=!1,O,Ct="failed";try{await Me.openTaskInboxTurn(C,ee,pe.ownerId),at=!0,O=setInterval(()=>{Me.renewTaskInboxTurn(C,ee,pe.ownerId).catch(jt=>{Qe.get(C)?.controller.abort(jt)})},2e4),O.unref();let lt=await Ag(C,Q,ee,re,be);return Ct=lt.status==="in_progress"?"failed":lt.status,lt}finally{O&&clearInterval(O),at&&await pe.settled(C,ee,Ct),D()}}r(zo,"sendTurn");async function Ag(C,Q,oe,re,be){let D=Ht.parse(Q),ee=Uo(D);if(await Ke(C)??await Lo(C))throw new Error("A turn is already running for this chat.");let O=await l(C),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 Pp(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 xs=!1;O={...O,experience:O.experience??on};async function to(Se,wt){xs||O.experience!=="work"||!v||(xs=!0,O=await v({session:await l(C),turnId:Se,outcome:wt}))}r(to,"finalizeAttachedWorkSandbox");let Ts=D.modelRef?.providerId??O.modelRef?.providerId??O.provider;if(e.executionHost==="embedded"&&(Ts!=="openpond"||D.createImproveRun))throw new Error("Embedded Work requires the configured model adapter and native tool loop.");let Mg=(O.experience==="chat"||O.experience==="work")&&!O.systemKind&&N&&!["sandbox","sandbox_template","sandbox_app"].includes(O.workspaceKind??"");if(Ts==="codex"&&!ze(O)&&!Mg)throw new Error("The Codex provider requires repository-aware Work or a local resource chat.");if(/^\/goal(?:\s|$)/i.test(D.prompt.trimStart())&&(Ts!=="codex"||!ze(O)))throw new Error("/goal is only available in repository-aware Work with the Codex provider.");let Zt=Ct?null:O.currentProfile??null,gt=lt||!Zt||O.profileWorkflowBinding||O.profileComponentBinding?null:$?await $(Zt):M?await M():null,ce=!Ct&&!lt&&B?await B(O):null,Ga=null;if(O.profileWorkflowBinding){let Se=ce?.workflow;if(!Se)throw new Error("Bound Profile workflow is unavailable for this turn.");let wt=Op({workflow:Se,value:D.workflowInput??(Se.invocation.kind==="instructions"?{}:void 0),prompt:D.prompt});ce.instructionContext=[ce.instructionContext,wt.instruction].join(`
|
|
135
|
+
`)}r(Wk,"promptWithSteeringContext");function pj(e){let{attachmentRootDir:t,store:n,resolveCreateImproveTaskset:o,gradeCreateImproveTaskAttempt:s,upsertApproval:i,createSession:a,getSession:l,updateSession:u,completeTurn:c,failTurn:h,interruptTurn:d,defaultSessionCwd:m,findOpenPondApp:b,resolveSessionWorkspaceCwd:x,ensureCodexRuntime:w,appendWorkspaceDiffEvent:S,workspaceDiffBaseline:E,appendRuntimeEvent:k,processHarnessImprovementBoundary:T,executeWorkspaceTool:g,forkSandboxForSubagent:p,cleanupSandboxForSubagent:I,finalizeWorkTurn:v,workInputsForSession:y,executeOpenPondCommand:f,executeProfileAction:A,executeProjectAction:R,executeChatResourceAction:N,executeDatasetBuilderAction:j,loadOpenPondProfileState:M,loadOpenPondProfileStateForRef:$,readOpenPondProfileSkill:V,loadSelectedHarnessRuntime:B,ensureHarnessRunOverlay:z,loadOpenPondExtensionCatalog:_,readOpenPondExtensionSkill:F,executeProfileSkillCommand:q,executeWebSearch:W,createScheduledWork:U,executeConnectedAppTool:J,htmlVisuals:te,browserToolExecutor:de,manageSidebarFile:ie,listIntegrationConnections:me,loadPersonalizationSoul:fe,loadAppPreferences:we=r(async()=>Il.parse({}),"loadAppPreferences"),loadProviderSettings:X,maybeCreateScaffoldForTurn:Ce,hostedSystemPrompt:ae,appendAssistantText:Fe,appendHostedContextUsage:Xe,streamLocalByokChatTurn:_e,streamOpenPondHostedChatTurn:ke=zn,runLocalCreatePipelineChecks:Do,planCreateImprove:Jt,turnFollowUpQueue:gn,subagentQueue:Le,notifySubagentRunStateChanged:eo,maxHostedWorkspaceToolRounds:Gt,maxRepeatedInvalidToolRequests:Xt}=e,Me=e.inboxStore??n,Hn=Hm(e.storageHome??t),rt=da(e.hostedToolFlags),Qe=new gs,pe=Em({prepareInputAttachments:rp({storageHome:e.storageHome??t,attachmentRootDir:t}),store:Me,getSession:l,listSessions:r(()=>n.sessionShells(),"listSessions"),getTurn:r(C=>n.getTurn(C),"getTurn"),latestTurn:r(C=>n.latestTurnForSession(C),"latestTurn"),recoverInterruptedTurn:r(async(C,Q)=>{(await n.getTurn(Q))?.status==="in_progress"&&await d(await l(C),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(C=>n.getSubagentRun?n.getSubagentRun(C):Promise.resolve(null),"getSubagentRun"),getActiveTurn:r(C=>Qe.get(C),"getActiveTurn"),appendRuntimeEvent:k,startFollowup:r(async(C,Q,oe,re)=>{let be=await l(C),D=Ht.parse(Q);if(!be.subagentRunId){if(re.senderKind==="user")return zo(C,D,oe,re.payload.remoteDevice?{beforeExecute:r(async jt=>{di(re,jt)},"beforeExecute")}:void 0);let Ct=await n.latestTurnForSession(C),lt=re.payload.localPonderExecutionPermissions??Ct?.metadata.taskExecutionPermissions??{approvalPolicy:"on-request",sandbox:"read-only",codexPermissionMode:"default"};return zo(C,{...D,...lt,...fn(re)||re.payload.taskReportingOnly===!0?{sandbox:"read-only",approvalPolicy:"never",codexPermissionMode:"default"}:{}},oe,re.senderKind==="ponder"?{beforeExecute:r(async jt=>{rc(re,jt),await Ca(sn.parse(re.payload.ponderDesktop).operation,jt,n,Hn),di(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 za({session:be,request:D,requestedTurnPermissions:Uo(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 Ka({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(C,Q)=>{let oe=await gn.enqueue({label:"Task inbox follow-up",metadata:{sessionId:C}},Q).done;if(oe.status==="failed")throw new Error(oe.error??"Task follow-up failed.")},"dispatchFollowup"),yieldWhileWaiting:r(C=>gn.yieldWhileWaiting(()=>Le?Le.yieldWhileWaiting(C):C()),"yieldWhileWaiting")}),xt=Wm(pe,{input:r(C=>Me.getTaskInput(C),"input"),readSource:r(async(C,Q,oe,re)=>{if(await Ca(C,Q,n,Hn),!C.workflow?.source)throw new Error("The verified workflow source is not available yet.");return Hn.inspect(C.workflow.source,oe,re)},"readSource")}),ue=[...e.localPonderHosted?Qu(e.localPonderHosted):[],...Yu(n),...ep({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(C,Q)=>{if(!n.runtimeEventPageRows)throw new Error("local_ponder_history_unavailable");let oe=await n.runtimeEventPageRows({sessionId:C,afterSequence:0,beforeSequence:Q??Number.MAX_SAFE_INTEGER,limit:100});return{turn:await n.latestTurnForSession(C),latestAssistantText:await n.latestAssistantTextForSession(C),events:oe.entries.map(re=>re.event),nextBeforeSequence:oe.remainingMatchingEvents>oe.entries.length?oe.entries[0]?.sequence??null:null}},"transcript"),stop:r(C=>Ss(C),"stop")})],Ee=Wp({listIntegrationConnections:me,appendRuntimeEvent:k}),Ae=hs({upsert:n.upsertModelUsageRecord?C=>n.upsertModelUsageRecord(C):null,appendRuntimeEvent:k});async function Ne(C){if(!(!T||!C.turn.harnessSnapshot||C.session.metadata?.standaloneExperiment!==void 0||C.session.metadata?.localProfileExperiment!==void 0||C.session.metadata?.profileEvaluationRun!==void 0))try{await T(C)}catch(Q){await k(L({sessionId:C.session.id,turnId:C.turn.id,name:"diagnostic",source:"server",appId:C.session.appId,status:"failed",output:Q instanceof Error?Q.message:String(Q),data:{phase:"harness_improvement_boundary"}})).catch(()=>{})}}r(Ne,"processHarnessImprovementBoundarySafely");async function Tt(C){return n.getTurn(C)}r(Tt,"getStoredTurn");function Qt(C){return es(rt,C)}r(Qt,"nativeToolsEnabledForProvider");function st(C){return de?.available({sessionId:C.id,conversationId:C.id})??!1}r(st,"browserControlAvailable");function hn(C){return Qt(C)&&rt.dynamicActionTools?"native_tool":Kt(rt,C)==="full_text_fallback"?"text_fallback":"none"}r(hn,"actionCatalogInstructionModeForProvider");async function it(C){await n.insertTurn(C)}r(it,"insertStoredTurn");async function Nt(C,Q){return n.updateTurn(C,Q)}r(Nt,"updateStoredTurn");let{activeInProgressTurn:Ke,findInProgressTurn:Lo,interruptActiveTurn:ks,interruptedError:Hf,interruptSessionTurn:Ss,throwIfInterrupted:Yt,turnWasInterrupted:Df}=tf({activeTurns:Qe,getSession:l,getTurn:Tt,latestTurnForSession:r((C,Q)=>n.latestTurnForSession(C,Q),"latestTurnForSession"),interruptTurn:d}),Bo=of({activeTurns:Qe,interruptActiveTurn:ks,jobRegistries:[],queues:[gn,...Le?[Le]:[]]}),Wo=Ef({createSession:a,queue:Le,upsertRun:n.upsertSubagentRun?C=>n.upsertSubagentRun(C):void 0,getRun:n.getSubagentRun?C=>n.getSubagentRun(C):void 0,listRuns:n.listSubagentRuns?C=>n.listSubagentRuns(C):void 0,appendMessage:n.appendSubagentMessage?C=>n.appendSubagentMessage(C):void 0,listUsageRecords:n.listModelUsageRecords?C=>n.listModelUsageRecords(C):void 0,notifyRunStateChanged:r(C=>{eo?.(C),C.childSessionId&&pe.wake(C.childSessionId)},"notifyRunStateChanged"),appendRuntimeEvent:k}),La=Wo.available,Pt=Wo.requireDependencies,Lf=Wo.upsertRunAndNotify,Dn=Wo.appendReceipt,Is=Zm(e),Ba=yc(async()=>{let[{createCreateImproveRuntime:C},{createCreateImproveTurnHandler:Q}]=await Promise.all([import("./runtime-XP4DEGR3.js"),import("./send-turn-D3GTSSHI.js")]),oe=C({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:k,ensureCodexRuntime:w,runLocalCreatePipelineChecks:Do,planCreateImprove:Jt,turnFollowUpQueue:gn,streamLocalByokChatTurn:_e,streamOpenPondHostedChatTurn:ke,upsertModelUsageRecord:Ae,resolveTaskset:o,gradeTaskAttempt:s});return{...oe,handleCreateImproveTurn:Q({appendRuntimeEvent:k,completeTurn:c,planCreateImproveForTurn:oe.planCreateImproveForTurn,persistCreateImproveRun:oe.persistCreateImproveRun}),async close(){}}}),{applyCreateImproveActionPayload:Bf,getCreateImproveRun:Wf,listCreateImproveRuns:Uf,persistCreateImprovePlanningFailure:zf,resolveCreateImproveApproval:Kf,handleCreateImproveTurn:Vf}=Ba.methods(["applyCreateImproveActionPayload","getCreateImproveRun","listCreateImproveRuns","persistCreateImprovePlanningFailure","resolveCreateImproveApproval","handleCreateImproveTurn"]),Jf=ef({appendRuntimeEvent:k,completeTurn:c}),{prepareHostedProviderRequest:Gf,closePonderHistory:Xf}=hm({ponderHistoryStore:n,sessionForPonderHistory:l,getPonderHistoryCredential:e.getPonderHistoryCredential,streamPonderHistorySummary:r(async function*(C){if(C.provider==="openpond"){let Q=await e.resolveSessionModelStream?.(C.session,C.turn)??ke;for await(let oe of Q({model:C.model,messages:C.messages,requestId:C.requestId,maxTokens:700,reasoningEffort:Ao({provider:C.provider,model:C.model,selected:void 0,settings:await(e.localPonderProviderSettings??X)?.()}),signal:C.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:C.provider,modelId:C.model,messages:C.messages,requestId:C.requestId,maxOutputTokens:700,expectedPonderHistoryCredential:C.expectedCredential,signal:C.signal??new AbortController().signal}))yield Q}},"streamPonderHistorySummary"),loadAppPreferences:we,appendRuntimeEvent:k,runtimeEventsForSession:r((C,Q)=>n.runtimeEventsForSession(C,Q),"runtimeEventsForSession"),streamOpenPondHostedChatTurn:ke,resolveSessionModelStream:e.resolveSessionModelStream,upsertModelUsageRecord:Ae,throwIfInterrupted:Yt,interruptedError:Hf}),{appendProfileSkillEvent:Qf,executeNativeToolCalls:Yf,explicitProfileSkillNames:Zf,profileSkillBodyFromReadResult:eg,readProfileSkillForModel:tg}=bm({authorizeCandidateTool:e.authorizeCandidateTool,hasPendingSteering:r(async(C,Q)=>(await Me.pendingTaskInputs(C,Q)).some(oe=>oe.kind==="steer"),"hasPendingSteering"),maxRepeatedInvalidToolRequests:Xt,appendRuntimeEvent:k,throwIfInterrupted:Yt}),{loadProfileSkillRuntime:ng,preloadExplicitProfileSkills:og,profileSkillInstructionModeForProvider:Rs}=Um({loadProfileState:$?C=>$(C.currentProfile):M?()=>M():void 0,readProfileSkill:V,loadBuiltInSkills:e.loadBuiltInOpenPondSkills,readBuiltInSkill:e.readBuiltInOpenPondSkill,loadExtensionCatalog:_,readExtensionSkill:F,appendRuntimeEvent:k,nativeToolsEnabledForProvider:Qt,hostedToolFlags:rt,appendProfileSkillEvent:Qf,explicitProfileSkillNames:Zf,profileSkillBodyFromReadResult:eg,throwIfInterrupted:Yt}),{runHostedToolLoop:Wa}=_m({candidateAuthoringForTurn:e.candidateAuthoringForTurn,isolatedProfileEvaluationForTurn:e.isolatedProfileEvaluationForTurn,authorizeCandidateTool:e.authorizeCandidateTool,taskInbox:pe,inboxStore:Me,resolveModelTools:e.resolveModelTools,assertExecutionAllowed:r(C=>Qr(e.storageHome,C),"assertExecutionAllowed"),hostedToolFlags:rt,nativeToolsEnabledForProvider:Qt,createNativeModelToolDefinitions:_g,profileSkillInstructionModeForProvider:Rs,subagentToolsAvailable:La,runtimeEventsForSession:r((C,Q)=>n.runtimeEventsForSession(C,Q),"runtimeEventsForSession"),getSession:l,recordTurnToolCatalog:r(async({turnId:C,hash:Q,capabilities:oe})=>{let re=await Tt(C),be=re?(await n.runtimeEventsForSession(re.sessionId,{names:["session.compaction.completed"],limit:1e3,excludeReasoningDeltas:!0})).filter(ee=>ee.turnId===C).at(-1)??null:null,D=be?.data&&typeof be.data=="object"&&!Array.isArray(be.data)?be.data:null;await n.updateTurn(C,ee=>{let at=pd.parse({protocolVersion:br,threadId:ee.sessionId,turnId:ee.id,harnessReleaseHash:ee.harnessSnapshot?.harnessRelease.contentHash??xn({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"?xn(D.summary):null}:null},pendingInteraction:null,usage:{}});return{...ee,metadata:{...ee.metadata,toolCatalogHash:Q,toolCapabilities:oe,agentCheckpoint:at,agentCheckpointHash:md(at)},harnessSnapshot:ee.harnessSnapshot?{...ee.harnessSnapshot,toolCatalogHash:Q}:ee.harnessSnapshot}})},"recordTurnToolCatalog"),getTaskset:n.getTaskset?C=>n.getTaskset(C):void 0,appendHostedContextUsage:Xe,maxHostedWorkspaceToolRounds:Gt,maxRepeatedInvalidToolRequests:Xt,appendRuntimeEvent:k,upsertModelUsageRecord:Ae,executeNativeToolCalls:Yf,readProfileSkillForModel:tg,executeWorkspaceTool:g,appendAssistantText:Fe,prepareHostedProviderRequest:Gf,throwIfInterrupted:Yt}),{captureSubagentWorkspaceHandoff:rg,cleanupSubagentRun:Ua,prepareSubagentWorkspaceIsolation:sg,subagentWorkspaceTargetKeyForSession:ig,subagentWorkspaceTargetKeyFromRun:ag}=hf({attachmentRootDir:t,resolveSessionWorkspaceCwd:x,forkSandboxForSubagent:p,cleanupSandboxForSubagent:I,appendSubagentReceipt:Dn,requireSubagentPersistence:r(()=>({upsertRun:Pt().upsertRun}),"requireSubagentPersistence")}),{finalizeSubagentContinuationTurn:lg,markSubagentContinuationRunning:dg,prepareSubagentContinuationTurn:za,subagentChildTurnPermissions:cg,subagentRuntimeDerivedProgress:ug,subagentUsageAttribution:pg,subagentUsageTotalsForRun:mg,turnPermissionsFromSendTurnInput:Uo}=xf({requireSubagentDeps:Pt,runtimeEventsForSession:n.persistedRuntimeEventsForSession?(C,Q)=>n.persistedRuntimeEventsForSession(C,Q):(C,Q)=>n.runtimeEventsForSession(C,Q),latestAssistantTextForSession:r(C=>n.latestAssistantTextForSession(C),"latestAssistantTextForSession"),loadAppPreferences:we,getTurn:Tt,getSession:l,appendSubagentReceipt:Dn}),{queueSubagentFollowupMessage:fg,sendSubagentMessageFromModelTool:gg}=Tf({inbox:pe,requireSubagentDeps:Pt,appendRuntimeEvent:k}),{notifyParentOfSubagentCompletion:hg,recoverPendingCompletions:wg,close:bg}=Pf({inbox:pe,store:Me,appendMessage:r(C=>Pt().appendMessage(C),"appendMessage"),getSession:l,appendRuntimeEvent:k}),{resolveSubagentPatchApplyApproval:vg}=gf({getApproval:r(C=>n.getApproval(C),"getApproval"),getSubagentRun:n.getSubagentRun?C=>n.getSubagentRun(C):null,canPersistSubagentRun:!!n.upsertSubagentRun,getSession:l,upsertSubagentRunAndNotify:Lf,upsertApproval:i,appendRuntimeEvent:k,appendSubagentReceipt:Dn,appendWorkspaceDiffEvent:S,cleanupSubagentRun:Ua}),{runSubagentChildTurn:Ka}=Cf({requireSubagentDeps:Pt,sendTurn:zo,getTurn:Tt,getPersistedRun:n.getPersistedSubagentRun?C=>n.getPersistedSubagentRun(C):C=>Pt().getRun(C),upsertPersistedRun:n.upsertPersistedSubagentRun?C=>n.upsertPersistedSubagentRun(C):C=>n.upsertSubagentRun(C),notifyRunStateChanged:r(C=>{eo?.(C),C.childSessionId&&pe.wake(C.childSessionId)},"notifyRunStateChanged"),latestTurnForSession:r(C=>n.latestPersistedTurnForSession(C),"latestTurnForSession"),latestAssistantTextForSession:r(C=>n.latestAssistantTextForSession(C),"latestAssistantTextForSession"),appendSubagentReceipt:Dn,subagentRuntimeDerivedProgress:ug,subagentUsageAttribution:pg,subagentUsageTotalsForRun:mg,captureSubagentWorkspaceHandoff:rg,applySubagentPatch:Ma,appendWorkspaceDiffEvent:S,uniqueSubagentRefs:Nf,commitCompletion:r((C,Q)=>Me.commitSubagentCompletion(C,Q),"commitCompletion"),notifyParentOfSubagentCompletion:hg}),{archiveSubagentChildSession:yg,subagentLifecycleActionNextStep:kg}=Af({getRun:r(C=>Pt().getRun(C),"getRun"),upsertRun:r(C=>Pt().upsertRun(C),"upsertRun"),getSession:l,updateSession:u,appendSubagentReceipt:Dn}),{cancelSubagentFromModelTool:Sg,cleanupExpiredRetainedSubagentWorkspace:Ig,joinSubagentFromModelTool:Rg,followupSubagentFromModelTool:xg,runSubagentLifecycleAction:Tg,startSubagentFromModelTool:Pg,statusSubagentsFromModelTool:Cg}=_f({inbox:pe,requireSubagentDeps:Pt,loadAppPreferences:we,getSession:l,appendSubagentReceipt:Dn,subagentWorkspaceTargetKeyForSession:ig,subagentWorkspaceTargetKeyFromRun:ag,subagentChildTurnPermissions:cg,prepareSubagentWorkspaceIsolation:sg,runSubagentChildTurn:Ka,subagentToolResultFromRun:Of,subagentRoleLabel:Mf,interruptSessionTurn:Ss,cleanupSubagentRun:Ua,queueSubagentFollowupMessage:fg,archiveSubagentChildSession:yg,subagentLifecycleActionNextStep:kg}),Va=Jm({handlers:{startSubagent:Pg,statusSubagents:Cg,joinSubagent:Rg,cancelSubagent:Sg,followupSubagent:xg,sendSubagentMessage:gg,...ie?{manageSidebarFile:r((C,Q)=>ie({session:C.session,action:Q.action,path:Q.path}),"manageSidebarFile")}:{},...j?{runDatasetBuilder:r((C,Q,oe)=>j({session:C.session,turnId:C.turnId,callId:C.callId,signal:C.signal,provider:C.provider,model:C.model,action:Q,payload:oe}),"runDatasetBuilder")}:{}},subagentToolsAvailable:La,hostedToolFlags:rt,executeConnectedAppTool:J,htmlVisuals:te,browserToolExecutor:de,executeOpenPondCommand:f,executeWorkspaceTool:g,executeWebSearch:W,createScheduledWork:U,executeProfileAction:A,executeProjectAction:R,loadOpenPondProfileStateForRef:$,resolveCandidateProfile:e.resolveCandidateProfile,executeCandidateAgentCommand:e.executeCandidateAgentCommand,executeCandidateCommand:e.executeCandidateCommand,executeCandidateImage:e.executeCandidateImage}),Ja=Ju({resolveCwd:r(C=>x(C,{ensureOpenPond:!1}),"resolveCwd"),appendEvent:k});function _g(C,Q,oe,re,be={}){return be.candidateAuthoring?Va(C,Q,oe,re,be):[...Va(C,Q,oe,re,be),...ue,...be.trainingHarness?[]:Ku(),...xt,...be.trainingHarness?[]:[Ja],...!be.trainingHarness&&N?[ea(N)]:[],...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(_g,"createNativeModelToolDefinitions");async function zo(C,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=Bo.beginSendTurn(),ee=oe??qf(),at=!1,O,Ct="failed";try{await Me.openTaskInboxTurn(C,ee,pe.ownerId),at=!0,O=setInterval(()=>{Me.renewTaskInboxTurn(C,ee,pe.ownerId).catch(jt=>{Qe.get(C)?.controller.abort(jt)})},2e4),O.unref();let lt=await Ag(C,Q,ee,re,be);return Ct=lt.status==="in_progress"?"failed":lt.status,lt}finally{O&&clearInterval(O),at&&await pe.settled(C,ee,Ct),D()}}r(zo,"sendTurn");async function Ag(C,Q,oe,re,be){let D=Ht.parse(Q),ee=Uo(D);if(await Ke(C)??await Lo(C))throw new Error("A turn is already running for this chat.");let O=await l(C),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 Pp(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 xs=!1;O={...O,experience:O.experience??on};async function to(Se,wt){xs||O.experience!=="work"||!v||(xs=!0,O=await v({session:await l(C),turnId:Se,outcome:wt}))}r(to,"finalizeAttachedWorkSandbox");let Ts=D.modelRef?.providerId??O.modelRef?.providerId??O.provider;if(e.executionHost==="embedded"&&(Ts!=="openpond"||D.createImproveRun))throw new Error("Embedded Work requires the configured model adapter and native tool loop.");let Mg=(O.experience==="chat"||O.experience==="work")&&!O.systemKind&&N&&!["sandbox","sandbox_template","sandbox_app"].includes(O.workspaceKind??"");if(Ts==="codex"&&!ze(O)&&!Mg)throw new Error("The Codex provider requires repository-aware Work or a local resource chat.");if(/^\/goal(?:\s|$)/i.test(D.prompt.trimStart())&&(Ts!=="codex"||!ze(O)))throw new Error("/goal is only available in repository-aware Work with the Codex provider.");let Zt=Ct?null:O.currentProfile??null,gt=lt||!Zt||O.profileWorkflowBinding||O.profileComponentBinding?null:$?await $(Zt):M?await M():null,ce=!Ct&&!lt&&B?await B(O):null,Ga=null;if(O.profileWorkflowBinding){let Se=ce?.workflow;if(!Se)throw new Error("Bound Profile workflow is unavailable for this turn.");let wt=Op({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,Ga=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 Ko=ce&&z?await z({runId:O.id,workspace:ce.workspace,harnessRelease:{id:ce.release.harnessRelease.id,contentHash:ce.release.harnessRelease.contentHash},admittedAt:Y()}):null,no=lt?null:await za({session:O,request:D,requestedTurnPermissions:ee});no&&(ee=no.turnPermissions);let Vo=D.modelRef?.providerId??O.modelRef?.providerId??O.provider,Xa=D.modelRef?.modelId??D.model??O.modelRef?.modelId??null,Ps=qe?.preferences??await we(),Cs=lt?null:af(O,Ps),Ft=Xa?{providerId:Vo,modelId:Xa}:D.modelRef??O.modelRef??null,Qa=D.createImproveRun?Ff(D.createImproveRun):null,qt=jf(D.prompt)??Qa;if(qt&&!Xc(O))throw new Error("Agent and Skill authoring are available in repository-aware Work.");let wn=Qa?null:D.createImproveRun,Ya=!Ct&&!re&&!qt&&_i(O.experience)&&q?await q({prompt:D.prompt,profileRef:Zt}):null,_s=await n.runtimeEventsForSession(C,{excludeReasoningDeltas:!0}),Ln=Ap(D.metadata?.userQuestionResolution,_s),Ng=Y(),Za=D.usageAttribution??no?.usageAttribution??null,el={...D.metadata?D.metadata:{},...O.profileWorkflowBinding?{profileWorkflowBinding:O.profileWorkflowBinding,profileWorkflowInputHash:Ga}:{},...O.profileComponentBinding?{profileComponentBinding:O.profileComponentBinding}:{},taskExecutionPermissions:{...ee},...Cs?{subagentDelegation:Cs}:{},...Za?{usageAttribution:Za}:{},...wn?{createImproveRun:wn}:{},...qt?{authoringIntent:qt.intent,selectedProfileRef:Zt}:{}},K={id:oe,sessionId:C,providerTurnId:null,modelRef:Ft,prompt:D.prompt,startedAt:Ng,completedAt:null,status:"in_progress",error:null,metadata:el,createImproveRun:wn??null,profileSnapshot:(O.profileWorkflowBinding||O.profileComponentBinding)&&Zt?{ref:Zt,revision:(O.profileWorkflowBinding??O.profileComponentBinding).sourceRevision,sourceHash:(O.profileWorkflowBinding??O.profileComponentBinding).harnessRelease.contentHash}:Zt&>&>.mode!=="none"&&!gt.error?{ref:Zt,revision:gt.git?.head??null,sourceHash:Lk("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:Ko?{id:Ko.id,revision:Ko.revision,contentHash:Ko.contentHash}:null}:null};qe&&e.storageHome&&(Cp(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 Ip({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 tl=Te?O.cwd:(qt&>?.mode==="local"?gt.repoPath:null)??D.cwd??await x(O,{ensureOpenPond:!1})??O.cwd??(O.appId||Vo==="codex"?m(O.appId):null);O=await u(C,{experience:O.experience,provider:Vo,modelRef:jt?Ft:O.modelRef,status:"active",title:O.title==="New chat"?D.prompt.slice(0,64):O.title,cwd:tl});let $e=new AbortController,Ve={session:O,turn:K,controller:$e,...nf()};Bo.registerActiveTurn(C,Ve);let jg=_p(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(C,K.id).catch(async ne=>{await k(L({sessionId:C,turnId:K.id,name:"diagnostic",source:"server",status:"failed",output:`Peer presence notice unavailable: ${String(ne)}`}))}),await dg({context:no,childTurnId:K.id});let Se=await yr({storageHome:e.storageHome??t,attachmentRootDir:t,sessionId:C,turnId:K.id,attachments:D.attachments}),wt=O.experience==="work"?[...y?await y(O):[],...Se]:void 0,oo=Sr(xe?Se.map(ne=>({...ne,localPath:`/workspace/work/inputs/${Bk.basename(ne.name)}`})):Se),Ye=Vn(Wk(Ep(D.prompt,Ln),D.metadata),oo),Re=typeof D.metadata?.taskInputId=="string"?await Me.getTaskInput(D.metadata.taskInputId):null;Ye+=Dm(Re),Re?.payload.taskReportingOnly===!0&&(Ye+=`
|
|
138
138
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as ut}from"./chunk-SYUKES6H.js";import{a as pt}from"./chunk-IZ6DLEVY.js";import{b as se,m as mt,s as ft,t as ie,y as gt,z as ae}from"./chunk-YU3C6U5V.js";import{a as A,b as L}from"./chunk-KVTBX2UP.js";import{a as dt,d as Te}from"./chunk-BJXPQIVD.js";import{$ as it,Ea as ct,ha as at,pa as Ie}from"./chunk-
|
|
2
|
+
import{a as ut}from"./chunk-SYUKES6H.js";import{a as pt}from"./chunk-IZ6DLEVY.js";import{b as se,m as mt,s as ft,t as ie,y as gt,z as ae}from"./chunk-YU3C6U5V.js";import{a as A,b as L}from"./chunk-KVTBX2UP.js";import{a as dt,d as Te}from"./chunk-BJXPQIVD.js";import{$ as it,Ea as ct,ha as at,pa as Ie}from"./chunk-CJDGLPNX.js";import{e as st}from"./chunk-OQPJ7FJF.js";import{P as oe,R as lt}from"./chunk-FCXDPVGJ.js";import{I as _e}from"./chunk-2MEOUS24.js";import{a as i,c as Re,e as Pn}from"./chunk-FTQLQJQV.js";var kt=Re((as,yt)=>{"use strict";var Cn=["||","&&",";;","|&","<(","<<<",">>",">&","<&","&",";","(",")","|","<",">"],ht=/[\n\r\u2028\u2029]/,En=/[\s#!"$&'():;<=>@\\^`|]/g;yt.exports=i(function(t){return t.map(function(n){if(n==="")return"''";if(n&&typeof n=="object"){if("op"in n&&n.op==="glob"){if(typeof n.pattern!="string")throw new TypeError("glob token requires a string `pattern`");if(ht.test(n.pattern))throw new TypeError("glob `pattern` must not contain line terminators");return n.pattern.replace(En,"\\$&")}if("op"in n&&typeof n.op=="string"){if(Cn.indexOf(n.op)<0)throw new TypeError("invalid `op` value: "+JSON.stringify(n.op));return n.op.replace(/[\s\S]/g,"\\$&")}if("comment"in n&&typeof n.comment=="string"){if(ht.test(n.comment))throw new TypeError("`comment` must not contain line terminators");return"#"+n.comment}throw new TypeError("unrecognized object token shape")}return/["\s\\]/.test(n)&&!/'/.test(n)?"'"+n.replace(/(['])/g,"\\$1")+"'":/["'\s]/.test(n)?'"'+n.replace(/(["\\$`!])/g,"\\$1")+'"':String(n).replace(/([A-Za-z]:)?([#!"$&'()*,:;<=>?@[\\\]^`{|}~])/g,"$1\\$2")}).join(" ")},"quote")});var Tt=Re((ls,It)=>{"use strict";var _t="(?:"+["\\|\\|","\\&\\&",";;","\\|\\&","\\<\\(","\\<\\<\\<",">>",">\\&","<\\&","[&;()|<>]"].join("|")+")",wt=new RegExp("^"+_t+"$"),bt="|&;()<> \\t",Mn="'([^']*?)'",Wn='"((\\\\"|[^"])*?)"',On=/^#$/,xt="'",Rt='"',ce="$",D="",qn=4294967296;for(ve=0;ve<4;ve++)D+=(qn*Math.random()).toString(16);var ve,jn=new RegExp("^"+D);function Bn(e,t){for(var n=t.lastIndex,r=[],o;o=t.exec(e);)r[r.length]=o,t.lastIndex===o.index&&(t.lastIndex+=1);return t.lastIndex=n,r}i(Bn,"matchAll");function $n(e,t,n){var r=typeof e=="function"?e(n):e[n];return typeof r>"u"&&n!=""?r="":typeof r>"u"&&(r="$"),typeof r=="object"?t+D+JSON.stringify(r)+D:t+r}i($n,"getVar");function Nn(e,t,n){n||(n={});var r=n.escape||"\\",o=n.splitUnquoted===!0?`
|
|
3
3
|
`:typeof n.splitUnquoted=="string"?n.splitUnquoted:"",s="(\\"+r+`['"`+bt+`]|[^\\s'"`+bt+"])+",a=new RegExp(["("+_t+")","("+s+"|"+Wn+"|"+Mn+")+"].join("|"),"g"),d=Bn(e,a);if(d.length===0)return[];t||(t={});var c=!1;return d.map(function(l){var u=l[0];if(!u||c)return;if(wt.test(u))return{op:u};var p=!1,f=!1,m="",h=[],N=!1,R=null,V=!1,k;function tt(){k+=1;var I,X,be=u.charAt(k);if(be==="{"){if(k+=1,u.charAt(k)==="}")throw new Error("Bad substitution: "+u.slice(k-2,k+1));var re=1;for(I=k;re>0&&I<u.length;)u.charAt(I)==="{"&&u.charAt(I-1)==="$"?re+=1:u.charAt(I)==="}"&&(re-=1),I+=1;if(re!==0)throw new Error("Bad substitution: "+u.slice(k));I-=1,X=u.slice(k,I),k=I}else if(/[*@#?$!_-]/.test(be))X=be,k+=1;else{var xe=u.slice(k);I=xe.match(/[^\w\d_]/),I?(X=xe.slice(0,I.index),k+=I.index-1):(X=xe,k=u.length)}return $n(t,"",X)}i(tt,"parseEnvVar");function nt(){if(R!==null){if(R===0)m!==""&&(h[h.length]=m,m="");else{h[h.length]=m,m="";for(var I=1;I<R;I+=1)h[h.length]=""}R=null}}for(i(nt,"flushRun"),k=0;k<u.length;k++){var w=u.charAt(k);if(o&&w!==ce&&nt(),V=V||!p&&(w==="*"||w==="?"),f)m+=w,f=!1;else if(p)w===p?p=!1:p==xt?m+=w:w===r?(k+=1,w=u.charAt(k),w===Rt||w===r||w===ce?m+=w:m+=r+w):w===ce?m+=tt():m+=w;else if(w===Rt||w===xt)p=w,N=!0;else{if(wt.test(w))return{op:u};if(On.test(w)){c=!0;var rt={comment:e.slice(l.index+k+1)};return m.length?[m,rt]:[rt]}else if(w===r)f=!0;else if(w===ce){var ke=tt();if(!o)m+=ke;else for(var we=0;we<ke.length;we+=1){var W=ke.charAt(we);o.indexOf(W)<0?(nt(),m+=W):R===null?R=W===" "||W===" "||W===`
|
|
4
4
|
`?0:1:W!==" "&&W!==" "&&W!==`
|
|
5
5
|
`&&(R+=1)}}else m+=w}}if(V)return{op:"glob",pattern:m};if(o){if(R!==null&&R>0){h[h.length]=m,m="";for(var ot=1;ot<R;ot+=1)h[h.length]=""}return(m!==""||N&&h.length===0)&&(h[h.length]=m),h}return m}).reduce(function(l,u){return typeof u>"u"||[].concat(u).forEach(function(p){l[l.length]=p}),l},[])}i(Nn,"parseInternal");It.exports=i(function(t,n,r){var o=Nn(t,n,r);return typeof n!="function"?o:o.reduce(function(s,a){if(typeof a=="object")return s[s.length]=a,s;var d=a.split(RegExp("("+D+".*?"+D+")","g"));return d.length===1?(s[s.length]=d[0],s):(d.filter(Boolean).forEach(function(c){s[s.length]=jn.test(c)?JSON.parse(c.split(D)[1]):c}),s)},[])},"parse")});var vt=Re(Se=>{"use strict";Se.quote=kt();Se.parse=Tt()});var Mt=Pn(vt(),1);import{spawn as Ln}from"node:child_process";import{randomUUID as Dn}from"node:crypto";import Z from"node:path";import{mkdir as Fn}from"node:fs/promises";var Un=120,zn=3600,ue=6e4,St=2e4,Jn="Select a project to use this.";function Rs(e){let{upsertApproval:t,appendRuntimeEvent:n}=e,r=new Map,o=new Set;async function s(c){let l=c.command.trim();if(!l)return de(l,null,"Command is empty.",Pt(c.timeoutSeconds));let u=Pt(c.timeoutSeconds),p=A({session:c.session}),f=Yn({requestedCwd:c.cwd,session:c.session}),m=!f&&!c.session.workspaceKind&&!c.session.systemKind&&e.managedChatCwd;m&&(f=Z.join(m,c.session.id.replace(/[^a-zA-Z0-9_-]/g,"_")),await Fn(f,{recursive:!0}));let h=!!(c.cwd?.trim()&&Z.isAbsolute(c.cwd.trim()));if(p.target==="sandbox"||!f||p.target!=="local"&&!h&&!m)return de(l,f,Jn,u);let N=c.session.openPondCommandAccessMode??_e;if(N==="disabled")return de(l,f,"Command access is disabled for this chat.",u);let R=Hn(l);if(N==="ask"&&!o.has(At(c.session.id,R))){let k=await d({command:l,cwd:f,family:R,input:c,timeoutSeconds:u});if(k==="acceptForSession"&&o.add(At(c.session.id,R)),k!=="accept"&&k!=="acceptForSession")return de(l,f,k==="cancel"?"Command was cancelled.":"Command was not approved.",u)}let V=e.executionEnvironment?await e.executionEnvironment(c):{};return Zn({command:l,cwd:f,timeoutSeconds:u,signal:c.signal,env:V})}i(s,"executeCommand");async function a(c,l){let u=r.get(c);if(!u)return null;let p=it.parse(l);r.delete(c);let f=er(p.decision),m={...u.approval,status:f};return await t(m),await n(Te({sessionId:m.sessionId,turnId:m.turnId??void 0,name:"approval.resolved",source:"server",action:"command",status:f==="accepted"||f==="accepted_for_session"?"completed":"failed",output:m.title,data:{approvalId:c,status:f,decision:p.decision,family:u.family}})),u.resolve(p.decision),m}i(a,"resolveApproval");async function d(c){let l={id:`approval_${Dn()}`,sessionId:c.input.session.id,turnId:c.input.turnId??null,providerRequestId:c.input.providerRequestId??c.input.turnId??c.input.session.id,kind:"command",title:c.command,detail:JSON.stringify({command:c.command,cwd:c.cwd,timeoutSeconds:c.timeoutSeconds,source:c.input.source,mode:c.input.session.openPondCommandAccessMode??_e,risk:Xn(c.command),sessionApprovalFamily:{key:c.family.key,label:c.family.label,broad:c.family.broad,reason:c.family.reason}},null,2),status:"pending",createdAt:dt()},u,p=new Promise(f=>{u=f});r.set(l.id,{approval:l,family:c.family,resolve:u});try{await t(l),await n(Te({sessionId:c.input.session.id,turnId:c.input.turnId??void 0,name:"approval.requested",source:"server",action:"command",appId:c.input.session.appId,status:"pending",output:l.title,data:l}))}catch(f){throw r.delete(l.id),f}return p}return i(d,"requestCommandApproval"),{executeCommand:s,resolveApproval:a}}i(Rs,"createOpenPondCommandAccessService");function Wt(e){return JSON.stringify({ok:e.ok,action:"exec_command",output:Qn(e),data:{command:e.command,cwd:e.cwd,exitCode:e.exitCode,stdout:Et(e.stdout),stderr:Et(e.stderr),timedOut:e.timedOut,timeoutSeconds:e.timeoutSeconds,truncated:e.truncated,blockedReason:e.blockedReason}},null,2)}i(Wt,"commandResultForModel");function Hn(e){let t=Kn(e);if(!t)return le(e,"Could not safely parse shell command.");let n=Gn(t);if(n===-1)return le(e,"Could not find command executable.");if(Vn(t))return le(e,"Shell operators require exact-command session approval.");let r=t[n],o=t[n+1]??null;return r==="pwd"?Y("pwd","pwd","Allowlisted read-only command."):r==="ls"?Y("ls","ls","Allowlisted directory listing command."):r==="git"&&o==="status"?Y("git status","git status","Allowlisted git status family."):r==="docker"&&o==="system"?Y("docker system","docker system","Allowlisted Docker system inspection family."):r==="bun"&&o==="run"?Y("bun run","bun run","Allowlisted Bun script execution family."):le(e,"Command is not in the broad session-approval allowlist.")}i(Hn,"classifyCommandFamily");function Kn(e){try{let t=(0,Mt.parse)(e),n=[];for(let r of t){if(typeof r=="string"){n.push(r);continue}if(!r||typeof r!="object")return null;let o=r.op;if(typeof o=="string"){n.push(o);continue}return null}return n}catch{return null}}i(Kn,"safeShellTokens");function Gn(e){for(let t=0;t<e.length;t+=1){let n=e[t];if(!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n))return t}return-1}i(Gn,"firstCommandTokenIndex");function Vn(e){return e.some(t=>/^(?:\||&&|\|\||;|&|<|>|\(|\)|\{|\})$/.test(t))}i(Vn,"hasUnsafeShellSyntax");function Y(e,t,n){return{key:e,label:t,broad:!0,reason:n}}i(Y,"broadFamily");function le(e,t){return{key:`exact:${e}`,label:e,broad:!1,reason:t}}i(le,"exactCommandFamily");function At(e,t){return`${e}:${t.key}`}i(At,"sessionFamilyKey");function Xn(e){let t=e.toLowerCase();return/\b(?:sudo|rm\s+-rf|mkfs|dd\s+if=|docker\s+(?:volume\s+rm|system\s+prune|container\s+rm)|kill(?:all)?)\b/.test(t)?"danger":/\b(?:npm|pnpm|yarn|bun)\s+(?:install|add|remove)|\bgit\s+(?:commit|push|reset|checkout|merge|rebase)|[>|]|\b(?:mv|cp|rm|touch|mkdir|docker\s+(?:run|build|compose))\b/.test(t)?"write":"read"}i(Xn,"commandRiskLabel");function Yn(e){let t=e.requestedCwd?.trim();return t?Z.isAbsolute(t)?Z.resolve(t):e.session.cwd?Z.resolve(e.session.cwd,t):null:e.session.cwd?.trim()||null}i(Yn,"resolveCommandCwd");function Pt(e){return Number.isFinite(e??NaN)?Math.max(1,Math.min(Math.floor(e),zn)):Un}i(Pt,"normalizedTimeout");function de(e,t,n,r){return{ok:!1,command:e,cwd:t,exitCode:null,stdout:"",stderr:n,timedOut:!1,timeoutSeconds:r,truncated:!1,blockedReason:n}}i(de,"blockedCommandResult");function Zn(e){return new Promise(t=>{let n=!1,r=!1,o="",s="",a=!1,d=null,c=ut(e.command),l=Ln(c.command,{cwd:e.cwd,shell:c.shell,env:{...process.env,PATH:pt(),...e.env},stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"}),u=i(h=>{n||(n=!0,clearTimeout(m),d&&clearTimeout(d),e.signal?.removeEventListener("abort",f),t(h))},"finish"),p=i((h,N)=>{let R=N.toString("utf8");h==="stdout"?o=Ae(o,R):s=Ae(s,R),o.length+s.length>=ue&&(a=!0)},"appendOutput"),f=i(()=>{Pe(l,"SIGTERM"),u({ok:!1,command:e.command,cwd:e.cwd,exitCode:null,stdout:o,stderr:s||"Command was interrupted.",timedOut:!1,timeoutSeconds:e.timeoutSeconds,truncated:a,blockedReason:"Command was interrupted."}),Ct(l)},"abort"),m=setTimeout(()=>{r=!0,Pe(l,"SIGTERM"),d=Ct(l)},e.timeoutSeconds*1e3);e.signal?.addEventListener("abort",f,{once:!0}),l.stdout?.on("data",h=>p("stdout",h)),l.stderr?.on("data",h=>p("stderr",h)),l.on("error",h=>{u({ok:!1,command:e.command,cwd:e.cwd,exitCode:null,stdout:o,stderr:h.message,timedOut:r,timeoutSeconds:e.timeoutSeconds,truncated:a,blockedReason:null})}),l.on("close",h=>{u({ok:!r&&(h??1)===0,command:e.command,cwd:e.cwd,exitCode:r?null:h??1,stdout:o,stderr:r?Ae(s,`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{a as N,b as y,c as J}from"./chunk-LXZLLTYQ.js";import{ab as D,bb as $,eb as A,fb as O,hb as z,ja as j,kb as K,nb as M,ob as G,pb as _,qb as B,rb as L}from"./chunk-WLZJOCLA.js";import{f as b,m as d}from"./chunk-HIQPGYVH.js";import{Hb as U,Kb as P,Ob as T,qb as R}from"./chunk-QAFXQHHG.js";import{Eb as v,Fb as H,fb as q,l as E,pa as C,sa as S,ta as k}from"./chunk-ZY32SZ2P.js";import{A as r}from"./chunk-X2J2P5ZT.js";import{a as l}from"./chunk-FTQLQJQV.js";var F=r.string().regex(/^[a-f0-9]{64}$/),V=r.object({request:D,maximumCostUsd:r.number().finite().positive().max(1e4),graders:r.array(K).min(1).max(100),admissionRequestHash:F.optional(),sourceExperimentId:r.string().trim().min(1).max(200).optional()}).strict(),ee=V.extend({configurationHash:F}).strict(),te=$.extend({configuration:ee}).strict();function w(s){return s.policy.kind==="hosted_harness"?{...s,population:s.population.map(({receiptId:t,...e})=>e)}:s}l(w,"experimentConfigurationRequest");function se(s){let t=V.parse(s);return d({...t,request:w(t.request)})}l(se,"experimentRunConfigurationHash");async function re(s){let t=te.parse(s),{configuration:e,...a}=t,n=await O(a),{configurationHash:o,...i}=e;if(o!==se(i)||d(w(e.request))!==d(w(n.request))||e.maximumCostUsd!==n.manifest.limits.maximumSpendUsd)throw new Error("Experiment configuration differs from its retained run.");if(n.manifest.metadata.experimentDefinition===null){let m=G.parse({definition:null,configurationHash:e.configurationHash,maximumCostUsd:e.maximumCostUsd,graders:e.graders,...e.admissionRequestHash?{admissionRequestHash:e.admissionRequestHash}:{},...e.sourceExperimentId?{sourceExperimentId:e.sourceExperimentId}:{}});if(n.manifest.metadata.experimentConfigurationHash!==d(m))throw new Error("Experiment configuration differs from its admitted manifest.")}return{...n,configuration:e}}l(re,"verifyExperimentRunDetails");var ae=r.object({teamId:r.string().trim().min(1).max(240),items:r.array(r.object({name:r.string().trim().min(1).max(500),source:q,ready:r.boolean(),reason:r.string().min(1).max(2e3).nullable()}).strict()).max(8),nextCursor:r.string().min(1).max(8192).nullable()}).strict(),p=r.string().min(1).max(500),X=r.string().regex(/^[a-f0-9]{64}$/),g=r.iso.datetime(),I=r.number().finite().nonnegative().nullable(),h=r.number().int().nonnegative().nullable(),Q=r.object({id:p,sequence:r.number().int().nonnegative(),at:g.nullable(),type:r.string().max(160),action:r.string().max(160).nullable(),correlationId:p.nullable(),attempt:h,taskId:p.nullable(),status:r.string().max(100).nullable(),errorCode:r.string().max(200).nullable(),cleanupComplete:r.boolean().nullable()}).strict(),ne=r.object({id:p,kind:r.string().max(100),status:r.string().max(100),receiptId:p.nullable(),maximumUsd:I,settledUsd:I,model:r.string().max(200).nullable(),durationMs:h,inputTokens:h,outputTokens:h,totalTokens:h}).strict(),W=r.object({schemaVersion:r.literal("openpond.runDiagnostics.v1"),teamId:p,runId:p,location:r.enum(["local","hosted"]),manifestHash:X,observedAt:g,status:r.string().max(100),startedAt:g.nullable(),completedAt:g.nullable(),error:r.string().max(8192).nullable(),resultAvailable:r.boolean(),parent:r.object({id:p,status:r.string().max(100),attempt:h,heartbeatAt:g.nullable(),leaseExpiresAt:g.nullable(),releasedAt:g.nullable(),errorCode:r.string().max(200).nullable()}).strict().nullable(),accounting:r.object({maximumUsd:I,settledUsd:I,outstandingUsd:I,outstandingCount:h,final:r.boolean(),receiptCount:h}).strict(),events:r.array(Q).max(100),nextEventCursor:r.number().int().nonnegative().nullable(),eventCount:r.number().int().nonnegative(),calls:r.array(ne).max(100),nextCallCursor:p.nullable(),callCount:r.number().int().nonnegative(),limitations:r.array(r.string().max(1e3)).max(30)}).strict(),ie=W.extend({contentHash:X}).strict(),oe=r.object({afterSequence:r.number().int().nonnegative().optional(),afterCallId:p.optional()}).strict();function Re(s){let t=W.parse(s);return{...t,contentHash:d(t)}}l(Re,"sealRunDiagnostics");function de(s,t){let e=ie.parse(s),{contentHash:a,...n}=e;if(a!==d(n)||e.teamId!==t.teamId||e.runId!==t.runId||t.manifestHash&&e.manifestHash!==t.manifestHash)throw new Error("Diagnostics differ from the selected workspace, run or retained evidence.");if(e.events.length>e.eventCount||e.calls.length>e.callCount||new Set(e.events.map(o=>o.id)).size!==e.events.length||e.events.some((o,i)=>o.sequence<=(i?e.events[i-1].sequence:t.afterSequence??-1))||e.calls.some((o,i)=>o.id<=(i?e.calls[i-1].id:t.afterCallId??""))||e.nextEventCursor!==null&&e.nextEventCursor!==e.events.at(-1)?.sequence||e.nextCallCursor!==null&&e.nextCallCursor!==e.calls.at(-1)?.id||e.accounting.final&&(e.accounting.outstandingCount!==0||e.accounting.settledUsd===null||!e.accounting.receiptCount))throw new Error("Diagnostic evidence pagination or final accounting is inconsistent.");return e}l(de,"verifyRunDiagnostics");function Ue(s){let t=l(o=>o!==null&&typeof o=="object"&&!Array.isArray(o)?o:{},"record"),e=t(s.payload),a=t(e.data),n=l((o,i)=>typeof o=="string"&&/^[a-zA-Z0-9_.:/-]+$/.test(o)?o.slice(0,i):null,"token");return Q.parse({id:s.id,sequence:s.sequence,at:s.at,type:s.type.slice(0,160),action:n(e.action,160),correlationId:n(a.callId??a.toolCallId,500),attempt:typeof e.attempt=="number"&&Number.isInteger(e.attempt)&&e.attempt>=0?e.attempt:null,taskId:n(e.taskId??a.taskId,500),status:n(e.status,100),errorCode:n(e.errorCode??e.code,200),cleanupComplete:typeof e.complete=="boolean"&&s.type==="experiment.harness.cleanup"?e.complete:null})}l(Ue,"diagnosticEvent");function Pe(s){return s?s.match(/\b[a-z][a-z0-9]+(?:_[a-z0-9]+){1,12}\b/g)?.slice(0,6).join(" / ")||"Failure recorded. Inspect the authorized run for its exact message.":null}l(Pe,"diagnosticFailure");var c=r.string().trim().min(1).max(200),ce=class extends Error{static{l(this,"OpenPondExperimentError")}constructor(s,t,e){super(e),this.status=s,this.code=t,this.name="OpenPondExperimentError"}status;code},Te=class{static{l(this,"OpenPondExperimentsClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async defaults(s){return r.object({maximumSpendUsd:r.number().finite().min(1e-6).max(1e4),maximumComparisonSpendUsd:r.number().finite().min(1e-6).max(1e4),initialOutputTokens:r.number().int().positive()}).strict().parse(await this.request("/defaults","GET",void 0,s))}async createComparisonBudget(s,t){let e=r.object({id:c,operationIds:r.array(c).min(1).max(100),maximumSpendUsd:r.number().finite().min(1e-6).max(1e4).optional()}).strict().parse(s),a=this.comparisonBudgetResult(await this.request("/comparison-budgets","POST",e,t),e.id);if(d(a.operations.map(n=>n.operationId).sort())!==d([...e.operationIds].sort())||e.maximumSpendUsd!==void 0&&a.maximumSpendUsd!==e.maximumSpendUsd)throw new Error("Comparison admission differs from its requested operations or ceiling.");return a}async comparisonBudget(s,t){return this.comparisonBudgetResult(await this.request(`/comparison-budgets/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t),s)}comparisonBudgetResult(s,t){let e=r.object({id:c,teamId:c,maximumSpendUsd:r.number().finite().positive(),settledUsd:r.number().finite().nonnegative(),reservedUsd:r.number().finite().nonnegative(),remainingUsd:r.number().finite().nonnegative(),operations:r.array(r.object({operationId:c,runId:c.nullable()}).strict()).min(1).max(100)}).strict().parse(s);if(e.id!==t||e.teamId!==this.options.teamId)throw new Error("Comparison budget scope mismatch.");return e}async harnessSources(s={}){let t=s.cursor===void 0?void 0:r.string().min(1).max(8192).parse(s.cursor),e=new URLSearchParams(t?{cursor:t}:{}),a=ae.parse(await this.request(`/harness-sources?${e}`,"GET",void 0,s.signal));if(a.teamId!==this.options.teamId||new Set(a.items.map(n=>d(n.source))).size!==a.items.length||a.nextCursor!==null&&a.nextCursor===t||a.items.some(n=>n.ready!==(n.reason===null)))throw new Error("Harness catalog differs from its workspace, readiness or continuation.");return a}async prepareHarness(s,t){let e=_.parse({...s,maximumCostUsd:s.maximumCostUsd??(await this.defaults(t)).maximumSpendUsd}),a=B.parse(await this.request("/harness-setup","POST",e,t));A(a.request,a.manifest);let n=a.request.policy;if(a.request.teamId!==this.options.teamId||a.request.operationId!==e.operationId||n.kind!=="hosted_harness"||n.profileRepositoryId!==e.profileRepositoryId||n.source.definitionId!==e.definitionId||n.modelId!==e.modelId||n.reasoningEffort!==e.reasoningEffort||a.maximumCostUsd!==e.maximumCostUsd||a.manifest.limits.maximumSpendUsd!==e.maximumCostUsd)throw new Error("Harness preparation differs from its requested scope or configuration.");return a}async run(s,t){let e=L.parse({...s,maximumCostUsd:s.maximumCostUsd??(await this.defaults(t)).maximumSpendUsd});if(e.request.teamId!==this.options.teamId)throw new Error("Experiment workspace mismatch.");let a=await this.details(await this.request("","POST",{...e,maximumCostUsd:s.maximumCostUsd},t));if(s.maximumCostUsd===void 0&&(e.maximumCostUsd=a.configuration.maximumCostUsd),d(w(a.request))!==d(w(e.request))||a.configuration.maximumCostUsd!==e.maximumCostUsd||a.configuration.sourceExperimentId!==e.sourceExperimentId||a.configuration.admissionRequestHash!==d(e))throw new Error("Experiment admission differs from its submitted configuration.");if(e.graders&&d(e.graders)!==d(a.configuration.graders.map(n=>({id:n.id,version:n.version,contentHash:n.contentHash,mappings:n.mappings??[]}))))throw new Error("Experiment admission differs from its selected graders or mappings.");return a}async get(s,t={}){return this.details(await this.request(`/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t.signal),s)}async diagnostics(s,t={}){let e=oe.parse({afterSequence:t.afterSequence,afterCallId:t.afterCallId}),a=new URLSearchParams(Object.entries(e).filter(([,n])=>n!==void 0).map(([n,o])=>[n,String(o)]));return de(await this.request(`/${encodeURIComponent(c.parse(s))}/diagnostics?${a}`,"GET",void 0,t.signal),{teamId:this.options.teamId,runId:s,manifestHash:t.manifestHash,afterSequence:t.afterSequence,afterCallId:t.afterCallId})}async list(s={},t){let e=M.parse(s),a=new URLSearchParams(Object.entries(e).filter(([,i])=>i!==void 0).map(([i,m])=>[i,String(m)])),n=r.object({items:r.array(r.unknown()).max(100),nextCursor:c.nullable()}).strict().parse(await this.request(`?${a}`,"GET",void 0,t)),o=await Promise.all(n.items.map(i=>this.details(i)));if(o.length>e.limit||new Set(o.map(i=>i.summary.id)).size!==o.length||n.nextCursor!==null&&n.nextCursor!==o.at(-1)?.summary.id||o.some(i=>e.projectId&&i.request.project?.id!==e.projectId||e.datasetHash&&i.request.taskset.contentHash!==e.datasetHash||e.status&&i.summary.status!==e.status))throw new Error("Experiment page differs from its selected scope.");return{items:o,nextCursor:n.nextCursor}}async result(s,t){let e=r.object({executionId:c,passId:c.nullable(),manifest:r.unknown(),result:r.unknown()}).strict().parse(await this.request(`/${encodeURIComponent(c.parse(s))}/result`,"GET",void 0,t)),a=v(e);if(e.executionId!==s||a.manifest.teamId!==this.options.teamId||a.manifest.lineage?.execution.id!==s||a.manifest.lineage.scoringPassId!==e.passId)throw new Error("Experiment result identity mismatch.");return{...a,executionId:s,passId:e.passId}}async cancel(s,t){return this.details(await this.request(`/${encodeURIComponent(c.parse(s))}/cancel`,"POST",{},t),s)}async duplicate(s,t,e){let a=await this.details(await this.request(`/${encodeURIComponent(c.parse(s))}/duplicate`,"POST",{operationId:c.parse(t)},e));if(a.request.operationId!==t||a.configuration.sourceExperimentId!==s||a.summary.id===s)throw new Error("Duplicate Experiment admission differs from its source or operation.");return a}async score(s,t){let e=N.parse(s),a=this.pass(await this.request(`/${encodeURIComponent(e.execution.id)}/scoring-passes`,"POST",e,t));if(d(a.request)!==d(e))throw new Error("Scoring admission differs from its submitted inputs.");return a}async scoringPass(s,t){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t),s)}async scoringPasses(s,t={}){let e=new URLSearchParams(t.afterId?{afterId:c.parse(t.afterId)}:{});t.executionKind&&e.set("executionKind",r.literal("recorded_evidence").parse(t.executionKind));let a=r.object({items:r.array(r.unknown()).max(30),nextCursor:c.nullable()}).strict().parse(await this.request(`/${encodeURIComponent(c.parse(s))}/scoring-passes?${e}`,"GET",void 0,t.signal)),n=a.items.map(o=>this.pass(o));if(n.some(o=>o.request.execution.id!==s||o.request.executionKind!==t.executionKind)||new Set(n.map(o=>o.id)).size!==n.length)throw new Error("Scoring pass page differs from its execution ownership.");return{items:n,nextCursor:a.nextCursor}}async cancelScoringPass(s,t){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}/cancel`,"POST",{},t),s)}async scoringResult(s,t){let e=r.object({executionId:c,passId:c,manifest:r.unknown(),result:r.unknown()}).strict().parse(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}/result`,"GET",void 0,t)),a=v(e);if(e.passId!==s||a.manifest.teamId!==this.options.teamId||a.manifest.id!==s||a.manifest.lineage?.execution.id!==e.executionId||a.manifest.lineage.scoringPassId!==s)throw new Error("Scoring result identity mismatch.");return{...a,executionId:e.executionId,passId:s}}async compare(s,t,e){let a=l(i=>i.startsWith("score_")?this.scoringResult(i,e):this.result(i,e),"read"),[n,o]=await Promise.all([a(s),a(t)]);return{baseline:n,candidate:o,comparison:H(n,o)}}async details(s,t){let e=await re(s);if(e.summary.teamId!==this.options.teamId||t&&e.summary.id!==t)throw new Error("Experiment identity mismatch.");return e}pass(s,t){let e=y(s);if(e.teamId!==this.options.teamId||t&&e.id!==t)throw new Error("Scoring pass identity mismatch.");return e}async request(s,t,e,a){let n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments${s}`,{method:t,signal:a,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json",Accept:"application/json"},...e===void 0?{}:{body:JSON.stringify(e)}}),o=await n.json();if(!n.ok){let i=r.object({code:r.string(),message:r.string()}).safeParse(o);throw new ce(n.status,i.success?i.data.code:"experiment_request_failed",i.success?i.data.message:"Experiment request failed.")}return o}},f=r.string().trim().min(1).max(500),Z=r.string().regex(/^[a-f0-9]{64}$/),me=r.object({schemaVersion:r.literal("openpond.experimentCaseInspection.v1"),teamId:f,executionId:f,manifestHash:Z,receiptId:f,taskId:f,seed:r.string().min(1),input:r.record(r.string(),r.unknown()).nullable(),output:r.unknown().nullable(),error:r.string().nullable(),events:r.array(r.record(r.string(),r.unknown())).max(25),nextEventCursor:f.nullable(),eventCount:r.number().int().nonnegative()}).strict(),ue=me.extend({contentHash:Z}).strict(),De=class{static{l(this,"OpenPondExperimentInspectionClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async case(s,t,e={}){let a=new URLSearchParams(e.afterId?{afterId:f.parse(e.afterId)}:{}),n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments/${encodeURIComponent(f.parse(s))}/cases/${encodeURIComponent(f.parse(t))}?${a}`,{signal:e.signal,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,Accept:"application/json"}}),o=await n.json();if(!n.ok)throw new Error(r.object({message:r.string()}).parse(o).message);let i=ue.parse(o),{contentHash:m,...u}=i;if(d(u)!==m||i.teamId!==this.options.teamId||i.executionId!==s||i.receiptId!==t||e.manifestHash&&i.manifestHash!==e.manifestHash||i.events.length>i.eventCount)throw new Error("Case inspection differs from its requested workspace, execution or retained content.");return i}};function le(s){return JSON.stringify(s.release?["reward",s.release.id,s.release.revision,s.release.contentHash,s.feedbackKey]:["dataset",s.id,s.version,s.contentHash,s.feedbackKey])}l(le,"datasetGraderIdentity");function pe(s){let t=new Map;for(let e of s){let a=le(e),n=t.get(a);n?n.aliases.push(e):t.set(a,{key:a,grader:e,aliases:[e]})}return[...t.values()]}l(pe,"groupDatasetGraders");function $e(s){let t=pe(s),e=new Map;for(let a of t){let n=e.get(a.grader.feedbackKey);if(n&&n!==a.key)throw new Error(`Different selected grader releases use feedback key "${a.grader.feedbackKey}". Select one, or publish graders with distinct feedback keys.`);e.set(a.grader.feedbackKey,a.key);let o=JSON.stringify(a.grader.mappings??[]);if(a.aliases.some(i=>JSON.stringify(i.mappings??[])!==o))throw new Error(`Aliases of grader "${a.grader.feedbackKey}" have different field mappings. Select one alias and review its mappings.`)}return t.map(a=>a.grader)}l($e,"canonicalDatasetGraderSelection");function Ke(s){let t=C(s.binding),e=j(s.packageValue),a=e.taskset;if(a.id!==t.dataset.id||a.revision!==t.dataset.revision||a.contentHash!==t.dataset.contentHash||e.contentHash!==t.packageHash||d(a.environment)!==t.environmentHash||d(e.files.filter(n=>n.asset.visibility!=="policy").map(n=>n.asset))!==t.privateDatasetClosureHash)throw new Error("The selected Dataset package, environment or protected closure changed.");if(t.population.length>500)throw new Error("Select at most 500 exact Dataset cases before starting this bounded Profile evaluation.");for(let n of t.population){let o=a.tasks.find(i=>i.id===n.taskId);if(!o||o.split!==t.split)throw new Error("The selected ordered population is outside its exact Dataset split.");if(n.fixtureId!==null)throw new Error("This recorded cutoff needs an admitted replay fixture before executing the Profile target.")}if(t.gradingSource){if(!s.actualGrading)throw new Error("The actual selected scoring owner is required for this recipe.");let n=y(s.actualGrading.pass),o=v(r.object({manifest:r.unknown(),result:r.unknown()}).strict().parse(s.actualGrading.evidence));if(n.status!=="completed"||n.id!==t.gradingSource.pass.id||n.contentHash!==t.gradingSource.pass.contentHash||o.manifest.id!==t.gradingSource.evidence.id||o.result.contentHash!==t.gradingSource.evidence.contentHash||o.manifest.lineage?.scoringPassId!==n.id||d(o.manifest.dataset)!==d(t.dataset)||d(o.manifest.evaluators)!==d(t.evaluators)||d(t.fieldMappings)!==d(n.graders.map(u=>({graderId:u.id,fields:u.mappings??[]}))))throw new Error("The selected scoring owner changed its exact Dataset, measurements or mappings.");let i=o.manifest.population,m=t.recordedOrigin?t.recordedOrigin.members.map(u=>({caseId:u.caseId,seed:u.seed,fixtureId:u.fixtureId})):t.population.map(u=>({caseId:u.taskId,seed:u.seed,fixtureId:u.fixtureId}));if(i.length!==m.length||i.some((u,Y)=>d(u)!==d(m[Y])))throw new Error("The selected scoring population differs from the exact ordered original cases and cutoffs.")}else{if(t.fieldMappings.some(i=>!a.graders.some(m=>m.id===i.graderId)))throw new Error("The field mappings name a grader outside the selected release.");for(let i of t.fieldMappings)z.parse(i.fields);let n=t.evaluators.map(i=>{let m=s.graders.find(u=>u.feedbackKey===i.feedbackKey&&d(u.release??{id:u.id,revision:u.version,contentHash:u.contentHash})===d(i.release));if(!m)throw new Error("Select an exact released Dataset grader for this external recipe.");return m});if(t.fieldMappings.some(i=>!n.some(m=>m.id===i.graderId)))throw new Error("Field mappings refer to an unselected grader.");let o=n.map(i=>({release:i.release??{id:i.id,revision:i.version,contentHash:i.contentHash},feedbackKey:i.feedbackKey,configurationHash:d({graderHash:i.contentHash,mappings:t.fieldMappings.find(m=>m.graderId===i.id)?.fields??[]}),output:"score",categories:[]}));if(d(o)!==d(t.evaluators))throw new Error("The external recipe's graders or mappings differ from the current exact released grading settings.");for(let i of s.graders)if(!a.graders.some(m=>m.id===i.id&&m.version===i.version&&d(m)===i.contentHash))throw new Error("External grader pins differ from the actual Dataset implementation.")}for(let n of s.graders)if(!a.graders.some(o=>o.id===n.id&&o.version===n.version&&d(o)===n.contentHash))throw new Error("Dataset-native grader pins differ from their actual implementation.");return e}l(Ke,"verifyExternalDatasetPackage");var x=r.string().trim().min(1).max(240),fe=r.object({profileRef:r.object({source:r.enum(["local","github","openpond_git"]),repositoryId:x,profileId:x}).strict(),sourceRevision:r.string().min(1).max(500),harnessRelease:b,catalogHash:r.string().regex(/^[a-f0-9]{64}$/).nullable(),definitions:r.array(S).max(1e3),suites:r.array(k).max(100),runs:r.array(r.object({profileRef:r.object({source:r.enum(["local","github","openpond_git"]),repositoryId:x,profileId:x}).strict(),manifest:R,metric:E,gradeRefs:r.array(b),receiptRefs:r.array(b),passRate:r.number().min(0).max(1),passed:r.boolean(),completedAt:r.iso.datetime(),contentHash:r.string().regex(/^[a-f0-9]{64}$/)}).strict()).max(1e3),comparisons:r.array(U).max(1e3),suiteRuns:r.array(T).max(1e3),reports:r.array(P).max(1e3)}).strict(),he=r.object({teamId:x,profileRepositoryId:x,trainingProjectId:x.optional()}).strict(),_e=class{static{l(this,"OpenPondProfileEvaluationDiscoveryClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("Profile discovery requires a scoped HTTP endpoint and owner credential.")}options;async read(s,t){let e=he.parse({...s,teamId:this.options.teamId}),{response:a,value:n}=await J(this.options.fetch??fetch,`${this.options.baseUrl.replace(/\/$/,"")}/v1/profile-evaluation-discovery`,{method:"POST",redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},(i,m,u)=>new Error(u));if(!a.ok)throw new Error("The released Profile evaluation owner is unavailable to this account and workspace.");let o=fe.parse(n);if(o.profileRef.repositoryId!==e.profileRepositoryId)throw new Error("Profile discovery returned another source owner.");return o}};export{te as a,oe as b,Re as c,Ue as d,Pe as e,ce as f,Te as g,De as h,$e as i,Ke as j,_e as k};
|
|
2
|
+
import{a as N,b as y,c as J}from"./chunk-LI56PPCN.js";import{ab as D,bb as $,eb as A,fb as O,hb as z,ja as j,kb as K,nb as M,ob as G,pb as _,qb as B,rb as L}from"./chunk-5ZNE43XC.js";import{f as b,m as d}from"./chunk-HIQPGYVH.js";import{Hb as U,Kb as P,Ob as T,qb as R}from"./chunk-QAFXQHHG.js";import{Eb as v,Fb as H,fb as q,l as E,pa as C,sa as S,ta as k}from"./chunk-ZY32SZ2P.js";import{A as r}from"./chunk-X2J2P5ZT.js";import{a as l}from"./chunk-FTQLQJQV.js";var F=r.string().regex(/^[a-f0-9]{64}$/),V=r.object({request:D,maximumCostUsd:r.number().finite().positive().max(1e4),graders:r.array(K).min(1).max(100),admissionRequestHash:F.optional(),sourceExperimentId:r.string().trim().min(1).max(200).optional()}).strict(),ee=V.extend({configurationHash:F}).strict(),te=$.extend({configuration:ee}).strict();function w(s){return s.policy.kind==="hosted_harness"?{...s,population:s.population.map(({receiptId:t,...e})=>e)}:s}l(w,"experimentConfigurationRequest");function se(s){let t=V.parse(s);return d({...t,request:w(t.request)})}l(se,"experimentRunConfigurationHash");async function re(s){let t=te.parse(s),{configuration:e,...a}=t,n=await O(a),{configurationHash:o,...i}=e;if(o!==se(i)||d(w(e.request))!==d(w(n.request))||e.maximumCostUsd!==n.manifest.limits.maximumSpendUsd)throw new Error("Experiment configuration differs from its retained run.");if(n.manifest.metadata.experimentDefinition===null){let m=G.parse({definition:null,configurationHash:e.configurationHash,maximumCostUsd:e.maximumCostUsd,graders:e.graders,...e.admissionRequestHash?{admissionRequestHash:e.admissionRequestHash}:{},...e.sourceExperimentId?{sourceExperimentId:e.sourceExperimentId}:{}});if(n.manifest.metadata.experimentConfigurationHash!==d(m))throw new Error("Experiment configuration differs from its admitted manifest.")}return{...n,configuration:e}}l(re,"verifyExperimentRunDetails");var ae=r.object({teamId:r.string().trim().min(1).max(240),items:r.array(r.object({name:r.string().trim().min(1).max(500),source:q,ready:r.boolean(),reason:r.string().min(1).max(2e3).nullable()}).strict()).max(8),nextCursor:r.string().min(1).max(8192).nullable()}).strict(),p=r.string().min(1).max(500),X=r.string().regex(/^[a-f0-9]{64}$/),g=r.iso.datetime(),I=r.number().finite().nonnegative().nullable(),h=r.number().int().nonnegative().nullable(),Q=r.object({id:p,sequence:r.number().int().nonnegative(),at:g.nullable(),type:r.string().max(160),action:r.string().max(160).nullable(),correlationId:p.nullable(),attempt:h,taskId:p.nullable(),status:r.string().max(100).nullable(),errorCode:r.string().max(200).nullable(),cleanupComplete:r.boolean().nullable()}).strict(),ne=r.object({id:p,kind:r.string().max(100),status:r.string().max(100),receiptId:p.nullable(),maximumUsd:I,settledUsd:I,model:r.string().max(200).nullable(),durationMs:h,inputTokens:h,outputTokens:h,totalTokens:h}).strict(),W=r.object({schemaVersion:r.literal("openpond.runDiagnostics.v1"),teamId:p,runId:p,location:r.enum(["local","hosted"]),manifestHash:X,observedAt:g,status:r.string().max(100),startedAt:g.nullable(),completedAt:g.nullable(),error:r.string().max(8192).nullable(),resultAvailable:r.boolean(),parent:r.object({id:p,status:r.string().max(100),attempt:h,heartbeatAt:g.nullable(),leaseExpiresAt:g.nullable(),releasedAt:g.nullable(),errorCode:r.string().max(200).nullable()}).strict().nullable(),accounting:r.object({maximumUsd:I,settledUsd:I,outstandingUsd:I,outstandingCount:h,final:r.boolean(),receiptCount:h}).strict(),events:r.array(Q).max(100),nextEventCursor:r.number().int().nonnegative().nullable(),eventCount:r.number().int().nonnegative(),calls:r.array(ne).max(100),nextCallCursor:p.nullable(),callCount:r.number().int().nonnegative(),limitations:r.array(r.string().max(1e3)).max(30)}).strict(),ie=W.extend({contentHash:X}).strict(),oe=r.object({afterSequence:r.number().int().nonnegative().optional(),afterCallId:p.optional()}).strict();function Re(s){let t=W.parse(s);return{...t,contentHash:d(t)}}l(Re,"sealRunDiagnostics");function de(s,t){let e=ie.parse(s),{contentHash:a,...n}=e;if(a!==d(n)||e.teamId!==t.teamId||e.runId!==t.runId||t.manifestHash&&e.manifestHash!==t.manifestHash)throw new Error("Diagnostics differ from the selected workspace, run or retained evidence.");if(e.events.length>e.eventCount||e.calls.length>e.callCount||new Set(e.events.map(o=>o.id)).size!==e.events.length||e.events.some((o,i)=>o.sequence<=(i?e.events[i-1].sequence:t.afterSequence??-1))||e.calls.some((o,i)=>o.id<=(i?e.calls[i-1].id:t.afterCallId??""))||e.nextEventCursor!==null&&e.nextEventCursor!==e.events.at(-1)?.sequence||e.nextCallCursor!==null&&e.nextCallCursor!==e.calls.at(-1)?.id||e.accounting.final&&(e.accounting.outstandingCount!==0||e.accounting.settledUsd===null||!e.accounting.receiptCount))throw new Error("Diagnostic evidence pagination or final accounting is inconsistent.");return e}l(de,"verifyRunDiagnostics");function Ue(s){let t=l(o=>o!==null&&typeof o=="object"&&!Array.isArray(o)?o:{},"record"),e=t(s.payload),a=t(e.data),n=l((o,i)=>typeof o=="string"&&/^[a-zA-Z0-9_.:/-]+$/.test(o)?o.slice(0,i):null,"token");return Q.parse({id:s.id,sequence:s.sequence,at:s.at,type:s.type.slice(0,160),action:n(e.action,160),correlationId:n(a.callId??a.toolCallId,500),attempt:typeof e.attempt=="number"&&Number.isInteger(e.attempt)&&e.attempt>=0?e.attempt:null,taskId:n(e.taskId??a.taskId,500),status:n(e.status,100),errorCode:n(e.errorCode??e.code,200),cleanupComplete:typeof e.complete=="boolean"&&s.type==="experiment.harness.cleanup"?e.complete:null})}l(Ue,"diagnosticEvent");function Pe(s){return s?s.match(/\b[a-z][a-z0-9]+(?:_[a-z0-9]+){1,12}\b/g)?.slice(0,6).join(" / ")||"Failure recorded. Inspect the authorized run for its exact message.":null}l(Pe,"diagnosticFailure");var c=r.string().trim().min(1).max(200),ce=class extends Error{static{l(this,"OpenPondExperimentError")}constructor(s,t,e){super(e),this.status=s,this.code=t,this.name="OpenPondExperimentError"}status;code},Te=class{static{l(this,"OpenPondExperimentsClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async defaults(s){return r.object({maximumSpendUsd:r.number().finite().min(1e-6).max(1e4),maximumComparisonSpendUsd:r.number().finite().min(1e-6).max(1e4),initialOutputTokens:r.number().int().positive()}).strict().parse(await this.request("/defaults","GET",void 0,s))}async createComparisonBudget(s,t){let e=r.object({id:c,operationIds:r.array(c).min(1).max(100),maximumSpendUsd:r.number().finite().min(1e-6).max(1e4).optional()}).strict().parse(s),a=this.comparisonBudgetResult(await this.request("/comparison-budgets","POST",e,t),e.id);if(d(a.operations.map(n=>n.operationId).sort())!==d([...e.operationIds].sort())||e.maximumSpendUsd!==void 0&&a.maximumSpendUsd!==e.maximumSpendUsd)throw new Error("Comparison admission differs from its requested operations or ceiling.");return a}async comparisonBudget(s,t){return this.comparisonBudgetResult(await this.request(`/comparison-budgets/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t),s)}comparisonBudgetResult(s,t){let e=r.object({id:c,teamId:c,maximumSpendUsd:r.number().finite().positive(),settledUsd:r.number().finite().nonnegative(),reservedUsd:r.number().finite().nonnegative(),remainingUsd:r.number().finite().nonnegative(),operations:r.array(r.object({operationId:c,runId:c.nullable()}).strict()).min(1).max(100)}).strict().parse(s);if(e.id!==t||e.teamId!==this.options.teamId)throw new Error("Comparison budget scope mismatch.");return e}async harnessSources(s={}){let t=s.cursor===void 0?void 0:r.string().min(1).max(8192).parse(s.cursor),e=new URLSearchParams(t?{cursor:t}:{}),a=ae.parse(await this.request(`/harness-sources?${e}`,"GET",void 0,s.signal));if(a.teamId!==this.options.teamId||new Set(a.items.map(n=>d(n.source))).size!==a.items.length||a.nextCursor!==null&&a.nextCursor===t||a.items.some(n=>n.ready!==(n.reason===null)))throw new Error("Harness catalog differs from its workspace, readiness or continuation.");return a}async prepareHarness(s,t){let e=_.parse({...s,maximumCostUsd:s.maximumCostUsd??(await this.defaults(t)).maximumSpendUsd}),a=B.parse(await this.request("/harness-setup","POST",e,t));A(a.request,a.manifest);let n=a.request.policy;if(a.request.teamId!==this.options.teamId||a.request.operationId!==e.operationId||n.kind!=="hosted_harness"||n.profileRepositoryId!==e.profileRepositoryId||n.source.definitionId!==e.definitionId||n.modelId!==e.modelId||n.reasoningEffort!==e.reasoningEffort||a.maximumCostUsd!==e.maximumCostUsd||a.manifest.limits.maximumSpendUsd!==e.maximumCostUsd)throw new Error("Harness preparation differs from its requested scope or configuration.");return a}async run(s,t){let e=L.parse({...s,maximumCostUsd:s.maximumCostUsd??(await this.defaults(t)).maximumSpendUsd});if(e.request.teamId!==this.options.teamId)throw new Error("Experiment workspace mismatch.");let a=await this.details(await this.request("","POST",{...e,maximumCostUsd:s.maximumCostUsd},t));if(s.maximumCostUsd===void 0&&(e.maximumCostUsd=a.configuration.maximumCostUsd),d(w(a.request))!==d(w(e.request))||a.configuration.maximumCostUsd!==e.maximumCostUsd||a.configuration.sourceExperimentId!==e.sourceExperimentId||a.configuration.admissionRequestHash!==d(e))throw new Error("Experiment admission differs from its submitted configuration.");if(e.graders&&d(e.graders)!==d(a.configuration.graders.map(n=>({id:n.id,version:n.version,contentHash:n.contentHash,mappings:n.mappings??[]}))))throw new Error("Experiment admission differs from its selected graders or mappings.");return a}async get(s,t={}){return this.details(await this.request(`/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t.signal),s)}async diagnostics(s,t={}){let e=oe.parse({afterSequence:t.afterSequence,afterCallId:t.afterCallId}),a=new URLSearchParams(Object.entries(e).filter(([,n])=>n!==void 0).map(([n,o])=>[n,String(o)]));return de(await this.request(`/${encodeURIComponent(c.parse(s))}/diagnostics?${a}`,"GET",void 0,t.signal),{teamId:this.options.teamId,runId:s,manifestHash:t.manifestHash,afterSequence:t.afterSequence,afterCallId:t.afterCallId})}async list(s={},t){let e=M.parse(s),a=new URLSearchParams(Object.entries(e).filter(([,i])=>i!==void 0).map(([i,m])=>[i,String(m)])),n=r.object({items:r.array(r.unknown()).max(100),nextCursor:c.nullable()}).strict().parse(await this.request(`?${a}`,"GET",void 0,t)),o=await Promise.all(n.items.map(i=>this.details(i)));if(o.length>e.limit||new Set(o.map(i=>i.summary.id)).size!==o.length||n.nextCursor!==null&&n.nextCursor!==o.at(-1)?.summary.id||o.some(i=>e.projectId&&i.request.project?.id!==e.projectId||e.datasetHash&&i.request.taskset.contentHash!==e.datasetHash||e.status&&i.summary.status!==e.status))throw new Error("Experiment page differs from its selected scope.");return{items:o,nextCursor:n.nextCursor}}async result(s,t){let e=r.object({executionId:c,passId:c.nullable(),manifest:r.unknown(),result:r.unknown()}).strict().parse(await this.request(`/${encodeURIComponent(c.parse(s))}/result`,"GET",void 0,t)),a=v(e);if(e.executionId!==s||a.manifest.teamId!==this.options.teamId||a.manifest.lineage?.execution.id!==s||a.manifest.lineage.scoringPassId!==e.passId)throw new Error("Experiment result identity mismatch.");return{...a,executionId:s,passId:e.passId}}async cancel(s,t){return this.details(await this.request(`/${encodeURIComponent(c.parse(s))}/cancel`,"POST",{},t),s)}async duplicate(s,t,e){let a=await this.details(await this.request(`/${encodeURIComponent(c.parse(s))}/duplicate`,"POST",{operationId:c.parse(t)},e));if(a.request.operationId!==t||a.configuration.sourceExperimentId!==s||a.summary.id===s)throw new Error("Duplicate Experiment admission differs from its source or operation.");return a}async score(s,t){let e=N.parse(s),a=this.pass(await this.request(`/${encodeURIComponent(e.execution.id)}/scoring-passes`,"POST",e,t));if(d(a.request)!==d(e))throw new Error("Scoring admission differs from its submitted inputs.");return a}async scoringPass(s,t){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}`,"GET",void 0,t),s)}async scoringPasses(s,t={}){let e=new URLSearchParams(t.afterId?{afterId:c.parse(t.afterId)}:{});t.executionKind&&e.set("executionKind",r.literal("recorded_evidence").parse(t.executionKind));let a=r.object({items:r.array(r.unknown()).max(30),nextCursor:c.nullable()}).strict().parse(await this.request(`/${encodeURIComponent(c.parse(s))}/scoring-passes?${e}`,"GET",void 0,t.signal)),n=a.items.map(o=>this.pass(o));if(n.some(o=>o.request.execution.id!==s||o.request.executionKind!==t.executionKind)||new Set(n.map(o=>o.id)).size!==n.length)throw new Error("Scoring pass page differs from its execution ownership.");return{items:n,nextCursor:a.nextCursor}}async cancelScoringPass(s,t){return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}/cancel`,"POST",{},t),s)}async scoringResult(s,t){let e=r.object({executionId:c,passId:c,manifest:r.unknown(),result:r.unknown()}).strict().parse(await this.request(`/scoring-passes/${encodeURIComponent(c.parse(s))}/result`,"GET",void 0,t)),a=v(e);if(e.passId!==s||a.manifest.teamId!==this.options.teamId||a.manifest.id!==s||a.manifest.lineage?.execution.id!==e.executionId||a.manifest.lineage.scoringPassId!==s)throw new Error("Scoring result identity mismatch.");return{...a,executionId:e.executionId,passId:s}}async compare(s,t,e){let a=l(i=>i.startsWith("score_")?this.scoringResult(i,e):this.result(i,e),"read"),[n,o]=await Promise.all([a(s),a(t)]);return{baseline:n,candidate:o,comparison:H(n,o)}}async details(s,t){let e=await re(s);if(e.summary.teamId!==this.options.teamId||t&&e.summary.id!==t)throw new Error("Experiment identity mismatch.");return e}pass(s,t){let e=y(s);if(e.teamId!==this.options.teamId||t&&e.id!==t)throw new Error("Scoring pass identity mismatch.");return e}async request(s,t,e,a){let n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments${s}`,{method:t,signal:a,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json",Accept:"application/json"},...e===void 0?{}:{body:JSON.stringify(e)}}),o=await n.json();if(!n.ok){let i=r.object({code:r.string(),message:r.string()}).safeParse(o);throw new ce(n.status,i.success?i.data.code:"experiment_request_failed",i.success?i.data.message:"Experiment request failed.")}return o}},f=r.string().trim().min(1).max(500),Z=r.string().regex(/^[a-f0-9]{64}$/),me=r.object({schemaVersion:r.literal("openpond.experimentCaseInspection.v1"),teamId:f,executionId:f,manifestHash:Z,receiptId:f,taskId:f,seed:r.string().min(1),input:r.record(r.string(),r.unknown()).nullable(),output:r.unknown().nullable(),error:r.string().nullable(),events:r.array(r.record(r.string(),r.unknown())).max(25),nextEventCursor:f.nullable(),eventCount:r.number().int().nonnegative()}).strict(),ue=me.extend({contentHash:Z}).strict(),De=class{static{l(this,"OpenPondExperimentInspectionClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("A clean API origin and workspace credentials are required.");this.baseUrl=t.toString().replace(/\/+$/,"")}options;baseUrl;async case(s,t,e={}){let a=new URLSearchParams(e.afterId?{afterId:f.parse(e.afterId)}:{}),n=await(this.options.fetch??fetch)(`${this.baseUrl}/v1/experiments/${encodeURIComponent(f.parse(s))}/cases/${encodeURIComponent(f.parse(t))}?${a}`,{signal:e.signal,redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,Accept:"application/json"}}),o=await n.json();if(!n.ok)throw new Error(r.object({message:r.string()}).parse(o).message);let i=ue.parse(o),{contentHash:m,...u}=i;if(d(u)!==m||i.teamId!==this.options.teamId||i.executionId!==s||i.receiptId!==t||e.manifestHash&&i.manifestHash!==e.manifestHash||i.events.length>i.eventCount)throw new Error("Case inspection differs from its requested workspace, execution or retained content.");return i}};function le(s){return JSON.stringify(s.release?["reward",s.release.id,s.release.revision,s.release.contentHash,s.feedbackKey]:["dataset",s.id,s.version,s.contentHash,s.feedbackKey])}l(le,"datasetGraderIdentity");function pe(s){let t=new Map;for(let e of s){let a=le(e),n=t.get(a);n?n.aliases.push(e):t.set(a,{key:a,grader:e,aliases:[e]})}return[...t.values()]}l(pe,"groupDatasetGraders");function $e(s){let t=pe(s),e=new Map;for(let a of t){let n=e.get(a.grader.feedbackKey);if(n&&n!==a.key)throw new Error(`Different selected grader releases use feedback key "${a.grader.feedbackKey}". Select one, or publish graders with distinct feedback keys.`);e.set(a.grader.feedbackKey,a.key);let o=JSON.stringify(a.grader.mappings??[]);if(a.aliases.some(i=>JSON.stringify(i.mappings??[])!==o))throw new Error(`Aliases of grader "${a.grader.feedbackKey}" have different field mappings. Select one alias and review its mappings.`)}return t.map(a=>a.grader)}l($e,"canonicalDatasetGraderSelection");function Ke(s){let t=C(s.binding),e=j(s.packageValue),a=e.taskset;if(a.id!==t.dataset.id||a.revision!==t.dataset.revision||a.contentHash!==t.dataset.contentHash||e.contentHash!==t.packageHash||d(a.environment)!==t.environmentHash||d(e.files.filter(n=>n.asset.visibility!=="policy").map(n=>n.asset))!==t.privateDatasetClosureHash)throw new Error("The selected Dataset package, environment or protected closure changed.");if(t.population.length>500)throw new Error("Select at most 500 exact Dataset cases before starting this bounded Profile evaluation.");for(let n of t.population){let o=a.tasks.find(i=>i.id===n.taskId);if(!o||o.split!==t.split)throw new Error("The selected ordered population is outside its exact Dataset split.");if(n.fixtureId!==null)throw new Error("This recorded cutoff needs an admitted replay fixture before executing the Profile target.")}if(t.gradingSource){if(!s.actualGrading)throw new Error("The actual selected scoring owner is required for this recipe.");let n=y(s.actualGrading.pass),o=v(r.object({manifest:r.unknown(),result:r.unknown()}).strict().parse(s.actualGrading.evidence));if(n.status!=="completed"||n.id!==t.gradingSource.pass.id||n.contentHash!==t.gradingSource.pass.contentHash||o.manifest.id!==t.gradingSource.evidence.id||o.result.contentHash!==t.gradingSource.evidence.contentHash||o.manifest.lineage?.scoringPassId!==n.id||d(o.manifest.dataset)!==d(t.dataset)||d(o.manifest.evaluators)!==d(t.evaluators)||d(t.fieldMappings)!==d(n.graders.map(u=>({graderId:u.id,fields:u.mappings??[]}))))throw new Error("The selected scoring owner changed its exact Dataset, measurements or mappings.");let i=o.manifest.population,m=t.recordedOrigin?t.recordedOrigin.members.map(u=>({caseId:u.caseId,seed:u.seed,fixtureId:u.fixtureId})):t.population.map(u=>({caseId:u.taskId,seed:u.seed,fixtureId:u.fixtureId}));if(i.length!==m.length||i.some((u,Y)=>d(u)!==d(m[Y])))throw new Error("The selected scoring population differs from the exact ordered original cases and cutoffs.")}else{if(t.fieldMappings.some(i=>!a.graders.some(m=>m.id===i.graderId)))throw new Error("The field mappings name a grader outside the selected release.");for(let i of t.fieldMappings)z.parse(i.fields);let n=t.evaluators.map(i=>{let m=s.graders.find(u=>u.feedbackKey===i.feedbackKey&&d(u.release??{id:u.id,revision:u.version,contentHash:u.contentHash})===d(i.release));if(!m)throw new Error("Select an exact released Dataset grader for this external recipe.");return m});if(t.fieldMappings.some(i=>!n.some(m=>m.id===i.graderId)))throw new Error("Field mappings refer to an unselected grader.");let o=n.map(i=>({release:i.release??{id:i.id,revision:i.version,contentHash:i.contentHash},feedbackKey:i.feedbackKey,configurationHash:d({graderHash:i.contentHash,mappings:t.fieldMappings.find(m=>m.graderId===i.id)?.fields??[]}),output:"score",categories:[]}));if(d(o)!==d(t.evaluators))throw new Error("The external recipe's graders or mappings differ from the current exact released grading settings.");for(let i of s.graders)if(!a.graders.some(m=>m.id===i.id&&m.version===i.version&&d(m)===i.contentHash))throw new Error("External grader pins differ from the actual Dataset implementation.")}for(let n of s.graders)if(!a.graders.some(o=>o.id===n.id&&o.version===n.version&&d(o)===n.contentHash))throw new Error("Dataset-native grader pins differ from their actual implementation.");return e}l(Ke,"verifyExternalDatasetPackage");var x=r.string().trim().min(1).max(240),fe=r.object({profileRef:r.object({source:r.enum(["local","github","openpond_git"]),repositoryId:x,profileId:x}).strict(),sourceRevision:r.string().min(1).max(500),harnessRelease:b,catalogHash:r.string().regex(/^[a-f0-9]{64}$/).nullable(),definitions:r.array(S).max(1e3),suites:r.array(k).max(100),runs:r.array(r.object({profileRef:r.object({source:r.enum(["local","github","openpond_git"]),repositoryId:x,profileId:x}).strict(),manifest:R,metric:E,gradeRefs:r.array(b),receiptRefs:r.array(b),passRate:r.number().min(0).max(1),passed:r.boolean(),completedAt:r.iso.datetime(),contentHash:r.string().regex(/^[a-f0-9]{64}$/)}).strict()).max(1e3),comparisons:r.array(U).max(1e3),suiteRuns:r.array(T).max(1e3),reports:r.array(P).max(1e3)}).strict(),he=r.object({teamId:x,profileRepositoryId:x,trainingProjectId:x.optional()}).strict(),_e=class{static{l(this,"OpenPondProfileEvaluationDiscoveryClient")}constructor(s){this.options=s;let t=new URL(s.baseUrl);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||t.search||t.hash||!s.apiKey.trim()||!s.teamId.trim())throw new Error("Profile discovery requires a scoped HTTP endpoint and owner credential.")}options;async read(s,t){let e=he.parse({...s,teamId:this.options.teamId}),{response:a,value:n}=await J(this.options.fetch??fetch,`${this.options.baseUrl.replace(/\/$/,"")}/v1/profile-evaluation-discovery`,{method:"POST",redirect:"error",headers:{Authorization:`Bearer ${this.options.apiKey}`,"X-OpenPond-Team-Id":this.options.teamId,"Content-Type":"application/json"},body:JSON.stringify(e),signal:t},(i,m,u)=>new Error(u));if(!a.ok)throw new Error("The released Profile evaluation owner is unavailable to this account and workspace.");let o=fe.parse(n);if(o.profileRef.repositoryId!==e.profileRepositoryId)throw new Error("Profile discovery returned another source owner.");return o}};export{te as a,oe as b,Re as c,Ue as d,Pe as e,ce as f,Te as g,De as h,$e as i,Ke as j,_e as k};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire as __openpondCreateRequire } from "node:module"; var require = __openpondCreateRequire(import.meta.url);
|
|
2
|
-
import{Wa as I,Xa as H,ga as s,jb as d,kb as r,lb as j,mb as m,rb as p}from"./chunk-
|
|
2
|
+
import{Wa as I,Xa as H,ga as s,jb as d,kb as r,lb as j,mb as m,rb as p}from"./chunk-5ZNE43XC.js";import{Bb as R,Eb as P,lb as L,va as S,wb as y}from"./chunk-ZY32SZ2P.js";import{n as b}from"./chunk-RCT3O3HQ.js";import{A as e}from"./chunk-X2J2P5ZT.js";import{a as E}from"./chunk-FTQLQJQV.js";var u=e.object({source:e.enum(["local","github","openpond_git"]),repositoryId:e.string().trim().min(1),profileId:e.string().trim().min(1)}),N=e.object({ref:u,revision:e.string().nullable(),sourceHash:e.string()});var n=e.string().trim().min(1).max(200),o=e.string().regex(/^[a-f0-9]{64}$/),k=e.enum(["queued","running","cancelling","completed","failed","cancelled","interrupted"]),z=e.object({providerId:e.enum(["openpond","custom-openai-compatible","claude-code","codex"]),modelId:e.string().trim().min(1).max(500),configurationHash:o,maxOutputTokens:e.number().int().positive().max(262144),temperature:e.number().min(0).max(2).optional(),topP:e.number().positive().max(1).optional(),messages:e.array(e.object({role:e.enum(["system","user","assistant"]),content:e.string().max(262144)}).strict()).max(200)}).strict(),Y=e.object({configuration:m,package:s}).strict(),Z=e.object({configuration:m,expectedPackageHash:o.optional()}).strict(),ee=e.object({schemaVersion:e.literal("openpond.localExperimentDefinition.v1"),location:e.literal("local"),id:n,teamId:n,ownerActorId:n,revision:e.number().int().positive(),configuration:m,model:z,packageHash:o,graders:e.array(r).min(1).max(100),availableGraders:e.array(r).min(1).max(1e3),createdAt:e.iso.datetime(),updatedAt:e.iso.datetime(),contentHash:o}).strict(),te=e.object({operationId:n,definition:d}).strict(),ne=e.object({teamId:n,id:n}).strict(),oe=e.object({teamId:n,projectId:n.optional(),status:k.optional(),datasetHash:o.optional(),search:e.string().max(100).optional(),afterId:n.optional(),limit:e.number().int().min(1).max(100).default(30)}).strict(),f=e.object({schemaVersion:e.literal("openpond.localExperimentExecution.v1"),location:e.literal("local"),id:n,teamId:n,ownerActorId:n,operationId:n,definition:d,kind:e.enum(["target","scoring"]),executionHash:o,sourceExecution:e.object({id:n,executionHash:o}).strict().nullable(),packageHash:o,maximumCostUsd:e.number().finite().positive(),status:k,createdAt:e.iso.datetime(),completedAt:e.iso.datetime().nullable(),counts:e.object({pending:e.number().int().nonnegative(),running:e.number().int().nonnegative(),completed:e.number().int().nonnegative(),failed:e.number().int().nonnegative(),cancelled:e.number().int().nonnegative(),unknown:e.number().int().nonnegative()}).strict(),usage:e.object({knownCostUsd:e.number().finite().nonnegative(),costUsd:e.number().finite().nonnegative().nullable(),heldUsd:e.number().finite().nonnegative(),uncertainRequests:e.number().int().nonnegative()}).strict(),cleanupComplete:e.boolean(),error:e.string().max(2e3).nullable()}).strict(),v=f.omit({definition:!0});function g(t,i){t.kind==="scoring"!=(t.sourceExecution!==null)&&i.addIssue({code:"custom",message:"Only retained scoring passes name an original execution."}),["completed","failed","cancelled","interrupted"].includes(t.status)&&(!t.completedAt||t.counts.pending||t.counts.running)&&i.addIssue({code:"custom",message:"Terminal local execution requires complete population accounting."}),["completed","cancelled"].includes(t.status)&&!t.cleanupComplete&&i.addIssue({code:"custom",message:"Successful completion or cancellation requires confirmed local transport cleanup."}),t.usage.uncertainRequests>0&&t.usage.costUsd!==null&&i.addIssue({code:"custom",message:"Uncertain provider charges cannot claim a measured total."})}E(g,"validateLocalExecutionState");var ie=f.superRefine(g),c=v.superRefine(g),A=e.object({configuration:p,package:s}).strict(),U=e.object({configuration:p,expectedPackageHash:e.string().regex(/^[a-f0-9]{64}$/).optional()}).strict(),x=e.object({configuration:p,model:z,packageHash:e.string().regex(/^[a-f0-9]{64}$/),graders:e.array(r).min(1).max(100),availableGraders:e.array(r).min(1).max(1e3),retainedConfigurationHash:e.string().regex(/^[a-f0-9]{64}$/).optional(),configurationHash:e.string().regex(/^[a-f0-9]{64}$/)}).strict().superRefine((t,i)=>{let{configurationHash:a,...h}=t;b(h)!==a&&i.addIssue({code:"custom",message:"Local configuration snapshot bytes changed."})}),{definition:ae,...O}=f.shape,l=e.object({...O,kind:e.literal("target"),...x.shape}).strict().superRefine((t,i)=>{let a={configuration:t.configuration,model:t.model,packageHash:t.packageHash,graders:t.graders,availableGraders:t.availableGraders,...t.retainedConfigurationHash?{retainedConfigurationHash:t.retainedConfigurationHash}:{},configurationHash:t.configurationHash};g(t,i),x.safeParse(a).success||i.addIssue({code:"custom",message:"Local Experiment configuration changed."}),(t.operationId!==t.configuration.operationId||t.teamId!==t.configuration.request.teamId||t.maximumCostUsd!==t.configuration.maximumCostUsd)&&i.addIssue({code:"custom",message:"Local Experiment differs from its sealed admission."})}),q=e.object({items:e.array(l).max(100),nextCursor:e.string().nullable()}).strict(),G=e.object({teamId:e.string().min(1).max(200),id:e.string().min(1).max(200),configurationHash:e.string().regex(/^[a-f0-9]{64}$/).optional()}).strict(),T=e.object({operationId:n,execution:e.object({id:n,executionHash:o}).strict(),graderPackage:s,graders:e.array(j).min(1).max(100),maximumCostUsd:e.number().finite().positive().max(1e4)}).strict(),re=T.omit({graderPackage:!0}),D=L,F=e.object({sessionId:n,turnId:n,source:S,profileRef:u,admissionHash:o,modelConfigurationHash:o,traceHash:o,runtimeEventRefs:e.array(n).max(1e4),startedAt:e.iso.datetime(),completedAt:e.iso.datetime(),outputHash:o,partialOutputAvailable:e.boolean()}).strict(),w=e.object({receiptId:n,taskId:n,seed:e.string(),status:e.enum(["pending","running","completed","failed","cancelled","unknown"]),input:e.record(e.string(),e.unknown()),policyVisibleContext:e.record(e.string(),e.unknown()),output:e.string().nullable(),messages:e.array(e.unknown()).max(4002),grade:H.nullable(),error:e.string().nullable(),native:D.optional(),profileNative:F.optional(),externalProcess:I.optional()}).strict(),ce=e.object({execution:e.union([l,c]),cases:e.array(w).max(1e4),contentHash:o}).strict(),$=e.object({items:e.array(e.object({sequence:e.number().int().positive(),type:e.string().min(1),payload:e.unknown()}).strict()).max(500),nextCursor:e.number().int().positive().nullable()}).strict(),se=e.object({location:e.literal("local"),execution:e.union([l,c]),case:w,trace:$}).strict(),me=e.object({items:e.array(c).max(100),nextCursor:n.nullable()}).strict(),pe=e.object({execution:c,graders:e.array(r).min(1).max(100),graderPackageHash:o}).strict(),C=e.object({execution:c,manifest:y,result:R}).strict().superRefine((t,i)=>{try{if(P(t),t.manifest.id!==t.execution.id||t.manifest.teamId!==t.execution.teamId||t.manifest.lineage?.execution.id!==(t.execution.sourceExecution?.id??t.execution.id)||t.manifest.lineage.execution.contentHash!==(t.execution.sourceExecution?.executionHash??t.execution.executionHash)||t.manifest.lineage.scoringPassId!==(t.execution.kind==="scoring"?t.execution.id:null)||t.manifest.maximumCostUsd!==t.execution.maximumCostUsd)throw new Error("Portable evidence differs from its retained local execution.")}catch(a){i.addIssue({code:"custom",message:a instanceof Error?a.message:"Local portable evidence verification failed."})}}),le=e.object({location:e.literal("local"),baseline:C,candidate:C}).strict();export{u as a,l as b,ce as c,le as d};
|